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
Alejandro B RulapaughSpainAsiya Javayant NEW
Alejandro N GillianGermanyOnyama Limba UNQUALIFIED
Mujtaba D ShinkoJapanAsiya Javayant RENEWAL
Clifford K AmigonAustraliaAmy Elsner NEW
Maria S BowleyCanadaStephen Shaw PROPOSAL
Claire O StockhamCanadaAnna Fali RENEWAL
Morrow D BowleyIndiaIoni Bowcher NEGOTIATION
Ivar F MarrierCanadaAmy Elsner UNQUALIFIED
Clifford X StockhamJapanIoni Bowcher PROPOSAL
Rodrigues P PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Aruna L FigeroaFranceXuxue Feng QUALIFIED
Sinclair S CaldareraCanadaOnyama Limba NEW
Nicolas S CampainFranceElwin Sharvill RENEWAL
Munro Y KolmetzSpainStephen Shaw NEW
Isabel M ButtIndiaBernardo Dominic RENEWAL
Antonio Z FerenczUnited KingdomAmy Elsner UNQUALIFIED
Aruna K FlosiBrazilXuxue Feng RENEWAL
Aruna V RutaIndiaIvan Magalhaes NEW
Silvio U ChuiSpainAmy Elsner NEGOTIATION
Morrow A AmigonUnited KingdomXuxue Feng NEGOTIATION
Octavia D RulapaughCanadaAsiya Javayant RENEWAL
Emily R AmigonJapanOnyama Limba UNQUALIFIED
Munro L KuskoRussiaIvan Magalhaes QUALIFIED
Leja F WaycottItalyOnyama Limba NEGOTIATION
Jefferson C ShinkoIndiaIvan Magalhaes PROPOSAL
Aika M TollnerCanadaOnyama Limba UNQUALIFIED
Ashley A CaldareraGermanyOnyama Limba RENEWAL
Antonio H CaudyCanadaAmy Elsner NEGOTIATION
Sinclair G GlickGermanyIoni Bowcher NEW
Munro N SlusarskiAustraliaBernardo Dominic PROPOSAL
Nicolas R SaylorsFranceOnyama Limba NEGOTIATION
Izzy M SlusarskiGermanyIoni Bowcher PROPOSAL
Smith W GlickBrazilAmy Elsner NEW
Kaitlin V NestleUnited KingdomIoni Bowcher NEGOTIATION
Aika O GillianJapanElwin Sharvill QUALIFIED
Mayumi C KuskoJapanElwin Sharvill NEW
Ashley H PerinArgentinaOnyama Limba PROPOSAL
Jones S ChuiIndiaIvan Magalhaes UNQUALIFIED
Octavia Y ShinkoGermanyStephen Shaw PROPOSAL
Tony K GillianUnited KingdomElwin Sharvill UNQUALIFIED
Aditya W RulapaughFranceAsiya Javayant RENEWAL
Leja N SchemmerJapanAsiya Javayant NEW
Antonio E DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Salvatore I IturbideRussiaAmy Elsner UNQUALIFIED
Salvatore Y CampainSpainXuxue Feng RENEWAL
Arvin L FerenczCanadaAsiya Javayant UNQUALIFIED
Johnson S GarufiRussiaIoni Bowcher QUALIFIED
Juan P PoquetteItalyAmy Elsner QUALIFIED
Kaitlin N ButtSpainBernardo Dominic RENEWAL
Arvin Q CaldareraGermanyAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro G RoysterArgentinaIvan Magalhaes QUALIFIED
Aika W GarufiIndiaAsiya Javayant PROPOSAL
Aika Q DarakjyFranceOnyama Limba PROPOSAL
Izzy O CampainSpainIoni Bowcher NEGOTIATION
Claire C WieserJapanAnna Fali PROPOSAL
Ashley H VocelkaGermanyIoni Bowcher NEGOTIATION
Rodrigues U OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Octavia G GillianCanadaElwin Sharvill NEW
Jones B DarakjyGermanyIoni Bowcher PROPOSAL
Morrow M MorascaUnited KingdomIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood C PaprockiJapan2024-06-12King, Christopher A Esq RENEWAL37Elwin Sharvill
1001Darci S FerenczBrazil2024-06-10Morlong Associates QUALIFIED83Anna Fali
1002Wickens L PaprockiRussia2024-05-29Chemel, James L Cpa QUALIFIED53Stephen Shaw
1003Mayumi S AlbaresArgentina2024-05-24King, Christopher A Esq PROPOSAL1Anna Fali
1004Maisha C BowleyJapan2024-06-06Buckley Miller Wright NEGOTIATION87Ioni Bowcher
1005Chavez X RimSpain2024-06-04Chemel, James L Cpa PROPOSAL1Bernardo Dominic
1006Adams R BriddickFrance2024-06-01Buckley Miller Wright RENEWAL16Ivan Magalhaes
1007Kaitlin H VenereBrazil2024-05-24Dorl, James J Esq PROPOSAL12Stephen Shaw
1008Cody W FigeroaArgentina2024-06-17Feiner Bros NEW76Ivan Magalhaes
1009Murillo W ShinkoArgentina2024-05-26Commercial Press RENEWAL75Anna Fali
1010Juan H AlbaresJapan2024-06-16Chapman, Ross E Esq PROPOSAL51Xuxue Feng
1011Octavia D PerinGermany2024-06-01Feiner Bros PROPOSAL71Xuxue Feng
1012Alejandro K RimAustralia2024-06-16Rangoni Of Florence QUALIFIED29Ivan Magalhaes
1013Wickens G SergiItaly2024-06-16Printing Dimensions NEW73Ioni Bowcher
1014Silvio Q VocelkaBrazil2024-06-17Printing Dimensions PROPOSAL76Anna Fali
1015Munro J IturbideCanada2024-05-25Chapman, Ross E Esq RENEWAL76Onyama Limba
1016Munro J MarrierBrazil2024-06-08Morlong Associates UNQUALIFIED61Ivan Magalhaes
1017Francesco L DarakjyCanada2024-06-06Dorl, James J Esq UNQUALIFIED81Ivan Magalhaes
1018Aditya Z RulapaughArgentina2024-05-27Rousseaux, Michael Esq RENEWAL71Bernardo Dominic
1019Kadeem B CaldareraUnited Kingdom2024-05-25Printing Dimensions RENEWAL46Asiya Javayant
1020Chavez U StensethRussia2024-06-16Dorl, James J Esq PROPOSAL49Ioni Bowcher
1021Misaki H NestleItaly2024-06-03Rousseaux, Michael Esq UNQUALIFIED12Elwin Sharvill
1022Claire R OldroydGermany2024-05-30Dorl, James J Esq QUALIFIED11Bernardo Dominic
1023Wickens X MaletIndia2024-06-08Feltz Printing Service NEGOTIATION88Ioni Bowcher
1024Murillo R TollnerArgentina2024-05-30King, Christopher A Esq RENEWAL34Onyama Limba
1025Mujtaba B NestleIndia2024-05-29Chapman, Ross E Esq UNQUALIFIED87Stephen Shaw
1026Aditya D BologniaIndia2024-06-04Morlong Associates NEGOTIATION63Asiya Javayant
1027Leja O NickaItaly2024-05-29Morlong Associates NEGOTIATION57Amy Elsner
1028Mujtaba Z StensethBrazil2024-05-30Dorl, James J Esq QUALIFIED9Anna Fali
1029Antonio T MacleadItaly2024-06-04Printing Dimensions QUALIFIED93Elwin Sharvill
1030Jennifer F DoeJapan2024-05-27Morlong Associates NEGOTIATION49Elwin Sharvill
1031Stacey Q FollerGermany2024-06-06Rousseaux, Michael Esq QUALIFIED76Bernardo Dominic
1032Jennifer K FigeroaGermany2024-06-11King, Christopher A Esq RENEWAL65Xuxue Feng
1033Nicolas Y RoysterJapan2024-06-20Rangoni Of Florence RENEWAL40Ioni Bowcher
1034Misaki P ShinkoFrance2024-05-31King, Christopher A Esq QUALIFIED36Bernardo Dominic
1035Morrow C RulapaughUnited Kingdom2024-06-10Printing Dimensions PROPOSAL67Bernardo Dominic
1036Isabel B DarakjySpain2024-06-07Chanay, Jeffrey A Esq NEGOTIATION16Elwin Sharvill
1037Octavia H WhobreyFrance2024-05-28Feiner Bros PROPOSAL27Elwin Sharvill
1038Jefferson P MarrierBrazil2024-06-07Benton, John B Jr NEGOTIATION11Onyama Limba
1039David G DilliardFrance2024-06-07Morlong Associates PROPOSAL88Amy Elsner
1040Stacey Q FlosiIndia2024-05-24King, Christopher A Esq RENEWAL2Stephen Shaw
1041Salvatore P StensethSpain2024-06-03Rangoni Of Florence UNQUALIFIED81Asiya Javayant
1042Kadeem Z AlbaresItaly2024-05-26Truhlar And Truhlar Attys NEW63Stephen Shaw
1043Arvin T RoysterRussia2024-05-29Truhlar And Truhlar Attys RENEWAL95Onyama Limba
1044Faith F TollnerRussia2024-06-12Feltz Printing Service NEGOTIATION71Asiya Javayant
1045Sinclair M GillianFrance2024-06-16Chanay, Jeffrey A Esq QUALIFIED59Asiya Javayant
1046Claire J StensethBrazil2024-05-25Buckley Miller Wright NEW52Bernardo Dominic
1047Ricardo C PerinRussia2024-06-06Feiner Bros NEGOTIATION11Ioni Bowcher
1048Aruna L KuskoUnited Kingdom2024-05-24Chapman, Ross E Esq QUALIFIED37Onyama Limba
1049Silvio V CampainArgentina2024-06-05Buckley Miller Wright RENEWAL25Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Faith W MorascaItalyStephen Shaw NEW
David H FlosiItalyOnyama Limba UNQUALIFIED
Emily Q ShinkoRussiaBernardo Dominic PROPOSAL
Clifford O GlickBrazilOnyama Limba UNQUALIFIED
Emily G MaletJapanIoni Bowcher RENEWAL
Sinclair F FigeroaCanadaOnyama Limba NEGOTIATION
Antonio T OstroskyGermanyAsiya Javayant NEGOTIATION
Leja Y DilliardJapanOnyama Limba UNQUALIFIED
Johnson B OldroydCanadaXuxue Feng RENEWAL
Julie D TollnerBrazilElwin Sharvill NEGOTIATION
Jones C ChuiCanadaAmy Elsner RENEWAL
James L OstroskyUnited KingdomIoni Bowcher RENEWAL
Adams A FerenczFranceIoni Bowcher NEW
Julie B MarrierRussiaStephen Shaw UNQUALIFIED
Maria N PaprockiBrazilElwin Sharvill NEW
Ricardo F ChuiJapanBernardo Dominic QUALIFIED
Sinclair M BowleySpainAmy Elsner PROPOSAL
Morrow A InouyeItalyBernardo Dominic NEW
Aruna U SchemmerIndiaXuxue Feng UNQUALIFIED
Ricardo O VenereIndiaXuxue Feng RENEWAL
Faith S FerenczIndiaOnyama Limba NEW
Isabel Q RutaAustraliaElwin Sharvill PROPOSAL
David H MaletRussiaIoni Bowcher UNQUALIFIED
Mujtaba N WaycottFranceIoni Bowcher PROPOSAL
Claire P FollerUnited KingdomXuxue Feng NEGOTIATION
Leon Y AmigonGermanyOnyama Limba PROPOSAL
Maisha I PaprockiItalyElwin Sharvill NEGOTIATION
Juan C DoeItalyAnna Fali NEGOTIATION
Jefferson S PoquetteArgentinaStephen Shaw QUALIFIED
Stacey X KolmetzIndiaOnyama Limba UNQUALIFIED
Mayumi P VenereBrazilAsiya Javayant NEGOTIATION
Murillo A MarrierRussiaStephen Shaw NEGOTIATION
Francesco P FigeroaItalyIvan Magalhaes PROPOSAL
Maisha A VenereItalyStephen Shaw NEGOTIATION
Chavez G OldroydFranceStephen Shaw NEGOTIATION
Antonio J MorascaItalyIvan Magalhaes PROPOSAL
Adams T DoeBrazilElwin Sharvill NEW
David J FollerUnited KingdomAsiya Javayant QUALIFIED
Mujtaba P VocelkaBrazilBernardo Dominic PROPOSAL
Misaki X GillianUnited KingdomElwin Sharvill NEW
Mujtaba K CampainCanadaAnna Fali QUALIFIED
Julie G GauchoJapanBernardo Dominic QUALIFIED
Mujtaba M SergiFranceXuxue Feng RENEWAL
Adams F PaprockiCanadaBernardo Dominic QUALIFIED
Smith I MorascaJapanIoni Bowcher QUALIFIED
Leon L IturbideArgentinaElwin Sharvill QUALIFIED
Murillo F RimJapanElwin Sharvill RENEWAL
Octavia Y MorascaGermanyIvan Magalhaes NEGOTIATION
Francesco M DarakjyArgentinaAsiya Javayant RENEWAL
Jennifer C AmigonCanadaStephen Shaw QUALIFIED
Frozen Columns
Name
Ivar S Malet
Rodrigues O Doe
Arvin T Stenseth
Mayumi T Garufi
Greenwood F Dilliard
Deepesh Q Amigon
Johnson G Caldarera
Johnson J Stockham
Francesco W Kolmetz
Ashley Y Waycott
Maria P Ferencz
Clifford Y Stockham
Mayumi H Stenseth
Jennifer H Dilliard
Leja F Stockham
Misaki Q Flosi
Jones G Doe
Octavia A Garufi
Jones S Malet
Johnson H Figeroa
Jennifer P Doe
Wickens K Butt
Jennifer W Figeroa
Emily U Caldarera
Adams Z Nicka
Leja B Chui
Smith K Royster
Emily O Figeroa
Kadeem V Albares
Morrow F Malet
Adams V Waycott
Ashley L Maclead
Aruna Z Briddick
Salvatore D Malet
Mujtaba A Rim
Murillo B Stenseth
Julie Y Malet
Mayumi J Stenseth
Francesco A Stenseth
Ricardo Z Kusko
Silvio P Foller
Ivar E Amigon
Rodrigues N Rim
Izzy H Ostrosky
Maisha V Caudy
Alejandro Y Rulapaugh
Salvatore M Amigon
Silvio R Marrier
Rodrigues Q Stenseth
Arvin H Ruta
IdCountryDate
1000United Kingdom2024-05-28
1001Australia2024-05-28
1002Australia2024-05-28
1003India2024-06-05
1004India2024-05-29
1005India2024-06-14
1006India2024-05-31
1007Argentina2024-05-29
1008Argentina2024-06-10
1009Canada2024-06-15
1010Japan2024-06-17
1011Brazil2024-06-10
1012Spain2024-05-26
1013Spain2024-06-13
1014France2024-05-25
1015United Kingdom2024-06-01
1016Italy2024-06-04
1017Brazil2024-06-02
1018India2024-06-13
1019France2024-05-25
1020Russia2024-05-25
1021Argentina2024-06-08
1022United Kingdom2024-05-26
1023Argentina2024-06-14
1024Spain2024-05-25
1025Australia2024-06-17
1026Argentina2024-06-03
1027Russia2024-06-04
1028Japan2024-06-15
1029Italy2024-05-25
1030Germany2024-06-10
1031Germany2024-06-04
1032Brazil2024-06-04
1033Australia2024-06-14
1034Russia2024-05-29
1035Italy2024-06-14
1036Brazil2024-06-06
1037Russia2024-06-06
1038United Kingdom2024-05-28
1039Australia2024-05-26
1040Argentina2024-06-15
1041Italy2024-06-07
1042India2024-06-05
1043Australia2024-06-04
1044Italy2024-06-07
1045Russia2024-05-26
1046Australia2024-06-05
1047Japan2024-06-18
1048Italy2024-06-22
1049France2024-05-30

