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
Tony L CampainSpainAsiya Javayant QUALIFIED
Faith U InouyeSpainAsiya Javayant NEGOTIATION
Arvin J MaletIndiaAnna Fali PROPOSAL
Leon N SaylorsUnited KingdomIoni Bowcher UNQUALIFIED
Clifford Q StockhamCanadaXuxue Feng PROPOSAL
Aika S CaldareraArgentinaAnna Fali NEGOTIATION
James Y AmigonJapanIvan Magalhaes NEGOTIATION
Leon Q ChuiBrazilXuxue Feng QUALIFIED
Salvatore J FigeroaItalyAmy Elsner QUALIFIED
Jefferson Z OldroydSpainStephen Shaw UNQUALIFIED
Kadeem W AmigonJapanOnyama Limba QUALIFIED
Maria K VocelkaAustraliaAsiya Javayant PROPOSAL
Jennifer D SchemmerFranceAsiya Javayant NEW
Salvatore Y FigeroaJapanXuxue Feng NEW
Silvio D KolmetzUnited KingdomXuxue Feng NEW
Ivar G RoysterGermanyXuxue Feng QUALIFIED
Juan W NestleArgentinaIoni Bowcher NEW
Darci M DilliardFranceOnyama Limba PROPOSAL
Silvio G VocelkaRussiaAmy Elsner QUALIFIED
David E BologniaJapanStephen Shaw NEGOTIATION
Adams J AlbaresGermanyBernardo Dominic QUALIFIED
Antonio E ButtGermanyXuxue Feng NEW
Mayumi G DoeItalyIvan Magalhaes UNQUALIFIED
Jeanfrancois R KolmetzRussiaAnna Fali PROPOSAL
Clifford G TollnerItalyIvan Magalhaes NEGOTIATION
Isabel W RimUnited KingdomAmy Elsner RENEWAL
Morrow R SaylorsCanadaIvan Magalhaes PROPOSAL
Ashley Z PaprockiSpainAmy Elsner RENEWAL
Misaki I SchemmerAustraliaElwin Sharvill QUALIFIED
Rodrigues D StockhamSpainBernardo Dominic PROPOSAL
Wickens P OldroydItalyXuxue Feng UNQUALIFIED
Stacey E StockhamFranceStephen Shaw PROPOSAL
Jefferson K ChuiAustraliaElwin Sharvill NEW
Emily U CaudySpainAsiya Javayant QUALIFIED
Darci B OstroskyCanadaIvan Magalhaes RENEWAL
Tony G FollerUnited KingdomIoni Bowcher RENEWAL
Maisha C VocelkaAustraliaOnyama Limba NEW
Emily D MorascaSpainOnyama Limba QUALIFIED
Claire D MacleadIndiaXuxue Feng UNQUALIFIED
Smith G OldroydArgentinaElwin Sharvill NEGOTIATION
Mujtaba F SaylorsGermanyOnyama Limba NEW
Claire Y IturbideUnited KingdomIvan Magalhaes NEGOTIATION
Octavia A PerinUnited KingdomAsiya Javayant PROPOSAL
Smith I ShinkoItalyIvan Magalhaes QUALIFIED
Ricardo F BologniaCanadaIvan Magalhaes PROPOSAL
Sinclair R MacleadUnited KingdomElwin Sharvill QUALIFIED
Alejandro W RimBrazilBernardo Dominic RENEWAL
Mayumi L SergiSpainIvan Magalhaes PROPOSAL
Rodrigues K RulapaughItalyElwin Sharvill NEGOTIATION
Greenwood X GarufiSpainIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aditya A RulapaughCanadaOnyama Limba NEGOTIATION
Claire V CampainJapanAmy Elsner RENEWAL
Juan K MorascaCanadaBernardo Dominic RENEWAL
Ashley Z GillianRussiaAsiya Javayant UNQUALIFIED
Nicolas O OldroydRussiaElwin Sharvill NEGOTIATION
Jones L FollerJapanIoni Bowcher NEGOTIATION
Antonio D MaletAustraliaBernardo Dominic RENEWAL
Mujtaba M SaylorsUnited KingdomOnyama Limba RENEWAL
Octavia U MorascaUnited KingdomXuxue Feng QUALIFIED
Kaitlin H FigeroaItalyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley I CaldareraFrance2026-10-05King, Christopher A Esq RENEWAL24Anna Fali
1001Izzy L AlbaresGermany2026-10-26Chanay, Jeffrey A Esq RENEWAL74Stephen Shaw
1002Sinclair P AmigonSpain2026-10-28Chapman, Ross E Esq NEW85Elwin Sharvill
1003Aruna Y CampainJapan2026-10-28Rangoni Of Florence RENEWAL92Ivan Magalhaes
1004Adams C RimUnited Kingdom2026-11-02Truhlar And Truhlar Attys RENEWAL42Ioni Bowcher
1005Juan X GlickItaly2026-10-31Chanay, Jeffrey A Esq QUALIFIED27Bernardo Dominic
1006Adams H FollerAustralia2026-10-27Benton, John B Jr PROPOSAL32Ioni Bowcher
1007Faith X RimBrazil2026-10-26Commercial Press NEGOTIATION73Ivan Magalhaes
1008Leon N SergiBrazil2026-11-01Dorl, James J Esq NEW37Onyama Limba
1009Francesco B ShinkoUnited Kingdom2026-10-31Dorl, James J Esq RENEWAL67Elwin Sharvill
1010Johnson U WieserSpain2026-10-22Feltz Printing Service QUALIFIED14Elwin Sharvill
1011Kaitlin X GauchoItaly2026-10-06Rangoni Of Florence UNQUALIFIED6Ivan Magalhaes
1012Mayumi B BriddickCanada2026-10-21Rousseaux, Michael Esq QUALIFIED72Xuxue Feng
1013Darci A RoysterBrazil2026-10-08Chanay, Jeffrey A Esq NEW60Anna Fali
1014Mujtaba R SlusarskiFrance2026-10-09Chapman, Ross E Esq RENEWAL59Elwin Sharvill
1015Maisha B WhobreyJapan2026-10-20Morlong Associates RENEWAL46Asiya Javayant
1016Ricardo Z PaprockiRussia2026-10-24Rousseaux, Michael Esq PROPOSAL82Asiya Javayant
1017Aruna U OldroydAustralia2026-10-17Feltz Printing Service NEGOTIATION58Anna Fali
1018Kaitlin Y IturbideGermany2026-10-14King, Christopher A Esq QUALIFIED29Anna Fali
1019Misaki K KolmetzAustralia2026-11-03Chapman, Ross E Esq NEGOTIATION37Stephen Shaw
1020Jefferson V WieserIndia2026-11-01Feiner Bros NEGOTIATION32Asiya Javayant
1021Izzy U SaylorsIndia2026-10-14Feltz Printing Service PROPOSAL53Ioni Bowcher
1022Clifford W StensethArgentina2026-10-30Chemel, James L Cpa NEW97Amy Elsner
1023Tony B DilliardRussia2026-11-03Printing Dimensions NEW39Ivan Magalhaes
1024James G RulapaughUnited Kingdom2026-11-03Rangoni Of Florence QUALIFIED36Anna Fali
1025Wickens M FlosiCanada2026-10-13Chapman, Ross E Esq UNQUALIFIED37Elwin Sharvill
1026Sinclair C OldroydGermany2026-10-17Buckley Miller Wright QUALIFIED73Xuxue Feng
1027Mayumi K BriddickCanada2026-10-20Buckley Miller Wright RENEWAL22Onyama Limba
1028Alejandro Y OldroydCanada2026-10-18Rangoni Of Florence QUALIFIED78Ivan Magalhaes
1029Jefferson W BriddickRussia2026-10-31Buckley Miller Wright UNQUALIFIED87Ioni Bowcher
1030Arvin Y RoysterRussia2026-10-08Dorl, James J Esq PROPOSAL66Asiya Javayant
1031Ricardo B OstroskyArgentina2026-10-10Morlong Associates PROPOSAL93Bernardo Dominic
1032Aika A MaletAustralia2026-10-19Chemel, James L Cpa NEGOTIATION17Ioni Bowcher
1033Jones A MaletItaly2026-10-23Rangoni Of Florence RENEWAL78Bernardo Dominic
1034Kaitlin V AmigonAustralia2026-10-16Truhlar And Truhlar Attys NEW50Bernardo Dominic
1035Kaitlin R ShinkoRussia2026-10-17Feltz Printing Service PROPOSAL79Ivan Magalhaes
1036Morrow C DarakjyItaly2026-10-15Commercial Press QUALIFIED64Xuxue Feng
1037Nicolas G MaletAustralia2026-10-15Printing Dimensions NEW83Elwin Sharvill
1038Octavia H GillianArgentina2026-10-28Chemel, James L Cpa QUALIFIED50Bernardo Dominic
1039Murillo F GillianAustralia2026-10-18Commercial Press NEGOTIATION47Anna Fali
1040Aditya P CaudyUnited Kingdom2026-10-21Buckley Miller Wright NEW70Asiya Javayant
1041Alejandro P NickaRussia2026-10-20King, Christopher A Esq RENEWAL14Asiya Javayant
1042Salvatore E MacleadArgentina2026-10-27Dorl, James J Esq UNQUALIFIED99Ivan Magalhaes
1043Francesco M VocelkaIndia2026-10-05Feiner Bros QUALIFIED71Stephen Shaw
1044Arvin M GarufiUnited Kingdom2026-10-27Morlong Associates NEGOTIATION53Anna Fali
1045Silvio E OldroydArgentina2026-10-21Printing Dimensions UNQUALIFIED1Stephen Shaw
1046Smith Z GillianItaly2026-10-22Truhlar And Truhlar Attys RENEWAL39Stephen Shaw
1047Johnson V CaldareraCanada2026-10-24King, Christopher A Esq PROPOSAL72Anna Fali
1048Clifford K TollnerFrance2026-10-20Commercial Press QUALIFIED26Bernardo Dominic
1049David C PerinFrance2026-10-08Chemel, James L Cpa QUALIFIED58Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ricardo V DarakjyIndiaElwin Sharvill PROPOSAL
Julie C MaletSpainStephen Shaw PROPOSAL
Aika J FollerBrazilXuxue Feng RENEWAL
Arvin T WaycottSpainXuxue Feng PROPOSAL
Deepesh I VenereBrazilIoni Bowcher NEW
Izzy K MarrierJapanIoni Bowcher UNQUALIFIED
Johnson U MacleadArgentinaElwin Sharvill UNQUALIFIED
Aruna T WhobreyIndiaAsiya Javayant UNQUALIFIED
Cody M StensethJapanElwin Sharvill UNQUALIFIED
Aditya O RimGermanyStephen Shaw RENEWAL
Nicolas T SergiJapanIoni Bowcher PROPOSAL
Smith Z BowleySpainAsiya Javayant RENEWAL
Morrow W ButtArgentinaAmy Elsner RENEWAL
Isabel P VocelkaBrazilStephen Shaw RENEWAL
Cody I SaylorsGermanyIoni Bowcher NEW
Adams P PaprockiGermanyIvan Magalhaes NEW
Octavia H PerinFranceOnyama Limba PROPOSAL
Izzy H RulapaughCanadaIoni Bowcher UNQUALIFIED
Kadeem X ChuiArgentinaXuxue Feng UNQUALIFIED
Octavia Y WaycottCanadaAnna Fali QUALIFIED
Jones A ChuiItalyElwin Sharvill QUALIFIED
Jennifer E SergiUnited KingdomOnyama Limba PROPOSAL
Jones K IturbideCanadaAmy Elsner UNQUALIFIED
Misaki Z InouyeIndiaElwin Sharvill QUALIFIED
Maria Z NestleGermanyAsiya Javayant RENEWAL
Aditya Y RutaArgentinaOnyama Limba RENEWAL
Julie C StensethUnited KingdomIoni Bowcher NEGOTIATION
Ricardo F KuskoAustraliaIvan Magalhaes QUALIFIED
Murillo G SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Wickens I VenereRussiaAnna Fali NEGOTIATION
Juan N SergiArgentinaAnna Fali UNQUALIFIED
Ricardo C FlosiSpainAmy Elsner NEGOTIATION
Wickens I GillianBrazilAsiya Javayant NEGOTIATION
Stacey Y InouyeItalyAmy Elsner RENEWAL
Jeanfrancois J GarufiItalyAmy Elsner UNQUALIFIED
Ivar S RutaUnited KingdomOnyama Limba QUALIFIED
Murillo J SergiIndiaAmy Elsner NEW
Leja Z MarrierIndiaElwin Sharvill QUALIFIED
Rodrigues K BriddickJapanIoni Bowcher UNQUALIFIED
Jennifer V SergiSpainBernardo Dominic UNQUALIFIED
Salvatore F OstroskyJapanAmy Elsner RENEWAL
Cody T DoeAustraliaElwin Sharvill NEW
Silvio J WhobreyIndiaIoni Bowcher PROPOSAL
Darci E AlbaresRussiaIoni Bowcher NEGOTIATION
Jennifer J NickaIndiaXuxue Feng NEW
Smith N FigeroaRussiaIoni Bowcher NEW
Francesco Q RimSpainAsiya Javayant NEW
Johnson D RoysterJapanAsiya Javayant NEGOTIATION
Tony G WaycottFranceIoni Bowcher PROPOSAL
Ivar M BowleyAustraliaOnyama Limba QUALIFIED
Frozen Columns
Name
Ashley T Doe
Alejandro T Paprocki
Wickens F Marrier
Claire D Tollner
Munro R Morasca
Aika K Nicka
Stacey T Malet
Stacey A Iturbide
Octavia P Slusarski
Darci M Campain
Alejandro I Paprocki
Mujtaba I Nestle
Darci J Nestle
Deepesh U Darakjy
Misaki J Kusko
Stacey G Malet
Stacey P Gillian
Greenwood B Paprocki
Octavia V Paprocki
Rodrigues W Paprocki
Aruna K Kolmetz
Arvin I Schemmer
Julie J Wieser
Claire L Royster
Faith Z Royster
Nicolas M Malet
Cody B Rim
Johnson D Chui
Jeanfrancois R Saylors
Maisha I Malet
James R Poquette
Emily P Glick
Leja R Ruta
Jefferson S Malet
Jeanfrancois W Dilliard
Rodrigues R Malet
Maisha X Kusko
Juan W Foller
Cody B Saylors
Ivar F Butt
Kadeem N Kolmetz
Salvatore K Wieser
Isabel S Campain
James W Iturbide
Deepesh G Kusko
Ivar P Ruta
Aditya X Gaucho
Jeanfrancois F Malet
Sinclair H Kolmetz
Aditya T Stockham
IdCountryDate
1000Canada2026-10-09
1001Argentina2026-11-02
1002India2026-10-08
1003Spain2026-10-23
1004Canada2026-10-23
1005Germany2026-11-03
1006United Kingdom2026-10-20
1007Australia2026-10-07
1008Japan2026-10-25
1009Germany2026-10-22
1010Italy2026-10-30
1011Australia2026-10-14
1012Japan2026-10-12
1013Italy2026-10-28
1014Japan2026-10-13
1015Russia2026-10-31
1016Italy2026-11-02
1017India2026-10-07
1018India2026-10-31
1019India2026-10-09
1020United Kingdom2026-10-19
1021Germany2026-10-07
1022United Kingdom2026-10-30
1023Spain2026-10-06
1024Spain2026-10-09
1025United Kingdom2026-10-20
1026Russia2026-10-29
1027India2026-10-05
1028Spain2026-10-24
1029Argentina2026-10-18
1030Japan2026-10-16
1031France2026-10-27
1032United Kingdom2026-10-16
1033Germany2026-10-06
1034Brazil2026-10-28
1035Australia2026-11-02
1036United Kingdom2026-10-17
1037Japan2026-10-31
1038Japan2026-10-29
1039Canada2026-10-27
1040Brazil2026-11-02
1041United Kingdom2026-10-12
1042Brazil2026-10-07
1043Italy2026-10-20
1044United Kingdom2026-10-23
1045Japan2026-10-27
1046Brazil2026-10-17
1047Spain2026-10-18
1048Spain2026-10-15
1049Argentina2026-10-20

