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
Aruna Q StockhamFranceIvan Magalhaes NEW
Salvatore P FollerIndiaIoni Bowcher NEW
Rodrigues F MaletFranceAnna Fali NEW
Sinclair O WhobreyFranceBernardo Dominic QUALIFIED
Jones G TollnerGermanyXuxue Feng QUALIFIED
Johnson M SchemmerFranceAsiya Javayant PROPOSAL
Faith F VenereJapanIoni Bowcher RENEWAL
Murillo V MarrierSpainElwin Sharvill UNQUALIFIED
Jeanfrancois E MaletSpainIvan Magalhaes PROPOSAL
Murillo I StensethArgentinaBernardo Dominic QUALIFIED
Chavez Y WieserSpainStephen Shaw PROPOSAL
Nicolas K RutaItalyIoni Bowcher NEGOTIATION
Murillo E TollnerFranceAmy Elsner NEW
James S WaycottArgentinaXuxue Feng UNQUALIFIED
Aditya M CaudyIndiaIoni Bowcher QUALIFIED
Costa X RulapaughFranceOnyama Limba UNQUALIFIED
Emily B KuskoSpainAsiya Javayant NEW
Rodrigues I MaletAustraliaStephen Shaw NEGOTIATION
David D BowleyGermanyAsiya Javayant PROPOSAL
Nicolas S GauchoRussiaAsiya Javayant NEGOTIATION
Silvio A CampainIndiaXuxue Feng QUALIFIED
Chavez U AlbaresCanadaIoni Bowcher QUALIFIED
Leon U WhobreyArgentinaAsiya Javayant UNQUALIFIED
Emily K RulapaughGermanyOnyama Limba NEW
Kaitlin Z InouyeGermanyBernardo Dominic PROPOSAL
Aika Q ChuiItalyStephen Shaw QUALIFIED
Jeanfrancois W WhobreyJapanElwin Sharvill PROPOSAL
Munro A CaudyFranceElwin Sharvill PROPOSAL
Morrow J TollnerUnited KingdomOnyama Limba QUALIFIED
Ricardo D WhobreyGermanyXuxue Feng QUALIFIED
Leon A BriddickCanadaAsiya Javayant PROPOSAL
Morrow I BriddickGermanyAsiya Javayant NEW
Claire F WieserUnited KingdomAmy Elsner RENEWAL
David E RulapaughUnited KingdomStephen Shaw RENEWAL
Jennifer E MaletGermanyAmy Elsner QUALIFIED
Octavia I GauchoSpainIvan Magalhaes PROPOSAL
Maisha K FollerBrazilAsiya Javayant UNQUALIFIED
Cody B RimItalyStephen Shaw NEGOTIATION
Murillo Q MaletSpainAnna Fali PROPOSAL
Tony V StensethAustraliaAnna Fali RENEWAL
Greenwood G NestleAustraliaIvan Magalhaes PROPOSAL
Maria D PoquetteAustraliaIoni Bowcher NEW
Jones C DoeJapanXuxue Feng RENEWAL
Aruna K SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Izzy D SaylorsRussiaElwin Sharvill PROPOSAL
Jeanfrancois Q WaycottGermanyXuxue Feng NEW
Mayumi O CaudyBrazilXuxue Feng PROPOSAL
Salvatore D AmigonArgentinaIvan Magalhaes NEW
Jennifer Y WieserFranceIoni Bowcher NEGOTIATION
David F WhobreyJapanAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jones M RoysterCanadaAnna Fali RENEWAL
Alejandro X ChuiFranceAnna Fali NEW
Maisha Q CaldareraJapanAmy Elsner RENEWAL
Aditya M FigeroaItalyAsiya Javayant NEGOTIATION
Rodrigues S GarufiItalyAsiya Javayant PROPOSAL
Emily H TollnerGermanyStephen Shaw RENEWAL
Morrow D FollerJapanIoni Bowcher NEGOTIATION
Silvio T GillianUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois T WhobreyBrazilStephen Shaw QUALIFIED
Stacey S WhobreyJapanAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones H CampainItaly2026-01-30Chapman, Ross E Esq RENEWAL76Onyama Limba
1001Murillo R RulapaughArgentina2026-02-08Morlong Associates PROPOSAL24Xuxue Feng
1002Misaki O AmigonItaly2026-02-18Benton, John B Jr PROPOSAL87Amy Elsner
1003Salvatore Y FollerFrance2026-02-26Chapman, Ross E Esq UNQUALIFIED89Asiya Javayant
1004Stacey D GarufiIndia2026-02-13Chapman, Ross E Esq NEW76Ivan Magalhaes
1005Nicolas B DarakjyBrazil2026-02-15Dorl, James J Esq UNQUALIFIED15Anna Fali
1006Kadeem W ChuiRussia2026-02-12Dorl, James J Esq QUALIFIED43Onyama Limba
1007Deepesh N SchemmerGermany2026-02-12Rousseaux, Michael Esq NEGOTIATION23Onyama Limba
1008Jennifer G GarufiRussia2026-02-18Rousseaux, Michael Esq UNQUALIFIED55Amy Elsner
1009Munro X TollnerArgentina2026-02-14Dorl, James J Esq RENEWAL55Ioni Bowcher
1010Nicolas Q KolmetzIndia2026-02-17Rousseaux, Michael Esq RENEWAL93Anna Fali
1011Morrow U NestleAustralia2026-02-14Buckley Miller Wright NEGOTIATION32Stephen Shaw
1012Jones R SaylorsGermany2026-02-17Truhlar And Truhlar Attys PROPOSAL79Xuxue Feng
1013Chavez S OstroskyUnited Kingdom2026-02-04Rangoni Of Florence QUALIFIED17Asiya Javayant
1014Jones N KolmetzAustralia2026-02-21King, Christopher A Esq UNQUALIFIED96Asiya Javayant
1015Kaitlin P DilliardItaly2026-01-29Dorl, James J Esq NEW81Elwin Sharvill
1016Adams W NickaIndia2026-02-21Morlong Associates QUALIFIED73Amy Elsner
1017Juan K NestleArgentina2026-02-25Rousseaux, Michael Esq UNQUALIFIED25Ioni Bowcher
1018Maria W BowleySpain2026-02-25Feltz Printing Service UNQUALIFIED58Elwin Sharvill
1019Ashley V FerenczCanada2026-02-02Chanay, Jeffrey A Esq NEW67Ioni Bowcher
1020Nicolas N GauchoJapan2026-02-19Truhlar And Truhlar Attys NEGOTIATION25Ioni Bowcher
1021Claire S CaudyCanada2026-02-14Feiner Bros UNQUALIFIED55Xuxue Feng
1022Octavia D GlickRussia2026-02-04Feltz Printing Service UNQUALIFIED98Amy Elsner
1023Wickens A AlbaresSpain2026-02-23Buckley Miller Wright RENEWAL69Elwin Sharvill
1024Smith F AlbaresCanada2026-02-17Chanay, Jeffrey A Esq NEW33Onyama Limba
1025Faith E DarakjyBrazil2026-01-30Feiner Bros RENEWAL39Xuxue Feng
1026Munro J ChuiAustralia2026-02-08Feiner Bros NEGOTIATION29Bernardo Dominic
1027Murillo Q InouyeSpain2026-02-14Morlong Associates QUALIFIED7Asiya Javayant
1028Alejandro L FigeroaBrazil2026-02-20Truhlar And Truhlar Attys NEGOTIATION86Elwin Sharvill
1029Emily N DoeBrazil2026-02-12King, Christopher A Esq NEGOTIATION29Asiya Javayant
1030Leja S CaudyGermany2026-02-08Printing Dimensions RENEWAL44Amy Elsner
1031Julie J ShinkoBrazil2026-01-30Chapman, Ross E Esq NEGOTIATION81Amy Elsner
1032Cody N RulapaughGermany2026-02-23Benton, John B Jr PROPOSAL53Ioni Bowcher
1033Francesco R GlickGermany2026-02-13Feiner Bros NEGOTIATION79Amy Elsner
1034Leja I OstroskyRussia2026-02-03Buckley Miller Wright RENEWAL94Amy Elsner
1035Maisha H MacleadBrazil2026-02-22Chemel, James L Cpa UNQUALIFIED26Bernardo Dominic
1036Aika H ButtCanada2026-02-27Rangoni Of Florence UNQUALIFIED0Bernardo Dominic
1037Alejandro C WaycottCanada2026-02-27Truhlar And Truhlar Attys NEW40Stephen Shaw
1038Sinclair O DarakjyArgentina2026-02-06Feltz Printing Service RENEWAL98Bernardo Dominic
1039Silvio X StensethGermany2026-02-08King, Christopher A Esq NEW35Ivan Magalhaes
1040Adams U MorascaUnited Kingdom2026-02-20Feltz Printing Service UNQUALIFIED22Ivan Magalhaes
1041Arvin M CaudyGermany2026-02-08Buckley Miller Wright NEW34Onyama Limba
1042Izzy P OstroskySpain2026-02-21Truhlar And Truhlar Attys PROPOSAL95Elwin Sharvill
1043Maisha Z AmigonCanada2026-02-17Rangoni Of Florence RENEWAL64Xuxue Feng
1044Claire M CaldareraUnited Kingdom2026-02-09Printing Dimensions QUALIFIED30Asiya Javayant
1045Wickens D MorascaCanada2026-02-10Buckley Miller Wright PROPOSAL82Asiya Javayant
1046Jennifer G KuskoJapan2026-02-04Buckley Miller Wright NEW5Anna Fali
1047Wickens R ButtAustralia2026-02-01Morlong Associates RENEWAL80Asiya Javayant
1048Misaki N WaycottJapan2026-02-16Chapman, Ross E Esq RENEWAL49Amy Elsner
1049David N CaudyUnited Kingdom2026-02-18King, Christopher A Esq QUALIFIED69Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Johnson A AlbaresBrazilOnyama Limba PROPOSAL
Julie F MaletArgentinaAmy Elsner NEGOTIATION
Stacey A FerenczRussiaIvan Magalhaes NEW
Jefferson S KolmetzFranceAsiya Javayant PROPOSAL
Chavez Z IturbideSpainXuxue Feng QUALIFIED
Stacey Q StockhamAustraliaOnyama Limba NEGOTIATION
Jennifer C KolmetzAustraliaBernardo Dominic NEGOTIATION
Leja F FollerAustraliaAnna Fali NEW
Chavez P RutaAustraliaIvan Magalhaes QUALIFIED
Ricardo F RutaFranceOnyama Limba NEGOTIATION
Murillo M NickaItalyAsiya Javayant UNQUALIFIED
Julie Y VenereUnited KingdomIvan Magalhaes QUALIFIED
Jefferson G RoysterCanadaIvan Magalhaes NEGOTIATION
Aruna T FlosiArgentinaAsiya Javayant NEW
Arvin P BologniaJapanAmy Elsner NEW
Aruna W AlbaresGermanyAmy Elsner PROPOSAL
Izzy D CaudySpainAnna Fali UNQUALIFIED
Stacey I DoeItalyAnna Fali RENEWAL
Izzy X GillianIndiaXuxue Feng PROPOSAL
Julie G RulapaughIndiaAmy Elsner NEW
Aruna G KuskoSpainStephen Shaw UNQUALIFIED
Antonio A KuskoArgentinaElwin Sharvill RENEWAL
Rodrigues L MacleadJapanXuxue Feng UNQUALIFIED
Jeanfrancois Z MaletJapanBernardo Dominic NEGOTIATION
Isabel V DarakjyIndiaAsiya Javayant RENEWAL
Clifford R GarufiAustraliaOnyama Limba QUALIFIED
Stacey K FerenczRussiaIvan Magalhaes PROPOSAL
Murillo L StensethFranceXuxue Feng NEGOTIATION
Johnson Q BologniaArgentinaStephen Shaw PROPOSAL
Nicolas R VenereUnited KingdomXuxue Feng PROPOSAL
Leja I SaylorsIndiaAnna Fali PROPOSAL
Leja X TollnerFranceAmy Elsner QUALIFIED
Maisha B CaudyItalyIvan Magalhaes PROPOSAL
Cody X FigeroaSpainXuxue Feng NEW
Emily B MaletIndiaIvan Magalhaes QUALIFIED
Isabel G MorascaIndiaIvan Magalhaes RENEWAL
Stacey B InouyeJapanBernardo Dominic RENEWAL
Wickens E FerenczArgentinaIvan Magalhaes UNQUALIFIED
Nicolas J SlusarskiGermanyAnna Fali QUALIFIED
Tony R GarufiFranceAnna Fali NEGOTIATION
Jefferson Y BriddickGermanyIoni Bowcher QUALIFIED
Leon E WhobreyCanadaXuxue Feng QUALIFIED
Juan J GlickSpainStephen Shaw NEGOTIATION
Alejandro C PerinGermanyIoni Bowcher QUALIFIED
David Q SaylorsFranceStephen Shaw NEW
Ashley P GarufiIndiaOnyama Limba PROPOSAL
Faith E PaprockiRussiaBernardo Dominic RENEWAL
Izzy L MorascaItalyOnyama Limba RENEWAL
Deepesh L FigeroaAustraliaIvan Magalhaes QUALIFIED
Nicolas W DarakjyIndiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Faith M Amigon
Ivar X Caldarera
Kadeem G Rim
Tony F Albares
Leon U Figeroa
Smith N Dilliard
Rodrigues Q Shinko
Costa Q Stockham
Deepesh L Nestle
Ashley G Waycott
Deepesh Q Maclead
Emily I Glick
Mujtaba J Iturbide
Mujtaba F Ostrosky
Munro N Maclead
Jeanfrancois Y Garufi
Costa Y Vocelka
Francesco Y Darakjy
Francesco O Figeroa
Izzy X Doe
Jones O Caldarera
Jefferson C Schemmer
Ivar I Gaucho
Maria D Wieser
Leja T Foller
Ashley Z Shinko
Mujtaba Y Bowley
Mayumi H Shinko
Aika D Paprocki
Munro I Marrier
David A Ruta
Tony A Iturbide
Clifford O Paprocki
Stacey X Malet
Munro A Caldarera
Kadeem I Slusarski
Emily L Paprocki
Clifford A Vocelka
Isabel R Rulapaugh
Izzy I Shinko
Octavia U Maclead
Maisha X Caldarera
Johnson V Whobrey
Isabel R Flosi
Morrow L Glick
Smith U Darakjy
Nicolas G Perin
Murillo H Foller
Wickens Y Morasca
Claire U Chui
IdCountryDate
1000France2026-02-11
1001Brazil2026-02-14
1002India2026-02-16
1003Argentina2026-02-04
1004Germany2026-02-20
1005Australia2026-02-06
1006Japan2026-02-14
1007Russia2026-02-26
1008Spain2026-01-29
1009Australia2026-01-31
1010Canada2026-02-20
1011Japan2026-02-20
1012Japan2026-02-19
1013France2026-02-19
1014Italy2026-02-19
1015Brazil2026-02-22
1016Australia2026-01-30
1017Australia2026-02-04
1018Argentina2026-02-07
1019Germany2026-02-19
1020Italy2026-02-27
1021France2026-02-26
1022Brazil2026-02-02
1023Italy2026-02-17
1024India2026-01-31
1025Germany2026-02-24
1026France2026-02-19
1027Japan2026-02-17
1028United Kingdom2026-02-08
1029France2026-02-10
1030Brazil2026-02-21
1031Germany2026-01-29
1032Australia2026-02-19
1033United Kingdom2026-02-15
1034Russia2026-02-20
1035Brazil2026-02-09
1036Australia2026-02-12
1037Australia2026-02-21
1038France2026-02-08
1039Italy2026-02-09
1040Brazil2026-02-19
1041Japan2026-02-27
1042Canada2026-02-01
1043Canada2026-02-09
1044Spain2026-02-25
1045Spain2026-02-23
1046Argentina2026-02-14
1047Argentina2026-02-05
1048Italy2026-02-13
1049France2026-02-12

