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
Isabel N MaletJapanStephen Shaw QUALIFIED
Nicolas C OstroskyRussiaIoni Bowcher QUALIFIED
Ashley O TollnerCanadaAnna Fali NEW
Juan E NickaAustraliaAsiya Javayant UNQUALIFIED
Rodrigues Z RoysterAustraliaXuxue Feng QUALIFIED
Ricardo J MaletIndiaAmy Elsner NEGOTIATION
Claire V FollerArgentinaAnna Fali NEW
Mujtaba H FigeroaBrazilElwin Sharvill PROPOSAL
Ricardo Y FlosiAustraliaIvan Magalhaes PROPOSAL
Silvio R VenereUnited KingdomOnyama Limba UNQUALIFIED
Wickens S ShinkoArgentinaAnna Fali NEGOTIATION
Stacey W WhobreyArgentinaAsiya Javayant PROPOSAL
Leja L PoquetteArgentinaBernardo Dominic NEGOTIATION
Ricardo K DoeFranceAnna Fali RENEWAL
Maria E FerenczItalyElwin Sharvill NEGOTIATION
Darci I CampainAustraliaOnyama Limba UNQUALIFIED
Emily J WieserGermanyAmy Elsner PROPOSAL
Kadeem M GillianRussiaIvan Magalhaes NEGOTIATION
Deepesh Q ChuiFranceStephen Shaw NEW
Cody N StockhamSpainAmy Elsner UNQUALIFIED
Stacey M GauchoArgentinaXuxue Feng RENEWAL
Rodrigues E TollnerAustraliaAnna Fali NEW
Murillo E BowleyRussiaIoni Bowcher QUALIFIED
Emily C RutaUnited KingdomAsiya Javayant QUALIFIED
Leja S BriddickBrazilBernardo Dominic NEGOTIATION
Ivar R ShinkoArgentinaStephen Shaw UNQUALIFIED
Aruna R PerinSpainAmy Elsner QUALIFIED
Tony Y GillianArgentinaOnyama Limba NEGOTIATION
Jennifer X CaldareraArgentinaXuxue Feng QUALIFIED
Tony Q SlusarskiRussiaAmy Elsner NEGOTIATION
Sinclair F PoquetteIndiaAnna Fali NEW
Julie N MorascaCanadaElwin Sharvill NEW
Claire Q SchemmerRussiaAsiya Javayant PROPOSAL
Ricardo B WieserFranceOnyama Limba NEGOTIATION
Ashley M InouyeItalyAnna Fali NEGOTIATION
Juan R SlusarskiGermanyIvan Magalhaes PROPOSAL
Cody I CampainGermanyAsiya Javayant QUALIFIED
Kaitlin D RutaFranceIvan Magalhaes QUALIFIED
Jefferson K SaylorsArgentinaBernardo Dominic NEW
Faith G GlickCanadaAsiya Javayant NEW
Aditya K WhobreyGermanyStephen Shaw QUALIFIED
Sinclair M CampainUnited KingdomBernardo Dominic NEW
Jennifer Z BriddickAustraliaElwin Sharvill RENEWAL
James A DarakjySpainOnyama Limba UNQUALIFIED
Faith Y RutaAustraliaIoni Bowcher RENEWAL
Octavia O GlickCanadaIoni Bowcher UNQUALIFIED
Izzy N SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Adams J MorascaBrazilBernardo Dominic RENEWAL
Alejandro Y IturbideAustraliaXuxue Feng QUALIFIED
Murillo G SchemmerJapanIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh J SchemmerGermanyXuxue Feng PROPOSAL
Silvio D FerenczAustraliaAmy Elsner PROPOSAL
Arvin E NestleCanadaIvan Magalhaes QUALIFIED
Leon E SaylorsBrazilStephen Shaw PROPOSAL
Smith W CampainRussiaStephen Shaw UNQUALIFIED
Salvatore Z RutaBrazilBernardo Dominic NEW
Ricardo Q KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Ivar V MaletSpainIoni Bowcher UNQUALIFIED
Ashley F StockhamRussiaOnyama Limba PROPOSAL
Kadeem Q VenereGermanyIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens P KuskoSpain2026-08-31King, Christopher A Esq RENEWAL60Ivan Magalhaes
1001Misaki I RoysterAustralia2026-09-16Truhlar And Truhlar Attys NEW7Onyama Limba
1002Clifford F MorascaFrance2026-09-15Feltz Printing Service NEGOTIATION56Asiya Javayant
1003James D BologniaItaly2026-09-09Dorl, James J Esq RENEWAL49Asiya Javayant
1004Salvatore K AlbaresUnited Kingdom2026-09-13Buckley Miller Wright NEGOTIATION17Onyama Limba
1005Claire Z GauchoJapan2026-09-14Commercial Press QUALIFIED62Ivan Magalhaes
1006Emily K GillianArgentina2026-09-20Printing Dimensions QUALIFIED3Asiya Javayant
1007Aditya V PerinArgentina2026-09-16Dorl, James J Esq PROPOSAL93Stephen Shaw
1008Jones E CampainGermany2026-09-15Feiner Bros NEGOTIATION78Elwin Sharvill
1009Izzy D ChuiFrance2026-09-04Dorl, James J Esq PROPOSAL46Ivan Magalhaes
1010Misaki R KuskoBrazil2026-09-24Morlong Associates NEW30Amy Elsner
1011Mujtaba Z CaldareraSpain2026-09-02King, Christopher A Esq QUALIFIED70Bernardo Dominic
1012Maria B BowleyUnited Kingdom2026-09-14Chemel, James L Cpa NEW36Ivan Magalhaes
1013Arvin N ShinkoRussia2026-09-22Morlong Associates NEW16Ivan Magalhaes
1014Maria L SlusarskiGermany2026-09-15Feiner Bros PROPOSAL39Elwin Sharvill
1015Maisha I InouyeGermany2026-09-24Buckley Miller Wright NEW61Ioni Bowcher
1016Cody W MarrierAustralia2026-09-27Chapman, Ross E Esq NEGOTIATION6Elwin Sharvill
1017Maisha P MacleadAustralia2026-09-08Chanay, Jeffrey A Esq RENEWAL45Amy Elsner
1018Kadeem X OstroskyIndia2026-09-15Feltz Printing Service RENEWAL52Elwin Sharvill
1019Julie T CaudySpain2026-09-10Chanay, Jeffrey A Esq UNQUALIFIED0Xuxue Feng
1020Chavez V SchemmerGermany2026-09-12Chanay, Jeffrey A Esq RENEWAL6Asiya Javayant
1021Murillo Z PaprockiFrance2026-09-18Benton, John B Jr RENEWAL14Asiya Javayant
1022Silvio S PerinRussia2026-08-30Buckley Miller Wright RENEWAL37Onyama Limba
1023Greenwood T InouyeFrance2026-09-04Chemel, James L Cpa NEGOTIATION8Amy Elsner
1024Rodrigues Y SaylorsUnited Kingdom2026-09-26Buckley Miller Wright PROPOSAL68Ioni Bowcher
1025Antonio U AlbaresIndia2026-09-15Feltz Printing Service PROPOSAL51Asiya Javayant
1026Misaki S DarakjyAustralia2026-09-26Chanay, Jeffrey A Esq RENEWAL85Ivan Magalhaes
1027Ashley J PoquetteArgentina2026-09-18Dorl, James J Esq NEW7Ivan Magalhaes
1028Clifford P MarrierRussia2026-09-24Rousseaux, Michael Esq NEW23Asiya Javayant
1029David P WieserAustralia2026-09-18Chanay, Jeffrey A Esq UNQUALIFIED80Ioni Bowcher
1030Chavez J MaletCanada2026-09-13Rangoni Of Florence RENEWAL74Onyama Limba
1031Emily X RulapaughBrazil2026-09-10Feiner Bros NEW83Amy Elsner
1032Sinclair C ChuiGermany2026-09-07Truhlar And Truhlar Attys NEW72Amy Elsner
1033Emily N NickaBrazil2026-08-31Commercial Press NEW8Bernardo Dominic
1034Aditya H StensethSpain2026-08-30Printing Dimensions PROPOSAL10Ioni Bowcher
1035Misaki L MorascaAustralia2026-09-27Dorl, James J Esq QUALIFIED71Amy Elsner
1036Adams K NestleBrazil2026-09-22Chemel, James L Cpa RENEWAL6Onyama Limba
1037Smith C MaletGermany2026-09-22Feiner Bros UNQUALIFIED16Elwin Sharvill
1038Arvin L RimGermany2026-09-05Buckley Miller Wright PROPOSAL62Ivan Magalhaes
1039Nicolas G MacleadUnited Kingdom2026-08-29King, Christopher A Esq NEW7Ioni Bowcher
1040Greenwood O BriddickBrazil2026-09-02Printing Dimensions NEW22Amy Elsner
1041Smith L SergiArgentina2026-09-17Morlong Associates RENEWAL9Bernardo Dominic
1042Nicolas L VenereGermany2026-09-01Chanay, Jeffrey A Esq NEW19Ivan Magalhaes
1043Smith Y GauchoRussia2026-09-24Buckley Miller Wright PROPOSAL91Onyama Limba
1044Emily J SchemmerRussia2026-09-21Chapman, Ross E Esq NEGOTIATION95Stephen Shaw
1045Jefferson G SchemmerRussia2026-09-22Chanay, Jeffrey A Esq UNQUALIFIED87Xuxue Feng
1046Francesco A RutaItaly2026-08-29Commercial Press UNQUALIFIED90Stephen Shaw
1047Cody Y GlickIndia2026-09-07King, Christopher A Esq NEW63Ioni Bowcher
1048Nicolas Y ShinkoBrazil2026-08-29Truhlar And Truhlar Attys NEGOTIATION31Ioni Bowcher
1049Jeanfrancois B StockhamBrazil2026-09-25Chanay, Jeffrey A Esq RENEWAL70Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya R PerinJapanStephen Shaw PROPOSAL
Clifford W AmigonSpainIoni Bowcher NEW
Morrow Y SchemmerUnited KingdomBernardo Dominic NEW
Darci Q StockhamAustraliaIoni Bowcher PROPOSAL
Juan T GlickArgentinaOnyama Limba UNQUALIFIED
Salvatore S MacleadRussiaElwin Sharvill QUALIFIED
Johnson C FigeroaRussiaXuxue Feng NEGOTIATION
Munro R BriddickFranceBernardo Dominic UNQUALIFIED
Ivar I TollnerCanadaBernardo Dominic PROPOSAL
Clifford L KolmetzFranceAsiya Javayant UNQUALIFIED
Tony B MaletCanadaOnyama Limba UNQUALIFIED
Adams A MacleadGermanyAnna Fali RENEWAL
Izzy X StockhamFranceAmy Elsner NEGOTIATION
Leon A MarrierAustraliaAmy Elsner NEGOTIATION
Leja O SlusarskiItalyAnna Fali NEW
Clifford H GarufiUnited KingdomIvan Magalhaes PROPOSAL
Stacey E KolmetzJapanBernardo Dominic NEGOTIATION
Salvatore Z SaylorsArgentinaIvan Magalhaes NEW
Adams O IturbideRussiaIoni Bowcher NEGOTIATION
Silvio W GlickUnited KingdomIvan Magalhaes PROPOSAL
Kadeem Y CaldareraIndiaStephen Shaw UNQUALIFIED
Jefferson W SaylorsJapanOnyama Limba NEW
Greenwood V FollerCanadaElwin Sharvill PROPOSAL
Aruna K StensethItalyIoni Bowcher PROPOSAL
Jennifer Y VocelkaBrazilElwin Sharvill NEGOTIATION
Munro Y KuskoItalyStephen Shaw RENEWAL
Kaitlin G GarufiGermanyIvan Magalhaes NEGOTIATION
Leja A WhobreyIndiaIvan Magalhaes NEW
Silvio N FollerRussiaAmy Elsner UNQUALIFIED
Ivar S StockhamSpainAmy Elsner NEGOTIATION
Jones B MaletSpainStephen Shaw RENEWAL
Jefferson E DarakjyJapanElwin Sharvill NEGOTIATION
Mayumi H MaletRussiaStephen Shaw UNQUALIFIED
Francesco F GarufiBrazilAsiya Javayant NEGOTIATION
Aditya H MacleadBrazilBernardo Dominic NEGOTIATION
Kaitlin U ShinkoJapanBernardo Dominic QUALIFIED
Wickens U BriddickBrazilOnyama Limba NEGOTIATION
Munro I FlosiIndiaAmy Elsner UNQUALIFIED
Francesco P BriddickAustraliaStephen Shaw NEGOTIATION
Isabel Y NickaIndiaIoni Bowcher NEW
Emily F WaycottItalyBernardo Dominic NEW
Kaitlin K StensethAustraliaStephen Shaw NEW
Misaki Q BriddickFranceIoni Bowcher QUALIFIED
Faith D MarrierFranceAmy Elsner NEGOTIATION
Salvatore N ChuiGermanyIoni Bowcher UNQUALIFIED
Johnson M BologniaArgentinaElwin Sharvill NEW
Costa M MarrierFranceIvan Magalhaes QUALIFIED
Francesco H PoquetteBrazilAnna Fali QUALIFIED
Smith B IturbideGermanyBernardo Dominic UNQUALIFIED
Ivar U WhobreyUnited KingdomBernardo Dominic NEW
Frozen Columns
Name
Arvin R Caldarera
Mayumi L Campain
Cody E Flosi
Stacey E Kusko
Kadeem J Darakjy
Jennifer V Oldroyd
Costa O Morasca
Munro K Ostrosky
Adams Y Flosi
Kaitlin T Royster
Aditya O Nicka
Mayumi M Figeroa
Kadeem I Kolmetz
Morrow H Caudy
Salvatore C Bowley
Antonio Q Malet
Juan Y Malet
Rodrigues H Saylors
Morrow O Paprocki
Aika E Iturbide
Aditya R Bowley
Stacey V Inouye
Misaki G Sergi
Clifford R Poquette
Ivar J Bowley
Morrow X Briddick
Misaki O Stockham
Kadeem V Stenseth
Greenwood U Caudy
Sinclair Z Bolognia
Salvatore K Malet
Jefferson N Ferencz
Aditya D Maclead
Silvio Q Venere
Juan Q Ostrosky
Morrow A Butt
Octavia R Garufi
Chavez B Darakjy
Deepesh E Doe
Darci F Morasca
Darci W Wieser
Aika Q Foller
Julie P Oldroyd
Antonio T Marrier
Stacey N Amigon
Kadeem M Gillian
Murillo E Iturbide
Murillo V Sergi
Izzy I Marrier
Jeanfrancois P Bolognia
IdCountryDate
1000France2026-09-06
1001United Kingdom2026-09-17
1002Australia2026-09-15
1003Germany2026-09-23
1004Russia2026-09-26
1005Canada2026-09-07
1006Argentina2026-09-24
1007United Kingdom2026-09-10
1008Italy2026-09-19
1009Canada2026-09-03
1010Germany2026-09-24
1011India2026-09-27
1012Japan2026-08-31
1013Germany2026-09-20
1014Japan2026-09-08
1015Australia2026-09-03
1016Germany2026-08-31
1017Japan2026-09-20
1018Spain2026-09-16
1019Brazil2026-09-18
1020France2026-09-06
1021France2026-09-06
1022United Kingdom2026-09-01
1023Brazil2026-09-19
1024Canada2026-09-24
1025Canada2026-09-01
1026Russia2026-09-07
1027Canada2026-09-17
1028Brazil2026-09-08
1029Italy2026-09-21
1030Germany2026-09-10
1031United Kingdom2026-09-18
1032Italy2026-09-21
1033India2026-09-06
1034Brazil2026-09-16
1035Canada2026-09-21
1036United Kingdom2026-09-15
1037Argentina2026-09-06
1038Canada2026-09-13
1039Germany2026-09-20
1040United Kingdom2026-09-02
1041Italy2026-09-15
1042Russia2026-09-10
1043Spain2026-09-01
1044Spain2026-08-30
1045France2026-09-09
1046Germany2026-09-04
1047Germany2026-09-18
1048France2026-09-11
1049Italy2026-09-18

