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
Tony V SlusarskiIndiaBernardo Dominic QUALIFIED
Jones I GillianFranceBernardo Dominic PROPOSAL
Salvatore M CampainBrazilOnyama Limba UNQUALIFIED
Smith T FerenczGermanyAnna Fali RENEWAL
Jeanfrancois D GarufiArgentinaStephen Shaw NEW
Ivar W FerenczAustraliaAsiya Javayant RENEWAL
Faith Z OldroydBrazilIoni Bowcher UNQUALIFIED
Aika M GarufiBrazilBernardo Dominic PROPOSAL
Jeanfrancois I IturbideAustraliaXuxue Feng UNQUALIFIED
Wickens B BriddickRussiaAsiya Javayant NEW
David A RoysterBrazilElwin Sharvill NEGOTIATION
Alejandro N WhobreyArgentinaOnyama Limba NEGOTIATION
Silvio O RoysterJapanAnna Fali UNQUALIFIED
Chavez H DilliardJapanBernardo Dominic NEW
Greenwood D RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Ivar B PerinRussiaBernardo Dominic QUALIFIED
Johnson B GlickJapanAsiya Javayant RENEWAL
Clifford Z CampainAustraliaAmy Elsner UNQUALIFIED
Arvin A VocelkaJapanAmy Elsner NEGOTIATION
Misaki M DoeUnited KingdomStephen Shaw RENEWAL
Morrow U IturbideJapanElwin Sharvill NEGOTIATION
David R StensethSpainIoni Bowcher UNQUALIFIED
Maria L FollerFranceIoni Bowcher RENEWAL
Faith A MorascaIndiaXuxue Feng NEGOTIATION
Mayumi S NickaBrazilAsiya Javayant RENEWAL
Darci W CaudyItalyAmy Elsner RENEWAL
Jeanfrancois O PaprockiUnited KingdomIvan Magalhaes PROPOSAL
Deepesh F PoquetteCanadaXuxue Feng QUALIFIED
Murillo N GarufiBrazilAsiya Javayant NEW
Deepesh N GlickBrazilIvan Magalhaes QUALIFIED
Greenwood K BologniaRussiaXuxue Feng NEW
Jones U KolmetzCanadaAnna Fali NEGOTIATION
Maria B DarakjyAustraliaIoni Bowcher RENEWAL
Chavez B SergiIndiaAnna Fali UNQUALIFIED
Leja O WhobreyUnited KingdomOnyama Limba UNQUALIFIED
Aruna T OldroydJapanXuxue Feng UNQUALIFIED
Chavez V KuskoItalyBernardo Dominic UNQUALIFIED
Tony F NickaRussiaAnna Fali RENEWAL
Ashley T WaycottAustraliaBernardo Dominic NEGOTIATION
Chavez Z FerenczUnited KingdomXuxue Feng PROPOSAL
Rodrigues O FerenczAustraliaStephen Shaw RENEWAL
Rodrigues B BologniaJapanXuxue Feng RENEWAL
Kadeem G OstroskyUnited KingdomIvan Magalhaes RENEWAL
Misaki O GillianBrazilAmy Elsner NEW
James O PoquetteGermanyIoni Bowcher QUALIFIED
Jefferson U FollerJapanIoni Bowcher RENEWAL
Octavia D MacleadGermanyIoni Bowcher NEW
Mujtaba K RutaAustraliaBernardo Dominic UNQUALIFIED
Rodrigues V FollerArgentinaXuxue Feng NEW
Aditya W StockhamAustraliaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Izzy P MorascaArgentinaAmy Elsner RENEWAL
Wickens E PoquetteArgentinaElwin Sharvill NEGOTIATION
David E PaprockiArgentinaOnyama Limba NEW
Maisha E NestleSpainOnyama Limba QUALIFIED
Aika K RutaUnited KingdomAsiya Javayant QUALIFIED
Izzy P WhobreySpainElwin Sharvill PROPOSAL
Stacey H DarakjyJapanOnyama Limba PROPOSAL
Nicolas S NestleBrazilOnyama Limba RENEWAL
Costa N NestleCanadaElwin Sharvill NEGOTIATION
Mayumi Q MarrierSpainElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo L FlosiAustralia2024-05-27Commercial Press NEW30Ivan Magalhaes
1001Rodrigues U SchemmerArgentina2024-05-17Benton, John B Jr PROPOSAL82Ivan Magalhaes
1002Antonio P ButtCanada2024-06-01Benton, John B Jr PROPOSAL53Bernardo Dominic
1003Mayumi V RulapaughAustralia2024-06-04Printing Dimensions QUALIFIED69Onyama Limba
1004Julie K FlosiFrance2024-05-13Chemel, James L Cpa UNQUALIFIED27Onyama Limba
1005Rodrigues K FollerGermany2024-05-19Printing Dimensions UNQUALIFIED39Ivan Magalhaes
1006Maria Q RulapaughItaly2024-05-23Chapman, Ross E Esq NEW16Asiya Javayant
1007Faith O MarrierCanada2024-05-11Benton, John B Jr NEGOTIATION15Asiya Javayant
1008Darci U MaletUnited Kingdom2024-05-11Dorl, James J Esq QUALIFIED30Anna Fali
1009Octavia Y RimItaly2024-06-03Feltz Printing Service PROPOSAL30Elwin Sharvill
1010Aika E GlickJapan2024-05-28Chemel, James L Cpa NEGOTIATION80Xuxue Feng
1011Nicolas E WhobreyJapan2024-05-11Chemel, James L Cpa NEGOTIATION39Amy Elsner
1012Adams I DilliardJapan2024-06-04Truhlar And Truhlar Attys NEW33Xuxue Feng
1013Julie B BologniaUnited Kingdom2024-05-16Benton, John B Jr PROPOSAL36Bernardo Dominic
1014Francesco Y NickaGermany2024-05-11Rousseaux, Michael Esq NEGOTIATION54Asiya Javayant
1015Darci Z MorascaGermany2024-06-01Benton, John B Jr PROPOSAL99Asiya Javayant
1016Alejandro W NestleGermany2024-05-19Feiner Bros UNQUALIFIED47Ioni Bowcher
1017Francesco H ChuiGermany2024-05-24Chapman, Ross E Esq QUALIFIED60Amy Elsner
1018Claire L ShinkoJapan2024-05-24Printing Dimensions RENEWAL46Ivan Magalhaes
1019Darci R FerenczSpain2024-05-26Buckley Miller Wright PROPOSAL66Ivan Magalhaes
1020Octavia K PerinGermany2024-05-20Commercial Press NEGOTIATION58Ivan Magalhaes
1021David J MarrierArgentina2024-05-13Chemel, James L Cpa NEW10Ioni Bowcher
1022Jones C DoeBrazil2024-05-31Commercial Press RENEWAL56Onyama Limba
1023Emily X KolmetzAustralia2024-05-25Truhlar And Truhlar Attys NEW61Ivan Magalhaes
1024Jennifer W DilliardUnited Kingdom2024-05-23Chapman, Ross E Esq PROPOSAL64Ioni Bowcher
1025Deepesh Z RutaGermany2024-06-02Rousseaux, Michael Esq PROPOSAL62Xuxue Feng
1026Jennifer Q DoeIndia2024-05-18Buckley Miller Wright NEGOTIATION53Stephen Shaw
1027Costa B WieserJapan2024-05-13Buckley Miller Wright QUALIFIED28Xuxue Feng
1028Faith T PaprockiJapan2024-05-11Benton, John B Jr NEW78Stephen Shaw
1029Jennifer W BriddickGermany2024-05-21Benton, John B Jr UNQUALIFIED82Onyama Limba
1030Silvio L AmigonUnited Kingdom2024-05-28Benton, John B Jr PROPOSAL59Asiya Javayant
1031Tony U MacleadArgentina2024-05-30Feiner Bros UNQUALIFIED43Xuxue Feng
1032Arvin M RutaAustralia2024-05-22Rangoni Of Florence NEW17Ivan Magalhaes
1033Greenwood T StensethGermany2024-05-12Rangoni Of Florence PROPOSAL83Amy Elsner
1034Leja K KuskoUnited Kingdom2024-05-24Benton, John B Jr NEW27Bernardo Dominic
1035James S PaprockiRussia2024-05-25Chanay, Jeffrey A Esq NEW44Amy Elsner
1036Arvin B KuskoCanada2024-05-26Chapman, Ross E Esq UNQUALIFIED98Anna Fali
1037Darci C FollerAustralia2024-05-30Printing Dimensions NEGOTIATION69Anna Fali
1038Maisha J RimCanada2024-05-08Dorl, James J Esq QUALIFIED83Onyama Limba
1039Aditya M RoysterFrance2024-05-26Printing Dimensions NEGOTIATION99Onyama Limba
1040Emily O StensethCanada2024-05-18Chemel, James L Cpa QUALIFIED52Ioni Bowcher
1041Maisha P FlosiBrazil2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED32Asiya Javayant
1042Alejandro N CaudyIndia2024-05-25King, Christopher A Esq NEW47Xuxue Feng
1043Juan Y RutaIndia2024-05-21Chanay, Jeffrey A Esq QUALIFIED54Onyama Limba
1044Stacey W NickaCanada2024-06-04Dorl, James J Esq RENEWAL59Asiya Javayant
1045Claire T CaudyIndia2024-06-03Commercial Press UNQUALIFIED46Stephen Shaw
1046Murillo C OstroskyRussia2024-05-31King, Christopher A Esq QUALIFIED12Bernardo Dominic
1047Jeanfrancois F FollerGermany2024-05-08Feltz Printing Service NEGOTIATION70Asiya Javayant
1048Maisha F RutaBrazil2024-05-13Truhlar And Truhlar Attys NEW75Xuxue Feng
1049Claire Q BologniaGermany2024-05-30Chanay, Jeffrey A Esq QUALIFIED64Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya A OldroydAustraliaStephen Shaw NEGOTIATION
Clifford W OstroskyIndiaXuxue Feng PROPOSAL
Darci Q WieserUnited KingdomAnna Fali RENEWAL
Adams W BologniaFranceAsiya Javayant NEGOTIATION
Aika Z MaletItalyIoni Bowcher QUALIFIED
Stacey M WaycottFranceAsiya Javayant PROPOSAL
Isabel O MaletSpainXuxue Feng UNQUALIFIED
Clifford K SaylorsSpainAmy Elsner UNQUALIFIED
Greenwood T GarufiItalyAsiya Javayant UNQUALIFIED
Chavez W PerinRussiaXuxue Feng QUALIFIED
James H AlbaresJapanXuxue Feng RENEWAL
Smith A RulapaughItalyStephen Shaw NEW
Leja I RulapaughCanadaAnna Fali NEW
Salvatore X SlusarskiCanadaAmy Elsner UNQUALIFIED
Greenwood V RutaItalyAsiya Javayant RENEWAL
Kadeem U FerenczGermanyElwin Sharvill RENEWAL
Darci G ShinkoAustraliaAmy Elsner PROPOSAL
Wickens Z ShinkoAustraliaStephen Shaw QUALIFIED
Arvin D MaletCanadaIoni Bowcher NEW
Silvio C MorascaAustraliaIvan Magalhaes NEW
Jennifer H GillianCanadaAnna Fali RENEWAL
Morrow Z SlusarskiJapanAnna Fali QUALIFIED
Deepesh F ShinkoCanadaBernardo Dominic QUALIFIED
Wickens C StockhamFranceIvan Magalhaes NEGOTIATION
Stacey O CampainFranceIoni Bowcher RENEWAL
Cody G PoquetteSpainXuxue Feng QUALIFIED
Juan P MarrierCanadaAnna Fali PROPOSAL
Morrow I NestleRussiaOnyama Limba NEW
Isabel Y RoysterRussiaIoni Bowcher UNQUALIFIED
Darci L BowleyGermanyXuxue Feng NEW
Leon L RimSpainBernardo Dominic NEGOTIATION
Mujtaba C KolmetzSpainOnyama Limba NEW
Stacey R BowleyRussiaXuxue Feng QUALIFIED
Faith Y NestleBrazilAmy Elsner QUALIFIED
Jennifer W SlusarskiRussiaAsiya Javayant UNQUALIFIED
Silvio V PoquetteFranceXuxue Feng NEGOTIATION
Smith S WieserSpainAnna Fali NEW
Adams U SchemmerFranceXuxue Feng PROPOSAL
Darci E CaudyJapanBernardo Dominic NEW
Cody P BologniaRussiaIvan Magalhaes PROPOSAL
Maria D GillianAustraliaElwin Sharvill UNQUALIFIED
Mayumi X PerinGermanyStephen Shaw PROPOSAL
Aruna L VocelkaJapanElwin Sharvill RENEWAL
Jefferson D AmigonItalyIoni Bowcher QUALIFIED
Jennifer I StensethFranceStephen Shaw NEGOTIATION
David S WhobreyFranceXuxue Feng NEGOTIATION
Jefferson B FerenczRussiaElwin Sharvill UNQUALIFIED
Misaki F DoeAustraliaAmy Elsner QUALIFIED
Rodrigues O VocelkaAustraliaAsiya Javayant PROPOSAL
Antonio R ButtJapanOnyama Limba NEGOTIATION
Frozen Columns
Name
Wickens J Maclead
Murillo M Inouye
Isabel D Wieser
Emily Q Wieser
Julie H Amigon
Darci A Malet
Faith G Iturbide
Rodrigues S Schemmer
Ricardo F Iturbide
Maria P Darakjy
Costa F Iturbide
Emily L Vocelka
Greenwood G Gaucho
Aditya H Marrier
Juan O Ostrosky
Munro M Albares
Kaitlin Z Shinko
Aruna V Rulapaugh
Deepesh U Inouye
Alejandro F Oldroyd
Johnson H Iturbide
Morrow R Wieser
Kaitlin P Maclead
Kaitlin B Glick
Adams G Gaucho
Misaki O Marrier
Isabel Z Tollner
Clifford L Nicka
Octavia X Oldroyd
Jeanfrancois B Glick
Maisha Z Nestle
Adams A Gillian
Salvatore M Rulapaugh
Misaki W Figeroa
Ricardo U Paprocki
Aditya O Nestle
Chavez M Waycott
Mujtaba U Nestle
Munro S Kusko
Stacey N Gaucho
Salvatore Q Caudy
Smith E Stenseth
Tony L Figeroa
Tony O Malet
Jones I Shinko
Aika M Nestle
Ricardo T Venere
Kaitlin T Inouye
Aruna W Nestle
Cody Q Bowley
IdCountryDate
1000Argentina2024-06-04
1001Canada2024-06-04
1002Russia2024-05-16
1003Argentina2024-05-26
1004Brazil2024-05-25
1005Japan2024-05-30
1006Russia2024-05-12
1007Brazil2024-05-11
1008Canada2024-05-15
1009Canada2024-05-19
1010Brazil2024-05-31
1011Brazil2024-05-23
1012Russia2024-05-23
1013Russia2024-05-17
1014Italy2024-05-09
1015Italy2024-05-13
1016Russia2024-05-20
1017India2024-05-24
1018Canada2024-05-30
1019Spain2024-05-25
1020Russia2024-05-12
1021Spain2024-06-04
1022Italy2024-05-15
1023Brazil2024-05-20
1024Italy2024-05-14
1025Spain2024-05-21
1026Germany2024-06-01
1027Spain2024-05-08
1028France2024-05-23
1029France2024-05-16
1030Germany2024-05-25
1031Russia2024-05-14
1032India2024-05-13
1033Germany2024-05-12
1034Argentina2024-05-16
1035Canada2024-05-31
1036Germany2024-05-13
1037Japan2024-05-24
1038Argentina2024-05-30
1039Germany2024-05-23
1040Canada2024-05-27
1041Japan2024-06-02
1042India2024-06-04
1043Australia2024-05-12
1044France2024-05-11
1045Russia2024-05-20
1046Japan2024-05-21
1047Argentina2024-05-28
1048Germany2024-05-07
1049France2024-06-03

