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
Arvin U WaycottSpainAsiya Javayant NEW
Jennifer D PaprockiBrazilAnna Fali NEGOTIATION
Leon B StensethUnited KingdomElwin Sharvill PROPOSAL
Darci U CaudyCanadaIoni Bowcher PROPOSAL
Adams L CaudyArgentinaXuxue Feng UNQUALIFIED
Silvio F InouyeJapanAmy Elsner PROPOSAL
Arvin F StockhamJapanIoni Bowcher PROPOSAL
Maisha Y AlbaresJapanBernardo Dominic QUALIFIED
James N FigeroaItalyElwin Sharvill RENEWAL
Faith H CampainBrazilXuxue Feng QUALIFIED
Isabel S OstroskyJapanStephen Shaw QUALIFIED
Ivar X SchemmerIndiaAsiya Javayant PROPOSAL
Maria S FlosiAustraliaAsiya Javayant QUALIFIED
Isabel S KolmetzJapanAsiya Javayant RENEWAL
Juan W GlickArgentinaAmy Elsner PROPOSAL
David U GarufiArgentinaAnna Fali PROPOSAL
Sinclair T RimCanadaIoni Bowcher NEGOTIATION
Juan W StensethItalyAnna Fali UNQUALIFIED
Jones E SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Tony Y CampainSpainIoni Bowcher RENEWAL
Deepesh F VocelkaIndiaOnyama Limba UNQUALIFIED
Izzy T DoeGermanyXuxue Feng RENEWAL
Ashley Z GlickAustraliaXuxue Feng PROPOSAL
Morrow N StockhamIndiaIvan Magalhaes UNQUALIFIED
Salvatore H IturbideJapanIvan Magalhaes PROPOSAL
Clifford L MarrierBrazilBernardo Dominic QUALIFIED
Aika F SlusarskiCanadaOnyama Limba UNQUALIFIED
Maria Y PaprockiJapanAnna Fali NEW
Sinclair H StockhamRussiaIvan Magalhaes PROPOSAL
Maisha M SchemmerBrazilIoni Bowcher UNQUALIFIED
Munro X StensethCanadaXuxue Feng QUALIFIED
Stacey Q RimRussiaIoni Bowcher NEGOTIATION
Misaki H MorascaUnited KingdomIvan Magalhaes NEW
Emily Z BologniaSpainOnyama Limba RENEWAL
Faith F RimItalyStephen Shaw NEW
Maria O DarakjyCanadaIvan Magalhaes RENEWAL
Aruna G FollerUnited KingdomXuxue Feng RENEWAL
Jennifer Y OldroydIndiaStephen Shaw QUALIFIED
Johnson N BowleyAustraliaAnna Fali NEGOTIATION
Deepesh N MacleadBrazilBernardo Dominic NEW
Clifford D FerenczGermanyXuxue Feng NEGOTIATION
Juan Q DilliardCanadaAsiya Javayant QUALIFIED
Maisha I MaletJapanAmy Elsner RENEWAL
Arvin R OstroskyArgentinaOnyama Limba UNQUALIFIED
Aruna A FlosiItalyStephen Shaw QUALIFIED
Emily T PoquetteSpainOnyama Limba QUALIFIED
Kadeem N WieserFranceOnyama Limba NEGOTIATION
Arvin X CaldareraJapanBernardo Dominic RENEWAL
Mayumi J SergiCanadaAnna Fali NEGOTIATION
Clifford D RoysterFranceIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ivar L WieserRussiaXuxue Feng QUALIFIED
Nicolas U RimIndiaAsiya Javayant QUALIFIED
Maria P ShinkoArgentinaAsiya Javayant RENEWAL
Maria M MaletFranceOnyama Limba RENEWAL
Ivar T GauchoJapanIvan Magalhaes UNQUALIFIED
Salvatore S FerenczIndiaIoni Bowcher RENEWAL
Munro J WieserUnited KingdomAnna Fali PROPOSAL
Maisha J VocelkaFranceBernardo Dominic RENEWAL
Cody N TollnerBrazilAnna Fali QUALIFIED
Antonio A SaylorsBrazilXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa X RutaUnited Kingdom2026-09-25Rangoni Of Florence PROPOSAL1Ivan Magalhaes
1001Silvio L RulapaughAustralia2026-09-01Commercial Press UNQUALIFIED75Onyama Limba
1002Tony S CaldareraFrance2026-09-28Benton, John B Jr NEGOTIATION38Stephen Shaw
1003Arvin A KuskoItaly2026-09-28Benton, John B Jr QUALIFIED53Ivan Magalhaes
1004Emily V TollnerIndia2026-09-27Feltz Printing Service NEGOTIATION76Amy Elsner
1005Alejandro G CaudyCanada2026-09-13King, Christopher A Esq RENEWAL42Anna Fali
1006Rodrigues A NickaCanada2026-09-12Truhlar And Truhlar Attys UNQUALIFIED93Ioni Bowcher
1007Isabel E GauchoJapan2026-09-09Commercial Press QUALIFIED97Stephen Shaw
1008Morrow E WieserAustralia2026-09-21Buckley Miller Wright RENEWAL99Anna Fali
1009Munro M MarrierCanada2026-09-09Chemel, James L Cpa UNQUALIFIED10Ivan Magalhaes
1010Antonio N OstroskyAustralia2026-09-07Chapman, Ross E Esq NEGOTIATION82Xuxue Feng
1011Maria Y AlbaresAustralia2026-09-28Morlong Associates RENEWAL70Asiya Javayant
1012Jeanfrancois R FollerUnited Kingdom2026-09-12Buckley Miller Wright QUALIFIED92Stephen Shaw
1013David M SergiItaly2026-09-09Chanay, Jeffrey A Esq NEGOTIATION90Anna Fali
1014Juan Y WhobreyIndia2026-09-17Benton, John B Jr NEGOTIATION51Anna Fali
1015Rodrigues R NestleFrance2026-08-31Benton, John B Jr NEW90Onyama Limba
1016Faith P IturbideRussia2026-09-12Chemel, James L Cpa NEGOTIATION9Bernardo Dominic
1017Wickens Q WhobreyItaly2026-09-27Feltz Printing Service UNQUALIFIED61Elwin Sharvill
1018Sinclair J ChuiGermany2026-09-24Printing Dimensions RENEWAL46Stephen Shaw
1019Maisha U WaycottBrazil2026-09-27Feiner Bros RENEWAL34Onyama Limba
1020Adams Q GauchoAustralia2026-09-09Feltz Printing Service NEGOTIATION47Elwin Sharvill
1021Octavia K NestleUnited Kingdom2026-09-05Rangoni Of Florence RENEWAL48Onyama Limba
1022Kaitlin D FigeroaBrazil2026-08-30Truhlar And Truhlar Attys PROPOSAL9Amy Elsner
1023Salvatore E MaletRussia2026-09-26Printing Dimensions NEGOTIATION82Stephen Shaw
1024Faith V FigeroaAustralia2026-09-21Printing Dimensions UNQUALIFIED26Bernardo Dominic
1025Nicolas L RutaRussia2026-09-24Chemel, James L Cpa RENEWAL56Bernardo Dominic
1026Johnson S CampainCanada2026-09-10Chapman, Ross E Esq NEGOTIATION34Onyama Limba
1027Juan V MacleadAustralia2026-09-02Rousseaux, Michael Esq QUALIFIED16Xuxue Feng
1028Mayumi G BowleyUnited Kingdom2026-09-24Rousseaux, Michael Esq PROPOSAL59Asiya Javayant
1029Francesco V AmigonArgentina2026-09-08Rousseaux, Michael Esq RENEWAL58Ioni Bowcher
1030Claire G GillianGermany2026-09-18Printing Dimensions NEW83Asiya Javayant
1031Wickens D WhobreyUnited Kingdom2026-09-13Commercial Press NEGOTIATION38Anna Fali
1032Cody A PoquetteItaly2026-08-30Feiner Bros QUALIFIED78Onyama Limba
1033Jones S MaletIndia2026-09-27Truhlar And Truhlar Attys UNQUALIFIED39Onyama Limba
1034Clifford N TollnerArgentina2026-09-15King, Christopher A Esq QUALIFIED11Ioni Bowcher
1035Sinclair V VocelkaSpain2026-09-08King, Christopher A Esq RENEWAL8Ivan Magalhaes
1036Mujtaba Q AlbaresJapan2026-09-22Chemel, James L Cpa NEW53Ivan Magalhaes
1037James V StensethJapan2026-09-13Dorl, James J Esq PROPOSAL63Elwin Sharvill
1038Misaki W AmigonItaly2026-09-22Truhlar And Truhlar Attys UNQUALIFIED65Elwin Sharvill
1039Tony C CaldareraUnited Kingdom2026-09-02Rangoni Of Florence NEGOTIATION71Anna Fali
1040Aditya K WieserRussia2026-09-24Rangoni Of Florence RENEWAL1Ioni Bowcher
1041Clifford U RoysterIndia2026-09-04Benton, John B Jr QUALIFIED62Bernardo Dominic
1042Salvatore G MaletFrance2026-09-28Benton, John B Jr QUALIFIED3Amy Elsner
1043Leja G NestleCanada2026-09-27Feltz Printing Service NEW24Bernardo Dominic
1044Tony A RoysterUnited Kingdom2026-09-16Commercial Press RENEWAL16Anna Fali
1045David D FerenczIndia2026-09-18Benton, John B Jr RENEWAL71Onyama Limba
1046Deepesh H AmigonFrance2026-09-23Feltz Printing Service QUALIFIED53Xuxue Feng
1047Greenwood S GarufiCanada2026-08-31Benton, John B Jr RENEWAL59Xuxue Feng
1048Faith F SaylorsArgentina2026-09-21Truhlar And Truhlar Attys NEW75Asiya Javayant
1049Sinclair N GlickAustralia2026-09-08Truhlar And Truhlar Attys UNQUALIFIED52Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Smith C ButtAustraliaAnna Fali UNQUALIFIED
Jeanfrancois N StockhamAustraliaAmy Elsner RENEWAL
Morrow U SchemmerAustraliaAsiya Javayant UNQUALIFIED
Mayumi O MacleadCanadaAsiya Javayant UNQUALIFIED
Ricardo J RoysterArgentinaXuxue Feng PROPOSAL
Tony N MarrierIndiaIoni Bowcher UNQUALIFIED
Aditya A PaprockiArgentinaAnna Fali QUALIFIED
Jeanfrancois C GauchoArgentinaBernardo Dominic QUALIFIED
James J PerinItalyElwin Sharvill RENEWAL
Izzy I InouyeJapanElwin Sharvill RENEWAL
Salvatore W RulapaughIndiaXuxue Feng PROPOSAL
Wickens T MorascaUnited KingdomIoni Bowcher QUALIFIED
Wickens E GarufiItalyStephen Shaw NEGOTIATION
Alejandro S FigeroaUnited KingdomIoni Bowcher RENEWAL
Octavia M ShinkoAustraliaStephen Shaw NEGOTIATION
Kadeem K WaycottIndiaIoni Bowcher QUALIFIED
Darci C RoysterSpainAmy Elsner UNQUALIFIED
Jennifer N StockhamSpainAnna Fali QUALIFIED
Silvio B StensethIndiaIoni Bowcher RENEWAL
Johnson W RimBrazilAnna Fali UNQUALIFIED
Costa S BologniaCanadaStephen Shaw PROPOSAL
Silvio T StensethIndiaIoni Bowcher NEGOTIATION
Misaki O PerinFranceIoni Bowcher NEW
Misaki W FerenczCanadaStephen Shaw PROPOSAL
Rodrigues W InouyeRussiaElwin Sharvill UNQUALIFIED
Kadeem G OldroydCanadaAmy Elsner NEGOTIATION
Jones L RimGermanyOnyama Limba UNQUALIFIED
Leon V MaletIndiaBernardo Dominic UNQUALIFIED
Rodrigues R NickaUnited KingdomOnyama Limba NEW
Juan W GarufiRussiaAmy Elsner UNQUALIFIED
Cody O SaylorsJapanAnna Fali RENEWAL
Jeanfrancois M DilliardSpainOnyama Limba QUALIFIED
Ashley G IturbideIndiaElwin Sharvill NEGOTIATION
Mujtaba V RulapaughGermanyAnna Fali QUALIFIED
Deepesh K MacleadCanadaBernardo Dominic RENEWAL
Alejandro Y DoeSpainXuxue Feng QUALIFIED
Rodrigues U CaldareraUnited KingdomAsiya Javayant QUALIFIED
Munro I WaycottJapanStephen Shaw RENEWAL
Deepesh A KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Aika L MorascaBrazilBernardo Dominic NEGOTIATION
Emily D PaprockiArgentinaXuxue Feng PROPOSAL
Darci R DoeGermanyOnyama Limba PROPOSAL
Costa J WieserSpainIoni Bowcher NEGOTIATION
Jefferson Q GillianArgentinaXuxue Feng QUALIFIED
Mayumi H NestleCanadaIvan Magalhaes PROPOSAL
Smith O FollerJapanIoni Bowcher NEW
Arvin R FerenczIndiaOnyama Limba QUALIFIED
Aditya I CampainAustraliaAmy Elsner NEW
Isabel X MaletGermanyBernardo Dominic NEW
Chavez Q MaletArgentinaIoni Bowcher QUALIFIED
Frozen Columns
Name
Arvin S Paprocki
Maria F Iturbide
Costa W Foller
Costa Z Bolognia
David D Kusko
Arvin N Waycott
Munro E Dilliard
Aruna B Caudy
Deepesh X Kolmetz
Cody V Garufi
Ricardo I Whobrey
Salvatore C Paprocki
Deepesh L Kolmetz
Sinclair J Glick
Salvatore G Gillian
Morrow F Ferencz
Kadeem S Briddick
Costa P Campain
Aruna X Darakjy
Wickens I Whobrey
Antonio H Bolognia
Arvin E Caudy
David T Bowley
Silvio U Iturbide
Ivar I Whobrey
Maria A Foller
Adams Y Paprocki
Leja U Morasca
Jeanfrancois P Amigon
Aditya Z Royster
Sinclair V Maclead
Ivar H Darakjy
Johnson X Vocelka
Julie P Kolmetz
Silvio U Kusko
Leon S Paprocki
Cody F Ferencz
Nicolas C Sergi
Wickens N Stenseth
Juan P Paprocki
Greenwood Q Saylors
Jefferson M Whobrey
Darci A Venere
Maisha Z Paprocki
Ivar R Chui
Nicolas H Marrier
David F Royster
Silvio H Venere
Silvio V Glick
Jefferson E Stockham
IdCountryDate
1000Brazil2026-09-26
1001India2026-09-13
1002Germany2026-09-19
1003Australia2026-09-21
1004India2026-09-16
1005United Kingdom2026-09-08
1006Spain2026-09-03
1007United Kingdom2026-09-06
1008Canada2026-09-12
1009India2026-09-04
1010Japan2026-09-28
1011United Kingdom2026-09-07
1012Brazil2026-09-16
1013Australia2026-09-08
1014Brazil2026-09-06
1015Japan2026-09-15
1016Argentina2026-09-28
1017Argentina2026-09-25
1018Argentina2026-09-12
1019Australia2026-09-03
1020Australia2026-09-04
1021Argentina2026-09-24
1022Canada2026-09-10
1023Japan2026-09-21
1024Japan2026-09-19
1025Spain2026-09-16
1026Russia2026-09-14
1027Australia2026-09-21
1028France2026-09-20
1029Argentina2026-09-21
1030Brazil2026-09-22
1031Canada2026-09-25
1032Germany2026-09-04
1033United Kingdom2026-09-08
1034India2026-09-16
1035France2026-09-10
1036Australia2026-09-15
1037Italy2026-09-13
1038Australia2026-09-19
1039Russia2026-09-23
1040India2026-09-24
1041Japan2026-09-25
1042Australia2026-09-18
1043Japan2026-09-22
1044Japan2026-08-30
1045France2026-08-30
1046Australia2026-08-30
1047Italy2026-09-25
1048France2026-09-12
1049Argentina2026-09-09

