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
Tony S BologniaIndiaStephen Shaw NEW
Faith X WieserSpainOnyama Limba RENEWAL
Darci H DilliardJapanStephen Shaw QUALIFIED
Ricardo G WieserRussiaIoni Bowcher UNQUALIFIED
Izzy S SergiIndiaIoni Bowcher PROPOSAL
Isabel W PerinJapanOnyama Limba NEW
Clifford K MaletIndiaIoni Bowcher RENEWAL
Kadeem A NickaAustraliaAnna Fali UNQUALIFIED
Aditya R IturbideIndiaOnyama Limba NEW
Mujtaba E AmigonBrazilAsiya Javayant NEW
Nicolas U FerenczAustraliaAsiya Javayant PROPOSAL
Julie R WhobreyGermanyBernardo Dominic RENEWAL
Deepesh V MacleadCanadaBernardo Dominic RENEWAL
Tony X NestleSpainOnyama Limba QUALIFIED
Ricardo E AlbaresBrazilIoni Bowcher UNQUALIFIED
Kadeem H InouyeJapanIoni Bowcher QUALIFIED
Ivar H MarrierUnited KingdomElwin Sharvill NEGOTIATION
Ricardo M BowleyBrazilElwin Sharvill RENEWAL
Isabel V SaylorsArgentinaBernardo Dominic RENEWAL
Johnson R DilliardBrazilAnna Fali PROPOSAL
Maria A SaylorsAustraliaAnna Fali NEGOTIATION
Ivar N ShinkoJapanIoni Bowcher PROPOSAL
Silvio J PerinCanadaAmy Elsner RENEWAL
Munro K PerinUnited KingdomOnyama Limba NEW
Octavia J BriddickCanadaXuxue Feng NEW
Rodrigues J TollnerAustraliaBernardo Dominic NEGOTIATION
Kadeem D SlusarskiGermanyStephen Shaw RENEWAL
Rodrigues W CaudySpainAnna Fali RENEWAL
Rodrigues D FollerItalyOnyama Limba RENEWAL
Leon U AmigonCanadaAsiya Javayant QUALIFIED
Greenwood A RoysterJapanOnyama Limba NEW
Aditya L FollerFranceIvan Magalhaes QUALIFIED
Arvin Y DoeIndiaStephen Shaw NEW
Kaitlin E RimAustraliaBernardo Dominic UNQUALIFIED
Jennifer A MarrierRussiaElwin Sharvill UNQUALIFIED
Alejandro G StensethBrazilElwin Sharvill UNQUALIFIED
Silvio U FerenczArgentinaAsiya Javayant QUALIFIED
Faith F DoeAustraliaStephen Shaw QUALIFIED
Ivar A FlosiIndiaElwin Sharvill PROPOSAL
Misaki H PoquetteSpainBernardo Dominic RENEWAL
Greenwood Q FollerAustraliaAmy Elsner RENEWAL
Julie N VenereFranceIvan Magalhaes QUALIFIED
Sinclair B PerinAustraliaAsiya Javayant UNQUALIFIED
Jefferson R NestleGermanyStephen Shaw UNQUALIFIED
Rodrigues X RulapaughFranceIoni Bowcher PROPOSAL
Kaitlin C SergiGermanyXuxue Feng UNQUALIFIED
Aditya P GillianUnited KingdomAnna Fali RENEWAL
Greenwood Y FlosiIndiaBernardo Dominic NEW
Deepesh X VenereIndiaStephen Shaw NEW
Isabel W InouyeGermanyAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
James H VenereItalyXuxue Feng NEW
Mujtaba S RutaJapanIoni Bowcher NEGOTIATION
Smith U StensethJapanAsiya Javayant RENEWAL
Arvin U FlosiItalyElwin Sharvill PROPOSAL
Emily C MaletSpainOnyama Limba RENEWAL
Kadeem M ShinkoIndiaAnna Fali RENEWAL
Isabel Q AlbaresUnited KingdomOnyama Limba UNQUALIFIED
Mayumi D SlusarskiRussiaAnna Fali RENEWAL
Juan P RoysterFranceXuxue Feng UNQUALIFIED
Salvatore D RutaCanadaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey P RutaGermany2024-05-29King, Christopher A Esq QUALIFIED58Elwin Sharvill
1001Aika P SaylorsSpain2024-05-28Truhlar And Truhlar Attys QUALIFIED70Xuxue Feng
1002Leon K StensethUnited Kingdom2024-06-12Feiner Bros QUALIFIED0Amy Elsner
1003Jennifer P StockhamGermany2024-06-11Chemel, James L Cpa UNQUALIFIED28Elwin Sharvill
1004Smith I MaletCanada2024-06-06Rousseaux, Michael Esq QUALIFIED92Ivan Magalhaes
1005Juan U GauchoGermany2024-05-27Chapman, Ross E Esq RENEWAL51Ioni Bowcher
1006Francesco U WieserArgentina2024-05-25Chemel, James L Cpa QUALIFIED10Anna Fali
1007Salvatore Y KuskoRussia2024-06-06King, Christopher A Esq QUALIFIED5Elwin Sharvill
1008David O ButtIndia2024-05-30Rangoni Of Florence NEW58Amy Elsner
1009Kadeem F FigeroaArgentina2024-06-17Truhlar And Truhlar Attys NEGOTIATION16Amy Elsner
1010Aditya A BowleyCanada2024-06-10Commercial Press NEGOTIATION54Asiya Javayant
1011Misaki C GlickSpain2024-05-31Rangoni Of Florence UNQUALIFIED3Ivan Magalhaes
1012Murillo C SaylorsUnited Kingdom2024-06-11Commercial Press NEW21Anna Fali
1013Aditya Z GillianGermany2024-06-11Printing Dimensions NEGOTIATION44Onyama Limba
1014James F RutaAustralia2024-06-06Feiner Bros UNQUALIFIED78Amy Elsner
1015Juan M WhobreyRussia2024-06-16Printing Dimensions NEW42Stephen Shaw
1016Misaki I FollerItaly2024-06-16Dorl, James J Esq PROPOSAL42Asiya Javayant
1017Izzy L PoquetteAustralia2024-05-27Truhlar And Truhlar Attys PROPOSAL61Xuxue Feng
1018Faith R CaudyBrazil2024-05-24Chanay, Jeffrey A Esq QUALIFIED37Stephen Shaw
1019Emily B MarrierRussia2024-06-19Printing Dimensions RENEWAL49Stephen Shaw
1020Wickens U SaylorsUnited Kingdom2024-05-25Chanay, Jeffrey A Esq NEW88Bernardo Dominic
1021Sinclair Z DarakjyItaly2024-06-21Dorl, James J Esq PROPOSAL15Stephen Shaw
1022Jefferson D WhobreyFrance2024-06-17King, Christopher A Esq UNQUALIFIED42Xuxue Feng
1023Wickens H PerinArgentina2024-06-07Feiner Bros NEW64Asiya Javayant
1024Wickens B DarakjyUnited Kingdom2024-06-09Rangoni Of Florence RENEWAL18Xuxue Feng
1025Deepesh I AmigonArgentina2024-06-03Dorl, James J Esq PROPOSAL31Ivan Magalhaes
1026Jeanfrancois S MarrierGermany2024-06-19Feltz Printing Service NEGOTIATION33Anna Fali
1027Kaitlin P WaycottCanada2024-06-16Chemel, James L Cpa RENEWAL57Stephen Shaw
1028James L ShinkoItaly2024-05-27Chanay, Jeffrey A Esq PROPOSAL47Elwin Sharvill
1029Arvin T RulapaughRussia2024-06-17Commercial Press RENEWAL57Amy Elsner
1030Francesco D DoeJapan2024-06-02Feiner Bros PROPOSAL87Amy Elsner
1031James O KuskoAustralia2024-05-28Rousseaux, Michael Esq PROPOSAL61Ioni Bowcher
1032Izzy L CaldareraCanada2024-05-30Feltz Printing Service UNQUALIFIED84Stephen Shaw
1033Tony T IturbideIndia2024-06-06Rousseaux, Michael Esq NEGOTIATION53Bernardo Dominic
1034Francesco A IturbideAustralia2024-06-18Printing Dimensions PROPOSAL50Xuxue Feng
1035Stacey O NickaAustralia2024-06-02Feltz Printing Service NEGOTIATION74Ioni Bowcher
1036Ivar B CaudyRussia2024-05-24Feiner Bros PROPOSAL96Ivan Magalhaes
1037Greenwood N SaylorsRussia2024-05-27Printing Dimensions NEW2Bernardo Dominic
1038Aditya E RoysterGermany2024-05-26Buckley Miller Wright QUALIFIED85Ioni Bowcher
1039Aika E GillianGermany2024-06-20Chemel, James L Cpa QUALIFIED91Xuxue Feng
1040Tony C StockhamArgentina2024-06-20Rousseaux, Michael Esq NEW8Asiya Javayant
1041Rodrigues C PerinGermany2024-06-09Benton, John B Jr QUALIFIED94Bernardo Dominic
1042Maria K NickaRussia2024-05-29Benton, John B Jr NEW96Amy Elsner
1043Claire J KolmetzGermany2024-06-09Feltz Printing Service NEW81Ioni Bowcher
1044Leja I AlbaresGermany2024-06-16Printing Dimensions RENEWAL46Elwin Sharvill
1045Darci T GlickArgentina2024-06-17Printing Dimensions UNQUALIFIED23Anna Fali
1046Leja I FlosiJapan2024-05-31Benton, John B Jr QUALIFIED86Asiya Javayant
1047Jennifer D FollerRussia2024-06-08Chapman, Ross E Esq NEGOTIATION55Ivan Magalhaes
1048Ricardo L SchemmerRussia2024-06-20Feltz Printing Service UNQUALIFIED46Elwin Sharvill
1049Leja F CampainArgentina2024-05-28Chanay, Jeffrey A Esq PROPOSAL55Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Clifford C BriddickFranceIvan Magalhaes RENEWAL
Claire N CaudyJapanOnyama Limba UNQUALIFIED
Maria W PoquetteGermanyIvan Magalhaes QUALIFIED
Leja V StensethSpainXuxue Feng UNQUALIFIED
Misaki V WhobreyIndiaIvan Magalhaes UNQUALIFIED
Arvin U WieserBrazilStephen Shaw NEGOTIATION
Leon X VocelkaJapanIoni Bowcher UNQUALIFIED
Stacey F StensethArgentinaAnna Fali QUALIFIED
Tony N BologniaAustraliaIvan Magalhaes RENEWAL
Leon E NickaCanadaOnyama Limba NEGOTIATION
Ivar M BowleyRussiaIvan Magalhaes PROPOSAL
Sinclair O PaprockiBrazilAsiya Javayant RENEWAL
Isabel W GillianUnited KingdomOnyama Limba PROPOSAL
James O AmigonUnited KingdomAnna Fali NEGOTIATION
Faith N BriddickGermanyAsiya Javayant NEW
Juan U KuskoAustraliaXuxue Feng RENEWAL
Silvio P BriddickFranceAmy Elsner QUALIFIED
Mayumi E OstroskyItalyAsiya Javayant PROPOSAL
Octavia U DoeFranceElwin Sharvill RENEWAL
Maria J BowleyBrazilElwin Sharvill QUALIFIED
Adams A FollerIndiaAnna Fali UNQUALIFIED
Smith K KuskoFranceXuxue Feng QUALIFIED
Maisha D CaldareraAustraliaIvan Magalhaes PROPOSAL
Tony O VenereFranceStephen Shaw QUALIFIED
Aruna O VocelkaGermanyOnyama Limba RENEWAL
Kadeem Q NickaCanadaXuxue Feng NEW
Leja M CaudyFranceAsiya Javayant QUALIFIED
Wickens A NestleGermanyAsiya Javayant NEGOTIATION
Costa P InouyeFranceAmy Elsner NEGOTIATION
Faith C BologniaJapanElwin Sharvill NEW
Ricardo U BriddickRussiaAnna Fali UNQUALIFIED
Deepesh U PaprockiBrazilAmy Elsner QUALIFIED
Stacey C MaletIndiaIvan Magalhaes PROPOSAL
Francesco Y WieserFranceBernardo Dominic QUALIFIED
Maria K ButtSpainAnna Fali RENEWAL
Stacey B RutaGermanyBernardo Dominic NEW
Cody B DoeFranceIoni Bowcher RENEWAL
Darci M MorascaIndiaIoni Bowcher PROPOSAL
Morrow W StensethRussiaStephen Shaw NEW
Alejandro O GauchoFranceIvan Magalhaes RENEWAL
Kadeem N SlusarskiUnited KingdomAmy Elsner PROPOSAL
Leon I PoquetteAustraliaStephen Shaw NEW
Arvin E RoysterItalyAmy Elsner QUALIFIED
Alejandro Z CaudyRussiaAmy Elsner PROPOSAL
Claire B WaycottSpainBernardo Dominic QUALIFIED
Murillo Y KolmetzItalyStephen Shaw RENEWAL
Faith G MacleadAustraliaAnna Fali PROPOSAL
Rodrigues H OldroydRussiaIvan Magalhaes NEGOTIATION
Mayumi B OstroskyJapanStephen Shaw UNQUALIFIED
Octavia Q AmigonItalyIoni Bowcher QUALIFIED
Frozen Columns
Name
Rodrigues O Garufi
Cody Y Malet
Mujtaba N Whobrey
Darci Q Figeroa
Alejandro A Bowley
Salvatore L Bowley
David R Kolmetz
Darci P Darakjy
Maria P Briddick
Arvin H Slusarski
Aruna Z Ruta
Nicolas P Gillian
Claire A Darakjy
Greenwood D Caldarera
David V Butt
Stacey M Venere
Sinclair L Vocelka
Juan K Butt
Ricardo P Garufi
Cody V Marrier
Leon J Caudy
Silvio U Kusko
Isabel W Oldroyd
Leja U Amigon
Juan F Ferencz
Salvatore W Rim
Juan A Bolognia
Aika P Garufi
Emily K Kolmetz
Salvatore Q Morasca
Maisha M Sergi
Kaitlin U Poquette
Leon Z Gillian
Kadeem R Darakjy
Francesco U Malet
Kaitlin L Perin
Tony M Stockham
Johnson Q Whobrey
Jefferson W Stenseth
James L Waycott
Arvin J Garufi
Ivar D Caudy
Munro B Perin
Salvatore T Sergi
Antonio N Caldarera
Aditya U Sergi
Silvio P Caldarera
Maisha C Nestle
Octavia H Saylors
Munro O Malet
IdCountryDate
1000Russia2024-06-13
1001United Kingdom2024-06-10
1002United Kingdom2024-05-30
1003Japan2024-06-06
1004Argentina2024-06-16
1005Australia2024-06-08
1006Russia2024-06-06
1007Australia2024-06-15
1008Argentina2024-06-08
1009Canada2024-05-27
1010Germany2024-05-27
1011Russia2024-05-27
1012Brazil2024-05-31
1013Canada2024-06-02
1014Italy2024-06-21
1015Canada2024-05-27
1016Argentina2024-06-19
1017Italy2024-06-08
1018India2024-06-11
1019Canada2024-06-01
1020Italy2024-05-29
1021Germany2024-05-26
1022Italy2024-06-07
1023Canada2024-05-27
1024Australia2024-06-16
1025France2024-05-26
1026Italy2024-05-27
1027Germany2024-06-07
1028Italy2024-06-08
1029United Kingdom2024-05-31
1030Japan2024-06-12
1031Germany2024-06-01
1032Brazil2024-06-17
1033Italy2024-06-07
1034India2024-06-06
1035Argentina2024-05-28
1036Russia2024-06-08
1037Canada2024-05-28
1038Italy2024-06-22
1039Russia2024-06-03
1040Australia2024-06-05
1041Spain2024-06-16
1042Canada2024-05-25
1043Canada2024-06-09
1044India2024-06-22
1045India2024-06-22
1046Spain2024-06-11
1047Russia2024-06-10
1048Brazil2024-05-31
1049Italy2024-06-03

