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 R KolmetzBrazilBernardo Dominic QUALIFIED
Darci K NickaGermanyIoni Bowcher UNQUALIFIED
Mayumi W CaldareraRussiaStephen Shaw NEW
Jefferson D PaprockiAustraliaOnyama Limba RENEWAL
Misaki Y AlbaresJapanXuxue Feng QUALIFIED
Maisha S DilliardCanadaAmy Elsner RENEWAL
Jones G SlusarskiIndiaBernardo Dominic NEW
Kadeem N BologniaBrazilIoni Bowcher QUALIFIED
Octavia U InouyeArgentinaAsiya Javayant NEW
Aika Z BowleyItalyElwin Sharvill NEGOTIATION
Antonio L GlickRussiaAnna Fali NEGOTIATION
Wickens P StockhamAustraliaAmy Elsner PROPOSAL
Juan H MarrierAustraliaIoni Bowcher NEW
Deepesh K NickaJapanBernardo Dominic RENEWAL
Aruna L KuskoSpainElwin Sharvill QUALIFIED
Misaki B GlickSpainBernardo Dominic RENEWAL
Kadeem I KolmetzRussiaStephen Shaw UNQUALIFIED
Juan H StensethArgentinaElwin Sharvill QUALIFIED
Deepesh V NickaAustraliaAnna Fali UNQUALIFIED
Maisha Z FollerSpainAsiya Javayant UNQUALIFIED
Mujtaba X InouyeAustraliaStephen Shaw NEGOTIATION
Jeanfrancois D RulapaughRussiaBernardo Dominic NEW
Ricardo I MarrierFranceStephen Shaw RENEWAL
Maria H OstroskyAustraliaAnna Fali NEW
Claire C KuskoJapanStephen Shaw RENEWAL
Izzy H StockhamIndiaElwin Sharvill NEGOTIATION
Nicolas H NestleCanadaXuxue Feng UNQUALIFIED
Morrow L MacleadItalyIvan Magalhaes PROPOSAL
Morrow N AlbaresIndiaAmy Elsner QUALIFIED
Silvio L AlbaresIndiaOnyama Limba UNQUALIFIED
Costa P InouyeIndiaStephen Shaw PROPOSAL
Isabel W MacleadFranceIoni Bowcher RENEWAL
Leja L FerenczRussiaBernardo Dominic RENEWAL
Clifford L BriddickCanadaAnna Fali RENEWAL
Aruna Q MaletCanadaAnna Fali QUALIFIED
Izzy I OstroskyRussiaIvan Magalhaes RENEWAL
Morrow R WieserBrazilAmy Elsner RENEWAL
Silvio N FerenczItalyElwin Sharvill NEGOTIATION
Emily K FerenczJapanIoni Bowcher UNQUALIFIED
Rodrigues D DilliardGermanyBernardo Dominic NEW
Claire W NickaIndiaElwin Sharvill PROPOSAL
Antonio J StensethRussiaXuxue Feng NEW
Johnson Y FollerFranceAsiya Javayant UNQUALIFIED
Izzy G MaletUnited KingdomXuxue Feng QUALIFIED
Tony I DilliardBrazilXuxue Feng QUALIFIED
Ricardo U AmigonGermanyOnyama Limba QUALIFIED
Leon J PerinRussiaXuxue Feng NEGOTIATION
Aruna D VocelkaRussiaOnyama Limba PROPOSAL
Alejandro E PerinAustraliaIvan Magalhaes PROPOSAL
Jones Q InouyeSpainStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh P RutaItalyAsiya Javayant UNQUALIFIED
Morrow T GillianUnited KingdomOnyama Limba NEGOTIATION
Maria X PerinGermanyBernardo Dominic PROPOSAL
Francesco R KolmetzGermanyXuxue Feng NEGOTIATION
Julie X GauchoIndiaBernardo Dominic RENEWAL
Claire G AlbaresItalyAnna Fali NEW
Octavia Q SlusarskiJapanIvan Magalhaes RENEWAL
Leja A BowleyJapanStephen Shaw QUALIFIED
Kadeem D WhobreyItalyIvan Magalhaes PROPOSAL
David B WhobreyFranceIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar C GlickAustralia2026-07-01Chemel, James L Cpa QUALIFIED20Xuxue Feng
1001Leon P OstroskyBrazil2026-06-18Truhlar And Truhlar Attys NEGOTIATION10Asiya Javayant
1002Nicolas B AlbaresBrazil2026-06-29Commercial Press NEW76Asiya Javayant
1003Misaki M MarrierGermany2026-06-24King, Christopher A Esq PROPOSAL6Ivan Magalhaes
1004Adams P DilliardCanada2026-06-30Feiner Bros RENEWAL68Stephen Shaw
1005Clifford Y AlbaresIndia2026-06-09King, Christopher A Esq RENEWAL14Onyama Limba
1006Sinclair M ButtGermany2026-07-03Rangoni Of Florence NEGOTIATION76Onyama Limba
1007Alejandro X ShinkoIndia2026-06-15Feiner Bros NEGOTIATION58Bernardo Dominic
1008Emily A StensethSpain2026-06-11Truhlar And Truhlar Attys UNQUALIFIED35Asiya Javayant
1009David D BriddickRussia2026-06-12Benton, John B Jr RENEWAL16Anna Fali
1010Costa F GlickJapan2026-06-17Feltz Printing Service QUALIFIED41Onyama Limba
1011Antonio N CaudyUnited Kingdom2026-06-19Printing Dimensions PROPOSAL51Stephen Shaw
1012Murillo D GarufiSpain2026-06-27Commercial Press NEGOTIATION71Elwin Sharvill
1013Greenwood M IturbideJapan2026-06-22Truhlar And Truhlar Attys QUALIFIED79Anna Fali
1014Aditya W PerinRussia2026-06-27Chapman, Ross E Esq NEGOTIATION84Bernardo Dominic
1015Darci F BowleyCanada2026-06-27Dorl, James J Esq NEGOTIATION58Bernardo Dominic
1016Misaki L KuskoAustralia2026-06-25Feiner Bros QUALIFIED66Ivan Magalhaes
1017Costa B RoysterJapan2026-06-15Benton, John B Jr QUALIFIED76Amy Elsner
1018David Y IturbideBrazil2026-06-15Truhlar And Truhlar Attys RENEWAL18Anna Fali
1019Johnson R SchemmerJapan2026-06-26Benton, John B Jr NEW96Xuxue Feng
1020Aruna I OstroskyUnited Kingdom2026-06-13Truhlar And Truhlar Attys UNQUALIFIED67Elwin Sharvill
1021Greenwood N ChuiSpain2026-06-30Buckley Miller Wright NEGOTIATION48Onyama Limba
1022Aika L GauchoCanada2026-06-08Rangoni Of Florence NEGOTIATION3Xuxue Feng
1023Darci H MaletBrazil2026-06-15Feltz Printing Service QUALIFIED73Ioni Bowcher
1024Maria B ButtSpain2026-07-03King, Christopher A Esq PROPOSAL24Xuxue Feng
1025Julie P MaletItaly2026-06-18Rousseaux, Michael Esq NEW78Ivan Magalhaes
1026Mujtaba B CaldareraSpain2026-06-07Truhlar And Truhlar Attys UNQUALIFIED1Xuxue Feng
1027Chavez M FigeroaArgentina2026-06-05Chemel, James L Cpa QUALIFIED84Bernardo Dominic
1028Ivar H MacleadRussia2026-06-25Truhlar And Truhlar Attys PROPOSAL36Anna Fali
1029Kadeem Q FlosiIndia2026-06-22Benton, John B Jr NEGOTIATION68Ioni Bowcher
1030Alejandro P GillianJapan2026-06-23Chapman, Ross E Esq NEW4Onyama Limba
1031Costa K IturbideSpain2026-06-13Chemel, James L Cpa QUALIFIED89Ioni Bowcher
1032Aditya Z GauchoUnited Kingdom2026-06-26Feiner Bros PROPOSAL21Asiya Javayant
1033Octavia O FerenczRussia2026-06-04Dorl, James J Esq UNQUALIFIED95Amy Elsner
1034Munro E NickaJapan2026-06-22Commercial Press RENEWAL33Xuxue Feng
1035Nicolas K GarufiArgentina2026-06-25Rousseaux, Michael Esq RENEWAL21Anna Fali
1036Faith B VocelkaRussia2026-06-04Chemel, James L Cpa NEGOTIATION32Bernardo Dominic
1037Wickens U GlickAustralia2026-06-26Feiner Bros UNQUALIFIED84Asiya Javayant
1038Misaki V TollnerItaly2026-06-12Dorl, James J Esq UNQUALIFIED66Elwin Sharvill
1039Jefferson A AmigonGermany2026-06-14Chemel, James L Cpa UNQUALIFIED35Ioni Bowcher
1040Kadeem Y GlickIndia2026-06-15Feiner Bros NEW67Ivan Magalhaes
1041Ashley W GillianIndia2026-06-23King, Christopher A Esq QUALIFIED29Xuxue Feng
1042Octavia P MaletArgentina2026-06-18Truhlar And Truhlar Attys NEW4Onyama Limba
1043James E MaletIndia2026-06-04Morlong Associates NEW10Bernardo Dominic
1044Maisha Z CaudyGermany2026-06-19Feiner Bros PROPOSAL23Amy Elsner
1045Murillo V GillianIndia2026-06-20Rangoni Of Florence NEW22Stephen Shaw
1046Greenwood T VocelkaUnited Kingdom2026-06-27Printing Dimensions NEGOTIATION10Bernardo Dominic
1047Clifford M RoysterBrazil2026-06-07Morlong Associates PROPOSAL49Anna Fali
1048Misaki D WaycottSpain2026-06-22Morlong Associates NEW16Xuxue Feng
1049Jeanfrancois J ChuiRussia2026-06-04Chanay, Jeffrey A Esq PROPOSAL8Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Darci T OstroskyBrazilIoni Bowcher RENEWAL
Maria S ButtIndiaAsiya Javayant UNQUALIFIED
Alejandro Z AmigonJapanIoni Bowcher NEGOTIATION
Kadeem U DoeSpainAnna Fali UNQUALIFIED
Leon Y WhobreyAustraliaElwin Sharvill NEGOTIATION
Maria S PerinIndiaAmy Elsner NEW
Faith Y MaletAustraliaElwin Sharvill QUALIFIED
Izzy G TollnerFranceAmy Elsner NEGOTIATION
Greenwood J DarakjyGermanyBernardo Dominic UNQUALIFIED
Mayumi U FlosiIndiaAmy Elsner UNQUALIFIED
Darci I PerinBrazilAsiya Javayant PROPOSAL
Misaki C BowleyAustraliaIvan Magalhaes RENEWAL
Munro E VenereItalyBernardo Dominic QUALIFIED
Clifford O GillianSpainIvan Magalhaes PROPOSAL
Johnson A VocelkaIndiaBernardo Dominic QUALIFIED
Clifford P TollnerRussiaAnna Fali NEGOTIATION
Maisha P StockhamGermanyIoni Bowcher QUALIFIED
Isabel Y OldroydRussiaIvan Magalhaes QUALIFIED
Julie G KolmetzJapanAmy Elsner PROPOSAL
Leon B SergiBrazilAnna Fali UNQUALIFIED
Juan S WieserBrazilIvan Magalhaes QUALIFIED
Morrow Q NickaItalyXuxue Feng QUALIFIED
Sinclair V FlosiIndiaIvan Magalhaes UNQUALIFIED
Munro L AmigonItalyAsiya Javayant UNQUALIFIED
Mujtaba Q AmigonJapanIvan Magalhaes QUALIFIED
Ricardo M GarufiItalyAnna Fali NEGOTIATION
Morrow N DilliardArgentinaElwin Sharvill RENEWAL
Alejandro U ButtSpainIoni Bowcher PROPOSAL
Munro F ChuiAustraliaIvan Magalhaes RENEWAL
Arvin N DarakjyGermanyIoni Bowcher NEW
Ivar Y WieserFranceXuxue Feng RENEWAL
Jennifer P StensethArgentinaElwin Sharvill RENEWAL
Mayumi F BriddickAustraliaIoni Bowcher NEW
Leja T GillianIndiaAsiya Javayant RENEWAL
Morrow I CaudyUnited KingdomXuxue Feng NEGOTIATION
Mujtaba K OldroydBrazilIoni Bowcher QUALIFIED
Cody C DoeRussiaStephen Shaw NEGOTIATION
Costa K TollnerUnited KingdomAnna Fali UNQUALIFIED
Antonio P FollerBrazilOnyama Limba RENEWAL
Stacey I AlbaresCanadaIoni Bowcher NEW
Kaitlin E WhobreyUnited KingdomAmy Elsner PROPOSAL
Ricardo B SaylorsAustraliaIoni Bowcher QUALIFIED
Smith C CaudyFranceStephen Shaw UNQUALIFIED
Rodrigues X RimJapanIvan Magalhaes QUALIFIED
David N PerinRussiaOnyama Limba NEW
Chavez J MaletUnited KingdomStephen Shaw NEGOTIATION
Darci T VocelkaIndiaAmy Elsner PROPOSAL
Cody B GillianFranceIoni Bowcher PROPOSAL
Ivar Y SchemmerRussiaOnyama Limba RENEWAL
Leja F CaudyCanadaElwin Sharvill NEW
Frozen Columns
Name
Julie Z Slusarski
Adams G Oldroyd
Wickens F Tollner
Rodrigues T Briddick
Claire T Flosi
Mayumi W Chui
Mayumi B Waycott
Johnson J Stockham
James R Slusarski
Ricardo Q Perin
Johnson W Kusko
Maisha Z Schemmer
Maisha Z Flosi
Darci O Morasca
Emily L Butt
Julie B Campain
Aika R Ruta
Misaki O Malet
Izzy A Venere
Leon V Royster
Jennifer G Glick
Munro M Morasca
Mayumi D Paprocki
Misaki J Saylors
Adams Z Gaucho
Deepesh N Iturbide
Ricardo A Foller
Mayumi Q Doe
Isabel H Caudy
Darci M Amigon
Smith S Tollner
Adams T Ruta
Aditya R Ferencz
Costa C Nicka
Wickens D Nicka
Ivar F Iturbide
Aditya G Caudy
Jennifer M Rim
Emily V Paprocki
Ashley L Foller
Emily H Butt
Faith O Vocelka
Jones N Venere
Darci Z Kolmetz
Emily I Rim
Octavia O Shinko
Sinclair O Stenseth
David O Malet
Morrow E Foller
Munro O Maclead
IdCountryDate
1000Japan2026-06-10
1001Japan2026-06-29
1002Italy2026-06-26
1003Japan2026-06-11
1004United Kingdom2026-06-08
1005Japan2026-06-09
1006Italy2026-06-30
1007India2026-06-17
1008Russia2026-06-23
1009Russia2026-06-30
1010France2026-06-08
1011Argentina2026-06-25
1012Australia2026-06-15
1013Canada2026-06-19
1014Brazil2026-06-19
1015Japan2026-06-25
1016Russia2026-06-04
1017Spain2026-06-27
1018Italy2026-06-17
1019Japan2026-06-11
1020Brazil2026-06-19
1021Japan2026-06-05
1022India2026-06-19
1023Argentina2026-06-08
1024Germany2026-07-03
1025Argentina2026-06-16
1026Australia2026-07-02
1027Russia2026-06-19
1028France2026-06-30
1029India2026-06-30
1030United Kingdom2026-06-28
1031Canada2026-06-17
1032Spain2026-06-25
1033Canada2026-06-27
1034United Kingdom2026-06-22
1035France2026-06-09
1036France2026-06-10
1037United Kingdom2026-06-25
1038Spain2026-07-03
1039Canada2026-06-05
1040Australia2026-06-14
1041United Kingdom2026-06-04
1042France2026-06-12
1043Argentina2026-06-10
1044France2026-06-27
1045Russia2026-06-09
1046Argentina2026-07-03
1047France2026-06-09
1048Argentina2026-06-09
1049Japan2026-06-22

