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
Jeanfrancois F FerenczGermanyBernardo Dominic NEGOTIATION
Maria K DoeFranceXuxue Feng UNQUALIFIED
Clifford B OstroskyBrazilAnna Fali NEGOTIATION
Adams K StensethFranceIvan Magalhaes QUALIFIED
Leja N VenereArgentinaIoni Bowcher UNQUALIFIED
Adams N SlusarskiGermanyAsiya Javayant NEGOTIATION
Arvin Z MaletSpainOnyama Limba UNQUALIFIED
Jones T BriddickRussiaElwin Sharvill QUALIFIED
Nicolas V RoysterCanadaBernardo Dominic PROPOSAL
Octavia Z GarufiArgentinaAmy Elsner QUALIFIED
Juan P RoysterRussiaBernardo Dominic RENEWAL
Alejandro K OldroydGermanyAsiya Javayant RENEWAL
Mayumi F GarufiBrazilIoni Bowcher UNQUALIFIED
Clifford O NestleFranceBernardo Dominic QUALIFIED
Stacey E WieserUnited KingdomBernardo Dominic QUALIFIED
Adams H MorascaBrazilBernardo Dominic UNQUALIFIED
Johnson J FerenczIndiaIvan Magalhaes NEW
Arvin L SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Ashley J CampainGermanyBernardo Dominic RENEWAL
Mayumi J ShinkoItalyStephen Shaw NEGOTIATION
Francesco T MacleadArgentinaIvan Magalhaes UNQUALIFIED
Chavez I MaletGermanyIoni Bowcher NEW
Darci X SergiGermanyAsiya Javayant NEW
Sinclair P ShinkoJapanOnyama Limba UNQUALIFIED
Octavia I FollerFranceAmy Elsner UNQUALIFIED
Alejandro I MarrierBrazilOnyama Limba QUALIFIED
Juan O FollerUnited KingdomBernardo Dominic QUALIFIED
Munro G StockhamAustraliaStephen Shaw QUALIFIED
Kaitlin C GlickAustraliaAnna Fali UNQUALIFIED
Izzy O IturbideBrazilIoni Bowcher QUALIFIED
Morrow M InouyeUnited KingdomIvan Magalhaes NEGOTIATION
Ashley K InouyeJapanAmy Elsner NEGOTIATION
Tony X MacleadSpainIvan Magalhaes UNQUALIFIED
Faith P InouyeRussiaBernardo Dominic QUALIFIED
Maisha M GarufiUnited KingdomOnyama Limba RENEWAL
Ivar D ShinkoUnited KingdomAmy Elsner NEGOTIATION
Wickens N SergiRussiaOnyama Limba NEW
Julie M FerenczUnited KingdomStephen Shaw NEGOTIATION
Jones F WhobreyUnited KingdomIvan Magalhaes PROPOSAL
Aika Q WieserGermanyIoni Bowcher RENEWAL
Salvatore D AlbaresAustraliaIoni Bowcher RENEWAL
Silvio Z OstroskyUnited KingdomStephen Shaw UNQUALIFIED
Jones F FlosiRussiaBernardo Dominic NEW
Silvio J TollnerArgentinaAsiya Javayant UNQUALIFIED
Smith C WieserJapanElwin Sharvill RENEWAL
Isabel M FollerRussiaXuxue Feng NEGOTIATION
Ashley A SlusarskiSpainElwin Sharvill PROPOSAL
Izzy P FlosiBrazilAnna Fali NEW
Kadeem E VocelkaUnited KingdomIvan Magalhaes NEW
Nicolas B FerenczRussiaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leja J GillianArgentinaAmy Elsner RENEWAL
Isabel T MaletArgentinaIvan Magalhaes NEW
Octavia A WhobreyGermanyIoni Bowcher QUALIFIED
Mujtaba V NestleAustraliaIoni Bowcher NEW
Sinclair D WaycottGermanyIvan Magalhaes QUALIFIED
Leja E NestleFranceBernardo Dominic QUALIFIED
Kaitlin W SchemmerCanadaAnna Fali NEGOTIATION
Sinclair R DoeItalyBernardo Dominic UNQUALIFIED
Mujtaba U ButtIndiaIoni Bowcher NEW
James G AlbaresRussiaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem M BriddickJapan2026-04-10Dorl, James J Esq PROPOSAL96Onyama Limba
1001Tony G MarrierIndia2026-04-17Feltz Printing Service UNQUALIFIED22Amy Elsner
1002Jeanfrancois T WhobreyUnited Kingdom2026-04-14Feiner Bros QUALIFIED37Xuxue Feng
1003Smith F MarrierAustralia2026-04-17Commercial Press UNQUALIFIED30Stephen Shaw
1004Chavez N RimRussia2026-04-16Chapman, Ross E Esq PROPOSAL23Asiya Javayant
1005Deepesh C GauchoArgentina2026-04-03Chanay, Jeffrey A Esq UNQUALIFIED61Onyama Limba
1006Izzy Q ShinkoBrazil2026-04-20Rousseaux, Michael Esq RENEWAL65Elwin Sharvill
1007Salvatore Q SergiJapan2026-04-24Feltz Printing Service PROPOSAL2Elwin Sharvill
1008Maisha C RutaSpain2026-04-09Chemel, James L Cpa QUALIFIED18Xuxue Feng
1009Octavia Y WaycottItaly2026-04-20Truhlar And Truhlar Attys QUALIFIED78Onyama Limba
1010Faith C CaldareraUnited Kingdom2026-04-04Feiner Bros RENEWAL49Xuxue Feng
1011Chavez D SergiRussia2026-04-23Feiner Bros QUALIFIED28Ivan Magalhaes
1012Greenwood E VocelkaFrance2026-04-13King, Christopher A Esq QUALIFIED12Onyama Limba
1013Jefferson S ChuiJapan2026-04-21Benton, John B Jr NEGOTIATION95Amy Elsner
1014Ivar O InouyeItaly2026-04-30Feiner Bros RENEWAL75Ivan Magalhaes
1015Wickens O SaylorsArgentina2026-04-06King, Christopher A Esq NEW38Elwin Sharvill
1016Greenwood W RutaJapan2026-04-10Chemel, James L Cpa QUALIFIED58Stephen Shaw
1017Mujtaba A StensethItaly2026-04-08Feltz Printing Service RENEWAL62Elwin Sharvill
1018Kadeem B RulapaughItaly2026-04-20Dorl, James J Esq NEGOTIATION46Stephen Shaw
1019Deepesh I RutaGermany2026-04-09Dorl, James J Esq QUALIFIED86Xuxue Feng
1020Jennifer C MacleadRussia2026-04-13Dorl, James J Esq NEW89Ioni Bowcher
1021Johnson S KuskoFrance2026-04-15Truhlar And Truhlar Attys NEW34Elwin Sharvill
1022Costa O VocelkaItaly2026-04-03Buckley Miller Wright PROPOSAL15Asiya Javayant
1023Tony J FerenczGermany2026-04-10Dorl, James J Esq NEW1Xuxue Feng
1024Alejandro P StensethUnited Kingdom2026-04-10Morlong Associates RENEWAL96Stephen Shaw
1025Johnson H SaylorsArgentina2026-04-20Rousseaux, Michael Esq NEGOTIATION78Ioni Bowcher
1026Ashley Q GlickJapan2026-04-19Printing Dimensions QUALIFIED68Bernardo Dominic
1027Julie N ChuiArgentina2026-04-02Morlong Associates NEW39Ivan Magalhaes
1028Izzy F MaletRussia2026-04-23Dorl, James J Esq UNQUALIFIED75Elwin Sharvill
1029Emily U TollnerUnited Kingdom2026-04-03Printing Dimensions NEGOTIATION83Stephen Shaw
1030Darci E PoquetteIndia2026-04-20Printing Dimensions UNQUALIFIED66Onyama Limba
1031Mujtaba I FlosiFrance2026-04-06Chemel, James L Cpa QUALIFIED98Elwin Sharvill
1032Rodrigues U WhobreyGermany2026-04-18Buckley Miller Wright PROPOSAL19Anna Fali
1033Jones Q NestleArgentina2026-04-06King, Christopher A Esq NEGOTIATION65Asiya Javayant
1034Morrow I ShinkoBrazil2026-04-26Chemel, James L Cpa UNQUALIFIED71Amy Elsner
1035Greenwood D BologniaJapan2026-04-05Benton, John B Jr RENEWAL79Anna Fali
1036Ivar A WieserFrance2026-04-09Printing Dimensions NEGOTIATION93Elwin Sharvill
1037Ivar J AlbaresGermany2026-04-22Morlong Associates RENEWAL23Xuxue Feng
1038Jennifer V CaudyIndia2026-04-28Printing Dimensions PROPOSAL57Asiya Javayant
1039Costa T GarufiItaly2026-04-02Buckley Miller Wright NEW69Asiya Javayant
1040Stacey F InouyeJapan2026-04-09Buckley Miller Wright QUALIFIED51Xuxue Feng
1041Clifford A OstroskyCanada2026-04-02Dorl, James J Esq NEGOTIATION40Ioni Bowcher
1042Jones J AmigonRussia2026-04-10King, Christopher A Esq UNQUALIFIED92Xuxue Feng
1043Ashley C ButtItaly2026-04-07Truhlar And Truhlar Attys NEGOTIATION87Amy Elsner
1044Isabel B MaletGermany2026-04-09Chanay, Jeffrey A Esq PROPOSAL92Ioni Bowcher
1045Smith W DoeGermany2026-04-04Chanay, Jeffrey A Esq RENEWAL75Onyama Limba
1046Wickens S PaprockiFrance2026-04-02Truhlar And Truhlar Attys RENEWAL25Onyama Limba
1047Munro N CaudyAustralia2026-04-13Printing Dimensions NEW49Xuxue Feng
1048Misaki X SaylorsGermany2026-04-04Rousseaux, Michael Esq NEGOTIATION97Anna Fali
1049Greenwood S PerinRussia2026-04-08Morlong Associates PROPOSAL2Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Wickens G FigeroaItalyIoni Bowcher NEGOTIATION
Nicolas C OstroskySpainElwin Sharvill NEGOTIATION
Johnson O NickaItalyIoni Bowcher NEW
Cody F NickaUnited KingdomAmy Elsner UNQUALIFIED
Tony L StensethGermanyXuxue Feng PROPOSAL
Faith M FigeroaCanadaStephen Shaw NEGOTIATION
Francesco C VenereSpainStephen Shaw NEW
Aditya Q CampainItalyBernardo Dominic NEGOTIATION
Leon D MarrierIndiaElwin Sharvill NEW
Silvio S PoquetteFranceStephen Shaw NEGOTIATION
Francesco M DarakjyItalyOnyama Limba PROPOSAL
Mujtaba B KuskoSpainOnyama Limba NEGOTIATION
Misaki R BriddickCanadaElwin Sharvill UNQUALIFIED
Adams W MaletAustraliaStephen Shaw PROPOSAL
Clifford D AlbaresSpainBernardo Dominic RENEWAL
Nicolas W AmigonArgentinaIvan Magalhaes PROPOSAL
Murillo D TollnerGermanyAnna Fali NEW
Isabel Q SergiBrazilOnyama Limba PROPOSAL
Jefferson W OstroskyUnited KingdomIoni Bowcher NEW
Ricardo N MarrierIndiaBernardo Dominic NEGOTIATION
Adams T BriddickBrazilOnyama Limba UNQUALIFIED
Smith M BologniaArgentinaStephen Shaw RENEWAL
Emily R ShinkoArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois D CaldareraUnited KingdomAmy Elsner PROPOSAL
Julie U MaletItalyAmy Elsner NEW
Ivar D MaletJapanAmy Elsner RENEWAL
Wickens R FerenczItalyElwin Sharvill NEGOTIATION
Ashley N AlbaresJapanBernardo Dominic QUALIFIED
James W WieserGermanyStephen Shaw NEGOTIATION
Leja D MorascaGermanyAsiya Javayant NEGOTIATION
Arvin S DarakjyJapanAnna Fali RENEWAL
Arvin C DilliardBrazilAsiya Javayant PROPOSAL
Jones X DoeBrazilAmy Elsner QUALIFIED
Deepesh D RulapaughAustraliaOnyama Limba UNQUALIFIED
James M RimGermanyElwin Sharvill PROPOSAL
Jennifer O RulapaughBrazilElwin Sharvill NEW
Antonio K GauchoFranceIvan Magalhaes NEW
Isabel H StensethArgentinaXuxue Feng NEW
Greenwood G CaldareraArgentinaOnyama Limba RENEWAL
Octavia P ButtBrazilBernardo Dominic NEW
Jeanfrancois Y KolmetzGermanyElwin Sharvill UNQUALIFIED
Salvatore L GlickFranceAsiya Javayant PROPOSAL
Kaitlin I FerenczAustraliaStephen Shaw NEW
Faith R KuskoIndiaIvan Magalhaes QUALIFIED
Sinclair I PoquetteIndiaStephen Shaw QUALIFIED
Antonio F DilliardCanadaBernardo Dominic UNQUALIFIED
Octavia V ShinkoUnited KingdomAnna Fali RENEWAL
Ricardo N PoquetteFranceAmy Elsner RENEWAL
Stacey E TollnerAustraliaAsiya Javayant RENEWAL
Faith A PaprockiJapanAmy Elsner NEGOTIATION
Frozen Columns
Name
Aruna Y Rim
Johnson X Ferencz
Salvatore L Kusko
Adams K Venere
Maisha K Ostrosky
Stacey N Dilliard
Julie D Royster
Jennifer I Caldarera
Cody I Waycott
Johnson E Glick
Smith V Schemmer
Clifford D Glick
Mayumi U Garufi
Julie Z Vocelka
Ashley S Nestle
Ashley C Waycott
Greenwood Y Iturbide
Kadeem H Campain
Juan G Campain
Maria O Darakjy
Arvin A Morasca
Stacey T Bolognia
Maisha N Ruta
Wickens W Stockham
Julie K Bowley
Wickens D Figeroa
Aruna K Rim
Antonio V Amigon
Smith D Caudy
Johnson E Whobrey
Stacey H Vocelka
Arvin G Briddick
Jennifer C Glick
Silvio Z Waycott
Sinclair U Perin
Wickens Y Gillian
Greenwood H Sergi
Sinclair I Nestle
Ivar X Vocelka
Jones L Malet
Cody I Butt
Jennifer N Waycott
Johnson S Glick
Emily N Nestle
Deepesh K Iturbide
Julie Q Rim
Wickens P Gaucho
Jeanfrancois J Shinko
Emily X Venere
Leja C Amigon
IdCountryDate
1000Brazil2026-04-22
1001Argentina2026-04-03
1002United Kingdom2026-04-08
1003Brazil2026-04-13
1004Canada2026-04-24
1005Spain2026-04-11
1006Japan2026-05-01
1007Canada2026-04-11
1008India2026-04-20
1009United Kingdom2026-04-19
1010Japan2026-04-26
1011India2026-05-01
1012Italy2026-04-23
1013Canada2026-04-15
1014Argentina2026-04-08
1015India2026-04-08
1016Spain2026-04-14
1017Australia2026-04-13
1018Italy2026-04-11
1019Germany2026-04-04
1020Spain2026-04-21
1021Canada2026-04-08
1022France2026-05-01
1023Spain2026-04-27
1024France2026-04-22
1025Australia2026-04-07
1026Russia2026-04-16
1027Germany2026-04-23
1028Italy2026-04-25
1029Canada2026-04-03
1030United Kingdom2026-04-20
1031Spain2026-04-10
1032Russia2026-04-27
1033France2026-04-21
1034Canada2026-04-14
1035Germany2026-04-09
1036India2026-04-16
1037Italy2026-04-07
1038Australia2026-05-01
1039Brazil2026-04-27
1040Russia2026-04-07
1041Germany2026-04-06
1042India2026-04-06
1043Spain2026-04-25
1044Germany2026-04-04
1045Argentina2026-04-22
1046India2026-04-11
1047Japan2026-04-11
1048Brazil2026-04-12
1049Russia2026-04-11

