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
Leja G FigeroaSpainIoni Bowcher NEW
Misaki A WieserItalyAnna Fali NEGOTIATION
Rodrigues X WieserItalyBernardo Dominic NEW
Kadeem W OldroydCanadaIoni Bowcher PROPOSAL
Kadeem V ChuiIndiaXuxue Feng RENEWAL
Smith D GlickSpainBernardo Dominic UNQUALIFIED
Deepesh B FerenczRussiaAsiya Javayant QUALIFIED
Murillo D OldroydJapanStephen Shaw RENEWAL
Morrow B ShinkoArgentinaBernardo Dominic NEW
Cody P BowleyArgentinaIvan Magalhaes NEW
Faith T BowleySpainBernardo Dominic QUALIFIED
Stacey P MarrierIndiaAsiya Javayant NEGOTIATION
Jefferson K RulapaughIndiaIoni Bowcher PROPOSAL
David J BologniaJapanAsiya Javayant NEGOTIATION
Tony I RutaBrazilOnyama Limba QUALIFIED
Stacey D SaylorsRussiaIoni Bowcher PROPOSAL
Murillo K RoysterUnited KingdomAsiya Javayant NEW
Cody U MaletSpainIvan Magalhaes QUALIFIED
Antonio O FigeroaSpainIvan Magalhaes NEGOTIATION
Munro R GauchoItalyIvan Magalhaes QUALIFIED
David M ButtArgentinaOnyama Limba UNQUALIFIED
Morrow S AmigonSpainXuxue Feng NEW
Stacey D VocelkaItalyStephen Shaw PROPOSAL
James N OldroydBrazilOnyama Limba RENEWAL
Rodrigues X MacleadArgentinaXuxue Feng NEW
Jennifer P MacleadFranceIoni Bowcher UNQUALIFIED
Deepesh P DilliardGermanyAnna Fali PROPOSAL
Morrow G GarufiSpainStephen Shaw NEW
Morrow J CampainIndiaAnna Fali QUALIFIED
Alejandro X PerinGermanyBernardo Dominic QUALIFIED
Juan L RimIndiaStephen Shaw RENEWAL
Aruna Z MarrierRussiaIvan Magalhaes QUALIFIED
Aditya J SergiUnited KingdomIoni Bowcher PROPOSAL
Darci H FerenczUnited KingdomElwin Sharvill NEGOTIATION
Jennifer K DarakjySpainIoni Bowcher PROPOSAL
Morrow X PaprockiItalyElwin Sharvill UNQUALIFIED
Darci S VocelkaSpainOnyama Limba RENEWAL
Deepesh F NestleGermanyOnyama Limba QUALIFIED
Alejandro A RimGermanyStephen Shaw NEW
Costa R RimArgentinaXuxue Feng NEW
Mayumi M NickaBrazilOnyama Limba RENEWAL
Rodrigues K WaycottGermanyAsiya Javayant QUALIFIED
Munro A CaldareraBrazilStephen Shaw NEGOTIATION
Ivar L CaldareraItalyStephen Shaw NEW
Antonio A IturbideArgentinaIvan Magalhaes NEGOTIATION
Sinclair K BowleyJapanXuxue Feng RENEWAL
Munro Q CaudySpainIvan Magalhaes UNQUALIFIED
Jeanfrancois M OstroskyUnited KingdomIoni Bowcher PROPOSAL
Nicolas P FigeroaBrazilAmy Elsner NEW
Maria I AmigonFranceAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
James D AlbaresSpainStephen Shaw UNQUALIFIED
Isabel T GlickUnited KingdomIoni Bowcher NEGOTIATION
Darci T MaletGermanyStephen Shaw NEGOTIATION
Adams K CaldareraSpainAmy Elsner PROPOSAL
Clifford P TollnerIndiaBernardo Dominic QUALIFIED
Kadeem A PoquetteFranceStephen Shaw RENEWAL
Costa E MacleadUnited KingdomIoni Bowcher RENEWAL
Ivar Y NestleRussiaBernardo Dominic UNQUALIFIED
Arvin Y AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Octavia D AmigonFranceAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba Z MaletAustralia2024-05-30Truhlar And Truhlar Attys PROPOSAL94Stephen Shaw
1001Rodrigues N IturbideGermany2024-06-02Morlong Associates NEW96Anna Fali
1002James E SergiRussia2024-05-30Chapman, Ross E Esq UNQUALIFIED86Xuxue Feng
1003Claire X VocelkaGermany2024-06-07Rousseaux, Michael Esq QUALIFIED95Elwin Sharvill
1004Greenwood V GillianRussia2024-06-08Rangoni Of Florence UNQUALIFIED7Ioni Bowcher
1005Morrow Q WhobreyJapan2024-06-15Chapman, Ross E Esq PROPOSAL12Anna Fali
1006Kadeem I ButtIndia2024-06-03Rousseaux, Michael Esq QUALIFIED93Stephen Shaw
1007Alejandro A MarrierCanada2024-06-06Chanay, Jeffrey A Esq NEW95Anna Fali
1008David R RutaJapan2024-05-26Feltz Printing Service NEW87Ioni Bowcher
1009Leja L GillianAustralia2024-05-30Dorl, James J Esq PROPOSAL34Bernardo Dominic
1010Cody C SergiBrazil2024-06-17Commercial Press QUALIFIED19Elwin Sharvill
1011David I IturbideCanada2024-06-01Chemel, James L Cpa NEGOTIATION59Onyama Limba
1012Mujtaba Y VocelkaFrance2024-06-18Feiner Bros UNQUALIFIED55Amy Elsner
1013Kadeem B SergiArgentina2024-06-15Truhlar And Truhlar Attys UNQUALIFIED8Onyama Limba
1014Deepesh M GlickAustralia2024-05-29King, Christopher A Esq UNQUALIFIED58Stephen Shaw
1015Misaki E ChuiUnited Kingdom2024-06-08Benton, John B Jr PROPOSAL40Stephen Shaw
1016Misaki J VenereUnited Kingdom2024-05-23Chapman, Ross E Esq NEW79Elwin Sharvill
1017Faith M NickaFrance2024-06-10Benton, John B Jr QUALIFIED5Stephen Shaw
1018Jeanfrancois D InouyeIndia2024-06-19Printing Dimensions RENEWAL89Amy Elsner
1019Darci G WieserUnited Kingdom2024-06-19Chemel, James L Cpa PROPOSAL27Asiya Javayant
1020Stacey C NickaUnited Kingdom2024-06-01Feltz Printing Service PROPOSAL62Bernardo Dominic
1021Costa V BologniaItaly2024-06-09Printing Dimensions NEW23Elwin Sharvill
1022Aika L ChuiUnited Kingdom2024-06-01King, Christopher A Esq UNQUALIFIED99Amy Elsner
1023Faith Q VenereRussia2024-06-06Buckley Miller Wright RENEWAL32Stephen Shaw
1024Costa E WaycottBrazil2024-05-28King, Christopher A Esq PROPOSAL39Onyama Limba
1025Izzy A NickaArgentina2024-06-21Rangoni Of Florence RENEWAL76Elwin Sharvill
1026Smith D RoysterRussia2024-05-29Truhlar And Truhlar Attys NEW14Stephen Shaw
1027Octavia A IturbideCanada2024-06-03Morlong Associates QUALIFIED42Ivan Magalhaes
1028Greenwood R FigeroaUnited Kingdom2024-05-25Chapman, Ross E Esq UNQUALIFIED11Stephen Shaw
1029Maria T MarrierGermany2024-06-12Feltz Printing Service PROPOSAL22Xuxue Feng
1030Leja A SlusarskiGermany2024-05-31Rangoni Of Florence PROPOSAL43Ioni Bowcher
1031Chavez B GillianGermany2024-06-12Chapman, Ross E Esq QUALIFIED62Onyama Limba
1032Smith C PerinIndia2024-06-01Buckley Miller Wright PROPOSAL65Bernardo Dominic
1033Adams Y TollnerArgentina2024-06-20King, Christopher A Esq QUALIFIED79Anna Fali
1034Leja V RulapaughUnited Kingdom2024-06-03Chapman, Ross E Esq PROPOSAL6Amy Elsner
1035Maisha W GauchoBrazil2024-06-21Chemel, James L Cpa QUALIFIED27Ioni Bowcher
1036Johnson R DarakjyIndia2024-05-23Rousseaux, Michael Esq UNQUALIFIED51Bernardo Dominic
1037Faith C PoquetteRussia2024-06-01Truhlar And Truhlar Attys UNQUALIFIED62Amy Elsner
1038Misaki B BologniaAustralia2024-05-23Benton, John B Jr RENEWAL18Stephen Shaw
1039Stacey W CaldareraRussia2024-06-03Printing Dimensions NEGOTIATION37Ioni Bowcher
1040Deepesh E DarakjyJapan2024-05-25Rangoni Of Florence NEW16Ivan Magalhaes
1041Misaki I PaprockiArgentina2024-06-05Dorl, James J Esq UNQUALIFIED52Onyama Limba
1042Salvatore E NestleBrazil2024-06-17Feiner Bros NEW29Xuxue Feng
1043Maria D ChuiBrazil2024-05-31Truhlar And Truhlar Attys QUALIFIED7Xuxue Feng
1044Nicolas C RutaBrazil2024-06-14Benton, John B Jr QUALIFIED49Asiya Javayant
1045Wickens F SaylorsAustralia2024-05-25Commercial Press NEW92Amy Elsner
1046Aruna R AlbaresUnited Kingdom2024-06-02Feltz Printing Service PROPOSAL46Stephen Shaw
1047Stacey S WaycottItaly2024-06-21Rangoni Of Florence NEGOTIATION92Onyama Limba
1048Jones J WhobreyCanada2024-06-14King, Christopher A Esq QUALIFIED22Xuxue Feng
1049Costa Z StensethIndia2024-06-13Morlong Associates RENEWAL36Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Antonio R SchemmerGermanyStephen Shaw RENEWAL
Stacey G RulapaughGermanyIoni Bowcher QUALIFIED
Jefferson S FerenczFranceAsiya Javayant UNQUALIFIED
Faith Z GillianIndiaElwin Sharvill PROPOSAL
Emily X FigeroaIndiaStephen Shaw QUALIFIED
Jennifer L MacleadBrazilAnna Fali PROPOSAL
Kadeem C DarakjyRussiaStephen Shaw NEGOTIATION
Ricardo C NickaRussiaIoni Bowcher QUALIFIED
Kadeem T ChuiAustraliaStephen Shaw NEGOTIATION
Tony U DilliardItalyBernardo Dominic NEGOTIATION
James Z VenereRussiaIoni Bowcher PROPOSAL
Kadeem A SergiJapanAnna Fali NEW
Salvatore Q SergiIndiaAsiya Javayant NEW
Aruna V VenereAustraliaStephen Shaw PROPOSAL
Wickens W OldroydJapanIoni Bowcher NEGOTIATION
Kadeem S CampainSpainAsiya Javayant PROPOSAL
Julie I NestleCanadaOnyama Limba NEW
Leon V WaycottGermanyAsiya Javayant PROPOSAL
James U RimIndiaIoni Bowcher QUALIFIED
Sinclair M VenereArgentinaAsiya Javayant QUALIFIED
Aika Q DoeArgentinaAnna Fali QUALIFIED
Tony T SchemmerIndiaIoni Bowcher NEGOTIATION
Jennifer E CampainRussiaAmy Elsner UNQUALIFIED
Jones W StensethItalyAmy Elsner QUALIFIED
Tony I VenereGermanyOnyama Limba UNQUALIFIED
Aditya Q GlickCanadaIvan Magalhaes UNQUALIFIED
Misaki L WhobreyItalyIoni Bowcher QUALIFIED
Murillo R KolmetzFranceElwin Sharvill RENEWAL
Aditya Q StensethJapanIvan Magalhaes RENEWAL
Smith V CaldareraSpainOnyama Limba RENEWAL
Kaitlin B RulapaughFranceStephen Shaw QUALIFIED
Jennifer P VocelkaIndiaIvan Magalhaes QUALIFIED
Juan Q BowleyAustraliaIvan Magalhaes QUALIFIED
Rodrigues G BriddickGermanyAmy Elsner NEW
Greenwood W KolmetzGermanyElwin Sharvill NEW
Kadeem A GillianSpainOnyama Limba QUALIFIED
Misaki O WhobreyCanadaAsiya Javayant RENEWAL
Izzy I WaycottGermanyOnyama Limba QUALIFIED
Clifford E KuskoArgentinaIvan Magalhaes NEW
Wickens K RimCanadaIoni Bowcher NEGOTIATION
Jefferson Z BriddickAustraliaIoni Bowcher NEGOTIATION
Maisha K MacleadUnited KingdomIoni Bowcher RENEWAL
Leon W OldroydBrazilBernardo Dominic UNQUALIFIED
Mujtaba R PaprockiUnited KingdomBernardo Dominic PROPOSAL
Aditya N PoquetteSpainOnyama Limba QUALIFIED
Octavia H VocelkaItalyBernardo Dominic QUALIFIED
Darci O SaylorsSpainElwin Sharvill NEW
Claire R SlusarskiGermanyAnna Fali PROPOSAL
Mayumi C MarrierAustraliaIoni Bowcher QUALIFIED
Sinclair L ShinkoUnited KingdomAmy Elsner NEW
Frozen Columns
Name
Wickens Q Whobrey
Greenwood S Inouye
Aruna F Campain
Aruna U Whobrey
Emily U Stenseth
Juan G Stockham
Claire F Whobrey
Kaitlin T Inouye
Alejandro T Nicka
David F Perin
Aika A Ferencz
David E Nestle
Leon T Ruta
Maria C Saylors
Silvio Z Ruta
Aruna L Whobrey
Clifford C Schemmer
Chavez F Caldarera
Aruna W Flosi
Aditya S Chui
Francesco L Morasca
Adams T Ostrosky
James P Flosi
Isabel Z Ferencz
Julie B Caldarera
Cody J Whobrey
Aika N Butt
Smith I Vocelka
Stacey D Vocelka
Alejandro F Figeroa
Ivar Y Sergi
Adams B Waycott
Francesco U Tollner
Alejandro R Ostrosky
Kaitlin K Venere
Antonio X Stockham
Salvatore K Iturbide
Izzy R Schemmer
Ivar H Saylors
David R Ferencz
Julie C Amigon
Izzy L Stenseth
James P Tollner
Mayumi J Amigon
Stacey K Nestle
Ricardo Q Royster
Kadeem X Malet
Murillo N Inouye
James U Darakjy
Stacey P Gaucho
IdCountryDate
1000Spain2024-06-02
1001Canada2024-05-31
1002Spain2024-06-01
1003India2024-05-24
1004Argentina2024-06-08
1005United Kingdom2024-06-09
1006Spain2024-06-06
1007Canada2024-06-12
1008Japan2024-06-09
1009India2024-06-21
1010United Kingdom2024-06-16
1011Russia2024-06-07
1012Germany2024-06-13
1013Argentina2024-05-30
1014Australia2024-06-10
1015Brazil2024-06-12
1016India2024-06-14
1017Italy2024-05-27
1018Australia2024-06-03
1019Argentina2024-05-28
1020Russia2024-06-07
1021Brazil2024-06-15
1022India2024-06-19
1023Italy2024-06-12
1024Italy2024-06-14
1025Australia2024-06-13
1026Brazil2024-06-02
1027United Kingdom2024-05-31
1028Australia2024-06-12
1029Argentina2024-06-16
1030United Kingdom2024-06-06
1031United Kingdom2024-06-09
1032Canada2024-06-18
1033France2024-06-19
1034United Kingdom2024-06-16
1035Russia2024-06-03
1036Germany2024-06-11
1037Australia2024-05-27
1038Germany2024-06-10
1039Canada2024-05-25
1040India2024-06-15
1041Argentina2024-06-17
1042Brazil2024-06-02
1043United Kingdom2024-05-28
1044Russia2024-06-11
1045Canada2024-06-12
1046Spain2024-06-10
1047Spain2024-06-21
1048Italy2024-06-13
1049France2024-06-21

