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
Isabel N BowleyAustraliaIoni Bowcher UNQUALIFIED
Deepesh U RutaArgentinaElwin Sharvill NEW
Jennifer I RoysterItalyAmy Elsner NEW
Silvio Y SlusarskiGermanyBernardo Dominic PROPOSAL
Smith X DoeJapanBernardo Dominic QUALIFIED
Maisha L SaylorsArgentinaIoni Bowcher QUALIFIED
Antonio X MorascaItalyBernardo Dominic NEW
Maisha D VenereJapanBernardo Dominic QUALIFIED
Adams D AmigonCanadaAnna Fali NEW
Morrow V WieserAustraliaStephen Shaw NEW
Maria L ChuiItalyAnna Fali UNQUALIFIED
Adams U DilliardAustraliaBernardo Dominic PROPOSAL
Silvio V DarakjySpainBernardo Dominic UNQUALIFIED
Murillo Z MarrierIndiaAnna Fali PROPOSAL
Mayumi W WaycottGermanyXuxue Feng NEW
Emily W OldroydCanadaOnyama Limba PROPOSAL
Alejandro G TollnerAustraliaOnyama Limba NEGOTIATION
Antonio H GlickUnited KingdomAmy Elsner NEGOTIATION
Darci S FollerIndiaAnna Fali PROPOSAL
Jones J StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore R DilliardItalyIoni Bowcher RENEWAL
Arvin S WaycottAustraliaOnyama Limba RENEWAL
Mujtaba W WhobreyJapanStephen Shaw NEGOTIATION
Juan M OldroydIndiaIvan Magalhaes NEW
Greenwood Q MaletBrazilAmy Elsner UNQUALIFIED
Jefferson H AmigonAustraliaStephen Shaw PROPOSAL
Ashley J RimItalyAsiya Javayant NEGOTIATION
Morrow H PoquetteAustraliaStephen Shaw UNQUALIFIED
Arvin G CaudyBrazilIoni Bowcher UNQUALIFIED
Aika I BriddickArgentinaAsiya Javayant RENEWAL
Deepesh L FlosiGermanyBernardo Dominic QUALIFIED
Leon A CampainFranceStephen Shaw RENEWAL
James F ButtBrazilBernardo Dominic UNQUALIFIED
Smith Y WieserSpainAmy Elsner RENEWAL
Jefferson Q RimRussiaStephen Shaw UNQUALIFIED
Nicolas U MaletFranceStephen Shaw RENEWAL
Munro U GauchoSpainIoni Bowcher NEGOTIATION
Leon T VenereSpainAnna Fali PROPOSAL
Aika U RulapaughItalyAmy Elsner RENEWAL
Stacey M FollerCanadaIoni Bowcher PROPOSAL
Wickens T StensethJapanXuxue Feng NEW
Juan T SlusarskiSpainStephen Shaw QUALIFIED
Aika G PerinSpainStephen Shaw RENEWAL
Johnson M DilliardSpainAsiya Javayant PROPOSAL
Mayumi K KolmetzJapanAnna Fali RENEWAL
Kaitlin C WieserSpainAmy Elsner PROPOSAL
Kaitlin C WieserAustraliaOnyama Limba QUALIFIED
Aruna O MorascaBrazilElwin Sharvill UNQUALIFIED
Ricardo R GlickBrazilElwin Sharvill PROPOSAL
Aditya O DarakjyAustraliaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Smith U GauchoSpainAnna Fali QUALIFIED
Wickens P GauchoSpainElwin Sharvill NEGOTIATION
Aruna E FigeroaFranceIvan Magalhaes NEW
Leja Y KuskoSpainIoni Bowcher NEW
Juan E FerenczItalyElwin Sharvill PROPOSAL
Stacey O PoquetteSpainAnna Fali RENEWAL
Aditya S SergiCanadaStephen Shaw RENEWAL
Jeanfrancois R GarufiAustraliaOnyama Limba RENEWAL
Arvin C TollnerFranceAmy Elsner NEGOTIATION
Mayumi V OldroydRussiaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily L GlickRussia2024-05-08Printing Dimensions QUALIFIED1Amy Elsner
1001Ashley F VenereUnited Kingdom2024-05-16Truhlar And Truhlar Attys NEGOTIATION87Anna Fali
1002Tony L KuskoItaly2024-05-22Rousseaux, Michael Esq PROPOSAL79Stephen Shaw
1003Kaitlin H WaycottIndia2024-05-17Feltz Printing Service UNQUALIFIED65Anna Fali
1004Aditya X StockhamCanada2024-05-10Feltz Printing Service NEW84Elwin Sharvill
1005Maria V RulapaughCanada2024-04-30Dorl, James J Esq RENEWAL37Onyama Limba
1006James V SlusarskiAustralia2024-05-20Chanay, Jeffrey A Esq NEW10Bernardo Dominic
1007Munro M OldroydUnited Kingdom2024-05-08Chanay, Jeffrey A Esq QUALIFIED9Stephen Shaw
1008Izzy Q RulapaughJapan2024-05-11Printing Dimensions NEGOTIATION26Amy Elsner
1009Kaitlin N TollnerBrazil2024-05-04Buckley Miller Wright QUALIFIED17Ioni Bowcher
1010Antonio J WaycottSpain2024-05-09Rousseaux, Michael Esq NEW61Anna Fali
1011Mayumi A SchemmerItaly2024-05-22Morlong Associates NEW10Onyama Limba
1012Smith K MarrierUnited Kingdom2024-05-10Printing Dimensions RENEWAL18Elwin Sharvill
1013Cody U GlickUnited Kingdom2024-05-27Dorl, James J Esq QUALIFIED21Amy Elsner
1014Arvin Z RimCanada2024-04-28Truhlar And Truhlar Attys QUALIFIED9Asiya Javayant
1015Jeanfrancois W WieserItaly2024-05-05King, Christopher A Esq RENEWAL72Onyama Limba
1016Ivar O KuskoFrance2024-05-19Rousseaux, Michael Esq NEGOTIATION27Bernardo Dominic
1017Deepesh L AmigonArgentina2024-05-19Commercial Press UNQUALIFIED16Xuxue Feng
1018Claire A WieserJapan2024-05-12Benton, John B Jr NEW67Ivan Magalhaes
1019Nicolas U AlbaresBrazil2024-05-12Chemel, James L Cpa RENEWAL7Ivan Magalhaes
1020Jeanfrancois M StockhamUnited Kingdom2024-05-05Chemel, James L Cpa RENEWAL34Xuxue Feng
1021Ashley S MacleadSpain2024-05-14Chanay, Jeffrey A Esq PROPOSAL99Ioni Bowcher
1022Ivar G GarufiGermany2024-05-03Truhlar And Truhlar Attys NEW59Ioni Bowcher
1023Leon I VocelkaItaly2024-05-26Rousseaux, Michael Esq RENEWAL44Amy Elsner
1024Maria M FollerArgentina2024-05-08Commercial Press NEW17Amy Elsner
1025Leon U OstroskyAustralia2024-05-20Chanay, Jeffrey A Esq RENEWAL81Stephen Shaw
1026Stacey R MarrierJapan2024-05-11Truhlar And Truhlar Attys NEGOTIATION81Asiya Javayant
1027Maisha V RimAustralia2024-04-29Buckley Miller Wright NEW41Xuxue Feng
1028Leja M AmigonCanada2024-05-20Benton, John B Jr UNQUALIFIED95Ioni Bowcher
1029Costa L BriddickGermany2024-04-29Feiner Bros UNQUALIFIED80Asiya Javayant
1030Adams Y SaylorsArgentina2024-05-20Chapman, Ross E Esq UNQUALIFIED67Asiya Javayant
1031Johnson S InouyeArgentina2024-05-14Feiner Bros RENEWAL45Asiya Javayant
1032Ashley D NickaItaly2024-05-16Rangoni Of Florence PROPOSAL45Onyama Limba
1033Jeanfrancois L GauchoGermany2024-05-20Benton, John B Jr NEGOTIATION39Bernardo Dominic
1034Francesco W DarakjyBrazil2024-04-29Dorl, James J Esq QUALIFIED66Asiya Javayant
1035Sinclair V MarrierJapan2024-05-27Feltz Printing Service PROPOSAL39Elwin Sharvill
1036Aika X IturbideIndia2024-05-01Chanay, Jeffrey A Esq NEW57Ivan Magalhaes
1037Rodrigues Y InouyeRussia2024-05-16Commercial Press NEW94Bernardo Dominic
1038Greenwood Y BologniaCanada2024-05-10Printing Dimensions RENEWAL44Amy Elsner
1039Emily B DarakjySpain2024-05-19Rangoni Of Florence NEW31Stephen Shaw
1040Jennifer C MacleadArgentina2024-05-24Chemel, James L Cpa NEW61Bernardo Dominic
1041Aditya A DoeFrance2024-05-18Rousseaux, Michael Esq UNQUALIFIED31Elwin Sharvill
1042Murillo R StockhamCanada2024-05-07Rousseaux, Michael Esq NEW4Xuxue Feng
1043Antonio O OstroskyAustralia2024-05-25Buckley Miller Wright NEW62Xuxue Feng
1044Rodrigues R MacleadFrance2024-05-05Printing Dimensions QUALIFIED93Ivan Magalhaes
1045Ashley I MaletFrance2024-05-14Chanay, Jeffrey A Esq PROPOSAL35Stephen Shaw
1046Leon O WaycottIndia2024-05-23Dorl, James J Esq NEW29Anna Fali
1047Johnson I FerenczArgentina2024-05-27Morlong Associates NEW65Asiya Javayant
1048Silvio Z TollnerJapan2024-05-24Chapman, Ross E Esq RENEWAL25Elwin Sharvill
1049Tony F RimIndia2024-05-09Printing Dimensions PROPOSAL49Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Juan G RoysterFranceElwin Sharvill RENEWAL
Octavia O NestleBrazilAnna Fali QUALIFIED
Leon I FigeroaSpainXuxue Feng NEGOTIATION
Kadeem P StockhamBrazilAsiya Javayant UNQUALIFIED
Adams J AmigonFranceAnna Fali NEGOTIATION
Chavez H FlosiCanadaAmy Elsner NEW
Darci I PoquetteUnited KingdomAsiya Javayant PROPOSAL
Aika Z NestleBrazilBernardo Dominic PROPOSAL
Ricardo C DilliardJapanStephen Shaw QUALIFIED
Adams C SaylorsItalyBernardo Dominic PROPOSAL
Octavia T KolmetzCanadaAnna Fali RENEWAL
Silvio E DoeCanadaOnyama Limba UNQUALIFIED
Darci E MarrierRussiaAmy Elsner UNQUALIFIED
Claire P RutaBrazilIvan Magalhaes NEGOTIATION
Jennifer X DarakjyUnited KingdomBernardo Dominic UNQUALIFIED
Leja T CaldareraGermanyAmy Elsner UNQUALIFIED
Nicolas W AmigonItalyXuxue Feng NEW
Wickens U OldroydIndiaStephen Shaw UNQUALIFIED
Ricardo H OstroskyItalyBernardo Dominic UNQUALIFIED
Faith H NestleGermanyXuxue Feng UNQUALIFIED
Arvin P WaycottUnited KingdomXuxue Feng QUALIFIED
David R RutaArgentinaAsiya Javayant QUALIFIED
Chavez S SergiSpainIoni Bowcher PROPOSAL
Aditya O NickaArgentinaAmy Elsner UNQUALIFIED
Kaitlin N SlusarskiSpainXuxue Feng NEGOTIATION
Ashley R VocelkaRussiaStephen Shaw NEGOTIATION
Ivar N FigeroaRussiaXuxue Feng PROPOSAL
Octavia K ChuiFranceElwin Sharvill UNQUALIFIED
Ashley K MarrierCanadaAmy Elsner UNQUALIFIED
Isabel O FollerJapanXuxue Feng RENEWAL
Arvin J CampainIndiaIoni Bowcher NEW
Claire Z PerinCanadaXuxue Feng RENEWAL
Maisha F AmigonFranceAnna Fali NEGOTIATION
Deepesh U StockhamArgentinaElwin Sharvill NEGOTIATION
Maisha J VocelkaCanadaIoni Bowcher PROPOSAL
Silvio L FigeroaCanadaXuxue Feng NEW
Antonio A CaldareraSpainIvan Magalhaes UNQUALIFIED
Silvio Z MaletArgentinaBernardo Dominic QUALIFIED
Misaki I FlosiAustraliaAmy Elsner PROPOSAL
Deepesh X GarufiAustraliaStephen Shaw RENEWAL
Francesco Y StensethBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois S StensethGermanyIoni Bowcher UNQUALIFIED
Aika C InouyeFranceAnna Fali RENEWAL
Antonio L GillianAustraliaAnna Fali NEGOTIATION
Rodrigues J TollnerFranceIoni Bowcher PROPOSAL
Faith K VocelkaArgentinaAnna Fali RENEWAL
Octavia W IturbideArgentinaAmy Elsner RENEWAL
Aruna C GarufiSpainAsiya Javayant UNQUALIFIED
Smith T ChuiFranceElwin Sharvill UNQUALIFIED
Ivar T ShinkoFranceAnna Fali PROPOSAL
Frozen Columns
Name
Arvin T Stockham
Ivar R Saylors
Deepesh P Garufi
Adams Z Caudy
Wickens C Nicka
Ivar X Albares
James H Marrier
Tony T Kusko
Ivar D Briddick
Arvin K Bowley
Claire F Figeroa
Ivar K Doe
Alejandro I Schemmer
Nicolas C Kusko
Maisha T Perin
Kadeem A Iturbide
Francesco W Ruta
Octavia L Stenseth
Wickens C Vocelka
Jennifer W Ruta
Ivar O Bowley
Rodrigues B Stenseth
Ashley E Slusarski
Kadeem T Campain
Cody O Bowley
Morrow S Rim
Kaitlin X Chui
Alejandro K Kusko
Wickens W Schemmer
Costa D Ostrosky
Kaitlin A Flosi
Greenwood Q Bowley
Morrow S Whobrey
Aditya B Gillian
Claire J Wieser
Misaki G Bowley
Chavez K Waycott
Ricardo H Morasca
Ashley W Caudy
Leja K Sergi
Silvio X Briddick
Leon Y Albares
Jennifer L Poquette
Jeanfrancois V Stockham
Leja R Kolmetz
Munro W Kusko
Julie T Flosi
Octavia Q Garufi
Johnson F Royster
Adams K Paprocki
IdCountryDate
1000Brazil2024-05-03
1001Argentina2024-05-20
1002Japan2024-05-04
1003Russia2024-05-13
1004Argentina2024-05-20
1005United Kingdom2024-05-10
1006Argentina2024-05-25
1007Brazil2024-04-29
1008Argentina2024-05-19
1009United Kingdom2024-05-10
1010Argentina2024-05-14
1011Italy2024-04-29
1012India2024-05-22
1013Brazil2024-05-06
1014India2024-05-19
1015Argentina2024-04-29
1016Italy2024-05-19
1017United Kingdom2024-05-17
1018Italy2024-05-15
1019Brazil2024-05-07
1020Australia2024-05-21
1021India2024-05-25
1022Japan2024-04-29
1023Brazil2024-05-08
1024Germany2024-04-30
1025France2024-05-27
1026India2024-05-16
1027Argentina2024-05-17
1028Italy2024-05-18
1029Russia2024-05-19
1030Russia2024-05-27
1031Russia2024-05-07
1032Germany2024-05-07
1033Italy2024-05-24
1034Germany2024-04-30
1035Argentina2024-05-07
1036Germany2024-05-09
1037Japan2024-05-18
1038Canada2024-04-30
1039Australia2024-05-12
1040France2024-05-06
1041Canada2024-05-10
1042United Kingdom2024-04-28
1043Australia2024-05-23
1044India2024-05-06
1045Brazil2024-05-23
1046Argentina2024-05-07
1047Brazil2024-04-29
1048Spain2024-05-25
1049Australia2024-05-02

