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
Misaki L KuskoRussiaOnyama Limba NEGOTIATION
Rodrigues W AlbaresIndiaAnna Fali QUALIFIED
Wickens T GauchoArgentinaXuxue Feng RENEWAL
Francesco N FigeroaBrazilOnyama Limba PROPOSAL
Ivar P StockhamRussiaAmy Elsner QUALIFIED
Smith N MorascaRussiaIoni Bowcher RENEWAL
James X WieserJapanAsiya Javayant UNQUALIFIED
Greenwood W DilliardItalyXuxue Feng UNQUALIFIED
Maisha A CaldareraGermanyXuxue Feng PROPOSAL
Deepesh D NestleUnited KingdomIvan Magalhaes QUALIFIED
Nicolas B FigeroaGermanyOnyama Limba RENEWAL
Antonio U CaldareraAustraliaBernardo Dominic UNQUALIFIED
Jefferson S DarakjyFranceAsiya Javayant NEGOTIATION
Leon S GillianAustraliaIoni Bowcher UNQUALIFIED
Murillo T FigeroaArgentinaAmy Elsner PROPOSAL
Misaki F FigeroaAustraliaIvan Magalhaes NEW
Sinclair N GlickArgentinaAsiya Javayant QUALIFIED
Claire O DarakjyUnited KingdomBernardo Dominic NEW
Jennifer V MacleadAustraliaStephen Shaw NEW
Morrow R OstroskyFranceXuxue Feng PROPOSAL
Deepesh A InouyeCanadaIoni Bowcher QUALIFIED
Ricardo B ChuiJapanXuxue Feng RENEWAL
Silvio P PaprockiRussiaStephen Shaw UNQUALIFIED
Costa U GillianBrazilAmy Elsner RENEWAL
Aika L FlosiIndiaIvan Magalhaes NEW
Aditya V SaylorsIndiaAsiya Javayant QUALIFIED
Deepesh S IturbideUnited KingdomOnyama Limba UNQUALIFIED
Juan H PoquetteCanadaElwin Sharvill NEW
Kaitlin C KolmetzUnited KingdomAnna Fali NEW
David V RutaArgentinaAsiya Javayant RENEWAL
Misaki P VenereSpainAsiya Javayant RENEWAL
Aditya W GillianIndiaAsiya Javayant UNQUALIFIED
Kadeem X KuskoJapanElwin Sharvill PROPOSAL
Greenwood G OldroydJapanElwin Sharvill NEW
Costa C MaletGermanyXuxue Feng PROPOSAL
Johnson W PerinIndiaAsiya Javayant UNQUALIFIED
Silvio P PaprockiJapanElwin Sharvill UNQUALIFIED
Adams T FlosiUnited KingdomAsiya Javayant NEGOTIATION
Claire Z FigeroaJapanIoni Bowcher PROPOSAL
Leon D FollerArgentinaXuxue Feng NEW
Silvio H SchemmerGermanyAsiya Javayant NEGOTIATION
Aditya U FlosiItalyOnyama Limba NEGOTIATION
Adams B PoquetteRussiaXuxue Feng NEW
Antonio A OstroskyUnited KingdomIoni Bowcher NEW
Jefferson E KolmetzItalyBernardo Dominic QUALIFIED
Darci Y OldroydSpainBernardo Dominic PROPOSAL
Rodrigues O KuskoSpainElwin Sharvill RENEWAL
Emily B SergiBrazilIoni Bowcher UNQUALIFIED
Octavia P WaycottSpainIvan Magalhaes QUALIFIED
Kaitlin P DarakjyCanadaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna G CaldareraJapanAnna Fali NEGOTIATION
Kadeem S GlickUnited KingdomAmy Elsner UNQUALIFIED
Leja X SlusarskiJapanAmy Elsner QUALIFIED
Francesco X PerinRussiaAnna Fali NEGOTIATION
Cody Q BriddickGermanyBernardo Dominic PROPOSAL
Arvin K KuskoIndiaXuxue Feng UNQUALIFIED
Chavez L CampainBrazilBernardo Dominic NEW
Izzy D StockhamBrazilXuxue Feng QUALIFIED
Salvatore K MaletArgentinaAnna Fali NEGOTIATION
Chavez X CaldareraItalyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson M MorascaCanada2026-07-14Rousseaux, Michael Esq QUALIFIED52Amy Elsner
1001Mayumi M WaycottCanada2026-07-12King, Christopher A Esq PROPOSAL95Amy Elsner
1002Ashley F SchemmerCanada2026-07-15Rousseaux, Michael Esq RENEWAL87Asiya Javayant
1003Faith P WhobreyBrazil2026-07-26Chapman, Ross E Esq NEGOTIATION33Stephen Shaw
1004Nicolas K CampainJapan2026-07-31Morlong Associates NEGOTIATION29Anna Fali
1005Jeanfrancois U WaycottSpain2026-07-31Feiner Bros NEW96Ivan Magalhaes
1006Stacey X KuskoGermany2026-07-19Buckley Miller Wright UNQUALIFIED15Asiya Javayant
1007Emily B OldroydGermany2026-07-17Rousseaux, Michael Esq UNQUALIFIED19Asiya Javayant
1008Isabel X PerinIndia2026-07-22Chapman, Ross E Esq NEGOTIATION47Elwin Sharvill
1009Arvin X RulapaughArgentina2026-07-09Buckley Miller Wright QUALIFIED42Amy Elsner
1010Alejandro U ButtAustralia2026-08-05Benton, John B Jr NEW11Onyama Limba
1011Maisha Q RoysterBrazil2026-07-21Buckley Miller Wright RENEWAL11Anna Fali
1012Murillo L CaldareraFrance2026-07-17Printing Dimensions RENEWAL46Xuxue Feng
1013Munro W WieserJapan2026-07-14Printing Dimensions RENEWAL13Bernardo Dominic
1014Kaitlin J FigeroaItaly2026-07-16King, Christopher A Esq NEGOTIATION12Asiya Javayant
1015Ashley Z WieserItaly2026-07-28Truhlar And Truhlar Attys PROPOSAL79Onyama Limba
1016Smith N MarrierUnited Kingdom2026-07-22Chanay, Jeffrey A Esq QUALIFIED92Onyama Limba
1017Antonio Q GillianUnited Kingdom2026-07-27Morlong Associates NEW72Elwin Sharvill
1018Ivar N FlosiGermany2026-08-04Rousseaux, Michael Esq PROPOSAL93Elwin Sharvill
1019Morrow E MarrierBrazil2026-07-21Feiner Bros NEW54Bernardo Dominic
1020Maria I DarakjyCanada2026-07-10Benton, John B Jr PROPOSAL28Xuxue Feng
1021Claire V FigeroaRussia2026-07-24Dorl, James J Esq RENEWAL37Ioni Bowcher
1022Ivar D AlbaresJapan2026-07-15Commercial Press NEW67Amy Elsner
1023Leja S RoysterCanada2026-07-25Rousseaux, Michael Esq NEGOTIATION85Bernardo Dominic
1024James U InouyeArgentina2026-07-29Truhlar And Truhlar Attys UNQUALIFIED68Anna Fali
1025Aruna Y ChuiAustralia2026-07-23Printing Dimensions QUALIFIED20Ioni Bowcher
1026Aruna O OldroydSpain2026-07-12Commercial Press RENEWAL16Stephen Shaw
1027Juan J VocelkaIndia2026-07-23Dorl, James J Esq NEGOTIATION16Onyama Limba
1028Juan J PoquetteIndia2026-07-17King, Christopher A Esq NEW20Asiya Javayant
1029Aditya N CaldareraCanada2026-07-16Dorl, James J Esq PROPOSAL81Ioni Bowcher
1030Aika Z MacleadFrance2026-07-19Buckley Miller Wright UNQUALIFIED91Xuxue Feng
1031Jefferson U GauchoRussia2026-07-26Feiner Bros PROPOSAL33Anna Fali
1032Francesco N VenereJapan2026-07-28Feiner Bros NEW9Asiya Javayant
1033Wickens O MacleadBrazil2026-07-18Printing Dimensions RENEWAL5Asiya Javayant
1034Stacey Y ShinkoUnited Kingdom2026-08-02Feiner Bros RENEWAL66Anna Fali
1035Kadeem I FerenczArgentina2026-07-08Chanay, Jeffrey A Esq NEGOTIATION4Anna Fali
1036Maria S PaprockiArgentina2026-07-11Buckley Miller Wright NEGOTIATION53Onyama Limba
1037Cody S GlickBrazil2026-07-26King, Christopher A Esq NEW13Onyama Limba
1038Chavez V AlbaresRussia2026-07-09Commercial Press PROPOSAL50Ioni Bowcher
1039Ashley C ChuiGermany2026-07-19Dorl, James J Esq PROPOSAL33Bernardo Dominic
1040Jones Q MacleadFrance2026-07-09Chemel, James L Cpa PROPOSAL90Amy Elsner
1041Juan O SlusarskiIndia2026-08-02Feltz Printing Service UNQUALIFIED82Ioni Bowcher
1042James H DoeIndia2026-07-30Dorl, James J Esq NEW76Asiya Javayant
1043Leon R BowleyArgentina2026-07-23Feiner Bros RENEWAL27Stephen Shaw
1044Leon P ButtArgentina2026-07-29Feiner Bros UNQUALIFIED60Asiya Javayant
1045Ricardo A ShinkoArgentina2026-07-10Benton, John B Jr PROPOSAL4Asiya Javayant
1046Izzy V InouyeItaly2026-07-10Benton, John B Jr NEGOTIATION30Elwin Sharvill
1047Maisha H SaylorsIndia2026-07-31King, Christopher A Esq NEGOTIATION76Amy Elsner
1048Juan W MorascaJapan2026-07-09Printing Dimensions RENEWAL40Amy Elsner
1049Clifford M VenereSpain2026-07-14Feltz Printing Service RENEWAL66Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Isabel W FlosiItalyXuxue Feng NEGOTIATION
Julie L PerinItalyBernardo Dominic NEGOTIATION
Morrow M MarrierArgentinaBernardo Dominic RENEWAL
Munro U SaylorsUnited KingdomAnna Fali QUALIFIED
Juan C FerenczRussiaBernardo Dominic NEGOTIATION
Ashley U WhobreyBrazilBernardo Dominic NEGOTIATION
Misaki C RoysterRussiaIoni Bowcher RENEWAL
Emily K IturbideIndiaAnna Fali NEGOTIATION
Leon G PaprockiSpainXuxue Feng PROPOSAL
Leja D PerinUnited KingdomXuxue Feng RENEWAL
Morrow I GarufiJapanOnyama Limba QUALIFIED
Kadeem J WhobreyItalyBernardo Dominic QUALIFIED
Misaki D BriddickFranceElwin Sharvill NEW
Morrow N IturbideIndiaBernardo Dominic QUALIFIED
Wickens J MaletFranceIoni Bowcher UNQUALIFIED
Jefferson X VenereGermanyIoni Bowcher PROPOSAL
Aruna K BologniaGermanyAnna Fali NEGOTIATION
Aruna R CampainJapanIvan Magalhaes NEW
Sinclair V NickaGermanyIoni Bowcher NEW
Maisha Z RoysterIndiaStephen Shaw PROPOSAL
Wickens I KuskoJapanXuxue Feng NEW
Greenwood A CaudyIndiaElwin Sharvill UNQUALIFIED
Clifford L ChuiJapanBernardo Dominic RENEWAL
Francesco C MorascaSpainIvan Magalhaes QUALIFIED
Mayumi V MacleadAustraliaBernardo Dominic NEW
Claire Q DilliardAustraliaAnna Fali UNQUALIFIED
Murillo Y FigeroaFranceOnyama Limba NEW
Alejandro Y SchemmerAustraliaStephen Shaw QUALIFIED
Jeanfrancois E FlosiRussiaIvan Magalhaes QUALIFIED
Nicolas S KuskoFranceOnyama Limba RENEWAL
David L CampainBrazilIoni Bowcher NEW
Leja H ShinkoFranceBernardo Dominic NEW
Aditya E DarakjyFranceBernardo Dominic QUALIFIED
Wickens T VocelkaArgentinaAmy Elsner UNQUALIFIED
Jeanfrancois F VocelkaJapanBernardo Dominic UNQUALIFIED
Claire V FollerUnited KingdomXuxue Feng UNQUALIFIED
Chavez W GillianRussiaIoni Bowcher QUALIFIED
Aika B InouyeCanadaAsiya Javayant NEW
Wickens E SchemmerFranceOnyama Limba UNQUALIFIED
Cody N VocelkaJapanElwin Sharvill NEW
Jones Q MacleadItalyElwin Sharvill RENEWAL
Maria A WaycottGermanyAmy Elsner QUALIFIED
Ivar F BowleyArgentinaIvan Magalhaes NEGOTIATION
Julie S PoquetteAustraliaOnyama Limba PROPOSAL
Morrow O NestleCanadaElwin Sharvill UNQUALIFIED
Greenwood J FlosiBrazilElwin Sharvill QUALIFIED
Misaki N PoquetteSpainOnyama Limba NEGOTIATION
Tony A PerinArgentinaIoni Bowcher UNQUALIFIED
Emily E PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Darci R WieserRussiaAmy Elsner RENEWAL
Frozen Columns
Name
Izzy C Briddick
Jennifer V Rim
Mujtaba Z Flosi
Nicolas D Stenseth
Aika X Gillian
Clifford C Campain
James L Nicka
Wickens K Venere
Maria C Saylors
Octavia K Dilliard
Johnson A Saylors
Chavez B Figeroa
Silvio K Inouye
Francesco S Stockham
Mayumi W Whobrey
Jefferson C Flosi
James V Wieser
Francesco D Chui
Kaitlin I Bowley
Darci X Venere
Mujtaba P Chui
Isabel K Doe
Nicolas E Bolognia
Deepesh G Iturbide
Leja A Dilliard
Rodrigues U Glick
Mujtaba S Oldroyd
Aditya I Ferencz
Izzy O Briddick
Stacey R Schemmer
Sinclair B Rim
Darci T Albares
Aruna V Inouye
Jeanfrancois U Saylors
Arvin L Chui
Aika L Albares
Ricardo C Shinko
Kadeem E Caldarera
Smith T Nestle
Kaitlin Y Kolmetz
Julie A Caldarera
Darci D Maclead
Deepesh R Perin
Wickens K Vocelka
Maisha Z Oldroyd
Rodrigues I Shinko
Francesco S Rulapaugh
Jones M Figeroa
Aditya T Vocelka
Ricardo N Inouye
IdCountryDate
1000India2026-07-15
1001Brazil2026-07-12
1002Russia2026-08-06
1003Germany2026-07-10
1004Germany2026-07-16
1005Japan2026-07-17
1006India2026-07-12
1007Spain2026-07-26
1008United Kingdom2026-08-05
1009Italy2026-07-10
1010United Kingdom2026-07-17
1011Argentina2026-07-11
1012Argentina2026-07-22
1013Russia2026-07-30
1014Germany2026-07-08
1015Australia2026-07-24
1016India2026-07-23
1017Italy2026-07-20
1018India2026-07-22
1019Spain2026-07-25
1020Canada2026-07-09
1021Brazil2026-07-14
1022Spain2026-07-25
1023United Kingdom2026-08-06
1024Brazil2026-07-09
1025Canada2026-07-10
1026Russia2026-07-29
1027Russia2026-07-24
1028Brazil2026-08-06
1029Italy2026-07-27
1030Spain2026-08-01
1031Canada2026-07-13
1032Italy2026-07-28
1033Italy2026-07-24
1034France2026-07-17
1035Canada2026-08-05
1036Germany2026-07-27
1037United Kingdom2026-07-23
1038Germany2026-08-03
1039Australia2026-07-29
1040Italy2026-07-16
1041Canada2026-08-04
1042India2026-07-30
1043France2026-07-30
1044Australia2026-07-21
1045Brazil2026-07-27
1046Russia2026-07-22
1047Spain2026-07-26
1048Canada2026-07-14
1049India2026-07-31

