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
Adams K SlusarskiItalyAsiya Javayant NEGOTIATION
Emily F KolmetzArgentinaStephen Shaw NEGOTIATION
Jennifer X AmigonGermanyXuxue Feng RENEWAL
Wickens U GlickRussiaIoni Bowcher RENEWAL
Costa J WaycottCanadaAsiya Javayant NEW
Deepesh A DoeIndiaXuxue Feng PROPOSAL
Jefferson Z MacleadAustraliaStephen Shaw NEGOTIATION
Jones M KuskoSpainIoni Bowcher RENEWAL
Kaitlin V OldroydArgentinaStephen Shaw NEW
Jefferson R GlickSpainBernardo Dominic NEW
Darci F InouyeAustraliaElwin Sharvill NEGOTIATION
Silvio L CampainRussiaAnna Fali NEGOTIATION
Aika D SergiItalyXuxue Feng PROPOSAL
David P SchemmerRussiaElwin Sharvill NEW
Smith T AmigonAustraliaXuxue Feng RENEWAL
Murillo K VenereFranceStephen Shaw QUALIFIED
Alejandro J ButtRussiaAnna Fali NEGOTIATION
Ivar E BowleyBrazilAsiya Javayant NEGOTIATION
Arvin P VocelkaIndiaElwin Sharvill UNQUALIFIED
Leon V GlickIndiaBernardo Dominic QUALIFIED
Maisha W MaletIndiaOnyama Limba NEGOTIATION
Stacey W MaletGermanyAsiya Javayant NEW
Stacey I MaletAustraliaElwin Sharvill NEGOTIATION
Mayumi M VenereSpainOnyama Limba NEW
Ivar S RimJapanElwin Sharvill PROPOSAL
Julie L MacleadRussiaAsiya Javayant UNQUALIFIED
Nicolas K PerinItalyBernardo Dominic RENEWAL
Leja C ButtIndiaAsiya Javayant NEW
Salvatore V InouyeJapanAmy Elsner NEW
Wickens Q GillianUnited KingdomAnna Fali PROPOSAL
Deepesh A WhobreyAustraliaIoni Bowcher UNQUALIFIED
Tony C DarakjyJapanBernardo Dominic NEGOTIATION
Greenwood F OldroydSpainBernardo Dominic NEW
Francesco C SergiArgentinaElwin Sharvill UNQUALIFIED
David X ButtAustraliaAnna Fali RENEWAL
Emily M KolmetzCanadaAnna Fali PROPOSAL
James P DarakjyItalyOnyama Limba RENEWAL
Tony T MorascaSpainAsiya Javayant QUALIFIED
Maria M SlusarskiAustraliaAsiya Javayant RENEWAL
Leon W VenereSpainIoni Bowcher PROPOSAL
Ricardo T KolmetzUnited KingdomXuxue Feng PROPOSAL
Ashley B SlusarskiAustraliaXuxue Feng UNQUALIFIED
Faith M DilliardIndiaXuxue Feng RENEWAL
Octavia X RimItalyAsiya Javayant QUALIFIED
Chavez F GauchoUnited KingdomAnna Fali RENEWAL
Sinclair R SlusarskiItalyAnna Fali UNQUALIFIED
Antonio C SergiGermanyStephen Shaw RENEWAL
Jones W WaycottCanadaBernardo Dominic NEW
Juan Q PerinBrazilAnna Fali NEGOTIATION
Clifford T StockhamGermanyIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki E ShinkoSpainAsiya Javayant QUALIFIED
Ivar R BriddickSpainIvan Magalhaes QUALIFIED
Antonio D ChuiAustraliaStephen Shaw QUALIFIED
Rodrigues K PerinUnited KingdomIoni Bowcher PROPOSAL
Sinclair R FerenczBrazilAsiya Javayant UNQUALIFIED
Faith O DilliardJapanIvan Magalhaes UNQUALIFIED
Jones E NickaIndiaIvan Magalhaes PROPOSAL
Maria X PaprockiUnited KingdomXuxue Feng NEGOTIATION
Aika L MaletJapanIvan Magalhaes PROPOSAL
Jennifer E CaudyFranceBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody X KolmetzJapan2026-10-14King, Christopher A Esq UNQUALIFIED76Ivan Magalhaes
1001Cody W StockhamArgentina2026-09-21Buckley Miller Wright UNQUALIFIED18Bernardo Dominic
1002Jefferson J CampainBrazil2026-10-08Morlong Associates PROPOSAL95Elwin Sharvill
1003Octavia B KuskoFrance2026-10-09Chanay, Jeffrey A Esq NEW28Bernardo Dominic
1004Silvio O RoysterSpain2026-09-24Printing Dimensions RENEWAL59Xuxue Feng
1005Deepesh G CaudyArgentina2026-09-25Feltz Printing Service NEGOTIATION4Xuxue Feng
1006Morrow B WaycottArgentina2026-10-11Feiner Bros RENEWAL86Bernardo Dominic
1007David E SergiCanada2026-10-14Dorl, James J Esq PROPOSAL35Elwin Sharvill
1008Smith A MaletIndia2026-09-26Morlong Associates NEGOTIATION40Xuxue Feng
1009Francesco K MacleadRussia2026-10-12Printing Dimensions QUALIFIED40Xuxue Feng
1010Octavia X ChuiArgentina2026-09-28Benton, John B Jr NEGOTIATION6Stephen Shaw
1011Claire T BowleyRussia2026-09-24Truhlar And Truhlar Attys QUALIFIED28Elwin Sharvill
1012Jones E AmigonUnited Kingdom2026-10-12Feltz Printing Service NEW86Stephen Shaw
1013Deepesh I TollnerCanada2026-09-30Buckley Miller Wright QUALIFIED1Xuxue Feng
1014Salvatore Q RulapaughAustralia2026-10-17Rangoni Of Florence QUALIFIED78Bernardo Dominic
1015Isabel N PerinArgentina2026-10-03Benton, John B Jr UNQUALIFIED51Ioni Bowcher
1016Mayumi A FollerRussia2026-10-03Chemel, James L Cpa RENEWAL6Ivan Magalhaes
1017David G PoquetteItaly2026-10-16Chapman, Ross E Esq NEGOTIATION36Amy Elsner
1018Stacey B IturbideBrazil2026-09-27Dorl, James J Esq PROPOSAL89Xuxue Feng
1019Silvio Z RulapaughItaly2026-10-09Dorl, James J Esq NEGOTIATION86Ivan Magalhaes
1020Misaki N InouyeGermany2026-09-29King, Christopher A Esq RENEWAL38Ioni Bowcher
1021Darci D SchemmerCanada2026-10-13Chemel, James L Cpa UNQUALIFIED75Xuxue Feng
1022Francesco B KolmetzAustralia2026-10-15Benton, John B Jr PROPOSAL80Elwin Sharvill
1023Antonio A DarakjyUnited Kingdom2026-10-01Rangoni Of Florence NEGOTIATION48Stephen Shaw
1024Munro J ShinkoArgentina2026-10-19Printing Dimensions RENEWAL76Asiya Javayant
1025Deepesh T BriddickUnited Kingdom2026-10-09King, Christopher A Esq UNQUALIFIED91Bernardo Dominic
1026Smith J MacleadItaly2026-09-30Chemel, James L Cpa QUALIFIED17Ivan Magalhaes
1027Misaki C ShinkoItaly2026-09-22Chanay, Jeffrey A Esq QUALIFIED33Ivan Magalhaes
1028Silvio N IturbideBrazil2026-10-12Commercial Press QUALIFIED11Amy Elsner
1029David K MarrierBrazil2026-10-11King, Christopher A Esq QUALIFIED45Xuxue Feng
1030Costa C RulapaughGermany2026-09-20Printing Dimensions NEW36Amy Elsner
1031Johnson V OstroskyArgentina2026-10-09Rousseaux, Michael Esq UNQUALIFIED5Elwin Sharvill
1032Arvin R NickaCanada2026-10-04Feltz Printing Service RENEWAL33Xuxue Feng
1033Sinclair C CaudySpain2026-09-27Benton, John B Jr UNQUALIFIED54Elwin Sharvill
1034Kaitlin U PaprockiIndia2026-09-25King, Christopher A Esq NEGOTIATION78Xuxue Feng
1035Jefferson F KuskoJapan2026-09-22Chemel, James L Cpa QUALIFIED76Onyama Limba
1036Alejandro F DoeAustralia2026-10-03Rousseaux, Michael Esq UNQUALIFIED67Anna Fali
1037Mayumi K DilliardIndia2026-10-07Printing Dimensions QUALIFIED40Amy Elsner
1038Adams O MacleadBrazil2026-10-08Feltz Printing Service QUALIFIED39Anna Fali
1039Francesco K CaldareraSpain2026-09-22Dorl, James J Esq UNQUALIFIED10Asiya Javayant
1040Claire B NestleAustralia2026-10-13Chanay, Jeffrey A Esq UNQUALIFIED43Ivan Magalhaes
1041Smith K WaycottBrazil2026-10-11Buckley Miller Wright RENEWAL96Bernardo Dominic
1042Tony V TollnerRussia2026-10-08Printing Dimensions NEGOTIATION17Anna Fali
1043Kaitlin V ShinkoCanada2026-10-09Truhlar And Truhlar Attys UNQUALIFIED90Anna Fali
1044Chavez A WieserIndia2026-10-06King, Christopher A Esq NEW20Bernardo Dominic
1045Clifford U FigeroaIndia2026-10-09Chanay, Jeffrey A Esq NEGOTIATION52Ivan Magalhaes
1046Johnson Z FerenczRussia2026-09-25Dorl, James J Esq QUALIFIED66Anna Fali
1047Juan M MacleadArgentina2026-10-18Benton, John B Jr QUALIFIED4Bernardo Dominic
1048Clifford P GarufiItaly2026-09-28Chapman, Ross E Esq UNQUALIFIED10Ivan Magalhaes
1049Aruna U MorascaUnited Kingdom2026-09-30Rousseaux, Michael Esq UNQUALIFIED34Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Costa X WhobreyUnited KingdomStephen Shaw QUALIFIED
Smith I FlosiGermanyAmy Elsner NEW
Juan L CaldareraArgentinaOnyama Limba UNQUALIFIED
Jennifer C IturbideCanadaXuxue Feng QUALIFIED
Maisha O GauchoArgentinaIvan Magalhaes NEGOTIATION
Deepesh Y ButtBrazilIvan Magalhaes QUALIFIED
Mujtaba K VenereUnited KingdomBernardo Dominic NEW
Silvio Q IturbideBrazilAmy Elsner UNQUALIFIED
Aika D GillianAustraliaIoni Bowcher NEW
Juan B DarakjyCanadaAsiya Javayant QUALIFIED
Stacey Z TollnerFranceXuxue Feng UNQUALIFIED
Leon O DilliardArgentinaBernardo Dominic NEGOTIATION
Stacey T GarufiAustraliaIoni Bowcher NEW
Adams Y BologniaRussiaElwin Sharvill NEW
Julie F DilliardCanadaAmy Elsner RENEWAL
Deepesh T MaletGermanyElwin Sharvill UNQUALIFIED
Kadeem I SaylorsBrazilAsiya Javayant RENEWAL
Greenwood S FlosiFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois F ButtGermanyElwin Sharvill QUALIFIED
Isabel G WieserIndiaAmy Elsner RENEWAL
Maria W AlbaresRussiaIvan Magalhaes RENEWAL
Jeanfrancois Z VocelkaJapanAnna Fali NEGOTIATION
Julie U TollnerCanadaIvan Magalhaes UNQUALIFIED
Faith R MacleadArgentinaAmy Elsner RENEWAL
Izzy K GauchoIndiaIoni Bowcher RENEWAL
Adams O BologniaSpainAsiya Javayant PROPOSAL
Adams X SchemmerCanadaIoni Bowcher PROPOSAL
Stacey D PerinUnited KingdomElwin Sharvill RENEWAL
Nicolas I WhobreyUnited KingdomBernardo Dominic RENEWAL
Alejandro P OstroskyCanadaElwin Sharvill NEGOTIATION
Adams J SchemmerSpainStephen Shaw UNQUALIFIED
Murillo N KuskoGermanyBernardo Dominic RENEWAL
Emily P CampainFranceOnyama Limba NEGOTIATION
Ricardo V GarufiItalyIvan Magalhaes RENEWAL
David N WhobreySpainBernardo Dominic NEGOTIATION
Jefferson P GarufiJapanAmy Elsner RENEWAL
Costa M GlickUnited KingdomAsiya Javayant PROPOSAL
Clifford N CaudyUnited KingdomElwin Sharvill NEW
Costa J WaycottBrazilAmy Elsner NEW
Mayumi W RoysterIndiaAnna Fali UNQUALIFIED
Ricardo N RutaAustraliaElwin Sharvill RENEWAL
Emily M MacleadFranceStephen Shaw NEW
Silvio B KolmetzUnited KingdomBernardo Dominic NEW
Clifford A DarakjySpainStephen Shaw PROPOSAL
Jones D WhobreyBrazilAnna Fali PROPOSAL
Ivar Y GauchoAustraliaXuxue Feng UNQUALIFIED
David T KuskoCanadaAnna Fali QUALIFIED
Sinclair U CampainUnited KingdomIvan Magalhaes NEGOTIATION
Isabel Y RulapaughIndiaBernardo Dominic RENEWAL
David U RulapaughGermanyAmy Elsner NEGOTIATION
Frozen Columns
Name
Juan Z Oldroyd
Ivar G Butt
Darci W Royster
Tony Z Bowley
Chavez J Schemmer
Ashley Z Foller
Isabel Z Amigon
Cody B Slusarski
Leja C Paprocki
Francesco D Gillian
Nicolas I Briddick
Rodrigues Z Chui
Aika E Oldroyd
Leon D Flosi
Wickens R Perin
Maria B Caldarera
Darci X Caudy
Aruna K Gillian
Octavia T Kusko
Octavia C Figeroa
Jennifer D Ruta
Claire T Morasca
Francesco P Briddick
Morrow M Perin
Sinclair T Stockham
Rodrigues Z Iturbide
Silvio O Kusko
Aika L Doe
Maisha F Stenseth
Isabel D Slusarski
Jefferson A Stenseth
Aditya G Doe
Darci W Kusko
Jones N Albares
Leon H Figeroa
Chavez Y Caudy
David L Rim
Mayumi C Campain
Wickens Y Foller
Tony P Schemmer
Ashley S Darakjy
Octavia T Kolmetz
Isabel X Marrier
Morrow G Nestle
Deepesh I Caudy
Kadeem I Oldroyd
Clifford N Kolmetz
Chavez A Waycott
Alejandro T Waycott
Kaitlin V Marrier
IdCountryDate
1000Germany2026-09-24
1001Russia2026-10-05
1002France2026-10-06
1003Argentina2026-09-22
1004Brazil2026-10-09
1005Russia2026-10-03
1006Argentina2026-10-14
1007Germany2026-10-10
1008Germany2026-10-18
1009Brazil2026-09-24
1010France2026-09-28
1011Japan2026-10-15
1012United Kingdom2026-10-01
1013United Kingdom2026-09-28
1014United Kingdom2026-09-20
1015Japan2026-09-24
1016India2026-10-05
1017Canada2026-10-01
1018Japan2026-10-12
1019Canada2026-09-25
1020Argentina2026-09-29
1021India2026-10-19
1022Italy2026-09-20
1023Canada2026-10-04
1024United Kingdom2026-10-03
1025Argentina2026-09-27
1026India2026-10-16
1027Germany2026-10-02
1028Russia2026-09-23
1029United Kingdom2026-10-08
1030Argentina2026-10-05
1031Germany2026-09-30
1032India2026-09-28
1033Japan2026-10-14
1034Germany2026-09-24
1035United Kingdom2026-10-15
1036Spain2026-09-22
1037India2026-09-23
1038Argentina2026-09-29
1039Russia2026-09-30
1040Canada2026-10-08
1041Spain2026-10-11
1042Canada2026-10-01
1043Australia2026-10-06
1044Russia2026-09-29
1045Italy2026-10-10
1046United Kingdom2026-09-30
1047United Kingdom2026-10-19
1048Japan2026-10-02
1049India2026-09-21

