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
Juan Y PaprockiArgentinaOnyama Limba PROPOSAL
Leja T MaletSpainXuxue Feng NEW
Salvatore G NickaAustraliaAsiya Javayant UNQUALIFIED
Jefferson A BriddickItalyAsiya Javayant UNQUALIFIED
Murillo X FerenczAustraliaOnyama Limba PROPOSAL
Leja J AlbaresIndiaElwin Sharvill UNQUALIFIED
Alejandro X OstroskyJapanElwin Sharvill UNQUALIFIED
Darci V SlusarskiArgentinaIvan Magalhaes PROPOSAL
Ashley Z DilliardSpainBernardo Dominic PROPOSAL
Munro F GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Johnson G BologniaIndiaIvan Magalhaes RENEWAL
Mayumi C SlusarskiAustraliaStephen Shaw RENEWAL
Aditya P TollnerItalyAsiya Javayant QUALIFIED
Octavia W BologniaFranceAnna Fali NEW
Izzy S MorascaAustraliaIvan Magalhaes QUALIFIED
Stacey V SergiFranceAnna Fali NEGOTIATION
Darci A StensethJapanStephen Shaw NEGOTIATION
Johnson O VocelkaItalyElwin Sharvill PROPOSAL
Costa I FigeroaUnited KingdomElwin Sharvill NEW
Murillo T MarrierFranceIvan Magalhaes NEW
Julie Y BriddickBrazilAmy Elsner UNQUALIFIED
Costa T MaletIndiaIvan Magalhaes UNQUALIFIED
Ricardo T FollerFranceAsiya Javayant UNQUALIFIED
Murillo Q BologniaRussiaOnyama Limba NEGOTIATION
Deepesh Z SaylorsJapanOnyama Limba UNQUALIFIED
Morrow V RulapaughJapanXuxue Feng PROPOSAL
James P DoeGermanyAsiya Javayant UNQUALIFIED
Chavez T DilliardJapanBernardo Dominic UNQUALIFIED
Ivar B PerinAustraliaBernardo Dominic RENEWAL
Adams A OstroskySpainAnna Fali NEGOTIATION
Jefferson A SaylorsSpainIoni Bowcher NEW
Arvin V DarakjyArgentinaOnyama Limba NEGOTIATION
Tony P AlbaresRussiaIoni Bowcher NEGOTIATION
Claire Y CaudyIndiaElwin Sharvill NEGOTIATION
Darci Y GillianRussiaStephen Shaw UNQUALIFIED
Jefferson Z FollerCanadaXuxue Feng NEW
Maisha H StensethUnited KingdomElwin Sharvill PROPOSAL
Aika E GarufiFranceElwin Sharvill QUALIFIED
Costa X FerenczAustraliaIoni Bowcher NEGOTIATION
Julie Z VenereAustraliaAsiya Javayant NEGOTIATION
Ricardo T ChuiBrazilXuxue Feng RENEWAL
Deepesh R PaprockiFranceOnyama Limba NEW
Costa Z MarrierArgentinaXuxue Feng UNQUALIFIED
Misaki H GarufiGermanyAnna Fali UNQUALIFIED
Kaitlin U SlusarskiBrazilIoni Bowcher RENEWAL
Chavez S RoysterUnited KingdomElwin Sharvill QUALIFIED
Ashley J DoeJapanElwin Sharvill RENEWAL
David L RulapaughSpainAmy Elsner NEGOTIATION
Maisha A TollnerIndiaAmy Elsner NEW
Greenwood D KuskoUnited KingdomOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba X VenereJapanXuxue Feng PROPOSAL
Nicolas G GillianItalyBernardo Dominic QUALIFIED
Jones P BriddickSpainIvan Magalhaes UNQUALIFIED
Misaki U StensethJapanIvan Magalhaes PROPOSAL
Smith V PaprockiGermanyBernardo Dominic PROPOSAL
Jones A ButtCanadaIvan Magalhaes RENEWAL
Greenwood Q WieserJapanIoni Bowcher NEW
Nicolas F KuskoAustraliaIoni Bowcher NEGOTIATION
Claire R BologniaBrazilBernardo Dominic NEGOTIATION
Jones D PerinSpainXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja C RutaCanada2026-04-21Feiner Bros QUALIFIED88Bernardo Dominic
1001Mujtaba V BriddickJapan2026-04-26Rousseaux, Michael Esq NEGOTIATION74Xuxue Feng
1002Faith F WieserAustralia2026-04-18Morlong Associates RENEWAL23Xuxue Feng
1003Costa O GlickGermany2026-04-06Morlong Associates RENEWAL0Amy Elsner
1004Cody X NestleGermany2026-04-04Chemel, James L Cpa UNQUALIFIED61Ioni Bowcher
1005Johnson Y GlickUnited Kingdom2026-04-14Buckley Miller Wright PROPOSAL84Ivan Magalhaes
1006Chavez D OldroydFrance2026-04-05Printing Dimensions UNQUALIFIED10Anna Fali
1007Sinclair T IturbideIndia2026-05-01Chemel, James L Cpa NEW10Xuxue Feng
1008Deepesh U RulapaughIndia2026-04-15Feiner Bros UNQUALIFIED51Amy Elsner
1009Aditya T MarrierBrazil2026-04-27Feltz Printing Service NEW36Elwin Sharvill
1010Arvin V ButtIndia2026-05-01Morlong Associates NEW55Ioni Bowcher
1011Rodrigues W InouyeGermany2026-04-08Chapman, Ross E Esq UNQUALIFIED92Asiya Javayant
1012Mayumi C ChuiFrance2026-04-24Truhlar And Truhlar Attys NEGOTIATION95Ivan Magalhaes
1013Sinclair V AlbaresAustralia2026-04-21King, Christopher A Esq NEW20Anna Fali
1014Stacey W RutaCanada2026-04-28Commercial Press QUALIFIED1Onyama Limba
1015Arvin U GauchoJapan2026-04-27Feiner Bros RENEWAL92Ivan Magalhaes
1016Aika O StockhamBrazil2026-04-17Morlong Associates UNQUALIFIED70Stephen Shaw
1017Mujtaba S CaldareraUnited Kingdom2026-04-26Truhlar And Truhlar Attys NEGOTIATION70Bernardo Dominic
1018Izzy R SlusarskiFrance2026-04-29Chanay, Jeffrey A Esq QUALIFIED20Onyama Limba
1019Alejandro Y VenereAustralia2026-04-25King, Christopher A Esq RENEWAL27Bernardo Dominic
1020Aika Y InouyeUnited Kingdom2026-05-02Truhlar And Truhlar Attys NEGOTIATION91Stephen Shaw
1021Alejandro Q GillianRussia2026-04-17Rousseaux, Michael Esq QUALIFIED83Anna Fali
1022Salvatore J CaudyGermany2026-04-20Benton, John B Jr UNQUALIFIED62Onyama Limba
1023Emily I GillianJapan2026-04-13Commercial Press QUALIFIED26Anna Fali
1024Kadeem V PerinUnited Kingdom2026-04-12Buckley Miller Wright PROPOSAL64Bernardo Dominic
1025Murillo T GarufiUnited Kingdom2026-04-04Rangoni Of Florence NEGOTIATION72Asiya Javayant
1026Juan V FigeroaFrance2026-04-09Rousseaux, Michael Esq RENEWAL36Xuxue Feng
1027Smith N RutaArgentina2026-04-28Feltz Printing Service RENEWAL94Onyama Limba
1028Maria J VocelkaSpain2026-04-29Chanay, Jeffrey A Esq NEW90Elwin Sharvill
1029Smith X NestleCanada2026-04-24Rousseaux, Michael Esq NEGOTIATION50Asiya Javayant
1030James M PoquetteRussia2026-04-26Commercial Press NEGOTIATION43Xuxue Feng
1031Jennifer I SaylorsFrance2026-04-15Printing Dimensions RENEWAL68Stephen Shaw
1032Chavez P DilliardFrance2026-04-04Commercial Press QUALIFIED17Stephen Shaw
1033Julie C IturbideJapan2026-04-29Truhlar And Truhlar Attys PROPOSAL81Anna Fali
1034Julie Q CaldareraJapan2026-04-23Dorl, James J Esq QUALIFIED24Anna Fali
1035Alejandro W MarrierSpain2026-04-15Morlong Associates PROPOSAL23Ivan Magalhaes
1036Octavia I WhobreyFrance2026-04-06Printing Dimensions PROPOSAL79Elwin Sharvill
1037Jennifer Y AmigonBrazil2026-04-12King, Christopher A Esq PROPOSAL66Elwin Sharvill
1038Aruna J GauchoRussia2026-04-23Rangoni Of Florence PROPOSAL69Ioni Bowcher
1039Cody Z MaletAustralia2026-04-09Buckley Miller Wright PROPOSAL76Xuxue Feng
1040James Y GlickRussia2026-04-28Feltz Printing Service QUALIFIED75Elwin Sharvill
1041Adams N PerinAustralia2026-04-16Rangoni Of Florence QUALIFIED57Xuxue Feng
1042Chavez O WieserIndia2026-04-14Rangoni Of Florence NEW96Ivan Magalhaes
1043Izzy P RoysterFrance2026-04-19Chemel, James L Cpa PROPOSAL94Ioni Bowcher
1044Octavia A BowleyArgentina2026-04-16Dorl, James J Esq QUALIFIED34Ivan Magalhaes
1045Rodrigues M RimFrance2026-04-17Feiner Bros UNQUALIFIED60Ioni Bowcher
1046Clifford E SchemmerGermany2026-04-12Chapman, Ross E Esq QUALIFIED61Anna Fali
1047Izzy J InouyeArgentina2026-04-11Rangoni Of Florence QUALIFIED17Stephen Shaw
1048Tony P ShinkoAustralia2026-04-28Commercial Press NEGOTIATION47Xuxue Feng
1049Darci G RulapaughAustralia2026-04-26Rousseaux, Michael Esq RENEWAL91Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aditya I StensethUnited KingdomStephen Shaw NEGOTIATION
Emily N RoysterJapanAmy Elsner UNQUALIFIED
Costa V NickaGermanyOnyama Limba RENEWAL
Izzy M RimCanadaOnyama Limba RENEWAL
Leja A CampainIndiaIvan Magalhaes NEW
Maria L AmigonCanadaBernardo Dominic RENEWAL
Maria Y SergiGermanyAnna Fali QUALIFIED
Tony P OldroydFranceOnyama Limba PROPOSAL
Darci K WhobreyArgentinaElwin Sharvill NEW
Maisha P OldroydBrazilAmy Elsner PROPOSAL
Munro H KuskoIndiaAsiya Javayant RENEWAL
Izzy B TollnerItalyIvan Magalhaes NEGOTIATION
Tony S SaylorsJapanXuxue Feng PROPOSAL
Izzy Y CaldareraBrazilAnna Fali PROPOSAL
Murillo G PaprockiJapanBernardo Dominic NEGOTIATION
Mujtaba W WieserJapanAnna Fali RENEWAL
Morrow Y ShinkoIndiaAnna Fali QUALIFIED
Wickens A FerenczArgentinaOnyama Limba NEGOTIATION
Aika K PerinArgentinaIoni Bowcher RENEWAL
Alejandro D KolmetzArgentinaElwin Sharvill NEGOTIATION
Rodrigues S AmigonJapanOnyama Limba RENEWAL
Munro N GauchoGermanyElwin Sharvill UNQUALIFIED
Mujtaba K VenereIndiaXuxue Feng QUALIFIED
Misaki T KolmetzAustraliaAnna Fali NEGOTIATION
Kadeem E RoysterRussiaAmy Elsner RENEWAL
Leja G BowleyGermanyXuxue Feng NEGOTIATION
Jeanfrancois G MorascaArgentinaIoni Bowcher NEGOTIATION
Chavez D SlusarskiAustraliaAsiya Javayant PROPOSAL
Maisha A InouyeAustraliaAmy Elsner QUALIFIED
Clifford Z MorascaBrazilXuxue Feng PROPOSAL
Aika J InouyeCanadaIoni Bowcher NEGOTIATION
Nicolas Z PoquetteJapanAmy Elsner NEW
Cody M WaycottArgentinaAsiya Javayant QUALIFIED
Aruna U OstroskyCanadaAnna Fali NEGOTIATION
Faith N PaprockiJapanAsiya Javayant NEW
Maisha C StockhamCanadaIoni Bowcher PROPOSAL
Leja D BologniaCanadaBernardo Dominic UNQUALIFIED
Sinclair T MorascaAustraliaStephen Shaw QUALIFIED
Leon P SaylorsIndiaStephen Shaw PROPOSAL
Emily U WhobreyAustraliaBernardo Dominic UNQUALIFIED
Aika A RoysterUnited KingdomOnyama Limba NEW
Jeanfrancois Y FigeroaBrazilIvan Magalhaes PROPOSAL
Aditya F SlusarskiFranceAmy Elsner NEW
Kaitlin C NickaRussiaIvan Magalhaes NEGOTIATION
Jefferson L SaylorsBrazilAnna Fali RENEWAL
Clifford B PaprockiSpainAsiya Javayant UNQUALIFIED
Ivar C AlbaresIndiaAmy Elsner PROPOSAL
Alejandro R RoysterRussiaElwin Sharvill UNQUALIFIED
Mayumi Q ButtRussiaAsiya Javayant NEW
Greenwood M ShinkoJapanStephen Shaw QUALIFIED
Frozen Columns
Name
Ricardo A Glick
Johnson B Malet
Sinclair Z Ostrosky
Greenwood D Caldarera
Rodrigues H Gaucho
Clifford S Figeroa
Jeanfrancois H Ferencz
Arvin K Amigon
Nicolas M Slusarski
Mayumi H Waycott
Clifford E Slusarski
Smith Q Sergi
Aditya U Whobrey
Juan U Campain
Munro I Slusarski
Octavia Q Tollner
Ricardo B Caudy
Tony B Maclead
Francesco F Malet
Jennifer X Waycott
Jennifer E Dilliard
Costa V Flosi
Morrow E Ferencz
Morrow W Kolmetz
Alejandro V Bowley
Alejandro C Caldarera
Kaitlin U Wieser
Clifford C Gaucho
Wickens N Caudy
Deepesh B Kusko
Ricardo I Marrier
Deepesh C Paprocki
Aika U Gillian
Tony I Kolmetz
Leja L Ostrosky
Kaitlin I Malet
Munro K Slusarski
Maria Z Figeroa
Costa R Nestle
David C Amigon
Cody K Albares
Kaitlin I Inouye
Stacey A Butt
Tony O Kusko
Tony V Ruta
Rodrigues W Doe
Morrow T Morasca
Ivar P Shinko
Octavia H Waycott
Nicolas G Kolmetz
IdCountryDate
1000Japan2026-04-18
1001India2026-04-29
1002Canada2026-04-10
1003Canada2026-05-02
1004Russia2026-04-10
1005United Kingdom2026-04-17
1006Argentina2026-04-14
1007Russia2026-04-27
1008Japan2026-04-08
1009Spain2026-05-02
1010Argentina2026-04-18
1011Brazil2026-04-26
1012Russia2026-04-26
1013Russia2026-04-05
1014Canada2026-04-12
1015United Kingdom2026-05-01
1016Russia2026-04-26
1017Russia2026-04-10
1018France2026-04-04
1019Brazil2026-04-26
1020Spain2026-04-15
1021Japan2026-04-20
1022Russia2026-04-18
1023Canada2026-04-12
1024Japan2026-04-30
1025Germany2026-04-15
1026Russia2026-04-14
1027Argentina2026-04-20
1028Canada2026-04-16
1029Canada2026-04-22
1030Australia2026-04-23
1031Japan2026-04-25
1032Italy2026-04-05
1033Italy2026-04-06
1034Spain2026-04-30
1035Brazil2026-04-27
1036Italy2026-04-22
1037Italy2026-05-01
1038Canada2026-04-15
1039Argentina2026-04-19
1040France2026-04-11
1041France2026-04-25
1042Russia2026-04-11
1043Japan2026-04-29
1044United Kingdom2026-04-28
1045Australia2026-04-19
1046Spain2026-04-20
1047Japan2026-04-23
1048Germany2026-04-12
1049United Kingdom2026-04-30

