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
Murillo C TollnerFranceAnna Fali RENEWAL
Ashley H MorascaJapanAmy Elsner RENEWAL
Johnson I InouyeSpainIoni Bowcher RENEWAL
Salvatore Q RutaRussiaAsiya Javayant QUALIFIED
Clifford Q AlbaresUnited KingdomAmy Elsner PROPOSAL
Deepesh F MaletBrazilAnna Fali RENEWAL
Maisha H RutaFranceIvan Magalhaes PROPOSAL
Misaki V GauchoItalyOnyama Limba RENEWAL
Jeanfrancois I SlusarskiSpainElwin Sharvill NEW
Kaitlin O CaudyArgentinaIoni Bowcher QUALIFIED
Johnson C ShinkoFranceOnyama Limba UNQUALIFIED
James X RulapaughJapanIoni Bowcher NEW
Morrow Y CampainRussiaAmy Elsner NEW
Jennifer R WaycottItalyIvan Magalhaes NEW
Nicolas G DoeIndiaBernardo Dominic UNQUALIFIED
Ivar P FerenczJapanIoni Bowcher NEW
David E MaletIndiaElwin Sharvill NEW
Octavia I FlosiJapanElwin Sharvill UNQUALIFIED
Greenwood X FerenczBrazilAnna Fali NEW
Costa B RimJapanAsiya Javayant NEW
Deepesh A InouyeFranceAsiya Javayant UNQUALIFIED
Adams F VenereSpainAmy Elsner QUALIFIED
Jones A NickaIndiaAmy Elsner NEW
Izzy K SergiAustraliaBernardo Dominic QUALIFIED
Aditya T PoquetteGermanyBernardo Dominic QUALIFIED
Morrow L FerenczSpainBernardo Dominic NEW
Jennifer V MarrierSpainAsiya Javayant NEGOTIATION
David F NickaGermanyElwin Sharvill PROPOSAL
Johnson E BologniaIndiaXuxue Feng NEGOTIATION
Kaitlin Z PaprockiAustraliaOnyama Limba QUALIFIED
Costa T MacleadCanadaBernardo Dominic UNQUALIFIED
Isabel J FigeroaSpainStephen Shaw UNQUALIFIED
Leon D FigeroaCanadaAmy Elsner NEGOTIATION
Aika R BowleyJapanAnna Fali NEGOTIATION
Rodrigues N WaycottFranceOnyama Limba NEW
Costa Z RimRussiaIvan Magalhaes RENEWAL
Darci Y FerenczItalyAnna Fali RENEWAL
Julie K IturbideCanadaElwin Sharvill UNQUALIFIED
Arvin W KolmetzUnited KingdomBernardo Dominic NEW
Mayumi L GarufiUnited KingdomIoni Bowcher RENEWAL
Isabel I AlbaresUnited KingdomXuxue Feng QUALIFIED
James W GlickCanadaIoni Bowcher UNQUALIFIED
Tony I GlickFranceElwin Sharvill QUALIFIED
Greenwood G DilliardItalyElwin Sharvill NEW
Alejandro G WieserGermanyAmy Elsner PROPOSAL
Cody I WieserCanadaXuxue Feng NEW
Claire U GlickIndiaAsiya Javayant UNQUALIFIED
Antonio R GlickBrazilXuxue Feng QUALIFIED
David Q DilliardSpainIvan Magalhaes NEW
Julie R BologniaRussiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aditya M NickaGermanyAmy Elsner NEGOTIATION
Costa Y GlickJapanBernardo Dominic RENEWAL
Munro R BowleyItalyElwin Sharvill QUALIFIED
Ricardo C TollnerCanadaIvan Magalhaes NEGOTIATION
James F KolmetzItalyIvan Magalhaes QUALIFIED
Maria U ChuiCanadaXuxue Feng UNQUALIFIED
Smith J MarrierFranceIoni Bowcher RENEWAL
Silvio N GillianUnited KingdomIvan Magalhaes NEGOTIATION
Murillo G CaldareraAustraliaBernardo Dominic PROPOSAL
Rodrigues L AlbaresCanadaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia U RoysterAustralia2024-05-26Chemel, James L Cpa PROPOSAL18Onyama Limba
1001Rodrigues A GauchoItaly2024-06-13Truhlar And Truhlar Attys NEW77Anna Fali
1002James K AmigonBrazil2024-05-20Benton, John B Jr QUALIFIED70Bernardo Dominic
1003Greenwood Y SlusarskiItaly2024-05-16King, Christopher A Esq PROPOSAL21Amy Elsner
1004Juan F DilliardFrance2024-06-01Commercial Press QUALIFIED85Anna Fali
1005Costa C FerenczArgentina2024-06-11Benton, John B Jr NEGOTIATION26Amy Elsner
1006Jennifer K BowleyJapan2024-05-16Commercial Press UNQUALIFIED85Elwin Sharvill
1007Greenwood J FigeroaCanada2024-05-20Rangoni Of Florence QUALIFIED11Anna Fali
1008Deepesh X WhobreyFrance2024-05-28Dorl, James J Esq PROPOSAL92Onyama Limba
1009Ashley F OstroskyBrazil2024-06-06Feiner Bros RENEWAL12Asiya Javayant
1010Adams C KuskoGermany2024-05-29Feiner Bros UNQUALIFIED68Asiya Javayant
1011Munro O GillianBrazil2024-06-05Truhlar And Truhlar Attys RENEWAL11Ivan Magalhaes
1012Jefferson A NickaCanada2024-06-13King, Christopher A Esq QUALIFIED50Amy Elsner
1013Smith K MarrierIndia2024-06-07King, Christopher A Esq PROPOSAL25Ivan Magalhaes
1014Maisha U ButtCanada2024-06-11Benton, John B Jr NEW57Elwin Sharvill
1015Darci J DilliardUnited Kingdom2024-06-06Morlong Associates NEW8Bernardo Dominic
1016Morrow X OldroydFrance2024-06-04Truhlar And Truhlar Attys RENEWAL40Onyama Limba
1017Ivar Z GillianItaly2024-06-10Dorl, James J Esq UNQUALIFIED0Ioni Bowcher
1018Adams X FigeroaIndia2024-05-29Benton, John B Jr NEW79Elwin Sharvill
1019Antonio H TollnerAustralia2024-05-18Feiner Bros QUALIFIED98Anna Fali
1020Aditya B FlosiItaly2024-06-06King, Christopher A Esq QUALIFIED88Amy Elsner
1021Jennifer N RulapaughFrance2024-05-19King, Christopher A Esq UNQUALIFIED56Amy Elsner
1022Jennifer T MarrierArgentina2024-05-19Feiner Bros RENEWAL52Bernardo Dominic
1023Mujtaba O SaylorsAustralia2024-06-10Commercial Press RENEWAL73Xuxue Feng
1024Aika C ChuiIndia2024-06-08Morlong Associates RENEWAL55Asiya Javayant
1025Mujtaba M GauchoCanada2024-06-13King, Christopher A Esq UNQUALIFIED28Ivan Magalhaes
1026Adams Q PaprockiUnited Kingdom2024-06-01Rousseaux, Michael Esq RENEWAL67Ioni Bowcher
1027Rodrigues V AlbaresCanada2024-06-08Feltz Printing Service QUALIFIED74Stephen Shaw
1028Sinclair V ShinkoJapan2024-06-10Chapman, Ross E Esq UNQUALIFIED20Anna Fali
1029Mayumi K AmigonCanada2024-06-08Chemel, James L Cpa UNQUALIFIED38Ioni Bowcher
1030Aika G MaletCanada2024-05-26Buckley Miller Wright RENEWAL66Bernardo Dominic
1031Salvatore H MarrierBrazil2024-05-16Benton, John B Jr QUALIFIED81Ioni Bowcher
1032Maisha L BriddickCanada2024-06-01Truhlar And Truhlar Attys UNQUALIFIED87Bernardo Dominic
1033Antonio X IturbideUnited Kingdom2024-05-19Chemel, James L Cpa UNQUALIFIED13Elwin Sharvill
1034Morrow A BriddickRussia2024-05-30Benton, John B Jr PROPOSAL53Bernardo Dominic
1035Deepesh D SlusarskiArgentina2024-06-05Dorl, James J Esq NEW72Stephen Shaw
1036Smith C IturbideFrance2024-06-10Commercial Press QUALIFIED51Ivan Magalhaes
1037Alejandro R CampainJapan2024-06-04King, Christopher A Esq RENEWAL31Asiya Javayant
1038Greenwood W MarrierGermany2024-05-26Truhlar And Truhlar Attys RENEWAL49Stephen Shaw
1039Leon H AmigonArgentina2024-06-01Buckley Miller Wright NEW94Ivan Magalhaes
1040Leja Z SergiUnited Kingdom2024-05-26Commercial Press UNQUALIFIED39Elwin Sharvill
1041Faith B DoeJapan2024-05-18Commercial Press QUALIFIED39Asiya Javayant
1042Costa R StensethJapan2024-06-12Benton, John B Jr NEW38Elwin Sharvill
1043Emily P ButtUnited Kingdom2024-05-25Truhlar And Truhlar Attys RENEWAL74Bernardo Dominic
1044Clifford I GauchoIndia2024-06-05Benton, John B Jr RENEWAL79Asiya Javayant
1045Munro T KolmetzJapan2024-06-01Chemel, James L Cpa NEGOTIATION8Elwin Sharvill
1046Rodrigues Z WhobreyArgentina2024-05-16Morlong Associates UNQUALIFIED1Amy Elsner
1047Juan W WhobreyAustralia2024-06-12Dorl, James J Esq RENEWAL4Anna Fali
1048Emily R GillianItaly2024-05-23Chanay, Jeffrey A Esq PROPOSAL98Xuxue Feng
1049Maria Y MaletArgentina2024-06-08Chapman, Ross E Esq UNQUALIFIED26Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens H KolmetzCanadaAnna Fali NEGOTIATION
Kadeem K VenereFranceXuxue Feng PROPOSAL
Stacey Y InouyeCanadaElwin Sharvill QUALIFIED
Morrow L PerinArgentinaAsiya Javayant UNQUALIFIED
Aditya U AmigonJapanStephen Shaw RENEWAL
Salvatore D CaudySpainOnyama Limba QUALIFIED
Rodrigues X PaprockiArgentinaIoni Bowcher QUALIFIED
Ivar M OldroydSpainStephen Shaw UNQUALIFIED
Izzy J RimIndiaAmy Elsner NEW
Munro E FerenczFranceStephen Shaw NEGOTIATION
Arvin T KolmetzUnited KingdomBernardo Dominic QUALIFIED
Munro C GarufiFranceIvan Magalhaes QUALIFIED
Kaitlin Y NickaIndiaStephen Shaw UNQUALIFIED
Smith H BriddickItalyStephen Shaw NEW
Stacey U OstroskyArgentinaAnna Fali NEW
Nicolas M OstroskyItalyBernardo Dominic PROPOSAL
Ricardo Q MaletItalyIoni Bowcher NEW
Faith S DilliardGermanyAnna Fali QUALIFIED
Ivar E AlbaresRussiaStephen Shaw QUALIFIED
Munro B MacleadRussiaStephen Shaw QUALIFIED
Juan G PerinGermanyIvan Magalhaes RENEWAL
Octavia Y PoquetteCanadaOnyama Limba UNQUALIFIED
Antonio U ChuiIndiaIoni Bowcher NEGOTIATION
Munro P MaletItalyAsiya Javayant PROPOSAL
Maria P FerenczSpainOnyama Limba NEW
Isabel Z SaylorsItalyOnyama Limba PROPOSAL
Julie R NestleSpainAnna Fali QUALIFIED
Octavia G CaudyFranceStephen Shaw NEGOTIATION
Ricardo D DilliardRussiaBernardo Dominic RENEWAL
Kaitlin L CaudyFranceOnyama Limba NEW
Johnson X GauchoBrazilIoni Bowcher PROPOSAL
Chavez K RutaJapanAsiya Javayant UNQUALIFIED
Maria M MacleadFranceElwin Sharvill RENEWAL
Jones X AmigonCanadaStephen Shaw NEGOTIATION
Jefferson C MarrierCanadaIvan Magalhaes UNQUALIFIED
Rodrigues F BologniaRussiaIoni Bowcher NEW
Deepesh X ChuiCanadaIoni Bowcher NEGOTIATION
Salvatore I MaletAustraliaOnyama Limba NEW
Ivar A PerinGermanyElwin Sharvill QUALIFIED
Morrow E RulapaughRussiaAmy Elsner NEGOTIATION
Johnson X AmigonArgentinaAnna Fali UNQUALIFIED
Wickens J GillianIndiaXuxue Feng QUALIFIED
David J OldroydGermanyAnna Fali NEW
Tony F OldroydCanadaXuxue Feng NEGOTIATION
Claire D PaprockiUnited KingdomIvan Magalhaes NEW
Nicolas K WieserAustraliaStephen Shaw UNQUALIFIED
Misaki N ShinkoUnited KingdomStephen Shaw RENEWAL
Jeanfrancois R CaudyIndiaElwin Sharvill NEGOTIATION
Mujtaba D AlbaresCanadaStephen Shaw NEW
Cody I CaudySpainOnyama Limba NEW
Frozen Columns
Name
James P Amigon
Clifford Y Poquette
Stacey G Oldroyd
Darci G Doe
Sinclair G Nestle
Claire G Malet
Munro J Whobrey
Claire F Flosi
Maria K Gaucho
Smith H Malet
Aditya O Perin
Johnson V Malet
Clifford O Gillian
Maria O Flosi
Jones Q Glick
Misaki N Rim
Faith L Whobrey
Juan X Whobrey
Leon C Gillian
Julie Q Malet
Clifford Y Vocelka
Tony Z Garufi
James J Shinko
Jones O Kolmetz
Aruna O Bolognia
Nicolas M Bowley
Greenwood M Bolognia
Clifford O Tollner
Stacey Z Kusko
Costa J Bolognia
Izzy T Flosi
Faith C Ferencz
Munro S Venere
Ivar R Doe
Leon G Maclead
Maisha B Butt
Jeanfrancois D Gaucho
Leja N Figeroa
Darci D Stockham
Maria M Kolmetz
Smith O Shinko
Emily O Waycott
Francesco Z Iturbide
Ricardo I Bolognia
Darci M Slusarski
Darci C Foller
Tony F Stenseth
Murillo V Venere
Leja W Flosi
Isabel B Bolognia
IdCountryDate
1000India2024-06-03
1001Russia2024-05-22
1002Spain2024-06-09
1003Germany2024-05-17
1004Germany2024-06-09
1005Italy2024-06-09
1006Australia2024-05-18
1007Spain2024-05-30
1008Canada2024-06-11
1009France2024-05-22
1010United Kingdom2024-06-07
1011Italy2024-06-11
1012France2024-06-06
1013Argentina2024-05-15
1014Canada2024-05-23
1015Spain2024-05-28
1016United Kingdom2024-05-28
1017United Kingdom2024-05-16
1018Italy2024-05-27
1019Italy2024-06-05
1020Canada2024-05-19
1021Australia2024-05-17
1022Canada2024-06-13
1023Canada2024-06-01
1024Spain2024-05-31
1025Australia2024-05-27
1026Australia2024-06-11
1027Australia2024-05-23
1028Germany2024-05-26
1029Brazil2024-05-23
1030Canada2024-06-05
1031India2024-06-02
1032Argentina2024-05-21
1033India2024-06-09
1034Canada2024-06-01
1035France2024-05-15
1036Brazil2024-06-06
1037Germany2024-06-04
1038India2024-05-23
1039Spain2024-05-23
1040Spain2024-05-28
1041Italy2024-05-18
1042Germany2024-06-04
1043Japan2024-06-12
1044Germany2024-06-04
1045India2024-05-16
1046Argentina2024-05-19
1047France2024-06-07
1048Italy2024-06-12
1049France2024-06-02

