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 Y ShinkoIndiaStephen Shaw UNQUALIFIED
Juan C MaletIndiaAmy Elsner NEW
Adams N CaudyGermanyIvan Magalhaes PROPOSAL
Tony B DarakjyItalyIvan Magalhaes PROPOSAL
Nicolas N PoquetteGermanyBernardo Dominic NEW
Juan V BologniaGermanyAnna Fali NEGOTIATION
Jeanfrancois D PaprockiCanadaAnna Fali QUALIFIED
Ashley V StensethIndiaOnyama Limba PROPOSAL
Clifford K WaycottJapanXuxue Feng RENEWAL
Stacey K NickaIndiaBernardo Dominic NEGOTIATION
Francesco F AlbaresUnited KingdomAsiya Javayant NEW
Faith B NickaCanadaXuxue Feng NEGOTIATION
Julie K KuskoSpainAmy Elsner NEW
Francesco V CampainRussiaAmy Elsner PROPOSAL
Deepesh R OldroydFranceOnyama Limba NEGOTIATION
Silvio G RutaIndiaAnna Fali PROPOSAL
Tony I ButtAustraliaStephen Shaw NEW
Jones C BowleyRussiaOnyama Limba PROPOSAL
Aditya Q BriddickSpainIvan Magalhaes NEGOTIATION
Misaki O WaycottBrazilElwin Sharvill UNQUALIFIED
Greenwood L CaldareraCanadaBernardo Dominic QUALIFIED
Antonio W CaldareraGermanyElwin Sharvill RENEWAL
Sinclair E FerenczBrazilXuxue Feng NEW
Smith A CaldareraGermanyOnyama Limba PROPOSAL
Rodrigues Z WieserUnited KingdomAnna Fali NEW
Aika G MarrierIndiaElwin Sharvill QUALIFIED
Antonio Z FigeroaSpainAsiya Javayant NEW
Octavia V MorascaGermanyIvan Magalhaes RENEWAL
James P WhobreyGermanyXuxue Feng NEGOTIATION
Mujtaba Y RulapaughCanadaIvan Magalhaes QUALIFIED
Julie Z DoeUnited KingdomAsiya Javayant PROPOSAL
Juan Z GauchoAustraliaOnyama Limba RENEWAL
Wickens E GarufiIndiaIvan Magalhaes RENEWAL
Aika G SlusarskiSpainOnyama Limba QUALIFIED
Claire V MacleadGermanyIvan Magalhaes UNQUALIFIED
Smith Y GillianSpainIvan Magalhaes UNQUALIFIED
Tony Q NickaBrazilIvan Magalhaes NEW
Leon B WieserJapanAmy Elsner PROPOSAL
Ivar C OstroskyAustraliaAmy Elsner UNQUALIFIED
Leja D TollnerRussiaStephen Shaw RENEWAL
Ricardo I DilliardArgentinaIoni Bowcher PROPOSAL
Clifford B VocelkaFranceBernardo Dominic NEGOTIATION
Jones T MorascaJapanStephen Shaw NEGOTIATION
Jennifer B GarufiFranceAsiya Javayant UNQUALIFIED
Faith G CaudyRussiaBernardo Dominic RENEWAL
Darci L SchemmerAustraliaOnyama Limba NEW
James T VenereFranceXuxue Feng UNQUALIFIED
Jennifer X ButtIndiaAnna Fali RENEWAL
Wickens N BriddickJapanElwin Sharvill RENEWAL
Tony P StockhamArgentinaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Darci H KolmetzSpainBernardo Dominic RENEWAL
Tony W CampainArgentinaIvan Magalhaes UNQUALIFIED
Chavez Z ChuiAustraliaAmy Elsner QUALIFIED
Ricardo H BologniaItalyAmy Elsner PROPOSAL
Murillo U CampainBrazilStephen Shaw QUALIFIED
Emily N RulapaughGermanyAmy Elsner UNQUALIFIED
Rodrigues X ButtIndiaOnyama Limba QUALIFIED
David Y ChuiSpainElwin Sharvill QUALIFIED
Nicolas L AlbaresArgentinaElwin Sharvill NEGOTIATION
Leja C KuskoUnited KingdomAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois P MaletAustralia2026-10-15Feiner Bros RENEWAL57Stephen Shaw
1001Aruna Q FerenczGermany2026-10-21Rangoni Of Florence NEW96Asiya Javayant
1002Antonio V SergiIndia2026-11-04Buckley Miller Wright UNQUALIFIED74Asiya Javayant
1003Maisha I BriddickCanada2026-11-02Morlong Associates NEW7Amy Elsner
1004Isabel T AmigonAustralia2026-10-17Buckley Miller Wright UNQUALIFIED38Onyama Limba
1005Smith E GillianIndia2026-11-02Benton, John B Jr UNQUALIFIED8Ivan Magalhaes
1006Octavia O KolmetzSpain2026-10-16Chapman, Ross E Esq UNQUALIFIED94Anna Fali
1007Izzy S DilliardJapan2026-10-14Rangoni Of Florence NEW45Asiya Javayant
1008Smith L PoquetteUnited Kingdom2026-10-31Printing Dimensions RENEWAL47Bernardo Dominic
1009Morrow H GlickIndia2026-10-11Chanay, Jeffrey A Esq QUALIFIED76Xuxue Feng
1010Aruna H CaudyIndia2026-10-30Morlong Associates QUALIFIED88Stephen Shaw
1011Darci W InouyeGermany2026-10-24King, Christopher A Esq NEGOTIATION42Xuxue Feng
1012Alejandro U NickaGermany2026-10-16Buckley Miller Wright NEW31Ivan Magalhaes
1013Misaki E GauchoJapan2026-10-13Benton, John B Jr RENEWAL11Asiya Javayant
1014Munro Q MacleadJapan2026-10-14Chapman, Ross E Esq QUALIFIED55Xuxue Feng
1015Emily V StensethSpain2026-11-08Rousseaux, Michael Esq RENEWAL64Xuxue Feng
1016Deepesh Z MaletBrazil2026-10-14Truhlar And Truhlar Attys NEW93Ioni Bowcher
1017Morrow A TollnerUnited Kingdom2026-11-05Chanay, Jeffrey A Esq RENEWAL59Ivan Magalhaes
1018Julie N VenereAustralia2026-10-25Truhlar And Truhlar Attys NEGOTIATION30Amy Elsner
1019Darci J FollerIndia2026-10-21Benton, John B Jr QUALIFIED34Bernardo Dominic
1020Clifford H CaudyItaly2026-10-30Rangoni Of Florence PROPOSAL42Stephen Shaw
1021Faith W SchemmerGermany2026-11-08Printing Dimensions QUALIFIED81Ioni Bowcher
1022Izzy D RimCanada2026-10-29Rangoni Of Florence RENEWAL94Ivan Magalhaes
1023Salvatore R VenereArgentina2026-10-31Chapman, Ross E Esq UNQUALIFIED94Amy Elsner
1024Tony F SlusarskiArgentina2026-11-01Printing Dimensions PROPOSAL24Stephen Shaw
1025Misaki C RutaItaly2026-10-29Printing Dimensions RENEWAL12Stephen Shaw
1026Aika U MorascaAustralia2026-10-25Chanay, Jeffrey A Esq QUALIFIED84Anna Fali
1027Munro S WieserRussia2026-10-14Commercial Press UNQUALIFIED12Amy Elsner
1028Ricardo V SergiRussia2026-11-04Commercial Press PROPOSAL23Asiya Javayant
1029Francesco O DoeBrazil2026-10-28Rousseaux, Michael Esq RENEWAL72Stephen Shaw
1030Jones M BologniaGermany2026-10-13Commercial Press PROPOSAL17Onyama Limba
1031Chavez B AmigonBrazil2026-10-22Buckley Miller Wright UNQUALIFIED24Asiya Javayant
1032Izzy A WieserBrazil2026-10-20Commercial Press NEGOTIATION35Ivan Magalhaes
1033Jennifer K DoeBrazil2026-11-06King, Christopher A Esq PROPOSAL29Elwin Sharvill
1034Aditya M InouyeSpain2026-11-05Dorl, James J Esq PROPOSAL30Onyama Limba
1035Chavez R DarakjyUnited Kingdom2026-11-02Commercial Press QUALIFIED65Onyama Limba
1036Morrow B WieserBrazil2026-10-14King, Christopher A Esq NEGOTIATION92Ioni Bowcher
1037Jeanfrancois S WhobreyIndia2026-10-18Feiner Bros PROPOSAL63Anna Fali
1038Munro Y GauchoJapan2026-10-12Chemel, James L Cpa NEGOTIATION87Ioni Bowcher
1039Jeanfrancois D ButtRussia2026-10-25Chemel, James L Cpa RENEWAL60Elwin Sharvill
1040Julie N CampainArgentina2026-10-30Morlong Associates RENEWAL52Anna Fali
1041Greenwood J SaylorsRussia2026-10-18Chanay, Jeffrey A Esq RENEWAL58Ioni Bowcher
1042Julie W OstroskyCanada2026-10-18Chemel, James L Cpa QUALIFIED51Amy Elsner
1043Tony B ShinkoBrazil2026-10-20Benton, John B Jr RENEWAL68Amy Elsner
1044Morrow B InouyeAustralia2026-10-30Rangoni Of Florence QUALIFIED62Amy Elsner
1045Wickens N InouyeUnited Kingdom2026-11-07Rangoni Of Florence NEW91Elwin Sharvill
1046David P FerenczGermany2026-10-19King, Christopher A Esq NEW49Ivan Magalhaes
1047Mayumi Y FigeroaCanada2026-10-26Dorl, James J Esq NEW24Stephen Shaw
1048Faith U CaldareraGermany2026-11-08Feltz Printing Service RENEWAL44Ivan Magalhaes
1049Ivar T StensethRussia2026-10-27Printing Dimensions NEGOTIATION3Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois K NickaFranceStephen Shaw PROPOSAL
Aditya G GlickCanadaXuxue Feng PROPOSAL
Misaki K OstroskyArgentinaBernardo Dominic NEGOTIATION
Antonio J NestleArgentinaOnyama Limba NEW
Misaki W KuskoArgentinaOnyama Limba UNQUALIFIED
Cody E BologniaJapanStephen Shaw NEGOTIATION
Nicolas J ShinkoRussiaElwin Sharvill RENEWAL
Darci M VenereBrazilElwin Sharvill NEGOTIATION
Ashley F StensethItalyOnyama Limba PROPOSAL
Murillo U ButtCanadaIoni Bowcher UNQUALIFIED
Kaitlin M MarrierArgentinaElwin Sharvill NEGOTIATION
Julie X PaprockiJapanIoni Bowcher NEGOTIATION
Nicolas U FerenczJapanAsiya Javayant UNQUALIFIED
Mujtaba M StockhamSpainBernardo Dominic PROPOSAL
Costa D WaycottArgentinaXuxue Feng RENEWAL
Tony W OldroydSpainIvan Magalhaes UNQUALIFIED
Mujtaba L AmigonArgentinaAsiya Javayant QUALIFIED
Maisha Z WieserIndiaAnna Fali NEGOTIATION
Nicolas F WieserArgentinaIoni Bowcher RENEWAL
Costa J MarrierCanadaIvan Magalhaes UNQUALIFIED
Nicolas E BriddickGermanyXuxue Feng UNQUALIFIED
Nicolas A RimFranceXuxue Feng QUALIFIED
Smith U IturbideGermanyXuxue Feng QUALIFIED
Cody K StensethSpainElwin Sharvill NEGOTIATION
Greenwood T FollerIndiaAsiya Javayant UNQUALIFIED
Ashley N StensethFranceAmy Elsner QUALIFIED
Claire R StensethIndiaOnyama Limba RENEWAL
Maria X SlusarskiGermanyElwin Sharvill RENEWAL
Jeanfrancois P FerenczRussiaElwin Sharvill RENEWAL
Julie Z AmigonFranceAsiya Javayant NEW
Aika V CaudyFranceIoni Bowcher PROPOSAL
Aruna Q OstroskyItalyIvan Magalhaes RENEWAL
Aditya W MaletItalyAsiya Javayant PROPOSAL
Stacey A CaldareraCanadaStephen Shaw NEGOTIATION
Aika L SergiIndiaAmy Elsner PROPOSAL
Leja I WaycottItalyOnyama Limba UNQUALIFIED
Julie S MaletSpainXuxue Feng RENEWAL
Chavez P CaudyJapanIvan Magalhaes UNQUALIFIED
Chavez Y RutaUnited KingdomIoni Bowcher UNQUALIFIED
Tony W RulapaughSpainStephen Shaw NEW
Faith C MaletUnited KingdomAnna Fali NEGOTIATION
Aruna Y RoysterBrazilBernardo Dominic NEW
Juan Q VenereFranceAnna Fali QUALIFIED
Morrow X MacleadArgentinaAsiya Javayant QUALIFIED
Izzy S NestleItalyStephen Shaw QUALIFIED
Jeanfrancois J StensethUnited KingdomStephen Shaw UNQUALIFIED
Kaitlin C FerenczFranceBernardo Dominic NEW
Isabel W WieserRussiaIoni Bowcher QUALIFIED
Munro Q OstroskyRussiaOnyama Limba QUALIFIED
Morrow Q RulapaughCanadaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Chavez K Saylors
Aditya W Rulapaugh
Julie H Garufi
Emily M Inouye
Sinclair T Shinko
Kadeem R Poquette
Leja V Morasca
Maria J Slusarski
Aruna N Caldarera
Aika J Stockham
Julie P Gaucho
Kadeem T Marrier
Cody R Maclead
Silvio Z Kusko
Claire B Waycott
Izzy Z Amigon
Morrow Z Doe
James T Venere
Aika O Ruta
Aditya H Paprocki
Julie S Butt
Aika O Gaucho
Mujtaba T Bowley
Aruna M Glick
Stacey B Doe
Morrow P Briddick
Leja D Glick
Murillo H Ferencz
Juan O Doe
Costa K Rulapaugh
Adams O Bowley
Adams X Vocelka
Salvatore P Maclead
Ivar C Campain
Chavez B Stockham
Clifford Y Kusko
Izzy L Bolognia
Rodrigues C Kusko
Munro U Figeroa
Maisha F Doe
Sinclair A Poquette
Murillo G Rulapaugh
Kaitlin X Briddick
Nicolas X Ruta
Nicolas Y Sergi
Kaitlin E Rim
Faith E Wieser
Juan S Tollner
Deepesh K Albares
Leja V Chui
IdCountryDate
1000Brazil2026-10-21
1001Japan2026-10-24
1002Argentina2026-11-08
1003Australia2026-11-09
1004Brazil2026-10-20
1005United Kingdom2026-10-25
1006Germany2026-10-12
1007Japan2026-10-11
1008Germany2026-10-28
1009United Kingdom2026-11-02
1010France2026-11-07
1011Argentina2026-10-12
1012Canada2026-11-05
1013Japan2026-11-01
1014Italy2026-10-14
1015France2026-10-15
1016France2026-11-07
1017Argentina2026-10-31
1018Argentina2026-10-21
1019Spain2026-11-06
1020Germany2026-10-29
1021Argentina2026-10-13
1022Russia2026-10-24
1023Japan2026-10-18
1024Argentina2026-10-17
1025Argentina2026-10-23
1026France2026-11-01
1027Brazil2026-11-07
1028India2026-11-05
1029Japan2026-10-31
1030Italy2026-10-17
1031Australia2026-11-09
1032Germany2026-10-12
1033Italy2026-10-18
1034India2026-10-15
1035Germany2026-10-31
1036India2026-11-06
1037France2026-11-09
1038Russia2026-11-08
1039Australia2026-10-19
1040Japan2026-10-28
1041India2026-10-26
1042Australia2026-10-22
1043United Kingdom2026-10-23
1044India2026-10-12
1045Russia2026-11-02
1046Germany2026-10-29
1047Brazil2026-10-15
1048Italy2026-10-24
1049Spain2026-10-29

