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
Smith P GarufiItalyXuxue Feng NEW
Morrow I RimJapanXuxue Feng UNQUALIFIED
Isabel U GlickFranceAmy Elsner NEW
Mayumi K MarrierIndiaElwin Sharvill PROPOSAL
Salvatore K FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Aditya H ChuiRussiaOnyama Limba RENEWAL
Wickens T MorascaGermanyStephen Shaw QUALIFIED
Leon F MacleadAustraliaOnyama Limba QUALIFIED
Faith Y BowleyItalyAsiya Javayant NEGOTIATION
Maria X WhobreyFranceAsiya Javayant NEGOTIATION
Arvin D BriddickAustraliaIvan Magalhaes RENEWAL
Francesco L PaprockiCanadaIvan Magalhaes UNQUALIFIED
Emily N WaycottItalyAnna Fali NEGOTIATION
Sinclair J FollerSpainIvan Magalhaes RENEWAL
Octavia R ButtCanadaOnyama Limba PROPOSAL
Adams T RulapaughRussiaElwin Sharvill RENEWAL
Chavez Y BowleyGermanyElwin Sharvill QUALIFIED
Deepesh V RulapaughItalyAnna Fali PROPOSAL
Wickens K AmigonRussiaAmy Elsner NEGOTIATION
Aditya Q MarrierAustraliaAnna Fali RENEWAL
Claire B MarrierGermanyStephen Shaw RENEWAL
Kaitlin M GauchoUnited KingdomElwin Sharvill PROPOSAL
Morrow P GlickCanadaAsiya Javayant UNQUALIFIED
Costa W MaletBrazilAmy Elsner PROPOSAL
Aruna F CampainGermanyAmy Elsner NEW
Emily S VenereIndiaStephen Shaw QUALIFIED
Cody E GillianCanadaOnyama Limba NEW
Isabel A RimArgentinaBernardo Dominic QUALIFIED
Juan J OstroskyFranceBernardo Dominic PROPOSAL
Octavia B ButtArgentinaXuxue Feng PROPOSAL
Antonio F TollnerAustraliaOnyama Limba RENEWAL
Juan J FerenczCanadaAsiya Javayant UNQUALIFIED
Jeanfrancois Q PaprockiArgentinaAnna Fali UNQUALIFIED
Adams L MaletRussiaXuxue Feng UNQUALIFIED
Murillo A BriddickArgentinaXuxue Feng NEGOTIATION
Adams Y VenereUnited KingdomIvan Magalhaes PROPOSAL
Jeanfrancois D GlickSpainOnyama Limba NEGOTIATION
Darci F SchemmerRussiaAnna Fali UNQUALIFIED
Izzy U RimRussiaBernardo Dominic PROPOSAL
Kaitlin C CaudyItalyIoni Bowcher RENEWAL
Adams X VenereRussiaOnyama Limba PROPOSAL
Maria L DilliardFranceAmy Elsner NEGOTIATION
Ivar K OldroydUnited KingdomIvan Magalhaes NEW
Clifford I SergiUnited KingdomElwin Sharvill PROPOSAL
Antonio L VenereIndiaAsiya Javayant NEW
Ashley U IturbideArgentinaOnyama Limba UNQUALIFIED
Smith T OldroydBrazilAsiya Javayant RENEWAL
Julie G AmigonIndiaStephen Shaw RENEWAL
Faith O KuskoIndiaIvan Magalhaes UNQUALIFIED
Aika F ButtAustraliaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Chavez N SergiUnited KingdomIvan Magalhaes UNQUALIFIED
Misaki X SaylorsGermanyIoni Bowcher UNQUALIFIED
Cody M SlusarskiCanadaXuxue Feng UNQUALIFIED
Maisha S VenereJapanBernardo Dominic UNQUALIFIED
Smith D ShinkoUnited KingdomAmy Elsner RENEWAL
Wickens Z WhobreyItalyOnyama Limba NEW
Misaki E InouyeSpainAsiya Javayant UNQUALIFIED
Murillo S FlosiSpainAmy Elsner NEGOTIATION
Stacey E CaudyUnited KingdomAmy Elsner RENEWAL
Isabel B AlbaresAustraliaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon U NestleJapan2026-09-01Rousseaux, Michael Esq PROPOSAL49Stephen Shaw
1001Johnson A FerenczJapan2026-08-28Chapman, Ross E Esq QUALIFIED64Stephen Shaw
1002Chavez M SergiRussia2026-08-14Chemel, James L Cpa NEW93Ioni Bowcher
1003Juan G FlosiUnited Kingdom2026-08-27Commercial Press RENEWAL40Xuxue Feng
1004Deepesh N FerenczAustralia2026-08-27Dorl, James J Esq PROPOSAL26Xuxue Feng
1005Smith C AmigonCanada2026-08-16Chemel, James L Cpa PROPOSAL41Xuxue Feng
1006Izzy A NestleUnited Kingdom2026-08-29Feiner Bros NEGOTIATION10Stephen Shaw
1007Maria X OstroskyArgentina2026-08-30Rousseaux, Michael Esq QUALIFIED39Stephen Shaw
1008Sinclair K NickaFrance2026-08-31Morlong Associates QUALIFIED71Ivan Magalhaes
1009Ricardo C MacleadSpain2026-08-29Printing Dimensions UNQUALIFIED96Ioni Bowcher
1010Izzy O NickaBrazil2026-08-07Truhlar And Truhlar Attys NEW20Elwin Sharvill
1011Jones R MacleadJapan2026-08-27Chapman, Ross E Esq UNQUALIFIED13Asiya Javayant
1012Murillo C DilliardCanada2026-08-25Truhlar And Truhlar Attys NEW25Asiya Javayant
1013Antonio P FollerAustralia2026-08-04Chapman, Ross E Esq PROPOSAL95Onyama Limba
1014Maria Y InouyeIndia2026-08-19Commercial Press PROPOSAL56Ivan Magalhaes
1015Aditya Z DoeGermany2026-08-22Chanay, Jeffrey A Esq NEGOTIATION24Ivan Magalhaes
1016Aika K ShinkoCanada2026-08-27Truhlar And Truhlar Attys QUALIFIED83Onyama Limba
1017Aika C RimCanada2026-08-14Commercial Press NEGOTIATION64Amy Elsner
1018Jennifer W ButtGermany2026-08-28Morlong Associates QUALIFIED94Asiya Javayant
1019Murillo R InouyeRussia2026-09-01Benton, John B Jr NEGOTIATION39Amy Elsner
1020Sinclair E MaletSpain2026-08-16Chanay, Jeffrey A Esq UNQUALIFIED31Ioni Bowcher
1021Mujtaba B PerinArgentina2026-08-25Benton, John B Jr UNQUALIFIED43Onyama Limba
1022Misaki C ChuiSpain2026-09-02King, Christopher A Esq NEW24Elwin Sharvill
1023Juan Z GarufiBrazil2026-08-12Chemel, James L Cpa NEW75Elwin Sharvill
1024Ricardo F RutaGermany2026-08-05Feltz Printing Service NEGOTIATION36Elwin Sharvill
1025James M WieserSpain2026-08-20Morlong Associates RENEWAL52Stephen Shaw
1026Jeanfrancois T MaletItaly2026-08-10Truhlar And Truhlar Attys UNQUALIFIED77Stephen Shaw
1027Maisha S CampainJapan2026-08-05Chapman, Ross E Esq RENEWAL24Elwin Sharvill
1028Arvin C StockhamItaly2026-08-19Feiner Bros QUALIFIED49Xuxue Feng
1029Maria K ButtAustralia2026-08-31Rangoni Of Florence RENEWAL43Anna Fali
1030Kaitlin A ChuiUnited Kingdom2026-08-30Buckley Miller Wright UNQUALIFIED13Bernardo Dominic
1031Izzy F CaldareraCanada2026-08-06Feltz Printing Service UNQUALIFIED82Xuxue Feng
1032Izzy M SaylorsBrazil2026-08-12Chapman, Ross E Esq NEGOTIATION16Elwin Sharvill
1033Munro N DilliardRussia2026-08-04Dorl, James J Esq PROPOSAL6Ivan Magalhaes
1034Ashley Z MaletBrazil2026-08-06Benton, John B Jr RENEWAL65Xuxue Feng
1035Ricardo S MorascaGermany2026-08-20Feiner Bros NEW72Xuxue Feng
1036James B RutaGermany2026-08-09Chapman, Ross E Esq NEGOTIATION95Ioni Bowcher
1037Jeanfrancois C GarufiJapan2026-08-09Feiner Bros RENEWAL54Bernardo Dominic
1038Rodrigues S InouyeSpain2026-08-06Printing Dimensions PROPOSAL59Asiya Javayant
1039Aditya R RoysterGermany2026-08-26Printing Dimensions UNQUALIFIED22Bernardo Dominic
1040Francesco U BowleyUnited Kingdom2026-08-07Printing Dimensions PROPOSAL6Elwin Sharvill
1041Costa Z IturbideArgentina2026-08-18Chapman, Ross E Esq QUALIFIED98Ioni Bowcher
1042Aika V MorascaSpain2026-08-26Morlong Associates UNQUALIFIED14Stephen Shaw
1043Tony B DilliardRussia2026-09-02Chapman, Ross E Esq RENEWAL37Asiya Javayant
1044Leja R CaldareraAustralia2026-08-14Chapman, Ross E Esq UNQUALIFIED48Stephen Shaw
1045Alejandro X RulapaughSpain2026-08-15Commercial Press PROPOSAL73Ivan Magalhaes
1046Antonio K GillianIndia2026-08-20Rangoni Of Florence RENEWAL37Elwin Sharvill
1047Jones K MaletItaly2026-08-26Feiner Bros RENEWAL72Ioni Bowcher
1048Stacey R CaldareraJapan2026-08-29Chapman, Ross E Esq PROPOSAL42Xuxue Feng
1049Chavez P SergiSpain2026-08-27Commercial Press QUALIFIED56Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Smith A NickaIndiaIoni Bowcher QUALIFIED
Leon B GillianJapanAsiya Javayant PROPOSAL
Chavez K IturbideAustraliaIvan Magalhaes RENEWAL
Mayumi S MorascaAustraliaIoni Bowcher UNQUALIFIED
Ashley E NickaFranceStephen Shaw QUALIFIED
Alejandro J WhobreyItalyIoni Bowcher RENEWAL
Rodrigues V BriddickSpainOnyama Limba RENEWAL
Wickens Q CampainItalyIvan Magalhaes PROPOSAL
Stacey Y BologniaJapanXuxue Feng UNQUALIFIED
Munro H PoquetteGermanyStephen Shaw UNQUALIFIED
Juan X WaycottCanadaAsiya Javayant RENEWAL
Jeanfrancois V SlusarskiFranceStephen Shaw NEGOTIATION
Izzy K SchemmerRussiaStephen Shaw UNQUALIFIED
Jeanfrancois P FollerIndiaAmy Elsner RENEWAL
James M OldroydCanadaXuxue Feng NEGOTIATION
Ashley E AmigonGermanyIoni Bowcher QUALIFIED
Leon V BologniaItalyXuxue Feng PROPOSAL
Izzy A WaycottFranceIvan Magalhaes QUALIFIED
Kadeem K PoquetteAustraliaAsiya Javayant UNQUALIFIED
Julie Q RimCanadaBernardo Dominic PROPOSAL
Kadeem X KolmetzJapanIoni Bowcher UNQUALIFIED
Rodrigues Y DarakjySpainIvan Magalhaes QUALIFIED
Chavez X CaldareraCanadaIvan Magalhaes QUALIFIED
Ivar N SaylorsArgentinaAmy Elsner UNQUALIFIED
Aika M MarrierSpainBernardo Dominic UNQUALIFIED
Kaitlin D NickaCanadaBernardo Dominic PROPOSAL
Maisha W KolmetzFranceXuxue Feng QUALIFIED
Johnson B VenereFranceAmy Elsner NEGOTIATION
Tony Z RoysterRussiaAsiya Javayant PROPOSAL
Morrow W BriddickIndiaBernardo Dominic QUALIFIED
Munro W AlbaresAustraliaBernardo Dominic PROPOSAL
Jeanfrancois Y NickaIndiaOnyama Limba NEGOTIATION
Tony W StensethBrazilAsiya Javayant NEGOTIATION
Costa R CaudyGermanyOnyama Limba UNQUALIFIED
Munro W BologniaJapanElwin Sharvill UNQUALIFIED
Claire X DarakjyItalyBernardo Dominic UNQUALIFIED
Maisha Q SaylorsBrazilIvan Magalhaes RENEWAL
Chavez D RutaAustraliaIoni Bowcher QUALIFIED
Darci Q GlickJapanAsiya Javayant PROPOSAL
Nicolas F DarakjyItalyElwin Sharvill RENEWAL
Leja Q CampainRussiaAnna Fali PROPOSAL
Nicolas P GauchoGermanyBernardo Dominic RENEWAL
David B MarrierItalyOnyama Limba UNQUALIFIED
David P PaprockiSpainIvan Magalhaes NEW
Antonio I GarufiAustraliaElwin Sharvill PROPOSAL
Morrow K WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Murillo I TollnerSpainBernardo Dominic UNQUALIFIED
Misaki N WieserGermanyOnyama Limba QUALIFIED
Mujtaba S FlosiUnited KingdomStephen Shaw NEGOTIATION
Kadeem W OstroskyIndiaAmy Elsner NEGOTIATION
Frozen Columns
Name
Antonio P Bowley
Jeanfrancois Q Ferencz
Maisha T Ruta
Kaitlin X Perin
Aika C Nestle
Clifford E Butt
Mayumi E Albares
Morrow Z Garufi
Stacey A Tollner
Alejandro D Stenseth
Ivar K Caudy
Jennifer I Sergi
Salvatore L Marrier
Octavia X Nestle
Salvatore W Amigon
Emily Z Garufi
Arvin Y Sergi
Sinclair R Foller
Emily P Nicka
Morrow A Albares
Munro L Royster
Sinclair Z Shinko
Claire M Nestle
Izzy N Dilliard
Stacey B Malet
Aika W Nicka
Johnson H Caudy
Claire M Vocelka
Clifford F Doe
Stacey Y Perin
Alejandro W Bolognia
Cody L Marrier
Murillo R Flosi
James L Nicka
Arvin Y Butt
Murillo F Maclead
Antonio N Albares
James G Ferencz
Chavez K Sergi
Leja Q Rulapaugh
Leon I Morasca
Isabel O Caldarera
Greenwood G Vocelka
Ricardo N Nestle
Alejandro G Tollner
Ashley G Bolognia
Ashley G Caudy
Kadeem C Caudy
Claire H Doe
Costa K Glick
IdCountryDate
1000Italy2026-08-10
1001United Kingdom2026-09-02
1002France2026-08-06
1003India2026-08-07
1004United Kingdom2026-08-14
1005India2026-08-21
1006United Kingdom2026-08-23
1007India2026-08-05
1008Japan2026-08-24
1009France2026-08-22
1010United Kingdom2026-08-29
1011Russia2026-08-23
1012Australia2026-08-31
1013India2026-08-31
1014Italy2026-08-30
1015Russia2026-08-18
1016Brazil2026-08-05
1017United Kingdom2026-08-17
1018Canada2026-08-15
1019Germany2026-08-27
1020Italy2026-09-01
1021Argentina2026-08-12
1022Canada2026-08-24
1023Brazil2026-08-25
1024Germany2026-08-15
1025Brazil2026-08-11
1026Russia2026-08-10
1027Brazil2026-08-15
1028Italy2026-08-05
1029Italy2026-08-12
1030Germany2026-08-27
1031Canada2026-08-13
1032Argentina2026-08-05
1033United Kingdom2026-08-18
1034Germany2026-08-21
1035Japan2026-09-02
1036Japan2026-08-15
1037Argentina2026-08-06
1038Canada2026-09-02
1039Spain2026-08-25
1040Italy2026-08-19
1041France2026-08-16
1042Brazil2026-08-28
1043Australia2026-08-29
1044India2026-08-25
1045Germany2026-08-25
1046Russia2026-08-05
1047Argentina2026-08-20
1048France2026-08-29
1049Argentina2026-08-25

