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
Maisha U KuskoGermanyXuxue Feng UNQUALIFIED
Kadeem B MarrierUnited KingdomAnna Fali NEW
Murillo J DoeItalyIvan Magalhaes QUALIFIED
Ashley P WhobreyCanadaAsiya Javayant NEGOTIATION
Ashley X MacleadBrazilAmy Elsner UNQUALIFIED
Jennifer A CaldareraUnited KingdomXuxue Feng NEGOTIATION
Rodrigues S BriddickBrazilXuxue Feng NEGOTIATION
Mujtaba Q OldroydSpainAsiya Javayant PROPOSAL
Juan Y PaprockiCanadaIvan Magalhaes NEW
Alejandro E GarufiUnited KingdomAsiya Javayant PROPOSAL
Cody Z SergiSpainAmy Elsner QUALIFIED
Maisha N GarufiGermanyOnyama Limba QUALIFIED
Wickens W RulapaughArgentinaAnna Fali RENEWAL
Deepesh J GlickItalyAnna Fali NEW
Ashley V DoeAustraliaElwin Sharvill RENEWAL
Greenwood B MaletSpainAmy Elsner PROPOSAL
Maisha U RimAustraliaBernardo Dominic QUALIFIED
Clifford Q PoquetteArgentinaStephen Shaw NEGOTIATION
Ashley A SaylorsGermanyAnna Fali RENEWAL
James A SlusarskiSpainStephen Shaw UNQUALIFIED
Salvatore J GlickJapanBernardo Dominic NEGOTIATION
Deepesh N WaycottCanadaIvan Magalhaes UNQUALIFIED
Mujtaba B AmigonGermanyOnyama Limba UNQUALIFIED
Rodrigues G PoquetteArgentinaElwin Sharvill RENEWAL
Maria E StockhamBrazilOnyama Limba RENEWAL
David I MaletCanadaIvan Magalhaes PROPOSAL
Cody V DoeBrazilIoni Bowcher UNQUALIFIED
Maisha V ChuiAustraliaAsiya Javayant NEGOTIATION
Morrow V ChuiGermanyStephen Shaw NEW
Faith E SaylorsUnited KingdomOnyama Limba RENEWAL
Jeanfrancois Z SaylorsRussiaAmy Elsner NEGOTIATION
Maisha Y VocelkaJapanOnyama Limba PROPOSAL
Octavia R DarakjyAustraliaXuxue Feng UNQUALIFIED
Emily M GauchoBrazilBernardo Dominic QUALIFIED
Kaitlin G KuskoSpainAsiya Javayant NEW
Greenwood I DilliardBrazilStephen Shaw UNQUALIFIED
Nicolas R NestleAustraliaOnyama Limba UNQUALIFIED
Antonio F GarufiIndiaAmy Elsner UNQUALIFIED
Francesco J GlickCanadaIoni Bowcher PROPOSAL
Johnson P InouyeFranceStephen Shaw QUALIFIED
Ricardo Q NestleSpainBernardo Dominic UNQUALIFIED
James V KolmetzItalyIvan Magalhaes QUALIFIED
Leja K WieserRussiaIvan Magalhaes RENEWAL
Aruna C InouyeAustraliaAnna Fali QUALIFIED
Morrow Q TollnerAustraliaAnna Fali PROPOSAL
Silvio F FerenczSpainIoni Bowcher NEGOTIATION
James K OstroskyCanadaAmy Elsner NEW
Leja Q BologniaBrazilAmy Elsner RENEWAL
Faith U BriddickSpainElwin Sharvill UNQUALIFIED
Ricardo Q SchemmerArgentinaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria Y SchemmerItalyIoni Bowcher UNQUALIFIED
Arvin E DoeGermanyAsiya Javayant UNQUALIFIED
Julie R DarakjyRussiaOnyama Limba UNQUALIFIED
Costa Q SergiAustraliaIvan Magalhaes NEW
Salvatore X VenereIndiaIvan Magalhaes NEW
Nicolas V GillianItalyStephen Shaw QUALIFIED
Mayumi G MorascaAustraliaXuxue Feng QUALIFIED
Sinclair T NestleAustraliaIoni Bowcher QUALIFIED
Jones H DoeFranceIoni Bowcher PROPOSAL
Misaki H RimCanadaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez H NestleIndia2024-05-25King, Christopher A Esq NEW46Asiya Javayant
1001Stacey V DarakjyUnited Kingdom2024-06-08Commercial Press PROPOSAL92Xuxue Feng
1002Silvio D CaudyIndia2024-06-10King, Christopher A Esq UNQUALIFIED29Stephen Shaw
1003Silvio G RimItaly2024-06-15Printing Dimensions PROPOSAL45Ioni Bowcher
1004Ashley R MaletArgentina2024-06-04Chanay, Jeffrey A Esq NEW75Amy Elsner
1005Misaki I BologniaArgentina2024-06-07Truhlar And Truhlar Attys PROPOSAL76Ivan Magalhaes
1006Claire D BowleyAustralia2024-06-22Printing Dimensions QUALIFIED53Bernardo Dominic
1007Jones J WieserRussia2024-06-08Commercial Press RENEWAL42Asiya Javayant
1008Darci K MarrierRussia2024-06-13Chapman, Ross E Esq NEW79Bernardo Dominic
1009Nicolas L DarakjyAustralia2024-06-02Chapman, Ross E Esq NEGOTIATION13Elwin Sharvill
1010Deepesh D MarrierAustralia2024-05-28Commercial Press PROPOSAL79Bernardo Dominic
1011Morrow E AlbaresAustralia2024-06-19Chanay, Jeffrey A Esq NEW55Asiya Javayant
1012Misaki K ButtBrazil2024-06-01Buckley Miller Wright PROPOSAL81Xuxue Feng
1013Jeanfrancois R NestleGermany2024-06-04Benton, John B Jr UNQUALIFIED48Asiya Javayant
1014Darci E SaylorsJapan2024-05-31Rangoni Of Florence PROPOSAL49Asiya Javayant
1015Aika G RimAustralia2024-06-01Dorl, James J Esq NEGOTIATION3Amy Elsner
1016Adams P WieserUnited Kingdom2024-06-08Rangoni Of Florence UNQUALIFIED40Ioni Bowcher
1017James R MarrierIndia2024-06-18Rousseaux, Michael Esq PROPOSAL18Elwin Sharvill
1018Francesco D WhobreyJapan2024-05-26Feltz Printing Service NEGOTIATION49Xuxue Feng
1019Isabel E MarrierItaly2024-06-20Benton, John B Jr QUALIFIED5Xuxue Feng
1020Kadeem R BowleyCanada2024-06-21Buckley Miller Wright NEGOTIATION39Asiya Javayant
1021Misaki F CaldareraRussia2024-06-22Chemel, James L Cpa PROPOSAL64Ioni Bowcher
1022Aruna N DoeBrazil2024-06-11Feiner Bros RENEWAL97Amy Elsner
1023Maisha B PoquetteItaly2024-05-27Rousseaux, Michael Esq NEGOTIATION33Ivan Magalhaes
1024Mujtaba T InouyeBrazil2024-06-10Truhlar And Truhlar Attys PROPOSAL29Anna Fali
1025Aruna O RutaArgentina2024-05-24Buckley Miller Wright NEGOTIATION36Anna Fali
1026Emily K StensethIndia2024-05-29Rangoni Of Florence RENEWAL35Onyama Limba
1027Kadeem S ChuiFrance2024-06-04Morlong Associates RENEWAL63Elwin Sharvill
1028Chavez G DoeBrazil2024-06-06Chemel, James L Cpa NEW19Bernardo Dominic
1029Sinclair W MorascaAustralia2024-06-18King, Christopher A Esq PROPOSAL98Stephen Shaw
1030Clifford X FerenczJapan2024-06-15Rousseaux, Michael Esq NEW71Amy Elsner
1031Francesco B AlbaresUnited Kingdom2024-06-16Morlong Associates UNQUALIFIED78Ioni Bowcher
1032Clifford R CaudyUnited Kingdom2024-05-24Truhlar And Truhlar Attys NEGOTIATION5Anna Fali
1033Ricardo T MacleadSpain2024-05-25Printing Dimensions NEGOTIATION28Bernardo Dominic
1034Arvin Q ButtBrazil2024-06-20Printing Dimensions NEW22Elwin Sharvill
1035Leja C StockhamJapan2024-06-15King, Christopher A Esq NEW18Stephen Shaw
1036Julie Y InouyeArgentina2024-06-07Chemel, James L Cpa NEGOTIATION32Xuxue Feng
1037Maria R MorascaFrance2024-06-18Morlong Associates UNQUALIFIED70Xuxue Feng
1038Antonio L ShinkoGermany2024-06-10Morlong Associates QUALIFIED89Onyama Limba
1039Arvin X CaldareraArgentina2024-05-25Printing Dimensions UNQUALIFIED61Amy Elsner
1040Kadeem A MorascaBrazil2024-06-21Truhlar And Truhlar Attys QUALIFIED73Bernardo Dominic
1041Silvio Z MacleadGermany2024-06-15Chanay, Jeffrey A Esq NEW90Onyama Limba
1042Sinclair I DoeBrazil2024-06-15Chemel, James L Cpa QUALIFIED6Bernardo Dominic
1043Wickens L DilliardItaly2024-06-13Benton, John B Jr QUALIFIED8Bernardo Dominic
1044Darci U RoysterJapan2024-06-02Chanay, Jeffrey A Esq RENEWAL89Bernardo Dominic
1045Deepesh L DilliardJapan2024-05-25Truhlar And Truhlar Attys UNQUALIFIED3Amy Elsner
1046Ashley O DilliardSpain2024-06-16Morlong Associates UNQUALIFIED71Anna Fali
1047Greenwood M CampainJapan2024-06-17Benton, John B Jr PROPOSAL40Anna Fali
1048Stacey N KuskoUnited Kingdom2024-06-03Dorl, James J Esq RENEWAL15Elwin Sharvill
1049Emily K OstroskyUnited Kingdom2024-06-08Chanay, Jeffrey A Esq PROPOSAL44Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Johnson B StensethArgentinaAnna Fali UNQUALIFIED
Maisha V SlusarskiRussiaAsiya Javayant RENEWAL
Ricardo R RutaBrazilAmy Elsner RENEWAL
Salvatore U WieserSpainElwin Sharvill UNQUALIFIED
Izzy Y VenereIndiaIoni Bowcher QUALIFIED
Emily R WhobreyFranceElwin Sharvill QUALIFIED
Francesco M MaletJapanIvan Magalhaes UNQUALIFIED
Salvatore E GauchoSpainAnna Fali NEGOTIATION
James C CaldareraCanadaOnyama Limba NEGOTIATION
Alejandro A DoeRussiaOnyama Limba RENEWAL
Smith M MacleadArgentinaIoni Bowcher RENEWAL
Jefferson R WaycottUnited KingdomAnna Fali NEW
Deepesh L ChuiSpainIvan Magalhaes NEW
Adams Y BriddickGermanyOnyama Limba UNQUALIFIED
Tony F GauchoRussiaOnyama Limba NEW
Murillo I FollerBrazilBernardo Dominic RENEWAL
Mayumi U MacleadBrazilAnna Fali NEW
Faith G ChuiItalyAmy Elsner NEGOTIATION
Deepesh U SaylorsItalyOnyama Limba UNQUALIFIED
Mayumi X VocelkaGermanyOnyama Limba NEGOTIATION
Jennifer L KolmetzFranceOnyama Limba NEGOTIATION
Munro F PerinGermanyIoni Bowcher PROPOSAL
Johnson K ShinkoIndiaStephen Shaw QUALIFIED
Tony B RoysterAustraliaAnna Fali PROPOSAL
Isabel T NickaBrazilAnna Fali RENEWAL
Ivar U AmigonIndiaBernardo Dominic NEW
Aruna E GarufiRussiaAnna Fali UNQUALIFIED
Julie F WaycottSpainIoni Bowcher PROPOSAL
Jeanfrancois W OldroydGermanyStephen Shaw NEGOTIATION
Rodrigues M CaldareraAustraliaOnyama Limba PROPOSAL
Munro G RimFranceBernardo Dominic NEGOTIATION
Ashley Z GauchoArgentinaAsiya Javayant PROPOSAL
Leja G MarrierIndiaAsiya Javayant NEW
Alejandro L MarrierRussiaAsiya Javayant QUALIFIED
Kadeem W MorascaIndiaAsiya Javayant UNQUALIFIED
Leja W OldroydCanadaAsiya Javayant UNQUALIFIED
Misaki Q GlickItalyElwin Sharvill PROPOSAL
Murillo S MarrierJapanBernardo Dominic UNQUALIFIED
Jefferson X InouyeFranceOnyama Limba UNQUALIFIED
Rodrigues D ChuiUnited KingdomElwin Sharvill NEGOTIATION
Cody I VenereArgentinaOnyama Limba RENEWAL
Clifford V MorascaJapanAmy Elsner NEW
Wickens T OldroydUnited KingdomAmy Elsner QUALIFIED
Mayumi A ButtBrazilAmy Elsner RENEWAL
Leja N GlickBrazilAnna Fali NEW
Costa R MorascaItalyStephen Shaw PROPOSAL
Mujtaba Z CampainAustraliaBernardo Dominic PROPOSAL
Aika U MaletSpainStephen Shaw NEGOTIATION
Jones V PerinItalyXuxue Feng NEGOTIATION
Costa C FlosiBrazilIoni Bowcher QUALIFIED
Frozen Columns
Name
Johnson R Garufi
Maisha C Bolognia
Kaitlin A Rim
Morrow V Maclead
Johnson X Malet
Mayumi W Butt
Murillo X Wieser
Arvin D Paprocki
Isabel M Albares
Maisha Y Stenseth
Emily L Stockham
Morrow G Poquette
Juan W Stenseth
Deepesh Y Wieser
Salvatore P Venere
Murillo O Caldarera
David Z Doe
Emily V Iturbide
Nicolas R Caldarera
Izzy U Kolmetz
Isabel J Vocelka
Jefferson E Bolognia
Cody Y Inouye
Maisha U Marrier
Chavez I Royster
Jeanfrancois R Garufi
Alejandro M Kolmetz
Alejandro A Albares
Mayumi S Waycott
Chavez J Stenseth
Aditya Z Paprocki
Aruna S Malet
Ashley Y Chui
Leon J Foller
Aruna S Maclead
Arvin X Stenseth
Deepesh J Doe
Deepesh P Ostrosky
Sinclair C Campain
Murillo H Ruta
Alejandro A Wieser
Aditya O Flosi
Jeanfrancois T Albares
Greenwood D Nestle
James W Darakjy
Izzy R Ostrosky
Juan F Ruta
Misaki H Stenseth
Tony G Schemmer
Maria R Caldarera
IdCountryDate
1000Spain2024-06-19
1001India2024-06-12
1002Japan2024-06-07
1003Canada2024-05-29
1004Canada2024-06-17
1005Italy2024-06-07
1006Argentina2024-05-26
1007Argentina2024-05-30
1008Germany2024-06-18
1009Canada2024-06-13
1010Russia2024-06-14
1011India2024-06-15
1012France2024-05-29
1013United Kingdom2024-06-08
1014Australia2024-06-16
1015Italy2024-06-09
1016Italy2024-05-26
1017Canada2024-06-22
1018United Kingdom2024-05-31
1019Canada2024-06-12
1020India2024-06-10
1021Spain2024-06-13
1022Spain2024-06-17
1023Brazil2024-06-21
1024Brazil2024-05-31
1025Italy2024-05-27
1026United Kingdom2024-06-12
1027France2024-06-06
1028India2024-06-07
1029Argentina2024-06-08
1030Russia2024-06-02
1031Australia2024-06-11
1032Argentina2024-05-30
1033Japan2024-06-09
1034Brazil2024-06-16
1035Spain2024-05-31
1036Spain2024-05-25
1037United Kingdom2024-05-28
1038Italy2024-06-17
1039Australia2024-06-19
1040United Kingdom2024-05-25
1041France2024-06-16
1042Germany2024-06-09
1043Canada2024-05-31
1044Canada2024-06-20
1045France2024-05-24
1046Germany2024-06-03
1047Japan2024-06-09
1048Russia2024-05-24
1049Russia2024-06-14

