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
Alejandro U ChuiRussiaAnna Fali RENEWAL
Adams W WieserBrazilXuxue Feng PROPOSAL
Adams C IturbideAustraliaIvan Magalhaes QUALIFIED
Ivar H MarrierArgentinaStephen Shaw NEGOTIATION
Maisha E GillianArgentinaBernardo Dominic PROPOSAL
Kaitlin A FerenczCanadaOnyama Limba NEGOTIATION
Antonio M RulapaughBrazilOnyama Limba PROPOSAL
Izzy E RoysterItalyAsiya Javayant NEGOTIATION
Mayumi M FollerJapanXuxue Feng QUALIFIED
Murillo I GillianItalyIoni Bowcher PROPOSAL
Nicolas G WaycottUnited KingdomOnyama Limba UNQUALIFIED
Deepesh Y MaletItalyStephen Shaw NEGOTIATION
Munro S FollerCanadaAnna Fali NEGOTIATION
David E GillianCanadaBernardo Dominic NEGOTIATION
Octavia C NestleBrazilIoni Bowcher RENEWAL
Adams V PaprockiUnited KingdomIvan Magalhaes RENEWAL
Octavia Z FigeroaJapanXuxue Feng PROPOSAL
David E AmigonUnited KingdomOnyama Limba RENEWAL
Adams D DoeItalyStephen Shaw QUALIFIED
Smith H PaprockiGermanyElwin Sharvill NEGOTIATION
Costa R KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Jones U KolmetzCanadaOnyama Limba NEW
Johnson M TollnerSpainAnna Fali NEGOTIATION
Maisha D DilliardCanadaIoni Bowcher PROPOSAL
Isabel L RutaFranceAsiya Javayant UNQUALIFIED
Jennifer J CaldareraRussiaAsiya Javayant RENEWAL
Stacey W RoysterUnited KingdomOnyama Limba PROPOSAL
Costa T GillianRussiaOnyama Limba NEW
Leja M RoysterSpainBernardo Dominic PROPOSAL
Aruna J InouyeIndiaAnna Fali UNQUALIFIED
Kaitlin L FerenczUnited KingdomAsiya Javayant NEGOTIATION
Leja L OstroskyJapanXuxue Feng NEW
Smith G RimItalyOnyama Limba NEGOTIATION
Tony C SaylorsRussiaStephen Shaw NEGOTIATION
Sinclair X KuskoFranceIoni Bowcher QUALIFIED
Jeanfrancois F MarrierItalyBernardo Dominic NEW
Emily N PerinItalyBernardo Dominic RENEWAL
Arvin F MorascaAustraliaXuxue Feng NEW
Stacey H FlosiUnited KingdomBernardo Dominic PROPOSAL
Silvio Z MorascaAustraliaStephen Shaw UNQUALIFIED
Munro B CampainRussiaAmy Elsner PROPOSAL
Munro E GarufiGermanyIoni Bowcher QUALIFIED
Aditya S RimGermanyBernardo Dominic PROPOSAL
Deepesh C NickaSpainBernardo Dominic RENEWAL
Johnson I ButtArgentinaAmy Elsner QUALIFIED
Mayumi Z FerenczCanadaAmy Elsner NEGOTIATION
Izzy I FollerGermanyXuxue Feng NEGOTIATION
Sinclair W WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Alejandro O DoeGermanyAnna Fali RENEWAL
Maria E MarrierUnited KingdomXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Ricardo X StockhamFranceIvan Magalhaes RENEWAL
Jennifer M AmigonUnited KingdomAnna Fali RENEWAL
Emily J CaldareraArgentinaAnna Fali PROPOSAL
Jefferson T NestleCanadaIvan Magalhaes QUALIFIED
Ashley X BriddickItalyBernardo Dominic NEGOTIATION
Costa E VocelkaBrazilOnyama Limba NEW
Juan V MarrierJapanElwin Sharvill NEGOTIATION
Jennifer I SaylorsArgentinaStephen Shaw RENEWAL
David P ShinkoArgentinaStephen Shaw NEW
Jones K PaprockiCanadaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair J TollnerCanada2025-04-24Rangoni Of Florence NEGOTIATION10Ioni Bowcher
1001Claire X SaylorsCanada2025-04-16Morlong Associates NEW45Stephen Shaw
1002Aruna I KolmetzFrance2025-04-20Truhlar And Truhlar Attys PROPOSAL92Bernardo Dominic
1003Leja O InouyeArgentina2025-04-26Chanay, Jeffrey A Esq NEGOTIATION38Onyama Limba
1004Leon N DoeFrance2025-04-29King, Christopher A Esq UNQUALIFIED2Xuxue Feng
1005Isabel U DoeItaly2025-04-26Feiner Bros NEW94Anna Fali
1006Adams E CampainFrance2025-04-15Truhlar And Truhlar Attys NEW81Elwin Sharvill
1007Tony L AmigonGermany2025-04-03Chemel, James L Cpa QUALIFIED3Ioni Bowcher
1008Maria U NestleCanada2025-04-22Printing Dimensions QUALIFIED22Elwin Sharvill
1009Leja J BowleySpain2025-04-20Chemel, James L Cpa QUALIFIED53Ivan Magalhaes
1010Costa F GillianUnited Kingdom2025-04-29Dorl, James J Esq UNQUALIFIED0Ioni Bowcher
1011Ivar F SergiAustralia2025-04-15Morlong Associates PROPOSAL86Anna Fali
1012Aruna G GillianIndia2025-04-21Feiner Bros RENEWAL41Onyama Limba
1013Deepesh P PerinIndia2025-04-10Morlong Associates QUALIFIED23Stephen Shaw
1014Smith M RutaFrance2025-04-06Chemel, James L Cpa QUALIFIED11Xuxue Feng
1015Alejandro L CaudyRussia2025-04-23Truhlar And Truhlar Attys NEGOTIATION25Asiya Javayant
1016Aditya J SergiIndia2025-04-24Truhlar And Truhlar Attys NEGOTIATION3Bernardo Dominic
1017Jones Q BowleyUnited Kingdom2025-04-19Chemel, James L Cpa NEW77Ioni Bowcher
1018Juan D SergiIndia2025-04-26Morlong Associates NEGOTIATION3Ioni Bowcher
1019Jones J GarufiUnited Kingdom2025-04-19Rousseaux, Michael Esq UNQUALIFIED77Xuxue Feng
1020Ricardo L DoeBrazil2025-04-09Chanay, Jeffrey A Esq UNQUALIFIED21Ivan Magalhaes
1021Emily V NestleUnited Kingdom2025-04-23Dorl, James J Esq PROPOSAL8Stephen Shaw
1022Arvin Q SlusarskiGermany2025-04-14Dorl, James J Esq QUALIFIED84Ioni Bowcher
1023Kaitlin H DilliardJapan2025-04-08Commercial Press RENEWAL4Asiya Javayant
1024Isabel I FlosiBrazil2025-04-15Dorl, James J Esq UNQUALIFIED50Xuxue Feng
1025Jennifer C MacleadJapan2025-04-29Buckley Miller Wright NEGOTIATION90Xuxue Feng
1026Chavez L WieserJapan2025-04-03Feiner Bros NEGOTIATION66Bernardo Dominic
1027Nicolas H KuskoUnited Kingdom2025-04-20Feiner Bros NEGOTIATION62Amy Elsner
1028Alejandro D OstroskyBrazil2025-04-20Feltz Printing Service NEGOTIATION81Elwin Sharvill
1029Jeanfrancois L MaletAustralia2025-04-02Feiner Bros QUALIFIED34Ioni Bowcher
1030Stacey D MarrierItaly2025-04-11Truhlar And Truhlar Attys NEW76Asiya Javayant
1031Nicolas H GillianJapan2025-04-07Feiner Bros PROPOSAL9Elwin Sharvill
1032Sinclair U GarufiGermany2025-04-19Chanay, Jeffrey A Esq UNQUALIFIED44Onyama Limba
1033Rodrigues J MaletItaly2025-04-22Feltz Printing Service PROPOSAL63Elwin Sharvill
1034Isabel T GlickGermany2025-04-28Dorl, James J Esq UNQUALIFIED35Xuxue Feng
1035Aruna E FollerGermany2025-04-01Dorl, James J Esq NEGOTIATION31Xuxue Feng
1036Maisha B SchemmerSpain2025-04-28Buckley Miller Wright NEW55Anna Fali
1037Murillo N TollnerJapan2025-04-07Feiner Bros UNQUALIFIED89Ioni Bowcher
1038Chavez T CampainIndia2025-04-06Dorl, James J Esq PROPOSAL16Amy Elsner
1039Octavia A SergiSpain2025-04-22Rangoni Of Florence PROPOSAL71Amy Elsner
1040Munro V FollerUnited Kingdom2025-04-21Commercial Press NEGOTIATION78Ivan Magalhaes
1041Jefferson G MorascaUnited Kingdom2025-04-02Feiner Bros RENEWAL97Ivan Magalhaes
1042Sinclair D AlbaresCanada2025-04-07Chemel, James L Cpa UNQUALIFIED40Amy Elsner
1043Juan C VenereRussia2025-04-13Chanay, Jeffrey A Esq NEW12Xuxue Feng
1044Emily W MaletCanada2025-04-14King, Christopher A Esq QUALIFIED83Ioni Bowcher
1045Kaitlin U OldroydArgentina2025-04-09Chanay, Jeffrey A Esq NEW2Ioni Bowcher
1046Izzy D WieserFrance2025-04-14Commercial Press RENEWAL60Asiya Javayant
1047Costa N ButtBrazil2025-04-18Printing Dimensions NEW16Elwin Sharvill
1048Jefferson H CaldareraSpain2025-04-21Commercial Press UNQUALIFIED18Amy Elsner
1049Ashley A GlickRussia2025-04-05Truhlar And Truhlar Attys PROPOSAL15Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba Q KuskoIndiaAmy Elsner RENEWAL
David D WhobreySpainIvan Magalhaes QUALIFIED
Francesco J GlickCanadaBernardo Dominic UNQUALIFIED
Ashley C BowleyBrazilStephen Shaw UNQUALIFIED
Antonio P CampainUnited KingdomStephen Shaw NEW
Maria C ChuiRussiaXuxue Feng QUALIFIED
Juan M RoysterItalyAmy Elsner RENEWAL
Clifford N ChuiIndiaIvan Magalhaes UNQUALIFIED
Misaki Y GarufiBrazilAsiya Javayant QUALIFIED
Munro H WieserFranceXuxue Feng RENEWAL
Ricardo A GauchoJapanAnna Fali NEW
Munro J MaletUnited KingdomAnna Fali PROPOSAL
Darci I AlbaresBrazilOnyama Limba PROPOSAL
Tony S KuskoItalyAmy Elsner PROPOSAL
Octavia K ChuiJapanAmy Elsner QUALIFIED
Salvatore K OstroskyCanadaAsiya Javayant PROPOSAL
Faith P CampainGermanyAsiya Javayant PROPOSAL
Maria I SergiIndiaIoni Bowcher PROPOSAL
Isabel L ShinkoSpainAsiya Javayant NEGOTIATION
Emily I DoeJapanBernardo Dominic NEW
Sinclair J RutaSpainBernardo Dominic NEGOTIATION
Aruna S NestleItalyIvan Magalhaes QUALIFIED
Ivar I SchemmerIndiaIoni Bowcher NEW
Stacey Q FollerArgentinaIoni Bowcher QUALIFIED
Juan L FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Murillo G BriddickArgentinaStephen Shaw RENEWAL
Isabel V OldroydCanadaBernardo Dominic NEGOTIATION
Juan O FollerSpainIvan Magalhaes NEW
Cody Q FerenczFranceAsiya Javayant RENEWAL
Antonio V MorascaJapanAsiya Javayant NEW
Johnson W WaycottSpainBernardo Dominic NEW
Sinclair L PerinGermanyIoni Bowcher NEGOTIATION
Murillo C DarakjyIndiaElwin Sharvill RENEWAL
Leja Q VenereItalyElwin Sharvill NEGOTIATION
Arvin I KolmetzCanadaStephen Shaw NEW
Arvin K GarufiRussiaElwin Sharvill RENEWAL
Claire A FollerAustraliaBernardo Dominic QUALIFIED
Chavez Q GillianFranceStephen Shaw RENEWAL
Isabel K OstroskyRussiaStephen Shaw NEW
Stacey X SergiArgentinaAsiya Javayant RENEWAL
Nicolas S OstroskyRussiaIoni Bowcher NEW
Claire F InouyeCanadaAsiya Javayant NEW
Faith Y WieserItalyAmy Elsner UNQUALIFIED
Jones L FerenczArgentinaAnna Fali RENEWAL
Juan P PerinFranceStephen Shaw NEW
David R FollerAustraliaAsiya Javayant RENEWAL
Chavez D KolmetzBrazilOnyama Limba PROPOSAL
Munro W MaletFranceIvan Magalhaes NEW
Cody T VocelkaSpainAsiya Javayant PROPOSAL
James Z GlickAustraliaIoni Bowcher QUALIFIED
Frozen Columns
Name
Aditya P Ostrosky
Stacey A Albares
Silvio J Caldarera
Jones A Oldroyd
Kaitlin V Caudy
Nicolas U Iturbide
Leon M Kolmetz
Stacey D Albares
Deepesh U Stenseth
Misaki D Inouye
Jennifer B Gaucho
Clifford Z Tollner
Clifford B Royster
Claire C Caldarera
Leon V Shinko
Arvin G Bowley
Jeanfrancois X Paprocki
Chavez S Gaucho
Leon T Iturbide
Chavez U Sergi
Octavia T Vocelka
Ivar U Caldarera
Aika W Whobrey
Maisha X Glick
Cody K Nicka
Leon G Nestle
Jefferson N Marrier
Stacey V Stenseth
Murillo L Bowley
Munro L Malet
Mujtaba N Maclead
Isabel M Kolmetz
Juan B Poquette
Jones L Butt
Munro T Briddick
Leja M Doe
Francesco M Oldroyd
Francesco L Slusarski
Silvio U Oldroyd
Clifford J Saylors
Stacey Q Vocelka
Juan A Malet
Octavia U Nicka
Arvin O Dilliard
Alejandro Y Malet
Wickens L Foller
Juan P Glick
Izzy G Darakjy
Claire A Royster
Jennifer Z Amigon
IdCountryDate
1000Germany2025-04-09
1001Canada2025-04-20
1002Australia2025-04-28
1003Italy2025-04-01
1004Brazil2025-04-26
1005Russia2025-04-26
1006Italy2025-04-15
1007Argentina2025-04-01
1008Brazil2025-04-09
1009Canada2025-04-08
1010Argentina2025-04-28
1011Brazil2025-04-05
1012Russia2025-04-04
1013Brazil2025-04-30
1014Canada2025-04-12
1015Italy2025-04-09
1016Russia2025-04-09
1017Brazil2025-04-08
1018Brazil2025-04-05
1019India2025-04-20
1020Australia2025-04-26
1021Spain2025-04-22
1022Spain2025-04-24
1023Australia2025-04-18
1024Argentina2025-04-15
1025Argentina2025-04-22
1026Italy2025-04-14
1027Italy2025-04-29
1028France2025-04-16
1029United Kingdom2025-04-18
1030Australia2025-04-18
1031Canada2025-04-02
1032Australia2025-04-23
1033India2025-04-13
1034Russia2025-04-03
1035France2025-04-27
1036Argentina2025-04-10
1037United Kingdom2025-04-26
1038Russia2025-04-09
1039Russia2025-04-09
1040India2025-04-21
1041United Kingdom2025-04-07
1042Japan2025-04-09
1043Argentina2025-04-17
1044Spain2025-04-05
1045Canada2025-04-13
1046Japan2025-04-12
1047Japan2025-04-11
1048India2025-04-15
1049Brazil2025-04-17

