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
Jeanfrancois X ShinkoFranceIvan Magalhaes PROPOSAL
Aditya K BologniaFranceStephen Shaw NEW
James T StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio Z VenereCanadaIoni Bowcher PROPOSAL
Octavia E FollerGermanyOnyama Limba UNQUALIFIED
Wickens K RulapaughJapanAmy Elsner PROPOSAL
Julie T DarakjyAustraliaBernardo Dominic NEW
Maria U NestleCanadaBernardo Dominic UNQUALIFIED
Cody P MarrierUnited KingdomAsiya Javayant NEW
Julie A SaylorsBrazilAsiya Javayant UNQUALIFIED
Clifford U GillianJapanAsiya Javayant QUALIFIED
Misaki Q BowleyJapanIvan Magalhaes NEGOTIATION
Alejandro W VenereGermanyAmy Elsner UNQUALIFIED
Juan K GauchoArgentinaAnna Fali UNQUALIFIED
Stacey V DarakjyRussiaIvan Magalhaes QUALIFIED
Jennifer L SchemmerItalyElwin Sharvill RENEWAL
Kadeem L CampainFranceIvan Magalhaes RENEWAL
Misaki Y SlusarskiBrazilAnna Fali UNQUALIFIED
Smith J DarakjyUnited KingdomIoni Bowcher RENEWAL
Mayumi R GauchoUnited KingdomBernardo Dominic RENEWAL
Octavia E PoquetteFranceAsiya Javayant QUALIFIED
Jeanfrancois O DoeIndiaAnna Fali NEW
Maisha M ChuiRussiaAnna Fali NEW
Izzy Q SergiJapanOnyama Limba UNQUALIFIED
Chavez C PoquetteItalyAmy Elsner UNQUALIFIED
Kaitlin M KuskoGermanyAmy Elsner RENEWAL
Jennifer M IturbideIndiaAnna Fali NEW
Sinclair A TollnerUnited KingdomStephen Shaw NEGOTIATION
Rodrigues P GillianRussiaStephen Shaw QUALIFIED
Costa X SlusarskiRussiaXuxue Feng PROPOSAL
Sinclair L SaylorsSpainIoni Bowcher QUALIFIED
Jefferson N BologniaGermanyAsiya Javayant PROPOSAL
Johnson O KolmetzFranceAsiya Javayant UNQUALIFIED
Aika C BowleyGermanyAmy Elsner NEGOTIATION
Nicolas R BologniaUnited KingdomAmy Elsner PROPOSAL
Julie A PaprockiItalyAmy Elsner NEGOTIATION
Tony G SaylorsFranceOnyama Limba UNQUALIFIED
Wickens Q ShinkoRussiaAsiya Javayant UNQUALIFIED
Arvin D FigeroaRussiaIoni Bowcher NEGOTIATION
Misaki Q StensethRussiaAmy Elsner UNQUALIFIED
Munro T RimJapanXuxue Feng NEW
Emily U TollnerSpainStephen Shaw UNQUALIFIED
Juan F FollerAustraliaOnyama Limba NEW
Clifford W MarrierGermanyAsiya Javayant NEGOTIATION
Murillo W KolmetzJapanAnna Fali NEW
David Q MarrierFranceXuxue Feng RENEWAL
Isabel Q MaletGermanyElwin Sharvill RENEWAL
Costa O PoquetteSpainIoni Bowcher NEGOTIATION
Maria A WhobreyJapanStephen Shaw QUALIFIED
Wickens X CampainUnited KingdomXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Wickens H RutaRussiaIoni Bowcher NEW
Maisha G AmigonGermanyStephen Shaw RENEWAL
Misaki H MaletCanadaBernardo Dominic PROPOSAL
Francesco M OstroskyItalyAmy Elsner UNQUALIFIED
Maisha V SlusarskiFranceXuxue Feng UNQUALIFIED
Maria Y PoquetteItalyElwin Sharvill NEW
Greenwood B DoeUnited KingdomElwin Sharvill PROPOSAL
Arvin L PaprockiSpainStephen Shaw PROPOSAL
Aika Y VenereGermanyAnna Fali RENEWAL
Ivar C PoquetteGermanyXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois E BowleyBrazil2026-03-04Commercial Press NEGOTIATION7Stephen Shaw
1001Francesco T SaylorsIndia2026-02-26Chemel, James L Cpa NEGOTIATION45Ivan Magalhaes
1002Tony S AlbaresRussia2026-02-18Commercial Press PROPOSAL92Amy Elsner
1003Adams K PerinJapan2026-03-08King, Christopher A Esq NEW59Onyama Limba
1004Leja L ShinkoItaly2026-02-18Printing Dimensions RENEWAL94Elwin Sharvill
1005Aruna Z ShinkoIndia2026-03-11Buckley Miller Wright NEW92Elwin Sharvill
1006Juan F SlusarskiArgentina2026-03-13Benton, John B Jr UNQUALIFIED93Anna Fali
1007Mujtaba E BowleyCanada2026-02-16Chanay, Jeffrey A Esq NEW56Xuxue Feng
1008Maisha V AlbaresJapan2026-02-22Buckley Miller Wright UNQUALIFIED92Amy Elsner
1009Faith Q BowleyCanada2026-03-16Dorl, James J Esq RENEWAL80Xuxue Feng
1010Mayumi W AmigonGermany2026-03-06King, Christopher A Esq RENEWAL79Amy Elsner
1011Wickens D WaycottSpain2026-02-17Chemel, James L Cpa PROPOSAL12Stephen Shaw
1012Francesco O TollnerFrance2026-03-07Feltz Printing Service UNQUALIFIED64Anna Fali
1013Ricardo D KuskoRussia2026-03-12Chapman, Ross E Esq QUALIFIED67Xuxue Feng
1014Antonio H CaldareraFrance2026-02-15Printing Dimensions UNQUALIFIED0Elwin Sharvill
1015Maria N RimBrazil2026-02-28Benton, John B Jr QUALIFIED16Elwin Sharvill
1016Leja Y MorascaRussia2026-02-19Rangoni Of Florence QUALIFIED67Bernardo Dominic
1017Claire O BologniaItaly2026-03-03Printing Dimensions NEGOTIATION75Ivan Magalhaes
1018Kaitlin Y BowleyBrazil2026-02-28Buckley Miller Wright RENEWAL63Ivan Magalhaes
1019Alejandro F VenereGermany2026-03-13Printing Dimensions RENEWAL52Anna Fali
1020Maria R SlusarskiGermany2026-02-15Chemel, James L Cpa PROPOSAL40Bernardo Dominic
1021Leja C WhobreyArgentina2026-02-26Feiner Bros RENEWAL78Anna Fali
1022Salvatore E CaudyItaly2026-03-15Rousseaux, Michael Esq QUALIFIED76Asiya Javayant
1023James Y ShinkoFrance2026-03-07Chemel, James L Cpa PROPOSAL65Onyama Limba
1024Clifford H IturbideJapan2026-02-19Buckley Miller Wright UNQUALIFIED10Stephen Shaw
1025Silvio E ShinkoUnited Kingdom2026-02-25Chapman, Ross E Esq NEW15Ioni Bowcher
1026Johnson B CaudyRussia2026-02-24Rousseaux, Michael Esq UNQUALIFIED63Asiya Javayant
1027Maria I VocelkaAustralia2026-02-20Chemel, James L Cpa UNQUALIFIED1Ivan Magalhaes
1028Aruna Z CampainBrazil2026-03-10Chapman, Ross E Esq QUALIFIED51Ivan Magalhaes
1029Antonio L PoquetteCanada2026-03-08Chapman, Ross E Esq PROPOSAL38Ivan Magalhaes
1030Munro D WhobreyUnited Kingdom2026-02-24Morlong Associates RENEWAL39Ioni Bowcher
1031Johnson P SchemmerArgentina2026-02-25King, Christopher A Esq QUALIFIED60Onyama Limba
1032Rodrigues H OstroskyIndia2026-02-21Printing Dimensions UNQUALIFIED55Xuxue Feng
1033Costa J FollerIndia2026-03-09Benton, John B Jr UNQUALIFIED58Asiya Javayant
1034Smith H StockhamRussia2026-03-07Printing Dimensions NEW27Elwin Sharvill
1035Antonio U SergiItaly2026-02-27Truhlar And Truhlar Attys NEGOTIATION57Onyama Limba
1036Sinclair P CaudyBrazil2026-03-11Dorl, James J Esq PROPOSAL57Onyama Limba
1037Isabel J PerinRussia2026-03-03Feltz Printing Service NEW6Elwin Sharvill
1038James H CampainAustralia2026-03-16Chanay, Jeffrey A Esq UNQUALIFIED9Amy Elsner
1039Clifford B PaprockiUnited Kingdom2026-03-02Morlong Associates QUALIFIED23Ivan Magalhaes
1040James B RutaFrance2026-02-15Chanay, Jeffrey A Esq PROPOSAL74Anna Fali
1041Adams B WaycottIndia2026-02-17Chemel, James L Cpa UNQUALIFIED29Onyama Limba
1042Johnson G AlbaresFrance2026-03-02King, Christopher A Esq PROPOSAL24Asiya Javayant
1043Leon L ChuiRussia2026-03-01Morlong Associates PROPOSAL66Amy Elsner
1044Silvio A WhobreyRussia2026-02-24Dorl, James J Esq QUALIFIED36Stephen Shaw
1045Nicolas Z WhobreyJapan2026-03-02Chanay, Jeffrey A Esq QUALIFIED45Elwin Sharvill
1046Jefferson H WhobreyUnited Kingdom2026-03-08King, Christopher A Esq UNQUALIFIED31Anna Fali
1047Johnson B BologniaAustralia2026-02-16Rousseaux, Michael Esq NEW16Ioni Bowcher
1048Antonio F RulapaughFrance2026-03-15Rousseaux, Michael Esq PROPOSAL18Asiya Javayant
1049Greenwood O AlbaresCanada2026-03-14Morlong Associates PROPOSAL57Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ivar O PerinItalyOnyama Limba NEGOTIATION
Silvio I GlickIndiaBernardo Dominic NEGOTIATION
Izzy B FigeroaRussiaBernardo Dominic UNQUALIFIED
Arvin R PoquetteItalyIoni Bowcher RENEWAL
Isabel V MaletCanadaAnna Fali RENEWAL
Silvio S PaprockiCanadaStephen Shaw NEW
Deepesh M RoysterIndiaElwin Sharvill PROPOSAL
Wickens C RimUnited KingdomIoni Bowcher RENEWAL
Stacey D WhobreyItalyStephen Shaw NEW
Darci R GarufiGermanyElwin Sharvill QUALIFIED
Cody G MacleadRussiaAnna Fali QUALIFIED
Sinclair Y WhobreySpainAmy Elsner UNQUALIFIED
Misaki V RoysterJapanIvan Magalhaes RENEWAL
Cody W SlusarskiSpainBernardo Dominic NEGOTIATION
Jones H FlosiCanadaBernardo Dominic RENEWAL
Smith N TollnerSpainIoni Bowcher PROPOSAL
Murillo O KuskoUnited KingdomElwin Sharvill NEW
Cody S DoeIndiaBernardo Dominic NEW
Leon L FigeroaRussiaIvan Magalhaes PROPOSAL
Murillo R ButtAustraliaElwin Sharvill QUALIFIED
Misaki B SlusarskiGermanyStephen Shaw RENEWAL
Stacey Z NickaUnited KingdomStephen Shaw PROPOSAL
Mujtaba O GlickCanadaBernardo Dominic NEGOTIATION
James M ButtCanadaBernardo Dominic PROPOSAL
Jefferson H PoquetteJapanElwin Sharvill NEW
Munro L FlosiItalyAnna Fali QUALIFIED
Francesco L MaletItalyAmy Elsner UNQUALIFIED
Maria E DilliardFranceAnna Fali UNQUALIFIED
Maisha G GlickFranceStephen Shaw RENEWAL
Deepesh I GarufiCanadaIvan Magalhaes NEGOTIATION
Aditya N BologniaJapanStephen Shaw NEW
Ivar T DilliardRussiaAsiya Javayant NEGOTIATION
Stacey X RulapaughUnited KingdomAmy Elsner RENEWAL
Adams D WaycottJapanAnna Fali NEW
Maisha E SaylorsGermanyXuxue Feng PROPOSAL
Emily J RoysterSpainAmy Elsner PROPOSAL
Nicolas D GauchoCanadaElwin Sharvill PROPOSAL
Misaki Z GillianGermanyXuxue Feng NEGOTIATION
Julie U FerenczItalyIoni Bowcher UNQUALIFIED
Jeanfrancois W MaletCanadaIoni Bowcher NEGOTIATION
Mayumi V VenereBrazilOnyama Limba PROPOSAL
Sinclair C WieserRussiaOnyama Limba PROPOSAL
Julie W AmigonIndiaStephen Shaw NEGOTIATION
Chavez C KuskoCanadaAnna Fali PROPOSAL
Maria K OldroydSpainIvan Magalhaes RENEWAL
Costa H BowleyGermanyStephen Shaw UNQUALIFIED
Salvatore H FerenczItalyAsiya Javayant NEW
Alejandro Z FollerUnited KingdomAsiya Javayant QUALIFIED
Sinclair E RoysterAustraliaAmy Elsner NEW
Tony A MaletGermanyBernardo Dominic QUALIFIED
Frozen Columns
Name
Francesco D Flosi
Ashley M Malet
Sinclair C Foller
James Y Wieser
David Y Ferencz
Mujtaba E Albares
Darci K Malet
Sinclair P Caudy
Francesco X Bolognia
Leon G Gillian
Salvatore E Caldarera
Arvin C Garufi
Smith H Malet
Silvio A Doe
Wickens V Malet
Faith B Saylors
Aruna E Tollner
Chavez C Malet
Jones N Sergi
Tony D Tollner
Jennifer K Caldarera
Morrow E Chui
Octavia A Malet
Jeanfrancois S Dilliard
Jefferson L Venere
Jeanfrancois P Ferencz
Emily T Dilliard
Kadeem C Foller
Aditya O Shinko
Leon O Maclead
Antonio T Schemmer
Octavia O Foller
Johnson N Marrier
Kaitlin D Figeroa
Aika K Caldarera
Johnson M Waycott
James Z Wieser
Darci W Butt
Jeanfrancois O Maclead
Claire Z Waycott
Ivar F Malet
Greenwood R Flosi
Kaitlin T Kusko
Mayumi J Stockham
Johnson S Bolognia
Juan C Rim
Juan I Ruta
Izzy B Marrier
Darci M Tollner
Nicolas B Ferencz
IdCountryDate
1000Brazil2026-03-16
1001Italy2026-03-14
1002Brazil2026-02-17
1003Spain2026-03-09
1004Italy2026-03-16
1005France2026-03-03
1006Argentina2026-03-14
1007Brazil2026-02-19
1008Japan2026-02-26
1009France2026-02-16
1010Argentina2026-02-21
1011France2026-02-22
1012Brazil2026-02-18
1013Australia2026-02-23
1014Argentina2026-02-17
1015Argentina2026-03-13
1016Canada2026-02-27
1017Spain2026-03-13
1018Brazil2026-02-23
1019Germany2026-03-08
1020Brazil2026-03-14
1021Australia2026-02-25
1022United Kingdom2026-02-26
1023India2026-03-12
1024India2026-02-18
1025United Kingdom2026-03-02
1026India2026-02-19
1027Argentina2026-02-24
1028Australia2026-03-07
1029Canada2026-03-16
1030France2026-02-20
1031Australia2026-03-10
1032India2026-02-18
1033Brazil2026-02-19
1034Japan2026-03-08
1035India2026-02-15
1036India2026-02-26
1037Brazil2026-02-17
1038Australia2026-02-28
1039France2026-02-16
1040Argentina2026-03-16
1041Canada2026-02-27
1042Spain2026-02-20
1043Argentina2026-03-13
1044India2026-02-21
1045Canada2026-02-17
1046France2026-02-19
1047Italy2026-03-01
1048France2026-03-10
1049Italy2026-03-13

