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
Cody U RutaFranceAsiya Javayant NEGOTIATION
Emily V ChuiAustraliaIvan Magalhaes NEGOTIATION
Murillo W FerenczSpainAnna Fali RENEWAL
Aditya N RulapaughArgentinaAsiya Javayant UNQUALIFIED
Kadeem Q VocelkaBrazilIoni Bowcher NEGOTIATION
Stacey L SaylorsGermanyAmy Elsner UNQUALIFIED
Claire G StockhamUnited KingdomAsiya Javayant NEGOTIATION
Murillo F AlbaresJapanXuxue Feng QUALIFIED
Julie Q VenereFranceBernardo Dominic UNQUALIFIED
Rodrigues N SaylorsIndiaAmy Elsner NEGOTIATION
Nicolas P WieserJapanAsiya Javayant RENEWAL
Maisha I SlusarskiJapanIvan Magalhaes QUALIFIED
Jefferson O GlickIndiaXuxue Feng UNQUALIFIED
Ricardo W BriddickGermanyStephen Shaw RENEWAL
Claire E KuskoBrazilXuxue Feng UNQUALIFIED
Leja J GillianFranceBernardo Dominic RENEWAL
Johnson P PerinUnited KingdomIoni Bowcher NEGOTIATION
Leon A SlusarskiRussiaBernardo Dominic NEGOTIATION
Ashley J BologniaAustraliaIoni Bowcher PROPOSAL
Tony Z StockhamRussiaAnna Fali NEW
Julie S StockhamArgentinaIoni Bowcher RENEWAL
Maisha B StockhamItalyIvan Magalhaes NEW
Emily B StensethUnited KingdomIoni Bowcher NEGOTIATION
Johnson Q CampainRussiaAsiya Javayant PROPOSAL
Ashley Z GauchoFranceAmy Elsner PROPOSAL
Antonio S KuskoItalyXuxue Feng NEGOTIATION
Stacey B RimUnited KingdomAsiya Javayant UNQUALIFIED
Chavez E SaylorsJapanElwin Sharvill RENEWAL
Arvin S FigeroaJapanOnyama Limba QUALIFIED
Sinclair N MarrierIndiaOnyama Limba NEGOTIATION
Morrow P RulapaughCanadaBernardo Dominic NEGOTIATION
Clifford I RimCanadaAmy Elsner QUALIFIED
Aditya T VenereIndiaStephen Shaw NEW
Tony I IturbideJapanAsiya Javayant PROPOSAL
Jeanfrancois Y KuskoAustraliaElwin Sharvill QUALIFIED
Darci B SchemmerIndiaBernardo Dominic RENEWAL
Cody H DarakjyFranceStephen Shaw PROPOSAL
Leja U MacleadRussiaOnyama Limba UNQUALIFIED
Octavia M WaycottFranceOnyama Limba UNQUALIFIED
Jefferson D CaudyArgentinaIoni Bowcher NEGOTIATION
Tony H InouyeBrazilAnna Fali NEW
Ricardo I WaycottAustraliaAmy Elsner NEW
Deepesh U BriddickFranceStephen Shaw RENEWAL
Salvatore I WaycottJapanIvan Magalhaes QUALIFIED
Jennifer Z WhobreyCanadaIoni Bowcher RENEWAL
Jefferson M GlickIndiaElwin Sharvill NEW
Alejandro Z WaycottGermanyBernardo Dominic RENEWAL
Rodrigues Y AmigonAustraliaIoni Bowcher QUALIFIED
Murillo G AlbaresRussiaAmy Elsner NEGOTIATION
Jeanfrancois J PaprockiGermanyAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mayumi X WieserJapanOnyama Limba RENEWAL
Nicolas U RutaBrazilAsiya Javayant UNQUALIFIED
James K FollerUnited KingdomElwin Sharvill UNQUALIFIED
Jeanfrancois P SaylorsRussiaIvan Magalhaes NEGOTIATION
Leon B PerinBrazilXuxue Feng NEGOTIATION
Isabel P BowleyArgentinaAmy Elsner UNQUALIFIED
Clifford K MaletBrazilBernardo Dominic UNQUALIFIED
David T WieserIndiaIvan Magalhaes PROPOSAL
Isabel W AlbaresJapanAsiya Javayant PROPOSAL
Munro Q MaletJapanBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith F SaylorsUnited Kingdom2026-10-05Printing Dimensions UNQUALIFIED85Onyama Limba
1001Arvin K MaletUnited Kingdom2026-10-06Morlong Associates RENEWAL29Amy Elsner
1002Kadeem C KolmetzUnited Kingdom2026-10-11Truhlar And Truhlar Attys RENEWAL94Asiya Javayant
1003Clifford W ShinkoAustralia2026-10-12Feiner Bros RENEWAL4Ivan Magalhaes
1004Darci Q MacleadIndia2026-10-18Feiner Bros QUALIFIED25Elwin Sharvill
1005Clifford K VocelkaFrance2026-09-28Chapman, Ross E Esq NEW24Ivan Magalhaes
1006Cody U ButtUnited Kingdom2026-10-13Chemel, James L Cpa NEW53Ioni Bowcher
1007Clifford I StockhamRussia2026-09-22Morlong Associates QUALIFIED4Asiya Javayant
1008Salvatore E GlickJapan2026-10-17Truhlar And Truhlar Attys PROPOSAL44Stephen Shaw
1009Jefferson N WaycottBrazil2026-10-01Truhlar And Truhlar Attys UNQUALIFIED12Xuxue Feng
1010Johnson B CaldareraJapan2026-10-11Printing Dimensions QUALIFIED56Stephen Shaw
1011Rodrigues Z StensethGermany2026-10-16Rangoni Of Florence UNQUALIFIED70Asiya Javayant
1012James V KuskoItaly2026-10-12Chanay, Jeffrey A Esq QUALIFIED65Xuxue Feng
1013Rodrigues D BologniaRussia2026-09-27Dorl, James J Esq NEGOTIATION37Bernardo Dominic
1014Maria O CaldareraFrance2026-09-26Morlong Associates NEW74Amy Elsner
1015James W InouyeFrance2026-10-07Chanay, Jeffrey A Esq NEGOTIATION12Stephen Shaw
1016Greenwood O BriddickFrance2026-09-29Feiner Bros PROPOSAL84Stephen Shaw
1017Juan P SergiRussia2026-10-08Morlong Associates NEGOTIATION33Bernardo Dominic
1018Aditya P GauchoArgentina2026-10-17Rangoni Of Florence UNQUALIFIED23Bernardo Dominic
1019Darci U CaudyItaly2026-09-27Commercial Press QUALIFIED7Onyama Limba
1020Faith Y ButtItaly2026-09-21Truhlar And Truhlar Attys NEW81Stephen Shaw
1021Morrow A PoquetteSpain2026-10-02Benton, John B Jr PROPOSAL2Elwin Sharvill
1022Murillo J MaletAustralia2026-10-19Feiner Bros RENEWAL85Anna Fali
1023Costa U WaycottUnited Kingdom2026-10-07Feiner Bros PROPOSAL7Ioni Bowcher
1024Leon K NestleBrazil2026-09-30Chapman, Ross E Esq NEGOTIATION61Ivan Magalhaes
1025Leja H FlosiArgentina2026-09-24Morlong Associates QUALIFIED78Onyama Limba
1026Wickens F PoquetteIndia2026-09-30Rangoni Of Florence NEW24Ivan Magalhaes
1027Chavez P PaprockiIndia2026-10-11Rousseaux, Michael Esq QUALIFIED33Ivan Magalhaes
1028Alejandro F AmigonUnited Kingdom2026-09-27King, Christopher A Esq NEW80Ivan Magalhaes
1029Chavez O GarufiSpain2026-09-30Buckley Miller Wright UNQUALIFIED7Bernardo Dominic
1030Emily N VocelkaSpain2026-10-02Rousseaux, Michael Esq QUALIFIED52Asiya Javayant
1031Ricardo S VenereIndia2026-10-07Commercial Press RENEWAL45Ivan Magalhaes
1032Francesco D RoysterSpain2026-09-28Rousseaux, Michael Esq UNQUALIFIED68Anna Fali
1033Antonio Q IturbideFrance2026-10-11Feiner Bros NEW1Stephen Shaw
1034Rodrigues N NestleUnited Kingdom2026-10-07Rousseaux, Michael Esq NEW56Asiya Javayant
1035Alejandro Y FerenczUnited Kingdom2026-10-15Rousseaux, Michael Esq PROPOSAL83Stephen Shaw
1036Alejandro V AlbaresGermany2026-10-10Chapman, Ross E Esq QUALIFIED12Bernardo Dominic
1037Adams K DoeJapan2026-09-27Printing Dimensions NEW5Amy Elsner
1038Deepesh J DilliardArgentina2026-09-23Morlong Associates RENEWAL74Ioni Bowcher
1039Faith X FlosiFrance2026-10-13Chanay, Jeffrey A Esq UNQUALIFIED80Anna Fali
1040Munro D PoquetteAustralia2026-09-29Chanay, Jeffrey A Esq UNQUALIFIED95Anna Fali
1041Ricardo X MarrierUnited Kingdom2026-09-30Truhlar And Truhlar Attys NEW5Anna Fali
1042Maisha R NickaAustralia2026-10-11Feltz Printing Service QUALIFIED93Xuxue Feng
1043Aditya T VocelkaItaly2026-10-07Commercial Press NEW29Elwin Sharvill
1044Maria G BologniaJapan2026-10-01Chemel, James L Cpa QUALIFIED14Onyama Limba
1045Darci Q PaprockiFrance2026-10-15Buckley Miller Wright NEGOTIATION47Bernardo Dominic
1046Stacey F ChuiFrance2026-10-19Chemel, James L Cpa NEW46Bernardo Dominic
1047Isabel K PaprockiItaly2026-09-26Printing Dimensions QUALIFIED83Ioni Bowcher
1048Leon L PerinUnited Kingdom2026-10-19Chemel, James L Cpa NEW43Onyama Limba
1049Ashley D MorascaItaly2026-10-16Feiner Bros QUALIFIED9Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ashley Z MaletGermanyIoni Bowcher UNQUALIFIED
Chavez M DilliardBrazilXuxue Feng QUALIFIED
Salvatore J SergiSpainIoni Bowcher PROPOSAL
Arvin E ButtFranceAnna Fali PROPOSAL
Silvio D MacleadRussiaElwin Sharvill QUALIFIED
Aika M NestleItalyIoni Bowcher UNQUALIFIED
Isabel O SergiItalyAsiya Javayant UNQUALIFIED
Maria F IturbideUnited KingdomXuxue Feng NEGOTIATION
Kadeem H PoquetteSpainElwin Sharvill NEGOTIATION
Salvatore V OldroydCanadaXuxue Feng PROPOSAL
Izzy A FollerFranceIvan Magalhaes QUALIFIED
Aika U GarufiGermanyOnyama Limba RENEWAL
Costa F VenereBrazilAsiya Javayant PROPOSAL
Rodrigues N MaletAustraliaXuxue Feng QUALIFIED
Morrow M FollerArgentinaIvan Magalhaes UNQUALIFIED
Chavez Z InouyeSpainAnna Fali QUALIFIED
Clifford K PoquetteJapanStephen Shaw NEGOTIATION
Silvio T NickaSpainAsiya Javayant PROPOSAL
Aditya I MorascaUnited KingdomIoni Bowcher NEGOTIATION
Kaitlin V GillianAustraliaAmy Elsner UNQUALIFIED
Leon S BriddickGermanyElwin Sharvill QUALIFIED
Antonio P FerenczIndiaBernardo Dominic NEW
Rodrigues W SaylorsSpainOnyama Limba NEGOTIATION
Leon E AlbaresItalyBernardo Dominic PROPOSAL
Alejandro J FerenczGermanyStephen Shaw RENEWAL
Ashley I BowleySpainXuxue Feng QUALIFIED
Aditya J CaldareraItalyAsiya Javayant PROPOSAL
Jennifer B SaylorsCanadaOnyama Limba UNQUALIFIED
Kaitlin C CaldareraCanadaIvan Magalhaes RENEWAL
Jeanfrancois Q FigeroaGermanyAmy Elsner UNQUALIFIED
Wickens H SlusarskiAustraliaBernardo Dominic PROPOSAL
James T BowleyUnited KingdomAmy Elsner RENEWAL
Arvin D PerinGermanyBernardo Dominic NEW
Greenwood L GlickUnited KingdomElwin Sharvill RENEWAL
Mayumi P GillianCanadaIvan Magalhaes RENEWAL
Claire L GillianArgentinaBernardo Dominic QUALIFIED
Maisha D IturbideAustraliaAsiya Javayant PROPOSAL
Claire I MaletSpainStephen Shaw UNQUALIFIED
Jones G GauchoRussiaAsiya Javayant QUALIFIED
Morrow G IturbideAustraliaXuxue Feng PROPOSAL
Faith E TollnerBrazilIvan Magalhaes UNQUALIFIED
Leja A CampainAustraliaXuxue Feng RENEWAL
David J GauchoCanadaAnna Fali QUALIFIED
Jennifer L RulapaughFranceAmy Elsner RENEWAL
Silvio J RutaIndiaAmy Elsner UNQUALIFIED
Leja Q MaletItalyElwin Sharvill QUALIFIED
Aika V BologniaAustraliaAmy Elsner NEGOTIATION
Ashley P OldroydUnited KingdomStephen Shaw UNQUALIFIED
Ashley J GillianCanadaXuxue Feng PROPOSAL
Aditya J GlickCanadaStephen Shaw NEW
Frozen Columns
Name
Nicolas F Ruta
Mayumi I Poquette
Greenwood S Stockham
Darci B Ruta
Costa V Chui
Deepesh Y Bowley
James G Nestle
Salvatore J Kolmetz
Ashley Q Ferencz
Aruna O Malet
Jones N Bowley
Tony A Amigon
Tony D Morasca
Leja M Gaucho
Emily F Royster
Juan O Briddick
Murillo J Iturbide
Smith F Royster
Mayumi G Doe
Leon V Paprocki
Kadeem Z Campain
Deepesh N Doe
Maisha Z Kusko
Morrow Y Caldarera
Kadeem H Marrier
Greenwood U Venere
Claire U Butt
Greenwood L Saylors
Greenwood W Ruta
Maria X Gaucho
Julie S Bolognia
Smith T Briddick
Maria B Paprocki
Wickens D Figeroa
Deepesh M Garufi
Aditya P Flosi
Ricardo K Garufi
Leja Z Darakjy
Munro W Briddick
Johnson K Malet
Mujtaba A Wieser
Costa S Rim
Munro N Ruta
Cody T Caudy
Smith Q Shinko
Kaitlin V Chui
Aruna V Ostrosky
Smith J Morasca
Mayumi J Gaucho
Johnson N Chui
IdCountryDate
1000Australia2026-10-01
1001Brazil2026-09-27
1002United Kingdom2026-10-05
1003Argentina2026-10-10
1004Japan2026-10-11
1005India2026-10-17
1006Argentina2026-10-08
1007Canada2026-10-19
1008Canada2026-09-27
1009Germany2026-09-28
1010India2026-09-28
1011Canada2026-10-01
1012Spain2026-09-21
1013Russia2026-10-02
1014Brazil2026-10-16
1015France2026-09-27
1016Australia2026-10-11
1017United Kingdom2026-10-13
1018United Kingdom2026-10-13
1019Brazil2026-09-22
1020India2026-09-24
1021United Kingdom2026-09-28
1022United Kingdom2026-10-18
1023Brazil2026-10-08
1024Canada2026-10-12
1025Australia2026-10-18
1026France2026-10-13
1027United Kingdom2026-10-13
1028Spain2026-10-02
1029Spain2026-10-04
1030Argentina2026-09-23
1031United Kingdom2026-10-07
1032Germany2026-10-16
1033Italy2026-09-26
1034Argentina2026-10-07
1035Germany2026-09-27
1036Japan2026-10-14
1037Brazil2026-09-29
1038Russia2026-09-25
1039Spain2026-10-15
1040Spain2026-09-27
1041Spain2026-10-04
1042France2026-09-27
1043Japan2026-09-22
1044Argentina2026-10-14
1045Australia2026-10-10
1046Australia2026-09-21
1047Canada2026-10-15
1048India2026-10-11
1049Japan2026-10-06

