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
Greenwood E StensethSpainStephen Shaw QUALIFIED
Smith V KuskoJapanIoni Bowcher UNQUALIFIED
Sinclair F WhobreyRussiaXuxue Feng UNQUALIFIED
Antonio X AmigonJapanAnna Fali QUALIFIED
Kaitlin Y KuskoItalyElwin Sharvill RENEWAL
Jeanfrancois L BowleyUnited KingdomOnyama Limba NEW
Antonio Z WaycottSpainAsiya Javayant RENEWAL
Maisha W BologniaAustraliaBernardo Dominic QUALIFIED
David C MaletIndiaOnyama Limba NEGOTIATION
Johnson S NestleGermanyAsiya Javayant NEGOTIATION
Izzy T KolmetzItalyAsiya Javayant UNQUALIFIED
Kadeem X AlbaresArgentinaOnyama Limba NEGOTIATION
Maisha X BriddickSpainAnna Fali RENEWAL
Faith M VenereAustraliaElwin Sharvill UNQUALIFIED
Octavia Y OstroskyItalyOnyama Limba NEGOTIATION
James J PaprockiArgentinaAmy Elsner RENEWAL
Leon P BowleySpainAnna Fali PROPOSAL
Mujtaba S SchemmerFranceIvan Magalhaes RENEWAL
Julie L FollerBrazilIvan Magalhaes UNQUALIFIED
Faith C RulapaughCanadaIvan Magalhaes QUALIFIED
Greenwood X WaycottGermanyAsiya Javayant QUALIFIED
Munro O MaletCanadaIoni Bowcher PROPOSAL
Jones J CaldareraArgentinaAnna Fali PROPOSAL
Costa K MaletGermanyOnyama Limba RENEWAL
Juan I StensethBrazilBernardo Dominic PROPOSAL
Silvio O WaycottFranceElwin Sharvill NEGOTIATION
Smith F GauchoItalyIvan Magalhaes RENEWAL
Isabel C AlbaresFranceStephen Shaw NEGOTIATION
Munro Q MaletGermanyXuxue Feng NEW
Jefferson S RulapaughGermanyStephen Shaw PROPOSAL
Cody H KolmetzSpainAnna Fali QUALIFIED
Misaki L SaylorsBrazilIvan Magalhaes NEGOTIATION
Izzy O RoysterBrazilIvan Magalhaes NEGOTIATION
Aika S ChuiAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin B SergiArgentinaOnyama Limba RENEWAL
Leja T SlusarskiAustraliaAmy Elsner NEGOTIATION
Cody Q BriddickCanadaBernardo Dominic NEW
Misaki B PaprockiAustraliaAnna Fali QUALIFIED
Kadeem N ChuiFranceXuxue Feng QUALIFIED
Rodrigues C InouyeJapanXuxue Feng PROPOSAL
Aika E BriddickCanadaOnyama Limba UNQUALIFIED
Jones O FlosiIndiaAmy Elsner QUALIFIED
Smith S SaylorsIndiaXuxue Feng RENEWAL
Jeanfrancois P WieserRussiaStephen Shaw NEW
Johnson T PoquetteBrazilIvan Magalhaes NEW
Jefferson C NestleBrazilIvan Magalhaes NEGOTIATION
Jeanfrancois Y RulapaughSpainOnyama Limba UNQUALIFIED
Rodrigues M OldroydJapanElwin Sharvill UNQUALIFIED
Kaitlin L BriddickItalyXuxue Feng UNQUALIFIED
Antonio R KuskoFranceAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore E RutaUnited KingdomIoni Bowcher RENEWAL
Arvin Z FigeroaFranceElwin Sharvill NEW
James H CampainFranceIoni Bowcher NEW
David W RoysterBrazilElwin Sharvill NEW
Octavia A SchemmerJapanAsiya Javayant RENEWAL
Smith J RulapaughGermanyElwin Sharvill PROPOSAL
Ricardo T MacleadAustraliaAsiya Javayant QUALIFIED
Jennifer I SlusarskiJapanIvan Magalhaes NEW
Octavia Y ButtArgentinaAnna Fali PROPOSAL
Aika A GauchoIndiaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika I PaprockiJapan2026-10-29Chapman, Ross E Esq NEW81Ivan Magalhaes
1001Deepesh R WhobreyArgentina2026-10-03Rousseaux, Michael Esq RENEWAL33Amy Elsner
1002Maisha L SaylorsGermany2026-10-23Benton, John B Jr RENEWAL64Onyama Limba
1003Stacey R ShinkoIndia2026-10-10Buckley Miller Wright QUALIFIED20Ivan Magalhaes
1004Claire U SchemmerJapan2026-10-03Rangoni Of Florence UNQUALIFIED96Ivan Magalhaes
1005Tony O PoquetteBrazil2026-10-14Rangoni Of Florence NEW85Ivan Magalhaes
1006Greenwood H GillianFrance2026-10-25Commercial Press RENEWAL84Stephen Shaw
1007Salvatore I WhobreySpain2026-10-03King, Christopher A Esq PROPOSAL45Stephen Shaw
1008Alejandro P StockhamFrance2026-10-26Feltz Printing Service RENEWAL13Stephen Shaw
1009Kadeem O AlbaresArgentina2026-10-22Rangoni Of Florence QUALIFIED24Ioni Bowcher
1010Kaitlin B MorascaGermany2026-10-17King, Christopher A Esq QUALIFIED8Ivan Magalhaes
1011Emily S OldroydRussia2026-10-07Truhlar And Truhlar Attys RENEWAL62Ivan Magalhaes
1012Alejandro R AmigonArgentina2026-10-19Printing Dimensions NEGOTIATION29Xuxue Feng
1013Leja Z PoquetteArgentina2026-10-17Rangoni Of Florence UNQUALIFIED76Amy Elsner
1014Cody U SchemmerArgentina2026-10-09Rangoni Of Florence NEGOTIATION79Asiya Javayant
1015Cody A RoysterArgentina2026-10-21Chemel, James L Cpa PROPOSAL5Stephen Shaw
1016Antonio Z KolmetzBrazil2026-10-27Feltz Printing Service NEGOTIATION4Onyama Limba
1017Munro N DoeAustralia2026-10-29Benton, John B Jr NEGOTIATION62Xuxue Feng
1018Greenwood G CampainArgentina2026-10-06Morlong Associates NEGOTIATION0Ivan Magalhaes
1019Greenwood D DarakjyGermany2026-10-18Feiner Bros PROPOSAL3Ivan Magalhaes
1020Sinclair X StensethCanada2026-10-16Truhlar And Truhlar Attys QUALIFIED75Bernardo Dominic
1021Sinclair R MarrierIndia2026-10-20King, Christopher A Esq NEGOTIATION90Ivan Magalhaes
1022Greenwood Q SaylorsBrazil2026-10-08Feltz Printing Service UNQUALIFIED29Elwin Sharvill
1023Cody U FigeroaFrance2026-10-16Chemel, James L Cpa NEW25Elwin Sharvill
1024Greenwood V ChuiFrance2026-10-06Chemel, James L Cpa NEGOTIATION9Elwin Sharvill
1025Murillo I KuskoCanada2026-10-14Chemel, James L Cpa RENEWAL71Onyama Limba
1026Arvin X AmigonBrazil2026-10-29Chanay, Jeffrey A Esq NEW81Bernardo Dominic
1027Emily A IturbideJapan2026-10-31Rangoni Of Florence PROPOSAL51Amy Elsner
1028Kaitlin D PaprockiSpain2026-10-11Printing Dimensions RENEWAL88Xuxue Feng
1029Claire W StockhamRussia2026-10-28Feiner Bros NEW8Asiya Javayant
1030Smith R FlosiRussia2026-10-26Feiner Bros NEW47Anna Fali
1031Costa N MorascaJapan2026-10-03Chemel, James L Cpa QUALIFIED69Anna Fali
1032Stacey A RulapaughBrazil2026-10-10Buckley Miller Wright NEW32Onyama Limba
1033Arvin J WhobreyUnited Kingdom2026-10-23Rousseaux, Michael Esq RENEWAL91Ivan Magalhaes
1034Rodrigues J MarrierIndia2026-10-17Feiner Bros PROPOSAL1Xuxue Feng
1035Octavia D RutaUnited Kingdom2026-10-05Chapman, Ross E Esq PROPOSAL69Elwin Sharvill
1036Sinclair E FigeroaIndia2026-10-03King, Christopher A Esq NEGOTIATION2Asiya Javayant
1037Antonio Q BriddickCanada2026-10-19Feltz Printing Service NEW8Bernardo Dominic
1038Deepesh V GlickCanada2026-10-19Rousseaux, Michael Esq NEW16Xuxue Feng
1039Jennifer I KuskoUnited Kingdom2026-10-23Chapman, Ross E Esq RENEWAL8Asiya Javayant
1040Munro B CaldareraJapan2026-10-20Truhlar And Truhlar Attys PROPOSAL3Onyama Limba
1041Sinclair D RutaFrance2026-10-30Rousseaux, Michael Esq NEGOTIATION31Elwin Sharvill
1042Costa N RutaArgentina2026-10-25Feltz Printing Service PROPOSAL81Xuxue Feng
1043Mujtaba W GlickArgentina2026-10-09Truhlar And Truhlar Attys PROPOSAL18Ivan Magalhaes
1044Ashley L BowleyIndia2026-10-08Rousseaux, Michael Esq NEW2Xuxue Feng
1045Johnson V CampainGermany2026-10-11Chapman, Ross E Esq RENEWAL16Ioni Bowcher
1046Morrow G WaycottBrazil2026-10-08Benton, John B Jr PROPOSAL62Onyama Limba
1047Adams Z VocelkaGermany2026-10-25Printing Dimensions QUALIFIED12Anna Fali
1048Sinclair V MarrierGermany2026-10-28Chemel, James L Cpa PROPOSAL5Anna Fali
1049Faith L DilliardArgentina2026-10-29Chanay, Jeffrey A Esq NEGOTIATION98Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow C SlusarskiRussiaAmy Elsner QUALIFIED
Ivar K InouyeUnited KingdomAnna Fali QUALIFIED
Cody Y CaudyBrazilXuxue Feng PROPOSAL
Arvin F NestleFranceOnyama Limba UNQUALIFIED
Izzy A SlusarskiSpainBernardo Dominic NEGOTIATION
Murillo X TollnerRussiaAnna Fali QUALIFIED
Arvin W GillianGermanyIvan Magalhaes NEW
Jones O PerinJapanElwin Sharvill QUALIFIED
Isabel T DilliardIndiaIoni Bowcher NEW
Ivar U StensethFranceStephen Shaw NEW
Sinclair S PerinFranceAnna Fali QUALIFIED
Aruna V GauchoGermanyIvan Magalhaes RENEWAL
Emily V MarrierFranceAsiya Javayant QUALIFIED
Kaitlin B StensethSpainOnyama Limba NEW
Stacey J ShinkoFranceElwin Sharvill PROPOSAL
James P PerinUnited KingdomAnna Fali NEW
Costa K WaycottJapanAnna Fali RENEWAL
Emily J StensethFranceXuxue Feng NEW
Leon O ChuiAustraliaElwin Sharvill RENEWAL
Smith C DoeSpainStephen Shaw QUALIFIED
Silvio M FlosiBrazilElwin Sharvill PROPOSAL
Jennifer N AlbaresBrazilIoni Bowcher NEGOTIATION
Wickens B RutaUnited KingdomXuxue Feng PROPOSAL
Sinclair C WieserAustraliaElwin Sharvill QUALIFIED
Ricardo F BologniaJapanAmy Elsner PROPOSAL
Ricardo A WhobreyCanadaStephen Shaw RENEWAL
Francesco Y BologniaBrazilBernardo Dominic NEW
Munro Y ButtCanadaOnyama Limba UNQUALIFIED
Maria M TollnerSpainStephen Shaw RENEWAL
Clifford V GlickBrazilAsiya Javayant QUALIFIED
James O AlbaresUnited KingdomIvan Magalhaes NEW
Emily N TollnerAustraliaIvan Magalhaes QUALIFIED
Juan P DarakjyGermanyAmy Elsner NEW
Nicolas L FigeroaAustraliaElwin Sharvill NEW
Darci P RutaArgentinaIoni Bowcher QUALIFIED
Leja U PoquetteCanadaXuxue Feng NEW
Maisha O OstroskyIndiaIvan Magalhaes UNQUALIFIED
Juan U StensethSpainXuxue Feng PROPOSAL
Ricardo P CaldareraFranceOnyama Limba NEGOTIATION
Darci I GauchoGermanyIvan Magalhaes QUALIFIED
Ashley C StockhamSpainStephen Shaw NEW
Murillo H InouyeFranceXuxue Feng UNQUALIFIED
Kadeem M AmigonArgentinaIvan Magalhaes RENEWAL
Arvin E StensethCanadaBernardo Dominic NEW
Ivar I AlbaresSpainAmy Elsner RENEWAL
Aruna O WieserUnited KingdomAmy Elsner PROPOSAL
Chavez W InouyeJapanAnna Fali QUALIFIED
Misaki D GillianSpainAmy Elsner RENEWAL
Adams Z MarrierArgentinaIvan Magalhaes RENEWAL
Clifford C GlickAustraliaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Clifford E Ostrosky
Deepesh U Dilliard
Francesco Q Campain
Faith S Gillian
Wickens M Shinko
Ashley L Chui
Rodrigues D Albares
Chavez X Vocelka
Cody Q Perin
Wickens S Nestle
Emily A Marrier
Mujtaba M Marrier
Sinclair U Bowley
Ricardo N Whobrey
Kadeem V Figeroa
Sinclair S Perin
Emily F Shinko
Leja Y Marrier
Silvio S Sergi
Octavia S Campain
Kaitlin M Caldarera
Cody V Tollner
Arvin F Kusko
Nicolas P Waycott
Emily W Sergi
Aditya Y Perin
Emily H Caldarera
Aditya V Wieser
Darci N Inouye
Clifford I Maclead
Nicolas S Malet
Salvatore B Bolognia
Antonio A Campain
Adams N Foller
Kadeem V Bowley
Alejandro V Bowley
Smith P Schemmer
Juan P Maclead
Deepesh Q Butt
Greenwood L Poquette
Clifford U Malet
Izzy Y Shinko
Jennifer S Malet
Deepesh B Foller
Leja N Morasca
Jones P Nestle
Ivar N Royster
Aika M Paprocki
Deepesh N Ruta
Faith B Kusko
IdCountryDate
1000France2026-10-18
1001Australia2026-10-28
1002Canada2026-10-24
1003Argentina2026-10-14
1004Canada2026-10-31
1005Australia2026-10-27
1006Italy2026-10-23
1007Australia2026-10-11
1008Argentina2026-10-23
1009Spain2026-10-27
1010India2026-10-22
1011Italy2026-10-22
1012India2026-10-20
1013United Kingdom2026-10-09
1014Germany2026-10-07
1015India2026-10-29
1016Russia2026-10-24
1017Spain2026-10-24
1018Australia2026-10-28
1019Brazil2026-10-29
1020Germany2026-10-15
1021Italy2026-10-30
1022India2026-10-31
1023Canada2026-10-26
1024Italy2026-10-28
1025Japan2026-10-15
1026Brazil2026-10-05
1027United Kingdom2026-10-13
1028Italy2026-10-22
1029Russia2026-10-04
1030Japan2026-10-23
1031United Kingdom2026-10-16
1032Germany2026-10-15
1033India2026-10-10
1034Germany2026-10-03
1035Germany2026-10-08
1036Argentina2026-10-24
1037Germany2026-10-31
1038Italy2026-10-12
1039United Kingdom2026-10-19
1040Japan2026-10-11
1041France2026-10-31
1042Italy2026-10-15
1043Russia2026-10-08
1044Italy2026-10-26
1045Russia2026-10-03
1046Argentina2026-10-26
1047Germany2026-10-13
1048Brazil2026-10-03
1049Russia2026-10-30

