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
Adams R MacleadItalyStephen Shaw UNQUALIFIED
Murillo C StockhamIndiaAsiya Javayant QUALIFIED
Leon Q KuskoJapanOnyama Limba PROPOSAL
Jefferson D SchemmerFranceAnna Fali PROPOSAL
Leja A RimCanadaStephen Shaw UNQUALIFIED
Silvio K PerinSpainAmy Elsner NEW
Morrow P ChuiRussiaBernardo Dominic UNQUALIFIED
Clifford Z RimIndiaElwin Sharvill UNQUALIFIED
Leja U GarufiRussiaIvan Magalhaes RENEWAL
Morrow V SlusarskiSpainAnna Fali NEGOTIATION
Emily L BowleyItalyOnyama Limba NEGOTIATION
Antonio R NestleCanadaBernardo Dominic RENEWAL
Octavia O GarufiFranceStephen Shaw RENEWAL
Rodrigues J IturbideUnited KingdomIvan Magalhaes RENEWAL
Arvin H MarrierItalyAmy Elsner PROPOSAL
Tony X ChuiItalyStephen Shaw RENEWAL
Morrow I FerenczRussiaElwin Sharvill RENEWAL
Jeanfrancois K SergiIndiaOnyama Limba PROPOSAL
Stacey Y VocelkaJapanAnna Fali RENEWAL
Silvio H FlosiAustraliaOnyama Limba NEGOTIATION
Maria U OldroydItalyAsiya Javayant UNQUALIFIED
Francesco Y TollnerFranceAmy Elsner UNQUALIFIED
Arvin A GarufiItalyOnyama Limba NEW
Chavez Y PaprockiRussiaElwin Sharvill RENEWAL
Maisha K OstroskyCanadaIvan Magalhaes NEW
Izzy P StensethAustraliaBernardo Dominic NEGOTIATION
David V SchemmerBrazilIoni Bowcher RENEWAL
Morrow B IturbideGermanyAsiya Javayant QUALIFIED
Smith W FlosiItalyStephen Shaw QUALIFIED
Murillo D BowleyRussiaIvan Magalhaes RENEWAL
Claire W AmigonJapanStephen Shaw NEW
Claire F ChuiItalyIoni Bowcher NEW
David M PerinCanadaAmy Elsner UNQUALIFIED
Clifford D BowleyUnited KingdomBernardo Dominic RENEWAL
Ivar R OldroydItalyBernardo Dominic UNQUALIFIED
Jones K GauchoRussiaAsiya Javayant NEW
Alejandro C FigeroaItalyIoni Bowcher NEGOTIATION
Jeanfrancois R BriddickIndiaIoni Bowcher UNQUALIFIED
Isabel R PoquetteJapanIvan Magalhaes UNQUALIFIED
Aditya Q PoquetteArgentinaIvan Magalhaes NEGOTIATION
Jones X FlosiArgentinaXuxue Feng NEW
Claire I ChuiItalyStephen Shaw QUALIFIED
Johnson N RimItalyXuxue Feng UNQUALIFIED
Julie E AmigonBrazilElwin Sharvill RENEWAL
Ricardo C ButtJapanElwin Sharvill NEGOTIATION
Chavez V WieserGermanyAsiya Javayant QUALIFIED
Cody Z GillianCanadaIvan Magalhaes QUALIFIED
Octavia O KuskoSpainElwin Sharvill PROPOSAL
Silvio O WaycottJapanOnyama Limba NEW
Darci K KolmetzAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio P DarakjyIndiaIvan Magalhaes RENEWAL
Jones V CaudyUnited KingdomIvan Magalhaes UNQUALIFIED
David R FollerRussiaAsiya Javayant UNQUALIFIED
Nicolas Z AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Emily X FerenczArgentinaXuxue Feng QUALIFIED
Adams K TollnerArgentinaElwin Sharvill RENEWAL
Stacey F DarakjyRussiaBernardo Dominic NEGOTIATION
Smith K NickaUnited KingdomAmy Elsner NEGOTIATION
David B FollerAustraliaOnyama Limba PROPOSAL
Jeanfrancois M TollnerItalyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki T CaudyCanada2026-03-02Morlong Associates NEGOTIATION8Ioni Bowcher
1001Stacey I RoysterGermany2026-03-22Feiner Bros QUALIFIED92Bernardo Dominic
1002Ashley Z InouyeArgentina2026-02-23Buckley Miller Wright NEW91Amy Elsner
1003Ivar Q BologniaArgentina2026-03-16Morlong Associates RENEWAL80Anna Fali
1004Morrow Y MacleadBrazil2026-02-24Feiner Bros UNQUALIFIED26Bernardo Dominic
1005Johnson D VocelkaAustralia2026-03-15King, Christopher A Esq NEGOTIATION60Ioni Bowcher
1006Stacey Z TollnerRussia2026-03-11Rangoni Of Florence NEW47Asiya Javayant
1007David S WhobreyIndia2026-03-11Feiner Bros NEGOTIATION70Asiya Javayant
1008Jennifer X GauchoAustralia2026-02-26Printing Dimensions RENEWAL45Stephen Shaw
1009Leja U FollerCanada2026-03-19Chanay, Jeffrey A Esq QUALIFIED86Stephen Shaw
1010Smith L MacleadItaly2026-03-05Dorl, James J Esq QUALIFIED98Anna Fali
1011Jefferson R DilliardJapan2026-03-07Printing Dimensions RENEWAL0Onyama Limba
1012Stacey K SchemmerFrance2026-02-26Feiner Bros RENEWAL51Amy Elsner
1013Isabel O RutaJapan2026-03-05Dorl, James J Esq RENEWAL7Amy Elsner
1014Alejandro Y SlusarskiRussia2026-03-21Chemel, James L Cpa QUALIFIED66Bernardo Dominic
1015Sinclair G MaletIndia2026-03-02Chemel, James L Cpa PROPOSAL16Anna Fali
1016Morrow Y SergiJapan2026-03-14Feiner Bros RENEWAL69Ivan Magalhaes
1017Morrow Q MaletUnited Kingdom2026-03-09Chemel, James L Cpa NEW47Bernardo Dominic
1018Antonio I ShinkoJapan2026-02-22Truhlar And Truhlar Attys RENEWAL57Ivan Magalhaes
1019Rodrigues Q SaylorsFrance2026-03-02Commercial Press NEW42Onyama Limba
1020Murillo Z TollnerUnited Kingdom2026-03-05Buckley Miller Wright NEW63Anna Fali
1021Leon F SergiAustralia2026-03-12Buckley Miller Wright QUALIFIED56Onyama Limba
1022Cody V RulapaughIndia2026-03-03Chemel, James L Cpa PROPOSAL14Stephen Shaw
1023Johnson I BologniaJapan2026-03-11Feltz Printing Service NEW79Xuxue Feng
1024Juan L StockhamItaly2026-03-04Chemel, James L Cpa PROPOSAL94Asiya Javayant
1025Johnson L RimFrance2026-03-23Dorl, James J Esq QUALIFIED63Amy Elsner
1026Clifford T InouyeAustralia2026-02-22Morlong Associates UNQUALIFIED58Asiya Javayant
1027Wickens P RoysterBrazil2026-02-23Benton, John B Jr NEGOTIATION23Xuxue Feng
1028Greenwood C CaudyItaly2026-03-17Chanay, Jeffrey A Esq UNQUALIFIED19Elwin Sharvill
1029Juan Q WaycottBrazil2026-02-23Truhlar And Truhlar Attys PROPOSAL79Onyama Limba
1030David H PoquetteIndia2026-03-18Benton, John B Jr UNQUALIFIED5Bernardo Dominic
1031Deepesh G FlosiBrazil2026-03-09Rousseaux, Michael Esq NEW44Elwin Sharvill
1032James C FollerGermany2026-03-13Rousseaux, Michael Esq PROPOSAL39Stephen Shaw
1033Jones H InouyeAustralia2026-03-18Buckley Miller Wright RENEWAL29Ioni Bowcher
1034Jones K NickaCanada2026-03-10King, Christopher A Esq RENEWAL91Onyama Limba
1035Arvin X KolmetzFrance2026-03-15Chanay, Jeffrey A Esq NEGOTIATION3Bernardo Dominic
1036Francesco L MaletAustralia2026-03-14Benton, John B Jr PROPOSAL78Anna Fali
1037Deepesh Y RoysterAustralia2026-03-11Morlong Associates NEW65Ivan Magalhaes
1038Nicolas K PerinSpain2026-03-18Chapman, Ross E Esq NEW84Stephen Shaw
1039Clifford Q AlbaresItaly2026-03-02Feiner Bros PROPOSAL6Bernardo Dominic
1040Leja C ButtIndia2026-03-12King, Christopher A Esq NEW48Xuxue Feng
1041Isabel U CaudyGermany2026-03-17Truhlar And Truhlar Attys RENEWAL73Ioni Bowcher
1042Stacey V PoquetteIndia2026-02-23Commercial Press NEW6Ioni Bowcher
1043Johnson T FollerRussia2026-02-22Feltz Printing Service NEW14Ivan Magalhaes
1044Munro J MarrierItaly2026-03-18Dorl, James J Esq PROPOSAL64Bernardo Dominic
1045Julie X GlickGermany2026-03-19Chemel, James L Cpa NEGOTIATION76Ioni Bowcher
1046Claire L KuskoIndia2026-03-21Morlong Associates NEGOTIATION62Amy Elsner
1047Chavez L MarrierAustralia2026-03-23Chemel, James L Cpa QUALIFIED55Elwin Sharvill
1048Faith J WhobreyBrazil2026-03-05Commercial Press NEGOTIATION5Ivan Magalhaes
1049Kaitlin Z RutaGermany2026-03-22Buckley Miller Wright QUALIFIED55Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Kadeem P WaycottSpainStephen Shaw NEW
Isabel S MacleadAustraliaBernardo Dominic QUALIFIED
Kadeem F RimSpainOnyama Limba NEGOTIATION
Johnson T InouyeFranceStephen Shaw UNQUALIFIED
Darci J StockhamRussiaIvan Magalhaes PROPOSAL
Ashley Z TollnerFranceElwin Sharvill UNQUALIFIED
Alejandro P GillianArgentinaXuxue Feng QUALIFIED
Adams C OstroskyJapanIvan Magalhaes RENEWAL
Murillo K CampainRussiaAnna Fali UNQUALIFIED
Deepesh D BowleyGermanyAmy Elsner NEW
Leon D RimIndiaOnyama Limba UNQUALIFIED
Aruna O ShinkoFranceStephen Shaw NEGOTIATION
Izzy S PerinArgentinaIvan Magalhaes QUALIFIED
Rodrigues D PerinGermanyBernardo Dominic QUALIFIED
Morrow S DoeAustraliaOnyama Limba NEGOTIATION
Stacey W BologniaRussiaIoni Bowcher UNQUALIFIED
Ricardo I AlbaresItalyIoni Bowcher PROPOSAL
Murillo E FollerArgentinaOnyama Limba UNQUALIFIED
Mayumi T VenereFranceAsiya Javayant QUALIFIED
Johnson K WhobreyArgentinaAsiya Javayant RENEWAL
Kadeem Y PerinRussiaAsiya Javayant NEW
Aditya P FerenczIndiaAmy Elsner PROPOSAL
Faith S WieserIndiaAnna Fali UNQUALIFIED
Rodrigues H AmigonJapanXuxue Feng PROPOSAL
Alejandro K SaylorsRussiaAmy Elsner NEGOTIATION
Sinclair Y PoquetteAustraliaAmy Elsner NEW
Mayumi M RimArgentinaOnyama Limba NEGOTIATION
Jones E MacleadCanadaAsiya Javayant RENEWAL
Kaitlin L WieserFranceElwin Sharvill RENEWAL
Juan J DilliardBrazilXuxue Feng NEGOTIATION
Clifford U DilliardJapanAsiya Javayant RENEWAL
Smith B SaylorsFranceAnna Fali NEGOTIATION
Jennifer S GlickArgentinaIoni Bowcher NEGOTIATION
Rodrigues M GillianUnited KingdomAsiya Javayant PROPOSAL
Kaitlin A WaycottUnited KingdomOnyama Limba QUALIFIED
Faith Q SlusarskiSpainIvan Magalhaes NEW
Francesco B RoysterSpainIoni Bowcher QUALIFIED
Leja X SaylorsCanadaStephen Shaw PROPOSAL
Ivar P FollerFranceXuxue Feng QUALIFIED
Ricardo X WieserRussiaAmy Elsner PROPOSAL
Claire E RulapaughCanadaAmy Elsner QUALIFIED
James O StensethAustraliaIvan Magalhaes PROPOSAL
Claire B ShinkoCanadaIoni Bowcher QUALIFIED
Sinclair B PaprockiIndiaIoni Bowcher NEW
Claire Z IturbideAustraliaIoni Bowcher UNQUALIFIED
Chavez I GauchoGermanyElwin Sharvill NEGOTIATION
Sinclair O SergiGermanyIvan Magalhaes NEGOTIATION
Octavia Z VocelkaIndiaXuxue Feng NEGOTIATION
Costa D IturbideIndiaXuxue Feng UNQUALIFIED
Ashley D GlickAustraliaAmy Elsner QUALIFIED
Frozen Columns
Name
Tony Z Whobrey
Francesco A Ruta
Kadeem D Morasca
Sinclair X Saylors
Mujtaba R Figeroa
Deepesh L Whobrey
Jeanfrancois J Saylors
Cody M Chui
Smith U Waycott
Jefferson D Garufi
Ashley H Poquette
Francesco G Schemmer
Izzy E Poquette
James Q Nicka
Isabel A Malet
Isabel C Stockham
Ivar S Caudy
Maisha N Shinko
Ivar L Venere
Juan V Bowley
Octavia G Malet
Murillo L Sergi
Munro Y Stockham
Arvin K Saylors
Isabel Q Flosi
Leon B Rim
Ashley Y Foller
Maisha M Foller
Isabel I Poquette
Munro F Nestle
Leja Z Kolmetz
Emily L Oldroyd
Morrow A Campain
Silvio W Perin
Rodrigues V Tollner
Mayumi L Wieser
Claire W Vocelka
Stacey S Malet
Nicolas U Stockham
Clifford I Royster
Smith O Campain
Kaitlin P Venere
Jeanfrancois R Saylors
Chavez Y Tollner
Rodrigues U Oldroyd
Leja G Gaucho
Jones G Sergi
Tony Y Malet
Isabel E Venere
Leja A Foller
IdCountryDate
1000Australia2026-02-25
1001Russia2026-02-22
1002Russia2026-03-04
1003Germany2026-03-06
1004Japan2026-03-17
1005Japan2026-03-16
1006Italy2026-03-07
1007Argentina2026-03-05
1008Spain2026-03-07
1009Brazil2026-02-24
1010India2026-03-14
1011Canada2026-03-12
1012Brazil2026-03-18
1013Australia2026-02-26
1014Australia2026-03-12
1015Russia2026-03-11
1016Germany2026-03-23
1017Spain2026-03-15
1018Italy2026-03-02
1019Italy2026-02-23
1020Spain2026-02-28
1021Japan2026-03-13
1022Spain2026-03-22
1023Canada2026-03-21
1024Argentina2026-03-16
1025Germany2026-03-18
1026Brazil2026-03-09
1027Brazil2026-03-21
1028Japan2026-03-03
1029Argentina2026-03-01
1030Japan2026-03-22
1031United Kingdom2026-03-01
1032India2026-02-22
1033Russia2026-03-15
1034Argentina2026-03-17
1035Brazil2026-03-16
1036Brazil2026-03-20
1037Japan2026-03-13
1038United Kingdom2026-03-04
1039Canada2026-03-05
1040Brazil2026-03-10
1041Japan2026-03-14
1042Germany2026-03-09
1043Germany2026-03-19
1044Brazil2026-03-03
1045Russia2026-02-28
1046Australia2026-03-08
1047Italy2026-03-05
1048Argentina2026-03-16
1049Spain2026-03-06

