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
Clifford A RutaJapanBernardo Dominic QUALIFIED
David I InouyeIndiaAnna Fali NEGOTIATION
Cody F KuskoUnited KingdomAsiya Javayant UNQUALIFIED
Aika J VenereSpainIvan Magalhaes NEW
Rodrigues X GauchoCanadaAsiya Javayant UNQUALIFIED
Sinclair N FollerJapanOnyama Limba RENEWAL
Morrow G VocelkaRussiaElwin Sharvill PROPOSAL
Kaitlin H WaycottUnited KingdomAnna Fali QUALIFIED
Smith J DarakjyCanadaAnna Fali NEGOTIATION
Misaki J AlbaresUnited KingdomIoni Bowcher PROPOSAL
Aika T RimAustraliaAsiya Javayant NEGOTIATION
Ashley A AlbaresGermanyOnyama Limba NEGOTIATION
Clifford V FigeroaItalyAmy Elsner RENEWAL
Rodrigues B InouyeIndiaStephen Shaw UNQUALIFIED
Aruna E AlbaresAustraliaAsiya Javayant RENEWAL
Jeanfrancois H SchemmerIndiaBernardo Dominic QUALIFIED
Munro C MaletItalyAnna Fali NEGOTIATION
Salvatore Y PaprockiRussiaElwin Sharvill NEGOTIATION
Greenwood A SergiArgentinaAsiya Javayant NEW
Arvin Q IturbideSpainXuxue Feng RENEWAL
Claire A GillianItalyAsiya Javayant PROPOSAL
Ricardo Q SchemmerAustraliaAnna Fali RENEWAL
Leon C GarufiUnited KingdomAsiya Javayant NEW
Arvin T DarakjyItalyAmy Elsner QUALIFIED
Mujtaba Q FigeroaCanadaOnyama Limba NEW
Silvio V FlosiJapanStephen Shaw QUALIFIED
Francesco D StensethArgentinaIoni Bowcher UNQUALIFIED
Izzy O MorascaRussiaBernardo Dominic RENEWAL
Jefferson P RoysterGermanyIoni Bowcher RENEWAL
Nicolas E PerinUnited KingdomIoni Bowcher UNQUALIFIED
Jeanfrancois B FollerArgentinaBernardo Dominic NEW
Johnson P SergiFranceAnna Fali UNQUALIFIED
Adams K WhobreyFranceAnna Fali PROPOSAL
Ivar G OldroydCanadaIoni Bowcher UNQUALIFIED
Misaki J NestleRussiaAmy Elsner QUALIFIED
Julie Y BriddickGermanyAsiya Javayant PROPOSAL
Salvatore T GauchoSpainXuxue Feng NEW
Morrow D KuskoSpainAmy Elsner PROPOSAL
Misaki A AlbaresArgentinaIvan Magalhaes RENEWAL
Alejandro J RutaUnited KingdomAsiya Javayant NEGOTIATION
Cody K PaprockiSpainIvan Magalhaes UNQUALIFIED
Kadeem K MorascaRussiaElwin Sharvill NEGOTIATION
David O GlickArgentinaXuxue Feng QUALIFIED
Ricardo Z StockhamGermanyXuxue Feng RENEWAL
Arvin F CaudyAustraliaAnna Fali PROPOSAL
Johnson J GarufiUnited KingdomElwin Sharvill NEW
David N RulapaughItalyAsiya Javayant QUALIFIED
Francesco G InouyeSpainAsiya Javayant NEW
Maisha U GlickSpainStephen Shaw QUALIFIED
Mujtaba G BriddickFranceIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Smith C MaletAustraliaBernardo Dominic PROPOSAL
Smith W AlbaresCanadaStephen Shaw NEW
Tony O OldroydItalyElwin Sharvill RENEWAL
Ashley B InouyeJapanBernardo Dominic UNQUALIFIED
Ashley F DoeSpainXuxue Feng NEGOTIATION
Deepesh S SlusarskiJapanOnyama Limba QUALIFIED
Jeanfrancois O DoeSpainIvan Magalhaes NEGOTIATION
Ricardo A InouyeJapanIvan Magalhaes QUALIFIED
Smith K AmigonCanadaIoni Bowcher QUALIFIED
Sinclair A VocelkaBrazilIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya K VenereItaly2026-10-31Rousseaux, Michael Esq RENEWAL50Ivan Magalhaes
1001Mayumi B FollerGermany2026-10-11Buckley Miller Wright RENEWAL85Ioni Bowcher
1002Jefferson Z MaletBrazil2026-10-23Benton, John B Jr UNQUALIFIED72Anna Fali
1003Murillo Q StockhamBrazil2026-10-21Commercial Press QUALIFIED19Anna Fali
1004James U PoquetteIndia2026-10-19Truhlar And Truhlar Attys RENEWAL66Xuxue Feng
1005Ashley D PerinItaly2026-10-29Chanay, Jeffrey A Esq UNQUALIFIED85Amy Elsner
1006Isabel X MarrierCanada2026-10-13Rangoni Of Florence PROPOSAL28Ioni Bowcher
1007James M NickaAustralia2026-10-30Chanay, Jeffrey A Esq NEGOTIATION76Ioni Bowcher
1008Rodrigues I FerenczRussia2026-10-11Morlong Associates QUALIFIED74Anna Fali
1009David U GillianBrazil2026-11-03Rangoni Of Florence RENEWAL16Xuxue Feng
1010Chavez L FlosiIndia2026-11-05Commercial Press NEW51Stephen Shaw
1011Stacey R RimRussia2026-10-22Benton, John B Jr RENEWAL28Amy Elsner
1012Munro P RutaGermany2026-11-08Rangoni Of Florence RENEWAL10Bernardo Dominic
1013Chavez Z GarufiArgentina2026-11-07Chanay, Jeffrey A Esq PROPOSAL29Ioni Bowcher
1014Jeanfrancois O MaletIndia2026-10-20Dorl, James J Esq UNQUALIFIED75Ioni Bowcher
1015Leja Q PerinUnited Kingdom2026-11-03Truhlar And Truhlar Attys RENEWAL83Onyama Limba
1016Alejandro J KolmetzAustralia2026-10-27Chanay, Jeffrey A Esq QUALIFIED89Xuxue Feng
1017Sinclair N SlusarskiFrance2026-10-30Printing Dimensions NEW57Stephen Shaw
1018Nicolas X GillianJapan2026-11-03Commercial Press QUALIFIED5Xuxue Feng
1019Cody H MorascaIndia2026-10-20Feltz Printing Service RENEWAL80Anna Fali
1020Darci G NickaFrance2026-10-27Chemel, James L Cpa RENEWAL30Anna Fali
1021Emily M DilliardItaly2026-10-22Dorl, James J Esq UNQUALIFIED46Elwin Sharvill
1022Greenwood P StensethRussia2026-11-03Chanay, Jeffrey A Esq UNQUALIFIED17Xuxue Feng
1023Isabel P DoeFrance2026-11-03Commercial Press NEW14Bernardo Dominic
1024Emily O RoysterRussia2026-10-30Printing Dimensions NEGOTIATION84Stephen Shaw
1025Murillo A RulapaughCanada2026-11-08Truhlar And Truhlar Attys NEGOTIATION16Stephen Shaw
1026Jefferson A CaldareraFrance2026-11-08Chapman, Ross E Esq PROPOSAL37Ioni Bowcher
1027Jennifer G SergiCanada2026-10-30Chemel, James L Cpa UNQUALIFIED12Amy Elsner
1028Darci S OldroydCanada2026-11-01Feltz Printing Service PROPOSAL83Ivan Magalhaes
1029Leon M GillianIndia2026-10-25Commercial Press RENEWAL8Onyama Limba
1030Maria O ButtJapan2026-10-29Benton, John B Jr RENEWAL43Anna Fali
1031Silvio Z RimAustralia2026-10-26Chapman, Ross E Esq RENEWAL44Stephen Shaw
1032Costa Z KuskoArgentina2026-10-14Rousseaux, Michael Esq QUALIFIED46Xuxue Feng
1033Salvatore U MarrierJapan2026-11-04Chanay, Jeffrey A Esq NEGOTIATION47Ivan Magalhaes
1034Costa S CaldareraFrance2026-10-20Rousseaux, Michael Esq RENEWAL42Ivan Magalhaes
1035Rodrigues K SlusarskiArgentina2026-10-12Rousseaux, Michael Esq UNQUALIFIED46Stephen Shaw
1036Salvatore T MacleadRussia2026-10-24Benton, John B Jr UNQUALIFIED35Xuxue Feng
1037Francesco Y RulapaughRussia2026-10-20Feiner Bros NEGOTIATION6Amy Elsner
1038Ivar H WhobreyRussia2026-10-13Feltz Printing Service NEW85Ioni Bowcher
1039Leon R MaletIndia2026-10-14Truhlar And Truhlar Attys NEGOTIATION56Onyama Limba
1040Costa G WieserArgentina2026-11-04Rangoni Of Florence RENEWAL55Ioni Bowcher
1041Aruna A KuskoUnited Kingdom2026-10-25King, Christopher A Esq NEGOTIATION90Ivan Magalhaes
1042Claire O SergiItaly2026-10-25Rousseaux, Michael Esq NEGOTIATION91Asiya Javayant
1043Darci V VocelkaRussia2026-10-18Feltz Printing Service UNQUALIFIED80Xuxue Feng
1044Kadeem V SaylorsAustralia2026-11-02Chanay, Jeffrey A Esq UNQUALIFIED72Xuxue Feng
1045David Y DarakjyBrazil2026-11-04Feiner Bros NEW99Bernardo Dominic
1046Leon C GlickSpain2026-10-26Feltz Printing Service UNQUALIFIED29Onyama Limba
1047Leon C KuskoUnited Kingdom2026-10-20Benton, John B Jr PROPOSAL75Onyama Limba
1048Wickens X CampainCanada2026-10-19Feltz Printing Service NEW58Ivan Magalhaes
1049Kaitlin A ButtAustralia2026-10-26Benton, John B Jr RENEWAL42Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Munro B FerenczRussiaStephen Shaw UNQUALIFIED
Deepesh Q BriddickUnited KingdomStephen Shaw QUALIFIED
Mujtaba G VocelkaSpainElwin Sharvill QUALIFIED
Aruna E WaycottArgentinaXuxue Feng UNQUALIFIED
Emily E RutaIndiaStephen Shaw NEGOTIATION
Antonio E NickaGermanyAnna Fali QUALIFIED
Aika K GillianCanadaBernardo Dominic PROPOSAL
Chavez Y MarrierItalyOnyama Limba UNQUALIFIED
Rodrigues D AlbaresCanadaAsiya Javayant NEGOTIATION
Cody E CaudyUnited KingdomBernardo Dominic QUALIFIED
Cody B BologniaJapanBernardo Dominic QUALIFIED
Jefferson S RimJapanOnyama Limba PROPOSAL
Nicolas Y MorascaGermanyOnyama Limba NEW
Tony L ButtAustraliaOnyama Limba QUALIFIED
James D MarrierItalyXuxue Feng UNQUALIFIED
Morrow Z CaudyGermanyAnna Fali NEW
Stacey Y VocelkaCanadaAsiya Javayant RENEWAL
Nicolas Q FigeroaCanadaAnna Fali UNQUALIFIED
Greenwood W ButtUnited KingdomStephen Shaw RENEWAL
Stacey X ButtIndiaStephen Shaw NEGOTIATION
Morrow K ChuiItalyIoni Bowcher NEW
Emily T BologniaGermanyIoni Bowcher RENEWAL
Greenwood P ChuiJapanIoni Bowcher UNQUALIFIED
Johnson R SergiUnited KingdomXuxue Feng UNQUALIFIED
Silvio P ShinkoArgentinaBernardo Dominic NEW
Murillo G KuskoIndiaElwin Sharvill RENEWAL
Clifford F SlusarskiJapanElwin Sharvill NEW
Aika D ButtRussiaXuxue Feng NEW
Aditya I KuskoBrazilXuxue Feng PROPOSAL
Smith T MaletFranceAsiya Javayant QUALIFIED
Aditya A SchemmerFranceElwin Sharvill NEGOTIATION
Juan P KolmetzArgentinaElwin Sharvill PROPOSAL
Jones R NestleJapanStephen Shaw QUALIFIED
Octavia U SaylorsIndiaStephen Shaw PROPOSAL
Aruna B PaprockiAustraliaAsiya Javayant UNQUALIFIED
Jones W DilliardBrazilXuxue Feng NEW
Clifford V FollerSpainAsiya Javayant UNQUALIFIED
Silvio U BowleyIndiaIoni Bowcher QUALIFIED
Tony B KuskoSpainAsiya Javayant RENEWAL
Nicolas A GauchoUnited KingdomStephen Shaw NEGOTIATION
Maisha N SchemmerItalyOnyama Limba UNQUALIFIED
Kadeem G FollerGermanyBernardo Dominic PROPOSAL
Deepesh Q WaycottBrazilBernardo Dominic NEGOTIATION
Jones R BowleyGermanyBernardo Dominic NEGOTIATION
Deepesh C DilliardGermanyBernardo Dominic PROPOSAL
Antonio Y WaycottArgentinaAnna Fali UNQUALIFIED
Munro D OldroydRussiaStephen Shaw PROPOSAL
Morrow H WhobreyItalyIoni Bowcher PROPOSAL
Maisha Z VenereAustraliaIoni Bowcher NEW
Faith L MaletAustraliaAnna Fali PROPOSAL
Frozen Columns
Name
Aruna K Caldarera
Ashley I Gillian
Jones O Darakjy
Silvio N Maclead
Mujtaba N Malet
Misaki X Ferencz
Leon Z Caudy
Salvatore C Nicka
Misaki A Malet
Salvatore F Gillian
Costa Z Darakjy
Deepesh F Chui
Deepesh J Glick
Ashley I Briddick
Faith V Paprocki
David Z Garufi
Leon Q Rim
Deepesh K Morasca
Mayumi H Bolognia
Mayumi I Maclead
Aruna Y Shinko
Wickens J Chui
Stacey W Ferencz
Maria J Caldarera
Jones A Inouye
Jeanfrancois G Oldroyd
Maisha D Kusko
Aruna K Bowley
Faith G Ruta
Misaki M Darakjy
David R Vocelka
Cody K Bowley
Julie T Whobrey
Octavia C Bowley
David T Stockham
Aika K Briddick
Alejandro Y Nicka
Chavez L Foller
Faith L Schemmer
Jeanfrancois H Tollner
Rodrigues R Glick
Chavez U Ferencz
Ashley O Bolognia
Aika Y Dilliard
Deepesh N Iturbide
Julie T Royster
Costa H Saylors
Jeanfrancois E Albares
Izzy C Chui
Aruna F Stenseth
IdCountryDate
1000Argentina2026-10-15
1001Australia2026-10-29
1002Russia2026-10-24
1003France2026-11-08
1004Spain2026-10-12
1005United Kingdom2026-10-20
1006Canada2026-11-03
1007India2026-10-24
1008Russia2026-11-04
1009Japan2026-10-12
1010Brazil2026-11-04
1011Spain2026-11-04
1012Japan2026-11-05
1013Australia2026-10-26
1014Australia2026-10-24
1015United Kingdom2026-10-14
1016Russia2026-10-12
1017Australia2026-10-30
1018India2026-10-20
1019Japan2026-10-24
1020Spain2026-11-03
1021India2026-10-15
1022Brazil2026-10-22
1023Italy2026-10-23
1024Australia2026-10-10
1025Germany2026-10-20
1026Spain2026-10-11
1027Japan2026-10-12
1028Russia2026-10-26
1029France2026-10-30
1030Russia2026-11-02
1031Italy2026-10-13
1032India2026-10-25
1033Spain2026-10-13
1034Australia2026-11-08
1035Argentina2026-10-16
1036India2026-11-06
1037Australia2026-10-16
1038Canada2026-11-07
1039Brazil2026-10-31
1040United Kingdom2026-11-08
1041Brazil2026-11-05
1042India2026-10-30
1043Brazil2026-10-11
1044Brazil2026-11-08
1045Argentina2026-10-24
1046Australia2026-10-29
1047Italy2026-10-27
1048Italy2026-10-27
1049Russia2026-11-04

