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
Jefferson M ButtIndiaElwin Sharvill PROPOSAL
Clifford B PerinUnited KingdomElwin Sharvill NEW
Clifford Q RimAustraliaAmy Elsner QUALIFIED
Sinclair F DilliardAustraliaBernardo Dominic UNQUALIFIED
Darci A NestleItalyStephen Shaw QUALIFIED
Silvio J NestleRussiaStephen Shaw QUALIFIED
Salvatore N DoeJapanIoni Bowcher QUALIFIED
Faith A FerenczArgentinaAnna Fali RENEWAL
Antonio F ButtIndiaAsiya Javayant NEGOTIATION
Francesco A BologniaGermanyOnyama Limba QUALIFIED
Leon B SaylorsJapanStephen Shaw NEGOTIATION
Rodrigues O MaletSpainXuxue Feng RENEWAL
Francesco R WaycottRussiaAsiya Javayant PROPOSAL
Deepesh I PoquetteGermanyStephen Shaw QUALIFIED
Maria A OstroskyArgentinaStephen Shaw NEW
Stacey A BriddickAustraliaXuxue Feng PROPOSAL
Jeanfrancois N PaprockiItalyAmy Elsner QUALIFIED
Leja I OldroydFranceElwin Sharvill UNQUALIFIED
Alejandro R GillianItalyAnna Fali NEW
Stacey O ShinkoSpainAsiya Javayant PROPOSAL
Antonio J GauchoGermanyAsiya Javayant QUALIFIED
David L AmigonItalyStephen Shaw QUALIFIED
Julie A StensethGermanyIvan Magalhaes PROPOSAL
Izzy J IturbideAustraliaAnna Fali NEW
Salvatore E SergiGermanyElwin Sharvill PROPOSAL
Tony R AlbaresAustraliaElwin Sharvill PROPOSAL
Jefferson D InouyeJapanStephen Shaw NEW
Claire E FerenczRussiaAmy Elsner NEW
Adams U WieserIndiaAsiya Javayant QUALIFIED
Deepesh P FerenczSpainElwin Sharvill UNQUALIFIED
Faith E AmigonAustraliaIoni Bowcher QUALIFIED
Jefferson H FlosiIndiaAnna Fali RENEWAL
Silvio R AmigonCanadaAmy Elsner NEW
Ivar Q ChuiGermanyIoni Bowcher NEW
Juan G DilliardRussiaIvan Magalhaes QUALIFIED
Alejandro B DarakjyRussiaXuxue Feng NEW
Munro M MaletCanadaOnyama Limba QUALIFIED
Claire B WieserSpainElwin Sharvill NEGOTIATION
Clifford B VenereAustraliaOnyama Limba UNQUALIFIED
Ivar B TollnerBrazilElwin Sharvill PROPOSAL
Claire A RimCanadaIvan Magalhaes PROPOSAL
Octavia M StensethJapanElwin Sharvill PROPOSAL
Francesco I TollnerIndiaAnna Fali NEW
Aruna S RulapaughRussiaBernardo Dominic NEW
Cody X BriddickItalyAsiya Javayant RENEWAL
Johnson H AlbaresCanadaIvan Magalhaes PROPOSAL
Mayumi B WaycottFranceIoni Bowcher RENEWAL
Silvio B SaylorsJapanElwin Sharvill UNQUALIFIED
Munro P SlusarskiSpainXuxue Feng RENEWAL
Maisha I CaldareraSpainBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Murillo V GauchoItalyElwin Sharvill RENEWAL
Juan J RoysterItalyStephen Shaw RENEWAL
Maisha V InouyeUnited KingdomXuxue Feng QUALIFIED
James W GlickCanadaElwin Sharvill RENEWAL
Kaitlin E GlickRussiaIoni Bowcher NEGOTIATION
Antonio L CaudyRussiaAmy Elsner NEGOTIATION
Munro V StensethItalyBernardo Dominic QUALIFIED
Claire W GlickUnited KingdomStephen Shaw QUALIFIED
Misaki H RulapaughIndiaBernardo Dominic UNQUALIFIED
Leja S RutaFranceAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro Z StensethIndia2026-10-21Dorl, James J Esq PROPOSAL95Onyama Limba
1001Mayumi U TollnerUnited Kingdom2026-10-02Dorl, James J Esq UNQUALIFIED9Ivan Magalhaes
1002Maisha E PaprockiAustralia2026-09-27Feiner Bros NEW40Onyama Limba
1003Ashley X CampainAustralia2026-10-20Morlong Associates RENEWAL16Elwin Sharvill
1004Octavia C AlbaresJapan2026-10-06Truhlar And Truhlar Attys RENEWAL46Stephen Shaw
1005Faith W BologniaIndia2026-10-04King, Christopher A Esq NEGOTIATION87Anna Fali
1006Emily O DarakjyCanada2026-09-30Rangoni Of Florence RENEWAL46Xuxue Feng
1007Mujtaba J MacleadUnited Kingdom2026-10-03Commercial Press UNQUALIFIED55Xuxue Feng
1008Smith C ButtAustralia2026-10-25Printing Dimensions QUALIFIED27Stephen Shaw
1009James I FerenczRussia2026-10-05Benton, John B Jr NEGOTIATION38Amy Elsner
1010Ivar S RutaSpain2026-10-20Benton, John B Jr QUALIFIED31Anna Fali
1011David P OldroydFrance2026-10-02Rangoni Of Florence NEGOTIATION71Xuxue Feng
1012Mujtaba S CaldareraGermany2026-09-30Buckley Miller Wright PROPOSAL82Ivan Magalhaes
1013Faith Q SchemmerSpain2026-09-27Dorl, James J Esq PROPOSAL47Stephen Shaw
1014Stacey P AlbaresFrance2026-10-14Chemel, James L Cpa QUALIFIED39Asiya Javayant
1015Francesco Q MarrierBrazil2026-09-27Rousseaux, Michael Esq RENEWAL45Bernardo Dominic
1016Ashley F RutaAustralia2026-10-09Rangoni Of Florence NEW54Onyama Limba
1017Chavez J SchemmerArgentina2026-10-05Chanay, Jeffrey A Esq NEW96Xuxue Feng
1018Arvin Q InouyeCanada2026-09-30Rousseaux, Michael Esq UNQUALIFIED5Asiya Javayant
1019Maria M FollerJapan2026-10-04Dorl, James J Esq QUALIFIED93Ioni Bowcher
1020Smith L VocelkaSpain2026-09-27Feltz Printing Service NEW95Xuxue Feng
1021Ashley B FlosiItaly2026-10-05Buckley Miller Wright NEGOTIATION16Bernardo Dominic
1022Johnson C GillianFrance2026-10-11Rousseaux, Michael Esq NEGOTIATION85Ioni Bowcher
1023Sinclair L ShinkoJapan2026-10-04Morlong Associates QUALIFIED37Bernardo Dominic
1024Nicolas Y OldroydBrazil2026-10-10Chemel, James L Cpa NEGOTIATION48Anna Fali
1025Kaitlin T StensethItaly2026-10-02Feiner Bros PROPOSAL60Bernardo Dominic
1026Murillo N MorascaArgentina2026-10-23Rangoni Of Florence NEGOTIATION77Anna Fali
1027James W GlickIndia2026-10-01Chanay, Jeffrey A Esq NEGOTIATION38Anna Fali
1028Leja X StockhamItaly2026-10-17Chapman, Ross E Esq NEGOTIATION14Anna Fali
1029Leon K AmigonGermany2026-10-10Chapman, Ross E Esq NEGOTIATION83Elwin Sharvill
1030Greenwood C RoysterItaly2026-10-17Morlong Associates RENEWAL73Bernardo Dominic
1031Smith L FigeroaJapan2026-10-11Rangoni Of Florence PROPOSAL81Anna Fali
1032Julie M GarufiRussia2026-10-10Morlong Associates NEGOTIATION47Onyama Limba
1033Maria D VenereAustralia2026-10-01Commercial Press UNQUALIFIED89Elwin Sharvill
1034Murillo A SchemmerItaly2026-10-14Dorl, James J Esq NEGOTIATION99Onyama Limba
1035Rodrigues W ButtGermany2026-09-26Truhlar And Truhlar Attys RENEWAL84Anna Fali
1036Murillo R SaylorsUnited Kingdom2026-10-13King, Christopher A Esq PROPOSAL53Amy Elsner
1037Leja I SlusarskiItaly2026-10-19Chapman, Ross E Esq RENEWAL77Stephen Shaw
1038Aruna I PerinArgentina2026-10-21Truhlar And Truhlar Attys NEW34Amy Elsner
1039Misaki J KuskoFrance2026-10-05Feltz Printing Service RENEWAL63Asiya Javayant
1040Darci V DoeGermany2026-10-19Commercial Press PROPOSAL84Bernardo Dominic
1041Wickens C InouyeAustralia2026-10-19Feiner Bros QUALIFIED66Stephen Shaw
1042Izzy L FollerCanada2026-10-04Chapman, Ross E Esq NEW79Ivan Magalhaes
1043Leon G DarakjyIndia2026-10-12King, Christopher A Esq NEGOTIATION28Asiya Javayant
1044Jefferson C CampainBrazil2026-10-24Chemel, James L Cpa UNQUALIFIED41Stephen Shaw
1045Juan D CaldareraItaly2026-10-15Chanay, Jeffrey A Esq UNQUALIFIED15Onyama Limba
1046Stacey I NestleFrance2026-10-04Commercial Press QUALIFIED6Xuxue Feng
1047Arvin D TollnerIndia2026-10-13Truhlar And Truhlar Attys QUALIFIED94Onyama Limba
1048Darci W ButtSpain2026-10-02Feiner Bros NEW89Ivan Magalhaes
1049Mujtaba L WieserBrazil2026-10-03Chanay, Jeffrey A Esq UNQUALIFIED43Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Izzy G WhobreyJapanBernardo Dominic QUALIFIED
David N BriddickFranceAmy Elsner RENEWAL
Faith Z RutaIndiaAnna Fali NEGOTIATION
Salvatore Y MaletSpainAmy Elsner NEW
Murillo J FlosiCanadaAmy Elsner NEW
James Y WaycottAustraliaXuxue Feng NEW
Jeanfrancois D RutaSpainAmy Elsner QUALIFIED
Antonio V GlickBrazilBernardo Dominic RENEWAL
Leja H MacleadArgentinaAnna Fali RENEWAL
Jones R FigeroaSpainXuxue Feng NEW
Johnson F AlbaresItalyIvan Magalhaes PROPOSAL
Mayumi B RoysterGermanyAsiya Javayant NEGOTIATION
Greenwood E FlosiUnited KingdomElwin Sharvill RENEWAL
Alejandro U MorascaArgentinaIoni Bowcher NEGOTIATION
Aditya X DilliardCanadaOnyama Limba UNQUALIFIED
Ashley Q GlickRussiaBernardo Dominic QUALIFIED
Kaitlin Q DilliardGermanyIoni Bowcher UNQUALIFIED
Alejandro H FlosiGermanyOnyama Limba RENEWAL
Deepesh Z RutaItalyXuxue Feng UNQUALIFIED
Aruna A StensethJapanAnna Fali RENEWAL
Maria U MaletAustraliaAnna Fali UNQUALIFIED
Costa Q OldroydAustraliaOnyama Limba NEGOTIATION
Alejandro W GillianRussiaIvan Magalhaes NEW
Julie U GlickUnited KingdomAsiya Javayant PROPOSAL
Francesco V RutaSpainAmy Elsner NEGOTIATION
Nicolas H AlbaresJapanIvan Magalhaes UNQUALIFIED
James B VenereGermanyXuxue Feng NEGOTIATION
Leja O SaylorsAustraliaIoni Bowcher NEGOTIATION
Antonio A KolmetzJapanIvan Magalhaes UNQUALIFIED
Aditya A BowleyAustraliaIoni Bowcher QUALIFIED
Sinclair A WaycottJapanIoni Bowcher NEGOTIATION
Salvatore X BowleyBrazilBernardo Dominic NEGOTIATION
Smith H InouyeRussiaStephen Shaw UNQUALIFIED
Munro K MorascaJapanOnyama Limba NEGOTIATION
Mayumi L GillianFranceIoni Bowcher UNQUALIFIED
Emily U SaylorsSpainIoni Bowcher QUALIFIED
Emily E NestleCanadaAsiya Javayant NEGOTIATION
Rodrigues K CampainCanadaStephen Shaw PROPOSAL
Deepesh R BowleyRussiaIvan Magalhaes RENEWAL
Ashley Q MaletArgentinaIoni Bowcher RENEWAL
Isabel G RulapaughBrazilElwin Sharvill RENEWAL
Salvatore C FollerAustraliaBernardo Dominic PROPOSAL
Leja C WaycottBrazilIoni Bowcher NEW
Cody Y TollnerIndiaAnna Fali UNQUALIFIED
Johnson K VenereJapanAmy Elsner NEGOTIATION
James F GlickJapanAsiya Javayant PROPOSAL
Arvin R WhobreyGermanyXuxue Feng UNQUALIFIED
Arvin J GillianRussiaIoni Bowcher PROPOSAL
Jefferson G StensethSpainIvan Magalhaes PROPOSAL
Chavez E SchemmerAustraliaXuxue Feng UNQUALIFIED
Frozen Columns
Name
David C Kusko
James G Poquette
Ashley A Amigon
Isabel R Darakjy
Mayumi I Flosi
Isabel N Bolognia
David Z Poquette
Costa T Caudy
Octavia K Figeroa
Mayumi Y Briddick
David I Nestle
Ashley L Amigon
Juan T Gaucho
Adams D Inouye
Cody K Morasca
Claire D Whobrey
Mayumi B Vocelka
Julie D Doe
Stacey J Briddick
Morrow H Poquette
Antonio D Saylors
Murillo J Vocelka
Leon P Amigon
Tony M Rulapaugh
Rodrigues T Whobrey
Izzy H Bolognia
Jeanfrancois R Campain
Aruna C Morasca
Tony T Figeroa
Emily M Stenseth
Octavia T Stenseth
Juan D Flosi
Cody O Paprocki
Chavez F Bowley
Murillo O Albares
Antonio C Rulapaugh
Emily A Perin
Juan H Marrier
Kaitlin J Caudy
Nicolas L Stenseth
Maisha Y Albares
Kaitlin D Paprocki
Antonio B Dilliard
Faith J Albares
Alejandro N Poquette
Rodrigues H Whobrey
Maisha B Wieser
Alejandro T Vocelka
Jeanfrancois X Perin
Jeanfrancois W Glick
IdCountryDate
1000Germany2026-10-02
1001Australia2026-10-22
1002Canada2026-10-06
1003Australia2026-09-27
1004France2026-10-19
1005Argentina2026-10-06
1006Australia2026-10-03
1007United Kingdom2026-10-20
1008United Kingdom2026-10-19
1009Russia2026-10-16
1010Japan2026-10-07
1011Russia2026-10-11
1012Italy2026-09-26
1013Italy2026-10-08
1014Argentina2026-10-11
1015Russia2026-10-16
1016Italy2026-10-10
1017France2026-10-03
1018Argentina2026-10-05
1019Brazil2026-10-20
1020Spain2026-10-08
1021Russia2026-10-10
1022Spain2026-10-09
1023United Kingdom2026-10-22
1024Brazil2026-10-10
1025Germany2026-10-25
1026Spain2026-10-11
1027Australia2026-10-11
1028United Kingdom2026-10-24
1029United Kingdom2026-10-04
1030India2026-10-16
1031France2026-09-26
1032Brazil2026-10-23
1033Brazil2026-10-09
1034Brazil2026-10-16
1035Russia2026-10-22
1036Russia2026-09-27
1037Canada2026-10-17
1038India2026-10-06
1039Germany2026-09-27
1040Russia2026-10-03
1041Japan2026-10-08
1042Germany2026-10-07
1043Italy2026-10-24
1044Australia2026-10-22
1045Russia2026-09-29
1046Japan2026-10-07
1047Japan2026-10-18
1048Brazil2026-10-15
1049Japan2026-10-16

