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
Aika X TollnerFranceElwin Sharvill PROPOSAL
Jefferson X GauchoRussiaIvan Magalhaes PROPOSAL
Clifford K WaycottRussiaOnyama Limba NEW
Johnson J MacleadRussiaXuxue Feng UNQUALIFIED
Antonio K ShinkoIndiaStephen Shaw PROPOSAL
James X StockhamIndiaBernardo Dominic UNQUALIFIED
Greenwood Q MarrierArgentinaXuxue Feng PROPOSAL
Munro L PaprockiBrazilIvan Magalhaes RENEWAL
Sinclair Z OldroydJapanOnyama Limba NEGOTIATION
Jones O GillianItalyElwin Sharvill PROPOSAL
Kaitlin N KolmetzItalyStephen Shaw NEGOTIATION
Juan V KolmetzGermanyIoni Bowcher NEW
James B StockhamJapanAsiya Javayant NEGOTIATION
Antonio Y FlosiSpainAnna Fali QUALIFIED
Wickens X SergiRussiaIoni Bowcher QUALIFIED
Leja J BowleyBrazilAsiya Javayant NEGOTIATION
Ricardo H SaylorsBrazilIvan Magalhaes PROPOSAL
Emily L KolmetzRussiaElwin Sharvill RENEWAL
Morrow I RimIndiaAsiya Javayant PROPOSAL
Greenwood D InouyeAustraliaIvan Magalhaes NEGOTIATION
Silvio R FerenczItalyAmy Elsner UNQUALIFIED
Francesco Z SlusarskiAustraliaAsiya Javayant UNQUALIFIED
James J FigeroaCanadaStephen Shaw NEGOTIATION
Ashley Z SlusarskiItalyBernardo Dominic PROPOSAL
Octavia M FollerArgentinaBernardo Dominic UNQUALIFIED
Mayumi Y GlickRussiaXuxue Feng NEGOTIATION
Smith I ShinkoSpainAsiya Javayant RENEWAL
Silvio O ChuiBrazilAsiya Javayant RENEWAL
Clifford O PerinCanadaAmy Elsner NEGOTIATION
Silvio O VocelkaRussiaXuxue Feng PROPOSAL
Deepesh E GillianIndiaXuxue Feng NEW
Smith U AmigonItalyElwin Sharvill NEGOTIATION
Smith H VenereGermanyIvan Magalhaes RENEWAL
Aditya O ButtCanadaAnna Fali PROPOSAL
Sinclair C FerenczUnited KingdomIvan Magalhaes PROPOSAL
Jones E CaudyJapanIvan Magalhaes QUALIFIED
Costa C PerinSpainAnna Fali PROPOSAL
Mayumi E AmigonAustraliaAsiya Javayant PROPOSAL
Jones K MacleadCanadaOnyama Limba QUALIFIED
Emily V MaletJapanXuxue Feng NEW
Costa F SlusarskiBrazilOnyama Limba PROPOSAL
Chavez C GarufiBrazilIoni Bowcher QUALIFIED
Francesco F StensethGermanyStephen Shaw NEGOTIATION
Kaitlin S PaprockiUnited KingdomXuxue Feng RENEWAL
Ivar L FigeroaBrazilOnyama Limba QUALIFIED
Costa T PoquetteBrazilElwin Sharvill RENEWAL
Isabel E SlusarskiUnited KingdomOnyama Limba RENEWAL
Jefferson L FerenczUnited KingdomElwin Sharvill NEW
Aika N MaletSpainBernardo Dominic PROPOSAL
Rodrigues B FerenczBrazilIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith K IturbideCanadaAnna Fali QUALIFIED
Leon L KuskoCanadaBernardo Dominic PROPOSAL
Nicolas O BriddickRussiaElwin Sharvill RENEWAL
Maria U NickaJapanBernardo Dominic UNQUALIFIED
Morrow W IturbideIndiaIvan Magalhaes RENEWAL
Jennifer E FlosiArgentinaXuxue Feng PROPOSAL
Aditya V SlusarskiArgentinaAnna Fali UNQUALIFIED
Silvio U WieserAustraliaAsiya Javayant RENEWAL
Silvio E BologniaJapanIoni Bowcher PROPOSAL
Nicolas O KuskoRussiaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro V GillianCanada2026-08-04Rousseaux, Michael Esq QUALIFIED97Ioni Bowcher
1001Leja U CaudyAustralia2026-07-14Commercial Press PROPOSAL92Anna Fali
1002Isabel A OstroskyArgentina2026-07-13King, Christopher A Esq NEGOTIATION32Elwin Sharvill
1003Smith A CaudyBrazil2026-08-05Buckley Miller Wright RENEWAL21Asiya Javayant
1004Smith F MaletAustralia2026-07-27Printing Dimensions NEW64Ivan Magalhaes
1005Cody E GauchoSpain2026-07-10Printing Dimensions UNQUALIFIED42Amy Elsner
1006Aditya R FlosiIndia2026-08-05Benton, John B Jr NEW19Ioni Bowcher
1007James R CaldareraIndia2026-08-03Chapman, Ross E Esq NEGOTIATION99Stephen Shaw
1008Octavia Y WieserFrance2026-08-05Morlong Associates PROPOSAL77Asiya Javayant
1009Francesco K OstroskyUnited Kingdom2026-07-30Dorl, James J Esq RENEWAL35Ivan Magalhaes
1010Jones P OstroskyArgentina2026-08-02Commercial Press UNQUALIFIED51Bernardo Dominic
1011Murillo E VocelkaBrazil2026-07-24King, Christopher A Esq RENEWAL26Asiya Javayant
1012David Z IturbideFrance2026-07-18Rangoni Of Florence NEGOTIATION33Ioni Bowcher
1013Morrow L GlickRussia2026-08-02Benton, John B Jr NEW17Ivan Magalhaes
1014Wickens H KolmetzGermany2026-08-05Feiner Bros QUALIFIED56Anna Fali
1015Stacey N RoysterArgentina2026-07-17Rousseaux, Michael Esq RENEWAL15Asiya Javayant
1016Antonio G DilliardSpain2026-07-20Rangoni Of Florence QUALIFIED53Amy Elsner
1017Nicolas T IturbideIndia2026-07-26Printing Dimensions NEGOTIATION59Anna Fali
1018Cody C FerenczArgentina2026-08-07Rangoni Of Florence NEW87Amy Elsner
1019Antonio Z GauchoArgentina2026-07-24Feiner Bros NEGOTIATION64Elwin Sharvill
1020Nicolas H BriddickUnited Kingdom2026-07-17Printing Dimensions QUALIFIED92Stephen Shaw
1021Nicolas P GillianUnited Kingdom2026-07-14Feltz Printing Service RENEWAL16Elwin Sharvill
1022Kaitlin F ButtJapan2026-07-29Dorl, James J Esq PROPOSAL36Bernardo Dominic
1023Sinclair M PaprockiJapan2026-07-17Buckley Miller Wright NEW26Onyama Limba
1024James Q OstroskyCanada2026-07-29Feiner Bros UNQUALIFIED0Xuxue Feng
1025Emily P GlickItaly2026-07-10Truhlar And Truhlar Attys UNQUALIFIED82Bernardo Dominic
1026Johnson S WieserIndia2026-07-26Commercial Press RENEWAL85Elwin Sharvill
1027Maria V SergiJapan2026-08-02Chapman, Ross E Esq NEGOTIATION38Stephen Shaw
1028Wickens I WieserUnited Kingdom2026-07-21Buckley Miller Wright NEGOTIATION34Ivan Magalhaes
1029Emily Z ShinkoGermany2026-08-08Feltz Printing Service RENEWAL29Amy Elsner
1030Kadeem K VenereBrazil2026-07-10Commercial Press RENEWAL80Xuxue Feng
1031Faith M SlusarskiAustralia2026-07-31Feiner Bros NEW80Ivan Magalhaes
1032Izzy L KolmetzFrance2026-07-25Morlong Associates UNQUALIFIED77Stephen Shaw
1033Izzy D BowleyItaly2026-07-28Benton, John B Jr PROPOSAL28Ivan Magalhaes
1034Emily N FlosiBrazil2026-08-04Commercial Press PROPOSAL24Xuxue Feng
1035Salvatore A GarufiSpain2026-07-23Printing Dimensions NEW47Elwin Sharvill
1036Isabel B NestleGermany2026-07-19Feiner Bros QUALIFIED27Elwin Sharvill
1037Stacey C PoquetteSpain2026-07-17Rangoni Of Florence NEW43Ivan Magalhaes
1038Jefferson T AlbaresItaly2026-07-12Chanay, Jeffrey A Esq RENEWAL79Onyama Limba
1039Jeanfrancois Z FerenczGermany2026-07-26King, Christopher A Esq UNQUALIFIED37Asiya Javayant
1040Jefferson T KuskoAustralia2026-07-14Rousseaux, Michael Esq NEW8Stephen Shaw
1041Ashley Q CaldareraItaly2026-08-04Morlong Associates QUALIFIED20Stephen Shaw
1042Francesco E AmigonJapan2026-07-26Dorl, James J Esq QUALIFIED19Stephen Shaw
1043Aruna J VocelkaItaly2026-07-14Feltz Printing Service UNQUALIFIED47Asiya Javayant
1044Izzy Z MaletAustralia2026-07-16Dorl, James J Esq QUALIFIED36Bernardo Dominic
1045David O RulapaughCanada2026-07-12Rangoni Of Florence NEGOTIATION42Anna Fali
1046Salvatore D WaycottSpain2026-07-19Dorl, James J Esq RENEWAL50Elwin Sharvill
1047Julie K WhobreyArgentina2026-07-26Chapman, Ross E Esq QUALIFIED99Anna Fali
1048Mujtaba S CaldareraCanada2026-07-16Dorl, James J Esq NEW40Anna Fali
1049Arvin B FollerAustralia2026-08-05King, Christopher A Esq RENEWAL7Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aruna B BriddickCanadaStephen Shaw NEW
Faith T OldroydItalyBernardo Dominic NEGOTIATION
Isabel R CampainJapanElwin Sharvill PROPOSAL
Deepesh R BologniaBrazilXuxue Feng QUALIFIED
Izzy M WhobreyJapanElwin Sharvill QUALIFIED
Smith M CaudyIndiaStephen Shaw QUALIFIED
Aika Q BowleyIndiaIvan Magalhaes QUALIFIED
Greenwood T DarakjyArgentinaBernardo Dominic RENEWAL
Stacey C DarakjyItalyIoni Bowcher PROPOSAL
Morrow T PaprockiFranceAnna Fali NEW
Faith W CaldareraAustraliaOnyama Limba QUALIFIED
Isabel W OstroskyAustraliaAsiya Javayant PROPOSAL
Darci U KolmetzArgentinaAmy Elsner UNQUALIFIED
Mujtaba X OstroskyJapanIvan Magalhaes RENEWAL
Izzy B NickaFranceElwin Sharvill NEW
Isabel M VenereAustraliaAmy Elsner RENEWAL
Antonio C PoquetteUnited KingdomStephen Shaw RENEWAL
Aruna V SaylorsRussiaXuxue Feng QUALIFIED
Salvatore V StockhamSpainOnyama Limba RENEWAL
Mayumi M MaletBrazilAmy Elsner PROPOSAL
Sinclair P WieserAustraliaStephen Shaw QUALIFIED
Darci G CaldareraSpainIoni Bowcher NEGOTIATION
James S InouyeItalyElwin Sharvill UNQUALIFIED
Salvatore G FollerArgentinaOnyama Limba QUALIFIED
Alejandro C MaletCanadaOnyama Limba NEW
Misaki T GlickItalyIvan Magalhaes QUALIFIED
Ashley B GillianRussiaAsiya Javayant PROPOSAL
Tony J GarufiUnited KingdomXuxue Feng NEGOTIATION
Jennifer V VocelkaSpainElwin Sharvill QUALIFIED
Claire P MorascaSpainAsiya Javayant UNQUALIFIED
Ricardo R CampainCanadaAmy Elsner QUALIFIED
Isabel O DilliardSpainXuxue Feng NEGOTIATION
Alejandro I VocelkaBrazilOnyama Limba PROPOSAL
Arvin U DoeFranceOnyama Limba QUALIFIED
Silvio K OstroskyBrazilAsiya Javayant PROPOSAL
Juan K SaylorsRussiaAnna Fali UNQUALIFIED
Misaki E VocelkaIndiaStephen Shaw RENEWAL
Silvio W GarufiRussiaStephen Shaw QUALIFIED
Nicolas S GlickUnited KingdomAsiya Javayant UNQUALIFIED
Misaki C PoquetteGermanyAmy Elsner UNQUALIFIED
Jeanfrancois J CaldareraAustraliaAsiya Javayant NEW
Munro I KuskoJapanIoni Bowcher NEGOTIATION
Antonio A CaudyRussiaOnyama Limba NEW
Maisha M FlosiSpainOnyama Limba NEGOTIATION
Aruna C DilliardCanadaBernardo Dominic NEGOTIATION
Tony J CampainCanadaAnna Fali PROPOSAL
David U GillianUnited KingdomIoni Bowcher UNQUALIFIED
Arvin X DarakjyCanadaAmy Elsner PROPOSAL
Julie Y DoeBrazilIoni Bowcher UNQUALIFIED
Morrow W GillianFranceBernardo Dominic PROPOSAL
Frozen Columns
Name
Adams A Schemmer
Jeanfrancois D Foller
Wickens R Garufi
Murillo P Foller
Faith I Oldroyd
Aditya X Rulapaugh
Johnson F Stockham
Francesco P Kolmetz
Jones D Gillian
James Y Albares
Sinclair D Bowley
Johnson G Doe
Antonio L Ostrosky
Nicolas N Ruta
Misaki E Paprocki
Francesco T Butt
Francesco W Caldarera
Arvin M Poquette
Maisha V Shinko
Aika O Butt
Salvatore I Maclead
Jefferson A Tollner
Salvatore U Royster
Aika S Morasca
Mayumi L Stockham
Deepesh G Figeroa
Mayumi C Tollner
Alejandro P Vocelka
Octavia G Briddick
Munro T Albares
Leon B Whobrey
Johnson T Gaucho
Munro Z Caudy
Adams J Paprocki
Wickens L Whobrey
Mujtaba A Ruta
Nicolas Z Bolognia
Francesco O Caldarera
Kaitlin U Rim
Johnson J Ostrosky
Ivar X Butt
Mujtaba F Bolognia
Jones O Albares
Jones R Chui
Alejandro A Wieser
David A Rim
Sinclair V Poquette
Tony S Bolognia
Claire H Amigon
Johnson M Malet
IdCountryDate
1000Argentina2026-08-05
1001Spain2026-08-08
1002Argentina2026-07-16
1003Russia2026-07-17
1004India2026-07-10
1005United Kingdom2026-07-10
1006Japan2026-08-07
1007Australia2026-08-07
1008France2026-08-07
1009France2026-08-04
1010France2026-07-21
1011Australia2026-07-26
1012Italy2026-07-15
1013Russia2026-07-26
1014Australia2026-07-18
1015Italy2026-08-07
1016Brazil2026-08-06
1017Russia2026-07-16
1018Australia2026-07-26
1019France2026-08-08
1020Japan2026-07-22
1021Japan2026-07-13
1022Argentina2026-08-07
1023India2026-08-03
1024Spain2026-08-06
1025Argentina2026-08-01
1026Brazil2026-08-02
1027Canada2026-07-25
1028United Kingdom2026-07-23
1029Germany2026-07-31
1030Australia2026-07-11
1031Russia2026-08-01
1032Japan2026-07-22
1033Brazil2026-08-07
1034Canada2026-07-22
1035Japan2026-07-16
1036Japan2026-07-11
1037Italy2026-07-27
1038Brazil2026-07-29
1039India2026-07-21
1040Brazil2026-07-29
1041Russia2026-07-20
1042France2026-07-18
1043India2026-07-24
1044Australia2026-07-22
1045Russia2026-07-21
1046Spain2026-07-12
1047Italy2026-07-21
1048Russia2026-07-18
1049India2026-07-26

