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
Clifford S FerenczSpainBernardo Dominic PROPOSAL
Faith D PaprockiIndiaIoni Bowcher NEW
Greenwood V SaylorsSpainElwin Sharvill UNQUALIFIED
Francesco F GillianFranceElwin Sharvill NEW
Ricardo X NestleBrazilBernardo Dominic RENEWAL
Octavia F ChuiItalyStephen Shaw PROPOSAL
Leon W ChuiBrazilAsiya Javayant QUALIFIED
Morrow B CaldareraUnited KingdomStephen Shaw NEW
Salvatore F RoysterJapanBernardo Dominic NEGOTIATION
Sinclair B MacleadRussiaAsiya Javayant NEGOTIATION
Clifford C IturbideUnited KingdomStephen Shaw RENEWAL
James P PoquetteUnited KingdomAmy Elsner QUALIFIED
Isabel E RoysterRussiaIvan Magalhaes NEGOTIATION
Morrow D WieserArgentinaAsiya Javayant QUALIFIED
Mujtaba W SchemmerIndiaIvan Magalhaes PROPOSAL
Maisha Q NickaGermanyAnna Fali NEGOTIATION
David O OstroskySpainOnyama Limba NEGOTIATION
Kaitlin J GillianSpainAsiya Javayant PROPOSAL
Murillo O MarrierBrazilElwin Sharvill UNQUALIFIED
Arvin L SlusarskiGermanyStephen Shaw RENEWAL
David J AlbaresGermanyStephen Shaw NEW
Aika D SlusarskiAustraliaOnyama Limba NEW
Leon S KuskoIndiaBernardo Dominic QUALIFIED
Murillo H ShinkoGermanyStephen Shaw PROPOSAL
Claire T GillianItalyAsiya Javayant QUALIFIED
Emily H BriddickGermanyBernardo Dominic RENEWAL
Rodrigues B BologniaFranceBernardo Dominic PROPOSAL
Murillo X BriddickAustraliaStephen Shaw PROPOSAL
Cody W StensethItalyXuxue Feng NEGOTIATION
Wickens N VenereUnited KingdomAsiya Javayant NEGOTIATION
Octavia I WaycottRussiaAsiya Javayant RENEWAL
Jeanfrancois S SergiIndiaIvan Magalhaes RENEWAL
Isabel S MacleadBrazilAmy Elsner QUALIFIED
Mujtaba X InouyeFranceIoni Bowcher RENEWAL
Morrow W TollnerAustraliaIvan Magalhaes QUALIFIED
Darci D MacleadCanadaAnna Fali PROPOSAL
Costa P DarakjyBrazilIvan Magalhaes NEW
Kaitlin P NestleAustraliaBernardo Dominic NEW
Darci J CaudyCanadaIoni Bowcher PROPOSAL
Maria O PoquetteIndiaAmy Elsner RENEWAL
Francesco I FerenczGermanyXuxue Feng NEGOTIATION
Jefferson K ChuiUnited KingdomBernardo Dominic PROPOSAL
Clifford X PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Rodrigues S GlickAustraliaOnyama Limba QUALIFIED
Morrow R MaletRussiaAmy Elsner PROPOSAL
Clifford Q SchemmerSpainIoni Bowcher UNQUALIFIED
Salvatore I OstroskyRussiaIvan Magalhaes QUALIFIED
Darci X MacleadCanadaIvan Magalhaes NEGOTIATION
Smith Y DarakjyBrazilAnna Fali NEGOTIATION
Deepesh Y WhobreyArgentinaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ivar J PoquetteUnited KingdomAnna Fali PROPOSAL
Ivar J OldroydUnited KingdomIvan Magalhaes QUALIFIED
Arvin I RutaFranceIoni Bowcher UNQUALIFIED
Aditya H CampainIndiaAmy Elsner PROPOSAL
Julie V ButtCanadaStephen Shaw PROPOSAL
Aruna L SlusarskiFranceAmy Elsner UNQUALIFIED
Mujtaba I ChuiBrazilAmy Elsner QUALIFIED
Claire N SlusarskiBrazilBernardo Dominic RENEWAL
Maria Z GillianBrazilAmy Elsner PROPOSAL
Johnson V AmigonFranceIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna O ButtGermany2026-10-13Printing Dimensions UNQUALIFIED2Onyama Limba
1001Antonio X FigeroaJapan2026-10-20Chanay, Jeffrey A Esq RENEWAL29Ioni Bowcher
1002Greenwood T FlosiSpain2026-10-05Commercial Press RENEWAL14Anna Fali
1003Julie B SergiIndia2026-10-02Morlong Associates NEGOTIATION15Bernardo Dominic
1004Johnson Y KuskoArgentina2026-10-10Chanay, Jeffrey A Esq QUALIFIED31Xuxue Feng
1005Morrow S WhobreyUnited Kingdom2026-09-27Benton, John B Jr PROPOSAL2Ioni Bowcher
1006Ricardo Q MaletItaly2026-10-11Commercial Press PROPOSAL54Stephen Shaw
1007Tony T GarufiUnited Kingdom2026-10-11Feiner Bros RENEWAL93Amy Elsner
1008Silvio L RimSpain2026-09-27Rangoni Of Florence PROPOSAL62Asiya Javayant
1009Maria S ChuiSpain2026-10-21Benton, John B Jr QUALIFIED16Anna Fali
1010Nicolas R MacleadSpain2026-10-04Morlong Associates RENEWAL70Bernardo Dominic
1011Maria J VenereAustralia2026-10-11Rangoni Of Florence PROPOSAL78Amy Elsner
1012Mayumi Y KolmetzUnited Kingdom2026-10-10Commercial Press NEW30Elwin Sharvill
1013Murillo B KolmetzArgentina2026-09-27Benton, John B Jr QUALIFIED35Amy Elsner
1014Nicolas D SaylorsIndia2026-10-04Chanay, Jeffrey A Esq RENEWAL62Amy Elsner
1015Wickens M KolmetzArgentina2026-10-07Commercial Press PROPOSAL49Ioni Bowcher
1016Silvio R SergiJapan2026-10-08Benton, John B Jr QUALIFIED17Onyama Limba
1017Kadeem G MaletCanada2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED67Ioni Bowcher
1018Maria F MacleadUnited Kingdom2026-09-27Chemel, James L Cpa PROPOSAL46Stephen Shaw
1019Maria H ChuiCanada2026-10-06Commercial Press NEW66Amy Elsner
1020Aditya L IturbideBrazil2026-09-28Chanay, Jeffrey A Esq RENEWAL73Amy Elsner
1021Kaitlin L FigeroaAustralia2026-09-28Benton, John B Jr NEW63Stephen Shaw
1022Wickens K WhobreyArgentina2026-10-04Buckley Miller Wright RENEWAL85Bernardo Dominic
1023Mayumi H FollerRussia2026-10-03Dorl, James J Esq PROPOSAL82Anna Fali
1024Kaitlin O RoysterItaly2026-10-22Feltz Printing Service PROPOSAL98Stephen Shaw
1025Mujtaba W RimItaly2026-10-21Benton, John B Jr UNQUALIFIED72Ioni Bowcher
1026Mujtaba V PoquetteCanada2026-10-18Feiner Bros PROPOSAL94Ivan Magalhaes
1027Ashley R SaylorsJapan2026-09-30Rousseaux, Michael Esq QUALIFIED48Stephen Shaw
1028Francesco S ShinkoBrazil2026-10-06Buckley Miller Wright UNQUALIFIED79Ivan Magalhaes
1029Faith D MaletArgentina2026-09-26Dorl, James J Esq RENEWAL92Onyama Limba
1030Kaitlin M NickaAustralia2026-10-21Buckley Miller Wright RENEWAL13Xuxue Feng
1031Wickens H ChuiItaly2026-10-02King, Christopher A Esq PROPOSAL37Asiya Javayant
1032Kadeem X KolmetzRussia2026-10-05Feiner Bros QUALIFIED9Anna Fali
1033Clifford K StockhamAustralia2026-10-10Chemel, James L Cpa RENEWAL78Elwin Sharvill
1034Stacey V PerinAustralia2026-09-30Chemel, James L Cpa QUALIFIED53Onyama Limba
1035Salvatore O RulapaughRussia2026-10-10Chanay, Jeffrey A Esq NEGOTIATION82Ioni Bowcher
1036Antonio V DilliardArgentina2026-09-25Buckley Miller Wright NEW36Amy Elsner
1037Costa T RimSpain2026-10-16Chemel, James L Cpa UNQUALIFIED99Amy Elsner
1038Silvio K GauchoBrazil2026-10-19Morlong Associates NEGOTIATION23Onyama Limba
1039Ricardo V SchemmerSpain2026-10-01Buckley Miller Wright NEGOTIATION51Asiya Javayant
1040Chavez W DoeSpain2026-10-22Benton, John B Jr NEW49Stephen Shaw
1041Murillo P BriddickIndia2026-09-27Rousseaux, Michael Esq UNQUALIFIED23Ivan Magalhaes
1042Leja T OstroskyGermany2026-10-08Chanay, Jeffrey A Esq QUALIFIED24Ivan Magalhaes
1043Kaitlin J MaletJapan2026-10-09Truhlar And Truhlar Attys RENEWAL88Asiya Javayant
1044Deepesh G RulapaughArgentina2026-10-01King, Christopher A Esq RENEWAL40Onyama Limba
1045Jones Y MarrierFrance2026-10-03Feiner Bros NEW61Amy Elsner
1046Ivar W StensethCanada2026-10-10Chemel, James L Cpa RENEWAL72Anna Fali
1047James U SlusarskiCanada2026-09-25Truhlar And Truhlar Attys QUALIFIED20Ivan Magalhaes
1048James B RulapaughArgentina2026-10-21Benton, John B Jr RENEWAL94Amy Elsner
1049David G WieserCanada2026-09-29Dorl, James J Esq PROPOSAL30Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Morrow H MorascaAustraliaAmy Elsner NEW
Tony I ButtJapanIvan Magalhaes UNQUALIFIED
Kadeem W NickaBrazilAmy Elsner UNQUALIFIED
Johnson O FigeroaBrazilAsiya Javayant PROPOSAL
Jefferson J GauchoSpainAmy Elsner QUALIFIED
Aika V InouyeCanadaAmy Elsner NEW
Aika W VocelkaArgentinaIoni Bowcher QUALIFIED
Greenwood S RulapaughIndiaIvan Magalhaes NEW
Ashley G AmigonAustraliaAmy Elsner QUALIFIED
Jefferson U IturbideRussiaAsiya Javayant QUALIFIED
Isabel X DarakjyBrazilBernardo Dominic NEW
Adams S StensethFranceElwin Sharvill QUALIFIED
Jennifer T ChuiJapanXuxue Feng QUALIFIED
James G MaletUnited KingdomElwin Sharvill UNQUALIFIED
Costa D MaletGermanyElwin Sharvill RENEWAL
Alejandro L GlickAustraliaAnna Fali UNQUALIFIED
Ivar T OldroydUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois Z ButtRussiaAsiya Javayant PROPOSAL
Chavez U BowleyGermanyAmy Elsner NEGOTIATION
Smith H AlbaresIndiaElwin Sharvill NEGOTIATION
Mayumi N MorascaBrazilIoni Bowcher RENEWAL
Emily G SaylorsFranceOnyama Limba RENEWAL
Morrow N AmigonIndiaIoni Bowcher UNQUALIFIED
Costa P VocelkaBrazilIoni Bowcher UNQUALIFIED
Emily P FigeroaFranceStephen Shaw PROPOSAL
Jones H DoeJapanAsiya Javayant RENEWAL
Jeanfrancois Q BowleyBrazilIvan Magalhaes UNQUALIFIED
Julie R NestleItalyElwin Sharvill NEGOTIATION
Jennifer G DoeJapanStephen Shaw RENEWAL
David U RimBrazilBernardo Dominic NEW
Cody M DarakjyItalyBernardo Dominic NEW
Salvatore O PaprockiAustraliaOnyama Limba UNQUALIFIED
Murillo F VocelkaFranceElwin Sharvill QUALIFIED
Murillo I NickaItalyOnyama Limba NEGOTIATION
Claire V MarrierIndiaXuxue Feng PROPOSAL
Misaki S BologniaUnited KingdomIvan Magalhaes QUALIFIED
Deepesh V SlusarskiItalyAmy Elsner UNQUALIFIED
Ivar P IturbideArgentinaOnyama Limba NEW
Ricardo W IturbideBrazilAsiya Javayant UNQUALIFIED
Aruna U StockhamSpainIvan Magalhaes QUALIFIED
Aruna W WhobreyCanadaAmy Elsner RENEWAL
Silvio V ChuiAustraliaBernardo Dominic QUALIFIED
Chavez A NickaItalyElwin Sharvill UNQUALIFIED
Murillo O TollnerGermanyOnyama Limba PROPOSAL
Francesco E FerenczFranceXuxue Feng NEW
Jennifer U BriddickRussiaAmy Elsner PROPOSAL
Misaki F StensethSpainAmy Elsner NEW
Munro I TollnerIndiaIoni Bowcher QUALIFIED
Tony T DilliardUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba S WhobreyBrazilAsiya Javayant NEW
Frozen Columns
Name
Cody M Iturbide
Jones H Campain
Adams E Stenseth
Jefferson R Nestle
Cody D Malet
Julie N Dilliard
Leja L Rim
Kadeem E Royster
Aruna W Kolmetz
Juan K Perin
Francesco I Butt
Chavez N Wieser
Misaki N Ostrosky
Ricardo Y Whobrey
Izzy Z Caudy
Aruna U Wieser
Nicolas W Caudy
Antonio P Sergi
Ashley G Marrier
Chavez G Shinko
Claire G Flosi
Ashley W Morasca
Jefferson J Venere
Stacey X Vocelka
Aruna W Malet
Adams W Darakjy
Smith H Vocelka
Antonio A Campain
Stacey A Marrier
Antonio Z Albares
Salvatore E Slusarski
Ashley X Poquette
Morrow R Ostrosky
Maria X Doe
Jennifer Q Stockham
Morrow L Stockham
Clifford M Vocelka
Arvin S Nestle
Stacey C Venere
Misaki P Albares
Darci U Stenseth
Misaki C Royster
Deepesh A Morasca
Chavez O Iturbide
Leja T Butt
Stacey W Inouye
Misaki D Kusko
Salvatore W Doe
Darci B Butt
Salvatore X Glick
IdCountryDate
1000Canada2026-10-04
1001Italy2026-09-26
1002Italy2026-09-24
1003India2026-10-18
1004United Kingdom2026-09-27
1005Spain2026-10-07
1006India2026-09-29
1007India2026-10-21
1008Germany2026-10-04
1009Russia2026-10-03
1010France2026-10-04
1011Argentina2026-10-01
1012Brazil2026-10-15
1013Australia2026-10-09
1014United Kingdom2026-10-22
1015Italy2026-09-25
1016Argentina2026-10-05
1017Italy2026-09-29
1018Canada2026-10-01
1019Australia2026-09-30
1020Brazil2026-10-21
1021United Kingdom2026-09-28
1022Argentina2026-10-10
1023Germany2026-10-14
1024Brazil2026-09-24
1025Italy2026-10-02
1026Italy2026-09-27
1027Brazil2026-10-14
1028United Kingdom2026-10-09
1029Italy2026-10-02
1030France2026-10-04
1031Russia2026-09-30
1032Argentina2026-09-26
1033Australia2026-10-01
1034France2026-09-25
1035India2026-10-21
1036Italy2026-10-19
1037Italy2026-10-08
1038United Kingdom2026-09-30
1039Russia2026-10-04
1040Germany2026-09-25
1041Italy2026-10-08
1042India2026-10-02
1043Italy2026-10-20
1044United Kingdom2026-10-06
1045France2026-09-25
1046Japan2026-10-18
1047United Kingdom2026-09-30
1048Argentina2026-10-12
1049Australia2026-10-21

