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
Kaitlin C PaprockiSpainXuxue Feng QUALIFIED
Ivar Q FollerJapanIoni Bowcher RENEWAL
Ashley S InouyeBrazilAmy Elsner UNQUALIFIED
Julie U OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
Jeanfrancois E WaycottItalyAnna Fali UNQUALIFIED
Maria N StockhamRussiaElwin Sharvill UNQUALIFIED
Costa V SchemmerUnited KingdomOnyama Limba RENEWAL
Johnson G CaldareraJapanBernardo Dominic NEW
Mujtaba V PerinAustraliaAnna Fali QUALIFIED
Smith X ChuiArgentinaAsiya Javayant UNQUALIFIED
Aruna V TollnerArgentinaOnyama Limba RENEWAL
Mujtaba Q NickaBrazilOnyama Limba RENEWAL
Aika W RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Izzy G DilliardArgentinaElwin Sharvill NEW
Sinclair I TollnerIndiaXuxue Feng UNQUALIFIED
Izzy W IturbideItalyIvan Magalhaes QUALIFIED
Johnson U WieserRussiaIvan Magalhaes NEW
James M IturbideRussiaOnyama Limba UNQUALIFIED
Stacey B OstroskyCanadaAnna Fali NEW
Costa N WieserFranceIvan Magalhaes QUALIFIED
Ricardo H FlosiItalyIvan Magalhaes QUALIFIED
Izzy J RutaArgentinaXuxue Feng NEW
Silvio M FollerItalyXuxue Feng RENEWAL
Izzy U AmigonCanadaBernardo Dominic UNQUALIFIED
Octavia K ShinkoIndiaAnna Fali PROPOSAL
Leja I GlickFranceBernardo Dominic UNQUALIFIED
Aika F GarufiUnited KingdomAsiya Javayant NEW
Mujtaba U FollerJapanIvan Magalhaes RENEWAL
Clifford X InouyeGermanyIoni Bowcher UNQUALIFIED
Juan R GillianUnited KingdomOnyama Limba UNQUALIFIED
James E ShinkoJapanIvan Magalhaes RENEWAL
Chavez I DarakjyCanadaAsiya Javayant QUALIFIED
Leja N NickaIndiaBernardo Dominic QUALIFIED
Greenwood G WieserAustraliaAnna Fali RENEWAL
Jeanfrancois R FerenczAustraliaIvan Magalhaes UNQUALIFIED
Johnson O NestleAustraliaElwin Sharvill RENEWAL
Johnson X RutaAustraliaIoni Bowcher PROPOSAL
Cody O BologniaSpainXuxue Feng PROPOSAL
Murillo D CaldareraFranceXuxue Feng RENEWAL
Maria I FlosiFranceAmy Elsner PROPOSAL
Silvio I RimJapanAmy Elsner RENEWAL
Izzy L OstroskyArgentinaAmy Elsner UNQUALIFIED
Leja Q MaletGermanyIoni Bowcher NEGOTIATION
Tony F PaprockiArgentinaIoni Bowcher PROPOSAL
Mayumi V SergiArgentinaAnna Fali PROPOSAL
Antonio X RoysterCanadaIvan Magalhaes QUALIFIED
Juan K PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Darci S SchemmerAustraliaIoni Bowcher RENEWAL
Aika Z DilliardSpainAsiya Javayant UNQUALIFIED
Claire S MaletFranceAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford Y VenereSpainBernardo Dominic RENEWAL
Octavia T StensethRussiaAsiya Javayant NEGOTIATION
Adams F PaprockiArgentinaStephen Shaw NEW
Leon V FlosiRussiaBernardo Dominic QUALIFIED
Smith C KuskoRussiaElwin Sharvill RENEWAL
Emily Z FerenczIndiaAsiya Javayant QUALIFIED
Costa K VocelkaJapanAnna Fali UNQUALIFIED
Chavez A CampainGermanyAsiya Javayant NEW
Clifford S IturbideItalyIoni Bowcher UNQUALIFIED
Aika T OstroskyItalyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois P FigeroaItaly2026-09-14Feltz Printing Service NEW64Bernardo Dominic
1001Kadeem P FigeroaCanada2026-09-26Rousseaux, Michael Esq RENEWAL81Bernardo Dominic
1002Arvin Z WhobreyArgentina2026-10-02Feltz Printing Service NEW39Xuxue Feng
1003Ricardo U MaletGermany2026-10-05Chanay, Jeffrey A Esq NEGOTIATION83Ivan Magalhaes
1004Greenwood H GauchoCanada2026-09-16Benton, John B Jr PROPOSAL36Stephen Shaw
1005Aditya C OstroskyUnited Kingdom2026-10-03Truhlar And Truhlar Attys QUALIFIED93Asiya Javayant
1006Maisha Q RutaCanada2026-09-26King, Christopher A Esq PROPOSAL33Stephen Shaw
1007Claire O SchemmerRussia2026-10-12Feltz Printing Service NEGOTIATION72Amy Elsner
1008Claire U BowleyCanada2026-10-10Chanay, Jeffrey A Esq QUALIFIED70Anna Fali
1009Smith U BowleySpain2026-09-15Chapman, Ross E Esq NEW60Onyama Limba
1010Salvatore P OstroskySpain2026-10-10Rangoni Of Florence PROPOSAL88Xuxue Feng
1011Maria T OldroydItaly2026-09-14Commercial Press PROPOSAL82Asiya Javayant
1012Jeanfrancois C BowleyCanada2026-10-05Chapman, Ross E Esq RENEWAL9Anna Fali
1013Jeanfrancois Y WhobreyGermany2026-09-27Chemel, James L Cpa NEW52Ivan Magalhaes
1014Aruna R InouyeIndia2026-09-21Feltz Printing Service PROPOSAL42Anna Fali
1015David K DilliardArgentina2026-09-22King, Christopher A Esq UNQUALIFIED46Elwin Sharvill
1016Adams B NickaBrazil2026-10-06Feltz Printing Service NEGOTIATION30Anna Fali
1017Aika I DilliardRussia2026-09-26Feiner Bros RENEWAL27Elwin Sharvill
1018Sinclair J MarrierRussia2026-10-03King, Christopher A Esq NEW20Stephen Shaw
1019Darci X OldroydRussia2026-09-14Buckley Miller Wright NEGOTIATION38Stephen Shaw
1020Alejandro C NestleUnited Kingdom2026-09-27Commercial Press NEW44Anna Fali
1021Deepesh U KuskoJapan2026-09-15Feltz Printing Service QUALIFIED60Stephen Shaw
1022Octavia M ShinkoAustralia2026-09-16Chemel, James L Cpa RENEWAL13Asiya Javayant
1023Jennifer L TollnerArgentina2026-10-10Rousseaux, Michael Esq RENEWAL12Onyama Limba
1024Silvio G KolmetzFrance2026-09-25Truhlar And Truhlar Attys NEGOTIATION47Xuxue Feng
1025Cody W GarufiUnited Kingdom2026-09-22King, Christopher A Esq RENEWAL96Ioni Bowcher
1026Isabel I SlusarskiCanada2026-10-12Truhlar And Truhlar Attys PROPOSAL71Onyama Limba
1027Faith E FlosiGermany2026-10-05King, Christopher A Esq QUALIFIED44Ioni Bowcher
1028Julie V WieserAustralia2026-10-08Feltz Printing Service QUALIFIED77Anna Fali
1029Juan U ButtIndia2026-09-27Chapman, Ross E Esq UNQUALIFIED52Bernardo Dominic
1030Maisha E MarrierGermany2026-10-08Morlong Associates NEW28Elwin Sharvill
1031Ivar H CampainBrazil2026-10-09Chanay, Jeffrey A Esq QUALIFIED5Asiya Javayant
1032Costa O KolmetzFrance2026-10-11Rousseaux, Michael Esq UNQUALIFIED16Ivan Magalhaes
1033Ashley S CampainJapan2026-09-24Truhlar And Truhlar Attys NEW9Ioni Bowcher
1034Silvio J MaletArgentina2026-09-14Rangoni Of Florence QUALIFIED58Ivan Magalhaes
1035Antonio G BologniaItaly2026-09-27King, Christopher A Esq NEGOTIATION10Bernardo Dominic
1036Mayumi I SlusarskiUnited Kingdom2026-09-17Buckley Miller Wright NEGOTIATION2Onyama Limba
1037Kadeem D FollerCanada2026-10-11Feltz Printing Service NEGOTIATION32Asiya Javayant
1038Misaki H PerinAustralia2026-09-24Morlong Associates UNQUALIFIED75Elwin Sharvill
1039Sinclair Z IturbideRussia2026-10-01Commercial Press NEGOTIATION19Onyama Limba
1040Kaitlin V MaletCanada2026-10-09Morlong Associates RENEWAL50Stephen Shaw
1041Rodrigues N KolmetzJapan2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED61Asiya Javayant
1042Jennifer P MacleadAustralia2026-09-28Chemel, James L Cpa NEW45Elwin Sharvill
1043Rodrigues S NestleIndia2026-10-02Chemel, James L Cpa UNQUALIFIED31Ivan Magalhaes
1044Nicolas H TollnerItaly2026-09-27Truhlar And Truhlar Attys PROPOSAL88Bernardo Dominic
1045Silvio M AmigonArgentina2026-09-24Rangoni Of Florence UNQUALIFIED83Bernardo Dominic
1046Misaki K PaprockiGermany2026-09-21Rangoni Of Florence QUALIFIED90Xuxue Feng
1047Stacey Q StockhamIndia2026-09-14Commercial Press PROPOSAL5Bernardo Dominic
1048Smith W GauchoGermany2026-10-11Truhlar And Truhlar Attys NEW13Onyama Limba
1049Chavez H DilliardRussia2026-09-29Feiner Bros RENEWAL73Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba G AmigonBrazilIoni Bowcher QUALIFIED
Deepesh V ShinkoArgentinaOnyama Limba QUALIFIED
Mayumi Q CaldareraRussiaAsiya Javayant UNQUALIFIED
Jones Q VocelkaJapanIvan Magalhaes NEW
Arvin R VenereUnited KingdomAmy Elsner NEW
Aika J BologniaFranceAnna Fali UNQUALIFIED
Arvin B WieserJapanIvan Magalhaes QUALIFIED
Stacey K SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Sinclair T GillianItalyOnyama Limba RENEWAL
Smith U StensethArgentinaAnna Fali NEGOTIATION
Juan S DilliardItalyAmy Elsner PROPOSAL
Deepesh H DilliardSpainOnyama Limba UNQUALIFIED
Leon N FlosiArgentinaElwin Sharvill UNQUALIFIED
Murillo G OstroskyFranceAnna Fali UNQUALIFIED
Juan K BriddickCanadaStephen Shaw RENEWAL
Silvio W CampainFranceXuxue Feng PROPOSAL
Kaitlin A StensethArgentinaXuxue Feng RENEWAL
Juan R WaycottItalyBernardo Dominic PROPOSAL
Francesco X KuskoUnited KingdomBernardo Dominic PROPOSAL
Stacey N RulapaughBrazilAsiya Javayant NEW
Aditya T CaudyBrazilStephen Shaw NEW
Silvio C RimArgentinaAsiya Javayant NEW
Darci Y CampainRussiaAsiya Javayant NEW
Leon X GlickGermanyAnna Fali NEGOTIATION
Kadeem Q PerinRussiaIoni Bowcher NEW
Darci K VocelkaSpainXuxue Feng PROPOSAL
Faith P VocelkaAustraliaIoni Bowcher UNQUALIFIED
Misaki K OstroskyGermanyBernardo Dominic NEW
Silvio Q GauchoItalyBernardo Dominic NEW
Sinclair Q CampainIndiaStephen Shaw RENEWAL
Silvio J NestleBrazilElwin Sharvill RENEWAL
Rodrigues P WhobreyRussiaIvan Magalhaes NEW
Murillo E IturbideFranceOnyama Limba NEGOTIATION
Leon I NestleArgentinaIvan Magalhaes UNQUALIFIED
Izzy N StockhamItalyAnna Fali UNQUALIFIED
Rodrigues F GlickGermanyStephen Shaw NEGOTIATION
James I PoquetteAustraliaOnyama Limba UNQUALIFIED
Francesco R FlosiUnited KingdomIvan Magalhaes QUALIFIED
Ivar K PoquetteRussiaIoni Bowcher NEGOTIATION
Aruna U SaylorsArgentinaBernardo Dominic UNQUALIFIED
Morrow O ButtItalyBernardo Dominic NEW
James X WieserAustraliaAnna Fali NEW
Ivar P SaylorsFranceAnna Fali RENEWAL
Juan Y WaycottArgentinaOnyama Limba NEGOTIATION
Greenwood J NestleUnited KingdomIvan Magalhaes PROPOSAL
Antonio C RimArgentinaOnyama Limba QUALIFIED
Misaki M SaylorsCanadaIoni Bowcher NEGOTIATION
Jeanfrancois Z FlosiJapanAnna Fali PROPOSAL
Jones A DarakjyCanadaAsiya Javayant QUALIFIED
Maria H FlosiFranceXuxue Feng QUALIFIED
Frozen Columns
Name
Izzy U Whobrey
Kaitlin S Malet
Octavia J Marrier
Wickens P Shinko
Deepesh J Ostrosky
Jones P Nicka
Munro O Nestle
Emily V Kusko
Misaki C Butt
Wickens C Whobrey
Morrow M Malet
Maria W Bolognia
Leja O Darakjy
Stacey P Sergi
Jones Y Figeroa
Isabel T Foller
Aika S Malet
Tony R Venere
Jefferson A Flosi
Isabel X Chui
Stacey L Tollner
Johnson P Bolognia
Izzy C Tollner
Ricardo X Maclead
Faith M Stenseth
Leon I Slusarski
Izzy M Bolognia
Adams I Gillian
Munro R Vocelka
Smith W Ruta
Ricardo L Marrier
Leon S Waycott
Nicolas M Ostrosky
Morrow B Bolognia
Wickens Y Gaucho
Adams P Gillian
Murillo F Kusko
Leja A Ferencz
Johnson R Venere
Jeanfrancois W Morasca
Julie F Dilliard
Julie G Stenseth
Aruna P Doe
Smith P Gillian
Leon G Stenseth
Isabel M Kusko
Juan L Foller
Johnson X Rulapaugh
Juan E Flosi
Silvio O Maclead
IdCountryDate
1000India2026-09-13
1001India2026-10-03
1002India2026-10-01
1003Italy2026-10-04
1004India2026-10-09
1005United Kingdom2026-09-21
1006Australia2026-09-20
1007Brazil2026-09-21
1008Brazil2026-09-13
1009France2026-09-19
1010Germany2026-09-18
1011Spain2026-10-08
1012Brazil2026-09-20
1013Argentina2026-09-25
1014Canada2026-09-19
1015Italy2026-09-16
1016Japan2026-10-07
1017Japan2026-09-19
1018Italy2026-10-09
1019France2026-10-04
1020Canada2026-10-06
1021Germany2026-09-23
1022Canada2026-09-16
1023France2026-10-12
1024Brazil2026-10-05
1025United Kingdom2026-10-09
1026Italy2026-10-07
1027United Kingdom2026-09-23
1028Brazil2026-09-22
1029Spain2026-10-11
1030Italy2026-09-21
1031Brazil2026-10-03
1032India2026-09-17
1033Canada2026-10-11
1034Argentina2026-10-12
1035France2026-09-25
1036Brazil2026-09-24
1037Argentina2026-10-09
1038Russia2026-10-03
1039Canada2026-09-25
1040Italy2026-10-09
1041United Kingdom2026-09-16
1042Argentina2026-10-06
1043United Kingdom2026-09-22
1044United Kingdom2026-09-14
1045Italy2026-10-10
1046Spain2026-09-19
1047France2026-09-14
1048France2026-09-21
1049Spain2026-09-20

