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
Mayumi N GauchoArgentinaOnyama Limba PROPOSAL
Ashley L AlbaresFranceIvan Magalhaes NEW
Julie E StensethArgentinaAnna Fali NEW
Munro V SergiGermanyXuxue Feng RENEWAL
Tony M GlickBrazilAsiya Javayant UNQUALIFIED
Ricardo Q GillianAustraliaIvan Magalhaes NEW
Munro K RimFranceXuxue Feng RENEWAL
Kaitlin B KolmetzArgentinaAmy Elsner QUALIFIED
Costa E StockhamGermanyAnna Fali PROPOSAL
Misaki L MarrierItalyIoni Bowcher UNQUALIFIED
Smith J InouyeRussiaIvan Magalhaes NEGOTIATION
Murillo W GauchoItalyIvan Magalhaes UNQUALIFIED
Ivar R ChuiBrazilStephen Shaw NEW
Jennifer J ChuiJapanElwin Sharvill NEW
Octavia G SchemmerSpainBernardo Dominic UNQUALIFIED
Kadeem U OstroskyRussiaBernardo Dominic QUALIFIED
Aditya N PoquetteItalyElwin Sharvill NEGOTIATION
David Q WaycottFranceOnyama Limba QUALIFIED
Octavia S GarufiUnited KingdomIoni Bowcher NEGOTIATION
Isabel Y InouyeGermanyBernardo Dominic NEGOTIATION
Rodrigues I DarakjyJapanStephen Shaw QUALIFIED
Juan A VenereAustraliaStephen Shaw PROPOSAL
Kaitlin L OldroydRussiaStephen Shaw QUALIFIED
Deepesh K MaletBrazilOnyama Limba NEGOTIATION
Kaitlin Z DarakjyJapanAsiya Javayant NEW
Julie F SchemmerIndiaAnna Fali QUALIFIED
Francesco L StensethFranceXuxue Feng NEW
Aditya W SaylorsFranceIoni Bowcher NEW
Murillo R WhobreyAustraliaBernardo Dominic PROPOSAL
Ivar F GauchoItalyStephen Shaw NEW
Jeanfrancois O MaletItalyStephen Shaw UNQUALIFIED
Rodrigues W MacleadCanadaAnna Fali NEW
Jefferson Q DoeIndiaIvan Magalhaes NEW
Kadeem O RimRussiaBernardo Dominic QUALIFIED
Smith A OstroskyUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois L DoeBrazilIvan Magalhaes UNQUALIFIED
Juan T MaletRussiaAmy Elsner UNQUALIFIED
Isabel V MacleadItalyBernardo Dominic QUALIFIED
Jeanfrancois L IturbideFranceElwin Sharvill NEW
Nicolas T StensethAustraliaXuxue Feng QUALIFIED
Tony B CaudyBrazilOnyama Limba UNQUALIFIED
Morrow F SergiSpainXuxue Feng NEGOTIATION
Jeanfrancois V PerinGermanyAsiya Javayant NEW
Jennifer P RimIndiaAsiya Javayant UNQUALIFIED
Alejandro Z SaylorsSpainOnyama Limba RENEWAL
Jennifer D SaylorsRussiaAmy Elsner NEGOTIATION
Chavez C SlusarskiBrazilAnna Fali QUALIFIED
Leon T WaycottUnited KingdomIvan Magalhaes NEW
Alejandro Y StockhamGermanyIvan Magalhaes PROPOSAL
Johnson W WhobreyArgentinaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Smith D IturbideFranceOnyama Limba NEW
Munro V TollnerRussiaOnyama Limba QUALIFIED
Adams R TollnerSpainIoni Bowcher PROPOSAL
Jones P NickaFranceBernardo Dominic PROPOSAL
Mujtaba E BowleyFranceStephen Shaw NEW
James U FlosiRussiaIvan Magalhaes QUALIFIED
Nicolas X NestleItalyXuxue Feng QUALIFIED
Wickens A FlosiRussiaAsiya Javayant RENEWAL
Izzy J StensethSpainElwin Sharvill QUALIFIED
Wickens R SchemmerCanadaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David O CaudyArgentina2026-09-24Rangoni Of Florence UNQUALIFIED46Amy Elsner
1001Izzy K DarakjyBrazil2026-09-04Buckley Miller Wright UNQUALIFIED62Stephen Shaw
1002Chavez Z KolmetzBrazil2026-09-22Morlong Associates QUALIFIED13Amy Elsner
1003Aruna C AlbaresIndia2026-09-24Morlong Associates UNQUALIFIED68Onyama Limba
1004Isabel A ButtItaly2026-09-25Truhlar And Truhlar Attys QUALIFIED68Amy Elsner
1005Alejandro P RutaIndia2026-08-29Truhlar And Truhlar Attys RENEWAL2Anna Fali
1006Murillo G PaprockiGermany2026-09-12Chapman, Ross E Esq RENEWAL66Onyama Limba
1007Darci F OstroskyJapan2026-09-19Dorl, James J Esq QUALIFIED49Bernardo Dominic
1008Leon Q AmigonFrance2026-09-23Chanay, Jeffrey A Esq PROPOSAL8Amy Elsner
1009Kadeem H SchemmerItaly2026-09-19Buckley Miller Wright NEW44Elwin Sharvill
1010Misaki D VenereIndia2026-09-18Feiner Bros QUALIFIED53Ioni Bowcher
1011Aruna M FerenczBrazil2026-09-06Benton, John B Jr PROPOSAL73Onyama Limba
1012David A SlusarskiCanada2026-09-24Chanay, Jeffrey A Esq RENEWAL77Bernardo Dominic
1013Sinclair N WieserJapan2026-08-31Commercial Press RENEWAL60Amy Elsner
1014Ricardo H ButtArgentina2026-09-22Dorl, James J Esq NEGOTIATION29Ioni Bowcher
1015Jones M GlickItaly2026-09-16Chapman, Ross E Esq NEGOTIATION41Ioni Bowcher
1016Silvio I BologniaGermany2026-09-18Feltz Printing Service QUALIFIED57Ivan Magalhaes
1017Chavez Q BriddickJapan2026-09-22Morlong Associates QUALIFIED10Xuxue Feng
1018Arvin Q SlusarskiIndia2026-09-18Feiner Bros PROPOSAL80Xuxue Feng
1019Alejandro N SaylorsIndia2026-09-03Chanay, Jeffrey A Esq UNQUALIFIED86Xuxue Feng
1020Izzy D FlosiGermany2026-09-25Benton, John B Jr NEGOTIATION84Bernardo Dominic
1021Ivar X VocelkaAustralia2026-08-27Printing Dimensions UNQUALIFIED8Amy Elsner
1022Salvatore W MacleadItaly2026-09-15Truhlar And Truhlar Attys QUALIFIED69Onyama Limba
1023Ivar U CampainIndia2026-09-18Morlong Associates PROPOSAL61Elwin Sharvill
1024Johnson C OstroskyItaly2026-09-05Feltz Printing Service NEGOTIATION43Ioni Bowcher
1025Smith V OldroydArgentina2026-09-01Chanay, Jeffrey A Esq NEW35Asiya Javayant
1026Juan P PaprockiItaly2026-08-27Benton, John B Jr PROPOSAL69Ivan Magalhaes
1027Darci G AmigonItaly2026-08-29Benton, John B Jr UNQUALIFIED47Ioni Bowcher
1028Chavez C NickaGermany2026-09-18Morlong Associates QUALIFIED96Bernardo Dominic
1029Rodrigues Z OldroydBrazil2026-08-30Chanay, Jeffrey A Esq NEW55Stephen Shaw
1030Misaki K IturbideUnited Kingdom2026-08-30Feiner Bros QUALIFIED32Amy Elsner
1031Misaki O KolmetzFrance2026-08-27Dorl, James J Esq UNQUALIFIED46Ioni Bowcher
1032Deepesh G FerenczFrance2026-09-04Commercial Press PROPOSAL20Ivan Magalhaes
1033Ashley K BowleyIndia2026-08-28Feltz Printing Service NEGOTIATION6Bernardo Dominic
1034Jennifer D KolmetzArgentina2026-09-19Chemel, James L Cpa RENEWAL10Onyama Limba
1035Munro J GlickFrance2026-09-14Printing Dimensions QUALIFIED78Bernardo Dominic
1036Mujtaba P WaycottUnited Kingdom2026-09-07Rousseaux, Michael Esq PROPOSAL14Asiya Javayant
1037Faith O MacleadItaly2026-08-29King, Christopher A Esq PROPOSAL0Anna Fali
1038Octavia M PaprockiIndia2026-09-08Benton, John B Jr UNQUALIFIED21Amy Elsner
1039Aditya L DoeGermany2026-09-24Benton, John B Jr PROPOSAL57Bernardo Dominic
1040Munro D VocelkaItaly2026-09-10Feltz Printing Service UNQUALIFIED89Asiya Javayant
1041Cody M ShinkoGermany2026-09-21Chanay, Jeffrey A Esq RENEWAL54Ioni Bowcher
1042Jefferson V OldroydArgentina2026-09-04Benton, John B Jr NEW88Onyama Limba
1043Izzy A FerenczRussia2026-09-13Benton, John B Jr RENEWAL36Ivan Magalhaes
1044Juan T WieserBrazil2026-09-23Chanay, Jeffrey A Esq QUALIFIED5Xuxue Feng
1045Rodrigues Y RoysterFrance2026-09-22Buckley Miller Wright RENEWAL66Xuxue Feng
1046Darci B TollnerJapan2026-09-13Chapman, Ross E Esq QUALIFIED32Xuxue Feng
1047Kaitlin R KuskoBrazil2026-09-14Morlong Associates UNQUALIFIED89Amy Elsner
1048Mujtaba Z IturbideAustralia2026-09-24Morlong Associates NEGOTIATION70Stephen Shaw
1049Maisha K StockhamCanada2026-09-20Commercial Press RENEWAL30Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Alejandro R WhobreyRussiaAsiya Javayant RENEWAL
Kadeem C DoeCanadaIvan Magalhaes QUALIFIED
Kadeem J MacleadIndiaBernardo Dominic UNQUALIFIED
Jennifer Q CaudySpainElwin Sharvill RENEWAL
Ivar M DilliardIndiaXuxue Feng RENEWAL
Silvio Y SergiRussiaIoni Bowcher QUALIFIED
James V OldroydSpainIoni Bowcher NEW
Salvatore Q GarufiItalyIvan Magalhaes NEW
Francesco W KuskoSpainBernardo Dominic QUALIFIED
Kaitlin G MacleadArgentinaXuxue Feng NEGOTIATION
Ashley J InouyeGermanyAsiya Javayant QUALIFIED
Rodrigues N WieserFranceStephen Shaw NEGOTIATION
Tony D MaletJapanAsiya Javayant NEGOTIATION
Julie E CampainItalyXuxue Feng UNQUALIFIED
Wickens V FigeroaCanadaElwin Sharvill PROPOSAL
Arvin B MarrierArgentinaOnyama Limba UNQUALIFIED
Maria X ButtFranceAsiya Javayant RENEWAL
Maisha X DarakjyCanadaIoni Bowcher PROPOSAL
Aruna S SchemmerRussiaBernardo Dominic NEGOTIATION
Maria M MaletRussiaIvan Magalhaes UNQUALIFIED
Adams T RimGermanyElwin Sharvill NEW
Greenwood L RulapaughItalyIoni Bowcher PROPOSAL
Aruna C WhobreyGermanyIvan Magalhaes NEGOTIATION
Ricardo O MacleadUnited KingdomStephen Shaw QUALIFIED
Tony Y AlbaresCanadaAmy Elsner RENEWAL
Maisha M OldroydAustraliaAnna Fali NEGOTIATION
Alejandro R CaldareraAustraliaXuxue Feng PROPOSAL
Darci M DilliardUnited KingdomBernardo Dominic NEGOTIATION
Salvatore F WieserSpainAsiya Javayant PROPOSAL
Antonio C TollnerCanadaXuxue Feng NEGOTIATION
Isabel A PaprockiRussiaElwin Sharvill NEGOTIATION
Aika U CaudyFranceOnyama Limba RENEWAL
Silvio M SergiIndiaAnna Fali NEGOTIATION
Salvatore T MorascaIndiaElwin Sharvill QUALIFIED
Mayumi P AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Kadeem G GarufiAustraliaElwin Sharvill UNQUALIFIED
Jefferson R StensethArgentinaXuxue Feng QUALIFIED
Juan E NestleArgentinaXuxue Feng QUALIFIED
Jefferson E GlickItalyStephen Shaw RENEWAL
Greenwood X RulapaughUnited KingdomAnna Fali QUALIFIED
Wickens F FigeroaBrazilStephen Shaw NEW
Arvin K PerinAustraliaXuxue Feng RENEWAL
Adams E StockhamSpainIvan Magalhaes UNQUALIFIED
Alejandro W MarrierUnited KingdomXuxue Feng NEW
Arvin P KolmetzCanadaIoni Bowcher RENEWAL
Mayumi Y DilliardIndiaIvan Magalhaes PROPOSAL
Munro D BriddickArgentinaAnna Fali QUALIFIED
Mujtaba Y CaldareraRussiaAmy Elsner PROPOSAL
Antonio G IturbideItalyIoni Bowcher NEGOTIATION
Tony B CaudyUnited KingdomElwin Sharvill RENEWAL
Frozen Columns
Name
Munro R Venere
Leja M Iturbide
Stacey Y Dilliard
Emily O Caldarera
James K Ferencz
Morrow N Slusarski
Clifford X Bolognia
Ashley P Chui
Sinclair A Campain
Emily R Perin
Sinclair Y Garufi
Costa O Vocelka
Jeanfrancois W Slusarski
Mayumi A Inouye
Aika J Figeroa
Ashley Z Nestle
Darci Q Kusko
Wickens S Stenseth
Ashley L Poquette
Mayumi B Albares
David Q Waycott
Aruna U Poquette
Sinclair M Campain
Silvio B Ferencz
Kaitlin H Darakjy
Jennifer J Figeroa
David G Royster
Aruna A Marrier
Greenwood U Gaucho
Greenwood U Darakjy
Salvatore Y Stockham
Julie I Figeroa
Jeanfrancois O Slusarski
Alejandro T Kolmetz
Francesco S Caudy
Alejandro D Slusarski
Salvatore Z Slusarski
Munro D Rim
Sinclair X Dilliard
Isabel M Foller
Leja X Malet
Murillo Z Paprocki
Misaki C Butt
Leon N Foller
Deepesh X Gaucho
Jones W Caudy
Leon X Maclead
Johnson E Albares
Deepesh F Morasca
Jeanfrancois X Rim
IdCountryDate
1000Brazil2026-09-07
1001India2026-09-07
1002Germany2026-09-20
1003Brazil2026-09-21
1004Russia2026-09-04
1005Argentina2026-09-23
1006Germany2026-09-15
1007Italy2026-09-20
1008Germany2026-08-27
1009Australia2026-09-12
1010India2026-09-08
1011Canada2026-09-21
1012Australia2026-09-16
1013India2026-09-17
1014Russia2026-09-06
1015India2026-09-21
1016Spain2026-09-04
1017Russia2026-09-13
1018Spain2026-09-07
1019Italy2026-09-16
1020Canada2026-09-11
1021Japan2026-09-25
1022Russia2026-09-13
1023Russia2026-09-05
1024India2026-09-23
1025Germany2026-09-23
1026Brazil2026-09-01
1027Germany2026-09-18
1028Germany2026-09-10
1029Argentina2026-09-17
1030United Kingdom2026-09-15
1031Australia2026-09-07
1032Argentina2026-08-30
1033Spain2026-09-08
1034India2026-08-27
1035Germany2026-09-05
1036Australia2026-09-25
1037France2026-08-29
1038Japan2026-09-14
1039Japan2026-09-04
1040Japan2026-09-14
1041Argentina2026-08-30
1042India2026-09-20
1043India2026-09-22
1044Russia2026-09-11
1045India2026-09-14
1046Spain2026-09-01
1047Japan2026-09-04
1048India2026-09-20
1049Brazil2026-09-06

