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
Misaki Y BologniaJapanElwin Sharvill NEGOTIATION
Salvatore L PoquetteFranceAmy Elsner UNQUALIFIED
James T GauchoArgentinaAsiya Javayant RENEWAL
Deepesh Q SergiGermanyAnna Fali NEGOTIATION
Ashley D OldroydAustraliaAmy Elsner RENEWAL
Johnson H ShinkoUnited KingdomXuxue Feng PROPOSAL
Isabel H FollerArgentinaAmy Elsner NEW
Rodrigues R KolmetzRussiaElwin Sharvill UNQUALIFIED
Leja Q CaldareraRussiaAnna Fali NEGOTIATION
Johnson J MorascaSpainAmy Elsner NEW
Izzy P SaylorsItalyElwin Sharvill PROPOSAL
Aika Z TollnerUnited KingdomStephen Shaw NEGOTIATION
Salvatore W CaldareraCanadaAnna Fali PROPOSAL
Silvio N MaletAustraliaBernardo Dominic UNQUALIFIED
Maria Z StensethSpainBernardo Dominic PROPOSAL
Kadeem U GauchoFranceIoni Bowcher RENEWAL
Jennifer P NestleGermanyOnyama Limba UNQUALIFIED
David H OldroydBrazilAnna Fali NEGOTIATION
Ivar P WaycottGermanyIvan Magalhaes UNQUALIFIED
Alejandro Y ChuiGermanyElwin Sharvill RENEWAL
Jeanfrancois L KolmetzAustraliaIoni Bowcher UNQUALIFIED
Ivar B MorascaIndiaStephen Shaw PROPOSAL
Misaki C OstroskyItalyAnna Fali UNQUALIFIED
Octavia I CaldareraGermanyAnna Fali PROPOSAL
Cody C OstroskyAustraliaXuxue Feng RENEWAL
Nicolas N StockhamJapanAmy Elsner PROPOSAL
Jefferson Z CampainItalyStephen Shaw RENEWAL
David O MaletCanadaXuxue Feng QUALIFIED
Jeanfrancois Q SlusarskiItalyIoni Bowcher PROPOSAL
Deepesh P RulapaughRussiaXuxue Feng PROPOSAL
Rodrigues I FigeroaIndiaIoni Bowcher NEGOTIATION
Sinclair S MaletFranceBernardo Dominic NEW
Tony T SaylorsCanadaOnyama Limba RENEWAL
Tony V RulapaughBrazilOnyama Limba QUALIFIED
Maria Y RimItalyIoni Bowcher UNQUALIFIED
Ivar G FlosiSpainAmy Elsner QUALIFIED
Jones U InouyeItalyBernardo Dominic QUALIFIED
Smith G TollnerSpainXuxue Feng RENEWAL
Maisha J IturbideUnited KingdomIoni Bowcher NEW
Octavia M MorascaJapanAnna Fali PROPOSAL
Tony J PerinGermanyAsiya Javayant QUALIFIED
Jennifer E BriddickItalyAnna Fali NEW
Nicolas C GarufiSpainIoni Bowcher NEW
Antonio B DoeBrazilAsiya Javayant PROPOSAL
Julie T SlusarskiBrazilXuxue Feng NEW
Smith Y GauchoItalyIvan Magalhaes NEGOTIATION
Jones F GillianRussiaIvan Magalhaes NEW
Jefferson P DoeArgentinaOnyama Limba NEGOTIATION
Sinclair Q MaletFranceAnna Fali QUALIFIED
Sinclair K NickaSpainXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Morrow Y PerinBrazilOnyama Limba PROPOSAL
Morrow E ShinkoIndiaOnyama Limba NEW
Nicolas U StockhamArgentinaAmy Elsner UNQUALIFIED
Salvatore M SchemmerSpainBernardo Dominic RENEWAL
Stacey G VenereItalyAsiya Javayant NEGOTIATION
Aika N KolmetzIndiaXuxue Feng NEGOTIATION
Chavez P GlickUnited KingdomAsiya Javayant UNQUALIFIED
Julie Q GauchoUnited KingdomXuxue Feng PROPOSAL
Costa W BriddickUnited KingdomIvan Magalhaes RENEWAL
Salvatore D TollnerAustraliaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin H StensethCanada2026-04-14Morlong Associates NEGOTIATION41Elwin Sharvill
1001Clifford E FlosiGermany2026-03-26Buckley Miller Wright PROPOSAL68Ioni Bowcher
1002Jeanfrancois W PoquetteIndia2026-04-06Printing Dimensions NEW65Ivan Magalhaes
1003Munro U GillianRussia2026-04-17Truhlar And Truhlar Attys UNQUALIFIED63Bernardo Dominic
1004Johnson Z InouyeAustralia2026-04-09Rangoni Of Florence PROPOSAL57Xuxue Feng
1005Jefferson L KolmetzSpain2026-03-31Benton, John B Jr RENEWAL75Onyama Limba
1006Costa R MaletGermany2026-04-17Chanay, Jeffrey A Esq QUALIFIED15Ioni Bowcher
1007Murillo W VocelkaBrazil2026-04-17Feiner Bros PROPOSAL19Bernardo Dominic
1008Julie Y MaletRussia2026-03-28King, Christopher A Esq NEW37Stephen Shaw
1009Jennifer S MaletGermany2026-03-22Feiner Bros UNQUALIFIED59Bernardo Dominic
1010Leon F NickaUnited Kingdom2026-04-14Printing Dimensions PROPOSAL27Asiya Javayant
1011Arvin E DilliardBrazil2026-04-15Rangoni Of Florence RENEWAL94Stephen Shaw
1012Misaki Q VenereJapan2026-04-05Benton, John B Jr NEGOTIATION62Amy Elsner
1013Alejandro T PerinBrazil2026-03-26Chapman, Ross E Esq UNQUALIFIED61Elwin Sharvill
1014Isabel G SlusarskiGermany2026-04-03Rangoni Of Florence PROPOSAL57Elwin Sharvill
1015Jeanfrancois J BologniaArgentina2026-03-22Printing Dimensions NEGOTIATION32Asiya Javayant
1016Cody G MorascaGermany2026-03-26Rangoni Of Florence NEGOTIATION80Anna Fali
1017Nicolas K MarrierJapan2026-04-14Rangoni Of Florence NEGOTIATION60Ioni Bowcher
1018Morrow K BologniaRussia2026-04-13Feltz Printing Service QUALIFIED31Stephen Shaw
1019Silvio L AmigonArgentina2026-04-05Morlong Associates NEW86Elwin Sharvill
1020Misaki C CampainBrazil2026-04-01Truhlar And Truhlar Attys QUALIFIED75Bernardo Dominic
1021Munro N WieserItaly2026-04-09Benton, John B Jr PROPOSAL75Xuxue Feng
1022Isabel N MarrierRussia2026-04-01Chanay, Jeffrey A Esq PROPOSAL27Amy Elsner
1023Faith Z SlusarskiRussia2026-04-09Buckley Miller Wright UNQUALIFIED72Ivan Magalhaes
1024Tony Z OstroskyGermany2026-03-26Feiner Bros UNQUALIFIED45Ioni Bowcher
1025Leon Z AlbaresBrazil2026-04-12Printing Dimensions UNQUALIFIED18Stephen Shaw
1026Faith W MarrierJapan2026-03-21Chapman, Ross E Esq PROPOSAL23Amy Elsner
1027Leja L GillianArgentina2026-04-01Commercial Press PROPOSAL83Anna Fali
1028Kadeem N MarrierArgentina2026-04-10Truhlar And Truhlar Attys UNQUALIFIED38Xuxue Feng
1029Octavia G BowleyRussia2026-04-19Feiner Bros NEW14Anna Fali
1030Chavez O GarufiFrance2026-04-18Dorl, James J Esq NEGOTIATION22Ivan Magalhaes
1031Aruna Q ChuiItaly2026-03-23Chemel, James L Cpa NEGOTIATION16Ivan Magalhaes
1032Izzy A FerenczItaly2026-04-19Dorl, James J Esq NEW71Ivan Magalhaes
1033Julie J MaletUnited Kingdom2026-04-09Chapman, Ross E Esq RENEWAL83Ioni Bowcher
1034Ivar C CampainArgentina2026-04-08Rangoni Of Florence UNQUALIFIED38Ioni Bowcher
1035Misaki L AmigonBrazil2026-04-02Chapman, Ross E Esq PROPOSAL99Asiya Javayant
1036Maria Y ShinkoJapan2026-04-15Dorl, James J Esq UNQUALIFIED90Anna Fali
1037Aika U WhobreyGermany2026-03-26Benton, John B Jr NEGOTIATION79Ivan Magalhaes
1038Costa T VenereFrance2026-03-30Buckley Miller Wright UNQUALIFIED22Anna Fali
1039Aruna K MacleadSpain2026-04-19Chapman, Ross E Esq PROPOSAL56Xuxue Feng
1040Alejandro P RutaSpain2026-04-02Commercial Press RENEWAL41Ioni Bowcher
1041Costa L FlosiSpain2026-03-27King, Christopher A Esq PROPOSAL57Asiya Javayant
1042Rodrigues I TollnerItaly2026-03-21Printing Dimensions PROPOSAL25Asiya Javayant
1043Misaki U NestleArgentina2026-04-08Morlong Associates PROPOSAL44Xuxue Feng
1044Francesco Q FollerArgentina2026-03-24Printing Dimensions UNQUALIFIED22Amy Elsner
1045Arvin X VenereBrazil2026-04-09Buckley Miller Wright QUALIFIED65Elwin Sharvill
1046Chavez F NestleSpain2026-04-07Truhlar And Truhlar Attys RENEWAL49Onyama Limba
1047Kaitlin F FlosiUnited Kingdom2026-03-28Printing Dimensions UNQUALIFIED63Asiya Javayant
1048Munro X VocelkaFrance2026-03-22Chemel, James L Cpa QUALIFIED13Xuxue Feng
1049Juan Q FollerItaly2026-03-25Buckley Miller Wright NEW79Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Juan B DarakjySpainAsiya Javayant RENEWAL
Emily S AlbaresItalyIvan Magalhaes QUALIFIED
Isabel H VocelkaGermanyIoni Bowcher UNQUALIFIED
Claire D PaprockiRussiaAmy Elsner RENEWAL
Jennifer I GillianJapanElwin Sharvill PROPOSAL
Murillo R MaletFranceXuxue Feng NEGOTIATION
Juan J RimAustraliaBernardo Dominic UNQUALIFIED
Ricardo E SaylorsAustraliaAsiya Javayant NEW
Arvin B BriddickAustraliaAnna Fali RENEWAL
Claire U GauchoArgentinaBernardo Dominic UNQUALIFIED
Costa P BologniaItalyStephen Shaw UNQUALIFIED
Ivar F ButtGermanyOnyama Limba QUALIFIED
Deepesh P WaycottGermanyBernardo Dominic NEW
Ashley I MaletRussiaAnna Fali QUALIFIED
Jeanfrancois K AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Costa U BowleyJapanIoni Bowcher RENEWAL
Faith Z VocelkaFranceXuxue Feng QUALIFIED
Kadeem I PaprockiSpainAnna Fali UNQUALIFIED
Mayumi Z TollnerBrazilXuxue Feng RENEWAL
Kadeem C DilliardAustraliaOnyama Limba PROPOSAL
Munro V KuskoBrazilOnyama Limba QUALIFIED
Mujtaba Q DarakjyJapanOnyama Limba UNQUALIFIED
Aruna W DarakjyCanadaAmy Elsner PROPOSAL
Adams W FollerCanadaXuxue Feng NEW
Aika V GlickFranceOnyama Limba RENEWAL
Aditya V FollerSpainAnna Fali NEGOTIATION
Aditya B DarakjyAustraliaAnna Fali UNQUALIFIED
Antonio G DilliardIndiaStephen Shaw NEW
Clifford T ShinkoSpainAsiya Javayant PROPOSAL
James J ChuiArgentinaBernardo Dominic NEW
Julie C GillianIndiaAmy Elsner NEW
Cody A DoeUnited KingdomIvan Magalhaes NEW
Wickens X NestleIndiaIvan Magalhaes NEGOTIATION
David R SchemmerItalyAsiya Javayant QUALIFIED
Mujtaba Y WaycottCanadaAmy Elsner NEGOTIATION
Mujtaba B CaldareraArgentinaBernardo Dominic QUALIFIED
Kadeem X AmigonBrazilIoni Bowcher UNQUALIFIED
Isabel X VenereAustraliaAnna Fali QUALIFIED
Mayumi M IturbideSpainOnyama Limba PROPOSAL
Antonio P MorascaGermanyAmy Elsner RENEWAL
Claire C DilliardRussiaStephen Shaw UNQUALIFIED
Antonio Q KolmetzIndiaIoni Bowcher QUALIFIED
Rodrigues L TollnerGermanyStephen Shaw QUALIFIED
Tony D GlickGermanyIvan Magalhaes RENEWAL
Maisha Y BriddickRussiaOnyama Limba QUALIFIED
Kadeem D GillianArgentinaElwin Sharvill UNQUALIFIED
Munro W IturbideItalyIvan Magalhaes RENEWAL
Alejandro M DarakjyIndiaAnna Fali UNQUALIFIED
Kadeem E CaudyFranceElwin Sharvill QUALIFIED
Costa Z MorascaIndiaAsiya Javayant NEW
Frozen Columns
Name
Maisha K Flosi
Leja N Kolmetz
Silvio E Stockham
Murillo E Dilliard
Jeanfrancois E Marrier
Rodrigues H Marrier
Aika M Foller
Mayumi P Darakjy
James F Slusarski
Alejandro L Paprocki
Rodrigues U Rim
Leon Z Inouye
Jennifer R Stenseth
Cody V Oldroyd
Antonio F Poquette
Aruna R Waycott
Kadeem F Waycott
Stacey P Morasca
Aika R Maclead
Octavia D Schemmer
Mujtaba V Whobrey
Mujtaba I Flosi
Juan Q Nicka
Ashley I Paprocki
Costa C Garufi
Stacey G Royster
Ivar M Caldarera
Morrow R Schemmer
Maria R Amigon
Stacey Y Kusko
Aditya X Glick
Francesco Y Nicka
Juan E Rulapaugh
Greenwood R Glick
Aruna H Malet
Maisha K Nicka
Alejandro P Slusarski
Aruna P Gillian
Darci Y Gaucho
Leon M Flosi
Munro E Flosi
Rodrigues T Marrier
Costa A Sergi
Costa M Caldarera
Kaitlin G Flosi
Murillo C Ruta
Darci O Vocelka
Jones L Iturbide
Smith P Slusarski
Smith C Vocelka
IdCountryDate
1000United Kingdom2026-03-29
1001Canada2026-04-14
1002Australia2026-03-26
1003Canada2026-03-30
1004Brazil2026-03-22
1005United Kingdom2026-04-03
1006Italy2026-03-28
1007Japan2026-04-09
1008Brazil2026-04-16
1009Argentina2026-03-28
1010Italy2026-03-26
1011Argentina2026-04-19
1012Brazil2026-04-03
1013France2026-04-07
1014Italy2026-03-22
1015Spain2026-04-07
1016Australia2026-04-11
1017Germany2026-04-12
1018Germany2026-03-27
1019Spain2026-04-05
1020India2026-03-28
1021Russia2026-04-05
1022Italy2026-04-01
1023Germany2026-04-12
1024India2026-04-06
1025India2026-04-09
1026India2026-04-17
1027Argentina2026-03-30
1028India2026-03-27
1029Australia2026-03-25
1030Italy2026-03-22
1031Russia2026-04-08
1032India2026-03-28
1033Argentina2026-04-06
1034Argentina2026-04-03
1035Australia2026-04-17
1036Germany2026-03-28
1037Japan2026-04-17
1038France2026-04-02
1039United Kingdom2026-04-05
1040Japan2026-03-28
1041Canada2026-03-31
1042United Kingdom2026-04-03
1043Russia2026-03-24
1044Russia2026-03-23
1045Argentina2026-04-04
1046Argentina2026-04-14
1047Brazil2026-03-26
1048Canada2026-04-09
1049Australia2026-04-18

