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 H MorascaAustraliaBernardo Dominic RENEWAL
Tony U InouyeRussiaAsiya Javayant NEGOTIATION
Claire L FerenczFranceAsiya Javayant UNQUALIFIED
Arvin U GauchoSpainAsiya Javayant NEGOTIATION
Johnson M MaletItalyIvan Magalhaes RENEWAL
Francesco X MorascaCanadaBernardo Dominic UNQUALIFIED
Arvin F IturbideArgentinaBernardo Dominic PROPOSAL
Darci Y CaudySpainAnna Fali NEW
Maria K MorascaBrazilAsiya Javayant NEW
Sinclair E ChuiGermanyAmy Elsner NEGOTIATION
Aditya W InouyeJapanAnna Fali NEGOTIATION
Alejandro X InouyeJapanBernardo Dominic NEW
Arvin H WieserSpainIvan Magalhaes PROPOSAL
Nicolas T CampainIndiaBernardo Dominic RENEWAL
Jeanfrancois N KolmetzIndiaAsiya Javayant NEGOTIATION
Juan Q MaletGermanyAnna Fali NEW
Jeanfrancois Y KolmetzArgentinaStephen Shaw QUALIFIED
Izzy L AmigonSpainXuxue Feng NEW
Mayumi O AmigonRussiaAsiya Javayant QUALIFIED
Jefferson Q VenereJapanIoni Bowcher PROPOSAL
Clifford O VocelkaJapanIvan Magalhaes NEGOTIATION
Munro F SaylorsBrazilAsiya Javayant QUALIFIED
Julie Q FigeroaGermanyBernardo Dominic NEW
Maria D GarufiItalyAnna Fali NEW
Ivar W SlusarskiJapanBernardo Dominic QUALIFIED
Cody M InouyeAustraliaAmy Elsner RENEWAL
Izzy Y MacleadUnited KingdomBernardo Dominic QUALIFIED
Ashley P GauchoAustraliaAmy Elsner QUALIFIED
Greenwood Y VocelkaJapanElwin Sharvill PROPOSAL
Isabel S IturbideItalyAmy Elsner PROPOSAL
Arvin B WaycottItalyBernardo Dominic NEGOTIATION
James X TollnerIndiaBernardo Dominic NEGOTIATION
Greenwood S DilliardRussiaAnna Fali QUALIFIED
Morrow T VenereRussiaBernardo Dominic QUALIFIED
Johnson Y PerinJapanBernardo Dominic NEGOTIATION
Adams H ButtGermanyBernardo Dominic QUALIFIED
Morrow W BriddickBrazilStephen Shaw PROPOSAL
Clifford E VenereUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood H WaycottJapanStephen Shaw NEGOTIATION
Aditya C PaprockiJapanElwin Sharvill UNQUALIFIED
Darci X CaldareraArgentinaStephen Shaw RENEWAL
Smith V MaletRussiaElwin Sharvill RENEWAL
Adams O KuskoFranceXuxue Feng PROPOSAL
Claire Q CampainArgentinaOnyama Limba NEGOTIATION
Faith P BologniaIndiaOnyama Limba RENEWAL
Mujtaba O PoquetteJapanAsiya Javayant RENEWAL
Ashley C WaycottSpainXuxue Feng QUALIFIED
Aruna X CaudyBrazilBernardo Dominic UNQUALIFIED
Tony M GillianJapanAmy Elsner NEW
Clifford V FerenczBrazilAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya B OldroydRussiaElwin Sharvill RENEWAL
Ivar N DarakjyGermanyXuxue Feng NEGOTIATION
Emily G OstroskyCanadaXuxue Feng PROPOSAL
Salvatore I VenereBrazilIvan Magalhaes NEW
Jennifer G KuskoIndiaOnyama Limba UNQUALIFIED
Chavez Y DilliardGermanyOnyama Limba RENEWAL
Adams K SlusarskiBrazilAnna Fali NEW
Francesco B IturbideSpainBernardo Dominic QUALIFIED
Greenwood I RoysterItalyElwin Sharvill QUALIFIED
Faith F InouyeCanadaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David C StensethItaly2026-09-13Printing Dimensions NEGOTIATION27Amy Elsner
1001Claire V KuskoUnited Kingdom2026-09-09Rousseaux, Michael Esq RENEWAL11Stephen Shaw
1002Jefferson Q RoysterCanada2026-09-16Feiner Bros NEGOTIATION37Stephen Shaw
1003Isabel R BriddickArgentina2026-09-03Feltz Printing Service NEW99Ioni Bowcher
1004James S InouyeCanada2026-08-20Benton, John B Jr RENEWAL78Onyama Limba
1005Kaitlin C SaylorsArgentina2026-09-09Chapman, Ross E Esq NEGOTIATION68Elwin Sharvill
1006James E TollnerBrazil2026-08-24Printing Dimensions PROPOSAL41Elwin Sharvill
1007Salvatore L AlbaresIndia2026-09-10Dorl, James J Esq NEW80Elwin Sharvill
1008Kaitlin U RutaGermany2026-09-14Chanay, Jeffrey A Esq UNQUALIFIED15Bernardo Dominic
1009Octavia P SaylorsArgentina2026-09-17Truhlar And Truhlar Attys UNQUALIFIED41Asiya Javayant
1010Ricardo G BologniaFrance2026-08-22Rangoni Of Florence RENEWAL80Amy Elsner
1011Kadeem N SaylorsUnited Kingdom2026-08-21Benton, John B Jr NEGOTIATION44Onyama Limba
1012Nicolas K WieserGermany2026-08-20Rousseaux, Michael Esq PROPOSAL14Ioni Bowcher
1013Misaki P PoquetteUnited Kingdom2026-09-17Printing Dimensions PROPOSAL81Asiya Javayant
1014Johnson J MorascaRussia2026-08-24Commercial Press NEW9Bernardo Dominic
1015Kaitlin Z SchemmerCanada2026-09-01Benton, John B Jr NEGOTIATION3Asiya Javayant
1016Aruna L MaletFrance2026-08-29Feiner Bros NEGOTIATION7Ivan Magalhaes
1017Greenwood D RimSpain2026-09-09Truhlar And Truhlar Attys QUALIFIED10Xuxue Feng
1018Faith H RutaArgentina2026-09-12King, Christopher A Esq RENEWAL85Ivan Magalhaes
1019Adams J MarrierSpain2026-08-26Printing Dimensions RENEWAL73Ioni Bowcher
1020Faith Z DilliardAustralia2026-08-28Buckley Miller Wright UNQUALIFIED52Xuxue Feng
1021Chavez U SergiCanada2026-09-14Chanay, Jeffrey A Esq NEGOTIATION40Bernardo Dominic
1022Maria Z DarakjyJapan2026-08-20Dorl, James J Esq NEGOTIATION13Ivan Magalhaes
1023Aditya A MaletAustralia2026-09-02Chapman, Ross E Esq NEGOTIATION23Stephen Shaw
1024Rodrigues A IturbideGermany2026-09-05King, Christopher A Esq UNQUALIFIED84Amy Elsner
1025Maisha F MorascaArgentina2026-09-17Chapman, Ross E Esq NEW26Amy Elsner
1026Aditya F OstroskyAustralia2026-08-31Chapman, Ross E Esq QUALIFIED11Amy Elsner
1027Sinclair I GauchoAustralia2026-08-23Rousseaux, Michael Esq UNQUALIFIED71Amy Elsner
1028Maria F ChuiGermany2026-08-27Feiner Bros NEW78Ioni Bowcher
1029Nicolas O FollerIndia2026-09-18Truhlar And Truhlar Attys RENEWAL89Xuxue Feng
1030Aruna B VocelkaBrazil2026-09-18Rangoni Of Florence NEGOTIATION87Anna Fali
1031Salvatore G GauchoAustralia2026-09-06Dorl, James J Esq NEW75Ioni Bowcher
1032Chavez B GauchoIndia2026-09-12Rangoni Of Florence UNQUALIFIED12Bernardo Dominic
1033Ashley I GlickGermany2026-09-12Feiner Bros PROPOSAL93Ioni Bowcher
1034Silvio R GarufiFrance2026-09-03Truhlar And Truhlar Attys RENEWAL58Elwin Sharvill
1035Sinclair N MarrierGermany2026-09-14Chemel, James L Cpa PROPOSAL69Ioni Bowcher
1036Tony S MacleadIndia2026-09-16Feltz Printing Service RENEWAL84Ivan Magalhaes
1037Murillo I GillianFrance2026-09-18Dorl, James J Esq QUALIFIED54Elwin Sharvill
1038Kadeem S ButtAustralia2026-08-25Buckley Miller Wright NEGOTIATION13Anna Fali
1039Maisha S InouyeBrazil2026-09-02Printing Dimensions PROPOSAL38Elwin Sharvill
1040Izzy J CaudyCanada2026-08-30Rangoni Of Florence RENEWAL15Anna Fali
1041Costa W BriddickBrazil2026-08-25King, Christopher A Esq NEW28Bernardo Dominic
1042Silvio J NickaFrance2026-09-02Chemel, James L Cpa PROPOSAL56Ivan Magalhaes
1043Clifford C StockhamBrazil2026-09-05Chemel, James L Cpa UNQUALIFIED74Asiya Javayant
1044Alejandro K PaprockiJapan2026-08-20King, Christopher A Esq QUALIFIED32Ivan Magalhaes
1045Murillo N RimJapan2026-08-24Dorl, James J Esq UNQUALIFIED84Stephen Shaw
1046Claire R VocelkaCanada2026-09-16Chemel, James L Cpa RENEWAL8Amy Elsner
1047Izzy D CampainAustralia2026-09-07Truhlar And Truhlar Attys NEGOTIATION74Anna Fali
1048Juan S StensethIndia2026-09-02Buckley Miller Wright NEW20Bernardo Dominic
1049Jennifer D SlusarskiGermany2026-09-13Feiner Bros RENEWAL0Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maria O PaprockiCanadaElwin Sharvill UNQUALIFIED
Arvin C SlusarskiRussiaStephen Shaw RENEWAL
Morrow W VocelkaGermanyElwin Sharvill QUALIFIED
Jennifer M KolmetzGermanyIoni Bowcher UNQUALIFIED
Jennifer D ChuiFranceBernardo Dominic QUALIFIED
Munro A PerinFranceIoni Bowcher NEW
Rodrigues X MarrierArgentinaBernardo Dominic QUALIFIED
Tony F SaylorsBrazilXuxue Feng PROPOSAL
Julie W ChuiUnited KingdomAsiya Javayant UNQUALIFIED
Octavia J StensethArgentinaBernardo Dominic UNQUALIFIED
Juan J OstroskyJapanAnna Fali RENEWAL
Jones Z GlickFranceIoni Bowcher QUALIFIED
Aika Q PaprockiUnited KingdomAmy Elsner NEW
Sinclair O BologniaArgentinaXuxue Feng NEGOTIATION
Stacey Q ChuiFranceOnyama Limba RENEWAL
Jeanfrancois J BriddickIndiaAmy Elsner NEGOTIATION
Jefferson U MacleadGermanyIvan Magalhaes QUALIFIED
Sinclair I KuskoJapanOnyama Limba NEW
Claire T MaletBrazilAmy Elsner QUALIFIED
Stacey M CaldareraBrazilIvan Magalhaes PROPOSAL
Emily K GlickAustraliaBernardo Dominic UNQUALIFIED
Jones J AlbaresUnited KingdomElwin Sharvill NEW
Mayumi X NestleIndiaIoni Bowcher RENEWAL
Juan J PerinItalyAsiya Javayant NEW
Leon C GarufiBrazilAnna Fali PROPOSAL
Faith R PaprockiBrazilIvan Magalhaes PROPOSAL
Mayumi B InouyeRussiaOnyama Limba NEW
Aruna G FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
James O BologniaItalyBernardo Dominic QUALIFIED
Isabel M BowleyAustraliaAsiya Javayant NEW
Sinclair J DilliardUnited KingdomAmy Elsner NEGOTIATION
Ricardo O CampainJapanOnyama Limba QUALIFIED
Rodrigues J BriddickCanadaAsiya Javayant QUALIFIED
Ricardo Q CaldareraCanadaBernardo Dominic RENEWAL
Aika G KolmetzUnited KingdomAmy Elsner NEGOTIATION
Munro B KolmetzRussiaAsiya Javayant RENEWAL
Kaitlin Q SchemmerIndiaElwin Sharvill NEW
Ricardo W TollnerItalyXuxue Feng QUALIFIED
Julie F CampainJapanAnna Fali NEW
Wickens X KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Jennifer W MarrierArgentinaStephen Shaw UNQUALIFIED
Munro J StockhamJapanOnyama Limba NEW
Jeanfrancois O SaylorsBrazilOnyama Limba UNQUALIFIED
Juan I FerenczAustraliaStephen Shaw NEW
Faith C DilliardCanadaAmy Elsner UNQUALIFIED
Wickens O NestleSpainElwin Sharvill RENEWAL
Murillo V WaycottFranceElwin Sharvill NEGOTIATION
Kaitlin A BriddickSpainOnyama Limba NEGOTIATION
Silvio V WieserCanadaOnyama Limba NEW
Jones N StockhamAustraliaAsiya Javayant RENEWAL
Frozen Columns
Name
Morrow R Malet
Morrow E Schemmer
Ivar J Saylors
Julie Q Doe
Antonio Y Nicka
Munro H Malet
Rodrigues R Marrier
Jennifer P Slusarski
Izzy C Paprocki
Tony Z Paprocki
Juan H Dilliard
Faith Z Gaucho
Leon W Poquette
Johnson X Darakjy
Ricardo Y Gillian
Emily T Stenseth
Murillo F Perin
Aika L Malet
Kadeem J Whobrey
Isabel W Glick
Adams X Morasca
Faith G Royster
Ricardo W Amigon
Nicolas F Nestle
Julie Y Shinko
Isabel B Royster
Chavez H Schemmer
Kaitlin I Nicka
David E Kolmetz
Isabel Z Garufi
Wickens Q Vocelka
Isabel N Perin
Sinclair E Foller
Deepesh A Oldroyd
Cody O Ostrosky
Greenwood E Nicka
Smith D Wieser
Antonio H Bolognia
Francesco J Figeroa
Leon Y Malet
Tony Z Stenseth
Emily J Inouye
Octavia S Shinko
Silvio Y Sergi
Costa I Albares
Mayumi X Iturbide
Rodrigues T Dilliard
Kaitlin M Poquette
Wickens U Vocelka
Kaitlin O Caudy
IdCountryDate
1000France2026-09-07
1001Japan2026-09-04
1002India2026-09-04
1003Russia2026-08-23
1004Canada2026-08-23
1005Canada2026-08-27
1006Spain2026-08-21
1007India2026-09-13
1008India2026-08-25
1009Russia2026-09-05
1010Japan2026-09-12
1011India2026-08-23
1012India2026-08-30
1013Germany2026-09-08
1014Australia2026-09-04
1015Spain2026-08-24
1016Argentina2026-09-05
1017India2026-08-21
1018Japan2026-09-03
1019Spain2026-09-03
1020United Kingdom2026-08-27
1021Russia2026-08-23
1022Germany2026-09-01
1023Russia2026-09-04
1024Russia2026-08-31
1025Canada2026-09-09
1026Argentina2026-09-01
1027Russia2026-08-25
1028Russia2026-09-18
1029Japan2026-09-11
1030Russia2026-09-09
1031France2026-09-05
1032Australia2026-09-09
1033Japan2026-09-18
1034Argentina2026-08-25
1035India2026-09-07
1036Germany2026-09-03
1037Argentina2026-09-07
1038Canada2026-09-11
1039Argentina2026-09-03
1040Russia2026-09-08
1041Germany2026-08-22
1042Australia2026-09-10
1043Russia2026-09-15
1044Germany2026-08-26
1045Japan2026-09-09
1046Canada2026-08-23
1047United Kingdom2026-09-16
1048India2026-09-10
1049Australia2026-09-07

