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
Sinclair J PaprockiGermanyBernardo Dominic RENEWAL
Alejandro O ShinkoUnited KingdomAnna Fali RENEWAL
Juan V PaprockiRussiaIoni Bowcher NEW
Mujtaba Y NickaIndiaIoni Bowcher UNQUALIFIED
Isabel E DarakjyAustraliaStephen Shaw NEGOTIATION
Maria G DilliardSpainAnna Fali PROPOSAL
Silvio Z TollnerCanadaAmy Elsner UNQUALIFIED
Julie Y GauchoArgentinaXuxue Feng NEGOTIATION
Arvin I SaylorsBrazilAsiya Javayant PROPOSAL
Mayumi W NickaBrazilElwin Sharvill QUALIFIED
Rodrigues V SaylorsIndiaAsiya Javayant UNQUALIFIED
Wickens P InouyeFranceStephen Shaw QUALIFIED
Chavez E GillianAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois M SchemmerJapanIoni Bowcher UNQUALIFIED
Leon W ChuiArgentinaAsiya Javayant QUALIFIED
Tony Q RimIndiaIvan Magalhaes RENEWAL
Adams L MacleadGermanyBernardo Dominic PROPOSAL
Octavia K NestleItalyOnyama Limba QUALIFIED
Mujtaba S StensethGermanyIvan Magalhaes RENEWAL
Wickens D GarufiBrazilBernardo Dominic RENEWAL
Greenwood B KuskoRussiaStephen Shaw QUALIFIED
Rodrigues C SergiCanadaIvan Magalhaes UNQUALIFIED
Misaki A GlickAustraliaStephen Shaw QUALIFIED
Darci R WhobreyGermanyIoni Bowcher RENEWAL
Clifford S OstroskyJapanStephen Shaw NEGOTIATION
Misaki T GarufiIndiaAmy Elsner NEW
Aruna H RulapaughSpainOnyama Limba UNQUALIFIED
Murillo W SchemmerUnited KingdomAmy Elsner QUALIFIED
Morrow B GillianAustraliaOnyama Limba QUALIFIED
Aruna N CampainSpainAsiya Javayant PROPOSAL
Murillo T SaylorsCanadaAmy Elsner NEGOTIATION
Ricardo Z GauchoItalyAsiya Javayant QUALIFIED
Jefferson F StensethCanadaAsiya Javayant NEGOTIATION
Darci J PerinItalyAmy Elsner NEGOTIATION
Costa Q CaldareraRussiaStephen Shaw PROPOSAL
Jeanfrancois H SchemmerIndiaAsiya Javayant RENEWAL
Tony S WhobreyGermanyAsiya Javayant NEGOTIATION
James I OldroydAustraliaAsiya Javayant PROPOSAL
Costa O ShinkoUnited KingdomAmy Elsner RENEWAL
Aditya P CampainSpainBernardo Dominic QUALIFIED
Costa N GauchoIndiaAmy Elsner NEGOTIATION
David Y CaudyIndiaBernardo Dominic QUALIFIED
Jeanfrancois N RoysterSpainIvan Magalhaes RENEWAL
Ashley U FerenczCanadaAsiya Javayant NEGOTIATION
Misaki I RulapaughItalyIoni Bowcher UNQUALIFIED
Aruna H AmigonIndiaAmy Elsner PROPOSAL
Jefferson D AlbaresUnited KingdomIvan Magalhaes NEGOTIATION
Aruna H StockhamGermanyIvan Magalhaes NEW
Jefferson O MacleadRussiaAmy Elsner NEW
James E StockhamArgentinaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois E SaylorsItalyIoni Bowcher NEGOTIATION
Aika Q BowleyAustraliaStephen Shaw RENEWAL
Ivar V KuskoRussiaIoni Bowcher QUALIFIED
Jennifer P GillianItalyIvan Magalhaes NEW
Maisha D GillianSpainElwin Sharvill UNQUALIFIED
Murillo S ButtBrazilAsiya Javayant NEGOTIATION
Adams P FlosiAustraliaBernardo Dominic UNQUALIFIED
Deepesh E SchemmerSpainIvan Magalhaes UNQUALIFIED
Francesco H BowleyFranceElwin Sharvill RENEWAL
Mujtaba N DilliardFranceAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin W BologniaSpain2024-05-28Dorl, James J Esq NEGOTIATION57Xuxue Feng
1001Munro V GlickSpain2024-05-19Buckley Miller Wright PROPOSAL34Bernardo Dominic
1002Misaki Y OldroydGermany2024-05-08Dorl, James J Esq NEW31Xuxue Feng
1003Clifford H ShinkoIndia2024-05-21King, Christopher A Esq RENEWAL96Elwin Sharvill
1004Darci K SergiCanada2024-05-15Buckley Miller Wright UNQUALIFIED6Stephen Shaw
1005Emily A RutaItaly2024-05-21Chapman, Ross E Esq RENEWAL42Ivan Magalhaes
1006James W WieserCanada2024-05-16Feltz Printing Service QUALIFIED15Ioni Bowcher
1007Maisha H CampainArgentina2024-05-06Feltz Printing Service RENEWAL51Stephen Shaw
1008Aruna G SergiRussia2024-05-23Truhlar And Truhlar Attys QUALIFIED68Ioni Bowcher
1009Murillo D TollnerUnited Kingdom2024-05-18Chanay, Jeffrey A Esq PROPOSAL73Stephen Shaw
1010Ricardo M BriddickRussia2024-05-30Dorl, James J Esq NEGOTIATION44Amy Elsner
1011Clifford X DilliardFrance2024-05-17Buckley Miller Wright RENEWAL75Ivan Magalhaes
1012Darci T KolmetzItaly2024-05-15Chemel, James L Cpa UNQUALIFIED85Onyama Limba
1013Jones Z CaldareraBrazil2024-05-18Rousseaux, Michael Esq PROPOSAL33Onyama Limba
1014Antonio K GarufiJapan2024-05-25Benton, John B Jr RENEWAL65Amy Elsner
1015Mayumi E ShinkoArgentina2024-05-10Commercial Press RENEWAL12Xuxue Feng
1016Leon I CaudyUnited Kingdom2024-05-28Printing Dimensions RENEWAL61Elwin Sharvill
1017Tony S IturbideIndia2024-06-01Morlong Associates NEGOTIATION12Onyama Limba
1018Nicolas U IturbideJapan2024-05-04Dorl, James J Esq PROPOSAL97Bernardo Dominic
1019Rodrigues R FlosiFrance2024-05-29Buckley Miller Wright RENEWAL91Ivan Magalhaes
1020Silvio T CampainRussia2024-05-23Printing Dimensions PROPOSAL71Bernardo Dominic
1021Maria D RoysterJapan2024-05-18King, Christopher A Esq PROPOSAL76Ioni Bowcher
1022Misaki C VocelkaRussia2024-05-22Truhlar And Truhlar Attys PROPOSAL45Amy Elsner
1023James V PerinBrazil2024-05-15Chanay, Jeffrey A Esq PROPOSAL10Stephen Shaw
1024Silvio Q RimFrance2024-06-01Truhlar And Truhlar Attys PROPOSAL84Ivan Magalhaes
1025Francesco S ChuiRussia2024-05-09Chapman, Ross E Esq QUALIFIED57Bernardo Dominic
1026Rodrigues H BologniaUnited Kingdom2024-05-18Feiner Bros NEW94Elwin Sharvill
1027Stacey V WieserArgentina2024-05-09Commercial Press UNQUALIFIED61Xuxue Feng
1028Leon V CaldareraAustralia2024-05-14Rousseaux, Michael Esq PROPOSAL34Asiya Javayant
1029Silvio W FlosiSpain2024-05-08Commercial Press UNQUALIFIED92Stephen Shaw
1030Isabel P TollnerAustralia2024-05-27Feiner Bros NEW34Anna Fali
1031Deepesh K AmigonFrance2024-05-13Commercial Press NEGOTIATION74Onyama Limba
1032Deepesh B BowleyUnited Kingdom2024-06-02Rousseaux, Michael Esq RENEWAL98Bernardo Dominic
1033Leja F StensethFrance2024-05-08Rangoni Of Florence RENEWAL58Stephen Shaw
1034Aditya E BriddickBrazil2024-05-29Chapman, Ross E Esq PROPOSAL58Bernardo Dominic
1035Tony D KuskoCanada2024-05-08Chapman, Ross E Esq NEW36Bernardo Dominic
1036Greenwood T WhobreyUnited Kingdom2024-05-15Truhlar And Truhlar Attys UNQUALIFIED60Xuxue Feng
1037Johnson F StensethCanada2024-05-23Dorl, James J Esq PROPOSAL30Onyama Limba
1038Kadeem O IturbideItaly2024-05-18Rangoni Of Florence RENEWAL30Ioni Bowcher
1039Smith Y MaletJapan2024-05-20Feiner Bros PROPOSAL50Xuxue Feng
1040Aika J CampainFrance2024-05-28Rousseaux, Michael Esq NEGOTIATION90Ivan Magalhaes
1041Johnson S IturbideItaly2024-05-27Rousseaux, Michael Esq QUALIFIED94Stephen Shaw
1042Alejandro A PoquetteRussia2024-06-01Printing Dimensions NEGOTIATION61Anna Fali
1043Greenwood W RulapaughItaly2024-05-20Benton, John B Jr UNQUALIFIED96Asiya Javayant
1044Stacey A FigeroaBrazil2024-05-08Chanay, Jeffrey A Esq PROPOSAL47Asiya Javayant
1045Jennifer R MaletIndia2024-05-28Rangoni Of Florence QUALIFIED8Ivan Magalhaes
1046Aika O PaprockiGermany2024-05-14Morlong Associates UNQUALIFIED60Asiya Javayant
1047Octavia C ShinkoRussia2024-05-30Commercial Press UNQUALIFIED15Ivan Magalhaes
1048Antonio A GauchoJapan2024-05-22Benton, John B Jr UNQUALIFIED93Anna Fali
1049Ricardo G KolmetzBrazil2024-05-22Chanay, Jeffrey A Esq PROPOSAL43Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Munro F SaylorsBrazilIvan Magalhaes QUALIFIED
Misaki J StensethSpainIoni Bowcher NEGOTIATION
Murillo V FerenczCanadaIoni Bowcher NEGOTIATION
Sinclair O TollnerItalyStephen Shaw RENEWAL
Deepesh Y GillianFranceAsiya Javayant RENEWAL
Aika M WaycottBrazilAmy Elsner PROPOSAL
Juan O InouyeIndiaBernardo Dominic PROPOSAL
Adams E TollnerCanadaStephen Shaw PROPOSAL
Johnson V OldroydItalyStephen Shaw NEW
Rodrigues D DilliardUnited KingdomStephen Shaw UNQUALIFIED
Smith U SaylorsCanadaIoni Bowcher NEW
Stacey M RimSpainXuxue Feng QUALIFIED
Jeanfrancois R OstroskyAustraliaXuxue Feng UNQUALIFIED
Murillo Z ChuiFranceBernardo Dominic QUALIFIED
Aruna F ButtCanadaIoni Bowcher NEGOTIATION
Emily U AlbaresArgentinaElwin Sharvill NEGOTIATION
Nicolas N PoquetteCanadaAmy Elsner QUALIFIED
David L GarufiGermanyIoni Bowcher NEGOTIATION
Munro E BologniaItalyOnyama Limba NEGOTIATION
Maisha J FlosiArgentinaXuxue Feng NEGOTIATION
Aika Z FlosiSpainAsiya Javayant PROPOSAL
Sinclair E KuskoRussiaAmy Elsner QUALIFIED
Greenwood K NestleGermanyIoni Bowcher UNQUALIFIED
Jones G IturbideItalyAsiya Javayant PROPOSAL
Darci K KuskoFranceBernardo Dominic UNQUALIFIED
Rodrigues V BologniaItalyAmy Elsner PROPOSAL
Kaitlin X SlusarskiJapanIvan Magalhaes QUALIFIED
Julie A VocelkaBrazilOnyama Limba NEW
Julie J FlosiJapanIoni Bowcher QUALIFIED
Maisha Q GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Jennifer G FerenczGermanyStephen Shaw PROPOSAL
Johnson Y CaudyFranceElwin Sharvill UNQUALIFIED
Kaitlin D RutaIndiaStephen Shaw PROPOSAL
Kaitlin W FlosiJapanIvan Magalhaes PROPOSAL
Smith F WhobreyArgentinaAnna Fali UNQUALIFIED
Octavia L MorascaRussiaAsiya Javayant NEGOTIATION
Chavez Y MorascaGermanyStephen Shaw NEW
Morrow C WieserBrazilElwin Sharvill NEGOTIATION
Leja O StensethUnited KingdomElwin Sharvill QUALIFIED
Jennifer T DarakjyUnited KingdomAnna Fali QUALIFIED
Maria O InouyeSpainIvan Magalhaes RENEWAL
Silvio D DoeGermanyAnna Fali NEW
Costa K VenereGermanyOnyama Limba QUALIFIED
Maisha X NickaUnited KingdomStephen Shaw UNQUALIFIED
Ricardo C BowleyItalyIoni Bowcher QUALIFIED
Maisha B MarrierCanadaIvan Magalhaes NEW
Faith Z AmigonGermanyIvan Magalhaes RENEWAL
Adams V FerenczItalyOnyama Limba RENEWAL
Antonio E ChuiBrazilElwin Sharvill NEW
Maria X ButtRussiaXuxue Feng RENEWAL
Frozen Columns
Name
Arvin T Stenseth
Jefferson W Darakjy
Leja U Nestle
Ashley W Rulapaugh
Tony Z Darakjy
Tony H Ruta
Emily E Caudy
Ashley A Ostrosky
Nicolas X Doe
Juan X Vocelka
Maria N Darakjy
Leon N Waycott
Clifford W Shinko
Antonio P Glick
Rodrigues P Poquette
James H Sergi
James I Malet
Misaki A Ferencz
Emily L Bowley
Jones O Glick
Mayumi J Maclead
Costa R Garufi
Kaitlin S Sergi
Ivar J Shinko
Mayumi L Poquette
Aika C Figeroa
Alejandro Y Garufi
Greenwood U Figeroa
Greenwood D Malet
Cody R Morasca
Ricardo U Malet
Isabel M Marrier
Morrow B Slusarski
Izzy L Nestle
Sinclair W Kusko
Leon D Tollner
Smith F Sergi
Antonio H Ferencz
Francesco E Chui
Aditya W Darakjy
Jennifer A Marrier
Morrow W Saylors
Mayumi X Royster
Jennifer O Kolmetz
Nicolas I Stockham
Aruna J Albares
Ivar L Rim
Ivar I Sergi
Jones N Ferencz
Ashley D Royster
IdCountryDate
1000India2024-05-06
1001Australia2024-05-26
1002Japan2024-05-09
1003Russia2024-05-18
1004Russia2024-05-28
1005Brazil2024-05-06
1006Australia2024-05-11
1007Argentina2024-05-08
1008India2024-05-24
1009Germany2024-05-07
1010Germany2024-05-31
1011India2024-05-23
1012Argentina2024-05-19
1013Italy2024-05-20
1014France2024-05-11
1015Canada2024-05-06
1016United Kingdom2024-05-11
1017Brazil2024-05-06
1018Germany2024-05-23
1019Brazil2024-05-14
1020Spain2024-05-24
1021Spain2024-05-31
1022Spain2024-05-11
1023India2024-05-17
1024Japan2024-06-01
1025Spain2024-05-12
1026Japan2024-05-29
1027India2024-05-10
1028France2024-05-18
1029Brazil2024-05-27
1030Russia2024-05-10
1031Argentina2024-05-16
1032Japan2024-05-13
1033India2024-05-07
1034Spain2024-05-11
1035India2024-05-24
1036United Kingdom2024-05-26
1037Brazil2024-05-15
1038United Kingdom2024-05-24
1039Spain2024-05-07
1040Italy2024-05-23
1041Russia2024-05-29
1042United Kingdom2024-05-25
1043United Kingdom2024-05-15
1044Japan2024-05-15
1045Italy2024-05-06
1046Japan2024-06-01
1047Brazil2024-05-29
1048Russia2024-05-12
1049France2024-05-12

