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
Nicolas F KolmetzArgentinaAmy Elsner NEGOTIATION
Stacey M RutaItalyBernardo Dominic NEGOTIATION
David T WhobreyCanadaElwin Sharvill RENEWAL
Smith I SlusarskiArgentinaStephen Shaw UNQUALIFIED
Juan N ChuiAustraliaIoni Bowcher RENEWAL
Jefferson E MaletArgentinaAsiya Javayant UNQUALIFIED
Aika G FigeroaCanadaStephen Shaw NEW
Claire K CaldareraItalyAnna Fali UNQUALIFIED
Darci W KolmetzGermanyOnyama Limba UNQUALIFIED
Salvatore C RulapaughUnited KingdomOnyama Limba NEGOTIATION
Munro Z CaldareraAustraliaAsiya Javayant QUALIFIED
Aruna F MaletItalyIoni Bowcher NEW
Misaki V SlusarskiIndiaBernardo Dominic QUALIFIED
Cody O KuskoIndiaAmy Elsner NEW
Stacey C WaycottJapanOnyama Limba RENEWAL
Aditya D MarrierBrazilOnyama Limba PROPOSAL
Smith O DilliardRussiaAsiya Javayant PROPOSAL
Kadeem F ShinkoIndiaIoni Bowcher PROPOSAL
Jennifer H AmigonIndiaAsiya Javayant PROPOSAL
Antonio M VenereIndiaStephen Shaw NEGOTIATION
Antonio G PaprockiIndiaXuxue Feng UNQUALIFIED
Clifford M RutaAustraliaXuxue Feng NEGOTIATION
Aruna Y StockhamIndiaBernardo Dominic RENEWAL
James X OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Juan E MarrierJapanElwin Sharvill RENEWAL
Silvio R MacleadRussiaAmy Elsner QUALIFIED
Nicolas X WhobreyGermanyStephen Shaw PROPOSAL
Munro L SergiGermanyIoni Bowcher RENEWAL
Jeanfrancois F CaudyCanadaAnna Fali NEW
Silvio S FerenczJapanElwin Sharvill QUALIFIED
Izzy F IturbideAustraliaXuxue Feng QUALIFIED
James A DilliardJapanBernardo Dominic NEGOTIATION
Cody W CaudyRussiaElwin Sharvill PROPOSAL
Salvatore F SchemmerBrazilOnyama Limba NEW
Clifford U ButtUnited KingdomBernardo Dominic RENEWAL
Rodrigues G SlusarskiItalyOnyama Limba PROPOSAL
Claire D FerenczSpainBernardo Dominic PROPOSAL
David B VocelkaJapanXuxue Feng QUALIFIED
Leon U GillianBrazilBernardo Dominic NEGOTIATION
Misaki V SergiRussiaXuxue Feng QUALIFIED
Jennifer B WaycottIndiaAsiya Javayant QUALIFIED
Smith R PaprockiIndiaBernardo Dominic NEW
Tony I BriddickFranceStephen Shaw NEW
Leon W VocelkaArgentinaAnna Fali NEGOTIATION
Alejandro O PaprockiCanadaOnyama Limba UNQUALIFIED
Ricardo K OstroskyFranceElwin Sharvill QUALIFIED
Nicolas K InouyeArgentinaBernardo Dominic PROPOSAL
Jennifer H BriddickRussiaStephen Shaw NEW
Chavez B GlickJapanStephen Shaw UNQUALIFIED
Stacey X IturbideUnited KingdomIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Jennifer L SchemmerIndiaAnna Fali QUALIFIED
Nicolas T NestleItalyIoni Bowcher PROPOSAL
Aditya F VocelkaArgentinaElwin Sharvill QUALIFIED
David H PaprockiItalyStephen Shaw QUALIFIED
Greenwood A FollerFranceOnyama Limba RENEWAL
Morrow I PerinFranceIoni Bowcher RENEWAL
Izzy Q NestleCanadaStephen Shaw RENEWAL
Nicolas H PaprockiSpainElwin Sharvill NEW
Jefferson X PoquetteRussiaAnna Fali RENEWAL
Nicolas K GillianUnited KingdomIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer E CaldareraBrazil2025-06-16Chemel, James L Cpa PROPOSAL89Ioni Bowcher
1001Smith N WaycottCanada2025-05-30King, Christopher A Esq PROPOSAL93Ivan Magalhaes
1002Tony A StockhamGermany2025-06-05Printing Dimensions UNQUALIFIED36Anna Fali
1003Jennifer S ButtArgentina2025-06-03Dorl, James J Esq RENEWAL71Asiya Javayant
1004Jennifer Q OstroskyAustralia2025-06-08Printing Dimensions NEW82Stephen Shaw
1005Johnson C ChuiAustralia2025-06-16Truhlar And Truhlar Attys NEGOTIATION49Elwin Sharvill
1006James Y FollerArgentina2025-05-24Chanay, Jeffrey A Esq QUALIFIED39Amy Elsner
1007David X NickaGermany2025-06-13Feltz Printing Service RENEWAL12Asiya Javayant
1008Jennifer C SergiItaly2025-06-12King, Christopher A Esq PROPOSAL2Ioni Bowcher
1009Ricardo U DilliardCanada2025-05-25Rangoni Of Florence UNQUALIFIED37Xuxue Feng
1010Deepesh C MarrierJapan2025-05-20Commercial Press NEGOTIATION54Stephen Shaw
1011Adams L ButtAustralia2025-06-13Benton, John B Jr RENEWAL68Xuxue Feng
1012Juan W GillianIndia2025-06-10Feltz Printing Service UNQUALIFIED31Anna Fali
1013Stacey A NickaJapan2025-06-03Commercial Press UNQUALIFIED82Stephen Shaw
1014Rodrigues X KuskoJapan2025-06-08Chanay, Jeffrey A Esq RENEWAL2Elwin Sharvill
1015Kadeem R OstroskyIndia2025-05-26Chemel, James L Cpa QUALIFIED42Elwin Sharvill
1016Emily J CaudyJapan2025-05-30Printing Dimensions NEGOTIATION86Ioni Bowcher
1017Mujtaba Y ButtRussia2025-06-04Feltz Printing Service RENEWAL97Onyama Limba
1018Kaitlin B StensethSpain2025-05-29Commercial Press NEGOTIATION25Asiya Javayant
1019Antonio W GillianJapan2025-05-28Buckley Miller Wright NEW53Ioni Bowcher
1020Darci I RutaUnited Kingdom2025-06-04Morlong Associates PROPOSAL31Anna Fali
1021Emily I PoquetteRussia2025-06-01Truhlar And Truhlar Attys RENEWAL11Asiya Javayant
1022Jones F ChuiGermany2025-06-03Chemel, James L Cpa QUALIFIED64Amy Elsner
1023Murillo G MarrierJapan2025-05-28Printing Dimensions UNQUALIFIED92Asiya Javayant
1024Clifford X FigeroaGermany2025-06-03Benton, John B Jr PROPOSAL72Ioni Bowcher
1025Greenwood G FlosiIndia2025-05-30Chanay, Jeffrey A Esq NEGOTIATION1Xuxue Feng
1026Johnson G TollnerBrazil2025-06-13Feiner Bros QUALIFIED57Onyama Limba
1027Aika E KolmetzIndia2025-06-01Morlong Associates QUALIFIED36Elwin Sharvill
1028Juan F PaprockiAustralia2025-06-13Morlong Associates NEW46Asiya Javayant
1029Jennifer D NickaIndia2025-05-19Feiner Bros NEGOTIATION13Bernardo Dominic
1030Smith S NickaCanada2025-05-23Chanay, Jeffrey A Esq UNQUALIFIED16Asiya Javayant
1031James K DarakjyAustralia2025-06-01Chanay, Jeffrey A Esq NEW0Onyama Limba
1032Johnson M KolmetzArgentina2025-06-12King, Christopher A Esq PROPOSAL80Bernardo Dominic
1033Chavez T FigeroaGermany2025-05-24Chanay, Jeffrey A Esq RENEWAL27Anna Fali
1034Jefferson U FlosiSpain2025-05-25Dorl, James J Esq UNQUALIFIED82Elwin Sharvill
1035Tony L WhobreyCanada2025-06-06Dorl, James J Esq NEW90Ivan Magalhaes
1036Mujtaba M VenereArgentina2025-06-13Feltz Printing Service NEGOTIATION59Ivan Magalhaes
1037James C OldroydBrazil2025-06-10Rousseaux, Michael Esq NEGOTIATION22Ioni Bowcher
1038Jeanfrancois Z MorascaItaly2025-05-21Chapman, Ross E Esq UNQUALIFIED72Onyama Limba
1039Kadeem I MarrierIndia2025-06-12Truhlar And Truhlar Attys RENEWAL2Bernardo Dominic
1040Cody S ShinkoAustralia2025-05-25Chapman, Ross E Esq NEGOTIATION8Asiya Javayant
1041Ivar K CampainRussia2025-05-29Feltz Printing Service UNQUALIFIED70Ioni Bowcher
1042Mujtaba H AmigonIndia2025-06-16Feltz Printing Service QUALIFIED26Elwin Sharvill
1043Silvio F CaldareraIndia2025-05-24King, Christopher A Esq NEGOTIATION48Onyama Limba
1044Kaitlin P InouyeSpain2025-05-28Chapman, Ross E Esq QUALIFIED31Ioni Bowcher
1045Murillo F WieserGermany2025-06-09Commercial Press PROPOSAL86Stephen Shaw
1046James X DarakjyCanada2025-05-27Rangoni Of Florence QUALIFIED97Amy Elsner
1047Costa D CampainSpain2025-05-23Chanay, Jeffrey A Esq RENEWAL89Ivan Magalhaes
1048Ashley M TollnerSpain2025-06-09Chapman, Ross E Esq QUALIFIED13Stephen Shaw
1049Mayumi P DarakjyItaly2025-05-23Truhlar And Truhlar Attys UNQUALIFIED65Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Morrow B CaudyBrazilAsiya Javayant NEW
Octavia X SergiSpainOnyama Limba NEGOTIATION
Sinclair J RutaCanadaElwin Sharvill RENEWAL
Chavez Z OldroydArgentinaIoni Bowcher PROPOSAL
Aika B GillianSpainOnyama Limba NEW
Sinclair V VenereItalyAsiya Javayant RENEWAL
Faith W CaldareraGermanyXuxue Feng RENEWAL
Ivar R VocelkaFranceAmy Elsner UNQUALIFIED
Maria P WaycottItalyAmy Elsner PROPOSAL
Leja V WieserArgentinaXuxue Feng RENEWAL
James J StockhamGermanyAsiya Javayant UNQUALIFIED
Mujtaba U SergiArgentinaAsiya Javayant UNQUALIFIED
James A BologniaCanadaOnyama Limba PROPOSAL
Aditya I PerinCanadaBernardo Dominic QUALIFIED
Deepesh C OldroydJapanAmy Elsner NEGOTIATION
Salvatore O TollnerGermanyElwin Sharvill QUALIFIED
Murillo U MacleadUnited KingdomBernardo Dominic QUALIFIED
Morrow D GillianGermanyStephen Shaw NEW
Emily L MaletRussiaIoni Bowcher PROPOSAL
Jones K MarrierSpainOnyama Limba RENEWAL
Leon D KolmetzIndiaBernardo Dominic RENEWAL
Maisha J AmigonIndiaAmy Elsner NEW
Ricardo Y BologniaArgentinaOnyama Limba UNQUALIFIED
Munro D IturbideAustraliaAnna Fali RENEWAL
Maria X SlusarskiIndiaBernardo Dominic QUALIFIED
Izzy I FigeroaArgentinaStephen Shaw RENEWAL
Antonio T MarrierCanadaStephen Shaw QUALIFIED
Jones U RulapaughCanadaStephen Shaw RENEWAL
Nicolas I TollnerUnited KingdomStephen Shaw NEW
Octavia S FlosiIndiaOnyama Limba QUALIFIED
Greenwood S NickaAustraliaIoni Bowcher PROPOSAL
Francesco Z PerinItalyStephen Shaw NEW
Greenwood G NickaAustraliaIvan Magalhaes RENEWAL
Murillo Z StensethGermanyIoni Bowcher RENEWAL
Kadeem A RutaArgentinaIvan Magalhaes PROPOSAL
Aruna T FerenczFranceAsiya Javayant NEW
Stacey R NestleUnited KingdomIvan Magalhaes PROPOSAL
Maisha Y SaylorsBrazilIoni Bowcher NEGOTIATION
Jeanfrancois O DoeUnited KingdomBernardo Dominic RENEWAL
Francesco F RulapaughArgentinaStephen Shaw QUALIFIED
Ivar O FerenczFranceAsiya Javayant NEGOTIATION
Alejandro N GlickItalyXuxue Feng QUALIFIED
Deepesh W SlusarskiCanadaElwin Sharvill NEGOTIATION
Maisha Z StensethUnited KingdomXuxue Feng UNQUALIFIED
Alejandro Q MacleadRussiaStephen Shaw NEGOTIATION
Leja F InouyeFranceAmy Elsner NEW
Tony C DarakjyRussiaElwin Sharvill QUALIFIED
Aika U PoquetteItalyStephen Shaw RENEWAL
Aika P StensethUnited KingdomAsiya Javayant UNQUALIFIED
Kaitlin K GauchoUnited KingdomIoni Bowcher QUALIFIED
Frozen Columns
Name
David X Malet
Greenwood Q Vocelka
Jennifer E Gillian
Deepesh L Albares
Juan K Butt
Nicolas R Bolognia
Aruna O Nestle
Arvin C Glick
Juan W Venere
Jefferson C Chui
Stacey Q Tollner
Morrow Y Briddick
Jones D Caldarera
Aika G Tollner
Sinclair J Gillian
Arvin Z Inouye
Julie Q Bowley
Jennifer K Ferencz
James L Amigon
Sinclair R Kusko
Juan U Ostrosky
Alejandro B Gaucho
Jeanfrancois V Ferencz
Nicolas Z Garufi
Alejandro K Marrier
Salvatore G Bowley
Jennifer Y Figeroa
Ashley S Oldroyd
Alejandro D Gaucho
Tony F Gaucho
Aika Y Campain
David M Bowley
Kadeem C Saylors
Jefferson L Paprocki
Munro N Flosi
Munro W Shinko
James R Tollner
Jeanfrancois C Royster
David R Figeroa
Rodrigues X Stockham
Salvatore M Amigon
Mujtaba U Albares
Deepesh P Glick
Leja E Oldroyd
Kaitlin B Paprocki
Rodrigues F Whobrey
Adams X Dilliard
Aika J Butt
Jennifer I Malet
Maisha M Schemmer
IdCountryDate
1000India2025-05-26
1001Japan2025-06-16
1002Germany2025-05-24
1003Japan2025-05-31
1004Argentina2025-05-26
1005Russia2025-06-02
1006Argentina2025-06-07
1007Australia2025-06-14
1008France2025-06-10
1009Australia2025-05-19
1010India2025-06-07
1011France2025-05-23
1012Brazil2025-05-21
1013Brazil2025-05-26
1014Spain2025-06-10
1015Spain2025-06-14
1016Argentina2025-06-09
1017Russia2025-05-18
1018Argentina2025-06-15
1019Japan2025-06-14
1020Italy2025-05-20
1021Italy2025-06-02
1022India2025-05-22
1023Japan2025-06-08
1024United Kingdom2025-05-20
1025Argentina2025-05-21
1026Italy2025-06-08
1027Argentina2025-06-08
1028Brazil2025-05-29
1029Germany2025-05-31
1030Germany2025-06-12
1031Spain2025-05-24
1032Italy2025-05-27
1033Italy2025-06-14
1034Japan2025-06-08
1035Argentina2025-06-16
1036Japan2025-05-19
1037Canada2025-05-20
1038Australia2025-05-28
1039Italy2025-06-07
1040Brazil2025-05-28
1041Australia2025-06-12
1042France2025-06-08
1043Russia2025-05-27
1044France2025-06-11
1045Italy2025-06-08
1046Canada2025-06-06
1047Spain2025-06-05
1048France2025-05-25
1049Russia2025-06-05

