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
Salvatore B CaldareraFranceElwin Sharvill NEW
Mayumi F SlusarskiIndiaStephen Shaw RENEWAL
Maisha Y RimSpainStephen Shaw RENEWAL
Darci M SlusarskiSpainIoni Bowcher QUALIFIED
Ricardo J FigeroaCanadaAmy Elsner PROPOSAL
Arvin G WhobreyJapanIoni Bowcher RENEWAL
Jones H PoquetteJapanBernardo Dominic UNQUALIFIED
Antonio H BologniaSpainIoni Bowcher RENEWAL
Jeanfrancois P FigeroaBrazilBernardo Dominic QUALIFIED
Costa I CaldareraGermanyAmy Elsner UNQUALIFIED
Stacey D KolmetzItalyAmy Elsner NEW
Arvin N GillianCanadaElwin Sharvill QUALIFIED
Jones Q KolmetzFranceIoni Bowcher QUALIFIED
Ashley G BowleyCanadaOnyama Limba NEGOTIATION
Clifford F GarufiItalyElwin Sharvill RENEWAL
Darci O FigeroaSpainOnyama Limba PROPOSAL
Ivar Z SaylorsItalyIvan Magalhaes NEW
Julie A WieserGermanyIvan Magalhaes RENEWAL
Silvio P FerenczGermanyXuxue Feng PROPOSAL
Johnson R SaylorsRussiaIvan Magalhaes RENEWAL
Mayumi P ButtGermanyBernardo Dominic QUALIFIED
Julie C VenereArgentinaXuxue Feng NEW
Jennifer V VenereItalyBernardo Dominic PROPOSAL
Mujtaba U WhobreyIndiaAnna Fali RENEWAL
Sinclair A SergiRussiaAnna Fali UNQUALIFIED
Munro H OstroskyItalyAmy Elsner NEGOTIATION
Antonio C GillianIndiaOnyama Limba NEGOTIATION
Ricardo E VenereCanadaStephen Shaw NEW
Jefferson J GauchoCanadaElwin Sharvill QUALIFIED
Leon M ButtJapanAmy Elsner RENEWAL
Stacey M AmigonItalyXuxue Feng PROPOSAL
Munro K ButtFranceAsiya Javayant UNQUALIFIED
Jeanfrancois O MaletUnited KingdomXuxue Feng NEGOTIATION
Adams W InouyeSpainOnyama Limba UNQUALIFIED
Murillo D GlickFranceIoni Bowcher UNQUALIFIED
Kadeem H NickaSpainXuxue Feng QUALIFIED
Smith D NestleFranceStephen Shaw NEW
Juan C KolmetzFranceAsiya Javayant UNQUALIFIED
Ashley P GlickGermanyIvan Magalhaes RENEWAL
Arvin L VenereItalyBernardo Dominic UNQUALIFIED
Chavez X PoquetteIndiaAnna Fali NEW
Adams R KuskoCanadaIvan Magalhaes PROPOSAL
Morrow Q SergiSpainXuxue Feng UNQUALIFIED
Aruna F InouyeGermanyXuxue Feng QUALIFIED
Emily R RoysterSpainAmy Elsner UNQUALIFIED
Munro R RulapaughArgentinaStephen Shaw PROPOSAL
Deepesh S RulapaughSpainAsiya Javayant RENEWAL
Rodrigues B VenereFranceElwin Sharvill RENEWAL
Claire K MaletCanadaOnyama Limba NEW
Jeanfrancois Y ChuiBrazilIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maisha Q PerinSpainOnyama Limba RENEWAL
Rodrigues Y RutaIndiaAnna Fali RENEWAL
Antonio T MorascaBrazilIoni Bowcher QUALIFIED
Murillo M NickaAustraliaElwin Sharvill RENEWAL
Alejandro G NestleIndiaBernardo Dominic NEGOTIATION
Greenwood X KuskoArgentinaIvan Magalhaes NEW
Murillo D FlosiBrazilElwin Sharvill UNQUALIFIED
Murillo Z WhobreyFranceStephen Shaw QUALIFIED
Chavez P KuskoGermanyXuxue Feng RENEWAL
Cody Y DoeIndiaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James P StensethUnited Kingdom2024-05-31Chanay, Jeffrey A Esq NEGOTIATION15Anna Fali
1001Rodrigues E InouyeUnited Kingdom2024-05-19Rangoni Of Florence NEGOTIATION86Elwin Sharvill
1002David E SchemmerBrazil2024-05-31Rangoni Of Florence UNQUALIFIED33Ioni Bowcher
1003Francesco R RulapaughAustralia2024-06-02Benton, John B Jr QUALIFIED73Onyama Limba
1004Maria S AmigonCanada2024-05-18Rousseaux, Michael Esq RENEWAL4Ivan Magalhaes
1005Leja D RoysterUnited Kingdom2024-06-05Dorl, James J Esq UNQUALIFIED99Asiya Javayant
1006Greenwood J OldroydArgentina2024-05-15Chemel, James L Cpa QUALIFIED62Stephen Shaw
1007Mayumi W MorascaItaly2024-05-16Buckley Miller Wright NEGOTIATION74Asiya Javayant
1008Adams K TollnerBrazil2024-05-20Benton, John B Jr NEW66Xuxue Feng
1009Kaitlin A MaletSpain2024-06-07Rangoni Of Florence NEGOTIATION22Anna Fali
1010Leja P FlosiRussia2024-05-19Chemel, James L Cpa QUALIFIED99Xuxue Feng
1011Salvatore Q NickaGermany2024-05-15Buckley Miller Wright NEGOTIATION6Ioni Bowcher
1012Murillo L NickaSpain2024-05-18Feiner Bros PROPOSAL31Anna Fali
1013Chavez J NickaSpain2024-05-28Morlong Associates QUALIFIED64Onyama Limba
1014Silvio E MarrierFrance2024-05-19Buckley Miller Wright PROPOSAL36Asiya Javayant
1015Arvin Z OstroskyIndia2024-05-11Buckley Miller Wright QUALIFIED83Onyama Limba
1016Wickens M PerinIndia2024-05-23Rangoni Of Florence RENEWAL12Anna Fali
1017Aditya B StensethRussia2024-05-12Rousseaux, Michael Esq NEW26Amy Elsner
1018Aditya Q WhobreyIndia2024-06-01King, Christopher A Esq NEGOTIATION2Elwin Sharvill
1019Antonio Y PerinFrance2024-05-26Rousseaux, Michael Esq RENEWAL68Xuxue Feng
1020Greenwood C ButtRussia2024-05-29Rangoni Of Florence NEGOTIATION63Ioni Bowcher
1021Johnson N GlickUnited Kingdom2024-05-31Rangoni Of Florence RENEWAL80Xuxue Feng
1022Costa Q CampainBrazil2024-06-08Commercial Press PROPOSAL23Bernardo Dominic
1023Rodrigues D BowleyUnited Kingdom2024-05-30Rousseaux, Michael Esq PROPOSAL33Ivan Magalhaes
1024Ivar R BriddickFrance2024-05-23Morlong Associates NEGOTIATION11Onyama Limba
1025Ricardo F FigeroaSpain2024-05-28Chapman, Ross E Esq QUALIFIED94Ivan Magalhaes
1026Aditya R ShinkoItaly2024-05-19Chemel, James L Cpa QUALIFIED72Amy Elsner
1027Murillo V AmigonCanada2024-06-02Truhlar And Truhlar Attys NEGOTIATION95Elwin Sharvill
1028Wickens P InouyeGermany2024-05-31Truhlar And Truhlar Attys UNQUALIFIED61Stephen Shaw
1029Tony P OstroskyAustralia2024-05-13Truhlar And Truhlar Attys NEGOTIATION11Amy Elsner
1030James V MarrierAustralia2024-06-04Dorl, James J Esq PROPOSAL56Anna Fali
1031Misaki M SchemmerIndia2024-05-23Chapman, Ross E Esq UNQUALIFIED2Bernardo Dominic
1032Clifford S WieserFrance2024-05-21Benton, John B Jr PROPOSAL36Anna Fali
1033Maria E SchemmerGermany2024-06-02Benton, John B Jr QUALIFIED50Stephen Shaw
1034Wickens M MaletArgentina2024-06-01Feiner Bros NEGOTIATION95Xuxue Feng
1035Ivar F FigeroaUnited Kingdom2024-05-31Benton, John B Jr NEGOTIATION72Elwin Sharvill
1036Maisha Q KolmetzGermany2024-05-31Truhlar And Truhlar Attys NEW61Ivan Magalhaes
1037Jefferson J MacleadSpain2024-05-11Morlong Associates UNQUALIFIED64Ivan Magalhaes
1038Maria U VocelkaAustralia2024-05-31Morlong Associates PROPOSAL32Xuxue Feng
1039Darci Y DoeIndia2024-05-20Commercial Press QUALIFIED83Ivan Magalhaes
1040Jeanfrancois G TollnerSpain2024-05-25Feiner Bros UNQUALIFIED13Ivan Magalhaes
1041Izzy S MacleadCanada2024-06-03Truhlar And Truhlar Attys QUALIFIED37Ivan Magalhaes
1042Isabel O RoysterSpain2024-05-13Dorl, James J Esq UNQUALIFIED47Stephen Shaw
1043Silvio Z RimSpain2024-05-21Morlong Associates NEW28Anna Fali
1044Johnson G PaprockiFrance2024-05-16Truhlar And Truhlar Attys UNQUALIFIED33Elwin Sharvill
1045Aruna M InouyeGermany2024-05-28Chemel, James L Cpa PROPOSAL97Anna Fali
1046Stacey E MacleadSpain2024-06-06Buckley Miller Wright NEW52Elwin Sharvill
1047Izzy U SchemmerAustralia2024-05-13Rousseaux, Michael Esq PROPOSAL24Xuxue Feng
1048Clifford X PaprockiFrance2024-05-22Buckley Miller Wright PROPOSAL61Anna Fali
1049Isabel L StensethItaly2024-05-30Truhlar And Truhlar Attys PROPOSAL8Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jennifer R InouyeJapanAsiya Javayant PROPOSAL
Leja L MarrierRussiaIvan Magalhaes QUALIFIED
Claire M FollerUnited KingdomAnna Fali RENEWAL
Aika J AlbaresIndiaStephen Shaw UNQUALIFIED
Francesco L SergiJapanXuxue Feng QUALIFIED
Greenwood S BowleyRussiaAsiya Javayant NEGOTIATION
Cody A IturbideJapanAmy Elsner RENEWAL
Faith L MaletIndiaXuxue Feng NEW
Chavez B KuskoCanadaElwin Sharvill UNQUALIFIED
Sinclair Y StockhamIndiaElwin Sharvill PROPOSAL
Rodrigues M FollerSpainAsiya Javayant NEW
Misaki V FigeroaAustraliaBernardo Dominic QUALIFIED
Adams B VocelkaAustraliaOnyama Limba QUALIFIED
Greenwood J MaletBrazilAnna Fali NEW
Aika W OldroydCanadaXuxue Feng NEW
Maisha X ButtGermanyXuxue Feng QUALIFIED
James L DilliardJapanXuxue Feng NEW
Jones Z InouyeGermanyIoni Bowcher UNQUALIFIED
Costa R RutaIndiaIvan Magalhaes RENEWAL
Claire U KuskoJapanIoni Bowcher NEGOTIATION
Tony R AlbaresItalyStephen Shaw QUALIFIED
Claire J DarakjyUnited KingdomXuxue Feng QUALIFIED
Claire M RimFranceStephen Shaw RENEWAL
Kaitlin G PoquetteSpainAsiya Javayant RENEWAL
Emily W KolmetzArgentinaStephen Shaw NEW
Alejandro D RulapaughSpainAsiya Javayant PROPOSAL
Nicolas M DarakjyIndiaAsiya Javayant NEW
Maria P OldroydGermanyElwin Sharvill PROPOSAL
Salvatore S SaylorsArgentinaXuxue Feng QUALIFIED
Adams L NestleBrazilIoni Bowcher NEGOTIATION
Munro W GarufiFranceElwin Sharvill UNQUALIFIED
Isabel V PoquetteBrazilOnyama Limba NEGOTIATION
Costa O ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
Adams D SaylorsIndiaXuxue Feng QUALIFIED
Maisha U OstroskyItalyAnna Fali NEW
Juan A StensethSpainXuxue Feng RENEWAL
Emily O KuskoCanadaXuxue Feng NEW
Isabel H PaprockiJapanXuxue Feng QUALIFIED
Aditya K SaylorsFranceAsiya Javayant PROPOSAL
Isabel X VenereItalyAmy Elsner NEW
Izzy F WaycottItalyElwin Sharvill PROPOSAL
Jennifer Z PoquetteAustraliaIoni Bowcher QUALIFIED
Greenwood A FlosiJapanXuxue Feng NEGOTIATION
Nicolas K CampainAustraliaAmy Elsner PROPOSAL
Salvatore I RimCanadaOnyama Limba PROPOSAL
Jefferson R PoquetteBrazilElwin Sharvill NEGOTIATION
Tony A VocelkaArgentinaBernardo Dominic QUALIFIED
Maisha E AmigonRussiaIvan Magalhaes NEGOTIATION
Ashley Y KolmetzArgentinaXuxue Feng RENEWAL
Octavia Z RutaItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Francesco E Stockham
Isabel R Oldroyd
Jefferson J Glick
Maria A Inouye
Emily L Ferencz
Johnson P Slusarski
Aruna N Rim
Ashley E Waycott
Emily J Rim
Jennifer C Figeroa
Rodrigues I Tollner
Faith C Slusarski
Munro B Gaucho
James T Malet
Stacey Z Nicka
Kaitlin Z Ostrosky
Octavia R Sergi
Jeanfrancois V Butt
Aika M Ostrosky
Leja H Garufi
Greenwood K Caudy
Claire T Butt
Johnson K Morasca
Wickens D Nestle
Julie N Whobrey
Salvatore F Sergi
Ashley R Caldarera
Kaitlin D Gaucho
Izzy S Shinko
Antonio F Figeroa
Clifford F Malet
Murillo L Schemmer
Johnson I Waycott
Maria K Schemmer
David D Gaucho
Johnson O Nestle
Salvatore Q Bowley
Maria V Kolmetz
Murillo N Gillian
Claire G Stockham
Julie X Perin
Wickens S Sergi
Arvin S Caldarera
Mujtaba A Caudy
Leon S Briddick
Deepesh A Malet
Wickens T Venere
Costa D Caldarera
Rodrigues T Iturbide
Clifford Z Malet
IdCountryDate
1000India2024-05-20
1001Italy2024-05-17
1002Japan2024-05-18
1003Australia2024-05-30
1004Italy2024-05-26
1005Brazil2024-05-20
1006India2024-06-08
1007Russia2024-05-26
1008Germany2024-06-05
1009Australia2024-06-02
1010Russia2024-05-17
1011Russia2024-05-13
1012Italy2024-05-28
1013India2024-05-11
1014Russia2024-05-24
1015Germany2024-05-28
1016United Kingdom2024-05-24
1017Italy2024-05-30
1018Brazil2024-06-06
1019Canada2024-06-04
1020Brazil2024-05-20
1021India2024-06-06
1022Japan2024-05-12
1023Australia2024-05-11
1024Japan2024-05-10
1025United Kingdom2024-06-01
1026Japan2024-05-18
1027Argentina2024-05-18
1028Australia2024-05-29
1029Australia2024-05-29
1030Russia2024-05-10
1031France2024-05-29
1032Spain2024-05-25
1033Argentina2024-05-20
1034France2024-05-11
1035Italy2024-05-11
1036Canada2024-05-17
1037France2024-05-31
1038Russia2024-05-19
1039Brazil2024-06-04
1040India2024-06-01
1041Brazil2024-05-25
1042India2024-05-18
1043Australia2024-05-25
1044Germany2024-06-08
1045United Kingdom2024-05-16
1046Argentina2024-06-04
1047Canada2024-05-20
1048Japan2024-05-21
1049France2024-06-08

