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 O AmigonRussiaAnna Fali PROPOSAL
Juan A WieserArgentinaIoni Bowcher PROPOSAL
Wickens O RimItalyAnna Fali PROPOSAL
Arvin X DilliardFranceAnna Fali UNQUALIFIED
Misaki L CaldareraJapanOnyama Limba UNQUALIFIED
Cody G RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford W InouyeItalyAsiya Javayant UNQUALIFIED
Nicolas V MaletArgentinaIvan Magalhaes UNQUALIFIED
Ashley R MorascaBrazilXuxue Feng UNQUALIFIED
Jeanfrancois Q AlbaresSpainOnyama Limba RENEWAL
Wickens T RutaCanadaAsiya Javayant QUALIFIED
Greenwood Y FlosiItalyIoni Bowcher RENEWAL
Isabel K SchemmerAustraliaIoni Bowcher QUALIFIED
Aditya J WhobreyGermanyIoni Bowcher UNQUALIFIED
Cody J SergiCanadaIvan Magalhaes RENEWAL
Munro W GillianArgentinaXuxue Feng NEGOTIATION
James A BologniaFranceBernardo Dominic RENEWAL
Claire L KuskoCanadaStephen Shaw QUALIFIED
Claire R DilliardItalyIoni Bowcher PROPOSAL
Costa G RulapaughUnited KingdomStephen Shaw RENEWAL
Leon W DilliardArgentinaAsiya Javayant UNQUALIFIED
Smith O StockhamUnited KingdomIvan Magalhaes PROPOSAL
Jones G NestleArgentinaBernardo Dominic PROPOSAL
Smith T PoquetteSpainStephen Shaw QUALIFIED
Mujtaba J CaudyIndiaStephen Shaw RENEWAL
Deepesh Y BowleyIndiaAsiya Javayant NEW
Ricardo M MorascaGermanyBernardo Dominic RENEWAL
David T AmigonRussiaBernardo Dominic UNQUALIFIED
Ricardo G BologniaIndiaOnyama Limba NEW
Clifford I AlbaresCanadaOnyama Limba UNQUALIFIED
Jones V NestleJapanElwin Sharvill NEGOTIATION
Murillo H NickaAustraliaElwin Sharvill QUALIFIED
Deepesh J FollerArgentinaAmy Elsner PROPOSAL
Kadeem R PaprockiFranceElwin Sharvill PROPOSAL
Kaitlin K ChuiSpainBernardo Dominic NEGOTIATION
Morrow E VocelkaUnited KingdomAnna Fali RENEWAL
Aika G CampainArgentinaIoni Bowcher NEW
Rodrigues L BologniaGermanyAnna Fali NEGOTIATION
Chavez I ButtRussiaAmy Elsner UNQUALIFIED
Emily H SchemmerBrazilBernardo Dominic PROPOSAL
Kaitlin V WhobreyCanadaIoni Bowcher NEGOTIATION
Francesco X MarrierRussiaIoni Bowcher NEW
Kaitlin R VocelkaIndiaAsiya Javayant UNQUALIFIED
Smith J ShinkoUnited KingdomAnna Fali QUALIFIED
Jones R KolmetzAustraliaOnyama Limba NEGOTIATION
Francesco Y BologniaSpainXuxue Feng RENEWAL
Ricardo E DilliardBrazilAmy Elsner NEGOTIATION
Juan H GarufiIndiaAnna Fali PROPOSAL
Francesco F FerenczUnited KingdomXuxue Feng NEGOTIATION
Aika G DoeSpainXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba B FerenczItalyOnyama Limba QUALIFIED
Wickens U CaudyRussiaElwin Sharvill QUALIFIED
Tony G DarakjyRussiaXuxue Feng QUALIFIED
Ricardo T CampainBrazilAmy Elsner NEGOTIATION
Izzy B WieserJapanAsiya Javayant PROPOSAL
Deepesh Q WaycottCanadaOnyama Limba RENEWAL
Leja B AmigonSpainAnna Fali NEW
Misaki F DilliardCanadaStephen Shaw PROPOSAL
Wickens D WhobreyIndiaOnyama Limba QUALIFIED
Leja Y FigeroaUnited KingdomAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia S BriddickRussia2024-06-17Truhlar And Truhlar Attys PROPOSAL3Stephen Shaw
1001Darci I MacleadIndia2024-06-18King, Christopher A Esq PROPOSAL99Anna Fali
1002Darci B GauchoAustralia2024-05-21Printing Dimensions NEGOTIATION64Onyama Limba
1003Maria C MaletIndia2024-05-28Printing Dimensions NEW40Stephen Shaw
1004Ricardo G OldroydCanada2024-05-29King, Christopher A Esq UNQUALIFIED13Stephen Shaw
1005Costa L AmigonItaly2024-05-23Chanay, Jeffrey A Esq NEW15Asiya Javayant
1006Jennifer N DarakjyJapan2024-05-22Buckley Miller Wright NEGOTIATION73Ioni Bowcher
1007Alejandro Y AmigonCanada2024-05-24Chanay, Jeffrey A Esq NEGOTIATION52Amy Elsner
1008Munro O KuskoJapan2024-06-02Feiner Bros RENEWAL44Xuxue Feng
1009James C NickaGermany2024-06-07Feiner Bros PROPOSAL40Elwin Sharvill
1010Ricardo R MacleadItaly2024-06-10Buckley Miller Wright UNQUALIFIED45Xuxue Feng
1011Greenwood A NestleFrance2024-05-24Printing Dimensions NEGOTIATION22Amy Elsner
1012Maria E SergiFrance2024-05-31Feltz Printing Service QUALIFIED52Anna Fali
1013Morrow W MarrierGermany2024-05-20Chemel, James L Cpa QUALIFIED99Xuxue Feng
1014Morrow K IturbideRussia2024-05-31Rousseaux, Michael Esq PROPOSAL15Ivan Magalhaes
1015Sinclair H PerinCanada2024-06-09Rangoni Of Florence NEGOTIATION96Ivan Magalhaes
1016Cody G SlusarskiAustralia2024-05-21Morlong Associates PROPOSAL52Ivan Magalhaes
1017Aditya H WhobreyCanada2024-06-01Buckley Miller Wright RENEWAL69Anna Fali
1018Deepesh E KolmetzSpain2024-06-06Rangoni Of Florence NEGOTIATION80Ioni Bowcher
1019Juan H OstroskyIndia2024-05-22Printing Dimensions NEW70Ivan Magalhaes
1020Maria Q FlosiArgentina2024-06-11King, Christopher A Esq RENEWAL40Xuxue Feng
1021Kadeem D MaletUnited Kingdom2024-06-15Rangoni Of Florence QUALIFIED49Ioni Bowcher
1022Smith U BowleySpain2024-06-12Chemel, James L Cpa RENEWAL50Ivan Magalhaes
1023Sinclair R PoquetteUnited Kingdom2024-06-16Commercial Press PROPOSAL57Ioni Bowcher
1024Morrow U GlickArgentina2024-06-03Rousseaux, Michael Esq NEW1Onyama Limba
1025Emily H FigeroaFrance2024-06-04Buckley Miller Wright UNQUALIFIED9Stephen Shaw
1026Alejandro N MaletJapan2024-06-08Printing Dimensions NEGOTIATION41Amy Elsner
1027Jennifer S MacleadIndia2024-05-20Benton, John B Jr QUALIFIED49Stephen Shaw
1028Silvio D ShinkoUnited Kingdom2024-06-17Feltz Printing Service NEGOTIATION54Asiya Javayant
1029Munro E RoysterGermany2024-05-24Truhlar And Truhlar Attys PROPOSAL32Elwin Sharvill
1030Aruna G NestleIndia2024-06-16Benton, John B Jr RENEWAL75Asiya Javayant
1031Darci C OstroskySpain2024-06-15Commercial Press PROPOSAL89Ioni Bowcher
1032Greenwood W AmigonIndia2024-05-25Dorl, James J Esq QUALIFIED20Stephen Shaw
1033Greenwood R ShinkoGermany2024-06-09Feltz Printing Service NEGOTIATION4Amy Elsner
1034Johnson S RoysterGermany2024-06-17Chemel, James L Cpa UNQUALIFIED84Amy Elsner
1035Ashley G BriddickBrazil2024-05-29Chapman, Ross E Esq PROPOSAL47Asiya Javayant
1036Costa Y KolmetzRussia2024-05-20Feltz Printing Service RENEWAL91Stephen Shaw
1037Clifford K MarrierAustralia2024-06-12Benton, John B Jr NEW54Ivan Magalhaes
1038Emily M SergiFrance2024-06-06Rousseaux, Michael Esq PROPOSAL62Stephen Shaw
1039Isabel N MorascaJapan2024-06-18Morlong Associates PROPOSAL52Elwin Sharvill
1040Mayumi H StockhamRussia2024-05-20Feiner Bros NEW53Elwin Sharvill
1041Johnson I TollnerIndia2024-06-14Rousseaux, Michael Esq NEW20Amy Elsner
1042Cody I PoquetteSpain2024-06-15Morlong Associates NEGOTIATION32Anna Fali
1043Julie M PerinBrazil2024-06-06Rousseaux, Michael Esq NEGOTIATION78Ioni Bowcher
1044Deepesh Y CampainUnited Kingdom2024-06-10Rousseaux, Michael Esq NEW67Anna Fali
1045Kadeem Y SlusarskiSpain2024-06-10Feltz Printing Service UNQUALIFIED45Stephen Shaw
1046Stacey X BriddickJapan2024-06-14King, Christopher A Esq NEGOTIATION56Amy Elsner
1047Munro M BowleyBrazil2024-06-03Truhlar And Truhlar Attys NEGOTIATION25Xuxue Feng
1048Jefferson P AmigonArgentina2024-05-27Benton, John B Jr QUALIFIED1Asiya Javayant
1049James X ShinkoFrance2024-06-07Rangoni Of Florence UNQUALIFIED23Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jennifer B MorascaBrazilAmy Elsner NEGOTIATION
Cody A SaylorsArgentinaIvan Magalhaes PROPOSAL
Emily S SergiJapanXuxue Feng UNQUALIFIED
Mayumi F DarakjyItalyXuxue Feng RENEWAL
Leja J SergiFranceElwin Sharvill NEW
Antonio D ShinkoCanadaAsiya Javayant UNQUALIFIED
Izzy Z ButtBrazilElwin Sharvill NEGOTIATION
Maria J SergiArgentinaIoni Bowcher NEW
Costa P SchemmerIndiaAmy Elsner QUALIFIED
Maria N NestleBrazilAsiya Javayant NEW
Darci W KolmetzIndiaXuxue Feng RENEWAL
Silvio E TollnerFranceOnyama Limba NEW
Cody B TollnerCanadaOnyama Limba PROPOSAL
Maria N TollnerFranceOnyama Limba RENEWAL
Chavez K RimUnited KingdomIoni Bowcher PROPOSAL
Misaki Y PerinFranceAsiya Javayant NEW
Ivar X BriddickBrazilBernardo Dominic PROPOSAL
Mayumi P StensethItalyIvan Magalhaes NEW
Maria M InouyeBrazilOnyama Limba PROPOSAL
Clifford R DoeGermanyAmy Elsner NEGOTIATION
Tony V ChuiArgentinaAnna Fali RENEWAL
Leon E NestleUnited KingdomAsiya Javayant QUALIFIED
Munro A MaletCanadaElwin Sharvill UNQUALIFIED
Misaki K GarufiItalyXuxue Feng UNQUALIFIED
Silvio G AlbaresItalyXuxue Feng UNQUALIFIED
Antonio I GlickCanadaAsiya Javayant UNQUALIFIED
Ashley Q ShinkoUnited KingdomXuxue Feng NEGOTIATION
Leon D VenereSpainXuxue Feng RENEWAL
Arvin I ChuiRussiaElwin Sharvill NEGOTIATION
Maisha X WaycottRussiaBernardo Dominic NEGOTIATION
Kadeem X MacleadBrazilAsiya Javayant QUALIFIED
Octavia R GillianUnited KingdomAnna Fali RENEWAL
Aruna I NickaBrazilAsiya Javayant QUALIFIED
Smith G AmigonRussiaXuxue Feng NEGOTIATION
Morrow D DoeBrazilAsiya Javayant NEW
Maria L KolmetzRussiaAsiya Javayant NEGOTIATION
Kaitlin Q BowleyItalyAnna Fali NEW
Nicolas U SchemmerAustraliaStephen Shaw NEW
Salvatore E RutaRussiaElwin Sharvill PROPOSAL
Kaitlin H AmigonItalyAmy Elsner PROPOSAL
Francesco T StockhamJapanXuxue Feng NEGOTIATION
Salvatore C BowleyGermanyStephen Shaw NEGOTIATION
Tony W SaylorsAustraliaXuxue Feng RENEWAL
Mayumi X CampainItalyIvan Magalhaes NEW
Ivar A MarrierSpainStephen Shaw NEW
Aika O MorascaRussiaAmy Elsner NEGOTIATION
Jones U ButtAustraliaElwin Sharvill RENEWAL
Izzy M GarufiGermanyAnna Fali RENEWAL
Morrow T NestleItalyIoni Bowcher UNQUALIFIED
Faith E DoeArgentinaAnna Fali QUALIFIED
Frozen Columns
Name
Salvatore C Foller
Aruna Z Marrier
Cody X Ferencz
Jefferson H Shinko
Wickens T Foller
Mujtaba E Amigon
Maisha Y Royster
Aika U Caudy
Costa K Glick
Julie Z Ferencz
Juan S Caldarera
Arvin S Bowley
Julie T Iturbide
Kaitlin S Figeroa
Murillo K Schemmer
Greenwood L Rulapaugh
David C Iturbide
Salvatore J Maclead
Kadeem Y Shinko
Ivar C Schemmer
Claire I Marrier
Mujtaba M Shinko
Isabel M Tollner
Greenwood Q Vocelka
Adams R Inouye
Deepesh Y Royster
Francesco U Royster
Arvin N Foller
Cody Q Schemmer
Alejandro G Nestle
Munro Y Butt
Sinclair E Maclead
Morrow M Saylors
Francesco M Shinko
Juan I Malet
Aruna Z Figeroa
Isabel F Gaucho
Emily Z Waycott
Jefferson L Nestle
Aditya D Doe
Claire F Sergi
Jennifer A Waycott
James O Tollner
Stacey V Briddick
Antonio C Tollner
Greenwood T Oldroyd
Adams B Nicka
Smith N Glick
Morrow P Kusko
Deepesh Z Inouye
IdCountryDate
1000Germany2024-06-10
1001Argentina2024-06-12
1002Brazil2024-05-22
1003Canada2024-06-08
1004Russia2024-06-04
1005Brazil2024-06-13
1006Germany2024-05-20
1007Argentina2024-06-11
1008Spain2024-06-16
1009United Kingdom2024-06-18
1010United Kingdom2024-06-05
1011India2024-06-03
1012India2024-06-10
1013Spain2024-05-22
1014Brazil2024-05-29
1015India2024-06-01
1016Germany2024-06-15
1017Germany2024-06-15
1018India2024-06-09
1019Japan2024-05-24
1020Germany2024-05-21
1021United Kingdom2024-05-29
1022Spain2024-05-30
1023Australia2024-05-21
1024Argentina2024-05-23
1025Brazil2024-06-11
1026United Kingdom2024-06-03
1027Germany2024-06-04
1028India2024-06-05
1029Russia2024-06-16
1030Italy2024-06-13
1031Spain2024-05-25
1032Argentina2024-05-26
1033India2024-05-21
1034Germany2024-06-04
1035Brazil2024-05-25
1036Australia2024-06-01
1037Argentina2024-05-31
1038Germany2024-06-04
1039Spain2024-05-26
1040Australia2024-06-16
1041Australia2024-05-21
1042Brazil2024-05-30
1043Germany2024-05-29
1044India2024-05-26
1045Germany2024-06-06
1046United Kingdom2024-06-06
1047Germany2024-05-22
1048Russia2024-05-27
1049Argentina2024-06-16

