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
Jefferson A DilliardBrazilIvan Magalhaes NEGOTIATION
Antonio K NickaArgentinaAnna Fali PROPOSAL
Nicolas N WieserItalyAmy Elsner NEGOTIATION
James Y MaletJapanElwin Sharvill NEW
Jeanfrancois M GarufiIndiaStephen Shaw UNQUALIFIED
Maisha B CaldareraBrazilAnna Fali QUALIFIED
Mujtaba Q ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Darci D VocelkaRussiaAnna Fali UNQUALIFIED
Kadeem N InouyeFranceAmy Elsner NEGOTIATION
Mayumi I ChuiCanadaAsiya Javayant NEW
Clifford T VenereArgentinaOnyama Limba NEW
Faith H AmigonRussiaBernardo Dominic NEGOTIATION
Tony T OldroydCanadaIvan Magalhaes PROPOSAL
Adams D KolmetzGermanyAmy Elsner QUALIFIED
Tony E GarufiRussiaAmy Elsner QUALIFIED
Julie S NickaFranceAsiya Javayant UNQUALIFIED
Smith M MaletIndiaIoni Bowcher QUALIFIED
Leja N RoysterRussiaElwin Sharvill NEGOTIATION
Kaitlin Z PaprockiIndiaOnyama Limba NEW
Francesco O DilliardRussiaAmy Elsner UNQUALIFIED
Stacey F WieserAustraliaXuxue Feng QUALIFIED
Aditya J SergiGermanyIvan Magalhaes RENEWAL
Tony L BowleyJapanElwin Sharvill PROPOSAL
Maria K BologniaFranceAsiya Javayant PROPOSAL
Tony H MarrierFranceOnyama Limba QUALIFIED
Aditya U StockhamFranceIoni Bowcher NEGOTIATION
Aruna X CampainAustraliaStephen Shaw QUALIFIED
Jennifer V TollnerArgentinaXuxue Feng UNQUALIFIED
Aditya K GarufiBrazilElwin Sharvill RENEWAL
Stacey E SaylorsGermanyAsiya Javayant QUALIFIED
Aika K RoysterArgentinaAmy Elsner UNQUALIFIED
Aruna T GlickBrazilXuxue Feng QUALIFIED
Octavia I DoeIndiaAsiya Javayant PROPOSAL
Kadeem D IturbideRussiaStephen Shaw UNQUALIFIED
Mayumi H OstroskyJapanOnyama Limba RENEWAL
Aruna E PaprockiJapanAmy Elsner QUALIFIED
Ivar G RutaJapanAsiya Javayant UNQUALIFIED
Julie W OldroydGermanyAnna Fali NEGOTIATION
Kadeem S WieserRussiaBernardo Dominic UNQUALIFIED
Arvin R FollerCanadaElwin Sharvill NEGOTIATION
Emily C MarrierFranceIvan Magalhaes NEGOTIATION
Rodrigues U RulapaughGermanyAsiya Javayant NEGOTIATION
Wickens R FollerGermanyXuxue Feng UNQUALIFIED
Izzy F DarakjyRussiaBernardo Dominic NEGOTIATION
Greenwood Q StensethBrazilStephen Shaw NEW
Misaki C WaycottJapanOnyama Limba PROPOSAL
Johnson G BowleyRussiaIoni Bowcher QUALIFIED
Claire M IturbideArgentinaStephen Shaw UNQUALIFIED
Chavez C GlickIndiaAsiya Javayant NEW
Chavez R CaudyArgentinaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Mayumi P NickaArgentinaIvan Magalhaes RENEWAL
Sinclair D PerinBrazilStephen Shaw PROPOSAL
Emily H NestleJapanIoni Bowcher QUALIFIED
Silvio H NickaAustraliaElwin Sharvill NEGOTIATION
Arvin B WieserItalyBernardo Dominic QUALIFIED
Wickens A PaprockiFranceBernardo Dominic QUALIFIED
Claire K OldroydBrazilAnna Fali RENEWAL
Alejandro W WhobreyUnited KingdomIoni Bowcher NEGOTIATION
Misaki S AmigonAustraliaXuxue Feng QUALIFIED
Cody I SlusarskiJapanAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith C TollnerJapan2024-06-05Commercial Press QUALIFIED27Ivan Magalhaes
1001Murillo Y PoquetteArgentina2024-06-06Truhlar And Truhlar Attys NEW43Onyama Limba
1002Stacey N CaudyCanada2024-06-17Benton, John B Jr NEGOTIATION66Bernardo Dominic
1003Greenwood T RimUnited Kingdom2024-06-18Rangoni Of Florence NEW21Amy Elsner
1004Arvin L RimItaly2024-06-09Chemel, James L Cpa NEGOTIATION39Bernardo Dominic
1005Jones M RimCanada2024-05-27Dorl, James J Esq PROPOSAL14Ivan Magalhaes
1006Emily R DilliardGermany2024-05-31Buckley Miller Wright PROPOSAL38Amy Elsner
1007Rodrigues U ShinkoAustralia2024-06-07Chapman, Ross E Esq NEW36Asiya Javayant
1008Leon Y BologniaGermany2024-06-15Chanay, Jeffrey A Esq NEGOTIATION2Elwin Sharvill
1009Claire B PerinBrazil2024-06-04Buckley Miller Wright PROPOSAL2Stephen Shaw
1010Chavez W InouyeGermany2024-06-15Feiner Bros NEGOTIATION22Asiya Javayant
1011Izzy U GarufiCanada2024-05-30Printing Dimensions UNQUALIFIED55Amy Elsner
1012David W DoeAustralia2024-06-12Dorl, James J Esq QUALIFIED1Stephen Shaw
1013Izzy W PoquetteUnited Kingdom2024-06-07Feiner Bros QUALIFIED86Ioni Bowcher
1014Deepesh H CampainRussia2024-06-19Feltz Printing Service UNQUALIFIED1Ioni Bowcher
1015Sinclair N DilliardUnited Kingdom2024-06-05Feiner Bros NEGOTIATION73Amy Elsner
1016Misaki V SaylorsGermany2024-06-06Dorl, James J Esq NEW61Ivan Magalhaes
1017Julie E GarufiUnited Kingdom2024-06-11Rangoni Of Florence UNQUALIFIED23Onyama Limba
1018Aditya R IturbideIndia2024-06-22Chapman, Ross E Esq QUALIFIED93Bernardo Dominic
1019Tony Y BologniaGermany2024-06-03Commercial Press NEGOTIATION47Asiya Javayant
1020Kadeem F StockhamGermany2024-05-27Buckley Miller Wright NEW25Anna Fali
1021Smith C RulapaughRussia2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED35Stephen Shaw
1022Aika R WaycottJapan2024-06-08Commercial Press QUALIFIED39Onyama Limba
1023Aditya T PaprockiGermany2024-05-28Buckley Miller Wright PROPOSAL69Ioni Bowcher
1024Jeanfrancois E MaletSpain2024-06-17Buckley Miller Wright PROPOSAL71Ivan Magalhaes
1025James B RimJapan2024-06-08Dorl, James J Esq UNQUALIFIED66Amy Elsner
1026Misaki F FlosiArgentina2024-05-27Chemel, James L Cpa NEGOTIATION60Amy Elsner
1027Costa S MaletFrance2024-06-23Rangoni Of Florence NEGOTIATION17Onyama Limba
1028Misaki I GauchoArgentina2024-06-21Printing Dimensions NEW53Asiya Javayant
1029Alejandro K CaldareraUnited Kingdom2024-05-27Benton, John B Jr NEGOTIATION63Asiya Javayant
1030Emily J VocelkaJapan2024-06-18Feltz Printing Service NEGOTIATION90Xuxue Feng
1031Antonio Y DoeFrance2024-06-23King, Christopher A Esq UNQUALIFIED16Ioni Bowcher
1032Chavez M StockhamUnited Kingdom2024-06-21Chapman, Ross E Esq NEGOTIATION0Stephen Shaw
1033Maria S StockhamCanada2024-05-29Printing Dimensions QUALIFIED62Bernardo Dominic
1034Maisha V ButtSpain2024-06-17Benton, John B Jr NEW73Bernardo Dominic
1035Munro O FlosiJapan2024-06-22Rangoni Of Florence PROPOSAL14Asiya Javayant
1036Emily F WieserRussia2024-05-29Commercial Press PROPOSAL71Onyama Limba
1037Cody E CaudyIndia2024-05-30Morlong Associates NEGOTIATION95Asiya Javayant
1038Deepesh G VenereFrance2024-05-27Chapman, Ross E Esq QUALIFIED50Elwin Sharvill
1039Deepesh Y CampainArgentina2024-06-13Truhlar And Truhlar Attys NEGOTIATION43Bernardo Dominic
1040David A MarrierFrance2024-06-19Rangoni Of Florence PROPOSAL12Bernardo Dominic
1041Leon R StockhamIndia2024-06-24Dorl, James J Esq NEW88Asiya Javayant
1042Rodrigues K BowleyJapan2024-06-04Chemel, James L Cpa NEGOTIATION18Xuxue Feng
1043Claire B BologniaGermany2024-06-04Truhlar And Truhlar Attys PROPOSAL60Stephen Shaw
1044Jeanfrancois V TollnerRussia2024-06-03Printing Dimensions NEW55Amy Elsner
1045Greenwood J MacleadAustralia2024-06-22Truhlar And Truhlar Attys NEW29Asiya Javayant
1046Clifford G InouyeGermany2024-06-23Rousseaux, Michael Esq RENEWAL83Anna Fali
1047Arvin Y TollnerRussia2024-05-26Benton, John B Jr NEW39Onyama Limba
1048Aika J AmigonItaly2024-06-14Buckley Miller Wright UNQUALIFIED16Bernardo Dominic
1049David X DilliardFrance2024-06-20Morlong Associates PROPOSAL31Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Alejandro W StensethIndiaBernardo Dominic QUALIFIED
Greenwood I SergiSpainBernardo Dominic UNQUALIFIED
Costa C FollerGermanyAnna Fali UNQUALIFIED
Ricardo F DarakjyJapanStephen Shaw PROPOSAL
Leja F AmigonArgentinaAnna Fali UNQUALIFIED
Kadeem N OstroskyJapanElwin Sharvill NEW
Nicolas S MaletRussiaIvan Magalhaes QUALIFIED
Jones K DoeJapanOnyama Limba QUALIFIED
Johnson R WieserJapanAmy Elsner UNQUALIFIED
Jennifer L NickaGermanyOnyama Limba UNQUALIFIED
Jones P GillianRussiaIoni Bowcher UNQUALIFIED
Clifford F NickaRussiaAmy Elsner PROPOSAL
Alejandro F MaletSpainBernardo Dominic UNQUALIFIED
Jefferson D DoeUnited KingdomXuxue Feng NEW
Leja S FerenczArgentinaXuxue Feng PROPOSAL
Adams Z FollerSpainXuxue Feng UNQUALIFIED
Munro Q CaldareraIndiaXuxue Feng QUALIFIED
Jennifer W TollnerIndiaBernardo Dominic NEW
Tony T BologniaAustraliaBernardo Dominic NEW
Wickens K DarakjyFranceOnyama Limba PROPOSAL
Rodrigues M AlbaresAustraliaIvan Magalhaes NEW
Maisha I RimUnited KingdomOnyama Limba PROPOSAL
Leon W PaprockiCanadaOnyama Limba PROPOSAL
Jennifer V GlickIndiaIvan Magalhaes RENEWAL
Cody A CampainArgentinaIoni Bowcher RENEWAL
Mayumi O DarakjyIndiaAnna Fali NEW
Jefferson E BriddickJapanAnna Fali NEW
Sinclair P BriddickUnited KingdomStephen Shaw PROPOSAL
Rodrigues X MaletJapanIvan Magalhaes RENEWAL
Maria C RimSpainBernardo Dominic RENEWAL
Chavez P FigeroaFranceAnna Fali NEW
Clifford S NickaItalyElwin Sharvill PROPOSAL
Salvatore P KolmetzArgentinaIvan Magalhaes RENEWAL
Deepesh X KuskoItalyOnyama Limba QUALIFIED
Ivar U GlickFranceIoni Bowcher RENEWAL
Ivar G TollnerSpainAsiya Javayant NEGOTIATION
Jeanfrancois U MacleadAustraliaOnyama Limba UNQUALIFIED
Isabel Z BologniaUnited KingdomIvan Magalhaes RENEWAL
Aika S BowleyGermanyIoni Bowcher RENEWAL
Aruna U ChuiSpainStephen Shaw UNQUALIFIED
Arvin D RulapaughJapanAsiya Javayant UNQUALIFIED
Kaitlin C MaletAustraliaElwin Sharvill NEGOTIATION
Costa J VocelkaGermanyAnna Fali RENEWAL
Kaitlin E ShinkoFranceIoni Bowcher UNQUALIFIED
Munro O CampainIndiaAsiya Javayant UNQUALIFIED
Mayumi B FerenczJapanIoni Bowcher NEGOTIATION
Jeanfrancois R BriddickItalyIoni Bowcher UNQUALIFIED
Arvin X SaylorsJapanAnna Fali QUALIFIED
Emily J BowleyCanadaXuxue Feng RENEWAL
Juan P StensethUnited KingdomStephen Shaw UNQUALIFIED
Frozen Columns
Name
Octavia M Caudy
Cody K Ostrosky
Faith B Darakjy
Clifford U Gaucho
Adams H Dilliard
Alejandro J Malet
Aditya X Schemmer
Maisha S Garufi
Arvin K Tollner
Mujtaba I Wieser
James Y Vocelka
Maisha L Caldarera
Nicolas D Bowley
Misaki D Glick
Maria F Stenseth
Emily F Campain
Mayumi A Perin
Wickens M Nicka
Deepesh A Royster
Tony C Poquette
Leja E Malet
Wickens C Dilliard
Adams Z Perin
James R Paprocki
Maria T Glick
Jefferson N Ferencz
Ivar G Caudy
Deepesh P Poquette
Mujtaba V Saylors
David W Flosi
Arvin M Paprocki
Juan X Garufi
Ashley K Sergi
Leon E Bowley
Leon C Caudy
Deepesh S Royster
Greenwood E Inouye
Jones H Sergi
Faith W Campain
Murillo X Caldarera
Rodrigues P Whobrey
Johnson K Bolognia
Alejandro R Chui
Julie E Perin
Cody E Nicka
Adams S Gaucho
Stacey J Saylors
Mayumi O Gillian
Morrow E Chui
Isabel W Royster
IdCountryDate
1000Italy2024-05-26
1001Germany2024-06-18
1002Japan2024-06-06
1003Germany2024-06-04
1004Japan2024-05-28
1005Australia2024-06-06
1006United Kingdom2024-05-27
1007Russia2024-06-14
1008India2024-05-29
1009India2024-05-29
1010Russia2024-06-02
1011India2024-05-27
1012Spain2024-06-22
1013Australia2024-06-11
1014Russia2024-06-15
1015Canada2024-06-07
1016Japan2024-05-27
1017Italy2024-06-07
1018Japan2024-05-27
1019Spain2024-06-23
1020Canada2024-06-06
1021Spain2024-06-21
1022Brazil2024-05-30
1023Spain2024-06-03
1024Brazil2024-06-06
1025France2024-06-21
1026Russia2024-06-23
1027Brazil2024-06-03
1028India2024-06-06
1029Australia2024-05-30
1030India2024-06-20
1031India2024-06-04
1032Italy2024-06-12
1033Australia2024-06-23
1034Russia2024-06-02
1035Argentina2024-05-31
1036Germany2024-06-04
1037France2024-06-13
1038Russia2024-05-29
1039Japan2024-06-05
1040Australia2024-06-14
1041Canada2024-06-09
1042Brazil2024-06-01
1043Russia2024-05-30
1044Russia2024-06-06
1045Argentina2024-05-28
1046United Kingdom2024-06-21
1047Japan2024-06-20
1048Russia2024-06-01
1049France2024-06-18

