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
Francesco O FigeroaAustraliaIoni Bowcher UNQUALIFIED
Mujtaba Q MarrierRussiaStephen Shaw PROPOSAL
Nicolas X OstroskyItalyAmy Elsner UNQUALIFIED
Ivar H SchemmerCanadaAnna Fali PROPOSAL
Francesco Q WieserArgentinaBernardo Dominic PROPOSAL
Maria E KolmetzIndiaXuxue Feng PROPOSAL
Juan U NestleBrazilAnna Fali PROPOSAL
James V PerinGermanyAsiya Javayant NEW
Tony C RulapaughGermanyXuxue Feng UNQUALIFIED
Maisha Q FerenczGermanyStephen Shaw NEGOTIATION
Maria N MacleadItalyIoni Bowcher PROPOSAL
Alejandro L AlbaresBrazilAnna Fali NEW
Jones Y OstroskyAustraliaStephen Shaw NEGOTIATION
Antonio W SchemmerArgentinaBernardo Dominic QUALIFIED
Chavez K KolmetzIndiaStephen Shaw NEGOTIATION
Smith M WhobreyCanadaBernardo Dominic NEW
Nicolas O RoysterSpainAmy Elsner QUALIFIED
Morrow C IturbideSpainOnyama Limba NEW
Deepesh N GarufiCanadaAsiya Javayant RENEWAL
Ricardo K RimAustraliaStephen Shaw PROPOSAL
Arvin K FigeroaGermanyAsiya Javayant QUALIFIED
Deepesh S MacleadBrazilAmy Elsner NEW
Stacey Z IturbideFranceAnna Fali PROPOSAL
Jefferson T FerenczUnited KingdomXuxue Feng NEGOTIATION
Deepesh A NickaGermanyElwin Sharvill NEGOTIATION
Mujtaba U AmigonCanadaXuxue Feng NEW
James W PaprockiFranceAsiya Javayant UNQUALIFIED
Tony F DarakjySpainXuxue Feng RENEWAL
Rodrigues T KuskoSpainStephen Shaw PROPOSAL
Jones J MaletSpainAmy Elsner QUALIFIED
Munro C RutaArgentinaXuxue Feng RENEWAL
Sinclair X GillianGermanyOnyama Limba PROPOSAL
Misaki R MaletItalyAmy Elsner PROPOSAL
Aditya Y RulapaughFranceElwin Sharvill NEW
Jeanfrancois X FlosiItalyStephen Shaw NEW
Aditya P CampainJapanAsiya Javayant QUALIFIED
Francesco M MaletBrazilAsiya Javayant UNQUALIFIED
Alejandro Q DarakjyJapanBernardo Dominic NEW
Darci U CaudyFranceXuxue Feng PROPOSAL
Claire V NickaCanadaIvan Magalhaes NEGOTIATION
Mujtaba X MorascaGermanyStephen Shaw RENEWAL
Greenwood G StockhamRussiaAnna Fali NEW
Francesco Y KuskoSpainElwin Sharvill UNQUALIFIED
Sinclair X GauchoIndiaAsiya Javayant QUALIFIED
Munro A VocelkaJapanIoni Bowcher UNQUALIFIED
Ivar E OstroskyBrazilXuxue Feng PROPOSAL
Ricardo W ButtIndiaXuxue Feng RENEWAL
Emily Z BologniaAustraliaIvan Magalhaes UNQUALIFIED
Tony E DoeSpainAnna Fali QUALIFIED
Aika R BriddickRussiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aika L PoquetteBrazilAnna Fali UNQUALIFIED
Mujtaba T KolmetzGermanyAmy Elsner NEW
Cody H StensethIndiaAmy Elsner UNQUALIFIED
Murillo O CaldareraAustraliaXuxue Feng NEGOTIATION
Morrow V PoquetteGermanyAmy Elsner UNQUALIFIED
Darci T WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Nicolas N OstroskyAustraliaXuxue Feng NEGOTIATION
Johnson G BowleyItalyAmy Elsner QUALIFIED
Adams G FigeroaSpainIvan Magalhaes UNQUALIFIED
Wickens P SaylorsBrazilIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley W BowleyFrance2024-06-09Dorl, James J Esq QUALIFIED84Ioni Bowcher
1001Ricardo T OldroydSpain2024-05-31Feiner Bros UNQUALIFIED52Ivan Magalhaes
1002Aditya H TollnerUnited Kingdom2024-06-18King, Christopher A Esq NEW65Elwin Sharvill
1003Isabel I PerinGermany2024-05-24Chemel, James L Cpa NEGOTIATION30Stephen Shaw
1004Emily N WhobreyCanada2024-06-03Chemel, James L Cpa NEW41Anna Fali
1005Tony L FerenczCanada2024-05-24Chemel, James L Cpa QUALIFIED58Elwin Sharvill
1006Maria I GillianItaly2024-06-05Printing Dimensions QUALIFIED44Asiya Javayant
1007Murillo R VenereItaly2024-06-18Printing Dimensions QUALIFIED43Ivan Magalhaes
1008Izzy K DilliardArgentina2024-06-21Feltz Printing Service UNQUALIFIED21Ivan Magalhaes
1009Leja A SchemmerItaly2024-06-20Buckley Miller Wright NEGOTIATION91Anna Fali
1010Ricardo I StensethIndia2024-06-08Dorl, James J Esq QUALIFIED78Onyama Limba
1011Antonio P MacleadBrazil2024-06-16Feltz Printing Service QUALIFIED28Amy Elsner
1012Johnson Q FerenczIndia2024-06-05Truhlar And Truhlar Attys RENEWAL48Onyama Limba
1013Morrow R FerenczSpain2024-06-14Chapman, Ross E Esq NEW48Xuxue Feng
1014Cody N PerinCanada2024-06-15Feltz Printing Service QUALIFIED12Onyama Limba
1015Salvatore D MarrierSpain2024-06-06Dorl, James J Esq PROPOSAL6Xuxue Feng
1016Faith C GlickAustralia2024-06-09Printing Dimensions QUALIFIED90Ivan Magalhaes
1017Smith N GillianItaly2024-05-27King, Christopher A Esq NEW76Amy Elsner
1018Maria A GauchoItaly2024-05-24Rousseaux, Michael Esq RENEWAL25Bernardo Dominic
1019Nicolas I MaletJapan2024-05-31Printing Dimensions NEGOTIATION85Onyama Limba
1020Emily F DilliardIndia2024-05-24Commercial Press NEGOTIATION79Stephen Shaw
1021Salvatore E SlusarskiCanada2024-05-28Buckley Miller Wright UNQUALIFIED77Elwin Sharvill
1022Jones A FerenczJapan2024-06-15Chapman, Ross E Esq NEGOTIATION22Stephen Shaw
1023Darci E SaylorsGermany2024-06-10Dorl, James J Esq PROPOSAL99Stephen Shaw
1024Sinclair A DoeCanada2024-06-10Printing Dimensions UNQUALIFIED35Ivan Magalhaes
1025Mayumi H RimUnited Kingdom2024-05-29Rousseaux, Michael Esq NEW90Ivan Magalhaes
1026Adams Z MarrierAustralia2024-06-15Feiner Bros QUALIFIED9Anna Fali
1027James H BowleyGermany2024-05-29Chemel, James L Cpa NEGOTIATION49Onyama Limba
1028Ivar W PaprockiGermany2024-06-22Rousseaux, Michael Esq NEGOTIATION49Anna Fali
1029Claire Q PaprockiRussia2024-06-09Chapman, Ross E Esq RENEWAL42Asiya Javayant
1030Chavez G FollerArgentina2024-05-28Commercial Press NEGOTIATION89Onyama Limba
1031Greenwood P GillianRussia2024-06-19Chemel, James L Cpa NEGOTIATION95Bernardo Dominic
1032Aditya T WaycottSpain2024-06-03King, Christopher A Esq UNQUALIFIED44Elwin Sharvill
1033Jefferson Q WhobreyItaly2024-06-18Truhlar And Truhlar Attys RENEWAL85Amy Elsner
1034Alejandro R MaletBrazil2024-06-15Truhlar And Truhlar Attys RENEWAL99Stephen Shaw
1035Aruna P MorascaBrazil2024-06-11Chanay, Jeffrey A Esq NEGOTIATION19Ivan Magalhaes
1036Salvatore F OldroydArgentina2024-06-19Commercial Press NEW5Asiya Javayant
1037Leon O FlosiGermany2024-05-30Buckley Miller Wright UNQUALIFIED82Bernardo Dominic
1038James C FollerAustralia2024-05-28Benton, John B Jr RENEWAL48Xuxue Feng
1039Deepesh P MorascaGermany2024-06-04Printing Dimensions QUALIFIED89Xuxue Feng
1040Deepesh U WhobreyArgentina2024-06-18Chapman, Ross E Esq QUALIFIED57Asiya Javayant
1041Jeanfrancois Z BowleyCanada2024-06-11Chanay, Jeffrey A Esq NEW47Xuxue Feng
1042Cody D BologniaAustralia2024-06-01Chapman, Ross E Esq RENEWAL86Amy Elsner
1043Murillo P MorascaCanada2024-06-17Truhlar And Truhlar Attys PROPOSAL51Ioni Bowcher
1044Salvatore G VocelkaFrance2024-05-30Feltz Printing Service RENEWAL99Onyama Limba
1045Ivar M WhobreyRussia2024-06-15Commercial Press PROPOSAL42Ioni Bowcher
1046Chavez Y FerenczBrazil2024-05-31Morlong Associates PROPOSAL65Stephen Shaw
1047Tony G VenereUnited Kingdom2024-05-31Commercial Press NEW35Asiya Javayant
1048Mujtaba T BowleyGermany2024-05-31Feiner Bros UNQUALIFIED28Stephen Shaw
1049Faith E MaletCanada2024-06-22Morlong Associates RENEWAL69Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Wickens V AmigonAustraliaElwin Sharvill NEW
Sinclair D BriddickFranceStephen Shaw RENEWAL
Munro T RimArgentinaAmy Elsner QUALIFIED
Aruna R FigeroaCanadaOnyama Limba UNQUALIFIED
Adams W MarrierArgentinaElwin Sharvill UNQUALIFIED
Mayumi T MorascaJapanElwin Sharvill NEGOTIATION
Claire P BowleyJapanXuxue Feng PROPOSAL
Kaitlin A StensethBrazilAsiya Javayant NEGOTIATION
Clifford I PerinFranceOnyama Limba RENEWAL
Aditya T GlickJapanXuxue Feng NEGOTIATION
Morrow K RimSpainBernardo Dominic RENEWAL
Rodrigues B ButtBrazilOnyama Limba RENEWAL
Clifford U CaudyJapanAmy Elsner QUALIFIED
Tony L StockhamArgentinaElwin Sharvill QUALIFIED
Kaitlin I CampainRussiaAmy Elsner PROPOSAL
Cody T RulapaughGermanyXuxue Feng NEGOTIATION
Johnson E ChuiGermanyAmy Elsner NEGOTIATION
Greenwood H BriddickFranceOnyama Limba QUALIFIED
Tony G FollerRussiaIvan Magalhaes NEGOTIATION
James C SergiUnited KingdomIvan Magalhaes QUALIFIED
Jefferson X CaldareraJapanAnna Fali NEW
Morrow I NickaIndiaIoni Bowcher PROPOSAL
Mujtaba V ChuiIndiaOnyama Limba RENEWAL
David N WieserIndiaAmy Elsner UNQUALIFIED
Darci V BologniaSpainAmy Elsner PROPOSAL
Mayumi S StensethGermanyStephen Shaw NEGOTIATION
Claire Z PerinSpainStephen Shaw NEGOTIATION
Misaki G WaycottJapanStephen Shaw RENEWAL
Mujtaba N IturbideJapanAnna Fali NEGOTIATION
Antonio E VocelkaBrazilBernardo Dominic RENEWAL
Wickens D WieserSpainOnyama Limba PROPOSAL
Aruna H ButtFranceAmy Elsner PROPOSAL
Ashley A OldroydCanadaXuxue Feng UNQUALIFIED
Juan F KuskoIndiaXuxue Feng PROPOSAL
Silvio O DarakjyUnited KingdomIoni Bowcher RENEWAL
Nicolas V GillianFranceAsiya Javayant PROPOSAL
Aditya T GlickItalyAmy Elsner QUALIFIED
Mujtaba D BriddickBrazilAsiya Javayant UNQUALIFIED
Chavez P GillianCanadaElwin Sharvill NEGOTIATION
Adams G PerinFranceStephen Shaw QUALIFIED
Izzy S BriddickJapanOnyama Limba PROPOSAL
Deepesh G RoysterRussiaBernardo Dominic UNQUALIFIED
Arvin C PerinAustraliaIoni Bowcher QUALIFIED
Chavez L GarufiAustraliaAnna Fali QUALIFIED
Kaitlin V RutaAustraliaAsiya Javayant QUALIFIED
Maria H MacleadCanadaStephen Shaw PROPOSAL
Faith T FollerGermanyOnyama Limba NEGOTIATION
Ricardo W MaletJapanAnna Fali NEW
Aruna T WieserCanadaAsiya Javayant NEGOTIATION
Leja J BowleyJapanOnyama Limba PROPOSAL
Frozen Columns
Name
Costa S Malet
Leon G Saylors
Emily C Bolognia
Tony K Iturbide
Francesco F Bowley
Nicolas C Stenseth
Rodrigues A Gaucho
Adams U Doe
Rodrigues C Doe
Aruna Q Perin
Antonio C Slusarski
Adams V Dilliard
Morrow Z Royster
Maisha G Tollner
Mayumi O Glick
Deepesh F Vocelka
Faith Y Saylors
Sinclair J Stockham
Julie F Poquette
Misaki U Waycott
Aruna I Malet
Claire D Rim
Arvin E Dilliard
Kadeem P Ferencz
Antonio J Chui
Nicolas Y Doe
Julie I Flosi
Adams Y Perin
David D Caudy
Jennifer N Nestle
Adams X Morasca
Octavia W Flosi
Maisha J Gaucho
Ricardo E Gillian
Smith L Tollner
Mujtaba F Ferencz
Misaki H Kolmetz
Deepesh J Caudy
Faith B Garufi
Salvatore Q Gillian
Emily Y Briddick
Costa X Nestle
Misaki Q Oldroyd
Nicolas X Morasca
Claire R Malet
Smith D Dilliard
Claire N Schemmer
Aika B Rulapaugh
Maisha O Bowley
Julie J Chui
IdCountryDate
1000Brazil2024-06-18
1001Australia2024-06-06
1002United Kingdom2024-06-14
1003Canada2024-06-02
1004United Kingdom2024-06-14
1005Brazil2024-06-04
1006France2024-06-17
1007Russia2024-06-20
1008Brazil2024-06-17
1009India2024-06-20
1010Brazil2024-06-10
1011Spain2024-06-09
1012Russia2024-06-04
1013Brazil2024-06-19
1014India2024-06-10
1015United Kingdom2024-06-07
1016Canada2024-06-21
1017Russia2024-05-27
1018Germany2024-06-07
1019Canada2024-06-19
1020India2024-06-04
1021Spain2024-06-21
1022United Kingdom2024-06-02
1023Italy2024-06-13
1024Russia2024-06-11
1025Brazil2024-05-24
1026Russia2024-06-21
1027Italy2024-06-21
1028Spain2024-06-21
1029United Kingdom2024-06-16
1030Argentina2024-05-31
1031Germany2024-06-14
1032Japan2024-05-28
1033Argentina2024-06-10
1034Brazil2024-06-13
1035Japan2024-06-19
1036Japan2024-06-06
1037Italy2024-06-18
1038Italy2024-06-10
1039Germany2024-05-30
1040Brazil2024-06-17
1041Germany2024-06-10
1042Russia2024-05-28
1043India2024-05-25
1044Canada2024-05-27
1045United Kingdom2024-06-04
1046Japan2024-06-09
1047Germany2024-05-30
1048Canada2024-06-21
1049Italy2024-06-16

