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
Isabel M OstroskyIndiaStephen Shaw NEW
Rodrigues R MaletItalyStephen Shaw PROPOSAL
Deepesh O FollerCanadaStephen Shaw UNQUALIFIED
Salvatore Y GlickJapanXuxue Feng NEW
Octavia T AmigonFranceIoni Bowcher PROPOSAL
Ricardo B StensethUnited KingdomAnna Fali UNQUALIFIED
Silvio V StockhamRussiaAnna Fali QUALIFIED
Smith X GauchoIndiaIvan Magalhaes UNQUALIFIED
Tony D NickaFranceAmy Elsner PROPOSAL
Wickens K BriddickJapanAnna Fali RENEWAL
Aruna Y BologniaAustraliaElwin Sharvill NEW
Emily U VocelkaRussiaAsiya Javayant QUALIFIED
Deepesh H KolmetzAustraliaAmy Elsner QUALIFIED
Smith R VocelkaAustraliaAsiya Javayant UNQUALIFIED
Jeanfrancois O SlusarskiAustraliaStephen Shaw NEW
Wickens V CaldareraFranceXuxue Feng NEW
Mujtaba E IturbideIndiaXuxue Feng PROPOSAL
Kadeem U GlickSpainAnna Fali NEGOTIATION
Julie L WaycottRussiaXuxue Feng UNQUALIFIED
Maisha Y OstroskyGermanyAsiya Javayant QUALIFIED
Mujtaba E FerenczJapanIoni Bowcher UNQUALIFIED
David L InouyeJapanIvan Magalhaes PROPOSAL
Jones Q OstroskyArgentinaOnyama Limba RENEWAL
Chavez U AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Darci A TollnerFranceAmy Elsner UNQUALIFIED
Cody Q FerenczBrazilAnna Fali UNQUALIFIED
Aika H InouyeRussiaElwin Sharvill NEGOTIATION
Sinclair E RoysterSpainElwin Sharvill NEW
Isabel A DilliardItalyAnna Fali PROPOSAL
Mujtaba T OstroskyGermanyBernardo Dominic RENEWAL
Maisha C VocelkaSpainElwin Sharvill QUALIFIED
Emily O BologniaIndiaIvan Magalhaes UNQUALIFIED
Juan Q StockhamCanadaAsiya Javayant NEW
Salvatore B ChuiSpainOnyama Limba NEW
Jefferson Q PaprockiIndiaElwin Sharvill PROPOSAL
Izzy W BologniaCanadaBernardo Dominic PROPOSAL
Johnson F WaycottArgentinaIoni Bowcher QUALIFIED
Rodrigues H MaletCanadaAmy Elsner UNQUALIFIED
Cody J AlbaresArgentinaIvan Magalhaes UNQUALIFIED
Costa Q IturbideBrazilBernardo Dominic RENEWAL
Aditya R AmigonAustraliaBernardo Dominic RENEWAL
Chavez G SchemmerIndiaAnna Fali NEGOTIATION
Julie P GauchoJapanAsiya Javayant UNQUALIFIED
Darci Z FollerIndiaElwin Sharvill UNQUALIFIED
Kaitlin H DoeJapanIvan Magalhaes QUALIFIED
Costa Y BriddickFranceAnna Fali NEGOTIATION
Leja F PerinAustraliaElwin Sharvill PROPOSAL
Chavez E SlusarskiAustraliaBernardo Dominic NEGOTIATION
Juan X KuskoRussiaBernardo Dominic QUALIFIED
Aruna M CaldareraFranceBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Arvin A StockhamUnited KingdomAsiya Javayant RENEWAL
Ashley A RutaRussiaBernardo Dominic NEW
Smith J AmigonSpainAmy Elsner QUALIFIED
Mayumi K DoeItalyBernardo Dominic NEW
Cody O OldroydJapanAmy Elsner UNQUALIFIED
Morrow A MaletIndiaIvan Magalhaes PROPOSAL
Costa B IturbideArgentinaOnyama Limba UNQUALIFIED
Tony J MorascaGermanyAsiya Javayant RENEWAL
Chavez F SaylorsBrazilAsiya Javayant NEW
Rodrigues F GarufiItalyOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa V CampainBrazil2026-09-20Chanay, Jeffrey A Esq PROPOSAL91Amy Elsner
1001Jennifer D RutaUnited Kingdom2026-09-16King, Christopher A Esq QUALIFIED11Asiya Javayant
1002Leon D GarufiGermany2026-09-20Printing Dimensions RENEWAL16Bernardo Dominic
1003James L GarufiUnited Kingdom2026-09-14Rangoni Of Florence QUALIFIED95Ioni Bowcher
1004Faith C OstroskyAustralia2026-09-28Feiner Bros QUALIFIED62Amy Elsner
1005Kadeem A SaylorsFrance2026-10-05Benton, John B Jr UNQUALIFIED7Asiya Javayant
1006Aruna R CaudyUnited Kingdom2026-09-30Buckley Miller Wright NEGOTIATION5Xuxue Feng
1007Mayumi G DilliardJapan2026-09-27King, Christopher A Esq QUALIFIED95Onyama Limba
1008Chavez B ShinkoUnited Kingdom2026-09-11Buckley Miller Wright PROPOSAL38Onyama Limba
1009Jennifer N DoeArgentina2026-09-06Dorl, James J Esq PROPOSAL77Ivan Magalhaes
1010Kaitlin A TollnerIndia2026-09-25Chapman, Ross E Esq NEW98Elwin Sharvill
1011Arvin T DilliardUnited Kingdom2026-09-06Chapman, Ross E Esq QUALIFIED35Anna Fali
1012Adams X WhobreyUnited Kingdom2026-09-10Morlong Associates RENEWAL93Onyama Limba
1013Murillo R BriddickBrazil2026-09-29King, Christopher A Esq RENEWAL56Stephen Shaw
1014Antonio I NestleArgentina2026-09-07Chapman, Ross E Esq QUALIFIED55Ivan Magalhaes
1015Rodrigues Q SlusarskiArgentina2026-09-18Commercial Press NEW24Elwin Sharvill
1016Tony D RulapaughUnited Kingdom2026-10-05Chemel, James L Cpa NEGOTIATION74Elwin Sharvill
1017Aruna C SaylorsGermany2026-09-28Benton, John B Jr PROPOSAL90Stephen Shaw
1018Jefferson S VocelkaSpain2026-10-04Buckley Miller Wright QUALIFIED42Xuxue Feng
1019Emily J RutaCanada2026-09-07Commercial Press NEW90Elwin Sharvill
1020Antonio B RutaUnited Kingdom2026-09-29Rousseaux, Michael Esq QUALIFIED80Ivan Magalhaes
1021David K SlusarskiJapan2026-09-25Rousseaux, Michael Esq PROPOSAL83Ivan Magalhaes
1022Isabel F DoeRussia2026-09-18Benton, John B Jr NEGOTIATION70Stephen Shaw
1023Misaki A InouyeItaly2026-09-19Truhlar And Truhlar Attys PROPOSAL82Ivan Magalhaes
1024Francesco A PerinIndia2026-10-05Dorl, James J Esq NEGOTIATION47Ivan Magalhaes
1025Izzy N KuskoFrance2026-09-23Chanay, Jeffrey A Esq UNQUALIFIED65Bernardo Dominic
1026Octavia F StockhamIndia2026-09-12Morlong Associates NEW20Ioni Bowcher
1027Mujtaba I NickaJapan2026-09-07Printing Dimensions UNQUALIFIED47Amy Elsner
1028Ivar G NickaArgentina2026-10-04Rangoni Of Florence QUALIFIED62Asiya Javayant
1029Costa O VocelkaCanada2026-10-04Printing Dimensions QUALIFIED26Asiya Javayant
1030Johnson T NestleIndia2026-09-14Feiner Bros QUALIFIED38Onyama Limba
1031Antonio L MorascaIndia2026-09-12Feiner Bros PROPOSAL15Ivan Magalhaes
1032Antonio U FerenczItaly2026-09-23Feltz Printing Service UNQUALIFIED0Ioni Bowcher
1033Jefferson Q CaldareraArgentina2026-09-06Chapman, Ross E Esq PROPOSAL84Amy Elsner
1034Julie R CaudyCanada2026-10-05Rangoni Of Florence NEW95Ioni Bowcher
1035Arvin B GlickSpain2026-10-02Feltz Printing Service RENEWAL11Ioni Bowcher
1036Wickens W PoquetteBrazil2026-09-30Chapman, Ross E Esq RENEWAL62Ioni Bowcher
1037Nicolas I GillianFrance2026-09-24Chanay, Jeffrey A Esq NEGOTIATION27Xuxue Feng
1038Ashley C StensethAustralia2026-10-02Benton, John B Jr NEGOTIATION87Ivan Magalhaes
1039Jeanfrancois F DoeIndia2026-09-07Chapman, Ross E Esq UNQUALIFIED82Xuxue Feng
1040Darci S GillianCanada2026-09-08Chemel, James L Cpa RENEWAL56Ivan Magalhaes
1041David Y SaylorsRussia2026-10-02Benton, John B Jr NEGOTIATION73Anna Fali
1042Emily D RimSpain2026-09-09Chanay, Jeffrey A Esq NEGOTIATION97Anna Fali
1043Silvio Q RutaCanada2026-10-02King, Christopher A Esq UNQUALIFIED92Xuxue Feng
1044Francesco J RoysterGermany2026-09-23Morlong Associates UNQUALIFIED56Onyama Limba
1045Adams C SaylorsAustralia2026-10-02Morlong Associates UNQUALIFIED35Ioni Bowcher
1046Stacey L FlosiRussia2026-10-01Rousseaux, Michael Esq PROPOSAL55Xuxue Feng
1047Kaitlin A FigeroaRussia2026-09-13King, Christopher A Esq NEGOTIATION45Onyama Limba
1048Morrow K ChuiRussia2026-09-15Truhlar And Truhlar Attys NEGOTIATION45Elwin Sharvill
1049Antonio C GauchoUnited Kingdom2026-09-14Chapman, Ross E Esq RENEWAL29Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Kadeem B BologniaArgentinaAmy Elsner NEGOTIATION
Johnson Z DilliardItalyElwin Sharvill NEW
Clifford M NestleGermanyIvan Magalhaes QUALIFIED
Sinclair R MorascaGermanyIvan Magalhaes NEGOTIATION
Ricardo O DilliardFranceBernardo Dominic NEW
Juan J WaycottAustraliaIoni Bowcher QUALIFIED
Adams S RulapaughItalyAnna Fali RENEWAL
James A IturbideCanadaBernardo Dominic NEW
Ashley S SlusarskiGermanyBernardo Dominic NEGOTIATION
Claire G NestleArgentinaAsiya Javayant UNQUALIFIED
Ricardo V FerenczItalyStephen Shaw NEGOTIATION
Rodrigues S IturbideBrazilAsiya Javayant NEGOTIATION
Arvin F KolmetzAustraliaIoni Bowcher NEW
Aika P MorascaFranceIvan Magalhaes RENEWAL
Misaki X PerinArgentinaIoni Bowcher UNQUALIFIED
Tony W RoysterJapanXuxue Feng UNQUALIFIED
Clifford G OstroskyCanadaXuxue Feng NEGOTIATION
Adams E SaylorsUnited KingdomAsiya Javayant NEW
Wickens R DoeArgentinaIvan Magalhaes NEGOTIATION
Salvatore L CampainAustraliaElwin Sharvill PROPOSAL
Maria F PaprockiIndiaAmy Elsner RENEWAL
Isabel Y SergiGermanyIvan Magalhaes RENEWAL
Clifford D OstroskySpainOnyama Limba NEGOTIATION
David D MorascaUnited KingdomAmy Elsner PROPOSAL
Octavia P CampainBrazilOnyama Limba UNQUALIFIED
Rodrigues A SaylorsFranceBernardo Dominic PROPOSAL
Sinclair H StensethIndiaAsiya Javayant NEW
Maria A ShinkoRussiaXuxue Feng UNQUALIFIED
Deepesh Z MacleadCanadaOnyama Limba NEW
Emily V WhobreyUnited KingdomAsiya Javayant QUALIFIED
Jefferson R PerinIndiaIoni Bowcher UNQUALIFIED
Isabel O PoquetteIndiaBernardo Dominic NEW
Morrow K StockhamBrazilBernardo Dominic UNQUALIFIED
Isabel I GlickUnited KingdomBernardo Dominic UNQUALIFIED
Tony R SaylorsSpainAmy Elsner QUALIFIED
Cody U CaldareraFranceIoni Bowcher RENEWAL
Darci S VenereJapanStephen Shaw NEGOTIATION
Isabel Z GillianSpainElwin Sharvill QUALIFIED
Deepesh C MacleadBrazilOnyama Limba RENEWAL
Maisha V WhobreyIndiaAmy Elsner UNQUALIFIED
Nicolas C AlbaresBrazilIoni Bowcher NEW
Alejandro C WieserRussiaOnyama Limba RENEWAL
Jefferson I FollerBrazilXuxue Feng QUALIFIED
James L BriddickArgentinaElwin Sharvill NEGOTIATION
Ashley A IturbideSpainXuxue Feng QUALIFIED
Sinclair S AmigonCanadaStephen Shaw RENEWAL
Greenwood Q PaprockiUnited KingdomIvan Magalhaes PROPOSAL
James U ButtAustraliaElwin Sharvill RENEWAL
Darci G NestleCanadaBernardo Dominic RENEWAL
Munro R GarufiSpainIoni Bowcher QUALIFIED
Frozen Columns
Name
Smith U Ferencz
Wickens I Tollner
James R Stockham
Nicolas G Ruta
Tony L Kusko
Octavia Y Foller
Francesco X Whobrey
Alejandro P Campain
Juan B Waycott
Octavia F Flosi
Smith J Sergi
Smith A Caudy
Morrow L Chui
Jeanfrancois D Ferencz
Morrow Y Foller
Murillo J Figeroa
James Z Oldroyd
Isabel I Royster
Aruna V Glick
Aruna G Rim
Sinclair L Campain
Aditya C Malet
Johnson E Caldarera
Izzy G Shinko
Cody Z Butt
Antonio C Nestle
Faith U Vocelka
Aruna B Whobrey
Leon A Nicka
Jones Y Slusarski
James Y Shinko
Cody V Waycott
Octavia J Dilliard
Misaki C Perin
Alejandro O Ostrosky
James C Dilliard
Tony M Stenseth
Antonio E Whobrey
Jennifer S Caudy
Kadeem R Waycott
Maria S Glick
Stacey M Rulapaugh
Murillo E Wieser
Octavia S Waycott
Tony D Schemmer
Rodrigues J Waycott
Chavez L Bowley
Costa M Flosi
Clifford K Kusko
Darci J Darakjy
IdCountryDate
1000Germany2026-09-22
1001Japan2026-09-29
1002Australia2026-09-22
1003Italy2026-09-20
1004Russia2026-09-13
1005Italy2026-09-13
1006Germany2026-09-16
1007Italy2026-09-20
1008Argentina2026-09-07
1009Germany2026-10-04
1010Russia2026-09-24
1011France2026-09-19
1012Russia2026-09-07
1013France2026-09-30
1014India2026-09-12
1015Canada2026-10-03
1016Canada2026-09-12
1017France2026-09-28
1018Australia2026-09-28
1019Brazil2026-10-04
1020Brazil2026-09-08
1021Australia2026-09-23
1022India2026-09-09
1023Germany2026-09-23
1024Russia2026-09-30
1025Argentina2026-09-23
1026Japan2026-09-08
1027Argentina2026-10-03
1028India2026-09-24
1029Germany2026-09-09
1030France2026-09-24
1031India2026-10-05
1032Germany2026-10-02
1033Canada2026-09-09
1034United Kingdom2026-09-30
1035Spain2026-09-27
1036France2026-09-16
1037Spain2026-09-18
1038Brazil2026-10-02
1039United Kingdom2026-09-13
1040Australia2026-09-12
1041France2026-09-27
1042Japan2026-09-27
1043India2026-10-03
1044India2026-10-01
1045Japan2026-09-13
1046Canada2026-09-22
1047Russia2026-09-21
1048United Kingdom2026-09-23
1049Australia2026-09-14

