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 N OldroydCanadaStephen Shaw QUALIFIED
Deepesh U RulapaughCanadaIvan Magalhaes UNQUALIFIED
Faith D SlusarskiIndiaBernardo Dominic NEGOTIATION
Antonio R FlosiJapanXuxue Feng QUALIFIED
Jeanfrancois J MorascaJapanXuxue Feng QUALIFIED
Leon A MaletUnited KingdomIvan Magalhaes PROPOSAL
Octavia J GlickItalyXuxue Feng NEW
Faith V DarakjyBrazilXuxue Feng PROPOSAL
Jennifer F FollerAustraliaXuxue Feng PROPOSAL
Claire A CampainFranceIvan Magalhaes NEGOTIATION
Costa A RimGermanyAnna Fali NEW
Faith W MacleadIndiaBernardo Dominic NEW
Jones Y MarrierIndiaElwin Sharvill NEGOTIATION
Jefferson L SergiJapanAsiya Javayant RENEWAL
Adams Z SlusarskiCanadaOnyama Limba PROPOSAL
Francesco S FerenczFranceIoni Bowcher NEGOTIATION
Jeanfrancois C NestleBrazilAnna Fali NEW
Aika W WaycottJapanBernardo Dominic RENEWAL
Rodrigues I IturbideIndiaBernardo Dominic NEW
Maisha H RutaJapanAnna Fali NEGOTIATION
Aika U AlbaresIndiaIvan Magalhaes UNQUALIFIED
Adams N RoysterCanadaIoni Bowcher NEGOTIATION
Emily S FollerRussiaElwin Sharvill NEGOTIATION
Mujtaba P InouyeSpainOnyama Limba RENEWAL
Murillo H BriddickJapanAmy Elsner PROPOSAL
Salvatore P CaudyFranceAsiya Javayant UNQUALIFIED
Aditya Y MarrierAustraliaBernardo Dominic NEW
Izzy E OstroskyAustraliaElwin Sharvill NEW
Jeanfrancois L MorascaRussiaOnyama Limba QUALIFIED
Juan C GauchoBrazilIoni Bowcher QUALIFIED
Aika W DoeUnited KingdomOnyama Limba UNQUALIFIED
Smith X GlickIndiaXuxue Feng QUALIFIED
Jones P CaldareraItalyBernardo Dominic NEW
Aditya R OstroskyArgentinaStephen Shaw NEW
Leja K WaycottJapanAmy Elsner RENEWAL
Arvin K RutaFranceBernardo Dominic PROPOSAL
Stacey X MaletSpainElwin Sharvill PROPOSAL
Tony H PerinSpainOnyama Limba NEW
Costa V SchemmerJapanAsiya Javayant PROPOSAL
Francesco U InouyeFranceAsiya Javayant NEGOTIATION
Alejandro S WieserBrazilXuxue Feng PROPOSAL
Misaki G AmigonJapanOnyama Limba RENEWAL
Aika O KolmetzCanadaIoni Bowcher UNQUALIFIED
Silvio L PaprockiRussiaXuxue Feng RENEWAL
Murillo F RimFranceAnna Fali NEW
Greenwood W VenereFranceAmy Elsner NEGOTIATION
Kaitlin Q WhobreyArgentinaBernardo Dominic RENEWAL
Silvio G SchemmerGermanyAmy Elsner QUALIFIED
Mujtaba U InouyeItalyXuxue Feng QUALIFIED
Wickens J WhobreyUnited KingdomAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford T WaycottSpainStephen Shaw NEGOTIATION
Murillo Q BologniaAustraliaElwin Sharvill QUALIFIED
Silvio H CampainSpainAnna Fali QUALIFIED
Emily U DarakjyBrazilElwin Sharvill NEW
Ashley Y FlosiRussiaAmy Elsner RENEWAL
Leja X DilliardUnited KingdomAsiya Javayant UNQUALIFIED
Jones L MaletArgentinaIvan Magalhaes QUALIFIED
David W StensethFranceAmy Elsner RENEWAL
Kaitlin X GillianCanadaAsiya Javayant NEW
Antonio O BriddickGermanyAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki X IturbideGermany2026-04-07Printing Dimensions UNQUALIFIED88Elwin Sharvill
1001Claire C GarufiGermany2026-04-04Rangoni Of Florence NEGOTIATION35Ioni Bowcher
1002Faith N VocelkaCanada2026-03-19Printing Dimensions NEW24Ivan Magalhaes
1003Izzy J SergiRussia2026-04-08Rangoni Of Florence RENEWAL79Elwin Sharvill
1004Costa X DoeAustralia2026-03-26Feltz Printing Service NEW76Ioni Bowcher
1005Cody Z WhobreyCanada2026-03-21Truhlar And Truhlar Attys PROPOSAL79Stephen Shaw
1006Chavez B GauchoUnited Kingdom2026-03-22Morlong Associates NEW44Bernardo Dominic
1007Kadeem L WhobreyArgentina2026-03-14King, Christopher A Esq NEGOTIATION63Amy Elsner
1008Maisha U DoeGermany2026-03-20Benton, John B Jr UNQUALIFIED82Elwin Sharvill
1009Arvin Q DoeFrance2026-03-16Dorl, James J Esq UNQUALIFIED76Ioni Bowcher
1010Chavez K BowleyAustralia2026-03-26Chemel, James L Cpa NEW24Amy Elsner
1011Nicolas I TollnerUnited Kingdom2026-04-01Dorl, James J Esq UNQUALIFIED67Bernardo Dominic
1012Munro A AmigonSpain2026-03-16Commercial Press RENEWAL74Ioni Bowcher
1013Antonio F GarufiUnited Kingdom2026-03-17King, Christopher A Esq UNQUALIFIED68Anna Fali
1014Kaitlin J ButtArgentina2026-03-13Feltz Printing Service UNQUALIFIED59Amy Elsner
1015Emily N StockhamFrance2026-04-05Feltz Printing Service NEGOTIATION92Xuxue Feng
1016David X KolmetzGermany2026-03-30Chapman, Ross E Esq QUALIFIED78Bernardo Dominic
1017Isabel Z MaletIndia2026-03-26Feltz Printing Service UNQUALIFIED91Ioni Bowcher
1018Juan P ChuiUnited Kingdom2026-03-23Chapman, Ross E Esq QUALIFIED51Ioni Bowcher
1019Adams L PerinRussia2026-03-11Feltz Printing Service NEW75Amy Elsner
1020Leja O WaycottItaly2026-04-07Benton, John B Jr NEW70Asiya Javayant
1021Sinclair J BriddickRussia2026-03-27Feltz Printing Service NEGOTIATION28Bernardo Dominic
1022Cody A VocelkaSpain2026-04-04Feltz Printing Service RENEWAL69Ivan Magalhaes
1023Cody M AmigonJapan2026-03-18Chemel, James L Cpa UNQUALIFIED5Elwin Sharvill
1024Izzy N CaldareraJapan2026-03-29Rousseaux, Michael Esq NEW95Ioni Bowcher
1025Rodrigues R IturbideAustralia2026-04-06Buckley Miller Wright QUALIFIED33Bernardo Dominic
1026Salvatore W MorascaSpain2026-03-28Feltz Printing Service RENEWAL34Asiya Javayant
1027Wickens G ButtSpain2026-03-12Printing Dimensions RENEWAL85Bernardo Dominic
1028Nicolas A StockhamCanada2026-03-10Chanay, Jeffrey A Esq QUALIFIED44Ivan Magalhaes
1029Aruna T RoysterFrance2026-04-07Rousseaux, Michael Esq RENEWAL1Anna Fali
1030Jeanfrancois I GlickFrance2026-03-19Truhlar And Truhlar Attys RENEWAL77Ioni Bowcher
1031Francesco V SaylorsJapan2026-04-01Chemel, James L Cpa PROPOSAL35Onyama Limba
1032Francesco A BriddickFrance2026-03-20Truhlar And Truhlar Attys NEW59Xuxue Feng
1033Antonio M StockhamFrance2026-03-24Feltz Printing Service UNQUALIFIED90Bernardo Dominic
1034Darci S SchemmerBrazil2026-03-11Truhlar And Truhlar Attys NEW72Anna Fali
1035Mujtaba A DoeBrazil2026-03-15Commercial Press QUALIFIED7Xuxue Feng
1036Mayumi G InouyeGermany2026-04-02Chemel, James L Cpa UNQUALIFIED20Ioni Bowcher
1037Rodrigues W VenereCanada2026-03-30Chemel, James L Cpa UNQUALIFIED53Ivan Magalhaes
1038Darci T FigeroaArgentina2026-03-13Buckley Miller Wright UNQUALIFIED54Elwin Sharvill
1039Maria U PerinGermany2026-04-04Rangoni Of Florence NEGOTIATION37Xuxue Feng
1040Izzy D NestleSpain2026-03-19Buckley Miller Wright RENEWAL6Bernardo Dominic
1041Mayumi A BowleyIndia2026-03-11King, Christopher A Esq QUALIFIED66Ivan Magalhaes
1042Adams F CampainFrance2026-03-27Rousseaux, Michael Esq NEW31Bernardo Dominic
1043Aruna S GauchoRussia2026-03-26Morlong Associates PROPOSAL49Bernardo Dominic
1044Claire T RulapaughGermany2026-03-27Chemel, James L Cpa RENEWAL73Ivan Magalhaes
1045Leon Y SchemmerGermany2026-03-13Buckley Miller Wright NEW46Onyama Limba
1046Stacey X VenereGermany2026-03-15Rousseaux, Michael Esq QUALIFIED37Asiya Javayant
1047Kadeem J PaprockiAustralia2026-03-25Chapman, Ross E Esq PROPOSAL53Bernardo Dominic
1048Claire Z GarufiFrance2026-03-23Chapman, Ross E Esq RENEWAL65Asiya Javayant
1049Salvatore I RoysterUnited Kingdom2026-03-30Feiner Bros NEGOTIATION32Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Misaki B NickaSpainAmy Elsner QUALIFIED
Maria F GlickArgentinaIoni Bowcher NEGOTIATION
Tony Z NickaFranceIoni Bowcher NEGOTIATION
Arvin C CaudyAustraliaIvan Magalhaes NEW
Aruna L GauchoCanadaOnyama Limba NEW
Jefferson Y AmigonIndiaAmy Elsner QUALIFIED
Morrow I RutaIndiaAnna Fali NEGOTIATION
Jeanfrancois B RimSpainAnna Fali RENEWAL
Adams E MarrierGermanyBernardo Dominic UNQUALIFIED
Emily T PerinIndiaAmy Elsner NEW
James S ShinkoAustraliaBernardo Dominic PROPOSAL
David C MarrierFranceOnyama Limba PROPOSAL
Tony J InouyeAustraliaAmy Elsner NEW
Aruna S PaprockiSpainAmy Elsner QUALIFIED
Mayumi C RoysterCanadaElwin Sharvill RENEWAL
David Z WhobreySpainAsiya Javayant RENEWAL
Deepesh Y KolmetzArgentinaIoni Bowcher QUALIFIED
Jeanfrancois R RimArgentinaIoni Bowcher QUALIFIED
Isabel K DilliardSpainBernardo Dominic NEW
Salvatore H StensethUnited KingdomIoni Bowcher RENEWAL
Rodrigues G ButtUnited KingdomAsiya Javayant PROPOSAL
Jennifer C BowleyCanadaAnna Fali RENEWAL
Aditya Y BriddickGermanyIvan Magalhaes UNQUALIFIED
Aditya L CaldareraIndiaIoni Bowcher QUALIFIED
Ivar X FollerFranceStephen Shaw RENEWAL
Ricardo P VenereSpainStephen Shaw QUALIFIED
Misaki M BriddickArgentinaStephen Shaw RENEWAL
Munro P GauchoRussiaAnna Fali NEGOTIATION
Leon R CaudyRussiaIoni Bowcher NEW
Kaitlin E MarrierItalyIvan Magalhaes QUALIFIED
Juan Y PoquetteRussiaXuxue Feng PROPOSAL
Smith E ChuiItalyXuxue Feng RENEWAL
Leja M NickaRussiaIoni Bowcher NEGOTIATION
Tony X RutaJapanStephen Shaw NEW
Tony B OstroskyGermanyOnyama Limba RENEWAL
David O MarrierBrazilAmy Elsner NEW
Jeanfrancois M ButtCanadaElwin Sharvill RENEWAL
Leon S AlbaresArgentinaAsiya Javayant QUALIFIED
Munro Z NickaArgentinaIoni Bowcher RENEWAL
James A SergiAustraliaAsiya Javayant RENEWAL
Cody D KolmetzJapanOnyama Limba QUALIFIED
Mayumi G GlickItalyAmy Elsner QUALIFIED
Greenwood R ShinkoAustraliaXuxue Feng RENEWAL
Jennifer C BriddickRussiaElwin Sharvill NEGOTIATION
Murillo M CaudyFranceIvan Magalhaes RENEWAL
Leja W RulapaughRussiaBernardo Dominic NEW
Chavez Q NestleAustraliaAmy Elsner QUALIFIED
Leja I PerinGermanyAmy Elsner NEGOTIATION
Ashley L GauchoFranceAnna Fali NEW
Ricardo P MarrierJapanIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Aditya M Slusarski
James X Bowley
Alejandro L Venere
Jeanfrancois H Gaucho
Tony F Maclead
Munro R Shinko
James O Kusko
Isabel A Ruta
Leon A Darakjy
Deepesh Z Perin
Aditya X Slusarski
Mayumi J Bolognia
Julie R Darakjy
James R Paprocki
Isabel O Stockham
Munro R Gaucho
Ashley J Caldarera
Ivar Q Maclead
Rodrigues W Amigon
Antonio W Maclead
Ashley Y Doe
Aditya X Maclead
Claire W Caudy
Smith M Foller
Leon A Slusarski
Stacey O Saylors
Jeanfrancois C Maclead
James V Kusko
Wickens O Nicka
Jones L Chui
Clifford C Nicka
Claire T Malet
Octavia H Stockham
Johnson I Campain
Leon G Garufi
Greenwood D Albares
David N Rulapaugh
Ivar Z Kolmetz
Ricardo F Kolmetz
Mujtaba Q Vocelka
Ivar A Briddick
Stacey E Gaucho
Murillo V Nestle
Mujtaba M Dilliard
Jones B Venere
Ashley D Malet
Leja S Foller
Francesco X Paprocki
Antonio U Caudy
Leja U Vocelka
IdCountryDate
1000Germany2026-04-02
1001Italy2026-03-24
1002Argentina2026-04-03
1003United Kingdom2026-04-02
1004Germany2026-04-06
1005Brazil2026-04-04
1006Brazil2026-03-18
1007Argentina2026-04-07
1008United Kingdom2026-03-20
1009Brazil2026-03-31
1010India2026-03-19
1011Canada2026-03-21
1012Canada2026-03-21
1013Brazil2026-03-31
1014Japan2026-03-26
1015Australia2026-03-20
1016Russia2026-03-26
1017Italy2026-03-16
1018Japan2026-03-15
1019Australia2026-03-24
1020Canada2026-03-23
1021Canada2026-03-20
1022Russia2026-03-31
1023France2026-04-05
1024Russia2026-04-04
1025United Kingdom2026-04-04
1026India2026-03-19
1027Argentina2026-03-10
1028India2026-03-18
1029Italy2026-04-01
1030United Kingdom2026-04-03
1031Canada2026-04-08
1032United Kingdom2026-04-07
1033Brazil2026-04-04
1034France2026-04-03
1035France2026-03-18
1036India2026-03-10
1037Japan2026-03-31
1038Brazil2026-03-11
1039France2026-03-19
1040Canada2026-03-11
1041France2026-04-03
1042France2026-04-08
1043France2026-03-21
1044Russia2026-03-22
1045Russia2026-03-17
1046United Kingdom2026-03-16
1047India2026-03-21
1048Brazil2026-03-11
1049Brazil2026-03-14

