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
Ivar B KuskoJapanBernardo Dominic QUALIFIED
Deepesh Z TollnerUnited KingdomXuxue Feng RENEWAL
Tony U VocelkaCanadaElwin Sharvill PROPOSAL
Nicolas V KolmetzBrazilElwin Sharvill PROPOSAL
Ricardo P GlickItalyAnna Fali PROPOSAL
Julie O VocelkaArgentinaAsiya Javayant PROPOSAL
Arvin F RimUnited KingdomIoni Bowcher NEW
Jeanfrancois K ChuiArgentinaIvan Magalhaes UNQUALIFIED
Antonio O NickaUnited KingdomXuxue Feng QUALIFIED
David L BologniaCanadaElwin Sharvill QUALIFIED
Francesco W OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Cody U NestleBrazilElwin Sharvill UNQUALIFIED
Murillo R DoeArgentinaBernardo Dominic NEW
Aika E TollnerGermanyBernardo Dominic NEW
Deepesh P VenereCanadaStephen Shaw UNQUALIFIED
Adams U DilliardItalyAsiya Javayant UNQUALIFIED
Cody M BologniaUnited KingdomStephen Shaw QUALIFIED
Mujtaba T CaldareraArgentinaAmy Elsner NEGOTIATION
Morrow C ChuiItalyBernardo Dominic RENEWAL
Misaki C PoquetteJapanAsiya Javayant UNQUALIFIED
Kadeem O WieserCanadaOnyama Limba QUALIFIED
Cody Q AlbaresFranceXuxue Feng NEGOTIATION
Greenwood I RutaArgentinaOnyama Limba NEGOTIATION
Francesco S GarufiJapanStephen Shaw UNQUALIFIED
Arvin G GauchoItalyIvan Magalhaes QUALIFIED
Rodrigues S SergiSpainBernardo Dominic PROPOSAL
Jennifer R AmigonFranceOnyama Limba PROPOSAL
Darci A MacleadRussiaStephen Shaw QUALIFIED
Jefferson C CaldareraItalyStephen Shaw RENEWAL
Rodrigues K KolmetzItalyOnyama Limba PROPOSAL
Murillo V SchemmerJapanElwin Sharvill UNQUALIFIED
Antonio W WaycottAustraliaElwin Sharvill QUALIFIED
Ashley P MaletFranceIoni Bowcher RENEWAL
Leon B MaletGermanyIvan Magalhaes QUALIFIED
Johnson T FollerIndiaOnyama Limba UNQUALIFIED
Murillo E NestleGermanyElwin Sharvill NEW
Kaitlin U BologniaBrazilElwin Sharvill QUALIFIED
Jones G MorascaAustraliaAsiya Javayant NEGOTIATION
Costa R FerenczBrazilAnna Fali UNQUALIFIED
Aditya M SergiBrazilBernardo Dominic NEGOTIATION
Jeanfrancois X GillianAustraliaStephen Shaw RENEWAL
Juan R RimArgentinaBernardo Dominic NEW
Claire V SchemmerBrazilIoni Bowcher QUALIFIED
Misaki T WieserItalyOnyama Limba RENEWAL
Darci E SchemmerUnited KingdomOnyama Limba PROPOSAL
Kaitlin U NestleGermanyAsiya Javayant UNQUALIFIED
Smith G BologniaFranceXuxue Feng RENEWAL
Ivar T OldroydArgentinaAnna Fali PROPOSAL
Faith E MorascaItalyIoni Bowcher RENEWAL
Antonio V DilliardBrazilAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba D ShinkoFranceStephen Shaw NEW
Jeanfrancois Z BriddickAustraliaBernardo Dominic UNQUALIFIED
Ashley O SergiJapanXuxue Feng NEGOTIATION
Jefferson L IturbideGermanyAsiya Javayant RENEWAL
Julie F MaletItalyElwin Sharvill PROPOSAL
Wickens R VenereRussiaIvan Magalhaes PROPOSAL
Maria O TollnerIndiaAsiya Javayant PROPOSAL
Jefferson V KolmetzGermanyAsiya Javayant PROPOSAL
Mayumi D WieserGermanyIvan Magalhaes PROPOSAL
Leja N BologniaJapanIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia M SlusarskiSpain2026-06-06Printing Dimensions NEW45Ioni Bowcher
1001Octavia I AmigonArgentina2026-05-23Printing Dimensions NEGOTIATION49Elwin Sharvill
1002Jeanfrancois G AmigonBrazil2026-05-22Chanay, Jeffrey A Esq RENEWAL72Elwin Sharvill
1003Alejandro E ButtAustralia2026-06-13Rousseaux, Michael Esq NEW96Ivan Magalhaes
1004Maria H PaprockiIndia2026-06-03King, Christopher A Esq NEW27Ivan Magalhaes
1005Maisha G MacleadRussia2026-06-14Morlong Associates QUALIFIED90Asiya Javayant
1006Stacey A ShinkoJapan2026-05-31King, Christopher A Esq QUALIFIED28Asiya Javayant
1007Adams Z StensethCanada2026-05-25Feltz Printing Service UNQUALIFIED8Elwin Sharvill
1008Jefferson J FlosiRussia2026-06-13King, Christopher A Esq NEGOTIATION89Stephen Shaw
1009Jeanfrancois I InouyeArgentina2026-06-02Chemel, James L Cpa NEW79Elwin Sharvill
1010David Y OldroydArgentina2026-05-24Feltz Printing Service RENEWAL67Asiya Javayant
1011Arvin M StockhamItaly2026-06-09Commercial Press UNQUALIFIED7Stephen Shaw
1012Wickens E MaletCanada2026-06-08Rangoni Of Florence NEW69Ivan Magalhaes
1013Morrow A FerenczIndia2026-06-11Benton, John B Jr QUALIFIED13Elwin Sharvill
1014Costa Q FigeroaItaly2026-06-01Chanay, Jeffrey A Esq PROPOSAL30Anna Fali
1015Deepesh F FollerJapan2026-06-16Dorl, James J Esq PROPOSAL71Xuxue Feng
1016Tony R SergiItaly2026-06-04Feiner Bros UNQUALIFIED90Ivan Magalhaes
1017Chavez H KolmetzFrance2026-06-07Truhlar And Truhlar Attys QUALIFIED46Stephen Shaw
1018Mujtaba L SchemmerUnited Kingdom2026-05-28Buckley Miller Wright RENEWAL30Elwin Sharvill
1019Arvin R GillianRussia2026-05-31Morlong Associates RENEWAL27Xuxue Feng
1020Aika L FollerGermany2026-06-05Feiner Bros NEGOTIATION41Ivan Magalhaes
1021Ivar B SaylorsAustralia2026-06-12Feltz Printing Service PROPOSAL55Ioni Bowcher
1022Stacey D BologniaCanada2026-06-04Commercial Press QUALIFIED14Amy Elsner
1023Greenwood X DarakjyBrazil2026-05-22Commercial Press NEW88Stephen Shaw
1024Maria Q SaylorsAustralia2026-06-10Commercial Press QUALIFIED44Asiya Javayant
1025Smith C RimRussia2026-06-01Buckley Miller Wright NEW2Ioni Bowcher
1026Nicolas T SergiFrance2026-06-17Rangoni Of Florence PROPOSAL39Onyama Limba
1027Jones V OstroskyRussia2026-05-30Morlong Associates UNQUALIFIED25Stephen Shaw
1028Emily U StensethRussia2026-06-20Rousseaux, Michael Esq UNQUALIFIED16Anna Fali
1029Salvatore T TollnerCanada2026-06-04Benton, John B Jr NEGOTIATION17Xuxue Feng
1030Sinclair D FerenczUnited Kingdom2026-06-03Chanay, Jeffrey A Esq UNQUALIFIED59Xuxue Feng
1031Stacey R MarrierFrance2026-05-27Buckley Miller Wright RENEWAL36Amy Elsner
1032Julie A WieserItaly2026-06-03Benton, John B Jr UNQUALIFIED75Stephen Shaw
1033Cody M SergiSpain2026-05-24Chanay, Jeffrey A Esq UNQUALIFIED83Ioni Bowcher
1034Maisha H WieserCanada2026-05-28Chemel, James L Cpa UNQUALIFIED68Anna Fali
1035Ashley D SchemmerJapan2026-05-29Buckley Miller Wright UNQUALIFIED35Bernardo Dominic
1036James X RoysterUnited Kingdom2026-05-23Rousseaux, Michael Esq NEW92Ivan Magalhaes
1037Cody V AlbaresJapan2026-06-02Chemel, James L Cpa PROPOSAL20Ioni Bowcher
1038David T WhobreySpain2026-06-02Benton, John B Jr UNQUALIFIED67Ivan Magalhaes
1039Greenwood S WieserBrazil2026-06-19Rousseaux, Michael Esq RENEWAL2Amy Elsner
1040Nicolas H OldroydGermany2026-05-22Feiner Bros PROPOSAL61Xuxue Feng
1041Julie Z NestleGermany2026-05-28Buckley Miller Wright RENEWAL79Elwin Sharvill
1042Francesco A GarufiSpain2026-06-18King, Christopher A Esq UNQUALIFIED2Ioni Bowcher
1043Adams C IturbideItaly2026-06-08Feiner Bros NEGOTIATION80Anna Fali
1044Jennifer R SaylorsJapan2026-06-15Chanay, Jeffrey A Esq NEGOTIATION72Xuxue Feng
1045Misaki W GlickUnited Kingdom2026-06-13Chapman, Ross E Esq PROPOSAL77Ivan Magalhaes
1046Aditya Q CampainItaly2026-05-29Feltz Printing Service NEW95Asiya Javayant
1047Kaitlin R WieserIndia2026-05-29Chanay, Jeffrey A Esq NEW52Anna Fali
1048Johnson M NestleItaly2026-06-05Dorl, James J Esq RENEWAL50Anna Fali
1049Ricardo U DarakjyIndia2026-05-25Feltz Printing Service NEW48Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Wickens W BowleyRussiaAnna Fali PROPOSAL
Faith O KolmetzUnited KingdomIvan Magalhaes NEW
Julie D CampainArgentinaOnyama Limba QUALIFIED
Faith F TollnerIndiaOnyama Limba NEGOTIATION
Octavia F TollnerUnited KingdomAnna Fali NEGOTIATION
David E CaldareraUnited KingdomStephen Shaw PROPOSAL
Leja E BriddickGermanyBernardo Dominic UNQUALIFIED
Ivar I CaldareraAustraliaAmy Elsner QUALIFIED
Julie M DoeRussiaAsiya Javayant UNQUALIFIED
David T SaylorsJapanAsiya Javayant UNQUALIFIED
Misaki N ButtCanadaXuxue Feng NEW
Jones N FigeroaItalyXuxue Feng NEGOTIATION
Jones X GlickFranceStephen Shaw PROPOSAL
Maisha O CaudyItalyElwin Sharvill PROPOSAL
Jeanfrancois X BologniaIndiaAmy Elsner NEGOTIATION
Jennifer C RulapaughJapanAnna Fali RENEWAL
Smith H ChuiCanadaAmy Elsner RENEWAL
Darci K ShinkoItalyXuxue Feng NEW
Costa Y ShinkoArgentinaAsiya Javayant QUALIFIED
Francesco O InouyeRussiaAmy Elsner UNQUALIFIED
Ricardo Y StensethRussiaAnna Fali PROPOSAL
Emily J BowleySpainStephen Shaw PROPOSAL
Murillo G KuskoItalyStephen Shaw NEW
Chavez J MaletGermanyAmy Elsner QUALIFIED
Costa F ButtFranceBernardo Dominic UNQUALIFIED
Johnson L FerenczSpainAnna Fali UNQUALIFIED
Munro H TollnerBrazilXuxue Feng UNQUALIFIED
Jefferson M PoquetteGermanyBernardo Dominic UNQUALIFIED
Costa N SaylorsBrazilAmy Elsner QUALIFIED
Aditya Q SchemmerCanadaXuxue Feng UNQUALIFIED
Munro X CampainAustraliaStephen Shaw UNQUALIFIED
Stacey O InouyeBrazilElwin Sharvill QUALIFIED
Aika F FerenczJapanBernardo Dominic PROPOSAL
Aika W VocelkaFranceAmy Elsner RENEWAL
Juan O OldroydJapanStephen Shaw UNQUALIFIED
Arvin H SlusarskiBrazilIoni Bowcher NEW
Francesco T StensethIndiaIoni Bowcher PROPOSAL
Smith I SlusarskiJapanAnna Fali UNQUALIFIED
Alejandro N OstroskyGermanyOnyama Limba NEW
David F GlickJapanIoni Bowcher RENEWAL
Mujtaba H VenereAustraliaXuxue Feng PROPOSAL
Mayumi L SergiCanadaElwin Sharvill PROPOSAL
Emily E StockhamUnited KingdomAnna Fali QUALIFIED
Nicolas W FerenczRussiaStephen Shaw RENEWAL
Faith U AmigonAustraliaBernardo Dominic UNQUALIFIED
Stacey S StockhamFranceIoni Bowcher PROPOSAL
Jefferson L CaudyJapanIvan Magalhaes PROPOSAL
Alejandro E OldroydSpainAnna Fali QUALIFIED
James B IturbideArgentinaAmy Elsner UNQUALIFIED
Chavez S DilliardAustraliaOnyama Limba NEGOTIATION
Frozen Columns
Name
Tony J Schemmer
Morrow H Garufi
Julie S Rim
Jeanfrancois K Gaucho
Morrow H Kolmetz
Darci H Darakjy
David E Saylors
Francesco K Caudy
Ivar V Bowley
Sinclair I Royster
Leja B Campain
Misaki F Bowley
Greenwood O Doe
Aditya T Schemmer
Adams Q Kusko
Rodrigues U Glick
Julie S Malet
Octavia X Whobrey
Izzy H Saylors
Isabel I Rim
Aruna G Darakjy
Stacey T Oldroyd
Greenwood W Nicka
David Q Dilliard
Chavez A Glick
Claire G Whobrey
Rodrigues Q Poquette
Emily A Nicka
Jennifer T Rulapaugh
Maisha G Albares
Ivar A Bolognia
Francesco V Inouye
Juan G Poquette
Izzy G Ferencz
Emily P Royster
Juan A Dilliard
Deepesh J Slusarski
Costa V Perin
Leon O Royster
Costa U Perin
Jefferson B Malet
Kaitlin U Kusko
Munro W Perin
Tony K Saylors
Darci C Slusarski
Juan X Bowley
Leon O Paprocki
Deepesh B Morasca
Costa J Darakjy
Silvio R Briddick
IdCountryDate
1000Argentina2026-06-08
1001Brazil2026-05-30
1002Spain2026-06-15
1003Germany2026-06-19
1004Germany2026-05-25
1005India2026-05-31
1006Germany2026-05-23
1007India2026-06-19
1008Germany2026-06-17
1009Canada2026-06-07
1010France2026-06-16
1011Italy2026-05-31
1012Spain2026-05-27
1013Canada2026-06-04
1014Japan2026-06-01
1015Italy2026-06-19
1016Spain2026-06-02
1017Russia2026-05-23
1018Australia2026-06-08
1019Germany2026-05-31
1020Spain2026-06-15
1021Spain2026-06-12
1022Australia2026-05-30
1023United Kingdom2026-05-29
1024Germany2026-06-11
1025United Kingdom2026-05-23
1026Italy2026-05-26
1027France2026-05-29
1028Japan2026-05-27
1029Japan2026-06-08
1030Germany2026-06-02
1031Russia2026-06-10
1032Russia2026-06-04
1033Japan2026-05-24
1034Canada2026-06-09
1035Germany2026-05-22
1036Australia2026-06-05
1037Argentina2026-06-08
1038United Kingdom2026-06-20
1039United Kingdom2026-05-25
1040Canada2026-05-27
1041Argentina2026-05-29
1042Japan2026-06-07
1043Canada2026-06-09
1044Spain2026-06-17
1045Japan2026-06-13
1046India2026-05-27
1047Spain2026-05-29
1048Argentina2026-06-13
1049Spain2026-05-27

