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
Aditya P PaprockiGermanyIvan Magalhaes UNQUALIFIED
Izzy H GauchoFranceElwin Sharvill NEW
Rodrigues R GlickJapanOnyama Limba RENEWAL
Silvio F GillianArgentinaBernardo Dominic UNQUALIFIED
Cody Y MacleadCanadaBernardo Dominic QUALIFIED
Maria E CaudyIndiaAnna Fali QUALIFIED
Sinclair G ShinkoGermanyStephen Shaw RENEWAL
Alejandro T KuskoArgentinaAsiya Javayant PROPOSAL
Johnson A BriddickUnited KingdomAmy Elsner NEW
Aditya U MaletAustraliaXuxue Feng NEGOTIATION
Maisha M SergiArgentinaElwin Sharvill RENEWAL
Sinclair Z OldroydArgentinaAsiya Javayant PROPOSAL
David A VenereIndiaIoni Bowcher UNQUALIFIED
Morrow M PoquetteGermanyXuxue Feng PROPOSAL
Tony L SchemmerRussiaAmy Elsner UNQUALIFIED
Jones W KolmetzFranceIvan Magalhaes PROPOSAL
Antonio H DarakjyGermanyStephen Shaw QUALIFIED
Deepesh X PaprockiItalyOnyama Limba NEGOTIATION
Alejandro V RutaBrazilAsiya Javayant NEW
Silvio C AmigonSpainOnyama Limba UNQUALIFIED
Clifford G CaldareraSpainAsiya Javayant RENEWAL
Octavia W IturbideBrazilAsiya Javayant NEGOTIATION
Julie M FigeroaItalyAsiya Javayant NEW
Jones Y WaycottFranceXuxue Feng RENEWAL
Faith S GlickCanadaStephen Shaw NEGOTIATION
Octavia H GarufiJapanStephen Shaw NEGOTIATION
Jennifer P GillianItalyBernardo Dominic RENEWAL
Misaki M VenereJapanBernardo Dominic NEGOTIATION
Jefferson P VenereBrazilAnna Fali NEGOTIATION
Ricardo N BowleyRussiaElwin Sharvill UNQUALIFIED
Johnson V MorascaFranceOnyama Limba RENEWAL
Kaitlin H GarufiSpainOnyama Limba NEGOTIATION
Izzy N KuskoCanadaBernardo Dominic NEGOTIATION
Murillo I OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Claire N OldroydGermanyIvan Magalhaes UNQUALIFIED
Faith Z ButtCanadaElwin Sharvill RENEWAL
Julie A MarrierIndiaAmy Elsner QUALIFIED
Murillo I InouyeIndiaAmy Elsner NEGOTIATION
Smith W DarakjyCanadaIvan Magalhaes QUALIFIED
Greenwood Q TollnerRussiaStephen Shaw NEGOTIATION
Misaki H MaletIndiaIvan Magalhaes NEGOTIATION
Maisha D BriddickIndiaBernardo Dominic PROPOSAL
Aditya G RoysterRussiaXuxue Feng PROPOSAL
Ivar N TollnerUnited KingdomOnyama Limba UNQUALIFIED
Wickens B VocelkaRussiaIoni Bowcher NEW
Maisha K BowleyRussiaBernardo Dominic NEW
Deepesh M PaprockiIndiaXuxue Feng NEGOTIATION
Costa V BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson P WhobreyItalyOnyama Limba NEGOTIATION
Stacey V MorascaFranceOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Leja M FlosiBrazilAsiya Javayant UNQUALIFIED
Silvio G SaylorsRussiaAmy Elsner QUALIFIED
Jeanfrancois K MaletBrazilAsiya Javayant NEW
Sinclair K SlusarskiFranceIvan Magalhaes RENEWAL
James X CaudySpainStephen Shaw PROPOSAL
Darci J AmigonRussiaStephen Shaw UNQUALIFIED
Sinclair S WaycottJapanStephen Shaw RENEWAL
Kaitlin J PaprockiAustraliaAsiya Javayant RENEWAL
Deepesh I SchemmerGermanyBernardo Dominic UNQUALIFIED
Isabel B MorascaCanadaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh L AmigonJapan2026-09-24Printing Dimensions PROPOSAL8Ioni Bowcher
1001Jefferson O SergiIndia2026-09-22Benton, John B Jr UNQUALIFIED50Anna Fali
1002Ricardo S ButtIndia2026-10-12Chemel, James L Cpa NEGOTIATION52Stephen Shaw
1003Maisha Z GarufiCanada2026-09-27Chapman, Ross E Esq PROPOSAL51Ioni Bowcher
1004Antonio H GauchoCanada2026-10-14Commercial Press NEW47Elwin Sharvill
1005Kaitlin L MorascaArgentina2026-10-13Morlong Associates RENEWAL37Onyama Limba
1006Mayumi D CampainSpain2026-09-27Chanay, Jeffrey A Esq RENEWAL46Ivan Magalhaes
1007Aika J KolmetzAustralia2026-10-14King, Christopher A Esq QUALIFIED58Anna Fali
1008Silvio N SergiAustralia2026-10-04Printing Dimensions UNQUALIFIED68Bernardo Dominic
1009Munro D PoquetteIndia2026-10-17Feiner Bros QUALIFIED46Amy Elsner
1010Greenwood H CampainSpain2026-09-23Rangoni Of Florence PROPOSAL75Asiya Javayant
1011Emily E RoysterIndia2026-10-18Chanay, Jeffrey A Esq NEW1Asiya Javayant
1012Clifford W CaldareraGermany2026-09-27Morlong Associates NEW70Asiya Javayant
1013Emily M BriddickBrazil2026-10-20Benton, John B Jr RENEWAL29Amy Elsner
1014David B OldroydItaly2026-10-21Chemel, James L Cpa NEGOTIATION90Xuxue Feng
1015Jefferson A SchemmerItaly2026-09-25Printing Dimensions QUALIFIED48Stephen Shaw
1016Misaki G WieserJapan2026-10-12Morlong Associates NEGOTIATION36Stephen Shaw
1017Kaitlin F DilliardIndia2026-10-06Feltz Printing Service NEW11Bernardo Dominic
1018Sinclair Z PerinItaly2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED56Amy Elsner
1019Smith J MaletBrazil2026-09-24Rousseaux, Michael Esq PROPOSAL1Bernardo Dominic
1020Maria C ShinkoSpain2026-10-01Chanay, Jeffrey A Esq UNQUALIFIED42Ioni Bowcher
1021Munro K CampainFrance2026-10-17Rangoni Of Florence QUALIFIED33Amy Elsner
1022Kadeem S OldroydIndia2026-10-12Morlong Associates NEGOTIATION97Stephen Shaw
1023Aika S GarufiGermany2026-10-16Morlong Associates NEW23Ioni Bowcher
1024Claire C OldroydIndia2026-09-22Buckley Miller Wright RENEWAL80Amy Elsner
1025Morrow U WaycottAustralia2026-10-20Dorl, James J Esq NEGOTIATION90Onyama Limba
1026Chavez H CaldareraCanada2026-09-26Commercial Press PROPOSAL44Stephen Shaw
1027Ivar N OldroydFrance2026-10-02King, Christopher A Esq PROPOSAL21Xuxue Feng
1028Tony D MaletUnited Kingdom2026-09-23Rangoni Of Florence QUALIFIED45Bernardo Dominic
1029Murillo S VenereUnited Kingdom2026-10-15Rousseaux, Michael Esq RENEWAL98Xuxue Feng
1030Murillo V DarakjyJapan2026-10-02Dorl, James J Esq NEGOTIATION85Anna Fali
1031David L SchemmerArgentina2026-10-10Benton, John B Jr QUALIFIED33Ioni Bowcher
1032Greenwood G ChuiUnited Kingdom2026-10-17King, Christopher A Esq UNQUALIFIED17Xuxue Feng
1033Emily E WhobreySpain2026-10-08Morlong Associates UNQUALIFIED56Ivan Magalhaes
1034Aditya S GarufiRussia2026-10-03Morlong Associates QUALIFIED35Elwin Sharvill
1035Johnson X InouyeSpain2026-10-16Rousseaux, Michael Esq UNQUALIFIED28Stephen Shaw
1036Arvin B BriddickRussia2026-10-19Buckley Miller Wright QUALIFIED3Amy Elsner
1037Isabel O VocelkaItaly2026-10-04Buckley Miller Wright NEGOTIATION39Ivan Magalhaes
1038Jennifer M ChuiSpain2026-10-08Rousseaux, Michael Esq NEW94Ioni Bowcher
1039Greenwood Y SaylorsBrazil2026-10-16Rousseaux, Michael Esq NEGOTIATION54Elwin Sharvill
1040Ashley O SaylorsBrazil2026-10-06Rangoni Of Florence UNQUALIFIED17Ioni Bowcher
1041Ricardo G BowleyBrazil2026-09-26Benton, John B Jr NEGOTIATION28Xuxue Feng
1042James O CaudyBrazil2026-10-15Rousseaux, Michael Esq NEGOTIATION85Ioni Bowcher
1043Isabel P ShinkoUnited Kingdom2026-10-08Chemel, James L Cpa QUALIFIED52Stephen Shaw
1044Misaki B SlusarskiFrance2026-10-01Rousseaux, Michael Esq NEGOTIATION87Stephen Shaw
1045Morrow Q CampainJapan2026-10-06Benton, John B Jr QUALIFIED50Onyama Limba
1046Claire G DarakjyIndia2026-10-07Rousseaux, Michael Esq UNQUALIFIED85Xuxue Feng
1047Cody Y TollnerJapan2026-10-11Morlong Associates NEW0Stephen Shaw
1048Antonio H BowleySpain2026-09-27Dorl, James J Esq RENEWAL94Xuxue Feng
1049Rodrigues X CampainItaly2026-10-20Rousseaux, Michael Esq QUALIFIED57Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Faith H RulapaughIndiaAmy Elsner RENEWAL
David X BowleyJapanIvan Magalhaes UNQUALIFIED
Claire T RimArgentinaBernardo Dominic QUALIFIED
Salvatore S RoysterArgentinaBernardo Dominic NEW
Juan H FlosiSpainAsiya Javayant QUALIFIED
Arvin A WhobreyIndiaBernardo Dominic NEW
Deepesh V DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Salvatore N AlbaresAustraliaOnyama Limba UNQUALIFIED
Emily I FollerJapanAsiya Javayant QUALIFIED
Adams F PaprockiBrazilElwin Sharvill QUALIFIED
Johnson U NestleArgentinaAnna Fali UNQUALIFIED
Rodrigues K NickaBrazilAnna Fali PROPOSAL
Stacey Z CampainBrazilXuxue Feng RENEWAL
Jeanfrancois A StockhamRussiaXuxue Feng RENEWAL
Deepesh Q AmigonRussiaStephen Shaw UNQUALIFIED
Jones P PoquetteFranceAmy Elsner UNQUALIFIED
Leja V SergiArgentinaAmy Elsner QUALIFIED
Kaitlin Q BriddickJapanElwin Sharvill PROPOSAL
Izzy F SchemmerSpainOnyama Limba NEW
Munro B SaylorsArgentinaOnyama Limba QUALIFIED
Clifford B SergiGermanyOnyama Limba RENEWAL
Maisha O TollnerFranceOnyama Limba QUALIFIED
Leon J PoquetteBrazilAmy Elsner UNQUALIFIED
Isabel H GauchoRussiaElwin Sharvill UNQUALIFIED
Jones E AlbaresFranceXuxue Feng RENEWAL
David H WaycottAustraliaIoni Bowcher RENEWAL
Jeanfrancois I MacleadGermanyElwin Sharvill NEW
Aika I CampainCanadaAmy Elsner NEW
Kaitlin N OstroskyArgentinaBernardo Dominic QUALIFIED
Murillo J CaudyRussiaAmy Elsner NEGOTIATION
Claire U FollerAustraliaAmy Elsner NEW
Mujtaba Q DoeIndiaIoni Bowcher NEGOTIATION
Juan K ChuiJapanBernardo Dominic NEW
Clifford P SergiGermanyIoni Bowcher UNQUALIFIED
Alejandro H KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh V MaletSpainAnna Fali RENEWAL
Kadeem J InouyeAustraliaIvan Magalhaes PROPOSAL
Adams P BowleyAustraliaAsiya Javayant RENEWAL
Octavia W VocelkaItalyAsiya Javayant UNQUALIFIED
Kadeem V MaletFranceElwin Sharvill QUALIFIED
Claire T FlosiFranceElwin Sharvill NEGOTIATION
Jennifer H ChuiJapanAnna Fali UNQUALIFIED
Francesco J GauchoAustraliaAmy Elsner NEW
Jones H FollerIndiaElwin Sharvill UNQUALIFIED
Stacey M SergiJapanXuxue Feng RENEWAL
Aruna N GillianCanadaElwin Sharvill UNQUALIFIED
Claire R FerenczCanadaIvan Magalhaes QUALIFIED
Ricardo Z RutaArgentinaStephen Shaw PROPOSAL
Juan T VocelkaGermanyIoni Bowcher NEGOTIATION
Juan X RutaJapanStephen Shaw NEGOTIATION
Frozen Columns
Name
Juan U Rulapaugh
Chavez F Tollner
Leja H Garufi
Aditya R Venere
Leja S Nestle
Jefferson E Glick
Clifford T Saylors
Ivar G Morasca
Jones N Kusko
Rodrigues O Waycott
Leon I Nicka
Jefferson U Paprocki
Clifford F Kolmetz
Isabel W Bolognia
Jennifer R Slusarski
Wickens N Vocelka
Maria O Paprocki
Antonio S Stockham
Leon I Inouye
Tony S Marrier
Clifford H Waycott
Nicolas Q Garufi
Leon L Nicka
Murillo Y Waycott
Alejandro D Chui
Rodrigues C Malet
Mayumi H Morasca
Wickens W Perin
James P Stockham
Deepesh O Slusarski
Faith H Wieser
Chavez W Slusarski
Mayumi A Nicka
Johnson F Ostrosky
Aditya M Stockham
Greenwood Y Schemmer
Smith T Marrier
Stacey O Gaucho
Tony O Flosi
Julie C Caudy
Leja J Gaucho
Rodrigues O Glick
Izzy B Waycott
Clifford X Slusarski
Maria F Bowley
Smith G Kolmetz
Alejandro F Inouye
Silvio Y Bowley
Leja F Marrier
Antonio M Sergi
IdCountryDate
1000Australia2026-10-15
1001Spain2026-09-27
1002United Kingdom2026-10-18
1003United Kingdom2026-10-04
1004India2026-10-08
1005Brazil2026-10-18
1006France2026-10-17
1007Spain2026-10-08
1008Italy2026-10-12
1009United Kingdom2026-09-28
1010Japan2026-10-15
1011Spain2026-10-01
1012Canada2026-10-09
1013Argentina2026-10-01
1014Japan2026-10-14
1015Brazil2026-10-09
1016Brazil2026-10-01
1017United Kingdom2026-10-06
1018Japan2026-10-03
1019India2026-10-19
1020Spain2026-10-15
1021Canada2026-10-10
1022France2026-10-04
1023France2026-10-07
1024France2026-10-08
1025United Kingdom2026-09-22
1026Brazil2026-10-19
1027Russia2026-09-24
1028Brazil2026-10-01
1029Argentina2026-10-06
1030United Kingdom2026-09-25
1031Argentina2026-09-22
1032Germany2026-10-17
1033India2026-10-18
1034Russia2026-10-16
1035Japan2026-09-30
1036Brazil2026-09-23
1037Japan2026-10-15
1038India2026-09-22
1039Russia2026-10-20
1040Japan2026-10-02
1041United Kingdom2026-10-02
1042Canada2026-10-01
1043Germany2026-09-28
1044Australia2026-10-16
1045Spain2026-10-16
1046Japan2026-10-09
1047United Kingdom2026-10-21
1048Russia2026-09-30
1049Canada2026-10-07

