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
Aruna J WieserCanadaAmy Elsner PROPOSAL
Maisha R DilliardGermanyOnyama Limba RENEWAL
Francesco V BowleyAustraliaStephen Shaw NEW
Antonio S BowleyAustraliaIvan Magalhaes RENEWAL
Jennifer K SchemmerAustraliaAnna Fali QUALIFIED
Morrow B CaldareraBrazilStephen Shaw RENEWAL
Leon B MorascaUnited KingdomIoni Bowcher NEGOTIATION
Izzy X GarufiIndiaOnyama Limba RENEWAL
Aditya Z OstroskyIndiaXuxue Feng QUALIFIED
Jeanfrancois X NickaBrazilElwin Sharvill RENEWAL
Wickens K VenereRussiaStephen Shaw QUALIFIED
David J GlickUnited KingdomAnna Fali NEGOTIATION
Arvin W ChuiSpainAnna Fali NEGOTIATION
Aruna K InouyeRussiaStephen Shaw NEW
Aika F KuskoJapanElwin Sharvill QUALIFIED
Misaki W SaylorsJapanStephen Shaw NEGOTIATION
Nicolas J SaylorsJapanAmy Elsner RENEWAL
Rodrigues Y MaletArgentinaIoni Bowcher NEGOTIATION
David M KolmetzGermanyOnyama Limba NEW
Kadeem H BologniaSpainAnna Fali PROPOSAL
Maisha R RoysterAustraliaAmy Elsner NEW
Smith U RoysterCanadaXuxue Feng UNQUALIFIED
Maria A GillianCanadaAnna Fali QUALIFIED
Francesco R SlusarskiBrazilIoni Bowcher RENEWAL
Darci G StockhamSpainBernardo Dominic NEGOTIATION
Jennifer C CaldareraAustraliaElwin Sharvill RENEWAL
Ashley S MaletSpainStephen Shaw NEW
Juan M MaletAustraliaStephen Shaw PROPOSAL
James T DilliardIndiaAmy Elsner UNQUALIFIED
Wickens O DoeBrazilOnyama Limba NEGOTIATION
Aika Q VenereJapanAsiya Javayant RENEWAL
Leon G FerenczGermanyBernardo Dominic NEGOTIATION
Claire R SergiJapanAmy Elsner RENEWAL
Aruna G NestleRussiaStephen Shaw QUALIFIED
Ivar J FigeroaSpainOnyama Limba QUALIFIED
Greenwood W DarakjyBrazilOnyama Limba NEGOTIATION
Aditya A GillianCanadaStephen Shaw UNQUALIFIED
Darci Y WieserSpainIvan Magalhaes RENEWAL
James S CampainAustraliaAnna Fali QUALIFIED
Sinclair H WhobreyRussiaBernardo Dominic QUALIFIED
Adams L TollnerArgentinaAnna Fali QUALIFIED
Izzy Z RimJapanAnna Fali PROPOSAL
Jefferson Q PoquetteIndiaAsiya Javayant QUALIFIED
Munro Z RoysterIndiaIvan Magalhaes PROPOSAL
Aditya M VocelkaUnited KingdomIvan Magalhaes NEGOTIATION
Murillo T PerinCanadaAnna Fali QUALIFIED
Costa V GillianArgentinaAnna Fali UNQUALIFIED
Salvatore X RulapaughSpainIvan Magalhaes UNQUALIFIED
Arvin R BriddickItalyOnyama Limba NEW
Ashley U SergiArgentinaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem I KuskoCanadaAmy Elsner PROPOSAL
Stacey I SchemmerCanadaAnna Fali NEGOTIATION
Tony X IturbideBrazilAsiya Javayant PROPOSAL
Julie B AmigonUnited KingdomIvan Magalhaes RENEWAL
Isabel U InouyeJapanStephen Shaw PROPOSAL
Cody U MaletItalyBernardo Dominic RENEWAL
Smith N SergiAustraliaIoni Bowcher NEGOTIATION
Arvin Q FigeroaFranceAmy Elsner PROPOSAL
Octavia U StensethSpainBernardo Dominic NEW
Tony X InouyeGermanyAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie K DilliardBrazil2024-06-05Chemel, James L Cpa UNQUALIFIED78Elwin Sharvill
1001Darci Z BowleyRussia2024-06-12Chapman, Ross E Esq NEGOTIATION1Amy Elsner
1002James P MorascaRussia2024-06-19Commercial Press NEGOTIATION16Xuxue Feng
1003Murillo T NestleUnited Kingdom2024-06-18Benton, John B Jr UNQUALIFIED56Elwin Sharvill
1004Jones C MaletAustralia2024-06-05Printing Dimensions NEGOTIATION22Xuxue Feng
1005Greenwood U RulapaughItaly2024-06-07Dorl, James J Esq QUALIFIED65Onyama Limba
1006Aruna O StockhamItaly2024-06-17Chanay, Jeffrey A Esq PROPOSAL52Xuxue Feng
1007Alejandro Z RulapaughRussia2024-06-03Printing Dimensions NEGOTIATION41Anna Fali
1008Francesco U StockhamCanada2024-05-30Rangoni Of Florence UNQUALIFIED19Anna Fali
1009Nicolas M SaylorsIndia2024-06-14Chemel, James L Cpa NEGOTIATION40Amy Elsner
1010Claire Q StockhamAustralia2024-05-27Benton, John B Jr PROPOSAL53Stephen Shaw
1011Mujtaba T DoeAustralia2024-05-25Commercial Press NEW99Ioni Bowcher
1012Octavia A ChuiItaly2024-05-28Rousseaux, Michael Esq UNQUALIFIED51Xuxue Feng
1013Izzy S MaletRussia2024-06-08Morlong Associates QUALIFIED52Ioni Bowcher
1014Wickens O GauchoJapan2024-05-24Commercial Press UNQUALIFIED92Stephen Shaw
1015Wickens M ChuiArgentina2024-05-25Truhlar And Truhlar Attys NEW28Stephen Shaw
1016Nicolas X OstroskySpain2024-06-15Printing Dimensions QUALIFIED8Elwin Sharvill
1017Misaki E GillianCanada2024-06-15Chapman, Ross E Esq UNQUALIFIED65Elwin Sharvill
1018Costa B StensethFrance2024-06-14King, Christopher A Esq NEGOTIATION41Xuxue Feng
1019Stacey D ShinkoItaly2024-06-16Buckley Miller Wright QUALIFIED80Elwin Sharvill
1020Johnson N DoeRussia2024-05-27King, Christopher A Esq NEW27Ivan Magalhaes
1021Maria M WaycottGermany2024-05-23Chemel, James L Cpa UNQUALIFIED66Asiya Javayant
1022Aditya H MaletFrance2024-06-19Dorl, James J Esq PROPOSAL88Bernardo Dominic
1023Leon R RoysterIndia2024-06-07Benton, John B Jr PROPOSAL58Ivan Magalhaes
1024Isabel P CaudyFrance2024-06-08Morlong Associates NEW22Asiya Javayant
1025Kaitlin J GauchoGermany2024-06-01Benton, John B Jr NEW77Anna Fali
1026Chavez B MarrierCanada2024-06-09Benton, John B Jr PROPOSAL85Elwin Sharvill
1027Silvio O SchemmerSpain2024-05-30Buckley Miller Wright NEW82Asiya Javayant
1028Nicolas C MorascaAustralia2024-06-13Benton, John B Jr NEW18Xuxue Feng
1029Emily N MaletArgentina2024-06-01Feltz Printing Service UNQUALIFIED23Anna Fali
1030Ivar G SchemmerCanada2024-05-23Benton, John B Jr RENEWAL90Onyama Limba
1031Aditya X GauchoCanada2024-06-14Rangoni Of Florence NEW9Ioni Bowcher
1032Antonio D MorascaIndia2024-06-04Benton, John B Jr UNQUALIFIED74Onyama Limba
1033Aika A MarrierArgentina2024-06-01Printing Dimensions NEGOTIATION16Ivan Magalhaes
1034Chavez I DilliardArgentina2024-06-02Rousseaux, Michael Esq NEGOTIATION19Asiya Javayant
1035Cody B OldroydJapan2024-05-24Benton, John B Jr QUALIFIED35Amy Elsner
1036Deepesh C RimCanada2024-06-13Rousseaux, Michael Esq NEW39Onyama Limba
1037Kaitlin N GarufiUnited Kingdom2024-06-07Truhlar And Truhlar Attys QUALIFIED48Stephen Shaw
1038Adams F SaylorsSpain2024-06-05Dorl, James J Esq NEW97Bernardo Dominic
1039Misaki Q KolmetzSpain2024-06-12Morlong Associates RENEWAL11Anna Fali
1040Morrow C CaldareraRussia2024-06-07Buckley Miller Wright RENEWAL71Ioni Bowcher
1041Greenwood N NestleGermany2024-05-31Rangoni Of Florence QUALIFIED55Asiya Javayant
1042Adams G MorascaIndia2024-06-17Commercial Press NEGOTIATION8Onyama Limba
1043Leja A DilliardIndia2024-05-30Rangoni Of Florence RENEWAL68Stephen Shaw
1044Izzy G OldroydGermany2024-05-25Buckley Miller Wright NEW30Bernardo Dominic
1045Deepesh I SlusarskiGermany2024-06-05Chemel, James L Cpa PROPOSAL0Ivan Magalhaes
1046Greenwood G IturbideBrazil2024-05-26Chanay, Jeffrey A Esq NEW4Ioni Bowcher
1047Aruna K OldroydUnited Kingdom2024-06-09Feiner Bros QUALIFIED75Ivan Magalhaes
1048Claire Y MaletAustralia2024-06-01Rousseaux, Michael Esq RENEWAL17Elwin Sharvill
1049Clifford Z PaprockiFrance2024-06-16Buckley Miller Wright RENEWAL48Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens P MacleadAustraliaIvan Magalhaes NEGOTIATION
Stacey L PaprockiArgentinaIoni Bowcher UNQUALIFIED
Chavez U StensethIndiaXuxue Feng UNQUALIFIED
Costa X GillianBrazilXuxue Feng NEGOTIATION
Ivar Y IturbideArgentinaAmy Elsner RENEWAL
Emily A SergiUnited KingdomAnna Fali RENEWAL
Aditya Z MaletItalyBernardo Dominic NEW
Deepesh F RoysterUnited KingdomAnna Fali RENEWAL
Ashley L MaletIndiaIvan Magalhaes NEGOTIATION
Sinclair P FigeroaUnited KingdomAsiya Javayant PROPOSAL
Mayumi E FollerJapanXuxue Feng RENEWAL
Aditya I PerinItalyIoni Bowcher UNQUALIFIED
Aika X GlickItalyElwin Sharvill NEW
Tony M DarakjyIndiaOnyama Limba UNQUALIFIED
Tony R OstroskyRussiaBernardo Dominic PROPOSAL
Mujtaba C WieserCanadaStephen Shaw QUALIFIED
Claire E NickaJapanAnna Fali NEW
Cody F DarakjySpainAnna Fali UNQUALIFIED
Faith F RoysterItalyIvan Magalhaes UNQUALIFIED
Jones D GauchoAustraliaOnyama Limba NEGOTIATION
Tony G DarakjySpainBernardo Dominic NEW
Ricardo V TollnerArgentinaIoni Bowcher PROPOSAL
David C OldroydFranceIoni Bowcher RENEWAL
Johnson X GlickUnited KingdomElwin Sharvill NEGOTIATION
Emily E CaldareraIndiaOnyama Limba NEGOTIATION
Adams Q VenereBrazilIoni Bowcher RENEWAL
Emily N GlickUnited KingdomBernardo Dominic PROPOSAL
Munro A VenereGermanyXuxue Feng NEW
Deepesh D GauchoUnited KingdomXuxue Feng QUALIFIED
James B FlosiBrazilStephen Shaw NEW
Emily L ButtFranceBernardo Dominic RENEWAL
Leja Q KolmetzRussiaIoni Bowcher UNQUALIFIED
Chavez K StensethFranceXuxue Feng NEW
Juan C NestleArgentinaOnyama Limba NEGOTIATION
Morrow J MaletJapanAnna Fali UNQUALIFIED
Ashley Y MacleadItalyIoni Bowcher UNQUALIFIED
Aditya K ShinkoAustraliaXuxue Feng PROPOSAL
Jones C MorascaUnited KingdomOnyama Limba RENEWAL
Johnson F RutaSpainIoni Bowcher NEGOTIATION
Chavez P CaudyArgentinaOnyama Limba PROPOSAL
Juan K RimItalyElwin Sharvill NEGOTIATION
Aruna J ChuiFranceAsiya Javayant NEW
Izzy B KolmetzBrazilElwin Sharvill NEGOTIATION
Julie S CaudyRussiaXuxue Feng NEGOTIATION
Jennifer D WieserArgentinaAsiya Javayant UNQUALIFIED
Cody B FollerAustraliaBernardo Dominic NEW
Ricardo V BriddickRussiaIvan Magalhaes NEW
Jennifer K FerenczJapanAnna Fali QUALIFIED
Leja Y KolmetzAustraliaAnna Fali UNQUALIFIED
Jefferson W FlosiRussiaAnna Fali RENEWAL
Frozen Columns
Name
Aditya X Foller
Salvatore T Rulapaugh
Emily C Inouye
Adams M Briddick
Sinclair M Bolognia
Silvio Y Doe
Sinclair T Shinko
Morrow A Butt
Ivar I Schemmer
Darci S Inouye
Aruna S Albares
Antonio J Malet
Chavez V Rulapaugh
Izzy W Iturbide
Juan E Whobrey
Maria S Glick
Maria Y Rim
Kadeem S Saylors
Aditya S Wieser
Jefferson Z Gillian
Aika P Sergi
Rodrigues J Stenseth
Leon U Gaucho
Wickens O Paprocki
Smith I Gillian
Leja J Ostrosky
Ashley E Morasca
Deepesh A Rim
Leon J Saylors
Julie M Garufi
Adams X Ruta
Smith S Caldarera
Stacey D Foller
Nicolas B Saylors
Leja Y Ruta
Ashley X Schemmer
Claire A Waycott
Mujtaba E Waycott
Ivar G Bolognia
Antonio K Campain
Octavia R Slusarski
Jones X Inouye
Mujtaba G Vocelka
Kadeem S Briddick
Octavia N Perin
Kaitlin K Rulapaugh
Silvio P Caldarera
Sinclair E Nestle
Maisha B Ruta
Aditya Z Venere
IdCountryDate
1000Russia2024-05-23
1001Germany2024-06-10
1002Russia2024-06-03
1003Spain2024-05-31
1004Australia2024-06-18
1005Italy2024-06-02
1006Australia2024-05-30
1007India2024-06-07
1008Canada2024-06-06
1009Japan2024-05-28
1010Spain2024-06-06
1011Germany2024-06-14
1012Australia2024-06-20
1013United Kingdom2024-06-05
1014Argentina2024-06-20
1015Argentina2024-06-20
1016United Kingdom2024-05-23
1017Russia2024-05-26
1018Brazil2024-05-27
1019Canada2024-06-13
1020Canada2024-05-27
1021Argentina2024-06-07
1022Japan2024-06-04
1023Germany2024-05-23
1024Argentina2024-06-19
1025Canada2024-06-05
1026Australia2024-06-04
1027Argentina2024-06-13
1028Russia2024-06-07
1029India2024-06-20
1030Italy2024-06-07
1031France2024-06-05
1032Canada2024-06-04
1033India2024-06-08
1034United Kingdom2024-06-13
1035Russia2024-06-04
1036India2024-06-08
1037Italy2024-06-06
1038Russia2024-05-26
1039France2024-05-27
1040Australia2024-06-05
1041Russia2024-05-25
1042India2024-06-21
1043Japan2024-05-23
1044Australia2024-06-05
1045Brazil2024-06-07
1046Canada2024-06-17
1047Spain2024-06-19
1048Spain2024-05-24
1049Italy2024-05-27

