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
Emily Z MaletRussiaXuxue Feng PROPOSAL
Leja A FerenczUnited KingdomIoni Bowcher NEW
Silvio I CaldareraJapanAnna Fali QUALIFIED
Cody W VenereCanadaXuxue Feng UNQUALIFIED
Misaki N AmigonCanadaStephen Shaw NEW
Julie O GauchoCanadaElwin Sharvill UNQUALIFIED
Kaitlin I GarufiBrazilStephen Shaw QUALIFIED
James U OstroskyGermanyAsiya Javayant QUALIFIED
Maisha X RimAustraliaAmy Elsner PROPOSAL
Deepesh D SaylorsCanadaBernardo Dominic QUALIFIED
Johnson E CampainItalyIvan Magalhaes RENEWAL
Jeanfrancois W KuskoSpainAsiya Javayant RENEWAL
Stacey H MorascaIndiaIvan Magalhaes UNQUALIFIED
Cody G RulapaughGermanyStephen Shaw NEW
Octavia E WieserUnited KingdomAsiya Javayant RENEWAL
Mayumi M SaylorsRussiaXuxue Feng RENEWAL
Rodrigues X StensethFranceOnyama Limba PROPOSAL
Munro D MarrierJapanBernardo Dominic NEGOTIATION
Morrow C SchemmerSpainAsiya Javayant RENEWAL
Jeanfrancois Z VocelkaBrazilIoni Bowcher PROPOSAL
Leja X RulapaughIndiaBernardo Dominic NEGOTIATION
Isabel E VocelkaGermanyStephen Shaw QUALIFIED
Stacey E GlickBrazilIoni Bowcher NEGOTIATION
Alejandro L GauchoItalyBernardo Dominic NEW
Emily W VenereJapanAmy Elsner PROPOSAL
Faith X DarakjyGermanyBernardo Dominic UNQUALIFIED
Deepesh B RulapaughUnited KingdomOnyama Limba NEW
Smith W MacleadItalyXuxue Feng NEW
Aika W MaletBrazilIoni Bowcher NEGOTIATION
Maria I GlickBrazilAnna Fali NEGOTIATION
Izzy Q ShinkoGermanyXuxue Feng QUALIFIED
Nicolas O WieserBrazilBernardo Dominic RENEWAL
James G RutaRussiaBernardo Dominic UNQUALIFIED
Mayumi H PerinCanadaIoni Bowcher QUALIFIED
Tony K AmigonAustraliaElwin Sharvill PROPOSAL
Ricardo O CampainAustraliaIvan Magalhaes NEW
Izzy F GlickRussiaIoni Bowcher RENEWAL
Kadeem K KolmetzFranceIoni Bowcher QUALIFIED
Aditya B IturbideBrazilBernardo Dominic PROPOSAL
Murillo F GauchoIndiaAnna Fali QUALIFIED
Kaitlin N MorascaArgentinaIoni Bowcher PROPOSAL
Aruna O CaldareraBrazilBernardo Dominic UNQUALIFIED
Jennifer I SaylorsFranceBernardo Dominic RENEWAL
Isabel K FerenczCanadaIvan Magalhaes NEGOTIATION
Claire G VocelkaRussiaAnna Fali QUALIFIED
Juan B DarakjyJapanIvan Magalhaes UNQUALIFIED
Kadeem N RimGermanyXuxue Feng RENEWAL
Sinclair K FollerJapanIoni Bowcher QUALIFIED
Misaki Y OstroskyCanadaElwin Sharvill UNQUALIFIED
Morrow F BriddickJapanXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
David N MaletJapanOnyama Limba PROPOSAL
Jefferson D PaprockiSpainAmy Elsner NEGOTIATION
Juan R SlusarskiGermanyAnna Fali NEGOTIATION
Juan A BologniaSpainOnyama Limba NEW
Sinclair R DilliardJapanElwin Sharvill RENEWAL
Darci L KuskoFranceIoni Bowcher UNQUALIFIED
Morrow H GlickCanadaStephen Shaw NEGOTIATION
Isabel K RulapaughAustraliaAsiya Javayant UNQUALIFIED
Maria U VocelkaAustraliaIvan Magalhaes NEGOTIATION
David J CaldareraRussiaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey I SergiRussia2026-02-25Chemel, James L Cpa PROPOSAL68Onyama Limba
1001Faith M TollnerRussia2026-02-26Morlong Associates PROPOSAL86Ioni Bowcher
1002Sinclair O KuskoGermany2026-02-16Chanay, Jeffrey A Esq QUALIFIED69Asiya Javayant
1003Rodrigues A FollerFrance2026-02-07Commercial Press NEW14Elwin Sharvill
1004Costa S MarrierArgentina2026-02-14King, Christopher A Esq NEGOTIATION41Anna Fali
1005Deepesh P DoeArgentina2026-02-08Rangoni Of Florence RENEWAL66Ioni Bowcher
1006Murillo B KuskoUnited Kingdom2026-02-12Chemel, James L Cpa UNQUALIFIED20Stephen Shaw
1007Sinclair K SergiFrance2026-03-01Buckley Miller Wright NEW49Stephen Shaw
1008Francesco K MorascaJapan2026-02-10Chanay, Jeffrey A Esq RENEWAL43Ioni Bowcher
1009Maisha B FlosiItaly2026-02-19Chapman, Ross E Esq UNQUALIFIED97Elwin Sharvill
1010Mujtaba B GillianAustralia2026-02-20Chemel, James L Cpa NEW30Bernardo Dominic
1011Aruna L OldroydRussia2026-03-04Rousseaux, Michael Esq QUALIFIED58Ivan Magalhaes
1012Faith E DilliardGermany2026-02-16Benton, John B Jr PROPOSAL42Xuxue Feng
1013Wickens T CaudyGermany2026-02-12Printing Dimensions PROPOSAL83Bernardo Dominic
1014Silvio F MarrierItaly2026-03-03Feiner Bros UNQUALIFIED6Elwin Sharvill
1015Aika Z SlusarskiAustralia2026-02-06Feiner Bros NEW15Xuxue Feng
1016Ivar I MaletCanada2026-02-19Benton, John B Jr UNQUALIFIED23Onyama Limba
1017Stacey N MorascaCanada2026-02-20Dorl, James J Esq NEGOTIATION33Asiya Javayant
1018Kadeem S SaylorsJapan2026-02-13Rousseaux, Michael Esq UNQUALIFIED56Ivan Magalhaes
1019Sinclair T FlosiRussia2026-02-09Chapman, Ross E Esq QUALIFIED21Onyama Limba
1020Antonio G WaycottItaly2026-03-05King, Christopher A Esq PROPOSAL99Bernardo Dominic
1021Leja Q StockhamRussia2026-02-24Buckley Miller Wright QUALIFIED76Ivan Magalhaes
1022Arvin I BowleyIndia2026-02-05Chemel, James L Cpa QUALIFIED10Stephen Shaw
1023Smith H GarufiCanada2026-03-04Rangoni Of Florence UNQUALIFIED88Elwin Sharvill
1024Mujtaba C MorascaGermany2026-02-25Rangoni Of Florence RENEWAL39Asiya Javayant
1025Arvin J VocelkaRussia2026-02-22Printing Dimensions RENEWAL57Stephen Shaw
1026Mayumi J NickaBrazil2026-02-20Buckley Miller Wright QUALIFIED66Onyama Limba
1027Claire M InouyeJapan2026-02-12Printing Dimensions NEGOTIATION2Anna Fali
1028Sinclair A IturbideAustralia2026-02-19Feltz Printing Service PROPOSAL8Xuxue Feng
1029Aditya K MaletCanada2026-02-08Printing Dimensions RENEWAL58Amy Elsner
1030Cody C RutaUnited Kingdom2026-03-05Commercial Press PROPOSAL14Xuxue Feng
1031Aditya M GlickIndia2026-02-21Dorl, James J Esq QUALIFIED77Elwin Sharvill
1032Jefferson O PerinBrazil2026-02-19Rangoni Of Florence PROPOSAL30Asiya Javayant
1033Salvatore Y RoysterArgentina2026-02-23Chemel, James L Cpa UNQUALIFIED29Ivan Magalhaes
1034James E NestleUnited Kingdom2026-02-12Truhlar And Truhlar Attys UNQUALIFIED76Xuxue Feng
1035Ricardo R FerenczAustralia2026-02-09Benton, John B Jr PROPOSAL84Stephen Shaw
1036Juan P ButtFrance2026-02-07Feltz Printing Service UNQUALIFIED89Amy Elsner
1037Ashley G GlickUnited Kingdom2026-03-06Printing Dimensions RENEWAL91Elwin Sharvill
1038Antonio F DilliardUnited Kingdom2026-02-21Benton, John B Jr RENEWAL18Amy Elsner
1039Salvatore H GillianCanada2026-02-21Rangoni Of Florence PROPOSAL76Stephen Shaw
1040Francesco Y FollerJapan2026-02-10Morlong Associates PROPOSAL46Asiya Javayant
1041Murillo C DarakjyGermany2026-02-16Rangoni Of Florence UNQUALIFIED55Xuxue Feng
1042Maria G NickaFrance2026-02-18Buckley Miller Wright QUALIFIED45Bernardo Dominic
1043Isabel O KuskoJapan2026-02-07Feltz Printing Service NEW77Xuxue Feng
1044Stacey P FigeroaArgentina2026-02-22Benton, John B Jr UNQUALIFIED89Asiya Javayant
1045Johnson J DilliardGermany2026-03-01Chanay, Jeffrey A Esq PROPOSAL45Elwin Sharvill
1046Misaki G ShinkoBrazil2026-02-09King, Christopher A Esq RENEWAL54Amy Elsner
1047Chavez Z StensethBrazil2026-02-11Dorl, James J Esq NEW84Amy Elsner
1048Julie O NestleBrazil2026-02-17Morlong Associates NEGOTIATION39Xuxue Feng
1049Octavia O WaycottGermany2026-02-17Truhlar And Truhlar Attys RENEWAL51Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Juan R SaylorsGermanyIoni Bowcher NEW
Leon P NestleGermanyBernardo Dominic NEGOTIATION
Aruna N FlosiJapanStephen Shaw RENEWAL
Leon T MaletGermanyIoni Bowcher QUALIFIED
Francesco U BologniaArgentinaElwin Sharvill QUALIFIED
David F VocelkaCanadaIoni Bowcher NEW
Munro I IturbideRussiaIvan Magalhaes NEW
Alejandro B GillianCanadaIoni Bowcher PROPOSAL
Arvin Y GillianSpainStephen Shaw RENEWAL
Munro D GillianAustraliaElwin Sharvill NEGOTIATION
Costa F FerenczRussiaIvan Magalhaes QUALIFIED
Maria L MorascaCanadaAmy Elsner PROPOSAL
Emily V MarrierBrazilAnna Fali UNQUALIFIED
Octavia E ChuiGermanyElwin Sharvill UNQUALIFIED
Leja Y WieserGermanyAmy Elsner PROPOSAL
Francesco K GauchoUnited KingdomStephen Shaw QUALIFIED
Aika I BowleyIndiaXuxue Feng QUALIFIED
Morrow W NestleUnited KingdomBernardo Dominic RENEWAL
Nicolas K GillianUnited KingdomBernardo Dominic UNQUALIFIED
Misaki A NickaCanadaAnna Fali NEGOTIATION
Emily G SaylorsCanadaIoni Bowcher RENEWAL
James L VocelkaCanadaIvan Magalhaes PROPOSAL
Wickens J DilliardIndiaXuxue Feng NEW
Salvatore Z FollerIndiaIoni Bowcher PROPOSAL
Jennifer Q PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Murillo S KuskoBrazilAnna Fali QUALIFIED
Kaitlin L ButtItalyBernardo Dominic QUALIFIED
Costa K GarufiSpainBernardo Dominic RENEWAL
Salvatore L ButtGermanyAnna Fali NEW
Juan Z RoysterAustraliaIvan Magalhaes RENEWAL
Jeanfrancois O CampainBrazilAsiya Javayant NEW
Aruna C ButtBrazilXuxue Feng QUALIFIED
Aika L RulapaughRussiaOnyama Limba RENEWAL
Morrow K PoquetteJapanAmy Elsner UNQUALIFIED
Mujtaba J GlickFranceElwin Sharvill UNQUALIFIED
Isabel B FerenczIndiaXuxue Feng RENEWAL
Arvin Z MaletFranceBernardo Dominic NEGOTIATION
Isabel P RoysterCanadaElwin Sharvill NEGOTIATION
Octavia P StockhamFranceIvan Magalhaes NEGOTIATION
Izzy M SchemmerBrazilAnna Fali UNQUALIFIED
Jones T SergiJapanXuxue Feng UNQUALIFIED
Greenwood H BriddickCanadaIoni Bowcher NEW
Faith B SergiArgentinaIvan Magalhaes PROPOSAL
Misaki H RimBrazilIoni Bowcher UNQUALIFIED
Tony W GlickCanadaIvan Magalhaes NEGOTIATION
Francesco N KuskoAustraliaAnna Fali QUALIFIED
Maisha T DarakjyFranceIvan Magalhaes QUALIFIED
Salvatore E IturbideBrazilBernardo Dominic QUALIFIED
Tony Z GauchoIndiaIoni Bowcher NEGOTIATION
Salvatore O ButtBrazilBernardo Dominic NEW
Frozen Columns
Name
Mayumi L Gillian
Leon U Nicka
Murillo P Whobrey
Tony K Morasca
Munro G Bolognia
Johnson T Ruta
Chavez B Whobrey
Julie J Ruta
Isabel T Ostrosky
Rodrigues F Nicka
Leja I Nestle
Francesco B Darakjy
Darci G Flosi
Faith I Rulapaugh
Tony A Iturbide
Claire C Slusarski
Maisha L Sergi
Isabel X Foller
Murillo Y Glick
Isabel E Darakjy
Ivar Y Ferencz
Misaki H Butt
Aika E Slusarski
Johnson Z Ruta
Greenwood S Nestle
Kadeem S Saylors
Izzy Z Venere
Chavez N Saylors
Antonio M Inouye
Ashley S Perin
Jones X Inouye
Munro Q Figeroa
Mujtaba S Ferencz
Wickens G Waycott
Aika C Stockham
Aruna E Garufi
Leon X Darakjy
Darci J Kusko
Emily N Vocelka
Greenwood S Venere
Clifford D Marrier
Adams O Whobrey
Emily X Iturbide
Ashley W Perin
Kadeem Q Bolognia
James B Sergi
Jeanfrancois D Sergi
Isabel H Tollner
Ricardo G Tollner
Maria H Waycott
IdCountryDate
1000Germany2026-02-19
1001India2026-02-14
1002Russia2026-02-24
1003Canada2026-02-11
1004United Kingdom2026-02-07
1005Russia2026-02-26
1006Spain2026-02-14
1007France2026-02-08
1008Russia2026-02-26
1009France2026-03-06
1010Italy2026-03-02
1011Argentina2026-02-26
1012Germany2026-02-13
1013France2026-02-14
1014Italy2026-02-09
1015Australia2026-02-14
1016Italy2026-02-16
1017Germany2026-02-15
1018Australia2026-03-01
1019United Kingdom2026-03-04
1020Spain2026-03-01
1021Canada2026-03-02
1022Spain2026-03-04
1023Brazil2026-02-25
1024Japan2026-03-04
1025India2026-03-05
1026Canada2026-02-08
1027Canada2026-02-19
1028Japan2026-02-13
1029Japan2026-02-27
1030Spain2026-02-10
1031India2026-02-21
1032Brazil2026-02-22
1033Canada2026-02-21
1034Italy2026-02-13
1035Italy2026-02-10
1036Italy2026-02-21
1037India2026-02-28
1038Italy2026-03-03
1039Russia2026-02-20
1040Canada2026-02-22
1041Russia2026-03-01
1042Germany2026-02-20
1043Australia2026-03-04
1044Japan2026-03-02
1045Brazil2026-02-09
1046Germany2026-02-07
1047Japan2026-02-17
1048Argentina2026-02-05
1049Russia2026-02-24

