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
Octavia Z InouyeSpainBernardo Dominic PROPOSAL
Alejandro P MaletCanadaStephen Shaw NEW
James Y DoeJapanOnyama Limba NEGOTIATION
Antonio X BowleyRussiaXuxue Feng QUALIFIED
Jones O CaldareraIndiaXuxue Feng RENEWAL
Kadeem Z StockhamBrazilAmy Elsner QUALIFIED
David T StensethRussiaIvan Magalhaes NEGOTIATION
Murillo D SaylorsGermanyAnna Fali NEW
Mujtaba U PaprockiSpainStephen Shaw QUALIFIED
Leon C MaletRussiaAmy Elsner QUALIFIED
Misaki Y FigeroaAustraliaOnyama Limba QUALIFIED
Claire V OstroskyItalyElwin Sharvill RENEWAL
Johnson Y PaprockiGermanyIoni Bowcher NEGOTIATION
Wickens F FlosiRussiaXuxue Feng NEW
Jennifer R VenereGermanyXuxue Feng UNQUALIFIED
Smith W ButtArgentinaAmy Elsner PROPOSAL
Tony J BriddickArgentinaIvan Magalhaes RENEWAL
Jeanfrancois A PoquetteBrazilAmy Elsner QUALIFIED
Salvatore O CampainBrazilStephen Shaw NEGOTIATION
Deepesh P InouyeUnited KingdomIvan Magalhaes QUALIFIED
Costa G FollerGermanyElwin Sharvill UNQUALIFIED
Chavez N RutaCanadaStephen Shaw NEGOTIATION
Kadeem B DilliardAustraliaAmy Elsner NEGOTIATION
Chavez L IturbideSpainXuxue Feng RENEWAL
Johnson X ButtCanadaAsiya Javayant RENEWAL
Smith T GlickRussiaXuxue Feng UNQUALIFIED
Leon D KuskoUnited KingdomElwin Sharvill PROPOSAL
Faith R DarakjyCanadaAmy Elsner UNQUALIFIED
Silvio Q FlosiAustraliaElwin Sharvill UNQUALIFIED
Ivar V GarufiSpainAmy Elsner RENEWAL
Jefferson U TollnerFranceOnyama Limba NEW
Jeanfrancois W VocelkaBrazilElwin Sharvill NEGOTIATION
Mujtaba A KuskoBrazilIoni Bowcher PROPOSAL
Cody B NickaRussiaAmy Elsner PROPOSAL
Julie Y KolmetzFranceOnyama Limba QUALIFIED
Misaki J TollnerSpainAnna Fali NEW
Rodrigues P MacleadUnited KingdomAmy Elsner PROPOSAL
Mayumi V ShinkoCanadaAsiya Javayant QUALIFIED
Cody K RulapaughCanadaIvan Magalhaes NEW
Jefferson Z RulapaughAustraliaAnna Fali UNQUALIFIED
Silvio L CaudyGermanyIoni Bowcher PROPOSAL
Francesco F RutaCanadaAmy Elsner UNQUALIFIED
Morrow Z IturbideJapanElwin Sharvill PROPOSAL
Alejandro H MaletCanadaElwin Sharvill QUALIFIED
Chavez F MorascaFranceIvan Magalhaes NEGOTIATION
Aika M MaletArgentinaAsiya Javayant RENEWAL
Ashley I InouyeGermanyIvan Magalhaes PROPOSAL
Darci M CampainItalyAsiya Javayant UNQUALIFIED
Adams Z RimJapanIvan Magalhaes QUALIFIED
Tony A FollerAustraliaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aditya D NestleBrazilOnyama Limba NEW
Costa F KolmetzItalyStephen Shaw PROPOSAL
Misaki Z ChuiItalyIoni Bowcher NEGOTIATION
David X PaprockiUnited KingdomOnyama Limba QUALIFIED
Jennifer Y RutaRussiaBernardo Dominic PROPOSAL
Ivar V VenereUnited KingdomStephen Shaw QUALIFIED
Smith O NickaCanadaBernardo Dominic UNQUALIFIED
David N GarufiRussiaAmy Elsner UNQUALIFIED
Smith M MaletBrazilBernardo Dominic PROPOSAL
Stacey U OldroydAustraliaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow D BriddickItaly2026-09-19Chanay, Jeffrey A Esq PROPOSAL69Ioni Bowcher
1001Costa G GauchoFrance2026-09-19Truhlar And Truhlar Attys UNQUALIFIED63Onyama Limba
1002Isabel A VenereFrance2026-09-18Morlong Associates NEW95Onyama Limba
1003Smith X SlusarskiItaly2026-10-04Benton, John B Jr QUALIFIED49Asiya Javayant
1004Salvatore I NestleCanada2026-09-30Buckley Miller Wright RENEWAL27Onyama Limba
1005Francesco W PoquetteCanada2026-09-16Printing Dimensions PROPOSAL58Stephen Shaw
1006Mayumi R PaprockiIndia2026-09-24Commercial Press UNQUALIFIED81Stephen Shaw
1007Clifford Z AlbaresAustralia2026-09-15Rangoni Of Florence UNQUALIFIED72Anna Fali
1008Antonio B StockhamSpain2026-09-08Rangoni Of Florence QUALIFIED86Bernardo Dominic
1009Munro C GarufiRussia2026-10-01King, Christopher A Esq NEW80Xuxue Feng
1010Munro E AmigonCanada2026-09-16Buckley Miller Wright NEGOTIATION73Amy Elsner
1011Mayumi F WaycottRussia2026-09-20Printing Dimensions PROPOSAL56Ioni Bowcher
1012Cody U ShinkoGermany2026-09-14Feiner Bros NEGOTIATION74Anna Fali
1013Ivar U BologniaItaly2026-09-08Rousseaux, Michael Esq RENEWAL89Ivan Magalhaes
1014Greenwood A RimSpain2026-09-21Chemel, James L Cpa NEGOTIATION23Ioni Bowcher
1015Maisha F CampainBrazil2026-09-07Chemel, James L Cpa NEGOTIATION89Elwin Sharvill
1016Ashley H OldroydAustralia2026-09-21Truhlar And Truhlar Attys PROPOSAL89Asiya Javayant
1017Antonio O OstroskyArgentina2026-10-04Chemel, James L Cpa PROPOSAL85Ivan Magalhaes
1018Ricardo J MaletJapan2026-09-10Chemel, James L Cpa QUALIFIED19Stephen Shaw
1019Francesco V VocelkaAustralia2026-09-07Benton, John B Jr RENEWAL42Stephen Shaw
1020Munro B WhobreyCanada2026-09-20Printing Dimensions PROPOSAL87Xuxue Feng
1021Chavez R FlosiItaly2026-10-04Benton, John B Jr UNQUALIFIED35Asiya Javayant
1022Juan A RulapaughFrance2026-09-24Benton, John B Jr NEGOTIATION79Stephen Shaw
1023Silvio Y CaudyIndia2026-09-29Dorl, James J Esq UNQUALIFIED52Anna Fali
1024Rodrigues T SaylorsGermany2026-09-12Truhlar And Truhlar Attys UNQUALIFIED9Ivan Magalhaes
1025Salvatore O GillianJapan2026-10-02Chanay, Jeffrey A Esq RENEWAL49Ivan Magalhaes
1026Mujtaba V StockhamBrazil2026-09-28Buckley Miller Wright NEW84Ioni Bowcher
1027Morrow F FlosiItaly2026-10-02Benton, John B Jr UNQUALIFIED23Onyama Limba
1028Mujtaba V CaldareraJapan2026-09-18Commercial Press QUALIFIED35Xuxue Feng
1029Juan G FlosiAustralia2026-10-01Truhlar And Truhlar Attys PROPOSAL90Asiya Javayant
1030Murillo S NickaIndia2026-09-23King, Christopher A Esq NEGOTIATION3Bernardo Dominic
1031Chavez L BologniaItaly2026-09-14Rousseaux, Michael Esq PROPOSAL37Onyama Limba
1032Munro C AlbaresSpain2026-09-06Feltz Printing Service NEW49Elwin Sharvill
1033David C BriddickUnited Kingdom2026-09-30Buckley Miller Wright NEW17Stephen Shaw
1034Tony N FollerJapan2026-09-08Feltz Printing Service NEGOTIATION10Asiya Javayant
1035Kadeem N TollnerFrance2026-09-08Printing Dimensions PROPOSAL45Ioni Bowcher
1036Julie E KuskoRussia2026-09-19Dorl, James J Esq NEW24Asiya Javayant
1037Jennifer N TollnerUnited Kingdom2026-09-10Printing Dimensions PROPOSAL93Bernardo Dominic
1038Maisha T MarrierBrazil2026-09-25Feiner Bros PROPOSAL38Ioni Bowcher
1039Morrow A DarakjyCanada2026-09-07Feltz Printing Service NEW59Ioni Bowcher
1040Deepesh Q FlosiIndia2026-09-29Truhlar And Truhlar Attys PROPOSAL56Ivan Magalhaes
1041Mujtaba G MaletFrance2026-09-30Buckley Miller Wright NEGOTIATION68Bernardo Dominic
1042Aditya S MacleadJapan2026-10-04Buckley Miller Wright QUALIFIED5Onyama Limba
1043Kaitlin O PoquetteGermany2026-09-15Rousseaux, Michael Esq UNQUALIFIED2Stephen Shaw
1044Smith S PoquetteIndia2026-09-18Chemel, James L Cpa QUALIFIED13Xuxue Feng
1045Aditya L FollerJapan2026-09-10Buckley Miller Wright RENEWAL95Bernardo Dominic
1046Wickens K OldroydRussia2026-09-12Chanay, Jeffrey A Esq RENEWAL8Stephen Shaw
1047David E CampainCanada2026-09-28Benton, John B Jr QUALIFIED77Anna Fali
1048Sinclair F FollerFrance2026-09-24Rangoni Of Florence UNQUALIFIED14Asiya Javayant
1049David I MarrierBrazil2026-09-24Feiner Bros PROPOSAL94Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ashley U RoysterSpainBernardo Dominic RENEWAL
Francesco C GlickCanadaBernardo Dominic NEGOTIATION
Leon T AmigonBrazilAnna Fali QUALIFIED
Johnson Z OldroydJapanIvan Magalhaes UNQUALIFIED
Mujtaba X ChuiArgentinaAsiya Javayant UNQUALIFIED
Maria W GillianIndiaIvan Magalhaes QUALIFIED
Isabel O TollnerRussiaIoni Bowcher UNQUALIFIED
Nicolas A StensethFranceStephen Shaw NEW
Leja G BowleyItalyBernardo Dominic RENEWAL
Chavez W CaudyRussiaAsiya Javayant NEGOTIATION
Aruna V BologniaSpainAmy Elsner NEGOTIATION
Julie I PoquetteUnited KingdomOnyama Limba RENEWAL
Tony B StensethSpainAnna Fali PROPOSAL
Leja Y FollerRussiaElwin Sharvill NEGOTIATION
Sinclair L StockhamBrazilBernardo Dominic UNQUALIFIED
Darci B ButtIndiaIoni Bowcher UNQUALIFIED
Adams G BowleyRussiaElwin Sharvill NEGOTIATION
Aika R CaldareraBrazilIoni Bowcher RENEWAL
Faith E RoysterFranceAsiya Javayant RENEWAL
Leja G GillianIndiaBernardo Dominic PROPOSAL
Tony Y MaletItalyAsiya Javayant RENEWAL
Isabel O StensethGermanyBernardo Dominic NEW
Alejandro T SaylorsGermanyBernardo Dominic QUALIFIED
Ivar I VenereItalyAmy Elsner UNQUALIFIED
Isabel L SergiItalyBernardo Dominic PROPOSAL
Ivar O MaletArgentinaAnna Fali NEGOTIATION
Claire H FlosiUnited KingdomAsiya Javayant QUALIFIED
Kadeem W WaycottFranceAnna Fali NEGOTIATION
Jefferson W VocelkaAustraliaAnna Fali NEW
Wickens T CaldareraArgentinaXuxue Feng QUALIFIED
Mayumi F DarakjyGermanyAmy Elsner UNQUALIFIED
Izzy R RulapaughBrazilIoni Bowcher QUALIFIED
Faith H RimRussiaAsiya Javayant NEW
Rodrigues R RulapaughGermanyIoni Bowcher NEW
Kaitlin Z StockhamFranceStephen Shaw RENEWAL
Greenwood A FollerJapanElwin Sharvill RENEWAL
Aditya D CaldareraCanadaAmy Elsner QUALIFIED
Aditya S TollnerBrazilXuxue Feng PROPOSAL
Ashley G FigeroaFranceXuxue Feng QUALIFIED
Clifford A AmigonFranceBernardo Dominic PROPOSAL
Francesco P WaycottFranceBernardo Dominic NEGOTIATION
Smith L KuskoGermanyIoni Bowcher NEW
Faith W OstroskyArgentinaIvan Magalhaes RENEWAL
Claire E NestleArgentinaIoni Bowcher RENEWAL
Silvio L NestleArgentinaAnna Fali RENEWAL
David O WieserFranceElwin Sharvill RENEWAL
Misaki L ChuiCanadaIvan Magalhaes NEW
Morrow Y MaletBrazilIvan Magalhaes UNQUALIFIED
Morrow U BowleySpainAnna Fali NEW
Johnson T SergiAustraliaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Octavia W Oldroyd
Darci R Dilliard
Tony P Ruta
Morrow N Malet
Costa J Venere
Salvatore Q Garufi
Arvin Y Shinko
Kaitlin X Morasca
Jefferson K Shinko
Deepesh R Glick
Isabel J Ostrosky
Costa R Doe
Emily F Waycott
Aika C Bowley
Adams J Venere
Isabel A Doe
Arvin P Morasca
Aditya S Saylors
Octavia F Gillian
James J Shinko
Smith I Chui
Darci H Foller
Juan N Bolognia
Costa S Briddick
Rodrigues P Figeroa
Salvatore V Glick
Munro D Vocelka
Johnson C Maclead
Julie D Iturbide
Mujtaba P Marrier
Alejandro J Figeroa
Maria C Saylors
Aruna U Darakjy
Salvatore Y Ostrosky
Darci X Caldarera
Jefferson H Morasca
Clifford X Stenseth
Julie N Morasca
Wickens B Paprocki
Rodrigues W Maclead
Juan K Perin
Smith C Shinko
Aruna Q Venere
Silvio Z Shinko
Juan A Poquette
Aika F Venere
James X Tollner
Jones L Butt
Maria H Shinko
James A Wieser
IdCountryDate
1000Brazil2026-09-24
1001United Kingdom2026-10-05
1002United Kingdom2026-09-30
1003Japan2026-09-29
1004Argentina2026-09-29
1005United Kingdom2026-09-18
1006Argentina2026-09-20
1007Russia2026-09-06
1008Spain2026-09-22
1009Italy2026-09-07
1010Italy2026-10-04
1011Italy2026-09-30
1012France2026-09-20
1013Australia2026-10-02
1014United Kingdom2026-09-12
1015Canada2026-09-08
1016Argentina2026-09-28
1017Germany2026-10-01
1018Italy2026-09-25
1019United Kingdom2026-09-21
1020Spain2026-09-24
1021Italy2026-09-08
1022Australia2026-09-13
1023United Kingdom2026-09-12
1024Germany2026-09-29
1025India2026-09-27
1026Australia2026-09-07
1027Argentina2026-10-05
1028Russia2026-09-06
1029Italy2026-09-22
1030Brazil2026-09-19
1031Russia2026-09-21
1032France2026-10-02
1033Italy2026-09-15
1034Japan2026-09-09
1035India2026-09-11
1036Spain2026-10-04
1037Italy2026-10-03
1038Spain2026-09-29
1039Russia2026-09-13
1040Japan2026-09-21
1041Japan2026-09-27
1042Australia2026-09-19
1043Russia2026-09-24
1044Australia2026-09-18
1045Russia2026-09-26
1046Spain2026-09-26
1047France2026-09-13
1048Spain2026-09-08
1049India2026-09-12

