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
Izzy T MorascaGermanyStephen Shaw RENEWAL
Murillo X BowleyAustraliaOnyama Limba RENEWAL
Morrow Q AlbaresFranceIvan Magalhaes UNQUALIFIED
Rodrigues Q CaldareraAustraliaAnna Fali NEW
Tony S DilliardIndiaAmy Elsner RENEWAL
Alejandro M CaldareraArgentinaAsiya Javayant NEGOTIATION
Nicolas W SlusarskiArgentinaIvan Magalhaes PROPOSAL
Juan F InouyeSpainAnna Fali QUALIFIED
Faith Q RoysterSpainAsiya Javayant NEW
Juan Q StockhamIndiaOnyama Limba QUALIFIED
Misaki Y RoysterGermanyOnyama Limba QUALIFIED
Sinclair G SergiIndiaOnyama Limba PROPOSAL
Octavia O MacleadFranceElwin Sharvill NEW
Greenwood O OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Maisha E MaletAustraliaIoni Bowcher NEGOTIATION
David D RulapaughAustraliaXuxue Feng NEGOTIATION
Nicolas Z DarakjyGermanyAnna Fali QUALIFIED
Arvin H GlickItalyAnna Fali QUALIFIED
Deepesh G CaldareraUnited KingdomBernardo Dominic RENEWAL
Ricardo A ButtFranceOnyama Limba PROPOSAL
Aika W MacleadFranceIoni Bowcher NEW
Silvio B SlusarskiGermanyElwin Sharvill RENEWAL
Chavez X CaldareraSpainStephen Shaw NEW
Emily M CaldareraUnited KingdomXuxue Feng NEW
Smith E DilliardUnited KingdomAnna Fali UNQUALIFIED
Costa F AlbaresFranceAnna Fali RENEWAL
Julie N SlusarskiSpainAnna Fali UNQUALIFIED
Juan W BologniaSpainOnyama Limba RENEWAL
Jones L SlusarskiAustraliaAnna Fali QUALIFIED
Smith F GlickRussiaOnyama Limba QUALIFIED
Costa H PaprockiCanadaAnna Fali RENEWAL
Johnson W VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Isabel A CaldareraBrazilAsiya Javayant NEW
Jones G MaletBrazilIvan Magalhaes UNQUALIFIED
Deepesh F SaylorsFranceAsiya Javayant NEGOTIATION
James W RutaIndiaAnna Fali RENEWAL
Jefferson H AmigonFranceAsiya Javayant RENEWAL
Claire U NestleItalyXuxue Feng NEGOTIATION
Mayumi N CampainFranceAnna Fali NEW
Darci Q CaldareraAustraliaAmy Elsner QUALIFIED
Jeanfrancois P PoquetteUnited KingdomOnyama Limba NEW
Ivar U MacleadCanadaIvan Magalhaes RENEWAL
Claire Q BologniaIndiaOnyama Limba RENEWAL
Costa W DoeIndiaBernardo Dominic RENEWAL
Morrow R IturbideArgentinaIoni Bowcher RENEWAL
Julie D OstroskyArgentinaAnna Fali QUALIFIED
David Y RimAustraliaAnna Fali RENEWAL
Morrow K DarakjyIndiaElwin Sharvill RENEWAL
Arvin C CaudyFranceElwin Sharvill NEGOTIATION
Cody S RoysterBrazilBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio L SaylorsCanadaAsiya Javayant NEW
Adams J FlosiArgentinaIoni Bowcher NEW
Jones I StensethArgentinaIvan Magalhaes NEW
Emily D KolmetzGermanyElwin Sharvill RENEWAL
Smith Q ButtArgentinaAnna Fali RENEWAL
Nicolas T OstroskyFranceAsiya Javayant QUALIFIED
Jeanfrancois U MarrierRussiaAsiya Javayant NEGOTIATION
Faith R GauchoArgentinaBernardo Dominic QUALIFIED
Isabel B RoysterCanadaStephen Shaw NEW
Ricardo N AmigonGermanyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer I MaletFrance2026-09-24Chapman, Ross E Esq NEGOTIATION88Onyama Limba
1001Morrow U WhobreyArgentina2026-09-12Benton, John B Jr NEGOTIATION93Amy Elsner
1002Jones X OstroskyRussia2026-09-20Rangoni Of Florence RENEWAL30Ivan Magalhaes
1003Aruna N TollnerSpain2026-09-18Benton, John B Jr UNQUALIFIED24Stephen Shaw
1004Izzy J IturbideUnited Kingdom2026-09-20Feltz Printing Service RENEWAL77Elwin Sharvill
1005Cody Q NickaCanada2026-09-10Rangoni Of Florence QUALIFIED27Anna Fali
1006Smith S DoeSpain2026-09-17Truhlar And Truhlar Attys NEW98Elwin Sharvill
1007Maria K FigeroaFrance2026-09-10Chapman, Ross E Esq NEW46Elwin Sharvill
1008Alejandro R GauchoArgentina2026-09-06Rousseaux, Michael Esq NEGOTIATION79Onyama Limba
1009Ricardo J WaycottIndia2026-09-11Chanay, Jeffrey A Esq PROPOSAL12Xuxue Feng
1010Octavia U ChuiCanada2026-09-23Dorl, James J Esq NEGOTIATION17Elwin Sharvill
1011Maisha C VocelkaGermany2026-10-02Printing Dimensions UNQUALIFIED4Stephen Shaw
1012Johnson J FollerCanada2026-09-16Commercial Press NEGOTIATION26Stephen Shaw
1013Emily U CaldareraBrazil2026-10-04King, Christopher A Esq QUALIFIED9Amy Elsner
1014Mujtaba Z OstroskyCanada2026-09-19Benton, John B Jr NEGOTIATION48Bernardo Dominic
1015Costa O KuskoBrazil2026-09-21Chemel, James L Cpa RENEWAL78Onyama Limba
1016Aika M BologniaCanada2026-09-29Rangoni Of Florence PROPOSAL72Bernardo Dominic
1017Nicolas X BologniaIndia2026-09-13Dorl, James J Esq RENEWAL95Bernardo Dominic
1018Kaitlin U VocelkaItaly2026-09-07Printing Dimensions PROPOSAL86Onyama Limba
1019Deepesh J GlickSpain2026-09-22Dorl, James J Esq QUALIFIED61Ioni Bowcher
1020Aruna Q SlusarskiSpain2026-09-19Dorl, James J Esq QUALIFIED0Elwin Sharvill
1021Ashley C RimAustralia2026-09-18Truhlar And Truhlar Attys RENEWAL93Anna Fali
1022Jeanfrancois Q RutaUnited Kingdom2026-09-15Chemel, James L Cpa PROPOSAL99Anna Fali
1023Kaitlin P FerenczRussia2026-10-03Printing Dimensions PROPOSAL72Asiya Javayant
1024Julie K VenereAustralia2026-09-30Printing Dimensions PROPOSAL17Elwin Sharvill
1025Tony X IturbideRussia2026-09-23Feiner Bros QUALIFIED34Ioni Bowcher
1026Johnson B CampainAustralia2026-09-09Rangoni Of Florence PROPOSAL13Ioni Bowcher
1027Ashley G OstroskyRussia2026-09-22Rousseaux, Michael Esq NEGOTIATION33Asiya Javayant
1028Mujtaba A DarakjyAustralia2026-09-22Buckley Miller Wright NEW26Stephen Shaw
1029Misaki V BriddickItaly2026-09-30Rangoni Of Florence RENEWAL97Elwin Sharvill
1030Deepesh V SlusarskiJapan2026-09-24Chapman, Ross E Esq RENEWAL22Xuxue Feng
1031Johnson P StockhamArgentina2026-09-28Buckley Miller Wright PROPOSAL13Elwin Sharvill
1032Silvio B BowleyIndia2026-09-19Feltz Printing Service RENEWAL60Amy Elsner
1033Jefferson G SchemmerFrance2026-09-20Buckley Miller Wright RENEWAL44Asiya Javayant
1034Octavia A FerenczRussia2026-09-08Rousseaux, Michael Esq NEGOTIATION10Elwin Sharvill
1035Deepesh P MaletRussia2026-10-05Feiner Bros NEGOTIATION72Ivan Magalhaes
1036Jones O SergiJapan2026-09-17Rangoni Of Florence NEW34Stephen Shaw
1037Rodrigues B ChuiAustralia2026-09-13Rangoni Of Florence UNQUALIFIED14Xuxue Feng
1038Antonio Z AmigonJapan2026-09-27Dorl, James J Esq QUALIFIED35Ivan Magalhaes
1039Deepesh Y MaletArgentina2026-10-01Chemel, James L Cpa PROPOSAL57Bernardo Dominic
1040Octavia B AlbaresCanada2026-09-23Buckley Miller Wright NEGOTIATION7Asiya Javayant
1041Murillo X ChuiCanada2026-09-07King, Christopher A Esq QUALIFIED79Elwin Sharvill
1042Ivar M GauchoCanada2026-09-27Dorl, James J Esq NEW72Asiya Javayant
1043Alejandro T ButtArgentina2026-09-12Rousseaux, Michael Esq PROPOSAL17Bernardo Dominic
1044Kadeem Y ChuiRussia2026-09-09Chemel, James L Cpa PROPOSAL27Ivan Magalhaes
1045Munro A WieserGermany2026-09-26Feltz Printing Service NEGOTIATION15Elwin Sharvill
1046Octavia E DoeRussia2026-09-21Benton, John B Jr RENEWAL89Bernardo Dominic
1047Johnson G WieserUnited Kingdom2026-10-02Benton, John B Jr RENEWAL83Onyama Limba
1048Ivar E CaldareraJapan2026-09-19Benton, John B Jr RENEWAL93Anna Fali
1049Cody J NestleIndia2026-09-27Chanay, Jeffrey A Esq UNQUALIFIED1Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jefferson O DilliardBrazilStephen Shaw NEGOTIATION
Faith O GauchoArgentinaOnyama Limba NEW
Aditya U StockhamItalyAmy Elsner UNQUALIFIED
Sinclair T MaletGermanyElwin Sharvill NEGOTIATION
Ivar V WhobreyRussiaElwin Sharvill RENEWAL
Mujtaba T StockhamJapanAsiya Javayant NEW
Juan Z AmigonAustraliaAmy Elsner NEGOTIATION
Alejandro W KuskoBrazilOnyama Limba PROPOSAL
Kaitlin K ChuiUnited KingdomIvan Magalhaes RENEWAL
Julie Q SaylorsItalyIvan Magalhaes RENEWAL
Leon G TollnerSpainIvan Magalhaes NEGOTIATION
Ricardo R DoeSpainIvan Magalhaes RENEWAL
Aruna A VocelkaJapanIvan Magalhaes RENEWAL
Maria J FigeroaCanadaIoni Bowcher PROPOSAL
Cody V DilliardItalyBernardo Dominic NEGOTIATION
Johnson S MaletRussiaElwin Sharvill PROPOSAL
Jones K ShinkoFranceStephen Shaw RENEWAL
Arvin W WaycottArgentinaOnyama Limba QUALIFIED
Nicolas I RimFranceElwin Sharvill PROPOSAL
Ricardo Y OldroydCanadaOnyama Limba NEW
Kadeem W MorascaRussiaElwin Sharvill RENEWAL
Stacey Y DarakjyItalyIvan Magalhaes PROPOSAL
Ashley P MaletItalyAmy Elsner RENEWAL
Ashley K NickaBrazilIvan Magalhaes PROPOSAL
Francesco A SergiUnited KingdomIvan Magalhaes RENEWAL
Aruna C BologniaCanadaStephen Shaw NEGOTIATION
Silvio L BriddickUnited KingdomAmy Elsner RENEWAL
Misaki H OstroskyAustraliaIoni Bowcher UNQUALIFIED
Wickens N DarakjyBrazilIoni Bowcher QUALIFIED
Ivar I PaprockiJapanBernardo Dominic UNQUALIFIED
Stacey R CaldareraRussiaAnna Fali NEW
Izzy T PerinBrazilElwin Sharvill QUALIFIED
Silvio R IturbideCanadaIvan Magalhaes NEW
Mayumi H ButtGermanyOnyama Limba NEW
Juan Q StockhamItalyIvan Magalhaes QUALIFIED
Misaki Y CaldareraSpainBernardo Dominic RENEWAL
Juan L FollerItalyAnna Fali QUALIFIED
Ashley N StensethCanadaIvan Magalhaes PROPOSAL
Misaki J MaletUnited KingdomStephen Shaw RENEWAL
Faith R RulapaughSpainAsiya Javayant RENEWAL
Claire Q WhobreyBrazilStephen Shaw PROPOSAL
Maria P SlusarskiSpainAnna Fali NEGOTIATION
Emily D MaletBrazilElwin Sharvill UNQUALIFIED
Mayumi H RulapaughItalyStephen Shaw NEGOTIATION
Maria V WaycottSpainOnyama Limba NEW
Mujtaba K RimUnited KingdomXuxue Feng NEW
Silvio J ButtArgentinaBernardo Dominic UNQUALIFIED
Jefferson X NestleArgentinaBernardo Dominic NEGOTIATION
Francesco T VenereUnited KingdomAsiya Javayant PROPOSAL
Faith V BowleySpainXuxue Feng NEGOTIATION
Frozen Columns
Name
Francesco N Stockham
Antonio B Nicka
Maria D Chui
David A Malet
Mayumi G Nicka
Maria B Marrier
Deepesh P Doe
Ashley W Rulapaugh
Arvin A Malet
Julie O Kolmetz
Leja H Gillian
Aika W Garufi
Deepesh Z Whobrey
Juan V Briddick
Jones E Campain
Jefferson N Ruta
Emily F Ostrosky
Salvatore D Saylors
Cody T Shinko
Izzy M Bowley
Wickens G Wieser
Maria Y Perin
Octavia Q Perin
Juan A Sergi
Munro U Royster
Adams Y Sergi
Octavia I Flosi
Claire R Nicka
Sinclair P Iturbide
Julie E Saylors
Octavia B Slusarski
Adams I Nestle
Johnson L Rim
Mayumi U Sergi
Leja J Iturbide
Smith Q Stenseth
Francesco S Iturbide
Francesco B Malet
Ricardo R Gillian
Isabel N Oldroyd
Izzy T Marrier
Leon C Poquette
Faith Q Shinko
Ricardo X Shinko
Kadeem V Rim
Tony P Saylors
Rodrigues G Marrier
Claire P Foller
James K Dilliard
Faith P Doe
IdCountryDate
1000Spain2026-10-04
1001Canada2026-09-19
1002India2026-09-29
1003India2026-09-19
1004India2026-09-22
1005Italy2026-09-20
1006Spain2026-09-27
1007France2026-09-16
1008India2026-09-14
1009Germany2026-09-29
1010United Kingdom2026-09-22
1011Russia2026-09-30
1012Argentina2026-09-08
1013India2026-10-05
1014Russia2026-09-24
1015United Kingdom2026-09-26
1016Argentina2026-10-01
1017France2026-09-15
1018France2026-09-27
1019Russia2026-09-16
1020United Kingdom2026-09-15
1021United Kingdom2026-09-27
1022Argentina2026-09-09
1023Italy2026-09-21
1024Brazil2026-09-21
1025Argentina2026-09-10
1026United Kingdom2026-09-18
1027Japan2026-09-26
1028Argentina2026-09-07
1029Argentina2026-09-11
1030Germany2026-09-23
1031Canada2026-10-02
1032Germany2026-09-09
1033Argentina2026-10-05
1034Brazil2026-09-22
1035France2026-09-25
1036Australia2026-10-02
1037Argentina2026-09-06
1038Canada2026-09-08
1039Argentina2026-09-11
1040India2026-09-13
1041Japan2026-09-16
1042Australia2026-09-28
1043United Kingdom2026-09-07
1044Spain2026-09-07
1045India2026-09-08
1046Japan2026-10-05
1047Australia2026-09-24
1048Argentina2026-09-08
1049Germany2026-10-03

