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
Silvio W GillianJapanStephen Shaw RENEWAL
Stacey G GlickSpainOnyama Limba PROPOSAL
Aruna J GillianIndiaElwin Sharvill UNQUALIFIED
Aruna Z ButtFranceStephen Shaw PROPOSAL
Morrow B BologniaIndiaIoni Bowcher QUALIFIED
Deepesh G FerenczArgentinaAmy Elsner NEW
Leja G AmigonSpainBernardo Dominic UNQUALIFIED
Sinclair F OldroydGermanyAmy Elsner QUALIFIED
Francesco Y OldroydSpainIoni Bowcher NEW
Deepesh R KolmetzAustraliaAnna Fali PROPOSAL
Smith N SchemmerAustraliaOnyama Limba PROPOSAL
Mujtaba S KolmetzCanadaXuxue Feng NEW
Murillo B PoquetteFranceIoni Bowcher UNQUALIFIED
Stacey T ChuiArgentinaAmy Elsner NEGOTIATION
Sinclair T BologniaItalyXuxue Feng PROPOSAL
Ivar E DilliardCanadaAnna Fali RENEWAL
Maisha X BologniaRussiaElwin Sharvill QUALIFIED
Darci K ButtGermanyAnna Fali NEW
Ashley D PoquetteUnited KingdomAnna Fali UNQUALIFIED
Salvatore H RutaItalyAmy Elsner PROPOSAL
Ricardo R ChuiCanadaAsiya Javayant NEW
Leja P ShinkoFranceIvan Magalhaes NEGOTIATION
Ivar B SchemmerSpainOnyama Limba NEW
Octavia J NestleGermanyAsiya Javayant QUALIFIED
Arvin D WaycottRussiaStephen Shaw NEGOTIATION
Leon V PaprockiGermanyAsiya Javayant PROPOSAL
Deepesh T FlosiSpainAsiya Javayant NEGOTIATION
Clifford Q GarufiGermanyAsiya Javayant PROPOSAL
Francesco Q StockhamRussiaAmy Elsner PROPOSAL
Faith S CaldareraSpainIoni Bowcher QUALIFIED
Clifford P DilliardIndiaXuxue Feng PROPOSAL
Murillo U DarakjyUnited KingdomAmy Elsner NEW
Clifford K InouyeAustraliaStephen Shaw QUALIFIED
Nicolas F BowleyAustraliaIoni Bowcher NEGOTIATION
Ivar N NickaJapanIoni Bowcher PROPOSAL
Wickens O FerenczCanadaXuxue Feng UNQUALIFIED
Arvin D MorascaBrazilAmy Elsner NEW
Misaki D CampainUnited KingdomAsiya Javayant RENEWAL
Tony K GillianGermanyOnyama Limba NEW
Antonio C GarufiAustraliaBernardo Dominic PROPOSAL
Deepesh G FerenczAustraliaBernardo Dominic RENEWAL
Nicolas H SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Aditya G WieserIndiaStephen Shaw NEW
Arvin P WhobreyAustraliaAsiya Javayant UNQUALIFIED
Kadeem Z SaylorsGermanyBernardo Dominic NEW
Munro G MorascaJapanBernardo Dominic NEGOTIATION
Greenwood D ChuiCanadaOnyama Limba RENEWAL
Darci Z WaycottCanadaElwin Sharvill PROPOSAL
Leja A BologniaAustraliaAnna Fali NEW
Johnson M DarakjySpainAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jefferson T WieserSpainAnna Fali RENEWAL
David N SergiRussiaAsiya Javayant NEW
Izzy D ChuiJapanAmy Elsner RENEWAL
Octavia H WieserFranceOnyama Limba PROPOSAL
Jones L SergiJapanXuxue Feng PROPOSAL
Antonio W RulapaughArgentinaIoni Bowcher PROPOSAL
Chavez M RulapaughSpainElwin Sharvill QUALIFIED
Darci X SlusarskiJapanElwin Sharvill RENEWAL
Wickens X RimUnited KingdomIoni Bowcher QUALIFIED
Aditya S GillianSpainBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro T ButtBrazil2026-05-14Truhlar And Truhlar Attys QUALIFIED66Anna Fali
1001Aditya S InouyeFrance2026-04-29Commercial Press NEGOTIATION55Bernardo Dominic
1002Stacey P MacleadItaly2026-04-24Chemel, James L Cpa PROPOSAL65Anna Fali
1003Antonio G OldroydFrance2026-05-14Truhlar And Truhlar Attys RENEWAL98Bernardo Dominic
1004Octavia F AlbaresFrance2026-05-17Dorl, James J Esq PROPOSAL20Stephen Shaw
1005Munro C OldroydRussia2026-05-15Truhlar And Truhlar Attys QUALIFIED48Onyama Limba
1006Izzy O RoysterGermany2026-05-04Chapman, Ross E Esq QUALIFIED50Elwin Sharvill
1007Kaitlin C OstroskyRussia2026-04-25Feltz Printing Service UNQUALIFIED91Xuxue Feng
1008Jones Q WieserArgentina2026-05-14King, Christopher A Esq QUALIFIED34Ivan Magalhaes
1009Clifford K MaletGermany2026-05-15Feiner Bros QUALIFIED9Asiya Javayant
1010Aruna L FigeroaUnited Kingdom2026-04-29Benton, John B Jr RENEWAL17Ivan Magalhaes
1011Rodrigues J ChuiUnited Kingdom2026-05-14Rangoni Of Florence NEW44Elwin Sharvill
1012Murillo K CaudySpain2026-05-16Dorl, James J Esq NEGOTIATION93Asiya Javayant
1013David O VenereFrance2026-05-04Commercial Press NEW76Asiya Javayant
1014Claire H TollnerIndia2026-04-29Benton, John B Jr RENEWAL75Amy Elsner
1015Salvatore N BriddickUnited Kingdom2026-04-25Chapman, Ross E Esq NEW14Ioni Bowcher
1016Aditya J NestleItaly2026-04-23Chanay, Jeffrey A Esq PROPOSAL31Asiya Javayant
1017Leon A PaprockiArgentina2026-05-02Chanay, Jeffrey A Esq UNQUALIFIED31Stephen Shaw
1018Leja G BriddickUnited Kingdom2026-05-16Feiner Bros NEGOTIATION37Amy Elsner
1019Maisha B IturbideSpain2026-05-11Buckley Miller Wright UNQUALIFIED50Stephen Shaw
1020Faith X AlbaresUnited Kingdom2026-05-20Feltz Printing Service UNQUALIFIED11Ioni Bowcher
1021Antonio G RoysterItaly2026-05-20Commercial Press QUALIFIED74Stephen Shaw
1022Arvin A PerinFrance2026-05-12Chemel, James L Cpa PROPOSAL58Xuxue Feng
1023Octavia E StockhamAustralia2026-04-24Rousseaux, Michael Esq PROPOSAL16Elwin Sharvill
1024Ricardo B SchemmerAustralia2026-05-01Rousseaux, Michael Esq UNQUALIFIED35Anna Fali
1025Kadeem C DilliardCanada2026-05-04Commercial Press NEGOTIATION79Elwin Sharvill
1026Darci Z CampainBrazil2026-05-18Rangoni Of Florence RENEWAL8Elwin Sharvill
1027Nicolas P BriddickGermany2026-05-01Truhlar And Truhlar Attys NEGOTIATION35Ioni Bowcher
1028Deepesh Y OldroydFrance2026-04-24King, Christopher A Esq PROPOSAL54Ivan Magalhaes
1029Jefferson Z RulapaughSpain2026-05-09Chapman, Ross E Esq QUALIFIED57Bernardo Dominic
1030Maria N SlusarskiSpain2026-04-26Rangoni Of Florence UNQUALIFIED85Onyama Limba
1031Costa X WieserIndia2026-05-19Feltz Printing Service RENEWAL41Bernardo Dominic
1032Sinclair O DarakjyBrazil2026-04-26Dorl, James J Esq NEW6Ioni Bowcher
1033Julie Q KolmetzSpain2026-05-13Benton, John B Jr QUALIFIED3Anna Fali
1034Julie P DilliardGermany2026-04-30Rousseaux, Michael Esq RENEWAL92Asiya Javayant
1035Julie T MaletSpain2026-05-01Chapman, Ross E Esq NEGOTIATION99Xuxue Feng
1036Mujtaba C GlickGermany2026-05-11Feiner Bros PROPOSAL95Elwin Sharvill
1037Stacey P GauchoFrance2026-05-20Feltz Printing Service PROPOSAL7Asiya Javayant
1038Julie D MaletUnited Kingdom2026-05-18Commercial Press NEW91Anna Fali
1039Rodrigues R OldroydCanada2026-04-24Feiner Bros NEGOTIATION47Onyama Limba
1040Munro R CampainSpain2026-04-28Dorl, James J Esq UNQUALIFIED12Elwin Sharvill
1041Julie A DoeGermany2026-04-30Morlong Associates NEW7Onyama Limba
1042Izzy Q MaletIndia2026-05-18Feltz Printing Service UNQUALIFIED88Elwin Sharvill
1043Kaitlin T PaprockiAustralia2026-05-22King, Christopher A Esq RENEWAL79Anna Fali
1044Wickens B InouyeSpain2026-04-26Benton, John B Jr NEGOTIATION24Asiya Javayant
1045Chavez L SaylorsCanada2026-05-09Feltz Printing Service NEGOTIATION99Ioni Bowcher
1046Silvio D IturbideCanada2026-04-24Chemel, James L Cpa RENEWAL64Bernardo Dominic
1047Sinclair A ChuiUnited Kingdom2026-05-21Buckley Miller Wright UNQUALIFIED75Anna Fali
1048Costa B CaudyItaly2026-04-25Chapman, Ross E Esq UNQUALIFIED87Ioni Bowcher
1049Francesco B AlbaresAustralia2026-05-19King, Christopher A Esq QUALIFIED33Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Arvin A CampainUnited KingdomAmy Elsner QUALIFIED
Izzy M AmigonArgentinaAnna Fali NEW
Aditya O NestleRussiaAmy Elsner NEW
Salvatore N ChuiUnited KingdomAsiya Javayant NEW
Leja S KuskoItalyIoni Bowcher NEGOTIATION
Faith C ChuiArgentinaIvan Magalhaes NEGOTIATION
Aditya M RimIndiaBernardo Dominic QUALIFIED
Jeanfrancois A CaldareraRussiaStephen Shaw PROPOSAL
Aika V PoquetteCanadaOnyama Limba NEGOTIATION
Jefferson H MaletItalyIoni Bowcher RENEWAL
Jeanfrancois M TollnerIndiaXuxue Feng PROPOSAL
Costa F DilliardUnited KingdomElwin Sharvill NEW
Clifford L CaudyAustraliaAnna Fali UNQUALIFIED
Leon Y RutaIndiaAsiya Javayant RENEWAL
James X IturbideFranceXuxue Feng NEGOTIATION
Ricardo W BowleyIndiaBernardo Dominic RENEWAL
Smith P MarrierBrazilIvan Magalhaes PROPOSAL
Alejandro J WaycottIndiaIoni Bowcher RENEWAL
Julie R IturbideArgentinaElwin Sharvill UNQUALIFIED
Smith U PerinBrazilAmy Elsner UNQUALIFIED
Francesco S RulapaughAustraliaElwin Sharvill RENEWAL
Arvin J RutaUnited KingdomOnyama Limba NEGOTIATION
Clifford R SchemmerJapanAmy Elsner UNQUALIFIED
Ashley M NickaUnited KingdomOnyama Limba UNQUALIFIED
Arvin W GarufiBrazilAnna Fali NEGOTIATION
Faith K VenereAustraliaAmy Elsner QUALIFIED
Silvio I PoquetteJapanStephen Shaw QUALIFIED
Maisha J FerenczItalyXuxue Feng UNQUALIFIED
Ricardo X NickaRussiaIoni Bowcher UNQUALIFIED
James U PerinRussiaAnna Fali NEGOTIATION
Darci U AmigonAustraliaAmy Elsner NEW
Sinclair W DoeAustraliaAsiya Javayant UNQUALIFIED
Izzy C PoquetteGermanyOnyama Limba UNQUALIFIED
Sinclair D BologniaItalyIoni Bowcher RENEWAL
Cody I GarufiUnited KingdomAsiya Javayant PROPOSAL
Salvatore O WieserArgentinaIvan Magalhaes NEGOTIATION
Izzy R KuskoRussiaIoni Bowcher UNQUALIFIED
Sinclair L MorascaCanadaIvan Magalhaes QUALIFIED
Leja G FollerBrazilOnyama Limba QUALIFIED
Adams W GauchoCanadaAnna Fali NEGOTIATION
Antonio R DarakjyItalyAnna Fali NEW
Isabel I SaylorsAustraliaAsiya Javayant RENEWAL
Silvio N SaylorsSpainIoni Bowcher NEW
Francesco S WhobreyRussiaOnyama Limba QUALIFIED
Ricardo T KuskoCanadaIvan Magalhaes QUALIFIED
Jefferson Z BowleyItalyIvan Magalhaes NEW
Francesco W GlickArgentinaElwin Sharvill NEW
Francesco J RimUnited KingdomBernardo Dominic NEGOTIATION
Wickens K MorascaGermanyAnna Fali NEW
Claire R GlickArgentinaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Johnson M Bowley
Deepesh P Venere
Maisha K Ruta
Chavez L Waycott
Leon K Maclead
Adams W Tollner
Morrow P Kusko
Johnson V Doe
Emily O Sergi
David U Foller
Leja F Wieser
Mayumi P Royster
Emily G Amigon
Ivar F Briddick
Smith T Bolognia
Jefferson Q Nestle
Ivar D Rim
Johnson B Shinko
Aruna Y Tollner
Aika A Nicka
Jeanfrancois Y Dilliard
Adams I Bolognia
Darci Q Morasca
Chavez R Whobrey
Jones S Whobrey
Darci T Stockham
Ivar H Briddick
Misaki H Iturbide
Misaki J Kusko
Leja J Caldarera
Aika U Schemmer
Jeanfrancois D Kusko
Ashley X Stenseth
Jones E Marrier
Costa R Foller
Faith F Glick
Leja F Briddick
Francesco W Maclead
James G Doe
Aditya O Royster
Jones E Foller
Emily R Nicka
Morrow L Rim
Antonio M Briddick
Chavez Y Maclead
Silvio Z Stenseth
Darci K Morasca
Claire N Vocelka
Johnson S Marrier
Izzy O Dilliard
IdCountryDate
1000Australia2026-05-19
1001Spain2026-05-21
1002Argentina2026-05-18
1003Brazil2026-05-14
1004France2026-05-09
1005India2026-04-23
1006Japan2026-05-13
1007United Kingdom2026-05-03
1008United Kingdom2026-04-25
1009Brazil2026-04-30
1010France2026-05-01
1011Italy2026-04-29
1012Italy2026-05-15
1013Italy2026-05-08
1014France2026-05-06
1015France2026-04-30
1016Canada2026-04-26
1017Russia2026-04-27
1018Russia2026-04-24
1019France2026-05-21
1020United Kingdom2026-05-13
1021Italy2026-04-26
1022Argentina2026-05-07
1023Brazil2026-05-09
1024India2026-04-27
1025Russia2026-05-03
1026Germany2026-05-18
1027France2026-05-11
1028United Kingdom2026-05-06
1029Spain2026-05-04
1030Italy2026-05-01
1031Australia2026-04-29
1032Italy2026-05-22
1033Spain2026-05-05
1034France2026-05-14
1035Russia2026-05-06
1036Brazil2026-05-09
1037United Kingdom2026-05-01
1038Brazil2026-04-30
1039India2026-05-14
1040United Kingdom2026-05-11
1041Italy2026-04-29
1042India2026-05-03
1043India2026-04-24
1044Argentina2026-05-18
1045Spain2026-05-01
1046Germany2026-05-10
1047Germany2026-05-10
1048Argentina2026-05-20
1049United Kingdom2026-05-20

