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
Nicolas O InouyeUnited KingdomElwin Sharvill PROPOSAL
Octavia F CaldareraRussiaIvan Magalhaes RENEWAL
Octavia Z GlickAustraliaAnna Fali NEGOTIATION
Ricardo B KuskoAustraliaAnna Fali NEGOTIATION
Leon Q CaldareraUnited KingdomAnna Fali PROPOSAL
Juan V DarakjyIndiaAnna Fali UNQUALIFIED
Jennifer T NestleCanadaXuxue Feng UNQUALIFIED
Izzy Y SergiRussiaBernardo Dominic QUALIFIED
Chavez C SchemmerItalyAnna Fali NEGOTIATION
Jones Y StockhamUnited KingdomAnna Fali QUALIFIED
Mayumi A OldroydCanadaElwin Sharvill QUALIFIED
Jennifer I GarufiSpainStephen Shaw RENEWAL
Faith B AlbaresBrazilElwin Sharvill UNQUALIFIED
Salvatore R StensethJapanAsiya Javayant PROPOSAL
Ivar Z WieserGermanyAmy Elsner PROPOSAL
Stacey E SaylorsGermanyIoni Bowcher PROPOSAL
Salvatore S ButtIndiaElwin Sharvill PROPOSAL
Leja W DarakjyCanadaBernardo Dominic RENEWAL
Cody U WhobreyFranceBernardo Dominic PROPOSAL
David Z IturbideFranceElwin Sharvill NEGOTIATION
Adams I ChuiItalyOnyama Limba RENEWAL
Cody V BologniaRussiaXuxue Feng NEGOTIATION
Deepesh E NickaUnited KingdomStephen Shaw PROPOSAL
Munro E MaletJapanIoni Bowcher NEGOTIATION
Alejandro G MarrierAustraliaElwin Sharvill PROPOSAL
Wickens R GarufiGermanyBernardo Dominic RENEWAL
Stacey V FollerSpainAmy Elsner NEW
Maisha B TollnerJapanAnna Fali UNQUALIFIED
Aruna Q CampainArgentinaAnna Fali NEW
Maria Z FerenczIndiaIoni Bowcher UNQUALIFIED
Johnson A WhobreyIndiaStephen Shaw NEGOTIATION
Aditya B SaylorsFranceIvan Magalhaes NEW
Francesco J MacleadItalyXuxue Feng UNQUALIFIED
Wickens B CampainFranceStephen Shaw NEW
Izzy O MaletSpainElwin Sharvill NEW
Alejandro A RimAustraliaAsiya Javayant NEGOTIATION
Adams U ButtFranceIvan Magalhaes PROPOSAL
Kaitlin W IturbideArgentinaAnna Fali UNQUALIFIED
Jones R FlosiFranceIvan Magalhaes PROPOSAL
Octavia N IturbideBrazilAmy Elsner NEGOTIATION
Misaki F AmigonJapanAsiya Javayant NEW
Isabel J MaletGermanyIoni Bowcher QUALIFIED
Jefferson T GauchoFranceIvan Magalhaes RENEWAL
Adams L FerenczUnited KingdomStephen Shaw NEGOTIATION
Stacey E NickaAustraliaAnna Fali RENEWAL
Aika M MarrierCanadaAmy Elsner NEW
Ashley T PerinBrazilAnna Fali PROPOSAL
Jeanfrancois H ShinkoJapanOnyama Limba UNQUALIFIED
Aruna Q PerinFranceIvan Magalhaes NEW
Morrow S ButtBrazilIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mayumi Q FlosiGermanyElwin Sharvill UNQUALIFIED
Smith P KuskoIndiaElwin Sharvill UNQUALIFIED
Isabel O RulapaughUnited KingdomAnna Fali QUALIFIED
Misaki R DoeCanadaElwin Sharvill RENEWAL
Wickens W CaudyGermanyAmy Elsner RENEWAL
Juan L SlusarskiUnited KingdomStephen Shaw RENEWAL
Maria G RutaRussiaIoni Bowcher UNQUALIFIED
James H SaylorsArgentinaOnyama Limba NEW
Ivar P DilliardSpainIoni Bowcher RENEWAL
Aditya G MacleadCanadaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David O WieserCanada2024-08-26Chapman, Ross E Esq RENEWAL67Asiya Javayant
1001Greenwood I RutaItaly2024-09-06Truhlar And Truhlar Attys NEGOTIATION74Amy Elsner
1002Sinclair Z WieserArgentina2024-08-30Benton, John B Jr PROPOSAL75Xuxue Feng
1003David T MaletFrance2024-09-17Commercial Press QUALIFIED3Xuxue Feng
1004Aditya Y BriddickRussia2024-09-17Commercial Press UNQUALIFIED41Stephen Shaw
1005Izzy U DilliardItaly2024-08-26Chapman, Ross E Esq PROPOSAL22Bernardo Dominic
1006Adams Y RulapaughGermany2024-09-01Feiner Bros UNQUALIFIED87Stephen Shaw
1007David H MarrierGermany2024-08-25Commercial Press QUALIFIED69Elwin Sharvill
1008Jennifer U MarrierJapan2024-09-18Buckley Miller Wright UNQUALIFIED29Stephen Shaw
1009Nicolas P BriddickGermany2024-09-16Chemel, James L Cpa UNQUALIFIED52Stephen Shaw
1010Juan Z DilliardFrance2024-09-18Rangoni Of Florence PROPOSAL23Ivan Magalhaes
1011Mayumi L GlickAustralia2024-09-16Commercial Press RENEWAL67Anna Fali
1012Misaki F VenereBrazil2024-09-16Commercial Press UNQUALIFIED22Stephen Shaw
1013Antonio R CaudyGermany2024-08-30Buckley Miller Wright RENEWAL9Onyama Limba
1014Costa M GarufiCanada2024-09-12Benton, John B Jr NEGOTIATION3Anna Fali
1015Darci Y IturbideGermany2024-09-08Morlong Associates QUALIFIED79Xuxue Feng
1016Faith X MorascaUnited Kingdom2024-08-29Chapman, Ross E Esq QUALIFIED8Asiya Javayant
1017Jefferson T CaudyAustralia2024-09-21Rangoni Of Florence QUALIFIED56Bernardo Dominic
1018Claire X GauchoSpain2024-08-24Benton, John B Jr PROPOSAL68Onyama Limba
1019Ashley Q OstroskyJapan2024-09-16Rangoni Of Florence QUALIFIED85Elwin Sharvill
1020Clifford T SlusarskiJapan2024-09-09Chanay, Jeffrey A Esq NEGOTIATION78Asiya Javayant
1021Rodrigues D GauchoItaly2024-09-16Printing Dimensions RENEWAL18Amy Elsner
1022Faith R BriddickAustralia2024-09-15Chemel, James L Cpa NEW12Asiya Javayant
1023Jennifer L RulapaughUnited Kingdom2024-09-04Benton, John B Jr RENEWAL73Asiya Javayant
1024Isabel O AlbaresCanada2024-09-10Feiner Bros UNQUALIFIED2Ioni Bowcher
1025Chavez K IturbideArgentina2024-09-18Truhlar And Truhlar Attys NEW75Onyama Limba
1026Kadeem U SaylorsFrance2024-09-06Chanay, Jeffrey A Esq NEGOTIATION41Elwin Sharvill
1027Izzy M BriddickIndia2024-09-06King, Christopher A Esq UNQUALIFIED81Onyama Limba
1028Clifford A RulapaughCanada2024-09-03Feltz Printing Service RENEWAL36Xuxue Feng
1029Sinclair T RimRussia2024-09-12Feltz Printing Service PROPOSAL54Elwin Sharvill
1030Jones O PoquetteAustralia2024-09-19King, Christopher A Esq NEW33Ioni Bowcher
1031Murillo F PoquetteSpain2024-09-03Truhlar And Truhlar Attys NEGOTIATION83Bernardo Dominic
1032Nicolas I TollnerFrance2024-08-28Commercial Press UNQUALIFIED51Stephen Shaw
1033Francesco V WaycottArgentina2024-09-08Morlong Associates UNQUALIFIED71Asiya Javayant
1034Darci D OstroskyArgentina2024-09-22Rangoni Of Florence RENEWAL6Ivan Magalhaes
1035Munro N NestleItaly2024-09-15Chanay, Jeffrey A Esq NEW43Ivan Magalhaes
1036Maisha T ShinkoFrance2024-09-06Dorl, James J Esq PROPOSAL26Bernardo Dominic
1037Octavia X GauchoIndia2024-09-16Commercial Press RENEWAL34Elwin Sharvill
1038Jennifer V SlusarskiSpain2024-09-01King, Christopher A Esq NEGOTIATION85Anna Fali
1039Arvin E GarufiIndia2024-09-15King, Christopher A Esq RENEWAL59Elwin Sharvill
1040James O SchemmerUnited Kingdom2024-09-07King, Christopher A Esq PROPOSAL64Amy Elsner
1041Juan I PerinRussia2024-08-30Chanay, Jeffrey A Esq RENEWAL39Stephen Shaw
1042James U SlusarskiIndia2024-09-12Rangoni Of Florence UNQUALIFIED27Asiya Javayant
1043Jeanfrancois L OstroskyBrazil2024-08-24Buckley Miller Wright NEGOTIATION90Ioni Bowcher
1044Clifford A PaprockiRussia2024-08-27Buckley Miller Wright NEGOTIATION88Stephen Shaw
1045Silvio O CaudyJapan2024-09-05Rousseaux, Michael Esq UNQUALIFIED13Onyama Limba
1046Izzy O StensethBrazil2024-09-20Rousseaux, Michael Esq UNQUALIFIED47Bernardo Dominic
1047David J DoeGermany2024-09-08Benton, John B Jr PROPOSAL45Bernardo Dominic
1048Salvatore M MorascaIndia2024-09-17King, Christopher A Esq NEGOTIATION46Xuxue Feng
1049Maisha M ButtCanada2024-09-04Truhlar And Truhlar Attys NEW22Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens A InouyeSpainStephen Shaw PROPOSAL
David G DilliardArgentinaStephen Shaw PROPOSAL
Johnson E CampainFranceStephen Shaw QUALIFIED
Stacey X GillianJapanElwin Sharvill QUALIFIED
Alejandro Y BriddickGermanyXuxue Feng PROPOSAL
Salvatore T TollnerIndiaStephen Shaw PROPOSAL
Nicolas Z SchemmerIndiaAnna Fali UNQUALIFIED
Greenwood P AlbaresGermanyOnyama Limba RENEWAL
Ashley O NestleCanadaStephen Shaw UNQUALIFIED
Leja U StockhamGermanyIoni Bowcher UNQUALIFIED
Mujtaba T PoquetteUnited KingdomOnyama Limba RENEWAL
Nicolas Z ChuiCanadaAmy Elsner NEGOTIATION
Mayumi N WhobreySpainOnyama Limba PROPOSAL
Jones A InouyeSpainBernardo Dominic NEGOTIATION
Octavia S NickaSpainAnna Fali RENEWAL
Emily M WaycottRussiaAnna Fali QUALIFIED
Aditya I WaycottArgentinaAsiya Javayant QUALIFIED
Tony Q MorascaJapanAsiya Javayant NEGOTIATION
Salvatore F CampainArgentinaAsiya Javayant PROPOSAL
Jeanfrancois O FollerUnited KingdomBernardo Dominic QUALIFIED
Cody V GlickGermanyStephen Shaw QUALIFIED
Munro J StensethGermanyStephen Shaw NEGOTIATION
Kaitlin P MaletGermanyXuxue Feng RENEWAL
Emily Y FlosiBrazilBernardo Dominic PROPOSAL
Antonio H KuskoRussiaXuxue Feng NEGOTIATION
Sinclair I CaldareraItalyAsiya Javayant RENEWAL
Jeanfrancois F PoquetteCanadaOnyama Limba NEW
Wickens B GauchoJapanIvan Magalhaes NEGOTIATION
Smith L NickaIndiaIoni Bowcher RENEWAL
Ivar U TollnerUnited KingdomOnyama Limba UNQUALIFIED
Antonio G BriddickUnited KingdomAnna Fali RENEWAL
Izzy J StensethBrazilOnyama Limba PROPOSAL
Emily A PerinJapanAsiya Javayant QUALIFIED
Morrow X FollerSpainAsiya Javayant PROPOSAL
Deepesh G ChuiRussiaAmy Elsner PROPOSAL
Stacey Y MarrierCanadaAsiya Javayant NEW
Claire I SergiRussiaOnyama Limba QUALIFIED
Ricardo Y SlusarskiSpainAmy Elsner NEW
Salvatore K VenereAustraliaAmy Elsner PROPOSAL
David Z SaylorsCanadaBernardo Dominic UNQUALIFIED
Darci I GlickItalyAsiya Javayant RENEWAL
Claire N MarrierJapanElwin Sharvill PROPOSAL
Greenwood U GarufiJapanIvan Magalhaes NEGOTIATION
Mujtaba X FlosiRussiaXuxue Feng QUALIFIED
Jennifer O BriddickGermanyIvan Magalhaes NEW
Rodrigues A NickaCanadaAsiya Javayant PROPOSAL
Salvatore M GarufiIndiaBernardo Dominic RENEWAL
Francesco D GauchoJapanIvan Magalhaes UNQUALIFIED
Clifford T GillianItalyAsiya Javayant NEW
Smith P OldroydBrazilElwin Sharvill NEGOTIATION
Frozen Columns
Name
Costa G Paprocki
Nicolas J Bowley
Antonio K Gaucho
Rodrigues D Amigon
David P Marrier
Mayumi Z Ferencz
David V Paprocki
Tony Y Marrier
Jennifer R Amigon
Aika T Ostrosky
Silvio A Ferencz
Francesco A Stockham
Antonio K Bowley
Arvin B Morasca
Ashley C Chui
Maisha E Stockham
Aruna Q Waycott
Aika G Foller
Kadeem H Malet
Murillo G Caldarera
Smith M Stenseth
Johnson H Royster
Maisha K Ruta
Ashley I Waycott
Stacey P Foller
Salvatore T Iturbide
Morrow N Briddick
Greenwood A Butt
Jennifer A Kolmetz
James C Campain
Aika W Caldarera
Antonio L Marrier
Octavia Q Kolmetz
Juan X Caldarera
Aruna O Royster
Emily O Amigon
Maisha U Stockham
Ivar K Stockham
Stacey C Slusarski
Mujtaba M Slusarski
David S Shinko
Costa P Ferencz
Aditya V Wieser
Munro L Kusko
Rodrigues Y Foller
Darci W Ruta
Octavia H Ferencz
Leja Y Nicka
Arvin J Stenseth
Johnson W Caudy
IdCountryDate
1000Italy2024-08-30
1001Japan2024-09-05
1002Brazil2024-09-12
1003Germany2024-09-10
1004Brazil2024-09-21
1005India2024-09-22
1006Brazil2024-08-31
1007Spain2024-09-09
1008France2024-09-15
1009Russia2024-08-29
1010Argentina2024-09-19
1011Argentina2024-09-19
1012Brazil2024-09-21
1013Brazil2024-09-19
1014Russia2024-08-31
1015India2024-08-28
1016Canada2024-09-17
1017Japan2024-08-29
1018United Kingdom2024-08-26
1019Brazil2024-09-21
1020Italy2024-09-19
1021Germany2024-09-11
1022Japan2024-08-25
1023Canada2024-09-16
1024Brazil2024-08-29
1025Japan2024-09-19
1026Japan2024-09-07
1027India2024-08-25
1028Russia2024-08-30
1029Italy2024-08-28
1030Canada2024-09-19
1031Spain2024-09-20
1032Australia2024-09-20
1033Canada2024-09-13
1034Italy2024-08-30
1035Argentina2024-08-25
1036Spain2024-09-06
1037Germany2024-09-07
1038Japan2024-09-07
1039Italy2024-09-03
1040France2024-09-14
1041India2024-09-04
1042Italy2024-09-18
1043Argentina2024-09-20
1044Spain2024-08-27
1045United Kingdom2024-09-08
1046India2024-08-24
1047Argentina2024-09-21
1048Italy2024-09-09
1049Spain2024-09-10

