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
Sinclair A SaylorsGermanyBernardo Dominic UNQUALIFIED
Izzy W WhobreyIndiaIoni Bowcher QUALIFIED
Munro T GillianIndiaXuxue Feng UNQUALIFIED
Misaki G ShinkoGermanyIvan Magalhaes NEW
Clifford W MarrierItalyOnyama Limba PROPOSAL
Jones R PaprockiAustraliaStephen Shaw PROPOSAL
Tony M StensethFranceBernardo Dominic NEW
David S CaudySpainIvan Magalhaes RENEWAL
Kaitlin E TollnerRussiaOnyama Limba QUALIFIED
Aditya L ShinkoCanadaAsiya Javayant UNQUALIFIED
Greenwood T FollerFranceAmy Elsner RENEWAL
Cody O SlusarskiSpainElwin Sharvill QUALIFIED
Misaki T FollerUnited KingdomOnyama Limba PROPOSAL
Aika T IturbideItalyElwin Sharvill QUALIFIED
Costa H AmigonBrazilBernardo Dominic NEW
Smith P SlusarskiSpainElwin Sharvill PROPOSAL
Silvio P SaylorsCanadaAmy Elsner PROPOSAL
Maria Z StockhamAustraliaAmy Elsner PROPOSAL
Adams O MaletItalyXuxue Feng NEGOTIATION
Clifford N StockhamAustraliaOnyama Limba RENEWAL
Kadeem P SlusarskiJapanBernardo Dominic UNQUALIFIED
Claire C PerinBrazilAsiya Javayant NEW
Munro H SergiGermanyElwin Sharvill PROPOSAL
Ricardo V VenereIndiaBernardo Dominic RENEWAL
Aditya R MaletUnited KingdomAmy Elsner NEGOTIATION
Kadeem D FigeroaBrazilAmy Elsner PROPOSAL
Octavia A WhobreyGermanyAnna Fali RENEWAL
Alejandro E MaletCanadaElwin Sharvill RENEWAL
Salvatore Y BriddickGermanyIvan Magalhaes UNQUALIFIED
Jennifer I GauchoRussiaXuxue Feng NEGOTIATION
Aruna Z VenereGermanyAsiya Javayant NEW
Kadeem X GlickGermanyStephen Shaw PROPOSAL
Johnson X AmigonBrazilBernardo Dominic NEW
Misaki X DilliardFranceIoni Bowcher RENEWAL
Adams Z OldroydBrazilBernardo Dominic QUALIFIED
Sinclair K StensethGermanyStephen Shaw NEGOTIATION
Nicolas Q DarakjyBrazilStephen Shaw QUALIFIED
Deepesh C ButtUnited KingdomAmy Elsner RENEWAL
Cody D SaylorsSpainOnyama Limba UNQUALIFIED
Octavia Q SergiCanadaIoni Bowcher QUALIFIED
Adams B WhobreyIndiaAsiya Javayant RENEWAL
Julie B BologniaRussiaStephen Shaw PROPOSAL
Cody M WieserUnited KingdomBernardo Dominic NEGOTIATION
Misaki U FollerBrazilXuxue Feng UNQUALIFIED
Aruna U RimFranceXuxue Feng QUALIFIED
Clifford E MaletUnited KingdomXuxue Feng UNQUALIFIED
Deepesh G VenereIndiaStephen Shaw RENEWAL
Nicolas A StockhamRussiaAnna Fali PROPOSAL
Alejandro G PoquetteAustraliaAsiya Javayant RENEWAL
Greenwood O ChuiRussiaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody V ShinkoCanadaIoni Bowcher PROPOSAL
Kadeem F VocelkaArgentinaIoni Bowcher PROPOSAL
Izzy O OstroskySpainStephen Shaw QUALIFIED
Misaki W PerinSpainStephen Shaw RENEWAL
Salvatore V VenereBrazilIoni Bowcher UNQUALIFIED
Mujtaba S BriddickCanadaBernardo Dominic NEW
Isabel S GlickGermanyAmy Elsner PROPOSAL
Jefferson X DilliardRussiaAmy Elsner QUALIFIED
Alejandro K MaletFranceIoni Bowcher NEGOTIATION
David N RoysterSpainBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens Q RutaSpain2026-06-17Rangoni Of Florence NEW9Ioni Bowcher
1001Morrow X FigeroaIndia2026-05-31King, Christopher A Esq UNQUALIFIED66Anna Fali
1002Faith Y ShinkoBrazil2026-06-05Morlong Associates UNQUALIFIED13Onyama Limba
1003Octavia J WieserIndia2026-06-23Morlong Associates PROPOSAL92Bernardo Dominic
1004Rodrigues U InouyeJapan2026-05-27Chanay, Jeffrey A Esq NEW87Anna Fali
1005Costa P ChuiJapan2026-06-12Truhlar And Truhlar Attys NEGOTIATION7Bernardo Dominic
1006Juan I BowleyBrazil2026-06-21Dorl, James J Esq QUALIFIED34Bernardo Dominic
1007Chavez L SchemmerJapan2026-05-25Chanay, Jeffrey A Esq QUALIFIED16Bernardo Dominic
1008Greenwood L TollnerItaly2026-06-14Feiner Bros NEGOTIATION62Asiya Javayant
1009Munro Y NestleJapan2026-05-28Buckley Miller Wright PROPOSAL76Bernardo Dominic
1010Francesco F NestleIndia2026-05-31Benton, John B Jr UNQUALIFIED26Asiya Javayant
1011Sinclair O GarufiIndia2026-05-30Chapman, Ross E Esq PROPOSAL91Bernardo Dominic
1012Clifford Y GarufiCanada2026-06-05Benton, John B Jr QUALIFIED71Onyama Limba
1013Greenwood I GauchoItaly2026-06-02Dorl, James J Esq NEGOTIATION72Bernardo Dominic
1014Antonio N WieserAustralia2026-05-25Chapman, Ross E Esq UNQUALIFIED79Asiya Javayant
1015Kadeem S RimUnited Kingdom2026-06-08Dorl, James J Esq UNQUALIFIED26Elwin Sharvill
1016Adams V StockhamCanada2026-06-01Chanay, Jeffrey A Esq PROPOSAL91Anna Fali
1017Ricardo D DoeBrazil2026-06-21Feiner Bros RENEWAL2Bernardo Dominic
1018Francesco O StensethItaly2026-05-26Dorl, James J Esq NEW82Onyama Limba
1019Kaitlin Y WieserSpain2026-06-02Printing Dimensions UNQUALIFIED62Amy Elsner
1020Salvatore H KuskoCanada2026-06-07Chemel, James L Cpa RENEWAL98Elwin Sharvill
1021Jeanfrancois O BowleyItaly2026-06-05Feltz Printing Service NEGOTIATION39Onyama Limba
1022Maria E GlickAustralia2026-06-06Feiner Bros NEGOTIATION78Asiya Javayant
1023Deepesh J MorascaUnited Kingdom2026-06-14Buckley Miller Wright QUALIFIED25Stephen Shaw
1024Francesco X StockhamSpain2026-06-09Benton, John B Jr NEGOTIATION13Ivan Magalhaes
1025Clifford T ChuiCanada2026-06-17Rousseaux, Michael Esq QUALIFIED51Amy Elsner
1026Tony S ChuiRussia2026-06-11Dorl, James J Esq PROPOSAL33Amy Elsner
1027James O KolmetzUnited Kingdom2026-06-01King, Christopher A Esq NEW88Amy Elsner
1028Aditya T BologniaUnited Kingdom2026-06-16Rousseaux, Michael Esq QUALIFIED93Bernardo Dominic
1029Emily S ShinkoArgentina2026-06-08Truhlar And Truhlar Attys UNQUALIFIED6Bernardo Dominic
1030Kaitlin M RulapaughUnited Kingdom2026-06-22Commercial Press NEGOTIATION99Asiya Javayant
1031Stacey S SchemmerGermany2026-06-23Morlong Associates NEW75Asiya Javayant
1032Francesco S GarufiRussia2026-06-15Chapman, Ross E Esq NEGOTIATION49Onyama Limba
1033Mujtaba A FigeroaBrazil2026-06-16Commercial Press QUALIFIED32Asiya Javayant
1034Julie L RutaCanada2026-06-21Printing Dimensions UNQUALIFIED55Ioni Bowcher
1035Claire J DilliardRussia2026-06-20Morlong Associates QUALIFIED89Ioni Bowcher
1036Costa O SaylorsIndia2026-06-22Rousseaux, Michael Esq PROPOSAL3Elwin Sharvill
1037Darci A BologniaItaly2026-05-31Rangoni Of Florence NEGOTIATION79Xuxue Feng
1038Octavia M FollerUnited Kingdom2026-06-15King, Christopher A Esq PROPOSAL98Onyama Limba
1039Munro Q FigeroaRussia2026-06-03Truhlar And Truhlar Attys QUALIFIED76Xuxue Feng
1040Rodrigues I DarakjyJapan2026-06-13Dorl, James J Esq RENEWAL55Ivan Magalhaes
1041Munro D FigeroaBrazil2026-06-10Dorl, James J Esq RENEWAL36Onyama Limba
1042Kadeem S GillianCanada2026-06-03Chapman, Ross E Esq NEW70Anna Fali
1043Aditya H BologniaCanada2026-06-02Benton, John B Jr PROPOSAL11Xuxue Feng
1044Kadeem K SergiRussia2026-06-08Dorl, James J Esq NEW63Anna Fali
1045Izzy E NestleBrazil2026-05-26Truhlar And Truhlar Attys QUALIFIED14Anna Fali
1046Johnson J DilliardJapan2026-06-15Morlong Associates NEGOTIATION3Ioni Bowcher
1047Julie P GlickFrance2026-05-28King, Christopher A Esq NEW23Amy Elsner
1048Chavez Y SchemmerUnited Kingdom2026-05-27Commercial Press PROPOSAL40Elwin Sharvill
1049Antonio O AlbaresArgentina2026-06-16Printing Dimensions UNQUALIFIED68Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Adams F DarakjyBrazilOnyama Limba RENEWAL
Ashley O StensethAustraliaXuxue Feng PROPOSAL
Costa A KolmetzRussiaAsiya Javayant PROPOSAL
Ashley C FerenczFranceOnyama Limba RENEWAL
Maisha H MaletFranceOnyama Limba NEGOTIATION
Jones S IturbideCanadaAnna Fali PROPOSAL
Maria K KuskoIndiaIoni Bowcher QUALIFIED
Johnson M DilliardArgentinaIvan Magalhaes PROPOSAL
Maisha U DarakjyArgentinaStephen Shaw RENEWAL
Octavia B RutaGermanyAmy Elsner QUALIFIED
Stacey G FollerItalyStephen Shaw NEW
Jennifer Y PoquetteSpainAsiya Javayant NEW
Aruna Y FlosiJapanBernardo Dominic UNQUALIFIED
Maisha U OldroydBrazilStephen Shaw PROPOSAL
Ricardo P StockhamBrazilAmy Elsner NEW
Maria Q DoeFranceAmy Elsner PROPOSAL
Nicolas W ChuiItalyIvan Magalhaes NEW
Morrow Z SchemmerItalyOnyama Limba UNQUALIFIED
David P PaprockiAustraliaOnyama Limba RENEWAL
Silvio W CaudyGermanyIvan Magalhaes NEW
Aika A AlbaresCanadaIvan Magalhaes NEW
Francesco T NestleItalyStephen Shaw UNQUALIFIED
Adams P OstroskyJapanStephen Shaw UNQUALIFIED
Aika R WhobreyGermanyBernardo Dominic NEGOTIATION
Francesco Q SlusarskiArgentinaStephen Shaw NEW
Octavia K GauchoGermanyStephen Shaw UNQUALIFIED
Juan C FerenczFranceBernardo Dominic NEW
Jones A FollerItalyOnyama Limba NEW
Ashley I ChuiArgentinaAmy Elsner QUALIFIED
Maisha F FigeroaAustraliaAmy Elsner NEGOTIATION
Sinclair Y RoysterBrazilAsiya Javayant NEW
Alejandro K PoquetteGermanyBernardo Dominic PROPOSAL
David Z PoquetteJapanAmy Elsner NEGOTIATION
James E RimBrazilAnna Fali NEW
Chavez K MacleadSpainIvan Magalhaes UNQUALIFIED
Misaki G PaprockiRussiaIvan Magalhaes RENEWAL
Ricardo O MaletAustraliaAsiya Javayant PROPOSAL
Murillo Z WieserItalyAnna Fali RENEWAL
James P ShinkoUnited KingdomAnna Fali QUALIFIED
Adams M PoquetteIndiaAsiya Javayant RENEWAL
David G CaudyRussiaAmy Elsner NEW
Emily Y PerinRussiaIvan Magalhaes UNQUALIFIED
Smith J PoquetteUnited KingdomIoni Bowcher UNQUALIFIED
Mayumi M MarrierUnited KingdomOnyama Limba QUALIFIED
Morrow T FigeroaAustraliaOnyama Limba RENEWAL
Francesco F RimArgentinaIoni Bowcher NEGOTIATION
Ricardo S AlbaresRussiaAsiya Javayant UNQUALIFIED
Emily Q ShinkoGermanyIoni Bowcher NEGOTIATION
Silvio M NickaArgentinaAnna Fali RENEWAL
Tony S GlickSpainAmy Elsner NEW
Frozen Columns
Name
Sinclair G Bolognia
Aruna A Waycott
Smith J Stenseth
Salvatore G Amigon
Chavez S Chui
Kaitlin S Morasca
Juan G Chui
Leon D Flosi
Jennifer T Slusarski
Salvatore V Ostrosky
Chavez C Campain
Maria H Maclead
Leja M Iturbide
Murillo R Vocelka
Jones J Nicka
Emily F Perin
Julie D Gillian
Kaitlin L Glick
Greenwood C Royster
Jones P Caldarera
Arvin N Doe
Stacey Y Gaucho
Greenwood E Royster
Johnson W Inouye
Izzy I Malet
Misaki W Gaucho
Faith V Glick
Misaki Q Campain
Cody X Albares
Izzy U Perin
Jennifer D Shinko
Maisha Z Oldroyd
Sinclair U Waycott
Claire M Poquette
Chavez O Poquette
David W Caudy
Costa T Rim
Murillo T Rim
Francesco D Amigon
Jeanfrancois K Perin
Octavia H Dilliard
Jefferson A Sergi
Leon I Kolmetz
Smith W Nestle
Jones T Flosi
Isabel S Venere
Silvio Y Oldroyd
Johnson F Saylors
Isabel Q Gaucho
Leja B Campain
IdCountryDate
1000France2026-06-02
1001Russia2026-06-23
1002Canada2026-06-17
1003Japan2026-05-30
1004Spain2026-06-17
1005Japan2026-06-15
1006Russia2026-06-04
1007Brazil2026-06-04
1008Japan2026-06-23
1009United Kingdom2026-05-29
1010Italy2026-05-31
1011Germany2026-06-09
1012Brazil2026-06-14
1013Spain2026-06-11
1014Argentina2026-06-05
1015Japan2026-05-29
1016India2026-05-29
1017India2026-06-20
1018Japan2026-05-27
1019Russia2026-05-31
1020India2026-06-02
1021Germany2026-06-20
1022Spain2026-06-07
1023India2026-05-29
1024Germany2026-06-09
1025Germany2026-05-26
1026Australia2026-06-02
1027Australia2026-06-12
1028Italy2026-05-28
1029Germany2026-05-29
1030Japan2026-06-02
1031United Kingdom2026-06-11
1032Argentina2026-05-31
1033India2026-06-14
1034Russia2026-05-28
1035Germany2026-06-20
1036Spain2026-06-22
1037India2026-06-16
1038Spain2026-06-06
1039France2026-06-07
1040Australia2026-06-21
1041France2026-06-17
1042India2026-06-01
1043Argentina2026-05-31
1044Japan2026-06-11
1045Australia2026-06-06
1046Germany2026-06-22
1047Russia2026-06-17
1048United Kingdom2026-06-09
1049Argentina2026-06-04

