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
Mayumi A SlusarskiRussiaAnna Fali UNQUALIFIED
Aika R AmigonArgentinaAnna Fali RENEWAL
Jeanfrancois T CampainFranceStephen Shaw QUALIFIED
Octavia K CampainAustraliaAmy Elsner RENEWAL
Tony S MaletAustraliaElwin Sharvill NEW
Mayumi H InouyeIndiaElwin Sharvill RENEWAL
Aditya I PaprockiUnited KingdomAmy Elsner PROPOSAL
Emily I DilliardFranceXuxue Feng UNQUALIFIED
Nicolas Q ButtAustraliaOnyama Limba PROPOSAL
David D ButtFranceAnna Fali NEW
Chavez P PaprockiArgentinaIvan Magalhaes NEW
Stacey H BologniaFranceElwin Sharvill RENEWAL
Murillo J SergiItalyIoni Bowcher UNQUALIFIED
Aruna U InouyeUnited KingdomAsiya Javayant QUALIFIED
Antonio I GlickArgentinaXuxue Feng NEGOTIATION
Mujtaba N SaylorsRussiaBernardo Dominic PROPOSAL
Maisha E InouyeJapanAsiya Javayant NEW
Clifford A KuskoSpainAmy Elsner QUALIFIED
Munro V OstroskyCanadaXuxue Feng NEW
Wickens Y SaylorsArgentinaAnna Fali NEGOTIATION
Octavia R WhobreyAustraliaOnyama Limba RENEWAL
Greenwood N PoquetteFranceOnyama Limba NEGOTIATION
Munro M GillianJapanIvan Magalhaes NEGOTIATION
Aika K CaudyUnited KingdomIoni Bowcher PROPOSAL
Adams X GillianRussiaBernardo Dominic PROPOSAL
Jennifer Z WaycottIndiaStephen Shaw NEGOTIATION
Antonio Y StockhamCanadaXuxue Feng RENEWAL
Morrow F VenereAustraliaAmy Elsner QUALIFIED
Julie E PerinRussiaStephen Shaw UNQUALIFIED
Juan I MarrierJapanElwin Sharvill UNQUALIFIED
Mujtaba U AmigonFranceIvan Magalhaes UNQUALIFIED
Ashley V AlbaresRussiaAsiya Javayant QUALIFIED
Octavia L BologniaAustraliaOnyama Limba RENEWAL
Jefferson U SaylorsAustraliaAnna Fali RENEWAL
Arvin Q MarrierArgentinaElwin Sharvill NEGOTIATION
Jennifer N SaylorsIndiaIvan Magalhaes NEW
Misaki U SaylorsIndiaIvan Magalhaes NEGOTIATION
Leon W ButtSpainBernardo Dominic QUALIFIED
Misaki E InouyeItalyOnyama Limba NEW
Smith X GarufiBrazilOnyama Limba PROPOSAL
Stacey D KuskoGermanyIoni Bowcher UNQUALIFIED
Aruna L DoeCanadaAnna Fali NEW
Claire Z MacleadCanadaAsiya Javayant NEW
Mujtaba E RimFranceIoni Bowcher NEGOTIATION
Jeanfrancois U FerenczItalyOnyama Limba QUALIFIED
Wickens K MacleadRussiaAnna Fali PROPOSAL
Antonio Q FlosiItalyXuxue Feng RENEWAL
Adams K OldroydItalyIoni Bowcher NEW
Chavez M BowleyUnited KingdomBernardo Dominic NEGOTIATION
Jefferson S NestleFranceIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba J InouyeGermanyIoni Bowcher NEGOTIATION
Aditya U AlbaresAustraliaStephen Shaw RENEWAL
Kaitlin M MacleadUnited KingdomAmy Elsner NEGOTIATION
Wickens P CaudyArgentinaAmy Elsner NEW
Leja B MaletRussiaAnna Fali QUALIFIED
Clifford G GillianCanadaBernardo Dominic QUALIFIED
Murillo U AmigonRussiaIvan Magalhaes NEW
Clifford N OstroskyJapanIoni Bowcher QUALIFIED
Isabel J PerinIndiaBernardo Dominic NEGOTIATION
Francesco W RoysterJapanOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois Q BriddickCanada2026-09-28Benton, John B Jr NEW5Onyama Limba
1001Ivar D KolmetzArgentina2026-09-12Feiner Bros QUALIFIED35Stephen Shaw
1002Cody K CampainGermany2026-09-17Printing Dimensions RENEWAL0Ivan Magalhaes
1003Antonio Q DilliardGermany2026-09-10Rangoni Of Florence RENEWAL96Ivan Magalhaes
1004Maria G ButtUnited Kingdom2026-10-02Rangoni Of Florence NEGOTIATION95Bernardo Dominic
1005Ricardo H FollerBrazil2026-09-28Chapman, Ross E Esq RENEWAL41Onyama Limba
1006Arvin E VenereAustralia2026-09-24Feltz Printing Service QUALIFIED45Bernardo Dominic
1007Nicolas B MarrierFrance2026-09-22Chanay, Jeffrey A Esq NEGOTIATION53Stephen Shaw
1008Faith U NickaGermany2026-09-29Morlong Associates PROPOSAL21Ioni Bowcher
1009Julie K PoquetteRussia2026-09-09Rangoni Of Florence QUALIFIED85Onyama Limba
1010Tony Z PoquetteCanada2026-09-10Feltz Printing Service PROPOSAL43Ivan Magalhaes
1011Chavez O MaletRussia2026-09-12Buckley Miller Wright RENEWAL25Ivan Magalhaes
1012Morrow U SchemmerIndia2026-09-30Dorl, James J Esq NEW11Xuxue Feng
1013Greenwood S BologniaItaly2026-09-30Chemel, James L Cpa RENEWAL56Xuxue Feng
1014Wickens B MaletGermany2026-10-06Benton, John B Jr RENEWAL49Xuxue Feng
1015Kadeem Q VocelkaItaly2026-09-12Benton, John B Jr RENEWAL39Ivan Magalhaes
1016Aruna F FerenczSpain2026-09-26Morlong Associates QUALIFIED14Asiya Javayant
1017Faith S OstroskyAustralia2026-10-02Commercial Press NEGOTIATION44Ivan Magalhaes
1018Jefferson Q RimArgentina2026-09-28Chapman, Ross E Esq QUALIFIED22Anna Fali
1019Aditya B NestleArgentina2026-09-30Rangoni Of Florence NEGOTIATION44Anna Fali
1020Costa G FollerFrance2026-09-15Truhlar And Truhlar Attys NEW5Ivan Magalhaes
1021Darci P ChuiUnited Kingdom2026-09-23Feiner Bros PROPOSAL51Onyama Limba
1022Rodrigues A RimBrazil2026-10-05Rousseaux, Michael Esq QUALIFIED29Elwin Sharvill
1023Aruna N VocelkaUnited Kingdom2026-09-23Rousseaux, Michael Esq PROPOSAL50Onyama Limba
1024Alejandro F VocelkaJapan2026-09-08Rangoni Of Florence PROPOSAL32Ivan Magalhaes
1025Isabel K VenereArgentina2026-10-07Rangoni Of Florence QUALIFIED4Bernardo Dominic
1026Aditya Y CaudyFrance2026-09-19Feltz Printing Service RENEWAL75Asiya Javayant
1027Stacey I RulapaughCanada2026-09-16Rangoni Of Florence UNQUALIFIED52Ivan Magalhaes
1028Salvatore A RoysterJapan2026-09-25King, Christopher A Esq NEGOTIATION42Bernardo Dominic
1029Leon S VenereUnited Kingdom2026-09-19Chemel, James L Cpa UNQUALIFIED2Onyama Limba
1030Aditya Z PaprockiSpain2026-09-12Chapman, Ross E Esq UNQUALIFIED45Onyama Limba
1031Arvin F CaldareraArgentina2026-09-18Buckley Miller Wright RENEWAL98Ioni Bowcher
1032Maisha E OldroydIndia2026-10-01Chemel, James L Cpa NEGOTIATION15Bernardo Dominic
1033Faith L NestleIndia2026-09-17Rousseaux, Michael Esq NEW25Onyama Limba
1034Silvio Y CampainIndia2026-10-04King, Christopher A Esq UNQUALIFIED43Anna Fali
1035Maisha G FlosiItaly2026-09-24Printing Dimensions QUALIFIED3Ivan Magalhaes
1036Mujtaba P KolmetzFrance2026-10-04Truhlar And Truhlar Attys NEGOTIATION57Stephen Shaw
1037Isabel J MacleadUnited Kingdom2026-09-13Truhlar And Truhlar Attys QUALIFIED26Ivan Magalhaes
1038Salvatore E SlusarskiSpain2026-09-27King, Christopher A Esq UNQUALIFIED97Ivan Magalhaes
1039Faith W CaldareraFrance2026-09-30Printing Dimensions UNQUALIFIED92Bernardo Dominic
1040Rodrigues O RutaGermany2026-09-10Chapman, Ross E Esq UNQUALIFIED60Amy Elsner
1041Smith F IturbideJapan2026-09-16Printing Dimensions QUALIFIED71Bernardo Dominic
1042Jeanfrancois G ChuiItaly2026-10-02Printing Dimensions NEW21Xuxue Feng
1043Sinclair O GlickIndia2026-10-01Morlong Associates UNQUALIFIED5Asiya Javayant
1044David J GarufiBrazil2026-09-13Chemel, James L Cpa QUALIFIED75Stephen Shaw
1045Ricardo E PerinIndia2026-09-09Chanay, Jeffrey A Esq RENEWAL85Stephen Shaw
1046Greenwood U MaletBrazil2026-09-23Truhlar And Truhlar Attys NEGOTIATION39Onyama Limba
1047Claire E RimSpain2026-09-29Commercial Press RENEWAL58Onyama Limba
1048Deepesh O MorascaRussia2026-09-24Rangoni Of Florence RENEWAL28Elwin Sharvill
1049Ricardo W InouyeJapan2026-09-17Buckley Miller Wright QUALIFIED18Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jennifer P SaylorsBrazilStephen Shaw QUALIFIED
Mayumi E RutaCanadaAnna Fali NEGOTIATION
Morrow S GillianBrazilAnna Fali PROPOSAL
David H NickaCanadaOnyama Limba UNQUALIFIED
Nicolas P PoquetteBrazilXuxue Feng PROPOSAL
Wickens Z InouyeItalyAnna Fali UNQUALIFIED
Murillo H MaletRussiaBernardo Dominic NEGOTIATION
Johnson P AlbaresRussiaBernardo Dominic NEGOTIATION
Arvin E MacleadAustraliaStephen Shaw NEW
Nicolas S GlickItalyElwin Sharvill UNQUALIFIED
Alejandro F CampainIndiaIvan Magalhaes RENEWAL
Jeanfrancois T BowleyRussiaBernardo Dominic QUALIFIED
Faith W GarufiIndiaStephen Shaw PROPOSAL
Leja F DilliardAustraliaOnyama Limba NEGOTIATION
Darci T RimCanadaAnna Fali NEGOTIATION
Ivar U WhobreyFranceAnna Fali PROPOSAL
Smith H StockhamAustraliaElwin Sharvill NEGOTIATION
Aika F AmigonIndiaOnyama Limba RENEWAL
Deepesh T PoquetteFranceAsiya Javayant QUALIFIED
Misaki R RimItalyAmy Elsner NEW
Claire I GillianItalyXuxue Feng UNQUALIFIED
Julie N VenereIndiaIoni Bowcher NEGOTIATION
Rodrigues O DoeSpainAmy Elsner QUALIFIED
Faith C SergiUnited KingdomOnyama Limba NEGOTIATION
Cody O TollnerBrazilIoni Bowcher PROPOSAL
Faith D DarakjyArgentinaAnna Fali PROPOSAL
Clifford X MarrierJapanIvan Magalhaes UNQUALIFIED
Ashley L MacleadIndiaOnyama Limba NEGOTIATION
Cody V AlbaresAustraliaAnna Fali UNQUALIFIED
Clifford H PerinAustraliaAsiya Javayant RENEWAL
Deepesh A WhobreyJapanAmy Elsner UNQUALIFIED
Jennifer W SaylorsJapanElwin Sharvill RENEWAL
Ivar J MacleadGermanyBernardo Dominic NEGOTIATION
Mayumi F SaylorsJapanOnyama Limba RENEWAL
Clifford R DoeGermanyElwin Sharvill NEGOTIATION
Juan L MaletAustraliaAsiya Javayant NEW
Isabel O BriddickUnited KingdomOnyama Limba UNQUALIFIED
Deepesh S BologniaIndiaAmy Elsner NEW
Kadeem J GillianBrazilIoni Bowcher UNQUALIFIED
Izzy U RoysterIndiaIvan Magalhaes PROPOSAL
Darci G WaycottCanadaAsiya Javayant NEGOTIATION
Ricardo C InouyeCanadaIvan Magalhaes RENEWAL
Aika S SaylorsItalyBernardo Dominic PROPOSAL
Greenwood Y RulapaughJapanIvan Magalhaes QUALIFIED
Leon U CaudyIndiaAnna Fali RENEWAL
Kaitlin C GauchoCanadaAnna Fali UNQUALIFIED
David B ButtRussiaOnyama Limba RENEWAL
Smith Z BriddickJapanAmy Elsner NEGOTIATION
Mayumi I BologniaIndiaAnna Fali PROPOSAL
Juan Q DoeRussiaOnyama Limba PROPOSAL
Frozen Columns
Name
Cody Z Ostrosky
Murillo R Royster
Alejandro G Sergi
Alejandro Q Iturbide
James A Poquette
Julie I Marrier
Mujtaba Y Garufi
Jeanfrancois R Foller
Johnson G Bolognia
Stacey O Iturbide
David E Rim
Alejandro G Bolognia
Jennifer S Ruta
Emily W Kolmetz
Octavia G Figeroa
Faith H Maclead
Munro W Albares
Ashley C Venere
Faith D Foller
Faith B Garufi
Izzy C Saylors
Emily E Dilliard
Ivar P Flosi
Aditya X Ferencz
Ivar Z Kusko
Faith J Schemmer
Mujtaba I Briddick
Clifford S Saylors
Stacey C Inouye
Ricardo G Caldarera
Smith F Chui
Jeanfrancois D Caudy
Ricardo E Dilliard
Adams K Vocelka
Antonio T Ostrosky
Wickens S Ferencz
Jeanfrancois W Dilliard
Aruna D Nestle
Julie O Butt
Smith M Ruta
Wickens X Glick
Ricardo Q Whobrey
Julie Y Wieser
Sinclair I Kusko
Costa Y Nestle
Leon Z Figeroa
Darci N Sergi
Maisha T Perin
Ashley J Nicka
Kadeem B Albares
IdCountryDate
1000France2026-09-30
1001Italy2026-09-08
1002India2026-09-27
1003Japan2026-09-28
1004Australia2026-09-25
1005United Kingdom2026-10-01
1006Italy2026-09-19
1007Japan2026-09-27
1008Russia2026-09-28
1009Argentina2026-09-21
1010Italy2026-10-02
1011Brazil2026-09-19
1012Russia2026-09-09
1013Brazil2026-09-29
1014Germany2026-10-05
1015France2026-09-26
1016Russia2026-09-16
1017Canada2026-10-06
1018France2026-09-24
1019Canada2026-09-29
1020India2026-10-06
1021India2026-09-10
1022Russia2026-09-15
1023Brazil2026-09-18
1024Australia2026-10-05
1025Australia2026-09-26
1026Spain2026-09-28
1027Japan2026-09-26
1028Japan2026-09-14
1029Russia2026-09-11
1030United Kingdom2026-09-22
1031Canada2026-10-06
1032Italy2026-09-25
1033Japan2026-10-03
1034Australia2026-10-03
1035Argentina2026-09-22
1036Japan2026-09-27
1037Australia2026-09-26
1038Russia2026-10-05
1039France2026-10-06
1040United Kingdom2026-09-29
1041Italy2026-09-19
1042Germany2026-09-17
1043Canada2026-10-01
1044Japan2026-09-28
1045Canada2026-10-07
1046India2026-09-23
1047Germany2026-09-30
1048United Kingdom2026-09-13
1049Australia2026-09-10

