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
Costa G VocelkaCanadaAmy Elsner NEGOTIATION
Ricardo K TollnerSpainAsiya Javayant NEGOTIATION
Deepesh H ChuiFranceElwin Sharvill UNQUALIFIED
Aditya W MaletCanadaXuxue Feng QUALIFIED
Cody U SchemmerArgentinaXuxue Feng PROPOSAL
Chavez P MorascaFranceAnna Fali UNQUALIFIED
Aditya S WaycottCanadaIvan Magalhaes NEGOTIATION
Alejandro R FlosiArgentinaXuxue Feng PROPOSAL
Sinclair V PerinFranceAnna Fali QUALIFIED
Smith A FerenczUnited KingdomElwin Sharvill RENEWAL
Ricardo F InouyeAustraliaXuxue Feng RENEWAL
Leja N MaletAustraliaAmy Elsner NEGOTIATION
Jennifer C ShinkoFranceAnna Fali NEGOTIATION
Smith T DilliardAustraliaXuxue Feng NEGOTIATION
Clifford Y StockhamBrazilBernardo Dominic PROPOSAL
Deepesh B AmigonUnited KingdomElwin Sharvill UNQUALIFIED
Isabel Z SergiBrazilIoni Bowcher QUALIFIED
Murillo P RoysterFranceAsiya Javayant NEW
Silvio I MorascaCanadaOnyama Limba RENEWAL
Murillo Z GillianIndiaIoni Bowcher QUALIFIED
Silvio E DilliardRussiaIvan Magalhaes QUALIFIED
Arvin I MaletCanadaXuxue Feng NEGOTIATION
Isabel U ChuiAustraliaAmy Elsner NEW
Claire O BowleyRussiaAnna Fali UNQUALIFIED
Murillo L DoeFranceIvan Magalhaes NEW
Salvatore C WhobreyArgentinaAsiya Javayant UNQUALIFIED
Darci R RimJapanStephen Shaw UNQUALIFIED
Kaitlin O SaylorsJapanOnyama Limba QUALIFIED
Costa J CaldareraAustraliaIoni Bowcher PROPOSAL
Mayumi P WhobreyIndiaIvan Magalhaes QUALIFIED
Tony A SlusarskiIndiaXuxue Feng NEGOTIATION
Emily H SergiAustraliaBernardo Dominic RENEWAL
Greenwood M DilliardCanadaXuxue Feng NEGOTIATION
Juan B AmigonUnited KingdomIvan Magalhaes QUALIFIED
Francesco A DilliardGermanyIvan Magalhaes PROPOSAL
Ivar A DarakjyGermanyIvan Magalhaes NEW
Maria M BriddickAustraliaElwin Sharvill PROPOSAL
Ashley W WaycottFranceAmy Elsner NEGOTIATION
Izzy J PaprockiGermanyXuxue Feng PROPOSAL
Costa W StockhamRussiaBernardo Dominic UNQUALIFIED
Silvio A DoeBrazilBernardo Dominic QUALIFIED
Aruna C DilliardJapanElwin Sharvill QUALIFIED
Johnson N KuskoUnited KingdomOnyama Limba QUALIFIED
Kaitlin R FigeroaJapanAmy Elsner NEGOTIATION
Faith H CaldareraCanadaAmy Elsner NEGOTIATION
Jeanfrancois Q SlusarskiJapanIoni Bowcher UNQUALIFIED
Mujtaba D GlickSpainXuxue Feng RENEWAL
Francesco T BriddickJapanStephen Shaw UNQUALIFIED
Octavia L FerenczIndiaXuxue Feng QUALIFIED
Tony V DoeSpainOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi F SlusarskiItalyBernardo Dominic UNQUALIFIED
Jeanfrancois S RulapaughGermanyXuxue Feng UNQUALIFIED
Johnson N SaylorsUnited KingdomBernardo Dominic RENEWAL
Ashley Z PoquetteFranceIvan Magalhaes UNQUALIFIED
Silvio A DarakjyGermanyIoni Bowcher PROPOSAL
Izzy O GarufiAustraliaStephen Shaw UNQUALIFIED
Stacey C VenereJapanBernardo Dominic QUALIFIED
Costa A GlickRussiaIoni Bowcher NEW
Arvin X RimAustraliaIoni Bowcher PROPOSAL
Murillo I SlusarskiJapanAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem A KolmetzArgentina2026-09-17Feltz Printing Service RENEWAL39Bernardo Dominic
1001Arvin G RoysterCanada2026-09-14Chanay, Jeffrey A Esq NEW26Xuxue Feng
1002Chavez D PaprockiBrazil2026-09-02Feiner Bros UNQUALIFIED80Xuxue Feng
1003Ivar R NickaBrazil2026-09-28Dorl, James J Esq UNQUALIFIED72Asiya Javayant
1004Mujtaba V SaylorsIndia2026-09-10Rangoni Of Florence QUALIFIED43Xuxue Feng
1005Murillo N BriddickIndia2026-09-08Chapman, Ross E Esq RENEWAL85Stephen Shaw
1006Deepesh H BowleyFrance2026-09-15Buckley Miller Wright UNQUALIFIED18Asiya Javayant
1007Deepesh N DoeAustralia2026-09-25Commercial Press PROPOSAL86Elwin Sharvill
1008Jefferson L KuskoSpain2026-09-05Chapman, Ross E Esq QUALIFIED19Ivan Magalhaes
1009Chavez D PoquetteGermany2026-09-27Feltz Printing Service QUALIFIED54Ioni Bowcher
1010Isabel L CampainCanada2026-09-23Buckley Miller Wright PROPOSAL87Bernardo Dominic
1011Sinclair Z GlickCanada2026-09-19Commercial Press NEGOTIATION65Ivan Magalhaes
1012Maisha Z DilliardGermany2026-09-13Morlong Associates NEW28Ivan Magalhaes
1013Wickens T NestleCanada2026-09-20Chemel, James L Cpa NEW63Ioni Bowcher
1014Aditya L DarakjyArgentina2026-09-02Dorl, James J Esq NEGOTIATION87Asiya Javayant
1015Jeanfrancois D MacleadArgentina2026-09-09Rangoni Of Florence RENEWAL56Anna Fali
1016Jennifer L FollerUnited Kingdom2026-09-19Truhlar And Truhlar Attys RENEWAL13Amy Elsner
1017Mujtaba E SaylorsFrance2026-09-05Benton, John B Jr QUALIFIED5Asiya Javayant
1018Sinclair Y StensethAustralia2026-09-12Rangoni Of Florence UNQUALIFIED89Amy Elsner
1019Isabel N StockhamRussia2026-09-18Printing Dimensions PROPOSAL32Onyama Limba
1020Maria Z WhobreyGermany2026-09-03Printing Dimensions RENEWAL86Elwin Sharvill
1021Aruna C MarrierJapan2026-09-27Printing Dimensions QUALIFIED93Bernardo Dominic
1022Jones R RulapaughUnited Kingdom2026-09-17Buckley Miller Wright QUALIFIED58Asiya Javayant
1023Kaitlin C NestleAustralia2026-08-31Buckley Miller Wright QUALIFIED46Asiya Javayant
1024Juan S SaylorsIndia2026-09-13Chemel, James L Cpa PROPOSAL90Xuxue Feng
1025Misaki A RutaArgentina2026-09-14Chapman, Ross E Esq PROPOSAL31Bernardo Dominic
1026Antonio A SergiGermany2026-09-10Buckley Miller Wright PROPOSAL7Ioni Bowcher
1027Aditya C SchemmerCanada2026-09-05Printing Dimensions PROPOSAL21Asiya Javayant
1028Jefferson H PaprockiSpain2026-09-04Truhlar And Truhlar Attys RENEWAL24Anna Fali
1029Jennifer W NestleArgentina2026-09-28Chemel, James L Cpa QUALIFIED5Amy Elsner
1030Munro J BologniaItaly2026-09-13Rousseaux, Michael Esq QUALIFIED18Stephen Shaw
1031Emily B GarufiAustralia2026-09-10Commercial Press RENEWAL26Amy Elsner
1032Salvatore B CaudyBrazil2026-09-01Feiner Bros RENEWAL77Onyama Limba
1033Jeanfrancois Q FerenczArgentina2026-09-28Feiner Bros PROPOSAL73Ivan Magalhaes
1034Mayumi H DilliardGermany2026-08-31Rousseaux, Michael Esq RENEWAL67Ioni Bowcher
1035Antonio Y SaylorsGermany2026-09-14Benton, John B Jr NEW62Ioni Bowcher
1036Juan T RimUnited Kingdom2026-09-26Chemel, James L Cpa PROPOSAL5Onyama Limba
1037Aruna G NestleUnited Kingdom2026-09-19Commercial Press NEGOTIATION75Onyama Limba
1038Cody C TollnerCanada2026-08-31King, Christopher A Esq NEW98Elwin Sharvill
1039Arvin Q PaprockiUnited Kingdom2026-09-01Commercial Press RENEWAL83Bernardo Dominic
1040Greenwood V DoeGermany2026-08-30Morlong Associates UNQUALIFIED43Bernardo Dominic
1041Jefferson O GlickUnited Kingdom2026-09-10Commercial Press PROPOSAL16Stephen Shaw
1042Maisha M OstroskyCanada2026-09-08Feltz Printing Service QUALIFIED50Elwin Sharvill
1043David X MaletAustralia2026-09-05King, Christopher A Esq RENEWAL33Ivan Magalhaes
1044James E CampainGermany2026-08-30Buckley Miller Wright RENEWAL77Stephen Shaw
1045Mujtaba E GillianAustralia2026-09-19Chemel, James L Cpa QUALIFIED89Elwin Sharvill
1046Aditya W FlosiUnited Kingdom2026-09-04Truhlar And Truhlar Attys QUALIFIED69Ivan Magalhaes
1047Ashley P AmigonAustralia2026-09-02Benton, John B Jr NEW69Anna Fali
1048Jeanfrancois X KuskoJapan2026-09-20Buckley Miller Wright RENEWAL0Stephen Shaw
1049Leja Z ChuiItaly2026-09-14Chapman, Ross E Esq PROPOSAL54Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin H WieserCanadaBernardo Dominic NEGOTIATION
Deepesh O OstroskyGermanyElwin Sharvill NEGOTIATION
Arvin T TollnerFranceIvan Magalhaes NEGOTIATION
Maria A KuskoItalyAnna Fali NEW
Isabel E RoysterGermanyAnna Fali NEGOTIATION
Izzy U AlbaresFranceIoni Bowcher NEW
Ashley B SlusarskiRussiaAnna Fali UNQUALIFIED
Smith N DilliardJapanAmy Elsner PROPOSAL
Greenwood D VocelkaJapanElwin Sharvill QUALIFIED
Greenwood A VocelkaGermanyStephen Shaw UNQUALIFIED
Deepesh J BologniaAustraliaIoni Bowcher PROPOSAL
Silvio O WieserCanadaStephen Shaw QUALIFIED
Nicolas Z SaylorsJapanIvan Magalhaes NEW
Aika F FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Jones C GillianAustraliaElwin Sharvill PROPOSAL
Faith O WieserAustraliaAnna Fali PROPOSAL
Juan O SchemmerItalyAnna Fali RENEWAL
Sinclair Y BriddickJapanXuxue Feng NEW
Ivar M GarufiGermanyAsiya Javayant NEW
Julie B OstroskyAustraliaAnna Fali QUALIFIED
Misaki K OldroydBrazilXuxue Feng NEGOTIATION
Clifford Y ChuiItalyBernardo Dominic NEW
David G DarakjyIndiaStephen Shaw RENEWAL
Emily Q GlickFranceElwin Sharvill QUALIFIED
Clifford W RoysterSpainAnna Fali RENEWAL
Octavia Z VenereIndiaBernardo Dominic NEW
Maria T AmigonBrazilElwin Sharvill NEW
Alejandro Y RutaBrazilElwin Sharvill PROPOSAL
Alejandro G MaletAustraliaElwin Sharvill NEW
Rodrigues P TollnerJapanStephen Shaw NEW
Silvio V TollnerFranceAsiya Javayant UNQUALIFIED
Nicolas V VocelkaFranceOnyama Limba UNQUALIFIED
Kadeem X BologniaUnited KingdomXuxue Feng QUALIFIED
David M RimRussiaStephen Shaw NEGOTIATION
Greenwood Z VocelkaBrazilIvan Magalhaes UNQUALIFIED
Antonio Z MarrierIndiaStephen Shaw QUALIFIED
Chavez S RulapaughFranceIvan Magalhaes RENEWAL
Faith E CampainUnited KingdomXuxue Feng PROPOSAL
James D SaylorsRussiaAsiya Javayant RENEWAL
Ivar T MorascaCanadaOnyama Limba UNQUALIFIED
Ashley E SlusarskiGermanyAmy Elsner NEGOTIATION
Johnson Y PaprockiItalyIvan Magalhaes NEW
Claire Q AmigonItalyAmy Elsner UNQUALIFIED
Tony B RimArgentinaBernardo Dominic QUALIFIED
Costa B SaylorsBrazilAmy Elsner NEW
Maisha J CaldareraItalyIvan Magalhaes UNQUALIFIED
Jennifer X SlusarskiJapanElwin Sharvill QUALIFIED
Francesco D WaycottUnited KingdomElwin Sharvill PROPOSAL
Kaitlin W VocelkaArgentinaStephen Shaw QUALIFIED
Johnson M SaylorsGermanyIoni Bowcher RENEWAL
Frozen Columns
Name
Salvatore W Gaucho
Nicolas N Marrier
Jeanfrancois F Poquette
Greenwood I Paprocki
Ricardo A Paprocki
Silvio U Slusarski
Octavia K Caudy
Cody P Butt
James N Paprocki
Francesco H Schemmer
Misaki X Oldroyd
Isabel K Caldarera
Leon I Ruta
Johnson D Foller
Nicolas V Oldroyd
Leja W Glick
Leja U Glick
Julie M Poquette
Morrow L Foller
Aika J Iturbide
Jefferson F Darakjy
Alejandro L Briddick
Deepesh S Slusarski
David X Kolmetz
Murillo S Paprocki
Julie R Sergi
Octavia G Paprocki
Greenwood S Chui
Wickens X Maclead
Francesco I Briddick
Kaitlin U Caudy
Stacey B Dilliard
Claire R Nicka
Cody F Nestle
Tony U Gaucho
Deepesh H Doe
Maria E Slusarski
Salvatore Q Slusarski
Maisha T Dilliard
Greenwood N Iturbide
Stacey K Bolognia
Alejandro R Wieser
Maria Z Poquette
Aika E Perin
Jeanfrancois X Campain
Ashley F Slusarski
Faith B Gaucho
Nicolas T Foller
Jefferson P Butt
Maisha P Royster
IdCountryDate
1000Japan2026-09-20
1001Russia2026-09-22
1002Russia2026-09-07
1003France2026-09-25
1004Germany2026-09-20
1005United Kingdom2026-09-03
1006Spain2026-09-01
1007Argentina2026-09-11
1008Brazil2026-09-18
1009Spain2026-09-03
1010France2026-09-22
1011Brazil2026-09-13
1012Germany2026-09-14
1013Brazil2026-09-08
1014United Kingdom2026-09-21
1015Spain2026-09-03
1016United Kingdom2026-09-03
1017India2026-09-14
1018Argentina2026-08-31
1019United Kingdom2026-09-20
1020Germany2026-09-10
1021Russia2026-09-09
1022Italy2026-09-03
1023Australia2026-09-03
1024Brazil2026-08-31
1025Argentina2026-09-14
1026Italy2026-09-08
1027Japan2026-09-02
1028Canada2026-09-28
1029France2026-09-17
1030India2026-08-30
1031Brazil2026-09-11
1032Germany2026-09-05
1033Germany2026-09-09
1034France2026-09-04
1035India2026-08-30
1036Italy2026-09-18
1037France2026-09-17
1038India2026-09-28
1039Argentina2026-09-07
1040Japan2026-09-16
1041Spain2026-09-19
1042France2026-09-22
1043Brazil2026-09-14
1044Brazil2026-09-21
1045Brazil2026-09-20
1046Canada2026-08-30
1047Spain2026-09-19
1048Russia2026-09-28
1049Japan2026-09-16

