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
Aditya D DarakjyGermanyAsiya Javayant NEGOTIATION
James B RoysterAustraliaStephen Shaw PROPOSAL
Kaitlin Y ShinkoBrazilAsiya Javayant UNQUALIFIED
David T OldroydItalyStephen Shaw NEW
Rodrigues G RutaGermanyAmy Elsner PROPOSAL
Isabel A MacleadAustraliaElwin Sharvill UNQUALIFIED
Deepesh J BologniaRussiaOnyama Limba RENEWAL
Johnson I BowleyIndiaElwin Sharvill PROPOSAL
Maria J RutaArgentinaXuxue Feng RENEWAL
David E BriddickItalyBernardo Dominic PROPOSAL
Morrow I AmigonGermanyAmy Elsner QUALIFIED
Misaki P WieserBrazilXuxue Feng QUALIFIED
Leja H SaylorsJapanIvan Magalhaes QUALIFIED
Maria J FlosiItalyAnna Fali UNQUALIFIED
Nicolas H TollnerArgentinaIvan Magalhaes NEW
Munro J PerinGermanyOnyama Limba NEW
Tony I MarrierJapanIvan Magalhaes NEW
James V FlosiFranceIoni Bowcher NEW
Ricardo D MacleadItalyXuxue Feng QUALIFIED
Juan U IturbideGermanyBernardo Dominic NEGOTIATION
Isabel Y GauchoAustraliaAnna Fali UNQUALIFIED
James E InouyeItalyIoni Bowcher RENEWAL
Wickens G SaylorsGermanyIoni Bowcher PROPOSAL
Smith S MacleadJapanIoni Bowcher UNQUALIFIED
Izzy F StockhamAustraliaIvan Magalhaes QUALIFIED
Faith Y IturbideItalyElwin Sharvill NEW
Aditya W PoquetteCanadaAnna Fali NEGOTIATION
Mayumi T RimUnited KingdomIvan Magalhaes QUALIFIED
Leon R NestleCanadaAsiya Javayant NEW
Jones V TollnerItalyAsiya Javayant RENEWAL
Adams R StensethGermanyAsiya Javayant UNQUALIFIED
David I IturbideAustraliaAmy Elsner RENEWAL
Murillo T PaprockiCanadaAsiya Javayant RENEWAL
Murillo K MaletCanadaAmy Elsner QUALIFIED
Francesco O ChuiGermanyXuxue Feng PROPOSAL
Deepesh S MorascaJapanElwin Sharvill RENEWAL
Juan O StockhamArgentinaAmy Elsner NEGOTIATION
Jennifer Y PaprockiRussiaAsiya Javayant QUALIFIED
Johnson A GauchoJapanIoni Bowcher RENEWAL
Arvin K OstroskyBrazilAnna Fali QUALIFIED
Aruna B RimFranceBernardo Dominic QUALIFIED
Kaitlin A WhobreyIndiaIoni Bowcher PROPOSAL
Misaki D ShinkoSpainAmy Elsner UNQUALIFIED
Jeanfrancois X TollnerCanadaIvan Magalhaes QUALIFIED
Faith K MaletJapanAnna Fali UNQUALIFIED
Mayumi E DilliardArgentinaAmy Elsner UNQUALIFIED
Chavez H SergiItalyAmy Elsner PROPOSAL
Clifford J BologniaArgentinaAsiya Javayant PROPOSAL
Arvin I FlosiFranceAmy Elsner UNQUALIFIED
Cody S FigeroaGermanyStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci B MorascaRussiaBernardo Dominic NEGOTIATION
Chavez D StockhamSpainAnna Fali NEW
Rodrigues J WhobreyUnited KingdomBernardo Dominic RENEWAL
Claire C FlosiAustraliaXuxue Feng NEGOTIATION
Cody A RoysterAustraliaBernardo Dominic NEGOTIATION
Stacey M IturbideCanadaAsiya Javayant UNQUALIFIED
Kaitlin M CaudyItalyAmy Elsner RENEWAL
Mayumi U RulapaughCanadaAsiya Javayant NEGOTIATION
Leja P MaletArgentinaIvan Magalhaes NEW
Jeanfrancois V ShinkoBrazilIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia C NickaSpain2026-05-26Morlong Associates UNQUALIFIED45Anna Fali
1001Ivar S GauchoGermany2026-05-27Chapman, Ross E Esq PROPOSAL59Ivan Magalhaes
1002Jennifer X OldroydAustralia2026-05-22King, Christopher A Esq NEW75Elwin Sharvill
1003Smith P PoquetteCanada2026-06-03Chanay, Jeffrey A Esq RENEWAL30Xuxue Feng
1004Izzy M StockhamRussia2026-06-09Chapman, Ross E Esq UNQUALIFIED21Bernardo Dominic
1005Emily Z RimUnited Kingdom2026-06-05Printing Dimensions UNQUALIFIED95Elwin Sharvill
1006Jeanfrancois C MacleadJapan2026-06-15Chemel, James L Cpa QUALIFIED86Amy Elsner
1007Morrow Z KuskoIndia2026-06-11Feltz Printing Service UNQUALIFIED79Onyama Limba
1008Silvio N SchemmerGermany2026-05-19Commercial Press QUALIFIED86Onyama Limba
1009Julie Y StockhamArgentina2026-06-13Rousseaux, Michael Esq QUALIFIED59Xuxue Feng
1010Clifford S BologniaSpain2026-06-07King, Christopher A Esq NEGOTIATION68Stephen Shaw
1011Aruna A MacleadItaly2026-06-13Dorl, James J Esq RENEWAL17Amy Elsner
1012Aika J PoquetteArgentina2026-05-18Printing Dimensions RENEWAL61Asiya Javayant
1013Clifford J MaletCanada2026-05-25Rangoni Of Florence NEW71Stephen Shaw
1014Stacey X WieserFrance2026-06-07Feiner Bros RENEWAL28Stephen Shaw
1015Wickens T NestleArgentina2026-06-09Chemel, James L Cpa QUALIFIED28Elwin Sharvill
1016Costa T OstroskyIndia2026-05-21Chanay, Jeffrey A Esq NEW90Stephen Shaw
1017Francesco T SaylorsRussia2026-05-28Chanay, Jeffrey A Esq RENEWAL26Xuxue Feng
1018Stacey A WhobreyItaly2026-06-02Commercial Press PROPOSAL99Xuxue Feng
1019Adams P PerinItaly2026-05-17Rousseaux, Michael Esq UNQUALIFIED22Onyama Limba
1020Nicolas N MarrierIndia2026-05-24Truhlar And Truhlar Attys QUALIFIED45Xuxue Feng
1021Misaki S BowleyUnited Kingdom2026-05-24Chapman, Ross E Esq QUALIFIED36Onyama Limba
1022Maisha N FollerItaly2026-06-08Rousseaux, Michael Esq QUALIFIED60Ioni Bowcher
1023Smith I RutaSpain2026-06-02Chemel, James L Cpa RENEWAL5Stephen Shaw
1024James C FlosiIndia2026-06-03Truhlar And Truhlar Attys NEW56Onyama Limba
1025Sinclair C CaldareraIndia2026-05-18Benton, John B Jr NEW4Amy Elsner
1026Octavia G BologniaUnited Kingdom2026-06-05Truhlar And Truhlar Attys NEGOTIATION84Anna Fali
1027Cody V OldroydAustralia2026-05-28Printing Dimensions PROPOSAL56Anna Fali
1028Isabel J NestleBrazil2026-05-20King, Christopher A Esq NEGOTIATION98Ioni Bowcher
1029Salvatore X TollnerAustralia2026-05-19Morlong Associates RENEWAL76Anna Fali
1030Claire V NickaCanada2026-06-12Morlong Associates RENEWAL81Bernardo Dominic
1031Johnson M BowleyBrazil2026-06-05Chapman, Ross E Esq PROPOSAL31Onyama Limba
1032Sinclair L AlbaresFrance2026-05-24Chanay, Jeffrey A Esq RENEWAL40Elwin Sharvill
1033Clifford R InouyeSpain2026-05-19Rangoni Of Florence RENEWAL39Amy Elsner
1034Johnson F DoeIndia2026-06-06Truhlar And Truhlar Attys NEGOTIATION0Ivan Magalhaes
1035Cody T KuskoUnited Kingdom2026-05-18Feiner Bros PROPOSAL56Onyama Limba
1036Nicolas X MacleadCanada2026-06-01Chemel, James L Cpa PROPOSAL67Stephen Shaw
1037Johnson S VenereFrance2026-06-01Dorl, James J Esq QUALIFIED63Onyama Limba
1038Ashley L TollnerAustralia2026-05-26Feltz Printing Service QUALIFIED47Amy Elsner
1039Stacey T PoquetteSpain2026-06-13Truhlar And Truhlar Attys RENEWAL36Elwin Sharvill
1040Adams E BologniaUnited Kingdom2026-05-17Morlong Associates QUALIFIED56Xuxue Feng
1041Jefferson A FlosiCanada2026-05-19Chapman, Ross E Esq UNQUALIFIED19Onyama Limba
1042Jeanfrancois O WieserGermany2026-05-26Feiner Bros QUALIFIED97Anna Fali
1043Jeanfrancois S PoquetteIndia2026-05-17Benton, John B Jr NEW98Stephen Shaw
1044Johnson E WaycottGermany2026-05-19Benton, John B Jr NEGOTIATION44Ivan Magalhaes
1045Smith K BologniaFrance2026-06-07Chapman, Ross E Esq QUALIFIED4Asiya Javayant
1046Emily J CaldareraFrance2026-05-23Feltz Printing Service NEGOTIATION72Ioni Bowcher
1047Cody G BowleyRussia2026-05-21King, Christopher A Esq UNQUALIFIED25Bernardo Dominic
1048Jennifer F NestleGermany2026-06-08Dorl, James J Esq RENEWAL34Anna Fali
1049Julie D FigeroaBrazil2026-06-04Feltz Printing Service QUALIFIED75Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Stacey W StockhamSpainStephen Shaw RENEWAL
Tony E RimItalyAmy Elsner UNQUALIFIED
Jeanfrancois G VenereRussiaBernardo Dominic QUALIFIED
Mayumi X SchemmerJapanXuxue Feng NEW
Arvin B WhobreyCanadaStephen Shaw QUALIFIED
Aika I BologniaGermanyElwin Sharvill UNQUALIFIED
Chavez W ButtCanadaIoni Bowcher NEW
Wickens A BriddickArgentinaAnna Fali PROPOSAL
Leja L IturbideAustraliaOnyama Limba QUALIFIED
Isabel Z CaldareraGermanyAnna Fali UNQUALIFIED
James P RimItalyElwin Sharvill NEGOTIATION
Cody S FlosiUnited KingdomOnyama Limba QUALIFIED
Silvio J FollerUnited KingdomBernardo Dominic PROPOSAL
Adams C SchemmerFranceAsiya Javayant NEGOTIATION
Juan Y WhobreyUnited KingdomAmy Elsner PROPOSAL
Juan U VenereBrazilXuxue Feng NEGOTIATION
Jefferson A InouyeGermanyIoni Bowcher PROPOSAL
Adams Y ShinkoIndiaIoni Bowcher RENEWAL
Costa K BowleyIndiaAmy Elsner NEGOTIATION
Maria N TollnerJapanBernardo Dominic UNQUALIFIED
Deepesh J GauchoCanadaIvan Magalhaes NEGOTIATION
Munro O SlusarskiAustraliaAsiya Javayant QUALIFIED
Greenwood P FollerBrazilXuxue Feng PROPOSAL
Maisha Z DilliardUnited KingdomIoni Bowcher NEW
Antonio Q PoquetteItalyXuxue Feng NEGOTIATION
Claire B RimFranceBernardo Dominic RENEWAL
Maria I TollnerGermanyOnyama Limba QUALIFIED
Kaitlin G ChuiCanadaElwin Sharvill NEGOTIATION
Aditya U NickaJapanIoni Bowcher PROPOSAL
Octavia R MarrierIndiaAnna Fali PROPOSAL
Arvin V KuskoIndiaElwin Sharvill NEW
Johnson I NickaArgentinaAnna Fali NEGOTIATION
Deepesh J MacleadCanadaIvan Magalhaes NEW
Aika N GillianBrazilXuxue Feng RENEWAL
James B RimRussiaIvan Magalhaes NEW
Jefferson P VenereGermanyAsiya Javayant RENEWAL
Deepesh R GarufiFranceStephen Shaw UNQUALIFIED
Maria F RimItalyAnna Fali RENEWAL
Murillo N VenereSpainStephen Shaw UNQUALIFIED
Jefferson H GlickBrazilElwin Sharvill QUALIFIED
Greenwood I PoquetteCanadaBernardo Dominic NEW
Claire E PoquetteGermanyAnna Fali NEW
Rodrigues O GarufiIndiaAnna Fali UNQUALIFIED
Ivar J ShinkoUnited KingdomXuxue Feng PROPOSAL
Julie K KolmetzItalyOnyama Limba UNQUALIFIED
Rodrigues W DilliardRussiaOnyama Limba RENEWAL
Silvio W PoquetteUnited KingdomIvan Magalhaes PROPOSAL
Julie H MacleadIndiaBernardo Dominic QUALIFIED
Isabel D InouyeCanadaAnna Fali UNQUALIFIED
Faith E GillianJapanIvan Magalhaes QUALIFIED
Frozen Columns
Name
Wickens I Bolognia
Jones P Ferencz
Jones X Gaucho
Tony S Doe
Isabel I Schemmer
Clifford Y Iturbide
Faith V Darakjy
Deepesh F Saylors
Chavez H Bolognia
Rodrigues D Chui
Arvin Q Schemmer
Darci K Sergi
Murillo N Shinko
Aruna N Morasca
Leja I Briddick
Aruna E Darakjy
Emily S Darakjy
Leja J Ruta
Izzy Z Ostrosky
Johnson D Garufi
Cody J Chui
Jeanfrancois Q Stenseth
Aika J Foller
Jefferson Y Flosi
Smith G Bolognia
Kaitlin D Ferencz
Francesco E Nicka
Munro I Garufi
Arvin C Whobrey
Jennifer Y Oldroyd
Ivar B Waycott
Darci L Nestle
Octavia F Inouye
Maisha V Vocelka
Mujtaba F Venere
Darci S Rim
Smith D Tollner
Nicolas S Rim
Stacey M Gillian
Mujtaba P Ferencz
Aditya O Inouye
Costa K Poquette
Johnson M Slusarski
Aditya I Nestle
Greenwood W Paprocki
Claire T Flosi
Emily I Oldroyd
Smith G Campain
Clifford X Caldarera
Julie O Bowley
IdCountryDate
1000Germany2026-05-19
1001Argentina2026-05-31
1002United Kingdom2026-05-29
1003Russia2026-06-04
1004Canada2026-06-06
1005United Kingdom2026-05-24
1006Germany2026-05-24
1007Canada2026-06-13
1008Argentina2026-05-17
1009United Kingdom2026-05-22
1010Brazil2026-06-01
1011Japan2026-05-27
1012Brazil2026-06-03
1013Australia2026-06-09
1014Spain2026-06-15
1015India2026-05-31
1016Argentina2026-06-06
1017Australia2026-05-18
1018United Kingdom2026-06-03
1019Japan2026-05-26
1020Brazil2026-06-03
1021Australia2026-06-06
1022Russia2026-06-15
1023Canada2026-06-11
1024France2026-05-28
1025Canada2026-05-20
1026India2026-06-01
1027Russia2026-06-04
1028Italy2026-06-09
1029France2026-05-24
1030France2026-05-22
1031India2026-05-28
1032Germany2026-05-27
1033Canada2026-06-04
1034Russia2026-06-09
1035Japan2026-05-31
1036Brazil2026-05-27
1037Germany2026-05-23
1038Australia2026-06-04
1039India2026-05-29
1040United Kingdom2026-06-10
1041Italy2026-06-13
1042Russia2026-05-29
1043Australia2026-06-10
1044Canada2026-05-27
1045Australia2026-06-11
1046Italy2026-05-23
1047Japan2026-05-29
1048Canada2026-05-20
1049Russia2026-06-14

