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
Adams D NestleJapanBernardo Dominic UNQUALIFIED
Darci Q ShinkoCanadaBernardo Dominic NEW
Aruna D MacleadGermanyElwin Sharvill QUALIFIED
Misaki L DoeSpainIoni Bowcher NEW
Morrow Z FerenczGermanyAmy Elsner RENEWAL
Faith V MaletIndiaBernardo Dominic NEW
Ivar F VocelkaJapanOnyama Limba PROPOSAL
Kadeem S DarakjyCanadaAsiya Javayant NEGOTIATION
Aruna L MarrierAustraliaAnna Fali NEGOTIATION
Clifford L GillianArgentinaOnyama Limba UNQUALIFIED
Wickens Z SlusarskiUnited KingdomAmy Elsner UNQUALIFIED
Misaki S GillianUnited KingdomElwin Sharvill QUALIFIED
Stacey J FigeroaCanadaAnna Fali NEW
Francesco S MarrierUnited KingdomOnyama Limba UNQUALIFIED
Emily R OstroskyFranceElwin Sharvill QUALIFIED
Chavez P DoeArgentinaOnyama Limba QUALIFIED
Greenwood W PaprockiAustraliaAmy Elsner QUALIFIED
Jones Q NickaAustraliaXuxue Feng UNQUALIFIED
Octavia L NickaFranceIoni Bowcher PROPOSAL
Ivar Z ShinkoRussiaStephen Shaw UNQUALIFIED
Deepesh X ChuiArgentinaAmy Elsner PROPOSAL
Ricardo O WhobreyUnited KingdomIvan Magalhaes UNQUALIFIED
Faith D NickaAustraliaIoni Bowcher PROPOSAL
Johnson N AlbaresFranceAsiya Javayant RENEWAL
Jennifer Q PerinRussiaOnyama Limba RENEWAL
Adams Q RimAustraliaStephen Shaw UNQUALIFIED
Tony R KuskoFranceIvan Magalhaes PROPOSAL
Aika Q RutaUnited KingdomOnyama Limba PROPOSAL
Wickens H WhobreyCanadaElwin Sharvill NEGOTIATION
Adams E MacleadJapanOnyama Limba NEGOTIATION
Antonio X RimRussiaElwin Sharvill PROPOSAL
Tony Q NestleIndiaIoni Bowcher QUALIFIED
Kadeem N NickaIndiaElwin Sharvill NEW
Nicolas A TollnerGermanyBernardo Dominic PROPOSAL
Jennifer U AmigonAustraliaStephen Shaw NEGOTIATION
Kadeem Z FollerSpainOnyama Limba QUALIFIED
Ashley R BologniaSpainBernardo Dominic PROPOSAL
Izzy U DilliardUnited KingdomXuxue Feng NEGOTIATION
Tony T KolmetzFranceElwin Sharvill RENEWAL
Claire Z MaletFranceBernardo Dominic PROPOSAL
Ricardo Q GauchoAustraliaOnyama Limba NEGOTIATION
Chavez W RimRussiaIoni Bowcher NEGOTIATION
Stacey I SlusarskiSpainAnna Fali PROPOSAL
Greenwood C DilliardAustraliaBernardo Dominic PROPOSAL
Isabel G DoeBrazilIoni Bowcher PROPOSAL
Mayumi I OstroskyRussiaAsiya Javayant PROPOSAL
Ashley V RimUnited KingdomOnyama Limba PROPOSAL
Claire Y WhobreyRussiaAsiya Javayant NEGOTIATION
Mujtaba J CaldareraRussiaBernardo Dominic NEGOTIATION
Ricardo D SchemmerJapanXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy J PaprockiFranceAmy Elsner NEW
Leja D RutaCanadaStephen Shaw NEW
Ivar K WaycottFranceAnna Fali RENEWAL
Salvatore E FigeroaAustraliaStephen Shaw NEGOTIATION
Clifford E IturbideIndiaIvan Magalhaes QUALIFIED
Jeanfrancois M CaudyItalyAnna Fali QUALIFIED
Sinclair J WhobreyAustraliaOnyama Limba NEGOTIATION
Rodrigues U FollerFranceOnyama Limba PROPOSAL
Ivar Z RimFranceAmy Elsner QUALIFIED
Jennifer Q PerinIndiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika W ButtItaly2026-07-06Rousseaux, Michael Esq QUALIFIED70Amy Elsner
1001Kaitlin N FerenczFrance2026-06-24Benton, John B Jr QUALIFIED7Stephen Shaw
1002Murillo V VenereRussia2026-07-08King, Christopher A Esq QUALIFIED27Ivan Magalhaes
1003Rodrigues K BologniaAustralia2026-06-26King, Christopher A Esq QUALIFIED17Stephen Shaw
1004Misaki G RutaItaly2026-06-17King, Christopher A Esq UNQUALIFIED93Onyama Limba
1005David U SchemmerUnited Kingdom2026-06-16Benton, John B Jr QUALIFIED93Stephen Shaw
1006Julie G SergiUnited Kingdom2026-06-24Morlong Associates UNQUALIFIED44Asiya Javayant
1007Adams P PerinSpain2026-07-03Chemel, James L Cpa PROPOSAL32Onyama Limba
1008Jones P BowleyBrazil2026-06-27King, Christopher A Esq RENEWAL38Stephen Shaw
1009Johnson R PoquetteFrance2026-06-16Commercial Press NEW14Stephen Shaw
1010Jones K RimFrance2026-06-22Chanay, Jeffrey A Esq PROPOSAL82Elwin Sharvill
1011Morrow S VenereJapan2026-06-30Printing Dimensions UNQUALIFIED40Anna Fali
1012Alejandro M FlosiUnited Kingdom2026-06-15Truhlar And Truhlar Attys QUALIFIED44Elwin Sharvill
1013Jefferson P VenereGermany2026-06-16Chapman, Ross E Esq PROPOSAL55Onyama Limba
1014Jones J OstroskyBrazil2026-06-26Rousseaux, Michael Esq PROPOSAL38Stephen Shaw
1015Aruna B WieserGermany2026-06-15Chanay, Jeffrey A Esq RENEWAL62Bernardo Dominic
1016Nicolas B RimJapan2026-06-11Feltz Printing Service NEW50Asiya Javayant
1017Morrow S PaprockiIndia2026-06-17Chanay, Jeffrey A Esq NEW82Ioni Bowcher
1018Emily Q PerinCanada2026-06-24Truhlar And Truhlar Attys RENEWAL71Anna Fali
1019Misaki N GillianArgentina2026-07-07Chanay, Jeffrey A Esq NEW59Stephen Shaw
1020Rodrigues C BriddickJapan2026-06-09Truhlar And Truhlar Attys UNQUALIFIED31Ivan Magalhaes
1021Tony Y PaprockiArgentina2026-06-21King, Christopher A Esq NEGOTIATION40Bernardo Dominic
1022Ashley Y DarakjySpain2026-07-07Rangoni Of Florence NEW14Stephen Shaw
1023Julie I PoquetteItaly2026-06-17Commercial Press NEGOTIATION9Xuxue Feng
1024Maria V GauchoJapan2026-06-13Buckley Miller Wright NEW99Asiya Javayant
1025Juan R ButtUnited Kingdom2026-07-05Chanay, Jeffrey A Esq NEW51Amy Elsner
1026Aruna T GarufiJapan2026-06-19Truhlar And Truhlar Attys PROPOSAL60Ivan Magalhaes
1027Alejandro G RulapaughItaly2026-06-24Morlong Associates PROPOSAL76Ioni Bowcher
1028Jefferson A BowleyGermany2026-06-14Rangoni Of Florence NEW31Stephen Shaw
1029Darci L MaletUnited Kingdom2026-06-26Truhlar And Truhlar Attys UNQUALIFIED14Anna Fali
1030Mujtaba M TollnerRussia2026-06-24Feltz Printing Service PROPOSAL29Ivan Magalhaes
1031Juan I RutaJapan2026-07-08Truhlar And Truhlar Attys RENEWAL19Ioni Bowcher
1032Ivar F ChuiIndia2026-06-23Rousseaux, Michael Esq UNQUALIFIED7Anna Fali
1033Juan L BriddickIndia2026-06-21Chanay, Jeffrey A Esq RENEWAL88Amy Elsner
1034Greenwood Y RulapaughRussia2026-06-14Benton, John B Jr UNQUALIFIED94Stephen Shaw
1035Maisha N ChuiGermany2026-06-18Chapman, Ross E Esq PROPOSAL93Amy Elsner
1036Juan P MaletIndia2026-07-06Buckley Miller Wright NEGOTIATION18Anna Fali
1037Maria J MaletAustralia2026-06-26Rousseaux, Michael Esq UNQUALIFIED92Onyama Limba
1038Adams P MaletBrazil2026-06-11Morlong Associates PROPOSAL62Ivan Magalhaes
1039Smith G SergiGermany2026-06-21Truhlar And Truhlar Attys RENEWAL56Elwin Sharvill
1040David Z FigeroaBrazil2026-06-12King, Christopher A Esq QUALIFIED54Bernardo Dominic
1041Juan R SchemmerJapan2026-07-06Feiner Bros NEGOTIATION71Anna Fali
1042Arvin X FlosiCanada2026-06-18Morlong Associates QUALIFIED34Anna Fali
1043Ricardo G WhobreyFrance2026-06-11Feiner Bros NEGOTIATION81Bernardo Dominic
1044Murillo E SaylorsJapan2026-06-12Chapman, Ross E Esq NEW54Asiya Javayant
1045Maria F SlusarskiBrazil2026-06-28Chanay, Jeffrey A Esq NEW63Ioni Bowcher
1046Mayumi D KuskoItaly2026-06-15Printing Dimensions PROPOSAL29Amy Elsner
1047Clifford G RimGermany2026-06-28Benton, John B Jr PROPOSAL19Elwin Sharvill
1048Leja T ShinkoFrance2026-07-05Chemel, James L Cpa NEW95Bernardo Dominic
1049Aika W ShinkoItaly2026-06-26Printing Dimensions UNQUALIFIED7Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Claire P VenereRussiaAmy Elsner UNQUALIFIED
Jeanfrancois B VenereItalyIvan Magalhaes PROPOSAL
Ricardo Y AmigonGermanyOnyama Limba RENEWAL
Deepesh Q WaycottAustraliaAsiya Javayant NEGOTIATION
Cody A TollnerIndiaAsiya Javayant RENEWAL
Mujtaba V WaycottJapanStephen Shaw QUALIFIED
Smith J MacleadUnited KingdomAmy Elsner UNQUALIFIED
Aruna Z BriddickCanadaBernardo Dominic NEGOTIATION
Chavez M OldroydBrazilOnyama Limba PROPOSAL
Jeanfrancois T CampainIndiaXuxue Feng NEGOTIATION
Ivar B VocelkaCanadaIoni Bowcher PROPOSAL
Nicolas Y RulapaughArgentinaIoni Bowcher QUALIFIED
Arvin B NestleArgentinaAsiya Javayant UNQUALIFIED
Munro Q MorascaJapanStephen Shaw RENEWAL
Clifford O WaycottFranceAsiya Javayant NEW
Sinclair C MorascaUnited KingdomOnyama Limba QUALIFIED
Morrow O NickaItalyOnyama Limba RENEWAL
Aika U DoeJapanElwin Sharvill RENEWAL
Isabel H RutaSpainElwin Sharvill NEGOTIATION
Salvatore K DarakjyAustraliaBernardo Dominic RENEWAL
Octavia F CaldareraCanadaStephen Shaw RENEWAL
Wickens B MorascaBrazilElwin Sharvill UNQUALIFIED
Adams S AmigonGermanyIoni Bowcher NEGOTIATION
Faith W RulapaughBrazilStephen Shaw RENEWAL
Maria Y RimUnited KingdomBernardo Dominic NEW
James W MaletIndiaStephen Shaw QUALIFIED
Misaki D GillianFranceAmy Elsner NEGOTIATION
Adams Z SaylorsBrazilAmy Elsner RENEWAL
James D MarrierAustraliaAmy Elsner QUALIFIED
Chavez N PoquetteUnited KingdomAnna Fali NEGOTIATION
Antonio R MaletIndiaElwin Sharvill NEW
James Q CaudyGermanyElwin Sharvill NEW
Jeanfrancois E FigeroaBrazilOnyama Limba UNQUALIFIED
Jefferson M NickaItalyXuxue Feng RENEWAL
Antonio P FerenczAustraliaOnyama Limba UNQUALIFIED
Adams I PoquetteArgentinaAsiya Javayant NEW
Jones X GlickSpainAnna Fali PROPOSAL
Chavez M VenereSpainIvan Magalhaes RENEWAL
Adams Y DarakjyArgentinaXuxue Feng UNQUALIFIED
Aruna T RoysterArgentinaAnna Fali NEGOTIATION
Izzy Q MacleadRussiaAmy Elsner NEW
Jones Y ChuiIndiaAsiya Javayant UNQUALIFIED
Smith T SergiArgentinaAmy Elsner PROPOSAL
Isabel X FigeroaRussiaAsiya Javayant NEGOTIATION
Morrow E RoysterRussiaAnna Fali UNQUALIFIED
James X CampainArgentinaAsiya Javayant UNQUALIFIED
Chavez Y TollnerSpainAsiya Javayant PROPOSAL
Arvin D TollnerJapanOnyama Limba PROPOSAL
Juan N RutaItalyBernardo Dominic PROPOSAL
Claire O StensethCanadaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Johnson L Garufi
Arvin I Vocelka
Juan L Kusko
Darci N Schemmer
Chavez K Maclead
Isabel A Rulapaugh
Deepesh D Figeroa
Johnson J Slusarski
Aika U Kolmetz
Francesco Y Butt
Aditya X Gillian
Mujtaba I Dilliard
Jeanfrancois Q Royster
Faith V Ostrosky
Jeanfrancois J Chui
Maisha G Dilliard
Sinclair S Briddick
Adams X Stockham
Aika G Caudy
Munro Y Nicka
Darci Z Caldarera
Deepesh X Shinko
Kadeem F Nicka
Ivar Z Wieser
David W Garufi
Jeanfrancois W Darakjy
David J Bolognia
Ashley V Figeroa
Ashley K Malet
Misaki C Gaucho
Leon I Malet
Aika C Glick
Aruna D Rulapaugh
Darci K Morasca
Tony R Flosi
Cody A Perin
Juan U Bowley
Faith E Waycott
Jefferson R Malet
Kaitlin A Albares
Deepesh H Caudy
Antonio M Foller
Jefferson E Waycott
Jones Z Ferencz
Leja N Bolognia
Smith F Ferencz
Stacey E Caldarera
Smith S Figeroa
Jennifer D Rulapaugh
Darci X Briddick
IdCountryDate
1000United Kingdom2026-06-14
1001India2026-06-16
1002France2026-06-14
1003Canada2026-07-01
1004Brazil2026-06-30
1005Italy2026-06-14
1006Canada2026-06-18
1007Canada2026-07-01
1008Germany2026-06-16
1009India2026-06-16
1010Canada2026-06-27
1011Argentina2026-06-14
1012France2026-06-17
1013Russia2026-06-26
1014France2026-06-10
1015Japan2026-07-01
1016India2026-07-08
1017France2026-07-05
1018Brazil2026-06-18
1019Italy2026-06-26
1020Brazil2026-06-20
1021India2026-06-19
1022Italy2026-06-18
1023India2026-06-16
1024Brazil2026-06-18
1025Brazil2026-07-01
1026Italy2026-06-25
1027United Kingdom2026-07-03
1028Spain2026-07-07
1029Germany2026-06-19
1030Russia2026-06-22
1031Brazil2026-07-02
1032Russia2026-06-21
1033Germany2026-06-15
1034Canada2026-06-12
1035Canada2026-06-23
1036Australia2026-06-21
1037Spain2026-06-20
1038Argentina2026-07-01
1039United Kingdom2026-06-13
1040Canada2026-06-14
1041Spain2026-06-17
1042Argentina2026-06-26
1043Italy2026-06-10
1044Argentina2026-06-19
1045United Kingdom2026-06-15
1046Italy2026-06-26
1047India2026-06-13
1048Spain2026-06-11
1049Canada2026-06-09

