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
Aditya M FerenczCanadaXuxue Feng PROPOSAL
Jennifer G PaprockiIndiaBernardo Dominic NEGOTIATION
Johnson F FollerItalyElwin Sharvill NEW
Munro D ButtArgentinaIoni Bowcher RENEWAL
Smith S FerenczArgentinaStephen Shaw PROPOSAL
Nicolas I StockhamIndiaAnna Fali NEGOTIATION
Jeanfrancois O WieserBrazilOnyama Limba NEGOTIATION
Smith Q NickaJapanIvan Magalhaes NEW
Francesco H ChuiGermanyBernardo Dominic NEGOTIATION
Ashley Z MorascaAustraliaAsiya Javayant NEGOTIATION
Jones N NestleBrazilStephen Shaw NEGOTIATION
Darci J DilliardUnited KingdomElwin Sharvill NEGOTIATION
Aika P SaylorsBrazilXuxue Feng QUALIFIED
Leja I VenereCanadaElwin Sharvill PROPOSAL
Maisha A CampainCanadaAsiya Javayant RENEWAL
James G SaylorsJapanElwin Sharvill NEW
Jefferson E FerenczBrazilXuxue Feng UNQUALIFIED
Wickens P SchemmerJapanIvan Magalhaes UNQUALIFIED
Claire N MaletUnited KingdomBernardo Dominic UNQUALIFIED
Aruna L DarakjyJapanBernardo Dominic UNQUALIFIED
Alejandro T SergiRussiaXuxue Feng RENEWAL
Aditya A DarakjyJapanAnna Fali UNQUALIFIED
James A FerenczRussiaIoni Bowcher NEW
Ivar I RulapaughBrazilStephen Shaw NEGOTIATION
Jefferson D OldroydRussiaAnna Fali UNQUALIFIED
Emily J FlosiBrazilIvan Magalhaes NEW
Smith G MarrierFranceAsiya Javayant PROPOSAL
Darci V GlickUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues Z GlickCanadaIvan Magalhaes PROPOSAL
Kaitlin Y MaletCanadaStephen Shaw QUALIFIED
Jefferson G MacleadBrazilStephen Shaw NEGOTIATION
Alejandro A AlbaresArgentinaAmy Elsner PROPOSAL
Sinclair K RimIndiaAnna Fali NEGOTIATION
Jones I VenereUnited KingdomElwin Sharvill NEGOTIATION
Claire C StockhamAustraliaBernardo Dominic NEGOTIATION
Claire R MaletUnited KingdomBernardo Dominic QUALIFIED
Darci T GauchoCanadaAnna Fali PROPOSAL
Silvio L DarakjyCanadaIoni Bowcher NEW
Aditya N NickaItalyAmy Elsner QUALIFIED
Aika Z NickaIndiaAsiya Javayant PROPOSAL
Julie G OstroskySpainElwin Sharvill NEW
Arvin C NestleBrazilIoni Bowcher RENEWAL
Kaitlin P SaylorsFranceOnyama Limba NEW
Mujtaba X OldroydRussiaIvan Magalhaes UNQUALIFIED
Silvio H TollnerIndiaXuxue Feng NEGOTIATION
Deepesh O IturbideRussiaXuxue Feng QUALIFIED
Faith G VenereCanadaIvan Magalhaes QUALIFIED
Jennifer E StockhamIndiaElwin Sharvill QUALIFIED
Smith K MorascaBrazilStephen Shaw RENEWAL
Cody R FlosiJapanIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aruna R DarakjyIndiaAnna Fali UNQUALIFIED
Wickens P GarufiJapanElwin Sharvill UNQUALIFIED
Francesco V MarrierSpainElwin Sharvill QUALIFIED
Aika H CaldareraIndiaStephen Shaw RENEWAL
Stacey D GillianIndiaBernardo Dominic QUALIFIED
Munro Q SlusarskiCanadaIvan Magalhaes RENEWAL
Aika K IturbideBrazilIoni Bowcher PROPOSAL
Jones T RoysterJapanIvan Magalhaes NEGOTIATION
Stacey R WieserUnited KingdomAnna Fali PROPOSAL
Ivar I BriddickFranceStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire F MaletJapan2024-06-19Benton, John B Jr QUALIFIED12Ivan Magalhaes
1001Smith T InouyeAustralia2024-05-28Dorl, James J Esq UNQUALIFIED55Onyama Limba
1002Claire G WieserCanada2024-06-09Truhlar And Truhlar Attys QUALIFIED81Bernardo Dominic
1003Nicolas A FerenczBrazil2024-06-17Morlong Associates UNQUALIFIED4Onyama Limba
1004Emily F AmigonSpain2024-06-17Rousseaux, Michael Esq QUALIFIED55Ioni Bowcher
1005Greenwood J MarrierArgentina2024-06-16Chanay, Jeffrey A Esq NEW86Asiya Javayant
1006Stacey Z PaprockiArgentina2024-06-19Truhlar And Truhlar Attys UNQUALIFIED51Ioni Bowcher
1007Stacey Y FigeroaArgentina2024-05-30Buckley Miller Wright NEGOTIATION31Anna Fali
1008Morrow M RutaSpain2024-06-01Feltz Printing Service NEGOTIATION86Asiya Javayant
1009Arvin L NickaFrance2024-06-12Printing Dimensions QUALIFIED83Ioni Bowcher
1010Kadeem O GauchoAustralia2024-05-30Chapman, Ross E Esq UNQUALIFIED48Bernardo Dominic
1011Tony M NestleArgentina2024-06-11Buckley Miller Wright PROPOSAL51Amy Elsner
1012Smith V MaletUnited Kingdom2024-05-31Rousseaux, Michael Esq UNQUALIFIED65Ioni Bowcher
1013Johnson F BriddickAustralia2024-05-27Morlong Associates NEGOTIATION6Elwin Sharvill
1014Octavia M NestleBrazil2024-06-06Rangoni Of Florence RENEWAL0Asiya Javayant
1015Tony R CampainSpain2024-06-18Rangoni Of Florence PROPOSAL88Bernardo Dominic
1016Tony G FigeroaFrance2024-06-05Buckley Miller Wright UNQUALIFIED79Asiya Javayant
1017Jennifer M VenereJapan2024-06-15Feltz Printing Service NEGOTIATION48Anna Fali
1018Aika Q MarrierSpain2024-06-14Chanay, Jeffrey A Esq QUALIFIED63Stephen Shaw
1019Deepesh J CampainBrazil2024-05-26Benton, John B Jr UNQUALIFIED33Onyama Limba
1020Jeanfrancois Q SergiRussia2024-06-06Rousseaux, Michael Esq RENEWAL33Anna Fali
1021Claire O MorascaSpain2024-06-14Dorl, James J Esq QUALIFIED39Ioni Bowcher
1022Juan V CampainAustralia2024-06-15Rousseaux, Michael Esq NEGOTIATION66Ioni Bowcher
1023Ricardo P CampainItaly2024-05-27Truhlar And Truhlar Attys NEW81Asiya Javayant
1024Aditya D BriddickArgentina2024-06-15King, Christopher A Esq QUALIFIED85Bernardo Dominic
1025Faith A RimCanada2024-05-27Chemel, James L Cpa RENEWAL35Xuxue Feng
1026Emily J PaprockiIndia2024-05-25Feltz Printing Service QUALIFIED29Elwin Sharvill
1027Claire Z TollnerRussia2024-05-31Benton, John B Jr NEGOTIATION84Ivan Magalhaes
1028Aditya K PerinGermany2024-06-05Dorl, James J Esq RENEWAL23Onyama Limba
1029Emily U PerinIndia2024-05-26Truhlar And Truhlar Attys NEGOTIATION70Anna Fali
1030Misaki D BologniaBrazil2024-06-21Chemel, James L Cpa NEW60Ioni Bowcher
1031Juan G WhobreyJapan2024-06-02Printing Dimensions NEGOTIATION0Stephen Shaw
1032Ashley O RutaArgentina2024-05-26Feltz Printing Service NEW14Onyama Limba
1033Aditya Q AlbaresUnited Kingdom2024-06-10Chanay, Jeffrey A Esq RENEWAL85Anna Fali
1034Aditya X PoquetteGermany2024-06-08Dorl, James J Esq NEGOTIATION31Xuxue Feng
1035Kaitlin K GillianJapan2024-06-21Feltz Printing Service NEGOTIATION7Bernardo Dominic
1036Costa P PerinItaly2024-06-08Chapman, Ross E Esq QUALIFIED3Ioni Bowcher
1037Alejandro H WieserFrance2024-05-25Rousseaux, Michael Esq NEGOTIATION18Bernardo Dominic
1038Arvin P CampainFrance2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED93Amy Elsner
1039Jeanfrancois N RimUnited Kingdom2024-05-27Rangoni Of Florence QUALIFIED44Onyama Limba
1040Francesco K MaletUnited Kingdom2024-06-08Truhlar And Truhlar Attys QUALIFIED83Ioni Bowcher
1041David I PaprockiBrazil2024-05-28Truhlar And Truhlar Attys NEW92Ioni Bowcher
1042Faith H StensethIndia2024-06-04Feltz Printing Service QUALIFIED90Ivan Magalhaes
1043Francesco C InouyeFrance2024-06-06Feiner Bros QUALIFIED61Xuxue Feng
1044Munro K DoeGermany2024-06-22Feltz Printing Service QUALIFIED99Anna Fali
1045Clifford B AmigonItaly2024-06-05Feltz Printing Service RENEWAL24Xuxue Feng
1046Darci N GauchoBrazil2024-06-05Benton, John B Jr NEGOTIATION74Asiya Javayant
1047Tony B BriddickJapan2024-05-25Dorl, James J Esq QUALIFIED14Onyama Limba
1048Claire C AmigonRussia2024-05-30Buckley Miller Wright UNQUALIFIED75Stephen Shaw
1049Mujtaba S MaletSpain2024-05-29Dorl, James J Esq NEGOTIATION68Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maria C MaletGermanyBernardo Dominic QUALIFIED
Stacey W ShinkoRussiaBernardo Dominic NEW
David T InouyeGermanyIoni Bowcher NEGOTIATION
Ivar D FlosiSpainAnna Fali UNQUALIFIED
James Z WieserAustraliaAnna Fali NEGOTIATION
Silvio H ButtCanadaStephen Shaw RENEWAL
Juan Y MarrierAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois V SaylorsIndiaXuxue Feng NEW
Ashley S SlusarskiGermanyOnyama Limba NEGOTIATION
Maisha T StensethBrazilStephen Shaw NEW
Francesco H PaprockiJapanAsiya Javayant QUALIFIED
Mujtaba E KuskoAustraliaIvan Magalhaes NEW
Isabel P AmigonAustraliaXuxue Feng UNQUALIFIED
Misaki X GarufiArgentinaAmy Elsner NEW
Adams D ShinkoCanadaIvan Magalhaes PROPOSAL
Aditya D AmigonItalyXuxue Feng UNQUALIFIED
Mujtaba I CaldareraSpainIvan Magalhaes QUALIFIED
Stacey B KolmetzCanadaStephen Shaw QUALIFIED
Antonio V AlbaresAustraliaIoni Bowcher NEGOTIATION
Antonio K BriddickItalyIoni Bowcher NEW
Maria K IturbideSpainAsiya Javayant PROPOSAL
Jeanfrancois O MacleadCanadaBernardo Dominic QUALIFIED
Chavez T GarufiRussiaIoni Bowcher UNQUALIFIED
Stacey X TollnerRussiaStephen Shaw RENEWAL
Aruna D CaudyIndiaAmy Elsner UNQUALIFIED
Wickens O KuskoFranceIoni Bowcher UNQUALIFIED
Aruna M SlusarskiArgentinaElwin Sharvill NEGOTIATION
Wickens I DoeArgentinaElwin Sharvill PROPOSAL
Kadeem L StockhamFranceStephen Shaw NEW
Stacey K DoeRussiaAsiya Javayant RENEWAL
James Z VocelkaJapanAnna Fali PROPOSAL
Greenwood W CaldareraArgentinaIoni Bowcher NEW
Emily U StockhamUnited KingdomIoni Bowcher NEGOTIATION
Leja Y BowleyCanadaXuxue Feng NEGOTIATION
Octavia X GauchoUnited KingdomOnyama Limba PROPOSAL
Jennifer J GillianBrazilIvan Magalhaes RENEWAL
Cody M RimCanadaXuxue Feng NEGOTIATION
Francesco S RoysterSpainXuxue Feng RENEWAL
Alejandro D GauchoGermanyElwin Sharvill NEGOTIATION
Jennifer M PerinSpainAnna Fali QUALIFIED
Aruna H SchemmerAustraliaOnyama Limba QUALIFIED
Maisha W SlusarskiArgentinaIvan Magalhaes PROPOSAL
Clifford A StockhamBrazilOnyama Limba NEW
Leja H VenereAustraliaElwin Sharvill PROPOSAL
Izzy J SlusarskiUnited KingdomElwin Sharvill QUALIFIED
Chavez C MorascaItalyBernardo Dominic NEGOTIATION
Munro C DarakjyBrazilAsiya Javayant UNQUALIFIED
Leja F IturbideRussiaAmy Elsner NEGOTIATION
Jeanfrancois R RoysterItalyAsiya Javayant NEGOTIATION
Juan C AmigonUnited KingdomOnyama Limba PROPOSAL
Frozen Columns
Name
Nicolas F Slusarski
Sinclair I Maclead
Johnson U Tollner
Leja U Nestle
Jefferson J Chui
Ashley L Malet
Mayumi J Oldroyd
Juan K Amigon
Ricardo R Iturbide
Munro P Chui
Silvio I Darakjy
Aika G Marrier
Leja B Butt
Nicolas N Stockham
Claire I Chui
Juan Q Ferencz
James G Flosi
Sinclair A Glick
Arvin K Iturbide
Costa Z Glick
Kadeem H Shinko
Jones U Paprocki
Stacey D Caudy
Salvatore Q Gillian
Jefferson L Oldroyd
Mayumi V Tollner
Arvin L Inouye
Rodrigues K Amigon
Jefferson O Nestle
Mayumi X Rulapaugh
Cody I Caudy
Wickens J Dilliard
Francesco F Butt
Chavez G Butt
Leja C Waycott
Faith W Foller
James O Inouye
Stacey O Sergi
Jeanfrancois J Perin
Murillo C Malet
James F Dilliard
Morrow V Nicka
Cody Q Glick
Sinclair H Rim
Maisha X Briddick
Francesco O Butt
Claire K Slusarski
Ricardo I Saylors
Darci X Doe
Antonio R Sergi
IdCountryDate
1000Spain2024-06-12
1001Brazil2024-06-09
1002Brazil2024-06-20
1003Italy2024-06-15
1004Canada2024-06-08
1005Russia2024-06-03
1006Russia2024-06-19
1007Spain2024-06-10
1008Russia2024-05-31
1009Italy2024-06-19
1010Canada2024-06-18
1011Russia2024-05-25
1012Spain2024-06-05
1013Japan2024-06-16
1014Spain2024-06-16
1015Spain2024-05-25
1016Canada2024-05-27
1017Spain2024-06-05
1018United Kingdom2024-05-25
1019Germany2024-06-14
1020Brazil2024-06-19
1021Japan2024-06-22
1022India2024-05-25
1023Russia2024-06-11
1024Russia2024-05-28
1025Argentina2024-06-21
1026Spain2024-06-16
1027Germany2024-05-25
1028Russia2024-06-19
1029Germany2024-06-07
1030Japan2024-06-15
1031Canada2024-06-09
1032Russia2024-06-02
1033Germany2024-06-12
1034Australia2024-06-11
1035Argentina2024-05-31
1036Argentina2024-06-16
1037United Kingdom2024-06-02
1038Spain2024-05-30
1039Japan2024-06-19
1040Canada2024-06-08
1041United Kingdom2024-06-13
1042Canada2024-05-28
1043Brazil2024-05-24
1044Italy2024-06-18
1045Germany2024-06-18
1046Japan2024-06-17
1047Spain2024-06-05
1048France2024-06-10
1049Canada2024-05-27

