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
Juan G CaudyRussiaOnyama Limba NEW
Izzy C PaprockiJapanIvan Magalhaes RENEWAL
Jefferson O AmigonJapanAsiya Javayant UNQUALIFIED
Julie O FerenczBrazilOnyama Limba NEW
Kadeem N DarakjyFranceElwin Sharvill RENEWAL
Johnson U NestleRussiaIvan Magalhaes UNQUALIFIED
Cody F ShinkoRussiaIvan Magalhaes NEW
Kaitlin G GarufiSpainAsiya Javayant UNQUALIFIED
Rodrigues P WieserFranceIoni Bowcher UNQUALIFIED
Munro I IturbideFranceIvan Magalhaes QUALIFIED
Juan J InouyeGermanyIvan Magalhaes PROPOSAL
Emily P VocelkaUnited KingdomBernardo Dominic NEW
Kaitlin M ShinkoItalyAmy Elsner NEGOTIATION
Stacey F FigeroaBrazilIvan Magalhaes RENEWAL
James K CampainRussiaAmy Elsner NEW
Kadeem R CampainArgentinaAnna Fali QUALIFIED
Rodrigues K AlbaresJapanIoni Bowcher PROPOSAL
Leon Q RulapaughFranceIvan Magalhaes RENEWAL
Stacey B StensethJapanIoni Bowcher QUALIFIED
Morrow T BologniaJapanIoni Bowcher NEGOTIATION
Rodrigues E ChuiUnited KingdomXuxue Feng RENEWAL
David Z FlosiSpainBernardo Dominic RENEWAL
Emily E StockhamAustraliaElwin Sharvill RENEWAL
Faith Z SergiUnited KingdomBernardo Dominic NEW
Leja I DoeItalyIoni Bowcher RENEWAL
Tony N DarakjyCanadaIvan Magalhaes NEW
Aruna V NestleBrazilIvan Magalhaes PROPOSAL
Leon W StensethGermanyBernardo Dominic UNQUALIFIED
Mujtaba Z ShinkoBrazilIoni Bowcher RENEWAL
Aditya P FollerArgentinaStephen Shaw QUALIFIED
Stacey A RimUnited KingdomXuxue Feng QUALIFIED
Sinclair O WaycottIndiaAnna Fali UNQUALIFIED
David Y WhobreyArgentinaElwin Sharvill NEW
Aika V NestleCanadaAsiya Javayant RENEWAL
Aditya Q GillianItalyElwin Sharvill UNQUALIFIED
Nicolas U CampainBrazilOnyama Limba NEW
Silvio O IturbideSpainStephen Shaw NEW
Kaitlin A BowleyFranceXuxue Feng UNQUALIFIED
Clifford A WhobreyJapanOnyama Limba PROPOSAL
Aruna M RimItalyXuxue Feng PROPOSAL
Francesco V StensethBrazilAmy Elsner PROPOSAL
Tony Q MarrierFranceBernardo Dominic NEW
Alejandro X InouyeCanadaElwin Sharvill QUALIFIED
David O VenereGermanyAnna Fali NEW
Sinclair C SaylorsIndiaBernardo Dominic QUALIFIED
Faith K SaylorsJapanAsiya Javayant PROPOSAL
Ricardo V PaprockiUnited KingdomBernardo Dominic RENEWAL
Darci O BowleyBrazilOnyama Limba NEGOTIATION
Juan H KuskoIndiaAnna Fali UNQUALIFIED
Jefferson Z DarakjyArgentinaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Mujtaba H ShinkoUnited KingdomAsiya Javayant PROPOSAL
Izzy U ChuiUnited KingdomOnyama Limba RENEWAL
Adams A PerinUnited KingdomElwin Sharvill NEW
Misaki M VocelkaGermanyStephen Shaw NEW
Jeanfrancois D AlbaresRussiaBernardo Dominic NEW
Arvin O MaletSpainXuxue Feng NEGOTIATION
Julie Z KolmetzAustraliaStephen Shaw QUALIFIED
Maria X GlickItalyAnna Fali NEW
Salvatore P AmigonCanadaXuxue Feng NEGOTIATION
Jeanfrancois T SergiBrazilOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues G GarufiItaly2024-06-23Rousseaux, Michael Esq NEW28Ioni Bowcher
1001Mayumi D SergiFrance2024-06-23Commercial Press QUALIFIED93Ivan Magalhaes
1002Aditya W TollnerJapan2024-06-23Morlong Associates QUALIFIED60Xuxue Feng
1003Isabel C VocelkaAustralia2024-06-11King, Christopher A Esq UNQUALIFIED56Bernardo Dominic
1004Salvatore E KuskoJapan2024-05-29Printing Dimensions RENEWAL46Stephen Shaw
1005Mujtaba B KolmetzAustralia2024-06-08Printing Dimensions NEGOTIATION58Ivan Magalhaes
1006Morrow R SlusarskiJapan2024-06-21Morlong Associates NEW16Amy Elsner
1007Clifford Y RulapaughArgentina2024-05-27Morlong Associates NEGOTIATION64Ivan Magalhaes
1008Aditya O AlbaresBrazil2024-06-23Chemel, James L Cpa QUALIFIED91Elwin Sharvill
1009Nicolas A FlosiSpain2024-06-01Commercial Press RENEWAL7Stephen Shaw
1010Munro Q MarrierItaly2024-06-24Buckley Miller Wright UNQUALIFIED65Asiya Javayant
1011Johnson S FlosiSpain2024-06-02Chemel, James L Cpa UNQUALIFIED61Asiya Javayant
1012Mayumi O StensethAustralia2024-06-22Rangoni Of Florence NEW41Ivan Magalhaes
1013Francesco M CampainArgentina2024-06-20Chapman, Ross E Esq NEW59Elwin Sharvill
1014Munro D SergiCanada2024-06-19Chemel, James L Cpa PROPOSAL90Xuxue Feng
1015Nicolas C WhobreyGermany2024-05-30Chemel, James L Cpa RENEWAL87Anna Fali
1016Clifford S FlosiJapan2024-06-10Feltz Printing Service NEGOTIATION26Ivan Magalhaes
1017Silvio Z ChuiGermany2024-05-30Printing Dimensions UNQUALIFIED25Stephen Shaw
1018Silvio E SaylorsBrazil2024-05-26Buckley Miller Wright RENEWAL0Xuxue Feng
1019Alejandro X MarrierSpain2024-06-17Benton, John B Jr PROPOSAL16Elwin Sharvill
1020Aditya R MorascaBrazil2024-06-08Chanay, Jeffrey A Esq NEW38Ivan Magalhaes
1021Juan X GauchoIndia2024-06-15King, Christopher A Esq NEGOTIATION24Asiya Javayant
1022Faith A MaletSpain2024-06-03Benton, John B Jr PROPOSAL52Anna Fali
1023Mujtaba H GlickSpain2024-06-06Chapman, Ross E Esq NEGOTIATION85Stephen Shaw
1024Leja V AmigonFrance2024-06-20Chemel, James L Cpa NEGOTIATION27Ivan Magalhaes
1025Morrow M BowleyCanada2024-06-03Rangoni Of Florence QUALIFIED99Stephen Shaw
1026Ivar F WhobreyAustralia2024-06-16Chapman, Ross E Esq PROPOSAL22Bernardo Dominic
1027Nicolas D DoeFrance2024-06-08Rousseaux, Michael Esq NEGOTIATION95Bernardo Dominic
1028Murillo B CaldareraUnited Kingdom2024-06-04Benton, John B Jr QUALIFIED96Xuxue Feng
1029Clifford H MarrierIndia2024-06-12Chemel, James L Cpa UNQUALIFIED62Anna Fali
1030Aruna G OldroydIndia2024-06-02Morlong Associates NEGOTIATION59Amy Elsner
1031Arvin D WhobreyRussia2024-05-29Rangoni Of Florence NEGOTIATION61Bernardo Dominic
1032Smith Q InouyeBrazil2024-06-15King, Christopher A Esq UNQUALIFIED90Bernardo Dominic
1033Aruna R SaylorsUnited Kingdom2024-06-06Morlong Associates PROPOSAL50Onyama Limba
1034Jones O StensethAustralia2024-05-28Feiner Bros UNQUALIFIED67Ivan Magalhaes
1035Rodrigues U GauchoFrance2024-06-22Feltz Printing Service QUALIFIED73Xuxue Feng
1036Smith G ShinkoAustralia2024-06-16Chapman, Ross E Esq PROPOSAL30Ivan Magalhaes
1037Kadeem B MaletBrazil2024-06-09Benton, John B Jr NEGOTIATION75Anna Fali
1038Kaitlin D WaycottItaly2024-06-23King, Christopher A Esq NEGOTIATION86Xuxue Feng
1039Rodrigues T PaprockiItaly2024-06-07King, Christopher A Esq PROPOSAL24Stephen Shaw
1040Greenwood K CampainBrazil2024-06-13Benton, John B Jr UNQUALIFIED70Anna Fali
1041Chavez V RutaItaly2024-06-02Printing Dimensions UNQUALIFIED63Bernardo Dominic
1042Kadeem Q BologniaAustralia2024-06-06Commercial Press QUALIFIED61Stephen Shaw
1043Arvin S WhobreyGermany2024-06-10Rousseaux, Michael Esq NEW44Anna Fali
1044Kadeem J StockhamUnited Kingdom2024-05-31Truhlar And Truhlar Attys NEGOTIATION30Xuxue Feng
1045Costa K FigeroaBrazil2024-06-22Rousseaux, Michael Esq UNQUALIFIED13Stephen Shaw
1046Greenwood H MaletCanada2024-06-10Chemel, James L Cpa UNQUALIFIED10Ivan Magalhaes
1047Jefferson O NickaIndia2024-06-01King, Christopher A Esq NEGOTIATION23Xuxue Feng
1048Francesco O WaycottSpain2024-06-15Truhlar And Truhlar Attys PROPOSAL16Xuxue Feng
1049Murillo J StockhamIndia2024-06-14Printing Dimensions RENEWAL6Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Izzy M ChuiIndiaOnyama Limba RENEWAL
Costa S FerenczIndiaIoni Bowcher NEGOTIATION
Aruna F SaylorsCanadaOnyama Limba QUALIFIED
Sinclair P BowleyArgentinaXuxue Feng UNQUALIFIED
Misaki G FlosiRussiaAsiya Javayant NEGOTIATION
Murillo I SaylorsGermanyXuxue Feng QUALIFIED
Smith Q DoeUnited KingdomBernardo Dominic RENEWAL
Silvio D ChuiCanadaAsiya Javayant RENEWAL
Costa H MacleadUnited KingdomOnyama Limba RENEWAL
Arvin Q AlbaresBrazilAnna Fali QUALIFIED
Maisha O RutaItalyAnna Fali NEW
Costa J DarakjyRussiaAmy Elsner UNQUALIFIED
Ricardo E FollerBrazilBernardo Dominic RENEWAL
Antonio M SlusarskiArgentinaElwin Sharvill RENEWAL
Aika B WaycottCanadaIvan Magalhaes NEGOTIATION
Deepesh M InouyeUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson X WhobreyItalyOnyama Limba NEGOTIATION
Salvatore E RulapaughRussiaElwin Sharvill NEGOTIATION
Francesco C IturbideFranceBernardo Dominic QUALIFIED
Jennifer V MacleadGermanyIvan Magalhaes RENEWAL
Izzy A OldroydCanadaBernardo Dominic RENEWAL
Alejandro Z CaudySpainAnna Fali QUALIFIED
Cody C WhobreyItalyElwin Sharvill QUALIFIED
Sinclair P FerenczGermanyStephen Shaw RENEWAL
Jeanfrancois Q RoysterRussiaStephen Shaw UNQUALIFIED
Nicolas K IturbideItalyOnyama Limba NEGOTIATION
Wickens K GauchoAustraliaOnyama Limba NEW
Juan Y FigeroaBrazilIoni Bowcher NEW
Jeanfrancois K NickaGermanyXuxue Feng RENEWAL
Deepesh W FerenczRussiaIoni Bowcher PROPOSAL
Murillo E KolmetzAustraliaIoni Bowcher QUALIFIED
Misaki Q WaycottAustraliaAsiya Javayant RENEWAL
Izzy M SergiArgentinaXuxue Feng UNQUALIFIED
Izzy U StockhamArgentinaIvan Magalhaes NEW
Kaitlin C GarufiCanadaAmy Elsner NEW
Chavez Z MarrierFranceAnna Fali UNQUALIFIED
Chavez K SchemmerGermanyAsiya Javayant QUALIFIED
Aruna M GlickJapanIoni Bowcher RENEWAL
Smith P RoysterJapanElwin Sharvill RENEWAL
Isabel U SaylorsArgentinaIoni Bowcher UNQUALIFIED
Adams Q MaletIndiaBernardo Dominic UNQUALIFIED
Greenwood W CaldareraJapanIvan Magalhaes NEW
Arvin I KolmetzBrazilIvan Magalhaes NEW
Cody H ButtRussiaAmy Elsner RENEWAL
Jefferson F GillianIndiaXuxue Feng NEW
Murillo Z GillianItalyAnna Fali QUALIFIED
Jeanfrancois H MaletArgentinaAmy Elsner QUALIFIED
Leon L SchemmerCanadaAsiya Javayant PROPOSAL
Ricardo Q AmigonIndiaElwin Sharvill QUALIFIED
Johnson C WaycottArgentinaAmy Elsner NEGOTIATION
Frozen Columns
Name
Jennifer S Gillian
Murillo N Inouye
Jennifer E Wieser
Misaki O Chui
Salvatore E Paprocki
Maria C Royster
James L Kusko
Julie T Kolmetz
Jeanfrancois M Ferencz
Munro M Inouye
Darci C Flosi
Morrow G Venere
Mujtaba L Shinko
Mayumi S Waycott
Smith H Morasca
Clifford O Garufi
Izzy J Wieser
Johnson K Royster
Chavez K Gaucho
Tony D Figeroa
Alejandro E Chui
Aditya E Nestle
Chavez A Stockham
Adams I Chui
Greenwood E Venere
Misaki L Vocelka
Salvatore T Tollner
Alejandro G Schemmer
Sinclair I Royster
Jeanfrancois P Malet
Faith R Butt
Deepesh C Shinko
Claire J Waycott
Jennifer V Iturbide
Johnson X Foller
Octavia D Venere
Maisha Z Whobrey
Johnson N Oldroyd
Smith O Gaucho
Kaitlin W Perin
Julie H Dilliard
Aruna X Dilliard
Stacey D Morasca
Stacey U Nicka
Johnson W Morasca
Ivar H Oldroyd
Wickens B Butt
Smith L Maclead
Arvin V Marrier
James E Ostrosky
IdCountryDate
1000France2024-06-01
1001Brazil2024-06-22
1002Spain2024-06-03
1003Argentina2024-05-31
1004Australia2024-06-12
1005Spain2024-06-11
1006Brazil2024-06-04
1007Russia2024-05-31
1008France2024-06-07
1009Germany2024-06-17
1010Australia2024-06-08
1011Spain2024-06-22
1012Australia2024-05-27
1013Brazil2024-06-14
1014Australia2024-06-10
1015France2024-06-19
1016India2024-05-27
1017Argentina2024-06-22
1018Argentina2024-06-15
1019Argentina2024-06-05
1020Australia2024-06-17
1021Italy2024-06-14
1022Italy2024-06-18
1023Argentina2024-06-02
1024Russia2024-05-28
1025India2024-05-27
1026France2024-06-20
1027Japan2024-06-07
1028France2024-06-17
1029Germany2024-06-11
1030Germany2024-06-17
1031Australia2024-06-09
1032Argentina2024-06-23
1033Japan2024-05-26
1034Canada2024-06-21
1035Spain2024-06-14
1036Canada2024-06-12
1037France2024-06-20
1038Argentina2024-06-06
1039United Kingdom2024-06-22
1040India2024-05-26
1041India2024-06-23
1042India2024-06-10
1043Japan2024-05-28
1044Japan2024-06-09
1045Italy2024-06-22
1046Brazil2024-06-04
1047India2024-06-07
1048Australia2024-06-01
1049Russia2024-06-02