On-Demand Data

NameIdCountryDate
Costa N Tollner1000Canada2026-10-03
Maria L Campain1001India2026-09-30
Munro R Stockham1002Brazil2026-09-20
Leon U Tollner1003Italy2026-09-20
Misaki N Marrier1004France2026-10-03
Antonio P Gillian1005India2026-09-14
Jeanfrancois O Caudy1006France2026-09-14
Rodrigues T Ferencz1007Canada2026-10-06
Smith N Royster1008Australia2026-10-02
Ricardo E Shinko1009Brazil2026-09-16
Ricardo U Kusko1010Spain2026-09-08
Adams P Waycott1011Canada2026-09-21
Jennifer C Kolmetz1012Canada2026-10-05
Misaki D Amigon1013Russia2026-09-08
Isabel O Iturbide1014Italy2026-09-20
Arvin H Inouye1015France2026-09-14
Julie W Chui1016Italy2026-09-16
James J Oldroyd1017United Kingdom2026-09-10
Aruna B Bolognia1018Japan2026-09-08
Chavez Q Slusarski1019France2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha M PoquetteAustraliaElwin Sharvill NEW
Greenwood B WieserGermanyStephen Shaw QUALIFIED
Ricardo H AmigonJapanOnyama Limba NEGOTIATION
Munro M DoeSpainOnyama Limba NEGOTIATION
Arvin R MaletGermanyXuxue Feng NEW
Jefferson N VenereItalyAnna Fali RENEWAL
Silvio H RimSpainIvan Magalhaes NEW
Ricardo X ButtGermanyBernardo Dominic QUALIFIED
Adams T WaycottItalyIoni Bowcher PROPOSAL
Aika S VenereIndiaAmy Elsner RENEWAL
Claire H RimBrazilAnna Fali UNQUALIFIED
Murillo T VenereGermanyStephen Shaw NEGOTIATION
Mayumi T CaudyArgentinaStephen Shaw RENEWAL
Octavia P OstroskyGermanyAmy Elsner NEGOTIATION
Wickens P CampainGermanyElwin Sharvill NEW
Tony E SergiRussiaAsiya Javayant UNQUALIFIED
Mujtaba U TollnerUnited KingdomAsiya Javayant NEW
Aruna Z OstroskySpainAsiya Javayant NEGOTIATION
Maisha Y KolmetzIndiaOnyama Limba PROPOSAL
Claire P AmigonSpainXuxue Feng RENEWAL
Jefferson K GillianRussiaStephen Shaw UNQUALIFIED
Clifford G PaprockiRussiaAsiya Javayant RENEWAL
Sinclair K ButtJapanElwin Sharvill QUALIFIED
Rodrigues Y ShinkoBrazilOnyama Limba RENEWAL
Tony U RoysterFranceIvan Magalhaes QUALIFIED
Silvio E ShinkoItalyAsiya Javayant RENEWAL
Deepesh M RulapaughUnited KingdomStephen Shaw RENEWAL
Tony K ChuiBrazilXuxue Feng NEW
Kaitlin W CaldareraAustraliaAsiya Javayant UNQUALIFIED
Kadeem R SergiSpainStephen Shaw RENEWAL
Murillo K CampainIndiaAmy Elsner QUALIFIED
Tony A FerenczGermanyXuxue Feng QUALIFIED
Kadeem R InouyeArgentinaAmy Elsner NEW
Isabel M ButtIndiaAsiya Javayant NEGOTIATION
Mujtaba D FerenczRussiaAsiya Javayant NEW
Smith B MaletBrazilStephen Shaw PROPOSAL
Costa S AmigonBrazilIvan Magalhaes NEW
Jefferson Q GauchoRussiaBernardo Dominic QUALIFIED
Izzy T FollerFranceBernardo Dominic UNQUALIFIED
Claire L OldroydRussiaBernardo Dominic 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>