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
Leja V SergiCanadaAsiya Javayant RENEWAL
Aditya Y TollnerFranceIvan Magalhaes NEW
Nicolas P GillianIndiaBernardo Dominic QUALIFIED
Isabel F PaprockiIndiaXuxue Feng PROPOSAL
Mujtaba O WieserFranceElwin Sharvill NEW
Smith A DilliardSpainOnyama Limba PROPOSAL
Aika T GauchoUnited KingdomIoni Bowcher UNQUALIFIED
David K OstroskyRussiaIoni Bowcher PROPOSAL
Misaki G ButtBrazilElwin Sharvill UNQUALIFIED
Francesco H StensethSpainIvan Magalhaes NEGOTIATION
James L DilliardBrazilAmy Elsner NEGOTIATION
Rodrigues K NestleArgentinaAnna Fali NEW
Sinclair M MaletCanadaElwin Sharvill RENEWAL
Johnson T GillianRussiaIoni Bowcher UNQUALIFIED
Cody L AlbaresSpainAmy Elsner RENEWAL
Nicolas Q GauchoArgentinaIoni Bowcher RENEWAL
Morrow F DoeAustraliaXuxue Feng PROPOSAL
Izzy T BowleyItalyXuxue Feng NEW
Smith Y KolmetzRussiaAmy Elsner PROPOSAL
Arvin E MaletFranceOnyama Limba RENEWAL
Morrow S IturbideFranceAnna Fali QUALIFIED
Arvin Y RulapaughBrazilIoni Bowcher PROPOSAL
Claire I PerinBrazilElwin Sharvill NEGOTIATION
Morrow M ShinkoFranceAnna Fali NEW
Faith F MarrierItalyOnyama Limba PROPOSAL
Francesco N SchemmerIndiaElwin Sharvill NEW
Maria M CampainSpainElwin Sharvill NEGOTIATION
Misaki H MaletBrazilXuxue Feng NEW
Alejandro M NickaBrazilBernardo Dominic RENEWAL
Adams D FollerGermanyStephen Shaw NEGOTIATION
Darci D SlusarskiGermanyElwin Sharvill NEGOTIATION
Octavia L KolmetzBrazilAmy Elsner NEGOTIATION
Deepesh M BologniaIndiaIvan Magalhaes NEW
Kaitlin O RimGermanyAmy Elsner UNQUALIFIED
Leon C PoquetteArgentinaStephen Shaw NEW
Adams X DarakjyAustraliaAsiya Javayant RENEWAL
Claire P MarrierSpainAmy Elsner PROPOSAL
Johnson J NickaIndiaAnna Fali NEGOTIATION
Morrow J AlbaresUnited KingdomXuxue Feng UNQUALIFIED
Smith P DarakjySpainAsiya Javayant NEW
Greenwood P MaletSpainAmy Elsner UNQUALIFIED
Faith H WaycottGermanyAnna Fali NEGOTIATION
James G OstroskyRussiaAnna Fali UNQUALIFIED
Antonio G MarrierJapanElwin Sharvill PROPOSAL
Mayumi Z PaprockiArgentinaBernardo Dominic RENEWAL
Salvatore J OstroskyBrazilIoni Bowcher PROPOSAL
Greenwood P MarrierIndiaIvan Magalhaes RENEWAL
Francesco Q KuskoCanadaOnyama Limba RENEWAL
Sinclair V MaletGermanyIvan Magalhaes NEW
Kaitlin B KolmetzRussiaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Costa H PerinCanadaOnyama Limba NEGOTIATION
Aruna E BriddickGermanyStephen Shaw NEW
Stacey N BologniaJapanElwin Sharvill QUALIFIED
Alejandro C BologniaSpainBernardo Dominic PROPOSAL
Cody J MorascaSpainIoni Bowcher UNQUALIFIED
Ivar Y MorascaUnited KingdomAmy Elsner QUALIFIED
Izzy H IturbideJapanAsiya Javayant QUALIFIED
Ashley Z TollnerRussiaElwin Sharvill NEW
Costa M CaudyBrazilElwin Sharvill QUALIFIED
Jones R FollerJapanOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia C OstroskyBrazil2026-10-19Buckley Miller Wright QUALIFIED32Asiya Javayant
1001Faith F BologniaRussia2026-10-04Morlong Associates NEW78Anna Fali
1002Adams J NestleGermany2026-10-19Benton, John B Jr NEW24Asiya Javayant
1003Ivar C SchemmerJapan2026-10-01Commercial Press UNQUALIFIED29Onyama Limba
1004Octavia B ChuiSpain2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED25Elwin Sharvill
1005Costa F AmigonIndia2026-10-21Feltz Printing Service RENEWAL26Xuxue Feng
1006Greenwood V RutaAustralia2026-10-18Dorl, James J Esq PROPOSAL29Amy Elsner
1007Deepesh J VocelkaCanada2026-09-28Truhlar And Truhlar Attys NEGOTIATION34Anna Fali
1008Kadeem V PerinItaly2026-10-07Rangoni Of Florence PROPOSAL8Bernardo Dominic
1009David R OstroskyGermany2026-09-26Buckley Miller Wright QUALIFIED77Onyama Limba
1010Aruna F ButtSpain2026-10-24Feltz Printing Service RENEWAL18Anna Fali
1011Ivar W WhobreyCanada2026-10-13Morlong Associates UNQUALIFIED88Ioni Bowcher
1012Jennifer J GillianBrazil2026-10-20Rangoni Of Florence UNQUALIFIED65Xuxue Feng
1013Adams H CaldareraUnited Kingdom2026-10-10Printing Dimensions QUALIFIED13Anna Fali
1014Stacey D MaletAustralia2026-09-28Chanay, Jeffrey A Esq RENEWAL17Asiya Javayant
1015Aika L VenereRussia2026-09-29Rangoni Of Florence QUALIFIED37Anna Fali
1016Rodrigues O FerenczArgentina2026-10-15Chanay, Jeffrey A Esq QUALIFIED63Elwin Sharvill
1017Kadeem E MaletRussia2026-10-04Rousseaux, Michael Esq UNQUALIFIED45Anna Fali
1018Johnson H RutaUnited Kingdom2026-10-05Chemel, James L Cpa PROPOSAL40Elwin Sharvill
1019Jeanfrancois L KolmetzRussia2026-09-29Feltz Printing Service UNQUALIFIED66Ioni Bowcher
1020Smith E DoeCanada2026-10-16King, Christopher A Esq UNQUALIFIED27Ivan Magalhaes
1021Juan O BowleyJapan2026-10-16Rousseaux, Michael Esq NEW35Xuxue Feng
1022Jennifer P OldroydCanada2026-10-04Chemel, James L Cpa NEGOTIATION92Anna Fali
1023Mujtaba L FlosiUnited Kingdom2026-09-29Printing Dimensions UNQUALIFIED29Ioni Bowcher
1024Costa W NickaGermany2026-09-28Truhlar And Truhlar Attys NEW35Bernardo Dominic
1025Jefferson Q GlickCanada2026-10-19Buckley Miller Wright NEGOTIATION70Ioni Bowcher
1026Claire I NickaIndia2026-10-05King, Christopher A Esq UNQUALIFIED51Anna Fali
1027Kaitlin R GarufiGermany2026-10-23Feltz Printing Service NEGOTIATION97Xuxue Feng
1028Julie D SergiSpain2026-10-12Rangoni Of Florence RENEWAL63Anna Fali
1029Wickens B RulapaughFrance2026-10-04Feiner Bros RENEWAL93Stephen Shaw
1030Jeanfrancois N AmigonSpain2026-10-01Rousseaux, Michael Esq NEW94Onyama Limba
1031Maisha A VocelkaUnited Kingdom2026-10-13Printing Dimensions QUALIFIED34Elwin Sharvill
1032Izzy S CaldareraCanada2026-10-21Morlong Associates RENEWAL48Elwin Sharvill
1033Rodrigues Q InouyeFrance2026-09-25Truhlar And Truhlar Attys QUALIFIED28Stephen Shaw
1034Mayumi U MaletFrance2026-09-26King, Christopher A Esq UNQUALIFIED68Ioni Bowcher
1035Sinclair V KolmetzSpain2026-09-26Chanay, Jeffrey A Esq RENEWAL92Bernardo Dominic
1036Kadeem T WieserGermany2026-10-06Chanay, Jeffrey A Esq QUALIFIED52Bernardo Dominic
1037Tony M DarakjyGermany2026-10-01Printing Dimensions QUALIFIED46Anna Fali
1038Greenwood Z GarufiAustralia2026-10-22Printing Dimensions NEGOTIATION48Ivan Magalhaes
1039Jennifer X MaletIndia2026-10-17Feltz Printing Service UNQUALIFIED18Bernardo Dominic
1040Francesco E PaprockiBrazil2026-09-29Morlong Associates PROPOSAL19Elwin Sharvill
1041Ivar J ShinkoCanada2026-09-28Feiner Bros PROPOSAL41Onyama Limba
1042Leon J IturbideCanada2026-09-25Rangoni Of Florence QUALIFIED88Amy Elsner
1043Ricardo E SaylorsJapan2026-10-09King, Christopher A Esq UNQUALIFIED67Asiya Javayant
1044Isabel N VocelkaArgentina2026-10-01Chapman, Ross E Esq NEGOTIATION3Stephen Shaw
1045Ivar M MaletUnited Kingdom2026-09-28Chemel, James L Cpa NEGOTIATION92Xuxue Feng
1046Cody S CampainBrazil2026-10-06Commercial Press NEW36Onyama Limba
1047Sinclair M CampainSpain2026-10-13Dorl, James J Esq QUALIFIED35Anna Fali
1048Mujtaba T FerenczAustralia2026-09-27Rangoni Of Florence RENEWAL73Bernardo Dominic
1049Deepesh L StockhamRussia2026-09-26Chapman, Ross E Esq UNQUALIFIED54Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Murillo W NickaIndiaIvan Magalhaes PROPOSAL
Greenwood A NestleBrazilIoni Bowcher NEGOTIATION
Kadeem U WaycottAustraliaAsiya Javayant PROPOSAL
Stacey L InouyeAustraliaElwin Sharvill RENEWAL
Munro G DarakjyFranceAsiya Javayant NEGOTIATION
Stacey K MaletCanadaIoni Bowcher RENEWAL
Smith W AlbaresUnited KingdomIoni Bowcher QUALIFIED
Smith P VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Greenwood F FlosiUnited KingdomXuxue Feng PROPOSAL
Darci I IturbideBrazilBernardo Dominic NEW
Mujtaba L CaldareraRussiaAsiya Javayant QUALIFIED
Ashley X SchemmerItalyIvan Magalhaes QUALIFIED
Jennifer L WieserItalyStephen Shaw NEGOTIATION
Darci O SaylorsIndiaBernardo Dominic NEGOTIATION
Antonio J TollnerIndiaAnna Fali QUALIFIED
Jeanfrancois W MaletBrazilIoni Bowcher UNQUALIFIED
Darci H BologniaUnited KingdomXuxue Feng NEGOTIATION
Claire K BowleyFranceStephen Shaw RENEWAL
Maria O StensethFranceElwin Sharvill QUALIFIED
Stacey A DilliardFranceElwin Sharvill QUALIFIED
Murillo L GillianRussiaElwin Sharvill UNQUALIFIED
Wickens H CampainJapanStephen Shaw QUALIFIED
Mujtaba K VenereAustraliaElwin Sharvill RENEWAL
David Q GillianRussiaElwin Sharvill NEW
Jefferson H ChuiUnited KingdomAnna Fali UNQUALIFIED
Morrow W GillianIndiaAsiya Javayant UNQUALIFIED
Juan K MarrierGermanyBernardo Dominic UNQUALIFIED
Deepesh M MaletArgentinaIoni Bowcher PROPOSAL
Nicolas E NickaAustraliaAmy Elsner UNQUALIFIED
Tony G GlickUnited KingdomIvan Magalhaes QUALIFIED
Clifford X KuskoCanadaBernardo Dominic PROPOSAL
James M CampainBrazilOnyama Limba RENEWAL
Jennifer W OldroydGermanyXuxue Feng RENEWAL
Jennifer I WieserAustraliaAmy Elsner UNQUALIFIED
Maria A SlusarskiCanadaXuxue Feng NEW
Antonio U BowleyArgentinaStephen Shaw QUALIFIED
Greenwood W SlusarskiUnited KingdomBernardo Dominic NEW
Clifford T ShinkoRussiaXuxue Feng NEW
Deepesh A VocelkaCanadaAnna Fali NEW
Octavia H MaletAustraliaIvan Magalhaes NEW
Wickens D FollerUnited KingdomIoni Bowcher NEW
Mujtaba G VocelkaAustraliaXuxue Feng NEW
Jennifer L GarufiArgentinaOnyama Limba NEW
Francesco T RoysterGermanyIvan Magalhaes RENEWAL
Jefferson Q FollerGermanyAsiya Javayant NEW
Adams X WhobreyAustraliaAnna Fali QUALIFIED
Tony D PerinCanadaBernardo Dominic UNQUALIFIED
Deepesh J MorascaArgentinaAsiya Javayant NEGOTIATION
Costa E AmigonIndiaBernardo Dominic RENEWAL
Tony U DilliardCanadaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Kadeem N Ostrosky
Mujtaba V Royster
Jones Y Maclead
Deepesh Z Oldroyd
Cody B Stenseth
Cody C Briddick
Ivar B Caudy
Alejandro B Vocelka
Aruna Y Ostrosky
Smith H Albares
James H Caldarera
Jennifer Q Marrier
Kadeem S Campain
Claire U Schemmer
Chavez X Caldarera
Morrow P Gillian
Jefferson N Nicka
Salvatore E Rulapaugh
Jones B Dilliard
Kadeem F Waycott
Claire C Tollner
Leja F Flosi
David C Albares
Wickens R Campain
Aditya W Darakjy
Rodrigues Q Slusarski
Izzy D Nestle
Jeanfrancois M Iturbide
Murillo G Ruta
Faith Y Caudy
Ricardo A Poquette
Ricardo R Gillian
Sinclair I Stenseth
Mujtaba N Malet
Nicolas V Inouye
Johnson T Butt
Stacey S Ostrosky
Kadeem K Slusarski
Deepesh M Doe
Chavez S Darakjy
Greenwood L Iturbide
Wickens X Kolmetz
Mujtaba C Slusarski
Wickens C Waycott
Munro H Perin
Misaki S Flosi
Kadeem S Chui
Leon J Shinko
Mujtaba I Dilliard
Munro N Kusko
IdCountryDate
1000Canada2026-09-30
1001Canada2026-09-27
1002Argentina2026-10-10
1003Canada2026-10-10
1004Canada2026-10-20
1005Russia2026-10-11
1006Italy2026-10-06
1007Canada2026-10-20
1008United Kingdom2026-10-13
1009Italy2026-10-10
1010Japan2026-10-05
1011India2026-10-23
1012Brazil2026-10-11
1013Australia2026-10-01
1014Germany2026-10-15
1015Russia2026-10-24
1016Brazil2026-10-13
1017Italy2026-10-09
1018Russia2026-10-06
1019United Kingdom2026-09-30
1020Italy2026-10-01
1021Canada2026-10-13
1022Australia2026-10-23
1023United Kingdom2026-10-12
1024India2026-09-30
1025Italy2026-10-10
1026Italy2026-10-02
1027Canada2026-10-15
1028Brazil2026-10-20
1029Brazil2026-10-19
1030Russia2026-10-19
1031India2026-10-05
1032Brazil2026-10-04
1033Argentina2026-10-07
1034Italy2026-10-21
1035United Kingdom2026-10-06
1036Spain2026-09-27
1037Germany2026-10-05
1038Canada2026-10-10
1039Russia2026-10-13
1040France2026-10-12
1041United Kingdom2026-10-17
1042Argentina2026-10-06
1043Russia2026-10-09
1044Australia2026-10-04
1045Japan2026-10-08
1046Russia2026-10-02
1047Brazil2026-10-05
1048Argentina2026-10-13
1049Brazil2026-10-11