On-Demand Data

NameIdCountryDate
Aika E Sergi1000India2025-05-26
Cody K Malet1001Australia2025-06-12
Darci C Whobrey1002Germany2025-05-25
Jefferson X Ruta1003Australia2025-06-02
Antonio R Malet1004India2025-06-01
Smith T Schemmer1005Canada2025-05-24
David O Foller1006Japan2025-06-14
Jennifer P Doe1007India2025-05-25
Jefferson X Ruta1008Germany2025-06-12
Jones F Waycott1009Russia2025-05-28
Nicolas F Ferencz1010Australia2025-05-27
Rodrigues S Rulapaugh1011United Kingdom2025-06-06
Kadeem J Vocelka1012Germany2025-06-15
Jennifer P Gaucho1013Canada2025-06-06
Mujtaba P Amigon1014India2025-06-13
Ricardo T Foller1015India2025-05-18
Arvin Y Schemmer1016France2025-06-04
Emily P Perin1017Italy2025-06-08
Leon J Nestle1018United Kingdom2025-05-18
Mayumi L Gillian1019Russia2025-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba E PaprockiJapanAmy Elsner UNQUALIFIED
Octavia A SergiSpainElwin Sharvill NEGOTIATION
Leja Q VenereSpainBernardo Dominic QUALIFIED
Izzy X StensethArgentinaIoni Bowcher PROPOSAL
Silvio J RimJapanXuxue Feng NEW
Mayumi M PoquetteRussiaAsiya Javayant QUALIFIED
Jennifer D RutaRussiaAnna Fali RENEWAL
Aditya U TollnerRussiaIoni Bowcher UNQUALIFIED
Leja Z RulapaughIndiaElwin Sharvill NEGOTIATION
Ricardo P StensethBrazilXuxue Feng NEGOTIATION
Arvin N MaletJapanIvan Magalhaes QUALIFIED
Wickens D GarufiSpainAmy Elsner NEW
Clifford I NickaRussiaAmy Elsner QUALIFIED
Chavez L StockhamCanadaElwin Sharvill UNQUALIFIED
Salvatore Q OldroydSpainElwin Sharvill NEW
Julie T BowleySpainAnna Fali NEW
Aruna R FerenczIndiaXuxue Feng NEGOTIATION
Maria T OstroskyItalyIvan Magalhaes NEW
Isabel X GauchoJapanIvan Magalhaes UNQUALIFIED
Francesco R CaudyCanadaIvan Magalhaes NEGOTIATION
Arvin J MaletArgentinaAsiya Javayant UNQUALIFIED
Isabel U CaudyRussiaStephen Shaw PROPOSAL
Jeanfrancois S FlosiAustraliaAmy Elsner NEW
Kadeem P BowleyJapanBernardo Dominic RENEWAL
Darci W SlusarskiAustraliaOnyama Limba UNQUALIFIED
Alejandro C MarrierArgentinaXuxue Feng NEW
Ashley Y GillianCanadaElwin Sharvill UNQUALIFIED
Faith I ChuiFranceAsiya Javayant RENEWAL
Adams M MorascaArgentinaBernardo Dominic NEW
Sinclair H AlbaresFranceAsiya Javayant NEW
Munro Q GauchoCanadaStephen Shaw UNQUALIFIED
Nicolas O InouyeGermanyIvan Magalhaes PROPOSAL
Rodrigues M RoysterGermanyStephen Shaw PROPOSAL
Tony B StockhamArgentinaOnyama Limba RENEWAL
Chavez H CaudyFranceElwin Sharvill PROPOSAL
Ashley A CampainFranceXuxue Feng NEW
Isabel T DarakjyItalyStephen Shaw NEW
Munro Q BologniaBrazilAmy Elsner UNQUALIFIED
Greenwood P AmigonJapanBernardo Dominic QUALIFIED
Costa B OstroskyRussiaBernardo Dominic 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>