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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Johnson L TollnerItalyStephen Shaw RENEWAL
Tony P KolmetzRussiaElwin Sharvill QUALIFIED
Tony U SaylorsGermanyIoni Bowcher RENEWAL
Mayumi J RutaIndiaBernardo Dominic NEGOTIATION
Claire V TollnerSpainIoni Bowcher NEW
Emily N AlbaresItalyAsiya Javayant UNQUALIFIED
Chavez U GlickSpainStephen Shaw NEW
Nicolas D WieserBrazilAmy Elsner QUALIFIED
Jefferson I ShinkoJapanIvan Magalhaes RENEWAL
Johnson C MarrierBrazilAmy Elsner UNQUALIFIED
Smith H BowleyAustraliaAnna Fali RENEWAL
Leon S NickaRussiaOnyama Limba QUALIFIED
Mayumi J KuskoJapanAmy Elsner RENEWAL
Alejandro Z PaprockiUnited KingdomElwin Sharvill NEGOTIATION
James W PerinUnited KingdomIoni Bowcher PROPOSAL
Izzy C ShinkoUnited KingdomOnyama Limba RENEWAL
Munro J AmigonUnited KingdomAmy Elsner QUALIFIED
Jefferson E GarufiFranceIoni Bowcher QUALIFIED
Juan B PerinFranceAnna Fali PROPOSAL
Maisha B PaprockiItalyStephen Shaw NEW
Wickens P WieserArgentinaAsiya Javayant UNQUALIFIED
Jones E StensethRussiaXuxue Feng QUALIFIED
Mayumi S OldroydFranceAsiya Javayant PROPOSAL
Maisha D SchemmerUnited KingdomAnna Fali QUALIFIED
Salvatore Q MaletAustraliaXuxue Feng QUALIFIED
Misaki O MaletBrazilOnyama Limba NEGOTIATION
Maisha L MaletUnited KingdomXuxue Feng PROPOSAL
Munro W AlbaresBrazilIvan Magalhaes QUALIFIED
Jennifer O AmigonSpainStephen Shaw QUALIFIED
Maisha Q MarrierCanadaAmy Elsner UNQUALIFIED
Wickens S GarufiRussiaAnna Fali NEGOTIATION
Munro O SchemmerItalyAsiya Javayant RENEWAL
Mujtaba Q SaylorsCanadaOnyama Limba UNQUALIFIED
Tony F OstroskyArgentinaAsiya Javayant QUALIFIED
Izzy W IturbideBrazilAmy Elsner PROPOSAL
Mayumi R CaudyItalyElwin Sharvill QUALIFIED
Mayumi D WhobreyArgentinaAsiya Javayant NEW
Tony F RoysterCanadaAsiya Javayant UNQUALIFIED
Wickens L DarakjyGermanyIvan Magalhaes NEW
Leja R MaletIndiaBernardo Dominic NEW
Faith W PoquetteCanadaElwin Sharvill QUALIFIED
Aditya N OldroydSpainBernardo Dominic NEGOTIATION
Francesco I MaletFranceIvan Magalhaes UNQUALIFIED
Tony Q GarufiArgentinaIvan Magalhaes NEGOTIATION
Smith Y ShinkoRussiaIoni Bowcher NEGOTIATION
Murillo S AlbaresSpainElwin Sharvill NEW
Arvin K SaylorsFranceXuxue Feng UNQUALIFIED
Mayumi L RimUnited KingdomIoni Bowcher RENEWAL
Rodrigues N RutaFranceOnyama Limba QUALIFIED
Mujtaba O PoquetteItalyIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Octavia V TollnerFranceBernardo Dominic NEW
Morrow L KuskoItalyIvan Magalhaes UNQUALIFIED
Leja X RulapaughCanadaAnna Fali NEGOTIATION
Ashley O PoquetteIndiaIoni Bowcher NEW
Mayumi T MaletArgentinaAnna Fali RENEWAL
Murillo Z DilliardSpainAnna Fali NEGOTIATION
Kaitlin H RulapaughBrazilIoni Bowcher NEW
Wickens T AmigonJapanAmy Elsner RENEWAL
Aika Y PerinAustraliaIoni Bowcher PROPOSAL
Kadeem S BologniaIndiaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones Z PaprockiJapan2025-06-18Morlong Associates NEGOTIATION56Xuxue Feng
1001Ashley J ShinkoUnited Kingdom2025-06-17Buckley Miller Wright QUALIFIED26Anna Fali
1002Mujtaba L BowleyAustralia2025-05-31Chanay, Jeffrey A Esq UNQUALIFIED65Onyama Limba
1003Leja O PoquetteItaly2025-06-12King, Christopher A Esq QUALIFIED37Asiya Javayant
1004Izzy Y BowleyGermany2025-06-26Rangoni Of Florence QUALIFIED39Asiya Javayant
1005David M RimJapan2025-05-31Rousseaux, Michael Esq RENEWAL14Amy Elsner
1006Smith V FlosiIndia2025-06-04Feiner Bros RENEWAL85Onyama Limba
1007Jones Q NestleItaly2025-06-22Dorl, James J Esq RENEWAL80Asiya Javayant
1008Aika M PaprockiJapan2025-06-20Dorl, James J Esq QUALIFIED38Ioni Bowcher
1009Izzy D FollerItaly2025-06-08Chapman, Ross E Esq PROPOSAL15Asiya Javayant
1010Aika P KolmetzArgentina2025-06-06Chanay, Jeffrey A Esq RENEWAL6Onyama Limba
1011Salvatore W KuskoArgentina2025-06-21Commercial Press RENEWAL52Bernardo Dominic
1012James A StensethUnited Kingdom2025-06-02Chanay, Jeffrey A Esq PROPOSAL77Ivan Magalhaes
1013Octavia Z FlosiBrazil2025-06-08Benton, John B Jr UNQUALIFIED41Anna Fali
1014Francesco D GlickBrazil2025-06-05Feiner Bros UNQUALIFIED66Amy Elsner
1015Stacey G SchemmerFrance2025-06-02Dorl, James J Esq UNQUALIFIED52Bernardo Dominic
1016Deepesh S PoquetteRussia2025-06-28Feltz Printing Service UNQUALIFIED16Onyama Limba
1017Nicolas F StockhamGermany2025-06-28Truhlar And Truhlar Attys PROPOSAL12Xuxue Feng
1018Clifford S BowleyArgentina2025-06-17Benton, John B Jr RENEWAL8Elwin Sharvill
1019Jones J ChuiRussia2025-06-20Dorl, James J Esq RENEWAL5Onyama Limba
1020Maria Z CaudySpain2025-06-04Feltz Printing Service UNQUALIFIED91Ioni Bowcher
1021Silvio L PerinIndia2025-06-03Feltz Printing Service RENEWAL4Stephen Shaw
1022Kaitlin M OldroydJapan2025-06-28Morlong Associates NEGOTIATION92Elwin Sharvill
1023Aika R AlbaresFrance2025-06-17Morlong Associates QUALIFIED33Amy Elsner
1024Stacey J FerenczArgentina2025-06-26Chapman, Ross E Esq UNQUALIFIED27Amy Elsner
1025Claire M SergiItaly2025-06-17Morlong Associates NEGOTIATION22Asiya Javayant
1026Julie O MaletCanada2025-06-15Truhlar And Truhlar Attys QUALIFIED50Elwin Sharvill
1027James U FollerIndia2025-06-24Printing Dimensions NEW89Asiya Javayant
1028Darci E GlickGermany2025-06-21Feltz Printing Service NEW25Anna Fali
1029Leon M SlusarskiIndia2025-06-05Chanay, Jeffrey A Esq RENEWAL7Asiya Javayant
1030Faith O BologniaUnited Kingdom2025-06-16Dorl, James J Esq NEGOTIATION94Xuxue Feng
1031Silvio L WaycottArgentina2025-06-29Chapman, Ross E Esq PROPOSAL22Anna Fali
1032Ricardo X SaylorsBrazil2025-06-17Morlong Associates UNQUALIFIED0Stephen Shaw
1033Jennifer W WhobreyBrazil2025-06-27Dorl, James J Esq PROPOSAL41Onyama Limba
1034Deepesh A PerinJapan2025-06-11Morlong Associates PROPOSAL35Ivan Magalhaes
1035Kadeem C VenereIndia2025-06-15Rousseaux, Michael Esq UNQUALIFIED27Xuxue Feng
1036Alejandro O InouyeUnited Kingdom2025-06-25Rousseaux, Michael Esq RENEWAL97Ioni Bowcher
1037James A FerenczJapan2025-05-31Truhlar And Truhlar Attys NEGOTIATION41Xuxue Feng
1038Ivar C MarrierAustralia2025-06-15Rousseaux, Michael Esq NEW95Bernardo Dominic
1039Kaitlin V KuskoGermany2025-06-16Printing Dimensions UNQUALIFIED55Xuxue Feng
1040Ashley R StockhamGermany2025-06-22Commercial Press NEW43Bernardo Dominic
1041Stacey N DarakjyFrance2025-06-15Feiner Bros QUALIFIED95Elwin Sharvill
1042Leon G WieserArgentina2025-06-28Dorl, James J Esq PROPOSAL82Xuxue Feng
1043Isabel U CaudyBrazil2025-06-05Chanay, Jeffrey A Esq RENEWAL4Ioni Bowcher
1044Leja M MaletCanada2025-06-26Commercial Press QUALIFIED49Onyama Limba
1045Mayumi G InouyeSpain2025-06-11Feltz Printing Service QUALIFIED53Xuxue Feng
1046Aruna G BriddickRussia2025-06-22Dorl, James J Esq UNQUALIFIED90Ivan Magalhaes
1047Arvin O ShinkoItaly2025-06-07Printing Dimensions NEGOTIATION92Onyama Limba
1048Juan Y VenereIndia2025-06-11Feiner Bros NEW53Ivan Magalhaes
1049Juan U DarakjyJapan2025-06-15Chemel, James L Cpa QUALIFIED10Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Aditya C OstroskyBrazilBernardo Dominic QUALIFIED
Greenwood V WieserSpainOnyama Limba NEW
Greenwood J CampainAustraliaAnna Fali QUALIFIED
Julie X ShinkoRussiaElwin Sharvill QUALIFIED
Kadeem F MarrierAustraliaAnna Fali PROPOSAL
Darci O BologniaItalyXuxue Feng QUALIFIED
Juan G SaylorsGermanyBernardo Dominic NEW
Costa N CampainJapanXuxue Feng NEGOTIATION
Morrow F SaylorsItalyAsiya Javayant QUALIFIED
Maria X CaudyFranceXuxue Feng UNQUALIFIED
Aditya J StensethBrazilXuxue Feng QUALIFIED
Julie J ShinkoJapanStephen Shaw QUALIFIED
Leja P KolmetzAustraliaXuxue Feng QUALIFIED
Kadeem I ChuiBrazilAmy Elsner NEGOTIATION
Octavia F CampainCanadaAnna Fali NEW
Kadeem H IturbideRussiaStephen Shaw PROPOSAL
Ricardo L GillianCanadaIoni Bowcher UNQUALIFIED
Arvin A StockhamSpainAnna Fali QUALIFIED
James I DoeFranceOnyama Limba NEGOTIATION
Adams B FollerUnited KingdomBernardo Dominic UNQUALIFIED
Morrow V ChuiFranceAmy Elsner NEW
Antonio L RutaFranceAsiya Javayant PROPOSAL
Morrow U BologniaIndiaBernardo Dominic NEGOTIATION
Mujtaba R AlbaresSpainIvan Magalhaes NEGOTIATION
Juan M SergiBrazilAmy Elsner QUALIFIED
Munro D FollerCanadaStephen Shaw PROPOSAL
Morrow R SaylorsGermanyAnna Fali RENEWAL
Morrow T NickaCanadaXuxue Feng NEGOTIATION
Rodrigues I BriddickAustraliaAsiya Javayant QUALIFIED
Ricardo H AlbaresIndiaOnyama Limba PROPOSAL
Maria Q MacleadAustraliaXuxue Feng NEGOTIATION
Costa P BowleyUnited KingdomStephen Shaw NEGOTIATION
Faith P ShinkoJapanIvan Magalhaes NEW
Greenwood P WieserFranceBernardo Dominic PROPOSAL
Deepesh Q StockhamCanadaOnyama Limba NEGOTIATION
Maria M MorascaItalyXuxue Feng UNQUALIFIED
Kaitlin J IturbideSpainXuxue Feng QUALIFIED
Jefferson M ShinkoRussiaElwin Sharvill RENEWAL
Octavia V WhobreyGermanyOnyama Limba UNQUALIFIED
Izzy M BriddickSpainAnna Fali NEGOTIATION
Kaitlin O GarufiItalyElwin Sharvill PROPOSAL
Julie J GillianCanadaAmy Elsner PROPOSAL
Ivar D PoquetteItalyStephen Shaw PROPOSAL
Izzy Z GlickRussiaXuxue Feng NEW
Antonio I AlbaresFranceOnyama Limba NEW
Salvatore X WaycottSpainXuxue Feng PROPOSAL
Aika J DarakjyFranceBernardo Dominic NEGOTIATION
Adams J ButtIndiaIoni Bowcher NEW
Darci R OldroydSpainOnyama Limba RENEWAL
Jones Y SlusarskiRussiaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Leon G Ferencz
Kadeem Z Rim
Kadeem D Iturbide
Murillo O Perin
Claire H Nicka
Emily O Schemmer
Clifford A Campain
Stacey V Ferencz
Adams G Maclead
Nicolas O Gillian
Kadeem N Dilliard
Jefferson A Slusarski
Leon B Foller
Cody D Darakjy
Smith N Oldroyd
Munro N Nicka
Ivar R Sergi
Jefferson H Poquette
Ashley I Venere
Wickens H Morasca
Octavia P Nestle
Ashley C Shinko
Faith C Stockham
Octavia D Morasca
Juan A Maclead
Stacey T Whobrey
Claire E Whobrey
Wickens H Kolmetz
Adams P Darakjy
Mujtaba W Shinko
Tony T Kolmetz
James C Whobrey
Nicolas L Ostrosky
Darci W Marrier
Octavia N Gillian
Clifford X Caldarera
Adams G Vocelka
Silvio I Chui
David J Albares
Jefferson K Bolognia
Jeanfrancois Q Venere
Clifford Z Dilliard
Adams B Perin
Jefferson Y Venere
Emily N Glick
Costa A Marrier
Claire U Butt
Aditya P Briddick
Isabel N Maclead
Adams G Flosi
IdCountryDate
1000Italy2025-06-25
1001Japan2025-06-08
1002Germany2025-06-03
1003Australia2025-06-23
1004France2025-06-06
1005Canada2025-06-08
1006Canada2025-06-17
1007Brazil2025-06-18
1008Australia2025-06-12
1009France2025-06-28
1010Russia2025-06-07
1011France2025-06-04
1012Spain2025-06-13
1013Brazil2025-06-07
1014Spain2025-06-15
1015France2025-06-24
1016Australia2025-06-26
1017Japan2025-06-22
1018India2025-06-25
1019Spain2025-06-22
1020Italy2025-06-07
1021Spain2025-06-22
1022Australia2025-06-18
1023Argentina2025-06-19
1024Italy2025-06-22
1025Argentina2025-06-14
1026Brazil2025-05-31
1027France2025-06-04
1028Brazil2025-06-25
1029Australia2025-06-26
1030United Kingdom2025-06-24
1031United Kingdom2025-06-25
1032Argentina2025-06-16
1033Australia2025-06-05
1034United Kingdom2025-06-16
1035India2025-06-17
1036Spain2025-06-25
1037Australia2025-06-03
1038Germany2025-06-27
1039Italy2025-06-14
1040Argentina2025-06-12
1041France2025-06-02
1042India2025-06-09
1043Canada2025-05-31
1044Italy2025-06-09
1045Russia2025-06-09
1046Argentina2025-06-01
1047Japan2025-06-04
1048Italy2025-06-09
1049Argentina2025-06-04

