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
Morrow R SlusarskiArgentinaIvan Magalhaes QUALIFIED
James O MaletGermanyAmy Elsner QUALIFIED
Alejandro L CaldareraArgentinaAmy Elsner PROPOSAL
Aika T DarakjyIndiaAmy Elsner NEW
Alejandro T KuskoAustraliaAnna Fali NEW
Wickens D RulapaughJapanElwin Sharvill PROPOSAL
Aditya I SergiIndiaBernardo Dominic UNQUALIFIED
Ivar S SergiIndiaAsiya Javayant NEW
David J SaylorsItalyIoni Bowcher UNQUALIFIED
Murillo B SlusarskiRussiaOnyama Limba NEW
Silvio D SlusarskiBrazilIvan Magalhaes NEGOTIATION
Mujtaba W FlosiGermanyIvan Magalhaes NEW
Maria U StockhamGermanyIvan Magalhaes NEGOTIATION
Maria A PerinSpainXuxue Feng RENEWAL
Jones V TollnerUnited KingdomAnna Fali QUALIFIED
Kaitlin Q VenereAustraliaStephen Shaw RENEWAL
Isabel Y KuskoUnited KingdomAnna Fali UNQUALIFIED
Leon A PoquetteItalyIvan Magalhaes RENEWAL
Silvio H GauchoCanadaOnyama Limba QUALIFIED
Ashley S CaudyUnited KingdomAsiya Javayant PROPOSAL
Adams S RoysterItalyAnna Fali NEW
Chavez Q RulapaughIndiaOnyama Limba UNQUALIFIED
Kaitlin U StensethIndiaIoni Bowcher PROPOSAL
Jones Y NestleBrazilAsiya Javayant NEW
Leja Q PerinUnited KingdomStephen Shaw PROPOSAL
Aika K IturbideBrazilIvan Magalhaes RENEWAL
Kaitlin D InouyeIndiaBernardo Dominic PROPOSAL
Smith J DilliardCanadaBernardo Dominic NEGOTIATION
Jennifer Z ButtUnited KingdomIoni Bowcher QUALIFIED
Jennifer U GlickCanadaStephen Shaw UNQUALIFIED
Juan R SchemmerUnited KingdomIvan Magalhaes RENEWAL
Costa H SaylorsUnited KingdomAmy Elsner QUALIFIED
Francesco F MarrierFranceAnna Fali UNQUALIFIED
Costa U CampainAustraliaIvan Magalhaes NEW
Ricardo Y KolmetzFranceAsiya Javayant RENEWAL
Aika B AlbaresArgentinaBernardo Dominic PROPOSAL
James Z SlusarskiRussiaAmy Elsner PROPOSAL
Kaitlin I BologniaIndiaStephen Shaw QUALIFIED
Jennifer S OldroydCanadaXuxue Feng UNQUALIFIED
Aruna N RoysterGermanyStephen Shaw UNQUALIFIED
Misaki A MarrierGermanyIoni Bowcher PROPOSAL
Octavia L KolmetzFranceAsiya Javayant RENEWAL
Sinclair Q GillianCanadaElwin Sharvill PROPOSAL
Ivar J WieserAustraliaAnna Fali UNQUALIFIED
Aruna K ChuiGermanyXuxue Feng NEW
Munro H PerinFranceAnna Fali QUALIFIED
Kaitlin N MaletJapanElwin Sharvill RENEWAL
Jennifer Y RimSpainBernardo Dominic QUALIFIED
Alejandro Q PerinArgentinaXuxue Feng QUALIFIED
Alejandro D SaylorsCanadaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria E MaletUnited KingdomAnna Fali NEGOTIATION
Isabel Q ChuiRussiaAsiya Javayant QUALIFIED
Misaki E StockhamCanadaStephen Shaw PROPOSAL
Antonio A StensethJapanElwin Sharvill NEGOTIATION
Octavia P AmigonCanadaAsiya Javayant UNQUALIFIED
Johnson F FigeroaGermanyElwin Sharvill UNQUALIFIED
Aika N InouyeGermanyOnyama Limba RENEWAL
Morrow T FerenczBrazilElwin Sharvill RENEWAL
Mujtaba W SergiArgentinaAmy Elsner NEGOTIATION
Johnson F MarrierSpainElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily D AlbaresGermany2024-05-13Chapman, Ross E Esq RENEWAL94Elwin Sharvill
1001David H DilliardFrance2024-04-28Feiner Bros QUALIFIED8Asiya Javayant
1002Greenwood M VocelkaArgentina2024-05-16Truhlar And Truhlar Attys RENEWAL68Ivan Magalhaes
1003Wickens P MacleadUnited Kingdom2024-05-03Morlong Associates UNQUALIFIED2Stephen Shaw
1004Leon B MaletItaly2024-05-09Chemel, James L Cpa QUALIFIED14Stephen Shaw
1005Isabel M MarrierCanada2024-05-12Dorl, James J Esq NEGOTIATION35Xuxue Feng
1006Antonio L RutaFrance2024-05-02Rangoni Of Florence NEW76Amy Elsner
1007Francesco F DilliardSpain2024-05-27Printing Dimensions QUALIFIED35Onyama Limba
1008Jefferson I VenereRussia2024-04-29Chapman, Ross E Esq QUALIFIED8Xuxue Feng
1009David X WhobreyFrance2024-05-13Chemel, James L Cpa NEGOTIATION11Bernardo Dominic
1010Adams A RulapaughFrance2024-04-30Feiner Bros RENEWAL37Stephen Shaw
1011Arvin P BowleyFrance2024-05-11Truhlar And Truhlar Attys RENEWAL64Amy Elsner
1012Maria Y RutaUnited Kingdom2024-04-30Commercial Press QUALIFIED2Anna Fali
1013Jeanfrancois S NestleUnited Kingdom2024-05-24Truhlar And Truhlar Attys NEGOTIATION64Asiya Javayant
1014Cody E FerenczItaly2024-05-08Printing Dimensions UNQUALIFIED31Stephen Shaw
1015Salvatore V RulapaughRussia2024-04-30Dorl, James J Esq PROPOSAL82Amy Elsner
1016Chavez L NestleBrazil2024-04-28Benton, John B Jr NEW48Ioni Bowcher
1017Wickens C CampainSpain2024-05-26Feltz Printing Service UNQUALIFIED40Amy Elsner
1018Aruna C AmigonBrazil2024-04-30Buckley Miller Wright QUALIFIED8Elwin Sharvill
1019Jennifer Q StensethRussia2024-05-14Rousseaux, Michael Esq QUALIFIED11Onyama Limba
1020Tony B IturbideJapan2024-05-26Morlong Associates RENEWAL54Amy Elsner
1021Maisha S IturbideJapan2024-05-09Chemel, James L Cpa NEGOTIATION49Ioni Bowcher
1022Mayumi M DarakjyItaly2024-05-08Printing Dimensions PROPOSAL7Asiya Javayant
1023Ivar H MaletUnited Kingdom2024-05-01Buckley Miller Wright UNQUALIFIED73Onyama Limba
1024Claire I FlosiBrazil2024-05-21Buckley Miller Wright RENEWAL45Asiya Javayant
1025Kadeem J StensethUnited Kingdom2024-05-13Commercial Press UNQUALIFIED2Anna Fali
1026Jeanfrancois J AmigonAustralia2024-04-29Truhlar And Truhlar Attys NEW61Xuxue Feng
1027Isabel G KolmetzSpain2024-05-24Dorl, James J Esq NEW14Stephen Shaw
1028Julie K RoysterUnited Kingdom2024-05-20Chemel, James L Cpa PROPOSAL17Onyama Limba
1029Mujtaba G GauchoAustralia2024-05-10Printing Dimensions NEGOTIATION43Anna Fali
1030Juan T OstroskyFrance2024-05-10Benton, John B Jr RENEWAL0Bernardo Dominic
1031Chavez E GauchoCanada2024-05-07Dorl, James J Esq PROPOSAL2Asiya Javayant
1032Smith Q FollerAustralia2024-05-26King, Christopher A Esq RENEWAL23Bernardo Dominic
1033Jeanfrancois A PoquetteSpain2024-05-13Chanay, Jeffrey A Esq UNQUALIFIED26Ioni Bowcher
1034Claire I PoquetteArgentina2024-05-23Buckley Miller Wright QUALIFIED0Elwin Sharvill
1035Salvatore U PoquetteGermany2024-05-14Dorl, James J Esq RENEWAL64Ioni Bowcher
1036Clifford X VocelkaCanada2024-05-24King, Christopher A Esq RENEWAL29Amy Elsner
1037Jeanfrancois U AmigonAustralia2024-05-27Feltz Printing Service UNQUALIFIED95Asiya Javayant
1038Salvatore D GlickGermany2024-05-04Benton, John B Jr RENEWAL86Xuxue Feng
1039Mayumi T FigeroaCanada2024-05-06Rangoni Of Florence UNQUALIFIED61Onyama Limba
1040Emily Q MaletItaly2024-05-03Benton, John B Jr NEGOTIATION40Elwin Sharvill
1041Kaitlin L FlosiUnited Kingdom2024-05-15Chemel, James L Cpa NEW23Ivan Magalhaes
1042Munro N SlusarskiJapan2024-05-19Truhlar And Truhlar Attys RENEWAL89Onyama Limba
1043Sinclair F CaldareraArgentina2024-05-26Benton, John B Jr NEGOTIATION80Xuxue Feng
1044Kadeem E DarakjyAustralia2024-04-29Rangoni Of Florence QUALIFIED17Ivan Magalhaes
1045Maria I CampainIndia2024-05-07Chanay, Jeffrey A Esq UNQUALIFIED71Elwin Sharvill
1046Aika X VocelkaGermany2024-05-03Benton, John B Jr QUALIFIED29Bernardo Dominic
1047Misaki X NestleJapan2024-05-26Printing Dimensions UNQUALIFIED74Elwin Sharvill
1048Maria T FerenczCanada2024-04-28Buckley Miller Wright UNQUALIFIED52Amy Elsner
1049Octavia N DarakjyItaly2024-05-26Benton, John B Jr NEGOTIATION71Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Arvin U RoysterGermanyIvan Magalhaes PROPOSAL
Mayumi I SlusarskiUnited KingdomXuxue Feng RENEWAL
Johnson D SaylorsIndiaBernardo Dominic QUALIFIED
Cody R KuskoRussiaBernardo Dominic NEW
Costa B OstroskyItalyAsiya Javayant QUALIFIED
Jefferson L AlbaresIndiaXuxue Feng QUALIFIED
Costa G MarrierBrazilIvan Magalhaes PROPOSAL
Costa X PoquetteSpainIvan Magalhaes RENEWAL
Jeanfrancois F MacleadGermanyAmy Elsner UNQUALIFIED
Jeanfrancois K NickaSpainAmy Elsner PROPOSAL
Darci F WhobreyAustraliaIoni Bowcher PROPOSAL
Costa C GauchoAustraliaXuxue Feng UNQUALIFIED
Antonio E RutaRussiaAmy Elsner UNQUALIFIED
Jeanfrancois Q FigeroaRussiaElwin Sharvill PROPOSAL
Silvio F TollnerBrazilStephen Shaw UNQUALIFIED
Aditya K MaletIndiaAnna Fali UNQUALIFIED
Greenwood Z BriddickSpainIvan Magalhaes UNQUALIFIED
Jeanfrancois D WieserItalyOnyama Limba RENEWAL
Maisha P GlickFranceIoni Bowcher RENEWAL
Jones S BowleyBrazilIvan Magalhaes RENEWAL
Maria I StensethIndiaIvan Magalhaes QUALIFIED
Wickens H WhobreyBrazilElwin Sharvill UNQUALIFIED
Ivar V KolmetzRussiaOnyama Limba NEW
David U MacleadFranceBernardo Dominic QUALIFIED
Rodrigues D RoysterJapanElwin Sharvill RENEWAL
Maria Y BriddickGermanyIvan Magalhaes RENEWAL
Aruna A StockhamBrazilIoni Bowcher NEGOTIATION
Julie J ChuiArgentinaAnna Fali UNQUALIFIED
Izzy Z WieserBrazilXuxue Feng UNQUALIFIED
Julie G InouyeItalyStephen Shaw UNQUALIFIED
Smith L WieserSpainAsiya Javayant NEGOTIATION
Claire O FollerJapanBernardo Dominic NEGOTIATION
Deepesh E NestleFranceOnyama Limba RENEWAL
Costa W CaldareraJapanStephen Shaw UNQUALIFIED
Kaitlin N TollnerItalyIoni Bowcher NEW
Deepesh F InouyeSpainIvan Magalhaes NEW
Darci P DilliardGermanyIvan Magalhaes PROPOSAL
Kaitlin R VenereSpainIvan Magalhaes RENEWAL
Deepesh O CaldareraGermanyAsiya Javayant NEW
Murillo N MaletJapanXuxue Feng NEW
Octavia A KolmetzGermanyXuxue Feng PROPOSAL
Adams P RutaCanadaAmy Elsner NEW
Octavia W FlosiCanadaAmy Elsner RENEWAL
Aruna V BriddickRussiaOnyama Limba UNQUALIFIED
Antonio N MaletCanadaAmy Elsner QUALIFIED
Rodrigues E ButtAustraliaStephen Shaw QUALIFIED
Isabel Q DarakjyJapanElwin Sharvill NEGOTIATION
Clifford K SaylorsAustraliaAnna Fali PROPOSAL
Deepesh O StockhamCanadaXuxue Feng QUALIFIED
Darci O BologniaSpainIoni Bowcher NEGOTIATION
Frozen Columns
Name
Jefferson P Glick
Silvio O Albares
Isabel H Glick
Mujtaba D Kolmetz
Mujtaba L Stenseth
Juan N Rim
Octavia T Marrier
Murillo B Briddick
Juan M Doe
Emily B Briddick
Kadeem W Gaucho
Clifford M Malet
Cody R Vocelka
Octavia U Glick
Jefferson N Darakjy
Sinclair N Marrier
Leon O Wieser
Arvin L Schemmer
Maisha D Malet
Chavez W Kolmetz
Darci Y Gaucho
Maisha F Kusko
Isabel X Flosi
James D Darakjy
Ashley F Maclead
Arvin G Ferencz
Francesco F Malet
Misaki F Iturbide
Juan D Perin
Smith C Butt
Misaki S Paprocki
Aditya T Oldroyd
Jennifer U Dilliard
Jeanfrancois M Waycott
Claire N Sergi
Emily B Caldarera
Jeanfrancois Y Campain
Tony P Campain
David V Iturbide
Adams C Garufi
Aruna A Tollner
Costa D Tollner
Emily V Briddick
Nicolas G Briddick
Rodrigues L Kusko
Murillo H Schemmer
Salvatore E Marrier
Murillo L Marrier
Stacey P Chui
Jennifer R Glick
IdCountryDate
1000Argentina2024-05-24
1001France2024-05-17
1002Spain2024-05-07
1003France2024-05-08
1004France2024-05-13
1005Italy2024-05-11
1006Canada2024-05-05
1007Brazil2024-04-28
1008Russia2024-05-26
1009France2024-04-28
1010India2024-05-02
1011Canada2024-04-28
1012United Kingdom2024-05-11
1013India2024-05-05
1014Germany2024-05-19
1015France2024-05-03
1016Spain2024-05-20
1017Argentina2024-05-09
1018Japan2024-05-03
1019India2024-04-28
1020Canada2024-05-27
1021Germany2024-05-05
1022France2024-04-30
1023United Kingdom2024-05-23
1024Spain2024-05-20
1025France2024-05-15
1026Brazil2024-05-19
1027Brazil2024-05-21
1028Australia2024-05-10
1029Brazil2024-05-20
1030Australia2024-05-06
1031Russia2024-05-14
1032Australia2024-05-20
1033France2024-05-12
1034Argentina2024-05-13
1035Australia2024-05-09
1036Italy2024-05-19
1037United Kingdom2024-05-05
1038Russia2024-04-30
1039India2024-05-09
1040Brazil2024-05-22
1041Canada2024-05-16
1042Canada2024-04-28
1043Canada2024-05-23
1044Russia2024-05-26
1045India2024-05-15
1046United Kingdom2024-05-18
1047Canada2024-05-12
1048Brazil2024-05-13
1049India2024-05-27

