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
Jones A ButtBrazilIoni Bowcher QUALIFIED
Cody A PerinFranceXuxue Feng NEGOTIATION
Nicolas I SergiSpainIoni Bowcher UNQUALIFIED
Maisha L FerenczBrazilElwin Sharvill RENEWAL
Murillo H GarufiCanadaAsiya Javayant QUALIFIED
Claire W WieserItalyElwin Sharvill NEGOTIATION
Ivar B WhobreyArgentinaElwin Sharvill RENEWAL
Salvatore Z BowleyArgentinaBernardo Dominic NEW
Costa Y FollerFranceBernardo Dominic RENEWAL
Leon V RoysterBrazilAsiya Javayant QUALIFIED
Rodrigues J NickaCanadaBernardo Dominic NEW
Leja N NickaCanadaIvan Magalhaes UNQUALIFIED
Claire B FollerArgentinaAsiya Javayant UNQUALIFIED
Aika V StockhamUnited KingdomXuxue Feng NEGOTIATION
Smith G CampainArgentinaStephen Shaw NEW
Jennifer Z InouyeJapanStephen Shaw NEW
Nicolas Y NestleFranceIoni Bowcher NEW
David Y RoysterSpainStephen Shaw NEGOTIATION
Deepesh X PoquetteIndiaIvan Magalhaes RENEWAL
Silvio I ChuiJapanElwin Sharvill NEW
Julie Y StensethAustraliaStephen Shaw NEGOTIATION
James J InouyeCanadaIoni Bowcher NEGOTIATION
Jones F BowleyCanadaIvan Magalhaes PROPOSAL
Jones C FollerBrazilXuxue Feng NEGOTIATION
Ashley S MarrierGermanyAsiya Javayant RENEWAL
Aruna C InouyeItalyOnyama Limba PROPOSAL
Emily J FlosiIndiaBernardo Dominic PROPOSAL
Ivar V WhobreyIndiaBernardo Dominic QUALIFIED
Greenwood J SergiUnited KingdomIoni Bowcher NEGOTIATION
Aditya J NickaUnited KingdomIoni Bowcher QUALIFIED
Deepesh H PaprockiCanadaIoni Bowcher RENEWAL
Ashley J StockhamFranceAnna Fali UNQUALIFIED
Costa U MacleadFranceElwin Sharvill NEGOTIATION
Emily Q FigeroaIndiaIoni Bowcher PROPOSAL
Jeanfrancois V PerinGermanyStephen Shaw UNQUALIFIED
Mayumi M VocelkaBrazilXuxue Feng PROPOSAL
Izzy H GarufiSpainBernardo Dominic RENEWAL
Ivar Y GlickIndiaStephen Shaw NEGOTIATION
Mayumi W RulapaughAustraliaOnyama Limba PROPOSAL
Isabel F GauchoAustraliaIvan Magalhaes RENEWAL
Tony N GlickUnited KingdomAnna Fali RENEWAL
Emily K AmigonItalyIoni Bowcher RENEWAL
Johnson H GlickCanadaXuxue Feng UNQUALIFIED
Nicolas Q ChuiFranceAmy Elsner QUALIFIED
Faith B FlosiIndiaAmy Elsner QUALIFIED
Emily Z FlosiUnited KingdomAnna Fali NEW
Greenwood R BologniaAustraliaBernardo Dominic NEGOTIATION
Johnson J ChuiJapanOnyama Limba RENEWAL
Aika P MacleadIndiaBernardo Dominic RENEWAL
David W BologniaSpainIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Julie N NestleAustraliaOnyama Limba QUALIFIED
Stacey E RutaRussiaOnyama Limba NEW
Ivar P RimSpainStephen Shaw NEW
Kadeem C OldroydUnited KingdomAsiya Javayant PROPOSAL
Octavia E KolmetzIndiaIoni Bowcher PROPOSAL
Emily S NestleBrazilIvan Magalhaes UNQUALIFIED
Ricardo X CampainUnited KingdomIvan Magalhaes QUALIFIED
Octavia F FollerUnited KingdomAmy Elsner NEGOTIATION
Smith N NestleArgentinaBernardo Dominic UNQUALIFIED
Jones E MacleadRussiaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio W KuskoGermany2026-09-21Feltz Printing Service NEW73Bernardo Dominic
1001Kaitlin T AmigonCanada2026-10-08Truhlar And Truhlar Attys QUALIFIED34Bernardo Dominic
1002Ricardo T NickaCanada2026-10-02Rangoni Of Florence UNQUALIFIED50Xuxue Feng
1003Antonio T CampainUnited Kingdom2026-09-13Rousseaux, Michael Esq RENEWAL16Amy Elsner
1004Leja J AlbaresJapan2026-10-07Feiner Bros NEW54Amy Elsner
1005Costa T RulapaughCanada2026-09-23Buckley Miller Wright NEW71Asiya Javayant
1006James O PerinFrance2026-10-05Chanay, Jeffrey A Esq UNQUALIFIED76Xuxue Feng
1007David H ChuiUnited Kingdom2026-10-10King, Christopher A Esq NEGOTIATION14Asiya Javayant
1008Silvio N TollnerArgentina2026-10-06Rangoni Of Florence RENEWAL75Xuxue Feng
1009James J KuskoItaly2026-09-28Commercial Press PROPOSAL95Asiya Javayant
1010Juan E FigeroaUnited Kingdom2026-09-20Chemel, James L Cpa NEW53Anna Fali
1011Ivar B OldroydArgentina2026-09-16Chapman, Ross E Esq RENEWAL67Stephen Shaw
1012Sinclair N DarakjyAustralia2026-10-04Feltz Printing Service RENEWAL35Amy Elsner
1013David F PerinFrance2026-10-03Rousseaux, Michael Esq NEW43Ioni Bowcher
1014Tony G ButtSpain2026-09-23Feiner Bros NEGOTIATION19Onyama Limba
1015Salvatore Y GarufiAustralia2026-09-16Rangoni Of Florence QUALIFIED62Asiya Javayant
1016Leja G RimArgentina2026-09-13Feiner Bros NEW46Ioni Bowcher
1017Francesco V FerenczRussia2026-10-10Printing Dimensions QUALIFIED51Asiya Javayant
1018Emily S StensethBrazil2026-10-04Truhlar And Truhlar Attys UNQUALIFIED31Amy Elsner
1019Costa X DilliardArgentina2026-10-07Rousseaux, Michael Esq RENEWAL48Bernardo Dominic
1020Julie M CaudyJapan2026-10-03Chemel, James L Cpa UNQUALIFIED66Bernardo Dominic
1021Cody X StensethGermany2026-10-02Rangoni Of Florence QUALIFIED96Ivan Magalhaes
1022Misaki F WhobreyFrance2026-10-01Printing Dimensions NEGOTIATION14Stephen Shaw
1023David X FlosiUnited Kingdom2026-10-06Truhlar And Truhlar Attys NEW88Asiya Javayant
1024Rodrigues H FigeroaCanada2026-09-27Buckley Miller Wright NEW47Ivan Magalhaes
1025Faith G PerinFrance2026-10-10Truhlar And Truhlar Attys RENEWAL41Stephen Shaw
1026Francesco E ChuiFrance2026-09-26Dorl, James J Esq NEW26Stephen Shaw
1027Mayumi P MorascaGermany2026-09-27King, Christopher A Esq UNQUALIFIED7Ioni Bowcher
1028David Y FigeroaGermany2026-10-07Dorl, James J Esq NEGOTIATION29Onyama Limba
1029Juan X MarrierBrazil2026-10-01Morlong Associates UNQUALIFIED27Ioni Bowcher
1030Francesco Q VenereIndia2026-09-14Benton, John B Jr NEGOTIATION31Stephen Shaw
1031Murillo F RoysterUnited Kingdom2026-09-20Dorl, James J Esq QUALIFIED39Onyama Limba
1032Jennifer Z FollerJapan2026-10-09Feiner Bros UNQUALIFIED3Bernardo Dominic
1033Leja L SergiRussia2026-09-25Rangoni Of Florence PROPOSAL16Elwin Sharvill
1034Sinclair W SchemmerGermany2026-09-27Buckley Miller Wright UNQUALIFIED86Amy Elsner
1035Emily X CaudyIndia2026-10-02Chapman, Ross E Esq RENEWAL90Elwin Sharvill
1036Alejandro U KuskoFrance2026-10-07Dorl, James J Esq NEW83Stephen Shaw
1037Ashley V ShinkoAustralia2026-09-17Benton, John B Jr NEGOTIATION92Onyama Limba
1038Claire H GillianArgentina2026-09-22Feltz Printing Service NEW26Onyama Limba
1039Maisha O SergiCanada2026-09-21Commercial Press UNQUALIFIED94Stephen Shaw
1040Ashley N SaylorsJapan2026-09-17Truhlar And Truhlar Attys NEW10Ivan Magalhaes
1041Jennifer U OldroydArgentina2026-09-27Chanay, Jeffrey A Esq PROPOSAL83Anna Fali
1042Silvio V AlbaresSpain2026-09-18King, Christopher A Esq RENEWAL79Ivan Magalhaes
1043Deepesh H GarufiArgentina2026-09-23Dorl, James J Esq RENEWAL72Onyama Limba
1044Greenwood J MacleadCanada2026-10-07Feltz Printing Service QUALIFIED44Bernardo Dominic
1045Emily D VenereSpain2026-09-25Printing Dimensions QUALIFIED15Ioni Bowcher
1046Jefferson D DilliardGermany2026-09-23Rousseaux, Michael Esq RENEWAL65Anna Fali
1047Arvin T FlosiSpain2026-10-01Printing Dimensions PROPOSAL86Stephen Shaw
1048Murillo W ChuiIndia2026-09-26Printing Dimensions QUALIFIED66Asiya Javayant
1049Jeanfrancois X DoeSpain2026-09-12Rangoni Of Florence NEW32Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Alejandro A NestleIndiaBernardo Dominic RENEWAL
Morrow G DoeFranceXuxue Feng RENEWAL
Greenwood A CaudyItalyAnna Fali UNQUALIFIED
Izzy G ShinkoFranceAmy Elsner PROPOSAL
Jeanfrancois P WhobreyUnited KingdomBernardo Dominic UNQUALIFIED
Kaitlin H KuskoBrazilBernardo Dominic UNQUALIFIED
Munro B MarrierArgentinaAsiya Javayant UNQUALIFIED
Mujtaba T DilliardSpainBernardo Dominic RENEWAL
Jefferson H GarufiUnited KingdomAnna Fali NEW
Cody M PaprockiUnited KingdomIoni Bowcher PROPOSAL
Aruna Z WaycottGermanyAmy Elsner QUALIFIED
Salvatore U NestleBrazilOnyama Limba PROPOSAL
Isabel K NestleFranceAsiya Javayant NEW
Munro E SaylorsArgentinaAmy Elsner NEW
Mujtaba J InouyeFranceStephen Shaw UNQUALIFIED
Leja K DarakjyBrazilElwin Sharvill QUALIFIED
Claire Z SchemmerAustraliaAmy Elsner PROPOSAL
Wickens I BologniaGermanyIvan Magalhaes UNQUALIFIED
Francesco K MorascaGermanyAmy Elsner RENEWAL
Alejandro A DarakjyItalyAnna Fali NEGOTIATION
Misaki I WaycottAustraliaAsiya Javayant NEGOTIATION
Leja Q NestleFranceIvan Magalhaes UNQUALIFIED
Chavez J WhobreyJapanStephen Shaw NEW
Cody U SergiUnited KingdomIoni Bowcher NEW
Leon G SaylorsSpainAnna Fali NEGOTIATION
Morrow I ChuiIndiaElwin Sharvill PROPOSAL
Tony Q NestleUnited KingdomBernardo Dominic NEW
Morrow L PoquetteIndiaXuxue Feng QUALIFIED
Johnson Q PaprockiItalyAnna Fali PROPOSAL
Wickens S WieserBrazilElwin Sharvill UNQUALIFIED
Juan S RutaUnited KingdomStephen Shaw NEW
Jennifer G ChuiUnited KingdomStephen Shaw QUALIFIED
Deepesh I StockhamSpainXuxue Feng PROPOSAL
Jones I FollerAustraliaElwin Sharvill NEGOTIATION
Mayumi R MacleadFranceOnyama Limba NEGOTIATION
Deepesh N MaletRussiaStephen Shaw QUALIFIED
Kaitlin J ShinkoIndiaBernardo Dominic PROPOSAL
Darci A MaletBrazilAmy Elsner NEGOTIATION
Jefferson I ShinkoGermanyBernardo Dominic PROPOSAL
Aruna C TollnerRussiaAmy Elsner RENEWAL
Ashley Q RoysterUnited KingdomBernardo Dominic NEGOTIATION
Jones Q FollerBrazilBernardo Dominic PROPOSAL
Misaki T IturbideBrazilOnyama Limba NEGOTIATION
Salvatore O FlosiJapanOnyama Limba UNQUALIFIED
Kaitlin N WieserGermanyIvan Magalhaes RENEWAL
Munro Y WaycottAustraliaElwin Sharvill PROPOSAL
Jefferson P PoquetteJapanXuxue Feng NEGOTIATION
Murillo H ShinkoRussiaIoni Bowcher RENEWAL
Smith Q MacleadItalyBernardo Dominic PROPOSAL
Izzy B BowleyGermanyIvan Magalhaes PROPOSAL
Frozen Columns
Name
Smith I Perin
Emily L Saylors
Adams J Bowley
Claire P Dilliard
Arvin U Butt
Misaki J Chui
Tony E Tollner
Leja H Caldarera
Munro Z Caldarera
Silvio X Slusarski
Mayumi B Vocelka
Arvin K Foller
Greenwood J Maclead
Jennifer D Marrier
David D Ruta
Deepesh F Kolmetz
Mayumi A Briddick
James L Maclead
Nicolas Z Briddick
Cody C Kolmetz
Octavia A Gillian
Mujtaba E Ferencz
Salvatore V Shinko
Ricardo B Gillian
Kadeem O Gaucho
Deepesh D Kolmetz
Wickens Q Wieser
Isabel O Caldarera
Jennifer F Perin
Arvin O Malet
Jennifer C Bowley
Jeanfrancois J Campain
Leon L Kusko
Arvin S Venere
Leja Q Morasca
Murillo C Gaucho
Aditya V Sergi
Jeanfrancois P Maclead
Leja F Ferencz
Rodrigues H Wieser
Arvin J Stockham
Antonio P Caldarera
Maisha T Tollner
Ricardo N Nicka
Deepesh N Bowley
Aditya Q Oldroyd
Misaki M Schemmer
Maisha Q Caldarera
Misaki V Sergi
Francesco E Caldarera
IdCountryDate
1000Germany2026-09-21
1001India2026-10-10
1002France2026-09-27
1003Brazil2026-09-29
1004Argentina2026-09-25
1005Australia2026-10-02
1006Brazil2026-10-04
1007Russia2026-09-25
1008Canada2026-10-02
1009United Kingdom2026-10-06
1010Australia2026-10-03
1011United Kingdom2026-10-05
1012Australia2026-09-26
1013Japan2026-09-25
1014United Kingdom2026-10-05
1015Brazil2026-10-01
1016Brazil2026-09-13
1017Spain2026-09-20
1018Italy2026-09-21
1019Spain2026-09-17
1020Australia2026-09-30
1021France2026-09-21
1022Russia2026-09-12
1023Argentina2026-10-09
1024Germany2026-09-29
1025United Kingdom2026-09-21
1026Japan2026-10-09
1027India2026-09-20
1028Spain2026-09-22
1029Spain2026-10-09
1030Canada2026-09-21
1031Japan2026-09-20
1032Russia2026-09-24
1033France2026-10-09
1034India2026-09-21
1035France2026-09-17
1036Argentina2026-09-28
1037Japan2026-09-21
1038Italy2026-09-22
1039United Kingdom2026-10-08
1040Italy2026-10-08
1041India2026-10-09
1042Germany2026-10-07
1043Germany2026-09-24
1044Japan2026-10-07
1045Japan2026-10-02
1046Germany2026-09-23
1047United Kingdom2026-10-01
1048Canada2026-09-28
1049France2026-09-29

