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
Ricardo K StensethCanadaIvan Magalhaes NEGOTIATION
Izzy K WhobreyJapanBernardo Dominic UNQUALIFIED
Octavia W WaycottFranceXuxue Feng NEW
Munro N InouyeUnited KingdomXuxue Feng NEGOTIATION
Jones Q InouyeFranceAnna Fali QUALIFIED
Mayumi J RoysterGermanyXuxue Feng UNQUALIFIED
Clifford X RutaAustraliaBernardo Dominic RENEWAL
Kadeem B BowleyGermanyXuxue Feng NEGOTIATION
Antonio A PerinBrazilAsiya Javayant NEGOTIATION
Salvatore Y SchemmerRussiaAsiya Javayant QUALIFIED
Kaitlin W FigeroaAustraliaAsiya Javayant UNQUALIFIED
Juan S StockhamUnited KingdomAnna Fali NEGOTIATION
Kadeem R FollerAustraliaElwin Sharvill NEW
Ashley R RimRussiaOnyama Limba UNQUALIFIED
Silvio H FlosiCanadaIoni Bowcher NEW
Adams M CaldareraIndiaBernardo Dominic UNQUALIFIED
Wickens H MacleadUnited KingdomIvan Magalhaes PROPOSAL
Nicolas X KuskoUnited KingdomStephen Shaw RENEWAL
Kaitlin K MorascaAustraliaAmy Elsner NEW
Emily F GillianAustraliaXuxue Feng RENEWAL
David N DarakjyIndiaAsiya Javayant RENEWAL
Aika Q StensethArgentinaStephen Shaw RENEWAL
Aditya K MaletIndiaAmy Elsner RENEWAL
Jefferson F ShinkoRussiaAsiya Javayant QUALIFIED
Nicolas G StockhamArgentinaStephen Shaw NEW
Leja S SchemmerIndiaXuxue Feng PROPOSAL
Greenwood O WhobreyArgentinaStephen Shaw QUALIFIED
Jeanfrancois I RimSpainIoni Bowcher NEGOTIATION
Morrow Q WaycottBrazilElwin Sharvill RENEWAL
Costa K StensethSpainXuxue Feng QUALIFIED
Munro R AmigonBrazilStephen Shaw PROPOSAL
Wickens V TollnerRussiaAsiya Javayant RENEWAL
Sinclair T PoquetteGermanyAmy Elsner RENEWAL
Greenwood I StockhamArgentinaXuxue Feng PROPOSAL
Francesco J CampainUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues H IturbideJapanStephen Shaw PROPOSAL
Mujtaba J GlickAustraliaAnna Fali RENEWAL
Cody Q AlbaresArgentinaXuxue Feng RENEWAL
Maisha I RimGermanyAsiya Javayant QUALIFIED
Mujtaba D CaldareraAustraliaBernardo Dominic NEW
Maria O FigeroaIndiaIoni Bowcher PROPOSAL
Sinclair K AlbaresSpainIvan Magalhaes QUALIFIED
Julie H RulapaughRussiaIvan Magalhaes UNQUALIFIED
Mayumi J MarrierIndiaBernardo Dominic NEW
Isabel F OstroskyItalyIvan Magalhaes UNQUALIFIED
Faith K CaldareraSpainAsiya Javayant UNQUALIFIED
Jeanfrancois L MacleadArgentinaAnna Fali UNQUALIFIED
Maisha Q TollnerRussiaStephen Shaw UNQUALIFIED
Mayumi O VenereBrazilIvan Magalhaes PROPOSAL
Octavia Z FlosiFranceIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya H WaycottFranceBernardo Dominic PROPOSAL
Izzy L ButtGermanyIoni Bowcher RENEWAL
Leja I SaylorsJapanXuxue Feng NEGOTIATION
Nicolas E InouyeSpainElwin Sharvill PROPOSAL
Alejandro L DarakjySpainAsiya Javayant NEW
David T BowleySpainOnyama Limba RENEWAL
Aditya F PaprockiFranceElwin Sharvill UNQUALIFIED
Cody F TollnerRussiaBernardo Dominic QUALIFIED
Mujtaba Q KolmetzSpainIvan Magalhaes UNQUALIFIED
Maria H ChuiSpainAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel E NestleUnited Kingdom2026-11-04Buckley Miller Wright PROPOSAL20Amy Elsner
1001Murillo L MacleadBrazil2026-10-21Rousseaux, Michael Esq UNQUALIFIED3Xuxue Feng
1002Misaki J MacleadAustralia2026-10-21Rousseaux, Michael Esq PROPOSAL24Anna Fali
1003Juan K GauchoIndia2026-10-20Feiner Bros NEW79Onyama Limba
1004Claire C WaycottItaly2026-10-08Feiner Bros NEW7Ivan Magalhaes
1005Kaitlin L SlusarskiRussia2026-11-03Chemel, James L Cpa UNQUALIFIED10Elwin Sharvill
1006Murillo V SergiFrance2026-10-08Truhlar And Truhlar Attys UNQUALIFIED18Onyama Limba
1007Silvio J InouyeJapan2026-10-29Feiner Bros NEW44Ioni Bowcher
1008Leja M PaprockiArgentina2026-10-16Feltz Printing Service UNQUALIFIED92Ioni Bowcher
1009Tony D MaletAustralia2026-10-10Rangoni Of Florence NEW94Stephen Shaw
1010Aditya Q StensethIndia2026-10-16Benton, John B Jr RENEWAL66Xuxue Feng
1011Octavia X SlusarskiFrance2026-10-12Chapman, Ross E Esq QUALIFIED72Anna Fali
1012Salvatore V MacleadAustralia2026-11-01Dorl, James J Esq NEW58Amy Elsner
1013James C ShinkoRussia2026-10-11Chapman, Ross E Esq PROPOSAL58Xuxue Feng
1014Greenwood L KuskoBrazil2026-10-14King, Christopher A Esq NEW7Stephen Shaw
1015Jennifer H RimIndia2026-10-21Buckley Miller Wright UNQUALIFIED41Anna Fali
1016Kaitlin F RulapaughBrazil2026-10-13Buckley Miller Wright PROPOSAL80Bernardo Dominic
1017Francesco X BriddickFrance2026-10-13Commercial Press UNQUALIFIED87Xuxue Feng
1018James W SergiJapan2026-10-28King, Christopher A Esq NEGOTIATION59Anna Fali
1019Octavia X GillianFrance2026-10-27Benton, John B Jr QUALIFIED29Ivan Magalhaes
1020Ivar B BowleyGermany2026-10-11Benton, John B Jr QUALIFIED24Bernardo Dominic
1021Octavia X CampainAustralia2026-10-13Feiner Bros QUALIFIED85Ioni Bowcher
1022Antonio T CaldareraFrance2026-10-23Chemel, James L Cpa UNQUALIFIED64Ioni Bowcher
1023Claire X InouyeArgentina2026-10-10Benton, John B Jr PROPOSAL93Ivan Magalhaes
1024Munro S FlosiIndia2026-10-26Chemel, James L Cpa RENEWAL78Stephen Shaw
1025Rodrigues R MarrierJapan2026-10-18Chanay, Jeffrey A Esq NEW39Elwin Sharvill
1026Ivar S MaletCanada2026-10-30Rousseaux, Michael Esq UNQUALIFIED13Onyama Limba
1027Jeanfrancois W ChuiIndia2026-10-27Morlong Associates NEW55Elwin Sharvill
1028Aruna M IturbideAustralia2026-10-23Buckley Miller Wright NEGOTIATION43Amy Elsner
1029Claire S CaudyBrazil2026-11-04Chanay, Jeffrey A Esq QUALIFIED8Onyama Limba
1030Aika T SlusarskiCanada2026-10-31Printing Dimensions PROPOSAL66Xuxue Feng
1031Leon R MarrierRussia2026-11-01Feltz Printing Service UNQUALIFIED92Onyama Limba
1032Murillo T WaycottSpain2026-10-13Feiner Bros UNQUALIFIED53Bernardo Dominic
1033Stacey L MorascaRussia2026-11-03King, Christopher A Esq NEW40Amy Elsner
1034Rodrigues X WaycottFrance2026-10-15Truhlar And Truhlar Attys NEW63Ivan Magalhaes
1035Costa O PerinArgentina2026-10-08Printing Dimensions NEW14Stephen Shaw
1036Rodrigues A AmigonArgentina2026-10-15Buckley Miller Wright QUALIFIED31Asiya Javayant
1037Greenwood U MarrierFrance2026-11-01Chemel, James L Cpa RENEWAL4Stephen Shaw
1038Chavez K WaycottBrazil2026-10-07Morlong Associates RENEWAL90Xuxue Feng
1039Greenwood Q OldroydCanada2026-10-28Benton, John B Jr UNQUALIFIED17Bernardo Dominic
1040Antonio U WieserRussia2026-10-26Chapman, Ross E Esq QUALIFIED1Amy Elsner
1041Maria G GillianSpain2026-10-18Rousseaux, Michael Esq NEGOTIATION26Ivan Magalhaes
1042Ricardo Q ChuiFrance2026-10-29Chapman, Ross E Esq NEGOTIATION35Stephen Shaw
1043Chavez T RoysterFrance2026-11-02Truhlar And Truhlar Attys PROPOSAL77Bernardo Dominic
1044Juan B VenereRussia2026-10-16King, Christopher A Esq QUALIFIED15Onyama Limba
1045Izzy L WhobreySpain2026-10-12Feiner Bros RENEWAL13Ivan Magalhaes
1046Nicolas M ChuiBrazil2026-10-18Feltz Printing Service NEW68Stephen Shaw
1047Kaitlin A MorascaGermany2026-10-26Rousseaux, Michael Esq QUALIFIED61Stephen Shaw
1048Leon A OldroydCanada2026-10-12Printing Dimensions QUALIFIED64Ioni Bowcher
1049Wickens L OldroydFrance2026-10-19Chanay, Jeffrey A Esq NEW9Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Chavez C NickaUnited KingdomAnna Fali NEW
Adams R SchemmerAustraliaAmy Elsner RENEWAL
Stacey A BriddickGermanyIoni Bowcher PROPOSAL
Adams D StockhamGermanyAmy Elsner QUALIFIED
Silvio J GlickArgentinaOnyama Limba UNQUALIFIED
Costa N GarufiFranceOnyama Limba UNQUALIFIED
Silvio O BologniaRussiaStephen Shaw NEW
Cody V DarakjyArgentinaIoni Bowcher RENEWAL
Darci S SergiAustraliaOnyama Limba QUALIFIED
Greenwood Z AlbaresJapanAnna Fali NEW
Silvio M MaletBrazilIoni Bowcher NEW
Aditya A CaudyItalyOnyama Limba NEGOTIATION
Tony D AlbaresRussiaOnyama Limba PROPOSAL
Darci U CaldareraGermanyIoni Bowcher QUALIFIED
Kadeem E FerenczAustraliaAnna Fali PROPOSAL
Johnson D OstroskyAustraliaStephen Shaw PROPOSAL
Jones D OldroydArgentinaAsiya Javayant PROPOSAL
Aditya S RoysterJapanAsiya Javayant PROPOSAL
Aditya B DoeRussiaIvan Magalhaes QUALIFIED
Deepesh U SaylorsRussiaXuxue Feng NEW
Isabel Z MaletSpainBernardo Dominic RENEWAL
Mayumi D DarakjyAustraliaIoni Bowcher UNQUALIFIED
Isabel U GillianJapanIoni Bowcher RENEWAL
Antonio Y CaudyJapanXuxue Feng NEW
Arvin W RutaGermanyOnyama Limba NEGOTIATION
Leon J NickaAustraliaStephen Shaw QUALIFIED
Munro Q SlusarskiIndiaIoni Bowcher QUALIFIED
Octavia R DoeSpainStephen Shaw NEW
Claire Y InouyeRussiaIvan Magalhaes PROPOSAL
Rodrigues F MaletSpainBernardo Dominic RENEWAL
Aika E IturbideArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois T PerinFranceAnna Fali NEW
Jefferson H MacleadAustraliaIoni Bowcher NEGOTIATION
Deepesh H GarufiCanadaAmy Elsner UNQUALIFIED
Sinclair Y DilliardGermanyOnyama Limba RENEWAL
Isabel F WieserJapanXuxue Feng NEGOTIATION
Aruna W TollnerArgentinaElwin Sharvill UNQUALIFIED
Francesco V VenereBrazilElwin Sharvill RENEWAL
Deepesh C PoquetteArgentinaOnyama Limba UNQUALIFIED
Silvio E NestleRussiaAsiya Javayant NEW
Tony H NestleItalyAmy Elsner NEW
Leja L AlbaresUnited KingdomAsiya Javayant RENEWAL
David Y AlbaresAustraliaAmy Elsner PROPOSAL
Deepesh F NestleUnited KingdomAsiya Javayant NEW
Maisha Z SlusarskiGermanyAmy Elsner QUALIFIED
Ricardo W SaylorsIndiaOnyama Limba PROPOSAL
Emily M PerinFranceAmy Elsner PROPOSAL
Adams J VenereJapanIvan Magalhaes QUALIFIED
David S InouyeRussiaOnyama Limba QUALIFIED
Aruna W RoysterRussiaAnna Fali NEGOTIATION
Frozen Columns
Name
Octavia O Morasca
Mayumi Q Ferencz
Ivar U Whobrey
Salvatore I Rim
Izzy E Stenseth
Jones E Stenseth
Kaitlin N Wieser
Aika P Paprocki
Jennifer Y Campain
Tony G Inouye
Jefferson T Vocelka
Greenwood B Garufi
Mujtaba Q Sergi
Stacey F Kusko
Silvio M Oldroyd
Wickens O Gaucho
Greenwood F Chui
Deepesh T Vocelka
James S Ferencz
Octavia P Ruta
Murillo Y Paprocki
Clifford Q Stockham
Ricardo V Kusko
Maisha V Royster
Kaitlin F Vocelka
Claire Y Waycott
James N Rulapaugh
David S Caldarera
Maisha A Whobrey
Jeanfrancois W Kolmetz
Ivar D Royster
Jones D Paprocki
Stacey J Paprocki
Nicolas T Gillian
Emily Z Amigon
Silvio F Ferencz
Jennifer U Bolognia
Maria P Albares
Stacey X Amigon
Murillo R Vocelka
Costa F Doe
Aruna H Figeroa
Arvin X Dilliard
Nicolas R Nestle
Ivar G Butt
Nicolas K Caudy
Jennifer V Nestle
Salvatore W Briddick
Ashley O Gillian
Cody F Malet
IdCountryDate
1000Italy2026-10-21
1001Argentina2026-10-10
1002Canada2026-10-08
1003Germany2026-10-31
1004Italy2026-10-25
1005France2026-10-17
1006Spain2026-10-27
1007India2026-10-12
1008Australia2026-10-24
1009Germany2026-11-04
1010France2026-10-28
1011Brazil2026-10-21
1012Canada2026-10-12
1013Canada2026-10-27
1014Australia2026-10-09
1015Canada2026-10-30
1016Italy2026-10-29
1017India2026-11-04
1018Germany2026-10-17
1019France2026-10-12
1020United Kingdom2026-10-23
1021Canada2026-10-13
1022Australia2026-10-13
1023France2026-10-09
1024Italy2026-10-14
1025Russia2026-10-23
1026Russia2026-11-03
1027Australia2026-10-09
1028Russia2026-10-18
1029India2026-10-21
1030Australia2026-10-13
1031France2026-10-12
1032Spain2026-10-30
1033Australia2026-10-16
1034Russia2026-10-14
1035United Kingdom2026-10-07
1036Canada2026-10-21
1037India2026-10-27
1038Russia2026-11-02
1039Canada2026-10-12
1040France2026-10-18
1041Canada2026-10-08
1042Australia2026-10-23
1043Brazil2026-10-15
1044Germany2026-10-15
1045Argentina2026-10-07
1046Australia2026-10-15
1047United Kingdom2026-10-28
1048Brazil2026-10-07
1049France2026-10-17

