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
Costa B BowleyJapanIvan Magalhaes PROPOSAL
Ivar S AmigonJapanAsiya Javayant RENEWAL
Arvin U ChuiGermanyElwin Sharvill NEGOTIATION
Munro E RoysterCanadaAnna Fali RENEWAL
Ricardo K NestleIndiaAmy Elsner NEGOTIATION
Munro D WieserCanadaAnna Fali UNQUALIFIED
Silvio W WhobreyGermanyIoni Bowcher UNQUALIFIED
Wickens F CampainSpainIvan Magalhaes QUALIFIED
Morrow H StensethSpainBernardo Dominic PROPOSAL
Ivar Z MacleadJapanIoni Bowcher NEGOTIATION
Tony S NestleArgentinaAmy Elsner PROPOSAL
Izzy S RoysterIndiaAsiya Javayant UNQUALIFIED
Ivar H MaletBrazilAmy Elsner PROPOSAL
Clifford E WaycottIndiaOnyama Limba QUALIFIED
Aruna D GillianIndiaAsiya Javayant PROPOSAL
James A BologniaGermanyElwin Sharvill PROPOSAL
Silvio U FlosiSpainAsiya Javayant RENEWAL
Nicolas Z MarrierSpainIoni Bowcher RENEWAL
Izzy M ShinkoSpainAmy Elsner QUALIFIED
Johnson W WieserGermanyAsiya Javayant NEW
Claire I RutaItalyIoni Bowcher NEGOTIATION
Darci Y KolmetzSpainIoni Bowcher NEW
Chavez Y StockhamCanadaElwin Sharvill NEW
Mujtaba R DilliardArgentinaAmy Elsner QUALIFIED
Misaki O WieserSpainAsiya Javayant NEGOTIATION
Mujtaba T SlusarskiFranceBernardo Dominic QUALIFIED
Jennifer Z RutaUnited KingdomElwin Sharvill PROPOSAL
Aruna W RimItalyIoni Bowcher NEGOTIATION
Misaki L FerenczBrazilOnyama Limba QUALIFIED
Greenwood H WaycottBrazilAmy Elsner NEW
Misaki E MaletGermanyStephen Shaw UNQUALIFIED
Julie L StockhamRussiaAmy Elsner RENEWAL
Aditya E FigeroaSpainStephen Shaw QUALIFIED
Jennifer K NickaAustraliaAsiya Javayant QUALIFIED
David U FigeroaBrazilAmy Elsner QUALIFIED
Jennifer X AlbaresSpainAsiya Javayant NEW
Smith M SlusarskiGermanyOnyama Limba PROPOSAL
Julie V NestleJapanStephen Shaw RENEWAL
Jones G BowleyRussiaAnna Fali NEGOTIATION
Misaki B BologniaIndiaIoni Bowcher NEGOTIATION
Kadeem Q SlusarskiIndiaBernardo Dominic PROPOSAL
Smith O SlusarskiIndiaAsiya Javayant RENEWAL
Antonio V ChuiFranceElwin Sharvill QUALIFIED
Ivar Z WieserIndiaAnna Fali NEW
Kaitlin B VocelkaSpainAnna Fali NEW
Clifford S NickaSpainAnna Fali NEW
Jones V NestleItalyStephen Shaw QUALIFIED
Aika Q AlbaresFranceAsiya Javayant NEGOTIATION
Wickens Z MaletJapanXuxue Feng UNQUALIFIED
Mujtaba K SlusarskiBrazilOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Maria B RoysterRussiaAsiya Javayant NEGOTIATION
Claire E KuskoUnited KingdomOnyama Limba NEGOTIATION
Adams U MacleadGermanyAsiya Javayant QUALIFIED
Tony F CaldareraUnited KingdomXuxue Feng RENEWAL
Maria T KolmetzIndiaAmy Elsner RENEWAL
Leon I NestleBrazilAnna Fali QUALIFIED
Leon F RulapaughGermanyBernardo Dominic NEGOTIATION
Jefferson V StockhamBrazilOnyama Limba RENEWAL
Greenwood M AmigonIndiaAmy Elsner QUALIFIED
Murillo V BowleyUnited KingdomXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody O BologniaGermany2026-10-02Chanay, Jeffrey A Esq PROPOSAL89Onyama Limba
1001James I CaldareraCanada2026-10-08Chemel, James L Cpa UNQUALIFIED68Ioni Bowcher
1002Jennifer U SergiAustralia2026-10-13Feiner Bros NEW66Onyama Limba
1003Chavez Y StockhamArgentina2026-09-29Chapman, Ross E Esq UNQUALIFIED63Ivan Magalhaes
1004Mayumi I WaycottGermany2026-10-06Printing Dimensions PROPOSAL86Bernardo Dominic
1005Aika P RulapaughArgentina2026-10-10Buckley Miller Wright NEW83Bernardo Dominic
1006David M PaprockiRussia2026-10-16Truhlar And Truhlar Attys NEW13Amy Elsner
1007Johnson T MarrierCanada2026-10-08Dorl, James J Esq QUALIFIED58Amy Elsner
1008Misaki D RoysterArgentina2026-10-26Buckley Miller Wright PROPOSAL77Bernardo Dominic
1009Francesco G WaycottJapan2026-10-07Rousseaux, Michael Esq QUALIFIED68Bernardo Dominic
1010Antonio F AlbaresItaly2026-10-26Chemel, James L Cpa UNQUALIFIED42Amy Elsner
1011Chavez M VenereSpain2026-10-02Rousseaux, Michael Esq PROPOSAL90Xuxue Feng
1012Silvio C FollerSpain2026-10-15Benton, John B Jr QUALIFIED45Bernardo Dominic
1013James P BologniaAustralia2026-10-08Printing Dimensions RENEWAL42Xuxue Feng
1014Julie T MorascaIndia2026-10-09King, Christopher A Esq NEGOTIATION66Bernardo Dominic
1015Claire Z VenereSpain2026-10-21Chemel, James L Cpa NEGOTIATION81Amy Elsner
1016Claire G BowleyGermany2026-10-14Chemel, James L Cpa QUALIFIED55Amy Elsner
1017Jones I StockhamItaly2026-10-01Rangoni Of Florence PROPOSAL50Elwin Sharvill
1018Jones O SchemmerUnited Kingdom2026-10-23Benton, John B Jr RENEWAL69Ioni Bowcher
1019Mayumi F WaycottRussia2026-10-19Rangoni Of Florence QUALIFIED89Bernardo Dominic
1020Juan Q WhobreyJapan2026-09-28Feltz Printing Service QUALIFIED32Ivan Magalhaes
1021Faith M RutaAustralia2026-09-30Chanay, Jeffrey A Esq NEW75Amy Elsner
1022Emily B RimAustralia2026-10-08Printing Dimensions RENEWAL55Stephen Shaw
1023Jeanfrancois W NestleBrazil2026-09-28Morlong Associates RENEWAL56Anna Fali
1024Deepesh U GillianItaly2026-10-26Feltz Printing Service NEGOTIATION26Elwin Sharvill
1025Murillo X WieserArgentina2026-09-29Morlong Associates QUALIFIED22Anna Fali
1026Aika B AlbaresItaly2026-10-03Feiner Bros NEW54Ioni Bowcher
1027Deepesh S CaldareraGermany2026-10-02Rangoni Of Florence QUALIFIED60Onyama Limba
1028Antonio X GauchoUnited Kingdom2026-10-16King, Christopher A Esq QUALIFIED5Amy Elsner
1029Silvio D WhobreyArgentina2026-10-16Morlong Associates PROPOSAL23Xuxue Feng
1030Clifford T ButtCanada2026-10-02Feltz Printing Service NEW96Asiya Javayant
1031Smith X OstroskyUnited Kingdom2026-09-29Chanay, Jeffrey A Esq NEGOTIATION9Elwin Sharvill
1032Smith I CampainCanada2026-10-22Rousseaux, Michael Esq NEW1Elwin Sharvill
1033Jennifer V GlickGermany2026-10-15Dorl, James J Esq NEGOTIATION83Ivan Magalhaes
1034Sinclair L WaycottUnited Kingdom2026-10-20Rousseaux, Michael Esq NEW58Ioni Bowcher
1035Kaitlin G AlbaresArgentina2026-10-17Feiner Bros UNQUALIFIED36Onyama Limba
1036Nicolas Q CampainCanada2026-10-03Benton, John B Jr RENEWAL50Bernardo Dominic
1037Morrow C BologniaCanada2026-10-10Chemel, James L Cpa RENEWAL2Anna Fali
1038Claire I StensethFrance2026-10-11Buckley Miller Wright NEW90Ioni Bowcher
1039Alejandro K VenereFrance2026-10-12Feltz Printing Service NEGOTIATION18Anna Fali
1040Julie W NestleBrazil2026-10-24Chemel, James L Cpa NEGOTIATION78Ioni Bowcher
1041Aruna E TollnerCanada2026-10-08Feltz Printing Service QUALIFIED47Bernardo Dominic
1042Mujtaba K BriddickUnited Kingdom2026-09-28Chanay, Jeffrey A Esq RENEWAL99Onyama Limba
1043Ivar Z ShinkoUnited Kingdom2026-10-06Printing Dimensions UNQUALIFIED55Ivan Magalhaes
1044Aruna N SlusarskiUnited Kingdom2026-10-24Commercial Press PROPOSAL75Ivan Magalhaes
1045Kadeem F ChuiSpain2026-10-06Feltz Printing Service PROPOSAL27Anna Fali
1046Ashley I OldroydJapan2026-10-03Printing Dimensions PROPOSAL54Stephen Shaw
1047Adams R AmigonJapan2026-10-21Rousseaux, Michael Esq NEGOTIATION24Ioni Bowcher
1048Maisha R DarakjyGermany2026-10-16Rangoni Of Florence PROPOSAL88Elwin Sharvill
1049Johnson M BologniaJapan2026-10-16Printing Dimensions QUALIFIED82Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Faith Y PaprockiIndiaElwin Sharvill QUALIFIED
Silvio Q IturbideIndiaAsiya Javayant NEGOTIATION
Faith U MaletCanadaBernardo Dominic NEGOTIATION
Emily M ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Silvio J VenereSpainIoni Bowcher NEGOTIATION
Alejandro W RulapaughBrazilIvan Magalhaes UNQUALIFIED
Jefferson U RutaUnited KingdomElwin Sharvill QUALIFIED
Morrow L MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Arvin R NickaSpainIvan Magalhaes UNQUALIFIED
Francesco U GauchoItalyOnyama Limba QUALIFIED
Murillo J SaylorsSpainOnyama Limba NEGOTIATION
Izzy I FlosiCanadaAnna Fali PROPOSAL
Ivar E GillianFranceAsiya Javayant UNQUALIFIED
Deepesh P KuskoAustraliaIoni Bowcher QUALIFIED
Greenwood O PerinCanadaAsiya Javayant UNQUALIFIED
Octavia M StockhamCanadaAnna Fali QUALIFIED
Cody I PaprockiJapanBernardo Dominic NEGOTIATION
Greenwood M ChuiGermanyIoni Bowcher UNQUALIFIED
Ricardo B AmigonIndiaAnna Fali PROPOSAL
Deepesh X MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford K SergiSpainAsiya Javayant NEGOTIATION
Ricardo M VocelkaItalyBernardo Dominic QUALIFIED
Tony I DarakjyCanadaBernardo Dominic UNQUALIFIED
Arvin B DilliardIndiaIoni Bowcher NEW
Maisha B PoquetteUnited KingdomOnyama Limba NEGOTIATION
Clifford B FerenczBrazilXuxue Feng NEW
Kaitlin U NickaCanadaStephen Shaw UNQUALIFIED
Rodrigues G DarakjyJapanIoni Bowcher NEW
Kadeem I BologniaBrazilAmy Elsner PROPOSAL
Jennifer C PoquetteAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois W MaletBrazilIvan Magalhaes PROPOSAL
Octavia R FlosiUnited KingdomAsiya Javayant NEW
Munro W StockhamArgentinaIvan Magalhaes NEGOTIATION
Darci X RulapaughBrazilStephen Shaw NEGOTIATION
Leja J InouyeItalyAsiya Javayant NEGOTIATION
Aruna Y FigeroaJapanStephen Shaw PROPOSAL
Sinclair F FollerBrazilAmy Elsner QUALIFIED
Rodrigues V FollerArgentinaIvan Magalhaes NEW
Costa I DilliardFranceOnyama Limba QUALIFIED
Octavia T RoysterIndiaOnyama Limba QUALIFIED
Cody A MaletItalyIoni Bowcher QUALIFIED
Tony K GarufiCanadaStephen Shaw NEGOTIATION
Greenwood U KuskoAustraliaIvan Magalhaes RENEWAL
Costa A GauchoJapanXuxue Feng PROPOSAL
Stacey D MacleadAustraliaIvan Magalhaes NEGOTIATION
Munro N StensethJapanIvan Magalhaes NEW
Murillo X NestleSpainAmy Elsner UNQUALIFIED
Francesco X CaldareraJapanBernardo Dominic RENEWAL
Chavez U GarufiCanadaAsiya Javayant UNQUALIFIED
Murillo X MorascaGermanyAnna Fali PROPOSAL
Frozen Columns
Name
Mujtaba C Rulapaugh
Ricardo M Kusko
Darci S Foller
Wickens Z Saylors
Aditya K Venere
Mujtaba U Vocelka
Alejandro F Foller
Jennifer V Glick
Rodrigues T Sergi
Jeanfrancois Q Albares
Faith S Royster
Jeanfrancois R Figeroa
Johnson M Oldroyd
Mujtaba P Stenseth
Munro D Kusko
Darci V Doe
Costa V Rim
Tony D Oldroyd
Leon W Albares
Jefferson F Rim
Cody O Ruta
Leon Q Saylors
Costa S Tollner
Emily O Rim
Jones U Rim
Smith A Caudy
Deepesh I Rim
James J Bowley
Chavez D Darakjy
Ricardo V Stenseth
Murillo R Vocelka
Octavia Z Morasca
Octavia V Wieser
Chavez N Garufi
Cody J Inouye
Ashley B Stenseth
Ivar A Bolognia
Izzy O Kolmetz
Rodrigues Z Butt
Wickens I Gaucho
Ricardo A Paprocki
Nicolas P Rulapaugh
Maisha G Kolmetz
Nicolas P Flosi
Tony I Figeroa
Ivar I Campain
Ashley A Campain
Ricardo O Caldarera
Maisha J Dilliard
Leon O Poquette
IdCountryDate
1000Australia2026-10-16
1001Spain2026-10-04
1002Russia2026-10-07
1003Brazil2026-10-07
1004United Kingdom2026-10-04
1005Russia2026-10-09
1006France2026-10-24
1007Australia2026-10-07
1008Canada2026-10-06
1009Brazil2026-10-03
1010India2026-10-18
1011Russia2026-09-28
1012Canada2026-10-23
1013Canada2026-10-06
1014Australia2026-10-04
1015Brazil2026-10-13
1016Russia2026-10-07
1017Germany2026-10-09
1018Russia2026-10-22
1019France2026-10-14
1020Italy2026-10-21
1021Australia2026-10-07
1022United Kingdom2026-10-25
1023Spain2026-10-24
1024Argentina2026-10-22
1025Spain2026-10-27
1026India2026-10-15
1027Germany2026-10-22
1028Canada2026-10-19
1029India2026-10-07
1030Spain2026-10-17
1031Brazil2026-10-21
1032Argentina2026-10-16
1033Japan2026-10-12
1034Australia2026-10-20
1035Brazil2026-10-03
1036Argentina2026-10-03
1037Japan2026-09-28
1038Italy2026-10-16
1039Spain2026-10-10
1040Japan2026-10-09
1041Canada2026-10-25
1042Spain2026-10-21
1043Australia2026-10-19
1044Japan2026-10-15
1045Canada2026-10-25
1046Germany2026-10-12
1047Spain2026-10-16
1048France2026-10-21
1049Italy2026-10-18

