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
Francesco K DarakjyCanadaBernardo Dominic NEGOTIATION
Sinclair Y PaprockiIndiaAsiya Javayant NEGOTIATION
Tony O CaldareraJapanXuxue Feng RENEWAL
Nicolas Z MorascaJapanAsiya Javayant RENEWAL
Kadeem E PaprockiItalyStephen Shaw NEW
Clifford L TollnerUnited KingdomIvan Magalhaes QUALIFIED
Wickens R RoysterItalyBernardo Dominic QUALIFIED
Morrow Y PerinBrazilElwin Sharvill RENEWAL
Emily V SchemmerSpainElwin Sharvill RENEWAL
Jennifer I ButtAustraliaElwin Sharvill NEGOTIATION
Tony W WhobreyRussiaXuxue Feng RENEWAL
Alejandro V KolmetzSpainOnyama Limba NEGOTIATION
Deepesh P FerenczBrazilBernardo Dominic PROPOSAL
Cody J GlickIndiaBernardo Dominic NEW
Faith P MaletSpainStephen Shaw UNQUALIFIED
James U PerinSpainElwin Sharvill UNQUALIFIED
Greenwood Y AlbaresBrazilOnyama Limba NEW
Alejandro Q GarufiItalyAnna Fali UNQUALIFIED
Tony E GarufiRussiaIvan Magalhaes PROPOSAL
Silvio W NestleUnited KingdomElwin Sharvill NEGOTIATION
Adams Q TollnerArgentinaAsiya Javayant QUALIFIED
Jennifer D RulapaughGermanyAmy Elsner UNQUALIFIED
Rodrigues I RimIndiaAsiya Javayant NEW
Leon H CampainAustraliaBernardo Dominic RENEWAL
Ivar Y GauchoFranceIoni Bowcher PROPOSAL
James L OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Silvio H OldroydItalyAsiya Javayant QUALIFIED
Leja X InouyeCanadaIvan Magalhaes UNQUALIFIED
Munro L RutaIndiaElwin Sharvill RENEWAL
Claire E OstroskyJapanElwin Sharvill RENEWAL
Costa Z InouyeCanadaIvan Magalhaes PROPOSAL
Aruna F OstroskyArgentinaElwin Sharvill UNQUALIFIED
Claire F KuskoBrazilAsiya Javayant PROPOSAL
Silvio M PaprockiUnited KingdomIvan Magalhaes NEGOTIATION
Kaitlin K RutaCanadaIvan Magalhaes QUALIFIED
Wickens O CaudySpainAsiya Javayant PROPOSAL
Cody B RutaCanadaIoni Bowcher UNQUALIFIED
Jefferson E SlusarskiSpainBernardo Dominic PROPOSAL
Jefferson O SlusarskiFranceAnna Fali RENEWAL
Emily U BowleyJapanIoni Bowcher NEW
Julie E ChuiSpainXuxue Feng NEW
Jones S NickaJapanElwin Sharvill UNQUALIFIED
Kadeem R GauchoAustraliaAnna Fali UNQUALIFIED
Jennifer U BologniaRussiaIoni Bowcher NEW
Claire E WaycottUnited KingdomAnna Fali UNQUALIFIED
Izzy F FigeroaUnited KingdomAsiya Javayant NEGOTIATION
Isabel J InouyeIndiaXuxue Feng NEGOTIATION
Murillo O RulapaughJapanIoni Bowcher UNQUALIFIED
Alejandro Z BologniaSpainAmy Elsner NEGOTIATION
James M MorascaFranceAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson A VocelkaJapanIvan Magalhaes UNQUALIFIED
Aditya K PerinFranceStephen Shaw NEW
Wickens P KuskoBrazilStephen Shaw NEW
James X DoeRussiaElwin Sharvill PROPOSAL
Darci J RoysterJapanBernardo Dominic QUALIFIED
Antonio N MaletUnited KingdomOnyama Limba RENEWAL
Chavez U FigeroaAustraliaElwin Sharvill PROPOSAL
Leja V SlusarskiGermanyStephen Shaw RENEWAL
Mujtaba X SchemmerRussiaElwin Sharvill QUALIFIED
Ivar G NestleUnited KingdomElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro J GarufiCanada2026-05-29Chapman, Ross E Esq RENEWAL68Xuxue Feng
1001Kadeem K StockhamRussia2026-06-13Chapman, Ross E Esq NEW3Ioni Bowcher
1002Claire A MaletAustralia2026-06-22Benton, John B Jr NEGOTIATION61Asiya Javayant
1003Mayumi D GarufiBrazil2026-06-04Benton, John B Jr UNQUALIFIED46Onyama Limba
1004Aika Z VenereGermany2026-06-12Feltz Printing Service NEGOTIATION34Bernardo Dominic
1005Aika R ChuiBrazil2026-06-14Buckley Miller Wright RENEWAL31Asiya Javayant
1006Silvio M MaletIndia2026-06-01Truhlar And Truhlar Attys QUALIFIED17Stephen Shaw
1007Mayumi H GarufiUnited Kingdom2026-05-29Benton, John B Jr RENEWAL2Onyama Limba
1008Costa I StockhamArgentina2026-05-31Feltz Printing Service UNQUALIFIED7Onyama Limba
1009Ricardo W StensethIndia2026-06-01Chemel, James L Cpa RENEWAL73Onyama Limba
1010Leja V GlickBrazil2026-06-01Buckley Miller Wright PROPOSAL28Onyama Limba
1011Maria A FollerUnited Kingdom2026-06-22Commercial Press QUALIFIED64Ioni Bowcher
1012Leja U RimGermany2026-06-07Feiner Bros NEGOTIATION91Ivan Magalhaes
1013Jeanfrancois U CaldareraRussia2026-05-29Chemel, James L Cpa NEW24Stephen Shaw
1014Jones Z MorascaAustralia2026-06-18Morlong Associates UNQUALIFIED64Elwin Sharvill
1015Jones G MorascaArgentina2026-06-20Buckley Miller Wright QUALIFIED88Anna Fali
1016Jones W DoeSpain2026-06-02Chemel, James L Cpa PROPOSAL47Anna Fali
1017Emily R BowleyAustralia2026-06-15Feiner Bros RENEWAL13Asiya Javayant
1018Misaki Y PaprockiItaly2026-06-03Chemel, James L Cpa UNQUALIFIED31Asiya Javayant
1019Johnson R NestleIndia2026-06-10Chemel, James L Cpa NEW95Onyama Limba
1020Antonio Q NickaItaly2026-05-31Chapman, Ross E Esq QUALIFIED78Ioni Bowcher
1021Faith F AmigonRussia2026-06-24King, Christopher A Esq RENEWAL32Onyama Limba
1022Aika V PoquetteSpain2026-06-09Truhlar And Truhlar Attys RENEWAL28Ioni Bowcher
1023James O DarakjyAustralia2026-06-13Dorl, James J Esq RENEWAL49Bernardo Dominic
1024Izzy A GarufiFrance2026-06-14Dorl, James J Esq PROPOSAL17Stephen Shaw
1025Deepesh K BologniaItaly2026-06-14Morlong Associates UNQUALIFIED69Bernardo Dominic
1026Sinclair U DarakjySpain2026-06-09Printing Dimensions PROPOSAL94Xuxue Feng
1027Faith U MaletCanada2026-06-22Rousseaux, Michael Esq QUALIFIED56Ioni Bowcher
1028Murillo F InouyeBrazil2026-06-23Dorl, James J Esq UNQUALIFIED90Elwin Sharvill
1029Alejandro A MarrierBrazil2026-06-08King, Christopher A Esq NEW50Elwin Sharvill
1030Kaitlin E ShinkoFrance2026-05-30Feltz Printing Service QUALIFIED85Ioni Bowcher
1031Jones J MarrierAustralia2026-06-21Commercial Press RENEWAL94Amy Elsner
1032Nicolas Z MaletSpain2026-06-16Truhlar And Truhlar Attys NEW61Amy Elsner
1033Emily F FigeroaRussia2026-06-11Rangoni Of Florence QUALIFIED38Amy Elsner
1034Kaitlin L BriddickIndia2026-06-09Commercial Press UNQUALIFIED0Stephen Shaw
1035Mayumi J DarakjyItaly2026-06-11Morlong Associates QUALIFIED29Anna Fali
1036Julie Y AlbaresRussia2026-06-15Truhlar And Truhlar Attys NEW28Amy Elsner
1037Aruna Y ButtSpain2026-06-06Chanay, Jeffrey A Esq QUALIFIED32Ioni Bowcher
1038Salvatore B RimGermany2026-06-17King, Christopher A Esq UNQUALIFIED51Elwin Sharvill
1039Jefferson Z SergiUnited Kingdom2026-06-02Feiner Bros NEGOTIATION50Onyama Limba
1040Rodrigues Y FlosiRussia2026-06-01Benton, John B Jr PROPOSAL78Elwin Sharvill
1041Leja W BowleyIndia2026-05-26Commercial Press QUALIFIED15Anna Fali
1042Stacey W BowleySpain2026-05-29King, Christopher A Esq UNQUALIFIED62Bernardo Dominic
1043Jefferson J BowleySpain2026-05-28Chemel, James L Cpa RENEWAL53Amy Elsner
1044Maria Z SlusarskiCanada2026-05-27Buckley Miller Wright QUALIFIED14Anna Fali
1045Misaki O RimGermany2026-06-06King, Christopher A Esq QUALIFIED94Ioni Bowcher
1046Chavez S BowleyFrance2026-06-11Chemel, James L Cpa QUALIFIED23Ivan Magalhaes
1047Stacey P StockhamRussia2026-06-12Rousseaux, Michael Esq NEGOTIATION64Bernardo Dominic
1048Wickens M PaprockiJapan2026-06-17Feiner Bros RENEWAL31Ivan Magalhaes
1049Faith X PaprockiSpain2026-06-16Chapman, Ross E Esq RENEWAL23Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Misaki C DoeIndiaAmy Elsner PROPOSAL
Leja S PaprockiIndiaAmy Elsner RENEWAL
Deepesh V KuskoArgentinaIoni Bowcher QUALIFIED
Maria D VocelkaSpainAsiya Javayant PROPOSAL
Deepesh P MorascaGermanyOnyama Limba PROPOSAL
Stacey Z GauchoUnited KingdomXuxue Feng PROPOSAL
Greenwood F StensethIndiaAmy Elsner NEW
Silvio C MorascaArgentinaAsiya Javayant NEW
Izzy D AlbaresGermanyStephen Shaw NEW
Adams V FigeroaFranceStephen Shaw RENEWAL
Rodrigues P InouyeJapanIvan Magalhaes UNQUALIFIED
Arvin P SaylorsJapanStephen Shaw NEW
Jefferson E VenereAustraliaStephen Shaw RENEWAL
Morrow R SchemmerItalyAnna Fali UNQUALIFIED
Salvatore V RoysterArgentinaBernardo Dominic RENEWAL
Aruna O RutaRussiaElwin Sharvill NEW
Kadeem G DilliardJapanIvan Magalhaes QUALIFIED
Jefferson D WhobreyJapanIoni Bowcher NEGOTIATION
Silvio F RulapaughAustraliaIoni Bowcher NEW
Leja T SaylorsFranceIvan Magalhaes RENEWAL
Nicolas U RoysterIndiaAnna Fali NEW
Costa S TollnerArgentinaBernardo Dominic RENEWAL
Stacey A ShinkoGermanyAmy Elsner QUALIFIED
Clifford Q ChuiItalyElwin Sharvill PROPOSAL
Greenwood P RoysterCanadaXuxue Feng UNQUALIFIED
Maisha Y DoeFranceAnna Fali QUALIFIED
Smith U IturbideRussiaAsiya Javayant PROPOSAL
Ricardo F CaldareraItalyIvan Magalhaes RENEWAL
Jennifer R FerenczFranceAmy Elsner NEGOTIATION
Mujtaba A DoeIndiaStephen Shaw NEGOTIATION
Stacey J MacleadItalyAmy Elsner NEGOTIATION
Deepesh C KuskoFranceBernardo Dominic QUALIFIED
Rodrigues H KuskoGermanyStephen Shaw QUALIFIED
Antonio L RimUnited KingdomElwin Sharvill QUALIFIED
Aditya W PoquetteGermanyOnyama Limba PROPOSAL
Antonio K FigeroaIndiaAnna Fali PROPOSAL
Emily F BowleySpainElwin Sharvill UNQUALIFIED
Costa W PoquetteUnited KingdomAnna Fali NEGOTIATION
Wickens M PaprockiBrazilOnyama Limba NEGOTIATION
Munro X SaylorsIndiaOnyama Limba UNQUALIFIED
Salvatore K ButtCanadaElwin Sharvill QUALIFIED
Silvio B CampainRussiaStephen Shaw PROPOSAL
Kaitlin F DilliardRussiaAnna Fali QUALIFIED
Morrow W GauchoGermanyXuxue Feng UNQUALIFIED
Nicolas N WhobreyRussiaAnna Fali NEGOTIATION
Smith F InouyeFranceIvan Magalhaes NEGOTIATION
Emily Z DilliardItalyBernardo Dominic PROPOSAL
Darci B AmigonIndiaBernardo Dominic NEW
Jeanfrancois Q WhobreyBrazilAmy Elsner QUALIFIED
James J RoysterFranceElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Maisha J Gaucho
Juan K Rulapaugh
Kaitlin D Caudy
Jefferson G Caldarera
Darci Q Rim
Ashley N Marrier
Alejandro O Paprocki
Leon M Butt
Maria Y Paprocki
Claire Y Poquette
Kadeem I Rulapaugh
Claire V Ruta
Misaki P Nestle
Octavia J Maclead
Maisha N Saylors
Deepesh L Poquette
Clifford X Ruta
Aruna I Ferencz
Francesco L Doe
Nicolas S Slusarski
Francesco Y Ferencz
Maisha O Doe
Izzy L Rulapaugh
Jones G Albares
Emily J Foller
Jones F Ruta
Octavia K Perin
Rodrigues B Ferencz
Salvatore F Stenseth
Jefferson R Bowley
Aruna A Maclead
Darci S Campain
Emily K Tollner
Ivar S Flosi
Munro O Campain
Morrow V Gaucho
Mayumi J Caldarera
Wickens C Dilliard
David Y Wieser
Salvatore N Dilliard
Morrow L Garufi
Murillo D Waycott
Jones B Foller
Jefferson C Briddick
Octavia V Schemmer
Smith I Maclead
Ivar V Doe
Arvin H Butt
Cody Z Rim
Jeanfrancois H Kolmetz
IdCountryDate
1000France2026-05-27
1001United Kingdom2026-06-09
1002Germany2026-05-26
1003Italy2026-06-09
1004Japan2026-06-23
1005United Kingdom2026-05-26
1006Brazil2026-05-27
1007Italy2026-06-14
1008Australia2026-06-02
1009Germany2026-05-30
1010Japan2026-06-24
1011Brazil2026-06-04
1012Russia2026-06-22
1013Australia2026-05-30
1014United Kingdom2026-06-11
1015France2026-06-21
1016Argentina2026-06-21
1017Australia2026-06-24
1018United Kingdom2026-05-31
1019Argentina2026-06-08
1020India2026-06-13
1021Germany2026-06-15
1022France2026-06-01
1023Russia2026-06-22
1024Argentina2026-06-19
1025Japan2026-06-21
1026Japan2026-06-14
1027Argentina2026-06-20
1028Japan2026-06-17
1029Canada2026-06-13
1030Japan2026-06-10
1031Italy2026-05-28
1032Canada2026-05-27
1033Germany2026-06-13
1034United Kingdom2026-06-07
1035Japan2026-05-29
1036Germany2026-06-10
1037Australia2026-06-17
1038Russia2026-06-17
1039Argentina2026-05-30
1040United Kingdom2026-06-22
1041India2026-06-19
1042Japan2026-05-29
1043Italy2026-06-11
1044India2026-06-03
1045Canada2026-06-07
1046Japan2026-06-16
1047Italy2026-06-07
1048Spain2026-06-17
1049Argentina2026-06-19