On-Demand Data

NameIdCountryDate
Aditya X Bowley1000Germany2024-06-20
Rodrigues Z Nicka1001Japan2024-05-31
Mayumi X Saylors1002United Kingdom2024-06-20
Francesco N Malet1003Canada2024-05-31
Smith M Darakjy1004Argentina2024-05-26
Kadeem R Butt1005Canada2024-06-18
Deepesh Z Butt1006United Kingdom2024-05-30
Antonio V Darakjy1007Argentina2024-06-13
Antonio G Dilliard1008Russia2024-05-24
Aruna V Schemmer1009Brazil2024-05-24
Faith Q Albares1010Japan2024-06-10
Munro L Ruta1011Russia2024-06-19
Aruna A Nestle1012Australia2024-06-04
David E Ferencz1013Russia2024-06-05
Kadeem Z Tollner1014Argentina2024-06-18
Kadeem J Gaucho1015Australia2024-06-07
Mujtaba D Ferencz1016Argentina2024-06-04
Alejandro C Flosi1017Russia2024-05-26
Alejandro A Nestle1018Japan2024-06-11
Aruna G Gaucho1019Brazil2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin R KolmetzItalyOnyama Limba QUALIFIED
Juan D StensethFranceBernardo Dominic NEW
Alejandro D MorascaCanadaAmy Elsner NEGOTIATION
Nicolas I PoquetteBrazilAnna Fali NEW
David C PoquetteRussiaIvan Magalhaes UNQUALIFIED
Mujtaba A ChuiRussiaIvan Magalhaes NEW
Johnson E ChuiCanadaOnyama Limba QUALIFIED
Tony Q SaylorsJapanStephen Shaw RENEWAL
Ivar I MarrierCanadaAsiya Javayant PROPOSAL
Claire S StensethArgentinaBernardo Dominic PROPOSAL
Tony F FlosiBrazilStephen Shaw NEW
Salvatore G MorascaArgentinaAsiya Javayant QUALIFIED
Misaki P CaldareraJapanStephen Shaw NEW
Nicolas R BowleyArgentinaAmy Elsner NEGOTIATION
Tony J BriddickIndiaIvan Magalhaes RENEWAL
Mayumi I RoysterItalyElwin Sharvill QUALIFIED
Maisha J OstroskyRussiaAsiya Javayant NEGOTIATION
Francesco H GauchoCanadaIoni Bowcher NEGOTIATION
Rodrigues S TollnerUnited KingdomAsiya Javayant NEGOTIATION
Maria V RutaCanadaStephen Shaw QUALIFIED
Misaki L OldroydSpainAsiya Javayant UNQUALIFIED
Ivar C MacleadAustraliaElwin Sharvill NEW
Octavia D CampainCanadaBernardo Dominic NEGOTIATION
Nicolas B FlosiBrazilOnyama Limba UNQUALIFIED
Aika R StensethBrazilXuxue Feng PROPOSAL
Morrow Q SlusarskiJapanAnna Fali NEGOTIATION
Jeanfrancois X DarakjyArgentinaAnna Fali RENEWAL
Chavez P DarakjyBrazilElwin Sharvill QUALIFIED
Faith B VocelkaBrazilElwin Sharvill RENEWAL
Ricardo V KuskoRussiaStephen Shaw PROPOSAL
Adams S MaletSpainAsiya Javayant NEW
Sinclair E ShinkoIndiaOnyama Limba QUALIFIED
James X KolmetzBrazilXuxue Feng PROPOSAL
Maisha Q OstroskyItalyAsiya Javayant NEGOTIATION
Misaki H MarrierRussiaOnyama Limba QUALIFIED
Alejandro K WaycottCanadaBernardo Dominic PROPOSAL
Aditya L BologniaItalyAmy Elsner NEGOTIATION
Jennifer Y OldroydIndiaXuxue Feng PROPOSAL
Mayumi V MaletArgentinaAsiya Javayant NEW
Faith P ShinkoBrazilOnyama Limba 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>