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
Isabel Z WaycottJapanBernardo Dominic RENEWAL
Ricardo L WhobreyAustraliaAmy Elsner RENEWAL
Octavia Y FerenczCanadaXuxue Feng NEGOTIATION
James Z AlbaresArgentinaStephen Shaw PROPOSAL
Maria M MorascaUnited KingdomOnyama Limba NEW
Aruna Y WaycottBrazilAnna Fali QUALIFIED
Munro B SchemmerSpainAsiya Javayant PROPOSAL
Tony U DoeAustraliaIoni Bowcher QUALIFIED
Antonio N BologniaSpainBernardo Dominic NEW
Murillo J RoysterFranceIvan Magalhaes NEGOTIATION
Izzy K PerinItalyXuxue Feng UNQUALIFIED
Deepesh O GauchoCanadaAsiya Javayant NEGOTIATION
Kadeem P KuskoFranceAsiya Javayant UNQUALIFIED
Deepesh J IturbideArgentinaIvan Magalhaes NEGOTIATION
Maisha S RutaUnited KingdomAmy Elsner NEW
Octavia Y VocelkaUnited KingdomAsiya Javayant PROPOSAL
Jefferson R FollerItalyStephen Shaw NEW
Johnson M StensethFranceAsiya Javayant UNQUALIFIED
Maisha O NickaRussiaAmy Elsner RENEWAL
Leja Y PaprockiIndiaAsiya Javayant PROPOSAL
Murillo Z BologniaAustraliaBernardo Dominic PROPOSAL
Stacey Q PerinJapanOnyama Limba PROPOSAL
Aruna E PaprockiUnited KingdomIvan Magalhaes PROPOSAL
James N PerinAustraliaIvan Magalhaes NEW
Maisha B WaycottIndiaIvan Magalhaes NEGOTIATION
Kadeem B IturbideFranceIvan Magalhaes NEGOTIATION
Ashley B CampainFranceAmy Elsner UNQUALIFIED
Sinclair D OldroydCanadaXuxue Feng PROPOSAL
Cody Q FlosiGermanyIoni Bowcher NEW
Isabel X GlickBrazilAmy Elsner UNQUALIFIED
Claire P MaletSpainIvan Magalhaes RENEWAL
Claire R MorascaRussiaStephen Shaw NEW
James H SchemmerUnited KingdomOnyama Limba NEW
Ricardo X AlbaresBrazilXuxue Feng RENEWAL
Claire E DoeAustraliaStephen Shaw RENEWAL
Johnson U GillianGermanyAmy Elsner RENEWAL
Emily J WhobreyIndiaStephen Shaw NEGOTIATION
Silvio L DarakjyJapanIvan Magalhaes NEW
Claire W WhobreyIndiaAmy Elsner UNQUALIFIED
Juan L MorascaBrazilIvan Magalhaes RENEWAL
Murillo F NickaJapanStephen Shaw NEW
Rodrigues Q NestleFranceAmy Elsner UNQUALIFIED
David M VenereCanadaAnna Fali PROPOSAL
Maria P GauchoSpainElwin Sharvill NEW
Smith M ShinkoGermanyOnyama Limba RENEWAL
Clifford C BriddickJapanIvan Magalhaes QUALIFIED
Murillo D WaycottUnited KingdomBernardo Dominic PROPOSAL
Clifford V RulapaughCanadaIoni Bowcher RENEWAL
Munro M AlbaresSpainXuxue Feng NEGOTIATION
Kadeem U AmigonIndiaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Murillo D MaletItalyIoni Bowcher PROPOSAL
Jones T NickaRussiaElwin Sharvill NEW
Arvin J NickaRussiaAsiya Javayant PROPOSAL
Mujtaba X GauchoFranceAmy Elsner RENEWAL
Julie F BowleyUnited KingdomStephen Shaw NEGOTIATION
Faith G BriddickJapanOnyama Limba NEGOTIATION
Greenwood D SchemmerCanadaBernardo Dominic QUALIFIED
Greenwood G NickaAustraliaAmy Elsner PROPOSAL
Maisha D WhobreyArgentinaOnyama Limba NEW
Sinclair G DarakjyJapanXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody X ChuiFrance2024-06-12Dorl, James J Esq NEW31Asiya Javayant
1001Julie C WieserItaly2024-05-28Morlong Associates PROPOSAL10Elwin Sharvill
1002Munro H OldroydArgentina2024-06-08Dorl, James J Esq QUALIFIED6Xuxue Feng
1003Rodrigues G SlusarskiJapan2024-06-17Rangoni Of Florence UNQUALIFIED76Ioni Bowcher
1004Johnson K FigeroaJapan2024-06-19Chemel, James L Cpa NEW48Onyama Limba
1005Ashley U KolmetzIndia2024-06-08Morlong Associates PROPOSAL95Elwin Sharvill
1006Izzy S RulapaughSpain2024-06-01Chemel, James L Cpa RENEWAL24Ioni Bowcher
1007Jones T PoquetteJapan2024-06-01Commercial Press RENEWAL32Ioni Bowcher
1008Munro F NickaJapan2024-06-21Truhlar And Truhlar Attys NEW78Ivan Magalhaes
1009Stacey V FollerFrance2024-06-12Dorl, James J Esq NEGOTIATION68Amy Elsner
1010Morrow U ShinkoAustralia2024-05-29Truhlar And Truhlar Attys NEGOTIATION28Bernardo Dominic
1011Wickens M RimJapan2024-06-06Printing Dimensions UNQUALIFIED79Asiya Javayant
1012Emily S SaylorsAustralia2024-06-13Commercial Press QUALIFIED15Elwin Sharvill
1013Greenwood D KuskoJapan2024-06-16Commercial Press QUALIFIED6Amy Elsner
1014Emily H SaylorsRussia2024-06-07Truhlar And Truhlar Attys RENEWAL97Xuxue Feng
1015Jefferson B ButtItaly2024-06-09Rangoni Of Florence NEGOTIATION36Asiya Javayant
1016Aruna E CaudyUnited Kingdom2024-06-17Feltz Printing Service QUALIFIED92Amy Elsner
1017Octavia A IturbideIndia2024-06-08Printing Dimensions NEW29Ivan Magalhaes
1018Alejandro K StockhamGermany2024-05-29Dorl, James J Esq PROPOSAL40Amy Elsner
1019Clifford G PerinArgentina2024-06-20Rangoni Of Florence PROPOSAL57Stephen Shaw
1020Emily R AmigonRussia2024-06-05Commercial Press NEGOTIATION79Elwin Sharvill
1021Aika D AmigonAustralia2024-06-11Buckley Miller Wright RENEWAL80Amy Elsner
1022Kadeem X AmigonSpain2024-06-07Printing Dimensions NEGOTIATION19Xuxue Feng
1023Stacey N PoquetteArgentina2024-06-01Morlong Associates QUALIFIED95Elwin Sharvill
1024Jeanfrancois U StockhamItaly2024-06-03King, Christopher A Esq QUALIFIED95Xuxue Feng
1025Jennifer I NickaRussia2024-05-29Printing Dimensions RENEWAL83Onyama Limba
1026Kaitlin B KuskoCanada2024-06-03Rangoni Of Florence NEW41Asiya Javayant
1027Mayumi P StensethItaly2024-06-23Rousseaux, Michael Esq PROPOSAL77Onyama Limba
1028Kaitlin D DilliardBrazil2024-06-22Dorl, James J Esq QUALIFIED96Bernardo Dominic
1029Alejandro J VenereFrance2024-06-18Chapman, Ross E Esq QUALIFIED33Ioni Bowcher
1030Juan W PerinGermany2024-06-06Feltz Printing Service QUALIFIED0Asiya Javayant
1031Maria L RimAustralia2024-06-04Chapman, Ross E Esq NEW2Bernardo Dominic
1032Ivar G BriddickJapan2024-06-20Commercial Press RENEWAL53Ivan Magalhaes
1033Murillo D AlbaresAustralia2024-06-04Morlong Associates PROPOSAL91Onyama Limba
1034Francesco Q MaletRussia2024-06-16Morlong Associates NEGOTIATION83Amy Elsner
1035Ivar K RoysterUnited Kingdom2024-06-07Dorl, James J Esq UNQUALIFIED73Stephen Shaw
1036Silvio S CampainAustralia2024-06-07Truhlar And Truhlar Attys QUALIFIED89Ioni Bowcher
1037Emily S RulapaughGermany2024-06-19Dorl, James J Esq RENEWAL65Bernardo Dominic
1038David I ShinkoSpain2024-06-08Feltz Printing Service UNQUALIFIED30Elwin Sharvill
1039Salvatore I KolmetzArgentina2024-06-01Benton, John B Jr NEGOTIATION46Elwin Sharvill
1040Darci M CampainAustralia2024-06-20Printing Dimensions NEW16Elwin Sharvill
1041Kadeem L AlbaresAustralia2024-06-04Chapman, Ross E Esq QUALIFIED96Ioni Bowcher
1042Misaki P OldroydCanada2024-06-18Feiner Bros RENEWAL23Xuxue Feng
1043Aditya W RutaAustralia2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED14Onyama Limba
1044Faith Z NestleFrance2024-06-03Chanay, Jeffrey A Esq NEW44Amy Elsner
1045Deepesh R MaletSpain2024-06-14Printing Dimensions UNQUALIFIED62Amy Elsner
1046Ashley Y MaletFrance2024-05-27Printing Dimensions UNQUALIFIED46Onyama Limba
1047Kadeem J StensethIndia2024-06-01Dorl, James J Esq PROPOSAL62Onyama Limba
1048Mujtaba A MarrierJapan2024-06-22Rangoni Of Florence NEGOTIATION0Onyama Limba
1049Rodrigues P PaprockiCanada2024-06-09Benton, John B Jr PROPOSAL79Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Munro I StensethJapanElwin Sharvill NEW
Tony G FlosiUnited KingdomIoni Bowcher RENEWAL
Octavia K BowleyIndiaAnna Fali NEW
Faith O OstroskyCanadaBernardo Dominic NEGOTIATION
Leja H VenereIndiaOnyama Limba UNQUALIFIED
Kaitlin C NestleFranceElwin Sharvill RENEWAL
Antonio M InouyeBrazilElwin Sharvill RENEWAL
Leja A GillianSpainStephen Shaw UNQUALIFIED
Antonio C MaletRussiaIoni Bowcher RENEWAL
Francesco P KolmetzFranceAmy Elsner NEW
James I GlickJapanBernardo Dominic RENEWAL
Sinclair C OldroydJapanElwin Sharvill UNQUALIFIED
Jennifer A WaycottGermanyAmy Elsner RENEWAL
Wickens T StensethJapanIoni Bowcher NEGOTIATION
Aika B IturbideSpainXuxue Feng RENEWAL
Tony R NestleGermanyXuxue Feng QUALIFIED
Adams T ButtFranceStephen Shaw UNQUALIFIED
Leja X TollnerFranceOnyama Limba NEW
Claire U InouyeAustraliaBernardo Dominic PROPOSAL
Juan T SchemmerIndiaBernardo Dominic NEW
Maisha P SlusarskiAustraliaStephen Shaw QUALIFIED
Kadeem E BowleyRussiaAnna Fali RENEWAL
Munro W GauchoRussiaAsiya Javayant QUALIFIED
Mujtaba T OstroskyItalyIoni Bowcher PROPOSAL
Sinclair M SergiIndiaIvan Magalhaes UNQUALIFIED
Ashley S BologniaJapanAsiya Javayant RENEWAL
Izzy R GarufiJapanElwin Sharvill UNQUALIFIED
Mujtaba N NickaRussiaIvan Magalhaes QUALIFIED
Jefferson E GarufiIndiaIvan Magalhaes UNQUALIFIED
Faith P ChuiFranceAnna Fali UNQUALIFIED
Misaki E CampainArgentinaOnyama Limba NEW
Salvatore N FigeroaGermanyBernardo Dominic RENEWAL
Aika K ButtFranceXuxue Feng RENEWAL
Alejandro Y GlickBrazilAnna Fali RENEWAL
Clifford B OstroskyBrazilBernardo Dominic NEGOTIATION
Isabel H SchemmerFranceIoni Bowcher NEGOTIATION
Aika L DarakjySpainAmy Elsner QUALIFIED
David Z FollerBrazilAmy Elsner NEW
Octavia Y DilliardUnited KingdomAnna Fali QUALIFIED
Deepesh K PoquetteSpainAmy Elsner QUALIFIED
Nicolas F FollerJapanXuxue Feng PROPOSAL
Greenwood Z BriddickFranceBernardo Dominic NEGOTIATION
Smith S DilliardIndiaXuxue Feng QUALIFIED
Ashley E OldroydJapanOnyama Limba NEGOTIATION
Izzy V AmigonAustraliaOnyama Limba UNQUALIFIED
Faith A PaprockiGermanyXuxue Feng UNQUALIFIED
Mujtaba N VocelkaJapanStephen Shaw PROPOSAL
Aruna U RoysterJapanIoni Bowcher UNQUALIFIED
Johnson N SchemmerIndiaXuxue Feng RENEWAL
Tony Y KolmetzFranceAsiya Javayant QUALIFIED
Frozen Columns
Name
Stacey H Amigon
Sinclair F Saylors
Arvin N Garufi
Arvin F Schemmer
Wickens Q Perin
Costa N Caldarera
Jefferson A Saylors
Jones G Ostrosky
Aika H Inouye
Jeanfrancois R Butt
Izzy A Tollner
Kaitlin A Iturbide
Ivar Y Gaucho
Julie N Darakjy
David A Gillian
Mayumi R Bolognia
Wickens R Morasca
Jennifer X Stockham
David J Maclead
Sinclair R Paprocki
Juan N Bowley
Tony X Nestle
Octavia Y Ferencz
Nicolas Q Nestle
Rodrigues L Kusko
Leon N Glick
Francesco B Whobrey
Mujtaba I Maclead
Faith D Vocelka
Francesco L Kusko
Juan N Rim
Morrow D Kolmetz
Ashley S Figeroa
Aditya B Slusarski
Deepesh D Whobrey
Smith M Stenseth
Jeanfrancois Y Rulapaugh
James L Shinko
Aruna J Poquette
Julie Q Tollner
Izzy N Ruta
Isabel N Royster
Jones G Ostrosky
Nicolas G Doe
Johnson D Darakjy
Silvio O Chui
Adams C Venere
Faith Q Maclead
Ivar E Caudy
Aruna F Saylors
IdCountryDate
1000United Kingdom2024-06-16
1001Italy2024-06-13
1002Canada2024-05-27
1003Australia2024-06-01
1004India2024-06-14
1005Canada2024-05-27
1006Canada2024-06-08
1007Germany2024-06-06
1008Australia2024-06-03
1009Australia2024-06-11
1010United Kingdom2024-05-26
1011Brazil2024-05-31
1012Australia2024-06-17
1013Spain2024-06-03
1014Argentina2024-05-27
1015Russia2024-05-29
1016Argentina2024-05-27
1017India2024-06-09
1018Spain2024-06-20
1019Australia2024-06-11
1020Japan2024-06-14
1021France2024-05-26
1022United Kingdom2024-06-20
1023Russia2024-06-04
1024France2024-06-17
1025Australia2024-06-02
1026India2024-06-10
1027Russia2024-06-15
1028United Kingdom2024-06-22
1029India2024-06-07
1030Australia2024-06-11
1031France2024-06-03
1032United Kingdom2024-06-18
1033Germany2024-06-08
1034United Kingdom2024-06-13
1035France2024-06-08
1036Spain2024-06-04
1037Canada2024-06-12
1038Italy2024-06-14
1039United Kingdom2024-05-27
1040Argentina2024-05-25
1041Russia2024-06-08
1042United Kingdom2024-05-30
1043Brazil2024-06-23
1044Italy2024-06-16
1045France2024-06-22
1046Australia2024-06-16
1047India2024-06-14
1048Russia2024-06-01
1049Argentina2024-06-02