On-Demand Data

NameIdCountryDate
Stacey P Bolognia1000Australia2026-10-17
Wickens C Wieser1001France2026-10-08
Wickens Q Ostrosky1002India2026-10-08
Deepesh X Caldarera1003United Kingdom2026-09-28
Maisha D Marrier1004United Kingdom2026-10-05
Arvin B Caudy1005Brazil2026-10-22
Leon T Rim1006Brazil2026-10-01
Nicolas X Butt1007Germany2026-10-22
Arvin N Vocelka1008Russia2026-09-27
Murillo H Malet1009Brazil2026-10-06
Stacey P Rim1010Canada2026-10-17
Tony J Venere1011Japan2026-10-18
Francesco E Morasca1012Italy2026-10-01
Jefferson Q Gillian1013Italy2026-10-01
Darci F Malet1014Italy2026-09-30
Mayumi Y Inouye1015United Kingdom2026-09-29
Emily X Wieser1016Russia2026-10-04
David B Briddick1017United Kingdom2026-10-03
Alejandro G Slusarski1018Argentina2026-10-10
Isabel Q Figeroa1019Australia2026-10-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki E VocelkaFranceIvan Magalhaes NEGOTIATION
Julie I OldroydRussiaElwin Sharvill QUALIFIED
Stacey N ChuiJapanElwin Sharvill QUALIFIED
Costa E OldroydRussiaOnyama Limba NEGOTIATION
Aruna Q TollnerGermanyBernardo Dominic UNQUALIFIED
Isabel N KolmetzCanadaIoni Bowcher RENEWAL
Alejandro B IturbideFranceIvan Magalhaes RENEWAL
Costa I InouyeGermanyAmy Elsner NEW
Tony B RimItalyOnyama Limba UNQUALIFIED
Kaitlin P VenereArgentinaIvan Magalhaes QUALIFIED
David T FigeroaFranceBernardo Dominic PROPOSAL
Maria V CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Sinclair W OldroydAustraliaIvan Magalhaes UNQUALIFIED
Silvio C KuskoAustraliaAsiya Javayant NEGOTIATION
Morrow P BriddickItalyIvan Magalhaes PROPOSAL
Johnson I SlusarskiSpainXuxue Feng UNQUALIFIED
Leja I FollerAustraliaOnyama Limba RENEWAL
Jennifer E VocelkaFranceBernardo Dominic NEGOTIATION
David E MarrierRussiaElwin Sharvill RENEWAL
Alejandro W MacleadItalyBernardo Dominic NEW
Munro X GillianSpainAmy Elsner NEGOTIATION
Nicolas E GillianBrazilOnyama Limba NEW
Leon O AmigonSpainOnyama Limba PROPOSAL
Ivar U ShinkoUnited KingdomStephen Shaw UNQUALIFIED
Julie E NestleIndiaAmy Elsner NEW
James N OstroskyJapanXuxue Feng PROPOSAL
Mayumi D MaletSpainStephen Shaw UNQUALIFIED
Emily Q SergiAustraliaXuxue Feng NEW
James Y RimBrazilAsiya Javayant RENEWAL
Wickens Y SlusarskiIndiaIvan Magalhaes RENEWAL
Ivar Q MarrierJapanAnna Fali UNQUALIFIED
Greenwood H MorascaArgentinaAmy Elsner NEGOTIATION
Mayumi X GarufiArgentinaStephen Shaw PROPOSAL
Aika E SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Octavia U BowleyAustraliaElwin Sharvill PROPOSAL
Octavia W WaycottBrazilAmy Elsner PROPOSAL
Misaki J SchemmerGermanyIoni Bowcher NEGOTIATION
Juan Y ButtArgentinaIvan Magalhaes RENEWAL
Cody A StockhamSpainBernardo Dominic RENEWAL
Deepesh B MaletArgentinaStephen Shaw 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>