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
Costa U FigeroaBrazilAsiya Javayant UNQUALIFIED
Antonio X RulapaughBrazilAsiya Javayant QUALIFIED
Johnson P CaldareraJapanElwin Sharvill QUALIFIED
Leon T ChuiJapanAmy Elsner PROPOSAL
Chavez R DilliardBrazilAmy Elsner RENEWAL
Juan V WaycottGermanyBernardo Dominic QUALIFIED
Maria U StensethSpainIvan Magalhaes NEGOTIATION
Aditya C KuskoArgentinaIoni Bowcher RENEWAL
Arvin R GlickRussiaIvan Magalhaes NEW
Mayumi C StensethAustraliaOnyama Limba UNQUALIFIED
Kadeem P SchemmerItalyStephen Shaw RENEWAL
Stacey C VenereSpainAnna Fali UNQUALIFIED
David T CaldareraGermanyOnyama Limba QUALIFIED
Rodrigues R FlosiBrazilStephen Shaw NEW
Darci Z DarakjySpainElwin Sharvill RENEWAL
Kaitlin E StockhamBrazilAnna Fali UNQUALIFIED
Tony Q BriddickIndiaAsiya Javayant RENEWAL
Kaitlin Y ChuiRussiaIoni Bowcher RENEWAL
Alejandro O NestleJapanAmy Elsner PROPOSAL
Jennifer R BriddickCanadaBernardo Dominic UNQUALIFIED
Jefferson H PerinUnited KingdomXuxue Feng QUALIFIED
Darci W FerenczGermanyOnyama Limba NEW
Aditya N MacleadIndiaStephen Shaw RENEWAL
Murillo F MarrierIndiaAmy Elsner NEW
Adams M ChuiGermanyAsiya Javayant PROPOSAL
Maisha B OldroydRussiaAsiya Javayant UNQUALIFIED
Rodrigues N ButtRussiaAsiya Javayant NEW
Antonio K BriddickCanadaIvan Magalhaes PROPOSAL
Cody Q TollnerGermanyIvan Magalhaes NEGOTIATION
Kaitlin S TollnerIndiaStephen Shaw NEW
Costa J StockhamFranceAmy Elsner NEGOTIATION
Antonio M MorascaRussiaIvan Magalhaes PROPOSAL
Jennifer U GarufiBrazilIvan Magalhaes UNQUALIFIED
Silvio D SaylorsIndiaElwin Sharvill NEW
David A StensethUnited KingdomOnyama Limba NEW
Costa I GillianRussiaAsiya Javayant NEW
Ashley Z ChuiIndiaAnna Fali PROPOSAL
Francesco E StockhamRussiaBernardo Dominic RENEWAL
Mayumi X CaldareraUnited KingdomAmy Elsner NEGOTIATION
Izzy F WaycottUnited KingdomElwin Sharvill NEGOTIATION
Ivar W AlbaresRussiaOnyama Limba RENEWAL
Kadeem C PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Antonio U CaudyFranceBernardo Dominic RENEWAL
Emily Y RoysterIndiaIoni Bowcher UNQUALIFIED
Faith L GlickUnited KingdomAnna Fali RENEWAL
Octavia I BriddickSpainAnna Fali NEGOTIATION
Misaki J SchemmerCanadaBernardo Dominic UNQUALIFIED
Claire R GarufiRussiaAmy Elsner NEGOTIATION
Arvin Q FigeroaArgentinaBernardo Dominic NEGOTIATION
Costa M InouyeSpainAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maisha U FerenczCanadaOnyama Limba UNQUALIFIED
Mayumi K RoysterGermanyIvan Magalhaes PROPOSAL
Nicolas Q WhobreyArgentinaElwin Sharvill NEGOTIATION
Costa F FlosiUnited KingdomIvan Magalhaes RENEWAL
Salvatore L GlickItalyStephen Shaw NEGOTIATION
Jefferson O NickaRussiaStephen Shaw NEW
Ricardo Z RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Greenwood L DilliardIndiaAmy Elsner UNQUALIFIED
Jeanfrancois G WieserFranceIvan Magalhaes RENEWAL
Juan O MaletIndiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens P MaletRussia2024-06-14Dorl, James J Esq PROPOSAL18Amy Elsner
1001Jeanfrancois U SlusarskiItaly2024-05-25Chemel, James L Cpa QUALIFIED48Ivan Magalhaes
1002Tony U PaprockiIndia2024-06-14Chanay, Jeffrey A Esq QUALIFIED11Xuxue Feng
1003Smith H NestleFrance2024-05-31Benton, John B Jr NEW9Amy Elsner
1004Jefferson J RutaBrazil2024-06-03Rangoni Of Florence RENEWAL60Xuxue Feng
1005Maria H PoquetteIndia2024-06-13King, Christopher A Esq PROPOSAL26Xuxue Feng
1006Faith E ChuiItaly2024-06-11Feiner Bros UNQUALIFIED12Bernardo Dominic
1007Leja R GarufiJapan2024-05-24Morlong Associates NEGOTIATION99Ioni Bowcher
1008Johnson G CaudyArgentina2024-05-29Chanay, Jeffrey A Esq PROPOSAL28Onyama Limba
1009Izzy Z WhobreyCanada2024-06-14Chemel, James L Cpa QUALIFIED23Onyama Limba
1010Chavez T WaycottBrazil2024-06-13Commercial Press UNQUALIFIED60Amy Elsner
1011Silvio H KolmetzFrance2024-06-21King, Christopher A Esq NEGOTIATION67Xuxue Feng
1012Silvio U BologniaItaly2024-06-04Rousseaux, Michael Esq NEW66Ivan Magalhaes
1013Ashley V BologniaFrance2024-06-02Chapman, Ross E Esq UNQUALIFIED34Ioni Bowcher
1014Salvatore O OldroydArgentina2024-05-27Feltz Printing Service NEGOTIATION71Ioni Bowcher
1015Salvatore D OstroskyJapan2024-06-18Buckley Miller Wright UNQUALIFIED10Xuxue Feng
1016Johnson L KolmetzCanada2024-06-05Commercial Press UNQUALIFIED4Xuxue Feng
1017Munro F FigeroaIndia2024-05-30Benton, John B Jr NEGOTIATION26Ivan Magalhaes
1018Mujtaba Z InouyeAustralia2024-06-05Printing Dimensions UNQUALIFIED95Bernardo Dominic
1019Juan U DilliardBrazil2024-06-11Feiner Bros NEGOTIATION65Onyama Limba
1020Stacey P WhobreyCanada2024-06-12Printing Dimensions UNQUALIFIED68Asiya Javayant
1021Munro U DilliardCanada2024-05-24Feiner Bros RENEWAL87Elwin Sharvill
1022Sinclair G SaylorsSpain2024-05-23Rousseaux, Michael Esq UNQUALIFIED83Xuxue Feng
1023Mayumi Y SlusarskiCanada2024-06-18Dorl, James J Esq QUALIFIED55Bernardo Dominic
1024Jennifer E OldroydCanada2024-05-28Rangoni Of Florence NEGOTIATION34Anna Fali
1025Leja C MaletUnited Kingdom2024-06-18Chemel, James L Cpa NEW79Asiya Javayant
1026Kadeem W RoysterArgentina2024-06-15King, Christopher A Esq RENEWAL15Anna Fali
1027Juan X OstroskyFrance2024-06-05Morlong Associates PROPOSAL22Onyama Limba
1028Emily H InouyeArgentina2024-05-30Feltz Printing Service PROPOSAL95Elwin Sharvill
1029Alejandro N KuskoAustralia2024-06-08Rousseaux, Michael Esq NEGOTIATION32Amy Elsner
1030Juan G BologniaArgentina2024-06-03King, Christopher A Esq UNQUALIFIED70Amy Elsner
1031Octavia N GauchoSpain2024-05-24Rousseaux, Michael Esq NEW34Xuxue Feng
1032Cody D BriddickGermany2024-05-23Rousseaux, Michael Esq RENEWAL50Onyama Limba
1033Octavia F PaprockiItaly2024-05-31Feltz Printing Service NEGOTIATION7Ivan Magalhaes
1034Maisha A TollnerCanada2024-06-13Rousseaux, Michael Esq UNQUALIFIED30Anna Fali
1035Leja K MaletBrazil2024-06-05Chemel, James L Cpa NEW62Anna Fali
1036Leon C FollerFrance2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED8Xuxue Feng
1037Murillo K DilliardCanada2024-06-06Commercial Press QUALIFIED92Asiya Javayant
1038Costa O WieserCanada2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED89Ioni Bowcher
1039Morrow O BriddickSpain2024-06-21Chanay, Jeffrey A Esq PROPOSAL0Asiya Javayant
1040Salvatore H OstroskyAustralia2024-06-03Feiner Bros PROPOSAL55Bernardo Dominic
1041Emily F TollnerJapan2024-05-30Chemel, James L Cpa QUALIFIED56Amy Elsner
1042Mayumi G ChuiCanada2024-05-25Dorl, James J Esq QUALIFIED62Amy Elsner
1043Salvatore W WaycottCanada2024-06-10Rangoni Of Florence UNQUALIFIED73Asiya Javayant
1044Chavez X NickaArgentina2024-06-19Chanay, Jeffrey A Esq QUALIFIED54Amy Elsner
1045Mujtaba A DoeUnited Kingdom2024-06-20Commercial Press QUALIFIED35Amy Elsner
1046Greenwood M FollerItaly2024-05-26Morlong Associates PROPOSAL57Onyama Limba
1047Maria O GlickAustralia2024-06-07Benton, John B Jr NEW49Amy Elsner
1048Alejandro I PoquetteUnited Kingdom2024-05-25Chapman, Ross E Esq UNQUALIFIED22Asiya Javayant
1049Deepesh O FigeroaIndia2024-06-02Printing Dimensions RENEWAL1Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Darci D TollnerRussiaAsiya Javayant NEW
Maisha Z OstroskyBrazilAnna Fali NEGOTIATION
Darci H WieserUnited KingdomIoni Bowcher QUALIFIED
Cody Z KolmetzArgentinaStephen Shaw NEGOTIATION
Costa H CampainItalyIoni Bowcher NEGOTIATION
Cody C RutaItalyBernardo Dominic QUALIFIED
Morrow T SaylorsCanadaAsiya Javayant PROPOSAL
Francesco H CaldareraUnited KingdomStephen Shaw NEW
Jefferson V VocelkaFranceIvan Magalhaes UNQUALIFIED
Greenwood F SergiGermanyStephen Shaw UNQUALIFIED
Adams V VocelkaIndiaXuxue Feng QUALIFIED
Chavez R GarufiGermanyIoni Bowcher PROPOSAL
Jennifer O StensethAustraliaElwin Sharvill UNQUALIFIED
Morrow T MaletUnited KingdomBernardo Dominic PROPOSAL
Alejandro R RulapaughFranceAnna Fali QUALIFIED
Johnson C GlickItalyOnyama Limba RENEWAL
Ashley D MaletBrazilStephen Shaw NEGOTIATION
Julie V PoquetteAustraliaXuxue Feng QUALIFIED
Greenwood H KuskoIndiaStephen Shaw NEW
Clifford U TollnerGermanyIvan Magalhaes UNQUALIFIED
Morrow T NestleCanadaOnyama Limba PROPOSAL
Kadeem X StockhamCanadaAnna Fali UNQUALIFIED
Emily X PaprockiIndiaBernardo Dominic NEW
Cody W NickaBrazilXuxue Feng RENEWAL
Isabel P RulapaughBrazilBernardo Dominic NEGOTIATION
Munro J ShinkoIndiaIvan Magalhaes UNQUALIFIED
Kadeem G NickaFranceElwin Sharvill NEW
Julie Q ChuiAustraliaIoni Bowcher QUALIFIED
Claire Y SaylorsJapanBernardo Dominic QUALIFIED
Jennifer A VenereUnited KingdomXuxue Feng NEW
Julie X RulapaughRussiaElwin Sharvill QUALIFIED
Octavia W VocelkaArgentinaXuxue Feng PROPOSAL
Izzy X GlickFranceXuxue Feng NEW
Kaitlin P RimSpainAnna Fali NEW
Juan C GauchoFranceElwin Sharvill RENEWAL
Aditya P MarrierFranceOnyama Limba PROPOSAL
Murillo R MaletJapanAsiya Javayant UNQUALIFIED
Clifford V BriddickSpainBernardo Dominic RENEWAL
Juan M BowleyGermanyIoni Bowcher NEW
Stacey P IturbideFranceBernardo Dominic QUALIFIED
James I AlbaresRussiaXuxue Feng UNQUALIFIED
Aika Y RimJapanOnyama Limba UNQUALIFIED
David T FlosiUnited KingdomElwin Sharvill NEGOTIATION
Izzy G RoysterUnited KingdomBernardo Dominic NEW
Juan G RoysterFranceBernardo Dominic UNQUALIFIED
Emily H GarufiJapanXuxue Feng QUALIFIED
David G NickaSpainAnna Fali NEW
Juan K AmigonFranceAnna Fali NEGOTIATION
Greenwood V SergiFranceXuxue Feng UNQUALIFIED
Aruna D GlickArgentinaAsiya Javayant RENEWAL
Frozen Columns
Name
Julie Q Foller
Nicolas W Kolmetz
Jeanfrancois E Sergi
Leja Z Doe
Maria A Doe
David R Ostrosky
Cody L Foller
Izzy O Maclead
Cody R Figeroa
Morrow R Morasca
Aditya J Marrier
Adams L Dilliard
Ricardo T Stockham
Isabel D Kusko
Sinclair N Whobrey
Aruna J Ruta
Arvin C Caldarera
Juan D Morasca
Ricardo H Flosi
Isabel V Malet
Deepesh U Glick
Rodrigues M Vocelka
James O Glick
Jones P Kolmetz
Wickens H Bolognia
Izzy R Ruta
Morrow L Glick
Misaki Y Perin
Antonio P Stenseth
Salvatore T Ruta
Rodrigues C Ruta
Kadeem C Schemmer
Mujtaba J Campain
Nicolas V Maclead
Maisha O Schemmer
Francesco I Morasca
Chavez F Kusko
Claire P Kolmetz
Munro U Saylors
Deepesh S Ferencz
Faith K Wieser
Juan Z Whobrey
David M Tollner
Octavia Q Rulapaugh
Aika C Dilliard
Faith K Nicka
David Z Venere
Ashley J Malet
Francesco V Malet
Rodrigues F Perin
IdCountryDate
1000France2024-06-06
1001France2024-05-27
1002Germany2024-06-06
1003Italy2024-06-02
1004Russia2024-06-05
1005France2024-06-13
1006Germany2024-05-26
1007Japan2024-05-30
1008Brazil2024-05-24
1009Germany2024-06-02
1010Japan2024-06-16
1011Japan2024-06-06
1012Canada2024-06-05
1013Canada2024-06-20
1014United Kingdom2024-06-20
1015Russia2024-06-07
1016India2024-05-25
1017Brazil2024-05-26
1018Germany2024-06-06
1019Argentina2024-06-10
1020Australia2024-06-15
1021France2024-06-20
1022Argentina2024-06-03
1023Japan2024-06-01
1024Argentina2024-05-23
1025Argentina2024-05-25
1026Spain2024-06-05
1027Italy2024-06-18
1028Brazil2024-06-11
1029Russia2024-06-19
1030Spain2024-05-27
1031Spain2024-06-15
1032Canada2024-06-17
1033France2024-06-20
1034Spain2024-06-04
1035Italy2024-06-17
1036Australia2024-06-05
1037United Kingdom2024-05-24
1038India2024-05-26
1039United Kingdom2024-05-31
1040Spain2024-06-16
1041Canada2024-06-16
1042United Kingdom2024-06-04
1043Argentina2024-06-10
1044Canada2024-05-27
1045United Kingdom2024-05-30
1046Argentina2024-06-05
1047United Kingdom2024-06-02
1048India2024-05-28
1049Canada2024-05-25

