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
Aditya Q MorascaSpainAnna Fali RENEWAL
Jefferson Z GillianCanadaAmy Elsner NEGOTIATION
Francesco N BologniaArgentinaOnyama Limba NEW
Morrow K PerinIndiaIoni Bowcher UNQUALIFIED
Murillo U FlosiCanadaAsiya Javayant RENEWAL
Smith P ShinkoArgentinaIvan Magalhaes QUALIFIED
Nicolas P BologniaSpainIvan Magalhaes NEGOTIATION
Adams M PerinUnited KingdomIoni Bowcher NEGOTIATION
Francesco W WieserCanadaIoni Bowcher PROPOSAL
Jones Z PerinFranceElwin Sharvill PROPOSAL
Izzy F StockhamItalyOnyama Limba UNQUALIFIED
Leon G SchemmerAustraliaOnyama Limba NEW
Ricardo V NestleAustraliaBernardo Dominic UNQUALIFIED
Jefferson G MacleadGermanyAnna Fali UNQUALIFIED
Darci M FollerUnited KingdomXuxue Feng RENEWAL
Darci Z SaylorsBrazilStephen Shaw RENEWAL
Alejandro K ChuiSpainAmy Elsner NEGOTIATION
Costa Q MarrierItalyElwin Sharvill NEGOTIATION
Kaitlin X CampainArgentinaBernardo Dominic NEGOTIATION
Murillo E BowleyItalyAsiya Javayant NEGOTIATION
Adams U PaprockiArgentinaBernardo Dominic NEW
Silvio F PerinCanadaElwin Sharvill PROPOSAL
Smith L WieserFranceAsiya Javayant UNQUALIFIED
Isabel W DarakjyIndiaStephen Shaw UNQUALIFIED
Misaki J DilliardRussiaOnyama Limba PROPOSAL
Alejandro J StockhamGermanyIvan Magalhaes UNQUALIFIED
Arvin P OstroskyJapanAsiya Javayant QUALIFIED
Emily Q SchemmerCanadaAnna Fali UNQUALIFIED
Jones H FerenczUnited KingdomAmy Elsner NEW
James X SlusarskiUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois L MaletGermanyXuxue Feng QUALIFIED
Francesco R IturbideJapanIvan Magalhaes RENEWAL
Leja L KolmetzItalyAsiya Javayant NEW
Kadeem X DilliardCanadaElwin Sharvill UNQUALIFIED
Arvin V OstroskyArgentinaAsiya Javayant RENEWAL
Octavia R BowleyIndiaXuxue Feng NEGOTIATION
Isabel L IturbideAustraliaStephen Shaw PROPOSAL
Stacey Q SlusarskiSpainIvan Magalhaes UNQUALIFIED
Izzy A SchemmerJapanOnyama Limba NEW
Salvatore R PaprockiSpainStephen Shaw UNQUALIFIED
Ivar O FlosiRussiaIvan Magalhaes QUALIFIED
Sinclair E BriddickCanadaIoni Bowcher NEW
Jones Q DarakjyCanadaIoni Bowcher PROPOSAL
James Q FlosiJapanXuxue Feng QUALIFIED
Isabel W FigeroaSpainElwin Sharvill RENEWAL
Nicolas J DarakjyAustraliaOnyama Limba RENEWAL
Jones H MarrierItalyAmy Elsner QUALIFIED
Johnson Z GillianCanadaIoni Bowcher RENEWAL
Munro H TollnerAustraliaAnna Fali NEGOTIATION
Ricardo V OldroydCanadaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Ivar D BologniaBrazilXuxue Feng RENEWAL
Ivar B ButtBrazilOnyama Limba QUALIFIED
James H KolmetzAustraliaAnna Fali NEW
Wickens Q MacleadIndiaElwin Sharvill PROPOSAL
Nicolas C WaycottIndiaAsiya Javayant RENEWAL
Murillo F DarakjyRussiaAnna Fali NEGOTIATION
Maisha J MarrierUnited KingdomAnna Fali PROPOSAL
Costa H InouyeGermanyStephen Shaw NEW
Kaitlin N InouyeCanadaElwin Sharvill QUALIFIED
Misaki I MarrierCanadaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan W BowleyBrazil2026-06-30Dorl, James J Esq RENEWAL79Stephen Shaw
1001Mujtaba X FlosiSpain2026-07-02Truhlar And Truhlar Attys NEW43Bernardo Dominic
1002Jones B SaylorsJapan2026-06-14Dorl, James J Esq NEW9Bernardo Dominic
1003Aruna F CaldareraItaly2026-06-28Chapman, Ross E Esq QUALIFIED51Ioni Bowcher
1004Aditya D GillianAustralia2026-06-08Feiner Bros PROPOSAL25Stephen Shaw
1005Kadeem G MarrierFrance2026-06-17Buckley Miller Wright RENEWAL39Elwin Sharvill
1006Claire F BriddickRussia2026-06-22Printing Dimensions PROPOSAL14Anna Fali
1007Claire Y WaycottBrazil2026-06-25Commercial Press QUALIFIED44Bernardo Dominic
1008Morrow X NickaSpain2026-07-02Feltz Printing Service PROPOSAL72Amy Elsner
1009Julie M PoquetteIndia2026-06-21Chemel, James L Cpa NEW1Xuxue Feng
1010Morrow D DoeJapan2026-06-23Benton, John B Jr UNQUALIFIED6Onyama Limba
1011Chavez I WhobreyItaly2026-06-09Rousseaux, Michael Esq PROPOSAL8Bernardo Dominic
1012Misaki F RulapaughFrance2026-06-13Chapman, Ross E Esq NEW41Bernardo Dominic
1013Greenwood F RulapaughItaly2026-06-24Dorl, James J Esq NEW12Ivan Magalhaes
1014Cody X WaycottFrance2026-06-20Morlong Associates NEW64Ivan Magalhaes
1015Sinclair S GillianJapan2026-07-02Truhlar And Truhlar Attys NEW3Asiya Javayant
1016Cody O FerenczGermany2026-06-24Chemel, James L Cpa RENEWAL76Asiya Javayant
1017Ricardo R GlickAustralia2026-06-13Chapman, Ross E Esq RENEWAL38Ivan Magalhaes
1018Deepesh Q ButtJapan2026-06-06Benton, John B Jr NEW67Stephen Shaw
1019Ashley P RulapaughRussia2026-06-28Rousseaux, Michael Esq NEW27Xuxue Feng
1020Adams G NestleRussia2026-06-08Buckley Miller Wright NEW34Amy Elsner
1021Ricardo Y ButtCanada2026-06-17Morlong Associates UNQUALIFIED6Bernardo Dominic
1022Arvin C IturbideBrazil2026-06-21Commercial Press NEGOTIATION54Stephen Shaw
1023Murillo L WhobreyUnited Kingdom2026-06-13Chapman, Ross E Esq QUALIFIED16Bernardo Dominic
1024Cody S MacleadUnited Kingdom2026-06-26Truhlar And Truhlar Attys UNQUALIFIED32Stephen Shaw
1025Francesco R FlosiJapan2026-06-23Chanay, Jeffrey A Esq RENEWAL63Ioni Bowcher
1026Tony A StensethFrance2026-06-20Chemel, James L Cpa QUALIFIED13Onyama Limba
1027Aruna M ButtRussia2026-06-19Rousseaux, Michael Esq PROPOSAL34Amy Elsner
1028Darci Y WaycottRussia2026-06-12Rangoni Of Florence PROPOSAL54Ioni Bowcher
1029Kaitlin W ChuiUnited Kingdom2026-06-26Chemel, James L Cpa RENEWAL34Anna Fali
1030Smith Y RimUnited Kingdom2026-06-13Buckley Miller Wright NEGOTIATION10Onyama Limba
1031Cody H StensethCanada2026-07-02Benton, John B Jr NEGOTIATION62Ioni Bowcher
1032Wickens L BologniaUnited Kingdom2026-06-23Morlong Associates NEGOTIATION86Bernardo Dominic
1033Misaki D RimRussia2026-06-20King, Christopher A Esq NEGOTIATION88Onyama Limba
1034Nicolas P FerenczFrance2026-06-17King, Christopher A Esq NEGOTIATION9Ioni Bowcher
1035Juan W OldroydSpain2026-06-28Commercial Press NEGOTIATION75Xuxue Feng
1036Maisha B MacleadFrance2026-06-15Benton, John B Jr UNQUALIFIED55Elwin Sharvill
1037Isabel X OldroydSpain2026-06-20Buckley Miller Wright UNQUALIFIED26Ivan Magalhaes
1038Leon G DilliardCanada2026-06-07Truhlar And Truhlar Attys PROPOSAL3Asiya Javayant
1039Maisha Y StockhamItaly2026-06-06Commercial Press QUALIFIED34Elwin Sharvill
1040Salvatore M InouyeAustralia2026-06-11Dorl, James J Esq PROPOSAL65Ioni Bowcher
1041Julie U StockhamIndia2026-06-10Truhlar And Truhlar Attys QUALIFIED79Xuxue Feng
1042Tony A RutaFrance2026-06-23Dorl, James J Esq PROPOSAL56Anna Fali
1043Wickens Z CaudyUnited Kingdom2026-06-12Chapman, Ross E Esq QUALIFIED85Ivan Magalhaes
1044Alejandro N TollnerRussia2026-06-28Rangoni Of Florence QUALIFIED65Bernardo Dominic
1045Juan P GarufiRussia2026-07-04Commercial Press RENEWAL57Amy Elsner
1046Kadeem X ChuiItaly2026-06-26Chapman, Ross E Esq UNQUALIFIED32Asiya Javayant
1047Maria A SaylorsUnited Kingdom2026-06-10Truhlar And Truhlar Attys NEW4Xuxue Feng
1048Rodrigues X OldroydCanada2026-06-12Rousseaux, Michael Esq NEGOTIATION68Ivan Magalhaes
1049Silvio U NestleArgentina2026-06-17Feiner Bros PROPOSAL96Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Chavez E DarakjyFranceBernardo Dominic NEW
Ashley X InouyeGermanyStephen Shaw QUALIFIED
Ivar J GauchoItalyXuxue Feng PROPOSAL
Misaki T ChuiSpainOnyama Limba RENEWAL
Jefferson V OstroskyIndiaStephen Shaw QUALIFIED
Maisha W FlosiGermanyAsiya Javayant NEW
David Y GauchoBrazilIoni Bowcher QUALIFIED
Silvio L PaprockiUnited KingdomElwin Sharvill QUALIFIED
Costa Y FerenczArgentinaAsiya Javayant NEGOTIATION
Julie G RulapaughCanadaAsiya Javayant QUALIFIED
Clifford O FollerGermanyBernardo Dominic NEW
Sinclair I MarrierItalyAnna Fali QUALIFIED
Sinclair Y RoysterFranceBernardo Dominic NEW
Aditya H RimItalyElwin Sharvill NEGOTIATION
Julie A FigeroaItalyAnna Fali RENEWAL
Faith H NickaUnited KingdomXuxue Feng NEW
Isabel S OldroydAustraliaAnna Fali RENEWAL
Juan X FollerItalyAmy Elsner UNQUALIFIED
Claire A WieserIndiaBernardo Dominic NEGOTIATION
Arvin G SaylorsArgentinaAnna Fali NEW
Smith X RutaJapanStephen Shaw PROPOSAL
Leon D WhobreyJapanXuxue Feng NEGOTIATION
James F MaletCanadaOnyama Limba UNQUALIFIED
Jennifer J AmigonUnited KingdomBernardo Dominic NEW
David S GarufiBrazilIvan Magalhaes RENEWAL
Nicolas I CaudyRussiaIvan Magalhaes NEW
Alejandro D BologniaItalyStephen Shaw RENEWAL
Juan D KolmetzIndiaIvan Magalhaes NEGOTIATION
Faith D GlickIndiaAsiya Javayant QUALIFIED
Antonio X GillianJapanXuxue Feng PROPOSAL
Aruna V KolmetzUnited KingdomBernardo Dominic RENEWAL
Darci W CaldareraGermanyAsiya Javayant QUALIFIED
Darci P KolmetzAustraliaOnyama Limba NEW
Izzy B KuskoIndiaBernardo Dominic QUALIFIED
Ricardo H RoysterItalyOnyama Limba UNQUALIFIED
Morrow F SchemmerGermanyIvan Magalhaes UNQUALIFIED
Kadeem J RimUnited KingdomXuxue Feng UNQUALIFIED
Jones W SaylorsSpainBernardo Dominic RENEWAL
Octavia K ShinkoJapanOnyama Limba UNQUALIFIED
Morrow N SlusarskiArgentinaAmy Elsner UNQUALIFIED
Stacey D DilliardCanadaAnna Fali QUALIFIED
Stacey S RutaArgentinaXuxue Feng NEW
Mayumi F CampainRussiaIvan Magalhaes RENEWAL
Chavez U DarakjySpainBernardo Dominic RENEWAL
Alejandro N DoeJapanIvan Magalhaes QUALIFIED
Nicolas Q FollerArgentinaElwin Sharvill NEGOTIATION
Octavia Y StensethJapanAnna Fali PROPOSAL
Darci Z RutaArgentinaAsiya Javayant NEW
Aika N SchemmerSpainAnna Fali PROPOSAL
Jefferson J PoquetteBrazilXuxue Feng RENEWAL
Frozen Columns
Name
Tony L Butt
James Z Iturbide
Darci F Ferencz
Rodrigues L Vocelka
David Z Morasca
Kadeem A Nicka
James I Nicka
Aika J Royster
Julie C Caldarera
Clifford B Figeroa
David B Darakjy
Munro M Amigon
Smith S Perin
Clifford V Caldarera
Tony Q Briddick
Ashley I Caldarera
Maria V Perin
Maisha H Marrier
Adams U Maclead
Wickens L Gaucho
Aika B Marrier
Juan S Paprocki
Cody Q Sergi
Chavez D Briddick
Aika H Slusarski
Octavia J Caldarera
Isabel G Foller
Juan U Rulapaugh
James J Glick
Cody B Flosi
Munro X Amigon
Sinclair L Caldarera
Julie I Waycott
Ivar O Paprocki
Tony J Garufi
Aditya G Tollner
Misaki P Stockham
Kaitlin U Garufi
Deepesh M Foller
Izzy N Kusko
Francesco F Oldroyd
Julie D Rulapaugh
Smith E Ferencz
Kadeem W Perin
Alejandro T Nestle
Misaki T Ferencz
Johnson J Bolognia
Ashley Q Morasca
Juan J Foller
Clifford B Saylors
IdCountryDate
1000India2026-07-05
1001Brazil2026-07-05
1002India2026-07-04
1003France2026-06-09
1004Spain2026-06-08
1005Japan2026-06-27
1006Brazil2026-06-16
1007Italy2026-07-02
1008Japan2026-06-30
1009Russia2026-06-21
1010Russia2026-06-16
1011Australia2026-06-26
1012Russia2026-06-12
1013Russia2026-06-06
1014Spain2026-06-20
1015Australia2026-06-07
1016Spain2026-06-20
1017Japan2026-06-19
1018Japan2026-06-07
1019Germany2026-07-03
1020Spain2026-06-11
1021Spain2026-06-17
1022Japan2026-06-19
1023United Kingdom2026-06-12
1024Japan2026-07-02
1025Argentina2026-06-11
1026India2026-06-30
1027Argentina2026-06-18
1028France2026-06-08
1029Japan2026-06-27
1030Germany2026-06-14
1031Australia2026-06-24
1032Australia2026-06-28
1033Russia2026-07-02
1034Russia2026-06-15
1035Argentina2026-06-17
1036Germany2026-06-17
1037India2026-06-17
1038Italy2026-06-26
1039Germany2026-06-30
1040Canada2026-06-11
1041Russia2026-06-17
1042Spain2026-06-11
1043United Kingdom2026-07-04
1044France2026-06-08
1045Italy2026-06-19
1046Spain2026-06-17
1047United Kingdom2026-07-05
1048Italy2026-06-19
1049Argentina2026-06-23

