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
Jones A FollerJapanIoni Bowcher RENEWAL
Maisha I GillianBrazilElwin Sharvill PROPOSAL
Johnson H FigeroaBrazilStephen Shaw RENEWAL
Chavez Q MacleadItalyAsiya Javayant RENEWAL
Silvio S GarufiAustraliaStephen Shaw QUALIFIED
Kaitlin D FollerGermanyIvan Magalhaes NEGOTIATION
Maisha L BriddickUnited KingdomAmy Elsner PROPOSAL
Clifford K VenereBrazilStephen Shaw QUALIFIED
David E PaprockiFranceAnna Fali PROPOSAL
Rodrigues F SchemmerJapanAsiya Javayant QUALIFIED
Aika L PerinSpainStephen Shaw NEGOTIATION
Octavia V StensethRussiaBernardo Dominic RENEWAL
Wickens U GillianCanadaOnyama Limba NEGOTIATION
Francesco Q ShinkoCanadaAmy Elsner NEGOTIATION
David T ButtJapanElwin Sharvill NEW
Aditya C FigeroaBrazilOnyama Limba NEW
Aika R WieserGermanyIvan Magalhaes NEW
David Z GarufiItalyAmy Elsner QUALIFIED
Smith H MorascaAustraliaXuxue Feng RENEWAL
Faith A MacleadRussiaIoni Bowcher NEGOTIATION
Aruna Y NickaCanadaXuxue Feng PROPOSAL
Arvin L SlusarskiArgentinaAsiya Javayant QUALIFIED
Misaki T TollnerSpainAnna Fali PROPOSAL
Deepesh M ChuiItalyStephen Shaw QUALIFIED
Morrow M PerinJapanIoni Bowcher RENEWAL
Octavia U ButtArgentinaIvan Magalhaes RENEWAL
Aruna Z WaycottCanadaStephen Shaw NEGOTIATION
Johnson H VenereIndiaOnyama Limba PROPOSAL
Maisha V WieserItalyAmy Elsner UNQUALIFIED
Leon S GauchoCanadaElwin Sharvill QUALIFIED
David N WaycottIndiaXuxue Feng RENEWAL
Julie S RimJapanAnna Fali NEW
Nicolas Z FlosiBrazilBernardo Dominic UNQUALIFIED
Aruna W TollnerItalyAmy Elsner UNQUALIFIED
Morrow A SlusarskiCanadaAsiya Javayant NEW
Francesco R GlickBrazilAnna Fali UNQUALIFIED
Jennifer F DilliardFranceXuxue Feng UNQUALIFIED
Chavez E PaprockiArgentinaAsiya Javayant NEW
Ricardo P SaylorsItalyAnna Fali NEW
Munro K CampainUnited KingdomXuxue Feng NEGOTIATION
Julie S NickaBrazilStephen Shaw NEW
Cody T AlbaresJapanBernardo Dominic NEGOTIATION
Arvin J SaylorsGermanyOnyama Limba RENEWAL
Leja C DoeIndiaBernardo Dominic PROPOSAL
Aika F KuskoJapanIoni Bowcher PROPOSAL
Antonio G RutaRussiaIoni Bowcher NEW
Nicolas G FlosiItalyAnna Fali QUALIFIED
Nicolas V VenereUnited KingdomAnna Fali NEW
Kadeem W MaletAustraliaIoni Bowcher NEGOTIATION
Maria M MacleadJapanAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Sinclair E NestleUnited KingdomAnna Fali NEGOTIATION
Salvatore P IturbideSpainElwin Sharvill NEGOTIATION
Aruna U BologniaAustraliaOnyama Limba NEGOTIATION
Wickens O MorascaItalyAsiya Javayant UNQUALIFIED
Izzy T FigeroaBrazilOnyama Limba PROPOSAL
Wickens D ShinkoFranceOnyama Limba NEGOTIATION
Mujtaba G GarufiSpainAnna Fali PROPOSAL
Juan M RimJapanXuxue Feng UNQUALIFIED
Kadeem E FigeroaAustraliaOnyama Limba NEW
Johnson Q StockhamUnited KingdomOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel Y RimAustralia2024-09-23Buckley Miller Wright NEGOTIATION23Onyama Limba
1001Emily W AmigonAustralia2024-09-11Printing Dimensions PROPOSAL90Amy Elsner
1002Julie D WaycottJapan2024-09-06Printing Dimensions UNQUALIFIED79Amy Elsner
1003Munro U RimGermany2024-09-18Chapman, Ross E Esq NEGOTIATION94Ivan Magalhaes
1004Munro D WhobreyArgentina2024-09-19Benton, John B Jr NEW64Amy Elsner
1005Smith V SaylorsUnited Kingdom2024-09-08Morlong Associates NEW31Amy Elsner
1006Misaki Q GauchoJapan2024-09-17Chanay, Jeffrey A Esq PROPOSAL74Amy Elsner
1007Jeanfrancois R VocelkaRussia2024-09-15Feiner Bros QUALIFIED69Xuxue Feng
1008Tony I StensethJapan2024-08-26Feiner Bros RENEWAL12Elwin Sharvill
1009Darci J MacleadUnited Kingdom2024-09-09Truhlar And Truhlar Attys RENEWAL7Stephen Shaw
1010Darci R SergiArgentina2024-09-05Rangoni Of Florence UNQUALIFIED16Onyama Limba
1011Julie F GauchoBrazil2024-09-23Rousseaux, Michael Esq NEW15Asiya Javayant
1012Maisha F WhobreyRussia2024-09-05King, Christopher A Esq NEW40Ivan Magalhaes
1013Antonio U FerenczRussia2024-09-19Buckley Miller Wright RENEWAL48Amy Elsner
1014Arvin X SaylorsGermany2024-09-10Feltz Printing Service QUALIFIED18Elwin Sharvill
1015Jeanfrancois W WhobreyIndia2024-09-03Chapman, Ross E Esq NEGOTIATION61Anna Fali
1016Morrow A OldroydCanada2024-09-02Truhlar And Truhlar Attys QUALIFIED95Asiya Javayant
1017Sinclair O BriddickArgentina2024-09-17Feltz Printing Service PROPOSAL38Elwin Sharvill
1018Chavez Q RimBrazil2024-08-26Commercial Press UNQUALIFIED80Stephen Shaw
1019Claire N BowleyRussia2024-09-02Feiner Bros RENEWAL19Asiya Javayant
1020James W MaletArgentina2024-09-07Chemel, James L Cpa QUALIFIED36Asiya Javayant
1021Aditya M CampainItaly2024-09-10Chanay, Jeffrey A Esq NEW80Asiya Javayant
1022Costa X RulapaughSpain2024-09-15Feiner Bros NEW73Bernardo Dominic
1023Leon Y MarrierFrance2024-09-15Chanay, Jeffrey A Esq RENEWAL9Ioni Bowcher
1024Smith N FollerItaly2024-09-16Feiner Bros NEGOTIATION18Amy Elsner
1025Jennifer F CaudyBrazil2024-09-21Dorl, James J Esq QUALIFIED16Stephen Shaw
1026Kaitlin H GillianCanada2024-09-15King, Christopher A Esq NEW51Amy Elsner
1027Jones O StockhamFrance2024-09-17Printing Dimensions PROPOSAL49Asiya Javayant
1028Jones N WieserRussia2024-09-15Chemel, James L Cpa QUALIFIED62Stephen Shaw
1029Isabel B ButtSpain2024-09-11Feiner Bros NEGOTIATION56Xuxue Feng
1030Smith K WaycottItaly2024-09-20Rangoni Of Florence QUALIFIED12Ioni Bowcher
1031Smith A RoysterIndia2024-09-08Commercial Press PROPOSAL75Bernardo Dominic
1032Chavez Z AlbaresBrazil2024-09-10Truhlar And Truhlar Attys RENEWAL78Ioni Bowcher
1033Morrow R ChuiGermany2024-09-09Benton, John B Jr PROPOSAL48Ivan Magalhaes
1034Ivar P GarufiAustralia2024-09-21Chanay, Jeffrey A Esq NEGOTIATION37Xuxue Feng
1035Sinclair Q OldroydCanada2024-08-26Rangoni Of Florence RENEWAL21Amy Elsner
1036Ivar Z GauchoIndia2024-08-25Rangoni Of Florence NEGOTIATION3Stephen Shaw
1037Alejandro A IturbideGermany2024-09-22Chapman, Ross E Esq QUALIFIED55Ivan Magalhaes
1038Jefferson N NestleBrazil2024-09-11Chapman, Ross E Esq RENEWAL10Onyama Limba
1039Izzy H OldroydJapan2024-09-11Dorl, James J Esq QUALIFIED75Stephen Shaw
1040Nicolas V KuskoIndia2024-09-21Feiner Bros PROPOSAL60Onyama Limba
1041Faith U IturbideRussia2024-09-02Dorl, James J Esq RENEWAL97Bernardo Dominic
1042Silvio A ShinkoGermany2024-09-23Feltz Printing Service RENEWAL58Amy Elsner
1043Leja T VocelkaBrazil2024-09-13Feiner Bros PROPOSAL46Elwin Sharvill
1044Tony A WhobreyUnited Kingdom2024-09-18Chapman, Ross E Esq UNQUALIFIED0Asiya Javayant
1045Deepesh W SlusarskiItaly2024-09-06Buckley Miller Wright PROPOSAL19Stephen Shaw
1046Stacey M RimArgentina2024-09-17Feiner Bros NEGOTIATION51Ioni Bowcher
1047Maisha Z ChuiSpain2024-08-30Dorl, James J Esq QUALIFIED3Ioni Bowcher
1048Antonio D OldroydCanada2024-08-25Chemel, James L Cpa NEW86Elwin Sharvill
1049Antonio V NestleArgentina2024-09-13Buckley Miller Wright RENEWAL72Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh G RulapaughJapanElwin Sharvill QUALIFIED
Salvatore T ChuiItalyIoni Bowcher NEGOTIATION
Octavia A StensethIndiaXuxue Feng UNQUALIFIED
Cody G ShinkoCanadaIvan Magalhaes NEGOTIATION
Sinclair Z VocelkaCanadaBernardo Dominic PROPOSAL
Salvatore T SlusarskiBrazilAsiya Javayant PROPOSAL
Leja A CampainCanadaBernardo Dominic PROPOSAL
Aruna V SaylorsSpainAmy Elsner NEW
Morrow Q NestleCanadaAsiya Javayant NEW
Johnson C FlosiIndiaAsiya Javayant NEW
Ricardo E DarakjyJapanAnna Fali PROPOSAL
Tony A BriddickGermanyXuxue Feng NEGOTIATION
Juan K ShinkoUnited KingdomAnna Fali UNQUALIFIED
Maisha C PerinSpainBernardo Dominic UNQUALIFIED
Francesco K CaldareraJapanBernardo Dominic PROPOSAL
Leja L GlickSpainIvan Magalhaes NEW
Julie Z BowleySpainOnyama Limba UNQUALIFIED
Octavia C ChuiUnited KingdomElwin Sharvill RENEWAL
Emily T GarufiCanadaIoni Bowcher UNQUALIFIED
James Z MarrierAustraliaAnna Fali PROPOSAL
Stacey C MorascaArgentinaIoni Bowcher QUALIFIED
Munro D MaletItalyIoni Bowcher NEGOTIATION
Wickens E RimAustraliaIoni Bowcher UNQUALIFIED
Faith U PoquetteRussiaXuxue Feng QUALIFIED
Aruna I SaylorsRussiaStephen Shaw RENEWAL
Mujtaba G GarufiCanadaBernardo Dominic PROPOSAL
Faith Q StockhamArgentinaElwin Sharvill PROPOSAL
Aika K InouyeJapanOnyama Limba UNQUALIFIED
Munro S RutaFranceXuxue Feng NEGOTIATION
Juan E VenereCanadaXuxue Feng PROPOSAL
Francesco X AmigonGermanyAmy Elsner QUALIFIED
Cody A BriddickFranceStephen Shaw NEGOTIATION
Greenwood T PoquetteJapanAmy Elsner NEGOTIATION
Aika C WhobreyFranceXuxue Feng QUALIFIED
Isabel H GlickGermanyBernardo Dominic RENEWAL
Cody D SergiGermanyAsiya Javayant RENEWAL
Salvatore I ShinkoFranceAmy Elsner NEW
Claire M VocelkaAustraliaStephen Shaw UNQUALIFIED
Greenwood M MorascaBrazilElwin Sharvill UNQUALIFIED
Rodrigues W DoeArgentinaIvan Magalhaes RENEWAL
Adams S ButtFranceOnyama Limba NEGOTIATION
Kaitlin P DarakjyBrazilIoni Bowcher QUALIFIED
Ivar V GarufiFranceAsiya Javayant PROPOSAL
Ivar G OstroskyUnited KingdomBernardo Dominic PROPOSAL
Aruna Z NestleArgentinaAnna Fali PROPOSAL
Stacey N WhobreyFranceAnna Fali UNQUALIFIED
Johnson B PoquetteUnited KingdomOnyama Limba RENEWAL
Clifford D NickaFranceXuxue Feng NEW
Aditya L NestleItalyElwin Sharvill NEGOTIATION
Arvin D AmigonCanadaAmy Elsner NEW
Frozen Columns
Name
Smith G Flosi
Stacey U Paprocki
Jefferson T Royster
Juan V Poquette
Greenwood Q Darakjy
Claire P Venere
Ricardo F Kolmetz
Smith V Marrier
Maisha W Kusko
Mayumi R Amigon
Francesco W Doe
Greenwood S Morasca
Ivar U Rim
James J Stenseth
Faith G Butt
Darci Y Inouye
Nicolas F Poquette
Rodrigues N Gillian
David X Whobrey
Alejandro S Kolmetz
Costa H Campain
Darci H Caudy
Sinclair W Ferencz
Wickens X Gaucho
Claire J Whobrey
Rodrigues T Royster
Isabel S Iturbide
Aika R Nicka
Aruna B Flosi
Octavia W Bowley
Aika M Doe
Leja K Royster
Wickens J Royster
Wickens J Kusko
Aditya V Bolognia
Cody J Garufi
Munro H Whobrey
Cody G Flosi
Isabel Q Doe
James H Kusko
Kaitlin Y Foller
Johnson J Saylors
Alejandro Q Stockham
Leon U Ostrosky
Leon Z Marrier
Sinclair S Nestle
Emily I Doe
Darci T Vocelka
Ashley Y Saylors
Jones Y Albares
IdCountryDate
1000Canada2024-08-25
1001Spain2024-08-28
1002France2024-08-26
1003Spain2024-08-28
1004United Kingdom2024-08-27
1005Japan2024-08-28
1006India2024-09-01
1007France2024-09-12
1008India2024-08-31
1009Italy2024-08-25
1010United Kingdom2024-08-27
1011Russia2024-09-18
1012Canada2024-09-05
1013Canada2024-08-26
1014Argentina2024-09-04
1015France2024-09-10
1016Brazil2024-08-29
1017Canada2024-09-23
1018Spain2024-09-04
1019Australia2024-09-09
1020France2024-08-29
1021India2024-08-29
1022India2024-08-30
1023India2024-08-25
1024Italy2024-09-19
1025Australia2024-09-10
1026Australia2024-08-29
1027France2024-09-23
1028Argentina2024-09-09
1029United Kingdom2024-09-03
1030Russia2024-08-29
1031France2024-09-10
1032Argentina2024-09-12
1033Italy2024-09-21
1034Italy2024-09-01
1035Germany2024-09-17
1036Italy2024-09-04
1037France2024-09-08
1038Japan2024-09-13
1039Russia2024-09-02
1040Italy2024-09-06
1041Italy2024-08-25
1042Australia2024-08-28
1043United Kingdom2024-09-04
1044Italy2024-09-12
1045Australia2024-08-30
1046Spain2024-09-12
1047Italy2024-09-15
1048Australia2024-09-08
1049Argentina2024-09-05

