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
Rodrigues V CampainItalyIvan Magalhaes QUALIFIED
Aruna Z GlickItalyBernardo Dominic NEW
Silvio I GillianItalyXuxue Feng NEGOTIATION
Aruna O DarakjyAustraliaStephen Shaw UNQUALIFIED
Aruna S WhobreyCanadaAnna Fali RENEWAL
Maisha N KolmetzFranceElwin Sharvill UNQUALIFIED
Deepesh J BriddickRussiaIoni Bowcher QUALIFIED
Murillo E ShinkoCanadaStephen Shaw UNQUALIFIED
Deepesh L NestleRussiaAmy Elsner RENEWAL
James P WieserGermanyIvan Magalhaes NEW
Munro K StensethIndiaElwin Sharvill RENEWAL
Francesco H KolmetzFranceBernardo Dominic QUALIFIED
Francesco W VenereSpainIoni Bowcher QUALIFIED
Mujtaba R NickaItalyIoni Bowcher UNQUALIFIED
James Q MarrierFranceAnna Fali NEGOTIATION
Deepesh A WhobreySpainIoni Bowcher PROPOSAL
Salvatore A DarakjyBrazilIvan Magalhaes NEGOTIATION
Clifford E GarufiItalyAmy Elsner NEGOTIATION
Jeanfrancois A ButtUnited KingdomBernardo Dominic NEGOTIATION
Silvio D GauchoFranceElwin Sharvill UNQUALIFIED
Aruna H WhobreyFranceIvan Magalhaes NEGOTIATION
Darci Z ShinkoGermanyAnna Fali NEGOTIATION
Ashley C KuskoFranceStephen Shaw NEW
Maisha T BriddickIndiaElwin Sharvill NEGOTIATION
Misaki Y RulapaughFranceAmy Elsner NEW
Wickens T SergiSpainOnyama Limba NEW
Jennifer V BriddickSpainIoni Bowcher RENEWAL
Costa V SchemmerItalyXuxue Feng PROPOSAL
Sinclair J GauchoCanadaXuxue Feng RENEWAL
Octavia T RulapaughCanadaAmy Elsner QUALIFIED
Maria O KolmetzAustraliaBernardo Dominic NEW
Clifford S NickaArgentinaXuxue Feng UNQUALIFIED
Antonio C DilliardArgentinaStephen Shaw RENEWAL
Jefferson U NestleJapanXuxue Feng PROPOSAL
Leja L RoysterGermanyAmy Elsner RENEWAL
Rodrigues R StensethJapanAmy Elsner NEGOTIATION
Greenwood N SlusarskiUnited KingdomAsiya Javayant UNQUALIFIED
Leja V GauchoGermanyIvan Magalhaes PROPOSAL
Leja O AlbaresItalyIoni Bowcher UNQUALIFIED
Maisha P NestleBrazilAmy Elsner NEW
Sinclair U KolmetzRussiaIoni Bowcher PROPOSAL
Nicolas X TollnerArgentinaAnna Fali RENEWAL
Darci H InouyeFranceXuxue Feng QUALIFIED
Emily B StensethGermanyAnna Fali NEW
Arvin P BowleyIndiaIvan Magalhaes NEGOTIATION
Stacey Z StockhamJapanOnyama Limba QUALIFIED
Smith B ChuiAustraliaElwin Sharvill RENEWAL
Leon U BologniaSpainBernardo Dominic UNQUALIFIED
Ivar O NickaSpainIoni Bowcher NEGOTIATION
Antonio J FerenczRussiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens X OldroydItalyElwin Sharvill RENEWAL
Mayumi A MorascaSpainElwin Sharvill NEGOTIATION
Greenwood V GillianRussiaXuxue Feng QUALIFIED
Ricardo D KuskoFranceBernardo Dominic QUALIFIED
Claire V GauchoGermanyXuxue Feng UNQUALIFIED
David F VenereUnited KingdomIvan Magalhaes PROPOSAL
Maria E OstroskyRussiaBernardo Dominic NEGOTIATION
Jefferson M GillianIndiaOnyama Limba NEW
Salvatore O DilliardItalyElwin Sharvill NEGOTIATION
James A MaletRussiaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith M OldroydIndia2026-02-22Chapman, Ross E Esq PROPOSAL90Ivan Magalhaes
1001Chavez D MacleadSpain2026-02-23Buckley Miller Wright UNQUALIFIED94Ivan Magalhaes
1002Juan I FerenczJapan2026-02-15Truhlar And Truhlar Attys NEW58Bernardo Dominic
1003Claire M AmigonJapan2026-03-02Benton, John B Jr UNQUALIFIED72Stephen Shaw
1004Mujtaba P DoeItaly2026-02-28Dorl, James J Esq NEGOTIATION71Asiya Javayant
1005Alejandro V RulapaughArgentina2026-02-05Chanay, Jeffrey A Esq QUALIFIED48Ivan Magalhaes
1006Munro H WaycottSpain2026-02-20Rangoni Of Florence NEGOTIATION83Stephen Shaw
1007Faith D OstroskyCanada2026-02-16Benton, John B Jr NEW37Bernardo Dominic
1008Misaki X MaletItaly2026-03-01King, Christopher A Esq NEW70Xuxue Feng
1009Silvio D FerenczBrazil2026-03-03Printing Dimensions RENEWAL85Ivan Magalhaes
1010Salvatore E PerinCanada2026-02-24Dorl, James J Esq NEGOTIATION16Bernardo Dominic
1011Antonio T OstroskyRussia2026-02-18King, Christopher A Esq NEGOTIATION97Asiya Javayant
1012Ivar Z WieserFrance2026-02-22Chapman, Ross E Esq RENEWAL36Stephen Shaw
1013Darci A RulapaughItaly2026-02-27Rangoni Of Florence QUALIFIED30Onyama Limba
1014Nicolas I CampainArgentina2026-02-16Chapman, Ross E Esq NEGOTIATION60Amy Elsner
1015Alejandro I CampainFrance2026-02-04Benton, John B Jr PROPOSAL99Anna Fali
1016Tony G GlickGermany2026-02-23King, Christopher A Esq PROPOSAL56Asiya Javayant
1017Ricardo Q CaudyAustralia2026-03-03Rousseaux, Michael Esq QUALIFIED13Bernardo Dominic
1018Misaki W RoysterArgentina2026-02-13Feltz Printing Service NEW78Bernardo Dominic
1019Alejandro Y GauchoItaly2026-02-14Truhlar And Truhlar Attys RENEWAL14Xuxue Feng
1020Salvatore E FollerGermany2026-02-16Feltz Printing Service NEGOTIATION71Amy Elsner
1021Misaki E GarufiGermany2026-03-02Truhlar And Truhlar Attys NEGOTIATION59Elwin Sharvill
1022Murillo P ButtBrazil2026-02-17Rousseaux, Michael Esq NEW85Ivan Magalhaes
1023Smith A FigeroaSpain2026-02-19Rangoni Of Florence UNQUALIFIED95Ioni Bowcher
1024Arvin Y TollnerAustralia2026-02-05Chapman, Ross E Esq QUALIFIED88Ivan Magalhaes
1025Izzy Z FollerBrazil2026-02-08King, Christopher A Esq QUALIFIED31Xuxue Feng
1026Aditya G WieserSpain2026-02-12Feltz Printing Service NEW10Xuxue Feng
1027Rodrigues U KuskoIndia2026-02-20Truhlar And Truhlar Attys RENEWAL30Ivan Magalhaes
1028Mujtaba K MaletIndia2026-02-16Truhlar And Truhlar Attys PROPOSAL21Ioni Bowcher
1029Kaitlin K NestleBrazil2026-02-19Truhlar And Truhlar Attys PROPOSAL21Onyama Limba
1030Misaki S FerenczRussia2026-02-23Chemel, James L Cpa RENEWAL61Bernardo Dominic
1031Silvio J VocelkaFrance2026-02-12Rangoni Of Florence NEGOTIATION30Bernardo Dominic
1032Maisha R BriddickFrance2026-02-25Chemel, James L Cpa NEGOTIATION70Ivan Magalhaes
1033Mayumi D SaylorsBrazil2026-02-21Buckley Miller Wright RENEWAL62Elwin Sharvill
1034Aruna F MaletGermany2026-02-05Chapman, Ross E Esq NEGOTIATION13Anna Fali
1035Antonio V RoysterRussia2026-02-17Truhlar And Truhlar Attys NEW2Amy Elsner
1036Aruna Z KolmetzBrazil2026-02-09Chemel, James L Cpa RENEWAL41Asiya Javayant
1037Deepesh J StockhamFrance2026-02-19Dorl, James J Esq RENEWAL87Ioni Bowcher
1038David I AmigonRussia2026-02-08Commercial Press PROPOSAL95Anna Fali
1039Tony O StensethIndia2026-02-27Chapman, Ross E Esq RENEWAL10Ioni Bowcher
1040Antonio C BologniaUnited Kingdom2026-02-15Dorl, James J Esq NEW64Anna Fali
1041Rodrigues E ButtIndia2026-02-07Benton, John B Jr UNQUALIFIED98Onyama Limba
1042Leja X PaprockiCanada2026-02-04Chapman, Ross E Esq PROPOSAL45Ioni Bowcher
1043Mujtaba Z GarufiAustralia2026-02-21Feltz Printing Service QUALIFIED35Onyama Limba
1044Maisha D CaldareraAustralia2026-02-20Commercial Press QUALIFIED35Stephen Shaw
1045Julie Y SchemmerAustralia2026-02-15Buckley Miller Wright NEW96Ivan Magalhaes
1046Johnson C MaletArgentina2026-02-18Truhlar And Truhlar Attys QUALIFIED51Asiya Javayant
1047Octavia F SergiCanada2026-02-13Rangoni Of Florence RENEWAL69Elwin Sharvill
1048Misaki Z CaldareraGermany2026-02-04Buckley Miller Wright RENEWAL77Anna Fali
1049Wickens U CaldareraSpain2026-02-15Chemel, James L Cpa PROPOSAL84Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Faith O FerenczFranceBernardo Dominic QUALIFIED
Morrow D OldroydJapanAmy Elsner QUALIFIED
Munro S FollerCanadaBernardo Dominic NEW
Claire S BowleyItalyAmy Elsner NEW
Rodrigues M RulapaughGermanyIvan Magalhaes NEW
Mujtaba N MarrierIndiaXuxue Feng NEW
Leja J DilliardGermanyElwin Sharvill RENEWAL
Izzy N PoquetteItalyIvan Magalhaes RENEWAL
Leja K FerenczFranceOnyama Limba QUALIFIED
Alejandro R ButtFranceBernardo Dominic RENEWAL
Adams P MarrierFranceXuxue Feng QUALIFIED
Costa X SaylorsCanadaXuxue Feng RENEWAL
James H BriddickIndiaAnna Fali RENEWAL
Mayumi Y SlusarskiSpainBernardo Dominic RENEWAL
Antonio X StockhamRussiaAmy Elsner RENEWAL
Maria Q RoysterCanadaIvan Magalhaes QUALIFIED
Isabel Y MaletBrazilStephen Shaw NEGOTIATION
Izzy U GlickFranceOnyama Limba PROPOSAL
Jennifer D AlbaresIndiaStephen Shaw NEGOTIATION
Costa A PaprockiCanadaAmy Elsner NEW
Clifford G SergiCanadaOnyama Limba RENEWAL
Stacey I InouyeUnited KingdomAsiya Javayant QUALIFIED
Leja J MarrierArgentinaAsiya Javayant NEGOTIATION
Isabel Z RulapaughFranceOnyama Limba NEGOTIATION
Mujtaba X DilliardItalyAnna Fali QUALIFIED
Mayumi V MorascaJapanAnna Fali NEW
Salvatore Z IturbideAustraliaAnna Fali NEW
Jeanfrancois G RoysterCanadaStephen Shaw PROPOSAL
Greenwood R AmigonIndiaAsiya Javayant PROPOSAL
Juan G VenereItalyIvan Magalhaes PROPOSAL
Ashley J KolmetzRussiaAnna Fali QUALIFIED
Claire N NickaJapanElwin Sharvill UNQUALIFIED
Jeanfrancois R PerinRussiaOnyama Limba RENEWAL
Morrow K PoquetteJapanElwin Sharvill RENEWAL
Costa P MacleadBrazilAsiya Javayant NEW
Jennifer G MorascaFranceIoni Bowcher RENEWAL
Greenwood Z WaycottAustraliaIvan Magalhaes NEW
Emily Z FigeroaBrazilAmy Elsner QUALIFIED
Chavez F FollerFranceElwin Sharvill UNQUALIFIED
Alejandro O ChuiAustraliaBernardo Dominic NEGOTIATION
Munro K ChuiSpainStephen Shaw QUALIFIED
Octavia S MaletUnited KingdomElwin Sharvill RENEWAL
Leja X WhobreyItalyIvan Magalhaes NEGOTIATION
David Z BologniaRussiaAsiya Javayant PROPOSAL
Antonio M GauchoCanadaStephen Shaw PROPOSAL
Jones W BologniaArgentinaAnna Fali NEGOTIATION
Munro V PoquetteItalyIvan Magalhaes NEW
Isabel Z KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Jones D BologniaGermanyIvan Magalhaes PROPOSAL
Antonio U OstroskyArgentinaAnna Fali NEW
Frozen Columns
Name
Juan D Vocelka
Izzy J Rulapaugh
Stacey B Doe
Ivar U Briddick
Aika T Stockham
Ashley P Vocelka
Izzy W Malet
Adams E Malet
Aditya X Stenseth
Ivar H Nestle
Aruna C Malet
Leja T Gillian
Stacey E Albares
Leon O Campain
Misaki L Morasca
Faith P Morasca
Francesco K Wieser
David Y Waycott
Salvatore G Paprocki
Aruna N Ruta
Nicolas N Rim
Salvatore Q Marrier
Rodrigues Q Chui
Salvatore K Perin
Jefferson Z Albares
Jeanfrancois S Dilliard
James C Briddick
Maria B Chui
Murillo S Stockham
Wickens M Bolognia
Silvio W Rim
Leja A Caudy
Leon O Maclead
Juan G Stockham
Smith S Waycott
Jeanfrancois P Malet
Kadeem M Ostrosky
Munro E Caldarera
Mujtaba Z Glick
Tony Y Caudy
Alejandro Y Nestle
David L Malet
David K Vocelka
Alejandro H Perin
Munro Y Rulapaugh
Alejandro P Ostrosky
Chavez D Ruta
Mujtaba F Campain
Clifford W Garufi
Octavia F Butt
IdCountryDate
1000Canada2026-02-04
1001Italy2026-02-21
1002United Kingdom2026-03-05
1003Spain2026-02-15
1004Germany2026-02-23
1005France2026-02-16
1006Argentina2026-02-17
1007Argentina2026-03-04
1008India2026-02-17
1009India2026-02-24
1010Brazil2026-02-13
1011India2026-03-02
1012Australia2026-02-09
1013Russia2026-02-13
1014India2026-02-27
1015Italy2026-02-16
1016Russia2026-02-09
1017France2026-02-23
1018Germany2026-02-06
1019Spain2026-02-04
1020Italy2026-02-07
1021Spain2026-02-10
1022Spain2026-03-01
1023France2026-02-21
1024India2026-02-21
1025Canada2026-03-03
1026Italy2026-02-07
1027Italy2026-02-26
1028Canada2026-02-04
1029Australia2026-03-01
1030Australia2026-03-04
1031Russia2026-02-12
1032Brazil2026-02-19
1033Japan2026-02-16
1034Russia2026-02-16
1035Canada2026-03-03
1036Argentina2026-02-17
1037Japan2026-02-04
1038Australia2026-02-08
1039France2026-02-06
1040Italy2026-02-05
1041Germany2026-02-24
1042United Kingdom2026-02-26
1043Japan2026-02-28
1044Russia2026-03-02
1045Australia2026-02-16
1046France2026-03-02
1047Argentina2026-02-05
1048United Kingdom2026-02-16
1049Brazil2026-03-04