On-Demand Data

NameIdCountryDate
Jefferson R Ruta1000Japan2026-10-27
Isabel H Venere1001Germany2026-10-29
Francesco B Darakjy1002Japan2026-10-07
Ashley Q Paprocki1003Japan2026-10-21
Faith N Ruta1004Brazil2026-10-21
Jefferson X Rulapaugh1005Brazil2026-10-15
Jennifer Y Gillian1006Brazil2026-10-15
Chavez P Perin1007Russia2026-10-11
Aika J Ruta1008Australia2026-10-09
Ashley C Nicka1009Brazil2026-10-26
Ivar N Gaucho1010Spain2026-10-19
Maisha A Tollner1011Italy2026-10-16
Ashley B Gillian1012Russia2026-10-10
Aruna O Rulapaugh1013Canada2026-10-22
David G Amigon1014India2026-10-17
Stacey U Waycott1015Brazil2026-11-02
Deepesh T Chui1016Italy2026-10-08
Alejandro E Tollner1017Italy2026-11-03
Wickens R Campain1018Argentina2026-10-20
Kaitlin J Morasca1019Japan2026-10-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan O CaudyIndiaOnyama Limba QUALIFIED
Leon W NestleCanadaElwin Sharvill PROPOSAL
Alejandro G SergiSpainAsiya Javayant NEW
Julie K RoysterItalyStephen Shaw RENEWAL
Stacey O NestleBrazilOnyama Limba UNQUALIFIED
Leja O WieserJapanIvan Magalhaes RENEWAL
James H WaycottFranceXuxue Feng QUALIFIED
Nicolas A PerinIndiaOnyama Limba PROPOSAL
Aditya U FerenczJapanStephen Shaw NEGOTIATION
Rodrigues D VocelkaIndiaStephen Shaw RENEWAL
Jefferson E RoysterBrazilElwin Sharvill UNQUALIFIED
Costa D OldroydJapanAsiya Javayant PROPOSAL
Francesco J FollerJapanBernardo Dominic UNQUALIFIED
Julie F BriddickSpainIoni Bowcher NEGOTIATION
Sinclair X FigeroaGermanyElwin Sharvill PROPOSAL
Munro T NestleCanadaIvan Magalhaes QUALIFIED
Munro E CaudySpainElwin Sharvill PROPOSAL
Mujtaba H FollerJapanXuxue Feng NEW
Misaki O SchemmerUnited KingdomAmy Elsner PROPOSAL
David M PaprockiIndiaAsiya Javayant PROPOSAL
Darci I MacleadFranceOnyama Limba NEGOTIATION
Morrow A FigeroaCanadaAsiya Javayant UNQUALIFIED
Aditya E RimUnited KingdomBernardo Dominic NEGOTIATION
Munro X NickaAustraliaStephen Shaw UNQUALIFIED
Kaitlin A MarrierJapanElwin Sharvill NEGOTIATION
Francesco X MaletSpainAnna Fali UNQUALIFIED
Tony C StensethJapanIoni Bowcher QUALIFIED
Leja S IturbideCanadaBernardo Dominic NEGOTIATION
Adams O GarufiSpainXuxue Feng RENEWAL
Claire M GillianJapanAsiya Javayant QUALIFIED
Deepesh K InouyeFranceStephen Shaw RENEWAL
Maisha A GauchoAustraliaAsiya Javayant QUALIFIED
Arvin G NestleUnited KingdomXuxue Feng RENEWAL
Jeanfrancois E SchemmerUnited KingdomXuxue Feng RENEWAL
Isabel V MaletAustraliaXuxue Feng NEW
Alejandro Z WhobreyRussiaXuxue Feng PROPOSAL
Aditya D DilliardRussiaXuxue Feng PROPOSAL
Maisha Z FollerCanadaAmy Elsner NEGOTIATION
Nicolas Z RoysterAustraliaOnyama Limba UNQUALIFIED
Antonio Q MacleadSpainAmy 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>