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
Ricardo S MacleadArgentinaBernardo Dominic QUALIFIED
Maisha F CaudyCanadaXuxue Feng NEW
Jeanfrancois Y InouyeRussiaAnna Fali RENEWAL
Aika P SaylorsJapanStephen Shaw NEGOTIATION
Ashley P WieserJapanAsiya Javayant UNQUALIFIED
Tony W NestleBrazilStephen Shaw RENEWAL
Leon V PaprockiJapanIoni Bowcher QUALIFIED
Maisha V PaprockiRussiaAsiya Javayant RENEWAL
James M RutaBrazilElwin Sharvill PROPOSAL
Emily L MarrierArgentinaElwin Sharvill QUALIFIED
Izzy K RulapaughBrazilAsiya Javayant NEW
Ivar N MaletAustraliaXuxue Feng QUALIFIED
Johnson N SaylorsBrazilAnna Fali QUALIFIED
Deepesh R GlickFranceAnna Fali NEGOTIATION
Jeanfrancois A StockhamUnited KingdomAnna Fali UNQUALIFIED
Deepesh Z DoeRussiaBernardo Dominic NEW
Darci T OstroskyJapanXuxue Feng RENEWAL
Kaitlin Z WieserItalyOnyama Limba UNQUALIFIED
Aruna O NestleGermanyElwin Sharvill PROPOSAL
Maisha A RimGermanyBernardo Dominic UNQUALIFIED
Sinclair X PaprockiArgentinaBernardo Dominic RENEWAL
Tony V BriddickCanadaIvan Magalhaes RENEWAL
Emily Z KuskoFranceOnyama Limba RENEWAL
Maria H WhobreyBrazilAsiya Javayant QUALIFIED
Antonio S SchemmerCanadaBernardo Dominic NEGOTIATION
Aruna T WieserBrazilElwin Sharvill RENEWAL
Nicolas T DoeBrazilAsiya Javayant RENEWAL
Isabel Q SchemmerIndiaStephen Shaw QUALIFIED
Octavia N FerenczFranceAsiya Javayant UNQUALIFIED
Rodrigues G VenereItalyOnyama Limba PROPOSAL
Aditya W BriddickCanadaIvan Magalhaes QUALIFIED
Octavia Z BowleySpainStephen Shaw PROPOSAL
Maria L ButtCanadaBernardo Dominic NEGOTIATION
Jeanfrancois A WieserBrazilBernardo Dominic RENEWAL
Clifford S GlickSpainIoni Bowcher UNQUALIFIED
Morrow N StockhamSpainStephen Shaw NEGOTIATION
Mujtaba N ChuiAustraliaAmy Elsner RENEWAL
Jefferson G FlosiSpainBernardo Dominic PROPOSAL
Deepesh J BowleyArgentinaBernardo Dominic NEGOTIATION
Salvatore M WaycottBrazilElwin Sharvill UNQUALIFIED
Kadeem G FigeroaAustraliaAsiya Javayant PROPOSAL
Ashley I NestleUnited KingdomElwin Sharvill RENEWAL
Cody J OstroskyFranceOnyama Limba QUALIFIED
Wickens M PaprockiItalyIoni Bowcher UNQUALIFIED
Greenwood D DarakjyBrazilElwin Sharvill QUALIFIED
Kaitlin G ChuiJapanIvan Magalhaes PROPOSAL
Stacey U StensethIndiaBernardo Dominic PROPOSAL
David W DoeCanadaBernardo Dominic UNQUALIFIED
Julie Y DoeGermanyOnyama Limba RENEWAL
Faith N DarakjyJapanElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Greenwood C FigeroaGermanyAmy Elsner NEW
Julie W DarakjyArgentinaAmy Elsner UNQUALIFIED
Maisha F WhobreyBrazilAsiya Javayant RENEWAL
Faith T StockhamSpainBernardo Dominic UNQUALIFIED
Jennifer Q BriddickGermanyBernardo Dominic RENEWAL
Deepesh T VocelkaBrazilElwin Sharvill RENEWAL
Kadeem G WhobreySpainAsiya Javayant PROPOSAL
Faith O FollerArgentinaElwin Sharvill PROPOSAL
Silvio C MaletGermanyXuxue Feng QUALIFIED
Maria F OldroydUnited KingdomIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow A MarrierAustralia2026-08-30Commercial Press RENEWAL54Amy Elsner
1001Misaki V GillianBrazil2026-08-30King, Christopher A Esq NEGOTIATION58Asiya Javayant
1002Kadeem D InouyeBrazil2026-08-27Printing Dimensions RENEWAL33Onyama Limba
1003Ashley O SaylorsAustralia2026-09-18Rousseaux, Michael Esq RENEWAL68Xuxue Feng
1004Cody F InouyeCanada2026-08-23Feltz Printing Service NEW32Anna Fali
1005Kaitlin G DilliardJapan2026-09-09Dorl, James J Esq PROPOSAL91Onyama Limba
1006Mujtaba I InouyeCanada2026-09-04King, Christopher A Esq NEGOTIATION21Ioni Bowcher
1007Wickens A BriddickGermany2026-09-02Chapman, Ross E Esq RENEWAL28Ioni Bowcher
1008David G OldroydIndia2026-09-07Dorl, James J Esq NEGOTIATION74Ioni Bowcher
1009Tony R FigeroaAustralia2026-08-27Feiner Bros RENEWAL53Bernardo Dominic
1010Silvio K FerenczJapan2026-09-05Commercial Press RENEWAL94Amy Elsner
1011Izzy Y PaprockiArgentina2026-09-13Printing Dimensions RENEWAL73Stephen Shaw
1012Rodrigues Y GarufiAustralia2026-09-15Chapman, Ross E Esq NEW52Xuxue Feng
1013Izzy X GlickCanada2026-08-25Truhlar And Truhlar Attys NEW56Ivan Magalhaes
1014Morrow L WaycottFrance2026-09-02Chapman, Ross E Esq NEW44Asiya Javayant
1015Maria A BologniaGermany2026-08-31Feiner Bros PROPOSAL52Anna Fali
1016Jennifer U InouyeRussia2026-09-08Truhlar And Truhlar Attys QUALIFIED90Onyama Limba
1017Isabel U VenereRussia2026-09-17Chanay, Jeffrey A Esq QUALIFIED67Onyama Limba
1018Ivar W TollnerIndia2026-09-04Printing Dimensions QUALIFIED65Ioni Bowcher
1019Munro N MorascaCanada2026-09-19Chapman, Ross E Esq PROPOSAL31Stephen Shaw
1020Antonio X OstroskyBrazil2026-09-07Truhlar And Truhlar Attys PROPOSAL8Stephen Shaw
1021Morrow Q CaldareraRussia2026-08-30Rangoni Of Florence UNQUALIFIED19Amy Elsner
1022Aditya Y RulapaughRussia2026-09-14Truhlar And Truhlar Attys QUALIFIED42Stephen Shaw
1023Arvin I RutaCanada2026-09-14Rangoni Of Florence NEW45Stephen Shaw
1024Aditya D WhobreySpain2026-09-16Benton, John B Jr NEGOTIATION30Bernardo Dominic
1025Misaki P GarufiIndia2026-08-23Morlong Associates QUALIFIED56Onyama Limba
1026Ashley I WhobreyUnited Kingdom2026-09-14Truhlar And Truhlar Attys QUALIFIED94Ivan Magalhaes
1027Salvatore S SaylorsAustralia2026-09-01Rangoni Of Florence RENEWAL95Elwin Sharvill
1028James X CaldareraGermany2026-09-06Rousseaux, Michael Esq NEW69Stephen Shaw
1029Smith V WieserIndia2026-09-12Truhlar And Truhlar Attys UNQUALIFIED65Asiya Javayant
1030Greenwood J SaylorsUnited Kingdom2026-08-23Printing Dimensions PROPOSAL27Xuxue Feng
1031Wickens S RutaGermany2026-08-25Dorl, James J Esq UNQUALIFIED49Elwin Sharvill
1032Leja G SchemmerGermany2026-09-03Chemel, James L Cpa PROPOSAL61Amy Elsner
1033Jeanfrancois P WieserCanada2026-08-23Chemel, James L Cpa PROPOSAL57Stephen Shaw
1034Johnson F FigeroaRussia2026-09-13Truhlar And Truhlar Attys UNQUALIFIED40Elwin Sharvill
1035Mayumi K FlosiArgentina2026-09-08Chanay, Jeffrey A Esq NEW83Anna Fali
1036James T GillianAustralia2026-09-19Commercial Press NEGOTIATION6Anna Fali
1037David H StensethSpain2026-09-16Chapman, Ross E Esq NEGOTIATION39Ioni Bowcher
1038Mujtaba H GarufiCanada2026-08-25Commercial Press QUALIFIED43Amy Elsner
1039James Y FerenczIndia2026-09-19Commercial Press UNQUALIFIED31Onyama Limba
1040Sinclair Q NestleGermany2026-08-27Chapman, Ross E Esq NEGOTIATION62Ioni Bowcher
1041Wickens M GarufiAustralia2026-09-02King, Christopher A Esq NEW92Bernardo Dominic
1042Deepesh X ChuiFrance2026-09-16Dorl, James J Esq NEGOTIATION71Bernardo Dominic
1043Francesco W KolmetzRussia2026-09-02Buckley Miller Wright RENEWAL60Elwin Sharvill
1044Ivar P FigeroaBrazil2026-09-18Commercial Press UNQUALIFIED11Onyama Limba
1045Salvatore A RulapaughJapan2026-09-19Morlong Associates NEW30Amy Elsner
1046Isabel W VocelkaItaly2026-09-08Dorl, James J Esq NEGOTIATION35Asiya Javayant
1047Leon G RoysterCanada2026-08-26Printing Dimensions NEGOTIATION55Bernardo Dominic
1048Aika H KuskoAustralia2026-09-09Benton, John B Jr NEW91Amy Elsner
1049Morrow C MaletFrance2026-09-10Printing Dimensions RENEWAL61Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jennifer O GarufiArgentinaElwin Sharvill NEGOTIATION
Antonio H VenereUnited KingdomElwin Sharvill NEW
Stacey B MarrierJapanOnyama Limba PROPOSAL
Costa L GarufiAustraliaAmy Elsner RENEWAL
Kaitlin F DilliardArgentinaAmy Elsner NEW
Jones Q PerinBrazilOnyama Limba RENEWAL
Aika R KolmetzIndiaAsiya Javayant PROPOSAL
Rodrigues H DoeSpainStephen Shaw UNQUALIFIED
Aika Y StockhamFranceIvan Magalhaes NEW
Maisha H NickaUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues H FollerGermanyOnyama Limba NEW
Ivar V StensethAustraliaAnna Fali UNQUALIFIED
Izzy W MaletFranceXuxue Feng UNQUALIFIED
Adams K KuskoCanadaAmy Elsner NEGOTIATION
Claire D OstroskySpainElwin Sharvill PROPOSAL
Morrow N SergiFranceXuxue Feng NEGOTIATION
Kaitlin A RulapaughUnited KingdomAnna Fali NEW
Munro W InouyeFranceStephen Shaw QUALIFIED
Sinclair B GillianCanadaXuxue Feng RENEWAL
Tony H KolmetzRussiaAsiya Javayant NEGOTIATION
Stacey I CaudyArgentinaBernardo Dominic NEGOTIATION
Alejandro Z RoysterIndiaAsiya Javayant RENEWAL
Smith Y KolmetzFranceIvan Magalhaes NEW
Emily Z FerenczSpainStephen Shaw NEGOTIATION
Munro M RoysterArgentinaIvan Magalhaes UNQUALIFIED
Aruna Q StockhamGermanyIoni Bowcher NEGOTIATION
Costa Z BologniaJapanIoni Bowcher UNQUALIFIED
Nicolas R FollerGermanyBernardo Dominic RENEWAL
Mayumi O TollnerAustraliaAsiya Javayant NEGOTIATION
Leja D StockhamJapanXuxue Feng PROPOSAL
Claire U WhobreyRussiaBernardo Dominic RENEWAL
Aditya F GauchoSpainIoni Bowcher RENEWAL
Aruna C MaletAustraliaAsiya Javayant PROPOSAL
Faith X CampainRussiaAsiya Javayant NEGOTIATION
Leja P SergiCanadaBernardo Dominic PROPOSAL
Aruna G PaprockiFranceIvan Magalhaes UNQUALIFIED
Sinclair H WieserUnited KingdomXuxue Feng UNQUALIFIED
Nicolas C SaylorsIndiaAsiya Javayant NEW
Wickens W StockhamCanadaOnyama Limba PROPOSAL
Alejandro M NickaArgentinaElwin Sharvill NEW
Arvin K PaprockiItalyIvan Magalhaes PROPOSAL
Costa C NestleRussiaAmy Elsner PROPOSAL
Murillo R WaycottGermanyBernardo Dominic PROPOSAL
Deepesh B BriddickArgentinaIvan Magalhaes RENEWAL
Ashley G SaylorsGermanyAsiya Javayant PROPOSAL
Octavia Q StensethRussiaAsiya Javayant QUALIFIED
Jones F RulapaughUnited KingdomElwin Sharvill PROPOSAL
Nicolas T GauchoFranceOnyama Limba UNQUALIFIED
Greenwood R AmigonUnited KingdomIvan Magalhaes RENEWAL
Leon J TollnerArgentinaOnyama Limba RENEWAL
Frozen Columns
Name
Kadeem K Royster
Tony Y Waycott
Sinclair A Morasca
James V Morasca
Clifford E Oldroyd
Stacey Z Glick
Izzy G Schemmer
Octavia Q Vocelka
Adams F Bolognia
Clifford U Gillian
Antonio G Shinko
Faith N Ostrosky
Leon E Albares
Murillo N Paprocki
Arvin L Sergi
Leja Q Waycott
Claire S Iturbide
Aruna M Schemmer
Aruna E Wieser
Rodrigues Y Schemmer
Cody Q Royster
Salvatore Y Slusarski
Leja V Shinko
Stacey J Malet
Ashley X Malet
Izzy O Paprocki
Clifford X Kolmetz
Greenwood T Caudy
Johnson I Figeroa
Salvatore T Tollner
Tony X Amigon
Julie Q Saylors
Wickens A Dilliard
Julie T Butt
Ashley Z Marrier
Cody C Inouye
Cody X Nestle
Tony B Venere
Johnson Y Butt
Rodrigues M Slusarski
Deepesh E Stockham
Izzy B Stenseth
Ricardo T Kusko
Smith J Sergi
Claire F Caudy
Morrow X Wieser
David R Waycott
Leja I Morasca
Isabel C Saylors
Deepesh I Maclead
IdCountryDate
1000India2026-09-09
1001Spain2026-09-01
1002Argentina2026-08-31
1003Brazil2026-09-17
1004Russia2026-08-31
1005Brazil2026-09-01
1006Italy2026-08-25
1007Italy2026-08-31
1008Russia2026-09-07
1009Italy2026-08-29
1010Germany2026-09-06
1011Spain2026-09-19
1012Canada2026-08-28
1013Japan2026-09-14
1014Italy2026-08-23
1015Russia2026-08-23
1016France2026-09-04
1017Australia2026-09-03
1018Brazil2026-09-05
1019India2026-09-03
1020Argentina2026-09-08
1021Russia2026-08-27
1022India2026-08-27
1023Spain2026-09-13
1024United Kingdom2026-09-04
1025Spain2026-09-04
1026Japan2026-09-06
1027Canada2026-09-13
1028United Kingdom2026-09-05
1029Argentina2026-09-18
1030Italy2026-09-18
1031Russia2026-09-05
1032Argentina2026-09-07
1033Italy2026-08-25
1034Canada2026-09-04
1035Canada2026-09-04
1036Canada2026-08-31
1037Russia2026-08-29
1038Canada2026-08-26
1039Germany2026-09-11
1040Italy2026-09-17
1041Japan2026-09-11
1042Argentina2026-09-14
1043Italy2026-08-27
1044Germany2026-09-18
1045Japan2026-09-05
1046Brazil2026-09-20
1047Argentina2026-09-02
1048Argentina2026-09-06
1049Brazil2026-09-16

