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
Silvio X BriddickArgentinaAmy Elsner RENEWAL
David G MacleadArgentinaElwin Sharvill NEGOTIATION
Jefferson X IturbideArgentinaElwin Sharvill NEW
Salvatore K CampainIndiaOnyama Limba NEW
Maisha W PerinBrazilIoni Bowcher NEGOTIATION
Maisha Z ButtAustraliaAmy Elsner NEGOTIATION
Stacey Q GarufiArgentinaIvan Magalhaes QUALIFIED
Darci Y MaletBrazilXuxue Feng NEW
Jennifer C VenereRussiaAsiya Javayant QUALIFIED
Jefferson B PerinRussiaAnna Fali NEGOTIATION
Juan G FlosiCanadaElwin Sharvill RENEWAL
Antonio I SlusarskiBrazilXuxue Feng UNQUALIFIED
Alejandro Z ChuiGermanyAnna Fali NEW
Ricardo E BowleyIndiaElwin Sharvill NEGOTIATION
Aditya W GillianAustraliaStephen Shaw QUALIFIED
Ashley R PaprockiItalyXuxue Feng RENEWAL
Izzy P NestleCanadaStephen Shaw PROPOSAL
Murillo P NickaIndiaAmy Elsner PROPOSAL
Mujtaba R GauchoBrazilElwin Sharvill QUALIFIED
Kaitlin K DilliardGermanyAsiya Javayant PROPOSAL
Ricardo G FollerRussiaIoni Bowcher UNQUALIFIED
Faith O BriddickItalyIvan Magalhaes NEGOTIATION
Clifford G PoquetteItalyElwin Sharvill RENEWAL
Francesco K AlbaresRussiaXuxue Feng PROPOSAL
Aruna Z NickaGermanyOnyama Limba UNQUALIFIED
Rodrigues P AlbaresGermanyBernardo Dominic NEGOTIATION
Emily Z FlosiGermanyElwin Sharvill QUALIFIED
Murillo E RimAustraliaOnyama Limba RENEWAL
Sinclair Y GillianArgentinaXuxue Feng NEW
Silvio Q AmigonSpainElwin Sharvill QUALIFIED
Smith Z RulapaughUnited KingdomIoni Bowcher NEW
Clifford O CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Greenwood D BriddickGermanyIvan Magalhaes NEW
David H RoysterItalyAsiya Javayant NEW
James B InouyeIndiaStephen Shaw UNQUALIFIED
Jeanfrancois R NestleCanadaBernardo Dominic NEW
Izzy W WieserGermanyBernardo Dominic QUALIFIED
Kaitlin J GarufiRussiaOnyama Limba PROPOSAL
Murillo L FollerArgentinaBernardo Dominic UNQUALIFIED
Aruna V GarufiJapanAnna Fali QUALIFIED
Alejandro W AlbaresJapanIvan Magalhaes QUALIFIED
Aditya S DoeBrazilIvan Magalhaes RENEWAL
Aruna X MaletRussiaAsiya Javayant UNQUALIFIED
Johnson B FollerGermanyIoni Bowcher NEW
Aruna U DoeGermanyIoni Bowcher PROPOSAL
Francesco Y IturbideJapanAsiya Javayant PROPOSAL
Francesco I PaprockiCanadaAsiya Javayant UNQUALIFIED
Claire A FigeroaArgentinaBernardo Dominic UNQUALIFIED
Ivar V DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Claire P MacleadBrazilXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire W VenereAustraliaXuxue Feng NEW
Aika U RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Octavia U AmigonArgentinaAnna Fali PROPOSAL
Johnson S PerinFranceElwin Sharvill UNQUALIFIED
Sinclair C CaudyIndiaIoni Bowcher NEGOTIATION
Aruna X RutaIndiaBernardo Dominic NEGOTIATION
Mayumi U BologniaRussiaAnna Fali PROPOSAL
Maria F GillianFranceAmy Elsner QUALIFIED
Silvio T VenereFranceElwin Sharvill QUALIFIED
Jones S RulapaughBrazilXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith L CampainArgentina2026-07-01King, Christopher A Esq NEW75Bernardo Dominic
1001Johnson Z StensethItaly2026-07-19Benton, John B Jr NEW97Xuxue Feng
1002Chavez T AlbaresIndia2026-07-17King, Christopher A Esq PROPOSAL90Bernardo Dominic
1003Munro H GauchoFrance2026-07-13Printing Dimensions UNQUALIFIED80Ioni Bowcher
1004Jeanfrancois K GarufiCanada2026-07-02Chemel, James L Cpa RENEWAL16Elwin Sharvill
1005Izzy S NestleFrance2026-06-20Rousseaux, Michael Esq RENEWAL50Onyama Limba
1006Aditya I NickaAustralia2026-06-29Feiner Bros RENEWAL36Ivan Magalhaes
1007Leja R MaletFrance2026-07-12King, Christopher A Esq NEW26Stephen Shaw
1008Isabel R StensethUnited Kingdom2026-06-27Benton, John B Jr QUALIFIED88Ioni Bowcher
1009Ricardo V RoysterRussia2026-07-03King, Christopher A Esq QUALIFIED32Asiya Javayant
1010Ivar U InouyeItaly2026-06-24Chapman, Ross E Esq PROPOSAL6Onyama Limba
1011Aika J SaylorsArgentina2026-07-12Dorl, James J Esq NEW21Stephen Shaw
1012Ricardo N DarakjyRussia2026-07-16Commercial Press UNQUALIFIED65Onyama Limba
1013Maria X BologniaFrance2026-07-10Rangoni Of Florence UNQUALIFIED3Anna Fali
1014Ivar C MacleadRussia2026-06-25Benton, John B Jr QUALIFIED47Asiya Javayant
1015Stacey B WieserFrance2026-06-26Rousseaux, Michael Esq NEW2Xuxue Feng
1016Jones U AlbaresUnited Kingdom2026-06-27Morlong Associates NEW63Ivan Magalhaes
1017Adams D ShinkoItaly2026-07-10King, Christopher A Esq NEW81Anna Fali
1018James Q DilliardIndia2026-06-30Dorl, James J Esq UNQUALIFIED49Onyama Limba
1019Cody S RimAustralia2026-06-23Chapman, Ross E Esq NEW82Onyama Limba
1020Munro P CaudyJapan2026-07-09Feiner Bros NEW31Asiya Javayant
1021Izzy H PerinJapan2026-07-04Chanay, Jeffrey A Esq NEGOTIATION63Onyama Limba
1022Claire N FollerAustralia2026-07-18Printing Dimensions NEGOTIATION40Ivan Magalhaes
1023Chavez T CampainRussia2026-06-27Feiner Bros RENEWAL87Asiya Javayant
1024Salvatore U DilliardFrance2026-06-20Benton, John B Jr PROPOSAL92Asiya Javayant
1025Rodrigues V StockhamItaly2026-07-08Benton, John B Jr QUALIFIED59Asiya Javayant
1026Jeanfrancois Q VenereUnited Kingdom2026-06-30Rousseaux, Michael Esq RENEWAL69Amy Elsner
1027Murillo K OldroydGermany2026-07-06Feiner Bros PROPOSAL28Xuxue Feng
1028Deepesh T CaldareraBrazil2026-07-08Chanay, Jeffrey A Esq NEGOTIATION43Ivan Magalhaes
1029Jefferson F CaldareraCanada2026-07-09Commercial Press NEW22Onyama Limba
1030Aruna W MorascaRussia2026-06-29Chanay, Jeffrey A Esq PROPOSAL24Amy Elsner
1031Francesco W VenereGermany2026-07-13Feltz Printing Service PROPOSAL20Asiya Javayant
1032Greenwood H ShinkoAustralia2026-07-10Dorl, James J Esq PROPOSAL17Ioni Bowcher
1033Murillo Z ButtJapan2026-07-18Printing Dimensions NEGOTIATION84Stephen Shaw
1034Clifford S FigeroaCanada2026-06-27Rangoni Of Florence NEW48Stephen Shaw
1035Antonio W CampainBrazil2026-07-14Feltz Printing Service PROPOSAL65Anna Fali
1036Mujtaba U InouyeGermany2026-07-19Printing Dimensions NEGOTIATION21Elwin Sharvill
1037Tony L MaletBrazil2026-07-04Rangoni Of Florence UNQUALIFIED17Onyama Limba
1038Leja W GlickBrazil2026-06-26Commercial Press NEW34Xuxue Feng
1039Jefferson U WaycottIndia2026-06-22Printing Dimensions NEW38Elwin Sharvill
1040Mayumi M RimGermany2026-07-08King, Christopher A Esq NEW28Onyama Limba
1041Jefferson Y VenereGermany2026-06-22Chapman, Ross E Esq PROPOSAL23Anna Fali
1042Mujtaba A DoeAustralia2026-06-24Benton, John B Jr QUALIFIED77Stephen Shaw
1043Maisha Q GlickGermany2026-06-30Chanay, Jeffrey A Esq NEGOTIATION59Anna Fali
1044Nicolas A StockhamJapan2026-06-26Rangoni Of Florence RENEWAL64Stephen Shaw
1045Greenwood E ChuiJapan2026-06-28Feltz Printing Service PROPOSAL83Ivan Magalhaes
1046Greenwood C SergiAustralia2026-07-19King, Christopher A Esq PROPOSAL35Amy Elsner
1047Octavia R KolmetzAustralia2026-06-24Chemel, James L Cpa RENEWAL91Amy Elsner
1048Isabel U RimUnited Kingdom2026-06-21Feiner Bros UNQUALIFIED0Xuxue Feng
1049Aika A MorascaArgentina2026-06-28Rangoni Of Florence QUALIFIED79Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ivar H KuskoIndiaAmy Elsner PROPOSAL
Leon M IturbideJapanElwin Sharvill PROPOSAL
Maisha Q CaudyRussiaElwin Sharvill RENEWAL
Sinclair V GlickUnited KingdomXuxue Feng RENEWAL
Julie R MaletJapanBernardo Dominic NEGOTIATION
Alejandro T KuskoIndiaOnyama Limba RENEWAL
Cody E GlickCanadaIoni Bowcher PROPOSAL
Darci K ButtSpainIoni Bowcher UNQUALIFIED
Jennifer S PaprockiJapanIoni Bowcher QUALIFIED
Tony M RoysterRussiaIoni Bowcher UNQUALIFIED
Ricardo T KolmetzUnited KingdomAnna Fali QUALIFIED
Deepesh T MorascaArgentinaAsiya Javayant UNQUALIFIED
Stacey Q ChuiBrazilOnyama Limba NEW
Isabel U MaletSpainBernardo Dominic PROPOSAL
Salvatore X SaylorsCanadaXuxue Feng RENEWAL
Aditya H GarufiItalyAsiya Javayant PROPOSAL
Chavez X RulapaughJapanStephen Shaw QUALIFIED
David E ShinkoRussiaIoni Bowcher UNQUALIFIED
Octavia T CaudyRussiaAmy Elsner UNQUALIFIED
Alejandro S OstroskyCanadaElwin Sharvill NEGOTIATION
Clifford U PaprockiSpainElwin Sharvill RENEWAL
Kadeem F CaldareraJapanIvan Magalhaes PROPOSAL
Kadeem F CaudyCanadaIvan Magalhaes NEW
Arvin C NestleJapanIvan Magalhaes UNQUALIFIED
Maisha Q AlbaresFranceBernardo Dominic PROPOSAL
Aditya Q BowleySpainAsiya Javayant NEW
Emily O BologniaUnited KingdomOnyama Limba RENEWAL
Jeanfrancois X VenereFranceIvan Magalhaes UNQUALIFIED
Juan Y PoquetteItalyAmy Elsner NEW
David R WaycottArgentinaXuxue Feng PROPOSAL
Aditya G NickaItalyElwin Sharvill RENEWAL
Claire U RulapaughSpainXuxue Feng PROPOSAL
Ivar D BowleyItalyXuxue Feng UNQUALIFIED
Smith K ShinkoIndiaIoni Bowcher UNQUALIFIED
Juan Y StensethIndiaElwin Sharvill NEGOTIATION
Mayumi T CampainArgentinaAnna Fali UNQUALIFIED
Mujtaba L IturbideItalyStephen Shaw UNQUALIFIED
Misaki N CaudyJapanIoni Bowcher NEW
Costa F FollerItalyElwin Sharvill PROPOSAL
Jennifer E GarufiGermanyAsiya Javayant NEGOTIATION
Jones R GauchoAustraliaIoni Bowcher UNQUALIFIED
Clifford R ShinkoArgentinaAnna Fali PROPOSAL
Isabel K MorascaJapanAsiya Javayant RENEWAL
Chavez E TollnerAustraliaIvan Magalhaes NEW
Murillo G MarrierBrazilIoni Bowcher QUALIFIED
Aruna R ButtBrazilElwin Sharvill NEW
Maria V NestleCanadaXuxue Feng UNQUALIFIED
Izzy T RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem I VocelkaArgentinaAmy Elsner NEW
Adams H RutaRussiaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Francesco Y Rulapaugh
Arvin Q Tollner
Aika B Dilliard
Ricardo F Nicka
Ashley R Rim
Smith D Campain
Jefferson F Saylors
Wickens H Perin
Silvio E Iturbide
Greenwood J Venere
Cody F Bowley
Octavia J Caldarera
Octavia D Kolmetz
Juan N Oldroyd
Ivar K Chui
Rodrigues T Perin
Juan B Glick
Mujtaba M Inouye
James L Malet
Ashley P Slusarski
Darci E Slusarski
Isabel O Foller
Juan E Gaucho
Smith E Whobrey
Nicolas F Vocelka
Jennifer R Slusarski
Emily N Malet
Misaki O Malet
Tony R Tollner
Ashley X Paprocki
Adams T Rulapaugh
Faith D Flosi
Salvatore Y Ostrosky
Wickens P Dilliard
Leja E Chui
David Q Foller
Leon W Campain
Francesco Y Marrier
James E Nicka
Juan R Rim
Silvio J Waycott
Stacey M Morasca
Kadeem Z Campain
Chavez D Malet
Juan E Bolognia
Jefferson K Saylors
Morrow V Malet
Munro W Garufi
Isabel S Flosi
Tony L Gaucho
IdCountryDate
1000United Kingdom2026-07-01
1001Argentina2026-07-12
1002United Kingdom2026-07-08
1003United Kingdom2026-06-29
1004Russia2026-07-04
1005India2026-06-27
1006Russia2026-07-18
1007United Kingdom2026-07-03
1008Australia2026-07-14
1009Germany2026-07-14
1010Brazil2026-06-30
1011Germany2026-06-26
1012Germany2026-07-04
1013Spain2026-06-21
1014Spain2026-07-03
1015France2026-06-26
1016United Kingdom2026-06-29
1017Russia2026-07-15
1018Australia2026-06-29
1019Brazil2026-06-24
1020Germany2026-07-15
1021Canada2026-07-04
1022Russia2026-07-01
1023Japan2026-07-14
1024Argentina2026-07-04
1025United Kingdom2026-06-22
1026Russia2026-07-14
1027Japan2026-06-28
1028Brazil2026-07-14
1029Japan2026-06-28
1030Argentina2026-07-06
1031Canada2026-07-19
1032India2026-06-22
1033India2026-06-26
1034Canada2026-06-30
1035United Kingdom2026-06-24
1036Canada2026-06-23
1037France2026-06-22
1038Brazil2026-07-14
1039Canada2026-07-05
1040Argentina2026-07-06
1041Argentina2026-07-04
1042Japan2026-07-06
1043Japan2026-06-28
1044Germany2026-06-24
1045Russia2026-06-21
1046France2026-07-10
1047Spain2026-07-09
1048France2026-06-27
1049Australia2026-07-16

