Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Tony I SaylorsCanadaElwin Sharvill RENEWAL
Sinclair W WhobreySpainElwin Sharvill UNQUALIFIED
Emily M CampainBrazilAsiya Javayant RENEWAL
Ivar Q ShinkoSpainStephen Shaw RENEWAL
James D FerenczSpainIoni Bowcher NEW
Clifford T NestleJapanAsiya Javayant RENEWAL
Emily A OstroskyJapanIvan Magalhaes RENEWAL
Isabel D NickaUnited KingdomIoni Bowcher NEGOTIATION
Costa O OstroskyArgentinaIvan Magalhaes RENEWAL
Kaitlin X GarufiIndiaElwin Sharvill NEW
Juan C FlosiIndiaIoni Bowcher PROPOSAL
Aika B DilliardRussiaXuxue Feng QUALIFIED
Mujtaba M FigeroaGermanyIvan Magalhaes UNQUALIFIED
David Z KuskoGermanyAsiya Javayant QUALIFIED
Tony U FollerRussiaAnna Fali RENEWAL
Faith A MarrierGermanyIvan Magalhaes NEW
Mujtaba N RutaAustraliaBernardo Dominic NEW
Maisha I InouyeArgentinaAnna Fali NEGOTIATION
Francesco A CaudyGermanyAnna Fali UNQUALIFIED
Wickens C BowleyJapanBernardo Dominic NEW
Ricardo W VenereCanadaIvan Magalhaes UNQUALIFIED
Aruna Q FlosiAustraliaElwin Sharvill NEW
Clifford C AmigonIndiaAsiya Javayant NEW
Antonio W DilliardGermanyIvan Magalhaes RENEWAL
Johnson I VocelkaFranceIoni Bowcher NEW
Mayumi K RoysterJapanStephen Shaw QUALIFIED
Wickens V DoeFranceAsiya Javayant QUALIFIED
Maria S VocelkaGermanyAnna Fali RENEWAL
Sinclair M MarrierBrazilAmy Elsner RENEWAL
Smith U RimSpainElwin Sharvill RENEWAL
Morrow F SlusarskiUnited KingdomAmy Elsner UNQUALIFIED
Morrow Q VenereUnited KingdomIvan Magalhaes NEGOTIATION
Maria W MarrierItalyAsiya Javayant PROPOSAL
Arvin O WieserArgentinaAmy Elsner UNQUALIFIED
Cody K ButtUnited KingdomIvan Magalhaes QUALIFIED
Chavez U CaudyUnited KingdomStephen Shaw RENEWAL
Kadeem K DarakjyAustraliaXuxue Feng QUALIFIED
Stacey Y DilliardRussiaOnyama Limba NEW
Izzy P OldroydRussiaStephen Shaw UNQUALIFIED
Wickens C TollnerUnited KingdomAnna Fali QUALIFIED
Jennifer S VocelkaUnited KingdomAnna Fali RENEWAL
Aruna G FollerFranceXuxue Feng QUALIFIED
Claire B FollerSpainOnyama Limba QUALIFIED
Jennifer F TollnerSpainIoni Bowcher NEW
Ashley R RoysterCanadaElwin Sharvill NEW
Nicolas C BriddickIndiaIoni Bowcher PROPOSAL
Mayumi M CaldareraBrazilIoni Bowcher UNQUALIFIED
Murillo I PerinBrazilIvan Magalhaes RENEWAL
Kadeem C ChuiJapanOnyama Limba UNQUALIFIED
Jeanfrancois B CampainRussiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Francesco Z RulapaughJapanXuxue Feng PROPOSAL
Aruna A CaudyGermanyBernardo Dominic PROPOSAL
Jeanfrancois C GlickRussiaIoni Bowcher RENEWAL
Jeanfrancois L StockhamBrazilAmy Elsner RENEWAL
Aditya I MarrierItalyOnyama Limba NEGOTIATION
Emily K PaprockiRussiaElwin Sharvill UNQUALIFIED
Leja X VenereIndiaIoni Bowcher RENEWAL
David S KolmetzJapanIvan Magalhaes QUALIFIED
Francesco U OstroskyUnited KingdomAsiya Javayant PROPOSAL
Cody Z VenereJapanElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa Y AlbaresIndia2025-07-29King, Christopher A Esq RENEWAL49Bernardo Dominic
1001Aruna M RutaJapan2025-07-30Rangoni Of Florence QUALIFIED15Amy Elsner
1002Arvin H FerenczGermany2025-08-14Truhlar And Truhlar Attys NEGOTIATION62Anna Fali
1003Octavia I ChuiCanada2025-07-27Commercial Press NEGOTIATION82Anna Fali
1004Mujtaba L StensethRussia2025-08-05Truhlar And Truhlar Attys PROPOSAL82Xuxue Feng
1005Francesco S MaletIndia2025-07-27Chanay, Jeffrey A Esq NEGOTIATION9Xuxue Feng
1006Murillo C PaprockiGermany2025-08-07Printing Dimensions NEW77Bernardo Dominic
1007Aruna Q AmigonJapan2025-08-15Feltz Printing Service NEGOTIATION42Amy Elsner
1008Antonio M WhobreyCanada2025-08-03Benton, John B Jr NEGOTIATION90Onyama Limba
1009Octavia X InouyeSpain2025-08-05Buckley Miller Wright RENEWAL5Asiya Javayant
1010Leja M DilliardBrazil2025-08-17Benton, John B Jr NEGOTIATION55Ioni Bowcher
1011Wickens E BowleyAustralia2025-08-16Rousseaux, Michael Esq PROPOSAL67Xuxue Feng
1012Kaitlin K StensethUnited Kingdom2025-08-12Chapman, Ross E Esq NEGOTIATION67Ivan Magalhaes
1013Munro B AlbaresJapan2025-08-20Chemel, James L Cpa UNQUALIFIED6Stephen Shaw
1014Smith E PaprockiFrance2025-07-24Commercial Press RENEWAL10Onyama Limba
1015Murillo L KolmetzSpain2025-08-20Printing Dimensions NEGOTIATION70Anna Fali
1016Jeanfrancois E WaycottSpain2025-08-18King, Christopher A Esq NEGOTIATION28Elwin Sharvill
1017Silvio U MaletFrance2025-07-31Truhlar And Truhlar Attys NEW73Asiya Javayant
1018Leja A KolmetzAustralia2025-08-10Dorl, James J Esq NEW77Xuxue Feng
1019Adams O BowleyBrazil2025-08-14Chapman, Ross E Esq UNQUALIFIED42Onyama Limba
1020Jefferson E MorascaCanada2025-08-21Benton, John B Jr NEGOTIATION99Anna Fali
1021Munro C KolmetzIndia2025-07-27Rousseaux, Michael Esq UNQUALIFIED52Ivan Magalhaes
1022Leon O SaylorsIndia2025-07-30Chanay, Jeffrey A Esq PROPOSAL38Amy Elsner
1023Julie F InouyeUnited Kingdom2025-08-04Rangoni Of Florence UNQUALIFIED27Xuxue Feng
1024Clifford P FollerItaly2025-08-18Chemel, James L Cpa UNQUALIFIED59Elwin Sharvill
1025Claire L PerinItaly2025-08-05Benton, John B Jr QUALIFIED90Xuxue Feng
1026Leon M AmigonSpain2025-08-08Rousseaux, Michael Esq QUALIFIED79Bernardo Dominic
1027Misaki K SergiRussia2025-08-16Printing Dimensions PROPOSAL4Stephen Shaw
1028Johnson E FollerFrance2025-08-20Benton, John B Jr RENEWAL79Ivan Magalhaes
1029Alejandro Y RulapaughJapan2025-07-31Chapman, Ross E Esq NEW27Asiya Javayant
1030Wickens C MaletAustralia2025-08-06Truhlar And Truhlar Attys PROPOSAL69Stephen Shaw
1031Kadeem J ChuiArgentina2025-08-16Morlong Associates UNQUALIFIED46Ivan Magalhaes
1032Maria P KolmetzUnited Kingdom2025-08-10Feiner Bros PROPOSAL31Stephen Shaw
1033Jones A PerinJapan2025-08-20Morlong Associates NEGOTIATION28Ioni Bowcher
1034Silvio K InouyeAustralia2025-07-31Feiner Bros QUALIFIED40Ivan Magalhaes
1035Ricardo F SaylorsCanada2025-08-03Feltz Printing Service NEGOTIATION96Xuxue Feng
1036Salvatore R ChuiArgentina2025-08-02Chanay, Jeffrey A Esq QUALIFIED7Amy Elsner
1037Morrow I MarrierCanada2025-08-14Feiner Bros RENEWAL83Onyama Limba
1038Adams Y GillianRussia2025-08-03Commercial Press NEGOTIATION57Stephen Shaw
1039Munro Z NestleUnited Kingdom2025-08-13Chemel, James L Cpa NEW67Elwin Sharvill
1040James I PerinIndia2025-08-12Rousseaux, Michael Esq PROPOSAL8Onyama Limba
1041Aruna T StockhamBrazil2025-08-08Rousseaux, Michael Esq NEGOTIATION42Bernardo Dominic
1042Jeanfrancois A CaudyCanada2025-08-07Chapman, Ross E Esq NEW0Amy Elsner
1043Wickens L SaylorsRussia2025-08-17King, Christopher A Esq QUALIFIED26Ivan Magalhaes
1044Ricardo J AmigonArgentina2025-08-06Rousseaux, Michael Esq UNQUALIFIED98Bernardo Dominic
1045Smith P SchemmerArgentina2025-07-26Printing Dimensions UNQUALIFIED69Amy Elsner
1046Chavez M TollnerGermany2025-07-30Feiner Bros NEGOTIATION77Ivan Magalhaes
1047Jefferson C PaprockiCanada2025-07-30Feiner Bros UNQUALIFIED84Stephen Shaw
1048Ricardo P SchemmerBrazil2025-08-10Printing Dimensions NEGOTIATION0Bernardo Dominic
1049Aditya Z CampainArgentina2025-08-15Rousseaux, Michael Esq PROPOSAL83Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Murillo E ChuiAustraliaIoni Bowcher NEGOTIATION
Maisha Q ChuiRussiaStephen Shaw NEW
Wickens F IturbideArgentinaElwin Sharvill QUALIFIED
Maisha S MaletRussiaStephen Shaw QUALIFIED
Cody A VenereRussiaOnyama Limba NEW
Aruna I GlickAustraliaIoni Bowcher NEW
Emily N CaudyItalyAnna Fali RENEWAL
Darci H CampainAustraliaStephen Shaw UNQUALIFIED
Morrow T RulapaughGermanyOnyama Limba QUALIFIED
Nicolas N AmigonGermanyBernardo Dominic PROPOSAL
Claire Q NickaJapanBernardo Dominic RENEWAL
Salvatore X CaudySpainAmy Elsner QUALIFIED
Sinclair Z MaletArgentinaAmy Elsner PROPOSAL
Stacey B AmigonJapanElwin Sharvill NEW
Isabel X OldroydIndiaAmy Elsner NEW
Jefferson K SergiArgentinaBernardo Dominic PROPOSAL
Maisha M GarufiRussiaOnyama Limba UNQUALIFIED
Misaki A NickaGermanyOnyama Limba QUALIFIED
Juan R WaycottGermanyAnna Fali NEGOTIATION
Mayumi E PerinCanadaOnyama Limba PROPOSAL
Rodrigues Z MacleadIndiaAmy Elsner NEGOTIATION
Munro U PerinSpainBernardo Dominic NEGOTIATION
Salvatore L NickaCanadaBernardo Dominic NEW
Francesco E KuskoArgentinaBernardo Dominic RENEWAL
Julie L CampainArgentinaAnna Fali UNQUALIFIED
Nicolas K RimItalyOnyama Limba RENEWAL
Greenwood V DilliardCanadaStephen Shaw QUALIFIED
David V DilliardSpainIvan Magalhaes NEW
Clifford R GlickFranceAnna Fali UNQUALIFIED
Stacey N InouyeAustraliaXuxue Feng RENEWAL
Jefferson G WaycottItalyBernardo Dominic QUALIFIED
Aditya E FerenczRussiaAsiya Javayant UNQUALIFIED
Deepesh O WaycottUnited KingdomOnyama Limba QUALIFIED
Aruna Q VocelkaRussiaStephen Shaw QUALIFIED
Aika Y MacleadBrazilIvan Magalhaes PROPOSAL
Deepesh K VocelkaJapanElwin Sharvill NEW
Alejandro G KuskoItalyAnna Fali PROPOSAL
Cody E ButtSpainAnna Fali PROPOSAL
Darci G MarrierGermanyOnyama Limba QUALIFIED
Costa Q ChuiSpainAnna Fali PROPOSAL
Kadeem W StensethBrazilStephen Shaw UNQUALIFIED
Jennifer K SaylorsGermanyBernardo Dominic UNQUALIFIED
Alejandro B DarakjyBrazilBernardo Dominic QUALIFIED
Maria E DarakjyFranceAsiya Javayant NEGOTIATION
Ashley Y VenereAustraliaElwin Sharvill UNQUALIFIED
David M BowleySpainOnyama Limba UNQUALIFIED
Arvin D GlickGermanyElwin Sharvill UNQUALIFIED
Jefferson Z GillianGermanyAnna Fali RENEWAL
Jeanfrancois E BriddickJapanXuxue Feng UNQUALIFIED
Cody W PoquetteArgentinaIoni Bowcher QUALIFIED
Frozen Columns
Name
Rodrigues Q Ruta
Francesco F Sergi
Wickens L Rim
Leja J Foller
Chavez W Nicka
Silvio V Morasca
Tony D Gillian
Chavez A Malet
Morrow A Waycott
Antonio H Chui
Ivar M Whobrey
David D Rulapaugh
Mujtaba W Kusko
Maisha V Caudy
James F Malet
Alejandro D Dilliard
Adams J Dilliard
Kadeem H Morasca
Octavia Y Flosi
Smith I Amigon
Izzy F Bowley
Kadeem U Nestle
Kadeem F Royster
Murillo G Chui
Morrow P Sergi
David W Shinko
Darci M Kusko
Aruna B Amigon
Murillo I Inouye
Stacey Z Caldarera
Deepesh K Nestle
Aika H Briddick
Izzy T Oldroyd
Maria G Briddick
Johnson X Rim
Chavez X Slusarski
Izzy L Stockham
Stacey N Doe
Maria J Stenseth
Maisha Z Butt
Smith Y Royster
Wickens R Iturbide
Salvatore B Ferencz
Clifford A Gillian
Ricardo T Garufi
Adams G Nicka
Silvio Z Flosi
Francesco F Chui
Adams S Iturbide
Izzy F Nicka
IdCountryDate
1000Germany2025-08-14
1001Germany2025-07-30
1002United Kingdom2025-07-26
1003United Kingdom2025-08-09
1004Russia2025-08-04
1005United Kingdom2025-08-12
1006Japan2025-07-24
1007France2025-08-17
1008Russia2025-07-25
1009India2025-08-01
1010Argentina2025-08-13
1011Italy2025-08-16
1012India2025-08-08
1013India2025-07-31
1014Australia2025-08-12
1015Brazil2025-08-15
1016Russia2025-08-04
1017Spain2025-08-15
1018United Kingdom2025-08-08
1019United Kingdom2025-08-05
1020Spain2025-08-19
1021United Kingdom2025-07-27
1022Canada2025-07-27
1023Russia2025-08-03
1024India2025-07-24
1025Australia2025-08-02
1026Germany2025-08-19
1027Russia2025-07-24
1028Spain2025-07-30
1029Italy2025-08-13
1030Japan2025-08-20
1031Japan2025-08-10
1032Germany2025-07-30
1033Italy2025-08-13
1034United Kingdom2025-08-14
1035France2025-08-14
1036Germany2025-08-17
1037Japan2025-08-18
1038Italy2025-07-26
1039Japan2025-08-01
1040Germany2025-08-05
1041Brazil2025-08-15
1042Brazil2025-08-13
1043Spain2025-07-28
1044Canada2025-07-24
1045France2025-08-01
1046Canada2025-08-19
1047United Kingdom2025-08-21
1048Argentina2025-08-11
1049France2025-08-18

