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
Stacey C GauchoBrazilAnna Fali NEW
Faith R TollnerUnited KingdomIvan Magalhaes NEW
Octavia J MaletCanadaIoni Bowcher RENEWAL
Darci Z AlbaresSpainAsiya Javayant QUALIFIED
Jones P GlickBrazilIvan Magalhaes NEGOTIATION
Salvatore J SlusarskiBrazilOnyama Limba PROPOSAL
Ashley R CampainItalyAnna Fali RENEWAL
Leja Q AmigonIndiaElwin Sharvill UNQUALIFIED
Arvin Q BologniaRussiaAsiya Javayant NEGOTIATION
Sinclair T WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Arvin Z PoquetteUnited KingdomOnyama Limba PROPOSAL
Smith J RulapaughArgentinaIvan Magalhaes NEGOTIATION
James I ChuiItalyAnna Fali NEW
Ivar Q VenereSpainIvan Magalhaes QUALIFIED
Salvatore Y RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Morrow T IturbideGermanyIoni Bowcher UNQUALIFIED
Stacey S NestleJapanOnyama Limba UNQUALIFIED
Francesco H GillianItalyAnna Fali RENEWAL
Silvio L RulapaughBrazilOnyama Limba RENEWAL
Juan L PerinBrazilElwin Sharvill NEGOTIATION
Ivar A DoeBrazilAsiya Javayant QUALIFIED
Smith R KuskoItalyIvan Magalhaes RENEWAL
Jones W MacleadBrazilElwin Sharvill NEGOTIATION
Izzy L StockhamUnited KingdomAmy Elsner QUALIFIED
Maria T SlusarskiItalyAsiya Javayant UNQUALIFIED
Munro A BriddickIndiaAsiya Javayant PROPOSAL
Juan D RoysterJapanAsiya Javayant NEW
Leon C BriddickSpainAnna Fali RENEWAL
Adams D WaycottUnited KingdomAmy Elsner RENEWAL
Misaki L VenereGermanyIoni Bowcher NEGOTIATION
Francesco A RulapaughArgentinaBernardo Dominic NEGOTIATION
Ashley Y MarrierJapanElwin Sharvill PROPOSAL
Maria G CaldareraAustraliaStephen Shaw UNQUALIFIED
Nicolas P DoeIndiaAsiya Javayant NEGOTIATION
Deepesh I MaletIndiaElwin Sharvill UNQUALIFIED
Mujtaba X VenereSpainAnna Fali QUALIFIED
Juan K DoeCanadaIvan Magalhaes RENEWAL
Salvatore U BriddickCanadaOnyama Limba NEW
Jeanfrancois Y DarakjyGermanyAnna Fali NEGOTIATION
Nicolas X AlbaresItalyAnna Fali QUALIFIED
Rodrigues X RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Clifford R GlickArgentinaAmy Elsner NEW
Kaitlin J MaletBrazilOnyama Limba NEW
Kaitlin U IturbideBrazilXuxue Feng PROPOSAL
Jennifer J NickaCanadaStephen Shaw UNQUALIFIED
Jeanfrancois Q ChuiGermanyIvan Magalhaes PROPOSAL
Jones H CaldareraIndiaStephen Shaw NEW
Antonio O KolmetzFranceAmy Elsner PROPOSAL
Wickens I WieserCanadaBernardo Dominic NEW
Deepesh U DarakjyCanadaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maisha D NestleAustraliaXuxue Feng QUALIFIED
Juan W PoquetteArgentinaBernardo Dominic UNQUALIFIED
Rodrigues H StensethFranceStephen Shaw RENEWAL
Silvio B ShinkoRussiaIvan Magalhaes NEGOTIATION
Kadeem Y PoquetteFranceOnyama Limba UNQUALIFIED
Mujtaba J FerenczItalyBernardo Dominic NEGOTIATION
Adams K CampainFranceAmy Elsner NEW
Ashley O PoquetteUnited KingdomOnyama Limba PROPOSAL
Isabel Y BowleyBrazilXuxue Feng UNQUALIFIED
Clifford D WhobreyAustraliaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David N GillianIndia2026-10-12Truhlar And Truhlar Attys PROPOSAL19Amy Elsner
1001David Z BowleyArgentina2026-10-09Rousseaux, Michael Esq UNQUALIFIED34Stephen Shaw
1002Ivar M GlickUnited Kingdom2026-10-31Buckley Miller Wright UNQUALIFIED48Amy Elsner
1003Kadeem W OldroydBrazil2026-10-25Chemel, James L Cpa RENEWAL43Stephen Shaw
1004Clifford K MacleadCanada2026-10-24Chapman, Ross E Esq NEW5Anna Fali
1005Deepesh Z RimUnited Kingdom2026-10-24Benton, John B Jr QUALIFIED63Xuxue Feng
1006Sinclair X WieserUnited Kingdom2026-11-02Morlong Associates UNQUALIFIED15Amy Elsner
1007Alejandro Y RimArgentina2026-10-15Buckley Miller Wright PROPOSAL45Amy Elsner
1008Emily G WaycottSpain2026-10-30Rousseaux, Michael Esq RENEWAL64Xuxue Feng
1009Munro Q NickaGermany2026-10-26Printing Dimensions PROPOSAL74Onyama Limba
1010Leja P OldroydSpain2026-10-18Printing Dimensions RENEWAL72Onyama Limba
1011Adams D CaudyBrazil2026-10-11Truhlar And Truhlar Attys PROPOSAL2Anna Fali
1012Sinclair F GarufiIndia2026-10-18Printing Dimensions QUALIFIED48Onyama Limba
1013Cody A MaletAustralia2026-10-30Dorl, James J Esq NEGOTIATION95Bernardo Dominic
1014Morrow Z FollerCanada2026-10-10Truhlar And Truhlar Attys UNQUALIFIED28Bernardo Dominic
1015Sinclair O AlbaresSpain2026-10-29Chanay, Jeffrey A Esq PROPOSAL43Amy Elsner
1016Maria P MacleadItaly2026-10-22Printing Dimensions NEGOTIATION38Ioni Bowcher
1017Greenwood N NickaAustralia2026-11-03King, Christopher A Esq NEW89Ivan Magalhaes
1018Cody Y KuskoArgentina2026-10-28King, Christopher A Esq NEW11Xuxue Feng
1019Salvatore S RulapaughCanada2026-10-27Feiner Bros QUALIFIED62Bernardo Dominic
1020Jones H VenereAustralia2026-10-22Rangoni Of Florence QUALIFIED25Amy Elsner
1021Nicolas H ShinkoArgentina2026-10-27Chapman, Ross E Esq RENEWAL62Xuxue Feng
1022Jeanfrancois J RulapaughArgentina2026-10-29Morlong Associates NEGOTIATION88Xuxue Feng
1023Silvio F SergiBrazil2026-10-18Feltz Printing Service NEGOTIATION53Ivan Magalhaes
1024Maisha U RoysterItaly2026-11-02Morlong Associates QUALIFIED14Amy Elsner
1025Tony W OldroydGermany2026-10-06Chapman, Ross E Esq QUALIFIED28Onyama Limba
1026Chavez H RutaFrance2026-10-26Rousseaux, Michael Esq UNQUALIFIED50Amy Elsner
1027Wickens T GlickUnited Kingdom2026-10-21Feltz Printing Service NEGOTIATION68Amy Elsner
1028Maisha I SaylorsJapan2026-10-22Truhlar And Truhlar Attys NEGOTIATION59Bernardo Dominic
1029Cody D RimArgentina2026-10-16Chemel, James L Cpa PROPOSAL92Onyama Limba
1030Alejandro H MacleadAustralia2026-11-02Chemel, James L Cpa NEGOTIATION29Elwin Sharvill
1031Kaitlin R WieserIndia2026-10-10Dorl, James J Esq UNQUALIFIED63Bernardo Dominic
1032Costa T ShinkoItaly2026-10-15Buckley Miller Wright UNQUALIFIED44Onyama Limba
1033Mujtaba L ButtGermany2026-10-20Truhlar And Truhlar Attys PROPOSAL49Onyama Limba
1034Alejandro K TollnerUnited Kingdom2026-10-29Printing Dimensions NEW2Ioni Bowcher
1035Johnson C AmigonJapan2026-11-03Dorl, James J Esq NEW18Ivan Magalhaes
1036Julie G CampainSpain2026-10-29Rousseaux, Michael Esq QUALIFIED2Bernardo Dominic
1037Maria Q BriddickArgentina2026-10-31Buckley Miller Wright RENEWAL89Asiya Javayant
1038Stacey W NestleSpain2026-10-17King, Christopher A Esq NEGOTIATION62Ivan Magalhaes
1039Isabel Q TollnerJapan2026-10-24Dorl, James J Esq PROPOSAL44Bernardo Dominic
1040Deepesh T DoeArgentina2026-11-04Commercial Press PROPOSAL13Asiya Javayant
1041Antonio N InouyeIndia2026-10-07King, Christopher A Esq RENEWAL69Stephen Shaw
1042Adams S DoeUnited Kingdom2026-10-15Benton, John B Jr UNQUALIFIED40Ivan Magalhaes
1043Sinclair A IturbideItaly2026-10-31Chemel, James L Cpa UNQUALIFIED89Onyama Limba
1044Maria N OstroskyFrance2026-11-03Feltz Printing Service UNQUALIFIED78Bernardo Dominic
1045Aruna S FerenczArgentina2026-10-10Commercial Press PROPOSAL85Elwin Sharvill
1046James B InouyeRussia2026-11-01Truhlar And Truhlar Attys RENEWAL55Anna Fali
1047Ashley H CaudyAustralia2026-10-20Dorl, James J Esq NEW65Bernardo Dominic
1048Antonio S MacleadFrance2026-10-22King, Christopher A Esq PROPOSAL83Bernardo Dominic
1049Faith J VenereItaly2026-11-04Chanay, Jeffrey A Esq NEGOTIATION37Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin Q SergiCanadaBernardo Dominic NEW
Rodrigues N KolmetzArgentinaAsiya Javayant RENEWAL
Greenwood Z CaldareraJapanBernardo Dominic NEGOTIATION
David R GillianUnited KingdomElwin Sharvill RENEWAL
Jeanfrancois W SchemmerArgentinaOnyama Limba UNQUALIFIED
Nicolas F SchemmerBrazilIoni Bowcher NEW
Maria N RoysterUnited KingdomAsiya Javayant NEGOTIATION
Johnson U RutaArgentinaBernardo Dominic UNQUALIFIED
Greenwood F RutaRussiaIvan Magalhaes QUALIFIED
Stacey O GillianItalyElwin Sharvill UNQUALIFIED
Cody W StockhamCanadaBernardo Dominic PROPOSAL
Jones Z PaprockiAustraliaIoni Bowcher NEGOTIATION
Misaki J CaudyAustraliaElwin Sharvill PROPOSAL
Greenwood P AlbaresSpainAsiya Javayant RENEWAL
Deepesh G OldroydFranceAmy Elsner QUALIFIED
Deepesh H MorascaSpainXuxue Feng PROPOSAL
Munro Y RimArgentinaBernardo Dominic NEW
Morrow N StensethSpainIvan Magalhaes NEW
Alejandro C WhobreyCanadaStephen Shaw QUALIFIED
Greenwood P InouyeGermanyBernardo Dominic QUALIFIED
Misaki Q KolmetzIndiaIoni Bowcher UNQUALIFIED
Jefferson Y GauchoBrazilElwin Sharvill PROPOSAL
Adams F KolmetzFranceAnna Fali QUALIFIED
Leja Y SlusarskiIndiaOnyama Limba UNQUALIFIED
David T KuskoBrazilElwin Sharvill NEGOTIATION
Antonio S CaldareraRussiaStephen Shaw NEW
Ricardo Q GlickItalyAsiya Javayant UNQUALIFIED
Ashley X MorascaCanadaXuxue Feng UNQUALIFIED
Alejandro X MaletAustraliaElwin Sharvill UNQUALIFIED
Ricardo Y RoysterSpainOnyama Limba RENEWAL
Aditya S WieserArgentinaOnyama Limba PROPOSAL
Munro F AlbaresItalyAmy Elsner UNQUALIFIED
Ashley K MaletArgentinaOnyama Limba NEW
Murillo V OstroskyFranceAmy Elsner RENEWAL
Wickens N IturbideRussiaOnyama Limba PROPOSAL
Rodrigues T ButtSpainStephen Shaw UNQUALIFIED
Antonio E RulapaughBrazilIoni Bowcher NEGOTIATION
Leon G VenereJapanIvan Magalhaes UNQUALIFIED
David K PaprockiItalyAnna Fali PROPOSAL
Claire D KolmetzUnited KingdomIvan Magalhaes NEW
Mujtaba M ButtJapanAsiya Javayant UNQUALIFIED
Isabel B StensethArgentinaStephen Shaw RENEWAL
Maria E SergiArgentinaIvan Magalhaes QUALIFIED
Jennifer Q SaylorsBrazilXuxue Feng UNQUALIFIED
Jennifer L VocelkaBrazilAnna Fali PROPOSAL
Sinclair Q StensethBrazilIvan Magalhaes NEW
Mujtaba D PaprockiSpainElwin Sharvill UNQUALIFIED
Jennifer F KolmetzJapanAmy Elsner RENEWAL
Chavez R MorascaAustraliaAmy Elsner PROPOSAL
Smith Q BologniaAustraliaBernardo Dominic NEW
Frozen Columns
Name
Antonio Q Shinko
James O Bowley
Leon N Gaucho
Stacey V Poquette
Faith B Kolmetz
Ashley F Paprocki
Alejandro B Shinko
Arvin X Ruta
Sinclair A Ferencz
Morrow F Marrier
Wickens N Nicka
Jefferson Q Nestle
Morrow J Schemmer
Maria C Ruta
Jones R Gillian
Smith A Tollner
Maisha K Nestle
Emily N Dilliard
Aditya Q Tollner
Alejandro G Iturbide
Jeanfrancois D Amigon
Izzy P Caudy
Ricardo X Garufi
Julie R Bolognia
Darci F Chui
Arvin K Rulapaugh
Chavez A Ostrosky
Wickens O Gillian
Salvatore X Flosi
Deepesh U Ostrosky
Nicolas N Kusko
Mayumi S Nestle
James M Paprocki
Silvio W Stenseth
Aditya M Royster
Costa F Shinko
Ricardo P Nicka
Deepesh Y Royster
Morrow F Wieser
Jennifer X Ferencz
Jefferson L Kolmetz
Tony U Kusko
Claire I Stockham
Alejandro H Chui
Deepesh J Butt
Wickens R Doe
Costa P Garufi
Alejandro B Dilliard
Maria B Venere
Aika E Briddick
IdCountryDate
1000Canada2026-10-17
1001Germany2026-10-23
1002Russia2026-10-27
1003Brazil2026-10-29
1004Germany2026-10-22
1005France2026-10-23
1006India2026-10-13
1007Japan2026-10-21
1008Russia2026-10-24
1009Spain2026-10-22
1010Japan2026-11-03
1011Argentina2026-10-21
1012India2026-10-12
1013Argentina2026-10-30
1014Japan2026-10-07
1015United Kingdom2026-10-14
1016India2026-10-29
1017Australia2026-10-06
1018India2026-10-11
1019Argentina2026-10-11
1020India2026-10-15
1021Italy2026-10-30
1022Italy2026-10-20
1023Argentina2026-10-30
1024United Kingdom2026-10-17
1025United Kingdom2026-10-26
1026Italy2026-11-02
1027Australia2026-10-29
1028Spain2026-10-11
1029Argentina2026-10-08
1030France2026-10-29
1031Russia2026-10-19
1032France2026-10-11
1033United Kingdom2026-10-10
1034Japan2026-10-09
1035Spain2026-11-01
1036Australia2026-10-21
1037Brazil2026-10-12
1038France2026-10-09
1039Australia2026-10-30
1040Brazil2026-11-02
1041Japan2026-10-21
1042Canada2026-10-10
1043Argentina2026-11-01
1044Japan2026-10-26
1045Russia2026-10-21
1046Japan2026-10-12
1047Japan2026-10-27
1048Russia2026-10-08
1049Brazil2026-10-17

