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
Julie M SergiRussiaXuxue Feng NEGOTIATION
Rodrigues B AlbaresItalyIvan Magalhaes NEGOTIATION
Mayumi A OldroydBrazilStephen Shaw PROPOSAL
Maria R KolmetzArgentinaOnyama Limba UNQUALIFIED
Maisha O MorascaBrazilAmy Elsner NEGOTIATION
Aditya R OstroskyJapanAsiya Javayant RENEWAL
Murillo K MacleadRussiaXuxue Feng UNQUALIFIED
Chavez M SchemmerRussiaXuxue Feng QUALIFIED
Antonio N WieserItalyAmy Elsner NEGOTIATION
Murillo A MacleadFranceAmy Elsner PROPOSAL
Arvin M RulapaughAustraliaAnna Fali NEW
Jones X PerinGermanyIvan Magalhaes PROPOSAL
Claire F PoquetteIndiaElwin Sharvill UNQUALIFIED
Cody W GlickCanadaStephen Shaw NEGOTIATION
Jones V MacleadFranceOnyama Limba UNQUALIFIED
Francesco J MacleadItalyBernardo Dominic UNQUALIFIED
Silvio J SchemmerUnited KingdomIvan Magalhaes NEW
Octavia C CampainIndiaElwin Sharvill UNQUALIFIED
Kaitlin K DarakjyArgentinaElwin Sharvill PROPOSAL
Silvio O OstroskyUnited KingdomAnna Fali PROPOSAL
Antonio H CaudyRussiaElwin Sharvill PROPOSAL
Maria Y RoysterGermanyStephen Shaw NEGOTIATION
Wickens I BologniaSpainAsiya Javayant NEW
Clifford B VenereAustraliaElwin Sharvill UNQUALIFIED
Jefferson Q MaletArgentinaIoni Bowcher NEGOTIATION
Ivar J StockhamRussiaAsiya Javayant UNQUALIFIED
Jennifer L SchemmerFranceIoni Bowcher PROPOSAL
Ricardo W AlbaresItalyIvan Magalhaes UNQUALIFIED
Clifford X WieserSpainElwin Sharvill QUALIFIED
Alejandro D PerinAustraliaAsiya Javayant NEW
Alejandro H WhobreyBrazilElwin Sharvill NEW
Greenwood M KuskoJapanElwin Sharvill NEW
Jones S WaycottGermanyElwin Sharvill UNQUALIFIED
Smith X KolmetzGermanyElwin Sharvill NEW
Cody X FigeroaRussiaXuxue Feng QUALIFIED
Leja I ChuiUnited KingdomOnyama Limba UNQUALIFIED
Johnson S PerinCanadaOnyama Limba QUALIFIED
Deepesh H KolmetzAustraliaAmy Elsner PROPOSAL
Johnson Y PerinRussiaElwin Sharvill NEGOTIATION
Julie D IturbideAustraliaAmy Elsner UNQUALIFIED
Nicolas B ChuiJapanStephen Shaw UNQUALIFIED
Antonio S WieserArgentinaIoni Bowcher NEW
Deepesh W OstroskySpainStephen Shaw PROPOSAL
Leja U NickaRussiaStephen Shaw RENEWAL
Octavia P NickaJapanAsiya Javayant QUALIFIED
Morrow A PoquetteSpainAsiya Javayant UNQUALIFIED
Cody C VocelkaSpainXuxue Feng PROPOSAL
Octavia T StockhamGermanyIvan Magalhaes UNQUALIFIED
Juan D RimFranceAnna Fali PROPOSAL
Darci O ButtRussiaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens R TollnerCanadaIvan Magalhaes RENEWAL
Francesco V OstroskySpainXuxue Feng PROPOSAL
Murillo Q MacleadJapanOnyama Limba UNQUALIFIED
Misaki A ShinkoFranceBernardo Dominic NEGOTIATION
Stacey K GauchoArgentinaAmy Elsner UNQUALIFIED
Clifford R GauchoRussiaAsiya Javayant NEGOTIATION
Clifford S PaprockiArgentinaXuxue Feng RENEWAL
Octavia N FerenczSpainIvan Magalhaes UNQUALIFIED
Aruna N VenereIndiaElwin Sharvill PROPOSAL
Morrow W ChuiIndiaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria C ButtSpain2026-10-16Rangoni Of Florence NEW7Onyama Limba
1001Jennifer F MarrierAustralia2026-10-18Rousseaux, Michael Esq PROPOSAL2Xuxue Feng
1002Izzy V KuskoItaly2026-11-08Buckley Miller Wright UNQUALIFIED32Ioni Bowcher
1003Isabel J RimJapan2026-10-14Printing Dimensions PROPOSAL93Bernardo Dominic
1004Ashley B FollerIndia2026-10-30Benton, John B Jr QUALIFIED27Ioni Bowcher
1005Kadeem I KuskoJapan2026-11-04Rangoni Of Florence PROPOSAL39Asiya Javayant
1006Misaki X MorascaAustralia2026-10-30Chanay, Jeffrey A Esq NEGOTIATION21Anna Fali
1007Claire N RoysterAustralia2026-11-05Benton, John B Jr NEW37Ivan Magalhaes
1008Misaki G RulapaughItaly2026-10-17Rangoni Of Florence RENEWAL55Xuxue Feng
1009Octavia Z CaudyBrazil2026-10-19Printing Dimensions UNQUALIFIED86Amy Elsner
1010Isabel O CampainUnited Kingdom2026-11-08Commercial Press NEW33Onyama Limba
1011Stacey S CaldareraCanada2026-10-30Benton, John B Jr PROPOSAL18Stephen Shaw
1012Munro O RutaUnited Kingdom2026-10-23Feiner Bros RENEWAL37Elwin Sharvill
1013Arvin Z VenereItaly2026-10-27Commercial Press NEGOTIATION3Anna Fali
1014Deepesh Q PaprockiUnited Kingdom2026-11-02Feltz Printing Service NEW70Anna Fali
1015David Q PoquetteFrance2026-10-25Benton, John B Jr UNQUALIFIED64Ivan Magalhaes
1016Arvin G WieserGermany2026-10-18Printing Dimensions NEGOTIATION83Asiya Javayant
1017Chavez S PerinRussia2026-10-24Feltz Printing Service UNQUALIFIED64Amy Elsner
1018Adams E ButtItaly2026-10-22Truhlar And Truhlar Attys PROPOSAL77Stephen Shaw
1019James T PerinBrazil2026-10-18King, Christopher A Esq QUALIFIED65Anna Fali
1020Salvatore K VenereGermany2026-10-17Chapman, Ross E Esq RENEWAL44Asiya Javayant
1021Wickens V RulapaughAustralia2026-10-14Rousseaux, Michael Esq QUALIFIED68Bernardo Dominic
1022Octavia L FigeroaIndia2026-10-24Chapman, Ross E Esq NEW2Onyama Limba
1023James S MaletArgentina2026-11-07Chanay, Jeffrey A Esq RENEWAL50Xuxue Feng
1024Ivar K FigeroaFrance2026-11-08Chapman, Ross E Esq PROPOSAL5Ioni Bowcher
1025Octavia Q PerinArgentina2026-10-26Rousseaux, Michael Esq RENEWAL6Anna Fali
1026Francesco Y OstroskySpain2026-11-11Rousseaux, Michael Esq RENEWAL79Bernardo Dominic
1027Leja H OldroydItaly2026-11-07Feiner Bros RENEWAL72Amy Elsner
1028Johnson O DarakjyAustralia2026-10-23Feltz Printing Service PROPOSAL20Asiya Javayant
1029Greenwood A GarufiGermany2026-10-30Rousseaux, Michael Esq NEW56Onyama Limba
1030Chavez W SlusarskiItaly2026-11-05Truhlar And Truhlar Attys NEW67Stephen Shaw
1031Johnson I FlosiBrazil2026-10-22Morlong Associates UNQUALIFIED56Xuxue Feng
1032Aika H IturbideUnited Kingdom2026-11-09Feiner Bros PROPOSAL26Asiya Javayant
1033Deepesh G RulapaughRussia2026-11-12Benton, John B Jr NEGOTIATION60Ivan Magalhaes
1034Mujtaba K ButtItaly2026-10-16Buckley Miller Wright RENEWAL79Amy Elsner
1035Sinclair G SaylorsArgentina2026-11-11Rousseaux, Michael Esq QUALIFIED81Ioni Bowcher
1036Julie F NickaIndia2026-10-15King, Christopher A Esq PROPOSAL65Stephen Shaw
1037Costa I GauchoUnited Kingdom2026-10-14Rangoni Of Florence QUALIFIED79Bernardo Dominic
1038Greenwood W AlbaresItaly2026-11-05Feiner Bros UNQUALIFIED40Amy Elsner
1039Isabel V DoeArgentina2026-10-26Buckley Miller Wright UNQUALIFIED19Ivan Magalhaes
1040Adams S AlbaresSpain2026-10-28Benton, John B Jr PROPOSAL70Anna Fali
1041Kaitlin T BowleyIndia2026-10-30King, Christopher A Esq NEGOTIATION15Asiya Javayant
1042Deepesh Q AmigonBrazil2026-10-19Rangoni Of Florence PROPOSAL38Bernardo Dominic
1043Darci C ChuiItaly2026-10-22Feltz Printing Service PROPOSAL79Onyama Limba
1044Misaki X RimJapan2026-11-07Feltz Printing Service RENEWAL21Ivan Magalhaes
1045Octavia G WaycottBrazil2026-11-01Rangoni Of Florence NEW62Bernardo Dominic
1046Isabel T ShinkoRussia2026-10-21Feltz Printing Service PROPOSAL97Onyama Limba
1047Misaki T CampainIndia2026-10-18Chanay, Jeffrey A Esq QUALIFIED89Elwin Sharvill
1048Kadeem T GauchoIndia2026-10-30Rangoni Of Florence NEGOTIATION25Onyama Limba
1049Misaki D GarufiArgentina2026-11-09Benton, John B Jr RENEWAL58Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Cody T StensethAustraliaStephen Shaw NEGOTIATION
Murillo U OldroydAustraliaAnna Fali NEW
James J OldroydArgentinaElwin Sharvill NEGOTIATION
Clifford J TollnerFranceXuxue Feng UNQUALIFIED
Stacey X MarrierArgentinaIoni Bowcher RENEWAL
Aika Z GlickArgentinaElwin Sharvill NEGOTIATION
Greenwood M FerenczRussiaOnyama Limba PROPOSAL
Tony U PerinUnited KingdomAsiya Javayant QUALIFIED
Greenwood V InouyeIndiaIvan Magalhaes NEGOTIATION
Leon X TollnerSpainXuxue Feng RENEWAL
James Y InouyeIndiaStephen Shaw NEGOTIATION
Nicolas E BriddickFranceStephen Shaw NEW
Izzy Q RulapaughJapanIvan Magalhaes NEW
Ricardo J DarakjyAustraliaAmy Elsner UNQUALIFIED
Aika V MaletFranceBernardo Dominic NEW
Greenwood S FerenczArgentinaIvan Magalhaes RENEWAL
Rodrigues X OldroydBrazilOnyama Limba RENEWAL
Darci W FerenczBrazilXuxue Feng PROPOSAL
Izzy W SaylorsItalyAsiya Javayant RENEWAL
Francesco S StockhamItalyBernardo Dominic QUALIFIED
Nicolas B SergiAustraliaXuxue Feng PROPOSAL
Clifford I StensethAustraliaBernardo Dominic RENEWAL
Costa L ChuiSpainStephen Shaw NEGOTIATION
Jennifer Z NestleCanadaOnyama Limba QUALIFIED
Morrow F IturbideCanadaIoni Bowcher NEW
Johnson R CampainAustraliaIvan Magalhaes UNQUALIFIED
Aruna G FerenczBrazilAnna Fali RENEWAL
Chavez Z DilliardJapanIvan Magalhaes NEGOTIATION
Clifford I VocelkaFranceElwin Sharvill QUALIFIED
Smith H WhobreyArgentinaAsiya Javayant NEGOTIATION
Johnson E BriddickGermanyAsiya Javayant QUALIFIED
Jones G FlosiFranceAnna Fali NEGOTIATION
Smith L PaprockiUnited KingdomAsiya Javayant QUALIFIED
Leja B PoquetteFranceIoni Bowcher QUALIFIED
Octavia A AlbaresUnited KingdomIvan Magalhaes RENEWAL
Francesco M OldroydJapanAnna Fali RENEWAL
Emily T SaylorsGermanyOnyama Limba RENEWAL
Isabel W MaletCanadaStephen Shaw NEGOTIATION
Silvio Q SlusarskiRussiaStephen Shaw NEW
Greenwood Z GarufiSpainXuxue Feng RENEWAL
Julie W MaletItalyIvan Magalhaes UNQUALIFIED
Costa R FollerSpainOnyama Limba RENEWAL
Arvin V BriddickCanadaElwin Sharvill PROPOSAL
Izzy J FlosiJapanIvan Magalhaes NEW
Ashley M StockhamAustraliaOnyama Limba NEGOTIATION
Maria U ButtJapanElwin Sharvill PROPOSAL
Chavez T StockhamCanadaElwin Sharvill UNQUALIFIED
Wickens J WieserCanadaBernardo Dominic UNQUALIFIED
Morrow U WhobreyCanadaAmy Elsner RENEWAL
Faith D RulapaughItalyXuxue Feng QUALIFIED
Frozen Columns
Name
Mayumi W Albares
Ashley M Ostrosky
Aruna T Kolmetz
Leon D Figeroa
Adams M Kusko
Morrow V Tollner
Silvio W Tollner
Adams R Gillian
Chavez H Foller
Leja W Rulapaugh
Costa T Poquette
Ashley M Poquette
Ricardo Y Kolmetz
Arvin T Schemmer
Kadeem M Rulapaugh
Greenwood J Kolmetz
Smith S Foller
Leja Y Doe
Mayumi Q Poquette
Octavia Q Stockham
Jones G Bowley
Maisha B Campain
Jones C Amigon
Antonio E Caudy
Julie R Saylors
Cody L Poquette
Smith Q Paprocki
Alejandro I Vocelka
Deepesh B Slusarski
Greenwood T Amigon
Nicolas K Bolognia
Jennifer J Campain
Maria S Gillian
Faith B Morasca
Faith A Oldroyd
Adams S Kolmetz
Jeanfrancois S Royster
Murillo S Ferencz
Nicolas Y Iturbide
Julie N Flosi
Leon P Rulapaugh
Leja Q Kusko
Aditya A Wieser
Julie E Flosi
Ricardo L Butt
Greenwood J Kusko
Aruna W Briddick
Jennifer S Bolognia
Mujtaba R Malet
Adams J Saylors
IdCountryDate
1000Canada2026-10-15
1001United Kingdom2026-10-15
1002Spain2026-11-03
1003Canada2026-10-14
1004Italy2026-10-21
1005Brazil2026-10-21
1006France2026-11-04
1007Canada2026-10-19
1008India2026-10-23
1009Argentina2026-10-25
1010Canada2026-11-02
1011India2026-11-03
1012India2026-11-02
1013Russia2026-10-17
1014Argentina2026-10-23
1015Canada2026-10-18
1016Russia2026-10-22
1017Russia2026-10-22
1018Japan2026-10-28
1019Italy2026-10-18
1020Japan2026-10-29
1021Russia2026-10-30
1022Italy2026-10-30
1023Italy2026-10-27
1024Japan2026-11-01
1025Australia2026-10-30
1026Germany2026-10-23
1027Japan2026-10-22
1028Spain2026-10-31
1029Germany2026-10-21
1030Japan2026-11-11
1031France2026-10-17
1032India2026-10-26
1033Italy2026-10-28
1034India2026-11-06
1035Brazil2026-10-18
1036Germany2026-10-23
1037United Kingdom2026-10-24
1038Spain2026-10-25
1039Argentina2026-11-11
1040Brazil2026-11-09
1041United Kingdom2026-11-08
1042Australia2026-11-07
1043Italy2026-11-03
1044Japan2026-11-01
1045Argentina2026-11-01
1046Brazil2026-11-01
1047Germany2026-10-20
1048Germany2026-10-14
1049United Kingdom2026-10-15

