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
Cody H MorascaJapanXuxue Feng UNQUALIFIED
Arvin C AlbaresSpainAnna Fali NEGOTIATION
Leja P SergiAustraliaIoni Bowcher NEW
Ricardo U MacleadItalyIoni Bowcher PROPOSAL
Maisha R GarufiFranceElwin Sharvill UNQUALIFIED
Tony K NestleItalyOnyama Limba UNQUALIFIED
Jefferson T OldroydArgentinaXuxue Feng NEW
Rodrigues Z PoquetteRussiaAsiya Javayant NEW
Salvatore O ButtUnited KingdomIoni Bowcher NEGOTIATION
Kadeem P IturbideSpainXuxue Feng QUALIFIED
Aditya C GauchoIndiaAsiya Javayant NEGOTIATION
Darci V ButtUnited KingdomIvan Magalhaes UNQUALIFIED
David U WhobreyBrazilBernardo Dominic UNQUALIFIED
Juan O WhobreySpainIoni Bowcher NEGOTIATION
Antonio K BologniaBrazilIoni Bowcher QUALIFIED
Kaitlin V VenereArgentinaIvan Magalhaes NEW
Faith D DoeSpainAsiya Javayant PROPOSAL
Chavez E InouyeGermanyStephen Shaw PROPOSAL
Leon M WhobreyFranceIvan Magalhaes NEGOTIATION
David G DilliardAustraliaIvan Magalhaes QUALIFIED
Costa S IturbideItalyStephen Shaw RENEWAL
Johnson I OldroydFranceElwin Sharvill NEW
Smith P OstroskyIndiaIvan Magalhaes UNQUALIFIED
Deepesh D WieserSpainOnyama Limba UNQUALIFIED
Salvatore O StockhamCanadaAnna Fali NEGOTIATION
Octavia C MarrierCanadaOnyama Limba QUALIFIED
Silvio U MarrierCanadaIoni Bowcher RENEWAL
David T WhobreyFranceXuxue Feng NEGOTIATION
Wickens K CampainSpainAmy Elsner PROPOSAL
James Z OstroskySpainXuxue Feng NEW
Izzy Q VenereGermanyOnyama Limba QUALIFIED
Juan U BowleyArgentinaIvan Magalhaes RENEWAL
Chavez L StensethRussiaIvan Magalhaes NEW
Julie M GlickCanadaOnyama Limba RENEWAL
Kaitlin T MarrierAustraliaBernardo Dominic PROPOSAL
Faith S SchemmerFranceIoni Bowcher NEGOTIATION
Leja G ButtRussiaBernardo Dominic UNQUALIFIED
Morrow U OldroydUnited KingdomXuxue Feng PROPOSAL
Jeanfrancois J SchemmerFranceIvan Magalhaes RENEWAL
Aruna N GlickGermanyXuxue Feng UNQUALIFIED
Kaitlin H FollerIndiaOnyama Limba RENEWAL
Kadeem W MaletUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore G PerinSpainAmy Elsner UNQUALIFIED
Mujtaba M CampainFranceOnyama Limba UNQUALIFIED
Octavia R NestleSpainIvan Magalhaes PROPOSAL
Smith D PaprockiCanadaAsiya Javayant NEW
Murillo B KolmetzFranceStephen Shaw NEGOTIATION
Mayumi E TollnerBrazilStephen Shaw PROPOSAL
Sinclair X VocelkaJapanIoni Bowcher RENEWAL
Rodrigues R FigeroaFranceXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maria M StockhamSpainStephen Shaw UNQUALIFIED
Jefferson P MacleadRussiaAmy Elsner UNQUALIFIED
Murillo I SlusarskiAustraliaOnyama Limba RENEWAL
Silvio N StockhamAustraliaIvan Magalhaes NEW
Kaitlin R CaldareraRussiaXuxue Feng RENEWAL
Misaki Y GlickRussiaIoni Bowcher PROPOSAL
Ashley V CampainAustraliaAmy Elsner QUALIFIED
Maria X RulapaughArgentinaElwin Sharvill PROPOSAL
Smith Q FerenczJapanBernardo Dominic QUALIFIED
Octavia S BologniaGermanyIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford Z CaudyAustralia2026-01-26Printing Dimensions NEGOTIATION79Ioni Bowcher
1001Salvatore O OldroydUnited Kingdom2026-02-02Printing Dimensions UNQUALIFIED55Ivan Magalhaes
1002Mujtaba D NestleRussia2026-02-12Dorl, James J Esq NEW70Elwin Sharvill
1003Smith O RulapaughBrazil2026-02-11Truhlar And Truhlar Attys NEW26Ioni Bowcher
1004Jefferson X RutaFrance2026-02-11Buckley Miller Wright NEGOTIATION14Amy Elsner
1005Chavez U OldroydIndia2026-02-01Rousseaux, Michael Esq QUALIFIED63Amy Elsner
1006Octavia F AmigonSpain2026-02-08Chemel, James L Cpa UNQUALIFIED2Ioni Bowcher
1007Juan W BologniaAustralia2026-01-30Dorl, James J Esq QUALIFIED65Xuxue Feng
1008Silvio C WhobreyBrazil2026-02-21Rangoni Of Florence UNQUALIFIED56Stephen Shaw
1009Adams G FigeroaArgentina2026-02-06Chanay, Jeffrey A Esq NEGOTIATION83Xuxue Feng
1010James P VocelkaCanada2026-02-10Chapman, Ross E Esq RENEWAL86Ivan Magalhaes
1011Aika I SlusarskiArgentina2026-02-08Dorl, James J Esq UNQUALIFIED12Stephen Shaw
1012Silvio P RoysterAustralia2026-01-27Chanay, Jeffrey A Esq RENEWAL63Elwin Sharvill
1013Izzy P FerenczUnited Kingdom2026-01-26Dorl, James J Esq RENEWAL30Anna Fali
1014Sinclair O StensethUnited Kingdom2026-02-14Chapman, Ross E Esq RENEWAL4Ioni Bowcher
1015Juan M CampainJapan2026-02-01Benton, John B Jr RENEWAL2Elwin Sharvill
1016Claire E SaylorsJapan2026-02-10Printing Dimensions NEW10Bernardo Dominic
1017Cody A StockhamGermany2026-02-12Chemel, James L Cpa PROPOSAL54Ioni Bowcher
1018Mujtaba B RimUnited Kingdom2026-02-13Chapman, Ross E Esq QUALIFIED55Bernardo Dominic
1019Greenwood Y SergiRussia2026-02-04Chapman, Ross E Esq QUALIFIED37Onyama Limba
1020Francesco K MarrierUnited Kingdom2026-02-12Morlong Associates QUALIFIED97Bernardo Dominic
1021Jeanfrancois J MaletSpain2026-02-04Chemel, James L Cpa NEGOTIATION36Asiya Javayant
1022Wickens N InouyeBrazil2026-02-07Truhlar And Truhlar Attys NEGOTIATION2Elwin Sharvill
1023Misaki T AlbaresRussia2026-01-31Chanay, Jeffrey A Esq UNQUALIFIED63Asiya Javayant
1024Emily X DilliardSpain2026-02-16Chapman, Ross E Esq NEGOTIATION73Asiya Javayant
1025Leja V VenereCanada2026-02-05King, Christopher A Esq PROPOSAL27Stephen Shaw
1026Antonio L WieserJapan2026-01-26Rangoni Of Florence QUALIFIED85Amy Elsner
1027Juan I DoeItaly2026-02-02Buckley Miller Wright PROPOSAL43Elwin Sharvill
1028Cody J NickaIndia2026-02-13Dorl, James J Esq QUALIFIED92Asiya Javayant
1029Izzy Q VenereBrazil2026-02-17King, Christopher A Esq NEGOTIATION22Stephen Shaw
1030Chavez K OldroydItaly2026-01-25Rangoni Of Florence QUALIFIED8Ioni Bowcher
1031Nicolas N BriddickJapan2026-02-20Commercial Press NEW2Amy Elsner
1032Greenwood O GlickItaly2026-02-20Rangoni Of Florence NEW54Amy Elsner
1033Faith J BriddickGermany2026-02-09Truhlar And Truhlar Attys RENEWAL64Bernardo Dominic
1034Mujtaba F BologniaItaly2026-01-26King, Christopher A Esq NEW6Anna Fali
1035Alejandro K WaycottFrance2026-02-05Truhlar And Truhlar Attys NEGOTIATION73Anna Fali
1036Stacey W RutaFrance2026-02-17Feiner Bros QUALIFIED66Stephen Shaw
1037Emily R WhobreyFrance2026-02-08Dorl, James J Esq PROPOSAL59Xuxue Feng
1038Mujtaba P OstroskySpain2026-02-14King, Christopher A Esq PROPOSAL2Stephen Shaw
1039Darci J StensethUnited Kingdom2026-01-29Benton, John B Jr PROPOSAL93Xuxue Feng
1040Jennifer R WieserGermany2026-02-16Feiner Bros UNQUALIFIED8Anna Fali
1041Arvin C MorascaAustralia2026-02-18Chapman, Ross E Esq NEW86Onyama Limba
1042Nicolas Y MarrierJapan2026-02-18Dorl, James J Esq PROPOSAL97Onyama Limba
1043Francesco D GlickCanada2026-02-12Buckley Miller Wright QUALIFIED17Stephen Shaw
1044Nicolas A RimJapan2026-02-08Benton, John B Jr NEW53Bernardo Dominic
1045Mayumi J BowleyUnited Kingdom2026-01-24Morlong Associates QUALIFIED42Xuxue Feng
1046Wickens B TollnerArgentina2026-02-07Chemel, James L Cpa NEW52Stephen Shaw
1047Ashley A BowleyArgentina2026-02-20Rousseaux, Michael Esq PROPOSAL79Onyama Limba
1048Chavez I BriddickItaly2026-01-28Morlong Associates QUALIFIED53Amy Elsner
1049Jennifer D OldroydUnited Kingdom2026-02-07Truhlar And Truhlar Attys QUALIFIED60Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Silvio H BriddickFranceBernardo Dominic QUALIFIED
Jefferson T MaletCanadaAnna Fali UNQUALIFIED
Stacey Y ShinkoGermanyAsiya Javayant QUALIFIED
Stacey T DoeRussiaStephen Shaw PROPOSAL
Antonio L DoeCanadaXuxue Feng RENEWAL
Jennifer B NickaItalyStephen Shaw PROPOSAL
Munro X InouyeJapanIoni Bowcher QUALIFIED
Mayumi V CampainIndiaIvan Magalhaes NEW
Clifford B CaudySpainElwin Sharvill PROPOSAL
Ivar W SchemmerAustraliaAsiya Javayant RENEWAL
Jeanfrancois P FerenczArgentinaBernardo Dominic RENEWAL
Jeanfrancois V OldroydJapanAsiya Javayant QUALIFIED
Antonio X DoeJapanAmy Elsner NEGOTIATION
Darci F GauchoUnited KingdomElwin Sharvill NEW
Jeanfrancois S FlosiRussiaIvan Magalhaes NEW
Kaitlin T FollerFranceOnyama Limba UNQUALIFIED
Jefferson C NickaIndiaAmy Elsner UNQUALIFIED
Munro M BologniaIndiaElwin Sharvill NEW
Isabel Y TollnerCanadaAnna Fali UNQUALIFIED
Misaki J FerenczJapanIoni Bowcher PROPOSAL
Deepesh P CampainIndiaAnna Fali QUALIFIED
Alejandro P FerenczSpainElwin Sharvill PROPOSAL
Johnson B SaylorsSpainElwin Sharvill UNQUALIFIED
Chavez X GlickBrazilIvan Magalhaes NEGOTIATION
Julie Y FollerGermanyAsiya Javayant QUALIFIED
Stacey V IturbideArgentinaStephen Shaw QUALIFIED
Octavia V StockhamJapanElwin Sharvill NEGOTIATION
Chavez Q ButtGermanyIoni Bowcher NEGOTIATION
Ivar T BologniaFranceAmy Elsner QUALIFIED
Leon J StensethRussiaElwin Sharvill UNQUALIFIED
Johnson R WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Misaki U IturbideCanadaIoni Bowcher UNQUALIFIED
Juan I WieserCanadaOnyama Limba NEGOTIATION
Izzy I ChuiRussiaElwin Sharvill PROPOSAL
Octavia B NickaAustraliaIvan Magalhaes UNQUALIFIED
Smith Y MarrierAustraliaBernardo Dominic NEGOTIATION
Greenwood J FerenczFranceIoni Bowcher RENEWAL
Antonio Y WieserCanadaStephen Shaw RENEWAL
Chavez O RimIndiaAnna Fali QUALIFIED
Ricardo B KolmetzGermanyIoni Bowcher NEW
Mayumi R AmigonSpainOnyama Limba NEGOTIATION
Chavez X MaletRussiaXuxue Feng NEGOTIATION
Izzy K PerinSpainIvan Magalhaes PROPOSAL
Izzy S FlosiSpainAmy Elsner RENEWAL
David Z DarakjyAustraliaAnna Fali RENEWAL
Johnson N RutaUnited KingdomIvan Magalhaes QUALIFIED
David F KolmetzFranceStephen Shaw UNQUALIFIED
Claire K BologniaJapanIoni Bowcher PROPOSAL
Rodrigues K VocelkaRussiaAmy Elsner NEW
Wickens T MaletUnited KingdomOnyama Limba QUALIFIED
Frozen Columns
Name
Emily B Ruta
Wickens W Dilliard
Chavez I Malet
Kadeem P Wieser
Jennifer L Stockham
Ashley S Caudy
Deepesh H Doe
Wickens U Doe
Faith I Briddick
Rodrigues W Morasca
Ivar M Poquette
Rodrigues S Doe
Silvio R Foller
Rodrigues U Butt
Jefferson P Inouye
Chavez B Sergi
Julie R Perin
Maria T Foller
Leon L Slusarski
Tony Z Slusarski
Octavia N Poquette
Aruna T Oldroyd
Francesco E Iturbide
Alejandro Y Saylors
Aika G Oldroyd
Jeanfrancois X Darakjy
Greenwood V Whobrey
Silvio N Caldarera
Kaitlin I Venere
Sinclair X Nestle
Francesco N Vocelka
Jeanfrancois N Albares
Ivar M Ruta
David O Poquette
Ivar L Ruta
Costa V Ferencz
Deepesh K Albares
Octavia J Stenseth
Isabel J Sergi
Silvio S Maclead
Greenwood V Waycott
Emily K Waycott
Alejandro L Amigon
Leja H Iturbide
Murillo Z Butt
Jeanfrancois B Shinko
Cody O Ostrosky
Octavia U Foller
Alejandro R Tollner
Antonio L Iturbide
IdCountryDate
1000United Kingdom2026-01-30
1001Germany2026-02-20
1002Australia2026-02-10
1003India2026-01-25
1004Spain2026-01-31
1005Brazil2026-02-21
1006Spain2026-02-13
1007Canada2026-02-18
1008India2026-02-17
1009Russia2026-01-27
1010Australia2026-02-06
1011Canada2026-02-01
1012Argentina2026-02-06
1013Australia2026-02-19
1014Spain2026-02-03
1015Argentina2026-02-17
1016France2026-01-25
1017United Kingdom2026-02-01
1018Spain2026-01-28
1019Australia2026-02-02
1020Canada2026-01-24
1021Argentina2026-02-22
1022Canada2026-02-22
1023France2026-02-21
1024Brazil2026-01-24
1025Spain2026-01-24
1026Italy2026-02-18
1027Russia2026-02-06
1028Spain2026-02-09
1029Spain2026-02-01
1030Australia2026-02-20
1031France2026-01-30
1032Canada2026-01-27
1033Brazil2026-02-18
1034Japan2026-02-01
1035Argentina2026-02-12
1036Canada2026-02-10
1037Canada2026-02-11
1038Australia2026-02-17
1039Brazil2026-01-29
1040Spain2026-01-29
1041India2026-02-08
1042Spain2026-02-02
1043Argentina2026-02-21
1044France2026-02-10
1045Italy2026-02-04
1046Germany2026-01-25
1047India2026-02-11
1048France2026-01-24
1049Canada2026-02-11