On-Demand Data

NameIdCountryDate
Nicolas L Inouye1000Australia2024-05-18
Ricardo D Butt1001Spain2024-05-05
Aika F Stockham1002Australia2024-05-09
Octavia K Tollner1003Japan2024-04-29
Johnson Y Oldroyd1004France2024-04-28
Aruna B Flosi1005Australia2024-05-15
Leja Z Caudy1006Germany2024-05-14
Ashley X Ruta1007Brazil2024-05-27
Jennifer T Inouye1008Spain2024-05-07
Ivar W Chui1009France2024-05-04
Johnson N Venere1010India2024-04-28
James Q Royster1011Russia2024-05-11
James C Garufi1012France2024-05-05
Mujtaba L Slusarski1013Spain2024-05-27
Nicolas W Waycott1014Australia2024-05-10
Darci W Vocelka1015Argentina2024-05-18
Mayumi T Iturbide1016Japan2024-05-11
Izzy G Campain1017Argentina2024-04-28
Nicolas J Caldarera1018France2024-05-24
Leon B Nestle1019Argentina2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody S BriddickFranceIoni Bowcher PROPOSAL
Aruna G ButtCanadaStephen Shaw UNQUALIFIED
Murillo V IturbideAustraliaOnyama Limba NEGOTIATION
Adams G NestleJapanIvan Magalhaes PROPOSAL
Antonio I IturbideUnited KingdomAmy Elsner UNQUALIFIED
Ivar I TollnerAustraliaXuxue Feng NEGOTIATION
Ashley R WhobreyRussiaAsiya Javayant QUALIFIED
Claire M MaletUnited KingdomAnna Fali NEGOTIATION
Johnson G BowleyCanadaIvan Magalhaes QUALIFIED
Emily N DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Jones S PerinIndiaAmy Elsner NEGOTIATION
James G SaylorsIndiaStephen Shaw QUALIFIED
Aruna Y RimCanadaIvan Magalhaes QUALIFIED
Silvio N NestleCanadaOnyama Limba PROPOSAL
Aruna W ChuiUnited KingdomAsiya Javayant NEW
Sinclair K KolmetzArgentinaStephen Shaw PROPOSAL
Johnson H GauchoArgentinaOnyama Limba RENEWAL
Ashley G GlickUnited KingdomAnna Fali QUALIFIED
Tony H NestleRussiaElwin Sharvill NEW
Chavez S MaletUnited KingdomAmy Elsner NEW
Izzy M StensethGermanyAsiya Javayant RENEWAL
Tony E TollnerArgentinaOnyama Limba NEW
Murillo Y GarufiRussiaAsiya Javayant QUALIFIED
Wickens P BologniaUnited KingdomAmy Elsner NEW
Tony O MaletCanadaAsiya Javayant RENEWAL
Antonio G PerinFranceAnna Fali UNQUALIFIED
Greenwood Q CampainRussiaIvan Magalhaes NEW
Maisha O SchemmerFranceBernardo Dominic UNQUALIFIED
Mujtaba V MarrierIndiaAnna Fali NEGOTIATION
Ashley P InouyeAustraliaIvan Magalhaes NEGOTIATION
Costa D ButtItalyOnyama Limba NEGOTIATION
Stacey V RutaAustraliaXuxue Feng QUALIFIED
Deepesh Y CaldareraRussiaStephen Shaw QUALIFIED
Cody Q SchemmerFranceIvan Magalhaes NEGOTIATION
Costa B GillianGermanyAsiya Javayant UNQUALIFIED
Isabel H NestleCanadaXuxue Feng QUALIFIED
Cody L MacleadUnited KingdomIvan Magalhaes UNQUALIFIED
Mujtaba E IturbideBrazilXuxue Feng NEGOTIATION
David K VenereArgentinaIoni Bowcher PROPOSAL
Leja H GlickItalyAnna Fali NEW

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