On-Demand Data

NameIdCountryDate
Costa I Ruta1000Brazil2026-04-07
Johnson K Malet1001Canada2026-03-15
Kadeem F Marrier1002Canada2026-03-29
Rodrigues Z Oldroyd1003Italy2026-03-14
Munro K Butt1004Australia2026-03-18
Mujtaba F Nestle1005Australia2026-03-24
Clifford N Malet1006Brazil2026-04-08
James D Kusko1007France2026-03-31
Jefferson E Gaucho1008France2026-03-23
Alejandro M Briddick1009Germany2026-03-26
Jeanfrancois H Bowley1010Italy2026-03-21
Smith Z Kusko1011Canada2026-04-02
Claire K Rulapaugh1012Canada2026-03-31
Nicolas R Nestle1013Brazil2026-03-27
Emily P Kolmetz1014Argentina2026-03-23
Murillo B Iturbide1015United Kingdom2026-03-18
Alejandro I Nicka1016Brazil2026-03-31
Julie F Nicka1017France2026-03-21
James M Shinko1018Russia2026-03-26
Nicolas Y Slusarski1019Germany2026-03-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones P SlusarskiSpainAnna Fali RENEWAL
Faith K OstroskyRussiaXuxue Feng NEW
Arvin O WaycottSpainElwin Sharvill QUALIFIED
Mayumi Z PoquetteArgentinaIvan Magalhaes PROPOSAL
Mujtaba J ChuiBrazilAsiya Javayant QUALIFIED
Smith I BologniaFranceAnna Fali RENEWAL
Morrow X GlickJapanAmy Elsner RENEWAL
Aditya P RimGermanyIoni Bowcher RENEWAL
Jennifer U OstroskyUnited KingdomElwin Sharvill RENEWAL
Mayumi T MarrierRussiaAnna Fali NEW
Murillo C ChuiArgentinaAsiya Javayant UNQUALIFIED
Greenwood K InouyeItalyAnna Fali UNQUALIFIED
Clifford L InouyeAustraliaElwin Sharvill RENEWAL
Munro O SchemmerFranceElwin Sharvill NEGOTIATION
Mayumi X OstroskyFranceOnyama Limba NEGOTIATION
Nicolas Y PaprockiFranceAmy Elsner PROPOSAL
Jeanfrancois G KuskoFranceElwin Sharvill RENEWAL
Jeanfrancois W InouyeCanadaElwin Sharvill UNQUALIFIED
Sinclair F RoysterBrazilAsiya Javayant NEGOTIATION
Kaitlin Q SlusarskiGermanyOnyama Limba UNQUALIFIED
Ashley F AmigonFranceElwin Sharvill NEGOTIATION
Ivar Y OstroskyRussiaBernardo Dominic QUALIFIED
Francesco C MarrierFranceAmy Elsner NEGOTIATION
Jennifer D DoeGermanyAnna Fali NEGOTIATION
Kaitlin Q ShinkoSpainIoni Bowcher QUALIFIED
Julie C BowleyRussiaAnna Fali RENEWAL
Morrow N KolmetzArgentinaIoni Bowcher NEW
Stacey B SaylorsIndiaIvan Magalhaes NEGOTIATION
Cody A GauchoArgentinaAsiya Javayant NEW
Octavia R MacleadGermanyIoni Bowcher UNQUALIFIED
James C RimSpainOnyama Limba UNQUALIFIED
Munro J BologniaGermanyIoni Bowcher UNQUALIFIED
Ricardo J AlbaresItalyStephen Shaw NEGOTIATION
Jeanfrancois Q MarrierSpainAmy Elsner UNQUALIFIED
Munro L OldroydSpainAnna Fali NEGOTIATION
Alejandro J ButtJapanAmy Elsner NEGOTIATION
Tony G TollnerCanadaIvan Magalhaes NEGOTIATION
Sinclair P AlbaresSpainAsiya Javayant NEGOTIATION
Leja H FollerBrazilBernardo Dominic NEW
Arvin L DarakjyAustraliaXuxue Feng 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.