On-Demand Data

NameIdCountryDate
Clifford S Bolognia1000United Kingdom2026-06-02
Claire J Campain1001Argentina2026-05-24
Mujtaba D Tollner1002India2026-06-05
David P Inouye1003Australia2026-06-07
Johnson S Doe1004Brazil2026-06-11
Izzy J Butt1005Spain2026-06-20
Wickens D Chui1006Argentina2026-06-02
Clifford E Waycott1007United Kingdom2026-06-16
Cody K Figeroa1008United Kingdom2026-06-04
Emily O Perin1009Germany2026-06-02
Jennifer B Caldarera1010United Kingdom2026-06-15
Mujtaba F Flosi1011Italy2026-06-07
Adams P Kusko1012Spain2026-06-02
Kadeem K Whobrey1013Brazil2026-05-23
Mujtaba N Iturbide1014France2026-05-25
Maisha O Perin1015Argentina2026-05-24
Aika H Chui1016Japan2026-05-26
Julie K Albares1017Spain2026-06-08
Maria F Amigon1018Australia2026-05-24
Ricardo G Marrier1019United Kingdom2026-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey V RutaAustraliaElwin Sharvill NEGOTIATION
Isabel U DoeBrazilIvan Magalhaes PROPOSAL
Nicolas F SergiSpainIvan Magalhaes QUALIFIED
Maria H BowleyItalyBernardo Dominic NEW
Jefferson D RutaSpainIvan Magalhaes PROPOSAL
Juan P CaudyGermanyBernardo Dominic UNQUALIFIED
Stacey W TollnerIndiaStephen Shaw QUALIFIED
Emily P PaprockiJapanIoni Bowcher NEW
Murillo Q NestleGermanyIvan Magalhaes NEW
Mujtaba C TollnerSpainAmy Elsner RENEWAL
Arvin E MacleadArgentinaIoni Bowcher QUALIFIED
Jones J FollerFranceIvan Magalhaes NEW
Alejandro F RimCanadaElwin Sharvill PROPOSAL
Maria Q GauchoAustraliaAmy Elsner RENEWAL
Nicolas E BologniaAustraliaOnyama Limba QUALIFIED
Claire F PoquetteAustraliaAmy Elsner QUALIFIED
Kaitlin P PaprockiRussiaIvan Magalhaes NEW
Izzy Q FollerAustraliaElwin Sharvill NEW
Silvio G FigeroaBrazilAmy Elsner UNQUALIFIED
James K WhobreyItalyAmy Elsner UNQUALIFIED
Rodrigues O GlickFranceAsiya Javayant PROPOSAL
Jefferson T RulapaughIndiaBernardo Dominic NEGOTIATION
Clifford M WaycottJapanAnna Fali PROPOSAL
Sinclair P WieserIndiaAsiya Javayant NEW
Mujtaba U KuskoArgentinaIvan Magalhaes NEW
Salvatore I GarufiCanadaAsiya Javayant NEW
Juan Y WhobreyIndiaStephen Shaw NEGOTIATION
Claire I BowleyAustraliaStephen Shaw QUALIFIED
Ivar P StensethItalyElwin Sharvill UNQUALIFIED
Kaitlin Y KuskoCanadaOnyama Limba QUALIFIED
Jones U GarufiArgentinaElwin Sharvill UNQUALIFIED
Aika B FigeroaGermanyAnna Fali UNQUALIFIED
David F DarakjyBrazilAsiya Javayant NEGOTIATION
Francesco E KolmetzArgentinaIvan Magalhaes NEGOTIATION
Aika Y SaylorsCanadaBernardo Dominic NEGOTIATION
Stacey Q FlosiJapanAnna Fali NEGOTIATION
Mayumi O FlosiBrazilAnna Fali NEGOTIATION
Munro L GlickFranceIvan Magalhaes PROPOSAL
Aditya P ShinkoJapanBernardo Dominic PROPOSAL
Izzy Z StensethCanadaIvan Magalhaes 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.