On-Demand Data

NameIdCountryDate
Smith E Venere1000Spain2026-10-12
Antonio N Foller1001Japan2026-10-04
Julie T Slusarski1002Brazil2026-10-02
Jones S Albares1003Russia2026-09-29
Jeanfrancois E Stenseth1004Brazil2026-10-19
Mayumi C Campain1005Russia2026-09-30
Adams V Maclead1006Italy2026-10-08
Darci K Morasca1007United Kingdom2026-10-11
Cody P Stockham1008Japan2026-10-03
Leon O Ruta1009Germany2026-10-10
Sinclair X Nicka1010Japan2026-09-30
Izzy A Paprocki1011Germany2026-09-20
Aruna M Poquette1012Spain2026-10-17
Salvatore J Campain1013France2026-09-26
Mujtaba H Shinko1014Japan2026-10-17
Smith Z Sergi1015Italy2026-09-21
Leon U Wieser1016Russia2026-10-07
Aditya F Whobrey1017Germany2026-10-16
Silvio N Paprocki1018Italy2026-10-13
Alejandro F Maclead1019Argentina2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro T NestleJapanAmy Elsner PROPOSAL
Chavez L AlbaresFranceIvan Magalhaes NEGOTIATION
Aditya A AlbaresFranceOnyama Limba UNQUALIFIED
Costa W PerinJapanOnyama Limba NEW
Tony P AmigonRussiaOnyama Limba UNQUALIFIED
Costa G PoquetteIndiaIvan Magalhaes UNQUALIFIED
David M BologniaRussiaAsiya Javayant QUALIFIED
Antonio X AmigonFranceXuxue Feng UNQUALIFIED
Smith B OldroydCanadaAsiya Javayant NEW
Greenwood Q BriddickRussiaIvan Magalhaes NEGOTIATION
Cody U MacleadJapanAnna Fali NEGOTIATION
Aika Q RulapaughCanadaIvan Magalhaes QUALIFIED
Julie M MaletItalyBernardo Dominic QUALIFIED
Kadeem V MaletArgentinaBernardo Dominic RENEWAL
Jones M MarrierGermanyStephen Shaw NEGOTIATION
Morrow R VenereGermanyAnna Fali NEGOTIATION
Maria F WhobreyCanadaIvan Magalhaes QUALIFIED
Chavez I SlusarskiGermanyAmy Elsner PROPOSAL
Murillo U CaudyUnited KingdomIvan Magalhaes RENEWAL
Jefferson F FerenczCanadaAmy Elsner NEGOTIATION
Maisha D MaletAustraliaBernardo Dominic RENEWAL
Arvin Z WaycottUnited KingdomXuxue Feng NEGOTIATION
Adams F SchemmerGermanyElwin Sharvill NEGOTIATION
Johnson H StensethGermanyAnna Fali PROPOSAL
Kaitlin F RoysterBrazilAmy Elsner NEGOTIATION
Johnson T GarufiFranceOnyama Limba NEGOTIATION
Silvio B FollerGermanyIoni Bowcher NEW
Tony G DarakjyArgentinaXuxue Feng QUALIFIED
Mujtaba H MaletSpainXuxue Feng UNQUALIFIED
Deepesh H GauchoSpainElwin Sharvill PROPOSAL
Misaki F PoquetteSpainXuxue Feng UNQUALIFIED
Adams E FollerGermanyIvan Magalhaes PROPOSAL
Francesco R WieserCanadaBernardo Dominic NEW
Munro K RoysterCanadaBernardo Dominic RENEWAL
Juan M MorascaIndiaStephen Shaw PROPOSAL
James P GauchoSpainOnyama Limba PROPOSAL
Chavez L CaldareraBrazilAmy Elsner NEW
Mujtaba B SlusarskiIndiaOnyama Limba UNQUALIFIED
Jefferson H SaylorsAustraliaStephen Shaw NEW
Jeanfrancois Z FerenczJapanAsiya Javayant PROPOSAL

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