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
Tony J AmigonBrazilIoni Bowcher NEW
Kadeem Y DilliardGermanyXuxue Feng NEGOTIATION
Faith G MaletCanadaStephen Shaw NEW
Ashley E RutaSpainStephen Shaw RENEWAL
Wickens L InouyeAustraliaStephen Shaw PROPOSAL
Juan L RoysterFranceElwin Sharvill NEW
James P AlbaresIndiaXuxue Feng PROPOSAL
Emily F WieserArgentinaOnyama Limba QUALIFIED
Juan J MaletArgentinaIvan Magalhaes RENEWAL
Chavez C AlbaresItalyStephen Shaw PROPOSAL
Izzy N BowleyJapanOnyama Limba NEGOTIATION
Jefferson V IturbideAustraliaAmy Elsner PROPOSAL
Jeanfrancois D FlosiRussiaAmy Elsner NEGOTIATION
Johnson H KolmetzRussiaAmy Elsner UNQUALIFIED
Johnson U MaletSpainXuxue Feng QUALIFIED
Kadeem E TollnerAustraliaAmy Elsner QUALIFIED
Emily K FigeroaFranceAsiya Javayant NEW
David U PoquetteItalyIoni Bowcher PROPOSAL
Tony S SchemmerRussiaAnna Fali NEGOTIATION
Morrow P SaylorsAustraliaAsiya Javayant PROPOSAL
Mujtaba O NestleJapanAsiya Javayant NEGOTIATION
James F FigeroaSpainAnna Fali NEW
Adams U CaudyIndiaXuxue Feng UNQUALIFIED
Mayumi I RutaItalyIoni Bowcher PROPOSAL
Rodrigues H GauchoRussiaStephen Shaw PROPOSAL
Misaki Y VocelkaItalyOnyama Limba NEW
Greenwood I PoquetteIndiaStephen Shaw UNQUALIFIED
Chavez G SlusarskiCanadaIvan Magalhaes RENEWAL
Jeanfrancois X PaprockiGermanyElwin Sharvill RENEWAL
Kaitlin U ChuiArgentinaStephen Shaw NEGOTIATION
Wickens Y ChuiJapanAsiya Javayant NEGOTIATION
Francesco D DilliardItalyAsiya Javayant RENEWAL
Jennifer A CaldareraJapanIvan Magalhaes NEGOTIATION
Misaki W SaylorsBrazilAnna Fali QUALIFIED
Jeanfrancois R SaylorsGermanyStephen Shaw RENEWAL
Francesco S CampainRussiaAmy Elsner QUALIFIED
Octavia K DoeSpainIvan Magalhaes UNQUALIFIED
Tony U OstroskyFranceAnna Fali NEW
Mujtaba R BowleyCanadaStephen Shaw QUALIFIED
Antonio L FollerItalyAnna Fali UNQUALIFIED
Ashley S SergiFranceBernardo Dominic NEGOTIATION
Jennifer M FlosiArgentinaIoni Bowcher UNQUALIFIED
James H NickaItalyIvan Magalhaes NEGOTIATION
Chavez V MarrierRussiaIoni Bowcher NEGOTIATION
Kadeem N OldroydGermanyAmy Elsner QUALIFIED
Kadeem B NickaGermanyXuxue Feng PROPOSAL
Aruna Q MarrierCanadaXuxue Feng RENEWAL
Leon Q RoysterUnited KingdomXuxue Feng PROPOSAL
Mayumi P SlusarskiBrazilBernardo Dominic PROPOSAL
Morrow C MarrierBrazilXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson Z MorascaItalyIoni Bowcher QUALIFIED
James U BowleyArgentinaBernardo Dominic NEGOTIATION
Claire P BologniaIndiaElwin Sharvill RENEWAL
Nicolas M AmigonCanadaIvan Magalhaes QUALIFIED
Aruna G ShinkoFranceAsiya Javayant PROPOSAL
Juan Z AmigonUnited KingdomXuxue Feng NEW
Misaki V DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Arvin M OldroydFranceBernardo Dominic UNQUALIFIED
James J CaudyUnited KingdomAsiya Javayant NEW
Emily A VocelkaBrazilElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David G RulapaughAustralia2026-08-03Chanay, Jeffrey A Esq PROPOSAL11Elwin Sharvill
1001Aika R InouyeRussia2026-08-03Rousseaux, Michael Esq RENEWAL31Anna Fali
1002Jones Z DarakjyIndia2026-07-21Printing Dimensions NEW5Ivan Magalhaes
1003Aruna I GarufiCanada2026-08-04Commercial Press RENEWAL74Onyama Limba
1004Chavez N SaylorsGermany2026-08-07Printing Dimensions PROPOSAL65Stephen Shaw
1005Mujtaba O FlosiRussia2026-08-08Benton, John B Jr NEW89Amy Elsner
1006Stacey A GauchoAustralia2026-07-21Buckley Miller Wright PROPOSAL30Anna Fali
1007Salvatore Y SchemmerItaly2026-07-17Buckley Miller Wright QUALIFIED26Anna Fali
1008Clifford L SchemmerRussia2026-07-18Commercial Press UNQUALIFIED91Amy Elsner
1009Faith J ChuiArgentina2026-07-21Dorl, James J Esq RENEWAL68Ivan Magalhaes
1010Tony N InouyeAustralia2026-08-11Dorl, James J Esq QUALIFIED51Elwin Sharvill
1011Morrow U StensethUnited Kingdom2026-07-23Chemel, James L Cpa NEGOTIATION84Onyama Limba
1012Tony N StockhamRussia2026-07-19Chemel, James L Cpa PROPOSAL49Xuxue Feng
1013Wickens L VenereIndia2026-07-21Morlong Associates NEW13Asiya Javayant
1014Aditya W SergiFrance2026-07-28Dorl, James J Esq PROPOSAL68Ivan Magalhaes
1015Silvio M GillianFrance2026-08-14Chemel, James L Cpa RENEWAL42Xuxue Feng
1016Johnson F GillianAustralia2026-07-29Chemel, James L Cpa PROPOSAL52Elwin Sharvill
1017Misaki O PoquetteCanada2026-07-17Chemel, James L Cpa RENEWAL18Ivan Magalhaes
1018Jennifer M OldroydBrazil2026-08-15Printing Dimensions QUALIFIED1Elwin Sharvill
1019Francesco B AlbaresFrance2026-08-11Commercial Press NEW75Anna Fali
1020Mujtaba D CaudyRussia2026-08-06Rangoni Of Florence PROPOSAL61Ioni Bowcher
1021Greenwood E RulapaughRussia2026-08-01Rousseaux, Michael Esq NEW53Anna Fali
1022Leja O GlickCanada2026-08-01Morlong Associates PROPOSAL11Bernardo Dominic
1023Kadeem K OldroydUnited Kingdom2026-07-20Commercial Press NEW73Asiya Javayant
1024Salvatore H RoysterSpain2026-08-04King, Christopher A Esq NEGOTIATION84Elwin Sharvill
1025Jeanfrancois W DilliardGermany2026-08-04Printing Dimensions PROPOSAL1Stephen Shaw
1026Mujtaba P TollnerGermany2026-07-19Rousseaux, Michael Esq NEGOTIATION29Onyama Limba
1027David M FerenczSpain2026-07-28Dorl, James J Esq NEW38Bernardo Dominic
1028Claire Y KolmetzCanada2026-08-08Rousseaux, Michael Esq QUALIFIED62Amy Elsner
1029Misaki W WhobreyGermany2026-07-20Benton, John B Jr PROPOSAL13Onyama Limba
1030Jones L WhobreyCanada2026-07-29Truhlar And Truhlar Attys PROPOSAL45Xuxue Feng
1031Izzy I VenereGermany2026-08-05King, Christopher A Esq NEW4Onyama Limba
1032Antonio Z BologniaCanada2026-08-13Truhlar And Truhlar Attys RENEWAL10Xuxue Feng
1033Morrow E WhobreyJapan2026-07-19Chemel, James L Cpa NEW56Bernardo Dominic
1034Julie Q FlosiArgentina2026-08-07Rangoni Of Florence RENEWAL25Onyama Limba
1035Cody T WaycottAustralia2026-08-06Feiner Bros QUALIFIED85Anna Fali
1036Murillo P RoysterIndia2026-07-31Rousseaux, Michael Esq UNQUALIFIED42Asiya Javayant
1037Nicolas Q FlosiFrance2026-08-03Commercial Press PROPOSAL91Amy Elsner
1038Wickens Z MarrierItaly2026-08-01King, Christopher A Esq RENEWAL97Stephen Shaw
1039Maisha T GlickCanada2026-07-17Benton, John B Jr QUALIFIED71Onyama Limba
1040Clifford C WhobreyFrance2026-07-20Feiner Bros NEW49Amy Elsner
1041Ricardo D AmigonBrazil2026-08-14Truhlar And Truhlar Attys NEGOTIATION4Stephen Shaw
1042Faith D VocelkaAustralia2026-08-12Morlong Associates RENEWAL11Asiya Javayant
1043Jeanfrancois G OldroydFrance2026-07-27Rousseaux, Michael Esq QUALIFIED82Stephen Shaw
1044Maria E ChuiRussia2026-07-26Benton, John B Jr NEGOTIATION79Ioni Bowcher
1045Francesco T MaletAustralia2026-07-19Feltz Printing Service UNQUALIFIED46Xuxue Feng
1046David H InouyeUnited Kingdom2026-08-14Commercial Press QUALIFIED4Ioni Bowcher
1047Arvin K MacleadRussia2026-07-24Feltz Printing Service NEGOTIATION86Amy Elsner
1048Smith Z SlusarskiJapan2026-07-27Rangoni Of Florence QUALIFIED84Onyama Limba
1049Aruna Q VenereSpain2026-08-15Buckley Miller Wright NEW68Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kadeem K NestleFranceAnna Fali UNQUALIFIED
Faith K OstroskyBrazilAsiya Javayant PROPOSAL
Isabel Y TollnerRussiaIoni Bowcher NEGOTIATION
Aditya V FigeroaItalyBernardo Dominic PROPOSAL
Deepesh Y MaletBrazilAmy Elsner UNQUALIFIED
Tony D DarakjyRussiaStephen Shaw PROPOSAL
James I MorascaJapanXuxue Feng PROPOSAL
James K GauchoUnited KingdomIvan Magalhaes NEW
Cody K ShinkoItalyXuxue Feng RENEWAL
Darci O CaudyIndiaAsiya Javayant PROPOSAL
Morrow A ButtSpainXuxue Feng PROPOSAL
Maria Q NickaJapanStephen Shaw RENEWAL
Clifford C NickaJapanIoni Bowcher RENEWAL
Aditya A SchemmerBrazilIvan Magalhaes NEGOTIATION
Tony B NestleUnited KingdomElwin Sharvill NEGOTIATION
Jefferson T WaycottRussiaElwin Sharvill QUALIFIED
Julie D IturbideAustraliaElwin Sharvill RENEWAL
Rodrigues E GlickUnited KingdomAnna Fali PROPOSAL
Costa C BologniaItalyBernardo Dominic QUALIFIED
Ivar A ChuiJapanAsiya Javayant QUALIFIED
Costa K FlosiGermanyIoni Bowcher UNQUALIFIED
Claire K MaletRussiaAsiya Javayant UNQUALIFIED
Francesco L PerinBrazilAnna Fali RENEWAL
Emily U VenereJapanBernardo Dominic NEGOTIATION
Aditya G NickaAustraliaAsiya Javayant RENEWAL
Nicolas O RimItalyAsiya Javayant NEW
Jefferson R PaprockiRussiaXuxue Feng NEW
Leja W StensethGermanyAnna Fali PROPOSAL
Ivar H NestleItalyStephen Shaw UNQUALIFIED
Jefferson H ButtSpainAmy Elsner NEGOTIATION
Maria P DoeSpainAsiya Javayant PROPOSAL
Juan G StensethAustraliaElwin Sharvill NEGOTIATION
Alejandro I ShinkoJapanIvan Magalhaes QUALIFIED
Nicolas X StensethAustraliaAnna Fali RENEWAL
Julie U RimFranceXuxue Feng UNQUALIFIED
Octavia A OldroydGermanyOnyama Limba NEGOTIATION
Emily A DilliardUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro R VenereAustraliaXuxue Feng QUALIFIED
Faith G CaldareraFranceElwin Sharvill UNQUALIFIED
Juan R InouyeFranceIoni Bowcher NEGOTIATION
James G BologniaSpainIoni Bowcher NEGOTIATION
David W GillianSpainAnna Fali NEW
Juan Z AlbaresGermanyStephen Shaw NEW
Misaki X MorascaJapanElwin Sharvill UNQUALIFIED
Aika W AmigonCanadaIvan Magalhaes UNQUALIFIED
Ricardo X MaletItalyIoni Bowcher NEGOTIATION
Johnson Z FerenczBrazilAsiya Javayant NEGOTIATION
Izzy D ChuiItalyIvan Magalhaes NEGOTIATION
Nicolas V OldroydSpainAsiya Javayant NEGOTIATION
Izzy P BriddickUnited KingdomOnyama Limba PROPOSAL
Frozen Columns
Name
Aditya B Wieser
Emily R Iturbide
Mayumi E Gaucho
Sinclair O Stockham
Costa R Flosi
Murillo Z Doe
Stacey F Kolmetz
Darci R Kusko
Aditya P Glick
Nicolas I Maclead
Rodrigues Z Wieser
Leon K Caldarera
Jones C Nestle
David W Iturbide
Rodrigues T Royster
Jefferson V Schemmer
Antonio N Dilliard
Murillo Q Perin
Wickens H Caldarera
Munro T Gillian
Alejandro O Butt
Nicolas M Gillian
Tony R Glick
Sinclair U Butt
Francesco P Rulapaugh
Leja L Rim
Francesco Y Schemmer
Leja U Marrier
Adams A Kusko
Claire Q Bowley
Arvin C Vocelka
Juan K Gaucho
Clifford I Sergi
Jeanfrancois N Malet
Salvatore L Gaucho
Jennifer L Garufi
Leja Q Rulapaugh
Johnson C Stenseth
Antonio V Caldarera
Clifford A Stenseth
Julie J Garufi
Deepesh C Garufi
Darci Q Whobrey
Silvio U Vocelka
Chavez H Royster
Chavez R Perin
Maria U Chui
Greenwood U Rim
James Q Briddick
Maria X Royster
IdCountryDate
1000Australia2026-07-26
1001Argentina2026-08-05
1002Italy2026-08-02
1003Italy2026-08-01
1004Australia2026-07-29
1005Italy2026-08-02
1006Australia2026-08-10
1007Argentina2026-08-05
1008Australia2026-07-26
1009Russia2026-07-27
1010Spain2026-08-05
1011France2026-07-22
1012Canada2026-08-13
1013Italy2026-08-01
1014Brazil2026-07-21
1015France2026-07-20
1016India2026-08-03
1017India2026-07-20
1018Italy2026-08-11
1019Japan2026-08-15
1020Brazil2026-08-13
1021Germany2026-08-13
1022Brazil2026-08-10
1023United Kingdom2026-07-20
1024Argentina2026-07-27
1025United Kingdom2026-07-20
1026Japan2026-07-17
1027Russia2026-07-21
1028United Kingdom2026-08-01
1029Spain2026-07-25
1030Spain2026-08-11
1031Australia2026-07-26
1032United Kingdom2026-08-14
1033Germany2026-07-28
1034Japan2026-07-19
1035Japan2026-08-03
1036Canada2026-07-31
1037Germany2026-08-12
1038Japan2026-08-09
1039India2026-08-04
1040Russia2026-07-27
1041Spain2026-08-12
1042Australia2026-08-10
1043France2026-08-04
1044Japan2026-07-25
1045Australia2026-08-10
1046Spain2026-08-02
1047India2026-07-24
1048Australia2026-07-23
1049United Kingdom2026-08-14

