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
Ricardo V CaudyIndiaBernardo Dominic PROPOSAL
Stacey C StockhamUnited KingdomOnyama Limba NEW
David I RimSpainAnna Fali NEGOTIATION
Greenwood K DilliardGermanyXuxue Feng UNQUALIFIED
Greenwood C MaletItalyIoni Bowcher QUALIFIED
Izzy Q DoeIndiaAsiya Javayant UNQUALIFIED
Wickens Z OldroydJapanOnyama Limba PROPOSAL
Misaki O RoysterJapanAmy Elsner RENEWAL
Claire J InouyeArgentinaIoni Bowcher PROPOSAL
Emily B VenereBrazilIoni Bowcher QUALIFIED
Alejandro O KolmetzJapanElwin Sharvill PROPOSAL
Leon P StensethAustraliaIvan Magalhaes QUALIFIED
Francesco E MaletItalyAmy Elsner UNQUALIFIED
Ashley R ButtGermanyXuxue Feng PROPOSAL
Antonio J GarufiGermanyAmy Elsner NEGOTIATION
Jeanfrancois E FlosiCanadaAmy Elsner NEW
Munro E MorascaIndiaXuxue Feng UNQUALIFIED
Jones P DilliardItalyOnyama Limba PROPOSAL
Salvatore Z IturbideAustraliaBernardo Dominic PROPOSAL
Chavez H GlickGermanyAsiya Javayant RENEWAL
Kaitlin B SergiJapanIvan Magalhaes UNQUALIFIED
Leja K GarufiGermanyOnyama Limba RENEWAL
Jefferson P SaylorsSpainAsiya Javayant NEW
Kadeem D BologniaSpainIvan Magalhaes QUALIFIED
Leon J CaudyItalyXuxue Feng QUALIFIED
Misaki F SchemmerJapanXuxue Feng NEW
James X StensethUnited KingdomXuxue Feng RENEWAL
Jennifer P WieserSpainXuxue Feng NEW
Claire Y ChuiIndiaIoni Bowcher NEGOTIATION
Francesco V KuskoBrazilAnna Fali NEGOTIATION
David F WieserGermanyAsiya Javayant NEGOTIATION
Maisha U InouyeRussiaElwin Sharvill NEW
Aditya X PoquetteRussiaAmy Elsner PROPOSAL
Jennifer B ButtUnited KingdomElwin Sharvill NEW
Costa V SergiFranceXuxue Feng UNQUALIFIED
Aika K SaylorsCanadaIoni Bowcher RENEWAL
Leon C FigeroaBrazilAnna Fali UNQUALIFIED
Sinclair O DoeItalyIvan Magalhaes QUALIFIED
Kaitlin Y RimBrazilAnna Fali UNQUALIFIED
Maria U OstroskySpainOnyama Limba QUALIFIED
Aditya J VenereSpainBernardo Dominic NEGOTIATION
Rodrigues M GarufiSpainXuxue Feng QUALIFIED
Juan A TollnerArgentinaAsiya Javayant PROPOSAL
Aruna I AlbaresRussiaAnna Fali QUALIFIED
Nicolas B StensethBrazilAsiya Javayant NEW
David F BowleyJapanOnyama Limba RENEWAL
Munro Z ButtUnited KingdomBernardo Dominic NEGOTIATION
Tony P OldroydCanadaOnyama Limba NEW
Murillo W StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Chavez E FollerBrazilAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco N CaudyAustraliaElwin Sharvill NEGOTIATION
Smith T FerenczUnited KingdomStephen Shaw NEW
Leja W CaldareraBrazilElwin Sharvill PROPOSAL
Clifford V FigeroaRussiaIvan Magalhaes PROPOSAL
Darci E AmigonUnited KingdomBernardo Dominic NEW
Emily U WieserUnited KingdomAnna Fali RENEWAL
Francesco U NestleSpainBernardo Dominic RENEWAL
Rodrigues C OldroydAustraliaXuxue Feng UNQUALIFIED
Ashley Q InouyeUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba U ShinkoFranceStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci B MaletCanada2024-06-02Feltz Printing Service NEW79Stephen Shaw
1001Salvatore Y GlickGermany2024-05-19Feiner Bros RENEWAL1Onyama Limba
1002Mayumi W IturbideGermany2024-05-07Chapman, Ross E Esq PROPOSAL3Xuxue Feng
1003Isabel M InouyeFrance2024-05-21Printing Dimensions QUALIFIED64Bernardo Dominic
1004Aruna Q DoeJapan2024-05-31Truhlar And Truhlar Attys UNQUALIFIED29Onyama Limba
1005Arvin O SlusarskiItaly2024-05-29Dorl, James J Esq UNQUALIFIED13Xuxue Feng
1006Maisha H KuskoItaly2024-05-12Feltz Printing Service QUALIFIED37Onyama Limba
1007Smith S MaletRussia2024-05-12Chapman, Ross E Esq UNQUALIFIED87Asiya Javayant
1008Salvatore X SergiItaly2024-05-17Rousseaux, Michael Esq UNQUALIFIED83Stephen Shaw
1009James E WaycottFrance2024-05-19King, Christopher A Esq NEGOTIATION1Stephen Shaw
1010Francesco W MacleadSpain2024-05-22Dorl, James J Esq PROPOSAL76Stephen Shaw
1011Isabel P KuskoItaly2024-05-13Buckley Miller Wright PROPOSAL11Bernardo Dominic
1012Rodrigues B SergiCanada2024-05-07Commercial Press PROPOSAL86Stephen Shaw
1013Stacey U BriddickFrance2024-05-10Chapman, Ross E Esq PROPOSAL25Onyama Limba
1014Johnson R AmigonIndia2024-05-29Benton, John B Jr PROPOSAL85Stephen Shaw
1015Antonio O TollnerFrance2024-06-02Rousseaux, Michael Esq NEW52Stephen Shaw
1016Jones A GlickAustralia2024-05-14Chapman, Ross E Esq NEGOTIATION45Asiya Javayant
1017Munro I FlosiAustralia2024-05-19Truhlar And Truhlar Attys NEW58Ioni Bowcher
1018Jeanfrancois Y RoysterGermany2024-05-20Rousseaux, Michael Esq NEGOTIATION86Ioni Bowcher
1019Jefferson B CaudyAustralia2024-05-07Morlong Associates UNQUALIFIED60Ivan Magalhaes
1020Jones A OstroskyGermany2024-05-22Truhlar And Truhlar Attys QUALIFIED22Amy Elsner
1021Aditya I PoquetteJapan2024-05-17Rangoni Of Florence RENEWAL17Bernardo Dominic
1022Adams O OldroydArgentina2024-06-01Rousseaux, Michael Esq RENEWAL44Amy Elsner
1023James X ChuiArgentina2024-05-25Truhlar And Truhlar Attys PROPOSAL60Anna Fali
1024David C FollerBrazil2024-05-12Rangoni Of Florence NEW66Asiya Javayant
1025Arvin U RoysterRussia2024-05-31Feiner Bros NEW24Xuxue Feng
1026Antonio K RulapaughItaly2024-05-23Printing Dimensions NEW0Stephen Shaw
1027Jeanfrancois A StockhamBrazil2024-05-23Printing Dimensions PROPOSAL57Onyama Limba
1028Sinclair F SaylorsSpain2024-05-08Chapman, Ross E Esq NEW43Ioni Bowcher
1029Nicolas L FerenczArgentina2024-05-10Benton, John B Jr PROPOSAL79Ivan Magalhaes
1030Maria O RutaRussia2024-05-07Chemel, James L Cpa QUALIFIED24Amy Elsner
1031Aika Y MaletFrance2024-05-19Morlong Associates QUALIFIED16Stephen Shaw
1032Mujtaba H CaldareraRussia2024-05-19Rousseaux, Michael Esq UNQUALIFIED68Asiya Javayant
1033Silvio C StockhamBrazil2024-05-17Benton, John B Jr RENEWAL36Ioni Bowcher
1034Alejandro J VocelkaCanada2024-05-31Printing Dimensions UNQUALIFIED34Stephen Shaw
1035Jeanfrancois R MaletItaly2024-05-15Dorl, James J Esq UNQUALIFIED9Onyama Limba
1036Aditya W RoysterJapan2024-06-04Chanay, Jeffrey A Esq NEW64Ioni Bowcher
1037Silvio Y GauchoRussia2024-05-22Benton, John B Jr NEW98Onyama Limba
1038Darci N RoysterJapan2024-05-09King, Christopher A Esq QUALIFIED76Stephen Shaw
1039David Z SlusarskiSpain2024-05-17Rousseaux, Michael Esq QUALIFIED13Asiya Javayant
1040Juan N AlbaresArgentina2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED36Anna Fali
1041Aika P SaylorsGermany2024-05-14King, Christopher A Esq NEW71Amy Elsner
1042Maisha S FollerUnited Kingdom2024-05-20Commercial Press NEW95Xuxue Feng
1043Ashley L CaudyRussia2024-05-30King, Christopher A Esq NEW25Xuxue Feng
1044Darci X RoysterCanada2024-05-07Rangoni Of Florence QUALIFIED68Asiya Javayant
1045Tony W InouyeSpain2024-05-12Truhlar And Truhlar Attys NEGOTIATION45Xuxue Feng
1046Adams S ShinkoBrazil2024-05-12Benton, John B Jr NEGOTIATION65Bernardo Dominic
1047Sinclair D NickaCanada2024-05-09Rousseaux, Michael Esq QUALIFIED98Xuxue Feng
1048Octavia R AlbaresRussia2024-05-22Feltz Printing Service NEW57Onyama Limba
1049Costa X MaletGermany2024-05-07Morlong Associates NEGOTIATION83Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Salvatore L MorascaSpainAsiya Javayant NEGOTIATION
Mujtaba I WhobreyFranceIoni Bowcher RENEWAL
Arvin Q OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba R BologniaRussiaElwin Sharvill PROPOSAL
Francesco A FollerJapanOnyama Limba NEW
Ricardo K CaudyBrazilOnyama Limba QUALIFIED
Adams M MarrierCanadaOnyama Limba UNQUALIFIED
Claire Y SergiCanadaAsiya Javayant PROPOSAL
Juan V IturbideSpainStephen Shaw NEW
Jefferson F OstroskyJapanIoni Bowcher UNQUALIFIED
Aruna A PerinCanadaStephen Shaw NEGOTIATION
Octavia K ChuiBrazilAmy Elsner QUALIFIED
Kaitlin M PoquetteItalyAmy Elsner RENEWAL
Alejandro J MaletUnited KingdomAnna Fali NEGOTIATION
Ashley E NickaUnited KingdomXuxue Feng RENEWAL
Izzy Z GauchoArgentinaAmy Elsner QUALIFIED
Murillo V WieserRussiaIvan Magalhaes PROPOSAL
David H BologniaSpainElwin Sharvill UNQUALIFIED
Arvin Q BriddickFranceOnyama Limba PROPOSAL
Leja Y WieserIndiaIoni Bowcher NEGOTIATION
James R NestleAustraliaBernardo Dominic NEGOTIATION
Antonio B FigeroaAustraliaAnna Fali UNQUALIFIED
Izzy A MorascaCanadaBernardo Dominic QUALIFIED
Morrow X BologniaIndiaAsiya Javayant RENEWAL
Murillo P BriddickArgentinaOnyama Limba UNQUALIFIED
Izzy Y StockhamArgentinaAmy Elsner NEGOTIATION
Mujtaba G PoquetteAustraliaAnna Fali PROPOSAL
Octavia K CampainSpainAmy Elsner UNQUALIFIED
Aika K RulapaughJapanAsiya Javayant UNQUALIFIED
Ashley G TollnerBrazilStephen Shaw NEW
Greenwood K StensethUnited KingdomAsiya Javayant NEW
Smith Y FigeroaItalyAsiya Javayant NEGOTIATION
Ricardo M ShinkoSpainIvan Magalhaes QUALIFIED
Aditya U FigeroaArgentinaElwin Sharvill PROPOSAL
Rodrigues J GlickIndiaBernardo Dominic RENEWAL
Ivar Z KuskoAustraliaIoni Bowcher NEW
Wickens M InouyeJapanIvan Magalhaes QUALIFIED
Darci H KuskoSpainAmy Elsner QUALIFIED
Julie Z GarufiGermanyAsiya Javayant NEGOTIATION
Alejandro Z SaylorsJapanBernardo Dominic RENEWAL
Juan Z FigeroaRussiaAmy Elsner UNQUALIFIED
Chavez Q CaudySpainBernardo Dominic NEW
Kaitlin L VenereIndiaElwin Sharvill PROPOSAL
Tony J WhobreyFranceXuxue Feng NEGOTIATION
Stacey D StockhamBrazilIvan Magalhaes NEW
Isabel N MarrierCanadaAsiya Javayant NEW
Octavia H CampainCanadaStephen Shaw RENEWAL
Aika B OstroskyBrazilAmy Elsner UNQUALIFIED
Mujtaba Y TollnerUnited KingdomBernardo Dominic NEGOTIATION
Johnson E PoquetteAustraliaElwin Sharvill RENEWAL
Frozen Columns
Name
Cody J Amigon
Chavez V Royster
Murillo Z Paprocki
Ashley Y Briddick
David Z Poquette
Jennifer W Dilliard
Maria J Glick
Cody Q Bolognia
Munro A Foller
Alejandro B Schemmer
Leja P Slusarski
Julie V Chui
Costa U Whobrey
Aditya D Tollner
Aika R Malet
Maria I Bolognia
Deepesh O Garufi
Maria S Tollner
Ashley O Perin
Kadeem H Malet
Antonio D Venere
Claire V Garufi
Jeanfrancois L Tollner
David C Figeroa
Kaitlin Y Slusarski
Juan L Gaucho
Ricardo C Iturbide
Adams P Vocelka
Ashley N Chui
Isabel C Dilliard
Julie X Malet
Emily H Wieser
Juan I Iturbide
Tony S Maclead
Emily N Nestle
Ricardo P Bowley
Claire R Ferencz
Jennifer C Bowley
Julie L Shinko
Leja W Inouye
Costa J Flosi
Jennifer U Flosi
Smith I Caldarera
Chavez A Malet
Jefferson V Rulapaugh
Nicolas E Garufi
Leja F Poquette
Stacey J Stenseth
Cody V Butt
Jefferson M Malet
IdCountryDate
1000United Kingdom2024-05-17
1001Japan2024-05-15
1002United Kingdom2024-05-18
1003India2024-06-01
1004Argentina2024-05-11
1005Australia2024-05-12
1006Russia2024-05-07
1007Canada2024-05-25
1008Japan2024-05-31
1009Japan2024-05-06
1010Russia2024-05-17
1011Brazil2024-05-09
1012United Kingdom2024-05-22
1013Italy2024-05-16
1014Canada2024-05-08
1015Russia2024-05-30
1016United Kingdom2024-05-08
1017Canada2024-05-19
1018Canada2024-05-09
1019Argentina2024-05-16
1020India2024-05-12
1021Spain2024-05-26
1022Japan2024-05-30
1023United Kingdom2024-05-12
1024Japan2024-05-09
1025Argentina2024-05-06
1026Russia2024-06-03
1027Argentina2024-06-01
1028Spain2024-05-21
1029Brazil2024-05-20
1030India2024-05-30
1031Spain2024-05-22
1032India2024-05-22
1033United Kingdom2024-05-31
1034France2024-05-29
1035Australia2024-05-20
1036Germany2024-06-02
1037France2024-05-20
1038Italy2024-06-02
1039Argentina2024-06-01
1040Germany2024-05-30
1041United Kingdom2024-05-14
1042Italy2024-05-19
1043Germany2024-05-16
1044Canada2024-05-07
1045Germany2024-05-28
1046United Kingdom2024-06-01
1047Germany2024-05-07
1048France2024-05-07
1049United Kingdom2024-05-27

