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
Jefferson Q ShinkoGermanyElwin Sharvill QUALIFIED
Darci E GillianItalyAnna Fali UNQUALIFIED
Stacey V RimFranceXuxue Feng RENEWAL
James V MarrierUnited KingdomAnna Fali RENEWAL
Aika U MacleadGermanyOnyama Limba UNQUALIFIED
David G BriddickJapanOnyama Limba RENEWAL
Antonio D SaylorsItalyBernardo Dominic NEGOTIATION
Aditya C KolmetzSpainAnna Fali UNQUALIFIED
Misaki U VocelkaSpainAmy Elsner UNQUALIFIED
Arvin W CaudyItalyStephen Shaw RENEWAL
Chavez T PaprockiItalyIoni Bowcher UNQUALIFIED
Juan Q GillianBrazilXuxue Feng UNQUALIFIED
Ivar X CaldareraAustraliaAnna Fali NEW
James B BowleyCanadaBernardo Dominic UNQUALIFIED
Jones S SaylorsArgentinaIoni Bowcher RENEWAL
Misaki J PaprockiRussiaBernardo Dominic NEW
Aruna O SchemmerBrazilStephen Shaw UNQUALIFIED
Stacey T MaletSpainElwin Sharvill NEW
Maisha L DoeUnited KingdomAmy Elsner RENEWAL
Antonio E WaycottFranceAsiya Javayant UNQUALIFIED
Murillo S VenereSpainBernardo Dominic RENEWAL
Silvio V WaycottBrazilAmy Elsner RENEWAL
Morrow E StensethCanadaOnyama Limba NEW
Clifford X MaletAustraliaStephen Shaw UNQUALIFIED
Francesco P TollnerJapanElwin Sharvill QUALIFIED
Wickens B KuskoUnited KingdomAsiya Javayant NEGOTIATION
Kadeem Q MorascaFranceAnna Fali RENEWAL
Leon H FerenczSpainIoni Bowcher UNQUALIFIED
Sinclair K GillianGermanyStephen Shaw QUALIFIED
Aditya S ChuiBrazilOnyama Limba NEW
Mujtaba L AlbaresUnited KingdomIoni Bowcher PROPOSAL
Francesco D FollerRussiaElwin Sharvill QUALIFIED
Ashley T NestleArgentinaXuxue Feng NEGOTIATION
Rodrigues A VenereIndiaAmy Elsner PROPOSAL
Adams H StockhamAustraliaIvan Magalhaes NEGOTIATION
Morrow S IturbideIndiaBernardo Dominic RENEWAL
Jennifer I AmigonIndiaAmy Elsner NEGOTIATION
Emily V DarakjyRussiaStephen Shaw NEW
Jones J GarufiArgentinaXuxue Feng UNQUALIFIED
David F GarufiUnited KingdomOnyama Limba QUALIFIED
Emily S MaletUnited KingdomAsiya Javayant PROPOSAL
Maisha D AmigonSpainIoni Bowcher UNQUALIFIED
Emily S GauchoItalyOnyama Limba PROPOSAL
Aditya I MacleadArgentinaIoni Bowcher PROPOSAL
Jeanfrancois L DilliardSpainAmy Elsner NEW
Darci Y BologniaJapanElwin Sharvill QUALIFIED
Wickens R WaycottCanadaAsiya Javayant NEGOTIATION
Aruna N BowleySpainXuxue Feng PROPOSAL
Morrow T NickaAustraliaIvan Magalhaes PROPOSAL
David D StensethGermanyAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Faith D VocelkaJapanAnna Fali RENEWAL
Faith H WieserFranceAsiya Javayant QUALIFIED
Costa B MacleadIndiaAmy Elsner NEGOTIATION
Munro R TollnerItalyOnyama Limba UNQUALIFIED
Jefferson V FigeroaFranceIvan Magalhaes PROPOSAL
Julie D CaudySpainXuxue Feng UNQUALIFIED
Aruna D FerenczSpainAmy Elsner PROPOSAL
Nicolas V WaycottGermanyXuxue Feng UNQUALIFIED
Cody C OstroskyJapanAnna Fali QUALIFIED
Stacey J DarakjyFranceXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya A GillianItaly2026-10-01Rousseaux, Michael Esq NEGOTIATION26Bernardo Dominic
1001Maria K OldroydArgentina2026-09-16Commercial Press PROPOSAL38Elwin Sharvill
1002Aika T NickaArgentina2026-09-17Buckley Miller Wright QUALIFIED22Elwin Sharvill
1003Arvin A GlickAustralia2026-09-14Rangoni Of Florence NEW97Bernardo Dominic
1004Ivar U OstroskyJapan2026-09-20Dorl, James J Esq UNQUALIFIED58Elwin Sharvill
1005Ashley F MaletSpain2026-09-12King, Christopher A Esq NEGOTIATION36Onyama Limba
1006Maria A MarrierIndia2026-09-25Truhlar And Truhlar Attys QUALIFIED67Asiya Javayant
1007Francesco W FlosiSpain2026-09-16Dorl, James J Esq RENEWAL49Elwin Sharvill
1008Kaitlin G DarakjyCanada2026-09-23Feiner Bros NEGOTIATION55Onyama Limba
1009Jefferson K VenereSpain2026-09-27Chemel, James L Cpa QUALIFIED75Elwin Sharvill
1010Rodrigues T MorascaUnited Kingdom2026-10-01Printing Dimensions PROPOSAL86Elwin Sharvill
1011Kaitlin A StockhamRussia2026-10-05Chanay, Jeffrey A Esq NEGOTIATION70Stephen Shaw
1012Maisha V CaldareraItaly2026-09-14Morlong Associates RENEWAL71Asiya Javayant
1013Alejandro X FigeroaUnited Kingdom2026-09-18Rangoni Of Florence NEGOTIATION29Ivan Magalhaes
1014James J AlbaresRussia2026-09-14Chapman, Ross E Esq PROPOSAL83Asiya Javayant
1015Chavez A DoeJapan2026-09-28Chapman, Ross E Esq UNQUALIFIED6Amy Elsner
1016Juan J NickaArgentina2026-09-14Dorl, James J Esq RENEWAL14Amy Elsner
1017Deepesh J ShinkoSpain2026-10-01Benton, John B Jr UNQUALIFIED57Amy Elsner
1018Mujtaba I RoysterJapan2026-10-06Benton, John B Jr NEGOTIATION43Amy Elsner
1019Ashley I SergiIndia2026-09-29Morlong Associates NEGOTIATION41Bernardo Dominic
1020Johnson I RimRussia2026-09-12Chanay, Jeffrey A Esq NEGOTIATION67Onyama Limba
1021Jennifer D InouyeIndia2026-10-04Chemel, James L Cpa NEW1Xuxue Feng
1022Jefferson G IturbideRussia2026-10-06Chemel, James L Cpa QUALIFIED83Ioni Bowcher
1023Cody O DilliardBrazil2026-09-15Rangoni Of Florence PROPOSAL93Elwin Sharvill
1024Antonio I NestleGermany2026-09-20Feltz Printing Service PROPOSAL65Elwin Sharvill
1025Arvin Y FerenczSpain2026-09-24King, Christopher A Esq PROPOSAL48Stephen Shaw
1026Morrow N KuskoGermany2026-09-17Printing Dimensions NEGOTIATION30Anna Fali
1027Francesco P OstroskyGermany2026-09-10Buckley Miller Wright RENEWAL18Stephen Shaw
1028Deepesh Z AlbaresRussia2026-10-05Chemel, James L Cpa RENEWAL30Onyama Limba
1029Jones J NickaBrazil2026-09-12Morlong Associates NEW19Anna Fali
1030Alejandro I GarufiJapan2026-09-16Rousseaux, Michael Esq UNQUALIFIED97Ioni Bowcher
1031Deepesh U NickaSpain2026-09-30Printing Dimensions QUALIFIED78Bernardo Dominic
1032David H GarufiRussia2026-09-28Chanay, Jeffrey A Esq NEGOTIATION88Elwin Sharvill
1033Aruna P VocelkaBrazil2026-09-28King, Christopher A Esq NEGOTIATION27Amy Elsner
1034Jennifer Y MaletItaly2026-09-15Dorl, James J Esq PROPOSAL89Asiya Javayant
1035Leja R WieserSpain2026-09-23King, Christopher A Esq RENEWAL59Ioni Bowcher
1036Isabel Y RoysterItaly2026-10-03Chanay, Jeffrey A Esq QUALIFIED82Anna Fali
1037Jefferson V GlickAustralia2026-09-26King, Christopher A Esq NEGOTIATION55Amy Elsner
1038Alejandro M MorascaRussia2026-09-29Rangoni Of Florence QUALIFIED94Ioni Bowcher
1039Jennifer S MarrierJapan2026-09-16Benton, John B Jr NEGOTIATION16Onyama Limba
1040Johnson L FerenczUnited Kingdom2026-09-07Dorl, James J Esq PROPOSAL18Bernardo Dominic
1041Maria D IturbideJapan2026-09-20Rousseaux, Michael Esq UNQUALIFIED65Xuxue Feng
1042Ashley X ButtAustralia2026-10-04Commercial Press NEW17Bernardo Dominic
1043Sinclair J SaylorsGermany2026-10-01Feiner Bros QUALIFIED92Elwin Sharvill
1044Arvin P TollnerUnited Kingdom2026-09-26Feltz Printing Service NEW62Stephen Shaw
1045Munro Q MorascaJapan2026-10-06Feltz Printing Service UNQUALIFIED68Ioni Bowcher
1046Adams B AlbaresItaly2026-09-29Buckley Miller Wright UNQUALIFIED34Amy Elsner
1047Juan E RimRussia2026-09-18Rangoni Of Florence NEGOTIATION37Xuxue Feng
1048Misaki B KuskoUnited Kingdom2026-09-27Truhlar And Truhlar Attys PROPOSAL2Elwin Sharvill
1049Kadeem H NickaCanada2026-09-17Rangoni Of Florence RENEWAL54Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh F MacleadRussiaAnna Fali UNQUALIFIED
Kadeem O SaylorsGermanyXuxue Feng NEW
Maisha W RutaArgentinaIvan Magalhaes NEGOTIATION
James H IturbideArgentinaElwin Sharvill RENEWAL
Deepesh J StockhamUnited KingdomIoni Bowcher PROPOSAL
Leja M MacleadFranceIoni Bowcher UNQUALIFIED
Mujtaba D MarrierRussiaAsiya Javayant NEGOTIATION
Wickens K RutaGermanyAsiya Javayant PROPOSAL
David V PaprockiArgentinaBernardo Dominic RENEWAL
Adams C FerenczRussiaIvan Magalhaes UNQUALIFIED
Leon J RutaGermanyBernardo Dominic UNQUALIFIED
Francesco B OldroydItalyAnna Fali NEGOTIATION
Greenwood V VenereJapanAsiya Javayant UNQUALIFIED
Francesco W PaprockiGermanyAsiya Javayant QUALIFIED
Misaki D NestleAustraliaBernardo Dominic UNQUALIFIED
Clifford P GillianItalyIvan Magalhaes NEGOTIATION
Greenwood X RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Misaki F MarrierGermanyStephen Shaw NEGOTIATION
Murillo Z PerinIndiaAsiya Javayant UNQUALIFIED
Murillo V ShinkoCanadaStephen Shaw QUALIFIED
Costa K FigeroaCanadaXuxue Feng RENEWAL
Ricardo S BologniaUnited KingdomXuxue Feng QUALIFIED
Cody U MaletAustraliaAnna Fali RENEWAL
Deepesh R WhobreyUnited KingdomOnyama Limba NEGOTIATION
Leja L BowleyItalyElwin Sharvill NEW
Ricardo E GlickUnited KingdomOnyama Limba PROPOSAL
Arvin C SchemmerRussiaBernardo Dominic PROPOSAL
Jennifer K BologniaRussiaElwin Sharvill NEW
Mayumi L AmigonCanadaIvan Magalhaes UNQUALIFIED
Ricardo N GlickUnited KingdomOnyama Limba PROPOSAL
Jeanfrancois L SergiBrazilIoni Bowcher QUALIFIED
Chavez S DilliardItalyOnyama Limba PROPOSAL
Ivar O PerinAustraliaBernardo Dominic PROPOSAL
Stacey L BologniaJapanStephen Shaw RENEWAL
Chavez Q MaletRussiaBernardo Dominic UNQUALIFIED
Adams J MorascaBrazilIoni Bowcher RENEWAL
Jennifer H GillianBrazilOnyama Limba PROPOSAL
Stacey N NestleSpainOnyama Limba QUALIFIED
Ivar W CaldareraJapanIoni Bowcher RENEWAL
Munro M RutaArgentinaElwin Sharvill QUALIFIED
Sinclair U MacleadCanadaElwin Sharvill NEW
Nicolas B BowleyIndiaBernardo Dominic PROPOSAL
Darci N PoquetteArgentinaBernardo Dominic QUALIFIED
Ricardo V BologniaIndiaXuxue Feng QUALIFIED
Julie V RulapaughGermanyOnyama Limba PROPOSAL
Isabel K DoeGermanyStephen Shaw NEGOTIATION
David Z MaletArgentinaXuxue Feng QUALIFIED
Adams X VocelkaIndiaAsiya Javayant PROPOSAL
David N GauchoRussiaAsiya Javayant QUALIFIED
Misaki R NickaItalyXuxue Feng QUALIFIED
Frozen Columns
Name
Jennifer V Royster
Jefferson J Waycott
Jones G Dilliard
Mujtaba K Wieser
Cody E Kolmetz
Greenwood S Campain
Clifford Z Flosi
Jones R Maclead
Emily Z Royster
Sinclair G Nicka
Kadeem K Ruta
Isabel S Foller
Kaitlin R Kusko
Maisha F Stenseth
Cody L Nicka
Maria P Darakjy
Murillo H Venere
Misaki P Oldroyd
Isabel G Caudy
Jones X Albares
Arvin A Flosi
Misaki Z Gaucho
Francesco W Perin
Emily C Nestle
Tony Q Slusarski
Claire F Ostrosky
Kaitlin J Campain
Salvatore D Amigon
Maria A Gillian
Mayumi F Foller
Faith B Malet
Kaitlin K Gaucho
Leon Q Kolmetz
Jones X Rim
Kadeem E Nestle
Mujtaba R Rulapaugh
Kadeem V Gaucho
Tony H Caudy
Chavez Z Wieser
James A Albares
Arvin P Perin
Silvio Q Butt
Tony F Venere
Tony B Nicka
Ashley L Waycott
David D Caudy
Kadeem Z Venere
Francesco W Whobrey
Aditya S Inouye
James E Figeroa
IdCountryDate
1000Germany2026-09-13
1001United Kingdom2026-09-25
1002Brazil2026-09-20
1003Canada2026-09-24
1004Italy2026-09-25
1005Russia2026-09-09
1006Australia2026-10-02
1007Australia2026-09-10
1008Germany2026-10-04
1009Canada2026-09-18
1010United Kingdom2026-09-15
1011United Kingdom2026-09-21
1012Germany2026-09-19
1013Brazil2026-09-23
1014United Kingdom2026-10-03
1015Germany2026-09-10
1016India2026-09-12
1017India2026-09-30
1018Italy2026-09-20
1019Brazil2026-10-06
1020Spain2026-09-10
1021Russia2026-10-01
1022United Kingdom2026-09-22
1023Spain2026-09-15
1024Germany2026-09-24
1025Russia2026-10-06
1026Canada2026-09-19
1027Argentina2026-09-25
1028Canada2026-09-09
1029Australia2026-09-09
1030Italy2026-09-12
1031Argentina2026-09-12
1032Brazil2026-09-11
1033Germany2026-09-20
1034Brazil2026-09-28
1035France2026-09-08
1036Germany2026-09-16
1037United Kingdom2026-10-02
1038Germany2026-09-11
1039Spain2026-09-12
1040Russia2026-09-27
1041France2026-09-15
1042Australia2026-10-03
1043Japan2026-09-17
1044Italy2026-10-04
1045Argentina2026-09-30
1046Argentina2026-09-22
1047United Kingdom2026-09-12
1048Germany2026-09-15
1049Australia2026-09-12

