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
Alejandro B ChuiBrazilBernardo Dominic NEGOTIATION
Leon V GarufiAustraliaAnna Fali RENEWAL
Ashley Y KuskoSpainXuxue Feng QUALIFIED
Leon W SlusarskiGermanyIoni Bowcher RENEWAL
Faith E RulapaughIndiaBernardo Dominic QUALIFIED
Izzy V RoysterAustraliaXuxue Feng NEW
Sinclair E GillianItalyAmy Elsner UNQUALIFIED
David A DilliardFranceElwin Sharvill QUALIFIED
Nicolas D GauchoRussiaAnna Fali NEW
Arvin P ChuiArgentinaAsiya Javayant NEGOTIATION
Adams F FollerSpainBernardo Dominic NEW
Kadeem G WieserItalyAsiya Javayant NEGOTIATION
Jeanfrancois S SchemmerUnited KingdomOnyama Limba NEGOTIATION
Alejandro M AlbaresBrazilIvan Magalhaes RENEWAL
Alejandro N FollerJapanBernardo Dominic NEGOTIATION
Francesco U RoysterCanadaStephen Shaw PROPOSAL
Smith Y StockhamCanadaXuxue Feng PROPOSAL
Jennifer E SaylorsSpainXuxue Feng QUALIFIED
Munro N RimFranceBernardo Dominic RENEWAL
Faith Q WaycottBrazilElwin Sharvill PROPOSAL
Greenwood K CaudyFranceAsiya Javayant UNQUALIFIED
Nicolas F TollnerGermanyElwin Sharvill UNQUALIFIED
Izzy J PaprockiSpainStephen Shaw UNQUALIFIED
Costa K OstroskyAustraliaIvan Magalhaes RENEWAL
Arvin C BowleyItalyStephen Shaw NEGOTIATION
James L PerinRussiaIoni Bowcher PROPOSAL
Isabel W GlickIndiaXuxue Feng QUALIFIED
Stacey G DarakjyBrazilOnyama Limba PROPOSAL
Stacey O GlickArgentinaBernardo Dominic QUALIFIED
Munro L SlusarskiRussiaXuxue Feng NEGOTIATION
Jefferson E VenereRussiaStephen Shaw NEW
Alejandro J StensethGermanyIoni Bowcher QUALIFIED
Izzy I ShinkoSpainElwin Sharvill UNQUALIFIED
Izzy E VocelkaJapanIvan Magalhaes UNQUALIFIED
Arvin M CampainJapanXuxue Feng NEW
Misaki Z CaudyFranceBernardo Dominic UNQUALIFIED
Greenwood Q MacleadJapanBernardo Dominic NEW
Deepesh X SergiRussiaAnna Fali NEW
Clifford J MaletSpainXuxue Feng UNQUALIFIED
Mayumi P BriddickIndiaStephen Shaw NEGOTIATION
Nicolas Y DoeRussiaIvan Magalhaes UNQUALIFIED
Claire F FlosiCanadaStephen Shaw UNQUALIFIED
Greenwood F ShinkoItalyIvan Magalhaes NEGOTIATION
Johnson K ShinkoBrazilElwin Sharvill RENEWAL
Leon C FollerSpainXuxue Feng NEGOTIATION
Isabel A NestleAustraliaAnna Fali PROPOSAL
Jeanfrancois K FollerBrazilIoni Bowcher QUALIFIED
Morrow P BowleyAustraliaElwin Sharvill NEW
Antonio P FlosiSpainOnyama Limba UNQUALIFIED
Juan X GillianRussiaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci M CaldareraSpainAsiya Javayant NEW
Stacey X PoquetteBrazilBernardo Dominic NEGOTIATION
Salvatore P StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Cody K NickaCanadaElwin Sharvill QUALIFIED
Francesco P WaycottUnited KingdomBernardo Dominic PROPOSAL
Tony L GillianAustraliaAnna Fali UNQUALIFIED
Johnson X DoeIndiaStephen Shaw PROPOSAL
Morrow U CaldareraUnited KingdomBernardo Dominic PROPOSAL
Leja D MacleadBrazilElwin Sharvill NEGOTIATION
Mayumi D FerenczSpainAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar C FerenczUnited Kingdom2026-10-27King, Christopher A Esq QUALIFIED64Amy Elsner
1001Silvio K InouyeIndia2026-10-23Truhlar And Truhlar Attys QUALIFIED89Elwin Sharvill
1002Isabel H GillianSpain2026-09-30Chemel, James L Cpa NEW61Asiya Javayant
1003Cody E SchemmerJapan2026-10-16Chemel, James L Cpa NEW70Bernardo Dominic
1004Aika M NickaUnited Kingdom2026-10-28Rousseaux, Michael Esq NEGOTIATION20Xuxue Feng
1005Leon N GauchoRussia2026-10-06Benton, John B Jr NEGOTIATION77Asiya Javayant
1006Kaitlin M DarakjyGermany2026-09-30Feltz Printing Service UNQUALIFIED36Stephen Shaw
1007Julie C KolmetzUnited Kingdom2026-10-07Feltz Printing Service PROPOSAL93Ioni Bowcher
1008Jeanfrancois K StockhamSpain2026-10-08Chanay, Jeffrey A Esq NEW17Ioni Bowcher
1009Maisha H AlbaresJapan2026-10-03Chapman, Ross E Esq RENEWAL85Xuxue Feng
1010Kaitlin H SchemmerArgentina2026-10-08Dorl, James J Esq NEGOTIATION12Xuxue Feng
1011Francesco I ShinkoArgentina2026-10-10Buckley Miller Wright QUALIFIED28Amy Elsner
1012Silvio C VocelkaGermany2026-10-26Commercial Press UNQUALIFIED35Xuxue Feng
1013Mayumi Z DilliardGermany2026-10-09Dorl, James J Esq NEGOTIATION84Ioni Bowcher
1014Ivar B GarufiSpain2026-10-28Commercial Press NEGOTIATION4Amy Elsner
1015Murillo X KuskoBrazil2026-10-01Morlong Associates PROPOSAL71Xuxue Feng
1016Ashley V DoeRussia2026-10-11Benton, John B Jr NEGOTIATION29Stephen Shaw
1017Adams S SergiSpain2026-10-20Benton, John B Jr RENEWAL55Asiya Javayant
1018Mayumi X MacleadJapan2026-10-02Chanay, Jeffrey A Esq QUALIFIED72Ioni Bowcher
1019Alejandro B NickaJapan2026-10-04Chanay, Jeffrey A Esq PROPOSAL43Stephen Shaw
1020Kadeem E ShinkoArgentina2026-10-12Commercial Press RENEWAL66Stephen Shaw
1021Stacey J ButtRussia2026-10-24Rousseaux, Michael Esq NEGOTIATION19Anna Fali
1022Jennifer T IturbideJapan2026-10-27Dorl, James J Esq NEGOTIATION88Bernardo Dominic
1023Kadeem P TollnerBrazil2026-10-05Chanay, Jeffrey A Esq NEW64Stephen Shaw
1024Smith O OldroydBrazil2026-10-22Chanay, Jeffrey A Esq NEW30Anna Fali
1025David B ButtCanada2026-10-20Chapman, Ross E Esq NEGOTIATION71Amy Elsner
1026Julie B SaylorsJapan2026-10-22Chanay, Jeffrey A Esq UNQUALIFIED21Ioni Bowcher
1027Ricardo J CampainUnited Kingdom2026-10-27Rousseaux, Michael Esq NEW49Xuxue Feng
1028Johnson E KolmetzJapan2026-10-12Dorl, James J Esq PROPOSAL28Xuxue Feng
1029Octavia O OstroskyAustralia2026-10-22Rousseaux, Michael Esq NEGOTIATION57Anna Fali
1030Rodrigues A CaldareraItaly2026-10-18Truhlar And Truhlar Attys NEGOTIATION19Stephen Shaw
1031Francesco N NickaCanada2026-10-17Chemel, James L Cpa RENEWAL47Amy Elsner
1032David A InouyeAustralia2026-10-13King, Christopher A Esq NEW35Asiya Javayant
1033Salvatore O SchemmerRussia2026-10-06King, Christopher A Esq PROPOSAL13Ivan Magalhaes
1034Cody A AlbaresFrance2026-10-13Chemel, James L Cpa RENEWAL81Onyama Limba
1035Maisha V GillianCanada2026-10-17Truhlar And Truhlar Attys NEW20Ivan Magalhaes
1036Munro F ChuiAustralia2026-10-27Morlong Associates NEW77Ivan Magalhaes
1037Misaki E BriddickArgentina2026-10-28Buckley Miller Wright QUALIFIED64Bernardo Dominic
1038Juan C GlickRussia2026-09-30King, Christopher A Esq PROPOSAL47Anna Fali
1039Stacey Q AlbaresBrazil2026-10-11Rangoni Of Florence NEW35Onyama Limba
1040Mayumi P RoysterSpain2026-10-20Feltz Printing Service PROPOSAL32Ivan Magalhaes
1041Stacey P DarakjyGermany2026-10-20Feiner Bros PROPOSAL64Onyama Limba
1042Mujtaba B AmigonRussia2026-10-28Benton, John B Jr UNQUALIFIED53Amy Elsner
1043Jennifer H SaylorsUnited Kingdom2026-10-02Rangoni Of Florence RENEWAL22Elwin Sharvill
1044Costa D KolmetzRussia2026-10-16Feltz Printing Service PROPOSAL44Ivan Magalhaes
1045Aditya C WieserJapan2026-10-20Truhlar And Truhlar Attys PROPOSAL81Onyama Limba
1046Leja E MaletBrazil2026-10-02Rousseaux, Michael Esq UNQUALIFIED64Amy Elsner
1047Jones P SchemmerJapan2026-10-28Rangoni Of Florence RENEWAL88Asiya Javayant
1048Salvatore A CaudySpain2026-10-28Commercial Press QUALIFIED85Anna Fali
1049Aditya X PaprockiIndia2026-10-16Buckley Miller Wright UNQUALIFIED82Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Leja T FollerGermanyOnyama Limba NEW
Ricardo I BowleyJapanAmy Elsner NEW
Misaki Y GauchoAustraliaAsiya Javayant NEGOTIATION
Kaitlin Y AlbaresCanadaIoni Bowcher NEGOTIATION
Octavia P IturbideIndiaOnyama Limba NEGOTIATION
Aditya Y ChuiArgentinaIoni Bowcher RENEWAL
Mayumi T FlosiBrazilOnyama Limba NEW
Cody B GillianBrazilOnyama Limba UNQUALIFIED
Cody T AmigonCanadaIvan Magalhaes QUALIFIED
Jones K NickaRussiaElwin Sharvill UNQUALIFIED
Faith Z IturbideJapanAsiya Javayant PROPOSAL
Kaitlin Q RutaJapanIoni Bowcher UNQUALIFIED
Mujtaba K MorascaBrazilIvan Magalhaes PROPOSAL
Arvin T FigeroaCanadaStephen Shaw PROPOSAL
Claire X MarrierIndiaElwin Sharvill NEGOTIATION
Chavez L CampainFranceAmy Elsner NEGOTIATION
Darci K CaudyItalyBernardo Dominic RENEWAL
Antonio O IturbideCanadaOnyama Limba PROPOSAL
Johnson S PaprockiCanadaBernardo Dominic PROPOSAL
Cody N WaycottSpainIvan Magalhaes NEW
Rodrigues P PaprockiFranceXuxue Feng UNQUALIFIED
James J CampainFranceXuxue Feng NEW
Kadeem U BologniaAustraliaXuxue Feng PROPOSAL
Jones T SlusarskiRussiaAnna Fali NEGOTIATION
Tony L GauchoArgentinaAmy Elsner NEGOTIATION
Rodrigues B ShinkoCanadaStephen Shaw UNQUALIFIED
Salvatore M PoquetteIndiaIoni Bowcher RENEWAL
Leja M RimAustraliaIoni Bowcher NEGOTIATION
Izzy K RimGermanyAmy Elsner QUALIFIED
Francesco R RimGermanyAsiya Javayant QUALIFIED
Antonio Q MaletFranceStephen Shaw NEW
Maisha E SchemmerRussiaXuxue Feng NEGOTIATION
Murillo C FollerGermanyBernardo Dominic QUALIFIED
Faith A RimIndiaAsiya Javayant RENEWAL
Costa P GillianJapanXuxue Feng UNQUALIFIED
David Z IturbideSpainIoni Bowcher PROPOSAL
Cody F FlosiJapanAnna Fali UNQUALIFIED
Arvin R MaletUnited KingdomElwin Sharvill PROPOSAL
Jeanfrancois Z TollnerAustraliaBernardo Dominic RENEWAL
Leja H WieserFranceIvan Magalhaes QUALIFIED
Silvio S PoquetteJapanAnna Fali NEW
Aruna K VocelkaItalyAsiya Javayant PROPOSAL
Smith X AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Chavez P MacleadCanadaXuxue Feng NEGOTIATION
Francesco Q VenereAustraliaXuxue Feng UNQUALIFIED
Faith H IturbideFranceAsiya Javayant PROPOSAL
Emily A ShinkoGermanyOnyama Limba NEW
Maisha D MorascaFranceAsiya Javayant NEGOTIATION
Antonio Y CaldareraArgentinaAmy Elsner UNQUALIFIED
Izzy T OstroskyCanadaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Jones V Stenseth
Francesco K Caudy
Aika T Wieser
David J Foller
Chavez Z Briddick
Juan E Kusko
Aika O Poquette
Costa Q Maclead
Murillo J Gaucho
Costa H Paprocki
Ashley S Rim
Deepesh E Gillian
Stacey F Tollner
Johnson H Gillian
Leja Y Iturbide
Claire W Schemmer
Octavia X Rim
Clifford C Waycott
Kadeem E Rulapaugh
Misaki R Caudy
Adams W Royster
Francesco M Amigon
Sinclair L Whobrey
Aditya T Maclead
Isabel L Whobrey
Darci B Malet
David H Ostrosky
Clifford V Campain
Stacey R Waycott
Chavez D Morasca
Cody A Caudy
Jeanfrancois L Marrier
Leon K Ostrosky
Clifford U Flosi
Claire L Schemmer
Jefferson V Perin
Kadeem G Flosi
Adams F Glick
Murillo J Malet
Maria O Paprocki
Greenwood T Poquette
Francesco M Shinko
Chavez H Waycott
Morrow K Kusko
Rodrigues T Iturbide
Stacey G Venere
Jones V Waycott
Ivar X Whobrey
Alejandro K Glick
Nicolas D Malet
IdCountryDate
1000Argentina2026-10-11
1001Brazil2026-10-21
1002Germany2026-10-14
1003Canada2026-10-27
1004Italy2026-10-07
1005Canada2026-10-12
1006Italy2026-10-17
1007United Kingdom2026-10-01
1008Australia2026-10-25
1009Canada2026-10-28
1010Argentina2026-10-14
1011India2026-10-19
1012France2026-10-12
1013Germany2026-10-19
1014Russia2026-10-13
1015France2026-10-10
1016India2026-10-27
1017United Kingdom2026-10-02
1018Australia2026-10-01
1019Japan2026-10-28
1020Spain2026-10-23
1021Japan2026-10-20
1022Italy2026-10-10
1023India2026-10-11
1024Italy2026-10-05
1025Japan2026-09-30
1026Italy2026-10-12
1027Germany2026-10-16
1028Argentina2026-10-12
1029Canada2026-10-23
1030Italy2026-10-06
1031France2026-10-29
1032Germany2026-10-12
1033United Kingdom2026-10-06
1034Japan2026-10-23
1035Australia2026-10-28
1036Russia2026-10-23
1037Canada2026-10-17
1038India2026-10-01
1039India2026-10-18
1040India2026-10-03
1041Germany2026-10-09
1042India2026-10-06
1043Italy2026-10-23
1044France2026-10-25
1045Russia2026-10-19
1046Argentina2026-10-22
1047United Kingdom2026-10-08
1048Italy2026-10-10
1049Italy2026-10-05

