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
Izzy C RutaFranceIvan Magalhaes NEGOTIATION
David S RoysterBrazilAmy Elsner UNQUALIFIED
Maria Y StensethArgentinaAsiya Javayant NEGOTIATION
Wickens M FigeroaBrazilAnna Fali QUALIFIED
Darci G GauchoAustraliaXuxue Feng NEW
Octavia C MacleadCanadaStephen Shaw NEW
Mujtaba B StensethJapanBernardo Dominic QUALIFIED
Johnson V MarrierFranceAsiya Javayant UNQUALIFIED
Izzy F ChuiItalyStephen Shaw RENEWAL
Adams P InouyeBrazilBernardo Dominic RENEWAL
Morrow F MaletAustraliaIoni Bowcher QUALIFIED
Murillo X SergiBrazilOnyama Limba QUALIFIED
Misaki M MaletFranceOnyama Limba NEW
Aditya C VocelkaBrazilOnyama Limba PROPOSAL
Clifford X FigeroaRussiaIvan Magalhaes PROPOSAL
Juan M CaldareraIndiaAnna Fali RENEWAL
Claire R SchemmerSpainBernardo Dominic RENEWAL
Jones C BowleyFranceElwin Sharvill UNQUALIFIED
Darci B PaprockiAustraliaAnna Fali PROPOSAL
Murillo X KuskoItalyBernardo Dominic RENEWAL
Octavia W NestleRussiaStephen Shaw UNQUALIFIED
David E BologniaIndiaElwin Sharvill NEGOTIATION
Sinclair G SchemmerFranceXuxue Feng NEW
Claire G IturbideArgentinaIvan Magalhaes NEGOTIATION
Silvio O GauchoItalyBernardo Dominic PROPOSAL
Kaitlin T ChuiAustraliaAsiya Javayant UNQUALIFIED
Clifford G BologniaAustraliaAmy Elsner QUALIFIED
Chavez P RoysterRussiaStephen Shaw RENEWAL
Kadeem N ShinkoGermanyIoni Bowcher NEW
Tony X WaycottCanadaAsiya Javayant RENEWAL
Jefferson L AmigonRussiaAsiya Javayant QUALIFIED
Emily X WhobreyArgentinaAnna Fali PROPOSAL
Ivar C CaudyJapanAmy Elsner NEGOTIATION
Aruna S SlusarskiArgentinaAmy Elsner PROPOSAL
Julie P GarufiArgentinaXuxue Feng QUALIFIED
Faith O IturbideBrazilAmy Elsner NEW
Stacey L TollnerItalyOnyama Limba UNQUALIFIED
Antonio G AmigonGermanyXuxue Feng UNQUALIFIED
Alejandro V ChuiBrazilXuxue Feng RENEWAL
Ricardo D MarrierAustraliaElwin Sharvill PROPOSAL
Julie E MarrierAustraliaStephen Shaw QUALIFIED
Faith X FlosiAustraliaBernardo Dominic PROPOSAL
Izzy Y VocelkaAustraliaAnna Fali PROPOSAL
Mayumi S IturbideCanadaStephen Shaw NEW
Clifford K ChuiCanadaIvan Magalhaes NEGOTIATION
David J StensethBrazilOnyama Limba UNQUALIFIED
Ashley U IturbideUnited KingdomAmy Elsner NEW
Silvio R VenereAustraliaElwin Sharvill QUALIFIED
Smith L MaletFranceAmy Elsner UNQUALIFIED
Johnson V RimItalyAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel S InouyeBrazilAmy Elsner NEGOTIATION
Mayumi X WieserAustraliaAmy Elsner RENEWAL
Morrow G AmigonUnited KingdomBernardo Dominic PROPOSAL
Leon S WieserJapanIvan Magalhaes QUALIFIED
Mujtaba Q OstroskySpainAsiya Javayant RENEWAL
Octavia W RimCanadaXuxue Feng UNQUALIFIED
Maisha P GarufiBrazilElwin Sharvill RENEWAL
Francesco P PoquetteItalyAmy Elsner NEW
Smith C SergiCanadaAnna Fali NEW
Francesco K NestleItalyAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro F SchemmerRussia2024-06-21Feiner Bros NEW6Onyama Limba
1001Mayumi M SergiCanada2024-06-21Chanay, Jeffrey A Esq NEW36Ioni Bowcher
1002Leja I StensethGermany2024-05-29Dorl, James J Esq RENEWAL42Onyama Limba
1003Alejandro N GauchoAustralia2024-06-05Rousseaux, Michael Esq PROPOSAL8Asiya Javayant
1004Julie Q BriddickJapan2024-06-01Chapman, Ross E Esq QUALIFIED79Onyama Limba
1005Kaitlin X RoysterFrance2024-06-03Feiner Bros NEW36Amy Elsner
1006Faith J GauchoItaly2024-06-10Chapman, Ross E Esq PROPOSAL37Amy Elsner
1007Maria O StockhamJapan2024-06-19Feiner Bros PROPOSAL77Ivan Magalhaes
1008Maria M RimBrazil2024-06-21Chapman, Ross E Esq RENEWAL79Bernardo Dominic
1009Octavia X SchemmerSpain2024-06-15Commercial Press QUALIFIED47Asiya Javayant
1010Darci W GlickCanada2024-06-05Feiner Bros QUALIFIED78Onyama Limba
1011Jennifer C FigeroaRussia2024-06-19Morlong Associates PROPOSAL3Ivan Magalhaes
1012Jennifer P RulapaughFrance2024-06-20Rangoni Of Florence NEGOTIATION54Ioni Bowcher
1013Johnson B BriddickJapan2024-05-31Rangoni Of Florence QUALIFIED38Xuxue Feng
1014Maria S GillianRussia2024-06-12Chapman, Ross E Esq QUALIFIED79Ivan Magalhaes
1015Kaitlin H GlickSpain2024-06-12Morlong Associates NEGOTIATION64Onyama Limba
1016Aruna R DoeSpain2024-06-13Rousseaux, Michael Esq PROPOSAL28Bernardo Dominic
1017Sinclair G ButtFrance2024-05-25Benton, John B Jr PROPOSAL96Asiya Javayant
1018Maria T NestleJapan2024-06-05Benton, John B Jr PROPOSAL53Ivan Magalhaes
1019Leon T MaletBrazil2024-06-15Chemel, James L Cpa UNQUALIFIED3Xuxue Feng
1020Mayumi R SergiAustralia2024-05-29Chanay, Jeffrey A Esq RENEWAL79Xuxue Feng
1021Claire Z MarrierSpain2024-05-29Commercial Press PROPOSAL34Asiya Javayant
1022Jefferson J AlbaresArgentina2024-06-16Dorl, James J Esq PROPOSAL56Ioni Bowcher
1023Maisha F GarufiBrazil2024-05-31Truhlar And Truhlar Attys UNQUALIFIED26Onyama Limba
1024Morrow Q NickaSpain2024-05-26Rangoni Of Florence NEGOTIATION15Elwin Sharvill
1025Chavez A GauchoFrance2024-06-16Dorl, James J Esq RENEWAL48Elwin Sharvill
1026Jeanfrancois N PerinItaly2024-05-28Buckley Miller Wright UNQUALIFIED95Elwin Sharvill
1027Jones V CaudyArgentina2024-06-21Buckley Miller Wright NEGOTIATION45Asiya Javayant
1028Mujtaba Q MacleadArgentina2024-06-12Buckley Miller Wright NEGOTIATION16Xuxue Feng
1029Alejandro Z PerinIndia2024-05-23Rangoni Of Florence NEGOTIATION17Onyama Limba
1030Alejandro C WaycottIndia2024-06-03Feltz Printing Service NEGOTIATION18Anna Fali
1031Stacey S VocelkaIndia2024-06-21Rousseaux, Michael Esq NEW89Amy Elsner
1032Maria S DarakjyRussia2024-05-30Feltz Printing Service RENEWAL35Bernardo Dominic
1033Misaki Z ButtBrazil2024-06-02Printing Dimensions QUALIFIED72Stephen Shaw
1034Nicolas I ShinkoRussia2024-06-13Chemel, James L Cpa NEGOTIATION28Elwin Sharvill
1035Aditya T ShinkoArgentina2024-05-24Truhlar And Truhlar Attys NEW76Amy Elsner
1036Rodrigues W DilliardBrazil2024-06-05Feltz Printing Service QUALIFIED58Onyama Limba
1037Faith R SergiJapan2024-06-12Chemel, James L Cpa NEW70Elwin Sharvill
1038Salvatore W KuskoGermany2024-06-21King, Christopher A Esq PROPOSAL99Anna Fali
1039James P ButtAustralia2024-06-09Rousseaux, Michael Esq NEW79Amy Elsner
1040Smith G GlickGermany2024-06-03Rousseaux, Michael Esq NEW68Amy Elsner
1041Ivar D InouyeAustralia2024-05-31Rousseaux, Michael Esq NEW91Amy Elsner
1042Francesco A MorascaAustralia2024-05-27Benton, John B Jr NEGOTIATION96Ioni Bowcher
1043Kaitlin F ShinkoSpain2024-05-31Chapman, Ross E Esq NEW13Ivan Magalhaes
1044Smith X FollerCanada2024-06-19Chemel, James L Cpa QUALIFIED7Asiya Javayant
1045Salvatore Y MacleadBrazil2024-05-30Buckley Miller Wright QUALIFIED27Elwin Sharvill
1046Alejandro N WhobreyIndia2024-06-18Feiner Bros RENEWAL29Stephen Shaw
1047Aruna R VocelkaFrance2024-06-14Commercial Press RENEWAL51Elwin Sharvill
1048Clifford F FerenczItaly2024-06-14Rangoni Of Florence PROPOSAL99Anna Fali
1049Munro S RutaItaly2024-05-27Commercial Press RENEWAL75Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Wickens V StockhamCanadaIoni Bowcher RENEWAL
Wickens A CaldareraUnited KingdomAnna Fali QUALIFIED
Julie S FollerUnited KingdomXuxue Feng NEGOTIATION
Johnson W FigeroaArgentinaIoni Bowcher QUALIFIED
Greenwood J WieserFranceIvan Magalhaes QUALIFIED
Jennifer M FlosiRussiaBernardo Dominic PROPOSAL
Mayumi Z KolmetzCanadaIvan Magalhaes RENEWAL
Mayumi Z StockhamFranceIvan Magalhaes UNQUALIFIED
Clifford Y VenereIndiaStephen Shaw NEW
Ashley J VocelkaArgentinaIvan Magalhaes QUALIFIED
Chavez C SaylorsSpainIoni Bowcher QUALIFIED
Francesco Y MaletBrazilIvan Magalhaes RENEWAL
Chavez H OstroskyGermanyIvan Magalhaes PROPOSAL
David W MaletRussiaXuxue Feng NEGOTIATION
Kaitlin K StensethFranceIvan Magalhaes UNQUALIFIED
Emily F FlosiFranceElwin Sharvill NEW
Clifford O FerenczIndiaIvan Magalhaes QUALIFIED
Ricardo I NickaCanadaElwin Sharvill NEGOTIATION
Murillo J BologniaFranceOnyama Limba PROPOSAL
Silvio M KolmetzFranceIvan Magalhaes QUALIFIED
Maisha W BowleyAustraliaAmy Elsner QUALIFIED
David S DilliardSpainXuxue Feng RENEWAL
Deepesh R CaudyUnited KingdomIvan Magalhaes QUALIFIED
Greenwood Q PoquetteIndiaAnna Fali PROPOSAL
David Y CaudyIndiaIoni Bowcher RENEWAL
Tony N MaletItalyXuxue Feng NEW
Maria X InouyeJapanElwin Sharvill RENEWAL
Isabel I DoeAustraliaBernardo Dominic UNQUALIFIED
Jefferson I PerinUnited KingdomAmy Elsner NEGOTIATION
Jeanfrancois T SergiRussiaAmy Elsner PROPOSAL
Kadeem B InouyeIndiaAnna Fali NEGOTIATION
Jones X FigeroaItalyAnna Fali PROPOSAL
Mayumi K WaycottSpainAsiya Javayant NEW
Antonio Y VenereRussiaStephen Shaw UNQUALIFIED
Aditya W VenereIndiaOnyama Limba RENEWAL
Arvin B PaprockiItalyOnyama Limba RENEWAL
Isabel P OldroydRussiaElwin Sharvill RENEWAL
Mujtaba E RoysterArgentinaElwin Sharvill RENEWAL
Izzy X IturbideItalyXuxue Feng QUALIFIED
Emily E ChuiGermanyAnna Fali NEW
Johnson Q KolmetzBrazilElwin Sharvill PROPOSAL
Antonio Q KuskoJapanStephen Shaw UNQUALIFIED
Greenwood K RimAustraliaAmy Elsner NEW
James H BowleyGermanyAmy Elsner QUALIFIED
James X ChuiItalyStephen Shaw PROPOSAL
Johnson Z FollerSpainAmy Elsner UNQUALIFIED
Stacey N MorascaJapanStephen Shaw NEW
David C PaprockiArgentinaAnna Fali UNQUALIFIED
Rodrigues I AmigonSpainOnyama Limba RENEWAL
Alejandro S GarufiIndiaIvan Magalhaes NEW
Frozen Columns
Name
Salvatore J Bolognia
Jefferson C Doe
Rodrigues Y Saylors
Clifford H Kolmetz
Murillo R Butt
Aika V Albares
Silvio F Flosi
Morrow R Ferencz
Aditya P Campain
Claire A Gaucho
Clifford U Butt
Morrow K Doe
James Z Inouye
Deepesh I Gaucho
Jeanfrancois Y Wieser
Nicolas I Rim
Isabel N Perin
Murillo S Sergi
Claire R Darakjy
Ricardo C Perin
Adams M Waycott
Kaitlin N Paprocki
Deepesh J Nestle
Jefferson D Briddick
Rodrigues B Schemmer
Stacey S Campain
Julie V Iturbide
Greenwood Q Bolognia
Alejandro B Rulapaugh
Aruna A Whobrey
Darci W Briddick
Octavia F Stockham
Jones J Malet
Silvio X Poquette
Octavia G Bolognia
Jones C Royster
Jeanfrancois R Nicka
Chavez R Kolmetz
David X Stockham
Juan P Garufi
Leja C Maclead
Izzy K Wieser
Claire Z Poquette
Mayumi I Stenseth
Emily R Stenseth
Aruna G Gillian
Kaitlin T Figeroa
Silvio C Rim
Jones J Figeroa
Sinclair X Ruta
IdCountryDate
1000Brazil2024-06-16
1001Brazil2024-06-03
1002Argentina2024-06-11
1003Canada2024-06-02
1004Brazil2024-06-12
1005Brazil2024-06-05
1006Germany2024-05-29
1007Japan2024-06-08
1008Japan2024-06-10
1009Italy2024-06-12
1010Japan2024-05-29
1011Spain2024-06-09
1012Argentina2024-05-27
1013Russia2024-06-03
1014Italy2024-06-14
1015Brazil2024-06-09
1016Japan2024-05-27
1017Spain2024-05-23
1018Japan2024-06-09
1019France2024-06-07
1020United Kingdom2024-06-01
1021United Kingdom2024-06-17
1022Canada2024-05-29
1023Italy2024-05-27
1024Brazil2024-06-17
1025United Kingdom2024-05-26
1026France2024-05-29
1027Italy2024-06-06
1028Japan2024-05-31
1029Italy2024-06-05
1030Spain2024-05-24
1031Germany2024-05-25
1032Canada2024-06-15
1033France2024-06-05
1034United Kingdom2024-06-03
1035India2024-06-06
1036India2024-06-15
1037Australia2024-06-07
1038Brazil2024-05-26
1039Spain2024-06-15
1040Italy2024-06-06
1041Italy2024-06-21
1042Russia2024-05-27
1043Australia2024-06-05
1044Argentina2024-06-02
1045Russia2024-05-26
1046Argentina2024-05-30
1047Argentina2024-05-30
1048India2024-05-25
1049United Kingdom2024-06-12

