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
Jefferson R GillianFranceStephen Shaw RENEWAL
Silvio Y WaycottSpainAsiya Javayant PROPOSAL
Leja Q MorascaUnited KingdomAmy Elsner RENEWAL
Mujtaba J PoquetteJapanIoni Bowcher UNQUALIFIED
Leja Q PerinCanadaOnyama Limba NEGOTIATION
Silvio M VocelkaCanadaAnna Fali UNQUALIFIED
Johnson O RutaSpainAsiya Javayant UNQUALIFIED
Ashley I BologniaIndiaIvan Magalhaes NEW
Jeanfrancois W VocelkaUnited KingdomIvan Magalhaes NEGOTIATION
Morrow U CampainJapanIoni Bowcher UNQUALIFIED
Munro P MorascaSpainElwin Sharvill NEGOTIATION
Morrow M NickaFranceAmy Elsner QUALIFIED
Nicolas O FerenczRussiaStephen Shaw QUALIFIED
Adams M WaycottCanadaAmy Elsner PROPOSAL
Francesco R OldroydGermanyAnna Fali UNQUALIFIED
Leja S AmigonIndiaAnna Fali UNQUALIFIED
Stacey S ShinkoAustraliaOnyama Limba QUALIFIED
Aruna S MacleadFranceAnna Fali NEW
Salvatore V TollnerJapanIoni Bowcher NEGOTIATION
David R DarakjyUnited KingdomIoni Bowcher QUALIFIED
Smith P MorascaBrazilAsiya Javayant NEGOTIATION
Mujtaba J ButtCanadaXuxue Feng UNQUALIFIED
Leja O AmigonAustraliaAsiya Javayant RENEWAL
Maisha X BowleyJapanAmy Elsner NEGOTIATION
Claire Q VocelkaCanadaAsiya Javayant NEW
Jennifer F PaprockiSpainIoni Bowcher UNQUALIFIED
Ashley J RutaSpainOnyama Limba NEW
Faith M VocelkaJapanIvan Magalhaes PROPOSAL
Mayumi X PaprockiJapanElwin Sharvill NEW
Maisha J NestleBrazilElwin Sharvill UNQUALIFIED
Sinclair D StockhamBrazilOnyama Limba RENEWAL
Leja L KolmetzJapanAmy Elsner NEGOTIATION
Jefferson A CaudyAustraliaIoni Bowcher RENEWAL
Wickens G WaycottUnited KingdomXuxue Feng NEGOTIATION
Stacey Q KuskoBrazilAnna Fali QUALIFIED
Emily I DarakjyItalyXuxue Feng UNQUALIFIED
Kaitlin N PerinJapanOnyama Limba RENEWAL
Jones I OstroskyRussiaStephen Shaw PROPOSAL
Misaki E DarakjyGermanyElwin Sharvill UNQUALIFIED
Nicolas N RutaUnited KingdomAnna Fali RENEWAL
Aditya S VocelkaGermanyAnna Fali PROPOSAL
Salvatore I DilliardItalyOnyama Limba NEGOTIATION
Rodrigues N StensethFranceIvan Magalhaes UNQUALIFIED
Smith Y BologniaFranceAsiya Javayant RENEWAL
David M InouyeRussiaAnna Fali QUALIFIED
Maisha O ShinkoSpainXuxue Feng NEGOTIATION
Arvin E GillianRussiaIoni Bowcher RENEWAL
Greenwood L RoysterUnited KingdomStephen Shaw NEGOTIATION
Stacey I AmigonGermanyAsiya Javayant NEGOTIATION
Costa Z CampainSpainAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Izzy W InouyeSpainAnna Fali NEGOTIATION
Smith F StockhamBrazilAmy Elsner QUALIFIED
Smith Y ChuiSpainIvan Magalhaes QUALIFIED
Aruna F WhobreyAustraliaBernardo Dominic RENEWAL
Darci J CampainArgentinaElwin Sharvill NEGOTIATION
Aruna A BowleyItalyXuxue Feng RENEWAL
Ashley F RimGermanyAmy Elsner RENEWAL
Silvio F FollerSpainAnna Fali RENEWAL
Julie C AlbaresRussiaOnyama Limba UNQUALIFIED
Jennifer B VenereGermanyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia W CaldareraJapan2024-06-04Feltz Printing Service UNQUALIFIED78Stephen Shaw
1001Julie P NestleFrance2024-06-16Chapman, Ross E Esq NEGOTIATION23Asiya Javayant
1002Ricardo I OstroskyAustralia2024-06-05Commercial Press NEW95Amy Elsner
1003Jones U VocelkaRussia2024-05-30Truhlar And Truhlar Attys PROPOSAL24Stephen Shaw
1004Silvio U SaylorsItaly2024-06-23Feiner Bros RENEWAL71Ioni Bowcher
1005Sinclair J MaletSpain2024-06-03King, Christopher A Esq NEGOTIATION30Stephen Shaw
1006Ashley N SaylorsAustralia2024-05-30Commercial Press PROPOSAL16Anna Fali
1007James O SaylorsRussia2024-05-30Printing Dimensions UNQUALIFIED41Xuxue Feng
1008David A NickaArgentina2024-06-10Chemel, James L Cpa PROPOSAL8Onyama Limba
1009Deepesh I StensethItaly2024-06-11Truhlar And Truhlar Attys NEW41Xuxue Feng
1010Rodrigues X StockhamCanada2024-06-22Chapman, Ross E Esq NEW84Stephen Shaw
1011Rodrigues O WhobreyUnited Kingdom2024-05-30Truhlar And Truhlar Attys NEGOTIATION26Anna Fali
1012Salvatore S PerinSpain2024-06-05Chanay, Jeffrey A Esq QUALIFIED16Amy Elsner
1013Mayumi X VocelkaSpain2024-06-17Chemel, James L Cpa UNQUALIFIED7Ivan Magalhaes
1014Leja V ShinkoUnited Kingdom2024-06-16Buckley Miller Wright NEW28Bernardo Dominic
1015Salvatore S CampainItaly2024-06-13Rousseaux, Michael Esq QUALIFIED96Amy Elsner
1016Clifford E OstroskyGermany2024-06-08Feiner Bros NEGOTIATION9Amy Elsner
1017Francesco B MaletJapan2024-06-24Feiner Bros UNQUALIFIED72Elwin Sharvill
1018Chavez I StensethIndia2024-06-24Feltz Printing Service UNQUALIFIED45Anna Fali
1019Mujtaba K KolmetzUnited Kingdom2024-05-31Benton, John B Jr UNQUALIFIED79Ivan Magalhaes
1020Jones K MorascaArgentina2024-06-02Truhlar And Truhlar Attys UNQUALIFIED49Ivan Magalhaes
1021Smith J VenereRussia2024-06-02Buckley Miller Wright QUALIFIED11Ioni Bowcher
1022Costa H GlickJapan2024-06-03Chapman, Ross E Esq QUALIFIED80Asiya Javayant
1023Costa T StockhamUnited Kingdom2024-06-10Morlong Associates NEW29Ioni Bowcher
1024Leon W SergiSpain2024-06-04Rousseaux, Michael Esq RENEWAL74Anna Fali
1025Greenwood C MacleadItaly2024-06-21Printing Dimensions PROPOSAL2Onyama Limba
1026Nicolas Q GlickAustralia2024-06-04Chapman, Ross E Esq NEGOTIATION55Ivan Magalhaes
1027Jennifer I BowleyItaly2024-06-17Buckley Miller Wright PROPOSAL16Amy Elsner
1028Leon F AmigonRussia2024-06-06Printing Dimensions PROPOSAL56Asiya Javayant
1029Ashley A StockhamGermany2024-05-31Chanay, Jeffrey A Esq PROPOSAL38Ioni Bowcher
1030Isabel E KuskoAustralia2024-06-04Buckley Miller Wright RENEWAL5Stephen Shaw
1031Rodrigues V PaprockiSpain2024-06-17Printing Dimensions RENEWAL36Stephen Shaw
1032Sinclair S AmigonJapan2024-06-20Benton, John B Jr QUALIFIED86Asiya Javayant
1033Octavia X GarufiAustralia2024-05-26Chemel, James L Cpa QUALIFIED43Elwin Sharvill
1034Tony Y NickaJapan2024-06-18Chanay, Jeffrey A Esq NEW72Amy Elsner
1035Greenwood E FollerItaly2024-06-24King, Christopher A Esq UNQUALIFIED10Anna Fali
1036Aditya K BowleySpain2024-06-01Dorl, James J Esq RENEWAL45Stephen Shaw
1037Sinclair R IturbideCanada2024-06-08Chapman, Ross E Esq NEGOTIATION17Ivan Magalhaes
1038Ricardo O GillianJapan2024-06-11Buckley Miller Wright QUALIFIED94Stephen Shaw
1039Emily C OstroskyFrance2024-06-13King, Christopher A Esq NEGOTIATION38Ioni Bowcher
1040Mayumi I IturbideSpain2024-05-28Truhlar And Truhlar Attys PROPOSAL16Ioni Bowcher
1041Aika Z PoquetteUnited Kingdom2024-06-23Chanay, Jeffrey A Esq NEGOTIATION91Asiya Javayant
1042Murillo D NestleAustralia2024-06-18Buckley Miller Wright PROPOSAL96Xuxue Feng
1043Jennifer D GauchoFrance2024-06-22Chanay, Jeffrey A Esq NEW10Ioni Bowcher
1044Francesco L CaudyAustralia2024-05-26Chemel, James L Cpa UNQUALIFIED99Elwin Sharvill
1045Antonio V WaycottFrance2024-06-09Rangoni Of Florence UNQUALIFIED3Ivan Magalhaes
1046Maisha W BowleyItaly2024-06-05Rousseaux, Michael Esq PROPOSAL57Anna Fali
1047Julie G MaletItaly2024-06-12Buckley Miller Wright UNQUALIFIED15Onyama Limba
1048Murillo Q MaletUnited Kingdom2024-06-17Chanay, Jeffrey A Esq PROPOSAL24Stephen Shaw
1049Mayumi R PerinItaly2024-06-16Buckley Miller Wright NEW66Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Greenwood Y PoquetteSpainIoni Bowcher QUALIFIED
Leon V CaldareraFranceXuxue Feng UNQUALIFIED
Julie L CaudyItalyElwin Sharvill PROPOSAL
Aika H GlickUnited KingdomElwin Sharvill PROPOSAL
Deepesh I PerinItalyIoni Bowcher PROPOSAL
Misaki W SlusarskiFranceStephen Shaw NEGOTIATION
Alejandro Q RutaJapanOnyama Limba PROPOSAL
Francesco Y DoeSpainBernardo Dominic NEW
Octavia R CampainUnited KingdomAmy Elsner UNQUALIFIED
James N SlusarskiCanadaIoni Bowcher PROPOSAL
Aika J SergiSpainAnna Fali NEGOTIATION
Costa S BologniaGermanyAnna Fali QUALIFIED
Kaitlin G MarrierFranceElwin Sharvill NEGOTIATION
Mayumi Q InouyeUnited KingdomStephen Shaw NEW
Johnson J AmigonRussiaBernardo Dominic NEGOTIATION
Morrow R CaudyJapanIvan Magalhaes PROPOSAL
Maisha L WhobreyGermanyAsiya Javayant NEGOTIATION
Alejandro Q SergiCanadaAsiya Javayant RENEWAL
Leja A ButtCanadaOnyama Limba NEW
Silvio U KolmetzFranceAmy Elsner PROPOSAL
Smith N WhobreyUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo D SchemmerRussiaBernardo Dominic QUALIFIED
Costa X DilliardJapanElwin Sharvill UNQUALIFIED
Faith O BriddickJapanXuxue Feng UNQUALIFIED
Julie C ButtRussiaIvan Magalhaes NEW
Juan O StensethAustraliaAsiya Javayant NEW
Morrow Z ButtUnited KingdomAnna Fali NEW
Stacey E MorascaArgentinaAsiya Javayant PROPOSAL
David K SergiUnited KingdomIoni Bowcher QUALIFIED
Nicolas E BologniaGermanyXuxue Feng PROPOSAL
Aika O DoeItalyAmy Elsner PROPOSAL
Faith S SaylorsFranceOnyama Limba PROPOSAL
Octavia K StockhamCanadaBernardo Dominic QUALIFIED
Leon G WhobreyFranceAsiya Javayant QUALIFIED
Salvatore G PaprockiFranceAmy Elsner UNQUALIFIED
Clifford M RulapaughGermanyAnna Fali PROPOSAL
Misaki N CampainRussiaAsiya Javayant PROPOSAL
Murillo X MarrierAustraliaAmy Elsner NEGOTIATION
Rodrigues L StensethCanadaIvan Magalhaes QUALIFIED
Salvatore K WieserFranceStephen Shaw NEW
Tony C OldroydIndiaElwin Sharvill PROPOSAL
James E CampainUnited KingdomElwin Sharvill NEGOTIATION
Nicolas Y WieserSpainStephen Shaw UNQUALIFIED
Misaki G VocelkaAustraliaOnyama Limba PROPOSAL
Isabel A StensethAustraliaStephen Shaw NEGOTIATION
Salvatore K RulapaughRussiaAnna Fali NEW
Smith K InouyeCanadaElwin Sharvill NEGOTIATION
Kaitlin B SergiArgentinaAsiya Javayant PROPOSAL
Juan C KolmetzAustraliaAmy Elsner NEGOTIATION
Aditya D RutaUnited KingdomStephen Shaw RENEWAL
Frozen Columns
Name
Johnson U Paprocki
Tony W Briddick
Isabel I Amigon
Clifford S Foller
Costa E Ostrosky
Munro Z Maclead
Kadeem N Ruta
Claire T Tollner
Arvin Z Tollner
Emily W Morasca
Jefferson O Inouye
Alejandro J Glick
Maisha J Malet
Jennifer N Shinko
Antonio O Ferencz
Jennifer S Schemmer
Costa D Darakjy
Smith B Bolognia
Izzy U Butt
Deepesh E Darakjy
Wickens F Saylors
Ricardo Q Malet
Ivar D Marrier
Mujtaba M Albares
Octavia P Amigon
Jennifer Q Poquette
Francesco U Venere
Octavia S Tollner
Darci F Darakjy
Sinclair L Saylors
Jones B Nicka
Ashley P Caudy
Salvatore B Malet
Maria F Whobrey
Antonio G Whobrey
Tony V Marrier
Munro J Butt
Izzy R Gillian
Aika V Waycott
Nicolas Q Marrier
Sinclair Z Kusko
Mujtaba G Bowley
Wickens R Dilliard
James M Perin
Leja C Morasca
Rodrigues C Marrier
Aditya L Vocelka
Johnson H Ruta
Aika D Rulapaugh
Antonio E Figeroa
IdCountryDate
1000Japan2024-06-04
1001Italy2024-05-30
1002Australia2024-06-19
1003Japan2024-05-29
1004Japan2024-06-22
1005Australia2024-06-11
1006Brazil2024-06-12
1007Russia2024-05-31
1008Canada2024-06-09
1009Australia2024-06-02
1010India2024-06-21
1011Argentina2024-06-13
1012Germany2024-05-28
1013Germany2024-06-21
1014Russia2024-06-14
1015Australia2024-06-09
1016Japan2024-05-30
1017Australia2024-05-26
1018Italy2024-06-22
1019France2024-06-19
1020Germany2024-06-21
1021Argentina2024-06-04
1022France2024-06-24
1023France2024-06-06
1024Brazil2024-06-07
1025Argentina2024-06-20
1026Argentina2024-05-29
1027Australia2024-06-17
1028Canada2024-06-15
1029Japan2024-06-15
1030Italy2024-06-21
1031Spain2024-06-08
1032Italy2024-05-26
1033Canada2024-06-22
1034Russia2024-05-28
1035Argentina2024-06-05
1036India2024-06-07
1037Italy2024-06-07
1038Russia2024-06-15
1039Australia2024-05-28
1040Japan2024-06-01
1041United Kingdom2024-06-12
1042Germany2024-06-08
1043United Kingdom2024-06-22
1044Japan2024-05-29
1045India2024-06-06
1046Italy2024-06-22
1047Russia2024-06-19
1048Australia2024-06-13
1049Russia2024-05-29

