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
Smith X DilliardCanadaIoni Bowcher QUALIFIED
Arvin I NickaCanadaAsiya Javayant NEW
Misaki P PaprockiJapanIvan Magalhaes NEGOTIATION
Jefferson K ButtJapanOnyama Limba PROPOSAL
Octavia X FlosiRussiaIvan Magalhaes NEGOTIATION
Aruna G NestleBrazilStephen Shaw QUALIFIED
Juan T GillianCanadaAnna Fali QUALIFIED
Munro P FollerArgentinaXuxue Feng RENEWAL
Leon P PaprockiFranceBernardo Dominic NEGOTIATION
Silvio N ButtFranceOnyama Limba NEGOTIATION
Cody B VocelkaItalyIvan Magalhaes NEGOTIATION
Leja B KuskoCanadaOnyama Limba NEGOTIATION
Leon Y SchemmerIndiaElwin Sharvill NEW
Francesco S StensethItalyAnna Fali RENEWAL
Aika N NestleCanadaIvan Magalhaes QUALIFIED
Munro H ShinkoUnited KingdomElwin Sharvill PROPOSAL
Arvin Y MorascaCanadaOnyama Limba PROPOSAL
Mayumi U PoquetteSpainIvan Magalhaes RENEWAL
Leja H ButtBrazilStephen Shaw QUALIFIED
Morrow W BologniaBrazilAsiya Javayant PROPOSAL
Claire X BologniaItalyAmy Elsner QUALIFIED
Mujtaba B OldroydRussiaBernardo Dominic QUALIFIED
Kaitlin T BriddickBrazilXuxue Feng UNQUALIFIED
Darci F PerinAustraliaXuxue Feng NEW
Ivar B CampainArgentinaBernardo Dominic PROPOSAL
Costa L CaldareraFranceXuxue Feng NEGOTIATION
Cody B KolmetzCanadaAnna Fali QUALIFIED
Arvin F NickaRussiaIvan Magalhaes PROPOSAL
Jones T TollnerAustraliaIvan Magalhaes NEGOTIATION
Izzy Y WieserFranceXuxue Feng PROPOSAL
Mayumi P BowleyIndiaElwin Sharvill NEW
Cody H RoysterCanadaAsiya Javayant PROPOSAL
Antonio J TollnerIndiaIvan Magalhaes RENEWAL
Aditya G OstroskyRussiaStephen Shaw NEGOTIATION
Nicolas X NestleItalyXuxue Feng QUALIFIED
Ricardo T StensethCanadaIvan Magalhaes RENEWAL
Antonio Q CaudyUnited KingdomXuxue Feng NEW
Aditya A DoeFranceAnna Fali QUALIFIED
Jones Q PerinSpainIoni Bowcher QUALIFIED
Darci N BologniaRussiaAnna Fali NEW
Izzy P ChuiSpainAsiya Javayant UNQUALIFIED
Julie N AlbaresFranceBernardo Dominic PROPOSAL
Antonio J PerinIndiaStephen Shaw NEGOTIATION
Rodrigues S MaletGermanyOnyama Limba UNQUALIFIED
Rodrigues T KolmetzItalyIoni Bowcher PROPOSAL
Emily J NickaFranceBernardo Dominic NEGOTIATION
Francesco U IturbideFranceAmy Elsner PROPOSAL
Rodrigues Q DoeItalyIoni Bowcher NEW
Francesco J AmigonIndiaAnna Fali QUALIFIED
Jefferson U IturbideJapanIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna Q PoquetteArgentinaIvan Magalhaes NEGOTIATION
Faith R CaudyFranceBernardo Dominic UNQUALIFIED
Munro M PaprockiIndiaStephen Shaw NEW
David D PaprockiIndiaAmy Elsner PROPOSAL
Jones C ShinkoJapanAsiya Javayant NEW
Ricardo Q VenereSpainXuxue Feng RENEWAL
Emily A ButtJapanIvan Magalhaes PROPOSAL
Clifford B CaldareraIndiaElwin Sharvill QUALIFIED
Mujtaba P SchemmerAustraliaStephen Shaw PROPOSAL
Johnson D WhobreyAustraliaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha Q FlosiFrance2025-05-25Rangoni Of Florence NEW16Elwin Sharvill
1001James Z GillianArgentina2025-06-01King, Christopher A Esq UNQUALIFIED69Onyama Limba
1002Johnson T NestleCanada2025-06-12Benton, John B Jr UNQUALIFIED12Stephen Shaw
1003Silvio F KuskoArgentina2025-05-30Morlong Associates QUALIFIED28Elwin Sharvill
1004Salvatore R IturbideSpain2025-05-20Dorl, James J Esq NEGOTIATION65Amy Elsner
1005Sinclair P StensethGermany2025-06-02Feltz Printing Service UNQUALIFIED16Ivan Magalhaes
1006Octavia S ShinkoRussia2025-05-23Chanay, Jeffrey A Esq QUALIFIED52Ioni Bowcher
1007Sinclair J StockhamJapan2025-05-20Printing Dimensions RENEWAL69Anna Fali
1008Arvin D RutaItaly2025-06-15Chapman, Ross E Esq RENEWAL26Ivan Magalhaes
1009Leon O DarakjyRussia2025-06-05Chemel, James L Cpa QUALIFIED90Ivan Magalhaes
1010Leja S BowleyGermany2025-06-06Truhlar And Truhlar Attys QUALIFIED72Ioni Bowcher
1011Kadeem E RutaIndia2025-05-22Truhlar And Truhlar Attys UNQUALIFIED43Onyama Limba
1012Julie S KolmetzRussia2025-06-03Feltz Printing Service UNQUALIFIED54Xuxue Feng
1013Emily P AmigonItaly2025-05-25Feltz Printing Service NEW92Elwin Sharvill
1014Ashley F AmigonItaly2025-06-13Dorl, James J Esq PROPOSAL84Onyama Limba
1015Misaki N RulapaughItaly2025-06-15Rousseaux, Michael Esq UNQUALIFIED68Ivan Magalhaes
1016Greenwood U MorascaJapan2025-05-19Chanay, Jeffrey A Esq NEW0Stephen Shaw
1017Aika Y StockhamGermany2025-06-05Buckley Miller Wright NEW50Anna Fali
1018Sinclair U SaylorsUnited Kingdom2025-05-22Feltz Printing Service QUALIFIED58Xuxue Feng
1019Jefferson U VocelkaGermany2025-05-24King, Christopher A Esq NEGOTIATION51Amy Elsner
1020Stacey H CaudyArgentina2025-06-06Rousseaux, Michael Esq RENEWAL7Amy Elsner
1021Claire F MacleadAustralia2025-05-30Feltz Printing Service NEGOTIATION42Amy Elsner
1022Juan P DoeBrazil2025-06-14Rousseaux, Michael Esq QUALIFIED32Anna Fali
1023Mayumi A MarrierItaly2025-06-11Chemel, James L Cpa NEW74Anna Fali
1024David M NickaArgentina2025-05-18Feiner Bros UNQUALIFIED99Amy Elsner
1025Ivar Z VocelkaArgentina2025-05-23Rousseaux, Michael Esq UNQUALIFIED62Anna Fali
1026Wickens D StockhamSpain2025-05-21Feltz Printing Service RENEWAL91Amy Elsner
1027Johnson D CaudyBrazil2025-05-17Commercial Press PROPOSAL86Ivan Magalhaes
1028Greenwood J CaldareraGermany2025-06-07Feiner Bros NEW73Amy Elsner
1029Arvin E SlusarskiCanada2025-05-29Chemel, James L Cpa QUALIFIED29Ioni Bowcher
1030Silvio U SergiGermany2025-06-03Rangoni Of Florence PROPOSAL52Asiya Javayant
1031Jeanfrancois F MorascaItaly2025-05-18Chanay, Jeffrey A Esq PROPOSAL89Ioni Bowcher
1032Claire Z NestleArgentina2025-05-27Chanay, Jeffrey A Esq QUALIFIED82Asiya Javayant
1033Maisha S WaycottAustralia2025-05-30Chapman, Ross E Esq NEGOTIATION51Anna Fali
1034David Q MorascaJapan2025-05-22Chapman, Ross E Esq UNQUALIFIED53Amy Elsner
1035Morrow T VocelkaBrazil2025-05-25Truhlar And Truhlar Attys RENEWAL79Anna Fali
1036Alejandro C ButtFrance2025-05-25Feltz Printing Service QUALIFIED19Elwin Sharvill
1037Leja I WhobreyJapan2025-06-10Feiner Bros NEGOTIATION24Asiya Javayant
1038Salvatore V GarufiJapan2025-05-31Feltz Printing Service UNQUALIFIED86Ioni Bowcher
1039Aruna M PaprockiArgentina2025-06-05King, Christopher A Esq QUALIFIED22Stephen Shaw
1040Costa U GillianBrazil2025-06-09Feiner Bros RENEWAL4Elwin Sharvill
1041Antonio W RutaSpain2025-05-27Chemel, James L Cpa QUALIFIED90Onyama Limba
1042Francesco X GlickRussia2025-05-22Feiner Bros QUALIFIED40Ioni Bowcher
1043Ashley T NickaRussia2025-06-06Feltz Printing Service QUALIFIED60Ioni Bowcher
1044Munro R PerinJapan2025-05-31Rousseaux, Michael Esq QUALIFIED33Amy Elsner
1045Misaki O IturbideBrazil2025-06-11Feiner Bros NEGOTIATION47Anna Fali
1046Salvatore M StensethCanada2025-05-22Buckley Miller Wright NEGOTIATION1Ioni Bowcher
1047Darci D AmigonGermany2025-06-09Chapman, Ross E Esq NEW29Ivan Magalhaes
1048Ivar E FlosiRussia2025-05-29Benton, John B Jr RENEWAL8Onyama Limba
1049Leja P MacleadArgentina2025-05-27Chapman, Ross E Esq PROPOSAL51Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ricardo X ButtArgentinaIvan Magalhaes QUALIFIED
Cody E PoquetteItalyAnna Fali NEW
Sinclair E OstroskyAustraliaIvan Magalhaes RENEWAL
Julie K GlickArgentinaXuxue Feng NEW
Leja A RutaCanadaXuxue Feng NEGOTIATION
Claire J VocelkaSpainBernardo Dominic UNQUALIFIED
Leon U SergiUnited KingdomOnyama Limba RENEWAL
Kaitlin P DilliardGermanyXuxue Feng PROPOSAL
Nicolas N WaycottJapanAmy Elsner RENEWAL
Izzy R BologniaCanadaAnna Fali QUALIFIED
Cody V SchemmerUnited KingdomElwin Sharvill PROPOSAL
Claire N PoquetteFranceAsiya Javayant UNQUALIFIED
Ashley Z OldroydFranceOnyama Limba PROPOSAL
Emily X DilliardAustraliaOnyama Limba QUALIFIED
Costa W InouyeSpainXuxue Feng UNQUALIFIED
Kadeem Z WaycottIndiaAmy Elsner QUALIFIED
Kadeem X WhobreyArgentinaAmy Elsner NEW
Leon M FigeroaRussiaAnna Fali PROPOSAL
Mayumi O PaprockiCanadaXuxue Feng QUALIFIED
Isabel Z RutaUnited KingdomAnna Fali RENEWAL
Smith G PoquetteRussiaAnna Fali QUALIFIED
Munro R MorascaIndiaAsiya Javayant NEGOTIATION
Deepesh F VenereItalyAsiya Javayant NEGOTIATION
Morrow A ButtBrazilIvan Magalhaes PROPOSAL
Aruna F PaprockiUnited KingdomXuxue Feng RENEWAL
Nicolas H InouyeBrazilXuxue Feng RENEWAL
Tony R GarufiArgentinaElwin Sharvill RENEWAL
Tony L RulapaughCanadaAmy Elsner QUALIFIED
Isabel V GillianCanadaBernardo Dominic NEW
Aruna A MacleadRussiaStephen Shaw RENEWAL
Leon I RimRussiaIvan Magalhaes UNQUALIFIED
Munro D VocelkaJapanIoni Bowcher UNQUALIFIED
Maisha U FollerArgentinaStephen Shaw NEW
Leja I StockhamGermanyStephen Shaw NEW
Sinclair K SlusarskiJapanXuxue Feng NEW
Maisha E SergiFranceStephen Shaw UNQUALIFIED
Claire E AlbaresItalyAsiya Javayant PROPOSAL
Mujtaba I MarrierItalyAsiya Javayant QUALIFIED
David G FlosiUnited KingdomOnyama Limba NEW
Izzy K InouyeSpainIoni Bowcher NEGOTIATION
Maria Y MaletGermanyAsiya Javayant RENEWAL
Maisha X GlickItalyXuxue Feng NEW
James X DilliardAustraliaStephen Shaw QUALIFIED
Cody B NickaGermanyIoni Bowcher PROPOSAL
Ivar X ButtIndiaStephen Shaw NEW
Kadeem J GillianFranceBernardo Dominic QUALIFIED
Sinclair L VocelkaSpainIoni Bowcher RENEWAL
Jefferson Q IturbideBrazilAsiya Javayant NEW
Ivar E NestleCanadaOnyama Limba NEW
Francesco O TollnerGermanyBernardo Dominic QUALIFIED
Frozen Columns
Name
Mayumi L Poquette
Ricardo I Saylors
Silvio Y Royster
Izzy X Whobrey
Kaitlin V Kusko
Darci U Ferencz
Greenwood K Morasca
Juan E Bolognia
Aditya P Figeroa
Alejandro A Malet
Smith D Nicka
Adams C Figeroa
Morrow U Stockham
Mujtaba F Shinko
Jeanfrancois V Waycott
Greenwood T Stenseth
Jones L Paprocki
Morrow L Perin
Ivar W Maclead
Ashley I Kusko
Isabel F Wieser
Maisha A Nestle
Kadeem W Gaucho
Faith T Ferencz
Silvio C Malet
Morrow P Morasca
Alejandro H Maclead
Jennifer W Oldroyd
Jeanfrancois L Caudy
Jennifer A Paprocki
Sinclair K Rulapaugh
Jones R Malet
Jeanfrancois U Rulapaugh
Munro A Ostrosky
Costa A Butt
James I Ferencz
Izzy O Venere
Greenwood D Kolmetz
Adams X Stockham
Leja P Morasca
Chavez S Shinko
Mayumi U Inouye
Antonio K Saylors
Ashley D Marrier
Faith P Doe
Greenwood B Maclead
David G Slusarski
Kadeem Z Saylors
Deepesh B Inouye
Ashley B Paprocki
IdCountryDate
1000France2025-06-10
1001Argentina2025-05-25
1002Germany2025-06-04
1003Argentina2025-06-01
1004Russia2025-05-31
1005Spain2025-06-12
1006Canada2025-06-13
1007Argentina2025-05-18
1008Germany2025-05-18
1009Italy2025-06-15
1010Australia2025-05-31
1011Australia2025-06-06
1012Canada2025-06-09
1013Argentina2025-06-10
1014Canada2025-05-28
1015Russia2025-06-14
1016Brazil2025-06-09
1017Russia2025-05-22
1018France2025-05-30
1019India2025-05-22
1020India2025-05-29
1021Australia2025-05-29
1022Brazil2025-06-05
1023Japan2025-06-04
1024Germany2025-06-06
1025Japan2025-05-27
1026Japan2025-05-30
1027Italy2025-06-08
1028Australia2025-05-18
1029Germany2025-06-07
1030India2025-06-06
1031India2025-06-07
1032Italy2025-05-31
1033France2025-05-27
1034Canada2025-05-30
1035Australia2025-05-23
1036Brazil2025-06-05
1037Russia2025-06-13
1038Germany2025-06-13
1039Italy2025-06-15
1040United Kingdom2025-06-05
1041Spain2025-05-31
1042France2025-05-29
1043Japan2025-05-29
1044France2025-06-11
1045Russia2025-06-09
1046Spain2025-05-28
1047Argentina2025-06-04
1048United Kingdom2025-05-31
1049Australia2025-06-13