On-Demand Data

NameIdCountryDate
Mujtaba S Butt1000Argentina2026-10-01
Leon Z Tollner1001Italy2026-10-07
Octavia N Maclead1002France2026-10-10
Deepesh Q Nestle1003Spain2026-09-30
Deepesh X Morasca1004Australia2026-10-03
Claire V Ferencz1005Spain2026-10-07
Aruna Q Dilliard1006Spain2026-10-07
Aditya K Butt1007United Kingdom2026-10-03
Izzy W Whobrey1008United Kingdom2026-10-10
Mujtaba B Rim1009Spain2026-09-24
Misaki X Tollner1010Australia2026-10-02
Chavez V Flosi1011Brazil2026-10-22
Adams J Marrier1012Russia2026-10-02
Clifford C Caudy1013Germany2026-10-12
Ashley U Garufi1014Japan2026-10-17
Leja X Inouye1015Italy2026-09-24
Silvio Z Dilliard1016Russia2026-10-09
Costa B Rim1017Japan2026-10-06
Deepesh U Saylors1018Russia2026-09-27
Costa O Tollner1019Argentina2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez K VenereGermanyIoni Bowcher RENEWAL
Aika O MacleadSpainAsiya Javayant UNQUALIFIED
Jones Y DarakjyItalyIoni Bowcher QUALIFIED
Jefferson M ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Maria J StockhamGermanyAsiya Javayant PROPOSAL
Emily Q CaudyBrazilBernardo Dominic PROPOSAL
Jeanfrancois J SchemmerFranceElwin Sharvill PROPOSAL
Emily R DilliardGermanyIoni Bowcher PROPOSAL
James B KuskoFranceStephen Shaw PROPOSAL
Jefferson Q WhobreyItalyAsiya Javayant UNQUALIFIED
Silvio L KuskoCanadaAmy Elsner PROPOSAL
Wickens W WieserRussiaIvan Magalhaes RENEWAL
Jefferson D RulapaughUnited KingdomAnna Fali NEW
Ricardo O FlosiGermanyBernardo Dominic NEGOTIATION
Adams A RimItalyStephen Shaw UNQUALIFIED
Jones P CaldareraIndiaBernardo Dominic RENEWAL
Deepesh F TollnerItalyElwin Sharvill PROPOSAL
Misaki Q ChuiJapanAsiya Javayant NEW
Arvin J CaldareraItalyAnna Fali RENEWAL
Adams F GlickAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois Q DoeArgentinaAnna Fali NEW
Mujtaba I MaletUnited KingdomAmy Elsner UNQUALIFIED
Costa U GarufiJapanAmy Elsner NEGOTIATION
David R CampainUnited KingdomStephen Shaw NEGOTIATION
Stacey Y KolmetzBrazilOnyama Limba NEGOTIATION
Murillo W GlickGermanyIvan Magalhaes NEW
Leja M NestleIndiaBernardo Dominic RENEWAL
Emily F DarakjyUnited KingdomElwin Sharvill RENEWAL
Mayumi N AlbaresArgentinaStephen Shaw UNQUALIFIED
David J ChuiGermanyAsiya Javayant UNQUALIFIED
Jennifer M AlbaresBrazilStephen Shaw UNQUALIFIED
Kaitlin Y MaletIndiaIoni Bowcher UNQUALIFIED
Mujtaba H KuskoItalyAsiya Javayant RENEWAL
Jefferson N RoysterGermanyIvan Magalhaes PROPOSAL
Jennifer M GarufiItalyElwin Sharvill NEGOTIATION
Alejandro Z GlickSpainBernardo Dominic QUALIFIED
Wickens S WaycottFranceIoni Bowcher QUALIFIED
Adams I DoeGermanyOnyama Limba RENEWAL
Maisha O BologniaUnited KingdomXuxue Feng NEW
Jennifer R PoquetteItalyAnna Fali UNQUALIFIED

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