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
Mujtaba T StensethBrazilIvan Magalhaes UNQUALIFIED
David A CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Adams K GillianAustraliaAmy Elsner UNQUALIFIED
James R CaldareraCanadaIoni Bowcher PROPOSAL
Maisha L GlickCanadaElwin Sharvill QUALIFIED
Murillo N WieserAustraliaAsiya Javayant RENEWAL
Murillo B GillianUnited KingdomXuxue Feng UNQUALIFIED
Smith Y CaldareraFranceOnyama Limba NEW
Arvin G StockhamBrazilOnyama Limba NEW
Darci Y MaletJapanAmy Elsner NEW
Arvin C WaycottJapanAmy Elsner RENEWAL
Costa L DarakjyIndiaXuxue Feng NEGOTIATION
Octavia Y GarufiIndiaAmy Elsner RENEWAL
Claire U CampainAustraliaAsiya Javayant QUALIFIED
Alejandro S SchemmerAustraliaStephen Shaw RENEWAL
Leon O KolmetzRussiaOnyama Limba UNQUALIFIED
Isabel A MorascaRussiaAsiya Javayant RENEWAL
Mayumi M DoeIndiaElwin Sharvill RENEWAL
Leja L OldroydRussiaElwin Sharvill UNQUALIFIED
Julie W OstroskyIndiaIvan Magalhaes QUALIFIED
Misaki Q PoquetteFranceElwin Sharvill NEGOTIATION
Rodrigues Z NestleFranceIvan Magalhaes PROPOSAL
Kadeem Y WieserRussiaXuxue Feng UNQUALIFIED
Sinclair M AlbaresJapanElwin Sharvill NEW
Aika D SlusarskiItalyElwin Sharvill RENEWAL
Claire J PerinBrazilAmy Elsner NEGOTIATION
Emily C PoquetteSpainAnna Fali RENEWAL
Sinclair M MorascaAustraliaAsiya Javayant NEW
Smith V StockhamArgentinaAmy Elsner RENEWAL
Jennifer N SchemmerJapanIoni Bowcher UNQUALIFIED
Deepesh A SlusarskiCanadaAsiya Javayant PROPOSAL
Aika I RoysterAustraliaIvan Magalhaes UNQUALIFIED
Darci M RimCanadaAnna Fali NEGOTIATION
Aditya E TollnerGermanyBernardo Dominic UNQUALIFIED
David V CampainIndiaStephen Shaw NEGOTIATION
Misaki V VocelkaAustraliaAmy Elsner RENEWAL
Nicolas C FlosiFranceElwin Sharvill NEGOTIATION
Jennifer I RimIndiaAmy Elsner UNQUALIFIED
Antonio R SlusarskiRussiaIoni Bowcher RENEWAL
Claire V StensethSpainXuxue Feng PROPOSAL
Wickens O BowleyFranceXuxue Feng RENEWAL
Izzy N DilliardBrazilOnyama Limba RENEWAL
Leon M ButtUnited KingdomBernardo Dominic NEGOTIATION
Maisha R SchemmerUnited KingdomAsiya Javayant PROPOSAL
Jefferson E RutaUnited KingdomElwin Sharvill NEGOTIATION
Mayumi W KolmetzFranceIoni Bowcher QUALIFIED
Clifford F GillianAustraliaAmy Elsner NEW
Kadeem N GauchoBrazilElwin Sharvill QUALIFIED
Aditya L CaldareraRussiaOnyama Limba RENEWAL
Octavia E FerenczBrazilElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Sinclair X WieserJapanIvan Magalhaes NEGOTIATION
Antonio C ChuiBrazilStephen Shaw UNQUALIFIED
Greenwood Z AlbaresItalyElwin Sharvill NEW
Stacey M WhobreySpainAnna Fali RENEWAL
Antonio A GarufiFranceOnyama Limba UNQUALIFIED
Julie W TollnerFranceBernardo Dominic PROPOSAL
Rodrigues D WaycottArgentinaIoni Bowcher QUALIFIED
Antonio H GillianRussiaAmy Elsner PROPOSAL
James D BowleyAustraliaAmy Elsner PROPOSAL
Johnson E GauchoGermanyBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith P MarrierItaly2024-06-07King, Christopher A Esq NEW92Bernardo Dominic
1001Cody G GarufiArgentina2024-05-26Chemel, James L Cpa NEW36Ioni Bowcher
1002Maria E WhobreyIndia2024-06-12Feiner Bros RENEWAL53Anna Fali
1003Francesco W SchemmerBrazil2024-06-01Rangoni Of Florence NEW36Stephen Shaw
1004Izzy W GlickSpain2024-06-21Chemel, James L Cpa QUALIFIED6Ivan Magalhaes
1005Ashley C ChuiArgentina2024-06-09Benton, John B Jr PROPOSAL97Onyama Limba
1006Ivar Q OstroskyRussia2024-06-16Printing Dimensions QUALIFIED51Anna Fali
1007Greenwood D FlosiBrazil2024-06-20Commercial Press UNQUALIFIED43Amy Elsner
1008Greenwood R RutaSpain2024-05-27Benton, John B Jr QUALIFIED57Stephen Shaw
1009Deepesh E WieserCanada2024-05-31King, Christopher A Esq RENEWAL56Asiya Javayant
1010Chavez J SergiCanada2024-06-19Rousseaux, Michael Esq QUALIFIED13Xuxue Feng
1011Sinclair A RulapaughGermany2024-06-08King, Christopher A Esq RENEWAL59Asiya Javayant
1012Ashley O StensethRussia2024-05-29Chemel, James L Cpa QUALIFIED76Onyama Limba
1013Salvatore X MaletFrance2024-06-13Commercial Press NEGOTIATION3Amy Elsner
1014Costa V RoysterRussia2024-06-06Feiner Bros NEGOTIATION51Xuxue Feng
1015Sinclair K MaletSpain2024-06-03Benton, John B Jr RENEWAL22Stephen Shaw
1016Stacey F ChuiBrazil2024-06-15Morlong Associates NEGOTIATION47Asiya Javayant
1017Emily N DoeJapan2024-05-26Commercial Press UNQUALIFIED31Xuxue Feng
1018Aruna P WieserFrance2024-06-07Chapman, Ross E Esq NEGOTIATION20Ivan Magalhaes
1019Cody U BologniaGermany2024-05-29Dorl, James J Esq QUALIFIED26Ivan Magalhaes
1020Salvatore I FollerJapan2024-06-16Truhlar And Truhlar Attys PROPOSAL20Amy Elsner
1021Salvatore C TollnerJapan2024-06-06Printing Dimensions UNQUALIFIED13Stephen Shaw
1022James M BriddickSpain2024-06-05Commercial Press NEW54Bernardo Dominic
1023Morrow Y ShinkoAustralia2024-06-21Feltz Printing Service NEW19Bernardo Dominic
1024Arvin B RoysterItaly2024-06-18Feiner Bros QUALIFIED82Xuxue Feng
1025Aika M StockhamSpain2024-05-24Commercial Press QUALIFIED38Asiya Javayant
1026Faith F GarufiUnited Kingdom2024-06-13Commercial Press PROPOSAL35Ioni Bowcher
1027Jennifer Y RoysterJapan2024-06-18Truhlar And Truhlar Attys RENEWAL86Amy Elsner
1028Cody W MorascaIndia2024-06-05Benton, John B Jr QUALIFIED90Asiya Javayant
1029Claire G OstroskyItaly2024-06-01Morlong Associates RENEWAL39Elwin Sharvill
1030Kaitlin N OstroskyRussia2024-05-29Printing Dimensions RENEWAL38Ioni Bowcher
1031Cody I NestleGermany2024-06-14Printing Dimensions UNQUALIFIED51Amy Elsner
1032Murillo J PaprockiGermany2024-06-20Dorl, James J Esq QUALIFIED41Elwin Sharvill
1033Ashley Q BriddickFrance2024-06-21Chapman, Ross E Esq NEW33Onyama Limba
1034Rodrigues E FigeroaAustralia2024-05-31King, Christopher A Esq RENEWAL70Ioni Bowcher
1035Johnson O StensethBrazil2024-06-12Dorl, James J Esq NEW73Amy Elsner
1036Aditya B BowleyFrance2024-06-08Chemel, James L Cpa RENEWAL42Xuxue Feng
1037Mujtaba F PoquetteArgentina2024-06-03Buckley Miller Wright NEW87Elwin Sharvill
1038Deepesh R RoysterGermany2024-06-11Buckley Miller Wright QUALIFIED30Amy Elsner
1039Jefferson N FlosiGermany2024-05-29Benton, John B Jr PROPOSAL49Xuxue Feng
1040Aika Z VenereUnited Kingdom2024-06-05Printing Dimensions QUALIFIED24Ivan Magalhaes
1041Clifford S OstroskyArgentina2024-06-16Buckley Miller Wright NEGOTIATION64Elwin Sharvill
1042Mayumi I OstroskyArgentina2024-06-12Feiner Bros RENEWAL39Onyama Limba
1043Julie Y SlusarskiSpain2024-06-18Commercial Press QUALIFIED67Asiya Javayant
1044Kadeem M GlickJapan2024-06-16King, Christopher A Esq NEGOTIATION85Asiya Javayant
1045Jefferson W GarufiItaly2024-06-13Dorl, James J Esq RENEWAL88Stephen Shaw
1046Clifford P GillianArgentina2024-06-21Rousseaux, Michael Esq RENEWAL95Xuxue Feng
1047Francesco C GarufiJapan2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED80Elwin Sharvill
1048Mayumi I OldroydSpain2024-06-03Buckley Miller Wright NEGOTIATION9Amy Elsner
1049Clifford O AlbaresItaly2024-06-04Truhlar And Truhlar Attys RENEWAL38Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
James O CaldareraCanadaIvan Magalhaes PROPOSAL
Claire G WaycottCanadaBernardo Dominic UNQUALIFIED
Misaki B DilliardArgentinaAsiya Javayant QUALIFIED
Salvatore J BowleyIndiaIvan Magalhaes RENEWAL
Greenwood Q RimFranceIoni Bowcher RENEWAL
Misaki Z CaldareraBrazilAmy Elsner UNQUALIFIED
Maria O RutaUnited KingdomStephen Shaw QUALIFIED
Jefferson S WhobreyItalyAnna Fali NEGOTIATION
Johnson I MarrierFranceElwin Sharvill PROPOSAL
Cody Q FollerItalyXuxue Feng UNQUALIFIED
Aika T FerenczFranceBernardo Dominic NEW
Ivar L WieserIndiaStephen Shaw PROPOSAL
Smith Q TollnerIndiaElwin Sharvill RENEWAL
Aika B NestleUnited KingdomAsiya Javayant NEW
Kadeem I AmigonJapanIoni Bowcher RENEWAL
Kaitlin G GlickBrazilXuxue Feng NEGOTIATION
Silvio F FlosiIndiaAsiya Javayant NEW
Kaitlin A ButtCanadaXuxue Feng QUALIFIED
Mujtaba F BowleyUnited KingdomXuxue Feng PROPOSAL
Aika F SchemmerUnited KingdomAsiya Javayant NEW
Salvatore R RoysterGermanyAmy Elsner UNQUALIFIED
Mayumi L PerinJapanIvan Magalhaes QUALIFIED
Jeanfrancois C WieserCanadaAsiya Javayant PROPOSAL
Jeanfrancois U StockhamGermanyAmy Elsner UNQUALIFIED
Maria X NickaFranceAmy Elsner QUALIFIED
Nicolas L WieserItalyAnna Fali PROPOSAL
Antonio T PaprockiAustraliaAnna Fali PROPOSAL
Aruna O FollerAustraliaStephen Shaw UNQUALIFIED
Ricardo J GillianGermanyXuxue Feng QUALIFIED
Sinclair C DilliardJapanOnyama Limba PROPOSAL
Octavia S FerenczSpainElwin Sharvill UNQUALIFIED
Salvatore U GlickIndiaIvan Magalhaes PROPOSAL
Julie D BologniaBrazilElwin Sharvill PROPOSAL
Maisha L KuskoJapanAnna Fali QUALIFIED
Stacey D VenereGermanyAsiya Javayant UNQUALIFIED
Mayumi Y BologniaUnited KingdomAnna Fali UNQUALIFIED
Clifford P GlickCanadaBernardo Dominic PROPOSAL
Kaitlin E CaldareraGermanyIvan Magalhaes UNQUALIFIED
Salvatore A NickaBrazilBernardo Dominic QUALIFIED
Aditya E TollnerItalyIvan Magalhaes UNQUALIFIED
Isabel G MacleadFranceBernardo Dominic NEGOTIATION
David A BologniaRussiaXuxue Feng QUALIFIED
Chavez J GillianRussiaAsiya Javayant NEW
Aika T RoysterIndiaAnna Fali QUALIFIED
Leon W WhobreyBrazilXuxue Feng NEGOTIATION
Aditya V DarakjyItalyIoni Bowcher PROPOSAL
Jefferson K FollerIndiaXuxue Feng NEW
Jeanfrancois L GillianJapanOnyama Limba RENEWAL
Jones C FlosiRussiaAmy Elsner NEGOTIATION
Kaitlin C RimFranceStephen Shaw RENEWAL
Frozen Columns
Name
Salvatore C Malet
Murillo Y Butt
Leja A Perin
Nicolas P Royster
Silvio Y Dilliard
Misaki B Stenseth
Claire O Ferencz
Salvatore V Shinko
Jennifer O Darakjy
Maisha B Sergi
Cody J Kusko
Julie U Stockham
Alejandro Q Maclead
Adams D Campain
Darci P Butt
Isabel O Stockham
Mujtaba T Malet
Ricardo D Wieser
Faith M Stockham
Smith W Stenseth
Claire Q Rim
Jones P Sergi
James I Figeroa
Julie F Ruta
Julie O Campain
Nicolas N Waycott
Aruna D Garufi
Isabel X Poquette
Greenwood N Oldroyd
Morrow H Poquette
Salvatore C Amigon
Julie W Poquette
Ashley G Ruta
Antonio K Royster
Francesco A Gaucho
Darci G Ostrosky
Aruna D Caudy
Silvio U Wieser
Alejandro O Malet
Morrow S Gaucho
Salvatore D Kusko
Isabel N Royster
Claire Q Stockham
Mujtaba I Maclead
James W Bowley
Mujtaba N Caudy
Juan Z Briddick
Juan K Doe
Faith K Marrier
Kaitlin O Venere
IdCountryDate
1000Spain2024-05-27
1001Australia2024-06-18
1002Canada2024-06-08
1003Brazil2024-06-10
1004United Kingdom2024-05-26
1005Australia2024-06-04
1006Canada2024-05-31
1007France2024-06-02
1008Argentina2024-06-11
1009France2024-06-17
1010Germany2024-05-30
1011Italy2024-05-27
1012Italy2024-06-06
1013Japan2024-06-09
1014Italy2024-06-11
1015Australia2024-06-15
1016Canada2024-06-02
1017United Kingdom2024-05-30
1018Canada2024-06-06
1019Germany2024-06-11
1020Spain2024-06-11
1021Italy2024-05-28
1022Argentina2024-06-10
1023Germany2024-06-17
1024Italy2024-05-31
1025Australia2024-06-12
1026Australia2024-05-26
1027Italy2024-05-24
1028Italy2024-05-27
1029Canada2024-06-21
1030Russia2024-05-28
1031United Kingdom2024-06-04
1032Canada2024-06-02
1033Argentina2024-06-15
1034Japan2024-05-27
1035India2024-06-11
1036Brazil2024-06-12
1037Argentina2024-06-15
1038Italy2024-05-30
1039Australia2024-06-13
1040Australia2024-05-31
1041Australia2024-05-28
1042Australia2024-06-13
1043India2024-06-05
1044Italy2024-06-16
1045United Kingdom2024-05-27
1046Canada2024-06-14
1047Australia2024-06-07
1048Australia2024-06-14
1049India2024-06-06

