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
Aruna K BowleyArgentinaElwin Sharvill NEW
Kadeem B CampainCanadaElwin Sharvill NEGOTIATION
Faith B MaletFranceIvan Magalhaes RENEWAL
Octavia K MaletBrazilElwin Sharvill PROPOSAL
Aika T TollnerIndiaIvan Magalhaes NEW
Silvio A PerinUnited KingdomAnna Fali PROPOSAL
Maria S PerinJapanAnna Fali UNQUALIFIED
James X WieserBrazilXuxue Feng PROPOSAL
Ricardo J CampainArgentinaBernardo Dominic PROPOSAL
Cody C PoquetteFranceElwin Sharvill NEGOTIATION
Murillo E CampainIndiaOnyama Limba QUALIFIED
Chavez A GarufiBrazilOnyama Limba RENEWAL
Jones N FollerBrazilIoni Bowcher QUALIFIED
Izzy O GlickJapanAnna Fali RENEWAL
Murillo H RulapaughFranceXuxue Feng RENEWAL
Silvio G DilliardIndiaIvan Magalhaes NEW
Costa Q TollnerFranceXuxue Feng UNQUALIFIED
Tony J MaletCanadaIvan Magalhaes QUALIFIED
Costa S WieserCanadaXuxue Feng UNQUALIFIED
Ivar K KolmetzArgentinaStephen Shaw NEGOTIATION
Chavez V PoquetteRussiaAmy Elsner PROPOSAL
James I DilliardGermanyAmy Elsner UNQUALIFIED
Munro S InouyeUnited KingdomOnyama Limba NEGOTIATION
Adams X TollnerBrazilAmy Elsner NEW
Kaitlin F BologniaBrazilStephen Shaw RENEWAL
Rodrigues K CampainRussiaIoni Bowcher RENEWAL
Darci X SchemmerAustraliaAnna Fali QUALIFIED
Chavez G GauchoBrazilElwin Sharvill NEW
Wickens M IturbideAustraliaOnyama Limba QUALIFIED
Cody K CaudyFranceIoni Bowcher RENEWAL
Tony D GlickCanadaAnna Fali NEGOTIATION
Julie K KuskoJapanIvan Magalhaes QUALIFIED
Faith B GarufiArgentinaElwin Sharvill NEW
Munro J BriddickJapanBernardo Dominic NEW
Silvio K RoysterFranceIvan Magalhaes NEW
Arvin C RoysterUnited KingdomIoni Bowcher QUALIFIED
Maisha B CaudyAustraliaAmy Elsner NEW
Silvio K OstroskyItalyIvan Magalhaes RENEWAL
Munro F SchemmerUnited KingdomAmy Elsner QUALIFIED
Ashley V NestleItalyStephen Shaw NEW
Emily M SchemmerBrazilIvan Magalhaes QUALIFIED
Claire U AmigonItalyAmy Elsner UNQUALIFIED
Jones U PerinCanadaIoni Bowcher UNQUALIFIED
Aika Y BologniaFranceAmy Elsner NEW
Chavez M SaylorsIndiaOnyama Limba RENEWAL
Arvin L FigeroaJapanAsiya Javayant UNQUALIFIED
Nicolas P StensethBrazilAsiya Javayant UNQUALIFIED
Ricardo Z RoysterAustraliaAnna Fali PROPOSAL
Clifford G NestleAustraliaIvan Magalhaes UNQUALIFIED
Clifford C OstroskyCanadaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kaitlin N FigeroaCanadaAmy Elsner NEW
Darci V FerenczItalyAnna Fali UNQUALIFIED
Murillo L GarufiJapanAnna Fali NEW
Johnson V OldroydUnited KingdomIoni Bowcher PROPOSAL
Silvio F SchemmerCanadaIvan Magalhaes PROPOSAL
Claire Y SchemmerAustraliaAmy Elsner UNQUALIFIED
David S BowleyRussiaBernardo Dominic RENEWAL
Jeanfrancois R SchemmerFranceAmy Elsner RENEWAL
Rodrigues M MaletUnited KingdomOnyama Limba PROPOSAL
David E ShinkoCanadaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco K MarrierSpain2026-05-31Chanay, Jeffrey A Esq QUALIFIED4Stephen Shaw
1001Tony G InouyeCanada2026-06-07King, Christopher A Esq UNQUALIFIED22Elwin Sharvill
1002Kadeem N VenereBrazil2026-05-26King, Christopher A Esq QUALIFIED8Anna Fali
1003David E KuskoJapan2026-06-15Chemel, James L Cpa UNQUALIFIED13Elwin Sharvill
1004Juan O RulapaughCanada2026-06-06Rousseaux, Michael Esq RENEWAL10Elwin Sharvill
1005Johnson H BologniaCanada2026-06-03Rangoni Of Florence PROPOSAL48Amy Elsner
1006Antonio F DarakjyFrance2026-06-05Feltz Printing Service NEW68Amy Elsner
1007Ricardo W MaletJapan2026-06-04Truhlar And Truhlar Attys PROPOSAL87Asiya Javayant
1008Johnson M StensethGermany2026-06-22Chemel, James L Cpa PROPOSAL15Elwin Sharvill
1009Salvatore K FerenczSpain2026-06-15Printing Dimensions UNQUALIFIED89Bernardo Dominic
1010Alejandro J InouyeAustralia2026-06-18Chanay, Jeffrey A Esq NEGOTIATION27Ivan Magalhaes
1011Maria K MorascaCanada2026-06-04King, Christopher A Esq NEW10Amy Elsner
1012Smith F AmigonGermany2026-06-07Chanay, Jeffrey A Esq NEW79Asiya Javayant
1013Kadeem P RulapaughJapan2026-06-18Rousseaux, Michael Esq PROPOSAL81Stephen Shaw
1014Alejandro X CaudyIndia2026-06-09Morlong Associates RENEWAL95Elwin Sharvill
1015Tony Q GlickCanada2026-06-04King, Christopher A Esq RENEWAL51Stephen Shaw
1016Izzy U StockhamFrance2026-05-28Truhlar And Truhlar Attys QUALIFIED47Ioni Bowcher
1017Mujtaba J BriddickGermany2026-06-14Commercial Press UNQUALIFIED25Ioni Bowcher
1018Julie I SergiBrazil2026-06-03Chanay, Jeffrey A Esq PROPOSAL85Amy Elsner
1019Misaki C BologniaJapan2026-06-07Commercial Press UNQUALIFIED58Bernardo Dominic
1020Ashley H SergiGermany2026-06-01Morlong Associates NEW78Xuxue Feng
1021Aditya L FerenczSpain2026-06-18Feltz Printing Service NEW27Amy Elsner
1022Stacey K MorascaArgentina2026-06-08Truhlar And Truhlar Attys NEGOTIATION98Stephen Shaw
1023Jeanfrancois J NickaAustralia2026-06-18Commercial Press UNQUALIFIED11Ioni Bowcher
1024Kaitlin Q PoquetteGermany2026-06-24Truhlar And Truhlar Attys NEW35Bernardo Dominic
1025Ricardo F WaycottItaly2026-06-18Morlong Associates NEGOTIATION74Onyama Limba
1026Julie S WaycottGermany2026-06-10Truhlar And Truhlar Attys QUALIFIED83Anna Fali
1027Deepesh T MaletRussia2026-06-19Rousseaux, Michael Esq PROPOSAL96Bernardo Dominic
1028Juan U DarakjyCanada2026-06-01Chemel, James L Cpa QUALIFIED20Amy Elsner
1029Faith F FollerAustralia2026-06-09Feiner Bros RENEWAL55Ivan Magalhaes
1030Chavez F MacleadAustralia2026-05-31Feiner Bros NEW1Anna Fali
1031Jefferson P IturbideSpain2026-06-06Printing Dimensions RENEWAL28Ioni Bowcher
1032Jones L MacleadSpain2026-06-18Buckley Miller Wright NEW5Ioni Bowcher
1033Wickens F CaudyBrazil2026-06-16Rangoni Of Florence QUALIFIED56Ivan Magalhaes
1034David V PaprockiSpain2026-06-16Chanay, Jeffrey A Esq NEW28Ioni Bowcher
1035Jeanfrancois G MacleadFrance2026-06-12Rousseaux, Michael Esq RENEWAL79Elwin Sharvill
1036Francesco O MarrierFrance2026-06-10Truhlar And Truhlar Attys NEW81Xuxue Feng
1037Octavia S CaldareraCanada2026-06-13Feiner Bros RENEWAL50Xuxue Feng
1038Silvio K FollerRussia2026-06-13Buckley Miller Wright PROPOSAL5Onyama Limba
1039James N MaletGermany2026-06-06Buckley Miller Wright NEGOTIATION92Ivan Magalhaes
1040Faith R FigeroaJapan2026-05-28Truhlar And Truhlar Attys NEGOTIATION89Anna Fali
1041Jones E ChuiUnited Kingdom2026-06-23Morlong Associates RENEWAL68Ivan Magalhaes
1042Jefferson Q GauchoAustralia2026-06-18Buckley Miller Wright UNQUALIFIED83Onyama Limba
1043Emily N BologniaIndia2026-05-26Commercial Press NEGOTIATION80Onyama Limba
1044Smith N NestleAustralia2026-05-27Dorl, James J Esq PROPOSAL33Anna Fali
1045Cody C BologniaArgentina2026-06-12Feiner Bros NEW42Asiya Javayant
1046Jones N RutaSpain2026-06-15Printing Dimensions UNQUALIFIED79Xuxue Feng
1047Julie Y DilliardRussia2026-06-20Chapman, Ross E Esq PROPOSAL34Ioni Bowcher
1048Silvio G MaletRussia2026-06-22Printing Dimensions NEGOTIATION79Amy Elsner
1049Aditya W StensethArgentina2026-06-02Rangoni Of Florence RENEWAL52Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kadeem P CampainItalyXuxue Feng QUALIFIED
Chavez A WhobreyRussiaAmy Elsner NEGOTIATION
Aruna W RoysterJapanAsiya Javayant QUALIFIED
Murillo Z SchemmerCanadaXuxue Feng NEW
David G FlosiBrazilOnyama Limba NEGOTIATION
Stacey A KolmetzJapanOnyama Limba UNQUALIFIED
Izzy O FerenczAustraliaIvan Magalhaes NEW
Ashley S GauchoAustraliaAnna Fali QUALIFIED
Julie J RutaFranceAnna Fali NEW
Julie N MacleadCanadaIvan Magalhaes RENEWAL
Wickens Q GauchoAustraliaIvan Magalhaes NEW
Rodrigues R MacleadGermanyIoni Bowcher NEW
Mayumi G VocelkaJapanStephen Shaw UNQUALIFIED
Jones A AmigonAustraliaAnna Fali PROPOSAL
David Q WhobreySpainOnyama Limba QUALIFIED
Munro L CaudyGermanyElwin Sharvill NEW
Stacey Q PoquetteCanadaAsiya Javayant NEGOTIATION
Cody V ShinkoRussiaOnyama Limba NEGOTIATION
David B KolmetzBrazilStephen Shaw UNQUALIFIED
Clifford I MorascaJapanIvan Magalhaes UNQUALIFIED
Morrow V DarakjyRussiaBernardo Dominic QUALIFIED
Morrow V GarufiBrazilBernardo Dominic QUALIFIED
Julie M MaletUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro F CaudyFranceXuxue Feng NEGOTIATION
Ivar Y VenereUnited KingdomXuxue Feng QUALIFIED
Sinclair C AmigonBrazilIvan Magalhaes NEW
Maisha K OstroskyArgentinaAsiya Javayant PROPOSAL
Francesco I FlosiRussiaAnna Fali UNQUALIFIED
Sinclair I CaudyRussiaOnyama Limba RENEWAL
Deepesh Z CampainArgentinaIvan Magalhaes QUALIFIED
Rodrigues H SergiUnited KingdomStephen Shaw UNQUALIFIED
Izzy X BowleyRussiaOnyama Limba RENEWAL
Johnson J WaycottArgentinaAnna Fali RENEWAL
Octavia X GauchoItalyStephen Shaw PROPOSAL
Alejandro V RimJapanBernardo Dominic UNQUALIFIED
Stacey V FlosiJapanAsiya Javayant NEW
Arvin F GillianJapanXuxue Feng UNQUALIFIED
Wickens W SergiItalyIoni Bowcher RENEWAL
Leon W MaletGermanyBernardo Dominic UNQUALIFIED
Faith M WieserArgentinaAsiya Javayant QUALIFIED
Kadeem B BriddickJapanStephen Shaw RENEWAL
Cody L TollnerJapanIoni Bowcher UNQUALIFIED
Morrow W OstroskyRussiaIoni Bowcher NEW
Kadeem S ChuiSpainElwin Sharvill NEGOTIATION
Stacey X RoysterUnited KingdomAsiya Javayant RENEWAL
Octavia X WieserUnited KingdomBernardo Dominic NEW
Maria J OldroydGermanyAmy Elsner NEW
Rodrigues C KuskoGermanyBernardo Dominic PROPOSAL
Emily M NickaCanadaIoni Bowcher QUALIFIED
Aruna Z ShinkoGermanyIvan Magalhaes RENEWAL
Frozen Columns
Name
Kaitlin W Paprocki
Morrow W Oldroyd
Maisha N Maclead
Darci P Amigon
Leon O Oldroyd
Nicolas G Campain
Francesco U Campain
Leja L Ostrosky
Smith K Sergi
Darci O Bolognia
Kadeem I Nicka
Leon A Iturbide
Faith X Paprocki
Leja I Malet
Kadeem Z Gaucho
David I Wieser
Morrow B Tollner
Misaki N Inouye
Arvin H Dilliard
Octavia I Gillian
Wickens Q Ferencz
Mujtaba R Garufi
Julie M Chui
Rodrigues Y Rulapaugh
Cody R Flosi
Smith P Paprocki
Rodrigues U Malet
Jennifer M Stenseth
Mujtaba G Caldarera
Ashley T Bowley
Leon I Tollner
Murillo E Gaucho
Isabel G Dilliard
Deepesh F Doe
Kaitlin T Waycott
Jefferson M Inouye
Leon Y Butt
Ivar W Ostrosky
Claire B Caldarera
Adams B Butt
Munro Y Ruta
Ricardo A Ostrosky
Chavez Z Rim
Adams T Schemmer
Sinclair O Malet
Cody Z Shinko
Mujtaba M Foller
Stacey G Flosi
Ivar P Kolmetz
Rodrigues Z Shinko
IdCountryDate
1000Russia2026-06-12
1001Italy2026-06-23
1002Australia2026-06-18
1003Brazil2026-06-09
1004Russia2026-06-14
1005Argentina2026-06-12
1006Russia2026-05-26
1007Russia2026-06-12
1008Canada2026-06-08
1009Italy2026-06-22
1010India2026-05-28
1011Spain2026-06-08
1012Brazil2026-06-21
1013Canada2026-05-29
1014Argentina2026-06-18
1015India2026-06-24
1016Spain2026-06-17
1017United Kingdom2026-06-20
1018Russia2026-06-11
1019Russia2026-06-11
1020Germany2026-05-28
1021United Kingdom2026-06-05
1022Canada2026-06-20
1023Italy2026-06-24
1024Canada2026-06-18
1025Germany2026-05-28
1026Japan2026-06-02
1027Australia2026-05-28
1028Canada2026-05-29
1029India2026-05-29
1030Canada2026-06-18
1031France2026-06-13
1032Spain2026-06-06
1033India2026-06-13
1034Spain2026-05-27
1035Japan2026-06-16
1036Spain2026-06-11
1037Brazil2026-06-03
1038Russia2026-06-21
1039Brazil2026-06-10
1040Russia2026-06-24
1041India2026-06-23
1042Russia2026-06-01
1043Spain2026-06-09
1044Japan2026-06-07
1045Australia2026-06-06
1046Russia2026-05-27
1047Italy2026-06-12
1048Australia2026-05-30
1049Australia2026-05-30

