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 Y SlusarskiIndiaOnyama Limba RENEWAL
Aditya N RoysterCanadaIoni Bowcher PROPOSAL
Julie R FlosiJapanAnna Fali UNQUALIFIED
Francesco U KuskoSpainAsiya Javayant UNQUALIFIED
Claire H InouyeArgentinaStephen Shaw QUALIFIED
Stacey Z StensethSpainIvan Magalhaes RENEWAL
Ricardo E GarufiGermanyXuxue Feng PROPOSAL
Smith V FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Antonio G GillianSpainStephen Shaw QUALIFIED
Arvin L TollnerBrazilStephen Shaw QUALIFIED
Emily L VenereArgentinaIoni Bowcher QUALIFIED
Isabel X GauchoBrazilOnyama Limba QUALIFIED
Costa T GauchoBrazilBernardo Dominic RENEWAL
Rodrigues D OstroskySpainXuxue Feng QUALIFIED
Ashley J KuskoCanadaAsiya Javayant NEGOTIATION
David W CampainBrazilXuxue Feng PROPOSAL
Ivar D AmigonItalyAmy Elsner QUALIFIED
Misaki I AlbaresFranceAmy Elsner NEW
James W TollnerSpainBernardo Dominic PROPOSAL
Jones K CaldareraArgentinaElwin Sharvill UNQUALIFIED
Aditya Y PerinJapanBernardo Dominic PROPOSAL
Juan U ChuiArgentinaXuxue Feng QUALIFIED
Julie X FlosiSpainElwin Sharvill NEGOTIATION
Deepesh L ButtFranceAsiya Javayant NEGOTIATION
Jeanfrancois Q AlbaresAustraliaIvan Magalhaes RENEWAL
Cody D PerinItalyOnyama Limba UNQUALIFIED
Morrow T ShinkoUnited KingdomAnna Fali PROPOSAL
Adams P CaldareraItalyAmy Elsner RENEWAL
Juan N WieserIndiaAsiya Javayant UNQUALIFIED
Ricardo I RimUnited KingdomElwin Sharvill QUALIFIED
Tony C IturbideCanadaOnyama Limba UNQUALIFIED
Jennifer K GarufiUnited KingdomStephen Shaw QUALIFIED
Faith T KolmetzGermanyStephen Shaw NEGOTIATION
Octavia J StensethAustraliaAmy Elsner NEGOTIATION
Chavez H OstroskyJapanStephen Shaw RENEWAL
Rodrigues B ShinkoFranceAmy Elsner NEW
Darci N FlosiAustraliaElwin Sharvill NEW
Johnson Z PerinAustraliaStephen Shaw NEGOTIATION
Aika Y RutaArgentinaStephen Shaw PROPOSAL
Deepesh B FerenczSpainBernardo Dominic UNQUALIFIED
James R WhobreyBrazilElwin Sharvill NEW
Darci A NickaArgentinaIvan Magalhaes QUALIFIED
Leja I PoquetteIndiaAnna Fali QUALIFIED
Clifford V WhobreySpainXuxue Feng QUALIFIED
Rodrigues E NestleItalyElwin Sharvill UNQUALIFIED
Ashley U RutaRussiaStephen Shaw NEGOTIATION
Greenwood O AmigonRussiaAnna Fali NEW
Kaitlin C DilliardSpainIvan Magalhaes RENEWAL
Emily M MaletIndiaIoni Bowcher QUALIFIED
Mayumi Q KolmetzFranceAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas U RulapaughItalyIoni Bowcher UNQUALIFIED
Ivar N NestleRussiaXuxue Feng UNQUALIFIED
Francesco V KuskoUnited KingdomAnna Fali PROPOSAL
Faith L CaldareraGermanyAsiya Javayant UNQUALIFIED
Francesco I ShinkoItalyIoni Bowcher UNQUALIFIED
Maria C FollerItalyAnna Fali RENEWAL
Sinclair K VocelkaJapanStephen Shaw NEW
Mujtaba N DoeIndiaOnyama Limba PROPOSAL
Nicolas J MorascaGermanyIoni Bowcher NEW
Salvatore L DilliardGermanyXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro J PaprockiUnited Kingdom2024-06-18Chanay, Jeffrey A Esq RENEWAL2Ivan Magalhaes
1001Maria D GarufiGermany2024-06-14Chapman, Ross E Esq QUALIFIED89Xuxue Feng
1002Stacey X WhobreyRussia2024-06-05Benton, John B Jr NEW81Amy Elsner
1003Darci P KuskoRussia2024-06-07Commercial Press NEGOTIATION13Ioni Bowcher
1004Chavez F KolmetzSpain2024-06-03Morlong Associates QUALIFIED10Ioni Bowcher
1005Silvio V PoquetteGermany2024-06-02Feiner Bros QUALIFIED62Amy Elsner
1006Kadeem G MaletIndia2024-05-26King, Christopher A Esq PROPOSAL30Xuxue Feng
1007Chavez I DarakjyRussia2024-06-03Rousseaux, Michael Esq QUALIFIED14Elwin Sharvill
1008Tony M FlosiIndia2024-05-26Dorl, James J Esq UNQUALIFIED22Bernardo Dominic
1009Misaki Y CampainFrance2024-06-20Feiner Bros QUALIFIED90Ivan Magalhaes
1010Kadeem Y SchemmerCanada2024-06-14Buckley Miller Wright NEW4Stephen Shaw
1011Jones G BowleyGermany2024-05-31Rangoni Of Florence QUALIFIED77Bernardo Dominic
1012Emily B WaycottJapan2024-06-17Rousseaux, Michael Esq UNQUALIFIED5Anna Fali
1013Maria U GauchoIndia2024-06-06Feltz Printing Service UNQUALIFIED79Amy Elsner
1014Claire P StockhamRussia2024-06-06Rangoni Of Florence UNQUALIFIED27Asiya Javayant
1015Murillo M PaprockiArgentina2024-06-08Rangoni Of Florence RENEWAL86Xuxue Feng
1016Mujtaba M MacleadBrazil2024-06-06King, Christopher A Esq NEW98Elwin Sharvill
1017Kaitlin N ShinkoAustralia2024-05-28Morlong Associates PROPOSAL35Onyama Limba
1018Tony Z VocelkaSpain2024-05-26Commercial Press RENEWAL55Onyama Limba
1019Arvin T RutaIndia2024-05-29Rousseaux, Michael Esq QUALIFIED67Asiya Javayant
1020Izzy T FollerArgentina2024-06-17Printing Dimensions QUALIFIED99Ioni Bowcher
1021Kadeem F VenereIndia2024-06-03Rangoni Of Florence QUALIFIED13Ioni Bowcher
1022Adams E SergiJapan2024-06-06Printing Dimensions UNQUALIFIED66Xuxue Feng
1023Johnson N CaudyGermany2024-06-24Feltz Printing Service NEGOTIATION63Anna Fali
1024Kadeem A WieserArgentina2024-06-15Dorl, James J Esq QUALIFIED79Elwin Sharvill
1025Stacey B KolmetzIndia2024-06-03Feiner Bros NEGOTIATION30Elwin Sharvill
1026Aika S GauchoUnited Kingdom2024-05-27Printing Dimensions UNQUALIFIED76Asiya Javayant
1027Adams Q StensethAustralia2024-05-30Chapman, Ross E Esq PROPOSAL22Ivan Magalhaes
1028Antonio N BowleyUnited Kingdom2024-06-05Dorl, James J Esq NEW84Elwin Sharvill
1029Kadeem Y BowleyRussia2024-06-23Dorl, James J Esq NEW61Anna Fali
1030Juan B FlosiIndia2024-05-31Rousseaux, Michael Esq NEGOTIATION90Anna Fali
1031Emily T OstroskyRussia2024-06-14Dorl, James J Esq PROPOSAL15Asiya Javayant
1032Isabel I BologniaItaly2024-05-30Chapman, Ross E Esq NEW87Bernardo Dominic
1033Maisha O PaprockiFrance2024-06-08Truhlar And Truhlar Attys UNQUALIFIED6Amy Elsner
1034Wickens K GauchoAustralia2024-06-20Feiner Bros UNQUALIFIED34Stephen Shaw
1035Costa V SaylorsAustralia2024-06-02Truhlar And Truhlar Attys RENEWAL12Elwin Sharvill
1036Stacey J MacleadAustralia2024-06-01Chemel, James L Cpa NEW1Anna Fali
1037Chavez N SchemmerGermany2024-06-07Rangoni Of Florence RENEWAL24Ivan Magalhaes
1038Claire R GillianFrance2024-06-11Truhlar And Truhlar Attys RENEWAL69Elwin Sharvill
1039Octavia I VocelkaItaly2024-06-03Chapman, Ross E Esq UNQUALIFIED19Elwin Sharvill
1040Leja X MarrierRussia2024-06-05Chemel, James L Cpa QUALIFIED93Ioni Bowcher
1041Aruna Z SergiUnited Kingdom2024-06-12Printing Dimensions PROPOSAL66Anna Fali
1042Stacey R NestleCanada2024-05-31Chemel, James L Cpa QUALIFIED49Anna Fali
1043Jones I MaletFrance2024-06-18Chemel, James L Cpa QUALIFIED12Bernardo Dominic
1044Cody L ChuiArgentina2024-06-04Chemel, James L Cpa RENEWAL69Onyama Limba
1045Claire H GillianArgentina2024-05-31Dorl, James J Esq PROPOSAL30Onyama Limba
1046Chavez E DoeGermany2024-06-20Rousseaux, Michael Esq NEGOTIATION4Anna Fali
1047Deepesh S RimRussia2024-06-10Rangoni Of Florence NEGOTIATION20Onyama Limba
1048Arvin N BowleyItaly2024-06-12Rangoni Of Florence UNQUALIFIED19Amy Elsner
1049Leja A IturbideAustralia2024-05-27Dorl, James J Esq NEW20Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ivar R RimBrazilAnna Fali NEW
Arvin I MarrierIndiaBernardo Dominic NEW
Rodrigues O CampainGermanyXuxue Feng NEW
Faith K StockhamJapanIoni Bowcher RENEWAL
Salvatore U CaudyBrazilIvan Magalhaes NEW
Ivar L KolmetzRussiaAmy Elsner QUALIFIED
Chavez N KolmetzCanadaXuxue Feng NEGOTIATION
Munro Q WaycottRussiaBernardo Dominic RENEWAL
Leja V RoysterUnited KingdomStephen Shaw NEW
Chavez W GauchoUnited KingdomAsiya Javayant QUALIFIED
Leon H CampainUnited KingdomBernardo Dominic NEGOTIATION
Kadeem M NestleUnited KingdomElwin Sharvill RENEWAL
Morrow D StensethIndiaAsiya Javayant UNQUALIFIED
Leja X OstroskyAustraliaOnyama Limba RENEWAL
Jones P InouyeRussiaIoni Bowcher RENEWAL
Munro E PerinIndiaAsiya Javayant NEGOTIATION
Mayumi T ButtUnited KingdomOnyama Limba RENEWAL
Leja U StensethJapanStephen Shaw NEGOTIATION
Wickens J VocelkaItalyAmy Elsner PROPOSAL
Arvin N GauchoBrazilBernardo Dominic NEW
Deepesh H MarrierItalyBernardo Dominic PROPOSAL
Jennifer D TollnerArgentinaAsiya Javayant PROPOSAL
Munro B StockhamBrazilBernardo Dominic UNQUALIFIED
Stacey B BologniaBrazilIvan Magalhaes NEGOTIATION
Izzy V SlusarskiJapanAsiya Javayant PROPOSAL
Claire B AmigonBrazilAnna Fali NEGOTIATION
Jennifer N AlbaresAustraliaOnyama Limba PROPOSAL
Jeanfrancois T AmigonAustraliaElwin Sharvill PROPOSAL
Silvio P SaylorsIndiaAmy Elsner QUALIFIED
Adams A IturbideFranceXuxue Feng NEGOTIATION
Johnson I MacleadSpainOnyama Limba UNQUALIFIED
Munro B GillianIndiaAnna Fali NEW
Clifford I WieserBrazilAnna Fali UNQUALIFIED
Ricardo I DilliardAustraliaIoni Bowcher PROPOSAL
Deepesh G MacleadSpainAnna Fali NEW
Francesco M NickaGermanyOnyama Limba QUALIFIED
Nicolas K CampainRussiaStephen Shaw UNQUALIFIED
Rodrigues Y PaprockiBrazilIoni Bowcher UNQUALIFIED
Leja W PaprockiBrazilElwin Sharvill NEW
Isabel E KuskoUnited KingdomAnna Fali QUALIFIED
Clifford O StockhamIndiaAsiya Javayant UNQUALIFIED
Juan G MorascaRussiaOnyama Limba NEGOTIATION
Leja A IturbideAustraliaElwin Sharvill NEW
Mayumi R PerinGermanyBernardo Dominic PROPOSAL
Kaitlin O MacleadCanadaAmy Elsner PROPOSAL
Morrow U ButtAustraliaStephen Shaw UNQUALIFIED
Emily D AmigonJapanElwin Sharvill RENEWAL
Aika M CaudyJapanIvan Magalhaes QUALIFIED
David O ButtUnited KingdomXuxue Feng UNQUALIFIED
David A BriddickUnited KingdomBernardo Dominic RENEWAL
Frozen Columns
Name
Maria Z Whobrey
Sinclair M Whobrey
Leon J Stockham
Kaitlin D Waycott
Ashley R Caudy
Silvio Y Foller
Murillo Q Stenseth
Sinclair Q Whobrey
Adams S Albares
Cody O Marrier
Chavez O Caldarera
Kadeem W Oldroyd
Isabel X Bowley
Costa Y Rim
Mayumi P Gillian
Claire Y Shinko
Smith Q Glick
Stacey L Caudy
Ivar C Kolmetz
Mayumi D Gaucho
Greenwood O Stenseth
Jennifer A Perin
Francesco A Darakjy
Salvatore X Sergi
Jefferson Z Ruta
Arvin K Doe
Costa I Royster
Julie L Ruta
Ivar W Rulapaugh
Clifford T Foller
Smith R Garufi
Maria X Glick
Emily K Ostrosky
Sinclair P Venere
Morrow O Malet
Aditya I Amigon
Aruna M Ferencz
Kadeem V Flosi
Johnson W Stockham
Francesco C Saylors
Murillo U Rim
Silvio F Flosi
Mayumi M Stockham
Ricardo B Caudy
Murillo C Wieser
Aika K Dilliard
Mujtaba W Oldroyd
Ashley G Morasca
Clifford L Poquette
Adams R Kusko
IdCountryDate
1000Spain2024-06-20
1001India2024-06-18
1002Spain2024-05-31
1003Russia2024-06-14
1004Argentina2024-06-21
1005Italy2024-06-21
1006Germany2024-06-10
1007Brazil2024-05-31
1008Germany2024-05-27
1009Australia2024-05-26
1010Australia2024-05-26
1011Brazil2024-06-18
1012Italy2024-05-31
1013India2024-05-29
1014India2024-06-17
1015Japan2024-06-08
1016Russia2024-06-18
1017Russia2024-06-15
1018Italy2024-06-07
1019Russia2024-06-05
1020Italy2024-06-14
1021India2024-05-30
1022Russia2024-05-26
1023United Kingdom2024-05-26
1024Italy2024-06-13
1025Argentina2024-06-18
1026Spain2024-06-11
1027Spain2024-06-20
1028Argentina2024-06-19
1029Russia2024-06-23
1030France2024-06-19
1031Australia2024-06-17
1032Germany2024-06-20
1033Brazil2024-06-11
1034France2024-06-07
1035Argentina2024-06-13
1036Spain2024-06-02
1037Argentina2024-06-17
1038France2024-06-06
1039India2024-06-05
1040Germany2024-06-07
1041Spain2024-06-01
1042India2024-06-23
1043Brazil2024-06-07
1044Canada2024-06-20
1045Canada2024-06-24
1046United Kingdom2024-06-08
1047United Kingdom2024-06-21
1048Japan2024-06-21
1049Italy2024-06-07