On-Demand Data

NameIdCountryDate
Salvatore K Stenseth1000Argentina2026-06-13
Ivar O Maclead1001Germany2026-07-04
Antonio E Perin1002Australia2026-06-10
Octavia C Schemmer1003Spain2026-06-30
Alejandro S Maclead1004France2026-07-07
Kadeem P Schemmer1005Argentina2026-07-04
Darci C Stockham1006Germany2026-06-21
Aditya W Ferencz1007Italy2026-06-21
Maisha J Dilliard1008France2026-06-16
Maisha W Garufi1009Italy2026-06-13
Jones B Saylors1010Russia2026-06-27
Maria G Stenseth1011Russia2026-06-17
Mujtaba J Foller1012Russia2026-06-28
Cody K Caudy1013Australia2026-06-16
Faith Z Gillian1014Russia2026-06-22
Arvin P Inouye1015India2026-06-10
Nicolas G Bowley1016India2026-06-22
Maisha Z Marrier1017Italy2026-06-15
Munro O Rulapaugh1018Germany2026-07-01
Julie D Ferencz1019Russia2026-06-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin O WaycottSpainAmy Elsner QUALIFIED
Cody P ShinkoCanadaStephen Shaw QUALIFIED
Morrow J WhobreyAustraliaAnna Fali RENEWAL
Julie A GauchoAustraliaAmy Elsner PROPOSAL
Aditya X MaletItalyXuxue Feng UNQUALIFIED
Leon O SchemmerSpainAmy Elsner QUALIFIED
Maisha T InouyeRussiaStephen Shaw QUALIFIED
Jones M DilliardItalyBernardo Dominic RENEWAL
Morrow P NestleCanadaAnna Fali PROPOSAL
Francesco G StockhamAustraliaAnna Fali RENEWAL
Jones F AlbaresFranceXuxue Feng QUALIFIED
Aruna C OstroskyArgentinaAsiya Javayant PROPOSAL
Ashley K FlosiIndiaIoni Bowcher NEGOTIATION
Jeanfrancois J AlbaresGermanyAmy Elsner NEGOTIATION
Emily A SaylorsUnited KingdomAsiya Javayant RENEWAL
Aditya O SaylorsRussiaBernardo Dominic UNQUALIFIED
Julie K RutaSpainAmy Elsner NEW
Kadeem Q MorascaJapanAmy Elsner NEW
Murillo P ShinkoIndiaStephen Shaw PROPOSAL
Arvin J StockhamCanadaXuxue Feng PROPOSAL
Chavez H PaprockiAustraliaStephen Shaw QUALIFIED
Munro G BologniaCanadaXuxue Feng UNQUALIFIED
Izzy M FigeroaRussiaIvan Magalhaes UNQUALIFIED
James I PoquetteGermanyStephen Shaw QUALIFIED
Ivar A WaycottRussiaIoni Bowcher UNQUALIFIED
Clifford D RoysterCanadaIvan Magalhaes QUALIFIED
Sinclair M StensethSpainStephen Shaw UNQUALIFIED
Rodrigues M RoysterBrazilAmy Elsner NEGOTIATION
Mujtaba M WaycottRussiaBernardo Dominic NEW
Kaitlin A DarakjyFranceIvan Magalhaes PROPOSAL
Rodrigues J SaylorsSpainIoni Bowcher QUALIFIED
Ashley X NestleAustraliaElwin Sharvill UNQUALIFIED
Aruna M BowleyIndiaAnna Fali NEGOTIATION
David M BowleyIndiaBernardo Dominic PROPOSAL
David F BriddickFranceStephen Shaw RENEWAL
Mayumi X MaletSpainOnyama Limba NEW
James R PaprockiCanadaIoni Bowcher NEW
Cody B BowleyFranceIvan Magalhaes QUALIFIED
Jeanfrancois M BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Jeanfrancois I RutaRussiaAsiya Javayant UNQUALIFIED

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