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
Nicolas H PoquetteArgentinaIoni Bowcher QUALIFIED
Aika Q MaletBrazilAsiya Javayant PROPOSAL
Aruna G RulapaughJapanAmy Elsner RENEWAL
Kadeem F ButtIndiaAmy Elsner RENEWAL
Claire Q SlusarskiBrazilElwin Sharvill PROPOSAL
Cody Z VocelkaBrazilStephen Shaw RENEWAL
Misaki T WieserCanadaStephen Shaw RENEWAL
Silvio X SlusarskiAustraliaAnna Fali PROPOSAL
Ashley V BowleyIndiaXuxue Feng RENEWAL
Francesco A RulapaughJapanXuxue Feng NEGOTIATION
Leja Z BologniaCanadaIoni Bowcher NEGOTIATION
Claire F DoeSpainBernardo Dominic RENEWAL
Munro B WaycottRussiaIoni Bowcher UNQUALIFIED
Leja R FollerUnited KingdomStephen Shaw NEGOTIATION
Nicolas A SchemmerBrazilStephen Shaw QUALIFIED
Juan N AlbaresSpainBernardo Dominic QUALIFIED
Rodrigues L ShinkoBrazilAsiya Javayant UNQUALIFIED
Aruna L BriddickBrazilOnyama Limba QUALIFIED
Clifford B BriddickUnited KingdomXuxue Feng UNQUALIFIED
Julie Z TollnerIndiaXuxue Feng NEW
Nicolas U IturbideIndiaIoni Bowcher NEGOTIATION
Sinclair Q MaletArgentinaAmy Elsner RENEWAL
Aditya Z WhobreySpainElwin Sharvill PROPOSAL
Jennifer A MacleadJapanElwin Sharvill QUALIFIED
Ricardo X ButtFranceElwin Sharvill PROPOSAL
Costa K OldroydFranceAsiya Javayant UNQUALIFIED
Smith O RimRussiaAmy Elsner RENEWAL
Smith P RimSpainIvan Magalhaes QUALIFIED
Antonio I StensethItalyXuxue Feng PROPOSAL
Jones V DilliardCanadaAmy Elsner NEGOTIATION
Jefferson C PerinGermanyBernardo Dominic QUALIFIED
Maisha F KolmetzArgentinaOnyama Limba NEW
Julie X SlusarskiJapanXuxue Feng RENEWAL
Greenwood Z FerenczGermanyAsiya Javayant UNQUALIFIED
Stacey I StensethSpainXuxue Feng UNQUALIFIED
Jones U GlickRussiaStephen Shaw UNQUALIFIED
Tony F BriddickUnited KingdomAnna Fali QUALIFIED
Munro V RoysterGermanyIvan Magalhaes NEGOTIATION
Salvatore N PoquetteItalyAnna Fali NEGOTIATION
Isabel P GauchoBrazilStephen Shaw PROPOSAL
Jeanfrancois Z GauchoCanadaAmy Elsner NEW
Francesco F GarufiIndiaAsiya Javayant NEW
Aruna E RulapaughFranceIvan Magalhaes PROPOSAL
Jones R SchemmerBrazilAnna Fali NEGOTIATION
Wickens F ButtBrazilXuxue Feng QUALIFIED
Clifford T FigeroaFranceOnyama Limba NEW
Maria G FollerGermanyAmy Elsner QUALIFIED
Jones Q StensethSpainIvan Magalhaes PROPOSAL
Aditya Y BriddickAustraliaIoni Bowcher QUALIFIED
Stacey L PerinCanadaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens R FigeroaArgentinaIoni Bowcher NEGOTIATION
Munro R StensethFranceAnna Fali UNQUALIFIED
Chavez G OldroydUnited KingdomStephen Shaw UNQUALIFIED
Misaki Z DilliardSpainAmy Elsner UNQUALIFIED
Isabel O TollnerArgentinaIvan Magalhaes RENEWAL
Sinclair R NickaCanadaIvan Magalhaes NEW
Greenwood P GarufiItalyAnna Fali NEW
Maria W MacleadItalyBernardo Dominic UNQUALIFIED
Francesco X PoquetteAustraliaIoni Bowcher PROPOSAL
Izzy J VocelkaCanadaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire X DilliardGermany2026-09-30Commercial Press RENEWAL54Elwin Sharvill
1001Silvio V BologniaAustralia2026-10-12Benton, John B Jr UNQUALIFIED10Elwin Sharvill
1002Mayumi E ButtUnited Kingdom2026-10-06King, Christopher A Esq NEW25Ioni Bowcher
1003Juan I GarufiRussia2026-09-27Rangoni Of Florence RENEWAL61Elwin Sharvill
1004Smith F CaldareraRussia2026-10-03Feltz Printing Service NEW23Amy Elsner
1005Adams D ChuiIndia2026-10-10Rousseaux, Michael Esq NEW10Onyama Limba
1006Antonio S VocelkaIndia2026-10-11Truhlar And Truhlar Attys NEGOTIATION73Asiya Javayant
1007Ricardo T FigeroaCanada2026-10-02King, Christopher A Esq QUALIFIED9Stephen Shaw
1008Murillo S SergiGermany2026-09-29Printing Dimensions QUALIFIED11Onyama Limba
1009Murillo P SchemmerBrazil2026-09-20Rangoni Of Florence PROPOSAL15Anna Fali
1010Tony D FigeroaIndia2026-10-12Chapman, Ross E Esq RENEWAL54Ivan Magalhaes
1011Murillo S GarufiCanada2026-10-12Truhlar And Truhlar Attys UNQUALIFIED41Anna Fali
1012Silvio F RimIndia2026-09-19Printing Dimensions UNQUALIFIED60Bernardo Dominic
1013Clifford U ShinkoFrance2026-10-04Feiner Bros RENEWAL96Amy Elsner
1014Arvin N InouyeGermany2026-10-11Buckley Miller Wright RENEWAL76Onyama Limba
1015Mujtaba C MacleadFrance2026-09-30Truhlar And Truhlar Attys NEGOTIATION3Anna Fali
1016Kadeem X MaletGermany2026-09-18King, Christopher A Esq NEGOTIATION14Elwin Sharvill
1017Maisha U FollerIndia2026-09-17Printing Dimensions QUALIFIED25Ivan Magalhaes
1018Mujtaba O CaudyFrance2026-09-18King, Christopher A Esq QUALIFIED55Ivan Magalhaes
1019Jeanfrancois Q MacleadFrance2026-10-05Feiner Bros PROPOSAL77Elwin Sharvill
1020Antonio C FigeroaIndia2026-09-29Chanay, Jeffrey A Esq RENEWAL14Stephen Shaw
1021Izzy A WieserJapan2026-10-02Morlong Associates RENEWAL12Ivan Magalhaes
1022Tony O WieserJapan2026-09-15Chemel, James L Cpa UNQUALIFIED11Xuxue Feng
1023Chavez J NickaCanada2026-09-24Chapman, Ross E Esq NEGOTIATION64Ivan Magalhaes
1024Leon E NickaItaly2026-09-20Rousseaux, Michael Esq NEGOTIATION17Bernardo Dominic
1025Alejandro C VenereUnited Kingdom2026-10-06Printing Dimensions UNQUALIFIED23Ioni Bowcher
1026Mayumi M DoeItaly2026-10-14Printing Dimensions UNQUALIFIED3Bernardo Dominic
1027James N FigeroaGermany2026-10-14Rousseaux, Michael Esq PROPOSAL56Ioni Bowcher
1028Mujtaba I InouyeUnited Kingdom2026-09-15Chapman, Ross E Esq UNQUALIFIED51Xuxue Feng
1029Rodrigues G ButtCanada2026-10-04Feltz Printing Service PROPOSAL36Asiya Javayant
1030Murillo E OstroskyIndia2026-09-19Commercial Press RENEWAL0Stephen Shaw
1031Octavia H DilliardJapan2026-10-04Commercial Press QUALIFIED33Ioni Bowcher
1032Mujtaba A MacleadArgentina2026-10-05Chanay, Jeffrey A Esq UNQUALIFIED75Anna Fali
1033Clifford E GlickUnited Kingdom2026-09-17Rangoni Of Florence RENEWAL63Stephen Shaw
1034Leon I DilliardFrance2026-10-13Morlong Associates PROPOSAL49Bernardo Dominic
1035Leon V FollerBrazil2026-09-23Chanay, Jeffrey A Esq UNQUALIFIED76Amy Elsner
1036Misaki R CaudyBrazil2026-09-24Chanay, Jeffrey A Esq PROPOSAL15Elwin Sharvill
1037Wickens X WaycottItaly2026-09-19Feltz Printing Service RENEWAL67Stephen Shaw
1038Maisha L FigeroaIndia2026-10-12Dorl, James J Esq QUALIFIED80Stephen Shaw
1039Greenwood S FerenczSpain2026-10-02Printing Dimensions NEW24Stephen Shaw
1040Ricardo P SaylorsBrazil2026-10-10King, Christopher A Esq NEGOTIATION46Amy Elsner
1041Maria Q CaudyBrazil2026-09-23Rousseaux, Michael Esq NEGOTIATION75Elwin Sharvill
1042Silvio S MacleadCanada2026-10-09Feiner Bros NEW52Onyama Limba
1043Jeanfrancois P CaudyGermany2026-10-09Truhlar And Truhlar Attys NEGOTIATION30Ioni Bowcher
1044Wickens O WieserUnited Kingdom2026-10-08Feltz Printing Service NEW49Bernardo Dominic
1045David P InouyeBrazil2026-09-16Feiner Bros QUALIFIED42Elwin Sharvill
1046James H CaldareraItaly2026-09-17Chanay, Jeffrey A Esq PROPOSAL87Xuxue Feng
1047Emily R GauchoFrance2026-09-22Rousseaux, Michael Esq NEGOTIATION68Stephen Shaw
1048Aditya C StensethCanada2026-09-19Rousseaux, Michael Esq PROPOSAL18Stephen Shaw
1049Aruna N VenereUnited Kingdom2026-09-30Buckley Miller Wright NEW79Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois G ButtIndiaAsiya Javayant PROPOSAL
Johnson X AlbaresJapanIvan Magalhaes NEGOTIATION
Murillo X RimSpainIvan Magalhaes RENEWAL
Chavez P MaletUnited KingdomElwin Sharvill PROPOSAL
Leja I MacleadIndiaBernardo Dominic NEGOTIATION
Arvin A GarufiItalyOnyama Limba RENEWAL
Mujtaba Z SlusarskiRussiaIvan Magalhaes PROPOSAL
Nicolas K TollnerCanadaBernardo Dominic PROPOSAL
Morrow M KuskoJapanIoni Bowcher QUALIFIED
Rodrigues G RoysterRussiaBernardo Dominic NEW
Kadeem K ChuiCanadaElwin Sharvill UNQUALIFIED
Claire W VocelkaSpainAmy Elsner NEGOTIATION
Morrow G MorascaUnited KingdomStephen Shaw PROPOSAL
James A OldroydCanadaOnyama Limba RENEWAL
Chavez X BriddickUnited KingdomIoni Bowcher QUALIFIED
Ivar L FlosiRussiaAnna Fali PROPOSAL
Wickens E CampainJapanAmy Elsner PROPOSAL
James X FollerGermanyStephen Shaw QUALIFIED
Morrow G DoeGermanyAmy Elsner QUALIFIED
Murillo K ChuiUnited KingdomBernardo Dominic PROPOSAL
Nicolas D FigeroaFranceIvan Magalhaes RENEWAL
Kadeem L MaletGermanyXuxue Feng NEW
Ivar T FigeroaSpainBernardo Dominic NEGOTIATION
Ivar W StensethSpainXuxue Feng QUALIFIED
Octavia U ShinkoArgentinaStephen Shaw QUALIFIED
Leja F PaprockiGermanyAsiya Javayant UNQUALIFIED
Wickens H PerinItalyOnyama Limba PROPOSAL
Mayumi R WhobreyJapanIoni Bowcher RENEWAL
Kaitlin S ChuiRussiaIvan Magalhaes NEW
Munro T WieserAustraliaAnna Fali RENEWAL
James Q CaudyRussiaOnyama Limba RENEWAL
Greenwood R VocelkaCanadaAnna Fali PROPOSAL
Cody K BowleyArgentinaAmy Elsner UNQUALIFIED
Tony Z CampainCanadaAnna Fali NEW
Smith L CaldareraBrazilOnyama Limba NEGOTIATION
Cody I RulapaughJapanXuxue Feng NEW
Leon Z MaletArgentinaIvan Magalhaes PROPOSAL
David G VenereGermanyStephen Shaw UNQUALIFIED
Juan U FerenczCanadaXuxue Feng QUALIFIED
Faith L MarrierAustraliaBernardo Dominic NEW
Greenwood S MarrierGermanyStephen Shaw QUALIFIED
Deepesh Y FerenczUnited KingdomAnna Fali NEGOTIATION
Costa M GauchoSpainStephen Shaw PROPOSAL
Jennifer C VenereRussiaAsiya Javayant QUALIFIED
Misaki N GlickAustraliaAmy Elsner UNQUALIFIED
Alejandro Q InouyeBrazilAmy Elsner NEW
Nicolas X GillianSpainAmy Elsner RENEWAL
Smith A WieserGermanyIvan Magalhaes QUALIFIED
Smith O DilliardRussiaIvan Magalhaes QUALIFIED
Ivar F KuskoJapanAmy Elsner PROPOSAL
Frozen Columns
Name
James I Waycott
Salvatore I Inouye
Kaitlin W Nicka
Kadeem V Garufi
Antonio B Albares
Adams O Poquette
Aruna O Amigon
Stacey N Nestle
Rodrigues O Malet
Izzy J Stockham
Ricardo R Marrier
Ricardo A Bowley
Clifford U Butt
Munro F Nestle
Kaitlin P Venere
Aruna P Schemmer
Ricardo U Rim
Leja O Caldarera
Wickens R Kusko
David L Waycott
Nicolas M Darakjy
Jones M Butt
Maisha N Marrier
Maria P Caldarera
Kaitlin Z Nicka
Ivar D Nestle
Nicolas J Foller
Kaitlin D Vocelka
Murillo N Flosi
Alejandro O Ostrosky
Johnson R Bowley
Jones F Butt
Mayumi Q Perin
Greenwood A Flosi
Ivar L Chui
Jennifer Z Rulapaugh
Francesco T Wieser
Misaki K Figeroa
Isabel M Gaucho
Isabel N Waycott
Faith G Nicka
Leja P Poquette
Rodrigues R Rulapaugh
Ivar X Flosi
Mujtaba E Inouye
Stacey I Whobrey
Wickens C Iturbide
Leon T Stockham
Murillo D Malet
Maisha E Stockham
IdCountryDate
1000Brazil2026-10-07
1001Canada2026-09-25
1002Spain2026-10-10
1003Australia2026-09-27
1004Russia2026-10-13
1005Australia2026-09-28
1006United Kingdom2026-09-18
1007United Kingdom2026-10-06
1008Brazil2026-09-30
1009Spain2026-09-24
1010India2026-10-07
1011India2026-10-12
1012Germany2026-10-07
1013United Kingdom2026-09-28
1014Brazil2026-10-05
1015France2026-10-09
1016Australia2026-10-08
1017Canada2026-09-23
1018Japan2026-10-08
1019Brazil2026-09-15
1020Canada2026-10-06
1021Canada2026-09-16
1022Italy2026-09-20
1023Russia2026-09-15
1024Italy2026-09-30
1025United Kingdom2026-10-01
1026Canada2026-10-03
1027Germany2026-10-04
1028Brazil2026-09-23
1029United Kingdom2026-10-13
1030Argentina2026-10-11
1031Russia2026-09-28
1032Italy2026-10-14
1033France2026-09-23
1034Spain2026-09-29
1035Brazil2026-09-23
1036Argentina2026-10-04
1037India2026-10-06
1038United Kingdom2026-10-12
1039Russia2026-09-18
1040Argentina2026-09-22
1041Russia2026-10-10
1042Australia2026-09-22
1043India2026-09-28
1044Argentina2026-09-20
1045Italy2026-09-23
1046Russia2026-10-02
1047Japan2026-10-14
1048Brazil2026-09-20
1049Russia2026-10-13