On-Demand Data

NameIdCountryDate
Murillo T Tollner1000United Kingdom2024-05-04
Rodrigues E Marrier1001Russia2024-05-22
Leja B Slusarski1002Canada2024-05-12
Smith B Campain1003France2024-04-28
Nicolas T Tollner1004India2024-05-26
Emily X Stenseth1005India2024-05-14
Emily S Caldarera1006Australia2024-05-20
Clifford Q Chui1007United Kingdom2024-05-20
Mujtaba U Darakjy1008France2024-05-14
Jeanfrancois I Albares1009Brazil2024-05-08
Jennifer X Wieser1010Canada2024-05-24
Leon P Iturbide1011Japan2024-04-30
Wickens S Caudy1012Argentina2024-05-15
Jeanfrancois H Figeroa1013Spain2024-05-09
Adams W Saylors1014Spain2024-05-18
Tony F Kusko1015India2024-05-08
Francesco M Iturbide1016United Kingdom2024-05-04
Nicolas B Glick1017Germany2024-05-02
Aruna G Iturbide1018France2024-05-09
Morrow T Dilliard1019United Kingdom2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily L ButtSpainIvan Magalhaes RENEWAL
Johnson P FigeroaGermanyIvan Magalhaes NEW
Deepesh P SergiRussiaIoni Bowcher RENEWAL
Jones A VenereCanadaIoni Bowcher RENEWAL
Murillo D SaylorsFranceIvan Magalhaes QUALIFIED
Johnson T ChuiCanadaElwin Sharvill QUALIFIED
Deepesh F CaudyUnited KingdomAnna Fali NEW
Ivar C GillianFranceElwin Sharvill RENEWAL
Claire G KuskoBrazilIoni Bowcher NEGOTIATION
Morrow V BologniaJapanIvan Magalhaes RENEWAL
Stacey P MacleadSpainElwin Sharvill RENEWAL
Darci L KuskoSpainAnna Fali UNQUALIFIED
Isabel V FollerFranceAmy Elsner NEGOTIATION
Kaitlin L DoeItalyStephen Shaw PROPOSAL
Aditya M ButtCanadaOnyama Limba NEW
Sinclair U GlickItalyAmy Elsner NEW
Arvin F ButtItalyAsiya Javayant QUALIFIED
Morrow H ChuiCanadaIvan Magalhaes PROPOSAL
Nicolas O WaycottBrazilXuxue Feng NEGOTIATION
Mayumi O GlickSpainAsiya Javayant NEW
Ivar H FerenczGermanyElwin Sharvill UNQUALIFIED
Silvio U SchemmerIndiaXuxue Feng PROPOSAL
Deepesh F WaycottRussiaOnyama Limba NEGOTIATION
Aruna O DarakjyRussiaOnyama Limba RENEWAL
Emily C GillianBrazilAnna Fali NEGOTIATION
Julie N PaprockiItalyBernardo Dominic PROPOSAL
Juan R CaldareraAustraliaIvan Magalhaes UNQUALIFIED
Leja G MaletUnited KingdomAnna Fali RENEWAL
Tony M InouyeItalyIoni Bowcher PROPOSAL
Nicolas N FlosiJapanAmy Elsner QUALIFIED
Izzy V PerinArgentinaOnyama Limba UNQUALIFIED
Munro Q MaletRussiaIvan Magalhaes UNQUALIFIED
James P StockhamAustraliaBernardo Dominic PROPOSAL
Darci S RoysterSpainIoni Bowcher UNQUALIFIED
Julie G WhobreyItalyAsiya Javayant PROPOSAL
Leon X WaycottArgentinaAnna Fali RENEWAL
Mujtaba N GauchoUnited KingdomOnyama Limba QUALIFIED
Leja B RulapaughBrazilAnna Fali PROPOSAL
Claire H VenereFranceStephen Shaw NEGOTIATION
Arvin G MacleadSpainAsiya Javayant QUALIFIED

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