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
Darci D GarufiRussiaElwin Sharvill NEGOTIATION
Chavez I VenereCanadaAsiya Javayant PROPOSAL
Mayumi A BriddickIndiaAnna Fali PROPOSAL
Munro W FerenczArgentinaAmy Elsner PROPOSAL
Kadeem N KolmetzSpainAmy Elsner NEGOTIATION
Claire G MaletJapanOnyama Limba UNQUALIFIED
Aditya Y FollerGermanyAsiya Javayant PROPOSAL
Isabel M MaletBrazilAmy Elsner PROPOSAL
Tony B KuskoCanadaAmy Elsner UNQUALIFIED
Jones J FollerUnited KingdomAnna Fali NEGOTIATION
Rodrigues E SchemmerArgentinaAmy Elsner NEW
Ricardo H TollnerAustraliaXuxue Feng PROPOSAL
Mujtaba O FerenczBrazilAsiya Javayant UNQUALIFIED
Antonio P SaylorsJapanAmy Elsner NEGOTIATION
Jefferson Z MacleadCanadaIvan Magalhaes NEGOTIATION
Johnson A BriddickBrazilElwin Sharvill PROPOSAL
Kaitlin Z StensethArgentinaElwin Sharvill RENEWAL
Munro I AlbaresCanadaXuxue Feng PROPOSAL
Costa G DoeGermanyBernardo Dominic NEW
Antonio V MacleadJapanAsiya Javayant UNQUALIFIED
Ashley D PerinArgentinaXuxue Feng UNQUALIFIED
Jennifer D StensethIndiaIvan Magalhaes QUALIFIED
Johnson O StensethArgentinaStephen Shaw NEW
Cody E BowleyCanadaXuxue Feng PROPOSAL
Morrow W BowleyAustraliaBernardo Dominic NEGOTIATION
Misaki I SlusarskiGermanyOnyama Limba PROPOSAL
Chavez M MaletBrazilXuxue Feng RENEWAL
Kadeem K StensethGermanyAsiya Javayant NEW
Cody X WieserCanadaIoni Bowcher NEW
Maisha J DarakjyJapanAsiya Javayant PROPOSAL
Chavez C FigeroaSpainAsiya Javayant NEW
Francesco U ShinkoItalyStephen Shaw NEW
Salvatore A RimFranceOnyama Limba NEGOTIATION
Kaitlin Y WhobreyFranceOnyama Limba NEW
Murillo C ShinkoItalyStephen Shaw NEW
Stacey O MorascaItalyOnyama Limba NEW
Alejandro Z GlickItalyStephen Shaw QUALIFIED
Leja T MorascaAustraliaBernardo Dominic PROPOSAL
Ivar Q ShinkoUnited KingdomAsiya Javayant RENEWAL
Rodrigues O GauchoCanadaIvan Magalhaes NEW
Sinclair I PerinJapanElwin Sharvill NEW
Jeanfrancois M RoysterSpainIvan Magalhaes NEW
Tony V StensethFranceAsiya Javayant NEGOTIATION
Maisha L RutaUnited KingdomAmy Elsner PROPOSAL
Maisha S GarufiCanadaIvan Magalhaes RENEWAL
Mayumi M RutaArgentinaBernardo Dominic PROPOSAL
Stacey T FlosiItalyBernardo Dominic NEGOTIATION
Kadeem Q IturbideIndiaOnyama Limba PROPOSAL
James J SergiFranceAsiya Javayant RENEWAL
Claire L PoquetteArgentinaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore N GauchoGermanyAnna Fali PROPOSAL
Juan V GlickIndiaAmy Elsner PROPOSAL
Jeanfrancois J WhobreyArgentinaElwin Sharvill NEW
Julie X ShinkoGermanyElwin Sharvill NEGOTIATION
Nicolas G KolmetzSpainAmy Elsner NEGOTIATION
Tony H PoquetteIndiaAnna Fali NEGOTIATION
Murillo Z FollerArgentinaBernardo Dominic QUALIFIED
Jones U BowleyItalyStephen Shaw QUALIFIED
Morrow U NestleRussiaIvan Magalhaes UNQUALIFIED
Salvatore W BriddickBrazilElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba I MaletArgentina2024-06-07Chanay, Jeffrey A Esq PROPOSAL86Stephen Shaw
1001James H GarufiJapan2024-05-18Dorl, James J Esq NEGOTIATION20Bernardo Dominic
1002Claire X PerinAustralia2024-05-22Chemel, James L Cpa RENEWAL94Bernardo Dominic
1003Darci F GlickItaly2024-05-26Benton, John B Jr NEGOTIATION98Ioni Bowcher
1004Clifford S MaletIndia2024-06-12Chapman, Ross E Esq NEW18Xuxue Feng
1005Rodrigues J CampainGermany2024-06-13Feiner Bros NEW5Ioni Bowcher
1006Greenwood B PoquetteIndia2024-05-21Truhlar And Truhlar Attys UNQUALIFIED42Ivan Magalhaes
1007Chavez G MarrierRussia2024-06-12Rangoni Of Florence RENEWAL10Onyama Limba
1008Mayumi L CaldareraCanada2024-06-16Commercial Press NEGOTIATION9Anna Fali
1009Leja U AmigonBrazil2024-05-24Commercial Press PROPOSAL46Stephen Shaw
1010Mayumi Q PerinRussia2024-06-09Dorl, James J Esq QUALIFIED31Asiya Javayant
1011Leja F OldroydCanada2024-06-16Rousseaux, Michael Esq PROPOSAL54Bernardo Dominic
1012Emily K ShinkoSpain2024-05-23Feltz Printing Service QUALIFIED83Amy Elsner
1013Rodrigues F FollerIndia2024-05-27Commercial Press QUALIFIED63Stephen Shaw
1014Jefferson O RimIndia2024-06-04Morlong Associates QUALIFIED52Amy Elsner
1015Jennifer G RulapaughAustralia2024-06-07Feltz Printing Service NEGOTIATION33Ivan Magalhaes
1016Adams E OstroskyCanada2024-05-21Feiner Bros RENEWAL37Xuxue Feng
1017Tony G VocelkaUnited Kingdom2024-05-26Chemel, James L Cpa PROPOSAL84Elwin Sharvill
1018Kadeem U DilliardUnited Kingdom2024-06-16Buckley Miller Wright PROPOSAL54Asiya Javayant
1019Ivar U MacleadSpain2024-06-08King, Christopher A Esq NEGOTIATION8Amy Elsner
1020Arvin O PerinUnited Kingdom2024-06-14Feltz Printing Service QUALIFIED81Elwin Sharvill
1021Isabel P NestleCanada2024-05-19King, Christopher A Esq NEW38Xuxue Feng
1022Sinclair V GlickCanada2024-05-23Chemel, James L Cpa NEW84Amy Elsner
1023Isabel H FerenczSpain2024-06-04Benton, John B Jr NEW5Elwin Sharvill
1024Izzy R FigeroaFrance2024-05-18King, Christopher A Esq QUALIFIED61Asiya Javayant
1025Misaki Z PerinIndia2024-05-18Chanay, Jeffrey A Esq NEW96Ioni Bowcher
1026Chavez U WieserJapan2024-05-18Feiner Bros NEGOTIATION73Asiya Javayant
1027Ivar F ButtBrazil2024-05-24Dorl, James J Esq PROPOSAL20Ioni Bowcher
1028Antonio P PoquetteAustralia2024-06-06Chemel, James L Cpa QUALIFIED25Stephen Shaw
1029Munro Z MorascaJapan2024-05-26Truhlar And Truhlar Attys QUALIFIED14Ivan Magalhaes
1030Maisha O CampainArgentina2024-06-10Commercial Press RENEWAL60Asiya Javayant
1031Wickens J GillianGermany2024-06-08Chanay, Jeffrey A Esq QUALIFIED43Bernardo Dominic
1032Sinclair A KuskoRussia2024-05-26Feiner Bros NEW65Onyama Limba
1033David D VocelkaGermany2024-05-25King, Christopher A Esq PROPOSAL40Anna Fali
1034Antonio A NickaItaly2024-05-23Commercial Press RENEWAL42Bernardo Dominic
1035Aruna X RutaBrazil2024-05-31Dorl, James J Esq RENEWAL29Xuxue Feng
1036Kadeem B GillianUnited Kingdom2024-06-02Chemel, James L Cpa NEGOTIATION36Amy Elsner
1037Kadeem O CaldareraItaly2024-05-31Printing Dimensions NEW60Amy Elsner
1038Izzy O ButtIndia2024-06-15Truhlar And Truhlar Attys PROPOSAL42Xuxue Feng
1039Maisha B KolmetzAustralia2024-05-26Feltz Printing Service UNQUALIFIED71Ivan Magalhaes
1040Mayumi A BowleyGermany2024-05-23Feltz Printing Service RENEWAL26Elwin Sharvill
1041Costa J CaldareraArgentina2024-06-14Commercial Press NEGOTIATION31Elwin Sharvill
1042Kaitlin W StensethRussia2024-06-04Benton, John B Jr UNQUALIFIED91Amy Elsner
1043Stacey Q RulapaughRussia2024-06-07Rousseaux, Michael Esq PROPOSAL45Ioni Bowcher
1044Kaitlin Z CaudyUnited Kingdom2024-05-21Chanay, Jeffrey A Esq UNQUALIFIED73Anna Fali
1045Morrow P InouyeFrance2024-05-27Printing Dimensions UNQUALIFIED25Anna Fali
1046Izzy P BowleyGermany2024-06-06Buckley Miller Wright PROPOSAL58Asiya Javayant
1047Isabel P GauchoRussia2024-05-26Morlong Associates NEW38Ivan Magalhaes
1048Tony S BowleyAustralia2024-05-28Chemel, James L Cpa RENEWAL93Amy Elsner
1049Aika F ChuiRussia2024-06-06Printing Dimensions NEGOTIATION71Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ricardo K VenereCanadaElwin Sharvill QUALIFIED
Rodrigues T IturbideUnited KingdomOnyama Limba RENEWAL
Aika A ButtFranceIvan Magalhaes PROPOSAL
David K FerenczGermanyElwin Sharvill NEW
Ashley J GarufiAustraliaAsiya Javayant PROPOSAL
Ricardo G MorascaUnited KingdomAnna Fali UNQUALIFIED
Tony B BriddickGermanyOnyama Limba NEGOTIATION
Kaitlin V VocelkaGermanyBernardo Dominic RENEWAL
Sinclair E RulapaughRussiaStephen Shaw QUALIFIED
Ivar N ShinkoRussiaIvan Magalhaes NEW
Tony U WaycottRussiaXuxue Feng NEGOTIATION
Jeanfrancois E WaycottCanadaAnna Fali PROPOSAL
Rodrigues M PaprockiBrazilIvan Magalhaes UNQUALIFIED
Costa W MaletItalyIoni Bowcher UNQUALIFIED
Tony F PoquetteIndiaElwin Sharvill PROPOSAL
Faith L GarufiBrazilIoni Bowcher PROPOSAL
Kaitlin M InouyeJapanXuxue Feng NEW
Sinclair Z ChuiGermanyAmy Elsner QUALIFIED
Isabel L RulapaughRussiaIoni Bowcher PROPOSAL
Antonio P GlickFranceElwin Sharvill QUALIFIED
Johnson V MarrierIndiaIvan Magalhaes NEW
Francesco K MaletItalyIoni Bowcher RENEWAL
Juan S NickaBrazilBernardo Dominic UNQUALIFIED
Octavia E CaldareraAustraliaIvan Magalhaes RENEWAL
Octavia F RoysterUnited KingdomElwin Sharvill NEW
Leja B CampainUnited KingdomOnyama Limba QUALIFIED
Arvin U IturbideBrazilOnyama Limba UNQUALIFIED
Octavia W NestleCanadaElwin Sharvill RENEWAL
Deepesh M MorascaBrazilAnna Fali UNQUALIFIED
Munro R AmigonFranceBernardo Dominic NEGOTIATION
Jefferson D NestleGermanyIvan Magalhaes NEGOTIATION
Maisha B SaylorsIndiaStephen Shaw NEGOTIATION
Juan F SaylorsIndiaOnyama Limba NEW
Silvio E PoquetteJapanIoni Bowcher QUALIFIED
Nicolas P DarakjyFranceXuxue Feng NEW
Stacey X CaudyItalyAnna Fali NEW
Ricardo G StensethGermanyAsiya Javayant NEGOTIATION
Kadeem X FlosiUnited KingdomAnna Fali NEW
Octavia O NestleJapanIoni Bowcher RENEWAL
Juan F VocelkaBrazilOnyama Limba NEGOTIATION
Kadeem O KuskoBrazilBernardo Dominic NEW
Leon J BologniaRussiaAsiya Javayant NEW
Darci T ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas B RimArgentinaAnna Fali QUALIFIED
Rodrigues H NickaGermanyAmy Elsner RENEWAL
Stacey R MacleadItalyIvan Magalhaes UNQUALIFIED
Cody A FollerGermanyIoni Bowcher NEGOTIATION
James J KolmetzItalyXuxue Feng NEW
Ashley J RoysterAustraliaIoni Bowcher NEW
Jefferson Z FigeroaItalyOnyama Limba PROPOSAL
Frozen Columns
Name
Kaitlin X Darakjy
Aditya P Rulapaugh
Francesco R Albares
Aditya O Stockham
Leja X Wieser
Sinclair W Gillian
Maria X Rim
Wickens O Gaucho
Murillo U Albares
Misaki G Butt
Mujtaba H Kusko
Arvin I Poquette
Mayumi K Campain
Nicolas U Nicka
Octavia N Bowley
Ashley S Rim
Cody K Waycott
Adams U Iturbide
Salvatore G Foller
Morrow H Iturbide
Costa U Wieser
Aditya H Gillian
Emily Z Saylors
Aruna U Caudy
Chavez U Rulapaugh
Kadeem L Darakjy
Cody G Gillian
Izzy N Kolmetz
Emily T Gillian
David I Oldroyd
Ashley B Rulapaugh
Maisha K Ruta
Sinclair D Marrier
Antonio G Perin
Francesco X Caldarera
Stacey U Chui
Alejandro W Schemmer
David R Saylors
Ivar V Morasca
David N Maclead
Morrow Z Oldroyd
Maisha O Royster
Claire Y Garufi
Kaitlin G Poquette
Nicolas O Ferencz
Nicolas S Albares
Kadeem W Paprocki
Murillo N Marrier
Mujtaba V Ruta
Kadeem C Perin
IdCountryDate
1000Japan2024-06-07
1001Spain2024-05-28
1002France2024-05-27
1003France2024-06-09
1004Canada2024-05-28
1005France2024-05-28
1006Japan2024-06-16
1007Brazil2024-06-05
1008Spain2024-05-30
1009Spain2024-05-19
1010Japan2024-05-31
1011United Kingdom2024-06-04
1012Russia2024-05-24
1013Canada2024-06-15
1014Spain2024-06-15
1015Japan2024-05-22
1016Brazil2024-06-13
1017Argentina2024-05-18
1018Germany2024-05-29
1019France2024-06-05
1020France2024-05-24
1021Spain2024-06-04
1022Argentina2024-06-12
1023France2024-05-23
1024Germany2024-05-28
1025Canada2024-06-05
1026Italy2024-06-06
1027Canada2024-05-22
1028Spain2024-05-24
1029Russia2024-05-18
1030Russia2024-06-12
1031India2024-06-11
1032Italy2024-06-13
1033Brazil2024-06-02
1034Germany2024-05-27
1035Russia2024-06-08
1036Australia2024-05-23
1037Australia2024-06-09
1038Italy2024-06-01
1039Germany2024-06-02
1040Russia2024-05-18
1041Brazil2024-05-28
1042Australia2024-06-02
1043Russia2024-06-02
1044United Kingdom2024-06-06
1045Brazil2024-05-25
1046Japan2024-05-30
1047Canada2024-05-29
1048Argentina2024-05-31
1049Italy2024-05-29

