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
Antonio G PerinJapanXuxue Feng NEGOTIATION
Kadeem K NestleFranceXuxue Feng RENEWAL
Ashley L CaudyBrazilAsiya Javayant UNQUALIFIED
Silvio D DilliardAustraliaBernardo Dominic QUALIFIED
Sinclair T FollerUnited KingdomXuxue Feng QUALIFIED
Leja X BriddickBrazilAnna Fali QUALIFIED
Ashley C GarufiAustraliaXuxue Feng RENEWAL
Claire T MarrierItalyOnyama Limba UNQUALIFIED
Maisha S CampainArgentinaElwin Sharvill NEGOTIATION
Francesco B NickaJapanAsiya Javayant NEW
Octavia L DarakjySpainStephen Shaw QUALIFIED
Aruna N FerenczFranceAnna Fali RENEWAL
Smith A DilliardAustraliaIvan Magalhaes PROPOSAL
David J SlusarskiBrazilOnyama Limba NEW
Tony H OldroydCanadaAmy Elsner UNQUALIFIED
Isabel L InouyeAustraliaElwin Sharvill QUALIFIED
Octavia C PaprockiRussiaIoni Bowcher NEGOTIATION
Costa F RutaIndiaAsiya Javayant PROPOSAL
Maria P KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Wickens T NickaGermanyBernardo Dominic QUALIFIED
Deepesh U FollerSpainStephen Shaw NEGOTIATION
Johnson X CampainCanadaElwin Sharvill RENEWAL
Rodrigues D StockhamArgentinaAmy Elsner UNQUALIFIED
Tony P InouyeAustraliaOnyama Limba PROPOSAL
James D MaletIndiaXuxue Feng PROPOSAL
Kadeem T MaletCanadaBernardo Dominic QUALIFIED
Murillo Y IturbideIndiaIvan Magalhaes NEW
Tony K AmigonFranceIoni Bowcher QUALIFIED
Arvin K NickaAustraliaAmy Elsner NEW
Maisha Y SlusarskiBrazilAnna Fali PROPOSAL
Jones O MacleadRussiaIoni Bowcher RENEWAL
Claire L DilliardIndiaIvan Magalhaes NEGOTIATION
Jennifer Y SlusarskiIndiaElwin Sharvill NEW
Johnson B GlickArgentinaAmy Elsner NEGOTIATION
Aika P OldroydRussiaAnna Fali RENEWAL
Maria J CampainJapanAmy Elsner NEW
Tony P FigeroaCanadaAnna Fali RENEWAL
Leja O NickaBrazilAsiya Javayant NEW
Stacey P MaletIndiaElwin Sharvill QUALIFIED
Izzy Z RoysterBrazilAmy Elsner NEW
Ivar J GlickBrazilAmy Elsner QUALIFIED
Munro Q MarrierBrazilIvan Magalhaes NEGOTIATION
Antonio K RulapaughBrazilIvan Magalhaes PROPOSAL
Stacey O MarrierAustraliaIvan Magalhaes PROPOSAL
Rodrigues L DarakjyIndiaIoni Bowcher UNQUALIFIED
Silvio H SaylorsArgentinaAmy Elsner QUALIFIED
Emily H MorascaItalyBernardo Dominic PROPOSAL
Morrow X OstroskyIndiaXuxue Feng QUALIFIED
Julie U BriddickIndiaXuxue Feng NEW
Kaitlin Q KolmetzRussiaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki D StockhamArgentinaXuxue Feng NEW
Ivar Y PoquetteGermanyBernardo Dominic UNQUALIFIED
Kadeem W StockhamItalyIvan Magalhaes NEW
Cody Y CampainSpainAsiya Javayant NEW
Maisha J SergiSpainIvan Magalhaes NEW
Deepesh T DoeFranceOnyama Limba UNQUALIFIED
Costa C KolmetzFranceAmy Elsner QUALIFIED
Cody W FlosiItalyBernardo Dominic NEW
Jennifer N FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Octavia Q OstroskyBrazilElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio N InouyeRussia2026-06-06Buckley Miller Wright UNQUALIFIED88Onyama Limba
1001Greenwood R FerenczJapan2026-05-31Buckley Miller Wright NEW28Xuxue Feng
1002Jefferson L RimItaly2026-06-12Printing Dimensions PROPOSAL77Ioni Bowcher
1003Murillo J MaletFrance2026-06-11Benton, John B Jr NEW49Stephen Shaw
1004Juan J AmigonGermany2026-06-24King, Christopher A Esq QUALIFIED15Asiya Javayant
1005Jeanfrancois X InouyeArgentina2026-05-30Rangoni Of Florence QUALIFIED54Elwin Sharvill
1006Salvatore U TollnerBrazil2026-06-06Chemel, James L Cpa NEW22Ioni Bowcher
1007Jefferson U PoquetteCanada2026-06-23Feiner Bros UNQUALIFIED62Ioni Bowcher
1008Izzy D SchemmerGermany2026-06-10Rousseaux, Michael Esq QUALIFIED25Elwin Sharvill
1009Misaki U IturbideCanada2026-06-07Benton, John B Jr NEW92Ivan Magalhaes
1010Maria E NestleAustralia2026-06-23Buckley Miller Wright UNQUALIFIED17Ioni Bowcher
1011Emily M DoeFrance2026-06-06Rangoni Of Florence NEGOTIATION58Onyama Limba
1012Murillo U SlusarskiUnited Kingdom2026-06-24Chemel, James L Cpa NEW78Anna Fali
1013Salvatore D KuskoIndia2026-06-06Dorl, James J Esq QUALIFIED66Onyama Limba
1014Salvatore L RutaIndia2026-05-29Chapman, Ross E Esq NEW92Onyama Limba
1015Aruna L KuskoSpain2026-05-29King, Christopher A Esq PROPOSAL19Asiya Javayant
1016Darci R GlickItaly2026-06-07Chanay, Jeffrey A Esq UNQUALIFIED50Ioni Bowcher
1017Claire C DarakjyBrazil2026-06-10Rangoni Of Florence PROPOSAL37Asiya Javayant
1018Emily K PoquetteGermany2026-06-12Rangoni Of Florence UNQUALIFIED64Ioni Bowcher
1019Salvatore I TollnerArgentina2026-06-20Commercial Press PROPOSAL51Anna Fali
1020Mayumi I KolmetzFrance2026-06-08Dorl, James J Esq UNQUALIFIED83Stephen Shaw
1021Mayumi Y FollerItaly2026-06-23Benton, John B Jr NEGOTIATION11Ivan Magalhaes
1022Leon P SergiRussia2026-06-26Commercial Press UNQUALIFIED46Ivan Magalhaes
1023Francesco U PerinFrance2026-05-29Printing Dimensions RENEWAL22Xuxue Feng
1024Jefferson P RulapaughRussia2026-06-21Printing Dimensions QUALIFIED8Ivan Magalhaes
1025Jefferson T MarrierAustralia2026-06-18Feiner Bros NEGOTIATION97Ioni Bowcher
1026Rodrigues N SergiUnited Kingdom2026-06-05Feltz Printing Service UNQUALIFIED4Stephen Shaw
1027Aika F AmigonRussia2026-06-17Printing Dimensions RENEWAL19Xuxue Feng
1028David E KolmetzJapan2026-06-18Feltz Printing Service QUALIFIED91Stephen Shaw
1029Kaitlin Y PerinRussia2026-06-18Dorl, James J Esq RENEWAL99Asiya Javayant
1030Jefferson O RutaFrance2026-06-27Benton, John B Jr QUALIFIED89Amy Elsner
1031Johnson I WhobreyAustralia2026-06-10Morlong Associates NEGOTIATION90Ivan Magalhaes
1032Ricardo L RoysterFrance2026-06-12Chapman, Ross E Esq NEGOTIATION5Elwin Sharvill
1033Chavez N RimSpain2026-05-31King, Christopher A Esq UNQUALIFIED48Anna Fali
1034Sinclair O ShinkoRussia2026-06-03Rousseaux, Michael Esq PROPOSAL20Ivan Magalhaes
1035Jeanfrancois M DilliardArgentina2026-06-02Feltz Printing Service RENEWAL83Xuxue Feng
1036Juan M OstroskyUnited Kingdom2026-06-16Chanay, Jeffrey A Esq PROPOSAL52Stephen Shaw
1037Johnson Z NestleJapan2026-06-24Truhlar And Truhlar Attys NEGOTIATION77Asiya Javayant
1038Kadeem N WieserBrazil2026-06-24Feiner Bros RENEWAL70Bernardo Dominic
1039Jones X DarakjyArgentina2026-06-05Chemel, James L Cpa NEW2Asiya Javayant
1040Tony C NestleUnited Kingdom2026-06-11Chemel, James L Cpa UNQUALIFIED76Stephen Shaw
1041Emily N ButtSpain2026-06-18Morlong Associates PROPOSAL26Xuxue Feng
1042Smith Q RutaSpain2026-06-23Benton, John B Jr PROPOSAL63Asiya Javayant
1043Salvatore Z StockhamItaly2026-06-10Commercial Press NEW92Bernardo Dominic
1044Juan F InouyeSpain2026-06-22Buckley Miller Wright QUALIFIED96Ivan Magalhaes
1045Mayumi Q GauchoUnited Kingdom2026-06-26Commercial Press NEW2Ivan Magalhaes
1046Antonio S StensethIndia2026-06-13Feltz Printing Service QUALIFIED56Stephen Shaw
1047Munro V DarakjyBrazil2026-06-23Truhlar And Truhlar Attys RENEWAL81Elwin Sharvill
1048Greenwood O NestleSpain2026-06-08Commercial Press QUALIFIED36Ioni Bowcher
1049Ricardo A AlbaresCanada2026-06-15Dorl, James J Esq NEW67Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jones G GlickItalyAsiya Javayant UNQUALIFIED
Aika U VocelkaFranceAnna Fali UNQUALIFIED
Claire B BologniaJapanStephen Shaw NEW
Mujtaba Y KolmetzIndiaIoni Bowcher PROPOSAL
Wickens A GlickGermanyBernardo Dominic RENEWAL
Juan P DoeFranceIvan Magalhaes PROPOSAL
Murillo C SlusarskiArgentinaAnna Fali UNQUALIFIED
Alejandro Y RimCanadaStephen Shaw QUALIFIED
Isabel A DoeCanadaAnna Fali PROPOSAL
Ivar V GillianCanadaIoni Bowcher PROPOSAL
Jones D FerenczSpainIoni Bowcher RENEWAL
Faith K SaylorsArgentinaBernardo Dominic PROPOSAL
Izzy D InouyeFranceIoni Bowcher QUALIFIED
Aditya U SchemmerIndiaAsiya Javayant UNQUALIFIED
Ricardo U InouyeUnited KingdomStephen Shaw NEGOTIATION
Sinclair N FollerUnited KingdomAmy Elsner UNQUALIFIED
Aika V BowleySpainIoni Bowcher UNQUALIFIED
Claire H BologniaArgentinaAsiya Javayant NEW
Misaki A VocelkaJapanXuxue Feng QUALIFIED
Claire P DilliardRussiaAsiya Javayant UNQUALIFIED
Darci Z DilliardSpainAsiya Javayant NEW
Misaki T SergiSpainIvan Magalhaes QUALIFIED
Aditya A BowleyBrazilAmy Elsner NEGOTIATION
Arvin R WaycottFranceAmy Elsner QUALIFIED
Adams D GarufiJapanIoni Bowcher UNQUALIFIED
Ashley N WhobreyItalyElwin Sharvill NEGOTIATION
Clifford L BowleyGermanyXuxue Feng NEGOTIATION
Misaki N RoysterCanadaAsiya Javayant PROPOSAL
Chavez R DilliardItalyAsiya Javayant NEW
Nicolas Z GlickAustraliaElwin Sharvill NEGOTIATION
Leon C DarakjyRussiaIvan Magalhaes RENEWAL
Stacey J PaprockiSpainStephen Shaw NEW
Claire I WhobreyUnited KingdomXuxue Feng QUALIFIED
Mujtaba I FigeroaGermanyStephen Shaw PROPOSAL
Maria R ShinkoAustraliaIoni Bowcher QUALIFIED
Jefferson Q NestleCanadaIoni Bowcher NEGOTIATION
Tony Q StensethArgentinaStephen Shaw UNQUALIFIED
Silvio T FigeroaArgentinaStephen Shaw PROPOSAL
Leja R BriddickSpainAsiya Javayant NEGOTIATION
Alejandro P DoeSpainIoni Bowcher QUALIFIED
Ivar W ShinkoItalyElwin Sharvill NEGOTIATION
Leon A CampainCanadaXuxue Feng NEW
James Y FerenczGermanyElwin Sharvill QUALIFIED
Smith E VenereItalyXuxue Feng PROPOSAL
Antonio I PerinRussiaIvan Magalhaes NEGOTIATION
Aika B DilliardUnited KingdomElwin Sharvill PROPOSAL
Leja N PoquetteCanadaXuxue Feng RENEWAL
Julie L StockhamIndiaAnna Fali QUALIFIED
Sinclair H MarrierItalyAnna Fali UNQUALIFIED
Aditya T TollnerJapanIoni Bowcher QUALIFIED
Frozen Columns
Name
Mujtaba W Schemmer
Morrow T Iturbide
Aika D Oldroyd
Octavia T Tollner
Salvatore D Ferencz
Smith Y Sergi
Maria V Chui
Maisha Y Wieser
Murillo S Schemmer
Arvin Q Garufi
Ivar A Briddick
Sinclair X Venere
Rodrigues F Ostrosky
Nicolas U Schemmer
Murillo X Bowley
Ricardo X Saylors
Izzy S Venere
Mayumi A Vocelka
Deepesh K Doe
Kaitlin X Foller
Claire X Poquette
Misaki W Vocelka
Deepesh Y Albares
Ashley F Dilliard
Kaitlin K Darakjy
Salvatore X Rim
Cody F Dilliard
Murillo N Albares
Ashley T Iturbide
Jennifer S Gaucho
Sinclair U Inouye
Adams Z Shinko
Alejandro J Flosi
Octavia N Campain
Munro X Inouye
Faith Z Morasca
Jefferson Q Albares
Johnson F Ferencz
Stacey D Sergi
Ivar S Kusko
Cody U Nestle
Izzy J Marrier
James Z Briddick
Julie I Nestle
Isabel V Shinko
Arvin K Ruta
Mujtaba C Butt
David N Caudy
David I Oldroyd
Aditya U Whobrey
IdCountryDate
1000Brazil2026-06-21
1001Germany2026-06-12
1002Brazil2026-06-16
1003Canada2026-06-23
1004United Kingdom2026-06-04
1005United Kingdom2026-06-17
1006France2026-06-23
1007Russia2026-06-05
1008France2026-06-06
1009Japan2026-06-06
1010India2026-06-10
1011United Kingdom2026-06-16
1012Australia2026-06-21
1013Japan2026-06-17
1014Japan2026-06-08
1015Germany2026-06-25
1016Japan2026-06-12
1017India2026-05-31
1018Italy2026-06-22
1019Japan2026-06-13
1020Spain2026-06-24
1021United Kingdom2026-06-07
1022Italy2026-06-09
1023Germany2026-06-08
1024Australia2026-06-21
1025Spain2026-06-26
1026Argentina2026-06-16
1027Argentina2026-06-20
1028Japan2026-06-13
1029Spain2026-06-11
1030Argentina2026-06-15
1031Brazil2026-06-11
1032Italy2026-06-10
1033France2026-06-16
1034India2026-06-11
1035Spain2026-06-15
1036Argentina2026-06-16
1037France2026-06-27
1038Argentina2026-06-02
1039India2026-06-14
1040France2026-06-22
1041Russia2026-06-17
1042Brazil2026-06-16
1043Russia2026-06-26
1044Canada2026-06-06
1045Argentina2026-06-02
1046Italy2026-06-16
1047United Kingdom2026-06-25
1048Germany2026-06-07
1049Brazil2026-06-07

