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
Julie K StockhamIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois H SlusarskiItalyXuxue Feng UNQUALIFIED
Claire B SlusarskiAustraliaXuxue Feng UNQUALIFIED
Julie B FigeroaBrazilBernardo Dominic UNQUALIFIED
Sinclair Q CampainBrazilAnna Fali UNQUALIFIED
Arvin H MaletCanadaXuxue Feng PROPOSAL
Antonio O NestleAustraliaElwin Sharvill UNQUALIFIED
Chavez A CaldareraBrazilOnyama Limba PROPOSAL
Johnson J GauchoUnited KingdomIoni Bowcher QUALIFIED
Munro U SergiSpainXuxue Feng RENEWAL
Jeanfrancois O AmigonItalyIvan Magalhaes NEGOTIATION
Kadeem L IturbideBrazilOnyama Limba NEGOTIATION
Ivar E GillianAustraliaAsiya Javayant NEGOTIATION
Alejandro F MaletBrazilXuxue Feng NEGOTIATION
Silvio W DilliardJapanStephen Shaw UNQUALIFIED
Aditya W BologniaUnited KingdomAsiya Javayant QUALIFIED
Stacey J StockhamItalyXuxue Feng NEW
Tony I FigeroaBrazilAsiya Javayant RENEWAL
Kadeem W InouyeUnited KingdomStephen Shaw RENEWAL
Darci G SlusarskiBrazilIvan Magalhaes NEW
Silvio G WaycottUnited KingdomIoni Bowcher QUALIFIED
Jennifer J ShinkoBrazilIoni Bowcher UNQUALIFIED
Juan T WaycottUnited KingdomBernardo Dominic NEGOTIATION
Clifford Z ShinkoArgentinaXuxue Feng NEGOTIATION
Francesco J MaletGermanyAmy Elsner NEGOTIATION
Izzy N BowleyRussiaBernardo Dominic RENEWAL
Antonio M VenereFranceIvan Magalhaes RENEWAL
Kadeem N WhobreyCanadaAmy Elsner NEW
Izzy X IturbideFranceIvan Magalhaes NEGOTIATION
Isabel X MorascaGermanyIvan Magalhaes NEGOTIATION
Wickens P VocelkaIndiaXuxue Feng QUALIFIED
Stacey A WaycottAustraliaIvan Magalhaes NEW
Cody B SergiItalyIoni Bowcher RENEWAL
Mayumi O FollerIndiaOnyama Limba UNQUALIFIED
Mujtaba G StensethSpainBernardo Dominic NEGOTIATION
Juan H AmigonAustraliaXuxue Feng QUALIFIED
David S ChuiRussiaElwin Sharvill QUALIFIED
Kadeem X SlusarskiIndiaAmy Elsner QUALIFIED
Clifford Y VenereRussiaBernardo Dominic QUALIFIED
Mayumi E ShinkoArgentinaElwin Sharvill NEGOTIATION
Munro A MaletSpainAmy Elsner PROPOSAL
Jefferson S MarrierRussiaAsiya Javayant PROPOSAL
Leja Z MorascaAustraliaIvan Magalhaes NEW
Antonio N AlbaresCanadaElwin Sharvill RENEWAL
Emily W BowleyAustraliaElwin Sharvill UNQUALIFIED
Nicolas O CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Cody E GauchoIndiaStephen Shaw QUALIFIED
Juan O PaprockiItalyXuxue Feng NEGOTIATION
Nicolas X MorascaUnited KingdomAnna Fali QUALIFIED
Munro R RulapaughAustraliaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo S RutaCanadaIoni Bowcher PROPOSAL
Deepesh L MacleadBrazilIvan Magalhaes NEGOTIATION
Emily I RutaJapanAmy Elsner UNQUALIFIED
Tony Y AlbaresCanadaXuxue Feng RENEWAL
Clifford M RoysterAustraliaStephen Shaw PROPOSAL
Leja V ButtArgentinaIvan Magalhaes QUALIFIED
Maria P DarakjyItalyIoni Bowcher UNQUALIFIED
Kaitlin T GlickBrazilAnna Fali QUALIFIED
Munro R SaylorsArgentinaStephen Shaw NEW
Smith D MaletJapanElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow Q DoeFrance2026-10-04King, Christopher A Esq UNQUALIFIED90Bernardo Dominic
1001Ashley H BowleyRussia2026-10-06Chemel, James L Cpa QUALIFIED49Onyama Limba
1002Wickens I CaldareraIndia2026-09-26Rangoni Of Florence RENEWAL59Ivan Magalhaes
1003Maria U VenereSpain2026-10-19Feltz Printing Service NEGOTIATION51Elwin Sharvill
1004Chavez Z GauchoRussia2026-10-16Truhlar And Truhlar Attys PROPOSAL16Elwin Sharvill
1005Nicolas Y SchemmerAustralia2026-10-16Feiner Bros PROPOSAL54Amy Elsner
1006Jefferson P TollnerGermany2026-10-10Feltz Printing Service UNQUALIFIED73Amy Elsner
1007Darci P StensethItaly2026-10-18Rangoni Of Florence NEGOTIATION21Ioni Bowcher
1008Julie C ShinkoArgentina2026-10-07Truhlar And Truhlar Attys QUALIFIED49Onyama Limba
1009Cody G DoeItaly2026-10-08Rousseaux, Michael Esq QUALIFIED5Stephen Shaw
1010Kaitlin P WhobreyBrazil2026-10-14Buckley Miller Wright PROPOSAL46Ivan Magalhaes
1011Munro I IturbideFrance2026-10-15Morlong Associates QUALIFIED24Elwin Sharvill
1012Aika B CampainRussia2026-10-22Feiner Bros NEW3Stephen Shaw
1013Rodrigues A VocelkaGermany2026-10-17Buckley Miller Wright RENEWAL20Asiya Javayant
1014Emily V NickaItaly2026-10-06Printing Dimensions QUALIFIED72Elwin Sharvill
1015Antonio F CaldareraCanada2026-10-21Buckley Miller Wright PROPOSAL79Xuxue Feng
1016Leon M OstroskyRussia2026-09-29Dorl, James J Esq NEGOTIATION92Xuxue Feng
1017Juan Z PerinGermany2026-10-05Morlong Associates QUALIFIED94Stephen Shaw
1018Aika M StockhamCanada2026-10-20Chemel, James L Cpa UNQUALIFIED71Stephen Shaw
1019Salvatore Z PoquetteIndia2026-10-02Dorl, James J Esq UNQUALIFIED65Ioni Bowcher
1020Costa E OldroydArgentina2026-10-18Morlong Associates RENEWAL97Elwin Sharvill
1021Jennifer P MaletJapan2026-10-19King, Christopher A Esq UNQUALIFIED35Amy Elsner
1022Jefferson J FlosiUnited Kingdom2026-10-19Dorl, James J Esq RENEWAL70Elwin Sharvill
1023Antonio S PoquetteCanada2026-10-02Commercial Press RENEWAL13Amy Elsner
1024Jones Y MaletArgentina2026-10-08King, Christopher A Esq UNQUALIFIED8Elwin Sharvill
1025Rodrigues W FollerItaly2026-10-20Benton, John B Jr UNQUALIFIED1Amy Elsner
1026Aditya Q BowleyArgentina2026-10-09Rangoni Of Florence PROPOSAL28Amy Elsner
1027Greenwood U GillianCanada2026-10-01Rangoni Of Florence RENEWAL8Bernardo Dominic
1028Jeanfrancois G BriddickRussia2026-10-07Dorl, James J Esq RENEWAL22Ivan Magalhaes
1029Greenwood E AmigonCanada2026-10-08Chanay, Jeffrey A Esq NEW97Elwin Sharvill
1030Ivar C PoquetteSpain2026-09-29Dorl, James J Esq RENEWAL84Bernardo Dominic
1031Kadeem F VocelkaSpain2026-10-22Buckley Miller Wright UNQUALIFIED27Anna Fali
1032Wickens H KuskoCanada2026-10-15Benton, John B Jr NEW98Elwin Sharvill
1033Aika J FigeroaUnited Kingdom2026-10-08Rousseaux, Michael Esq UNQUALIFIED49Asiya Javayant
1034Kaitlin J WieserJapan2026-10-24King, Christopher A Esq RENEWAL38Onyama Limba
1035Costa I WieserRussia2026-09-27Chanay, Jeffrey A Esq RENEWAL84Onyama Limba
1036Faith L ButtIndia2026-10-12Truhlar And Truhlar Attys PROPOSAL44Amy Elsner
1037Juan V SlusarskiUnited Kingdom2026-10-07Buckley Miller Wright RENEWAL87Anna Fali
1038Emily G FollerIndia2026-10-07Truhlar And Truhlar Attys UNQUALIFIED94Xuxue Feng
1039Aika M MaletFrance2026-10-22Chemel, James L Cpa QUALIFIED15Bernardo Dominic
1040Stacey M OstroskyIndia2026-10-11Commercial Press NEW58Onyama Limba
1041Aika Y MaletItaly2026-10-19Rangoni Of Florence NEW31Bernardo Dominic
1042Mayumi A WieserCanada2026-10-12Benton, John B Jr UNQUALIFIED91Asiya Javayant
1043Kadeem R SlusarskiItaly2026-10-10Chanay, Jeffrey A Esq QUALIFIED91Xuxue Feng
1044Sinclair G NickaSpain2026-10-13Morlong Associates RENEWAL44Ivan Magalhaes
1045Deepesh D BriddickJapan2026-10-22Printing Dimensions RENEWAL94Anna Fali
1046Claire M ButtCanada2026-09-25Morlong Associates UNQUALIFIED69Bernardo Dominic
1047Juan G FerenczFrance2026-10-05Truhlar And Truhlar Attys PROPOSAL61Stephen Shaw
1048Maisha K DoeAustralia2026-10-07Chemel, James L Cpa NEGOTIATION0Amy Elsner
1049Tony X PaprockiArgentina2026-09-25Morlong Associates PROPOSAL94Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Isabel A BriddickAustraliaElwin Sharvill UNQUALIFIED
Johnson E SlusarskiItalyAnna Fali PROPOSAL
Izzy I CaudyArgentinaStephen Shaw NEW
Sinclair E FollerJapanStephen Shaw PROPOSAL
James V CaudyGermanyAmy Elsner QUALIFIED
Johnson Q StockhamRussiaXuxue Feng QUALIFIED
Jeanfrancois S KuskoSpainIvan Magalhaes NEGOTIATION
Morrow F WieserJapanAnna Fali NEGOTIATION
Ashley O NestleCanadaBernardo Dominic PROPOSAL
Wickens A FollerJapanAmy Elsner PROPOSAL
Adams F MacleadJapanOnyama Limba NEGOTIATION
Jennifer N NestleBrazilElwin Sharvill PROPOSAL
Rodrigues R SaylorsCanadaIoni Bowcher NEW
Isabel O IturbideIndiaAmy Elsner UNQUALIFIED
Morrow S BowleyIndiaOnyama Limba NEGOTIATION
Aruna C GauchoItalyElwin Sharvill NEGOTIATION
Jones F SchemmerGermanyBernardo Dominic NEGOTIATION
Jones F SergiIndiaIoni Bowcher QUALIFIED
Cody X AlbaresAustraliaBernardo Dominic RENEWAL
Ashley F VenereBrazilBernardo Dominic RENEWAL
Arvin C StockhamRussiaIoni Bowcher QUALIFIED
David A MarrierRussiaAnna Fali NEW
Ivar L BologniaGermanyXuxue Feng NEGOTIATION
Aika G KolmetzFranceAsiya Javayant UNQUALIFIED
Emily I DarakjyArgentinaBernardo Dominic NEGOTIATION
Julie L KuskoFranceXuxue Feng UNQUALIFIED
Arvin R DilliardGermanyOnyama Limba PROPOSAL
Emily K MarrierAustraliaAnna Fali NEGOTIATION
Julie K OldroydRussiaAnna Fali UNQUALIFIED
Antonio L OstroskyAustraliaAmy Elsner NEW
David Z VenereFranceAsiya Javayant NEGOTIATION
Octavia X AmigonJapanElwin Sharvill NEW
Kaitlin Z RimIndiaIoni Bowcher NEGOTIATION
Ashley Q SlusarskiRussiaAmy Elsner RENEWAL
Johnson E StockhamBrazilBernardo Dominic NEGOTIATION
Leon Q CampainIndiaAnna Fali UNQUALIFIED
Murillo D RutaArgentinaAmy Elsner PROPOSAL
Ivar P FlosiIndiaOnyama Limba RENEWAL
Jennifer R PaprockiItalyElwin Sharvill NEW
Francesco S DilliardArgentinaOnyama Limba PROPOSAL
Ivar F ChuiFranceElwin Sharvill QUALIFIED
Chavez K AlbaresArgentinaIvan Magalhaes RENEWAL
Chavez Z FigeroaFranceOnyama Limba QUALIFIED
Tony H PoquetteUnited KingdomIvan Magalhaes NEW
Nicolas I FollerSpainOnyama Limba PROPOSAL
Jennifer P GauchoGermanyOnyama Limba NEW
Salvatore Z GillianUnited KingdomAnna Fali RENEWAL
Mujtaba A WieserSpainAsiya Javayant RENEWAL
Greenwood O ShinkoFranceAmy Elsner NEW
Adams Q OstroskySpainXuxue Feng PROPOSAL
Frozen Columns
Name
Juan B Ostrosky
Deepesh T Dilliard
Tony S Glick
Julie A Tollner
Maria L Venere
Antonio U Saylors
Jennifer N Marrier
Leon L Schemmer
Kaitlin A Briddick
Kaitlin R Darakjy
Leja P Malet
Francesco N Inouye
Isabel G Waycott
Kaitlin O Maclead
Jeanfrancois V Caudy
Sinclair T Stenseth
Antonio A Marrier
Cody W Sergi
Munro D Wieser
Smith J Sergi
Misaki Y Chui
Ashley B Vocelka
Arvin H Venere
Salvatore H Figeroa
Munro Z Doe
Nicolas M Dilliard
Deepesh P Ferencz
Tony G Albares
Maria J Sergi
Deepesh B Tollner
Cody V Whobrey
Kadeem H Doe
Sinclair F Dilliard
Emily T Doe
Smith N Rulapaugh
Jones L Perin
Nicolas S Stenseth
Sinclair C Royster
Aditya O Nestle
Faith G Stenseth
Jefferson L Gillian
Jennifer G Doe
Aika V Darakjy
Morrow U Sergi
Aika H Ostrosky
Mayumi J Foller
Ivar O Chui
Wickens S Marrier
Aditya G Bowley
Chavez D Campain
IdCountryDate
1000France2026-10-21
1001France2026-10-16
1002France2026-10-12
1003Argentina2026-09-30
1004Brazil2026-10-24
1005Spain2026-10-23
1006Russia2026-09-30
1007Argentina2026-10-13
1008Argentina2026-10-23
1009Brazil2026-10-15
1010Brazil2026-10-07
1011Italy2026-10-21
1012Argentina2026-09-28
1013Germany2026-10-09
1014France2026-09-26
1015France2026-10-17
1016Italy2026-10-22
1017United Kingdom2026-10-11
1018India2026-09-26
1019Japan2026-10-24
1020United Kingdom2026-10-22
1021Spain2026-09-27
1022Japan2026-10-22
1023India2026-10-24
1024Russia2026-10-21
1025Spain2026-10-24
1026India2026-10-10
1027India2026-10-23
1028Argentina2026-10-23
1029Australia2026-10-07
1030Argentina2026-10-23
1031Australia2026-10-16
1032Russia2026-10-12
1033Germany2026-10-02
1034Italy2026-10-22
1035Canada2026-10-05
1036Italy2026-10-17
1037Russia2026-10-07
1038Spain2026-10-17
1039Russia2026-10-03
1040Canada2026-09-26
1041United Kingdom2026-10-04
1042United Kingdom2026-10-23
1043France2026-10-18
1044Brazil2026-09-25
1045Japan2026-10-12
1046Argentina2026-09-25
1047United Kingdom2026-10-08
1048Spain2026-10-06
1049India2026-10-01