On-Demand Data

NameIdCountryDate
Wickens S Malet1000Brazil2026-11-03
Maisha P Ruta1001Argentina2026-10-17
Misaki L Ferencz1002France2026-10-29
Ivar O Ruta1003Germany2026-11-04
Arvin W Shinko1004United Kingdom2026-11-04
Jeanfrancois T Rim1005Spain2026-11-02
Cody A Ostrosky1006Japan2026-11-05
Tony A Chui1007India2026-10-28
Mayumi I Chui1008Canada2026-10-31
Jeanfrancois R Ferencz1009India2026-11-05
Jennifer Q Inouye1010India2026-11-07
Adams J Rulapaugh1011France2026-10-21
David K Maclead1012India2026-10-22
Silvio H Waycott1013Japan2026-10-21
Murillo K Malet1014Russia2026-10-14
Stacey D Slusarski1015Canada2026-10-20
Stacey V Kusko1016Brazil2026-11-02
Mayumi K Amigon1017Italy2026-10-12
Nicolas C Doe1018Argentina2026-10-23
Smith Q Maclead1019India2026-10-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie F MaletGermanyAmy Elsner PROPOSAL
Aruna F GlickJapanBernardo Dominic QUALIFIED
Aruna E FlosiFranceStephen Shaw QUALIFIED
Ricardo J CaudyAustraliaIvan Magalhaes RENEWAL
Juan F KuskoGermanyIvan Magalhaes NEGOTIATION
Cody S WieserArgentinaElwin Sharvill QUALIFIED
Kaitlin U FollerJapanIvan Magalhaes NEW
Greenwood A RoysterJapanBernardo Dominic RENEWAL
Ivar J WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Johnson G AlbaresItalyBernardo Dominic NEGOTIATION
Francesco M DarakjyGermanyAsiya Javayant UNQUALIFIED
Leja M FigeroaFranceOnyama Limba UNQUALIFIED
Aika Q RoysterItalyStephen Shaw NEGOTIATION
Leja Y RimRussiaStephen Shaw UNQUALIFIED
Clifford C KuskoRussiaOnyama Limba UNQUALIFIED
Jefferson H MorascaCanadaElwin Sharvill NEW
Julie M TollnerItalyElwin Sharvill NEW
Octavia V MarrierCanadaElwin Sharvill QUALIFIED
Nicolas T OldroydFranceIvan Magalhaes RENEWAL
Greenwood P PerinSpainAmy Elsner NEGOTIATION
Adams K BriddickGermanyXuxue Feng NEW
Claire P WaycottRussiaElwin Sharvill NEGOTIATION
Ivar Z SergiGermanyAnna Fali NEGOTIATION
Darci A OstroskyRussiaElwin Sharvill NEGOTIATION
Maisha O MorascaUnited KingdomIoni Bowcher NEGOTIATION
Munro E RoysterItalyAnna Fali NEGOTIATION
Murillo D WaycottBrazilBernardo Dominic PROPOSAL
Morrow F GauchoJapanIoni Bowcher QUALIFIED
Tony A RoysterCanadaAnna Fali UNQUALIFIED
Alejandro G AlbaresBrazilAmy Elsner NEGOTIATION
Maisha Q VocelkaItalyAnna Fali QUALIFIED
Johnson X ShinkoArgentinaAmy Elsner PROPOSAL
Kaitlin S FerenczSpainIoni Bowcher NEGOTIATION
Misaki O FigeroaArgentinaAmy Elsner NEGOTIATION
Leon J GarufiIndiaIvan Magalhaes PROPOSAL
Salvatore Q RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin Y ButtAustraliaAmy Elsner PROPOSAL
Greenwood I SaylorsJapanIoni Bowcher PROPOSAL
Wickens V PoquetteAustraliaXuxue Feng NEW
Ricardo D KolmetzIndiaAnna Fali 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>