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
Maria D MacleadFranceAmy Elsner QUALIFIED
Maria F FlosiItalyIvan Magalhaes PROPOSAL
Faith Z DarakjyUnited KingdomXuxue Feng NEGOTIATION
Sinclair L WaycottIndiaStephen Shaw RENEWAL
Aditya G VenereAustraliaAmy Elsner UNQUALIFIED
Aruna P VocelkaRussiaStephen Shaw QUALIFIED
Octavia F OldroydArgentinaIoni Bowcher NEGOTIATION
Mayumi X GlickCanadaIoni Bowcher NEW
Tony F MaletSpainAmy Elsner QUALIFIED
Clifford O BriddickCanadaAsiya Javayant QUALIFIED
Greenwood K RimJapanElwin Sharvill NEW
Leja M MacleadJapanBernardo Dominic UNQUALIFIED
Jeanfrancois Y StensethSpainIvan Magalhaes RENEWAL
Costa O IturbideRussiaElwin Sharvill QUALIFIED
Nicolas H PerinFranceAmy Elsner UNQUALIFIED
Maria C MarrierJapanStephen Shaw UNQUALIFIED
Murillo X SaylorsRussiaIvan Magalhaes RENEWAL
Greenwood P OstroskyRussiaIvan Magalhaes RENEWAL
Maisha N MarrierArgentinaXuxue Feng PROPOSAL
Wickens H ButtArgentinaAsiya Javayant UNQUALIFIED
Alejandro Q RutaRussiaBernardo Dominic PROPOSAL
Ashley R SlusarskiAustraliaStephen Shaw NEW
Kadeem D MorascaCanadaIoni Bowcher PROPOSAL
Ivar Y CampainGermanyAsiya Javayant QUALIFIED
Emily Q ChuiFranceElwin Sharvill RENEWAL
Jones A NestleArgentinaBernardo Dominic UNQUALIFIED
Juan R NestleFranceElwin Sharvill UNQUALIFIED
Aditya O PaprockiIndiaAsiya Javayant NEW
Octavia I PerinAustraliaStephen Shaw NEW
Clifford V RoysterAustraliaIvan Magalhaes UNQUALIFIED
Murillo O RutaSpainAmy Elsner NEW
Munro D DarakjyItalyAmy Elsner QUALIFIED
Sinclair M StensethItalyIvan Magalhaes RENEWAL
Clifford R StensethCanadaIvan Magalhaes QUALIFIED
Wickens Y NickaBrazilBernardo Dominic UNQUALIFIED
Tony G RimArgentinaElwin Sharvill PROPOSAL
Costa X AmigonArgentinaStephen Shaw UNQUALIFIED
Maria N GlickCanadaOnyama Limba PROPOSAL
Cody F RimArgentinaIoni Bowcher RENEWAL
Murillo Q ButtGermanyAnna Fali RENEWAL
Darci L WieserRussiaXuxue Feng PROPOSAL
Ricardo R RulapaughRussiaElwin Sharvill UNQUALIFIED
Kadeem Y WieserCanadaAsiya Javayant UNQUALIFIED
Misaki X MaletAustraliaOnyama Limba QUALIFIED
Emily K NickaJapanAnna Fali UNQUALIFIED
Greenwood Z ChuiArgentinaIvan Magalhaes UNQUALIFIED
Jefferson X RutaItalyElwin Sharvill NEW
Izzy P FlosiUnited KingdomAnna Fali UNQUALIFIED
David R PoquetteBrazilOnyama Limba UNQUALIFIED
Jefferson B NestleAustraliaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens Q FollerArgentinaIoni Bowcher QUALIFIED
Leon G PoquetteSpainStephen Shaw PROPOSAL
Adams D RimItalyXuxue Feng QUALIFIED
Kadeem D KolmetzAustraliaOnyama Limba QUALIFIED
Alejandro J KuskoCanadaStephen Shaw UNQUALIFIED
Deepesh S GauchoFranceOnyama Limba RENEWAL
Darci N TollnerJapanIvan Magalhaes PROPOSAL
James P RoysterFranceIoni Bowcher UNQUALIFIED
Nicolas P SaylorsRussiaElwin Sharvill RENEWAL
Rodrigues T KuskoIndiaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley S MaletSpain2024-05-21Truhlar And Truhlar Attys PROPOSAL24Amy Elsner
1001Emily V DarakjyJapan2024-05-30Chanay, Jeffrey A Esq RENEWAL0Asiya Javayant
1002Aruna S RulapaughBrazil2024-06-11Buckley Miller Wright UNQUALIFIED70Ioni Bowcher
1003Arvin M PaprockiGermany2024-05-17Morlong Associates NEW65Asiya Javayant
1004Smith F DarakjyUnited Kingdom2024-06-12Chapman, Ross E Esq RENEWAL79Elwin Sharvill
1005Aika V AmigonUnited Kingdom2024-05-20Rousseaux, Michael Esq QUALIFIED92Bernardo Dominic
1006Murillo X WieserRussia2024-06-05King, Christopher A Esq RENEWAL8Bernardo Dominic
1007Juan N FerenczCanada2024-05-29Chemel, James L Cpa NEW10Stephen Shaw
1008Costa V StensethFrance2024-05-22Chanay, Jeffrey A Esq PROPOSAL8Xuxue Feng
1009Izzy U GauchoAustralia2024-05-17Feiner Bros NEGOTIATION44Ivan Magalhaes
1010Smith H NestleGermany2024-05-29Morlong Associates QUALIFIED40Xuxue Feng
1011Octavia H BriddickItaly2024-05-31Feltz Printing Service PROPOSAL87Onyama Limba
1012Tony M GarufiCanada2024-06-08Benton, John B Jr PROPOSAL35Elwin Sharvill
1013Isabel X SlusarskiUnited Kingdom2024-05-27Truhlar And Truhlar Attys NEW80Onyama Limba
1014Aruna H CaldareraFrance2024-05-25Printing Dimensions RENEWAL92Bernardo Dominic
1015Ricardo A RutaArgentina2024-06-13Commercial Press QUALIFIED88Elwin Sharvill
1016Costa Z RimUnited Kingdom2024-05-20Feiner Bros UNQUALIFIED41Amy Elsner
1017Aika U ChuiItaly2024-06-07Morlong Associates UNQUALIFIED3Xuxue Feng
1018Aruna Q MarrierJapan2024-06-02Printing Dimensions NEGOTIATION8Amy Elsner
1019Isabel M RulapaughAustralia2024-06-10Feltz Printing Service RENEWAL61Anna Fali
1020Morrow X WieserBrazil2024-06-01Chapman, Ross E Esq NEW10Onyama Limba
1021Aruna D FollerFrance2024-05-18Benton, John B Jr PROPOSAL59Ioni Bowcher
1022Octavia P MacleadBrazil2024-05-27Morlong Associates PROPOSAL52Onyama Limba
1023Kaitlin X FollerRussia2024-06-12Chemel, James L Cpa NEGOTIATION88Asiya Javayant
1024Murillo Q SlusarskiAustralia2024-06-10Dorl, James J Esq RENEWAL90Ioni Bowcher
1025Murillo R RimSpain2024-05-26Chapman, Ross E Esq NEW9Asiya Javayant
1026Mayumi M PoquetteGermany2024-06-10Chapman, Ross E Esq PROPOSAL53Stephen Shaw
1027Darci Q PerinFrance2024-06-03Dorl, James J Esq UNQUALIFIED65Asiya Javayant
1028Stacey U ChuiJapan2024-06-12Commercial Press PROPOSAL28Asiya Javayant
1029Deepesh I SergiCanada2024-05-18Printing Dimensions RENEWAL27Bernardo Dominic
1030Emily L ShinkoItaly2024-05-25Chemel, James L Cpa QUALIFIED34Stephen Shaw
1031Tony F FlosiGermany2024-05-26King, Christopher A Esq UNQUALIFIED38Ivan Magalhaes
1032Nicolas C RimFrance2024-06-06Feiner Bros PROPOSAL19Asiya Javayant
1033Salvatore G FerenczFrance2024-05-16Truhlar And Truhlar Attys NEGOTIATION12Anna Fali
1034Aruna H StensethCanada2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED46Bernardo Dominic
1035Octavia P MaletSpain2024-05-25King, Christopher A Esq UNQUALIFIED38Stephen Shaw
1036Arvin K ButtIndia2024-06-14King, Christopher A Esq UNQUALIFIED76Xuxue Feng
1037Julie C CaudyRussia2024-05-20Feiner Bros UNQUALIFIED2Elwin Sharvill
1038Murillo Q BowleyRussia2024-06-08Rangoni Of Florence RENEWAL26Onyama Limba
1039Salvatore V GauchoFrance2024-05-24Dorl, James J Esq NEW97Amy Elsner
1040Rodrigues U RutaBrazil2024-05-29Dorl, James J Esq NEW69Anna Fali
1041Isabel L CampainSpain2024-05-16Buckley Miller Wright NEW30Bernardo Dominic
1042Darci R SlusarskiAustralia2024-06-10Printing Dimensions NEW99Asiya Javayant
1043Francesco Q FigeroaIndia2024-05-24Chapman, Ross E Esq NEW39Amy Elsner
1044David Y SergiBrazil2024-05-16Chemel, James L Cpa NEGOTIATION12Onyama Limba
1045Murillo R OstroskyJapan2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED86Xuxue Feng
1046Izzy N PerinAustralia2024-05-24Feiner Bros NEW83Ioni Bowcher
1047Julie Y MarrierItaly2024-05-26Feiner Bros PROPOSAL38Asiya Javayant
1048Aika D WieserArgentina2024-05-31Rousseaux, Michael Esq RENEWAL35Ioni Bowcher
1049Stacey A WhobreyAustralia2024-05-17Chanay, Jeffrey A Esq NEW48Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Faith R InouyeRussiaBernardo Dominic RENEWAL
Smith G StockhamRussiaIoni Bowcher NEGOTIATION
Francesco P StockhamArgentinaAsiya Javayant NEW
Mayumi W SaylorsCanadaAmy Elsner QUALIFIED
Jeanfrancois M BriddickAustraliaAmy Elsner RENEWAL
Claire F AlbaresGermanyXuxue Feng NEGOTIATION
Maria F MorascaItalyIvan Magalhaes NEW
Francesco A KolmetzJapanAnna Fali UNQUALIFIED
Nicolas R PoquetteSpainIvan Magalhaes QUALIFIED
Jefferson W ButtSpainStephen Shaw UNQUALIFIED
Jefferson T OldroydBrazilIoni Bowcher QUALIFIED
David Y SaylorsSpainBernardo Dominic UNQUALIFIED
Jones E MacleadSpainAnna Fali NEGOTIATION
Sinclair D RulapaughAustraliaXuxue Feng NEGOTIATION
Chavez O GillianRussiaIvan Magalhaes UNQUALIFIED
Ashley P KuskoIndiaElwin Sharvill RENEWAL
Mujtaba Y AmigonGermanyIvan Magalhaes NEW
Maisha U MorascaUnited KingdomAmy Elsner PROPOSAL
Tony R NickaCanadaStephen Shaw UNQUALIFIED
Leja P GillianRussiaElwin Sharvill UNQUALIFIED
Octavia Y KuskoArgentinaAsiya Javayant UNQUALIFIED
Arvin A OstroskyCanadaAsiya Javayant NEGOTIATION
Ashley Z GlickBrazilStephen Shaw QUALIFIED
Ricardo V ChuiGermanyAmy Elsner QUALIFIED
Darci L SaylorsFranceStephen Shaw RENEWAL
Julie N RimRussiaXuxue Feng RENEWAL
Greenwood T FerenczFranceIoni Bowcher PROPOSAL
Leja J DarakjyIndiaAsiya Javayant NEW
Leon X ButtFranceIvan Magalhaes NEGOTIATION
David A KolmetzIndiaStephen Shaw NEW
Greenwood F WhobreyCanadaIvan Magalhaes NEW
Izzy A KolmetzJapanAnna Fali NEGOTIATION
Costa E WhobreySpainIoni Bowcher UNQUALIFIED
Wickens D FollerFranceAnna Fali UNQUALIFIED
Alejandro K OstroskyUnited KingdomStephen Shaw RENEWAL
Jones R DarakjyGermanyAnna Fali NEW
Adams V WieserSpainOnyama Limba PROPOSAL
Juan K SaylorsSpainAnna Fali NEGOTIATION
Morrow D GlickGermanyStephen Shaw UNQUALIFIED
Johnson Z VocelkaCanadaIvan Magalhaes UNQUALIFIED
Wickens Q IturbideUnited KingdomXuxue Feng NEW
Costa E PaprockiGermanyIoni Bowcher NEGOTIATION
Aditya M BowleySpainOnyama Limba QUALIFIED
Stacey J PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Emily F MaletFranceIoni Bowcher RENEWAL
Salvatore D FigeroaGermanyAsiya Javayant NEW
Octavia X BologniaIndiaBernardo Dominic QUALIFIED
Aika U FlosiSpainIoni Bowcher QUALIFIED
Stacey J ButtGermanyBernardo Dominic PROPOSAL
Aruna B ShinkoBrazilIvan Magalhaes NEGOTIATION
Frozen Columns
Name
James V Sergi
Julie F Campain
Mayumi U Briddick
Ricardo I Garufi
Claire B Perin
Salvatore T Amigon
Kadeem A Wieser
Juan Z Stenseth
Smith T Doe
Munro E Oldroyd
Chavez U Caldarera
Darci F Paprocki
Johnson T Flosi
Kaitlin T Chui
Arvin J Whobrey
Mayumi W Slusarski
Rodrigues K Venere
Alejandro H Figeroa
Murillo N Wieser
Emily E Rulapaugh
Aditya C Rim
Salvatore N Venere
David L Campain
Juan C Ostrosky
Chavez R Campain
Chavez Y Caudy
Mayumi G Stockham
Stacey A Stockham
Aditya Y Saylors
Rodrigues H Chui
Aika R Butt
Maisha F Malet
Francesco B Bowley
Chavez P Chui
Johnson A Chui
Maria J Perin
Maisha I Flosi
James A Saylors
Silvio T Nestle
Costa E Sergi
Jefferson Z Rulapaugh
Darci F Gaucho
Silvio O Waycott
Nicolas W Malet
Maria V Chui
Mujtaba V Campain
Octavia L Dilliard
Clifford F Albares
Johnson I Flosi
Deepesh F Doe
IdCountryDate
1000Italy2024-05-25
1001Brazil2024-06-12
1002Germany2024-06-07
1003Japan2024-06-03
1004France2024-06-07
1005Canada2024-05-31
1006Australia2024-06-05
1007Brazil2024-06-02
1008Canada2024-06-09
1009Australia2024-05-18
1010India2024-05-20
1011Spain2024-05-18
1012United Kingdom2024-05-20
1013Italy2024-05-29
1014United Kingdom2024-06-14
1015India2024-05-25
1016United Kingdom2024-06-02
1017Brazil2024-06-09
1018Australia2024-05-29
1019France2024-05-25
1020Germany2024-06-14
1021Spain2024-05-30
1022Italy2024-05-20
1023Brazil2024-05-20
1024Australia2024-05-24
1025Russia2024-06-02
1026Japan2024-06-12
1027India2024-05-27
1028Brazil2024-06-10
1029Argentina2024-06-06
1030Spain2024-05-28
1031Germany2024-05-25
1032Australia2024-05-23
1033France2024-06-10
1034Argentina2024-05-31
1035Argentina2024-06-07
1036Japan2024-05-23
1037Germany2024-06-07
1038Italy2024-05-22
1039Spain2024-05-28
1040Spain2024-06-04
1041Spain2024-06-13
1042Germany2024-06-13
1043Canada2024-05-25
1044Italy2024-05-17
1045Brazil2024-06-07
1046Italy2024-05-28
1047Canada2024-05-22
1048Argentina2024-05-28
1049Italy2024-06-12