On-Demand Data

NameIdCountryDate
Misaki P Chui1000United Kingdom2024-05-26
Murillo J Stenseth1001Spain2024-05-28
Aruna T Figeroa1002Germany2024-06-12
Jeanfrancois F Briddick1003Spain2024-06-11
Murillo L Albares1004United Kingdom2024-05-28
Aditya Z Malet1005India2024-06-08
Tony W Caudy1006United Kingdom2024-06-01
Claire O Ostrosky1007Italy2024-05-25
Morrow C Malet1008Spain2024-06-19
Izzy U Vocelka1009Spain2024-06-05
Nicolas Q Chui1010France2024-06-06
Greenwood J Stockham1011Spain2024-06-04
Mujtaba N Tollner1012Canada2024-06-15
Juan U Paprocki1013United Kingdom2024-06-14
Isabel J Royster1014Russia2024-06-03
Jeanfrancois C Caudy1015Russia2024-05-25
Murillo P Amigon1016Brazil2024-06-22
Ricardo L Saylors1017Russia2024-06-09
Aditya X Vocelka1018Russia2024-05-24
Alejandro V Slusarski1019India2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba H VocelkaJapanXuxue Feng QUALIFIED
Smith L SlusarskiJapanIoni Bowcher RENEWAL
Jennifer G SchemmerIndiaStephen Shaw NEGOTIATION
Julie E PoquetteItalyElwin Sharvill NEW
Emily W DarakjyBrazilElwin Sharvill NEGOTIATION
Stacey H FerenczJapanAmy Elsner RENEWAL
Jones S RutaJapanElwin Sharvill UNQUALIFIED
Tony S RutaIndiaAsiya Javayant RENEWAL
Chavez T BologniaJapanIvan Magalhaes QUALIFIED
Jeanfrancois A FlosiAustraliaIoni Bowcher NEW
Jennifer T DarakjyFranceXuxue Feng PROPOSAL
Adams U FerenczGermanyXuxue Feng NEW
Claire Y NestleAustraliaStephen Shaw UNQUALIFIED
Aika W CaldareraRussiaStephen Shaw NEW
Misaki Q NestleSpainBernardo Dominic UNQUALIFIED
Salvatore E GillianSpainBernardo Dominic RENEWAL
Mujtaba O KuskoCanadaIoni Bowcher RENEWAL
Salvatore C DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Julie B RutaCanadaXuxue Feng NEW
Ricardo W SchemmerIndiaXuxue Feng NEW
Octavia K KuskoCanadaBernardo Dominic NEGOTIATION
Antonio M SaylorsItalyElwin Sharvill NEGOTIATION
Stacey G SchemmerIndiaAnna Fali UNQUALIFIED
Juan V ButtBrazilXuxue Feng NEW
Nicolas Y PoquetteJapanOnyama Limba QUALIFIED
Costa T KolmetzItalyIvan Magalhaes NEW
Mujtaba O MacleadCanadaOnyama Limba UNQUALIFIED
Tony D NickaCanadaIvan Magalhaes PROPOSAL
Deepesh S MaletRussiaXuxue Feng NEGOTIATION
Claire R CampainIndiaOnyama Limba PROPOSAL
David T SlusarskiUnited KingdomOnyama Limba QUALIFIED
Mujtaba U OldroydArgentinaIvan Magalhaes NEW
Maisha G MacleadAustraliaAmy Elsner QUALIFIED
Rodrigues M RimJapanOnyama Limba NEW
Jefferson K DarakjyRussiaAmy Elsner NEGOTIATION
Sinclair W PerinGermanyXuxue Feng NEGOTIATION
Deepesh P RutaArgentinaXuxue Feng PROPOSAL
Morrow Y GillianFranceIoni Bowcher RENEWAL
Ashley O OstroskyRussiaOnyama Limba NEW
Tony V AlbaresCanadaElwin Sharvill NEGOTIATION

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