On-Demand Data

NameIdCountryDate
Aika W Perin1000Canada2025-06-22
Emily W Rulapaugh1001Australia2025-06-08
Sinclair M Stockham1002Canada2025-06-27
Clifford C Slusarski1003India2025-06-29
Cody N Slusarski1004United Kingdom2025-06-24
Mayumi Y Tollner1005Spain2025-05-31
Maria L Schemmer1006Brazil2025-06-22
Isabel L Nicka1007France2025-06-03
Rodrigues D Slusarski1008Canada2025-06-13
Ricardo Z Flosi1009Canada2025-06-10
Rodrigues P Butt1010United Kingdom2025-06-11
Morrow C Ostrosky1011Spain2025-06-20
Jennifer B Gaucho1012France2025-06-05
Mayumi O Venere1013United Kingdom2025-06-07
Aditya O Venere1014Brazil2025-06-28
Aruna A Iturbide1015Japan2025-06-09
James X Nestle1016Australia2025-06-12
Chavez E Butt1017Canada2025-06-09
Mujtaba Q Sergi1018Brazil2025-06-08
Deepesh Z Chui1019Russia2025-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja H IturbideSpainElwin Sharvill UNQUALIFIED
Alejandro F InouyeSpainIoni Bowcher PROPOSAL
Mayumi L StensethFranceXuxue Feng RENEWAL
Adams G RimCanadaOnyama Limba NEW
Mayumi T VenereRussiaAsiya Javayant PROPOSAL
Morrow M BowleyJapanBernardo Dominic UNQUALIFIED
Darci S RulapaughFranceIoni Bowcher NEW
David W RutaSpainBernardo Dominic QUALIFIED
Isabel L AmigonGermanyAnna Fali RENEWAL
Costa Y VocelkaCanadaAnna Fali PROPOSAL
Alejandro X NestleIndiaStephen Shaw NEW
David U WhobreyBrazilStephen Shaw QUALIFIED
Jennifer Q PaprockiItalyXuxue Feng QUALIFIED
Izzy S PaprockiBrazilBernardo Dominic NEGOTIATION
Cody Z PerinJapanOnyama Limba UNQUALIFIED
David Z FollerSpainIvan Magalhaes NEW
Faith Q NestleIndiaIoni Bowcher NEW
Nicolas M GlickBrazilIoni Bowcher NEW
Salvatore H SaylorsFranceXuxue Feng NEW
Leja Y CaudyIndiaIoni Bowcher QUALIFIED
Cody H MacleadArgentinaIvan Magalhaes UNQUALIFIED
Costa B CaldareraAustraliaAsiya Javayant NEW
Smith L ButtArgentinaXuxue Feng RENEWAL
Kaitlin W PoquetteCanadaElwin Sharvill NEGOTIATION
Claire T SlusarskiItalyAnna Fali NEGOTIATION
Chavez L DoeSpainElwin Sharvill UNQUALIFIED
Octavia C SlusarskiJapanIoni Bowcher NEGOTIATION
Ivar H SchemmerSpainXuxue Feng PROPOSAL
Rodrigues R CaldareraIndiaAsiya Javayant PROPOSAL
Juan I BowleyFranceIoni Bowcher NEGOTIATION
Aika C NestleUnited KingdomAnna Fali NEW
Chavez C CampainItalyIvan Magalhaes NEGOTIATION
Jones J WaycottCanadaIvan Magalhaes NEGOTIATION
Antonio T WaycottSpainStephen Shaw PROPOSAL
Octavia L ShinkoJapanIvan Magalhaes RENEWAL
Silvio H RulapaughGermanyStephen Shaw RENEWAL
Rodrigues D BriddickCanadaXuxue Feng NEW
Darci M GarufiRussiaStephen Shaw QUALIFIED
Ashley D MaletGermanyAnna Fali PROPOSAL
Murillo A PoquetteRussiaAnna Fali 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" frozenColumnsAlignment="left">
            <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>