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
Deepesh K CampainItalyStephen Shaw PROPOSAL
Misaki Y KolmetzIndiaXuxue Feng RENEWAL
Emily H VenereGermanyIoni Bowcher NEW
Mujtaba P OstroskyGermanyAmy Elsner RENEWAL
Octavia Q IturbideIndiaXuxue Feng QUALIFIED
Leja E RutaItalyIoni Bowcher RENEWAL
Ivar W GauchoCanadaAsiya Javayant NEGOTIATION
Julie E PaprockiIndiaAmy Elsner QUALIFIED
Cody P GauchoSpainOnyama Limba UNQUALIFIED
Ashley M MaletIndiaOnyama Limba RENEWAL
Juan X VocelkaUnited KingdomAnna Fali PROPOSAL
Emily Q WaycottAustraliaAsiya Javayant NEW
Greenwood H PaprockiSpainElwin Sharvill UNQUALIFIED
Maisha H RulapaughAustraliaBernardo Dominic RENEWAL
Ricardo K RoysterIndiaXuxue Feng QUALIFIED
Mujtaba F FollerCanadaIvan Magalhaes NEGOTIATION
Emily C IturbideCanadaAsiya Javayant QUALIFIED
Aruna F TollnerUnited KingdomAnna Fali NEGOTIATION
Wickens U SaylorsJapanBernardo Dominic RENEWAL
Ivar F FerenczArgentinaIvan Magalhaes NEGOTIATION
Ashley J BologniaAustraliaElwin Sharvill QUALIFIED
Isabel D ChuiAustraliaXuxue Feng PROPOSAL
Izzy A GauchoRussiaElwin Sharvill RENEWAL
Arvin X GauchoIndiaAnna Fali QUALIFIED
Clifford D SlusarskiArgentinaAsiya Javayant QUALIFIED
Francesco O ShinkoIndiaAmy Elsner NEGOTIATION
Tony D GarufiSpainAsiya Javayant UNQUALIFIED
Mayumi B KuskoIndiaElwin Sharvill NEGOTIATION
Kaitlin B KuskoUnited KingdomAmy Elsner UNQUALIFIED
Chavez A StockhamJapanOnyama Limba NEGOTIATION
Ivar M KuskoFranceAnna Fali QUALIFIED
Mayumi Y RulapaughIndiaXuxue Feng RENEWAL
Claire K BriddickIndiaXuxue Feng UNQUALIFIED
Leja E KolmetzItalyOnyama Limba PROPOSAL
Claire P GauchoArgentinaAnna Fali PROPOSAL
Faith W WaycottArgentinaAsiya Javayant NEGOTIATION
Murillo V StensethCanadaAmy Elsner PROPOSAL
Francesco O VenereUnited KingdomXuxue Feng UNQUALIFIED
Greenwood U StensethItalyXuxue Feng RENEWAL
Nicolas B CaldareraFranceOnyama Limba NEGOTIATION
David N ChuiFranceAsiya Javayant RENEWAL
Misaki N GlickArgentinaBernardo Dominic RENEWAL
Jennifer B FigeroaArgentinaAnna Fali NEGOTIATION
Clifford P GarufiArgentinaIvan Magalhaes PROPOSAL
Faith F SaylorsGermanyElwin Sharvill QUALIFIED
Mujtaba B ButtIndiaOnyama Limba QUALIFIED
Jennifer F ChuiSpainXuxue Feng NEGOTIATION
Munro U DilliardAustraliaOnyama Limba NEGOTIATION
Ashley W RulapaughIndiaXuxue Feng UNQUALIFIED
Mayumi Y MorascaSpainAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio X VenereSpainAmy Elsner NEW
Munro H TollnerRussiaBernardo Dominic UNQUALIFIED
Silvio J WaycottAustraliaBernardo Dominic PROPOSAL
Cody P VocelkaItalyOnyama Limba NEW
Wickens A MacleadIndiaAmy Elsner UNQUALIFIED
Rodrigues A SergiGermanyXuxue Feng QUALIFIED
Aruna J BowleyAustraliaAmy Elsner NEGOTIATION
Kadeem H GlickFranceStephen Shaw NEW
Octavia Z MacleadUnited KingdomElwin Sharvill NEW
Darci U RutaFranceIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer R MaletUnited Kingdom2026-11-03Chanay, Jeffrey A Esq UNQUALIFIED49Ioni Bowcher
1001Kaitlin N RimUnited Kingdom2026-11-09Feltz Printing Service NEW90Bernardo Dominic
1002Kaitlin H RoysterJapan2026-10-31Chemel, James L Cpa QUALIFIED83Elwin Sharvill
1003Leja R KolmetzArgentina2026-10-31Rousseaux, Michael Esq RENEWAL99Xuxue Feng
1004Juan G KuskoGermany2026-11-07Feiner Bros NEW45Ioni Bowcher
1005Darci C WieserGermany2026-10-25Rangoni Of Florence UNQUALIFIED34Bernardo Dominic
1006James F StockhamUnited Kingdom2026-11-10Benton, John B Jr RENEWAL0Elwin Sharvill
1007Isabel D BologniaFrance2026-10-17Rangoni Of Florence PROPOSAL2Amy Elsner
1008Aditya Z ChuiArgentina2026-10-26Dorl, James J Esq NEW25Amy Elsner
1009Leon B DoeRussia2026-11-10Chapman, Ross E Esq UNQUALIFIED48Onyama Limba
1010Antonio Y DilliardIndia2026-10-31Chanay, Jeffrey A Esq NEW65Ioni Bowcher
1011Cody A SergiCanada2026-11-10Truhlar And Truhlar Attys QUALIFIED72Anna Fali
1012Isabel W ChuiBrazil2026-10-19Benton, John B Jr PROPOSAL67Asiya Javayant
1013Antonio Q GarufiAustralia2026-10-14Benton, John B Jr QUALIFIED38Onyama Limba
1014Leon G MaletSpain2026-10-31Printing Dimensions PROPOSAL70Elwin Sharvill
1015Julie W WieserUnited Kingdom2026-10-24Feiner Bros RENEWAL9Onyama Limba
1016Jeanfrancois O BologniaRussia2026-10-13Printing Dimensions NEGOTIATION42Xuxue Feng
1017Isabel C FigeroaItaly2026-11-01Chemel, James L Cpa UNQUALIFIED23Ioni Bowcher
1018James Q PerinSpain2026-10-21Chanay, Jeffrey A Esq QUALIFIED40Xuxue Feng
1019Darci J BowleyCanada2026-10-29Printing Dimensions NEGOTIATION94Onyama Limba
1020Francesco O MarrierJapan2026-11-01Chanay, Jeffrey A Esq UNQUALIFIED60Bernardo Dominic
1021Leja D SergiIndia2026-11-02Morlong Associates NEGOTIATION77Asiya Javayant
1022Arvin M ButtAustralia2026-11-03Benton, John B Jr QUALIFIED56Xuxue Feng
1023Chavez P NickaBrazil2026-10-12Morlong Associates RENEWAL34Anna Fali
1024Octavia I PoquetteArgentina2026-10-29King, Christopher A Esq RENEWAL62Anna Fali
1025Clifford N DarakjyBrazil2026-11-06Feiner Bros NEGOTIATION32Onyama Limba
1026Francesco G CampainAustralia2026-10-26Buckley Miller Wright UNQUALIFIED82Xuxue Feng
1027Misaki V GauchoUnited Kingdom2026-11-09Rousseaux, Michael Esq UNQUALIFIED20Onyama Limba
1028Salvatore V KolmetzIndia2026-10-15Chapman, Ross E Esq RENEWAL0Anna Fali
1029Emily K KuskoRussia2026-10-20Rousseaux, Michael Esq NEGOTIATION10Ivan Magalhaes
1030Jeanfrancois J VocelkaItaly2026-11-05Morlong Associates UNQUALIFIED97Bernardo Dominic
1031Maria J DarakjyArgentina2026-10-31Truhlar And Truhlar Attys RENEWAL37Xuxue Feng
1032Greenwood H MaletIndia2026-11-08Rangoni Of Florence NEW74Ivan Magalhaes
1033Misaki J MaletAustralia2026-10-22Feiner Bros UNQUALIFIED17Stephen Shaw
1034Claire F SergiRussia2026-10-22Feltz Printing Service NEW18Anna Fali
1035Ricardo U CaudyIndia2026-10-19Morlong Associates RENEWAL86Ioni Bowcher
1036Wickens R PerinJapan2026-10-14Printing Dimensions NEGOTIATION78Ivan Magalhaes
1037Deepesh P MaletGermany2026-11-05Rousseaux, Michael Esq NEW19Amy Elsner
1038Kadeem Z ShinkoItaly2026-10-24Chemel, James L Cpa PROPOSAL16Amy Elsner
1039Silvio B PerinCanada2026-10-23Rousseaux, Michael Esq NEGOTIATION21Ivan Magalhaes
1040Maria M NickaAustralia2026-10-27Printing Dimensions NEW40Asiya Javayant
1041Emily C SchemmerRussia2026-11-07Morlong Associates UNQUALIFIED41Anna Fali
1042Faith R DoeArgentina2026-11-09Feltz Printing Service UNQUALIFIED71Xuxue Feng
1043Jennifer G DilliardArgentina2026-11-09Chemel, James L Cpa NEW67Bernardo Dominic
1044Smith R PoquetteJapan2026-11-04Feltz Printing Service UNQUALIFIED28Ioni Bowcher
1045Kadeem L GlickGermany2026-11-08Rangoni Of Florence UNQUALIFIED41Elwin Sharvill
1046Aruna Q SergiJapan2026-10-25Rangoni Of Florence UNQUALIFIED42Amy Elsner
1047Ivar O OstroskyBrazil2026-10-19Feiner Bros UNQUALIFIED22Asiya Javayant
1048Salvatore K GarufiCanada2026-11-09Commercial Press UNQUALIFIED85Ioni Bowcher
1049Julie W WaycottBrazil2026-11-09Chanay, Jeffrey A Esq PROPOSAL87Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ivar X MorascaAustraliaOnyama Limba PROPOSAL
Sinclair B BriddickGermanyStephen Shaw UNQUALIFIED
Cody F PaprockiIndiaAnna Fali QUALIFIED
Kaitlin Z DilliardGermanyOnyama Limba UNQUALIFIED
David R NickaArgentinaIvan Magalhaes PROPOSAL
Aditya M FollerItalyXuxue Feng RENEWAL
Kaitlin L MaletAustraliaIoni Bowcher PROPOSAL
Aditya M DarakjySpainStephen Shaw RENEWAL
Jeanfrancois L GauchoRussiaOnyama Limba QUALIFIED
Silvio A TollnerFranceAnna Fali UNQUALIFIED
Francesco E BriddickAustraliaOnyama Limba RENEWAL
Aika N ShinkoArgentinaIvan Magalhaes NEW
Julie H WaycottSpainBernardo Dominic RENEWAL
Morrow A AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Aditya U RoysterJapanAsiya Javayant QUALIFIED
Costa X GauchoArgentinaAsiya Javayant NEW
Antonio X DoeIndiaOnyama Limba RENEWAL
Antonio J OldroydFranceOnyama Limba RENEWAL
Claire H SaylorsRussiaBernardo Dominic QUALIFIED
Aditya I RulapaughBrazilBernardo Dominic NEGOTIATION
Ashley O AmigonIndiaAnna Fali NEW
Greenwood V BologniaArgentinaBernardo Dominic NEGOTIATION
Rodrigues C RutaCanadaXuxue Feng NEW
Cody L PoquetteRussiaStephen Shaw RENEWAL
Ricardo U StockhamJapanElwin Sharvill PROPOSAL
Juan O PerinIndiaXuxue Feng RENEWAL
Alejandro S SaylorsRussiaAsiya Javayant NEGOTIATION
Izzy H DarakjyCanadaIoni Bowcher PROPOSAL
Greenwood Y AmigonFranceAsiya Javayant NEW
Octavia G InouyeIndiaIvan Magalhaes UNQUALIFIED
Johnson V DarakjyArgentinaBernardo Dominic QUALIFIED
Deepesh R AlbaresJapanStephen Shaw PROPOSAL
Isabel O DoeGermanyAsiya Javayant NEW
Mayumi M MacleadFranceAsiya Javayant RENEWAL
Jones I BologniaBrazilOnyama Limba QUALIFIED
Rodrigues P BologniaRussiaIvan Magalhaes PROPOSAL
Silvio C RutaBrazilOnyama Limba NEW
Wickens U NickaAustraliaIoni Bowcher QUALIFIED
Claire B MarrierJapanBernardo Dominic QUALIFIED
Maria T DoeGermanyOnyama Limba PROPOSAL
Jennifer H IturbideSpainAmy Elsner QUALIFIED
Ashley B BowleyAustraliaOnyama Limba QUALIFIED
Johnson P StensethFranceAsiya Javayant PROPOSAL
Isabel Q DoeFranceAmy Elsner NEGOTIATION
Aika R ButtGermanyStephen Shaw RENEWAL
Isabel X InouyeJapanAsiya Javayant NEW
Smith M PoquetteSpainIoni Bowcher RENEWAL
Arvin U NickaIndiaXuxue Feng UNQUALIFIED
Faith I OstroskyIndiaXuxue Feng QUALIFIED
Cody E SergiArgentinaXuxue Feng QUALIFIED
Frozen Columns
Name
Nicolas K Foller
Leon H Briddick
Ricardo T Stenseth
Emily A Flosi
Rodrigues Q Gaucho
Misaki X Tollner
Ricardo X Whobrey
Juan L Dilliard
Izzy O Amigon
Salvatore O Flosi
Cody I Rulapaugh
Jennifer C Garufi
Adams Q Albares
Aruna S Poquette
James B Stenseth
Ricardo X Butt
Jones V Caldarera
Johnson V Whobrey
Kadeem B Briddick
Leja G Oldroyd
Jennifer C Morasca
Aditya Z Stenseth
Tony S Albares
Emily W Poquette
Tony Z Waycott
Misaki E Nicka
Ricardo S Bowley
Antonio W Venere
Rodrigues Y Nestle
Juan B Caldarera
Smith F Tollner
Tony G Figeroa
Claire J Albares
Octavia U Ostrosky
Stacey Z Perin
Murillo E Marrier
Tony I Iturbide
Jennifer Z Garufi
Salvatore S Stockham
Aruna K Sergi
James Q Gaucho
Julie G Venere
James W Chui
James B Iturbide
Emily M Kolmetz
Cody G Slusarski
Alejandro W Shinko
Octavia L Shinko
Deepesh K Campain
Alejandro T Vocelka
IdCountryDate
1000Italy2026-10-14
1001Japan2026-10-21
1002Spain2026-10-22
1003United Kingdom2026-10-21
1004United Kingdom2026-11-01
1005India2026-10-28
1006France2026-11-04
1007Russia2026-10-31
1008Russia2026-11-08
1009United Kingdom2026-11-08
1010France2026-10-16
1011Spain2026-10-30
1012Italy2026-11-08
1013Spain2026-10-29
1014Germany2026-10-19
1015Spain2026-11-05
1016Brazil2026-10-18
1017Italy2026-10-24
1018Japan2026-10-23
1019Spain2026-11-10
1020Brazil2026-11-03
1021Japan2026-10-27
1022Spain2026-10-12
1023Australia2026-10-26
1024Italy2026-10-12
1025Germany2026-10-30
1026Japan2026-11-06
1027Canada2026-11-01
1028Spain2026-10-24
1029France2026-10-21
1030Argentina2026-10-16
1031France2026-10-29
1032Russia2026-11-01
1033Japan2026-10-23
1034United Kingdom2026-10-19
1035Canada2026-10-28
1036United Kingdom2026-11-04
1037Russia2026-11-09
1038United Kingdom2026-10-15
1039Australia2026-10-16
1040Brazil2026-10-28
1041Argentina2026-11-06
1042Argentina2026-11-08
1043India2026-11-02
1044Spain2026-10-31
1045Argentina2026-10-19
1046India2026-10-14
1047France2026-10-16
1048France2026-10-12
1049Spain2026-10-22

