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
James M MorascaCanadaElwin Sharvill NEW
Aruna D AmigonAustraliaIoni Bowcher UNQUALIFIED
Johnson G RimFranceIvan Magalhaes NEW
Mayumi J SlusarskiGermanyBernardo Dominic NEGOTIATION
Rodrigues G FollerJapanIoni Bowcher PROPOSAL
Jeanfrancois M RimAustraliaStephen Shaw QUALIFIED
Ricardo W NestleRussiaStephen Shaw RENEWAL
Aruna P PerinArgentinaXuxue Feng PROPOSAL
Antonio V VocelkaUnited KingdomIoni Bowcher PROPOSAL
Emily F WaycottAustraliaBernardo Dominic PROPOSAL
Chavez N DarakjyCanadaIoni Bowcher UNQUALIFIED
Ricardo L InouyeFranceXuxue Feng UNQUALIFIED
Clifford R ChuiItalyAsiya Javayant UNQUALIFIED
Leon P FigeroaSpainIvan Magalhaes QUALIFIED
Ricardo N AlbaresItalyAmy Elsner NEW
Darci P ButtSpainIvan Magalhaes NEW
Deepesh R RoysterGermanyAmy Elsner PROPOSAL
Nicolas J DoeUnited KingdomStephen Shaw RENEWAL
Munro I BriddickJapanOnyama Limba NEW
James A GarufiRussiaAmy Elsner NEGOTIATION
Aruna J StensethItalyAnna Fali PROPOSAL
Nicolas B SergiArgentinaAnna Fali QUALIFIED
Mujtaba D AlbaresGermanyElwin Sharvill PROPOSAL
Clifford Y SergiJapanXuxue Feng NEW
Jefferson L OldroydFranceXuxue Feng PROPOSAL
David F SaylorsFranceBernardo Dominic UNQUALIFIED
Emily Q FlosiArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois C ChuiItalyAmy Elsner NEW
Emily G WaycottIndiaAsiya Javayant NEGOTIATION
Darci K StockhamItalyIvan Magalhaes UNQUALIFIED
Deepesh A RoysterBrazilAnna Fali PROPOSAL
Sinclair Y FigeroaBrazilIoni Bowcher UNQUALIFIED
James J BriddickRussiaIvan Magalhaes UNQUALIFIED
Claire B GlickUnited KingdomOnyama Limba PROPOSAL
Julie Z TollnerRussiaIvan Magalhaes PROPOSAL
David N StensethArgentinaAsiya Javayant RENEWAL
Claire P SaylorsUnited KingdomIoni Bowcher QUALIFIED
Arvin O StockhamItalyStephen Shaw QUALIFIED
Salvatore V MacleadGermanyElwin Sharvill QUALIFIED
Aruna U PaprockiGermanyAmy Elsner UNQUALIFIED
Costa R SchemmerSpainIoni Bowcher PROPOSAL
Kadeem B DarakjyIndiaOnyama Limba UNQUALIFIED
Maria N BriddickGermanyIoni Bowcher QUALIFIED
Julie P MaletSpainAnna Fali QUALIFIED
Faith I MacleadUnited KingdomAmy Elsner QUALIFIED
Juan O AlbaresBrazilAsiya Javayant NEGOTIATION
Jeanfrancois E AmigonCanadaIvan Magalhaes QUALIFIED
Rodrigues Q RoysterArgentinaAsiya Javayant QUALIFIED
Morrow K IturbideRussiaIvan Magalhaes NEGOTIATION
Clifford B WaycottUnited KingdomOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia K SergiArgentinaStephen Shaw NEW
Kadeem V GlickArgentinaIvan Magalhaes UNQUALIFIED
Jeanfrancois Z CampainGermanyAmy Elsner UNQUALIFIED
Isabel Z CampainCanadaAnna Fali NEW
Jones F MorascaSpainAmy Elsner RENEWAL
Jones E FollerAustraliaAnna Fali NEW
Chavez X VocelkaBrazilBernardo Dominic QUALIFIED
Izzy H RutaSpainIoni Bowcher PROPOSAL
Maisha V PaprockiFranceStephen Shaw NEW
Smith C DoeRussiaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia C FlosiRussia2026-05-21Commercial Press RENEWAL60Anna Fali
1001Alejandro O CaudyUnited Kingdom2026-05-27Chanay, Jeffrey A Esq NEW71Anna Fali
1002Munro Z MorascaAustralia2026-05-27Chapman, Ross E Esq UNQUALIFIED15Xuxue Feng
1003Aditya I GillianJapan2026-05-19Rangoni Of Florence QUALIFIED57Ioni Bowcher
1004Smith O CampainItaly2026-05-27Rangoni Of Florence QUALIFIED62Amy Elsner
1005Kaitlin N CampainFrance2026-05-05King, Christopher A Esq RENEWAL2Ioni Bowcher
1006Greenwood K StockhamGermany2026-05-11Chapman, Ross E Esq QUALIFIED59Ivan Magalhaes
1007Leja Q SchemmerItaly2026-05-27Benton, John B Jr RENEWAL53Stephen Shaw
1008Jefferson Z MaletFrance2026-05-27Truhlar And Truhlar Attys RENEWAL22Amy Elsner
1009Sinclair S RoysterGermany2026-05-21King, Christopher A Esq UNQUALIFIED52Anna Fali
1010Smith C SaylorsItaly2026-05-08Benton, John B Jr RENEWAL68Elwin Sharvill
1011Emily K CaldareraAustralia2026-05-07Commercial Press QUALIFIED46Xuxue Feng
1012Murillo V PoquetteJapan2026-06-02Chanay, Jeffrey A Esq QUALIFIED11Xuxue Feng
1013Silvio Z PaprockiItaly2026-05-18Buckley Miller Wright NEGOTIATION68Amy Elsner
1014Jones S BriddickRussia2026-05-22Truhlar And Truhlar Attys NEGOTIATION13Elwin Sharvill
1015Leon U PerinCanada2026-05-16Benton, John B Jr NEW48Amy Elsner
1016Munro K AlbaresGermany2026-06-03Truhlar And Truhlar Attys QUALIFIED80Ioni Bowcher
1017Faith T VenereAustralia2026-05-13Feiner Bros NEW17Onyama Limba
1018Francesco M GlickCanada2026-06-03Chapman, Ross E Esq UNQUALIFIED85Stephen Shaw
1019Maisha L GlickArgentina2026-05-23Benton, John B Jr QUALIFIED96Bernardo Dominic
1020Darci W AmigonIndia2026-05-13Commercial Press RENEWAL59Anna Fali
1021Kadeem Z StensethArgentina2026-05-19Chemel, James L Cpa NEW71Anna Fali
1022Maria M WhobreyArgentina2026-05-24Commercial Press RENEWAL86Ioni Bowcher
1023Deepesh G SaylorsSpain2026-05-31Buckley Miller Wright RENEWAL72Bernardo Dominic
1024Maisha F WieserAustralia2026-05-12Benton, John B Jr RENEWAL67Stephen Shaw
1025Aditya E FollerSpain2026-05-09Benton, John B Jr NEW9Elwin Sharvill
1026Izzy D SlusarskiArgentina2026-05-05Rangoni Of Florence NEGOTIATION47Elwin Sharvill
1027Leja E NestleJapan2026-05-23Morlong Associates NEGOTIATION83Elwin Sharvill
1028Smith G MaletArgentina2026-05-30Morlong Associates QUALIFIED77Anna Fali
1029Mujtaba E OldroydFrance2026-05-09Chemel, James L Cpa NEGOTIATION3Asiya Javayant
1030Francesco Q RimFrance2026-05-13Truhlar And Truhlar Attys PROPOSAL32Xuxue Feng
1031Emily W CaudyFrance2026-05-07Feltz Printing Service NEGOTIATION70Ioni Bowcher
1032Munro C MorascaJapan2026-05-08King, Christopher A Esq PROPOSAL44Xuxue Feng
1033Octavia D MarrierGermany2026-05-31Truhlar And Truhlar Attys UNQUALIFIED84Asiya Javayant
1034Silvio N MorascaItaly2026-05-31Buckley Miller Wright NEW98Amy Elsner
1035Mayumi U MorascaArgentina2026-05-25Chapman, Ross E Esq UNQUALIFIED57Amy Elsner
1036Johnson R VocelkaBrazil2026-05-28Truhlar And Truhlar Attys NEW55Amy Elsner
1037Greenwood V ChuiItaly2026-05-29Rousseaux, Michael Esq QUALIFIED79Stephen Shaw
1038Ivar T BowleyUnited Kingdom2026-05-31Truhlar And Truhlar Attys UNQUALIFIED80Onyama Limba
1039David Y StockhamJapan2026-05-18Chemel, James L Cpa PROPOSAL26Anna Fali
1040Leja G WhobreyBrazil2026-05-23Morlong Associates PROPOSAL42Xuxue Feng
1041Aruna A FollerFrance2026-05-17Chanay, Jeffrey A Esq UNQUALIFIED1Elwin Sharvill
1042Arvin Y SergiFrance2026-05-14Truhlar And Truhlar Attys NEGOTIATION77Amy Elsner
1043Sinclair W RutaArgentina2026-05-09Feltz Printing Service QUALIFIED61Asiya Javayant
1044Smith W DoeArgentina2026-05-25Buckley Miller Wright NEW60Ioni Bowcher
1045Salvatore G SaylorsCanada2026-05-06Printing Dimensions UNQUALIFIED71Amy Elsner
1046Francesco Y CampainSpain2026-05-29Feltz Printing Service NEGOTIATION42Stephen Shaw
1047Jefferson Y DoeGermany2026-05-06Truhlar And Truhlar Attys RENEWAL97Ioni Bowcher
1048Rodrigues B AlbaresGermany2026-05-22Chemel, James L Cpa RENEWAL57Asiya Javayant
1049Munro G TollnerBrazil2026-05-21Chanay, Jeffrey A Esq UNQUALIFIED98Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Isabel T BowleyBrazilXuxue Feng PROPOSAL
Morrow I GlickItalyAnna Fali NEW
Munro K ButtArgentinaOnyama Limba PROPOSAL
Jefferson R StensethFranceIoni Bowcher PROPOSAL
Ashley H WieserRussiaStephen Shaw RENEWAL
Ashley I BowleyAustraliaXuxue Feng NEGOTIATION
Aditya P MarrierJapanXuxue Feng NEW
Munro O BriddickAustraliaAnna Fali NEGOTIATION
Jones C CaudySpainBernardo Dominic PROPOSAL
Jeanfrancois F CaudyIndiaAsiya Javayant NEW
Kaitlin K SaylorsCanadaIoni Bowcher QUALIFIED
Claire Z ButtCanadaAsiya Javayant PROPOSAL
Darci Q RulapaughUnited KingdomAnna Fali RENEWAL
Costa H FlosiBrazilBernardo Dominic PROPOSAL
Ricardo B SergiJapanXuxue Feng RENEWAL
James M WaycottIndiaIoni Bowcher NEW
Jefferson T GillianJapanAnna Fali PROPOSAL
Emily J OstroskySpainIvan Magalhaes QUALIFIED
Jennifer R KuskoCanadaElwin Sharvill QUALIFIED
Aika H DoeUnited KingdomBernardo Dominic QUALIFIED
Munro M BowleyCanadaAmy Elsner NEGOTIATION
Adams K PoquetteArgentinaAmy Elsner PROPOSAL
Sinclair W MaletUnited KingdomAmy Elsner NEW
Munro I OldroydUnited KingdomIoni Bowcher QUALIFIED
Jennifer A WaycottSpainIvan Magalhaes NEW
Ivar P MaletJapanOnyama Limba NEGOTIATION
Julie L RulapaughAustraliaOnyama Limba NEGOTIATION
Costa B NestleFranceAsiya Javayant NEGOTIATION
Jones G AmigonUnited KingdomAmy Elsner RENEWAL
Darci G ShinkoUnited KingdomAsiya Javayant NEW
Claire B InouyeUnited KingdomAsiya Javayant NEW
Cody A PerinJapanElwin Sharvill RENEWAL
Kaitlin V GarufiAustraliaAnna Fali QUALIFIED
Clifford Z InouyeCanadaElwin Sharvill PROPOSAL
Mayumi N IturbideAustraliaAsiya Javayant UNQUALIFIED
Munro O VenereRussiaAnna Fali UNQUALIFIED
Stacey G InouyeIndiaAmy Elsner NEW
Leja J DarakjyJapanIoni Bowcher RENEWAL
Smith I VenereItalyStephen Shaw RENEWAL
Deepesh P VenereIndiaAsiya Javayant QUALIFIED
Johnson J RoysterBrazilElwin Sharvill RENEWAL
Jennifer X BowleyRussiaAsiya Javayant NEGOTIATION
Ashley C ShinkoUnited KingdomOnyama Limba PROPOSAL
Alejandro R DoeRussiaStephen Shaw NEW
Salvatore G WaycottArgentinaStephen Shaw NEW
Leja I GarufiJapanIoni Bowcher QUALIFIED
Silvio L MacleadIndiaAmy Elsner PROPOSAL
Rodrigues Y RutaJapanBernardo Dominic NEGOTIATION
Arvin E FlosiSpainAmy Elsner UNQUALIFIED
Ricardo J RutaArgentinaAnna Fali PROPOSAL
Frozen Columns
Name
Sinclair C Stenseth
Faith Z Campain
Jennifer T Wieser
Claire K Butt
Rodrigues W Rulapaugh
Wickens O Rim
Leja I Poquette
Misaki G Wieser
Leja S Butt
Antonio P Foller
Isabel X Slusarski
Murillo D Kusko
Costa O Perin
Darci U Garufi
Aika G Wieser
Silvio P Briddick
Munro U Venere
Mujtaba C Sergi
Leja R Iturbide
Leja Q Kusko
Tony Q Caldarera
Ricardo O Glick
Greenwood M Kolmetz
Antonio I Stockham
Ashley L Poquette
Mujtaba I Amigon
Francesco F Perin
Stacey N Malet
Kaitlin S Chui
Ashley E Iturbide
Emily S Royster
Isabel F Ostrosky
Adams Y Albares
Maria M Ostrosky
Chavez I Perin
Deepesh W Whobrey
Munro Y Dilliard
James X Slusarski
Leon B Schemmer
Chavez H Glick
Jefferson R Saylors
Chavez X Campain
Cody H Maclead
Kadeem A Ostrosky
Wickens C Caudy
Aditya P Malet
Jennifer S Stenseth
Chavez L Foller
Jennifer M Glick
Julie X Perin
IdCountryDate
1000India2026-05-27
1001Spain2026-05-09
1002Brazil2026-05-11
1003Japan2026-05-19
1004India2026-05-16
1005Germany2026-05-17
1006Canada2026-05-16
1007Canada2026-05-05
1008France2026-05-16
1009Spain2026-06-03
1010Argentina2026-05-22
1011Russia2026-05-27
1012Australia2026-05-13
1013France2026-05-25
1014Australia2026-05-22
1015Japan2026-05-06
1016Argentina2026-05-16
1017Australia2026-05-19
1018Italy2026-05-10
1019Spain2026-05-25
1020Japan2026-05-24
1021Argentina2026-05-13
1022United Kingdom2026-05-25
1023United Kingdom2026-05-31
1024India2026-05-07
1025Spain2026-05-23
1026Spain2026-05-21
1027Japan2026-05-14
1028Argentina2026-05-17
1029Russia2026-05-13
1030Russia2026-05-28
1031Japan2026-05-28
1032Italy2026-05-22
1033India2026-05-25
1034Spain2026-05-29
1035Italy2026-05-10
1036France2026-05-05
1037India2026-05-25
1038Australia2026-05-11
1039Italy2026-06-03
1040India2026-05-18
1041Germany2026-05-06
1042Canada2026-05-22
1043Japan2026-05-26
1044Brazil2026-05-24
1045Brazil2026-05-25
1046United Kingdom2026-05-30
1047India2026-05-10
1048Brazil2026-05-13
1049Italy2026-05-08

