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
Chavez E GarufiFranceXuxue Feng PROPOSAL
Izzy A WaycottFranceElwin Sharvill RENEWAL
Juan J GarufiFranceAsiya Javayant NEGOTIATION
Leja Q CaudyArgentinaXuxue Feng NEW
Leon I NestleGermanyElwin Sharvill NEW
Ricardo O MorascaJapanStephen Shaw NEW
Sinclair N NickaSpainIoni Bowcher RENEWAL
Kaitlin D ButtAustraliaIoni Bowcher QUALIFIED
Aruna D WaycottIndiaAmy Elsner QUALIFIED
Misaki K KuskoCanadaBernardo Dominic NEGOTIATION
Alejandro Z MorascaArgentinaIoni Bowcher PROPOSAL
Leja Y ShinkoJapanStephen Shaw QUALIFIED
Kadeem H PerinCanadaXuxue Feng UNQUALIFIED
Wickens J PoquetteSpainElwin Sharvill NEGOTIATION
Ashley N OldroydCanadaIoni Bowcher NEW
Juan J MorascaArgentinaStephen Shaw NEW
Johnson R CampainUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin J CaudyUnited KingdomElwin Sharvill UNQUALIFIED
Leon J DilliardSpainStephen Shaw UNQUALIFIED
Faith M DoeItalyOnyama Limba NEW
Greenwood R CaudyFranceAnna Fali PROPOSAL
Cody R GarufiFranceStephen Shaw RENEWAL
Clifford S NickaItalyAsiya Javayant UNQUALIFIED
Ivar R MarrierUnited KingdomIvan Magalhaes RENEWAL
Stacey Y GillianGermanyAnna Fali UNQUALIFIED
Tony T IturbideSpainElwin Sharvill UNQUALIFIED
Chavez B InouyeAustraliaElwin Sharvill PROPOSAL
Alejandro D DoeAustraliaOnyama Limba PROPOSAL
Kaitlin P DoeSpainIvan Magalhaes NEGOTIATION
Kaitlin J CampainAustraliaIoni Bowcher RENEWAL
Tony L MaletFranceAmy Elsner RENEWAL
Rodrigues Q PaprockiBrazilIvan Magalhaes RENEWAL
Aruna I IturbideIndiaAmy Elsner PROPOSAL
Darci L WaycottJapanAsiya Javayant NEGOTIATION
Costa U FigeroaSpainIvan Magalhaes UNQUALIFIED
Juan M PaprockiItalyOnyama Limba NEGOTIATION
Clifford W OstroskyItalyIvan Magalhaes RENEWAL
Deepesh C CaudyBrazilAnna Fali RENEWAL
Mayumi C CampainAustraliaBernardo Dominic NEW
Claire H RimIndiaIoni Bowcher PROPOSAL
Jones G OldroydCanadaStephen Shaw RENEWAL
Juan H WhobreyAustraliaIoni Bowcher RENEWAL
Tony N WieserBrazilElwin Sharvill QUALIFIED
Aruna Z MacleadFranceAnna Fali UNQUALIFIED
Darci X CaldareraAustraliaStephen Shaw QUALIFIED
Morrow Q BriddickIndiaIvan Magalhaes QUALIFIED
Cody U FollerArgentinaElwin Sharvill UNQUALIFIED
Ashley W TollnerFranceStephen Shaw PROPOSAL
Sinclair I TollnerFranceXuxue Feng NEW
Emily O BowleyIndiaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams D MacleadItalyStephen Shaw NEW
Faith N MorascaIndiaElwin Sharvill NEGOTIATION
Sinclair E BowleyArgentinaAmy Elsner NEGOTIATION
Faith X CaudyUnited KingdomAmy Elsner PROPOSAL
Aditya T VenereFranceStephen Shaw PROPOSAL
Antonio B CampainUnited KingdomIvan Magalhaes PROPOSAL
Salvatore N ButtCanadaAmy Elsner RENEWAL
Ivar E BologniaAustraliaIvan Magalhaes NEW
Ashley H TollnerArgentinaAmy Elsner PROPOSAL
Johnson B DoeFranceAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi K StockhamGermany2026-06-30King, Christopher A Esq PROPOSAL50Onyama Limba
1001Mujtaba G DilliardCanada2026-07-01Feiner Bros NEGOTIATION54Ivan Magalhaes
1002Deepesh L SaylorsIndia2026-07-02Chapman, Ross E Esq UNQUALIFIED2Ivan Magalhaes
1003Wickens W GarufiCanada2026-06-20Truhlar And Truhlar Attys NEW84Stephen Shaw
1004Ivar I NestleJapan2026-06-16Feiner Bros NEW33Amy Elsner
1005Darci B StensethCanada2026-07-02King, Christopher A Esq NEGOTIATION71Asiya Javayant
1006Faith D OstroskyRussia2026-06-18Rangoni Of Florence RENEWAL65Asiya Javayant
1007Leon R ChuiCanada2026-07-02Benton, John B Jr UNQUALIFIED71Anna Fali
1008Aditya I SchemmerRussia2026-06-25Chanay, Jeffrey A Esq PROPOSAL14Onyama Limba
1009Stacey D WaycottItaly2026-07-08Truhlar And Truhlar Attys NEW66Amy Elsner
1010Jennifer D VenereArgentina2026-07-14Buckley Miller Wright RENEWAL28Elwin Sharvill
1011Johnson A FlosiUnited Kingdom2026-07-12Chemel, James L Cpa RENEWAL4Asiya Javayant
1012Deepesh J MaletJapan2026-07-09King, Christopher A Esq RENEWAL87Amy Elsner
1013Adams L PaprockiIndia2026-07-02Commercial Press PROPOSAL62Elwin Sharvill
1014Aditya K FlosiBrazil2026-07-14Chanay, Jeffrey A Esq NEGOTIATION11Ivan Magalhaes
1015Cody I FerenczUnited Kingdom2026-07-02Morlong Associates RENEWAL8Anna Fali
1016Izzy U FlosiArgentina2026-07-13Truhlar And Truhlar Attys QUALIFIED84Amy Elsner
1017Chavez T PaprockiGermany2026-06-26Chanay, Jeffrey A Esq UNQUALIFIED21Bernardo Dominic
1018Murillo U MaletBrazil2026-06-17Feiner Bros NEW1Ivan Magalhaes
1019Aruna L ChuiSpain2026-06-21Buckley Miller Wright QUALIFIED10Ioni Bowcher
1020Antonio J GarufiJapan2026-06-19Feltz Printing Service PROPOSAL43Anna Fali
1021Greenwood M MaletArgentina2026-06-30Morlong Associates RENEWAL77Ioni Bowcher
1022Ivar D TollnerSpain2026-06-23Chanay, Jeffrey A Esq RENEWAL11Asiya Javayant
1023Aika F FollerRussia2026-06-26Rousseaux, Michael Esq NEGOTIATION41Bernardo Dominic
1024Ashley K ShinkoRussia2026-06-21Benton, John B Jr NEGOTIATION63Asiya Javayant
1025Stacey U OstroskyRussia2026-06-29Printing Dimensions UNQUALIFIED50Xuxue Feng
1026Aditya Q GlickFrance2026-06-23Rangoni Of Florence PROPOSAL15Elwin Sharvill
1027Ricardo D TollnerFrance2026-06-17Commercial Press RENEWAL74Elwin Sharvill
1028Salvatore C MaletRussia2026-07-11Printing Dimensions NEW18Ioni Bowcher
1029James O OstroskyJapan2026-06-16Printing Dimensions QUALIFIED97Bernardo Dominic
1030Munro F MaletSpain2026-07-09Feiner Bros UNQUALIFIED29Anna Fali
1031Francesco F ButtCanada2026-06-22Buckley Miller Wright QUALIFIED59Elwin Sharvill
1032Sinclair C RulapaughUnited Kingdom2026-07-02Chanay, Jeffrey A Esq QUALIFIED19Amy Elsner
1033Octavia Q KolmetzRussia2026-06-30King, Christopher A Esq QUALIFIED3Bernardo Dominic
1034Kaitlin Q NestleSpain2026-06-18Rangoni Of Florence NEGOTIATION96Asiya Javayant
1035Claire G FlosiRussia2026-06-25Chanay, Jeffrey A Esq RENEWAL47Xuxue Feng
1036Aditya H VocelkaCanada2026-06-27Buckley Miller Wright RENEWAL5Ivan Magalhaes
1037Ivar W PerinItaly2026-06-25Buckley Miller Wright QUALIFIED45Onyama Limba
1038Murillo V ShinkoGermany2026-06-16Chanay, Jeffrey A Esq UNQUALIFIED58Asiya Javayant
1039Costa J RoysterItaly2026-06-20Printing Dimensions NEGOTIATION32Xuxue Feng
1040Jones R NickaArgentina2026-06-29Printing Dimensions NEGOTIATION5Ivan Magalhaes
1041Kadeem F PoquetteFrance2026-06-24Rangoni Of Florence NEW7Amy Elsner
1042Faith H ShinkoRussia2026-07-15Truhlar And Truhlar Attys PROPOSAL62Anna Fali
1043Aika C DarakjyItaly2026-07-01Printing Dimensions PROPOSAL54Ioni Bowcher
1044Emily R SlusarskiFrance2026-06-16Commercial Press NEW68Onyama Limba
1045Stacey R MarrierFrance2026-06-20Commercial Press NEGOTIATION9Ivan Magalhaes
1046Jefferson O KuskoCanada2026-07-09Morlong Associates RENEWAL62Ivan Magalhaes
1047Murillo I DarakjyIndia2026-06-22Rangoni Of Florence QUALIFIED34Ivan Magalhaes
1048Wickens L RutaCanada2026-07-04Truhlar And Truhlar Attys NEGOTIATION13Asiya Javayant
1049Faith P WieserSpain2026-07-15Buckley Miller Wright RENEWAL75Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ashley E BowleyArgentinaBernardo Dominic NEGOTIATION
Jones U NestleRussiaAmy Elsner QUALIFIED
Misaki D NickaJapanBernardo Dominic NEW
Silvio F MaletFranceStephen Shaw PROPOSAL
Nicolas H FlosiJapanBernardo Dominic PROPOSAL
Isabel F CampainFranceBernardo Dominic QUALIFIED
Maria V DilliardJapanIoni Bowcher QUALIFIED
Nicolas D DarakjySpainStephen Shaw NEGOTIATION
Alejandro C SchemmerCanadaIoni Bowcher QUALIFIED
Misaki L BologniaJapanAsiya Javayant RENEWAL
Ashley B MarrierCanadaIoni Bowcher UNQUALIFIED
Adams C NestleArgentinaBernardo Dominic UNQUALIFIED
Misaki F FerenczCanadaElwin Sharvill PROPOSAL
Wickens K SaylorsJapanAsiya Javayant RENEWAL
Leja D InouyeJapanAmy Elsner UNQUALIFIED
Antonio S CampainAustraliaElwin Sharvill NEGOTIATION
Chavez R RimFranceOnyama Limba NEW
James V ChuiIndiaAsiya Javayant NEW
Mujtaba D BowleyRussiaIoni Bowcher RENEWAL
Faith L WaycottRussiaXuxue Feng NEGOTIATION
Deepesh W MaletBrazilOnyama Limba QUALIFIED
Antonio R FigeroaSpainAmy Elsner NEW
Silvio O PerinAustraliaAnna Fali NEW
Clifford E PaprockiItalyIoni Bowcher NEGOTIATION
Ashley E IturbideIndiaAsiya Javayant NEW
Morrow J StockhamSpainOnyama Limba UNQUALIFIED
Smith H KuskoGermanyOnyama Limba QUALIFIED
Sinclair J FlosiRussiaAsiya Javayant PROPOSAL
Isabel M FlosiArgentinaIoni Bowcher NEW
Izzy T RimFranceStephen Shaw RENEWAL
Kaitlin P BriddickIndiaElwin Sharvill NEW
Arvin Z BriddickFranceXuxue Feng UNQUALIFIED
Mujtaba V MaletSpainStephen Shaw QUALIFIED
Morrow X StockhamSpainAnna Fali NEGOTIATION
Stacey Q FlosiRussiaAnna Fali PROPOSAL
Jeanfrancois V RimSpainIoni Bowcher NEGOTIATION
Alejandro C FigeroaBrazilAmy Elsner NEW
Maria A CampainRussiaElwin Sharvill PROPOSAL
Stacey Q GlickFranceOnyama Limba NEW
Mayumi H ShinkoUnited KingdomAmy Elsner PROPOSAL
Munro J WieserAustraliaIvan Magalhaes NEW
Antonio D SergiFranceOnyama Limba RENEWAL
Wickens W KolmetzIndiaXuxue Feng NEW
Nicolas B SergiUnited KingdomStephen Shaw UNQUALIFIED
Nicolas E SchemmerFranceXuxue Feng QUALIFIED
Aruna R IturbideJapanAmy Elsner NEW
Sinclair Z FigeroaCanadaStephen Shaw NEGOTIATION
Murillo J GlickItalyXuxue Feng QUALIFIED
Greenwood U DoeArgentinaBernardo Dominic RENEWAL
Julie S WieserCanadaBernardo Dominic QUALIFIED
Frozen Columns
Name
Jeanfrancois E Caudy
Isabel O Briddick
Mujtaba K Ferencz
Nicolas U Marrier
Nicolas Y Rim
Johnson R Iturbide
Kadeem F Figeroa
Murillo L Kolmetz
Jones O Sergi
Deepesh G Oldroyd
Deepesh Q Flosi
Mujtaba K Figeroa
Maria C Darakjy
Izzy F Paprocki
Kaitlin S Nestle
Deepesh O Kolmetz
Aika E Ruta
Salvatore G Stockham
Leja K Venere
Leja N Garufi
Wickens L Doe
Tony R Butt
Leja H Wieser
Emily X Ferencz
Maria N Amigon
Aika H Malet
Faith Z Ruta
Smith I Kusko
Rodrigues A Albares
Isabel V Slusarski
Clifford E Doe
Greenwood N Waycott
Izzy F Ostrosky
Adams Y Garufi
Clifford A Venere
Izzy D Caldarera
Morrow G Caudy
Chavez H Gillian
Smith R Gaucho
Murillo N Stenseth
Maria P Dilliard
Faith J Whobrey
Antonio U Poquette
Murillo W Inouye
Wickens P Poquette
Ashley W Figeroa
Salvatore H Bolognia
Stacey Y Saylors
Alejandro Q Rim
Arvin H Wieser
IdCountryDate
1000Russia2026-06-19
1001Italy2026-07-08
1002United Kingdom2026-06-18
1003France2026-07-11
1004India2026-06-22
1005India2026-07-14
1006India2026-06-22
1007United Kingdom2026-07-09
1008Germany2026-06-19
1009Japan2026-06-21
1010Canada2026-06-25
1011United Kingdom2026-06-29
1012Australia2026-06-16
1013Russia2026-07-01
1014Japan2026-07-07
1015Italy2026-07-02
1016Russia2026-07-04
1017Russia2026-06-22
1018Japan2026-06-18
1019Brazil2026-07-15
1020Italy2026-07-15
1021India2026-06-24
1022Japan2026-07-13
1023Germany2026-06-21
1024France2026-06-29
1025Canada2026-07-11
1026United Kingdom2026-06-23
1027Japan2026-06-23
1028United Kingdom2026-06-25
1029United Kingdom2026-07-10
1030Germany2026-06-21
1031Japan2026-07-14
1032France2026-07-08
1033Russia2026-07-10
1034India2026-07-10
1035Germany2026-06-17
1036India2026-06-30
1037Australia2026-07-03
1038Canada2026-06-24
1039Spain2026-07-04
1040Italy2026-06-30
1041Spain2026-07-02
1042India2026-06-18
1043Japan2026-06-29
1044India2026-06-30
1045India2026-07-05
1046United Kingdom2026-07-12
1047Australia2026-06-25
1048Germany2026-07-04
1049Germany2026-07-08

