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
Morrow K VocelkaSpainAnna Fali UNQUALIFIED
Antonio L AmigonRussiaElwin Sharvill UNQUALIFIED
Octavia E BowleyUnited KingdomIvan Magalhaes QUALIFIED
Stacey Z PerinCanadaIoni Bowcher PROPOSAL
Nicolas D RulapaughItalyIvan Magalhaes NEW
James P ShinkoCanadaXuxue Feng NEGOTIATION
Isabel T GauchoSpainAsiya Javayant NEW
Juan G AlbaresArgentinaBernardo Dominic PROPOSAL
Leja M SergiIndiaIvan Magalhaes RENEWAL
Faith M TollnerJapanOnyama Limba NEW
Mayumi Q CaudyAustraliaXuxue Feng QUALIFIED
Antonio E GarufiBrazilIoni Bowcher PROPOSAL
Ricardo O GlickBrazilIvan Magalhaes NEW
Leja D NestleItalyOnyama Limba RENEWAL
Clifford M SaylorsRussiaElwin Sharvill RENEWAL
Clifford H RulapaughCanadaAmy Elsner QUALIFIED
Silvio F RutaGermanyOnyama Limba QUALIFIED
Mayumi Q NestleCanadaBernardo Dominic RENEWAL
Francesco S CampainGermanyStephen Shaw NEGOTIATION
Octavia S KuskoJapanStephen Shaw RENEWAL
Sinclair M MacleadJapanIvan Magalhaes QUALIFIED
Juan E SergiArgentinaElwin Sharvill RENEWAL
Claire W GauchoItalyBernardo Dominic RENEWAL
Antonio Y MacleadRussiaElwin Sharvill NEW
Smith T PerinCanadaOnyama Limba PROPOSAL
Kaitlin Y WhobreyItalyBernardo Dominic RENEWAL
Isabel Y FigeroaGermanyStephen Shaw NEW
Costa U KuskoAustraliaBernardo Dominic PROPOSAL
Arvin U SchemmerJapanXuxue Feng NEGOTIATION
Izzy R MorascaGermanyBernardo Dominic NEW
Julie S GauchoCanadaIvan Magalhaes NEW
Maria J DilliardUnited KingdomBernardo Dominic RENEWAL
Mayumi I GauchoFranceIoni Bowcher PROPOSAL
Jones A RulapaughRussiaOnyama Limba QUALIFIED
Alejandro S ShinkoAustraliaOnyama Limba UNQUALIFIED
Isabel A BowleyGermanyAnna Fali UNQUALIFIED
Leon N MarrierRussiaAmy Elsner NEGOTIATION
Wickens F SchemmerSpainOnyama Limba RENEWAL
Murillo T SaylorsAustraliaIvan Magalhaes RENEWAL
Maisha B NestleUnited KingdomElwin Sharvill RENEWAL
Julie Z AmigonUnited KingdomAmy Elsner PROPOSAL
Francesco D CampainSpainAnna Fali RENEWAL
Johnson U ShinkoFranceElwin Sharvill NEW
Adams W AmigonBrazilBernardo Dominic QUALIFIED
Ricardo W GarufiRussiaAmy Elsner NEW
Wickens N MaletArgentinaBernardo Dominic PROPOSAL
Kaitlin T FollerUnited KingdomIvan Magalhaes QUALIFIED
James B RimGermanyElwin Sharvill PROPOSAL
Leja V OstroskyGermanyStephen Shaw PROPOSAL
Leja M TollnerJapanElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Antonio Y AlbaresAustraliaElwin Sharvill NEW
Isabel I RimFranceAnna Fali NEGOTIATION
Arvin N SaylorsAustraliaElwin Sharvill NEW
Mayumi T NickaRussiaBernardo Dominic NEGOTIATION
Tony E TollnerSpainIvan Magalhaes PROPOSAL
Deepesh Q IturbideGermanyAsiya Javayant QUALIFIED
Julie H DilliardItalyIoni Bowcher NEW
Silvio Y BologniaJapanAnna Fali UNQUALIFIED
Salvatore I PerinArgentinaAsiya Javayant QUALIFIED
Kaitlin R AmigonBrazilAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie U MaletFrance2024-05-20Rousseaux, Michael Esq PROPOSAL77Asiya Javayant
1001Maria Q SaylorsFrance2024-05-17Feltz Printing Service PROPOSAL60Xuxue Feng
1002Izzy M FlosiSpain2024-05-24Printing Dimensions NEGOTIATION43Amy Elsner
1003James H RulapaughUnited Kingdom2024-06-01Morlong Associates QUALIFIED68Onyama Limba
1004Wickens Q MorascaBrazil2024-06-02King, Christopher A Esq NEW65Elwin Sharvill
1005Aditya G PoquetteCanada2024-05-27Printing Dimensions NEGOTIATION82Ivan Magalhaes
1006Aruna C CampainFrance2024-05-22Feiner Bros QUALIFIED25Ivan Magalhaes
1007Adams M DoeArgentina2024-05-20King, Christopher A Esq RENEWAL94Asiya Javayant
1008Juan J GauchoAustralia2024-05-21Rousseaux, Michael Esq UNQUALIFIED23Ivan Magalhaes
1009Faith D BologniaGermany2024-06-08Feltz Printing Service NEGOTIATION22Ivan Magalhaes
1010Kadeem O RimRussia2024-06-02King, Christopher A Esq RENEWAL79Asiya Javayant
1011Sinclair H StensethJapan2024-06-06Chemel, James L Cpa UNQUALIFIED47Elwin Sharvill
1012Silvio G GillianUnited Kingdom2024-06-04Benton, John B Jr NEGOTIATION62Anna Fali
1013Faith L CampainAustralia2024-05-12Feiner Bros PROPOSAL93Xuxue Feng
1014Ashley M GlickAustralia2024-05-30Printing Dimensions PROPOSAL5Xuxue Feng
1015Maisha A FlosiGermany2024-06-01Feltz Printing Service NEW69Ivan Magalhaes
1016Aruna Q FlosiArgentina2024-05-16Chemel, James L Cpa NEW8Amy Elsner
1017Aruna Q BologniaJapan2024-05-17Feiner Bros PROPOSAL23Anna Fali
1018Aruna D VenereIndia2024-05-11Chanay, Jeffrey A Esq PROPOSAL30Stephen Shaw
1019Cody I GarufiGermany2024-05-11Chanay, Jeffrey A Esq NEW94Bernardo Dominic
1020Mujtaba C AlbaresFrance2024-05-11Rangoni Of Florence NEGOTIATION56Stephen Shaw
1021Munro W FollerGermany2024-05-27Rousseaux, Michael Esq UNQUALIFIED21Bernardo Dominic
1022Julie T OstroskyUnited Kingdom2024-05-11King, Christopher A Esq UNQUALIFIED15Ivan Magalhaes
1023Francesco J WieserSpain2024-06-04Chapman, Ross E Esq UNQUALIFIED10Ioni Bowcher
1024David C GillianItaly2024-05-30Benton, John B Jr RENEWAL11Ivan Magalhaes
1025Silvio O MaletSpain2024-05-30Chemel, James L Cpa RENEWAL59Stephen Shaw
1026Rodrigues G BologniaRussia2024-06-01Rousseaux, Michael Esq NEGOTIATION48Onyama Limba
1027Faith Z PaprockiGermany2024-05-24Chemel, James L Cpa RENEWAL38Amy Elsner
1028Sinclair L InouyeJapan2024-05-20Chapman, Ross E Esq NEGOTIATION1Elwin Sharvill
1029Greenwood W MaletGermany2024-05-30Dorl, James J Esq NEW24Onyama Limba
1030Ashley D GarufiAustralia2024-06-05Commercial Press NEW20Stephen Shaw
1031Nicolas T SaylorsCanada2024-05-17Chanay, Jeffrey A Esq QUALIFIED33Anna Fali
1032James M FollerRussia2024-05-22Buckley Miller Wright NEW24Amy Elsner
1033Jefferson Z FlosiItaly2024-06-07Morlong Associates NEW91Bernardo Dominic
1034Isabel I SlusarskiGermany2024-05-12Feiner Bros PROPOSAL7Amy Elsner
1035Octavia N MacleadGermany2024-05-19Feiner Bros NEW67Anna Fali
1036Wickens G AlbaresAustralia2024-05-29Feltz Printing Service RENEWAL89Onyama Limba
1037Antonio Z DarakjyItaly2024-05-24Rousseaux, Michael Esq NEGOTIATION19Ioni Bowcher
1038Johnson S StockhamRussia2024-05-17Commercial Press RENEWAL16Anna Fali
1039Jones P DoeItaly2024-05-30Feltz Printing Service PROPOSAL73Bernardo Dominic
1040Isabel C PerinFrance2024-05-18Buckley Miller Wright NEW38Stephen Shaw
1041Jones R RoysterSpain2024-05-24Rangoni Of Florence PROPOSAL97Onyama Limba
1042Faith U OstroskyGermany2024-05-20King, Christopher A Esq QUALIFIED45Stephen Shaw
1043Adams J SaylorsArgentina2024-05-21Feiner Bros NEGOTIATION52Anna Fali
1044Alejandro K MarrierItaly2024-05-28Commercial Press NEW9Xuxue Feng
1045Julie S ShinkoItaly2024-05-16Rangoni Of Florence RENEWAL75Elwin Sharvill
1046Kadeem S WhobreyIndia2024-05-15Chanay, Jeffrey A Esq RENEWAL72Stephen Shaw
1047Nicolas O BowleyCanada2024-05-13Rangoni Of Florence UNQUALIFIED18Ivan Magalhaes
1048Salvatore Q GlickCanada2024-06-09Truhlar And Truhlar Attys NEGOTIATION40Elwin Sharvill
1049Aika E SchemmerCanada2024-05-15Rousseaux, Michael Esq RENEWAL49Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Greenwood E GlickArgentinaIvan Magalhaes NEW
Clifford U BowleyRussiaAmy Elsner QUALIFIED
Izzy I RulapaughCanadaStephen Shaw NEGOTIATION
Faith G GauchoUnited KingdomBernardo Dominic PROPOSAL
Ashley H DilliardItalyElwin Sharvill PROPOSAL
Jones L FollerFranceBernardo Dominic NEGOTIATION
Stacey N ShinkoRussiaXuxue Feng RENEWAL
Morrow N DoeBrazilIoni Bowcher NEGOTIATION
Silvio U SlusarskiJapanIoni Bowcher PROPOSAL
Rodrigues I SaylorsBrazilBernardo Dominic NEW
Stacey W SlusarskiArgentinaIvan Magalhaes RENEWAL
Leon S ButtItalyXuxue Feng NEW
Jennifer W MorascaBrazilAmy Elsner QUALIFIED
Octavia X FerenczItalyAsiya Javayant UNQUALIFIED
Johnson E SaylorsSpainAnna Fali UNQUALIFIED
Wickens Z CaudyUnited KingdomStephen Shaw PROPOSAL
Tony B SlusarskiRussiaOnyama Limba UNQUALIFIED
James E IturbideFranceIvan Magalhaes RENEWAL
Arvin O AlbaresBrazilOnyama Limba UNQUALIFIED
James N OstroskyIndiaStephen Shaw RENEWAL
Deepesh Y InouyeCanadaXuxue Feng RENEWAL
Deepesh E VenereUnited KingdomOnyama Limba UNQUALIFIED
Leon S BowleySpainElwin Sharvill NEW
Claire W BologniaFranceAmy Elsner RENEWAL
Alejandro G ShinkoRussiaIoni Bowcher RENEWAL
Maria R SlusarskiItalyElwin Sharvill NEW
Emily I ButtUnited KingdomAsiya Javayant PROPOSAL
Mayumi N TollnerBrazilXuxue Feng PROPOSAL
Leja F CampainArgentinaStephen Shaw NEGOTIATION
Juan B FlosiItalyAsiya Javayant QUALIFIED
Arvin Z RulapaughGermanyIvan Magalhaes NEGOTIATION
Izzy V StensethItalyElwin Sharvill QUALIFIED
Munro T ButtArgentinaAsiya Javayant PROPOSAL
Claire E BologniaItalyAnna Fali PROPOSAL
Aditya E FollerGermanyIoni Bowcher QUALIFIED
Jeanfrancois K FerenczRussiaAnna Fali QUALIFIED
Nicolas G SchemmerArgentinaAsiya Javayant NEW
Salvatore Y WhobreyCanadaAnna Fali UNQUALIFIED
Johnson V SaylorsJapanIoni Bowcher UNQUALIFIED
Izzy H FollerSpainAmy Elsner NEW
Leja H RulapaughFranceAmy Elsner UNQUALIFIED
Cody R CaudyGermanyIvan Magalhaes RENEWAL
Leja P MaletRussiaAmy Elsner NEW
Sinclair M VocelkaAustraliaIvan Magalhaes NEW
Clifford K ShinkoCanadaIoni Bowcher PROPOSAL
Aika T InouyeArgentinaElwin Sharvill NEW
Mujtaba I BriddickSpainXuxue Feng NEGOTIATION
Costa N SchemmerFranceAmy Elsner NEW
James U MarrierCanadaIoni Bowcher RENEWAL
Silvio K NickaIndiaAmy Elsner RENEWAL
Frozen Columns
Name
Arvin J Nestle
Jennifer G Morasca
Alejandro F Garufi
Mayumi V Albares
Costa D Ostrosky
Rodrigues B Morasca
Deepesh P Poquette
Antonio F Bowley
Ashley T Darakjy
Misaki B Saylors
Kaitlin G Butt
Murillo Z Rim
Jennifer H Whobrey
Aruna L Ostrosky
Wickens Z Bolognia
Misaki S Maclead
Maria U Oldroyd
Greenwood Q Campain
Chavez Y Oldroyd
Arvin B Sergi
Faith I Schemmer
Stacey N Albares
Silvio L Glick
Tony D Poquette
Deepesh Z Marrier
Misaki B Marrier
Smith I Briddick
Julie J Ruta
Smith X Ruta
Arvin V Royster
Jennifer S Poquette
Kadeem M Tollner
Wickens T Bowley
Nicolas Q Inouye
Darci J Perin
Izzy T Marrier
Emily Q Ostrosky
Aika S Flosi
Aditya Y Ferencz
Chavez V Gillian
Maisha U Vocelka
Maisha D Oldroyd
Tony L Stockham
Darci M Briddick
Murillo G Waycott
Ivar K Briddick
Ashley F Venere
Mujtaba H Nestle
Costa K Albares
Murillo P Malet
IdCountryDate
1000Argentina2024-05-21
1001Italy2024-05-30
1002France2024-05-16
1003Australia2024-05-31
1004Brazil2024-05-19
1005Germany2024-05-27
1006Germany2024-06-02
1007Canada2024-05-26
1008Japan2024-05-31
1009Japan2024-05-28
1010Argentina2024-06-08
1011United Kingdom2024-05-30
1012United Kingdom2024-05-21
1013Italy2024-05-21
1014Japan2024-06-05
1015Japan2024-06-02
1016Brazil2024-05-31
1017India2024-05-24
1018Brazil2024-05-30
1019United Kingdom2024-05-25
1020Russia2024-05-26
1021Australia2024-05-24
1022Brazil2024-05-24
1023India2024-05-22
1024Italy2024-05-21
1025Australia2024-05-29
1026India2024-05-22
1027Brazil2024-05-21
1028Japan2024-05-21
1029Spain2024-05-21
1030Germany2024-06-01
1031Italy2024-06-01
1032Brazil2024-06-04
1033United Kingdom2024-05-25
1034Australia2024-05-15
1035Brazil2024-05-23
1036Canada2024-05-31
1037Australia2024-05-16
1038India2024-05-30
1039Australia2024-05-17
1040Spain2024-05-31
1041Germany2024-05-27
1042United Kingdom2024-06-09
1043Germany2024-05-26
1044Germany2024-05-24
1045Russia2024-05-16
1046United Kingdom2024-06-05
1047Australia2024-06-07
1048Japan2024-05-14
1049Germany2024-06-03