On-Demand Data

NameIdCountryDate
Mujtaba N Marrier1000Australia2026-07-05
Jones C Perin1001Germany2026-06-17
Claire U Doe1002Australia2026-07-04
Salvatore A Stenseth1003Japan2026-06-08
Izzy V Bolognia1004France2026-06-28
Clifford P Dilliard1005United Kingdom2026-06-26
Faith D Stockham1006India2026-06-16
Faith U Tollner1007Canada2026-06-24
Leja Z Perin1008Australia2026-06-13
Francesco S Albares1009Spain2026-06-15
Aditya K Ferencz1010Russia2026-06-27
Leon A Poquette1011Spain2026-06-24
Leon P Kolmetz1012Canada2026-07-04
Izzy B Poquette1013Australia2026-06-10
Kaitlin M Flosi1014Canada2026-06-28
Aditya P Nestle1015Brazil2026-06-19
Costa Q Saylors1016Brazil2026-06-10
Antonio R Vocelka1017Canada2026-06-19
Cody A Gillian1018France2026-06-22
Claire W Poquette1019Spain2026-07-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo P GarufiRussiaIoni Bowcher RENEWAL
Ricardo Z FigeroaAustraliaXuxue Feng UNQUALIFIED
Murillo Y GlickIndiaXuxue Feng NEGOTIATION
Claire H BowleyIndiaXuxue Feng NEW
Aika I GlickItalyAmy Elsner RENEWAL
Isabel N KuskoItalyAnna Fali NEGOTIATION
Claire B BowleyBrazilAmy Elsner UNQUALIFIED
Aika H StockhamGermanyAsiya Javayant QUALIFIED
Deepesh D InouyeCanadaXuxue Feng UNQUALIFIED
Aruna R FlosiUnited KingdomIoni Bowcher UNQUALIFIED
Jefferson F ButtCanadaAsiya Javayant RENEWAL
Misaki A WaycottRussiaAnna Fali NEW
James E DarakjyArgentinaElwin Sharvill NEW
Costa D CaudyBrazilAsiya Javayant PROPOSAL
Jennifer S WieserAustraliaIvan Magalhaes PROPOSAL
Salvatore S MaletRussiaAsiya Javayant QUALIFIED
Aruna X CaldareraGermanyIoni Bowcher UNQUALIFIED
Aditya C MacleadRussiaAnna Fali QUALIFIED
Leja M WaycottArgentinaXuxue Feng QUALIFIED
Greenwood F PerinUnited KingdomStephen Shaw RENEWAL
Mujtaba F ShinkoIndiaElwin Sharvill NEGOTIATION
Smith J StockhamItalyAnna Fali NEGOTIATION
Jefferson W FigeroaRussiaXuxue Feng UNQUALIFIED
Wickens R MorascaArgentinaIvan Magalhaes RENEWAL
Julie X AmigonRussiaStephen Shaw NEW
Leja Y RulapaughBrazilAmy Elsner RENEWAL
Alejandro S SaylorsArgentinaAsiya Javayant RENEWAL
Maisha A SergiUnited KingdomBernardo Dominic QUALIFIED
Johnson T VenereCanadaAsiya Javayant QUALIFIED
James U RutaAustraliaStephen Shaw NEW
Wickens Y GarufiRussiaStephen Shaw UNQUALIFIED
Maria S NickaSpainOnyama Limba RENEWAL
Antonio E FollerAustraliaStephen Shaw UNQUALIFIED
Jennifer B GillianUnited KingdomXuxue Feng RENEWAL
Aditya B AmigonJapanXuxue Feng QUALIFIED
Maisha W AmigonIndiaIoni Bowcher QUALIFIED
Adams T BologniaBrazilStephen Shaw QUALIFIED
Octavia G DilliardCanadaAnna Fali RENEWAL
Juan U AmigonFranceBernardo Dominic NEW
James L SchemmerCanadaStephen Shaw 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>