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
Johnson N PerinGermanyAsiya Javayant NEW
Mayumi R MaletRussiaAmy Elsner QUALIFIED
Costa L NickaAustraliaElwin Sharvill PROPOSAL
Juan I RoysterRussiaXuxue Feng RENEWAL
Jones G FlosiArgentinaIvan Magalhaes UNQUALIFIED
Izzy L DoeItalyIvan Magalhaes RENEWAL
Leon M StensethFranceIoni Bowcher NEW
Izzy H TollnerCanadaBernardo Dominic PROPOSAL
Aditya T ChuiIndiaOnyama Limba RENEWAL
Munro T VenereSpainBernardo Dominic NEGOTIATION
Munro E GlickFranceXuxue Feng RENEWAL
Chavez S FerenczCanadaAmy Elsner UNQUALIFIED
Claire I KuskoGermanyIoni Bowcher PROPOSAL
Rodrigues X BologniaAustraliaOnyama Limba RENEWAL
Greenwood M TollnerItalyAnna Fali NEW
Costa T ChuiArgentinaBernardo Dominic NEW
Morrow X FollerFranceAsiya Javayant PROPOSAL
Adams R PoquetteGermanyAnna Fali UNQUALIFIED
Antonio C FollerRussiaXuxue Feng NEW
Deepesh O RulapaughCanadaXuxue Feng RENEWAL
Antonio U MarrierArgentinaIvan Magalhaes UNQUALIFIED
Julie U SchemmerAustraliaAmy Elsner QUALIFIED
Kaitlin W CampainAustraliaAsiya Javayant UNQUALIFIED
Mayumi S SergiIndiaOnyama Limba QUALIFIED
Sinclair G FollerItalyXuxue Feng PROPOSAL
James H PoquetteUnited KingdomAsiya Javayant NEGOTIATION
Emily P ButtRussiaXuxue Feng UNQUALIFIED
Stacey S WhobreyFranceXuxue Feng PROPOSAL
Smith W BologniaUnited KingdomOnyama Limba QUALIFIED
Francesco H GillianSpainIoni Bowcher PROPOSAL
Kadeem Y DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Jones V VocelkaIndiaIvan Magalhaes NEGOTIATION
Arvin J MorascaUnited KingdomStephen Shaw RENEWAL
Stacey V GlickArgentinaIvan Magalhaes PROPOSAL
Aruna X OldroydRussiaAmy Elsner NEW
Munro W VocelkaBrazilBernardo Dominic RENEWAL
Claire R FollerSpainBernardo Dominic RENEWAL
Smith T SchemmerFranceStephen Shaw QUALIFIED
Chavez F FigeroaBrazilElwin Sharvill RENEWAL
Johnson W NestleFranceAsiya Javayant UNQUALIFIED
Salvatore V WaycottAustraliaStephen Shaw QUALIFIED
James K PoquetteIndiaXuxue Feng QUALIFIED
Ricardo J CampainGermanyBernardo Dominic UNQUALIFIED
Cody W MarrierGermanyAnna Fali QUALIFIED
Morrow X MarrierBrazilAnna Fali PROPOSAL
Arvin E VocelkaItalyIoni Bowcher QUALIFIED
Maisha E PerinBrazilIoni Bowcher NEGOTIATION
Leja C InouyeFranceStephen Shaw QUALIFIED
Stacey S StensethSpainIvan Magalhaes RENEWAL
Johnson U ShinkoGermanyAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair N FollerFranceOnyama Limba UNQUALIFIED
James W ShinkoGermanyXuxue Feng UNQUALIFIED
Stacey N FollerGermanyAmy Elsner QUALIFIED
Leon R InouyeItalyBernardo Dominic NEW
Nicolas R CaudyGermanyStephen Shaw UNQUALIFIED
Salvatore D WaycottJapanAsiya Javayant NEGOTIATION
Isabel B PoquetteAustraliaAmy Elsner NEGOTIATION
James H AmigonUnited KingdomOnyama Limba NEGOTIATION
Jones T KolmetzAustraliaIvan Magalhaes RENEWAL
Maria C TollnerCanadaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony G TollnerGermany2026-09-14Feltz Printing Service RENEWAL7Xuxue Feng
1001Murillo P CampainUnited Kingdom2026-09-14Printing Dimensions QUALIFIED23Bernardo Dominic
1002Wickens D StockhamArgentina2026-09-21Morlong Associates PROPOSAL76Asiya Javayant
1003Kadeem K InouyeAustralia2026-09-24Benton, John B Jr QUALIFIED45Stephen Shaw
1004Leja L FlosiAustralia2026-09-26Feltz Printing Service RENEWAL15Onyama Limba
1005Jeanfrancois X StensethFrance2026-09-18Chemel, James L Cpa QUALIFIED78Asiya Javayant
1006Jennifer J NestleSpain2026-09-14Feiner Bros UNQUALIFIED67Ivan Magalhaes
1007Morrow V InouyeSpain2026-09-12Rousseaux, Michael Esq PROPOSAL98Ioni Bowcher
1008Aditya F DoeGermany2026-09-28Dorl, James J Esq NEW88Elwin Sharvill
1009Maria E AmigonArgentina2026-09-03Buckley Miller Wright QUALIFIED68Xuxue Feng
1010Chavez Q PerinJapan2026-09-15Feltz Printing Service QUALIFIED85Elwin Sharvill
1011Aruna K KuskoJapan2026-09-18Commercial Press UNQUALIFIED54Onyama Limba
1012Mujtaba J KolmetzAustralia2026-09-24Dorl, James J Esq UNQUALIFIED29Anna Fali
1013Johnson B FerenczArgentina2026-09-17Truhlar And Truhlar Attys PROPOSAL12Onyama Limba
1014James M MarrierArgentina2026-09-07King, Christopher A Esq UNQUALIFIED3Anna Fali
1015Costa L NickaUnited Kingdom2026-09-28Rousseaux, Michael Esq UNQUALIFIED7Onyama Limba
1016Maisha N StockhamBrazil2026-09-09Rangoni Of Florence RENEWAL65Stephen Shaw
1017Tony Z InouyeRussia2026-09-30Buckley Miller Wright NEGOTIATION65Ioni Bowcher
1018Nicolas E AmigonUnited Kingdom2026-09-07Rangoni Of Florence UNQUALIFIED48Bernardo Dominic
1019Sinclair T AmigonItaly2026-09-03Dorl, James J Esq UNQUALIFIED52Ioni Bowcher
1020Mujtaba K SergiGermany2026-09-11Chapman, Ross E Esq QUALIFIED39Asiya Javayant
1021Darci I CaudySpain2026-09-10Feiner Bros RENEWAL55Xuxue Feng
1022Adams Q BriddickSpain2026-09-29Chemel, James L Cpa RENEWAL0Onyama Limba
1023Silvio M RutaItaly2026-09-25Truhlar And Truhlar Attys QUALIFIED91Elwin Sharvill
1024Claire K WieserBrazil2026-09-15Feltz Printing Service UNQUALIFIED35Xuxue Feng
1025Rodrigues K TollnerRussia2026-09-06Rousseaux, Michael Esq UNQUALIFIED98Amy Elsner
1026Kaitlin F PerinItaly2026-09-18Rangoni Of Florence QUALIFIED65Ioni Bowcher
1027Maria H ShinkoRussia2026-09-01Rangoni Of Florence NEGOTIATION29Ivan Magalhaes
1028David N KuskoSpain2026-09-03Rousseaux, Michael Esq NEGOTIATION28Amy Elsner
1029Mayumi S RutaBrazil2026-09-27Chanay, Jeffrey A Esq RENEWAL83Anna Fali
1030Munro B CaudySpain2026-09-28Chemel, James L Cpa RENEWAL46Ioni Bowcher
1031Chavez Z RimIndia2026-09-02Printing Dimensions UNQUALIFIED16Ivan Magalhaes
1032Rodrigues N GarufiSpain2026-09-28Benton, John B Jr PROPOSAL57Bernardo Dominic
1033Darci H BowleySpain2026-09-07Truhlar And Truhlar Attys QUALIFIED2Ivan Magalhaes
1034Darci W DarakjyJapan2026-09-12Morlong Associates NEGOTIATION95Amy Elsner
1035Darci L ChuiItaly2026-09-10Morlong Associates PROPOSAL78Stephen Shaw
1036Ashley V MarrierBrazil2026-09-29Benton, John B Jr UNQUALIFIED89Ioni Bowcher
1037Silvio B ButtUnited Kingdom2026-09-29Buckley Miller Wright NEW79Ivan Magalhaes
1038Kadeem U RulapaughIndia2026-09-29King, Christopher A Esq RENEWAL14Onyama Limba
1039Ricardo P NestleItaly2026-09-08Chanay, Jeffrey A Esq UNQUALIFIED19Onyama Limba
1040Morrow W VenereRussia2026-09-23Printing Dimensions RENEWAL14Ioni Bowcher
1041Jones B GillianUnited Kingdom2026-09-06Benton, John B Jr UNQUALIFIED80Stephen Shaw
1042Octavia B WhobreyFrance2026-09-25Chapman, Ross E Esq RENEWAL34Amy Elsner
1043Kadeem X GillianJapan2026-09-29Morlong Associates PROPOSAL78Amy Elsner
1044Izzy V GauchoGermany2026-09-11Printing Dimensions NEGOTIATION41Stephen Shaw
1045Mayumi G BriddickGermany2026-09-03Benton, John B Jr QUALIFIED90Ivan Magalhaes
1046Jefferson V DarakjyUnited Kingdom2026-09-04King, Christopher A Esq RENEWAL22Asiya Javayant
1047Tony X StockhamIndia2026-09-19Feiner Bros PROPOSAL61Xuxue Feng
1048Silvio X CaldareraUnited Kingdom2026-09-16Morlong Associates NEGOTIATION17Asiya Javayant
1049Tony V PoquetteSpain2026-09-16King, Christopher A Esq PROPOSAL34Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Misaki X SaylorsGermanyBernardo Dominic NEGOTIATION
Chavez M OstroskyGermanyOnyama Limba UNQUALIFIED
Aika A SaylorsCanadaBernardo Dominic PROPOSAL
Aditya B PaprockiAustraliaIoni Bowcher QUALIFIED
Julie V TollnerJapanXuxue Feng UNQUALIFIED
Aruna W AmigonGermanyElwin Sharvill RENEWAL
Mujtaba U SchemmerSpainXuxue Feng NEGOTIATION
Mujtaba L CaudyCanadaXuxue Feng NEGOTIATION
Jones D KuskoItalyElwin Sharvill RENEWAL
Cody U VocelkaFranceElwin Sharvill RENEWAL
Darci H AmigonCanadaIoni Bowcher QUALIFIED
Stacey M SlusarskiGermanyElwin Sharvill NEW
Jones O CampainIndiaAsiya Javayant UNQUALIFIED
Costa E ShinkoGermanyIoni Bowcher UNQUALIFIED
Tony B CampainGermanyAsiya Javayant UNQUALIFIED
Arvin E BologniaItalyAsiya Javayant UNQUALIFIED
Maisha Q VocelkaAustraliaBernardo Dominic NEW
Wickens E StensethRussiaXuxue Feng QUALIFIED
Costa R DilliardGermanyXuxue Feng QUALIFIED
Kaitlin V BriddickItalyAmy Elsner QUALIFIED
Octavia K DarakjyArgentinaOnyama Limba NEGOTIATION
Juan D PoquetteItalyIvan Magalhaes RENEWAL
Emily J FerenczUnited KingdomBernardo Dominic PROPOSAL
Cody T DarakjyGermanyStephen Shaw PROPOSAL
Deepesh T RutaFranceOnyama Limba QUALIFIED
Juan Z VocelkaFranceElwin Sharvill PROPOSAL
Alejandro D AmigonJapanOnyama Limba QUALIFIED
Smith Z BowleyArgentinaAsiya Javayant UNQUALIFIED
Deepesh D AlbaresFranceStephen Shaw PROPOSAL
Juan E CaudyAustraliaOnyama Limba NEW
Julie N InouyeCanadaOnyama Limba RENEWAL
Murillo F CampainUnited KingdomIvan Magalhaes QUALIFIED
Ricardo X BriddickJapanAsiya Javayant RENEWAL
Jeanfrancois C BowleyUnited KingdomBernardo Dominic RENEWAL
Emily C AlbaresJapanOnyama Limba UNQUALIFIED
Clifford L PerinCanadaOnyama Limba QUALIFIED
Maria E WhobreyRussiaXuxue Feng UNQUALIFIED
Costa N MarrierJapanAmy Elsner RENEWAL
Murillo F CampainIndiaElwin Sharvill NEGOTIATION
Ashley C BologniaSpainIoni Bowcher QUALIFIED
Juan F InouyeAustraliaBernardo Dominic QUALIFIED
Johnson G WhobreyJapanIoni Bowcher UNQUALIFIED
Mayumi V MaletJapanBernardo Dominic PROPOSAL
Aika U PoquetteBrazilAsiya Javayant RENEWAL
Darci O KuskoSpainBernardo Dominic RENEWAL
Munro I BriddickCanadaIoni Bowcher RENEWAL
Aika U FigeroaIndiaXuxue Feng UNQUALIFIED
Claire H DoeIndiaAsiya Javayant NEW
Izzy F StensethArgentinaIoni Bowcher QUALIFIED
Izzy S InouyeFranceAmy Elsner UNQUALIFIED
Frozen Columns
Name
Faith P Flosi
Antonio D Chui
Salvatore N Venere
Leon W Morasca
Murillo W Darakjy
Nicolas Y Nestle
Octavia C Ferencz
Ricardo V Campain
Murillo I Shinko
Smith M Bolognia
Antonio L Darakjy
Misaki Z Venere
Kaitlin K Perin
Jones K Saylors
Alejandro V Tollner
Darci Z Stockham
Leja D Tollner
Mujtaba X Kusko
Antonio J Gillian
Claire C Bowley
Morrow O Malet
Kaitlin Q Rulapaugh
Costa X Paprocki
James G Ferencz
Adams F Marrier
Jefferson D Rim
Chavez Z Royster
Aditya U Caudy
Juan A Darakjy
Stacey M Figeroa
Jennifer L Briddick
Jennifer Z Ruta
Isabel K Tollner
Jennifer F Kusko
Cody M Stockham
Murillo N Oldroyd
Adams M Sergi
Faith W Ferencz
Chavez H Caldarera
Kadeem K Marrier
Maisha R Paprocki
Ashley Y Chui
Isabel S Flosi
Misaki M Chui
Stacey Q Gillian
Aika Z Marrier
Aditya K Stockham
Faith K Campain
Arvin V Albares
Arvin Z Perin
IdCountryDate
1000Argentina2026-09-19
1001Spain2026-09-06
1002Japan2026-09-23
1003Japan2026-09-02
1004Germany2026-09-05
1005Japan2026-09-17
1006Brazil2026-09-09
1007United Kingdom2026-09-26
1008United Kingdom2026-09-30
1009India2026-09-05
1010Spain2026-09-10
1011Italy2026-09-01
1012Spain2026-09-30
1013Germany2026-09-18
1014Canada2026-09-21
1015United Kingdom2026-09-25
1016Russia2026-09-12
1017United Kingdom2026-09-11
1018Spain2026-09-01
1019Canada2026-09-21
1020Argentina2026-09-30
1021Spain2026-09-20
1022Canada2026-09-06
1023Brazil2026-09-01
1024Russia2026-09-05
1025Argentina2026-09-23
1026Spain2026-09-21
1027Japan2026-09-10
1028Brazil2026-09-15
1029Germany2026-09-23
1030Canada2026-09-22
1031Brazil2026-09-01
1032France2026-09-27
1033United Kingdom2026-09-09
1034United Kingdom2026-09-13
1035Germany2026-09-26
1036India2026-09-29
1037India2026-09-21
1038United Kingdom2026-09-01
1039India2026-09-17
1040Canada2026-09-08
1041Italy2026-09-08
1042Australia2026-09-22
1043Italy2026-09-09
1044France2026-09-14
1045Italy2026-09-12
1046Russia2026-09-01
1047Canada2026-09-04
1048France2026-09-01
1049Russia2026-09-09

