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
Leja S MacleadJapanIoni Bowcher NEGOTIATION
Nicolas U CaudyAustraliaBernardo Dominic RENEWAL
Faith P RulapaughArgentinaAmy Elsner RENEWAL
Arvin I PoquetteItalyIoni Bowcher NEW
Adams G IturbideCanadaStephen Shaw PROPOSAL
Jennifer F PoquetteUnited KingdomXuxue Feng QUALIFIED
Chavez S CaudySpainOnyama Limba QUALIFIED
Rodrigues D BologniaItalyOnyama Limba UNQUALIFIED
Isabel U NickaFranceXuxue Feng NEW
Alejandro Q ShinkoGermanyXuxue Feng NEW
Wickens P RimIndiaAmy Elsner QUALIFIED
Aditya W MarrierIndiaAnna Fali NEW
Clifford L CaudyItalyAmy Elsner NEGOTIATION
Juan Z GlickSpainElwin Sharvill PROPOSAL
Cody L RimUnited KingdomXuxue Feng UNQUALIFIED
Murillo Q MarrierSpainBernardo Dominic NEW
Ivar J RimFranceAnna Fali NEGOTIATION
Leon C MorascaSpainAnna Fali NEGOTIATION
Misaki O DilliardUnited KingdomAmy Elsner NEGOTIATION
David G WaycottBrazilOnyama Limba NEW
Francesco O ButtArgentinaAmy Elsner NEW
Greenwood Y AlbaresFranceAsiya Javayant NEW
Francesco K WaycottRussiaBernardo Dominic QUALIFIED
Adams K PerinGermanyStephen Shaw PROPOSAL
Aditya Y WaycottAustraliaStephen Shaw UNQUALIFIED
Aditya A GauchoCanadaIoni Bowcher QUALIFIED
Smith P InouyeAustraliaAmy Elsner PROPOSAL
Alejandro C StockhamFranceBernardo Dominic NEGOTIATION
Misaki K BowleyIndiaAmy Elsner NEW
Stacey G ChuiGermanyIoni Bowcher NEW
Nicolas Y GlickJapanStephen Shaw NEW
Cody F CaudyUnited KingdomIoni Bowcher PROPOSAL
Mayumi J WhobreyRussiaAsiya Javayant RENEWAL
Smith J BologniaIndiaAmy Elsner NEW
Salvatore B InouyeRussiaElwin Sharvill PROPOSAL
Antonio D SergiBrazilAmy Elsner PROPOSAL
Wickens F FollerGermanyElwin Sharvill PROPOSAL
Isabel J OstroskyCanadaOnyama Limba NEW
Mayumi T FerenczSpainElwin Sharvill RENEWAL
Julie T OldroydIndiaOnyama Limba RENEWAL
Smith N RoysterBrazilAsiya Javayant NEW
Kaitlin Y GlickCanadaBernardo Dominic UNQUALIFIED
Cody C ChuiIndiaIvan Magalhaes NEGOTIATION
Stacey R FollerBrazilAnna Fali NEGOTIATION
Rodrigues A InouyeAustraliaIvan Magalhaes NEGOTIATION
Clifford L GarufiCanadaStephen Shaw NEW
Isabel A GlickUnited KingdomOnyama Limba RENEWAL
Costa F BowleyAustraliaIvan Magalhaes RENEWAL
Arvin I PerinCanadaAnna Fali UNQUALIFIED
Alejandro Z MaletCanadaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie Y OldroydArgentinaBernardo Dominic PROPOSAL
Kadeem N RutaJapanOnyama Limba UNQUALIFIED
Octavia Q MacleadGermanyBernardo Dominic NEW
Tony D BriddickUnited KingdomAmy Elsner UNQUALIFIED
Wickens C VenereUnited KingdomAsiya Javayant NEGOTIATION
Adams Z OldroydCanadaAmy Elsner PROPOSAL
David R PerinRussiaAnna Fali NEGOTIATION
Juan U StockhamSpainIvan Magalhaes PROPOSAL
Kadeem E MaletRussiaAsiya Javayant PROPOSAL
Morrow C StensethArgentinaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria P FollerIndia2025-04-20Commercial Press QUALIFIED91Stephen Shaw
1001Kadeem Q SlusarskiBrazil2025-04-02Benton, John B Jr PROPOSAL76Elwin Sharvill
1002Leja W RimAustralia2025-04-01Feiner Bros QUALIFIED34Ivan Magalhaes
1003Munro I AlbaresIndia2025-04-02Truhlar And Truhlar Attys UNQUALIFIED77Anna Fali
1004Kadeem Q DoeAustralia2025-04-01Benton, John B Jr QUALIFIED80Onyama Limba
1005Emily L FollerGermany2025-04-19Benton, John B Jr PROPOSAL18Stephen Shaw
1006Murillo X FerenczCanada2025-04-12Commercial Press PROPOSAL14Xuxue Feng
1007Francesco P GauchoItaly2025-04-08Chemel, James L Cpa PROPOSAL27Bernardo Dominic
1008Mujtaba E OstroskyArgentina2025-04-21Benton, John B Jr PROPOSAL22Xuxue Feng
1009Kadeem X AmigonUnited Kingdom2025-04-01Chemel, James L Cpa RENEWAL57Anna Fali
1010Nicolas B BriddickFrance2025-04-17Feltz Printing Service NEW44Anna Fali
1011Sinclair H FerenczRussia2025-04-27Chemel, James L Cpa NEGOTIATION60Onyama Limba
1012Aruna W PerinFrance2025-04-18Chanay, Jeffrey A Esq NEGOTIATION34Bernardo Dominic
1013Ivar E MorascaUnited Kingdom2025-04-24Chemel, James L Cpa NEW12Elwin Sharvill
1014Leon Z ChuiArgentina2025-04-04Commercial Press NEGOTIATION13Amy Elsner
1015Morrow N GauchoRussia2025-04-26Printing Dimensions NEW22Xuxue Feng
1016Ricardo W FigeroaIndia2025-04-15Feltz Printing Service NEW42Asiya Javayant
1017Antonio O GillianAustralia2025-04-29Benton, John B Jr NEW9Amy Elsner
1018Misaki L BriddickAustralia2025-04-01Dorl, James J Esq QUALIFIED38Ivan Magalhaes
1019Deepesh K GlickJapan2025-04-03Chapman, Ross E Esq NEGOTIATION54Amy Elsner
1020Maria Z VenereBrazil2025-04-05Commercial Press UNQUALIFIED87Onyama Limba
1021Aika B DilliardCanada2025-04-18Commercial Press RENEWAL15Xuxue Feng
1022Tony W TollnerUnited Kingdom2025-04-04Printing Dimensions RENEWAL74Onyama Limba
1023Jones O MorascaFrance2025-04-01Commercial Press NEW49Asiya Javayant
1024Morrow E FerenczSpain2025-04-28Feiner Bros UNQUALIFIED92Asiya Javayant
1025Costa C RoysterBrazil2025-04-12Commercial Press PROPOSAL35Elwin Sharvill
1026David A RulapaughIndia2025-04-18Feiner Bros QUALIFIED50Amy Elsner
1027Arvin P FigeroaItaly2025-04-02Feiner Bros UNQUALIFIED22Elwin Sharvill
1028Emily K VocelkaArgentina2025-04-28Benton, John B Jr RENEWAL66Ivan Magalhaes
1029Chavez F TollnerUnited Kingdom2025-04-04Chemel, James L Cpa NEW4Onyama Limba
1030Kadeem L VenereRussia2025-04-23Truhlar And Truhlar Attys QUALIFIED27Ioni Bowcher
1031Aditya M VenereItaly2025-04-26Commercial Press QUALIFIED22Ioni Bowcher
1032Ivar N FollerRussia2025-04-22Buckley Miller Wright NEGOTIATION31Amy Elsner
1033Alejandro X RulapaughRussia2025-04-13Benton, John B Jr NEW79Xuxue Feng
1034Nicolas U PaprockiSpain2025-04-16Rousseaux, Michael Esq RENEWAL14Anna Fali
1035Smith K FigeroaFrance2025-04-23Chanay, Jeffrey A Esq RENEWAL25Ioni Bowcher
1036Maisha P IturbideGermany2025-04-07Truhlar And Truhlar Attys PROPOSAL75Ivan Magalhaes
1037Nicolas L AmigonIndia2025-04-07Rangoni Of Florence UNQUALIFIED76Elwin Sharvill
1038Tony H OstroskyAustralia2025-04-15Rangoni Of Florence NEW31Onyama Limba
1039Ivar D AmigonBrazil2025-04-26Commercial Press NEGOTIATION99Ioni Bowcher
1040Cody A RulapaughUnited Kingdom2025-04-06Chanay, Jeffrey A Esq RENEWAL59Amy Elsner
1041David Y RimAustralia2025-04-21Morlong Associates UNQUALIFIED96Amy Elsner
1042Cody K BologniaArgentina2025-04-17Feltz Printing Service UNQUALIFIED0Asiya Javayant
1043Nicolas X RimSpain2025-04-14Rangoni Of Florence PROPOSAL63Bernardo Dominic
1044Isabel F DoeFrance2025-04-02Truhlar And Truhlar Attys RENEWAL0Ivan Magalhaes
1045Kadeem Y GauchoItaly2025-04-27Rousseaux, Michael Esq NEW55Anna Fali
1046Izzy N GauchoAustralia2025-04-06Buckley Miller Wright PROPOSAL13Amy Elsner
1047Alejandro A InouyeCanada2025-04-21Printing Dimensions NEGOTIATION22Stephen Shaw
1048Wickens M SergiFrance2025-04-28Commercial Press NEGOTIATION38Onyama Limba
1049Juan F BowleyItaly2025-04-15Chemel, James L Cpa RENEWAL8Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Claire Y OstroskySpainIvan Magalhaes NEGOTIATION
Greenwood D CampainGermanyAnna Fali UNQUALIFIED
Mujtaba M SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Alejandro I DarakjyFranceIoni Bowcher NEGOTIATION
Nicolas O MaletCanadaAnna Fali RENEWAL
Tony W MaletIndiaAnna Fali QUALIFIED
Maisha X MaletItalyXuxue Feng NEGOTIATION
Leon M CaudyBrazilOnyama Limba UNQUALIFIED
Ivar X MorascaRussiaXuxue Feng PROPOSAL
Ashley R RimItalyAnna Fali QUALIFIED
Aika U VocelkaRussiaXuxue Feng NEGOTIATION
Jennifer M BriddickIndiaStephen Shaw UNQUALIFIED
Ivar V BriddickJapanAnna Fali PROPOSAL
Nicolas Q MacleadSpainBernardo Dominic RENEWAL
Julie P VenereItalyAsiya Javayant NEGOTIATION
Nicolas I BologniaJapanElwin Sharvill QUALIFIED
Darci U StensethSpainAsiya Javayant UNQUALIFIED
David O DarakjySpainOnyama Limba UNQUALIFIED
Leon B ShinkoSpainOnyama Limba QUALIFIED
Stacey U VenereIndiaBernardo Dominic NEGOTIATION
Aika B MaletBrazilBernardo Dominic UNQUALIFIED
Morrow B BriddickFranceOnyama Limba PROPOSAL
Maisha W OstroskyFranceBernardo Dominic RENEWAL
Leon A DoeItalyXuxue Feng PROPOSAL
Isabel K RutaRussiaAnna Fali NEGOTIATION
Wickens L CampainRussiaIoni Bowcher RENEWAL
Francesco K NickaAustraliaAnna Fali QUALIFIED
Rodrigues V TollnerBrazilIoni Bowcher NEW
Emily M WieserArgentinaAsiya Javayant UNQUALIFIED
Ivar O StockhamAustraliaAmy Elsner NEW
Tony H BowleyFranceBernardo Dominic NEW
Ashley V MaletGermanyIoni Bowcher UNQUALIFIED
Adams Z OldroydItalyAsiya Javayant NEGOTIATION
Mujtaba C DoeItalyAsiya Javayant NEW
Misaki F SaylorsFranceAsiya Javayant NEW
Leon S SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Stacey Q PerinCanadaXuxue Feng NEW
Wickens B DarakjyAustraliaAsiya Javayant NEGOTIATION
Tony O GlickItalyStephen Shaw UNQUALIFIED
Francesco C SlusarskiJapanElwin Sharvill QUALIFIED
Darci O MaletIndiaElwin Sharvill NEGOTIATION
Kaitlin X TollnerUnited KingdomIoni Bowcher RENEWAL
Nicolas C DoeBrazilElwin Sharvill PROPOSAL
Leja M FlosiBrazilAsiya Javayant RENEWAL
Aika L GauchoFranceAsiya Javayant RENEWAL
Wickens E AmigonBrazilAmy Elsner PROPOSAL
Kadeem U PaprockiUnited KingdomElwin Sharvill NEW
Kadeem U GarufiBrazilBernardo Dominic PROPOSAL
Ricardo D GillianAustraliaElwin Sharvill QUALIFIED
Morrow J RutaJapanIvan Magalhaes QUALIFIED
Frozen Columns
Name
Tony X Chui
Jeanfrancois A Malet
Juan T Waycott
Mayumi H Darakjy
Salvatore W Gaucho
Izzy E Iturbide
Jennifer F Vocelka
Kadeem W Tollner
Julie I Venere
Jennifer O Saylors
Leja I Slusarski
Johnson S Morasca
Cody A Caldarera
Mujtaba E Shinko
Francesco X Ostrosky
Leja U Flosi
Arvin R Oldroyd
Juan E Vocelka
Tony N Poquette
Nicolas Q Stenseth
Francesco D Albares
Munro Z Malet
Jeanfrancois Z Doe
Jefferson Q Gaucho
Chavez O Stenseth
Morrow G Stenseth
Stacey K Oldroyd
Juan T Schemmer
Jefferson P Maclead
Isabel A Royster
Silvio T Waycott
Francesco L Ferencz
Chavez H Paprocki
Emily K Sergi
Ashley Q Poquette
Isabel H Albares
Emily G Foller
Julie W Doe
Munro G Malet
Emily F Iturbide
Deepesh O Paprocki
Nicolas A Bowley
Juan C Malet
Murillo Z Nicka
Ricardo O Sergi
Ashley I Ferencz
Antonio L Darakjy
Antonio U Sergi
Cody Z Amigon
Darci I Nestle
IdCountryDate
1000India2025-04-20
1001Australia2025-04-21
1002Australia2025-04-26
1003France2025-04-24
1004India2025-04-06
1005Argentina2025-04-19
1006India2025-04-08
1007Argentina2025-04-01
1008Canada2025-04-09
1009Argentina2025-04-29
1010Canada2025-04-21
1011Australia2025-04-21
1012Russia2025-04-11
1013Argentina2025-04-11
1014Brazil2025-04-30
1015Canada2025-04-23
1016Russia2025-04-24
1017France2025-04-28
1018Argentina2025-04-19
1019Canada2025-04-02
1020Brazil2025-04-26
1021Argentina2025-04-02
1022Spain2025-04-28
1023Spain2025-04-06
1024Brazil2025-04-27
1025India2025-04-12
1026Spain2025-04-01
1027Spain2025-04-20
1028Italy2025-04-10
1029Spain2025-04-14
1030India2025-04-16
1031Australia2025-04-22
1032Japan2025-04-18
1033Japan2025-04-02
1034Germany2025-04-28
1035Japan2025-04-11
1036Argentina2025-04-19
1037Canada2025-04-29
1038Brazil2025-04-08
1039Germany2025-04-05
1040Brazil2025-04-02
1041Italy2025-04-29
1042Japan2025-04-04
1043Russia2025-04-05
1044Australia2025-04-20
1045Japan2025-04-04
1046India2025-04-01
1047Canada2025-04-26
1048Italy2025-04-11
1049Argentina2025-04-02

