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
David R MarrierRussiaOnyama Limba RENEWAL
Aika X TollnerItalyIvan Magalhaes NEGOTIATION
Costa O BowleyBrazilOnyama Limba PROPOSAL
Leja L OldroydFranceAsiya Javayant NEGOTIATION
Stacey W ButtCanadaIoni Bowcher UNQUALIFIED
Ivar I GauchoBrazilAsiya Javayant NEGOTIATION
Francesco C RoysterBrazilAnna Fali UNQUALIFIED
Silvio Y MaletFranceAnna Fali NEW
Leon B MaletSpainOnyama Limba PROPOSAL
Darci M AlbaresRussiaIvan Magalhaes UNQUALIFIED
Sinclair E FollerSpainBernardo Dominic PROPOSAL
Rodrigues O FigeroaUnited KingdomIoni Bowcher NEGOTIATION
Jennifer H RoysterAustraliaIvan Magalhaes NEGOTIATION
Kadeem B SlusarskiRussiaAsiya Javayant UNQUALIFIED
Smith Y ChuiItalyAsiya Javayant NEGOTIATION
Maisha O DoeJapanOnyama Limba UNQUALIFIED
Costa Q AlbaresJapanElwin Sharvill PROPOSAL
Kaitlin U TollnerJapanAmy Elsner QUALIFIED
David D GlickBrazilBernardo Dominic QUALIFIED
Cody E IturbideAustraliaAmy Elsner NEGOTIATION
Aika U GillianRussiaAnna Fali PROPOSAL
Aditya P FerenczJapanAmy Elsner NEGOTIATION
Ricardo Y ShinkoGermanyElwin Sharvill RENEWAL
Silvio W BriddickArgentinaXuxue Feng NEGOTIATION
Misaki F CampainUnited KingdomOnyama Limba QUALIFIED
Darci D VocelkaItalyXuxue Feng PROPOSAL
Cody C RoysterItalyAmy Elsner RENEWAL
Julie M ButtArgentinaOnyama Limba UNQUALIFIED
Cody C PerinSpainXuxue Feng QUALIFIED
Clifford D AlbaresJapanAmy Elsner UNQUALIFIED
Ricardo C VenereSpainAnna Fali NEW
Greenwood E FollerFranceOnyama Limba PROPOSAL
Aditya L CampainCanadaStephen Shaw NEGOTIATION
David D ButtRussiaOnyama Limba RENEWAL
Ricardo X WieserJapanIvan Magalhaes PROPOSAL
Morrow B BologniaAustraliaIoni Bowcher UNQUALIFIED
Ivar L RulapaughUnited KingdomAnna Fali QUALIFIED
Jones Q NestleIndiaStephen Shaw QUALIFIED
Stacey N ShinkoJapanAnna Fali QUALIFIED
Deepesh T AmigonRussiaAsiya Javayant UNQUALIFIED
Faith V GlickAustraliaElwin Sharvill RENEWAL
Julie K GarufiGermanyStephen Shaw PROPOSAL
Rodrigues F NickaItalyAmy Elsner NEW
Jones L BriddickJapanOnyama Limba PROPOSAL
Deepesh E GillianUnited KingdomOnyama Limba NEW
Claire C VenereArgentinaOnyama Limba UNQUALIFIED
Mujtaba E NestleRussiaXuxue Feng QUALIFIED
Faith O GlickBrazilIoni Bowcher QUALIFIED
Munro Q MacleadCanadaIvan Magalhaes RENEWAL
Aruna B PaprockiBrazilIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Darci N ButtAustraliaAmy Elsner RENEWAL
James Y WhobreyAustraliaAnna Fali RENEWAL
Adams Y BowleyIndiaElwin Sharvill NEW
Jennifer W MaletArgentinaIvan Magalhaes RENEWAL
Ricardo R VocelkaGermanyAmy Elsner QUALIFIED
Ricardo G WhobreySpainBernardo Dominic PROPOSAL
Jones K VocelkaUnited KingdomBernardo Dominic RENEWAL
Izzy F SergiAustraliaStephen Shaw NEW
Antonio I MorascaRussiaAsiya Javayant NEGOTIATION
David L DoeRussiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna M MacleadRussia2024-06-03Benton, John B Jr NEGOTIATION59Ivan Magalhaes
1001Aika B StockhamArgentina2024-05-30Commercial Press PROPOSAL94Asiya Javayant
1002Rodrigues C MacleadItaly2024-05-26Morlong Associates NEW12Onyama Limba
1003Juan B GillianItaly2024-06-03Chemel, James L Cpa QUALIFIED32Ioni Bowcher
1004Francesco F SlusarskiBrazil2024-06-07Chanay, Jeffrey A Esq NEW37Onyama Limba
1005David A DilliardGermany2024-06-06Rousseaux, Michael Esq RENEWAL83Ioni Bowcher
1006Sinclair W RulapaughSpain2024-06-11Benton, John B Jr UNQUALIFIED77Bernardo Dominic
1007Jeanfrancois G MarrierIndia2024-06-18Feltz Printing Service NEW61Amy Elsner
1008Leon Y SergiIndia2024-05-30Morlong Associates RENEWAL50Bernardo Dominic
1009Mujtaba C MarrierJapan2024-06-07Feltz Printing Service NEW38Ivan Magalhaes
1010Jeanfrancois P PerinRussia2024-06-21Buckley Miller Wright RENEWAL34Stephen Shaw
1011Julie O StensethSpain2024-06-01Morlong Associates PROPOSAL27Ioni Bowcher
1012Izzy M InouyeItaly2024-06-11Dorl, James J Esq UNQUALIFIED89Amy Elsner
1013Leja X BologniaArgentina2024-06-05Rousseaux, Michael Esq PROPOSAL22Bernardo Dominic
1014Clifford N GillianSpain2024-06-13Rangoni Of Florence UNQUALIFIED35Ivan Magalhaes
1015Isabel H StockhamAustralia2024-06-09Rousseaux, Michael Esq NEGOTIATION15Ivan Magalhaes
1016Kadeem A MaletSpain2024-06-22King, Christopher A Esq PROPOSAL49Anna Fali
1017Claire H BowleyRussia2024-06-14Buckley Miller Wright NEW42Ivan Magalhaes
1018Juan A ButtBrazil2024-05-27Feiner Bros QUALIFIED77Bernardo Dominic
1019Aika I VocelkaGermany2024-06-06Morlong Associates NEW83Ioni Bowcher
1020Salvatore D MaletArgentina2024-06-17King, Christopher A Esq PROPOSAL30Amy Elsner
1021Aruna U MarrierFrance2024-06-01Chemel, James L Cpa NEW60Stephen Shaw
1022Francesco L VenereItaly2024-06-16Buckley Miller Wright UNQUALIFIED79Xuxue Feng
1023Murillo T GillianArgentina2024-06-12Rousseaux, Michael Esq UNQUALIFIED4Bernardo Dominic
1024Jennifer M OldroydArgentina2024-06-11King, Christopher A Esq NEW20Anna Fali
1025Adams A OldroydAustralia2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED70Bernardo Dominic
1026Francesco Q MacleadIndia2024-05-30Benton, John B Jr QUALIFIED6Bernardo Dominic
1027Aruna Y CaldareraSpain2024-05-31Chemel, James L Cpa QUALIFIED52Bernardo Dominic
1028Greenwood C RimUnited Kingdom2024-06-12Feltz Printing Service UNQUALIFIED41Asiya Javayant
1029Morrow T MarrierSpain2024-05-26Commercial Press RENEWAL97Asiya Javayant
1030Adams D PerinCanada2024-06-22Feltz Printing Service RENEWAL80Elwin Sharvill
1031Jennifer S WhobreyItaly2024-06-06Rangoni Of Florence NEGOTIATION48Xuxue Feng
1032Kaitlin G InouyeSpain2024-06-02Rangoni Of Florence UNQUALIFIED47Stephen Shaw
1033Izzy Q ChuiBrazil2024-06-20Benton, John B Jr RENEWAL72Ivan Magalhaes
1034Johnson G InouyeIndia2024-06-08Commercial Press RENEWAL95Ivan Magalhaes
1035Leja W MaletCanada2024-06-07Printing Dimensions RENEWAL7Ivan Magalhaes
1036Darci U BologniaJapan2024-06-16Chapman, Ross E Esq PROPOSAL86Ioni Bowcher
1037Johnson T CampainItaly2024-06-07Printing Dimensions UNQUALIFIED67Ivan Magalhaes
1038Aika M FerenczUnited Kingdom2024-06-19Chemel, James L Cpa NEW38Onyama Limba
1039Jones V MarrierItaly2024-06-15Morlong Associates QUALIFIED64Anna Fali
1040Silvio X AmigonArgentina2024-06-04Rousseaux, Michael Esq UNQUALIFIED68Stephen Shaw
1041Juan I MaletCanada2024-06-14Feiner Bros NEGOTIATION15Onyama Limba
1042Cody G RulapaughBrazil2024-06-10King, Christopher A Esq PROPOSAL67Ioni Bowcher
1043Murillo I SergiItaly2024-06-05Chanay, Jeffrey A Esq NEW99Ivan Magalhaes
1044Ricardo A PoquetteItaly2024-06-03Feiner Bros UNQUALIFIED48Anna Fali
1045Juan J BologniaIndia2024-06-11Chanay, Jeffrey A Esq NEW20Ioni Bowcher
1046Stacey O GillianSpain2024-06-16Printing Dimensions RENEWAL27Anna Fali
1047Claire U RulapaughJapan2024-05-24King, Christopher A Esq PROPOSAL37Xuxue Feng
1048Morrow P DilliardAustralia2024-06-06Feiner Bros QUALIFIED53Ioni Bowcher
1049Arvin C MacleadJapan2024-06-02Chemel, James L Cpa PROPOSAL56Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Francesco H FollerSpainBernardo Dominic UNQUALIFIED
Salvatore Y BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Smith E StensethFranceStephen Shaw QUALIFIED
Morrow Q WhobreyRussiaXuxue Feng NEGOTIATION
Mujtaba F SergiItalyXuxue Feng QUALIFIED
Francesco X FlosiCanadaXuxue Feng RENEWAL
Darci W StensethGermanyAsiya Javayant UNQUALIFIED
Misaki I SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo J SchemmerGermanyAsiya Javayant NEGOTIATION
Faith H OldroydGermanyOnyama Limba NEGOTIATION
Costa J OstroskyItalyOnyama Limba NEW
Munro K ShinkoGermanyIoni Bowcher UNQUALIFIED
Arvin K AmigonSpainIvan Magalhaes NEGOTIATION
Leja U MaletJapanXuxue Feng NEW
Jones P WieserCanadaAnna Fali RENEWAL
Aika U GillianCanadaBernardo Dominic UNQUALIFIED
Francesco G InouyeUnited KingdomElwin Sharvill NEW
Ashley P NickaCanadaIvan Magalhaes QUALIFIED
Alejandro K VocelkaUnited KingdomXuxue Feng QUALIFIED
Clifford Q RutaCanadaOnyama Limba QUALIFIED
Ricardo D MacleadRussiaAmy Elsner QUALIFIED
Leja Y GlickItalyXuxue Feng RENEWAL
Clifford Q FerenczSpainElwin Sharvill UNQUALIFIED
Julie K DarakjyGermanyStephen Shaw UNQUALIFIED
Deepesh W NestleFranceAnna Fali QUALIFIED
Jeanfrancois W MarrierArgentinaElwin Sharvill NEW
Stacey B CampainUnited KingdomIvan Magalhaes QUALIFIED
Arvin N WhobreyRussiaStephen Shaw UNQUALIFIED
Jennifer P PerinArgentinaXuxue Feng NEGOTIATION
Murillo Q PoquetteGermanyElwin Sharvill RENEWAL
Jeanfrancois V MacleadItalyIoni Bowcher NEGOTIATION
Nicolas E AmigonCanadaXuxue Feng RENEWAL
Jeanfrancois U BologniaGermanyAnna Fali QUALIFIED
Sinclair H ButtItalyStephen Shaw UNQUALIFIED
Sinclair S TollnerRussiaXuxue Feng QUALIFIED
Maisha M PaprockiAustraliaStephen Shaw NEW
Isabel Q RoysterCanadaStephen Shaw NEW
Antonio O PaprockiCanadaElwin Sharvill NEGOTIATION
Leon C BowleyItalyOnyama Limba PROPOSAL
Tony H SlusarskiBrazilElwin Sharvill QUALIFIED
Jefferson R OstroskyCanadaAnna Fali UNQUALIFIED
Ivar F CaldareraItalyElwin Sharvill NEGOTIATION
Morrow U GlickIndiaElwin Sharvill NEW
Maria A StensethIndiaBernardo Dominic QUALIFIED
Antonio F CampainCanadaStephen Shaw NEW
Cody A BriddickJapanXuxue Feng NEW
Kadeem K SaylorsJapanElwin Sharvill UNQUALIFIED
David D MacleadItalyIvan Magalhaes PROPOSAL
Ashley O RutaSpainAnna Fali NEGOTIATION
Juan Q WhobreyUnited KingdomAnna Fali QUALIFIED
Frozen Columns
Name
Arvin F Albares
Tony B Oldroyd
Chavez Z Whobrey
Juan O Royster
Antonio K Inouye
Adams J Gaucho
Alejandro B Saylors
Francesco I Inouye
Sinclair Z Stenseth
David G Ruta
David W Butt
Isabel X Rulapaugh
Faith H Butt
Costa R Waycott
Aika L Caudy
Wickens O Amigon
Sinclair J Tollner
Nicolas O Figeroa
Claire M Marrier
Arvin V Perin
Aditya M Gillian
Misaki J Oldroyd
Ivar Q Ferencz
Misaki S Albares
Jennifer I Sergi
Mayumi S Albares
Johnson S Darakjy
Emily Y Kolmetz
Juan Z Ferencz
Jeanfrancois Z Inouye
Greenwood K Morasca
David J Chui
Murillo S Nicka
David K Rim
Izzy L Poquette
Octavia D Glick
Johnson Q Bowley
Mayumi I Doe
Jeanfrancois H Tollner
Morrow G Albares
Deepesh F Ferencz
Morrow M Stockham
Misaki N Rulapaugh
Izzy K Slusarski
Maria Y Caudy
Darci Z Whobrey
Rodrigues E Caldarera
Rodrigues G Kusko
Mujtaba R Briddick
Mayumi G Malet
IdCountryDate
1000France2024-06-01
1001United Kingdom2024-06-21
1002Australia2024-06-13
1003Australia2024-06-15
1004Russia2024-06-12
1005Australia2024-05-27
1006Italy2024-06-03
1007Germany2024-06-09
1008Argentina2024-05-26
1009Spain2024-06-03
1010Japan2024-05-30
1011France2024-06-07
1012Germany2024-06-04
1013Spain2024-06-22
1014Spain2024-06-05
1015United Kingdom2024-06-01
1016Australia2024-06-15
1017Spain2024-06-14
1018Australia2024-05-29
1019United Kingdom2024-06-09
1020France2024-06-07
1021Argentina2024-06-13
1022India2024-06-14
1023Italy2024-05-29
1024Spain2024-06-21
1025Argentina2024-05-29
1026France2024-06-04
1027Canada2024-05-26
1028Canada2024-06-17
1029India2024-05-28
1030Spain2024-06-14
1031Italy2024-05-25
1032Canada2024-06-10
1033Japan2024-06-18
1034Brazil2024-06-20
1035Japan2024-06-05
1036Brazil2024-06-14
1037Italy2024-06-11
1038Russia2024-06-16
1039Spain2024-06-11
1040Argentina2024-05-27
1041United Kingdom2024-06-04
1042Canada2024-06-04
1043Russia2024-06-17
1044Japan2024-06-16
1045Spain2024-05-28
1046Italy2024-06-02
1047Argentina2024-05-30
1048France2024-06-11
1049Japan2024-06-01

