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
Deepesh W StensethFranceAsiya Javayant NEW
Smith P ButtGermanyElwin Sharvill NEGOTIATION
Faith A FlosiCanadaStephen Shaw UNQUALIFIED
Alejandro V SergiAustraliaAnna Fali UNQUALIFIED
Costa D TollnerGermanyOnyama Limba UNQUALIFIED
Maria R StockhamRussiaStephen Shaw NEGOTIATION
Alejandro T GarufiBrazilStephen Shaw QUALIFIED
Smith E OstroskyIndiaStephen Shaw QUALIFIED
Mayumi X BologniaCanadaBernardo Dominic RENEWAL
Jones Q FigeroaRussiaBernardo Dominic RENEWAL
Julie G KolmetzSpainAmy Elsner UNQUALIFIED
Deepesh B WhobreyItalyElwin Sharvill NEGOTIATION
Costa H MaletJapanAsiya Javayant NEGOTIATION
Jennifer S AmigonIndiaIvan Magalhaes QUALIFIED
Adams D AmigonCanadaAnna Fali RENEWAL
Jeanfrancois V BowleyAustraliaIvan Magalhaes PROPOSAL
Claire P MacleadBrazilAsiya Javayant NEW
Darci X GarufiAustraliaOnyama Limba RENEWAL
Jennifer B InouyeArgentinaIvan Magalhaes NEW
Stacey M PerinIndiaAmy Elsner RENEWAL
Darci N MarrierIndiaStephen Shaw QUALIFIED
Claire Y BowleyGermanyIvan Magalhaes UNQUALIFIED
James O PoquetteRussiaIoni Bowcher RENEWAL
Rodrigues B MorascaGermanyXuxue Feng NEW
David B GlickCanadaAmy Elsner RENEWAL
Salvatore Q KolmetzGermanyElwin Sharvill PROPOSAL
Morrow O CampainCanadaStephen Shaw UNQUALIFIED
Morrow S SlusarskiBrazilAnna Fali QUALIFIED
Chavez F MacleadUnited KingdomXuxue Feng NEW
David T SaylorsGermanyStephen Shaw RENEWAL
Adams P MaletJapanAnna Fali UNQUALIFIED
Claire E MaletJapanXuxue Feng UNQUALIFIED
Chavez M OldroydJapanIoni Bowcher NEGOTIATION
Sinclair M GlickSpainStephen Shaw NEW
Ivar C ShinkoIndiaBernardo Dominic QUALIFIED
Mayumi H ShinkoGermanyOnyama Limba PROPOSAL
Maria F DarakjySpainElwin Sharvill RENEWAL
Wickens E VenereIndiaAnna Fali PROPOSAL
Leja C SaylorsAustraliaBernardo Dominic NEGOTIATION
Misaki N DoeCanadaBernardo Dominic NEGOTIATION
Munro S InouyeBrazilOnyama Limba NEGOTIATION
Silvio G MacleadArgentinaAnna Fali NEW
Claire U DoeSpainIoni Bowcher QUALIFIED
James C KolmetzIndiaBernardo Dominic UNQUALIFIED
Smith T MaletJapanAnna Fali NEGOTIATION
Izzy Z MacleadSpainOnyama Limba PROPOSAL
Adams T FigeroaRussiaAnna Fali UNQUALIFIED
Costa N CaldareraGermanyStephen Shaw PROPOSAL
Maria U CampainSpainXuxue Feng QUALIFIED
Mayumi B VocelkaRussiaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Mujtaba O OstroskyIndiaAmy Elsner UNQUALIFIED
Jones Y VenereItalyIoni Bowcher NEW
Antonio M NestleJapanElwin Sharvill UNQUALIFIED
Julie W SaylorsBrazilXuxue Feng NEGOTIATION
Maria E MarrierUnited KingdomAnna Fali NEGOTIATION
Aditya J PaprockiCanadaAmy Elsner RENEWAL
Ivar R ChuiRussiaAnna Fali NEW
Juan E PerinJapanBernardo Dominic PROPOSAL
Faith B StockhamArgentinaIoni Bowcher RENEWAL
Morrow U NickaArgentinaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois B StockhamJapan2026-09-19Feltz Printing Service RENEWAL50Bernardo Dominic
1001David D AlbaresUnited Kingdom2026-09-13Printing Dimensions PROPOSAL22Stephen Shaw
1002Mujtaba Y OldroydArgentina2026-09-20Truhlar And Truhlar Attys NEW23Anna Fali
1003Sinclair K WieserFrance2026-09-25Benton, John B Jr QUALIFIED23Onyama Limba
1004Darci Y RoysterFrance2026-09-01Morlong Associates UNQUALIFIED21Amy Elsner
1005Sinclair R SlusarskiCanada2026-09-08Rousseaux, Michael Esq NEGOTIATION45Ivan Magalhaes
1006Octavia A FerenczFrance2026-09-04Feltz Printing Service NEW82Stephen Shaw
1007Jennifer Q InouyeCanada2026-09-06Feltz Printing Service UNQUALIFIED75Ivan Magalhaes
1008Julie R VenereIndia2026-09-10Rangoni Of Florence QUALIFIED99Anna Fali
1009Ashley G RimArgentina2026-09-23King, Christopher A Esq NEGOTIATION42Bernardo Dominic
1010Leon J StockhamSpain2026-09-20Rousseaux, Michael Esq RENEWAL22Ivan Magalhaes
1011Maisha W VocelkaIndia2026-09-19Rangoni Of Florence UNQUALIFIED73Asiya Javayant
1012Ashley O TollnerAustralia2026-09-17Dorl, James J Esq PROPOSAL14Xuxue Feng
1013Silvio O RutaSpain2026-09-20Buckley Miller Wright NEW71Ioni Bowcher
1014Tony U MarrierBrazil2026-09-11Commercial Press NEGOTIATION38Ioni Bowcher
1015Tony G DilliardArgentina2026-09-10Rangoni Of Florence UNQUALIFIED3Ivan Magalhaes
1016Claire L SaylorsArgentina2026-09-04Morlong Associates QUALIFIED79Asiya Javayant
1017Kaitlin R WaycottAustralia2026-09-02Printing Dimensions NEGOTIATION65Asiya Javayant
1018Jeanfrancois B MaletFrance2026-09-18Chanay, Jeffrey A Esq UNQUALIFIED2Amy Elsner
1019Alejandro S CaldareraFrance2026-09-05Rangoni Of Florence PROPOSAL17Ivan Magalhaes
1020Jeanfrancois V MaletAustralia2026-09-12Commercial Press UNQUALIFIED16Xuxue Feng
1021Leja Q ChuiIndia2026-09-25Buckley Miller Wright QUALIFIED37Onyama Limba
1022Chavez U PoquetteJapan2026-08-30Commercial Press UNQUALIFIED76Amy Elsner
1023Munro W DarakjyFrance2026-09-19King, Christopher A Esq UNQUALIFIED69Bernardo Dominic
1024Deepesh L DoeCanada2026-09-17Truhlar And Truhlar Attys NEW5Elwin Sharvill
1025Misaki Q ButtCanada2026-09-22King, Christopher A Esq UNQUALIFIED37Stephen Shaw
1026Claire A VocelkaUnited Kingdom2026-09-11Printing Dimensions NEGOTIATION43Bernardo Dominic
1027Tony E MarrierJapan2026-08-31Chanay, Jeffrey A Esq QUALIFIED36Onyama Limba
1028Ashley Z NickaAustralia2026-09-17Rousseaux, Michael Esq QUALIFIED65Ivan Magalhaes
1029Stacey Y RimUnited Kingdom2026-09-13Commercial Press RENEWAL46Anna Fali
1030Jefferson K BowleyUnited Kingdom2026-09-02Feltz Printing Service NEGOTIATION21Asiya Javayant
1031Stacey V KolmetzJapan2026-08-30Morlong Associates NEGOTIATION68Elwin Sharvill
1032James R WieserCanada2026-09-10Rousseaux, Michael Esq RENEWAL11Ioni Bowcher
1033Munro F DarakjyFrance2026-08-28Buckley Miller Wright UNQUALIFIED20Stephen Shaw
1034Julie Y WaycottFrance2026-08-29Chemel, James L Cpa RENEWAL3Xuxue Feng
1035Deepesh Q BriddickItaly2026-08-30Rousseaux, Michael Esq NEGOTIATION9Xuxue Feng
1036Stacey W OldroydArgentina2026-09-15Morlong Associates QUALIFIED27Onyama Limba
1037Sinclair C FollerRussia2026-09-06Commercial Press QUALIFIED74Stephen Shaw
1038Claire B FerenczIndia2026-09-17Commercial Press UNQUALIFIED73Amy Elsner
1039Silvio J CaldareraJapan2026-08-31Rousseaux, Michael Esq UNQUALIFIED93Amy Elsner
1040Kaitlin F AmigonArgentina2026-09-01Buckley Miller Wright NEW88Ivan Magalhaes
1041Wickens D ShinkoFrance2026-09-11Chemel, James L Cpa NEW17Ivan Magalhaes
1042Morrow Y AmigonFrance2026-09-14Chapman, Ross E Esq NEGOTIATION65Asiya Javayant
1043Stacey O StensethItaly2026-08-31Chemel, James L Cpa QUALIFIED10Ivan Magalhaes
1044Clifford B ChuiRussia2026-09-02Feiner Bros PROPOSAL85Anna Fali
1045Tony P GillianGermany2026-09-04Dorl, James J Esq UNQUALIFIED59Anna Fali
1046Kaitlin X AlbaresUnited Kingdom2026-09-10Chemel, James L Cpa PROPOSAL28Ioni Bowcher
1047Emily J InouyeBrazil2026-09-18Benton, John B Jr PROPOSAL45Onyama Limba
1048Leja M AmigonIndia2026-09-19Feltz Printing Service UNQUALIFIED11Ivan Magalhaes
1049Leja Q FlosiSpain2026-09-25Commercial Press NEGOTIATION98Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois D PoquetteFranceOnyama Limba UNQUALIFIED
Sinclair Q RulapaughAustraliaBernardo Dominic QUALIFIED
Ricardo U VenereArgentinaOnyama Limba NEW
Leja Y RimJapanAnna Fali PROPOSAL
Rodrigues Q RoysterSpainIvan Magalhaes PROPOSAL
Faith L DoeGermanyElwin Sharvill NEW
Johnson K RulapaughUnited KingdomXuxue Feng PROPOSAL
Octavia X AlbaresSpainIvan Magalhaes NEW
Nicolas K ChuiGermanyBernardo Dominic RENEWAL
Darci L MaletAustraliaAmy Elsner RENEWAL
Morrow F AlbaresCanadaAsiya Javayant UNQUALIFIED
Ricardo U GarufiItalyStephen Shaw UNQUALIFIED
Leja W WhobreyBrazilOnyama Limba RENEWAL
Octavia G DilliardIndiaIoni Bowcher RENEWAL
Francesco H KuskoRussiaAnna Fali NEW
Tony U MarrierSpainXuxue Feng RENEWAL
Leja W GillianArgentinaIvan Magalhaes RENEWAL
Rodrigues X CaudyCanadaElwin Sharvill PROPOSAL
Jennifer T RutaUnited KingdomAsiya Javayant NEGOTIATION
Mayumi V BriddickAustraliaAsiya Javayant NEGOTIATION
Faith C PaprockiSpainOnyama Limba NEGOTIATION
Juan A StockhamAustraliaElwin Sharvill NEW
Ricardo S FerenczUnited KingdomXuxue Feng PROPOSAL
Chavez U SchemmerSpainOnyama Limba UNQUALIFIED
Wickens N SchemmerCanadaStephen Shaw RENEWAL
Kadeem M VocelkaJapanOnyama Limba NEGOTIATION
Maisha B PerinArgentinaAsiya Javayant RENEWAL
Tony C SaylorsAustraliaAsiya Javayant NEW
Aika X CaldareraArgentinaOnyama Limba RENEWAL
Cody M GauchoUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi P AmigonGermanyAnna Fali NEW
Chavez L RimJapanIoni Bowcher QUALIFIED
Kaitlin G NickaCanadaAsiya Javayant NEGOTIATION
Kadeem S StensethSpainStephen Shaw QUALIFIED
Salvatore L TollnerSpainAsiya Javayant QUALIFIED
Aditya T KolmetzCanadaIoni Bowcher NEGOTIATION
Maria M FlosiGermanyOnyama Limba NEGOTIATION
Jeanfrancois W DarakjyFranceElwin Sharvill NEW
Jefferson M VenereUnited KingdomOnyama Limba PROPOSAL
Faith U CampainCanadaStephen Shaw PROPOSAL
Isabel E FerenczAustraliaElwin Sharvill UNQUALIFIED
Aruna E MaletGermanyIoni Bowcher UNQUALIFIED
Aruna X StensethIndiaAnna Fali UNQUALIFIED
Jennifer D ShinkoUnited KingdomOnyama Limba PROPOSAL
Nicolas E BowleyGermanyStephen Shaw PROPOSAL
Jennifer D AmigonFranceStephen Shaw RENEWAL
Smith S KuskoItalyOnyama Limba PROPOSAL
James L OldroydBrazilIoni Bowcher RENEWAL
Jones J KuskoIndiaStephen Shaw NEW
Ivar I GauchoAustraliaBernardo Dominic QUALIFIED
Frozen Columns
Name
Stacey M Gillian
David J Gillian
Leja C Schemmer
Ivar G Wieser
Emily Z Glick
Ashley K Chui
Costa M Malet
Chavez M Whobrey
Morrow X Slusarski
Francesco W Shinko
Mujtaba W Rulapaugh
Tony H Tollner
Misaki P Rulapaugh
Silvio W Doe
Mayumi J Saylors
Deepesh E Ruta
Chavez N Whobrey
Darci I Flosi
Claire D Perin
Deepesh D Wieser
Deepesh I Bolognia
Julie K Paprocki
Jeanfrancois L Figeroa
Mayumi T Caldarera
Kaitlin Z Briddick
Costa W Rulapaugh
Morrow S Foller
Chavez X Flosi
Ricardo O Wieser
Rodrigues V Sergi
Jennifer R Stockham
Aditya D Perin
Arvin X Tollner
Emily X Poquette
Kadeem C Marrier
Jeanfrancois Z Venere
Isabel J Rim
Aditya C Glick
Maria L Inouye
Francesco E Kusko
Claire W Kusko
Alejandro Q Ruta
Jennifer V Saylors
Nicolas W Saylors
Julie E Poquette
Jennifer W Waycott
Isabel H Sergi
Aditya L Stockham
James F Rim
Johnson L Albares
IdCountryDate
1000Brazil2026-09-20
1001Spain2026-09-15
1002Russia2026-09-11
1003Japan2026-08-29
1004Japan2026-09-01
1005Japan2026-09-24
1006Brazil2026-09-22
1007Spain2026-09-23
1008Brazil2026-09-24
1009Russia2026-09-17
1010Australia2026-08-28
1011Brazil2026-09-25
1012Spain2026-09-15
1013Spain2026-09-20
1014France2026-09-15
1015Spain2026-09-09
1016France2026-09-18
1017Spain2026-09-12
1018Japan2026-08-29
1019Australia2026-09-15
1020France2026-09-17
1021Germany2026-09-05
1022Brazil2026-09-09
1023Japan2026-09-17
1024Germany2026-09-17
1025Argentina2026-09-01
1026Russia2026-09-07
1027Brazil2026-08-31
1028Australia2026-09-07
1029Italy2026-09-09
1030Brazil2026-09-16
1031Japan2026-09-03
1032Australia2026-09-18
1033Canada2026-09-08
1034Australia2026-08-30
1035France2026-09-24
1036India2026-09-08
1037Germany2026-09-13
1038Russia2026-09-04
1039France2026-09-22
1040Italy2026-09-06
1041United Kingdom2026-08-28
1042Russia2026-08-30
1043United Kingdom2026-08-29
1044Russia2026-08-31
1045Japan2026-09-01
1046Spain2026-09-20
1047Italy2026-09-02
1048Australia2026-09-23
1049Italy2026-09-23

