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
Murillo I ButtFranceIoni Bowcher QUALIFIED
Costa A AlbaresBrazilElwin Sharvill PROPOSAL
Sinclair G OstroskyArgentinaStephen Shaw NEGOTIATION
Wickens I AmigonGermanyXuxue Feng NEGOTIATION
Aditya W DoeAustraliaXuxue Feng NEW
Stacey H PerinBrazilOnyama Limba NEW
Jennifer W AlbaresFranceIvan Magalhaes NEGOTIATION
Clifford J PaprockiSpainAmy Elsner NEW
Mujtaba Y VocelkaArgentinaElwin Sharvill PROPOSAL
Francesco O KolmetzAustraliaIoni Bowcher PROPOSAL
Nicolas M WieserRussiaXuxue Feng UNQUALIFIED
Darci K WieserRussiaStephen Shaw UNQUALIFIED
Aditya W CampainArgentinaAmy Elsner NEW
Mujtaba Y InouyeSpainOnyama Limba PROPOSAL
Francesco G FollerArgentinaElwin Sharvill RENEWAL
Arvin P TollnerFranceAmy Elsner PROPOSAL
Ashley M AmigonArgentinaXuxue Feng QUALIFIED
Aditya R AlbaresIndiaBernardo Dominic PROPOSAL
Maria G VocelkaArgentinaAmy Elsner QUALIFIED
Costa F CampainCanadaBernardo Dominic RENEWAL
Kadeem L AmigonJapanBernardo Dominic PROPOSAL
Claire R FerenczJapanElwin Sharvill PROPOSAL
Chavez D StensethArgentinaXuxue Feng UNQUALIFIED
James B TollnerRussiaOnyama Limba RENEWAL
Misaki W DilliardBrazilIoni Bowcher PROPOSAL
Ivar N WaycottJapanXuxue Feng QUALIFIED
Faith B AmigonRussiaOnyama Limba RENEWAL
Mujtaba Y InouyeUnited KingdomXuxue Feng NEW
Deepesh Z WieserSpainOnyama Limba NEGOTIATION
Morrow O MarrierCanadaAsiya Javayant NEW
Stacey N CampainBrazilIvan Magalhaes NEW
Jones O GillianUnited KingdomAsiya Javayant QUALIFIED
Ivar V CampainSpainAsiya Javayant NEW
Maisha G MaletRussiaStephen Shaw UNQUALIFIED
Julie F OldroydSpainXuxue Feng NEW
Salvatore M MaletUnited KingdomIvan Magalhaes NEW
Julie F StensethFranceXuxue Feng QUALIFIED
Kadeem H BriddickJapanStephen Shaw UNQUALIFIED
Salvatore D CampainFranceOnyama Limba UNQUALIFIED
Murillo F SergiIndiaStephen Shaw NEW
Wickens G PerinFranceAnna Fali NEGOTIATION
Juan I PaprockiRussiaOnyama Limba NEW
Darci H KolmetzRussiaBernardo Dominic NEW
Julie T InouyeJapanBernardo Dominic NEGOTIATION
Octavia A PoquetteUnited KingdomBernardo Dominic UNQUALIFIED
Jefferson P MaletFranceStephen Shaw NEGOTIATION
Aditya Y MacleadGermanyStephen Shaw RENEWAL
Maisha X VenereAustraliaStephen Shaw NEGOTIATION
Kaitlin R IturbideIndiaIvan Magalhaes NEW
Wickens W PerinUnited KingdomBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues I OstroskyJapanAmy Elsner NEGOTIATION
Smith V PerinJapanIoni Bowcher RENEWAL
Emily Z KolmetzArgentinaIvan Magalhaes RENEWAL
Darci A ShinkoIndiaStephen Shaw PROPOSAL
Leon A WieserGermanyStephen Shaw NEGOTIATION
Julie S KuskoArgentinaStephen Shaw RENEWAL
Mayumi Y AmigonAustraliaIvan Magalhaes NEW
Misaki F OldroydJapanXuxue Feng RENEWAL
Jennifer L AlbaresIndiaStephen Shaw QUALIFIED
Aruna I MaletSpainBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David S SaylorsSpain2024-05-18Buckley Miller Wright UNQUALIFIED58Anna Fali
1001Morrow K WaycottBrazil2024-04-25Truhlar And Truhlar Attys NEW47Ioni Bowcher
1002Maria Y PerinAustralia2024-05-16Commercial Press PROPOSAL42Ioni Bowcher
1003Mayumi Z KolmetzRussia2024-05-04Chemel, James L Cpa RENEWAL89Asiya Javayant
1004Salvatore O MacleadArgentina2024-05-23Dorl, James J Esq QUALIFIED17Xuxue Feng
1005Murillo M SaylorsIndia2024-05-03Buckley Miller Wright PROPOSAL24Anna Fali
1006Emily D PoquetteGermany2024-04-29Buckley Miller Wright PROPOSAL42Bernardo Dominic
1007Ivar L FollerUnited Kingdom2024-05-04Commercial Press RENEWAL2Ioni Bowcher
1008Maisha P SchemmerArgentina2024-05-17Morlong Associates QUALIFIED79Ivan Magalhaes
1009Ricardo Q OldroydSpain2024-05-02Feiner Bros PROPOSAL40Elwin Sharvill
1010Jeanfrancois V PaprockiArgentina2024-04-28Feltz Printing Service NEW40Asiya Javayant
1011David G PaprockiBrazil2024-05-14Morlong Associates RENEWAL58Xuxue Feng
1012Wickens M KuskoArgentina2024-05-11Dorl, James J Esq PROPOSAL80Anna Fali
1013Stacey W MarrierJapan2024-05-02Chanay, Jeffrey A Esq UNQUALIFIED99Asiya Javayant
1014Chavez Q SchemmerItaly2024-05-05Truhlar And Truhlar Attys RENEWAL33Ioni Bowcher
1015Clifford I CaldareraAustralia2024-05-05Benton, John B Jr NEGOTIATION55Bernardo Dominic
1016Cody E WaycottArgentina2024-05-18Chanay, Jeffrey A Esq RENEWAL56Anna Fali
1017Isabel A OldroydItaly2024-05-14Feltz Printing Service QUALIFIED28Anna Fali
1018Kadeem O SchemmerSpain2024-05-02Feiner Bros UNQUALIFIED44Amy Elsner
1019Mayumi A RoysterItaly2024-05-15Printing Dimensions RENEWAL24Amy Elsner
1020Faith K PerinSpain2024-05-08Morlong Associates PROPOSAL67Xuxue Feng
1021Sinclair E RimGermany2024-05-21Chanay, Jeffrey A Esq NEW63Anna Fali
1022Mujtaba F GarufiArgentina2024-05-17Buckley Miller Wright PROPOSAL57Stephen Shaw
1023Silvio X PaprockiCanada2024-05-21Feiner Bros NEGOTIATION83Xuxue Feng
1024Jefferson C WaycottJapan2024-05-11King, Christopher A Esq QUALIFIED80Amy Elsner
1025Munro G RimFrance2024-05-18Feiner Bros RENEWAL83Anna Fali
1026Aika D WhobreyArgentina2024-05-04Benton, John B Jr NEGOTIATION72Elwin Sharvill
1027Aika Y DilliardGermany2024-05-19Chanay, Jeffrey A Esq QUALIFIED13Amy Elsner
1028Jennifer W GlickFrance2024-05-20Rousseaux, Michael Esq NEGOTIATION0Anna Fali
1029Johnson O BologniaSpain2024-05-08Rousseaux, Michael Esq UNQUALIFIED31Onyama Limba
1030Maria I VocelkaUnited Kingdom2024-05-21Buckley Miller Wright QUALIFIED82Xuxue Feng
1031Nicolas T AlbaresRussia2024-05-10King, Christopher A Esq RENEWAL19Stephen Shaw
1032Kaitlin U SaylorsJapan2024-05-22Chemel, James L Cpa NEGOTIATION36Anna Fali
1033Greenwood C MacleadCanada2024-05-06Dorl, James J Esq UNQUALIFIED71Ioni Bowcher
1034Wickens D RimItaly2024-05-04Chapman, Ross E Esq NEGOTIATION13Anna Fali
1035Misaki M IturbideIndia2024-05-14Chanay, Jeffrey A Esq RENEWAL43Bernardo Dominic
1036Stacey N FerenczRussia2024-05-15Benton, John B Jr PROPOSAL5Onyama Limba
1037Silvio H ButtJapan2024-05-19King, Christopher A Esq UNQUALIFIED19Elwin Sharvill
1038Silvio E FerenczRussia2024-05-23Commercial Press NEGOTIATION10Amy Elsner
1039Julie M SchemmerUnited Kingdom2024-05-10Commercial Press PROPOSAL30Onyama Limba
1040Stacey M RulapaughIndia2024-05-03Rangoni Of Florence RENEWAL47Xuxue Feng
1041Morrow F MaletBrazil2024-05-15Feiner Bros UNQUALIFIED47Anna Fali
1042Isabel G BriddickFrance2024-05-11Dorl, James J Esq UNQUALIFIED67Amy Elsner
1043Jennifer L FollerJapan2024-05-24Benton, John B Jr NEW53Onyama Limba
1044Claire Y PoquetteBrazil2024-05-21Chanay, Jeffrey A Esq NEGOTIATION2Stephen Shaw
1045Emily J WieserIndia2024-04-30Rangoni Of Florence NEGOTIATION98Stephen Shaw
1046Aruna U AmigonCanada2024-05-23Chemel, James L Cpa UNQUALIFIED52Anna Fali
1047Mayumi Y GlickJapan2024-05-14Morlong Associates NEGOTIATION72Onyama Limba
1048Nicolas R FollerGermany2024-04-30Dorl, James J Esq QUALIFIED79Ioni Bowcher
1049Jones C PoquetteGermany2024-05-08Chanay, Jeffrey A Esq NEGOTIATION60Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Antonio S InouyeCanadaElwin Sharvill PROPOSAL
James V PerinAustraliaIoni Bowcher NEGOTIATION
Isabel X SlusarskiGermanyAmy Elsner QUALIFIED
Deepesh P FlosiItalyAsiya Javayant NEW
Ricardo B FollerFranceBernardo Dominic NEW
Izzy U MacleadGermanyOnyama Limba QUALIFIED
Alejandro G AlbaresBrazilIvan Magalhaes NEW
Darci M StensethItalyOnyama Limba UNQUALIFIED
Ivar B DilliardSpainBernardo Dominic QUALIFIED
Francesco G FigeroaUnited KingdomAmy Elsner NEW
Tony N OldroydArgentinaElwin Sharvill NEGOTIATION
Isabel E CampainJapanStephen Shaw PROPOSAL
Silvio N SchemmerSpainAmy Elsner PROPOSAL
Maria Q RoysterRussiaBernardo Dominic NEW
Antonio G DilliardCanadaIvan Magalhaes PROPOSAL
Greenwood T CaudySpainIvan Magalhaes UNQUALIFIED
Jennifer R BowleyArgentinaBernardo Dominic NEW
Smith C NestleIndiaOnyama Limba RENEWAL
Jefferson T GlickIndiaOnyama Limba QUALIFIED
Claire J MorascaJapanAsiya Javayant UNQUALIFIED
Adams V RulapaughIndiaXuxue Feng QUALIFIED
Johnson J DarakjyRussiaAnna Fali RENEWAL
Jennifer U MarrierUnited KingdomXuxue Feng NEGOTIATION
Leja V GarufiItalyElwin Sharvill PROPOSAL
Antonio H RulapaughFranceAmy Elsner NEW
Isabel J WhobreyBrazilAnna Fali RENEWAL
Ivar P ShinkoCanadaOnyama Limba UNQUALIFIED
Antonio V MorascaBrazilAsiya Javayant RENEWAL
Mujtaba H StockhamSpainIvan Magalhaes NEW
Morrow G ChuiBrazilBernardo Dominic NEW
Misaki D GarufiFranceAmy Elsner RENEWAL
Leon K StockhamGermanyXuxue Feng QUALIFIED
Faith A PerinItalyStephen Shaw NEGOTIATION
Ashley V OldroydRussiaAnna Fali RENEWAL
Arvin L BologniaCanadaBernardo Dominic NEGOTIATION
Nicolas K ChuiSpainElwin Sharvill PROPOSAL
Faith S FerenczUnited KingdomIoni Bowcher NEW
Francesco J SergiBrazilStephen Shaw QUALIFIED
Isabel B FlosiArgentinaBernardo Dominic UNQUALIFIED
Jefferson S RutaRussiaOnyama Limba PROPOSAL
Jefferson X OstroskyItalyAnna Fali PROPOSAL
Greenwood V MaletFranceBernardo Dominic RENEWAL
Izzy Q CaudyFranceAmy Elsner QUALIFIED
Claire H StensethItalyXuxue Feng QUALIFIED
Jefferson Z MarrierBrazilAsiya Javayant RENEWAL
Aika A SergiSpainAnna Fali PROPOSAL
Jeanfrancois M OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Ivar X OldroydAustraliaAnna Fali QUALIFIED
Jeanfrancois R WieserCanadaIoni Bowcher PROPOSAL
Stacey N OstroskyIndiaIoni Bowcher PROPOSAL
Frozen Columns
Name
Jennifer R Caldarera
Maria N Rulapaugh
Juan X Nicka
Julie T Kolmetz
Ivar A Maclead
Aruna S Garufi
Kadeem Y Shinko
Kadeem I Campain
Mayumi D Tollner
Nicolas X Oldroyd
Misaki X Slusarski
Ivar M Wieser
Ivar M Marrier
Misaki F Campain
Antonio L Venere
Julie R Garufi
Clifford V Shinko
Ricardo G Rim
Isabel B Royster
Emily L Iturbide
Smith C Marrier
Cody E Sergi
Ivar H Stenseth
Rodrigues W Foller
Emily T Sergi
Adams Z Bolognia
Mujtaba B Butt
Jefferson N Sergi
Claire W Tollner
Costa N Bolognia
Aditya U Whobrey
Julie J Bowley
James Y Butt
Jeanfrancois H Ruta
Johnson K Darakjy
Tony F Butt
Smith E Bolognia
Ricardo N Darakjy
Deepesh P Rim
Morrow S Darakjy
Emily O Nicka
Sinclair C Ostrosky
Emily D Kusko
Alejandro G Iturbide
Juan U Sergi
Aditya P Malet
Arvin P Doe
Alejandro B Waycott
Tony W Marrier
Ivar S Oldroyd
IdCountryDate
1000Germany2024-05-18
1001Brazil2024-05-15
1002Spain2024-05-09
1003Canada2024-05-14
1004France2024-05-02
1005Russia2024-05-16
1006Brazil2024-05-01
1007Argentina2024-05-20
1008Australia2024-05-18
1009Canada2024-05-10
1010Canada2024-05-04
1011Spain2024-05-20
1012France2024-05-24
1013Spain2024-05-10
1014United Kingdom2024-04-28
1015Brazil2024-05-15
1016Brazil2024-05-10
1017Spain2024-04-26
1018France2024-05-22
1019India2024-05-12
1020Russia2024-05-14
1021Canada2024-05-21
1022Germany2024-05-05
1023Japan2024-05-18
1024Russia2024-04-30
1025Spain2024-05-03
1026Spain2024-05-03
1027Japan2024-05-12
1028Italy2024-05-13
1029Brazil2024-04-27
1030India2024-05-06
1031Japan2024-05-12
1032India2024-05-11
1033Australia2024-04-29
1034Argentina2024-05-06
1035India2024-05-21
1036India2024-05-08
1037France2024-04-26
1038Australia2024-05-15
1039Spain2024-04-26
1040Russia2024-05-13
1041Italy2024-05-01
1042Japan2024-05-06
1043Australia2024-05-12
1044Italy2024-05-15
1045Brazil2024-05-14
1046Brazil2024-05-23
1047Japan2024-05-02
1048France2024-05-03
1049Italy2024-05-13