On-Demand Data

NameIdCountryDate
Silvio E Sergi1000Argentina2026-09-22
Juan I Stenseth1001France2026-09-23
Maisha J Kolmetz1002India2026-08-31
Aruna O Doe1003Australia2026-09-17
Aika L Stenseth1004India2026-09-13
Aditya Q Flosi1005Japan2026-09-25
Maria F Slusarski1006Japan2026-09-01
Jones M Gillian1007Germany2026-09-23
Munro G Nicka1008Argentina2026-09-25
Tony G Bolognia1009Spain2026-08-30
Kadeem K Marrier1010Canada2026-09-07
Darci O Bowley1011Australia2026-09-07
Maria L Shinko1012Italy2026-09-10
Deepesh G Perin1013France2026-09-12
Jennifer K Marrier1014Australia2026-09-17
Alejandro I Albares1015Canada2026-09-18
Tony N Iturbide1016Japan2026-09-07
James R Briddick1017Australia2026-09-20
Leja G Poquette1018Russia2026-09-15
Jeanfrancois U Ferencz1019Argentina2026-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith D OstroskyArgentinaElwin Sharvill QUALIFIED
Juan A MacleadUnited KingdomStephen Shaw NEGOTIATION
Faith L PaprockiFranceIvan Magalhaes QUALIFIED
Emily C FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson V PaprockiSpainXuxue Feng RENEWAL
Johnson H BowleyItalyBernardo Dominic NEGOTIATION
Antonio F ShinkoItalyOnyama Limba QUALIFIED
Antonio C WieserItalyIoni Bowcher UNQUALIFIED
Wickens V StensethSpainBernardo Dominic RENEWAL
Jones K TollnerRussiaIvan Magalhaes UNQUALIFIED
Isabel Z GlickFranceIoni Bowcher QUALIFIED
Maria P WhobreyFranceBernardo Dominic PROPOSAL
Salvatore D FlosiIndiaAnna Fali QUALIFIED
Jennifer Y CampainJapanElwin Sharvill RENEWAL
Maria G VocelkaGermanyStephen Shaw PROPOSAL
Alejandro C NickaFranceOnyama Limba NEGOTIATION
Sinclair J GarufiRussiaXuxue Feng QUALIFIED
Deepesh D AmigonJapanAmy Elsner QUALIFIED
Maria H GlickSpainAmy Elsner NEW
Jeanfrancois E InouyeJapanAnna Fali NEGOTIATION
Stacey E WieserArgentinaIvan Magalhaes NEGOTIATION
Ashley D NickaBrazilOnyama Limba UNQUALIFIED
Alejandro J RimUnited KingdomXuxue Feng NEGOTIATION
Jennifer R MaletItalyAmy Elsner RENEWAL
Smith J InouyeBrazilOnyama Limba RENEWAL
Isabel K MarrierSpainXuxue Feng QUALIFIED
Costa A TollnerFranceAmy Elsner QUALIFIED
Ashley T StockhamArgentinaOnyama Limba UNQUALIFIED
Emily P TollnerIndiaIoni Bowcher NEW
Mayumi I RutaItalyAsiya Javayant UNQUALIFIED
Francesco B VenereJapanElwin Sharvill PROPOSAL
Salvatore R RulapaughBrazilIvan Magalhaes QUALIFIED
Aika K BriddickRussiaAnna Fali UNQUALIFIED
Leon A VocelkaUnited KingdomIvan Magalhaes PROPOSAL
Ricardo W WieserJapanElwin Sharvill QUALIFIED
Aika Y ButtGermanyOnyama Limba PROPOSAL
Adams O CampainItalyStephen Shaw NEW
Emily N VenereRussiaAsiya Javayant QUALIFIED
Julie S OldroydSpainAnna Fali QUALIFIED
Jennifer L PoquetteUnited KingdomElwin Sharvill NEGOTIATION

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