On-Demand Data

NameIdCountryDate
Claire C Stockham1000Argentina2026-09-18
Stacey G Caudy1001Japan2026-09-16
Jeanfrancois B Sergi1002Japan2026-09-22
Morrow P Malet1003Canada2026-09-10
Clifford Y Garufi1004Canada2026-09-26
Mayumi R Kolmetz1005Australia2026-09-20
Tony U Ferencz1006Spain2026-09-12
Alejandro O Bowley1007Japan2026-09-12
Sinclair G Stockham1008France2026-10-02
Maisha L Rim1009Argentina2026-09-16
Aruna T Briddick1010United Kingdom2026-09-17
Ivar Z Oldroyd1011France2026-09-21
Silvio V Vocelka1012Brazil2026-09-17
Claire U Poquette1013India2026-09-17
Sinclair C Wieser1014Russia2026-10-02
David C Slusarski1015Canada2026-09-16
Antonio Y Dilliard1016India2026-09-28
Leon B Schemmer1017France2026-09-09
Ashley I Flosi1018Australia2026-09-13
Maria C Waycott1019Japan2026-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio N PoquetteIndiaStephen Shaw QUALIFIED
Salvatore C DilliardBrazilAmy Elsner QUALIFIED
Sinclair Y MaletIndiaAnna Fali NEGOTIATION
Chavez R CampainRussiaElwin Sharvill PROPOSAL
Aruna I DilliardJapanBernardo Dominic NEGOTIATION
Izzy A VenereAustraliaOnyama Limba RENEWAL
Cody C FlosiRussiaIvan Magalhaes PROPOSAL
Misaki N GarufiGermanyIvan Magalhaes NEGOTIATION
Salvatore Z WaycottItalyBernardo Dominic QUALIFIED
Nicolas Q OstroskyGermanyAmy Elsner UNQUALIFIED
Greenwood J GlickCanadaBernardo Dominic QUALIFIED
Jones I RimRussiaXuxue Feng UNQUALIFIED
Maria C GillianRussiaStephen Shaw UNQUALIFIED
Isabel R ButtCanadaIoni Bowcher NEW
Chavez F RulapaughSpainAsiya Javayant UNQUALIFIED
Smith W MacleadJapanOnyama Limba UNQUALIFIED
Kaitlin X RutaBrazilBernardo Dominic NEGOTIATION
Misaki Z AlbaresItalyOnyama Limba UNQUALIFIED
Aika T IturbideBrazilXuxue Feng NEGOTIATION
Costa P BologniaJapanOnyama Limba RENEWAL
Octavia A WaycottFranceAsiya Javayant NEGOTIATION
Nicolas B RulapaughBrazilIoni Bowcher UNQUALIFIED
Aditya E OldroydFranceAmy Elsner RENEWAL
Francesco K AmigonAustraliaXuxue Feng PROPOSAL
Greenwood K PaprockiArgentinaBernardo Dominic NEGOTIATION
Salvatore P GarufiFranceIvan Magalhaes UNQUALIFIED
Octavia Z CampainRussiaIvan Magalhaes UNQUALIFIED
Clifford X OldroydGermanyIvan Magalhaes UNQUALIFIED
Maria Z GlickArgentinaXuxue Feng UNQUALIFIED
Emily F FigeroaAustraliaAmy Elsner QUALIFIED
Rodrigues E BriddickBrazilXuxue Feng PROPOSAL
Sinclair H PoquetteRussiaXuxue Feng NEW
Kaitlin R CaldareraCanadaIoni Bowcher PROPOSAL
Aika X MarrierGermanyAnna Fali PROPOSAL
Leja J BologniaJapanElwin Sharvill UNQUALIFIED
Stacey Q GarufiAustraliaXuxue Feng UNQUALIFIED
Ashley A ButtGermanyIvan Magalhaes UNQUALIFIED
Isabel A MaletIndiaAmy Elsner QUALIFIED
Johnson B GillianGermanyOnyama Limba RENEWAL
Jeanfrancois K StensethCanadaStephen Shaw 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>