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
Nicolas U PoquetteFranceAnna Fali PROPOSAL
Izzy V StockhamGermanyIvan Magalhaes RENEWAL
Arvin Y MarrierArgentinaElwin Sharvill UNQUALIFIED
Murillo U MaletSpainAnna Fali RENEWAL
Tony E TollnerFranceElwin Sharvill NEW
Murillo N AlbaresUnited KingdomAmy Elsner UNQUALIFIED
Jones S CampainItalyAnna Fali NEGOTIATION
Misaki V BologniaArgentinaElwin Sharvill NEW
Jones F AmigonCanadaIvan Magalhaes NEW
Kadeem K VenereBrazilBernardo Dominic UNQUALIFIED
Adams F SchemmerArgentinaElwin Sharvill NEGOTIATION
Costa V SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Francesco U FigeroaRussiaStephen Shaw RENEWAL
Alejandro I PoquetteUnited KingdomIvan Magalhaes RENEWAL
Aika W RulapaughBrazilAmy Elsner NEGOTIATION
Antonio N FerenczUnited KingdomStephen Shaw NEW
Arvin L FollerIndiaAsiya Javayant QUALIFIED
Kadeem S ChuiSpainXuxue Feng QUALIFIED
Leja K MaletFranceAmy Elsner UNQUALIFIED
Misaki Q BologniaGermanyIvan Magalhaes PROPOSAL
Arvin A KolmetzJapanAsiya Javayant UNQUALIFIED
Rodrigues J GauchoCanadaAnna Fali QUALIFIED
Aika E StensethIndiaIvan Magalhaes NEW
Murillo L FerenczItalyStephen Shaw PROPOSAL
Greenwood B SchemmerGermanyXuxue Feng NEGOTIATION
Morrow Y FlosiBrazilIvan Magalhaes NEW
Mayumi J MaletBrazilAsiya Javayant UNQUALIFIED
Antonio S BologniaBrazilStephen Shaw PROPOSAL
Salvatore B MarrierArgentinaIvan Magalhaes PROPOSAL
Deepesh F MaletAustraliaIvan Magalhaes NEGOTIATION
Jennifer E StensethAustraliaAsiya Javayant NEGOTIATION
Juan S RoysterBrazilOnyama Limba PROPOSAL
Salvatore T PerinAustraliaAnna Fali PROPOSAL
Antonio T CampainUnited KingdomIoni Bowcher QUALIFIED
Jones C TollnerGermanyAnna Fali QUALIFIED
Ricardo R GarufiCanadaIvan Magalhaes RENEWAL
Munro O DilliardSpainXuxue Feng NEGOTIATION
Darci Z WhobreyAustraliaAmy Elsner NEGOTIATION
Julie A RutaGermanyOnyama Limba NEGOTIATION
Misaki B PoquetteFranceXuxue Feng RENEWAL
Murillo A RutaIndiaIvan Magalhaes RENEWAL
Cody H FigeroaItalyBernardo Dominic QUALIFIED
Isabel J ButtRussiaStephen Shaw QUALIFIED
Kaitlin N GillianItalyAnna Fali PROPOSAL
Kadeem Q AmigonSpainElwin Sharvill NEGOTIATION
Tony R BologniaRussiaAmy Elsner NEW
Octavia G NickaUnited KingdomIoni Bowcher UNQUALIFIED
Chavez W AlbaresUnited KingdomBernardo Dominic NEW
Deepesh B DarakjyCanadaBernardo Dominic QUALIFIED
Octavia P GarufiUnited KingdomBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Nicolas S WhobreyArgentinaIoni Bowcher NEGOTIATION
Salvatore K InouyeBrazilIvan Magalhaes PROPOSAL
Mujtaba A SaylorsCanadaAmy Elsner RENEWAL
Izzy F RimJapanAnna Fali PROPOSAL
Mujtaba K CaldareraCanadaAsiya Javayant QUALIFIED
Leja J CaudyJapanStephen Shaw NEW
Clifford W PerinArgentinaAnna Fali NEGOTIATION
Jefferson Y RimCanadaAnna Fali UNQUALIFIED
Misaki J StockhamArgentinaAsiya Javayant PROPOSAL
Stacey D StensethFranceIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy J ChuiRussia2026-09-30Truhlar And Truhlar Attys NEGOTIATION33Amy Elsner
1001Isabel H FollerFrance2026-10-02Feiner Bros QUALIFIED7Anna Fali
1002Faith Y AmigonSpain2026-09-22Rangoni Of Florence RENEWAL55Amy Elsner
1003Francesco S PaprockiJapan2026-10-07Chanay, Jeffrey A Esq RENEWAL11Stephen Shaw
1004Costa P BologniaUnited Kingdom2026-09-12King, Christopher A Esq NEW87Ioni Bowcher
1005Isabel Z BologniaBrazil2026-09-21Rangoni Of Florence NEW53Onyama Limba
1006Murillo S RulapaughSpain2026-09-30Printing Dimensions NEGOTIATION9Bernardo Dominic
1007Ricardo F ButtRussia2026-09-17Feltz Printing Service NEW41Asiya Javayant
1008Nicolas L CaldareraRussia2026-09-15Commercial Press UNQUALIFIED67Onyama Limba
1009Deepesh Q FerenczArgentina2026-09-18Buckley Miller Wright UNQUALIFIED77Xuxue Feng
1010Claire C MaletGermany2026-09-11Morlong Associates PROPOSAL48Stephen Shaw
1011Nicolas P DilliardIndia2026-09-12Buckley Miller Wright QUALIFIED85Anna Fali
1012Francesco O BologniaBrazil2026-09-26Truhlar And Truhlar Attys RENEWAL70Stephen Shaw
1013David Z InouyeJapan2026-09-26King, Christopher A Esq NEW44Ioni Bowcher
1014Salvatore J KolmetzIndia2026-09-12Chapman, Ross E Esq NEGOTIATION41Xuxue Feng
1015Isabel G MacleadCanada2026-10-02Morlong Associates UNQUALIFIED19Stephen Shaw
1016James L WhobreyBrazil2026-09-14Rousseaux, Michael Esq PROPOSAL94Asiya Javayant
1017Jones Y KolmetzGermany2026-09-20Commercial Press NEGOTIATION48Xuxue Feng
1018Jennifer Z CaldareraBrazil2026-10-03Rousseaux, Michael Esq PROPOSAL62Onyama Limba
1019Nicolas V WieserSpain2026-10-09Rangoni Of Florence NEW24Ioni Bowcher
1020Arvin N OstroskyItaly2026-10-02Chanay, Jeffrey A Esq QUALIFIED96Xuxue Feng
1021Sinclair N RulapaughCanada2026-09-17Printing Dimensions PROPOSAL48Ioni Bowcher
1022Cody P WhobreyCanada2026-09-21Truhlar And Truhlar Attys PROPOSAL76Anna Fali
1023Rodrigues K KuskoSpain2026-09-25Commercial Press NEW42Amy Elsner
1024Aditya G SaylorsGermany2026-10-06Buckley Miller Wright QUALIFIED57Elwin Sharvill
1025Tony T RutaFrance2026-09-13Feiner Bros NEGOTIATION8Anna Fali
1026Maisha H FigeroaCanada2026-09-11Buckley Miller Wright UNQUALIFIED95Amy Elsner
1027Wickens Y MaletItaly2026-09-13Rangoni Of Florence NEGOTIATION50Xuxue Feng
1028Claire X ShinkoGermany2026-09-20Benton, John B Jr NEGOTIATION33Ivan Magalhaes
1029Mayumi F ButtJapan2026-09-18Chemel, James L Cpa NEW66Elwin Sharvill
1030Antonio W FerenczCanada2026-09-29Chapman, Ross E Esq PROPOSAL39Onyama Limba
1031Maisha S BriddickItaly2026-10-03Chanay, Jeffrey A Esq RENEWAL13Ioni Bowcher
1032Murillo G CaldareraJapan2026-09-13King, Christopher A Esq NEW49Stephen Shaw
1033Murillo P MarrierIndia2026-10-04Morlong Associates UNQUALIFIED67Stephen Shaw
1034Sinclair W SergiItaly2026-09-30Chemel, James L Cpa NEGOTIATION17Stephen Shaw
1035Claire N PaprockiGermany2026-09-26Truhlar And Truhlar Attys UNQUALIFIED39Ioni Bowcher
1036Francesco X PerinFrance2026-09-15Morlong Associates PROPOSAL27Ivan Magalhaes
1037Cody V KolmetzUnited Kingdom2026-09-28Chanay, Jeffrey A Esq NEGOTIATION20Amy Elsner
1038Alejandro R VenereAustralia2026-09-14Chapman, Ross E Esq NEW64Ivan Magalhaes
1039Deepesh I CaudyCanada2026-09-28Chapman, Ross E Esq RENEWAL72Bernardo Dominic
1040Darci X MaletFrance2026-10-06Chanay, Jeffrey A Esq PROPOSAL17Amy Elsner
1041Sinclair Z BriddickIndia2026-09-11Feiner Bros PROPOSAL51Elwin Sharvill
1042Stacey O AmigonFrance2026-10-09Feltz Printing Service RENEWAL8Amy Elsner
1043Arvin C WaycottCanada2026-10-10Feltz Printing Service NEGOTIATION36Onyama Limba
1044Leja V SlusarskiJapan2026-09-27Chemel, James L Cpa NEW23Bernardo Dominic
1045Munro R ChuiArgentina2026-09-11Morlong Associates QUALIFIED46Stephen Shaw
1046Rodrigues D AlbaresBrazil2026-09-23Feltz Printing Service NEW69Onyama Limba
1047Isabel Q RulapaughUnited Kingdom2026-09-18Feltz Printing Service UNQUALIFIED25Ioni Bowcher
1048Ashley L MaletGermany2026-09-11Chanay, Jeffrey A Esq NEW5Bernardo Dominic
1049Morrow W OstroskySpain2026-09-20Rangoni Of Florence NEW44Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Octavia H SlusarskiGermanyAmy Elsner RENEWAL
Alejandro S GarufiIndiaIoni Bowcher RENEWAL
Ivar V RulapaughRussiaBernardo Dominic QUALIFIED
Aditya S FerenczUnited KingdomIvan Magalhaes QUALIFIED
Cody G OstroskyJapanAmy Elsner NEW
Clifford C DarakjyItalyBernardo Dominic RENEWAL
Munro P CaldareraIndiaElwin Sharvill PROPOSAL
Jennifer C WieserBrazilBernardo Dominic RENEWAL
Costa O RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Arvin E SaylorsFranceAsiya Javayant UNQUALIFIED
Maria H GlickFranceElwin Sharvill NEGOTIATION
Octavia D FerenczCanadaStephen Shaw UNQUALIFIED
Munro X ShinkoAustraliaOnyama Limba NEW
Ashley B StensethBrazilBernardo Dominic PROPOSAL
Jeanfrancois N AmigonSpainElwin Sharvill NEW
Adams N FigeroaFranceOnyama Limba PROPOSAL
Jefferson W RoysterRussiaAmy Elsner UNQUALIFIED
Julie M BologniaJapanAnna Fali NEGOTIATION
Stacey Y RimFranceAmy Elsner QUALIFIED
Wickens R PaprockiFranceAnna Fali UNQUALIFIED
Claire O DilliardFranceAsiya Javayant NEGOTIATION
Leon F ChuiJapanElwin Sharvill UNQUALIFIED
David E AmigonIndiaElwin Sharvill RENEWAL
Octavia M FigeroaArgentinaElwin Sharvill NEW
Tony J SlusarskiRussiaElwin Sharvill NEW
Jefferson J StockhamBrazilStephen Shaw PROPOSAL
Jones Y OldroydArgentinaStephen Shaw RENEWAL
Leja O AlbaresIndiaStephen Shaw QUALIFIED
Johnson I SergiBrazilElwin Sharvill PROPOSAL
Jones I KolmetzArgentinaAmy Elsner NEW
Murillo F AmigonFranceElwin Sharvill QUALIFIED
Aruna H KolmetzArgentinaIoni Bowcher PROPOSAL
Clifford R GarufiJapanIoni Bowcher RENEWAL
Aika P GarufiJapanIoni Bowcher RENEWAL
James V DoeBrazilStephen Shaw NEW
Arvin V SaylorsSpainXuxue Feng QUALIFIED
Darci O CampainUnited KingdomIvan Magalhaes RENEWAL
Aika R SchemmerArgentinaOnyama Limba RENEWAL
Deepesh I KuskoArgentinaAnna Fali UNQUALIFIED
Leon M KolmetzCanadaElwin Sharvill UNQUALIFIED
Leon S WieserIndiaIvan Magalhaes NEW
Chavez E ShinkoAustraliaXuxue Feng RENEWAL
Octavia R WhobreyIndiaAmy Elsner NEW
Ricardo L CaldareraArgentinaIoni Bowcher PROPOSAL
Ricardo I KuskoCanadaIvan Magalhaes QUALIFIED
Mujtaba V PoquetteFranceOnyama Limba UNQUALIFIED
Jones W InouyeCanadaBernardo Dominic NEW
Darci L TollnerBrazilOnyama Limba PROPOSAL
Julie E CaudyRussiaAnna Fali NEGOTIATION
Leja B BowleyItalyAmy Elsner QUALIFIED
Frozen Columns
Name
Deepesh O Stockham
Emily H Campain
Sinclair V Tollner
James H Whobrey
Jefferson E Slusarski
Leon H Butt
Johnson V Nestle
David O Gaucho
Kaitlin N Paprocki
Jefferson V Flosi
Ricardo T Gillian
Maisha R Gillian
Maisha G Flosi
Faith T Ruta
Claire J Flosi
Antonio H Schemmer
Cody V Gillian
Greenwood C Ferencz
Aditya K Darakjy
Mayumi E Garufi
Mayumi W Whobrey
Morrow P Darakjy
Johnson G Vocelka
Izzy P Malet
Jefferson B Shinko
Juan O Perin
Maria X Butt
Kaitlin D Ostrosky
Nicolas I Figeroa
Mujtaba O Nestle
Faith A Ostrosky
Jennifer T Ostrosky
Silvio L Kolmetz
Misaki Y Waycott
Aditya K Royster
Antonio L Campain
Rodrigues G Marrier
Francesco I Tollner
David A Royster
Tony M Venere
Darci X Nicka
Greenwood F Darakjy
Kadeem D Venere
Maria C Caldarera
Adams D Shinko
Murillo C Rim
Kadeem I Gillian
Chavez H Flosi
Silvio H Chui
Izzy R Poquette
IdCountryDate
1000Argentina2026-09-22
1001Russia2026-10-04
1002India2026-09-11
1003Australia2026-09-13
1004Germany2026-09-28
1005Canada2026-10-03
1006Germany2026-09-17
1007Canada2026-09-17
1008Germany2026-09-20
1009United Kingdom2026-10-05
1010France2026-10-06
1011Japan2026-10-07
1012Germany2026-10-02
1013Italy2026-10-08
1014India2026-10-06
1015Argentina2026-09-18
1016United Kingdom2026-09-16
1017Australia2026-10-08
1018Germany2026-10-06
1019Spain2026-09-15
1020United Kingdom2026-09-15
1021France2026-10-07
1022Germany2026-09-27
1023Russia2026-09-19
1024United Kingdom2026-09-22
1025Japan2026-09-12
1026Germany2026-09-26
1027Spain2026-10-01
1028Italy2026-09-26
1029Spain2026-10-02
1030Australia2026-10-09
1031United Kingdom2026-09-26
1032Argentina2026-10-05
1033Australia2026-09-16
1034India2026-09-20
1035Japan2026-10-08
1036Spain2026-09-22
1037Germany2026-09-24
1038Japan2026-09-14
1039Canada2026-09-14
1040Canada2026-09-13
1041Argentina2026-10-08
1042Japan2026-09-23
1043Russia2026-09-29
1044Argentina2026-09-21
1045Argentina2026-10-04
1046Italy2026-09-23
1047Japan2026-09-13
1048United Kingdom2026-09-26
1049Canada2026-10-01

