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
Munro D ChuiAustraliaAnna Fali RENEWAL
Aditya T NickaAustraliaAnna Fali RENEWAL
Antonio B SlusarskiJapanBernardo Dominic UNQUALIFIED
Aditya X InouyeJapanStephen Shaw UNQUALIFIED
Francesco H CampainGermanyXuxue Feng NEGOTIATION
Aruna J GlickCanadaAnna Fali NEGOTIATION
Ricardo Y DilliardSpainElwin Sharvill NEW
Alejandro H BriddickIndiaIoni Bowcher NEW
Faith Y InouyeAustraliaXuxue Feng NEGOTIATION
Ricardo A GlickFranceAmy Elsner NEW
Adams G MorascaJapanAsiya Javayant NEGOTIATION
Alejandro N CaudyCanadaAnna Fali NEGOTIATION
Jeanfrancois Q GauchoUnited KingdomAsiya Javayant RENEWAL
Jones V WieserArgentinaStephen Shaw PROPOSAL
Isabel V VocelkaRussiaElwin Sharvill RENEWAL
Leja F SchemmerAustraliaBernardo Dominic QUALIFIED
Silvio Z PerinJapanAmy Elsner UNQUALIFIED
Aditya O FigeroaItalyIoni Bowcher RENEWAL
Leon J CampainUnited KingdomIoni Bowcher NEW
Ashley X PerinCanadaAnna Fali NEGOTIATION
David D GillianCanadaElwin Sharvill NEW
Ivar L BowleyBrazilIoni Bowcher PROPOSAL
Ivar C AmigonRussiaIvan Magalhaes QUALIFIED
Juan R MarrierSpainAmy Elsner UNQUALIFIED
Maria B WhobreyFranceAnna Fali NEW
Silvio R ChuiItalyOnyama Limba PROPOSAL
Jefferson S OldroydFranceAmy Elsner QUALIFIED
Claire S KuskoItalyXuxue Feng NEGOTIATION
Claire Q PerinArgentinaAsiya Javayant PROPOSAL
David C PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Ricardo P MaletRussiaXuxue Feng PROPOSAL
Salvatore Q AlbaresSpainStephen Shaw QUALIFIED
Octavia D WieserBrazilAmy Elsner QUALIFIED
Arvin M WaycottSpainXuxue Feng NEGOTIATION
Maisha Y NickaIndiaBernardo Dominic NEW
Darci Q TollnerSpainOnyama Limba RENEWAL
Ricardo W OldroydSpainXuxue Feng PROPOSAL
Kadeem B PoquetteUnited KingdomBernardo Dominic PROPOSAL
Faith O MacleadGermanyStephen Shaw PROPOSAL
Costa D VenereAustraliaAmy Elsner PROPOSAL
Jefferson O SaylorsJapanBernardo Dominic NEGOTIATION
Juan S RoysterAustraliaStephen Shaw NEGOTIATION
Wickens D FlosiRussiaAsiya Javayant NEW
Leon S FollerSpainIvan Magalhaes NEW
Izzy P PerinBrazilStephen Shaw NEGOTIATION
Ashley H StockhamAustraliaStephen Shaw PROPOSAL
Sinclair T AmigonArgentinaStephen Shaw UNQUALIFIED
Francesco O MacleadItalyIvan Magalhaes QUALIFIED
Arvin T BowleyFranceIvan Magalhaes NEGOTIATION
Johnson N SaylorsIndiaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Juan G MarrierArgentinaIoni Bowcher QUALIFIED
Jeanfrancois C AmigonAustraliaIvan Magalhaes UNQUALIFIED
Wickens C OldroydJapanAsiya Javayant RENEWAL
Chavez J GarufiCanadaStephen Shaw QUALIFIED
Chavez V GarufiJapanIvan Magalhaes UNQUALIFIED
Isabel L FigeroaFranceIvan Magalhaes UNQUALIFIED
Aditya C StockhamUnited KingdomOnyama Limba PROPOSAL
Maisha N WieserIndiaXuxue Feng PROPOSAL
Silvio X ButtGermanyStephen Shaw UNQUALIFIED
Ricardo H StensethFranceAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha H WaycottBrazil2026-10-05Benton, John B Jr PROPOSAL67Anna Fali
1001Claire M AlbaresIndia2026-10-19King, Christopher A Esq RENEWAL82Bernardo Dominic
1002Costa S CaudyArgentina2026-10-14Printing Dimensions PROPOSAL37Amy Elsner
1003Ashley B RoysterIndia2026-10-01Rousseaux, Michael Esq UNQUALIFIED53Asiya Javayant
1004Murillo E RulapaughBrazil2026-10-13Buckley Miller Wright NEW19Bernardo Dominic
1005Ivar K PerinFrance2026-09-26Chanay, Jeffrey A Esq UNQUALIFIED45Ioni Bowcher
1006Misaki V MorascaArgentina2026-10-08Rousseaux, Michael Esq NEW97Amy Elsner
1007Darci C PerinGermany2026-10-01Buckley Miller Wright RENEWAL47Amy Elsner
1008Sinclair X PerinAustralia2026-09-22Commercial Press NEGOTIATION4Asiya Javayant
1009Faith J GauchoCanada2026-10-19Benton, John B Jr RENEWAL79Amy Elsner
1010Nicolas E DilliardItaly2026-09-22Truhlar And Truhlar Attys NEGOTIATION2Xuxue Feng
1011Antonio K GauchoJapan2026-10-03Chanay, Jeffrey A Esq UNQUALIFIED11Xuxue Feng
1012Misaki E WaycottIndia2026-09-29Buckley Miller Wright PROPOSAL18Ioni Bowcher
1013Izzy L ButtArgentina2026-09-29Rangoni Of Florence NEW18Elwin Sharvill
1014David T PaprockiSpain2026-10-01Chanay, Jeffrey A Esq RENEWAL64Onyama Limba
1015Antonio Y DilliardCanada2026-10-11Chemel, James L Cpa PROPOSAL33Asiya Javayant
1016Greenwood S StockhamJapan2026-09-26King, Christopher A Esq NEGOTIATION94Ivan Magalhaes
1017Munro P FerenczGermany2026-10-14Commercial Press QUALIFIED74Ivan Magalhaes
1018Tony N TollnerAustralia2026-10-09Chapman, Ross E Esq RENEWAL85Xuxue Feng
1019Silvio M RulapaughGermany2026-10-17Rangoni Of Florence QUALIFIED38Bernardo Dominic
1020Costa A SchemmerJapan2026-09-28Morlong Associates NEGOTIATION87Anna Fali
1021Izzy M DoeItaly2026-10-16Rangoni Of Florence PROPOSAL71Xuxue Feng
1022Julie A GlickGermany2026-10-14Rangoni Of Florence NEGOTIATION51Asiya Javayant
1023Smith D SergiGermany2026-10-18King, Christopher A Esq UNQUALIFIED80Stephen Shaw
1024Sinclair O PaprockiArgentina2026-10-04Morlong Associates RENEWAL96Asiya Javayant
1025Johnson G InouyeArgentina2026-10-14Rousseaux, Michael Esq RENEWAL51Ioni Bowcher
1026Salvatore O StensethArgentina2026-09-23Buckley Miller Wright PROPOSAL43Amy Elsner
1027Leon C IturbideGermany2026-09-30Benton, John B Jr RENEWAL45Amy Elsner
1028Costa I CaldareraGermany2026-10-15Printing Dimensions NEW86Ivan Magalhaes
1029Maisha J FerenczUnited Kingdom2026-10-03Chapman, Ross E Esq NEGOTIATION31Elwin Sharvill
1030Aika W NickaRussia2026-10-11Truhlar And Truhlar Attys RENEWAL9Elwin Sharvill
1031Smith P CaudyAustralia2026-09-25Buckley Miller Wright NEW97Stephen Shaw
1032Francesco E RulapaughUnited Kingdom2026-09-30Chanay, Jeffrey A Esq UNQUALIFIED68Asiya Javayant
1033Kaitlin G IturbideJapan2026-10-04Rangoni Of Florence QUALIFIED99Bernardo Dominic
1034Claire F RoysterIndia2026-09-30Truhlar And Truhlar Attys NEGOTIATION25Ivan Magalhaes
1035Costa Q TollnerBrazil2026-10-15Printing Dimensions UNQUALIFIED54Stephen Shaw
1036Ivar K NickaCanada2026-10-20Chanay, Jeffrey A Esq PROPOSAL49Amy Elsner
1037Jeanfrancois Y CaudyJapan2026-10-17Commercial Press UNQUALIFIED56Anna Fali
1038Clifford A OstroskyFrance2026-10-17Chapman, Ross E Esq QUALIFIED1Stephen Shaw
1039Claire M StockhamRussia2026-10-16Morlong Associates QUALIFIED43Elwin Sharvill
1040Misaki G RulapaughBrazil2026-10-12Rousseaux, Michael Esq RENEWAL6Ivan Magalhaes
1041Jones S KolmetzRussia2026-10-19Printing Dimensions PROPOSAL69Ioni Bowcher
1042Jefferson E FlosiRussia2026-10-06Feltz Printing Service QUALIFIED55Bernardo Dominic
1043Mujtaba L WhobreyUnited Kingdom2026-10-07Feltz Printing Service PROPOSAL51Stephen Shaw
1044Isabel O SchemmerBrazil2026-10-10Rousseaux, Michael Esq PROPOSAL99Ivan Magalhaes
1045Ivar C NickaItaly2026-10-04Chanay, Jeffrey A Esq NEW25Bernardo Dominic
1046Aditya P FollerRussia2026-10-21Truhlar And Truhlar Attys RENEWAL20Bernardo Dominic
1047Leon B WieserAustralia2026-10-04Dorl, James J Esq NEGOTIATION89Stephen Shaw
1048Smith P ButtGermany2026-10-19Chanay, Jeffrey A Esq NEGOTIATION58Stephen Shaw
1049Leon J SaylorsCanada2026-10-10Feiner Bros UNQUALIFIED40Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois T VenereJapanAsiya Javayant QUALIFIED
Munro J GarufiCanadaStephen Shaw QUALIFIED
Munro X SaylorsGermanyBernardo Dominic NEW
Stacey F MacleadUnited KingdomAsiya Javayant NEGOTIATION
Isabel K BologniaAustraliaIoni Bowcher RENEWAL
Jones T MaletItalyAmy Elsner NEW
Chavez G ButtFranceAmy Elsner NEW
Salvatore D CampainUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois D MorascaFranceAnna Fali NEW
David P BologniaUnited KingdomXuxue Feng QUALIFIED
Silvio D MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Morrow C RoysterSpainIoni Bowcher NEGOTIATION
Adams J KuskoBrazilIvan Magalhaes NEW
Costa G GlickIndiaAnna Fali NEW
Sinclair S WieserGermanyAnna Fali RENEWAL
Wickens W GlickUnited KingdomStephen Shaw NEGOTIATION
Arvin H SergiItalyStephen Shaw RENEWAL
Greenwood Y OstroskyIndiaElwin Sharvill RENEWAL
Juan E MaletAustraliaStephen Shaw UNQUALIFIED
Morrow T FlosiIndiaAsiya Javayant NEGOTIATION
Jeanfrancois S NestleFranceBernardo Dominic NEW
Wickens W MaletSpainAsiya Javayant QUALIFIED
Isabel H GlickJapanXuxue Feng NEW
Kadeem W PaprockiGermanyXuxue Feng NEW
Octavia C DoeBrazilIoni Bowcher QUALIFIED
David Y ShinkoRussiaAsiya Javayant PROPOSAL
Octavia U VocelkaBrazilAnna Fali NEW
Smith U DilliardBrazilOnyama Limba NEW
Alejandro A TollnerIndiaElwin Sharvill UNQUALIFIED
Claire Q BriddickUnited KingdomOnyama Limba NEGOTIATION
Adams L RoysterGermanyIoni Bowcher PROPOSAL
Adams R SlusarskiAustraliaElwin Sharvill QUALIFIED
Deepesh D FigeroaUnited KingdomAnna Fali PROPOSAL
Jones N InouyeSpainAsiya Javayant NEW
Emily P BriddickArgentinaAsiya Javayant QUALIFIED
Isabel S ChuiIndiaElwin Sharvill NEGOTIATION
Mayumi N ShinkoItalyXuxue Feng QUALIFIED
Silvio R ShinkoJapanIvan Magalhaes UNQUALIFIED
Francesco U NickaIndiaIoni Bowcher PROPOSAL
Deepesh J RulapaughUnited KingdomAmy Elsner NEW
Rodrigues F MaletUnited KingdomStephen Shaw UNQUALIFIED
Maisha A StensethIndiaAnna Fali NEW
Jennifer X ButtFranceAnna Fali NEW
Clifford E CampainFranceAnna Fali NEW
Mujtaba M BowleySpainAsiya Javayant PROPOSAL
Maisha J CaldareraAustraliaIoni Bowcher QUALIFIED
Misaki J ButtBrazilBernardo Dominic NEW
Mayumi G DarakjyRussiaElwin Sharvill PROPOSAL
Julie O MarrierAustraliaIvan Magalhaes QUALIFIED
Johnson O BriddickArgentinaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Kadeem C Amigon
Maisha U Stenseth
Costa I Marrier
Kaitlin S Royster
Cody B Paprocki
Francesco F Amigon
Munro Q Perin
Aika L Malet
Alejandro C Garufi
James T Saylors
Juan R Foller
Maisha V Vocelka
Rodrigues X Nestle
Jones Q Rulapaugh
Deepesh Y Ruta
Chavez L Kusko
Jeanfrancois J Nestle
Kadeem O Bowley
Jennifer X Rim
Costa Y Nicka
Kaitlin I Caldarera
Morrow R Perin
Mayumi S Gaucho
Jennifer Q Whobrey
Deepesh Y Whobrey
Cody P Rulapaugh
Maisha N Marrier
Adams A Kolmetz
Octavia H Gaucho
Johnson T Rim
Maisha J Ruta
Mujtaba R Nicka
Morrow B Malet
Mujtaba J Wieser
Aditya L Iturbide
Johnson A Tollner
Leon A Waycott
Jones C Butt
Adams L Malet
Maisha B Venere
Mujtaba K Rim
Deepesh Y Caudy
Smith S Caldarera
Octavia W Foller
Aika X Tollner
Jeanfrancois S Nicka
Izzy Z Figeroa
Juan F Maclead
James Y Rim
Juan O Nicka
IdCountryDate
1000Australia2026-10-06
1001Germany2026-09-29
1002Australia2026-09-28
1003France2026-10-10
1004France2026-10-02
1005United Kingdom2026-10-20
1006United Kingdom2026-10-14
1007Spain2026-09-27
1008Russia2026-10-11
1009India2026-10-13
1010Spain2026-10-11
1011Russia2026-10-05
1012India2026-09-28
1013Canada2026-10-11
1014Canada2026-10-05
1015Germany2026-10-10
1016United Kingdom2026-10-13
1017India2026-10-14
1018Japan2026-10-09
1019Brazil2026-09-26
1020United Kingdom2026-10-05
1021United Kingdom2026-10-11
1022Argentina2026-10-04
1023Russia2026-09-22
1024Argentina2026-10-03
1025France2026-09-30
1026Russia2026-10-04
1027United Kingdom2026-09-27
1028Brazil2026-10-21
1029Germany2026-10-09
1030Germany2026-10-08
1031Russia2026-10-18
1032Brazil2026-10-01
1033Brazil2026-09-28
1034Canada2026-10-16
1035Italy2026-10-08
1036Australia2026-10-20
1037Germany2026-10-12
1038Germany2026-10-05
1039Spain2026-10-15
1040Spain2026-10-06
1041Brazil2026-10-11
1042Australia2026-10-13
1043Brazil2026-10-14
1044Germany2026-10-21
1045Argentina2026-10-08
1046India2026-09-29
1047Canada2026-10-04
1048Australia2026-09-27
1049Argentina2026-10-17