On-Demand Data

NameIdCountryDate
Jones G Stockham1000Germany2024-06-02
Johnson E Foller1001Australia2024-05-30
Rodrigues M Foller1002United Kingdom2024-06-12
Nicolas B Nicka1003Russia2024-06-20
Ricardo W Whobrey1004Italy2024-05-31
Ricardo R Glick1005Canada2024-06-13
Kadeem S Whobrey1006Australia2024-06-20
Silvio U Oldroyd1007Germany2024-06-15
Ivar O Flosi1008Argentina2024-06-22
Silvio N Venere1009Canada2024-06-17
Antonio U Schemmer1010India2024-06-07
Adams H Figeroa1011Japan2024-06-10
Cody K Perin1012Japan2024-06-21
Cody D Briddick1013Brazil2024-06-09
Aruna G Gillian1014Germany2024-05-29
Johnson F Caudy1015Argentina2024-05-25
Arvin H Caldarera1016United Kingdom2024-05-28
Nicolas U Royster1017United Kingdom2024-05-24
Morrow D Stenseth1018Canada2024-06-09
Francesco W Oldroyd1019Italy2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin T AmigonItalyAsiya Javayant NEGOTIATION
Antonio N MarrierGermanyOnyama Limba RENEWAL
Octavia J GlickJapanOnyama Limba QUALIFIED
Faith S MarrierFranceIvan Magalhaes RENEWAL
James K CampainArgentinaAsiya Javayant RENEWAL
Wickens O AlbaresArgentinaAsiya Javayant NEGOTIATION
Smith L RimCanadaBernardo Dominic QUALIFIED
Octavia E WaycottAustraliaAmy Elsner NEGOTIATION
Wickens M NickaFranceAnna Fali NEGOTIATION
Kaitlin Z DarakjyArgentinaAnna Fali NEGOTIATION
Smith B SergiBrazilIvan Magalhaes NEW
Maria T BriddickFranceIoni Bowcher NEW
Rodrigues B SlusarskiRussiaOnyama Limba NEGOTIATION
Leja P GauchoFranceAsiya Javayant NEW
Arvin E ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio A SergiSpainXuxue Feng NEGOTIATION
Claire X RulapaughUnited KingdomIvan Magalhaes RENEWAL
Ivar Q TollnerBrazilIvan Magalhaes PROPOSAL
Julie M DilliardArgentinaAnna Fali RENEWAL
Adams J CaldareraItalyBernardo Dominic RENEWAL
Salvatore O BriddickJapanAnna Fali RENEWAL
Francesco X DilliardItalyXuxue Feng QUALIFIED
Aditya U NickaItalyAmy Elsner UNQUALIFIED
Julie K CaudyBrazilOnyama Limba NEGOTIATION
Ricardo V RoysterAustraliaBernardo Dominic QUALIFIED
Maisha O ChuiItalyAmy Elsner NEW
Ivar H StockhamUnited KingdomIoni Bowcher NEGOTIATION
Smith P OldroydBrazilAsiya Javayant NEGOTIATION
Greenwood Z FlosiAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois D PoquetteBrazilBernardo Dominic PROPOSAL
Maisha R TollnerFranceBernardo Dominic RENEWAL
Jeanfrancois F StockhamJapanOnyama Limba PROPOSAL
Jefferson E RulapaughIndiaElwin Sharvill NEW
Juan G MarrierIndiaElwin Sharvill PROPOSAL
Aika O DilliardBrazilAmy Elsner NEGOTIATION
Emily U AlbaresBrazilElwin Sharvill PROPOSAL
Kaitlin Y StensethItalyBernardo Dominic NEGOTIATION
Wickens C VenereRussiaXuxue Feng RENEWAL
David N VenereRussiaElwin Sharvill RENEWAL
Morrow P MarrierItalyAnna Fali 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>