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
Munro G CampainSpainAmy Elsner QUALIFIED
Jones L MaletGermanyStephen Shaw PROPOSAL
Morrow E IturbideCanadaAmy Elsner NEGOTIATION
Aditya P DoeAustraliaAnna Fali UNQUALIFIED
Rodrigues W ChuiItalyXuxue Feng NEW
Mayumi P RutaBrazilXuxue Feng QUALIFIED
Francesco L NickaCanadaIoni Bowcher NEGOTIATION
Smith P RutaUnited KingdomIvan Magalhaes RENEWAL
Julie Y SaylorsRussiaIoni Bowcher NEW
Munro D WaycottCanadaAsiya Javayant PROPOSAL
Murillo I SchemmerUnited KingdomAsiya Javayant RENEWAL
Jennifer D MaletRussiaOnyama Limba NEGOTIATION
Aruna U RimJapanStephen Shaw UNQUALIFIED
Nicolas P NestleGermanyOnyama Limba QUALIFIED
Aruna G BologniaFranceAnna Fali NEW
Aruna I StensethSpainAsiya Javayant NEGOTIATION
Darci E SaylorsUnited KingdomAsiya Javayant NEW
Jefferson E StensethAustraliaXuxue Feng RENEWAL
Maisha H NickaIndiaAsiya Javayant PROPOSAL
Ivar H MacleadJapanIoni Bowcher PROPOSAL
Misaki J AmigonIndiaXuxue Feng QUALIFIED
Maisha Y AmigonFranceElwin Sharvill QUALIFIED
Misaki M MaletArgentinaIvan Magalhaes QUALIFIED
Maria J BologniaSpainAmy Elsner QUALIFIED
Jones O BriddickArgentinaElwin Sharvill UNQUALIFIED
Francesco F KuskoCanadaElwin Sharvill RENEWAL
Izzy O WhobreyIndiaXuxue Feng PROPOSAL
Adams B PerinRussiaIoni Bowcher UNQUALIFIED
Greenwood P MaletFranceStephen Shaw RENEWAL
Silvio F DilliardFranceElwin Sharvill NEW
Ivar J BowleyCanadaBernardo Dominic PROPOSAL
Ashley H NestleIndiaAsiya Javayant NEGOTIATION
Silvio O FerenczBrazilStephen Shaw UNQUALIFIED
Wickens I CaldareraGermanyBernardo Dominic NEGOTIATION
Tony S RulapaughGermanyIoni Bowcher UNQUALIFIED
Julie N GlickAustraliaAnna Fali PROPOSAL
Mujtaba W MaletCanadaXuxue Feng UNQUALIFIED
Ashley F SchemmerJapanElwin Sharvill UNQUALIFIED
Aditya B PoquetteCanadaAsiya Javayant NEW
Alejandro P NestleSpainStephen Shaw UNQUALIFIED
Izzy Q FollerItalyStephen Shaw NEGOTIATION
Arvin J StockhamBrazilAnna Fali QUALIFIED
Claire S RutaAustraliaElwin Sharvill NEGOTIATION
Salvatore J BowleyArgentinaAnna Fali PROPOSAL
Johnson N ChuiAustraliaXuxue Feng PROPOSAL
Deepesh Z StensethGermanyAnna Fali NEW
Octavia O WieserIndiaIvan Magalhaes QUALIFIED
Nicolas J BowleyJapanOnyama Limba QUALIFIED
Jones S KolmetzFranceOnyama Limba QUALIFIED
Rodrigues A FollerFranceIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore J MaletIndiaAnna Fali QUALIFIED
Cody C CaudyJapanIvan Magalhaes RENEWAL
Sinclair G VocelkaItalyAmy Elsner UNQUALIFIED
Tony X OldroydRussiaOnyama Limba QUALIFIED
Alejandro B CaudyIndiaIoni Bowcher NEW
Kadeem M MacleadUnited KingdomIvan Magalhaes NEW
Munro C BowleyCanadaAsiya Javayant QUALIFIED
Jeanfrancois V OldroydUnited KingdomBernardo Dominic NEW
Isabel Q WieserGermanyIoni Bowcher PROPOSAL
Tony O GauchoCanadaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois Z AlbaresItaly2026-09-14Morlong Associates NEW82Onyama Limba
1001Tony F StockhamBrazil2026-09-10Printing Dimensions NEW64Stephen Shaw
1002Leja G MorascaUnited Kingdom2026-09-21Printing Dimensions NEGOTIATION49Amy Elsner
1003Ricardo X FlosiArgentina2026-10-05Rangoni Of Florence RENEWAL49Anna Fali
1004Chavez B ButtGermany2026-09-30King, Christopher A Esq PROPOSAL98Bernardo Dominic
1005Morrow N BriddickIndia2026-09-25Dorl, James J Esq PROPOSAL17Ioni Bowcher
1006Faith L CaldareraAustralia2026-09-23Commercial Press NEGOTIATION83Anna Fali
1007Misaki R VenereArgentina2026-09-08Chanay, Jeffrey A Esq NEGOTIATION90Stephen Shaw
1008Chavez K RimArgentina2026-09-11Rangoni Of Florence PROPOSAL86Stephen Shaw
1009Jeanfrancois N RimRussia2026-09-25Buckley Miller Wright NEGOTIATION44Stephen Shaw
1010Ashley Y MarrierAustralia2026-09-10Commercial Press QUALIFIED75Xuxue Feng
1011Izzy K VocelkaAustralia2026-09-25Morlong Associates UNQUALIFIED65Ivan Magalhaes
1012Ashley A CaudyItaly2026-09-15Commercial Press NEW15Ivan Magalhaes
1013Ashley S WaycottJapan2026-09-15Rangoni Of Florence NEW83Stephen Shaw
1014Octavia G SaylorsUnited Kingdom2026-09-07Dorl, James J Esq RENEWAL93Anna Fali
1015Wickens U MorascaBrazil2026-09-29Morlong Associates UNQUALIFIED31Asiya Javayant
1016Deepesh J FollerUnited Kingdom2026-09-14Morlong Associates NEGOTIATION77Elwin Sharvill
1017Francesco Q CampainFrance2026-09-14Chemel, James L Cpa UNQUALIFIED69Bernardo Dominic
1018Ricardo C RimUnited Kingdom2026-09-28Rangoni Of Florence RENEWAL69Asiya Javayant
1019Munro W IturbideAustralia2026-09-26Rangoni Of Florence NEW0Asiya Javayant
1020Kaitlin U BowleyBrazil2026-09-08Chanay, Jeffrey A Esq NEGOTIATION38Onyama Limba
1021Ricardo E NestleJapan2026-09-13Printing Dimensions RENEWAL46Onyama Limba
1022Cody E WieserUnited Kingdom2026-10-04Dorl, James J Esq UNQUALIFIED31Amy Elsner
1023Cody J FigeroaBrazil2026-09-30Chapman, Ross E Esq RENEWAL94Bernardo Dominic
1024Costa Y BowleyJapan2026-09-06Chanay, Jeffrey A Esq NEW55Ioni Bowcher
1025Maisha Q KuskoRussia2026-09-25Benton, John B Jr PROPOSAL96Elwin Sharvill
1026Julie F CaudyRussia2026-09-24Benton, John B Jr RENEWAL3Amy Elsner
1027Jeanfrancois X DoeArgentina2026-09-13King, Christopher A Esq NEGOTIATION61Amy Elsner
1028Rodrigues F CaudyUnited Kingdom2026-09-18Truhlar And Truhlar Attys UNQUALIFIED17Onyama Limba
1029Kadeem T GarufiUnited Kingdom2026-10-04Feltz Printing Service PROPOSAL96Onyama Limba
1030Mujtaba Q OstroskyBrazil2026-09-19King, Christopher A Esq NEGOTIATION35Stephen Shaw
1031Clifford N CaudyJapan2026-09-22Rousseaux, Michael Esq NEW52Amy Elsner
1032Sinclair G BowleyAustralia2026-09-12Truhlar And Truhlar Attys QUALIFIED64Ioni Bowcher
1033Claire N MaletRussia2026-09-06Dorl, James J Esq NEW67Bernardo Dominic
1034Claire P StockhamGermany2026-09-24Rangoni Of Florence NEW73Ivan Magalhaes
1035Silvio U BologniaItaly2026-09-28Chapman, Ross E Esq NEGOTIATION23Ivan Magalhaes
1036Ashley S RulapaughUnited Kingdom2026-10-03Rousseaux, Michael Esq UNQUALIFIED54Anna Fali
1037Ivar H ChuiItaly2026-09-28Rangoni Of Florence RENEWAL25Amy Elsner
1038Aruna N BologniaAustralia2026-09-24Dorl, James J Esq NEGOTIATION68Ivan Magalhaes
1039Salvatore L KolmetzUnited Kingdom2026-09-12Chanay, Jeffrey A Esq PROPOSAL20Asiya Javayant
1040Antonio P WaycottIndia2026-09-09Chanay, Jeffrey A Esq NEW76Anna Fali
1041Emily Y DoeItaly2026-09-07Morlong Associates QUALIFIED35Bernardo Dominic
1042Octavia K ButtItaly2026-10-02Truhlar And Truhlar Attys RENEWAL98Asiya Javayant
1043Claire Z StensethFrance2026-09-17Dorl, James J Esq QUALIFIED38Ivan Magalhaes
1044Maria W OstroskyItaly2026-09-06King, Christopher A Esq QUALIFIED40Xuxue Feng
1045Claire L PaprockiFrance2026-09-19Feltz Printing Service NEGOTIATION92Bernardo Dominic
1046Adams P BowleyArgentina2026-09-17Morlong Associates QUALIFIED33Ivan Magalhaes
1047Julie G SaylorsGermany2026-10-01King, Christopher A Esq PROPOSAL45Asiya Javayant
1048Misaki L IturbideJapan2026-09-26Morlong Associates RENEWAL24Onyama Limba
1049Alejandro N RutaUnited Kingdom2026-09-15Feltz Printing Service RENEWAL81Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Misaki Q RoysterAustraliaOnyama Limba NEW
Jefferson T CaudyUnited KingdomOnyama Limba UNQUALIFIED
Emily Y SchemmerSpainElwin Sharvill PROPOSAL
Aditya X MacleadGermanyAmy Elsner QUALIFIED
Faith F ButtGermanyAmy Elsner QUALIFIED
Stacey X RoysterJapanAmy Elsner NEW
Kaitlin G WieserGermanyAsiya Javayant QUALIFIED
Rodrigues Q FigeroaItalyXuxue Feng PROPOSAL
Salvatore Z VocelkaAustraliaOnyama Limba QUALIFIED
Sinclair Q AlbaresAustraliaXuxue Feng PROPOSAL
Johnson D MaletItalyAmy Elsner NEGOTIATION
Faith F RoysterUnited KingdomIoni Bowcher QUALIFIED
Stacey Z SchemmerGermanyAsiya Javayant NEW
Leon R DilliardBrazilBernardo Dominic QUALIFIED
Antonio L GauchoItalyBernardo Dominic QUALIFIED
Deepesh V BologniaFranceBernardo Dominic NEW
Maria K MaletAustraliaBernardo Dominic NEGOTIATION
Costa Q BologniaArgentinaElwin Sharvill RENEWAL
Johnson H RimItalyIvan Magalhaes RENEWAL
Izzy J RutaGermanyStephen Shaw NEW
Tony Y SaylorsRussiaAmy Elsner QUALIFIED
Jones F KolmetzArgentinaXuxue Feng QUALIFIED
Silvio F BologniaItalyIvan Magalhaes NEGOTIATION
Morrow Z StockhamFranceAsiya Javayant RENEWAL
Salvatore J ButtIndiaXuxue Feng PROPOSAL
Isabel V NickaSpainStephen Shaw QUALIFIED
Jennifer Z CampainUnited KingdomStephen Shaw NEW
Antonio U RulapaughBrazilBernardo Dominic PROPOSAL
Sinclair G PoquetteJapanIoni Bowcher PROPOSAL
Darci W RutaArgentinaOnyama Limba RENEWAL
Isabel P PerinIndiaIoni Bowcher QUALIFIED
Aika S OstroskyJapanOnyama Limba PROPOSAL
Cody A MarrierFranceElwin Sharvill UNQUALIFIED
Mayumi P WieserFranceAmy Elsner RENEWAL
Aika V MaletItalyAsiya Javayant NEGOTIATION
Costa Q CaudyFranceElwin Sharvill NEW
Isabel T GillianJapanAsiya Javayant NEGOTIATION
Kaitlin U StensethSpainOnyama Limba QUALIFIED
Darci U DoeArgentinaOnyama Limba UNQUALIFIED
Kadeem H GlickSpainAsiya Javayant NEGOTIATION
Ivar P BowleyUnited KingdomIoni Bowcher RENEWAL
Adams C FlosiFranceBernardo Dominic UNQUALIFIED
David R ChuiCanadaIoni Bowcher NEGOTIATION
Nicolas N WaycottJapanXuxue Feng PROPOSAL
Juan V FerenczJapanBernardo Dominic PROPOSAL
Wickens E CaudyGermanyAsiya Javayant PROPOSAL
Chavez K GillianItalyIvan Magalhaes UNQUALIFIED
Munro V ChuiArgentinaIoni Bowcher QUALIFIED
Maria G KuskoFranceBernardo Dominic PROPOSAL
Jones O RimFranceElwin Sharvill QUALIFIED
Frozen Columns
Name
Wickens K Glick
Claire A Iturbide
Izzy J Royster
Adams R Ferencz
Aditya I Sergi
Morrow T Ferencz
Leja W Inouye
Silvio P Ruta
Aditya R Darakjy
Ivar H Caldarera
Ricardo V Kusko
Francesco P Bowley
Greenwood T Malet
Johnson F Gaucho
Emily K Ostrosky
Stacey T Waycott
Julie I Darakjy
Aika P Butt
Jeanfrancois A Kusko
Alejandro P Slusarski
Chavez G Poquette
Stacey T Inouye
Costa N Dilliard
Smith M Ferencz
Smith X Ruta
Jones L Ferencz
Greenwood A Whobrey
Wickens N Dilliard
Octavia K Malet
Francesco Y Butt
Leon C Foller
Alejandro K Nestle
Maisha Y Perin
Clifford I Poquette
Emily Q Venere
Ivar G Ruta
Juan X Caldarera
Adams Y Marrier
Emily F Oldroyd
Murillo E Doe
Ivar N Vocelka
Adams U Saylors
Izzy U Slusarski
Ricardo J Campain
Silvio H Ruta
Greenwood P Flosi
Kadeem E Flosi
Nicolas U Morasca
Leon Q Glick
Misaki D Campain
IdCountryDate
1000United Kingdom2026-09-27
1001Spain2026-10-03
1002Germany2026-09-10
1003Australia2026-09-16
1004France2026-09-15
1005France2026-09-25
1006Canada2026-09-27
1007Canada2026-09-28
1008Italy2026-09-14
1009Australia2026-09-13
1010Italy2026-09-26
1011Japan2026-10-01
1012Canada2026-10-01
1013Canada2026-09-29
1014United Kingdom2026-10-05
1015India2026-09-12
1016United Kingdom2026-09-18
1017Canada2026-09-29
1018United Kingdom2026-09-21
1019France2026-09-27
1020Spain2026-09-18
1021Russia2026-09-06
1022France2026-09-12
1023India2026-09-07
1024Germany2026-09-06
1025Brazil2026-09-24
1026Japan2026-09-15
1027France2026-09-23
1028Japan2026-09-26
1029Italy2026-09-22
1030United Kingdom2026-09-06
1031India2026-09-26
1032United Kingdom2026-10-04
1033Italy2026-09-13
1034Germany2026-09-18
1035Canada2026-09-08
1036Australia2026-09-21
1037United Kingdom2026-10-03
1038France2026-09-18
1039Japan2026-09-27
1040Canada2026-09-21
1041India2026-09-19
1042Russia2026-09-15
1043Italy2026-10-05
1044India2026-09-27
1045United Kingdom2026-09-25
1046Russia2026-10-01
1047India2026-09-07
1048India2026-09-13
1049India2026-10-05