On-Demand Data

NameIdCountryDate
Clifford X Gaucho1000France2024-05-22
Jennifer S Saylors1001United Kingdom2024-05-28
Jeanfrancois J Venere1002India2024-05-07
Alejandro U Flosi1003Spain2024-05-18
Jones K Royster1004France2024-05-30
Jeanfrancois H Briddick1005Australia2024-05-19
Aruna K Nestle1006Italy2024-05-19
Leja X Waycott1007Australia2024-05-29
Clifford A Bolognia1008Japan2024-05-31
Misaki Z Glick1009France2024-05-30
Aditya F Shinko1010Brazil2024-05-08
Maria T Malet1011France2024-05-18
Aruna N Shinko1012Australia2024-05-08
Alejandro T Figeroa1013India2024-05-17
Johnson M Bowley1014Italy2024-06-02
Aruna D Oldroyd1015Brazil2024-06-02
Octavia N Gillian1016France2024-05-12
Leon J Briddick1017Canada2024-05-24
Costa H Venere1018France2024-05-25
Johnson X Figeroa1019Germany2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin Y OldroydBrazilElwin Sharvill NEW
Aruna C AmigonIndiaOnyama Limba RENEWAL
Johnson C OldroydArgentinaStephen Shaw RENEWAL
Ashley H SlusarskiJapanAsiya Javayant RENEWAL
Darci P RutaFranceBernardo Dominic UNQUALIFIED
David M MacleadAustraliaStephen Shaw RENEWAL
Stacey E BowleyItalyBernardo Dominic NEW
Morrow Y BologniaIndiaAmy Elsner UNQUALIFIED
Darci C CaldareraIndiaAsiya Javayant QUALIFIED
Ricardo A GarufiCanadaBernardo Dominic RENEWAL
Alejandro M WhobreyUnited KingdomAsiya Javayant UNQUALIFIED
Smith V SchemmerIndiaBernardo Dominic PROPOSAL
Juan T ChuiJapanOnyama Limba UNQUALIFIED
David W AlbaresBrazilXuxue Feng RENEWAL
Nicolas N CaudyAustraliaIvan Magalhaes NEGOTIATION
Claire R NickaUnited KingdomAsiya Javayant PROPOSAL
Jones C CaudyGermanyAsiya Javayant UNQUALIFIED
Francesco F ChuiSpainAsiya Javayant PROPOSAL
Darci V BriddickSpainAnna Fali QUALIFIED
James B RimSpainBernardo Dominic QUALIFIED
Stacey J WhobreyCanadaIoni Bowcher QUALIFIED
Morrow E PerinBrazilStephen Shaw NEW
Mayumi D GlickRussiaIoni Bowcher NEGOTIATION
Adams R WieserItalyAsiya Javayant PROPOSAL
Izzy V ChuiFranceAsiya Javayant NEW
Cody T PoquetteGermanyElwin Sharvill PROPOSAL
Aditya J RulapaughJapanAmy Elsner RENEWAL
Darci W StockhamIndiaBernardo Dominic PROPOSAL
Claire K IturbideAustraliaOnyama Limba NEGOTIATION
Kaitlin Y SaylorsBrazilXuxue Feng NEGOTIATION
Kaitlin N ShinkoBrazilIoni Bowcher NEGOTIATION
Mayumi X CaldareraSpainOnyama Limba RENEWAL
Wickens W MorascaCanadaAmy Elsner RENEWAL
Octavia B CaldareraArgentinaXuxue Feng NEGOTIATION
Emily O KuskoUnited KingdomStephen Shaw NEGOTIATION
Silvio J SchemmerCanadaAmy Elsner QUALIFIED
Maria D PaprockiGermanyOnyama Limba QUALIFIED
Leja E InouyeIndiaElwin Sharvill NEW
Kadeem Y MarrierBrazilAnna Fali NEGOTIATION
Maria I SchemmerSpainBernardo Dominic 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>