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
James S OldroydArgentinaBernardo Dominic NEW
Costa X RimIndiaStephen Shaw PROPOSAL
Julie H RutaArgentinaAsiya Javayant UNQUALIFIED
Clifford I NickaAustraliaIvan Magalhaes NEW
Mujtaba Q GillianCanadaStephen Shaw RENEWAL
Aika L BowleyArgentinaXuxue Feng UNQUALIFIED
Misaki S SlusarskiIndiaStephen Shaw UNQUALIFIED
Wickens Q MaletArgentinaElwin Sharvill NEGOTIATION
Rodrigues F SergiGermanyXuxue Feng QUALIFIED
Nicolas Y StensethFranceXuxue Feng NEGOTIATION
Cody F MorascaBrazilIoni Bowcher PROPOSAL
Jennifer W GillianSpainStephen Shaw QUALIFIED
Rodrigues Z FerenczItalyAsiya Javayant QUALIFIED
Jeanfrancois R SlusarskiCanadaStephen Shaw RENEWAL
Clifford F SaylorsJapanIoni Bowcher UNQUALIFIED
Costa H AlbaresBrazilAnna Fali RENEWAL
Claire H CaudyArgentinaStephen Shaw RENEWAL
Kaitlin Q MacleadAustraliaAmy Elsner UNQUALIFIED
Jeanfrancois Q MarrierGermanyXuxue Feng PROPOSAL
David W FlosiBrazilAsiya Javayant RENEWAL
James A BologniaGermanyAmy Elsner QUALIFIED
Munro N WieserItalyAsiya Javayant NEW
Clifford F FollerAustraliaXuxue Feng RENEWAL
Izzy Z ShinkoIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois W IturbideGermanyIoni Bowcher QUALIFIED
Stacey Z ChuiIndiaAmy Elsner NEW
Julie A RulapaughJapanIoni Bowcher NEGOTIATION
Johnson D BowleyAustraliaStephen Shaw PROPOSAL
Silvio J GarufiGermanyAsiya Javayant PROPOSAL
Rodrigues N GarufiAustraliaIvan Magalhaes QUALIFIED
Nicolas R CaldareraAustraliaAsiya Javayant RENEWAL
Ashley T PaprockiArgentinaStephen Shaw NEGOTIATION
Tony Y MaletCanadaIoni Bowcher UNQUALIFIED
Faith D CaldareraJapanIvan Magalhaes PROPOSAL
Kaitlin D GauchoJapanBernardo Dominic PROPOSAL
Ashley T CaudyIndiaBernardo Dominic RENEWAL
Ivar N RutaAustraliaBernardo Dominic QUALIFIED
Rodrigues T AlbaresJapanIvan Magalhaes NEGOTIATION
Stacey T BriddickCanadaIvan Magalhaes NEW
Stacey X FerenczGermanyElwin Sharvill UNQUALIFIED
Costa E DoeIndiaStephen Shaw NEGOTIATION
Mujtaba A CaldareraItalyStephen Shaw PROPOSAL
Jennifer D ShinkoIndiaAsiya Javayant UNQUALIFIED
Mayumi G WieserSpainOnyama Limba NEGOTIATION
Mujtaba K NickaArgentinaAsiya Javayant QUALIFIED
Smith S MarrierSpainXuxue Feng NEGOTIATION
Murillo O CaldareraArgentinaAnna Fali PROPOSAL
Salvatore H BologniaAustraliaAsiya Javayant RENEWAL
Misaki A KuskoRussiaStephen Shaw NEGOTIATION
Maria U CaudyBrazilBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika P VocelkaJapanOnyama Limba RENEWAL
Antonio P DoeCanadaIvan Magalhaes RENEWAL
Tony O SaylorsAustraliaAmy Elsner NEW
Jeanfrancois F DoeBrazilIvan Magalhaes PROPOSAL
Francesco M WhobreyIndiaIvan Magalhaes NEW
Salvatore H MaletJapanXuxue Feng PROPOSAL
Cody U BriddickRussiaAsiya Javayant PROPOSAL
Aika T SlusarskiBrazilIoni Bowcher PROPOSAL
Aruna X InouyeArgentinaAmy Elsner RENEWAL
Aruna K KuskoUnited KingdomOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony S PoquetteSpain2026-10-07Printing Dimensions UNQUALIFIED18Asiya Javayant
1001Leja C OstroskyBrazil2026-10-13Chapman, Ross E Esq QUALIFIED12Amy Elsner
1002Munro C WhobreyBrazil2026-10-17Chanay, Jeffrey A Esq RENEWAL32Ioni Bowcher
1003Deepesh H InouyeRussia2026-10-09Dorl, James J Esq PROPOSAL64Bernardo Dominic
1004Faith N ButtIndia2026-10-25Commercial Press NEGOTIATION93Bernardo Dominic
1005Greenwood K MarrierSpain2026-10-29Feltz Printing Service QUALIFIED60Asiya Javayant
1006Adams C TollnerBrazil2026-10-03Chemel, James L Cpa PROPOSAL78Amy Elsner
1007Kadeem I MorascaSpain2026-10-02Feiner Bros RENEWAL38Xuxue Feng
1008Stacey B VocelkaRussia2026-10-12Chemel, James L Cpa NEGOTIATION34Xuxue Feng
1009Deepesh H SergiUnited Kingdom2026-10-27Chemel, James L Cpa RENEWAL86Ivan Magalhaes
1010James X VocelkaCanada2026-10-21Morlong Associates NEGOTIATION2Anna Fali
1011Mayumi Q GillianJapan2026-10-10Morlong Associates PROPOSAL78Anna Fali
1012Johnson Z DilliardJapan2026-10-27Benton, John B Jr PROPOSAL51Stephen Shaw
1013Jones L SchemmerJapan2026-10-17Chapman, Ross E Esq RENEWAL93Xuxue Feng
1014Kadeem R GarufiAustralia2026-10-26Chapman, Ross E Esq NEW60Elwin Sharvill
1015Faith A KuskoRussia2026-10-11Truhlar And Truhlar Attys RENEWAL19Ivan Magalhaes
1016Salvatore W RoysterRussia2026-10-18King, Christopher A Esq NEW82Ivan Magalhaes
1017Faith P GillianCanada2026-10-10Rangoni Of Florence RENEWAL85Onyama Limba
1018Costa A MaletItaly2026-10-06Chanay, Jeffrey A Esq QUALIFIED10Amy Elsner
1019Francesco X MarrierGermany2026-10-22Chanay, Jeffrey A Esq NEW99Bernardo Dominic
1020James Z FigeroaFrance2026-10-04Chemel, James L Cpa NEW2Amy Elsner
1021Smith Q OstroskyRussia2026-10-15Printing Dimensions QUALIFIED30Bernardo Dominic
1022Stacey R SchemmerFrance2026-09-30Rangoni Of Florence QUALIFIED77Stephen Shaw
1023Wickens P GarufiBrazil2026-10-02Chapman, Ross E Esq QUALIFIED68Stephen Shaw
1024Juan U KolmetzArgentina2026-10-25Truhlar And Truhlar Attys PROPOSAL83Elwin Sharvill
1025Cody Z BowleyJapan2026-10-02Truhlar And Truhlar Attys NEGOTIATION80Elwin Sharvill
1026Izzy P CaudyAustralia2026-10-03Chanay, Jeffrey A Esq RENEWAL0Onyama Limba
1027Arvin W AmigonBrazil2026-10-13Feltz Printing Service NEW6Amy Elsner
1028Octavia B ButtItaly2026-10-28Chanay, Jeffrey A Esq UNQUALIFIED44Onyama Limba
1029Stacey O DilliardFrance2026-10-01Feiner Bros PROPOSAL87Stephen Shaw
1030Rodrigues D NickaAustralia2026-10-25Buckley Miller Wright UNQUALIFIED25Amy Elsner
1031James U NickaRussia2026-10-26Truhlar And Truhlar Attys UNQUALIFIED97Onyama Limba
1032Wickens K CampainCanada2026-10-15Rousseaux, Michael Esq RENEWAL17Xuxue Feng
1033Sinclair L GillianJapan2026-10-26Feltz Printing Service PROPOSAL74Stephen Shaw
1034Maria M RimAustralia2026-10-18Chemel, James L Cpa QUALIFIED98Elwin Sharvill
1035Alejandro L VenereIndia2026-10-17Commercial Press PROPOSAL33Ivan Magalhaes
1036Emily Q CaldareraCanada2026-10-21Chanay, Jeffrey A Esq UNQUALIFIED40Anna Fali
1037Julie J OstroskyItaly2026-10-08Feltz Printing Service NEGOTIATION51Onyama Limba
1038Chavez R KolmetzRussia2026-10-24Buckley Miller Wright RENEWAL44Ivan Magalhaes
1039Chavez F BologniaItaly2026-10-03King, Christopher A Esq QUALIFIED76Elwin Sharvill
1040Ricardo Z SlusarskiItaly2026-10-11Buckley Miller Wright PROPOSAL56Asiya Javayant
1041Stacey I KuskoUnited Kingdom2026-10-25Chapman, Ross E Esq NEW78Ioni Bowcher
1042Maisha R DoeRussia2026-10-18Buckley Miller Wright NEW81Ivan Magalhaes
1043Greenwood J NestleCanada2026-10-20Rangoni Of Florence NEGOTIATION48Ivan Magalhaes
1044Claire B SergiIndia2026-10-20Chemel, James L Cpa RENEWAL90Bernardo Dominic
1045Chavez I OldroydAustralia2026-10-11Chapman, Ross E Esq PROPOSAL18Ioni Bowcher
1046Francesco Q RulapaughFrance2026-10-05Rousseaux, Michael Esq PROPOSAL56Xuxue Feng
1047Emily S CaldareraIndia2026-10-20King, Christopher A Esq PROPOSAL0Elwin Sharvill
1048Silvio M BologniaItaly2026-10-12Morlong Associates NEGOTIATION20Bernardo Dominic
1049Faith Q DarakjySpain2026-10-12Chemel, James L Cpa NEGOTIATION97Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow W BriddickJapanIvan Magalhaes QUALIFIED
Murillo Y BriddickCanadaOnyama Limba UNQUALIFIED
Clifford J DilliardAustraliaAmy Elsner PROPOSAL
Wickens I GlickArgentinaBernardo Dominic NEGOTIATION
Aruna W VocelkaBrazilAmy Elsner UNQUALIFIED
Smith Z DoeCanadaStephen Shaw UNQUALIFIED
Emily O DarakjyJapanAsiya Javayant NEW
Kadeem H OldroydIndiaAsiya Javayant UNQUALIFIED
Jefferson Z OstroskyGermanyAmy Elsner NEW
Jefferson E RutaUnited KingdomBernardo Dominic QUALIFIED
Tony Q MaletAustraliaOnyama Limba RENEWAL
Clifford N CaudySpainXuxue Feng NEGOTIATION
Aditya Z AmigonUnited KingdomAmy Elsner NEW
Claire Q AlbaresIndiaXuxue Feng RENEWAL
Octavia U DoeBrazilIoni Bowcher UNQUALIFIED
Maisha D MorascaItalyAmy Elsner QUALIFIED
Maria H OstroskyRussiaOnyama Limba PROPOSAL
Arvin P PaprockiSpainBernardo Dominic UNQUALIFIED
Jeanfrancois Y MaletIndiaBernardo Dominic RENEWAL
Maisha I BowleyRussiaXuxue Feng QUALIFIED
Juan M SergiIndiaOnyama Limba QUALIFIED
Wickens Q RutaJapanIvan Magalhaes RENEWAL
Jennifer K RimBrazilAnna Fali UNQUALIFIED
Octavia K ChuiFranceBernardo Dominic RENEWAL
Emily D FollerIndiaAmy Elsner UNQUALIFIED
Rodrigues D FlosiSpainAsiya Javayant RENEWAL
Mujtaba O WhobreyRussiaStephen Shaw NEGOTIATION
Jefferson L SergiCanadaBernardo Dominic NEGOTIATION
Ashley O StockhamIndiaElwin Sharvill RENEWAL
Ricardo A RulapaughJapanXuxue Feng PROPOSAL
Morrow C OstroskyItalyOnyama Limba UNQUALIFIED
Wickens A KolmetzRussiaAnna Fali QUALIFIED
Maria P DilliardFranceAnna Fali PROPOSAL
Ricardo Q DilliardSpainIvan Magalhaes NEGOTIATION
Leja K NestleArgentinaBernardo Dominic NEGOTIATION
Faith X ShinkoArgentinaAsiya Javayant QUALIFIED
Misaki T FigeroaRussiaStephen Shaw PROPOSAL
Ashley X WhobreySpainOnyama Limba QUALIFIED
Leja P AmigonUnited KingdomXuxue Feng QUALIFIED
Jeanfrancois W GlickUnited KingdomAmy Elsner UNQUALIFIED
Munro G MacleadJapanAmy Elsner PROPOSAL
Deepesh A RoysterIndiaBernardo Dominic NEGOTIATION
Leja H SaylorsSpainIoni Bowcher RENEWAL
Julie Y OldroydBrazilStephen Shaw NEW
Costa L CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Maisha C WaycottSpainXuxue Feng NEGOTIATION
Juan Q PaprockiRussiaAmy Elsner NEGOTIATION
Nicolas U CaldareraSpainAmy Elsner RENEWAL
Claire O WieserFranceXuxue Feng RENEWAL
Izzy B BologniaArgentinaOnyama Limba NEW
Frozen Columns
Name
Misaki P Inouye
Alejandro H Caudy
Sinclair M Albares
Kadeem H Stockham
Maisha F Dilliard
Emily F Royster
Salvatore K Gaucho
Cody Q Kusko
Antonio H Ostrosky
Wickens Z Iturbide
Ricardo O Doe
Leon H Stockham
Jones U Stockham
Smith O Glick
Leja S Chui
Antonio G Amigon
Julie F Chui
Murillo F Waycott
Johnson X Campain
Morrow C Iturbide
Ricardo H Gillian
Jeanfrancois G Caldarera
Aditya W Wieser
Francesco X Maclead
Smith O Tollner
Darci G Venere
Misaki Z Glick
Maisha E Schemmer
James W Malet
Aditya Q Nestle
Octavia H Garufi
Leon H Malet
Octavia K Stenseth
Nicolas V Kolmetz
Kadeem L Gaucho
Clifford Q Flosi
Stacey D Poquette
Emily J Morasca
Greenwood Y Wieser
Nicolas N Kolmetz
Clifford R Wieser
Octavia Z Ferencz
Alejandro T Darakjy
Ricardo D Gaucho
Ivar Z Doe
Rodrigues J Tollner
Claire G Dilliard
Chavez M Kusko
Deepesh E Darakjy
Aika T Perin
IdCountryDate
1000Australia2026-10-11
1001Brazil2026-10-02
1002Brazil2026-10-25
1003Spain2026-10-02
1004Australia2026-10-22
1005Italy2026-10-13
1006Brazil2026-10-01
1007Russia2026-10-02
1008Russia2026-10-21
1009Japan2026-10-24
1010Australia2026-10-22
1011France2026-10-23
1012United Kingdom2026-10-17
1013Australia2026-10-20
1014Germany2026-10-16
1015Russia2026-10-18
1016Russia2026-09-30
1017France2026-10-29
1018Argentina2026-10-28
1019Russia2026-10-27
1020India2026-10-14
1021Australia2026-10-08
1022Brazil2026-10-25
1023India2026-10-11
1024Spain2026-10-28
1025Spain2026-10-26
1026Italy2026-10-23
1027Japan2026-10-16
1028Argentina2026-10-20
1029Japan2026-10-06
1030Italy2026-10-24
1031United Kingdom2026-10-26
1032Italy2026-10-13
1033Russia2026-10-14
1034Germany2026-10-05
1035India2026-10-14
1036Australia2026-10-24
1037Spain2026-10-12
1038Russia2026-10-21
1039Canada2026-10-10
1040United Kingdom2026-10-18
1041United Kingdom2026-10-09
1042Argentina2026-10-12
1043Australia2026-10-21
1044France2026-10-10
1045Russia2026-10-15
1046Brazil2026-10-06
1047France2026-10-23
1048India2026-10-28
1049Australia2026-10-28