On-Demand Data

NameIdCountryDate
Kaitlin W Ostrosky1000Argentina2025-07-29
Aika V Chui1001Spain2025-07-26
Salvatore H Tollner1002Australia2025-08-06
Aditya W Ostrosky1003Germany2025-08-11
Salvatore Y Whobrey1004Brazil2025-07-27
Jefferson Q Gaucho1005India2025-08-03
Aruna G Bolognia1006Argentina2025-07-31
Rodrigues T Stenseth1007India2025-08-21
Nicolas I Schemmer1008Russia2025-07-24
Johnson V Slusarski1009Brazil2025-08-11
David C Malet1010Germany2025-08-01
Clifford Z Slusarski1011Argentina2025-08-09
Arvin P Poquette1012France2025-08-03
Wickens J Garufi1013Spain2025-08-14
Wickens D Figeroa1014Japan2025-08-02
Wickens P Morasca1015Italy2025-08-03
Maria T Oldroyd1016India2025-07-27
Faith V Dilliard1017Japan2025-08-07
Claire T Stenseth1018Brazil2025-08-19
Cody Q Campain1019Brazil2025-08-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan I DarakjyItalyStephen Shaw NEW
Claire J RimCanadaBernardo Dominic UNQUALIFIED
Adams J IturbideItalyOnyama Limba NEGOTIATION
Antonio K OldroydCanadaAsiya Javayant QUALIFIED
Ashley X AlbaresArgentinaStephen Shaw PROPOSAL
Francesco C KuskoBrazilBernardo Dominic NEW
Kaitlin C DarakjyItalyAmy Elsner PROPOSAL
Murillo W KuskoSpainStephen Shaw NEW
Aditya L MaletArgentinaAsiya Javayant RENEWAL
Arvin F SergiArgentinaElwin Sharvill UNQUALIFIED
Francesco G DilliardIndiaOnyama Limba PROPOSAL
Costa H GillianRussiaStephen Shaw RENEWAL
Morrow L DarakjyUnited KingdomElwin Sharvill QUALIFIED
Nicolas H RoysterCanadaBernardo Dominic QUALIFIED
Clifford N RoysterRussiaXuxue Feng RENEWAL
Wickens Q SlusarskiJapanStephen Shaw UNQUALIFIED
Aika C GauchoItalyBernardo Dominic PROPOSAL
Smith O MaletSpainAnna Fali UNQUALIFIED
Aruna J DarakjyGermanyStephen Shaw QUALIFIED
Aruna W InouyeRussiaAmy Elsner NEW
Greenwood V MarrierIndiaXuxue Feng NEW
Jennifer B FerenczIndiaAmy Elsner RENEWAL
Kaitlin C GillianCanadaIvan Magalhaes NEW
Aditya K SlusarskiItalyOnyama Limba RENEWAL
Jeanfrancois I KolmetzBrazilAnna Fali PROPOSAL
Maisha F PaprockiArgentinaAsiya Javayant NEW
Jeanfrancois C CaudyRussiaBernardo Dominic RENEWAL
Maisha Z StockhamArgentinaOnyama Limba NEGOTIATION
Alejandro D BologniaIndiaStephen Shaw UNQUALIFIED
Mujtaba X NestleCanadaStephen Shaw RENEWAL
Octavia A NestleSpainBernardo Dominic PROPOSAL
Jones J SchemmerArgentinaAsiya Javayant PROPOSAL
James P MaletRussiaAsiya Javayant UNQUALIFIED
Aika C NickaCanadaIoni Bowcher NEGOTIATION
Julie D StockhamBrazilAnna Fali RENEWAL
Misaki L AlbaresArgentinaAmy Elsner PROPOSAL
Francesco W KuskoItalyIvan Magalhaes PROPOSAL
Juan C KuskoSpainBernardo Dominic NEW
Silvio F PaprockiFranceIvan Magalhaes RENEWAL
Jones A KolmetzItalyBernardo Dominic PROPOSAL

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