On-Demand Data

NameIdCountryDate
Jennifer K Chui1000India2025-04-15
Jefferson P Oldroyd1001France2025-04-27
Ashley Y Gaucho1002United Kingdom2025-04-26
Julie A Stenseth1003United Kingdom2025-04-18
Mujtaba O Sergi1004Spain2025-04-01
Cody Y Paprocki1005Spain2025-04-21
Cody V Stockham1006Brazil2025-04-11
Jones G Vocelka1007Argentina2025-04-08
Maisha D Albares1008Canada2025-04-21
Clifford A Amigon1009Brazil2025-04-11
Adams P Kusko1010France2025-04-27
Nicolas T Gillian1011Spain2025-04-08
Maria O Iturbide1012France2025-04-14
Mujtaba J Bowley1013Japan2025-04-28
Mujtaba C Morasca1014Russia2025-04-18
Arvin Y Kolmetz1015Australia2025-04-10
Juan N Marrier1016Canada2025-04-13
Maria Y Foller1017Italy2025-04-26
Kaitlin A Figeroa1018France2025-04-30
Alejandro J Ferencz1019France2025-04-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore I BowleyBrazilAsiya Javayant NEGOTIATION
Izzy J OldroydGermanyOnyama Limba RENEWAL
Ricardo Z GillianCanadaXuxue Feng NEGOTIATION
Silvio L CampainJapanBernardo Dominic UNQUALIFIED
Deepesh U ButtRussiaIvan Magalhaes QUALIFIED
Francesco S InouyeItalyXuxue Feng RENEWAL
Rodrigues A RoysterGermanyAnna Fali QUALIFIED
Smith H StensethRussiaAnna Fali NEGOTIATION
Salvatore I BologniaItalyElwin Sharvill NEGOTIATION
Salvatore V BowleyFranceOnyama Limba NEW
Julie G VenereJapanStephen Shaw PROPOSAL
Murillo Z KuskoAustraliaStephen Shaw PROPOSAL
Sinclair X MarrierRussiaIoni Bowcher PROPOSAL
Cody V PerinUnited KingdomStephen Shaw PROPOSAL
Leja U CaudyCanadaAnna Fali PROPOSAL
David M NickaJapanElwin Sharvill PROPOSAL
Francesco P RoysterArgentinaStephen Shaw RENEWAL
Juan G KuskoAustraliaAmy Elsner RENEWAL
Emily N SaylorsUnited KingdomAsiya Javayant PROPOSAL
Misaki B CampainIndiaBernardo Dominic NEGOTIATION
David P CaldareraUnited KingdomBernardo Dominic PROPOSAL
Munro J BriddickSpainXuxue Feng NEGOTIATION
Jones B FerenczJapanAmy Elsner PROPOSAL
James K RoysterCanadaXuxue Feng QUALIFIED
Juan Y OldroydArgentinaAnna Fali RENEWAL
Octavia Y WaycottUnited KingdomElwin Sharvill NEGOTIATION
Adams D IturbideCanadaAnna Fali PROPOSAL
Isabel J ButtItalyAmy Elsner NEW
Faith E StockhamRussiaStephen Shaw NEGOTIATION
Wickens D SchemmerGermanyStephen Shaw NEGOTIATION
Ricardo Z SchemmerJapanAsiya Javayant NEW
Jeanfrancois R SaylorsIndiaIoni Bowcher PROPOSAL
Emily V FigeroaRussiaIvan Magalhaes QUALIFIED
Tony Y PerinAustraliaBernardo Dominic NEGOTIATION
Francesco F RutaFranceAnna Fali RENEWAL
Francesco Z NestleGermanyAsiya Javayant QUALIFIED
Juan J DoeBrazilXuxue Feng NEW
Smith G VocelkaUnited KingdomAsiya Javayant NEGOTIATION
Maria W GarufiBrazilElwin Sharvill PROPOSAL
Salvatore M RoysterIndiaStephen Shaw 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>