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
Johnson J BologniaJapanXuxue Feng QUALIFIED
Costa H RoysterItalyIoni Bowcher UNQUALIFIED
Francesco K VenereGermanyAmy Elsner NEGOTIATION
Izzy V BowleyItalyAnna Fali UNQUALIFIED
Antonio N FerenczJapanAmy Elsner QUALIFIED
Darci E CaudyAustraliaBernardo Dominic QUALIFIED
Tony K WieserJapanIoni Bowcher PROPOSAL
Alejandro S SergiIndiaIoni Bowcher PROPOSAL
Deepesh Y OldroydRussiaStephen Shaw NEGOTIATION
Leon E GauchoBrazilIoni Bowcher QUALIFIED
Salvatore X RimSpainAsiya Javayant PROPOSAL
Juan T OldroydItalyElwin Sharvill PROPOSAL
Nicolas R TollnerIndiaAsiya Javayant PROPOSAL
Aika P GlickCanadaOnyama Limba UNQUALIFIED
Nicolas Z GillianIndiaStephen Shaw RENEWAL
Ivar P BowleyArgentinaBernardo Dominic PROPOSAL
Aruna H AlbaresFranceXuxue Feng NEGOTIATION
Mayumi K NestleFranceStephen Shaw QUALIFIED
Rodrigues K GlickRussiaStephen Shaw NEW
Isabel R NestleBrazilIvan Magalhaes PROPOSAL
Jones C DilliardAustraliaAmy Elsner QUALIFIED
Smith O KolmetzArgentinaXuxue Feng UNQUALIFIED
Clifford J ButtBrazilAmy Elsner QUALIFIED
Mayumi R BologniaSpainXuxue Feng RENEWAL
Chavez G IturbideCanadaBernardo Dominic QUALIFIED
Isabel R MaletFranceAsiya Javayant UNQUALIFIED
Antonio A ShinkoJapanIvan Magalhaes NEGOTIATION
Mayumi E InouyeAustraliaAsiya Javayant NEW
Smith U DarakjyGermanyElwin Sharvill RENEWAL
Kadeem B MaletSpainIvan Magalhaes PROPOSAL
Mayumi W WieserFranceElwin Sharvill RENEWAL
Jefferson I StensethUnited KingdomAmy Elsner RENEWAL
Tony P WaycottJapanStephen Shaw QUALIFIED
Octavia B ShinkoItalyIvan Magalhaes QUALIFIED
Aruna S WieserIndiaIoni Bowcher QUALIFIED
Leon W PoquetteAustraliaOnyama Limba QUALIFIED
Darci Z AmigonGermanyIoni Bowcher NEGOTIATION
Julie J SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Chavez T MaletJapanOnyama Limba RENEWAL
Tony F OstroskyGermanyIoni Bowcher NEW
Francesco O NestleArgentinaAnna Fali NEW
Ricardo L CaudyArgentinaIoni Bowcher PROPOSAL
Jennifer D PerinGermanyBernardo Dominic UNQUALIFIED
Smith Z RutaSpainAmy Elsner RENEWAL
Sinclair B NickaSpainAnna Fali NEGOTIATION
Munro E FollerFranceAmy Elsner QUALIFIED
Murillo I DilliardIndiaAmy Elsner NEW
Costa R PaprockiGermanyAmy Elsner UNQUALIFIED
Octavia J GarufiArgentinaXuxue Feng NEW
Juan F KolmetzCanadaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody F GarufiFranceIvan Magalhaes PROPOSAL
Cody O WaycottUnited KingdomStephen Shaw UNQUALIFIED
Juan J GlickJapanXuxue Feng UNQUALIFIED
Cody Z OstroskyItalyStephen Shaw PROPOSAL
Juan D GillianRussiaElwin Sharvill NEW
Johnson Z WieserFranceXuxue Feng QUALIFIED
Deepesh P GillianGermanyStephen Shaw QUALIFIED
Wickens N SergiAustraliaIoni Bowcher NEW
Darci N ShinkoSpainElwin Sharvill PROPOSAL
Sinclair I MarrierRussiaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin K MaletJapan2024-05-23Buckley Miller Wright RENEWAL50Xuxue Feng
1001Darci G KolmetzArgentina2024-05-17Chemel, James L Cpa NEW90Amy Elsner
1002Julie P AmigonRussia2024-05-17Chanay, Jeffrey A Esq NEGOTIATION76Elwin Sharvill
1003Cody P WieserGermany2024-05-06Printing Dimensions UNQUALIFIED17Bernardo Dominic
1004Maria Q MaletAustralia2024-05-12Rangoni Of Florence NEW28Stephen Shaw
1005Wickens G GarufiBrazil2024-05-20Commercial Press RENEWAL69Amy Elsner
1006Mayumi N GauchoCanada2024-05-19Feiner Bros NEW31Bernardo Dominic
1007Adams Q SchemmerRussia2024-05-18Feltz Printing Service PROPOSAL33Xuxue Feng
1008Jones C VocelkaUnited Kingdom2024-05-01Buckley Miller Wright RENEWAL23Ioni Bowcher
1009Aika X MaletAustralia2024-05-24Chapman, Ross E Esq PROPOSAL76Elwin Sharvill
1010Ricardo C MorascaGermany2024-05-03Truhlar And Truhlar Attys RENEWAL84Anna Fali
1011Mayumi Q FigeroaAustralia2024-05-22Feiner Bros QUALIFIED31Bernardo Dominic
1012Stacey L WaycottBrazil2024-05-12Chemel, James L Cpa PROPOSAL81Ivan Magalhaes
1013Julie A RimIndia2024-05-05Dorl, James J Esq UNQUALIFIED87Asiya Javayant
1014Faith J WieserJapan2024-05-20Benton, John B Jr RENEWAL97Onyama Limba
1015Sinclair P WhobreyFrance2024-05-07Buckley Miller Wright RENEWAL82Elwin Sharvill
1016Aika K GarufiSpain2024-04-26Buckley Miller Wright QUALIFIED36Bernardo Dominic
1017Deepesh W WieserSpain2024-05-20Printing Dimensions UNQUALIFIED44Asiya Javayant
1018Silvio K AlbaresJapan2024-04-28Chanay, Jeffrey A Esq RENEWAL7Asiya Javayant
1019Salvatore H ShinkoJapan2024-05-09Feiner Bros NEW27Amy Elsner
1020Maria V VenereBrazil2024-05-15Benton, John B Jr PROPOSAL15Onyama Limba
1021Emily P AlbaresFrance2024-05-02Commercial Press RENEWAL48Asiya Javayant
1022Wickens C DilliardJapan2024-05-02Chemel, James L Cpa PROPOSAL81Onyama Limba
1023Deepesh T SaylorsAustralia2024-05-23King, Christopher A Esq UNQUALIFIED50Amy Elsner
1024Isabel B NestleUnited Kingdom2024-04-30Buckley Miller Wright UNQUALIFIED2Ivan Magalhaes
1025Salvatore K MarrierGermany2024-04-27Dorl, James J Esq NEW85Xuxue Feng
1026Jones Z SchemmerSpain2024-04-28Chanay, Jeffrey A Esq NEGOTIATION8Ivan Magalhaes
1027Kaitlin G ButtBrazil2024-05-08Chemel, James L Cpa PROPOSAL69Elwin Sharvill
1028Adams R NickaSpain2024-05-23Rangoni Of Florence RENEWAL76Asiya Javayant
1029Wickens G NickaItaly2024-05-08Morlong Associates RENEWAL23Amy Elsner
1030Francesco D BologniaGermany2024-05-07Printing Dimensions QUALIFIED78Bernardo Dominic
1031Johnson F FollerAustralia2024-04-29Buckley Miller Wright NEW27Elwin Sharvill
1032David P MorascaBrazil2024-05-13Chanay, Jeffrey A Esq NEW10Anna Fali
1033Juan V AmigonArgentina2024-05-24Buckley Miller Wright QUALIFIED81Onyama Limba
1034Jefferson E DilliardItaly2024-05-20Rangoni Of Florence NEGOTIATION71Elwin Sharvill
1035Jones P WieserJapan2024-05-17Morlong Associates UNQUALIFIED89Xuxue Feng
1036James Q KolmetzBrazil2024-05-15Printing Dimensions PROPOSAL95Elwin Sharvill
1037Jones K ButtIndia2024-05-25Feiner Bros UNQUALIFIED33Anna Fali
1038Deepesh X OstroskyGermany2024-05-24Rousseaux, Michael Esq RENEWAL43Amy Elsner
1039Antonio K SchemmerItaly2024-05-08Dorl, James J Esq UNQUALIFIED44Ivan Magalhaes
1040Claire T NestleArgentina2024-05-07Chapman, Ross E Esq NEW1Anna Fali
1041Francesco T ButtIndia2024-05-19Rousseaux, Michael Esq UNQUALIFIED24Bernardo Dominic
1042Leon S InouyeFrance2024-05-16Morlong Associates NEW5Bernardo Dominic
1043Kaitlin B FollerSpain2024-05-20Buckley Miller Wright NEGOTIATION80Bernardo Dominic
1044Aditya R BologniaItaly2024-05-06Buckley Miller Wright NEGOTIATION97Bernardo Dominic
1045Greenwood I SaylorsCanada2024-05-11Feiner Bros NEGOTIATION52Xuxue Feng
1046Stacey J DilliardItaly2024-05-23Chapman, Ross E Esq QUALIFIED95Amy Elsner
1047Arvin I SaylorsJapan2024-05-17Dorl, James J Esq QUALIFIED81Onyama Limba
1048Chavez B SaylorsAustralia2024-04-27Morlong Associates UNQUALIFIED89Asiya Javayant
1049Kadeem Z FollerGermany2024-04-27Buckley Miller Wright RENEWAL38Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba O FlosiItalyOnyama Limba NEGOTIATION
Clifford L PaprockiRussiaIoni Bowcher PROPOSAL
Octavia N RulapaughIndiaIvan Magalhaes NEGOTIATION
Ricardo O SergiIndiaAmy Elsner RENEWAL
Aruna X TollnerIndiaBernardo Dominic NEW
Faith E MarrierBrazilAmy Elsner NEGOTIATION
Costa U RutaAustraliaAsiya Javayant PROPOSAL
Stacey B GauchoIndiaAnna Fali UNQUALIFIED
Izzy X TollnerSpainAmy Elsner PROPOSAL
Jones B OldroydArgentinaAsiya Javayant QUALIFIED
Kadeem T PaprockiRussiaIoni Bowcher NEGOTIATION
Cody V MorascaUnited KingdomBernardo Dominic RENEWAL
Jones J PoquetteRussiaElwin Sharvill NEW
Mujtaba Y CaudyAustraliaStephen Shaw NEW
Morrow M MorascaAustraliaStephen Shaw QUALIFIED
Jones E BowleyFranceAsiya Javayant RENEWAL
Silvio Z PerinJapanOnyama Limba NEW
James Q VenereUnited KingdomOnyama Limba NEW
Kadeem T BriddickIndiaAmy Elsner RENEWAL
Cody T MaletIndiaAnna Fali NEGOTIATION
Jennifer L GauchoSpainXuxue Feng NEW
Alejandro G ShinkoSpainIoni Bowcher NEGOTIATION
Ivar E GarufiRussiaAnna Fali RENEWAL
Octavia U RutaFranceIoni Bowcher QUALIFIED
Adams P DarakjyItalyAmy Elsner UNQUALIFIED
Misaki R VocelkaRussiaStephen Shaw QUALIFIED
Kaitlin O KolmetzJapanAsiya Javayant PROPOSAL
Ashley N ChuiIndiaIvan Magalhaes PROPOSAL
Aruna U KuskoUnited KingdomAnna Fali NEGOTIATION
Julie U GillianRussiaStephen Shaw RENEWAL
Mayumi T GillianArgentinaBernardo Dominic PROPOSAL
Murillo Q OstroskyBrazilElwin Sharvill NEGOTIATION
Maisha X MacleadGermanyAmy Elsner PROPOSAL
Kadeem Y StensethIndiaIvan Magalhaes NEW
Nicolas U InouyeArgentinaAnna Fali PROPOSAL
Jones E CaudyGermanyAmy Elsner NEGOTIATION
Chavez Q IturbideAustraliaIoni Bowcher PROPOSAL
Juan K OldroydCanadaBernardo Dominic RENEWAL
Nicolas F VenereJapanStephen Shaw UNQUALIFIED
Darci L TollnerJapanIoni Bowcher RENEWAL
Silvio M AlbaresJapanElwin Sharvill UNQUALIFIED
Darci A RoysterIndiaAmy Elsner PROPOSAL
Emily J RutaCanadaIoni Bowcher NEW
Wickens R DarakjySpainAnna Fali NEGOTIATION
James K WhobreyArgentinaIoni Bowcher NEGOTIATION
Nicolas R MaletRussiaIoni Bowcher UNQUALIFIED
Kadeem V VenereGermanyAsiya Javayant UNQUALIFIED
Juan K BologniaItalyStephen Shaw UNQUALIFIED
Aruna I StockhamFranceBernardo Dominic RENEWAL
Salvatore Q TollnerItalyBernardo Dominic NEW
Frozen Columns
Name
Claire Z Maclead
Greenwood X Ruta
Aditya M Maclead
Aika D Campain
Stacey I Wieser
Greenwood S Butt
Claire J Flosi
Costa I Rulapaugh
Stacey V Rim
Arvin T Gillian
Izzy J Morasca
Julie T Caudy
Rodrigues J Schemmer
Morrow X Oldroyd
Kaitlin Z Oldroyd
Nicolas H Ruta
Kadeem J Nicka
Kaitlin J Butt
David O Nestle
Jones C Waycott
Juan J Tollner
Munro L Venere
Ashley Y Rulapaugh
Tony S Saylors
Nicolas V Malet
Alejandro H Gaucho
Darci A Oldroyd
Morrow G Royster
Alejandro N Briddick
Chavez J Ostrosky
Francesco R Malet
Sinclair B Inouye
Jefferson G Royster
Johnson Q Venere
Tony F Gaucho
Munro A Butt
Antonio C Sergi
Arvin L Maclead
James K Wieser
Salvatore A Nestle
Morrow O Rim
Claire X Saylors
Leja V Bowley
Kaitlin O Bolognia
Clifford K Bolognia
Aditya K Albares
Alejandro S Nestle
Jefferson J Glick
Silvio Z Perin
Greenwood K Nicka
IdCountryDate
1000Argentina2024-05-21
1001Spain2024-05-10
1002Italy2024-05-07
1003France2024-05-23
1004United Kingdom2024-05-09
1005Germany2024-05-13
1006Italy2024-05-15
1007Spain2024-04-27
1008Russia2024-05-18
1009Brazil2024-05-09
1010Argentina2024-05-08
1011India2024-04-29
1012France2024-05-08
1013Brazil2024-05-09
1014Brazil2024-05-23
1015Argentina2024-04-30
1016Italy2024-05-08
1017Spain2024-05-09
1018Argentina2024-04-27
1019United Kingdom2024-05-25
1020Japan2024-05-18
1021India2024-05-02
1022Russia2024-05-13
1023Spain2024-05-06
1024Spain2024-05-25
1025Japan2024-05-19
1026Canada2024-05-22
1027Spain2024-05-18
1028Canada2024-05-03
1029France2024-05-09
1030France2024-04-27
1031Italy2024-05-08
1032Italy2024-05-03
1033United Kingdom2024-05-02
1034India2024-05-15
1035Brazil2024-05-02
1036Australia2024-04-27
1037Germany2024-05-22
1038Brazil2024-05-11
1039Australia2024-05-06
1040Australia2024-04-27
1041United Kingdom2024-05-20
1042France2024-05-10
1043Germany2024-05-04
1044Russia2024-05-05
1045Canada2024-04-26
1046Japan2024-04-27
1047Japan2024-05-17
1048Argentina2024-05-08
1049Spain2024-05-09

