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
Chavez D NickaCanadaIoni Bowcher QUALIFIED
Leon J MorascaUnited KingdomIvan Magalhaes RENEWAL
Ivar A WieserAustraliaBernardo Dominic RENEWAL
Francesco K FollerIndiaOnyama Limba NEW
Julie T StockhamItalyIvan Magalhaes QUALIFIED
Ashley D MaletIndiaBernardo Dominic QUALIFIED
Kadeem F RoysterSpainAsiya Javayant NEGOTIATION
Kadeem R DoeArgentinaStephen Shaw PROPOSAL
Maisha B SergiJapanXuxue Feng NEW
Morrow I NestleCanadaStephen Shaw QUALIFIED
Maria R PerinBrazilIoni Bowcher PROPOSAL
Stacey Q DarakjyCanadaStephen Shaw NEGOTIATION
Aruna M RulapaughCanadaAnna Fali NEGOTIATION
Octavia Y MarrierSpainBernardo Dominic NEW
Cody V SlusarskiAustraliaAnna Fali NEW
Sinclair J KuskoItalyAmy Elsner NEW
Ashley J StockhamIndiaIoni Bowcher RENEWAL
Aruna G CaudyFranceElwin Sharvill NEGOTIATION
Julie S ButtIndiaXuxue Feng UNQUALIFIED
Aika K BriddickFranceOnyama Limba NEW
Antonio Q DoeAustraliaIvan Magalhaes QUALIFIED
Nicolas V KuskoItalyOnyama Limba RENEWAL
Stacey O FlosiCanadaIvan Magalhaes NEW
Aruna Q RoysterJapanIoni Bowcher QUALIFIED
Jones J VenereSpainElwin Sharvill UNQUALIFIED
David E BologniaIndiaAmy Elsner QUALIFIED
Murillo I IturbideFranceStephen Shaw RENEWAL
Deepesh G MacleadItalyElwin Sharvill NEW
Kaitlin C SchemmerArgentinaBernardo Dominic RENEWAL
Johnson R CaldareraFranceAmy Elsner RENEWAL
Arvin A BologniaSpainStephen Shaw PROPOSAL
Chavez H VocelkaItalyElwin Sharvill NEW
Stacey Y SaylorsAustraliaElwin Sharvill NEGOTIATION
Kaitlin K VocelkaFranceAsiya Javayant UNQUALIFIED
Jones R SaylorsCanadaOnyama Limba UNQUALIFIED
Adams T IturbideGermanyAsiya Javayant UNQUALIFIED
Silvio S DoeUnited KingdomIvan Magalhaes NEW
Isabel D NestleBrazilXuxue Feng NEGOTIATION
Aditya J RutaIndiaXuxue Feng PROPOSAL
Jefferson W GauchoAustraliaXuxue Feng QUALIFIED
Cody B CaldareraGermanyIvan Magalhaes PROPOSAL
Leon W PerinItalyXuxue Feng NEGOTIATION
Adams X ShinkoIndiaAnna Fali RENEWAL
Kadeem Z MaletSpainIoni Bowcher PROPOSAL
Claire D BowleyIndiaIvan Magalhaes PROPOSAL
Maisha P GillianArgentinaAmy Elsner UNQUALIFIED
Smith J WieserSpainXuxue Feng PROPOSAL
Antonio X MaletJapanXuxue Feng NEW
Wickens M KolmetzJapanStephen Shaw QUALIFIED
Francesco W StockhamUnited KingdomAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Emily U InouyeUnited KingdomAsiya Javayant NEW
Chavez M FerenczGermanyAmy Elsner UNQUALIFIED
Francesco F RimJapanIoni Bowcher UNQUALIFIED
Costa Z DarakjySpainElwin Sharvill QUALIFIED
Cody U AlbaresIndiaOnyama Limba NEGOTIATION
Emily I StockhamRussiaElwin Sharvill PROPOSAL
Adams O BowleyBrazilElwin Sharvill UNQUALIFIED
Aika Q RulapaughArgentinaIoni Bowcher RENEWAL
Misaki R GarufiIndiaAsiya Javayant QUALIFIED
Misaki O MaletJapanOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez D KuskoRussia2024-05-31Feiner Bros PROPOSAL19Bernardo Dominic
1001Smith T FerenczFrance2024-05-26Feiner Bros UNQUALIFIED43Stephen Shaw
1002Deepesh A MorascaAustralia2024-06-11Buckley Miller Wright QUALIFIED23Xuxue Feng
1003Antonio E SaylorsAustralia2024-05-27Benton, John B Jr UNQUALIFIED57Elwin Sharvill
1004Tony R IturbideGermany2024-06-08Chapman, Ross E Esq PROPOSAL54Onyama Limba
1005David T GauchoCanada2024-06-02Printing Dimensions NEW21Ivan Magalhaes
1006Claire C SlusarskiBrazil2024-06-18Feiner Bros NEGOTIATION4Asiya Javayant
1007Ricardo Y MarrierBrazil2024-06-06Rangoni Of Florence NEGOTIATION73Anna Fali
1008Isabel F NickaCanada2024-06-06Feiner Bros UNQUALIFIED18Ivan Magalhaes
1009Emily L GauchoGermany2024-06-14Commercial Press UNQUALIFIED42Stephen Shaw
1010Ashley X NestleCanada2024-06-10Feltz Printing Service UNQUALIFIED34Asiya Javayant
1011Claire X CaldareraFrance2024-06-04Chemel, James L Cpa NEW73Ioni Bowcher
1012Kadeem H SchemmerAustralia2024-06-08Printing Dimensions QUALIFIED38Amy Elsner
1013Kaitlin N GillianIndia2024-06-12Buckley Miller Wright RENEWAL61Amy Elsner
1014Leon U AmigonFrance2024-06-10Printing Dimensions PROPOSAL41Xuxue Feng
1015Mujtaba K GarufiBrazil2024-06-18Feiner Bros NEW57Ioni Bowcher
1016Silvio D PaprockiIndia2024-05-30Chemel, James L Cpa QUALIFIED8Anna Fali
1017James N ShinkoRussia2024-06-10Benton, John B Jr QUALIFIED27Xuxue Feng
1018Mayumi D MacleadRussia2024-06-13Printing Dimensions QUALIFIED41Ivan Magalhaes
1019Alejandro R MaletArgentina2024-06-03Dorl, James J Esq PROPOSAL14Anna Fali
1020Kadeem M DilliardItaly2024-06-20Benton, John B Jr NEW24Asiya Javayant
1021Ricardo M BriddickItaly2024-05-29Chemel, James L Cpa QUALIFIED1Stephen Shaw
1022Johnson Z SergiFrance2024-06-16Chemel, James L Cpa PROPOSAL26Ivan Magalhaes
1023David E KuskoSpain2024-06-03Feltz Printing Service QUALIFIED31Stephen Shaw
1024Salvatore X DilliardAustralia2024-06-10Printing Dimensions PROPOSAL22Amy Elsner
1025Stacey O AmigonJapan2024-06-21King, Christopher A Esq NEGOTIATION93Ioni Bowcher
1026Rodrigues D KolmetzItaly2024-06-18Chemel, James L Cpa RENEWAL36Xuxue Feng
1027Clifford K OldroydIndia2024-06-13Truhlar And Truhlar Attys NEW84Ioni Bowcher
1028Misaki L VenereJapan2024-05-27Dorl, James J Esq NEW51Elwin Sharvill
1029Claire A GarufiSpain2024-06-09Chanay, Jeffrey A Esq RENEWAL41Ioni Bowcher
1030Mayumi C InouyeAustralia2024-06-17Chemel, James L Cpa QUALIFIED81Ioni Bowcher
1031Octavia S KuskoFrance2024-05-31Feiner Bros QUALIFIED63Onyama Limba
1032Aika C OldroydGermany2024-06-03Commercial Press UNQUALIFIED11Onyama Limba
1033Murillo N FollerUnited Kingdom2024-05-30Dorl, James J Esq QUALIFIED79Elwin Sharvill
1034Chavez P MaletIndia2024-05-28Benton, John B Jr QUALIFIED45Amy Elsner
1035Johnson X WieserBrazil2024-05-27Morlong Associates UNQUALIFIED17Onyama Limba
1036Murillo X SlusarskiJapan2024-06-01Benton, John B Jr PROPOSAL83Anna Fali
1037Clifford N StockhamItaly2024-05-30Dorl, James J Esq RENEWAL23Elwin Sharvill
1038James P RulapaughFrance2024-06-21Benton, John B Jr RENEWAL45Elwin Sharvill
1039Maisha J OstroskyAustralia2024-06-22Buckley Miller Wright PROPOSAL9Xuxue Feng
1040Mujtaba O RulapaughBrazil2024-06-09Rangoni Of Florence NEGOTIATION49Stephen Shaw
1041Darci W GauchoAustralia2024-06-20Chemel, James L Cpa UNQUALIFIED1Stephen Shaw
1042Aruna O AmigonCanada2024-06-16Rousseaux, Michael Esq NEW20Amy Elsner
1043Munro H PerinBrazil2024-05-30Rangoni Of Florence NEW15Ivan Magalhaes
1044Rodrigues A TollnerGermany2024-06-08Rousseaux, Michael Esq NEGOTIATION24Ioni Bowcher
1045Tony Q RoysterRussia2024-05-29Rousseaux, Michael Esq UNQUALIFIED90Ivan Magalhaes
1046Maisha X GauchoAustralia2024-06-14Morlong Associates NEGOTIATION58Anna Fali
1047Misaki E BriddickGermany2024-06-05Feiner Bros UNQUALIFIED3Onyama Limba
1048Jennifer T MorascaAustralia2024-06-08Chanay, Jeffrey A Esq NEW7Stephen Shaw
1049David T NestleRussia2024-05-27Feltz Printing Service NEGOTIATION65Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Munro Z BriddickCanadaIvan Magalhaes QUALIFIED
James Y PaprockiAustraliaBernardo Dominic NEW
Smith Z CampainRussiaElwin Sharvill QUALIFIED
Greenwood H IturbideFranceAmy Elsner UNQUALIFIED
Stacey X RutaAustraliaAnna Fali RENEWAL
Kaitlin Z KuskoBrazilIoni Bowcher QUALIFIED
Ashley V MaletSpainBernardo Dominic QUALIFIED
Salvatore Y StockhamGermanyStephen Shaw UNQUALIFIED
Arvin B SaylorsItalyElwin Sharvill QUALIFIED
Aika Y BriddickItalyXuxue Feng NEW
Murillo Z SlusarskiItalyElwin Sharvill UNQUALIFIED
Stacey U InouyeFranceBernardo Dominic NEW
Cody T VocelkaUnited KingdomOnyama Limba NEGOTIATION
Johnson D ButtIndiaIvan Magalhaes QUALIFIED
Tony A KuskoRussiaAsiya Javayant UNQUALIFIED
Francesco R StensethAustraliaBernardo Dominic NEW
Jones V OldroydSpainIoni Bowcher NEW
Johnson A WhobreyJapanElwin Sharvill RENEWAL
Rodrigues A PaprockiSpainBernardo Dominic RENEWAL
Julie C ButtArgentinaOnyama Limba NEW
Murillo N VenereUnited KingdomIoni Bowcher QUALIFIED
Munro H WhobreyAustraliaAnna Fali RENEWAL
Murillo P SchemmerItalyIoni Bowcher NEW
Aika Y OldroydSpainStephen Shaw RENEWAL
Deepesh S WieserItalyElwin Sharvill UNQUALIFIED
Kadeem T KolmetzIndiaAsiya Javayant QUALIFIED
Cody J SlusarskiSpainElwin Sharvill UNQUALIFIED
Greenwood U GlickArgentinaAnna Fali RENEWAL
Mayumi W ShinkoCanadaBernardo Dominic UNQUALIFIED
Izzy G GillianBrazilAnna Fali RENEWAL
James I SchemmerUnited KingdomXuxue Feng NEGOTIATION
Leja J GillianItalyElwin Sharvill QUALIFIED
Octavia Z KuskoAustraliaXuxue Feng UNQUALIFIED
Wickens V MacleadJapanAsiya Javayant RENEWAL
Chavez P MarrierIndiaBernardo Dominic RENEWAL
Arvin B AlbaresItalyXuxue Feng RENEWAL
Wickens F CampainFranceStephen Shaw PROPOSAL
Isabel L VenereBrazilBernardo Dominic PROPOSAL
Francesco Q FerenczRussiaAmy Elsner UNQUALIFIED
Mujtaba Z NestleFranceBernardo Dominic PROPOSAL
Isabel P BologniaBrazilIoni Bowcher QUALIFIED
Costa B GarufiArgentinaAnna Fali PROPOSAL
David B ButtJapanOnyama Limba QUALIFIED
Murillo K DarakjyIndiaBernardo Dominic QUALIFIED
Ashley G KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Smith E AlbaresJapanAsiya Javayant NEW
Chavez Z DarakjyBrazilIvan Magalhaes RENEWAL
Silvio T FlosiSpainAnna Fali NEW
Stacey F GillianItalyAmy Elsner PROPOSAL
Jones E OldroydIndiaAmy Elsner RENEWAL
Frozen Columns
Name
Maria V Schemmer
Morrow V Ostrosky
Aika K Foller
James B Garufi
Aditya D Vocelka
Octavia U Venere
Nicolas T Stockham
Chavez Q Kolmetz
Wickens J Venere
Salvatore L Slusarski
Stacey W Nicka
David S Malet
Arvin Q Flosi
Isabel F Foller
Jeanfrancois B Bowley
Murillo J Shinko
Deepesh U Inouye
Mujtaba G Nicka
Silvio L Bowley
Rodrigues F Kusko
Salvatore T Caldarera
Wickens Q Poquette
Munro K Malet
Maisha A Malet
Octavia X Gillian
Izzy V Sergi
Misaki C Marrier
Leja C Doe
Chavez N Royster
Greenwood U Wieser
David C Perin
Kaitlin L Gaucho
Juan V Stenseth
Smith X Foller
Wickens D Stockham
Jennifer A Slusarski
Wickens E Whobrey
Smith D Venere
Kadeem M Garufi
Chavez S Shinko
Leon U Morasca
Kaitlin K Ostrosky
Misaki R Iturbide
Clifford K Whobrey
Maisha I Tollner
Silvio N Foller
Smith I Foller
Misaki K Campain
Antonio F Bowley
Antonio R Malet
IdCountryDate
1000Russia2024-06-05
1001Germany2024-05-28
1002India2024-06-13
1003Russia2024-06-09
1004Russia2024-06-14
1005Australia2024-05-30
1006Spain2024-06-19
1007Germany2024-06-10
1008Italy2024-06-02
1009Brazil2024-06-12
1010Germany2024-05-29
1011Spain2024-05-28
1012Italy2024-06-01
1013Russia2024-05-24
1014Argentina2024-05-28
1015India2024-06-21
1016Italy2024-06-12
1017Brazil2024-06-21
1018United Kingdom2024-06-09
1019France2024-06-12
1020Russia2024-06-14
1021United Kingdom2024-05-26
1022United Kingdom2024-06-20
1023United Kingdom2024-06-07
1024India2024-05-30
1025Brazil2024-06-10
1026Brazil2024-06-01
1027Russia2024-06-11
1028Russia2024-06-01
1029United Kingdom2024-06-10
1030Canada2024-06-10
1031Australia2024-06-12
1032India2024-05-25
1033France2024-06-15
1034Australia2024-06-15
1035Argentina2024-06-07
1036Spain2024-06-12
1037France2024-06-12
1038Argentina2024-06-05
1039Australia2024-05-25
1040Argentina2024-06-07
1041India2024-06-16
1042India2024-06-01
1043Canada2024-06-03
1044Australia2024-06-18
1045France2024-06-02
1046Canada2024-06-01
1047Japan2024-06-03
1048Canada2024-06-01
1049Brazil2024-06-14

