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
Johnson G RimJapanStephen Shaw QUALIFIED
Maria N CampainAustraliaAmy Elsner RENEWAL
Smith Y StensethFranceIvan Magalhaes QUALIFIED
Izzy O VenereGermanyIoni Bowcher PROPOSAL
Mujtaba K SchemmerJapanIoni Bowcher PROPOSAL
Octavia Q RutaCanadaIoni Bowcher NEGOTIATION
Johnson Z NickaGermanyAmy Elsner UNQUALIFIED
Salvatore G MaletGermanyAsiya Javayant RENEWAL
Julie R ChuiIndiaAnna Fali NEGOTIATION
Munro Q WieserCanadaAmy Elsner NEGOTIATION
Juan O WhobreyRussiaAmy Elsner QUALIFIED
Mujtaba F MacleadAustraliaIvan Magalhaes PROPOSAL
Murillo E AlbaresRussiaIoni Bowcher NEW
Juan X MorascaJapanAnna Fali RENEWAL
Jeanfrancois Z InouyeCanadaBernardo Dominic NEW
Jeanfrancois Z GlickRussiaOnyama Limba NEGOTIATION
Rodrigues H WaycottGermanyAnna Fali PROPOSAL
Emily S RoysterAustraliaIvan Magalhaes QUALIFIED
Leon G TollnerUnited KingdomIoni Bowcher NEW
Wickens M PaprockiJapanXuxue Feng NEGOTIATION
Aruna K DoeAustraliaStephen Shaw QUALIFIED
Claire W StensethSpainElwin Sharvill QUALIFIED
Nicolas R PoquetteRussiaOnyama Limba UNQUALIFIED
Leon A BowleyBrazilIoni Bowcher PROPOSAL
Murillo H KuskoGermanyAnna Fali PROPOSAL
Tony A CaldareraJapanXuxue Feng RENEWAL
Maria K SlusarskiUnited KingdomElwin Sharvill QUALIFIED
Alejandro K VenereIndiaOnyama Limba QUALIFIED
Jennifer W GarufiGermanyAnna Fali QUALIFIED
Sinclair H PaprockiGermanyAnna Fali UNQUALIFIED
Isabel V VocelkaItalyIoni Bowcher UNQUALIFIED
Arvin X VocelkaSpainElwin Sharvill RENEWAL
Emily H PaprockiArgentinaXuxue Feng RENEWAL
Kadeem P CampainGermanyStephen Shaw UNQUALIFIED
Maisha N GauchoFranceBernardo Dominic PROPOSAL
Aruna Y FerenczAustraliaBernardo Dominic QUALIFIED
Aruna Y PerinSpainStephen Shaw UNQUALIFIED
Claire C BriddickFranceStephen Shaw NEW
Isabel M MaletArgentinaBernardo Dominic NEGOTIATION
Kadeem O KuskoCanadaIvan Magalhaes NEGOTIATION
Aruna J VocelkaJapanIvan Magalhaes QUALIFIED
Silvio I RoysterRussiaIoni Bowcher RENEWAL
Nicolas D NestleIndiaStephen Shaw PROPOSAL
Kaitlin P SaylorsRussiaAsiya Javayant PROPOSAL
Ashley V TollnerBrazilOnyama Limba RENEWAL
Jones V FerenczFranceBernardo Dominic NEW
Jefferson V BowleyItalyAmy Elsner RENEWAL
Mujtaba N BologniaUnited KingdomOnyama Limba QUALIFIED
Smith E FerenczSpainAsiya Javayant PROPOSAL
Adams R VocelkaSpainIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Faith J SergiUnited KingdomOnyama Limba UNQUALIFIED
Rodrigues P BowleyRussiaStephen Shaw RENEWAL
Kaitlin L CampainGermanyAsiya Javayant UNQUALIFIED
David M FigeroaArgentinaXuxue Feng NEW
Kaitlin O BriddickSpainXuxue Feng PROPOSAL
Leja E NickaCanadaIoni Bowcher QUALIFIED
Jones U FerenczAustraliaElwin Sharvill PROPOSAL
Francesco I WieserIndiaIvan Magalhaes NEGOTIATION
Aika I MacleadIndiaOnyama Limba UNQUALIFIED
Isabel T KuskoSpainAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki D NestleGermany2026-10-09Chapman, Ross E Esq RENEWAL10Elwin Sharvill
1001Costa D TollnerAustralia2026-10-24Rangoni Of Florence PROPOSAL60Anna Fali
1002Cody F WaycottItaly2026-09-29Rangoni Of Florence NEW28Bernardo Dominic
1003James W ButtSpain2026-10-18Commercial Press UNQUALIFIED74Elwin Sharvill
1004Izzy Q VenereRussia2026-10-11Feiner Bros RENEWAL54Asiya Javayant
1005Kadeem E GarufiIndia2026-09-30Rangoni Of Florence QUALIFIED67Elwin Sharvill
1006Wickens R FerenczArgentina2026-10-03Chapman, Ross E Esq NEGOTIATION80Ivan Magalhaes
1007Sinclair J InouyeIndia2026-10-26Printing Dimensions QUALIFIED94Onyama Limba
1008Mayumi F GillianGermany2026-10-14Chemel, James L Cpa UNQUALIFIED55Bernardo Dominic
1009Julie V ShinkoUnited Kingdom2026-10-13Morlong Associates NEGOTIATION15Bernardo Dominic
1010Izzy G BowleyFrance2026-10-19Chapman, Ross E Esq NEGOTIATION77Bernardo Dominic
1011Jones M SergiIndia2026-10-10Chanay, Jeffrey A Esq NEGOTIATION0Xuxue Feng
1012Mayumi N VocelkaArgentina2026-10-23Chemel, James L Cpa NEGOTIATION10Amy Elsner
1013Jefferson U ButtGermany2026-10-16Commercial Press PROPOSAL93Ioni Bowcher
1014Faith D DoeRussia2026-10-14Chanay, Jeffrey A Esq UNQUALIFIED12Bernardo Dominic
1015Jeanfrancois B WaycottAustralia2026-10-17Rangoni Of Florence NEW91Stephen Shaw
1016Salvatore Z StensethRussia2026-10-17King, Christopher A Esq NEGOTIATION50Ivan Magalhaes
1017Ricardo T NestleSpain2026-09-30Rousseaux, Michael Esq QUALIFIED31Xuxue Feng
1018Francesco O GauchoArgentina2026-10-21Benton, John B Jr NEW65Bernardo Dominic
1019Arvin E MacleadItaly2026-10-02Truhlar And Truhlar Attys RENEWAL73Amy Elsner
1020Costa M FerenczJapan2026-10-04Commercial Press RENEWAL76Xuxue Feng
1021Chavez S RulapaughUnited Kingdom2026-10-19Chapman, Ross E Esq NEW39Amy Elsner
1022Juan A NickaFrance2026-10-13Benton, John B Jr UNQUALIFIED13Ivan Magalhaes
1023Murillo F DilliardRussia2026-10-16Feltz Printing Service UNQUALIFIED17Xuxue Feng
1024Ivar P StensethSpain2026-09-29Buckley Miller Wright RENEWAL50Bernardo Dominic
1025Leja S RulapaughGermany2026-10-12Buckley Miller Wright UNQUALIFIED54Ivan Magalhaes
1026Jennifer A GauchoFrance2026-10-28Truhlar And Truhlar Attys RENEWAL62Onyama Limba
1027Jeanfrancois K BologniaCanada2026-10-22Dorl, James J Esq PROPOSAL55Ioni Bowcher
1028Emily Z GarufiCanada2026-10-12Chapman, Ross E Esq NEGOTIATION31Bernardo Dominic
1029Antonio E TollnerSpain2026-10-27Commercial Press UNQUALIFIED4Bernardo Dominic
1030Ashley N BologniaGermany2026-10-23Benton, John B Jr RENEWAL47Elwin Sharvill
1031Wickens O RimIndia2026-10-22Benton, John B Jr PROPOSAL43Amy Elsner
1032Clifford U DoeUnited Kingdom2026-10-16Chemel, James L Cpa UNQUALIFIED68Anna Fali
1033Sinclair M RulapaughRussia2026-10-08Feiner Bros UNQUALIFIED35Asiya Javayant
1034Adams G IturbideItaly2026-10-08Feltz Printing Service NEGOTIATION23Ivan Magalhaes
1035Jennifer L ButtBrazil2026-10-25Chemel, James L Cpa RENEWAL10Asiya Javayant
1036Maisha P StensethSpain2026-10-01Truhlar And Truhlar Attys PROPOSAL32Asiya Javayant
1037Clifford L WhobreySpain2026-10-21Rousseaux, Michael Esq UNQUALIFIED27Anna Fali
1038Adams R DoeAustralia2026-10-18Chanay, Jeffrey A Esq RENEWAL88Xuxue Feng
1039Salvatore C GlickIndia2026-10-06Morlong Associates QUALIFIED99Xuxue Feng
1040Julie G ShinkoArgentina2026-10-23Buckley Miller Wright QUALIFIED19Ioni Bowcher
1041Jeanfrancois X GlickRussia2026-10-05King, Christopher A Esq QUALIFIED43Ivan Magalhaes
1042Kaitlin A KolmetzJapan2026-10-06Dorl, James J Esq NEGOTIATION14Elwin Sharvill
1043Jones B GillianBrazil2026-10-03Morlong Associates QUALIFIED88Elwin Sharvill
1044Alejandro V SchemmerGermany2026-10-09Commercial Press QUALIFIED81Anna Fali
1045Morrow X GauchoFrance2026-10-25Rousseaux, Michael Esq NEGOTIATION14Anna Fali
1046Aditya Q WieserAustralia2026-10-15Feltz Printing Service QUALIFIED98Stephen Shaw
1047Salvatore W FerenczAustralia2026-09-30Feltz Printing Service UNQUALIFIED49Ioni Bowcher
1048Salvatore D DarakjyIndia2026-10-25Commercial Press NEGOTIATION80Bernardo Dominic
1049Chavez A MorascaGermany2026-10-20Chanay, Jeffrey A Esq QUALIFIED71Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Claire M GlickJapanBernardo Dominic NEGOTIATION
Morrow C AmigonBrazilIoni Bowcher PROPOSAL
Ashley R GauchoArgentinaAsiya Javayant UNQUALIFIED
Chavez U MaletCanadaStephen Shaw RENEWAL
Smith N WhobreyFranceAmy Elsner PROPOSAL
Faith F VocelkaGermanyOnyama Limba UNQUALIFIED
Juan H ButtFranceStephen Shaw UNQUALIFIED
Claire D CaudyJapanAmy Elsner NEGOTIATION
Leon T MacleadBrazilOnyama Limba UNQUALIFIED
Salvatore Y OstroskyJapanAnna Fali UNQUALIFIED
Aruna L DarakjyJapanElwin Sharvill NEGOTIATION
Francesco M ShinkoCanadaStephen Shaw NEW
Octavia Z CaldareraJapanAsiya Javayant RENEWAL
Nicolas I AlbaresFranceIvan Magalhaes NEW
Izzy W SergiIndiaIvan Magalhaes PROPOSAL
Francesco D IturbideUnited KingdomAsiya Javayant NEGOTIATION
Deepesh C KolmetzBrazilStephen Shaw RENEWAL
Murillo W ButtSpainAnna Fali QUALIFIED
Rodrigues K MorascaGermanyXuxue Feng NEGOTIATION
Darci I StockhamAustraliaAmy Elsner NEGOTIATION
Jefferson U DoeCanadaOnyama Limba QUALIFIED
Aruna R RulapaughSpainStephen Shaw UNQUALIFIED
Smith F NestleArgentinaAsiya Javayant PROPOSAL
Arvin D RimCanadaAmy Elsner RENEWAL
Leja C OstroskyRussiaIoni Bowcher QUALIFIED
Francesco D FollerAustraliaIoni Bowcher RENEWAL
Costa U NickaFranceXuxue Feng RENEWAL
Rodrigues G WhobreyIndiaIvan Magalhaes QUALIFIED
Ashley Z GarufiCanadaStephen Shaw QUALIFIED
Ashley D WaycottFranceIvan Magalhaes NEGOTIATION
Johnson O CampainAustraliaAsiya Javayant NEW
Clifford N DarakjyItalyIoni Bowcher UNQUALIFIED
Jones Y BologniaAustraliaAmy Elsner NEW
Ricardo T SlusarskiCanadaAmy Elsner UNQUALIFIED
Maisha E AmigonGermanyAsiya Javayant NEGOTIATION
Alejandro N OldroydCanadaAnna Fali UNQUALIFIED
Jones B StockhamAustraliaAsiya Javayant NEW
Jones V AlbaresArgentinaXuxue Feng RENEWAL
Leja Y VocelkaJapanIoni Bowcher NEGOTIATION
Julie X IturbideGermanyElwin Sharvill UNQUALIFIED
Sinclair V StensethFranceIvan Magalhaes PROPOSAL
Jefferson J TollnerUnited KingdomElwin Sharvill NEW
Sinclair L FlosiUnited KingdomXuxue Feng PROPOSAL
Stacey K OldroydBrazilOnyama Limba NEGOTIATION
Jeanfrancois O ChuiGermanyAsiya Javayant NEW
Ashley H DarakjyArgentinaAmy Elsner UNQUALIFIED
Claire V StensethItalyBernardo Dominic NEW
Stacey M GarufiAustraliaIoni Bowcher PROPOSAL
Salvatore I FlosiAustraliaOnyama Limba UNQUALIFIED
Leon Z RulapaughJapanAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Juan H Poquette
Julie R Slusarski
Wickens U Caldarera
Arvin D Stenseth
Kadeem N Marrier
Rodrigues E Malet
Isabel B Glick
Alejandro B Rulapaugh
Maisha X Waycott
Adams G Campain
Cody I Bolognia
Jefferson D Kusko
Aruna Y Malet
Morrow W Maclead
Emily Y Gaucho
Octavia K Bowley
Misaki U Amigon
Chavez H Malet
Izzy I Glick
Nicolas F Ostrosky
Sinclair T Stockham
Izzy C Briddick
Arvin Q Gaucho
Aruna D Shinko
Cody Z Morasca
Rodrigues O Kolmetz
Mujtaba O Venere
Rodrigues M Garufi
Leja W Chui
Chavez Q Nestle
Johnson G Gillian
Kaitlin U Schemmer
Maria V Tollner
Ricardo T Caldarera
Darci E Chui
Arvin S Inouye
Silvio X Malet
Greenwood O Foller
Ashley K Venere
Francesco X Ruta
Jennifer N Saylors
Maisha T Inouye
Octavia S Foller
Stacey G Rim
Izzy C Tollner
Alejandro O Kolmetz
Julie X Albares
Clifford M Slusarski
Smith Y Waycott
James X Stenseth
IdCountryDate
1000India2026-10-20
1001Australia2026-10-14
1002Canada2026-10-22
1003Brazil2026-10-21
1004Brazil2026-10-28
1005Russia2026-10-20
1006Argentina2026-10-22
1007Australia2026-10-24
1008India2026-10-02
1009United Kingdom2026-10-25
1010Russia2026-09-29
1011Spain2026-10-04
1012Italy2026-10-08
1013Japan2026-10-20
1014Brazil2026-10-16
1015Brazil2026-10-08
1016Spain2026-10-06
1017Spain2026-10-18
1018Australia2026-10-10
1019India2026-10-12
1020Germany2026-09-30
1021Spain2026-10-23
1022Japan2026-10-22
1023Italy2026-09-29
1024Italy2026-10-11
1025France2026-10-02
1026Brazil2026-10-25
1027Japan2026-10-01
1028United Kingdom2026-10-01
1029Russia2026-10-04
1030India2026-10-24
1031Canada2026-09-29
1032Brazil2026-10-22
1033Japan2026-10-22
1034Canada2026-10-17
1035Russia2026-10-12
1036United Kingdom2026-10-12
1037United Kingdom2026-10-28
1038Italy2026-09-29
1039Canada2026-10-07
1040Argentina2026-10-03
1041Argentina2026-10-19
1042India2026-10-09
1043Argentina2026-10-27
1044India2026-10-07
1045United Kingdom2026-10-14
1046Russia2026-10-26
1047Japan2026-10-22
1048Japan2026-09-29
1049Russia2026-10-22

