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
Stacey U WhobreyBrazilAsiya Javayant NEW
Izzy H FlosiIndiaAsiya Javayant PROPOSAL
Deepesh S StockhamGermanyAsiya Javayant RENEWAL
Smith H OstroskyCanadaAnna Fali NEW
Costa S MorascaBrazilXuxue Feng UNQUALIFIED
Kaitlin G NickaSpainIoni Bowcher UNQUALIFIED
Maisha J WaycottAustraliaBernardo Dominic NEW
Mujtaba P CaudyAustraliaAsiya Javayant QUALIFIED
Jones O TollnerSpainXuxue Feng RENEWAL
Sinclair T BriddickGermanyElwin Sharvill PROPOSAL
Arvin H FollerItalyIoni Bowcher NEGOTIATION
David I DarakjyCanadaIoni Bowcher RENEWAL
Sinclair X AlbaresGermanyElwin Sharvill NEGOTIATION
Maria H GlickGermanyBernardo Dominic RENEWAL
Julie N RutaUnited KingdomXuxue Feng UNQUALIFIED
Wickens U BowleyBrazilAsiya Javayant PROPOSAL
Francesco X BriddickFranceAsiya Javayant PROPOSAL
Rodrigues S WhobreyIndiaAsiya Javayant QUALIFIED
Cody P NickaFranceIoni Bowcher UNQUALIFIED
Jeanfrancois F RulapaughRussiaAnna Fali NEGOTIATION
Ivar P GillianAustraliaAmy Elsner NEW
Clifford I GlickFranceOnyama Limba UNQUALIFIED
Juan C MarrierItalyOnyama Limba UNQUALIFIED
Salvatore C SergiAustraliaOnyama Limba UNQUALIFIED
Octavia T RoysterIndiaBernardo Dominic QUALIFIED
Kadeem Z SchemmerArgentinaStephen Shaw PROPOSAL
Nicolas G ShinkoItalyIvan Magalhaes NEGOTIATION
Isabel A KuskoIndiaIoni Bowcher NEW
Leon P StockhamJapanAmy Elsner UNQUALIFIED
Juan G GauchoCanadaOnyama Limba RENEWAL
Izzy U IturbideArgentinaIoni Bowcher NEGOTIATION
Rodrigues W NestleUnited KingdomOnyama Limba NEGOTIATION
Francesco J SchemmerRussiaXuxue Feng UNQUALIFIED
Maria U FerenczFranceAsiya Javayant PROPOSAL
Claire V FollerUnited KingdomAmy Elsner PROPOSAL
Rodrigues S OstroskyArgentinaAmy Elsner PROPOSAL
Ashley H DarakjyCanadaAmy Elsner UNQUALIFIED
Ashley N RutaBrazilAsiya Javayant NEW
Murillo N MaletAustraliaIoni Bowcher UNQUALIFIED
Ricardo W CampainUnited KingdomXuxue Feng NEW
Claire U CaldareraGermanyAnna Fali NEGOTIATION
Rodrigues N CaldareraCanadaXuxue Feng PROPOSAL
Ivar R SlusarskiGermanyXuxue Feng NEW
Ashley U OldroydIndiaAsiya Javayant QUALIFIED
Mujtaba R CampainUnited KingdomAsiya Javayant NEW
Darci Z NestleJapanAsiya Javayant NEGOTIATION
Jeanfrancois O IturbideAustraliaElwin Sharvill NEGOTIATION
Morrow K OldroydFranceIvan Magalhaes RENEWAL
Arvin X RimRussiaXuxue Feng PROPOSAL
Ricardo S SlusarskiRussiaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya C ButtCanadaElwin Sharvill UNQUALIFIED
Octavia L CaudyItalyIoni Bowcher PROPOSAL
Costa C KuskoItalyIoni Bowcher NEGOTIATION
Johnson N VenereArgentinaIoni Bowcher UNQUALIFIED
Rodrigues T WaycottAustraliaBernardo Dominic RENEWAL
Chavez X GlickSpainIoni Bowcher NEW
Juan K RimArgentinaBernardo Dominic RENEWAL
Alejandro E WieserIndiaStephen Shaw QUALIFIED
Francesco H ButtAustraliaOnyama Limba NEW
Wickens N OldroydGermanyBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez O PerinUnited Kingdom2026-04-28Commercial Press NEGOTIATION25Onyama Limba
1001Cody X AmigonGermany2026-04-07Printing Dimensions QUALIFIED69Ioni Bowcher
1002Juan Q CaldareraGermany2026-04-12King, Christopher A Esq RENEWAL23Onyama Limba
1003Munro X NickaFrance2026-04-15Dorl, James J Esq QUALIFIED44Xuxue Feng
1004Darci X MarrierArgentina2026-05-01Chapman, Ross E Esq NEGOTIATION11Ivan Magalhaes
1005Francesco D WhobreyAustralia2026-04-24Commercial Press NEGOTIATION30Xuxue Feng
1006Johnson J RimJapan2026-05-01Morlong Associates QUALIFIED17Asiya Javayant
1007Silvio W WaycottRussia2026-04-08King, Christopher A Esq PROPOSAL98Xuxue Feng
1008Julie T MarrierSpain2026-04-29Feltz Printing Service QUALIFIED81Elwin Sharvill
1009Antonio L DarakjyItaly2026-04-08Feltz Printing Service RENEWAL25Bernardo Dominic
1010Kaitlin Y GauchoCanada2026-04-24Truhlar And Truhlar Attys RENEWAL13Onyama Limba
1011Deepesh V MacleadArgentina2026-04-11King, Christopher A Esq UNQUALIFIED18Onyama Limba
1012Mujtaba L MorascaAustralia2026-04-14Benton, John B Jr PROPOSAL2Stephen Shaw
1013Silvio O NickaArgentina2026-04-25Chemel, James L Cpa NEW28Anna Fali
1014Leja B IturbideGermany2026-04-26Rousseaux, Michael Esq NEW67Xuxue Feng
1015Adams E MaletUnited Kingdom2026-04-08Chemel, James L Cpa NEW43Anna Fali
1016Ashley N ButtCanada2026-04-18Rousseaux, Michael Esq UNQUALIFIED35Ivan Magalhaes
1017James A BowleyArgentina2026-05-04Rousseaux, Michael Esq NEGOTIATION5Bernardo Dominic
1018Tony O SchemmerCanada2026-04-14Morlong Associates UNQUALIFIED20Elwin Sharvill
1019Ivar C KuskoArgentina2026-04-18Buckley Miller Wright UNQUALIFIED80Ivan Magalhaes
1020Clifford I RutaItaly2026-04-30Truhlar And Truhlar Attys NEW59Bernardo Dominic
1021Leon C SergiItaly2026-04-16Chapman, Ross E Esq QUALIFIED95Ivan Magalhaes
1022Julie D AlbaresItaly2026-04-25Rangoni Of Florence NEW14Anna Fali
1023James O RimItaly2026-04-16Chemel, James L Cpa QUALIFIED63Anna Fali
1024Jeanfrancois Q RutaFrance2026-04-28Chanay, Jeffrey A Esq RENEWAL97Elwin Sharvill
1025Aditya S MacleadBrazil2026-04-17Benton, John B Jr NEGOTIATION24Stephen Shaw
1026Jefferson M CaldareraItaly2026-04-05Rousseaux, Michael Esq NEGOTIATION94Bernardo Dominic
1027Isabel P GlickCanada2026-04-10Morlong Associates QUALIFIED56Amy Elsner
1028Greenwood X GillianSpain2026-05-02Chapman, Ross E Esq PROPOSAL45Anna Fali
1029Stacey M StockhamGermany2026-04-27Chapman, Ross E Esq RENEWAL72Ivan Magalhaes
1030Jeanfrancois Q ChuiItaly2026-04-05Feltz Printing Service QUALIFIED65Onyama Limba
1031Claire Z StensethArgentina2026-04-16Benton, John B Jr UNQUALIFIED75Stephen Shaw
1032Ashley W CaldareraAustralia2026-04-22Feltz Printing Service QUALIFIED60Onyama Limba
1033Adams S ButtGermany2026-04-27Chapman, Ross E Esq UNQUALIFIED1Elwin Sharvill
1034David R CampainGermany2026-04-29Commercial Press UNQUALIFIED5Ioni Bowcher
1035Jennifer K KolmetzGermany2026-04-24Buckley Miller Wright PROPOSAL47Asiya Javayant
1036Izzy A PoquetteBrazil2026-04-28Chanay, Jeffrey A Esq RENEWAL70Stephen Shaw
1037Julie K OldroydUnited Kingdom2026-04-17Chapman, Ross E Esq PROPOSAL62Ivan Magalhaes
1038Adams J OldroydCanada2026-05-02Feiner Bros RENEWAL26Elwin Sharvill
1039Silvio I GauchoArgentina2026-04-12Chemel, James L Cpa RENEWAL74Asiya Javayant
1040Clifford W RimRussia2026-04-08Commercial Press NEGOTIATION29Asiya Javayant
1041Francesco U GillianArgentina2026-04-18Chapman, Ross E Esq PROPOSAL63Asiya Javayant
1042Jennifer K FollerBrazil2026-04-27Dorl, James J Esq QUALIFIED79Bernardo Dominic
1043Alejandro T OstroskyRussia2026-04-25Chapman, Ross E Esq NEW22Anna Fali
1044Alejandro W MaletJapan2026-04-12Rousseaux, Michael Esq RENEWAL26Ioni Bowcher
1045Stacey V WhobreySpain2026-04-30Commercial Press UNQUALIFIED21Amy Elsner
1046Juan K NickaFrance2026-05-03Feltz Printing Service QUALIFIED35Ivan Magalhaes
1047Stacey B OldroydCanada2026-04-05Dorl, James J Esq PROPOSAL15Elwin Sharvill
1048Juan P CampainUnited Kingdom2026-04-23Commercial Press UNQUALIFIED83Onyama Limba
1049Kaitlin O MorascaItaly2026-05-02Morlong Associates NEGOTIATION92Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Juan N DarakjyArgentinaAsiya Javayant NEGOTIATION
Johnson Y BowleyCanadaIvan Magalhaes RENEWAL
Claire H OldroydFranceAmy Elsner UNQUALIFIED
Faith O BowleyAustraliaIoni Bowcher NEGOTIATION
Francesco I SchemmerAustraliaAsiya Javayant RENEWAL
Clifford X MarrierAustraliaXuxue Feng QUALIFIED
Antonio P SlusarskiBrazilElwin Sharvill UNQUALIFIED
Izzy O DilliardIndiaIoni Bowcher PROPOSAL
Cody M DilliardGermanyAmy Elsner RENEWAL
Aditya E MorascaJapanIvan Magalhaes NEGOTIATION
Smith V BologniaCanadaAnna Fali NEGOTIATION
Mayumi O DarakjyGermanyBernardo Dominic QUALIFIED
Rodrigues V DilliardJapanIoni Bowcher PROPOSAL
Ivar I MorascaUnited KingdomAsiya Javayant PROPOSAL
Greenwood Q CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Morrow E SaylorsCanadaBernardo Dominic UNQUALIFIED
Murillo U FerenczCanadaElwin Sharvill PROPOSAL
Mayumi X GauchoBrazilIoni Bowcher NEGOTIATION
Kadeem G InouyeArgentinaAmy Elsner QUALIFIED
Tony D FerenczUnited KingdomAnna Fali NEGOTIATION
Leon L RutaUnited KingdomAmy Elsner NEW
Antonio P BowleyAustraliaIoni Bowcher PROPOSAL
Stacey X NickaUnited KingdomIoni Bowcher RENEWAL
Jeanfrancois U SlusarskiFranceBernardo Dominic QUALIFIED
Mujtaba M StensethIndiaOnyama Limba PROPOSAL
Sinclair T WaycottIndiaAmy Elsner RENEWAL
Chavez E WhobreySpainBernardo Dominic NEW
Tony Q FigeroaCanadaOnyama Limba RENEWAL
Aruna I DarakjyItalyAnna Fali PROPOSAL
Johnson K StockhamJapanXuxue Feng UNQUALIFIED
Ashley U CaldareraUnited KingdomIvan Magalhaes NEW
Arvin R ButtBrazilAnna Fali QUALIFIED
Murillo J FlosiRussiaOnyama Limba UNQUALIFIED
Wickens G FollerAustraliaAnna Fali NEGOTIATION
Murillo D KolmetzCanadaAmy Elsner NEW
Jennifer R CampainRussiaStephen Shaw UNQUALIFIED
James J RutaSpainAnna Fali UNQUALIFIED
Kadeem K CaudyArgentinaOnyama Limba NEGOTIATION
Sinclair L OldroydGermanyIvan Magalhaes UNQUALIFIED
Ashley Q CaldareraSpainOnyama Limba RENEWAL
Stacey X MaletSpainAsiya Javayant NEGOTIATION
Faith W StockhamSpainAmy Elsner PROPOSAL
Kadeem L DilliardFranceOnyama Limba UNQUALIFIED
Jeanfrancois L SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Arvin D AmigonGermanyIvan Magalhaes RENEWAL
Alejandro V DarakjyArgentinaAmy Elsner NEGOTIATION
Emily K CaldareraSpainAsiya Javayant QUALIFIED
Misaki M RimCanadaAnna Fali UNQUALIFIED
Jennifer Y CaudyAustraliaElwin Sharvill RENEWAL
Alejandro R DarakjyFranceIoni Bowcher RENEWAL
Frozen Columns
Name
Smith P Ferencz
Aruna S Slusarski
Leon L Maclead
Maisha Q Ruta
Emily O Foller
Silvio J Caldarera
Adams E Kusko
Rodrigues Z Bolognia
Isabel X Bolognia
Deepesh G Venere
Adams C Perin
Maria P Caldarera
Darci I Rim
Maisha A Doe
Alejandro K Royster
Ivar H Nestle
Faith R Campain
Kadeem Z Venere
Maisha W Kolmetz
David I Doe
Jefferson L Chui
Ricardo N Flosi
Julie Y Nestle
Tony D Glick
Aditya V Gillian
Jefferson X Stockham
Faith F Briddick
Isabel K Venere
Maisha T Rim
Darci J Darakjy
Costa N Darakjy
Izzy Y Briddick
Antonio U Kolmetz
Octavia V Marrier
Jeanfrancois O Sergi
Misaki T Caudy
Cody H Caudy
Salvatore J Chui
Ashley K Wieser
Jefferson I Malet
Aika Q Albares
Cody S Glick
Costa L Rim
Jeanfrancois H Vocelka
Arvin K Sergi
Jefferson Q Morasca
Cody Q Oldroyd
Deepesh W Poquette
Greenwood U Caudy
Clifford X Rulapaugh
IdCountryDate
1000Russia2026-04-21
1001Argentina2026-04-06
1002Argentina2026-04-05
1003Germany2026-05-01
1004Japan2026-04-18
1005Canada2026-04-21
1006Australia2026-04-29
1007India2026-05-04
1008Spain2026-04-17
1009Brazil2026-04-13
1010Australia2026-04-25
1011Spain2026-04-22
1012Germany2026-04-09
1013Russia2026-05-02
1014Russia2026-04-08
1015Canada2026-04-07
1016Japan2026-05-04
1017United Kingdom2026-05-03
1018Spain2026-04-16
1019India2026-04-23
1020India2026-04-18
1021Australia2026-04-21
1022Australia2026-04-25
1023Italy2026-05-03
1024Germany2026-05-01
1025Canada2026-04-12
1026United Kingdom2026-04-21
1027Germany2026-04-24
1028United Kingdom2026-04-19
1029United Kingdom2026-04-19
1030Germany2026-04-21
1031Argentina2026-04-15
1032Germany2026-04-27
1033Japan2026-04-13
1034Canada2026-04-25
1035Australia2026-04-26
1036Australia2026-04-27
1037Canada2026-04-17
1038Japan2026-04-14
1039Australia2026-04-29
1040Canada2026-04-18
1041Japan2026-04-23
1042Russia2026-04-25
1043Germany2026-04-22
1044India2026-05-01
1045United Kingdom2026-04-07
1046Argentina2026-04-24
1047United Kingdom2026-04-22
1048Brazil2026-04-20
1049Spain2026-04-27