On-Demand Data

NameIdCountryDate
Julie U Morasca1000India2024-06-20
Emily Y Sergi1001Japan2024-06-11
Mayumi K Maclead1002Australia2024-05-25
Wickens V Caudy1003India2024-05-26
Kadeem M Bolognia1004India2024-06-10
Clifford M Rulapaugh1005France2024-05-31
Emily Z Venere1006Russia2024-05-25
Aditya Z Bowley1007Argentina2024-06-11
Aditya H Kolmetz1008United Kingdom2024-05-30
Leon X Dilliard1009Italy2024-06-06
Maria J Figeroa1010France2024-06-03
Greenwood J Royster1011Canada2024-05-23
Sinclair V Bowley1012Spain2024-06-02
David R Butt1013United Kingdom2024-06-18
Johnson M Whobrey1014Japan2024-05-31
Emily Z Ferencz1015Italy2024-05-30
Kaitlin Z Garufi1016Canada2024-06-21
Chavez C Shinko1017Canada2024-06-16
Smith Q Inouye1018Spain2024-06-04
Octavia P Caudy1019Argentina2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria T WieserJapanXuxue Feng QUALIFIED
Mujtaba Q MaletGermanyIvan Magalhaes RENEWAL
Tony C ShinkoAustraliaAmy Elsner QUALIFIED
Deepesh Y MaletIndiaIvan Magalhaes UNQUALIFIED
Johnson W OldroydGermanyXuxue Feng UNQUALIFIED
Deepesh Z KuskoGermanyAnna Fali NEGOTIATION
Stacey H MacleadRussiaBernardo Dominic NEW
Jefferson V OstroskyFranceAmy Elsner PROPOSAL
Stacey H KuskoCanadaIoni Bowcher PROPOSAL
Leja T CampainIndiaStephen Shaw PROPOSAL
Jones J SlusarskiIndiaIoni Bowcher RENEWAL
Tony G DarakjyJapanStephen Shaw QUALIFIED
Leon C AmigonJapanAnna Fali PROPOSAL
Isabel W GarufiSpainAsiya Javayant PROPOSAL
Arvin T PerinIndiaStephen Shaw RENEWAL
Wickens T OldroydJapanXuxue Feng QUALIFIED
Francesco X BriddickIndiaAsiya Javayant QUALIFIED
Aika X MaletIndiaElwin Sharvill QUALIFIED
Tony L RimFranceOnyama Limba PROPOSAL
Smith H BriddickIndiaStephen Shaw NEGOTIATION
Rodrigues X SlusarskiRussiaIoni Bowcher NEW
Kaitlin B RoysterItalyAsiya Javayant PROPOSAL
Wickens S SergiFranceStephen Shaw NEW
Johnson T IturbideJapanOnyama Limba PROPOSAL
Greenwood J SergiFranceAmy Elsner UNQUALIFIED
Mujtaba Z OldroydArgentinaAnna Fali RENEWAL
Arvin R FlosiAustraliaElwin Sharvill RENEWAL
Cody C SergiIndiaAnna Fali PROPOSAL
Francesco F ShinkoItalyOnyama Limba RENEWAL
Kaitlin Z DarakjyIndiaOnyama Limba NEW
Morrow E NestleArgentinaElwin Sharvill NEGOTIATION
Greenwood W RimJapanElwin Sharvill UNQUALIFIED
Cody G MorascaIndiaAnna Fali PROPOSAL
Tony K RulapaughSpainAmy Elsner QUALIFIED
Maisha W AmigonSpainIoni Bowcher NEW
Antonio D CaudyJapanStephen Shaw RENEWAL
Aruna L SchemmerFranceBernardo Dominic QUALIFIED
Silvio N KolmetzCanadaIvan Magalhaes PROPOSAL
Alejandro K IturbideFranceElwin Sharvill PROPOSAL
Salvatore N MarrierCanadaStephen Shaw 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>