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
Maisha Q GauchoSpainStephen Shaw NEGOTIATION
Ricardo F SchemmerRussiaIoni Bowcher PROPOSAL
Darci Y SaylorsRussiaStephen Shaw UNQUALIFIED
Izzy F IturbideCanadaXuxue Feng UNQUALIFIED
Arvin V TollnerUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson C IturbideJapanElwin Sharvill NEGOTIATION
Misaki C StensethBrazilElwin Sharvill NEW
Cody K BriddickFranceIoni Bowcher NEGOTIATION
Juan S MaletArgentinaBernardo Dominic NEGOTIATION
Izzy K RulapaughFranceIoni Bowcher PROPOSAL
Sinclair L OstroskySpainElwin Sharvill QUALIFIED
Jennifer Z FigeroaSpainAmy Elsner PROPOSAL
Wickens N SaylorsRussiaIoni Bowcher RENEWAL
Antonio L ChuiUnited KingdomAmy Elsner QUALIFIED
Arvin B ChuiBrazilBernardo Dominic NEW
Cody U OstroskyItalyBernardo Dominic NEW
Aruna K GlickBrazilBernardo Dominic PROPOSAL
Faith N AlbaresItalyAmy Elsner NEGOTIATION
Aika S MaletCanadaAsiya Javayant UNQUALIFIED
Munro S GauchoItalyStephen Shaw NEGOTIATION
Murillo B ShinkoItalyElwin Sharvill RENEWAL
Octavia A MaletRussiaStephen Shaw NEW
Munro M GauchoGermanyStephen Shaw PROPOSAL
Tony M CaudyJapanStephen Shaw RENEWAL
Emily X RoysterRussiaBernardo Dominic UNQUALIFIED
Morrow S PerinJapanIoni Bowcher NEW
Leon B KolmetzAustraliaStephen Shaw QUALIFIED
Mayumi C KuskoBrazilAsiya Javayant PROPOSAL
Wickens F GillianUnited KingdomOnyama Limba PROPOSAL
Ashley C PaprockiCanadaElwin Sharvill UNQUALIFIED
Stacey I MacleadUnited KingdomStephen Shaw RENEWAL
Julie C VocelkaSpainIoni Bowcher RENEWAL
Francesco A WieserAustraliaIoni Bowcher PROPOSAL
Greenwood N FerenczSpainAmy Elsner QUALIFIED
Aruna H GillianGermanyElwin Sharvill UNQUALIFIED
Jennifer Q MaletArgentinaIvan Magalhaes RENEWAL
Leja K GarufiIndiaAsiya Javayant RENEWAL
Izzy Y NestleGermanyAnna Fali QUALIFIED
Aditya M CaudyBrazilStephen Shaw NEW
James Y PaprockiJapanElwin Sharvill RENEWAL
Salvatore O RimCanadaAnna Fali NEGOTIATION
Costa W SchemmerCanadaAnna Fali UNQUALIFIED
Emily O InouyeIndiaBernardo Dominic NEW
Jones J VenereIndiaOnyama Limba NEGOTIATION
Julie Z KuskoSpainAsiya Javayant QUALIFIED
Jefferson C IturbideItalyAnna Fali UNQUALIFIED
Isabel V WhobreyBrazilIvan Magalhaes PROPOSAL
Costa D NickaCanadaAmy Elsner RENEWAL
Izzy L KuskoItalyAsiya Javayant NEW
Maisha Q MorascaFranceIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Wickens E BologniaJapanAsiya Javayant NEGOTIATION
Maisha O NestleGermanyAnna Fali PROPOSAL
Salvatore S RoysterJapanOnyama Limba NEW
Wickens L RoysterRussiaStephen Shaw QUALIFIED
David E BowleyCanadaOnyama Limba NEW
Jefferson R CaudyFranceAsiya Javayant UNQUALIFIED
Stacey H FigeroaBrazilAnna Fali NEGOTIATION
Francesco T VenereSpainIoni Bowcher NEW
Francesco A FerenczItalyAsiya Javayant NEGOTIATION
Kadeem E FollerCanadaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika S RimRussia2026-05-10Printing Dimensions UNQUALIFIED66Ivan Magalhaes
1001Claire R GauchoArgentina2026-05-04Feiner Bros NEGOTIATION22Onyama Limba
1002Smith V FigeroaIndia2026-04-27Truhlar And Truhlar Attys RENEWAL6Ioni Bowcher
1003Silvio B ShinkoUnited Kingdom2026-05-03Morlong Associates PROPOSAL60Elwin Sharvill
1004Leja N GillianFrance2026-05-18Chapman, Ross E Esq NEW74Ioni Bowcher
1005Claire H FigeroaCanada2026-04-26Benton, John B Jr QUALIFIED55Xuxue Feng
1006Antonio K MarrierRussia2026-04-28Buckley Miller Wright RENEWAL30Ioni Bowcher
1007Munro L ShinkoGermany2026-05-11Rangoni Of Florence NEGOTIATION59Anna Fali
1008Alejandro I MarrierFrance2026-04-30Printing Dimensions RENEWAL10Onyama Limba
1009Nicolas I NestleBrazil2026-05-01Printing Dimensions NEGOTIATION10Amy Elsner
1010Jeanfrancois K VocelkaBrazil2026-04-30Feltz Printing Service NEGOTIATION62Asiya Javayant
1011Jeanfrancois B KuskoUnited Kingdom2026-04-30Truhlar And Truhlar Attys QUALIFIED98Onyama Limba
1012Jennifer D CaldareraCanada2026-05-02Rangoni Of Florence QUALIFIED64Elwin Sharvill
1013Octavia Z GauchoItaly2026-05-21Feiner Bros NEW87Bernardo Dominic
1014Isabel C DoeFrance2026-05-20Printing Dimensions NEGOTIATION12Xuxue Feng
1015Chavez T WieserGermany2026-05-20King, Christopher A Esq PROPOSAL34Elwin Sharvill
1016Alejandro C BologniaItaly2026-05-13Feiner Bros RENEWAL78Amy Elsner
1017Greenwood Z SergiArgentina2026-04-29Chanay, Jeffrey A Esq PROPOSAL38Ioni Bowcher
1018Ashley O OldroydRussia2026-05-18Morlong Associates QUALIFIED42Elwin Sharvill
1019David U MaletAustralia2026-05-03Benton, John B Jr UNQUALIFIED52Ivan Magalhaes
1020Aditya T MarrierUnited Kingdom2026-05-21Truhlar And Truhlar Attys NEW88Onyama Limba
1021Tony Q NestleRussia2026-04-27Rousseaux, Michael Esq NEGOTIATION67Bernardo Dominic
1022Johnson N WieserRussia2026-05-09Rangoni Of Florence NEW26Elwin Sharvill
1023Isabel K GlickSpain2026-05-09Truhlar And Truhlar Attys UNQUALIFIED86Stephen Shaw
1024Cody B TollnerItaly2026-05-19Dorl, James J Esq NEW14Amy Elsner
1025Clifford E OldroydArgentina2026-04-24Feiner Bros UNQUALIFIED11Amy Elsner
1026Izzy S KolmetzGermany2026-05-07Rousseaux, Michael Esq NEGOTIATION49Bernardo Dominic
1027Kaitlin M FlosiItaly2026-05-01Benton, John B Jr PROPOSAL71Onyama Limba
1028Nicolas N GlickFrance2026-04-28Morlong Associates RENEWAL92Asiya Javayant
1029Ivar B DoeItaly2026-04-23Chapman, Ross E Esq UNQUALIFIED63Asiya Javayant
1030Francesco C StensethUnited Kingdom2026-05-16Chanay, Jeffrey A Esq PROPOSAL96Anna Fali
1031Kadeem U ChuiBrazil2026-04-24Rangoni Of Florence QUALIFIED53Ivan Magalhaes
1032Isabel S OldroydIndia2026-05-16Feltz Printing Service UNQUALIFIED26Ivan Magalhaes
1033Maria E VenereCanada2026-05-05Morlong Associates UNQUALIFIED5Elwin Sharvill
1034Antonio P FollerBrazil2026-05-03Benton, John B Jr NEW34Asiya Javayant
1035Chavez P DarakjyCanada2026-05-11Feltz Printing Service QUALIFIED76Stephen Shaw
1036Aika T MorascaGermany2026-04-30Rangoni Of Florence RENEWAL12Amy Elsner
1037Stacey W GlickAustralia2026-04-26Chemel, James L Cpa QUALIFIED48Xuxue Feng
1038Wickens G NickaIndia2026-05-18Truhlar And Truhlar Attys PROPOSAL55Ioni Bowcher
1039Juan Q WieserSpain2026-05-21Truhlar And Truhlar Attys UNQUALIFIED48Amy Elsner
1040Murillo P PoquetteBrazil2026-05-02Chanay, Jeffrey A Esq NEGOTIATION15Ivan Magalhaes
1041Greenwood Q GarufiSpain2026-05-21Chapman, Ross E Esq RENEWAL81Amy Elsner
1042Kaitlin G FollerAustralia2026-05-19Morlong Associates RENEWAL90Ivan Magalhaes
1043Silvio H StensethGermany2026-05-01Morlong Associates UNQUALIFIED31Ioni Bowcher
1044Salvatore H KuskoUnited Kingdom2026-05-16Dorl, James J Esq PROPOSAL17Onyama Limba
1045Aika D GlickCanada2026-04-24King, Christopher A Esq PROPOSAL52Ioni Bowcher
1046Jennifer D ShinkoJapan2026-05-19Chemel, James L Cpa UNQUALIFIED70Asiya Javayant
1047Deepesh X FerenczUnited Kingdom2026-04-27Feiner Bros UNQUALIFIED83Onyama Limba
1048Antonio P NickaFrance2026-05-20Feltz Printing Service QUALIFIED15Anna Fali
1049Mujtaba S SlusarskiItaly2026-05-15Chanay, Jeffrey A Esq RENEWAL9Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ivar D DilliardFranceElwin Sharvill NEGOTIATION
Tony N StockhamSpainAmy Elsner PROPOSAL
Ivar I OldroydJapanIoni Bowcher QUALIFIED
Juan Z WhobreySpainAmy Elsner NEGOTIATION
Silvio K OstroskyBrazilAnna Fali PROPOSAL
Octavia R NestleJapanIoni Bowcher UNQUALIFIED
Jones U BriddickArgentinaAmy Elsner QUALIFIED
Silvio H CampainGermanyAsiya Javayant NEW
Leja L BriddickJapanElwin Sharvill UNQUALIFIED
Darci J CampainCanadaAsiya Javayant NEGOTIATION
Morrow M NickaGermanyOnyama Limba RENEWAL
David K DarakjyBrazilBernardo Dominic PROPOSAL
Julie L GlickUnited KingdomElwin Sharvill NEGOTIATION
Antonio T DilliardItalyStephen Shaw PROPOSAL
Aika N ChuiUnited KingdomElwin Sharvill NEW
Costa B MarrierFranceAnna Fali UNQUALIFIED
Sinclair P RulapaughUnited KingdomIoni Bowcher RENEWAL
Antonio N DoeIndiaBernardo Dominic RENEWAL
James N DilliardFranceXuxue Feng QUALIFIED
Julie I FigeroaFranceBernardo Dominic NEGOTIATION
Mayumi F CaudyUnited KingdomOnyama Limba UNQUALIFIED
Antonio N OldroydBrazilElwin Sharvill RENEWAL
Mujtaba B FollerFranceAmy Elsner RENEWAL
James M MarrierAustraliaAnna Fali NEGOTIATION
Aditya C DarakjyJapanStephen Shaw NEW
Kadeem I BowleyAustraliaXuxue Feng PROPOSAL
Deepesh A PoquetteItalyAnna Fali UNQUALIFIED
Kadeem G BowleyCanadaElwin Sharvill UNQUALIFIED
Greenwood G DarakjyCanadaElwin Sharvill NEGOTIATION
Costa G DarakjyFranceOnyama Limba UNQUALIFIED
Maisha X FlosiFranceIoni Bowcher NEGOTIATION
Silvio Q IturbideUnited KingdomAsiya Javayant RENEWAL
Chavez X NestleItalyStephen Shaw NEGOTIATION
Arvin V SchemmerItalyBernardo Dominic RENEWAL
Aika F GillianCanadaOnyama Limba NEW
Julie J AlbaresSpainIoni Bowcher NEW
Maisha C GlickCanadaAmy Elsner QUALIFIED
Morrow V RulapaughAustraliaIvan Magalhaes PROPOSAL
Isabel W KuskoUnited KingdomAsiya Javayant NEGOTIATION
Juan N ChuiBrazilAsiya Javayant UNQUALIFIED
Greenwood X RulapaughGermanyAsiya Javayant UNQUALIFIED
Faith W InouyeRussiaXuxue Feng QUALIFIED
Octavia N OstroskyCanadaBernardo Dominic NEGOTIATION
Maria S MaletAustraliaXuxue Feng NEW
Wickens V KolmetzUnited KingdomBernardo Dominic NEGOTIATION
Murillo G GarufiUnited KingdomStephen Shaw NEW
Leon K InouyeSpainElwin Sharvill QUALIFIED
Jennifer H IturbideRussiaIoni Bowcher RENEWAL
Aika S RutaIndiaAnna Fali QUALIFIED
Alejandro E WieserArgentinaBernardo Dominic QUALIFIED
Frozen Columns
Name
Emily Z Rim
Costa I Oldroyd
Mayumi G Flosi
Sinclair E Venere
Claire G Kusko
Julie A Nicka
Maria X Inouye
Julie E Gaucho
Octavia W Caldarera
Claire O Paprocki
Murillo R Gaucho
Greenwood O Figeroa
Alejandro V Briddick
Mujtaba M Venere
Ashley X Vocelka
Wickens Y Slusarski
David S Maclead
Jefferson W Nestle
Tony A Saylors
Jeanfrancois Y Kusko
Antonio A Kusko
Jones D Nestle
Munro Z Malet
Kadeem M Butt
Greenwood Z Venere
Juan B Whobrey
Faith I Nestle
Morrow Q Kolmetz
Aika R Figeroa
Leja S Bolognia
Clifford E Royster
Morrow C Kolmetz
Smith D Stockham
Tony L Figeroa
Silvio D Ferencz
Leon G Waycott
Salvatore H Whobrey
Chavez H Tollner
Morrow T Perin
Leja I Caudy
Isabel D Nestle
Alejandro Q Caudy
Greenwood T Inouye
Kaitlin N Amigon
Octavia D Maclead
James Q Shinko
Aruna H Royster
Kadeem M Chui
Salvatore P Glick
Nicolas E Ferencz
IdCountryDate
1000Italy2026-04-24
1001Spain2026-05-14
1002Germany2026-05-14
1003India2026-05-18
1004India2026-04-30
1005France2026-05-01
1006Brazil2026-05-07
1007United Kingdom2026-05-09
1008Russia2026-05-12
1009Australia2026-05-17
1010Canada2026-04-28
1011France2026-05-10
1012India2026-04-23
1013France2026-04-28
1014Japan2026-05-20
1015Spain2026-05-22
1016Spain2026-05-13
1017United Kingdom2026-05-17
1018Russia2026-04-30
1019India2026-04-30
1020Japan2026-05-14
1021India2026-05-11
1022Italy2026-05-09
1023India2026-05-09
1024Italy2026-05-22
1025Brazil2026-05-14
1026Canada2026-05-17
1027France2026-05-22
1028Russia2026-04-27
1029India2026-05-03
1030Spain2026-05-19
1031India2026-05-18
1032Russia2026-04-27
1033United Kingdom2026-05-07
1034Japan2026-05-08
1035India2026-05-03
1036India2026-04-23
1037India2026-04-26
1038Australia2026-04-28
1039Russia2026-04-23
1040Australia2026-05-09
1041Italy2026-05-12
1042Australia2026-05-04
1043Italy2026-05-21
1044Australia2026-05-07
1045Russia2026-05-07
1046Brazil2026-05-15
1047India2026-05-09
1048Argentina2026-05-21
1049Spain2026-05-14

