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
Darci P DilliardBrazilElwin Sharvill RENEWAL
Maisha L NestleGermanyStephen Shaw QUALIFIED
Adams B AmigonBrazilBernardo Dominic PROPOSAL
Adams U SchemmerItalyOnyama Limba UNQUALIFIED
Cody K CaudyBrazilAmy Elsner NEGOTIATION
Izzy I PaprockiAustraliaAsiya Javayant PROPOSAL
Stacey M GauchoIndiaAmy Elsner NEW
Murillo R AmigonJapanStephen Shaw UNQUALIFIED
Adams U GarufiUnited KingdomOnyama Limba QUALIFIED
Jones B RimBrazilIoni Bowcher NEGOTIATION
Antonio Z KuskoJapanBernardo Dominic NEW
Rodrigues X SergiCanadaAsiya Javayant QUALIFIED
James S OstroskyRussiaAmy Elsner NEGOTIATION
Costa K StensethFranceIvan Magalhaes NEGOTIATION
Maria Z GauchoBrazilStephen Shaw UNQUALIFIED
Claire T SergiGermanyElwin Sharvill NEGOTIATION
Isabel B ButtCanadaXuxue Feng NEGOTIATION
Jones C OldroydUnited KingdomAsiya Javayant RENEWAL
Nicolas M CampainGermanyOnyama Limba NEGOTIATION
Arvin A AlbaresGermanyIvan Magalhaes NEGOTIATION
Rodrigues R SchemmerJapanAsiya Javayant UNQUALIFIED
Johnson K GarufiItalyStephen Shaw PROPOSAL
Aruna O FollerSpainIoni Bowcher UNQUALIFIED
Francesco H TollnerBrazilAnna Fali QUALIFIED
Mujtaba E FlosiArgentinaBernardo Dominic UNQUALIFIED
Clifford D GauchoAustraliaStephen Shaw QUALIFIED
Rodrigues W MaletIndiaElwin Sharvill RENEWAL
Izzy B PaprockiSpainXuxue Feng NEGOTIATION
Jennifer Y VenereFranceAmy Elsner UNQUALIFIED
Murillo J RimArgentinaIoni Bowcher RENEWAL
Aruna F MaletSpainAmy Elsner QUALIFIED
Aika G VocelkaBrazilIvan Magalhaes PROPOSAL
Munro J NestleSpainStephen Shaw PROPOSAL
Juan V ChuiRussiaStephen Shaw RENEWAL
Arvin Q BologniaRussiaAnna Fali RENEWAL
Ricardo Z RoysterUnited KingdomAnna Fali RENEWAL
James S IturbideGermanyIoni Bowcher NEW
Silvio Q ButtGermanyAsiya Javayant NEW
Francesco Z VocelkaFranceStephen Shaw NEW
Izzy D GillianItalyStephen Shaw NEGOTIATION
Alejandro K NestleSpainXuxue Feng NEW
Silvio Q MacleadArgentinaIoni Bowcher NEW
Cody U RutaIndiaIvan Magalhaes PROPOSAL
Arvin Q GauchoUnited KingdomIvan Magalhaes NEW
Izzy D SergiAustraliaStephen Shaw PROPOSAL
Stacey B GarufiUnited KingdomIvan Magalhaes NEW
Darci R MaletSpainXuxue Feng RENEWAL
Emily A DarakjyIndiaElwin Sharvill NEGOTIATION
Faith F PoquetteUnited KingdomAmy Elsner NEW
Arvin W MarrierArgentinaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Mayumi Q CampainRussiaOnyama Limba NEGOTIATION
Ivar I MacleadSpainIoni Bowcher QUALIFIED
Izzy O CaldareraArgentinaBernardo Dominic PROPOSAL
Maisha B FlosiUnited KingdomOnyama Limba QUALIFIED
Silvio T BologniaRussiaAnna Fali UNQUALIFIED
Claire Q DilliardArgentinaElwin Sharvill RENEWAL
James L DarakjyGermanyOnyama Limba PROPOSAL
Leja M DilliardFranceStephen Shaw RENEWAL
Maisha D TollnerUnited KingdomAnna Fali QUALIFIED
Mayumi F PaprockiSpainOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi I DilliardIndia2026-08-23Dorl, James J Esq NEW37Xuxue Feng
1001Costa B BriddickSpain2026-09-03King, Christopher A Esq NEGOTIATION40Ioni Bowcher
1002Alejandro Y WaycottGermany2026-08-29Feltz Printing Service PROPOSAL93Ioni Bowcher
1003Ivar P DarakjyCanada2026-09-16Chanay, Jeffrey A Esq RENEWAL3Anna Fali
1004Julie F RutaUnited Kingdom2026-09-08Chanay, Jeffrey A Esq NEW44Elwin Sharvill
1005Mayumi X ShinkoIndia2026-08-21Feiner Bros RENEWAL60Bernardo Dominic
1006Francesco V OstroskyUnited Kingdom2026-09-15Benton, John B Jr NEGOTIATION31Elwin Sharvill
1007Juan B PoquetteJapan2026-08-20King, Christopher A Esq UNQUALIFIED88Asiya Javayant
1008Murillo Y StockhamUnited Kingdom2026-08-26Chapman, Ross E Esq RENEWAL89Bernardo Dominic
1009Aditya X VenereGermany2026-09-13Chemel, James L Cpa QUALIFIED5Ivan Magalhaes
1010Jefferson O VocelkaUnited Kingdom2026-09-10Benton, John B Jr QUALIFIED71Xuxue Feng
1011Darci J CaudyJapan2026-09-02Morlong Associates NEW42Onyama Limba
1012Murillo W PaprockiRussia2026-08-29Morlong Associates NEGOTIATION92Anna Fali
1013Alejandro Q ShinkoSpain2026-08-29Feltz Printing Service UNQUALIFIED69Amy Elsner
1014Octavia N SchemmerFrance2026-09-11Buckley Miller Wright UNQUALIFIED79Xuxue Feng
1015Izzy U DarakjyBrazil2026-08-30Feltz Printing Service QUALIFIED10Asiya Javayant
1016Cody Y OldroydItaly2026-09-16King, Christopher A Esq QUALIFIED16Onyama Limba
1017Alejandro X NestleAustralia2026-08-31Chanay, Jeffrey A Esq RENEWAL13Asiya Javayant
1018Ivar S KolmetzIndia2026-09-06King, Christopher A Esq QUALIFIED43Anna Fali
1019Ivar Z OstroskyCanada2026-08-21Chapman, Ross E Esq NEGOTIATION10Amy Elsner
1020Alejandro L DoeAustralia2026-08-31King, Christopher A Esq NEGOTIATION90Ivan Magalhaes
1021Aika Q StockhamSpain2026-08-26Chemel, James L Cpa UNQUALIFIED96Amy Elsner
1022Leon Y CaldareraItaly2026-09-02Feltz Printing Service NEGOTIATION65Asiya Javayant
1023Antonio T NickaSpain2026-08-21Feiner Bros NEW40Ioni Bowcher
1024Maria L ShinkoSpain2026-09-15Rangoni Of Florence RENEWAL93Anna Fali
1025Misaki X VocelkaCanada2026-08-20Rangoni Of Florence QUALIFIED61Xuxue Feng
1026Salvatore L RutaAustralia2026-09-15Truhlar And Truhlar Attys RENEWAL34Bernardo Dominic
1027Arvin Z WaycottRussia2026-08-22Chemel, James L Cpa RENEWAL58Anna Fali
1028Adams P MacleadArgentina2026-08-29Dorl, James J Esq QUALIFIED13Asiya Javayant
1029Izzy N FerenczBrazil2026-08-22Benton, John B Jr QUALIFIED65Elwin Sharvill
1030Juan B FlosiItaly2026-08-23King, Christopher A Esq NEW25Xuxue Feng
1031Maria C NickaCanada2026-08-20King, Christopher A Esq QUALIFIED54Amy Elsner
1032Salvatore D OldroydUnited Kingdom2026-08-28Rangoni Of Florence UNQUALIFIED36Bernardo Dominic
1033Johnson E MaletIndia2026-09-08Rangoni Of Florence RENEWAL67Onyama Limba
1034Izzy J WaycottFrance2026-08-29Buckley Miller Wright UNQUALIFIED27Stephen Shaw
1035Deepesh Q RulapaughArgentina2026-09-01Feltz Printing Service QUALIFIED16Asiya Javayant
1036Clifford Q NickaBrazil2026-09-17Rousseaux, Michael Esq QUALIFIED33Bernardo Dominic
1037Adams I SchemmerIndia2026-08-23Chapman, Ross E Esq NEGOTIATION80Onyama Limba
1038Murillo P BowleyAustralia2026-09-11Chemel, James L Cpa UNQUALIFIED91Stephen Shaw
1039Leja X MacleadCanada2026-09-06Chapman, Ross E Esq UNQUALIFIED84Xuxue Feng
1040Ashley S RulapaughArgentina2026-08-27Commercial Press RENEWAL99Elwin Sharvill
1041Izzy Z OstroskyArgentina2026-08-31Morlong Associates NEGOTIATION67Onyama Limba
1042Rodrigues B KolmetzAustralia2026-08-25Chanay, Jeffrey A Esq NEGOTIATION4Bernardo Dominic
1043Jefferson V PoquetteBrazil2026-09-08Rousseaux, Michael Esq PROPOSAL7Ioni Bowcher
1044Munro D NickaCanada2026-09-03Rangoni Of Florence QUALIFIED77Elwin Sharvill
1045Darci K KolmetzFrance2026-09-05Rangoni Of Florence UNQUALIFIED13Amy Elsner
1046Ricardo W FollerUnited Kingdom2026-08-24Chemel, James L Cpa UNQUALIFIED72Onyama Limba
1047Greenwood L SchemmerAustralia2026-08-30Buckley Miller Wright UNQUALIFIED60Bernardo Dominic
1048Murillo Z MaletBrazil2026-09-08Feltz Printing Service UNQUALIFIED17Amy Elsner
1049Francesco L IturbideGermany2026-09-11Morlong Associates RENEWAL74Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Francesco I MarrierGermanyIvan Magalhaes NEGOTIATION
Darci X MacleadUnited KingdomAnna Fali NEW
David Y OstroskySpainElwin Sharvill UNQUALIFIED
Claire B FlosiGermanyIvan Magalhaes QUALIFIED
Claire P NestleUnited KingdomIoni Bowcher NEW
Kadeem T DarakjyArgentinaIoni Bowcher PROPOSAL
Emily Z CaldareraArgentinaXuxue Feng NEGOTIATION
David N StensethArgentinaIvan Magalhaes QUALIFIED
Johnson C GillianRussiaElwin Sharvill PROPOSAL
Deepesh H WieserAustraliaIoni Bowcher NEW
Mujtaba G DarakjyBrazilElwin Sharvill RENEWAL
Johnson Y MacleadSpainBernardo Dominic RENEWAL
Smith L SaylorsBrazilBernardo Dominic NEGOTIATION
Sinclair V GauchoGermanyIoni Bowcher UNQUALIFIED
Murillo Y PerinFranceOnyama Limba QUALIFIED
Arvin F AlbaresItalyIvan Magalhaes QUALIFIED
Cody Y StockhamItalyStephen Shaw UNQUALIFIED
Darci D NickaJapanIvan Magalhaes UNQUALIFIED
Jones T CaudyBrazilBernardo Dominic UNQUALIFIED
Izzy H WaycottGermanyOnyama Limba PROPOSAL
Isabel X DoeGermanyOnyama Limba PROPOSAL
Cody H RutaCanadaAsiya Javayant NEGOTIATION
Alejandro C WieserBrazilOnyama Limba RENEWAL
Rodrigues Z AlbaresGermanyAmy Elsner QUALIFIED
Clifford Z BriddickUnited KingdomStephen Shaw UNQUALIFIED
Morrow M WhobreyIndiaElwin Sharvill NEW
Silvio S DilliardSpainAsiya Javayant NEGOTIATION
Darci D ButtCanadaBernardo Dominic NEGOTIATION
Leja U ChuiAustraliaAmy Elsner NEW
Claire D ShinkoArgentinaElwin Sharvill NEW
Nicolas B RulapaughAustraliaXuxue Feng NEW
Salvatore O BriddickBrazilElwin Sharvill NEGOTIATION
Leon W WieserArgentinaElwin Sharvill RENEWAL
Jennifer G ChuiArgentinaIvan Magalhaes NEW
Isabel K MaletBrazilBernardo Dominic QUALIFIED
Johnson L VocelkaIndiaAsiya Javayant PROPOSAL
Emily O FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Greenwood C RoysterJapanAsiya Javayant QUALIFIED
Jeanfrancois I RulapaughFranceElwin Sharvill NEW
Nicolas F GillianAustraliaXuxue Feng NEW
Johnson I SaylorsAustraliaAnna Fali QUALIFIED
Misaki X VocelkaCanadaAsiya Javayant NEW
Ivar B WieserRussiaOnyama Limba NEW
Silvio E BologniaAustraliaIoni Bowcher NEW
Chavez F KuskoCanadaIvan Magalhaes QUALIFIED
Juan B RulapaughRussiaIoni Bowcher QUALIFIED
Jones B SergiAustraliaAsiya Javayant RENEWAL
Ashley R SergiGermanyOnyama Limba NEGOTIATION
Chavez Z WhobreyCanadaElwin Sharvill QUALIFIED
Morrow A CaudyFranceBernardo Dominic QUALIFIED
Frozen Columns
Name
Maria D Ostrosky
Kaitlin U Tollner
Mujtaba L Doe
Claire H Shinko
Jeanfrancois P Briddick
Darci P Ruta
Silvio V Paprocki
Mayumi D Inouye
Stacey R Doe
Sinclair A Flosi
Stacey S Amigon
Julie K Gaucho
Octavia Y Doe
Wickens R Rulapaugh
James W Poquette
Alejandro G Stockham
Ricardo R Dilliard
Kadeem D Albares
Kaitlin K Doe
Deepesh Q Royster
Francesco B Foller
Nicolas Y Morasca
James O Stockham
Cody X Malet
James P Rulapaugh
Sinclair S Figeroa
Julie D Paprocki
Costa T Morasca
Jefferson E Darakjy
Ricardo P Slusarski
Izzy D Morasca
Aditya Q Malet
Munro G Kolmetz
Deepesh V Poquette
Deepesh D Nicka
Morrow O Kusko
Ricardo V Royster
Wickens G Briddick
Greenwood O Sergi
Misaki D Glick
Mujtaba B Whobrey
Aruna A Nestle
Arvin L Tollner
Deepesh B Amigon
Clifford W Inouye
Emily T Garufi
Maria F Figeroa
Francesco U Maclead
Kaitlin C Glick
Wickens X Caldarera
IdCountryDate
1000Germany2026-09-01
1001United Kingdom2026-09-01
1002France2026-08-31
1003Italy2026-09-12
1004India2026-09-14
1005Russia2026-08-31
1006Russia2026-08-21
1007Italy2026-08-31
1008Italy2026-08-21
1009Germany2026-09-04
1010Canada2026-09-16
1011Canada2026-08-29
1012Argentina2026-09-05
1013Russia2026-09-14
1014France2026-08-31
1015Italy2026-09-12
1016Australia2026-09-02
1017France2026-08-26
1018Brazil2026-09-11
1019Spain2026-09-13
1020Brazil2026-09-12
1021Italy2026-09-17
1022United Kingdom2026-09-16
1023Australia2026-09-15
1024United Kingdom2026-08-21
1025Germany2026-09-09
1026Argentina2026-09-10
1027Argentina2026-09-13
1028India2026-08-23
1029Spain2026-08-30
1030Australia2026-08-20
1031Australia2026-08-27
1032Argentina2026-09-15
1033Argentina2026-09-09
1034Brazil2026-09-04
1035Brazil2026-08-24
1036Italy2026-08-26
1037Australia2026-08-24
1038France2026-09-15
1039Japan2026-08-27
1040Brazil2026-08-26
1041Germany2026-09-12
1042Spain2026-08-24
1043Japan2026-08-25
1044United Kingdom2026-08-21
1045Australia2026-09-09
1046Russia2026-08-31
1047Russia2026-09-08
1048France2026-09-14
1049India2026-09-11