On-Demand Data

NameIdCountryDate
Francesco Q Foller1000Brazil2026-04-25
Salvatore B Doe1001Russia2026-04-05
Misaki V Darakjy1002United Kingdom2026-04-07
Wickens R Rim1003Germany2026-04-05
Francesco M Stenseth1004Russia2026-04-29
Mujtaba Z Foller1005Australia2026-04-14
Francesco L Ostrosky1006Argentina2026-05-02
Misaki V Maclead1007Italy2026-05-02
Aruna A Bolognia1008France2026-04-10
Sinclair X Caudy1009Germany2026-04-10
Salvatore V Oldroyd1010United Kingdom2026-04-22
Jeanfrancois J Butt1011Germany2026-04-04
Isabel P Malet1012Italy2026-04-14
Sinclair Q Stockham1013United Kingdom2026-04-12
Jeanfrancois C Butt1014Australia2026-04-08
Aditya W Paprocki1015Italy2026-04-27
Jefferson L Bowley1016Germany2026-04-07
Johnson V Waycott1017Brazil2026-04-29
Aika P Kusko1018Canada2026-04-11
Octavia B Dilliard1019United Kingdom2026-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya K OstroskySpainElwin Sharvill PROPOSAL
Chavez G CaudyArgentinaOnyama Limba NEW
Aruna K GauchoSpainStephen Shaw PROPOSAL
Mujtaba N MacleadIndiaElwin Sharvill PROPOSAL
Smith O GarufiGermanyIoni Bowcher PROPOSAL
Arvin T OstroskyRussiaElwin Sharvill NEGOTIATION
Kaitlin H BriddickCanadaIoni Bowcher UNQUALIFIED
Smith A PerinSpainXuxue Feng NEGOTIATION
Darci T SergiBrazilIoni Bowcher NEW
Kadeem L GillianIndiaAsiya Javayant RENEWAL
Stacey P MacleadRussiaOnyama Limba PROPOSAL
Johnson C AlbaresBrazilIoni Bowcher NEGOTIATION
Costa K OstroskyIndiaXuxue Feng NEW
Jeanfrancois A CampainIndiaBernardo Dominic QUALIFIED
Alejandro R RimUnited KingdomBernardo Dominic PROPOSAL
Cody B BologniaJapanAnna Fali PROPOSAL
Nicolas S FollerBrazilAmy Elsner NEW
Darci B PaprockiGermanyStephen Shaw PROPOSAL
Munro U MaletArgentinaXuxue Feng NEW
Jeanfrancois W OldroydSpainBernardo Dominic PROPOSAL
Maisha Y OldroydItalyBernardo Dominic QUALIFIED
Izzy W VocelkaUnited KingdomStephen Shaw PROPOSAL
Francesco H StockhamItalyAmy Elsner QUALIFIED
Jennifer A GillianBrazilBernardo Dominic QUALIFIED
Johnson F SergiCanadaStephen Shaw RENEWAL
David N WieserRussiaElwin Sharvill PROPOSAL
Octavia Q TollnerCanadaXuxue Feng RENEWAL
Arvin T MaletArgentinaXuxue Feng PROPOSAL
Misaki I SchemmerFranceIoni Bowcher PROPOSAL
Smith B PoquetteSpainStephen Shaw RENEWAL
David D WhobreyBrazilAmy Elsner PROPOSAL
Johnson W SlusarskiAustraliaStephen Shaw NEGOTIATION
Ashley O CaldareraBrazilXuxue Feng UNQUALIFIED
Leon B IturbideUnited KingdomAnna Fali QUALIFIED
Wickens R PaprockiRussiaOnyama Limba UNQUALIFIED
Octavia F SlusarskiIndiaAmy Elsner NEGOTIATION
Faith L SergiGermanyBernardo Dominic NEGOTIATION
Adams W CampainArgentinaStephen Shaw QUALIFIED
Kadeem K TollnerJapanBernardo Dominic NEGOTIATION
Isabel X DilliardAustraliaElwin Sharvill QUALIFIED

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