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 L RulapaughSpainAmy Elsner NEGOTIATION
Tony R VocelkaArgentinaStephen Shaw QUALIFIED
Costa J NestleSpainStephen Shaw UNQUALIFIED
Kaitlin R KuskoArgentinaAnna Fali NEW
Johnson Y FigeroaUnited KingdomAsiya Javayant RENEWAL
Ashley U WieserAustraliaAnna Fali RENEWAL
Kadeem Y ShinkoBrazilIvan Magalhaes QUALIFIED
Izzy J GauchoItalyElwin Sharvill NEW
Stacey X StensethArgentinaIoni Bowcher QUALIFIED
Jefferson Y InouyeCanadaStephen Shaw NEGOTIATION
Jeanfrancois I StensethCanadaAsiya Javayant PROPOSAL
Maisha I BologniaCanadaBernardo Dominic UNQUALIFIED
Ashley K MaletRussiaIvan Magalhaes QUALIFIED
Stacey L DoeAustraliaAnna Fali NEW
Isabel Z OstroskyArgentinaIvan Magalhaes QUALIFIED
Sinclair E TollnerBrazilIvan Magalhaes QUALIFIED
Greenwood R StockhamJapanStephen Shaw QUALIFIED
Leja K SaylorsCanadaOnyama Limba NEW
Leja L FerenczRussiaAmy Elsner NEW
Juan K CampainBrazilIoni Bowcher UNQUALIFIED
Kaitlin I DoeArgentinaAnna Fali NEW
Aditya Q ChuiSpainIoni Bowcher RENEWAL
Arvin M PoquetteItalyXuxue Feng NEW
Emily L CampainJapanOnyama Limba NEGOTIATION
Izzy I MaletCanadaAmy Elsner QUALIFIED
Tony K BowleySpainStephen Shaw NEGOTIATION
Antonio U SaylorsSpainStephen Shaw NEGOTIATION
Deepesh B PaprockiJapanBernardo Dominic NEW
Jeanfrancois U RutaAustraliaXuxue Feng NEGOTIATION
Jones C MaletFranceBernardo Dominic NEW
Mujtaba O MorascaArgentinaAsiya Javayant QUALIFIED
Isabel O RimItalyXuxue Feng RENEWAL
Octavia I NestleRussiaIoni Bowcher RENEWAL
Nicolas D MaletGermanyAsiya Javayant QUALIFIED
Leja L WaycottFranceXuxue Feng NEW
Smith H VenereIndiaBernardo Dominic PROPOSAL
Emily C KolmetzArgentinaAsiya Javayant NEW
Darci N MarrierJapanAnna Fali QUALIFIED
Darci W CampainAustraliaStephen Shaw PROPOSAL
Maria B VocelkaIndiaAmy Elsner RENEWAL
David Z NestleJapanAsiya Javayant UNQUALIFIED
Antonio B GlickCanadaStephen Shaw PROPOSAL
Costa E WieserArgentinaAsiya Javayant NEW
Kadeem E RimIndiaElwin Sharvill PROPOSAL
Chavez U DarakjyAustraliaOnyama Limba NEGOTIATION
Greenwood A AlbaresArgentinaAmy Elsner RENEWAL
Jennifer R BowleyItalyBernardo Dominic RENEWAL
Costa W MorascaJapanOnyama Limba QUALIFIED
Kadeem M IturbideAustraliaElwin Sharvill NEGOTIATION
Darci A GlickIndiaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leon N RulapaughUnited KingdomAnna Fali UNQUALIFIED
Darci X VocelkaGermanyIoni Bowcher UNQUALIFIED
Chavez E SchemmerUnited KingdomIoni Bowcher QUALIFIED
Izzy S FerenczArgentinaBernardo Dominic QUALIFIED
James S CaldareraUnited KingdomAsiya Javayant NEW
Nicolas X KolmetzSpainElwin Sharvill NEW
Stacey Q StockhamItalyAmy Elsner NEW
David E PaprockiAustraliaXuxue Feng PROPOSAL
Kaitlin Q CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Maria F BologniaRussiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley C DilliardFrance2026-07-02Printing Dimensions RENEWAL65Onyama Limba
1001Maria D GlickBrazil2026-07-04Feiner Bros QUALIFIED55Amy Elsner
1002Munro T RoysterIndia2026-07-23Morlong Associates NEW63Xuxue Feng
1003Claire P BriddickGermany2026-07-02Chemel, James L Cpa NEW38Bernardo Dominic
1004Jefferson T KolmetzBrazil2026-07-04Chemel, James L Cpa PROPOSAL16Stephen Shaw
1005Morrow U FerenczAustralia2026-07-14Truhlar And Truhlar Attys QUALIFIED77Anna Fali
1006Jones L BowleyAustralia2026-07-07Feiner Bros UNQUALIFIED67Bernardo Dominic
1007Ivar V VenereUnited Kingdom2026-07-29Commercial Press UNQUALIFIED57Asiya Javayant
1008Maisha M CaudyRussia2026-07-13Commercial Press RENEWAL0Amy Elsner
1009Mujtaba N RoysterIndia2026-07-25Chemel, James L Cpa PROPOSAL54Bernardo Dominic
1010Murillo G ButtJapan2026-07-09Chanay, Jeffrey A Esq QUALIFIED14Stephen Shaw
1011Ashley W RulapaughCanada2026-07-12Commercial Press PROPOSAL73Ivan Magalhaes
1012Morrow Z WaycottUnited Kingdom2026-07-02Rousseaux, Michael Esq QUALIFIED16Xuxue Feng
1013Izzy H KuskoFrance2026-07-16Truhlar And Truhlar Attys NEW8Stephen Shaw
1014Octavia K WhobreyJapan2026-07-23Printing Dimensions QUALIFIED13Bernardo Dominic
1015Johnson X WhobreyGermany2026-07-13Chemel, James L Cpa RENEWAL71Stephen Shaw
1016Chavez M NestleRussia2026-07-19Feltz Printing Service RENEWAL6Bernardo Dominic
1017Isabel D BologniaFrance2026-07-17Printing Dimensions QUALIFIED23Asiya Javayant
1018Jeanfrancois Y OstroskyBrazil2026-07-30Benton, John B Jr UNQUALIFIED59Ioni Bowcher
1019David I RimUnited Kingdom2026-07-09Benton, John B Jr QUALIFIED44Amy Elsner
1020Cody B MaletJapan2026-07-07Feltz Printing Service NEGOTIATION79Xuxue Feng
1021Francesco G InouyeIndia2026-07-19Chapman, Ross E Esq PROPOSAL45Onyama Limba
1022Leon Z VocelkaRussia2026-07-12Printing Dimensions RENEWAL39Ioni Bowcher
1023Maria R WieserBrazil2026-07-14Feiner Bros PROPOSAL1Amy Elsner
1024Salvatore B OldroydCanada2026-07-22Truhlar And Truhlar Attys UNQUALIFIED41Elwin Sharvill
1025Arvin Q MacleadGermany2026-07-11Benton, John B Jr NEW46Asiya Javayant
1026Antonio Z MaletRussia2026-07-20Feltz Printing Service NEW22Onyama Limba
1027Costa H MarrierFrance2026-07-30Rousseaux, Michael Esq QUALIFIED94Elwin Sharvill
1028Maria U KolmetzAustralia2026-07-21Benton, John B Jr NEW21Bernardo Dominic
1029Misaki V StockhamJapan2026-07-13Buckley Miller Wright NEW69Onyama Limba
1030Faith W MarrierUnited Kingdom2026-07-15Truhlar And Truhlar Attys NEW43Xuxue Feng
1031Darci U SchemmerJapan2026-07-13Chemel, James L Cpa RENEWAL56Ivan Magalhaes
1032Antonio S FerenczBrazil2026-07-08Printing Dimensions NEW41Asiya Javayant
1033Maisha J TollnerJapan2026-07-24Benton, John B Jr RENEWAL68Amy Elsner
1034Antonio B InouyeAustralia2026-07-28Feiner Bros NEGOTIATION46Amy Elsner
1035Costa F GauchoSpain2026-07-05Printing Dimensions NEW26Stephen Shaw
1036Chavez Y RulapaughGermany2026-07-13Dorl, James J Esq RENEWAL49Asiya Javayant
1037Sinclair A RoysterRussia2026-07-16Commercial Press UNQUALIFIED39Elwin Sharvill
1038David R SchemmerFrance2026-07-29Feiner Bros NEGOTIATION80Anna Fali
1039Jennifer C DoeCanada2026-07-12Benton, John B Jr RENEWAL83Elwin Sharvill
1040Aika S NestleGermany2026-07-05Truhlar And Truhlar Attys UNQUALIFIED10Xuxue Feng
1041Aika S WaycottFrance2026-07-10Morlong Associates QUALIFIED5Onyama Limba
1042Misaki P MacleadArgentina2026-07-15Truhlar And Truhlar Attys QUALIFIED34Onyama Limba
1043Smith C FigeroaBrazil2026-07-29King, Christopher A Esq RENEWAL24Xuxue Feng
1044Costa K OldroydBrazil2026-07-26Rangoni Of Florence PROPOSAL85Ivan Magalhaes
1045Costa Y CaudyRussia2026-07-28Truhlar And Truhlar Attys PROPOSAL57Bernardo Dominic
1046Munro N FerenczRussia2026-07-26Buckley Miller Wright UNQUALIFIED17Stephen Shaw
1047Emily R StensethRussia2026-07-16Buckley Miller Wright UNQUALIFIED16Elwin Sharvill
1048Aruna C WaycottBrazil2026-07-26Benton, John B Jr RENEWAL5Elwin Sharvill
1049Aruna T SchemmerJapan2026-07-28Feltz Printing Service RENEWAL46Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Silvio Y ChuiBrazilIoni Bowcher NEGOTIATION
Costa B SchemmerJapanElwin Sharvill PROPOSAL
Nicolas A MacleadJapanIoni Bowcher NEGOTIATION
Emily R MarrierIndiaAmy Elsner NEW
Cody R BowleyUnited KingdomAmy Elsner NEW
Isabel S CaldareraRussiaAnna Fali UNQUALIFIED
Aruna M IturbideUnited KingdomElwin Sharvill NEGOTIATION
Maria M KuskoRussiaOnyama Limba NEW
Deepesh C SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Johnson M GlickFranceBernardo Dominic RENEWAL
Chavez E OstroskyBrazilElwin Sharvill RENEWAL
Mujtaba U ChuiFranceOnyama Limba RENEWAL
Leon W FerenczBrazilIvan Magalhaes PROPOSAL
Julie S BriddickGermanyAmy Elsner QUALIFIED
Octavia G MorascaGermanyElwin Sharvill NEGOTIATION
Chavez A WhobreyRussiaAsiya Javayant QUALIFIED
James K AmigonSpainElwin Sharvill QUALIFIED
Antonio F SaylorsJapanStephen Shaw NEW
Tony W WieserBrazilIvan Magalhaes QUALIFIED
Claire T OstroskyUnited KingdomXuxue Feng UNQUALIFIED
Mayumi G CaldareraFranceXuxue Feng PROPOSAL
Nicolas F SaylorsSpainStephen Shaw UNQUALIFIED
Greenwood P FerenczSpainAmy Elsner RENEWAL
Arvin Q MaletAustraliaAsiya Javayant NEGOTIATION
Munro B OldroydIndiaOnyama Limba PROPOSAL
Julie K RoysterCanadaAsiya Javayant QUALIFIED
Nicolas W KuskoIndiaXuxue Feng UNQUALIFIED
Ivar Y MarrierGermanyIoni Bowcher UNQUALIFIED
Faith S MaletJapanBernardo Dominic UNQUALIFIED
Chavez P TollnerSpainIvan Magalhaes QUALIFIED
Alejandro T RulapaughRussiaAnna Fali NEW
Greenwood F MorascaFranceAnna Fali RENEWAL
Tony R DilliardCanadaIvan Magalhaes NEW
Tony N OldroydItalyStephen Shaw NEGOTIATION
Kaitlin C NestleRussiaIvan Magalhaes PROPOSAL
Silvio T InouyeGermanyIoni Bowcher NEGOTIATION
Chavez K OstroskyIndiaBernardo Dominic PROPOSAL
Silvio M FerenczUnited KingdomAnna Fali RENEWAL
Deepesh V IturbideIndiaElwin Sharvill QUALIFIED
Murillo X IturbideArgentinaStephen Shaw QUALIFIED
Aruna D FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Mayumi T FerenczSpainIoni Bowcher NEGOTIATION
Arvin C RimUnited KingdomAsiya Javayant NEGOTIATION
Smith G VocelkaGermanyOnyama Limba QUALIFIED
Juan P AmigonSpainStephen Shaw UNQUALIFIED
Faith J BologniaCanadaXuxue Feng UNQUALIFIED
David U NestleBrazilIoni Bowcher NEGOTIATION
David A ChuiCanadaIvan Magalhaes NEGOTIATION
David M NestleBrazilIoni Bowcher QUALIFIED
Mujtaba F IturbideGermanyXuxue Feng NEW
Frozen Columns
Name
Johnson K Caudy
Emily G Stockham
Kadeem Q Gaucho
Emily H Wieser
Alejandro H Gaucho
Emily I Amigon
Silvio J Darakjy
Darci Q Gaucho
Smith J Albares
Rodrigues I Sergi
Jeanfrancois V Oldroyd
Jones S Ferencz
Ricardo B Caudy
Nicolas W Rulapaugh
Darci I Venere
Alejandro J Figeroa
Murillo R Dilliard
Silvio N Schemmer
Jefferson R Waycott
Nicolas J Paprocki
Jennifer V Paprocki
Kadeem D Chui
Isabel U Campain
Morrow K Saylors
Claire L Slusarski
Greenwood G Kolmetz
Ashley S Malet
James H Shinko
David S Nicka
Adams B Whobrey
Clifford O Malet
Alejandro T Garufi
Greenwood L Figeroa
Juan I Stockham
Jeanfrancois C Nicka
Silvio U Darakjy
Jefferson Q Briddick
Claire U Schemmer
Aditya M Malet
Maisha Q Amigon
Leon P Rulapaugh
Nicolas S Venere
Stacey A Marrier
Adams T Paprocki
Julie A Stockham
Munro C Glick
Chavez N Shinko
Octavia B Maclead
Aruna E Royster
Greenwood L Stockham
IdCountryDate
1000Spain2026-07-13
1001Germany2026-07-08
1002Russia2026-07-03
1003Argentina2026-07-09
1004United Kingdom2026-07-03
1005Spain2026-07-10
1006Canada2026-07-12
1007Australia2026-07-15
1008India2026-07-28
1009Spain2026-07-26
1010Germany2026-07-17
1011Canada2026-07-04
1012Germany2026-07-23
1013Germany2026-07-08
1014Russia2026-07-18
1015India2026-07-10
1016Canada2026-07-24
1017India2026-07-18
1018Japan2026-07-08
1019Argentina2026-07-25
1020Spain2026-07-26
1021Canada2026-07-21
1022France2026-07-20
1023France2026-07-04
1024Argentina2026-07-13
1025Japan2026-07-13
1026United Kingdom2026-07-07
1027Italy2026-07-21
1028Japan2026-07-06
1029Italy2026-07-12
1030Italy2026-07-29
1031Russia2026-07-30
1032Canada2026-07-28
1033United Kingdom2026-07-20
1034United Kingdom2026-07-22
1035United Kingdom2026-07-22
1036Japan2026-07-19
1037Australia2026-07-24
1038Italy2026-07-15
1039India2026-07-19
1040Russia2026-07-30
1041Argentina2026-07-26
1042Russia2026-07-27
1043Japan2026-07-05
1044India2026-07-06
1045United Kingdom2026-07-09
1046United Kingdom2026-07-03
1047Brazil2026-07-05
1048Brazil2026-07-21
1049France2026-07-18