On-Demand Data

NameIdCountryDate
Salvatore P Royster1000Brazil2025-06-13
Misaki H Malet1001India2025-06-14
Adams X Dilliard1002Russia2025-05-31
Sinclair F Amigon1003Brazil2025-05-27
Aditya T Ostrosky1004Russia2025-05-30
Silvio F Ferencz1005Spain2025-06-07
David Q Waycott1006India2025-05-29
David Q Flosi1007Russia2025-06-15
Misaki T Butt1008Russia2025-05-31
Francesco Y Nestle1009Germany2025-05-31
Isabel V Nestle1010Russia2025-05-27
Kaitlin G Royster1011United Kingdom2025-05-24
Isabel N Foller1012India2025-06-15
Juan T Butt1013Argentina2025-05-27
Emily K Nicka1014Italy2025-06-14
Maisha U Figeroa1015Argentina2025-05-17
Clifford V Saylors1016Australia2025-06-01
Nicolas X Glick1017France2025-06-02
Mayumi S Kolmetz1018India2025-05-27
Silvio A Slusarski1019Russia2025-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci N SchemmerAustraliaAsiya Javayant RENEWAL
Aruna N RulapaughItalyIvan Magalhaes RENEWAL
Jones B SergiBrazilAmy Elsner RENEWAL
Costa Q FlosiCanadaAnna Fali UNQUALIFIED
Mayumi Z MaletJapanIoni Bowcher RENEWAL
Adams R DilliardItalyAsiya Javayant RENEWAL
Deepesh M GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Emily P ChuiAustraliaElwin Sharvill PROPOSAL
Tony G WaycottGermanyOnyama Limba NEW
Jefferson K TollnerIndiaElwin Sharvill QUALIFIED
Arvin L AlbaresAustraliaOnyama Limba QUALIFIED
Aruna T NestleUnited KingdomIoni Bowcher NEW
Aditya H CampainIndiaBernardo Dominic QUALIFIED
Arvin T PoquetteAustraliaElwin Sharvill NEW
Aika D SlusarskiGermanyAmy Elsner PROPOSAL
Kaitlin C OldroydAustraliaIoni Bowcher RENEWAL
Antonio H VocelkaIndiaElwin Sharvill PROPOSAL
Johnson H KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Silvio C IturbideArgentinaStephen Shaw PROPOSAL
Arvin Z IturbideRussiaBernardo Dominic UNQUALIFIED
Cody E ShinkoIndiaXuxue Feng PROPOSAL
Adams M WieserSpainXuxue Feng PROPOSAL
Alejandro A ChuiFranceAmy Elsner PROPOSAL
Rodrigues I FollerFranceIoni Bowcher RENEWAL
Aika C KuskoCanadaBernardo Dominic NEGOTIATION
Chavez Y ChuiUnited KingdomOnyama Limba NEW
David A WhobreyGermanyStephen Shaw PROPOSAL
Mujtaba J IturbideArgentinaIoni Bowcher NEGOTIATION
David O WaycottFranceAmy Elsner NEGOTIATION
Silvio S GarufiFranceOnyama Limba QUALIFIED
Claire Y GarufiGermanyXuxue Feng RENEWAL
Morrow G BriddickSpainStephen Shaw UNQUALIFIED
Murillo O VocelkaJapanElwin Sharvill NEW
Alejandro F BologniaRussiaOnyama Limba RENEWAL
Aika X InouyeBrazilOnyama Limba UNQUALIFIED
Darci R FollerArgentinaAmy Elsner NEW
Wickens J SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Smith F OstroskyItalyAmy Elsner RENEWAL
Stacey W PerinGermanyAsiya Javayant RENEWAL
Aditya V ButtCanadaXuxue Feng RENEWAL

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