On-Demand Data

NameIdCountryDate
Alejandro M Morasca1000Spain2026-10-10
Antonio M Poquette1001Canada2026-10-24
Murillo H Gillian1002Australia2026-10-30
Chavez G Stenseth1003Russia2026-10-19
Costa H Inouye1004India2026-11-02
Juan U Figeroa1005Canada2026-10-26
David W Iturbide1006Brazil2026-10-25
Sinclair G Shinko1007Brazil2026-11-05
Kaitlin H Garufi1008Argentina2026-10-31
Izzy Z Amigon1009United Kingdom2026-10-23
Morrow J Ruta1010Japan2026-10-17
Cody J Nestle1011United Kingdom2026-10-27
Wickens W Whobrey1012India2026-11-05
Aditya Z Campain1013Canada2026-11-02
Tony U Caldarera1014Japan2026-10-20
Leon Q Wieser1015Canada2026-11-08
Tony H Amigon1016Spain2026-10-26
Clifford I Sergi1017United Kingdom2026-11-03
Jennifer N Glick1018Italy2026-10-13
Mujtaba B Gillian1019Canada2026-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya Y MaletFranceAsiya Javayant NEGOTIATION
Salvatore R VenereSpainBernardo Dominic NEGOTIATION
Clifford G AlbaresFranceElwin Sharvill NEW
Mujtaba D RutaBrazilAmy Elsner NEW
Costa U DoeSpainStephen Shaw QUALIFIED
Rodrigues H IturbideSpainBernardo Dominic UNQUALIFIED
Ashley J BriddickSpainOnyama Limba UNQUALIFIED
Munro A PoquetteSpainOnyama Limba RENEWAL
Izzy O GarufiGermanyIoni Bowcher RENEWAL
Munro A CaudyGermanyAnna Fali NEW
Isabel M AmigonIndiaAnna Fali UNQUALIFIED
Munro G MaletBrazilBernardo Dominic RENEWAL
Costa E FollerSpainAmy Elsner UNQUALIFIED
Francesco H RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Jefferson G GauchoJapanBernardo Dominic PROPOSAL
Costa E AlbaresCanadaOnyama Limba UNQUALIFIED
Darci L FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Leja H MaletJapanIvan Magalhaes RENEWAL
Mayumi T FollerJapanOnyama Limba RENEWAL
Isabel Q CampainAustraliaStephen Shaw PROPOSAL
Juan W GlickItalyIoni Bowcher NEW
Maria L StockhamGermanyOnyama Limba QUALIFIED
Wickens T MorascaJapanElwin Sharvill PROPOSAL
Jeanfrancois J PoquetteCanadaOnyama Limba RENEWAL
Leon Q SlusarskiIndiaBernardo Dominic PROPOSAL
Darci Z TollnerBrazilAmy Elsner NEW
Maisha S RutaJapanStephen Shaw QUALIFIED
Johnson Y MarrierBrazilIvan Magalhaes NEGOTIATION
Cody V CampainSpainElwin Sharvill NEGOTIATION
Rodrigues C FigeroaAustraliaAmy Elsner UNQUALIFIED
Jones J SergiGermanyAnna Fali QUALIFIED
Rodrigues S KolmetzIndiaStephen Shaw NEGOTIATION
Munro M CaudyArgentinaBernardo Dominic NEW
Maria K StensethAustraliaAmy Elsner PROPOSAL
Juan Z MarrierUnited KingdomStephen Shaw NEW
Nicolas T SaylorsBrazilXuxue Feng QUALIFIED
Francesco O RimJapanElwin Sharvill NEW
Clifford E SlusarskiJapanElwin Sharvill RENEWAL
Francesco N GarufiIndiaIoni Bowcher UNQUALIFIED
David P DoeRussiaIvan Magalhaes QUALIFIED

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