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
Antonio G RulapaughJapanXuxue Feng RENEWAL
Emily A OldroydIndiaBernardo Dominic PROPOSAL
Greenwood S CampainJapanBernardo Dominic UNQUALIFIED
Cody F DarakjyAustraliaAmy Elsner QUALIFIED
Salvatore C VenereBrazilElwin Sharvill NEGOTIATION
Aika P GillianIndiaAmy Elsner RENEWAL
Mujtaba U GauchoGermanyBernardo Dominic RENEWAL
Rodrigues B OstroskyFranceStephen Shaw QUALIFIED
Alejandro K FollerGermanyOnyama Limba QUALIFIED
Rodrigues Z OstroskyItalyElwin Sharvill NEGOTIATION
Murillo I GarufiAustraliaOnyama Limba PROPOSAL
Antonio P RulapaughIndiaAsiya Javayant NEW
Arvin J FerenczRussiaElwin Sharvill UNQUALIFIED
Julie O DoeUnited KingdomIoni Bowcher NEW
Silvio V FollerBrazilOnyama Limba UNQUALIFIED
Aditya S KolmetzFranceXuxue Feng NEGOTIATION
Kaitlin N FlosiBrazilOnyama Limba NEW
Adams S WieserFranceIoni Bowcher NEGOTIATION
Ivar G StockhamSpainAsiya Javayant NEW
Johnson U MaletGermanyXuxue Feng NEGOTIATION
Deepesh R MaletGermanyAmy Elsner NEGOTIATION
Faith C PaprockiCanadaBernardo Dominic QUALIFIED
Antonio V NestleFranceBernardo Dominic PROPOSAL
Morrow X MarrierRussiaBernardo Dominic NEGOTIATION
Smith N MaletFranceOnyama Limba UNQUALIFIED
Silvio H RimSpainOnyama Limba QUALIFIED
Clifford T BriddickGermanyOnyama Limba NEGOTIATION
Ashley V VocelkaItalyAmy Elsner PROPOSAL
Alejandro T InouyeCanadaIvan Magalhaes RENEWAL
Leon Z VocelkaFranceElwin Sharvill PROPOSAL
Kaitlin V PerinItalyAnna Fali QUALIFIED
Mujtaba K ShinkoAustraliaIvan Magalhaes PROPOSAL
Isabel T StensethItalyAnna Fali PROPOSAL
Izzy Q PerinFranceAnna Fali UNQUALIFIED
Kaitlin B ShinkoGermanyIvan Magalhaes NEW
Salvatore Y InouyeCanadaAmy Elsner UNQUALIFIED
Cody B VenereIndiaXuxue Feng NEW
Silvio B WieserRussiaIoni Bowcher QUALIFIED
Clifford U DilliardCanadaBernardo Dominic UNQUALIFIED
Arvin F StensethBrazilAsiya Javayant PROPOSAL
Kadeem Y NestleJapanAnna Fali QUALIFIED
Octavia Q DilliardUnited KingdomXuxue Feng UNQUALIFIED
Claire S MarrierArgentinaOnyama Limba NEGOTIATION
Johnson M MaletGermanyAsiya Javayant RENEWAL
Claire J SaylorsBrazilOnyama Limba UNQUALIFIED
Stacey D KuskoFranceAnna Fali NEGOTIATION
Johnson V SaylorsJapanIvan Magalhaes QUALIFIED
Aruna S InouyeArgentinaAsiya Javayant QUALIFIED
Maisha P GlickIndiaAmy Elsner UNQUALIFIED
Ivar I GarufiGermanyBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Misaki E IturbideGermanyAsiya Javayant RENEWAL
Murillo X FigeroaRussiaOnyama Limba RENEWAL
Jeanfrancois C GlickCanadaElwin Sharvill NEW
Antonio J CaudyIndiaIvan Magalhaes UNQUALIFIED
Morrow S SaylorsItalyAnna Fali QUALIFIED
Stacey I RulapaughIndiaAmy Elsner RENEWAL
Jennifer J RoysterJapanBernardo Dominic PROPOSAL
Claire F DilliardItalyXuxue Feng QUALIFIED
Darci I VocelkaSpainAmy Elsner PROPOSAL
Tony L SaylorsItalyAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya C GarufiBrazil2026-07-24Feltz Printing Service PROPOSAL22Ivan Magalhaes
1001Adams B BologniaJapan2026-07-21Printing Dimensions QUALIFIED85Asiya Javayant
1002Greenwood D FollerFrance2026-07-25Chemel, James L Cpa NEGOTIATION85Bernardo Dominic
1003Greenwood Q MaletGermany2026-07-17Chanay, Jeffrey A Esq UNQUALIFIED56Anna Fali
1004Claire I WaycottFrance2026-07-26Chanay, Jeffrey A Esq PROPOSAL0Stephen Shaw
1005Misaki S WaycottUnited Kingdom2026-08-10Chanay, Jeffrey A Esq QUALIFIED76Bernardo Dominic
1006Ivar Y MaletCanada2026-08-02Benton, John B Jr RENEWAL87Amy Elsner
1007Alejandro G DilliardIndia2026-07-22Feiner Bros NEGOTIATION94Elwin Sharvill
1008Isabel W SlusarskiIndia2026-07-17Morlong Associates RENEWAL53Bernardo Dominic
1009Maria W BowleyCanada2026-08-10Chapman, Ross E Esq QUALIFIED55Amy Elsner
1010Emily N TollnerCanada2026-07-30Feiner Bros UNQUALIFIED34Amy Elsner
1011Aruna F MarrierArgentina2026-07-29Chemel, James L Cpa NEW72Asiya Javayant
1012Greenwood H FlosiSpain2026-07-28Printing Dimensions QUALIFIED34Anna Fali
1013Juan X ShinkoBrazil2026-07-21Truhlar And Truhlar Attys QUALIFIED79Onyama Limba
1014Silvio F SlusarskiFrance2026-07-14Rangoni Of Florence RENEWAL36Asiya Javayant
1015Mujtaba V FollerBrazil2026-08-01Buckley Miller Wright RENEWAL24Stephen Shaw
1016Jeanfrancois M CaudyRussia2026-07-22Benton, John B Jr NEGOTIATION41Bernardo Dominic
1017Antonio J ChuiAustralia2026-07-24Feltz Printing Service UNQUALIFIED55Elwin Sharvill
1018Alejandro B OldroydCanada2026-07-30Commercial Press RENEWAL72Anna Fali
1019Claire W RulapaughUnited Kingdom2026-07-20Chapman, Ross E Esq QUALIFIED59Xuxue Feng
1020Jeanfrancois U KolmetzSpain2026-07-29Chemel, James L Cpa QUALIFIED69Stephen Shaw
1021Wickens M PaprockiGermany2026-08-07Feiner Bros NEGOTIATION56Ioni Bowcher
1022Jones W FerenczFrance2026-07-21Benton, John B Jr PROPOSAL14Ivan Magalhaes
1023Adams D GauchoIndia2026-07-27Chapman, Ross E Esq PROPOSAL80Asiya Javayant
1024Adams X RimCanada2026-07-22Morlong Associates QUALIFIED74Stephen Shaw
1025Jennifer M SaylorsFrance2026-07-23Printing Dimensions NEW11Bernardo Dominic
1026Cody U GauchoCanada2026-08-10Benton, John B Jr RENEWAL97Asiya Javayant
1027Emily E BologniaIndia2026-08-03Dorl, James J Esq NEGOTIATION64Elwin Sharvill
1028Ivar J AmigonBrazil2026-07-15Buckley Miller Wright PROPOSAL12Elwin Sharvill
1029Kaitlin L MaletArgentina2026-07-17Buckley Miller Wright NEGOTIATION54Asiya Javayant
1030Aika P NickaItaly2026-07-24Feltz Printing Service NEW69Anna Fali
1031Julie U ButtIndia2026-07-28Printing Dimensions PROPOSAL53Asiya Javayant
1032Sinclair D SchemmerIndia2026-08-11Chanay, Jeffrey A Esq NEGOTIATION72Onyama Limba
1033Murillo F KuskoGermany2026-07-24Chapman, Ross E Esq NEGOTIATION72Elwin Sharvill
1034Julie T AlbaresSpain2026-08-03Rangoni Of Florence QUALIFIED4Ioni Bowcher
1035Deepesh Z MarrierSpain2026-07-13Chapman, Ross E Esq UNQUALIFIED9Bernardo Dominic
1036Johnson X MaletBrazil2026-07-19Printing Dimensions UNQUALIFIED30Ivan Magalhaes
1037Clifford I GillianFrance2026-08-02Feiner Bros PROPOSAL27Xuxue Feng
1038Stacey A FerenczJapan2026-07-18Benton, John B Jr NEW47Stephen Shaw
1039Julie L ChuiUnited Kingdom2026-07-14Chemel, James L Cpa UNQUALIFIED64Xuxue Feng
1040Munro N ChuiSpain2026-07-27Feiner Bros RENEWAL62Onyama Limba
1041Johnson S GillianJapan2026-07-23Dorl, James J Esq QUALIFIED95Anna Fali
1042Murillo Z ChuiArgentina2026-08-07Rousseaux, Michael Esq QUALIFIED40Onyama Limba
1043Ivar S DarakjyItaly2026-07-24Buckley Miller Wright UNQUALIFIED83Elwin Sharvill
1044Jones P OldroydIndia2026-08-08Printing Dimensions RENEWAL2Elwin Sharvill
1045Jeanfrancois H WaycottAustralia2026-08-06King, Christopher A Esq NEGOTIATION83Ioni Bowcher
1046Misaki I SergiUnited Kingdom2026-08-02Chanay, Jeffrey A Esq UNQUALIFIED12Elwin Sharvill
1047Aruna U GlickUnited Kingdom2026-08-03Rangoni Of Florence RENEWAL80Ioni Bowcher
1048Isabel F GarufiCanada2026-07-30Feiner Bros RENEWAL90Ioni Bowcher
1049Aika O CaudyIndia2026-07-15Rousseaux, Michael Esq PROPOSAL94Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Antonio D WhobreySpainOnyama Limba RENEWAL
Aruna A FollerBrazilOnyama Limba NEW
Smith K SlusarskiAustraliaAnna Fali UNQUALIFIED
Greenwood N ChuiGermanyOnyama Limba PROPOSAL
Aruna F PerinCanadaIvan Magalhaes UNQUALIFIED
Emily S VenereCanadaXuxue Feng UNQUALIFIED
Chavez M PerinCanadaAsiya Javayant PROPOSAL
Ashley Y NestleRussiaAsiya Javayant NEGOTIATION
Silvio E VenereBrazilAmy Elsner UNQUALIFIED
Mujtaba B ButtArgentinaElwin Sharvill PROPOSAL
Ivar B DarakjyAustraliaStephen Shaw NEGOTIATION
Stacey P IturbideAustraliaElwin Sharvill QUALIFIED
Ashley T CaudySpainElwin Sharvill PROPOSAL
Jennifer F TollnerRussiaOnyama Limba NEW
Jeanfrancois V RulapaughUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois G PaprockiCanadaXuxue Feng RENEWAL
Jones T FollerRussiaAmy Elsner PROPOSAL
Faith L OldroydUnited KingdomOnyama Limba RENEWAL
Morrow B NestleBrazilAsiya Javayant RENEWAL
Claire E DoeItalyXuxue Feng NEW
Ashley O MorascaRussiaAsiya Javayant RENEWAL
Stacey C NestleRussiaElwin Sharvill RENEWAL
Morrow H NestleUnited KingdomIvan Magalhaes QUALIFIED
Francesco D DarakjyBrazilIvan Magalhaes QUALIFIED
Darci J TollnerArgentinaAmy Elsner NEGOTIATION
Arvin Y AmigonFranceElwin Sharvill NEGOTIATION
Maisha W NestleIndiaAsiya Javayant RENEWAL
Octavia F ChuiItalyIvan Magalhaes PROPOSAL
Ivar R WieserJapanIvan Magalhaes PROPOSAL
Tony N NickaAustraliaAsiya Javayant NEGOTIATION
Leja A SchemmerIndiaXuxue Feng RENEWAL
Emily W FerenczUnited KingdomAsiya Javayant NEW
Salvatore K BologniaCanadaOnyama Limba PROPOSAL
Ashley T OstroskyFranceOnyama Limba QUALIFIED
Juan S ButtRussiaIoni Bowcher NEGOTIATION
Aika T DoeIndiaAmy Elsner RENEWAL
Deepesh P InouyeJapanOnyama Limba PROPOSAL
Ricardo E BowleyBrazilIoni Bowcher NEW
Leja W GillianAustraliaStephen Shaw RENEWAL
Ricardo F InouyeUnited KingdomAnna Fali RENEWAL
Johnson Q AlbaresFranceOnyama Limba RENEWAL
Aika L SchemmerItalyIvan Magalhaes UNQUALIFIED
Stacey K TollnerRussiaAnna Fali NEGOTIATION
Leon V RulapaughFranceBernardo Dominic NEW
Deepesh W CaudyItalyStephen Shaw NEW
Izzy X WhobreyItalyElwin Sharvill RENEWAL
Deepesh H InouyeBrazilElwin Sharvill RENEWAL
Claire O ShinkoItalyAmy Elsner QUALIFIED
Jefferson C PaprockiUnited KingdomStephen Shaw RENEWAL
Clifford Y FlosiArgentinaStephen Shaw NEGOTIATION
Frozen Columns
Name
Aditya P Figeroa
Julie W Stenseth
Silvio D Stenseth
Misaki K Kusko
Emily J Caudy
Claire Q Waycott
Deepesh K Caudy
Claire K Glick
Aika N Kolmetz
Faith I Nicka
Jones J Shinko
Isabel B Briddick
Rodrigues V Kusko
Mujtaba J Vocelka
Sinclair L Malet
Jones I Royster
Nicolas J Waycott
Aditya L Iturbide
Mayumi D Bolognia
Adams S Bolognia
Arvin A Paprocki
Izzy I Iturbide
Maria V Venere
Leon M Marrier
Murillo P Amigon
Greenwood P Maclead
Salvatore L Venere
Darci Q Ruta
Aruna X Ferencz
Jeanfrancois P Garufi
Claire W Albares
Aditya P Whobrey
Costa H Malet
Smith N Malet
Jennifer Q Bolognia
Cody W Iturbide
Morrow A Waycott
Mayumi P Maclead
Leja Y Perin
Wickens X Inouye
Stacey L Morasca
Johnson B Kusko
Sinclair O Darakjy
Faith X Marrier
Kadeem B Chui
Salvatore S Malet
Smith O Nestle
Juan A Marrier
Leja P Briddick
Izzy N Glick
IdCountryDate
1000Russia2026-07-25
1001Brazil2026-08-04
1002Italy2026-08-10
1003India2026-08-08
1004Brazil2026-07-17
1005United Kingdom2026-07-27
1006Italy2026-08-07
1007Russia2026-08-03
1008Spain2026-07-27
1009Russia2026-08-11
1010Japan2026-08-05
1011India2026-07-19
1012Argentina2026-08-03
1013Spain2026-07-26
1014Australia2026-07-20
1015Russia2026-08-06
1016Russia2026-07-17
1017Spain2026-08-03
1018Japan2026-07-25
1019Australia2026-07-28
1020Spain2026-08-10
1021United Kingdom2026-08-11
1022France2026-08-05
1023Argentina2026-08-01
1024Germany2026-07-23
1025Spain2026-07-21
1026Italy2026-07-17
1027Canada2026-08-08
1028Italy2026-08-11
1029India2026-08-02
1030India2026-07-30
1031Spain2026-08-08
1032Spain2026-07-27
1033Russia2026-07-16
1034Germany2026-08-02
1035United Kingdom2026-07-30
1036United Kingdom2026-08-11
1037Japan2026-07-31
1038Italy2026-07-23
1039Germany2026-07-15
1040Brazil2026-07-19
1041Germany2026-07-19
1042Australia2026-07-23
1043Italy2026-08-02
1044Spain2026-07-22
1045Spain2026-08-09
1046Germany2026-08-03
1047Germany2026-08-01
1048Germany2026-08-06
1049United Kingdom2026-07-21

