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
Greenwood J FerenczGermanyAmy Elsner NEW
James R KuskoItalyAsiya Javayant RENEWAL
Ivar G FlosiJapanStephen Shaw PROPOSAL
Arvin N SchemmerRussiaOnyama Limba PROPOSAL
Emily Z BriddickAustraliaStephen Shaw UNQUALIFIED
Darci F PaprockiUnited KingdomIvan Magalhaes RENEWAL
Claire Q VocelkaIndiaAnna Fali NEGOTIATION
Salvatore L DilliardItalyBernardo Dominic NEW
Darci Z CampainUnited KingdomBernardo Dominic PROPOSAL
Juan W KolmetzUnited KingdomXuxue Feng QUALIFIED
Murillo B InouyeFranceBernardo Dominic QUALIFIED
Francesco A WieserArgentinaAmy Elsner RENEWAL
Francesco L GlickCanadaAmy Elsner NEW
Faith Y ChuiRussiaAmy Elsner UNQUALIFIED
Murillo P StockhamRussiaAsiya Javayant NEW
Jennifer K FollerIndiaAmy Elsner RENEWAL
Ashley I VocelkaSpainIoni Bowcher QUALIFIED
Wickens J PerinCanadaOnyama Limba NEGOTIATION
Murillo D BowleyIndiaBernardo Dominic NEGOTIATION
Smith A CaldareraItalyStephen Shaw UNQUALIFIED
Deepesh B AmigonArgentinaOnyama Limba NEW
Munro V WieserFranceAnna Fali QUALIFIED
Johnson C RutaBrazilAnna Fali QUALIFIED
Jones N OldroydAustraliaIoni Bowcher NEGOTIATION
Chavez R RutaAustraliaXuxue Feng NEGOTIATION
Nicolas M StockhamItalyElwin Sharvill NEGOTIATION
Ivar X WieserBrazilIoni Bowcher NEGOTIATION
Clifford J CampainRussiaAmy Elsner NEW
Cody Z NickaCanadaAnna Fali PROPOSAL
Mujtaba I NestleAustraliaAsiya Javayant UNQUALIFIED
Nicolas H CaldareraCanadaElwin Sharvill NEW
David Z MarrierFranceAnna Fali RENEWAL
Adams Y TollnerAustraliaAsiya Javayant RENEWAL
Rodrigues J MarrierUnited KingdomBernardo Dominic QUALIFIED
Chavez U FlosiBrazilXuxue Feng UNQUALIFIED
Clifford J CaldareraBrazilIvan Magalhaes NEW
Claire Z DilliardAustraliaAmy Elsner UNQUALIFIED
Costa D VocelkaJapanXuxue Feng RENEWAL
Emily Q SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Stacey Z GillianCanadaAmy Elsner NEW
Sinclair S AmigonItalyAmy Elsner PROPOSAL
Murillo Z RoysterFranceIvan Magalhaes NEGOTIATION
Francesco H ShinkoItalyStephen Shaw RENEWAL
Jennifer U RutaFranceAnna Fali PROPOSAL
Ashley O SaylorsCanadaIvan Magalhaes RENEWAL
Greenwood M GillianItalyOnyama Limba NEGOTIATION
Smith G MorascaItalyBernardo Dominic UNQUALIFIED
Julie Q NickaArgentinaIvan Magalhaes NEGOTIATION
Jeanfrancois X KuskoCanadaAsiya Javayant PROPOSAL
Octavia C BriddickItalyXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois L ChuiIndiaBernardo Dominic NEW
Silvio X CaudyBrazilIoni Bowcher RENEWAL
Faith V ButtSpainBernardo Dominic NEGOTIATION
Aruna Y RimBrazilAmy Elsner QUALIFIED
James M MarrierGermanyIoni Bowcher PROPOSAL
Nicolas J ChuiFranceIoni Bowcher UNQUALIFIED
David O StockhamFranceOnyama Limba QUALIFIED
Claire P MaletUnited KingdomStephen Shaw QUALIFIED
David G KolmetzBrazilBernardo Dominic UNQUALIFIED
Antonio O MarrierUnited KingdomXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco H FlosiBrazil2026-09-12Morlong Associates NEGOTIATION49Elwin Sharvill
1001Emily M GillianJapan2026-09-29Printing Dimensions UNQUALIFIED43Ivan Magalhaes
1002James H OldroydItaly2026-09-20Buckley Miller Wright QUALIFIED76Elwin Sharvill
1003Aika X RimIndia2026-10-01King, Christopher A Esq QUALIFIED25Onyama Limba
1004Aika C InouyeBrazil2026-09-14Rousseaux, Michael Esq UNQUALIFIED71Ivan Magalhaes
1005Francesco A ButtItaly2026-09-11Truhlar And Truhlar Attys NEW78Bernardo Dominic
1006Faith N AlbaresAustralia2026-09-26Truhlar And Truhlar Attys NEW54Bernardo Dominic
1007Kadeem L CaldareraCanada2026-09-14Dorl, James J Esq RENEWAL21Onyama Limba
1008Jennifer J ChuiFrance2026-09-09King, Christopher A Esq QUALIFIED73Xuxue Feng
1009Faith P FollerCanada2026-09-29Rangoni Of Florence RENEWAL59Anna Fali
1010Maisha W SaylorsIndia2026-09-22Feltz Printing Service PROPOSAL99Ioni Bowcher
1011Jennifer G SlusarskiRussia2026-09-18Benton, John B Jr NEGOTIATION31Bernardo Dominic
1012Aika B FlosiFrance2026-09-24Buckley Miller Wright NEGOTIATION9Xuxue Feng
1013Kaitlin X PerinArgentina2026-09-27Morlong Associates PROPOSAL36Bernardo Dominic
1014Emily O SergiAustralia2026-09-22Chapman, Ross E Esq NEW30Asiya Javayant
1015Kadeem Y ButtSpain2026-09-21Chemel, James L Cpa NEGOTIATION35Onyama Limba
1016Aditya A ButtGermany2026-09-24Benton, John B Jr UNQUALIFIED88Onyama Limba
1017Claire I DoeGermany2026-09-19Buckley Miller Wright UNQUALIFIED12Stephen Shaw
1018James U CaldareraJapan2026-09-23Truhlar And Truhlar Attys QUALIFIED9Anna Fali
1019Morrow Q GlickAustralia2026-09-09Morlong Associates QUALIFIED82Elwin Sharvill
1020Sinclair J MarrierIndia2026-09-12Morlong Associates PROPOSAL17Anna Fali
1021Smith Q VocelkaSpain2026-09-29Chanay, Jeffrey A Esq NEGOTIATION48Ivan Magalhaes
1022David B BologniaItaly2026-09-19Chemel, James L Cpa NEW53Stephen Shaw
1023Murillo F NestleBrazil2026-09-30Benton, John B Jr QUALIFIED31Xuxue Feng
1024Nicolas N RoysterIndia2026-09-10Benton, John B Jr QUALIFIED22Bernardo Dominic
1025Tony X AmigonItaly2026-09-30Feiner Bros QUALIFIED32Ioni Bowcher
1026Arvin D GauchoBrazil2026-09-26Buckley Miller Wright PROPOSAL57Onyama Limba
1027Leja X WhobreyBrazil2026-09-19Truhlar And Truhlar Attys NEGOTIATION96Ivan Magalhaes
1028Alejandro P BriddickIndia2026-09-17King, Christopher A Esq UNQUALIFIED44Anna Fali
1029Izzy N MaletIndia2026-09-16Truhlar And Truhlar Attys RENEWAL50Xuxue Feng
1030Antonio Z VenereBrazil2026-09-20Printing Dimensions NEW42Stephen Shaw
1031Alejandro T StensethSpain2026-09-17Chemel, James L Cpa NEGOTIATION48Asiya Javayant
1032Costa E TollnerBrazil2026-09-18Morlong Associates PROPOSAL80Ioni Bowcher
1033Maisha V FigeroaItaly2026-09-07Printing Dimensions QUALIFIED82Amy Elsner
1034Munro H StockhamAustralia2026-09-30Printing Dimensions PROPOSAL69Onyama Limba
1035Maisha X FollerRussia2026-09-10Buckley Miller Wright RENEWAL56Ivan Magalhaes
1036Aika K MarrierJapan2026-10-02Rangoni Of Florence QUALIFIED34Stephen Shaw
1037Stacey I ButtAustralia2026-09-16Chanay, Jeffrey A Esq UNQUALIFIED58Elwin Sharvill
1038Aditya J GlickJapan2026-10-01Morlong Associates NEGOTIATION69Anna Fali
1039Mujtaba V MorascaIndia2026-09-27Feltz Printing Service NEGOTIATION9Ioni Bowcher
1040Claire M GauchoUnited Kingdom2026-09-04Chemel, James L Cpa PROPOSAL0Ioni Bowcher
1041Stacey P OldroydArgentina2026-09-05Morlong Associates PROPOSAL83Stephen Shaw
1042Greenwood D RutaUnited Kingdom2026-09-05Buckley Miller Wright PROPOSAL43Bernardo Dominic
1043Octavia X SchemmerUnited Kingdom2026-09-16Morlong Associates UNQUALIFIED77Asiya Javayant
1044Adams J FlosiCanada2026-09-18Feiner Bros QUALIFIED57Stephen Shaw
1045Johnson V InouyeItaly2026-09-23Feltz Printing Service RENEWAL63Asiya Javayant
1046Deepesh G FollerJapan2026-09-04Chanay, Jeffrey A Esq NEGOTIATION20Elwin Sharvill
1047Adams Q VenereUnited Kingdom2026-09-12Rousseaux, Michael Esq QUALIFIED82Ivan Magalhaes
1048Jefferson T OstroskySpain2026-09-05Chapman, Ross E Esq UNQUALIFIED88Onyama Limba
1049Stacey W SchemmerIndia2026-09-30Feltz Printing Service PROPOSAL99Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jennifer J RoysterJapanAsiya Javayant QUALIFIED
Aruna E MacleadGermanyBernardo Dominic PROPOSAL
Jefferson E OldroydSpainXuxue Feng NEGOTIATION
Alejandro P ButtArgentinaAmy Elsner NEW
David T FigeroaFranceAmy Elsner NEGOTIATION
Wickens Q StensethSpainIoni Bowcher PROPOSAL
Jeanfrancois L FollerUnited KingdomStephen Shaw NEGOTIATION
Arvin X DarakjyIndiaAnna Fali NEGOTIATION
Francesco O BriddickAustraliaStephen Shaw NEGOTIATION
Arvin V BowleySpainAnna Fali RENEWAL
James E FollerIndiaAmy Elsner QUALIFIED
Aruna G NestleFranceOnyama Limba PROPOSAL
David I ChuiRussiaStephen Shaw NEGOTIATION
James P RutaJapanIvan Magalhaes NEW
Aruna H CampainAustraliaOnyama Limba NEW
Mujtaba Z AlbaresAustraliaStephen Shaw UNQUALIFIED
Jefferson Z MarrierArgentinaOnyama Limba NEW
Juan X MorascaIndiaElwin Sharvill NEGOTIATION
Mujtaba L CaudyFranceOnyama Limba NEGOTIATION
Ricardo T AlbaresSpainAsiya Javayant NEW
Costa X IturbideSpainAsiya Javayant RENEWAL
Costa Z ChuiFranceXuxue Feng PROPOSAL
Jefferson L NestleGermanyIvan Magalhaes RENEWAL
Leon W FollerFranceBernardo Dominic RENEWAL
Antonio O InouyeRussiaIoni Bowcher RENEWAL
Isabel V BriddickUnited KingdomIvan Magalhaes RENEWAL
Juan N FigeroaBrazilIvan Magalhaes PROPOSAL
Ashley V VenereFranceAmy Elsner QUALIFIED
Izzy O RoysterRussiaIoni Bowcher NEGOTIATION
Juan H FerenczCanadaIvan Magalhaes RENEWAL
Stacey X DarakjyFranceAnna Fali UNQUALIFIED
Tony Z MacleadAustraliaAsiya Javayant UNQUALIFIED
Jeanfrancois I BologniaUnited KingdomStephen Shaw UNQUALIFIED
Tony G NickaSpainStephen Shaw NEW
Salvatore J TollnerBrazilXuxue Feng PROPOSAL
Tony I DilliardFranceAnna Fali NEGOTIATION
Mayumi U TollnerAustraliaXuxue Feng PROPOSAL
Deepesh W GauchoUnited KingdomBernardo Dominic PROPOSAL
Misaki R GillianIndiaStephen Shaw UNQUALIFIED
Wickens L OstroskyCanadaIvan Magalhaes PROPOSAL
Jennifer X SchemmerAustraliaXuxue Feng UNQUALIFIED
Jones Q OstroskyItalyIvan Magalhaes UNQUALIFIED
Mujtaba P OstroskyCanadaOnyama Limba UNQUALIFIED
Isabel G SergiUnited KingdomXuxue Feng NEW
Arvin U FlosiArgentinaBernardo Dominic QUALIFIED
Jeanfrancois F StensethGermanyAnna Fali RENEWAL
Smith W SaylorsSpainStephen Shaw NEW
Ricardo Q PoquetteSpainAmy Elsner PROPOSAL
Murillo I WieserIndiaAmy Elsner NEGOTIATION
Munro N MacleadBrazilIoni Bowcher NEW
Frozen Columns
Name
Aika F Butt
Arvin E Garufi
Adams V Dilliard
Morrow X Nestle
Aika D Shinko
Antonio D Gaucho
Murillo F Venere
Claire R Morasca
Maria F Stockham
Mujtaba Y Ferencz
Clifford L Stockham
Costa F Gaucho
Greenwood Q Bowley
Murillo S Schemmer
Jennifer J Darakjy
Sinclair Y Amigon
Francesco Y Dilliard
Faith T Foller
Stacey B Chui
Aditya F Flosi
Silvio W Nestle
Jefferson E Rulapaugh
Cody D Kusko
Cody H Tollner
Adams M Darakjy
Stacey K Maclead
Deepesh N Sergi
Wickens U Ruta
Antonio T Nicka
Octavia X Shinko
Deepesh O Stockham
Jennifer G Stockham
Francesco P Garufi
Greenwood Q Venere
David A Glick
Ivar K Bowley
Emily P Morasca
Tony Q Tollner
Maria E Sergi
Julie Z Maclead
Arvin C Amigon
Darci B Ferencz
Morrow N Bowley
Salvatore S Vocelka
Kadeem I Shinko
Arvin I Kusko
Alejandro A Poquette
Jennifer S Kolmetz
Murillo Q Malet
Clifford G Darakjy
IdCountryDate
1000Russia2026-09-11
1001Italy2026-09-04
1002Russia2026-09-14
1003Spain2026-09-13
1004Russia2026-09-25
1005Italy2026-09-18
1006United Kingdom2026-09-19
1007Russia2026-09-11
1008Australia2026-09-25
1009Italy2026-09-05
1010Italy2026-10-01
1011France2026-09-18
1012Australia2026-09-10
1013Japan2026-09-21
1014Canada2026-09-21
1015Spain2026-09-09
1016Canada2026-09-09
1017Italy2026-09-15
1018Australia2026-09-13
1019Russia2026-09-20
1020Brazil2026-09-28
1021Italy2026-09-14
1022France2026-09-15
1023Italy2026-09-13
1024Canada2026-09-14
1025Argentina2026-09-20
1026Spain2026-09-12
1027United Kingdom2026-09-26
1028Australia2026-09-18
1029United Kingdom2026-09-25
1030Japan2026-09-27
1031Italy2026-09-05
1032United Kingdom2026-09-21
1033Australia2026-09-03
1034Argentina2026-09-14
1035Japan2026-09-07
1036Brazil2026-09-12
1037United Kingdom2026-09-16
1038Italy2026-09-12
1039India2026-09-05
1040Russia2026-09-23
1041Russia2026-09-07
1042Canada2026-10-01
1043Australia2026-09-25
1044Australia2026-09-06
1045United Kingdom2026-09-28
1046Brazil2026-09-08
1047Canada2026-09-21
1048United Kingdom2026-09-08
1049Brazil2026-09-09

