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
Salvatore L SaylorsRussiaIvan Magalhaes RENEWAL
Mayumi G StensethGermanyAsiya Javayant RENEWAL
Rodrigues F NickaCanadaBernardo Dominic NEGOTIATION
Darci W StensethItalyAnna Fali UNQUALIFIED
Johnson N MacleadArgentinaOnyama Limba NEGOTIATION
Arvin G MaletRussiaXuxue Feng RENEWAL
James K WieserSpainAsiya Javayant QUALIFIED
Antonio Z FigeroaUnited KingdomXuxue Feng RENEWAL
Darci K MorascaUnited KingdomAmy Elsner PROPOSAL
Alejandro Y GarufiIndiaBernardo Dominic NEGOTIATION
Darci D BriddickCanadaOnyama Limba RENEWAL
James M CaldareraJapanIvan Magalhaes QUALIFIED
Leja W TollnerArgentinaAsiya Javayant PROPOSAL
Silvio C RimAustraliaOnyama Limba QUALIFIED
Leon X CaldareraRussiaIoni Bowcher UNQUALIFIED
Maria J RoysterJapanOnyama Limba QUALIFIED
Clifford R SchemmerJapanAnna Fali PROPOSAL
Sinclair W FerenczGermanyElwin Sharvill QUALIFIED
Arvin Q MarrierJapanElwin Sharvill NEGOTIATION
Alejandro G DarakjyFranceXuxue Feng UNQUALIFIED
Julie Q FollerIndiaIvan Magalhaes NEW
Kadeem X MacleadGermanyAmy Elsner QUALIFIED
Murillo D DoeGermanyAnna Fali NEW
Salvatore W DarakjyAustraliaIoni Bowcher NEW
Costa P DarakjyUnited KingdomXuxue Feng NEW
Ricardo X SchemmerJapanXuxue Feng QUALIFIED
Ashley Z WieserSpainAmy Elsner NEW
Faith G GillianItalyStephen Shaw UNQUALIFIED
Jeanfrancois Z StensethIndiaAmy Elsner PROPOSAL
Rodrigues N FerenczItalyAnna Fali PROPOSAL
Izzy P CaudyCanadaBernardo Dominic UNQUALIFIED
Ricardo I GarufiCanadaXuxue Feng NEGOTIATION
Rodrigues B WhobreyIndiaXuxue Feng NEW
Juan V RimBrazilIoni Bowcher UNQUALIFIED
Arvin N FollerArgentinaIoni Bowcher UNQUALIFIED
Chavez I VocelkaAustraliaIoni Bowcher QUALIFIED
Isabel Y SlusarskiRussiaIoni Bowcher QUALIFIED
Julie W NestleSpainIvan Magalhaes NEW
Arvin A WaycottIndiaAsiya Javayant NEGOTIATION
Faith U FigeroaAustraliaAsiya Javayant RENEWAL
Faith P CampainIndiaIoni Bowcher RENEWAL
Tony D KuskoRussiaXuxue Feng PROPOSAL
Mayumi Z WieserSpainBernardo Dominic NEGOTIATION
Jefferson C MarrierCanadaIvan Magalhaes PROPOSAL
Aruna C MorascaGermanyAnna Fali PROPOSAL
Aditya V ShinkoBrazilElwin Sharvill QUALIFIED
Chavez M PerinRussiaAmy Elsner QUALIFIED
Murillo A PaprockiJapanIvan Magalhaes NEW
Arvin Q GillianItalyBernardo Dominic PROPOSAL
Johnson N CaldareraCanadaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams Q MaletUnited KingdomXuxue Feng UNQUALIFIED
Ivar N FollerBrazilIvan Magalhaes QUALIFIED
Adams A CaldareraRussiaAmy Elsner QUALIFIED
Leja L PaprockiBrazilBernardo Dominic NEW
Kaitlin S AlbaresUnited KingdomBernardo Dominic NEW
Cody A RulapaughFranceBernardo Dominic UNQUALIFIED
Jefferson E MaletFranceIvan Magalhaes UNQUALIFIED
Adams F StensethGermanyAmy Elsner UNQUALIFIED
Kaitlin A PoquetteArgentinaIoni Bowcher UNQUALIFIED
Adams K RulapaughBrazilAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin G FlosiGermany2026-09-22Chanay, Jeffrey A Esq NEGOTIATION97Stephen Shaw
1001Clifford Y CaudyCanada2026-09-09King, Christopher A Esq RENEWAL14Ioni Bowcher
1002Deepesh M FollerBrazil2026-09-17Chemel, James L Cpa PROPOSAL14Stephen Shaw
1003Jeanfrancois S FigeroaRussia2026-09-11Chemel, James L Cpa RENEWAL72Onyama Limba
1004Jones G VocelkaGermany2026-10-06Dorl, James J Esq QUALIFIED66Bernardo Dominic
1005Tony P BologniaGermany2026-09-19Buckley Miller Wright NEW61Ioni Bowcher
1006Antonio A GlickGermany2026-09-21Rangoni Of Florence UNQUALIFIED10Asiya Javayant
1007Misaki R BowleyJapan2026-09-21Rousseaux, Michael Esq NEW62Bernardo Dominic
1008Leja N FlosiSpain2026-09-25Buckley Miller Wright PROPOSAL18Ivan Magalhaes
1009Faith V CaudyBrazil2026-09-17King, Christopher A Esq RENEWAL15Stephen Shaw
1010Tony S ChuiArgentina2026-09-19Truhlar And Truhlar Attys QUALIFIED85Onyama Limba
1011Emily G BriddickRussia2026-10-07Commercial Press NEW61Bernardo Dominic
1012Ivar B GauchoArgentina2026-09-15Chemel, James L Cpa NEGOTIATION67Ioni Bowcher
1013Sinclair R MaletFrance2026-09-15King, Christopher A Esq UNQUALIFIED57Amy Elsner
1014Darci H MacleadCanada2026-09-29Printing Dimensions UNQUALIFIED74Ivan Magalhaes
1015Mayumi X MaletArgentina2026-10-05Morlong Associates UNQUALIFIED65Onyama Limba
1016Mujtaba I KuskoAustralia2026-09-14Chapman, Ross E Esq RENEWAL19Amy Elsner
1017Ashley T StockhamItaly2026-09-15Printing Dimensions PROPOSAL23Xuxue Feng
1018Faith D SchemmerCanada2026-09-10Dorl, James J Esq NEW99Elwin Sharvill
1019Aditya P SchemmerArgentina2026-10-02Chapman, Ross E Esq QUALIFIED79Stephen Shaw
1020Tony X CaudyFrance2026-09-10Dorl, James J Esq PROPOSAL99Xuxue Feng
1021Rodrigues R RimCanada2026-09-16Benton, John B Jr UNQUALIFIED67Ioni Bowcher
1022Darci K CaldareraSpain2026-09-13Rousseaux, Michael Esq PROPOSAL68Xuxue Feng
1023Mujtaba G IturbideItaly2026-09-27Truhlar And Truhlar Attys RENEWAL95Elwin Sharvill
1024Misaki J WieserAustralia2026-09-20Truhlar And Truhlar Attys QUALIFIED86Bernardo Dominic
1025Stacey M GlickCanada2026-09-25King, Christopher A Esq PROPOSAL43Stephen Shaw
1026Mujtaba H ChuiArgentina2026-09-12Chanay, Jeffrey A Esq RENEWAL74Amy Elsner
1027Darci U GarufiSpain2026-09-26Chemel, James L Cpa UNQUALIFIED3Xuxue Feng
1028Mayumi H FollerIndia2026-09-10Morlong Associates NEW13Bernardo Dominic
1029Jeanfrancois J MarrierItaly2026-10-06Buckley Miller Wright PROPOSAL38Bernardo Dominic
1030Smith M FlosiUnited Kingdom2026-10-05Rousseaux, Michael Esq NEW55Elwin Sharvill
1031Chavez L BologniaJapan2026-09-19Printing Dimensions PROPOSAL32Xuxue Feng
1032Smith K StockhamJapan2026-09-08Commercial Press NEW49Xuxue Feng
1033Ivar S VocelkaItaly2026-09-22Benton, John B Jr NEGOTIATION89Anna Fali
1034Murillo O PaprockiGermany2026-09-25Buckley Miller Wright RENEWAL33Asiya Javayant
1035Stacey S MaletAustralia2026-10-05Chemel, James L Cpa QUALIFIED72Elwin Sharvill
1036Arvin N SaylorsSpain2026-09-14Feiner Bros NEGOTIATION4Amy Elsner
1037Octavia S PerinGermany2026-09-12Printing Dimensions NEGOTIATION96Elwin Sharvill
1038Nicolas S StockhamRussia2026-09-13King, Christopher A Esq RENEWAL41Asiya Javayant
1039Octavia E ChuiIndia2026-09-13Feiner Bros PROPOSAL4Bernardo Dominic
1040Aditya G FigeroaArgentina2026-10-01King, Christopher A Esq QUALIFIED43Amy Elsner
1041Johnson V PoquetteArgentina2026-10-05King, Christopher A Esq QUALIFIED66Asiya Javayant
1042James B RoysterSpain2026-09-29Rangoni Of Florence NEW70Amy Elsner
1043Francesco J StensethGermany2026-10-05Benton, John B Jr UNQUALIFIED49Ioni Bowcher
1044Maria T GauchoGermany2026-09-12Commercial Press RENEWAL14Ioni Bowcher
1045Stacey X GarufiUnited Kingdom2026-09-15Feiner Bros RENEWAL27Anna Fali
1046Aruna C SaylorsUnited Kingdom2026-09-16Commercial Press RENEWAL59Elwin Sharvill
1047Ricardo U StensethBrazil2026-10-02Chapman, Ross E Esq QUALIFIED94Bernardo Dominic
1048Rodrigues P BriddickCanada2026-10-02Commercial Press UNQUALIFIED70Asiya Javayant
1049Sinclair L SaylorsIndia2026-09-10Feiner Bros QUALIFIED9Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Maisha F OldroydSpainAnna Fali RENEWAL
Faith K OldroydRussiaXuxue Feng RENEWAL
Jefferson I StensethAustraliaIoni Bowcher UNQUALIFIED
Maria N StensethGermanyXuxue Feng QUALIFIED
Munro Q RutaCanadaXuxue Feng QUALIFIED
Leja E OstroskyUnited KingdomIvan Magalhaes NEGOTIATION
Antonio R SlusarskiFranceElwin Sharvill QUALIFIED
Faith S BowleyIndiaBernardo Dominic NEGOTIATION
Greenwood I ShinkoCanadaAnna Fali PROPOSAL
Jennifer C SaylorsGermanyOnyama Limba NEGOTIATION
Mujtaba I AmigonFranceBernardo Dominic RENEWAL
Adams X BologniaGermanyXuxue Feng PROPOSAL
Darci S RutaItalyIvan Magalhaes UNQUALIFIED
Rodrigues J FerenczIndiaElwin Sharvill PROPOSAL
Murillo F SchemmerUnited KingdomAmy Elsner QUALIFIED
David N GlickBrazilAnna Fali NEW
Jones C CampainIndiaElwin Sharvill UNQUALIFIED
Stacey Z OldroydItalyIvan Magalhaes NEW
Juan T VenereGermanyAmy Elsner PROPOSAL
Leon Q IturbideGermanyElwin Sharvill PROPOSAL
Darci J MaletFranceIoni Bowcher QUALIFIED
Antonio I NestleItalyIvan Magalhaes NEW
Julie F GauchoFranceIvan Magalhaes UNQUALIFIED
Chavez N KolmetzGermanyXuxue Feng PROPOSAL
Silvio F IturbideIndiaStephen Shaw RENEWAL
Aditya Z SchemmerIndiaXuxue Feng UNQUALIFIED
Juan G RulapaughSpainElwin Sharvill QUALIFIED
Nicolas G ButtItalyXuxue Feng PROPOSAL
Claire C GarufiSpainElwin Sharvill NEW
Costa I BriddickRussiaElwin Sharvill NEGOTIATION
Murillo Z StockhamAustraliaBernardo Dominic NEW
Mujtaba M MaletCanadaBernardo Dominic NEW
Rodrigues Q InouyeAustraliaAsiya Javayant RENEWAL
Emily N SaylorsAustraliaIoni Bowcher RENEWAL
Mayumi U StensethBrazilIoni Bowcher PROPOSAL
Antonio D FollerCanadaElwin Sharvill QUALIFIED
Jefferson T AlbaresCanadaAmy Elsner QUALIFIED
Jennifer V VenereIndiaBernardo Dominic QUALIFIED
James Q FerenczUnited KingdomAsiya Javayant QUALIFIED
Maisha K FlosiCanadaIvan Magalhaes UNQUALIFIED
Jennifer Q MarrierJapanIoni Bowcher RENEWAL
Stacey G CaudyJapanAmy Elsner QUALIFIED
Kadeem Z SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Greenwood Q OldroydCanadaOnyama Limba RENEWAL
Aika N BriddickUnited KingdomStephen Shaw UNQUALIFIED
Mayumi T VocelkaIndiaOnyama Limba RENEWAL
Izzy X RoysterJapanAsiya Javayant RENEWAL
Wickens E InouyeAustraliaIoni Bowcher NEGOTIATION
Cody O BowleyArgentinaStephen Shaw NEW
Munro K FigeroaJapanIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Julie Y Nestle
Mujtaba B Rulapaugh
Greenwood A Venere
Aika D Amigon
Deepesh O Oldroyd
Morrow J Maclead
Claire K Poquette
Aruna B Wieser
David U Stockham
Leon G Figeroa
Smith Q Iturbide
Morrow H Ferencz
Misaki C Whobrey
Greenwood X Paprocki
Leon T Briddick
Mayumi R Gaucho
Nicolas Q Nicka
Greenwood K Waycott
Mayumi Z Paprocki
Chavez P Maclead
Rodrigues Y Oldroyd
Costa X Inouye
Sinclair R Stenseth
Antonio U Saylors
Nicolas T Marrier
Adams H Figeroa
Nicolas I Flosi
Wickens Q Nicka
Francesco Q Garufi
Claire F Bolognia
Darci M Kusko
Aditya Y Foller
Alejandro A Saylors
Munro P Kolmetz
Juan O Rulapaugh
Kadeem Z Ferencz
James C Ferencz
Clifford J Bolognia
Izzy K Paprocki
Juan O Campain
Sinclair Y Bowley
Ivar K Poquette
Wickens G Bowley
Sinclair P Nestle
Juan W Venere
Jeanfrancois H Flosi
Mayumi S Venere
Jeanfrancois C Royster
Claire B Wieser
David L Figeroa
IdCountryDate
1000Argentina2026-09-18
1001Germany2026-09-24
1002India2026-09-17
1003Brazil2026-09-15
1004Australia2026-09-26
1005India2026-09-29
1006Argentina2026-09-09
1007Russia2026-09-19
1008Argentina2026-09-25
1009Spain2026-10-05
1010Brazil2026-09-24
1011Germany2026-09-23
1012Argentina2026-09-26
1013Argentina2026-10-04
1014United Kingdom2026-09-28
1015Japan2026-09-17
1016Russia2026-09-15
1017Australia2026-09-09
1018Spain2026-09-22
1019Japan2026-09-12
1020Brazil2026-09-28
1021Italy2026-09-19
1022Italy2026-10-02
1023Germany2026-10-02
1024Spain2026-10-07
1025Argentina2026-09-18
1026Canada2026-10-07
1027Spain2026-10-03
1028United Kingdom2026-09-16
1029India2026-10-07
1030United Kingdom2026-09-09
1031Australia2026-09-16
1032Argentina2026-09-13
1033India2026-10-05
1034Brazil2026-09-08
1035Canada2026-09-29
1036India2026-10-01
1037Canada2026-10-02
1038Russia2026-09-29
1039Argentina2026-09-30
1040Japan2026-09-20
1041Germany2026-09-29
1042Japan2026-09-26
1043France2026-09-11
1044Canada2026-09-25
1045Australia2026-09-26
1046Germany2026-09-24
1047Germany2026-09-15
1048Spain2026-09-09
1049Japan2026-09-17

