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
Jennifer M RutaUnited KingdomAnna Fali NEW
Julie O VocelkaUnited KingdomOnyama Limba UNQUALIFIED
Francesco Q BologniaItalyIoni Bowcher NEW
Greenwood P PerinSpainXuxue Feng UNQUALIFIED
Adams I SaylorsFranceIvan Magalhaes RENEWAL
Costa B SlusarskiFranceIoni Bowcher QUALIFIED
Ashley Z SergiSpainOnyama Limba UNQUALIFIED
Costa D FerenczArgentinaBernardo Dominic NEW
Maisha H FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Julie D ShinkoArgentinaAmy Elsner NEW
Jeanfrancois L OldroydUnited KingdomXuxue Feng RENEWAL
Maria F FlosiIndiaAmy Elsner QUALIFIED
Ricardo L SaylorsBrazilAmy Elsner QUALIFIED
Aruna R GauchoItalyAmy Elsner NEW
Juan Y SergiArgentinaBernardo Dominic UNQUALIFIED
Faith C InouyeCanadaElwin Sharvill UNQUALIFIED
Costa S SlusarskiAustraliaAnna Fali RENEWAL
Johnson S StensethCanadaIoni Bowcher NEGOTIATION
Smith X InouyeCanadaAnna Fali PROPOSAL
Kadeem X DilliardSpainStephen Shaw NEGOTIATION
Kaitlin D SaylorsItalyIvan Magalhaes NEGOTIATION
Darci Z CaldareraFranceAmy Elsner UNQUALIFIED
Jones V ShinkoArgentinaStephen Shaw UNQUALIFIED
Misaki H VocelkaJapanAsiya Javayant QUALIFIED
Aditya S StockhamSpainAmy Elsner NEGOTIATION
Isabel A SchemmerUnited KingdomXuxue Feng QUALIFIED
Faith O MaletJapanStephen Shaw PROPOSAL
Julie C IturbideSpainIoni Bowcher RENEWAL
Kadeem N BriddickCanadaIvan Magalhaes NEGOTIATION
Leon G ButtCanadaBernardo Dominic NEGOTIATION
Arvin E RutaItalyOnyama Limba PROPOSAL
Arvin Z PerinCanadaAnna Fali RENEWAL
Emily O PerinArgentinaAsiya Javayant NEGOTIATION
Maria B MaletJapanIoni Bowcher QUALIFIED
Stacey I OstroskyJapanElwin Sharvill RENEWAL
Leon Q WieserAustraliaStephen Shaw QUALIFIED
Salvatore C OldroydArgentinaIoni Bowcher NEW
Julie Q MaletGermanyAnna Fali UNQUALIFIED
Jennifer Y AlbaresAustraliaElwin Sharvill PROPOSAL
Murillo L FlosiIndiaElwin Sharvill RENEWAL
Arvin T OstroskyCanadaStephen Shaw NEW
Isabel Q WhobreyJapanIvan Magalhaes UNQUALIFIED
Silvio E BriddickJapanXuxue Feng RENEWAL
Octavia U DilliardCanadaAmy Elsner NEGOTIATION
Emily B ButtUnited KingdomBernardo Dominic UNQUALIFIED
Stacey N MaletGermanyElwin Sharvill RENEWAL
Misaki J VenereSpainXuxue Feng UNQUALIFIED
Ivar Q CaudyArgentinaOnyama Limba PROPOSAL
Kadeem K GauchoItalyXuxue Feng RENEWAL
Maisha E SergiUnited KingdomElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith M ShinkoCanadaIoni Bowcher PROPOSAL
Julie U OstroskyAustraliaElwin Sharvill NEGOTIATION
Munro R FollerUnited KingdomIvan Magalhaes PROPOSAL
Emily S VocelkaBrazilAmy Elsner PROPOSAL
Jennifer I StensethGermanyIvan Magalhaes QUALIFIED
Jennifer P StockhamJapanAsiya Javayant PROPOSAL
Clifford Z OstroskyIndiaOnyama Limba NEGOTIATION
Francesco G BologniaGermanyElwin Sharvill QUALIFIED
Octavia G DoeGermanyIoni Bowcher RENEWAL
Faith J GillianJapanAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson Z IturbideFrance2024-05-29Chapman, Ross E Esq UNQUALIFIED25Anna Fali
1001Mayumi W StensethSpain2024-06-23Benton, John B Jr QUALIFIED78Ivan Magalhaes
1002Chavez C SaylorsArgentina2024-06-09Morlong Associates PROPOSAL2Stephen Shaw
1003Jefferson B DilliardBrazil2024-05-25King, Christopher A Esq RENEWAL49Stephen Shaw
1004Murillo Y FollerJapan2024-06-20Commercial Press NEW73Ioni Bowcher
1005Leja H InouyeCanada2024-05-27Chapman, Ross E Esq NEGOTIATION68Amy Elsner
1006Sinclair I OstroskyArgentina2024-06-01Chapman, Ross E Esq NEW11Onyama Limba
1007Adams D MarrierJapan2024-05-28Feiner Bros UNQUALIFIED36Ivan Magalhaes
1008Misaki J GarufiGermany2024-06-11Morlong Associates PROPOSAL31Ivan Magalhaes
1009Faith B BowleyGermany2024-06-10Truhlar And Truhlar Attys QUALIFIED24Stephen Shaw
1010Smith L WaycottIndia2024-06-11Rousseaux, Michael Esq PROPOSAL43Ioni Bowcher
1011Nicolas L RulapaughAustralia2024-06-08Feiner Bros NEW83Stephen Shaw
1012Clifford W IturbideIndia2024-06-23King, Christopher A Esq QUALIFIED3Xuxue Feng
1013Mujtaba L FerenczItaly2024-06-14Printing Dimensions PROPOSAL50Asiya Javayant
1014Maisha X OldroydAustralia2024-06-03Commercial Press NEW4Onyama Limba
1015Clifford D FigeroaItaly2024-06-15Feiner Bros PROPOSAL83Xuxue Feng
1016Darci M KolmetzAustralia2024-06-08Benton, John B Jr NEW47Anna Fali
1017Claire T PaprockiJapan2024-05-31Benton, John B Jr UNQUALIFIED51Ivan Magalhaes
1018James X RulapaughSpain2024-05-25Printing Dimensions QUALIFIED43Stephen Shaw
1019Tony W MacleadRussia2024-06-10Feiner Bros PROPOSAL37Asiya Javayant
1020Smith F PerinGermany2024-06-14Truhlar And Truhlar Attys UNQUALIFIED91Stephen Shaw
1021David F VocelkaFrance2024-06-13Feltz Printing Service UNQUALIFIED83Amy Elsner
1022Kaitlin Y FollerBrazil2024-06-12Dorl, James J Esq NEW80Onyama Limba
1023Ivar F MarrierCanada2024-06-12Rangoni Of Florence UNQUALIFIED68Elwin Sharvill
1024Claire F RulapaughItaly2024-05-30Chemel, James L Cpa RENEWAL74Stephen Shaw
1025Isabel N DilliardUnited Kingdom2024-06-08Rangoni Of Florence UNQUALIFIED93Elwin Sharvill
1026Arvin W DarakjyRussia2024-06-19Truhlar And Truhlar Attys PROPOSAL37Elwin Sharvill
1027Kadeem Y CaudyFrance2024-05-29Morlong Associates UNQUALIFIED50Anna Fali
1028Deepesh E PerinSpain2024-06-05Rousseaux, Michael Esq RENEWAL69Ivan Magalhaes
1029Smith R FlosiArgentina2024-06-18Rousseaux, Michael Esq NEGOTIATION41Amy Elsner
1030Jones H RutaFrance2024-05-30Truhlar And Truhlar Attys UNQUALIFIED18Bernardo Dominic
1031Jefferson G MaletArgentina2024-05-30Chapman, Ross E Esq UNQUALIFIED27Onyama Limba
1032Maria Q IturbideRussia2024-06-02Buckley Miller Wright NEGOTIATION37Onyama Limba
1033Alejandro M VocelkaAustralia2024-06-02Rousseaux, Michael Esq NEW72Anna Fali
1034Francesco M BologniaSpain2024-06-07Chemel, James L Cpa NEGOTIATION85Xuxue Feng
1035David W InouyeArgentina2024-06-23Rousseaux, Michael Esq NEW23Amy Elsner
1036Johnson I VenereArgentina2024-06-20Feltz Printing Service QUALIFIED20Ivan Magalhaes
1037Murillo T SaylorsBrazil2024-06-12Chapman, Ross E Esq NEGOTIATION76Bernardo Dominic
1038Alejandro E WaycottGermany2024-06-22Rousseaux, Michael Esq PROPOSAL19Asiya Javayant
1039James M PoquetteSpain2024-06-03Rangoni Of Florence QUALIFIED58Stephen Shaw
1040Arvin Y MacleadArgentina2024-06-07Chemel, James L Cpa QUALIFIED52Onyama Limba
1041Maisha F BowleyFrance2024-06-12Printing Dimensions NEGOTIATION92Asiya Javayant
1042Misaki W WieserGermany2024-06-21King, Christopher A Esq RENEWAL0Ioni Bowcher
1043Claire F ShinkoUnited Kingdom2024-06-23Morlong Associates QUALIFIED17Xuxue Feng
1044Maisha X BowleyArgentina2024-06-01Commercial Press NEW77Asiya Javayant
1045Smith Q CaldareraJapan2024-05-26Chapman, Ross E Esq NEGOTIATION44Stephen Shaw
1046Adams B GillianAustralia2024-06-02Buckley Miller Wright NEGOTIATION77Ioni Bowcher
1047Antonio V ShinkoCanada2024-06-09Benton, John B Jr QUALIFIED44Elwin Sharvill
1048Izzy S ChuiGermany2024-06-20Feiner Bros RENEWAL25Bernardo Dominic
1049Arvin M PaprockiJapan2024-06-17Feiner Bros QUALIFIED85Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Silvio Q RutaGermanyBernardo Dominic NEW
Kaitlin Y KuskoUnited KingdomAmy Elsner QUALIFIED
Wickens Q ShinkoRussiaXuxue Feng NEGOTIATION
Chavez I DilliardAustraliaAmy Elsner QUALIFIED
Faith L ChuiIndiaStephen Shaw NEW
Emily D OstroskyUnited KingdomStephen Shaw PROPOSAL
Claire P StockhamRussiaIvan Magalhaes NEGOTIATION
Jones U VocelkaAustraliaAnna Fali NEW
Izzy E ShinkoJapanIvan Magalhaes RENEWAL
Maria S CampainBrazilIoni Bowcher NEW
Nicolas L WaycottAustraliaStephen Shaw RENEWAL
Murillo Q RutaUnited KingdomBernardo Dominic UNQUALIFIED
Maria Z AmigonGermanyAsiya Javayant QUALIFIED
Maria V WaycottFranceStephen Shaw UNQUALIFIED
Clifford N MaletBrazilIoni Bowcher QUALIFIED
Chavez O SlusarskiJapanOnyama Limba RENEWAL
Kadeem W GlickSpainIoni Bowcher RENEWAL
Aika F WhobreyAustraliaAsiya Javayant RENEWAL
Murillo V NickaSpainAsiya Javayant RENEWAL
Jennifer T VocelkaItalyBernardo Dominic NEGOTIATION
Ashley C NestleRussiaElwin Sharvill NEGOTIATION
Greenwood Q CampainFranceAsiya Javayant PROPOSAL
Claire B VenereCanadaBernardo Dominic QUALIFIED
Aditya D MaletRussiaAmy Elsner NEGOTIATION
Johnson D FigeroaFranceXuxue Feng PROPOSAL
Arvin X CaudyAustraliaIoni Bowcher RENEWAL
Morrow W CampainFranceAsiya Javayant NEW
Stacey P NickaRussiaAnna Fali RENEWAL
Isabel N FlosiCanadaOnyama Limba NEGOTIATION
Tony W StensethAustraliaAsiya Javayant NEW
Antonio B SaylorsJapanBernardo Dominic QUALIFIED
Deepesh S PoquetteFranceIoni Bowcher NEW
Chavez J CaudyRussiaStephen Shaw QUALIFIED
Chavez D ShinkoGermanyAmy Elsner PROPOSAL
Maria B MaletFranceElwin Sharvill UNQUALIFIED
Mayumi J GauchoSpainIvan Magalhaes NEGOTIATION
Juan E MaletFranceAnna Fali QUALIFIED
Mayumi F AlbaresJapanIvan Magalhaes NEW
Nicolas C RimArgentinaBernardo Dominic QUALIFIED
Morrow H WieserUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro P RimGermanyAnna Fali PROPOSAL
Tony Q GlickRussiaStephen Shaw NEGOTIATION
Tony H KolmetzIndiaBernardo Dominic PROPOSAL
Stacey P VocelkaRussiaOnyama Limba PROPOSAL
Maria E SergiUnited KingdomAsiya Javayant NEW
Alejandro C NickaBrazilAsiya Javayant NEW
David J FerenczUnited KingdomAsiya Javayant QUALIFIED
Octavia B VenereArgentinaElwin Sharvill QUALIFIED
Salvatore V KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Cody M KuskoArgentinaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Faith T Perin
Smith O Tollner
James V Caldarera
Kadeem C Oldroyd
Kaitlin B Caldarera
Aditya H Malet
Claire V Ruta
Costa D Malet
David T Morasca
Ricardo E Gillian
Aditya E Campain
Murillo G Glick
Claire F Campain
Maisha T Paprocki
Nicolas D Nestle
Morrow G Kusko
Juan W Bowley
Arvin F Oldroyd
Jeanfrancois I Ostrosky
Smith I Butt
Smith K Kusko
Jefferson K Oldroyd
Smith W Poquette
James C Iturbide
Francesco H Bowley
Juan F Flosi
Jones O Flosi
Chavez V Stockham
Johnson S Glick
Kadeem N Gaucho
David E Campain
Cody E Nicka
Nicolas Y Oldroyd
Aika Z Inouye
David V Tollner
Aruna R Ferencz
Juan C Caudy
Faith B Wieser
Ricardo Y Stockham
Johnson R Wieser
Kaitlin C Shinko
Isabel Y Flosi
Maisha S Ferencz
Cody Z Ostrosky
Kadeem X Poquette
Stacey S Glick
Clifford H Kusko
Darci I Bolognia
Jones B Oldroyd
Wickens E Butt
IdCountryDate
1000Russia2024-06-20
1001Russia2024-06-11
1002India2024-06-22
1003United Kingdom2024-06-16
1004Germany2024-06-15
1005India2024-06-03
1006Italy2024-06-11
1007Germany2024-06-12
1008Germany2024-06-11
1009France2024-05-30
1010Italy2024-06-06
1011Australia2024-06-15
1012Australia2024-05-27
1013Japan2024-06-10
1014India2024-06-22
1015Spain2024-06-01
1016Italy2024-06-06
1017France2024-05-26
1018United Kingdom2024-06-19
1019Japan2024-06-05
1020India2024-05-29
1021Germany2024-06-06
1022Australia2024-06-03
1023India2024-05-27
1024Brazil2024-06-05
1025Australia2024-05-25
1026Argentina2024-05-25
1027France2024-06-07
1028France2024-06-02
1029United Kingdom2024-06-09
1030France2024-06-04
1031Russia2024-06-16
1032France2024-06-18
1033Russia2024-06-19
1034Germany2024-06-02
1035Argentina2024-05-26
1036Russia2024-06-06
1037Australia2024-06-23
1038France2024-06-12
1039Canada2024-06-23
1040Russia2024-06-23
1041Germany2024-06-10
1042Japan2024-06-17
1043Brazil2024-06-10
1044Russia2024-05-27
1045Japan2024-06-12
1046Germany2024-06-02
1047Russia2024-05-25
1048Canada2024-06-07
1049Brazil2024-06-23

