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 A FigeroaCanadaOnyama Limba PROPOSAL
Silvio D FlosiCanadaXuxue Feng NEGOTIATION
Silvio W WaycottArgentinaAnna Fali PROPOSAL
Stacey D InouyeAustraliaXuxue Feng NEW
Antonio N MarrierFranceBernardo Dominic UNQUALIFIED
Tony F RimFranceElwin Sharvill RENEWAL
Kadeem N RimUnited KingdomIoni Bowcher NEW
Salvatore O AlbaresRussiaAmy Elsner RENEWAL
Stacey O SchemmerSpainStephen Shaw QUALIFIED
Jeanfrancois T ButtGermanyStephen Shaw RENEWAL
Silvio Y VenereIndiaBernardo Dominic NEGOTIATION
Misaki P FlosiBrazilAnna Fali PROPOSAL
Salvatore A NestleFranceIoni Bowcher NEW
Silvio R FigeroaUnited KingdomElwin Sharvill UNQUALIFIED
Wickens V MarrierJapanXuxue Feng PROPOSAL
Ivar Z ButtRussiaIoni Bowcher NEGOTIATION
Cody H MacleadFranceXuxue Feng QUALIFIED
Kaitlin M FollerArgentinaBernardo Dominic PROPOSAL
Alejandro C FollerBrazilAnna Fali UNQUALIFIED
Francesco F MaletAustraliaElwin Sharvill NEW
Antonio E GillianGermanyAnna Fali UNQUALIFIED
Arvin F PoquetteCanadaAsiya Javayant QUALIFIED
Mayumi C SchemmerSpainAsiya Javayant RENEWAL
Faith C CaudySpainXuxue Feng NEW
Stacey D GauchoArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois O StockhamRussiaXuxue Feng QUALIFIED
Greenwood N FerenczGermanyIvan Magalhaes QUALIFIED
Mujtaba F VenereItalyStephen Shaw NEGOTIATION
Murillo M ButtAustraliaIoni Bowcher UNQUALIFIED
Costa I GarufiFranceAsiya Javayant RENEWAL
Claire O SlusarskiRussiaAnna Fali RENEWAL
Julie M DilliardItalyXuxue Feng PROPOSAL
Kaitlin A KuskoIndiaAsiya Javayant NEW
Murillo H StockhamSpainIvan Magalhaes QUALIFIED
Smith N SergiBrazilOnyama Limba QUALIFIED
Salvatore D PerinIndiaIoni Bowcher NEW
Leon P ChuiRussiaAsiya Javayant RENEWAL
Munro C OldroydAustraliaAnna Fali RENEWAL
Kadeem N InouyeGermanyOnyama Limba PROPOSAL
Julie W FigeroaJapanAmy Elsner UNQUALIFIED
Jennifer Z SaylorsJapanIoni Bowcher QUALIFIED
Morrow S MaletAustraliaXuxue Feng PROPOSAL
Misaki D RimGermanyAsiya Javayant PROPOSAL
Deepesh M ShinkoIndiaIvan Magalhaes RENEWAL
Izzy W NestleFranceAsiya Javayant UNQUALIFIED
Smith B GarufiBrazilAnna Fali NEGOTIATION
Mayumi Z KolmetzRussiaOnyama Limba NEGOTIATION
Clifford I TollnerIndiaElwin Sharvill QUALIFIED
Aditya F GauchoArgentinaOnyama Limba RENEWAL
Aditya J MacleadAustraliaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ivar M GarufiGermanyElwin Sharvill NEGOTIATION
Claire D CaldareraArgentinaXuxue Feng QUALIFIED
Leon K PaprockiRussiaIvan Magalhaes UNQUALIFIED
Sinclair P OstroskyUnited KingdomAnna Fali NEGOTIATION
David H VenereIndiaAnna Fali NEW
Leon M SergiUnited KingdomBernardo Dominic UNQUALIFIED
Rodrigues V CaldareraItalyStephen Shaw RENEWAL
Munro F NickaBrazilIvan Magalhaes QUALIFIED
Octavia Q DilliardFranceIvan Magalhaes UNQUALIFIED
Alejandro O FerenczSpainElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody L RimItaly2024-06-17Chapman, Ross E Esq NEW80Asiya Javayant
1001Adams T FollerFrance2024-05-23Benton, John B Jr UNQUALIFIED39Xuxue Feng
1002Jones B BologniaGermany2024-06-10Chapman, Ross E Esq NEW53Onyama Limba
1003Silvio A DarakjyUnited Kingdom2024-05-28Morlong Associates QUALIFIED77Bernardo Dominic
1004Mujtaba W BowleyRussia2024-06-02Feiner Bros NEGOTIATION28Ivan Magalhaes
1005Claire N FigeroaArgentina2024-06-17Printing Dimensions RENEWAL76Xuxue Feng
1006Maria J MacleadIndia2024-05-28King, Christopher A Esq PROPOSAL79Stephen Shaw
1007Rodrigues A GauchoIndia2024-06-15Rangoni Of Florence UNQUALIFIED28Onyama Limba
1008Kadeem B BowleyIndia2024-06-03Commercial Press NEW22Anna Fali
1009Mujtaba C DilliardAustralia2024-05-29Dorl, James J Esq NEGOTIATION90Onyama Limba
1010Kaitlin U InouyeJapan2024-05-28Truhlar And Truhlar Attys NEGOTIATION20Onyama Limba
1011Darci W GarufiGermany2024-06-18Feltz Printing Service PROPOSAL51Stephen Shaw
1012Octavia L GarufiUnited Kingdom2024-06-05King, Christopher A Esq RENEWAL54Bernardo Dominic
1013Salvatore P DilliardGermany2024-06-02Buckley Miller Wright RENEWAL68Elwin Sharvill
1014Antonio D StockhamArgentina2024-05-29Rangoni Of Florence NEGOTIATION52Anna Fali
1015Faith U SaylorsFrance2024-05-27Truhlar And Truhlar Attys NEW51Anna Fali
1016Leja T RutaRussia2024-06-06Feltz Printing Service UNQUALIFIED94Elwin Sharvill
1017Claire H KolmetzCanada2024-06-19Morlong Associates NEW97Bernardo Dominic
1018Juan V RutaArgentina2024-05-24Rousseaux, Michael Esq QUALIFIED46Amy Elsner
1019Jones L StockhamJapan2024-06-14Feiner Bros PROPOSAL17Onyama Limba
1020Rodrigues C AlbaresCanada2024-06-13Commercial Press QUALIFIED92Bernardo Dominic
1021Mayumi U StensethArgentina2024-06-09Truhlar And Truhlar Attys UNQUALIFIED13Ivan Magalhaes
1022Maisha A SaylorsBrazil2024-05-27Dorl, James J Esq PROPOSAL26Amy Elsner
1023Darci W BriddickRussia2024-06-21Feiner Bros PROPOSAL84Anna Fali
1024Smith I VenereAustralia2024-06-10Commercial Press RENEWAL25Elwin Sharvill
1025Mujtaba Q VenereGermany2024-06-10Rangoni Of Florence RENEWAL11Amy Elsner
1026Kaitlin A BowleyItaly2024-06-04Dorl, James J Esq QUALIFIED35Stephen Shaw
1027Ashley Y BowleySpain2024-05-25Rangoni Of Florence QUALIFIED50Onyama Limba
1028Cody K SchemmerFrance2024-06-13King, Christopher A Esq RENEWAL0Stephen Shaw
1029Aika T InouyeIndia2024-06-15Buckley Miller Wright UNQUALIFIED92Anna Fali
1030Cody L WieserRussia2024-05-23Buckley Miller Wright RENEWAL63Anna Fali
1031Arvin H RimAustralia2024-06-06Morlong Associates UNQUALIFIED37Ivan Magalhaes
1032Salvatore F PoquetteCanada2024-06-07Morlong Associates NEW23Anna Fali
1033Deepesh M CampainGermany2024-05-28King, Christopher A Esq RENEWAL74Xuxue Feng
1034Greenwood A KuskoJapan2024-05-26Truhlar And Truhlar Attys QUALIFIED80Ioni Bowcher
1035David M PerinSpain2024-05-31Chemel, James L Cpa NEW37Ioni Bowcher
1036Aruna O IturbideBrazil2024-06-06Dorl, James J Esq RENEWAL20Onyama Limba
1037Rodrigues S PerinBrazil2024-05-30Printing Dimensions RENEWAL50Bernardo Dominic
1038Darci Z GarufiCanada2024-06-05Buckley Miller Wright QUALIFIED64Bernardo Dominic
1039Misaki F DarakjyJapan2024-05-23Chapman, Ross E Esq PROPOSAL59Bernardo Dominic
1040Faith C InouyeItaly2024-06-03Morlong Associates UNQUALIFIED83Stephen Shaw
1041Maria Y WaycottRussia2024-06-14Commercial Press PROPOSAL92Xuxue Feng
1042Misaki I ButtBrazil2024-06-14Feltz Printing Service NEGOTIATION91Stephen Shaw
1043Maisha Z PerinUnited Kingdom2024-05-29Feltz Printing Service NEGOTIATION33Ioni Bowcher
1044Claire O MarrierIndia2024-06-15Truhlar And Truhlar Attys UNQUALIFIED51Elwin Sharvill
1045Mujtaba C WhobreyFrance2024-06-03Chanay, Jeffrey A Esq RENEWAL64Ioni Bowcher
1046Francesco S FerenczGermany2024-06-06Benton, John B Jr QUALIFIED81Stephen Shaw
1047Greenwood L CaudyGermany2024-06-12Chemel, James L Cpa UNQUALIFIED74Anna Fali
1048Claire I FlosiIndia2024-06-15Buckley Miller Wright QUALIFIED31Amy Elsner
1049Ivar H StockhamIndia2024-06-01Rousseaux, Michael Esq UNQUALIFIED94Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maria D RimJapanXuxue Feng UNQUALIFIED
Jennifer V RoysterAustraliaElwin Sharvill NEGOTIATION
Jefferson E StensethGermanyIvan Magalhaes PROPOSAL
Tony W OldroydJapanIvan Magalhaes NEW
Antonio X DoeArgentinaIvan Magalhaes PROPOSAL
Munro I SergiItalyXuxue Feng UNQUALIFIED
Antonio Q TollnerRussiaIvan Magalhaes NEGOTIATION
Isabel D RulapaughAustraliaAmy Elsner QUALIFIED
Chavez B NestleCanadaIoni Bowcher RENEWAL
Kaitlin N KolmetzFranceOnyama Limba UNQUALIFIED
Jeanfrancois F MorascaCanadaIvan Magalhaes NEW
Antonio M MacleadRussiaAmy Elsner UNQUALIFIED
Jeanfrancois G GlickRussiaOnyama Limba NEGOTIATION
Deepesh J RulapaughIndiaOnyama Limba NEGOTIATION
Antonio H TollnerCanadaIoni Bowcher QUALIFIED
Cody W RimJapanOnyama Limba PROPOSAL
Costa Y MacleadRussiaIoni Bowcher NEW
Nicolas K NickaGermanyStephen Shaw NEW
Ricardo D MacleadFranceOnyama Limba RENEWAL
Emily H PaprockiBrazilIoni Bowcher QUALIFIED
Chavez B AmigonBrazilBernardo Dominic UNQUALIFIED
Rodrigues H GauchoItalyIvan Magalhaes PROPOSAL
James I RimArgentinaElwin Sharvill RENEWAL
Arvin H GillianAustraliaXuxue Feng QUALIFIED
Wickens L DoeFranceStephen Shaw NEW
Aditya P ChuiSpainElwin Sharvill QUALIFIED
Ivar P GauchoRussiaBernardo Dominic UNQUALIFIED
Aruna R NickaSpainBernardo Dominic NEW
Alejandro R BriddickGermanyIoni Bowcher UNQUALIFIED
Deepesh S AlbaresFranceXuxue Feng NEW
Isabel I DarakjyIndiaXuxue Feng NEGOTIATION
Jefferson A TollnerSpainAsiya Javayant RENEWAL
Cody G GillianGermanyOnyama Limba PROPOSAL
Morrow Y SlusarskiArgentinaAnna Fali PROPOSAL
Deepesh J MaletCanadaAmy Elsner UNQUALIFIED
Alejandro H SergiGermanyBernardo Dominic NEW
Aika O GlickCanadaAsiya Javayant NEW
Adams O RulapaughIndiaIoni Bowcher QUALIFIED
Kaitlin Y SlusarskiAustraliaIoni Bowcher NEW
Aditya R StockhamItalyOnyama Limba RENEWAL
Kadeem Y FlosiUnited KingdomElwin Sharvill QUALIFIED
Munro Z FollerCanadaIoni Bowcher RENEWAL
Isabel G RutaRussiaOnyama Limba NEGOTIATION
Silvio V RimRussiaBernardo Dominic QUALIFIED
Ricardo D BowleySpainBernardo Dominic NEGOTIATION
Leja V GarufiBrazilIvan Magalhaes UNQUALIFIED
Sinclair A MorascaIndiaAnna Fali RENEWAL
Francesco H BologniaGermanyOnyama Limba QUALIFIED
Ricardo R SchemmerArgentinaBernardo Dominic NEGOTIATION
Greenwood I WaycottSpainAnna Fali NEGOTIATION
Frozen Columns
Name
Clifford M Ostrosky
Kaitlin J Briddick
Tony P Perin
Cody C Schemmer
Cody K Gillian
Octavia B Dilliard
Jefferson H Nicka
Johnson P Malet
Jennifer T Ruta
Adams Q Malet
Wickens A Stenseth
Salvatore O Saylors
Adams I Paprocki
Morrow F Butt
Misaki Z Poquette
Greenwood J Butt
James B Venere
James W Saylors
Maisha D Poquette
Maria V Wieser
Rodrigues S Bolognia
David V Rim
Ivar L Caudy
Isabel G Tollner
Mujtaba U Garufi
Leja L Malet
Kaitlin Q Gaucho
Alejandro T Foller
Julie C Vocelka
Kadeem O Whobrey
Smith S Marrier
Johnson G Kolmetz
Francesco V Bolognia
Alejandro B Iturbide
Stacey G Stockham
Salvatore D Iturbide
Faith A Inouye
Salvatore I Malet
Octavia U Whobrey
Juan K Garufi
Jones K Stockham
Salvatore A Schemmer
Arvin H Darakjy
Morrow C Bolognia
Sinclair N Sergi
Aika V Tollner
Silvio Z Inouye
Salvatore F Tollner
Juan P Morasca
Johnson Z Inouye
IdCountryDate
1000Argentina2024-06-18
1001Japan2024-06-04
1002France2024-06-03
1003India2024-05-25
1004Argentina2024-06-12
1005India2024-05-24
1006Spain2024-06-16
1007Brazil2024-06-05
1008Spain2024-06-01
1009France2024-06-02
1010Spain2024-06-10
1011Italy2024-06-13
1012Canada2024-06-05
1013Spain2024-06-15
1014Brazil2024-06-09
1015Spain2024-06-07
1016France2024-06-13
1017France2024-05-25
1018Spain2024-06-19
1019Russia2024-05-25
1020Japan2024-06-01
1021Brazil2024-06-06
1022Italy2024-06-20
1023France2024-06-07
1024Australia2024-06-03
1025United Kingdom2024-06-11
1026Brazil2024-06-04
1027Spain2024-05-26
1028Australia2024-06-15
1029Japan2024-06-18
1030Brazil2024-06-08
1031Spain2024-06-04
1032Japan2024-05-29
1033Italy2024-05-24
1034India2024-05-24
1035France2024-06-07
1036Spain2024-05-29
1037Italy2024-06-18
1038Germany2024-05-27
1039Spain2024-06-10
1040Italy2024-05-26
1041Argentina2024-06-04
1042Germany2024-06-06
1043Italy2024-06-12
1044United Kingdom2024-06-19
1045France2024-06-08
1046Japan2024-06-10
1047United Kingdom2024-06-17
1048Canada2024-06-09
1049India2024-05-27

