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
Johnson Y MarrierFranceAmy Elsner QUALIFIED
Rodrigues Y IturbideArgentinaXuxue Feng PROPOSAL
Aika U RutaAustraliaAmy Elsner RENEWAL
Maria T FerenczArgentinaAnna Fali QUALIFIED
Ivar S PoquetteItalyStephen Shaw QUALIFIED
Leon I FerenczBrazilAnna Fali UNQUALIFIED
Ivar P ButtSpainAmy Elsner NEGOTIATION
Johnson V CampainJapanXuxue Feng NEGOTIATION
Misaki G CaldareraCanadaAnna Fali NEW
Jefferson F WaycottAustraliaElwin Sharvill UNQUALIFIED
Chavez P RutaFranceXuxue Feng QUALIFIED
Claire S BriddickCanadaOnyama Limba UNQUALIFIED
Clifford H BologniaArgentinaElwin Sharvill NEW
Emily D NestleFranceOnyama Limba PROPOSAL
Alejandro K SergiItalyIvan Magalhaes UNQUALIFIED
Morrow Z FerenczArgentinaAmy Elsner RENEWAL
Aditya K RimItalyBernardo Dominic NEGOTIATION
Silvio T MacleadCanadaAnna Fali QUALIFIED
Isabel Z NestleIndiaStephen Shaw NEGOTIATION
Leon S MaletCanadaIvan Magalhaes RENEWAL
David P BologniaRussiaOnyama Limba RENEWAL
Aruna Q OldroydGermanyIvan Magalhaes UNQUALIFIED
Mayumi C GarufiJapanXuxue Feng PROPOSAL
Isabel W DarakjyRussiaIoni Bowcher UNQUALIFIED
Mujtaba Q PerinItalyOnyama Limba NEGOTIATION
Octavia Q DarakjyFranceXuxue Feng RENEWAL
Greenwood M FlosiCanadaOnyama Limba UNQUALIFIED
Greenwood K DoeCanadaIvan Magalhaes QUALIFIED
Sinclair N RulapaughArgentinaIoni Bowcher NEW
Morrow M IturbideGermanyIvan Magalhaes UNQUALIFIED
Munro J OldroydUnited KingdomAmy Elsner NEGOTIATION
Johnson J WhobreyUnited KingdomIoni Bowcher NEGOTIATION
Claire L IturbideAustraliaOnyama Limba PROPOSAL
Wickens F WhobreyArgentinaStephen Shaw QUALIFIED
Costa H MaletArgentinaXuxue Feng NEW
Julie C PoquetteBrazilOnyama Limba QUALIFIED
Adams A MarrierFranceStephen Shaw PROPOSAL
Kadeem J NickaSpainAsiya Javayant NEGOTIATION
Arvin Q RulapaughGermanyOnyama Limba PROPOSAL
Claire Q KolmetzSpainElwin Sharvill PROPOSAL
Munro D CaudyIndiaIvan Magalhaes NEW
Jennifer R BologniaGermanyAsiya Javayant RENEWAL
Chavez E BowleyBrazilXuxue Feng PROPOSAL
Ivar A StensethBrazilIvan Magalhaes UNQUALIFIED
Sinclair T CampainAustraliaAmy Elsner QUALIFIED
Faith M BologniaGermanyAmy Elsner QUALIFIED
Jefferson A DoeSpainXuxue Feng RENEWAL
Ashley H RulapaughCanadaElwin Sharvill QUALIFIED
Wickens G CaudyItalyBernardo Dominic QUALIFIED
Wickens J KolmetzArgentinaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo T SergiGermanyStephen Shaw QUALIFIED
Greenwood O FollerUnited KingdomAmy Elsner UNQUALIFIED
Jefferson E KuskoIndiaElwin Sharvill QUALIFIED
Silvio O GlickJapanStephen Shaw PROPOSAL
Ashley H RutaSpainAsiya Javayant QUALIFIED
Francesco A DilliardCanadaBernardo Dominic PROPOSAL
Morrow E GlickItalyXuxue Feng PROPOSAL
Aditya J CaldareraAustraliaElwin Sharvill NEGOTIATION
Mayumi D MarrierBrazilIvan Magalhaes QUALIFIED
Costa V OldroydArgentinaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna L WhobreyUnited Kingdom2025-05-30Rousseaux, Michael Esq PROPOSAL54Elwin Sharvill
1001Leon K GarufiCanada2025-05-25King, Christopher A Esq PROPOSAL31Asiya Javayant
1002Cody G SaylorsCanada2025-06-05Printing Dimensions UNQUALIFIED91Asiya Javayant
1003Antonio S StensethArgentina2025-06-07Rangoni Of Florence NEW34Onyama Limba
1004Deepesh F RimRussia2025-06-01Rangoni Of Florence NEW89Amy Elsner
1005Ricardo M GlickArgentina2025-06-14Benton, John B Jr RENEWAL78Stephen Shaw
1006Jefferson F GlickSpain2025-06-11Buckley Miller Wright NEGOTIATION98Elwin Sharvill
1007Adams K AmigonSpain2025-06-01Feiner Bros NEW19Bernardo Dominic
1008Alejandro G NestleIndia2025-06-13Buckley Miller Wright UNQUALIFIED57Elwin Sharvill
1009Jefferson F WieserArgentina2025-05-23Printing Dimensions UNQUALIFIED79Amy Elsner
1010Murillo N MaletArgentina2025-06-03Benton, John B Jr NEGOTIATION90Xuxue Feng
1011Chavez N PoquetteIndia2025-06-14Chanay, Jeffrey A Esq NEW14Bernardo Dominic
1012Francesco J NestleJapan2025-05-23Truhlar And Truhlar Attys QUALIFIED55Onyama Limba
1013Octavia G GillianIndia2025-06-15Rousseaux, Michael Esq PROPOSAL70Ivan Magalhaes
1014Nicolas P RoysterSpain2025-05-31Buckley Miller Wright RENEWAL49Ioni Bowcher
1015Johnson S FigeroaSpain2025-06-15Truhlar And Truhlar Attys QUALIFIED90Xuxue Feng
1016Ivar D GillianJapan2025-05-30Rangoni Of Florence PROPOSAL87Onyama Limba
1017Munro V StockhamJapan2025-05-28Commercial Press QUALIFIED64Anna Fali
1018Kadeem M WieserJapan2025-05-26Feltz Printing Service RENEWAL29Bernardo Dominic
1019Kaitlin V AmigonUnited Kingdom2025-06-16King, Christopher A Esq QUALIFIED92Stephen Shaw
1020Leon U DilliardCanada2025-06-06Feiner Bros QUALIFIED53Bernardo Dominic
1021Alejandro N PerinRussia2025-06-05Rousseaux, Michael Esq UNQUALIFIED50Ioni Bowcher
1022Antonio C RimJapan2025-05-29Buckley Miller Wright RENEWAL67Onyama Limba
1023Salvatore Z FollerItaly2025-06-09Chanay, Jeffrey A Esq UNQUALIFIED13Elwin Sharvill
1024Adams G BologniaArgentina2025-05-29Benton, John B Jr NEGOTIATION79Amy Elsner
1025Sinclair K OldroydRussia2025-05-23King, Christopher A Esq RENEWAL18Amy Elsner
1026Maisha L InouyeBrazil2025-06-16Dorl, James J Esq NEW95Anna Fali
1027Faith E BriddickRussia2025-06-07Feiner Bros UNQUALIFIED45Stephen Shaw
1028Munro A SlusarskiFrance2025-06-12Chapman, Ross E Esq RENEWAL56Xuxue Feng
1029Aditya X PoquetteItaly2025-05-28Rangoni Of Florence RENEWAL51Ioni Bowcher
1030Stacey C FerenczAustralia2025-05-21Printing Dimensions UNQUALIFIED8Bernardo Dominic
1031Mayumi T DarakjyGermany2025-05-22Dorl, James J Esq UNQUALIFIED17Asiya Javayant
1032Claire U ButtGermany2025-05-22Rousseaux, Michael Esq RENEWAL45Elwin Sharvill
1033Cody N FigeroaFrance2025-06-06King, Christopher A Esq NEW51Elwin Sharvill
1034Jennifer Q MaletAustralia2025-05-30Benton, John B Jr PROPOSAL78Ioni Bowcher
1035Julie A GarufiCanada2025-06-04Dorl, James J Esq QUALIFIED18Elwin Sharvill
1036Chavez G SergiRussia2025-06-14Dorl, James J Esq NEW90Ivan Magalhaes
1037Misaki I GlickAustralia2025-05-19Truhlar And Truhlar Attys UNQUALIFIED37Asiya Javayant
1038Julie U SergiUnited Kingdom2025-05-23Printing Dimensions RENEWAL55Elwin Sharvill
1039Maisha K WieserRussia2025-06-15Chemel, James L Cpa NEW88Bernardo Dominic
1040Rodrigues V OstroskySpain2025-06-08Truhlar And Truhlar Attys NEW81Bernardo Dominic
1041Jennifer B PoquetteBrazil2025-05-19Commercial Press RENEWAL81Bernardo Dominic
1042Juan K SergiRussia2025-06-11Feiner Bros NEW82Onyama Limba
1043Maria W ButtArgentina2025-06-10Morlong Associates NEGOTIATION95Xuxue Feng
1044Misaki R DarakjySpain2025-06-13Dorl, James J Esq RENEWAL95Bernardo Dominic
1045Kadeem X FlosiAustralia2025-05-29Commercial Press PROPOSAL89Stephen Shaw
1046Munro Z InouyeJapan2025-05-21King, Christopher A Esq PROPOSAL3Ioni Bowcher
1047Leja Q FigeroaIndia2025-05-23Dorl, James J Esq QUALIFIED55Onyama Limba
1048Cody N OstroskyUnited Kingdom2025-05-20Buckley Miller Wright QUALIFIED25Bernardo Dominic
1049Emily E MaletAustralia2025-06-03Dorl, James J Esq NEGOTIATION98Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues I BologniaArgentinaXuxue Feng NEW
Morrow G BriddickArgentinaAmy Elsner NEGOTIATION
Darci J RimArgentinaIvan Magalhaes NEGOTIATION
Octavia L GarufiIndiaIvan Magalhaes RENEWAL
Rodrigues E PerinGermanyBernardo Dominic RENEWAL
Ivar G CaudyUnited KingdomIvan Magalhaes RENEWAL
Cody O CaldareraIndiaIvan Magalhaes NEW
David S AmigonFranceAnna Fali RENEWAL
Greenwood H VocelkaBrazilAmy Elsner UNQUALIFIED
Smith V MaletIndiaAmy Elsner UNQUALIFIED
Antonio J IturbideGermanyBernardo Dominic RENEWAL
Costa J NestleItalyStephen Shaw NEW
Salvatore K PaprockiSpainAsiya Javayant NEGOTIATION
Juan S GarufiGermanyStephen Shaw NEGOTIATION
Antonio Z BriddickUnited KingdomElwin Sharvill NEW
Sinclair Z GarufiIndiaBernardo Dominic NEGOTIATION
Smith P GlickJapanAnna Fali QUALIFIED
Adams Q SlusarskiIndiaAnna Fali QUALIFIED
Sinclair D KuskoUnited KingdomAmy Elsner NEW
Antonio R GlickCanadaXuxue Feng NEGOTIATION
Silvio A WhobreySpainAsiya Javayant UNQUALIFIED
Isabel E MarrierAustraliaStephen Shaw UNQUALIFIED
Clifford E VocelkaJapanIoni Bowcher PROPOSAL
Julie Y FigeroaAustraliaOnyama Limba PROPOSAL
Ricardo Z MorascaFranceStephen Shaw NEGOTIATION
Leon N StockhamFranceXuxue Feng NEGOTIATION
Izzy R StensethArgentinaBernardo Dominic QUALIFIED
Murillo D GillianArgentinaElwin Sharvill QUALIFIED
David J MaletSpainXuxue Feng PROPOSAL
Jennifer L MorascaFranceAnna Fali UNQUALIFIED
Aruna O CaudyBrazilXuxue Feng PROPOSAL
Isabel P DarakjyAustraliaAmy Elsner PROPOSAL
Maria Z DilliardBrazilStephen Shaw QUALIFIED
Aika O StockhamAustraliaAsiya Javayant PROPOSAL
Ricardo N StockhamSpainStephen Shaw NEGOTIATION
Ivar G MaletArgentinaOnyama Limba NEW
Salvatore B ButtIndiaElwin Sharvill UNQUALIFIED
Alejandro Z ChuiIndiaOnyama Limba NEW
Antonio G VocelkaBrazilAmy Elsner QUALIFIED
Jeanfrancois Q VenereUnited KingdomXuxue Feng RENEWAL
Darci R RoysterRussiaOnyama Limba QUALIFIED
Mujtaba W MorascaAustraliaXuxue Feng QUALIFIED
Mayumi W IturbideAustraliaAmy Elsner RENEWAL
Jennifer H InouyeJapanElwin Sharvill RENEWAL
Rodrigues R MarrierBrazilXuxue Feng NEGOTIATION
Munro R RutaArgentinaStephen Shaw UNQUALIFIED
Salvatore A GlickGermanyStephen Shaw RENEWAL
Darci J CaudyJapanIvan Magalhaes RENEWAL
Smith E RutaArgentinaOnyama Limba NEGOTIATION
Silvio Y NickaItalyIoni Bowcher RENEWAL
Frozen Columns
Name
Misaki M Dilliard
Ricardo L Marrier
Morrow B Shinko
Mujtaba V Oldroyd
Leja G Bowley
Kaitlin E Rulapaugh
Antonio L Stenseth
Emily I Ruta
Arvin Y Saylors
Ricardo W Glick
Aika R Foller
Cody F Iturbide
Wickens J Vocelka
Sinclair V Iturbide
Cody Y Chui
Darci M Stenseth
Ivar C Garufi
Alejandro V Wieser
Octavia H Poquette
Stacey E Glick
Clifford E Wieser
David Z Malet
Faith A Kolmetz
Maria Z Foller
Maisha H Chui
Salvatore N Waycott
Jennifer Z Stenseth
Tony C Caudy
Chavez T Caudy
Murillo T Saylors
Greenwood C Gillian
James U Gillian
Jefferson J Morasca
Adams F Nestle
Mayumi U Caldarera
Juan S Stenseth
Munro E Stenseth
Aditya V Glick
Mujtaba D Butt
Antonio Q Paprocki
Tony T Schemmer
Munro C Whobrey
Leon Q Gillian
Mayumi B Malet
Mujtaba F Tollner
Francesco W Figeroa
Arvin U Marrier
Juan H Malet
Johnson F Sergi
Claire C Kolmetz
IdCountryDate
1000Russia2025-05-29
1001Germany2025-06-12
1002Germany2025-05-26
1003Japan2025-06-09
1004United Kingdom2025-06-11
1005Russia2025-05-21
1006Japan2025-06-07
1007United Kingdom2025-05-26
1008United Kingdom2025-06-12
1009Canada2025-06-01
1010Russia2025-05-28
1011France2025-06-03
1012Australia2025-06-04
1013Germany2025-05-30
1014Spain2025-06-12
1015Canada2025-06-04
1016Germany2025-06-11
1017Russia2025-05-18
1018United Kingdom2025-06-16
1019Spain2025-06-01
1020France2025-05-19
1021Canada2025-06-10
1022Italy2025-06-07
1023United Kingdom2025-05-31
1024Germany2025-06-11
1025Brazil2025-05-24
1026Germany2025-06-14
1027United Kingdom2025-06-06
1028Italy2025-05-21
1029Germany2025-06-16
1030Russia2025-05-20
1031France2025-06-16
1032India2025-05-24
1033Spain2025-05-22
1034Russia2025-05-19
1035Australia2025-05-24
1036Italy2025-06-14
1037Germany2025-05-20
1038Canada2025-06-01
1039Brazil2025-05-20
1040Canada2025-05-18
1041Italy2025-05-26
1042Argentina2025-05-19
1043France2025-05-20
1044Canada2025-05-19
1045United Kingdom2025-05-19
1046Germany2025-06-08
1047Russia2025-06-10
1048Italy2025-06-15
1049Canada2025-05-20