On-Demand Data

NameIdCountryDate
Octavia V Foller1000France2024-05-24
Murillo V Gaucho1001Brazil2024-06-22
Faith P Doe1002France2024-06-14
Aruna K Rim1003Argentina2024-06-21
Octavia W Butt1004Japan2024-06-16
Jeanfrancois S Tollner1005Japan2024-05-28
Salvatore P Briddick1006Russia2024-06-09
Greenwood Y Malet1007Canada2024-05-29
Octavia C Butt1008Italy2024-06-18
Clifford W Schemmer1009Italy2024-06-21
Darci S Poquette1010Japan2024-05-31
Aruna V Tollner1011United Kingdom2024-06-16
Francesco P Bolognia1012Argentina2024-06-03
Alejandro H Figeroa1013United Kingdom2024-05-28
Ashley M Morasca1014Argentina2024-06-20
Antonio L Butt1015India2024-06-19
Johnson U Figeroa1016France2024-06-05
Antonio S Glick1017Russia2024-06-18
Ricardo Q Figeroa1018Argentina2024-06-20
Ashley B Albares1019Canada2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley U FollerArgentinaAsiya Javayant RENEWAL
Octavia P RimRussiaAnna Fali UNQUALIFIED
Leja D MorascaFranceBernardo Dominic RENEWAL
Deepesh E MacleadBrazilElwin Sharvill QUALIFIED
Alejandro X PerinBrazilXuxue Feng QUALIFIED
Kaitlin H AlbaresUnited KingdomElwin Sharvill RENEWAL
Johnson Q NestleArgentinaAnna Fali PROPOSAL
Aditya S BowleyRussiaIoni Bowcher UNQUALIFIED
Rodrigues T ButtItalyIoni Bowcher NEW
Emily K VenereAustraliaIvan Magalhaes PROPOSAL
Jennifer A CaldareraUnited KingdomBernardo Dominic PROPOSAL
Juan H ShinkoUnited KingdomIoni Bowcher PROPOSAL
Mayumi K GarufiAustraliaAmy Elsner NEGOTIATION
Claire L NickaFranceAmy Elsner NEW
Kadeem W MorascaUnited KingdomAnna Fali RENEWAL
Maisha S MaletRussiaBernardo Dominic QUALIFIED
Cody Y AlbaresJapanOnyama Limba PROPOSAL
Jeanfrancois M InouyeItalyAnna Fali RENEWAL
Leja E NickaUnited KingdomAnna Fali UNQUALIFIED
Francesco W PoquetteCanadaXuxue Feng NEW
Johnson N CaudyIndiaAsiya Javayant UNQUALIFIED
Kadeem I FollerBrazilXuxue Feng UNQUALIFIED
Murillo J MaletArgentinaAnna Fali NEGOTIATION
James R OldroydBrazilIoni Bowcher RENEWAL
Sinclair X RoysterGermanyStephen Shaw NEW
Antonio Q VocelkaRussiaElwin Sharvill NEW
Jennifer O BologniaBrazilIoni Bowcher UNQUALIFIED
Leja E ShinkoCanadaElwin Sharvill NEGOTIATION
Maria R MaletUnited KingdomAnna Fali NEGOTIATION
Alejandro O OstroskyGermanyStephen Shaw RENEWAL
Izzy N WieserGermanyAmy Elsner QUALIFIED
Izzy V WhobreyArgentinaAnna Fali RENEWAL
Munro G SergiItalyElwin Sharvill NEW
James R SergiJapanBernardo Dominic NEW
Emily U RutaItalyAsiya Javayant UNQUALIFIED
Wickens T GillianAustraliaElwin Sharvill PROPOSAL
David W MaletBrazilAnna Fali UNQUALIFIED
Jones S SergiFranceAsiya Javayant PROPOSAL
Adams Q ShinkoRussiaXuxue Feng QUALIFIED
Misaki D FerenczArgentinaStephen Shaw NEGOTIATION

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