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
Isabel T BriddickJapanXuxue Feng RENEWAL
Faith U SaylorsFranceXuxue Feng NEGOTIATION
Chavez S FollerFranceOnyama Limba NEW
Arvin M DilliardCanadaIoni Bowcher NEW
Aditya W ChuiArgentinaBernardo Dominic PROPOSAL
Johnson Q StockhamFranceBernardo Dominic NEW
Murillo X AlbaresSpainAsiya Javayant RENEWAL
Clifford B CaldareraRussiaStephen Shaw NEW
Sinclair D RoysterAustraliaOnyama Limba UNQUALIFIED
Jefferson D CaldareraRussiaXuxue Feng RENEWAL
Jeanfrancois O MacleadArgentinaBernardo Dominic UNQUALIFIED
Aruna O PerinGermanyAsiya Javayant UNQUALIFIED
Smith Z FerenczGermanyXuxue Feng PROPOSAL
Kadeem D DilliardItalyOnyama Limba NEGOTIATION
Jones B GillianArgentinaBernardo Dominic NEGOTIATION
Greenwood X CampainBrazilAnna Fali NEGOTIATION
Sinclair X FigeroaItalyIvan Magalhaes NEGOTIATION
Mujtaba U NickaJapanOnyama Limba NEGOTIATION
Wickens U CampainGermanyXuxue Feng UNQUALIFIED
Deepesh A ShinkoSpainAnna Fali NEGOTIATION
Murillo S WhobreyAustraliaElwin Sharvill QUALIFIED
Murillo P WaycottAustraliaStephen Shaw NEW
Julie P MarrierBrazilElwin Sharvill PROPOSAL
Tony Q ShinkoSpainOnyama Limba NEGOTIATION
Aruna Q GarufiRussiaAnna Fali UNQUALIFIED
Munro G FigeroaArgentinaOnyama Limba QUALIFIED
Darci J SchemmerJapanIvan Magalhaes PROPOSAL
Wickens U SlusarskiAustraliaAnna Fali UNQUALIFIED
Sinclair S BowleyBrazilElwin Sharvill NEW
Jefferson W CampainUnited KingdomElwin Sharvill PROPOSAL
Murillo J KuskoJapanXuxue Feng UNQUALIFIED
Tony B VocelkaRussiaBernardo Dominic NEW
Rodrigues Q MacleadGermanyIvan Magalhaes NEW
Alejandro T BriddickRussiaElwin Sharvill NEGOTIATION
Stacey Y WaycottAustraliaXuxue Feng UNQUALIFIED
Ashley Z WaycottUnited KingdomElwin Sharvill NEW
Faith X RoysterRussiaStephen Shaw QUALIFIED
Tony R GauchoCanadaStephen Shaw PROPOSAL
Cody A NestleRussiaOnyama Limba UNQUALIFIED
Rodrigues Y MaletAustraliaIoni Bowcher QUALIFIED
Clifford F PaprockiUnited KingdomAsiya Javayant PROPOSAL
Ricardo R VocelkaAustraliaAnna Fali UNQUALIFIED
Tony D SergiAustraliaStephen Shaw UNQUALIFIED
Jennifer L MaletUnited KingdomIvan Magalhaes RENEWAL
Clifford K BowleyRussiaOnyama Limba NEW
Darci O MorascaIndiaAnna Fali UNQUALIFIED
Leon L VocelkaGermanyStephen Shaw UNQUALIFIED
Aditya L MarrierAustraliaElwin Sharvill NEW
Stacey A TollnerSpainOnyama Limba QUALIFIED
Smith F DilliardSpainAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Misaki F AmigonFranceAnna Fali RENEWAL
Johnson M CaldareraBrazilElwin Sharvill PROPOSAL
Ashley G DilliardBrazilIvan Magalhaes UNQUALIFIED
Arvin M MacleadSpainAnna Fali RENEWAL
Jones K GauchoUnited KingdomStephen Shaw NEW
Maria H PerinSpainBernardo Dominic NEW
Murillo D BriddickRussiaXuxue Feng NEW
Ivar E FerenczCanadaOnyama Limba NEGOTIATION
Deepesh R StensethItalyStephen Shaw UNQUALIFIED
Tony Z IturbideRussiaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria B CaudyArgentina2026-08-24Buckley Miller Wright QUALIFIED31Amy Elsner
1001Juan R NickaGermany2026-08-09Benton, John B Jr QUALIFIED3Stephen Shaw
1002Stacey S DarakjySpain2026-08-04Buckley Miller Wright NEW93Stephen Shaw
1003Octavia F PerinIndia2026-08-02Feltz Printing Service PROPOSAL79Bernardo Dominic
1004Morrow E ChuiSpain2026-08-01Commercial Press PROPOSAL84Stephen Shaw
1005Julie R RulapaughAustralia2026-08-18Dorl, James J Esq NEGOTIATION56Onyama Limba
1006Leja B InouyeSpain2026-07-31Feltz Printing Service NEGOTIATION56Asiya Javayant
1007David L VocelkaRussia2026-08-21Chapman, Ross E Esq RENEWAL53Onyama Limba
1008Rodrigues I StockhamAustralia2026-08-29Truhlar And Truhlar Attys PROPOSAL54Elwin Sharvill
1009Antonio Y MacleadSpain2026-08-02King, Christopher A Esq PROPOSAL34Xuxue Feng
1010Mayumi L AmigonBrazil2026-08-21King, Christopher A Esq QUALIFIED83Ivan Magalhaes
1011Kaitlin H PaprockiGermany2026-08-04Printing Dimensions PROPOSAL73Ivan Magalhaes
1012Aruna V MaletFrance2026-08-16Rangoni Of Florence NEW13Elwin Sharvill
1013Munro S WaycottGermany2026-08-07King, Christopher A Esq NEW11Xuxue Feng
1014Ricardo Y KuskoIndia2026-08-19Commercial Press PROPOSAL79Ioni Bowcher
1015Kadeem O MacleadFrance2026-08-29Chapman, Ross E Esq UNQUALIFIED50Elwin Sharvill
1016Faith C NestleCanada2026-08-27Morlong Associates QUALIFIED31Anna Fali
1017Darci C ShinkoRussia2026-08-27Buckley Miller Wright RENEWAL20Xuxue Feng
1018Sinclair O TollnerArgentina2026-08-10Chapman, Ross E Esq QUALIFIED4Ivan Magalhaes
1019Leon J FollerArgentina2026-08-09Dorl, James J Esq NEW20Xuxue Feng
1020Nicolas A TollnerArgentina2026-08-26Rousseaux, Michael Esq PROPOSAL60Anna Fali
1021Wickens Z PaprockiBrazil2026-08-25Printing Dimensions PROPOSAL2Onyama Limba
1022Isabel B WhobreyAustralia2026-08-18Commercial Press QUALIFIED95Xuxue Feng
1023Ricardo D PaprockiArgentina2026-08-05Chanay, Jeffrey A Esq NEW42Anna Fali
1024Leon C KuskoFrance2026-08-05Chapman, Ross E Esq PROPOSAL74Ivan Magalhaes
1025Antonio W DarakjyIndia2026-08-28Chapman, Ross E Esq NEW4Anna Fali
1026Ashley Q MarrierBrazil2026-08-11Morlong Associates UNQUALIFIED18Bernardo Dominic
1027Julie N DilliardRussia2026-08-09Chanay, Jeffrey A Esq QUALIFIED7Asiya Javayant
1028Leja X OldroydItaly2026-08-26Chemel, James L Cpa QUALIFIED73Stephen Shaw
1029Darci J DoeUnited Kingdom2026-08-24Morlong Associates UNQUALIFIED63Onyama Limba
1030Darci F OldroydUnited Kingdom2026-08-18Chemel, James L Cpa UNQUALIFIED51Onyama Limba
1031Nicolas Z GlickCanada2026-08-27Dorl, James J Esq UNQUALIFIED58Anna Fali
1032Faith D GlickCanada2026-08-25Benton, John B Jr RENEWAL49Bernardo Dominic
1033Misaki K BologniaBrazil2026-08-22Dorl, James J Esq NEW14Stephen Shaw
1034Darci N WhobreyBrazil2026-08-10Commercial Press UNQUALIFIED92Xuxue Feng
1035Cody T MarrierArgentina2026-08-10Chapman, Ross E Esq PROPOSAL97Bernardo Dominic
1036Mayumi F CampainSpain2026-08-21Feltz Printing Service NEGOTIATION27Xuxue Feng
1037Faith H GarufiIndia2026-08-18Feiner Bros QUALIFIED7Ioni Bowcher
1038Jefferson T NickaArgentina2026-08-01Printing Dimensions NEGOTIATION27Ivan Magalhaes
1039Jones D KolmetzSpain2026-08-03Buckley Miller Wright NEW0Bernardo Dominic
1040Morrow K GlickBrazil2026-08-27Chanay, Jeffrey A Esq PROPOSAL62Onyama Limba
1041Juan X GauchoJapan2026-08-08Chanay, Jeffrey A Esq NEW83Xuxue Feng
1042Cody O GillianJapan2026-08-19Feltz Printing Service RENEWAL66Elwin Sharvill
1043Kaitlin X MaletSpain2026-08-20Rousseaux, Michael Esq RENEWAL98Asiya Javayant
1044Alejandro G StockhamAustralia2026-08-02Dorl, James J Esq RENEWAL28Amy Elsner
1045Deepesh G MaletFrance2026-08-05Chemel, James L Cpa RENEWAL9Anna Fali
1046Izzy W BriddickGermany2026-08-10Chanay, Jeffrey A Esq PROPOSAL45Stephen Shaw
1047Wickens I FlosiItaly2026-08-22Rousseaux, Michael Esq QUALIFIED2Ioni Bowcher
1048Misaki I BologniaRussia2026-08-01Chapman, Ross E Esq QUALIFIED69Ioni Bowcher
1049Juan X MorascaJapan2026-08-25Printing Dimensions QUALIFIED96Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Cody Y OstroskyFranceOnyama Limba NEGOTIATION
Misaki P DarakjyAustraliaXuxue Feng RENEWAL
Jones C OldroydFranceElwin Sharvill UNQUALIFIED
Maisha G WhobreyCanadaStephen Shaw QUALIFIED
Ricardo I RulapaughSpainBernardo Dominic QUALIFIED
Misaki N CampainItalyElwin Sharvill UNQUALIFIED
Mayumi R BologniaRussiaStephen Shaw QUALIFIED
Kadeem G BowleySpainAnna Fali PROPOSAL
Alejandro V MorascaGermanyBernardo Dominic UNQUALIFIED
Clifford N FollerBrazilAnna Fali NEW
Chavez Q VenereBrazilOnyama Limba NEW
Leja H AlbaresJapanOnyama Limba QUALIFIED
Morrow O TollnerSpainAmy Elsner QUALIFIED
Claire A BologniaRussiaAsiya Javayant RENEWAL
Ivar R GarufiIndiaAnna Fali PROPOSAL
Isabel V GarufiArgentinaBernardo Dominic NEW
Kaitlin S CampainJapanXuxue Feng NEW
Francesco F ShinkoIndiaStephen Shaw QUALIFIED
Jennifer T WaycottAustraliaAmy Elsner QUALIFIED
Munro Z AmigonFranceBernardo Dominic PROPOSAL
Greenwood S DarakjyBrazilXuxue Feng UNQUALIFIED
Aditya A TollnerRussiaBernardo Dominic RENEWAL
Clifford G RoysterCanadaAnna Fali PROPOSAL
Alejandro I RulapaughIndiaXuxue Feng UNQUALIFIED
Leja F PerinGermanyIvan Magalhaes PROPOSAL
Mujtaba D MorascaFranceXuxue Feng NEGOTIATION
Kaitlin O MarrierJapanIvan Magalhaes RENEWAL
Alejandro V ChuiIndiaAsiya Javayant QUALIFIED
Nicolas X WaycottUnited KingdomAnna Fali NEGOTIATION
Chavez T DarakjyItalyElwin Sharvill QUALIFIED
Nicolas W TollnerAustraliaElwin Sharvill UNQUALIFIED
Jefferson G AlbaresBrazilAmy Elsner NEGOTIATION
Maisha G IturbideJapanIoni Bowcher PROPOSAL
Adams W VenereRussiaAnna Fali RENEWAL
Francesco F WieserSpainIvan Magalhaes QUALIFIED
James G MarrierIndiaElwin Sharvill QUALIFIED
Leon E FollerCanadaStephen Shaw UNQUALIFIED
Nicolas K OldroydBrazilAsiya Javayant RENEWAL
David X RoysterItalyAnna Fali PROPOSAL
Chavez T ButtItalyStephen Shaw NEW
Sinclair H AlbaresSpainIoni Bowcher PROPOSAL
Antonio P ChuiJapanIoni Bowcher NEW
Munro V VenereUnited KingdomXuxue Feng RENEWAL
Francesco U MaletRussiaAsiya Javayant NEW
Wickens Y WaycottArgentinaAmy Elsner NEGOTIATION
Misaki T OldroydUnited KingdomAmy Elsner PROPOSAL
Kadeem U MaletSpainAmy Elsner UNQUALIFIED
Silvio T NestleCanadaAnna Fali QUALIFIED
Kadeem P VenereJapanOnyama Limba QUALIFIED
Darci U NestleBrazilIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Alejandro P Schemmer
Mayumi D Malet
Emily P Paprocki
Clifford T Nicka
Tony R Royster
Johnson N Maclead
Maisha B Briddick
Deepesh T Campain
Octavia H Bowley
Claire K Caudy
Misaki V Vocelka
Izzy B Ruta
Clifford H Briddick
Ivar R Rim
David Y Royster
James E Rim
Maisha T Campain
Maisha R Ostrosky
Johnson U Ostrosky
Johnson K Amigon
Antonio T Glick
Darci E Flosi
Sinclair L Malet
Aditya Y Chui
Octavia Q Tollner
Ricardo Q Wieser
Ashley W Amigon
Antonio W Malet
Kaitlin G Paprocki
Leon Z Figeroa
Antonio W Glick
Maisha B Bolognia
Claire E Schemmer
Kadeem Z Malet
Jones G Kusko
Maisha V Waycott
Francesco M Foller
Juan L Chui
Leja Q Albares
Leja M Slusarski
Jennifer H Inouye
Murillo D Caudy
Mujtaba U Iturbide
Jennifer T Albares
Mujtaba Z Malet
Cody U Flosi
Ricardo D Sergi
Morrow H Campain
Leja D Bolognia
Nicolas Z Marrier
IdCountryDate
1000Spain2026-08-08
1001Australia2026-08-11
1002United Kingdom2026-08-21
1003United Kingdom2026-08-13
1004Canada2026-08-17
1005Brazil2026-08-04
1006United Kingdom2026-08-11
1007Germany2026-08-03
1008Argentina2026-08-24
1009India2026-08-15
1010Spain2026-08-10
1011Italy2026-08-28
1012Canada2026-08-06
1013Argentina2026-08-05
1014Russia2026-08-01
1015Australia2026-08-09
1016Australia2026-08-02
1017Germany2026-08-12
1018Germany2026-07-31
1019Argentina2026-08-08
1020Brazil2026-08-21
1021United Kingdom2026-08-28
1022United Kingdom2026-08-27
1023Germany2026-08-16
1024Australia2026-08-15
1025Australia2026-08-06
1026Argentina2026-08-13
1027United Kingdom2026-08-03
1028Italy2026-08-27
1029Argentina2026-08-19
1030France2026-08-14
1031Canada2026-08-03
1032Brazil2026-07-31
1033Canada2026-08-07
1034France2026-08-26
1035Australia2026-08-21
1036India2026-08-18
1037United Kingdom2026-08-27
1038United Kingdom2026-08-17
1039Australia2026-08-14
1040France2026-08-01
1041Japan2026-08-11
1042Germany2026-08-24
1043United Kingdom2026-08-27
1044Argentina2026-08-20
1045United Kingdom2026-08-23
1046United Kingdom2026-08-21
1047India2026-08-04
1048Spain2026-08-15
1049Brazil2026-08-19

