November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Ivar Q VocelkaIndiaIoni Bowcher RENEWAL
Wickens W SergiRussiaBernardo Dominic QUALIFIED
Aditya V MacleadUnited KingdomAsiya Javayant PROPOSAL
Kadeem L NickaBrazilAnna Fali PROPOSAL
Stacey A OstroskyCanadaAnna Fali QUALIFIED
Silvio A PoquetteBrazilIvan Magalhaes RENEWAL
Julie R VocelkaRussiaAmy Elsner NEGOTIATION
Faith N RimCanadaOnyama Limba UNQUALIFIED
Tony S BologniaJapanStephen Shaw NEGOTIATION
Octavia Z GauchoIndiaOnyama Limba NEGOTIATION
Sinclair V MorascaCanadaElwin Sharvill PROPOSAL
Chavez H DoeRussiaBernardo Dominic RENEWAL
Alejandro D VocelkaJapanIvan Magalhaes PROPOSAL
Faith N GauchoCanadaIvan Magalhaes QUALIFIED
Julie L MaletIndiaStephen Shaw QUALIFIED
Jones U BowleyBrazilIoni Bowcher QUALIFIED
Izzy I InouyeArgentinaXuxue Feng QUALIFIED
Smith O KuskoArgentinaAnna Fali NEW
Jefferson Q GarufiBrazilXuxue Feng NEGOTIATION
Ashley O GauchoArgentinaIoni Bowcher NEGOTIATION
Leon R RutaIndiaAmy Elsner NEGOTIATION
Adams R OldroydGermanyElwin Sharvill NEGOTIATION
Izzy R MarrierIndiaXuxue Feng PROPOSAL
Sinclair Z GillianFranceAsiya Javayant NEW
Jefferson T GlickArgentinaElwin Sharvill NEGOTIATION
Ashley G PaprockiArgentinaAmy Elsner UNQUALIFIED
Maisha Y IturbideIndiaIoni Bowcher NEW
Jones A StockhamIndiaIoni Bowcher NEGOTIATION
David I NestleJapanXuxue Feng QUALIFIED
Aika F KolmetzUnited KingdomAmy Elsner NEW
Emily X BologniaSpainElwin Sharvill NEGOTIATION
Arvin E FerenczItalyIoni Bowcher NEW
Smith I KuskoBrazilAmy Elsner UNQUALIFIED
Jones G ShinkoSpainStephen Shaw NEGOTIATION
Rodrigues H VocelkaRussiaIvan Magalhaes NEW
Leon S OstroskyFranceBernardo Dominic QUALIFIED
Jones I CampainBrazilElwin Sharvill RENEWAL
Kaitlin X FollerGermanyStephen Shaw NEGOTIATION
Isabel I CaldareraItalyAmy Elsner NEGOTIATION
Aruna D DoeSpainAsiya Javayant RENEWAL
Munro U ChuiUnited KingdomXuxue Feng PROPOSAL
Smith G SaylorsSpainAsiya Javayant NEGOTIATION
Adams M WhobreyRussiaXuxue Feng PROPOSAL
Clifford O DilliardUnited KingdomAnna Fali UNQUALIFIED
Mujtaba J StensethItalyAnna Fali NEGOTIATION
Claire L OldroydRussiaStephen Shaw RENEWAL
Aika Z GillianUnited KingdomIvan Magalhaes NEGOTIATION
Leon Z StockhamGermanyAnna Fali QUALIFIED
Kaitlin E ButtBrazilElwin Sharvill UNQUALIFIED
Tony C AmigonArgentinaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
James Y MaletJapanXuxue Feng NEGOTIATION
Deepesh M CampainIndiaOnyama Limba RENEWAL
Clifford S VenereIndiaAnna Fali NEGOTIATION
Jefferson S OldroydRussiaAsiya Javayant PROPOSAL
Kaitlin K BriddickRussiaStephen Shaw RENEWAL
Murillo A PerinIndiaElwin Sharvill QUALIFIED
Rodrigues Q MaletItalyXuxue Feng NEGOTIATION
Ivar P RimFranceAsiya Javayant NEW
Silvio E FigeroaItalyStephen Shaw UNQUALIFIED
Murillo I AmigonBrazilIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika Q MarrierAustralia2026-09-27Feiner Bros NEGOTIATION34Elwin Sharvill
1001Ashley T WaycottFrance2026-10-10Morlong Associates RENEWAL44Onyama Limba
1002Mujtaba T KolmetzGermany2026-10-16Rousseaux, Michael Esq PROPOSAL82Anna Fali
1003Stacey U AlbaresFrance2026-10-12Rousseaux, Michael Esq UNQUALIFIED10Elwin Sharvill
1004Arvin P BriddickUnited Kingdom2026-10-14Chapman, Ross E Esq RENEWAL57Onyama Limba
1005Munro F BowleySpain2026-10-05Feiner Bros NEW75Xuxue Feng
1006Maria Z DarakjyItaly2026-10-15Rangoni Of Florence RENEWAL53Bernardo Dominic
1007Julie O MacleadGermany2026-10-01Benton, John B Jr RENEWAL42Onyama Limba
1008Darci M AlbaresJapan2026-09-30Rangoni Of Florence PROPOSAL46Stephen Shaw
1009Kadeem X DoeArgentina2026-09-29Dorl, James J Esq QUALIFIED63Ivan Magalhaes
1010Juan W ChuiGermany2026-10-01Rousseaux, Michael Esq QUALIFIED73Ivan Magalhaes
1011Jones Y MaletUnited Kingdom2026-10-13Commercial Press NEW38Asiya Javayant
1012Aika L DoeCanada2026-10-10Feltz Printing Service NEGOTIATION96Stephen Shaw
1013Silvio H WieserItaly2026-10-12Dorl, James J Esq QUALIFIED88Ioni Bowcher
1014Alejandro Q GarufiArgentina2026-09-26Dorl, James J Esq QUALIFIED11Anna Fali
1015Julie M FollerBrazil2026-09-20Benton, John B Jr NEGOTIATION76Amy Elsner
1016Isabel N MacleadCanada2026-09-21King, Christopher A Esq UNQUALIFIED74Bernardo Dominic
1017Kadeem F CaldareraJapan2026-09-22Chapman, Ross E Esq NEW13Ivan Magalhaes
1018Munro W WaycottAustralia2026-09-23Dorl, James J Esq UNQUALIFIED32Onyama Limba
1019Aruna M VenereGermany2026-09-20Feltz Printing Service PROPOSAL39Bernardo Dominic
1020Juan H SlusarskiItaly2026-10-01Chapman, Ross E Esq NEGOTIATION72Xuxue Feng
1021Smith G OstroskyRussia2026-10-01Buckley Miller Wright PROPOSAL92Bernardo Dominic
1022Jennifer V FollerGermany2026-10-02Truhlar And Truhlar Attys UNQUALIFIED16Asiya Javayant
1023Antonio Q MacleadIndia2026-09-27Feltz Printing Service UNQUALIFIED20Stephen Shaw
1024Izzy U CampainBrazil2026-09-28Chanay, Jeffrey A Esq QUALIFIED87Ioni Bowcher
1025Darci O MorascaJapan2026-10-03Chapman, Ross E Esq QUALIFIED81Stephen Shaw
1026Jennifer F PerinJapan2026-10-03Truhlar And Truhlar Attys QUALIFIED94Anna Fali
1027Greenwood A CaudyCanada2026-10-13King, Christopher A Esq PROPOSAL95Elwin Sharvill
1028Wickens A NickaUnited Kingdom2026-09-29Dorl, James J Esq PROPOSAL26Anna Fali
1029Adams V FollerSpain2026-10-15Rousseaux, Michael Esq NEW92Onyama Limba
1030Izzy H DarakjyCanada2026-09-28Truhlar And Truhlar Attys RENEWAL99Amy Elsner
1031Arvin H FigeroaFrance2026-09-24Rousseaux, Michael Esq PROPOSAL92Anna Fali
1032Arvin L OstroskyArgentina2026-10-13Buckley Miller Wright PROPOSAL30Anna Fali
1033Francesco T OstroskyItaly2026-10-13Feiner Bros PROPOSAL15Anna Fali
1034Chavez G PoquetteCanada2026-10-05Buckley Miller Wright UNQUALIFIED55Anna Fali
1035Greenwood V GarufiIndia2026-10-05Chanay, Jeffrey A Esq NEW96Elwin Sharvill
1036Juan V MaletUnited Kingdom2026-10-10Morlong Associates NEW2Anna Fali
1037Jones D OldroydCanada2026-10-02Commercial Press QUALIFIED70Elwin Sharvill
1038Mujtaba T ShinkoIndia2026-10-09Feltz Printing Service QUALIFIED71Bernardo Dominic
1039Leon E TollnerUnited Kingdom2026-09-17Buckley Miller Wright UNQUALIFIED68Onyama Limba
1040Jennifer W InouyeSpain2026-09-17Rousseaux, Michael Esq QUALIFIED10Xuxue Feng
1041Juan C CaudyCanada2026-10-02Buckley Miller Wright NEGOTIATION37Ioni Bowcher
1042Kaitlin V NickaFrance2026-09-25Feiner Bros UNQUALIFIED1Anna Fali
1043Rodrigues V NickaSpain2026-10-12Feiner Bros RENEWAL19Ivan Magalhaes
1044Claire K FigeroaSpain2026-10-06Feltz Printing Service NEW93Asiya Javayant
1045Emily O SaylorsUnited Kingdom2026-10-09Commercial Press UNQUALIFIED1Ioni Bowcher
1046Salvatore X SaylorsGermany2026-10-03Feiner Bros QUALIFIED26Ioni Bowcher
1047David U RutaRussia2026-09-22Chemel, James L Cpa UNQUALIFIED29Ivan Magalhaes
1048Adams F WhobreyBrazil2026-10-14Chanay, Jeffrey A Esq NEGOTIATION2Stephen Shaw
1049Leon V MarrierCanada2026-10-01Benton, John B Jr UNQUALIFIED83Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Izzy D GarufiAustraliaAmy Elsner QUALIFIED
Isabel L SchemmerCanadaElwin Sharvill NEW
James T ShinkoUnited KingdomElwin Sharvill RENEWAL
Deepesh C CampainFranceXuxue Feng PROPOSAL
Emily T SaylorsIndiaIvan Magalhaes NEW
Silvio O PoquetteSpainBernardo Dominic RENEWAL
Antonio Z SlusarskiAustraliaAsiya Javayant NEW
Aika F DilliardArgentinaXuxue Feng NEW
Sinclair S GauchoCanadaBernardo Dominic QUALIFIED
Jefferson P FollerAustraliaElwin Sharvill QUALIFIED
Kadeem V FlosiItalyStephen Shaw PROPOSAL
Maisha I MaletFranceXuxue Feng RENEWAL
Francesco R GarufiCanadaStephen Shaw PROPOSAL
James Y RutaRussiaXuxue Feng UNQUALIFIED
Mayumi W WieserFranceStephen Shaw NEGOTIATION
Ricardo Z ChuiRussiaXuxue Feng RENEWAL
Nicolas Z StockhamCanadaIoni Bowcher RENEWAL
Isabel W PerinUnited KingdomBernardo Dominic QUALIFIED
Rodrigues B FlosiArgentinaOnyama Limba NEGOTIATION
Arvin Z BowleyIndiaBernardo Dominic QUALIFIED
Antonio A RoysterBrazilAsiya Javayant NEW
David B SchemmerIndiaElwin Sharvill PROPOSAL
Leon F MorascaGermanyAnna Fali PROPOSAL
Kaitlin A StensethArgentinaBernardo Dominic QUALIFIED
Leon Y BowleyBrazilAnna Fali UNQUALIFIED
Jefferson U AmigonAustraliaAnna Fali UNQUALIFIED
Aika K VenereUnited KingdomAmy Elsner PROPOSAL
Darci K GarufiJapanIoni Bowcher QUALIFIED
Octavia W VenereArgentinaStephen Shaw RENEWAL
Mujtaba E MaletIndiaAnna Fali NEW
Alejandro D PerinItalyElwin Sharvill NEGOTIATION
Octavia I AmigonBrazilXuxue Feng NEGOTIATION
Ashley Q MaletJapanAmy Elsner UNQUALIFIED
Aruna N BriddickAustraliaStephen Shaw PROPOSAL
Salvatore E BologniaBrazilBernardo Dominic QUALIFIED
Costa F GillianUnited KingdomAmy Elsner UNQUALIFIED
Claire L StockhamJapanOnyama Limba QUALIFIED
Emily K FerenczSpainIoni Bowcher UNQUALIFIED
Greenwood T OstroskyItalyAnna Fali NEW
Morrow U CampainJapanAmy Elsner RENEWAL
Tony C SchemmerGermanyOnyama Limba NEW
Clifford O BriddickArgentinaElwin Sharvill NEGOTIATION
Maria L SlusarskiUnited KingdomXuxue Feng RENEWAL
Morrow L VenereBrazilIoni Bowcher NEW
Murillo A SlusarskiJapanAnna Fali RENEWAL
Octavia D NestleIndiaXuxue Feng NEGOTIATION
Izzy O SergiUnited KingdomAmy Elsner QUALIFIED
Faith I WieserArgentinaElwin Sharvill PROPOSAL
Wickens U VenereIndiaXuxue Feng UNQUALIFIED
Tony L RulapaughCanadaOnyama Limba NEGOTIATION
Frozen Columns
Name
Munro K Rim
Francesco A Vocelka
Sinclair L Inouye
Murillo F Ostrosky
Emily H Sergi
Maria E Butt
Kaitlin I Albares
Jefferson H Rulapaugh
Murillo T Oldroyd
Jennifer F Foller
Maisha C Ostrosky
Alejandro J Amigon
Johnson W Morasca
Misaki Z Poquette
Juan U Schemmer
Munro O Bolognia
Jones N Rulapaugh
Nicolas B Briddick
Ivar R Slusarski
Munro G Morasca
Morrow K Amigon
James W Schemmer
Chavez I Figeroa
Cody X Stockham
Mujtaba U Royster
Mujtaba U Paprocki
Johnson U Whobrey
Mayumi R Rulapaugh
Salvatore O Schemmer
Sinclair T Flosi
Antonio A Bowley
Julie X Bolognia
Jefferson U Rim
Kaitlin V Caudy
Leon S Waycott
Aditya T Ostrosky
Costa N Rulapaugh
Aika A Stockham
Greenwood Y Saylors
Claire U Poquette
Wickens H Gillian
Julie T Flosi
Kadeem E Stockham
Jeanfrancois F Doe
Rodrigues C Albares
James E Malet
Jeanfrancois M Malet
Jones Z Ruta
Jennifer I Perin
Mayumi Q Wieser
IdCountryDate
1000Canada2026-10-04
1001France2026-09-17
1002France2026-09-28
1003Australia2026-09-23
1004India2026-10-16
1005Italy2026-10-16
1006Italy2026-09-18
1007Italy2026-09-27
1008United Kingdom2026-09-29
1009Japan2026-10-15
1010France2026-10-16
1011Spain2026-09-21
1012France2026-10-01
1013Australia2026-09-24
1014Brazil2026-10-03
1015United Kingdom2026-10-07
1016Japan2026-10-01
1017Canada2026-10-05
1018France2026-10-02
1019Russia2026-10-01
1020Brazil2026-09-19
1021United Kingdom2026-09-30
1022Canada2026-10-13
1023United Kingdom2026-09-30
1024Japan2026-09-26
1025Canada2026-10-03
1026Brazil2026-10-10
1027Australia2026-09-21
1028Italy2026-09-19
1029India2026-09-26
1030United Kingdom2026-09-18
1031Canada2026-10-09
1032France2026-10-16
1033France2026-10-09
1034Spain2026-10-09
1035Australia2026-09-29
1036Spain2026-10-07
1037France2026-09-29
1038France2026-09-21
1039Germany2026-10-04
1040Brazil2026-10-16
1041Canada2026-09-21
1042Japan2026-10-06
1043Germany2026-09-25
1044Spain2026-10-12
1045Russia2026-10-12
1046India2026-09-25
1047Japan2026-10-03
1048United Kingdom2026-10-16
1049Argentina2026-10-10

