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
Leja F CaudyRussiaAmy Elsner NEW
Jones S MacleadGermanyOnyama Limba UNQUALIFIED
Arvin M WieserCanadaAnna Fali UNQUALIFIED
Leon Z SchemmerFranceElwin Sharvill UNQUALIFIED
Ivar V KuskoIndiaElwin Sharvill QUALIFIED
Sinclair K SlusarskiAustraliaAsiya Javayant UNQUALIFIED
Ashley Z RoysterAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois T RutaJapanStephen Shaw NEW
Stacey Y OldroydBrazilElwin Sharvill NEW
Kadeem Y FigeroaGermanyStephen Shaw NEW
Stacey A VocelkaJapanXuxue Feng NEW
Francesco D MaletAustraliaStephen Shaw NEGOTIATION
Rodrigues P InouyeUnited KingdomXuxue Feng NEGOTIATION
Faith T SaylorsArgentinaBernardo Dominic PROPOSAL
Morrow B FerenczSpainAnna Fali RENEWAL
Deepesh X AmigonUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba L MarrierArgentinaBernardo Dominic QUALIFIED
Alejandro J MarrierCanadaAmy Elsner RENEWAL
Maria C MorascaItalyIvan Magalhaes NEW
Silvio Z MaletGermanyAnna Fali QUALIFIED
Morrow E FlosiSpainOnyama Limba UNQUALIFIED
Smith D OstroskyCanadaAmy Elsner PROPOSAL
Adams B VenereJapanElwin Sharvill UNQUALIFIED
Aditya H VocelkaUnited KingdomAmy Elsner QUALIFIED
Kaitlin N GlickCanadaElwin Sharvill RENEWAL
Jones F PerinAustraliaIvan Magalhaes NEW
Jeanfrancois J GlickIndiaIoni Bowcher PROPOSAL
Nicolas Z TollnerSpainStephen Shaw NEW
Deepesh D TollnerItalyAnna Fali UNQUALIFIED
Silvio K MorascaItalyIvan Magalhaes PROPOSAL
Isabel Y BowleyJapanElwin Sharvill UNQUALIFIED
Adams E CaldareraBrazilAmy Elsner NEGOTIATION
Rodrigues C PaprockiAustraliaAsiya Javayant QUALIFIED
Clifford Y MaletRussiaAnna Fali NEGOTIATION
Aika D IturbideFranceElwin Sharvill NEW
Alejandro E TollnerCanadaOnyama Limba PROPOSAL
Aditya Q SaylorsItalyAsiya Javayant QUALIFIED
Kadeem G AmigonRussiaIoni Bowcher NEW
Tony P FerenczFranceIvan Magalhaes NEW
Rodrigues U DoeArgentinaIoni Bowcher PROPOSAL
Maisha V PoquetteGermanyAmy Elsner PROPOSAL
Silvio M GarufiIndiaAmy Elsner PROPOSAL
Deepesh P MorascaCanadaXuxue Feng NEW
Munro N GlickCanadaAsiya Javayant RENEWAL
Antonio I DoeItalyAmy Elsner RENEWAL
Francesco J MorascaUnited KingdomIoni Bowcher NEW
Antonio Z MaletItalyIoni Bowcher QUALIFIED
Munro B FlosiUnited KingdomXuxue Feng UNQUALIFIED
Jones Y AlbaresCanadaAnna Fali PROPOSAL
Darci W DilliardUnited KingdomElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Silvio H DarakjyFranceAmy Elsner QUALIFIED
Aruna Z OldroydIndiaOnyama Limba RENEWAL
Kaitlin B DarakjyGermanyAnna Fali NEGOTIATION
Juan L StockhamCanadaXuxue Feng UNQUALIFIED
Isabel M KolmetzFranceAnna Fali PROPOSAL
Leja H WaycottItalyBernardo Dominic NEW
James A KolmetzBrazilOnyama Limba RENEWAL
Tony H TollnerItalyBernardo Dominic NEGOTIATION
Nicolas T MarrierAustraliaBernardo Dominic RENEWAL
Smith U AmigonJapanAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie A GarufiBrazil2024-06-04Benton, John B Jr NEGOTIATION94Anna Fali
1001Antonio B GlickItaly2024-06-09Chapman, Ross E Esq UNQUALIFIED75Stephen Shaw
1002Izzy U AlbaresItaly2024-05-30Feltz Printing Service NEGOTIATION0Stephen Shaw
1003Jefferson U GlickIndia2024-05-23Feiner Bros UNQUALIFIED28Ivan Magalhaes
1004Faith L OstroskyArgentina2024-05-28Commercial Press UNQUALIFIED12Ivan Magalhaes
1005Kadeem X GlickJapan2024-06-10Feltz Printing Service NEW33Amy Elsner
1006Leja C BowleyCanada2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED44Stephen Shaw
1007Morrow E OldroydSpain2024-05-23Feltz Printing Service QUALIFIED56Onyama Limba
1008Ricardo B BowleyCanada2024-06-12Rangoni Of Florence PROPOSAL89Asiya Javayant
1009Kadeem D GlickCanada2024-05-24Printing Dimensions PROPOSAL45Anna Fali
1010Aditya P GarufiItaly2024-05-30Buckley Miller Wright UNQUALIFIED16Bernardo Dominic
1011Stacey I VocelkaUnited Kingdom2024-06-13Dorl, James J Esq QUALIFIED4Bernardo Dominic
1012Maisha Y RimItaly2024-06-06Dorl, James J Esq NEW22Anna Fali
1013Sinclair D BologniaJapan2024-05-27Chemel, James L Cpa UNQUALIFIED90Amy Elsner
1014Emily A GauchoAustralia2024-06-03Benton, John B Jr NEGOTIATION54Ioni Bowcher
1015Ivar Z MorascaFrance2024-05-20Buckley Miller Wright RENEWAL77Ivan Magalhaes
1016Ashley E GillianFrance2024-05-30Chapman, Ross E Esq QUALIFIED0Anna Fali
1017Francesco E CaldareraArgentina2024-05-20Feltz Printing Service RENEWAL39Bernardo Dominic
1018Faith F GarufiRussia2024-06-03Rangoni Of Florence UNQUALIFIED65Onyama Limba
1019Clifford U CaudyCanada2024-05-29Truhlar And Truhlar Attys NEW98Stephen Shaw
1020Smith O GillianIndia2024-06-13King, Christopher A Esq QUALIFIED88Amy Elsner
1021Jefferson F CampainAustralia2024-06-14Chanay, Jeffrey A Esq QUALIFIED98Elwin Sharvill
1022Aditya P AlbaresGermany2024-06-09Benton, John B Jr PROPOSAL21Xuxue Feng
1023Costa I CaudyGermany2024-06-14Chanay, Jeffrey A Esq PROPOSAL53Bernardo Dominic
1024Misaki R VenereUnited Kingdom2024-06-05Printing Dimensions RENEWAL0Onyama Limba
1025Sinclair K BologniaJapan2024-06-17Benton, John B Jr QUALIFIED94Xuxue Feng
1026Julie Z AlbaresFrance2024-05-22Benton, John B Jr NEGOTIATION21Elwin Sharvill
1027Francesco Y ButtRussia2024-06-14Benton, John B Jr UNQUALIFIED20Bernardo Dominic
1028Rodrigues P InouyeAustralia2024-05-28Chapman, Ross E Esq PROPOSAL62Stephen Shaw
1029Maisha Y AmigonIndia2024-06-02Rangoni Of Florence UNQUALIFIED42Onyama Limba
1030Silvio A DoeItaly2024-06-17Printing Dimensions PROPOSAL74Asiya Javayant
1031Kaitlin P FlosiCanada2024-05-23Rousseaux, Michael Esq PROPOSAL96Stephen Shaw
1032Jefferson T BologniaBrazil2024-06-04Feiner Bros NEW81Amy Elsner
1033Leja O WieserRussia2024-06-03Dorl, James J Esq UNQUALIFIED39Xuxue Feng
1034Arvin T FigeroaIndia2024-06-17King, Christopher A Esq NEW46Asiya Javayant
1035Clifford A VocelkaSpain2024-06-10Chemel, James L Cpa NEW17Xuxue Feng
1036Salvatore P StockhamJapan2024-05-29Feltz Printing Service PROPOSAL0Ioni Bowcher
1037Claire U GillianJapan2024-06-06Truhlar And Truhlar Attys QUALIFIED20Onyama Limba
1038Isabel A SchemmerIndia2024-06-16Commercial Press UNQUALIFIED33Anna Fali
1039Jones A CaldareraItaly2024-06-05Dorl, James J Esq UNQUALIFIED92Anna Fali
1040Isabel C CampainUnited Kingdom2024-05-22Printing Dimensions RENEWAL57Bernardo Dominic
1041Juan J StockhamBrazil2024-06-14Dorl, James J Esq NEW58Stephen Shaw
1042Ashley Q NickaUnited Kingdom2024-06-09Rangoni Of Florence PROPOSAL59Amy Elsner
1043Ashley D CaudyAustralia2024-05-30Chapman, Ross E Esq RENEWAL66Amy Elsner
1044Antonio M NickaItaly2024-06-16Feiner Bros UNQUALIFIED85Ivan Magalhaes
1045Aruna Z StensethCanada2024-06-05Rousseaux, Michael Esq NEW87Stephen Shaw
1046Leja D BriddickFrance2024-05-30Dorl, James J Esq NEGOTIATION77Ivan Magalhaes
1047Julie K BologniaRussia2024-06-09Commercial Press NEGOTIATION19Bernardo Dominic
1048Stacey Y InouyeBrazil2024-06-10Buckley Miller Wright QUALIFIED56Elwin Sharvill
1049Cody A GlickCanada2024-06-17Feltz Printing Service NEGOTIATION98Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
David L CampainAustraliaAsiya Javayant NEGOTIATION
Murillo N WieserSpainIvan Magalhaes RENEWAL
Johnson R WieserItalyAsiya Javayant QUALIFIED
Morrow Q MarrierSpainXuxue Feng UNQUALIFIED
Munro W RoysterFranceXuxue Feng RENEWAL
Darci M FigeroaAustraliaIoni Bowcher PROPOSAL
Julie X OldroydGermanyStephen Shaw PROPOSAL
Francesco K StockhamIndiaIoni Bowcher PROPOSAL
Wickens N NickaItalyAsiya Javayant RENEWAL
Leja P TollnerUnited KingdomIvan Magalhaes RENEWAL
Misaki X VocelkaBrazilBernardo Dominic PROPOSAL
Deepesh L RutaGermanyAsiya Javayant RENEWAL
Leja K SergiItalyAsiya Javayant QUALIFIED
Clifford F AlbaresRussiaStephen Shaw UNQUALIFIED
Arvin N RulapaughArgentinaXuxue Feng QUALIFIED
Misaki J KolmetzBrazilIoni Bowcher PROPOSAL
Jennifer M MaletUnited KingdomIvan Magalhaes QUALIFIED
Leja M KuskoCanadaAsiya Javayant RENEWAL
Aika M CampainArgentinaIvan Magalhaes PROPOSAL
Jennifer K FigeroaArgentinaOnyama Limba RENEWAL
Francesco A BowleyAustraliaElwin Sharvill NEGOTIATION
Costa Y MorascaBrazilIvan Magalhaes NEW
Juan U OstroskyJapanStephen Shaw QUALIFIED
Kadeem F SaylorsAustraliaAnna Fali NEW
Jones J AlbaresGermanyAsiya Javayant NEW
Isabel A GauchoAustraliaElwin Sharvill NEGOTIATION
Kaitlin P KolmetzGermanyXuxue Feng NEW
Isabel B RoysterIndiaStephen Shaw NEW
Nicolas Z OldroydBrazilOnyama Limba QUALIFIED
Mayumi J OstroskyIndiaAmy Elsner PROPOSAL
Octavia L FerenczAustraliaIoni Bowcher NEW
Jennifer W ChuiRussiaAsiya Javayant NEGOTIATION
Claire K StockhamSpainXuxue Feng UNQUALIFIED
Cody I FerenczBrazilIvan Magalhaes RENEWAL
Wickens Z OldroydItalyAsiya Javayant NEW
Faith V PerinFranceOnyama Limba NEGOTIATION
Emily I DarakjyCanadaAmy Elsner QUALIFIED
Clifford X FigeroaBrazilStephen Shaw PROPOSAL
Mujtaba E ChuiJapanAnna Fali RENEWAL
Rodrigues A MaletFranceElwin Sharvill UNQUALIFIED
Silvio A PoquetteAustraliaAnna Fali PROPOSAL
Maria A ShinkoJapanOnyama Limba NEW
Cody T AmigonBrazilAsiya Javayant UNQUALIFIED
Aditya I CaudyGermanyBernardo Dominic QUALIFIED
Jones Y FollerSpainStephen Shaw RENEWAL
Costa S MorascaFranceElwin Sharvill PROPOSAL
Leja A RimUnited KingdomAsiya Javayant NEW
Darci H MacleadCanadaAnna Fali PROPOSAL
Jones K MacleadItalyAsiya Javayant QUALIFIED
Mujtaba J StensethGermanyIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Cody L Gaucho
Arvin U Poquette
Ashley C Stenseth
Cody Z Caudy
Silvio S Oldroyd
Deepesh U Gaucho
Ricardo Z Ferencz
Mayumi S Marrier
Stacey I Ferencz
James M Gaucho
Octavia M Glick
Mayumi Z Marrier
Chavez V Inouye
Alejandro Y Nestle
Ricardo X Waycott
Wickens T Amigon
Greenwood K Glick
Ashley N Ostrosky
Leja H Briddick
Ivar Q Slusarski
Silvio V Foller
Jefferson W Kusko
Francesco O Venere
Ashley K Garufi
Izzy E Briddick
Darci G Schemmer
Johnson W Kusko
Morrow Z Rim
Darci W Slusarski
Claire X Amigon
David B Doe
Leon I Ruta
Faith N Marrier
Ashley A Ruta
Ivar P Malet
Clifford M Stockham
Adams V Garufi
Stacey K Rulapaugh
Clifford S Albares
Faith Y Sergi
Jennifer B Slusarski
Claire C Marrier
Antonio V Gaucho
Leon N Rim
Rodrigues O Dilliard
Jones T Wieser
Nicolas H Nestle
Salvatore F Paprocki
Ricardo W Slusarski
Jennifer R Glick
IdCountryDate
1000Argentina2024-06-10
1001Spain2024-06-08
1002Russia2024-06-11
1003Spain2024-06-10
1004Japan2024-06-10
1005Spain2024-05-28
1006Japan2024-06-13
1007Australia2024-05-30
1008Argentina2024-06-01
1009Italy2024-06-06
1010India2024-06-16
1011Argentina2024-06-06
1012Spain2024-06-02
1013Spain2024-05-29
1014India2024-05-31
1015Brazil2024-05-20
1016Brazil2024-06-04
1017Italy2024-06-08
1018Russia2024-06-03
1019India2024-06-01
1020Spain2024-06-03
1021Canada2024-06-07
1022Japan2024-06-01
1023Canada2024-06-18
1024Argentina2024-06-18
1025India2024-05-30
1026Japan2024-06-08
1027Germany2024-06-02
1028Japan2024-05-20
1029Germany2024-06-09
1030Brazil2024-06-02
1031Spain2024-06-01
1032France2024-05-26
1033France2024-05-21
1034United Kingdom2024-06-06
1035Russia2024-06-16
1036United Kingdom2024-06-01
1037France2024-05-29
1038Italy2024-06-03
1039Canada2024-05-23
1040France2024-06-16
1041Spain2024-06-11
1042Japan2024-05-22
1043Japan2024-06-17
1044Spain2024-06-18
1045Germany2024-06-18
1046Germany2024-06-16
1047Russia2024-06-16
1048Germany2024-06-04
1049Brazil2024-05-27