On-Demand Data

NameIdCountryDate
Izzy I Figeroa1000Italy2026-08-25
Darci Y Kolmetz1001France2026-08-22
Aika M Briddick1002Spain2026-09-16
Arvin K Butt1003France2026-09-08
Ivar U Vocelka1004Argentina2026-09-11
Jones B Morasca1005Italy2026-09-04
Leon O Venere1006France2026-08-29
Sinclair O Bolognia1007France2026-08-22
Ricardo I Saylors1008India2026-09-15
Kaitlin E Morasca1009India2026-09-13
Kadeem E Rulapaugh1010France2026-09-03
Costa V Kusko1011India2026-09-05
Mujtaba Y Briddick1012Brazil2026-08-30
Juan G Oldroyd1013Canada2026-09-11
Morrow C Shinko1014Canada2026-09-18
Aika G Whobrey1015Brazil2026-09-02
Wickens V Ostrosky1016Canada2026-09-07
Misaki F Oldroyd1017Italy2026-09-03
Mayumi O Nestle1018India2026-09-09
Aika V Stenseth1019Brazil2026-09-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie F MorascaArgentinaXuxue Feng UNQUALIFIED
Octavia Y SaylorsGermanyAmy Elsner NEW
Jones A CaldareraIndiaBernardo Dominic PROPOSAL
Arvin X MaletRussiaXuxue Feng PROPOSAL
Jefferson X CampainArgentinaIvan Magalhaes NEGOTIATION
Julie Y OldroydFranceXuxue Feng PROPOSAL
Tony T KuskoJapanAsiya Javayant QUALIFIED
Nicolas D RimJapanXuxue Feng NEGOTIATION
Maria I CaldareraGermanyOnyama Limba QUALIFIED
Aditya E FollerRussiaElwin Sharvill NEGOTIATION
Izzy N GarufiUnited KingdomBernardo Dominic NEGOTIATION
Mayumi T GauchoSpainAnna Fali RENEWAL
Aditya J StockhamItalyIvan Magalhaes NEW
Johnson O BologniaUnited KingdomIvan Magalhaes NEGOTIATION
Leon A MorascaItalyAsiya Javayant RENEWAL
Cody R TollnerJapanIoni Bowcher UNQUALIFIED
Izzy H GarufiFranceAmy Elsner PROPOSAL
Deepesh E IturbideItalyOnyama Limba PROPOSAL
Faith L PaprockiSpainAsiya Javayant NEGOTIATION
Octavia P OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Clifford D InouyeAustraliaBernardo Dominic RENEWAL
Stacey T MaletRussiaBernardo Dominic UNQUALIFIED
Kaitlin V CaudyJapanIoni Bowcher NEW
Ashley X RulapaughRussiaOnyama Limba QUALIFIED
Rodrigues P MacleadGermanyIvan Magalhaes UNQUALIFIED
Munro P MaletArgentinaAnna Fali NEW
Faith Z RulapaughJapanElwin Sharvill UNQUALIFIED
Jones L MorascaArgentinaIvan Magalhaes RENEWAL
Munro N MarrierGermanyXuxue Feng PROPOSAL
Leon A CampainArgentinaOnyama Limba RENEWAL
Arvin J BowleyRussiaElwin Sharvill RENEWAL
Jefferson M BowleyArgentinaIoni Bowcher RENEWAL
Alejandro L PaprockiItalyStephen Shaw QUALIFIED
Ashley Y WaycottGermanyElwin Sharvill QUALIFIED
Aditya C PaprockiSpainXuxue Feng QUALIFIED
Morrow H FerenczBrazilAnna Fali NEGOTIATION
Isabel U OldroydUnited KingdomAsiya Javayant QUALIFIED
Faith Q MorascaArgentinaAmy Elsner RENEWAL
Salvatore Q WhobreyFranceStephen Shaw NEGOTIATION
Emily B KuskoGermanyOnyama Limba RENEWAL

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