On-Demand Data

NameIdCountryDate
Octavia F Foller1000India2026-05-29
Jennifer V Campain1001Italy2026-06-05
Maisha M Caudy1002Germany2026-06-06
Jeanfrancois Z Caudy1003Russia2026-06-13
Juan T Bolognia1004Argentina2026-06-11
Stacey T Maclead1005Japan2026-06-01
Ivar B Iturbide1006Brazil2026-05-29
Nicolas O Nicka1007Canada2026-06-13
Salvatore M Nicka1008India2026-05-30
Kadeem E Oldroyd1009Australia2026-06-14
Emily J Albares1010Australia2026-06-04
Ivar H Garufi1011Germany2026-05-31
Cody A Nicka1012Italy2026-06-10
Leon L Flosi1013Japan2026-06-23
Rodrigues P Perin1014United Kingdom2026-06-04
Tony I Chui1015Italy2026-06-21
Izzy Z Maclead1016Argentina2026-06-02
Jeanfrancois W Nestle1017France2026-06-19
Deepesh W Butt1018Canada2026-06-22
Stacey L Doe1019Canada2026-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer A DoeFranceBernardo Dominic PROPOSAL
Juan R WaycottIndiaOnyama Limba PROPOSAL
Greenwood I MaletBrazilAnna Fali PROPOSAL
Sinclair G MacleadUnited KingdomIvan Magalhaes PROPOSAL
Costa N CampainItalyIvan Magalhaes QUALIFIED
Tony W MacleadJapanAsiya Javayant RENEWAL
Emily H NestleIndiaElwin Sharvill QUALIFIED
Greenwood D MorascaBrazilStephen Shaw RENEWAL
Johnson P VocelkaItalyAmy Elsner NEW
Misaki E WaycottAustraliaIoni Bowcher NEGOTIATION
Clifford D VocelkaCanadaBernardo Dominic QUALIFIED
Chavez B PoquetteArgentinaXuxue Feng QUALIFIED
Juan P KolmetzCanadaIvan Magalhaes NEW
Munro E FlosiSpainElwin Sharvill NEW
Greenwood C ShinkoCanadaXuxue Feng NEGOTIATION
Munro U SergiBrazilStephen Shaw NEGOTIATION
Leja Q MacleadIndiaOnyama Limba PROPOSAL
David J TollnerGermanyXuxue Feng UNQUALIFIED
Misaki P MaletSpainBernardo Dominic QUALIFIED
Jefferson U GillianFranceOnyama Limba UNQUALIFIED
Isabel S CampainItalyAsiya Javayant QUALIFIED
Ricardo J DarakjyFranceAsiya Javayant UNQUALIFIED
Tony K IturbideAustraliaBernardo Dominic NEGOTIATION
Leon A BologniaFranceAsiya Javayant NEW
Deepesh O CaldareraSpainElwin Sharvill RENEWAL
Clifford B SchemmerJapanAmy Elsner UNQUALIFIED
Emily L InouyeFranceXuxue Feng NEGOTIATION
Jeanfrancois Z AmigonItalyIvan Magalhaes QUALIFIED
Munro Y CaudyArgentinaStephen Shaw PROPOSAL
Munro L AmigonBrazilOnyama Limba UNQUALIFIED
Smith L MacleadAustraliaOnyama Limba NEGOTIATION
Jeanfrancois D OldroydCanadaIvan Magalhaes RENEWAL
Sinclair E CaudyBrazilIvan Magalhaes UNQUALIFIED
Aditya P RimCanadaStephen Shaw NEGOTIATION
Clifford V VenereFranceXuxue Feng RENEWAL
Maisha P ShinkoFranceElwin Sharvill QUALIFIED
David E VocelkaAustraliaBernardo Dominic PROPOSAL
Isabel F MacleadCanadaIvan Magalhaes QUALIFIED
Greenwood J FigeroaAustraliaIvan Magalhaes RENEWAL
Rodrigues P AlbaresRussiaElwin Sharvill 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>

You are using an LTS version of PrimeFaces with an invalid license, you may either switch back to a non-LTS version or purchase a license at PrimeStore.