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
Antonio Y BowleyItalyOnyama Limba NEW
Mujtaba D SergiItalyAmy Elsner RENEWAL
Antonio I StockhamJapanOnyama Limba RENEWAL
Isabel F SchemmerSpainAnna Fali NEGOTIATION
Kadeem M SaylorsItalyStephen Shaw PROPOSAL
Ricardo D FollerCanadaElwin Sharvill RENEWAL
Johnson I NestleBrazilAnna Fali NEGOTIATION
Izzy B VocelkaAustraliaElwin Sharvill NEGOTIATION
Arvin F MaletItalyXuxue Feng NEGOTIATION
Arvin Q PaprockiFranceAsiya Javayant NEW
Jones G AlbaresUnited KingdomXuxue Feng RENEWAL
Tony N AlbaresGermanyXuxue Feng NEW
Leja F PerinCanadaIvan Magalhaes RENEWAL
Adams R GlickBrazilStephen Shaw PROPOSAL
Mujtaba L MaletFranceAmy Elsner NEW
Aditya F RimJapanIvan Magalhaes NEW
Jones T BowleyJapanAmy Elsner UNQUALIFIED
Antonio M PaprockiUnited KingdomAnna Fali RENEWAL
Morrow V ChuiUnited KingdomAmy Elsner QUALIFIED
Nicolas F KolmetzItalyAmy Elsner RENEWAL
Rodrigues H RutaArgentinaOnyama Limba QUALIFIED
Maria F TollnerAustraliaAsiya Javayant NEGOTIATION
Leon Y GlickFranceAmy Elsner QUALIFIED
Misaki P DoeUnited KingdomBernardo Dominic UNQUALIFIED
Rodrigues H ChuiUnited KingdomIvan Magalhaes QUALIFIED
Clifford H CaudyBrazilAnna Fali RENEWAL
Isabel L CaudyArgentinaIoni Bowcher NEGOTIATION
Adams W WhobreyJapanAnna Fali RENEWAL
Greenwood J AlbaresAustraliaAmy Elsner RENEWAL
Costa P NestleRussiaAsiya Javayant NEW
Kadeem Z RimBrazilIoni Bowcher UNQUALIFIED
Misaki U SergiBrazilBernardo Dominic UNQUALIFIED
Darci P RimArgentinaIvan Magalhaes NEW
Darci A FerenczArgentinaAsiya Javayant PROPOSAL
Tony A ShinkoSpainOnyama Limba QUALIFIED
Salvatore Y KolmetzAustraliaElwin Sharvill NEGOTIATION
Adams Y FerenczItalyAnna Fali NEGOTIATION
Leja B PoquetteFranceAmy Elsner PROPOSAL
Alejandro I RulapaughItalyAnna Fali NEGOTIATION
Leon H CaudyRussiaIoni Bowcher NEGOTIATION
Silvio D GarufiCanadaAsiya Javayant RENEWAL
Maria Y TollnerSpainIoni Bowcher PROPOSAL
Faith D CaudySpainAmy Elsner PROPOSAL
Clifford X PerinSpainStephen Shaw NEGOTIATION
Nicolas I MaletArgentinaIoni Bowcher NEGOTIATION
Alejandro T DilliardIndiaStephen Shaw RENEWAL
Nicolas K WhobreyAustraliaIvan Magalhaes RENEWAL
Arvin G VocelkaGermanyXuxue Feng QUALIFIED
Jeanfrancois A StensethAustraliaStephen Shaw RENEWAL
Murillo M NickaRussiaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna Q SergiJapanBernardo Dominic PROPOSAL
Murillo M GlickIndiaIvan Magalhaes QUALIFIED
Nicolas W ShinkoBrazilIoni Bowcher QUALIFIED
Julie D GlickBrazilAsiya Javayant PROPOSAL
Maisha C DoeFranceOnyama Limba RENEWAL
Jennifer M CaudyUnited KingdomBernardo Dominic NEGOTIATION
Octavia B VocelkaUnited KingdomStephen Shaw QUALIFIED
Adams F SaylorsRussiaElwin Sharvill NEGOTIATION
Maria Z BologniaIndiaAsiya Javayant PROPOSAL
James K RutaArgentinaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya M FerenczUnited Kingdom2024-06-13Feltz Printing Service NEW79Anna Fali
1001Emily A WieserAustralia2024-05-27Feiner Bros UNQUALIFIED25Ioni Bowcher
1002Kadeem Y MarrierFrance2024-06-09Rousseaux, Michael Esq PROPOSAL71Anna Fali
1003Jeanfrancois V DilliardItaly2024-05-27Rousseaux, Michael Esq NEGOTIATION20Asiya Javayant
1004Sinclair R StockhamGermany2024-05-25Dorl, James J Esq NEW5Xuxue Feng
1005Nicolas E FlosiArgentina2024-06-03Benton, John B Jr RENEWAL29Onyama Limba
1006Mujtaba R WieserUnited Kingdom2024-06-10Chapman, Ross E Esq PROPOSAL34Asiya Javayant
1007Munro U InouyeArgentina2024-05-27Rangoni Of Florence QUALIFIED27Ivan Magalhaes
1008Isabel U SergiGermany2024-06-21Commercial Press UNQUALIFIED33Stephen Shaw
1009Julie A OstroskySpain2024-06-17Printing Dimensions PROPOSAL55Amy Elsner
1010Clifford I GarufiRussia2024-06-08Truhlar And Truhlar Attys NEGOTIATION99Stephen Shaw
1011Ivar K PaprockiUnited Kingdom2024-05-30Rousseaux, Michael Esq NEW45Xuxue Feng
1012Tony U BologniaGermany2024-06-21Morlong Associates PROPOSAL83Elwin Sharvill
1013Juan C IturbideFrance2024-06-13King, Christopher A Esq RENEWAL30Xuxue Feng
1014Izzy Z MarrierIndia2024-06-21Buckley Miller Wright PROPOSAL49Asiya Javayant
1015Costa H FigeroaAustralia2024-06-20Feltz Printing Service PROPOSAL80Stephen Shaw
1016Emily N WhobreyBrazil2024-05-26Chanay, Jeffrey A Esq NEW78Xuxue Feng
1017Ricardo T FollerGermany2024-05-28Dorl, James J Esq PROPOSAL91Bernardo Dominic
1018Nicolas K AmigonBrazil2024-06-14Chemel, James L Cpa QUALIFIED91Ivan Magalhaes
1019Francesco Q FlosiCanada2024-06-03Dorl, James J Esq NEW91Ivan Magalhaes
1020Rodrigues E SlusarskiJapan2024-06-05Chapman, Ross E Esq NEGOTIATION32Amy Elsner
1021Kadeem F AmigonIndia2024-06-06Rousseaux, Michael Esq QUALIFIED48Stephen Shaw
1022Mujtaba K RulapaughUnited Kingdom2024-05-25Dorl, James J Esq NEGOTIATION17Anna Fali
1023Jefferson S GauchoBrazil2024-05-31Rousseaux, Michael Esq NEGOTIATION9Xuxue Feng
1024Rodrigues J VocelkaGermany2024-05-28Buckley Miller Wright NEW13Xuxue Feng
1025Claire F GarufiFrance2024-06-18Chemel, James L Cpa NEGOTIATION25Ioni Bowcher
1026Silvio F DarakjyArgentina2024-06-04Dorl, James J Esq PROPOSAL63Asiya Javayant
1027Nicolas C SaylorsGermany2024-06-15Benton, John B Jr NEW57Bernardo Dominic
1028Jones T SchemmerIndia2024-06-17Chemel, James L Cpa UNQUALIFIED64Xuxue Feng
1029Julie N VenereAustralia2024-05-28Rousseaux, Michael Esq RENEWAL76Elwin Sharvill
1030Chavez Z PerinRussia2024-06-21Printing Dimensions UNQUALIFIED89Ivan Magalhaes
1031Smith M GillianCanada2024-06-21Printing Dimensions RENEWAL94Stephen Shaw
1032Greenwood Q NestleJapan2024-06-09Rousseaux, Michael Esq NEGOTIATION96Onyama Limba
1033Silvio T FigeroaUnited Kingdom2024-05-29Morlong Associates RENEWAL48Amy Elsner
1034Jefferson G TollnerFrance2024-06-21Morlong Associates UNQUALIFIED21Bernardo Dominic
1035Adams B OldroydCanada2024-06-20Feiner Bros NEGOTIATION93Elwin Sharvill
1036Jennifer M MorascaGermany2024-05-28Chemel, James L Cpa RENEWAL13Onyama Limba
1037Jennifer N GarufiArgentina2024-06-21Rousseaux, Michael Esq UNQUALIFIED92Stephen Shaw
1038Kaitlin M RoysterBrazil2024-05-28Commercial Press PROPOSAL74Ivan Magalhaes
1039Arvin L MacleadAustralia2024-05-27Rangoni Of Florence UNQUALIFIED2Bernardo Dominic
1040Alejandro E PoquetteRussia2024-06-14King, Christopher A Esq NEGOTIATION46Ivan Magalhaes
1041Aika W MacleadBrazil2024-06-04Benton, John B Jr NEW58Xuxue Feng
1042Leon I PerinIndia2024-06-08King, Christopher A Esq QUALIFIED53Ioni Bowcher
1043Costa Z AlbaresItaly2024-06-14Buckley Miller Wright RENEWAL30Bernardo Dominic
1044Antonio N DilliardCanada2024-05-30Rangoni Of Florence NEGOTIATION30Stephen Shaw
1045Greenwood Y CaudyUnited Kingdom2024-05-29Rangoni Of Florence RENEWAL71Anna Fali
1046Aditya F MorascaJapan2024-06-21Buckley Miller Wright NEGOTIATION10Amy Elsner
1047Kaitlin E RimAustralia2024-06-21Chapman, Ross E Esq NEW17Onyama Limba
1048Antonio B StensethArgentina2024-06-05Dorl, James J Esq UNQUALIFIED71Asiya Javayant
1049Aditya T StensethCanada2024-06-03Buckley Miller Wright QUALIFIED31Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues R WieserGermanyAsiya Javayant QUALIFIED
Cody X OldroydSpainIoni Bowcher UNQUALIFIED
Leja Q KuskoCanadaStephen Shaw RENEWAL
Faith Y GauchoIndiaOnyama Limba UNQUALIFIED
Leon H SlusarskiFranceAmy Elsner NEW
Tony W PoquetteAustraliaAmy Elsner RENEWAL
Kaitlin X GlickJapanOnyama Limba QUALIFIED
Emily O PoquetteJapanAmy Elsner UNQUALIFIED
Francesco M SchemmerBrazilOnyama Limba NEGOTIATION
Costa Q InouyeAustraliaElwin Sharvill RENEWAL
Kaitlin N GarufiIndiaIvan Magalhaes NEGOTIATION
Jones I FigeroaCanadaIoni Bowcher PROPOSAL
Aditya C BriddickRussiaAnna Fali NEGOTIATION
Adams W AlbaresArgentinaBernardo Dominic PROPOSAL
Kaitlin L VenereFranceAmy Elsner QUALIFIED
Maria N MaletFranceStephen Shaw UNQUALIFIED
Francesco K GillianJapanOnyama Limba RENEWAL
Aika E RoysterFranceOnyama Limba PROPOSAL
Ivar P RutaCanadaXuxue Feng NEGOTIATION
Adams X WhobreyRussiaAsiya Javayant NEGOTIATION
Claire E KolmetzBrazilAmy Elsner NEGOTIATION
Kadeem Z NestleSpainAsiya Javayant PROPOSAL
Claire D BowleyBrazilStephen Shaw UNQUALIFIED
Kadeem U OldroydRussiaAnna Fali RENEWAL
Munro R MacleadUnited KingdomXuxue Feng NEGOTIATION
Leja R VenereUnited KingdomIvan Magalhaes NEW
Murillo M WhobreyItalyIoni Bowcher RENEWAL
Jefferson X ShinkoArgentinaBernardo Dominic NEGOTIATION
Claire O OstroskyFranceXuxue Feng PROPOSAL
Leon I GillianIndiaAsiya Javayant UNQUALIFIED
Izzy S WaycottFranceXuxue Feng UNQUALIFIED
Jeanfrancois C IturbideRussiaElwin Sharvill NEW
Deepesh I NickaGermanyOnyama Limba NEGOTIATION
Jones K CaudyRussiaAnna Fali NEW
Faith Y GarufiCanadaOnyama Limba UNQUALIFIED
Claire O DilliardSpainStephen Shaw UNQUALIFIED
Emily P PaprockiBrazilStephen Shaw PROPOSAL
Mayumi P MacleadCanadaIvan Magalhaes NEW
Wickens X StockhamRussiaAnna Fali QUALIFIED
Isabel G AlbaresRussiaStephen Shaw NEGOTIATION
Alejandro M MaletJapanBernardo Dominic QUALIFIED
Mujtaba U StensethBrazilElwin Sharvill NEW
Leon C WieserGermanyAnna Fali RENEWAL
Mayumi B SergiCanadaXuxue Feng NEGOTIATION
Julie R MaletSpainAsiya Javayant QUALIFIED
Aika W MacleadFranceIvan Magalhaes QUALIFIED
Isabel O KolmetzIndiaXuxue Feng NEGOTIATION
Johnson B SchemmerItalyBernardo Dominic PROPOSAL
Julie H PaprockiUnited KingdomAnna Fali RENEWAL
Misaki D FigeroaJapanAnna Fali NEGOTIATION
Frozen Columns
Name
Alejandro Q Oldroyd
Nicolas M Oldroyd
Silvio U Campain
Nicolas G Amigon
Johnson F Dilliard
Munro K Caldarera
Antonio L Ferencz
Francesco O Wieser
Mujtaba M Amigon
Faith J Dilliard
Francesco E Slusarski
Morrow L Shinko
Aika J Flosi
Leon P Schemmer
Greenwood H Inouye
Ivar V Inouye
Francesco U Malet
Nicolas C Caldarera
Kaitlin X Waycott
Faith R Ruta
Maisha B Paprocki
Leja J Gaucho
Silvio N Garufi
Deepesh V Briddick
Arvin G Nestle
Julie E Gaucho
Alejandro W Campain
Faith I Morasca
Costa Q Malet
Cody L Doe
Jeanfrancois G Bowley
Claire R Tollner
Jones Q Gillian
Kadeem C Poquette
Misaki Z Venere
Deepesh T Kolmetz
Jefferson C Royster
Salvatore V Ostrosky
Arvin M Garufi
David W Iturbide
Sinclair Y Poquette
Julie E Briddick
Leja Q Tollner
Jones Y Nestle
Costa T Dilliard
Greenwood N Oldroyd
Francesco O Tollner
Juan H Wieser
Darci N Gillian
Maria X Schemmer
IdCountryDate
1000United Kingdom2024-06-03
1001United Kingdom2024-06-19
1002Russia2024-06-22
1003Australia2024-06-12
1004Russia2024-06-17
1005Australia2024-06-11
1006India2024-06-06
1007Argentina2024-06-04
1008Argentina2024-06-18
1009Italy2024-06-10
1010Spain2024-06-20
1011Brazil2024-06-08
1012United Kingdom2024-06-09
1013Germany2024-06-20
1014Argentina2024-05-31
1015Italy2024-06-19
1016Spain2024-06-13
1017United Kingdom2024-06-12
1018Brazil2024-06-18
1019Italy2024-06-02
1020Spain2024-05-25
1021Italy2024-06-02
1022Australia2024-05-30
1023Germany2024-06-12
1024Italy2024-05-25
1025Brazil2024-06-12
1026Italy2024-06-08
1027Spain2024-05-29
1028Brazil2024-06-09
1029Japan2024-06-02
1030France2024-06-05
1031United Kingdom2024-06-06
1032Canada2024-05-29
1033France2024-06-02
1034Canada2024-06-02
1035Australia2024-06-01
1036Russia2024-06-08
1037France2024-05-30
1038India2024-05-29
1039Spain2024-06-14
1040United Kingdom2024-05-29
1041Spain2024-05-28
1042Italy2024-05-25
1043Japan2024-06-22
1044France2024-06-07
1045Russia2024-05-30
1046United Kingdom2024-06-10
1047Germany2024-05-25
1048Brazil2024-06-17
1049Canada2024-06-21