On-Demand Data

NameIdCountryDate
Kadeem G Poquette1000Germany2026-08-09
Maisha E Doe1001United Kingdom2026-08-14
Chavez K Butt1002Italy2026-08-12
Costa I Stenseth1003India2026-08-13
Faith T Albares1004France2026-08-28
Sinclair Y Stockham1005Germany2026-08-25
Deepesh G Venere1006Germany2026-08-10
James T Morasca1007Brazil2026-08-07
Octavia Q Ferencz1008Russia2026-08-03
Cody K Nestle1009Germany2026-08-10
Alejandro Y Malet1010Brazil2026-08-27
Kaitlin I Dilliard1011India2026-08-24
Mujtaba O Bowley1012Australia2026-08-02
Misaki Y Stenseth1013Brazil2026-08-15
Adams A Malet1014Brazil2026-08-28
Faith B Waycott1015Germany2026-08-20
Adams R Schemmer1016United Kingdom2026-08-11
Cody A Glick1017Brazil2026-08-23
Antonio J Whobrey1018Japan2026-08-13
Jefferson O Iturbide1019United Kingdom2026-08-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo K FigeroaIndiaElwin Sharvill NEGOTIATION
Greenwood H PoquetteGermanyStephen Shaw RENEWAL
Isabel V CampainAustraliaIvan Magalhaes NEW
Misaki A OstroskyJapanXuxue Feng RENEWAL
Ricardo N CaldareraJapanAnna Fali NEW
Aditya R AmigonBrazilIvan Magalhaes UNQUALIFIED
Octavia N SchemmerSpainAnna Fali RENEWAL
Octavia N OstroskyRussiaOnyama Limba RENEWAL
Morrow R GauchoRussiaIvan Magalhaes UNQUALIFIED
Isabel Z VocelkaJapanAmy Elsner NEGOTIATION
Arvin L GlickJapanAsiya Javayant NEW
Octavia B InouyeItalyXuxue Feng RENEWAL
Rodrigues M MarrierSpainIoni Bowcher UNQUALIFIED
Munro Q DarakjyUnited KingdomElwin Sharvill RENEWAL
Kaitlin S FerenczRussiaAsiya Javayant UNQUALIFIED
Kadeem U MarrierFranceIvan Magalhaes NEGOTIATION
Tony T WhobreyIndiaStephen Shaw PROPOSAL
Ivar P StensethJapanAmy Elsner PROPOSAL
Ricardo U FigeroaArgentinaIoni Bowcher QUALIFIED
David V FigeroaJapanBernardo Dominic UNQUALIFIED
Ricardo B DarakjyBrazilOnyama Limba PROPOSAL
Johnson G FlosiArgentinaIoni Bowcher QUALIFIED
Stacey I WieserArgentinaAsiya Javayant NEW
Stacey W TollnerAustraliaAsiya Javayant QUALIFIED
Jeanfrancois A NickaCanadaOnyama Limba QUALIFIED
Juan R MarrierRussiaXuxue Feng NEW
Greenwood V RutaJapanAsiya Javayant RENEWAL
Cody F MorascaUnited KingdomElwin Sharvill RENEWAL
Claire T GillianUnited KingdomElwin Sharvill RENEWAL
Jeanfrancois I SchemmerIndiaAmy Elsner NEGOTIATION
Johnson E MaletItalyAsiya Javayant RENEWAL
Jeanfrancois R DilliardIndiaIoni Bowcher PROPOSAL
Emily F WieserBrazilAmy Elsner RENEWAL
Cody S RimCanadaAmy Elsner QUALIFIED
Cody F BriddickFranceAsiya Javayant RENEWAL
Darci F KuskoJapanOnyama Limba QUALIFIED
Silvio O BriddickSpainBernardo Dominic NEGOTIATION
Aditya C GillianIndiaElwin Sharvill RENEWAL
Costa F OstroskyCanadaAsiya Javayant NEW
Morrow W BowleyBrazilIoni Bowcher 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>