On-Demand Data

NameIdCountryDate
Jeanfrancois Z Sergi1000Italy2026-10-24
Costa G Oldroyd1001Germany2026-10-13
Ricardo B Rulapaugh1002Brazil2026-10-04
Julie V Shinko1003Spain2026-10-26
Jones U Venere1004Japan2026-10-28
Wickens W Schemmer1005United Kingdom2026-10-23
Jennifer X Butt1006India2026-10-15
Silvio U Poquette1007Russia2026-10-25
Johnson T Stockham1008Italy2026-10-19
Antonio X Venere1009United Kingdom2026-10-01
Darci O Butt1010Canada2026-10-27
Greenwood N Venere1011Russia2026-10-04
Wickens M Nestle1012Germany2026-10-21
Johnson B Briddick1013Brazil2026-10-19
Leja Q Chui1014Italy2026-10-25
Antonio W Butt1015Russia2026-10-11
Maria W Poquette1016Spain2026-10-25
Misaki M Campain1017India2026-10-20
Tony P Paprocki1018Canada2026-10-15
Isabel X Bolognia1019Russia2026-10-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar I MaletItalyAmy Elsner RENEWAL
Misaki F SchemmerCanadaAsiya Javayant QUALIFIED
Silvio Q AlbaresGermanyAmy Elsner UNQUALIFIED
Costa T GarufiBrazilIvan Magalhaes PROPOSAL
Adams T BologniaArgentinaBernardo Dominic RENEWAL
Adams M InouyeFranceAmy Elsner NEW
Juan N RutaArgentinaBernardo Dominic UNQUALIFIED
Darci H GauchoFranceElwin Sharvill UNQUALIFIED
Costa C NestleGermanyAsiya Javayant PROPOSAL
Faith F GauchoJapanIvan Magalhaes QUALIFIED
Murillo T StensethBrazilXuxue Feng RENEWAL
Kaitlin S IturbideSpainIoni Bowcher UNQUALIFIED
Alejandro K MorascaSpainIvan Magalhaes PROPOSAL
Adams A BologniaJapanIvan Magalhaes UNQUALIFIED
Aditya Y ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Alejandro D RulapaughIndiaOnyama Limba QUALIFIED
Stacey G ShinkoFranceAsiya Javayant PROPOSAL
Ashley R MaletJapanBernardo Dominic RENEWAL
Aika S WieserCanadaIvan Magalhaes RENEWAL
Juan S MaletJapanElwin Sharvill UNQUALIFIED
Francesco I IturbideIndiaAsiya Javayant NEW
Deepesh M RutaJapanXuxue Feng UNQUALIFIED
Aditya C PoquetteUnited KingdomAsiya Javayant QUALIFIED
Stacey H GlickAustraliaAsiya Javayant NEW
Costa Y WaycottAustraliaAmy Elsner RENEWAL
Darci E CampainRussiaStephen Shaw QUALIFIED
Antonio H BowleyFranceAnna Fali NEW
Tony N ChuiAustraliaXuxue Feng NEGOTIATION
Francesco B MacleadItalyIvan Magalhaes PROPOSAL
Antonio G FollerAustraliaStephen Shaw NEW
Mujtaba U OstroskyIndiaAmy Elsner UNQUALIFIED
Costa W AmigonItalyElwin Sharvill PROPOSAL
Morrow M DarakjyArgentinaIvan Magalhaes RENEWAL
David P OstroskySpainAmy Elsner RENEWAL
Isabel B NestleJapanIoni Bowcher UNQUALIFIED
Maisha H FerenczBrazilAnna Fali RENEWAL
Arvin I FlosiCanadaStephen Shaw QUALIFIED
Antonio C GarufiItalyXuxue Feng NEW
James C SchemmerFranceAsiya Javayant NEW
Maria T MorascaBrazilAsiya Javayant 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>