On-Demand Data

NameIdCountryDate
Ivar E Waycott1000Canada2026-08-06
Jones R Ferencz1001Italy2026-08-31
Stacey L Malet1002Germany2026-08-31
Jennifer Z Whobrey1003Spain2026-08-18
Aditya C Venere1004United Kingdom2026-08-05
Stacey V Perin1005India2026-08-11
Juan J Foller1006Canada2026-08-13
James H Caldarera1007Australia2026-08-30
Kadeem O Whobrey1008Russia2026-08-05
Alejandro N Marrier1009France2026-08-09
Sinclair Y Saylors1010Brazil2026-08-11
Alejandro S Campain1011India2026-08-26
Johnson F Oldroyd1012Germany2026-08-21
Morrow D Gaucho1013Brazil2026-08-05
Ricardo E Slusarski1014Argentina2026-08-24
Jones Q Shinko1015Argentina2026-08-13
Wickens K Marrier1016Canada2026-08-08
David K Ferencz1017United Kingdom2026-08-25
Faith N Caudy1018Spain2026-08-05
Morrow M Chui1019India2026-08-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo Z FlosiBrazilIoni Bowcher UNQUALIFIED
Mujtaba V OstroskyAustraliaBernardo Dominic PROPOSAL
Ricardo H FlosiJapanIoni Bowcher RENEWAL
Aika D GarufiAustraliaStephen Shaw NEW
Ashley L ChuiCanadaBernardo Dominic NEGOTIATION
Kaitlin R SergiCanadaStephen Shaw PROPOSAL
Stacey Q OldroydCanadaStephen Shaw NEGOTIATION
Deepesh D WaycottRussiaAnna Fali NEW
Rodrigues I AmigonIndiaStephen Shaw UNQUALIFIED
Chavez B VocelkaBrazilElwin Sharvill PROPOSAL
Deepesh N InouyeFranceElwin Sharvill NEGOTIATION
Leon T MacleadBrazilStephen Shaw NEGOTIATION
Cody T StockhamArgentinaAnna Fali RENEWAL
Jones K PaprockiSpainAmy Elsner UNQUALIFIED
Chavez N KolmetzArgentinaAsiya Javayant QUALIFIED
Stacey G VenereUnited KingdomBernardo Dominic NEGOTIATION
Francesco U SaylorsBrazilElwin Sharvill NEGOTIATION
Stacey I GillianCanadaAmy Elsner PROPOSAL
Smith E PoquetteGermanyAsiya Javayant PROPOSAL
Antonio Z FigeroaJapanIoni Bowcher UNQUALIFIED
Alejandro W GarufiArgentinaOnyama Limba UNQUALIFIED
Maisha C SlusarskiUnited KingdomXuxue Feng RENEWAL
Misaki L MaletCanadaBernardo Dominic NEGOTIATION
Greenwood U RimJapanAmy Elsner RENEWAL
Alejandro W FigeroaUnited KingdomOnyama Limba QUALIFIED
Greenwood S PaprockiSpainXuxue Feng RENEWAL
Tony G AmigonUnited KingdomOnyama Limba RENEWAL
Aruna G IturbideCanadaAmy Elsner UNQUALIFIED
Greenwood O BologniaJapanAsiya Javayant UNQUALIFIED
Johnson H MaletArgentinaAnna Fali NEGOTIATION
Juan R StockhamIndiaStephen Shaw QUALIFIED
Chavez Q VocelkaItalyOnyama Limba NEW
Sinclair X AlbaresUnited KingdomIvan Magalhaes PROPOSAL
Rodrigues Q ChuiBrazilElwin Sharvill PROPOSAL
Jones L PoquetteUnited KingdomBernardo Dominic QUALIFIED
Adams L MorascaSpainOnyama Limba NEGOTIATION
Greenwood G FlosiArgentinaAnna Fali RENEWAL
Cody M NickaBrazilAnna Fali PROPOSAL
Johnson G GauchoArgentinaIvan Magalhaes PROPOSAL
Ricardo B RoysterUnited KingdomElwin Sharvill 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>