On-Demand Data

NameIdCountryDate
David C Darakjy1000United Kingdom2026-10-17
Juan P Caldarera1001Australia2026-10-23
Aruna U Poquette1002Japan2026-10-30
Emily L Poquette1003Canada2026-11-11
Rodrigues N Perin1004Canada2026-11-01
Kadeem A Saylors1005Russia2026-10-27
Morrow G Vocelka1006Italy2026-10-26
Francesco Z Iturbide1007Spain2026-11-02
James B Wieser1008Argentina2026-10-25
Isabel M Oldroyd1009Canada2026-11-09
Salvatore C Oldroyd1010United Kingdom2026-10-31
Maria E Doe1011Canada2026-10-26
Izzy O Venere1012France2026-11-04
Mayumi I Morasca1013Italy2026-10-29
Claire R Flosi1014United Kingdom2026-10-16
Julie X Tollner1015Spain2026-11-11
Silvio U Darakjy1016Australia2026-11-03
Alejandro J Butt1017Germany2026-11-08
David A Venere1018United Kingdom2026-11-07
Kaitlin I Caldarera1019Australia2026-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci G SlusarskiRussiaXuxue Feng RENEWAL
Nicolas W AmigonItalyIvan Magalhaes QUALIFIED
Salvatore S BologniaUnited KingdomAsiya Javayant NEW
Faith H PaprockiArgentinaIoni Bowcher RENEWAL
Rodrigues N DarakjyItalyIoni Bowcher NEW
James L AlbaresSpainAnna Fali QUALIFIED
Cody K FerenczItalyAnna Fali NEGOTIATION
Leon C MarrierBrazilOnyama Limba UNQUALIFIED
Rodrigues E MaletSpainAsiya Javayant PROPOSAL
Greenwood I FerenczUnited KingdomAnna Fali NEGOTIATION
Izzy M SaylorsJapanAmy Elsner QUALIFIED
Costa M CaldareraIndiaOnyama Limba UNQUALIFIED
Deepesh B AmigonCanadaIvan Magalhaes PROPOSAL
Ivar U FlosiFranceIoni Bowcher NEGOTIATION
Murillo X KolmetzRussiaOnyama Limba RENEWAL
Ricardo J MacleadAustraliaAnna Fali QUALIFIED
Mujtaba A IturbideBrazilElwin Sharvill QUALIFIED
Stacey O GarufiItalyAmy Elsner UNQUALIFIED
Jefferson E WieserCanadaAnna Fali NEGOTIATION
Munro W KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Francesco U SergiGermanyAnna Fali PROPOSAL
Mujtaba L MacleadAustraliaAsiya Javayant UNQUALIFIED
Leon H OldroydAustraliaAsiya Javayant NEGOTIATION
Clifford H SaylorsFranceAnna Fali UNQUALIFIED
Julie T PoquetteIndiaStephen Shaw PROPOSAL
Mayumi P SaylorsAustraliaBernardo Dominic QUALIFIED
James S StensethArgentinaAmy Elsner QUALIFIED
Munro J GillianArgentinaXuxue Feng NEW
Francesco T FigeroaBrazilIvan Magalhaes PROPOSAL
Jennifer P RimAustraliaXuxue Feng UNQUALIFIED
Kaitlin W GlickGermanyXuxue Feng NEGOTIATION
Salvatore K GlickSpainOnyama Limba QUALIFIED
Wickens P DoeUnited KingdomBernardo Dominic NEW
Mayumi O DarakjyJapanOnyama Limba NEW
Ashley M NickaUnited KingdomOnyama Limba UNQUALIFIED
David Z DarakjyUnited KingdomAsiya Javayant PROPOSAL
Mujtaba K BowleyGermanyIvan Magalhaes PROPOSAL
James O GarufiRussiaStephen Shaw NEW
Morrow K DilliardUnited KingdomXuxue Feng NEW
Izzy P TollnerBrazilBernardo Dominic NEW

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