On-Demand Data

NameIdCountryDate
Claire M Poquette1000Italy2026-09-30
Aika C Wieser1001Australia2026-10-04
Silvio S Briddick1002Canada2026-10-21
Antonio D Sergi1003Canada2026-10-28
Nicolas O Dilliard1004Australia2026-10-01
Smith C Schemmer1005India2026-10-28
Murillo A Venere1006Germany2026-10-22
Maria L Ostrosky1007Argentina2026-10-23
Deepesh F Caldarera1008Canada2026-10-21
Adams T Maclead1009Argentina2026-10-12
Francesco B Doe1010Russia2026-10-08
Mujtaba P Wieser1011Russia2026-10-28
Sinclair W Marrier1012India2026-10-26
Darci T Foller1013Japan2026-10-22
Maisha Z Ferencz1014Japan2026-10-06
Faith Z Tollner1015Italy2026-10-20
Jeanfrancois K Bowley1016Russia2026-10-20
Antonio M Poquette1017Brazil2026-10-18
Isabel A Rim1018United Kingdom2026-10-17
David M Foller1019Canada2026-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody H VenereArgentinaAnna Fali NEGOTIATION
Johnson M DilliardRussiaIvan Magalhaes RENEWAL
Faith O FlosiArgentinaAsiya Javayant RENEWAL
Claire W GlickRussiaIvan Magalhaes NEW
Aruna R WhobreyJapanIvan Magalhaes NEW
Nicolas Z DoeBrazilIoni Bowcher RENEWAL
Chavez I FigeroaRussiaOnyama Limba PROPOSAL
Maisha G KuskoRussiaIoni Bowcher QUALIFIED
Misaki F RutaGermanyAsiya Javayant QUALIFIED
Aditya J BowleyUnited KingdomElwin Sharvill PROPOSAL
Isabel W DilliardIndiaAmy Elsner QUALIFIED
Chavez C FigeroaUnited KingdomAnna Fali PROPOSAL
Johnson U ButtRussiaOnyama Limba PROPOSAL
Ashley Y BriddickGermanyXuxue Feng UNQUALIFIED
Rodrigues V DarakjyIndiaOnyama Limba RENEWAL
Izzy V GarufiFranceStephen Shaw QUALIFIED
Darci T GlickRussiaXuxue Feng NEW
Cody Q SergiArgentinaElwin Sharvill RENEWAL
Clifford Y CampainUnited KingdomAsiya Javayant NEW
Silvio Q MaletArgentinaAmy Elsner NEW
Kaitlin Q GlickFranceIoni Bowcher RENEWAL
Silvio F MarrierItalyAsiya Javayant QUALIFIED
Kaitlin L BowleyArgentinaAnna Fali RENEWAL
Alejandro L FerenczArgentinaIvan Magalhaes NEGOTIATION
Darci W MarrierGermanyBernardo Dominic QUALIFIED
Murillo X FigeroaGermanyBernardo Dominic NEW
Arvin S RimItalyIoni Bowcher QUALIFIED
Francesco R DilliardUnited KingdomAmy Elsner UNQUALIFIED
Rodrigues I SaylorsIndiaStephen Shaw NEGOTIATION
Johnson W BologniaArgentinaOnyama Limba RENEWAL
Tony X NickaArgentinaXuxue Feng UNQUALIFIED
Nicolas H ChuiAustraliaElwin Sharvill NEW
Francesco E MorascaIndiaBernardo Dominic QUALIFIED
Nicolas V FollerCanadaAmy Elsner UNQUALIFIED
Aditya V ChuiUnited KingdomOnyama Limba NEW
James L BriddickUnited KingdomAnna Fali UNQUALIFIED
Cody J WhobreyIndiaIvan Magalhaes PROPOSAL
Juan O MaletBrazilBernardo Dominic RENEWAL
Costa P BologniaCanadaIoni Bowcher NEGOTIATION
Maisha Y ChuiSpainAsiya 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>