Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Sinclair C RoysterArgentinaAnna Fali UNQUALIFIED
Kaitlin I NestleSpainOnyama Limba NEW
Francesco C FigeroaIndiaIvan Magalhaes RENEWAL
Faith Z ButtFranceAsiya Javayant NEW
Leja W GarufiFranceBernardo Dominic NEGOTIATION
Ricardo Y MorascaSpainStephen Shaw RENEWAL
Leon B CaldareraCanadaIvan Magalhaes PROPOSAL
Maisha P KuskoItalyIvan Magalhaes RENEWAL
Ricardo O SergiFranceAmy Elsner NEW
Claire K AmigonAustraliaAnna Fali PROPOSAL
David U FigeroaItalyAmy Elsner NEGOTIATION
Claire S PerinSpainIvan Magalhaes NEW
Smith Q WhobreyRussiaIvan Magalhaes RENEWAL
Johnson T FlosiBrazilOnyama Limba RENEWAL
Julie K RimRussiaOnyama Limba NEGOTIATION
Leja Q WieserFranceStephen Shaw PROPOSAL
Deepesh S SergiSpainOnyama Limba QUALIFIED
Emily V GarufiItalyElwin Sharvill NEGOTIATION
Clifford J ChuiFranceOnyama Limba NEGOTIATION
Sinclair Z IturbideCanadaOnyama Limba RENEWAL
Murillo X WieserSpainElwin Sharvill PROPOSAL
Smith B KolmetzUnited KingdomIoni Bowcher PROPOSAL
David Y FollerItalyAmy Elsner UNQUALIFIED
Mayumi B DoeRussiaAmy Elsner QUALIFIED
Isabel V GlickBrazilIvan Magalhaes PROPOSAL
Kaitlin K VenereArgentinaAmy Elsner RENEWAL
Jennifer X FlosiIndiaOnyama Limba NEGOTIATION
Costa Y GarufiGermanyAmy Elsner UNQUALIFIED
Aditya U RutaBrazilAsiya Javayant PROPOSAL
Aruna Q RulapaughFranceStephen Shaw PROPOSAL
Ivar G MaletBrazilIvan Magalhaes NEGOTIATION
Mayumi R FollerArgentinaAsiya Javayant NEW
Misaki P FlosiFranceAsiya Javayant QUALIFIED
Misaki G StockhamArgentinaStephen Shaw NEW
Nicolas J SaylorsSpainAsiya Javayant NEW
Maisha L BowleyIndiaIvan Magalhaes PROPOSAL
Isabel D ButtJapanAsiya Javayant NEGOTIATION
Ricardo F BriddickRussiaAnna Fali UNQUALIFIED
Nicolas P NickaJapanBernardo Dominic NEW
Juan S KuskoItalyStephen Shaw UNQUALIFIED
Julie A StensethItalyAmy Elsner UNQUALIFIED
Jones O SergiIndiaAnna Fali QUALIFIED
Leon W KuskoJapanXuxue Feng NEW
Morrow M MaletUnited KingdomAmy Elsner UNQUALIFIED
Alejandro V MaletGermanyElwin Sharvill UNQUALIFIED
Jones Y ButtBrazilAmy Elsner PROPOSAL
Ivar X RoysterIndiaOnyama Limba PROPOSAL
Silvio M WhobreyFranceIvan Magalhaes UNQUALIFIED
Ricardo F SergiJapanStephen Shaw PROPOSAL
Misaki R DarakjyCanadaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin R BriddickRussiaStephen Shaw NEW
Morrow H ButtJapanElwin Sharvill NEW
Emily T FlosiArgentinaElwin Sharvill RENEWAL
James H VenereBrazilAmy Elsner QUALIFIED
Smith Q VenereBrazilStephen Shaw NEGOTIATION
James N NickaFranceOnyama Limba PROPOSAL
Misaki H WhobreyRussiaIvan Magalhaes QUALIFIED
David C MorascaIndiaStephen Shaw NEW
Leja O SaylorsCanadaAsiya Javayant NEW
Aditya N MaletIndiaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi M IturbideCanada2026-08-01Commercial Press UNQUALIFIED77Xuxue Feng
1001Aruna K CaudyItaly2026-08-01Commercial Press NEGOTIATION3Xuxue Feng
1002Misaki I NickaItaly2026-08-08Printing Dimensions RENEWAL98Anna Fali
1003Morrow Z StockhamUnited Kingdom2026-07-31Chanay, Jeffrey A Esq RENEWAL86Elwin Sharvill
1004Smith M RutaAustralia2026-07-19Chanay, Jeffrey A Esq QUALIFIED7Xuxue Feng
1005Jefferson B MaletFrance2026-08-02Dorl, James J Esq QUALIFIED43Elwin Sharvill
1006Aika M SaylorsJapan2026-08-05Morlong Associates NEW41Anna Fali
1007Mujtaba N PerinArgentina2026-07-20Buckley Miller Wright RENEWAL78Xuxue Feng
1008Cody V InouyeRussia2026-07-17Truhlar And Truhlar Attys RENEWAL80Ivan Magalhaes
1009Julie A DarakjySpain2026-07-29Dorl, James J Esq NEW95Elwin Sharvill
1010Jefferson C OstroskyGermany2026-08-01Truhlar And Truhlar Attys NEW3Anna Fali
1011Ivar K DarakjyCanada2026-07-15Rousseaux, Michael Esq PROPOSAL85Ioni Bowcher
1012Ivar L FlosiIndia2026-07-21Commercial Press NEW80Anna Fali
1013Munro Q FigeroaSpain2026-07-27Commercial Press QUALIFIED53Xuxue Feng
1014Chavez I CaldareraGermany2026-08-07Morlong Associates RENEWAL66Xuxue Feng
1015Maria X KolmetzArgentina2026-07-25Chanay, Jeffrey A Esq UNQUALIFIED62Elwin Sharvill
1016Salvatore L VenereIndia2026-07-20King, Christopher A Esq QUALIFIED83Elwin Sharvill
1017Faith O KuskoSpain2026-07-20Truhlar And Truhlar Attys RENEWAL45Xuxue Feng
1018Adams D FlosiFrance2026-07-21Dorl, James J Esq PROPOSAL92Xuxue Feng
1019Darci H RimRussia2026-07-25Feltz Printing Service QUALIFIED37Xuxue Feng
1020Jennifer W SergiSpain2026-07-16Printing Dimensions PROPOSAL86Amy Elsner
1021Jones J InouyeUnited Kingdom2026-07-23King, Christopher A Esq UNQUALIFIED67Amy Elsner
1022Arvin P AlbaresSpain2026-08-06Chemel, James L Cpa QUALIFIED90Bernardo Dominic
1023Julie W WhobreySpain2026-07-22Dorl, James J Esq RENEWAL38Xuxue Feng
1024Adams F GlickArgentina2026-07-24Feiner Bros NEW99Amy Elsner
1025Munro L FerenczIndia2026-07-13Chemel, James L Cpa PROPOSAL6Ioni Bowcher
1026Chavez I PerinFrance2026-07-25Feiner Bros UNQUALIFIED78Asiya Javayant
1027Clifford P GillianBrazil2026-08-01Feltz Printing Service NEW55Anna Fali
1028Silvio M MaletAustralia2026-07-19Feiner Bros QUALIFIED27Amy Elsner
1029Darci U FollerRussia2026-07-21Rangoni Of Florence NEW36Ioni Bowcher
1030Claire U RutaCanada2026-07-11Printing Dimensions QUALIFIED25Ivan Magalhaes
1031Julie F BologniaSpain2026-08-04Buckley Miller Wright PROPOSAL90Bernardo Dominic
1032Rodrigues H RoysterCanada2026-07-30Chanay, Jeffrey A Esq QUALIFIED36Ivan Magalhaes
1033Kaitlin N FlosiUnited Kingdom2026-07-21Rousseaux, Michael Esq QUALIFIED93Xuxue Feng
1034Cody C PaprockiIndia2026-07-15Chapman, Ross E Esq QUALIFIED24Asiya Javayant
1035Kaitlin M WhobreyJapan2026-07-21Chemel, James L Cpa PROPOSAL25Ivan Magalhaes
1036Alejandro Y MacleadArgentina2026-07-26King, Christopher A Esq QUALIFIED96Stephen Shaw
1037Ashley H SchemmerFrance2026-07-15Morlong Associates PROPOSAL22Ivan Magalhaes
1038Francesco S GlickItaly2026-07-15Buckley Miller Wright UNQUALIFIED83Bernardo Dominic
1039Kadeem T FigeroaUnited Kingdom2026-08-01Chemel, James L Cpa QUALIFIED86Stephen Shaw
1040Rodrigues Q MorascaItaly2026-07-30Rousseaux, Michael Esq RENEWAL52Ioni Bowcher
1041Maisha W CaudyIndia2026-07-22Truhlar And Truhlar Attys RENEWAL33Ivan Magalhaes
1042Ashley T NestleSpain2026-08-09Chapman, Ross E Esq UNQUALIFIED12Xuxue Feng
1043Greenwood R KolmetzGermany2026-07-14Printing Dimensions UNQUALIFIED31Stephen Shaw
1044Clifford X VenereBrazil2026-07-18Dorl, James J Esq NEGOTIATION0Xuxue Feng
1045Chavez T AmigonArgentina2026-07-16Chapman, Ross E Esq PROPOSAL29Elwin Sharvill
1046Salvatore P CaudyArgentina2026-08-07King, Christopher A Esq NEW45Anna Fali
1047Aruna X BologniaIndia2026-07-19Truhlar And Truhlar Attys NEGOTIATION8Asiya Javayant
1048Aika H MaletRussia2026-08-02Chapman, Ross E Esq NEW85Ioni Bowcher
1049Adams D FerenczUnited Kingdom2026-07-11Chanay, Jeffrey A Esq PROPOSAL54Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maisha B MaletIndiaIoni Bowcher NEGOTIATION
Maisha U WieserArgentinaAsiya Javayant PROPOSAL
Clifford H AlbaresItalyStephen Shaw UNQUALIFIED
Leon E RutaSpainAmy Elsner RENEWAL
Silvio R DoeArgentinaAnna Fali UNQUALIFIED
Jennifer R OldroydGermanyIoni Bowcher RENEWAL
Clifford H CampainFranceElwin Sharvill NEW
Leja Y KolmetzIndiaXuxue Feng NEGOTIATION
Aika M WieserUnited KingdomElwin Sharvill NEW
Sinclair Z StensethBrazilAnna Fali NEGOTIATION
Aditya C TollnerItalyXuxue Feng UNQUALIFIED
Darci I StensethRussiaAsiya Javayant NEGOTIATION
Morrow Z OstroskyGermanyAsiya Javayant NEGOTIATION
Darci B SlusarskiFranceElwin Sharvill NEGOTIATION
Clifford G BowleyItalyAnna Fali PROPOSAL
Emily O RimItalyOnyama Limba QUALIFIED
Greenwood Q SergiItalyIvan Magalhaes RENEWAL
David D BriddickArgentinaAsiya Javayant PROPOSAL
Salvatore M AlbaresCanadaAmy Elsner NEGOTIATION
Salvatore R MaletArgentinaStephen Shaw NEGOTIATION
Aruna G DilliardCanadaAnna Fali UNQUALIFIED
Claire R VocelkaItalyBernardo Dominic NEW
Aika W GillianJapanAmy Elsner UNQUALIFIED
Salvatore O TollnerArgentinaStephen Shaw UNQUALIFIED
Maisha J BriddickBrazilElwin Sharvill QUALIFIED
Murillo B InouyeFranceBernardo Dominic UNQUALIFIED
Tony Z CampainFranceIoni Bowcher PROPOSAL
Alejandro E NickaSpainStephen Shaw PROPOSAL
Murillo X MarrierIndiaAsiya Javayant QUALIFIED
Rodrigues R KuskoFranceAnna Fali NEGOTIATION
Sinclair U MorascaIndiaOnyama Limba UNQUALIFIED
Kadeem M PerinSpainIoni Bowcher NEW
Octavia V SergiItalyBernardo Dominic RENEWAL
Julie D ShinkoGermanyIoni Bowcher QUALIFIED
Kadeem L InouyeCanadaStephen Shaw RENEWAL
Izzy U OldroydCanadaAmy Elsner PROPOSAL
Maria A SchemmerUnited KingdomBernardo Dominic PROPOSAL
Aruna E MaletCanadaBernardo Dominic UNQUALIFIED
James H PaprockiSpainOnyama Limba QUALIFIED
Faith K StockhamIndiaIoni Bowcher QUALIFIED
Jones M VocelkaAustraliaAnna Fali PROPOSAL
Tony N AlbaresUnited KingdomElwin Sharvill QUALIFIED
Izzy B AlbaresAustraliaStephen Shaw NEW
Darci W GauchoSpainOnyama Limba NEGOTIATION
Maria F SchemmerBrazilStephen Shaw NEW
Jeanfrancois X SlusarskiFranceAsiya Javayant PROPOSAL
Cody I VenereRussiaXuxue Feng RENEWAL
Munro U RoysterArgentinaAnna Fali NEW
Jennifer G TollnerIndiaStephen Shaw QUALIFIED
Silvio P AlbaresIndiaOnyama Limba NEW
Frozen Columns
Name
Isabel X Briddick
Aruna W Gillian
Maria L Ferencz
Chavez T Chui
Costa I Tollner
Jeanfrancois L Gaucho
Sinclair O Ferencz
Octavia T Garufi
Maria B Figeroa
Julie N Garufi
Stacey L Inouye
Adams D Paprocki
Wickens O Ruta
Leja E Caldarera
Juan K Ostrosky
Sinclair A Schemmer
Silvio L Campain
Costa Q Glick
Jefferson V Caldarera
Darci H Butt
Isabel T Ferencz
Ashley R Gillian
Mujtaba H Tollner
Ashley I Oldroyd
Aika Q Poquette
Costa O Schemmer
Francesco Q Garufi
Tony C Albares
Aruna R Stockham
Jefferson R Slusarski
Faith Y Poquette
Kadeem W Caudy
Alejandro S Glick
Silvio B Iturbide
Costa C Darakjy
Adams H Shinko
Antonio I Ruta
David S Vocelka
Clifford G Nestle
Kadeem C Flosi
Izzy I Butt
Clifford Q Inouye
Johnson O Chui
Mayumi J Caldarera
Jeanfrancois I Venere
Misaki X Malet
Munro E Nestle
Salvatore U Bolognia
Misaki P Poquette
Smith R Stockham
IdCountryDate
1000Spain2026-08-09
1001France2026-08-04
1002Germany2026-07-18
1003India2026-08-09
1004Spain2026-07-14
1005Japan2026-07-14
1006Brazil2026-07-23
1007India2026-07-25
1008Spain2026-07-16
1009Argentina2026-07-30
1010Brazil2026-07-27
1011Germany2026-07-12
1012Australia2026-07-25
1013Canada2026-08-03
1014Canada2026-07-16
1015United Kingdom2026-08-07
1016United Kingdom2026-07-12
1017Russia2026-07-24
1018Canada2026-07-21
1019Italy2026-07-21
1020Spain2026-07-12
1021Italy2026-07-19
1022Japan2026-07-18
1023Japan2026-07-16
1024United Kingdom2026-07-18
1025Argentina2026-08-04
1026India2026-08-06
1027Russia2026-08-01
1028France2026-07-29
1029Australia2026-07-12
1030Brazil2026-07-18
1031Spain2026-07-25
1032Canada2026-08-01
1033Spain2026-07-16
1034Brazil2026-07-26
1035Argentina2026-07-25
1036Spain2026-08-05
1037Italy2026-07-28
1038Argentina2026-07-12
1039Brazil2026-08-04
1040France2026-08-08
1041Italy2026-07-18
1042Russia2026-07-15
1043Japan2026-07-17
1044Italy2026-07-27
1045France2026-07-12
1046Spain2026-07-19
1047Canada2026-07-19
1048Australia2026-07-28
1049Italy2026-07-15