On-Demand Data

NameIdCountryDate
Johnson S Morasca1000Germany2026-09-18
Octavia L Butt1001Spain2026-09-17
Rodrigues N Foller1002India2026-09-14
Adams I Campain1003Brazil2026-09-20
Mayumi N Slusarski1004Argentina2026-09-25
Chavez U Poquette1005France2026-09-15
Ivar A Sergi1006Italy2026-10-04
James Q Malet1007Italy2026-09-14
Salvatore Z Whobrey1008Brazil2026-09-18
Kadeem K Albares1009United Kingdom2026-09-18
Alejandro C Chui1010Australia2026-09-24
Wickens L Briddick1011United Kingdom2026-09-14
Stacey L Ostrosky1012Germany2026-09-14
Claire N Iturbide1013Australia2026-09-08
Wickens D Briddick1014Brazil2026-10-05
Stacey K Maclead1015Australia2026-09-18
Aruna D Sergi1016Argentina2026-09-13
Jennifer N Glick1017Argentina2026-09-08
Johnson Y Ruta1018Russia2026-09-29
Rodrigues I Amigon1019Italy2026-09-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco L RoysterRussiaAmy Elsner UNQUALIFIED
Francesco G MacleadGermanyAmy Elsner UNQUALIFIED
Munro P MaletJapanAmy Elsner NEGOTIATION
Kaitlin C StockhamAustraliaAmy Elsner NEW
Aruna C NickaUnited KingdomXuxue Feng NEW
Francesco C MarrierGermanyOnyama Limba NEW
Emily C RoysterGermanyElwin Sharvill NEGOTIATION
Alejandro D SergiAustraliaBernardo Dominic PROPOSAL
Ivar L ShinkoAustraliaBernardo Dominic RENEWAL
Ashley V FerenczArgentinaIoni Bowcher RENEWAL
Emily O GauchoSpainAnna Fali NEW
Cody S MaletItalyBernardo Dominic RENEWAL
Octavia H FerenczIndiaIoni Bowcher PROPOSAL
Faith Z CaldareraUnited KingdomOnyama Limba QUALIFIED
Greenwood Y CaudyUnited KingdomIoni Bowcher QUALIFIED
Leon Z RutaFranceXuxue Feng UNQUALIFIED
Jennifer G IturbideRussiaAnna Fali NEW
Aruna C RutaIndiaOnyama Limba RENEWAL
Greenwood U CampainSpainAnna Fali UNQUALIFIED
Isabel W ButtArgentinaIoni Bowcher PROPOSAL
Julie X NickaIndiaAnna Fali NEGOTIATION
Julie O AmigonUnited KingdomIoni Bowcher PROPOSAL
Ivar Q GauchoFranceStephen Shaw QUALIFIED
Aika I SergiArgentinaXuxue Feng UNQUALIFIED
Misaki A DarakjySpainElwin Sharvill UNQUALIFIED
Johnson X SchemmerGermanyAnna Fali NEGOTIATION
Murillo Y DoeIndiaElwin Sharvill RENEWAL
Ricardo M RutaFranceIoni Bowcher RENEWAL
Johnson Q GlickBrazilIoni Bowcher UNQUALIFIED
Alejandro C FlosiUnited KingdomBernardo Dominic RENEWAL
Mayumi K SchemmerAustraliaXuxue Feng UNQUALIFIED
Aika B BowleyGermanyAmy Elsner UNQUALIFIED
Deepesh B RimArgentinaXuxue Feng NEW
Ivar P PerinItalyXuxue Feng UNQUALIFIED
Jefferson K PaprockiAustraliaAsiya Javayant NEGOTIATION
Smith I ButtSpainBernardo Dominic NEW
Clifford D FollerUnited KingdomOnyama Limba NEGOTIATION
Faith X RoysterUnited KingdomOnyama Limba UNQUALIFIED
Jennifer K TollnerIndiaIoni Bowcher NEGOTIATION
Julie Y ShinkoCanadaAsiya Javayant 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>