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
Deepesh C CaudyGermanyAmy Elsner NEGOTIATION
Murillo F DarakjyArgentinaXuxue Feng RENEWAL
Kadeem C PoquetteUnited KingdomElwin Sharvill RENEWAL
Arvin F StensethSpainIoni Bowcher QUALIFIED
Alejandro M FerenczItalyStephen Shaw NEGOTIATION
Morrow F RulapaughJapanAmy Elsner RENEWAL
Kaitlin L MacleadUnited KingdomStephen Shaw RENEWAL
Faith J PaprockiItalyAmy Elsner RENEWAL
Octavia R MorascaSpainBernardo Dominic RENEWAL
Julie G SchemmerAustraliaAsiya Javayant UNQUALIFIED
Mujtaba B FigeroaSpainIvan Magalhaes QUALIFIED
Mujtaba G VenereItalyAsiya Javayant NEGOTIATION
Stacey M CaudyRussiaStephen Shaw PROPOSAL
Jeanfrancois L PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Smith D DilliardItalyXuxue Feng RENEWAL
Leja Y ShinkoSpainAnna Fali PROPOSAL
Mujtaba U TollnerGermanyAnna Fali NEW
Clifford U WieserSpainAnna Fali NEGOTIATION
David C PaprockiItalyAsiya Javayant QUALIFIED
Kaitlin C FollerGermanyIoni Bowcher RENEWAL
Arvin M FollerBrazilBernardo Dominic QUALIFIED
Aruna O GlickItalyIoni Bowcher RENEWAL
Aika E PerinArgentinaAmy Elsner UNQUALIFIED
Juan A DoeArgentinaStephen Shaw NEW
Maisha C GillianBrazilElwin Sharvill NEGOTIATION
Mayumi D DoeBrazilStephen Shaw QUALIFIED
Stacey L PoquetteSpainAsiya Javayant RENEWAL
David W InouyeCanadaIoni Bowcher QUALIFIED
Julie T ShinkoFranceAsiya Javayant RENEWAL
Aruna Q BologniaBrazilOnyama Limba RENEWAL
Leon J CaudyJapanBernardo Dominic UNQUALIFIED
Leja Q KuskoAustraliaIvan Magalhaes RENEWAL
Darci H AmigonJapanBernardo Dominic RENEWAL
Ashley I PaprockiIndiaXuxue Feng NEW
Adams Q ShinkoIndiaAmy Elsner PROPOSAL
Emily E PoquetteJapanIoni Bowcher UNQUALIFIED
Munro J MaletItalyElwin Sharvill QUALIFIED
Arvin J BriddickCanadaAnna Fali RENEWAL
Wickens W CaudyBrazilAmy Elsner NEGOTIATION
Aika Y MaletCanadaStephen Shaw RENEWAL
Clifford F GillianCanadaXuxue Feng UNQUALIFIED
Kadeem E GlickItalyBernardo Dominic PROPOSAL
Tony C MarrierArgentinaIvan Magalhaes QUALIFIED
Isabel N GarufiGermanyXuxue Feng PROPOSAL
Mayumi M WaycottSpainAmy Elsner NEW
Rodrigues H PaprockiIndiaBernardo Dominic PROPOSAL
Darci L DarakjyCanadaElwin Sharvill UNQUALIFIED
Silvio Z MaletItalyStephen Shaw RENEWAL
Clifford T GlickCanadaOnyama Limba QUALIFIED
Aruna K RutaRussiaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Deepesh B DoeGermanyAnna Fali UNQUALIFIED
Octavia S IturbideBrazilStephen Shaw QUALIFIED
Greenwood F GlickAustraliaAnna Fali QUALIFIED
Mayumi W VocelkaIndiaAsiya Javayant UNQUALIFIED
Munro T NickaItalyAmy Elsner PROPOSAL
Silvio C SlusarskiIndiaAnna Fali NEW
Leja V PaprockiBrazilStephen Shaw PROPOSAL
Juan D BriddickGermanyAsiya Javayant RENEWAL
Silvio W DoeGermanyElwin Sharvill UNQUALIFIED
Izzy D PoquetteItalyBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily P KuskoCanada2026-05-20Truhlar And Truhlar Attys QUALIFIED66Ivan Magalhaes
1001Nicolas K ShinkoJapan2026-05-11Commercial Press RENEWAL13Asiya Javayant
1002Claire C PaprockiUnited Kingdom2026-05-09Chemel, James L Cpa NEGOTIATION17Asiya Javayant
1003Claire V StensethJapan2026-05-09Chanay, Jeffrey A Esq QUALIFIED22Elwin Sharvill
1004Adams K IturbideIndia2026-05-18Truhlar And Truhlar Attys RENEWAL88Stephen Shaw
1005Aika O SergiJapan2026-05-27King, Christopher A Esq NEGOTIATION32Bernardo Dominic
1006Emily D GlickIndia2026-05-17Feiner Bros NEW19Xuxue Feng
1007Wickens M SaylorsRussia2026-05-05Chanay, Jeffrey A Esq NEGOTIATION93Amy Elsner
1008Adams E CampainArgentina2026-05-10Commercial Press NEW97Onyama Limba
1009Maisha Z MacleadArgentina2026-05-29Chanay, Jeffrey A Esq QUALIFIED58Ioni Bowcher
1010Greenwood F CaudyIndia2026-05-05Feiner Bros UNQUALIFIED40Elwin Sharvill
1011Leon N StockhamSpain2026-05-15Buckley Miller Wright QUALIFIED35Bernardo Dominic
1012James Q WaycottItaly2026-05-12Benton, John B Jr RENEWAL68Ivan Magalhaes
1013Nicolas Y VenereAustralia2026-05-12Rousseaux, Michael Esq PROPOSAL32Ivan Magalhaes
1014Nicolas A TollnerArgentina2026-05-07Commercial Press PROPOSAL19Asiya Javayant
1015Antonio Q SlusarskiArgentina2026-05-13Chanay, Jeffrey A Esq RENEWAL77Anna Fali
1016Ricardo L DilliardAustralia2026-05-17Rangoni Of Florence UNQUALIFIED97Xuxue Feng
1017James P DarakjyCanada2026-05-26Printing Dimensions NEGOTIATION0Elwin Sharvill
1018Adams H GauchoCanada2026-05-25King, Christopher A Esq NEW0Stephen Shaw
1019Ricardo M DilliardItaly2026-05-19Truhlar And Truhlar Attys QUALIFIED81Onyama Limba
1020Francesco X PoquetteArgentina2026-05-10Chanay, Jeffrey A Esq PROPOSAL46Elwin Sharvill
1021David E StockhamArgentina2026-05-27Benton, John B Jr NEGOTIATION37Onyama Limba
1022Salvatore U RutaCanada2026-05-09Chemel, James L Cpa UNQUALIFIED50Anna Fali
1023Julie Q RoysterGermany2026-05-24Benton, John B Jr PROPOSAL41Ioni Bowcher
1024Aditya W WhobreyGermany2026-05-07Chemel, James L Cpa PROPOSAL97Asiya Javayant
1025Wickens W OstroskyRussia2026-05-15Buckley Miller Wright PROPOSAL67Xuxue Feng
1026Johnson D DarakjySpain2026-05-07Feltz Printing Service NEW66Ivan Magalhaes
1027Rodrigues O SlusarskiSpain2026-05-04Buckley Miller Wright UNQUALIFIED34Ivan Magalhaes
1028Claire G TollnerRussia2026-05-02Chanay, Jeffrey A Esq NEGOTIATION85Asiya Javayant
1029Kaitlin T WieserFrance2026-05-27Chemel, James L Cpa PROPOSAL78Ivan Magalhaes
1030Ricardo F CaldareraCanada2026-05-27Printing Dimensions UNQUALIFIED25Stephen Shaw
1031James P BowleyAustralia2026-05-03Chanay, Jeffrey A Esq RENEWAL84Asiya Javayant
1032Leon M KolmetzCanada2026-05-26Benton, John B Jr RENEWAL15Ivan Magalhaes
1033Isabel P CaldareraIndia2026-05-20Truhlar And Truhlar Attys QUALIFIED35Xuxue Feng
1034Sinclair L ShinkoSpain2026-05-05Chemel, James L Cpa UNQUALIFIED47Elwin Sharvill
1035Salvatore S FollerRussia2026-05-09Rangoni Of Florence RENEWAL58Ioni Bowcher
1036Julie E OstroskyCanada2026-05-24Feiner Bros NEW38Asiya Javayant
1037Darci D AlbaresJapan2026-05-11Buckley Miller Wright PROPOSAL74Bernardo Dominic
1038Jeanfrancois H StockhamGermany2026-05-24Chemel, James L Cpa RENEWAL16Xuxue Feng
1039Leja U VenereUnited Kingdom2026-05-14Chanay, Jeffrey A Esq NEGOTIATION61Asiya Javayant
1040Sinclair O DoeGermany2026-05-23Chemel, James L Cpa QUALIFIED0Xuxue Feng
1041Faith T PaprockiCanada2026-05-10Chapman, Ross E Esq PROPOSAL72Onyama Limba
1042Clifford T MaletSpain2026-05-14Feltz Printing Service RENEWAL77Asiya Javayant
1043Juan G FlosiBrazil2026-05-05Buckley Miller Wright RENEWAL26Elwin Sharvill
1044Octavia C ChuiFrance2026-05-12Chemel, James L Cpa UNQUALIFIED62Onyama Limba
1045Rodrigues C DoeGermany2026-05-16Benton, John B Jr RENEWAL10Elwin Sharvill
1046Maria L PaprockiFrance2026-05-25Commercial Press UNQUALIFIED65Onyama Limba
1047Costa N MorascaRussia2026-05-14Truhlar And Truhlar Attys NEW53Onyama Limba
1048Kadeem B PoquetteSpain2026-05-27Rousseaux, Michael Esq QUALIFIED26Bernardo Dominic
1049Silvio X WieserItaly2026-05-28Chemel, James L Cpa RENEWAL88Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Antonio V SergiGermanyElwin Sharvill UNQUALIFIED
Kaitlin U BowleyRussiaIoni Bowcher PROPOSAL
Clifford D AlbaresBrazilIvan Magalhaes NEW
Juan W MorascaCanadaXuxue Feng UNQUALIFIED
Darci O PerinUnited KingdomBernardo Dominic PROPOSAL
Emily D WhobreyJapanBernardo Dominic NEW
Emily C ShinkoFranceAnna Fali UNQUALIFIED
Mayumi V FollerJapanAmy Elsner NEGOTIATION
Maria D SlusarskiFranceXuxue Feng RENEWAL
Isabel D StockhamBrazilElwin Sharvill PROPOSAL
Ricardo M ShinkoBrazilStephen Shaw NEW
Sinclair F FlosiSpainIoni Bowcher RENEWAL
Wickens Z InouyeCanadaElwin Sharvill PROPOSAL
Silvio K StensethAustraliaBernardo Dominic UNQUALIFIED
Izzy T ShinkoRussiaOnyama Limba NEGOTIATION
Leja M RimItalyAmy Elsner NEW
Deepesh D NickaRussiaOnyama Limba UNQUALIFIED
Isabel X BowleyCanadaBernardo Dominic NEW
Emily I MarrierIndiaAsiya Javayant RENEWAL
Adams F SlusarskiArgentinaStephen Shaw UNQUALIFIED
Mujtaba N CaudyArgentinaAmy Elsner PROPOSAL
Leon D KolmetzJapanIvan Magalhaes QUALIFIED
Alejandro K IturbideArgentinaAnna Fali NEGOTIATION
Arvin K IturbideSpainElwin Sharvill PROPOSAL
Silvio R SergiArgentinaIvan Magalhaes NEGOTIATION
Adams T SlusarskiIndiaXuxue Feng RENEWAL
Mujtaba Z OstroskyUnited KingdomAsiya Javayant PROPOSAL
Octavia D SchemmerBrazilAsiya Javayant UNQUALIFIED
Maisha I ShinkoIndiaAmy Elsner RENEWAL
Izzy K FollerBrazilAmy Elsner PROPOSAL
Francesco G RimItalyAnna Fali UNQUALIFIED
Aditya B OstroskySpainXuxue Feng UNQUALIFIED
Kadeem R BologniaArgentinaBernardo Dominic QUALIFIED
Claire H NickaUnited KingdomAmy Elsner QUALIFIED
Wickens S ShinkoArgentinaElwin Sharvill QUALIFIED
Ashley Y BriddickJapanAsiya Javayant NEGOTIATION
Jones P PaprockiRussiaElwin Sharvill PROPOSAL
Costa M MarrierUnited KingdomStephen Shaw PROPOSAL
Izzy Z AlbaresGermanyXuxue Feng RENEWAL
Nicolas A FerenczRussiaOnyama Limba UNQUALIFIED
Antonio D FlosiFranceElwin Sharvill NEW
Misaki K KolmetzRussiaIvan Magalhaes NEW
Smith F BologniaArgentinaAsiya Javayant UNQUALIFIED
Juan R ChuiSpainOnyama Limba QUALIFIED
Clifford K FlosiRussiaOnyama Limba PROPOSAL
Adams H IturbideCanadaElwin Sharvill PROPOSAL
Francesco U CampainArgentinaXuxue Feng UNQUALIFIED
Wickens T DarakjyItalyAmy Elsner QUALIFIED
Munro X FerenczItalyXuxue Feng QUALIFIED
Chavez U ShinkoIndiaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Kadeem J Amigon
James E Ruta
Jennifer R Figeroa
Jefferson Z Waycott
Stacey U Malet
Munro C Inouye
Emily Y Wieser
Kadeem I Amigon
Aruna G Rulapaugh
Ashley J Nestle
Mujtaba T Inouye
Maisha P Foller
Izzy Y Flosi
Nicolas L Stockham
Leja E Paprocki
Julie Q Ferencz
Ivar K Rim
Kaitlin Z Poquette
Rodrigues X Tollner
Ivar A Inouye
Morrow Y Nestle
Mayumi L Morasca
Isabel T Wieser
Clifford M Saylors
Tony U Saylors
Maisha C Vocelka
Misaki Y Gaucho
Mujtaba G Gaucho
Clifford Q Butt
Wickens J Malet
Isabel K Ferencz
Aruna X Marrier
James Q Caudy
Rodrigues N Saylors
Francesco T Chui
Aruna B Whobrey
David G Ostrosky
Munro U Tollner
Claire R Foller
Jeanfrancois M Doe
Smith P Ferencz
Silvio S Chui
Jennifer V Perin
Deepesh G Perin
Mayumi N Inouye
Salvatore D Schemmer
Tony O Gillian
Mayumi X Royster
Maria A Albares
Tony X Slusarski
IdCountryDate
1000Japan2026-05-10
1001Canada2026-05-09
1002France2026-05-22
1003Spain2026-05-28
1004Canada2026-05-14
1005France2026-05-13
1006United Kingdom2026-05-02
1007France2026-05-07
1008Canada2026-04-30
1009Brazil2026-05-23
1010Canada2026-05-17
1011Australia2026-05-11
1012Spain2026-05-05
1013Australia2026-05-14
1014Spain2026-05-10
1015Brazil2026-05-28
1016France2026-05-25
1017India2026-05-04
1018Argentina2026-05-10
1019India2026-05-17
1020Argentina2026-05-15
1021Russia2026-05-26
1022Spain2026-05-21
1023Russia2026-05-05
1024Spain2026-05-25
1025Italy2026-05-12
1026France2026-05-22
1027Spain2026-05-25
1028Brazil2026-05-16
1029United Kingdom2026-05-05
1030Russia2026-05-16
1031France2026-05-05
1032Germany2026-05-11
1033Germany2026-05-14
1034France2026-05-14
1035Japan2026-05-27
1036Canada2026-05-27
1037India2026-05-01
1038India2026-05-16
1039Italy2026-05-27
1040Australia2026-05-02
1041Brazil2026-05-22
1042Italy2026-05-05
1043Argentina2026-05-03
1044Brazil2026-05-23
1045Germany2026-05-25
1046Australia2026-05-25
1047Japan2026-05-15
1048India2026-05-01
1049India2026-04-30