On-Demand Data

NameIdCountryDate
Aika K Marrier1000Australia2024-06-11
Murillo J Dilliard1001Canada2024-06-22
Mujtaba K Sergi1002France2024-06-02
Chavez I Bowley1003Japan2024-06-20
Leja D Kolmetz1004Japan2024-05-29
Johnson T Ruta1005Italy2024-06-22
Francesco G Ruta1006Japan2024-06-23
Kadeem B Gillian1007United Kingdom2024-05-28
Mujtaba R Kolmetz1008Australia2024-06-16
Wickens X Rulapaugh1009Spain2024-06-18
Mujtaba B Ruta1010Australia2024-05-30
Jeanfrancois T Kolmetz1011India2024-06-21
Leon E Flosi1012Argentina2024-05-31
Isabel P Stenseth1013Spain2024-06-01
Wickens G Marrier1014Spain2024-06-16
Maria K Stenseth1015Canada2024-05-31
Leja B Iturbide1016Italy2024-06-17
James A Venere1017Russia2024-06-07
Jones G Saylors1018Germany2024-06-17
Stacey V Garufi1019Brazil2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez I MaletItalyElwin Sharvill QUALIFIED
James I SlusarskiBrazilIoni Bowcher QUALIFIED
Mujtaba D SergiRussiaXuxue Feng NEW
Francesco K AmigonFranceAsiya Javayant PROPOSAL
Ricardo L RoysterUnited KingdomAnna Fali UNQUALIFIED
Maisha J FollerRussiaBernardo Dominic PROPOSAL
Greenwood X FerenczGermanyAnna Fali NEW
Deepesh F PaprockiJapanStephen Shaw PROPOSAL
Silvio W RoysterIndiaIvan Magalhaes PROPOSAL
Kaitlin A CaldareraCanadaAnna Fali QUALIFIED
Alejandro L BologniaArgentinaXuxue Feng UNQUALIFIED
Ivar B WhobreyItalyStephen Shaw NEW
Greenwood N BriddickItalyBernardo Dominic PROPOSAL
Jefferson J SchemmerCanadaXuxue Feng PROPOSAL
Juan I ButtGermanyAnna Fali NEW
James V PoquetteFranceOnyama Limba NEW
Jefferson E DarakjyRussiaElwin Sharvill PROPOSAL
Leon P ButtRussiaElwin Sharvill UNQUALIFIED
Kaitlin F DoeItalyXuxue Feng UNQUALIFIED
Tony Y MarrierRussiaIvan Magalhaes RENEWAL
Maisha N TollnerAustraliaXuxue Feng QUALIFIED
Juan H DilliardIndiaIoni Bowcher UNQUALIFIED
Johnson P WaycottSpainXuxue Feng RENEWAL
Clifford Z VocelkaGermanyOnyama Limba RENEWAL
Jeanfrancois T GlickItalyBernardo Dominic RENEWAL
Nicolas N PoquetteBrazilElwin Sharvill UNQUALIFIED
Kaitlin K WieserAustraliaBernardo Dominic RENEWAL
Ivar T CampainCanadaElwin Sharvill PROPOSAL
Mayumi C IturbideJapanAmy Elsner UNQUALIFIED
Leja N TollnerRussiaBernardo Dominic PROPOSAL
Deepesh Z MorascaGermanyOnyama Limba PROPOSAL
Izzy D SergiCanadaAnna Fali UNQUALIFIED
Jones K IturbideAustraliaIvan Magalhaes NEGOTIATION
Octavia Q BriddickRussiaIoni Bowcher PROPOSAL
Deepesh O PoquetteUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues I CampainFranceStephen Shaw NEW
Emily H SlusarskiRussiaElwin Sharvill NEGOTIATION
Aditya O RimFranceBernardo Dominic QUALIFIED
Aika Z GlickCanadaAnna Fali RENEWAL
Antonio S SchemmerIndiaAnna Fali RENEWAL

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