On-Demand Data

NameIdCountryDate
Antonio U Whobrey1000Japan2026-07-13
Munro N Iturbide1001Spain2026-07-02
Juan M Stockham1002France2026-07-14
Clifford W Gaucho1003Germany2026-07-27
Silvio N Oldroyd1004France2026-07-04
Munro X Wieser1005Russia2026-07-28
Adams C Shinko1006India2026-07-03
Octavia K Foller1007France2026-07-27
Izzy W Nestle1008United Kingdom2026-07-11
Rodrigues Y Malet1009Russia2026-07-15
Misaki T Butt1010Germany2026-07-18
Arvin D Shinko1011United Kingdom2026-07-25
Antonio U Malet1012Argentina2026-07-30
Isabel Y Glick1013India2026-07-31
Ricardo I Nicka1014France2026-07-31
Kadeem A Campain1015Australia2026-07-08
Leja K Morasca1016Brazil2026-07-22
Murillo V Figeroa1017India2026-07-31
Smith Z Bolognia1018Italy2026-07-28
Tony T Kusko1019Russia2026-07-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues S DarakjyIndiaOnyama Limba NEW
Octavia L MorascaGermanyAnna Fali UNQUALIFIED
Sinclair X RulapaughGermanyXuxue Feng NEGOTIATION
Aruna B FigeroaBrazilIvan Magalhaes NEGOTIATION
Maisha R OstroskyJapanAsiya Javayant QUALIFIED
Ashley I PerinFranceIoni Bowcher QUALIFIED
Maisha S VenereRussiaElwin Sharvill QUALIFIED
James U WhobreyBrazilIvan Magalhaes UNQUALIFIED
Chavez O FerenczBrazilIoni Bowcher PROPOSAL
Kadeem V ShinkoRussiaElwin Sharvill UNQUALIFIED
Johnson V VenereFranceAnna Fali PROPOSAL
Misaki D SlusarskiItalyAsiya Javayant NEGOTIATION
Aditya E TollnerArgentinaAsiya Javayant QUALIFIED
Julie G SaylorsItalyStephen Shaw QUALIFIED
Silvio V ButtCanadaBernardo Dominic RENEWAL
Juan N BologniaGermanyAnna Fali NEW
Leja H WhobreyCanadaBernardo Dominic QUALIFIED
Isabel O RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo O MaletCanadaIoni Bowcher NEW
Mujtaba G FlosiUnited KingdomIvan Magalhaes RENEWAL
Ricardo O TollnerBrazilAnna Fali UNQUALIFIED
Costa S NickaUnited KingdomAmy Elsner UNQUALIFIED
Misaki S DilliardUnited KingdomAsiya Javayant UNQUALIFIED
Ashley C AmigonJapanXuxue Feng QUALIFIED
Aika R KolmetzUnited KingdomXuxue Feng NEW
Juan O FerenczFranceBernardo Dominic NEGOTIATION
Claire X FollerFranceIoni Bowcher UNQUALIFIED
Julie E KuskoSpainIoni Bowcher PROPOSAL
Jones A SlusarskiGermanyBernardo Dominic RENEWAL
Clifford X StensethBrazilXuxue Feng NEW
David G FerenczGermanyIvan Magalhaes NEW
Ricardo T PerinGermanyXuxue Feng NEGOTIATION
Faith T WieserBrazilElwin Sharvill NEGOTIATION
Ashley Q KolmetzBrazilAsiya Javayant NEGOTIATION
Kadeem G WaycottFranceIvan Magalhaes QUALIFIED
Maria C MacleadIndiaBernardo Dominic NEW
Mayumi V PoquetteArgentinaAmy Elsner NEW
Clifford R GlickIndiaOnyama Limba PROPOSAL
Arvin T BriddickAustraliaAsiya Javayant NEW
Costa Y SchemmerJapanOnyama Limba 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>