On-Demand Data

NameIdCountryDate
Munro C Shinko1000Spain2026-09-27
Cody U Amigon1001Argentina2026-09-11
Antonio B Iturbide1002Germany2026-09-28
Rodrigues G Inouye1003Spain2026-10-02
Kaitlin Q Ostrosky1004France2026-09-28
Wickens W Nestle1005Germany2026-10-02
Jones P Whobrey1006Germany2026-09-27
Smith N Kolmetz1007Argentina2026-09-27
Adams D Ruta1008India2026-09-21
Leja B Perin1009Argentina2026-09-19
Ricardo C Ostrosky1010India2026-09-04
Chavez R Kusko1011Italy2026-09-07
Aika P Sergi1012Brazil2026-09-21
Aika O Garufi1013Japan2026-09-03
Silvio X Campain1014France2026-09-28
Silvio P Gaucho1015Russia2026-09-26
Greenwood V Dilliard1016Canada2026-09-27
Leja K Flosi1017Italy2026-09-28
Misaki O Paprocki1018Germany2026-09-07
Smith H Figeroa1019United Kingdom2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois X RoysterArgentinaBernardo Dominic UNQUALIFIED
Silvio R MorascaJapanOnyama Limba RENEWAL
Costa U GlickAustraliaAnna Fali NEW
Salvatore L GlickRussiaOnyama Limba NEGOTIATION
Cody C BologniaIndiaBernardo Dominic RENEWAL
Octavia O FerenczCanadaAnna Fali RENEWAL
Aditya R InouyeBrazilXuxue Feng PROPOSAL
Kaitlin B CampainCanadaAnna Fali PROPOSAL
Murillo U DarakjyItalyElwin Sharvill RENEWAL
Leon B StockhamItalyIvan Magalhaes QUALIFIED
Salvatore W GlickArgentinaStephen Shaw RENEWAL
Jeanfrancois K TollnerFranceBernardo Dominic NEW
Costa T TollnerFranceBernardo Dominic RENEWAL
Darci K BowleyFranceIoni Bowcher UNQUALIFIED
Juan G SlusarskiFranceXuxue Feng UNQUALIFIED
Aditya B BologniaItalyAsiya Javayant PROPOSAL
Murillo V DarakjyRussiaIoni Bowcher PROPOSAL
Costa T PoquetteAustraliaBernardo Dominic UNQUALIFIED
Deepesh N FerenczIndiaAmy Elsner NEW
Faith U NestleAustraliaBernardo Dominic PROPOSAL
Leja R FerenczAustraliaAnna Fali NEGOTIATION
Isabel X TollnerAustraliaStephen Shaw QUALIFIED
Juan P CaudyUnited KingdomBernardo Dominic PROPOSAL
Isabel Y SchemmerIndiaIvan Magalhaes NEW
Aditya Z IturbideRussiaElwin Sharvill QUALIFIED
Darci N OstroskyFranceAsiya Javayant PROPOSAL
Jeanfrancois U AlbaresBrazilXuxue Feng UNQUALIFIED
Tony S MaletSpainIvan Magalhaes PROPOSAL
Isabel C BowleyUnited KingdomStephen Shaw QUALIFIED
Jennifer W FollerFranceOnyama Limba PROPOSAL
Jeanfrancois K VenereFranceIoni Bowcher NEW
Leja Q MarrierIndiaBernardo Dominic NEW
Faith F StensethRussiaAnna Fali UNQUALIFIED
Claire H ButtGermanyStephen Shaw NEGOTIATION
Ivar Y KolmetzItalyXuxue Feng NEW
Julie B KolmetzSpainStephen Shaw PROPOSAL
Darci L AlbaresCanadaAnna Fali PROPOSAL
Adams V CaldareraCanadaBernardo Dominic UNQUALIFIED
Alejandro X WhobreyAustraliaXuxue Feng NEGOTIATION
Cody G MarrierBrazilOnyama 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>