On-Demand Data

NameIdCountryDate
Aditya J Bolognia1000India2026-03-01
Rodrigues U Bolognia1001Italy2026-03-01
Rodrigues S Slusarski1002Australia2026-03-04
Aditya Y Malet1003Japan2026-02-27
Adams U Sergi1004Japan2026-03-01
Maisha S Kusko1005Canada2026-03-01
James Y Gaucho1006Canada2026-02-22
Leja C Sergi1007United Kingdom2026-02-28
Sinclair P Campain1008Italy2026-02-16
Greenwood Q Oldroyd1009Brazil2026-02-08
Sinclair A Chui1010Spain2026-03-04
Johnson J Wieser1011Spain2026-02-15
Silvio F Caldarera1012Germany2026-02-12
Maria K Bowley1013Italy2026-03-01
Ivar L Butt1014France2026-02-11
Ricardo O Dilliard1015Canada2026-03-02
Murillo S Malet1016Spain2026-02-07
Greenwood E Schemmer1017Russia2026-02-08
Wickens G Whobrey1018Russia2026-02-15
Emily U Darakjy1019United Kingdom2026-02-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Q DilliardSpainIvan Magalhaes PROPOSAL
Claire T MarrierBrazilAsiya Javayant PROPOSAL
Jones G MaletJapanAmy Elsner UNQUALIFIED
Claire L CaldareraBrazilStephen Shaw RENEWAL
Johnson G NestleBrazilStephen Shaw QUALIFIED
Deepesh P OldroydRussiaIvan Magalhaes NEGOTIATION
Faith G KuskoGermanyAnna Fali QUALIFIED
Chavez O FerenczRussiaAsiya Javayant QUALIFIED
Aruna A VenereRussiaAsiya Javayant PROPOSAL
Maisha G VocelkaSpainAnna Fali QUALIFIED
Leon Y MarrierBrazilIvan Magalhaes NEGOTIATION
Salvatore H FigeroaRussiaElwin Sharvill NEGOTIATION
Maria A MacleadGermanyAnna Fali NEW
Aika V WaycottJapanAsiya Javayant QUALIFIED
Emily M IturbideBrazilAsiya Javayant NEW
David K OldroydJapanElwin Sharvill QUALIFIED
Kaitlin K WieserArgentinaStephen Shaw NEW
Darci G PoquetteUnited KingdomOnyama Limba RENEWAL
Arvin B ButtGermanyAmy Elsner PROPOSAL
Ricardo U BriddickRussiaIoni Bowcher NEGOTIATION
Tony D MaletBrazilIvan Magalhaes NEGOTIATION
Jones E CaldareraAustraliaAsiya Javayant QUALIFIED
Emily F VocelkaArgentinaBernardo Dominic PROPOSAL
Darci O OldroydRussiaStephen Shaw QUALIFIED
Julie R GillianGermanyBernardo Dominic NEGOTIATION
Octavia X CampainJapanStephen Shaw RENEWAL
Jefferson H OldroydBrazilBernardo Dominic NEGOTIATION
Adams B RoysterFranceOnyama Limba UNQUALIFIED
Jefferson P SlusarskiRussiaAnna Fali QUALIFIED
Morrow U CaudyRussiaAsiya Javayant RENEWAL
Jeanfrancois D RulapaughJapanIoni Bowcher QUALIFIED
Julie Q GlickSpainElwin Sharvill QUALIFIED
Francesco B AlbaresIndiaStephen Shaw QUALIFIED
Maria A ButtAustraliaIoni Bowcher UNQUALIFIED
Jeanfrancois Z GlickCanadaIvan Magalhaes NEW
Julie L FollerBrazilElwin Sharvill QUALIFIED
Emily E CaudyItalyAnna Fali QUALIFIED
Aditya T MacleadUnited KingdomElwin Sharvill NEGOTIATION
Greenwood E SergiBrazilXuxue Feng QUALIFIED
Leon V IturbideUnited KingdomOnyama Limba UNQUALIFIED

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