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
Aika W GauchoJapanBernardo Dominic UNQUALIFIED
Adams U FollerJapanAmy Elsner RENEWAL
Faith P NestleArgentinaAmy Elsner RENEWAL
Aditya S ButtSpainElwin Sharvill NEGOTIATION
Aditya V NickaCanadaAsiya Javayant UNQUALIFIED
Ashley E OldroydBrazilStephen Shaw UNQUALIFIED
Julie Q GlickSpainAsiya Javayant PROPOSAL
Jennifer Y DarakjySpainBernardo Dominic QUALIFIED
Morrow V MacleadSpainAnna Fali NEW
Jennifer I TollnerSpainElwin Sharvill UNQUALIFIED
Octavia Y AlbaresItalyAsiya Javayant QUALIFIED
Cody U StensethCanadaElwin Sharvill PROPOSAL
Cody Q FerenczBrazilAnna Fali NEW
Izzy N MaletItalyStephen Shaw NEGOTIATION
Nicolas K WieserRussiaAmy Elsner NEW
Aika N PaprockiItalyElwin Sharvill RENEWAL
Mujtaba V InouyeGermanyIoni Bowcher QUALIFIED
Salvatore C InouyeRussiaBernardo Dominic RENEWAL
Wickens Z RimBrazilIvan Magalhaes UNQUALIFIED
Costa M FollerAustraliaBernardo Dominic NEGOTIATION
Morrow H NickaFranceAmy Elsner NEGOTIATION
Claire Q DoeBrazilAsiya Javayant QUALIFIED
Clifford I CampainSpainStephen Shaw QUALIFIED
Darci Y CampainCanadaAnna Fali RENEWAL
Tony P StensethGermanyOnyama Limba NEGOTIATION
Juan W MaletFranceIoni Bowcher UNQUALIFIED
Emily P GlickRussiaAsiya Javayant NEGOTIATION
Jennifer G NickaUnited KingdomIvan Magalhaes UNQUALIFIED
Tony L BowleyArgentinaIvan Magalhaes NEW
Juan S CampainCanadaIoni Bowcher QUALIFIED
Adams O CaudyIndiaStephen Shaw UNQUALIFIED
Mujtaba L OldroydFranceIvan Magalhaes UNQUALIFIED
Wickens A SlusarskiSpainOnyama Limba PROPOSAL
Julie Z BologniaAustraliaOnyama Limba RENEWAL
Cody V AmigonAustraliaIoni Bowcher QUALIFIED
Mayumi A TollnerJapanStephen Shaw PROPOSAL
David Y BowleyCanadaAmy Elsner UNQUALIFIED
Maria H NestleItalyBernardo Dominic NEGOTIATION
Mujtaba C FollerArgentinaAsiya Javayant QUALIFIED
Tony K MaletArgentinaStephen Shaw NEGOTIATION
Claire S MaletIndiaAsiya Javayant PROPOSAL
David P StockhamIndiaStephen Shaw PROPOSAL
Smith N StensethCanadaStephen Shaw QUALIFIED
Murillo F BologniaBrazilOnyama Limba QUALIFIED
Clifford T DarakjyIndiaBernardo Dominic QUALIFIED
Aruna V ShinkoAustraliaIoni Bowcher PROPOSAL
Clifford I OstroskyJapanElwin Sharvill RENEWAL
Alejandro J CaudySpainXuxue Feng NEGOTIATION
Jennifer Z OldroydGermanyBernardo Dominic RENEWAL
Smith U KolmetzIndiaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin I SaylorsFranceAmy Elsner PROPOSAL
James C AmigonJapanOnyama Limba RENEWAL
Murillo G WieserIndiaBernardo Dominic NEGOTIATION
Ricardo R SaylorsSpainIvan Magalhaes UNQUALIFIED
Jeanfrancois I BriddickIndiaXuxue Feng NEGOTIATION
Arvin H GlickJapanIoni Bowcher QUALIFIED
Claire Y OldroydIndiaIvan Magalhaes QUALIFIED
Kaitlin Q MarrierItalyOnyama Limba RENEWAL
Silvio F MaletIndiaIoni Bowcher RENEWAL
Julie K FlosiCanadaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas O FlosiRussia2024-06-01Chemel, James L Cpa PROPOSAL78Onyama Limba
1001Deepesh U FollerGermany2024-06-18Truhlar And Truhlar Attys PROPOSAL60Onyama Limba
1002Aruna M WieserSpain2024-06-17Feltz Printing Service NEW63Elwin Sharvill
1003Mayumi Y InouyeBrazil2024-06-01Feltz Printing Service QUALIFIED75Stephen Shaw
1004Cody A RutaCanada2024-06-15Morlong Associates PROPOSAL67Elwin Sharvill
1005Emily W AmigonItaly2024-06-18Feiner Bros RENEWAL71Bernardo Dominic
1006Aruna E OldroydGermany2024-06-05Benton, John B Jr UNQUALIFIED31Bernardo Dominic
1007Greenwood L SaylorsItaly2024-05-29Printing Dimensions UNQUALIFIED78Ivan Magalhaes
1008Sinclair N FollerFrance2024-05-31Printing Dimensions QUALIFIED24Anna Fali
1009Kaitlin S GarufiFrance2024-06-11Benton, John B Jr UNQUALIFIED90Xuxue Feng
1010Deepesh C AlbaresIndia2024-06-20Rousseaux, Michael Esq UNQUALIFIED64Stephen Shaw
1011Aditya G SlusarskiAustralia2024-06-19Chapman, Ross E Esq RENEWAL88Ioni Bowcher
1012Darci T WhobreyAustralia2024-06-14Buckley Miller Wright QUALIFIED76Xuxue Feng
1013Leon I GauchoAustralia2024-06-22Rousseaux, Michael Esq QUALIFIED25Onyama Limba
1014Clifford D KuskoSpain2024-05-27Chemel, James L Cpa NEGOTIATION88Bernardo Dominic
1015Alejandro D RulapaughJapan2024-06-01Rangoni Of Florence RENEWAL97Elwin Sharvill
1016Francesco Z NickaUnited Kingdom2024-05-28Rousseaux, Michael Esq NEGOTIATION41Bernardo Dominic
1017Kadeem J SaylorsAustralia2024-06-13Feltz Printing Service NEGOTIATION38Onyama Limba
1018Mujtaba U WhobreySpain2024-06-20Truhlar And Truhlar Attys NEGOTIATION90Stephen Shaw
1019Arvin B IturbideJapan2024-06-21Chapman, Ross E Esq UNQUALIFIED47Ioni Bowcher
1020Leja O TollnerFrance2024-06-01Printing Dimensions NEGOTIATION15Stephen Shaw
1021Aditya J VenereUnited Kingdom2024-05-25Chanay, Jeffrey A Esq NEW11Onyama Limba
1022Jones H InouyeBrazil2024-06-12Chemel, James L Cpa RENEWAL92Asiya Javayant
1023Jennifer J FerenczCanada2024-06-03Feltz Printing Service UNQUALIFIED9Amy Elsner
1024Octavia U RutaSpain2024-06-22Feiner Bros NEGOTIATION23Ivan Magalhaes
1025Aika C FerenczArgentina2024-05-25Chapman, Ross E Esq QUALIFIED18Onyama Limba
1026Murillo C StensethUnited Kingdom2024-06-07Feltz Printing Service UNQUALIFIED18Ioni Bowcher
1027Leon S FigeroaIndia2024-06-21Chanay, Jeffrey A Esq PROPOSAL27Asiya Javayant
1028Maisha K CaldareraArgentina2024-06-04Printing Dimensions RENEWAL80Anna Fali
1029Stacey C DilliardItaly2024-06-13Dorl, James J Esq NEGOTIATION24Onyama Limba
1030Sinclair K SlusarskiAustralia2024-06-15Benton, John B Jr UNQUALIFIED77Xuxue Feng
1031Stacey C NickaItaly2024-06-02Chemel, James L Cpa PROPOSAL12Stephen Shaw
1032David H GillianItaly2024-06-06Rangoni Of Florence NEGOTIATION77Ivan Magalhaes
1033Ivar L RulapaughCanada2024-06-16Feiner Bros RENEWAL76Ivan Magalhaes
1034Ashley O BriddickBrazil2024-05-26Feltz Printing Service QUALIFIED36Onyama Limba
1035Murillo M GlickFrance2024-06-05Benton, John B Jr UNQUALIFIED5Xuxue Feng
1036Emily J RutaCanada2024-05-30Morlong Associates NEW40Xuxue Feng
1037Faith M SergiItaly2024-06-14Dorl, James J Esq NEGOTIATION88Amy Elsner
1038Jennifer N IturbideIndia2024-06-13Commercial Press NEGOTIATION82Xuxue Feng
1039Tony S RulapaughArgentina2024-06-09Printing Dimensions QUALIFIED59Xuxue Feng
1040Kaitlin M PoquetteFrance2024-05-29Feiner Bros NEGOTIATION96Anna Fali
1041Munro D RimFrance2024-05-29Feiner Bros UNQUALIFIED34Onyama Limba
1042Munro H PerinAustralia2024-06-04Truhlar And Truhlar Attys QUALIFIED48Amy Elsner
1043Tony A VocelkaItaly2024-05-31Benton, John B Jr NEGOTIATION5Asiya Javayant
1044David U SchemmerCanada2024-06-18Rangoni Of Florence PROPOSAL13Asiya Javayant
1045Deepesh D IturbideJapan2024-06-20Feltz Printing Service NEGOTIATION35Amy Elsner
1046Wickens K AlbaresArgentina2024-06-06King, Christopher A Esq PROPOSAL47Amy Elsner
1047Chavez T VocelkaIndia2024-06-15Rangoni Of Florence PROPOSAL94Xuxue Feng
1048Ricardo S RoysterJapan2024-06-20Chanay, Jeffrey A Esq NEGOTIATION52Asiya Javayant
1049Maisha Z WieserAustralia2024-06-16Morlong Associates NEGOTIATION63Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Salvatore D InouyeJapanAsiya Javayant UNQUALIFIED
Salvatore V WhobreyGermanyStephen Shaw QUALIFIED
Munro D GarufiSpainElwin Sharvill NEGOTIATION
Ashley U NickaJapanIvan Magalhaes PROPOSAL
Izzy X VocelkaFranceIoni Bowcher QUALIFIED
Jennifer M BriddickFranceXuxue Feng UNQUALIFIED
Antonio U MaletIndiaBernardo Dominic UNQUALIFIED
Izzy T MarrierFranceStephen Shaw NEW
Jeanfrancois Y FlosiFranceStephen Shaw RENEWAL
Chavez E AlbaresJapanBernardo Dominic NEW
Johnson T CaldareraFranceAnna Fali UNQUALIFIED
Sinclair E SergiUnited KingdomXuxue Feng NEW
Aruna S NestleFranceStephen Shaw PROPOSAL
Ivar S RutaBrazilAmy Elsner UNQUALIFIED
David A DilliardRussiaOnyama Limba NEW
Ivar P VocelkaUnited KingdomAnna Fali NEW
Isabel P OldroydBrazilIvan Magalhaes NEW
Kaitlin F OldroydSpainIoni Bowcher NEW
Tony C FigeroaIndiaIvan Magalhaes NEGOTIATION
Izzy O RutaFranceOnyama Limba RENEWAL
Ivar O CaudyUnited KingdomXuxue Feng QUALIFIED
David W GillianFranceIvan Magalhaes QUALIFIED
Jefferson H WhobreyItalyAnna Fali NEGOTIATION
Ashley G OldroydBrazilXuxue Feng QUALIFIED
Jefferson J StockhamItalyElwin Sharvill RENEWAL
Aika Q SergiFranceXuxue Feng NEW
Francesco B ButtBrazilAsiya Javayant NEW
Morrow I WaycottFranceIoni Bowcher NEW
Wickens D PerinFranceIvan Magalhaes NEGOTIATION
Tony K InouyeArgentinaElwin Sharvill UNQUALIFIED
Jones Z RulapaughIndiaBernardo Dominic NEGOTIATION
Izzy M WaycottJapanIvan Magalhaes RENEWAL
Maria B TollnerJapanOnyama Limba QUALIFIED
Darci D MaletIndiaOnyama Limba PROPOSAL
Juan P MaletSpainIvan Magalhaes QUALIFIED
Ricardo R RutaRussiaOnyama Limba RENEWAL
Rodrigues S WaycottSpainElwin Sharvill NEGOTIATION
Misaki T TollnerItalyXuxue Feng RENEWAL
Jennifer E MorascaUnited KingdomXuxue Feng UNQUALIFIED
Cody A BriddickAustraliaAsiya Javayant QUALIFIED
Misaki U BriddickIndiaElwin Sharvill NEW
Costa C GillianArgentinaElwin Sharvill PROPOSAL
Emily H GarufiIndiaIvan Magalhaes QUALIFIED
Ricardo Y CaudyRussiaOnyama Limba RENEWAL
Ricardo P MarrierItalyAmy Elsner NEW
Aruna E MorascaRussiaXuxue Feng QUALIFIED
Salvatore K GlickUnited KingdomElwin Sharvill NEGOTIATION
Johnson P FollerAustraliaAnna Fali RENEWAL
Costa B VenereRussiaAnna Fali RENEWAL
Greenwood L BriddickUnited KingdomAsiya Javayant NEW
Frozen Columns
Name
Claire N Gillian
Ricardo Y Sergi
Tony U Royster
Tony J Wieser
Ricardo V Royster
Jones Q Glick
Leon V Royster
Izzy R Stockham
Maisha V Kolmetz
Johnson Q Stenseth
Kaitlin O Flosi
Deepesh O Paprocki
Juan J Bolognia
Mujtaba N Inouye
Maisha X Doe
James X Royster
Maria E Campain
Aika P Sergi
Leon C Malet
Leja B Bowley
Johnson D Oldroyd
Kaitlin Z Briddick
Costa C Marrier
Johnson Y Caldarera
Silvio J Inouye
Darci Q Ferencz
Kadeem L Foller
Ashley V Sergi
Jefferson Y Perin
Jennifer I Ferencz
Francesco M Marrier
Isabel H Royster
Isabel T Amigon
Antonio X Shinko
Silvio N Whobrey
Misaki A Glick
Jones E Rulapaugh
Ricardo B Chui
Munro Z Poquette
Leja S Marrier
Alejandro I Bolognia
Stacey G Saylors
Cody L Chui
Izzy C Albares
Antonio P Glick
Jones E Garufi
Izzy I Royster
Kadeem D Doe
Claire S Ostrosky
Munro R Gillian
IdCountryDate
1000Germany2024-06-17
1001Germany2024-06-15
1002Japan2024-06-07
1003Canada2024-06-22
1004Japan2024-05-25
1005Germany2024-05-24
1006United Kingdom2024-06-07
1007Australia2024-06-02
1008United Kingdom2024-06-01
1009Brazil2024-06-09
1010Argentina2024-06-10
1011Brazil2024-06-21
1012Argentina2024-06-15
1013Argentina2024-06-06
1014Spain2024-05-29
1015Spain2024-05-29
1016India2024-05-24
1017Argentina2024-06-01
1018Argentina2024-06-07
1019Argentina2024-06-04
1020France2024-05-24
1021Brazil2024-05-28
1022Australia2024-06-19
1023Canada2024-06-12
1024Australia2024-06-04
1025Russia2024-06-16
1026Australia2024-06-15
1027Germany2024-05-31
1028Germany2024-06-06
1029Brazil2024-05-24
1030France2024-06-14
1031United Kingdom2024-06-10
1032Australia2024-06-12
1033Argentina2024-05-25
1034Canada2024-06-04
1035United Kingdom2024-06-08
1036Italy2024-05-24
1037Italy2024-06-07
1038United Kingdom2024-06-10
1039Spain2024-05-26
1040Australia2024-06-09
1041Canada2024-06-03
1042Germany2024-05-25
1043Canada2024-06-08
1044Russia2024-06-04
1045Japan2024-05-28
1046Russia2024-06-22
1047Japan2024-06-10
1048United Kingdom2024-06-08
1049Russia2024-05-24

