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
Munro Q StensethJapanStephen Shaw PROPOSAL
Jeanfrancois U CaldareraGermanyBernardo Dominic RENEWAL
Murillo U KuskoUnited KingdomAnna Fali NEGOTIATION
Morrow A NickaGermanyStephen Shaw UNQUALIFIED
Ivar G FerenczGermanyElwin Sharvill NEGOTIATION
Jeanfrancois H WaycottSpainBernardo Dominic RENEWAL
Adams T NestleItalyIvan Magalhaes RENEWAL
Stacey M BologniaAustraliaElwin Sharvill NEW
Kadeem R ShinkoSpainIoni Bowcher NEW
Salvatore P StockhamItalyElwin Sharvill NEGOTIATION
Izzy O ButtRussiaOnyama Limba RENEWAL
Juan M MaletGermanyStephen Shaw PROPOSAL
Aruna G PerinFranceXuxue Feng QUALIFIED
Clifford D WaycottFranceXuxue Feng NEGOTIATION
Rodrigues N CaudyRussiaBernardo Dominic QUALIFIED
Tony T RoysterSpainXuxue Feng NEGOTIATION
Darci B KuskoArgentinaAmy Elsner NEW
David H RutaBrazilIvan Magalhaes PROPOSAL
Faith H PoquetteAustraliaAsiya Javayant NEW
Morrow C RimUnited KingdomAsiya Javayant QUALIFIED
Wickens I InouyeBrazilBernardo Dominic NEW
Izzy L ButtFranceXuxue Feng QUALIFIED
Arvin C BologniaItalyAnna Fali QUALIFIED
Octavia K MorascaAustraliaElwin Sharvill PROPOSAL
Wickens R KolmetzItalyIvan Magalhaes NEW
Ivar E TollnerGermanyStephen Shaw PROPOSAL
Tony V AlbaresAustraliaOnyama Limba NEGOTIATION
Aruna P KuskoJapanIvan Magalhaes QUALIFIED
Greenwood A PoquetteIndiaElwin Sharvill QUALIFIED
Darci K InouyeUnited KingdomElwin Sharvill UNQUALIFIED
Ivar D NestleGermanyElwin Sharvill PROPOSAL
Leja R StensethItalyElwin Sharvill QUALIFIED
Octavia G SlusarskiArgentinaStephen Shaw RENEWAL
Adams F PerinBrazilIvan Magalhaes RENEWAL
Alejandro X StensethGermanyAmy Elsner RENEWAL
Murillo B GlickIndiaAmy Elsner UNQUALIFIED
Adams Y AmigonAustraliaIvan Magalhaes PROPOSAL
Isabel A FlosiRussiaIvan Magalhaes RENEWAL
Silvio Q CaudySpainXuxue Feng NEGOTIATION
David M SaylorsIndiaAsiya Javayant NEW
Aika K DoeCanadaOnyama Limba NEW
Costa M RimGermanyOnyama Limba PROPOSAL
Juan C SchemmerBrazilIoni Bowcher NEGOTIATION
Mayumi F NestleUnited KingdomBernardo Dominic PROPOSAL
Aditya J BologniaAustraliaIoni Bowcher QUALIFIED
Alejandro O CaudyBrazilOnyama Limba QUALIFIED
Maria G CaudyJapanIoni Bowcher RENEWAL
Maisha U GillianRussiaOnyama Limba PROPOSAL
Maisha A StensethUnited KingdomAmy Elsner NEW
Claire X CaldareraAustraliaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Wickens X GarufiIndiaElwin Sharvill QUALIFIED
Jeanfrancois E StockhamItalyOnyama Limba UNQUALIFIED
Leon G StensethAustraliaIvan Magalhaes UNQUALIFIED
Stacey S AmigonCanadaIvan Magalhaes NEGOTIATION
Salvatore S VenereItalyAnna Fali NEGOTIATION
Ashley M NickaSpainIoni Bowcher UNQUALIFIED
Nicolas P BowleyArgentinaElwin Sharvill RENEWAL
Ricardo R KuskoJapanBernardo Dominic UNQUALIFIED
Mujtaba Z PoquetteAustraliaAnna Fali NEGOTIATION
Sinclair L MarrierItalyAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David W ChuiBrazil2024-06-16Rangoni Of Florence PROPOSAL32Bernardo Dominic
1001Julie N FigeroaIndia2024-06-17Rousseaux, Michael Esq PROPOSAL96Ivan Magalhaes
1002Silvio N FerenczRussia2024-06-23Rangoni Of Florence PROPOSAL4Ioni Bowcher
1003Jeanfrancois S WieserRussia2024-06-06King, Christopher A Esq NEGOTIATION94Ioni Bowcher
1004Morrow X FollerSpain2024-05-28Printing Dimensions NEGOTIATION50Anna Fali
1005Rodrigues F FerenczUnited Kingdom2024-06-01Feltz Printing Service NEGOTIATION40Bernardo Dominic
1006Cody Q TollnerUnited Kingdom2024-06-06Benton, John B Jr UNQUALIFIED67Anna Fali
1007Maisha O CampainAustralia2024-05-31Chapman, Ross E Esq PROPOSAL43Bernardo Dominic
1008Darci O InouyeIndia2024-06-11Morlong Associates QUALIFIED63Bernardo Dominic
1009Jeanfrancois M ChuiItaly2024-06-14Feiner Bros NEW36Onyama Limba
1010Murillo K SchemmerBrazil2024-06-01Benton, John B Jr RENEWAL68Stephen Shaw
1011Aruna E DilliardGermany2024-06-21Truhlar And Truhlar Attys QUALIFIED53Asiya Javayant
1012Maria D NickaRussia2024-06-03Feltz Printing Service QUALIFIED89Amy Elsner
1013Leja J FigeroaCanada2024-06-21Commercial Press RENEWAL40Stephen Shaw
1014Salvatore Y DilliardRussia2024-06-06Chanay, Jeffrey A Esq NEW62Amy Elsner
1015Munro Y NickaItaly2024-05-30Printing Dimensions PROPOSAL18Ioni Bowcher
1016Leon W InouyeRussia2024-06-01Chemel, James L Cpa UNQUALIFIED6Onyama Limba
1017Ricardo Y ChuiIndia2024-06-15Rangoni Of Florence RENEWAL14Amy Elsner
1018Maria C RulapaughAustralia2024-06-13Benton, John B Jr UNQUALIFIED99Ivan Magalhaes
1019Aika U WaycottItaly2024-06-11Commercial Press NEGOTIATION9Elwin Sharvill
1020Claire Y WaycottUnited Kingdom2024-06-08Dorl, James J Esq UNQUALIFIED18Asiya Javayant
1021Murillo S StockhamArgentina2024-06-10Feltz Printing Service NEGOTIATION28Asiya Javayant
1022Deepesh L MaletBrazil2024-06-17Chapman, Ross E Esq UNQUALIFIED20Amy Elsner
1023Murillo J MaletBrazil2024-06-22Rousseaux, Michael Esq NEW66Amy Elsner
1024Rodrigues C AmigonArgentina2024-05-25Feltz Printing Service NEW81Ioni Bowcher
1025Clifford O BriddickUnited Kingdom2024-06-19Chapman, Ross E Esq RENEWAL21Ioni Bowcher
1026Cody U AmigonUnited Kingdom2024-05-27Rangoni Of Florence QUALIFIED99Anna Fali
1027Cody Y CampainArgentina2024-05-30Rousseaux, Michael Esq PROPOSAL7Onyama Limba
1028Izzy M WhobreyFrance2024-05-26Rousseaux, Michael Esq PROPOSAL0Amy Elsner
1029Sinclair J MarrierFrance2024-06-10Feiner Bros NEGOTIATION75Anna Fali
1030Smith V TollnerJapan2024-05-30Buckley Miller Wright PROPOSAL30Bernardo Dominic
1031Silvio Z MaletJapan2024-06-10Dorl, James J Esq QUALIFIED44Stephen Shaw
1032Stacey F BologniaIndia2024-06-15Rousseaux, Michael Esq NEW6Onyama Limba
1033Johnson O RutaArgentina2024-05-25Printing Dimensions UNQUALIFIED76Onyama Limba
1034Ashley F SlusarskiAustralia2024-06-16Dorl, James J Esq RENEWAL19Amy Elsner
1035Izzy C FollerJapan2024-06-05Morlong Associates NEW1Bernardo Dominic
1036Ashley G BologniaItaly2024-05-30Chapman, Ross E Esq NEW95Ioni Bowcher
1037Misaki M DoeIndia2024-06-14Morlong Associates UNQUALIFIED41Stephen Shaw
1038Julie R DoeIndia2024-05-30Printing Dimensions NEGOTIATION59Asiya Javayant
1039Octavia Y RulapaughItaly2024-05-30Morlong Associates QUALIFIED84Onyama Limba
1040Faith A MacleadSpain2024-06-18Chemel, James L Cpa NEGOTIATION39Amy Elsner
1041Maria K MacleadIndia2024-06-08Rousseaux, Michael Esq QUALIFIED95Asiya Javayant
1042Rodrigues A VenereBrazil2024-06-09Dorl, James J Esq NEGOTIATION34Stephen Shaw
1043Clifford I DoeCanada2024-06-03King, Christopher A Esq PROPOSAL86Stephen Shaw
1044Jeanfrancois H CampainArgentina2024-06-07Morlong Associates PROPOSAL68Ivan Magalhaes
1045Maria M DilliardBrazil2024-05-31King, Christopher A Esq NEW11Bernardo Dominic
1046Ricardo J IturbideAustralia2024-06-02Chapman, Ross E Esq QUALIFIED71Ivan Magalhaes
1047Jeanfrancois V NickaAustralia2024-05-27Rangoni Of Florence PROPOSAL2Amy Elsner
1048Antonio Q IturbideBrazil2024-06-10Benton, John B Jr QUALIFIED85Bernardo Dominic
1049Leja X RutaBrazil2024-06-12Buckley Miller Wright NEGOTIATION45Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Smith G SchemmerFranceAnna Fali QUALIFIED
Stacey O ButtCanadaXuxue Feng RENEWAL
Kaitlin H RimGermanyAsiya Javayant PROPOSAL
David X NestleFranceIoni Bowcher NEW
Kaitlin T FerenczIndiaIvan Magalhaes NEW
Leja B VenereCanadaXuxue Feng RENEWAL
James C PerinRussiaIvan Magalhaes QUALIFIED
Francesco Q VenereArgentinaAsiya Javayant NEGOTIATION
Ricardo I KuskoArgentinaElwin Sharvill QUALIFIED
Jennifer G TollnerCanadaIoni Bowcher PROPOSAL
Sinclair V GauchoFranceIoni Bowcher RENEWAL
Mayumi D NickaIndiaAsiya Javayant NEW
Mayumi K BriddickUnited KingdomElwin Sharvill NEW
Chavez V RoysterCanadaBernardo Dominic UNQUALIFIED
Cody V BriddickFranceXuxue Feng UNQUALIFIED
Johnson O ChuiCanadaAmy Elsner NEGOTIATION
Smith W WaycottIndiaAmy Elsner PROPOSAL
Juan O CaldareraJapanElwin Sharvill PROPOSAL
Costa G CaldareraJapanAmy Elsner PROPOSAL
Nicolas D TollnerIndiaIoni Bowcher UNQUALIFIED
Alejandro I CaldareraRussiaStephen Shaw QUALIFIED
Leon B MorascaFranceIvan Magalhaes UNQUALIFIED
James H MarrierJapanAnna Fali UNQUALIFIED
Mayumi U BriddickUnited KingdomElwin Sharvill NEGOTIATION
Isabel Z GlickFranceBernardo Dominic RENEWAL
Adams Z WaycottRussiaAnna Fali UNQUALIFIED
Aika J PaprockiFranceElwin Sharvill NEW
Deepesh L VocelkaArgentinaOnyama Limba PROPOSAL
Ricardo V MacleadItalyStephen Shaw NEGOTIATION
Jones B VenereItalyAnna Fali PROPOSAL
Claire L CaudyGermanyStephen Shaw PROPOSAL
Johnson U WhobreyFranceXuxue Feng RENEWAL
Jennifer Z DarakjyIndiaOnyama Limba UNQUALIFIED
Morrow Z AmigonFranceXuxue Feng NEW
Cody G NestleJapanOnyama Limba UNQUALIFIED
Rodrigues P DarakjySpainElwin Sharvill UNQUALIFIED
Julie P ButtCanadaIvan Magalhaes NEW
Jefferson R RutaCanadaAmy Elsner PROPOSAL
Adams K OldroydCanadaXuxue Feng RENEWAL
Mujtaba G CaldareraCanadaIvan Magalhaes QUALIFIED
Leja X TollnerUnited KingdomIvan Magalhaes PROPOSAL
Jennifer P DoeRussiaIoni Bowcher NEW
Maria K SlusarskiGermanyXuxue Feng UNQUALIFIED
Francesco U RimUnited KingdomAmy Elsner PROPOSAL
Nicolas Q FlosiCanadaStephen Shaw NEGOTIATION
Munro C BriddickIndiaAnna Fali UNQUALIFIED
Jones Y FigeroaSpainIoni Bowcher NEW
Leja R GauchoAustraliaAsiya Javayant QUALIFIED
Greenwood S StensethCanadaAsiya Javayant UNQUALIFIED
Arvin C MarrierUnited KingdomAsiya Javayant PROPOSAL
Frozen Columns
Name
Cody V Schemmer
Leon Y Kusko
Greenwood J Paprocki
Aruna Z Slusarski
Faith W Butt
Francesco U Stenseth
Leja F Royster
David Q Nestle
Nicolas S Briddick
Julie H Darakjy
Salvatore M Malet
Leon D Glick
Costa T Ferencz
Mujtaba G Garufi
Leon I Stockham
Cody O Kusko
Faith P Darakjy
Maisha D Chui
Cody P Chui
James W Caudy
Jefferson N Tollner
Darci B Poquette
Emily Y Royster
Maria O Caudy
Costa K Briddick
Ivar B Malet
Sinclair V Wieser
Cody K Rulapaugh
Kaitlin L Saylors
Jennifer G Inouye
James P Gaucho
Costa S Butt
Leja Z Garufi
Nicolas E Nicka
Ricardo N Perin
Jones N Nestle
Aditya D Royster
Julie Y Caldarera
Sinclair B Amigon
Mujtaba R Whobrey
Mujtaba M Darakjy
David V Shinko
Julie V Amigon
Maria Z Figeroa
Aika P Vocelka
Jeanfrancois Y Iturbide
Misaki A Kolmetz
Jennifer N Inouye
Maria Q Caudy
Johnson N Royster
IdCountryDate
1000United Kingdom2024-06-19
1001Argentina2024-06-09
1002Germany2024-06-23
1003Argentina2024-05-31
1004Japan2024-06-09
1005Argentina2024-06-23
1006France2024-06-19
1007Brazil2024-06-08
1008Russia2024-05-26
1009Australia2024-06-13
1010Canada2024-06-05
1011France2024-06-03
1012Russia2024-06-17
1013Russia2024-06-02
1014Australia2024-06-04
1015Argentina2024-06-03
1016Brazil2024-05-30
1017Brazil2024-06-12
1018Brazil2024-06-12
1019Russia2024-06-09
1020France2024-06-14
1021Argentina2024-06-12
1022Russia2024-05-31
1023Argentina2024-06-10
1024Brazil2024-06-16
1025Germany2024-06-12
1026Germany2024-06-03
1027Australia2024-06-03
1028Germany2024-06-06
1029Japan2024-06-07
1030Russia2024-05-28
1031Japan2024-06-09
1032Australia2024-06-17
1033France2024-06-05
1034United Kingdom2024-06-14
1035France2024-05-31
1036Russia2024-05-26
1037Australia2024-06-23
1038India2024-06-22
1039Germany2024-05-29
1040Argentina2024-05-26
1041Spain2024-06-10
1042Germany2024-06-10
1043Russia2024-06-14
1044Canada2024-05-31
1045Canada2024-05-28
1046Germany2024-06-02
1047India2024-06-08
1048Russia2024-06-09
1049India2024-06-05

