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
Kaitlin S BriddickJapanStephen Shaw NEW
Claire R FigeroaItalyElwin Sharvill RENEWAL
Darci T RoysterFranceBernardo Dominic RENEWAL
Rodrigues Q FollerUnited KingdomAsiya Javayant NEW
Claire M InouyeUnited KingdomElwin Sharvill PROPOSAL
Sinclair M StockhamJapanIoni Bowcher RENEWAL
Jefferson K WieserBrazilAmy Elsner QUALIFIED
Leja J SergiItalyOnyama Limba NEGOTIATION
Alejandro D FlosiBrazilElwin Sharvill QUALIFIED
Jefferson W BriddickBrazilIoni Bowcher RENEWAL
Wickens D PoquetteItalyOnyama Limba NEGOTIATION
Costa J TollnerIndiaBernardo Dominic RENEWAL
Kadeem U SaylorsAustraliaAmy Elsner NEGOTIATION
Clifford P ShinkoBrazilBernardo Dominic RENEWAL
Costa T MorascaSpainAmy Elsner RENEWAL
Rodrigues W GillianSpainIvan Magalhaes UNQUALIFIED
Kadeem D GarufiIndiaAnna Fali QUALIFIED
Greenwood S AmigonSpainAmy Elsner RENEWAL
Aika G MarrierRussiaStephen Shaw NEW
Octavia I NestleRussiaIoni Bowcher UNQUALIFIED
Arvin U FerenczItalyXuxue Feng NEGOTIATION
Morrow G StensethGermanyAmy Elsner QUALIFIED
Greenwood I AlbaresCanadaIoni Bowcher QUALIFIED
Murillo J AmigonRussiaElwin Sharvill UNQUALIFIED
Johnson O WaycottFranceBernardo Dominic QUALIFIED
Arvin X RimBrazilAmy Elsner RENEWAL
Clifford V StensethRussiaIvan Magalhaes QUALIFIED
Leja O RoysterBrazilXuxue Feng QUALIFIED
Nicolas A CaudyUnited KingdomIvan Magalhaes PROPOSAL
Costa W ShinkoBrazilXuxue Feng QUALIFIED
Francesco C GlickFranceXuxue Feng NEGOTIATION
Darci U AlbaresIndiaStephen Shaw RENEWAL
Isabel H BriddickGermanyIvan Magalhaes PROPOSAL
Alejandro X GillianFranceAmy Elsner PROPOSAL
Rodrigues H DilliardGermanyIvan Magalhaes NEW
Sinclair L WhobreyGermanyAsiya Javayant UNQUALIFIED
Smith Z ShinkoUnited KingdomAsiya Javayant PROPOSAL
Nicolas B ShinkoFranceIoni Bowcher PROPOSAL
Juan J CaldareraSpainIoni Bowcher NEGOTIATION
Costa R RoysterUnited KingdomIoni Bowcher NEW
Murillo F SaylorsSpainIvan Magalhaes QUALIFIED
Antonio S MacleadGermanyElwin Sharvill QUALIFIED
Tony P ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
Mujtaba J PerinSpainAnna Fali RENEWAL
James R AlbaresFranceAmy Elsner UNQUALIFIED
Mayumi Y DilliardBrazilAmy Elsner QUALIFIED
Ivar Q PoquetteCanadaAnna Fali RENEWAL
Aditya J BriddickRussiaIvan Magalhaes RENEWAL
Julie M GlickCanadaOnyama Limba PROPOSAL
Greenwood H SchemmerBrazilIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson U ChuiRussiaAsiya Javayant PROPOSAL
Maisha U FigeroaItalyXuxue Feng PROPOSAL
Johnson Y SaylorsBrazilIoni Bowcher RENEWAL
Tony M GarufiGermanyBernardo Dominic RENEWAL
Ivar I GillianJapanAsiya Javayant NEGOTIATION
Ashley I KuskoUnited KingdomOnyama Limba RENEWAL
Arvin A AlbaresBrazilOnyama Limba RENEWAL
Aika B StensethItalyAmy Elsner QUALIFIED
Deepesh R VocelkaItalyIvan Magalhaes NEGOTIATION
Munro Y GauchoIndiaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki S WhobreyArgentina2025-05-02Rousseaux, Michael Esq QUALIFIED90Stephen Shaw
1001Cody F BologniaArgentina2025-05-05Truhlar And Truhlar Attys UNQUALIFIED77Bernardo Dominic
1002Deepesh X StensethRussia2025-04-22Benton, John B Jr NEGOTIATION53Elwin Sharvill
1003Kadeem I RulapaughItaly2025-04-28Rangoni Of Florence PROPOSAL70Ivan Magalhaes
1004Smith M MaletBrazil2025-05-10Morlong Associates NEW73Elwin Sharvill
1005Sinclair A DilliardCanada2025-05-04Feiner Bros QUALIFIED74Elwin Sharvill
1006Stacey F VocelkaJapan2025-04-21Buckley Miller Wright QUALIFIED40Asiya Javayant
1007Wickens D KuskoCanada2025-05-08Rangoni Of Florence QUALIFIED0Onyama Limba
1008Alejandro J WaycottFrance2025-04-14Feiner Bros NEGOTIATION10Anna Fali
1009Sinclair D PaprockiCanada2025-04-17Chemel, James L Cpa QUALIFIED77Stephen Shaw
1010Darci I SchemmerGermany2025-05-06Benton, John B Jr UNQUALIFIED44Ivan Magalhaes
1011Greenwood Y DilliardItaly2025-05-13Benton, John B Jr UNQUALIFIED42Amy Elsner
1012Emily X DarakjyJapan2025-04-19Benton, John B Jr UNQUALIFIED57Anna Fali
1013Izzy G SchemmerSpain2025-05-03Chapman, Ross E Esq NEGOTIATION45Bernardo Dominic
1014Chavez H PoquetteGermany2025-04-29Dorl, James J Esq NEW0Ivan Magalhaes
1015Claire Q SlusarskiJapan2025-04-18Rangoni Of Florence RENEWAL90Bernardo Dominic
1016Alejandro L DarakjyIndia2025-04-28Chemel, James L Cpa PROPOSAL77Ioni Bowcher
1017Kadeem O MaletArgentina2025-05-13King, Christopher A Esq NEW78Asiya Javayant
1018Aruna X GillianGermany2025-04-27Chemel, James L Cpa NEGOTIATION32Anna Fali
1019Maisha V InouyeBrazil2025-04-22Rangoni Of Florence NEW62Bernardo Dominic
1020Aika N DoeCanada2025-05-01Rousseaux, Michael Esq NEGOTIATION7Xuxue Feng
1021Maisha Y SchemmerItaly2025-04-18Rousseaux, Michael Esq UNQUALIFIED9Bernardo Dominic
1022Ivar A VenereSpain2025-05-01Morlong Associates NEGOTIATION41Amy Elsner
1023Greenwood U SaylorsArgentina2025-04-28Printing Dimensions NEGOTIATION65Xuxue Feng
1024Chavez X KuskoIndia2025-04-24Rousseaux, Michael Esq RENEWAL6Stephen Shaw
1025Ashley Q MarrierBrazil2025-04-19Rousseaux, Michael Esq NEW3Stephen Shaw
1026Faith L VenereIndia2025-05-05Rangoni Of Florence NEW27Ivan Magalhaes
1027Silvio I ButtGermany2025-04-24Morlong Associates UNQUALIFIED75Anna Fali
1028Mayumi N DoeItaly2025-05-09Printing Dimensions QUALIFIED80Onyama Limba
1029Francesco O RoysterRussia2025-04-17Feltz Printing Service UNQUALIFIED67Ioni Bowcher
1030Clifford X FlosiCanada2025-05-01Feltz Printing Service UNQUALIFIED20Asiya Javayant
1031Mujtaba W GauchoItaly2025-04-17Rousseaux, Michael Esq QUALIFIED81Bernardo Dominic
1032Izzy O CampainIndia2025-04-27Printing Dimensions PROPOSAL82Xuxue Feng
1033Misaki G TollnerRussia2025-04-24Feiner Bros NEW41Bernardo Dominic
1034Jefferson J BowleyFrance2025-04-28Chapman, Ross E Esq UNQUALIFIED72Ivan Magalhaes
1035Isabel W MaletItaly2025-04-22Rangoni Of Florence UNQUALIFIED32Ivan Magalhaes
1036Ashley V VenereUnited Kingdom2025-05-06Morlong Associates RENEWAL89Onyama Limba
1037Aruna J RulapaughUnited Kingdom2025-04-29Rousseaux, Michael Esq PROPOSAL80Stephen Shaw
1038James O SaylorsCanada2025-05-05Feltz Printing Service RENEWAL30Anna Fali
1039Maria A OldroydAustralia2025-04-14Printing Dimensions NEGOTIATION69Asiya Javayant
1040Clifford H KuskoUnited Kingdom2025-04-14Feiner Bros NEGOTIATION58Elwin Sharvill
1041Jeanfrancois M InouyeCanada2025-04-24Truhlar And Truhlar Attys RENEWAL92Ivan Magalhaes
1042Silvio G WieserSpain2025-04-18Buckley Miller Wright NEW34Elwin Sharvill
1043Sinclair E WieserItaly2025-04-17Feltz Printing Service NEGOTIATION11Asiya Javayant
1044Claire E CampainJapan2025-05-02Chapman, Ross E Esq RENEWAL93Amy Elsner
1045David G MaletBrazil2025-04-22Chapman, Ross E Esq PROPOSAL66Stephen Shaw
1046Salvatore Y GillianCanada2025-04-24Chanay, Jeffrey A Esq QUALIFIED43Stephen Shaw
1047Juan A AlbaresCanada2025-05-11Truhlar And Truhlar Attys UNQUALIFIED33Bernardo Dominic
1048Francesco W RoysterSpain2025-04-24Feiner Bros NEW36Xuxue Feng
1049Isabel L MacleadBrazil2025-04-25Truhlar And Truhlar Attys NEGOTIATION37Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maisha K StockhamJapanStephen Shaw QUALIFIED
Francesco G PaprockiGermanyStephen Shaw NEGOTIATION
Deepesh G WieserUnited KingdomXuxue Feng NEGOTIATION
Mayumi M GillianIndiaAnna Fali NEW
Maria Z BologniaFranceBernardo Dominic NEW
Leon R DilliardGermanyBernardo Dominic UNQUALIFIED
Smith R SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Munro Q FigeroaJapanAsiya Javayant PROPOSAL
Chavez B WieserRussiaBernardo Dominic NEW
James E RoysterBrazilAnna Fali RENEWAL
Izzy M InouyeSpainXuxue Feng RENEWAL
Kadeem K SergiRussiaXuxue Feng NEW
Kaitlin U ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Juan D GillianItalyBernardo Dominic NEGOTIATION
Deepesh L OstroskyFranceBernardo Dominic RENEWAL
Greenwood A MaletCanadaAsiya Javayant PROPOSAL
Mayumi E PaprockiGermanyStephen Shaw NEW
Wickens M GlickIndiaOnyama Limba QUALIFIED
Izzy Q KuskoRussiaStephen Shaw NEGOTIATION
Salvatore K PaprockiArgentinaStephen Shaw RENEWAL
Arvin W TollnerBrazilBernardo Dominic RENEWAL
Nicolas F MorascaRussiaStephen Shaw UNQUALIFIED
Faith L DilliardUnited KingdomOnyama Limba NEGOTIATION
Kadeem N BowleyGermanyBernardo Dominic NEGOTIATION
Julie A DoeFranceIoni Bowcher QUALIFIED
Maisha I MarrierCanadaXuxue Feng NEGOTIATION
Antonio D StockhamSpainBernardo Dominic NEW
Clifford P NestleArgentinaElwin Sharvill QUALIFIED
Izzy J MarrierRussiaAnna Fali PROPOSAL
Jennifer Y OldroydJapanAsiya Javayant PROPOSAL
Octavia I PoquetteUnited KingdomElwin Sharvill NEW
Tony X VocelkaIndiaIvan Magalhaes NEW
Rodrigues A IturbideBrazilStephen Shaw UNQUALIFIED
Maria T SchemmerRussiaXuxue Feng NEW
Jeanfrancois H GlickUnited KingdomIoni Bowcher PROPOSAL
Maria L SergiUnited KingdomXuxue Feng NEW
Costa R MaletBrazilIoni Bowcher QUALIFIED
Adams N CaudyIndiaIoni Bowcher PROPOSAL
Ivar K GillianUnited KingdomAnna Fali NEGOTIATION
Johnson C InouyeCanadaIvan Magalhaes PROPOSAL
Costa J PaprockiAustraliaOnyama Limba NEGOTIATION
Deepesh X FlosiBrazilAmy Elsner UNQUALIFIED
Francesco G WhobreyCanadaOnyama Limba NEW
Smith R OstroskyAustraliaXuxue Feng NEGOTIATION
Jefferson D BriddickItalyOnyama Limba NEW
Aruna V TollnerSpainBernardo Dominic UNQUALIFIED
Cody A OstroskyAustraliaOnyama Limba PROPOSAL
Arvin Y CaudySpainStephen Shaw PROPOSAL
Murillo U GillianBrazilAsiya Javayant NEGOTIATION
Costa Z PoquetteAustraliaIvan Magalhaes RENEWAL
Frozen Columns
Name
Sinclair S Glick
Deepesh Y Ferencz
Rodrigues L Ruta
Johnson T Inouye
Sinclair L Poquette
Chavez Q Gaucho
Octavia U Chui
Leja Q Schemmer
Alejandro F Rim
Mayumi M Slusarski
Silvio P Campain
Misaki O Tollner
James L Kusko
Claire Q Darakjy
Clifford F Ruta
Mujtaba U Gillian
Aika I Butt
Juan V Bolognia
Johnson G Ruta
Chavez G Perin
Ashley Z Flosi
Alejandro Y Gillian
Costa L Inouye
Ricardo C Rulapaugh
Stacey E Briddick
Claire U Rulapaugh
Johnson J Tollner
Silvio R Gillian
Claire V Venere
Julie F Doe
Stacey R Figeroa
Salvatore F Gillian
Claire J Chui
David L Iturbide
Jeanfrancois P Briddick
Jennifer C Nicka
Isabel E Malet
Octavia V Bowley
Murillo G Kusko
Juan P Campain
David I Ostrosky
Cody I Marrier
Claire K Malet
Tony R Kusko
Aika L Marrier
Jefferson F Bowley
David O Paprocki
Murillo G Marrier
Juan Z Caudy
Ricardo G Dilliard
IdCountryDate
1000France2025-04-28
1001Japan2025-05-06
1002Argentina2025-04-20
1003Argentina2025-05-06
1004Australia2025-05-06
1005Germany2025-05-05
1006Spain2025-05-06
1007France2025-04-24
1008Germany2025-04-24
1009Australia2025-04-27
1010Russia2025-05-07
1011Canada2025-05-09
1012United Kingdom2025-05-07
1013Germany2025-05-01
1014Brazil2025-05-12
1015Japan2025-05-09
1016Japan2025-05-10
1017Brazil2025-04-25
1018India2025-05-08
1019France2025-04-29
1020United Kingdom2025-05-09
1021Italy2025-04-25
1022Italy2025-05-08
1023Germany2025-05-06
1024Australia2025-04-18
1025India2025-05-05
1026Germany2025-04-30
1027Germany2025-04-26
1028Canada2025-05-02
1029Russia2025-04-16
1030France2025-04-27
1031France2025-04-30
1032Italy2025-04-20
1033Italy2025-04-29
1034Italy2025-05-06
1035India2025-04-15
1036Spain2025-05-12
1037Spain2025-05-13
1038United Kingdom2025-04-15
1039Russia2025-04-17
1040Canada2025-05-04
1041Brazil2025-04-21
1042Brazil2025-05-13
1043Canada2025-05-11
1044Japan2025-04-22
1045Italy2025-05-12
1046Canada2025-04-26
1047United Kingdom2025-04-17
1048Spain2025-05-11
1049Canada2025-05-03