On-Demand Data

NameIdCountryDate
Emily O Darakjy1000United Kingdom2026-02-19
Izzy Q Doe1001Russia2026-02-27
Isabel V Flosi1002Brazil2026-02-15
Munro F Amigon1003Germany2026-02-25
Mujtaba W Stockham1004United Kingdom2026-01-30
Arvin Q Malet1005Russia2026-02-18
Tony B Gillian1006Argentina2026-02-22
Jeanfrancois A Kolmetz1007Brazil2026-02-12
Chavez Z Albares1008India2026-02-17
Munro M Shinko1009France2026-02-08
Aruna O Vocelka1010Germany2026-02-06
Francesco Q Gillian1011France2026-02-18
Greenwood E Malet1012Brazil2026-02-02
Claire A Darakjy1013Spain2026-02-18
Aditya E Ruta1014Canada2026-02-05
Aditya J Albares1015Argentina2026-02-09
Adams C Malet1016Spain2026-02-02
Sinclair M Malet1017United Kingdom2026-02-14
Leja F Butt1018United Kingdom2026-02-13
Ashley J Malet1019Germany2026-02-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues O GlickJapanStephen Shaw UNQUALIFIED
Ricardo L WieserBrazilOnyama Limba UNQUALIFIED
Faith U CampainIndiaXuxue Feng UNQUALIFIED
Munro Z PaprockiAustraliaXuxue Feng NEGOTIATION
Leon A ButtCanadaOnyama Limba NEGOTIATION
Mujtaba B CampainArgentinaAnna Fali QUALIFIED
Johnson F PaprockiJapanAnna Fali NEGOTIATION
Morrow D FollerAustraliaOnyama Limba QUALIFIED
Costa E AlbaresRussiaAnna Fali NEGOTIATION
Arvin U CaudyGermanyIvan Magalhaes PROPOSAL
Stacey S GauchoAustraliaXuxue Feng NEGOTIATION
Jones E StensethSpainAsiya Javayant RENEWAL
Johnson E SaylorsIndiaStephen Shaw QUALIFIED
James Y CampainFranceAsiya Javayant UNQUALIFIED
Ricardo Q CampainIndiaAsiya Javayant NEGOTIATION
Aditya G PaprockiCanadaIoni Bowcher NEGOTIATION
Salvatore I FerenczRussiaStephen Shaw QUALIFIED
Clifford Q FigeroaGermanyOnyama Limba UNQUALIFIED
Johnson M WieserArgentinaAsiya Javayant NEGOTIATION
David P TollnerAustraliaStephen Shaw NEGOTIATION
Nicolas J RulapaughFranceIoni Bowcher PROPOSAL
Francesco S GlickCanadaAsiya Javayant QUALIFIED
Ashley C AlbaresGermanyElwin Sharvill NEW
Octavia Q ShinkoSpainXuxue Feng NEGOTIATION
Mujtaba U MaletGermanyXuxue Feng RENEWAL
Arvin E MaletItalyStephen Shaw NEW
Jeanfrancois A VocelkaFranceAmy Elsner UNQUALIFIED
Rodrigues A SergiCanadaAmy Elsner RENEWAL
Maisha R OldroydItalyAnna Fali UNQUALIFIED
Antonio E MaletJapanIoni Bowcher RENEWAL
Munro D RutaJapanOnyama Limba NEGOTIATION
Arvin T DilliardArgentinaAnna Fali QUALIFIED
Cody H ChuiAustraliaAmy Elsner NEGOTIATION
Octavia G OstroskyAustraliaAmy Elsner UNQUALIFIED
Deepesh P FlosiBrazilAnna Fali PROPOSAL
Smith B MarrierBrazilBernardo Dominic NEGOTIATION
Juan N VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Ivar Y RoysterRussiaAsiya Javayant QUALIFIED
Johnson T MaletBrazilAnna Fali PROPOSAL
Ashley X DoeIndiaStephen Shaw NEW

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