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
Antonio F VocelkaJapanIvan Magalhaes QUALIFIED
Emily X GarufiCanadaIoni Bowcher NEW
Murillo F InouyeJapanOnyama Limba QUALIFIED
Jefferson V BologniaAustraliaOnyama Limba UNQUALIFIED
Aika O CampainBrazilIoni Bowcher QUALIFIED
Rodrigues Y AlbaresBrazilIoni Bowcher PROPOSAL
Alejandro X CaudyCanadaXuxue Feng NEGOTIATION
Antonio N AlbaresArgentinaAnna Fali RENEWAL
Aika C PaprockiJapanBernardo Dominic PROPOSAL
Leja I SchemmerAustraliaIvan Magalhaes NEW
Munro V AlbaresBrazilElwin Sharvill PROPOSAL
Claire D BriddickIndiaOnyama Limba NEGOTIATION
Rodrigues Z WaycottIndiaAsiya Javayant NEW
Juan R AlbaresUnited KingdomOnyama Limba PROPOSAL
Misaki L MorascaGermanyAnna Fali UNQUALIFIED
Faith V AmigonSpainAnna Fali NEW
Juan V GillianRussiaAmy Elsner UNQUALIFIED
Silvio L WaycottRussiaOnyama Limba RENEWAL
Tony H NestleItalyAnna Fali NEGOTIATION
Sinclair C ButtGermanyAmy Elsner PROPOSAL
Izzy J StockhamSpainXuxue Feng QUALIFIED
Sinclair I PaprockiSpainElwin Sharvill PROPOSAL
Faith J AmigonCanadaElwin Sharvill NEW
Johnson V StensethSpainBernardo Dominic PROPOSAL
Deepesh Z GarufiAustraliaXuxue Feng RENEWAL
Salvatore W MacleadAustraliaOnyama Limba UNQUALIFIED
Darci P KolmetzFranceXuxue Feng QUALIFIED
Morrow T VocelkaRussiaBernardo Dominic UNQUALIFIED
David C BowleyBrazilElwin Sharvill PROPOSAL
Clifford Y AmigonFranceIoni Bowcher PROPOSAL
David K NestleJapanIvan Magalhaes PROPOSAL
Leon L FollerUnited KingdomAsiya Javayant NEW
Munro J MorascaJapanOnyama Limba NEW
Chavez I SlusarskiBrazilIvan Magalhaes PROPOSAL
Kaitlin B BologniaBrazilAmy Elsner NEW
Jeanfrancois Q WhobreyJapanAmy Elsner NEW
Tony I WhobreySpainAmy Elsner NEGOTIATION
Aruna A MacleadCanadaBernardo Dominic NEW
Johnson K SergiFranceOnyama Limba QUALIFIED
Maisha M StensethIndiaStephen Shaw QUALIFIED
Juan P FlosiCanadaStephen Shaw UNQUALIFIED
Jefferson M OstroskyUnited KingdomOnyama Limba RENEWAL
James J SaylorsSpainBernardo Dominic NEGOTIATION
Johnson L RimRussiaAnna Fali RENEWAL
Morrow V MacleadArgentinaBernardo Dominic NEW
Wickens N FollerBrazilAnna Fali QUALIFIED
Jefferson T MacleadJapanAnna Fali QUALIFIED
Isabel C WaycottBrazilElwin Sharvill QUALIFIED
Chavez S VenereRussiaXuxue Feng NEW
Salvatore X WieserRussiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Darci G StensethUnited KingdomOnyama Limba PROPOSAL
Salvatore N RimIndiaAnna Fali UNQUALIFIED
Ashley V BriddickRussiaAnna Fali NEW
Antonio Q SergiAustraliaOnyama Limba UNQUALIFIED
Ricardo C GarufiJapanAsiya Javayant NEGOTIATION
Kadeem N OldroydRussiaIvan Magalhaes NEGOTIATION
Ricardo K ShinkoIndiaBernardo Dominic RENEWAL
Tony D CaldareraUnited KingdomAnna Fali NEW
Claire U DilliardIndiaXuxue Feng RENEWAL
Kaitlin E ButtBrazilBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore O MacleadUnited Kingdom2024-06-15Benton, John B Jr UNQUALIFIED57Asiya Javayant
1001Wickens J GlickFrance2024-06-03Commercial Press UNQUALIFIED52Amy Elsner
1002Nicolas C KuskoItaly2024-05-30Morlong Associates PROPOSAL96Anna Fali
1003Jefferson Q MaletCanada2024-05-30Morlong Associates QUALIFIED47Anna Fali
1004Silvio K BriddickCanada2024-06-18Benton, John B Jr RENEWAL11Asiya Javayant
1005Costa V SchemmerIndia2024-06-04Morlong Associates NEGOTIATION64Asiya Javayant
1006Ashley E RoysterAustralia2024-05-28Feltz Printing Service NEW15Ivan Magalhaes
1007Izzy D WieserRussia2024-06-09Commercial Press QUALIFIED47Xuxue Feng
1008Wickens X ShinkoFrance2024-06-19Buckley Miller Wright PROPOSAL9Bernardo Dominic
1009David U WaycottItaly2024-06-03Chemel, James L Cpa RENEWAL16Xuxue Feng
1010Johnson P FlosiSpain2024-05-27Chemel, James L Cpa UNQUALIFIED50Bernardo Dominic
1011Francesco R KolmetzSpain2024-06-08Commercial Press QUALIFIED9Elwin Sharvill
1012Julie X StensethGermany2024-06-05Chapman, Ross E Esq UNQUALIFIED34Asiya Javayant
1013Salvatore V CaudyRussia2024-05-30Printing Dimensions QUALIFIED87Amy Elsner
1014Leja A GlickAustralia2024-06-01Truhlar And Truhlar Attys NEGOTIATION73Xuxue Feng
1015Morrow A RimCanada2024-06-03Commercial Press NEGOTIATION4Ioni Bowcher
1016Munro M MaletSpain2024-06-08Benton, John B Jr QUALIFIED10Bernardo Dominic
1017Chavez D GarufiCanada2024-05-24Feiner Bros NEW56Asiya Javayant
1018Maria X GlickIndia2024-05-30Dorl, James J Esq PROPOSAL47Bernardo Dominic
1019Murillo L StockhamJapan2024-06-17Feltz Printing Service NEW97Xuxue Feng
1020Cody P BowleyAustralia2024-05-30Rangoni Of Florence NEGOTIATION94Amy Elsner
1021Nicolas C SchemmerCanada2024-06-08Buckley Miller Wright QUALIFIED88Elwin Sharvill
1022Johnson T RutaGermany2024-06-14Printing Dimensions PROPOSAL94Anna Fali
1023Munro F MacleadJapan2024-06-16Benton, John B Jr RENEWAL90Amy Elsner
1024Maisha G DilliardAustralia2024-05-24Commercial Press NEW73Xuxue Feng
1025Jones J VocelkaSpain2024-05-23Commercial Press UNQUALIFIED33Stephen Shaw
1026Chavez C CaldareraBrazil2024-05-26Printing Dimensions NEW67Ivan Magalhaes
1027Leja Z DarakjyItaly2024-05-25Printing Dimensions PROPOSAL69Ivan Magalhaes
1028Clifford D WhobreyIndia2024-06-01Buckley Miller Wright PROPOSAL77Ioni Bowcher
1029Maisha R MarrierGermany2024-05-25Printing Dimensions RENEWAL9Asiya Javayant
1030Ricardo T MacleadRussia2024-06-12King, Christopher A Esq UNQUALIFIED18Amy Elsner
1031Costa Y RoysterJapan2024-05-24Printing Dimensions NEW4Bernardo Dominic
1032Jones G PerinIndia2024-06-18Dorl, James J Esq QUALIFIED87Elwin Sharvill
1033Johnson W MarrierBrazil2024-06-20Dorl, James J Esq PROPOSAL3Ioni Bowcher
1034Adams G PoquetteRussia2024-05-27Printing Dimensions NEGOTIATION39Bernardo Dominic
1035Misaki G VocelkaJapan2024-06-14Chanay, Jeffrey A Esq PROPOSAL44Elwin Sharvill
1036Francesco R ChuiCanada2024-06-04Feltz Printing Service UNQUALIFIED16Bernardo Dominic
1037Leon E CaudyArgentina2024-06-04Commercial Press NEW69Onyama Limba
1038Costa P GauchoBrazil2024-06-14Chapman, Ross E Esq PROPOSAL64Bernardo Dominic
1039Julie R GlickArgentina2024-05-25Chanay, Jeffrey A Esq NEGOTIATION8Elwin Sharvill
1040Antonio Y WieserCanada2024-05-29Benton, John B Jr QUALIFIED69Ivan Magalhaes
1041Izzy G CampainCanada2024-06-15Printing Dimensions UNQUALIFIED87Stephen Shaw
1042Isabel O FerenczJapan2024-06-05King, Christopher A Esq QUALIFIED19Anna Fali
1043Silvio Y MarrierIndia2024-06-10Truhlar And Truhlar Attys UNQUALIFIED62Ivan Magalhaes
1044Maria V VenereRussia2024-05-28Morlong Associates UNQUALIFIED83Bernardo Dominic
1045Julie O GarufiIndia2024-05-25Printing Dimensions NEW66Ioni Bowcher
1046Rodrigues L StockhamIndia2024-06-08Rangoni Of Florence RENEWAL2Xuxue Feng
1047Munro D StockhamFrance2024-06-16Chapman, Ross E Esq RENEWAL43Ivan Magalhaes
1048James I CaldareraSpain2024-05-27Feiner Bros NEGOTIATION71Asiya Javayant
1049Cody Y RutaItaly2024-06-15Dorl, James J Esq RENEWAL0Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Murillo C MaletRussiaElwin Sharvill NEGOTIATION
Francesco A FlosiRussiaAnna Fali NEW
Leja U DilliardIndiaIoni Bowcher PROPOSAL
Izzy D GlickAustraliaStephen Shaw NEGOTIATION
Claire K DoeJapanAmy Elsner NEW
Wickens G DilliardCanadaElwin Sharvill NEW
Kadeem R FerenczGermanyElwin Sharvill UNQUALIFIED
Chavez X FlosiItalyIvan Magalhaes NEW
Clifford R WaycottRussiaIvan Magalhaes PROPOSAL
Antonio O VocelkaUnited KingdomAnna Fali QUALIFIED
Aika U SergiSpainStephen Shaw PROPOSAL
Deepesh O MarrierArgentinaAmy Elsner NEGOTIATION
Octavia Q StockhamRussiaOnyama Limba NEGOTIATION
Murillo V VocelkaAustraliaAnna Fali RENEWAL
Claire H SlusarskiArgentinaElwin Sharvill NEGOTIATION
Silvio G DarakjyUnited KingdomAnna Fali NEW
Mayumi Y GillianJapanIvan Magalhaes QUALIFIED
Izzy J RoysterRussiaOnyama Limba RENEWAL
Cody Q TollnerAustraliaElwin Sharvill QUALIFIED
Jeanfrancois P FigeroaGermanyAsiya Javayant QUALIFIED
Ricardo T VocelkaFranceBernardo Dominic NEGOTIATION
Darci X DoeBrazilXuxue Feng PROPOSAL
Sinclair Q ChuiUnited KingdomAsiya Javayant NEW
Kadeem S BologniaRussiaXuxue Feng RENEWAL
Sinclair C BologniaAustraliaElwin Sharvill NEGOTIATION
Juan F FigeroaJapanXuxue Feng PROPOSAL
James O SergiArgentinaStephen Shaw PROPOSAL
Tony V MaletFranceBernardo Dominic QUALIFIED
Costa J NickaFranceElwin Sharvill UNQUALIFIED
Aruna Z GauchoFranceOnyama Limba RENEWAL
Greenwood V MarrierAustraliaOnyama Limba RENEWAL
Smith S SchemmerIndiaOnyama Limba NEGOTIATION
Silvio L MaletAustraliaBernardo Dominic PROPOSAL
Aruna O SergiCanadaElwin Sharvill UNQUALIFIED
Misaki D DarakjySpainIoni Bowcher PROPOSAL
Jeanfrancois Y WaycottRussiaIoni Bowcher QUALIFIED
Costa N ShinkoGermanyAsiya Javayant NEGOTIATION
Tony F SaylorsAustraliaAnna Fali NEW
Stacey N ShinkoFranceBernardo Dominic NEGOTIATION
Jennifer M BriddickSpainElwin Sharvill RENEWAL
Jennifer Z AlbaresSpainStephen Shaw QUALIFIED
David Q DoeItalyAmy Elsner UNQUALIFIED
Arvin S MaletSpainAnna Fali PROPOSAL
Stacey X ShinkoSpainStephen Shaw UNQUALIFIED
Wickens B WhobreyGermanyAmy Elsner NEGOTIATION
Alejandro W AmigonRussiaBernardo Dominic NEW
Salvatore F SlusarskiItalyIvan Magalhaes PROPOSAL
Salvatore N MorascaItalyXuxue Feng NEW
Kadeem G WieserGermanyAsiya Javayant UNQUALIFIED
Silvio X FlosiSpainIoni Bowcher NEW
Frozen Columns
Name
Antonio K Maclead
Murillo Q Perin
Nicolas R Gillian
Silvio N Caldarera
Faith S Nestle
Clifford P Slusarski
Mujtaba U Shinko
Kadeem N Doe
Salvatore W Campain
Faith L Foller
Greenwood W Paprocki
Munro I Venere
Jeanfrancois I Wieser
Maisha U Iturbide
David Q Slusarski
Johnson F Campain
Rodrigues G Ferencz
Silvio F Figeroa
Ivar P Schemmer
Aika K Nicka
Ashley A Rim
Kaitlin A Venere
Mujtaba C Sergi
Aika S Nicka
Ivar T Rim
Aditya J Kolmetz
Chavez S Chui
Greenwood R Gaucho
Adams I Briddick
David S Oldroyd
Nicolas O Kusko
Ivar W Stenseth
Johnson S Sergi
Leja O Sergi
Faith A Schemmer
Sinclair R Ostrosky
Maria V Vocelka
Chavez K Ostrosky
Faith Q Stenseth
Jones K Ostrosky
Kadeem B Rim
Jennifer M Vocelka
Smith N Poquette
Maisha W Sergi
Izzy G Caldarera
Misaki H Gillian
Alejandro S Nestle
Salvatore Q Iturbide
Faith U Caudy
David Q Foller
IdCountryDate
1000Italy2024-06-20
1001France2024-06-13
1002Russia2024-06-18
1003Brazil2024-06-09
1004Canada2024-06-02
1005United Kingdom2024-05-23
1006Spain2024-05-25
1007Germany2024-06-12
1008Japan2024-06-16
1009Brazil2024-06-12
1010Italy2024-06-17
1011Germany2024-05-31
1012India2024-06-07
1013Russia2024-06-20
1014Argentina2024-06-04
1015Spain2024-06-09
1016Canada2024-06-04
1017Russia2024-06-12
1018France2024-06-09
1019Japan2024-06-20
1020Russia2024-06-04
1021Russia2024-06-17
1022Canada2024-05-28
1023Italy2024-05-29
1024Spain2024-06-13
1025Argentina2024-06-14
1026Japan2024-05-30
1027Australia2024-06-16
1028India2024-05-25
1029Germany2024-05-27
1030Italy2024-06-21
1031Canada2024-06-04
1032Russia2024-05-29
1033Japan2024-06-14
1034Japan2024-06-14
1035Australia2024-06-06
1036Brazil2024-06-11
1037France2024-05-27
1038Japan2024-06-17
1039Italy2024-05-24
1040Canada2024-06-12
1041Argentina2024-05-26
1042Canada2024-05-29
1043Germany2024-06-15
1044Germany2024-06-15
1045Italy2024-05-27
1046France2024-06-14
1047United Kingdom2024-06-12
1048Argentina2024-05-30
1049India2024-06-20