On-Demand Data

NameIdCountryDate
Munro E Iturbide1000Japan2024-06-13
Aika U Rim1001Germany2024-05-27
Tony G Whobrey1002Argentina2024-06-03
Kaitlin R Malet1003Italy2024-05-20
Morrow K Garufi1004France2024-06-11
Jennifer S Poquette1005Russia2024-05-30
Aika P Amigon1006Japan2024-05-24
Ashley F Garufi1007Japan2024-06-16
Ricardo X Slusarski1008Spain2024-06-06
Juan M Garufi1009Russia2024-05-25
Clifford O Nicka1010Germany2024-06-18
Aika W Glick1011Spain2024-06-18
Kaitlin G Perin1012Germany2024-06-08
Sinclair L Garufi1013United Kingdom2024-06-04
Alejandro V Amigon1014India2024-06-06
Tony I Malet1015India2024-06-02
Antonio S Royster1016Canada2024-06-12
Jennifer K Malet1017Brazil2024-05-29
Misaki S Flosi1018France2024-05-28
Murillo S Doe1019Spain2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair V FigeroaIndiaXuxue Feng RENEWAL
Rodrigues M MarrierIndiaAsiya Javayant PROPOSAL
Clifford O TollnerIndiaIvan Magalhaes UNQUALIFIED
Maisha N RutaJapanIvan Magalhaes NEW
Ashley G MarrierIndiaIvan Magalhaes NEW
Murillo A SaylorsCanadaBernardo Dominic NEW
Sinclair D FlosiGermanyIoni Bowcher PROPOSAL
Kadeem N GarufiArgentinaAnna Fali NEW
Stacey P BriddickItalyXuxue Feng PROPOSAL
Jones R GarufiIndiaIvan Magalhaes PROPOSAL
Chavez J RulapaughJapanOnyama Limba NEW
Claire B MaletAustraliaIvan Magalhaes QUALIFIED
Claire E SergiSpainXuxue Feng NEW
Adams U WaycottAustraliaIvan Magalhaes QUALIFIED
Nicolas D AlbaresBrazilAmy Elsner PROPOSAL
Kadeem O FollerJapanIoni Bowcher UNQUALIFIED
Emily C RoysterItalyAmy Elsner QUALIFIED
Emily Y CampainFranceIoni Bowcher PROPOSAL
Silvio I KuskoGermanyXuxue Feng QUALIFIED
Kaitlin M AlbaresArgentinaIoni Bowcher QUALIFIED
Claire F MorascaUnited KingdomStephen Shaw NEW
Cody L MacleadRussiaIvan Magalhaes RENEWAL
Aika R PoquetteArgentinaOnyama Limba UNQUALIFIED
Nicolas C SaylorsArgentinaStephen Shaw NEGOTIATION
Munro R TollnerRussiaAsiya Javayant NEGOTIATION
Kadeem I BologniaRussiaStephen Shaw UNQUALIFIED
Leon T AmigonUnited KingdomIoni Bowcher QUALIFIED
Aruna W BowleyArgentinaAsiya Javayant NEGOTIATION
Aika Q DilliardFranceIvan Magalhaes QUALIFIED
Clifford A MaletGermanyXuxue Feng UNQUALIFIED
Jones U NickaJapanElwin Sharvill UNQUALIFIED
Stacey Q SergiIndiaOnyama Limba RENEWAL
Kadeem I MaletCanadaXuxue Feng UNQUALIFIED
Murillo M RulapaughSpainElwin Sharvill RENEWAL
Ricardo J VocelkaUnited KingdomIoni Bowcher PROPOSAL
Ricardo Y RulapaughCanadaBernardo Dominic NEGOTIATION
Wickens V KuskoJapanOnyama Limba RENEWAL
Nicolas X OstroskyGermanyAnna Fali NEW
Emily E InouyeSpainBernardo Dominic PROPOSAL
Jennifer Y ButtAustraliaBernardo Dominic NEW

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