On-Demand Data

NameIdCountryDate
Izzy R Poquette1000France2024-05-16
Maria I Albares1001Germany2024-05-15
Ivar A Caldarera1002United Kingdom2024-05-22
Aruna K Perin1003Japan2024-05-17
Izzy R Wieser1004Australia2024-05-31
Cody H Stockham1005Argentina2024-05-09
Juan E Slusarski1006Russia2024-05-21
Leja G Caudy1007Canada2024-05-06
Tony F Caudy1008Japan2024-05-29
David Q Chui1009Germany2024-06-02
Arvin K Doe1010Italy2024-05-18
Faith Z Stockham1011France2024-05-17
Mayumi O Caldarera1012Spain2024-05-29
Jones B Inouye1013Argentina2024-05-08
Adams A Rulapaugh1014United Kingdom2024-05-14
Jefferson B Inouye1015Japan2024-05-25
Ricardo E Nicka1016Spain2024-05-31
Mayumi R Morasca1017Spain2024-05-14
Leja C Dilliard1018United Kingdom2024-05-08
Nicolas B Amigon1019Germany2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey K SaylorsSpainStephen Shaw NEW
Izzy P OstroskyArgentinaOnyama Limba QUALIFIED
Ashley I WhobreyCanadaIoni Bowcher NEW
David F PaprockiGermanyStephen Shaw NEGOTIATION
Francesco S NestleJapanIoni Bowcher PROPOSAL
Izzy Q BowleyAustraliaAsiya Javayant UNQUALIFIED
Rodrigues T CaldareraUnited KingdomAmy Elsner RENEWAL
Chavez K DoeUnited KingdomBernardo Dominic RENEWAL
Johnson M ButtGermanyStephen Shaw NEW
Darci M RimSpainElwin Sharvill UNQUALIFIED
Cody F SchemmerGermanyBernardo Dominic RENEWAL
Emily J MaletItalyAmy Elsner RENEWAL
Jones H MacleadCanadaXuxue Feng QUALIFIED
Faith J MorascaBrazilBernardo Dominic UNQUALIFIED
Adams Q FlosiRussiaElwin Sharvill UNQUALIFIED
Munro P NickaFranceOnyama Limba NEW
David N InouyeUnited KingdomBernardo Dominic RENEWAL
Jennifer M GarufiIndiaIvan Magalhaes QUALIFIED
Sinclair I StensethUnited KingdomElwin Sharvill UNQUALIFIED
Morrow B NickaUnited KingdomAmy Elsner RENEWAL
Munro M FlosiBrazilStephen Shaw PROPOSAL
Jennifer N VenereAustraliaIoni Bowcher RENEWAL
Wickens E DoeUnited KingdomStephen Shaw QUALIFIED
Leja L CaudyFranceBernardo Dominic UNQUALIFIED
Aika X GillianArgentinaAnna Fali PROPOSAL
Alejandro S ChuiItalyXuxue Feng RENEWAL
Julie R SergiGermanyOnyama Limba PROPOSAL
Sinclair W TollnerAustraliaAsiya Javayant PROPOSAL
Costa J CampainGermanyStephen Shaw RENEWAL
Murillo Z GillianUnited KingdomStephen Shaw PROPOSAL
Morrow P RulapaughIndiaXuxue Feng QUALIFIED
David G VenereJapanBernardo Dominic PROPOSAL
Maisha D GillianSpainElwin Sharvill NEW
Salvatore Y AmigonCanadaOnyama Limba NEW
Misaki O GlickRussiaOnyama Limba NEGOTIATION
Alejandro X MacleadGermanyXuxue Feng UNQUALIFIED
Salvatore L RoysterIndiaElwin Sharvill PROPOSAL
Ivar A TollnerSpainAsiya Javayant QUALIFIED
Costa O GillianUnited KingdomBernardo Dominic RENEWAL
Jones P CaldareraRussiaAmy Elsner 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>