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
Emily I StockhamItalyOnyama Limba PROPOSAL
Rodrigues U NestleBrazilBernardo Dominic NEGOTIATION
Leon J MaletSpainAsiya Javayant UNQUALIFIED
Aruna M GauchoAustraliaIvan Magalhaes NEW
Maria I AlbaresIndiaIoni Bowcher PROPOSAL
Salvatore X CaldareraJapanIvan Magalhaes RENEWAL
Tony T InouyeFranceBernardo Dominic RENEWAL
Kadeem E FollerRussiaIoni Bowcher RENEWAL
Wickens C CaldareraUnited KingdomStephen Shaw NEGOTIATION
Silvio B KolmetzIndiaElwin Sharvill NEW
Mujtaba V InouyeRussiaIvan Magalhaes NEGOTIATION
Jennifer M RoysterGermanyIoni Bowcher RENEWAL
Leon X NestleRussiaXuxue Feng UNQUALIFIED
Munro K DarakjyItalyAnna Fali QUALIFIED
Deepesh C MacleadGermanyXuxue Feng UNQUALIFIED
Faith C MaletUnited KingdomIvan Magalhaes RENEWAL
Aruna W GarufiGermanyIvan Magalhaes NEW
Tony K MorascaCanadaAmy Elsner QUALIFIED
Arvin M SchemmerAustraliaIvan Magalhaes NEW
Maria I MaletAustraliaAsiya Javayant RENEWAL
Ashley W PaprockiBrazilAsiya Javayant NEW
Mujtaba R BowleyUnited KingdomIoni Bowcher NEW
Jeanfrancois J StockhamIndiaBernardo Dominic NEGOTIATION
Ricardo V PaprockiGermanyOnyama Limba QUALIFIED
Deepesh Y DilliardGermanyIoni Bowcher PROPOSAL
Mujtaba P CaldareraGermanyOnyama Limba RENEWAL
Misaki C MaletRussiaOnyama Limba NEW
Sinclair A MarrierAustraliaBernardo Dominic PROPOSAL
Alejandro T FerenczSpainIoni Bowcher NEW
Leja S NickaJapanAsiya Javayant QUALIFIED
Salvatore H MorascaJapanAnna Fali RENEWAL
Faith N KuskoItalyElwin Sharvill NEW
Stacey R CaudyAustraliaIvan Magalhaes UNQUALIFIED
Nicolas N BriddickJapanAmy Elsner NEGOTIATION
Isabel A OldroydFranceAsiya Javayant QUALIFIED
Claire K PerinIndiaIoni Bowcher PROPOSAL
Sinclair U CaldareraArgentinaIvan Magalhaes UNQUALIFIED
Nicolas L AlbaresFranceBernardo Dominic UNQUALIFIED
Clifford W FigeroaItalyXuxue Feng RENEWAL
Tony P FlosiUnited KingdomIoni Bowcher PROPOSAL
Aika H BowleyArgentinaIoni Bowcher UNQUALIFIED
Chavez I RulapaughBrazilAnna Fali NEW
Leja M FlosiFranceOnyama Limba NEGOTIATION
Chavez O WaycottFranceIvan Magalhaes QUALIFIED
Wickens Z SchemmerRussiaIoni Bowcher NEGOTIATION
Aruna G WieserFranceBernardo Dominic PROPOSAL
Leon U KolmetzUnited KingdomIvan Magalhaes RENEWAL
Julie C BologniaFranceOnyama Limba QUALIFIED
Claire B PaprockiArgentinaOnyama Limba NEW
Jennifer I InouyeRussiaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa I StensethBrazilBernardo Dominic PROPOSAL
Aditya V OstroskySpainAmy Elsner PROPOSAL
Maisha Y AmigonCanadaXuxue Feng PROPOSAL
Jeanfrancois S NestleArgentinaElwin Sharvill PROPOSAL
David W BowleyAustraliaAnna Fali QUALIFIED
Rodrigues V WhobreyFranceElwin Sharvill RENEWAL
Izzy Z PoquetteCanadaAmy Elsner UNQUALIFIED
Munro B GlickAustraliaOnyama Limba NEGOTIATION
Jones S WaycottItalyAsiya Javayant NEW
Arvin X BologniaIndiaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy A CampainGermany2024-05-05Chemel, James L Cpa PROPOSAL76Anna Fali
1001James Z WieserJapan2024-05-12Chapman, Ross E Esq QUALIFIED48Onyama Limba
1002Antonio D SergiAustralia2024-05-07Morlong Associates RENEWAL7Xuxue Feng
1003Leja H NickaSpain2024-04-26Chapman, Ross E Esq PROPOSAL17Ivan Magalhaes
1004Emily W KuskoSpain2024-04-25Buckley Miller Wright RENEWAL17Ioni Bowcher
1005Darci Q ChuiFrance2024-05-21Chanay, Jeffrey A Esq QUALIFIED70Xuxue Feng
1006Cody L GarufiBrazil2024-05-10Truhlar And Truhlar Attys PROPOSAL50Stephen Shaw
1007Ashley T StockhamGermany2024-05-12Dorl, James J Esq NEGOTIATION20Ioni Bowcher
1008Antonio Z ShinkoUnited Kingdom2024-05-08Chapman, Ross E Esq PROPOSAL69Amy Elsner
1009Aditya M OstroskyGermany2024-05-20Rousseaux, Michael Esq PROPOSAL49Asiya Javayant
1010Munro B ShinkoFrance2024-05-06Feiner Bros UNQUALIFIED65Amy Elsner
1011Juan K SchemmerIndia2024-05-22Printing Dimensions QUALIFIED50Stephen Shaw
1012Aika B WaycottGermany2024-05-14Chemel, James L Cpa UNQUALIFIED88Stephen Shaw
1013Rodrigues W CaldareraJapan2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED90Anna Fali
1014Mujtaba A StockhamGermany2024-04-28Truhlar And Truhlar Attys RENEWAL98Stephen Shaw
1015Chavez L BriddickIndia2024-05-23Rousseaux, Michael Esq RENEWAL55Ioni Bowcher
1016Misaki N MacleadGermany2024-05-11Chemel, James L Cpa RENEWAL68Anna Fali
1017Aruna L NestleIndia2024-05-02Commercial Press NEW28Elwin Sharvill
1018Tony E FlosiItaly2024-05-02Dorl, James J Esq QUALIFIED74Stephen Shaw
1019Greenwood Q RimArgentina2024-04-27Buckley Miller Wright QUALIFIED72Anna Fali
1020Ivar L IturbideFrance2024-05-24Chanay, Jeffrey A Esq NEGOTIATION96Onyama Limba
1021Jones T CaudyUnited Kingdom2024-04-26Chemel, James L Cpa RENEWAL65Xuxue Feng
1022Chavez M StensethFrance2024-05-20Morlong Associates RENEWAL57Asiya Javayant
1023Deepesh F ShinkoItaly2024-05-12Feltz Printing Service NEGOTIATION98Amy Elsner
1024Ricardo Q KuskoCanada2024-05-23Truhlar And Truhlar Attys QUALIFIED15Ivan Magalhaes
1025Smith F VocelkaAustralia2024-05-17Chanay, Jeffrey A Esq QUALIFIED28Xuxue Feng
1026Sinclair V GarufiItaly2024-05-10Morlong Associates NEGOTIATION26Bernardo Dominic
1027James Y FlosiCanada2024-05-07Buckley Miller Wright NEGOTIATION64Bernardo Dominic
1028Juan S TollnerSpain2024-05-06Commercial Press NEW60Asiya Javayant
1029Julie J BowleyUnited Kingdom2024-05-14Rangoni Of Florence RENEWAL54Amy Elsner
1030Morrow Q MarrierJapan2024-05-17Feltz Printing Service NEW67Anna Fali
1031Francesco Y AmigonItaly2024-05-03Morlong Associates NEGOTIATION72Asiya Javayant
1032Misaki E GauchoArgentina2024-05-23Dorl, James J Esq NEGOTIATION94Ivan Magalhaes
1033Faith M PerinCanada2024-05-17Printing Dimensions RENEWAL86Ivan Magalhaes
1034Maria Q WaycottCanada2024-05-01Dorl, James J Esq PROPOSAL83Amy Elsner
1035Maisha K StensethCanada2024-05-06Feiner Bros UNQUALIFIED32Ioni Bowcher
1036Arvin G MarrierGermany2024-05-03Morlong Associates NEW73Bernardo Dominic
1037Misaki X ShinkoFrance2024-05-12Truhlar And Truhlar Attys QUALIFIED38Ioni Bowcher
1038Leon X OldroydBrazil2024-05-16Dorl, James J Esq NEGOTIATION36Ioni Bowcher
1039Jones S MaletUnited Kingdom2024-05-05Feiner Bros QUALIFIED57Ioni Bowcher
1040Morrow R GarufiCanada2024-05-01Benton, John B Jr PROPOSAL41Onyama Limba
1041Jeanfrancois F NickaArgentina2024-05-05Chanay, Jeffrey A Esq RENEWAL56Asiya Javayant
1042Aditya T GauchoItaly2024-05-20Buckley Miller Wright RENEWAL31Onyama Limba
1043Kaitlin Q RutaFrance2024-05-09Buckley Miller Wright RENEWAL53Asiya Javayant
1044Johnson N DoeFrance2024-05-17Morlong Associates RENEWAL30Elwin Sharvill
1045Greenwood K WhobreyItaly2024-05-19Rangoni Of Florence PROPOSAL27Ivan Magalhaes
1046Faith E RoysterArgentina2024-05-21Feiner Bros UNQUALIFIED77Amy Elsner
1047Cody F CaudyCanada2024-04-26Commercial Press UNQUALIFIED16Ivan Magalhaes
1048Leon Z CaldareraAustralia2024-05-21Commercial Press PROPOSAL54Asiya Javayant
1049Chavez J KuskoFrance2024-05-02Rangoni Of Florence RENEWAL82Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jones Z VocelkaJapanBernardo Dominic NEGOTIATION
Antonio Q AlbaresJapanStephen Shaw NEW
Kadeem N PoquetteUnited KingdomAmy Elsner NEGOTIATION
Tony H RimRussiaIvan Magalhaes RENEWAL
Leja Y RutaAustraliaIoni Bowcher NEGOTIATION
Leja I BowleySpainElwin Sharvill QUALIFIED
Alejandro V ButtCanadaXuxue Feng RENEWAL
Mayumi T CaldareraItalyIoni Bowcher PROPOSAL
Misaki T FollerIndiaIoni Bowcher NEW
Silvio B AmigonBrazilIvan Magalhaes RENEWAL
James O OldroydGermanyAnna Fali UNQUALIFIED
Mujtaba A TollnerRussiaXuxue Feng UNQUALIFIED
Kaitlin G StockhamIndiaAmy Elsner PROPOSAL
Izzy T NestleGermanyOnyama Limba NEW
James B WaycottUnited KingdomAmy Elsner UNQUALIFIED
Julie S ChuiRussiaAmy Elsner PROPOSAL
Izzy D StensethUnited KingdomAsiya Javayant NEW
Silvio C FollerGermanyXuxue Feng RENEWAL
Maria Z DoeJapanBernardo Dominic UNQUALIFIED
Salvatore M RimSpainStephen Shaw NEW
Greenwood Z SchemmerAustraliaAsiya Javayant NEW
Mujtaba L RulapaughArgentinaOnyama Limba NEGOTIATION
Maisha E RutaSpainOnyama Limba NEW
Leon A InouyeCanadaElwin Sharvill RENEWAL
Greenwood L BologniaBrazilIoni Bowcher NEW
Izzy L PaprockiRussiaBernardo Dominic PROPOSAL
Murillo D DilliardSpainAsiya Javayant NEGOTIATION
Kaitlin Z PaprockiGermanyAmy Elsner UNQUALIFIED
Arvin J NickaFranceIoni Bowcher RENEWAL
James I IturbideGermanyBernardo Dominic UNQUALIFIED
Jones X StockhamCanadaAnna Fali NEGOTIATION
Emily P VenereAustraliaBernardo Dominic RENEWAL
Darci J GarufiUnited KingdomIoni Bowcher RENEWAL
Greenwood J WhobreySpainAsiya Javayant QUALIFIED
Maisha Y WieserItalyXuxue Feng RENEWAL
Murillo S AlbaresAustraliaAsiya Javayant RENEWAL
Aditya I AmigonItalyIvan Magalhaes NEW
David K TollnerJapanElwin Sharvill NEGOTIATION
Antonio E FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Jefferson C SlusarskiSpainAmy Elsner NEGOTIATION
Antonio C NestleFranceAsiya Javayant RENEWAL
Mayumi V DilliardCanadaAnna Fali QUALIFIED
Aruna V VenereIndiaElwin Sharvill NEW
Francesco N IturbideAustraliaIvan Magalhaes RENEWAL
Kadeem G MaletBrazilAsiya Javayant NEGOTIATION
Arvin F MacleadJapanStephen Shaw RENEWAL
Izzy Y ShinkoRussiaXuxue Feng QUALIFIED
Julie F FollerGermanyBernardo Dominic QUALIFIED
Wickens Y WhobreyCanadaOnyama Limba NEGOTIATION
Francesco F KuskoRussiaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Leon N Perin
Misaki H Rulapaugh
Morrow Z Vocelka
David D Dilliard
Aditya K Royster
Johnson S Oldroyd
Octavia S Bolognia
David D Maclead
Mujtaba R Stockham
Salvatore A Rim
Aika L Vocelka
Emily A Stockham
Silvio N Ferencz
Maria M Bowley
Ivar T Ferencz
Jefferson E Rim
Aika Q Whobrey
Antonio S Caldarera
Stacey R Kolmetz
Ricardo X Venere
Claire B Caudy
David C Albares
Kadeem G Gaucho
Chavez O Flosi
Mayumi P Nestle
Arvin C Kusko
Darci O Schemmer
Sinclair D Sergi
Leja Q Waycott
Sinclair I Gillian
Cody F Glick
Chavez S Vocelka
Wickens J Waycott
Aika S Garufi
Isabel W Kolmetz
Maisha G Caldarera
Ivar B Wieser
Claire M Chui
Misaki O Chui
Faith E Foller
Kadeem T Whobrey
Nicolas L Slusarski
Isabel Y Caldarera
Sinclair T Stenseth
Juan F Venere
Aika Q Royster
Jefferson F Gillian
Kaitlin S Caudy
Nicolas Y Marrier
Francesco C Kusko
IdCountryDate
1000Canada2024-05-21
1001Spain2024-05-04
1002Argentina2024-05-02
1003Spain2024-05-11
1004Germany2024-05-23
1005France2024-05-24
1006Australia2024-05-07
1007Germany2024-05-02
1008France2024-05-20
1009India2024-05-16
1010Spain2024-05-11
1011France2024-05-12
1012Spain2024-04-26
1013Germany2024-05-16
1014Japan2024-05-18
1015Spain2024-05-11
1016France2024-05-15
1017Italy2024-05-11
1018Japan2024-05-14
1019Spain2024-05-01
1020Germany2024-04-29
1021France2024-05-09
1022Argentina2024-05-17
1023United Kingdom2024-05-11
1024Russia2024-05-13
1025Australia2024-05-20
1026Italy2024-05-03
1027Canada2024-05-13
1028Japan2024-05-05
1029Russia2024-05-19
1030Russia2024-05-02
1031Russia2024-05-12
1032France2024-04-28
1033India2024-04-26
1034Spain2024-05-09
1035Australia2024-04-29
1036France2024-05-10
1037Russia2024-04-29
1038Germany2024-05-15
1039United Kingdom2024-05-14
1040United Kingdom2024-05-21
1041India2024-05-06
1042Spain2024-05-17
1043Germany2024-05-16
1044Germany2024-05-08
1045Australia2024-05-20
1046Italy2024-05-06
1047Spain2024-05-04
1048Spain2024-05-10
1049France2024-05-19

