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
Johnson C MarrierBrazilIvan Magalhaes UNQUALIFIED
Stacey Q NestleBrazilIvan Magalhaes UNQUALIFIED
Ivar C StensethIndiaStephen Shaw QUALIFIED
Kadeem V NickaItalyIvan Magalhaes PROPOSAL
Kadeem O ChuiIndiaIvan Magalhaes UNQUALIFIED
Alejandro D ButtJapanIvan Magalhaes NEGOTIATION
Tony O MaletAustraliaElwin Sharvill NEGOTIATION
Chavez U ShinkoArgentinaAsiya Javayant NEGOTIATION
Clifford F SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Aika Y MaletAustraliaOnyama Limba NEGOTIATION
Wickens H DilliardArgentinaIvan Magalhaes QUALIFIED
Rodrigues Q BowleyIndiaAnna Fali NEW
Jeanfrancois C GarufiBrazilElwin Sharvill PROPOSAL
Juan I MacleadFranceOnyama Limba PROPOSAL
David F MacleadGermanyIvan Magalhaes UNQUALIFIED
Faith J CaudyCanadaOnyama Limba PROPOSAL
Misaki H CaudyBrazilIoni Bowcher NEGOTIATION
Silvio E MarrierUnited KingdomXuxue Feng QUALIFIED
Morrow P WieserFranceIoni Bowcher RENEWAL
Morrow Y AlbaresRussiaIvan Magalhaes RENEWAL
Nicolas C WaycottItalyAnna Fali QUALIFIED
Tony J KolmetzGermanyBernardo Dominic QUALIFIED
Misaki X IturbideRussiaIoni Bowcher RENEWAL
Johnson H AlbaresItalyElwin Sharvill NEW
Jefferson S KuskoSpainAmy Elsner NEGOTIATION
Antonio D SaylorsArgentinaStephen Shaw QUALIFIED
Mujtaba N BriddickSpainElwin Sharvill NEW
Julie P CampainBrazilAmy Elsner UNQUALIFIED
Antonio S PaprockiArgentinaElwin Sharvill PROPOSAL
Antonio I IturbideFranceElwin Sharvill QUALIFIED
Jennifer D TollnerJapanAmy Elsner QUALIFIED
Silvio M ChuiAustraliaElwin Sharvill NEGOTIATION
Leja S DilliardCanadaXuxue Feng QUALIFIED
Morrow X WhobreyJapanXuxue Feng QUALIFIED
Adams O KuskoCanadaIoni Bowcher PROPOSAL
Ivar W DarakjyJapanBernardo Dominic UNQUALIFIED
Emily G OldroydCanadaIoni Bowcher PROPOSAL
Ivar U MacleadCanadaIoni Bowcher NEGOTIATION
Maria X OldroydFranceAsiya Javayant UNQUALIFIED
Izzy A BowleyBrazilIoni Bowcher UNQUALIFIED
Aika D SlusarskiItalyElwin Sharvill NEGOTIATION
Aditya R GarufiFranceElwin Sharvill UNQUALIFIED
Leon P AmigonSpainOnyama Limba QUALIFIED
Aruna Z RoysterRussiaStephen Shaw NEGOTIATION
Aditya E WaycottFranceAsiya Javayant UNQUALIFIED
Faith P FigeroaAustraliaAnna Fali UNQUALIFIED
Jefferson N NickaIndiaIoni Bowcher PROPOSAL
Sinclair T MaletAustraliaXuxue Feng UNQUALIFIED
Izzy B ChuiArgentinaStephen Shaw PROPOSAL
Aditya U DoeFranceAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Arvin R BologniaArgentinaXuxue Feng PROPOSAL
Nicolas F VocelkaJapanAsiya Javayant QUALIFIED
Ivar W SergiFranceElwin Sharvill RENEWAL
Johnson S RoysterBrazilIvan Magalhaes RENEWAL
Maria T SergiGermanyIoni Bowcher UNQUALIFIED
Adams K NestleAustraliaAmy Elsner QUALIFIED
Jones E DoeGermanyElwin Sharvill RENEWAL
Claire L NickaGermanyAsiya Javayant UNQUALIFIED
Claire V VocelkaArgentinaStephen Shaw PROPOSAL
Kadeem K FlosiRussiaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez X GarufiAustralia2026-09-19Benton, John B Jr NEGOTIATION40Xuxue Feng
1001Adams O RoysterJapan2026-08-28Morlong Associates UNQUALIFIED42Bernardo Dominic
1002Aika Z IturbideCanada2026-09-14Dorl, James J Esq NEW54Anna Fali
1003Murillo L FollerBrazil2026-09-19King, Christopher A Esq UNQUALIFIED90Xuxue Feng
1004Claire X GauchoJapan2026-08-26Rousseaux, Michael Esq UNQUALIFIED95Asiya Javayant
1005Jefferson M OstroskyFrance2026-09-21Feiner Bros NEGOTIATION38Onyama Limba
1006Misaki D NickaRussia2026-09-03Benton, John B Jr QUALIFIED0Amy Elsner
1007Izzy E WaycottGermany2026-09-18Chemel, James L Cpa NEW24Stephen Shaw
1008Aditya U CampainUnited Kingdom2026-09-21Morlong Associates NEW23Asiya Javayant
1009Rodrigues U ButtRussia2026-09-04Rangoni Of Florence QUALIFIED46Anna Fali
1010Octavia V MacleadJapan2026-09-10Chemel, James L Cpa UNQUALIFIED0Xuxue Feng
1011Kaitlin E NickaJapan2026-09-16Printing Dimensions NEW23Bernardo Dominic
1012Antonio V StensethJapan2026-09-09King, Christopher A Esq NEW95Stephen Shaw
1013Deepesh F KuskoAustralia2026-09-23Rousseaux, Michael Esq QUALIFIED18Ioni Bowcher
1014Silvio I RoysterIndia2026-09-03Truhlar And Truhlar Attys NEGOTIATION59Asiya Javayant
1015Faith Z SergiIndia2026-09-05King, Christopher A Esq NEGOTIATION83Asiya Javayant
1016Stacey G TollnerFrance2026-09-21King, Christopher A Esq QUALIFIED29Xuxue Feng
1017Salvatore M WaycottFrance2026-09-06King, Christopher A Esq QUALIFIED41Elwin Sharvill
1018Silvio J AlbaresArgentina2026-09-24Rousseaux, Michael Esq RENEWAL11Stephen Shaw
1019Emily J DarakjyFrance2026-09-18Dorl, James J Esq QUALIFIED20Stephen Shaw
1020Aditya R FigeroaAustralia2026-09-10Rangoni Of Florence QUALIFIED78Ioni Bowcher
1021Julie C MacleadFrance2026-08-29Printing Dimensions NEW8Asiya Javayant
1022Nicolas G FigeroaGermany2026-09-06Chanay, Jeffrey A Esq PROPOSAL30Stephen Shaw
1023Munro D MaletCanada2026-09-01Chemel, James L Cpa RENEWAL41Anna Fali
1024Rodrigues C CaldareraGermany2026-09-08Buckley Miller Wright NEGOTIATION44Asiya Javayant
1025Juan E KuskoAustralia2026-08-31Printing Dimensions NEW2Asiya Javayant
1026Murillo G StockhamGermany2026-09-22Dorl, James J Esq NEGOTIATION98Amy Elsner
1027Julie P FigeroaIndia2026-09-22King, Christopher A Esq PROPOSAL65Xuxue Feng
1028Octavia Q OldroydBrazil2026-08-29Benton, John B Jr PROPOSAL85Xuxue Feng
1029Claire X IturbideIndia2026-09-24King, Christopher A Esq RENEWAL56Xuxue Feng
1030Aditya K OldroydItaly2026-09-14Morlong Associates PROPOSAL18Bernardo Dominic
1031Aruna B FigeroaFrance2026-09-01Rousseaux, Michael Esq NEW28Elwin Sharvill
1032Greenwood Z StockhamFrance2026-08-29Rousseaux, Michael Esq RENEWAL80Anna Fali
1033Morrow S SaylorsIndia2026-09-08Chapman, Ross E Esq PROPOSAL52Ivan Magalhaes
1034Nicolas Z KuskoBrazil2026-09-05Commercial Press QUALIFIED53Xuxue Feng
1035Cody L NestleFrance2026-09-13Chapman, Ross E Esq NEW71Ioni Bowcher
1036Francesco J FigeroaItaly2026-09-07Feltz Printing Service PROPOSAL69Onyama Limba
1037Aika O CaudyRussia2026-09-19Rousseaux, Michael Esq UNQUALIFIED17Ioni Bowcher
1038Silvio I SchemmerBrazil2026-09-03Morlong Associates PROPOSAL44Ivan Magalhaes
1039Aika B GillianArgentina2026-08-31Printing Dimensions RENEWAL99Asiya Javayant
1040Cody P CaldareraFrance2026-09-14Dorl, James J Esq NEGOTIATION46Stephen Shaw
1041Darci M MaletArgentina2026-09-24Dorl, James J Esq UNQUALIFIED41Ivan Magalhaes
1042Costa M VocelkaArgentina2026-09-22Benton, John B Jr PROPOSAL35Asiya Javayant
1043Faith B MaletBrazil2026-08-31Dorl, James J Esq RENEWAL1Anna Fali
1044Faith R GillianAustralia2026-08-29Morlong Associates QUALIFIED25Ivan Magalhaes
1045Misaki K KuskoUnited Kingdom2026-08-28Rangoni Of Florence UNQUALIFIED85Elwin Sharvill
1046Wickens D InouyeRussia2026-09-22Rousseaux, Michael Esq NEGOTIATION87Xuxue Feng
1047Claire U WieserAustralia2026-09-13King, Christopher A Esq NEW94Amy Elsner
1048Aditya U RulapaughUnited Kingdom2026-09-13Dorl, James J Esq PROPOSAL41Xuxue Feng
1049Nicolas R OstroskyItaly2026-09-12Commercial Press NEGOTIATION87Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Faith N PaprockiUnited KingdomStephen Shaw NEGOTIATION
Mujtaba C ChuiIndiaElwin Sharvill UNQUALIFIED
Jeanfrancois F GillianGermanyOnyama Limba NEW
Ivar G AlbaresUnited KingdomAsiya Javayant RENEWAL
Maisha U SchemmerArgentinaOnyama Limba RENEWAL
Jones I BriddickAustraliaIoni Bowcher RENEWAL
Emily C RulapaughCanadaIvan Magalhaes NEW
Maisha J RulapaughCanadaOnyama Limba RENEWAL
Darci A BriddickArgentinaStephen Shaw UNQUALIFIED
Arvin F GlickBrazilOnyama Limba NEGOTIATION
Emily R BriddickBrazilStephen Shaw PROPOSAL
Stacey Y GarufiIndiaIvan Magalhaes QUALIFIED
Greenwood L ChuiUnited KingdomIvan Magalhaes QUALIFIED
Julie S FigeroaUnited KingdomBernardo Dominic NEW
Adams G FerenczRussiaElwin Sharvill RENEWAL
Maisha X GauchoSpainAnna Fali PROPOSAL
Silvio A WaycottIndiaAsiya Javayant RENEWAL
Smith K DoeCanadaIoni Bowcher RENEWAL
Rodrigues G GillianFranceBernardo Dominic PROPOSAL
Morrow B BriddickIndiaIvan Magalhaes QUALIFIED
Morrow Y MaletGermanyElwin Sharvill UNQUALIFIED
Aditya V FerenczCanadaBernardo Dominic UNQUALIFIED
Aruna Q BriddickJapanOnyama Limba QUALIFIED
Rodrigues O CaudyJapanOnyama Limba PROPOSAL
Smith L CaudyRussiaXuxue Feng NEW
Smith L OstroskyGermanyAnna Fali QUALIFIED
Ivar J GlickArgentinaXuxue Feng RENEWAL
Adams F FigeroaItalyElwin Sharvill NEGOTIATION
Arvin C TollnerFranceAmy Elsner QUALIFIED
Murillo C DoeSpainAmy Elsner RENEWAL
Rodrigues S FlosiSpainBernardo Dominic QUALIFIED
Stacey S FlosiGermanyStephen Shaw RENEWAL
Octavia A DilliardRussiaOnyama Limba RENEWAL
Jefferson W MaletGermanyElwin Sharvill PROPOSAL
Murillo A StockhamGermanyAnna Fali NEGOTIATION
Juan U AmigonGermanyBernardo Dominic NEW
Mayumi X FerenczCanadaOnyama Limba PROPOSAL
Kadeem X BologniaSpainAnna Fali UNQUALIFIED
Kaitlin D PaprockiFranceAsiya Javayant PROPOSAL
Misaki G ChuiAustraliaStephen Shaw QUALIFIED
Smith E FigeroaRussiaOnyama Limba RENEWAL
Aruna D WieserFranceBernardo Dominic RENEWAL
Jones W FollerFranceIvan Magalhaes NEW
Costa A MorascaRussiaIvan Magalhaes QUALIFIED
Jeanfrancois N BriddickJapanAmy Elsner UNQUALIFIED
Antonio M ShinkoItalyOnyama Limba RENEWAL
Smith Y KuskoArgentinaBernardo Dominic QUALIFIED
Ashley Q AmigonAustraliaElwin Sharvill UNQUALIFIED
Alejandro O BriddickUnited KingdomElwin Sharvill QUALIFIED
Rodrigues X ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Frozen Columns
Name
Aruna P Rulapaugh
Jeanfrancois I Caudy
Kaitlin B Marrier
Darci Y Doe
Ivar U Doe
Kadeem R Poquette
Aruna Q Chui
Juan X Caldarera
Izzy Y Oldroyd
Leja M Kusko
Stacey G Iturbide
Claire K Royster
Salvatore T Bowley
Francesco M Oldroyd
Smith P Foller
Maisha I Albares
Jones D Flosi
Deepesh R Kusko
Claire E Darakjy
Maisha I Schemmer
Alejandro V Wieser
Leon G Saylors
Tony N Paprocki
Tony W Ferencz
Adams G Albares
Nicolas Q Caudy
Izzy W Malet
Leja W Rim
Murillo V Campain
Tony X Tollner
Nicolas W Malet
Aditya K Malet
Aditya K Maclead
Aditya C Nicka
David V Dilliard
Ashley J Kolmetz
Aika W Nestle
Emily X Nicka
Octavia T Doe
Nicolas S Bolognia
Cody S Iturbide
Sinclair U Nestle
Alejandro C Bowley
Chavez R Tollner
Stacey U Amigon
Ivar W Royster
Chavez O Garufi
Mayumi E Ostrosky
Aditya A Ostrosky
Maria R Kusko
IdCountryDate
1000United Kingdom2026-09-04
1001India2026-08-29
1002Germany2026-09-07
1003United Kingdom2026-09-10
1004France2026-09-10
1005France2026-09-13
1006Argentina2026-08-31
1007Australia2026-09-03
1008Germany2026-09-17
1009Italy2026-08-29
1010Brazil2026-09-15
1011Canada2026-09-10
1012Russia2026-09-23
1013Brazil2026-09-08
1014India2026-09-16
1015Australia2026-09-21
1016Russia2026-09-16
1017Spain2026-09-21
1018Japan2026-09-21
1019Australia2026-09-07
1020Argentina2026-09-09
1021Japan2026-09-06
1022Italy2026-09-15
1023France2026-09-15
1024United Kingdom2026-09-07
1025Australia2026-08-27
1026Japan2026-09-23
1027Canada2026-09-23
1028Argentina2026-09-11
1029Germany2026-09-19
1030Spain2026-09-09
1031Japan2026-09-17
1032Japan2026-08-28
1033Japan2026-09-18
1034Italy2026-09-23
1035France2026-09-20
1036Italy2026-09-09
1037Japan2026-09-13
1038Brazil2026-09-07
1039Australia2026-09-14
1040Russia2026-09-19
1041Australia2026-09-11
1042Argentina2026-09-20
1043France2026-09-08
1044Canada2026-09-12
1045India2026-09-06
1046Brazil2026-09-10
1047Brazil2026-08-31
1048Spain2026-09-01
1049Japan2026-09-24