On-Demand Data

NameIdCountryDate
Octavia D Bowley1000Argentina2024-06-17
Antonio S Oldroyd1001Germany2024-05-26
Ricardo Y Inouye1002Italy2024-06-12
Emily Y Butt1003Canada2024-05-30
Costa L Glick1004United Kingdom2024-06-08
Morrow P Ostrosky1005Italy2024-06-18
David Y Wieser1006Canada2024-06-13
Maria I Ferencz1007Spain2024-06-02
Maisha V Royster1008United Kingdom2024-06-04
Leon W Wieser1009Russia2024-06-03
Aika K Glick1010India2024-05-27
Leja K Nestle1011Japan2024-06-06
Isabel U Darakjy1012India2024-06-18
Chavez Z Malet1013Australia2024-06-23
Aruna X Waycott1014Russia2024-06-02
Murillo B Poquette1015Brazil2024-06-10
Rodrigues D Whobrey1016Brazil2024-06-23
Leon H Whobrey1017France2024-06-23
David Y Amigon1018Brazil2024-06-02
James V Maclead1019Russia2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues C DoeFranceXuxue Feng PROPOSAL
Leon C WhobreyCanadaStephen Shaw PROPOSAL
Jeanfrancois E AlbaresGermanyElwin Sharvill QUALIFIED
Leja D GauchoSpainAmy Elsner NEW
Cody U DoeArgentinaAnna Fali UNQUALIFIED
Jeanfrancois Z RulapaughAustraliaOnyama Limba NEW
Aditya I CaldareraItalyAmy Elsner PROPOSAL
Francesco S MorascaGermanyAsiya Javayant RENEWAL
Maisha V BowleyArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois N TollnerSpainIoni Bowcher NEGOTIATION
Ricardo O CaldareraIndiaElwin Sharvill QUALIFIED
Munro J CampainCanadaElwin Sharvill RENEWAL
Jefferson B MaletAustraliaStephen Shaw RENEWAL
Aika S MacleadCanadaOnyama Limba PROPOSAL
Jones A RoysterIndiaXuxue Feng QUALIFIED
Antonio S GillianGermanyBernardo Dominic UNQUALIFIED
Cody G ShinkoArgentinaAmy Elsner PROPOSAL
Leon C WhobreyArgentinaStephen Shaw UNQUALIFIED
Greenwood I DarakjyBrazilAnna Fali UNQUALIFIED
Antonio O DarakjyJapanElwin Sharvill NEW
Maisha L GarufiCanadaXuxue Feng QUALIFIED
Jeanfrancois X WieserArgentinaOnyama Limba UNQUALIFIED
Arvin B RutaFranceStephen Shaw UNQUALIFIED
Adams M ButtJapanXuxue Feng RENEWAL
Emily I GauchoSpainIoni Bowcher RENEWAL
Kadeem B IturbideCanadaAsiya Javayant NEGOTIATION
Darci G FlosiAustraliaXuxue Feng NEGOTIATION
Stacey V CampainJapanAnna Fali UNQUALIFIED
Darci C StensethCanadaAmy Elsner PROPOSAL
Greenwood D GarufiJapanStephen Shaw RENEWAL
Morrow L CaudyItalyAnna Fali RENEWAL
Tony P MaletSpainStephen Shaw QUALIFIED
Juan C VocelkaIndiaXuxue Feng NEGOTIATION
Aika F MacleadJapanStephen Shaw NEW
Jennifer M WhobreyCanadaBernardo Dominic NEW
Murillo L NestleCanadaAnna Fali NEGOTIATION
Faith B CaudyGermanyXuxue Feng UNQUALIFIED
Julie O WhobreySpainOnyama Limba NEW
Salvatore H AmigonGermanyIvan Magalhaes NEW
Claire D RoysterBrazilXuxue Feng UNQUALIFIED

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