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
Sinclair R TollnerRussiaAnna Fali NEGOTIATION
Jennifer V DoeUnited KingdomIoni Bowcher NEW
Silvio I SaylorsGermanyXuxue Feng QUALIFIED
Nicolas P AmigonBrazilOnyama Limba NEGOTIATION
Jefferson Q MaletGermanyElwin Sharvill RENEWAL
Francesco J OstroskyJapanAsiya Javayant RENEWAL
Aruna Z SergiIndiaElwin Sharvill NEW
Ivar M WhobreyJapanBernardo Dominic NEGOTIATION
Costa E PoquetteIndiaAmy Elsner QUALIFIED
Alejandro V MacleadItalyIvan Magalhaes NEW
Sinclair B CaudyUnited KingdomElwin Sharvill UNQUALIFIED
Wickens K IturbideGermanyStephen Shaw RENEWAL
Wickens B SlusarskiRussiaXuxue Feng QUALIFIED
Wickens P AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford E ShinkoItalyOnyama Limba NEW
Aditya A SlusarskiBrazilAnna Fali UNQUALIFIED
Ricardo U ShinkoArgentinaIvan Magalhaes QUALIFIED
Sinclair A AmigonSpainOnyama Limba UNQUALIFIED
Octavia T DarakjyFranceAsiya Javayant NEW
Ivar K GillianBrazilAnna Fali NEGOTIATION
Leja E RimIndiaOnyama Limba PROPOSAL
Munro K StensethGermanyIvan Magalhaes QUALIFIED
Izzy G AlbaresAustraliaElwin Sharvill QUALIFIED
Nicolas R GarufiBrazilElwin Sharvill NEW
Wickens N PerinUnited KingdomXuxue Feng UNQUALIFIED
Tony T OstroskyJapanAmy Elsner QUALIFIED
Clifford D BowleyCanadaBernardo Dominic NEGOTIATION
Morrow B NickaFranceAmy Elsner UNQUALIFIED
Munro Z RutaUnited KingdomAnna Fali QUALIFIED
Octavia O DarakjyItalyStephen Shaw NEGOTIATION
Stacey M MaletAustraliaOnyama Limba QUALIFIED
Rodrigues R SaylorsFranceAsiya Javayant QUALIFIED
Octavia V MorascaJapanStephen Shaw UNQUALIFIED
Jefferson D AlbaresSpainElwin Sharvill NEGOTIATION
Misaki Z TollnerUnited KingdomBernardo Dominic RENEWAL
Darci N FerenczCanadaIvan Magalhaes UNQUALIFIED
Adams J ShinkoRussiaAsiya Javayant UNQUALIFIED
Emily C InouyeBrazilIoni Bowcher PROPOSAL
David M VocelkaBrazilStephen Shaw RENEWAL
Stacey U RimCanadaIvan Magalhaes NEW
Jennifer H NickaRussiaAmy Elsner NEGOTIATION
Julie Q AmigonBrazilElwin Sharvill QUALIFIED
Ivar C DilliardFranceElwin Sharvill NEW
Emily S RutaUnited KingdomBernardo Dominic PROPOSAL
Octavia A MaletJapanElwin Sharvill PROPOSAL
Deepesh P SchemmerSpainIvan Magalhaes UNQUALIFIED
Isabel B WhobreyAustraliaAsiya Javayant PROPOSAL
Leja M OstroskyCanadaIoni Bowcher RENEWAL
Jones H WieserRussiaAnna Fali PROPOSAL
Antonio M FlosiAustraliaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Sinclair J StensethIndiaAsiya Javayant QUALIFIED
Mayumi O PerinGermanyXuxue Feng QUALIFIED
Mujtaba T KuskoFranceAnna Fali QUALIFIED
Silvio D ChuiIndiaIvan Magalhaes RENEWAL
Izzy E PerinArgentinaAnna Fali RENEWAL
David A SlusarskiCanadaIvan Magalhaes PROPOSAL
Darci B StockhamBrazilIoni Bowcher RENEWAL
Izzy V ShinkoItalyIvan Magalhaes NEGOTIATION
Francesco G MaletJapanIoni Bowcher NEW
Aruna U RutaGermanyBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David H KolmetzGermany2026-09-29Chemel, James L Cpa NEGOTIATION2Onyama Limba
1001Greenwood E FlosiBrazil2026-09-19Chanay, Jeffrey A Esq PROPOSAL49Elwin Sharvill
1002Adams C ButtItaly2026-09-13Dorl, James J Esq RENEWAL35Xuxue Feng
1003Alejandro J OstroskyIndia2026-09-13Truhlar And Truhlar Attys NEGOTIATION33Asiya Javayant
1004Leon G CampainFrance2026-09-08Feiner Bros NEGOTIATION88Stephen Shaw
1005Munro O BriddickUnited Kingdom2026-09-08Dorl, James J Esq NEW62Amy Elsner
1006Silvio E FigeroaBrazil2026-10-02King, Christopher A Esq PROPOSAL58Bernardo Dominic
1007Jeanfrancois V FlosiBrazil2026-09-16Chapman, Ross E Esq QUALIFIED70Amy Elsner
1008Octavia N TollnerIndia2026-09-15Rousseaux, Michael Esq PROPOSAL24Stephen Shaw
1009Emily T OldroydUnited Kingdom2026-09-19Chemel, James L Cpa RENEWAL70Xuxue Feng
1010Octavia A GillianCanada2026-09-26Truhlar And Truhlar Attys NEW65Ivan Magalhaes
1011Costa A GillianBrazil2026-09-30Feiner Bros NEGOTIATION77Stephen Shaw
1012Izzy Q SlusarskiUnited Kingdom2026-09-24Chapman, Ross E Esq QUALIFIED58Elwin Sharvill
1013Greenwood Z RimBrazil2026-10-03Buckley Miller Wright PROPOSAL10Anna Fali
1014Sinclair F SaylorsFrance2026-10-04King, Christopher A Esq QUALIFIED37Anna Fali
1015Ricardo L GauchoBrazil2026-09-11Rangoni Of Florence UNQUALIFIED19Asiya Javayant
1016Aika N SchemmerAustralia2026-09-28Printing Dimensions PROPOSAL22Xuxue Feng
1017Aditya Z WieserArgentina2026-09-09Feltz Printing Service UNQUALIFIED69Anna Fali
1018Greenwood B DilliardBrazil2026-09-11Printing Dimensions NEGOTIATION51Elwin Sharvill
1019Isabel K NestleCanada2026-09-23Chanay, Jeffrey A Esq NEW90Ivan Magalhaes
1020Salvatore O MaletAustralia2026-09-19Chanay, Jeffrey A Esq NEW13Xuxue Feng
1021Julie E SaylorsCanada2026-09-14Dorl, James J Esq QUALIFIED67Bernardo Dominic
1022Antonio V RutaItaly2026-09-25Chapman, Ross E Esq NEGOTIATION52Onyama Limba
1023Chavez X AmigonRussia2026-09-11Rangoni Of Florence PROPOSAL22Stephen Shaw
1024Jefferson D IturbideItaly2026-10-05Chapman, Ross E Esq PROPOSAL15Ivan Magalhaes
1025James K MaletCanada2026-09-10Chapman, Ross E Esq NEW17Ivan Magalhaes
1026Aruna S TollnerFrance2026-09-06Morlong Associates PROPOSAL74Elwin Sharvill
1027Adams Y SchemmerItaly2026-09-16Printing Dimensions RENEWAL74Bernardo Dominic
1028Nicolas D DarakjySpain2026-10-04Morlong Associates UNQUALIFIED78Stephen Shaw
1029Mujtaba Z PaprockiJapan2026-09-21Dorl, James J Esq NEGOTIATION32Asiya Javayant
1030Murillo X RulapaughFrance2026-09-16Dorl, James J Esq PROPOSAL28Amy Elsner
1031Arvin K GarufiAustralia2026-09-20Chanay, Jeffrey A Esq UNQUALIFIED99Ivan Magalhaes
1032Chavez L ShinkoArgentina2026-09-23Commercial Press NEW54Onyama Limba
1033Juan O SaylorsBrazil2026-09-06Truhlar And Truhlar Attys QUALIFIED53Ioni Bowcher
1034Mujtaba D WaycottSpain2026-09-12Chemel, James L Cpa QUALIFIED92Xuxue Feng
1035Jeanfrancois K FerenczRussia2026-09-15Benton, John B Jr RENEWAL30Ioni Bowcher
1036Aditya P GlickItaly2026-09-29Dorl, James J Esq QUALIFIED68Amy Elsner
1037Rodrigues N AlbaresGermany2026-09-09Printing Dimensions UNQUALIFIED58Onyama Limba
1038Julie U PoquetteCanada2026-09-15Feiner Bros NEW31Bernardo Dominic
1039Tony B KolmetzAustralia2026-10-03Feiner Bros NEW82Anna Fali
1040Cody U SchemmerCanada2026-09-22Commercial Press RENEWAL59Anna Fali
1041Sinclair B BowleyJapan2026-09-11Morlong Associates RENEWAL31Elwin Sharvill
1042Clifford D StockhamArgentina2026-09-17Printing Dimensions NEGOTIATION39Ivan Magalhaes
1043Arvin L OstroskyJapan2026-10-04Chanay, Jeffrey A Esq RENEWAL99Elwin Sharvill
1044David E SchemmerSpain2026-09-07Chapman, Ross E Esq NEGOTIATION44Anna Fali
1045Faith F GillianJapan2026-09-08Commercial Press QUALIFIED83Amy Elsner
1046Clifford D NestleRussia2026-09-06Benton, John B Jr QUALIFIED62Stephen Shaw
1047Antonio V FlosiSpain2026-10-04Rangoni Of Florence UNQUALIFIED68Bernardo Dominic
1048Juan T SergiJapan2026-09-28King, Christopher A Esq RENEWAL63Stephen Shaw
1049Alejandro I SaylorsJapan2026-10-02Rousseaux, Michael Esq PROPOSAL16Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Salvatore G RulapaughSpainXuxue Feng RENEWAL
Johnson Q FollerAustraliaXuxue Feng QUALIFIED
Emily G GlickJapanOnyama Limba NEW
Aika M MorascaUnited KingdomXuxue Feng PROPOSAL
Smith O SchemmerJapanIoni Bowcher NEW
Jones L StensethJapanIoni Bowcher QUALIFIED
Ricardo E WhobreyUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba E IturbideAustraliaAsiya Javayant RENEWAL
Juan Q ButtBrazilStephen Shaw NEW
Emily F PaprockiArgentinaBernardo Dominic QUALIFIED
Jones L MaletJapanBernardo Dominic UNQUALIFIED
Isabel K SergiSpainAmy Elsner UNQUALIFIED
Kadeem Z DarakjyIndiaIvan Magalhaes RENEWAL
Juan D FerenczGermanyStephen Shaw NEGOTIATION
Chavez O SchemmerCanadaIoni Bowcher NEW
Ivar G RulapaughRussiaIoni Bowcher PROPOSAL
Silvio I RulapaughAustraliaStephen Shaw UNQUALIFIED
Julie U RoysterSpainOnyama Limba NEW
Mayumi L DilliardJapanOnyama Limba UNQUALIFIED
Johnson M VenereAustraliaIoni Bowcher UNQUALIFIED
Jennifer N AmigonRussiaAnna Fali QUALIFIED
Cody G FollerItalyAmy Elsner QUALIFIED
Tony Y FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Misaki U KolmetzAustraliaAmy Elsner RENEWAL
Rodrigues F GillianItalyElwin Sharvill RENEWAL
Misaki F FlosiArgentinaBernardo Dominic NEW
James K FlosiRussiaIoni Bowcher UNQUALIFIED
Jennifer F DoeBrazilAsiya Javayant UNQUALIFIED
Mayumi E PoquetteJapanAsiya Javayant NEGOTIATION
Darci R BowleyAustraliaAnna Fali UNQUALIFIED
Murillo U MorascaCanadaIoni Bowcher QUALIFIED
Emily E AlbaresJapanBernardo Dominic PROPOSAL
Izzy H SergiAustraliaStephen Shaw PROPOSAL
Izzy E VenereJapanIoni Bowcher UNQUALIFIED
Jefferson A InouyeRussiaAsiya Javayant NEW
Claire D OstroskyUnited KingdomAmy Elsner QUALIFIED
Munro C DoeIndiaElwin Sharvill NEW
Chavez T WaycottRussiaOnyama Limba PROPOSAL
Murillo Y BologniaIndiaStephen Shaw RENEWAL
Ricardo T FollerGermanyAnna Fali PROPOSAL
Emily P AlbaresGermanyElwin Sharvill PROPOSAL
Leon U GillianSpainAnna Fali NEW
Chavez F AlbaresArgentinaXuxue Feng PROPOSAL
Leja R RulapaughCanadaAnna Fali UNQUALIFIED
Jones D MacleadUnited KingdomIvan Magalhaes QUALIFIED
Clifford T MaletArgentinaAmy Elsner QUALIFIED
Wickens P NickaFranceAnna Fali UNQUALIFIED
Octavia O BowleyGermanyOnyama Limba RENEWAL
Jennifer C GillianIndiaAnna Fali QUALIFIED
Johnson B WhobreyRussiaAsiya Javayant PROPOSAL
Frozen Columns
Name
Jeanfrancois S Perin
Emily W Foller
Leon A Slusarski
Alejandro I Butt
Kadeem C Ferencz
Salvatore H Inouye
Smith Z Figeroa
Misaki P Malet
Aditya G Vocelka
Munro F Glick
Clifford S Gillian
Kaitlin V Malet
David G Ferencz
Juan V Campain
Stacey W Marrier
Tony R Malet
Greenwood Z Caudy
Cody L Morasca
David L Foller
Kaitlin Z Darakjy
Leja P Sergi
Mayumi S Oldroyd
Wickens T Kusko
Adams S Oldroyd
Aditya P Doe
Isabel J Ferencz
Ashley V Bolognia
Aika W Sergi
Ashley T Maclead
Mayumi X Briddick
Costa X Venere
Cody K Slusarski
Clifford L Ferencz
Wickens I Whobrey
Octavia C Ostrosky
Octavia M Waycott
Munro K Garufi
Chavez J Oldroyd
Kadeem E Ruta
Stacey U Nestle
Wickens H Campain
Silvio W Tollner
Antonio Q Morasca
Silvio U Figeroa
Rodrigues Y Gillian
Smith A Rim
Murillo I Whobrey
Maisha B Morasca
Salvatore H Ostrosky
Ricardo I Morasca
IdCountryDate
1000Canada2026-09-14
1001India2026-09-11
1002France2026-09-18
1003Australia2026-10-05
1004India2026-09-30
1005Italy2026-09-21
1006France2026-09-25
1007Italy2026-09-11
1008Russia2026-09-09
1009Argentina2026-09-29
1010Brazil2026-10-05
1011Germany2026-09-23
1012Argentina2026-09-10
1013Italy2026-09-11
1014Canada2026-09-29
1015Russia2026-09-08
1016Spain2026-09-11
1017Japan2026-09-17
1018United Kingdom2026-10-03
1019United Kingdom2026-10-05
1020United Kingdom2026-09-07
1021United Kingdom2026-09-07
1022Brazil2026-09-26
1023France2026-09-06
1024Canada2026-09-22
1025United Kingdom2026-09-06
1026India2026-09-25
1027Brazil2026-09-12
1028United Kingdom2026-09-19
1029Australia2026-09-15
1030Germany2026-09-25
1031Canada2026-09-09
1032France2026-09-22
1033Germany2026-09-10
1034India2026-09-14
1035France2026-09-08
1036India2026-10-03
1037Brazil2026-10-05
1038Japan2026-09-20
1039Italy2026-09-16
1040Australia2026-09-17
1041Italy2026-09-25
1042Spain2026-10-05
1043Russia2026-09-18
1044Brazil2026-10-03
1045Canada2026-09-15
1046India2026-09-27
1047Italy2026-09-09
1048India2026-09-16
1049India2026-09-07