On-Demand Data

NameIdCountryDate
Murillo Q Saylors1000Argentina2026-10-03
Silvio N Darakjy1001Spain2026-10-13
Julie A Ferencz1002France2026-10-22
Costa H Nicka1003Italy2026-10-08
Jefferson K Sergi1004Germany2026-10-27
Silvio U Rim1005Italy2026-10-27
Faith P Ferencz1006United Kingdom2026-10-10
Nicolas Q Ruta1007Canada2026-10-23
Salvatore Q Morasca1008Japan2026-10-19
Antonio C Malet1009Spain2026-10-14
Jones L Vocelka1010India2026-10-07
Alejandro H Sergi1011United Kingdom2026-10-19
Silvio S Caudy1012Germany2026-10-13
Clifford D Saylors1013Brazil2026-10-14
Morrow K Tollner1014Brazil2026-10-12
Darci P Foller1015Brazil2026-10-23
Aruna S Venere1016Japan2026-10-20
Aditya T Briddick1017India2026-10-12
Julie I Albares1018Russia2026-10-11
Deepesh R Malet1019Canada2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan A DoeArgentinaIoni Bowcher PROPOSAL
Kaitlin H DoeBrazilOnyama Limba UNQUALIFIED
Octavia D MaletUnited KingdomBernardo Dominic QUALIFIED
Claire K KuskoGermanyElwin Sharvill QUALIFIED
Arvin R PoquetteFranceStephen Shaw UNQUALIFIED
Antonio C PerinJapanAsiya Javayant NEGOTIATION
Mayumi R WieserJapanIoni Bowcher PROPOSAL
Izzy H ChuiSpainElwin Sharvill UNQUALIFIED
Kadeem M CaudyFranceStephen Shaw UNQUALIFIED
Aditya O VenereArgentinaIoni Bowcher NEGOTIATION
Morrow B SchemmerCanadaAsiya Javayant PROPOSAL
Julie K NestleRussiaAnna Fali NEW
Isabel D FlosiFranceAsiya Javayant NEW
Leon Z WhobreyRussiaIoni Bowcher RENEWAL
Antonio Q InouyeUnited KingdomAmy Elsner NEW
Sinclair C CaudyBrazilElwin Sharvill NEW
Isabel G VenereCanadaStephen Shaw QUALIFIED
Aika X TollnerGermanyIoni Bowcher NEGOTIATION
Deepesh K WaycottItalyIvan Magalhaes NEGOTIATION
Juan C PerinUnited KingdomStephen Shaw NEW
Ashley P NestleJapanXuxue Feng UNQUALIFIED
Jones A RimSpainAmy Elsner RENEWAL
Kaitlin N FerenczSpainAmy Elsner RENEWAL
Juan G CaldareraGermanyIvan Magalhaes PROPOSAL
Aruna D NestleGermanyBernardo Dominic PROPOSAL
Maria S GarufiRussiaOnyama Limba PROPOSAL
Morrow J WaycottSpainElwin Sharvill NEW
Salvatore K NestleBrazilXuxue Feng NEGOTIATION
Leja H FerenczArgentinaOnyama Limba PROPOSAL
Deepesh Q StockhamRussiaAsiya Javayant UNQUALIFIED
Mujtaba T ButtUnited KingdomIoni Bowcher NEGOTIATION
Costa W CampainCanadaStephen Shaw NEW
Jefferson C RoysterIndiaXuxue Feng NEGOTIATION
Kaitlin D TollnerItalyOnyama Limba RENEWAL
Chavez J SaylorsBrazilAmy Elsner PROPOSAL
Ricardo E MacleadIndiaXuxue Feng RENEWAL
Kadeem Q BologniaArgentinaIvan Magalhaes NEW
Isabel B CaldareraItalyElwin Sharvill UNQUALIFIED
Salvatore D ShinkoAustraliaOnyama Limba QUALIFIED
Mujtaba U FollerJapanAsiya Javayant NEW

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