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
Ricardo S MorascaArgentinaAmy Elsner RENEWAL
Stacey N MaletIndiaIvan Magalhaes NEW
Adams Y TollnerJapanIoni Bowcher UNQUALIFIED
Izzy S RutaFranceAmy Elsner NEW
Ricardo W DoeAustraliaBernardo Dominic UNQUALIFIED
Clifford Z OldroydUnited KingdomIoni Bowcher NEW
Izzy H KuskoJapanStephen Shaw NEGOTIATION
Alejandro W GarufiCanadaIvan Magalhaes RENEWAL
Maisha X NestleCanadaStephen Shaw UNQUALIFIED
Cody P PerinAustraliaOnyama Limba PROPOSAL
Aditya X DoeBrazilXuxue Feng PROPOSAL
Mayumi W FlosiBrazilElwin Sharvill RENEWAL
Misaki D BowleyFranceStephen Shaw NEGOTIATION
Clifford A BowleyArgentinaXuxue Feng PROPOSAL
Antonio A PerinUnited KingdomElwin Sharvill NEGOTIATION
Jennifer F CampainRussiaOnyama Limba PROPOSAL
Wickens P MaletAustraliaXuxue Feng QUALIFIED
Ivar K InouyeAustraliaXuxue Feng PROPOSAL
Aruna K PaprockiRussiaIvan Magalhaes RENEWAL
Cody V CaudySpainBernardo Dominic RENEWAL
Darci R ChuiGermanyAnna Fali PROPOSAL
Ashley Y AlbaresAustraliaOnyama Limba PROPOSAL
Smith G KolmetzItalyElwin Sharvill UNQUALIFIED
Octavia O DilliardRussiaAnna Fali RENEWAL
Jones Q MacleadUnited KingdomBernardo Dominic RENEWAL
Julie Q AlbaresGermanyElwin Sharvill UNQUALIFIED
Aditya L ChuiGermanyAsiya Javayant NEGOTIATION
Jefferson M PaprockiFranceAsiya Javayant NEGOTIATION
Deepesh K InouyeSpainIoni Bowcher QUALIFIED
Sinclair C FollerUnited KingdomBernardo Dominic QUALIFIED
Munro O PoquetteUnited KingdomIvan Magalhaes QUALIFIED
Ricardo W AmigonIndiaAsiya Javayant UNQUALIFIED
Deepesh L AmigonGermanyOnyama Limba UNQUALIFIED
Stacey L GauchoSpainIoni Bowcher NEW
Nicolas I FigeroaFranceXuxue Feng RENEWAL
Smith B PerinArgentinaAsiya Javayant PROPOSAL
Deepesh S PerinIndiaXuxue Feng PROPOSAL
Jennifer U MarrierGermanyAnna Fali NEW
Silvio R GauchoBrazilElwin Sharvill NEGOTIATION
Ivar K MarrierUnited KingdomXuxue Feng PROPOSAL
Costa J SchemmerBrazilAsiya Javayant RENEWAL
Tony K MaletBrazilIvan Magalhaes NEGOTIATION
Maisha Z MaletBrazilIoni Bowcher NEGOTIATION
Kadeem E MaletFranceAmy Elsner UNQUALIFIED
Darci G PoquetteIndiaElwin Sharvill NEW
Jones C FlosiIndiaAsiya Javayant UNQUALIFIED
Jones M StensethFranceXuxue Feng NEGOTIATION
Munro R GillianJapanElwin Sharvill PROPOSAL
Clifford O SaylorsSpainIoni Bowcher UNQUALIFIED
Costa C InouyeAustraliaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams O ChuiRussiaAsiya Javayant UNQUALIFIED
Alejandro B FollerGermanyAnna Fali RENEWAL
Maisha F VenereJapanAmy Elsner RENEWAL
Rodrigues A CaudyGermanyAnna Fali PROPOSAL
Salvatore Z VenereArgentinaAsiya Javayant NEW
Leja Y ChuiGermanyAsiya Javayant UNQUALIFIED
James K DoeAustraliaElwin Sharvill UNQUALIFIED
Greenwood K KuskoFranceOnyama Limba PROPOSAL
Jefferson S RutaUnited KingdomOnyama Limba QUALIFIED
Ricardo O RutaSpainStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin H CaudyGermany2026-09-23Morlong Associates PROPOSAL99Bernardo Dominic
1001Leon O InouyeUnited Kingdom2026-10-09Feltz Printing Service RENEWAL87Asiya Javayant
1002Greenwood Z RutaGermany2026-10-10Feltz Printing Service QUALIFIED12Elwin Sharvill
1003Costa M GillianJapan2026-09-18Buckley Miller Wright UNQUALIFIED63Ivan Magalhaes
1004Greenwood N StensethArgentina2026-09-28Rousseaux, Michael Esq NEW49Ivan Magalhaes
1005Julie K WaycottRussia2026-09-15Benton, John B Jr UNQUALIFIED15Elwin Sharvill
1006Izzy Z WaycottJapan2026-09-15Commercial Press NEGOTIATION63Onyama Limba
1007Octavia W ShinkoCanada2026-09-14Commercial Press UNQUALIFIED81Anna Fali
1008Murillo W PaprockiAustralia2026-10-05Benton, John B Jr PROPOSAL78Anna Fali
1009Jennifer G FerenczBrazil2026-09-22Morlong Associates RENEWAL35Asiya Javayant
1010Mujtaba I OstroskyJapan2026-10-09Benton, John B Jr QUALIFIED6Asiya Javayant
1011Rodrigues P FerenczFrance2026-10-05Benton, John B Jr NEW51Elwin Sharvill
1012Ashley W ChuiRussia2026-10-11Chemel, James L Cpa PROPOSAL50Amy Elsner
1013Claire W BowleyAustralia2026-09-18Chapman, Ross E Esq NEW9Onyama Limba
1014Cody Z WieserSpain2026-09-25Printing Dimensions QUALIFIED11Asiya Javayant
1015Salvatore Z RimCanada2026-09-27Benton, John B Jr UNQUALIFIED41Anna Fali
1016Claire M VenereUnited Kingdom2026-10-13Chanay, Jeffrey A Esq RENEWAL32Xuxue Feng
1017Sinclair C SchemmerRussia2026-09-19Rousseaux, Michael Esq RENEWAL39Amy Elsner
1018Costa L FollerGermany2026-09-26Feltz Printing Service QUALIFIED94Ivan Magalhaes
1019Ashley F MaletFrance2026-09-14Rangoni Of Florence PROPOSAL40Stephen Shaw
1020Aruna E ButtSpain2026-09-30Rousseaux, Michael Esq NEGOTIATION38Xuxue Feng
1021Rodrigues U ChuiGermany2026-09-15Chemel, James L Cpa NEGOTIATION96Elwin Sharvill
1022Darci C SaylorsBrazil2026-10-05Rangoni Of Florence QUALIFIED94Elwin Sharvill
1023Greenwood V BriddickAustralia2026-09-21Chemel, James L Cpa NEGOTIATION90Asiya Javayant
1024David I GlickItaly2026-09-29Morlong Associates NEW36Bernardo Dominic
1025Ashley D SchemmerItaly2026-09-23Buckley Miller Wright NEW74Asiya Javayant
1026Izzy R RoysterCanada2026-09-21Dorl, James J Esq QUALIFIED57Bernardo Dominic
1027Kadeem Y MaletJapan2026-09-28Buckley Miller Wright PROPOSAL56Ioni Bowcher
1028Munro O WhobreyAustralia2026-09-28Chanay, Jeffrey A Esq NEW37Onyama Limba
1029Chavez Y PerinItaly2026-09-16Feiner Bros NEGOTIATION48Elwin Sharvill
1030Izzy I RulapaughItaly2026-09-14Feiner Bros NEGOTIATION98Anna Fali
1031Morrow C RimRussia2026-09-27Chapman, Ross E Esq QUALIFIED20Ioni Bowcher
1032Greenwood Z CaudyItaly2026-10-08Feiner Bros UNQUALIFIED63Bernardo Dominic
1033Emily B KuskoGermany2026-09-29Rangoni Of Florence UNQUALIFIED78Onyama Limba
1034Julie J CampainJapan2026-09-23Benton, John B Jr NEGOTIATION2Stephen Shaw
1035Jennifer R ButtArgentina2026-09-23Benton, John B Jr NEGOTIATION35Onyama Limba
1036Stacey A MacleadUnited Kingdom2026-10-13Feiner Bros NEW48Ivan Magalhaes
1037Costa L GillianGermany2026-09-23Truhlar And Truhlar Attys UNQUALIFIED99Ivan Magalhaes
1038Ivar D KuskoJapan2026-09-28Benton, John B Jr QUALIFIED54Xuxue Feng
1039Alejandro B FigeroaBrazil2026-10-09Rangoni Of Florence UNQUALIFIED87Ioni Bowcher
1040Aika L SchemmerUnited Kingdom2026-09-27Feiner Bros NEW47Anna Fali
1041Mujtaba P PoquetteCanada2026-10-03Feiner Bros PROPOSAL82Elwin Sharvill
1042Munro K FlosiFrance2026-09-30Rousseaux, Michael Esq NEW64Elwin Sharvill
1043Rodrigues Q WaycottJapan2026-09-21Chemel, James L Cpa NEW50Onyama Limba
1044Adams U FerenczRussia2026-09-22Chapman, Ross E Esq UNQUALIFIED5Bernardo Dominic
1045Adams G WaycottAustralia2026-10-13Rousseaux, Michael Esq NEW39Amy Elsner
1046Chavez I ButtBrazil2026-09-15Rangoni Of Florence QUALIFIED62Ivan Magalhaes
1047Chavez M ChuiGermany2026-09-18Rousseaux, Michael Esq NEW63Ioni Bowcher
1048Jennifer J NickaUnited Kingdom2026-10-01Rousseaux, Michael Esq UNQUALIFIED34Onyama Limba
1049Ashley M InouyeBrazil2026-10-09Feiner Bros PROPOSAL44Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Nicolas O MaletIndiaIoni Bowcher UNQUALIFIED
Maria Y DilliardBrazilAsiya Javayant NEGOTIATION
Faith I FlosiFranceXuxue Feng UNQUALIFIED
Julie I RulapaughArgentinaAnna Fali PROPOSAL
Johnson I MorascaBrazilAnna Fali NEGOTIATION
Leja A AlbaresAustraliaStephen Shaw RENEWAL
James V KuskoUnited KingdomOnyama Limba RENEWAL
Clifford A CaldareraJapanBernardo Dominic NEW
Juan Z CaldareraFranceXuxue Feng PROPOSAL
Chavez G AlbaresUnited KingdomIoni Bowcher RENEWAL
Misaki K OstroskySpainXuxue Feng UNQUALIFIED
Aika Y CampainCanadaElwin Sharvill RENEWAL
Alejandro J BologniaAustraliaAsiya Javayant QUALIFIED
Adams G OldroydIndiaAnna Fali NEGOTIATION
Johnson A ShinkoArgentinaOnyama Limba NEW
Arvin S MacleadArgentinaBernardo Dominic NEW
Maria C WaycottBrazilBernardo Dominic PROPOSAL
Salvatore J OstroskyArgentinaXuxue Feng RENEWAL
Salvatore V DilliardCanadaIvan Magalhaes PROPOSAL
Jeanfrancois C CampainCanadaAmy Elsner NEGOTIATION
Sinclair I AlbaresGermanyAsiya Javayant PROPOSAL
Octavia W FlosiGermanyBernardo Dominic PROPOSAL
Tony P RutaBrazilIvan Magalhaes QUALIFIED
Darci N FigeroaIndiaAnna Fali QUALIFIED
Francesco F VenereJapanElwin Sharvill RENEWAL
Claire L FigeroaSpainIvan Magalhaes RENEWAL
David G RoysterGermanyAsiya Javayant PROPOSAL
Deepesh E MacleadSpainIoni Bowcher NEGOTIATION
Maria X PaprockiSpainElwin Sharvill RENEWAL
Wickens A KolmetzArgentinaAnna Fali RENEWAL
Ivar V DilliardItalyIoni Bowcher PROPOSAL
Leon C FigeroaRussiaElwin Sharvill PROPOSAL
Johnson V GauchoAustraliaIoni Bowcher PROPOSAL
Chavez S CaldareraUnited KingdomIvan Magalhaes NEW
Johnson K RimGermanyIoni Bowcher PROPOSAL
Murillo I FerenczGermanyAmy Elsner PROPOSAL
Adams M CaldareraAustraliaBernardo Dominic NEGOTIATION
Kaitlin S WaycottUnited KingdomIoni Bowcher PROPOSAL
James K NestleAustraliaBernardo Dominic NEGOTIATION
Ashley G GillianJapanStephen Shaw RENEWAL
Jones W NestleJapanAmy Elsner NEW
Ashley Z NestleGermanyAnna Fali NEGOTIATION
Leon G OldroydRussiaAsiya Javayant NEW
Julie U NickaUnited KingdomAmy Elsner QUALIFIED
Silvio A DoeIndiaAsiya Javayant QUALIFIED
Smith K SaylorsArgentinaAsiya Javayant QUALIFIED
Aruna K RimFranceAnna Fali UNQUALIFIED
Darci K WaycottFranceOnyama Limba PROPOSAL
Francesco I RutaUnited KingdomBernardo Dominic UNQUALIFIED
Mujtaba U PaprockiFranceAmy Elsner UNQUALIFIED
Frozen Columns
Name
Sinclair T Doe
Tony M Ostrosky
Izzy O Perin
Clifford I Royster
Izzy B Kolmetz
Isabel X Morasca
Darci W Shinko
Antonio F Vocelka
Munro L Malet
Tony F Maclead
Murillo M Schemmer
Costa L Kusko
Silvio J Saylors
Munro U Campain
Wickens A Ruta
Clifford N Rim
Silvio Q Ruta
Clifford C Malet
Aika U Gaucho
Antonio P Oldroyd
Murillo X Nestle
Alejandro M Waycott
Jennifer N Malet
Ricardo W Nicka
Jeanfrancois V Slusarski
Jefferson D Garufi
Darci X Royster
Clifford R Ferencz
Leon B Malet
Maria T Chui
Jones I Sergi
David L Doe
Jefferson Z Royster
Stacey N Stenseth
Salvatore L Caldarera
Darci I Gillian
Rodrigues Y Malet
Octavia W Stockham
Izzy Q Kusko
Julie F Schemmer
Murillo D Caudy
Silvio T Gillian
Munro E Ruta
Maisha H Maclead
Aditya Q Ferencz
Munro G Ostrosky
Misaki J Oldroyd
Darci M Whobrey
Rodrigues X Amigon
Antonio B Oldroyd
IdCountryDate
1000Canada2026-10-08
1001Canada2026-10-11
1002Russia2026-10-05
1003Brazil2026-09-26
1004Russia2026-10-10
1005Russia2026-10-12
1006France2026-09-23
1007Australia2026-10-06
1008Russia2026-09-29
1009France2026-10-13
1010Germany2026-10-11
1011Germany2026-09-22
1012Canada2026-09-24
1013United Kingdom2026-10-01
1014Spain2026-09-18
1015Brazil2026-10-04
1016Russia2026-10-06
1017Germany2026-09-29
1018Japan2026-09-23
1019Australia2026-09-24
1020United Kingdom2026-10-03
1021France2026-10-08
1022France2026-10-11
1023Japan2026-09-17
1024United Kingdom2026-09-28
1025United Kingdom2026-10-02
1026Australia2026-09-17
1027United Kingdom2026-09-15
1028Australia2026-10-04
1029Russia2026-09-30
1030France2026-10-10
1031United Kingdom2026-09-19
1032Russia2026-09-15
1033Italy2026-09-17
1034United Kingdom2026-10-03
1035United Kingdom2026-09-19
1036Canada2026-09-20
1037Argentina2026-09-25
1038India2026-09-16
1039Argentina2026-09-14
1040Canada2026-10-05
1041France2026-09-28
1042Italy2026-09-24
1043France2026-09-25
1044India2026-10-01
1045Brazil2026-10-08
1046Canada2026-10-08
1047Argentina2026-09-18
1048Argentina2026-09-23
1049Brazil2026-09-17

