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
Juan S IturbideFranceAnna Fali QUALIFIED
Chavez L TollnerAustraliaStephen Shaw NEGOTIATION
Nicolas B DoeItalyIvan Magalhaes QUALIFIED
Leja Q ShinkoCanadaStephen Shaw QUALIFIED
Rodrigues C StensethSpainXuxue Feng NEGOTIATION
Jefferson K ButtJapanStephen Shaw RENEWAL
Leja Z FigeroaCanadaStephen Shaw RENEWAL
Maisha Q RimArgentinaAnna Fali PROPOSAL
Aika C ButtBrazilAmy Elsner NEGOTIATION
Darci M PerinSpainIvan Magalhaes PROPOSAL
Julie F GauchoJapanIoni Bowcher PROPOSAL
Ashley A InouyeGermanyElwin Sharvill NEGOTIATION
Murillo O NickaJapanAsiya Javayant UNQUALIFIED
Kaitlin N AmigonRussiaElwin Sharvill RENEWAL
Tony T MacleadCanadaOnyama Limba QUALIFIED
Morrow A GillianItalyElwin Sharvill RENEWAL
Silvio V ButtArgentinaBernardo Dominic QUALIFIED
Francesco Z GauchoCanadaBernardo Dominic RENEWAL
Aika R ChuiFranceIvan Magalhaes UNQUALIFIED
James R RimGermanyOnyama Limba RENEWAL
Smith U RimCanadaStephen Shaw NEGOTIATION
Jefferson N ButtAustraliaOnyama Limba NEW
Rodrigues Q FigeroaRussiaIoni Bowcher UNQUALIFIED
Maisha A ShinkoCanadaOnyama Limba PROPOSAL
Chavez L AmigonUnited KingdomAmy Elsner NEGOTIATION
Ashley S KolmetzAustraliaIvan Magalhaes NEGOTIATION
Sinclair F GauchoGermanyAmy Elsner UNQUALIFIED
Izzy B VenereRussiaXuxue Feng UNQUALIFIED
Adams V StockhamRussiaIoni Bowcher NEW
Ivar C BologniaGermanyBernardo Dominic NEGOTIATION
Clifford Y MacleadGermanyElwin Sharvill NEGOTIATION
Leon F PerinUnited KingdomAmy Elsner RENEWAL
Tony L CaldareraRussiaIoni Bowcher PROPOSAL
Juan O DarakjyArgentinaElwin Sharvill QUALIFIED
Aruna L GauchoCanadaIoni Bowcher RENEWAL
Ivar O WieserSpainIoni Bowcher NEW
Rodrigues T MarrierArgentinaElwin Sharvill NEW
Silvio C GlickItalyStephen Shaw NEW
Faith Y KolmetzRussiaAnna Fali PROPOSAL
Ivar N PerinJapanBernardo Dominic QUALIFIED
Kadeem H CaudyJapanIvan Magalhaes QUALIFIED
Costa M RutaItalyIvan Magalhaes RENEWAL
Adams P DilliardSpainAsiya Javayant QUALIFIED
James N CaudyBrazilIvan Magalhaes RENEWAL
David I AmigonFranceAsiya Javayant UNQUALIFIED
Adams Z TollnerJapanAnna Fali NEGOTIATION
Jennifer G RoysterIndiaIoni Bowcher RENEWAL
Johnson D RulapaughAustraliaAnna Fali NEW
Adams J ChuiCanadaStephen Shaw QUALIFIED
Wickens L WieserArgentinaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo G FerenczArgentinaIoni Bowcher NEW
Misaki H CampainFranceAmy Elsner UNQUALIFIED
Nicolas T ButtUnited KingdomIvan Magalhaes RENEWAL
Costa G MaletBrazilAmy Elsner NEW
Adams H GillianGermanyOnyama Limba PROPOSAL
Rodrigues U SlusarskiItalyBernardo Dominic UNQUALIFIED
Juan K BologniaArgentinaAsiya Javayant NEGOTIATION
Mujtaba G SlusarskiArgentinaXuxue Feng UNQUALIFIED
Rodrigues K FerenczAustraliaIvan Magalhaes PROPOSAL
Mayumi E AmigonIndiaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin V SchemmerItaly2026-10-13Chemel, James L Cpa UNQUALIFIED66Amy Elsner
1001Arvin X ButtRussia2026-10-14Printing Dimensions QUALIFIED93Onyama Limba
1002Ivar Z FerenczUnited Kingdom2026-10-29Printing Dimensions RENEWAL68Amy Elsner
1003Wickens B RoysterFrance2026-10-29Printing Dimensions NEGOTIATION16Anna Fali
1004Arvin O StensethItaly2026-10-12Chemel, James L Cpa NEGOTIATION77Elwin Sharvill
1005Faith M TollnerItaly2026-10-27Dorl, James J Esq NEGOTIATION34Amy Elsner
1006Aika Z StockhamAustralia2026-10-18Feltz Printing Service RENEWAL40Stephen Shaw
1007Rodrigues Y GillianSpain2026-10-26King, Christopher A Esq UNQUALIFIED82Bernardo Dominic
1008Ivar O VocelkaItaly2026-10-23Buckley Miller Wright UNQUALIFIED43Xuxue Feng
1009Jones J DoeRussia2026-10-20King, Christopher A Esq QUALIFIED4Ioni Bowcher
1010Morrow X MaletIndia2026-10-30Morlong Associates NEW73Amy Elsner
1011Mayumi U PaprockiItaly2026-10-29Chemel, James L Cpa PROPOSAL38Anna Fali
1012Morrow W GlickRussia2026-10-20Feiner Bros PROPOSAL82Elwin Sharvill
1013Aditya S PerinBrazil2026-10-25Chapman, Ross E Esq UNQUALIFIED66Bernardo Dominic
1014Munro R BriddickUnited Kingdom2026-10-28Chemel, James L Cpa NEGOTIATION92Xuxue Feng
1015Faith Z StensethGermany2026-10-21Commercial Press RENEWAL99Xuxue Feng
1016Darci X TollnerCanada2026-10-10Morlong Associates PROPOSAL54Ivan Magalhaes
1017Mujtaba B SaylorsIndia2026-11-05Chapman, Ross E Esq UNQUALIFIED83Bernardo Dominic
1018Ashley K StockhamIndia2026-11-02Truhlar And Truhlar Attys QUALIFIED81Stephen Shaw
1019Cody U ShinkoJapan2026-10-24Rousseaux, Michael Esq NEW81Elwin Sharvill
1020Aika B KolmetzGermany2026-10-18Feiner Bros NEW97Asiya Javayant
1021Murillo I AlbaresGermany2026-10-11Feltz Printing Service RENEWAL43Amy Elsner
1022Sinclair R CaldareraFrance2026-11-07Rousseaux, Michael Esq RENEWAL15Onyama Limba
1023Clifford G ShinkoRussia2026-10-09Dorl, James J Esq QUALIFIED28Amy Elsner
1024Johnson J FerenczGermany2026-10-29Dorl, James J Esq UNQUALIFIED45Bernardo Dominic
1025Wickens V CaldareraUnited Kingdom2026-10-28Commercial Press QUALIFIED65Stephen Shaw
1026Aruna J StockhamCanada2026-11-07Dorl, James J Esq QUALIFIED75Onyama Limba
1027Deepesh C DoeRussia2026-10-22Rangoni Of Florence PROPOSAL19Onyama Limba
1028James V DilliardBrazil2026-10-22Chanay, Jeffrey A Esq RENEWAL28Stephen Shaw
1029Darci M WhobreyIndia2026-10-19Chemel, James L Cpa RENEWAL25Asiya Javayant
1030Rodrigues F MarrierRussia2026-11-01Dorl, James J Esq UNQUALIFIED36Onyama Limba
1031Francesco D WieserArgentina2026-10-26Buckley Miller Wright RENEWAL3Onyama Limba
1032Munro R MaletItaly2026-10-21Rousseaux, Michael Esq PROPOSAL74Stephen Shaw
1033Isabel U WhobreyFrance2026-10-21Morlong Associates PROPOSAL77Asiya Javayant
1034Costa K IturbideIndia2026-11-01Chapman, Ross E Esq NEW34Bernardo Dominic
1035Aruna L RimArgentina2026-10-21Chemel, James L Cpa UNQUALIFIED27Anna Fali
1036Greenwood N GillianIndia2026-10-28Chemel, James L Cpa PROPOSAL15Ioni Bowcher
1037Maisha H PerinJapan2026-10-19Rousseaux, Michael Esq NEGOTIATION0Stephen Shaw
1038Silvio U FerenczGermany2026-11-07King, Christopher A Esq UNQUALIFIED63Ioni Bowcher
1039Kaitlin D PaprockiUnited Kingdom2026-10-19Commercial Press RENEWAL93Ivan Magalhaes
1040Smith K SlusarskiAustralia2026-10-20Feiner Bros QUALIFIED12Onyama Limba
1041Tony E KuskoItaly2026-10-31Truhlar And Truhlar Attys NEGOTIATION63Ivan Magalhaes
1042Leon P GillianBrazil2026-10-20Feiner Bros QUALIFIED76Bernardo Dominic
1043Ivar E InouyeIndia2026-10-09Printing Dimensions NEGOTIATION27Amy Elsner
1044Nicolas I PoquetteJapan2026-11-05Chapman, Ross E Esq NEGOTIATION76Anna Fali
1045Adams H DilliardSpain2026-10-10Commercial Press NEGOTIATION81Elwin Sharvill
1046Leon B ShinkoCanada2026-10-21Commercial Press PROPOSAL35Ivan Magalhaes
1047Jeanfrancois A StockhamSpain2026-11-01Dorl, James J Esq RENEWAL1Ioni Bowcher
1048Costa D ButtFrance2026-10-15Morlong Associates UNQUALIFIED28Ioni Bowcher
1049Leja S FlosiJapan2026-10-19Feiner Bros NEW84Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Faith L ChuiBrazilOnyama Limba UNQUALIFIED
Adams R BowleyItalyIoni Bowcher UNQUALIFIED
Kaitlin H MaletAustraliaStephen Shaw NEGOTIATION
Isabel X MaletGermanyAsiya Javayant NEGOTIATION
Morrow E PoquetteArgentinaAmy Elsner RENEWAL
Octavia I DarakjyCanadaBernardo Dominic RENEWAL
Francesco L MorascaIndiaAnna Fali RENEWAL
Kaitlin D RutaUnited KingdomIoni Bowcher NEGOTIATION
Clifford M VocelkaUnited KingdomOnyama Limba QUALIFIED
Darci J MarrierFranceAsiya Javayant QUALIFIED
Emily X BologniaCanadaStephen Shaw PROPOSAL
Emily M CampainIndiaStephen Shaw QUALIFIED
Darci N RulapaughRussiaBernardo Dominic NEGOTIATION
Murillo X ButtRussiaIvan Magalhaes RENEWAL
Claire W BriddickItalyAsiya Javayant NEW
Sinclair Z MaletIndiaOnyama Limba RENEWAL
Jones R RulapaughFranceAmy Elsner UNQUALIFIED
Maisha N PaprockiFranceAmy Elsner NEGOTIATION
Sinclair E GauchoAustraliaXuxue Feng QUALIFIED
Aditya S BriddickIndiaXuxue Feng NEW
Isabel F GarufiRussiaXuxue Feng PROPOSAL
Aika O KolmetzUnited KingdomAsiya Javayant PROPOSAL
Aika Y CaudyUnited KingdomAmy Elsner NEW
Salvatore W MarrierGermanyAmy Elsner NEGOTIATION
Maisha H CaudyAustraliaIvan Magalhaes QUALIFIED
Costa O WaycottFranceIoni Bowcher NEW
Faith O WaycottGermanyIoni Bowcher QUALIFIED
Julie B DoeRussiaBernardo Dominic NEW
Sinclair C FollerItalyXuxue Feng RENEWAL
Sinclair H MarrierItalyElwin Sharvill NEW
Emily Q ButtUnited KingdomAnna Fali RENEWAL
Emily X WaycottFranceIoni Bowcher RENEWAL
Faith L WieserItalyBernardo Dominic NEGOTIATION
Leja J RoysterUnited KingdomAsiya Javayant RENEWAL
Smith O PerinIndiaAsiya Javayant NEGOTIATION
Ashley N MaletItalyIoni Bowcher NEW
Wickens E RoysterIndiaOnyama Limba NEW
Claire D GlickJapanAsiya Javayant PROPOSAL
Ricardo Q KolmetzArgentinaStephen Shaw PROPOSAL
Silvio L RimIndiaOnyama Limba PROPOSAL
Juan M SlusarskiAustraliaStephen Shaw QUALIFIED
Maisha P VocelkaUnited KingdomAnna Fali RENEWAL
Alejandro J VenereIndiaAsiya Javayant QUALIFIED
Chavez K MaletItalyIvan Magalhaes RENEWAL
Leja A BologniaGermanyStephen Shaw NEGOTIATION
Isabel V WaycottIndiaIoni Bowcher NEW
Adams K ButtFranceIoni Bowcher QUALIFIED
Chavez G MaletSpainStephen Shaw PROPOSAL
Francesco S MarrierUnited KingdomXuxue Feng RENEWAL
Mayumi I BriddickBrazilAnna Fali QUALIFIED
Frozen Columns
Name
James I Campain
Kaitlin T Flosi
Alejandro V Morasca
Jefferson P Oldroyd
Morrow L Ostrosky
Claire O Perin
Jennifer E Sergi
Mayumi T Amigon
Clifford B Bolognia
Antonio W Whobrey
Morrow J Maclead
Ivar U Foller
Maisha W Campain
Clifford T Saylors
Clifford G Ostrosky
Misaki Q Waycott
Aditya D Wieser
James U Gillian
Arvin E Chui
David O Wieser
Kadeem X Whobrey
Ricardo Z Oldroyd
Kaitlin D Tollner
Ivar R Rulapaugh
Octavia C Vocelka
Chavez U Iturbide
Chavez U Nestle
Chavez Z Shinko
Jennifer U Iturbide
Jeanfrancois N Figeroa
Johnson U Dilliard
Emily Q Inouye
Alejandro L Poquette
Mujtaba P Waycott
Antonio G Chui
Julie F Whobrey
Tony C Stockham
Greenwood I Perin
Kadeem J Vocelka
Leon Z Stockham
Ashley D Kusko
Claire F Ostrosky
Jones U Schemmer
David J Perin
Izzy A Bowley
Ashley Y Campain
Emily B Ruta
Jones T Waycott
Chavez N Bowley
Darci V Butt
IdCountryDate
1000India2026-11-01
1001France2026-10-14
1002Italy2026-11-02
1003Spain2026-10-20
1004Argentina2026-10-24
1005France2026-10-29
1006Italy2026-10-21
1007Italy2026-10-10
1008United Kingdom2026-10-31
1009Japan2026-11-05
1010Australia2026-10-14
1011Canada2026-10-30
1012Argentina2026-10-09
1013Germany2026-11-03
1014Japan2026-10-18
1015Germany2026-10-21
1016India2026-10-28
1017Argentina2026-11-05
1018Japan2026-10-15
1019Canada2026-11-06
1020Spain2026-11-03
1021Argentina2026-10-13
1022Australia2026-10-25
1023Russia2026-10-25
1024Spain2026-11-01
1025Italy2026-10-16
1026Australia2026-10-22
1027India2026-11-04
1028Argentina2026-11-06
1029United Kingdom2026-10-24
1030United Kingdom2026-10-20
1031Japan2026-10-16
1032United Kingdom2026-10-30
1033France2026-10-24
1034Russia2026-10-18
1035United Kingdom2026-10-29
1036Italy2026-10-18
1037Italy2026-10-25
1038France2026-10-19
1039Brazil2026-10-28
1040Australia2026-10-28
1041Italy2026-10-30
1042Brazil2026-10-17
1043Germany2026-10-26
1044Australia2026-10-21
1045India2026-10-14
1046Germany2026-10-28
1047Argentina2026-10-27
1048Argentina2026-10-12
1049Russia2026-10-15

