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
Greenwood P PerinFranceXuxue Feng PROPOSAL
Kadeem N GillianJapanBernardo Dominic PROPOSAL
Juan J DarakjySpainStephen Shaw RENEWAL
Francesco R MorascaItalyIoni Bowcher RENEWAL
Antonio X BologniaArgentinaStephen Shaw RENEWAL
Wickens P SaylorsUnited KingdomAnna Fali NEGOTIATION
Cody G MacleadFranceOnyama Limba UNQUALIFIED
Murillo E ButtAustraliaAmy Elsner NEW
Costa W NickaRussiaAmy Elsner QUALIFIED
Adams A IturbideIndiaElwin Sharvill NEW
Clifford Z BriddickItalyElwin Sharvill UNQUALIFIED
Salvatore L SergiFranceAmy Elsner PROPOSAL
David A GauchoRussiaElwin Sharvill NEW
Jennifer T WaycottJapanElwin Sharvill UNQUALIFIED
Octavia A SchemmerArgentinaXuxue Feng QUALIFIED
Stacey B RoysterIndiaStephen Shaw RENEWAL
Julie A CaudyArgentinaBernardo Dominic NEGOTIATION
Smith F RimJapanElwin Sharvill NEGOTIATION
Leon U GlickRussiaXuxue Feng UNQUALIFIED
Jeanfrancois S RoysterJapanIvan Magalhaes PROPOSAL
Costa V KuskoArgentinaBernardo Dominic NEGOTIATION
Alejandro B AlbaresGermanyXuxue Feng RENEWAL
Wickens M OstroskyArgentinaOnyama Limba PROPOSAL
Deepesh F BriddickArgentinaOnyama Limba NEW
Munro O WieserSpainAsiya Javayant NEW
Deepesh T PoquetteCanadaAnna Fali QUALIFIED
Leja D CaudyRussiaIoni Bowcher QUALIFIED
Silvio B DoeFranceElwin Sharvill UNQUALIFIED
Maisha W WhobreyGermanyOnyama Limba UNQUALIFIED
Mujtaba D WieserUnited KingdomIoni Bowcher QUALIFIED
Mayumi Y VocelkaSpainAmy Elsner QUALIFIED
Munro U ChuiGermanyIoni Bowcher RENEWAL
Ashley X IturbideCanadaIoni Bowcher NEGOTIATION
Clifford J ShinkoArgentinaAmy Elsner UNQUALIFIED
Arvin H CaldareraItalyAmy Elsner PROPOSAL
Francesco O DarakjyAustraliaAmy Elsner NEGOTIATION
Ricardo O PoquetteArgentinaIoni Bowcher UNQUALIFIED
Sinclair P KolmetzIndiaStephen Shaw NEW
Costa V SaylorsBrazilOnyama Limba NEGOTIATION
Mayumi R VocelkaSpainIvan Magalhaes UNQUALIFIED
Mujtaba F BriddickItalyElwin Sharvill NEGOTIATION
Darci V TollnerUnited KingdomIvan Magalhaes UNQUALIFIED
Sinclair C IturbideArgentinaAnna Fali RENEWAL
Ivar M SchemmerRussiaBernardo Dominic NEW
Maria A KuskoRussiaElwin Sharvill QUALIFIED
Jefferson A DilliardSpainIoni Bowcher QUALIFIED
Faith K RutaFranceElwin Sharvill RENEWAL
Rodrigues W MaletBrazilOnyama Limba NEGOTIATION
Misaki L CaudyAustraliaBernardo Dominic PROPOSAL
Leon I ButtFranceAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones E PoquetteSpainElwin Sharvill UNQUALIFIED
Izzy D TollnerItalyAsiya Javayant PROPOSAL
Francesco X AlbaresSpainElwin Sharvill NEW
Octavia D MarrierJapanBernardo Dominic NEGOTIATION
Arvin E CaldareraAustraliaIvan Magalhaes NEGOTIATION
Emily J PoquetteCanadaAsiya Javayant NEGOTIATION
Izzy Y ButtArgentinaAnna Fali RENEWAL
Kaitlin G NickaAustraliaAnna Fali QUALIFIED
Leon N StensethRussiaAmy Elsner UNQUALIFIED
Aruna X DarakjySpainAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair N WaycottUnited Kingdom2026-07-19Chanay, Jeffrey A Esq NEW93Bernardo Dominic
1001James V AmigonFrance2026-07-09Printing Dimensions NEW1Onyama Limba
1002Smith H SchemmerRussia2026-07-21Truhlar And Truhlar Attys UNQUALIFIED59Anna Fali
1003Leja D MacleadCanada2026-08-01Chemel, James L Cpa UNQUALIFIED5Stephen Shaw
1004Octavia K SergiRussia2026-08-03Morlong Associates NEGOTIATION46Ivan Magalhaes
1005Faith A BriddickItaly2026-07-07Feiner Bros UNQUALIFIED98Onyama Limba
1006Alejandro I MacleadGermany2026-08-05Chanay, Jeffrey A Esq NEW70Stephen Shaw
1007Arvin O AmigonArgentina2026-08-02Chapman, Ross E Esq NEW69Amy Elsner
1008Jeanfrancois X KuskoArgentina2026-07-12Chemel, James L Cpa PROPOSAL27Amy Elsner
1009Emily O NickaFrance2026-07-24Feiner Bros QUALIFIED87Ivan Magalhaes
1010Morrow J WhobreyGermany2026-08-02Benton, John B Jr QUALIFIED99Ivan Magalhaes
1011Smith N AlbaresIndia2026-07-31Buckley Miller Wright NEGOTIATION63Anna Fali
1012Clifford F FigeroaRussia2026-08-05Benton, John B Jr NEGOTIATION13Onyama Limba
1013Johnson L KolmetzRussia2026-07-21Printing Dimensions NEW27Asiya Javayant
1014Jones U ChuiSpain2026-07-26Chemel, James L Cpa PROPOSAL20Ioni Bowcher
1015Wickens I IturbideArgentina2026-07-25Chanay, Jeffrey A Esq UNQUALIFIED41Elwin Sharvill
1016Cody X ShinkoUnited Kingdom2026-08-02Commercial Press RENEWAL81Elwin Sharvill
1017Clifford G KolmetzIndia2026-07-28King, Christopher A Esq PROPOSAL84Ivan Magalhaes
1018Leon T PerinArgentina2026-07-15Feltz Printing Service RENEWAL66Elwin Sharvill
1019Aruna F NickaRussia2026-07-29Buckley Miller Wright QUALIFIED39Elwin Sharvill
1020Aditya C VenereArgentina2026-07-07Feltz Printing Service NEGOTIATION51Amy Elsner
1021Jeanfrancois G PaprockiSpain2026-08-03Buckley Miller Wright NEW39Xuxue Feng
1022Arvin U FlosiAustralia2026-07-27Printing Dimensions NEGOTIATION26Ivan Magalhaes
1023Aika T BriddickFrance2026-08-01Rangoni Of Florence UNQUALIFIED16Xuxue Feng
1024Ashley Z DoeBrazil2026-08-05Benton, John B Jr RENEWAL5Onyama Limba
1025Greenwood Z CaudyGermany2026-07-15Rousseaux, Michael Esq UNQUALIFIED87Elwin Sharvill
1026Aditya D MarrierRussia2026-07-22Benton, John B Jr PROPOSAL18Ivan Magalhaes
1027Sinclair A CampainArgentina2026-07-18Truhlar And Truhlar Attys PROPOSAL46Stephen Shaw
1028David D BowleyCanada2026-08-04Rousseaux, Michael Esq PROPOSAL95Ioni Bowcher
1029Adams U ButtFrance2026-07-27King, Christopher A Esq QUALIFIED28Ioni Bowcher
1030Nicolas T GlickJapan2026-07-27Chapman, Ross E Esq UNQUALIFIED65Bernardo Dominic
1031Chavez U RimCanada2026-07-26Feiner Bros NEW13Stephen Shaw
1032Tony K RulapaughJapan2026-07-21King, Christopher A Esq RENEWAL30Stephen Shaw
1033Arvin O PaprockiAustralia2026-07-08Commercial Press NEGOTIATION11Stephen Shaw
1034Juan T MarrierSpain2026-07-26Dorl, James J Esq QUALIFIED97Xuxue Feng
1035Munro G AmigonArgentina2026-07-22Printing Dimensions NEGOTIATION82Ioni Bowcher
1036Juan R WhobreyBrazil2026-08-03Feltz Printing Service NEGOTIATION95Elwin Sharvill
1037Wickens P ChuiSpain2026-07-26Chemel, James L Cpa PROPOSAL97Ioni Bowcher
1038Faith N SchemmerItaly2026-07-23Truhlar And Truhlar Attys NEW31Xuxue Feng
1039Wickens G DoeIndia2026-07-10Buckley Miller Wright PROPOSAL92Elwin Sharvill
1040Ricardo X CaudySpain2026-07-25Chapman, Ross E Esq UNQUALIFIED4Elwin Sharvill
1041Stacey M WieserAustralia2026-08-04King, Christopher A Esq NEGOTIATION20Asiya Javayant
1042Clifford B ChuiUnited Kingdom2026-07-10Chapman, Ross E Esq RENEWAL56Ioni Bowcher
1043Wickens Q MorascaGermany2026-07-13Commercial Press QUALIFIED43Elwin Sharvill
1044Isabel X DilliardFrance2026-07-11Feiner Bros RENEWAL31Amy Elsner
1045Ricardo D MacleadGermany2026-07-24Dorl, James J Esq PROPOSAL61Xuxue Feng
1046Silvio E ShinkoItaly2026-07-29Chanay, Jeffrey A Esq NEGOTIATION46Elwin Sharvill
1047Octavia H KolmetzRussia2026-07-31Benton, John B Jr NEW23Xuxue Feng
1048Claire T NestleItaly2026-07-25Chapman, Ross E Esq PROPOSAL29Xuxue Feng
1049Chavez C StockhamArgentina2026-07-07Rangoni Of Florence PROPOSAL28Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Alejandro S PaprockiUnited KingdomElwin Sharvill NEW
Antonio N SaylorsAustraliaXuxue Feng NEGOTIATION
Aruna D FerenczGermanyIoni Bowcher QUALIFIED
Leja T SchemmerCanadaIvan Magalhaes UNQUALIFIED
Alejandro L KuskoJapanAsiya Javayant PROPOSAL
Jones X WieserUnited KingdomBernardo Dominic UNQUALIFIED
Leon A AlbaresJapanAmy Elsner QUALIFIED
Wickens C BriddickRussiaElwin Sharvill NEW
Clifford N BologniaItalyStephen Shaw RENEWAL
Costa C GauchoAustraliaIvan Magalhaes QUALIFIED
Francesco P TollnerBrazilElwin Sharvill RENEWAL
Leja Q OldroydGermanyElwin Sharvill QUALIFIED
Jefferson Z SlusarskiJapanAmy Elsner QUALIFIED
Claire A PoquetteSpainIvan Magalhaes NEGOTIATION
Murillo U RulapaughGermanyIvan Magalhaes QUALIFIED
Leja N PerinSpainStephen Shaw UNQUALIFIED
Wickens E KuskoRussiaIoni Bowcher QUALIFIED
Mujtaba H SchemmerArgentinaAnna Fali PROPOSAL
Jeanfrancois J RulapaughUnited KingdomXuxue Feng RENEWAL
Jeanfrancois U AlbaresBrazilAsiya Javayant UNQUALIFIED
Murillo I RimUnited KingdomIvan Magalhaes RENEWAL
Jones W SergiBrazilBernardo Dominic NEW
Adams S VenereIndiaBernardo Dominic UNQUALIFIED
Jones U NestleUnited KingdomAsiya Javayant RENEWAL
Chavez I VocelkaFranceAsiya Javayant NEW
Ashley D SchemmerRussiaIvan Magalhaes PROPOSAL
Morrow H RoysterRussiaBernardo Dominic UNQUALIFIED
Jones W WieserGermanyStephen Shaw PROPOSAL
Aika Y BriddickCanadaOnyama Limba RENEWAL
Tony B CaldareraBrazilAmy Elsner UNQUALIFIED
Nicolas I AlbaresArgentinaIoni Bowcher NEGOTIATION
Jefferson C KuskoCanadaIvan Magalhaes PROPOSAL
Antonio H MacleadArgentinaXuxue Feng RENEWAL
Antonio H FollerItalyAsiya Javayant RENEWAL
Munro P FigeroaArgentinaAmy Elsner UNQUALIFIED
Leon K MaletArgentinaIvan Magalhaes UNQUALIFIED
Arvin D SaylorsRussiaIoni Bowcher UNQUALIFIED
Jeanfrancois F VocelkaBrazilXuxue Feng QUALIFIED
Johnson W DarakjyUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba D RutaSpainElwin Sharvill UNQUALIFIED
Morrow L BriddickIndiaAsiya Javayant NEW
Emily K NickaIndiaIoni Bowcher QUALIFIED
Costa K VocelkaCanadaElwin Sharvill QUALIFIED
Munro Z WhobreyArgentinaAnna Fali NEW
Tony S CaudyIndiaIoni Bowcher NEGOTIATION
James Q FigeroaArgentinaIoni Bowcher NEGOTIATION
Stacey V IturbideRussiaAnna Fali NEW
Munro C RulapaughItalyIoni Bowcher PROPOSAL
Costa F VocelkaBrazilElwin Sharvill NEW
Silvio B SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Frozen Columns
Name
Aditya E Flosi
Maria R Ostrosky
Arvin G Poquette
Wickens N Malet
Tony O Oldroyd
Aruna Z Kolmetz
Jefferson A Doe
Arvin J Ostrosky
Maria Z Darakjy
Juan C Perin
Murillo D Briddick
Jefferson U Ostrosky
Clifford V Ostrosky
David U Waycott
Clifford K Paprocki
David L Slusarski
Claire E Paprocki
Nicolas B Perin
Smith R Oldroyd
Jeanfrancois Z Bolognia
Cody U Shinko
Octavia C Whobrey
Francesco J Glick
Tony Y Vocelka
James C Figeroa
Adams Q Stenseth
Alejandro V Flosi
Maisha F Rulapaugh
Nicolas H Morasca
Julie M Foller
Darci E Albares
Silvio Y Dilliard
Munro F Morasca
Aruna K Flosi
Kaitlin M Rim
James R Gillian
Salvatore M Bolognia
Greenwood A Whobrey
Kadeem H Slusarski
Kaitlin A Nestle
Emily Z Shinko
Alejandro F Malet
Misaki P Butt
Smith F Inouye
Cody I Wieser
Claire Q Tollner
Darci R Caudy
Alejandro D Gillian
Ivar S Ostrosky
Adams B Bowley
IdCountryDate
1000Argentina2026-08-03
1001India2026-08-01
1002Russia2026-07-25
1003Germany2026-07-12
1004India2026-08-03
1005India2026-07-19
1006Argentina2026-07-07
1007Italy2026-07-08
1008Brazil2026-07-07
1009Australia2026-07-14
1010Australia2026-07-21
1011India2026-08-05
1012Argentina2026-07-09
1013Japan2026-07-23
1014India2026-07-10
1015Russia2026-07-11
1016Spain2026-07-11
1017Argentina2026-07-28
1018Australia2026-08-04
1019Germany2026-07-24
1020United Kingdom2026-07-21
1021Canada2026-08-04
1022Japan2026-08-01
1023Canada2026-07-10
1024Japan2026-07-27
1025Russia2026-07-21
1026Italy2026-08-04
1027United Kingdom2026-07-28
1028Russia2026-07-21
1029Russia2026-07-14
1030Germany2026-07-07
1031Japan2026-07-12
1032Brazil2026-07-19
1033Japan2026-08-05
1034Japan2026-07-23
1035Russia2026-08-02
1036Japan2026-07-23
1037Australia2026-07-19
1038Germany2026-08-04
1039Argentina2026-07-27
1040Italy2026-07-16
1041Russia2026-07-26
1042Australia2026-07-23
1043France2026-08-01
1044Germany2026-07-07
1045United Kingdom2026-07-17
1046India2026-07-28
1047Argentina2026-07-26
1048Italy2026-07-17
1049Japan2026-07-21