On-Demand Data

NameIdCountryDate
Murillo F Slusarski1000Australia2026-10-12
Kadeem P Kolmetz1001Argentina2026-10-04
Jeanfrancois A Rim1002Argentina2026-10-10
Salvatore M Gillian1003Italy2026-10-13
David D Sergi1004Australia2026-10-17
Mujtaba I Kolmetz1005Canada2026-10-06
Darci Y Kolmetz1006Germany2026-10-14
Jones O Kusko1007Australia2026-10-12
Ashley M Iturbide1008Germany2026-10-23
James M Bowley1009United Kingdom2026-10-24
Ivar V Ostrosky1010India2026-10-21
Octavia Q Tollner1011India2026-10-07
Ashley T Stenseth1012Spain2026-09-29
Salvatore T Doe1013Germany2026-10-23
Jones I Paprocki1014Japan2026-09-28
Ashley Q Oldroyd1015Japan2026-10-15
Jeanfrancois S Malet1016Australia2026-09-26
Ivar R Perin1017France2026-10-23
Leja D Glick1018Spain2026-10-20
Sinclair K Nestle1019Russia2026-10-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna P PaprockiUnited KingdomElwin Sharvill QUALIFIED
Clifford S ChuiIndiaOnyama Limba RENEWAL
Sinclair Q MacleadRussiaAmy Elsner RENEWAL
David W WaycottCanadaAsiya Javayant UNQUALIFIED
Aditya C MaletRussiaAsiya Javayant QUALIFIED
Tony U SchemmerItalyStephen Shaw NEW
Tony S VocelkaGermanyStephen Shaw UNQUALIFIED
Leja B RulapaughArgentinaOnyama Limba NEW
Johnson K NestleJapanAsiya Javayant NEW
Morrow Y DoeJapanStephen Shaw QUALIFIED
Johnson X WhobreyArgentinaOnyama Limba UNQUALIFIED
Cody R WhobreyUnited KingdomAnna Fali RENEWAL
Kaitlin O MarrierGermanyXuxue Feng NEGOTIATION
Maisha L RoysterFranceAnna Fali NEGOTIATION
Wickens R GillianIndiaAnna Fali NEGOTIATION
Clifford W AmigonIndiaElwin Sharvill NEW
Aruna M RulapaughIndiaAsiya Javayant QUALIFIED
Leja F TollnerSpainElwin Sharvill UNQUALIFIED
Nicolas Y VocelkaJapanAmy Elsner QUALIFIED
Claire X OldroydJapanAnna Fali NEGOTIATION
Chavez O BriddickSpainOnyama Limba NEW
Arvin M RimJapanAnna Fali QUALIFIED
Munro P WieserIndiaElwin Sharvill PROPOSAL
Izzy R GarufiJapanAnna Fali QUALIFIED
Sinclair K VenereCanadaIvan Magalhaes UNQUALIFIED
Alejandro Q OstroskyRussiaOnyama Limba UNQUALIFIED
Mayumi K StockhamAustraliaOnyama Limba PROPOSAL
Wickens M PaprockiGermanyAsiya Javayant PROPOSAL
Mayumi K MacleadBrazilBernardo Dominic PROPOSAL
Kadeem L KuskoIndiaXuxue Feng PROPOSAL
Munro Y CaudyAustraliaAmy Elsner QUALIFIED
Cody I StockhamItalyIvan Magalhaes QUALIFIED
Salvatore A GlickArgentinaOnyama Limba NEW
Leja R StensethIndiaAsiya Javayant RENEWAL
Kaitlin R MacleadRussiaStephen Shaw NEW
Sinclair O SergiRussiaAsiya Javayant RENEWAL
Mayumi U SchemmerCanadaAnna Fali QUALIFIED
Jeanfrancois K TollnerJapanAmy Elsner UNQUALIFIED
Ricardo X CaudyBrazilElwin Sharvill NEW
Jefferson W OldroydItalyAmy Elsner 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>