On-Demand Data

NameIdCountryDate
Arvin K Kolmetz1000France2026-07-03
Maisha E Malet1001United Kingdom2026-06-26
Julie F Saylors1002India2026-06-27
Antonio P Royster1003Russia2026-06-18
Morrow Y Whobrey1004Germany2026-06-17
Arvin U Paprocki1005India2026-06-18
Aditya K Shinko1006Spain2026-06-26
David D Stockham1007Japan2026-07-14
Ashley T Kolmetz1008United Kingdom2026-06-17
Murillo L Butt1009India2026-07-12
Clifford A Garufi1010Russia2026-07-14
Octavia L Vocelka1011Australia2026-06-16
Alejandro V Albares1012Russia2026-06-20
Juan F Schemmer1013United Kingdom2026-07-08
David Z Royster1014Argentina2026-06-29
Jennifer K Albares1015United Kingdom2026-06-27
Deepesh J Foller1016United Kingdom2026-06-17
Wickens K Waycott1017Japan2026-07-04
Maria O Inouye1018United Kingdom2026-07-04
Kadeem E Slusarski1019Russia2026-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues A NestleBrazilIvan Magalhaes PROPOSAL
Faith I VenereUnited KingdomOnyama Limba QUALIFIED
Faith P GarufiJapanIvan Magalhaes UNQUALIFIED
Mayumi L MaletRussiaIoni Bowcher RENEWAL
Ivar Z BowleyIndiaAnna Fali NEGOTIATION
Morrow J MarrierSpainAsiya Javayant RENEWAL
Izzy H BriddickRussiaAmy Elsner UNQUALIFIED
Smith G GarufiCanadaIoni Bowcher NEW
Jones V OstroskyItalyIvan Magalhaes NEGOTIATION
Mujtaba F WhobreyIndiaAnna Fali RENEWAL
Aruna S TollnerSpainIvan Magalhaes UNQUALIFIED
Izzy T SergiUnited KingdomIoni Bowcher QUALIFIED
Jennifer Q NestleJapanAnna Fali QUALIFIED
Emily H WieserJapanXuxue Feng UNQUALIFIED
Misaki T MacleadCanadaAmy Elsner UNQUALIFIED
Maria A MaletCanadaAnna Fali PROPOSAL
Faith A PaprockiRussiaXuxue Feng NEW
Smith E MorascaCanadaIvan Magalhaes QUALIFIED
Maria D MaletArgentinaIvan Magalhaes RENEWAL
Adams D GillianJapanElwin Sharvill QUALIFIED
Jennifer V PaprockiGermanyStephen Shaw UNQUALIFIED
Jeanfrancois M OldroydItalyAnna Fali NEGOTIATION
Wickens F MaletRussiaIvan Magalhaes RENEWAL
Emily B VenereIndiaIoni Bowcher RENEWAL
Munro E SaylorsSpainStephen Shaw PROPOSAL
Jennifer J RutaUnited KingdomAmy Elsner PROPOSAL
Morrow C OldroydIndiaElwin Sharvill QUALIFIED
Darci H ChuiGermanyStephen Shaw NEW
Deepesh B GillianSpainElwin Sharvill UNQUALIFIED
Leja M WhobreyAustraliaElwin Sharvill UNQUALIFIED
Ashley X MaletIndiaIoni Bowcher RENEWAL
Aika Q MarrierItalyAsiya Javayant UNQUALIFIED
Kadeem Z CaudyCanadaAmy Elsner NEGOTIATION
James A SchemmerSpainIoni Bowcher QUALIFIED
Chavez Z VocelkaGermanyAsiya Javayant NEGOTIATION
Sinclair P NestleItalyStephen Shaw UNQUALIFIED
Tony V MacleadGermanyAsiya Javayant PROPOSAL
Misaki H PerinAustraliaStephen Shaw NEGOTIATION
Aika L VenereJapanIoni Bowcher QUALIFIED
Octavia K RoysterAustraliaBernardo Dominic 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>