On-Demand Data

NameIdCountryDate
Izzy L Caudy1000India2026-06-03
Maria W Kusko1001Argentina2026-05-28
Johnson R Wieser1002Italy2026-06-03
David B Ruta1003Japan2026-05-31
Stacey P Briddick1004India2026-06-19
Johnson U Paprocki1005United Kingdom2026-06-06
David X Ostrosky1006India2026-06-01
Alejandro L Paprocki1007Germany2026-06-10
Wickens Y Morasca1008Brazil2026-05-29
Darci V Royster1009Canada2026-06-12
Stacey U Garufi1010Germany2026-06-22
Arvin B Schemmer1011Australia2026-06-14
Misaki V Poquette1012Argentina2026-05-28
Jones M Amigon1013India2026-06-20
Misaki V Ferencz1014Canada2026-06-11
Alejandro F Oldroyd1015Germany2026-06-05
James J Briddick1016Italy2026-05-25
Alejandro R Flosi1017Canada2026-05-27
Mayumi A Nicka1018Argentina2026-06-05
David U Malet1019India2026-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja G InouyeAustraliaAsiya Javayant NEW
Arvin K TollnerFranceIoni Bowcher QUALIFIED
Aditya H WieserItalyIoni Bowcher QUALIFIED
Greenwood A VenereSpainAnna Fali UNQUALIFIED
Morrow F WieserSpainAsiya Javayant NEGOTIATION
Chavez L PaprockiFranceIvan Magalhaes PROPOSAL
Clifford V AlbaresUnited KingdomIvan Magalhaes NEGOTIATION
Munro R PoquetteRussiaAmy Elsner NEW
Salvatore X ChuiSpainBernardo Dominic PROPOSAL
Maria P ChuiFranceAsiya Javayant QUALIFIED
Costa V VenereRussiaStephen Shaw NEW
Wickens O RoysterItalyAnna Fali PROPOSAL
Alejandro G DoeJapanBernardo Dominic UNQUALIFIED
Murillo G FollerSpainOnyama Limba PROPOSAL
Wickens R MacleadJapanAmy Elsner QUALIFIED
Izzy R ChuiGermanyBernardo Dominic NEGOTIATION
Stacey R DarakjyFranceStephen Shaw NEGOTIATION
Chavez R StockhamJapanElwin Sharvill RENEWAL
Jefferson G ShinkoSpainIvan Magalhaes PROPOSAL
Jefferson D BriddickAustraliaXuxue Feng PROPOSAL
Faith D DoeAustraliaAnna Fali UNQUALIFIED
Chavez K KolmetzFranceAsiya Javayant QUALIFIED
Tony D RoysterGermanyIoni Bowcher RENEWAL
Ashley D SchemmerArgentinaIoni Bowcher PROPOSAL
Aruna Y FollerRussiaAmy Elsner QUALIFIED
Cody P FigeroaRussiaAmy Elsner NEGOTIATION
Ricardo B PerinIndiaBernardo Dominic QUALIFIED
Mujtaba F PoquetteArgentinaAsiya Javayant QUALIFIED
Arvin M FigeroaCanadaIoni Bowcher QUALIFIED
Arvin F OstroskyFranceAsiya Javayant PROPOSAL
Alejandro H RulapaughItalyIoni Bowcher RENEWAL
Juan R OstroskyJapanBernardo Dominic RENEWAL
Jefferson G FollerIndiaXuxue Feng QUALIFIED
Sinclair C PaprockiItalyIvan Magalhaes QUALIFIED
Silvio Q BologniaUnited KingdomAsiya Javayant NEW
Kaitlin A SlusarskiIndiaIoni Bowcher NEW
Ricardo X PoquetteBrazilAmy Elsner NEGOTIATION
Salvatore J SlusarskiCanadaAnna Fali UNQUALIFIED
Leon U InouyeRussiaXuxue Feng QUALIFIED
Alejandro N WhobreyGermanyOnyama 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.