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
Greenwood V RutaBrazilAsiya Javayant QUALIFIED
Isabel D SergiCanadaIoni Bowcher NEW
Arvin I DilliardGermanyElwin Sharvill NEW
Nicolas D StensethSpainAsiya Javayant NEGOTIATION
Francesco B DarakjyRussiaXuxue Feng QUALIFIED
Mujtaba I NickaItalyIoni Bowcher QUALIFIED
Kadeem Q DoeSpainIoni Bowcher QUALIFIED
David G VenereBrazilAmy Elsner QUALIFIED
Salvatore R AlbaresJapanAmy Elsner NEW
Octavia S CaldareraArgentinaXuxue Feng NEGOTIATION
James P DoeJapanAsiya Javayant PROPOSAL
Leon T StockhamItalyAnna Fali PROPOSAL
Leja T StockhamItalyOnyama Limba UNQUALIFIED
Jones T IturbideSpainOnyama Limba UNQUALIFIED
Ashley O NestleGermanyStephen Shaw PROPOSAL
Wickens Q WaycottRussiaXuxue Feng NEGOTIATION
Izzy Q GlickUnited KingdomStephen Shaw UNQUALIFIED
Misaki Y BriddickBrazilBernardo Dominic QUALIFIED
Murillo P AmigonRussiaAnna Fali NEGOTIATION
Isabel S RutaUnited KingdomBernardo Dominic UNQUALIFIED
Jennifer G FigeroaAustraliaAmy Elsner NEGOTIATION
Jefferson V IturbideUnited KingdomElwin Sharvill NEGOTIATION
Johnson M PaprockiAustraliaIoni Bowcher NEGOTIATION
Jones R ShinkoIndiaStephen Shaw UNQUALIFIED
Silvio U SchemmerBrazilIoni Bowcher UNQUALIFIED
Smith I FerenczRussiaAsiya Javayant QUALIFIED
Mayumi Y CaudyItalyElwin Sharvill PROPOSAL
Emily C CaudyAustraliaOnyama Limba QUALIFIED
Maria O NestleSpainIvan Magalhaes PROPOSAL
Maisha V ChuiItalyStephen Shaw PROPOSAL
Mayumi D GlickUnited KingdomXuxue Feng PROPOSAL
Cody Q MaletCanadaStephen Shaw UNQUALIFIED
Morrow P VenereRussiaIvan Magalhaes NEW
Deepesh Q GillianFranceBernardo Dominic UNQUALIFIED
Antonio B WhobreyAustraliaOnyama Limba UNQUALIFIED
Adams G OstroskyBrazilBernardo Dominic RENEWAL
Isabel R TollnerFranceAsiya Javayant UNQUALIFIED
Clifford S ButtArgentinaAnna Fali QUALIFIED
Kaitlin A VenereRussiaIvan Magalhaes NEW
Munro Z ButtBrazilIoni Bowcher QUALIFIED
Stacey O PerinIndiaXuxue Feng NEGOTIATION
Faith R BologniaGermanyIvan Magalhaes PROPOSAL
Sinclair P DoeCanadaElwin Sharvill NEW
Francesco T MaletCanadaElwin Sharvill NEW
Antonio M MaletAustraliaIoni Bowcher NEGOTIATION
David Q MaletAustraliaIoni Bowcher QUALIFIED
Isabel B GlickIndiaXuxue Feng NEW
Greenwood B MaletFranceIoni Bowcher UNQUALIFIED
Darci P WaycottCanadaAsiya Javayant PROPOSAL
David T FollerAustraliaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith I CampainRussiaStephen Shaw NEW
Nicolas W WieserSpainBernardo Dominic NEGOTIATION
Aika W SaylorsJapanAmy Elsner RENEWAL
Salvatore K NestleBrazilAsiya Javayant NEW
Emily U FerenczUnited KingdomAnna Fali NEGOTIATION
Jones N CaudyAustraliaIoni Bowcher NEW
Leja V KolmetzFranceXuxue Feng PROPOSAL
Misaki L GillianItalyAnna Fali RENEWAL
Aruna B CaldareraItalyAmy Elsner UNQUALIFIED
Mujtaba M AmigonCanadaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez M OldroydUnited Kingdom2026-07-29Morlong Associates RENEWAL14Elwin Sharvill
1001Jeanfrancois L CaudySpain2026-07-17Chemel, James L Cpa UNQUALIFIED48Bernardo Dominic
1002Aika V StensethGermany2026-07-30Printing Dimensions PROPOSAL82Stephen Shaw
1003Wickens W FerenczFrance2026-07-31Buckley Miller Wright UNQUALIFIED32Onyama Limba
1004Francesco O CampainBrazil2026-07-25King, Christopher A Esq UNQUALIFIED11Asiya Javayant
1005Darci U GarufiRussia2026-08-05Feltz Printing Service NEGOTIATION17Onyama Limba
1006Greenwood A CampainIndia2026-08-03Printing Dimensions QUALIFIED50Ivan Magalhaes
1007Deepesh V CaldareraJapan2026-07-20Buckley Miller Wright UNQUALIFIED93Asiya Javayant
1008Greenwood A GillianItaly2026-08-08Printing Dimensions PROPOSAL88Amy Elsner
1009Izzy X KuskoArgentina2026-08-03Commercial Press QUALIFIED60Anna Fali
1010Mujtaba B KolmetzArgentina2026-07-28Buckley Miller Wright UNQUALIFIED93Xuxue Feng
1011Misaki H GarufiJapan2026-07-29Dorl, James J Esq UNQUALIFIED59Ioni Bowcher
1012Darci O CampainGermany2026-07-24Feltz Printing Service UNQUALIFIED98Anna Fali
1013Rodrigues L OstroskyFrance2026-07-16Printing Dimensions NEW75Onyama Limba
1014Munro B AmigonFrance2026-08-03Morlong Associates NEGOTIATION1Anna Fali
1015Juan Q MorascaCanada2026-07-22Feltz Printing Service NEGOTIATION88Onyama Limba
1016Isabel Y RutaSpain2026-07-30Truhlar And Truhlar Attys RENEWAL37Elwin Sharvill
1017Rodrigues H IturbideJapan2026-08-01Dorl, James J Esq NEW32Bernardo Dominic
1018Mayumi L AlbaresFrance2026-07-22Benton, John B Jr PROPOSAL16Bernardo Dominic
1019Mayumi J SaylorsUnited Kingdom2026-07-19Chapman, Ross E Esq QUALIFIED13Ioni Bowcher
1020Wickens P CampainArgentina2026-08-01Chanay, Jeffrey A Esq QUALIFIED52Asiya Javayant
1021Leja L OstroskyArgentina2026-07-27Printing Dimensions PROPOSAL53Elwin Sharvill
1022James I GarufiSpain2026-07-29Chapman, Ross E Esq NEGOTIATION82Onyama Limba
1023Julie R SlusarskiRussia2026-07-21Benton, John B Jr QUALIFIED65Elwin Sharvill
1024Clifford U IturbideGermany2026-07-24Chapman, Ross E Esq RENEWAL83Xuxue Feng
1025Izzy B TollnerSpain2026-08-08Morlong Associates NEW60Onyama Limba
1026Ricardo B ShinkoCanada2026-07-30Rousseaux, Michael Esq UNQUALIFIED80Amy Elsner
1027Morrow Z MaletRussia2026-08-05Morlong Associates PROPOSAL40Anna Fali
1028Sinclair W MaletUnited Kingdom2026-08-04King, Christopher A Esq RENEWAL44Anna Fali
1029Salvatore B ShinkoAustralia2026-07-18Rangoni Of Florence UNQUALIFIED79Ioni Bowcher
1030Adams M InouyeIndia2026-07-10Buckley Miller Wright QUALIFIED98Ioni Bowcher
1031Jones Y KolmetzSpain2026-07-21King, Christopher A Esq UNQUALIFIED80Elwin Sharvill
1032Mujtaba M StensethRussia2026-07-23Benton, John B Jr RENEWAL27Asiya Javayant
1033Greenwood V RoysterRussia2026-08-05Chemel, James L Cpa NEGOTIATION22Asiya Javayant
1034Misaki I BriddickFrance2026-07-13Benton, John B Jr UNQUALIFIED42Elwin Sharvill
1035Jefferson J TollnerJapan2026-08-08Chemel, James L Cpa NEW6Xuxue Feng
1036Adams P KolmetzItaly2026-08-04Chanay, Jeffrey A Esq UNQUALIFIED96Stephen Shaw
1037Kadeem N DilliardAustralia2026-07-17Feltz Printing Service RENEWAL33Amy Elsner
1038Silvio S GillianFrance2026-07-22Dorl, James J Esq NEW26Stephen Shaw
1039Nicolas J AlbaresUnited Kingdom2026-07-14Chemel, James L Cpa UNQUALIFIED69Bernardo Dominic
1040Leon T StensethCanada2026-07-25Rangoni Of Florence PROPOSAL20Stephen Shaw
1041Faith U VocelkaBrazil2026-07-26Dorl, James J Esq UNQUALIFIED61Ivan Magalhaes
1042Chavez W MorascaSpain2026-07-22Benton, John B Jr UNQUALIFIED65Asiya Javayant
1043Ricardo O GillianUnited Kingdom2026-07-22Chemel, James L Cpa UNQUALIFIED86Anna Fali
1044Juan K FerenczGermany2026-07-13Benton, John B Jr NEW46Stephen Shaw
1045Francesco Y MaletArgentina2026-07-20Chapman, Ross E Esq PROPOSAL83Stephen Shaw
1046Jennifer X SaylorsIndia2026-07-24Chanay, Jeffrey A Esq NEGOTIATION66Onyama Limba
1047Leon N NestleUnited Kingdom2026-07-16Morlong Associates NEW4Asiya Javayant
1048Jones P CaudyBrazil2026-08-01Buckley Miller Wright UNQUALIFIED50Elwin Sharvill
1049Aditya Y KuskoJapan2026-08-02Benton, John B Jr RENEWAL89Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kadeem H GlickJapanIoni Bowcher QUALIFIED
Salvatore H SchemmerUnited KingdomIoni Bowcher PROPOSAL
Deepesh X BologniaAustraliaStephen Shaw NEGOTIATION
Aruna H WhobreyFranceAnna Fali QUALIFIED
Wickens I FlosiBrazilElwin Sharvill NEGOTIATION
Maria D IturbideSpainStephen Shaw QUALIFIED
Wickens F NestleSpainOnyama Limba PROPOSAL
Izzy N MacleadFranceIvan Magalhaes QUALIFIED
Misaki B CaudyJapanXuxue Feng NEGOTIATION
Stacey S CaudyItalyIvan Magalhaes PROPOSAL
Izzy A BriddickBrazilIvan Magalhaes RENEWAL
Greenwood K IturbideFranceIoni Bowcher PROPOSAL
Isabel H WhobreyAustraliaAnna Fali UNQUALIFIED
Kaitlin I CaldareraArgentinaIvan Magalhaes NEW
Darci V FigeroaItalyIvan Magalhaes NEW
Faith X KuskoBrazilOnyama Limba NEGOTIATION
Stacey E ShinkoCanadaAsiya Javayant NEGOTIATION
Darci E CaudyJapanAmy Elsner UNQUALIFIED
James V FollerFranceIvan Magalhaes PROPOSAL
Jones Q SaylorsRussiaIvan Magalhaes PROPOSAL
Greenwood F GauchoItalyIvan Magalhaes UNQUALIFIED
Aika N GauchoAustraliaAmy Elsner NEGOTIATION
Kaitlin K SchemmerGermanyXuxue Feng UNQUALIFIED
Smith V VenereIndiaXuxue Feng NEW
Julie O MaletAustraliaAnna Fali NEGOTIATION
Greenwood T NestleJapanElwin Sharvill RENEWAL
Murillo I SergiItalyElwin Sharvill NEW
Adams G AlbaresCanadaIoni Bowcher PROPOSAL
Johnson R CaldareraItalyXuxue Feng NEW
Aditya S SergiUnited KingdomOnyama Limba PROPOSAL
Cody J RimUnited KingdomIoni Bowcher PROPOSAL
Jennifer F KuskoFranceOnyama Limba NEGOTIATION
Rodrigues T KolmetzItalyAnna Fali NEGOTIATION
Chavez K CaldareraUnited KingdomStephen Shaw UNQUALIFIED
James C RimFranceOnyama Limba RENEWAL
Maria F WieserBrazilIoni Bowcher NEGOTIATION
Johnson M CampainJapanIoni Bowcher QUALIFIED
Jefferson T ButtFranceAnna Fali UNQUALIFIED
Deepesh E NickaFranceIoni Bowcher QUALIFIED
Maisha A StensethGermanyBernardo Dominic QUALIFIED
Antonio N DilliardJapanElwin Sharvill NEW
David S BologniaUnited KingdomOnyama Limba UNQUALIFIED
Maria O GlickBrazilIoni Bowcher NEGOTIATION
Claire R StensethAustraliaAsiya Javayant NEGOTIATION
Arvin M KuskoBrazilStephen Shaw RENEWAL
Adams Q WieserAustraliaAsiya Javayant NEW
Darci T GauchoRussiaIoni Bowcher PROPOSAL
Smith Y GarufiCanadaOnyama Limba NEW
Juan N BowleyGermanyAnna Fali QUALIFIED
Nicolas D VocelkaIndiaAmy Elsner NEGOTIATION
Frozen Columns
Name
Alejandro E Briddick
Morrow K Shinko
Clifford X Marrier
Claire V Garufi
Emily O Foller
Wickens D Gaucho
Alejandro P Venere
Greenwood G Chui
Ivar U Chui
Adams Z Rim
Sinclair G Royster
Rodrigues R Garufi
Murillo N Kolmetz
Ivar U Campain
Maria R Caudy
Alejandro H Glick
Morrow V Flosi
Alejandro V Doe
Murillo I Malet
Aditya L Kusko
David O Chui
Maisha W Campain
Maisha A Gillian
Aika W Rulapaugh
Ricardo C Glick
Salvatore W Caudy
Leon C Saylors
James P Perin
Alejandro O Saylors
Costa M Butt
Murillo H Rulapaugh
Arvin Y Albares
Aika F Saylors
Sinclair Y Schemmer
James P Butt
Maria N Oldroyd
Clifford S Foller
Misaki T Vocelka
Salvatore D Glick
Jeanfrancois E Chui
James P Marrier
James A Ruta
Deepesh N Shinko
Leja D Slusarski
Aruna X Gaucho
Johnson A Royster
Rodrigues W Rulapaugh
Alejandro Y Inouye
Wickens A Inouye
Darci Z Malet
IdCountryDate
1000Argentina2026-07-22
1001Australia2026-08-01
1002Russia2026-07-14
1003Russia2026-08-02
1004United Kingdom2026-07-28
1005India2026-07-25
1006Japan2026-07-20
1007Brazil2026-08-05
1008Argentina2026-07-27
1009Italy2026-07-13
1010Canada2026-07-19
1011Italy2026-07-27
1012Japan2026-08-03
1013Spain2026-07-28
1014United Kingdom2026-07-12
1015Spain2026-07-21
1016Italy2026-07-14
1017Japan2026-08-03
1018Germany2026-07-15
1019Italy2026-07-30
1020Spain2026-07-29
1021Brazil2026-08-07
1022Italy2026-08-02
1023Russia2026-07-30
1024Russia2026-08-07
1025Germany2026-08-06
1026Canada2026-07-12
1027Canada2026-07-26
1028France2026-07-17
1029Spain2026-07-17
1030Australia2026-07-23
1031India2026-07-20
1032Germany2026-07-28
1033Italy2026-08-01
1034Spain2026-08-04
1035Argentina2026-08-07
1036Spain2026-07-20
1037France2026-08-05
1038India2026-07-12
1039Germany2026-07-28
1040Japan2026-08-03
1041Canada2026-07-21
1042Australia2026-07-20
1043India2026-07-28
1044Spain2026-07-30
1045India2026-08-08
1046United Kingdom2026-07-17
1047Spain2026-07-27
1048Australia2026-08-07
1049France2026-07-20