On-Demand Data

NameIdCountryDate
Mayumi R Albares1000Russia2024-06-21
Silvio H Nicka1001Japan2024-06-02
Murillo S Kusko1002Spain2024-06-15
Antonio B Briddick1003Germany2024-05-31
David S Bolognia1004Japan2024-05-26
Aruna H Bolognia1005Russia2024-06-04
Maisha R Slusarski1006India2024-05-25
Rodrigues K Albares1007Argentina2024-05-29
Alejandro C Campain1008Canada2024-06-08
Costa U Albares1009United Kingdom2024-06-02
Nicolas Y Darakjy1010Germany2024-05-26
Maria W Sergi1011Australia2024-06-05
Nicolas B Campain1012Germany2024-06-10
Munro Z Chui1013France2024-05-31
Kadeem J Stockham1014India2024-06-17
Jennifer W Malet1015Italy2024-05-28
Chavez N Kusko1016Australia2024-06-18
Aruna W Kusko1017Italy2024-06-03
Nicolas J Foller1018Russia2024-06-15
Jennifer O Sergi1019Spain2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia L DoeFranceStephen Shaw NEW
Tony R ShinkoJapanAnna Fali PROPOSAL
Isabel Y RulapaughSpainOnyama Limba NEW
Cody W BologniaAustraliaAnna Fali RENEWAL
Alejandro U GauchoSpainAsiya Javayant UNQUALIFIED
Chavez L GlickUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois O MorascaSpainIvan Magalhaes QUALIFIED
Izzy C KolmetzJapanElwin Sharvill QUALIFIED
Kaitlin K MarrierAustraliaAnna Fali UNQUALIFIED
Ivar P DoeJapanAmy Elsner NEW
Ashley D PoquetteRussiaOnyama Limba NEW
Maisha Y CaldareraSpainXuxue Feng NEGOTIATION
Maisha E StockhamFranceAsiya Javayant NEGOTIATION
Julie A SchemmerFranceAnna Fali RENEWAL
Aika Q AlbaresUnited KingdomOnyama Limba NEGOTIATION
Octavia G RimSpainBernardo Dominic UNQUALIFIED
Isabel I MacleadSpainIoni Bowcher QUALIFIED
Leon I StensethCanadaIoni Bowcher PROPOSAL
Izzy U ChuiAustraliaAnna Fali RENEWAL
Salvatore Z BowleyAustraliaBernardo Dominic NEW
Jones C MaletAustraliaXuxue Feng NEGOTIATION
Murillo X CaldareraUnited KingdomAmy Elsner RENEWAL
Adams V RoysterSpainElwin Sharvill QUALIFIED
Octavia A GarufiCanadaAsiya Javayant QUALIFIED
Morrow Q PerinUnited KingdomAsiya Javayant NEW
Julie R ShinkoSpainBernardo Dominic UNQUALIFIED
Cody K KolmetzSpainXuxue Feng NEGOTIATION
Silvio M GarufiCanadaStephen Shaw NEW
Ivar G PoquetteJapanXuxue Feng UNQUALIFIED
Emily I PoquetteSpainOnyama Limba NEGOTIATION
Ashley C FigeroaGermanyOnyama Limba UNQUALIFIED
Silvio X WieserGermanyStephen Shaw NEW
Stacey C WhobreyIndiaBernardo Dominic QUALIFIED
Claire D WaycottGermanyXuxue Feng UNQUALIFIED
Chavez P ShinkoCanadaElwin Sharvill UNQUALIFIED
Emily O SlusarskiSpainAnna Fali RENEWAL
Julie R DilliardIndiaBernardo Dominic NEW
Kadeem B NickaRussiaStephen Shaw QUALIFIED
Smith M SlusarskiCanadaIoni Bowcher NEW
Francesco Z KolmetzCanadaAnna Fali 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>