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
Tony F TollnerGermanyIoni Bowcher UNQUALIFIED
Claire V StensethItalyIvan Magalhaes QUALIFIED
Adams J PaprockiGermanyBernardo Dominic QUALIFIED
Morrow T IturbideSpainXuxue Feng UNQUALIFIED
Leja U StockhamIndiaIoni Bowcher PROPOSAL
Jones B DarakjySpainXuxue Feng PROPOSAL
Isabel J SaylorsGermanyIoni Bowcher NEGOTIATION
Ivar T StockhamCanadaOnyama Limba RENEWAL
Tony K MorascaItalyOnyama Limba NEGOTIATION
Ivar J PerinAustraliaIvan Magalhaes RENEWAL
Johnson W VocelkaFranceIoni Bowcher RENEWAL
Jennifer M MaletJapanAnna Fali PROPOSAL
Leja F InouyeItalyStephen Shaw UNQUALIFIED
Ashley D PerinRussiaAmy Elsner QUALIFIED
Kadeem Q SlusarskiFranceIvan Magalhaes NEGOTIATION
Jeanfrancois M PoquetteItalyStephen Shaw NEGOTIATION
Silvio J SlusarskiRussiaStephen Shaw NEGOTIATION
Aika V DoeAustraliaXuxue Feng NEW
Clifford N VenereJapanAnna Fali NEW
Mujtaba O AmigonIndiaAsiya Javayant RENEWAL
Maria J RutaAustraliaIvan Magalhaes UNQUALIFIED
Arvin T NestleFranceIvan Magalhaes RENEWAL
Maisha B GillianAustraliaStephen Shaw PROPOSAL
Jeanfrancois A FigeroaFranceElwin Sharvill PROPOSAL
Smith Q DarakjyBrazilElwin Sharvill QUALIFIED
Nicolas K GillianFranceOnyama Limba UNQUALIFIED
Wickens N MarrierGermanyXuxue Feng NEGOTIATION
Adams I FerenczRussiaIoni Bowcher NEW
Chavez J PoquetteAustraliaAnna Fali NEGOTIATION
Nicolas Y RimRussiaAmy Elsner NEW
Emily X DilliardAustraliaAmy Elsner RENEWAL
Alejandro G BologniaItalyStephen Shaw QUALIFIED
Juan L CaudyCanadaBernardo Dominic NEGOTIATION
Jones C CaudyRussiaStephen Shaw UNQUALIFIED
Ashley Q WieserUnited KingdomAsiya Javayant NEGOTIATION
Leja B PoquetteRussiaIoni Bowcher QUALIFIED
Ivar F PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Emily E PaprockiRussiaBernardo Dominic QUALIFIED
Jennifer R RimArgentinaAnna Fali NEGOTIATION
Aruna D PerinAustraliaElwin Sharvill QUALIFIED
Juan S RimSpainIoni Bowcher NEW
Nicolas J MacleadAustraliaAnna Fali UNQUALIFIED
Morrow Z PerinUnited KingdomOnyama Limba RENEWAL
Mujtaba V StockhamIndiaAsiya Javayant NEW
Ricardo Q NickaBrazilXuxue Feng RENEWAL
Aditya I SergiIndiaElwin Sharvill NEGOTIATION
Aika N SlusarskiIndiaXuxue Feng UNQUALIFIED
Jefferson E MacleadBrazilAmy Elsner QUALIFIED
Munro V GauchoGermanyXuxue Feng PROPOSAL
Isabel J CaudyJapanElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa U MarrierAustraliaAmy Elsner RENEWAL
Greenwood W PoquetteArgentinaElwin Sharvill RENEWAL
Aditya T BowleyArgentinaAsiya Javayant RENEWAL
Smith K PaprockiAustraliaIoni Bowcher UNQUALIFIED
Kadeem E RutaAustraliaIvan Magalhaes UNQUALIFIED
Ashley F TollnerUnited KingdomStephen Shaw UNQUALIFIED
Rodrigues M AlbaresBrazilXuxue Feng NEGOTIATION
Jones U OstroskyIndiaXuxue Feng NEW
Morrow C PaprockiItalyAmy Elsner QUALIFIED
Claire N InouyeAustraliaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith J FollerFrance2025-06-06Commercial Press NEW30Xuxue Feng
1001Mujtaba A KolmetzIndia2025-06-01Chapman, Ross E Esq PROPOSAL18Amy Elsner
1002Silvio H NestleItaly2025-06-07Buckley Miller Wright PROPOSAL91Bernardo Dominic
1003Octavia Y CampainBrazil2025-06-08Rousseaux, Michael Esq NEW40Ivan Magalhaes
1004Juan I PerinBrazil2025-06-01Rangoni Of Florence RENEWAL68Elwin Sharvill
1005Greenwood S MacleadArgentina2025-06-06Rousseaux, Michael Esq RENEWAL77Ivan Magalhaes
1006Darci A RutaItaly2025-06-11Chemel, James L Cpa NEW72Anna Fali
1007Octavia K RoysterIndia2025-05-24Benton, John B Jr NEW13Elwin Sharvill
1008Adams N CaudySpain2025-05-23King, Christopher A Esq PROPOSAL62Bernardo Dominic
1009Rodrigues E SergiSpain2025-05-18King, Christopher A Esq UNQUALIFIED99Ivan Magalhaes
1010Emily O DilliardRussia2025-05-23Buckley Miller Wright UNQUALIFIED75Asiya Javayant
1011Jennifer I RutaArgentina2025-05-29Feltz Printing Service QUALIFIED61Stephen Shaw
1012Adams F TollnerRussia2025-06-02Benton, John B Jr QUALIFIED26Amy Elsner
1013Leja T NickaIndia2025-06-15Rousseaux, Michael Esq UNQUALIFIED56Amy Elsner
1014Mayumi P VenereUnited Kingdom2025-06-10Buckley Miller Wright PROPOSAL34Bernardo Dominic
1015Kadeem D AmigonBrazil2025-05-31Feltz Printing Service NEGOTIATION41Elwin Sharvill
1016Kaitlin E CaldareraBrazil2025-06-14King, Christopher A Esq RENEWAL44Xuxue Feng
1017Claire Y NestleUnited Kingdom2025-06-01Benton, John B Jr QUALIFIED31Asiya Javayant
1018Julie T InouyeUnited Kingdom2025-06-13Benton, John B Jr UNQUALIFIED35Amy Elsner
1019Murillo G SlusarskiArgentina2025-05-26Chemel, James L Cpa QUALIFIED5Elwin Sharvill
1020Sinclair X GauchoSpain2025-05-22Printing Dimensions NEW94Xuxue Feng
1021Julie C DoeGermany2025-06-16Feiner Bros RENEWAL68Elwin Sharvill
1022Arvin Q VocelkaItaly2025-05-25Dorl, James J Esq NEW91Amy Elsner
1023Cody E ButtCanada2025-06-11King, Christopher A Esq NEGOTIATION72Ioni Bowcher
1024James X PoquetteArgentina2025-06-16King, Christopher A Esq QUALIFIED49Xuxue Feng
1025Octavia N MorascaCanada2025-05-25Benton, John B Jr PROPOSAL40Bernardo Dominic
1026Cody A PaprockiRussia2025-05-22Truhlar And Truhlar Attys NEGOTIATION71Ivan Magalhaes
1027David R NestleArgentina2025-05-21Rousseaux, Michael Esq NEGOTIATION98Bernardo Dominic
1028Murillo W FerenczSpain2025-05-24Commercial Press QUALIFIED86Bernardo Dominic
1029Kadeem U VenereAustralia2025-05-20Benton, John B Jr NEGOTIATION88Xuxue Feng
1030Clifford P DarakjyBrazil2025-06-15King, Christopher A Esq NEW64Stephen Shaw
1031Jefferson Z GlickIndia2025-05-24Chapman, Ross E Esq RENEWAL5Elwin Sharvill
1032Faith N TollnerItaly2025-06-02Printing Dimensions RENEWAL43Amy Elsner
1033Misaki G PerinCanada2025-06-04Chapman, Ross E Esq UNQUALIFIED63Ivan Magalhaes
1034Ivar Z SlusarskiJapan2025-06-07Feltz Printing Service RENEWAL68Elwin Sharvill
1035Rodrigues J SlusarskiArgentina2025-05-30Printing Dimensions NEGOTIATION79Xuxue Feng
1036Greenwood N PoquetteFrance2025-06-05Chapman, Ross E Esq RENEWAL45Ioni Bowcher
1037Misaki I InouyeSpain2025-06-04Truhlar And Truhlar Attys RENEWAL39Ivan Magalhaes
1038Leja W VenereItaly2025-06-09Chemel, James L Cpa UNQUALIFIED87Ivan Magalhaes
1039Aditya D CampainItaly2025-06-13Chanay, Jeffrey A Esq RENEWAL37Asiya Javayant
1040Greenwood D DarakjyGermany2025-06-01Rousseaux, Michael Esq NEW64Amy Elsner
1041Jeanfrancois P GarufiIndia2025-06-04Benton, John B Jr RENEWAL89Xuxue Feng
1042Salvatore J PerinItaly2025-05-21Printing Dimensions PROPOSAL94Ivan Magalhaes
1043Kaitlin H CampainArgentina2025-05-23Feiner Bros QUALIFIED13Onyama Limba
1044Ivar Q AmigonArgentina2025-05-18Buckley Miller Wright PROPOSAL6Ioni Bowcher
1045Isabel L WaycottGermany2025-05-26King, Christopher A Esq PROPOSAL22Ivan Magalhaes
1046Misaki G BowleyUnited Kingdom2025-06-11King, Christopher A Esq QUALIFIED52Amy Elsner
1047Claire B ChuiIndia2025-05-22Commercial Press NEW33Asiya Javayant
1048Deepesh M MarrierSpain2025-06-08Truhlar And Truhlar Attys UNQUALIFIED43Ioni Bowcher
1049Julie L DarakjyIndia2025-05-25Buckley Miller Wright PROPOSAL7Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kadeem C BriddickAustraliaAnna Fali PROPOSAL
Jennifer D DilliardUnited KingdomIoni Bowcher PROPOSAL
Stacey T MorascaBrazilXuxue Feng RENEWAL
Jeanfrancois E WaycottCanadaOnyama Limba NEW
Kadeem U SlusarskiAustraliaStephen Shaw QUALIFIED
Rodrigues Y StockhamSpainXuxue Feng UNQUALIFIED
Ivar O ButtGermanyIvan Magalhaes NEW
Sinclair O DilliardItalyAmy Elsner NEGOTIATION
Silvio L DoeSpainIvan Magalhaes UNQUALIFIED
Chavez O RulapaughArgentinaStephen Shaw UNQUALIFIED
Antonio A CaldareraBrazilStephen Shaw UNQUALIFIED
Misaki X MacleadAustraliaStephen Shaw RENEWAL
Isabel F ButtAustraliaStephen Shaw NEW
Maisha A ShinkoItalyAmy Elsner NEGOTIATION
Julie N RulapaughItalyIvan Magalhaes NEW
Alejandro N PoquetteItalyAnna Fali UNQUALIFIED
Salvatore F PaprockiItalyAmy Elsner NEGOTIATION
Mujtaba Z ChuiUnited KingdomXuxue Feng UNQUALIFIED
James U DoeItalyAmy Elsner PROPOSAL
Alejandro S MacleadArgentinaStephen Shaw PROPOSAL
David V CaldareraFranceStephen Shaw NEGOTIATION
Munro Z GauchoCanadaIoni Bowcher UNQUALIFIED
Wickens S KuskoRussiaAnna Fali NEGOTIATION
Maisha V PerinFranceElwin Sharvill NEW
Darci Q CaudyFranceAnna Fali NEGOTIATION
Jones W InouyeBrazilIoni Bowcher QUALIFIED
Claire N MaletAustraliaIvan Magalhaes PROPOSAL
James O MacleadSpainBernardo Dominic PROPOSAL
Aruna Y OstroskyJapanBernardo Dominic UNQUALIFIED
Tony S NickaAustraliaIoni Bowcher PROPOSAL
Silvio U GauchoUnited KingdomElwin Sharvill PROPOSAL
Chavez Z GarufiRussiaOnyama Limba UNQUALIFIED
Alejandro Q NestleJapanIvan Magalhaes NEW
Aika N AlbaresRussiaAsiya Javayant NEGOTIATION
Jefferson L MacleadFranceAmy Elsner UNQUALIFIED
Jeanfrancois H CaldareraIndiaAnna Fali QUALIFIED
Emily A DoeBrazilOnyama Limba PROPOSAL
Arvin B AmigonUnited KingdomElwin Sharvill NEW
Darci H SergiFranceIoni Bowcher QUALIFIED
Greenwood O FlosiUnited KingdomElwin Sharvill PROPOSAL
Smith W WaycottArgentinaIoni Bowcher NEW
Maria B ChuiAustraliaElwin Sharvill QUALIFIED
Maria U MaletFranceStephen Shaw NEW
Wickens P BriddickFranceStephen Shaw NEW
Cody J GauchoGermanyElwin Sharvill NEW
Johnson M SaylorsSpainOnyama Limba NEGOTIATION
Isabel D RutaIndiaIoni Bowcher NEGOTIATION
Julie E GlickFranceIoni Bowcher PROPOSAL
Isabel I AmigonArgentinaOnyama Limba UNQUALIFIED
Claire T GauchoJapanBernardo Dominic NEW
Frozen Columns
Name
Izzy S Bolognia
Smith X Campain
Munro H Morasca
Julie C Sergi
Leon P Caldarera
Morrow A Briddick
David N Poquette
Ricardo N Ostrosky
Izzy P Malet
Ashley I Caldarera
Aditya I Schemmer
Greenwood W Rim
Silvio H Ruta
Ivar P Malet
Misaki C Briddick
Chavez Y Ostrosky
Isabel Y Malet
Francesco I Chui
Mayumi G Caldarera
Izzy J Morasca
Misaki C Schemmer
Tony V Bowley
Smith F Rim
Antonio I Vocelka
Faith K Dilliard
Antonio Q Bowley
Misaki L Sergi
Smith C Ferencz
Costa J Maclead
Wickens R Darakjy
Adams Z Poquette
Isabel N Nicka
Aruna Q Garufi
Aditya G Saylors
Stacey X Campain
Izzy Q Foller
Greenwood W Malet
Mayumi Z Foller
Stacey L Iturbide
Ricardo H Gaucho
Emily L Garufi
Claire M Vocelka
Mayumi W Royster
Costa R Ostrosky
Stacey U Whobrey
Stacey Z Vocelka
Ivar Y Whobrey
Ivar F Gillian
Johnson Z Foller
Ricardo A Gaucho
IdCountryDate
1000Spain2025-06-07
1001India2025-05-31
1002Argentina2025-06-14
1003France2025-05-21
1004Russia2025-05-30
1005Japan2025-05-26
1006Spain2025-05-31
1007Australia2025-06-11
1008Italy2025-05-29
1009Australia2025-06-02
1010Brazil2025-05-20
1011Spain2025-06-10
1012Italy2025-05-19
1013Spain2025-05-26
1014Australia2025-06-06
1015Russia2025-06-15
1016Japan2025-05-31
1017France2025-06-11
1018India2025-06-04
1019Spain2025-05-29
1020United Kingdom2025-06-05
1021Russia2025-05-27
1022Brazil2025-05-28
1023United Kingdom2025-06-07
1024Germany2025-06-11
1025Brazil2025-05-30
1026Brazil2025-06-13
1027Italy2025-05-21
1028Russia2025-06-08
1029Japan2025-06-10
1030India2025-06-13
1031France2025-05-31
1032India2025-05-25
1033Australia2025-06-06
1034Canada2025-06-02
1035Canada2025-05-28
1036Italy2025-06-01
1037Japan2025-06-14
1038Brazil2025-05-29
1039Spain2025-05-29
1040Russia2025-06-09
1041Italy2025-06-10
1042Italy2025-06-16
1043India2025-05-24
1044Italy2025-06-03
1045Russia2025-05-21
1046Russia2025-05-20
1047France2025-05-18
1048Spain2025-06-13
1049Brazil2025-06-16