On-Demand Data

NameIdCountryDate
Ricardo E Caldarera1000United Kingdom2025-05-27
Murillo J Flosi1001Germany2025-05-24
Aditya R Venere1002India2025-06-13
Darci G Maclead1003Canada2025-05-21
Sinclair Y Kolmetz1004India2025-06-04
Smith N Ostrosky1005Brazil2025-05-25
Adams Z Bolognia1006Argentina2025-06-16
Mujtaba B Garufi1007Australia2025-05-18
Murillo E Caudy1008Russia2025-05-24
Francesco D Kusko1009France2025-06-10
Cody L Nicka1010Argentina2025-05-29
Emily A Nestle1011Canada2025-06-10
Rodrigues J Flosi1012India2025-05-20
Francesco N Royster1013India2025-06-13
Antonio V Sergi1014Argentina2025-05-24
David W Kusko1015Australia2025-05-18
Mayumi C Perin1016Brazil2025-05-30
Julie O Ostrosky1017Japan2025-06-03
Alejandro C Doe1018Canada2025-06-04
Leon V Bowley1019Argentina2025-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba T SlusarskiBrazilStephen Shaw UNQUALIFIED
Isabel S GlickItalyOnyama Limba QUALIFIED
Ashley Y FlosiAustraliaXuxue Feng UNQUALIFIED
Misaki M FlosiBrazilBernardo Dominic PROPOSAL
Jennifer K GauchoAustraliaStephen Shaw NEGOTIATION
Ricardo Y PerinGermanyIvan Magalhaes NEW
David R BologniaBrazilElwin Sharvill RENEWAL
Nicolas S WaycottFranceXuxue Feng QUALIFIED
Salvatore U ShinkoItalyIoni Bowcher UNQUALIFIED
Murillo M KuskoBrazilBernardo Dominic NEW
Tony C BriddickRussiaAnna Fali PROPOSAL
Smith V BowleyUnited KingdomIoni Bowcher PROPOSAL
Nicolas G VocelkaRussiaIvan Magalhaes QUALIFIED
Sinclair F DarakjyIndiaStephen Shaw RENEWAL
Murillo J FlosiAustraliaIoni Bowcher PROPOSAL
Chavez T DoeBrazilStephen Shaw NEW
Ivar Z SergiCanadaAsiya Javayant NEGOTIATION
Nicolas K FlosiSpainAmy Elsner NEGOTIATION
Claire C ChuiCanadaAmy Elsner RENEWAL
Isabel Q AmigonItalyBernardo Dominic NEW
Morrow C CaudyGermanyAmy Elsner PROPOSAL
Silvio S AmigonRussiaIoni Bowcher QUALIFIED
Morrow Y FerenczSpainAnna Fali PROPOSAL
Silvio J FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Emily J MarrierBrazilAmy Elsner NEW
Aruna Q InouyeIndiaElwin Sharvill PROPOSAL
Arvin M KolmetzCanadaIoni Bowcher NEGOTIATION
Aika A MarrierFranceIvan Magalhaes PROPOSAL
Ivar A OstroskyGermanyAnna Fali NEGOTIATION
Mujtaba A PoquetteGermanyBernardo Dominic UNQUALIFIED
Isabel V FigeroaFranceIoni Bowcher RENEWAL
Cody B StockhamArgentinaStephen Shaw NEGOTIATION
Aika Z WaycottGermanyXuxue Feng UNQUALIFIED
Salvatore T WieserCanadaBernardo Dominic NEW
Ashley I PoquetteJapanIoni Bowcher NEGOTIATION
Octavia P MacleadAustraliaXuxue Feng PROPOSAL
Maria Z BriddickSpainAnna Fali NEGOTIATION
Munro M AmigonJapanOnyama Limba RENEWAL
Kadeem I ShinkoGermanyStephen Shaw RENEWAL
Cody S FigeroaUnited KingdomIoni Bowcher RENEWAL

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