On-Demand Data

NameIdCountryDate
Faith H Paprocki1000Russia2026-11-01
Ricardo I Nestle1001Russia2026-10-26
Juan X Morasca1002Spain2026-10-13
Jennifer B Campain1003Brazil2026-11-03
Misaki A Schemmer1004Germany2026-10-22
Smith W Malet1005United Kingdom2026-10-13
Isabel T Sergi1006Brazil2026-10-18
Julie M Bowley1007Japan2026-10-26
Faith S Ostrosky1008Argentina2026-11-08
Munro S Oldroyd1009United Kingdom2026-11-01
Ricardo V Nestle1010France2026-11-05
Misaki A Tollner1011Japan2026-10-31
Mayumi B Stockham1012Argentina2026-11-09
Mujtaba A Paprocki1013Germany2026-10-22
Mujtaba M Kusko1014Japan2026-10-15
Jefferson T Whobrey1015United Kingdom2026-10-18
Misaki I Malet1016Canada2026-11-08
Juan Q Rim1017Argentina2026-10-28
David C Campain1018Canada2026-10-16
Jones E Rim1019Canada2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo K KuskoAustraliaAmy Elsner UNQUALIFIED
Leon Z OldroydItalyAmy Elsner UNQUALIFIED
Alejandro C BriddickGermanyIvan Magalhaes NEGOTIATION
Nicolas V NestleSpainElwin Sharvill RENEWAL
Chavez S RimGermanyAnna Fali UNQUALIFIED
Jeanfrancois T CaudyGermanyIvan Magalhaes NEW
Tony T GauchoArgentinaIoni Bowcher PROPOSAL
Octavia O SchemmerRussiaStephen Shaw NEW
Ivar Z BowleyUnited KingdomAmy Elsner NEGOTIATION
Emily R StensethAustraliaBernardo Dominic NEW
Antonio B MacleadArgentinaElwin Sharvill PROPOSAL
Aruna G NestleUnited KingdomIvan Magalhaes PROPOSAL
Francesco J RoysterItalyOnyama Limba UNQUALIFIED
Alejandro U WhobreyJapanXuxue Feng PROPOSAL
Leja Y ButtIndiaAnna Fali UNQUALIFIED
Chavez G KolmetzRussiaAnna Fali NEW
Izzy U ButtAustraliaAmy Elsner NEW
Izzy J NickaFranceXuxue Feng RENEWAL
Leja A MaletRussiaAmy Elsner NEW
Tony E RulapaughIndiaIoni Bowcher RENEWAL
Mujtaba Y NickaItalyIvan Magalhaes QUALIFIED
Cody C BriddickCanadaBernardo Dominic PROPOSAL
Rodrigues Q RimIndiaStephen Shaw UNQUALIFIED
Octavia V GlickCanadaIvan Magalhaes PROPOSAL
Izzy I KuskoArgentinaElwin Sharvill UNQUALIFIED
Darci M CaldareraBrazilAnna Fali PROPOSAL
Isabel S WaycottSpainBernardo Dominic RENEWAL
Wickens P ChuiItalyAmy Elsner NEW
Isabel K NestleArgentinaBernardo Dominic RENEWAL
Jones B ChuiCanadaOnyama Limba NEGOTIATION
Maria T WieserSpainAsiya Javayant UNQUALIFIED
Jefferson P DilliardCanadaBernardo Dominic UNQUALIFIED
Ashley B DilliardFranceIoni Bowcher RENEWAL
Deepesh J SlusarskiArgentinaBernardo Dominic NEW
David E WhobreyAustraliaBernardo Dominic UNQUALIFIED
Juan C DilliardRussiaElwin Sharvill RENEWAL
Ivar Y CampainBrazilAsiya Javayant RENEWAL
Sinclair N SlusarskiAustraliaAmy Elsner NEGOTIATION
Leja X RulapaughFranceXuxue Feng NEW
Antonio M WieserFranceOnyama 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>