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
Arvin H AmigonFranceIvan Magalhaes QUALIFIED
Octavia D KolmetzFranceElwin Sharvill UNQUALIFIED
Aditya G FlosiArgentinaBernardo Dominic NEGOTIATION
Jennifer H FigeroaBrazilAsiya Javayant PROPOSAL
Stacey T GillianItalyIvan Magalhaes PROPOSAL
Misaki H DoeAustraliaElwin Sharvill NEW
Claire P AmigonBrazilStephen Shaw UNQUALIFIED
Jones F MaletFranceElwin Sharvill NEGOTIATION
Salvatore E StensethItalyAnna Fali NEGOTIATION
Morrow T KuskoAustraliaIvan Magalhaes UNQUALIFIED
Julie A BologniaBrazilOnyama Limba NEW
Faith S GlickCanadaAsiya Javayant NEW
Isabel L OldroydFranceXuxue Feng RENEWAL
Alejandro J NestleFranceAsiya Javayant RENEWAL
James G WieserGermanyXuxue Feng PROPOSAL
Jefferson L VenereRussiaAsiya Javayant RENEWAL
Mayumi S RimSpainXuxue Feng RENEWAL
Arvin S SergiIndiaAnna Fali NEGOTIATION
Salvatore B WhobreyGermanyIoni Bowcher NEW
Kadeem G MaletIndiaIoni Bowcher UNQUALIFIED
Ashley I BowleyCanadaAsiya Javayant UNQUALIFIED
Darci I MarrierCanadaElwin Sharvill NEGOTIATION
Salvatore N DarakjyIndiaBernardo Dominic NEW
Ivar L WhobreyAustraliaAnna Fali NEW
David J PoquetteBrazilIoni Bowcher UNQUALIFIED
Maria L ChuiItalyIoni Bowcher UNQUALIFIED
Juan I OstroskyJapanElwin Sharvill NEW
Munro N MorascaSpainAnna Fali QUALIFIED
Mujtaba N GlickBrazilStephen Shaw PROPOSAL
Silvio E SergiIndiaXuxue Feng RENEWAL
Munro N DilliardArgentinaXuxue Feng NEW
David F IturbideJapanOnyama Limba NEW
Octavia O BriddickItalyStephen Shaw UNQUALIFIED
Jefferson W NestleIndiaIoni Bowcher NEW
Rodrigues B StockhamCanadaOnyama Limba RENEWAL
Chavez J IturbideJapanIvan Magalhaes NEW
Aruna H MacleadSpainAnna Fali QUALIFIED
Mujtaba S PerinUnited KingdomXuxue Feng NEGOTIATION
James V ButtSpainElwin Sharvill NEGOTIATION
Clifford Q MaletUnited KingdomElwin Sharvill NEW
Darci R GarufiAustraliaIvan Magalhaes NEW
Isabel P NestleFranceBernardo Dominic QUALIFIED
Chavez N NickaBrazilAsiya Javayant PROPOSAL
Leon Q FlosiSpainBernardo Dominic RENEWAL
Francesco I CaudyIndiaOnyama Limba NEGOTIATION
Octavia P OldroydGermanyStephen Shaw QUALIFIED
Ricardo V PoquetteSpainAnna Fali PROPOSAL
Aditya U GlickJapanIoni Bowcher RENEWAL
Tony D VocelkaIndiaStephen Shaw NEW
Chavez F WhobreyCanadaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio R CaudyJapanStephen Shaw NEGOTIATION
Isabel W KuskoUnited KingdomStephen Shaw NEW
Ricardo Z GlickFranceAnna Fali PROPOSAL
Ricardo O KuskoFranceBernardo Dominic QUALIFIED
Munro K MorascaCanadaStephen Shaw QUALIFIED
Aika A WieserAustraliaStephen Shaw NEW
Jefferson E PerinUnited KingdomIoni Bowcher PROPOSAL
Alejandro X CaudyGermanyOnyama Limba UNQUALIFIED
Aditya U WieserJapanStephen Shaw PROPOSAL
Munro R RutaFranceIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro M CampainGermany2026-06-01Printing Dimensions QUALIFIED58Bernardo Dominic
1001Julie X RoysterFrance2026-06-21Commercial Press NEGOTIATION65Onyama Limba
1002Julie Y DarakjyFrance2026-06-12Feltz Printing Service QUALIFIED44Bernardo Dominic
1003Nicolas W NestleIndia2026-06-17Benton, John B Jr NEW59Amy Elsner
1004Leja U VenereJapan2026-06-05Feiner Bros NEGOTIATION21Stephen Shaw
1005Johnson Y GlickFrance2026-06-08Printing Dimensions RENEWAL2Asiya Javayant
1006Julie Y FollerBrazil2026-06-11Chapman, Ross E Esq NEGOTIATION56Onyama Limba
1007Emily Y SchemmerIndia2026-06-17Chemel, James L Cpa NEW13Ivan Magalhaes
1008Maisha E AlbaresAustralia2026-06-07Chanay, Jeffrey A Esq QUALIFIED0Onyama Limba
1009Silvio M ShinkoItaly2026-05-29Feiner Bros NEW26Anna Fali
1010Silvio I CampainAustralia2026-06-24Feltz Printing Service RENEWAL22Onyama Limba
1011Izzy T BowleyRussia2026-06-22Commercial Press QUALIFIED31Anna Fali
1012Johnson O StensethJapan2026-06-20Rangoni Of Florence UNQUALIFIED15Amy Elsner
1013Ricardo B StockhamFrance2026-06-03Morlong Associates NEW94Stephen Shaw
1014Silvio A SergiGermany2026-06-08Chapman, Ross E Esq QUALIFIED80Stephen Shaw
1015Mayumi N SaylorsUnited Kingdom2026-06-02Feiner Bros QUALIFIED69Asiya Javayant
1016Leja Q SchemmerFrance2026-06-07Feltz Printing Service UNQUALIFIED5Stephen Shaw
1017Mujtaba D FlosiAustralia2026-06-08Dorl, James J Esq QUALIFIED9Amy Elsner
1018Maria F BowleySpain2026-06-10Commercial Press UNQUALIFIED71Ivan Magalhaes
1019Silvio Q AmigonAustralia2026-06-22Morlong Associates UNQUALIFIED48Xuxue Feng
1020Nicolas L MarrierJapan2026-06-14Dorl, James J Esq NEGOTIATION1Bernardo Dominic
1021Octavia F InouyeJapan2026-06-20Benton, John B Jr QUALIFIED83Asiya Javayant
1022Sinclair L MorascaCanada2026-05-26Truhlar And Truhlar Attys PROPOSAL85Xuxue Feng
1023Wickens N SergiUnited Kingdom2026-06-02Chemel, James L Cpa QUALIFIED19Stephen Shaw
1024Ashley U PaprockiCanada2026-06-10Morlong Associates PROPOSAL40Bernardo Dominic
1025Nicolas M ShinkoUnited Kingdom2026-05-26King, Christopher A Esq UNQUALIFIED56Onyama Limba
1026Leon E OstroskyAustralia2026-06-20Morlong Associates PROPOSAL85Xuxue Feng
1027Jeanfrancois D OldroydSpain2026-06-19Chemel, James L Cpa NEGOTIATION56Elwin Sharvill
1028Francesco K ShinkoUnited Kingdom2026-06-16Rangoni Of Florence NEW69Ioni Bowcher
1029Misaki B StockhamAustralia2026-05-29Dorl, James J Esq QUALIFIED81Amy Elsner
1030Leon E GlickArgentina2026-06-13Benton, John B Jr NEGOTIATION70Onyama Limba
1031Julie J MaletJapan2026-06-24Chapman, Ross E Esq UNQUALIFIED27Stephen Shaw
1032Jones T DarakjyAustralia2026-05-30Benton, John B Jr NEGOTIATION24Ioni Bowcher
1033Arvin O ButtIndia2026-06-07Benton, John B Jr NEGOTIATION36Anna Fali
1034Arvin E NickaFrance2026-06-11Benton, John B Jr NEW10Anna Fali
1035Darci F SaylorsBrazil2026-06-11Chemel, James L Cpa PROPOSAL4Anna Fali
1036Mayumi E IturbideCanada2026-06-01Morlong Associates NEGOTIATION46Stephen Shaw
1037Jeanfrancois K WhobreyUnited Kingdom2026-06-21King, Christopher A Esq NEW41Onyama Limba
1038Munro J ButtAustralia2026-06-12Dorl, James J Esq QUALIFIED59Elwin Sharvill
1039Juan H SaylorsCanada2026-06-07Rousseaux, Michael Esq QUALIFIED65Ioni Bowcher
1040Nicolas L BologniaJapan2026-06-24Feltz Printing Service RENEWAL74Ioni Bowcher
1041Ricardo Q GillianJapan2026-05-27Feltz Printing Service RENEWAL20Amy Elsner
1042Izzy S SchemmerBrazil2026-06-12Morlong Associates PROPOSAL80Anna Fali
1043Jones Y BriddickJapan2026-06-09King, Christopher A Esq NEW37Onyama Limba
1044Morrow P TollnerArgentina2026-06-23Chapman, Ross E Esq RENEWAL49Ioni Bowcher
1045Claire I GlickUnited Kingdom2026-06-13Feiner Bros UNQUALIFIED95Bernardo Dominic
1046Silvio W DarakjyGermany2026-06-05Buckley Miller Wright PROPOSAL32Elwin Sharvill
1047Jeanfrancois K WaycottArgentina2026-06-21Printing Dimensions UNQUALIFIED88Xuxue Feng
1048Isabel Q GarufiGermany2026-06-02Buckley Miller Wright PROPOSAL13Ivan Magalhaes
1049Mujtaba D WaycottAustralia2026-05-28Printing Dimensions NEW39Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Emily S AmigonSpainBernardo Dominic UNQUALIFIED
Aruna X MacleadFranceIoni Bowcher QUALIFIED
Kadeem U VenereArgentinaIvan Magalhaes NEGOTIATION
Silvio P BowleyItalyAsiya Javayant PROPOSAL
Aruna B RimUnited KingdomAnna Fali PROPOSAL
Maria H RoysterJapanAsiya Javayant PROPOSAL
Mayumi H PaprockiSpainXuxue Feng PROPOSAL
Johnson P MarrierArgentinaAmy Elsner NEGOTIATION
Johnson R RoysterFranceAnna Fali NEW
Smith V OstroskyFranceAnna Fali NEW
Ricardo Q BowleyGermanyOnyama Limba UNQUALIFIED
Izzy J BowleySpainIoni Bowcher UNQUALIFIED
Maria H AlbaresArgentinaAnna Fali NEW
Ricardo H ChuiItalyXuxue Feng NEW
Salvatore E GarufiCanadaXuxue Feng UNQUALIFIED
Stacey A DarakjyGermanyOnyama Limba RENEWAL
Salvatore P BriddickSpainIvan Magalhaes RENEWAL
Maisha K RulapaughIndiaAsiya Javayant QUALIFIED
Nicolas E ButtSpainOnyama Limba PROPOSAL
Emily H VenereRussiaAsiya Javayant QUALIFIED
Emily I FerenczItalyElwin Sharvill PROPOSAL
Misaki P SaylorsJapanAsiya Javayant NEW
Juan M PaprockiUnited KingdomAsiya Javayant PROPOSAL
Stacey Z CampainAustraliaBernardo Dominic PROPOSAL
Mayumi A AmigonFranceAsiya Javayant QUALIFIED
Kaitlin S VocelkaJapanOnyama Limba NEW
Izzy T WieserJapanElwin Sharvill RENEWAL
Wickens B TollnerRussiaXuxue Feng NEGOTIATION
Clifford I InouyeBrazilXuxue Feng NEW
Clifford H SchemmerIndiaIvan Magalhaes UNQUALIFIED
Octavia W OstroskySpainElwin Sharvill NEGOTIATION
Izzy A DoeBrazilBernardo Dominic RENEWAL
Misaki S SlusarskiGermanyOnyama Limba RENEWAL
Misaki F FlosiRussiaAmy Elsner RENEWAL
Murillo I TollnerJapanIvan Magalhaes PROPOSAL
Clifford K DarakjyRussiaAnna Fali UNQUALIFIED
Aditya H MaletGermanyOnyama Limba NEGOTIATION
Mayumi P MorascaRussiaStephen Shaw RENEWAL
Cody F ButtGermanyIvan Magalhaes NEW
Smith Z InouyeAustraliaXuxue Feng PROPOSAL
Octavia S NickaUnited KingdomStephen Shaw NEGOTIATION
Julie R FigeroaArgentinaAnna Fali PROPOSAL
Adams X KuskoFranceAsiya Javayant NEW
Sinclair J FigeroaJapanStephen Shaw QUALIFIED
Emily R WieserItalyAnna Fali NEGOTIATION
Aditya S InouyeAustraliaBernardo Dominic QUALIFIED
Kadeem H PoquetteRussiaXuxue Feng QUALIFIED
Ivar Q MaletCanadaIvan Magalhaes NEGOTIATION
Emily M SchemmerFranceOnyama Limba PROPOSAL
David H ShinkoSpainAnna Fali RENEWAL
Frozen Columns
Name
Emily Q Amigon
Misaki M Poquette
Claire U Campain
Morrow M Briddick
Jennifer G Sergi
Juan P Shinko
Faith B Malet
Izzy D Rim
Sinclair J Nicka
David N Albares
Jennifer F Malet
Ashley T Saylors
Aditya I Oldroyd
Rodrigues Z Albares
Morrow Y Butt
Ricardo W Saylors
Adams U Dilliard
Morrow S Marrier
Julie Y Oldroyd
Antonio U Waycott
Tony D Poquette
James X Caudy
Tony L Bolognia
Jefferson L Figeroa
Faith U Caldarera
Johnson A Glick
Clifford D Schemmer
Adams L Perin
Rodrigues Z Bowley
Antonio W Ruta
Munro D Campain
Aditya V Darakjy
Izzy F Malet
Sinclair P Royster
Salvatore Q Stockham
Smith D Waycott
Juan S Campain
Tony P Rim
Wickens E Paprocki
Faith U Ferencz
Johnson L Poquette
Jennifer N Royster
Claire V Maclead
Greenwood P Bowley
Sinclair Q Whobrey
Costa E Sergi
Alejandro B Kusko
Aika Y Sergi
Nicolas K Whobrey
Ricardo M Doe
IdCountryDate
1000Germany2026-06-10
1001United Kingdom2026-06-04
1002United Kingdom2026-06-19
1003Italy2026-05-30
1004Italy2026-06-21
1005Italy2026-06-16
1006Brazil2026-06-18
1007United Kingdom2026-06-22
1008Argentina2026-06-16
1009Russia2026-06-17
1010Canada2026-06-22
1011Spain2026-06-12
1012United Kingdom2026-05-26
1013Australia2026-06-22
1014Argentina2026-06-13
1015Germany2026-06-01
1016Italy2026-06-08
1017Argentina2026-06-20
1018Canada2026-06-03
1019France2026-05-27
1020Germany2026-06-17
1021Germany2026-06-01
1022India2026-06-16
1023Germany2026-06-06
1024Brazil2026-06-05
1025Germany2026-06-12
1026France2026-06-15
1027India2026-06-13
1028Italy2026-05-26
1029Japan2026-05-31
1030Brazil2026-06-02
1031France2026-06-10
1032Italy2026-06-21
1033Argentina2026-05-26
1034Japan2026-06-01
1035Italy2026-06-22
1036Spain2026-06-06
1037Argentina2026-06-02
1038Brazil2026-05-30
1039Argentina2026-06-21
1040Australia2026-06-05
1041Russia2026-06-06
1042Argentina2026-05-28
1043Spain2026-06-09
1044Japan2026-06-13
1045Germany2026-06-14
1046Canada2026-06-12
1047United Kingdom2026-06-16
1048Spain2026-06-03
1049Germany2026-06-24

