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
Ashley Y SaylorsBrazilXuxue Feng NEW
Emily V GauchoRussiaOnyama Limba NEW
Mayumi L MaletFranceIvan Magalhaes RENEWAL
Leja U PoquetteJapanStephen Shaw NEW
Misaki Y InouyeArgentinaBernardo Dominic PROPOSAL
Ricardo Y WieserAustraliaOnyama Limba RENEWAL
Costa I NickaCanadaAnna Fali PROPOSAL
Leon W FlosiFranceAmy Elsner UNQUALIFIED
Stacey C IturbideArgentinaIvan Magalhaes NEW
Tony V VenereArgentinaXuxue Feng PROPOSAL
Darci F RimArgentinaStephen Shaw NEW
Juan D DilliardArgentinaIoni Bowcher PROPOSAL
Tony R WaycottGermanyBernardo Dominic QUALIFIED
Costa V FerenczRussiaOnyama Limba RENEWAL
Arvin J PerinSpainIoni Bowcher QUALIFIED
Aditya J InouyeFranceElwin Sharvill PROPOSAL
Emily G OstroskyFranceStephen Shaw QUALIFIED
Aditya U FollerJapanBernardo Dominic PROPOSAL
Francesco S AlbaresCanadaStephen Shaw RENEWAL
Salvatore C RimCanadaIoni Bowcher RENEWAL
Darci C AlbaresBrazilAsiya Javayant QUALIFIED
Sinclair V InouyeIndiaIvan Magalhaes PROPOSAL
Ashley F RimAustraliaAnna Fali NEW
Ashley X ButtAustraliaOnyama Limba UNQUALIFIED
Antonio D RimBrazilAsiya Javayant QUALIFIED
Nicolas G OldroydBrazilXuxue Feng RENEWAL
Wickens J InouyeFranceStephen Shaw RENEWAL
Darci S MaletGermanyBernardo Dominic QUALIFIED
Salvatore A AlbaresUnited KingdomStephen Shaw NEW
Kadeem R DilliardArgentinaBernardo Dominic PROPOSAL
Faith V KuskoJapanElwin Sharvill QUALIFIED
Salvatore Q DilliardArgentinaAnna Fali PROPOSAL
Emily K PerinBrazilIvan Magalhaes NEGOTIATION
Kaitlin Y GillianBrazilIoni Bowcher PROPOSAL
Ricardo E CaudyIndiaStephen Shaw UNQUALIFIED
Adams O MorascaBrazilXuxue Feng UNQUALIFIED
Emily L FigeroaGermanyAnna Fali QUALIFIED
Claire V CampainJapanAmy Elsner PROPOSAL
Sinclair E ShinkoRussiaAnna Fali NEGOTIATION
David P TollnerItalyElwin Sharvill QUALIFIED
Leon Y GillianAustraliaAmy Elsner UNQUALIFIED
Chavez W ShinkoSpainStephen Shaw NEGOTIATION
Nicolas O BologniaAustraliaXuxue Feng QUALIFIED
Jefferson Q FollerRussiaIvan Magalhaes NEW
Ivar I SchemmerSpainAsiya Javayant NEGOTIATION
Faith W RoysterAustraliaIvan Magalhaes NEW
Costa X InouyeAustraliaAmy Elsner RENEWAL
Misaki C CaudyRussiaOnyama Limba NEW
James N SlusarskiArgentinaAsiya Javayant PROPOSAL
Johnson L KuskoJapanAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy T CaldareraCanadaStephen Shaw NEW
Munro D MorascaArgentinaStephen Shaw QUALIFIED
Julie Q SergiIndiaAnna Fali PROPOSAL
Maria J InouyeItalyElwin Sharvill NEGOTIATION
Maria Z MaletJapanIvan Magalhaes UNQUALIFIED
Juan J StockhamAustraliaAnna Fali NEW
Tony L MaletUnited KingdomAmy Elsner UNQUALIFIED
Clifford K RimItalyOnyama Limba NEW
Clifford W VocelkaRussiaIvan Magalhaes PROPOSAL
Ivar M OldroydUnited KingdomXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith C WaycottJapan2026-05-26Rangoni Of Florence UNQUALIFIED50Anna Fali
1001Jefferson B GarufiItaly2026-05-14Buckley Miller Wright PROPOSAL79Onyama Limba
1002Ricardo J AmigonSpain2026-05-11Benton, John B Jr QUALIFIED18Ioni Bowcher
1003Jones V DoeRussia2026-05-26Feiner Bros NEGOTIATION40Ivan Magalhaes
1004Mayumi M FollerBrazil2026-05-28Feltz Printing Service PROPOSAL75Onyama Limba
1005Mujtaba K DarakjySpain2026-05-26Commercial Press UNQUALIFIED48Ioni Bowcher
1006Mujtaba S KolmetzSpain2026-05-18Morlong Associates NEGOTIATION28Amy Elsner
1007Salvatore U NestleRussia2026-06-01Printing Dimensions RENEWAL21Stephen Shaw
1008Jeanfrancois U DoeGermany2026-05-09Truhlar And Truhlar Attys RENEWAL79Amy Elsner
1009Aruna Z GillianAustralia2026-05-10Commercial Press QUALIFIED36Asiya Javayant
1010Costa I FlosiFrance2026-05-16Chapman, Ross E Esq RENEWAL76Ioni Bowcher
1011Aditya A AmigonArgentina2026-05-30Feltz Printing Service QUALIFIED95Anna Fali
1012Cody L AlbaresUnited Kingdom2026-05-21Rangoni Of Florence RENEWAL6Xuxue Feng
1013Smith V RoysterJapan2026-06-06Chapman, Ross E Esq RENEWAL27Bernardo Dominic
1014Deepesh Z CampainJapan2026-05-17Morlong Associates QUALIFIED83Ivan Magalhaes
1015Tony Y SergiBrazil2026-06-05Chapman, Ross E Esq UNQUALIFIED24Onyama Limba
1016Salvatore B MaletAustralia2026-05-29Chemel, James L Cpa RENEWAL8Asiya Javayant
1017Clifford X GarufiAustralia2026-05-27Chanay, Jeffrey A Esq NEGOTIATION89Bernardo Dominic
1018Aditya F OstroskyRussia2026-05-26Chapman, Ross E Esq QUALIFIED38Amy Elsner
1019Izzy K VenereCanada2026-06-01Feltz Printing Service PROPOSAL91Amy Elsner
1020Silvio X FollerJapan2026-06-04Chapman, Ross E Esq RENEWAL52Bernardo Dominic
1021Aika I StensethUnited Kingdom2026-05-14Chanay, Jeffrey A Esq UNQUALIFIED76Onyama Limba
1022Kadeem R SaylorsRussia2026-05-31Chapman, Ross E Esq UNQUALIFIED72Elwin Sharvill
1023Misaki R MacleadFrance2026-05-15Chanay, Jeffrey A Esq UNQUALIFIED45Bernardo Dominic
1024Faith A GillianCanada2026-05-09King, Christopher A Esq RENEWAL87Amy Elsner
1025Octavia Y IturbideSpain2026-05-12Printing Dimensions RENEWAL78Xuxue Feng
1026Silvio Y CaldareraIndia2026-06-02Morlong Associates NEW29Elwin Sharvill
1027Morrow M FigeroaBrazil2026-05-29Benton, John B Jr PROPOSAL5Stephen Shaw
1028Julie P DarakjyAustralia2026-06-06Commercial Press RENEWAL13Amy Elsner
1029Tony K DoeFrance2026-05-30Chemel, James L Cpa UNQUALIFIED90Stephen Shaw
1030Stacey Y StensethJapan2026-05-21Truhlar And Truhlar Attys PROPOSAL42Ioni Bowcher
1031Maisha M VenereItaly2026-05-17Chapman, Ross E Esq UNQUALIFIED53Anna Fali
1032Costa L OstroskyItaly2026-05-18Commercial Press NEW60Onyama Limba
1033Morrow Y CaudyAustralia2026-06-05Chapman, Ross E Esq PROPOSAL36Anna Fali
1034Tony X InouyeItaly2026-05-29Rousseaux, Michael Esq NEW6Anna Fali
1035Nicolas H RulapaughSpain2026-05-21Rangoni Of Florence NEW85Onyama Limba
1036Arvin O ButtIndia2026-05-31King, Christopher A Esq NEGOTIATION98Elwin Sharvill
1037Izzy I MacleadJapan2026-05-13Printing Dimensions NEW62Ioni Bowcher
1038Clifford D DarakjyArgentina2026-05-31Rousseaux, Michael Esq NEW22Ioni Bowcher
1039Arvin O WieserArgentina2026-05-24Truhlar And Truhlar Attys UNQUALIFIED55Ivan Magalhaes
1040Kadeem E FerenczIndia2026-05-19King, Christopher A Esq NEW18Anna Fali
1041Deepesh Y PoquetteAustralia2026-05-28Feiner Bros NEW83Amy Elsner
1042Maisha H ChuiFrance2026-05-10Feiner Bros NEGOTIATION14Anna Fali
1043Chavez T MaletRussia2026-05-15Truhlar And Truhlar Attys RENEWAL79Elwin Sharvill
1044Morrow V AlbaresIndia2026-05-13Feltz Printing Service QUALIFIED46Amy Elsner
1045Adams G GauchoFrance2026-06-05Feltz Printing Service UNQUALIFIED60Asiya Javayant
1046Faith K BowleyUnited Kingdom2026-05-24Rousseaux, Michael Esq UNQUALIFIED75Xuxue Feng
1047Kaitlin T FigeroaGermany2026-05-19Chapman, Ross E Esq NEW73Bernardo Dominic
1048Wickens Z BriddickItaly2026-06-05Dorl, James J Esq NEW36Stephen Shaw
1049Jefferson A GlickGermany2026-05-28Printing Dimensions NEGOTIATION38Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Octavia U GlickJapanXuxue Feng UNQUALIFIED
Stacey R SlusarskiBrazilIvan Magalhaes UNQUALIFIED
Rodrigues B SaylorsUnited KingdomXuxue Feng NEGOTIATION
Aika M OldroydIndiaAmy Elsner PROPOSAL
Jeanfrancois B FerenczCanadaAsiya Javayant NEW
Tony X BowleyRussiaAmy Elsner PROPOSAL
Faith D MaletUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues H SaylorsBrazilAnna Fali RENEWAL
Arvin J StockhamRussiaAsiya Javayant UNQUALIFIED
Claire J MarrierAustraliaOnyama Limba NEGOTIATION
Alejandro A AmigonFranceAsiya Javayant NEGOTIATION
Murillo F PerinBrazilStephen Shaw QUALIFIED
Emily O SchemmerUnited KingdomBernardo Dominic RENEWAL
Aika D PerinArgentinaIoni Bowcher RENEWAL
Adams N RoysterBrazilIvan Magalhaes NEGOTIATION
Mujtaba Z RimUnited KingdomOnyama Limba QUALIFIED
Rodrigues N MaletItalyIvan Magalhaes RENEWAL
Isabel E FerenczArgentinaStephen Shaw NEGOTIATION
Jones X GauchoRussiaXuxue Feng PROPOSAL
Leja U TollnerFranceIvan Magalhaes NEGOTIATION
Izzy O VenereSpainAsiya Javayant QUALIFIED
Maria O MorascaJapanIvan Magalhaes RENEWAL
Murillo V MaletBrazilXuxue Feng PROPOSAL
Juan J KuskoItalyAmy Elsner PROPOSAL
Juan Y NestleUnited KingdomAmy Elsner NEGOTIATION
Isabel O WaycottRussiaAmy Elsner PROPOSAL
Smith X PaprockiAustraliaElwin Sharvill QUALIFIED
Murillo N FigeroaIndiaElwin Sharvill PROPOSAL
Adams C WaycottGermanyOnyama Limba UNQUALIFIED
Murillo A VenereRussiaStephen Shaw RENEWAL
Nicolas M CampainRussiaStephen Shaw QUALIFIED
Emily J StensethArgentinaIoni Bowcher NEW
Munro K SlusarskiArgentinaIoni Bowcher PROPOSAL
Ricardo P PaprockiArgentinaIoni Bowcher RENEWAL
Clifford V BriddickSpainAmy Elsner NEW
Aruna D SchemmerRussiaIoni Bowcher NEW
Chavez X GillianUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas A RoysterIndiaXuxue Feng NEW
Morrow S PoquetteAustraliaAsiya Javayant RENEWAL
Stacey K CaldareraFranceElwin Sharvill UNQUALIFIED
Arvin B StockhamSpainIvan Magalhaes QUALIFIED
Ashley Q NickaFranceAnna Fali PROPOSAL
Maisha G OldroydGermanyAnna Fali NEW
Ivar Y MacleadAustraliaBernardo Dominic QUALIFIED
Aika L MorascaUnited KingdomOnyama Limba PROPOSAL
Johnson Q RoysterSpainAnna Fali NEW
Tony C KolmetzJapanAnna Fali PROPOSAL
Clifford E BowleyJapanBernardo Dominic QUALIFIED
Chavez K RulapaughRussiaXuxue Feng UNQUALIFIED
Ashley J VocelkaSpainAsiya Javayant NEGOTIATION
Frozen Columns
Name
Aika Y Tollner
Sinclair D Paprocki
Ivar P Tollner
Arvin Q Dilliard
Francesco D Saylors
Smith W Shinko
David Y Venere
Maisha I Poquette
Rodrigues P Briddick
Smith I Shinko
Mayumi S Ruta
Nicolas T Dilliard
Aika Z Saylors
Aika Z Garufi
Rodrigues J Poquette
Stacey D Malet
Salvatore G Rim
Kadeem C Waycott
Jeanfrancois H Venere
Cody Z Poquette
Antonio F Tollner
Francesco T Rim
Johnson U Flosi
Faith O Bolognia
Kadeem O Marrier
Costa O Venere
Alejandro Z Foller
Salvatore O Rim
Alejandro S Dilliard
Morrow X Oldroyd
Emily V Maclead
Rodrigues U Nestle
Chavez C Garufi
Ashley Y Bolognia
David G Whobrey
Claire A Stenseth
Ivar W Maclead
Octavia P Chui
Wickens X Ostrosky
Faith G Saylors
Ashley Z Saylors
Clifford K Caudy
Smith V Darakjy
Sinclair Z Gillian
Jones A Venere
Stacey H Caldarera
Smith Q Saylors
Kaitlin Q Iturbide
Aditya I Iturbide
Jefferson T Whobrey
IdCountryDate
1000Spain2026-05-19
1001Russia2026-05-18
1002Spain2026-05-20
1003Japan2026-05-13
1004United Kingdom2026-06-04
1005India2026-05-19
1006India2026-06-04
1007Australia2026-05-08
1008Japan2026-05-26
1009Italy2026-05-22
1010France2026-05-29
1011Argentina2026-06-03
1012Brazil2026-05-30
1013France2026-05-26
1014France2026-05-15
1015Brazil2026-05-23
1016Germany2026-05-21
1017France2026-05-08
1018India2026-05-21
1019United Kingdom2026-05-09
1020Australia2026-06-03
1021Spain2026-05-30
1022Argentina2026-05-18
1023Australia2026-05-15
1024Brazil2026-05-28
1025Spain2026-06-01
1026Argentina2026-05-16
1027Spain2026-05-20
1028Russia2026-05-24
1029India2026-05-10
1030Argentina2026-05-16
1031Brazil2026-06-04
1032Canada2026-05-28
1033Brazil2026-06-03
1034Germany2026-05-24
1035Italy2026-05-31
1036India2026-05-17
1037France2026-05-15
1038France2026-06-01
1039Japan2026-05-12
1040United Kingdom2026-05-11
1041Russia2026-05-23
1042Germany2026-06-01
1043Argentina2026-05-20
1044United Kingdom2026-05-22
1045United Kingdom2026-06-05
1046Japan2026-05-12
1047Italy2026-05-29
1048Japan2026-05-26
1049Germany2026-05-25

