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
David C WhobreyBrazilAmy Elsner UNQUALIFIED
Ashley Z RoysterUnited KingdomElwin Sharvill RENEWAL
Izzy D RoysterArgentinaOnyama Limba QUALIFIED
Emily N GarufiIndiaOnyama Limba QUALIFIED
Ashley F InouyeUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues Z NestleBrazilElwin Sharvill PROPOSAL
Darci M PoquetteAustraliaIoni Bowcher NEGOTIATION
Arvin M BologniaIndiaOnyama Limba QUALIFIED
Kadeem G WaycottIndiaBernardo Dominic QUALIFIED
Isabel W SaylorsBrazilIvan Magalhaes NEGOTIATION
Antonio N FollerIndiaBernardo Dominic RENEWAL
Murillo B VenereGermanyAnna Fali PROPOSAL
Aditya D DilliardCanadaAmy Elsner PROPOSAL
Ashley T OldroydArgentinaElwin Sharvill UNQUALIFIED
Jefferson R DoeFranceIvan Magalhaes NEW
Nicolas S RoysterAustraliaBernardo Dominic NEW
Alejandro V NestleBrazilBernardo Dominic NEGOTIATION
Juan P RulapaughSpainElwin Sharvill UNQUALIFIED
Kaitlin M SlusarskiCanadaElwin Sharvill PROPOSAL
Maisha D KuskoUnited KingdomAsiya Javayant NEGOTIATION
Leon H GillianBrazilStephen Shaw NEW
Aruna K NickaGermanyIoni Bowcher PROPOSAL
Johnson H InouyeUnited KingdomBernardo Dominic QUALIFIED
Ashley T FollerCanadaAsiya Javayant NEW
Ivar P MaletJapanIoni Bowcher PROPOSAL
Julie N VocelkaAustraliaXuxue Feng NEW
James I SchemmerRussiaAmy Elsner QUALIFIED
David Z PoquetteBrazilAnna Fali NEGOTIATION
Maria F FigeroaGermanyStephen Shaw PROPOSAL
Leon Z KuskoCanadaIvan Magalhaes QUALIFIED
Ricardo T CampainItalyAmy Elsner NEW
Chavez E VocelkaBrazilElwin Sharvill QUALIFIED
Morrow N MorascaIndiaStephen Shaw UNQUALIFIED
Adams S PoquetteSpainAnna Fali QUALIFIED
Ricardo A RimItalyStephen Shaw QUALIFIED
Ashley Q FigeroaIndiaBernardo Dominic QUALIFIED
Silvio N CampainFranceOnyama Limba RENEWAL
Aika G AmigonJapanBernardo Dominic NEW
Kadeem C NickaCanadaAnna Fali RENEWAL
Silvio H DoeItalyAnna Fali PROPOSAL
Antonio J BowleyUnited KingdomIoni Bowcher NEW
Chavez T PoquetteBrazilAmy Elsner UNQUALIFIED
Ivar M ShinkoIndiaElwin Sharvill QUALIFIED
Juan V DilliardArgentinaAsiya Javayant UNQUALIFIED
Costa L SlusarskiAustraliaIoni Bowcher NEW
Ricardo J PerinUnited KingdomStephen Shaw PROPOSAL
Ashley M DoeFranceBernardo Dominic NEGOTIATION
Maisha N MorascaAustraliaXuxue Feng UNQUALIFIED
Silvio J DoeAustraliaOnyama Limba PROPOSAL
Ivar W RutaFranceStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Antonio Q TollnerJapanAsiya Javayant NEW
Munro Y ButtRussiaAsiya Javayant RENEWAL
Alejandro S KuskoFranceOnyama Limba NEGOTIATION
Adams P InouyeItalyBernardo Dominic NEGOTIATION
Adams L NestleItalyIoni Bowcher QUALIFIED
Wickens P FollerIndiaAnna Fali NEGOTIATION
David R GarufiGermanyStephen Shaw PROPOSAL
Sinclair O GlickFranceAnna Fali PROPOSAL
Smith H GlickBrazilXuxue Feng PROPOSAL
Jones M RoysterJapanAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley J KolmetzItaly2026-10-04Commercial Press UNQUALIFIED20Anna Fali
1001Maisha Z FerenczCanada2026-10-01Dorl, James J Esq NEW57Elwin Sharvill
1002Julie I OstroskyCanada2026-09-27Truhlar And Truhlar Attys UNQUALIFIED53Bernardo Dominic
1003Izzy V ButtRussia2026-10-24Feiner Bros PROPOSAL35Xuxue Feng
1004Murillo Y IturbideJapan2026-10-26Feltz Printing Service RENEWAL57Stephen Shaw
1005Stacey R PaprockiJapan2026-10-14Benton, John B Jr QUALIFIED74Amy Elsner
1006Aika Y NickaAustralia2026-10-13King, Christopher A Esq NEW10Ivan Magalhaes
1007Ashley O VenereIndia2026-09-27King, Christopher A Esq RENEWAL97Asiya Javayant
1008Aika L ChuiSpain2026-10-07Feiner Bros QUALIFIED28Stephen Shaw
1009Alejandro X StockhamRussia2026-10-25Rousseaux, Michael Esq RENEWAL0Bernardo Dominic
1010Claire G TollnerBrazil2026-10-25Dorl, James J Esq RENEWAL43Ioni Bowcher
1011Arvin G NickaFrance2026-09-27Feiner Bros RENEWAL33Onyama Limba
1012Ashley B KuskoIndia2026-10-01Rangoni Of Florence NEGOTIATION69Ivan Magalhaes
1013Julie G TollnerAustralia2026-10-02Dorl, James J Esq UNQUALIFIED34Asiya Javayant
1014Ricardo K BologniaUnited Kingdom2026-10-08Feltz Printing Service QUALIFIED85Ioni Bowcher
1015Rodrigues C WaycottGermany2026-10-03King, Christopher A Esq NEGOTIATION54Stephen Shaw
1016Costa Z ChuiFrance2026-10-07Rousseaux, Michael Esq QUALIFIED54Xuxue Feng
1017Juan Z BowleyAustralia2026-09-29Morlong Associates NEW54Ivan Magalhaes
1018Mujtaba P NestleAustralia2026-09-29Feltz Printing Service RENEWAL24Asiya Javayant
1019Tony S GillianItaly2026-09-30Rangoni Of Florence NEW92Onyama Limba
1020Juan I MaletArgentina2026-10-06Rangoni Of Florence PROPOSAL19Elwin Sharvill
1021Clifford P KolmetzGermany2026-10-06Truhlar And Truhlar Attys RENEWAL9Xuxue Feng
1022Rodrigues J FerenczRussia2026-10-08Rousseaux, Michael Esq RENEWAL93Ivan Magalhaes
1023Maisha L SergiFrance2026-09-27Feiner Bros QUALIFIED72Ivan Magalhaes
1024Adams K AlbaresJapan2026-10-16Feiner Bros QUALIFIED51Asiya Javayant
1025Deepesh M NickaIndia2026-10-01Chanay, Jeffrey A Esq RENEWAL63Xuxue Feng
1026Leja N KuskoUnited Kingdom2026-09-30Buckley Miller Wright PROPOSAL18Ivan Magalhaes
1027Aruna D RoysterRussia2026-10-16Morlong Associates UNQUALIFIED64Asiya Javayant
1028Maria R DarakjyArgentina2026-10-04Feltz Printing Service UNQUALIFIED79Asiya Javayant
1029Ivar G RutaFrance2026-10-19Truhlar And Truhlar Attys PROPOSAL67Asiya Javayant
1030Claire X AmigonFrance2026-10-08Chapman, Ross E Esq NEGOTIATION31Xuxue Feng
1031Kaitlin B KolmetzUnited Kingdom2026-10-11Truhlar And Truhlar Attys UNQUALIFIED82Anna Fali
1032Sinclair I OstroskyAustralia2026-10-16Buckley Miller Wright RENEWAL3Bernardo Dominic
1033Isabel N CaudyItaly2026-10-05Chemel, James L Cpa UNQUALIFIED33Ivan Magalhaes
1034Darci J GauchoBrazil2026-10-10Chapman, Ross E Esq NEGOTIATION12Amy Elsner
1035Jennifer D GillianArgentina2026-10-14Rangoni Of Florence RENEWAL96Xuxue Feng
1036Emily I OldroydItaly2026-10-03Dorl, James J Esq QUALIFIED8Ivan Magalhaes
1037Faith H DarakjyGermany2026-10-08Chapman, Ross E Esq RENEWAL65Elwin Sharvill
1038Izzy S NestleBrazil2026-10-07Commercial Press NEW96Onyama Limba
1039Leon E GarufiFrance2026-10-17Feltz Printing Service NEW2Anna Fali
1040Tony Q CampainJapan2026-10-07King, Christopher A Esq UNQUALIFIED51Anna Fali
1041Ashley Q WaycottGermany2026-10-25Morlong Associates QUALIFIED41Stephen Shaw
1042Faith V NickaCanada2026-10-06Buckley Miller Wright NEW52Asiya Javayant
1043Chavez P VenereBrazil2026-10-03Printing Dimensions NEW83Xuxue Feng
1044Jefferson H DarakjyGermany2026-10-12Commercial Press QUALIFIED30Ioni Bowcher
1045Chavez O SaylorsFrance2026-10-10Chanay, Jeffrey A Esq QUALIFIED53Xuxue Feng
1046Mayumi S BologniaArgentina2026-10-05Buckley Miller Wright QUALIFIED96Asiya Javayant
1047Izzy H RimBrazil2026-10-10Dorl, James J Esq NEW72Amy Elsner
1048Faith A VenereArgentina2026-09-28Feltz Printing Service RENEWAL5Amy Elsner
1049Clifford F DoeAustralia2026-10-16Feiner Bros PROPOSAL95Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Maisha Q StensethAustraliaXuxue Feng QUALIFIED
Kadeem D TollnerFranceStephen Shaw PROPOSAL
Emily Y OldroydBrazilIvan Magalhaes UNQUALIFIED
Faith S ButtBrazilOnyama Limba NEW
Silvio L BriddickRussiaAnna Fali PROPOSAL
Silvio L StensethItalyXuxue Feng PROPOSAL
Adams S DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Clifford R MaletSpainXuxue Feng PROPOSAL
Mayumi B MarrierFranceAnna Fali UNQUALIFIED
David S PaprockiJapanAsiya Javayant PROPOSAL
Juan H KuskoCanadaAnna Fali RENEWAL
Jefferson T StockhamIndiaAnna Fali UNQUALIFIED
Isabel B InouyeJapanElwin Sharvill NEW
Smith E IturbideSpainIoni Bowcher QUALIFIED
Adams M RimRussiaBernardo Dominic RENEWAL
Costa D SergiArgentinaXuxue Feng UNQUALIFIED
Alejandro Z VocelkaFranceAnna Fali UNQUALIFIED
Aruna L WieserUnited KingdomAsiya Javayant NEW
Clifford X SlusarskiJapanIvan Magalhaes NEGOTIATION
Jefferson E FerenczUnited KingdomIoni Bowcher NEW
Ivar U GauchoUnited KingdomElwin Sharvill QUALIFIED
Kaitlin M SchemmerBrazilElwin Sharvill NEW
Leon L SchemmerItalyXuxue Feng PROPOSAL
Leon E SaylorsAustraliaIoni Bowcher RENEWAL
Claire R VocelkaArgentinaStephen Shaw PROPOSAL
Jefferson J GlickFranceAnna Fali QUALIFIED
Murillo O CaudyCanadaXuxue Feng QUALIFIED
Darci V AmigonUnited KingdomOnyama Limba UNQUALIFIED
Sinclair X FollerBrazilBernardo Dominic PROPOSAL
Rodrigues U StensethUnited KingdomXuxue Feng QUALIFIED
Clifford T KolmetzGermanyElwin Sharvill RENEWAL
Alejandro M ButtArgentinaStephen Shaw PROPOSAL
Kadeem A PoquetteBrazilElwin Sharvill NEW
Misaki Q FerenczRussiaAnna Fali UNQUALIFIED
Jones D GauchoIndiaOnyama Limba NEGOTIATION
Arvin L CampainItalyIoni Bowcher RENEWAL
Mayumi X InouyeFranceOnyama Limba NEW
Aditya K SaylorsRussiaIoni Bowcher RENEWAL
Mayumi D VenereJapanAmy Elsner PROPOSAL
Stacey F DilliardSpainIoni Bowcher NEGOTIATION
Misaki U KolmetzSpainAnna Fali RENEWAL
Antonio G NestleArgentinaBernardo Dominic RENEWAL
Kaitlin Z IturbideSpainAsiya Javayant PROPOSAL
Ivar Z ButtGermanyXuxue Feng NEGOTIATION
Adams D FlosiFranceIoni Bowcher NEGOTIATION
Mayumi U CampainItalyBernardo Dominic RENEWAL
Faith P GauchoItalyStephen Shaw NEGOTIATION
Murillo Q SaylorsIndiaAnna Fali NEW
Leja N RimArgentinaStephen Shaw UNQUALIFIED
Morrow E SchemmerJapanAnna Fali RENEWAL
Frozen Columns
Name
Alejandro R Marrier
Cody B Albares
James N Malet
Costa R Dilliard
Aruna Z Glick
Cody G Rulapaugh
Emily D Campain
Jeanfrancois Q Kusko
Smith U Ostrosky
Greenwood X Ferencz
Stacey E Wieser
Cody P Kolmetz
Jeanfrancois M Stenseth
Deepesh O Amigon
Ashley X Ostrosky
David R Inouye
Ricardo V Waycott
Misaki N Campain
Jefferson S Waycott
Tony V Paprocki
Julie Z Paprocki
Izzy A Ostrosky
Jones I Campain
Aika D Figeroa
Adams K Inouye
Isabel G Rim
Francesco V Foller
Aika Q Amigon
Alejandro V Doe
Aditya A Poquette
Johnson K Briddick
Wickens X Wieser
Munro M Oldroyd
Juan R Briddick
Ricardo O Paprocki
Adams C Doe
Faith L Wieser
Faith H Oldroyd
Octavia Y Whobrey
Antonio D Glick
Johnson M Royster
Emily V Flosi
Ricardo B Morasca
Greenwood A Kusko
Maisha V Marrier
Jefferson G Doe
Costa P Albares
Izzy K Iturbide
Smith W Nicka
Izzy J Rulapaugh
IdCountryDate
1000Brazil2026-10-07
1001France2026-10-18
1002Italy2026-10-06
1003Spain2026-09-30
1004Canada2026-10-25
1005Brazil2026-10-22
1006Australia2026-09-28
1007Spain2026-10-09
1008Argentina2026-10-23
1009Germany2026-09-28
1010Brazil2026-10-05
1011Argentina2026-09-28
1012India2026-09-30
1013Canada2026-10-01
1014India2026-10-08
1015Japan2026-10-09
1016Japan2026-10-16
1017Argentina2026-10-06
1018Germany2026-09-28
1019Canada2026-10-21
1020Germany2026-10-01
1021Russia2026-10-16
1022Spain2026-10-24
1023India2026-09-29
1024Russia2026-10-26
1025India2026-10-18
1026India2026-10-01
1027France2026-10-10
1028France2026-09-27
1029Australia2026-10-05
1030Russia2026-10-17
1031Argentina2026-10-04
1032United Kingdom2026-10-25
1033Australia2026-10-06
1034Germany2026-10-26
1035India2026-10-26
1036Italy2026-10-08
1037Germany2026-10-04
1038Japan2026-09-30
1039Brazil2026-10-21
1040Japan2026-10-08
1041Russia2026-10-06
1042Italy2026-10-09
1043Australia2026-10-14
1044United Kingdom2026-10-11
1045United Kingdom2026-10-03
1046Russia2026-10-23
1047Italy2026-10-24
1048Australia2026-10-24
1049Japan2026-09-28

