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
Misaki E GauchoGermanyBernardo Dominic PROPOSAL
Rodrigues O MaletUnited KingdomIoni Bowcher PROPOSAL
Francesco L TollnerGermanyIvan Magalhaes QUALIFIED
Jones N NestleIndiaIoni Bowcher PROPOSAL
Morrow J BologniaFranceAnna Fali PROPOSAL
Alejandro F MaletIndiaAsiya Javayant PROPOSAL
Julie Q GlickArgentinaAnna Fali QUALIFIED
Deepesh R AlbaresArgentinaStephen Shaw RENEWAL
Adams Z AmigonIndiaAmy Elsner PROPOSAL
Antonio X PaprockiSpainIvan Magalhaes QUALIFIED
Rodrigues C PoquetteItalyIoni Bowcher NEGOTIATION
Antonio S WieserBrazilOnyama Limba UNQUALIFIED
Aika D SaylorsItalyAnna Fali UNQUALIFIED
Isabel V FerenczJapanIvan Magalhaes UNQUALIFIED
Rodrigues C FollerBrazilAnna Fali NEW
Rodrigues T MacleadCanadaXuxue Feng QUALIFIED
Antonio M MorascaJapanStephen Shaw QUALIFIED
Costa P MaletJapanBernardo Dominic UNQUALIFIED
Isabel P RoysterRussiaAmy Elsner PROPOSAL
Chavez X PerinBrazilBernardo Dominic UNQUALIFIED
Arvin P KolmetzIndiaIoni Bowcher NEGOTIATION
Clifford C ShinkoItalyStephen Shaw UNQUALIFIED
Claire I StockhamSpainAsiya Javayant NEGOTIATION
Jones L NestleBrazilAsiya Javayant PROPOSAL
Faith T BowleyFranceIvan Magalhaes NEGOTIATION
Ashley M StensethJapanAsiya Javayant UNQUALIFIED
Jennifer R InouyeGermanyIvan Magalhaes NEW
Aika S InouyeUnited KingdomAnna Fali RENEWAL
Stacey C KolmetzJapanAnna Fali RENEWAL
Costa L SaylorsBrazilBernardo Dominic UNQUALIFIED
Deepesh X ButtCanadaAnna Fali NEGOTIATION
Aditya X PaprockiCanadaIoni Bowcher PROPOSAL
Antonio R MaletArgentinaIvan Magalhaes QUALIFIED
Jones M WaycottBrazilOnyama Limba UNQUALIFIED
Murillo C FollerBrazilStephen Shaw NEW
Juan O MacleadFranceAmy Elsner QUALIFIED
Adams O SchemmerGermanyIoni Bowcher NEGOTIATION
James C AlbaresBrazilBernardo Dominic UNQUALIFIED
Murillo F SchemmerArgentinaStephen Shaw RENEWAL
Murillo G StensethCanadaAsiya Javayant NEW
Faith Q SaylorsGermanyAsiya Javayant PROPOSAL
Clifford H FollerSpainXuxue Feng PROPOSAL
Aruna Y PerinIndiaStephen Shaw NEW
David V VenereSpainStephen Shaw NEGOTIATION
Aruna M InouyeRussiaBernardo Dominic RENEWAL
Leja J SchemmerIndiaAmy Elsner RENEWAL
Leja E FollerFranceBernardo Dominic QUALIFIED
Antonio N MacleadGermanyOnyama Limba PROPOSAL
Kadeem V WaycottUnited KingdomXuxue Feng NEW
Stacey N CampainItalyAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Kadeem U ButtAustraliaOnyama Limba NEW
Aruna C CampainIndiaStephen Shaw UNQUALIFIED
Octavia G ChuiRussiaIoni Bowcher UNQUALIFIED
Johnson G CaldareraJapanElwin Sharvill QUALIFIED
Greenwood S ShinkoUnited KingdomOnyama Limba NEW
Clifford I KuskoBrazilAmy Elsner NEGOTIATION
Jennifer B DilliardBrazilIvan Magalhaes RENEWAL
Smith Y RoysterCanadaAsiya Javayant NEGOTIATION
Silvio B ShinkoArgentinaAnna Fali NEW
Silvio W OldroydItalyIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony D RutaBrazil2025-04-23Rangoni Of Florence RENEWAL68Anna Fali
1001Claire X NestleJapan2025-04-08King, Christopher A Esq NEGOTIATION8Bernardo Dominic
1002Juan B FigeroaAustralia2025-04-04Rousseaux, Michael Esq QUALIFIED3Bernardo Dominic
1003Aditya T IturbideSpain2025-04-26Dorl, James J Esq NEW77Amy Elsner
1004Jefferson T MaletAustralia2025-04-16Dorl, James J Esq QUALIFIED99Bernardo Dominic
1005Leon F PaprockiItaly2025-04-14Feiner Bros NEW64Onyama Limba
1006Cody V MaletCanada2025-04-21Chapman, Ross E Esq NEW91Anna Fali
1007Leja L PaprockiItaly2025-04-24Morlong Associates PROPOSAL98Onyama Limba
1008Wickens K InouyeArgentina2025-04-22Chanay, Jeffrey A Esq PROPOSAL53Anna Fali
1009Aruna D AmigonFrance2025-04-23Chanay, Jeffrey A Esq UNQUALIFIED51Anna Fali
1010Aika O PoquetteIndia2025-04-30Rangoni Of Florence UNQUALIFIED10Ivan Magalhaes
1011Izzy V MaletItaly2025-04-18Benton, John B Jr NEW80Ioni Bowcher
1012Leon D PerinUnited Kingdom2025-04-07Feltz Printing Service QUALIFIED69Asiya Javayant
1013Darci O KolmetzJapan2025-04-02Morlong Associates PROPOSAL45Stephen Shaw
1014Isabel R ShinkoGermany2025-04-19Chapman, Ross E Esq NEGOTIATION21Ioni Bowcher
1015Emily B InouyeJapan2025-04-26King, Christopher A Esq RENEWAL72Asiya Javayant
1016Emily W OstroskyGermany2025-04-07Rousseaux, Michael Esq UNQUALIFIED59Asiya Javayant
1017Misaki S PerinIndia2025-04-27Feltz Printing Service UNQUALIFIED7Ivan Magalhaes
1018Juan A InouyeAustralia2025-04-08Benton, John B Jr RENEWAL85Asiya Javayant
1019Maisha O AmigonSpain2025-04-23Rousseaux, Michael Esq UNQUALIFIED24Asiya Javayant
1020Sinclair O KuskoBrazil2025-04-26Rangoni Of Florence NEW30Asiya Javayant
1021Wickens G CaldareraUnited Kingdom2025-04-29Printing Dimensions NEGOTIATION21Asiya Javayant
1022Clifford I MaletBrazil2025-04-01Dorl, James J Esq NEW55Xuxue Feng
1023Johnson F ShinkoCanada2025-04-13Benton, John B Jr QUALIFIED22Asiya Javayant
1024Tony Q StensethItaly2025-04-01Commercial Press UNQUALIFIED12Elwin Sharvill
1025Alejandro F AmigonJapan2025-04-07Feltz Printing Service RENEWAL64Anna Fali
1026Mayumi D GarufiAustralia2025-04-18Buckley Miller Wright NEGOTIATION65Amy Elsner
1027Jennifer P MaletCanada2025-04-09King, Christopher A Esq NEW34Anna Fali
1028Julie Q NickaRussia2025-04-05Commercial Press UNQUALIFIED71Stephen Shaw
1029Mujtaba M WieserAustralia2025-04-11Feiner Bros QUALIFIED50Bernardo Dominic
1030Aruna R StensethArgentina2025-04-17King, Christopher A Esq NEGOTIATION31Anna Fali
1031Misaki J SaylorsRussia2025-04-30Dorl, James J Esq NEW64Onyama Limba
1032Maisha J FlosiItaly2025-04-13Rangoni Of Florence NEGOTIATION68Amy Elsner
1033Ricardo V MaletAustralia2025-04-28Buckley Miller Wright UNQUALIFIED15Amy Elsner
1034Isabel Y FlosiFrance2025-04-27Feltz Printing Service NEW90Bernardo Dominic
1035Leon V CaldareraCanada2025-04-26Benton, John B Jr NEW21Asiya Javayant
1036Clifford K CaldareraSpain2025-04-30Morlong Associates QUALIFIED88Ioni Bowcher
1037Wickens A OldroydGermany2025-04-19Chemel, James L Cpa PROPOSAL17Ioni Bowcher
1038Maisha X FollerAustralia2025-04-13Printing Dimensions NEW37Amy Elsner
1039Ricardo K PerinJapan2025-04-12Chapman, Ross E Esq QUALIFIED70Stephen Shaw
1040Jennifer X MaletBrazil2025-04-20Morlong Associates NEW66Asiya Javayant
1041Nicolas E FerenczFrance2025-04-07Feltz Printing Service UNQUALIFIED6Asiya Javayant
1042Silvio W GillianFrance2025-04-14Chapman, Ross E Esq NEW65Bernardo Dominic
1043Misaki N KolmetzRussia2025-04-21Dorl, James J Esq UNQUALIFIED21Amy Elsner
1044Greenwood L AlbaresCanada2025-04-16Buckley Miller Wright NEGOTIATION2Ivan Magalhaes
1045Adams K MarrierArgentina2025-04-18Truhlar And Truhlar Attys NEW43Stephen Shaw
1046Clifford W OstroskyUnited Kingdom2025-04-28Commercial Press UNQUALIFIED98Amy Elsner
1047Izzy F FlosiRussia2025-04-17Feiner Bros QUALIFIED52Bernardo Dominic
1048Claire G DilliardItaly2025-04-29Commercial Press PROPOSAL62Ivan Magalhaes
1049Aruna L ChuiArgentina2025-04-05Feltz Printing Service RENEWAL1Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues Y RimAustraliaStephen Shaw QUALIFIED
Alejandro E PoquetteUnited KingdomElwin Sharvill PROPOSAL
Aditya X GlickGermanyStephen Shaw RENEWAL
Kadeem Y ShinkoJapanStephen Shaw UNQUALIFIED
Aika Z SlusarskiBrazilBernardo Dominic QUALIFIED
Jefferson G WieserCanadaAnna Fali PROPOSAL
Ricardo A WaycottBrazilBernardo Dominic NEGOTIATION
Isabel E GauchoJapanXuxue Feng NEGOTIATION
Morrow F KolmetzCanadaBernardo Dominic RENEWAL
Clifford J MorascaAustraliaAnna Fali UNQUALIFIED
Octavia S SaylorsBrazilElwin Sharvill NEW
Maria F VocelkaFranceIoni Bowcher NEGOTIATION
Julie E ShinkoArgentinaIvan Magalhaes UNQUALIFIED
Aditya Q VenereSpainBernardo Dominic NEGOTIATION
Rodrigues L MaletJapanElwin Sharvill NEGOTIATION
Emily G NickaIndiaAsiya Javayant PROPOSAL
Kaitlin Y StensethIndiaXuxue Feng RENEWAL
Kaitlin V FerenczIndiaStephen Shaw PROPOSAL
James S BowleyUnited KingdomXuxue Feng UNQUALIFIED
Stacey Q SlusarskiItalyElwin Sharvill UNQUALIFIED
Antonio S ChuiRussiaAnna Fali UNQUALIFIED
Costa X CampainArgentinaElwin Sharvill RENEWAL
Darci I CaudyAustraliaXuxue Feng PROPOSAL
Emily U BowleyUnited KingdomBernardo Dominic UNQUALIFIED
Octavia M DilliardCanadaIvan Magalhaes PROPOSAL
Smith U FigeroaSpainAmy Elsner QUALIFIED
Aika G MarrierRussiaOnyama Limba NEW
Clifford W MaletCanadaAsiya Javayant NEW
Misaki S ChuiArgentinaElwin Sharvill NEW
Jones W DarakjyIndiaIvan Magalhaes UNQUALIFIED
Kaitlin B SergiRussiaIvan Magalhaes NEGOTIATION
Smith B WhobreyAustraliaAnna Fali PROPOSAL
Jones G GauchoAustraliaOnyama Limba PROPOSAL
Tony P AmigonItalyAnna Fali NEGOTIATION
Tony Z GlickArgentinaXuxue Feng RENEWAL
Aruna X VenereBrazilBernardo Dominic NEGOTIATION
Izzy M FollerRussiaAsiya Javayant RENEWAL
Octavia U DarakjyCanadaBernardo Dominic NEGOTIATION
Greenwood Q BologniaRussiaBernardo Dominic RENEWAL
Rodrigues T MaletAustraliaAnna Fali NEGOTIATION
Kaitlin V MacleadGermanyBernardo Dominic UNQUALIFIED
Tony H GlickJapanElwin Sharvill UNQUALIFIED
Antonio N ShinkoRussiaIoni Bowcher PROPOSAL
Mujtaba S SaylorsBrazilIvan Magalhaes NEW
Izzy E CampainAustraliaAsiya Javayant NEGOTIATION
Munro R WaycottRussiaAsiya Javayant RENEWAL
Faith B RimJapanBernardo Dominic RENEWAL
Costa T KuskoItalyBernardo Dominic NEW
Ivar D DoeJapanStephen Shaw UNQUALIFIED
Adams G VocelkaItalyElwin Sharvill RENEWAL
Frozen Columns
Name
Jennifer G Whobrey
Kadeem L Saylors
Wickens K Malet
Mayumi E Marrier
Deepesh Z Perin
Silvio A Vocelka
Silvio K Paprocki
Misaki Y Maclead
Leon D Stockham
Francesco G Slusarski
Tony W Ruta
Ashley C Poquette
Morrow U Perin
Munro E Foller
Tony I Stenseth
Ricardo D Chui
Leon I Nicka
James A Stockham
Johnson S Paprocki
Emily O Ruta
Aruna I Campain
Aruna Q Caldarera
Julie J Inouye
Ashley E Gillian
Ashley K Campain
Aruna G Albares
Munro W Nestle
Greenwood P Iturbide
Wickens B Amigon
Julie W Bolognia
Jennifer L Nicka
Ivar Z Marrier
Emily S Vocelka
Salvatore D Briddick
Jennifer W Nicka
Octavia G Schemmer
Johnson M Kusko
Jefferson J Figeroa
Jones E Wieser
Ivar F Perin
Jennifer T Venere
Misaki V Shinko
Antonio W Whobrey
Kadeem H Stockham
Clifford S Vocelka
Claire J Vocelka
Kaitlin C Briddick
Maria Y Schemmer
Costa H Kusko
Isabel Y Figeroa
IdCountryDate
1000Argentina2025-04-09
1001Canada2025-04-29
1002Russia2025-04-02
1003Spain2025-04-27
1004Australia2025-04-11
1005Italy2025-04-30
1006France2025-04-26
1007Argentina2025-04-01
1008France2025-04-19
1009Brazil2025-04-29
1010Russia2025-04-11
1011Brazil2025-04-10
1012Italy2025-04-02
1013Russia2025-04-16
1014Spain2025-04-28
1015Brazil2025-04-12
1016United Kingdom2025-04-28
1017Canada2025-04-18
1018Australia2025-04-02
1019France2025-04-22
1020France2025-04-04
1021Italy2025-04-08
1022France2025-04-22
1023Brazil2025-04-10
1024France2025-04-02
1025Canada2025-04-30
1026Germany2025-04-08
1027Canada2025-04-13
1028Canada2025-04-04
1029Canada2025-04-22
1030Canada2025-04-22
1031France2025-04-22
1032Canada2025-04-23
1033Russia2025-04-23
1034Germany2025-04-17
1035Argentina2025-04-05
1036Japan2025-04-18
1037Japan2025-04-19
1038United Kingdom2025-04-16
1039Canada2025-04-10
1040France2025-04-29
1041Japan2025-04-26
1042Australia2025-04-19
1043Italy2025-04-07
1044Argentina2025-04-27
1045Australia2025-04-25
1046Russia2025-04-07
1047Russia2025-04-24
1048Canada2025-04-12
1049Brazil2025-04-05