On-Demand Data

NameIdCountryDate
Antonio S Glick1000Australia2026-09-18
Ivar H Sergi1001United Kingdom2026-09-21
Ricardo K Malet1002Canada2026-09-17
Nicolas B Caldarera1003Canada2026-09-15
Jennifer H Iturbide1004Japan2026-09-18
James N Maclead1005France2026-09-28
Jones O Sergi1006Australia2026-09-23
Aruna O Kolmetz1007Germany2026-09-16
Jeanfrancois H Marrier1008Brazil2026-09-25
Leja I Butt1009Canada2026-09-25
Isabel L Saylors1010Brazil2026-09-25
Wickens X Maclead1011France2026-10-04
Ashley C Marrier1012Argentina2026-10-12
Leon X Wieser1013France2026-09-29
Smith D Butt1014Canada2026-09-27
Leja D Chui1015Brazil2026-09-25
Izzy X Doe1016Brazil2026-09-20
Morrow S Ruta1017Germany2026-10-08
Jones L Sergi1018Brazil2026-09-14
Claire B Ostrosky1019Japan2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer S WieserJapanOnyama Limba NEW
Stacey P BriddickJapanAnna Fali UNQUALIFIED
Maisha G MorascaAustraliaBernardo Dominic NEGOTIATION
Jones Z KolmetzJapanIvan Magalhaes NEGOTIATION
Isabel T RimArgentinaOnyama Limba UNQUALIFIED
Sinclair I PaprockiArgentinaAsiya Javayant NEGOTIATION
Leon W FollerFranceAnna Fali NEW
Wickens G SlusarskiArgentinaIoni Bowcher NEGOTIATION
David Y TollnerRussiaAmy Elsner NEW
Faith S AmigonBrazilElwin Sharvill NEGOTIATION
Antonio L MarrierGermanyElwin Sharvill RENEWAL
Costa S KolmetzGermanyXuxue Feng UNQUALIFIED
Alejandro Y AmigonUnited KingdomAmy Elsner RENEWAL
Smith H StensethSpainStephen Shaw RENEWAL
Misaki H VocelkaSpainStephen Shaw NEGOTIATION
Leja Y NestleCanadaIvan Magalhaes QUALIFIED
Emily W OldroydSpainIoni Bowcher NEW
Mujtaba E BologniaGermanyStephen Shaw NEW
Nicolas O TollnerFranceIoni Bowcher RENEWAL
Aruna F RimGermanyStephen Shaw QUALIFIED
Leja V RimIndiaStephen Shaw NEGOTIATION
Silvio E RimCanadaAnna Fali RENEWAL
Claire C SaylorsArgentinaXuxue Feng RENEWAL
Deepesh Q PerinSpainElwin Sharvill PROPOSAL
Aditya O SergiGermanyIvan Magalhaes RENEWAL
Stacey C ShinkoItalyElwin Sharvill NEGOTIATION
Nicolas J IturbideJapanOnyama Limba NEW
James U BriddickIndiaElwin Sharvill NEGOTIATION
Greenwood X KolmetzFranceAnna Fali NEGOTIATION
Silvio Z DarakjySpainAnna Fali RENEWAL
Jeanfrancois N StensethArgentinaIoni Bowcher NEGOTIATION
Johnson T KuskoJapanOnyama Limba PROPOSAL
Ricardo T MorascaIndiaAnna Fali PROPOSAL
Silvio G AlbaresCanadaAsiya Javayant RENEWAL
Munro V GlickSpainOnyama Limba NEGOTIATION
Octavia X OldroydIndiaOnyama Limba RENEWAL
David J ChuiArgentinaIoni Bowcher PROPOSAL
Aika Q RimItalyAmy Elsner NEGOTIATION
Octavia N CaudyIndiaXuxue Feng NEW
Nicolas J BowleyGermanyXuxue Feng 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>