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
Chavez G KolmetzGermanyAmy Elsner NEW
Julie J PaprockiGermanyStephen Shaw QUALIFIED
Morrow R RoysterUnited KingdomOnyama Limba RENEWAL
Darci E RoysterCanadaIoni Bowcher NEGOTIATION
Aika A GillianItalyXuxue Feng NEW
Ashley A PoquetteAustraliaIvan Magalhaes PROPOSAL
Stacey T DoeItalyAmy Elsner UNQUALIFIED
Silvio M GlickBrazilAsiya Javayant NEW
Deepesh H SaylorsAustraliaXuxue Feng RENEWAL
Leja E CampainAustraliaStephen Shaw RENEWAL
David P IturbideArgentinaOnyama Limba NEGOTIATION
Stacey N GlickBrazilAnna Fali PROPOSAL
Darci W GillianArgentinaElwin Sharvill NEW
Smith I CaudyBrazilElwin Sharvill UNQUALIFIED
Leja Y FigeroaArgentinaElwin Sharvill UNQUALIFIED
Chavez U PaprockiArgentinaElwin Sharvill NEW
Misaki W BologniaUnited KingdomElwin Sharvill PROPOSAL
Kaitlin M SaylorsRussiaIvan Magalhaes QUALIFIED
James V MarrierBrazilElwin Sharvill PROPOSAL
James F PerinAustraliaXuxue Feng UNQUALIFIED
Jones A RoysterAustraliaAmy Elsner NEGOTIATION
Antonio T SlusarskiUnited KingdomAsiya Javayant UNQUALIFIED
Isabel J ButtAustraliaBernardo Dominic NEW
Leja O FerenczAustraliaAsiya Javayant NEGOTIATION
Mujtaba J ChuiBrazilAmy Elsner NEW
Misaki K NickaBrazilIoni Bowcher QUALIFIED
Kadeem Y GlickBrazilOnyama Limba RENEWAL
Clifford P NestleCanadaIoni Bowcher QUALIFIED
Jefferson C VenereFranceElwin Sharvill UNQUALIFIED
Izzy W FigeroaCanadaAsiya Javayant NEGOTIATION
Kadeem O VenereJapanIoni Bowcher RENEWAL
Johnson S SchemmerItalyIoni Bowcher PROPOSAL
Wickens A OldroydAustraliaXuxue Feng RENEWAL
Nicolas G GarufiCanadaAsiya Javayant PROPOSAL
Morrow F NestleFranceBernardo Dominic NEW
Mayumi E FollerSpainStephen Shaw NEGOTIATION
James N BriddickRussiaElwin Sharvill NEW
Antonio Y RimCanadaAsiya Javayant NEGOTIATION
Mujtaba K OstroskySpainStephen Shaw RENEWAL
Johnson V GillianFranceAnna Fali QUALIFIED
Chavez D InouyeJapanXuxue Feng QUALIFIED
Jefferson I FollerRussiaOnyama Limba NEW
Morrow R PoquetteSpainXuxue Feng RENEWAL
Kadeem L FerenczUnited KingdomIvan Magalhaes QUALIFIED
Aruna E IturbideUnited KingdomOnyama Limba NEW
Ricardo O RutaGermanyOnyama Limba UNQUALIFIED
Francesco A PaprockiRussiaElwin Sharvill PROPOSAL
Rodrigues F MaletCanadaAnna Fali QUALIFIED
Ivar V KolmetzUnited KingdomOnyama Limba PROPOSAL
Nicolas D SchemmerArgentinaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody V MacleadCanadaAsiya Javayant NEGOTIATION
Jeanfrancois O ButtUnited KingdomStephen Shaw NEW
Greenwood P MaletCanadaIoni Bowcher QUALIFIED
David R ShinkoUnited KingdomBernardo Dominic PROPOSAL
Juan I CampainBrazilStephen Shaw QUALIFIED
Salvatore W DoeJapanOnyama Limba PROPOSAL
Sinclair Z VenereAustraliaBernardo Dominic PROPOSAL
Juan T RimGermanyIoni Bowcher NEW
Adams X PoquetteUnited KingdomAnna Fali QUALIFIED
Greenwood C OldroydRussiaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin M WhobreyFrance2025-05-18Feiner Bros PROPOSAL13Onyama Limba
1001Mujtaba B RulapaughUnited Kingdom2025-06-05Buckley Miller Wright UNQUALIFIED63Xuxue Feng
1002Cody P VenereRussia2025-06-02Feiner Bros NEW28Anna Fali
1003Jones I DilliardGermany2025-05-28Truhlar And Truhlar Attys NEGOTIATION95Xuxue Feng
1004Aditya K SergiArgentina2025-06-16Chemel, James L Cpa RENEWAL78Ivan Magalhaes
1005Sinclair A ShinkoCanada2025-06-10Chemel, James L Cpa PROPOSAL13Xuxue Feng
1006Sinclair U SchemmerCanada2025-06-07Buckley Miller Wright PROPOSAL83Amy Elsner
1007Sinclair C RutaIndia2025-05-25Feiner Bros UNQUALIFIED80Asiya Javayant
1008Antonio N ChuiJapan2025-06-09Feltz Printing Service QUALIFIED10Amy Elsner
1009Munro U GlickSpain2025-06-05Feiner Bros PROPOSAL65Anna Fali
1010Deepesh N MacleadUnited Kingdom2025-06-16Chanay, Jeffrey A Esq RENEWAL26Bernardo Dominic
1011Salvatore E GauchoArgentina2025-06-15Truhlar And Truhlar Attys RENEWAL3Ivan Magalhaes
1012Leja D GarufiRussia2025-06-13Rousseaux, Michael Esq PROPOSAL10Asiya Javayant
1013Alejandro I AmigonFrance2025-05-23Printing Dimensions QUALIFIED19Amy Elsner
1014Aruna T BriddickIndia2025-05-20Truhlar And Truhlar Attys NEW22Anna Fali
1015Francesco A RimBrazil2025-06-12Chanay, Jeffrey A Esq NEW1Bernardo Dominic
1016Izzy B SchemmerCanada2025-06-12Feltz Printing Service NEW18Anna Fali
1017Darci P BriddickRussia2025-06-08Feltz Printing Service RENEWAL81Xuxue Feng
1018Ashley O ButtGermany2025-05-23Benton, John B Jr NEW40Anna Fali
1019Munro J MarrierCanada2025-06-16Truhlar And Truhlar Attys UNQUALIFIED24Stephen Shaw
1020Juan H ButtJapan2025-05-24Benton, John B Jr PROPOSAL74Asiya Javayant
1021Arvin V FollerCanada2025-06-08Morlong Associates RENEWAL64Elwin Sharvill
1022Antonio K MarrierUnited Kingdom2025-05-29Chapman, Ross E Esq PROPOSAL53Bernardo Dominic
1023Ivar A FlosiJapan2025-05-23Rangoni Of Florence NEGOTIATION13Ivan Magalhaes
1024Murillo W KuskoIndia2025-06-03Rangoni Of Florence PROPOSAL50Stephen Shaw
1025Emily F PerinAustralia2025-05-24Feltz Printing Service NEGOTIATION39Elwin Sharvill
1026Maisha X FollerIndia2025-05-20Chapman, Ross E Esq NEW62Xuxue Feng
1027Chavez V ShinkoCanada2025-06-16Truhlar And Truhlar Attys UNQUALIFIED59Stephen Shaw
1028Ricardo A AlbaresArgentina2025-06-11King, Christopher A Esq QUALIFIED95Amy Elsner
1029Julie T MarrierBrazil2025-06-04Truhlar And Truhlar Attys PROPOSAL87Stephen Shaw
1030Leon O FigeroaIndia2025-06-07Chapman, Ross E Esq NEGOTIATION57Elwin Sharvill
1031Clifford T IturbideItaly2025-06-07Rangoni Of Florence NEGOTIATION12Bernardo Dominic
1032Clifford U MaletIndia2025-05-28King, Christopher A Esq NEW98Bernardo Dominic
1033Cody M MaletItaly2025-05-25Printing Dimensions QUALIFIED96Amy Elsner
1034Maria F VocelkaUnited Kingdom2025-06-02Chemel, James L Cpa RENEWAL71Onyama Limba
1035Jeanfrancois N MacleadFrance2025-05-31Morlong Associates RENEWAL86Elwin Sharvill
1036Isabel T WieserJapan2025-05-24King, Christopher A Esq UNQUALIFIED74Stephen Shaw
1037Kadeem V NestleItaly2025-06-15Benton, John B Jr NEGOTIATION46Stephen Shaw
1038Adams C PaprockiSpain2025-05-18Chapman, Ross E Esq QUALIFIED7Ivan Magalhaes
1039Aditya W DilliardCanada2025-06-07Truhlar And Truhlar Attys NEW22Amy Elsner
1040Jeanfrancois U DarakjyItaly2025-06-14Benton, John B Jr RENEWAL40Onyama Limba
1041Misaki M BowleyAustralia2025-05-31Printing Dimensions RENEWAL62Amy Elsner
1042Tony M BologniaSpain2025-06-11Truhlar And Truhlar Attys PROPOSAL79Amy Elsner
1043Sinclair Q NickaUnited Kingdom2025-06-13Feltz Printing Service UNQUALIFIED4Anna Fali
1044Juan H SergiUnited Kingdom2025-06-14Truhlar And Truhlar Attys UNQUALIFIED4Xuxue Feng
1045Jennifer B GillianItaly2025-06-06Feltz Printing Service NEW35Amy Elsner
1046Rodrigues C WieserAustralia2025-06-11Feiner Bros PROPOSAL64Amy Elsner
1047Aditya P FigeroaRussia2025-05-22King, Christopher A Esq QUALIFIED36Asiya Javayant
1048Deepesh U VocelkaItaly2025-06-16King, Christopher A Esq UNQUALIFIED99Xuxue Feng
1049Mayumi A VocelkaAustralia2025-06-02Chapman, Ross E Esq PROPOSAL11Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Stacey M PaprockiGermanyAnna Fali QUALIFIED
Ivar L RimUnited KingdomAmy Elsner NEW
Claire Q GarufiFranceOnyama Limba RENEWAL
Tony Q CampainCanadaBernardo Dominic RENEWAL
Jefferson K SergiArgentinaAsiya Javayant PROPOSAL
Ashley G MaletIndiaElwin Sharvill UNQUALIFIED
Emily E OstroskyAustraliaAmy Elsner NEGOTIATION
Kaitlin B BriddickAustraliaAnna Fali NEGOTIATION
Mayumi I RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Jefferson P StockhamAustraliaBernardo Dominic UNQUALIFIED
Faith K VocelkaItalyAnna Fali NEGOTIATION
Jefferson K KuskoFranceOnyama Limba NEW
Isabel M MacleadJapanBernardo Dominic NEW
Emily E MarrierCanadaIoni Bowcher RENEWAL
Jennifer G ButtArgentinaXuxue Feng UNQUALIFIED
Ashley V NickaIndiaAsiya Javayant NEW
Faith E PaprockiAustraliaIoni Bowcher NEGOTIATION
Alejandro F MaletBrazilIvan Magalhaes RENEWAL
Faith D SaylorsRussiaElwin Sharvill RENEWAL
Murillo S CaudyAustraliaIvan Magalhaes UNQUALIFIED
Ashley H FerenczArgentinaAmy Elsner QUALIFIED
Morrow D DoeUnited KingdomAnna Fali NEGOTIATION
Jones C RulapaughCanadaOnyama Limba PROPOSAL
Emily T FollerAustraliaIvan Magalhaes RENEWAL
Juan L MaletFranceElwin Sharvill NEW
Jennifer E AlbaresArgentinaIoni Bowcher NEW
Jennifer U CampainRussiaElwin Sharvill QUALIFIED
Salvatore E MacleadArgentinaElwin Sharvill NEW
Jennifer P DilliardAustraliaStephen Shaw PROPOSAL
Kaitlin U RoysterFranceIvan Magalhaes RENEWAL
Leja X BologniaRussiaXuxue Feng NEW
Ricardo Q OldroydArgentinaXuxue Feng NEGOTIATION
Ivar I CaudySpainElwin Sharvill RENEWAL
Jefferson I GlickUnited KingdomAmy Elsner NEGOTIATION
Ricardo J PerinGermanyAmy Elsner NEW
Sinclair V SergiJapanStephen Shaw PROPOSAL
Jones G VocelkaSpainElwin Sharvill RENEWAL
Francesco W DoeIndiaAnna Fali NEGOTIATION
Misaki R DoeJapanBernardo Dominic RENEWAL
Mujtaba Z FerenczUnited KingdomAmy Elsner NEW
Julie K VenereJapanStephen Shaw RENEWAL
Antonio R BriddickFranceBernardo Dominic PROPOSAL
Rodrigues H AlbaresUnited KingdomElwin Sharvill PROPOSAL
Darci X SergiGermanyIvan Magalhaes UNQUALIFIED
Costa O BologniaGermanyBernardo Dominic UNQUALIFIED
Ashley T KuskoJapanAmy Elsner QUALIFIED
Rodrigues Q RulapaughAustraliaAnna Fali UNQUALIFIED
Antonio Q FigeroaGermanyXuxue Feng UNQUALIFIED
James C PerinCanadaIvan Magalhaes RENEWAL
Kadeem X WaycottItalyIvan Magalhaes RENEWAL
Frozen Columns
Name
Jennifer N Foller
Maria R Saylors
David S Kolmetz
Leja P Inouye
Arvin Y Darakjy
David U Gillian
Juan Y Malet
Costa D Kolmetz
Smith H Marrier
Kadeem M Nestle
Nicolas D Gaucho
Sinclair K Morasca
Cody O Glick
Munro G Caudy
Misaki A Slusarski
Aditya B Nicka
Stacey G Caudy
Aruna E Saylors
Emily N Waycott
Sinclair G Foller
Leja X Rim
Kadeem P Marrier
Maisha A Iturbide
Kadeem G Saylors
Maisha G Briddick
Isabel A Foller
Ivar E Saylors
Murillo W Shinko
Morrow U Stockham
Ivar W Dilliard
Arvin E Caldarera
Costa B Inouye
Tony P Ostrosky
Stacey C Iturbide
Stacey P Vocelka
Darci I Doe
Nicolas S Slusarski
Faith H Caldarera
Adams U Doe
Stacey Z Garufi
Jones K Slusarski
Rodrigues W Vocelka
Julie V Malet
Morrow C Bowley
Sinclair C Bolognia
Stacey L Morasca
Isabel B Briddick
Sinclair R Kolmetz
Silvio K Inouye
Greenwood D Sergi
IdCountryDate
1000Australia2025-06-04
1001Italy2025-06-12
1002Argentina2025-06-07
1003Australia2025-05-24
1004Australia2025-06-11
1005Australia2025-06-01
1006Australia2025-05-29
1007Germany2025-06-02
1008Brazil2025-06-10
1009United Kingdom2025-05-19
1010Russia2025-06-06
1011Germany2025-06-15
1012United Kingdom2025-06-05
1013Japan2025-05-26
1014Russia2025-05-18
1015India2025-05-20
1016Russia2025-06-04
1017India2025-05-30
1018Germany2025-06-01
1019Canada2025-05-27
1020Argentina2025-05-31
1021Brazil2025-06-02
1022Italy2025-06-16
1023United Kingdom2025-06-14
1024France2025-05-29
1025Japan2025-06-11
1026Japan2025-05-29
1027India2025-05-26
1028France2025-05-31
1029India2025-05-26
1030Australia2025-06-14
1031Japan2025-06-16
1032Italy2025-06-09
1033India2025-05-29
1034Argentina2025-06-04
1035France2025-06-07
1036Canada2025-06-04
1037Russia2025-06-06
1038Japan2025-05-19
1039Canada2025-06-02
1040Japan2025-06-10
1041Argentina2025-05-29
1042Germany2025-06-01
1043Russia2025-06-04
1044United Kingdom2025-05-31
1045Germany2025-06-01
1046Brazil2025-06-01
1047France2025-05-30
1048Argentina2025-05-24
1049Canada2025-06-16