On-Demand Data

NameIdCountryDate
Ashley C Caudy1000Brazil2025-04-07
Aika A Rulapaugh1001Brazil2025-04-07
Mayumi C Albares1002India2025-04-02
Leja A Morasca1003Italy2025-04-17
Aruna Y Ferencz1004Russia2025-04-16
Rodrigues K Rim1005Japan2025-04-27
James X Malet1006Argentina2025-04-03
Mujtaba X Kolmetz1007Brazil2025-04-23
Ivar V Stockham1008Russia2025-04-30
Kaitlin F Glick1009Japan2025-04-03
Faith C Caudy1010France2025-04-26
Kaitlin O Ostrosky1011France2025-04-09
Izzy M Caudy1012France2025-04-18
Izzy H Amigon1013Canada2025-04-16
Murillo K Venere1014India2025-04-26
Mujtaba G Saylors1015Japan2025-04-14
Antonio H Garufi1016Spain2025-04-22
Greenwood J Dilliard1017Canada2025-04-24
Izzy T Rulapaugh1018Canada2025-04-14
Rodrigues Y Vocelka1019Brazil2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie U MaletFranceAmy Elsner UNQUALIFIED
Claire I FollerRussiaAsiya Javayant UNQUALIFIED
James L BowleyCanadaAnna Fali PROPOSAL
Faith W PaprockiArgentinaAnna Fali NEGOTIATION
Jones Q PaprockiAustraliaElwin Sharvill RENEWAL
Francesco A ButtFranceOnyama Limba UNQUALIFIED
Aika F WaycottArgentinaIvan Magalhaes PROPOSAL
Mujtaba S PoquetteUnited KingdomAmy Elsner PROPOSAL
Sinclair X OldroydAustraliaAnna Fali PROPOSAL
Clifford T AlbaresIndiaOnyama Limba NEGOTIATION
Silvio X TollnerBrazilElwin Sharvill NEGOTIATION
Salvatore E BowleyJapanIoni Bowcher UNQUALIFIED
Mayumi Z FerenczAustraliaAmy Elsner RENEWAL
Tony P FlosiArgentinaXuxue Feng PROPOSAL
Rodrigues U FollerIndiaIvan Magalhaes UNQUALIFIED
James Z KuskoUnited KingdomXuxue Feng RENEWAL
Antonio D FigeroaUnited KingdomOnyama Limba QUALIFIED
Ivar R BowleyItalyOnyama Limba PROPOSAL
Isabel D DarakjyCanadaOnyama Limba PROPOSAL
Ashley H BriddickGermanyAsiya Javayant QUALIFIED
Chavez G GillianAustraliaElwin Sharvill UNQUALIFIED
Tony Q CaldareraSpainBernardo Dominic NEW
Smith Y GillianJapanStephen Shaw UNQUALIFIED
Tony N FerenczIndiaBernardo Dominic NEW
Izzy M SchemmerItalyStephen Shaw PROPOSAL
Alejandro O TollnerGermanyAnna Fali NEW
Smith B RimJapanIoni Bowcher UNQUALIFIED
Mayumi F FollerCanadaAnna Fali NEW
Ricardo O CaudyFranceStephen Shaw UNQUALIFIED
Clifford S GarufiRussiaOnyama Limba PROPOSAL
Leon Q MorascaRussiaAnna Fali RENEWAL
Salvatore Z IturbideCanadaOnyama Limba NEGOTIATION
Ricardo I WieserArgentinaAmy Elsner NEW
Izzy O PerinItalyIvan Magalhaes NEW
Darci S KuskoItalyAnna Fali NEGOTIATION
Claire P FollerRussiaElwin Sharvill NEGOTIATION
Smith W GlickArgentinaIoni Bowcher NEW
Deepesh A MorascaBrazilXuxue Feng NEGOTIATION
Misaki D ChuiJapanIvan Magalhaes QUALIFIED
Emily H ChuiFranceIoni Bowcher 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>