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
Arvin G GlickIndiaXuxue Feng QUALIFIED
Emily S MaletItalyIoni Bowcher NEW
Ricardo P RutaUnited KingdomElwin Sharvill QUALIFIED
Salvatore E SaylorsSpainOnyama Limba NEW
Leja X MorascaItalyOnyama Limba UNQUALIFIED
Jennifer N VenereAustraliaElwin Sharvill UNQUALIFIED
Leja I FlosiRussiaAsiya Javayant RENEWAL
Deepesh W VocelkaGermanyBernardo Dominic QUALIFIED
Clifford R TollnerFranceXuxue Feng NEW
Jeanfrancois Y FollerAustraliaStephen Shaw PROPOSAL
Deepesh B CampainGermanyIoni Bowcher RENEWAL
Antonio Y BriddickSpainAsiya Javayant UNQUALIFIED
Chavez O PaprockiBrazilXuxue Feng UNQUALIFIED
Francesco S CaudyJapanIvan Magalhaes UNQUALIFIED
Smith C CampainJapanBernardo Dominic QUALIFIED
Mujtaba R AlbaresItalyAmy Elsner RENEWAL
Antonio L FlosiGermanyAnna Fali NEGOTIATION
Greenwood T ButtAustraliaBernardo Dominic QUALIFIED
Faith B StensethBrazilStephen Shaw QUALIFIED
Jefferson E BologniaSpainElwin Sharvill QUALIFIED
Jennifer O SchemmerCanadaXuxue Feng NEGOTIATION
Aika N NestleRussiaXuxue Feng NEGOTIATION
Rodrigues Z SchemmerItalyAmy Elsner UNQUALIFIED
Mujtaba K GarufiGermanyOnyama Limba NEGOTIATION
Salvatore Q ShinkoGermanyIvan Magalhaes UNQUALIFIED
Alejandro I GarufiArgentinaIvan Magalhaes NEGOTIATION
Misaki Q FigeroaBrazilIoni Bowcher QUALIFIED
Leon G SergiGermanyIoni Bowcher NEGOTIATION
Deepesh U GlickArgentinaAmy Elsner RENEWAL
Greenwood B WieserFranceOnyama Limba NEW
Rodrigues O CaudyGermanyElwin Sharvill PROPOSAL
Aditya U DarakjyRussiaStephen Shaw NEGOTIATION
Aika X BologniaItalyIvan Magalhaes NEGOTIATION
Alejandro H InouyeJapanAmy Elsner NEW
Tony L InouyeFranceIvan Magalhaes QUALIFIED
Ricardo O OldroydRussiaOnyama Limba PROPOSAL
Claire E AlbaresIndiaBernardo Dominic NEGOTIATION
Arvin U IturbideIndiaXuxue Feng NEW
Murillo H BologniaRussiaIvan Magalhaes RENEWAL
Aditya Y RoysterSpainXuxue Feng PROPOSAL
Sinclair A StensethUnited KingdomBernardo Dominic NEGOTIATION
Aditya V MaletBrazilIoni Bowcher NEGOTIATION
Kadeem R KuskoSpainElwin Sharvill RENEWAL
Munro G CaldareraIndiaIoni Bowcher RENEWAL
Darci A FollerRussiaStephen Shaw QUALIFIED
Adams T AlbaresFranceAsiya Javayant PROPOSAL
Isabel O StensethJapanIvan Magalhaes QUALIFIED
Chavez K FigeroaAustraliaAsiya Javayant RENEWAL
Leja P AlbaresAustraliaAnna Fali RENEWAL
James O NestleJapanIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Sinclair P InouyeRussiaIvan Magalhaes RENEWAL
Adams E OldroydGermanyBernardo Dominic PROPOSAL
Jennifer F DoeIndiaAsiya Javayant RENEWAL
Tony V MaletIndiaElwin Sharvill UNQUALIFIED
James I RoysterArgentinaElwin Sharvill QUALIFIED
Isabel C FollerFranceStephen Shaw QUALIFIED
Mujtaba T BologniaFranceElwin Sharvill NEW
Greenwood G MaletArgentinaBernardo Dominic NEW
Jones Q ButtAustraliaStephen Shaw PROPOSAL
Johnson E MorascaItalyIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro Z PaprockiRussia2025-04-24Feltz Printing Service UNQUALIFIED95Amy Elsner
1001Aruna P IturbideArgentina2025-04-16Morlong Associates NEGOTIATION85Amy Elsner
1002Silvio T SlusarskiRussia2025-03-31Buckley Miller Wright RENEWAL69Onyama Limba
1003Antonio X GarufiIndia2025-04-17Commercial Press NEGOTIATION42Stephen Shaw
1004Tony D BriddickFrance2025-04-09Rousseaux, Michael Esq UNQUALIFIED58Elwin Sharvill
1005Kaitlin P GauchoItaly2025-04-25Morlong Associates QUALIFIED50Xuxue Feng
1006Julie A WaycottJapan2025-04-23Benton, John B Jr NEW94Xuxue Feng
1007Aruna P CaudyIndia2025-03-31Benton, John B Jr RENEWAL15Elwin Sharvill
1008Smith M PerinBrazil2025-04-08Printing Dimensions NEGOTIATION79Asiya Javayant
1009Greenwood J KuskoItaly2025-04-26Rangoni Of Florence NEW4Anna Fali
1010Ashley S DarakjySpain2025-04-17Morlong Associates RENEWAL65Bernardo Dominic
1011David J ButtUnited Kingdom2025-04-07Feltz Printing Service RENEWAL20Elwin Sharvill
1012Munro R TollnerItaly2025-04-20Feiner Bros NEW15Asiya Javayant
1013Misaki M PaprockiJapan2025-04-28Printing Dimensions RENEWAL66Xuxue Feng
1014Johnson B WaycottAustralia2025-04-17King, Christopher A Esq PROPOSAL38Asiya Javayant
1015Leon E BowleyItaly2025-04-01Truhlar And Truhlar Attys RENEWAL2Amy Elsner
1016Deepesh U SlusarskiCanada2025-04-05King, Christopher A Esq PROPOSAL52Bernardo Dominic
1017Salvatore K TollnerAustralia2025-04-26Commercial Press UNQUALIFIED79Bernardo Dominic
1018Johnson B VocelkaSpain2025-04-26Morlong Associates UNQUALIFIED32Bernardo Dominic
1019Claire B NestleRussia2025-04-01Feltz Printing Service RENEWAL73Bernardo Dominic
1020Munro V GlickJapan2025-04-19Buckley Miller Wright UNQUALIFIED77Anna Fali
1021Cody E TollnerRussia2025-04-25Feiner Bros UNQUALIFIED13Anna Fali
1022Kadeem G FollerSpain2025-04-07Rangoni Of Florence RENEWAL91Elwin Sharvill
1023Izzy T StensethAustralia2025-04-10Truhlar And Truhlar Attys NEW87Anna Fali
1024Arvin E PaprockiRussia2025-04-07Rousseaux, Michael Esq PROPOSAL45Stephen Shaw
1025Antonio R RoysterItaly2025-04-03Printing Dimensions UNQUALIFIED84Amy Elsner
1026Silvio W AlbaresRussia2025-04-29Printing Dimensions QUALIFIED62Xuxue Feng
1027Alejandro O MarrierFrance2025-04-02Chapman, Ross E Esq NEGOTIATION55Asiya Javayant
1028Maria O NickaAustralia2025-04-29Truhlar And Truhlar Attys NEGOTIATION68Elwin Sharvill
1029Morrow A WaycottCanada2025-04-29Buckley Miller Wright QUALIFIED5Elwin Sharvill
1030Cody X WieserArgentina2025-04-02Chemel, James L Cpa PROPOSAL81Bernardo Dominic
1031Jefferson P StensethFrance2025-04-25Printing Dimensions NEGOTIATION95Elwin Sharvill
1032Salvatore H SaylorsSpain2025-04-15Feiner Bros UNQUALIFIED63Ivan Magalhaes
1033Leja L SaylorsJapan2025-04-10Commercial Press NEGOTIATION92Stephen Shaw
1034Costa T GlickAustralia2025-04-26Morlong Associates PROPOSAL53Anna Fali
1035Leon L SlusarskiItaly2025-04-28Rangoni Of Florence PROPOSAL95Xuxue Feng
1036Mujtaba A TollnerAustralia2025-04-10Chapman, Ross E Esq RENEWAL96Amy Elsner
1037Claire Y FerenczBrazil2025-04-28Benton, John B Jr NEW41Xuxue Feng
1038Aika P RoysterUnited Kingdom2025-04-10Rousseaux, Michael Esq PROPOSAL77Asiya Javayant
1039Costa U KolmetzFrance2025-04-05Morlong Associates RENEWAL97Anna Fali
1040Clifford M KuskoUnited Kingdom2025-04-14Buckley Miller Wright NEW76Onyama Limba
1041Maria E RoysterItaly2025-04-09Printing Dimensions NEGOTIATION32Bernardo Dominic
1042Misaki P RoysterSpain2025-04-21King, Christopher A Esq NEGOTIATION59Onyama Limba
1043Darci F GarufiCanada2025-04-21Chanay, Jeffrey A Esq QUALIFIED68Ioni Bowcher
1044Julie C ButtSpain2025-04-12Chapman, Ross E Esq QUALIFIED5Ioni Bowcher
1045Aruna T IturbideUnited Kingdom2025-04-21Feltz Printing Service NEGOTIATION78Ioni Bowcher
1046James X VocelkaArgentina2025-04-02Truhlar And Truhlar Attys QUALIFIED17Ivan Magalhaes
1047Murillo P KolmetzBrazil2025-04-18Chanay, Jeffrey A Esq NEGOTIATION5Asiya Javayant
1048Jennifer D PoquetteItaly2025-04-02Dorl, James J Esq UNQUALIFIED68Elwin Sharvill
1049Octavia I CaudySpain2025-04-26Truhlar And Truhlar Attys NEW19Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Clifford F SaylorsIndiaOnyama Limba PROPOSAL
James J IturbideUnited KingdomAsiya Javayant PROPOSAL
Julie K MaletIndiaAmy Elsner NEGOTIATION
Leja Q RulapaughGermanyStephen Shaw NEW
Murillo E ButtJapanOnyama Limba NEW
Kadeem E SlusarskiGermanyBernardo Dominic UNQUALIFIED
Octavia I VocelkaCanadaElwin Sharvill PROPOSAL
David C RutaGermanyIoni Bowcher PROPOSAL
Rodrigues X MarrierBrazilXuxue Feng NEGOTIATION
Costa W ButtIndiaIvan Magalhaes PROPOSAL
Darci N CaudyArgentinaAmy Elsner NEW
Octavia I FollerFranceAnna Fali QUALIFIED
Costa W ButtUnited KingdomElwin Sharvill PROPOSAL
Darci L FerenczRussiaIvan Magalhaes PROPOSAL
Arvin P MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro T ButtAustraliaIoni Bowcher PROPOSAL
Wickens X AmigonItalyXuxue Feng UNQUALIFIED
Nicolas B KolmetzAustraliaAsiya Javayant QUALIFIED
Emily S VocelkaAustraliaXuxue Feng NEGOTIATION
Ricardo A SchemmerCanadaAnna Fali RENEWAL
Francesco J MaletRussiaIoni Bowcher RENEWAL
Arvin B BriddickJapanIoni Bowcher QUALIFIED
Ivar J MorascaSpainIvan Magalhaes NEGOTIATION
Salvatore Y MarrierItalyIvan Magalhaes RENEWAL
Clifford Q MaletAustraliaAsiya Javayant NEW
Arvin P DilliardBrazilIvan Magalhaes QUALIFIED
Jefferson B MaletItalyBernardo Dominic QUALIFIED
Darci G RulapaughItalyIoni Bowcher UNQUALIFIED
Smith I NestleSpainStephen Shaw NEGOTIATION
Emily D IturbideGermanyXuxue Feng RENEWAL
Ricardo R FerenczGermanyXuxue Feng PROPOSAL
Juan V WaycottUnited KingdomIvan Magalhaes NEW
Darci L FerenczAustraliaStephen Shaw UNQUALIFIED
Ashley I FerenczJapanAnna Fali NEGOTIATION
Maria S OldroydArgentinaAmy Elsner RENEWAL
Julie O DarakjyArgentinaBernardo Dominic NEW
Leon N PoquetteBrazilAmy Elsner RENEWAL
Clifford Y RoysterBrazilAmy Elsner NEGOTIATION
James F DilliardFranceElwin Sharvill PROPOSAL
Sinclair J ShinkoArgentinaAmy Elsner QUALIFIED
Kadeem A AmigonRussiaAsiya Javayant RENEWAL
Costa X MarrierCanadaAsiya Javayant UNQUALIFIED
Morrow Y GarufiJapanAsiya Javayant QUALIFIED
Maisha O DarakjyItalyXuxue Feng UNQUALIFIED
Nicolas P MarrierUnited KingdomIoni Bowcher QUALIFIED
Juan I IturbideIndiaAnna Fali RENEWAL
David E TollnerItalyIvan Magalhaes NEW
Deepesh M NestleItalyXuxue Feng RENEWAL
Sinclair Q GarufiIndiaIvan Magalhaes PROPOSAL
James J FollerSpainBernardo Dominic QUALIFIED
Frozen Columns
Name
Jennifer X Gillian
Ivar S Tollner
Claire R Bolognia
Juan L Chui
Kadeem D Rim
Wickens M Chui
Jones W Caudy
Jones G Waycott
Sinclair P Sergi
Chavez Z Flosi
Jones Y Iturbide
Kaitlin P Sergi
Morrow X Venere
Ivar X Malet
Aika C Dilliard
David X Paprocki
Silvio V Caudy
Aruna B Maclead
Jeanfrancois M Amigon
Faith R Dilliard
Alejandro X Vocelka
Misaki A Gaucho
Mayumi D Ostrosky
Rodrigues I Slusarski
Salvatore Y Gillian
Kadeem Q Bowley
Maisha Z Doe
Leon I Maclead
Cody Z Amigon
Sinclair F Briddick
Aruna G Ostrosky
Aika M Whobrey
Silvio X Shinko
Francesco X Caudy
Jennifer O Ferencz
Antonio M Malet
Silvio P Kusko
Aruna M Whobrey
Morrow L Sergi
Clifford H Malet
Sinclair U Darakjy
Wickens P Ferencz
Cody P Schemmer
Munro S Briddick
Izzy F Ferencz
James W Briddick
Deepesh X Perin
Mayumi N Rim
Tony D Oldroyd
Clifford W Kusko
IdCountryDate
1000Russia2025-04-02
1001United Kingdom2025-04-26
1002Italy2025-04-18
1003Italy2025-04-22
1004India2025-04-14
1005Germany2025-04-23
1006Canada2025-04-07
1007India2025-04-29
1008Japan2025-04-22
1009Italy2025-04-13
1010Italy2025-04-29
1011India2025-04-26
1012Brazil2025-04-16
1013Australia2025-04-24
1014Brazil2025-04-15
1015Argentina2025-04-06
1016Russia2025-04-06
1017Japan2025-04-15
1018Spain2025-04-11
1019India2025-04-23
1020Spain2025-04-20
1021Canada2025-04-14
1022Germany2025-04-26
1023France2025-04-11
1024Argentina2025-04-01
1025Italy2025-04-19
1026Russia2025-04-04
1027Australia2025-04-14
1028Russia2025-04-28
1029India2025-04-08
1030United Kingdom2025-04-11
1031India2025-04-23
1032Japan2025-04-06
1033Argentina2025-04-22
1034France2025-04-20
1035Canada2025-04-26
1036India2025-04-18
1037Italy2025-04-14
1038United Kingdom2025-04-08
1039Brazil2025-04-02
1040Australia2025-04-05
1041Argentina2025-04-02
1042Germany2025-04-23
1043Argentina2025-04-25
1044Spain2025-04-21
1045Russia2025-04-20
1046United Kingdom2025-04-05
1047Japan2025-04-25
1048Australia2025-04-18
1049India2025-04-05