On-Demand Data

NameIdCountryDate
Aika Z Caudy1000United Kingdom2024-06-03
James A Butt1001Russia2024-06-24
Cody P Tollner1002France2024-06-04
Stacey X Gaucho1003Canada2024-05-29
Costa Y Rim1004India2024-06-06
Darci G Darakjy1005Spain2024-06-02
Darci I Garufi1006Spain2024-06-15
Deepesh M Morasca1007Argentina2024-06-12
Alejandro B Iturbide1008Canada2024-05-26
Chavez E Glick1009Japan2024-06-01
Stacey L Maclead1010Italy2024-06-04
Salvatore K Gillian1011Argentina2024-06-14
David M Bowley1012Russia2024-06-24
Alejandro B Doe1013India2024-06-07
Kadeem L Ruta1014France2024-06-21
Munro D Kusko1015Germany2024-06-11
Aruna U Figeroa1016Brazil2024-06-03
Sinclair D Albares1017Australia2024-06-11
Maisha E Saylors1018Canada2024-06-16
Chavez O Slusarski1019Australia2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley I VenereArgentinaOnyama Limba RENEWAL
Cody E AlbaresBrazilStephen Shaw NEGOTIATION
Claire B DilliardUnited KingdomXuxue Feng PROPOSAL
Aditya S ButtBrazilStephen Shaw QUALIFIED
Darci G StensethAustraliaBernardo Dominic RENEWAL
Stacey G VocelkaArgentinaIvan Magalhaes NEW
Mujtaba E PaprockiItalyElwin Sharvill QUALIFIED
Leja X StockhamFranceElwin Sharvill UNQUALIFIED
Claire G MacleadRussiaXuxue Feng QUALIFIED
Alejandro A AmigonArgentinaAnna Fali RENEWAL
Juan K SaylorsJapanAnna Fali PROPOSAL
Francesco Y TollnerGermanyElwin Sharvill RENEWAL
Emily J OldroydArgentinaAmy Elsner NEW
Kaitlin S ChuiBrazilBernardo Dominic NEGOTIATION
Cody I StockhamArgentinaOnyama Limba QUALIFIED
Emily Q MarrierBrazilXuxue Feng NEGOTIATION
Adams A DoeJapanXuxue Feng QUALIFIED
Darci Q OstroskyIndiaAnna Fali NEW
Mayumi H FollerUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo A IturbideArgentinaAmy Elsner NEGOTIATION
Morrow X InouyeSpainXuxue Feng QUALIFIED
Murillo R ButtBrazilOnyama Limba PROPOSAL
Nicolas B KuskoUnited KingdomIvan Magalhaes NEW
Tony T CaldareraAustraliaIoni Bowcher RENEWAL
Jennifer A SchemmerItalyIoni Bowcher UNQUALIFIED
Jennifer P RutaAustraliaIvan Magalhaes PROPOSAL
Murillo V RimJapanBernardo Dominic NEW
Julie L FigeroaIndiaBernardo Dominic QUALIFIED
Rodrigues T StensethArgentinaAsiya Javayant NEW
Juan U SchemmerItalyElwin Sharvill NEGOTIATION
Maisha D CampainRussiaBernardo Dominic NEW
Stacey C NickaIndiaIvan Magalhaes QUALIFIED
Leon I MaletIndiaIoni Bowcher RENEWAL
Juan K GlickIndiaAsiya Javayant UNQUALIFIED
Octavia N VocelkaBrazilBernardo Dominic UNQUALIFIED
Ashley B GillianFranceOnyama Limba UNQUALIFIED
Darci X WaycottArgentinaAsiya Javayant PROPOSAL
Adams K KuskoUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas N InouyeGermanyAmy Elsner PROPOSAL
Aika W AmigonAustraliaAmy Elsner 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>