On-Demand Data

NameIdCountryDate
Arvin C Perin1000Argentina2024-05-20
Maria E Butt1001France2024-06-09
Cody Y Briddick1002Canada2024-06-13
Claire I Albares1003Italy2024-06-03
Leja B Caldarera1004Germany2024-05-31
Smith M Maclead1005Argentina2024-06-08
Rodrigues A Albares1006Japan2024-06-06
Cody H Rulapaugh1007Italy2024-05-26
Aditya I Butt1008France2024-06-06
Juan Z Vocelka1009Japan2024-06-06
Maisha H Poquette1010Australia2024-05-25
Costa S Saylors1011India2024-06-09
Kaitlin B Poquette1012India2024-05-23
Juan Z Inouye1013Brazil2024-06-12
Greenwood P Malet1014Germany2024-06-04
Aruna H Saylors1015Canada2024-06-08
Octavia Q Oldroyd1016Russia2024-05-29
Wickens U Maclead1017Russia2024-05-27
Darci Q Rulapaugh1018Italy2024-05-26
Francesco T Malet1019Australia2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria N MarrierItalyAsiya Javayant QUALIFIED
Mayumi F OstroskySpainAmy Elsner NEW
Chavez O KolmetzBrazilAnna Fali NEW
Stacey C FlosiCanadaAnna Fali PROPOSAL
Cody R MacleadFranceOnyama Limba NEGOTIATION
James T CaldareraItalyIvan Magalhaes UNQUALIFIED
Antonio D SergiUnited KingdomOnyama Limba UNQUALIFIED
Izzy R IturbideUnited KingdomXuxue Feng PROPOSAL
Smith B MaletItalyAnna Fali NEW
Jeanfrancois J PerinGermanyXuxue Feng RENEWAL
Jeanfrancois A StensethGermanyBernardo Dominic RENEWAL
Maria Q ShinkoItalyIvan Magalhaes NEGOTIATION
Emily M VenereRussiaStephen Shaw UNQUALIFIED
Jones H VenereJapanIoni Bowcher UNQUALIFIED
Darci K DarakjyRussiaIvan Magalhaes RENEWAL
Costa Y GillianJapanAnna Fali RENEWAL
Antonio A OstroskyUnited KingdomIvan Magalhaes NEW
Jefferson B KuskoJapanElwin Sharvill QUALIFIED
Emily K CaldareraItalyAnna Fali QUALIFIED
Jefferson L SlusarskiIndiaAmy Elsner NEW
Aditya L MaletBrazilIvan Magalhaes QUALIFIED
Darci C BriddickFranceAnna Fali NEGOTIATION
Greenwood F ButtGermanyXuxue Feng NEGOTIATION
Misaki H FerenczIndiaOnyama Limba PROPOSAL
Jennifer J DilliardUnited KingdomXuxue Feng NEGOTIATION
Leja C GillianItalyAsiya Javayant NEGOTIATION
Nicolas G GlickAustraliaElwin Sharvill NEGOTIATION
Ivar W KuskoRussiaXuxue Feng QUALIFIED
Deepesh M VenereJapanAnna Fali RENEWAL
Costa I CaudyUnited KingdomIoni Bowcher UNQUALIFIED
Octavia G MacleadItalyIvan Magalhaes NEGOTIATION
Arvin Q SergiBrazilIvan Magalhaes UNQUALIFIED
Smith E MorascaIndiaAmy Elsner UNQUALIFIED
Munro M WhobreyIndiaAsiya Javayant RENEWAL
Isabel A NestleItalyIoni Bowcher PROPOSAL
Ashley D PaprockiAustraliaStephen Shaw NEGOTIATION
Murillo M OldroydSpainBernardo Dominic NEW
Murillo F DoeFranceAnna Fali PROPOSAL
Maisha X RimCanadaIoni Bowcher NEW
Darci X SchemmerUnited KingdomXuxue Feng 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>