On-Demand Data

NameIdCountryDate
Salvatore C Nestle1000Australia2024-08-25
Jefferson I Whobrey1001India2024-09-07
Antonio Y Iturbide1002Canada2024-08-30
Izzy G Kolmetz1003Argentina2024-09-21
Jefferson W Flosi1004France2024-09-03
Emily B Nicka1005Italy2024-09-14
Isabel A Sergi1006Australia2024-09-01
Aika X Albares1007Russia2024-09-13
Arvin Z Marrier1008Canada2024-09-10
Mujtaba Z Stenseth1009Russia2024-09-16
Claire Q Iturbide1010Australia2024-09-19
Misaki H Rulapaugh1011Japan2024-08-25
Chavez F Slusarski1012France2024-08-28
Julie Q Iturbide1013France2024-08-25
Munro C Glick1014India2024-09-19
Silvio N Slusarski1015Japan2024-09-17
James T Maclead1016France2024-09-07
Jones H Kolmetz1017Japan2024-09-05
Ivar I Figeroa1018India2024-08-26
Mujtaba R Whobrey1019Australia2024-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford G ChuiSpainAsiya Javayant PROPOSAL
Kaitlin D RimUnited KingdomIoni Bowcher UNQUALIFIED
Aditya T CaldareraItalyAmy Elsner NEGOTIATION
Ashley Z ChuiArgentinaBernardo Dominic QUALIFIED
Misaki J AlbaresAustraliaAnna Fali PROPOSAL
Izzy P OstroskyAustraliaAmy Elsner PROPOSAL
Francesco A VocelkaJapanXuxue Feng QUALIFIED
Octavia T ShinkoFranceAmy Elsner NEW
David P NestleBrazilStephen Shaw NEW
Izzy X OstroskyJapanIoni Bowcher NEGOTIATION
Maria D KuskoGermanyAmy Elsner NEW
Jeanfrancois F KuskoSpainIvan Magalhaes RENEWAL
Nicolas W VocelkaAustraliaElwin Sharvill NEGOTIATION
Alejandro T SergiFranceOnyama Limba NEW
James L WhobreySpainAmy Elsner NEW
Jones Q WhobreyGermanyOnyama Limba QUALIFIED
Sinclair S DarakjyUnited KingdomElwin Sharvill RENEWAL
Aditya S NestleSpainBernardo Dominic RENEWAL
Silvio F OldroydArgentinaAmy Elsner RENEWAL
Juan Z RutaGermanyAmy Elsner NEW
Sinclair Q WieserAustraliaStephen Shaw NEW
Emily U SaylorsFranceOnyama Limba PROPOSAL
Ashley R GlickFranceIoni Bowcher NEW
Greenwood G GillianItalyStephen Shaw NEW
Munro P MaletIndiaOnyama Limba PROPOSAL
Aditya U PaprockiItalyAnna Fali UNQUALIFIED
Mayumi P ChuiItalyXuxue Feng RENEWAL
Costa T NickaAustraliaAmy Elsner NEW
Faith I BriddickIndiaXuxue Feng UNQUALIFIED
Jones V VocelkaCanadaIoni Bowcher QUALIFIED
Cody C BowleySpainAmy Elsner NEW
Julie L StockhamAustraliaIvan Magalhaes RENEWAL
Maisha H AlbaresCanadaStephen Shaw RENEWAL
Deepesh A NickaBrazilBernardo Dominic NEW
Leja B MaletCanadaXuxue Feng QUALIFIED
Nicolas N AmigonGermanyAsiya Javayant NEW
Izzy I IturbideUnited KingdomAsiya Javayant QUALIFIED
Chavez J CaldareraUnited KingdomBernardo Dominic NEW
Johnson X WaycottJapanIvan Magalhaes RENEWAL
James I OldroydGermanyElwin Sharvill NEGOTIATION

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