On-Demand Data

NameIdCountryDate
Clifford K Oldroyd1000Italy2026-07-16
Jennifer G Vocelka1001Brazil2026-07-28
Arvin J Maclead1002Australia2026-07-17
Misaki V Maclead1003United Kingdom2026-07-19
Ashley Y Kolmetz1004Japan2026-07-18
Salvatore D Stockham1005Argentina2026-08-04
Nicolas N Iturbide1006France2026-07-12
Izzy G Chui1007Spain2026-07-07
Deepesh D Schemmer1008Germany2026-07-09
Juan Y Caldarera1009Italy2026-08-01
Aruna T Malet1010Canada2026-07-20
Murillo H Kolmetz1011Brazil2026-07-12
Adams E Stockham1012Germany2026-07-24
Faith A Foller1013United Kingdom2026-08-03
Alejandro H Maclead1014Canada2026-07-07
Johnson Q Ostrosky1015Brazil2026-08-03
Izzy D Wieser1016Argentina2026-07-30
Tony S Sergi1017Australia2026-07-25
Adams I Campain1018Italy2026-07-26
Ashley C Doe1019Germany2026-07-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin T PaprockiRussiaXuxue Feng NEGOTIATION
Murillo R OstroskyFranceXuxue Feng NEGOTIATION
Jones Y AmigonFranceAmy Elsner UNQUALIFIED
Chavez F OstroskyAustraliaElwin Sharvill PROPOSAL
Salvatore D StensethIndiaAsiya Javayant PROPOSAL
Morrow S MacleadGermanyAmy Elsner NEW
Jeanfrancois B VocelkaAustraliaAsiya Javayant UNQUALIFIED
Ivar K MarrierItalyStephen Shaw UNQUALIFIED
James Z OstroskyUnited KingdomAnna Fali UNQUALIFIED
Ashley H GlickBrazilAnna Fali NEW
Ivar G MarrierJapanElwin Sharvill RENEWAL
Clifford Z MacleadGermanyBernardo Dominic PROPOSAL
Salvatore V MarrierJapanBernardo Dominic PROPOSAL
Antonio Y BriddickAustraliaElwin Sharvill RENEWAL
Julie O DilliardIndiaXuxue Feng NEGOTIATION
Arvin P StensethArgentinaOnyama Limba UNQUALIFIED
Salvatore S RimFranceIvan Magalhaes NEW
Smith Z PerinItalyIvan Magalhaes NEW
Chavez T StensethRussiaXuxue Feng PROPOSAL
Leon D SlusarskiBrazilXuxue Feng RENEWAL
Maria D FollerJapanIoni Bowcher PROPOSAL
Salvatore I PaprockiFranceStephen Shaw QUALIFIED
Kadeem K SchemmerSpainIvan Magalhaes PROPOSAL
Octavia I FlosiJapanIvan Magalhaes RENEWAL
Maria C PoquetteJapanBernardo Dominic NEGOTIATION
Jefferson K GillianBrazilIoni Bowcher QUALIFIED
Emily I RutaCanadaAmy Elsner QUALIFIED
Juan R MaletUnited KingdomAsiya Javayant NEW
Kaitlin U StensethGermanyAmy Elsner NEGOTIATION
Francesco W StockhamItalyAnna Fali QUALIFIED
Aditya H InouyeCanadaIoni Bowcher PROPOSAL
Claire X PaprockiArgentinaAmy Elsner NEW
Ashley G SaylorsUnited KingdomIoni Bowcher RENEWAL
Munro W CampainGermanyAnna Fali QUALIFIED
Kadeem C WaycottFranceAnna Fali RENEWAL
Octavia L TollnerBrazilAnna Fali RENEWAL
James I StensethIndiaIvan Magalhaes QUALIFIED
Julie H GarufiAustraliaBernardo Dominic UNQUALIFIED
Julie T DilliardRussiaStephen Shaw NEGOTIATION
Leja K OldroydArgentinaIoni Bowcher NEW

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