On-Demand Data

NameIdCountryDate
Chavez O Iturbide1000Argentina2026-03-28
Wickens A Stenseth1001Canada2026-04-09
Julie C Flosi1002Argentina2026-04-13
Stacey F Briddick1003Italy2026-04-18
Alejandro Z Slusarski1004Australia2026-03-27
Adams T Malet1005United Kingdom2026-04-12
Francesco M Stockham1006Brazil2026-04-04
Adams K Inouye1007Brazil2026-04-17
Aditya O Perin1008United Kingdom2026-04-11
Ivar Y Inouye1009Germany2026-04-08
Octavia B Rulapaugh1010France2026-03-26
Ashley Y Chui1011Brazil2026-03-21
Aika J Waycott1012Australia2026-03-27
Aika O Vocelka1013United Kingdom2026-03-21
Stacey U Doe1014Australia2026-04-05
Alejandro V Royster1015Argentina2026-04-13
Julie X Marrier1016Spain2026-03-22
David W Rim1017Brazil2026-03-22
Ashley F Garufi1018Italy2026-04-11
Ricardo E Kolmetz1019France2026-04-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco F MorascaItalyIoni Bowcher RENEWAL
Ricardo E MorascaItalyBernardo Dominic NEGOTIATION
Aditya M AmigonBrazilAnna Fali RENEWAL
Morrow A MorascaArgentinaXuxue Feng NEW
Isabel L BologniaSpainIvan Magalhaes PROPOSAL
Clifford D MarrierUnited KingdomAmy Elsner UNQUALIFIED
Tony O DarakjyUnited KingdomAsiya Javayant PROPOSAL
Kadeem W SergiArgentinaAmy Elsner PROPOSAL
Kaitlin D MacleadGermanyAnna Fali NEGOTIATION
Mayumi K AlbaresUnited KingdomAnna Fali RENEWAL
Deepesh D PerinRussiaAnna Fali RENEWAL
Salvatore C CaudyCanadaAsiya Javayant NEW
Aditya L SchemmerArgentinaAnna Fali UNQUALIFIED
Deepesh M CaldareraIndiaBernardo Dominic PROPOSAL
Stacey T RutaUnited KingdomAnna Fali PROPOSAL
Mujtaba K IturbideCanadaXuxue Feng UNQUALIFIED
Aika Y FlosiIndiaIoni Bowcher NEW
Ivar L SlusarskiJapanElwin Sharvill RENEWAL
David R BriddickIndiaOnyama Limba PROPOSAL
Jeanfrancois V GarufiJapanBernardo Dominic NEW
Jeanfrancois N GarufiIndiaAmy Elsner NEW
Leon L FigeroaUnited KingdomStephen Shaw QUALIFIED
Johnson I InouyeArgentinaIoni Bowcher UNQUALIFIED
Jennifer C ShinkoRussiaBernardo Dominic NEW
Ivar Q InouyeSpainOnyama Limba RENEWAL
Ashley M MarrierFranceAsiya Javayant NEGOTIATION
Kaitlin V ButtCanadaAmy Elsner QUALIFIED
Jones H RulapaughIndiaAmy Elsner UNQUALIFIED
Greenwood J ButtRussiaIvan Magalhaes QUALIFIED
Murillo W TollnerSpainIoni Bowcher NEGOTIATION
Jeanfrancois Z MorascaArgentinaIvan Magalhaes UNQUALIFIED
Nicolas V BologniaRussiaElwin Sharvill QUALIFIED
Smith T OstroskySpainIoni Bowcher UNQUALIFIED
Costa C ChuiItalyElwin Sharvill UNQUALIFIED
Wickens B SchemmerBrazilAnna Fali UNQUALIFIED
Kadeem Q MacleadAustraliaAmy Elsner RENEWAL
Tony J AmigonItalyAnna Fali NEGOTIATION
Adams C BriddickFranceAsiya Javayant RENEWAL
Leja P MorascaItalyElwin Sharvill UNQUALIFIED
Wickens L RoysterCanadaIvan 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.