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
Alejandro P RoysterItalyAmy Elsner QUALIFIED
Smith Y WieserBrazilIvan Magalhaes QUALIFIED
Francesco M VenereUnited KingdomXuxue Feng NEGOTIATION
Jennifer Z CampainRussiaElwin Sharvill PROPOSAL
Wickens Y RimArgentinaAnna Fali RENEWAL
Salvatore Y SaylorsAustraliaElwin Sharvill NEGOTIATION
Claire M FlosiFranceAmy Elsner QUALIFIED
Leon Q FollerJapanAsiya Javayant QUALIFIED
Rodrigues I PaprockiRussiaStephen Shaw NEGOTIATION
Maria X KolmetzRussiaAnna Fali PROPOSAL
Jones N AlbaresArgentinaAsiya Javayant UNQUALIFIED
Alejandro A GauchoAustraliaIoni Bowcher NEW
Aditya A BriddickArgentinaBernardo Dominic PROPOSAL
Ricardo K MorascaGermanyIoni Bowcher UNQUALIFIED
Mayumi T CaldareraRussiaStephen Shaw NEW
Wickens B CaudyRussiaAnna Fali NEW
Francesco G AlbaresFranceAnna Fali RENEWAL
Misaki G KolmetzJapanOnyama Limba NEW
Leon A SergiItalyStephen Shaw QUALIFIED
Claire B FigeroaItalyOnyama Limba NEGOTIATION
Aika A AlbaresFranceElwin Sharvill NEGOTIATION
Francesco B MaletItalyXuxue Feng UNQUALIFIED
Deepesh S ShinkoSpainIoni Bowcher UNQUALIFIED
Jeanfrancois U PerinIndiaAsiya Javayant NEW
Isabel J PoquetteIndiaAnna Fali QUALIFIED
Francesco H StensethSpainXuxue Feng NEGOTIATION
Leon Q RoysterJapanBernardo Dominic PROPOSAL
Maria C StensethArgentinaXuxue Feng QUALIFIED
Leon O WaycottSpainIoni Bowcher RENEWAL
Clifford Q NestleBrazilElwin Sharvill UNQUALIFIED
Alejandro C RulapaughAustraliaAmy Elsner QUALIFIED
Sinclair I KuskoRussiaAmy Elsner NEW
Misaki M DarakjyBrazilXuxue Feng RENEWAL
Francesco K GauchoFranceAsiya Javayant NEGOTIATION
Cody U ChuiGermanyAsiya Javayant NEW
Cody L AlbaresRussiaIvan Magalhaes UNQUALIFIED
Kadeem A GauchoGermanyIoni Bowcher QUALIFIED
Cody S BologniaSpainAmy Elsner QUALIFIED
Kadeem A DoeItalyXuxue Feng NEW
Izzy F StensethRussiaXuxue Feng NEGOTIATION
Aika G RimSpainXuxue Feng UNQUALIFIED
Aditya I PerinJapanStephen Shaw NEGOTIATION
Maria M PaprockiIndiaIvan Magalhaes NEW
Kadeem O MorascaUnited KingdomOnyama Limba UNQUALIFIED
Smith Y GlickJapanXuxue Feng QUALIFIED
Tony V KuskoRussiaXuxue Feng UNQUALIFIED
Faith T CampainAustraliaStephen Shaw QUALIFIED
Murillo J CaudyArgentinaAnna Fali NEGOTIATION
Silvio F SaylorsBrazilAnna Fali PROPOSAL
Juan X CampainFranceAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Emily P GarufiIndiaBernardo Dominic NEGOTIATION
Aditya I FigeroaJapanIvan Magalhaes RENEWAL
Aditya J FlosiRussiaOnyama Limba UNQUALIFIED
James Z BowleyFranceElwin Sharvill QUALIFIED
Cody W MorascaJapanIvan Magalhaes QUALIFIED
Izzy N FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Aditya W RoysterItalyIoni Bowcher NEGOTIATION
Isabel V MacleadBrazilElwin Sharvill UNQUALIFIED
Cody Z FigeroaAustraliaAnna Fali RENEWAL
James K FollerFranceElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow T FlosiUnited Kingdom2026-10-01Rousseaux, Michael Esq NEW87Ioni Bowcher
1001Kaitlin Y WieserArgentina2026-10-08Printing Dimensions QUALIFIED61Amy Elsner
1002Julie E DarakjyArgentina2026-10-04Benton, John B Jr QUALIFIED33Elwin Sharvill
1003David R FerenczCanada2026-10-08Chanay, Jeffrey A Esq RENEWAL93Anna Fali
1004Costa E FigeroaItaly2026-10-25Dorl, James J Esq QUALIFIED99Onyama Limba
1005Faith H ChuiGermany2026-10-21Buckley Miller Wright RENEWAL12Amy Elsner
1006Mayumi W WaycottSpain2026-10-12Feltz Printing Service UNQUALIFIED22Xuxue Feng
1007Aditya Y SchemmerAustralia2026-10-10Dorl, James J Esq NEW25Asiya Javayant
1008Rodrigues C AmigonBrazil2026-10-23Printing Dimensions UNQUALIFIED56Xuxue Feng
1009Claire W MacleadIndia2026-10-09Commercial Press UNQUALIFIED59Anna Fali
1010Chavez W KuskoCanada2026-10-20Morlong Associates PROPOSAL0Onyama Limba
1011Clifford Z BowleySpain2026-09-30Chapman, Ross E Esq PROPOSAL54Bernardo Dominic
1012David A CampainItaly2026-10-05Rangoni Of Florence PROPOSAL49Onyama Limba
1013Octavia B MacleadJapan2026-09-28Chanay, Jeffrey A Esq NEW54Xuxue Feng
1014Sinclair I IturbideArgentina2026-10-25Morlong Associates RENEWAL57Ivan Magalhaes
1015Tony F BologniaArgentina2026-09-28Rangoni Of Florence PROPOSAL54Asiya Javayant
1016Ricardo Q WaycottArgentina2026-10-17Printing Dimensions PROPOSAL4Onyama Limba
1017Nicolas H SaylorsItaly2026-10-16Buckley Miller Wright PROPOSAL9Ioni Bowcher
1018Francesco R SaylorsCanada2026-09-26Feiner Bros RENEWAL34Asiya Javayant
1019Jeanfrancois Q AlbaresIndia2026-10-11Chanay, Jeffrey A Esq RENEWAL56Xuxue Feng
1020Jeanfrancois Y GillianAustralia2026-10-10Rousseaux, Michael Esq RENEWAL13Amy Elsner
1021Mujtaba P VocelkaJapan2026-10-24Morlong Associates NEW9Onyama Limba
1022Maria O BowleyAustralia2026-10-10Feltz Printing Service PROPOSAL77Ivan Magalhaes
1023Octavia O SchemmerGermany2026-10-09Chanay, Jeffrey A Esq RENEWAL11Anna Fali
1024Smith W BowleyArgentina2026-10-05Printing Dimensions QUALIFIED90Ioni Bowcher
1025Stacey H ChuiFrance2026-10-14Feltz Printing Service PROPOSAL78Onyama Limba
1026Leon R DilliardJapan2026-10-13Printing Dimensions NEGOTIATION56Bernardo Dominic
1027Leon A StensethCanada2026-10-02King, Christopher A Esq RENEWAL84Ivan Magalhaes
1028Ivar Q StensethUnited Kingdom2026-10-02Dorl, James J Esq NEGOTIATION68Elwin Sharvill
1029Maria E OstroskyAustralia2026-10-09Benton, John B Jr UNQUALIFIED23Onyama Limba
1030Jones Q GillianJapan2026-10-10Dorl, James J Esq NEW79Ivan Magalhaes
1031Morrow P MaletSpain2026-10-17Benton, John B Jr RENEWAL63Ioni Bowcher
1032Johnson R PerinBrazil2026-09-26Chemel, James L Cpa UNQUALIFIED14Ivan Magalhaes
1033Munro C StensethItaly2026-10-15Rangoni Of Florence QUALIFIED32Elwin Sharvill
1034Ricardo A MaletRussia2026-10-11Chemel, James L Cpa UNQUALIFIED36Bernardo Dominic
1035Nicolas G CampainBrazil2026-10-17Chapman, Ross E Esq NEW78Ivan Magalhaes
1036Claire C RutaAustralia2026-10-02Rousseaux, Michael Esq NEGOTIATION0Xuxue Feng
1037Mayumi A MacleadBrazil2026-10-02Rangoni Of Florence NEGOTIATION52Elwin Sharvill
1038Johnson T DoeRussia2026-10-09Chapman, Ross E Esq NEGOTIATION56Bernardo Dominic
1039Murillo M BriddickArgentina2026-10-09Rousseaux, Michael Esq RENEWAL75Elwin Sharvill
1040Smith Y RulapaughGermany2026-10-20Rangoni Of Florence UNQUALIFIED67Onyama Limba
1041Silvio C OldroydFrance2026-09-26Chanay, Jeffrey A Esq UNQUALIFIED93Asiya Javayant
1042James S MaletRussia2026-10-22Chanay, Jeffrey A Esq UNQUALIFIED43Stephen Shaw
1043Leon D AlbaresUnited Kingdom2026-09-28Printing Dimensions RENEWAL85Elwin Sharvill
1044Izzy I KuskoSpain2026-10-15King, Christopher A Esq PROPOSAL17Stephen Shaw
1045Ricardo R RoysterRussia2026-10-14Chapman, Ross E Esq NEW23Onyama Limba
1046Octavia C SchemmerBrazil2026-10-21Benton, John B Jr PROPOSAL36Onyama Limba
1047Aika P BologniaSpain2026-09-26Truhlar And Truhlar Attys NEW75Bernardo Dominic
1048Mujtaba X DoeGermany2026-10-12Feiner Bros NEW51Anna Fali
1049Octavia W MacleadItaly2026-10-25Feltz Printing Service NEGOTIATION70Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Izzy T FollerRussiaAsiya Javayant RENEWAL
Ricardo W SlusarskiArgentinaElwin Sharvill QUALIFIED
Cody Y MaletFranceAmy Elsner NEGOTIATION
Jones P GauchoFranceAmy Elsner PROPOSAL
Jeanfrancois Q FigeroaBrazilBernardo Dominic QUALIFIED
Deepesh O VocelkaUnited KingdomStephen Shaw RENEWAL
Salvatore E RulapaughCanadaIvan Magalhaes QUALIFIED
Ivar Q InouyeRussiaXuxue Feng RENEWAL
Kaitlin T BologniaFranceOnyama Limba QUALIFIED
Maisha G VocelkaFranceBernardo Dominic QUALIFIED
Aruna G PoquetteAustraliaBernardo Dominic UNQUALIFIED
Faith I IturbideCanadaXuxue Feng UNQUALIFIED
Arvin B SergiFranceOnyama Limba RENEWAL
Claire X RutaGermanyElwin Sharvill QUALIFIED
Cody M SergiUnited KingdomAmy Elsner PROPOSAL
Aditya G CampainBrazilStephen Shaw UNQUALIFIED
Jennifer C WaycottFranceAnna Fali NEW
Aruna J VocelkaFranceXuxue Feng RENEWAL
Mayumi M FigeroaBrazilBernardo Dominic NEGOTIATION
Silvio A VenereItalyBernardo Dominic RENEWAL
Ricardo K GillianUnited KingdomElwin Sharvill NEGOTIATION
Tony Z DoeIndiaElwin Sharvill NEGOTIATION
Cody I StensethRussiaAsiya Javayant RENEWAL
Aditya N KuskoRussiaOnyama Limba PROPOSAL
Leja C FlosiBrazilElwin Sharvill NEW
Tony G FollerBrazilBernardo Dominic UNQUALIFIED
Aruna D PerinItalyBernardo Dominic UNQUALIFIED
Mujtaba X SergiCanadaElwin Sharvill QUALIFIED
Claire T ShinkoJapanElwin Sharvill UNQUALIFIED
Jones C KuskoFranceBernardo Dominic RENEWAL
Maria Z MaletFranceIoni Bowcher NEW
Clifford X GarufiUnited KingdomOnyama Limba QUALIFIED
Kaitlin I WhobreyJapanXuxue Feng NEW
Maisha S StensethBrazilAmy Elsner QUALIFIED
Greenwood W RoysterJapanStephen Shaw NEW
Stacey A FerenczItalyElwin Sharvill NEGOTIATION
James O AmigonItalyIvan Magalhaes PROPOSAL
Jones U MarrierSpainBernardo Dominic UNQUALIFIED
Izzy D FerenczUnited KingdomIoni Bowcher NEW
Isabel T TollnerBrazilAsiya Javayant RENEWAL
Mujtaba S FlosiCanadaElwin Sharvill NEGOTIATION
Jeanfrancois L RoysterUnited KingdomAnna Fali QUALIFIED
Aika C OstroskyJapanElwin Sharvill UNQUALIFIED
Aruna Z GlickArgentinaIvan Magalhaes RENEWAL
Sinclair T TollnerJapanElwin Sharvill PROPOSAL
Johnson P WaycottGermanyIoni Bowcher NEW
Mayumi Q AmigonItalyIoni Bowcher RENEWAL
Jennifer C GarufiFranceElwin Sharvill NEGOTIATION
Nicolas A MorascaJapanXuxue Feng PROPOSAL
Tony Z FlosiRussiaElwin Sharvill NEW
Frozen Columns
Name
Julie L Venere
Morrow J Malet
Aditya J Iturbide
Stacey F Doe
Maisha Z Perin
Mujtaba V Stenseth
Nicolas S Dilliard
Munro R Waycott
Isabel T Caldarera
Cody F Nestle
Jefferson V Malet
Francesco R Shinko
Maria O Oldroyd
Costa C Nestle
Chavez P Whobrey
James I Iturbide
Aditya V Iturbide
Smith G Foller
Salvatore C Iturbide
Francesco E Iturbide
Munro V Waycott
Darci E Butt
Ricardo P Inouye
Murillo Q Rulapaugh
Maria U Tollner
Isabel H Flosi
Clifford L Butt
Salvatore X Doe
Munro N Briddick
Stacey B Ruta
Stacey W Garufi
Ivar K Doe
Arvin K Figeroa
Antonio V Caldarera
Julie H Figeroa
James N Campain
Arvin D Rulapaugh
Emily K Garufi
Misaki H Bowley
Jennifer K Iturbide
Costa X Darakjy
Murillo K Butt
Kadeem M Campain
James M Poquette
Misaki Q Bolognia
Arvin Z Paprocki
Munro O Nestle
Chavez P Morasca
Salvatore W Campain
Aika X Saylors
IdCountryDate
1000Italy2026-10-02
1001Canada2026-09-26
1002Spain2026-10-16
1003Australia2026-09-28
1004France2026-09-27
1005India2026-10-01
1006United Kingdom2026-10-06
1007United Kingdom2026-10-05
1008Russia2026-10-18
1009Australia2026-10-16
1010Argentina2026-10-24
1011Brazil2026-10-07
1012Canada2026-10-21
1013Argentina2026-09-29
1014Japan2026-10-05
1015Germany2026-10-12
1016Spain2026-10-21
1017Brazil2026-09-26
1018Japan2026-10-22
1019Japan2026-09-30
1020India2026-10-08
1021Russia2026-09-27
1022Australia2026-10-09
1023United Kingdom2026-10-15
1024United Kingdom2026-10-10
1025United Kingdom2026-10-02
1026Japan2026-10-25
1027Canada2026-10-09
1028Brazil2026-10-22
1029Spain2026-10-15
1030Spain2026-10-18
1031France2026-10-12
1032Canada2026-10-06
1033France2026-10-09
1034Spain2026-10-17
1035France2026-09-28
1036Canada2026-10-16
1037Russia2026-10-18
1038Brazil2026-10-12
1039Canada2026-09-27
1040Canada2026-10-15
1041Australia2026-10-15
1042Canada2026-10-25
1043Brazil2026-10-19
1044Italy2026-10-25
1045France2026-10-11
1046Spain2026-10-24
1047France2026-09-29
1048Spain2026-10-09
1049Germany2026-09-26