On-Demand Data

NameIdCountryDate
Aika Z Inouye1000France2024-06-17
Aika X Iturbide1001France2024-06-01
Munro K Stockham1002France2024-05-28
David X Vocelka1003Canada2024-06-03
Deepesh J Iturbide1004France2024-06-08
Claire X Albares1005India2024-06-01
Ashley T Darakjy1006Brazil2024-06-20
Emily E Schemmer1007Russia2024-05-29
Cody F Gillian1008United Kingdom2024-05-24
Nicolas V Glick1009Italy2024-06-07
Octavia Z Nicka1010Brazil2024-06-16
Costa T Paprocki1011France2024-06-03
Stacey O Glick1012Germany2024-06-07
Johnson V Inouye1013Canada2024-06-08
Darci P Nicka1014Russia2024-05-31
Sinclair Z Inouye1015Russia2024-06-15
Antonio O Whobrey1016Australia2024-06-09
Deepesh Z Amigon1017Spain2024-06-14
Faith I Albares1018Spain2024-06-16
Antonio A Gaucho1019Italy2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin Z ShinkoBrazilOnyama Limba RENEWAL
Tony H CaudyIndiaBernardo Dominic PROPOSAL
Cody B WhobreyCanadaIoni Bowcher NEGOTIATION
Salvatore T TollnerRussiaXuxue Feng QUALIFIED
Antonio U RutaAustraliaIoni Bowcher NEW
Deepesh Z GarufiFranceAsiya Javayant NEGOTIATION
Alejandro B FollerItalyElwin Sharvill RENEWAL
Faith Y SergiItalyAnna Fali UNQUALIFIED
Ricardo M BowleyBrazilElwin Sharvill NEW
Murillo G SergiBrazilIoni Bowcher NEGOTIATION
Mujtaba H StensethSpainXuxue Feng NEW
Maria M WieserSpainAmy Elsner PROPOSAL
Ivar H FigeroaSpainStephen Shaw QUALIFIED
Sinclair H BriddickUnited KingdomXuxue Feng QUALIFIED
Kaitlin O NickaSpainAsiya Javayant NEGOTIATION
Arvin Z VocelkaIndiaIoni Bowcher QUALIFIED
Ashley S CaldareraSpainAmy Elsner NEGOTIATION
Rodrigues R MaletItalyXuxue Feng NEW
Mujtaba N StockhamArgentinaAsiya Javayant UNQUALIFIED
Francesco F WhobreyItalyStephen Shaw RENEWAL
Salvatore B RoysterFranceAmy Elsner UNQUALIFIED
Aditya J DoeSpainBernardo Dominic PROPOSAL
Ashley A SaylorsBrazilBernardo Dominic NEW
Greenwood M FollerGermanyAsiya Javayant QUALIFIED
Leon T PoquetteGermanyAnna Fali QUALIFIED
Greenwood H GillianGermanyAnna Fali NEW
Maria Z KuskoSpainOnyama Limba QUALIFIED
Isabel O StensethFranceIoni Bowcher PROPOSAL
Leon X VocelkaUnited KingdomAmy Elsner RENEWAL
Aruna X VenereArgentinaBernardo Dominic QUALIFIED
Cody C FlosiUnited KingdomIvan Magalhaes NEGOTIATION
Isabel K DoeAustraliaAnna Fali NEW
Ricardo S FerenczUnited KingdomStephen Shaw QUALIFIED
Adams N FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Silvio W CaldareraBrazilAmy Elsner PROPOSAL
Maisha S InouyeAustraliaStephen Shaw QUALIFIED
Munro B DarakjyGermanyAsiya Javayant PROPOSAL
Costa T StensethGermanyOnyama Limba PROPOSAL
Wickens P InouyeFranceBernardo Dominic NEGOTIATION
Mayumi U SchemmerCanadaBernardo Dominic 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>