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
Maria U RulapaughSpainAnna Fali RENEWAL
Clifford T MaletGermanyBernardo Dominic PROPOSAL
Izzy K StensethCanadaXuxue Feng NEGOTIATION
Izzy C RulapaughIndiaElwin Sharvill QUALIFIED
Mayumi A SaylorsIndiaAnna Fali NEGOTIATION
Leon W TollnerJapanAnna Fali QUALIFIED
James J SaylorsFranceAnna Fali PROPOSAL
Aruna S MacleadIndiaAnna Fali QUALIFIED
Maisha D ButtItalyIvan Magalhaes RENEWAL
Kaitlin F BowleySpainIoni Bowcher QUALIFIED
Alejandro W FerenczRussiaAnna Fali NEW
Smith V WhobreyIndiaOnyama Limba UNQUALIFIED
Octavia Z StockhamBrazilIvan Magalhaes UNQUALIFIED
Mayumi D DilliardUnited KingdomAmy Elsner RENEWAL
Aika M StensethCanadaOnyama Limba NEW
Wickens U RimFranceOnyama Limba RENEWAL
Stacey M MacleadCanadaBernardo Dominic NEGOTIATION
Ricardo P MorascaSpainStephen Shaw RENEWAL
Jennifer Z CaldareraRussiaAsiya Javayant PROPOSAL
Darci P OstroskySpainXuxue Feng NEW
Johnson B RoysterGermanyAnna Fali RENEWAL
Clifford Q WhobreyFranceBernardo Dominic RENEWAL
Aditya F DoeJapanBernardo Dominic RENEWAL
Ashley O FlosiBrazilIvan Magalhaes PROPOSAL
Alejandro M GauchoArgentinaAmy Elsner PROPOSAL
Aruna X CaudyItalyOnyama Limba QUALIFIED
Mayumi I GlickAustraliaXuxue Feng UNQUALIFIED
Aika Y StensethCanadaElwin Sharvill UNQUALIFIED
Adams D MaletSpainIvan Magalhaes QUALIFIED
Costa E RimIndiaIoni Bowcher NEGOTIATION
Jefferson S SchemmerGermanyAsiya Javayant QUALIFIED
Silvio O ButtFranceOnyama Limba PROPOSAL
Alejandro O MorascaFranceIoni Bowcher RENEWAL
Nicolas R PoquetteRussiaXuxue Feng QUALIFIED
Alejandro X SchemmerAustraliaElwin Sharvill NEGOTIATION
David J NestleAustraliaAmy Elsner RENEWAL
Costa X BriddickCanadaAmy Elsner UNQUALIFIED
Chavez V IturbideGermanyElwin Sharvill UNQUALIFIED
Wickens I RimCanadaAnna Fali UNQUALIFIED
Jefferson T FerenczIndiaXuxue Feng NEGOTIATION
Chavez L StockhamJapanOnyama Limba PROPOSAL
Cody E NestleAustraliaAmy Elsner UNQUALIFIED
Stacey A GlickJapanStephen Shaw NEGOTIATION
Johnson G VenereAustraliaIvan Magalhaes UNQUALIFIED
Ivar D RimAustraliaAmy Elsner NEW
James D CaldareraUnited KingdomOnyama Limba UNQUALIFIED
Maria C FollerSpainStephen Shaw QUALIFIED
Julie G MacleadCanadaStephen Shaw UNQUALIFIED
Sinclair O InouyeCanadaStephen Shaw QUALIFIED
Rodrigues C DarakjyRussiaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Johnson A AlbaresUnited KingdomBernardo Dominic NEW
Misaki U SaylorsIndiaIoni Bowcher UNQUALIFIED
Antonio E VocelkaBrazilAmy Elsner NEW
Smith K MarrierItalyElwin Sharvill NEGOTIATION
Leon I BologniaRussiaAmy Elsner PROPOSAL
Jefferson S MorascaSpainStephen Shaw UNQUALIFIED
Jones W NickaGermanyAmy Elsner NEGOTIATION
Misaki D MorascaJapanOnyama Limba NEW
Julie U PerinIndiaAmy Elsner NEGOTIATION
Murillo V FollerRussiaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair X KolmetzJapan2024-05-27Buckley Miller Wright NEGOTIATION87Elwin Sharvill
1001Faith I BriddickJapan2024-05-17King, Christopher A Esq NEW38Bernardo Dominic
1002Alejandro V AmigonRussia2024-05-24Morlong Associates UNQUALIFIED91Elwin Sharvill
1003Arvin B GarufiRussia2024-05-25Feiner Bros NEW1Ioni Bowcher
1004James Y StockhamFrance2024-06-04Feltz Printing Service PROPOSAL12Elwin Sharvill
1005Octavia L WhobreySpain2024-05-21King, Christopher A Esq NEGOTIATION43Onyama Limba
1006Faith N KuskoBrazil2024-05-23Buckley Miller Wright PROPOSAL95Elwin Sharvill
1007Claire Y TollnerFrance2024-06-11Feiner Bros NEW45Ivan Magalhaes
1008Juan L DilliardFrance2024-06-04Rousseaux, Michael Esq UNQUALIFIED36Ivan Magalhaes
1009Rodrigues R IturbideRussia2024-05-25Rangoni Of Florence PROPOSAL60Stephen Shaw
1010James P StensethJapan2024-05-19Feiner Bros NEGOTIATION58Ivan Magalhaes
1011Morrow T MaletSpain2024-05-22Commercial Press PROPOSAL44Amy Elsner
1012Johnson C VocelkaItaly2024-05-19King, Christopher A Esq NEW53Stephen Shaw
1013Maria U RulapaughAustralia2024-06-12Benton, John B Jr PROPOSAL40Elwin Sharvill
1014Costa Z OldroydIndia2024-06-13Truhlar And Truhlar Attys NEGOTIATION53Elwin Sharvill
1015Salvatore G RoysterUnited Kingdom2024-05-20Buckley Miller Wright NEGOTIATION94Asiya Javayant
1016Misaki N OstroskyFrance2024-06-08Feiner Bros QUALIFIED9Ivan Magalhaes
1017Murillo M IturbideUnited Kingdom2024-05-31Rangoni Of Florence NEW42Ioni Bowcher
1018Tony T WaycottItaly2024-06-03Feltz Printing Service PROPOSAL63Amy Elsner
1019Octavia Q GlickRussia2024-05-24Chemel, James L Cpa UNQUALIFIED94Bernardo Dominic
1020Ricardo E IturbideItaly2024-05-27Truhlar And Truhlar Attys QUALIFIED24Amy Elsner
1021Morrow S SergiFrance2024-05-19Morlong Associates QUALIFIED60Anna Fali
1022Ricardo Z KolmetzCanada2024-05-27Feiner Bros PROPOSAL6Onyama Limba
1023Aika D CaldareraBrazil2024-05-26Truhlar And Truhlar Attys QUALIFIED37Onyama Limba
1024Ashley I AmigonArgentina2024-05-30Benton, John B Jr RENEWAL15Elwin Sharvill
1025Smith J ShinkoGermany2024-05-25Truhlar And Truhlar Attys NEW98Elwin Sharvill
1026Munro H RutaSpain2024-05-28Chapman, Ross E Esq NEGOTIATION68Elwin Sharvill
1027Aruna Z FollerArgentina2024-05-20Commercial Press UNQUALIFIED52Ivan Magalhaes
1028Salvatore I SchemmerGermany2024-05-24Commercial Press NEW75Ivan Magalhaes
1029Smith U WieserAustralia2024-05-19Feiner Bros NEW19Amy Elsner
1030Chavez D PoquetteIndia2024-05-22Buckley Miller Wright UNQUALIFIED27Xuxue Feng
1031Mujtaba P FigeroaArgentina2024-05-24Rangoni Of Florence UNQUALIFIED96Xuxue Feng
1032Kadeem D KuskoArgentina2024-06-02Feltz Printing Service UNQUALIFIED2Elwin Sharvill
1033Morrow P OstroskyBrazil2024-05-21Truhlar And Truhlar Attys QUALIFIED27Asiya Javayant
1034Rodrigues A MacleadFrance2024-06-13King, Christopher A Esq NEW92Anna Fali
1035Isabel R SaylorsGermany2024-06-12Rousseaux, Michael Esq NEGOTIATION73Asiya Javayant
1036Ivar I MorascaUnited Kingdom2024-06-11Chapman, Ross E Esq PROPOSAL94Ivan Magalhaes
1037Leon Q CaldareraIndia2024-06-09Printing Dimensions NEW80Onyama Limba
1038Jennifer T FlosiBrazil2024-06-10Benton, John B Jr PROPOSAL90Anna Fali
1039David M BowleyUnited Kingdom2024-05-15Dorl, James J Esq NEW70Xuxue Feng
1040James C NickaGermany2024-05-29Chemel, James L Cpa PROPOSAL50Ivan Magalhaes
1041Mayumi B BriddickJapan2024-06-09Chapman, Ross E Esq NEGOTIATION74Amy Elsner
1042Silvio C MacleadGermany2024-05-27Morlong Associates UNQUALIFIED9Ioni Bowcher
1043Greenwood N TollnerSpain2024-06-05Benton, John B Jr RENEWAL26Stephen Shaw
1044Rodrigues G PoquetteFrance2024-05-17Rangoni Of Florence NEW58Ivan Magalhaes
1045Ivar Z PoquetteCanada2024-06-04Buckley Miller Wright NEW60Asiya Javayant
1046Octavia T FollerBrazil2024-05-15King, Christopher A Esq NEW59Onyama Limba
1047Jeanfrancois Y PaprockiFrance2024-05-29Morlong Associates NEW38Amy Elsner
1048Francesco F SlusarskiItaly2024-06-06Dorl, James J Esq NEGOTIATION38Xuxue Feng
1049Antonio N SaylorsBrazil2024-05-21Chanay, Jeffrey A Esq RENEWAL67Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Isabel E GauchoAustraliaOnyama Limba UNQUALIFIED
Octavia P BowleyAustraliaOnyama Limba PROPOSAL
Leon F DarakjyJapanAnna Fali QUALIFIED
Francesco D OldroydUnited KingdomElwin Sharvill QUALIFIED
Adams G ChuiBrazilElwin Sharvill PROPOSAL
Greenwood Q SaylorsRussiaIvan Magalhaes NEW
Costa D GillianUnited KingdomAnna Fali PROPOSAL
Johnson A SaylorsFranceAnna Fali NEGOTIATION
Jones B VenereItalyAnna Fali QUALIFIED
Deepesh Y WieserJapanElwin Sharvill NEGOTIATION
Munro T StockhamCanadaOnyama Limba QUALIFIED
Stacey O FollerSpainAnna Fali RENEWAL
Murillo Y ChuiIndiaXuxue Feng NEW
Aditya M MorascaFranceAnna Fali PROPOSAL
Adams R StensethGermanyOnyama Limba PROPOSAL
Jefferson O WieserBrazilAsiya Javayant NEW
Ricardo E GarufiBrazilOnyama Limba NEGOTIATION
Deepesh B SlusarskiItalyElwin Sharvill QUALIFIED
Rodrigues C BowleySpainOnyama Limba NEW
Chavez W GauchoUnited KingdomOnyama Limba NEGOTIATION
Wickens F ChuiFranceBernardo Dominic NEW
Nicolas B PerinJapanXuxue Feng NEW
Maria W VocelkaBrazilAmy Elsner PROPOSAL
Adams H MacleadCanadaStephen Shaw NEW
Jeanfrancois V WhobreyCanadaAsiya Javayant PROPOSAL
Nicolas L StockhamAustraliaElwin Sharvill UNQUALIFIED
Wickens H SergiSpainOnyama Limba RENEWAL
Wickens M BowleySpainElwin Sharvill QUALIFIED
Rodrigues C AmigonArgentinaStephen Shaw NEGOTIATION
Johnson S CampainBrazilElwin Sharvill QUALIFIED
Octavia I AlbaresItalyAnna Fali NEW
Juan X RoysterBrazilBernardo Dominic NEW
Ivar I SlusarskiBrazilOnyama Limba PROPOSAL
David W PaprockiJapanIoni Bowcher RENEWAL
Ivar W GlickFranceBernardo Dominic NEGOTIATION
David Y WieserSpainOnyama Limba NEW
Rodrigues W NickaRussiaBernardo Dominic NEW
Silvio Z InouyeArgentinaBernardo Dominic UNQUALIFIED
Cody E GillianGermanyElwin Sharvill PROPOSAL
Rodrigues P DoeSpainBernardo Dominic NEW
Claire Z WaycottRussiaIoni Bowcher NEGOTIATION
Octavia D MaletJapanStephen Shaw PROPOSAL
Stacey A SergiGermanyElwin Sharvill UNQUALIFIED
Mayumi K KolmetzFranceOnyama Limba NEW
Cody V RutaFranceBernardo Dominic NEW
Izzy N CaudyBrazilOnyama Limba UNQUALIFIED
Johnson C PerinGermanyBernardo Dominic NEW
Nicolas A RimFranceOnyama Limba NEGOTIATION
Misaki Z MaletUnited KingdomIoni Bowcher NEW
Cody L MaletAustraliaOnyama Limba RENEWAL
Frozen Columns
Name
Misaki C Whobrey
Aditya R Doe
Tony C Albares
David C Garufi
Juan K Maclead
Adams O Ferencz
Clifford V Kolmetz
Ricardo D Morasca
Aruna U Dilliard
Arvin I Maclead
Aruna O Vocelka
Jefferson I Briddick
Smith N Iturbide
Deepesh B Shinko
Francesco Q Sergi
Murillo P Tollner
Wickens B Gaucho
Adams O Glick
Morrow T Whobrey
Ricardo R Kolmetz
Aika I Vocelka
Francesco B Stenseth
Munro P Nicka
Tony L Venere
Clifford R Nestle
Costa Q Wieser
Munro Y Darakjy
Claire R Rulapaugh
Greenwood E Doe
Misaki W Nestle
Izzy D Glick
Kadeem O Bolognia
Salvatore D Foller
Clifford K Malet
Adams V Foller
Darci C Butt
Jennifer E Venere
Claire K Morasca
Julie X Garufi
Munro I Oldroyd
Deepesh S Shinko
Maisha N Rim
Jennifer W Garufi
Mujtaba D Butt
Murillo N Chui
Chavez F Figeroa
Adams J Shinko
Maisha I Whobrey
Cody O Flosi
Rodrigues J Vocelka
IdCountryDate
1000Japan2024-05-15
1001United Kingdom2024-05-19
1002Germany2024-05-15
1003France2024-06-13
1004Argentina2024-06-05
1005Japan2024-06-09
1006Russia2024-06-03
1007Argentina2024-05-19
1008Brazil2024-05-22
1009Italy2024-06-01
1010Russia2024-05-31
1011United Kingdom2024-06-01
1012Canada2024-05-18
1013Canada2024-06-08
1014Russia2024-06-12
1015India2024-05-30
1016Japan2024-05-17
1017Canada2024-05-21
1018Italy2024-06-01
1019Japan2024-05-30
1020Italy2024-06-11
1021Japan2024-06-06
1022Spain2024-05-28
1023Italy2024-05-24
1024Germany2024-06-11
1025France2024-06-02
1026France2024-06-07
1027France2024-06-03
1028Argentina2024-06-02
1029Germany2024-05-18
1030India2024-05-26
1031India2024-06-06
1032Canada2024-05-22
1033Canada2024-06-11
1034Canada2024-06-06
1035Canada2024-06-08
1036United Kingdom2024-06-09
1037France2024-05-21
1038Spain2024-06-02
1039Brazil2024-05-26
1040United Kingdom2024-06-07
1041Canada2024-05-17
1042Australia2024-05-27
1043Russia2024-05-29
1044United Kingdom2024-05-29
1045Germany2024-05-30
1046Australia2024-05-22
1047France2024-06-09
1048Japan2024-06-08
1049United Kingdom2024-05-31

