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 CaudyIndiaBernardo Dominic UNQUALIFIED
Sinclair V NickaRussiaAsiya Javayant UNQUALIFIED
Ricardo R FerenczRussiaIoni Bowcher UNQUALIFIED
Costa H GarufiAustraliaIvan Magalhaes PROPOSAL
Isabel B CaldareraSpainAnna Fali QUALIFIED
Francesco K PoquetteSpainBernardo Dominic NEW
Tony V CampainFranceBernardo Dominic NEW
Misaki O CampainCanadaIoni Bowcher QUALIFIED
Adams O SchemmerItalyBernardo Dominic PROPOSAL
Antonio V MorascaUnited KingdomIvan Magalhaes RENEWAL
Murillo H WhobreySpainOnyama Limba UNQUALIFIED
Chavez X CaldareraAustraliaAmy Elsner UNQUALIFIED
Leon R FollerRussiaElwin Sharvill RENEWAL
Mujtaba J ButtRussiaXuxue Feng PROPOSAL
Johnson T GarufiSpainOnyama Limba QUALIFIED
Leja G MorascaArgentinaAnna Fali NEGOTIATION
Claire D WaycottArgentinaAnna Fali NEW
Arvin C BriddickArgentinaAmy Elsner NEGOTIATION
David G DilliardUnited KingdomXuxue Feng UNQUALIFIED
Ivar Q MacleadIndiaAsiya Javayant UNQUALIFIED
Salvatore V PerinIndiaIoni Bowcher UNQUALIFIED
Francesco X GlickArgentinaAmy Elsner NEGOTIATION
Isabel D NickaSpainAnna Fali UNQUALIFIED
Munro T SaylorsItalyIvan Magalhaes PROPOSAL
Deepesh Y OstroskyAustraliaElwin Sharvill PROPOSAL
Francesco D WieserRussiaXuxue Feng NEGOTIATION
Francesco W ButtSpainIvan Magalhaes NEW
Emily V KuskoFranceStephen Shaw NEGOTIATION
Wickens K BowleyJapanBernardo Dominic UNQUALIFIED
Salvatore B OstroskyAustraliaXuxue Feng NEGOTIATION
Sinclair L WaycottBrazilXuxue Feng PROPOSAL
Sinclair V FlosiRussiaAmy Elsner PROPOSAL
Ivar Y MaletAustraliaIoni Bowcher QUALIFIED
Ashley R DilliardCanadaStephen Shaw NEW
Nicolas G SchemmerFranceIvan Magalhaes NEGOTIATION
Juan R BriddickFranceBernardo Dominic PROPOSAL
Kaitlin O WhobreyRussiaBernardo Dominic RENEWAL
Jones F NestleUnited KingdomIoni Bowcher NEW
Jennifer X ButtFranceStephen Shaw RENEWAL
Jefferson O AmigonBrazilIvan Magalhaes PROPOSAL
Kaitlin Y SaylorsItalyIoni Bowcher UNQUALIFIED
Jeanfrancois L AmigonRussiaStephen Shaw UNQUALIFIED
Antonio M PoquetteSpainElwin Sharvill NEGOTIATION
James W MaletUnited KingdomBernardo Dominic NEW
Maria C MarrierAustraliaAmy Elsner PROPOSAL
Costa G ChuiJapanStephen Shaw UNQUALIFIED
Darci B KolmetzItalyIoni Bowcher QUALIFIED
Francesco L RulapaughGermanyStephen Shaw NEW
Morrow E NickaItalyStephen Shaw NEW
Darci J MaletBrazilBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kaitlin H CaldareraJapanOnyama Limba PROPOSAL
Greenwood Y DoeArgentinaStephen Shaw UNQUALIFIED
Stacey Y ButtItalyStephen Shaw NEGOTIATION
Jennifer W VenereIndiaAnna Fali NEW
Jones B CaldareraGermanyStephen Shaw NEW
David V ChuiGermanyOnyama Limba QUALIFIED
Arvin B MaletGermanyStephen Shaw RENEWAL
Murillo I RimRussiaElwin Sharvill PROPOSAL
Cody O BologniaSpainAmy Elsner NEW
Greenwood S KuskoGermanyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow R OldroydAustralia2026-08-29Truhlar And Truhlar Attys NEGOTIATION76Xuxue Feng
1001Leon U MacleadFrance2026-08-29Rangoni Of Florence NEW31Anna Fali
1002Cody Z BriddickUnited Kingdom2026-08-24King, Christopher A Esq PROPOSAL43Xuxue Feng
1003Smith D VenereGermany2026-08-15Commercial Press NEGOTIATION9Xuxue Feng
1004Murillo H MorascaArgentina2026-08-02King, Christopher A Esq UNQUALIFIED26Stephen Shaw
1005Isabel I ChuiAustralia2026-08-28Chemel, James L Cpa NEW40Elwin Sharvill
1006Salvatore V GlickJapan2026-08-16Feltz Printing Service PROPOSAL78Onyama Limba
1007Deepesh U WhobreyRussia2026-08-17Chanay, Jeffrey A Esq PROPOSAL49Ioni Bowcher
1008Julie U WhobreyRussia2026-08-24Printing Dimensions UNQUALIFIED25Ivan Magalhaes
1009Jeanfrancois H TollnerAustralia2026-08-25Chanay, Jeffrey A Esq UNQUALIFIED94Onyama Limba
1010Antonio A ChuiAustralia2026-08-19Truhlar And Truhlar Attys NEW89Onyama Limba
1011Wickens Q InouyeAustralia2026-07-31Feltz Printing Service NEW41Anna Fali
1012Mujtaba I SaylorsItaly2026-08-27King, Christopher A Esq RENEWAL30Elwin Sharvill
1013Jeanfrancois T MaletArgentina2026-08-27Chapman, Ross E Esq NEW30Elwin Sharvill
1014Julie U NestleIndia2026-08-25King, Christopher A Esq NEGOTIATION70Stephen Shaw
1015Chavez Y BologniaUnited Kingdom2026-08-22Truhlar And Truhlar Attys NEGOTIATION63Stephen Shaw
1016Aruna S GarufiAustralia2026-08-27Buckley Miller Wright NEGOTIATION89Ivan Magalhaes
1017Ashley G AlbaresCanada2026-08-17Feiner Bros RENEWAL93Anna Fali
1018Stacey Q SaylorsRussia2026-08-04Rousseaux, Michael Esq QUALIFIED74Elwin Sharvill
1019Wickens D CaudyJapan2026-08-07Benton, John B Jr QUALIFIED49Asiya Javayant
1020Julie R CaudyRussia2026-08-26Chapman, Ross E Esq NEGOTIATION0Onyama Limba
1021Aruna E BowleyUnited Kingdom2026-08-04Benton, John B Jr NEW15Ioni Bowcher
1022Faith B DilliardJapan2026-08-09Rousseaux, Michael Esq QUALIFIED40Onyama Limba
1023Faith V SaylorsUnited Kingdom2026-08-24Chapman, Ross E Esq NEW9Stephen Shaw
1024Julie Y OstroskySpain2026-08-23Commercial Press UNQUALIFIED42Onyama Limba
1025Antonio Z IturbideIndia2026-08-23Chanay, Jeffrey A Esq UNQUALIFIED94Anna Fali
1026Leja C VocelkaSpain2026-08-03Chemel, James L Cpa QUALIFIED71Ioni Bowcher
1027Mujtaba M NickaArgentina2026-07-31Printing Dimensions PROPOSAL62Ioni Bowcher
1028Smith D PaprockiCanada2026-08-13Truhlar And Truhlar Attys NEW8Onyama Limba
1029Kaitlin J OldroydArgentina2026-08-13Rangoni Of Florence PROPOSAL95Ivan Magalhaes
1030Cody B CampainCanada2026-08-19Feltz Printing Service RENEWAL50Xuxue Feng
1031Morrow C RimIndia2026-08-25Benton, John B Jr NEW43Ivan Magalhaes
1032Francesco F SlusarskiUnited Kingdom2026-08-29Feltz Printing Service UNQUALIFIED67Xuxue Feng
1033Maisha V BriddickCanada2026-08-29Chemel, James L Cpa NEGOTIATION19Elwin Sharvill
1034Johnson D KolmetzItaly2026-08-06Truhlar And Truhlar Attys QUALIFIED70Bernardo Dominic
1035Cody E KuskoItaly2026-08-10Printing Dimensions NEW33Onyama Limba
1036Wickens I StockhamRussia2026-08-24Rousseaux, Michael Esq RENEWAL2Stephen Shaw
1037Izzy Y SergiItaly2026-08-12King, Christopher A Esq NEW33Asiya Javayant
1038Smith T AlbaresBrazil2026-08-02Buckley Miller Wright QUALIFIED38Amy Elsner
1039Cody S RoysterRussia2026-08-22Printing Dimensions RENEWAL45Bernardo Dominic
1040Mayumi T MaletCanada2026-08-06Chapman, Ross E Esq QUALIFIED94Anna Fali
1041Murillo N WaycottBrazil2026-08-12Rousseaux, Michael Esq PROPOSAL73Ioni Bowcher
1042Deepesh T CaudyItaly2026-08-28Chanay, Jeffrey A Esq PROPOSAL49Ivan Magalhaes
1043Murillo J FigeroaCanada2026-08-16Printing Dimensions NEGOTIATION25Xuxue Feng
1044Adams D DilliardArgentina2026-08-05Printing Dimensions NEGOTIATION42Xuxue Feng
1045Misaki I BowleyIndia2026-08-08Feltz Printing Service NEGOTIATION80Xuxue Feng
1046Julie J IturbideBrazil2026-08-03Chapman, Ross E Esq NEGOTIATION44Asiya Javayant
1047Misaki D ChuiUnited Kingdom2026-08-16Buckley Miller Wright PROPOSAL88Xuxue Feng
1048Cody I FollerItaly2026-08-06Dorl, James J Esq NEGOTIATION20Stephen Shaw
1049Jones X GlickBrazil2026-08-13Chanay, Jeffrey A Esq NEW4Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jefferson C RulapaughSpainBernardo Dominic NEGOTIATION
Emily D OldroydAustraliaAmy Elsner QUALIFIED
Chavez O KuskoSpainXuxue Feng QUALIFIED
Rodrigues T PerinGermanyStephen Shaw PROPOSAL
Maisha O RimJapanXuxue Feng RENEWAL
Jefferson H WieserAustraliaAnna Fali RENEWAL
Costa F ChuiGermanyStephen Shaw NEGOTIATION
Murillo H VenereItalyAnna Fali RENEWAL
Jeanfrancois W DarakjyArgentinaElwin Sharvill PROPOSAL
Aditya I NickaGermanyAmy Elsner QUALIFIED
Salvatore Q AlbaresGermanyStephen Shaw NEW
Ivar P FollerFranceBernardo Dominic NEW
Octavia R FlosiCanadaIvan Magalhaes NEW
David Q FollerArgentinaIvan Magalhaes NEGOTIATION
Octavia R RutaCanadaOnyama Limba QUALIFIED
Clifford W FigeroaArgentinaIvan Magalhaes RENEWAL
Darci V AmigonJapanAmy Elsner RENEWAL
Cody R PaprockiGermanyElwin Sharvill NEW
Smith I VocelkaSpainAmy Elsner NEGOTIATION
Jones Q GillianFranceAmy Elsner PROPOSAL
Rodrigues P WhobreyGermanyAsiya Javayant NEGOTIATION
Jeanfrancois Y FerenczItalyIoni Bowcher NEGOTIATION
Nicolas E WieserBrazilAmy Elsner NEGOTIATION
David R PerinFranceOnyama Limba QUALIFIED
Misaki Q ChuiFranceAsiya Javayant NEGOTIATION
Jefferson Y SaylorsSpainOnyama Limba PROPOSAL
Sinclair A RoysterRussiaIvan Magalhaes PROPOSAL
Greenwood Y GarufiFranceXuxue Feng PROPOSAL
Jennifer M GarufiSpainIoni Bowcher QUALIFIED
Aruna U SergiSpainIvan Magalhaes RENEWAL
Adams R TollnerUnited KingdomBernardo Dominic PROPOSAL
Emily N AmigonItalyAnna Fali PROPOSAL
Julie X CaudyArgentinaOnyama Limba QUALIFIED
Aditya R SchemmerBrazilIoni Bowcher UNQUALIFIED
Mayumi G WhobreyItalyIvan Magalhaes QUALIFIED
Smith Z DoeIndiaIvan Magalhaes NEW
Adams N KuskoRussiaIvan Magalhaes PROPOSAL
Rodrigues M MaletGermanyElwin Sharvill UNQUALIFIED
Johnson Y BriddickCanadaAnna Fali PROPOSAL
Alejandro Y WhobreyBrazilAmy Elsner NEGOTIATION
Leon W BriddickRussiaXuxue Feng NEW
Emily M VenereBrazilIoni Bowcher NEGOTIATION
Ashley H AmigonGermanyStephen Shaw RENEWAL
Smith O CaudyBrazilIoni Bowcher UNQUALIFIED
Aditya H MacleadAustraliaIoni Bowcher NEGOTIATION
Rodrigues O FigeroaRussiaAmy Elsner UNQUALIFIED
Deepesh E SlusarskiItalyIvan Magalhaes NEGOTIATION
Isabel M FigeroaCanadaXuxue Feng NEW
Francesco N TollnerIndiaElwin Sharvill UNQUALIFIED
Aika Y MorascaArgentinaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Darci R Slusarski
Deepesh Z Gillian
Aruna K Gaucho
Ricardo N Doe
Ricardo T Caldarera
Maisha Q Stockham
Octavia O Poquette
Misaki D Inouye
Stacey M Glick
Aika F Caudy
Mujtaba R Malet
Nicolas L Wieser
Kaitlin F Oldroyd
Adams D Shinko
Kadeem H Kusko
James Y Ferencz
Murillo A Darakjy
Murillo I Rim
Kadeem M Vocelka
Leon S Dilliard
Octavia C Tollner
Morrow R Malet
Adams I Perin
Izzy B Malet
Arvin Y Nestle
Julie M Whobrey
Ivar J Kusko
Munro D Gaucho
Maria M Sergi
Aika S Kusko
Costa O Royster
Maisha M Kusko
Kaitlin B Perin
Kaitlin O Waycott
Emily E Saylors
Maisha O Kusko
Misaki I Foller
Leon U Rulapaugh
Costa U Stenseth
Aruna X Amigon
Morrow K Caldarera
Murillo D Ostrosky
Juan Y Rim
Kadeem K Marrier
Jones V Slusarski
Ashley E Rim
Munro G Bolognia
Antonio K Tollner
Sinclair V Chui
Mujtaba Y Vocelka
IdCountryDate
1000France2026-08-05
1001Japan2026-08-01
1002Japan2026-08-18
1003Canada2026-08-05
1004France2026-08-27
1005India2026-08-15
1006Australia2026-08-23
1007France2026-08-24
1008Spain2026-08-25
1009Australia2026-08-15
1010Japan2026-08-21
1011Australia2026-08-17
1012Argentina2026-08-13
1013Argentina2026-08-26
1014India2026-08-21
1015Germany2026-08-24
1016Italy2026-08-14
1017Italy2026-08-05
1018Germany2026-08-08
1019Germany2026-07-31
1020Russia2026-08-08
1021Argentina2026-08-15
1022Russia2026-08-19
1023Spain2026-08-23
1024Argentina2026-08-25
1025Japan2026-08-16
1026Japan2026-08-10
1027Argentina2026-08-27
1028France2026-08-07
1029Russia2026-08-21
1030Germany2026-07-31
1031United Kingdom2026-08-28
1032Italy2026-08-20
1033Spain2026-08-22
1034United Kingdom2026-08-20
1035Argentina2026-08-11
1036India2026-08-03
1037Russia2026-08-01
1038Spain2026-08-28
1039Germany2026-08-18
1040Australia2026-08-07
1041France2026-08-15
1042Japan2026-08-02
1043Russia2026-08-04
1044Canada2026-08-26
1045Russia2026-08-03
1046Japan2026-08-05
1047Japan2026-08-10
1048Russia2026-08-16
1049Russia2026-08-25

