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
Cody I MorascaAustraliaAmy Elsner RENEWAL
Silvio J WieserItalyIoni Bowcher PROPOSAL
Julie M ChuiIndiaAnna Fali PROPOSAL
Costa L OstroskyFranceXuxue Feng NEGOTIATION
Ivar L ShinkoFranceAmy Elsner NEW
Costa A CaudyUnited KingdomBernardo Dominic NEGOTIATION
Silvio M CaudyUnited KingdomBernardo Dominic QUALIFIED
Morrow B IturbideGermanyAsiya Javayant NEW
James B ButtCanadaIoni Bowcher QUALIFIED
Sinclair L CampainIndiaOnyama Limba UNQUALIFIED
Silvio H WaycottBrazilAsiya Javayant QUALIFIED
Jefferson Q PerinJapanIvan Magalhaes RENEWAL
Antonio M OstroskySpainAsiya Javayant RENEWAL
Cody Q SaylorsIndiaBernardo Dominic PROPOSAL
Munro L SergiGermanyAnna Fali NEGOTIATION
Jennifer U AmigonSpainAnna Fali NEW
Mujtaba Y FollerBrazilElwin Sharvill QUALIFIED
Adams B VenereBrazilIvan Magalhaes NEGOTIATION
Murillo W FerenczUnited KingdomIvan Magalhaes PROPOSAL
Alejandro R ButtRussiaBernardo Dominic PROPOSAL
Tony Z BowleyFranceAsiya Javayant UNQUALIFIED
Leon J FigeroaSpainIoni Bowcher UNQUALIFIED
Faith N ShinkoCanadaAnna Fali PROPOSAL
Claire M BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Darci E OstroskyCanadaAmy Elsner RENEWAL
Jones F ShinkoAustraliaXuxue Feng NEW
Greenwood J PaprockiArgentinaXuxue Feng NEGOTIATION
Emily Y MorascaJapanBernardo Dominic QUALIFIED
Cody K VenereGermanyAmy Elsner NEGOTIATION
Greenwood K OldroydUnited KingdomXuxue Feng PROPOSAL
Francesco D PoquetteUnited KingdomAsiya Javayant RENEWAL
Emily B SaylorsSpainIoni Bowcher QUALIFIED
Ricardo W VocelkaSpainIoni Bowcher QUALIFIED
Johnson T IturbideArgentinaStephen Shaw NEW
Kaitlin A CaudySpainIvan Magalhaes QUALIFIED
Emily J SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Nicolas U WhobreyFranceAnna Fali QUALIFIED
Chavez O AlbaresBrazilOnyama Limba UNQUALIFIED
Sinclair G PaprockiUnited KingdomAsiya Javayant RENEWAL
Munro V WieserCanadaIoni Bowcher UNQUALIFIED
Wickens C MaletArgentinaOnyama Limba NEGOTIATION
Antonio J RimJapanElwin Sharvill PROPOSAL
Jones Z CaldareraAustraliaOnyama Limba RENEWAL
Leon S MaletAustraliaStephen Shaw QUALIFIED
Ricardo U ButtJapanAnna Fali UNQUALIFIED
Claire V MacleadFranceAmy Elsner PROPOSAL
Isabel P PerinAustraliaOnyama Limba QUALIFIED
David W CaudyArgentinaOnyama Limba RENEWAL
Leja A GauchoSpainStephen Shaw UNQUALIFIED
Costa M BologniaJapanIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Deepesh K CaudyRussiaIoni Bowcher RENEWAL
Octavia G SergiItalyAmy Elsner NEGOTIATION
Juan M FollerAustraliaAmy Elsner RENEWAL
Julie M MaletFranceStephen Shaw QUALIFIED
Mujtaba Z FerenczBrazilElwin Sharvill NEGOTIATION
Emily D InouyeItalyIvan Magalhaes UNQUALIFIED
Cody D WhobreyJapanBernardo Dominic RENEWAL
Ashley E OstroskyFranceIvan Magalhaes NEGOTIATION
Stacey E GarufiRussiaOnyama Limba NEW
Maria L SlusarskiGermanyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci C OstroskyRussia2026-09-20Chanay, Jeffrey A Esq NEW58Anna Fali
1001Maria E GlickAustralia2026-09-04Dorl, James J Esq NEW76Amy Elsner
1002Julie L CaldareraFrance2026-09-08Rangoni Of Florence PROPOSAL50Stephen Shaw
1003Chavez S ChuiRussia2026-09-23Morlong Associates RENEWAL92Amy Elsner
1004Octavia W GarufiCanada2026-09-24Printing Dimensions PROPOSAL37Asiya Javayant
1005Darci B GillianJapan2026-09-06Rousseaux, Michael Esq NEW14Xuxue Feng
1006Mayumi N AlbaresUnited Kingdom2026-09-10Morlong Associates QUALIFIED13Amy Elsner
1007Silvio O MacleadRussia2026-09-29Feltz Printing Service NEGOTIATION23Elwin Sharvill
1008Chavez O DarakjyFrance2026-09-26Chanay, Jeffrey A Esq UNQUALIFIED1Elwin Sharvill
1009Greenwood O PaprockiIndia2026-09-20Printing Dimensions QUALIFIED42Ivan Magalhaes
1010Claire Y ButtArgentina2026-09-26Chemel, James L Cpa NEW35Ioni Bowcher
1011Munro L FigeroaIndia2026-09-07Chemel, James L Cpa UNQUALIFIED58Elwin Sharvill
1012James E ButtBrazil2026-09-09Buckley Miller Wright PROPOSAL15Asiya Javayant
1013Jennifer U RutaCanada2026-09-16Buckley Miller Wright UNQUALIFIED45Elwin Sharvill
1014Greenwood D DarakjyGermany2026-09-18Dorl, James J Esq UNQUALIFIED24Elwin Sharvill
1015Jones H SergiSpain2026-09-25Chemel, James L Cpa RENEWAL73Elwin Sharvill
1016Morrow Y WieserArgentina2026-09-03King, Christopher A Esq UNQUALIFIED63Xuxue Feng
1017Ashley Q GauchoItaly2026-09-09Commercial Press PROPOSAL23Xuxue Feng
1018Salvatore X DilliardJapan2026-09-26Rousseaux, Michael Esq QUALIFIED14Stephen Shaw
1019Leon K VenereIndia2026-09-19Rousseaux, Michael Esq NEW98Onyama Limba
1020Cody I MacleadUnited Kingdom2026-09-01Rousseaux, Michael Esq NEW65Xuxue Feng
1021Munro W GauchoRussia2026-09-11Chemel, James L Cpa RENEWAL10Asiya Javayant
1022Kadeem D PerinSpain2026-09-13Dorl, James J Esq NEGOTIATION58Anna Fali
1023Kaitlin X BriddickItaly2026-09-13Feiner Bros UNQUALIFIED46Asiya Javayant
1024Rodrigues Y IturbideUnited Kingdom2026-09-16Dorl, James J Esq NEW86Amy Elsner
1025Leja K NestleSpain2026-09-16Chemel, James L Cpa PROPOSAL53Xuxue Feng
1026Jeanfrancois U WhobreyBrazil2026-09-28Printing Dimensions PROPOSAL32Asiya Javayant
1027James Q RimItaly2026-09-04Feiner Bros UNQUALIFIED72Ioni Bowcher
1028Morrow K ChuiUnited Kingdom2026-09-28Feiner Bros QUALIFIED10Stephen Shaw
1029Stacey E RimJapan2026-09-06Chanay, Jeffrey A Esq QUALIFIED46Xuxue Feng
1030Ricardo F MaletGermany2026-09-04Buckley Miller Wright UNQUALIFIED69Bernardo Dominic
1031Jeanfrancois E VocelkaSpain2026-09-10Chapman, Ross E Esq RENEWAL64Asiya Javayant
1032Murillo K SlusarskiFrance2026-09-01Chapman, Ross E Esq NEW42Amy Elsner
1033Jones Y KuskoUnited Kingdom2026-09-26King, Christopher A Esq NEGOTIATION75Xuxue Feng
1034Aditya R CampainRussia2026-09-07King, Christopher A Esq RENEWAL82Stephen Shaw
1035Ashley V MaletJapan2026-09-27King, Christopher A Esq NEW18Bernardo Dominic
1036Maisha K GarufiItaly2026-09-16Chapman, Ross E Esq NEGOTIATION77Stephen Shaw
1037James R AlbaresSpain2026-09-29Truhlar And Truhlar Attys NEGOTIATION76Xuxue Feng
1038Aika V CaldareraSpain2026-09-27Rousseaux, Michael Esq QUALIFIED27Onyama Limba
1039Jefferson M KolmetzJapan2026-09-20Chapman, Ross E Esq NEGOTIATION75Stephen Shaw
1040Faith H SlusarskiGermany2026-09-27Rangoni Of Florence RENEWAL65Xuxue Feng
1041Mujtaba V BowleyGermany2026-09-16Feltz Printing Service UNQUALIFIED48Amy Elsner
1042Smith J PoquetteUnited Kingdom2026-09-23Chapman, Ross E Esq UNQUALIFIED16Onyama Limba
1043Cody X ChuiUnited Kingdom2026-09-18Rangoni Of Florence RENEWAL25Bernardo Dominic
1044Misaki D GarufiItaly2026-09-27Morlong Associates PROPOSAL25Elwin Sharvill
1045Darci P FlosiBrazil2026-09-12Chapman, Ross E Esq UNQUALIFIED16Ivan Magalhaes
1046Jefferson Q AlbaresJapan2026-09-14Truhlar And Truhlar Attys NEGOTIATION59Stephen Shaw
1047Francesco G SaylorsArgentina2026-09-20Printing Dimensions RENEWAL24Amy Elsner
1048Mujtaba L SchemmerIndia2026-09-18Buckley Miller Wright PROPOSAL94Bernardo Dominic
1049Chavez S InouyeBrazil2026-09-11Chemel, James L Cpa RENEWAL55Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ricardo T MaletFranceElwin Sharvill NEW
Darci Z KuskoIndiaIvan Magalhaes RENEWAL
Nicolas Z MaletRussiaAsiya Javayant UNQUALIFIED
Emily F CaldareraRussiaAmy Elsner NEW
Rodrigues R RulapaughArgentinaStephen Shaw QUALIFIED
Ricardo Q PerinAustraliaIoni Bowcher NEW
Greenwood Y SchemmerUnited KingdomXuxue Feng NEGOTIATION
Ricardo O RoysterSpainAnna Fali NEGOTIATION
Nicolas E InouyeAustraliaElwin Sharvill NEW
Nicolas I StensethUnited KingdomIvan Magalhaes NEW
Jennifer O OldroydJapanBernardo Dominic NEW
Johnson H RoysterFranceStephen Shaw PROPOSAL
Izzy Y VenereCanadaAmy Elsner UNQUALIFIED
Salvatore V GillianCanadaStephen Shaw NEW
Kadeem C PerinGermanyAsiya Javayant PROPOSAL
Kadeem D CaudyAustraliaElwin Sharvill QUALIFIED
Clifford I TollnerAustraliaBernardo Dominic NEW
Maisha P DilliardBrazilIvan Magalhaes UNQUALIFIED
Faith R FigeroaCanadaAnna Fali NEW
Johnson A BriddickCanadaXuxue Feng NEW
Juan Z OldroydSpainAsiya Javayant UNQUALIFIED
Julie M MarrierRussiaIoni Bowcher QUALIFIED
Munro R AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Alejandro S SergiSpainAnna Fali UNQUALIFIED
Jennifer G OldroydArgentinaAsiya Javayant NEW
Munro A MacleadBrazilXuxue Feng NEW
Stacey O FlosiSpainBernardo Dominic PROPOSAL
Faith R PaprockiUnited KingdomXuxue Feng NEGOTIATION
Nicolas Z SchemmerItalyXuxue Feng UNQUALIFIED
Salvatore K OstroskyRussiaIoni Bowcher QUALIFIED
Stacey I GarufiJapanStephen Shaw RENEWAL
Jones O ButtItalyAsiya Javayant RENEWAL
Mujtaba F CampainGermanyStephen Shaw QUALIFIED
Arvin J CaldareraSpainElwin Sharvill UNQUALIFIED
Antonio Y OldroydFranceIoni Bowcher RENEWAL
Rodrigues C FigeroaIndiaStephen Shaw QUALIFIED
Leon G FigeroaArgentinaAmy Elsner QUALIFIED
Morrow C CaldareraRussiaElwin Sharvill NEGOTIATION
Chavez X SaylorsAustraliaOnyama Limba PROPOSAL
Cody I FollerUnited KingdomAsiya Javayant NEGOTIATION
Antonio Q AlbaresRussiaAmy Elsner RENEWAL
Ivar W OldroydSpainIoni Bowcher QUALIFIED
Claire K GlickArgentinaAmy Elsner UNQUALIFIED
Julie T SlusarskiSpainStephen Shaw QUALIFIED
Salvatore A CampainBrazilElwin Sharvill NEGOTIATION
Rodrigues P NickaFranceBernardo Dominic QUALIFIED
Deepesh H CampainCanadaBernardo Dominic NEW
David Y KuskoRussiaAnna Fali RENEWAL
Octavia J ChuiArgentinaAmy Elsner PROPOSAL
Ashley F IturbideGermanyStephen Shaw RENEWAL
Frozen Columns
Name
Izzy A Amigon
Misaki C Bolognia
Claire D Bolognia
David T Inouye
Leon B Malet
Ivar C Dilliard
Maisha Z Royster
Maria U Maclead
Mujtaba Z Saylors
Jones L Venere
Kadeem G Doe
Isabel E Inouye
Antonio K Marrier
Munro Y Oldroyd
Jeanfrancois M Venere
Chavez R Briddick
Tony K Nestle
Faith Q Shinko
Jones C Foller
James O Slusarski
Claire Y Amigon
James W Kolmetz
Cody Z Whobrey
Rodrigues D Kolmetz
Johnson T Vocelka
Darci Q Waycott
Emily B Caudy
Deepesh P Doe
Maisha P Sergi
Cody R Gaucho
Octavia K Figeroa
Greenwood L Kolmetz
Francesco N Bowley
Tony W Darakjy
Sinclair V Dilliard
Isabel F Sergi
Izzy V Marrier
Isabel H Foller
Tony S Malet
Adams O Ruta
Deepesh V Poquette
Jeanfrancois E Gaucho
Ivar V Vocelka
Jennifer I Oldroyd
Francesco Q Rim
Smith H Malet
Stacey P Rim
Mujtaba A Bowley
Silvio Z Amigon
Jennifer U Ferencz
IdCountryDate
1000Russia2026-09-27
1001Spain2026-09-02
1002Canada2026-09-11
1003Spain2026-09-19
1004Russia2026-09-25
1005Russia2026-09-15
1006Russia2026-09-10
1007Spain2026-09-02
1008Italy2026-08-31
1009Canada2026-09-11
1010Brazil2026-08-31
1011India2026-09-18
1012Japan2026-09-25
1013Argentina2026-09-07
1014Russia2026-09-01
1015Australia2026-09-05
1016United Kingdom2026-09-26
1017France2026-09-15
1018Spain2026-09-26
1019Brazil2026-09-17
1020Japan2026-09-18
1021Spain2026-09-04
1022Brazil2026-09-05
1023France2026-09-12
1024Japan2026-09-10
1025Spain2026-09-24
1026France2026-09-16
1027Japan2026-09-09
1028Canada2026-09-19
1029Japan2026-09-26
1030Russia2026-09-01
1031France2026-09-06
1032Germany2026-09-16
1033United Kingdom2026-09-06
1034Canada2026-09-15
1035Canada2026-09-06
1036United Kingdom2026-09-02
1037Canada2026-09-26
1038France2026-09-12
1039Italy2026-09-23
1040Brazil2026-09-19
1041Brazil2026-09-28
1042India2026-09-24
1043Canada2026-09-05
1044Australia2026-09-05
1045Canada2026-09-03
1046Japan2026-09-26
1047France2026-08-31
1048Canada2026-09-13
1049Brazil2026-09-23