On-Demand Data

NameIdCountryDate
Salvatore K Gaucho1000Italy2026-05-12
Nicolas N Rulapaugh1001Germany2026-05-23
Tony Y Ruta1002Russia2026-05-14
Leon A Nicka1003Russia2026-05-16
Darci B Albares1004Russia2026-05-17
Cody Z Paprocki1005Argentina2026-06-02
Kadeem N Foller1006India2026-06-04
James I Amigon1007Brazil2026-06-05
Salvatore C Albares1008United Kingdom2026-05-15
Adams S Tollner1009Germany2026-05-21
Mayumi P Ferencz1010Germany2026-05-16
Clifford Q Paprocki1011Spain2026-05-18
Maisha M Caudy1012Brazil2026-05-13
Adams Q Gillian1013Australia2026-05-12
Jennifer P Figeroa1014Russia2026-05-20
Chavez P Bowley1015United Kingdom2026-05-16
Adams C Perin1016Australia2026-06-03
Darci S Butt1017Brazil2026-05-19
Ivar G Gillian1018Italy2026-05-14
Nicolas Y Shinko1019Germany2026-05-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya L MaletFranceOnyama Limba QUALIFIED
Mayumi O CaudyFranceBernardo Dominic QUALIFIED
Silvio H PaprockiGermanyAmy Elsner NEGOTIATION
Ashley G KolmetzAustraliaStephen Shaw PROPOSAL
Jeanfrancois N WieserCanadaIoni Bowcher NEGOTIATION
Darci M InouyeCanadaIvan Magalhaes PROPOSAL
Alejandro C DarakjyBrazilOnyama Limba NEW
Arvin G PerinItalyIvan Magalhaes NEGOTIATION
Isabel Y MorascaJapanIoni Bowcher NEGOTIATION
Jones R DoeJapanStephen Shaw RENEWAL
Maria S AmigonRussiaBernardo Dominic QUALIFIED
Aruna V PoquetteBrazilBernardo Dominic NEW
Silvio W DarakjyAustraliaAmy Elsner RENEWAL
Maisha X TollnerSpainOnyama Limba RENEWAL
Maisha Z MorascaRussiaAmy Elsner UNQUALIFIED
Maisha W KuskoJapanIoni Bowcher RENEWAL
Sinclair Q FollerJapanBernardo Dominic PROPOSAL
Jefferson B RimCanadaIoni Bowcher PROPOSAL
Misaki P SaylorsAustraliaStephen Shaw NEGOTIATION
Aruna E AmigonItalyStephen Shaw QUALIFIED
Adams G StensethUnited KingdomXuxue Feng NEW
Julie T MorascaUnited KingdomIvan Magalhaes NEW
Octavia Z RutaItalyBernardo Dominic UNQUALIFIED
Claire M SergiArgentinaIoni Bowcher NEGOTIATION
Leja C DoeArgentinaIoni Bowcher NEGOTIATION
Ricardo Q FlosiItalyAmy Elsner NEW
Morrow V DoeArgentinaXuxue Feng QUALIFIED
Adams Y PoquetteArgentinaOnyama Limba NEW
Julie F FollerItalyBernardo Dominic UNQUALIFIED
Mujtaba G GillianItalyAmy Elsner QUALIFIED
Stacey M MarrierBrazilBernardo Dominic NEGOTIATION
Costa H FollerSpainAmy Elsner RENEWAL
Kadeem B RulapaughCanadaIvan Magalhaes RENEWAL
Aika I RimBrazilAnna Fali RENEWAL
Johnson C DoeJapanOnyama Limba RENEWAL
Maisha V NickaAustraliaAsiya Javayant NEGOTIATION
Wickens Q RutaIndiaAnna Fali NEW
Julie Q CampainArgentinaXuxue Feng QUALIFIED
Cody J StockhamGermanyAmy Elsner UNQUALIFIED
Tony W BriddickJapanBernardo Dominic 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.