On-Demand Data

NameIdCountryDate
Misaki W Inouye1000United Kingdom2024-05-23
Aruna J Royster1001France2024-05-28
Alejandro P Albares1002Japan2024-06-02
Mayumi V Kusko1003Australia2024-06-21
James S Foller1004Italy2024-05-29
Wickens O Rim1005Russia2024-06-07
Ashley B Tollner1006Argentina2024-06-04
Smith D Iturbide1007Brazil2024-06-16
Adams I Tollner1008Argentina2024-06-15
Cody C Royster1009Germany2024-06-02
Misaki P Iturbide1010Brazil2024-06-17
Izzy V Inouye1011Australia2024-06-07
Antonio H Flosi1012Canada2024-05-28
Faith S Poquette1013Italy2024-06-02
Alejandro X Slusarski1014Italy2024-06-18
Jefferson X Shinko1015India2024-06-11
Emily N Oldroyd1016United Kingdom2024-06-15
Chavez B Nicka1017United Kingdom2024-05-26
Aika Y Ruta1018Italy2024-06-05
Tony B Ostrosky1019Canada2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh Y DoeArgentinaIoni Bowcher UNQUALIFIED
Adams I BowleySpainAsiya Javayant PROPOSAL
Munro X VenereSpainBernardo Dominic QUALIFIED
Johnson S KolmetzIndiaStephen Shaw NEW
Arvin K IturbideCanadaStephen Shaw NEGOTIATION
Deepesh U DarakjyIndiaXuxue Feng NEW
Jefferson M PerinIndiaStephen Shaw PROPOSAL
Ricardo R FollerUnited KingdomIvan Magalhaes PROPOSAL
Emily V VenereAustraliaIoni Bowcher UNQUALIFIED
Stacey H NickaFranceAmy Elsner NEGOTIATION
Jefferson U SlusarskiFranceOnyama Limba PROPOSAL
Antonio F InouyeGermanyXuxue Feng NEGOTIATION
Aditya W OstroskyBrazilIvan Magalhaes UNQUALIFIED
Maisha H DilliardCanadaAnna Fali NEGOTIATION
Munro K ChuiGermanyIvan Magalhaes QUALIFIED
Mayumi W GarufiItalyAmy Elsner UNQUALIFIED
Tony H FerenczIndiaAmy Elsner UNQUALIFIED
David V OstroskyRussiaXuxue Feng NEW
Smith Y SaylorsItalyBernardo Dominic QUALIFIED
Francesco P DilliardAustraliaAsiya Javayant NEGOTIATION
Deepesh O StensethSpainBernardo Dominic NEGOTIATION
Misaki F IturbideArgentinaAsiya Javayant RENEWAL
Maria M InouyeIndiaXuxue Feng PROPOSAL
Isabel H FollerItalyIoni Bowcher RENEWAL
David U MorascaUnited KingdomIoni Bowcher PROPOSAL
Ashley I CampainIndiaXuxue Feng UNQUALIFIED
Claire X FerenczFranceBernardo Dominic RENEWAL
Silvio E WieserCanadaStephen Shaw UNQUALIFIED
Clifford J WhobreyGermanyXuxue Feng PROPOSAL
Salvatore B FigeroaAustraliaAmy Elsner PROPOSAL
Cody K NickaGermanyIoni Bowcher QUALIFIED
Wickens G GillianArgentinaStephen Shaw RENEWAL
Munro U SchemmerArgentinaStephen Shaw QUALIFIED
Octavia O BriddickGermanyAsiya Javayant NEW
Stacey Z BologniaArgentinaIoni Bowcher NEGOTIATION
Misaki D RutaAustraliaAmy Elsner UNQUALIFIED
Aika F PerinBrazilXuxue Feng NEW
Leja B DarakjyIndiaAmy Elsner PROPOSAL
David N ChuiBrazilIvan Magalhaes RENEWAL
Mujtaba I GarufiCanadaBernardo Dominic PROPOSAL

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