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
Cody H SlusarskiArgentinaAnna Fali QUALIFIED
Ricardo R IturbideBrazilBernardo Dominic RENEWAL
Ricardo N CaldareraUnited KingdomIvan Magalhaes NEW
Julie R ChuiJapanXuxue Feng PROPOSAL
Ricardo E ShinkoIndiaAsiya Javayant UNQUALIFIED
Cody M RimGermanyAnna Fali NEW
Jennifer U BologniaGermanyBernardo Dominic PROPOSAL
Claire N InouyeIndiaStephen Shaw QUALIFIED
Isabel Z RoysterBrazilAnna Fali PROPOSAL
Rodrigues H FlosiUnited KingdomIoni Bowcher RENEWAL
Ivar G MorascaGermanyAmy Elsner QUALIFIED
Munro R NestleRussiaStephen Shaw NEW
Darci K FlosiCanadaAsiya Javayant RENEWAL
Darci U WieserSpainAmy Elsner UNQUALIFIED
Rodrigues E SlusarskiJapanAsiya Javayant NEGOTIATION
Alejandro G RulapaughItalyBernardo Dominic QUALIFIED
Smith D RutaArgentinaAsiya Javayant UNQUALIFIED
Kadeem X ShinkoIndiaAmy Elsner UNQUALIFIED
David U PaprockiBrazilIvan Magalhaes UNQUALIFIED
Mujtaba O RulapaughGermanyAnna Fali PROPOSAL
Tony X MacleadIndiaBernardo Dominic NEGOTIATION
Nicolas C VocelkaSpainXuxue Feng QUALIFIED
Ivar D IturbideCanadaIvan Magalhaes NEW
Alejandro K MaletCanadaAnna Fali QUALIFIED
David S SchemmerSpainBernardo Dominic QUALIFIED
Misaki H CaudyGermanyIvan Magalhaes QUALIFIED
Julie A WieserRussiaElwin Sharvill UNQUALIFIED
Adams N PerinCanadaOnyama Limba NEGOTIATION
Izzy W FlosiSpainOnyama Limba NEGOTIATION
Alejandro J RutaCanadaBernardo Dominic NEGOTIATION
Maisha Q CaldareraArgentinaIvan Magalhaes PROPOSAL
Johnson W BriddickRussiaOnyama Limba UNQUALIFIED
Aruna B RimSpainAsiya Javayant NEW
Nicolas S WhobreyBrazilAsiya Javayant RENEWAL
Jennifer H TollnerBrazilXuxue Feng PROPOSAL
Munro B WieserItalyAnna Fali PROPOSAL
Mujtaba M TollnerItalyStephen Shaw UNQUALIFIED
Munro G RimJapanAsiya Javayant PROPOSAL
Misaki S ButtGermanyAmy Elsner NEW
Deepesh J CaudyItalyElwin Sharvill PROPOSAL
Emily Z InouyeCanadaAsiya Javayant PROPOSAL
Francesco O SergiGermanyOnyama Limba NEW
Aruna L MorascaUnited KingdomXuxue Feng QUALIFIED
Maisha Z RimBrazilBernardo Dominic NEW
Jeanfrancois V NestleJapanStephen Shaw QUALIFIED
Smith G StensethCanadaAnna Fali NEW
Darci Y WaycottIndiaAmy Elsner RENEWAL
Darci G StensethGermanyAsiya Javayant RENEWAL
Sinclair N VocelkaFranceBernardo Dominic NEGOTIATION
Mujtaba F RoysterJapanXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh X ButtItalyXuxue Feng UNQUALIFIED
Tony Y DilliardSpainAsiya Javayant RENEWAL
Aruna U DoeGermanyAsiya Javayant NEW
Jennifer H InouyeBrazilOnyama Limba NEW
Sinclair C IturbideBrazilAmy Elsner NEW
Jefferson S GauchoAustraliaAnna Fali NEGOTIATION
Darci A GillianFranceAsiya Javayant UNQUALIFIED
Wickens J FlosiBrazilIoni Bowcher NEW
James P GauchoSpainStephen Shaw QUALIFIED
Francesco D RimCanadaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois M BowleyAustralia2026-04-26Chapman, Ross E Esq RENEWAL42Asiya Javayant
1001Morrow D OstroskyAustralia2026-04-28Printing Dimensions UNQUALIFIED69Onyama Limba
1002Jefferson D AmigonItaly2026-04-23Feiner Bros NEGOTIATION31Bernardo Dominic
1003Morrow J VocelkaSpain2026-04-11Chapman, Ross E Esq QUALIFIED45Onyama Limba
1004Deepesh P IturbideBrazil2026-05-05Feltz Printing Service RENEWAL10Bernardo Dominic
1005Nicolas B StockhamCanada2026-04-14Chapman, Ross E Esq NEGOTIATION23Onyama Limba
1006Juan G MacleadBrazil2026-05-03King, Christopher A Esq QUALIFIED70Ioni Bowcher
1007Stacey Z BologniaItaly2026-05-05Chemel, James L Cpa QUALIFIED60Asiya Javayant
1008Izzy T DilliardRussia2026-05-06Morlong Associates UNQUALIFIED29Stephen Shaw
1009Kadeem J TollnerRussia2026-04-13King, Christopher A Esq NEGOTIATION88Anna Fali
1010Tony D CaudyUnited Kingdom2026-04-21Dorl, James J Esq PROPOSAL15Anna Fali
1011Mayumi T MarrierIndia2026-04-22King, Christopher A Esq QUALIFIED0Xuxue Feng
1012Claire X MaletRussia2026-05-02Chapman, Ross E Esq UNQUALIFIED34Stephen Shaw
1013Deepesh Y ChuiBrazil2026-04-27Chapman, Ross E Esq NEGOTIATION27Asiya Javayant
1014Mujtaba N MorascaItaly2026-04-29Commercial Press NEW76Ivan Magalhaes
1015Arvin X MacleadUnited Kingdom2026-05-02Dorl, James J Esq PROPOSAL32Elwin Sharvill
1016Wickens A PoquetteAustralia2026-05-02Truhlar And Truhlar Attys NEW96Ioni Bowcher
1017Tony N RutaAustralia2026-04-25Dorl, James J Esq NEGOTIATION74Onyama Limba
1018Jefferson N OldroydArgentina2026-04-10Benton, John B Jr RENEWAL5Amy Elsner
1019Octavia W PerinBrazil2026-05-03Commercial Press UNQUALIFIED8Ivan Magalhaes
1020Tony R DarakjyGermany2026-04-30Truhlar And Truhlar Attys UNQUALIFIED56Asiya Javayant
1021Nicolas U RoysterJapan2026-05-06Buckley Miller Wright PROPOSAL18Asiya Javayant
1022David P DarakjyArgentina2026-04-08Truhlar And Truhlar Attys UNQUALIFIED69Xuxue Feng
1023Mujtaba B PoquetteAustralia2026-04-10Truhlar And Truhlar Attys QUALIFIED76Elwin Sharvill
1024Stacey C MorascaItaly2026-04-18Chemel, James L Cpa NEW92Onyama Limba
1025Smith D FlosiRussia2026-04-14Benton, John B Jr UNQUALIFIED16Xuxue Feng
1026Nicolas R FlosiGermany2026-04-27Feltz Printing Service UNQUALIFIED0Amy Elsner
1027Silvio Z WaycottGermany2026-05-04Truhlar And Truhlar Attys QUALIFIED30Ioni Bowcher
1028Julie S CaudyBrazil2026-04-15Printing Dimensions NEW17Stephen Shaw
1029Jones E RutaFrance2026-05-02Printing Dimensions NEW75Bernardo Dominic
1030Jefferson V DoeUnited Kingdom2026-04-29King, Christopher A Esq NEGOTIATION32Ioni Bowcher
1031Greenwood X KuskoGermany2026-04-13Printing Dimensions UNQUALIFIED99Elwin Sharvill
1032Jennifer G PaprockiBrazil2026-05-04Chemel, James L Cpa QUALIFIED74Anna Fali
1033Kadeem Y SaylorsBrazil2026-04-17Benton, John B Jr UNQUALIFIED3Xuxue Feng
1034Adams J FlosiJapan2026-04-24Rousseaux, Michael Esq NEW65Asiya Javayant
1035Emily R WaycottArgentina2026-04-19Rangoni Of Florence NEGOTIATION84Xuxue Feng
1036Sinclair C TollnerBrazil2026-04-24Printing Dimensions NEW94Amy Elsner
1037David O OstroskyItaly2026-04-26Chanay, Jeffrey A Esq NEGOTIATION73Ioni Bowcher
1038Johnson N DarakjyRussia2026-05-06Chapman, Ross E Esq UNQUALIFIED58Xuxue Feng
1039Adams H MaletRussia2026-04-26Chemel, James L Cpa UNQUALIFIED33Amy Elsner
1040Smith F DarakjyBrazil2026-04-16Rangoni Of Florence QUALIFIED5Ioni Bowcher
1041Leja U FigeroaCanada2026-04-17Rangoni Of Florence NEGOTIATION42Ioni Bowcher
1042Clifford G RulapaughGermany2026-04-28Feltz Printing Service NEGOTIATION48Ioni Bowcher
1043Claire I CampainBrazil2026-04-20Rousseaux, Michael Esq UNQUALIFIED76Amy Elsner
1044Smith D MarrierFrance2026-04-18King, Christopher A Esq QUALIFIED45Ivan Magalhaes
1045Cody E PoquetteJapan2026-04-13Morlong Associates NEGOTIATION89Stephen Shaw
1046Aditya T TollnerItaly2026-04-14Rousseaux, Michael Esq NEW10Ivan Magalhaes
1047Silvio N DarakjyGermany2026-05-02Rousseaux, Michael Esq RENEWAL34Bernardo Dominic
1048Emily B ButtUnited Kingdom2026-05-02Dorl, James J Esq NEGOTIATION72Asiya Javayant
1049Salvatore N FollerAustralia2026-04-22Chapman, Ross E Esq UNQUALIFIED36Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ivar A OldroydJapanAnna Fali NEW
Costa H RoysterJapanBernardo Dominic RENEWAL
Silvio M MaletAustraliaBernardo Dominic PROPOSAL
Julie E FigeroaFranceAmy Elsner RENEWAL
Isabel A FerenczIndiaAmy Elsner PROPOSAL
Wickens W SchemmerFranceAnna Fali PROPOSAL
Isabel L ButtJapanXuxue Feng RENEWAL
Arvin U SergiUnited KingdomAsiya Javayant UNQUALIFIED
Tony S MorascaIndiaBernardo Dominic NEGOTIATION
Claire M BologniaRussiaOnyama Limba UNQUALIFIED
Chavez U FerenczSpainIvan Magalhaes NEW
Misaki F NickaRussiaIvan Magalhaes NEW
Maria G MacleadItalyAsiya Javayant PROPOSAL
Johnson O OldroydBrazilAsiya Javayant NEGOTIATION
Cody E SaylorsBrazilXuxue Feng QUALIFIED
Murillo O DilliardAustraliaIoni Bowcher RENEWAL
Izzy M SergiUnited KingdomIoni Bowcher QUALIFIED
Murillo T SergiIndiaOnyama Limba UNQUALIFIED
Kadeem D FlosiGermanyStephen Shaw NEW
Deepesh S VenereUnited KingdomBernardo Dominic QUALIFIED
Arvin S RoysterFranceElwin Sharvill UNQUALIFIED
Darci H SchemmerFranceAnna Fali NEGOTIATION
Chavez O PaprockiItalyBernardo Dominic UNQUALIFIED
Juan N GillianCanadaOnyama Limba QUALIFIED
Salvatore W FlosiItalyIoni Bowcher PROPOSAL
Cody C WaycottFranceAnna Fali NEGOTIATION
Silvio N VenereRussiaXuxue Feng QUALIFIED
Adams N WaycottBrazilAnna Fali RENEWAL
Leja L RulapaughBrazilOnyama Limba NEGOTIATION
Aruna D DoeBrazilAnna Fali NEW
Nicolas K StensethJapanAnna Fali NEGOTIATION
Adams Z MaletItalyStephen Shaw NEW
Maisha Y CaudyUnited KingdomAmy Elsner NEW
Cody T NestleRussiaOnyama Limba NEW
Jennifer S SaylorsCanadaXuxue Feng RENEWAL
Darci V SchemmerSpainBernardo Dominic UNQUALIFIED
Jeanfrancois L MacleadRussiaAsiya Javayant NEW
Aruna L RimGermanyStephen Shaw UNQUALIFIED
Maisha Q BowleyArgentinaXuxue Feng QUALIFIED
James L StensethBrazilBernardo Dominic NEW
Jennifer D RulapaughRussiaElwin Sharvill UNQUALIFIED
Maisha A OldroydJapanStephen Shaw QUALIFIED
Greenwood D FlosiFranceIoni Bowcher RENEWAL
Deepesh J GillianSpainAmy Elsner PROPOSAL
Jones B GillianIndiaAnna Fali QUALIFIED
James N CaldareraFranceStephen Shaw PROPOSAL
Maisha R RoysterSpainIvan Magalhaes NEW
Silvio R WaycottArgentinaAnna Fali RENEWAL
Salvatore G NestleRussiaElwin Sharvill NEGOTIATION
Smith C MaletRussiaXuxue Feng NEGOTIATION
Frozen Columns
Name
Juan X Doe
Jefferson K Caudy
Murillo P Oldroyd
Adams C Whobrey
Clifford Q Paprocki
Ivar M Rulapaugh
Murillo T Butt
Aditya N Rim
Costa O Caudy
Jones B Rim
Chavez G Perin
Ivar W Morasca
Murillo T Stenseth
Morrow V Stenseth
Murillo U Campain
Salvatore Y Ferencz
Jeanfrancois M Foller
Misaki A Rulapaugh
Deepesh I Gaucho
Smith W Slusarski
Mujtaba C Chui
Jennifer O Butt
Maisha U Schemmer
Ricardo Q Ruta
Misaki S Maclead
Wickens I Darakjy
Silvio S Poquette
Deepesh B Flosi
Tony Y Rim
Juan K Marrier
Morrow U Stockham
Morrow M Poquette
James G Slusarski
Aruna B Bowley
Nicolas T Malet
Mayumi W Gillian
Ivar A Tollner
Nicolas C Shinko
Maisha J Stenseth
Sinclair V Gaucho
Isabel K Butt
Tony D Venere
Costa T Caudy
Murillo C Iturbide
Ashley W Briddick
Kaitlin S Wieser
Izzy T Maclead
Alejandro Y Vocelka
Aditya M Ruta
Maisha Q Kusko
IdCountryDate
1000Russia2026-04-19
1001Japan2026-04-12
1002Canada2026-04-10
1003Italy2026-04-24
1004Japan2026-04-25
1005United Kingdom2026-04-26
1006Brazil2026-04-15
1007Germany2026-05-02
1008Spain2026-05-06
1009Spain2026-04-22
1010Russia2026-04-10
1011Spain2026-04-26
1012Argentina2026-04-17
1013Japan2026-04-09
1014Argentina2026-04-14
1015Germany2026-04-11
1016Argentina2026-04-20
1017Canada2026-04-09
1018Germany2026-04-20
1019Germany2026-04-28
1020Brazil2026-04-14
1021Canada2026-05-01
1022Brazil2026-04-13
1023Brazil2026-04-29
1024France2026-04-26
1025Canada2026-04-09
1026Canada2026-04-10
1027Australia2026-05-03
1028India2026-04-22
1029United Kingdom2026-04-27
1030Japan2026-05-01
1031United Kingdom2026-04-14
1032India2026-04-29
1033Italy2026-04-24
1034Australia2026-04-18
1035Japan2026-05-04
1036Germany2026-04-14
1037Brazil2026-04-25
1038Germany2026-04-07
1039United Kingdom2026-04-08
1040Argentina2026-04-08
1041France2026-04-18
1042United Kingdom2026-04-23
1043Germany2026-04-23
1044Argentina2026-04-25
1045France2026-05-02
1046Brazil2026-04-19
1047Japan2026-04-11
1048India2026-04-19
1049Canada2026-04-19

