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
Wickens B DilliardFranceAnna Fali NEGOTIATION
Jones O FlosiFranceAsiya Javayant NEW
Nicolas X GillianArgentinaAmy Elsner NEW
Alejandro T VocelkaCanadaAnna Fali UNQUALIFIED
Tony X OstroskyUnited KingdomAmy Elsner RENEWAL
Jones H MaletJapanElwin Sharvill PROPOSAL
Salvatore B FlosiGermanyStephen Shaw QUALIFIED
Aruna S DilliardRussiaAmy Elsner UNQUALIFIED
Clifford F InouyeAustraliaAmy Elsner QUALIFIED
Sinclair J IturbideCanadaIvan Magalhaes PROPOSAL
Mayumi E SlusarskiSpainAsiya Javayant QUALIFIED
Cody B FollerJapanStephen Shaw RENEWAL
Isabel L DarakjyUnited KingdomStephen Shaw NEW
Aditya L CaudyFranceXuxue Feng QUALIFIED
Sinclair G RulapaughGermanyAnna Fali UNQUALIFIED
Clifford C NestleUnited KingdomOnyama Limba UNQUALIFIED
Leon O SlusarskiItalyAsiya Javayant PROPOSAL
Aditya M SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Aditya Y DoeItalyAmy Elsner RENEWAL
Julie S WieserSpainIoni Bowcher NEW
Rodrigues J GlickUnited KingdomStephen Shaw NEW
Stacey Z GlickCanadaIvan Magalhaes UNQUALIFIED
Rodrigues G BologniaUnited KingdomIvan Magalhaes NEGOTIATION
Munro L SaylorsIndiaAmy Elsner NEGOTIATION
Rodrigues V WaycottJapanAmy Elsner PROPOSAL
Maisha U BowleyBrazilIoni Bowcher RENEWAL
Mayumi Z DilliardGermanyStephen Shaw PROPOSAL
Ricardo P ButtIndiaXuxue Feng NEGOTIATION
Aruna L RulapaughItalyOnyama Limba UNQUALIFIED
Francesco K RutaItalyStephen Shaw UNQUALIFIED
Claire F GillianCanadaIvan Magalhaes QUALIFIED
Isabel M RoysterJapanStephen Shaw NEGOTIATION
Misaki D AlbaresJapanIvan Magalhaes NEGOTIATION
Aditya X AlbaresFranceIvan Magalhaes NEGOTIATION
Costa H AmigonGermanyXuxue Feng PROPOSAL
Murillo P MacleadCanadaAmy Elsner NEW
Chavez R SergiAustraliaIoni Bowcher NEGOTIATION
Arvin I FigeroaItalyAmy Elsner PROPOSAL
Leja J DarakjySpainAmy Elsner UNQUALIFIED
Francesco D OldroydRussiaAnna Fali NEGOTIATION
Antonio D ChuiCanadaAmy Elsner PROPOSAL
Emily G VocelkaRussiaStephen Shaw NEGOTIATION
Clifford M FerenczSpainStephen Shaw NEGOTIATION
Ivar Q InouyeRussiaStephen Shaw NEGOTIATION
Izzy S FigeroaAustraliaAnna Fali RENEWAL
Morrow P RoysterSpainIvan Magalhaes PROPOSAL
Greenwood G MarrierCanadaAnna Fali NEGOTIATION
Nicolas S DoeGermanyAmy Elsner QUALIFIED
Alejandro R KolmetzFranceIoni Bowcher NEGOTIATION
Isabel S WhobreyRussiaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody R GauchoAustraliaXuxue Feng NEGOTIATION
Cody L DoeUnited KingdomAnna Fali QUALIFIED
Aditya V IturbideUnited KingdomAmy Elsner PROPOSAL
Aditya P NickaSpainIoni Bowcher PROPOSAL
Jennifer P InouyeSpainElwin Sharvill UNQUALIFIED
Aruna M BriddickAustraliaXuxue Feng QUALIFIED
Nicolas D PaprockiCanadaOnyama Limba RENEWAL
Claire S VocelkaRussiaOnyama Limba QUALIFIED
Smith H AlbaresBrazilBernardo Dominic RENEWAL
Mujtaba G PaprockiJapanXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James P RoysterItaly2026-02-01Rousseaux, Michael Esq UNQUALIFIED71Xuxue Feng
1001Jones O VenereCanada2026-02-04Rangoni Of Florence NEGOTIATION73Bernardo Dominic
1002Clifford U RimBrazil2026-02-15Commercial Press NEGOTIATION72Ioni Bowcher
1003Deepesh A FollerArgentina2026-02-28Dorl, James J Esq PROPOSAL65Anna Fali
1004Julie D MacleadAustralia2026-02-12Printing Dimensions RENEWAL29Asiya Javayant
1005Kadeem B GillianCanada2026-02-18Chemel, James L Cpa QUALIFIED99Amy Elsner
1006Kadeem A TollnerJapan2026-02-22Feiner Bros RENEWAL5Amy Elsner
1007Aditya H GauchoArgentina2026-02-27Rousseaux, Michael Esq PROPOSAL67Ioni Bowcher
1008Chavez N MarrierRussia2026-02-04Dorl, James J Esq RENEWAL41Bernardo Dominic
1009Smith F PerinRussia2026-02-20King, Christopher A Esq NEGOTIATION37Bernardo Dominic
1010Aika D SlusarskiIndia2026-02-16Buckley Miller Wright RENEWAL77Onyama Limba
1011Maisha J InouyeIndia2026-02-02Chapman, Ross E Esq NEGOTIATION88Bernardo Dominic
1012Nicolas G DarakjySpain2026-02-01Benton, John B Jr NEW16Anna Fali
1013Aika D FerenczCanada2026-02-01Rousseaux, Michael Esq QUALIFIED90Asiya Javayant
1014Wickens Z BologniaCanada2026-02-07Printing Dimensions PROPOSAL84Amy Elsner
1015Claire M ShinkoBrazil2026-02-23Commercial Press PROPOSAL0Asiya Javayant
1016Faith K WhobreySpain2026-02-10Feltz Printing Service NEGOTIATION2Ioni Bowcher
1017Silvio J StensethItaly2026-01-30Rangoni Of Florence QUALIFIED91Asiya Javayant
1018Emily T VocelkaAustralia2026-02-04Benton, John B Jr NEW33Onyama Limba
1019Clifford A KolmetzFrance2026-02-05Feltz Printing Service RENEWAL87Ivan Magalhaes
1020Chavez I AmigonCanada2026-02-27King, Christopher A Esq UNQUALIFIED83Asiya Javayant
1021Tony Z TollnerSpain2026-02-02Morlong Associates PROPOSAL7Ivan Magalhaes
1022Aika G DarakjyUnited Kingdom2026-02-07Dorl, James J Esq QUALIFIED37Bernardo Dominic
1023Sinclair O DoeCanada2026-02-03Dorl, James J Esq UNQUALIFIED95Anna Fali
1024Chavez B PoquetteAustralia2026-02-16Printing Dimensions UNQUALIFIED7Asiya Javayant
1025Munro Z GauchoItaly2026-02-09Rousseaux, Michael Esq UNQUALIFIED31Ioni Bowcher
1026Ashley N MorascaAustralia2026-02-14Truhlar And Truhlar Attys RENEWAL63Bernardo Dominic
1027Jeanfrancois F ChuiIndia2026-02-25Truhlar And Truhlar Attys NEGOTIATION83Anna Fali
1028Cody E FlosiAustralia2026-02-25Chanay, Jeffrey A Esq QUALIFIED23Elwin Sharvill
1029Costa J GarufiSpain2026-02-08Commercial Press QUALIFIED89Xuxue Feng
1030Wickens W KuskoItaly2026-02-10Chemel, James L Cpa NEGOTIATION15Xuxue Feng
1031Silvio V CampainSpain2026-02-22Printing Dimensions NEW12Xuxue Feng
1032James L GauchoIndia2026-02-25Truhlar And Truhlar Attys PROPOSAL36Asiya Javayant
1033Ashley P OstroskyCanada2026-02-26Dorl, James J Esq RENEWAL80Ivan Magalhaes
1034Jones P MacleadJapan2026-02-18Morlong Associates UNQUALIFIED57Xuxue Feng
1035Kaitlin W VocelkaIndia2026-02-15King, Christopher A Esq NEW10Elwin Sharvill
1036Ricardo M MaletGermany2026-02-02Chapman, Ross E Esq RENEWAL42Elwin Sharvill
1037David W WaycottBrazil2026-02-08Chemel, James L Cpa QUALIFIED35Stephen Shaw
1038James U SlusarskiJapan2026-02-20Dorl, James J Esq NEW32Onyama Limba
1039Sinclair H AmigonItaly2026-02-06Feiner Bros RENEWAL47Xuxue Feng
1040Adams U RimCanada2026-02-12Benton, John B Jr NEGOTIATION56Xuxue Feng
1041Tony Q RutaSpain2026-02-27Commercial Press UNQUALIFIED50Ivan Magalhaes
1042Alejandro E WhobreyGermany2026-02-03Buckley Miller Wright NEGOTIATION90Xuxue Feng
1043Jones W MarrierUnited Kingdom2026-02-09Chemel, James L Cpa NEW2Elwin Sharvill
1044Aditya L MorascaGermany2026-02-22Truhlar And Truhlar Attys NEW37Elwin Sharvill
1045Kadeem Q FigeroaUnited Kingdom2026-02-04Morlong Associates NEGOTIATION91Stephen Shaw
1046Maria L OldroydSpain2026-02-18Morlong Associates PROPOSAL77Onyama Limba
1047Silvio A PerinIndia2026-02-20Morlong Associates NEW74Stephen Shaw
1048Tony V NestleBrazil2026-02-17Printing Dimensions NEGOTIATION52Anna Fali
1049Octavia M ChuiRussia2026-02-04Rousseaux, Michael Esq NEGOTIATION90Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
David D CampainJapanBernardo Dominic QUALIFIED
Morrow J GillianFranceIvan Magalhaes QUALIFIED
Mujtaba T VenereRussiaOnyama Limba RENEWAL
Ashley H PoquetteJapanAsiya Javayant NEGOTIATION
Jeanfrancois G NickaGermanyXuxue Feng PROPOSAL
Greenwood Q MarrierRussiaIvan Magalhaes NEW
Aruna A MaletItalyBernardo Dominic PROPOSAL
Rodrigues Y MorascaArgentinaAnna Fali PROPOSAL
Kadeem E InouyeFranceAmy Elsner RENEWAL
Smith B ChuiBrazilBernardo Dominic NEW
Claire U WhobreyJapanIoni Bowcher RENEWAL
Aditya C NestleArgentinaElwin Sharvill RENEWAL
Antonio R VocelkaJapanStephen Shaw UNQUALIFIED
Ricardo V VocelkaAustraliaAsiya Javayant QUALIFIED
Salvatore Q PaprockiFranceAmy Elsner PROPOSAL
Francesco O PerinCanadaAnna Fali UNQUALIFIED
Ricardo G FigeroaGermanyXuxue Feng NEW
James F NestleCanadaIoni Bowcher UNQUALIFIED
Rodrigues M RoysterBrazilOnyama Limba QUALIFIED
Faith H ShinkoAustraliaAnna Fali UNQUALIFIED
Johnson B InouyeArgentinaIvan Magalhaes NEW
Adams C MaletRussiaAnna Fali QUALIFIED
Misaki G BowleyItalyAsiya Javayant QUALIFIED
Emily O GarufiFranceAnna Fali NEW
Costa T NestleIndiaIvan Magalhaes NEGOTIATION
Darci J AlbaresRussiaXuxue Feng NEW
Adams R CampainGermanyXuxue Feng RENEWAL
Misaki B WhobreyUnited KingdomIoni Bowcher NEW
Mayumi B WhobreySpainAnna Fali PROPOSAL
Maisha R GlickSpainAnna Fali NEW
Adams O GarufiItalyStephen Shaw UNQUALIFIED
Aruna L StensethArgentinaAnna Fali QUALIFIED
Emily X GillianAustraliaAmy Elsner NEW
Nicolas K MorascaIndiaIvan Magalhaes QUALIFIED
Misaki P RulapaughBrazilAsiya Javayant UNQUALIFIED
Aditya T PaprockiAustraliaAmy Elsner NEW
Rodrigues G ChuiCanadaXuxue Feng UNQUALIFIED
Adams V AlbaresFranceAsiya Javayant NEW
Darci M PoquetteRussiaAmy Elsner NEGOTIATION
Jennifer X PaprockiAustraliaAmy Elsner NEGOTIATION
Rodrigues W BologniaBrazilAnna Fali QUALIFIED
Francesco S KuskoCanadaOnyama Limba PROPOSAL
Ashley M BologniaRussiaOnyama Limba NEGOTIATION
Emily J ButtItalyOnyama Limba NEGOTIATION
Nicolas R FollerArgentinaXuxue Feng RENEWAL
Munro B OstroskyFranceIvan Magalhaes NEGOTIATION
Jefferson R BriddickFranceIoni Bowcher RENEWAL
Izzy E MaletArgentinaXuxue Feng NEGOTIATION
Jennifer A StensethGermanyAsiya Javayant RENEWAL
Nicolas E StensethSpainOnyama Limba RENEWAL
Frozen Columns
Name
Tony Y Iturbide
Johnson C Paprocki
Deepesh L Perin
Emily H Campain
Ashley S Stockham
Jennifer O Foller
Misaki R Rim
Maisha Z Bolognia
Antonio C Nestle
Chavez M Flosi
Costa V Butt
Emily E Morasca
Salvatore B Poquette
Nicolas T Campain
Cody F Briddick
Stacey I Butt
Wickens K Oldroyd
Izzy I Bolognia
Clifford L Slusarski
Stacey L Amigon
Mujtaba Z Gillian
Jeanfrancois J Kusko
Stacey H Darakjy
Johnson W Whobrey
Alejandro R Perin
Izzy E Waycott
Ashley D Ostrosky
Murillo K Doe
Salvatore L Poquette
Darci W Figeroa
Costa F Poquette
Maisha R Malet
Maisha J Paprocki
James M Stenseth
David E Sergi
Tony A Royster
Clifford V Caldarera
Aruna B Inouye
Jeanfrancois A Sergi
David K Shinko
Tony C Bolognia
Johnson H Dilliard
Maisha Y Schemmer
Antonio C Foller
Aruna B Gillian
Francesco N Sergi
Faith R Waycott
Jones H Wieser
Maria A Tollner
Maisha S Maclead
IdCountryDate
1000Canada2026-02-01
1001Italy2026-02-25
1002Italy2026-02-07
1003France2026-02-01
1004Russia2026-02-07
1005United Kingdom2026-02-15
1006India2026-02-08
1007Germany2026-02-25
1008France2026-02-27
1009Australia2026-02-22
1010Australia2026-02-20
1011Russia2026-02-03
1012France2026-02-06
1013Australia2026-02-18
1014Brazil2026-02-28
1015Argentina2026-02-19
1016Japan2026-02-05
1017Japan2026-02-25
1018Russia2026-02-24
1019France2026-02-17
1020France2026-02-12
1021India2026-02-27
1022Canada2026-02-21
1023Japan2026-02-18
1024United Kingdom2026-02-19
1025India2026-02-08
1026Canada2026-02-08
1027Australia2026-02-11
1028Russia2026-02-04
1029Germany2026-02-09
1030India2026-02-21
1031Japan2026-02-18
1032Japan2026-02-16
1033Italy2026-02-07
1034France2026-02-26
1035Japan2026-02-18
1036Russia2026-02-13
1037United Kingdom2026-02-08
1038France2026-02-19
1039Australia2026-02-02
1040Russia2026-02-14
1041Argentina2026-02-13
1042Japan2026-02-08
1043Japan2026-02-09
1044Germany2026-02-09
1045Japan2026-02-13
1046Canada2026-02-21
1047Spain2026-02-19
1048Brazil2026-02-20
1049Australia2026-02-25

