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
Wickens E MaletGermanyIvan Magalhaes PROPOSAL
Smith Z GlickArgentinaXuxue Feng PROPOSAL
Leon W GauchoJapanIvan Magalhaes NEGOTIATION
Francesco R ButtRussiaOnyama Limba NEGOTIATION
Ricardo D KuskoJapanAsiya Javayant RENEWAL
Kaitlin S NestleArgentinaIoni Bowcher RENEWAL
Kaitlin W PoquetteUnited KingdomIvan Magalhaes NEW
Octavia B InouyeAustraliaXuxue Feng NEW
Ricardo A RoysterBrazilStephen Shaw RENEWAL
Isabel J FlosiIndiaOnyama Limba NEW
Jones Q DilliardArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois B DilliardSpainIvan Magalhaes NEGOTIATION
Faith I ShinkoUnited KingdomAmy Elsner QUALIFIED
Arvin C WhobreyRussiaAsiya Javayant NEW
Costa H FigeroaSpainAsiya Javayant NEGOTIATION
Octavia C SchemmerIndiaAmy Elsner NEGOTIATION
Leja Z FlosiArgentinaBernardo Dominic QUALIFIED
Aditya S MarrierBrazilAnna Fali NEW
Francesco T MaletUnited KingdomAnna Fali UNQUALIFIED
Kaitlin A DilliardFranceAnna Fali QUALIFIED
Johnson H DilliardGermanyIvan Magalhaes NEW
Ashley A StensethSpainIvan Magalhaes NEW
Cody A NickaSpainAmy Elsner RENEWAL
Jennifer H FollerJapanAsiya Javayant PROPOSAL
Juan S MacleadBrazilAnna Fali UNQUALIFIED
Salvatore D KolmetzSpainStephen Shaw UNQUALIFIED
Ricardo Y BowleyIndiaAnna Fali PROPOSAL
Ashley S MaletGermanyOnyama Limba NEW
Johnson E DoeUnited KingdomAmy Elsner NEGOTIATION
Jennifer K WaycottBrazilOnyama Limba PROPOSAL
Deepesh X FlosiCanadaElwin Sharvill PROPOSAL
Wickens X GillianBrazilBernardo Dominic QUALIFIED
Wickens F ButtFranceBernardo Dominic UNQUALIFIED
Munro E VenereIndiaAmy Elsner QUALIFIED
Misaki Z DoeArgentinaIoni Bowcher RENEWAL
Jeanfrancois Z GarufiSpainOnyama Limba RENEWAL
James V TollnerSpainElwin Sharvill UNQUALIFIED
James Z RulapaughRussiaBernardo Dominic PROPOSAL
Leja Z MaletAustraliaIoni Bowcher RENEWAL
Silvio A OldroydArgentinaAnna Fali RENEWAL
James F DarakjyFranceAsiya Javayant QUALIFIED
Leja J FollerGermanyAnna Fali RENEWAL
Rodrigues V GarufiCanadaIvan Magalhaes PROPOSAL
Ashley L BowleyRussiaAmy Elsner NEW
Sinclair U CampainCanadaIoni Bowcher NEGOTIATION
Juan B GarufiRussiaElwin Sharvill NEGOTIATION
Aruna F ChuiUnited KingdomBernardo Dominic QUALIFIED
Costa E IturbideCanadaXuxue Feng QUALIFIED
Juan N WaycottItalyAsiya Javayant PROPOSAL
Salvatore K NestleBrazilStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan N ChuiRussiaIvan Magalhaes NEGOTIATION
Aruna K WaycottJapanIvan Magalhaes UNQUALIFIED
Aika D BologniaIndiaIoni Bowcher NEGOTIATION
Aika D BowleyIndiaElwin Sharvill QUALIFIED
Isabel O FigeroaJapanAmy Elsner QUALIFIED
Claire E CaudyJapanElwin Sharvill NEW
Salvatore V NestleBrazilAsiya Javayant QUALIFIED
Greenwood E PoquetteFranceAmy Elsner QUALIFIED
Ashley X ShinkoSpainAmy Elsner PROPOSAL
Mujtaba H InouyeCanadaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro H NestleAustralia2026-10-22Rousseaux, Michael Esq RENEWAL74Ivan Magalhaes
1001Ricardo N SchemmerGermany2026-10-28Buckley Miller Wright QUALIFIED28Ioni Bowcher
1002Aika H ChuiIndia2026-10-29King, Christopher A Esq UNQUALIFIED19Onyama Limba
1003Leon V PaprockiBrazil2026-10-29Commercial Press NEGOTIATION70Anna Fali
1004Jennifer J SchemmerUnited Kingdom2026-11-05Feiner Bros NEW72Amy Elsner
1005Leja G DilliardJapan2026-10-31Feltz Printing Service QUALIFIED27Anna Fali
1006Cody V RutaBrazil2026-10-15Chanay, Jeffrey A Esq PROPOSAL60Ivan Magalhaes
1007Ashley C CaudyItaly2026-11-07Commercial Press PROPOSAL11Amy Elsner
1008Darci S CampainArgentina2026-11-06Commercial Press NEGOTIATION69Bernardo Dominic
1009Nicolas U BologniaRussia2026-10-09Rousseaux, Michael Esq NEGOTIATION2Stephen Shaw
1010Salvatore C SlusarskiBrazil2026-10-28Buckley Miller Wright QUALIFIED36Amy Elsner
1011Silvio S SlusarskiBrazil2026-11-01Rousseaux, Michael Esq QUALIFIED79Elwin Sharvill
1012Stacey G VocelkaCanada2026-10-31Feltz Printing Service PROPOSAL6Elwin Sharvill
1013Mayumi P FlosiCanada2026-10-09Commercial Press NEW3Bernardo Dominic
1014Francesco D NickaCanada2026-10-09Benton, John B Jr NEW34Asiya Javayant
1015Jones C DarakjyAustralia2026-10-11Buckley Miller Wright PROPOSAL12Ivan Magalhaes
1016Jennifer N PerinIndia2026-10-31Rangoni Of Florence NEGOTIATION7Ioni Bowcher
1017Izzy H StockhamIndia2026-11-04Chemel, James L Cpa PROPOSAL19Ivan Magalhaes
1018Francesco Y VenereBrazil2026-10-29Chanay, Jeffrey A Esq NEGOTIATION8Asiya Javayant
1019Aika I FlosiItaly2026-11-03Rangoni Of Florence UNQUALIFIED95Ivan Magalhaes
1020Leja C VocelkaIndia2026-10-22King, Christopher A Esq RENEWAL17Ivan Magalhaes
1021Clifford K PaprockiCanada2026-10-15Benton, John B Jr RENEWAL98Amy Elsner
1022Octavia D MarrierSpain2026-10-13Dorl, James J Esq QUALIFIED10Stephen Shaw
1023Aika W KuskoIndia2026-10-26Chanay, Jeffrey A Esq UNQUALIFIED19Onyama Limba
1024Arvin C CaldareraItaly2026-10-26Dorl, James J Esq QUALIFIED75Amy Elsner
1025Ashley W CaudyGermany2026-10-14Benton, John B Jr PROPOSAL71Anna Fali
1026Aditya C StockhamAustralia2026-10-17Truhlar And Truhlar Attys PROPOSAL89Ivan Magalhaes
1027Johnson M StensethGermany2026-10-11Feiner Bros NEGOTIATION83Ioni Bowcher
1028Alejandro Z ButtBrazil2026-10-12Benton, John B Jr NEW66Xuxue Feng
1029Clifford Z InouyeBrazil2026-10-17Chemel, James L Cpa PROPOSAL32Ivan Magalhaes
1030Cody J FerenczArgentina2026-10-17Chapman, Ross E Esq UNQUALIFIED16Xuxue Feng
1031Jeanfrancois N VocelkaArgentina2026-11-05Dorl, James J Esq NEW54Stephen Shaw
1032Adams G RimSpain2026-10-17Benton, John B Jr RENEWAL74Stephen Shaw
1033Arvin M FerenczItaly2026-10-16Chemel, James L Cpa NEW38Ioni Bowcher
1034Silvio H AmigonFrance2026-10-21Chanay, Jeffrey A Esq NEGOTIATION10Bernardo Dominic
1035Nicolas G NestleJapan2026-11-03Printing Dimensions NEW73Amy Elsner
1036Ashley D RoysterSpain2026-10-30King, Christopher A Esq PROPOSAL41Amy Elsner
1037Murillo Y StockhamUnited Kingdom2026-11-06Feiner Bros QUALIFIED22Stephen Shaw
1038Costa J CaudyIndia2026-10-11Chapman, Ross E Esq QUALIFIED33Bernardo Dominic
1039Francesco X WieserItaly2026-10-23Feltz Printing Service RENEWAL98Ivan Magalhaes
1040Cody T WhobreyGermany2026-10-23Chanay, Jeffrey A Esq RENEWAL40Ivan Magalhaes
1041Johnson D VocelkaJapan2026-10-09Chemel, James L Cpa RENEWAL63Bernardo Dominic
1042Isabel I BriddickIndia2026-10-17Dorl, James J Esq PROPOSAL70Anna Fali
1043Johnson X FlosiFrance2026-10-11Chanay, Jeffrey A Esq QUALIFIED7Stephen Shaw
1044Murillo S StensethItaly2026-11-07Commercial Press PROPOSAL51Anna Fali
1045Cody Q WaycottBrazil2026-10-21Rangoni Of Florence QUALIFIED20Ioni Bowcher
1046Sinclair F TollnerUnited Kingdom2026-10-16Truhlar And Truhlar Attys UNQUALIFIED14Amy Elsner
1047Ivar H SergiFrance2026-10-19Truhlar And Truhlar Attys NEW52Elwin Sharvill
1048Isabel M KolmetzUnited Kingdom2026-10-16Dorl, James J Esq NEW94Stephen Shaw
1049Clifford T StensethRussia2026-11-03Chanay, Jeffrey A Esq NEGOTIATION4Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro M ChuiUnited KingdomBernardo Dominic NEW
Ashley Y CaudyArgentinaAmy Elsner RENEWAL
Kadeem O BriddickJapanElwin Sharvill NEW
Ricardo A WaycottItalyIoni Bowcher PROPOSAL
Aruna N RutaItalyAmy Elsner PROPOSAL
Darci F PaprockiSpainXuxue Feng UNQUALIFIED
Nicolas L FerenczAustraliaBernardo Dominic QUALIFIED
Ricardo D CaudySpainAnna Fali RENEWAL
Isabel S NestleSpainIoni Bowcher NEGOTIATION
Aika U MaletRussiaAsiya Javayant UNQUALIFIED
Cody Z KuskoIndiaBernardo Dominic QUALIFIED
Kadeem Y RimSpainAnna Fali RENEWAL
Munro N OldroydJapanBernardo Dominic QUALIFIED
Jefferson Q RutaArgentinaBernardo Dominic UNQUALIFIED
Darci N NickaItalyOnyama Limba UNQUALIFIED
James L RimArgentinaIoni Bowcher PROPOSAL
Ricardo I PerinBrazilIoni Bowcher NEGOTIATION
Nicolas K BologniaUnited KingdomStephen Shaw NEW
Emily L PaprockiAustraliaAsiya Javayant UNQUALIFIED
Claire B BowleyJapanStephen Shaw QUALIFIED
Johnson I VenereArgentinaAmy Elsner QUALIFIED
Aruna N SaylorsFranceIoni Bowcher NEGOTIATION
James I WieserBrazilIoni Bowcher NEGOTIATION
Mujtaba A VenereSpainAmy Elsner PROPOSAL
Emily F FlosiRussiaIoni Bowcher RENEWAL
Mayumi E BriddickUnited KingdomAsiya Javayant RENEWAL
Sinclair S ShinkoItalyXuxue Feng QUALIFIED
Munro N VenereSpainAmy Elsner NEW
Ricardo D GlickItalyXuxue Feng QUALIFIED
Faith H WieserGermanyAsiya Javayant NEGOTIATION
Faith I SaylorsRussiaOnyama Limba NEW
Rodrigues A PoquetteUnited KingdomElwin Sharvill QUALIFIED
Nicolas H DoeArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois F CampainFranceAnna Fali NEW
Misaki P ShinkoGermanyAnna Fali NEW
Octavia F MorascaJapanStephen Shaw UNQUALIFIED
Wickens Q GlickItalyAnna Fali PROPOSAL
Julie T AmigonIndiaXuxue Feng PROPOSAL
Ivar X SergiJapanOnyama Limba UNQUALIFIED
Costa V AmigonItalyAnna Fali NEGOTIATION
Sinclair R TollnerAustraliaAnna Fali RENEWAL
Wickens L TollnerItalyAsiya Javayant PROPOSAL
Kaitlin S TollnerIndiaStephen Shaw NEW
Salvatore Z InouyeCanadaBernardo Dominic NEW
Jones C GlickRussiaAsiya Javayant PROPOSAL
Octavia T MarrierSpainStephen Shaw NEGOTIATION
Ivar W NestleIndiaAsiya Javayant UNQUALIFIED
Salvatore E FlosiArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues Q PerinSpainAsiya Javayant RENEWAL
Julie O WieserGermanyIoni Bowcher NEW
Frozen Columns
Name
Leon I Rulapaugh
Antonio I Gaucho
Jefferson W Kusko
Greenwood R Bowley
Silvio K Chui
Misaki G Maclead
Mujtaba H Nicka
Jennifer J Caudy
Aika Y Chui
Maria F Rulapaugh
Smith B Ostrosky
Leon H Caldarera
Morrow H Maclead
Maisha D Sergi
Jeanfrancois N Dilliard
Izzy K Malet
David E Figeroa
Jeanfrancois I Gillian
Maisha B Campain
Antonio P Inouye
Cody M Maclead
Francesco Q Shinko
Adams H Rim
Jennifer V Sergi
Smith C Bowley
Leon W Gillian
Silvio A Doe
Chavez G Marrier
Greenwood P Wieser
Jeanfrancois Z Royster
Darci D Ostrosky
Clifford S Marrier
Cody F Tollner
Salvatore X Sergi
Sinclair X Malet
Nicolas R Inouye
Mayumi N Amigon
Julie S Campain
Leon L Caldarera
Isabel M Doe
Salvatore I Chui
Jennifer L Amigon
Salvatore C Briddick
Aika S Nestle
Juan J Butt
Izzy G Tollner
Maria L Kusko
Misaki U Chui
Cody N Nicka
Leon U Gaucho
IdCountryDate
1000Brazil2026-10-14
1001Australia2026-10-17
1002Spain2026-11-01
1003Germany2026-10-26
1004Germany2026-10-16
1005Canada2026-10-27
1006France2026-10-10
1007Japan2026-10-17
1008Canada2026-10-20
1009Brazil2026-10-26
1010Italy2026-10-31
1011Russia2026-10-30
1012Spain2026-10-15
1013United Kingdom2026-10-24
1014Canada2026-11-03
1015Australia2026-10-14
1016United Kingdom2026-11-01
1017Japan2026-10-11
1018Australia2026-10-25
1019France2026-10-28
1020Germany2026-10-20
1021Canada2026-11-05
1022Spain2026-10-11
1023Canada2026-10-22
1024Spain2026-10-16
1025Canada2026-11-01
1026Brazil2026-10-27
1027Japan2026-10-24
1028Russia2026-11-06
1029Brazil2026-10-17
1030United Kingdom2026-10-19
1031France2026-10-25
1032United Kingdom2026-10-27
1033Canada2026-11-04
1034Brazil2026-10-16
1035Germany2026-10-23
1036India2026-10-21
1037Australia2026-10-14
1038Italy2026-10-28
1039Canada2026-11-03
1040United Kingdom2026-10-25
1041Russia2026-10-21
1042India2026-10-18
1043Russia2026-10-13
1044France2026-10-17
1045Japan2026-10-21
1046Canada2026-10-20
1047Russia2026-10-12
1048Canada2026-10-26
1049United Kingdom2026-10-20