On-Demand Data

NameIdCountryDate
Silvio G Dilliard1000France2024-05-25
Jennifer Z Iturbide1001Canada2024-06-09
Claire G Nicka1002Germany2024-06-02
Rodrigues Y Morasca1003Canada2024-05-26
Arvin V Oldroyd1004Spain2024-06-11
Ashley X Briddick1005India2024-06-06
Stacey Y Ferencz1006Germany2024-06-04
Isabel V Nestle1007Spain2024-06-05
James Z Amigon1008Argentina2024-05-26
James X Figeroa1009Brazil2024-05-25
Clifford S Rim1010Italy2024-06-05
Francesco N Whobrey1011Canada2024-06-13
Alejandro X Bolognia1012India2024-06-15
Mujtaba Z Inouye1013United Kingdom2024-06-01
Leja Q Whobrey1014Russia2024-05-24
Francesco S Caudy1015Canada2024-06-11
Maria F Venere1016Australia2024-06-16
Julie R Shinko1017Canada2024-05-29
Morrow W Gillian1018Australia2024-06-04
Kaitlin X Slusarski1019United Kingdom2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh H OldroydFranceAsiya Javayant NEGOTIATION
Francesco F InouyeFranceElwin Sharvill PROPOSAL
Aruna Z CaudyBrazilStephen Shaw RENEWAL
Nicolas E MaletItalyStephen Shaw RENEWAL
Nicolas A NickaFranceAmy Elsner RENEWAL
Leja V DoeIndiaAmy Elsner NEW
Juan R WaycottGermanyAsiya Javayant QUALIFIED
Darci L MarrierJapanElwin Sharvill UNQUALIFIED
Juan K KuskoItalyAnna Fali PROPOSAL
Jones E WieserCanadaIoni Bowcher NEGOTIATION
Isabel U NickaGermanyBernardo Dominic NEGOTIATION
Salvatore K FigeroaUnited KingdomStephen Shaw QUALIFIED
Aika P PoquetteAustraliaIvan Magalhaes NEW
Arvin B VocelkaUnited KingdomStephen Shaw RENEWAL
Ashley G FerenczGermanyStephen Shaw NEW
Emily Y GauchoIndiaAnna Fali NEGOTIATION
Mujtaba U OstroskyArgentinaOnyama Limba UNQUALIFIED
Ricardo L CaldareraFranceIvan Magalhaes UNQUALIFIED
Johnson M GauchoIndiaIoni Bowcher RENEWAL
Jeanfrancois K RutaItalyStephen Shaw PROPOSAL
Sinclair P ButtAustraliaAmy Elsner NEGOTIATION
Izzy K IturbideItalyElwin Sharvill QUALIFIED
Jeanfrancois Y ShinkoItalyBernardo Dominic NEW
Cody F SaylorsAustraliaIvan Magalhaes NEGOTIATION
Wickens L WieserIndiaAsiya Javayant NEGOTIATION
Maria X GillianJapanStephen Shaw RENEWAL
Adams C ShinkoAustraliaIvan Magalhaes NEGOTIATION
Clifford E BologniaRussiaAsiya Javayant RENEWAL
Jennifer S MacleadAustraliaAsiya Javayant NEW
Izzy E CaldareraSpainXuxue Feng NEGOTIATION
Johnson B GlickArgentinaStephen Shaw NEGOTIATION
Adams L ChuiItalyAmy Elsner RENEWAL
Silvio G StockhamCanadaOnyama Limba QUALIFIED
Leja N DoeJapanIoni Bowcher NEGOTIATION
Aruna A FollerJapanStephen Shaw PROPOSAL
Alejandro H IturbideRussiaBernardo Dominic RENEWAL
Munro M MacleadArgentinaIvan Magalhaes RENEWAL
Stacey T AmigonFranceBernardo Dominic RENEWAL
Ashley I CaldareraIndiaOnyama Limba NEGOTIATION
Faith W RulapaughFranceStephen Shaw RENEWAL

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