On-Demand Data

NameIdCountryDate
Kaitlin U Marrier1000Australia2024-06-17
Jeanfrancois Y Nestle1001Russia2024-06-07
Rodrigues Z Briddick1002Australia2024-06-19
Maisha Z Nicka1003Canada2024-05-29
Alejandro Z Bolognia1004United Kingdom2024-06-01
Emily D Ferencz1005United Kingdom2024-06-10
Juan R Amigon1006Canada2024-06-12
Jeanfrancois S Shinko1007United Kingdom2024-06-23
Faith J Stenseth1008France2024-05-26
Leja F Shinko1009Italy2024-05-28
Ashley M Nicka1010Spain2024-06-10
Izzy P Inouye1011Germany2024-06-14
Murillo W Ostrosky1012France2024-06-18
Chavez M Caldarera1013Canada2024-06-01
Munro U Campain1014India2024-06-06
Leon S Flosi1015Brazil2024-06-13
Misaki Z Gaucho1016France2024-06-19
Darci B Tollner1017India2024-06-12
Misaki F Foller1018Argentina2024-05-29
Kadeem Q Bolognia1019Germany2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow S PaprockiRussiaBernardo Dominic NEW
Mayumi M PerinItalyBernardo Dominic NEW
Kadeem S WieserRussiaElwin Sharvill RENEWAL
Silvio P OstroskyItalyXuxue Feng NEW
Nicolas F MorascaGermanyStephen Shaw RENEWAL
Jefferson O GarufiRussiaAmy Elsner QUALIFIED
Rodrigues K FigeroaItalyElwin Sharvill QUALIFIED
Smith X FlosiBrazilIoni Bowcher NEGOTIATION
Rodrigues E BriddickRussiaAsiya Javayant QUALIFIED
Jeanfrancois J VenereIndiaAmy Elsner PROPOSAL
Sinclair Y StensethSpainBernardo Dominic RENEWAL
Maisha R FerenczIndiaXuxue Feng RENEWAL
Jeanfrancois M StensethArgentinaAsiya Javayant UNQUALIFIED
Arvin X VocelkaArgentinaAnna Fali UNQUALIFIED
Antonio A CampainArgentinaAmy Elsner PROPOSAL
Johnson L RoysterBrazilAsiya Javayant QUALIFIED
Smith L RutaFranceIvan Magalhaes QUALIFIED
Nicolas R StensethAustraliaBernardo Dominic NEGOTIATION
Nicolas C AmigonAustraliaAsiya Javayant UNQUALIFIED
Tony N PaprockiRussiaIoni Bowcher UNQUALIFIED
Isabel K FerenczSpainBernardo Dominic RENEWAL
Kaitlin F BriddickAustraliaOnyama Limba PROPOSAL
Maisha V PoquetteFranceAnna Fali RENEWAL
Maria M MarrierItalyBernardo Dominic UNQUALIFIED
Francesco J RulapaughRussiaIoni Bowcher NEW
Ashley M GauchoIndiaAmy Elsner PROPOSAL
Smith Y TollnerJapanStephen Shaw NEGOTIATION
Misaki Z CaudyRussiaXuxue Feng NEGOTIATION
Jennifer S FigeroaBrazilOnyama Limba RENEWAL
Munro E TollnerGermanyBernardo Dominic NEW
Jones I InouyeGermanyIvan Magalhaes NEW
Cody E PoquetteSpainOnyama Limba UNQUALIFIED
Chavez C VenereAustraliaStephen Shaw NEGOTIATION
Jennifer O VocelkaSpainOnyama Limba NEW
Maria I RimCanadaBernardo Dominic NEW
Claire A SergiUnited KingdomIoni Bowcher PROPOSAL
Isabel R CaldareraIndiaAsiya Javayant NEW
Murillo B KuskoCanadaAmy Elsner QUALIFIED
Nicolas D InouyeFranceAmy Elsner UNQUALIFIED
Maria T KolmetzUnited KingdomBernardo 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>