On-Demand Data

NameIdCountryDate
Aruna L Shinko1000Spain2026-08-26
Alejandro E Tollner1001Argentina2026-08-26
Julie C Whobrey1002France2026-08-26
Jeanfrancois F Garufi1003Germany2026-09-08
Aika J Flosi1004Japan2026-09-16
Jeanfrancois O Butt1005Brazil2026-09-07
Antonio J Slusarski1006Brazil2026-08-26
Kaitlin L Figeroa1007France2026-09-13
Kaitlin M Inouye1008United Kingdom2026-09-08
Maria P Whobrey1009France2026-09-15
Antonio Y Rulapaugh1010Spain2026-09-05
Faith Z Flosi1011Italy2026-08-27
Claire N Royster1012Germany2026-09-12
Salvatore G Foller1013Canada2026-08-28
Ivar W Sergi1014Australia2026-09-09
Leja G Caldarera1015Brazil2026-09-21
Jefferson Q Poquette1016France2026-09-09
Munro X Malet1017Germany2026-09-13
Julie W Sergi1018India2026-09-03
Juan W Maclead1019Italy2026-08-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco O FlosiSpainAmy Elsner QUALIFIED
Salvatore P BriddickIndiaAsiya Javayant PROPOSAL
Aruna N StockhamCanadaElwin Sharvill PROPOSAL
Claire D FigeroaCanadaAmy Elsner QUALIFIED
Maria H DarakjyFranceElwin Sharvill NEW
Ricardo Z RoysterGermanyStephen Shaw UNQUALIFIED
Morrow V RulapaughRussiaOnyama Limba NEW
Leja O CaldareraUnited KingdomIoni Bowcher QUALIFIED
Kaitlin B MaletUnited KingdomAsiya Javayant QUALIFIED
Mayumi Q PerinSpainElwin Sharvill NEW
Chavez Z KuskoCanadaIvan Magalhaes NEGOTIATION
Stacey D DarakjyArgentinaAsiya Javayant RENEWAL
Ivar X RulapaughFranceBernardo Dominic PROPOSAL
Jennifer S VocelkaJapanIoni Bowcher PROPOSAL
Octavia R VenereGermanyAsiya Javayant PROPOSAL
Rodrigues R StensethItalyAmy Elsner QUALIFIED
Munro Z NestleIndiaBernardo Dominic NEW
Costa G BriddickCanadaAsiya Javayant NEW
Nicolas F SlusarskiIndiaBernardo Dominic NEW
Francesco Y DoeArgentinaAsiya Javayant QUALIFIED
Adams V GarufiRussiaIoni Bowcher NEGOTIATION
Jennifer Q BologniaBrazilAnna Fali NEW
Rodrigues R CaudyGermanyAnna Fali NEW
Salvatore K InouyeUnited KingdomXuxue Feng QUALIFIED
Wickens Y DarakjyGermanyAmy Elsner RENEWAL
Octavia W SlusarskiSpainOnyama Limba RENEWAL
Rodrigues H CampainRussiaAnna Fali UNQUALIFIED
Faith R SergiIndiaAsiya Javayant RENEWAL
Jones O WhobreyFranceAnna Fali UNQUALIFIED
Clifford M PaprockiIndiaIvan Magalhaes RENEWAL
Rodrigues W StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Arvin X StensethArgentinaAnna Fali QUALIFIED
Jones W IturbideUnited KingdomBernardo Dominic QUALIFIED
Jennifer W WhobreyFranceIvan Magalhaes NEW
Emily Y CaldareraItalyIoni Bowcher UNQUALIFIED
Smith M OstroskyBrazilAsiya Javayant NEGOTIATION
Stacey X ChuiSpainAnna Fali PROPOSAL
Kadeem F SchemmerAustraliaAnna Fali PROPOSAL
Greenwood L PoquetteIndiaAsiya Javayant QUALIFIED
Ashley C RoysterCanadaStephen Shaw RENEWAL

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