On-Demand Data

NameIdCountryDate
Kaitlin F Campain1000Canada2026-09-21
Alejandro Z Royster1001France2026-09-22
Chavez S Briddick1002United Kingdom2026-10-10
Maisha I Flosi1003France2026-10-05
Juan Q Sergi1004Australia2026-09-22
Francesco Z Iturbide1005Germany2026-10-07
Johnson F Rim1006Russia2026-10-08
Misaki U Schemmer1007Germany2026-09-20
Aika X Ruta1008Spain2026-09-18
Aruna Y Sergi1009Argentina2026-09-15
Adams W Foller1010Canada2026-09-18
Stacey Z Iturbide1011Germany2026-10-03
Adams J Flosi1012Brazil2026-09-20
Leja S Bolognia1013Japan2026-10-09
Jennifer Q Schemmer1014Brazil2026-10-06
Ricardo O Figeroa1015Australia2026-09-23
Costa K Iturbide1016Canada2026-10-07
Isabel D Kusko1017Italy2026-10-08
Clifford C Flosi1018Germany2026-09-16
Rodrigues I Kolmetz1019Italy2026-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar U FollerIndiaAmy Elsner PROPOSAL
Nicolas B RutaGermanyAnna Fali QUALIFIED
Mayumi M GarufiRussiaOnyama Limba QUALIFIED
Clifford S RulapaughArgentinaAmy Elsner PROPOSAL
Ivar I SlusarskiRussiaIoni Bowcher NEGOTIATION
Aruna P MaletItalyAnna Fali NEGOTIATION
Stacey G RulapaughSpainAnna Fali QUALIFIED
Tony S FerenczBrazilAsiya Javayant NEGOTIATION
Ivar J VocelkaIndiaIvan Magalhaes NEW
Darci W SaylorsBrazilIvan Magalhaes RENEWAL
Adams C OstroskyIndiaElwin Sharvill PROPOSAL
Ivar Q ShinkoCanadaElwin Sharvill NEGOTIATION
Jones A MorascaItalyIvan Magalhaes RENEWAL
Claire P WieserRussiaOnyama Limba PROPOSAL
Wickens V GarufiJapanIoni Bowcher RENEWAL
Jennifer N ChuiAustraliaOnyama Limba QUALIFIED
David Q VocelkaIndiaAmy Elsner UNQUALIFIED
Murillo E StensethCanadaAnna Fali PROPOSAL
Ricardo U TollnerJapanAmy Elsner QUALIFIED
Francesco D NickaIndiaOnyama Limba NEW
Octavia U AlbaresBrazilBernardo Dominic RENEWAL
Claire R TollnerSpainElwin Sharvill NEGOTIATION
Maisha W SergiGermanyXuxue Feng UNQUALIFIED
Aruna U StockhamJapanOnyama Limba QUALIFIED
Emily J ShinkoUnited KingdomAsiya Javayant UNQUALIFIED
Jennifer H SaylorsItalyOnyama Limba NEW
Mayumi S PaprockiGermanyOnyama Limba UNQUALIFIED
Jones R FerenczAustraliaOnyama Limba NEW
Tony D BowleyAustraliaXuxue Feng UNQUALIFIED
Rodrigues V OldroydJapanXuxue Feng QUALIFIED
Murillo I DoeSpainXuxue Feng QUALIFIED
Francesco X OstroskyCanadaOnyama Limba NEW
Maisha E MarrierSpainIoni Bowcher NEGOTIATION
Sinclair R BowleyBrazilAnna Fali RENEWAL
Aruna D FerenczFranceIvan Magalhaes RENEWAL
Cody X TollnerArgentinaBernardo Dominic PROPOSAL
Leja J VocelkaSpainIoni Bowcher NEGOTIATION
Izzy A RoysterGermanyAsiya Javayant QUALIFIED
Ashley X ButtIndiaBernardo Dominic RENEWAL
David Y RulapaughAustraliaIoni Bowcher 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>