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
Emily U KolmetzItalyIoni Bowcher QUALIFIED
Claire K FigeroaArgentinaIvan Magalhaes NEGOTIATION
Ashley M AlbaresCanadaAmy Elsner NEW
Leja D ShinkoJapanAnna Fali QUALIFIED
Nicolas Y SergiCanadaAmy Elsner RENEWAL
Jennifer J CaldareraFranceIoni Bowcher PROPOSAL
Ivar C WaycottSpainStephen Shaw NEW
Wickens B StensethSpainAmy Elsner RENEWAL
Adams Z PerinIndiaIvan Magalhaes PROPOSAL
Alejandro T PerinRussiaElwin Sharvill PROPOSAL
Leja F ChuiBrazilXuxue Feng UNQUALIFIED
Mujtaba B BriddickUnited KingdomBernardo Dominic UNQUALIFIED
Jennifer Z ChuiSpainOnyama Limba NEGOTIATION
Adams M WaycottItalyOnyama Limba UNQUALIFIED
Greenwood Y FlosiRussiaAmy Elsner RENEWAL
Julie P DilliardAustraliaAnna Fali PROPOSAL
Mujtaba X SergiCanadaStephen Shaw QUALIFIED
Cody B FigeroaUnited KingdomAmy Elsner NEGOTIATION
Isabel O SergiArgentinaIvan Magalhaes QUALIFIED
Smith Q RoysterCanadaIvan Magalhaes NEGOTIATION
Stacey K KolmetzSpainIvan Magalhaes NEW
Leja Z AlbaresCanadaStephen Shaw UNQUALIFIED
Alejandro O StockhamJapanAnna Fali QUALIFIED
Isabel H ShinkoAustraliaAmy Elsner UNQUALIFIED
Leon L CaudyBrazilXuxue Feng RENEWAL
Maria M RoysterIndiaIoni Bowcher PROPOSAL
Jones D NestleGermanyElwin Sharvill PROPOSAL
Maria N SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Leja R PoquetteAustraliaAsiya Javayant NEGOTIATION
Emily B SergiBrazilAmy Elsner PROPOSAL
Maria F DilliardBrazilAsiya Javayant QUALIFIED
Antonio E SlusarskiIndiaIvan Magalhaes NEW
Maria V FlosiArgentinaBernardo Dominic PROPOSAL
Ivar H MacleadArgentinaStephen Shaw PROPOSAL
Clifford W KolmetzArgentinaIvan Magalhaes NEGOTIATION
Tony V KuskoCanadaAmy Elsner RENEWAL
Aruna F SchemmerArgentinaStephen Shaw PROPOSAL
Claire I PerinUnited KingdomElwin Sharvill NEGOTIATION
Deepesh K VocelkaJapanAnna Fali PROPOSAL
Alejandro O RoysterSpainElwin Sharvill QUALIFIED
Cody T MaletCanadaXuxue Feng NEGOTIATION
Mayumi E DoeUnited KingdomAmy Elsner PROPOSAL
Kadeem C FlosiGermanyIoni Bowcher PROPOSAL
Wickens J FollerCanadaAsiya Javayant RENEWAL
Greenwood Q FigeroaBrazilXuxue Feng NEGOTIATION
Faith Z MaletAustraliaIvan Magalhaes QUALIFIED
Kaitlin S SergiArgentinaAnna Fali RENEWAL
Jeanfrancois S DilliardGermanyOnyama Limba PROPOSAL
Jeanfrancois M CaldareraAustraliaIoni Bowcher NEW
Wickens N RulapaughUnited KingdomAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Stacey H GarufiSpainXuxue Feng NEW
Clifford U FollerIndiaOnyama Limba PROPOSAL
Izzy X BowleyFranceIoni Bowcher UNQUALIFIED
Aditya G BowleyAustraliaAsiya Javayant UNQUALIFIED
Antonio B MacleadCanadaAnna Fali NEGOTIATION
Aika G GarufiJapanAnna Fali RENEWAL
Claire A BriddickIndiaAmy Elsner UNQUALIFIED
Misaki Q VocelkaRussiaOnyama Limba NEW
Claire N TollnerSpainStephen Shaw PROPOSAL
Kadeem A DarakjyRussiaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin O GauchoIndia2026-05-31Truhlar And Truhlar Attys NEGOTIATION22Amy Elsner
1001Ashley D MaletAustralia2026-06-17Printing Dimensions NEGOTIATION20Anna Fali
1002Smith P PoquetteArgentina2026-06-08Benton, John B Jr RENEWAL89Anna Fali
1003Aditya Z GillianArgentina2026-06-21Feiner Bros QUALIFIED87Anna Fali
1004Izzy J KolmetzGermany2026-06-09King, Christopher A Esq NEGOTIATION69Stephen Shaw
1005Deepesh I PerinUnited Kingdom2026-06-17Rousseaux, Michael Esq QUALIFIED43Amy Elsner
1006Sinclair J SergiUnited Kingdom2026-06-11King, Christopher A Esq PROPOSAL61Amy Elsner
1007Antonio E VenereAustralia2026-05-30Rousseaux, Michael Esq NEW61Elwin Sharvill
1008Greenwood S StockhamArgentina2026-05-28Commercial Press QUALIFIED22Xuxue Feng
1009Ashley P RoysterRussia2026-05-30Benton, John B Jr UNQUALIFIED24Stephen Shaw
1010Francesco U BologniaGermany2026-06-12Rousseaux, Michael Esq QUALIFIED41Ioni Bowcher
1011Tony L ChuiFrance2026-06-03Dorl, James J Esq PROPOSAL90Xuxue Feng
1012Isabel M RimArgentina2026-06-11King, Christopher A Esq QUALIFIED34Xuxue Feng
1013Kadeem V SergiRussia2026-06-13Dorl, James J Esq QUALIFIED51Asiya Javayant
1014Juan G PerinItaly2026-06-10Feiner Bros UNQUALIFIED19Ioni Bowcher
1015Antonio K GarufiCanada2026-06-06Benton, John B Jr QUALIFIED32Ivan Magalhaes
1016Jeanfrancois R PoquetteIndia2026-05-27Feltz Printing Service UNQUALIFIED82Stephen Shaw
1017Costa H GlickArgentina2026-06-12Truhlar And Truhlar Attys QUALIFIED47Ivan Magalhaes
1018Silvio S FollerFrance2026-06-08Morlong Associates QUALIFIED68Ioni Bowcher
1019Leon T OldroydCanada2026-06-18Truhlar And Truhlar Attys QUALIFIED86Amy Elsner
1020David J MarrierFrance2026-06-15Feltz Printing Service NEW68Asiya Javayant
1021Silvio R KuskoGermany2026-05-31Feltz Printing Service RENEWAL71Ivan Magalhaes
1022Francesco P OstroskyJapan2026-06-06Feltz Printing Service NEGOTIATION86Xuxue Feng
1023Jones L CaldareraArgentina2026-05-31Rousseaux, Michael Esq PROPOSAL65Amy Elsner
1024Stacey U NickaBrazil2026-06-01King, Christopher A Esq PROPOSAL19Asiya Javayant
1025Tony J CampainGermany2026-06-22Benton, John B Jr QUALIFIED24Amy Elsner
1026Darci I WieserAustralia2026-06-12Buckley Miller Wright NEW4Xuxue Feng
1027Emily F RutaRussia2026-06-21Feiner Bros NEW69Xuxue Feng
1028Claire H SergiGermany2026-06-16Commercial Press NEW67Stephen Shaw
1029David L OstroskyArgentina2026-06-17King, Christopher A Esq NEGOTIATION68Bernardo Dominic
1030Clifford W CaudyRussia2026-05-27Dorl, James J Esq RENEWAL40Asiya Javayant
1031Costa X PoquetteIndia2026-06-25Commercial Press NEW86Asiya Javayant
1032Maisha I FollerIndia2026-06-16Truhlar And Truhlar Attys NEGOTIATION86Xuxue Feng
1033Faith P OldroydArgentina2026-05-29Commercial Press NEGOTIATION90Onyama Limba
1034Darci Y GarufiGermany2026-06-08Feiner Bros QUALIFIED65Ivan Magalhaes
1035Aruna W RoysterItaly2026-06-25Commercial Press PROPOSAL54Anna Fali
1036Faith V InouyeBrazil2026-06-08Rousseaux, Michael Esq UNQUALIFIED13Anna Fali
1037Darci X VocelkaIndia2026-05-29Benton, John B Jr NEW93Elwin Sharvill
1038Maisha M CaldareraSpain2026-05-27Feltz Printing Service RENEWAL68Bernardo Dominic
1039Alejandro H MacleadIndia2026-06-15Feltz Printing Service RENEWAL66Ivan Magalhaes
1040Stacey V CampainBrazil2026-06-08Dorl, James J Esq UNQUALIFIED42Onyama Limba
1041Clifford K MaletRussia2026-05-29Rangoni Of Florence RENEWAL24Ioni Bowcher
1042Juan Y TollnerJapan2026-05-28Chapman, Ross E Esq RENEWAL27Ivan Magalhaes
1043Greenwood W DoeArgentina2026-06-08Chapman, Ross E Esq NEW2Amy Elsner
1044Julie F MarrierIndia2026-06-05Printing Dimensions NEW23Stephen Shaw
1045Alejandro T NestleSpain2026-05-31Truhlar And Truhlar Attys QUALIFIED30Stephen Shaw
1046Francesco K StensethGermany2026-06-24Buckley Miller Wright NEGOTIATION47Onyama Limba
1047Leon F RulapaughJapan2026-06-06Chapman, Ross E Esq QUALIFIED94Onyama Limba
1048Greenwood X FerenczGermany2026-06-18Feiner Bros NEGOTIATION60Anna Fali
1049Morrow M VocelkaArgentina2026-06-09Buckley Miller Wright NEW77Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin V MorascaFranceIvan Magalhaes UNQUALIFIED
Costa A PerinSpainOnyama Limba RENEWAL
Aditya V GlickFranceIoni Bowcher QUALIFIED
Rodrigues Z VenereCanadaAsiya Javayant NEGOTIATION
Sinclair C FollerFranceBernardo Dominic PROPOSAL
Rodrigues C MaletIndiaElwin Sharvill QUALIFIED
Jones K DilliardCanadaBernardo Dominic PROPOSAL
Aditya R CampainJapanIoni Bowcher NEW
Arvin R BriddickAustraliaIoni Bowcher UNQUALIFIED
Munro Z WieserUnited KingdomStephen Shaw RENEWAL
Tony X SlusarskiBrazilStephen Shaw UNQUALIFIED
Cody B WaycottCanadaAnna Fali RENEWAL
Jennifer A ShinkoFranceAsiya Javayant UNQUALIFIED
Jones F RimIndiaXuxue Feng UNQUALIFIED
Wickens A DoeSpainStephen Shaw NEGOTIATION
Juan M CampainItalyIvan Magalhaes RENEWAL
Aruna E MorascaItalyElwin Sharvill NEW
Jefferson U PerinRussiaElwin Sharvill QUALIFIED
Cody M StockhamGermanyElwin Sharvill NEW
Antonio D FlosiSpainElwin Sharvill QUALIFIED
Alejandro D PoquetteCanadaAsiya Javayant RENEWAL
Murillo X OstroskyBrazilBernardo Dominic NEGOTIATION
Aditya C FigeroaArgentinaIoni Bowcher UNQUALIFIED
Rodrigues S FlosiUnited KingdomAnna Fali NEW
Antonio C RutaSpainBernardo Dominic NEGOTIATION
Ashley E MarrierAustraliaIoni Bowcher NEW
Antonio X VocelkaSpainElwin Sharvill NEW
Izzy Y DoeIndiaAsiya Javayant PROPOSAL
Aditya P WhobreyItalyIoni Bowcher PROPOSAL
Aruna D BologniaJapanElwin Sharvill RENEWAL
Mujtaba X ChuiItalyAsiya Javayant QUALIFIED
Leja L NestleUnited KingdomElwin Sharvill PROPOSAL
Jones Z GlickJapanOnyama Limba PROPOSAL
Jones Y KolmetzIndiaAmy Elsner PROPOSAL
Mayumi D FigeroaRussiaAsiya Javayant QUALIFIED
Nicolas L ButtCanadaBernardo Dominic NEGOTIATION
Julie N IturbideFranceIvan Magalhaes RENEWAL
Morrow M IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Murillo M DoeCanadaIoni Bowcher RENEWAL
Tony M AlbaresUnited KingdomAnna Fali NEGOTIATION
Morrow F GlickBrazilElwin Sharvill NEGOTIATION
Darci M MaletArgentinaElwin Sharvill UNQUALIFIED
Francesco J AmigonSpainElwin Sharvill RENEWAL
Munro F GillianAustraliaOnyama Limba NEGOTIATION
Leon Y RulapaughIndiaBernardo Dominic NEGOTIATION
Greenwood X IturbideSpainIoni Bowcher RENEWAL
Munro P KolmetzCanadaIvan Magalhaes PROPOSAL
Johnson T FigeroaSpainBernardo Dominic QUALIFIED
Ivar B AmigonFranceStephen Shaw RENEWAL
Misaki Q VenereRussiaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Jefferson A Waycott
Antonio H Slusarski
Arvin N Morasca
Ricardo H Perin
Faith I Slusarski
Julie O Stenseth
Adams E Briddick
Leon Q Caldarera
Costa I Gillian
Clifford I Iturbide
Mayumi X Kolmetz
Jennifer U Kusko
Chavez T Nestle
Alejandro O Caldarera
Jones C Caldarera
Costa A Royster
Rodrigues K Foller
Arvin A Whobrey
Claire Q Glick
Maisha P Dilliard
Jennifer U Wieser
David H Ferencz
Adams L Bowley
Ivar S Ferencz
Mujtaba U Bolognia
Jeanfrancois I Poquette
Julie Q Perin
Jeanfrancois Z Gaucho
Aruna H Garufi
Faith Z Stockham
Emily Q Marrier
Misaki X Albares
David N Butt
Alejandro R Marrier
Murillo A Amigon
Aditya S Vocelka
Alejandro D Chui
Maisha I Oldroyd
Nicolas R Campain
Aditya N Nestle
Silvio Z Nestle
Octavia J Darakjy
Mayumi U Malet
Jones H Malet
Johnson J Whobrey
Leja O Albares
Nicolas N Iturbide
Izzy D Darakjy
Sinclair H Malet
Octavia T Garufi
IdCountryDate
1000Brazil2026-06-20
1001Australia2026-05-29
1002Canada2026-06-10
1003India2026-06-20
1004Japan2026-05-31
1005Italy2026-06-08
1006Spain2026-06-15
1007India2026-06-03
1008Brazil2026-05-29
1009Argentina2026-06-20
1010India2026-05-31
1011Italy2026-06-06
1012Brazil2026-06-06
1013Spain2026-06-19
1014Japan2026-05-28
1015Spain2026-06-19
1016Russia2026-06-07
1017Russia2026-06-15
1018Germany2026-06-16
1019Germany2026-06-17
1020France2026-05-29
1021Brazil2026-06-02
1022Canada2026-06-21
1023Spain2026-06-18
1024Australia2026-06-18
1025India2026-06-18
1026France2026-06-08
1027France2026-06-09
1028Canada2026-06-05
1029Germany2026-06-07
1030Germany2026-06-06
1031Germany2026-06-08
1032Japan2026-05-31
1033Argentina2026-06-13
1034United Kingdom2026-06-09
1035Australia2026-06-16
1036Australia2026-06-15
1037Germany2026-06-17
1038India2026-06-11
1039France2026-06-05
1040India2026-05-27
1041Japan2026-06-03
1042Argentina2026-06-08
1043France2026-05-29
1044Brazil2026-06-10
1045India2026-06-21
1046Spain2026-05-27
1047Brazil2026-06-18
1048France2026-06-19
1049Argentina2026-06-13

