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
Kaitlin W BriddickItalyAmy Elsner RENEWAL
Isabel Y GauchoRussiaIvan Magalhaes UNQUALIFIED
Smith B GlickIndiaIoni Bowcher QUALIFIED
Juan F MaletBrazilXuxue Feng RENEWAL
Jefferson G MorascaArgentinaAsiya Javayant UNQUALIFIED
Cody O RutaRussiaElwin Sharvill NEGOTIATION
Ivar Y CaldareraItalyIoni Bowcher QUALIFIED
Juan S BriddickFranceIoni Bowcher RENEWAL
Ivar T FollerSpainElwin Sharvill NEGOTIATION
Morrow M ButtGermanyAnna Fali NEW
Izzy M SaylorsBrazilBernardo Dominic UNQUALIFIED
Emily O GillianIndiaStephen Shaw RENEWAL
Jeanfrancois D OldroydSpainAnna Fali RENEWAL
Francesco T IturbideGermanyIvan Magalhaes NEW
Ivar C SaylorsAustraliaAsiya Javayant QUALIFIED
Aditya P GauchoIndiaStephen Shaw UNQUALIFIED
Johnson V SaylorsSpainIoni Bowcher QUALIFIED
Leon K GillianCanadaStephen Shaw UNQUALIFIED
Stacey J GlickGermanyAmy Elsner QUALIFIED
Murillo I WhobreyFranceIoni Bowcher RENEWAL
Deepesh R KuskoSpainAnna Fali RENEWAL
Emily R NestleJapanXuxue Feng NEW
Jennifer W PoquetteRussiaBernardo Dominic PROPOSAL
Costa Z DoeAustraliaBernardo Dominic UNQUALIFIED
Octavia M SlusarskiBrazilAmy Elsner QUALIFIED
Maisha Z FerenczRussiaBernardo Dominic RENEWAL
Juan P WaycottSpainAmy Elsner UNQUALIFIED
Johnson I SlusarskiGermanyElwin Sharvill NEGOTIATION
Aditya D ChuiCanadaIoni Bowcher NEW
Ricardo I ShinkoBrazilAmy Elsner NEW
Greenwood M SaylorsItalyAmy Elsner RENEWAL
Tony D GarufiJapanAnna Fali PROPOSAL
Isabel U ShinkoGermanyBernardo Dominic QUALIFIED
Smith L BriddickSpainAmy Elsner UNQUALIFIED
Sinclair J ButtFranceBernardo Dominic QUALIFIED
Claire G SaylorsFranceElwin Sharvill NEW
Munro R PoquetteAustraliaIoni Bowcher RENEWAL
Faith Z TollnerUnited KingdomElwin Sharvill PROPOSAL
Sinclair K BowleyCanadaXuxue Feng NEW
Aika X NickaItalyElwin Sharvill NEGOTIATION
Chavez V MaletIndiaElwin Sharvill RENEWAL
Jones M VenereBrazilIvan Magalhaes UNQUALIFIED
Johnson R MaletCanadaIvan Magalhaes NEW
Juan C StensethGermanyAnna Fali NEW
Leon B KuskoGermanyXuxue Feng QUALIFIED
Kadeem F MaletUnited KingdomElwin Sharvill NEW
Ashley E InouyeRussiaAnna Fali UNQUALIFIED
Sinclair Q NickaGermanyAmy Elsner NEGOTIATION
Claire C VocelkaCanadaBernardo Dominic NEGOTIATION
Aruna L KuskoArgentinaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood N IturbideCanadaAmy Elsner NEW
Nicolas C MaletItalyIoni Bowcher NEW
Munro U WhobreyCanadaAsiya Javayant PROPOSAL
Ashley C StockhamAustraliaIvan Magalhaes NEW
Nicolas E ButtSpainStephen Shaw UNQUALIFIED
Ashley X WieserJapanAnna Fali NEW
Maisha Y VocelkaRussiaAmy Elsner QUALIFIED
Adams G RoysterBrazilAnna Fali UNQUALIFIED
Adams L MaletCanadaAnna Fali NEGOTIATION
Isabel J GarufiItalyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci M BriddickBrazil2024-05-24Truhlar And Truhlar Attys UNQUALIFIED38Onyama Limba
1001Nicolas F RutaBrazil2024-06-06Feiner Bros NEGOTIATION95Elwin Sharvill
1002Isabel R DarakjySpain2024-05-31Dorl, James J Esq QUALIFIED5Anna Fali
1003Ricardo U GlickUnited Kingdom2024-06-16Feiner Bros NEW88Xuxue Feng
1004Greenwood S SlusarskiArgentina2024-06-19Chanay, Jeffrey A Esq RENEWAL43Amy Elsner
1005Ricardo P VenereArgentina2024-05-30Chemel, James L Cpa NEGOTIATION52Anna Fali
1006Juan U CampainGermany2024-06-06Benton, John B Jr PROPOSAL92Amy Elsner
1007Claire L MorascaFrance2024-06-09Rangoni Of Florence QUALIFIED14Elwin Sharvill
1008Aruna O DilliardGermany2024-05-24Morlong Associates NEW33Elwin Sharvill
1009Kaitlin O SergiItaly2024-06-18Feltz Printing Service NEGOTIATION76Xuxue Feng
1010Deepesh B StockhamJapan2024-05-30King, Christopher A Esq NEW48Xuxue Feng
1011Jefferson S BowleySpain2024-06-09Dorl, James J Esq QUALIFIED15Stephen Shaw
1012Ricardo B CampainSpain2024-05-31Benton, John B Jr QUALIFIED97Anna Fali
1013Tony S KuskoJapan2024-06-06Dorl, James J Esq QUALIFIED30Anna Fali
1014Adams M FollerSpain2024-05-27Commercial Press NEW8Elwin Sharvill
1015Aika U VenereRussia2024-06-17Printing Dimensions NEW12Stephen Shaw
1016Kaitlin D OldroydCanada2024-06-21Rangoni Of Florence PROPOSAL60Elwin Sharvill
1017Izzy L FerenczCanada2024-06-05Truhlar And Truhlar Attys PROPOSAL62Anna Fali
1018Salvatore F MaletItaly2024-05-26Chanay, Jeffrey A Esq NEGOTIATION37Onyama Limba
1019Adams Z PaprockiAustralia2024-05-26Chanay, Jeffrey A Esq NEGOTIATION66Elwin Sharvill
1020Juan F NestleItaly2024-06-22Rousseaux, Michael Esq NEGOTIATION37Asiya Javayant
1021Kaitlin W DarakjyAustralia2024-06-15Morlong Associates NEW45Ioni Bowcher
1022Faith N FigeroaRussia2024-06-18Feltz Printing Service RENEWAL18Ioni Bowcher
1023Darci X NestleArgentina2024-05-24Truhlar And Truhlar Attys NEGOTIATION92Elwin Sharvill
1024Stacey Z TollnerRussia2024-05-25Benton, John B Jr QUALIFIED56Onyama Limba
1025Smith T RulapaughCanada2024-05-28Morlong Associates NEW39Asiya Javayant
1026Kaitlin T PaprockiJapan2024-06-17Dorl, James J Esq NEGOTIATION2Ioni Bowcher
1027Leja J PaprockiGermany2024-06-13Chanay, Jeffrey A Esq RENEWAL70Onyama Limba
1028Cody U RutaBrazil2024-06-02Benton, John B Jr NEW74Amy Elsner
1029Jefferson R MarrierArgentina2024-05-24Dorl, James J Esq NEW53Onyama Limba
1030Clifford T AlbaresAustralia2024-06-04Truhlar And Truhlar Attys QUALIFIED40Amy Elsner
1031Arvin S KuskoArgentina2024-06-07Rousseaux, Michael Esq RENEWAL21Anna Fali
1032Johnson M KuskoAustralia2024-06-10Rangoni Of Florence NEW78Asiya Javayant
1033Morrow F NickaUnited Kingdom2024-06-07Chemel, James L Cpa PROPOSAL63Anna Fali
1034Jefferson M VocelkaJapan2024-06-16Rangoni Of Florence PROPOSAL73Anna Fali
1035Rodrigues I CampainSpain2024-06-06King, Christopher A Esq UNQUALIFIED92Onyama Limba
1036Isabel L FlosiArgentina2024-05-25Feltz Printing Service QUALIFIED7Anna Fali
1037Kaitlin Q MaletRussia2024-06-17Chapman, Ross E Esq NEW4Elwin Sharvill
1038Faith Y RimBrazil2024-06-02Dorl, James J Esq UNQUALIFIED31Xuxue Feng
1039Mujtaba J IturbideFrance2024-06-12Buckley Miller Wright RENEWAL25Asiya Javayant
1040Murillo M CaldareraJapan2024-05-28Commercial Press RENEWAL98Anna Fali
1041Aruna A StensethIndia2024-06-13Buckley Miller Wright NEGOTIATION86Bernardo Dominic
1042Antonio A MaletItaly2024-06-19Commercial Press NEGOTIATION98Onyama Limba
1043Antonio S StockhamJapan2024-05-29Rangoni Of Florence NEW81Stephen Shaw
1044Darci D GauchoBrazil2024-06-04Chapman, Ross E Esq PROPOSAL21Xuxue Feng
1045Izzy T CaldareraArgentina2024-06-12Rangoni Of Florence NEGOTIATION47Ioni Bowcher
1046James Y OldroydJapan2024-06-10Feiner Bros RENEWAL25Amy Elsner
1047Darci N GillianArgentina2024-06-11Dorl, James J Esq PROPOSAL33Ioni Bowcher
1048Aditya R BowleyAustralia2024-06-19Rangoni Of Florence PROPOSAL61Asiya Javayant
1049David K RimJapan2024-06-12Rousseaux, Michael Esq PROPOSAL9Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Smith E SchemmerSpainBernardo Dominic UNQUALIFIED
Maisha M KuskoJapanBernardo Dominic UNQUALIFIED
Jeanfrancois Z FigeroaArgentinaElwin Sharvill PROPOSAL
Stacey D NickaFranceAnna Fali QUALIFIED
Ivar J VenereCanadaAsiya Javayant NEGOTIATION
Morrow W MorascaArgentinaAmy Elsner NEW
Arvin H WhobreyCanadaOnyama Limba QUALIFIED
David F RutaAustraliaAmy Elsner NEW
Alejandro Z VocelkaArgentinaElwin Sharvill UNQUALIFIED
Jefferson A GlickSpainBernardo Dominic QUALIFIED
Misaki U MorascaGermanyXuxue Feng PROPOSAL
Jones Y RoysterCanadaIvan Magalhaes RENEWAL
Ivar K CampainItalyOnyama Limba NEW
Claire X VocelkaIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois E OldroydRussiaIoni Bowcher NEW
Ashley T GarufiAustraliaBernardo Dominic QUALIFIED
Ivar F PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois G PaprockiSpainStephen Shaw RENEWAL
Aruna K WhobreySpainElwin Sharvill NEW
Aditya Z KolmetzCanadaStephen Shaw RENEWAL
Deepesh W OstroskyCanadaAmy Elsner NEW
David H MarrierRussiaXuxue Feng RENEWAL
Morrow F RulapaughFranceAsiya Javayant PROPOSAL
Julie Z StockhamJapanAmy Elsner NEGOTIATION
Maisha W PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Jennifer B TollnerAustraliaAmy Elsner QUALIFIED
James C StensethIndiaElwin Sharvill NEW
Morrow N RulapaughAustraliaAnna Fali RENEWAL
Aditya I DarakjyBrazilAmy Elsner UNQUALIFIED
Cody J InouyeAustraliaElwin Sharvill QUALIFIED
Misaki O SlusarskiGermanyAsiya Javayant PROPOSAL
Sinclair V VenereJapanElwin Sharvill QUALIFIED
Jones H StockhamSpainOnyama Limba QUALIFIED
Sinclair C KolmetzCanadaAsiya Javayant PROPOSAL
Mujtaba M ChuiJapanIoni Bowcher RENEWAL
Deepesh Q CampainCanadaBernardo Dominic QUALIFIED
Octavia Q GarufiRussiaOnyama Limba UNQUALIFIED
Wickens X OldroydCanadaStephen Shaw QUALIFIED
Darci L StockhamBrazilBernardo Dominic NEGOTIATION
Mayumi K PaprockiBrazilXuxue Feng RENEWAL
Jones H MorascaBrazilIvan Magalhaes QUALIFIED
Jeanfrancois E PoquetteCanadaAmy Elsner PROPOSAL
Morrow W OldroydAustraliaOnyama Limba RENEWAL
Misaki H SchemmerUnited KingdomBernardo Dominic NEW
Kadeem H OstroskyCanadaXuxue Feng UNQUALIFIED
Alejandro J ChuiCanadaAsiya Javayant NEGOTIATION
Costa E NestleIndiaIoni Bowcher UNQUALIFIED
Smith O DarakjySpainIoni Bowcher NEGOTIATION
Francesco N GlickFranceAnna Fali RENEWAL
Clifford B RoysterGermanyAmy Elsner PROPOSAL
Frozen Columns
Name
Emily H Saylors
Aika Z Darakjy
Aruna M Amigon
Faith M Figeroa
Cody C Iturbide
Morrow S Ruta
Smith W Marrier
Kaitlin Q Wieser
Johnson E Glick
Claire B Wieser
Costa L Caldarera
Aruna M Malet
Mujtaba F Slusarski
Ashley H Glick
Antonio A Caudy
David B Chui
Leja C Malet
Aditya W Perin
Deepesh V Butt
Kaitlin C Kusko
Ashley T Garufi
Cody S Ferencz
Deepesh T Stenseth
David D Inouye
Faith Z Sergi
Mayumi Q Flosi
Jones L Rim
Aditya N Bowley
Jones Q Ostrosky
Octavia S Dilliard
Sinclair W Slusarski
Faith F Rulapaugh
Jeanfrancois S Schemmer
Aditya R Sergi
Emily K Albares
Aruna H Waycott
Tony X Caldarera
Misaki E Nestle
Costa S Vocelka
Claire H Malet
Misaki G Garufi
Leon C Inouye
Juan G Shinko
Mayumi P Kolmetz
Morrow K Ruta
Maria E Whobrey
Julie L Caudy
Deepesh Q Briddick
Rodrigues I Bolognia
Rodrigues L Glick
IdCountryDate
1000France2024-06-20
1001Italy2024-06-02
1002Brazil2024-05-29
1003Russia2024-05-28
1004Australia2024-06-08
1005Italy2024-06-05
1006Canada2024-06-03
1007Japan2024-06-07
1008India2024-06-18
1009Spain2024-06-06
1010Germany2024-06-15
1011France2024-06-21
1012France2024-06-19
1013Australia2024-06-04
1014France2024-06-13
1015Germany2024-05-29
1016Brazil2024-06-16
1017Russia2024-06-02
1018India2024-06-14
1019United Kingdom2024-05-28
1020Australia2024-06-09
1021Germany2024-05-28
1022Spain2024-06-01
1023Japan2024-05-31
1024Brazil2024-06-22
1025Argentina2024-05-27
1026India2024-06-12
1027India2024-06-19
1028India2024-06-10
1029Germany2024-06-19
1030Canada2024-06-22
1031Canada2024-06-03
1032Russia2024-06-04
1033Italy2024-06-06
1034Germany2024-06-13
1035France2024-05-25
1036Russia2024-05-24
1037Australia2024-05-26
1038Japan2024-06-16
1039France2024-06-11
1040Brazil2024-05-25
1041Canada2024-06-09
1042India2024-06-20
1043Canada2024-06-19
1044Italy2024-05-30
1045United Kingdom2024-05-25
1046Canada2024-06-13
1047France2024-06-05
1048Japan2024-06-22
1049Brazil2024-06-10

