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
Emily E BriddickArgentinaAmy Elsner QUALIFIED
Claire T StensethBrazilIoni Bowcher UNQUALIFIED
Jennifer O MacleadRussiaAsiya Javayant UNQUALIFIED
Leja V WieserIndiaStephen Shaw RENEWAL
Aditya A KolmetzRussiaStephen Shaw RENEWAL
Antonio V MorascaFranceIvan Magalhaes RENEWAL
Clifford F SergiIndiaXuxue Feng PROPOSAL
Sinclair T AlbaresUnited KingdomIoni Bowcher PROPOSAL
Sinclair P DilliardSpainAsiya Javayant PROPOSAL
Silvio E GillianBrazilIvan Magalhaes RENEWAL
Stacey Y OstroskyUnited KingdomAmy Elsner NEGOTIATION
James F GauchoIndiaStephen Shaw QUALIFIED
Ashley M RutaCanadaAsiya Javayant PROPOSAL
Aruna R VenereFranceElwin Sharvill NEGOTIATION
Greenwood Z CaudyIndiaAsiya Javayant RENEWAL
Jennifer E PoquetteGermanyAnna Fali NEGOTIATION
Deepesh Z RimIndiaBernardo Dominic NEW
Maisha M CampainIndiaAsiya Javayant QUALIFIED
Octavia E GlickRussiaOnyama Limba RENEWAL
Morrow J NestleIndiaOnyama Limba UNQUALIFIED
Jennifer V AmigonItalyOnyama Limba NEGOTIATION
Ashley I SergiIndiaStephen Shaw PROPOSAL
Arvin A WhobreyIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois N PoquetteAustraliaAnna Fali UNQUALIFIED
Alejandro A CaldareraBrazilXuxue Feng NEGOTIATION
Antonio Y FlosiAustraliaElwin Sharvill UNQUALIFIED
Costa D GillianRussiaStephen Shaw NEGOTIATION
Aruna I AmigonUnited KingdomIoni Bowcher QUALIFIED
David D GarufiIndiaXuxue Feng NEW
Jeanfrancois G GarufiRussiaStephen Shaw RENEWAL
Leon Q CaldareraGermanyOnyama Limba NEGOTIATION
Stacey X SergiBrazilIvan Magalhaes QUALIFIED
Kadeem K WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues T RutaCanadaElwin Sharvill UNQUALIFIED
Antonio L FigeroaArgentinaXuxue Feng UNQUALIFIED
Smith Z KuskoRussiaAmy Elsner UNQUALIFIED
Antonio F GauchoAustraliaAsiya Javayant NEW
Julie U RimSpainAnna Fali NEGOTIATION
Sinclair Q SlusarskiFranceOnyama Limba NEW
Deepesh K SchemmerJapanXuxue Feng NEGOTIATION
Stacey O FlosiJapanStephen Shaw RENEWAL
Emily E MaletGermanyAsiya Javayant NEW
Maisha Z PerinIndiaBernardo Dominic UNQUALIFIED
Silvio M GarufiIndiaStephen Shaw RENEWAL
Isabel R RoysterAustraliaIvan Magalhaes QUALIFIED
Kaitlin F VocelkaUnited KingdomElwin Sharvill RENEWAL
Chavez J WhobreyGermanyAnna Fali NEW
Rodrigues N SergiCanadaAmy Elsner NEGOTIATION
Mayumi H RulapaughCanadaAmy Elsner NEW
Isabel V CampainRussiaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens O AmigonAustraliaOnyama Limba PROPOSAL
Darci Q RutaCanadaAsiya Javayant UNQUALIFIED
Juan A StensethFranceStephen Shaw QUALIFIED
Darci W KuskoArgentinaAmy Elsner PROPOSAL
Smith N AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin O CaldareraSpainElwin Sharvill NEGOTIATION
Juan M MarrierIndiaIoni Bowcher QUALIFIED
Ricardo E PoquetteItalyElwin Sharvill UNQUALIFIED
Aditya E DoeBrazilAsiya Javayant NEGOTIATION
Jeanfrancois M SlusarskiSpainAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones I InouyeSpain2024-04-29Rangoni Of Florence QUALIFIED6Amy Elsner
1001Julie R WaycottIndia2024-05-24Rousseaux, Michael Esq NEGOTIATION90Ivan Magalhaes
1002Ricardo M WieserCanada2024-04-28Chanay, Jeffrey A Esq UNQUALIFIED48Anna Fali
1003Octavia R BowleyRussia2024-05-09Truhlar And Truhlar Attys UNQUALIFIED12Bernardo Dominic
1004Kadeem E WaycottRussia2024-04-28Commercial Press PROPOSAL22Stephen Shaw
1005Tony V RutaIndia2024-05-19Morlong Associates RENEWAL53Ivan Magalhaes
1006Leon B RimItaly2024-05-10Rangoni Of Florence PROPOSAL49Ivan Magalhaes
1007Deepesh Y IturbideArgentina2024-05-17Rousseaux, Michael Esq NEW60Onyama Limba
1008Maisha Y MaletCanada2024-05-25Commercial Press PROPOSAL75Stephen Shaw
1009Julie K FlosiFrance2024-05-05Rangoni Of Florence PROPOSAL96Amy Elsner
1010Smith L WhobreyCanada2024-05-06Morlong Associates NEGOTIATION59Elwin Sharvill
1011Misaki U RutaFrance2024-05-19Buckley Miller Wright NEGOTIATION90Ivan Magalhaes
1012Nicolas H GarufiIndia2024-05-02Morlong Associates NEGOTIATION92Asiya Javayant
1013Jeanfrancois I RulapaughGermany2024-05-10Chapman, Ross E Esq PROPOSAL54Bernardo Dominic
1014Cody G OstroskyArgentina2024-05-10Chapman, Ross E Esq RENEWAL63Elwin Sharvill
1015Jeanfrancois H WhobreyItaly2024-05-23King, Christopher A Esq UNQUALIFIED40Bernardo Dominic
1016Clifford S BologniaIndia2024-05-01Commercial Press UNQUALIFIED80Asiya Javayant
1017Ashley J OldroydAustralia2024-05-13Feiner Bros NEGOTIATION4Anna Fali
1018Julie I FlosiGermany2024-05-15Buckley Miller Wright NEW57Asiya Javayant
1019Izzy A BowleyUnited Kingdom2024-05-20Feltz Printing Service RENEWAL49Elwin Sharvill
1020Mayumi K CampainGermany2024-05-25Buckley Miller Wright QUALIFIED6Asiya Javayant
1021Wickens W KolmetzFrance2024-04-29Benton, John B Jr UNQUALIFIED68Ivan Magalhaes
1022Nicolas C StensethArgentina2024-05-05Chemel, James L Cpa PROPOSAL29Ivan Magalhaes
1023Cody L VenereBrazil2024-05-21Dorl, James J Esq PROPOSAL47Amy Elsner
1024Aruna X BologniaUnited Kingdom2024-05-16Buckley Miller Wright RENEWAL94Elwin Sharvill
1025Kadeem H OstroskySpain2024-04-28Chemel, James L Cpa PROPOSAL13Elwin Sharvill
1026Misaki E GauchoAustralia2024-05-09King, Christopher A Esq NEW9Onyama Limba
1027Stacey C RoysterUnited Kingdom2024-05-08Chanay, Jeffrey A Esq NEW58Bernardo Dominic
1028Misaki K WieserRussia2024-05-16Chapman, Ross E Esq PROPOSAL47Elwin Sharvill
1029Murillo D SergiJapan2024-05-22Feiner Bros PROPOSAL28Asiya Javayant
1030Juan K WieserRussia2024-04-28Morlong Associates UNQUALIFIED84Onyama Limba
1031Greenwood B CampainItaly2024-05-07Rangoni Of Florence QUALIFIED87Stephen Shaw
1032Clifford N StockhamArgentina2024-05-18Rangoni Of Florence PROPOSAL59Bernardo Dominic
1033Clifford X CaldareraCanada2024-05-11Dorl, James J Esq NEGOTIATION75Xuxue Feng
1034Aditya C MorascaItaly2024-05-11Chemel, James L Cpa PROPOSAL92Stephen Shaw
1035Jeanfrancois J SchemmerArgentina2024-04-30Printing Dimensions NEW83Stephen Shaw
1036Sinclair F MacleadAustralia2024-05-18Chapman, Ross E Esq RENEWAL94Ioni Bowcher
1037Nicolas F StensethItaly2024-05-20Benton, John B Jr PROPOSAL94Ivan Magalhaes
1038David P SchemmerAustralia2024-05-03Dorl, James J Esq UNQUALIFIED14Bernardo Dominic
1039Nicolas W SchemmerGermany2024-04-29Buckley Miller Wright NEGOTIATION46Asiya Javayant
1040Leon T PoquetteSpain2024-05-03Rangoni Of Florence QUALIFIED93Xuxue Feng
1041Clifford R AlbaresJapan2024-05-16Printing Dimensions NEW65Stephen Shaw
1042Izzy P DoeJapan2024-05-20Dorl, James J Esq NEGOTIATION21Ioni Bowcher
1043Jeanfrancois Y TollnerSpain2024-05-14Chanay, Jeffrey A Esq PROPOSAL25Bernardo Dominic
1044Claire K MaletJapan2024-05-11Chemel, James L Cpa PROPOSAL20Xuxue Feng
1045Deepesh B DoeGermany2024-04-29King, Christopher A Esq UNQUALIFIED61Bernardo Dominic
1046Alejandro N VocelkaArgentina2024-05-10Chapman, Ross E Esq QUALIFIED36Ioni Bowcher
1047Jennifer K BowleyGermany2024-05-06Dorl, James J Esq NEGOTIATION60Anna Fali
1048Chavez C RutaIndia2024-05-02Commercial Press UNQUALIFIED56Elwin Sharvill
1049Greenwood X FollerIndia2024-05-19Benton, John B Jr RENEWAL12Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Antonio E GauchoGermanyAnna Fali NEW
Tony X BowleyRussiaBernardo Dominic NEW
Clifford U RimGermanyIvan Magalhaes PROPOSAL
Claire I GlickIndiaAmy Elsner RENEWAL
Jennifer S BologniaRussiaAnna Fali PROPOSAL
Jefferson N RimRussiaIoni Bowcher RENEWAL
Mujtaba F GillianAustraliaAnna Fali QUALIFIED
Cody A SergiJapanXuxue Feng NEGOTIATION
Murillo O MaletBrazilAmy Elsner NEW
Juan P SlusarskiBrazilElwin Sharvill PROPOSAL
Salvatore F ShinkoJapanOnyama Limba RENEWAL
Rodrigues P SaylorsJapanAsiya Javayant NEGOTIATION
Kaitlin V KolmetzGermanyAnna Fali NEGOTIATION
Sinclair H PaprockiItalyIvan Magalhaes PROPOSAL
Jefferson C RimBrazilStephen Shaw RENEWAL
Julie Z BriddickRussiaIvan Magalhaes UNQUALIFIED
Julie O OldroydArgentinaAmy Elsner QUALIFIED
Ashley X AmigonIndiaAnna Fali NEGOTIATION
Maisha F CampainArgentinaBernardo Dominic RENEWAL
Stacey R MarrierGermanyAsiya Javayant RENEWAL
Isabel B OstroskyCanadaStephen Shaw QUALIFIED
Deepesh C FerenczCanadaOnyama Limba PROPOSAL
Maria Q TollnerJapanIoni Bowcher NEW
Leja T VocelkaItalyIvan Magalhaes UNQUALIFIED
Julie E RulapaughItalyBernardo Dominic NEGOTIATION
Wickens J NestleBrazilBernardo Dominic PROPOSAL
Cody P TollnerCanadaXuxue Feng NEW
Emily L MacleadArgentinaBernardo Dominic QUALIFIED
Maisha H GauchoIndiaAnna Fali PROPOSAL
Emily J DarakjyCanadaAsiya Javayant PROPOSAL
Salvatore T SergiBrazilBernardo Dominic QUALIFIED
Clifford I KolmetzSpainXuxue Feng QUALIFIED
Isabel O AlbaresItalyStephen Shaw NEGOTIATION
Aika C CaldareraItalyElwin Sharvill QUALIFIED
Rodrigues Y FigeroaRussiaIoni Bowcher NEW
Kaitlin E PerinSpainAmy Elsner RENEWAL
Smith J PaprockiRussiaBernardo Dominic QUALIFIED
Clifford E MacleadUnited KingdomAmy Elsner NEW
Stacey A BologniaGermanyAsiya Javayant NEGOTIATION
Adams F DarakjyUnited KingdomOnyama Limba NEGOTIATION
Francesco Z FollerCanadaElwin Sharvill QUALIFIED
Julie W FollerJapanElwin Sharvill UNQUALIFIED
Ivar H StensethCanadaBernardo Dominic RENEWAL
Johnson Q FollerCanadaAsiya Javayant PROPOSAL
Aditya C StockhamRussiaIoni Bowcher RENEWAL
Misaki T WieserSpainAmy Elsner QUALIFIED
Stacey D NickaSpainIoni Bowcher PROPOSAL
Cody W NickaCanadaOnyama Limba QUALIFIED
James X CaudyCanadaIoni Bowcher NEW
Greenwood M NestleCanadaOnyama Limba RENEWAL
Frozen Columns
Name
Leon Y Bolognia
Leja V Vocelka
Isabel L Malet
Antonio E Venere
Claire N Rim
Nicolas B Bolognia
Aruna R Nestle
Jennifer G Marrier
Cody D Bolognia
Izzy O Bowley
Adams M Paprocki
Ivar A Poquette
Leja E Venere
Darci K Campain
Deepesh V Poquette
Jefferson W Kolmetz
Antonio E Caldarera
Leja G Royster
Francesco M Glick
Silvio A Chui
Faith P Iturbide
Faith K Oldroyd
Cody Q Campain
Cody M Caudy
Jones Q Whobrey
Ricardo F Bowley
Nicolas R Tollner
Juan C Venere
Adams A Gillian
James B Ferencz
Ivar H Garufi
Isabel R Vocelka
Leon D Ostrosky
Nicolas F Iturbide
Cody K Gillian
Izzy M Inouye
Darci H Darakjy
Leon U Shinko
Julie P Ferencz
Tony K Campain
Johnson Y Tollner
Jones S Tollner
Munro I Royster
Maisha Y Slusarski
Aika D Bolognia
Faith K Flosi
Johnson V Gaucho
Misaki D Paprocki
Stacey P Bolognia
Faith J Malet
IdCountryDate
1000Argentina2024-05-02
1001India2024-05-07
1002Australia2024-05-11
1003Italy2024-05-22
1004Spain2024-05-14
1005Italy2024-05-21
1006Russia2024-05-27
1007Japan2024-05-03
1008Argentina2024-05-18
1009Australia2024-05-22
1010India2024-05-26
1011India2024-04-29
1012United Kingdom2024-05-26
1013Germany2024-05-04
1014Australia2024-05-26
1015Japan2024-05-15
1016Australia2024-05-16
1017France2024-05-08
1018Russia2024-05-13
1019Australia2024-05-11
1020Brazil2024-05-19
1021Canada2024-05-07
1022United Kingdom2024-05-13
1023Italy2024-05-22
1024Russia2024-04-28
1025Australia2024-05-15
1026Canada2024-05-13
1027Brazil2024-05-02
1028Brazil2024-05-12
1029Spain2024-05-16
1030France2024-04-30
1031Russia2024-05-26
1032Brazil2024-05-03
1033Australia2024-05-27
1034Canada2024-05-10
1035Argentina2024-05-10
1036Canada2024-05-11
1037France2024-05-24
1038Russia2024-05-22
1039Spain2024-05-08
1040Canada2024-05-12
1041Russia2024-05-18
1042Australia2024-04-28
1043Australia2024-05-26
1044Spain2024-05-13
1045Australia2024-05-05
1046Japan2024-05-10
1047Canada2024-05-24
1048Italy2024-05-03
1049Japan2024-05-04