On-Demand Data

NameIdCountryDate
Smith M Amigon1000United Kingdom2026-10-03
Antonio M Shinko1001Russia2026-09-25
Murillo R Wieser1002India2026-09-26
Faith C Oldroyd1003France2026-10-21
Deepesh A Nicka1004Australia2026-10-06
Jeanfrancois S Wieser1005Spain2026-10-08
Claire S Rulapaugh1006Japan2026-09-29
Darci Y Nicka1007Russia2026-10-03
Tony N Slusarski1008France2026-09-22
Leja A Stenseth1009United Kingdom2026-10-12
Munro U Gillian1010Canada2026-10-15
Aditya Q Amigon1011Canada2026-10-05
Salvatore D Slusarski1012India2026-09-25
Greenwood I Butt1013Germany2026-09-30
Nicolas Z Rulapaugh1014Germany2026-10-10
Aruna B Bolognia1015India2026-09-22
Nicolas G Saylors1016Germany2026-09-22
Emily J Royster1017Brazil2026-10-17
Jeanfrancois Z Vocelka1018India2026-10-11
Salvatore V Maclead1019Japan2026-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Q GillianIndiaIoni Bowcher NEGOTIATION
David U MaletGermanyElwin Sharvill QUALIFIED
Juan Y SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Leon F DoeBrazilOnyama Limba QUALIFIED
Jennifer E RutaJapanXuxue Feng NEW
Costa F OldroydJapanStephen Shaw NEW
Ricardo F NickaRussiaAmy Elsner NEGOTIATION
Mujtaba H ButtAustraliaAmy Elsner QUALIFIED
Faith P OstroskyIndiaAsiya Javayant PROPOSAL
Aditya O GillianFranceAsiya Javayant PROPOSAL
Leja C RoysterArgentinaIoni Bowcher PROPOSAL
Mujtaba K BologniaJapanIvan Magalhaes NEGOTIATION
Darci K GillianArgentinaAmy Elsner QUALIFIED
Antonio H KuskoAustraliaAnna Fali UNQUALIFIED
Deepesh P AlbaresCanadaIvan Magalhaes UNQUALIFIED
Munro K InouyeIndiaXuxue Feng PROPOSAL
Jefferson F SchemmerSpainBernardo Dominic NEGOTIATION
Jones B DarakjyBrazilAsiya Javayant NEGOTIATION
Munro E SaylorsItalyAmy Elsner NEW
Ashley C GauchoRussiaAsiya Javayant NEW
Nicolas C FollerJapanAnna Fali PROPOSAL
Aditya E PoquetteAustraliaIvan Magalhaes QUALIFIED
Greenwood M GauchoIndiaXuxue Feng PROPOSAL
Ashley N PerinUnited KingdomAsiya Javayant QUALIFIED
Isabel W NickaIndiaXuxue Feng NEGOTIATION
Alejandro S GauchoFranceAnna Fali UNQUALIFIED
Mayumi O GillianAustraliaBernardo Dominic RENEWAL
James X WieserUnited KingdomBernardo Dominic QUALIFIED
James Y NestleIndiaIvan Magalhaes UNQUALIFIED
Izzy C SaylorsUnited KingdomIoni Bowcher NEW
Kaitlin X ButtBrazilBernardo Dominic NEGOTIATION
Silvio S SaylorsRussiaIoni Bowcher QUALIFIED
Juan Z MacleadAustraliaXuxue Feng UNQUALIFIED
Jones I CaudySpainElwin Sharvill UNQUALIFIED
Alejandro X FlosiIndiaIvan Magalhaes QUALIFIED
Jennifer K WaycottSpainXuxue Feng NEW
Kadeem F SaylorsItalyIoni Bowcher RENEWAL
Stacey L GlickArgentinaXuxue Feng PROPOSAL
Jennifer Z RutaArgentinaAsiya Javayant RENEWAL
Leon F DarakjySpainBernardo Dominic QUALIFIED

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