On-Demand Data

NameIdCountryDate
Jeanfrancois M Saylors1000Australia2026-07-14
Maisha E Nicka1001France2026-08-06
Antonio M Paprocki1002Spain2026-07-29
Ricardo A Schemmer1003Germany2026-07-14
Adams W Kusko1004France2026-07-20
Faith R Inouye1005United Kingdom2026-07-26
Nicolas F Darakjy1006Spain2026-07-28
Aika C Briddick1007Spain2026-07-25
Morrow X Whobrey1008Spain2026-08-09
Emily C Sergi1009Canada2026-07-31
Costa A Perin1010India2026-07-17
Faith T Rulapaugh1011United Kingdom2026-07-26
Faith U Dilliard1012Canada2026-08-05
Tony T Iturbide1013Russia2026-07-20
Stacey H Doe1014Japan2026-07-14
Antonio J Dilliard1015Japan2026-07-22
Munro V Malet1016Canada2026-07-19
Maisha Q Doe1017United Kingdom2026-07-16
Adams T Tollner1018United Kingdom2026-08-03
Deepesh W Malet1019Australia2026-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem M BowleySpainXuxue Feng NEGOTIATION
Silvio P WhobreyFranceAsiya Javayant NEGOTIATION
Arvin N RoysterSpainIvan Magalhaes RENEWAL
Adams S PoquetteJapanIvan Magalhaes UNQUALIFIED
Adams O FlosiJapanXuxue Feng RENEWAL
Clifford E PaprockiAustraliaIvan Magalhaes NEGOTIATION
Cody W GlickRussiaAmy Elsner QUALIFIED
Greenwood B FerenczAustraliaAmy Elsner NEGOTIATION
Emily A SlusarskiUnited KingdomOnyama Limba PROPOSAL
Deepesh B CaldareraCanadaAmy Elsner NEW
Smith K CaldareraGermanyAsiya Javayant NEW
Greenwood S WieserItalyIoni Bowcher QUALIFIED
Faith S GauchoCanadaXuxue Feng NEW
Ashley X MaletAustraliaAsiya Javayant QUALIFIED
Ivar P IturbideBrazilOnyama Limba NEW
Juan M FollerGermanyXuxue Feng PROPOSAL
Arvin Q GauchoUnited KingdomOnyama Limba RENEWAL
Mayumi G PerinSpainAmy Elsner RENEWAL
Isabel A AlbaresArgentinaIoni Bowcher QUALIFIED
Johnson S InouyeCanadaAmy Elsner PROPOSAL
Alejandro X NickaBrazilAnna Fali NEW
Arvin P FlosiRussiaIoni Bowcher PROPOSAL
Jennifer C AmigonRussiaStephen Shaw QUALIFIED
Greenwood J PerinSpainElwin Sharvill PROPOSAL
Silvio U WhobreySpainAnna Fali RENEWAL
Clifford F GillianAustraliaOnyama Limba NEW
Faith C PaprockiJapanAsiya Javayant RENEWAL
Johnson X VenereGermanyElwin Sharvill PROPOSAL
Jeanfrancois E PerinBrazilStephen Shaw UNQUALIFIED
Maisha V FollerFranceXuxue Feng NEGOTIATION
Wickens X OstroskyAustraliaStephen Shaw RENEWAL
Silvio K CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Ivar Q CaudyJapanAsiya Javayant UNQUALIFIED
Izzy K IturbideIndiaAsiya Javayant PROPOSAL
Alejandro O ChuiCanadaOnyama Limba QUALIFIED
Aditya L ChuiIndiaElwin Sharvill NEW
Johnson Z PoquetteGermanyXuxue Feng NEGOTIATION
Greenwood T IturbideBrazilIvan Magalhaes NEGOTIATION
Maisha B FlosiArgentinaAnna Fali QUALIFIED
Aruna U ShinkoJapanBernardo Dominic RENEWAL

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h3>On-Demand Data</h3>
        <p:dataTable var="customer" value="#{dtScrollView.customers6}" scrollRows="20" scrollable="true" liveScroll="true" scrollHeight="150">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>