On-Demand Data

NameIdCountryDate
James P Stenseth1000Spain2026-09-25
Deepesh J Rim1001Russia2026-09-29
Arvin L Briddick1002France2026-09-11
Jones N Darakjy1003Germany2026-09-08
Kadeem V Paprocki1004Germany2026-09-22
Adams U Figeroa1005Japan2026-09-10
Antonio H Caudy1006France2026-09-09
Munro M Nestle1007Japan2026-09-10
Costa K Vocelka1008Brazil2026-10-03
Murillo H Royster1009Germany2026-09-10
Francesco W Rim1010Brazil2026-09-29
Rodrigues K Gaucho1011France2026-09-30
Octavia K Nicka1012Canada2026-09-27
Kaitlin X Wieser1013Spain2026-09-30
Stacey F Iturbide1014Italy2026-09-11
Tony P Caldarera1015Japan2026-09-15
Deepesh W Poquette1016Australia2026-09-18
Deepesh G Flosi1017Brazil2026-09-22
Leon C Nestle1018Argentina2026-09-06
Misaki N Gaucho1019Russia2026-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa O MacleadJapanXuxue Feng NEW
Kaitlin V CaldareraAustraliaIoni Bowcher RENEWAL
Murillo A MacleadBrazilAnna Fali NEW
Jones X WieserJapanElwin Sharvill PROPOSAL
Jeanfrancois C CaudyJapanOnyama Limba UNQUALIFIED
Claire R AmigonIndiaIoni Bowcher QUALIFIED
Clifford I IturbideFranceOnyama Limba RENEWAL
Salvatore G SaylorsRussiaElwin Sharvill UNQUALIFIED
Izzy Q CampainCanadaOnyama Limba NEGOTIATION
Darci Z OstroskyBrazilBernardo Dominic UNQUALIFIED
Nicolas H MaletIndiaAmy Elsner UNQUALIFIED
Jefferson A RulapaughAustraliaAsiya Javayant UNQUALIFIED
Stacey I GauchoFranceIvan Magalhaes NEGOTIATION
Stacey R FlosiSpainAsiya Javayant NEW
Aruna E MaletUnited KingdomElwin Sharvill NEW
Jennifer H BowleyArgentinaOnyama Limba PROPOSAL
Kadeem E CaldareraBrazilBernardo Dominic QUALIFIED
Leon B BriddickRussiaAnna Fali NEGOTIATION
Aika O OldroydJapanXuxue Feng NEGOTIATION
Aditya S KolmetzFranceBernardo Dominic RENEWAL
Mujtaba Q MarrierItalyElwin Sharvill NEW
Clifford S StensethIndiaElwin Sharvill RENEWAL
Juan M MarrierItalyOnyama Limba RENEWAL
Antonio K OstroskyAustraliaOnyama Limba QUALIFIED
Mayumi Z DilliardGermanyXuxue Feng NEW
Nicolas Z GillianItalyAmy Elsner NEW
Claire F RulapaughFranceOnyama Limba UNQUALIFIED
Julie E WieserCanadaStephen Shaw PROPOSAL
Clifford Q BowleyItalyAsiya Javayant RENEWAL
Kaitlin P RoysterArgentinaAmy Elsner NEW
Stacey E StensethItalyElwin Sharvill NEW
Adams Y KuskoBrazilElwin Sharvill QUALIFIED
Maria B RulapaughIndiaAmy Elsner QUALIFIED
Leja P AmigonSpainIvan Magalhaes NEGOTIATION
Ashley H CampainFranceStephen Shaw RENEWAL
Izzy B GarufiFranceOnyama Limba PROPOSAL
Munro P RulapaughGermanyXuxue Feng NEGOTIATION
Julie W FollerCanadaBernardo Dominic NEW
Stacey A GlickCanadaAmy Elsner NEGOTIATION
Maria T FollerFranceOnyama 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>