On-Demand Data

NameIdCountryDate
Claire S Paprocki1000France2024-05-18
Jones N Marrier1001United Kingdom2024-06-03
Greenwood M Caldarera1002Italy2024-06-06
Mujtaba F Ruta1003Spain2024-06-05
Aruna E Oldroyd1004France2024-05-21
Juan I Dilliard1005Italy2024-06-10
Maria W Bolognia1006United Kingdom2024-06-07
Ricardo P Tollner1007India2024-05-25
Deepesh S Ostrosky1008Russia2024-05-30
Leon V Malet1009Russia2024-05-22
Silvio F Royster1010Australia2024-05-30
Jefferson Y Iturbide1011Italy2024-06-07
Jeanfrancois W Amigon1012United Kingdom2024-06-11
Rodrigues L Malet1013Italy2024-06-01
Aika S Poquette1014Brazil2024-05-18
Stacey G Glick1015Spain2024-05-20
Faith K Schemmer1016Brazil2024-05-19
Alejandro T Ostrosky1017Brazil2024-06-09
Smith T Shinko1018Germany2024-06-12
Kadeem G Malet1019Russia2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony P SlusarskiGermanyBernardo Dominic PROPOSAL
Francesco T KuskoAustraliaAnna Fali QUALIFIED
Adams D TollnerBrazilIoni Bowcher NEW
Kadeem D VocelkaIndiaAmy Elsner PROPOSAL
James E FerenczJapanElwin Sharvill RENEWAL
Alejandro D InouyeBrazilStephen Shaw RENEWAL
Stacey S DarakjySpainStephen Shaw UNQUALIFIED
Francesco G StensethBrazilOnyama Limba NEW
Aika H SaylorsSpainIoni Bowcher RENEWAL
Murillo V BowleyRussiaStephen Shaw PROPOSAL
Mayumi O PaprockiItalyOnyama Limba NEW
Faith Z BologniaItalyXuxue Feng UNQUALIFIED
Izzy P NestleArgentinaAsiya Javayant NEW
Jones S ButtFranceOnyama Limba RENEWAL
Nicolas O SlusarskiItalyElwin Sharvill RENEWAL
James Z StensethFranceBernardo Dominic UNQUALIFIED
Chavez X PoquetteIndiaOnyama Limba QUALIFIED
Antonio G SchemmerRussiaBernardo Dominic NEGOTIATION
Emily G PoquetteBrazilOnyama Limba UNQUALIFIED
Octavia A PaprockiBrazilIvan Magalhaes PROPOSAL
Alejandro R GarufiSpainOnyama Limba NEGOTIATION
Wickens G GillianUnited KingdomBernardo Dominic QUALIFIED
Clifford Z GauchoItalyAsiya Javayant RENEWAL
Isabel T OstroskyAustraliaBernardo Dominic QUALIFIED
Emily U VenereSpainBernardo Dominic UNQUALIFIED
Maria X NestleBrazilIoni Bowcher NEW
Murillo K MorascaJapanStephen Shaw UNQUALIFIED
Claire T KuskoIndiaAsiya Javayant UNQUALIFIED
Deepesh K CaudyJapanIvan Magalhaes NEGOTIATION
Leon M GillianUnited KingdomBernardo Dominic PROPOSAL
Juan I DilliardFranceIoni Bowcher UNQUALIFIED
Smith N WhobreyRussiaElwin Sharvill RENEWAL
Kadeem L ChuiSpainAsiya Javayant NEGOTIATION
Jennifer M BriddickItalyAnna Fali UNQUALIFIED
Stacey B MorascaIndiaOnyama Limba UNQUALIFIED
Antonio Z GlickCanadaOnyama Limba PROPOSAL
Misaki L PoquetteJapanIvan Magalhaes NEW
Tony G PoquetteItalyAmy Elsner QUALIFIED
Stacey M StockhamAustraliaAnna Fali RENEWAL
Sinclair M SergiUnited KingdomIvan Magalhaes QUALIFIED

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