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
Misaki M ShinkoIndiaIvan Magalhaes PROPOSAL
Munro X PerinAustraliaAnna Fali PROPOSAL
Salvatore D FlosiItalyAmy Elsner RENEWAL
Jones J PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Chavez I GillianFranceOnyama Limba QUALIFIED
Emily L PerinGermanyAmy Elsner PROPOSAL
Ricardo B KolmetzBrazilStephen Shaw QUALIFIED
Aditya R SlusarskiFranceBernardo Dominic QUALIFIED
Cody W ButtFranceIvan Magalhaes NEGOTIATION
Morrow C CaudyRussiaIvan Magalhaes NEGOTIATION
Isabel A ChuiSpainXuxue Feng NEW
Ricardo Y CampainCanadaElwin Sharvill NEGOTIATION
Salvatore I MaletIndiaAsiya Javayant UNQUALIFIED
Tony A FigeroaRussiaStephen Shaw PROPOSAL
Emily U DoeIndiaAsiya Javayant QUALIFIED
Nicolas D GlickArgentinaStephen Shaw NEGOTIATION
Izzy X OstroskyFranceAmy Elsner RENEWAL
Ricardo R SergiArgentinaXuxue Feng UNQUALIFIED
Julie B SchemmerRussiaIoni Bowcher NEGOTIATION
Claire J MaletFranceIvan Magalhaes UNQUALIFIED
Isabel X NestleArgentinaXuxue Feng UNQUALIFIED
Kadeem G CaudyGermanyBernardo Dominic RENEWAL
James J CaldareraAustraliaAmy Elsner QUALIFIED
Faith C FollerCanadaOnyama Limba NEW
Aruna F VenereSpainStephen Shaw NEGOTIATION
Juan R MaletBrazilBernardo Dominic NEW
Mujtaba J AlbaresRussiaAnna Fali QUALIFIED
Adams P DarakjyArgentinaStephen Shaw UNQUALIFIED
Ricardo X DarakjyUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro W SchemmerCanadaOnyama Limba RENEWAL
Aika F OldroydBrazilStephen Shaw RENEWAL
Julie Q NickaSpainBernardo Dominic NEGOTIATION
Stacey U MacleadFranceXuxue Feng QUALIFIED
Isabel Q MacleadGermanyXuxue Feng PROPOSAL
Aika H BowleyJapanAsiya Javayant UNQUALIFIED
Aika F GauchoRussiaAsiya Javayant NEW
Greenwood A ButtUnited KingdomElwin Sharvill PROPOSAL
Mayumi Q ShinkoJapanAsiya Javayant NEGOTIATION
Ricardo G BologniaFranceOnyama Limba RENEWAL
James G AmigonGermanyOnyama Limba PROPOSAL
Johnson A ButtBrazilOnyama Limba QUALIFIED
Leon G MorascaJapanOnyama Limba PROPOSAL
Maria G NickaCanadaAsiya Javayant PROPOSAL
Jefferson C WhobreyGermanyElwin Sharvill RENEWAL
Darci U MacleadAustraliaBernardo Dominic UNQUALIFIED
Octavia F WaycottArgentinaIvan Magalhaes RENEWAL
Alejandro W FollerRussiaXuxue Feng UNQUALIFIED
Kadeem F DilliardJapanBernardo Dominic NEGOTIATION
Silvio L ButtIndiaAsiya Javayant NEGOTIATION
Francesco Z DilliardGermanyAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Rodrigues M BologniaAustraliaBernardo Dominic UNQUALIFIED
Morrow Z GauchoGermanyIoni Bowcher NEGOTIATION
Mujtaba X PoquetteBrazilAsiya Javayant UNQUALIFIED
Clifford B BologniaUnited KingdomAsiya Javayant NEGOTIATION
Ashley I GlickGermanyOnyama Limba PROPOSAL
Alejandro Q CaudyIndiaBernardo Dominic NEW
Clifford Q FlosiFranceOnyama Limba UNQUALIFIED
Rodrigues V MaletCanadaAmy Elsner NEW
Stacey Q TollnerCanadaOnyama Limba UNQUALIFIED
Wickens P RutaSpainAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh H BologniaSpain2026-09-21King, Christopher A Esq RENEWAL15Anna Fali
1001Nicolas H GarufiIndia2026-09-16Morlong Associates PROPOSAL7Xuxue Feng
1002Mujtaba P ChuiIndia2026-09-07Feiner Bros UNQUALIFIED5Anna Fali
1003Leon G DarakjyRussia2026-08-30King, Christopher A Esq NEGOTIATION30Onyama Limba
1004Murillo H IturbideJapan2026-09-07Buckley Miller Wright UNQUALIFIED90Amy Elsner
1005Isabel A StensethGermany2026-09-16Truhlar And Truhlar Attys NEW10Ivan Magalhaes
1006Maisha H ButtJapan2026-09-08Morlong Associates QUALIFIED10Asiya Javayant
1007Jennifer S PerinCanada2026-09-13Rangoni Of Florence NEGOTIATION46Xuxue Feng
1008Faith B OldroydAustralia2026-08-30Feiner Bros UNQUALIFIED75Onyama Limba
1009Smith R PoquetteFrance2026-09-22Morlong Associates QUALIFIED47Ivan Magalhaes
1010Wickens L SaylorsGermany2026-09-15Chapman, Ross E Esq PROPOSAL10Ivan Magalhaes
1011Claire X GarufiJapan2026-09-04Feltz Printing Service PROPOSAL92Xuxue Feng
1012Silvio L FlosiUnited Kingdom2026-09-12Commercial Press NEGOTIATION85Onyama Limba
1013Kadeem E OldroydCanada2026-09-01Feiner Bros NEGOTIATION60Stephen Shaw
1014Isabel J MaletBrazil2026-08-29Buckley Miller Wright PROPOSAL4Xuxue Feng
1015Aditya B OldroydIndia2026-09-22Truhlar And Truhlar Attys QUALIFIED80Onyama Limba
1016Johnson E GauchoGermany2026-09-02King, Christopher A Esq PROPOSAL8Ioni Bowcher
1017Aika B MaletBrazil2026-09-01King, Christopher A Esq NEW68Bernardo Dominic
1018Maisha V DarakjyRussia2026-08-30Benton, John B Jr UNQUALIFIED31Anna Fali
1019Leon L TollnerSpain2026-09-15Feltz Printing Service QUALIFIED53Stephen Shaw
1020Kadeem U AmigonRussia2026-09-17Feiner Bros QUALIFIED60Ioni Bowcher
1021Salvatore B OldroydAustralia2026-09-07Chanay, Jeffrey A Esq NEGOTIATION77Stephen Shaw
1022Wickens U OstroskyItaly2026-08-29Rousseaux, Michael Esq RENEWAL82Ioni Bowcher
1023Chavez U SergiGermany2026-09-06Dorl, James J Esq RENEWAL71Ioni Bowcher
1024Darci U DilliardArgentina2026-09-23Chanay, Jeffrey A Esq UNQUALIFIED7Bernardo Dominic
1025Ashley S PerinJapan2026-09-02Feiner Bros RENEWAL80Ioni Bowcher
1026Jeanfrancois Y RoysterIndia2026-09-15Buckley Miller Wright PROPOSAL37Elwin Sharvill
1027Tony O BowleyCanada2026-09-25Chemel, James L Cpa NEGOTIATION88Asiya Javayant
1028Leja N FlosiItaly2026-09-05Rousseaux, Michael Esq PROPOSAL62Anna Fali
1029Sinclair P MorascaJapan2026-09-09Feltz Printing Service UNQUALIFIED5Anna Fali
1030Jones B RimJapan2026-09-02Feiner Bros NEW68Elwin Sharvill
1031Izzy T GillianGermany2026-08-31Buckley Miller Wright UNQUALIFIED87Stephen Shaw
1032Jefferson L TollnerJapan2026-09-20King, Christopher A Esq RENEWAL60Ioni Bowcher
1033Ashley G FlosiAustralia2026-08-31Commercial Press NEW47Asiya Javayant
1034Jeanfrancois V WaycottFrance2026-09-22Buckley Miller Wright RENEWAL6Onyama Limba
1035Morrow L TollnerGermany2026-09-06Benton, John B Jr RENEWAL5Stephen Shaw
1036Deepesh Z MacleadUnited Kingdom2026-09-13Chemel, James L Cpa RENEWAL84Xuxue Feng
1037Stacey G MacleadArgentina2026-09-22Truhlar And Truhlar Attys UNQUALIFIED17Xuxue Feng
1038Chavez W MorascaFrance2026-09-07Feltz Printing Service NEW9Stephen Shaw
1039Octavia C ShinkoGermany2026-09-27Benton, John B Jr UNQUALIFIED65Asiya Javayant
1040Isabel G DarakjyJapan2026-09-03Buckley Miller Wright PROPOSAL81Elwin Sharvill
1041Stacey Z SergiUnited Kingdom2026-09-18Printing Dimensions RENEWAL94Asiya Javayant
1042Smith X WieserGermany2026-09-05Buckley Miller Wright NEW43Onyama Limba
1043Mujtaba V WieserItaly2026-09-14Chemel, James L Cpa RENEWAL0Bernardo Dominic
1044Antonio L WieserBrazil2026-09-20Benton, John B Jr NEW52Asiya Javayant
1045Leon U WieserRussia2026-09-27Buckley Miller Wright QUALIFIED29Elwin Sharvill
1046Clifford N ChuiJapan2026-09-14Rousseaux, Michael Esq QUALIFIED78Elwin Sharvill
1047Julie T VocelkaAustralia2026-09-25Rangoni Of Florence RENEWAL51Stephen Shaw
1048Darci I SergiGermany2026-08-29Chanay, Jeffrey A Esq PROPOSAL69Ivan Magalhaes
1049Costa Y PerinJapan2026-09-19Morlong Associates NEGOTIATION69Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Clifford G SaylorsCanadaStephen Shaw RENEWAL
Aruna E AmigonSpainElwin Sharvill UNQUALIFIED
Aditya B FerenczSpainAsiya Javayant RENEWAL
Ivar Y WhobreySpainBernardo Dominic NEW
Ivar E BowleyBrazilOnyama Limba QUALIFIED
Costa P SergiFranceStephen Shaw NEW
Emily W GillianBrazilIoni Bowcher UNQUALIFIED
Greenwood M InouyeGermanyAsiya Javayant NEW
Jefferson V SaylorsIndiaIoni Bowcher PROPOSAL
Mayumi W FollerFranceIvan Magalhaes UNQUALIFIED
Alejandro V KolmetzGermanyOnyama Limba NEW
Kadeem U RimUnited KingdomStephen Shaw QUALIFIED
Stacey G RutaGermanyXuxue Feng RENEWAL
Greenwood U ShinkoJapanOnyama Limba NEW
Wickens G FerenczAustraliaXuxue Feng NEW
Jefferson X WaycottCanadaIvan Magalhaes NEW
James P CaudySpainBernardo Dominic NEGOTIATION
Francesco R WieserRussiaOnyama Limba NEGOTIATION
Izzy U MacleadIndiaElwin Sharvill NEW
Greenwood L AmigonJapanAsiya Javayant RENEWAL
Stacey R VocelkaUnited KingdomIoni Bowcher RENEWAL
Aika L DilliardJapanIoni Bowcher QUALIFIED
Emily Q MaletGermanyStephen Shaw QUALIFIED
Aditya A VocelkaAustraliaOnyama Limba NEW
Cody Q KolmetzAustraliaAmy Elsner NEW
Cody A WhobreyJapanAsiya Javayant NEW
Darci T ChuiRussiaElwin Sharvill UNQUALIFIED
Silvio T BologniaBrazilAmy Elsner QUALIFIED
Octavia I IturbideIndiaOnyama Limba PROPOSAL
Emily T IturbideBrazilXuxue Feng NEGOTIATION
Emily C NickaJapanIvan Magalhaes NEW
Ashley C MaletCanadaAsiya Javayant RENEWAL
Arvin C WaycottCanadaAnna Fali NEW
Isabel R MorascaJapanOnyama Limba RENEWAL
Rodrigues Q ButtUnited KingdomElwin Sharvill NEGOTIATION
Silvio J SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Ivar T SchemmerRussiaIoni Bowcher PROPOSAL
Rodrigues M MorascaArgentinaIoni Bowcher NEGOTIATION
Julie M WaycottIndiaXuxue Feng NEW
Mujtaba A MorascaRussiaXuxue Feng QUALIFIED
Maisha O KuskoRussiaOnyama Limba NEGOTIATION
Costa I DoeCanadaIvan Magalhaes PROPOSAL
Kadeem C FigeroaUnited KingdomIvan Magalhaes NEW
Mujtaba G SchemmerCanadaBernardo Dominic QUALIFIED
Sinclair C MorascaSpainOnyama Limba NEGOTIATION
Izzy F ChuiRussiaIvan Magalhaes QUALIFIED
Maisha O MarrierCanadaXuxue Feng UNQUALIFIED
Aika N GauchoSpainIoni Bowcher RENEWAL
Arvin W VenereJapanIvan Magalhaes NEGOTIATION
Maria B FlosiFranceIoni Bowcher PROPOSAL
Frozen Columns
Name
Francesco Y Shinko
Claire W Amigon
Francesco C Morasca
Murillo P Tollner
Cody P Ferencz
Jones U Albares
Adams R Doe
Johnson A Shinko
Costa G Caudy
Emily N Darakjy
Rodrigues R Poquette
Morrow N Whobrey
Johnson Q Darakjy
Sinclair M Gaucho
Kaitlin M Schemmer
Greenwood U Stenseth
Jennifer H Whobrey
Ashley U Paprocki
Murillo M Nicka
Ashley P Garufi
Emily C Wieser
Faith Q Ruta
Faith J Stenseth
Maria A Schemmer
Adams Z Venere
Jefferson S Caldarera
Munro M Tollner
Deepesh E Iturbide
Maria D Venere
Ivar M Venere
Alejandro F Dilliard
Sinclair P Oldroyd
Johnson D Foller
Emily Z Waycott
Stacey A Nestle
Aditya M Wieser
Maria R Caldarera
Maisha J Albares
Wickens I Bolognia
Julie M Nestle
Jeanfrancois F Venere
Stacey M Rim
Octavia L Garufi
Kadeem V Butt
Maria N Morasca
Julie X Marrier
Antonio U Glick
Darci K Dilliard
Jeanfrancois E Maclead
Leon C Paprocki
IdCountryDate
1000Canada2026-09-16
1001Canada2026-09-24
1002Spain2026-09-03
1003Argentina2026-09-11
1004Japan2026-09-10
1005India2026-09-18
1006Argentina2026-09-04
1007France2026-09-06
1008France2026-09-14
1009Australia2026-09-02
1010Japan2026-09-12
1011Brazil2026-09-09
1012Canada2026-09-24
1013Canada2026-09-21
1014Canada2026-09-02
1015Australia2026-08-30
1016Italy2026-09-15
1017Spain2026-09-11
1018Argentina2026-09-10
1019Japan2026-08-30
1020Brazil2026-09-19
1021Canada2026-09-01
1022United Kingdom2026-09-14
1023Italy2026-09-23
1024Japan2026-09-04
1025Italy2026-09-21
1026Germany2026-09-15
1027Argentina2026-09-22
1028Brazil2026-09-12
1029Germany2026-09-27
1030Spain2026-09-09
1031Australia2026-09-11
1032Argentina2026-09-23
1033Japan2026-09-24
1034Japan2026-09-16
1035United Kingdom2026-09-16
1036Italy2026-09-08
1037Australia2026-09-11
1038Argentina2026-09-19
1039Brazil2026-09-07
1040Argentina2026-09-06
1041Germany2026-09-05
1042Germany2026-09-06
1043Argentina2026-09-24
1044Canada2026-09-07
1045India2026-09-03
1046Russia2026-09-05
1047Australia2026-09-10
1048Germany2026-09-17
1049Canada2026-09-15