On-Demand Data

NameIdCountryDate
James H Oldroyd1000United Kingdom2024-06-03
Adams R Marrier1001Russia2024-06-02
Faith K Slusarski1002Spain2024-06-02
Clifford D Ostrosky1003Canada2024-05-27
Isabel S Bowley1004Japan2024-05-23
Faith P Schemmer1005Japan2024-05-24
Ashley B Caudy1006Russia2024-05-29
Ricardo W Tollner1007United Kingdom2024-05-28
Cody Z Royster1008Germany2024-06-02
Jennifer V Sergi1009Australia2024-06-19
Kadeem Q Vocelka1010India2024-06-12
Antonio M Schemmer1011Canada2024-05-28
Mayumi J Whobrey1012United Kingdom2024-06-02
Leon F Iturbide1013Canada2024-06-21
Aditya D Garufi1014Australia2024-06-03
Maria T Stenseth1015Spain2024-06-21
Smith X Inouye1016India2024-05-31
Alejandro E Bowley1017Brazil2024-05-27
Tony I Ruta1018Germany2024-06-08
Aditya M Schemmer1019France2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia K SlusarskiAustraliaAmy Elsner NEGOTIATION
Aika P FlosiUnited KingdomBernardo Dominic RENEWAL
Jefferson D FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Greenwood T MaletFranceElwin Sharvill PROPOSAL
Mujtaba N DilliardJapanAnna Fali UNQUALIFIED
Claire B OldroydArgentinaElwin Sharvill UNQUALIFIED
Ricardo S KuskoAustraliaElwin Sharvill NEGOTIATION
Antonio Y WaycottCanadaStephen Shaw UNQUALIFIED
Greenwood G AlbaresFranceAsiya Javayant UNQUALIFIED
Juan D KolmetzJapanXuxue Feng UNQUALIFIED
Aditya D CaudyUnited KingdomOnyama Limba PROPOSAL
Ivar G BowleyGermanyAnna Fali NEGOTIATION
Salvatore F ButtBrazilAsiya Javayant NEGOTIATION
Murillo L BowleyFranceAmy Elsner RENEWAL
Jones F WhobreyJapanStephen Shaw RENEWAL
Murillo Q GarufiAustraliaIvan Magalhaes NEGOTIATION
Mujtaba D BologniaBrazilAnna Fali UNQUALIFIED
Leja G ShinkoBrazilStephen Shaw UNQUALIFIED
Sinclair D VenereArgentinaAmy Elsner UNQUALIFIED
Cody L MaletSpainAsiya Javayant QUALIFIED
Stacey V WieserFranceIoni Bowcher NEGOTIATION
Leja G OldroydGermanyOnyama Limba QUALIFIED
Murillo M CaudyJapanAmy Elsner PROPOSAL
Wickens I CaudyJapanAsiya Javayant QUALIFIED
Francesco M SaylorsFranceStephen Shaw NEGOTIATION
Mayumi N RimSpainIoni Bowcher QUALIFIED
Tony R ShinkoAustraliaAmy Elsner RENEWAL
Salvatore A InouyeUnited KingdomOnyama Limba RENEWAL
Nicolas S IturbideGermanyElwin Sharvill NEGOTIATION
Octavia A StockhamItalyBernardo Dominic UNQUALIFIED
Munro I WaycottFranceAmy Elsner NEGOTIATION
Smith E OldroydRussiaAmy Elsner NEGOTIATION
Silvio P PerinBrazilOnyama Limba QUALIFIED
Kadeem N DilliardAustraliaIvan Magalhaes UNQUALIFIED
Antonio M PaprockiJapanElwin Sharvill PROPOSAL
Ivar W CaldareraSpainIvan Magalhaes RENEWAL
Jeanfrancois E StensethJapanXuxue Feng NEGOTIATION
Tony G WaycottFranceOnyama Limba PROPOSAL
Ricardo T KolmetzIndiaXuxue Feng UNQUALIFIED
Ashley B FollerAustraliaElwin Sharvill 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>