On-Demand Data

NameIdCountryDate
Claire J Doe1000India2026-04-20
David H Royster1001Canada2026-04-18
Mujtaba Y Flosi1002Canada2026-04-27
Munro W Perin1003Argentina2026-04-27
Munro J Dilliard1004Italy2026-04-10
Mayumi H Wieser1005Italy2026-05-02
Stacey K Shinko1006Argentina2026-04-08
Chavez J Campain1007United Kingdom2026-04-06
Ashley Y Schemmer1008Germany2026-04-26
Ashley T Caudy1009India2026-04-22
Jefferson D Inouye1010Germany2026-04-29
Kadeem O Doe1011Italy2026-04-30
Salvatore K Venere1012Canada2026-04-28
Ivar X Garufi1013India2026-04-28
Deepesh K Gillian1014Spain2026-04-18
Nicolas W Campain1015Italy2026-04-29
James Y Caudy1016United Kingdom2026-04-14
Emily V Bowley1017Spain2026-04-07
Adams I Ruta1018Spain2026-04-22
Jefferson L Amigon1019India2026-04-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith H ShinkoIndiaIvan Magalhaes RENEWAL
Aruna G KuskoArgentinaBernardo Dominic NEGOTIATION
Munro J GarufiFranceAnna Fali RENEWAL
Morrow O GauchoArgentinaOnyama Limba QUALIFIED
Tony S MaletUnited KingdomBernardo Dominic NEW
Mujtaba P BowleyArgentinaAnna Fali PROPOSAL
Jones U FerenczUnited KingdomBernardo Dominic PROPOSAL
Nicolas H OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Sinclair K MorascaCanadaStephen Shaw QUALIFIED
Chavez F CaudySpainIoni Bowcher RENEWAL
Faith Y ShinkoFranceAnna Fali PROPOSAL
Mujtaba T BologniaItalyIoni Bowcher NEGOTIATION
Aika H DoeAustraliaIvan Magalhaes NEGOTIATION
Murillo E FollerBrazilIoni Bowcher PROPOSAL
Mujtaba K TollnerItalyStephen Shaw QUALIFIED
David N SaylorsGermanyAmy Elsner UNQUALIFIED
Costa I SchemmerFranceIvan Magalhaes UNQUALIFIED
Jefferson R InouyeIndiaIvan Magalhaes PROPOSAL
Izzy C GillianAustraliaStephen Shaw QUALIFIED
Morrow F KuskoSpainXuxue Feng PROPOSAL
Johnson J GarufiSpainBernardo Dominic QUALIFIED
Ivar O GauchoSpainElwin Sharvill RENEWAL
Isabel R FigeroaRussiaAnna Fali NEW
Juan O RutaRussiaIvan Magalhaes NEGOTIATION
Nicolas R VocelkaAustraliaIvan Magalhaes QUALIFIED
Leja R SaylorsSpainAsiya Javayant UNQUALIFIED
Rodrigues B AlbaresAustraliaOnyama Limba RENEWAL
Johnson H FerenczCanadaXuxue Feng PROPOSAL
Clifford S GarufiIndiaXuxue Feng UNQUALIFIED
Maria C FlosiRussiaStephen Shaw QUALIFIED
Munro M BowleyGermanyAmy Elsner RENEWAL
Kaitlin W WhobreyCanadaAnna Fali NEGOTIATION
Aika O GauchoUnited KingdomOnyama Limba QUALIFIED
Claire C FigeroaCanadaXuxue Feng NEGOTIATION
Francesco R TollnerBrazilAmy Elsner QUALIFIED
Faith B MorascaBrazilOnyama Limba NEGOTIATION
Alejandro U StensethCanadaAnna Fali QUALIFIED
Francesco R NestleBrazilIoni Bowcher PROPOSAL
Cody X SaylorsAustraliaAmy Elsner NEW
Isabel T AmigonGermanyXuxue Feng 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.