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
Rodrigues X ChuiItalyAmy Elsner UNQUALIFIED
Arvin B AmigonIndiaAmy Elsner RENEWAL
Greenwood W KolmetzFranceXuxue Feng PROPOSAL
Francesco H OldroydIndiaAnna Fali RENEWAL
Ivar M KuskoUnited KingdomAmy Elsner PROPOSAL
Claire K FerenczUnited KingdomOnyama Limba RENEWAL
Arvin N BologniaJapanAsiya Javayant NEW
Salvatore K WieserAustraliaXuxue Feng PROPOSAL
Aika Y OstroskyUnited KingdomXuxue Feng RENEWAL
Arvin I GillianGermanyBernardo Dominic RENEWAL
Adams E WaycottCanadaOnyama Limba NEW
Maisha W CaudyBrazilIoni Bowcher QUALIFIED
Alejandro M StensethBrazilIoni Bowcher QUALIFIED
Leon M WaycottAustraliaIvan Magalhaes PROPOSAL
Alejandro O CampainArgentinaAnna Fali NEGOTIATION
Isabel Z VenereJapanOnyama Limba PROPOSAL
Munro F MacleadArgentinaAnna Fali QUALIFIED
Julie N VocelkaCanadaBernardo Dominic QUALIFIED
Morrow U KuskoUnited KingdomElwin Sharvill NEW
Greenwood K BowleyUnited KingdomXuxue Feng NEW
Murillo D VenereArgentinaElwin Sharvill RENEWAL
Salvatore E AlbaresIndiaIoni Bowcher RENEWAL
Francesco B ButtItalyXuxue Feng RENEWAL
Aditya L RutaIndiaAsiya Javayant NEW
Arvin Y OstroskyCanadaAnna Fali NEGOTIATION
Jeanfrancois X DarakjyBrazilBernardo Dominic NEGOTIATION
Clifford V KuskoCanadaIvan Magalhaes NEW
Jones A GlickUnited KingdomAnna Fali PROPOSAL
Aditya B BologniaRussiaAmy Elsner RENEWAL
Munro B OldroydIndiaAnna Fali NEW
Maria L RoysterItalyXuxue Feng NEGOTIATION
Kaitlin P ButtRussiaAnna Fali PROPOSAL
Clifford P SergiJapanAsiya Javayant NEGOTIATION
Ashley Y NestleSpainAsiya Javayant PROPOSAL
Darci Y MaletIndiaIoni Bowcher QUALIFIED
Jeanfrancois H DarakjyUnited KingdomOnyama Limba QUALIFIED
Clifford O PaprockiFranceAsiya Javayant NEW
Mayumi K MaletBrazilBernardo Dominic NEGOTIATION
Mayumi R TollnerUnited KingdomAnna Fali UNQUALIFIED
Aditya I WieserJapanIvan Magalhaes NEGOTIATION
Johnson R SaylorsBrazilAnna Fali QUALIFIED
Murillo O MorascaUnited KingdomXuxue Feng UNQUALIFIED
Johnson Z FigeroaItalyAsiya Javayant UNQUALIFIED
Juan G ButtFranceIoni Bowcher UNQUALIFIED
Deepesh J StockhamCanadaStephen Shaw QUALIFIED
Darci L KuskoIndiaXuxue Feng PROPOSAL
Murillo W RoysterGermanyStephen Shaw QUALIFIED
Salvatore G NickaFranceXuxue Feng UNQUALIFIED
Aruna I NickaIndiaAsiya Javayant RENEWAL
Juan Z WhobreyUnited KingdomIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa T MacleadUnited KingdomElwin Sharvill QUALIFIED
Emily K KolmetzFranceAmy Elsner NEW
Tony U RutaGermanyOnyama Limba PROPOSAL
Maria I ChuiItalyIvan Magalhaes NEW
Salvatore E MacleadUnited KingdomIvan Magalhaes QUALIFIED
Aika D SaylorsJapanAmy Elsner NEGOTIATION
Jennifer O MorascaArgentinaIvan Magalhaes QUALIFIED
Sinclair Z ChuiArgentinaIoni Bowcher RENEWAL
Misaki X WaycottCanadaIvan Magalhaes PROPOSAL
Juan X SlusarskiItalyBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson E ButtIndia2026-10-11Commercial Press QUALIFIED40Ivan Magalhaes
1001Munro L SlusarskiRussia2026-10-31Chanay, Jeffrey A Esq UNQUALIFIED14Asiya Javayant
1002Rodrigues P GauchoGermany2026-10-08Rangoni Of Florence QUALIFIED34Amy Elsner
1003Leon W MacleadAustralia2026-10-22Printing Dimensions UNQUALIFIED18Anna Fali
1004Sinclair E RulapaughSpain2026-10-21Feiner Bros UNQUALIFIED8Ivan Magalhaes
1005Stacey Q PoquetteAustralia2026-10-22Rangoni Of Florence NEGOTIATION20Onyama Limba
1006Claire F DarakjyJapan2026-10-25Chapman, Ross E Esq PROPOSAL58Xuxue Feng
1007Francesco M DoeSpain2026-10-26Chanay, Jeffrey A Esq QUALIFIED9Amy Elsner
1008Chavez G ShinkoArgentina2026-10-26Rousseaux, Michael Esq NEGOTIATION5Ioni Bowcher
1009Silvio N WhobreyUnited Kingdom2026-10-23Commercial Press NEGOTIATION43Anna Fali
1010Tony E MacleadItaly2026-10-11Rousseaux, Michael Esq UNQUALIFIED99Onyama Limba
1011Nicolas H GillianItaly2026-10-28Printing Dimensions NEW53Ioni Bowcher
1012Adams L FlosiSpain2026-10-08Buckley Miller Wright NEGOTIATION38Xuxue Feng
1013Aika G AmigonAustralia2026-10-18Chanay, Jeffrey A Esq RENEWAL60Amy Elsner
1014Octavia K MaletSpain2026-10-23Buckley Miller Wright NEW94Ivan Magalhaes
1015Alejandro P StensethUnited Kingdom2026-10-29Morlong Associates NEW62Asiya Javayant
1016Cody W MorascaGermany2026-10-26Printing Dimensions QUALIFIED2Onyama Limba
1017Emily J FigeroaAustralia2026-10-24Morlong Associates RENEWAL18Onyama Limba
1018Faith E DoeArgentina2026-10-12Chemel, James L Cpa NEGOTIATION90Ioni Bowcher
1019Arvin O IturbideGermany2026-10-27Benton, John B Jr NEW15Anna Fali
1020Izzy S RimItaly2026-10-02Truhlar And Truhlar Attys NEW66Bernardo Dominic
1021Ricardo L PoquetteArgentina2026-10-02Chapman, Ross E Esq QUALIFIED92Ioni Bowcher
1022Rodrigues V RimArgentina2026-10-29Dorl, James J Esq QUALIFIED75Elwin Sharvill
1023Octavia U FerenczItaly2026-10-27Chapman, Ross E Esq RENEWAL48Amy Elsner
1024Juan F FerenczItaly2026-10-18Morlong Associates RENEWAL17Ivan Magalhaes
1025Arvin U StockhamItaly2026-10-02Truhlar And Truhlar Attys UNQUALIFIED77Bernardo Dominic
1026Juan Y VenereFrance2026-10-06Chemel, James L Cpa NEGOTIATION44Elwin Sharvill
1027Nicolas H RoysterArgentina2026-10-19Printing Dimensions NEW53Onyama Limba
1028Adams A GillianGermany2026-10-12Chanay, Jeffrey A Esq QUALIFIED36Anna Fali
1029Nicolas T OstroskyAustralia2026-10-26King, Christopher A Esq UNQUALIFIED62Stephen Shaw
1030Nicolas N NestleJapan2026-10-18Feiner Bros UNQUALIFIED83Ioni Bowcher
1031Wickens I MarrierGermany2026-10-10Commercial Press RENEWAL31Ioni Bowcher
1032Leon W BologniaItaly2026-10-23Benton, John B Jr RENEWAL79Asiya Javayant
1033Alejandro O DarakjyUnited Kingdom2026-10-19Chemel, James L Cpa NEW28Ioni Bowcher
1034Julie X GillianItaly2026-10-21Chanay, Jeffrey A Esq UNQUALIFIED73Bernardo Dominic
1035James G TollnerGermany2026-10-11Feltz Printing Service QUALIFIED68Amy Elsner
1036Misaki K GarufiFrance2026-10-28King, Christopher A Esq NEGOTIATION24Asiya Javayant
1037Nicolas K StensethArgentina2026-10-20Morlong Associates QUALIFIED34Amy Elsner
1038Antonio L MaletItaly2026-10-05Dorl, James J Esq NEW38Ioni Bowcher
1039Claire O NickaJapan2026-10-19Commercial Press QUALIFIED49Asiya Javayant
1040Tony C PerinRussia2026-10-19Benton, John B Jr NEGOTIATION67Ioni Bowcher
1041Maisha U PerinGermany2026-10-13Chanay, Jeffrey A Esq PROPOSAL80Elwin Sharvill
1042Octavia K TollnerArgentina2026-10-10Feltz Printing Service NEW69Amy Elsner
1043Clifford X CampainBrazil2026-10-23Truhlar And Truhlar Attys RENEWAL75Onyama Limba
1044James N GillianItaly2026-10-15Rousseaux, Michael Esq NEGOTIATION83Asiya Javayant
1045Tony Z OstroskyRussia2026-10-24Dorl, James J Esq UNQUALIFIED80Amy Elsner
1046Chavez F BologniaJapan2026-10-15Feltz Printing Service NEGOTIATION25Stephen Shaw
1047Adams Y WhobreyRussia2026-10-09Dorl, James J Esq PROPOSAL81Asiya Javayant
1048Misaki M MorascaRussia2026-10-16Commercial Press QUALIFIED97Xuxue Feng
1049James K CampainCanada2026-10-04King, Christopher A Esq UNQUALIFIED20Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Octavia X NestleCanadaXuxue Feng RENEWAL
Wickens D WaycottArgentinaXuxue Feng RENEWAL
Arvin F PoquetteCanadaBernardo Dominic NEGOTIATION
Arvin M SchemmerJapanAsiya Javayant NEGOTIATION
Aditya J SlusarskiArgentinaIvan Magalhaes QUALIFIED
Isabel R RulapaughRussiaAsiya Javayant NEGOTIATION
Octavia U TollnerFranceIvan Magalhaes NEGOTIATION
Jennifer X FollerJapanXuxue Feng RENEWAL
Salvatore J KuskoFranceBernardo Dominic NEW
Octavia C FlosiIndiaOnyama Limba QUALIFIED
Julie K GauchoIndiaOnyama Limba NEGOTIATION
Jennifer F InouyeRussiaAmy Elsner RENEWAL
Misaki R AmigonBrazilAnna Fali PROPOSAL
Salvatore I MaletCanadaAsiya Javayant NEW
Francesco C NestleRussiaOnyama Limba PROPOSAL
Faith M PerinAustraliaAnna Fali PROPOSAL
Salvatore E CaudyGermanyIvan Magalhaes PROPOSAL
Munro I DoeCanadaElwin Sharvill NEW
Smith B CampainCanadaStephen Shaw UNQUALIFIED
Izzy Z GarufiJapanElwin Sharvill QUALIFIED
Isabel D IturbideBrazilElwin Sharvill QUALIFIED
Jennifer C RimIndiaElwin Sharvill UNQUALIFIED
Tony K KuskoJapanIvan Magalhaes NEGOTIATION
Clifford J OstroskyCanadaXuxue Feng QUALIFIED
Silvio J StockhamRussiaAnna Fali NEW
Ashley M WaycottBrazilIoni Bowcher RENEWAL
Maria H GlickRussiaAnna Fali UNQUALIFIED
Aditya I DarakjyArgentinaIvan Magalhaes NEGOTIATION
Antonio J StensethGermanyStephen Shaw QUALIFIED
Munro F DoeFranceAnna Fali QUALIFIED
Mayumi P BowleySpainBernardo Dominic RENEWAL
Sinclair J MacleadFranceBernardo Dominic UNQUALIFIED
Antonio A MaletAustraliaStephen Shaw RENEWAL
Salvatore V BowleyUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba A SaylorsRussiaAsiya Javayant UNQUALIFIED
Aika D OldroydCanadaAsiya Javayant UNQUALIFIED
Misaki X GarufiIndiaBernardo Dominic NEGOTIATION
Costa I DoeItalyAsiya Javayant NEW
Johnson H MacleadRussiaIoni Bowcher QUALIFIED
Silvio Q MaletFranceAsiya Javayant UNQUALIFIED
David E GillianCanadaAsiya Javayant NEGOTIATION
Ivar P CaudyJapanStephen Shaw RENEWAL
Jefferson K KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Jefferson C TollnerJapanIoni Bowcher NEW
Rodrigues B FigeroaRussiaIoni Bowcher NEW
Octavia F MaletCanadaStephen Shaw NEW
Johnson S CaldareraCanadaStephen Shaw PROPOSAL
Leon E OstroskyArgentinaBernardo Dominic NEGOTIATION
David I CampainFranceAsiya Javayant PROPOSAL
Izzy L DilliardCanadaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Isabel K Amigon
Wickens Y Sergi
Mujtaba L Caudy
Adams X Venere
Izzy Y Maclead
Isabel Y Amigon
Ivar D Campain
Octavia B Nestle
Leja D Gaucho
Claire E Morasca
Jeanfrancois U Wieser
Francesco N Nicka
Antonio O Poquette
Nicolas K Garufi
Octavia Q Ostrosky
Jones R Venere
Johnson I Nestle
Smith S Vocelka
Ashley V Shinko
Octavia D Ostrosky
Isabel P Ferencz
Johnson Y Paprocki
Antonio R Flosi
Johnson N Slusarski
Costa O Briddick
Isabel C Marrier
Izzy E Waycott
Nicolas B Caldarera
Aika F Poquette
Sinclair S Nicka
Salvatore W Bowley
Juan R Garufi
Munro T Stenseth
Alejandro H Slusarski
Greenwood Z Wieser
Francesco T Glick
Rodrigues L Slusarski
Julie H Chui
Smith J Tollner
Jeanfrancois Q Bowley
James Q Ferencz
Izzy T Saylors
Cody H Perin
Johnson S Caudy
Arvin M Sergi
Nicolas Q Malet
Smith E Glick
Mujtaba J Sergi
Costa R Inouye
Maisha E Waycott
IdCountryDate
1000France2026-10-13
1001Russia2026-10-04
1002Germany2026-10-11
1003Italy2026-10-07
1004Argentina2026-10-15
1005Japan2026-10-20
1006Russia2026-10-19
1007Russia2026-10-20
1008Canada2026-10-25
1009France2026-10-26
1010Brazil2026-10-25
1011Spain2026-10-17
1012Italy2026-10-15
1013Australia2026-10-24
1014Germany2026-10-15
1015Japan2026-10-02
1016United Kingdom2026-10-05
1017Brazil2026-10-29
1018India2026-10-31
1019United Kingdom2026-10-07
1020France2026-10-24
1021Australia2026-10-31
1022Spain2026-10-06
1023Germany2026-10-06
1024Russia2026-10-15
1025Brazil2026-10-22
1026Brazil2026-10-27
1027France2026-10-10
1028Germany2026-10-04
1029India2026-10-31
1030Canada2026-10-15
1031India2026-10-19
1032Australia2026-10-31
1033Germany2026-10-15
1034Argentina2026-10-14
1035India2026-10-05
1036United Kingdom2026-10-26
1037Germany2026-10-25
1038Italy2026-10-13
1039Argentina2026-10-19
1040France2026-10-04
1041Argentina2026-10-29
1042Australia2026-10-21
1043Italy2026-10-21
1044Russia2026-10-06
1045United Kingdom2026-10-24
1046Argentina2026-10-14
1047Canada2026-10-17
1048Australia2026-10-04
1049Italy2026-10-20