On-Demand Data

NameIdCountryDate
Chavez M Gillian1000Spain2025-05-29
Aruna F Ostrosky1001Japan2025-06-16
Clifford T Morasca1002Spain2025-06-16
Octavia S Foller1003Italy2025-06-11
Rodrigues I Malet1004Germany2025-06-15
Maria K Marrier1005Australia2025-06-07
Greenwood P Briddick1006Canada2025-05-26
Julie P Foller1007Germany2025-05-24
Sinclair S Schemmer1008Brazil2025-05-22
Arvin P Waycott1009Italy2025-05-29
Misaki W Venere1010Australia2025-06-06
Rodrigues J Foller1011India2025-06-12
Nicolas L Kolmetz1012Japan2025-06-08
Greenwood Q Waycott1013Argentina2025-06-16
Silvio A Marrier1014Spain2025-06-07
Sinclair P Doe1015Argentina2025-05-20
Francesco U Whobrey1016Spain2025-05-24
Jefferson P Slusarski1017Brazil2025-05-24
Claire Q Gillian1018United Kingdom2025-06-03
Rodrigues P Darakjy1019United Kingdom2025-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika B MorascaIndiaAnna Fali QUALIFIED
Aika Y RulapaughCanadaStephen Shaw UNQUALIFIED
Aruna D MorascaSpainIoni Bowcher QUALIFIED
Tony X VocelkaArgentinaIvan Magalhaes PROPOSAL
Kadeem V DoeCanadaIvan Magalhaes NEGOTIATION
Rodrigues A VocelkaBrazilXuxue Feng NEW
Murillo T MaletGermanyAsiya Javayant PROPOSAL
Octavia L WaycottSpainStephen Shaw NEGOTIATION
Stacey X RoysterGermanyXuxue Feng QUALIFIED
Munro T WieserUnited KingdomStephen Shaw PROPOSAL
Aruna S PoquetteJapanAsiya Javayant UNQUALIFIED
Rodrigues V SchemmerFranceAsiya Javayant PROPOSAL
Francesco M KuskoGermanyAsiya Javayant UNQUALIFIED
Ivar O BologniaArgentinaAmy Elsner NEW
Francesco G StockhamCanadaAmy Elsner PROPOSAL
Tony L WhobreyUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois N BologniaSpainIvan Magalhaes PROPOSAL
Faith R CaudyUnited KingdomIvan Magalhaes NEW
David K MarrierSpainStephen Shaw PROPOSAL
Alejandro F GauchoCanadaStephen Shaw QUALIFIED
Munro E CampainGermanyIvan Magalhaes QUALIFIED
Nicolas E PaprockiBrazilOnyama Limba UNQUALIFIED
Smith H BowleyArgentinaOnyama Limba NEGOTIATION
Mujtaba M MaletBrazilXuxue Feng RENEWAL
Jones A VenereAustraliaAsiya Javayant QUALIFIED
Arvin H SchemmerUnited KingdomAmy Elsner NEW
Salvatore U TollnerGermanyAsiya Javayant NEGOTIATION
James P IturbideSpainOnyama Limba NEGOTIATION
Leon U NestleUnited KingdomElwin Sharvill UNQUALIFIED
Chavez D GauchoUnited KingdomXuxue Feng QUALIFIED
Sinclair I ChuiFranceIoni Bowcher UNQUALIFIED
Alejandro V RoysterSpainXuxue Feng NEW
Munro Z VocelkaSpainIvan Magalhaes RENEWAL
Ricardo C MarrierJapanAmy Elsner UNQUALIFIED
Alejandro V RutaAustraliaAmy Elsner NEW
Clifford S DilliardGermanyAmy Elsner UNQUALIFIED
Salvatore F DilliardGermanyAsiya Javayant QUALIFIED
Mayumi P GauchoBrazilBernardo Dominic NEW
Clifford D WhobreyBrazilAmy Elsner RENEWAL
Leon U AmigonAustraliaAsiya Javayant NEW

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