On-Demand Data

NameIdCountryDate
Silvio J Doe1000United Kingdom2026-01-30
Salvatore G Poquette1001Brazil2026-01-31
Jones J Marrier1002United Kingdom2026-01-30
Ashley J Briddick1003Argentina2026-02-09
Alejandro E Shinko1004France2026-02-05
Antonio C Amigon1005Japan2026-02-15
Chavez B Ruta1006Germany2026-02-21
Ivar K Albares1007Germany2026-02-22
Emily N Kusko1008Germany2026-02-24
Kaitlin T Paprocki1009Brazil2026-02-21
Darci Y Vocelka1010Canada2026-02-17
Antonio G Shinko1011Canada2026-02-03
Kadeem I Waycott1012Japan2026-02-01
Antonio A Malet1013Germany2026-02-11
Claire J Foller1014France2026-02-11
Leon Z Morasca1015Spain2026-02-10
Alejandro S Butt1016Brazil2026-02-22
Octavia T Oldroyd1017Russia2026-02-16
Salvatore I Malet1018Spain2026-02-15
David B Glick1019Russia2026-02-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki I TollnerJapanAnna Fali RENEWAL
Octavia B GlickUnited KingdomAnna Fali RENEWAL
Mujtaba P WhobreyRussiaOnyama Limba UNQUALIFIED
Murillo Q BowleyGermanyIoni Bowcher PROPOSAL
Jennifer C GillianSpainElwin Sharvill NEW
Cody K ShinkoJapanIvan Magalhaes RENEWAL
Isabel D BowleyAustraliaAmy Elsner UNQUALIFIED
Jennifer K CaldareraSpainXuxue Feng NEW
Izzy W GillianAustraliaAmy Elsner RENEWAL
Kaitlin F NestleArgentinaIoni Bowcher NEGOTIATION
Darci W WhobreyJapanBernardo Dominic PROPOSAL
Julie E InouyeBrazilBernardo Dominic NEGOTIATION
James G SlusarskiRussiaAsiya Javayant NEW
Aika J VenereIndiaOnyama Limba NEGOTIATION
Darci C AmigonIndiaAnna Fali NEGOTIATION
Deepesh E RimAustraliaIvan Magalhaes NEW
Cody Q MacleadAustraliaElwin Sharvill RENEWAL
Aditya T KolmetzBrazilIvan Magalhaes QUALIFIED
Jefferson U BowleyFranceBernardo Dominic NEW
Cody A VocelkaIndiaAsiya Javayant NEW
Tony H OldroydIndiaElwin Sharvill UNQUALIFIED
Arvin O RimIndiaAsiya Javayant UNQUALIFIED
Ashley R CaudyFranceAmy Elsner UNQUALIFIED
Tony W StockhamBrazilBernardo Dominic RENEWAL
Morrow H BriddickBrazilIoni Bowcher RENEWAL
Adams F CaudyJapanAmy Elsner UNQUALIFIED
Maisha Q KuskoCanadaOnyama Limba NEW
Aruna O PerinRussiaIvan Magalhaes UNQUALIFIED
Costa L RutaRussiaXuxue Feng QUALIFIED
Antonio K PerinJapanAsiya Javayant RENEWAL
Izzy H CampainAustraliaAmy Elsner QUALIFIED
Alejandro L GauchoItalyOnyama Limba RENEWAL
Claire N MacleadArgentinaElwin Sharvill NEW
Sinclair A WaycottBrazilAmy Elsner NEW
Ivar I MorascaFranceIoni Bowcher QUALIFIED
Silvio M DarakjyAustraliaAnna Fali QUALIFIED
Mayumi E WaycottAustraliaAmy Elsner NEGOTIATION
Francesco B RutaSpainBernardo Dominic UNQUALIFIED
Leon H CaldareraFranceBernardo Dominic PROPOSAL
Darci C WhobreyRussiaAsiya Javayant 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.