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
Leon Y CaldareraIndiaAsiya Javayant QUALIFIED
Silvio S StockhamRussiaBernardo Dominic UNQUALIFIED
Izzy U NickaItalyElwin Sharvill QUALIFIED
Sinclair P SlusarskiUnited KingdomStephen Shaw QUALIFIED
Greenwood I MarrierCanadaStephen Shaw NEGOTIATION
David R GlickCanadaStephen Shaw RENEWAL
Ivar A RoysterFranceAsiya Javayant QUALIFIED
Aruna R WaycottCanadaIvan Magalhaes UNQUALIFIED
Kaitlin E DilliardUnited KingdomIoni Bowcher RENEWAL
Munro S GauchoRussiaAsiya Javayant NEGOTIATION
Jones O WieserFranceBernardo Dominic QUALIFIED
Kaitlin S InouyeItalyBernardo Dominic NEW
Octavia M StensethCanadaIoni Bowcher NEGOTIATION
Jefferson Q PaprockiBrazilElwin Sharvill RENEWAL
Cody U StensethAustraliaXuxue Feng NEGOTIATION
Adams W GauchoJapanAnna Fali NEGOTIATION
Emily P BriddickFranceIoni Bowcher NEW
Adams B IturbideFranceXuxue Feng RENEWAL
David O SchemmerAustraliaIoni Bowcher UNQUALIFIED
Aika H SchemmerFranceIoni Bowcher NEGOTIATION
Murillo K OldroydJapanIvan Magalhaes QUALIFIED
Ricardo T MacleadJapanAsiya Javayant UNQUALIFIED
Emily K AlbaresGermanyIoni Bowcher RENEWAL
Antonio W DarakjyRussiaOnyama Limba RENEWAL
Adams G IturbideItalyAsiya Javayant UNQUALIFIED
Alejandro X WaycottSpainXuxue Feng QUALIFIED
Francesco X PaprockiRussiaOnyama Limba NEW
Munro D KuskoIndiaOnyama Limba QUALIFIED
Greenwood S DoeAustraliaAsiya Javayant NEW
Adams P BologniaSpainIvan Magalhaes RENEWAL
Francesco V OldroydGermanyAsiya Javayant UNQUALIFIED
Sinclair E FollerFranceIvan Magalhaes NEW
Leon H DarakjyRussiaIoni Bowcher QUALIFIED
Misaki B DarakjyCanadaIoni Bowcher UNQUALIFIED
Greenwood J DoeCanadaElwin Sharvill RENEWAL
Murillo R ButtUnited KingdomXuxue Feng UNQUALIFIED
Aditya C ChuiCanadaAmy Elsner NEW
Leon T StockhamAustraliaElwin Sharvill RENEWAL
Rodrigues Y OldroydSpainOnyama Limba RENEWAL
Cody D IturbideJapanIoni Bowcher UNQUALIFIED
Smith G GillianItalyAnna Fali NEW
Salvatore C AlbaresAustraliaOnyama Limba UNQUALIFIED
Antonio K SergiRussiaIoni Bowcher PROPOSAL
Rodrigues P MaletUnited KingdomIvan Magalhaes RENEWAL
David W GarufiFranceAmy Elsner UNQUALIFIED
Kadeem L MaletIndiaStephen Shaw RENEWAL
Sinclair M CaudyJapanStephen Shaw PROPOSAL
Kadeem T CaudyRussiaIoni Bowcher NEGOTIATION
Mayumi Q StensethIndiaIvan Magalhaes UNQUALIFIED
Salvatore B PaprockiRussiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Alejandro C KolmetzArgentinaOnyama Limba NEW
Costa N SlusarskiRussiaIvan Magalhaes PROPOSAL
Mujtaba M DoeJapanAsiya Javayant PROPOSAL
Costa I GarufiCanadaOnyama Limba UNQUALIFIED
Smith U SaylorsBrazilBernardo Dominic NEGOTIATION
Mayumi C GarufiAustraliaIvan Magalhaes RENEWAL
Jennifer U FigeroaArgentinaAmy Elsner NEW
Cody Y PoquetteCanadaAsiya Javayant UNQUALIFIED
Clifford U SergiBrazilXuxue Feng UNQUALIFIED
Octavia H SchemmerSpainAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood E FigeroaJapan2026-10-11Chanay, Jeffrey A Esq NEW15Stephen Shaw
1001Misaki S PerinJapan2026-10-03Chanay, Jeffrey A Esq RENEWAL3Ivan Magalhaes
1002Faith F PerinFrance2026-10-03Rousseaux, Michael Esq NEW72Elwin Sharvill
1003Kaitlin G WieserItaly2026-10-08Chanay, Jeffrey A Esq RENEWAL86Stephen Shaw
1004Mayumi A DarakjyBrazil2026-09-16Chemel, James L Cpa RENEWAL63Bernardo Dominic
1005Nicolas V DoeSpain2026-09-16Morlong Associates RENEWAL92Onyama Limba
1006Ivar E SaylorsBrazil2026-09-28Chemel, James L Cpa NEW70Anna Fali
1007Leon R DilliardRussia2026-10-01Feltz Printing Service NEGOTIATION44Onyama Limba
1008Octavia M WaycottIndia2026-09-24Rangoni Of Florence PROPOSAL8Anna Fali
1009Wickens A SchemmerSpain2026-09-24King, Christopher A Esq RENEWAL4Ioni Bowcher
1010Julie V ChuiAustralia2026-10-08Rousseaux, Michael Esq NEGOTIATION84Asiya Javayant
1011Jefferson F OstroskyItaly2026-09-30Commercial Press QUALIFIED7Ioni Bowcher
1012Kaitlin M BriddickCanada2026-09-13King, Christopher A Esq RENEWAL22Bernardo Dominic
1013Tony N StensethGermany2026-09-30Rousseaux, Michael Esq UNQUALIFIED70Amy Elsner
1014Kadeem E CampainIndia2026-10-08King, Christopher A Esq RENEWAL63Xuxue Feng
1015Leon Q GlickJapan2026-10-10Morlong Associates PROPOSAL40Bernardo Dominic
1016Mujtaba F WieserGermany2026-09-26Dorl, James J Esq PROPOSAL55Asiya Javayant
1017Claire K SlusarskiIndia2026-09-23Chanay, Jeffrey A Esq NEW68Ivan Magalhaes
1018Nicolas P MorascaUnited Kingdom2026-09-18Truhlar And Truhlar Attys UNQUALIFIED82Onyama Limba
1019Izzy X DarakjyBrazil2026-10-08Rangoni Of Florence NEGOTIATION87Stephen Shaw
1020Leja B IturbideArgentina2026-10-10Truhlar And Truhlar Attys NEGOTIATION62Ioni Bowcher
1021Darci F MaletBrazil2026-09-17Chanay, Jeffrey A Esq QUALIFIED89Ioni Bowcher
1022Sinclair L BriddickFrance2026-09-29Printing Dimensions NEGOTIATION63Onyama Limba
1023Johnson Z CaldareraJapan2026-09-24Chemel, James L Cpa NEW11Elwin Sharvill
1024Maria I PoquetteFrance2026-09-18Feiner Bros NEW17Anna Fali
1025Chavez K RulapaughBrazil2026-09-22Truhlar And Truhlar Attys NEW89Elwin Sharvill
1026Mayumi Y MaletBrazil2026-09-13Truhlar And Truhlar Attys NEW60Ivan Magalhaes
1027Leja C IturbideUnited Kingdom2026-10-10Buckley Miller Wright NEW41Anna Fali
1028Izzy F MarrierIndia2026-10-09Rangoni Of Florence UNQUALIFIED7Elwin Sharvill
1029Sinclair M DarakjyBrazil2026-09-30Rangoni Of Florence PROPOSAL66Ivan Magalhaes
1030Faith L WhobreyGermany2026-09-15Dorl, James J Esq PROPOSAL46Ivan Magalhaes
1031Morrow R RoysterGermany2026-10-04Rousseaux, Michael Esq PROPOSAL49Bernardo Dominic
1032Smith W StockhamItaly2026-09-24King, Christopher A Esq QUALIFIED26Asiya Javayant
1033Aditya L MaletBrazil2026-09-15Feltz Printing Service QUALIFIED57Elwin Sharvill
1034Murillo A StensethUnited Kingdom2026-10-04Chapman, Ross E Esq NEGOTIATION41Amy Elsner
1035Nicolas L BologniaArgentina2026-10-06Printing Dimensions NEW15Amy Elsner
1036Juan E SchemmerSpain2026-09-29Chemel, James L Cpa RENEWAL88Anna Fali
1037Deepesh N CampainIndia2026-09-13Feltz Printing Service RENEWAL34Stephen Shaw
1038Stacey L OstroskyArgentina2026-10-08Printing Dimensions NEW33Amy Elsner
1039Aruna Z RutaBrazil2026-09-14Truhlar And Truhlar Attys QUALIFIED66Bernardo Dominic
1040Aika Y MacleadIndia2026-09-13Chanay, Jeffrey A Esq UNQUALIFIED0Bernardo Dominic
1041Cody K ChuiFrance2026-09-19Feltz Printing Service NEW14Anna Fali
1042Leja D DoeArgentina2026-09-22Chemel, James L Cpa PROPOSAL93Ivan Magalhaes
1043Cody S StockhamAustralia2026-09-23Morlong Associates PROPOSAL38Bernardo Dominic
1044James H CaldareraJapan2026-09-23Rousseaux, Michael Esq QUALIFIED70Elwin Sharvill
1045Ricardo T WaycottUnited Kingdom2026-09-21King, Christopher A Esq PROPOSAL97Elwin Sharvill
1046Jeanfrancois Z ButtFrance2026-09-30Feiner Bros UNQUALIFIED85Onyama Limba
1047Leja S OstroskyCanada2026-09-17Chanay, Jeffrey A Esq NEGOTIATION96Asiya Javayant
1048David A FlosiSpain2026-10-04Chanay, Jeffrey A Esq QUALIFIED29Amy Elsner
1049Silvio Y WieserJapan2026-09-29Feiner Bros PROPOSAL5Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mayumi P AlbaresIndiaIvan Magalhaes UNQUALIFIED
Ashley Q FollerCanadaStephen Shaw RENEWAL
Jones A GarufiSpainIvan Magalhaes QUALIFIED
Rodrigues T CaudyGermanyBernardo Dominic UNQUALIFIED
Adams F InouyeGermanyElwin Sharvill NEW
Nicolas W SaylorsCanadaAsiya Javayant NEW
Arvin J WaycottFranceAsiya Javayant QUALIFIED
Munro B BowleyFranceStephen Shaw RENEWAL
David G FollerRussiaAmy Elsner RENEWAL
Mujtaba Y MarrierAustraliaElwin Sharvill NEW
Emily W MacleadFranceAmy Elsner PROPOSAL
Smith I RimRussiaAmy Elsner PROPOSAL
Kaitlin E MaletIndiaElwin Sharvill NEGOTIATION
Isabel K DoeIndiaStephen Shaw NEW
Jennifer D StockhamJapanAnna Fali PROPOSAL
Munro H CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem J DarakjyFranceElwin Sharvill QUALIFIED
Isabel A ShinkoRussiaElwin Sharvill NEW
Salvatore G IturbideIndiaXuxue Feng UNQUALIFIED
Antonio L ShinkoJapanBernardo Dominic PROPOSAL
Ashley R OstroskyRussiaAmy Elsner RENEWAL
Leja Y FigeroaCanadaBernardo Dominic PROPOSAL
Faith A MaletCanadaAsiya Javayant RENEWAL
Emily M BologniaArgentinaIoni Bowcher NEW
Morrow K StensethCanadaIvan Magalhaes UNQUALIFIED
Izzy R ButtUnited KingdomAsiya Javayant QUALIFIED
Clifford F RulapaughRussiaElwin Sharvill QUALIFIED
Munro C GlickUnited KingdomElwin Sharvill NEW
Tony H ButtItalyAmy Elsner RENEWAL
Julie V ChuiCanadaBernardo Dominic NEW
Salvatore T PerinFranceAmy Elsner NEW
Maria C SergiItalyBernardo Dominic PROPOSAL
Clifford Z IturbideUnited KingdomAmy Elsner NEW
Julie V OstroskyGermanyIvan Magalhaes RENEWAL
Mayumi P SergiRussiaXuxue Feng UNQUALIFIED
Jeanfrancois R BriddickUnited KingdomIoni Bowcher RENEWAL
Aika L KuskoItalyBernardo Dominic NEGOTIATION
Isabel B MaletGermanyOnyama Limba UNQUALIFIED
Francesco B DilliardItalyAsiya Javayant PROPOSAL
Aika N ChuiJapanIvan Magalhaes PROPOSAL
Jennifer S BriddickGermanyIoni Bowcher QUALIFIED
Chavez X OstroskyFranceAmy Elsner PROPOSAL
Munro H OldroydRussiaXuxue Feng PROPOSAL
Alejandro Y RulapaughItalyAnna Fali PROPOSAL
Greenwood Q RulapaughItalyBernardo Dominic QUALIFIED
Clifford N ButtBrazilAnna Fali PROPOSAL
Leja G OstroskySpainElwin Sharvill NEGOTIATION
Juan P ShinkoUnited KingdomAnna Fali UNQUALIFIED
Izzy P DarakjyRussiaIoni Bowcher UNQUALIFIED
Sinclair B AmigonRussiaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Maisha H Malet
Stacey K Darakjy
Adams R Venere
Misaki A Amigon
Sinclair Y Gaucho
Emily F Ostrosky
Murillo R Campain
Maisha O Albares
Julie X Albares
Mayumi U Wieser
Smith F Sergi
Salvatore I Saylors
Ricardo P Ferencz
Morrow I Ostrosky
Juan N Malet
Murillo N Albares
Maisha B Poquette
Faith N Bolognia
Aika L Poquette
Arvin U Caldarera
Isabel N Poquette
Aika A Poquette
Deepesh E Saylors
Ashley R Malet
Jeanfrancois S Kolmetz
Smith W Rulapaugh
Johnson B Stockham
Francesco U Saylors
Salvatore B Rim
Silvio Q Venere
Maisha H Caudy
Wickens E Morasca
Cody D Royster
Leja K Waycott
Adams C Butt
Isabel Y Poquette
Aruna G Caldarera
Claire W Wieser
Leja Z Morasca
Ivar Y Kolmetz
Chavez Y Chui
James P Vocelka
Jefferson O Gaucho
Emily U Darakjy
Faith F Amigon
Isabel O Foller
Maria N Ruta
Kaitlin P Royster
Wickens P Venere
Aruna E Waycott
IdCountryDate
1000Germany2026-09-17
1001Germany2026-09-26
1002India2026-09-26
1003France2026-09-22
1004Japan2026-09-23
1005France2026-09-21
1006Japan2026-10-01
1007United Kingdom2026-10-02
1008Brazil2026-09-25
1009Japan2026-10-12
1010Italy2026-09-30
1011France2026-10-09
1012Spain2026-09-14
1013Argentina2026-09-21
1014Canada2026-09-29
1015Japan2026-09-15
1016United Kingdom2026-09-21
1017Brazil2026-09-29
1018Argentina2026-09-19
1019Canada2026-10-04
1020France2026-10-02
1021Argentina2026-10-03
1022Australia2026-09-20
1023Brazil2026-09-18
1024Canada2026-09-24
1025Brazil2026-09-17
1026Japan2026-09-20
1027United Kingdom2026-09-22
1028Australia2026-09-29
1029Australia2026-09-19
1030India2026-09-25
1031France2026-09-27
1032Japan2026-09-21
1033Japan2026-10-11
1034India2026-10-11
1035Australia2026-09-16
1036Australia2026-09-16
1037France2026-09-20
1038Canada2026-09-13
1039United Kingdom2026-10-08
1040Italy2026-09-19
1041India2026-09-22
1042Italy2026-10-09
1043Spain2026-09-29
1044Germany2026-09-26
1045Canada2026-09-22
1046Russia2026-09-19
1047France2026-09-17
1048Australia2026-09-23
1049United Kingdom2026-10-06

