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
Munro Z DoeGermanyXuxue Feng RENEWAL
Leja S FlosiRussiaIvan Magalhaes RENEWAL
Smith K SergiBrazilAsiya Javayant RENEWAL
Darci X OldroydUnited KingdomAnna Fali NEGOTIATION
Jennifer E VenereArgentinaAmy Elsner UNQUALIFIED
Morrow R GillianCanadaOnyama Limba RENEWAL
Emily X KolmetzFranceAmy Elsner NEGOTIATION
Aruna O DoeRussiaIoni Bowcher UNQUALIFIED
Kaitlin G AmigonAustraliaIvan Magalhaes UNQUALIFIED
Jennifer K CaudyIndiaIvan Magalhaes NEGOTIATION
Mayumi Y WieserUnited KingdomBernardo Dominic UNQUALIFIED
Salvatore K FerenczAustraliaIvan Magalhaes NEGOTIATION
Rodrigues C VocelkaSpainAmy Elsner QUALIFIED
Mujtaba J PaprockiArgentinaStephen Shaw RENEWAL
Adams V IturbideFranceIoni Bowcher NEW
Claire D InouyeCanadaXuxue Feng QUALIFIED
Johnson M ButtIndiaStephen Shaw NEGOTIATION
Ivar H TollnerRussiaOnyama Limba RENEWAL
Leon R RulapaughUnited KingdomXuxue Feng NEGOTIATION
Isabel G NestleItalyElwin Sharvill RENEWAL
Deepesh B VenereAustraliaAsiya Javayant QUALIFIED
Maria F PerinUnited KingdomIoni Bowcher PROPOSAL
Juan C SchemmerUnited KingdomBernardo Dominic QUALIFIED
Mujtaba A DilliardAustraliaIvan Magalhaes UNQUALIFIED
Sinclair L MaletAustraliaAmy Elsner UNQUALIFIED
Leja D OstroskyCanadaElwin Sharvill QUALIFIED
Smith H FollerFranceOnyama Limba RENEWAL
Arvin I KuskoGermanyOnyama Limba QUALIFIED
Ashley K FigeroaSpainIvan Magalhaes PROPOSAL
Smith P InouyeSpainIoni Bowcher UNQUALIFIED
Maria L DoeAustraliaBernardo Dominic PROPOSAL
Jeanfrancois A ChuiUnited KingdomXuxue Feng RENEWAL
Ashley V RulapaughUnited KingdomElwin Sharvill RENEWAL
Isabel Z StockhamArgentinaAsiya Javayant UNQUALIFIED
Kadeem E OldroydUnited KingdomAsiya Javayant NEW
Francesco O RoysterArgentinaAsiya Javayant NEGOTIATION
Jennifer I ButtIndiaIoni Bowcher NEW
Ricardo I TollnerCanadaXuxue Feng UNQUALIFIED
Silvio I StockhamGermanyAmy Elsner QUALIFIED
Juan B PoquetteIndiaXuxue Feng NEGOTIATION
Cody L MaletJapanIoni Bowcher RENEWAL
Jones Z IturbideAustraliaAmy Elsner RENEWAL
Arvin O GarufiJapanAnna Fali NEGOTIATION
Mayumi Y SchemmerArgentinaBernardo Dominic NEW
Juan X MaletFranceAmy Elsner RENEWAL
Sinclair U DilliardCanadaAmy Elsner NEGOTIATION
Tony X NestleUnited KingdomAmy Elsner QUALIFIED
Deepesh Y FerenczJapanIoni Bowcher PROPOSAL
Jefferson R MarrierUnited KingdomElwin Sharvill PROPOSAL
Leja F WaycottJapanAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood N IturbideJapanXuxue Feng NEGOTIATION
Alejandro L DilliardUnited KingdomXuxue Feng NEGOTIATION
Misaki D InouyeJapanIoni Bowcher RENEWAL
Munro O BriddickItalyAmy Elsner RENEWAL
James L NestleIndiaIvan Magalhaes PROPOSAL
Ivar R VenereCanadaIoni Bowcher RENEWAL
Wickens O ChuiGermanyAmy Elsner PROPOSAL
Wickens K PaprockiAustraliaAnna Fali NEGOTIATION
Adams C KolmetzItalyAmy Elsner NEW
Faith M CaudyGermanyXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez L ChuiGermany2026-10-15Benton, John B Jr UNQUALIFIED18Ioni Bowcher
1001Deepesh D ShinkoBrazil2026-10-09Chanay, Jeffrey A Esq UNQUALIFIED58Stephen Shaw
1002Antonio F GillianSpain2026-10-15Printing Dimensions QUALIFIED59Amy Elsner
1003Emily S SergiItaly2026-10-19Chemel, James L Cpa UNQUALIFIED40Onyama Limba
1004Morrow L MaletJapan2026-10-03Rangoni Of Florence QUALIFIED36Onyama Limba
1005Aruna H RoysterIndia2026-10-20Feiner Bros QUALIFIED22Stephen Shaw
1006Ivar K GauchoItaly2026-10-26Buckley Miller Wright QUALIFIED62Onyama Limba
1007Maisha V PaprockiJapan2026-10-24Morlong Associates QUALIFIED27Onyama Limba
1008Stacey T GarufiItaly2026-10-15Commercial Press UNQUALIFIED81Anna Fali
1009Juan R MacleadIndia2026-10-18Morlong Associates RENEWAL11Stephen Shaw
1010Aruna U GillianJapan2026-10-19Dorl, James J Esq NEW97Asiya Javayant
1011Isabel B DoeAustralia2026-10-16Chanay, Jeffrey A Esq NEW15Onyama Limba
1012Antonio U RimUnited Kingdom2026-10-03King, Christopher A Esq PROPOSAL97Ivan Magalhaes
1013Maria A FollerAustralia2026-10-03Feiner Bros NEW87Xuxue Feng
1014Clifford W MorascaRussia2026-10-23Feiner Bros PROPOSAL43Stephen Shaw
1015Leon O WaycottJapan2026-10-12Benton, John B Jr RENEWAL13Onyama Limba
1016Clifford W RoysterArgentina2026-10-14Truhlar And Truhlar Attys NEGOTIATION99Ivan Magalhaes
1017Misaki L BowleyArgentina2026-10-11Morlong Associates NEW29Anna Fali
1018Darci Z BowleyRussia2026-10-09Feiner Bros PROPOSAL91Ivan Magalhaes
1019Mayumi R SergiItaly2026-10-27Chapman, Ross E Esq UNQUALIFIED71Ioni Bowcher
1020James F GauchoArgentina2026-10-07Printing Dimensions RENEWAL1Anna Fali
1021Jennifer N CaudyGermany2026-09-28Chemel, James L Cpa RENEWAL95Onyama Limba
1022Stacey W MorascaRussia2026-10-15Chapman, Ross E Esq RENEWAL34Anna Fali
1023Rodrigues A AmigonJapan2026-10-14Feltz Printing Service RENEWAL51Ioni Bowcher
1024Munro K MacleadBrazil2026-10-18Printing Dimensions RENEWAL22Ivan Magalhaes
1025Alejandro U AmigonJapan2026-10-26Commercial Press PROPOSAL95Asiya Javayant
1026Juan R SergiUnited Kingdom2026-10-12Rousseaux, Michael Esq NEW17Anna Fali
1027Sinclair A MaletUnited Kingdom2026-09-30Truhlar And Truhlar Attys UNQUALIFIED83Stephen Shaw
1028Nicolas E PerinAustralia2026-09-29Buckley Miller Wright UNQUALIFIED47Onyama Limba
1029Aika E CaudyUnited Kingdom2026-10-23Truhlar And Truhlar Attys NEGOTIATION48Amy Elsner
1030Morrow E SergiItaly2026-10-26Rangoni Of Florence RENEWAL81Amy Elsner
1031Maria M ButtSpain2026-10-16Feltz Printing Service RENEWAL86Onyama Limba
1032Arvin P SergiAustralia2026-10-03King, Christopher A Esq NEGOTIATION5Stephen Shaw
1033Jeanfrancois S KuskoUnited Kingdom2026-10-24Chanay, Jeffrey A Esq NEW1Elwin Sharvill
1034Jeanfrancois B OstroskyRussia2026-10-19Printing Dimensions NEGOTIATION5Onyama Limba
1035Arvin Y GarufiArgentina2026-10-11Dorl, James J Esq NEW12Ivan Magalhaes
1036Aditya X KolmetzUnited Kingdom2026-10-11Feltz Printing Service RENEWAL87Onyama Limba
1037Faith U SergiBrazil2026-10-04Printing Dimensions RENEWAL14Ivan Magalhaes
1038Maria J DilliardGermany2026-10-14Dorl, James J Esq QUALIFIED81Asiya Javayant
1039Sinclair T StockhamGermany2026-09-29Buckley Miller Wright RENEWAL33Anna Fali
1040Isabel S BologniaAustralia2026-10-08King, Christopher A Esq RENEWAL40Ivan Magalhaes
1041Kaitlin H IturbideAustralia2026-10-15Feiner Bros PROPOSAL96Anna Fali
1042Costa Q MarrierItaly2026-10-24Dorl, James J Esq NEGOTIATION73Asiya Javayant
1043Arvin V StockhamJapan2026-10-04King, Christopher A Esq PROPOSAL80Anna Fali
1044Cody S PerinCanada2026-09-28Chemel, James L Cpa UNQUALIFIED51Onyama Limba
1045Jefferson L BowleyIndia2026-10-02Truhlar And Truhlar Attys RENEWAL46Onyama Limba
1046Johnson T TollnerAustralia2026-10-17King, Christopher A Esq UNQUALIFIED86Stephen Shaw
1047Cody X FerenczAustralia2026-09-29Chanay, Jeffrey A Esq UNQUALIFIED88Asiya Javayant
1048Sinclair J FollerRussia2026-09-30Buckley Miller Wright UNQUALIFIED78Stephen Shaw
1049Wickens K RimRussia2026-10-19Morlong Associates RENEWAL92Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Adams U DoeRussiaStephen Shaw PROPOSAL
Costa G InouyeCanadaIvan Magalhaes NEGOTIATION
Morrow F WieserSpainOnyama Limba NEW
Tony F WieserCanadaAmy Elsner QUALIFIED
Alejandro I SlusarskiItalyAnna Fali NEW
Silvio W IturbideSpainOnyama Limba RENEWAL
Ricardo K StockhamRussiaIoni Bowcher UNQUALIFIED
Emily D SaylorsCanadaIvan Magalhaes UNQUALIFIED
Ashley C PaprockiItalyBernardo Dominic NEW
Antonio Q KolmetzJapanAmy Elsner NEGOTIATION
Antonio G PoquetteAustraliaAsiya Javayant NEW
James K StensethSpainOnyama Limba PROPOSAL
David W MacleadBrazilAmy Elsner UNQUALIFIED
Antonio B FollerBrazilAnna Fali NEGOTIATION
Faith Y CampainAustraliaAmy Elsner RENEWAL
Kaitlin L PaprockiUnited KingdomIvan Magalhaes RENEWAL
Juan A GillianArgentinaAsiya Javayant RENEWAL
Faith I SaylorsArgentinaAnna Fali NEGOTIATION
Ashley S OstroskyBrazilElwin Sharvill QUALIFIED
Stacey A CaudyGermanyBernardo Dominic UNQUALIFIED
Mayumi N NickaRussiaAmy Elsner NEGOTIATION
Nicolas M RutaFranceBernardo Dominic NEGOTIATION
Wickens J MaletAustraliaAsiya Javayant UNQUALIFIED
Jones W MarrierFranceOnyama Limba NEGOTIATION
Wickens Z OstroskyItalyIoni Bowcher NEGOTIATION
Adams H GauchoFranceStephen Shaw RENEWAL
Jennifer Q FollerItalyIoni Bowcher UNQUALIFIED
Adams T SlusarskiGermanyAmy Elsner QUALIFIED
Arvin A PoquetteUnited KingdomStephen Shaw NEGOTIATION
Isabel L SchemmerCanadaIvan Magalhaes UNQUALIFIED
Isabel X PoquetteItalyAmy Elsner RENEWAL
Rodrigues N MaletRussiaXuxue Feng UNQUALIFIED
Juan P FollerAustraliaAnna Fali RENEWAL
Julie G RoysterArgentinaElwin Sharvill UNQUALIFIED
Isabel I MacleadAustraliaBernardo Dominic NEGOTIATION
Francesco D AmigonUnited KingdomAmy Elsner UNQUALIFIED
Munro F GarufiJapanBernardo Dominic PROPOSAL
Deepesh T MorascaGermanyOnyama Limba NEW
Costa A CampainCanadaElwin Sharvill PROPOSAL
Jennifer G CaudyJapanIvan Magalhaes QUALIFIED
Kadeem F FigeroaSpainAnna Fali QUALIFIED
Darci N TollnerCanadaBernardo Dominic QUALIFIED
Murillo F GillianJapanOnyama Limba PROPOSAL
Clifford H KolmetzCanadaElwin Sharvill NEW
Clifford T RulapaughRussiaAmy Elsner QUALIFIED
Silvio M WhobreyUnited KingdomOnyama Limba PROPOSAL
Deepesh S RoysterRussiaIoni Bowcher UNQUALIFIED
Juan N WaycottItalyIoni Bowcher RENEWAL
Octavia O CaudyArgentinaElwin Sharvill QUALIFIED
Kaitlin M ButtFranceOnyama Limba QUALIFIED
Frozen Columns
Name
Arvin J Garufi
Darci E Marrier
Clifford T Schemmer
Izzy X Wieser
Octavia U Stenseth
Munro T Stenseth
Tony V Glick
Salvatore T Campain
Salvatore O Figeroa
Faith I Bowley
Antonio R Perin
Claire O Rulapaugh
Costa W Slusarski
Jeanfrancois R Slusarski
Faith V Venere
Misaki W Bowley
David Q Dilliard
Deepesh H Poquette
Misaki F Perin
Chavez V Briddick
Johnson N Tollner
Julie J Kolmetz
Julie Y Shinko
Wickens W Sergi
Ivar Z Ferencz
Darci O Venere
Chavez D Ferencz
Stacey P Ruta
Octavia J Caudy
Munro H Schemmer
Mayumi K Albares
Arvin F Chui
Munro O Slusarski
Maisha H Venere
Claire K Whobrey
Nicolas V Nicka
Mujtaba J Perin
Wickens M Waycott
Kadeem X Gaucho
Jennifer I Ostrosky
Ricardo W Nestle
Maisha V Bolognia
Adams A Saylors
Emily O Caldarera
Arvin I Darakjy
Mujtaba V Briddick
Arvin H Kolmetz
Kadeem R Rulapaugh
Wickens S Wieser
Octavia I Glick
IdCountryDate
1000Canada2026-10-25
1001Russia2026-10-27
1002Argentina2026-10-07
1003Italy2026-10-22
1004United Kingdom2026-10-15
1005Spain2026-10-15
1006Spain2026-10-24
1007Spain2026-10-25
1008Japan2026-10-13
1009Argentina2026-10-09
1010Brazil2026-10-01
1011Spain2026-10-07
1012Brazil2026-10-24
1013Italy2026-10-18
1014Russia2026-10-10
1015Canada2026-10-21
1016Italy2026-10-08
1017France2026-10-12
1018United Kingdom2026-10-20
1019France2026-10-26
1020Brazil2026-10-04
1021United Kingdom2026-10-02
1022Australia2026-10-11
1023Brazil2026-10-04
1024Australia2026-10-21
1025Argentina2026-10-16
1026Brazil2026-10-04
1027Canada2026-10-17
1028Russia2026-10-01
1029Spain2026-10-04
1030Germany2026-10-03
1031Brazil2026-10-01
1032Argentina2026-10-04
1033United Kingdom2026-10-23
1034India2026-10-01
1035Japan2026-10-05
1036Canada2026-10-05
1037Spain2026-10-14
1038France2026-10-05
1039Japan2026-10-06
1040Argentina2026-10-27
1041Spain2026-10-05
1042United Kingdom2026-10-06
1043Japan2026-10-03
1044United Kingdom2026-10-05
1045Spain2026-09-28
1046Italy2026-10-18
1047France2026-10-02
1048France2026-10-20
1049Italy2026-09-29