On-Demand Data

NameIdCountryDate
Jefferson Q Rulapaugh1000India2026-06-17
Faith Y Paprocki1001United Kingdom2026-06-08
Claire Q Paprocki1002Japan2026-06-23
Munro D Rim1003Brazil2026-06-06
Johnson Q Chui1004India2026-06-06
Kadeem S Stenseth1005Argentina2026-06-05
Clifford O Figeroa1006Italy2026-06-23
Tony H Malet1007Australia2026-06-16
Stacey S Briddick1008Brazil2026-06-12
Stacey I Nicka1009Russia2026-05-27
Izzy H Kolmetz1010Japan2026-06-18
Morrow M Albares1011Germany2026-06-11
Jones D Bowley1012Canada2026-06-02
Ivar Z Garufi1013Australia2026-06-18
Leja D Perin1014Canada2026-06-05
Rodrigues C Ostrosky1015Japan2026-05-30
Rodrigues D Paprocki1016Australia2026-06-24
Antonio B Venere1017Brazil2026-06-20
Deepesh C Doe1018United Kingdom2026-06-22
Isabel C Schemmer1019Germany2026-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja W NestleItalyAsiya Javayant RENEWAL
Wickens R GarufiCanadaXuxue Feng QUALIFIED
Jeanfrancois P MarrierCanadaIoni Bowcher RENEWAL
Isabel H AmigonIndiaStephen Shaw RENEWAL
Leon V GlickFranceElwin Sharvill RENEWAL
Adams Y ShinkoJapanAmy Elsner NEGOTIATION
Stacey M PerinIndiaIoni Bowcher QUALIFIED
Ashley U PerinAustraliaAnna Fali PROPOSAL
Antonio E MacleadRussiaAsiya Javayant UNQUALIFIED
Aika I GillianCanadaIvan Magalhaes RENEWAL
Alejandro F SergiSpainElwin Sharvill QUALIFIED
Leja P DoeGermanyAsiya Javayant UNQUALIFIED
Ashley C RulapaughBrazilIvan Magalhaes UNQUALIFIED
Maria T BowleyUnited KingdomXuxue Feng UNQUALIFIED
Morrow G StockhamCanadaIoni Bowcher RENEWAL
Silvio M PaprockiArgentinaAnna Fali RENEWAL
Nicolas Y StensethSpainElwin Sharvill UNQUALIFIED
Jennifer M MarrierGermanyAnna Fali NEGOTIATION
Aditya G CaldareraSpainStephen Shaw PROPOSAL
Murillo Z KuskoBrazilXuxue Feng RENEWAL
Johnson I DoeFranceAsiya Javayant RENEWAL
Antonio V GarufiIndiaAmy Elsner QUALIFIED
Sinclair D VenereArgentinaAmy Elsner QUALIFIED
Jeanfrancois N NestleArgentinaAsiya Javayant RENEWAL
Murillo Q RulapaughSpainXuxue Feng UNQUALIFIED
Misaki G StockhamBrazilIvan Magalhaes PROPOSAL
Chavez D FlosiBrazilStephen Shaw NEGOTIATION
Emily X TollnerItalyBernardo Dominic UNQUALIFIED
Jefferson Q VenereAustraliaElwin Sharvill UNQUALIFIED
Izzy F VenereBrazilAnna Fali NEGOTIATION
James J BriddickAustraliaBernardo Dominic RENEWAL
Aika S KuskoSpainStephen Shaw QUALIFIED
Salvatore W ShinkoGermanyIoni Bowcher RENEWAL
Deepesh C PoquetteItalyStephen Shaw NEGOTIATION
Munro K IturbideSpainIoni Bowcher UNQUALIFIED
Antonio K StockhamFranceXuxue Feng RENEWAL
Izzy X WhobreyItalyAnna Fali QUALIFIED
Wickens F SaylorsBrazilIoni Bowcher UNQUALIFIED
Juan E MaletCanadaXuxue Feng QUALIFIED
Claire K NickaUnited KingdomStephen Shaw 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.