On-Demand Data

NameIdCountryDate
Claire N Venere1000Spain2024-06-07
Nicolas Z Nestle1001Brazil2024-05-27
Juan S Inouye1002Russia2024-06-02
Clifford N Figeroa1003Australia2024-06-05
Francesco M Poquette1004Spain2024-05-28
Jones W Stenseth1005Canada2024-06-09
Aditya N Malet1006Argentina2024-06-06
Ashley R Maclead1007Spain2024-06-03
Aditya R Tollner1008Germany2024-06-03
Maria F Whobrey1009Canada2024-06-18
Stacey B Poquette1010Canada2024-06-06
Julie Q Gaucho1011Russia2024-05-25
Adams R Inouye1012France2024-06-12
Rodrigues H Caldarera1013Japan2024-06-16
Ivar Z Caldarera1014Spain2024-06-05
Sinclair Z Flosi1015Russia2024-05-28
Nicolas H Saylors1016Australia2024-06-05
Jennifer O Wieser1017Italy2024-06-14
Misaki X Darakjy1018Argentina2024-06-16
Adams H Slusarski1019Russia2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony W GlickFranceElwin Sharvill UNQUALIFIED
Octavia W ChuiArgentinaAsiya Javayant QUALIFIED
Johnson P RimAustraliaBernardo Dominic NEW
Juan M TollnerJapanAnna Fali QUALIFIED
Izzy K OstroskyAustraliaXuxue Feng UNQUALIFIED
Octavia L WaycottItalyXuxue Feng RENEWAL
Izzy W MorascaGermanyStephen Shaw NEW
Munro E PaprockiIndiaStephen Shaw RENEWAL
Tony B AlbaresUnited KingdomAnna Fali PROPOSAL
Rodrigues K FerenczItalyElwin Sharvill QUALIFIED
Ashley P RoysterJapanAsiya Javayant QUALIFIED
Leon S FlosiJapanOnyama Limba NEGOTIATION
Chavez W CaudySpainAmy Elsner PROPOSAL
Costa K GarufiJapanStephen Shaw QUALIFIED
Aika L StensethUnited KingdomAmy Elsner UNQUALIFIED
Leja Q FlosiSpainBernardo Dominic QUALIFIED
Adams R DilliardRussiaAnna Fali PROPOSAL
Munro C StensethIndiaBernardo Dominic NEW
Cody C FigeroaUnited KingdomXuxue Feng UNQUALIFIED
Jones L FlosiFranceIvan Magalhaes NEW
Francesco Z VenereRussiaIoni Bowcher QUALIFIED
Misaki V RulapaughRussiaXuxue Feng RENEWAL
Octavia G BologniaUnited KingdomIoni Bowcher PROPOSAL
Mayumi R PerinJapanAsiya Javayant PROPOSAL
Ivar O BowleyBrazilElwin Sharvill RENEWAL
Izzy V ShinkoFranceOnyama Limba NEW
Mayumi Z NickaJapanIoni Bowcher NEGOTIATION
Leja E AmigonItalyIvan Magalhaes UNQUALIFIED
Smith B NestleRussiaIvan Magalhaes RENEWAL
Mujtaba A CaldareraAustraliaIvan Magalhaes NEGOTIATION
Munro R RimSpainAnna Fali QUALIFIED
James I FollerIndiaElwin Sharvill NEW
Maisha O SchemmerUnited KingdomIvan Magalhaes RENEWAL
Cody C VocelkaAustraliaStephen Shaw NEW
Costa S TollnerItalyAnna Fali RENEWAL
Aditya X RulapaughCanadaStephen Shaw NEGOTIATION
Rodrigues B GlickCanadaXuxue Feng UNQUALIFIED
Aika L KuskoItalyBernardo Dominic RENEWAL
Ivar P FlosiItalyIvan Magalhaes QUALIFIED
Leon K GauchoJapanAnna Fali PROPOSAL

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