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
Mayumi Y NestleUnited KingdomElwin Sharvill RENEWAL
Arvin D WaycottRussiaAnna Fali QUALIFIED
Rodrigues U SergiArgentinaAsiya Javayant NEGOTIATION
Claire J GarufiUnited KingdomOnyama Limba NEGOTIATION
Izzy T ButtBrazilStephen Shaw QUALIFIED
Greenwood Q DilliardSpainBernardo Dominic RENEWAL
Kadeem S FerenczGermanyOnyama Limba RENEWAL
Deepesh D PerinGermanyElwin Sharvill NEGOTIATION
Kaitlin K RulapaughAustraliaOnyama Limba QUALIFIED
Ivar S WieserGermanyIoni Bowcher PROPOSAL
Leja Z AmigonSpainOnyama Limba NEGOTIATION
Jennifer A CaudyJapanIoni Bowcher QUALIFIED
Jeanfrancois R KolmetzGermanyXuxue Feng NEW
Kadeem S MacleadUnited KingdomIvan Magalhaes RENEWAL
Jefferson G SergiIndiaElwin Sharvill PROPOSAL
Alejandro B KuskoCanadaIvan Magalhaes RENEWAL
Stacey S PoquetteIndiaAnna Fali NEW
Kaitlin A ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Emily X MorascaSpainAsiya Javayant UNQUALIFIED
Kaitlin I FollerIndiaXuxue Feng PROPOSAL
Aika E DilliardUnited KingdomXuxue Feng NEGOTIATION
Faith V GarufiItalyAmy Elsner QUALIFIED
Leja D CaldareraAustraliaStephen Shaw RENEWAL
Maisha E MaletJapanOnyama Limba NEW
Rodrigues G BologniaJapanStephen Shaw RENEWAL
Arvin R SergiCanadaAnna Fali NEGOTIATION
Aditya L GarufiGermanyOnyama Limba QUALIFIED
Juan G ButtAustraliaBernardo Dominic RENEWAL
Maisha R SergiBrazilAmy Elsner NEGOTIATION
Isabel T GillianAustraliaAnna Fali UNQUALIFIED
Francesco A NestleAustraliaAmy Elsner NEGOTIATION
Maisha Q MarrierUnited KingdomIvan Magalhaes RENEWAL
Antonio W CaldareraJapanIvan Magalhaes PROPOSAL
Ricardo U WieserBrazilOnyama Limba UNQUALIFIED
Salvatore T ButtJapanAnna Fali UNQUALIFIED
Juan S GlickItalyAnna Fali PROPOSAL
Claire B OldroydSpainAmy Elsner UNQUALIFIED
Izzy O FlosiJapanIoni Bowcher NEW
Jennifer Y MarrierRussiaIvan Magalhaes NEGOTIATION
Costa U RulapaughCanadaStephen Shaw UNQUALIFIED
Ivar L FlosiBrazilXuxue Feng QUALIFIED
Izzy I PerinFranceElwin Sharvill NEW
Jones Z FlosiGermanyAsiya Javayant NEW
Jones U WieserSpainAnna Fali NEW
Cody K FigeroaItalyBernardo Dominic NEGOTIATION
Maria D DilliardItalyAsiya Javayant PROPOSAL
Smith O GlickGermanyBernardo Dominic RENEWAL
Mayumi B PaprockiJapanIoni Bowcher NEW
Faith D BowleyIndiaAnna Fali NEW
Maisha L ChuiArgentinaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson K PerinIndiaIvan Magalhaes PROPOSAL
Jennifer L MorascaGermanyElwin Sharvill NEGOTIATION
Chavez E BologniaRussiaElwin Sharvill PROPOSAL
Octavia P NickaArgentinaElwin Sharvill RENEWAL
Juan K TollnerRussiaAmy Elsner NEGOTIATION
Nicolas H StockhamCanadaAsiya Javayant UNQUALIFIED
Alejandro M ShinkoBrazilStephen Shaw NEW
Mayumi J GillianUnited KingdomAmy Elsner NEGOTIATION
Leon I MacleadGermanyAnna Fali UNQUALIFIED
Johnson T DilliardFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones T SaylorsItaly2026-11-01King, Christopher A Esq NEW62Anna Fali
1001Emily D FerenczCanada2026-10-23Benton, John B Jr RENEWAL6Elwin Sharvill
1002Antonio X SlusarskiSpain2026-11-02Commercial Press NEW47Elwin Sharvill
1003Julie F SlusarskiBrazil2026-10-27Buckley Miller Wright NEW23Ioni Bowcher
1004Cody L ButtSpain2026-11-06Rousseaux, Michael Esq RENEWAL94Amy Elsner
1005Darci P StensethCanada2026-10-20Chanay, Jeffrey A Esq QUALIFIED28Anna Fali
1006Murillo F OldroydRussia2026-10-08Rangoni Of Florence UNQUALIFIED40Bernardo Dominic
1007Murillo P MacleadFrance2026-10-26Buckley Miller Wright NEW51Bernardo Dominic
1008Juan C StensethArgentina2026-10-08King, Christopher A Esq RENEWAL59Ivan Magalhaes
1009Adams M SchemmerIndia2026-10-09King, Christopher A Esq PROPOSAL47Stephen Shaw
1010Mujtaba G FerenczUnited Kingdom2026-10-18Truhlar And Truhlar Attys UNQUALIFIED31Amy Elsner
1011Isabel L BriddickFrance2026-10-19Rousseaux, Michael Esq PROPOSAL29Amy Elsner
1012Nicolas M FigeroaBrazil2026-10-15Chemel, James L Cpa QUALIFIED19Xuxue Feng
1013Sinclair V GillianAustralia2026-10-17Commercial Press NEW1Asiya Javayant
1014Rodrigues L BologniaIndia2026-10-17Chapman, Ross E Esq UNQUALIFIED85Amy Elsner
1015Mayumi N TollnerItaly2026-10-29Dorl, James J Esq NEW52Bernardo Dominic
1016Johnson A PaprockiUnited Kingdom2026-11-04Dorl, James J Esq PROPOSAL83Elwin Sharvill
1017Sinclair X PaprockiAustralia2026-10-27Chanay, Jeffrey A Esq NEW92Ivan Magalhaes
1018Antonio G GlickArgentina2026-11-03Printing Dimensions RENEWAL80Ivan Magalhaes
1019Leja U DilliardAustralia2026-10-10Feiner Bros PROPOSAL30Elwin Sharvill
1020Munro V FigeroaBrazil2026-10-28Commercial Press PROPOSAL58Ioni Bowcher
1021Sinclair O DarakjyCanada2026-10-25Morlong Associates QUALIFIED8Bernardo Dominic
1022Aditya Z SlusarskiAustralia2026-11-05Feiner Bros NEW33Amy Elsner
1023David Z KolmetzFrance2026-10-17Chanay, Jeffrey A Esq PROPOSAL21Anna Fali
1024Mayumi A FlosiIndia2026-10-31Commercial Press RENEWAL24Onyama Limba
1025Jennifer K StensethItaly2026-11-06Rangoni Of Florence PROPOSAL27Onyama Limba
1026Ricardo Q IturbideUnited Kingdom2026-10-16Truhlar And Truhlar Attys NEGOTIATION23Onyama Limba
1027Silvio X SergiRussia2026-10-29Chapman, Ross E Esq PROPOSAL67Anna Fali
1028Nicolas Z RoysterGermany2026-10-27Feiner Bros PROPOSAL52Anna Fali
1029Misaki B DoeCanada2026-10-22Dorl, James J Esq QUALIFIED78Bernardo Dominic
1030Mayumi I OldroydSpain2026-10-23Dorl, James J Esq PROPOSAL92Anna Fali
1031Isabel S SchemmerCanada2026-10-10Feiner Bros QUALIFIED6Ivan Magalhaes
1032Leja C InouyeArgentina2026-10-26Feiner Bros RENEWAL13Bernardo Dominic
1033Deepesh W VenereRussia2026-10-29Buckley Miller Wright RENEWAL76Elwin Sharvill
1034Jefferson H FlosiSpain2026-10-14Rousseaux, Michael Esq NEGOTIATION19Xuxue Feng
1035Jefferson M FlosiArgentina2026-11-01Chemel, James L Cpa UNQUALIFIED19Amy Elsner
1036Stacey O BriddickAustralia2026-11-06Truhlar And Truhlar Attys UNQUALIFIED13Xuxue Feng
1037Mayumi U BriddickItaly2026-11-03Commercial Press PROPOSAL76Ivan Magalhaes
1038Murillo M RutaUnited Kingdom2026-10-14King, Christopher A Esq QUALIFIED37Amy Elsner
1039David R CaldareraSpain2026-10-17Feiner Bros NEGOTIATION71Ivan Magalhaes
1040Jeanfrancois O CampainGermany2026-10-16King, Christopher A Esq RENEWAL45Asiya Javayant
1041Salvatore K DarakjyGermany2026-11-05Feiner Bros PROPOSAL53Anna Fali
1042Jefferson A InouyeCanada2026-10-24Printing Dimensions UNQUALIFIED66Amy Elsner
1043Arvin L GauchoItaly2026-11-06Chanay, Jeffrey A Esq RENEWAL52Bernardo Dominic
1044Johnson I PoquetteUnited Kingdom2026-10-31Printing Dimensions QUALIFIED97Xuxue Feng
1045David V AmigonIndia2026-10-26Chapman, Ross E Esq NEGOTIATION67Xuxue Feng
1046Isabel X BologniaIndia2026-10-09Chemel, James L Cpa UNQUALIFIED40Amy Elsner
1047Aruna R VenereGermany2026-10-26King, Christopher A Esq NEGOTIATION55Ivan Magalhaes
1048Ricardo P AmigonUnited Kingdom2026-10-19Chapman, Ross E Esq RENEWAL93Stephen Shaw
1049Chavez I PoquetteBrazil2026-10-19Feiner Bros RENEWAL95Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aruna O CaldareraGermanyAmy Elsner NEW
Aditya E SchemmerUnited KingdomXuxue Feng RENEWAL
Clifford N NestleBrazilXuxue Feng RENEWAL
Jefferson I AlbaresRussiaBernardo Dominic PROPOSAL
Claire V MacleadItalyXuxue Feng NEW
Johnson R OstroskySpainBernardo Dominic UNQUALIFIED
Julie U AlbaresUnited KingdomAsiya Javayant UNQUALIFIED
Arvin E BologniaFranceAnna Fali QUALIFIED
Jeanfrancois R SchemmerItalyElwin Sharvill UNQUALIFIED
Aruna O CampainItalyStephen Shaw NEGOTIATION
Faith A DilliardUnited KingdomOnyama Limba NEGOTIATION
Wickens Y SlusarskiBrazilElwin Sharvill PROPOSAL
Leon G MaletUnited KingdomIoni Bowcher QUALIFIED
Juan S PaprockiGermanyAnna Fali RENEWAL
Claire T CaudyRussiaAnna Fali NEGOTIATION
Claire V ButtJapanIoni Bowcher UNQUALIFIED
Francesco C RutaFranceOnyama Limba NEW
Misaki A WieserCanadaOnyama Limba UNQUALIFIED
Ricardo Q KolmetzFranceIoni Bowcher QUALIFIED
Nicolas Q MaletRussiaAnna Fali PROPOSAL
Jones A BowleyItalyStephen Shaw UNQUALIFIED
Arvin R SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Julie C DarakjyRussiaAnna Fali QUALIFIED
Francesco K RoysterBrazilBernardo Dominic QUALIFIED
Aruna V PoquetteArgentinaIvan Magalhaes NEW
Ivar O BologniaCanadaElwin Sharvill NEGOTIATION
Maria P DilliardUnited KingdomIvan Magalhaes NEW
Claire B FlosiRussiaAsiya Javayant PROPOSAL
Murillo A WhobreySpainAmy Elsner PROPOSAL
Cody Y StockhamAustraliaAsiya Javayant UNQUALIFIED
Ashley B GillianAustraliaStephen Shaw QUALIFIED
Aruna T WieserCanadaIvan Magalhaes RENEWAL
Mujtaba M RulapaughSpainXuxue Feng UNQUALIFIED
Misaki M FigeroaFranceXuxue Feng QUALIFIED
Jefferson P NickaJapanIvan Magalhaes NEW
James T MaletSpainBernardo Dominic PROPOSAL
Claire R ChuiIndiaAsiya Javayant QUALIFIED
Octavia F MarrierRussiaBernardo Dominic UNQUALIFIED
Greenwood E MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Alejandro V IturbideArgentinaAmy Elsner NEGOTIATION
Nicolas F AmigonFranceXuxue Feng UNQUALIFIED
Chavez W PaprockiIndiaIoni Bowcher NEGOTIATION
Juan O MaletItalyAsiya Javayant PROPOSAL
Jennifer W FollerSpainAmy Elsner NEGOTIATION
Darci T MarrierItalyBernardo Dominic RENEWAL
Tony Y MarrierArgentinaIoni Bowcher QUALIFIED
Nicolas F AmigonItalyAsiya Javayant UNQUALIFIED
Stacey G DarakjyItalyXuxue Feng PROPOSAL
Adams C BowleyFranceOnyama Limba NEGOTIATION
Claire A DarakjyIndiaIvan Magalhaes RENEWAL
Frozen Columns
Name
Octavia S Rim
Leon S Foller
Faith W Bowley
Darci Z Whobrey
Maisha Z Marrier
Wickens H Sergi
Mujtaba H Stockham
Alejandro Y Campain
Misaki Y Doe
James C Stenseth
Tony C Nestle
Johnson A Poquette
Chavez Y Waycott
Antonio J Shinko
Sinclair R Bowley
Jefferson Q Nicka
Rodrigues I Wieser
Stacey H Oldroyd
Aruna C Whobrey
Emily H Butt
Murillo G Schemmer
Sinclair U Darakjy
Nicolas R Chui
Jones X Ruta
Silvio T Venere
Cody Y Shinko
Jones V Butt
Smith Q Figeroa
Alejandro P Caudy
Juan G Ferencz
Ashley L Bowley
Jefferson A Oldroyd
Darci H Venere
Rodrigues Y Gaucho
Aruna N Glick
Darci U Oldroyd
Tony X Kolmetz
Juan C Royster
Jones Q Morasca
Rodrigues K Marrier
Tony Y Caudy
Chavez B Bolognia
Faith O Figeroa
Costa I Briddick
Aruna W Saylors
Chavez U Tollner
Aruna C Bowley
Maisha S Kusko
Stacey I Amigon
Morrow P Bowley
IdCountryDate
1000United Kingdom2026-10-24
1001France2026-10-18
1002Germany2026-10-15
1003Italy2026-10-17
1004Germany2026-11-04
1005France2026-11-01
1006Australia2026-10-31
1007Australia2026-11-06
1008Spain2026-10-30
1009Russia2026-11-02
1010Spain2026-11-01
1011United Kingdom2026-10-08
1012Japan2026-10-29
1013France2026-10-21
1014Japan2026-10-08
1015Argentina2026-10-24
1016France2026-10-30
1017Argentina2026-10-15
1018United Kingdom2026-10-17
1019Canada2026-10-15
1020Germany2026-10-25
1021Italy2026-10-09
1022United Kingdom2026-10-09
1023Germany2026-10-21
1024Russia2026-10-29
1025Australia2026-10-19
1026United Kingdom2026-10-25
1027Japan2026-10-25
1028France2026-10-19
1029Australia2026-10-22
1030United Kingdom2026-10-17
1031Italy2026-10-20
1032Italy2026-10-29
1033France2026-10-17
1034Japan2026-10-26
1035Canada2026-11-04
1036Brazil2026-10-15
1037Brazil2026-10-13
1038Australia2026-11-04
1039France2026-10-26
1040France2026-11-02
1041Germany2026-10-30
1042Germany2026-10-11
1043Italy2026-10-11
1044Argentina2026-11-06
1045Brazil2026-10-21
1046Italy2026-10-31
1047Spain2026-10-21
1048Russia2026-10-25
1049Russia2026-10-22