On-Demand Data

NameIdCountryDate
Jennifer W Nestle1000Spain2026-10-05
Claire V Oldroyd1001France2026-09-21
James K Iturbide1002Germany2026-09-30
Aditya J Dilliard1003Japan2026-09-22
Rodrigues N Gaucho1004Canada2026-09-07
Jennifer O Doe1005India2026-10-03
Claire N Nicka1006Germany2026-09-24
Julie X Garufi1007Canada2026-09-26
Silvio I Garufi1008France2026-09-22
Kadeem F Figeroa1009United Kingdom2026-09-27
James N Shinko1010Brazil2026-09-15
Antonio D Gaucho1011United Kingdom2026-09-16
Arvin J Amigon1012Italy2026-09-24
Adams E Figeroa1013Canada2026-09-28
Nicolas G Inouye1014France2026-09-16
Julie J Malet1015Japan2026-09-10
Smith W Slusarski1016United Kingdom2026-09-21
Kadeem S Slusarski1017Italy2026-09-06
Johnson L Darakjy1018India2026-09-28
Faith O Venere1019India2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem K SergiCanadaStephen Shaw UNQUALIFIED
Adams C KolmetzJapanIoni Bowcher NEW
Morrow I MaletRussiaBernardo Dominic QUALIFIED
Smith A MarrierCanadaAnna Fali RENEWAL
Kadeem F CaldareraCanadaBernardo Dominic PROPOSAL
Aika A KuskoArgentinaStephen Shaw RENEWAL
Rodrigues T KolmetzIndiaOnyama Limba NEW
Kaitlin Q WaycottAustraliaOnyama Limba NEGOTIATION
Arvin Y PoquetteArgentinaAsiya Javayant QUALIFIED
Antonio X MaletJapanAnna Fali NEGOTIATION
Ivar G RoysterItalyIvan Magalhaes NEW
Salvatore F VenereAustraliaElwin Sharvill RENEWAL
Wickens W ButtArgentinaStephen Shaw UNQUALIFIED
Adams I NestleUnited KingdomStephen Shaw RENEWAL
Leon U MaletCanadaAsiya Javayant QUALIFIED
Salvatore I StensethSpainIvan Magalhaes NEW
Leon Z OstroskyItalyXuxue Feng NEGOTIATION
Mayumi H InouyeArgentinaElwin Sharvill PROPOSAL
Rodrigues G MorascaUnited KingdomIoni Bowcher NEGOTIATION
Maisha I ShinkoFranceIvan Magalhaes RENEWAL
Stacey Y DarakjyGermanyIoni Bowcher PROPOSAL
Ricardo Z AlbaresSpainAnna Fali PROPOSAL
Antonio H WhobreySpainBernardo Dominic RENEWAL
Stacey F VocelkaJapanAsiya Javayant PROPOSAL
Morrow B PaprockiJapanStephen Shaw RENEWAL
Jennifer G AmigonUnited KingdomIvan Magalhaes PROPOSAL
Adams W RulapaughGermanyIoni Bowcher RENEWAL
Salvatore N CaldareraArgentinaOnyama Limba NEGOTIATION
Johnson U BologniaBrazilBernardo Dominic QUALIFIED
James U BologniaItalyIvan Magalhaes PROPOSAL
Maria B FigeroaIndiaStephen Shaw UNQUALIFIED
Maisha T GlickArgentinaIvan Magalhaes UNQUALIFIED
Morrow D WieserIndiaXuxue Feng PROPOSAL
Izzy P GarufiUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi T KolmetzRussiaAmy Elsner NEW
Jeanfrancois D StensethIndiaIvan Magalhaes QUALIFIED
Kadeem D AlbaresAustraliaXuxue Feng QUALIFIED
David Z BowleyGermanyElwin Sharvill NEW
David H GauchoGermanyXuxue Feng UNQUALIFIED
Nicolas F GauchoIndiaAnna Fali 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>