On-Demand Data

NameIdCountryDate
Ricardo S Glick1000Spain2026-07-19
Jefferson T Sergi1001Japan2026-08-02
Misaki G Glick1002Russia2026-07-17
Mujtaba U Glick1003Japan2026-07-15
Leja X Nicka1004United Kingdom2026-07-26
Salvatore H Ruta1005Italy2026-07-25
Misaki A Saylors1006Russia2026-07-21
Misaki Y Tollner1007France2026-07-26
Faith R Chui1008India2026-07-27
Leon E Rulapaugh1009Brazil2026-08-01
Maisha D Wieser1010Australia2026-07-09
Juan X Figeroa1011Spain2026-07-20
Leon N Kusko1012Japan2026-07-22
Nicolas K Maclead1013Spain2026-08-04
Silvio A Ostrosky1014Brazil2026-07-26
Faith L Campain1015Argentina2026-07-28
Maria S Ostrosky1016United Kingdom2026-07-20
Johnson P Inouye1017Germany2026-07-10
Mayumi O Darakjy1018Brazil2026-07-12
Clifford R Glick1019Argentina2026-07-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro Z FerenczJapanElwin Sharvill RENEWAL
Stacey W OstroskyArgentinaBernardo Dominic PROPOSAL
Arvin R GlickSpainBernardo Dominic NEW
Smith D KolmetzJapanAsiya Javayant UNQUALIFIED
Greenwood P GillianAustraliaXuxue Feng PROPOSAL
James T DarakjyIndiaXuxue Feng QUALIFIED
Costa Z PoquetteUnited KingdomIoni Bowcher NEGOTIATION
Smith X PoquetteUnited KingdomOnyama Limba PROPOSAL
Jennifer J CampainSpainBernardo Dominic NEW
Jennifer O MarrierJapanBernardo Dominic PROPOSAL
Cody H CaudyAustraliaElwin Sharvill NEW
Darci O MaletIndiaIoni Bowcher QUALIFIED
Aruna H VocelkaJapanAnna Fali QUALIFIED
Emily A ShinkoRussiaBernardo Dominic NEW
Aruna X GillianBrazilStephen Shaw UNQUALIFIED
James K GarufiCanadaAmy Elsner PROPOSAL
Rodrigues Z GarufiCanadaStephen Shaw RENEWAL
Isabel W WhobreyIndiaXuxue Feng NEGOTIATION
Wickens G TollnerGermanyIvan Magalhaes QUALIFIED
Kadeem G CampainItalyAsiya Javayant PROPOSAL
Aditya A MarrierIndiaIvan Magalhaes UNQUALIFIED
Munro U AmigonGermanyBernardo Dominic NEW
Maisha Q NickaBrazilStephen Shaw PROPOSAL
Antonio X FigeroaAustraliaElwin Sharvill NEW
Julie G RutaJapanIvan Magalhaes QUALIFIED
Maria H GarufiItalyIoni Bowcher UNQUALIFIED
Nicolas C MaletIndiaAsiya Javayant QUALIFIED
Emily Y RimSpainBernardo Dominic UNQUALIFIED
Francesco M SchemmerIndiaBernardo Dominic PROPOSAL
Adams F WhobreyItalyAmy Elsner RENEWAL
Nicolas V ChuiBrazilOnyama Limba PROPOSAL
Maisha O VenereGermanyElwin Sharvill PROPOSAL
David V FollerSpainBernardo Dominic RENEWAL
Wickens X GlickGermanyAmy Elsner UNQUALIFIED
Antonio S PerinCanadaIoni Bowcher NEGOTIATION
Salvatore Z PerinAustraliaAnna Fali UNQUALIFIED
Johnson C MarrierIndiaAsiya Javayant PROPOSAL
Ashley Y AlbaresItalyStephen Shaw PROPOSAL
Mayumi D IturbideJapanBernardo Dominic PROPOSAL
Silvio K MorascaRussiaStephen Shaw NEW

<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>