On-Demand Data

NameIdCountryDate
Jones F Stockham1000Germany2026-09-21
Mayumi K Oldroyd1001Spain2026-09-21
James B Ferencz1002Australia2026-09-30
Jennifer D Nicka1003India2026-09-13
Aika Q Slusarski1004Canada2026-09-12
Murillo O Tollner1005India2026-09-18
Stacey G Morasca1006United Kingdom2026-09-30
Ricardo P Kusko1007Italy2026-09-09
Murillo R Gillian1008Canada2026-09-15
Antonio A Amigon1009Brazil2026-10-01
Smith G Bowley1010Australia2026-10-03
Nicolas H Inouye1011United Kingdom2026-10-02
Adams H Bolognia1012Italy2026-10-05
Leon Q Tollner1013Argentina2026-09-27
Jones S Butt1014Spain2026-09-13
Mayumi I Dilliard1015Brazil2026-10-05
Mujtaba A Kolmetz1016Japan2026-09-29
Aika Y Perin1017Germany2026-09-08
Jones D Vocelka1018Italy2026-10-03
Mayumi F Sergi1019United Kingdom2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson Z FlosiCanadaAmy Elsner UNQUALIFIED
Arvin Q DilliardJapanBernardo Dominic UNQUALIFIED
Maria R InouyeItalyAnna Fali RENEWAL
Ivar R MaletAustraliaElwin Sharvill RENEWAL
Mayumi Q CaldareraIndiaAnna Fali PROPOSAL
Clifford G TollnerJapanOnyama Limba NEGOTIATION
Juan V MaletFranceXuxue Feng UNQUALIFIED
Rodrigues X NickaAustraliaIoni Bowcher PROPOSAL
Jones F CampainUnited KingdomXuxue Feng QUALIFIED
Ricardo J CaudyJapanBernardo Dominic RENEWAL
Deepesh W GlickCanadaBernardo Dominic PROPOSAL
Rodrigues Z MorascaRussiaAnna Fali QUALIFIED
Greenwood S PerinRussiaAnna Fali UNQUALIFIED
Clifford M IturbideSpainElwin Sharvill QUALIFIED
Ashley F StockhamJapanOnyama Limba NEGOTIATION
Emily I SchemmerGermanyXuxue Feng RENEWAL
Alejandro W KolmetzGermanyXuxue Feng UNQUALIFIED
Aruna A RimJapanAsiya Javayant UNQUALIFIED
Claire Y ButtFranceStephen Shaw PROPOSAL
Chavez G VenereUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo G SchemmerJapanXuxue Feng RENEWAL
Alejandro H KolmetzGermanyAnna Fali NEGOTIATION
Morrow A TollnerSpainAmy Elsner PROPOSAL
Darci J KuskoBrazilOnyama Limba NEW
Adams S TollnerAustraliaAmy Elsner PROPOSAL
David Y DarakjyGermanyXuxue Feng NEW
Ashley C NickaUnited KingdomAmy Elsner NEW
Misaki T SaylorsJapanAmy Elsner PROPOSAL
Morrow G NickaSpainXuxue Feng RENEWAL
David H DarakjyJapanXuxue Feng NEW
Silvio E MarrierCanadaAmy Elsner NEW
Stacey Q ButtItalyStephen Shaw NEW
Ivar I SergiAustraliaAnna Fali NEGOTIATION
Ashley A RutaFranceAnna Fali RENEWAL
Izzy M CaldareraBrazilAmy Elsner RENEWAL
Cody J BologniaRussiaIoni Bowcher UNQUALIFIED
Greenwood L SlusarskiSpainIoni Bowcher QUALIFIED
Antonio Z CampainIndiaIvan Magalhaes PROPOSAL
Johnson E SergiIndiaOnyama Limba UNQUALIFIED
Izzy W PoquetteFranceBernardo Dominic UNQUALIFIED

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