On-Demand Data

NameIdCountryDate
Misaki Z Oldroyd1000Russia2024-06-04
Nicolas Z Stenseth1001Canada2024-06-18
Darci X Whobrey1002Russia2024-06-21
Ivar C Butt1003Canada2024-05-30
Mayumi Z Marrier1004Canada2024-06-06
Jennifer I Nicka1005Spain2024-06-22
Mujtaba B Bolognia1006Italy2024-06-11
Jones K Oldroyd1007Brazil2024-06-02
Leja V Chui1008Spain2024-05-29
Smith C Morasca1009India2024-06-02
Cody B Albares1010Canada2024-06-21
Antonio K Kolmetz1011United Kingdom2024-05-29
Juan N Foller1012Australia2024-05-25
Nicolas X Bolognia1013Brazil2024-06-08
Leon L Wieser1014Brazil2024-06-21
Isabel E Vocelka1015Russia2024-06-16
Izzy K Bolognia1016United Kingdom2024-06-07
Deepesh Q Ferencz1017France2024-06-01
Antonio Z Caudy1018India2024-06-16
Francesco H Bolognia1019Russia2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois J SlusarskiSpainAmy Elsner NEGOTIATION
Sinclair Z ButtSpainBernardo Dominic QUALIFIED
Julie J CaldareraRussiaAsiya Javayant UNQUALIFIED
Cody A GarufiGermanyIvan Magalhaes RENEWAL
Emily L GarufiGermanyOnyama Limba NEW
Tony F DoeFranceXuxue Feng NEW
Nicolas C MaletCanadaAnna Fali RENEWAL
Maria P KuskoUnited KingdomIoni Bowcher NEGOTIATION
Faith M BowleyBrazilAnna Fali QUALIFIED
Jones R WieserAustraliaAsiya Javayant NEW
Octavia B MorascaFranceStephen Shaw PROPOSAL
Octavia Y ShinkoJapanAsiya Javayant NEGOTIATION
Stacey T MarrierBrazilIvan Magalhaes QUALIFIED
Costa S PaprockiItalyIvan Magalhaes NEW
Costa R FlosiSpainAmy Elsner PROPOSAL
Aditya Y WieserItalyIvan Magalhaes PROPOSAL
Deepesh T RoysterIndiaBernardo Dominic UNQUALIFIED
Sinclair E OldroydUnited KingdomStephen Shaw UNQUALIFIED
Wickens N MorascaRussiaStephen Shaw PROPOSAL
Adams O GarufiIndiaIoni Bowcher RENEWAL
Leon N KolmetzGermanyBernardo Dominic NEGOTIATION
Jeanfrancois B MaletAustraliaAmy Elsner NEGOTIATION
James E FlosiSpainOnyama Limba NEGOTIATION
Emily M CaldareraArgentinaXuxue Feng QUALIFIED
Kadeem P SergiUnited KingdomAmy Elsner UNQUALIFIED
David O OstroskyIndiaAsiya Javayant NEW
Wickens T PoquetteBrazilElwin Sharvill NEW
Ashley X DilliardBrazilXuxue Feng QUALIFIED
Mayumi D BowleyUnited KingdomIvan Magalhaes NEW
Leja L NickaBrazilOnyama Limba RENEWAL
Smith V TollnerAustraliaElwin Sharvill NEW
Maria L DarakjyBrazilElwin Sharvill UNQUALIFIED
Leon Q MaletAustraliaXuxue Feng NEW
David I BriddickGermanyBernardo Dominic NEW
Misaki Y MaletUnited KingdomBernardo Dominic NEGOTIATION
Julie N ButtSpainStephen Shaw NEGOTIATION
Emily S RoysterItalyAnna Fali NEGOTIATION
Leon D RutaUnited KingdomStephen Shaw NEW
Emily E OstroskyAustraliaIoni Bowcher QUALIFIED
Kaitlin J RoysterCanadaBernardo Dominic 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>