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
Ivar L GlickIndiaAnna Fali RENEWAL
Tony U CampainBrazilOnyama Limba NEGOTIATION
Aruna B GarufiRussiaIoni Bowcher NEGOTIATION
Faith X OldroydSpainIoni Bowcher NEW
Nicolas Z FlosiJapanXuxue Feng PROPOSAL
Cody U KuskoJapanXuxue Feng NEW
Munro R VenereFranceAmy Elsner UNQUALIFIED
Silvio E BriddickSpainAsiya Javayant QUALIFIED
Isabel T DoeFranceBernardo Dominic RENEWAL
Mayumi X CaldareraGermanyAmy Elsner PROPOSAL
Adams S VocelkaUnited KingdomAsiya Javayant QUALIFIED
Ricardo A GillianBrazilIvan Magalhaes PROPOSAL
Munro H SaylorsJapanIoni Bowcher NEW
David J PerinCanadaStephen Shaw QUALIFIED
Murillo O PoquetteUnited KingdomAsiya Javayant QUALIFIED
Rodrigues C InouyeAustraliaOnyama Limba PROPOSAL
Smith M DilliardSpainElwin Sharvill QUALIFIED
Deepesh V PoquetteAustraliaStephen Shaw UNQUALIFIED
Jennifer P RutaFranceAnna Fali PROPOSAL
Kaitlin U SchemmerUnited KingdomBernardo Dominic NEGOTIATION
Silvio D RutaUnited KingdomStephen Shaw PROPOSAL
James J RulapaughBrazilStephen Shaw NEGOTIATION
Sinclair H OldroydBrazilBernardo Dominic PROPOSAL
Wickens N RimSpainBernardo Dominic QUALIFIED
Misaki H GarufiBrazilBernardo Dominic RENEWAL
Francesco Y MarrierArgentinaAsiya Javayant NEW
Darci S PoquetteUnited KingdomOnyama Limba QUALIFIED
Mujtaba D StockhamIndiaIvan Magalhaes PROPOSAL
Clifford T GillianBrazilIvan Magalhaes PROPOSAL
Faith U AmigonIndiaAsiya Javayant UNQUALIFIED
Francesco W VocelkaRussiaAsiya Javayant NEGOTIATION
Octavia K DilliardArgentinaElwin Sharvill UNQUALIFIED
Maisha M CaudyFranceAmy Elsner PROPOSAL
Isabel D RutaIndiaElwin Sharvill QUALIFIED
Clifford L GlickFranceBernardo Dominic UNQUALIFIED
Jones T PerinCanadaAmy Elsner UNQUALIFIED
Tony Q CampainUnited KingdomAnna Fali NEGOTIATION
Octavia M FlosiUnited KingdomAsiya Javayant RENEWAL
Tony F CampainFranceIoni Bowcher UNQUALIFIED
David T SergiSpainOnyama Limba QUALIFIED
Ashley G ButtArgentinaXuxue Feng QUALIFIED
Alejandro K NickaFranceXuxue Feng UNQUALIFIED
Leon B BologniaArgentinaIoni Bowcher NEW
Rodrigues T SlusarskiIndiaIoni Bowcher NEGOTIATION
Johnson E PaprockiRussiaBernardo Dominic NEGOTIATION
Sinclair B NickaRussiaBernardo Dominic NEGOTIATION
Kadeem H CampainAustraliaElwin Sharvill PROPOSAL
Sinclair H ButtGermanyOnyama Limba QUALIFIED
Adams X MacleadIndiaIoni Bowcher UNQUALIFIED
Ashley S DarakjyGermanyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba T ButtUnited KingdomIvan Magalhaes NEGOTIATION
Wickens U GauchoCanadaIvan Magalhaes NEGOTIATION
Emily K CaudyItalyAsiya Javayant NEGOTIATION
Jeanfrancois J GarufiGermanyXuxue Feng NEW
Mujtaba U SlusarskiAustraliaAsiya Javayant NEGOTIATION
Jones R FigeroaFranceIoni Bowcher NEGOTIATION
Clifford V AlbaresIndiaIoni Bowcher UNQUALIFIED
Antonio D ButtIndiaBernardo Dominic NEW
Alejandro X NestleItalyOnyama Limba RENEWAL
Chavez S NestleSpainOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie N MarrierCanada2026-10-29Chemel, James L Cpa RENEWAL39Bernardo Dominic
1001Kaitlin P SaylorsIndia2026-11-03Feltz Printing Service UNQUALIFIED22Ivan Magalhaes
1002Leja B FollerFrance2026-11-12Benton, John B Jr NEGOTIATION0Elwin Sharvill
1003Izzy T NestleIndia2026-10-20Feiner Bros UNQUALIFIED19Asiya Javayant
1004Nicolas U KolmetzIndia2026-10-29Chanay, Jeffrey A Esq QUALIFIED53Anna Fali
1005Chavez U VocelkaFrance2026-10-19Feltz Printing Service PROPOSAL57Bernardo Dominic
1006Morrow B VocelkaGermany2026-10-23Printing Dimensions NEW64Ioni Bowcher
1007Alejandro T KolmetzUnited Kingdom2026-10-27King, Christopher A Esq RENEWAL22Xuxue Feng
1008Ivar C DarakjyFrance2026-10-18Commercial Press UNQUALIFIED24Bernardo Dominic
1009Sinclair B BriddickIndia2026-10-25Feltz Printing Service RENEWAL41Xuxue Feng
1010Octavia M MaletJapan2026-11-07Feiner Bros UNQUALIFIED56Elwin Sharvill
1011Greenwood A PaprockiCanada2026-10-18Dorl, James J Esq PROPOSAL65Asiya Javayant
1012Aika P CampainRussia2026-10-20Rangoni Of Florence PROPOSAL7Stephen Shaw
1013Leon Q AlbaresFrance2026-11-03King, Christopher A Esq NEW24Ivan Magalhaes
1014Greenwood K DilliardIndia2026-11-10King, Christopher A Esq RENEWAL21Anna Fali
1015Julie X OstroskyFrance2026-11-03Feiner Bros QUALIFIED68Onyama Limba
1016Arvin L RutaSpain2026-11-07King, Christopher A Esq RENEWAL4Anna Fali
1017Maria P BriddickJapan2026-11-04Rousseaux, Michael Esq UNQUALIFIED60Stephen Shaw
1018Faith N WhobreyUnited Kingdom2026-10-22Chemel, James L Cpa QUALIFIED71Anna Fali
1019Aruna W FollerIndia2026-10-29Benton, John B Jr PROPOSAL61Bernardo Dominic
1020Darci D WieserSpain2026-10-15Morlong Associates NEW74Bernardo Dominic
1021Adams X SlusarskiBrazil2026-10-15Rousseaux, Michael Esq RENEWAL91Ivan Magalhaes
1022Silvio P PaprockiFrance2026-10-24King, Christopher A Esq RENEWAL18Amy Elsner
1023Clifford S NestleSpain2026-10-28Feltz Printing Service NEGOTIATION49Xuxue Feng
1024Sinclair Z AmigonUnited Kingdom2026-10-28King, Christopher A Esq NEW79Elwin Sharvill
1025Nicolas Z FlosiFrance2026-10-30Buckley Miller Wright PROPOSAL40Asiya Javayant
1026Salvatore E MaletBrazil2026-11-06Rangoni Of Florence NEGOTIATION77Anna Fali
1027Misaki U SaylorsCanada2026-10-31Chemel, James L Cpa NEGOTIATION68Anna Fali
1028Johnson A WaycottJapan2026-10-30Chapman, Ross E Esq NEW85Onyama Limba
1029Johnson I PerinAustralia2026-11-06Benton, John B Jr RENEWAL37Ioni Bowcher
1030Costa I PoquetteIndia2026-10-20Chemel, James L Cpa NEW69Asiya Javayant
1031Jeanfrancois M PaprockiRussia2026-11-01Chemel, James L Cpa RENEWAL76Ivan Magalhaes
1032Ashley D KolmetzFrance2026-11-02Benton, John B Jr NEW73Ioni Bowcher
1033Ivar M SchemmerUnited Kingdom2026-10-19King, Christopher A Esq NEW36Stephen Shaw
1034Kaitlin A RulapaughArgentina2026-11-05Feltz Printing Service UNQUALIFIED75Xuxue Feng
1035Francesco F VocelkaJapan2026-11-10Rangoni Of Florence PROPOSAL80Bernardo Dominic
1036Kaitlin R RimJapan2026-11-10Printing Dimensions RENEWAL39Elwin Sharvill
1037Arvin Z BowleyGermany2026-11-06King, Christopher A Esq PROPOSAL52Elwin Sharvill
1038Aika Z StensethRussia2026-10-19Chapman, Ross E Esq QUALIFIED36Ioni Bowcher
1039Sinclair G IturbideJapan2026-10-19Benton, John B Jr NEW98Bernardo Dominic
1040Jones Q SlusarskiJapan2026-10-21Truhlar And Truhlar Attys RENEWAL30Xuxue Feng
1041Sinclair Q NickaFrance2026-10-30Feltz Printing Service NEW67Ioni Bowcher
1042Clifford Y CampainJapan2026-10-21Chanay, Jeffrey A Esq RENEWAL53Amy Elsner
1043Sinclair V SergiCanada2026-11-05Chapman, Ross E Esq PROPOSAL19Ioni Bowcher
1044Wickens L VenereCanada2026-11-08Feiner Bros PROPOSAL22Anna Fali
1045Maisha D FerenczJapan2026-11-01Truhlar And Truhlar Attys NEGOTIATION46Ivan Magalhaes
1046Kadeem F OldroydFrance2026-10-19Feiner Bros NEW43Anna Fali
1047Cody B OldroydBrazil2026-10-18Truhlar And Truhlar Attys PROPOSAL38Onyama Limba
1048Leon Q StockhamUnited Kingdom2026-10-25Chemel, James L Cpa NEGOTIATION47Anna Fali
1049Stacey V CampainIndia2026-10-17Dorl, James J Esq UNQUALIFIED23Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Alejandro W GarufiIndiaAsiya Javayant RENEWAL
Salvatore R MaletSpainAnna Fali NEW
Julie U ButtJapanIoni Bowcher RENEWAL
Mayumi A RulapaughGermanyXuxue Feng NEGOTIATION
Misaki I GillianBrazilBernardo Dominic NEGOTIATION
Alejandro W PoquetteAustraliaStephen Shaw NEGOTIATION
Leja Q RutaIndiaOnyama Limba QUALIFIED
Isabel J GillianCanadaXuxue Feng NEGOTIATION
Chavez U BologniaFranceElwin Sharvill PROPOSAL
Wickens C StensethAustraliaAnna Fali QUALIFIED
Stacey Y RimAustraliaAsiya Javayant QUALIFIED
Alejandro V ShinkoUnited KingdomAmy Elsner PROPOSAL
Leja W RutaBrazilStephen Shaw QUALIFIED
Chavez O RoysterRussiaOnyama Limba NEW
Jones H FerenczFranceBernardo Dominic UNQUALIFIED
Deepesh T DoeGermanyIoni Bowcher QUALIFIED
Greenwood F SchemmerAustraliaStephen Shaw UNQUALIFIED
Kaitlin L MaletBrazilAsiya Javayant PROPOSAL
Silvio F MorascaRussiaBernardo Dominic NEW
Costa N StensethIndiaIvan Magalhaes UNQUALIFIED
Claire Y RutaJapanIvan Magalhaes PROPOSAL
Leja C FollerRussiaAmy Elsner RENEWAL
Ashley W GlickItalyAsiya Javayant NEGOTIATION
Isabel T OldroydRussiaBernardo Dominic PROPOSAL
Arvin P PoquetteBrazilElwin Sharvill PROPOSAL
Mayumi I InouyeGermanyIvan Magalhaes PROPOSAL
Kaitlin Z RimFranceBernardo Dominic UNQUALIFIED
Wickens T CaldareraItalyAmy Elsner UNQUALIFIED
Octavia K BologniaAustraliaAmy Elsner UNQUALIFIED
Maisha Q BowleyCanadaAnna Fali RENEWAL
Johnson N BowleyBrazilIvan Magalhaes PROPOSAL
Francesco V SaylorsGermanyElwin Sharvill UNQUALIFIED
Octavia E VocelkaUnited KingdomXuxue Feng NEGOTIATION
Cody B GauchoBrazilAmy Elsner PROPOSAL
Ivar D PerinItalyIoni Bowcher NEGOTIATION
Costa B PerinGermanyAsiya Javayant NEW
Aruna G SaylorsFranceAsiya Javayant NEGOTIATION
Stacey N GlickGermanyStephen Shaw PROPOSAL
Chavez L ChuiGermanyAnna Fali UNQUALIFIED
Darci K TollnerUnited KingdomAmy Elsner PROPOSAL
Ashley O SaylorsItalyAsiya Javayant UNQUALIFIED
Aika B StensethCanadaElwin Sharvill NEGOTIATION
Costa Q StensethUnited KingdomOnyama Limba NEW
Mujtaba Y FollerGermanyAsiya Javayant NEW
Leon A PaprockiBrazilAsiya Javayant UNQUALIFIED
Silvio C ButtJapanOnyama Limba QUALIFIED
Claire B SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Munro N ButtCanadaBernardo Dominic PROPOSAL
Arvin Y KolmetzCanadaAsiya Javayant NEGOTIATION
Silvio A MarrierUnited KingdomBernardo Dominic PROPOSAL
Frozen Columns
Name
Deepesh S Stenseth
Emily Q Rim
Stacey O Shinko
Aika H Amigon
Isabel G Gillian
Leon V Sergi
Adams N Oldroyd
Ashley R Campain
Silvio M Nestle
Isabel W Shinko
Emily J Campain
Adams V Nestle
Wickens T Kolmetz
Claire M Figeroa
Chavez E Briddick
Leja A Iturbide
Octavia A Waycott
Greenwood L Kusko
Leja B Ruta
Jones M Inouye
Adams J Flosi
Ashley E Iturbide
Deepesh D Bolognia
Jones N Vocelka
Smith C Garufi
Isabel C Oldroyd
Jones U Wieser
Chavez Z Butt
Aditya Q Slusarski
Smith D Sergi
Cody P Kusko
Wickens Z Ferencz
Adams F Royster
Ivar T Venere
Tony D Tollner
Mayumi Q Tollner
Jeanfrancois D Schemmer
Francesco N Figeroa
Cody Y Gaucho
Francesco S Saylors
Izzy S Kusko
Nicolas I Sergi
Greenwood I Venere
Adams P Ruta
Costa T Dilliard
Jeanfrancois G Nicka
Smith S Flosi
Morrow C Perin
Murillo Q Kusko
Kaitlin E Kolmetz
IdCountryDate
1000Brazil2026-11-10
1001Germany2026-10-26
1002India2026-10-24
1003Argentina2026-10-29
1004United Kingdom2026-11-02
1005Australia2026-10-30
1006Australia2026-10-25
1007Brazil2026-10-27
1008France2026-10-31
1009United Kingdom2026-10-18
1010Brazil2026-10-27
1011Italy2026-11-09
1012Italy2026-11-02
1013Canada2026-10-14
1014Spain2026-10-21
1015Canada2026-11-01
1016United Kingdom2026-11-05
1017Germany2026-11-11
1018Russia2026-10-18
1019France2026-10-18
1020Italy2026-10-26
1021Germany2026-11-10
1022France2026-10-15
1023India2026-10-15
1024Italy2026-11-05
1025Russia2026-10-20
1026Spain2026-10-29
1027Japan2026-10-30
1028Australia2026-10-16
1029United Kingdom2026-11-02
1030Canada2026-11-07
1031Japan2026-11-04
1032Brazil2026-10-20
1033Australia2026-11-09
1034Germany2026-11-12
1035Japan2026-10-31
1036Italy2026-10-25
1037India2026-10-14
1038Brazil2026-10-25
1039India2026-11-05
1040Argentina2026-10-30
1041Germany2026-10-31
1042India2026-11-03
1043Argentina2026-10-25
1044Spain2026-11-09
1045Argentina2026-10-18
1046Australia2026-10-24
1047Australia2026-11-11
1048India2026-10-26
1049France2026-10-16