On-Demand Data

NameIdCountryDate
Isabel E Garufi1000India2026-09-07
Alejandro G Wieser1001Brazil2026-09-23
Johnson W Foller1002Russia2026-09-02
Rodrigues D Nestle1003Russia2026-08-30
Ricardo B Caudy1004India2026-09-12
Johnson H Caldarera1005Argentina2026-09-25
Kaitlin C Venere1006Canada2026-09-11
Isabel A Darakjy1007Australia2026-09-17
James I Oldroyd1008Italy2026-09-17
Munro T Oldroyd1009Germany2026-09-24
Juan I Gillian1010India2026-09-10
Izzy U Ferencz1011Canada2026-08-29
Jones V Paprocki1012Brazil2026-09-12
Emily O Saylors1013United Kingdom2026-09-16
Julie J Saylors1014Brazil2026-09-17
Tony F Perin1015Italy2026-09-13
Izzy U Glick1016Italy2026-09-11
Salvatore B Maclead1017France2026-09-25
Aika P Stockham1018Germany2026-09-08
James Y Rim1019France2026-09-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci M GlickGermanyXuxue Feng NEGOTIATION
Rodrigues L NestleFranceStephen Shaw NEW
Murillo U MacleadAustraliaAnna Fali QUALIFIED
Cody U FlosiIndiaAsiya Javayant PROPOSAL
Julie U BriddickRussiaStephen Shaw UNQUALIFIED
Darci Y SergiRussiaAnna Fali RENEWAL
Tony G DarakjyJapanIoni Bowcher PROPOSAL
Jeanfrancois B MorascaBrazilBernardo Dominic NEGOTIATION
Julie R BologniaRussiaIvan Magalhaes NEGOTIATION
Johnson I SaylorsGermanyIoni Bowcher QUALIFIED
Leja O DarakjySpainAnna Fali QUALIFIED
Smith A KolmetzFranceIvan Magalhaes QUALIFIED
Mayumi Y SchemmerCanadaXuxue Feng PROPOSAL
Isabel R KuskoBrazilXuxue Feng NEW
Jennifer A SaylorsSpainAsiya Javayant NEW
Mujtaba R IturbideSpainXuxue Feng QUALIFIED
Clifford X DilliardGermanyXuxue Feng RENEWAL
Johnson Z GarufiIndiaAnna Fali RENEWAL
Octavia G TollnerJapanXuxue Feng NEGOTIATION
Jefferson T FlosiFranceElwin Sharvill PROPOSAL
Izzy M NestleFranceAsiya Javayant RENEWAL
Aika Y FerenczJapanIoni Bowcher UNQUALIFIED
Ricardo I KuskoUnited KingdomAsiya Javayant NEW
Jeanfrancois F KolmetzItalyIoni Bowcher NEGOTIATION
Wickens B MacleadUnited KingdomAnna Fali PROPOSAL
Ivar S CampainFranceIvan Magalhaes UNQUALIFIED
Darci B GarufiArgentinaXuxue Feng PROPOSAL
Costa F FollerJapanAnna Fali NEW
Adams P WhobreyFranceAsiya Javayant QUALIFIED
Misaki T FigeroaAustraliaElwin Sharvill NEGOTIATION
Jeanfrancois T PoquetteIndiaStephen Shaw NEW
Clifford W ButtJapanStephen Shaw NEW
Adams X OldroydRussiaStephen Shaw PROPOSAL
Johnson T IturbideRussiaBernardo Dominic UNQUALIFIED
Aditya V MaletFranceElwin Sharvill RENEWAL
Francesco T SaylorsFranceAnna Fali UNQUALIFIED
Kaitlin T IturbideAustraliaBernardo Dominic PROPOSAL
Stacey N CaldareraRussiaIvan Magalhaes RENEWAL
Stacey H KolmetzFranceAmy Elsner PROPOSAL
Nicolas D BologniaArgentinaOnyama Limba NEW

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