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
Maisha A BowleyItalyStephen Shaw NEW
James Q KolmetzSpainIvan Magalhaes NEW
Aditya E ChuiFranceStephen Shaw QUALIFIED
Salvatore E ChuiJapanElwin Sharvill NEGOTIATION
Izzy X DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson D DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Leja P PerinSpainXuxue Feng PROPOSAL
Stacey M RoysterRussiaXuxue Feng PROPOSAL
Tony U RutaCanadaIoni Bowcher UNQUALIFIED
Emily A StockhamIndiaAmy Elsner NEGOTIATION
Antonio N AmigonAustraliaStephen Shaw NEGOTIATION
Deepesh H DilliardUnited KingdomAmy Elsner NEGOTIATION
Misaki P FlosiGermanyOnyama Limba NEW
Morrow D BowleyUnited KingdomIoni Bowcher QUALIFIED
Morrow Y RulapaughItalyAmy Elsner PROPOSAL
David B MaletCanadaAmy Elsner QUALIFIED
Francesco N ChuiItalyIvan Magalhaes NEGOTIATION
Maisha C BologniaUnited KingdomAmy Elsner NEW
Francesco U MaletFranceOnyama Limba UNQUALIFIED
Mayumi Z MacleadArgentinaElwin Sharvill QUALIFIED
Silvio K SlusarskiBrazilBernardo Dominic UNQUALIFIED
Tony U WhobreySpainIvan Magalhaes NEW
Costa L VocelkaIndiaElwin Sharvill PROPOSAL
Johnson P CampainArgentinaOnyama Limba QUALIFIED
Isabel Q StensethIndiaStephen Shaw NEW
Izzy L GlickFranceIoni Bowcher UNQUALIFIED
Octavia X PaprockiSpainAsiya Javayant RENEWAL
Juan W MacleadJapanIvan Magalhaes PROPOSAL
Kadeem A FlosiFranceXuxue Feng PROPOSAL
Alejandro O BowleyBrazilStephen Shaw NEGOTIATION
Leon G OldroydUnited KingdomIoni Bowcher PROPOSAL
Jones Q MaletSpainIoni Bowcher UNQUALIFIED
Wickens Q CaldareraArgentinaStephen Shaw NEGOTIATION
Ricardo M BowleyItalyAnna Fali RENEWAL
Silvio W KolmetzCanadaXuxue Feng UNQUALIFIED
Sinclair B MaletArgentinaAsiya Javayant PROPOSAL
Julie E WhobreySpainAsiya Javayant RENEWAL
Maria E StockhamArgentinaIoni Bowcher NEGOTIATION
Sinclair V WhobreyJapanIvan Magalhaes PROPOSAL
Octavia Y RutaJapanIvan Magalhaes PROPOSAL
Jennifer L SergiJapanAmy Elsner UNQUALIFIED
Emily I PaprockiGermanyAsiya Javayant RENEWAL
Faith D WhobreyCanadaAnna Fali PROPOSAL
Murillo S NickaJapanElwin Sharvill PROPOSAL
Greenwood G BowleySpainElwin Sharvill UNQUALIFIED
Stacey I SergiSpainIvan Magalhaes RENEWAL
Julie Z PerinAustraliaBernardo Dominic UNQUALIFIED
Munro C WhobreyUnited KingdomIoni Bowcher NEW
Jones T BologniaAustraliaElwin Sharvill PROPOSAL
Wickens D DilliardGermanyStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio I OldroydFranceElwin Sharvill UNQUALIFIED
Aruna R BriddickAustraliaAsiya Javayant PROPOSAL
Salvatore P GlickJapanIvan Magalhaes RENEWAL
Ivar M PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Francesco A InouyeArgentinaIvan Magalhaes PROPOSAL
Costa O NickaUnited KingdomAsiya Javayant QUALIFIED
Kadeem Q CaudyArgentinaIvan Magalhaes PROPOSAL
Jennifer W RimFranceIoni Bowcher NEW
Mujtaba A ChuiAustraliaAmy Elsner RENEWAL
Nicolas C AmigonFranceAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer R RimFrance2026-06-26King, Christopher A Esq NEW4Ivan Magalhaes
1001Francesco J KuskoItaly2026-07-18Truhlar And Truhlar Attys RENEWAL24Ivan Magalhaes
1002Emily T RulapaughItaly2026-07-12Feltz Printing Service NEGOTIATION60Anna Fali
1003Maisha K GauchoItaly2026-06-27Morlong Associates QUALIFIED34Ioni Bowcher
1004Maisha Z CaudyFrance2026-06-25Truhlar And Truhlar Attys RENEWAL35Xuxue Feng
1005Aika O GlickIndia2026-07-10Feltz Printing Service RENEWAL53Elwin Sharvill
1006James C MarrierBrazil2026-06-28Feltz Printing Service QUALIFIED6Stephen Shaw
1007Alejandro K VocelkaCanada2026-07-12Benton, John B Jr NEGOTIATION5Stephen Shaw
1008Rodrigues V RulapaughIndia2026-06-24King, Christopher A Esq NEW91Ioni Bowcher
1009Chavez I VocelkaUnited Kingdom2026-06-30Chapman, Ross E Esq NEW42Elwin Sharvill
1010Morrow I SlusarskiRussia2026-06-30King, Christopher A Esq UNQUALIFIED43Anna Fali
1011Mayumi X StockhamGermany2026-07-04Chemel, James L Cpa UNQUALIFIED12Elwin Sharvill
1012Arvin W FerenczFrance2026-06-26Feiner Bros NEGOTIATION88Ioni Bowcher
1013Nicolas H PoquetteGermany2026-06-23King, Christopher A Esq RENEWAL89Asiya Javayant
1014Munro E GillianAustralia2026-06-27Morlong Associates NEGOTIATION44Ioni Bowcher
1015Smith J PoquetteIndia2026-06-26Buckley Miller Wright NEW61Elwin Sharvill
1016Adams C ShinkoUnited Kingdom2026-07-11Benton, John B Jr QUALIFIED14Ioni Bowcher
1017Antonio A ShinkoAustralia2026-07-06Printing Dimensions PROPOSAL1Asiya Javayant
1018Aika H ChuiArgentina2026-06-27Printing Dimensions RENEWAL87Asiya Javayant
1019Nicolas X NickaCanada2026-07-19Buckley Miller Wright PROPOSAL70Ioni Bowcher
1020Aruna F RutaBrazil2026-06-25Rangoni Of Florence QUALIFIED73Bernardo Dominic
1021Salvatore J StockhamIndia2026-07-15Dorl, James J Esq RENEWAL10Ioni Bowcher
1022Claire B IturbideItaly2026-06-23Feltz Printing Service UNQUALIFIED58Ioni Bowcher
1023Stacey G DoeItaly2026-07-01Dorl, James J Esq NEGOTIATION51Bernardo Dominic
1024Maria X TollnerArgentina2026-06-25Chapman, Ross E Esq QUALIFIED73Amy Elsner
1025David N OldroydItaly2026-07-07Rangoni Of Florence RENEWAL29Bernardo Dominic
1026Octavia H SaylorsItaly2026-07-08Benton, John B Jr PROPOSAL1Asiya Javayant
1027Emily B DoeBrazil2026-07-03Truhlar And Truhlar Attys PROPOSAL57Xuxue Feng
1028Silvio J SchemmerArgentina2026-07-13Chapman, Ross E Esq NEW83Onyama Limba
1029Adams X DarakjyFrance2026-07-17Dorl, James J Esq UNQUALIFIED68Stephen Shaw
1030Aruna N RutaAustralia2026-07-13Chanay, Jeffrey A Esq UNQUALIFIED51Ioni Bowcher
1031Izzy M DilliardJapan2026-07-10King, Christopher A Esq UNQUALIFIED23Ivan Magalhaes
1032Johnson B VocelkaJapan2026-07-15King, Christopher A Esq NEGOTIATION45Bernardo Dominic
1033Juan W RutaItaly2026-07-02Chemel, James L Cpa NEW7Xuxue Feng
1034Juan D ChuiItaly2026-07-14Chemel, James L Cpa PROPOSAL64Bernardo Dominic
1035Antonio E PerinFrance2026-07-05Buckley Miller Wright UNQUALIFIED74Asiya Javayant
1036Morrow E FigeroaArgentina2026-07-05Buckley Miller Wright NEW82Anna Fali
1037Mujtaba A KolmetzGermany2026-07-01Chanay, Jeffrey A Esq PROPOSAL29Anna Fali
1038Mayumi D ButtRussia2026-07-13Printing Dimensions RENEWAL34Xuxue Feng
1039Leon D KolmetzJapan2026-07-08Feiner Bros QUALIFIED91Elwin Sharvill
1040Johnson K ChuiRussia2026-07-16Chemel, James L Cpa RENEWAL56Ioni Bowcher
1041Sinclair K FigeroaGermany2026-07-05Benton, John B Jr RENEWAL58Ivan Magalhaes
1042Claire L RulapaughIndia2026-07-11Benton, John B Jr NEGOTIATION46Asiya Javayant
1043Chavez A DarakjyIndia2026-07-22Feltz Printing Service NEW16Ivan Magalhaes
1044Wickens Y WieserGermany2026-07-22Buckley Miller Wright PROPOSAL38Onyama Limba
1045Ivar N WaycottJapan2026-06-27Dorl, James J Esq QUALIFIED91Xuxue Feng
1046Leon U GillianAustralia2026-06-23Printing Dimensions RENEWAL81Stephen Shaw
1047Johnson M MacleadUnited Kingdom2026-07-04Rousseaux, Michael Esq NEW19Ioni Bowcher
1048Stacey T VocelkaSpain2026-07-16Rousseaux, Michael Esq PROPOSAL57Elwin Sharvill
1049Jefferson C MacleadGermany2026-07-18Feltz Printing Service QUALIFIED69Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Juan I ChuiSpainAnna Fali PROPOSAL
Costa U VenereUnited KingdomElwin Sharvill PROPOSAL
Deepesh Y WieserCanadaXuxue Feng UNQUALIFIED
Clifford P VenereAustraliaAnna Fali NEGOTIATION
Leja I MaletCanadaAsiya Javayant UNQUALIFIED
Cody U FigeroaAustraliaBernardo Dominic QUALIFIED
Faith E MaletSpainElwin Sharvill RENEWAL
Jones W AmigonAustraliaIvan Magalhaes NEW
Isabel H InouyeUnited KingdomIvan Magalhaes NEW
Costa B MorascaGermanyElwin Sharvill NEW
Mayumi C ShinkoBrazilStephen Shaw RENEWAL
James Y GauchoAustraliaIvan Magalhaes QUALIFIED
Isabel N MarrierGermanyBernardo Dominic NEGOTIATION
Aditya A KolmetzFranceStephen Shaw NEGOTIATION
Aruna J FollerFranceElwin Sharvill PROPOSAL
Kadeem A ChuiJapanElwin Sharvill RENEWAL
Salvatore L RutaRussiaBernardo Dominic UNQUALIFIED
Izzy U VenereGermanyAnna Fali NEW
Ricardo U NestleBrazilOnyama Limba QUALIFIED
Emily F CampainSpainIvan Magalhaes QUALIFIED
Leja J GarufiBrazilAsiya Javayant QUALIFIED
Chavez F InouyeFranceOnyama Limba QUALIFIED
Nicolas A GillianAustraliaOnyama Limba PROPOSAL
Aruna I ShinkoJapanOnyama Limba NEGOTIATION
Ashley Y StensethJapanIvan Magalhaes UNQUALIFIED
Greenwood H FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Greenwood F WhobreyIndiaBernardo Dominic NEW
Kaitlin R FollerUnited KingdomAsiya Javayant RENEWAL
Juan U ChuiBrazilAmy Elsner UNQUALIFIED
Ricardo R CaudyArgentinaOnyama Limba UNQUALIFIED
Misaki V OstroskyJapanBernardo Dominic NEW
Greenwood O GauchoGermanyXuxue Feng NEW
Adams B NestleSpainAmy Elsner QUALIFIED
Tony R NestleGermanyIvan Magalhaes NEGOTIATION
Maisha N WhobreyBrazilIvan Magalhaes QUALIFIED
Alejandro Q AmigonAustraliaAsiya Javayant NEGOTIATION
Clifford H DoeArgentinaIvan Magalhaes NEW
Claire T PoquetteItalyBernardo Dominic UNQUALIFIED
Salvatore X FigeroaJapanXuxue Feng UNQUALIFIED
Leja R PoquetteJapanStephen Shaw NEW
Kaitlin U GauchoArgentinaBernardo Dominic PROPOSAL
Deepesh O FollerItalyIvan Magalhaes RENEWAL
Kaitlin A MarrierArgentinaElwin Sharvill RENEWAL
Maisha V IturbideAustraliaAsiya Javayant NEGOTIATION
Clifford P GarufiItalyAnna Fali UNQUALIFIED
Ashley W MacleadIndiaElwin Sharvill NEGOTIATION
David Q ChuiCanadaAsiya Javayant NEGOTIATION
Emily V NickaGermanyAmy Elsner QUALIFIED
Aditya R CampainFranceOnyama Limba NEW
Wickens K WhobreyGermanyOnyama Limba NEW
Frozen Columns
Name
Maisha O Kusko
Kadeem Z Shinko
Mayumi U Briddick
Munro C Glick
Aika X Waycott
Deepesh D Venere
Johnson W Albares
David O Glick
Juan A Saylors
Izzy W Stockham
Alejandro E Shinko
Emily P Gillian
Darci S Figeroa
Maria A Stenseth
Clifford F Rulapaugh
Maria P Gillian
Costa P Caldarera
Kaitlin M Sergi
Maria M Poquette
Greenwood L Bolognia
Sinclair E Bolognia
Jennifer E Garufi
Kadeem A Foller
Faith Z Darakjy
Salvatore W Dilliard
Ashley P Amigon
Octavia S Caldarera
Johnson J Malet
Sinclair P Maclead
Misaki L Stenseth
Ivar P Dilliard
Faith C Amigon
Antonio T Oldroyd
Greenwood I Caudy
Julie K Rulapaugh
Maria G Amigon
Leon S Doe
Izzy Q Garufi
Johnson T Waycott
Faith C Campain
Costa H Shinko
Costa E Caudy
Kadeem S Rulapaugh
Aditya J Marrier
Sinclair W Nicka
Maria I Inouye
Aditya I Butt
Mayumi B Morasca
Smith D Briddick
Ricardo H Marrier
IdCountryDate
1000India2026-07-13
1001Italy2026-07-12
1002Australia2026-07-05
1003Argentina2026-07-16
1004Australia2026-07-02
1005Spain2026-07-05
1006Canada2026-07-18
1007Spain2026-06-29
1008India2026-07-11
1009Germany2026-07-18
1010Brazil2026-07-02
1011Australia2026-06-23
1012Argentina2026-07-06
1013Brazil2026-07-15
1014Germany2026-06-25
1015Italy2026-07-06
1016Argentina2026-07-05
1017India2026-07-03
1018Brazil2026-06-23
1019Spain2026-06-26
1020Italy2026-07-04
1021India2026-07-13
1022France2026-07-15
1023Italy2026-07-21
1024Japan2026-06-26
1025Argentina2026-06-26
1026Russia2026-07-18
1027Brazil2026-06-27
1028France2026-07-02
1029United Kingdom2026-07-09
1030Brazil2026-07-03
1031Spain2026-07-01
1032Canada2026-06-26
1033Australia2026-07-01
1034Germany2026-06-29
1035Germany2026-07-17
1036United Kingdom2026-07-10
1037Italy2026-07-21
1038Brazil2026-07-08
1039Russia2026-06-29
1040Australia2026-06-24
1041Australia2026-07-16
1042United Kingdom2026-07-10
1043Australia2026-07-14
1044United Kingdom2026-07-02
1045Italy2026-06-24
1046Australia2026-07-09
1047Spain2026-07-05
1048Brazil2026-07-14
1049Germany2026-07-15