On-Demand Data

NameIdCountryDate
Jefferson P Iturbide1000Japan2026-07-13
Ricardo T Briddick1001France2026-07-14
Stacey H Nestle1002Australia2026-07-08
Octavia N Kusko1003Russia2026-07-16
James U Rim1004Russia2026-07-12
Alejandro E Malet1005Canada2026-06-30
Stacey Q Chui1006India2026-07-09
Adams P Dilliard1007Germany2026-06-26
Kadeem K Marrier1008Italy2026-07-02
Ashley L Malet1009Argentina2026-06-20
Leja Z Iturbide1010Canada2026-06-26
Deepesh V Royster1011Argentina2026-07-03
Emily M Poquette1012Japan2026-07-02
Jones A Sergi1013Argentina2026-07-19
Ashley N Ruta1014India2026-07-04
Izzy Y Albares1015Canada2026-07-04
Jennifer W Poquette1016Spain2026-06-24
Rodrigues Y Rulapaugh1017Germany2026-07-02
Juan Z Campain1018Spain2026-06-30
Aditya S Butt1019Russia2026-07-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams W FigeroaUnited KingdomAsiya Javayant PROPOSAL
Mujtaba Z NickaGermanyBernardo Dominic NEW
Isabel N RulapaughJapanAsiya Javayant RENEWAL
Salvatore R DilliardFranceIoni Bowcher UNQUALIFIED
Nicolas Y VenereGermanyIoni Bowcher QUALIFIED
Aruna F MarrierAustraliaOnyama Limba RENEWAL
Salvatore G WaycottArgentinaStephen Shaw RENEWAL
James K NickaGermanyAnna Fali NEW
Rodrigues R WhobreyIndiaStephen Shaw NEGOTIATION
David I CaldareraUnited KingdomXuxue Feng QUALIFIED
Maria K OldroydIndiaStephen Shaw NEW
Francesco N GlickAustraliaXuxue Feng PROPOSAL
Wickens M CampainItalyStephen Shaw UNQUALIFIED
Julie N FollerCanadaStephen Shaw UNQUALIFIED
Darci H GillianRussiaOnyama Limba RENEWAL
Izzy C SaylorsIndiaBernardo Dominic RENEWAL
Ivar P RimBrazilBernardo Dominic QUALIFIED
Johnson M WhobreyRussiaElwin Sharvill NEGOTIATION
Leon S MaletIndiaAmy Elsner PROPOSAL
Wickens P MacleadUnited KingdomBernardo Dominic PROPOSAL
Darci M NickaRussiaAsiya Javayant QUALIFIED
Darci C CaudyGermanyBernardo Dominic NEW
Ivar H WaycottGermanyAsiya Javayant RENEWAL
Greenwood R GarufiCanadaAnna Fali UNQUALIFIED
Juan O RulapaughJapanBernardo Dominic RENEWAL
Aruna D OstroskyRussiaXuxue Feng PROPOSAL
Wickens M GlickItalyAmy Elsner UNQUALIFIED
James W NestleAustraliaXuxue Feng RENEWAL
Stacey C BowleyUnited KingdomXuxue Feng QUALIFIED
Morrow X BologniaFranceAmy Elsner NEGOTIATION
Juan Y NestleJapanAnna Fali UNQUALIFIED
Darci S SaylorsGermanyStephen Shaw QUALIFIED
Jefferson G AmigonRussiaAmy Elsner QUALIFIED
Tony F StensethRussiaOnyama Limba PROPOSAL
Aruna A AmigonItalyAnna Fali NEGOTIATION
Smith L SchemmerSpainXuxue Feng NEGOTIATION
Johnson B ShinkoBrazilAmy Elsner PROPOSAL
Ricardo W CampainCanadaAsiya Javayant UNQUALIFIED
Aditya L VenereFranceElwin Sharvill NEGOTIATION
Costa Q WieserSpainBernardo Dominic 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>