On-Demand Data

NameIdCountryDate
Tony Q Tollner1000Argentina2024-05-31
Greenwood D Briddick1001India2024-06-08
Kadeem V Ostrosky1002Brazil2024-05-20
Greenwood N Campain1003Argentina2024-05-27
Chavez W Iturbide1004Spain2024-05-31
Jones H Saylors1005Australia2024-05-27
Silvio V Oldroyd1006Japan2024-05-28
Deepesh S Morasca1007Australia2024-06-04
Claire J Foller1008Canada2024-06-14
Isabel J Royster1009Australia2024-06-08
Maisha P Perin1010Australia2024-06-12
Aruna R Albares1011Brazil2024-06-04
Isabel A Paprocki1012Italy2024-06-12
Maisha I Caldarera1013Italy2024-05-19
Stacey X Inouye1014Spain2024-05-17
Francesco L Caldarera1015Spain2024-05-23
Antonio D Waycott1016United Kingdom2024-06-09
Jefferson E Garufi1017Russia2024-06-09
Juan X Royster1018Germany2024-06-08
Greenwood W Gillian1019India2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika D AmigonFranceAsiya Javayant RENEWAL
Deepesh I WhobreyCanadaBernardo Dominic PROPOSAL
Emily I KolmetzItalyIvan Magalhaes RENEWAL
Kaitlin Y TollnerIndiaAmy Elsner PROPOSAL
Deepesh S GlickSpainAnna Fali NEW
Munro O GauchoAustraliaBernardo Dominic NEW
Salvatore D ShinkoRussiaStephen Shaw NEW
Darci M FerenczItalyIoni Bowcher UNQUALIFIED
Nicolas M DarakjyFranceAmy Elsner UNQUALIFIED
Leon E WaycottJapanStephen Shaw UNQUALIFIED
Julie M GauchoIndiaBernardo Dominic QUALIFIED
Silvio H CaldareraSpainIoni Bowcher UNQUALIFIED
Kaitlin L DilliardFranceIoni Bowcher UNQUALIFIED
Nicolas Q PaprockiRussiaElwin Sharvill NEW
Darci P PerinUnited KingdomOnyama Limba QUALIFIED
Alejandro F CaldareraCanadaAsiya Javayant QUALIFIED
Isabel K VocelkaIndiaAnna Fali UNQUALIFIED
James X ButtSpainBernardo Dominic UNQUALIFIED
Munro P CaudyArgentinaIoni Bowcher QUALIFIED
Rodrigues Q ChuiAustraliaAnna Fali NEW
Mujtaba D CaudyFranceAsiya Javayant QUALIFIED
Izzy S NestleFranceIvan Magalhaes NEW
Mujtaba P CaudyItalyAnna Fali RENEWAL
David V TollnerJapanAmy Elsner NEW
Johnson Q WaycottArgentinaBernardo Dominic UNQUALIFIED
Jennifer P ChuiCanadaAmy Elsner NEW
Mayumi I MacleadIndiaOnyama Limba NEGOTIATION
Greenwood E MaletIndiaElwin Sharvill RENEWAL
Leon X RoysterItalyAmy Elsner NEW
Stacey B BologniaUnited KingdomOnyama Limba QUALIFIED
Jennifer A BriddickRussiaOnyama Limba QUALIFIED
Stacey F MaletCanadaBernardo Dominic UNQUALIFIED
James V DilliardCanadaBernardo Dominic NEGOTIATION
Aruna D TollnerArgentinaStephen Shaw NEGOTIATION
Murillo J RutaIndiaOnyama Limba NEW
Aditya A GillianGermanyBernardo Dominic PROPOSAL
Ricardo X BologniaFranceIvan Magalhaes UNQUALIFIED
David E GlickUnited KingdomAnna Fali NEGOTIATION
Jennifer H VocelkaItalyAnna Fali RENEWAL
Tony X SlusarskiSpainAmy Elsner 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>