On-Demand Data

NameIdCountryDate
Greenwood X Waycott1000Italy2026-08-03
Francesco R Campain1001Italy2026-08-05
Rodrigues S Butt1002United Kingdom2026-08-26
Mujtaba V Kusko1003Japan2026-08-21
Jennifer B Dilliard1004Germany2026-08-25
Deepesh E Tollner1005Spain2026-08-26
Aika B Ostrosky1006Italy2026-08-07
Antonio N Figeroa1007United Kingdom2026-08-08
Tony B Flosi1008Canada2026-08-26
Johnson I Rim1009United Kingdom2026-08-12
Juan I Sergi1010Brazil2026-08-23
James E Venere1011Brazil2026-08-03
Mayumi M Darakjy1012Japan2026-08-24
Cody M Perin1013Argentina2026-08-18
Stacey O Stockham1014Argentina2026-08-23
Cody L Briddick1015Canada2026-08-25
Kadeem F Rim1016Japan2026-08-09
Morrow V Kolmetz1017Germany2026-08-20
Alejandro A Slusarski1018Argentina2026-08-06
Aruna T Amigon1019Russia2026-08-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy Q KolmetzAustraliaAsiya Javayant RENEWAL
Ashley L FigeroaAustraliaAsiya Javayant PROPOSAL
James V BologniaJapanAnna Fali PROPOSAL
Faith F NestleJapanElwin Sharvill NEW
Izzy W FlosiIndiaStephen Shaw PROPOSAL
Wickens Y ShinkoBrazilBernardo Dominic PROPOSAL
Arvin S IturbideRussiaXuxue Feng NEGOTIATION
Julie P PerinArgentinaElwin Sharvill NEW
Munro Q PerinFranceXuxue Feng PROPOSAL
Aika W WieserArgentinaIoni Bowcher PROPOSAL
Kaitlin Y WhobreyRussiaOnyama Limba UNQUALIFIED
Chavez K ChuiArgentinaStephen Shaw RENEWAL
Aika Q ShinkoUnited KingdomAmy Elsner NEGOTIATION
Claire K FerenczArgentinaAmy Elsner QUALIFIED
Adams D IturbideArgentinaOnyama Limba RENEWAL
Sinclair L FigeroaUnited KingdomAnna Fali RENEWAL
Rodrigues E MarrierGermanyElwin Sharvill NEGOTIATION
Ricardo J MarrierFranceAsiya Javayant NEGOTIATION
Costa P RulapaughItalyIvan Magalhaes NEGOTIATION
Emily L MaletIndiaElwin Sharvill PROPOSAL
Aika U MorascaAustraliaAsiya Javayant PROPOSAL
Smith V StensethSpainIvan Magalhaes PROPOSAL
Jones R DilliardUnited KingdomAnna Fali PROPOSAL
Ivar T IturbideRussiaIvan Magalhaes QUALIFIED
Faith S BriddickAustraliaIvan Magalhaes NEGOTIATION
Claire S BowleySpainAnna Fali UNQUALIFIED
Mujtaba M SergiBrazilIvan Magalhaes NEW
Cody M WhobreyAustraliaAnna Fali PROPOSAL
Isabel W FlosiRussiaAnna Fali RENEWAL
Maisha Y ChuiIndiaOnyama Limba NEGOTIATION
Aruna Z SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Adams E FerenczGermanyXuxue Feng QUALIFIED
Silvio E DoeArgentinaOnyama Limba QUALIFIED
Emily L MaletUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro K GarufiCanadaAsiya Javayant NEGOTIATION
Octavia O TollnerSpainAsiya Javayant QUALIFIED
Ashley D PoquetteGermanyBernardo Dominic NEW
Octavia Z StockhamIndiaElwin Sharvill NEW
Cody F SaylorsCanadaIvan Magalhaes RENEWAL
Maria O CampainUnited KingdomBernardo Dominic 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>