On-Demand Data

NameIdCountryDate
Alejandro A Iturbide1000Argentina2026-09-20
Isabel S Gaucho1001Russia2026-09-21
Costa E Perin1002India2026-10-15
Ashley C Gaucho1003France2026-09-29
Smith D Nestle1004Spain2026-10-03
David H Inouye1005Spain2026-10-11
Ricardo Z Royster1006Brazil2026-10-01
Tony K Stenseth1007Brazil2026-10-12
Kadeem J Sergi1008Germany2026-09-28
Sinclair J Malet1009Canada2026-09-23
Leja U Tollner1010Japan2026-10-01
Francesco V Oldroyd1011Canada2026-09-25
Costa L Amigon1012France2026-10-02
Johnson C Royster1013United Kingdom2026-09-17
Maisha Z Dilliard1014Argentina2026-10-05
Maria R Ruta1015Spain2026-10-10
Alejandro X Ostrosky1016Australia2026-09-23
Nicolas R Wieser1017Spain2026-09-30
Alejandro Z Kolmetz1018India2026-10-10
Jeanfrancois E Rulapaugh1019India2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro A ButtItalyBernardo Dominic NEGOTIATION
Julie Y FigeroaGermanyIoni Bowcher UNQUALIFIED
Isabel O StensethGermanyBernardo Dominic QUALIFIED
Murillo A StockhamCanadaBernardo Dominic NEGOTIATION
Chavez T VenereUnited KingdomBernardo Dominic QUALIFIED
Smith K GauchoAustraliaOnyama Limba RENEWAL
Isabel A NestleSpainAsiya Javayant PROPOSAL
Rodrigues B DilliardCanadaAnna Fali UNQUALIFIED
Rodrigues K VenereJapanIoni Bowcher NEGOTIATION
David Q ChuiBrazilXuxue Feng NEW
Greenwood O AmigonArgentinaXuxue Feng RENEWAL
Antonio X WhobreyRussiaAsiya Javayant QUALIFIED
Costa Z PerinBrazilBernardo Dominic PROPOSAL
Misaki C GarufiItalyXuxue Feng QUALIFIED
Murillo T FerenczAustraliaIvan Magalhaes NEGOTIATION
Morrow L FigeroaGermanyBernardo Dominic QUALIFIED
Isabel P WieserUnited KingdomIoni Bowcher RENEWAL
Leon J RulapaughGermanyXuxue Feng QUALIFIED
Darci P SaylorsCanadaAsiya Javayant NEW
Jeanfrancois V DarakjyCanadaAsiya Javayant NEGOTIATION
Sinclair W MacleadSpainAnna Fali UNQUALIFIED
Francesco X FigeroaItalyAsiya Javayant PROPOSAL
Maisha Z IturbideJapanAnna Fali UNQUALIFIED
Octavia S MaletSpainIoni Bowcher RENEWAL
Silvio B RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Sinclair U RutaItalyXuxue Feng NEW
Ivar P KuskoBrazilBernardo Dominic QUALIFIED
Octavia Q ButtRussiaStephen Shaw RENEWAL
Murillo R KuskoAustraliaStephen Shaw NEGOTIATION
Wickens U SaylorsBrazilStephen Shaw QUALIFIED
Faith P GarufiRussiaStephen Shaw PROPOSAL
Mayumi L RoysterItalyElwin Sharvill PROPOSAL
Leja I FerenczRussiaAmy Elsner UNQUALIFIED
Munro Y FerenczIndiaBernardo Dominic QUALIFIED
Maria F CampainJapanIoni Bowcher QUALIFIED
Silvio E TollnerAustraliaIoni Bowcher QUALIFIED
Deepesh J KolmetzJapanBernardo Dominic QUALIFIED
Johnson B IturbideItalyAsiya Javayant NEW
Adams Z OstroskyCanadaBernardo Dominic NEW
Costa S FlosiBrazilOnyama Limba 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" frozenColumnsAlignment="left">
            <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>