On-Demand Data

NameIdCountryDate
Emily L Shinko1000Australia2024-09-15
Juan I Glick1001Canada2024-09-21
Nicolas B Nicka1002Italy2024-09-12
Rodrigues J Glick1003Japan2024-09-21
Alejandro R Dilliard1004Argentina2024-09-22
Ivar P Albares1005United Kingdom2024-09-22
Mayumi D Paprocki1006United Kingdom2024-08-27
Rodrigues H Waycott1007Australia2024-09-07
Greenwood Q Rulapaugh1008Argentina2024-08-30
Kaitlin D Garufi1009Germany2024-08-29
Aruna A Doe1010Russia2024-08-24
Nicolas G Sergi1011Spain2024-08-27
Darci W Briddick1012United Kingdom2024-09-21
Isabel T Nestle1013Australia2024-08-24
Ashley B Rulapaugh1014United Kingdom2024-09-04
Kadeem P Nicka1015Argentina2024-09-14
Greenwood W Garufi1016Canada2024-09-19
Aditya I Perin1017Japan2024-09-02
Wickens K Whobrey1018Australia2024-09-20
Arvin J Stockham1019Japan2024-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois I GarufiAustraliaAsiya Javayant NEW
Silvio A SchemmerCanadaAsiya Javayant UNQUALIFIED
Maria H ShinkoFranceIoni Bowcher PROPOSAL
Kadeem C ButtUnited KingdomBernardo Dominic NEGOTIATION
Isabel P RimIndiaXuxue Feng PROPOSAL
Adams H RutaBrazilXuxue Feng QUALIFIED
Murillo S FigeroaRussiaAsiya Javayant QUALIFIED
Aditya U KuskoFranceElwin Sharvill UNQUALIFIED
Aruna B PerinJapanBernardo Dominic UNQUALIFIED
Juan Z NestleBrazilIoni Bowcher NEW
Antonio U ShinkoRussiaXuxue Feng NEW
Leja G GlickGermanyAnna Fali PROPOSAL
Alejandro Q OldroydUnited KingdomStephen Shaw NEGOTIATION
Francesco M RimUnited KingdomXuxue Feng NEW
Mayumi I RoysterCanadaStephen Shaw UNQUALIFIED
Cody A RulapaughAustraliaAmy Elsner PROPOSAL
Juan V CaudyRussiaIoni Bowcher PROPOSAL
Murillo W OstroskyGermanyAnna Fali UNQUALIFIED
Jeanfrancois S MaletIndiaXuxue Feng UNQUALIFIED
Stacey W AmigonFranceOnyama Limba NEGOTIATION
Juan K InouyeRussiaStephen Shaw NEGOTIATION
Aruna I VenereJapanIoni Bowcher UNQUALIFIED
Octavia U RoysterUnited KingdomOnyama Limba UNQUALIFIED
Jennifer P WieserIndiaIvan Magalhaes NEGOTIATION
Jones R MaletUnited KingdomElwin Sharvill NEW
Deepesh V GlickCanadaXuxue Feng UNQUALIFIED
Stacey J PoquetteGermanyAnna Fali RENEWAL
Costa O VocelkaItalyXuxue Feng UNQUALIFIED
Silvio M FerenczJapanIvan Magalhaes QUALIFIED
Clifford A CaudyAustraliaXuxue Feng NEW
Izzy B NickaUnited KingdomAmy Elsner RENEWAL
Adams A DarakjyItalyStephen Shaw QUALIFIED
Munro Y KolmetzBrazilBernardo Dominic QUALIFIED
Kaitlin W ButtUnited KingdomIoni Bowcher QUALIFIED
Faith D VenereUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin D BriddickFranceAmy Elsner PROPOSAL
Wickens M CaudyBrazilElwin Sharvill UNQUALIFIED
Salvatore G SlusarskiBrazilXuxue Feng QUALIFIED
James E SchemmerRussiaIoni Bowcher UNQUALIFIED
Julie Z WieserRussiaAnna Fali PROPOSAL

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