On-Demand Data

NameIdCountryDate
Wickens Y Schemmer1000India2024-05-24
Chavez J Whobrey1001Germany2024-04-27
Kadeem F Tollner1002India2024-04-29
Kadeem N Caudy1003Brazil2024-05-03
Leon H Butt1004Germany2024-05-08
Deepesh H Figeroa1005Brazil2024-05-17
Leja O Ferencz1006Italy2024-05-10
Ashley G Tollner1007Argentina2024-04-27
Alejandro D Bowley1008Italy2024-05-09
Rodrigues V Slusarski1009Canada2024-05-18
Alejandro Y Stockham1010United Kingdom2024-05-19
Sinclair J Rim1011France2024-05-08
Costa V Venere1012France2024-05-16
James L Bowley1013Russia2024-05-17
Stacey I Garufi1014France2024-05-01
Chavez I Shinko1015Spain2024-05-10
Mayumi A Albares1016Japan2024-05-15
Clifford L Royster1017India2024-04-27
James N Chui1018India2024-05-18
Mujtaba J Amigon1019Japan2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire T VenereRussiaStephen Shaw PROPOSAL
Rodrigues P GillianJapanStephen Shaw PROPOSAL
Leon M SchemmerRussiaAnna Fali NEW
Mayumi A RulapaughItalyElwin Sharvill UNQUALIFIED
Munro W GlickAustraliaIoni Bowcher RENEWAL
Ashley O RutaArgentinaXuxue Feng QUALIFIED
Aruna N VocelkaArgentinaAsiya Javayant UNQUALIFIED
Ivar D BologniaJapanAmy Elsner RENEWAL
Tony N PaprockiArgentinaAsiya Javayant NEW
Aditya V StockhamUnited KingdomIoni Bowcher NEW
Jefferson M FerenczFranceElwin Sharvill PROPOSAL
Smith Q CampainCanadaOnyama Limba UNQUALIFIED
Munro T ChuiCanadaIvan Magalhaes QUALIFIED
Faith C SchemmerGermanyAmy Elsner NEGOTIATION
Juan H FerenczGermanyAnna Fali UNQUALIFIED
Munro N SchemmerSpainElwin Sharvill UNQUALIFIED
Nicolas Y StensethBrazilElwin Sharvill NEGOTIATION
David E StensethGermanyOnyama Limba QUALIFIED
Sinclair L KolmetzBrazilBernardo Dominic QUALIFIED
Jones O KuskoRussiaAmy Elsner QUALIFIED
Sinclair Q WaycottUnited KingdomXuxue Feng RENEWAL
Julie M PerinGermanyAmy Elsner NEW
Johnson Y GauchoFranceStephen Shaw NEW
Silvio U MorascaRussiaBernardo Dominic QUALIFIED
Jones W ChuiJapanIoni Bowcher NEW
Tony D KolmetzGermanyIvan Magalhaes PROPOSAL
David L FerenczGermanyIoni Bowcher QUALIFIED
Alejandro V SaylorsFranceAnna Fali PROPOSAL
Mayumi Y MorascaCanadaStephen Shaw NEGOTIATION
Aditya R GillianFranceBernardo Dominic PROPOSAL
Jefferson Q WhobreyCanadaXuxue Feng QUALIFIED
Izzy Z OstroskySpainOnyama Limba PROPOSAL
David V DarakjyRussiaOnyama Limba PROPOSAL
Leon M OldroydArgentinaXuxue Feng QUALIFIED
Costa F MaletRussiaIoni Bowcher NEGOTIATION
Kaitlin H MaletCanadaBernardo Dominic PROPOSAL
Chavez Z WhobreyItalyStephen Shaw PROPOSAL
James Z StensethIndiaStephen Shaw UNQUALIFIED
Jennifer S NestleArgentinaXuxue Feng NEGOTIATION
Jefferson P GarufiAustraliaIvan Magalhaes NEGOTIATION

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