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
Rodrigues O CaudyCanadaIvan Magalhaes NEW
Silvio C BowleyBrazilOnyama Limba QUALIFIED
Mayumi H BriddickIndiaElwin Sharvill NEGOTIATION
James H MaletItalyAmy Elsner NEGOTIATION
Cody L CaldareraArgentinaIoni Bowcher QUALIFIED
Arvin G NestleRussiaStephen Shaw NEW
Smith W FollerSpainIvan Magalhaes NEW
Adams O RutaRussiaAsiya Javayant NEGOTIATION
Wickens F DilliardArgentinaBernardo Dominic QUALIFIED
Sinclair X IturbideArgentinaAmy Elsner RENEWAL
Ivar B BologniaIndiaBernardo Dominic RENEWAL
Ricardo Y RutaIndiaOnyama Limba NEW
Leja W FollerAustraliaBernardo Dominic NEW
Antonio J ButtAustraliaAsiya Javayant NEGOTIATION
Cody M CampainCanadaElwin Sharvill UNQUALIFIED
Juan G GlickUnited KingdomBernardo Dominic QUALIFIED
Leja H GillianRussiaAsiya Javayant QUALIFIED
Antonio M RoysterFranceIvan Magalhaes NEW
Jones N TollnerAustraliaOnyama Limba NEW
Greenwood Y StensethBrazilXuxue Feng QUALIFIED
Smith Z DoeGermanyIvan Magalhaes NEW
Misaki K AmigonRussiaIvan Magalhaes NEW
Emily Z MaletFranceXuxue Feng NEW
Johnson X RutaRussiaAsiya Javayant NEW
Emily C SchemmerUnited KingdomStephen Shaw QUALIFIED
Nicolas G RimItalyElwin Sharvill RENEWAL
Isabel U WieserFranceIoni Bowcher NEGOTIATION
Antonio Q MorascaFranceAnna Fali PROPOSAL
Antonio I WieserBrazilXuxue Feng RENEWAL
Leja N PaprockiRussiaBernardo Dominic NEGOTIATION
Morrow F StensethFranceElwin Sharvill NEW
Silvio L RutaRussiaIvan Magalhaes NEGOTIATION
Jefferson Y ShinkoCanadaAnna Fali NEGOTIATION
Clifford V MorascaArgentinaOnyama Limba UNQUALIFIED
Nicolas F NickaItalyAnna Fali NEGOTIATION
Costa E WieserGermanyAmy Elsner RENEWAL
Smith N VenereIndiaAmy Elsner UNQUALIFIED
Leja F SergiAustraliaIvan Magalhaes NEW
Leja U FigeroaRussiaOnyama Limba PROPOSAL
Ivar Z VenereIndiaElwin Sharvill NEGOTIATION
Octavia B RutaUnited KingdomOnyama Limba PROPOSAL
Julie L FerenczSpainBernardo Dominic PROPOSAL
Stacey M WieserUnited KingdomIvan Magalhaes RENEWAL
Johnson Y BologniaRussiaOnyama Limba RENEWAL
Claire O ButtArgentinaIvan Magalhaes QUALIFIED
Mayumi D MorascaGermanyAmy Elsner RENEWAL
Salvatore M AmigonSpainOnyama Limba UNQUALIFIED
Maisha M CampainItalyBernardo Dominic NEW
Claire S OstroskyJapanIoni Bowcher PROPOSAL
Smith K DarakjyItalyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Costa X CampainBrazilAmy Elsner QUALIFIED
Stacey B MarrierJapanAnna Fali UNQUALIFIED
Costa I RimSpainAmy Elsner RENEWAL
Darci T InouyeSpainStephen Shaw UNQUALIFIED
Adams K MacleadCanadaOnyama Limba UNQUALIFIED
Ivar M VocelkaItalyElwin Sharvill QUALIFIED
Jefferson X PaprockiRussiaOnyama Limba QUALIFIED
Silvio S PoquetteArgentinaOnyama Limba RENEWAL
Stacey Y FollerItalyIvan Magalhaes QUALIFIED
Mujtaba V AmigonArgentinaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin J WieserCanada2024-08-27Feltz Printing Service NEW20Ivan Magalhaes
1001David T DoeIndia2024-08-26King, Christopher A Esq QUALIFIED78Bernardo Dominic
1002Tony V SlusarskiRussia2024-09-21Commercial Press RENEWAL2Stephen Shaw
1003Arvin J RimBrazil2024-09-17King, Christopher A Esq QUALIFIED9Asiya Javayant
1004Leja M GauchoIndia2024-09-19Printing Dimensions NEGOTIATION59Anna Fali
1005Adams L MarrierRussia2024-09-12Feiner Bros QUALIFIED34Amy Elsner
1006Leja F VenereGermany2024-09-12Feltz Printing Service QUALIFIED30Ioni Bowcher
1007Chavez G CampainRussia2024-09-03King, Christopher A Esq NEW52Onyama Limba
1008Ricardo D MacleadArgentina2024-09-22Chemel, James L Cpa RENEWAL23Xuxue Feng
1009Faith L TollnerJapan2024-09-13Buckley Miller Wright UNQUALIFIED12Amy Elsner
1010Misaki Y OldroydGermany2024-09-01Dorl, James J Esq UNQUALIFIED82Xuxue Feng
1011Arvin U PerinBrazil2024-09-03Dorl, James J Esq PROPOSAL97Anna Fali
1012Adams N OstroskyCanada2024-09-08Commercial Press QUALIFIED57Asiya Javayant
1013Antonio V WhobreyItaly2024-09-06Benton, John B Jr QUALIFIED20Anna Fali
1014Jeanfrancois F InouyeBrazil2024-09-14Commercial Press RENEWAL29Ioni Bowcher
1015Jennifer J VenereCanada2024-09-09Rousseaux, Michael Esq RENEWAL26Amy Elsner
1016Aika S DarakjyRussia2024-09-07Feltz Printing Service QUALIFIED9Elwin Sharvill
1017Misaki Q NickaBrazil2024-09-04Morlong Associates PROPOSAL1Xuxue Feng
1018James I MacleadUnited Kingdom2024-09-11Benton, John B Jr UNQUALIFIED93Bernardo Dominic
1019Stacey T SaylorsIndia2024-09-19Feltz Printing Service PROPOSAL37Anna Fali
1020Kaitlin C RimIndia2024-09-20Chemel, James L Cpa NEW52Elwin Sharvill
1021Izzy K StockhamSpain2024-08-29Rousseaux, Michael Esq RENEWAL5Onyama Limba
1022Morrow O NestleCanada2024-09-19Chapman, Ross E Esq UNQUALIFIED6Xuxue Feng
1023Francesco P RutaItaly2024-09-12Rousseaux, Michael Esq RENEWAL68Elwin Sharvill
1024Aruna F BowleyGermany2024-09-14Chemel, James L Cpa UNQUALIFIED44Xuxue Feng
1025Julie R NestleCanada2024-08-31King, Christopher A Esq UNQUALIFIED2Ioni Bowcher
1026Faith T FlosiIndia2024-08-28Morlong Associates UNQUALIFIED32Xuxue Feng
1027Maria E StockhamSpain2024-08-31Chemel, James L Cpa QUALIFIED75Stephen Shaw
1028Misaki M WaycottCanada2024-09-20Commercial Press UNQUALIFIED15Ioni Bowcher
1029Sinclair X MaletItaly2024-08-30Chemel, James L Cpa PROPOSAL47Ivan Magalhaes
1030Octavia O CaldareraItaly2024-09-14Rangoni Of Florence QUALIFIED27Ivan Magalhaes
1031Misaki I StensethIndia2024-09-15Chanay, Jeffrey A Esq RENEWAL77Amy Elsner
1032Arvin J NestleArgentina2024-09-08Benton, John B Jr UNQUALIFIED45Stephen Shaw
1033Jefferson I MaletRussia2024-09-07King, Christopher A Esq NEW88Stephen Shaw
1034Emily P VocelkaRussia2024-09-05Commercial Press NEW13Ivan Magalhaes
1035Smith J FollerGermany2024-08-28Truhlar And Truhlar Attys RENEWAL36Anna Fali
1036Greenwood O MarrierIndia2024-09-15Chapman, Ross E Esq NEW75Bernardo Dominic
1037Francesco B FollerIndia2024-09-12Chanay, Jeffrey A Esq RENEWAL91Ivan Magalhaes
1038Kaitlin Y ChuiCanada2024-09-13Dorl, James J Esq UNQUALIFIED2Ivan Magalhaes
1039Morrow G MaletCanada2024-08-25Chapman, Ross E Esq NEW8Onyama Limba
1040Kadeem M GillianAustralia2024-09-06Chemel, James L Cpa UNQUALIFIED18Elwin Sharvill
1041Alejandro B MacleadCanada2024-09-16Dorl, James J Esq NEW55Amy Elsner
1042Julie J SaylorsIndia2024-09-18Benton, John B Jr RENEWAL64Bernardo Dominic
1043Misaki W RutaRussia2024-09-19Feltz Printing Service UNQUALIFIED44Ivan Magalhaes
1044Kadeem G SchemmerItaly2024-09-01Printing Dimensions QUALIFIED74Xuxue Feng
1045Maria Z KuskoRussia2024-09-05Rousseaux, Michael Esq UNQUALIFIED62Amy Elsner
1046Silvio G IturbideFrance2024-09-05Truhlar And Truhlar Attys NEW41Onyama Limba
1047Wickens E MorascaIndia2024-09-22Truhlar And Truhlar Attys QUALIFIED35Bernardo Dominic
1048David C GillianGermany2024-09-18Rousseaux, Michael Esq UNQUALIFIED55Stephen Shaw
1049Salvatore A PaprockiUnited Kingdom2024-09-01Benton, John B Jr UNQUALIFIED33Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Octavia Q ShinkoRussiaElwin Sharvill NEW
Misaki L CampainIndiaElwin Sharvill NEGOTIATION
Adams O GillianBrazilAmy Elsner NEGOTIATION
Octavia I OldroydFranceAsiya Javayant PROPOSAL
Emily E GarufiFranceAsiya Javayant QUALIFIED
Sinclair R OldroydJapanIvan Magalhaes RENEWAL
Greenwood J NestleIndiaIvan Magalhaes RENEWAL
David L NickaAustraliaXuxue Feng PROPOSAL
Aditya I WieserJapanXuxue Feng RENEWAL
Munro S BowleyItalyXuxue Feng PROPOSAL
Clifford J GarufiBrazilIvan Magalhaes NEGOTIATION
Tony E VocelkaItalyAnna Fali QUALIFIED
Juan I SchemmerUnited KingdomAmy Elsner NEGOTIATION
James X FlosiFranceIoni Bowcher NEGOTIATION
Rodrigues T ChuiSpainOnyama Limba PROPOSAL
Greenwood M PoquetteSpainXuxue Feng UNQUALIFIED
Aruna O StockhamIndiaAnna Fali PROPOSAL
Costa D WaycottCanadaXuxue Feng UNQUALIFIED
Octavia Z FerenczUnited KingdomStephen Shaw UNQUALIFIED
Greenwood H StockhamCanadaElwin Sharvill UNQUALIFIED
Kaitlin N GauchoItalyIvan Magalhaes RENEWAL
Kaitlin X InouyeSpainAsiya Javayant PROPOSAL
Stacey L OldroydBrazilStephen Shaw NEW
James K SchemmerUnited KingdomOnyama Limba RENEWAL
Adams M StockhamAustraliaAnna Fali NEGOTIATION
Francesco G GillianSpainAnna Fali UNQUALIFIED
Jeanfrancois F SlusarskiIndiaElwin Sharvill NEW
Nicolas C RoysterBrazilAsiya Javayant RENEWAL
Darci B RoysterRussiaIvan Magalhaes NEW
Nicolas T VenereAustraliaAmy Elsner NEW
Ashley S PoquetteAustraliaOnyama Limba QUALIFIED
Ashley O NestleRussiaElwin Sharvill NEGOTIATION
Stacey L ButtSpainStephen Shaw PROPOSAL
Izzy V CaldareraRussiaStephen Shaw NEW
Arvin A GlickJapanAsiya Javayant NEW
Antonio H ChuiFranceStephen Shaw NEW
Alejandro T StockhamJapanStephen Shaw PROPOSAL
Cody I RimFranceStephen Shaw NEW
Aditya S AlbaresJapanStephen Shaw NEGOTIATION
Isabel M StensethJapanStephen Shaw QUALIFIED
Mujtaba G SlusarskiSpainXuxue Feng RENEWAL
Kadeem U DoeCanadaAnna Fali UNQUALIFIED
Morrow S GauchoAustraliaAnna Fali RENEWAL
Ivar M FollerUnited KingdomStephen Shaw QUALIFIED
James E StockhamJapanOnyama Limba UNQUALIFIED
Alejandro B PoquetteIndiaXuxue Feng NEGOTIATION
Sinclair N IturbideIndiaIoni Bowcher RENEWAL
Ivar C FlosiFranceAmy Elsner QUALIFIED
Smith C FigeroaSpainIoni Bowcher RENEWAL
Kadeem I VocelkaAustraliaIvan Magalhaes NEW
Frozen Columns
Name
Nicolas F Caldarera
Arvin F Glick
Costa L Venere
Misaki U Schemmer
Maisha L Maclead
Costa O Briddick
Leon K Amigon
Francesco Z Nestle
Claire S Iturbide
Kaitlin Z Caldarera
Ricardo C Doe
Jefferson X Flosi
Antonio U Wieser
Jones G Campain
Antonio O Foller
Sinclair Q Campain
Deepesh Z Nestle
Stacey K Gillian
Johnson J Shinko
Jefferson P Nicka
Silvio I Bowley
Nicolas U Malet
Francesco U Rim
Cody J Rulapaugh
Aditya X Waycott
Murillo R Stenseth
Rodrigues E Figeroa
Jennifer X Perin
Ricardo S Sergi
Emily I Waycott
Ashley R Wieser
Morrow E Albares
Jeanfrancois X Paprocki
Octavia A Sergi
Darci D Briddick
Izzy P Whobrey
Leja V Waycott
Izzy H Malet
Mayumi H Maclead
Alejandro S Royster
Misaki I Flosi
Misaki J Rim
Aruna Z Dilliard
Cody V Gaucho
James X Perin
Arvin X Darakjy
Julie B Whobrey
Leja A Venere
Maisha O Dilliard
Izzy N Ruta
IdCountryDate
1000Australia2024-08-29
1001Canada2024-09-01
1002Australia2024-09-08
1003Canada2024-09-20
1004Brazil2024-08-25
1005Australia2024-09-11
1006France2024-09-07
1007France2024-09-12
1008Germany2024-09-20
1009Russia2024-08-30
1010Spain2024-09-12
1011Russia2024-09-12
1012Canada2024-09-07
1013France2024-09-18
1014Italy2024-08-25
1015Canada2024-09-08
1016Australia2024-09-15
1017Brazil2024-09-21
1018United Kingdom2024-09-03
1019India2024-09-06
1020Canada2024-08-31
1021Russia2024-09-02
1022Japan2024-09-07
1023Italy2024-08-27
1024Argentina2024-09-22
1025Russia2024-09-11
1026Spain2024-09-02
1027Russia2024-09-23
1028United Kingdom2024-09-16
1029Brazil2024-08-28
1030Italy2024-09-22
1031United Kingdom2024-09-05
1032India2024-09-11
1033Argentina2024-08-30
1034Australia2024-09-03
1035France2024-08-31
1036India2024-09-16
1037Italy2024-09-02
1038Italy2024-09-11
1039United Kingdom2024-09-13
1040Spain2024-08-27
1041Canada2024-09-01
1042India2024-08-31
1043Canada2024-09-09
1044France2024-09-02
1045India2024-09-09
1046Brazil2024-08-29
1047Canada2024-09-19
1048Australia2024-08-29
1049Argentina2024-08-29

