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
Jeanfrancois U SlusarskiSpainXuxue Feng PROPOSAL
Aika L WieserItalyIvan Magalhaes UNQUALIFIED
Jeanfrancois R GauchoGermanyAsiya Javayant RENEWAL
Darci Q RimJapanOnyama Limba UNQUALIFIED
Deepesh K PoquetteCanadaAmy Elsner UNQUALIFIED
Murillo C BriddickArgentinaBernardo Dominic NEW
Julie A MarrierAustraliaIvan Magalhaes NEW
Leja D NestleCanadaAnna Fali PROPOSAL
Tony D ShinkoAustraliaElwin Sharvill NEW
Francesco Q FerenczGermanyIoni Bowcher RENEWAL
Nicolas P RoysterSpainOnyama Limba QUALIFIED
Greenwood W AmigonIndiaElwin Sharvill NEW
Antonio O AmigonGermanyBernardo Dominic QUALIFIED
Emily L SlusarskiAustraliaIoni Bowcher PROPOSAL
Deepesh G NickaJapanBernardo Dominic RENEWAL
Jefferson P RulapaughArgentinaAsiya Javayant UNQUALIFIED
Faith N OldroydGermanyIvan Magalhaes QUALIFIED
Rodrigues X StockhamAustraliaXuxue Feng PROPOSAL
Jennifer P VenereIndiaAnna Fali NEW
Murillo K CampainBrazilStephen Shaw UNQUALIFIED
Wickens C AlbaresAustraliaIoni Bowcher QUALIFIED
Costa A VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
David C PerinUnited KingdomAnna Fali NEW
Arvin Q GarufiAustraliaIvan Magalhaes QUALIFIED
David P RoysterJapanBernardo Dominic RENEWAL
Aruna G RutaCanadaBernardo Dominic QUALIFIED
Jennifer V ShinkoGermanyAmy Elsner NEGOTIATION
Kadeem B KolmetzUnited KingdomIoni Bowcher NEGOTIATION
Leja K PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Octavia L AmigonRussiaOnyama Limba NEW
Deepesh C DarakjyGermanyAnna Fali RENEWAL
David E StockhamJapanAnna Fali PROPOSAL
Morrow Y NestleIndiaOnyama Limba UNQUALIFIED
Maisha V OstroskyFranceAsiya Javayant RENEWAL
Isabel W RutaFranceIvan Magalhaes RENEWAL
Mayumi S WhobreyRussiaIoni Bowcher RENEWAL
Kadeem I SergiIndiaStephen Shaw RENEWAL
Isabel T SergiUnited KingdomIvan Magalhaes PROPOSAL
Jefferson H RutaFranceElwin Sharvill NEW
Jennifer R StensethArgentinaBernardo Dominic UNQUALIFIED
Aditya P ShinkoGermanyAnna Fali UNQUALIFIED
Octavia A ShinkoJapanIoni Bowcher QUALIFIED
Jones G StockhamJapanAsiya Javayant PROPOSAL
Maria S CaldareraItalyIvan Magalhaes PROPOSAL
Aditya C SaylorsCanadaIvan Magalhaes QUALIFIED
Ashley Z WhobreyUnited KingdomIvan Magalhaes NEGOTIATION
Maisha J AlbaresIndiaAnna Fali RENEWAL
Wickens H RoysterIndiaStephen Shaw PROPOSAL
Leon F DoeItalyElwin Sharvill UNQUALIFIED
Wickens G MorascaArgentinaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Aditya H SchemmerCanadaElwin Sharvill NEW
Leja X CaldareraJapanAsiya Javayant PROPOSAL
Rodrigues C GlickCanadaAmy Elsner QUALIFIED
Aruna K BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Jones M MarrierJapanStephen Shaw NEGOTIATION
Maisha B SchemmerJapanOnyama Limba UNQUALIFIED
Alejandro N PerinUnited KingdomAnna Fali UNQUALIFIED
Aditya W BologniaAustraliaAsiya Javayant NEGOTIATION
Smith E WhobreyJapanIvan Magalhaes NEW
Aruna P BologniaUnited KingdomOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones V FigeroaIndia2026-04-09Buckley Miller Wright NEW76Stephen Shaw
1001Tony P StensethGermany2026-04-03Dorl, James J Esq QUALIFIED28Elwin Sharvill
1002Nicolas M PoquetteSpain2026-04-09Buckley Miller Wright RENEWAL32Ioni Bowcher
1003Aika N CaldareraFrance2026-04-09Rangoni Of Florence NEW30Asiya Javayant
1004Mayumi T OstroskyCanada2026-03-19Chapman, Ross E Esq PROPOSAL34Amy Elsner
1005Ricardo Q ButtAustralia2026-03-12Buckley Miller Wright UNQUALIFIED67Xuxue Feng
1006Adams X VenereBrazil2026-03-31Commercial Press QUALIFIED21Bernardo Dominic
1007Arvin S VenereItaly2026-04-08Feiner Bros NEW14Ivan Magalhaes
1008David P VocelkaIndia2026-03-14Morlong Associates UNQUALIFIED88Anna Fali
1009Clifford V DilliardJapan2026-03-17Feiner Bros PROPOSAL99Xuxue Feng
1010Darci R CampainAustralia2026-04-08Rangoni Of Florence NEW80Stephen Shaw
1011Tony D WieserAustralia2026-03-17Chapman, Ross E Esq QUALIFIED61Anna Fali
1012Rodrigues N StensethGermany2026-03-30Benton, John B Jr NEGOTIATION97Onyama Limba
1013Ashley V VocelkaIndia2026-04-07Buckley Miller Wright NEW29Elwin Sharvill
1014Kaitlin A NestleItaly2026-04-08Chemel, James L Cpa PROPOSAL78Anna Fali
1015Maisha H ChuiArgentina2026-04-10Printing Dimensions NEGOTIATION85Ivan Magalhaes
1016Misaki N FlosiBrazil2026-03-25Dorl, James J Esq NEW50Amy Elsner
1017Ashley Q DarakjyCanada2026-04-05Chapman, Ross E Esq QUALIFIED96Asiya Javayant
1018Francesco E DilliardBrazil2026-04-03Rangoni Of Florence UNQUALIFIED30Onyama Limba
1019Jeanfrancois U VenereArgentina2026-04-09King, Christopher A Esq UNQUALIFIED79Xuxue Feng
1020James X SlusarskiAustralia2026-04-01Feltz Printing Service NEW18Ivan Magalhaes
1021Izzy N CaudyItaly2026-04-10Benton, John B Jr NEGOTIATION96Ivan Magalhaes
1022Munro Q InouyeIndia2026-03-28Chanay, Jeffrey A Esq RENEWAL8Stephen Shaw
1023Rodrigues W WaycottGermany2026-03-24King, Christopher A Esq NEW98Onyama Limba
1024James G ChuiCanada2026-04-03Feiner Bros QUALIFIED0Ivan Magalhaes
1025Isabel Y AlbaresItaly2026-03-18Dorl, James J Esq UNQUALIFIED47Elwin Sharvill
1026Silvio F KuskoSpain2026-04-10Rousseaux, Michael Esq UNQUALIFIED29Elwin Sharvill
1027Kadeem A AlbaresCanada2026-03-25Rangoni Of Florence PROPOSAL46Elwin Sharvill
1028Costa N DilliardCanada2026-03-15Rousseaux, Michael Esq QUALIFIED68Anna Fali
1029Greenwood F BowleyIndia2026-03-16Printing Dimensions QUALIFIED18Asiya Javayant
1030Alejandro H NestleArgentina2026-03-22Feltz Printing Service NEW11Ivan Magalhaes
1031Jones T RoysterArgentina2026-03-30Rangoni Of Florence QUALIFIED63Elwin Sharvill
1032Darci Z SergiIndia2026-03-14Morlong Associates NEW5Asiya Javayant
1033Wickens C FlosiUnited Kingdom2026-03-27King, Christopher A Esq NEW21Stephen Shaw
1034Salvatore Y WaycottBrazil2026-04-03Rousseaux, Michael Esq PROPOSAL86Stephen Shaw
1035Ricardo H VenereIndia2026-04-01Chemel, James L Cpa RENEWAL22Xuxue Feng
1036Ricardo L MacleadArgentina2026-03-30Chemel, James L Cpa UNQUALIFIED81Anna Fali
1037Misaki V StockhamCanada2026-03-18Feiner Bros UNQUALIFIED2Ioni Bowcher
1038Kadeem E StockhamIndia2026-03-29Truhlar And Truhlar Attys PROPOSAL17Stephen Shaw
1039Octavia M MarrierIndia2026-03-12Truhlar And Truhlar Attys NEGOTIATION93Xuxue Feng
1040Jefferson Y MaletJapan2026-04-02Feiner Bros UNQUALIFIED30Xuxue Feng
1041Adams Q AlbaresBrazil2026-03-27Printing Dimensions RENEWAL99Bernardo Dominic
1042Claire E TollnerArgentina2026-03-15Benton, John B Jr NEGOTIATION75Ioni Bowcher
1043Clifford K KolmetzFrance2026-04-06Morlong Associates UNQUALIFIED84Bernardo Dominic
1044Jones L CaldareraArgentina2026-03-13Commercial Press QUALIFIED36Ioni Bowcher
1045Ricardo X FerenczItaly2026-03-30Chapman, Ross E Esq QUALIFIED78Bernardo Dominic
1046Murillo V MaletSpain2026-04-09Rangoni Of Florence NEGOTIATION66Ivan Magalhaes
1047Nicolas A FerenczIndia2026-04-02Chapman, Ross E Esq PROPOSAL32Bernardo Dominic
1048Salvatore F KolmetzJapan2026-03-31Rangoni Of Florence PROPOSAL80Xuxue Feng
1049Maria N VocelkaJapan2026-03-17Truhlar And Truhlar Attys PROPOSAL7Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Alejandro A InouyeItalyIvan Magalhaes UNQUALIFIED
David M PoquetteSpainOnyama Limba RENEWAL
Deepesh D SchemmerBrazilAnna Fali QUALIFIED
James G DilliardAustraliaOnyama Limba UNQUALIFIED
Juan C GlickArgentinaBernardo Dominic RENEWAL
Alejandro V MorascaCanadaIoni Bowcher NEGOTIATION
Kaitlin C BriddickFranceElwin Sharvill PROPOSAL
Ashley M RutaBrazilXuxue Feng UNQUALIFIED
Greenwood P BologniaSpainIoni Bowcher UNQUALIFIED
Faith U RutaRussiaAsiya Javayant NEW
Jennifer T WhobreyJapanXuxue Feng UNQUALIFIED
Jeanfrancois M SergiSpainIvan Magalhaes QUALIFIED
Morrow Q IturbideGermanyIvan Magalhaes PROPOSAL
Juan U TollnerIndiaXuxue Feng NEGOTIATION
Costa V ShinkoItalyOnyama Limba PROPOSAL
Murillo V ButtUnited KingdomElwin Sharvill UNQUALIFIED
James Q StensethJapanIoni Bowcher QUALIFIED
Jeanfrancois H BologniaJapanStephen Shaw NEW
Jones Q SaylorsJapanOnyama Limba PROPOSAL
Adams Y OldroydAustraliaIoni Bowcher NEGOTIATION
Francesco A OstroskyBrazilIoni Bowcher PROPOSAL
Aika Y BowleyRussiaAmy Elsner UNQUALIFIED
Arvin X FollerCanadaOnyama Limba NEGOTIATION
Tony L OldroydIndiaElwin Sharvill NEW
Mayumi M KuskoIndiaIoni Bowcher UNQUALIFIED
Adams G StensethArgentinaElwin Sharvill NEW
David F RimBrazilStephen Shaw QUALIFIED
Murillo I InouyeFranceElwin Sharvill RENEWAL
Chavez Z CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Cody P CampainItalyElwin Sharvill RENEWAL
Maisha B MaletAustraliaElwin Sharvill PROPOSAL
Nicolas H WieserSpainAnna Fali PROPOSAL
Ivar F BowleyJapanOnyama Limba UNQUALIFIED
Wickens U MaletJapanIvan Magalhaes QUALIFIED
Jefferson F PaprockiCanadaElwin Sharvill RENEWAL
Stacey X WhobreyFranceBernardo Dominic QUALIFIED
Rodrigues W MaletAustraliaIoni Bowcher UNQUALIFIED
Johnson C DarakjyItalyAnna Fali PROPOSAL
Faith K SaylorsUnited KingdomIoni Bowcher QUALIFIED
Cody N StensethAustraliaBernardo Dominic NEGOTIATION
Clifford C SchemmerRussiaElwin Sharvill NEW
Antonio X ShinkoItalyAsiya Javayant RENEWAL
Deepesh W RulapaughJapanStephen Shaw UNQUALIFIED
Antonio K VocelkaFranceBernardo Dominic NEW
Antonio A BriddickUnited KingdomAmy Elsner PROPOSAL
Greenwood V BowleyArgentinaAsiya Javayant UNQUALIFIED
Munro W OldroydIndiaElwin Sharvill QUALIFIED
Ivar U MorascaSpainAsiya Javayant NEGOTIATION
Jefferson O GillianFranceAnna Fali UNQUALIFIED
Antonio M MaletGermanyIoni Bowcher NEGOTIATION
Frozen Columns
Name
Octavia N Perin
Izzy D Glick
David W Whobrey
Deepesh N Nestle
Faith Q Poquette
Kadeem I Wieser
Kadeem I Ruta
Sinclair S Campain
Emily U Caudy
Mujtaba W Albares
Silvio L Shinko
Jones W Nicka
Rodrigues O Bolognia
Mujtaba U Ruta
Aruna P Nicka
Nicolas C Morasca
Maria L Inouye
Mayumi C Flosi
Greenwood T Nicka
Misaki S Rulapaugh
Mujtaba Q Gillian
David K Oldroyd
Johnson L Perin
Greenwood S Rim
Ivar G Briddick
Wickens H Rulapaugh
Murillo N Sergi
Kadeem C Venere
David R Tollner
Darci J Oldroyd
Stacey G Royster
Jeanfrancois C Campain
Darci V Saylors
Tony W Tollner
Johnson U Darakjy
Leon P Vocelka
Adams W Inouye
David A Paprocki
Jeanfrancois L Paprocki
Emily Y Shinko
Alejandro J Briddick
Silvio I Waycott
Silvio L Perin
Cody G Rulapaugh
Jefferson L Ostrosky
Wickens U Rulapaugh
Costa O Waycott
Stacey X Ferencz
Tony I Slusarski
Morrow Q Wieser
IdCountryDate
1000Brazil2026-04-02
1001India2026-03-23
1002India2026-03-12
1003France2026-03-22
1004Germany2026-03-14
1005Brazil2026-03-19
1006Japan2026-04-08
1007Germany2026-03-28
1008Italy2026-03-26
1009Brazil2026-03-25
1010India2026-03-28
1011Russia2026-03-14
1012France2026-03-22
1013Japan2026-04-02
1014Russia2026-03-16
1015United Kingdom2026-03-29
1016Spain2026-03-14
1017Australia2026-03-29
1018Italy2026-03-27
1019Germany2026-04-02
1020Argentina2026-03-19
1021Australia2026-04-02
1022Germany2026-03-23
1023Argentina2026-03-12
1024Spain2026-03-12
1025India2026-03-12
1026Italy2026-03-28
1027Brazil2026-03-18
1028Germany2026-03-22
1029Brazil2026-04-06
1030Spain2026-03-15
1031Russia2026-03-28
1032Brazil2026-03-23
1033Italy2026-03-19
1034Italy2026-03-19
1035India2026-03-13
1036Australia2026-03-31
1037Germany2026-04-06
1038Spain2026-03-30
1039Russia2026-03-16
1040India2026-04-04
1041Japan2026-03-24
1042United Kingdom2026-03-13
1043United Kingdom2026-04-08
1044Germany2026-04-02
1045France2026-03-22
1046Canada2026-03-19
1047Germany2026-03-19
1048Argentina2026-03-17
1049Australia2026-03-20