On-Demand Data

NameIdCountryDate
Mujtaba D Sergi1000India2026-03-13
Ricardo Y Kusko1001Spain2026-02-28
Tony Z Bolognia1002United Kingdom2026-03-11
Isabel H Darakjy1003Australia2026-03-21
Jones J Kolmetz1004United Kingdom2026-03-08
Morrow K Ferencz1005Brazil2026-02-28
Clifford X Kusko1006Spain2026-03-21
Deepesh H Briddick1007Russia2026-03-14
Silvio H Caudy1008Japan2026-03-13
James M Garufi1009Russia2026-03-01
Kaitlin V Caudy1010Canada2026-03-06
Wickens Q Shinko1011United Kingdom2026-03-10
Julie C Gaucho1012Canada2026-03-15
Emily D Poquette1013Argentina2026-03-07
Juan I Dilliard1014Spain2026-03-06
Ashley L Vocelka1015Brazil2026-02-24
Morrow V Dilliard1016India2026-03-04
Costa Y Glick1017Italy2026-03-04
Aditya X Inouye1018India2026-02-22
Cody T Chui1019Russia2026-03-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore M DoeAustraliaElwin Sharvill UNQUALIFIED
Kaitlin E GillianAustraliaOnyama Limba RENEWAL
Faith G ButtUnited KingdomStephen Shaw UNQUALIFIED
Wickens Q CaldareraBrazilIoni Bowcher RENEWAL
Tony W WhobreyJapanOnyama Limba PROPOSAL
Leja N StockhamItalyIvan Magalhaes RENEWAL
Emily R WaycottCanadaAnna Fali RENEWAL
Jefferson N TollnerUnited KingdomElwin Sharvill RENEWAL
Darci O DilliardIndiaElwin Sharvill RENEWAL
Jennifer Z StensethFranceAsiya Javayant RENEWAL
Greenwood L ButtRussiaBernardo Dominic NEW
Aika Z ChuiJapanOnyama Limba NEGOTIATION
Leon C OstroskyBrazilXuxue Feng NEGOTIATION
Salvatore A CampainIndiaXuxue Feng UNQUALIFIED
Darci A SaylorsFranceOnyama Limba PROPOSAL
Faith E BowleyRussiaAnna Fali RENEWAL
Ivar S WhobreyJapanAnna Fali RENEWAL
Leon T FigeroaCanadaOnyama Limba NEW
Mujtaba Z MaletRussiaBernardo Dominic QUALIFIED
Leja L IturbideCanadaElwin Sharvill UNQUALIFIED
Claire M GlickFranceIoni Bowcher NEGOTIATION
Ivar H FlosiCanadaElwin Sharvill PROPOSAL
Alejandro P OldroydFranceIvan Magalhaes NEGOTIATION
James J ShinkoFranceAmy Elsner UNQUALIFIED
Jones I MaletUnited KingdomXuxue Feng RENEWAL
Antonio S BriddickSpainElwin Sharvill NEW
Smith H MorascaCanadaAmy Elsner RENEWAL
Francesco W GillianItalyXuxue Feng UNQUALIFIED
Johnson G IturbideSpainBernardo Dominic NEGOTIATION
Costa T MorascaCanadaStephen Shaw NEGOTIATION
Sinclair Y AmigonItalyBernardo Dominic QUALIFIED
Munro Z OldroydBrazilBernardo Dominic PROPOSAL
Aditya W WaycottGermanyAsiya Javayant RENEWAL
Munro K WhobreyFranceAnna Fali NEGOTIATION
Adams A NickaIndiaStephen Shaw UNQUALIFIED
Wickens C PerinCanadaOnyama Limba RENEWAL
Chavez T BowleyCanadaElwin Sharvill PROPOSAL
Claire Z GlickGermanyIvan Magalhaes NEGOTIATION
Kaitlin A KolmetzItalyXuxue Feng QUALIFIED
Mujtaba C WaycottCanadaAnna Fali RENEWAL

<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.