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
Clifford O StockhamAustraliaAnna Fali NEGOTIATION
Aditya Z SergiJapanStephen Shaw NEW
Antonio R FerenczAustraliaAnna Fali RENEWAL
Antonio W NestleUnited KingdomAsiya Javayant NEW
Jones V RulapaughBrazilXuxue Feng QUALIFIED
Maria P KuskoUnited KingdomIoni Bowcher NEW
Juan G RutaGermanyBernardo Dominic NEW
Antonio Z AlbaresRussiaElwin Sharvill PROPOSAL
Arvin C ButtItalyIoni Bowcher PROPOSAL
Mujtaba W FerenczBrazilAnna Fali NEW
Johnson W FlosiSpainOnyama Limba NEGOTIATION
Maria H MarrierIndiaBernardo Dominic QUALIFIED
Emily D BriddickAustraliaAsiya Javayant RENEWAL
Izzy B NickaUnited KingdomStephen Shaw PROPOSAL
James F FollerJapanBernardo Dominic QUALIFIED
Jennifer R MaletRussiaStephen Shaw QUALIFIED
Salvatore E OstroskySpainAmy Elsner UNQUALIFIED
Julie T RimIndiaIvan Magalhaes PROPOSAL
Arvin M RimAustraliaAsiya Javayant NEW
Isabel B TollnerBrazilIoni Bowcher NEW
Francesco X SlusarskiCanadaAmy Elsner NEGOTIATION
Octavia Q MorascaSpainXuxue Feng NEGOTIATION
Nicolas A ShinkoAustraliaXuxue Feng PROPOSAL
Leja G FlosiFranceIoni Bowcher NEW
Munro C PaprockiFranceXuxue Feng NEW
Silvio A FlosiJapanAmy Elsner RENEWAL
Smith B RulapaughBrazilBernardo Dominic NEW
Murillo H GillianBrazilAsiya Javayant UNQUALIFIED
Silvio T ButtCanadaElwin Sharvill QUALIFIED
Adams T SchemmerRussiaElwin Sharvill UNQUALIFIED
Munro V WaycottSpainIvan Magalhaes UNQUALIFIED
Claire W ButtJapanAsiya Javayant QUALIFIED
Claire A OstroskyRussiaXuxue Feng UNQUALIFIED
Julie Z PaprockiUnited KingdomElwin Sharvill QUALIFIED
Maria S NickaFranceIvan Magalhaes RENEWAL
James I TollnerSpainAmy Elsner UNQUALIFIED
Aika Y ShinkoCanadaIvan Magalhaes NEW
Ricardo F NickaGermanyIoni Bowcher QUALIFIED
Murillo P IturbideAustraliaAnna Fali NEGOTIATION
Jones E MarrierAustraliaAmy Elsner UNQUALIFIED
Maria P NestleCanadaBernardo Dominic NEGOTIATION
Izzy D AlbaresItalyIoni Bowcher PROPOSAL
Greenwood M AmigonJapanIvan Magalhaes NEGOTIATION
Smith O SergiRussiaAmy Elsner QUALIFIED
Johnson X WaycottIndiaIvan Magalhaes NEGOTIATION
Alejandro M VocelkaCanadaOnyama Limba NEW
Jefferson I SchemmerArgentinaXuxue Feng RENEWAL
Izzy F AmigonCanadaOnyama Limba UNQUALIFIED
Aika I ChuiSpainIvan Magalhaes NEGOTIATION
Isabel D NickaCanadaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Emily R SaylorsUnited KingdomXuxue Feng PROPOSAL
Aditya D VenereUnited KingdomBernardo Dominic UNQUALIFIED
Leon N MorascaArgentinaAnna Fali QUALIFIED
Francesco K DoeBrazilIoni Bowcher UNQUALIFIED
Sinclair F SaylorsJapanElwin Sharvill UNQUALIFIED
Aika Y CampainJapanAmy Elsner NEW
Clifford H VenereGermanyXuxue Feng NEW
Aruna C FlosiRussiaIoni Bowcher UNQUALIFIED
Ricardo I WaycottSpainAsiya Javayant NEW
Deepesh Y MarrierBrazilIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria N SaylorsUnited Kingdom2026-09-10Chanay, Jeffrey A Esq NEGOTIATION46Bernardo Dominic
1001Mayumi M MacleadItaly2026-09-12Chemel, James L Cpa NEGOTIATION66Elwin Sharvill
1002Jennifer B NickaRussia2026-09-06Benton, John B Jr NEGOTIATION26Ioni Bowcher
1003Kadeem H FerenczSpain2026-09-28Buckley Miller Wright PROPOSAL23Elwin Sharvill
1004Misaki S MarrierRussia2026-09-19Benton, John B Jr QUALIFIED26Ivan Magalhaes
1005Maisha A MorascaIndia2026-09-29King, Christopher A Esq RENEWAL64Stephen Shaw
1006Francesco D ChuiArgentina2026-09-28Chapman, Ross E Esq PROPOSAL3Bernardo Dominic
1007Smith A KuskoJapan2026-09-14Feltz Printing Service QUALIFIED67Anna Fali
1008Greenwood Y StockhamUnited Kingdom2026-09-05Rangoni Of Florence PROPOSAL64Bernardo Dominic
1009Arvin X RutaUnited Kingdom2026-09-16Truhlar And Truhlar Attys RENEWAL60Bernardo Dominic
1010Alejandro U CampainGermany2026-09-12Rousseaux, Michael Esq NEW57Asiya Javayant
1011Salvatore F MorascaUnited Kingdom2026-09-05Chanay, Jeffrey A Esq NEGOTIATION19Asiya Javayant
1012Nicolas F KolmetzJapan2026-09-17Chapman, Ross E Esq QUALIFIED16Xuxue Feng
1013Sinclair P PoquetteUnited Kingdom2026-09-03Chapman, Ross E Esq PROPOSAL62Amy Elsner
1014David L FlosiJapan2026-09-16Chanay, Jeffrey A Esq NEGOTIATION31Asiya Javayant
1015Leja M NickaIndia2026-09-12Feltz Printing Service UNQUALIFIED85Ivan Magalhaes
1016Juan N KolmetzGermany2026-09-16Chapman, Ross E Esq PROPOSAL52Ioni Bowcher
1017Salvatore R RimCanada2026-09-13Truhlar And Truhlar Attys NEGOTIATION61Amy Elsner
1018Costa W SaylorsJapan2026-09-23Buckley Miller Wright UNQUALIFIED87Elwin Sharvill
1019Adams H StensethUnited Kingdom2026-09-12Commercial Press RENEWAL50Ioni Bowcher
1020Tony X FollerItaly2026-09-14Dorl, James J Esq PROPOSAL26Stephen Shaw
1021Ashley Z MarrierRussia2026-09-23Rangoni Of Florence PROPOSAL6Ioni Bowcher
1022Silvio G FerenczCanada2026-09-16Commercial Press NEGOTIATION3Onyama Limba
1023Johnson K KuskoUnited Kingdom2026-09-23Buckley Miller Wright QUALIFIED90Onyama Limba
1024Jones J AlbaresArgentina2026-09-24Printing Dimensions PROPOSAL0Onyama Limba
1025Alejandro Z PaprockiIndia2026-09-18Rousseaux, Michael Esq QUALIFIED67Ivan Magalhaes
1026Julie F RulapaughArgentina2026-09-11Morlong Associates NEGOTIATION23Onyama Limba
1027Aditya V GauchoCanada2026-09-16Feiner Bros NEGOTIATION58Ioni Bowcher
1028Sinclair R BowleyGermany2026-09-17Dorl, James J Esq NEGOTIATION13Amy Elsner
1029Octavia N RutaFrance2026-09-10King, Christopher A Esq PROPOSAL34Stephen Shaw
1030Jeanfrancois Q DarakjyBrazil2026-09-05Chapman, Ross E Esq NEGOTIATION20Amy Elsner
1031Greenwood F IturbideIndia2026-09-08Chanay, Jeffrey A Esq QUALIFIED42Ivan Magalhaes
1032Aditya O KuskoArgentina2026-09-18Feltz Printing Service NEW14Onyama Limba
1033Julie U SlusarskiJapan2026-09-14Buckley Miller Wright RENEWAL63Bernardo Dominic
1034Claire B OldroydItaly2026-09-25Printing Dimensions QUALIFIED37Amy Elsner
1035Jones U IturbideJapan2026-09-01Feiner Bros QUALIFIED66Amy Elsner
1036Emily V VenereItaly2026-09-05Feiner Bros QUALIFIED81Ivan Magalhaes
1037Johnson N MarrierFrance2026-09-06Feiner Bros PROPOSAL75Bernardo Dominic
1038Tony D IturbideArgentina2026-09-27Morlong Associates UNQUALIFIED42Bernardo Dominic
1039Aditya V WieserGermany2026-09-08Commercial Press UNQUALIFIED74Ioni Bowcher
1040Cody P MarrierSpain2026-09-14Feiner Bros RENEWAL79Xuxue Feng
1041Cody W RutaItaly2026-09-14Truhlar And Truhlar Attys UNQUALIFIED95Bernardo Dominic
1042Costa T MorascaGermany2026-09-26Dorl, James J Esq NEGOTIATION8Asiya Javayant
1043Silvio C MacleadBrazil2026-09-26Chapman, Ross E Esq NEW16Stephen Shaw
1044Leja G MacleadRussia2026-09-10Rousseaux, Michael Esq NEW59Ivan Magalhaes
1045Ricardo B BologniaRussia2026-09-26Rousseaux, Michael Esq NEGOTIATION56Amy Elsner
1046Francesco I RimAustralia2026-09-24King, Christopher A Esq QUALIFIED75Bernardo Dominic
1047Silvio T OldroydGermany2026-09-22Rangoni Of Florence QUALIFIED98Xuxue Feng
1048Izzy Z WaycottBrazil2026-09-18Dorl, James J Esq QUALIFIED3Anna Fali
1049Aika A DarakjyAustralia2026-09-09Chemel, James L Cpa UNQUALIFIED52Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Isabel V MacleadUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues Q GauchoGermanyAnna Fali RENEWAL
Stacey M SlusarskiFranceAmy Elsner QUALIFIED
Costa I SchemmerItalyStephen Shaw NEGOTIATION
Alejandro S SergiUnited KingdomStephen Shaw QUALIFIED
Stacey Q TollnerCanadaAsiya Javayant PROPOSAL
Mayumi S GauchoItalyElwin Sharvill NEGOTIATION
Juan Q GauchoJapanXuxue Feng RENEWAL
Maria T KolmetzFranceOnyama Limba PROPOSAL
Leja S KolmetzItalyOnyama Limba RENEWAL
Aditya Z PoquetteFranceIoni Bowcher PROPOSAL
Ricardo U DoeUnited KingdomAnna Fali NEGOTIATION
Isabel U PoquetteItalyIoni Bowcher QUALIFIED
Kaitlin F MacleadRussiaStephen Shaw RENEWAL
Mayumi D StensethArgentinaBernardo Dominic UNQUALIFIED
Leon L CaldareraJapanIvan Magalhaes NEGOTIATION
Aditya X CaudyCanadaIvan Magalhaes NEGOTIATION
Kadeem V DarakjyUnited KingdomBernardo Dominic RENEWAL
Sinclair R AmigonCanadaAnna Fali RENEWAL
Sinclair Q FlosiCanadaOnyama Limba QUALIFIED
Ricardo Z StockhamAustraliaIvan Magalhaes NEW
Adams G SaylorsItalyElwin Sharvill UNQUALIFIED
Munro W GlickIndiaAsiya Javayant UNQUALIFIED
Salvatore C ButtAustraliaElwin Sharvill PROPOSAL
Chavez D MaletUnited KingdomAsiya Javayant QUALIFIED
David Z RutaJapanOnyama Limba NEW
Morrow H CampainSpainBernardo Dominic UNQUALIFIED
Izzy U CaudyRussiaOnyama Limba NEW
Alejandro D OldroydCanadaAsiya Javayant NEW
Antonio C AmigonJapanElwin Sharvill RENEWAL
Misaki A GarufiGermanyXuxue Feng UNQUALIFIED
Faith B BowleyArgentinaBernardo Dominic NEGOTIATION
Aika H InouyeGermanyXuxue Feng PROPOSAL
Johnson U GillianItalyStephen Shaw UNQUALIFIED
Mujtaba D ShinkoItalyOnyama Limba RENEWAL
Kadeem V WaycottCanadaStephen Shaw UNQUALIFIED
Costa G FigeroaSpainIoni Bowcher QUALIFIED
Julie T WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Maria U StockhamItalyStephen Shaw UNQUALIFIED
Munro Y AlbaresJapanXuxue Feng PROPOSAL
Nicolas Z MarrierUnited KingdomXuxue Feng UNQUALIFIED
Murillo C PoquetteBrazilXuxue Feng UNQUALIFIED
James I MaletAustraliaIvan Magalhaes PROPOSAL
Ashley U CaldareraSpainOnyama Limba PROPOSAL
Emily H DarakjyFranceElwin Sharvill NEW
David Z CaldareraAustraliaStephen Shaw UNQUALIFIED
Ivar W NickaArgentinaStephen Shaw NEGOTIATION
Munro Y KolmetzItalyStephen Shaw PROPOSAL
Ashley D BowleyFranceAnna Fali QUALIFIED
Tony A GauchoJapanElwin Sharvill NEGOTIATION
Frozen Columns
Name
Arvin O Rulapaugh
Silvio V Wieser
Emily P Ruta
Jeanfrancois F Caudy
Francesco H Rim
Sinclair V Ostrosky
Aruna W Wieser
Jones K Albares
Alejandro R Wieser
Adams O Shinko
Deepesh B Glick
Aruna I Doe
Leon N Wieser
Sinclair O Rulapaugh
Alejandro O Flosi
Francesco R Briddick
Mayumi M Whobrey
Isabel R Foller
Munro T Glick
Juan Z Venere
Aditya D Wieser
Nicolas E Morasca
Smith X Bowley
Julie P Poquette
Ashley V Malet
Adams K Glick
Mayumi P Amigon
Izzy L Doe
Antonio R Waycott
Mayumi M Poquette
Adams B Dilliard
David D Ferencz
Munro H Ferencz
Sinclair K Paprocki
Smith Y Foller
Greenwood E Vocelka
Mayumi Z Malet
Darci O Foller
Jefferson G Briddick
Ivar X Inouye
Kaitlin H Paprocki
Rodrigues B Rulapaugh
Smith Z Morasca
Tony C Slusarski
Jeanfrancois S Royster
Faith G Caldarera
Johnson Q Morasca
Smith G Flosi
James H Saylors
Kadeem W Oldroyd
IdCountryDate
1000India2026-09-21
1001India2026-09-21
1002United Kingdom2026-09-16
1003Japan2026-08-31
1004Argentina2026-09-08
1005Italy2026-09-02
1006Spain2026-09-24
1007Japan2026-09-17
1008United Kingdom2026-09-08
1009Canada2026-09-05
1010Italy2026-09-05
1011Japan2026-09-05
1012France2026-09-09
1013Australia2026-09-06
1014Argentina2026-09-19
1015United Kingdom2026-09-10
1016Brazil2026-09-23
1017Italy2026-09-06
1018Canada2026-09-22
1019Australia2026-09-24
1020India2026-09-03
1021Australia2026-09-03
1022United Kingdom2026-09-27
1023Canada2026-08-31
1024Germany2026-09-25
1025Australia2026-09-11
1026Spain2026-09-01
1027Germany2026-09-29
1028Australia2026-09-26
1029Russia2026-09-01
1030Spain2026-09-07
1031Canada2026-09-08
1032Russia2026-09-28
1033India2026-09-29
1034Canada2026-09-09
1035United Kingdom2026-09-06
1036Canada2026-09-17
1037Russia2026-09-20
1038Russia2026-09-26
1039Australia2026-09-02
1040Brazil2026-09-06
1041France2026-09-12
1042France2026-09-21
1043Spain2026-09-22
1044Germany2026-09-20
1045Russia2026-09-28
1046Japan2026-09-16
1047Russia2026-09-17
1048Japan2026-09-08
1049Australia2026-09-09