On-Demand Data

NameIdCountryDate
Clifford V Vocelka1000Japan2026-09-11
James D Kusko1001India2026-08-24
Misaki Z Schemmer1002Japan2026-09-10
Ricardo I Foller1003Japan2026-08-19
Aika S Marrier1004Italy2026-09-09
Maisha Q Ostrosky1005Canada2026-08-30
Jefferson C Nicka1006Russia2026-09-17
Tony F Oldroyd1007United Kingdom2026-09-02
Ashley W Bolognia1008Germany2026-09-09
Isabel P Waycott1009Russia2026-09-05
Munro R Paprocki1010India2026-08-23
Cody W Maclead1011Japan2026-09-02
Ivar P Iturbide1012Canada2026-08-19
Mayumi H Oldroyd1013Italy2026-08-24
Smith K Sergi1014Japan2026-09-13
Julie E Nestle1015India2026-09-12
Johnson Q Schemmer1016Germany2026-08-29
Nicolas C Slusarski1017Italy2026-08-21
Darci V Caudy1018Japan2026-08-30
Antonio A Wieser1019Italy2026-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci J NickaUnited KingdomStephen Shaw NEW
Alejandro I PerinCanadaAsiya Javayant PROPOSAL
Munro M InouyeUnited KingdomBernardo Dominic PROPOSAL
Kadeem Z StensethBrazilAmy Elsner NEW
Salvatore M ShinkoSpainXuxue Feng RENEWAL
Sinclair J MaletBrazilStephen Shaw PROPOSAL
Adams R NickaGermanyIoni Bowcher NEW
David Z DilliardRussiaBernardo Dominic QUALIFIED
Maisha B SchemmerCanadaBernardo Dominic NEGOTIATION
Leon L GlickSpainBernardo Dominic NEW
Leja I FlosiIndiaAmy Elsner NEGOTIATION
Ivar D KolmetzIndiaAmy Elsner QUALIFIED
Smith H RimRussiaAnna Fali PROPOSAL
Jeanfrancois Y CaudySpainIoni Bowcher UNQUALIFIED
Julie K KolmetzBrazilOnyama Limba NEGOTIATION
Maisha U FlosiGermanyAnna Fali RENEWAL
Ivar G FerenczArgentinaXuxue Feng PROPOSAL
Adams X TollnerArgentinaOnyama Limba QUALIFIED
Juan H DarakjyItalyXuxue Feng UNQUALIFIED
Darci U AmigonAustraliaBernardo Dominic NEW
Darci C SergiFranceBernardo Dominic QUALIFIED
Nicolas P PaprockiJapanAnna Fali QUALIFIED
Greenwood A OldroydSpainBernardo Dominic QUALIFIED
Murillo C StensethGermanyIvan Magalhaes NEGOTIATION
Deepesh A ButtItalyIvan Magalhaes QUALIFIED
Mayumi U RulapaughBrazilAnna Fali UNQUALIFIED
Ivar Y StensethIndiaAmy Elsner RENEWAL
Kaitlin M InouyeJapanXuxue Feng PROPOSAL
Munro T GillianAustraliaAmy Elsner UNQUALIFIED
Misaki C WhobreyRussiaIoni Bowcher RENEWAL
Misaki U StensethSpainElwin Sharvill QUALIFIED
Johnson Q SchemmerJapanElwin Sharvill NEW
Clifford N DarakjyAustraliaXuxue Feng NEGOTIATION
Aika Q GillianGermanyIoni Bowcher NEGOTIATION
Aruna O FollerItalyAsiya Javayant NEW
Jefferson G InouyeJapanAmy Elsner QUALIFIED
Octavia M RoysterRussiaIvan Magalhaes UNQUALIFIED
Francesco I PerinItalyAmy Elsner RENEWAL
Chavez F AmigonUnited KingdomAmy Elsner RENEWAL
Aika S ShinkoRussiaOnyama Limba 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>