On-Demand Data

NameIdCountryDate
Wickens F Ferencz1000Russia2026-10-20
Cody R Ferencz1001United Kingdom2026-10-13
Smith P Maclead1002Australia2026-11-03
David S Darakjy1003Spain2026-10-27
Jeanfrancois Y Stockham1004Japan2026-10-20
Silvio H Figeroa1005Spain2026-10-31
Maisha M Slusarski1006Spain2026-10-30
Ashley A Iturbide1007Japan2026-10-16
Tony W Marrier1008Argentina2026-10-19
Kadeem R Perin1009Japan2026-10-18
Ivar P Nicka1010Italy2026-10-31
Arvin R Marrier1011Brazil2026-10-13
Mayumi I Dilliard1012Russia2026-10-09
Jeanfrancois R Malet1013United Kingdom2026-10-29
Stacey W Venere1014Australia2026-10-31
Tony P Vocelka1015India2026-10-26
Greenwood J Gaucho1016Australia2026-10-08
Jeanfrancois U Oldroyd1017Argentina2026-10-19
Smith G Chui1018United Kingdom2026-11-01
Stacey O Nicka1019Argentina2026-10-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha S ButtArgentinaXuxue Feng QUALIFIED
Alejandro E SlusarskiIndiaBernardo Dominic RENEWAL
Silvio K VenereBrazilAsiya Javayant NEGOTIATION
Maisha W SaylorsJapanIoni Bowcher RENEWAL
Jones S KuskoIndiaIoni Bowcher NEW
Leja O PerinItalyXuxue Feng UNQUALIFIED
Isabel V GillianItalyStephen Shaw RENEWAL
Tony Z SchemmerJapanAnna Fali RENEWAL
Misaki A InouyeGermanyElwin Sharvill NEW
Sinclair X GauchoAustraliaElwin Sharvill QUALIFIED
Murillo O SaylorsBrazilElwin Sharvill NEGOTIATION
Stacey X VocelkaUnited KingdomElwin Sharvill NEW
Octavia F RoysterFranceBernardo Dominic RENEWAL
Maisha O AmigonItalyAsiya Javayant UNQUALIFIED
Julie H StensethSpainAmy Elsner RENEWAL
Antonio I GauchoFranceIvan Magalhaes UNQUALIFIED
Jefferson H ShinkoIndiaElwin Sharvill PROPOSAL
Emily Z CaldareraArgentinaAsiya Javayant RENEWAL
Emily G RoysterBrazilIoni Bowcher NEGOTIATION
Maria C CampainFranceIvan Magalhaes NEGOTIATION
Leon S ButtSpainIoni Bowcher QUALIFIED
Jones Y VenereAustraliaAmy Elsner UNQUALIFIED
Aika Z SlusarskiSpainIvan Magalhaes NEGOTIATION
Faith S SaylorsFranceIoni Bowcher NEGOTIATION
Salvatore W BowleyArgentinaElwin Sharvill NEW
Murillo L SaylorsAustraliaAsiya Javayant RENEWAL
Smith Q MaletGermanyAmy Elsner RENEWAL
Adams T DoeCanadaElwin Sharvill QUALIFIED
Ricardo Y MarrierIndiaIoni Bowcher QUALIFIED
Aditya I RimFranceBernardo Dominic QUALIFIED
Leon M BriddickBrazilStephen Shaw QUALIFIED
Darci J MacleadSpainOnyama Limba NEW
James X VocelkaUnited KingdomAnna Fali RENEWAL
Emily D PoquetteItalyIoni Bowcher PROPOSAL
Izzy E StockhamItalyBernardo Dominic NEGOTIATION
Adams Y MaletCanadaOnyama Limba NEGOTIATION
Arvin D NestleArgentinaOnyama Limba NEGOTIATION
Smith N FollerFranceXuxue Feng NEGOTIATION
Alejandro H ShinkoItalyIoni Bowcher RENEWAL
Johnson J PerinUnited KingdomIvan Magalhaes NEGOTIATION

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