On-Demand Data

NameIdCountryDate
Arvin S Maclead1000France2026-06-14
Johnson I Rim1001France2026-06-15
Smith J Waycott1002Italy2026-05-28
Johnson W Bowley1003United Kingdom2026-05-30
Antonio Q Ruta1004Australia2026-05-29
Chavez K Glick1005Spain2026-06-24
Mayumi C Ostrosky1006Brazil2026-06-04
Aika P Gaucho1007Japan2026-06-02
Munro X Whobrey1008United Kingdom2026-05-30
Antonio N Iturbide1009France2026-06-17
Johnson W Waycott1010Italy2026-06-10
Clifford F Briddick1011Italy2026-06-13
Stacey T Schemmer1012India2026-05-30
Kadeem E Whobrey1013Argentina2026-06-19
Stacey P Doe1014France2026-06-12
David Y Venere1015Germany2026-06-20
Aditya H Poquette1016Australia2026-06-05
Salvatore C Kolmetz1017Australia2026-06-08
Izzy V Malet1018Brazil2026-06-12
Maisha B Iturbide1019Russia2026-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo B DoeRussiaIoni Bowcher UNQUALIFIED
Morrow V DoeBrazilAnna Fali PROPOSAL
Isabel W AlbaresJapanBernardo Dominic QUALIFIED
David S WaycottSpainOnyama Limba PROPOSAL
Isabel Q NickaUnited KingdomXuxue Feng PROPOSAL
Darci U IturbideItalyElwin Sharvill NEW
Tony I GillianGermanyAsiya Javayant QUALIFIED
Kaitlin K SchemmerJapanAsiya Javayant PROPOSAL
Tony T AmigonRussiaAsiya Javayant RENEWAL
Chavez E WieserIndiaElwin Sharvill NEW
Claire K PaprockiItalyAnna Fali PROPOSAL
Deepesh K AmigonSpainAsiya Javayant QUALIFIED
Aditya V RutaJapanAsiya Javayant NEW
Claire W BowleyIndiaAnna Fali QUALIFIED
Adams F KuskoIndiaBernardo Dominic UNQUALIFIED
Jennifer T IturbideBrazilStephen Shaw NEGOTIATION
Morrow W SaylorsAustraliaAmy Elsner PROPOSAL
Greenwood O AlbaresJapanIoni Bowcher NEGOTIATION
Emily W ShinkoBrazilAsiya Javayant UNQUALIFIED
Mujtaba V IturbideAustraliaAnna Fali PROPOSAL
Izzy A SaylorsItalyIvan Magalhaes PROPOSAL
Misaki N NickaAustraliaXuxue Feng QUALIFIED
Sinclair X OldroydUnited KingdomBernardo Dominic NEW
Jennifer S GlickJapanAmy Elsner PROPOSAL
Mujtaba B DarakjyBrazilXuxue Feng RENEWAL
Costa J BowleyIndiaBernardo Dominic QUALIFIED
Juan L NickaIndiaXuxue Feng RENEWAL
Smith H GillianFranceAnna Fali RENEWAL
Mujtaba I GauchoItalyAnna Fali QUALIFIED
Greenwood R WaycottSpainAsiya Javayant PROPOSAL
Nicolas O GillianFranceXuxue Feng QUALIFIED
Costa F PerinJapanBernardo Dominic QUALIFIED
Tony H TollnerSpainElwin Sharvill PROPOSAL
Kadeem O SaylorsFranceXuxue Feng UNQUALIFIED
Octavia P MaletIndiaAsiya Javayant NEW
Misaki M KolmetzRussiaOnyama Limba UNQUALIFIED
Alejandro H VocelkaJapanIoni Bowcher PROPOSAL
Mayumi X CampainFranceStephen Shaw QUALIFIED
Nicolas K MorascaCanadaAmy Elsner UNQUALIFIED
Darci U WaycottIndiaAmy Elsner 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.