On-Demand Data

NameIdCountryDate
Juan D Ruta1000Argentina2026-06-02
Antonio I Bolognia1001Russia2026-05-19
Greenwood I Foller1002Russia2026-06-15
Kadeem X Oldroyd1003Italy2026-05-19
Emily C Campain1004Argentina2026-05-27
Leja H Perin1005United Kingdom2026-05-25
Misaki K Wieser1006Italy2026-05-27
Sinclair A Schemmer1007Germany2026-06-10
Silvio S Ferencz1008Argentina2026-05-29
Izzy F Paprocki1009Brazil2026-05-26
Emily I Gillian1010Japan2026-05-25
Smith N Whobrey1011India2026-06-02
Ricardo Y Stockham1012France2026-05-30
Greenwood P Oldroyd1013Russia2026-06-04
Mujtaba L Waycott1014Canada2026-06-08
Smith H Flosi1015Argentina2026-05-28
David J Darakjy1016Italy2026-06-06
James H Shinko1017Italy2026-06-07
Silvio E Kolmetz1018Russia2026-06-09
Costa G Shinko1019France2026-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith J FigeroaIndiaXuxue Feng NEGOTIATION
Leja A RimUnited KingdomAmy Elsner QUALIFIED
Murillo I NickaJapanStephen Shaw NEGOTIATION
Isabel P SaylorsAustraliaAnna Fali NEW
Rodrigues B RutaCanadaIoni Bowcher NEGOTIATION
Maria R WhobreyUnited KingdomAnna Fali NEGOTIATION
Leon S CaudyJapanXuxue Feng NEGOTIATION
Kaitlin A CampainItalyIoni Bowcher UNQUALIFIED
Clifford R NickaJapanIoni Bowcher QUALIFIED
Stacey X IturbideRussiaAsiya Javayant UNQUALIFIED
Kadeem O SaylorsRussiaOnyama Limba NEGOTIATION
Munro P RoysterAustraliaAmy Elsner QUALIFIED
Jeanfrancois P ShinkoGermanyBernardo Dominic NEW
David U MacleadRussiaBernardo Dominic QUALIFIED
Costa G OstroskyCanadaAmy Elsner RENEWAL
Emily S FlosiRussiaElwin Sharvill PROPOSAL
Maisha J FlosiUnited KingdomStephen Shaw UNQUALIFIED
Tony J FollerItalyAmy Elsner RENEWAL
Maria A KuskoArgentinaAmy Elsner NEW
Leja Z FollerBrazilXuxue Feng PROPOSAL
Wickens E ChuiArgentinaIvan Magalhaes NEGOTIATION
Rodrigues J MorascaArgentinaAmy Elsner UNQUALIFIED
Stacey A RimItalyOnyama Limba UNQUALIFIED
Tony G FerenczSpainAsiya Javayant NEGOTIATION
Costa D NestleSpainIvan Magalhaes QUALIFIED
Jennifer A CaldareraRussiaStephen Shaw RENEWAL
Cody C VocelkaFranceAnna Fali NEW
Deepesh E BriddickRussiaOnyama Limba PROPOSAL
Jefferson J VocelkaArgentinaIoni Bowcher UNQUALIFIED
Stacey X CaudyFranceBernardo Dominic NEW
Aika I KolmetzBrazilAnna Fali QUALIFIED
Johnson K IturbideArgentinaElwin Sharvill QUALIFIED
Misaki S MarrierIndiaAnna Fali PROPOSAL
Alejandro D RoysterIndiaAmy Elsner UNQUALIFIED
Rodrigues Z NestleFranceIvan Magalhaes NEGOTIATION
James S InouyeGermanyXuxue Feng UNQUALIFIED
Maria E PerinJapanXuxue Feng PROPOSAL
Costa X SaylorsBrazilStephen Shaw QUALIFIED
Maria G RutaIndiaXuxue Feng RENEWAL
Nicolas N PerinUnited KingdomStephen Shaw 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>

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.