On-Demand Data

NameIdCountryDate
Kadeem Z Caldarera1000Italy2026-09-13
Ashley K Iturbide1001Canada2026-10-05
Ashley P Waycott1002Canada2026-09-13
Adams H Morasca1003Australia2026-10-02
David Q Vocelka1004India2026-10-04
Jennifer D Whobrey1005Spain2026-10-07
Jennifer C Caldarera1006Brazil2026-09-10
Nicolas C Caudy1007Germany2026-10-02
Antonio H Tollner1008Brazil2026-09-20
Kadeem F Shinko1009United Kingdom2026-09-11
Arvin Y Stenseth1010France2026-09-19
Johnson X Waycott1011Argentina2026-10-01
Maria K Venere1012France2026-09-20
Kaitlin P Campain1013Germany2026-09-21
Juan Q Glick1014Australia2026-09-28
Misaki G Caudy1015Japan2026-09-24
Smith G Gaucho1016India2026-09-13
Ashley C Vocelka1017Canada2026-09-28
Jeanfrancois Z Caldarera1018Spain2026-09-11
Arvin S Amigon1019Japan2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan G SaylorsBrazilIoni Bowcher QUALIFIED
Maria X MaletCanadaIvan Magalhaes PROPOSAL
Jennifer K IturbideIndiaElwin Sharvill UNQUALIFIED
Sinclair O CaldareraGermanyAsiya Javayant RENEWAL
Francesco M CampainRussiaAsiya Javayant QUALIFIED
Kadeem D FerenczFranceAmy Elsner PROPOSAL
Octavia Q MacleadSpainStephen Shaw NEGOTIATION
Juan K CaldareraCanadaAnna Fali NEGOTIATION
Isabel C NestleJapanAmy Elsner PROPOSAL
Johnson N SergiRussiaAsiya Javayant PROPOSAL
Smith D RulapaughIndiaAmy Elsner NEGOTIATION
Greenwood D WieserJapanAmy Elsner NEGOTIATION
Deepesh C RulapaughRussiaStephen Shaw PROPOSAL
Leon L CaldareraGermanyElwin Sharvill PROPOSAL
Costa J ShinkoRussiaAnna Fali UNQUALIFIED
Arvin V KolmetzSpainOnyama Limba PROPOSAL
Sinclair I GlickUnited KingdomIoni Bowcher UNQUALIFIED
David W KuskoAustraliaAmy Elsner NEGOTIATION
Rodrigues S TollnerGermanyAsiya Javayant PROPOSAL
Emily W WhobreyGermanyStephen Shaw QUALIFIED
Rodrigues Y MaletCanadaIvan Magalhaes RENEWAL
Aika F VenereJapanXuxue Feng UNQUALIFIED
Murillo I DarakjyAustraliaXuxue Feng UNQUALIFIED
Tony O AmigonRussiaAmy Elsner NEGOTIATION
Deepesh B RimJapanOnyama Limba NEW
David U MarrierRussiaElwin Sharvill PROPOSAL
Mayumi S MorascaItalyBernardo Dominic PROPOSAL
Sinclair S WaycottItalyBernardo Dominic QUALIFIED
Costa L NickaCanadaOnyama Limba PROPOSAL
Tony Z GauchoSpainIoni Bowcher PROPOSAL
Juan F RoysterRussiaStephen Shaw NEGOTIATION
Rodrigues K BowleyBrazilIvan Magalhaes UNQUALIFIED
Greenwood K ChuiAustraliaAmy Elsner NEW
Izzy P MacleadAustraliaIoni Bowcher UNQUALIFIED
Aika M FlosiGermanyElwin Sharvill NEW
Greenwood Q DilliardArgentinaIoni Bowcher PROPOSAL
Aditya O TollnerItalyIvan Magalhaes UNQUALIFIED
Costa W CaldareraArgentinaStephen Shaw QUALIFIED
Leon W WhobreyFranceAnna Fali QUALIFIED
Jeanfrancois P DilliardBrazilAmy Elsner QUALIFIED

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