On-Demand Data

NameIdCountryDate
Aruna Z Flosi1000Spain2026-10-16
Faith T Marrier1001Australia2026-10-10
Silvio F Bolognia1002United Kingdom2026-10-08
Maria T Slusarski1003United Kingdom2026-10-12
Smith Z Venere1004France2026-11-01
Kaitlin N Foller1005Japan2026-10-13
Silvio K Sergi1006Germany2026-10-14
Faith X Slusarski1007France2026-10-20
Izzy J Bolognia1008Japan2026-10-13
Sinclair S Perin1009Japan2026-10-17
Costa A Wieser1010Spain2026-10-08
Deepesh O Inouye1011United Kingdom2026-10-09
Misaki P Kolmetz1012Russia2026-10-10
Misaki U Darakjy1013Argentina2026-10-26
Claire R Slusarski1014Canada2026-10-13
Kadeem T Bowley1015Spain2026-10-21
Mujtaba M Marrier1016India2026-11-02
Smith L Inouye1017Japan2026-11-03
Kaitlin X Iturbide1018United Kingdom2026-11-05
Murillo R Bowley1019Japan2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo J MaletBrazilXuxue Feng PROPOSAL
Cody A CampainUnited KingdomAmy Elsner NEGOTIATION
Munro O BologniaIndiaBernardo Dominic NEW
Kaitlin E CaudyAustraliaAmy Elsner RENEWAL
Maisha I GlickArgentinaElwin Sharvill NEGOTIATION
Ashley A MacleadCanadaOnyama Limba UNQUALIFIED
Rodrigues L GarufiItalyIvan Magalhaes NEGOTIATION
Aika P KolmetzAustraliaAsiya Javayant PROPOSAL
Tony K ChuiAustraliaBernardo Dominic NEW
Leon X GlickJapanIvan Magalhaes NEW
Maria Z GillianGermanyElwin Sharvill NEW
Francesco L IturbideBrazilXuxue Feng NEGOTIATION
Maisha A MorascaArgentinaOnyama Limba UNQUALIFIED
Ivar R BriddickGermanyAnna Fali NEGOTIATION
Sinclair A SergiArgentinaOnyama Limba RENEWAL
Julie Y FollerJapanStephen Shaw QUALIFIED
Jones N RoysterGermanyAnna Fali PROPOSAL
Kaitlin L ChuiBrazilAnna Fali PROPOSAL
Izzy M FerenczGermanyIvan Magalhaes PROPOSAL
Arvin U TollnerArgentinaIoni Bowcher PROPOSAL
Clifford S WhobreyBrazilAnna Fali RENEWAL
Smith L OstroskyRussiaAsiya Javayant RENEWAL
Aruna G FerenczRussiaIoni Bowcher PROPOSAL
Greenwood B ButtBrazilIvan Magalhaes UNQUALIFIED
Munro T FigeroaJapanIoni Bowcher PROPOSAL
Aruna D WhobreyIndiaIoni Bowcher UNQUALIFIED
Emily G MorascaAustraliaOnyama Limba PROPOSAL
Antonio E SergiUnited KingdomStephen Shaw RENEWAL
Faith K MorascaRussiaAmy Elsner UNQUALIFIED
Faith J WieserJapanAmy Elsner PROPOSAL
Murillo V PoquetteItalyOnyama Limba NEGOTIATION
Juan X InouyeSpainIoni Bowcher PROPOSAL
Greenwood G BologniaCanadaAsiya Javayant UNQUALIFIED
Francesco V FollerBrazilOnyama Limba NEGOTIATION
Aruna V WieserSpainElwin Sharvill NEGOTIATION
Octavia I TollnerRussiaOnyama Limba NEGOTIATION
Francesco H RoysterUnited KingdomStephen Shaw PROPOSAL
Octavia H PerinBrazilBernardo Dominic QUALIFIED
Faith J FollerItalyIvan Magalhaes UNQUALIFIED
Emily G MorascaSpainBernardo Dominic RENEWAL

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