On-Demand Data

NameIdCountryDate
Mujtaba X Caldarera1000India2026-10-25
Nicolas C Morasca1001Italy2026-10-30
Rodrigues A Glick1002Spain2026-10-21
Antonio V Sergi1003France2026-10-10
Claire W Maclead1004Argentina2026-10-09
Faith H Caudy1005Spain2026-10-23
Chavez U Albares1006India2026-10-13
David V Caldarera1007India2026-10-28
Wickens B Stockham1008United Kingdom2026-10-06
Octavia R Albares1009France2026-10-12
Rodrigues Q Caudy1010United Kingdom2026-10-11
Greenwood O Ostrosky1011France2026-10-28
Cody C Chui1012Canada2026-10-06
Ashley M Nicka1013Spain2026-11-02
Sinclair T Kusko1014Spain2026-10-08
Ricardo L Morasca1015Russia2026-11-03
Deepesh O Glick1016Germany2026-10-14
Kadeem N Darakjy1017Italy2026-10-07
Smith X Rulapaugh1018Spain2026-11-02
Murillo M Stockham1019Russia2026-10-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood E GauchoSpainIoni Bowcher UNQUALIFIED
Greenwood P GillianCanadaAsiya Javayant PROPOSAL
Tony C BologniaAustraliaXuxue Feng UNQUALIFIED
Ricardo E MaletItalyAmy Elsner NEW
Silvio X DarakjyGermanyBernardo Dominic NEW
Maria K RimRussiaAmy Elsner QUALIFIED
Misaki W PoquetteAustraliaBernardo Dominic NEW
Jeanfrancois H ChuiFranceAsiya Javayant UNQUALIFIED
Izzy B BriddickJapanBernardo Dominic NEGOTIATION
Munro R OldroydAustraliaAnna Fali RENEWAL
Misaki M PerinUnited KingdomOnyama Limba PROPOSAL
Munro N KolmetzUnited KingdomAnna Fali NEW
Adams F SergiRussiaStephen Shaw UNQUALIFIED
Cody F WhobreySpainElwin Sharvill NEW
Munro I WieserItalyStephen Shaw RENEWAL
Kaitlin B PoquetteSpainBernardo Dominic NEGOTIATION
Cody G FigeroaFranceBernardo Dominic UNQUALIFIED
Sinclair C StensethRussiaBernardo Dominic NEGOTIATION
Misaki B WaycottRussiaXuxue Feng NEGOTIATION
Sinclair Q IturbideAustraliaIvan Magalhaes PROPOSAL
Aika Z IturbideGermanyAmy Elsner NEGOTIATION
Smith S BologniaBrazilAsiya Javayant PROPOSAL
Aika W IturbideBrazilBernardo Dominic QUALIFIED
Nicolas R NickaArgentinaElwin Sharvill NEGOTIATION
Adams D DarakjyJapanOnyama Limba PROPOSAL
Alejandro S RulapaughCanadaOnyama Limba RENEWAL
Mujtaba W SaylorsArgentinaBernardo Dominic NEGOTIATION
Octavia S ChuiIndiaOnyama Limba NEW
Leja S SergiGermanyAnna Fali NEW
Smith P MaletAustraliaAmy Elsner UNQUALIFIED
Silvio T SaylorsRussiaBernardo Dominic QUALIFIED
Arvin E BologniaFranceAsiya Javayant PROPOSAL
Jones E SergiJapanIvan Magalhaes NEW
Chavez U GillianRussiaAsiya Javayant RENEWAL
Darci H FollerIndiaAnna Fali UNQUALIFIED
Jones S BowleySpainOnyama Limba UNQUALIFIED
Emily J CampainFranceBernardo Dominic QUALIFIED
Munro P FerenczGermanyOnyama Limba PROPOSAL
Johnson C FigeroaAustraliaBernardo Dominic NEGOTIATION
Adams Y GlickArgentinaAnna Fali NEW

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