On-Demand Data

NameIdCountryDate
Claire F Garufi1000Russia2026-08-05
Deepesh A Slusarski1001Australia2026-07-19
Emily A Sergi1002Brazil2026-07-10
Misaki L Iturbide1003Germany2026-08-07
Isabel W Marrier1004India2026-07-26
Mayumi J Vocelka1005Japan2026-07-18
Silvio V Glick1006Germany2026-07-30
Mayumi M Maclead1007Brazil2026-08-08
Misaki V Bowley1008France2026-07-14
Mujtaba U Schemmer1009Australia2026-08-02
Morrow S Gaucho1010Canada2026-07-17
Aditya Z Vocelka1011Germany2026-07-30
Maria A Doe1012Russia2026-08-06
Murillo R Waycott1013Argentina2026-07-28
Alejandro E Rim1014France2026-07-26
James B Foller1015India2026-07-21
Adams K Oldroyd1016India2026-07-14
Izzy Z Paprocki1017India2026-07-11
Jefferson I Foller1018India2026-08-05
Alejandro V Iturbide1019Russia2026-07-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson T BologniaJapanStephen Shaw NEGOTIATION
David C CaudyAustraliaAnna Fali NEW
Murillo P AlbaresGermanyIoni Bowcher NEW
Kaitlin A MacleadUnited KingdomAnna Fali NEW
Munro T MarrierJapanIoni Bowcher QUALIFIED
Faith U OstroskyItalyStephen Shaw QUALIFIED
Kaitlin T CaudyArgentinaXuxue Feng QUALIFIED
Julie J MarrierCanadaAsiya Javayant RENEWAL
Jefferson U GlickIndiaStephen Shaw NEGOTIATION
Isabel L RimJapanAnna Fali NEW
Costa Q BriddickAustraliaAsiya Javayant UNQUALIFIED
Faith K CaldareraSpainBernardo Dominic NEGOTIATION
Francesco Y BologniaFranceElwin Sharvill PROPOSAL
Izzy U FerenczBrazilIvan Magalhaes QUALIFIED
Arvin F SergiBrazilBernardo Dominic UNQUALIFIED
Aika U FollerJapanOnyama Limba UNQUALIFIED
Clifford H StockhamGermanyIoni Bowcher PROPOSAL
Darci O GarufiArgentinaStephen Shaw PROPOSAL
Leon U KuskoItalyIvan Magalhaes NEGOTIATION
Sinclair U GillianItalyIvan Magalhaes PROPOSAL
Costa Z ShinkoIndiaAsiya Javayant QUALIFIED
Aditya G NestleRussiaElwin Sharvill QUALIFIED
Maria L SergiBrazilAmy Elsner UNQUALIFIED
Kadeem T IturbideIndiaBernardo Dominic PROPOSAL
Nicolas B MaletIndiaIoni Bowcher PROPOSAL
Leon S GarufiGermanyBernardo Dominic QUALIFIED
Octavia R IturbideJapanAmy Elsner UNQUALIFIED
Aruna J AlbaresRussiaIoni Bowcher NEW
Munro G KolmetzBrazilAnna Fali UNQUALIFIED
Faith B SergiItalyStephen Shaw PROPOSAL
Silvio Z DilliardGermanyAsiya Javayant PROPOSAL
Tony G WhobreyGermanyAsiya Javayant RENEWAL
Isabel W MaletAustraliaAnna Fali NEW
Juan S RulapaughSpainIoni Bowcher PROPOSAL
Isabel H OldroydRussiaIoni Bowcher UNQUALIFIED
Ivar T BriddickRussiaAsiya Javayant QUALIFIED
Adams G ChuiJapanXuxue Feng RENEWAL
Salvatore H FlosiSpainAnna Fali NEW
Jones K MorascaBrazilAsiya Javayant PROPOSAL
Aditya I SchemmerSpainElwin Sharvill NEW

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