On-Demand Data

NameIdCountryDate
Leon Q Waycott1000Argentina2026-08-04
Mujtaba M Doe1001United Kingdom2026-08-04
Aika L Figeroa1002Spain2026-07-21
Munro W Dilliard1003Japan2026-07-22
Jefferson X Ruta1004Spain2026-08-13
Arvin A Kusko1005Australia2026-08-02
Wickens H Rulapaugh1006Australia2026-07-25
Murillo J Waycott1007Australia2026-08-06
Kadeem P Kusko1008Australia2026-08-15
James R Figeroa1009Japan2026-07-29
Izzy V Chui1010Russia2026-07-28
Aruna Q Gaucho1011Brazil2026-08-09
Sinclair X Ruta1012Canada2026-07-23
Chavez R Gaucho1013United Kingdom2026-07-24
Leja G Ostrosky1014Italy2026-08-01
Ivar Y Maclead1015Spain2026-08-07
Murillo Y Rim1016Canada2026-07-28
Octavia J Waycott1017United Kingdom2026-07-25
Salvatore O Vocelka1018France2026-07-20
Arvin P Malet1019Australia2026-07-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika Z SchemmerSpainIvan Magalhaes UNQUALIFIED
Silvio Z ChuiRussiaIoni Bowcher NEW
Kaitlin O RimIndiaElwin Sharvill PROPOSAL
Darci C FerenczGermanyAsiya Javayant PROPOSAL
Ivar F PerinUnited KingdomAmy Elsner QUALIFIED
Ivar Q OstroskyItalyStephen Shaw NEW
Leja B WaycottItalyBernardo Dominic UNQUALIFIED
Mayumi F WhobreyItalyBernardo Dominic NEGOTIATION
Ivar U BowleyJapanAmy Elsner PROPOSAL
Smith U PerinItalyIvan Magalhaes UNQUALIFIED
Jones G FerenczArgentinaElwin Sharvill NEW
Clifford S GarufiFranceAnna Fali PROPOSAL
Claire J CaudyItalyAsiya Javayant RENEWAL
Aika P GillianCanadaAsiya Javayant PROPOSAL
James V MarrierFranceAmy Elsner NEGOTIATION
Claire L GauchoItalyStephen Shaw UNQUALIFIED
Jennifer W PaprockiRussiaElwin Sharvill PROPOSAL
Francesco R OstroskyItalyAsiya Javayant QUALIFIED
Antonio F SergiArgentinaAsiya Javayant RENEWAL
Maria R KuskoRussiaStephen Shaw PROPOSAL
Isabel J AmigonRussiaIvan Magalhaes NEW
Sinclair R CaudyBrazilIvan Magalhaes RENEWAL
James W ChuiBrazilStephen Shaw NEGOTIATION
Ashley F DarakjyRussiaXuxue Feng PROPOSAL
Rodrigues D MorascaAustraliaXuxue Feng QUALIFIED
Misaki Y DoeJapanElwin Sharvill RENEWAL
Munro Z WaycottUnited KingdomElwin Sharvill NEW
Leja H ShinkoUnited KingdomXuxue Feng NEGOTIATION
Leja H InouyeJapanAmy Elsner NEGOTIATION
Wickens P PerinBrazilXuxue Feng NEGOTIATION
Deepesh T WaycottGermanyAsiya Javayant PROPOSAL
Smith V DoeIndiaBernardo Dominic QUALIFIED
Francesco C IturbideFranceElwin Sharvill UNQUALIFIED
Mujtaba I MarrierSpainBernardo Dominic UNQUALIFIED
Arvin Y GarufiGermanyElwin Sharvill NEW
Mujtaba K AmigonBrazilAmy Elsner QUALIFIED
Salvatore A IturbideBrazilAnna Fali PROPOSAL
Jones O PoquetteFranceIoni Bowcher RENEWAL
Alejandro A BowleyAustraliaIoni Bowcher RENEWAL
Johnson N WieserFranceXuxue Feng 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>