On-Demand Data

NameIdCountryDate
Nicolas G Doe1000Germany2024-05-23
Jefferson F Perin1001Brazil2024-06-09
Misaki C Butt1002Brazil2024-06-14
Jefferson H Sergi1003Germany2024-05-30
Ivar I Bolognia1004Russia2024-06-15
Murillo L Inouye1005Italy2024-06-20
Ivar U Sergi1006Canada2024-06-12
Mayumi D Stenseth1007Spain2024-06-21
Salvatore C Butt1008France2024-06-21
Costa S Nicka1009India2024-06-05
Aika X Saylors1010Canada2024-06-05
Mujtaba B Schemmer1011Japan2024-05-28
Octavia F Whobrey1012Argentina2024-06-14
Kadeem J Butt1013India2024-05-24
Stacey S Foller1014Spain2024-05-30
Aika X Inouye1015India2024-05-26
Wickens N Butt1016Spain2024-06-19
Aditya U Nicka1017Italy2024-06-17
Cody J Royster1018Italy2024-06-06
Mayumi C Albares1019United Kingdom2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin C FigeroaArgentinaAmy Elsner RENEWAL
Jones K OstroskyBrazilAmy Elsner UNQUALIFIED
Nicolas Z VenereItalyBernardo Dominic PROPOSAL
Cody A GlickItalyStephen Shaw NEW
Misaki N AlbaresIndiaAsiya Javayant PROPOSAL
Leon J GillianAustraliaOnyama Limba NEW
Murillo H MarrierArgentinaIvan Magalhaes NEW
Wickens G RimAustraliaIvan Magalhaes QUALIFIED
Ivar C TollnerRussiaAnna Fali NEW
Silvio Y RoysterCanadaAmy Elsner QUALIFIED
Jeanfrancois D MarrierGermanyStephen Shaw NEGOTIATION
Aditya P InouyeArgentinaStephen Shaw NEW
Murillo M OldroydSpainIvan Magalhaes NEGOTIATION
Chavez E DarakjySpainAmy Elsner NEW
Cody P AlbaresCanadaXuxue Feng RENEWAL
Rodrigues O PoquetteArgentinaAmy Elsner UNQUALIFIED
Ashley U StensethRussiaBernardo Dominic QUALIFIED
Leon F NickaBrazilAmy Elsner NEW
Maisha Q ButtItalyElwin Sharvill NEW
James P TollnerIndiaOnyama Limba NEGOTIATION
Octavia S RoysterBrazilBernardo Dominic UNQUALIFIED
Misaki O RimCanadaAmy Elsner RENEWAL
Aika X SaylorsSpainAsiya Javayant UNQUALIFIED
Isabel D FollerAustraliaIoni Bowcher NEGOTIATION
Ivar T WaycottRussiaIoni Bowcher UNQUALIFIED
Sinclair L BologniaItalyAsiya Javayant UNQUALIFIED
Alejandro P VocelkaItalyAnna Fali NEGOTIATION
Leon B DoeArgentinaAnna Fali QUALIFIED
Kaitlin V DilliardFranceElwin Sharvill RENEWAL
Maria T ShinkoGermanyXuxue Feng NEW
Johnson Z RulapaughBrazilXuxue Feng NEW
Ivar Z FollerRussiaAmy Elsner QUALIFIED
Silvio J StockhamUnited KingdomElwin Sharvill NEW
Greenwood R IturbideIndiaStephen Shaw PROPOSAL
Mujtaba Q VocelkaJapanOnyama Limba NEW
Maria P BowleyBrazilXuxue Feng NEW
Morrow T MaletJapanAmy Elsner QUALIFIED
Isabel C PoquetteItalyStephen Shaw UNQUALIFIED
Mayumi L RulapaughCanadaXuxue Feng NEW
Mujtaba D PaprockiArgentinaXuxue Feng 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>