On-Demand Data

NameIdCountryDate
Antonio B Kusko1000Canada2026-02-21
Emily E Shinko1001Brazil2026-02-12
Misaki P Paprocki1002Australia2026-01-25
Wickens V Bowley1003Germany2026-02-04
Arvin S Paprocki1004Brazil2026-02-16
Morrow Z Marrier1005Japan2026-02-07
Julie M Slusarski1006Italy2026-02-13
Salvatore I Iturbide1007Brazil2026-02-14
Kaitlin P Perin1008Russia2026-01-28
Isabel X Caudy1009Canada2026-02-05
Johnson T Iturbide1010Canada2026-02-04
Ashley Z Slusarski1011Canada2026-02-01
Rodrigues U Iturbide1012India2026-01-28
Tony P Rulapaugh1013Argentina2026-02-22
Emily S Doe1014United Kingdom2026-02-19
Aruna C Whobrey1015India2026-02-21
Wickens T Tollner1016Canada2026-02-06
Octavia P Maclead1017Brazil2026-01-27
Alejandro D Malet1018Russia2026-02-11
Adams Y Amigon1019Brazil2026-02-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James B DilliardAustraliaIoni Bowcher PROPOSAL
Ashley F StockhamArgentinaIoni Bowcher NEGOTIATION
Adams C OstroskyGermanyAsiya Javayant RENEWAL
Morrow D SergiBrazilIoni Bowcher NEGOTIATION
Jones I PaprockiFranceXuxue Feng NEW
Wickens G GlickAustraliaXuxue Feng QUALIFIED
Costa Q GlickArgentinaIoni Bowcher QUALIFIED
Arvin I CaldareraAustraliaIoni Bowcher RENEWAL
Morrow S StensethArgentinaOnyama Limba NEGOTIATION
Ivar D WhobreyCanadaAsiya Javayant RENEWAL
Mujtaba D IturbideRussiaElwin Sharvill NEGOTIATION
Kaitlin T ButtBrazilOnyama Limba NEW
Darci Z ShinkoBrazilElwin Sharvill PROPOSAL
Cody Q WieserBrazilAsiya Javayant PROPOSAL
Francesco C MaletBrazilOnyama Limba PROPOSAL
Stacey O FerenczArgentinaIvan Magalhaes NEGOTIATION
Aruna M StensethArgentinaElwin Sharvill QUALIFIED
Adams V SergiRussiaIvan Magalhaes RENEWAL
Jennifer T SergiArgentinaOnyama Limba UNQUALIFIED
Sinclair W FollerFranceAmy Elsner QUALIFIED
Darci C MorascaUnited KingdomXuxue Feng RENEWAL
Johnson D GarufiAustraliaElwin Sharvill NEGOTIATION
David J GlickRussiaAnna Fali PROPOSAL
Deepesh E CaudyFranceIvan Magalhaes NEGOTIATION
Darci K DarakjyIndiaAnna Fali UNQUALIFIED
Tony E StensethRussiaIvan Magalhaes NEW
Aruna F DilliardUnited KingdomStephen Shaw RENEWAL
Chavez M GarufiAustraliaStephen Shaw QUALIFIED
Alejandro D StensethUnited KingdomAsiya Javayant QUALIFIED
Julie P SlusarskiUnited KingdomBernardo Dominic RENEWAL
Mayumi S FigeroaRussiaXuxue Feng NEGOTIATION
Jefferson Z StockhamArgentinaOnyama Limba NEW
Nicolas W RoysterArgentinaAmy Elsner NEGOTIATION
Jefferson G StensethAustraliaAnna Fali UNQUALIFIED
Johnson J SlusarskiFranceAsiya Javayant NEW
Nicolas E BologniaRussiaIoni Bowcher NEGOTIATION
Emily S ChuiFranceStephen Shaw RENEWAL
Leja G RutaRussiaOnyama Limba QUALIFIED
Nicolas Y BowleyFranceAmy Elsner NEW
Aditya H RoysterBrazilIvan Magalhaes 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.