On-Demand Data

NameIdCountryDate
Ricardo Z Iturbide1000Brazil2024-05-16
Sinclair P Flosi1001Australia2024-05-14
Claire B Shinko1002Canada2024-05-19
Jennifer J Iturbide1003Brazil2024-05-06
Faith D Caudy1004France2024-05-25
Rodrigues M Doe1005Italy2024-05-09
Tony M Amigon1006Argentina2024-05-02
Aruna A Shinko1007Brazil2024-05-19
Jones C Slusarski1008United Kingdom2024-05-26
Mujtaba V Bowley1009Italy2024-05-12
Jeanfrancois C Nicka1010Canada2024-05-10
Aika P Marrier1011Canada2024-05-20
Claire K Venere1012Brazil2024-05-13
Costa F Schemmer1013Australia2024-05-12
Ricardo P Gaucho1014Spain2024-05-13
Kadeem P Wieser1015United Kingdom2024-05-24
Mujtaba G Morasca1016Argentina2024-05-22
Adams B Caldarera1017Spain2024-05-13
Jones Z Garufi1018United Kingdom2024-05-18
Kaitlin C Chui1019United Kingdom2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley G TollnerAustraliaAnna Fali RENEWAL
Maisha W PaprockiFranceIoni Bowcher NEGOTIATION
Nicolas I DarakjyArgentinaOnyama Limba QUALIFIED
Kaitlin H MarrierGermanyAnna Fali PROPOSAL
Leon G VocelkaSpainOnyama Limba RENEWAL
Juan M GarufiAustraliaStephen Shaw PROPOSAL
Antonio K GauchoAustraliaAsiya Javayant NEGOTIATION
Costa N FigeroaSpainAmy Elsner NEGOTIATION
Kaitlin I CampainUnited KingdomAsiya Javayant PROPOSAL
Ricardo Y FlosiBrazilBernardo Dominic UNQUALIFIED
Stacey M PaprockiSpainAsiya Javayant NEW
Octavia L GarufiUnited KingdomElwin Sharvill PROPOSAL
Arvin G SlusarskiUnited KingdomIoni Bowcher PROPOSAL
David R DilliardArgentinaElwin Sharvill UNQUALIFIED
Rodrigues D MarrierArgentinaOnyama Limba RENEWAL
Kaitlin V SlusarskiRussiaAsiya Javayant PROPOSAL
Francesco A GillianBrazilIoni Bowcher QUALIFIED
Nicolas I GauchoArgentinaXuxue Feng NEGOTIATION
Ricardo O KuskoJapanStephen Shaw RENEWAL
Emily Z FerenczItalyBernardo Dominic UNQUALIFIED
Izzy T FigeroaCanadaElwin Sharvill UNQUALIFIED
Ricardo O TollnerBrazilBernardo Dominic UNQUALIFIED
Maisha U SergiSpainAmy Elsner UNQUALIFIED
Jeanfrancois K AlbaresCanadaBernardo Dominic NEW
Leja D StockhamAustraliaStephen Shaw NEGOTIATION
Sinclair D GauchoJapanAmy Elsner PROPOSAL
Rodrigues F DoeJapanOnyama Limba RENEWAL
Munro Q SchemmerIndiaAsiya Javayant RENEWAL
Aruna A StensethCanadaStephen Shaw NEW
Mujtaba F IturbideJapanIvan Magalhaes PROPOSAL
Darci Q MorascaArgentinaElwin Sharvill NEW
Munro H FerenczCanadaAnna Fali NEGOTIATION
Adams S RoysterSpainBernardo Dominic NEW
David T CampainFranceAsiya Javayant NEGOTIATION
Sinclair F RulapaughGermanyOnyama Limba QUALIFIED
Morrow H GillianGermanyIvan Magalhaes NEGOTIATION
Munro M IturbideFranceIvan Magalhaes NEW
Juan G FerenczIndiaAnna Fali UNQUALIFIED
Ricardo Y CaudyItalyStephen Shaw PROPOSAL
Wickens N SlusarskiArgentinaStephen Shaw 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>