On-Demand Data

NameIdCountryDate
Tony Q Perin1000Australia2026-05-23
Izzy X Glick1001France2026-05-13
Chavez O Kusko1002France2026-05-21
Nicolas R Nestle1003France2026-05-07
Munro E Stenseth1004Russia2026-05-10
Rodrigues I Stockham1005Australia2026-06-03
Stacey C Stockham1006Canada2026-05-27
Misaki C Saylors1007United Kingdom2026-05-05
Adams P Oldroyd1008France2026-05-28
Antonio B Iturbide1009Brazil2026-05-29
Morrow T Oldroyd1010United Kingdom2026-06-02
Ricardo V Malet1011Brazil2026-05-22
Francesco Q Flosi1012Japan2026-05-12
Johnson M Tollner1013Australia2026-05-12
James N Saylors1014Spain2026-05-08
Maisha U Kusko1015United Kingdom2026-05-31
Arvin T Poquette1016Argentina2026-06-03
Stacey Y Slusarski1017Russia2026-05-19
Misaki U Venere1018Argentina2026-05-29
Alejandro H Nicka1019Australia2026-05-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair T SlusarskiSpainIvan Magalhaes NEW
Cody D RoysterCanadaOnyama Limba NEGOTIATION
Darci P GillianBrazilAsiya Javayant RENEWAL
Johnson W DarakjyJapanOnyama Limba NEW
Arvin B DoeRussiaOnyama Limba NEW
Alejandro A MorascaGermanyStephen Shaw UNQUALIFIED
Kaitlin V FerenczBrazilAsiya Javayant RENEWAL
Jennifer T KuskoFranceIoni Bowcher RENEWAL
Francesco W SergiUnited KingdomIvan Magalhaes UNQUALIFIED
Ashley N IturbideIndiaIvan Magalhaes UNQUALIFIED
James S FlosiIndiaOnyama Limba PROPOSAL
Claire I FigeroaJapanIoni Bowcher UNQUALIFIED
Clifford G TollnerJapanIoni Bowcher QUALIFIED
Mayumi S SchemmerIndiaIoni Bowcher QUALIFIED
Kadeem J WaycottAustraliaIvan Magalhaes QUALIFIED
Antonio P ButtFranceAsiya Javayant PROPOSAL
Sinclair C GarufiJapanXuxue Feng UNQUALIFIED
Deepesh A SchemmerIndiaOnyama Limba QUALIFIED
Jennifer Y FerenczItalyXuxue Feng NEW
Salvatore V DarakjyIndiaIoni Bowcher RENEWAL
Murillo Z InouyeUnited KingdomElwin Sharvill PROPOSAL
Wickens V MaletGermanyElwin Sharvill PROPOSAL
Leon H DoeAustraliaXuxue Feng NEW
Leja Q GarufiSpainOnyama Limba NEW
Clifford O SaylorsBrazilIvan Magalhaes NEGOTIATION
Maria N TollnerGermanyXuxue Feng UNQUALIFIED
Stacey S RulapaughGermanyIvan Magalhaes PROPOSAL
Claire K GlickAustraliaIoni Bowcher RENEWAL
Maisha P IturbideItalyIoni Bowcher QUALIFIED
Smith U RulapaughItalyBernardo Dominic QUALIFIED
Kadeem V FollerGermanyAmy Elsner NEW
Darci Y GarufiSpainAsiya Javayant QUALIFIED
Rodrigues V RimFranceXuxue Feng NEGOTIATION
Antonio S RulapaughFranceXuxue Feng NEGOTIATION
Tony I MaletArgentinaElwin Sharvill UNQUALIFIED
James P GlickCanadaAsiya Javayant UNQUALIFIED
Mujtaba H DarakjyIndiaXuxue Feng PROPOSAL
Stacey C SaylorsSpainAsiya Javayant NEGOTIATION
Sinclair Q OstroskyUnited KingdomAmy Elsner RENEWAL
Mujtaba N WieserJapanIvan Magalhaes NEGOTIATION

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