On-Demand Data

NameIdCountryDate
Faith A Darakjy1000United Kingdom2024-05-31
Jennifer T Caldarera1001Argentina2024-06-01
Misaki V Whobrey1002Russia2024-05-28
Emily V Paprocki1003France2024-06-02
Kaitlin Q Rulapaugh1004Canada2024-06-12
Jones K Inouye1005United Kingdom2024-05-31
Izzy C Ferencz1006Argentina2024-06-14
Adams S Stenseth1007Germany2024-06-05
Nicolas L Royster1008Argentina2024-06-04
Izzy G Dilliard1009Argentina2024-06-07
Murillo A Chui1010Canada2024-05-27
Francesco W Poquette1011India2024-06-18
Deepesh R Butt1012Spain2024-06-04
Mayumi X Flosi1013Japan2024-06-01
Octavia T Caudy1014India2024-06-18
Izzy L Gaucho1015Brazil2024-05-26
Salvatore S Venere1016India2024-06-07
Aruna D Butt1017Russia2024-05-26
Arvin K Maclead1018India2024-06-03
Jones V Oldroyd1019Brazil2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha R OstroskyRussiaOnyama Limba NEW
Jones V RimIndiaAmy Elsner NEW
Kaitlin C PerinFranceAsiya Javayant PROPOSAL
Murillo J TollnerGermanyAmy Elsner QUALIFIED
Ivar L MaletCanadaOnyama Limba PROPOSAL
Munro K VocelkaArgentinaOnyama Limba PROPOSAL
Rodrigues Y OstroskyRussiaAmy Elsner NEGOTIATION
Deepesh B SchemmerCanadaXuxue Feng QUALIFIED
Smith T SchemmerUnited KingdomAmy Elsner NEGOTIATION
Isabel Y BologniaCanadaStephen Shaw NEW
Sinclair D FerenczItalyIvan Magalhaes UNQUALIFIED
Julie R MarrierArgentinaAmy Elsner PROPOSAL
Arvin F CaldareraGermanyBernardo Dominic PROPOSAL
Jeanfrancois G RutaRussiaBernardo Dominic NEGOTIATION
Antonio Q OstroskyArgentinaBernardo Dominic NEGOTIATION
Jefferson Z CaldareraCanadaIoni Bowcher PROPOSAL
Stacey W CampainIndiaBernardo Dominic UNQUALIFIED
Misaki R MaletItalyXuxue Feng RENEWAL
Ricardo E PerinGermanyXuxue Feng RENEWAL
Costa S DarakjyArgentinaAmy Elsner QUALIFIED
Costa R RulapaughFranceXuxue Feng NEGOTIATION
Maria Z FollerCanadaOnyama Limba RENEWAL
James U MorascaItalyAmy Elsner NEW
Munro X MorascaItalyStephen Shaw NEW
Adams P ButtIndiaIoni Bowcher RENEWAL
Leon M AmigonItalyIoni Bowcher PROPOSAL
Chavez M GauchoFranceIoni Bowcher UNQUALIFIED
James R AmigonItalyStephen Shaw QUALIFIED
Tony A InouyeUnited KingdomAmy Elsner PROPOSAL
Kadeem M RimUnited KingdomStephen Shaw NEGOTIATION
Claire X RutaUnited KingdomXuxue Feng NEGOTIATION
Murillo O VenereSpainBernardo Dominic NEGOTIATION
Wickens I PerinItalyElwin Sharvill NEW
Aika X NickaGermanyBernardo Dominic UNQUALIFIED
Francesco M MacleadJapanAnna Fali RENEWAL
Stacey S RulapaughAustraliaAmy Elsner RENEWAL
Johnson L ChuiJapanIoni Bowcher QUALIFIED
Kaitlin Q MacleadRussiaStephen Shaw NEGOTIATION
Ricardo P WaycottCanadaBernardo Dominic NEW
Stacey O MaletGermanyAmy 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>