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
Stacey J PoquetteItalyOnyama Limba NEW
Aika V SchemmerIndiaOnyama Limba PROPOSAL
Izzy Y NickaRussiaElwin Sharvill RENEWAL
Tony X PaprockiSpainAmy Elsner QUALIFIED
Jennifer J SlusarskiCanadaIvan Magalhaes QUALIFIED
Tony D RimRussiaAsiya Javayant RENEWAL
Kaitlin Y CampainJapanAmy Elsner QUALIFIED
Chavez C SchemmerCanadaStephen Shaw UNQUALIFIED
Silvio N KuskoItalyOnyama Limba QUALIFIED
Jeanfrancois L SlusarskiBrazilIoni Bowcher RENEWAL
Francesco N RoysterCanadaXuxue Feng RENEWAL
Jones M SchemmerGermanyElwin Sharvill NEW
Aika O BologniaIndiaStephen Shaw PROPOSAL
Kadeem V WhobreyJapanElwin Sharvill NEW
Silvio G TollnerUnited KingdomAmy Elsner UNQUALIFIED
Arvin P MacleadJapanOnyama Limba RENEWAL
Nicolas A StensethGermanyAmy Elsner RENEWAL
Aditya R SergiArgentinaOnyama Limba NEW
Aika H CaldareraItalyStephen Shaw PROPOSAL
Aika R WhobreyGermanyStephen Shaw PROPOSAL
Mujtaba T DoeCanadaAsiya Javayant PROPOSAL
Ashley F GauchoIndiaStephen Shaw QUALIFIED
Jennifer P CaudyBrazilElwin Sharvill RENEWAL
Alejandro C ChuiCanadaAsiya Javayant RENEWAL
Wickens Y AlbaresArgentinaAsiya Javayant QUALIFIED
Claire V InouyeCanadaIvan Magalhaes NEGOTIATION
Clifford C VocelkaSpainXuxue Feng RENEWAL
Ivar K GillianUnited KingdomStephen Shaw PROPOSAL
Julie Y FerenczRussiaStephen Shaw RENEWAL
Mayumi A CaudySpainIvan Magalhaes NEGOTIATION
Aruna U PerinCanadaAmy Elsner NEW
Costa R PoquetteSpainAsiya Javayant NEW
Izzy R SaylorsRussiaBernardo Dominic QUALIFIED
Morrow M DoeFranceAnna Fali RENEWAL
Leja Y MarrierCanadaStephen Shaw NEGOTIATION
Arvin N DilliardCanadaBernardo Dominic NEW
Clifford L GauchoSpainIvan Magalhaes RENEWAL
Ashley J OstroskySpainAmy Elsner QUALIFIED
Jones Y DoeGermanyIvan Magalhaes NEW
Emily O GillianAustraliaElwin Sharvill QUALIFIED
Izzy E GillianFranceOnyama Limba NEW
Chavez K FigeroaCanadaIoni Bowcher NEW
Faith Y WhobreyRussiaIoni Bowcher NEW
Claire I NestleAustraliaAsiya Javayant RENEWAL
Ivar P MaletBrazilAnna Fali UNQUALIFIED
Leja J AmigonUnited KingdomOnyama Limba NEW
Aditya P SlusarskiCanadaAnna Fali RENEWAL
Mujtaba U DilliardSpainBernardo Dominic PROPOSAL
Izzy Q MaletRussiaStephen Shaw UNQUALIFIED
Leon A WaycottItalyOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David A CaudyFranceAmy Elsner RENEWAL
Leon B CampainAustraliaStephen Shaw QUALIFIED
Morrow W BriddickRussiaAmy Elsner UNQUALIFIED
Adams R GauchoBrazilOnyama Limba PROPOSAL
Ashley W BriddickFranceAmy Elsner QUALIFIED
Costa P StensethAustraliaIoni Bowcher UNQUALIFIED
Greenwood P BologniaItalyAsiya Javayant QUALIFIED
Ivar X SlusarskiCanadaIvan Magalhaes NEGOTIATION
Nicolas J NickaFranceBernardo Dominic RENEWAL
Tony D StensethIndiaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily X MorascaGermany2026-09-14Feiner Bros NEW86Ioni Bowcher
1001Darci B StockhamBrazil2026-09-04Benton, John B Jr UNQUALIFIED99Ioni Bowcher
1002Emily L CampainUnited Kingdom2026-09-16Chanay, Jeffrey A Esq PROPOSAL45Stephen Shaw
1003Isabel P GauchoCanada2026-09-01Feltz Printing Service NEW18Amy Elsner
1004Leon X PaprockiRussia2026-09-16Chapman, Ross E Esq NEW7Ioni Bowcher
1005David U GlickFrance2026-09-01Chanay, Jeffrey A Esq UNQUALIFIED11Onyama Limba
1006Izzy U SergiAustralia2026-08-27Chapman, Ross E Esq QUALIFIED86Amy Elsner
1007Salvatore N CaudyAustralia2026-09-01Chanay, Jeffrey A Esq NEGOTIATION66Bernardo Dominic
1008Rodrigues D DoeCanada2026-09-04Dorl, James J Esq RENEWAL8Asiya Javayant
1009Munro I CampainIndia2026-08-26Chemel, James L Cpa QUALIFIED87Bernardo Dominic
1010Munro G KolmetzBrazil2026-08-23Chapman, Ross E Esq NEGOTIATION21Onyama Limba
1011Maisha N DoeIndia2026-09-09Chapman, Ross E Esq QUALIFIED57Stephen Shaw
1012Tony H KuskoAustralia2026-09-03Morlong Associates QUALIFIED61Onyama Limba
1013Jones Y FigeroaFrance2026-09-16Printing Dimensions NEW92Anna Fali
1014Maria Y ShinkoCanada2026-09-13Feltz Printing Service QUALIFIED9Elwin Sharvill
1015Maria F GlickRussia2026-08-26Chanay, Jeffrey A Esq RENEWAL90Onyama Limba
1016Jennifer Q GlickBrazil2026-08-24Commercial Press QUALIFIED12Ioni Bowcher
1017Adams O RoysterRussia2026-09-16Printing Dimensions PROPOSAL97Xuxue Feng
1018Tony H NickaSpain2026-08-27Chemel, James L Cpa QUALIFIED76Amy Elsner
1019Jefferson O MacleadUnited Kingdom2026-09-21Printing Dimensions UNQUALIFIED28Onyama Limba
1020Ivar Y WieserArgentina2026-09-17Commercial Press UNQUALIFIED35Ioni Bowcher
1021Kaitlin K FigeroaGermany2026-08-30Chanay, Jeffrey A Esq UNQUALIFIED15Stephen Shaw
1022Jones G BologniaSpain2026-09-06King, Christopher A Esq UNQUALIFIED73Ivan Magalhaes
1023Antonio T FerenczJapan2026-08-28Commercial Press PROPOSAL44Anna Fali
1024Faith H RimIndia2026-08-27Rousseaux, Michael Esq RENEWAL43Anna Fali
1025Deepesh W DoeIndia2026-09-02Benton, John B Jr UNQUALIFIED21Elwin Sharvill
1026Kadeem B CampainAustralia2026-09-19Rousseaux, Michael Esq PROPOSAL58Ioni Bowcher
1027Misaki K RoysterSpain2026-08-29Benton, John B Jr UNQUALIFIED78Onyama Limba
1028Claire G RulapaughAustralia2026-09-08Chemel, James L Cpa RENEWAL10Asiya Javayant
1029Deepesh D WieserBrazil2026-08-24Benton, John B Jr RENEWAL54Anna Fali
1030Isabel B InouyeFrance2026-09-14Rangoni Of Florence PROPOSAL65Onyama Limba
1031Stacey J NickaSpain2026-08-27Rousseaux, Michael Esq NEW23Onyama Limba
1032Alejandro B MaletItaly2026-09-01Truhlar And Truhlar Attys RENEWAL43Onyama Limba
1033Jeanfrancois G PoquetteIndia2026-09-03Morlong Associates RENEWAL5Ioni Bowcher
1034Clifford B BowleyGermany2026-09-16Benton, John B Jr UNQUALIFIED76Stephen Shaw
1035Aika A RimIndia2026-09-04Chapman, Ross E Esq NEW20Bernardo Dominic
1036Morrow W PaprockiIndia2026-09-14Feltz Printing Service RENEWAL82Anna Fali
1037James D GauchoCanada2026-08-30Rousseaux, Michael Esq RENEWAL32Ioni Bowcher
1038Jeanfrancois E OstroskyGermany2026-09-10Chemel, James L Cpa PROPOSAL13Asiya Javayant
1039Kadeem P FigeroaJapan2026-08-25Printing Dimensions NEGOTIATION28Stephen Shaw
1040Alejandro W KolmetzCanada2026-09-15Rangoni Of Florence RENEWAL42Xuxue Feng
1041Izzy C FlosiAustralia2026-09-06Truhlar And Truhlar Attys NEGOTIATION97Ivan Magalhaes
1042Ricardo I OstroskyIndia2026-08-24Feltz Printing Service NEGOTIATION21Xuxue Feng
1043Greenwood S CaldareraAustralia2026-09-14Rangoni Of Florence PROPOSAL70Asiya Javayant
1044Leja P ChuiUnited Kingdom2026-09-06Benton, John B Jr QUALIFIED79Elwin Sharvill
1045Wickens B CaudyAustralia2026-09-12King, Christopher A Esq QUALIFIED0Onyama Limba
1046Ricardo F GlickCanada2026-09-14Benton, John B Jr RENEWAL69Ivan Magalhaes
1047Costa Y OstroskyJapan2026-09-07Rangoni Of Florence UNQUALIFIED69Asiya Javayant
1048Jefferson G RoysterGermany2026-09-03King, Christopher A Esq NEGOTIATION39Amy Elsner
1049Morrow X VenereFrance2026-09-01Dorl, James J Esq UNQUALIFIED42Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Sinclair H RimGermanyIoni Bowcher UNQUALIFIED
Darci Q WhobreyJapanOnyama Limba QUALIFIED
Silvio G SergiUnited KingdomOnyama Limba NEGOTIATION
Julie K NickaArgentinaStephen Shaw UNQUALIFIED
Smith L TollnerItalyXuxue Feng QUALIFIED
Leon H CaudyArgentinaIvan Magalhaes PROPOSAL
Costa Z CampainIndiaAnna Fali QUALIFIED
Leon B FlosiSpainIvan Magalhaes NEW
Aika U GillianCanadaAsiya Javayant PROPOSAL
Claire B MorascaIndiaElwin Sharvill UNQUALIFIED
Darci N WieserRussiaStephen Shaw PROPOSAL
Faith Y StockhamIndiaIoni Bowcher NEGOTIATION
Salvatore S RimAustraliaAnna Fali RENEWAL
Rodrigues Z NestleSpainBernardo Dominic NEGOTIATION
Darci K BriddickAustraliaIvan Magalhaes RENEWAL
Ashley Q SchemmerRussiaBernardo Dominic UNQUALIFIED
Maria X VenereSpainAsiya Javayant QUALIFIED
Rodrigues J NestleSpainAnna Fali RENEWAL
Faith K MarrierItalyAsiya Javayant RENEWAL
Francesco Y OldroydItalyStephen Shaw UNQUALIFIED
Tony S SlusarskiSpainIvan Magalhaes NEGOTIATION
Adams J WaycottItalyAnna Fali RENEWAL
Sinclair T SchemmerItalyAnna Fali NEW
Munro C RutaRussiaIvan Magalhaes UNQUALIFIED
Arvin X OstroskyIndiaAsiya Javayant NEGOTIATION
Jones G AlbaresJapanIvan Magalhaes NEGOTIATION
Tony G StockhamIndiaBernardo Dominic RENEWAL
Julie J CaldareraBrazilElwin Sharvill NEGOTIATION
Jennifer T DoeIndiaXuxue Feng QUALIFIED
Jefferson M BowleyArgentinaXuxue Feng QUALIFIED
Darci N BowleyRussiaIoni Bowcher NEGOTIATION
David K DarakjyUnited KingdomAmy Elsner RENEWAL
Jefferson P GauchoCanadaStephen Shaw NEW
Kadeem O PoquetteUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas V ChuiIndiaAnna Fali PROPOSAL
Morrow M VenereGermanyXuxue Feng RENEWAL
Ricardo H MacleadRussiaXuxue Feng QUALIFIED
Izzy S StockhamFranceAsiya Javayant NEGOTIATION
Faith N ShinkoArgentinaAnna Fali QUALIFIED
Leon P MarrierCanadaXuxue Feng NEW
Silvio C ChuiGermanyOnyama Limba PROPOSAL
Stacey K StockhamIndiaAmy Elsner RENEWAL
Claire L NickaJapanAnna Fali NEGOTIATION
Munro G InouyeRussiaXuxue Feng PROPOSAL
Silvio D RoysterFranceAsiya Javayant QUALIFIED
Ashley Q MarrierCanadaBernardo Dominic QUALIFIED
Munro C FollerSpainAsiya Javayant NEGOTIATION
Sinclair M SergiAustraliaOnyama Limba NEW
Sinclair K GarufiSpainAsiya Javayant UNQUALIFIED
James E OldroydIndiaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Rodrigues E Slusarski
James J Glick
Jeanfrancois Y Bolognia
Jeanfrancois R Rulapaugh
Aditya W Waycott
Greenwood E Stenseth
Rodrigues Z Sergi
Arvin U Albares
Greenwood A Stenseth
Leon D Kolmetz
James S Glick
Rodrigues B Poquette
Ashley N Maclead
Mujtaba W Foller
Adams Q Wieser
Tony S Shinko
Stacey D Schemmer
Ashley C Dilliard
Octavia F Poquette
Ricardo I Briddick
Sinclair Y Dilliard
Cody C Tollner
Johnson M Rulapaugh
Chavez S Royster
Arvin C Bolognia
Mujtaba L Kusko
Izzy N Figeroa
Arvin T Stockham
David C Venere
Tony F Tollner
Adams F Tollner
Deepesh L Nestle
Darci X Iturbide
Aika D Ferencz
Leon S Figeroa
Kaitlin C Briddick
Jeanfrancois B Venere
Darci C Caudy
Ricardo L Nestle
Sinclair A Garufi
Deepesh J Kusko
Ricardo O Schemmer
Mujtaba I Sergi
Jefferson Z Kusko
Izzy T Glick
Johnson B Malet
Greenwood Q Butt
Jennifer I Figeroa
Juan Y Gillian
Leja B Amigon
IdCountryDate
1000Canada2026-09-19
1001Brazil2026-09-17
1002Russia2026-09-03
1003Brazil2026-09-17
1004Russia2026-09-02
1005United Kingdom2026-08-28
1006United Kingdom2026-09-14
1007Japan2026-09-18
1008India2026-09-18
1009Canada2026-09-02
1010United Kingdom2026-09-10
1011France2026-09-16
1012Japan2026-09-06
1013United Kingdom2026-09-12
1014Australia2026-09-01
1015Australia2026-09-08
1016France2026-09-11
1017Brazil2026-09-11
1018Canada2026-09-09
1019Canada2026-09-17
1020Argentina2026-08-26
1021United Kingdom2026-09-15
1022Canada2026-09-12
1023Canada2026-09-14
1024United Kingdom2026-09-14
1025Japan2026-08-27
1026Italy2026-09-05
1027Italy2026-09-13
1028United Kingdom2026-09-05
1029India2026-09-21
1030Brazil2026-08-29
1031Argentina2026-09-03
1032Australia2026-08-27
1033India2026-09-06
1034Australia2026-08-23
1035Germany2026-09-11
1036Italy2026-08-26
1037Argentina2026-09-10
1038Italy2026-09-19
1039France2026-09-13
1040Russia2026-09-13
1041Russia2026-09-09
1042India2026-09-15
1043France2026-08-28
1044Japan2026-09-21
1045Germany2026-09-10
1046United Kingdom2026-08-26
1047Australia2026-09-08
1048United Kingdom2026-09-10
1049France2026-09-17