On-Demand Data

NameIdCountryDate
Kadeem E Morasca1000Russia2025-04-15
Mujtaba T Butt1001Italy2025-04-22
Wickens F Morasca1002Argentina2025-04-01
Nicolas H Marrier1003Japan2025-04-25
Emily V Bolognia1004Canada2025-04-11
Sinclair C Bowley1005Spain2025-04-23
Aditya E Nicka1006United Kingdom2025-04-24
David J Shinko1007India2025-04-25
Cody T Tollner1008Australia2025-04-14
Adams K Iturbide1009Italy2025-04-02
Silvio J Bowley1010Argentina2025-04-26
Emily P Morasca1011Japan2025-04-15
Leon C Ostrosky1012Japan2025-04-28
Stacey Z Ostrosky1013United Kingdom2025-04-14
Greenwood G Darakjy1014Brazil2025-04-26
Nicolas G Briddick1015Brazil2025-04-13
Chavez W Maclead1016India2025-03-31
Chavez O Dilliard1017Spain2025-04-29
Alejandro R Figeroa1018Italy2025-04-21
Tony G Saylors1019Argentina2025-04-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez V MarrierAustraliaAsiya Javayant QUALIFIED
Stacey V WieserRussiaBernardo Dominic RENEWAL
Maisha V FigeroaFranceXuxue Feng QUALIFIED
Mujtaba X RutaGermanyIvan Magalhaes NEGOTIATION
Nicolas T FlosiUnited KingdomIoni Bowcher UNQUALIFIED
Sinclair J DarakjyFranceBernardo Dominic QUALIFIED
Silvio G FerenczIndiaXuxue Feng RENEWAL
Jeanfrancois Z GillianUnited KingdomStephen Shaw UNQUALIFIED
Rodrigues X RulapaughRussiaAnna Fali QUALIFIED
Costa S WieserRussiaStephen Shaw NEGOTIATION
Rodrigues D SlusarskiIndiaStephen Shaw PROPOSAL
Arvin K NickaAustraliaElwin Sharvill UNQUALIFIED
Jennifer A SergiBrazilXuxue Feng NEW
Smith V NestleRussiaOnyama Limba NEGOTIATION
Mujtaba W CampainUnited KingdomXuxue Feng NEW
Morrow F PaprockiCanadaAsiya Javayant NEW
Octavia B WaycottBrazilAnna Fali RENEWAL
Wickens V GlickGermanyAmy Elsner NEGOTIATION
Ashley X GlickBrazilAnna Fali NEW
Stacey X SergiAustraliaIvan Magalhaes NEGOTIATION
Antonio B OstroskyJapanElwin Sharvill PROPOSAL
Alejandro P OstroskySpainXuxue Feng QUALIFIED
Clifford O SchemmerAustraliaAsiya Javayant PROPOSAL
Costa D ChuiCanadaXuxue Feng NEW
Izzy Q RimRussiaAsiya Javayant QUALIFIED
James A CampainBrazilXuxue Feng RENEWAL
Adams U DarakjyRussiaIoni Bowcher NEGOTIATION
Kadeem G GillianArgentinaBernardo Dominic QUALIFIED
Jennifer A MacleadArgentinaXuxue Feng UNQUALIFIED
Ivar V ButtItalyOnyama Limba NEGOTIATION
Izzy N VocelkaCanadaAnna Fali QUALIFIED
Smith Z FollerItalyXuxue Feng NEW
Munro T WhobreyFranceStephen Shaw NEGOTIATION
Juan P MaletIndiaIvan Magalhaes QUALIFIED
Darci S InouyeIndiaAsiya Javayant PROPOSAL
Juan E StensethJapanXuxue Feng RENEWAL
Nicolas R StensethArgentinaElwin Sharvill PROPOSAL
Murillo V ButtCanadaAsiya Javayant PROPOSAL
Johnson C KuskoArgentinaBernardo Dominic UNQUALIFIED
Ricardo X SaylorsJapanAmy Elsner 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>