On-Demand Data

NameIdCountryDate
Smith O Butt1000Japan2026-10-01
Munro P Darakjy1001United Kingdom2026-10-05
Misaki L Iturbide1002India2026-09-27
Jeanfrancois L Slusarski1003Germany2026-09-15
Nicolas X Butt1004Canada2026-10-10
Salvatore J Shinko1005India2026-10-11
Stacey G Saylors1006Spain2026-10-02
Johnson W Rulapaugh1007Canada2026-09-17
Munro P Foller1008Brazil2026-10-03
Wickens C Venere1009Italy2026-09-21
Jones P Garufi1010Germany2026-10-08
David Z Whobrey1011Brazil2026-09-26
Francesco J Figeroa1012Brazil2026-09-27
Ricardo E Stockham1013United Kingdom2026-10-06
Rodrigues B Flosi1014United Kingdom2026-09-14
Aditya R Whobrey1015Canada2026-10-09
Ricardo W Campain1016India2026-10-08
Ivar L Inouye1017Germany2026-09-28
Greenwood E Ruta1018Canada2026-09-13
Johnson C Stockham1019Argentina2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo F MorascaGermanyAmy Elsner RENEWAL
Kadeem N StockhamArgentinaIvan Magalhaes NEGOTIATION
Misaki B MaletCanadaBernardo Dominic UNQUALIFIED
Darci S DoeArgentinaOnyama Limba NEGOTIATION
Costa G StockhamBrazilIoni Bowcher QUALIFIED
Adams L StockhamSpainOnyama Limba RENEWAL
Mayumi N VocelkaFranceStephen Shaw PROPOSAL
Jones T MacleadItalyStephen Shaw NEW
Mujtaba A InouyeArgentinaStephen Shaw NEW
Munro H DoeFranceAmy Elsner PROPOSAL
Rodrigues K OstroskyAustraliaAsiya Javayant NEW
Arvin M GauchoAustraliaIoni Bowcher UNQUALIFIED
Juan T PerinItalyAmy Elsner UNQUALIFIED
James W VocelkaAustraliaOnyama Limba NEW
Aruna K WhobreySpainAsiya Javayant QUALIFIED
Sinclair I DoeAustraliaAmy Elsner UNQUALIFIED
Tony C KolmetzSpainOnyama Limba NEW
Munro J SchemmerBrazilOnyama Limba RENEWAL
Deepesh Z OldroydJapanElwin Sharvill RENEWAL
Deepesh J VenereAustraliaIoni Bowcher RENEWAL
Julie J AlbaresIndiaBernardo Dominic PROPOSAL
Darci U ButtIndiaAsiya Javayant NEW
Izzy Y CaudySpainAnna Fali UNQUALIFIED
Aditya B AmigonFranceStephen Shaw RENEWAL
Claire P GauchoBrazilIoni Bowcher RENEWAL
Stacey D StockhamUnited KingdomBernardo Dominic NEW
Greenwood H SergiAustraliaAnna Fali RENEWAL
Morrow Y NestleArgentinaOnyama Limba NEGOTIATION
Rodrigues P MaletSpainAsiya Javayant PROPOSAL
David J TollnerIndiaElwin Sharvill UNQUALIFIED
Antonio S AmigonItalyIvan Magalhaes PROPOSAL
Stacey G VenereJapanIoni Bowcher UNQUALIFIED
Julie V InouyeArgentinaAmy Elsner PROPOSAL
Costa U BologniaArgentinaAsiya Javayant QUALIFIED
Antonio P GillianFranceAmy Elsner UNQUALIFIED
James Y KuskoAustraliaAnna Fali NEGOTIATION
Leja J PerinItalyIoni Bowcher NEGOTIATION
Juan Z NestleRussiaAnna Fali NEW
Adams P PoquetteSpainStephen Shaw NEGOTIATION
Salvatore E SchemmerSpainBernardo Dominic NEGOTIATION

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