On-Demand Data

NameIdCountryDate
Johnson V Garufi1000Argentina2024-06-04
Tony I Nestle1001Canada2024-05-28
Ashley D Oldroyd1002Canada2024-06-08
Jones H Albares1003Japan2024-06-06
Faith M Ostrosky1004Australia2024-05-27
Tony B Gillian1005Spain2024-06-19
Misaki R Sergi1006Spain2024-06-21
Sinclair R Darakjy1007Japan2024-06-08
James S Campain1008Japan2024-05-27
Claire K Briddick1009Germany2024-05-29
Ashley V Sergi1010Australia2024-06-19
Greenwood X Darakjy1011Spain2024-06-04
Chavez Z Wieser1012Brazil2024-06-03
Ricardo C Ostrosky1013United Kingdom2024-06-13
Jennifer N Figeroa1014India2024-06-15
Clifford Y Nestle1015Italy2024-06-19
Jefferson F Shinko1016Germany2024-05-26
Ricardo Y Campain1017Brazil2024-06-01
Jennifer K Chui1018Australia2024-06-04
Ivar D Vocelka1019Russia2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki K BriddickGermanyIvan Magalhaes RENEWAL
Arvin F PaprockiFranceAsiya Javayant NEGOTIATION
Wickens N DilliardGermanyStephen Shaw PROPOSAL
Leja P AmigonArgentinaStephen Shaw NEGOTIATION
Salvatore K FlosiRussiaAmy Elsner QUALIFIED
Maria X GarufiUnited KingdomBernardo Dominic QUALIFIED
Chavez Q BriddickUnited KingdomAnna Fali UNQUALIFIED
Clifford H BriddickIndiaAsiya Javayant PROPOSAL
Aruna B MarrierSpainIoni Bowcher UNQUALIFIED
Emily Y GillianUnited KingdomBernardo Dominic PROPOSAL
Kadeem L RimArgentinaOnyama Limba RENEWAL
Ashley C GlickAustraliaStephen Shaw PROPOSAL
Arvin A DilliardFranceAsiya Javayant UNQUALIFIED
Wickens F MaletFranceBernardo Dominic QUALIFIED
Faith U SchemmerCanadaBernardo Dominic NEW
Francesco Z NickaIndiaAnna Fali PROPOSAL
Jeanfrancois G CaudyJapanAmy Elsner NEGOTIATION
Adams D PoquetteArgentinaElwin Sharvill QUALIFIED
Octavia X RulapaughIndiaIvan Magalhaes NEW
Darci U MaletFranceStephen Shaw RENEWAL
Deepesh E SergiRussiaOnyama Limba NEW
Kaitlin E VenereIndiaAnna Fali NEW
Leon I StensethAustraliaXuxue Feng UNQUALIFIED
Mayumi W DoeUnited KingdomAsiya Javayant PROPOSAL
Wickens C PoquetteRussiaOnyama Limba UNQUALIFIED
Francesco F AmigonCanadaElwin Sharvill QUALIFIED
Ashley P GlickAustraliaXuxue Feng NEW
Ivar V MacleadRussiaIoni Bowcher QUALIFIED
Aditya N NestleFranceAnna Fali UNQUALIFIED
Cody R StensethArgentinaElwin Sharvill RENEWAL
Ivar H BriddickAustraliaBernardo Dominic UNQUALIFIED
Ashley T RulapaughCanadaStephen Shaw PROPOSAL
Jones L VenereItalyBernardo Dominic NEGOTIATION
Cody Z ChuiIndiaAmy Elsner QUALIFIED
Salvatore N StensethSpainBernardo Dominic NEW
Jones D DilliardCanadaOnyama Limba QUALIFIED
Smith T WieserItalyIoni Bowcher NEW
Isabel I KuskoSpainIvan Magalhaes NEW
Clifford Z WieserFranceOnyama Limba RENEWAL
Izzy G MaletUnited KingdomAmy Elsner NEGOTIATION

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