On-Demand Data

NameIdCountryDate
Costa Z Shinko1000Russia2024-06-03
Leja P Caldarera1001India2024-06-08
Munro F Figeroa1002Argentina2024-06-20
Jefferson H Darakjy1003Germany2024-06-21
James Q Marrier1004India2024-06-06
Morrow O Garufi1005India2024-06-03
Antonio T Gaucho1006Australia2024-05-28
Leja A Campain1007Italy2024-05-28
Mujtaba D Saylors1008Japan2024-05-27
Mayumi N Foller1009Japan2024-06-14
Faith M Malet1010Brazil2024-05-28
Salvatore W Maclead1011India2024-05-27
Johnson T Bowley1012Russia2024-06-19
Wickens M Vocelka1013Canada2024-05-26
Ivar Q Chui1014Russia2024-06-18
Juan K Chui1015Canada2024-05-26
David Z Albares1016Germany2024-06-05
Sinclair U Kusko1017Argentina2024-05-31
Nicolas H Vocelka1018Germany2024-05-31
Aika M Rulapaugh1019India2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci C DoeJapanStephen Shaw NEGOTIATION
Maria X SlusarskiAustraliaXuxue Feng QUALIFIED
Francesco D InouyeAustraliaIvan Magalhaes NEW
Claire B MacleadArgentinaAmy Elsner RENEWAL
Ricardo C BowleyBrazilAsiya Javayant NEW
Murillo T FollerSpainAmy Elsner QUALIFIED
Maisha E StensethBrazilIvan Magalhaes NEW
Faith J PerinArgentinaBernardo Dominic PROPOSAL
Wickens X CaudyAustraliaIvan Magalhaes UNQUALIFIED
Aditya Z ShinkoRussiaAsiya Javayant RENEWAL
Isabel C CaldareraFranceAsiya Javayant RENEWAL
Kaitlin H RimItalyAsiya Javayant QUALIFIED
Salvatore W CaudyArgentinaStephen Shaw UNQUALIFIED
Murillo Y WaycottArgentinaXuxue Feng RENEWAL
Juan H MorascaGermanyAmy Elsner QUALIFIED
Misaki G BologniaItalyBernardo Dominic PROPOSAL
Emily I MacleadGermanyIvan Magalhaes NEW
Nicolas A WieserRussiaAmy Elsner RENEWAL
Mayumi K BologniaUnited KingdomOnyama Limba QUALIFIED
Octavia G FerenczJapanBernardo Dominic QUALIFIED
Sinclair R WaycottFranceAmy Elsner NEW
Smith A CampainUnited KingdomXuxue Feng UNQUALIFIED
Isabel R CampainUnited KingdomIoni Bowcher NEGOTIATION
Smith O SaylorsUnited KingdomAmy Elsner NEW
Ricardo X InouyeCanadaStephen Shaw QUALIFIED
Jefferson I StensethCanadaAsiya Javayant PROPOSAL
Kaitlin O FlosiCanadaIvan Magalhaes QUALIFIED
Silvio X SaylorsSpainBernardo Dominic NEGOTIATION
Leja K MaletRussiaXuxue Feng RENEWAL
Mujtaba A OldroydJapanIvan Magalhaes NEW
Emily J KuskoItalyBernardo Dominic UNQUALIFIED
Maisha L SchemmerSpainBernardo Dominic NEW
Ricardo W SlusarskiCanadaElwin Sharvill UNQUALIFIED
Silvio P KolmetzAustraliaBernardo Dominic NEW
Francesco D MaletGermanyOnyama Limba NEW
Leon W TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Claire C GlickArgentinaAmy Elsner RENEWAL
Greenwood T SchemmerGermanyBernardo Dominic NEW
Ashley H DarakjyFranceOnyama Limba NEGOTIATION
Deepesh C BriddickGermanyIvan Magalhaes UNQUALIFIED

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