On-Demand Data

NameIdCountryDate
Ashley E Malet1000Spain2025-04-23
Mayumi Z Whobrey1001Russia2025-04-12
Deepesh B Inouye1002United Kingdom2025-04-27
Deepesh A Perin1003Brazil2025-04-22
Sinclair S Oldroyd1004Canada2025-04-05
Jennifer R Chui1005Brazil2025-04-04
Clifford K Nicka1006Japan2025-04-28
Deepesh D Marrier1007Germany2025-04-10
Antonio C Shinko1008Canada2025-04-24
Chavez W Garufi1009Russia2025-04-05
Emily Y Gaucho1010Russia2025-04-05
Ricardo K Caudy1011Argentina2025-04-27
Emily Y Rim1012Australia2025-04-06
Jennifer G Figeroa1013Japan2025-04-02
Ivar A Butt1014Brazil2025-04-27
Johnson E Garufi1015Argentina2025-04-26
Kaitlin H Maclead1016Germany2025-04-15
Ivar S Gaucho1017Japan2025-04-11
Jeanfrancois T Maclead1018Canada2025-04-12
Jefferson N Caldarera1019Argentina2025-04-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony C MorascaRussiaAmy Elsner QUALIFIED
Aruna Z GillianRussiaIvan Magalhaes QUALIFIED
Greenwood F GillianBrazilElwin Sharvill PROPOSAL
Rodrigues F FlosiUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo I MaletGermanyXuxue Feng UNQUALIFIED
Octavia D GlickUnited KingdomAnna Fali RENEWAL
Wickens E OldroydSpainBernardo Dominic RENEWAL
Ivar Q StensethUnited KingdomAnna Fali NEW
Salvatore O CaldareraIndiaIvan Magalhaes PROPOSAL
Silvio R GauchoAustraliaStephen Shaw RENEWAL
Maisha H GillianCanadaAnna Fali NEGOTIATION
Ashley Y ChuiArgentinaAnna Fali NEW
Ricardo D SchemmerUnited KingdomAmy Elsner NEGOTIATION
Wickens P DoeArgentinaStephen Shaw UNQUALIFIED
Stacey R OldroydSpainOnyama Limba UNQUALIFIED
Francesco F RulapaughUnited KingdomElwin Sharvill RENEWAL
Aditya E MarrierRussiaElwin Sharvill QUALIFIED
Smith I VenereUnited KingdomElwin Sharvill QUALIFIED
Faith D MaletUnited KingdomElwin Sharvill UNQUALIFIED
Morrow H IturbideSpainBernardo Dominic NEGOTIATION
Stacey U FlosiArgentinaStephen Shaw UNQUALIFIED
Johnson N SchemmerFranceOnyama Limba NEGOTIATION
Maria Q BowleyJapanElwin Sharvill RENEWAL
Jones R RulapaughArgentinaIoni Bowcher NEW
Wickens W ShinkoIndiaAsiya Javayant NEW
Aditya N WhobreyRussiaIvan Magalhaes NEW
Isabel X StensethArgentinaStephen Shaw UNQUALIFIED
Wickens Y WieserUnited KingdomBernardo Dominic NEW
Smith R FigeroaGermanyXuxue Feng PROPOSAL
Juan Q WieserRussiaAmy Elsner PROPOSAL
David Q SlusarskiFranceOnyama Limba PROPOSAL
Isabel L AmigonArgentinaStephen Shaw UNQUALIFIED
Emily D MarrierRussiaBernardo Dominic QUALIFIED
Antonio M BriddickRussiaAsiya Javayant NEW
Ashley R FigeroaAustraliaStephen Shaw NEGOTIATION
Jennifer Q GarufiSpainIvan Magalhaes PROPOSAL
Kaitlin I FollerFranceAmy Elsner RENEWAL
David E BriddickAustraliaStephen Shaw NEGOTIATION
Tony W CaldareraFranceBernardo Dominic UNQUALIFIED
Aika B AlbaresJapanIvan Magalhaes UNQUALIFIED

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