On-Demand Data

NameIdCountryDate
Maisha W Oldroyd1000Argentina2026-09-27
Julie T Chui1001Spain2026-09-22
Cody L Flosi1002Japan2026-09-15
James K Butt1003Japan2026-10-07
Alejandro U Gillian1004Argentina2026-10-02
Juan G Campain1005France2026-09-30
Emily F Bowley1006Australia2026-10-09
Aditya P Amigon1007Argentina2026-10-03
Darci D Rulapaugh1008Japan2026-09-24
Julie N Inouye1009Italy2026-09-25
Aruna C Tollner1010Germany2026-09-14
Clifford M Slusarski1011Italy2026-09-12
James U Figeroa1012Brazil2026-09-19
Salvatore U Nicka1013Argentina2026-09-28
Ricardo I Darakjy1014Argentina2026-10-03
Claire U Caudy1015Argentina2026-09-21
David H Dilliard1016Argentina2026-10-05
Darci O Briddick1017Brazil2026-10-02
Clifford L Stenseth1018Australia2026-09-25
Ivar E Whobrey1019Italy2026-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow G GillianAustraliaXuxue Feng PROPOSAL
Maisha C WieserRussiaIoni Bowcher RENEWAL
Nicolas D TollnerUnited KingdomIoni Bowcher NEGOTIATION
Leja U SergiIndiaAnna Fali NEW
Johnson A GauchoUnited KingdomStephen Shaw QUALIFIED
Jeanfrancois M TollnerSpainIoni Bowcher UNQUALIFIED
Nicolas B VenereCanadaAnna Fali QUALIFIED
Aditya N TollnerFranceOnyama Limba UNQUALIFIED
Aika C FlosiGermanyAsiya Javayant PROPOSAL
Johnson T PerinIndiaElwin Sharvill QUALIFIED
Morrow G ShinkoItalyBernardo Dominic UNQUALIFIED
Cody P ShinkoArgentinaOnyama Limba PROPOSAL
Jeanfrancois H RulapaughItalyXuxue Feng RENEWAL
Ricardo R WhobreyRussiaAmy Elsner NEW
Claire P CampainGermanyAnna Fali UNQUALIFIED
Darci E StensethUnited KingdomIvan Magalhaes RENEWAL
Morrow T SlusarskiIndiaAmy Elsner RENEWAL
Tony B VenereItalyElwin Sharvill NEW
Emily X SergiGermanyStephen Shaw NEGOTIATION
Juan E ShinkoFranceAnna Fali QUALIFIED
Isabel P SchemmerJapanStephen Shaw RENEWAL
Misaki U SchemmerCanadaOnyama Limba NEW
Morrow V VenereGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois N VocelkaUnited KingdomIoni Bowcher QUALIFIED
Leon Z WaycottCanadaElwin Sharvill QUALIFIED
Greenwood X DilliardFranceXuxue Feng PROPOSAL
Tony Q PerinJapanIvan Magalhaes UNQUALIFIED
Emily D AmigonCanadaAmy Elsner PROPOSAL
Maisha K FigeroaUnited KingdomElwin Sharvill PROPOSAL
Julie E IturbideBrazilAsiya Javayant UNQUALIFIED
Jennifer M FlosiUnited KingdomXuxue Feng UNQUALIFIED
Ashley L MacleadAustraliaElwin Sharvill NEW
Silvio V GarufiIndiaIoni Bowcher NEW
Salvatore H PoquetteCanadaStephen Shaw QUALIFIED
Adams O RutaBrazilAnna Fali RENEWAL
Julie N PaprockiJapanIoni Bowcher RENEWAL
David W FlosiIndiaIoni Bowcher UNQUALIFIED
Nicolas E StockhamFranceOnyama Limba QUALIFIED
Ricardo L TollnerFranceAsiya Javayant RENEWAL
Aditya T BologniaCanadaIvan Magalhaes 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>