On-Demand Data

NameIdCountryDate
Aika G Dilliard1000United Kingdom2026-06-21
Clifford S Schemmer1001India2026-06-18
Johnson R Morasca1002Canada2026-06-29
Izzy I Royster1003Russia2026-06-04
Izzy L Stenseth1004Australia2026-06-20
Clifford W Campain1005Italy2026-07-01
Clifford M Sergi1006India2026-06-17
Maria Y Shinko1007Italy2026-06-26
Munro T Whobrey1008United Kingdom2026-07-03
Wickens A Oldroyd1009Australia2026-06-04
Kaitlin K Poquette1010Australia2026-06-19
Costa Q Rulapaugh1011Russia2026-06-12
Mujtaba N Ostrosky1012France2026-06-25
Jones L Sergi1013Russia2026-06-27
Greenwood A Kusko1014United Kingdom2026-06-14
Greenwood Y Saylors1015Argentina2026-06-28
Silvio R Albares1016United Kingdom2026-06-21
Mujtaba B Ostrosky1017United Kingdom2026-06-28
Leja D Stenseth1018Canada2026-06-08
Wickens N Doe1019Australia2026-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair H PerinJapanElwin Sharvill UNQUALIFIED
Costa J FerenczItalyOnyama Limba RENEWAL
James K SlusarskiFranceOnyama Limba RENEWAL
Salvatore G RimArgentinaBernardo Dominic NEW
Octavia S SlusarskiArgentinaXuxue Feng RENEWAL
Nicolas B GauchoIndiaBernardo Dominic RENEWAL
Faith G KuskoRussiaIvan Magalhaes RENEWAL
Faith E FlosiJapanIoni Bowcher NEW
Mujtaba H TollnerJapanAmy Elsner UNQUALIFIED
Isabel W InouyeAustraliaIoni Bowcher UNQUALIFIED
Juan M TollnerFranceIoni Bowcher NEGOTIATION
Smith K FollerJapanIoni Bowcher PROPOSAL
Johnson H WaycottCanadaIvan Magalhaes NEW
Aditya D NestleSpainElwin Sharvill QUALIFIED
Aika F IturbideCanadaStephen Shaw QUALIFIED
Chavez I GauchoUnited KingdomAsiya Javayant NEW
Aditya G NestleSpainAmy Elsner UNQUALIFIED
Maisha U MaletCanadaAsiya Javayant QUALIFIED
Mayumi X GauchoUnited KingdomAnna Fali RENEWAL
Kadeem V StensethCanadaAsiya Javayant QUALIFIED
Smith H StockhamRussiaStephen Shaw NEW
David M BriddickGermanyAsiya Javayant UNQUALIFIED
Kaitlin H BowleyBrazilOnyama Limba PROPOSAL
Ricardo E ButtAustraliaIoni Bowcher RENEWAL
Wickens O WieserUnited KingdomXuxue Feng NEGOTIATION
Julie G TollnerJapanAsiya Javayant QUALIFIED
Sinclair N SaylorsGermanyBernardo Dominic RENEWAL
Emily U MaletArgentinaOnyama Limba QUALIFIED
Ashley A BowleyAustraliaAmy Elsner QUALIFIED
Jefferson D BowleyAustraliaAsiya Javayant NEW
Ashley U CaudySpainElwin Sharvill NEGOTIATION
Francesco B BologniaAustraliaAnna Fali RENEWAL
Morrow X DarakjyAustraliaStephen Shaw UNQUALIFIED
Ashley W NickaBrazilIoni Bowcher NEW
Salvatore L StockhamArgentinaElwin Sharvill RENEWAL
Misaki Q ChuiFranceOnyama Limba NEGOTIATION
Leja S KolmetzCanadaIvan Magalhaes QUALIFIED
Silvio D MaletIndiaBernardo Dominic PROPOSAL
Maria N PoquetteItalyAmy Elsner NEGOTIATION
Wickens L MaletJapanElwin Sharvill 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>