On-Demand Data

NameIdCountryDate
Deepesh L Morasca1000France2026-09-26
Alejandro F Doe1001Canada2026-09-14
Aruna N Glick1002Australia2026-09-22
Kaitlin R Perin1003Russia2026-09-02
Munro G Bolognia1004Russia2026-09-07
Jones N Doe1005Germany2026-09-09
Johnson Z Darakjy1006Italy2026-09-22
Leon Y Nicka1007United Kingdom2026-09-27
Octavia O Waycott1008Italy2026-09-09
Murillo Q Kolmetz1009Japan2026-09-25
Misaki O Stenseth1010Spain2026-09-04
Ricardo Q Gillian1011Argentina2026-09-09
Octavia U Maclead1012Argentina2026-09-13
Jeanfrancois P Morasca1013France2026-09-02
Rodrigues S Perin1014India2026-09-22
Octavia E Nicka1015Brazil2026-09-13
Claire G Malet1016Brazil2026-09-05
Wickens S Flosi1017Canada2026-09-22
Leon U Garufi1018Japan2026-09-11
Jeanfrancois X Slusarski1019Italy2026-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens X ShinkoIndiaStephen Shaw UNQUALIFIED
Aditya Q WhobreyItalyXuxue Feng QUALIFIED
Leja V RutaBrazilOnyama Limba QUALIFIED
Nicolas N NickaIndiaIvan Magalhaes NEGOTIATION
Juan I CampainItalyBernardo Dominic UNQUALIFIED
Jones I GarufiCanadaElwin Sharvill NEGOTIATION
Arvin F PoquetteIndiaBernardo Dominic QUALIFIED
Smith B WaycottUnited KingdomAmy Elsner RENEWAL
Ricardo S CampainRussiaOnyama Limba UNQUALIFIED
Mayumi B CaudyRussiaAnna Fali QUALIFIED
Misaki N CaudyFranceIoni Bowcher RENEWAL
Misaki J GarufiJapanOnyama Limba NEW
Ricardo H DarakjyJapanAnna Fali NEW
Aika N BowleyBrazilXuxue Feng RENEWAL
Silvio G PerinCanadaIvan Magalhaes QUALIFIED
Stacey Y DarakjyGermanyStephen Shaw UNQUALIFIED
Sinclair O FollerIndiaAnna Fali NEGOTIATION
Jennifer I CampainSpainOnyama Limba NEGOTIATION
Aika N PaprockiCanadaAsiya Javayant QUALIFIED
Jefferson E WaycottBrazilElwin Sharvill NEGOTIATION
Faith L NestleItalyXuxue Feng NEGOTIATION
Darci N VenereRussiaStephen Shaw NEW
Rodrigues J OldroydRussiaOnyama Limba NEGOTIATION
Clifford H AmigonAustraliaStephen Shaw PROPOSAL
Ashley L WhobreyCanadaStephen Shaw NEGOTIATION
Julie O NestleFranceAsiya Javayant NEW
Jones K SlusarskiBrazilOnyama Limba UNQUALIFIED
Tony E VocelkaJapanIoni Bowcher NEW
Alejandro C WieserRussiaStephen Shaw NEGOTIATION
James F GauchoFranceAsiya Javayant NEGOTIATION
Jennifer C MaletAustraliaElwin Sharvill QUALIFIED
Faith C RutaUnited KingdomBernardo Dominic RENEWAL
Tony P BriddickBrazilStephen Shaw UNQUALIFIED
Julie X TollnerGermanyBernardo Dominic NEGOTIATION
Silvio A AmigonIndiaIvan Magalhaes QUALIFIED
Jeanfrancois J DarakjySpainElwin Sharvill QUALIFIED
Greenwood J SaylorsJapanIvan Magalhaes RENEWAL
Greenwood D BologniaCanadaAmy Elsner UNQUALIFIED
Silvio D AlbaresArgentinaAmy Elsner NEGOTIATION
Murillo C DarakjyJapanXuxue Feng 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>