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
Leja I OstroskySpainIvan Magalhaes QUALIFIED
Claire P RutaSpainAnna Fali UNQUALIFIED
Kaitlin Y MarrierCanadaBernardo Dominic RENEWAL
Greenwood L GauchoIndiaBernardo Dominic NEW
James F GillianBrazilIoni Bowcher PROPOSAL
Munro A CampainItalyIvan Magalhaes QUALIFIED
Octavia G PerinBrazilAsiya Javayant PROPOSAL
James P GarufiAustraliaOnyama Limba QUALIFIED
Salvatore L GlickBrazilAsiya Javayant NEW
James A GlickSpainOnyama Limba NEW
Maria J KuskoRussiaStephen Shaw UNQUALIFIED
Aruna U KuskoAustraliaXuxue Feng NEW
Antonio E RimUnited KingdomAnna Fali QUALIFIED
Misaki M ChuiArgentinaAmy Elsner UNQUALIFIED
Smith I BologniaAustraliaAsiya Javayant UNQUALIFIED
Aditya R SlusarskiIndiaElwin Sharvill NEGOTIATION
Julie M GlickArgentinaOnyama Limba RENEWAL
Isabel Q CaudyFranceIoni Bowcher QUALIFIED
Ashley S MarrierSpainOnyama Limba PROPOSAL
Faith S BologniaRussiaStephen Shaw UNQUALIFIED
Aika J SergiJapanXuxue Feng QUALIFIED
Ashley Q GlickGermanyOnyama Limba NEW
Ricardo Y RulapaughSpainIvan Magalhaes RENEWAL
Deepesh X DilliardFranceStephen Shaw NEGOTIATION
Leja O IturbideFranceStephen Shaw NEGOTIATION
Jones I FigeroaRussiaAnna Fali NEGOTIATION
Murillo R GillianBrazilStephen Shaw UNQUALIFIED
Ivar S WieserJapanAmy Elsner NEW
Alejandro R KolmetzRussiaOnyama Limba PROPOSAL
Greenwood J FollerFranceIoni Bowcher PROPOSAL
Nicolas P RoysterJapanAsiya Javayant NEW
Jennifer W RoysterFranceXuxue Feng QUALIFIED
Salvatore G KuskoGermanyAsiya Javayant NEGOTIATION
Mujtaba Y ChuiGermanyBernardo Dominic NEW
Alejandro I CaldareraCanadaAnna Fali NEW
Maria E SlusarskiJapanIoni Bowcher NEW
Claire B ButtItalyAsiya Javayant PROPOSAL
Salvatore A SlusarskiItalyBernardo Dominic RENEWAL
Ashley V BologniaUnited KingdomElwin Sharvill NEGOTIATION
Leja V MaletRussiaAsiya Javayant PROPOSAL
Sinclair X WhobreyFranceIvan Magalhaes NEGOTIATION
Maisha K FerenczArgentinaIvan Magalhaes NEW
Adams A MacleadFranceAmy Elsner QUALIFIED
Nicolas S NickaGermanyBernardo Dominic NEW
Chavez X CaudyArgentinaIvan Magalhaes UNQUALIFIED
Leon Q CaldareraGermanyAmy Elsner QUALIFIED
Jeanfrancois T VenereJapanStephen Shaw PROPOSAL
Ivar E KuskoAustraliaIoni Bowcher UNQUALIFIED
Clifford J RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh L GlickItalyOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues L OldroydUnited KingdomAmy Elsner QUALIFIED
Julie E StensethGermanyXuxue Feng QUALIFIED
Ivar F VenereFranceElwin Sharvill UNQUALIFIED
Costa A NickaItalyAmy Elsner UNQUALIFIED
Emily U NestleFranceAmy Elsner RENEWAL
Morrow H MorascaIndiaIoni Bowcher UNQUALIFIED
David B InouyeJapanXuxue Feng NEW
Antonio B RimRussiaAsiya Javayant NEGOTIATION
Faith H InouyeSpainIoni Bowcher UNQUALIFIED
Salvatore F GarufiUnited KingdomOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon Q RulapaughFrance2024-06-01Chemel, James L Cpa QUALIFIED92Ioni Bowcher
1001Silvio Y CaldareraFrance2024-06-17Chemel, James L Cpa NEGOTIATION44Bernardo Dominic
1002Morrow H DarakjyJapan2024-06-12Feltz Printing Service RENEWAL93Amy Elsner
1003Jeanfrancois C RoysterBrazil2024-06-21Benton, John B Jr NEGOTIATION90Xuxue Feng
1004Smith T MorascaSpain2024-06-23Morlong Associates PROPOSAL9Onyama Limba
1005Salvatore G IturbideIndia2024-05-31Chemel, James L Cpa RENEWAL71Onyama Limba
1006Ashley N PaprockiAustralia2024-06-11Feiner Bros NEGOTIATION30Ioni Bowcher
1007Tony W ChuiItaly2024-06-24King, Christopher A Esq NEW29Ioni Bowcher
1008Maria U SaylorsIndia2024-06-07Printing Dimensions QUALIFIED64Stephen Shaw
1009Salvatore U FigeroaItaly2024-06-18Chapman, Ross E Esq NEW93Elwin Sharvill
1010Octavia L NestleBrazil2024-06-24King, Christopher A Esq PROPOSAL70Elwin Sharvill
1011Cody O TollnerItaly2024-06-20Benton, John B Jr UNQUALIFIED35Xuxue Feng
1012Emily B GillianJapan2024-06-24Printing Dimensions UNQUALIFIED96Amy Elsner
1013Octavia J WhobreyAustralia2024-05-27Chemel, James L Cpa UNQUALIFIED13Onyama Limba
1014Izzy D OldroydUnited Kingdom2024-06-24King, Christopher A Esq RENEWAL63Ivan Magalhaes
1015Kaitlin H BologniaRussia2024-06-10Chanay, Jeffrey A Esq NEGOTIATION99Anna Fali
1016David K PoquetteItaly2024-06-23Rangoni Of Florence NEW40Onyama Limba
1017Aditya D OstroskyRussia2024-06-05Feiner Bros RENEWAL16Anna Fali
1018Maria K CaldareraIndia2024-06-21Feltz Printing Service RENEWAL67Amy Elsner
1019Leja F MacleadJapan2024-06-03Truhlar And Truhlar Attys UNQUALIFIED13Elwin Sharvill
1020Alejandro T GauchoCanada2024-06-02Benton, John B Jr RENEWAL53Bernardo Dominic
1021Aditya K ButtIndia2024-05-26Chemel, James L Cpa PROPOSAL5Ioni Bowcher
1022Chavez N StockhamUnited Kingdom2024-05-26Morlong Associates NEGOTIATION55Elwin Sharvill
1023Clifford E AmigonIndia2024-05-29Morlong Associates NEW60Stephen Shaw
1024Jennifer N InouyeCanada2024-06-05Feiner Bros QUALIFIED29Asiya Javayant
1025Isabel F NestleFrance2024-06-13Morlong Associates RENEWAL13Ivan Magalhaes
1026Mujtaba K WaycottCanada2024-05-27Feltz Printing Service NEW68Asiya Javayant
1027Cody H VenereCanada2024-06-09Buckley Miller Wright NEGOTIATION24Onyama Limba
1028Emily R DilliardUnited Kingdom2024-06-06Feltz Printing Service NEGOTIATION75Xuxue Feng
1029Kadeem D WieserBrazil2024-05-26Rangoni Of Florence NEGOTIATION82Stephen Shaw
1030Alejandro R WaycottBrazil2024-06-16Commercial Press NEGOTIATION2Xuxue Feng
1031Murillo G MacleadAustralia2024-06-06Commercial Press PROPOSAL69Bernardo Dominic
1032Francesco F KolmetzIndia2024-06-01Commercial Press NEW64Anna Fali
1033Aditya Z ChuiAustralia2024-06-03Printing Dimensions NEGOTIATION68Elwin Sharvill
1034Sinclair L KuskoBrazil2024-06-19Printing Dimensions PROPOSAL40Onyama Limba
1035Mayumi P GarufiArgentina2024-06-15Chapman, Ross E Esq UNQUALIFIED42Stephen Shaw
1036Faith N WieserBrazil2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED23Amy Elsner
1037Octavia W VocelkaAustralia2024-06-14Truhlar And Truhlar Attys NEW11Xuxue Feng
1038Ashley J KuskoUnited Kingdom2024-06-16Buckley Miller Wright UNQUALIFIED24Xuxue Feng
1039Greenwood P IturbideAustralia2024-06-07Chapman, Ross E Esq UNQUALIFIED60Asiya Javayant
1040Clifford M MacleadGermany2024-06-15Feltz Printing Service PROPOSAL43Elwin Sharvill
1041Darci D ButtJapan2024-06-09Rangoni Of Florence QUALIFIED6Anna Fali
1042Francesco R BologniaItaly2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED33Elwin Sharvill
1043Isabel Z PerinArgentina2024-06-23Feiner Bros NEW4Ivan Magalhaes
1044Silvio R StockhamGermany2024-06-10Dorl, James J Esq PROPOSAL43Xuxue Feng
1045Claire H WaycottRussia2024-06-23Chanay, Jeffrey A Esq QUALIFIED55Onyama Limba
1046Clifford Q FlosiIndia2024-06-22Chanay, Jeffrey A Esq RENEWAL33Ioni Bowcher
1047Clifford R GlickCanada2024-06-05Chanay, Jeffrey A Esq RENEWAL9Xuxue Feng
1048Jones Q RimGermany2024-06-19King, Christopher A Esq NEGOTIATION94Elwin Sharvill
1049Deepesh I KolmetzBrazil2024-06-02Commercial Press UNQUALIFIED67Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ashley B FollerUnited KingdomOnyama Limba QUALIFIED
Darci L WieserGermanyOnyama Limba QUALIFIED
Tony I GlickAustraliaAnna Fali RENEWAL
Jones H FlosiFranceAnna Fali UNQUALIFIED
Emily X CaudyUnited KingdomElwin Sharvill RENEWAL
Francesco T GlickArgentinaXuxue Feng QUALIFIED
Smith S ChuiRussiaBernardo Dominic UNQUALIFIED
Leon S StockhamCanadaIoni Bowcher QUALIFIED
Chavez Y OldroydCanadaBernardo Dominic PROPOSAL
Francesco B DoeFranceBernardo Dominic RENEWAL
Costa Y NickaRussiaBernardo Dominic QUALIFIED
Arvin K GlickArgentinaBernardo Dominic UNQUALIFIED
Izzy Q InouyeRussiaAnna Fali PROPOSAL
Mayumi T BologniaBrazilAsiya Javayant NEGOTIATION
Deepesh S MarrierCanadaXuxue Feng NEW
Mayumi B NickaJapanXuxue Feng NEGOTIATION
Silvio N SergiBrazilIvan Magalhaes RENEWAL
Misaki F AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
Maria I GillianArgentinaAsiya Javayant NEW
Aika W IturbideIndiaIvan Magalhaes PROPOSAL
Leja J OstroskyUnited KingdomAmy Elsner RENEWAL
Munro C KolmetzFranceElwin Sharvill NEW
Deepesh C MacleadFranceIoni Bowcher RENEWAL
Ricardo O NestleRussiaBernardo Dominic PROPOSAL
Leon H RimRussiaAsiya Javayant RENEWAL
Alejandro Q IturbideFranceElwin Sharvill QUALIFIED
Aditya O ShinkoSpainAmy Elsner RENEWAL
Jeanfrancois C DilliardAustraliaOnyama Limba QUALIFIED
Clifford I WaycottFranceAmy Elsner UNQUALIFIED
Antonio M PerinFranceStephen Shaw NEW
Kadeem G PaprockiGermanyIvan Magalhaes PROPOSAL
Deepesh X FlosiSpainStephen Shaw RENEWAL
Chavez V RutaBrazilBernardo Dominic QUALIFIED
Johnson H RimCanadaXuxue Feng UNQUALIFIED
Rodrigues C GlickSpainXuxue Feng PROPOSAL
Izzy F FigeroaIndiaElwin Sharvill NEGOTIATION
Maisha M PoquetteArgentinaIvan Magalhaes RENEWAL
Costa M VenereArgentinaAsiya Javayant PROPOSAL
Ivar H OldroydIndiaIvan Magalhaes QUALIFIED
Leon T WhobreyItalyElwin Sharvill PROPOSAL
Mayumi W GarufiGermanyAsiya Javayant PROPOSAL
Arvin Q KuskoGermanyElwin Sharvill RENEWAL
Chavez R FerenczGermanyXuxue Feng QUALIFIED
Costa C VenereFranceAnna Fali NEGOTIATION
Ricardo A PerinArgentinaIoni Bowcher UNQUALIFIED
Stacey B CaldareraArgentinaAsiya Javayant QUALIFIED
Mujtaba J GillianArgentinaOnyama Limba NEGOTIATION
Ricardo O FollerBrazilAnna Fali QUALIFIED
Izzy V PaprockiSpainOnyama Limba NEGOTIATION
Costa F DilliardArgentinaAnna Fali NEGOTIATION
Frozen Columns
Name
Izzy A Stockham
Rodrigues C Stockham
Ivar Z Caudy
Adams J Ferencz
Juan X Morasca
Emily Z Chui
Izzy N Rulapaugh
Johnson I Darakjy
Adams Z Maclead
Juan Y Royster
Ricardo K Nicka
Greenwood X Rim
Leja N Ferencz
Salvatore D Vocelka
James G Ferencz
Jeanfrancois Z Stenseth
Alejandro M Kolmetz
Chavez B Stockham
Octavia G Dilliard
Claire V Wieser
Morrow A Figeroa
Nicolas J Nestle
Isabel J Foller
Maria Y Gillian
Chavez A Saylors
Ivar K Venere
Stacey I Wieser
Ricardo V Gillian
Julie C Gaucho
Clifford V Shinko
Jones S Wieser
Murillo Y Butt
Adams O Amigon
Mujtaba B Rulapaugh
Leon Z Slusarski
Jeanfrancois M Foller
Izzy S Campain
Antonio U Rulapaugh
Jeanfrancois J Sergi
Misaki Z Maclead
Rodrigues O Gaucho
Jennifer P Ruta
Leon C Schemmer
Kaitlin H Darakjy
Wickens M Maclead
Johnson C Poquette
Claire N Campain
Kadeem Y Malet
Aruna K Saylors
Costa P Royster
IdCountryDate
1000Russia2024-06-24
1001Germany2024-06-10
1002India2024-06-17
1003Brazil2024-06-06
1004Australia2024-06-15
1005Australia2024-05-30
1006Japan2024-06-02
1007Germany2024-06-23
1008Germany2024-05-28
1009Brazil2024-06-18
1010Italy2024-06-15
1011Japan2024-06-24
1012Canada2024-06-10
1013Russia2024-05-27
1014Canada2024-06-24
1015Italy2024-06-17
1016Italy2024-06-04
1017Canada2024-06-09
1018Australia2024-05-28
1019Spain2024-06-02
1020Brazil2024-05-30
1021Russia2024-06-01
1022Japan2024-06-15
1023Brazil2024-05-29
1024Spain2024-06-13
1025France2024-06-21
1026Spain2024-05-26
1027Argentina2024-06-05
1028India2024-06-11
1029Germany2024-05-26
1030Russia2024-06-24
1031Germany2024-06-03
1032Germany2024-05-29
1033Brazil2024-06-08
1034Germany2024-06-08
1035Germany2024-06-07
1036Argentina2024-06-12
1037Italy2024-06-20
1038Argentina2024-06-01
1039France2024-06-21
1040Germany2024-06-01
1041Argentina2024-05-28
1042Argentina2024-06-11
1043Canada2024-06-20
1044Brazil2024-05-28
1045Spain2024-06-11
1046Russia2024-06-02
1047Australia2024-06-18
1048Brazil2024-05-28
1049Brazil2024-06-19