On-Demand Data

NameIdCountryDate
Morrow Q Vocelka1000Italy2026-02-10
Leon M Maclead1001Russia2026-03-03
Johnson P Whobrey1002Italy2026-02-23
Morrow X Amigon1003Brazil2026-03-04
Nicolas B Ferencz1004Spain2026-02-07
Rodrigues O Paprocki1005Russia2026-02-25
Salvatore B Schemmer1006Italy2026-02-14
Maria M Gaucho1007Brazil2026-02-23
Julie I Rim1008Italy2026-02-14
Isabel Y Bowley1009Canada2026-02-14
Ashley I Rulapaugh1010United Kingdom2026-02-10
Clifford Z Saylors1011India2026-03-02
Darci G Garufi1012Australia2026-02-25
Octavia D Amigon1013India2026-02-12
Sinclair J Sergi1014France2026-02-18
Leja P Stenseth1015Italy2026-02-21
Nicolas A Foller1016Japan2026-02-23
Claire R Chui1017Japan2026-03-01
Octavia D Wieser1018Australia2026-02-14
Leon T Garufi1019Germany2026-02-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Q ButtFranceOnyama Limba NEGOTIATION
Aditya X BriddickItalyXuxue Feng PROPOSAL
Ivar O FigeroaCanadaIoni Bowcher PROPOSAL
Misaki G KolmetzIndiaBernardo Dominic QUALIFIED
Wickens X PerinSpainAsiya Javayant UNQUALIFIED
Clifford U CaldareraIndiaXuxue Feng NEW
Antonio M WieserRussiaXuxue Feng QUALIFIED
Cody J SergiIndiaXuxue Feng QUALIFIED
James B BologniaFranceAmy Elsner QUALIFIED
Julie T IturbideRussiaElwin Sharvill UNQUALIFIED
Faith K KuskoUnited KingdomAnna Fali RENEWAL
Smith P GauchoArgentinaIoni Bowcher NEW
Costa L WieserUnited KingdomAnna Fali NEW
Greenwood O BologniaArgentinaAmy Elsner NEGOTIATION
Salvatore D ChuiSpainElwin Sharvill UNQUALIFIED
Clifford M AmigonBrazilAnna Fali QUALIFIED
Johnson X AlbaresIndiaAsiya Javayant NEW
Tony C CaudyItalyAsiya Javayant UNQUALIFIED
Costa E ChuiGermanyAmy Elsner RENEWAL
Maisha F RulapaughItalyBernardo Dominic NEGOTIATION
Wickens P StockhamGermanyIvan Magalhaes QUALIFIED
Julie J VocelkaArgentinaAsiya Javayant QUALIFIED
Arvin G CaldareraFranceOnyama Limba NEGOTIATION
Darci L VocelkaArgentinaElwin Sharvill PROPOSAL
Costa O BriddickCanadaAnna Fali PROPOSAL
Clifford H TollnerAustraliaElwin Sharvill UNQUALIFIED
Morrow O RutaRussiaElwin Sharvill NEGOTIATION
Stacey Q PerinAustraliaIoni Bowcher QUALIFIED
Aditya N IturbideAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin Q CampainUnited KingdomBernardo Dominic PROPOSAL
Morrow Z ChuiIndiaAsiya Javayant NEGOTIATION
Izzy W FollerRussiaIoni Bowcher NEW
Maisha M AlbaresGermanyIvan Magalhaes UNQUALIFIED
Arvin F TollnerCanadaAnna Fali QUALIFIED
Ashley S WaycottBrazilAmy Elsner UNQUALIFIED
Maisha Y WaycottGermanyXuxue Feng UNQUALIFIED
Salvatore I BriddickBrazilAnna Fali RENEWAL
Claire H StensethSpainIvan Magalhaes RENEWAL
Wickens X VenereRussiaIvan Magalhaes PROPOSAL
Maisha D ChuiJapanIoni Bowcher NEGOTIATION

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