On-Demand Data

NameIdCountryDate
Chavez F Ostrosky1000Spain2026-07-05
Maria N Whobrey1001Russia2026-06-28
Aditya A Dilliard1002Germany2026-07-19
Salvatore Y Doe1003Brazil2026-07-07
Rodrigues C Garufi1004France2026-07-16
Juan U Flosi1005Italy2026-06-25
Rodrigues E Darakjy1006Australia2026-07-18
Faith Q Stockham1007India2026-07-10
James B Shinko1008United Kingdom2026-07-09
Faith M Bowley1009Japan2026-07-14
Juan E Glick1010United Kingdom2026-07-04
Leja P Vocelka1011Italy2026-07-06
Wickens U Campain1012France2026-07-05
Munro R Bowley1013Germany2026-06-28
Adams Z Chui1014United Kingdom2026-07-22
Leja S Royster1015United Kingdom2026-07-12
Juan O Rim1016United Kingdom2026-07-12
Arvin V Gaucho1017Germany2026-06-26
Tony C Bolognia1018Japan2026-07-08
Silvio D Gillian1019Germany2026-07-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair N IturbideFranceStephen Shaw PROPOSAL
Murillo B MacleadIndiaAnna Fali QUALIFIED
Juan T DarakjyCanadaIvan Magalhaes QUALIFIED
Arvin U VenereItalyElwin Sharvill UNQUALIFIED
Aika C PaprockiRussiaElwin Sharvill RENEWAL
Nicolas S RimFranceBernardo Dominic QUALIFIED
Smith D ChuiArgentinaXuxue Feng PROPOSAL
Ivar D IturbideIndiaAsiya Javayant PROPOSAL
Alejandro H StensethItalyAmy Elsner QUALIFIED
Rodrigues X NickaItalyXuxue Feng NEW
Kaitlin P FigeroaRussiaOnyama Limba QUALIFIED
David Q PerinSpainElwin Sharvill PROPOSAL
Antonio I FigeroaArgentinaStephen Shaw NEGOTIATION
Mujtaba E PaprockiJapanElwin Sharvill RENEWAL
Maria G CampainCanadaElwin Sharvill PROPOSAL
Aruna G ChuiItalyIoni Bowcher NEW
Nicolas U GauchoJapanStephen Shaw NEGOTIATION
Mayumi B BowleyBrazilAsiya Javayant UNQUALIFIED
Aditya K StensethUnited KingdomIvan Magalhaes PROPOSAL
Costa T StensethSpainElwin Sharvill UNQUALIFIED
Rodrigues Y CaldareraJapanAsiya Javayant UNQUALIFIED
David Y MaletArgentinaAnna Fali NEW
Misaki S FerenczItalyAsiya Javayant UNQUALIFIED
Smith T BologniaGermanyXuxue Feng NEGOTIATION
Francesco S StockhamArgentinaIoni Bowcher UNQUALIFIED
Emily Y FerenczJapanAmy Elsner QUALIFIED
Greenwood P VenereGermanyIoni Bowcher QUALIFIED
Munro D StockhamCanadaAmy Elsner NEW
Costa P MaletFranceIoni Bowcher NEGOTIATION
Rodrigues U SaylorsBrazilStephen Shaw UNQUALIFIED
Emily L SlusarskiUnited KingdomAmy Elsner PROPOSAL
Antonio I SergiAustraliaOnyama Limba NEGOTIATION
Leja Q StockhamFranceAnna Fali UNQUALIFIED
Leja X FlosiItalyIoni Bowcher UNQUALIFIED
Jefferson E TollnerArgentinaAsiya Javayant PROPOSAL
David X BologniaUnited KingdomAnna Fali NEGOTIATION
Aruna I PerinBrazilElwin Sharvill NEGOTIATION
Jefferson X GarufiIndiaAnna Fali NEW
Morrow B NestleCanadaAmy Elsner NEGOTIATION
Tony K DilliardGermanyIvan Magalhaes 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>