On-Demand Data

NameIdCountryDate
Isabel J Garufi1000Canada2024-05-15
Alejandro W Gillian1001Germany2024-05-24
Alejandro U Stockham1002Russia2024-06-08
Smith R Inouye1003Brazil2024-06-09
Silvio X Garufi1004Germany2024-05-28
Deepesh I Sergi1005United Kingdom2024-06-04
Ashley F Figeroa1006Italy2024-06-05
Ricardo M Ferencz1007Spain2024-06-01
Smith A Schemmer1008India2024-05-27
Arvin T Doe1009Australia2024-05-28
Ricardo B Maclead1010Australia2024-06-05
Salvatore H Gillian1011United Kingdom2024-06-02
Costa S Iturbide1012Russia2024-06-11
Clifford R Malet1013France2024-06-04
Munro J Caudy1014Italy2024-05-30
Chavez U Paprocki1015Brazil2024-06-05
Misaki L Poquette1016Japan2024-05-23
Jeanfrancois L Glick1017Russia2024-06-10
Mujtaba P Rulapaugh1018India2024-06-05
Maria Q Vocelka1019Argentina2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith D ShinkoJapanStephen Shaw RENEWAL
Costa F AlbaresSpainStephen Shaw QUALIFIED
Aruna E GillianItalyIoni Bowcher UNQUALIFIED
Morrow A WaycottGermanyIoni Bowcher NEW
Johnson B KolmetzIndiaXuxue Feng NEW
Munro Q RimCanadaAsiya Javayant NEW
David S NestleSpainOnyama Limba PROPOSAL
Deepesh X BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Kaitlin X RimAustraliaXuxue Feng QUALIFIED
Faith V ChuiIndiaIoni Bowcher PROPOSAL
Antonio Q OldroydFranceAmy Elsner NEGOTIATION
Nicolas O KolmetzCanadaXuxue Feng NEW
Aditya M NestleCanadaBernardo Dominic NEW
Cody H RulapaughCanadaIvan Magalhaes NEGOTIATION
Adams T NestleBrazilIoni Bowcher NEGOTIATION
Stacey I OstroskyCanadaAsiya Javayant NEGOTIATION
Ricardo X MacleadArgentinaElwin Sharvill UNQUALIFIED
Claire A KolmetzIndiaAnna Fali UNQUALIFIED
Mujtaba H GillianIndiaAnna Fali NEGOTIATION
Arvin Z BriddickUnited KingdomAmy Elsner PROPOSAL
Leon T GarufiCanadaAnna Fali QUALIFIED
Antonio X RulapaughCanadaOnyama Limba NEW
Octavia P GlickGermanyAmy Elsner UNQUALIFIED
Arvin V DilliardRussiaOnyama Limba PROPOSAL
Darci K AmigonFranceIvan Magalhaes PROPOSAL
Sinclair Q FollerAustraliaIvan Magalhaes NEGOTIATION
Darci G RutaAustraliaIvan Magalhaes NEGOTIATION
Maisha N CaudyGermanyIvan Magalhaes QUALIFIED
Francesco I RimRussiaXuxue Feng QUALIFIED
Aditya Y VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Alejandro J BriddickUnited KingdomAnna Fali PROPOSAL
Greenwood U BriddickSpainIoni Bowcher QUALIFIED
Ivar B CampainIndiaXuxue Feng RENEWAL
James G FigeroaAustraliaIvan Magalhaes PROPOSAL
Greenwood U BowleyCanadaIvan Magalhaes PROPOSAL
Misaki D VocelkaArgentinaOnyama Limba QUALIFIED
Julie I GlickUnited KingdomAsiya Javayant UNQUALIFIED
Chavez W AmigonIndiaAmy Elsner UNQUALIFIED
Jones Y PerinRussiaStephen Shaw NEGOTIATION
Darci Q FigeroaJapanAmy Elsner 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>