On-Demand Data

NameIdCountryDate
Misaki S Wieser1000Italy2024-05-23
Rodrigues T Butt1001Italy2024-06-07
Francesco T Inouye1002Italy2024-05-23
Jones J Ostrosky1003Spain2024-05-24
Julie P Butt1004United Kingdom2024-06-07
Leon D Kolmetz1005United Kingdom2024-05-16
Aruna Q Gaucho1006Italy2024-05-24
Maisha B Bolognia1007Spain2024-05-22
Rodrigues B Bowley1008United Kingdom2024-05-22
Ivar B Flosi1009Italy2024-05-12
Jefferson D Waycott1010United Kingdom2024-06-07
Cody U Maclead1011Argentina2024-05-28
Misaki O Inouye1012Germany2024-06-02
Juan D Chui1013United Kingdom2024-06-09
Silvio U Bowley1014Canada2024-06-08
Adams X Chui1015Italy2024-05-30
Johnson T Malet1016Brazil2024-06-02
Faith W Campain1017Canada2024-06-06
Salvatore R Garufi1018Argentina2024-05-11
Nicolas Y Ferencz1019Japan2024-05-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel P WaycottRussiaAmy Elsner UNQUALIFIED
Murillo X MacleadGermanyOnyama Limba RENEWAL
James G SlusarskiItalyIoni Bowcher RENEWAL
James N DoeItalyStephen Shaw RENEWAL
Chavez S GarufiArgentinaAmy Elsner UNQUALIFIED
Leon B ShinkoUnited KingdomAsiya Javayant PROPOSAL
Alejandro X MacleadAustraliaBernardo Dominic RENEWAL
Jeanfrancois C DilliardJapanAnna Fali UNQUALIFIED
Octavia O BriddickGermanyAnna Fali NEW
Alejandro M MaletFranceStephen Shaw UNQUALIFIED
Costa A PaprockiSpainIoni Bowcher RENEWAL
Wickens U SergiJapanXuxue Feng UNQUALIFIED
Octavia G MacleadSpainIoni Bowcher RENEWAL
James N BologniaBrazilAmy Elsner RENEWAL
Rodrigues W PaprockiJapanIvan Magalhaes UNQUALIFIED
Johnson P SlusarskiUnited KingdomAnna Fali PROPOSAL
Ivar P MorascaFranceIvan Magalhaes QUALIFIED
Julie M FollerUnited KingdomBernardo Dominic NEW
Maria Y DoeSpainAmy Elsner PROPOSAL
Isabel N SlusarskiJapanAnna Fali RENEWAL
Adams D IturbideUnited KingdomOnyama Limba UNQUALIFIED
Deepesh H DarakjyArgentinaOnyama Limba NEW
Salvatore X SchemmerAustraliaAmy Elsner QUALIFIED
Misaki U KolmetzArgentinaIvan Magalhaes NEW
Silvio V SchemmerCanadaAsiya Javayant PROPOSAL
Johnson X PerinIndiaElwin Sharvill UNQUALIFIED
Antonio D CaudyFranceIvan Magalhaes UNQUALIFIED
Arvin U PerinIndiaStephen Shaw NEW
Arvin Q StensethFranceBernardo Dominic UNQUALIFIED
Leon B KuskoCanadaAmy Elsner UNQUALIFIED
Octavia A MacleadGermanyElwin Sharvill QUALIFIED
Antonio O SchemmerAustraliaElwin Sharvill PROPOSAL
Nicolas A GillianItalyIoni Bowcher RENEWAL
Maisha B IturbideJapanXuxue Feng PROPOSAL
Greenwood K FerenczGermanyElwin Sharvill RENEWAL
Sinclair G MaletCanadaXuxue Feng NEGOTIATION
Claire R FerenczRussiaElwin Sharvill UNQUALIFIED
Faith Y CaldareraCanadaAmy Elsner NEGOTIATION
Jeanfrancois S BriddickGermanyIoni Bowcher QUALIFIED
Maria X SchemmerUnited KingdomIvan Magalhaes 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>