On-Demand Data

NameIdCountryDate
Mujtaba K Nestle1000Italy2026-09-13
Maisha T Doe1001Russia2026-09-08
Arvin T Maclead1002Australia2026-09-19
Tony M Bolognia1003United Kingdom2026-09-01
Jennifer X Ostrosky1004United Kingdom2026-08-25
Silvio K Gaucho1005India2026-09-20
Johnson W Figeroa1006Russia2026-09-14
Juan T Kolmetz1007Russia2026-08-30
Isabel A Briddick1008Canada2026-09-12
Octavia E Caudy1009Brazil2026-08-31
Darci U Poquette1010India2026-09-15
Cody J Whobrey1011Brazil2026-09-20
Aditya R Doe1012Australia2026-09-10
Leon A Foller1013Canada2026-09-08
Claire K Oldroyd1014United Kingdom2026-09-20
Costa C Stockham1015Japan2026-09-18
Arvin R Kolmetz1016Argentina2026-09-11
Aditya E Gillian1017Argentina2026-09-17
Aruna Q Butt1018Russia2026-09-20
Silvio D Flosi1019Australia2026-08-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily W PerinUnited KingdomAnna Fali NEW
Jennifer L SlusarskiBrazilAnna Fali PROPOSAL
Aruna T PaprockiIndiaStephen Shaw UNQUALIFIED
Salvatore E SergiFranceBernardo Dominic QUALIFIED
Alejandro Z CaudyFranceAmy Elsner NEW
Stacey W InouyeFranceAnna Fali NEGOTIATION
Silvio F KuskoFranceStephen Shaw NEGOTIATION
Antonio J MorascaCanadaAnna Fali PROPOSAL
Stacey Y NickaSpainAmy Elsner PROPOSAL
Nicolas D KuskoUnited KingdomElwin Sharvill RENEWAL
Misaki J VocelkaAustraliaIoni Bowcher NEGOTIATION
Cody O RimGermanyAmy Elsner QUALIFIED
Jefferson I GlickAustraliaAmy Elsner RENEWAL
Darci R InouyeSpainAsiya Javayant PROPOSAL
Aika M SlusarskiAustraliaIoni Bowcher NEGOTIATION
Leja K DilliardIndiaBernardo Dominic NEW
Rodrigues I PaprockiRussiaElwin Sharvill NEGOTIATION
Mayumi L MaletCanadaXuxue Feng UNQUALIFIED
Izzy T InouyeBrazilXuxue Feng QUALIFIED
Aruna S RimCanadaOnyama Limba QUALIFIED
Johnson I TollnerArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois Q TollnerItalyXuxue Feng NEGOTIATION
Tony T FollerItalyAsiya Javayant NEGOTIATION
Smith I MaletGermanyBernardo Dominic UNQUALIFIED
Arvin O MaletRussiaAsiya Javayant PROPOSAL
Nicolas Z InouyeSpainAmy Elsner NEW
Adams C RoysterSpainAnna Fali NEW
Johnson V RoysterBrazilStephen Shaw QUALIFIED
Alejandro H FigeroaUnited KingdomAsiya Javayant NEW
Morrow M DarakjyBrazilAmy Elsner PROPOSAL
Jeanfrancois F RutaRussiaElwin Sharvill UNQUALIFIED
Kaitlin H DarakjyFranceAmy Elsner NEW
Juan V PoquetteGermanyElwin Sharvill NEGOTIATION
Aruna G DarakjyUnited KingdomIoni Bowcher PROPOSAL
Munro X StockhamGermanyAnna Fali NEGOTIATION
Misaki Q WieserItalyIoni Bowcher QUALIFIED
James E WaycottArgentinaStephen Shaw UNQUALIFIED
Aruna P ChuiUnited KingdomIoni Bowcher NEGOTIATION
Chavez H IturbideItalyXuxue Feng NEGOTIATION
Antonio Y ButtUnited KingdomOnyama Limba 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>