On-Demand Data

NameIdCountryDate
Cody A Dilliard1000Germany2024-06-18
Julie C Maclead1001Italy2024-06-23
James D Butt1002Spain2024-05-31
Misaki F Gaucho1003Spain2024-06-05
Johnson Y Malet1004France2024-06-01
Antonio N Caudy1005India2024-05-27
Deepesh N Campain1006United Kingdom2024-06-04
Mayumi M Wieser1007Italy2024-06-10
Chavez X Wieser1008Canada2024-05-26
Smith F Glick1009Japan2024-05-30
Misaki I Waycott1010Argentina2024-05-27
Faith P Malet1011Germany2024-06-04
Darci G Marrier1012Russia2024-06-04
Stacey A Dilliard1013India2024-06-08
Wickens X Maclead1014Spain2024-06-14
Leja N Nicka1015Russia2024-06-21
Silvio A Morasca1016Argentina2024-05-28
Kaitlin J Tollner1017Canada2024-06-04
Izzy L Rim1018Italy2024-06-24
Chavez S Schemmer1019Brazil2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford G WieserItalyIoni Bowcher NEGOTIATION
Maria Z GillianSpainIoni Bowcher NEW
Nicolas R ShinkoSpainAsiya Javayant UNQUALIFIED
James Q SaylorsItalyAmy Elsner UNQUALIFIED
Kaitlin G RimItalyAmy Elsner PROPOSAL
Jennifer A OldroydGermanyAsiya Javayant RENEWAL
Ivar N RutaAustraliaXuxue Feng NEGOTIATION
Johnson U RoysterUnited KingdomOnyama Limba QUALIFIED
Cody Y WaycottAustraliaElwin Sharvill PROPOSAL
Sinclair N RulapaughArgentinaAmy Elsner QUALIFIED
Antonio J RulapaughJapanIvan Magalhaes UNQUALIFIED
Chavez V FlosiIndiaBernardo Dominic UNQUALIFIED
Aika P RutaJapanStephen Shaw QUALIFIED
Nicolas T OstroskyBrazilAnna Fali QUALIFIED
Aditya Y MorascaIndiaBernardo Dominic PROPOSAL
Kadeem Q GillianFranceOnyama Limba RENEWAL
Ivar C CampainGermanyAsiya Javayant PROPOSAL
Maria R DarakjyItalyBernardo Dominic NEW
Jennifer C WaycottItalyAsiya Javayant PROPOSAL
David T BowleyJapanXuxue Feng NEW
Julie X SlusarskiRussiaXuxue Feng NEGOTIATION
Clifford O CaudyBrazilOnyama Limba UNQUALIFIED
Ashley X MaletRussiaIvan Magalhaes RENEWAL
Cody F PaprockiJapanStephen Shaw PROPOSAL
James K CaldareraBrazilAnna Fali UNQUALIFIED
Mujtaba O WhobreyJapanOnyama Limba NEGOTIATION
Isabel J NestleIndiaBernardo Dominic QUALIFIED
Chavez I DilliardIndiaStephen Shaw PROPOSAL
Wickens M MacleadJapanAnna Fali PROPOSAL
Antonio I AlbaresSpainXuxue Feng UNQUALIFIED
Salvatore I SaylorsIndiaAmy Elsner UNQUALIFIED
Izzy A CaudyItalyStephen Shaw UNQUALIFIED
Johnson B VocelkaFranceAnna Fali UNQUALIFIED
Silvio O SlusarskiSpainElwin Sharvill NEW
Clifford T GarufiJapanAsiya Javayant UNQUALIFIED
Rodrigues Z SergiCanadaIvan Magalhaes RENEWAL
Adams O FlosiAustraliaElwin Sharvill PROPOSAL
Juan R PaprockiIndiaAnna Fali NEW
Aika W CaudySpainIvan Magalhaes NEGOTIATION
Kaitlin C ChuiUnited KingdomAnna Fali 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>