On-Demand Data

NameIdCountryDate
Greenwood W Kusko1000Canada2026-08-28
Adams D Albares1001Argentina2026-09-10
Smith R Waycott1002Japan2026-09-17
Leja R Ferencz1003Germany2026-09-04
Juan L Dilliard1004Italy2026-09-07
James G Poquette1005Italy2026-09-14
Aika L Marrier1006Russia2026-09-13
Izzy A Morasca1007Spain2026-09-07
Cody J Tollner1008Spain2026-08-24
Maria J Albares1009Australia2026-09-09
Jefferson Z Poquette1010Canada2026-09-18
Octavia B Tollner1011France2026-09-07
Wickens M Bowley1012India2026-09-18
Stacey W Venere1013Canada2026-09-11
Sinclair G Malet1014Germany2026-09-05
Darci O Rim1015Australia2026-08-28
Jeanfrancois V Schemmer1016Germany2026-09-16
Julie X Kusko1017Argentina2026-09-10
Deepesh M Ruta1018Italy2026-09-18
Izzy T Bowley1019Canada2026-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar R RutaIndiaAnna Fali NEW
Johnson C WaycottRussiaIoni Bowcher QUALIFIED
David T MarrierBrazilStephen Shaw RENEWAL
Smith M NestleBrazilAmy Elsner UNQUALIFIED
Leja P ShinkoGermanyStephen Shaw NEGOTIATION
Chavez J NickaJapanElwin Sharvill PROPOSAL
Aika Q RutaFranceIvan Magalhaes QUALIFIED
Jennifer O GauchoJapanXuxue Feng NEGOTIATION
Costa I DarakjyBrazilBernardo Dominic NEGOTIATION
Darci C StensethCanadaAsiya Javayant NEW
Johnson Z SchemmerJapanIoni Bowcher NEW
Tony L NestleRussiaAmy Elsner NEGOTIATION
Leon L IturbideArgentinaIoni Bowcher QUALIFIED
Aditya N FigeroaUnited KingdomAmy Elsner RENEWAL
Julie E DarakjyUnited KingdomAmy Elsner NEGOTIATION
Izzy H BriddickCanadaStephen Shaw NEW
Isabel Z RimIndiaElwin Sharvill QUALIFIED
Silvio V GarufiAustraliaOnyama Limba PROPOSAL
Chavez P RulapaughCanadaOnyama Limba PROPOSAL
Ricardo W ShinkoUnited KingdomAnna Fali NEGOTIATION
Tony Q WieserFranceAmy Elsner QUALIFIED
Mujtaba S StensethUnited KingdomAsiya Javayant UNQUALIFIED
Wickens Q NestleIndiaIvan Magalhaes UNQUALIFIED
Nicolas B VenereCanadaAsiya Javayant UNQUALIFIED
Costa Y ButtItalyOnyama Limba PROPOSAL
Maria S DilliardFranceAmy Elsner PROPOSAL
Tony J OldroydBrazilXuxue Feng NEGOTIATION
Misaki V CaudyRussiaAsiya Javayant QUALIFIED
Aditya L DoeBrazilIvan Magalhaes PROPOSAL
Juan S StockhamAustraliaBernardo Dominic NEGOTIATION
Tony R NickaFranceIvan Magalhaes RENEWAL
Murillo T BriddickAustraliaIvan Magalhaes NEW
Maria W VocelkaArgentinaXuxue Feng QUALIFIED
Jones R CampainArgentinaStephen Shaw NEGOTIATION
Clifford H NickaCanadaBernardo Dominic UNQUALIFIED
Mujtaba T RutaBrazilAnna Fali UNQUALIFIED
Aika M ChuiCanadaAnna Fali NEW
Nicolas O FigeroaBrazilBernardo Dominic RENEWAL
Stacey U ChuiSpainXuxue Feng QUALIFIED
Johnson Q TollnerBrazilIoni Bowcher 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>