On-Demand Data

NameIdCountryDate
Deepesh L Stenseth1000Brazil2026-07-13
Leon A Caldarera1001Germany2026-07-21
Murillo B Gillian1002Japan2026-07-22
Nicolas T Gillian1003Russia2026-07-25
Claire A Vocelka1004Italy2026-07-25
Jones C Caldarera1005Spain2026-07-12
Jefferson A Sergi1006United Kingdom2026-07-18
Chavez E Perin1007Australia2026-07-24
Mayumi Y Kusko1008United Kingdom2026-07-26
Jefferson M Butt1009Spain2026-07-26
Alejandro P Foller1010Russia2026-07-28
Aruna G Ostrosky1011Germany2026-07-15
Juan B Venere1012Spain2026-07-12
David R Chui1013Australia2026-08-04
Ricardo U Morasca1014Australia2026-08-06
Deepesh E Briddick1015Russia2026-08-08
Greenwood A Waycott1016Australia2026-07-26
Deepesh O Royster1017Australia2026-07-11
Maisha X Royster1018Japan2026-08-02
Darci J Kusko1019Canada2026-08-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith E PaprockiJapanElwin Sharvill QUALIFIED
Ivar T MorascaRussiaOnyama Limba PROPOSAL
Adams U ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Faith N PaprockiItalyOnyama Limba RENEWAL
Mujtaba Z CaldareraJapanStephen Shaw NEW
Leon L IturbideUnited KingdomAnna Fali NEGOTIATION
Emily S ShinkoFranceStephen Shaw NEGOTIATION
Jennifer C ButtFranceStephen Shaw RENEWAL
Jeanfrancois D RutaArgentinaAnna Fali UNQUALIFIED
Chavez R DarakjyArgentinaBernardo Dominic RENEWAL
Kadeem P SergiSpainStephen Shaw PROPOSAL
Maisha K RimRussiaIvan Magalhaes PROPOSAL
Adams N KolmetzCanadaIvan Magalhaes RENEWAL
Claire L AlbaresCanadaAnna Fali QUALIFIED
Rodrigues J DilliardFranceIoni Bowcher PROPOSAL
Faith D CaudyIndiaIvan Magalhaes UNQUALIFIED
Isabel Z CampainIndiaAnna Fali NEGOTIATION
Isabel R MarrierArgentinaIoni Bowcher PROPOSAL
Ricardo L CampainUnited KingdomAnna Fali PROPOSAL
Kaitlin B FigeroaJapanAnna Fali UNQUALIFIED
Murillo H CampainCanadaElwin Sharvill NEGOTIATION
Jefferson H TollnerGermanyOnyama Limba RENEWAL
Isabel I BologniaItalyElwin Sharvill RENEWAL
Greenwood Y PerinRussiaElwin Sharvill UNQUALIFIED
Aditya D SergiItalyElwin Sharvill PROPOSAL
Costa A FollerSpainStephen Shaw QUALIFIED
Antonio H MarrierRussiaAmy Elsner NEW
Arvin N WieserJapanElwin Sharvill NEW
David R MarrierAustraliaXuxue Feng UNQUALIFIED
Jennifer O RoysterArgentinaAmy Elsner NEW
Wickens B NickaBrazilOnyama Limba UNQUALIFIED
Mujtaba M CampainBrazilOnyama Limba NEW
Greenwood Z GillianGermanyStephen Shaw RENEWAL
Ricardo R SchemmerFranceAnna Fali PROPOSAL
Claire D CaldareraArgentinaOnyama Limba UNQUALIFIED
Francesco G SaylorsBrazilStephen Shaw NEGOTIATION
Aika R ShinkoRussiaElwin Sharvill RENEWAL
Ricardo M FigeroaJapanXuxue Feng QUALIFIED
Izzy U CaldareraRussiaAnna Fali RENEWAL
Leja C WhobreyUnited KingdomAsiya Javayant QUALIFIED

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