On-Demand Data

NameIdCountryDate
Deepesh Z Shinko1000Argentina2026-10-19
Jeanfrancois O Venere1001Canada2026-10-14
Tony C Amigon1002Germany2026-10-26
Jeanfrancois E Slusarski1003India2026-10-09
Cody N Inouye1004Germany2026-10-18
Antonio J Ostrosky1005Germany2026-10-07
Francesco I Oldroyd1006Australia2026-10-17
Aditya X Campain1007Brazil2026-10-03
Jennifer L Whobrey1008Australia2026-10-22
Cody V Rim1009Argentina2026-10-10
Rodrigues I Butt1010Australia2026-10-25
Clifford U Poquette1011Germany2026-10-11
Darci Y Bowley1012Australia2026-10-26
Izzy K Malet1013Argentina2026-10-29
David B Whobrey1014Australia2026-10-02
Maisha V Bowley1015Italy2026-10-02
Alejandro M Caudy1016India2026-10-18
Greenwood D Gaucho1017Spain2026-09-30
Clifford I Flosi1018Canada2026-10-20
Jefferson Q Garufi1019Brazil2026-10-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford E SlusarskiAustraliaXuxue Feng NEGOTIATION
Faith J VenereArgentinaAnna Fali QUALIFIED
Ricardo P IturbideIndiaAnna Fali RENEWAL
Octavia V SlusarskiJapanAsiya Javayant NEGOTIATION
Deepesh S SchemmerBrazilIvan Magalhaes PROPOSAL
James A StensethAustraliaBernardo Dominic PROPOSAL
Leon C KolmetzGermanyIvan Magalhaes PROPOSAL
Claire D MarrierCanadaElwin Sharvill RENEWAL
Munro D CampainRussiaBernardo Dominic UNQUALIFIED
Stacey L VenereUnited KingdomXuxue Feng UNQUALIFIED
Clifford E BowleyItalyOnyama Limba RENEWAL
Aika G PoquetteBrazilIvan Magalhaes RENEWAL
Munro P DarakjyJapanBernardo Dominic PROPOSAL
Chavez H CaudyAustraliaXuxue Feng PROPOSAL
Aruna I KolmetzIndiaStephen Shaw UNQUALIFIED
Leon B VenereFranceAsiya Javayant PROPOSAL
Deepesh O VenereArgentinaAsiya Javayant UNQUALIFIED
Mayumi Q AmigonCanadaBernardo Dominic NEW
Alejandro K KuskoCanadaIvan Magalhaes QUALIFIED
Mayumi Y WhobreyGermanyOnyama Limba QUALIFIED
Arvin Y RutaGermanyAsiya Javayant NEGOTIATION
Jones Z MarrierAustraliaBernardo Dominic UNQUALIFIED
Leja R StensethCanadaAsiya Javayant NEW
Leon G ChuiRussiaXuxue Feng UNQUALIFIED
Kaitlin K SergiRussiaXuxue Feng PROPOSAL
Francesco J StensethAustraliaIvan Magalhaes QUALIFIED
Claire P GarufiBrazilIoni Bowcher NEGOTIATION
Izzy I NickaIndiaXuxue Feng QUALIFIED
Clifford J NestleJapanAsiya Javayant UNQUALIFIED
Julie W RutaFranceAmy Elsner RENEWAL
Chavez G WaycottGermanyAsiya Javayant PROPOSAL
Cody O MaletFranceBernardo Dominic NEW
Munro D IturbideSpainStephen Shaw UNQUALIFIED
Cody V BologniaArgentinaIoni Bowcher RENEWAL
Alejandro L FigeroaAustraliaIvan Magalhaes PROPOSAL
Adams F MarrierRussiaAnna Fali NEW
Octavia K RoysterFranceAmy Elsner PROPOSAL
Stacey G FlosiGermanyAnna Fali PROPOSAL
Aditya U ChuiGermanyAnna Fali NEGOTIATION
Leja R PoquetteSpainAsiya Javayant 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" 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>