On-Demand Data

NameIdCountryDate
Isabel X Slusarski1000France2026-09-19
Rodrigues M Tollner1001Brazil2026-09-26
Maria W Dilliard1002Canada2026-09-15
Morrow N Garufi1003Argentina2026-09-21
Kaitlin F Stenseth1004Argentina2026-09-28
Aditya F Malet1005United Kingdom2026-09-21
Wickens P Kusko1006Brazil2026-09-28
Octavia Y Vocelka1007France2026-09-02
Sinclair Z Ferencz1008Brazil2026-09-18
Deepesh W Rim1009Brazil2026-09-03
Sinclair P Nicka1010Canada2026-09-01
Kaitlin R Whobrey1011United Kingdom2026-09-25
Smith Z Dilliard1012Australia2026-09-16
Antonio A Albares1013Spain2026-09-13
Costa S Inouye1014Spain2026-09-18
Johnson O Amigon1015Spain2026-09-08
Jefferson S Marrier1016Canada2026-08-31
Morrow R Wieser1017Spain2026-09-08
Sinclair F Venere1018Brazil2026-08-30
Claire R Schemmer1019Brazil2026-09-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David L CampainBrazilAsiya Javayant RENEWAL
Tony I ShinkoSpainOnyama Limba NEW
Jennifer P IturbideFranceElwin Sharvill NEW
Leon X KuskoItalyBernardo Dominic PROPOSAL
Silvio P NickaBrazilAmy Elsner UNQUALIFIED
Stacey X NickaBrazilAsiya Javayant PROPOSAL
Ricardo F InouyeCanadaIvan Magalhaes PROPOSAL
Smith K RoysterJapanAmy Elsner NEGOTIATION
Smith D MaletBrazilXuxue Feng UNQUALIFIED
Ivar S ChuiSpainStephen Shaw UNQUALIFIED
Izzy J MacleadGermanyXuxue Feng NEGOTIATION
Izzy R BologniaBrazilAnna Fali NEGOTIATION
James F GarufiFranceOnyama Limba PROPOSAL
Francesco P KolmetzUnited KingdomIoni Bowcher NEGOTIATION
Kaitlin N GlickGermanyBernardo Dominic UNQUALIFIED
Leja C AlbaresFranceAmy Elsner RENEWAL
Maisha G KolmetzIndiaElwin Sharvill NEGOTIATION
Smith E RimFranceBernardo Dominic PROPOSAL
Jones X KuskoFranceStephen Shaw UNQUALIFIED
Silvio H CampainItalyXuxue Feng UNQUALIFIED
Ashley R CampainSpainElwin Sharvill NEGOTIATION
Mujtaba E ButtJapanIoni Bowcher NEW
Darci K SchemmerCanadaElwin Sharvill UNQUALIFIED
Tony O VenereArgentinaIvan Magalhaes UNQUALIFIED
Ricardo H ChuiUnited KingdomAmy Elsner RENEWAL
Clifford W OstroskyBrazilAmy Elsner UNQUALIFIED
Costa R GlickArgentinaIoni Bowcher QUALIFIED
Adams A SaylorsSpainXuxue Feng NEGOTIATION
Ricardo B KuskoSpainXuxue Feng RENEWAL
Juan L RutaRussiaAsiya Javayant PROPOSAL
Alejandro V InouyeAustraliaIvan Magalhaes RENEWAL
Clifford Z OstroskyCanadaXuxue Feng NEGOTIATION
Leja Q FlosiFranceIoni Bowcher NEW
Aruna T CaldareraCanadaAnna Fali RENEWAL
Alejandro L VocelkaUnited KingdomXuxue Feng NEW
Murillo N WaycottUnited KingdomStephen Shaw UNQUALIFIED
Ivar A GauchoCanadaIoni Bowcher PROPOSAL
Mayumi B SergiIndiaBernardo Dominic PROPOSAL
Juan V StensethRussiaIvan Magalhaes QUALIFIED
Jones I VocelkaIndiaIvan Magalhaes 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>