On-Demand Data

NameIdCountryDate
Adams C Gillian1000Germany2026-09-20
Sinclair J Malet1001Germany2026-10-03
Faith V Wieser1002Russia2026-10-06
Nicolas T Schemmer1003Australia2026-09-27
Chavez T Wieser1004Russia2026-10-09
Misaki T Malet1005India2026-10-04
Salvatore C Slusarski1006Canada2026-09-29
James K Ostrosky1007Germany2026-09-30
Ivar C Caudy1008Brazil2026-09-17
Aditya Z Kusko1009India2026-09-30
Jeanfrancois J Kolmetz1010India2026-09-26
Maisha D Inouye1011Brazil2026-09-26
Nicolas K Gillian1012Japan2026-09-15
Jennifer P Rulapaugh1013Brazil2026-10-02
Sinclair D Doe1014India2026-09-19
David T Briddick1015France2026-09-22
Deepesh T Slusarski1016Canada2026-09-18
Alejandro G Gaucho1017Italy2026-10-04
Chavez G Stenseth1018Canada2026-09-20
Ivar V Iturbide1019Japan2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja V RoysterArgentinaIoni Bowcher QUALIFIED
Misaki U SaylorsJapanAsiya Javayant UNQUALIFIED
Morrow V OldroydRussiaElwin Sharvill NEW
Antonio V CaldareraIndiaAnna Fali NEGOTIATION
Faith S OstroskySpainAmy Elsner QUALIFIED
Jones O StockhamSpainAnna Fali NEW
Darci Z MaletUnited KingdomStephen Shaw PROPOSAL
Ivar V SchemmerUnited KingdomAnna Fali NEGOTIATION
Johnson S SchemmerAustraliaXuxue Feng NEW
Claire D DilliardFranceAsiya Javayant UNQUALIFIED
Greenwood E RimIndiaStephen Shaw QUALIFIED
Jones Z TollnerUnited KingdomAmy Elsner UNQUALIFIED
Isabel N MorascaGermanyElwin Sharvill NEGOTIATION
Sinclair U MaletBrazilIoni Bowcher PROPOSAL
Leon D DilliardArgentinaXuxue Feng PROPOSAL
Alejandro N DoeArgentinaAmy Elsner NEGOTIATION
Misaki L NestleArgentinaStephen Shaw QUALIFIED
Adams J OstroskyJapanXuxue Feng RENEWAL
Isabel M OldroydArgentinaBernardo Dominic UNQUALIFIED
Wickens L RoysterIndiaIoni Bowcher RENEWAL
Johnson M ShinkoSpainElwin Sharvill NEGOTIATION
Murillo F RutaUnited KingdomAsiya Javayant RENEWAL
Jeanfrancois O DilliardIndiaOnyama Limba NEW
Arvin J ChuiUnited KingdomIvan Magalhaes QUALIFIED
Adams H GillianUnited KingdomAmy Elsner RENEWAL
Sinclair J OstroskyGermanyBernardo Dominic NEW
Salvatore R FollerUnited KingdomElwin Sharvill UNQUALIFIED
Murillo M MacleadSpainIoni Bowcher RENEWAL
Misaki Y BowleyItalyAnna Fali NEGOTIATION
Chavez G GillianJapanAnna Fali PROPOSAL
Juan R SchemmerUnited KingdomAsiya Javayant RENEWAL
Juan R ButtArgentinaAsiya Javayant PROPOSAL
Ivar U PoquetteFranceStephen Shaw RENEWAL
Isabel Y OldroydSpainAmy Elsner NEW
Leja B NestleGermanyIoni Bowcher PROPOSAL
Leon R CaldareraUnited KingdomElwin Sharvill NEW
Emily H SaylorsAustraliaAsiya Javayant RENEWAL
Darci I FigeroaSpainXuxue Feng NEGOTIATION
Cody H InouyeRussiaIoni Bowcher RENEWAL
Jennifer S PerinBrazilOnyama Limba 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>