On-Demand Data

NameIdCountryDate
Johnson F Darakjy1000Canada2026-10-18
Wickens A Stockham1001Argentina2026-10-18
Emily P Figeroa1002Russia2026-10-12
Jennifer Q Nestle1003Spain2026-10-06
Clifford Q Paprocki1004Canada2026-09-27
Leon R Rulapaugh1005Canada2026-10-04
Aruna F Paprocki1006Spain2026-10-21
Emily H Doe1007India2026-10-22
Aditya S Malet1008Italy2026-09-30
Smith X Albares1009Argentina2026-10-06
Mayumi Z Dilliard1010Argentina2026-10-24
Adams U Stockham1011Brazil2026-10-10
Munro E Sergi1012France2026-10-16
Tony F Wieser1013Japan2026-10-11
Costa K Saylors1014Spain2026-10-24
Maisha L Morasca1015Japan2026-10-01
Deepesh R Morasca1016Germany2026-10-19
Ivar V Caudy1017India2026-10-24
Salvatore J Malet1018Argentina2026-10-24
Faith S Nicka1019Argentina2026-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams G GarufiItalyStephen Shaw NEGOTIATION
Sinclair U ButtIndiaAmy Elsner NEGOTIATION
Juan D GarufiJapanXuxue Feng RENEWAL
Jennifer H GauchoRussiaIvan Magalhaes PROPOSAL
Leon Q StockhamUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba B PoquetteBrazilXuxue Feng UNQUALIFIED
Deepesh C FollerArgentinaBernardo Dominic NEGOTIATION
Isabel K GarufiUnited KingdomAmy Elsner QUALIFIED
Aruna H KuskoBrazilIvan Magalhaes QUALIFIED
Deepesh X RulapaughArgentinaStephen Shaw NEGOTIATION
Rodrigues G SaylorsAustraliaStephen Shaw NEGOTIATION
Cody B WhobreyAustraliaAmy Elsner NEGOTIATION
Adams F WhobreyRussiaIvan Magalhaes NEGOTIATION
Jones Z WhobreyFranceXuxue Feng PROPOSAL
Clifford U OldroydIndiaIoni Bowcher RENEWAL
Jones L StensethArgentinaBernardo Dominic PROPOSAL
Jeanfrancois B WaycottItalyOnyama Limba QUALIFIED
Ricardo W BowleyItalyIvan Magalhaes NEW
Jefferson N VenereItalyAnna Fali QUALIFIED
Maisha U MacleadArgentinaXuxue Feng UNQUALIFIED
Maria L TollnerGermanyBernardo Dominic RENEWAL
Deepesh M WhobreySpainXuxue Feng NEW
Silvio A CampainBrazilElwin Sharvill RENEWAL
Aruna P WieserUnited KingdomIvan Magalhaes NEW
Emily O SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Julie F DilliardJapanXuxue Feng UNQUALIFIED
Aditya U GarufiRussiaBernardo Dominic RENEWAL
Leon M GarufiUnited KingdomElwin Sharvill QUALIFIED
Maria Q RutaArgentinaAnna Fali PROPOSAL
Chavez L SergiBrazilAnna Fali NEW
Izzy N AlbaresAustraliaBernardo Dominic QUALIFIED
Deepesh X MacleadSpainIoni Bowcher NEGOTIATION
Jennifer P IturbideGermanyXuxue Feng RENEWAL
Julie K AmigonIndiaAmy Elsner QUALIFIED
Sinclair A PaprockiUnited KingdomIvan Magalhaes RENEWAL
Morrow D RutaIndiaAsiya Javayant RENEWAL
Isabel Q MaletAustraliaAsiya Javayant UNQUALIFIED
Tony C OstroskyItalyIoni Bowcher NEGOTIATION
Juan A MacleadUnited KingdomIoni Bowcher NEGOTIATION
Octavia M MaletSpainIoni Bowcher 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>