On-Demand Data

NameIdCountryDate
Ricardo O Slusarski1000Italy2026-10-24
Cody Z Nestle1001Argentina2026-10-19
Johnson D Gillian1002Brazil2026-10-23
Claire Y Amigon1003Japan2026-10-10
Wickens T Slusarski1004Canada2026-10-09
Rodrigues X Waycott1005Russia2026-10-24
Smith V Amigon1006Australia2026-10-05
Octavia Z Ferencz1007India2026-10-14
Greenwood B Caudy1008India2026-10-06
Faith D Oldroyd1009Russia2026-10-11
Smith V Morasca1010Russia2026-10-24
Smith F Campain1011France2026-10-13
James O Caldarera1012Canada2026-10-24
Jeanfrancois V Royster1013France2026-10-13
Darci U Malet1014Spain2026-10-19
Jefferson J Wieser1015France2026-10-27
Antonio D Sergi1016Germany2026-10-04
Octavia Z Marrier1017Italy2026-10-05
Jones L Malet1018Germany2026-10-13
Adams Y Marrier1019Japan2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Y SergiAustraliaOnyama Limba QUALIFIED
David S DoeIndiaXuxue Feng UNQUALIFIED
Kaitlin H FollerRussiaBernardo Dominic NEGOTIATION
Costa F CaldareraGermanyStephen Shaw QUALIFIED
Alejandro J OldroydIndiaAsiya Javayant RENEWAL
Aditya R AmigonIndiaBernardo Dominic UNQUALIFIED
Faith R KolmetzCanadaXuxue Feng RENEWAL
Aika K InouyeBrazilIvan Magalhaes QUALIFIED
Mujtaba T GarufiBrazilElwin Sharvill QUALIFIED
Sinclair A KuskoItalyAsiya Javayant NEGOTIATION
Deepesh L MacleadUnited KingdomXuxue Feng NEGOTIATION
Nicolas T NestleItalyXuxue Feng NEGOTIATION
Morrow M WaycottArgentinaAnna Fali RENEWAL
Aika I ButtBrazilBernardo Dominic UNQUALIFIED
Wickens W WaycottCanadaStephen Shaw RENEWAL
Juan T MarrierUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois D StockhamUnited KingdomOnyama Limba QUALIFIED
Stacey D CampainCanadaAsiya Javayant RENEWAL
Clifford T FigeroaUnited KingdomElwin Sharvill QUALIFIED
Wickens H NestleJapanBernardo Dominic NEW
Julie E CampainArgentinaAsiya Javayant NEGOTIATION
Mujtaba Q OstroskyIndiaAnna Fali NEGOTIATION
Emily V FerenczJapanIvan Magalhaes RENEWAL
Ricardo E RutaSpainStephen Shaw UNQUALIFIED
Francesco L PerinAustraliaOnyama Limba NEW
Sinclair E FollerGermanyAmy Elsner PROPOSAL
Mujtaba E ButtCanadaOnyama Limba NEW
Juan L CaudyJapanBernardo Dominic PROPOSAL
Arvin T MaletItalyXuxue Feng UNQUALIFIED
Rodrigues M SaylorsItalyAnna Fali RENEWAL
Darci Y DarakjyItalyAnna Fali QUALIFIED
Nicolas D BologniaArgentinaAmy Elsner UNQUALIFIED
Sinclair Y StensethBrazilXuxue Feng NEGOTIATION
Clifford N StensethIndiaXuxue Feng UNQUALIFIED
Nicolas C MarrierSpainXuxue Feng RENEWAL
Kaitlin D IturbideIndiaOnyama Limba UNQUALIFIED
Jefferson I SchemmerItalyAmy Elsner PROPOSAL
Johnson H ShinkoRussiaStephen Shaw UNQUALIFIED
Izzy N FerenczGermanyBernardo Dominic RENEWAL
Leon A CampainSpainAsiya Javayant RENEWAL

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