On-Demand Data

NameIdCountryDate
Johnson Z Saylors1000Russia2026-03-16
Nicolas C Ferencz1001Japan2026-03-14
Costa Z Waycott1002Brazil2026-03-10
Faith U Stenseth1003Canada2026-02-23
Octavia A Caldarera1004Argentina2026-02-24
Aditya H Kolmetz1005India2026-03-09
Jones T Sergi1006Australia2026-03-05
Jeanfrancois C Ruta1007Russia2026-02-26
Emily A Morasca1008Australia2026-03-10
Wickens K Flosi1009United Kingdom2026-03-06
Aruna Z Gaucho1010India2026-03-04
Rodrigues Y Gaucho1011United Kingdom2026-03-05
Adams B Malet1012Russia2026-03-01
Silvio S Caldarera1013Brazil2026-03-07
Kadeem V Whobrey1014France2026-02-19
Leon N Figeroa1015Spain2026-03-12
Aruna O Bolognia1016France2026-02-19
Kaitlin V Waycott1017Argentina2026-03-08
Juan F Schemmer1018Spain2026-02-28
Silvio Y Gaucho1019United Kingdom2026-02-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha J FigeroaCanadaBernardo Dominic RENEWAL
Johnson P GillianCanadaIoni Bowcher PROPOSAL
Emily N PoquetteArgentinaXuxue Feng QUALIFIED
Octavia B SergiCanadaAnna Fali NEGOTIATION
Francesco L SaylorsCanadaElwin Sharvill PROPOSAL
Julie M PaprockiAustraliaBernardo Dominic NEGOTIATION
Ricardo Z TollnerRussiaBernardo Dominic PROPOSAL
Mujtaba L RoysterCanadaXuxue Feng QUALIFIED
Deepesh O BologniaArgentinaElwin Sharvill UNQUALIFIED
Nicolas Y StensethAustraliaBernardo Dominic NEGOTIATION
Murillo M SlusarskiBrazilOnyama Limba NEW
Deepesh H AlbaresGermanyOnyama Limba RENEWAL
Julie Y RoysterBrazilAmy Elsner UNQUALIFIED
Ricardo H RutaIndiaIvan Magalhaes NEW
Mujtaba Q KolmetzItalyElwin Sharvill PROPOSAL
Jones Y ButtCanadaOnyama Limba QUALIFIED
Tony A KolmetzUnited KingdomOnyama Limba PROPOSAL
Ricardo O KolmetzSpainStephen Shaw NEW
Aditya R MaletRussiaIvan Magalhaes QUALIFIED
Stacey Z SaylorsItalyAmy Elsner QUALIFIED
Adams X VocelkaIndiaBernardo Dominic UNQUALIFIED
Aika X MaletIndiaAnna Fali UNQUALIFIED
Ashley I MaletItalyAsiya Javayant RENEWAL
Maisha E BowleyCanadaIvan Magalhaes NEGOTIATION
Greenwood L SaylorsSpainAmy Elsner QUALIFIED
Francesco A VocelkaIndiaIvan Magalhaes QUALIFIED
Aika Z DilliardRussiaOnyama Limba PROPOSAL
Wickens I InouyeJapanIvan Magalhaes RENEWAL
Izzy U SaylorsItalyXuxue Feng NEGOTIATION
Salvatore W ChuiArgentinaXuxue Feng RENEWAL
Tony C FigeroaBrazilBernardo Dominic NEW
Arvin F OstroskyRussiaIoni Bowcher UNQUALIFIED
Misaki R NestleRussiaIvan Magalhaes RENEWAL
Johnson I SchemmerArgentinaElwin Sharvill RENEWAL
Maisha G GlickItalyAnna Fali RENEWAL
Clifford J MaletAustraliaAnna Fali QUALIFIED
Maisha O SchemmerItalyAnna Fali UNQUALIFIED
Jones D GarufiSpainElwin Sharvill NEW
Salvatore N BologniaJapanAnna Fali NEGOTIATION
Greenwood L MaletSpainElwin Sharvill 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.