On-Demand Data

NameIdCountryDate
Greenwood K Kolmetz1000Spain2026-10-28
Mujtaba R Caudy1001Germany2026-11-06
Murillo R Wieser1002Argentina2026-11-07
Kadeem X Stockham1003Canada2026-10-09
Jennifer U Whobrey1004Italy2026-11-01
Tony Z Poquette1005Russia2026-10-16
Leja N Amigon1006Spain2026-10-10
Munro C Bowley1007United Kingdom2026-10-15
Smith O Ferencz1008Australia2026-10-21
Jennifer S Maclead1009Japan2026-10-20
Ivar J Ruta1010Russia2026-11-02
Jennifer O Morasca1011France2026-11-02
Misaki C Venere1012Italy2026-10-15
Nicolas M Ruta1013Japan2026-11-06
Jennifer V Iturbide1014Brazil2026-10-19
Claire K Schemmer1015Italy2026-10-15
Jones Q Nestle1016Argentina2026-10-30
Octavia I Ostrosky1017United Kingdom2026-10-28
Morrow J Amigon1018Japan2026-10-24
Wickens U Ferencz1019France2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson M GauchoAustraliaBernardo Dominic RENEWAL
Ricardo M BologniaGermanyStephen Shaw RENEWAL
Jones P VenereFranceStephen Shaw RENEWAL
Jones G CaudyArgentinaIvan Magalhaes UNQUALIFIED
Jennifer Z PerinFranceXuxue Feng NEGOTIATION
Misaki T MarrierRussiaBernardo Dominic QUALIFIED
Ivar R GillianJapanStephen Shaw UNQUALIFIED
Darci X GillianSpainElwin Sharvill QUALIFIED
Aruna M CaldareraBrazilIoni Bowcher PROPOSAL
Rodrigues U KuskoGermanyIvan Magalhaes RENEWAL
Maisha M RutaCanadaIoni Bowcher PROPOSAL
Wickens D CaudyGermanyStephen Shaw NEGOTIATION
David C AlbaresCanadaXuxue Feng UNQUALIFIED
Murillo B OldroydFranceElwin Sharvill PROPOSAL
Alejandro B RutaArgentinaIvan Magalhaes PROPOSAL
Murillo Y TollnerItalyXuxue Feng PROPOSAL
Silvio I MacleadAustraliaBernardo Dominic UNQUALIFIED
Silvio U VenereUnited KingdomElwin Sharvill UNQUALIFIED
Cody Z DilliardBrazilXuxue Feng RENEWAL
Jeanfrancois E StockhamAustraliaAsiya Javayant NEGOTIATION
Izzy C ChuiGermanyIvan Magalhaes NEW
Ashley S WieserCanadaStephen Shaw UNQUALIFIED
Silvio D SergiBrazilXuxue Feng QUALIFIED
Jones E GarufiGermanyAmy Elsner NEW
Jeanfrancois H AmigonUnited KingdomAsiya Javayant NEGOTIATION
Clifford U VenereBrazilIvan Magalhaes NEGOTIATION
Mayumi B BologniaAustraliaAnna Fali PROPOSAL
Aditya Y WhobreyRussiaAsiya Javayant PROPOSAL
Aika M ShinkoItalyStephen Shaw PROPOSAL
Alejandro H StockhamJapanAmy Elsner PROPOSAL
Cody R InouyeItalyAmy Elsner QUALIFIED
Misaki W GauchoCanadaAnna Fali NEGOTIATION
Arvin L GillianArgentinaAsiya Javayant QUALIFIED
Alejandro W IturbideFranceStephen Shaw PROPOSAL
Darci K ShinkoAustraliaAsiya Javayant PROPOSAL
Kadeem B WieserCanadaAmy Elsner NEW
Salvatore A OstroskyItalyAmy Elsner RENEWAL
Octavia N DoeSpainElwin Sharvill UNQUALIFIED
Juan Q SchemmerFranceAsiya Javayant QUALIFIED
Arvin E MarrierIndiaAmy Elsner UNQUALIFIED

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