On-Demand Data

NameIdCountryDate
Kadeem V Nestle1000France2026-09-29
Maisha T Garufi1001Brazil2026-10-17
Tony B Campain1002Italy2026-10-08
Munro J Wieser1003Italy2026-10-20
Julie F Garufi1004Italy2026-09-26
Antonio Z Ferencz1005Italy2026-09-22
Smith P Butt1006Australia2026-10-18
Octavia R Nestle1007Germany2026-09-21
Maria K Wieser1008United Kingdom2026-10-14
Antonio D Tollner1009Germany2026-10-19
Tony C Marrier1010Italy2026-10-05
Clifford N Butt1011Canada2026-10-12
Rodrigues Z Iturbide1012France2026-10-16
Francesco O Doe1013Japan2026-10-19
Munro C Gillian1014Brazil2026-10-19
Wickens C Gillian1015United Kingdom2026-10-15
Aika V Gaucho1016Spain2026-10-16
Kaitlin G Schemmer1017Japan2026-10-20
Faith S Ostrosky1018Australia2026-10-08
Aditya A Albares1019Argentina2026-10-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel R FollerUnited KingdomAmy Elsner NEW
Clifford X PaprockiAustraliaAsiya Javayant RENEWAL
Izzy G AmigonGermanyIvan Magalhaes NEGOTIATION
Ashley M FlosiUnited KingdomIvan Magalhaes QUALIFIED
Leja N PerinArgentinaOnyama Limba QUALIFIED
Aditya N PerinBrazilElwin Sharvill NEGOTIATION
Salvatore Q ButtRussiaAsiya Javayant QUALIFIED
Munro Y FlosiFranceBernardo Dominic UNQUALIFIED
Antonio C StensethItalyElwin Sharvill RENEWAL
Jones F PoquetteItalyAsiya Javayant UNQUALIFIED
Misaki M RulapaughSpainStephen Shaw RENEWAL
Murillo A AmigonGermanyXuxue Feng NEW
Francesco W GillianIndiaAmy Elsner RENEWAL
Jefferson K PoquetteItalyAmy Elsner RENEWAL
Leon U SaylorsItalyIoni Bowcher NEGOTIATION
Ashley B PerinJapanStephen Shaw NEW
Faith I WieserGermanyAmy Elsner NEGOTIATION
Misaki G RulapaughArgentinaBernardo Dominic NEGOTIATION
Greenwood K StensethCanadaXuxue Feng UNQUALIFIED
Leja C OstroskySpainElwin Sharvill UNQUALIFIED
Francesco W ButtJapanElwin Sharvill UNQUALIFIED
Maria W AmigonBrazilIvan Magalhaes UNQUALIFIED
Stacey I ChuiAustraliaStephen Shaw NEW
Alejandro K StensethSpainXuxue Feng UNQUALIFIED
Mayumi Q MacleadAustraliaOnyama Limba QUALIFIED
Ricardo S TollnerAustraliaElwin Sharvill RENEWAL
Clifford F DarakjyCanadaAmy Elsner PROPOSAL
Octavia S VenereGermanyStephen Shaw RENEWAL
Clifford Y KuskoGermanyAsiya Javayant QUALIFIED
Sinclair K NickaSpainElwin Sharvill RENEWAL
Maisha A SchemmerArgentinaAnna Fali UNQUALIFIED
Ricardo G SchemmerCanadaStephen Shaw NEGOTIATION
Francesco H PoquetteGermanyBernardo Dominic QUALIFIED
Isabel R AlbaresBrazilStephen Shaw PROPOSAL
Claire L MaletSpainOnyama Limba QUALIFIED
Kadeem V GauchoBrazilAmy Elsner RENEWAL
Mayumi K MacleadJapanXuxue Feng UNQUALIFIED
Munro C InouyeRussiaAsiya Javayant UNQUALIFIED
Jennifer Y GlickFranceAnna Fali QUALIFIED
Aika K MarrierArgentinaOnyama Limba NEW

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