On-Demand Data

NameIdCountryDate
Jennifer J Dilliard1000Australia2026-10-22
Arvin K Saylors1001Germany2026-10-29
Izzy N Oldroyd1002Spain2026-11-07
Mayumi A Campain1003Canada2026-10-23
Tony E Oldroyd1004Spain2026-11-08
Salvatore E Wieser1005Brazil2026-11-06
Chavez J Gillian1006France2026-10-26
Greenwood R Dilliard1007India2026-10-21
Salvatore I Perin1008France2026-11-10
Ricardo V Albares1009Russia2026-11-10
Jefferson C Garufi1010Italy2026-10-29
Kaitlin W Waycott1011Germany2026-10-18
Maria W Wieser1012Japan2026-10-29
Juan K Wieser1013Italy2026-10-23
Wickens Q Inouye1014India2026-11-04
Jones L Ferencz1015India2026-10-30
Wickens N Bowley1016Brazil2026-11-01
Clifford E Bowley1017Canada2026-11-08
Johnson Q Tollner1018Argentina2026-10-19
Greenwood B Oldroyd1019Spain2026-11-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer E FerenczItalyIvan Magalhaes NEGOTIATION
Deepesh E OldroydFranceBernardo Dominic UNQUALIFIED
Claire V KuskoItalyStephen Shaw NEGOTIATION
Ivar V RimItalyElwin Sharvill PROPOSAL
Greenwood K WhobreyFranceIvan Magalhaes UNQUALIFIED
Aika U DoeGermanyIvan Magalhaes NEGOTIATION
Maria H MacleadIndiaStephen Shaw PROPOSAL
David H RimFranceStephen Shaw UNQUALIFIED
Leja U MaletUnited KingdomIvan Magalhaes PROPOSAL
James H FerenczIndiaIvan Magalhaes UNQUALIFIED
Octavia T MacleadAustraliaStephen Shaw QUALIFIED
Juan K AlbaresFranceElwin Sharvill PROPOSAL
Alejandro R WhobreyIndiaBernardo Dominic RENEWAL
James M SlusarskiGermanyBernardo Dominic RENEWAL
Kaitlin Y FlosiJapanElwin Sharvill NEW
Smith K RutaJapanBernardo Dominic NEGOTIATION
Smith Z WhobreyAustraliaOnyama Limba PROPOSAL
Aruna L CaldareraCanadaXuxue Feng RENEWAL
Munro P MorascaIndiaAsiya Javayant NEGOTIATION
Munro A MarrierRussiaAmy Elsner RENEWAL
Maisha P PerinArgentinaBernardo Dominic PROPOSAL
Kaitlin V RutaItalyXuxue Feng QUALIFIED
Kaitlin F InouyeBrazilAnna Fali NEW
Ivar R SaylorsIndiaBernardo Dominic QUALIFIED
Antonio L WhobreyBrazilIvan Magalhaes QUALIFIED
Munro X NestleBrazilAmy Elsner QUALIFIED
Johnson F GarufiArgentinaAnna Fali QUALIFIED
Silvio Q FlosiSpainXuxue Feng NEGOTIATION
Ashley R OstroskyGermanyIoni Bowcher NEGOTIATION
Izzy O MacleadItalyXuxue Feng UNQUALIFIED
Wickens I FlosiJapanXuxue Feng NEW
Salvatore S CaudyItalyStephen Shaw NEW
Morrow Q ShinkoUnited KingdomBernardo Dominic PROPOSAL
Wickens B GarufiGermanyIvan Magalhaes RENEWAL
Claire X RutaSpainIoni Bowcher RENEWAL
Leja Q CaldareraGermanyStephen Shaw PROPOSAL
Rodrigues P BriddickFranceAmy Elsner NEGOTIATION
Leja H FlosiFranceOnyama Limba PROPOSAL
Salvatore C FigeroaRussiaAnna Fali NEW
Sinclair I ButtFranceAnna Fali QUALIFIED

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