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
Murillo C FollerCanadaBernardo Dominic NEGOTIATION
Aika R CaudyIndiaBernardo Dominic RENEWAL
Aika W GillianFranceAmy Elsner RENEWAL
Emily V DarakjyGermanyXuxue Feng QUALIFIED
Smith I BowleyJapanAnna Fali NEW
Leon N DoeUnited KingdomAmy Elsner PROPOSAL
Cody L BowleyJapanAsiya Javayant NEW
Jennifer R RimJapanAmy Elsner PROPOSAL
Tony L RimBrazilIoni Bowcher RENEWAL
Leja N SchemmerArgentinaIoni Bowcher QUALIFIED
Nicolas M RoysterUnited KingdomElwin Sharvill NEW
Deepesh B ChuiCanadaIoni Bowcher RENEWAL
Kadeem Z PerinAustraliaIoni Bowcher RENEWAL
Aruna X CaudyFranceBernardo Dominic UNQUALIFIED
Rodrigues K RoysterAustraliaBernardo Dominic UNQUALIFIED
Ivar E ShinkoIndiaOnyama Limba RENEWAL
Aruna N GlickJapanAnna Fali UNQUALIFIED
Juan P FlosiRussiaAnna Fali NEGOTIATION
Juan G RoysterRussiaBernardo Dominic QUALIFIED
Jones M ChuiUnited KingdomStephen Shaw RENEWAL
Alejandro V CampainUnited KingdomIoni Bowcher NEGOTIATION
Adams O DoeArgentinaBernardo Dominic NEGOTIATION
Kaitlin Y NickaJapanAmy Elsner PROPOSAL
Salvatore H SchemmerIndiaXuxue Feng UNQUALIFIED
Munro Q BologniaJapanAmy Elsner PROPOSAL
Jeanfrancois I VocelkaFranceStephen Shaw RENEWAL
Sinclair I FerenczCanadaAsiya Javayant UNQUALIFIED
Nicolas D StensethIndiaStephen Shaw NEW
Darci B SergiAustraliaIvan Magalhaes NEW
Julie F TollnerRussiaAnna Fali NEGOTIATION
David S BowleyUnited KingdomIvan Magalhaes PROPOSAL
Misaki P SaylorsArgentinaOnyama Limba UNQUALIFIED
Johnson B ShinkoIndiaAmy Elsner UNQUALIFIED
Aika I RimJapanElwin Sharvill NEGOTIATION
Darci V MacleadCanadaIoni Bowcher NEGOTIATION
Maria J FigeroaJapanOnyama Limba PROPOSAL
Jones X CaudyArgentinaAnna Fali PROPOSAL
Leja Y PerinSpainStephen Shaw RENEWAL
James S CaldareraRussiaAnna Fali UNQUALIFIED
Leon M BriddickItalyStephen Shaw NEW
Leon K IturbideIndiaOnyama Limba QUALIFIED
Juan H CaldareraJapanIvan Magalhaes NEW
Murillo X CampainFranceBernardo Dominic RENEWAL
Johnson R BriddickFranceOnyama Limba NEGOTIATION
Rodrigues E VenereGermanyAsiya Javayant NEGOTIATION
Johnson Y GauchoCanadaIvan Magalhaes RENEWAL
Mayumi L GauchoJapanElwin Sharvill RENEWAL
Mayumi B SchemmerFranceIvan Magalhaes NEGOTIATION
Munro L DarakjyJapanXuxue Feng NEW
Ashley V GillianArgentinaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jones Q MacleadCanadaXuxue Feng RENEWAL
Stacey N FollerGermanyBernardo Dominic NEGOTIATION
Aruna A GarufiSpainIvan Magalhaes PROPOSAL
Maria H StockhamUnited KingdomXuxue Feng NEW
Jefferson J RulapaughRussiaIvan Magalhaes UNQUALIFIED
David T SchemmerIndiaStephen Shaw PROPOSAL
Emily T KuskoUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba V IturbideRussiaAmy Elsner PROPOSAL
Chavez P MaletFranceXuxue Feng UNQUALIFIED
Deepesh L StockhamArgentinaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar K SchemmerAustralia2026-10-24Benton, John B Jr NEW36Anna Fali
1001Johnson U RoysterCanada2026-10-15Commercial Press PROPOSAL23Anna Fali
1002Kaitlin B BologniaArgentina2026-10-22Dorl, James J Esq PROPOSAL52Xuxue Feng
1003Alejandro M GauchoSpain2026-10-29Feltz Printing Service RENEWAL71Bernardo Dominic
1004Maria H AlbaresRussia2026-10-20Chanay, Jeffrey A Esq NEGOTIATION4Xuxue Feng
1005Francesco U SlusarskiJapan2026-10-12Rousseaux, Michael Esq RENEWAL43Xuxue Feng
1006Costa C PoquetteRussia2026-10-06Chanay, Jeffrey A Esq NEGOTIATION79Elwin Sharvill
1007Mayumi H MacleadArgentina2026-10-17Feiner Bros RENEWAL83Ioni Bowcher
1008Mujtaba B KuskoFrance2026-10-07Chapman, Ross E Esq RENEWAL57Amy Elsner
1009Jennifer V InouyeAustralia2026-10-06Printing Dimensions RENEWAL51Bernardo Dominic
1010Alejandro Q CaldareraJapan2026-10-08Printing Dimensions QUALIFIED50Asiya Javayant
1011Maisha M StensethFrance2026-10-20Morlong Associates NEGOTIATION7Asiya Javayant
1012Greenwood V NestleGermany2026-10-07Chemel, James L Cpa NEW33Bernardo Dominic
1013Aditya D MorascaSpain2026-10-03Printing Dimensions PROPOSAL23Bernardo Dominic
1014Mujtaba M DilliardItaly2026-10-01Chapman, Ross E Esq QUALIFIED99Stephen Shaw
1015Kaitlin Z StensethCanada2026-10-22Truhlar And Truhlar Attys RENEWAL55Onyama Limba
1016James M OldroydCanada2026-10-14Chemel, James L Cpa QUALIFIED72Stephen Shaw
1017Ricardo P FollerRussia2026-09-30Chemel, James L Cpa QUALIFIED80Amy Elsner
1018Misaki N DarakjyArgentina2026-10-24King, Christopher A Esq QUALIFIED82Asiya Javayant
1019Kadeem X RutaAustralia2026-10-19Dorl, James J Esq NEW32Anna Fali
1020Ashley Y AlbaresArgentina2026-10-12Dorl, James J Esq UNQUALIFIED45Bernardo Dominic
1021Murillo L NickaAustralia2026-10-07Commercial Press NEGOTIATION32Elwin Sharvill
1022Salvatore T GauchoItaly2026-10-03Benton, John B Jr UNQUALIFIED19Ioni Bowcher
1023Nicolas L PerinFrance2026-10-07Chanay, Jeffrey A Esq NEGOTIATION92Xuxue Feng
1024Silvio Z InouyeRussia2026-10-11Chapman, Ross E Esq RENEWAL85Ivan Magalhaes
1025Jennifer W SchemmerSpain2026-09-30Chanay, Jeffrey A Esq NEGOTIATION42Stephen Shaw
1026Greenwood C RutaGermany2026-10-15Chanay, Jeffrey A Esq PROPOSAL13Anna Fali
1027Sinclair X MarrierFrance2026-10-13Feltz Printing Service RENEWAL80Bernardo Dominic
1028Clifford U StockhamAustralia2026-10-17Truhlar And Truhlar Attys RENEWAL55Bernardo Dominic
1029Izzy D GarufiGermany2026-10-23Benton, John B Jr NEW53Onyama Limba
1030Julie N FerenczAustralia2026-10-21King, Christopher A Esq PROPOSAL19Ivan Magalhaes
1031Jones V AmigonItaly2026-10-20Chemel, James L Cpa RENEWAL43Stephen Shaw
1032Maria R NestleFrance2026-10-26Morlong Associates NEW79Ivan Magalhaes
1033David Y IturbideCanada2026-10-18Chapman, Ross E Esq UNQUALIFIED61Elwin Sharvill
1034Kadeem U BologniaRussia2026-09-30Chemel, James L Cpa NEGOTIATION55Anna Fali
1035Misaki R VocelkaFrance2026-10-06Benton, John B Jr RENEWAL47Bernardo Dominic
1036Ashley X CaudySpain2026-10-23King, Christopher A Esq NEGOTIATION15Ivan Magalhaes
1037Mayumi D GauchoAustralia2026-10-11Rangoni Of Florence QUALIFIED9Ivan Magalhaes
1038Faith M SlusarskiAustralia2026-10-09Chapman, Ross E Esq UNQUALIFIED56Bernardo Dominic
1039Jefferson K FlosiUnited Kingdom2026-10-05Feltz Printing Service NEW39Xuxue Feng
1040Leja X ButtBrazil2026-10-18Commercial Press QUALIFIED28Ioni Bowcher
1041Johnson R PerinFrance2026-10-12Rousseaux, Michael Esq UNQUALIFIED47Anna Fali
1042Leja K BowleyBrazil2026-10-12Buckley Miller Wright NEW9Bernardo Dominic
1043Kaitlin H InouyeItaly2026-10-08King, Christopher A Esq NEGOTIATION70Bernardo Dominic
1044Leja P FigeroaUnited Kingdom2026-10-08Truhlar And Truhlar Attys UNQUALIFIED16Ivan Magalhaes
1045Mujtaba T CaldareraCanada2026-10-13Truhlar And Truhlar Attys QUALIFIED40Onyama Limba
1046Aruna G SaylorsFrance2026-10-29Morlong Associates RENEWAL9Asiya Javayant
1047Aditya N InouyeUnited Kingdom2026-10-23Chapman, Ross E Esq UNQUALIFIED13Ivan Magalhaes
1048Salvatore P SchemmerUnited Kingdom2026-10-15Chemel, James L Cpa NEGOTIATION0Ivan Magalhaes
1049Antonio A DilliardIndia2026-10-01Feiner Bros QUALIFIED70Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Cody K FerenczJapanOnyama Limba RENEWAL
Emily X DoeJapanAnna Fali NEW
Misaki T FerenczGermanyStephen Shaw RENEWAL
Aruna U StockhamFranceOnyama Limba RENEWAL
Greenwood I ButtJapanXuxue Feng NEGOTIATION
Claire F VenereUnited KingdomXuxue Feng QUALIFIED
Mujtaba K MaletJapanStephen Shaw PROPOSAL
Costa R RimCanadaIoni Bowcher PROPOSAL
Antonio B ShinkoItalyElwin Sharvill NEGOTIATION
Morrow H PaprockiFranceOnyama Limba RENEWAL
David Q SergiIndiaIvan Magalhaes UNQUALIFIED
Silvio N PaprockiUnited KingdomIvan Magalhaes NEGOTIATION
Chavez V AlbaresRussiaStephen Shaw QUALIFIED
Mayumi V WieserRussiaStephen Shaw UNQUALIFIED
Claire B CaudyIndiaIoni Bowcher PROPOSAL
Cody P ButtAustraliaAnna Fali RENEWAL
Julie N PerinFranceElwin Sharvill NEGOTIATION
Clifford Q StockhamUnited KingdomIvan Magalhaes NEW
Claire P ShinkoFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois Z InouyeSpainElwin Sharvill PROPOSAL
Mujtaba X RulapaughRussiaStephen Shaw UNQUALIFIED
Jefferson D AmigonIndiaStephen Shaw NEW
Tony X TollnerItalyAsiya Javayant UNQUALIFIED
Emily O FerenczBrazilXuxue Feng PROPOSAL
Mayumi U GarufiFranceElwin Sharvill NEGOTIATION
Aika M VenereArgentinaStephen Shaw RENEWAL
Smith U ChuiFranceAnna Fali QUALIFIED
Octavia P ButtGermanyBernardo Dominic QUALIFIED
Misaki Z DoeSpainStephen Shaw PROPOSAL
Murillo E GauchoRussiaBernardo Dominic NEW
Ivar E WieserCanadaOnyama Limba NEW
Wickens M GauchoCanadaElwin Sharvill PROPOSAL
Johnson F InouyeSpainElwin Sharvill UNQUALIFIED
Faith R FerenczSpainOnyama Limba UNQUALIFIED
Smith S MorascaJapanAsiya Javayant RENEWAL
Jeanfrancois S OldroydIndiaAsiya Javayant NEGOTIATION
Mayumi G DilliardItalyStephen Shaw NEGOTIATION
Maisha B CampainGermanyIvan Magalhaes UNQUALIFIED
Murillo K GillianItalyOnyama Limba NEGOTIATION
Octavia P WhobreyGermanyBernardo Dominic QUALIFIED
Julie G WaycottFranceXuxue Feng QUALIFIED
Silvio D DoeItalyStephen Shaw PROPOSAL
Cody P StockhamJapanBernardo Dominic NEGOTIATION
Murillo E ShinkoUnited KingdomOnyama Limba UNQUALIFIED
Nicolas L SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Aruna V MaletCanadaIoni Bowcher NEW
Deepesh I BriddickAustraliaIvan Magalhaes RENEWAL
Isabel S FollerBrazilOnyama Limba NEGOTIATION
James V VenereUnited KingdomStephen Shaw RENEWAL
Rodrigues L FlosiItalyStephen Shaw NEGOTIATION
Frozen Columns
Name
Jones F Malet
Ivar J Shinko
Misaki O Ostrosky
Ivar J Bowley
Nicolas M Maclead
Antonio L Tollner
Nicolas Y Flosi
Jefferson Y Marrier
Emily P Whobrey
Kadeem J Waycott
Silvio P Dilliard
Misaki E Butt
Rodrigues I Stenseth
Stacey F Shinko
Francesco X Saylors
Greenwood U Ruta
Izzy D Iturbide
Smith U Sergi
Adams E Caldarera
Julie J Bowley
Ivar G Iturbide
Jones V Caudy
Misaki Q Venere
Morrow N Malet
Claire Z Maclead
Julie Q Chui
Octavia J Stenseth
Tony P Bolognia
Chavez J Stockham
Jefferson F Stockham
Nicolas W Iturbide
Aditya R Shinko
Johnson X Darakjy
Munro H Malet
Juan Z Poquette
Tony C Malet
Cody A Butt
Morrow M Paprocki
Faith L Perin
Emily I Iturbide
Julie W Whobrey
Chavez K Figeroa
Mayumi N Vocelka
Mayumi Q Flosi
Ricardo F Shinko
Wickens L Shinko
Darci N Ferencz
Mujtaba G Iturbide
Julie P Nicka
Francesco F Oldroyd
IdCountryDate
1000United Kingdom2026-10-05
1001Australia2026-10-02
1002Spain2026-10-28
1003Russia2026-10-14
1004Australia2026-10-08
1005Germany2026-10-28
1006Spain2026-10-01
1007Canada2026-10-02
1008Russia2026-10-23
1009India2026-10-29
1010Australia2026-10-07
1011Italy2026-10-04
1012Russia2026-10-29
1013Italy2026-10-10
1014Spain2026-10-08
1015United Kingdom2026-10-21
1016Germany2026-10-14
1017United Kingdom2026-10-24
1018Canada2026-10-01
1019United Kingdom2026-10-11
1020Brazil2026-10-18
1021Brazil2026-10-18
1022France2026-10-19
1023Japan2026-10-07
1024Germany2026-10-24
1025Canada2026-10-27
1026United Kingdom2026-10-05
1027Spain2026-10-08
1028Germany2026-10-21
1029Argentina2026-10-26
1030Australia2026-10-17
1031United Kingdom2026-10-19
1032Canada2026-10-12
1033Argentina2026-10-27
1034Australia2026-10-02
1035Germany2026-10-27
1036Canada2026-10-21
1037United Kingdom2026-10-21
1038Japan2026-10-15
1039Spain2026-10-04
1040Spain2026-10-20
1041Brazil2026-10-29
1042Spain2026-10-15
1043Canada2026-10-26
1044Germany2026-10-15
1045United Kingdom2026-10-19
1046Canada2026-10-04
1047United Kingdom2026-10-08
1048India2026-10-03
1049France2026-09-30