On-Demand Data

NameIdCountryDate
Darci P Ostrosky1000Brazil2026-03-13
Claire L Flosi1001Germany2026-03-14
Jones O Poquette1002Germany2026-03-16
Sinclair A Oldroyd1003United Kingdom2026-03-18
Chavez U Ferencz1004India2026-03-29
Maria Q Vocelka1005United Kingdom2026-03-14
Nicolas V Sergi1006Australia2026-03-18
Adams M Amigon1007Japan2026-03-30
Leja U Venere1008Russia2026-03-22
Kadeem O Bolognia1009Japan2026-04-07
Aditya N Morasca1010Brazil2026-03-29
Jones E Ruta1011Japan2026-04-03
Maisha V Vocelka1012Spain2026-03-15
Murillo P Bolognia1013Canada2026-03-22
Ricardo F Gillian1014Spain2026-03-29
Leja B Bolognia1015Canada2026-04-02
Mujtaba G Whobrey1016France2026-03-13
Jones G Vocelka1017India2026-04-04
Murillo A Glick1018Spain2026-03-23
Aika F Stenseth1019Japan2026-03-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci Y CaldareraAustraliaIvan Magalhaes QUALIFIED
Izzy H PerinArgentinaOnyama Limba UNQUALIFIED
Ashley E FigeroaUnited KingdomXuxue Feng UNQUALIFIED
Ashley Q KuskoItalyIvan Magalhaes NEW
Rodrigues U RutaGermanyAsiya Javayant QUALIFIED
Morrow T InouyeRussiaXuxue Feng PROPOSAL
Munro N GillianCanadaIoni Bowcher NEGOTIATION
Jeanfrancois P TollnerItalyIvan Magalhaes NEW
Kaitlin Y GillianJapanAsiya Javayant RENEWAL
Kaitlin C GlickBrazilBernardo Dominic UNQUALIFIED
Smith J TollnerAustraliaElwin Sharvill RENEWAL
Clifford T DilliardFranceStephen Shaw NEGOTIATION
Emily Y KuskoArgentinaIvan Magalhaes RENEWAL
Octavia K PoquetteSpainBernardo Dominic PROPOSAL
Morrow E ShinkoCanadaBernardo Dominic NEW
Smith U WieserAustraliaAsiya Javayant NEGOTIATION
Chavez K BologniaRussiaAmy Elsner QUALIFIED
James P MorascaSpainXuxue Feng NEW
Claire R PerinJapanBernardo Dominic NEW
Cody K KolmetzJapanStephen Shaw PROPOSAL
Smith Y SaylorsFranceIoni Bowcher NEW
Octavia D StensethBrazilStephen Shaw PROPOSAL
Jones E ButtSpainXuxue Feng NEGOTIATION
Kaitlin A VenereBrazilOnyama Limba PROPOSAL
Jennifer Z SergiItalyOnyama Limba PROPOSAL
Jeanfrancois R NickaItalyAsiya Javayant QUALIFIED
Alejandro R GillianGermanyElwin Sharvill PROPOSAL
Chavez E NickaArgentinaIoni Bowcher RENEWAL
Wickens V GauchoCanadaIoni Bowcher NEW
Ricardo A RoysterArgentinaIoni Bowcher RENEWAL
Morrow Q RulapaughFranceOnyama Limba QUALIFIED
Smith X KolmetzGermanyBernardo Dominic UNQUALIFIED
Morrow Y CampainGermanyAmy Elsner PROPOSAL
Nicolas Y FollerGermanyElwin Sharvill RENEWAL
Salvatore L MarrierCanadaAmy Elsner QUALIFIED
Jones D SergiGermanyElwin Sharvill NEW
Ivar M WaycottBrazilXuxue Feng QUALIFIED
Darci F BologniaJapanAmy Elsner UNQUALIFIED
Ashley W OstroskyGermanyAnna Fali NEW
Aruna I RoysterFranceAmy Elsner PROPOSAL

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