On-Demand Data

NameIdCountryDate
Adams T Iturbide1000Italy2024-05-26
Leja K Figeroa1001Germany2024-05-30
Greenwood X Oldroyd1002Brazil2024-06-02
Nicolas J Rim1003Canada2024-05-10
Stacey I Saylors1004Argentina2024-05-10
Octavia Y Perin1005Argentina2024-05-12
Izzy E Figeroa1006Brazil2024-06-04
Jefferson G Ostrosky1007Russia2024-05-15
Clifford S Shinko1008Australia2024-05-17
Claire K Shinko1009Russia2024-05-22
Ashley E Foller1010United Kingdom2024-05-23
Jennifer U Waycott1011Canada2024-05-14
Izzy D Kusko1012Canada2024-05-16
Johnson T Maclead1013Spain2024-06-07
Juan K Chui1014United Kingdom2024-05-23
Leja R Wieser1015United Kingdom2024-06-06
Chavez F Morasca1016United Kingdom2024-06-02
Adams Q Slusarski1017India2024-05-21
Clifford D Kusko1018Japan2024-05-19
Munro K Amigon1019India2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair J MaletFranceElwin Sharvill QUALIFIED
Kadeem C StensethBrazilBernardo Dominic NEW
Mujtaba D GlickCanadaIvan Magalhaes QUALIFIED
Deepesh C SergiAustraliaAmy Elsner NEW
Nicolas X SchemmerArgentinaElwin Sharvill NEGOTIATION
Aditya M FigeroaArgentinaIoni Bowcher NEGOTIATION
Izzy K FollerArgentinaXuxue Feng PROPOSAL
Claire U WieserArgentinaAsiya Javayant RENEWAL
Mayumi E KolmetzCanadaXuxue Feng NEGOTIATION
Ricardo E BowleySpainAmy Elsner QUALIFIED
Jeanfrancois P StockhamUnited KingdomXuxue Feng NEGOTIATION
Stacey R AmigonRussiaOnyama Limba RENEWAL
Claire E MorascaBrazilIvan Magalhaes RENEWAL
Leon E NickaItalyIvan Magalhaes UNQUALIFIED
Adams V GarufiItalyStephen Shaw PROPOSAL
Mujtaba I WieserIndiaStephen Shaw NEGOTIATION
Rodrigues Y CaldareraIndiaXuxue Feng QUALIFIED
Johnson V RulapaughCanadaIvan Magalhaes QUALIFIED
Antonio Z RoysterUnited KingdomIvan Magalhaes PROPOSAL
Kaitlin X AmigonAustraliaXuxue Feng NEGOTIATION
David N KolmetzAustraliaStephen Shaw PROPOSAL
Murillo E FerenczItalyIvan Magalhaes NEGOTIATION
Clifford O AmigonBrazilXuxue Feng PROPOSAL
Alejandro O InouyeBrazilXuxue Feng NEGOTIATION
Munro R PoquetteCanadaStephen Shaw NEGOTIATION
Claire F IturbideJapanIoni Bowcher NEGOTIATION
Ashley K DilliardRussiaAsiya Javayant NEW
Tony F ChuiBrazilAmy Elsner UNQUALIFIED
Clifford W SlusarskiJapanAsiya Javayant QUALIFIED
Morrow Q RimCanadaOnyama Limba PROPOSAL
Jennifer J VenereIndiaStephen Shaw NEW
Deepesh O GarufiBrazilIoni Bowcher PROPOSAL
Arvin Q RulapaughJapanXuxue Feng NEGOTIATION
Costa H WhobreyItalyElwin Sharvill NEW
Silvio E AlbaresJapanAnna Fali PROPOSAL
Claire Z ButtIndiaStephen Shaw PROPOSAL
Smith G PoquetteGermanyElwin Sharvill RENEWAL
Izzy C CaudyFranceIvan Magalhaes NEGOTIATION
David G GarufiRussiaOnyama Limba PROPOSAL
Johnson O FollerCanadaBernardo Dominic PROPOSAL

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