On-Demand Data

NameIdCountryDate
David K Campain1000Canada2024-06-06
Cody S Darakjy1001Spain2024-06-03
Emily K Slusarski1002Japan2024-06-02
Arvin P Foller1003Russia2024-06-10
Jennifer J Perin1004Australia2024-06-15
Costa X Chui1005Canada2024-06-07
Leja A Ostrosky1006Australia2024-06-04
Kadeem L Amigon1007Russia2024-06-16
Leja M Morasca1008Australia2024-06-02
Tony M Nicka1009India2024-06-14
Leon X Bowley1010Germany2024-05-31
Francesco E Glick1011Argentina2024-05-27
Nicolas K Shinko1012Australia2024-06-07
Wickens E Caldarera1013Canada2024-06-07
Leon W Stockham1014India2024-06-22
Mayumi K Darakjy1015France2024-05-28
Smith T Ostrosky1016United Kingdom2024-06-02
Greenwood V Poquette1017Brazil2024-06-15
Mayumi R Whobrey1018India2024-06-02
Faith F Caldarera1019India2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey P SergiAustraliaIoni Bowcher RENEWAL
Cody K AlbaresIndiaElwin Sharvill NEGOTIATION
Rodrigues B CaldareraGermanyAsiya Javayant NEW
Alejandro R PoquetteRussiaIoni Bowcher PROPOSAL
Costa Z CaudyFranceIvan Magalhaes NEW
Emily Y PaprockiBrazilIvan Magalhaes RENEWAL
Salvatore D KuskoJapanBernardo Dominic NEW
Leon T BologniaGermanyAsiya Javayant PROPOSAL
Julie U StensethSpainStephen Shaw UNQUALIFIED
Silvio W IturbideArgentinaXuxue Feng UNQUALIFIED
Claire N SchemmerIndiaXuxue Feng QUALIFIED
Salvatore Y TollnerItalyAmy Elsner RENEWAL
Munro F RimCanadaElwin Sharvill NEGOTIATION
Faith X IturbideUnited KingdomElwin Sharvill NEGOTIATION
Emily K PerinBrazilElwin Sharvill QUALIFIED
Jennifer F FollerUnited KingdomAmy Elsner QUALIFIED
Murillo X BowleySpainXuxue Feng UNQUALIFIED
Antonio I OldroydJapanElwin Sharvill UNQUALIFIED
Emily E FollerAustraliaAmy Elsner RENEWAL
Izzy H ButtArgentinaBernardo Dominic NEGOTIATION
Kadeem Y DilliardSpainBernardo Dominic QUALIFIED
Aika N FollerBrazilAnna Fali PROPOSAL
Francesco M VenereAustraliaBernardo Dominic PROPOSAL
Leja X BologniaCanadaStephen Shaw NEW
David Q RoysterCanadaBernardo Dominic NEGOTIATION
Julie U DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Maria R RutaArgentinaAmy Elsner NEW
Maria W GauchoSpainXuxue Feng QUALIFIED
Smith E ShinkoAustraliaAnna Fali NEW
Ricardo K BriddickBrazilIoni Bowcher NEGOTIATION
Jefferson S FigeroaUnited KingdomXuxue Feng PROPOSAL
Greenwood L CaldareraJapanIvan Magalhaes NEGOTIATION
David B ButtJapanBernardo Dominic QUALIFIED
Salvatore Z KuskoAustraliaIvan Magalhaes NEGOTIATION
Nicolas M InouyeArgentinaIoni Bowcher RENEWAL
Jones K OstroskyRussiaOnyama Limba PROPOSAL
Ashley U InouyeArgentinaStephen Shaw NEW
Smith R IturbideUnited KingdomOnyama Limba QUALIFIED
Faith I KolmetzSpainAnna Fali UNQUALIFIED
Tony R MaletArgentinaOnyama Limba 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>