On-Demand Data

NameIdCountryDate
Salvatore W Albares1000Italy2024-05-30
Kaitlin H Gaucho1001Italy2024-06-07
Faith K Bolognia1002Brazil2024-06-03
Ricardo F Iturbide1003Canada2024-06-08
Julie S Slusarski1004France2024-05-29
David Y Dilliard1005Argentina2024-06-12
Jeanfrancois G Paprocki1006United Kingdom2024-06-02
Francesco L Vocelka1007Argentina2024-05-31
Darci A Iturbide1008United Kingdom2024-05-30
Maria P Sergi1009Brazil2024-05-31
Claire W Nicka1010Spain2024-06-18
Rodrigues P Glick1011Brazil2024-06-12
Francesco O Chui1012France2024-06-05
Alejandro Y Ferencz1013Spain2024-06-12
Jones G Albares1014Italy2024-05-26
Kadeem P Gillian1015Spain2024-06-19
Rodrigues D Garufi1016Germany2024-06-14
Leja J Shinko1017Brazil2024-05-30
Clifford E Chui1018Argentina2024-05-26
Deepesh M Chui1019Spain2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David I MaletArgentinaAnna Fali QUALIFIED
Kaitlin V FlosiRussiaAsiya Javayant NEW
Ricardo E GillianGermanyElwin Sharvill QUALIFIED
Wickens Y AmigonItalyBernardo Dominic UNQUALIFIED
Morrow M AlbaresAustraliaAnna Fali UNQUALIFIED
Aruna E MorascaCanadaXuxue Feng RENEWAL
Juan X CampainCanadaXuxue Feng UNQUALIFIED
Salvatore X VocelkaAustraliaElwin Sharvill NEW
Morrow V GillianRussiaIvan Magalhaes UNQUALIFIED
Tony C WieserArgentinaAsiya Javayant RENEWAL
Johnson A VocelkaCanadaIoni Bowcher QUALIFIED
Ivar B SlusarskiSpainAnna Fali QUALIFIED
Munro V GillianCanadaBernardo Dominic PROPOSAL
Sinclair Z IturbideArgentinaOnyama Limba RENEWAL
Chavez X SergiGermanyAmy Elsner QUALIFIED
Ivar H BriddickJapanIoni Bowcher QUALIFIED
Arvin Z AlbaresCanadaIvan Magalhaes NEW
Jefferson B VenereRussiaOnyama Limba NEGOTIATION
Mujtaba T MaletRussiaIvan Magalhaes QUALIFIED
Murillo O PaprockiJapanOnyama Limba QUALIFIED
Darci I StockhamFranceXuxue Feng NEGOTIATION
Stacey G VenereItalyIoni Bowcher PROPOSAL
Tony N GarufiAustraliaStephen Shaw UNQUALIFIED
Aruna O GauchoAustraliaAsiya Javayant UNQUALIFIED
Wickens X RoysterFranceStephen Shaw RENEWAL
David N GarufiArgentinaIoni Bowcher NEW
Julie E NickaAustraliaStephen Shaw UNQUALIFIED
Claire E SlusarskiUnited KingdomBernardo Dominic NEW
Alejandro Q FerenczSpainStephen Shaw NEGOTIATION
Ashley H MaletAustraliaIoni Bowcher UNQUALIFIED
Leon F GillianIndiaXuxue Feng RENEWAL
Mujtaba Z WaycottIndiaOnyama Limba RENEWAL
Cody F MacleadArgentinaIoni Bowcher PROPOSAL
Maisha Y DarakjyBrazilElwin Sharvill NEGOTIATION
Murillo P RoysterItalyOnyama Limba PROPOSAL
James T WieserItalyIvan Magalhaes NEW
Murillo T RulapaughCanadaAnna Fali RENEWAL
Antonio I MaletFranceIvan Magalhaes PROPOSAL
Nicolas F OstroskyBrazilElwin Sharvill PROPOSAL
Costa K TollnerBrazilAmy Elsner QUALIFIED

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