On-Demand Data

NameIdCountryDate
Kadeem V Perin1000Argentina2026-04-22
Alejandro B Chui1001Brazil2026-04-27
Octavia B Maclead1002Australia2026-04-30
Francesco T Maclead1003Argentina2026-05-04
Ashley Q Poquette1004Australia2026-04-20
Alejandro V Nicka1005Italy2026-04-28
Ricardo F Figeroa1006Russia2026-04-13
Tony B Sergi1007France2026-04-22
Misaki O Campain1008Canada2026-05-04
Chavez O Amigon1009Russia2026-04-27
Deepesh A Marrier1010United Kingdom2026-04-09
Munro F Caudy1011Argentina2026-05-04
Jefferson Q Butt1012India2026-04-19
Silvio P Poquette1013France2026-04-17
Darci A Rulapaugh1014Canada2026-04-16
Clifford B Shinko1015Spain2026-04-18
Alejandro Q Foller1016France2026-04-23
Juan L Malet1017United Kingdom2026-04-25
Wickens E Gaucho1018United Kingdom2026-04-10
Francesco F Schemmer1019United Kingdom2026-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci Q PoquetteFranceIvan Magalhaes NEW
Arvin C GillianIndiaBernardo Dominic NEGOTIATION
Juan F FollerSpainXuxue Feng UNQUALIFIED
Kaitlin C DilliardItalyIvan Magalhaes UNQUALIFIED
Ivar N PerinGermanyXuxue Feng RENEWAL
Francesco V RimGermanyBernardo Dominic RENEWAL
Leja S NestleRussiaBernardo Dominic RENEWAL
Stacey O MaletAustraliaXuxue Feng PROPOSAL
Francesco G WhobreySpainAsiya Javayant QUALIFIED
Francesco Z RoysterIndiaIvan Magalhaes QUALIFIED
Antonio A FollerBrazilIoni Bowcher RENEWAL
Munro S AlbaresIndiaOnyama Limba PROPOSAL
Jones D FerenczGermanyBernardo Dominic PROPOSAL
Rodrigues V CampainAustraliaElwin Sharvill NEW
Leja D OstroskyUnited KingdomStephen Shaw QUALIFIED
Costa Z DilliardCanadaBernardo Dominic NEGOTIATION
Maria X OstroskyCanadaAmy Elsner RENEWAL
Salvatore Y OstroskySpainOnyama Limba NEW
Alejandro D NestleJapanXuxue Feng PROPOSAL
Ashley L KolmetzItalyBernardo Dominic RENEWAL
Stacey V DarakjyFranceAnna Fali UNQUALIFIED
Chavez S CampainJapanAsiya Javayant QUALIFIED
Leon W FlosiSpainIvan Magalhaes NEGOTIATION
Darci P RoysterAustraliaElwin Sharvill QUALIFIED
Jennifer U ChuiBrazilXuxue Feng RENEWAL
Faith V NestleBrazilAsiya Javayant NEGOTIATION
Aika H ButtIndiaAsiya Javayant RENEWAL
Misaki M WieserJapanIoni Bowcher RENEWAL
Alejandro M RutaAustraliaElwin Sharvill PROPOSAL
Munro C RulapaughArgentinaIvan Magalhaes NEGOTIATION
Murillo A InouyeIndiaAmy Elsner UNQUALIFIED
Aruna E SlusarskiIndiaAnna Fali PROPOSAL
Faith S GarufiCanadaAmy Elsner PROPOSAL
Costa H VocelkaIndiaBernardo Dominic QUALIFIED
Arvin O SaylorsUnited KingdomXuxue Feng UNQUALIFIED
Mujtaba I GillianUnited KingdomAsiya Javayant UNQUALIFIED
Maisha P PoquetteGermanyAsiya Javayant RENEWAL
Jeanfrancois T SlusarskiUnited KingdomXuxue Feng NEW
Jefferson R OldroydRussiaAmy Elsner QUALIFIED
Ivar G StensethSpainStephen Shaw NEGOTIATION

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