On-Demand Data

NameIdCountryDate
Jones Q Paprocki1000Russia2024-06-04
Mujtaba Y Figeroa1001Germany2024-05-29
Jefferson J Inouye1002Australia2024-05-20
Costa L Maclead1003France2024-06-09
Mayumi H Ostrosky1004Brazil2024-06-18
Costa K Caldarera1005Canada2024-06-14
Silvio F Gaucho1006Brazil2024-06-06
Jeanfrancois I Amigon1007Russia2024-05-24
Greenwood W Bolognia1008Japan2024-05-30
Alejandro V Amigon1009France2024-06-14
Ricardo O Foller1010India2024-05-24
Leja O Dilliard1011Spain2024-05-31
Mujtaba A Glick1012France2024-06-06
Izzy Q Dilliard1013Australia2024-06-11
Leja V Wieser1014Germany2024-06-09
Izzy U Maclead1015Russia2024-05-31
Emily F Rulapaugh1016France2024-06-07
James G Stenseth1017Canada2024-05-21
Murillo U Briddick1018Brazil2024-05-30
Adams Y Bolognia1019Russia2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily R InouyeIndiaOnyama Limba RENEWAL
Nicolas U GauchoUnited KingdomIoni Bowcher PROPOSAL
Maisha F DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Claire Z PoquetteJapanAsiya Javayant NEW
Ashley M PaprockiJapanElwin Sharvill UNQUALIFIED
Alejandro O StockhamCanadaXuxue Feng UNQUALIFIED
Juan L CaudyUnited KingdomAnna Fali RENEWAL
Rodrigues T VocelkaItalyIvan Magalhaes UNQUALIFIED
Clifford T KolmetzGermanyBernardo Dominic QUALIFIED
Cody R PaprockiSpainOnyama Limba UNQUALIFIED
Salvatore H CaldareraGermanyAnna Fali UNQUALIFIED
Maria T BowleyBrazilOnyama Limba RENEWAL
Ricardo H KolmetzItalyElwin Sharvill QUALIFIED
Julie N GauchoBrazilBernardo Dominic NEW
Morrow I GillianCanadaBernardo Dominic UNQUALIFIED
Leon N OldroydArgentinaStephen Shaw RENEWAL
Stacey P RutaIndiaXuxue Feng NEGOTIATION
Darci J RimArgentinaAsiya Javayant QUALIFIED
Salvatore Z PaprockiSpainElwin Sharvill NEW
Francesco E WhobreyBrazilIoni Bowcher RENEWAL
Aika G VenereItalyIoni Bowcher UNQUALIFIED
Ricardo Z MaletIndiaXuxue Feng QUALIFIED
Kaitlin H SlusarskiJapanAsiya Javayant NEW
Munro W WieserAustraliaOnyama Limba UNQUALIFIED
Ashley I OldroydSpainAnna Fali NEW
Silvio L FollerUnited KingdomBernardo Dominic QUALIFIED
Mujtaba C AmigonArgentinaXuxue Feng UNQUALIFIED
Johnson C KolmetzJapanElwin Sharvill NEGOTIATION
Arvin Z TollnerRussiaXuxue Feng NEW
Murillo K PoquetteCanadaBernardo Dominic NEW
Alejandro T MaletAustraliaBernardo Dominic NEW
Murillo B AmigonSpainIoni Bowcher NEGOTIATION
Jones G AmigonArgentinaStephen Shaw NEW
Stacey Q KuskoArgentinaAsiya Javayant NEW
Kaitlin Z RutaIndiaBernardo Dominic QUALIFIED
Jefferson R RimFranceAnna Fali NEW
Murillo Y IturbideUnited KingdomOnyama Limba NEW
Clifford B FollerCanadaIoni Bowcher UNQUALIFIED
James N RoysterAustraliaStephen Shaw PROPOSAL
Faith K BowleyUnited KingdomStephen Shaw PROPOSAL

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