On-Demand Data

NameIdCountryDate
Misaki Z Foller1000France2024-06-02
Jeanfrancois V Ferencz1001Argentina2024-06-22
Claire O Gillian1002Germany2024-06-18
Aika P Venere1003United Kingdom2024-06-19
Tony U Malet1004Russia2024-06-18
Octavia C Caldarera1005France2024-06-14
Antonio M Whobrey1006Russia2024-06-12
Jones B Schemmer1007Canada2024-05-27
David J Oldroyd1008Spain2024-06-24
Alejandro G Gaucho1009Germany2024-05-26
Tony C Foller1010Russia2024-05-26
Maisha D Malet1011Germany2024-06-20
James M Paprocki1012Germany2024-06-05
Costa N Venere1013India2024-06-10
Ashley W Paprocki1014Japan2024-06-17
Murillo Y Oldroyd1015United Kingdom2024-06-08
Greenwood U Iturbide1016India2024-06-07
Adams O Nicka1017Canada2024-06-17
Sinclair X Vocelka1018Spain2024-05-30
Wickens J Iturbide1019Germany2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio M PerinCanadaIoni Bowcher PROPOSAL
Ashley F StockhamCanadaIoni Bowcher PROPOSAL
Kadeem K DarakjyAustraliaOnyama Limba PROPOSAL
Morrow I NestleSpainAmy Elsner RENEWAL
Aruna G WaycottCanadaXuxue Feng NEGOTIATION
Nicolas N FerenczBrazilElwin Sharvill NEGOTIATION
Faith F FollerUnited KingdomIoni Bowcher RENEWAL
Munro T MacleadIndiaAsiya Javayant RENEWAL
Leon T FigeroaJapanIoni Bowcher RENEWAL
Silvio O ButtGermanyElwin Sharvill QUALIFIED
Antonio D PoquetteAustraliaElwin Sharvill PROPOSAL
Mujtaba K ChuiCanadaBernardo Dominic PROPOSAL
Darci N SlusarskiFranceElwin Sharvill QUALIFIED
Clifford V BologniaFranceOnyama Limba NEW
Maria M StockhamCanadaBernardo Dominic NEW
Emily K ButtAustraliaIvan Magalhaes RENEWAL
David W WieserItalyStephen Shaw QUALIFIED
James I MarrierIndiaOnyama Limba UNQUALIFIED
David U RimJapanIoni Bowcher RENEWAL
Francesco T MaletJapanElwin Sharvill UNQUALIFIED
Salvatore N NickaSpainOnyama Limba PROPOSAL
Ivar T StensethFranceIoni Bowcher PROPOSAL
Kaitlin M ChuiAustraliaAsiya Javayant RENEWAL
Jennifer W CampainRussiaBernardo Dominic PROPOSAL
Greenwood U FollerIndiaStephen Shaw RENEWAL
Murillo E FigeroaArgentinaIoni Bowcher QUALIFIED
Greenwood B MarrierGermanyAsiya Javayant UNQUALIFIED
Mayumi K InouyeBrazilAmy Elsner PROPOSAL
Izzy J BologniaBrazilAnna Fali RENEWAL
Munro L MarrierJapanOnyama Limba QUALIFIED
Morrow L BologniaFranceIvan Magalhaes QUALIFIED
Arvin P NestleJapanBernardo Dominic RENEWAL
Kadeem P ButtCanadaBernardo Dominic QUALIFIED
James I PerinSpainStephen Shaw NEW
Stacey W KolmetzBrazilIvan Magalhaes PROPOSAL
Leon A BowleyIndiaOnyama Limba NEW
Rodrigues J OstroskyArgentinaAmy Elsner QUALIFIED
Aruna X StensethRussiaAsiya Javayant UNQUALIFIED
Murillo M ShinkoArgentinaIoni Bowcher UNQUALIFIED
Leon J PoquetteItalyIoni Bowcher 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>