On-Demand Data

NameIdCountryDate
Misaki V Ferencz1000Brazil2026-05-18
Aruna X Ferencz1001Italy2026-05-06
Johnson O Ostrosky1002Brazil2026-05-11
Nicolas G Rim1003France2026-04-25
David U Caudy1004Argentina2026-05-22
Murillo G Vocelka1005Spain2026-05-07
Juan O Waycott1006Italy2026-05-11
Greenwood E Malet1007Russia2026-05-19
Mujtaba A Malet1008France2026-05-14
Clifford O Gillian1009India2026-04-28
Isabel X Paprocki1010Brazil2026-05-14
Tony P Ferencz1011Germany2026-05-13
Emily T Nicka1012Spain2026-05-12
Leja M Morasca1013Germany2026-04-30
Ivar F Stockham1014Russia2026-04-29
Salvatore N Marrier1015Argentina2026-05-18
Izzy I Nicka1016Spain2026-05-13
Julie P Venere1017Spain2026-05-14
Leon U Gillian1018Argentina2026-04-24
James Z Darakjy1019Spain2026-05-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi M SergiFranceIoni Bowcher QUALIFIED
Maria P AmigonItalyBernardo Dominic UNQUALIFIED
Julie N MacleadSpainBernardo Dominic PROPOSAL
Jefferson F RimGermanyIvan Magalhaes NEW
Tony B CampainFranceBernardo Dominic QUALIFIED
Faith F PaprockiItalyIoni Bowcher RENEWAL
Maisha G StockhamRussiaBernardo Dominic RENEWAL
Claire Z InouyeGermanyIvan Magalhaes NEGOTIATION
Leja Y DilliardIndiaElwin Sharvill UNQUALIFIED
David Y SlusarskiBrazilIvan Magalhaes NEW
Cody Y MaletCanadaXuxue Feng UNQUALIFIED
Aditya A FlosiUnited KingdomStephen Shaw PROPOSAL
Juan T FigeroaArgentinaAmy Elsner NEGOTIATION
Kadeem T NestleCanadaAmy Elsner QUALIFIED
Claire Y OstroskySpainXuxue Feng QUALIFIED
Maisha A GauchoCanadaAsiya Javayant NEW
Chavez E StensethIndiaIoni Bowcher RENEWAL
Aruna W RutaJapanAsiya Javayant PROPOSAL
Aditya K BologniaCanadaBernardo Dominic QUALIFIED
Clifford T WieserAustraliaStephen Shaw UNQUALIFIED
Octavia D AlbaresRussiaOnyama Limba NEGOTIATION
Murillo Q RulapaughSpainElwin Sharvill RENEWAL
Adams X StensethRussiaElwin Sharvill NEGOTIATION
Maisha F FlosiRussiaAmy Elsner UNQUALIFIED
Izzy Y VocelkaCanadaAmy Elsner UNQUALIFIED
Aika Q BowleyUnited KingdomAnna Fali QUALIFIED
Arvin X RutaUnited KingdomAmy Elsner NEGOTIATION
Mayumi B FollerUnited KingdomAsiya Javayant NEW
Smith R NestleGermanyIvan Magalhaes UNQUALIFIED
Julie O FollerAustraliaElwin Sharvill RENEWAL
Stacey U DoeItalyAsiya Javayant NEW
Munro J VocelkaIndiaStephen Shaw QUALIFIED
Octavia I KolmetzGermanyAsiya Javayant NEGOTIATION
Ricardo Q AmigonUnited KingdomStephen Shaw UNQUALIFIED
Leja T SergiGermanyOnyama Limba NEW
Kaitlin S VenereBrazilAmy Elsner NEGOTIATION
Salvatore B DarakjyItalyAmy Elsner NEW
Adams B NickaRussiaAnna Fali PROPOSAL
Octavia N CaldareraItalyXuxue Feng QUALIFIED
Julie X VocelkaBrazilIvan Magalhaes RENEWAL

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