On-Demand Data

NameIdCountryDate
Jeanfrancois Q Morasca1000Russia2026-10-19
Sinclair I Schemmer1001Spain2026-10-27
Leon A Gillian1002Brazil2026-10-06
Mayumi L Glick1003Japan2026-10-15
Wickens K Garufi1004Argentina2026-10-07
Chavez Z Gillian1005Germany2026-10-03
Darci D Briddick1006France2026-10-10
Munro W Flosi1007Russia2026-10-03
Misaki F Rulapaugh1008Spain2026-10-24
Darci M Saylors1009India2026-10-13
Maria C Kusko1010United Kingdom2026-10-10
Adams I Rulapaugh1011Brazil2026-10-17
Costa S Wieser1012India2026-10-14
Greenwood B Tollner1013France2026-10-30
Jefferson L Foller1014France2026-10-14
Izzy A Dilliard1015Brazil2026-10-03
Jennifer R Perin1016Germany2026-10-04
Mayumi B Ostrosky1017Germany2026-10-21
Julie G Whobrey1018United Kingdom2026-10-16
Jeanfrancois C Venere1019Brazil2026-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson S RoysterRussiaAmy Elsner UNQUALIFIED
Nicolas O TollnerGermanyBernardo Dominic NEW
Ivar E WieserSpainIoni Bowcher NEGOTIATION
Francesco N OldroydArgentinaBernardo Dominic NEW
Salvatore O CaldareraUnited KingdomAmy Elsner NEGOTIATION
Aika L FollerArgentinaStephen Shaw NEGOTIATION
Stacey G CaldareraCanadaAsiya Javayant NEGOTIATION
Jeanfrancois X SaylorsRussiaOnyama Limba PROPOSAL
Faith G FlosiItalyElwin Sharvill NEGOTIATION
Aditya H WaycottGermanyAmy Elsner PROPOSAL
Izzy F MaletSpainAmy Elsner PROPOSAL
Sinclair P MaletArgentinaStephen Shaw RENEWAL
Leja X PoquetteJapanAsiya Javayant RENEWAL
Aika K FollerGermanyAmy Elsner RENEWAL
Sinclair H WieserCanadaIoni Bowcher PROPOSAL
Smith M BriddickAustraliaStephen Shaw PROPOSAL
Leja E AmigonCanadaOnyama Limba NEGOTIATION
Emily K ChuiJapanIoni Bowcher UNQUALIFIED
Darci X RutaCanadaIoni Bowcher RENEWAL
Izzy H InouyeAustraliaBernardo Dominic NEGOTIATION
Juan U StensethItalyAnna Fali PROPOSAL
Smith C AlbaresUnited KingdomAnna Fali QUALIFIED
Faith Z GarufiRussiaOnyama Limba NEGOTIATION
Ashley Y StensethBrazilXuxue Feng NEGOTIATION
Octavia Y WieserBrazilOnyama Limba PROPOSAL
Chavez B ButtIndiaAsiya Javayant QUALIFIED
David S AlbaresAustraliaIvan Magalhaes PROPOSAL
Aruna H BologniaRussiaIvan Magalhaes UNQUALIFIED
Jefferson O RulapaughSpainElwin Sharvill UNQUALIFIED
Rodrigues B GillianFranceAsiya Javayant NEGOTIATION
Ivar P DoeItalyOnyama Limba QUALIFIED
Silvio D KolmetzRussiaIvan Magalhaes NEW
Kadeem O AmigonAustraliaElwin Sharvill NEGOTIATION
Silvio F DilliardArgentinaBernardo Dominic QUALIFIED
Rodrigues Z FollerArgentinaAmy Elsner UNQUALIFIED
Arvin O BowleyJapanAmy Elsner RENEWAL
Izzy C SchemmerFranceXuxue Feng QUALIFIED
Cody O ChuiBrazilOnyama Limba UNQUALIFIED
Sinclair S BowleyFranceOnyama Limba QUALIFIED
Ivar T AlbaresAustraliaIoni Bowcher 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>