On-Demand Data

NameIdCountryDate
Smith C Chui1000Argentina2024-05-21
Ashley F Tollner1001Germany2024-05-04
Mayumi N Paprocki1002Germany2024-05-08
Jeanfrancois W Perin1003Germany2024-05-24
Tony Z Briddick1004United Kingdom2024-05-24
Jeanfrancois U Perin1005Australia2024-05-24
Francesco K Malet1006Australia2024-05-07
Leon F Shinko1007Brazil2024-05-08
Jones Q Figeroa1008Germany2024-05-23
Maria X Morasca1009Germany2024-05-01
Ivar G Poquette1010Japan2024-05-16
Ricardo V Nestle1011United Kingdom2024-05-24
Jones Z Inouye1012United Kingdom2024-05-18
Mujtaba V Garufi1013Brazil2024-04-27
Johnson A Campain1014Spain2024-05-16
Juan O Shinko1015Australia2024-05-06
Munro O Bowley1016Germany2024-04-27
Morrow B Maclead1017France2024-05-07
Silvio U Butt1018Japan2024-05-05
Mayumi M Campain1019Argentina2024-05-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily W CaldareraUnited KingdomIvan Magalhaes NEW
Jeanfrancois W BriddickAustraliaIoni Bowcher NEW
Jefferson T KolmetzItalyAnna Fali UNQUALIFIED
Johnson K PerinSpainAsiya Javayant UNQUALIFIED
Maria X NestleFranceAsiya Javayant PROPOSAL
Munro O GarufiJapanAmy Elsner UNQUALIFIED
Izzy Z FollerItalyAmy Elsner UNQUALIFIED
Francesco G FerenczRussiaElwin Sharvill RENEWAL
Aika Z VenereBrazilIoni Bowcher QUALIFIED
Leja B WaycottUnited KingdomAsiya Javayant RENEWAL
Adams Z AlbaresBrazilOnyama Limba NEW
Stacey R StensethArgentinaElwin Sharvill NEGOTIATION
Ashley J SlusarskiAustraliaIoni Bowcher NEGOTIATION
Emily O RutaUnited KingdomBernardo Dominic PROPOSAL
Francesco A MaletFranceAmy Elsner NEGOTIATION
Ricardo T IturbideSpainXuxue Feng NEGOTIATION
Julie C IturbideArgentinaOnyama Limba RENEWAL
Smith Q IturbideBrazilIvan Magalhaes QUALIFIED
Izzy N WieserItalyStephen Shaw RENEWAL
Sinclair S RoysterGermanyAsiya Javayant NEW
Sinclair E GlickJapanAsiya Javayant RENEWAL
Leja O MaletUnited KingdomAnna Fali PROPOSAL
Munro X MaletIndiaAsiya Javayant PROPOSAL
Jones F GlickArgentinaIvan Magalhaes UNQUALIFIED
Tony Q MacleadBrazilAmy Elsner RENEWAL
Julie W RulapaughIndiaIoni Bowcher PROPOSAL
Leon O AlbaresArgentinaIvan Magalhaes UNQUALIFIED
Silvio I OstroskySpainOnyama Limba RENEWAL
Alejandro N AmigonAustraliaBernardo Dominic NEGOTIATION
Maria E FlosiAustraliaAnna Fali UNQUALIFIED
Rodrigues J AmigonJapanStephen Shaw NEW
Mujtaba F WaycottJapanAsiya Javayant QUALIFIED
Smith S GarufiSpainAmy Elsner PROPOSAL
Aditya H PoquetteJapanBernardo Dominic RENEWAL
Aika I KolmetzBrazilBernardo Dominic NEW
Ashley S SergiFranceBernardo Dominic QUALIFIED
Kaitlin V RimAustraliaBernardo Dominic PROPOSAL
Stacey K OstroskyFranceAnna Fali RENEWAL
James U NestleBrazilIoni Bowcher QUALIFIED
Smith J MorascaGermanyAsiya Javayant 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>