On-Demand Data

NameIdCountryDate
Sinclair A Kolmetz1000Argentina2026-06-08
Julie Z Perin1001United Kingdom2026-06-19
Octavia A Venere1002Argentina2026-06-15
Clifford B Kolmetz1003Japan2026-05-26
Jones K Inouye1004Spain2026-05-27
Juan Y Caudy1005Argentina2026-06-01
Sinclair I Sergi1006United Kingdom2026-06-07
Ashley L Garufi1007Argentina2026-06-16
Salvatore T Royster1008Japan2026-06-11
Chavez W Briddick1009Argentina2026-06-14
Francesco X Kusko1010France2026-06-04
Ricardo P Flosi1011Argentina2026-06-12
Stacey S Tollner1012Germany2026-06-18
Aruna C Slusarski1013India2026-06-13
Emily C Figeroa1014Brazil2026-05-31
Antonio I Maclead1015Argentina2026-06-02
Clifford D Sergi1016Japan2026-06-20
Alejandro C Darakjy1017United Kingdom2026-06-17
Mujtaba U Morasca1018India2026-06-14
David A Malet1019Germany2026-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones R StockhamJapanAsiya Javayant UNQUALIFIED
James S ButtSpainAmy Elsner PROPOSAL
Morrow X FerenczFranceAsiya Javayant NEGOTIATION
Jones A MaletRussiaAsiya Javayant QUALIFIED
Kadeem Q TollnerGermanyIvan Magalhaes NEW
Antonio V ShinkoArgentinaAmy Elsner RENEWAL
Ashley N DoeFranceBernardo Dominic NEGOTIATION
Mayumi Z VenereAustraliaIvan Magalhaes QUALIFIED
David N OldroydAustraliaIvan Magalhaes QUALIFIED
Sinclair U PoquetteArgentinaAmy Elsner NEW
Greenwood K MarrierArgentinaAmy Elsner NEGOTIATION
Morrow C WieserSpainBernardo Dominic NEGOTIATION
Ivar C CaldareraGermanyElwin Sharvill QUALIFIED
Ricardo K KuskoRussiaAmy Elsner NEGOTIATION
Alejandro T DoeAustraliaElwin Sharvill RENEWAL
Ashley A CaudyCanadaAsiya Javayant RENEWAL
Alejandro M OldroydJapanAsiya Javayant RENEWAL
James G WieserJapanElwin Sharvill NEW
James M AlbaresRussiaOnyama Limba QUALIFIED
Kadeem T FerenczCanadaOnyama Limba UNQUALIFIED
Ricardo N PaprockiFranceAnna Fali UNQUALIFIED
Murillo P BowleyBrazilXuxue Feng PROPOSAL
Faith J GlickAustraliaOnyama Limba NEW
Isabel O ButtUnited KingdomStephen Shaw PROPOSAL
Ashley G BologniaRussiaAsiya Javayant PROPOSAL
Deepesh R PaprockiSpainIoni Bowcher RENEWAL
Leja Y MorascaBrazilStephen Shaw PROPOSAL
Kaitlin Y ButtRussiaXuxue Feng NEW
Aruna M GarufiFranceXuxue Feng NEGOTIATION
Aruna P BologniaIndiaAsiya Javayant UNQUALIFIED
Salvatore E IturbideSpainAmy Elsner RENEWAL
Emily J KuskoSpainXuxue Feng UNQUALIFIED
James T MacleadBrazilIoni Bowcher RENEWAL
Tony T AmigonCanadaStephen Shaw PROPOSAL
Costa R PerinFranceBernardo Dominic NEW
Ricardo J TollnerIndiaAnna Fali NEW
Kadeem N BowleyJapanIvan Magalhaes NEGOTIATION
Leja J DoeIndiaAnna Fali RENEWAL
Jones K WaycottGermanyAnna Fali RENEWAL
Johnson D FollerArgentinaIoni Bowcher 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.