On-Demand Data

NameIdCountryDate
Munro D Malet1000Japan2025-04-21
Claire P Campain1001France2025-05-12
David Z Briddick1002Canada2025-05-07
Clifford C Flosi1003Argentina2025-04-29
James G Albares1004United Kingdom2025-05-08
Nicolas W Malet1005Australia2025-05-11
Francesco B Shinko1006Russia2025-04-28
Antonio Y Caudy1007Japan2025-04-20
Jennifer U Venere1008Brazil2025-05-02
Deepesh J Bowley1009Argentina2025-04-29
Jeanfrancois U Ostrosky1010India2025-04-18
Stacey V Glick1011United Kingdom2025-04-22
Wickens V Bowley1012Argentina2025-05-03
Darci X Nicka1013Italy2025-04-30
Aditya E Darakjy1014Japan2025-04-27
Jennifer T Sergi1015United Kingdom2025-04-28
Juan O Campain1016Spain2025-05-13
Sinclair B Perin1017Australia2025-05-08
Ashley T Kolmetz1018Spain2025-05-03
Jennifer K Bolognia1019Italy2025-05-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois P VenereIndiaAnna Fali UNQUALIFIED
Mujtaba P DoeArgentinaElwin Sharvill UNQUALIFIED
Leon K FigeroaGermanyOnyama Limba QUALIFIED
Antonio U WaycottSpainAnna Fali QUALIFIED
Morrow D MaletBrazilXuxue Feng RENEWAL
Misaki F StockhamBrazilAnna Fali QUALIFIED
Murillo X DarakjyRussiaIvan Magalhaes QUALIFIED
Octavia Z WaycottSpainAmy Elsner NEW
Jennifer T KuskoGermanyIoni Bowcher NEW
Nicolas I RutaArgentinaStephen Shaw RENEWAL
Stacey N GauchoBrazilElwin Sharvill PROPOSAL
Chavez V KuskoAustraliaIoni Bowcher UNQUALIFIED
Greenwood M MaletJapanAsiya Javayant NEGOTIATION
Rodrigues P WaycottFranceStephen Shaw RENEWAL
Arvin Y ChuiArgentinaAmy Elsner PROPOSAL
Octavia P BowleyItalyAnna Fali NEGOTIATION
Nicolas W VocelkaGermanyElwin Sharvill QUALIFIED
Claire F SergiGermanyOnyama Limba NEGOTIATION
Cody I AlbaresIndiaOnyama Limba PROPOSAL
Jefferson U DoeCanadaOnyama Limba UNQUALIFIED
Misaki H BowleyAustraliaAnna Fali NEGOTIATION
Emily M BriddickSpainOnyama Limba NEW
Misaki S RimBrazilAsiya Javayant QUALIFIED
Smith B WieserSpainAsiya Javayant NEW
Francesco B DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Julie M ButtIndiaOnyama Limba NEGOTIATION
Emily K MorascaUnited KingdomAsiya Javayant QUALIFIED
Emily L StockhamIndiaIoni Bowcher PROPOSAL
Aika W WaycottFranceXuxue Feng PROPOSAL
Chavez O StockhamSpainElwin Sharvill NEW
James G MaletUnited KingdomAnna Fali NEW
Kaitlin T BriddickGermanyElwin Sharvill RENEWAL
Mujtaba R VenereItalyBernardo Dominic RENEWAL
Maisha F TollnerJapanStephen Shaw UNQUALIFIED
Deepesh U SchemmerAustraliaXuxue Feng NEW
Costa W CampainUnited KingdomAmy Elsner NEW
David I SlusarskiCanadaOnyama Limba NEGOTIATION
Greenwood A ChuiFranceIvan Magalhaes UNQUALIFIED
Sinclair V BriddickUnited KingdomOnyama Limba PROPOSAL
David N MaletIndiaBernardo 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>