On-Demand Data

NameIdCountryDate
Ashley Q Nestle1000Russia2024-05-30
Isabel S Nestle1001France2024-05-28
Murillo H Inouye1002Italy2024-05-29
Maisha D Royster1003France2024-06-12
Jennifer T Oldroyd1004France2024-05-30
Johnson Z Albares1005Russia2024-06-07
Jones C Rim1006Italy2024-06-05
Mujtaba N Darakjy1007Italy2024-06-02
Aditya W Poquette1008Canada2024-06-06
Maria J Bolognia1009Italy2024-06-06
Kaitlin W Stenseth1010Canada2024-06-08
Costa S Malet1011Brazil2024-06-19
Silvio C Whobrey1012United Kingdom2024-06-08
Emily Y Inouye1013Italy2024-06-05
Stacey C Bowley1014Argentina2024-06-05
Clifford V Ruta1015India2024-06-20
Murillo T Saylors1016Germany2024-06-07
Antonio P Vocelka1017Italy2024-06-13
Sinclair H Shinko1018Germany2024-06-05
Darci V Kusko1019Australia2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow P VocelkaCanadaBernardo Dominic UNQUALIFIED
James J TollnerItalyStephen Shaw QUALIFIED
Claire B NickaIndiaAsiya Javayant PROPOSAL
Rodrigues C BowleyGermanyAmy Elsner NEW
David E RutaAustraliaBernardo Dominic RENEWAL
Silvio W OstroskyGermanyBernardo Dominic PROPOSAL
Leja T BowleyBrazilAsiya Javayant RENEWAL
Maria N SchemmerJapanBernardo Dominic RENEWAL
Mayumi J WaycottGermanyElwin Sharvill UNQUALIFIED
Smith U PaprockiGermanyAnna Fali UNQUALIFIED
Murillo V FerenczIndiaIvan Magalhaes NEGOTIATION
Murillo S StensethArgentinaIvan Magalhaes QUALIFIED
Misaki Y GauchoArgentinaOnyama Limba RENEWAL
Jones O FlosiAustraliaAnna Fali UNQUALIFIED
Silvio I WieserGermanyAsiya Javayant QUALIFIED
Sinclair X VocelkaJapanElwin Sharvill RENEWAL
Faith S SchemmerUnited KingdomOnyama Limba PROPOSAL
Kadeem B ButtBrazilStephen Shaw PROPOSAL
Mujtaba G PoquetteRussiaOnyama Limba UNQUALIFIED
Isabel P RimGermanyIvan Magalhaes NEW
Costa J AmigonBrazilAsiya Javayant QUALIFIED
Juan P MaletUnited KingdomIvan Magalhaes PROPOSAL
Jeanfrancois D VocelkaBrazilAnna Fali UNQUALIFIED
Jennifer Z RulapaughItalyAmy Elsner NEW
Arvin B AmigonRussiaAsiya Javayant NEGOTIATION
Deepesh X MacleadItalyIvan Magalhaes UNQUALIFIED
Jones X AlbaresArgentinaAsiya Javayant QUALIFIED
Silvio J NestleJapanIvan Magalhaes QUALIFIED
Nicolas V DarakjyIndiaBernardo Dominic PROPOSAL
Ashley R BologniaCanadaAnna Fali QUALIFIED
Greenwood N IturbideSpainIoni Bowcher QUALIFIED
Francesco P SergiUnited KingdomIvan Magalhaes QUALIFIED
Francesco G MacleadFranceStephen Shaw NEGOTIATION
Kadeem O CaudyFranceStephen Shaw NEW
James T StockhamSpainElwin Sharvill NEGOTIATION
Darci X PaprockiBrazilIvan Magalhaes PROPOSAL
Murillo D CaudyCanadaBernardo Dominic UNQUALIFIED
Cody P SaylorsAustraliaAmy Elsner NEGOTIATION
James P MarrierItalyStephen Shaw RENEWAL
Antonio U CampainBrazilOnyama Limba 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>