On-Demand Data

NameIdCountryDate
Aditya G Briddick1000Canada2024-05-09
James V Venere1001Germany2024-05-12
Juan L Kolmetz1002Germany2024-05-06
Rodrigues R Oldroyd1003United Kingdom2024-05-09
Jennifer E Bowley1004Russia2024-04-29
Adams D Glick1005Canada2024-05-12
Octavia F Oldroyd1006Argentina2024-05-20
Leon R Venere1007Argentina2024-04-29
Juan I Garufi1008United Kingdom2024-05-24
David D Vocelka1009Australia2024-05-19
Leja T Briddick1010Germany2024-05-02
Clifford R Stenseth1011Argentina2024-05-22
Rodrigues F Shinko1012Argentina2024-04-28
Morrow K Bowley1013India2024-05-10
Misaki Z Garufi1014Brazil2024-05-05
Ricardo U Kusko1015France2024-05-11
Ashley J Morasca1016Canada2024-05-23
Izzy V Albares1017Canada2024-05-03
Jeanfrancois W Albares1018United Kingdom2024-05-01
Ricardo I Amigon1019France2024-05-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi F PoquetteIndiaXuxue Feng NEW
Smith D SaylorsBrazilOnyama Limba NEGOTIATION
Francesco R GauchoItalyAsiya Javayant QUALIFIED
Aruna F FigeroaUnited KingdomElwin Sharvill UNQUALIFIED
Claire U KuskoJapanXuxue Feng RENEWAL
Clifford J SaylorsBrazilStephen Shaw UNQUALIFIED
Stacey I VocelkaCanadaAsiya Javayant NEW
Julie T MacleadAustraliaElwin Sharvill RENEWAL
Isabel O DoeBrazilAnna Fali QUALIFIED
Leja F IturbideAustraliaAnna Fali QUALIFIED
Wickens J NestleBrazilIoni Bowcher NEW
Morrow V GlickFranceOnyama Limba QUALIFIED
Aika N DarakjyFranceStephen Shaw NEGOTIATION
Alejandro N DilliardGermanyElwin Sharvill QUALIFIED
Sinclair X BologniaFranceElwin Sharvill RENEWAL
Francesco D VocelkaAustraliaElwin Sharvill NEW
Jeanfrancois P GlickGermanyAnna Fali RENEWAL
Tony X FigeroaArgentinaBernardo Dominic UNQUALIFIED
Faith V DilliardCanadaAmy Elsner PROPOSAL
Aditya F ShinkoBrazilAmy Elsner NEW
Jefferson P TollnerIndiaElwin Sharvill PROPOSAL
David A BriddickIndiaAmy Elsner PROPOSAL
Jennifer F RutaJapanElwin Sharvill NEW
Faith P RutaIndiaOnyama Limba NEW
Aditya S MorascaIndiaAnna Fali QUALIFIED
Claire W BowleyGermanyElwin Sharvill PROPOSAL
Arvin P MarrierItalyAmy Elsner NEGOTIATION
Emily R SlusarskiArgentinaElwin Sharvill RENEWAL
Alejandro Q RimSpainElwin Sharvill PROPOSAL
Murillo N FlosiGermanyIvan Magalhaes PROPOSAL
Jefferson H WieserIndiaElwin Sharvill NEGOTIATION
Ivar U SlusarskiUnited KingdomAsiya Javayant NEW
Izzy R CampainRussiaElwin Sharvill RENEWAL
Jefferson U RoysterItalyOnyama Limba UNQUALIFIED
Cody W DarakjyCanadaIoni Bowcher NEGOTIATION
Adams C SergiGermanyElwin Sharvill NEW
Antonio L ChuiBrazilAsiya Javayant UNQUALIFIED
Kadeem I BowleyAustraliaOnyama Limba QUALIFIED
Maria W GillianCanadaIvan Magalhaes QUALIFIED
Arvin T RutaArgentinaIoni Bowcher 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>