On-Demand Data

NameIdCountryDate
Morrow N Poquette1000United Kingdom2026-10-20
Mujtaba L Darakjy1001United Kingdom2026-11-06
Deepesh O Foller1002Germany2026-10-29
Emily H Stockham1003Argentina2026-11-05
Francesco C Maclead1004Brazil2026-11-01
Jefferson U Albares1005Germany2026-11-07
Stacey T Kolmetz1006Japan2026-10-26
Silvio M Ruta1007United Kingdom2026-11-06
Aika F Dilliard1008Argentina2026-11-04
Aika K Albares1009Argentina2026-10-23
Octavia A Poquette1010Japan2026-10-28
Jones Z Morasca1011Spain2026-10-31
Leon L Venere1012India2026-10-21
Octavia C Iturbide1013Spain2026-10-29
Alejandro R Garufi1014France2026-10-15
Aditya H Poquette1015Japan2026-11-05
Aika K Rim1016Japan2026-11-03
Misaki J Tollner1017Japan2026-10-11
Julie B Venere1018India2026-10-27
Morrow Q Ruta1019France2026-10-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore K OldroydCanadaAmy Elsner QUALIFIED
Octavia Z RimSpainIvan Magalhaes NEGOTIATION
Jones B RimRussiaIvan Magalhaes RENEWAL
Munro M SlusarskiUnited KingdomIoni Bowcher RENEWAL
James T PerinCanadaAnna Fali UNQUALIFIED
Misaki W NestleUnited KingdomAmy Elsner UNQUALIFIED
Leon C DilliardGermanyStephen Shaw QUALIFIED
Isabel U DarakjySpainXuxue Feng UNQUALIFIED
James Z FlosiAustraliaBernardo Dominic QUALIFIED
Greenwood M FollerSpainAmy Elsner NEW
Morrow Q SlusarskiFranceStephen Shaw NEW
Rodrigues F AlbaresFranceElwin Sharvill QUALIFIED
Salvatore Z KolmetzBrazilStephen Shaw NEGOTIATION
Juan R MacleadUnited KingdomXuxue Feng PROPOSAL
Silvio Z PaprockiItalyXuxue Feng PROPOSAL
Jones K MaletGermanyIoni Bowcher NEGOTIATION
Aditya N FerenczCanadaBernardo Dominic UNQUALIFIED
Mujtaba U WieserBrazilOnyama Limba RENEWAL
Maria M DilliardFranceOnyama Limba PROPOSAL
Ashley B WhobreyItalyBernardo Dominic UNQUALIFIED
Greenwood C OldroydAustraliaStephen Shaw NEW
Stacey O FigeroaItalyElwin Sharvill NEW
Jeanfrancois E WieserUnited KingdomAnna Fali NEGOTIATION
Smith U MorascaAustraliaElwin Sharvill RENEWAL
Claire E ChuiGermanyXuxue Feng RENEWAL
Jennifer S MaletRussiaAmy Elsner QUALIFIED
Leon B BriddickJapanIoni Bowcher RENEWAL
Adams U ShinkoJapanIvan Magalhaes PROPOSAL
Juan K ButtUnited KingdomIvan Magalhaes RENEWAL
James V FollerFranceStephen Shaw NEW
Munro Y CaudyIndiaElwin Sharvill NEGOTIATION
Antonio B MacleadSpainBernardo Dominic NEGOTIATION
Jeanfrancois S GauchoBrazilIoni Bowcher RENEWAL
Deepesh X RutaSpainBernardo Dominic RENEWAL
Aika A CaldareraRussiaAmy Elsner UNQUALIFIED
James B CaldareraUnited KingdomIvan Magalhaes NEGOTIATION
Murillo G WaycottItalyIvan Magalhaes QUALIFIED
Alejandro C ShinkoCanadaElwin Sharvill NEW
Misaki W StensethBrazilAsiya Javayant NEGOTIATION
Jones N CampainSpainAmy Elsner QUALIFIED

<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>