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
Maria A GauchoArgentinaAnna Fali NEW
Johnson G GauchoAustraliaOnyama Limba QUALIFIED
Antonio T OldroydFranceXuxue Feng UNQUALIFIED
Nicolas G DarakjyArgentinaIvan Magalhaes PROPOSAL
Jefferson F PerinRussiaElwin Sharvill QUALIFIED
Jeanfrancois F KuskoUnited KingdomBernardo Dominic NEW
Faith J SergiGermanyIoni Bowcher UNQUALIFIED
Mujtaba V VenereFranceBernardo Dominic NEW
Aditya N MacleadGermanyIvan Magalhaes PROPOSAL
Sinclair M ChuiGermanyIoni Bowcher RENEWAL
James B FlosiItalyAmy Elsner NEW
Julie P GarufiSpainIoni Bowcher UNQUALIFIED
Izzy Y RutaArgentinaOnyama Limba PROPOSAL
Octavia I AmigonSpainOnyama Limba QUALIFIED
Julie O FerenczGermanyIvan Magalhaes NEW
Francesco V WhobreyGermanyXuxue Feng RENEWAL
Stacey B FerenczGermanyBernardo Dominic UNQUALIFIED
Alejandro V FollerAustraliaOnyama Limba NEGOTIATION
Misaki H MaletUnited KingdomBernardo Dominic PROPOSAL
Ricardo X BologniaItalyOnyama Limba NEW
Smith K MorascaRussiaBernardo Dominic NEGOTIATION
Kadeem I BriddickItalyIoni Bowcher PROPOSAL
Jeanfrancois H FigeroaBrazilXuxue Feng QUALIFIED
Salvatore U FlosiItalyAsiya Javayant NEGOTIATION
Alejandro G KolmetzJapanElwin Sharvill RENEWAL
Cody F MaletBrazilOnyama Limba UNQUALIFIED
Mujtaba Z PerinItalyIvan Magalhaes PROPOSAL
Aika C TollnerCanadaBernardo Dominic NEGOTIATION
Munro F FerenczUnited KingdomStephen Shaw NEW
Kadeem L PaprockiIndiaBernardo Dominic NEW
Arvin N OldroydIndiaIvan Magalhaes RENEWAL
Johnson N MaletRussiaIoni Bowcher UNQUALIFIED
Arvin R AlbaresFranceAsiya Javayant QUALIFIED
Silvio I NestleSpainStephen Shaw RENEWAL
Mayumi B KolmetzJapanStephen Shaw NEW
Maria L OstroskyGermanyAsiya Javayant QUALIFIED
Darci M RutaItalyOnyama Limba UNQUALIFIED
Rodrigues Z WaycottCanadaStephen Shaw QUALIFIED
Morrow E GarufiItalyOnyama Limba UNQUALIFIED
Jefferson E CaudyIndiaAmy Elsner PROPOSAL
Claire T GillianItalyAsiya Javayant NEW
Sinclair Z FollerUnited KingdomXuxue Feng QUALIFIED
Julie J WieserGermanyStephen Shaw QUALIFIED
Antonio O WieserItalyOnyama Limba NEGOTIATION
James X MacleadJapanBernardo Dominic RENEWAL
Julie H GlickAustraliaAsiya Javayant UNQUALIFIED
Mayumi U BriddickJapanIoni Bowcher NEGOTIATION
Izzy H MarrierUnited KingdomOnyama Limba NEGOTIATION
Mujtaba G PerinRussiaAsiya Javayant QUALIFIED
Costa Q VocelkaItalyOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Izzy N CaudyFranceStephen Shaw RENEWAL
Darci A AmigonGermanyStephen Shaw UNQUALIFIED
Jeanfrancois O RoysterAustraliaAmy Elsner UNQUALIFIED
Rodrigues P WaycottIndiaElwin Sharvill NEW
Juan Y GarufiAustraliaAmy Elsner NEGOTIATION
Stacey P SaylorsIndiaIoni Bowcher RENEWAL
Deepesh K KuskoRussiaElwin Sharvill NEGOTIATION
Jefferson V MaletArgentinaBernardo Dominic NEW
Tony P GauchoSpainIoni Bowcher RENEWAL
Leon T PaprockiCanadaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy W CampainGermany2026-03-16Chemel, James L Cpa NEGOTIATION61Ivan Magalhaes
1001Leon W MacleadBrazil2026-03-17Chanay, Jeffrey A Esq PROPOSAL70Amy Elsner
1002Ivar W StockhamSpain2026-03-24Feiner Bros RENEWAL72Anna Fali
1003Octavia F MaletUnited Kingdom2026-03-28Rousseaux, Michael Esq NEW21Ivan Magalhaes
1004Nicolas V SlusarskiSpain2026-03-19Rousseaux, Michael Esq RENEWAL94Onyama Limba
1005Leon H RutaUnited Kingdom2026-03-07Feiner Bros RENEWAL39Bernardo Dominic
1006Leon T CaldareraAustralia2026-03-23Feiner Bros NEW46Anna Fali
1007Kaitlin M WhobreyJapan2026-03-27Rangoni Of Florence RENEWAL37Asiya Javayant
1008Tony P RimGermany2026-03-28Chapman, Ross E Esq NEGOTIATION98Asiya Javayant
1009Tony H RutaSpain2026-03-14Chanay, Jeffrey A Esq RENEWAL19Onyama Limba
1010Munro L OstroskySpain2026-03-12Rangoni Of Florence QUALIFIED75Anna Fali
1011Tony X SaylorsRussia2026-03-12Dorl, James J Esq UNQUALIFIED26Asiya Javayant
1012Nicolas O PoquetteRussia2026-03-13Rousseaux, Michael Esq PROPOSAL39Bernardo Dominic
1013Ashley C SchemmerBrazil2026-03-28Morlong Associates NEW59Amy Elsner
1014Juan N WhobreyArgentina2026-03-05Rousseaux, Michael Esq PROPOSAL30Xuxue Feng
1015Claire R RimFrance2026-03-09Chapman, Ross E Esq UNQUALIFIED5Ioni Bowcher
1016Stacey V BowleyCanada2026-03-12Truhlar And Truhlar Attys UNQUALIFIED94Xuxue Feng
1017Cody U OstroskyIndia2026-03-09Truhlar And Truhlar Attys NEGOTIATION35Ivan Magalhaes
1018Wickens A ChuiCanada2026-03-31Chapman, Ross E Esq NEGOTIATION34Bernardo Dominic
1019Ashley G MaletUnited Kingdom2026-03-17Feltz Printing Service QUALIFIED94Elwin Sharvill
1020David C MorascaUnited Kingdom2026-03-21Chapman, Ross E Esq RENEWAL25Stephen Shaw
1021Munro F KuskoUnited Kingdom2026-03-05Truhlar And Truhlar Attys UNQUALIFIED2Amy Elsner
1022Morrow K SlusarskiRussia2026-03-12Dorl, James J Esq PROPOSAL37Elwin Sharvill
1023Darci G GarufiBrazil2026-03-18Chapman, Ross E Esq QUALIFIED44Ioni Bowcher
1024Costa Q DarakjyAustralia2026-03-24Commercial Press NEGOTIATION53Bernardo Dominic
1025Smith C SlusarskiBrazil2026-03-17Buckley Miller Wright NEGOTIATION19Anna Fali
1026Juan H InouyeCanada2026-03-19Buckley Miller Wright QUALIFIED12Xuxue Feng
1027Ashley V GlickCanada2026-03-10Printing Dimensions NEGOTIATION1Xuxue Feng
1028Morrow C MaletAustralia2026-03-25King, Christopher A Esq QUALIFIED14Xuxue Feng
1029Claire W BriddickCanada2026-03-04Printing Dimensions UNQUALIFIED70Amy Elsner
1030Octavia A GauchoJapan2026-03-12Dorl, James J Esq UNQUALIFIED95Bernardo Dominic
1031Maria P BowleySpain2026-03-14Commercial Press UNQUALIFIED26Stephen Shaw
1032Aika E DilliardGermany2026-03-02Buckley Miller Wright UNQUALIFIED53Bernardo Dominic
1033Leon S MarrierGermany2026-03-06King, Christopher A Esq NEGOTIATION23Bernardo Dominic
1034Wickens G GauchoUnited Kingdom2026-03-25Dorl, James J Esq UNQUALIFIED36Asiya Javayant
1035Jennifer R StockhamJapan2026-03-09Rangoni Of Florence PROPOSAL92Elwin Sharvill
1036Greenwood L TollnerUnited Kingdom2026-03-17Rousseaux, Michael Esq QUALIFIED17Onyama Limba
1037Antonio I NestleCanada2026-03-23Truhlar And Truhlar Attys RENEWAL27Stephen Shaw
1038Alejandro X AlbaresArgentina2026-03-05Benton, John B Jr NEGOTIATION54Onyama Limba
1039Chavez A MarrierAustralia2026-03-09Rangoni Of Florence RENEWAL6Asiya Javayant
1040Jeanfrancois H MacleadArgentina2026-03-04Dorl, James J Esq RENEWAL58Stephen Shaw
1041Adams H RimRussia2026-03-05Rangoni Of Florence RENEWAL21Amy Elsner
1042Mayumi E RulapaughAustralia2026-03-06Dorl, James J Esq UNQUALIFIED91Bernardo Dominic
1043Emily J ButtItaly2026-03-26Rousseaux, Michael Esq UNQUALIFIED35Anna Fali
1044Ashley X SchemmerFrance2026-03-13Morlong Associates NEGOTIATION94Ioni Bowcher
1045Kaitlin Z StockhamRussia2026-03-17Chanay, Jeffrey A Esq NEW77Ioni Bowcher
1046Kaitlin P CampainGermany2026-03-27Chapman, Ross E Esq NEGOTIATION66Ioni Bowcher
1047James P VenereFrance2026-03-13Printing Dimensions NEW38Xuxue Feng
1048Jeanfrancois H OstroskyArgentina2026-03-03Morlong Associates NEW77Stephen Shaw
1049Sinclair L GarufiJapan2026-03-18Feltz Printing Service QUALIFIED32Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Francesco R WieserItalyElwin Sharvill UNQUALIFIED
Rodrigues B MarrierRussiaAnna Fali UNQUALIFIED
Jones O BologniaSpainIvan Magalhaes NEGOTIATION
Costa M BowleyBrazilOnyama Limba NEW
Greenwood T SergiItalyStephen Shaw RENEWAL
Costa A RoysterBrazilBernardo Dominic NEW
Alejandro W FerenczCanadaIoni Bowcher NEGOTIATION
David F RulapaughIndiaOnyama Limba NEW
Darci K PaprockiBrazilStephen Shaw UNQUALIFIED
Silvio Y ButtUnited KingdomXuxue Feng PROPOSAL
Morrow J SchemmerJapanStephen Shaw NEW
Arvin Z GarufiCanadaAmy Elsner RENEWAL
Deepesh T MaletItalyAsiya Javayant NEW
Octavia W PaprockiJapanOnyama Limba QUALIFIED
Antonio H BowleyAustraliaIoni Bowcher PROPOSAL
Izzy F TollnerSpainAmy Elsner NEW
David G RoysterJapanOnyama Limba NEGOTIATION
Mayumi M MaletItalyAmy Elsner PROPOSAL
Ivar K BowleyRussiaXuxue Feng RENEWAL
Arvin D DarakjySpainAsiya Javayant NEGOTIATION
Kaitlin B CaudyUnited KingdomAsiya Javayant PROPOSAL
Faith L OstroskyArgentinaStephen Shaw RENEWAL
Faith W AmigonCanadaIoni Bowcher NEW
Greenwood R FerenczUnited KingdomIoni Bowcher NEGOTIATION
Wickens J WhobreyFranceBernardo Dominic QUALIFIED
Sinclair L GauchoArgentinaStephen Shaw QUALIFIED
Clifford A InouyeAustraliaBernardo Dominic UNQUALIFIED
Juan O BologniaAustraliaAsiya Javayant RENEWAL
Mujtaba D DoeIndiaAsiya Javayant PROPOSAL
Sinclair G BologniaJapanAmy Elsner NEW
Aditya V GauchoIndiaIvan Magalhaes UNQUALIFIED
Munro B GillianArgentinaBernardo Dominic NEGOTIATION
Claire Y GlickRussiaElwin Sharvill QUALIFIED
Costa I KuskoSpainOnyama Limba NEW
Maria Y PerinGermanyBernardo Dominic PROPOSAL
Nicolas S OstroskyFranceAsiya Javayant NEGOTIATION
Alejandro Z NickaArgentinaBernardo Dominic PROPOSAL
David P BologniaSpainAnna Fali NEGOTIATION
Adams F RutaCanadaElwin Sharvill PROPOSAL
Clifford S ButtCanadaAnna Fali RENEWAL
Misaki X BowleyFranceIoni Bowcher NEGOTIATION
Kaitlin G BologniaArgentinaAmy Elsner PROPOSAL
Izzy T ChuiIndiaIoni Bowcher NEW
Kaitlin K ButtRussiaBernardo Dominic PROPOSAL
Stacey Y MaletFranceIvan Magalhaes PROPOSAL
Aruna Z OstroskyBrazilIoni Bowcher NEGOTIATION
David H ChuiJapanIvan Magalhaes NEW
Murillo K ButtSpainStephen Shaw NEW
Ricardo Q MaletJapanIoni Bowcher UNQUALIFIED
Morrow L FerenczCanadaAnna Fali UNQUALIFIED
Frozen Columns
Name
Jeanfrancois Q Campain
Jefferson V Dilliard
Maisha K Morasca
Jeanfrancois D Malet
Kaitlin F Inouye
Darci A Iturbide
Kaitlin X Sergi
Nicolas E Caudy
Jones V Bolognia
Nicolas E Poquette
Ricardo Q Glick
Clifford R Foller
Ivar H Morasca
Kaitlin Q Stockham
Mujtaba M Bolognia
Smith F Amigon
Costa M Garufi
Silvio E Gaucho
Wickens Z Darakjy
Aika Y Bolognia
Leon K Gillian
Arvin S Bolognia
Darci G Venere
Ivar G Kolmetz
Juan L Waycott
Maisha M Stockham
Ashley F Ruta
Darci N Ostrosky
Claire G Rulapaugh
Mayumi A Albares
Murillo L Waycott
Nicolas Z Morasca
Juan X Perin
Arvin A Oldroyd
Johnson B Oldroyd
Isabel N Venere
Sinclair Q Malet
Ricardo M Paprocki
Francesco S Butt
Tony R Figeroa
Ricardo C Nicka
Octavia D Sergi
Greenwood G Morasca
Darci R Campain
David J Gaucho
Emily E Doe
Deepesh F Royster
Aditya N Flosi
Faith U Bolognia
Isabel Z Ruta
IdCountryDate
1000United Kingdom2026-03-16
1001Argentina2026-03-11
1002Russia2026-03-24
1003Brazil2026-03-03
1004United Kingdom2026-03-24
1005Australia2026-03-13
1006Brazil2026-03-31
1007Spain2026-03-21
1008United Kingdom2026-03-08
1009Australia2026-03-28
1010India2026-03-17
1011Australia2026-03-07
1012Argentina2026-03-02
1013Russia2026-03-16
1014Japan2026-03-10
1015Japan2026-03-10
1016Japan2026-03-09
1017India2026-03-03
1018Argentina2026-03-25
1019France2026-03-30
1020Argentina2026-03-12
1021Italy2026-03-06
1022Brazil2026-03-02
1023United Kingdom2026-03-28
1024Canada2026-03-24
1025Italy2026-03-24
1026United Kingdom2026-03-17
1027Germany2026-03-04
1028India2026-03-25
1029Brazil2026-03-13
1030Germany2026-03-06
1031Brazil2026-03-17
1032France2026-03-14
1033France2026-03-25
1034United Kingdom2026-03-05
1035France2026-03-28
1036Germany2026-03-15
1037Australia2026-03-02
1038Japan2026-03-29
1039Australia2026-03-12
1040Germany2026-03-19
1041Italy2026-03-07
1042United Kingdom2026-03-14
1043Australia2026-03-20
1044France2026-03-15
1045Spain2026-03-27
1046Russia2026-03-29
1047Japan2026-03-23
1048Italy2026-03-31
1049Brazil2026-03-19