On-Demand Data

NameIdCountryDate
Aika L Malet1000Canada2026-10-08
Adams E Stockham1001United Kingdom2026-10-14
Rodrigues X Marrier1002Canada2026-10-31
Cody D Garufi1003Germany2026-10-18
Jones S Malet1004Argentina2026-10-20
Octavia T Sergi1005India2026-10-15
Leon A Perin1006India2026-10-22
Jones B Glick1007Spain2026-10-11
Claire Q Caldarera1008Brazil2026-10-23
Leon R Nestle1009Japan2026-10-10
Clifford M Darakjy1010United Kingdom2026-10-14
Sinclair U Marrier1011Canada2026-10-15
Octavia G Venere1012United Kingdom2026-10-06
Claire M Caldarera1013France2026-10-10
Juan H Bowley1014Spain2026-10-21
Kaitlin Y Campain1015United Kingdom2026-10-14
Aditya N Doe1016Australia2026-10-27
Ricardo C Rim1017Russia2026-10-09
Adams N Slusarski1018Spain2026-10-11
Murillo T Waycott1019Australia2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore D PoquetteItalyBernardo Dominic PROPOSAL
Rodrigues X WaycottItalyAsiya Javayant UNQUALIFIED
Stacey O SlusarskiSpainBernardo Dominic UNQUALIFIED
Misaki A AlbaresRussiaAsiya Javayant NEGOTIATION
Stacey M DilliardBrazilOnyama Limba UNQUALIFIED
Jones H PerinGermanyOnyama Limba RENEWAL
Julie D GauchoSpainAsiya Javayant QUALIFIED
Stacey C MorascaIndiaIoni Bowcher UNQUALIFIED
Ricardo K GarufiAustraliaXuxue Feng UNQUALIFIED
Tony D ShinkoBrazilAmy Elsner QUALIFIED
David O IturbideIndiaAmy Elsner RENEWAL
Aruna V GarufiRussiaElwin Sharvill RENEWAL
Deepesh S DoeCanadaIoni Bowcher UNQUALIFIED
Tony N MarrierAustraliaAnna Fali NEW
Jefferson G PoquetteAustraliaXuxue Feng RENEWAL
Jones P GillianJapanIvan Magalhaes UNQUALIFIED
Antonio L IturbideIndiaStephen Shaw NEW
Sinclair B FerenczArgentinaStephen Shaw NEW
Silvio V MarrierBrazilAsiya Javayant NEGOTIATION
David M GauchoFranceIoni Bowcher NEW
Kaitlin H RoysterGermanyIvan Magalhaes NEGOTIATION
Nicolas J BowleyGermanyStephen Shaw NEW
Juan N BriddickIndiaAsiya Javayant RENEWAL
Ricardo Y SchemmerIndiaOnyama Limba NEGOTIATION
Francesco T FigeroaRussiaBernardo Dominic PROPOSAL
Ashley R DilliardBrazilAnna Fali NEW
Nicolas B CaldareraAustraliaStephen Shaw PROPOSAL
Aika V MorascaArgentinaStephen Shaw NEGOTIATION
Misaki H GauchoBrazilAnna Fali PROPOSAL
Faith Q MacleadFranceAsiya Javayant NEGOTIATION
Francesco S PoquetteJapanOnyama Limba UNQUALIFIED
Murillo W StensethJapanAmy Elsner RENEWAL
Alejandro D NestleArgentinaOnyama Limba PROPOSAL
Aditya L MorascaArgentinaAmy Elsner PROPOSAL
Julie V SlusarskiGermanyIoni Bowcher UNQUALIFIED
Greenwood L RoysterAustraliaIvan Magalhaes NEW
Clifford R BologniaGermanyIoni Bowcher PROPOSAL
Adams Q OldroydBrazilXuxue Feng NEGOTIATION
Sinclair T InouyeAustraliaAsiya Javayant UNQUALIFIED
Izzy J PerinIndiaAsiya Javayant 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>