On-Demand Data

NameIdCountryDate
Maria C Figeroa1000France2026-10-11
Johnson X Rim1001United Kingdom2026-10-06
Silvio Y Doe1002Italy2026-10-20
Ashley P Vocelka1003Argentina2026-10-09
Mayumi N Rulapaugh1004Spain2026-10-04
Alejandro E Morasca1005Russia2026-10-12
Greenwood V Ostrosky1006Brazil2026-09-27
Smith G Figeroa1007Canada2026-10-15
Jennifer W Malet1008Italy2026-09-26
Wickens T Iturbide1009Russia2026-10-08
Smith S Saylors1010India2026-10-12
David K Ferencz1011Japan2026-09-27
Emily W Oldroyd1012Spain2026-10-02
Juan Q Venere1013Canada2026-10-12
Aika W Royster1014Italy2026-10-13
Costa O Kolmetz1015Spain2026-10-13
Kadeem I Bowley1016Germany2026-09-28
Aruna B Ruta1017Italy2026-10-07
Morrow T Flosi1018United Kingdom2026-10-17
Jones J Doe1019India2026-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna B BowleyCanadaIvan Magalhaes NEW
Emily D ButtSpainStephen Shaw UNQUALIFIED
Octavia O ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Emily F NestleBrazilElwin Sharvill NEGOTIATION
Morrow O PoquetteAustraliaIoni Bowcher PROPOSAL
Johnson F FlosiAustraliaXuxue Feng NEW
Emily E SchemmerJapanBernardo Dominic UNQUALIFIED
Aditya W FollerArgentinaAnna Fali RENEWAL
Octavia G RimItalyXuxue Feng PROPOSAL
Maria F GarufiJapanIvan Magalhaes PROPOSAL
Greenwood N AmigonItalyStephen Shaw UNQUALIFIED
Mayumi S GlickGermanyAsiya Javayant NEW
Maisha B FollerJapanIvan Magalhaes NEGOTIATION
Nicolas M RimSpainBernardo Dominic RENEWAL
Leon B GauchoItalyBernardo Dominic PROPOSAL
Aditya U AlbaresCanadaOnyama Limba NEGOTIATION
Ivar Q DoeArgentinaBernardo Dominic NEGOTIATION
Leon I KuskoArgentinaOnyama Limba NEGOTIATION
Rodrigues Q FollerArgentinaIvan Magalhaes RENEWAL
David W GlickAustraliaAmy Elsner RENEWAL
Alejandro C WaycottJapanAmy Elsner QUALIFIED
Isabel Q CampainBrazilIoni Bowcher UNQUALIFIED
Jefferson L OldroydUnited KingdomAsiya Javayant RENEWAL
Jefferson U MarrierIndiaIvan Magalhaes UNQUALIFIED
Jefferson L NickaFranceBernardo Dominic NEGOTIATION
Johnson X DilliardUnited KingdomStephen Shaw UNQUALIFIED
Chavez E MarrierRussiaXuxue Feng UNQUALIFIED
Ricardo Z MaletBrazilAsiya Javayant NEGOTIATION
Maisha X RutaSpainBernardo Dominic UNQUALIFIED
Aruna P MorascaUnited KingdomXuxue Feng NEGOTIATION
Maisha W MaletFranceOnyama Limba NEW
Wickens I FlosiUnited KingdomAnna Fali PROPOSAL
Ivar P GlickSpainOnyama Limba PROPOSAL
Aika S KuskoAustraliaIoni Bowcher NEW
Cody I KuskoGermanyAsiya Javayant NEW
Maisha K MacleadBrazilOnyama Limba QUALIFIED
Adams H DoeJapanXuxue Feng UNQUALIFIED
Maisha X BowleyJapanAmy Elsner QUALIFIED
Silvio X KuskoIndiaXuxue Feng PROPOSAL
Francesco F GauchoUnited KingdomElwin Sharvill 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>