On-Demand Data

NameIdCountryDate
Francesco N Ruta1000United Kingdom2024-09-19
Maisha P Inouye1001United Kingdom2024-09-02
Salvatore K Dilliard1002United Kingdom2024-09-16
Francesco Y Bowley1003India2024-09-13
Munro N Venere1004Spain2024-09-23
Faith O Royster1005Germany2024-09-23
Salvatore W Ruta1006Russia2024-09-14
Claire I Rulapaugh1007Japan2024-09-20
Maria A Caudy1008Russia2024-09-23
Mayumi L Flosi1009Russia2024-09-06
Isabel O Slusarski1010France2024-09-22
Aruna M Royster1011Brazil2024-09-02
Aika Z Nestle1012India2024-08-28
Francesco T Ruta1013United Kingdom2024-09-19
Smith D Wieser1014Japan2024-09-10
Maisha C Whobrey1015Japan2024-09-22
Aruna K Whobrey1016Canada2024-09-13
Ivar V Ferencz1017Germany2024-09-16
Stacey Y Malet1018Germany2024-08-28
Maria P Shinko1019Argentina2024-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith M SlusarskiFranceAsiya Javayant QUALIFIED
Mujtaba E SergiCanadaAsiya Javayant UNQUALIFIED
Greenwood X WieserJapanXuxue Feng NEW
James L SergiItalyIoni Bowcher NEW
Kaitlin V MarrierAustraliaIvan Magalhaes NEW
Jefferson Q RimCanadaAnna Fali QUALIFIED
Ivar Q PerinBrazilIvan Magalhaes RENEWAL
Faith L AmigonSpainIvan Magalhaes NEW
Greenwood Z GauchoArgentinaStephen Shaw QUALIFIED
Ashley I CampainSpainBernardo Dominic NEW
Faith H MaletGermanyElwin Sharvill PROPOSAL
Jeanfrancois M DilliardItalyAmy Elsner NEGOTIATION
Wickens O NickaBrazilXuxue Feng RENEWAL
Greenwood Q AlbaresUnited KingdomIoni Bowcher NEGOTIATION
Arvin J AlbaresArgentinaAnna Fali NEW
Adams I FerenczAustraliaElwin Sharvill RENEWAL
Jennifer G BriddickGermanyAsiya Javayant RENEWAL
Francesco N MaletAustraliaAmy Elsner UNQUALIFIED
Ivar U OldroydIndiaXuxue Feng NEGOTIATION
Sinclair Z NestleArgentinaAnna Fali NEGOTIATION
Leon I DilliardAustraliaIvan Magalhaes NEW
Alejandro C AmigonFranceOnyama Limba NEW
Maria F TollnerAustraliaXuxue Feng NEGOTIATION
Sinclair I MorascaAustraliaXuxue Feng NEW
Jeanfrancois Y RutaRussiaElwin Sharvill NEW
Aditya M GillianArgentinaAnna Fali QUALIFIED
Stacey C BologniaItalyAsiya Javayant RENEWAL
Leon I VenereArgentinaStephen Shaw QUALIFIED
Antonio S InouyeCanadaElwin Sharvill RENEWAL
Arvin A TollnerJapanBernardo Dominic RENEWAL
Mujtaba C VocelkaJapanAsiya Javayant NEW
Isabel W WhobreyItalyStephen Shaw QUALIFIED
Aika U SergiGermanyBernardo Dominic RENEWAL
Emily F MorascaRussiaIvan Magalhaes QUALIFIED
Aruna W AlbaresUnited KingdomAnna Fali QUALIFIED
Silvio U TollnerBrazilStephen Shaw PROPOSAL
Faith R BriddickBrazilAmy Elsner NEW
Alejandro N ButtFranceBernardo Dominic NEGOTIATION
Munro D MacleadSpainBernardo Dominic NEW
Jennifer E SchemmerCanadaAnna Fali NEW

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