On-Demand Data

NameIdCountryDate
David V Malet1000United Kingdom2025-05-27
Silvio I Iturbide1001Japan2025-05-21
Maria D Bowley1002Russia2025-06-12
Jennifer R Vocelka1003India2025-05-19
Kaitlin K Tollner1004Argentina2025-06-15
Mujtaba B Flosi1005Germany2025-06-13
Adams I Iturbide1006Germany2025-05-19
Costa K Royster1007Argentina2025-06-06
Greenwood I Ruta1008India2025-06-13
Claire H Amigon1009India2025-06-07
Rodrigues S Garufi1010Italy2025-06-13
Smith F Gillian1011Germany2025-05-28
Johnson Q Oldroyd1012India2025-06-01
Izzy C Gaucho1013Spain2025-05-28
Aika J Perin1014Australia2025-05-30
Clifford H Flosi1015Argentina2025-05-21
Faith X Tollner1016Japan2025-06-16
Smith L Ruta1017Italy2025-06-11
Munro Y Maclead1018Japan2025-05-21
Claire H Bolognia1019Canada2025-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia O GlickCanadaAnna Fali NEW
Nicolas B RoysterAustraliaIvan Magalhaes QUALIFIED
Mujtaba W MaletGermanyElwin Sharvill QUALIFIED
Izzy U AmigonBrazilOnyama Limba UNQUALIFIED
Juan C AlbaresCanadaAsiya Javayant UNQUALIFIED
Cody T CampainIndiaElwin Sharvill QUALIFIED
Deepesh N NickaSpainIoni Bowcher RENEWAL
Antonio T MorascaBrazilAnna Fali RENEWAL
Aditya I NickaArgentinaAmy Elsner QUALIFIED
Jones O KuskoUnited KingdomElwin Sharvill NEGOTIATION
Leon T FollerFranceAsiya Javayant NEW
Jennifer C SaylorsIndiaAmy Elsner QUALIFIED
Ivar M GlickItalyStephen Shaw UNQUALIFIED
Jones L FollerBrazilStephen Shaw RENEWAL
Jones X GillianUnited KingdomElwin Sharvill RENEWAL
Maisha T PoquetteArgentinaOnyama Limba NEGOTIATION
Greenwood M StensethAustraliaIoni Bowcher QUALIFIED
Darci Y StensethGermanyAsiya Javayant NEW
Darci X SergiGermanyElwin Sharvill NEGOTIATION
Isabel P VocelkaFranceAnna Fali RENEWAL
Arvin T PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Aika D AmigonItalyElwin Sharvill QUALIFIED
David H BowleyGermanyStephen Shaw NEGOTIATION
Greenwood U SchemmerGermanyIvan Magalhaes NEGOTIATION
Morrow O KolmetzJapanAnna Fali NEW
Juan E RutaSpainIoni Bowcher NEGOTIATION
Johnson X AmigonArgentinaAsiya Javayant RENEWAL
Ivar P GillianFranceXuxue Feng NEW
Ricardo B ChuiGermanyBernardo Dominic UNQUALIFIED
Kadeem X RulapaughAustraliaXuxue Feng RENEWAL
Alejandro F NickaSpainIvan Magalhaes NEW
Maisha D MaletGermanyElwin Sharvill NEW
Nicolas Y MaletSpainOnyama Limba NEW
Misaki R GauchoRussiaOnyama Limba QUALIFIED
Emily U InouyeCanadaIvan Magalhaes QUALIFIED
Ashley T BologniaUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh Y WieserRussiaAsiya Javayant QUALIFIED
Emily H DarakjyAustraliaAsiya Javayant UNQUALIFIED
Greenwood K DarakjyFranceAmy Elsner UNQUALIFIED
Leja X BowleyUnited 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>