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
Adams O ButtUnited KingdomXuxue Feng RENEWAL
Faith L BowleyGermanyXuxue Feng QUALIFIED
Darci R AlbaresUnited KingdomAmy Elsner PROPOSAL
Sinclair S RimIndiaIoni Bowcher RENEWAL
Maria T SchemmerCanadaElwin Sharvill QUALIFIED
Aika E MorascaItalyIvan Magalhaes NEGOTIATION
Julie B NestleItalyAsiya Javayant NEW
Ashley W FerenczRussiaStephen Shaw QUALIFIED
James O NestleRussiaStephen Shaw NEW
Rodrigues D RoysterCanadaOnyama Limba PROPOSAL
Smith S BologniaUnited KingdomOnyama Limba PROPOSAL
Rodrigues Z PoquetteArgentinaStephen Shaw NEGOTIATION
Aditya J AlbaresRussiaIvan Magalhaes UNQUALIFIED
Izzy X StockhamUnited KingdomXuxue Feng QUALIFIED
Mayumi J PaprockiUnited KingdomAnna Fali NEW
Rodrigues T IturbideIndiaBernardo Dominic RENEWAL
Chavez E OldroydSpainOnyama Limba PROPOSAL
Leon R StensethCanadaAnna Fali QUALIFIED
Rodrigues B GauchoJapanIvan Magalhaes RENEWAL
Julie J RimGermanyAnna Fali QUALIFIED
Juan W PerinSpainElwin Sharvill QUALIFIED
Kaitlin W StockhamFranceBernardo Dominic PROPOSAL
Misaki N CampainSpainIoni Bowcher PROPOSAL
Jeanfrancois K MaletUnited KingdomIoni Bowcher PROPOSAL
Misaki Q KolmetzGermanyBernardo Dominic QUALIFIED
Leja Y OldroydJapanAmy Elsner NEGOTIATION
Chavez U WieserCanadaAnna Fali RENEWAL
Jeanfrancois X PaprockiItalyXuxue Feng RENEWAL
Munro R FerenczArgentinaIoni Bowcher PROPOSAL
David T PoquetteItalyAnna Fali QUALIFIED
Alejandro W MaletSpainAnna Fali UNQUALIFIED
David D OldroydAustraliaStephen Shaw NEW
Morrow S FollerCanadaStephen Shaw NEW
Aruna V MaletAustraliaOnyama Limba QUALIFIED
Darci L TollnerIndiaStephen Shaw RENEWAL
Mujtaba Y StensethCanadaAmy Elsner UNQUALIFIED
Maisha D AmigonArgentinaIoni Bowcher RENEWAL
Costa U VenereAustraliaAnna Fali QUALIFIED
Greenwood B GillianGermanyBernardo Dominic QUALIFIED
Jennifer Z AmigonArgentinaOnyama Limba RENEWAL
Aditya O OstroskyCanadaXuxue Feng UNQUALIFIED
Jones K SaylorsSpainOnyama Limba NEGOTIATION
Leon W NestleFranceAnna Fali QUALIFIED
Wickens Z MaletUnited KingdomElwin Sharvill PROPOSAL
Mayumi Z SchemmerSpainAnna Fali NEW
Greenwood B PerinBrazilXuxue Feng PROPOSAL
Nicolas I BriddickIndiaElwin Sharvill QUALIFIED
Clifford B GauchoCanadaIoni Bowcher NEW
Munro N VenereFranceOnyama Limba UNQUALIFIED
Clifford H BowleyAustraliaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon P SlusarskiRussiaXuxue Feng RENEWAL
Ivar B CaldareraCanadaXuxue Feng NEGOTIATION
Cody G ButtCanadaXuxue Feng NEW
Faith A AlbaresUnited KingdomIoni Bowcher RENEWAL
Jefferson I SaylorsIndiaStephen Shaw NEW
Ivar B MacleadGermanyElwin Sharvill NEW
Misaki B OldroydSpainElwin Sharvill UNQUALIFIED
David F PerinSpainXuxue Feng QUALIFIED
Stacey W FigeroaIndiaAsiya Javayant PROPOSAL
Leja R SergiArgentinaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro W WhobreySpain2024-05-25Truhlar And Truhlar Attys NEW85Ivan Magalhaes
1001Rodrigues P FlosiJapan2024-06-01Benton, John B Jr UNQUALIFIED84Ioni Bowcher
1002Wickens P DarakjySpain2024-06-17Feltz Printing Service NEW39Ioni Bowcher
1003Aditya H MorascaFrance2024-06-06Benton, John B Jr NEGOTIATION62Ivan Magalhaes
1004Leja Y AmigonArgentina2024-05-21Rousseaux, Michael Esq RENEWAL78Ioni Bowcher
1005Mayumi Z VenereGermany2024-06-15Rangoni Of Florence NEW87Amy Elsner
1006Jennifer T GauchoSpain2024-06-14Truhlar And Truhlar Attys PROPOSAL29Ivan Magalhaes
1007Ivar V PaprockiGermany2024-06-03Benton, John B Jr RENEWAL46Amy Elsner
1008Kaitlin Z SchemmerFrance2024-06-16Rangoni Of Florence PROPOSAL82Xuxue Feng
1009Ashley D VenereCanada2024-05-27Chanay, Jeffrey A Esq NEGOTIATION95Stephen Shaw
1010James N GlickAustralia2024-06-10Feltz Printing Service QUALIFIED72Ivan Magalhaes
1011Faith Q ChuiUnited Kingdom2024-05-23Truhlar And Truhlar Attys UNQUALIFIED22Asiya Javayant
1012Jones L FigeroaItaly2024-05-28Commercial Press NEGOTIATION60Bernardo Dominic
1013Ricardo R ShinkoAustralia2024-06-01Chemel, James L Cpa QUALIFIED61Amy Elsner
1014Clifford M GauchoJapan2024-05-21Feltz Printing Service QUALIFIED31Elwin Sharvill
1015Cody H OstroskyAustralia2024-05-21Feltz Printing Service NEGOTIATION71Ioni Bowcher
1016Clifford S GlickItaly2024-05-28Rangoni Of Florence RENEWAL72Onyama Limba
1017Silvio J WaycottUnited Kingdom2024-05-31Printing Dimensions RENEWAL59Ioni Bowcher
1018Kadeem Y KuskoUnited Kingdom2024-05-28King, Christopher A Esq UNQUALIFIED91Xuxue Feng
1019Silvio G SlusarskiAustralia2024-05-26Truhlar And Truhlar Attys UNQUALIFIED46Stephen Shaw
1020Leja X KolmetzJapan2024-06-01Feltz Printing Service QUALIFIED35Xuxue Feng
1021Faith P MaletItaly2024-05-30Chanay, Jeffrey A Esq NEGOTIATION78Onyama Limba
1022Tony E OstroskyArgentina2024-06-16Chapman, Ross E Esq QUALIFIED71Anna Fali
1023Greenwood M RoysterItaly2024-06-12Commercial Press UNQUALIFIED69Bernardo Dominic
1024Deepesh A RutaFrance2024-06-08Rousseaux, Michael Esq NEGOTIATION10Xuxue Feng
1025Jefferson Z KuskoIndia2024-06-03Rangoni Of Florence UNQUALIFIED4Anna Fali
1026Smith C MaletRussia2024-06-12Feltz Printing Service NEGOTIATION22Anna Fali
1027Costa M MorascaIndia2024-05-21Buckley Miller Wright UNQUALIFIED64Ivan Magalhaes
1028Julie X FerenczFrance2024-05-21Dorl, James J Esq PROPOSAL55Ivan Magalhaes
1029Rodrigues W FigeroaArgentina2024-05-22Rousseaux, Michael Esq QUALIFIED7Xuxue Feng
1030Chavez K PerinUnited Kingdom2024-06-08Benton, John B Jr NEGOTIATION2Amy Elsner
1031Aditya C SchemmerFrance2024-05-30Chapman, Ross E Esq NEGOTIATION34Onyama Limba
1032Jones H CaudyAustralia2024-05-28Benton, John B Jr NEGOTIATION67Elwin Sharvill
1033Ivar Z NickaBrazil2024-06-06Buckley Miller Wright QUALIFIED88Amy Elsner
1034Leon X ChuiRussia2024-06-07Printing Dimensions RENEWAL5Bernardo Dominic
1035Deepesh Q StockhamGermany2024-05-31Chanay, Jeffrey A Esq PROPOSAL87Asiya Javayant
1036Emily W BowleyIndia2024-06-03Morlong Associates RENEWAL44Amy Elsner
1037Cody P IturbideJapan2024-05-19Rousseaux, Michael Esq NEW18Anna Fali
1038Isabel A BriddickSpain2024-06-16Rangoni Of Florence PROPOSAL4Bernardo Dominic
1039Claire B OstroskyIndia2024-06-12King, Christopher A Esq PROPOSAL7Elwin Sharvill
1040Smith N CaldareraGermany2024-05-29Chapman, Ross E Esq UNQUALIFIED60Ioni Bowcher
1041Deepesh K AmigonArgentina2024-05-28Chemel, James L Cpa UNQUALIFIED75Bernardo Dominic
1042Adams G MorascaGermany2024-06-03Chanay, Jeffrey A Esq NEW55Xuxue Feng
1043Greenwood K SaylorsSpain2024-06-03Rangoni Of Florence PROPOSAL55Asiya Javayant
1044Claire G AlbaresSpain2024-06-15Benton, John B Jr PROPOSAL64Onyama Limba
1045Claire E OstroskyJapan2024-05-31Feltz Printing Service NEW47Bernardo Dominic
1046Deepesh Y RimBrazil2024-06-08Printing Dimensions PROPOSAL39Elwin Sharvill
1047Murillo O SaylorsCanada2024-05-31Chemel, James L Cpa PROPOSAL84Bernardo Dominic
1048Leon Q KolmetzItaly2024-06-04Chapman, Ross E Esq NEW5Elwin Sharvill
1049Aika A DilliardAustralia2024-05-30Rangoni Of Florence PROPOSAL96Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Izzy A RimItalyElwin Sharvill QUALIFIED
Clifford K GarufiGermanyElwin Sharvill NEW
Morrow H AmigonFranceOnyama Limba UNQUALIFIED
Ricardo F ButtBrazilOnyama Limba UNQUALIFIED
Jennifer Z MaletUnited KingdomStephen Shaw NEW
Mayumi Y MaletArgentinaOnyama Limba UNQUALIFIED
Octavia A FerenczSpainStephen Shaw RENEWAL
Antonio L BriddickRussiaAnna Fali NEW
Francesco Y ChuiAustraliaStephen Shaw RENEWAL
Jefferson V GarufiJapanElwin Sharvill RENEWAL
Murillo D PoquetteRussiaIvan Magalhaes UNQUALIFIED
Darci Y MacleadRussiaXuxue Feng NEGOTIATION
Salvatore W ShinkoAustraliaBernardo Dominic NEGOTIATION
Adams Y RulapaughGermanyStephen Shaw PROPOSAL
Jennifer Q DoeSpainOnyama Limba NEGOTIATION
Morrow X RulapaughUnited KingdomIoni Bowcher PROPOSAL
Izzy G OstroskyBrazilIvan Magalhaes PROPOSAL
Maisha X ShinkoGermanyElwin Sharvill NEGOTIATION
Munro E FollerFranceElwin Sharvill NEW
Smith W BowleyCanadaAnna Fali NEGOTIATION
Jeanfrancois N SaylorsRussiaElwin Sharvill PROPOSAL
Tony L FlosiCanadaElwin Sharvill RENEWAL
Greenwood H MarrierFranceIoni Bowcher PROPOSAL
Ivar B WieserSpainIvan Magalhaes NEW
Julie H KolmetzSpainAmy Elsner NEGOTIATION
Leon K MorascaBrazilAmy Elsner NEW
Deepesh G FerenczUnited KingdomIoni Bowcher PROPOSAL
Rodrigues W RutaGermanyAmy Elsner QUALIFIED
Izzy J MaletUnited KingdomBernardo Dominic UNQUALIFIED
Leja N BologniaFranceXuxue Feng NEW
Ashley D DarakjyGermanyAnna Fali NEW
Silvio F RulapaughUnited KingdomXuxue Feng NEW
Antonio B AmigonCanadaAmy Elsner QUALIFIED
Wickens W RoysterGermanyIvan Magalhaes UNQUALIFIED
Munro T SergiAustraliaXuxue Feng RENEWAL
Cody A TollnerUnited KingdomAnna Fali QUALIFIED
Smith S OldroydRussiaStephen Shaw PROPOSAL
Ashley K AlbaresAustraliaAsiya Javayant UNQUALIFIED
David S InouyeIndiaAnna Fali UNQUALIFIED
Jennifer J PoquetteAustraliaElwin Sharvill QUALIFIED
Clifford X OstroskyJapanAmy Elsner UNQUALIFIED
Octavia A VocelkaRussiaIoni Bowcher UNQUALIFIED
Misaki C MorascaFranceIoni Bowcher PROPOSAL
Jones C FigeroaFranceXuxue Feng QUALIFIED
Emily I AlbaresRussiaElwin Sharvill QUALIFIED
Leja U StensethItalyElwin Sharvill UNQUALIFIED
Silvio N PerinSpainXuxue Feng PROPOSAL
Greenwood O RimAustraliaAnna Fali RENEWAL
Adams Z SlusarskiArgentinaElwin Sharvill NEGOTIATION
Munro W SchemmerFranceIvan Magalhaes QUALIFIED
Frozen Columns
Name
Morrow Y Marrier
Rodrigues X Butt
Morrow R Tollner
Juan M Campain
Juan K Marrier
Morrow A Whobrey
Chavez V Kusko
Aruna J Wieser
James S Caldarera
Leon Q Foller
Cody M Morasca
Octavia R Oldroyd
Clifford S Malet
Aruna X Amigon
Maisha O Bolognia
Rodrigues I Doe
Ashley L Slusarski
Claire K Kusko
Aditya P Oldroyd
Jennifer U Bowley
Murillo P Dilliard
Darci R Nestle
Izzy F Tollner
Tony L Doe
Kaitlin N Nicka
Sinclair N Malet
Jennifer J Marrier
Misaki K Darakjy
Aika X Venere
Emily J Ostrosky
Chavez D Saylors
Kadeem J Wieser
Maria M Gillian
Faith Z Rim
Nicolas W Ostrosky
Tony Y Stockham
Murillo P Glick
Munro O Gaucho
Antonio Q Kusko
Sinclair I Caudy
Sinclair E Iturbide
James U Shinko
Maria H Wieser
Darci W Stockham
Kadeem A Malet
Emily Z Royster
Ashley A Wieser
Cody I Gaucho
Aika G Shinko
Faith Q Royster
IdCountryDate
1000France2024-05-22
1001Russia2024-05-26
1002Spain2024-05-26
1003Italy2024-06-17
1004Russia2024-06-16
1005Russia2024-06-07
1006Canada2024-05-27
1007Italy2024-06-10
1008India2024-06-14
1009Argentina2024-05-19
1010Germany2024-05-23
1011Italy2024-06-12
1012Spain2024-05-22
1013Japan2024-06-12
1014India2024-06-15
1015Australia2024-05-26
1016Australia2024-06-12
1017India2024-06-11
1018France2024-05-29
1019Japan2024-06-05
1020Russia2024-06-08
1021Australia2024-05-23
1022Canada2024-06-02
1023Argentina2024-05-25
1024Australia2024-05-29
1025Germany2024-05-24
1026Brazil2024-06-03
1027France2024-05-29
1028France2024-06-16
1029Argentina2024-06-09
1030France2024-05-24
1031Argentina2024-06-13
1032India2024-05-28
1033Spain2024-05-22
1034India2024-05-24
1035United Kingdom2024-06-04
1036Russia2024-06-08
1037Argentina2024-06-10
1038Italy2024-06-07
1039Russia2024-05-29
1040Germany2024-06-14
1041Italy2024-05-20
1042Argentina2024-05-25
1043United Kingdom2024-06-05
1044United Kingdom2024-06-09
1045Germany2024-06-16
1046France2024-06-17
1047United Kingdom2024-06-04
1048Germany2024-06-08
1049Spain2024-06-17