On-Demand Data

NameIdCountryDate
Ivar E Gaucho1000Argentina2026-09-20
Costa Q Garufi1001India2026-09-07
Jeanfrancois S Ostrosky1002Germany2026-09-17
Jeanfrancois R Slusarski1003Argentina2026-08-29
Maria P Albares1004Russia2026-09-05
Morrow A Gaucho1005Italy2026-08-29
Aruna X Morasca1006Japan2026-09-02
James Z Darakjy1007Argentina2026-09-27
Juan T Nicka1008Russia2026-09-26
Jeanfrancois R Nestle1009Australia2026-09-17
Aruna G Flosi1010Canada2026-09-23
Stacey M Figeroa1011Italy2026-09-21
Isabel B Iturbide1012France2026-09-19
Ricardo M Slusarski1013Argentina2026-09-01
Jeanfrancois X Whobrey1014Russia2026-08-29
Aruna T Doe1015Germany2026-09-06
Tony I Garufi1016France2026-09-06
Jones M Morasca1017Canada2026-09-04
Tony G Doe1018Japan2026-09-14
Stacey O Waycott1019Japan2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James I RoysterBrazilAnna Fali RENEWAL
Morrow J OstroskyRussiaXuxue Feng NEGOTIATION
Aika N MarrierJapanIoni Bowcher NEGOTIATION
Ivar F NestleBrazilAsiya Javayant NEGOTIATION
Misaki G InouyeAustraliaOnyama Limba NEGOTIATION
Ricardo O WieserAustraliaIoni Bowcher PROPOSAL
Sinclair K BowleyRussiaBernardo Dominic NEW
Ivar A FollerJapanIoni Bowcher PROPOSAL
Maisha G DarakjyGermanyElwin Sharvill RENEWAL
Maria J MaletItalyStephen Shaw NEGOTIATION
Ricardo D MacleadCanadaIvan Magalhaes QUALIFIED
Kadeem Y TollnerJapanBernardo Dominic QUALIFIED
Stacey D MorascaSpainAmy Elsner RENEWAL
Stacey K SchemmerBrazilElwin Sharvill NEW
Aruna L NickaItalyIoni Bowcher NEW
Julie V OldroydCanadaAsiya Javayant PROPOSAL
Morrow F KolmetzCanadaAmy Elsner NEW
Greenwood Z BowleyAustraliaAnna Fali RENEWAL
Izzy R MacleadIndiaAmy Elsner NEGOTIATION
Salvatore Y WieserCanadaAnna Fali NEW
Mayumi N ButtItalyIoni Bowcher RENEWAL
Faith Z StensethGermanyIoni Bowcher NEW
Maisha J DilliardArgentinaBernardo Dominic RENEWAL
Misaki P MaletJapanIvan Magalhaes UNQUALIFIED
Kadeem Z GarufiIndiaXuxue Feng UNQUALIFIED
Maria S StensethJapanAnna Fali NEW
Juan B PerinBrazilElwin Sharvill NEGOTIATION
Johnson F OldroydCanadaElwin Sharvill UNQUALIFIED
David B DoeBrazilAsiya Javayant NEGOTIATION
Johnson U CampainArgentinaStephen Shaw UNQUALIFIED
Izzy U MaletCanadaStephen Shaw PROPOSAL
Deepesh N BologniaSpainIvan Magalhaes RENEWAL
Mujtaba V PaprockiUnited KingdomIoni Bowcher QUALIFIED
Wickens Y RutaItalyAnna Fali NEGOTIATION
Nicolas V TollnerAustraliaOnyama Limba QUALIFIED
Kaitlin L PaprockiIndiaIvan Magalhaes UNQUALIFIED
Costa B GlickCanadaElwin Sharvill UNQUALIFIED
Adams V FerenczCanadaStephen Shaw PROPOSAL
Adams W CaudyFranceAsiya Javayant NEW
Aika A DoeUnited KingdomStephen Shaw 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>