On-Demand Data

NameIdCountryDate
Arvin O Waycott1000Spain2026-10-01
Claire G Glick1001Russia2026-09-27
Cody Q Doe1002United Kingdom2026-09-27
Aika J Ostrosky1003Argentina2026-10-15
Octavia C Poquette1004France2026-10-05
Mayumi G Gillian1005Italy2026-09-22
Claire B Inouye1006Japan2026-10-05
Kaitlin S Bowley1007Germany2026-10-05
Chavez J Slusarski1008Spain2026-10-14
Tony D Paprocki1009France2026-09-27
Chavez M Campain1010Italy2026-09-22
Leja S Foller1011France2026-09-23
Greenwood Y Figeroa1012Germany2026-10-07
Leon Z Caldarera1013Canada2026-10-02
Aditya Z Ferencz1014Brazil2026-09-27
Greenwood S Royster1015Australia2026-10-13
Antonio F Schemmer1016Germany2026-10-04
Silvio G Glick1017Russia2026-10-08
Mayumi D Malet1018Argentina2026-09-29
Smith D Kusko1019Canada2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer Z CaudySpainAmy Elsner PROPOSAL
James Z InouyeCanadaIvan Magalhaes PROPOSAL
Munro A PerinCanadaAmy Elsner RENEWAL
James G GlickJapanIoni Bowcher UNQUALIFIED
James A DilliardItalyBernardo Dominic RENEWAL
Isabel K SergiIndiaAmy Elsner UNQUALIFIED
Juan A RulapaughItalyIoni Bowcher UNQUALIFIED
Clifford T SlusarskiItalyIoni Bowcher NEW
Claire M TollnerAustraliaOnyama Limba QUALIFIED
Aruna V VocelkaBrazilOnyama Limba NEW
Juan S VenereJapanXuxue Feng QUALIFIED
Misaki W AlbaresRussiaElwin Sharvill RENEWAL
Juan O StockhamIndiaElwin Sharvill RENEWAL
Sinclair R GillianSpainOnyama Limba PROPOSAL
Ricardo O GarufiSpainStephen Shaw PROPOSAL
Johnson B StockhamRussiaElwin Sharvill UNQUALIFIED
Jennifer D WhobreyCanadaIvan Magalhaes NEGOTIATION
Faith D FlosiCanadaElwin Sharvill RENEWAL
Jones I KolmetzArgentinaAsiya Javayant NEGOTIATION
David F AlbaresBrazilElwin Sharvill PROPOSAL
Jennifer B PoquetteJapanXuxue Feng QUALIFIED
Sinclair N AlbaresCanadaOnyama Limba QUALIFIED
James K MaletJapanStephen Shaw NEGOTIATION
Jones B BriddickSpainOnyama Limba RENEWAL
Jefferson I BowleyRussiaIvan Magalhaes NEW
Mujtaba C ChuiArgentinaAmy Elsner QUALIFIED
David X SergiUnited KingdomAnna Fali UNQUALIFIED
Johnson T InouyeIndiaBernardo Dominic RENEWAL
Francesco C NestleUnited KingdomAnna Fali NEGOTIATION
Ivar A NickaCanadaIvan Magalhaes NEGOTIATION
Jefferson W FerenczJapanOnyama Limba UNQUALIFIED
Kadeem B SlusarskiFranceAnna Fali UNQUALIFIED
Aika P FlosiSpainAnna Fali PROPOSAL
Tony L MaletUnited KingdomIvan Magalhaes PROPOSAL
Costa O TollnerJapanAmy Elsner NEGOTIATION
Sinclair N DilliardAustraliaOnyama Limba NEW
Greenwood J AmigonUnited KingdomOnyama Limba RENEWAL
Maisha P NestleFranceStephen Shaw UNQUALIFIED
Johnson K DoeCanadaAmy Elsner NEW
Darci Q CampainAustraliaElwin Sharvill NEW

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