On-Demand Data

NameIdCountryDate
Maisha L Royster1000Russia2024-05-30
Tony N Morasca1001Italy2024-06-09
Emily T Nicka1002United Kingdom2024-06-02
Francesco H Nestle1003Italy2024-05-28
Greenwood Q Perin1004Germany2024-06-12
Mayumi K Stenseth1005Canada2024-06-03
Octavia O Malet1006Japan2024-06-17
Deepesh Z Inouye1007India2024-05-28
Maisha P Caldarera1008Canada2024-06-13
Ashley D Dilliard1009Germany2024-05-30
Jones T Briddick1010Brazil2024-06-06
Morrow W Whobrey1011Canada2024-05-22
Tony K Ferencz1012Japan2024-05-21
Francesco S Kusko1013Germany2024-05-29
Darci V Vocelka1014Japan2024-05-30
Murillo Z Perin1015Spain2024-06-01
Claire W Darakjy1016India2024-05-28
Mujtaba F Slusarski1017Japan2024-05-30
Leon O Schemmer1018Japan2024-05-23
Emily K Perin1019Canada2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh W PoquetteGermanyAmy Elsner NEGOTIATION
Jeanfrancois N DoeItalyXuxue Feng RENEWAL
Jennifer H PaprockiGermanyElwin Sharvill RENEWAL
Johnson R NestleJapanElwin Sharvill RENEWAL
Ashley T MacleadJapanXuxue Feng NEGOTIATION
Darci F DilliardJapanAmy Elsner UNQUALIFIED
James X NickaJapanIvan Magalhaes NEW
Isabel Q GauchoItalyOnyama Limba QUALIFIED
David P MacleadCanadaIvan Magalhaes NEGOTIATION
Izzy H AlbaresUnited KingdomElwin Sharvill PROPOSAL
Clifford E GillianGermanyBernardo Dominic UNQUALIFIED
Smith A GauchoItalyAmy Elsner RENEWAL
Rodrigues Y PoquetteFranceAmy Elsner PROPOSAL
Izzy Z RulapaughCanadaXuxue Feng PROPOSAL
Salvatore W RulapaughIndiaStephen Shaw NEGOTIATION
Mayumi N OstroskyFranceXuxue Feng QUALIFIED
Ivar C VenereBrazilAsiya Javayant QUALIFIED
Emily Y MacleadJapanOnyama Limba UNQUALIFIED
Faith R StensethIndiaIoni Bowcher RENEWAL
Arvin G SlusarskiBrazilIvan Magalhaes UNQUALIFIED
Aditya R StensethRussiaAmy Elsner RENEWAL
Maria R FollerJapanXuxue Feng UNQUALIFIED
Rodrigues H StensethAustraliaStephen Shaw PROPOSAL
Juan W InouyeGermanyIvan Magalhaes RENEWAL
Tony H GlickArgentinaAsiya Javayant NEW
Maisha J NestleRussiaXuxue Feng PROPOSAL
Mujtaba I GillianGermanyXuxue Feng PROPOSAL
Silvio G SlusarskiRussiaIoni Bowcher UNQUALIFIED
Alejandro S CampainAustraliaBernardo Dominic QUALIFIED
Salvatore Q RutaBrazilAnna Fali PROPOSAL
Darci B RimArgentinaIoni Bowcher QUALIFIED
David P CampainCanadaIoni Bowcher NEGOTIATION
Octavia G AlbaresCanadaIoni Bowcher PROPOSAL
Octavia V GauchoSpainIvan Magalhaes PROPOSAL
Rodrigues K OldroydItalyIvan Magalhaes UNQUALIFIED
Francesco H StensethUnited KingdomIoni Bowcher RENEWAL
Maria G WieserAustraliaAsiya Javayant QUALIFIED
Murillo R FlosiGermanyIoni Bowcher UNQUALIFIED
Greenwood V IturbideFranceElwin Sharvill RENEWAL
Stacey W FigeroaCanadaBernardo Dominic RENEWAL

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