On-Demand Data

NameIdCountryDate
Alejandro H Ostrosky1000Germany2026-04-25
Rodrigues R Saylors1001Germany2026-05-05
Claire S Doe1002United Kingdom2026-05-12
Jennifer C Marrier1003Brazil2026-05-01
Kaitlin V Oldroyd1004Italy2026-04-26
Emily O Bowley1005Russia2026-04-28
Kadeem V Ferencz1006Spain2026-05-20
Julie Q Poquette1007Canada2026-05-07
Julie C Ferencz1008United Kingdom2026-05-08
Deepesh G Caudy1009United Kingdom2026-05-21
Kaitlin K Tollner1010India2026-05-01
Ricardo A Dilliard1011France2026-05-18
Adams Y Butt1012Canada2026-05-15
Rodrigues L Maclead1013Argentina2026-05-01
Leon T Nicka1014Brazil2026-05-17
Adams D Inouye1015Canada2026-04-25
Murillo F Whobrey1016Japan2026-04-30
Tony R Paprocki1017Russia2026-05-22
Stacey H Oldroyd1018United Kingdom2026-04-27
Adams A Foller1019Brazil2026-05-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore J OldroydIndiaXuxue Feng PROPOSAL
Chavez G SlusarskiUnited KingdomElwin Sharvill NEW
Isabel C WhobreyJapanOnyama Limba UNQUALIFIED
Misaki N NestleJapanElwin Sharvill PROPOSAL
Aika C NestleItalyXuxue Feng RENEWAL
Ricardo O DoeBrazilIvan Magalhaes QUALIFIED
Ricardo G KolmetzBrazilXuxue Feng QUALIFIED
Izzy C MacleadFranceAmy Elsner NEW
Octavia W WaycottFranceBernardo Dominic UNQUALIFIED
Arvin H GlickRussiaAmy Elsner NEW
Deepesh P InouyeUnited KingdomIoni Bowcher PROPOSAL
Stacey T GauchoCanadaOnyama Limba NEGOTIATION
Izzy D WaycottFranceStephen Shaw UNQUALIFIED
Costa B DarakjyJapanStephen Shaw RENEWAL
Nicolas Q CampainAustraliaElwin Sharvill NEW
Aika N SaylorsGermanyOnyama Limba UNQUALIFIED
Mayumi R SaylorsBrazilStephen Shaw NEGOTIATION
Darci P NestleArgentinaXuxue Feng NEW
Ricardo U GillianAustraliaAmy Elsner NEW
Tony B FlosiArgentinaIoni Bowcher UNQUALIFIED
Darci H MaletFranceIoni Bowcher QUALIFIED
Rodrigues L GarufiSpainIvan Magalhaes NEGOTIATION
Maria U BowleyJapanStephen Shaw NEGOTIATION
Mujtaba O WieserArgentinaOnyama Limba NEW
Claire K BriddickIndiaIoni Bowcher NEW
Alejandro O CaudyArgentinaAsiya Javayant NEW
Misaki K ButtSpainElwin Sharvill QUALIFIED
Jones O GarufiArgentinaAnna Fali QUALIFIED
Ashley X StockhamArgentinaIoni Bowcher NEGOTIATION
Tony I WhobreyItalyAnna Fali NEW
Mujtaba A BowleyIndiaOnyama Limba QUALIFIED
Faith K IturbideIndiaStephen Shaw NEW
Mayumi A SergiGermanyAmy Elsner NEW
Mayumi R WhobreyArgentinaOnyama Limba NEW
Wickens E FlosiUnited KingdomBernardo Dominic NEW
Adams Z MarrierAustraliaAsiya Javayant UNQUALIFIED
Sinclair C WieserFranceIvan Magalhaes RENEWAL
Sinclair Q SergiAustraliaIvan Magalhaes NEW
Emily K PerinArgentinaOnyama Limba PROPOSAL
Juan O RoysterArgentinaElwin Sharvill 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.