On-Demand Data

NameIdCountryDate
Stacey R Iturbide1000Canada2026-09-24
Jefferson S Briddick1001Italy2026-09-10
Francesco Z Maclead1002Australia2026-09-22
Ivar H Slusarski1003Brazil2026-09-07
Kaitlin T Caudy1004France2026-08-29
Julie O Iturbide1005Russia2026-09-09
Mujtaba M Saylors1006Russia2026-09-04
Jennifer P Foller1007Italy2026-09-22
Silvio L Darakjy1008Italy2026-09-02
David P Poquette1009France2026-09-10
Francesco W Amigon1010Brazil2026-09-04
Smith V Doe1011Argentina2026-09-22
Silvio C Morasca1012Spain2026-09-10
Smith K Saylors1013Germany2026-09-26
Tony M Campain1014Canada2026-09-22
Jennifer U Morasca1015Japan2026-09-21
Octavia Z Albares1016Spain2026-08-29
Kadeem B Slusarski1017France2026-09-25
James H Perin1018Spain2026-09-12
Tony G Poquette1019Argentina2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily I RoysterRussiaIvan Magalhaes NEGOTIATION
Ashley G MaletItalyOnyama Limba NEGOTIATION
Leon Y ChuiSpainAsiya Javayant RENEWAL
Mayumi P MarrierArgentinaXuxue Feng UNQUALIFIED
Izzy W KolmetzCanadaElwin Sharvill PROPOSAL
Aika V MacleadFranceIvan Magalhaes UNQUALIFIED
Faith Q GlickBrazilElwin Sharvill PROPOSAL
Maria K StensethCanadaOnyama Limba PROPOSAL
Juan G AlbaresBrazilAmy Elsner PROPOSAL
Jeanfrancois M CampainRussiaIvan Magalhaes NEW
Maisha D RoysterGermanyXuxue Feng RENEWAL
Faith T WieserJapanStephen Shaw NEW
Johnson N GillianItalyStephen Shaw NEW
Maria Y FlosiArgentinaBernardo Dominic QUALIFIED
Maria S CampainSpainAnna Fali QUALIFIED
Adams P CaldareraItalyIoni Bowcher QUALIFIED
Nicolas C CaudyRussiaBernardo Dominic UNQUALIFIED
Leja Z GlickGermanyElwin Sharvill QUALIFIED
Rodrigues J FlosiBrazilXuxue Feng UNQUALIFIED
Emily R VocelkaItalyBernardo Dominic NEW
Stacey F GarufiItalyIvan Magalhaes NEW
Wickens D PaprockiGermanyBernardo Dominic NEW
Chavez I RimSpainAnna Fali NEGOTIATION
Ivar R SlusarskiRussiaStephen Shaw QUALIFIED
Faith Y RutaCanadaStephen Shaw RENEWAL
Ashley L KolmetzGermanyIvan Magalhaes PROPOSAL
Antonio O IturbideSpainStephen Shaw QUALIFIED
Antonio E MaletCanadaAsiya Javayant NEW
Maria U MorascaGermanyOnyama Limba PROPOSAL
Morrow O MarrierAustraliaIvan Magalhaes UNQUALIFIED
Octavia Y RimAustraliaIvan Magalhaes UNQUALIFIED
Jennifer H ButtAustraliaBernardo Dominic UNQUALIFIED
David Z SlusarskiCanadaAmy Elsner NEGOTIATION
Murillo G TollnerRussiaBernardo Dominic NEGOTIATION
Octavia D PerinFranceElwin Sharvill NEW
Greenwood Z VocelkaIndiaIvan Magalhaes PROPOSAL
Jones B FollerJapanAmy Elsner PROPOSAL
Sinclair P GarufiSpainIvan Magalhaes RENEWAL
Ricardo V FlosiGermanyAnna Fali NEGOTIATION
Deepesh M MorascaFranceBernardo Dominic 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>