On-Demand Data

NameIdCountryDate
Isabel C Malet1000Spain2026-05-27
Maria S Garufi1001Germany2026-05-21
Wickens L Caudy1002Germany2026-05-26
Nicolas H Perin1003Italy2026-05-22
Octavia N Ostrosky1004Japan2026-04-30
Adams Z Malet1005Spain2026-05-15
Darci C Foller1006France2026-04-30
David T Schemmer1007Italy2026-04-30
Aika F Stenseth1008United Kingdom2026-05-07
Julie Z Ruta1009Italy2026-05-23
Munro L Butt1010Argentina2026-05-09
Jeanfrancois C Morasca1011Italy2026-05-14
Maisha O Campain1012Spain2026-05-15
Ivar Z Schemmer1013Canada2026-05-04
Jefferson F Malet1014Italy2026-05-02
Ricardo E Maclead1015Spain2026-05-11
Ivar N Malet1016India2026-05-12
Wickens O Malet1017Italy2026-05-22
Clifford K Ferencz1018Argentina2026-04-30
Leon E Sergi1019India2026-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James Z DilliardJapanOnyama Limba NEW
Cody T InouyeArgentinaXuxue Feng RENEWAL
Ivar D SergiArgentinaAnna Fali QUALIFIED
Maisha K RoysterFranceAnna Fali NEW
Leon V PaprockiArgentinaIvan Magalhaes NEGOTIATION
Jefferson I RimGermanyXuxue Feng UNQUALIFIED
Murillo O MarrierArgentinaAnna Fali NEW
Isabel B OstroskyArgentinaXuxue Feng QUALIFIED
Izzy R RulapaughIndiaElwin Sharvill NEW
Ashley K ShinkoFranceBernardo Dominic NEGOTIATION
Izzy B NestleGermanyStephen Shaw QUALIFIED
Julie X StensethArgentinaAsiya Javayant NEW
Francesco X NestleGermanyIvan Magalhaes NEGOTIATION
Juan J StensethAustraliaXuxue Feng NEW
Juan Z VocelkaCanadaIoni Bowcher QUALIFIED
Julie F AlbaresRussiaAsiya Javayant RENEWAL
Tony M MarrierItalyOnyama Limba NEW
Maisha X GillianBrazilBernardo Dominic RENEWAL
Darci L StensethArgentinaStephen Shaw NEW
Ricardo L SaylorsArgentinaXuxue Feng UNQUALIFIED
Greenwood K MorascaBrazilElwin Sharvill RENEWAL
Antonio S MaletItalyAmy Elsner UNQUALIFIED
Isabel U FlosiJapanAmy Elsner NEW
Costa A TollnerJapanIvan Magalhaes NEW
Johnson V DarakjyCanadaElwin Sharvill NEGOTIATION
Izzy R GarufiArgentinaXuxue Feng QUALIFIED
Clifford X RimCanadaStephen Shaw NEW
Ricardo Y SchemmerRussiaBernardo Dominic PROPOSAL
Alejandro K ShinkoIndiaAsiya Javayant RENEWAL
Salvatore X FollerGermanyOnyama Limba NEGOTIATION
Kadeem Y StockhamIndiaOnyama Limba RENEWAL
Rodrigues K FlosiCanadaAnna Fali PROPOSAL
Mayumi Y OstroskyIndiaAsiya Javayant NEW
Alejandro B StensethAustraliaOnyama Limba NEW
Tony M VenereFranceAmy Elsner PROPOSAL
Faith Q NestleIndiaOnyama Limba RENEWAL
David T TollnerAustraliaOnyama Limba NEW
Maria U DilliardAustraliaIoni Bowcher PROPOSAL
Juan S FollerBrazilIvan Magalhaes PROPOSAL
Cody J ButtAustraliaXuxue 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.