On-Demand Data

NameIdCountryDate
Jefferson Z Stenseth1000Argentina2026-09-18
Aruna K Ruta1001Italy2026-09-15
Rodrigues O Amigon1002Russia2026-09-11
Maria J Rulapaugh1003Russia2026-09-11
Deepesh G Malet1004India2026-09-25
Darci Q Caudy1005Brazil2026-09-23
Mujtaba P Morasca1006Argentina2026-09-25
Antonio C Flosi1007Italy2026-09-19
Wickens C Shinko1008Australia2026-09-03
Julie T Butt1009India2026-09-14
Mujtaba L Doe1010Argentina2026-09-21
James V Glick1011Australia2026-09-06
Jones L Malet1012Canada2026-09-26
Ricardo Y Caudy1013Canada2026-08-31
Sinclair K Rim1014Brazil2026-09-29
Izzy V Iturbide1015France2026-09-18
Jennifer B Vocelka1016Argentina2026-09-06
Chavez S Malet1017Argentina2026-09-29
Aika B Schemmer1018Argentina2026-09-02
Aruna T Rulapaugh1019Argentina2026-09-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh L FollerBrazilBernardo Dominic UNQUALIFIED
Silvio N KuskoJapanXuxue Feng QUALIFIED
Jeanfrancois B SergiRussiaStephen Shaw NEW
Mayumi X StensethItalyIoni Bowcher QUALIFIED
Arvin V DoeArgentinaBernardo Dominic QUALIFIED
Ashley T NestleBrazilOnyama Limba NEW
Clifford O StensethFranceIoni Bowcher NEW
Greenwood D MacleadJapanBernardo Dominic RENEWAL
Francesco R GillianIndiaIvan Magalhaes QUALIFIED
Arvin T NickaRussiaOnyama Limba PROPOSAL
Leja E MaletRussiaAsiya Javayant QUALIFIED
Julie T RimItalyAsiya Javayant QUALIFIED
Maisha M DoeFranceElwin Sharvill NEGOTIATION
Mayumi F BologniaIndiaAsiya Javayant UNQUALIFIED
Faith W PaprockiUnited KingdomBernardo Dominic NEW
Munro S CaldareraSpainXuxue Feng NEGOTIATION
Alejandro E MorascaJapanAsiya Javayant QUALIFIED
David L RulapaughSpainAmy Elsner PROPOSAL
Ashley V CampainItalyBernardo Dominic PROPOSAL
Mayumi Q IturbideJapanBernardo Dominic UNQUALIFIED
Alejandro Z DilliardItalyIvan Magalhaes NEW
Deepesh Y AlbaresArgentinaIoni Bowcher UNQUALIFIED
Izzy Y KolmetzBrazilIvan Magalhaes PROPOSAL
Ricardo B AlbaresAustraliaElwin Sharvill NEW
Antonio M CaldareraJapanOnyama Limba PROPOSAL
Silvio P RoysterCanadaAnna Fali UNQUALIFIED
Nicolas F DarakjyIndiaIvan Magalhaes QUALIFIED
Leja S FlosiSpainStephen Shaw NEGOTIATION
Julie K InouyeUnited KingdomOnyama Limba NEW
Alejandro T FigeroaJapanIvan Magalhaes PROPOSAL
Arvin I FollerArgentinaAnna Fali NEW
Jones O ChuiGermanyAnna Fali NEGOTIATION
Leja Q SergiAustraliaIoni Bowcher QUALIFIED
Jeanfrancois K KolmetzJapanElwin Sharvill RENEWAL
Greenwood Q PoquetteAustraliaIoni Bowcher NEW
Aruna L BologniaBrazilStephen Shaw PROPOSAL
Johnson W OldroydGermanyIoni Bowcher PROPOSAL
Rodrigues T PaprockiGermanyBernardo Dominic QUALIFIED
Maria H DarakjyBrazilIoni Bowcher PROPOSAL
Costa Y WieserIndiaIoni Bowcher 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>