On-Demand Data

NameIdCountryDate
Jones Q Doe1000Russia2026-07-14
Ashley P Albares1001Argentina2026-08-07
Aika I Iturbide1002Japan2026-07-23
Costa M Briddick1003France2026-07-23
Francesco Y Garufi1004Spain2026-07-27
Silvio V Kolmetz1005Japan2026-08-01
Adams G Slusarski1006Japan2026-07-30
Jennifer A Darakjy1007Spain2026-07-18
Ricardo F Caudy1008Germany2026-07-23
Jeanfrancois U Schemmer1009Brazil2026-07-20
Murillo E Flosi1010Spain2026-07-24
Tony F Tollner1011India2026-08-02
Emily B Saylors1012Argentina2026-08-07
Greenwood J Figeroa1013Italy2026-07-17
Isabel P Oldroyd1014Japan2026-08-06
Clifford L Vocelka1015Italy2026-07-29
Adams D Nicka1016Japan2026-08-03
Francesco W Rim1017Argentina2026-08-10
Juan R Waycott1018Russia2026-07-28
Antonio U Ostrosky1019Germany2026-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha I TollnerItalyXuxue Feng UNQUALIFIED
Jones B RoysterSpainIvan Magalhaes RENEWAL
Jennifer O SchemmerGermanyXuxue Feng NEW
Munro V DoeCanadaElwin Sharvill UNQUALIFIED
Ricardo F GillianBrazilElwin Sharvill QUALIFIED
Sinclair X KuskoSpainAnna Fali QUALIFIED
Ricardo I AlbaresJapanIoni Bowcher UNQUALIFIED
Francesco I InouyeAustraliaAnna Fali RENEWAL
Ivar Z InouyeBrazilBernardo Dominic NEW
Izzy V IturbideIndiaOnyama Limba QUALIFIED
Costa W NestleRussiaAnna Fali NEW
Jennifer H VocelkaIndiaElwin Sharvill NEW
Alejandro W MacleadCanadaAsiya Javayant QUALIFIED
Maria A VocelkaSpainIoni Bowcher QUALIFIED
Jennifer C GillianAustraliaAsiya Javayant QUALIFIED
Isabel V SchemmerAustraliaStephen Shaw NEGOTIATION
Murillo G RulapaughRussiaBernardo Dominic UNQUALIFIED
Silvio I NickaGermanyElwin Sharvill NEGOTIATION
Leon N GarufiCanadaElwin Sharvill PROPOSAL
Mayumi P RutaGermanyIvan Magalhaes QUALIFIED
Alejandro M StockhamSpainOnyama Limba UNQUALIFIED
Silvio B NickaRussiaElwin Sharvill NEW
Mujtaba B FerenczIndiaAsiya Javayant RENEWAL
Sinclair I RulapaughAustraliaStephen Shaw PROPOSAL
Murillo K BologniaUnited KingdomAnna Fali NEGOTIATION
Emily V WhobreySpainIoni Bowcher NEGOTIATION
Octavia N NestleUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues O DilliardCanadaStephen Shaw NEGOTIATION
James U RutaGermanyOnyama Limba NEW
James R DarakjyFranceOnyama Limba NEGOTIATION
Ricardo B AmigonItalyOnyama Limba UNQUALIFIED
Julie C RoysterGermanyAnna Fali QUALIFIED
Jeanfrancois G InouyeSpainAmy Elsner PROPOSAL
Cody C WieserBrazilBernardo Dominic PROPOSAL
Johnson A MarrierJapanAmy Elsner QUALIFIED
Ashley U GauchoItalyIvan Magalhaes QUALIFIED
Deepesh O RoysterArgentinaIvan Magalhaes QUALIFIED
Costa P SlusarskiBrazilAmy Elsner PROPOSAL
Misaki X MaletArgentinaOnyama Limba RENEWAL
David P GarufiCanadaOnyama Limba 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>