On-Demand Data

NameIdCountryDate
Munro Z Doe1000United Kingdom2026-09-26
Octavia W Marrier1001India2026-09-24
Chavez A Darakjy1002Japan2026-09-08
Cody Q Morasca1003Argentina2026-09-24
Izzy O Caldarera1004Canada2026-09-13
Antonio P Rulapaugh1005Spain2026-09-03
Murillo O Paprocki1006United Kingdom2026-09-30
Maria H Nicka1007India2026-09-08
Jennifer X Malet1008Australia2026-09-26
Ashley T Paprocki1009Russia2026-09-10
Munro D Amigon1010Canada2026-09-02
Costa T Bowley1011Japan2026-09-22
Jennifer H Butt1012Australia2026-09-12
Antonio W Oldroyd1013United Kingdom2026-09-07
Arvin U Nicka1014Germany2026-09-21
Morrow Y Tollner1015France2026-09-24
Faith A Maclead1016India2026-09-26
Greenwood T Nestle1017United Kingdom2026-09-07
Munro A Nestle1018Australia2026-09-25
Ricardo C Figeroa1019Germany2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika T MaletGermanyStephen Shaw UNQUALIFIED
Julie F WhobreyUnited KingdomIvan Magalhaes QUALIFIED
David J WhobreyJapanIvan Magalhaes UNQUALIFIED
Ashley M MaletBrazilOnyama Limba NEW
Salvatore T KolmetzGermanyAmy Elsner PROPOSAL
Mujtaba D WaycottUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba U RimFranceIoni Bowcher PROPOSAL
Jefferson M PoquetteJapanOnyama Limba PROPOSAL
Juan W PerinUnited KingdomIvan Magalhaes RENEWAL
Deepesh N BriddickCanadaElwin Sharvill PROPOSAL
Mujtaba F OldroydFranceAnna Fali RENEWAL
Darci T IturbideCanadaIoni Bowcher RENEWAL
Izzy A BowleyAustraliaXuxue Feng UNQUALIFIED
Johnson E WhobreySpainAnna Fali QUALIFIED
Tony X WaycottUnited KingdomAnna Fali NEGOTIATION
Maisha A SaylorsFranceAsiya Javayant QUALIFIED
Aditya R PerinBrazilAnna Fali NEW
Ricardo Z IturbideRussiaOnyama Limba NEGOTIATION
Tony J FerenczCanadaAsiya Javayant PROPOSAL
Tony O NickaUnited KingdomBernardo Dominic QUALIFIED
Darci V RulapaughCanadaIoni Bowcher UNQUALIFIED
Izzy T PerinGermanyXuxue Feng QUALIFIED
Jeanfrancois I SergiBrazilAsiya Javayant UNQUALIFIED
Darci J DoeUnited KingdomIoni Bowcher NEW
Misaki Q FlosiGermanyIoni Bowcher UNQUALIFIED
Isabel Z GlickItalyStephen Shaw QUALIFIED
Costa Y GarufiItalyAsiya Javayant UNQUALIFIED
James H CampainRussiaElwin Sharvill RENEWAL
Aika X IturbideCanadaStephen Shaw NEGOTIATION
Ashley B SchemmerJapanAsiya Javayant QUALIFIED
Rodrigues Z NestleGermanyOnyama Limba UNQUALIFIED
Arvin L VocelkaBrazilIvan Magalhaes UNQUALIFIED
Wickens M WieserFranceAnna Fali RENEWAL
Mujtaba R BriddickAustraliaIoni Bowcher PROPOSAL
Sinclair I NickaGermanyAmy Elsner PROPOSAL
Jefferson D WaycottRussiaStephen Shaw NEGOTIATION
Rodrigues K GlickArgentinaIoni Bowcher UNQUALIFIED
Morrow Y ChuiIndiaAsiya Javayant RENEWAL
Ivar F FerenczJapanIvan Magalhaes QUALIFIED
Sinclair M FollerCanadaAmy Elsner 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>