On-Demand Data

NameIdCountryDate
Misaki G Royster1000Australia2026-06-07
Wickens W Marrier1001Germany2026-06-23
Ashley J Royster1002France2026-06-14
Claire H Saylors1003Argentina2026-06-03
Antonio C Darakjy1004Germany2026-06-22
Aika E Dilliard1005Brazil2026-05-31
Clifford G Saylors1006Spain2026-06-08
Nicolas L Nicka1007Argentina2026-06-15
Aditya D Gaucho1008Spain2026-06-06
Isabel E Dilliard1009Argentina2026-05-30
Nicolas W Amigon1010Australia2026-06-06
Aditya L Gillian1011Germany2026-06-21
Faith G Caudy1012Germany2026-06-24
Arvin C Amigon1013Germany2026-06-07
Leja F Rulapaugh1014Australia2026-06-11
Wickens C Kolmetz1015Australia2026-06-18
Salvatore M Malet1016France2026-06-05
Johnson H Stockham1017France2026-06-10
Leja X Caldarera1018Spain2026-06-05
Misaki F Paprocki1019Argentina2026-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya O KolmetzAustraliaAnna Fali QUALIFIED
Claire X RutaUnited KingdomAnna Fali UNQUALIFIED
Rodrigues W NestleBrazilAsiya Javayant RENEWAL
Costa H WieserIndiaElwin Sharvill PROPOSAL
Aika Z KolmetzJapanAsiya Javayant NEW
Mujtaba H IturbideBrazilBernardo Dominic PROPOSAL
Julie J StockhamRussiaAsiya Javayant NEGOTIATION
Isabel I PoquetteItalyElwin Sharvill UNQUALIFIED
Stacey Q GarufiJapanElwin Sharvill NEW
Maria H MaletBrazilAsiya Javayant RENEWAL
Antonio I FollerCanadaIvan Magalhaes NEW
Aruna O DoeIndiaOnyama Limba NEW
Chavez U NestleCanadaAnna Fali UNQUALIFIED
Salvatore B KolmetzGermanyAnna Fali NEGOTIATION
Kadeem Z PoquetteFranceOnyama Limba UNQUALIFIED
Deepesh K ButtJapanBernardo Dominic NEW
Aruna K GarufiBrazilXuxue Feng RENEWAL
Arvin F BriddickGermanyAnna Fali UNQUALIFIED
Ricardo F AmigonArgentinaBernardo Dominic UNQUALIFIED
Munro J DilliardUnited KingdomOnyama Limba QUALIFIED
Mayumi N BologniaFranceIvan Magalhaes RENEWAL
Kaitlin H SergiFranceOnyama Limba UNQUALIFIED
Munro H TollnerIndiaAmy Elsner NEGOTIATION
Munro I SaylorsFranceOnyama Limba QUALIFIED
Izzy B PoquetteArgentinaAnna Fali QUALIFIED
Antonio O NestleFranceXuxue Feng RENEWAL
Francesco A BowleyJapanOnyama Limba UNQUALIFIED
Alejandro A TollnerUnited KingdomXuxue Feng QUALIFIED
Nicolas Y WaycottAustraliaIoni Bowcher QUALIFIED
Tony N IturbideUnited KingdomStephen Shaw PROPOSAL
Silvio V InouyeJapanIvan Magalhaes PROPOSAL
Adams E MorascaSpainXuxue Feng RENEWAL
Jones S DarakjySpainOnyama Limba NEGOTIATION
Nicolas O GauchoSpainBernardo Dominic PROPOSAL
Arvin E WaycottItalyBernardo Dominic RENEWAL
Johnson R NickaArgentinaAnna Fali QUALIFIED
Juan N WieserItalyBernardo Dominic UNQUALIFIED
Munro E SaylorsJapanAsiya Javayant NEW
Nicolas I MacleadIndiaAmy Elsner NEGOTIATION
Isabel S CaudyGermanyAnna Fali NEW

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