On-Demand Data

NameIdCountryDate
Greenwood E Ostrosky1000Canada2026-10-16
Munro M Morasca1001Brazil2026-10-04
Aruna O Gaucho1002India2026-10-06
Ashley U Inouye1003Brazil2026-10-17
Aika P Briddick1004Australia2026-10-14
Kadeem E Royster1005Canada2026-10-20
Darci O Schemmer1006Canada2026-10-01
Antonio K Maclead1007Italy2026-10-15
Juan E Bolognia1008India2026-10-04
Smith S Marrier1009Australia2026-10-16
Octavia L Royster1010Japan2026-10-14
Maisha G Slusarski1011Argentina2026-10-11
Julie I Nicka1012India2026-10-23
Maria T Dilliard1013Germany2026-10-06
Mayumi R Saylors1014India2026-10-27
Faith J Bowley1015France2026-10-29
Claire A Chui1016Russia2026-10-26
Salvatore K Poquette1017Japan2026-10-24
Izzy K Gillian1018Japan2026-10-09
Costa S Venere1019Germany2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin X PoquetteIndiaIoni Bowcher PROPOSAL
David B WaycottSpainAsiya Javayant PROPOSAL
Jefferson Q MaletItalyIvan Magalhaes UNQUALIFIED
Silvio V MacleadBrazilElwin Sharvill UNQUALIFIED
Jones I MaletJapanOnyama Limba UNQUALIFIED
Munro Y FigeroaCanadaAnna Fali UNQUALIFIED
Adams W FigeroaUnited KingdomBernardo Dominic PROPOSAL
Ashley S ButtAustraliaBernardo Dominic UNQUALIFIED
Isabel S MorascaArgentinaAmy Elsner RENEWAL
Rodrigues K BologniaSpainBernardo Dominic NEW
Silvio N OstroskySpainElwin Sharvill NEGOTIATION
Leja L SergiBrazilOnyama Limba NEGOTIATION
Rodrigues P MacleadGermanyAnna Fali QUALIFIED
Deepesh X MaletJapanXuxue Feng QUALIFIED
Jennifer M WhobreyIndiaXuxue Feng RENEWAL
Julie A KuskoFranceBernardo Dominic NEW
Arvin I IturbideUnited KingdomIvan Magalhaes RENEWAL
Aika J MorascaAustraliaElwin Sharvill QUALIFIED
Juan R BriddickUnited KingdomOnyama Limba UNQUALIFIED
Julie O AlbaresRussiaStephen Shaw QUALIFIED
Morrow P MorascaFranceStephen Shaw RENEWAL
Francesco W InouyeGermanyXuxue Feng UNQUALIFIED
Kaitlin O VenereJapanElwin Sharvill QUALIFIED
Maisha Y OldroydFranceXuxue Feng NEW
Jeanfrancois K ChuiSpainOnyama Limba NEGOTIATION
Kaitlin T GlickAustraliaIoni Bowcher QUALIFIED
Nicolas Y ShinkoBrazilStephen Shaw NEGOTIATION
Darci V TollnerGermanyAnna Fali PROPOSAL
Stacey W BowleyAustraliaIoni Bowcher QUALIFIED
Francesco O WieserUnited KingdomAnna Fali PROPOSAL
Aika N RimJapanOnyama Limba UNQUALIFIED
Claire U PaprockiRussiaAmy Elsner NEW
Costa I CaudyGermanyAsiya Javayant PROPOSAL
Misaki N WhobreyItalyAnna Fali RENEWAL
Izzy C StockhamCanadaStephen Shaw PROPOSAL
Murillo Q BriddickJapanIvan Magalhaes QUALIFIED
Aruna A AlbaresAustraliaBernardo Dominic NEW
Emily R FollerSpainAsiya Javayant PROPOSAL
Juan G TollnerBrazilAsiya Javayant QUALIFIED
Jefferson I MacleadItalyOnyama Limba PROPOSAL

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