On-Demand Data

NameIdCountryDate
Kadeem Q Ostrosky1000Argentina2026-09-14
Izzy P Gaucho1001Brazil2026-09-12
Tony W Malet1002France2026-09-30
Adams T Ferencz1003Italy2026-09-22
Darci U Bolognia1004Canada2026-09-28
Kaitlin L Malet1005Japan2026-09-27
Leja C Darakjy1006Germany2026-10-01
Nicolas P Nicka1007Russia2026-10-02
Ricardo S Albares1008Germany2026-09-21
Alejandro C Morasca1009Argentina2026-09-19
Claire Y Dilliard1010Canada2026-09-19
Aika Y Gillian1011India2026-09-12
Aruna Y Gillian1012Brazil2026-09-21
Aditya Y Maclead1013United Kingdom2026-09-24
Morrow S Gillian1014Canada2026-09-23
Kadeem E Kusko1015Germany2026-09-12
Francesco T Bowley1016United Kingdom2026-09-22
Tony K Morasca1017Argentina2026-10-03
Julie R Gillian1018Argentina2026-09-15
Aditya Z Saylors1019Argentina2026-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody Y GillianRussiaIvan Magalhaes NEGOTIATION
Octavia Q WhobreyCanadaAsiya Javayant QUALIFIED
Smith N MacleadAustraliaStephen Shaw RENEWAL
Maisha P BriddickRussiaOnyama Limba NEGOTIATION
Kadeem U FlosiIndiaStephen Shaw RENEWAL
Darci S SchemmerArgentinaBernardo Dominic QUALIFIED
Misaki V FigeroaBrazilAsiya Javayant UNQUALIFIED
Salvatore Z DoeRussiaAsiya Javayant PROPOSAL
Sinclair P BriddickUnited KingdomBernardo Dominic NEGOTIATION
Maria J CaudyArgentinaIoni Bowcher NEGOTIATION
Faith X RulapaughSpainAnna Fali QUALIFIED
Deepesh Y MorascaGermanyIoni Bowcher NEGOTIATION
Sinclair K KuskoFranceElwin Sharvill RENEWAL
Kaitlin Z PerinRussiaAnna Fali QUALIFIED
Aika L PaprockiBrazilIoni Bowcher RENEWAL
Johnson R MaletBrazilBernardo Dominic PROPOSAL
Stacey W NickaUnited KingdomAnna Fali RENEWAL
Misaki I AmigonUnited KingdomXuxue Feng QUALIFIED
Izzy V GarufiSpainAsiya Javayant RENEWAL
Sinclair D NestleGermanyIoni Bowcher RENEWAL
Murillo I AlbaresFranceAnna Fali UNQUALIFIED
Arvin O SchemmerIndiaBernardo Dominic QUALIFIED
Francesco X SlusarskiCanadaIoni Bowcher PROPOSAL
Chavez J GauchoIndiaXuxue Feng PROPOSAL
Sinclair J VenereSpainXuxue Feng PROPOSAL
Isabel U RulapaughAustraliaOnyama Limba UNQUALIFIED
Emily I FigeroaIndiaElwin Sharvill PROPOSAL
Izzy V AlbaresUnited KingdomIvan Magalhaes NEGOTIATION
Alejandro E DoeBrazilElwin Sharvill PROPOSAL
Mujtaba V WhobreyIndiaStephen Shaw UNQUALIFIED
Costa H CampainAustraliaIvan Magalhaes PROPOSAL
Ricardo X SlusarskiItalyBernardo Dominic NEW
Morrow O AlbaresAustraliaIvan Magalhaes UNQUALIFIED
David R StensethIndiaXuxue Feng UNQUALIFIED
Johnson H RimItalyStephen Shaw PROPOSAL
Rodrigues R DilliardAustraliaAnna Fali PROPOSAL
Nicolas R SlusarskiJapanAnna Fali UNQUALIFIED
Rodrigues J PerinSpainIoni Bowcher UNQUALIFIED
Francesco F SchemmerGermanyBernardo Dominic PROPOSAL
Clifford K KuskoRussiaStephen Shaw 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>