On-Demand Data

NameIdCountryDate
Deepesh T Gillian1000Japan2026-09-07
Jeanfrancois S Poquette1001Argentina2026-09-29
Aika Y Saylors1002India2026-10-01
Smith U Malet1003Spain2026-09-25
Mujtaba U Sergi1004United Kingdom2026-09-18
Wickens Q Chui1005Canada2026-09-12
Cody O Stockham1006United Kingdom2026-09-20
Jennifer S Gillian1007Australia2026-09-08
Arvin E Marrier1008Australia2026-09-15
Ivar H Tollner1009France2026-09-30
Jones J Malet1010Argentina2026-10-02
Sinclair F Foller1011Russia2026-10-01
Misaki D Campain1012Brazil2026-09-12
Stacey Y Malet1013Argentina2026-09-08
Salvatore V Schemmer1014Argentina2026-09-21
Jones B Kusko1015United Kingdom2026-09-17
Adams Y Kolmetz1016Japan2026-09-09
Jefferson G Nicka1017France2026-09-09
Aruna V Figeroa1018Canada2026-10-06
Murillo S Ostrosky1019Germany2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James C KuskoArgentinaIoni Bowcher NEGOTIATION
Emily P BologniaSpainXuxue Feng NEGOTIATION
Clifford I AmigonItalyOnyama Limba NEW
Jeanfrancois W WaycottItalyBernardo Dominic RENEWAL
Adams J NickaCanadaElwin Sharvill PROPOSAL
Johnson H RoysterIndiaAmy Elsner UNQUALIFIED
Morrow K SergiCanadaElwin Sharvill NEGOTIATION
Deepesh T NestleAustraliaOnyama Limba NEW
Emily K ShinkoBrazilBernardo Dominic QUALIFIED
Antonio M BologniaCanadaAnna Fali RENEWAL
Aika H NickaSpainAnna Fali PROPOSAL
Faith N ChuiCanadaAnna Fali UNQUALIFIED
Salvatore M ShinkoItalyStephen Shaw PROPOSAL
Ricardo F PaprockiUnited KingdomStephen Shaw PROPOSAL
Adams O DarakjyFranceIoni Bowcher NEGOTIATION
Wickens S RoysterBrazilXuxue Feng RENEWAL
Aika X MarrierAustraliaElwin Sharvill QUALIFIED
Murillo K NestleArgentinaIoni Bowcher RENEWAL
Francesco W FollerCanadaStephen Shaw NEW
Alejandro C ButtArgentinaAnna Fali NEW
Jefferson R AmigonArgentinaIoni Bowcher UNQUALIFIED
Rodrigues I TollnerRussiaAmy Elsner QUALIFIED
Aruna J RoysterCanadaStephen Shaw RENEWAL
Ashley D NestleAustraliaAsiya Javayant QUALIFIED
Nicolas Z MarrierSpainIoni Bowcher UNQUALIFIED
Faith T RoysterArgentinaAmy Elsner RENEWAL
Tony W StensethCanadaIoni Bowcher UNQUALIFIED
Aika B RutaFranceAsiya Javayant PROPOSAL
Tony M FerenczGermanyIoni Bowcher RENEWAL
Claire Z SergiIndiaElwin Sharvill UNQUALIFIED
Izzy F VocelkaBrazilStephen Shaw RENEWAL
Aika N BologniaSpainIvan Magalhaes PROPOSAL
Johnson I RulapaughRussiaOnyama Limba RENEWAL
Smith I GauchoFranceAnna Fali UNQUALIFIED
Chavez O DarakjyUnited KingdomXuxue Feng RENEWAL
Sinclair T WaycottGermanyIoni Bowcher PROPOSAL
Smith H MacleadBrazilAsiya Javayant QUALIFIED
Aruna L NestleAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues F ChuiRussiaBernardo Dominic NEW
Greenwood B DilliardUnited KingdomOnyama Limba 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>