On-Demand Data

NameIdCountryDate
Salvatore Q Chui1000India2026-10-15
Aruna E Kusko1001Spain2026-10-02
Jefferson F Amigon1002France2026-10-04
Smith A Ruta1003Australia2026-10-04
Smith N Nestle1004Brazil2026-10-23
Claire L Gillian1005Argentina2026-10-22
Murillo E Stockham1006Italy2026-10-15
Sinclair J Ruta1007Russia2026-10-05
Octavia X Saylors1008Russia2026-10-09
Maria P Paprocki1009United Kingdom2026-10-08
Ashley P Gillian1010Spain2026-10-03
Jennifer J Malet1011Australia2026-10-14
Stacey R Caudy1012France2026-10-08
Deepesh V Schemmer1013Brazil2026-10-23
Jefferson P Flosi1014Australia2026-10-10
Aika X Marrier1015Australia2026-10-01
Faith Y Ruta1016Russia2026-10-16
Claire V Foller1017Germany2026-09-30
Francesco Q Inouye1018France2026-09-27
Deepesh M Schemmer1019Argentina2026-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika U PoquetteGermanyOnyama Limba NEGOTIATION
Wickens N StockhamFranceAmy Elsner RENEWAL
Antonio I FigeroaGermanyIvan Magalhaes QUALIFIED
Greenwood H RimCanadaStephen Shaw PROPOSAL
Salvatore P FlosiRussiaAsiya Javayant PROPOSAL
Ricardo Y PoquetteGermanyIoni Bowcher UNQUALIFIED
Kadeem N MaletGermanyAmy Elsner RENEWAL
Sinclair F WaycottJapanAnna Fali NEW
Izzy G NestleUnited KingdomBernardo Dominic NEGOTIATION
Jefferson I StensethItalyAmy Elsner UNQUALIFIED
Claire Y RulapaughBrazilStephen Shaw RENEWAL
Tony M FlosiIndiaIvan Magalhaes PROPOSAL
Jones L SaylorsAustraliaIvan Magalhaes NEGOTIATION
Kadeem B RimRussiaOnyama Limba NEW
Darci W CampainIndiaOnyama Limba NEW
Clifford T WhobreyArgentinaAmy Elsner PROPOSAL
James O CaldareraCanadaXuxue Feng NEGOTIATION
Misaki F ButtArgentinaIvan Magalhaes NEW
Smith A IturbideCanadaAnna Fali NEW
Munro K PoquetteFranceAmy Elsner NEW
Leon P NickaFranceXuxue Feng RENEWAL
Kadeem E GauchoRussiaOnyama Limba NEGOTIATION
Ivar Z PoquetteAustraliaXuxue Feng PROPOSAL
Arvin T PerinSpainElwin Sharvill PROPOSAL
Ivar O PaprockiAustraliaAmy Elsner RENEWAL
James Z SlusarskiAustraliaOnyama Limba RENEWAL
Wickens Y VocelkaArgentinaAsiya Javayant RENEWAL
Jennifer D DilliardRussiaOnyama Limba NEW
Faith N ChuiRussiaXuxue Feng NEW
Julie B SaylorsJapanElwin Sharvill NEW
Aditya A MaletUnited KingdomOnyama Limba PROPOSAL
Greenwood T MaletCanadaAnna Fali NEGOTIATION
Sinclair X ChuiArgentinaAsiya Javayant NEW
Munro W VenereBrazilAnna Fali NEW
Murillo P OstroskyIndiaElwin Sharvill UNQUALIFIED
Wickens W TollnerSpainAsiya Javayant PROPOSAL
Faith S CaudyItalyStephen Shaw NEW
Costa I AlbaresAustraliaBernardo Dominic NEGOTIATION
Silvio X PaprockiRussiaOnyama Limba PROPOSAL
Emily C InouyeBrazilElwin Sharvill 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>