On-Demand Data

NameIdCountryDate
Wickens F Caldarera1000Argentina2026-04-13
Aika C Sergi1001India2026-04-16
Maria K Venere1002Japan2026-04-06
Smith Z Slusarski1003Germany2026-04-20
Clifford Y Albares1004Spain2026-04-25
Julie X Darakjy1005Russia2026-04-21
Stacey D Glick1006Canada2026-04-11
Murillo R Venere1007Argentina2026-04-12
Maria L Saylors1008France2026-04-13
Leon I Wieser1009Russia2026-04-21
Greenwood M Schemmer1010Canada2026-04-15
Cody P Dilliard1011France2026-04-14
Maisha O Briddick1012Argentina2026-04-21
Smith R Shinko1013Canada2026-04-22
Johnson C Nicka1014France2026-04-16
Morrow L Royster1015Australia2026-04-20
Jones B Marrier1016France2026-04-02
Rodrigues C Iturbide1017Canada2026-04-27
Wickens C Royster1018Argentina2026-04-08
James V Shinko1019Russia2026-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika Z ButtRussiaAsiya Javayant NEW
Claire T PoquetteUnited KingdomIoni Bowcher QUALIFIED
Aruna O VenereIndiaElwin Sharvill QUALIFIED
Leja V MacleadAustraliaStephen Shaw PROPOSAL
Jefferson K OldroydGermanyElwin Sharvill NEW
Emily G FlosiJapanIvan Magalhaes UNQUALIFIED
Silvio L WhobreyFranceAnna Fali RENEWAL
Aruna O CaudyIndiaIvan Magalhaes QUALIFIED
Clifford Z VenereArgentinaOnyama Limba NEGOTIATION
Tony P RoysterUnited KingdomOnyama Limba QUALIFIED
Morrow N MacleadAustraliaOnyama Limba RENEWAL
Mujtaba B OldroydIndiaOnyama Limba RENEWAL
Salvatore E DoeItalyOnyama Limba NEGOTIATION
Costa Z WhobreyArgentinaOnyama Limba RENEWAL
Aika W DoeJapanBernardo Dominic NEW
Tony S VenereBrazilAmy Elsner UNQUALIFIED
Johnson C MorascaFranceIvan Magalhaes NEGOTIATION
Morrow U BowleyRussiaOnyama Limba QUALIFIED
Ricardo X NickaBrazilIvan Magalhaes UNQUALIFIED
Isabel V SchemmerBrazilIoni Bowcher PROPOSAL
Francesco K CaudyArgentinaIoni Bowcher NEGOTIATION
Ivar Y BologniaUnited KingdomIoni Bowcher QUALIFIED
Salvatore J AlbaresIndiaXuxue Feng RENEWAL
Darci N StensethFranceAsiya Javayant NEGOTIATION
Ivar W MorascaItalyAmy Elsner QUALIFIED
Adams O VocelkaFranceAmy Elsner RENEWAL
Deepesh H ButtAustraliaOnyama Limba PROPOSAL
Salvatore N BologniaBrazilAmy Elsner UNQUALIFIED
Sinclair F OstroskyUnited KingdomAnna Fali PROPOSAL
Octavia V ChuiJapanIvan Magalhaes RENEWAL
Ricardo Q FerenczGermanyAmy Elsner NEGOTIATION
Maria L PerinAustraliaAsiya Javayant PROPOSAL
Faith W OstroskyFranceStephen Shaw NEW
Aditya A NestleFranceStephen Shaw RENEWAL
Darci D KolmetzCanadaAnna Fali UNQUALIFIED
Izzy X MaletItalyIoni Bowcher PROPOSAL
Juan C KuskoAustraliaIvan Magalhaes QUALIFIED
Maria Q MorascaBrazilIoni Bowcher QUALIFIED
Faith E DilliardRussiaAmy Elsner NEW
Leja X InouyeCanadaIoni 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.