On-Demand Data

NameIdCountryDate
Ivar N Garufi1000Spain2026-03-16
Wickens M Caudy1001Canada2026-03-11
Cody A Ruta1002Australia2026-03-14
Alejandro C Stenseth1003Germany2026-03-17
Sinclair O Schemmer1004Canada2026-03-23
Isabel G Ferencz1005Australia2026-03-12
Tony C Shinko1006Spain2026-03-21
Aditya E Morasca1007France2026-03-15
Juan G Doe1008Australia2026-03-16
Antonio D Sergi1009Brazil2026-03-24
Ashley Y Amigon1010Brazil2026-03-09
Ashley I Campain1011Brazil2026-03-16
Deepesh O Rulapaugh1012Germany2026-03-18
Ashley S Gaucho1013United Kingdom2026-03-10
Leon D Maclead1014France2026-03-29
Wickens Z Schemmer1015Germany2026-03-05
Jones K Garufi1016Japan2026-03-07
Rodrigues W Gillian1017Australia2026-03-14
David S Tollner1018Australia2026-03-10
Antonio G Ferencz1019Russia2026-03-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem V CaudyAustraliaStephen Shaw UNQUALIFIED
Wickens E GlickJapanAmy Elsner PROPOSAL
Kaitlin J ButtFranceStephen Shaw NEGOTIATION
Misaki Y DoeBrazilOnyama Limba UNQUALIFIED
David I KuskoCanadaXuxue Feng NEGOTIATION
Juan E MorascaIndiaStephen Shaw PROPOSAL
Juan A VocelkaUnited KingdomStephen Shaw PROPOSAL
Cody X BriddickItalyStephen Shaw UNQUALIFIED
Greenwood T MorascaSpainAsiya Javayant RENEWAL
Murillo A VenereFranceBernardo Dominic UNQUALIFIED
Cody A CampainArgentinaIoni Bowcher QUALIFIED
Deepesh A AmigonBrazilAsiya Javayant PROPOSAL
Misaki P SergiSpainBernardo Dominic NEW
Misaki N NestleIndiaXuxue Feng NEGOTIATION
Clifford Q WaycottJapanXuxue Feng PROPOSAL
Kaitlin U MorascaBrazilBernardo Dominic NEW
Murillo T WieserIndiaBernardo Dominic RENEWAL
Antonio X MaletItalyAnna Fali QUALIFIED
Johnson F DarakjyFranceXuxue Feng NEGOTIATION
Clifford M DilliardRussiaAmy Elsner RENEWAL
Wickens N InouyeIndiaIvan Magalhaes QUALIFIED
Munro E GlickRussiaElwin Sharvill NEW
Aditya E GarufiRussiaBernardo Dominic NEGOTIATION
Juan L PoquetteUnited KingdomIoni Bowcher NEW
Faith C PaprockiGermanyAnna Fali QUALIFIED
Costa I WaycottGermanyBernardo Dominic NEW
Julie T MaletUnited KingdomAnna Fali PROPOSAL
Greenwood L SchemmerGermanyIvan Magalhaes NEW
Juan A VocelkaJapanElwin Sharvill QUALIFIED
Ricardo Q FerenczItalyAmy Elsner RENEWAL
Alejandro C RulapaughRussiaAmy Elsner NEW
Maisha M RulapaughRussiaAsiya Javayant QUALIFIED
Isabel G CaudyBrazilBernardo Dominic PROPOSAL
James A CaudySpainXuxue Feng UNQUALIFIED
Isabel I SchemmerIndiaXuxue Feng UNQUALIFIED
Ricardo L InouyeFranceIvan Magalhaes RENEWAL
Sinclair B FollerAustraliaAmy Elsner RENEWAL
Tony F WaycottAustraliaBernardo Dominic RENEWAL
Wickens H WieserSpainOnyama Limba NEW
Murillo E KuskoCanadaIoni Bowcher 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.