On-Demand Data

NameIdCountryDate
Jefferson G Bowley1000France2024-05-22
Francesco R Iturbide1001Germany2024-05-07
Faith H Venere1002Australia2024-05-08
Leja B Campain1003Japan2024-05-31
Johnson X Albares1004Japan2024-05-15
Claire O Inouye1005Australia2024-05-13
David R Darakjy1006Australia2024-05-20
Faith H Bowley1007Spain2024-05-27
Julie X Malet1008Canada2024-05-25
Nicolas U Shinko1009Brazil2024-05-08
Wickens G Ferencz1010United Kingdom2024-05-17
Kaitlin A Chui1011Germany2024-05-29
Aika E Poquette1012Australia2024-05-09
Smith P Malet1013Canada2024-06-03
Aika U Campain1014Spain2024-06-02
Arvin Y Royster1015France2024-05-29
Adams A Albares1016Canada2024-05-28
Clifford P Kolmetz1017Canada2024-05-13
Misaki L Nestle1018United Kingdom2024-05-19
Ivar P Doe1019Brazil2024-05-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey U InouyeAustraliaAmy Elsner RENEWAL
Mujtaba S GauchoBrazilAnna Fali RENEWAL
Cody P AmigonJapanOnyama Limba NEGOTIATION
Nicolas M MaletArgentinaElwin Sharvill QUALIFIED
Adams Y BologniaArgentinaXuxue Feng UNQUALIFIED
Kadeem Q FerenczArgentinaAnna Fali RENEWAL
Aruna J StockhamBrazilBernardo Dominic UNQUALIFIED
Cody Q DilliardCanadaBernardo Dominic PROPOSAL
Juan B OstroskyRussiaXuxue Feng RENEWAL
Darci F SlusarskiBrazilIvan Magalhaes RENEWAL
Aditya W GarufiAustraliaOnyama Limba PROPOSAL
Munro N ChuiAustraliaElwin Sharvill QUALIFIED
Stacey E DoeRussiaIoni Bowcher NEW
Silvio X MaletArgentinaIvan Magalhaes PROPOSAL
Jennifer X InouyeRussiaOnyama Limba PROPOSAL
Murillo E MaletGermanyAmy Elsner PROPOSAL
Mayumi K FollerJapanOnyama Limba RENEWAL
Jeanfrancois P ShinkoAustraliaAmy Elsner UNQUALIFIED
Jones S IturbideAustraliaIvan Magalhaes UNQUALIFIED
David M RulapaughSpainOnyama Limba NEW
Aruna N SlusarskiArgentinaXuxue Feng PROPOSAL
Johnson W RulapaughSpainBernardo Dominic UNQUALIFIED
Aditya Z CaudySpainStephen Shaw UNQUALIFIED
Deepesh U PoquetteRussiaIvan Magalhaes NEGOTIATION
Smith G WaycottAustraliaStephen Shaw PROPOSAL
Murillo X CaldareraBrazilIoni Bowcher QUALIFIED
Smith Z BriddickSpainElwin Sharvill NEW
Maisha J IturbideArgentinaIoni Bowcher NEGOTIATION
Aika D FerenczFranceAmy Elsner NEW
Emily J IturbideArgentinaIoni Bowcher UNQUALIFIED
Stacey N TollnerCanadaXuxue Feng PROPOSAL
Silvio P VocelkaIndiaAsiya Javayant QUALIFIED
Izzy R OldroydItalyBernardo Dominic QUALIFIED
Leon D BriddickRussiaAsiya Javayant NEW
Ashley F FlosiCanadaAsiya Javayant RENEWAL
Misaki T AmigonAustraliaXuxue Feng NEW
Izzy T MaletGermanyOnyama Limba NEW
Izzy B SchemmerJapanAnna Fali UNQUALIFIED
Sinclair Z StockhamItalyStephen Shaw NEGOTIATION
Mujtaba C BowleySpainAmy Elsner QUALIFIED

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