On-Demand Data

NameIdCountryDate
Chavez J Butt1000Canada2026-09-05
Ashley T Morasca1001Brazil2026-09-09
Cody F Whobrey1002Brazil2026-09-02
Johnson B Waycott1003Germany2026-09-23
Mujtaba I Rulapaugh1004Brazil2026-09-14
Stacey G Kusko1005France2026-09-17
Costa O Schemmer1006Germany2026-09-21
Kadeem E Morasca1007Italy2026-09-20
Kaitlin U Whobrey1008Russia2026-09-04
Jones P Doe1009Germany2026-09-02
Emily C Malet1010Australia2026-09-10
Emily Z Slusarski1011Australia2026-09-21
Rodrigues W Stockham1012Germany2026-09-12
Stacey K Nicka1013Canada2026-09-18
David Q Waycott1014Spain2026-09-11
Octavia A Waycott1015Canada2026-09-29
Ricardo N Oldroyd1016India2026-09-06
Sinclair E Dilliard1017Russia2026-09-20
Jennifer C Dilliard1018United Kingdom2026-09-10
Leja F Inouye1019Japan2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar V GlickAustraliaAnna Fali RENEWAL
Aika O PoquetteFranceIoni Bowcher RENEWAL
Adams K StensethItalyIvan Magalhaes PROPOSAL
Maisha V AmigonIndiaOnyama Limba PROPOSAL
Aditya Y IturbideUnited KingdomAsiya Javayant RENEWAL
Rodrigues V StockhamRussiaOnyama Limba NEW
Adams B RoysterAustraliaIoni Bowcher PROPOSAL
Costa J TollnerFranceOnyama Limba RENEWAL
Leja E IturbideSpainAnna Fali QUALIFIED
Ricardo G DoeItalyXuxue Feng PROPOSAL
Leon U ChuiCanadaIoni Bowcher PROPOSAL
Aditya E VenereJapanOnyama Limba QUALIFIED
Nicolas O MaletJapanAnna Fali PROPOSAL
David W GillianSpainOnyama Limba UNQUALIFIED
Nicolas G GarufiJapanAmy Elsner NEGOTIATION
Costa J DilliardGermanyElwin Sharvill PROPOSAL
Morrow C PerinGermanyXuxue Feng UNQUALIFIED
Kaitlin V CampainBrazilBernardo Dominic UNQUALIFIED
Morrow M WieserSpainIvan Magalhaes PROPOSAL
Darci L MaletFranceAnna Fali UNQUALIFIED
Maisha I MacleadItalyXuxue Feng QUALIFIED
Maria P TollnerArgentinaStephen Shaw UNQUALIFIED
Misaki C WhobreyAustraliaBernardo Dominic UNQUALIFIED
Ricardo H OldroydGermanyIoni Bowcher NEW
Julie D OstroskyBrazilAnna Fali NEGOTIATION
Costa U CampainRussiaAnna Fali UNQUALIFIED
Silvio E OldroydUnited KingdomElwin Sharvill RENEWAL
Ricardo M MacleadGermanyBernardo Dominic NEW
Cody C RimGermanyAnna Fali RENEWAL
Rodrigues L CaldareraCanadaIvan Magalhaes UNQUALIFIED
Claire J IturbideRussiaIoni Bowcher QUALIFIED
Izzy T NickaGermanyStephen Shaw QUALIFIED
Alejandro A RulapaughAustraliaOnyama Limba PROPOSAL
Maisha Y NestleArgentinaBernardo Dominic UNQUALIFIED
Aika T GillianCanadaAnna Fali NEGOTIATION
Sinclair P InouyeBrazilAsiya Javayant QUALIFIED
Aika B SlusarskiFranceBernardo Dominic QUALIFIED
Maisha H KolmetzSpainStephen Shaw UNQUALIFIED
Deepesh X FerenczGermanyAnna Fali NEW
Munro Q SaylorsAustraliaStephen Shaw 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>