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
Darci Y CaudyJapanIvan Magalhaes RENEWAL
Darci M TollnerFranceXuxue Feng UNQUALIFIED
Rodrigues N MaletAustraliaAmy Elsner QUALIFIED
Isabel C SergiArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois U AlbaresUnited KingdomElwin Sharvill PROPOSAL
Faith S MarrierRussiaElwin Sharvill PROPOSAL
Morrow R PaprockiSpainBernardo Dominic RENEWAL
Mujtaba U FlosiItalyAnna Fali RENEWAL
Juan L FigeroaArgentinaAsiya Javayant RENEWAL
Julie X VocelkaAustraliaIoni Bowcher PROPOSAL
Alejandro U RulapaughItalyIvan Magalhaes PROPOSAL
Salvatore K FlosiItalyElwin Sharvill RENEWAL
Maisha M NickaItalyAmy Elsner RENEWAL
Deepesh P KuskoGermanyIvan Magalhaes RENEWAL
Maria P MaletRussiaIvan Magalhaes QUALIFIED
Ricardo L PaprockiFranceAsiya Javayant UNQUALIFIED
Nicolas W SergiAustraliaXuxue Feng UNQUALIFIED
Aruna O CampainCanadaElwin Sharvill QUALIFIED
Salvatore Y DoeCanadaOnyama Limba RENEWAL
Costa E WieserJapanIoni Bowcher QUALIFIED
Ashley J DarakjyGermanyStephen Shaw NEGOTIATION
David D IturbideRussiaAnna Fali PROPOSAL
Mayumi A GauchoRussiaXuxue Feng UNQUALIFIED
Maisha C GillianCanadaBernardo Dominic QUALIFIED
Maria Q BologniaJapanOnyama Limba NEGOTIATION
Aditya V PaprockiRussiaIvan Magalhaes NEW
Jennifer E FlosiItalyElwin Sharvill NEGOTIATION
Antonio G NestleGermanyAnna Fali NEGOTIATION
Leon L NickaIndiaAsiya Javayant PROPOSAL
Morrow K NestleRussiaXuxue Feng QUALIFIED
Rodrigues L RoysterGermanyAnna Fali PROPOSAL
Sinclair Q WaycottFranceIoni Bowcher NEGOTIATION
Greenwood V RimSpainXuxue Feng PROPOSAL
Deepesh N ShinkoBrazilStephen Shaw UNQUALIFIED
Sinclair N MarrierJapanAsiya Javayant UNQUALIFIED
Johnson V SlusarskiItalyElwin Sharvill PROPOSAL
Mujtaba I GillianFranceBernardo Dominic NEGOTIATION
Aika B DoeRussiaOnyama Limba PROPOSAL
Kadeem D BowleyAustraliaBernardo Dominic PROPOSAL
Johnson K WieserAustraliaAsiya Javayant QUALIFIED
Leon F CampainUnited KingdomBernardo Dominic UNQUALIFIED
Arvin O MarrierSpainAmy Elsner RENEWAL
Antonio C ChuiRussiaOnyama Limba RENEWAL
Isabel B ShinkoSpainXuxue Feng NEGOTIATION
Silvio T BriddickJapanIoni Bowcher RENEWAL
Jennifer E MaletFranceElwin Sharvill PROPOSAL
Mujtaba F MorascaArgentinaStephen Shaw RENEWAL
Rodrigues C CaldareraAustraliaIvan Magalhaes NEW
Johnson D FerenczJapanAnna Fali RENEWAL
Leja G FollerJapanElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey N WieserFranceAnna Fali NEGOTIATION
Maria S StensethBrazilAnna Fali NEW
Cody S GlickGermanyAsiya Javayant QUALIFIED
Deepesh A PerinGermanyIvan Magalhaes RENEWAL
Jennifer I CampainGermanyElwin Sharvill UNQUALIFIED
Rodrigues H DarakjyAustraliaIvan Magalhaes PROPOSAL
Deepesh Q ButtFranceAnna Fali RENEWAL
Maisha O SlusarskiIndiaOnyama Limba QUALIFIED
Aruna R RutaSpainXuxue Feng UNQUALIFIED
Sinclair S StockhamRussiaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo S StensethCanada2026-10-13Printing Dimensions RENEWAL12Amy Elsner
1001Jeanfrancois K PoquetteArgentina2026-11-03Morlong Associates QUALIFIED55Bernardo Dominic
1002Juan D GauchoCanada2026-10-13Commercial Press RENEWAL61Stephen Shaw
1003Mujtaba H RoysterUnited Kingdom2026-10-21Chemel, James L Cpa NEW86Asiya Javayant
1004Jefferson X BologniaBrazil2026-11-04Truhlar And Truhlar Attys RENEWAL92Xuxue Feng
1005Ashley Q DilliardCanada2026-11-07Benton, John B Jr PROPOSAL60Xuxue Feng
1006James W RimGermany2026-10-22Benton, John B Jr NEW89Xuxue Feng
1007Ivar M CampainItaly2026-10-10King, Christopher A Esq NEGOTIATION90Onyama Limba
1008Clifford M InouyeCanada2026-10-11King, Christopher A Esq UNQUALIFIED31Xuxue Feng
1009Leja K StockhamUnited Kingdom2026-10-20Printing Dimensions NEW55Amy Elsner
1010Chavez H CaudyJapan2026-10-18Feiner Bros PROPOSAL60Bernardo Dominic
1011Antonio E IturbideArgentina2026-10-28Morlong Associates UNQUALIFIED8Ioni Bowcher
1012Tony Z MaletGermany2026-11-06King, Christopher A Esq NEW34Elwin Sharvill
1013Francesco D RimRussia2026-10-26Morlong Associates UNQUALIFIED10Amy Elsner
1014Sinclair U MaletIndia2026-10-27Benton, John B Jr PROPOSAL34Elwin Sharvill
1015Aditya B SlusarskiItaly2026-10-21Dorl, James J Esq NEGOTIATION22Anna Fali
1016Aditya N KolmetzFrance2026-11-07Chemel, James L Cpa NEGOTIATION53Anna Fali
1017Misaki W SaylorsAustralia2026-10-28King, Christopher A Esq UNQUALIFIED1Ivan Magalhaes
1018Emily I FollerAustralia2026-10-22Chapman, Ross E Esq QUALIFIED9Anna Fali
1019James M GarufiRussia2026-10-18Dorl, James J Esq NEW71Onyama Limba
1020Juan I MaletRussia2026-11-08Rousseaux, Michael Esq NEW76Ioni Bowcher
1021Maria A AmigonArgentina2026-10-11Benton, John B Jr NEW4Asiya Javayant
1022Kadeem B MaletAustralia2026-11-06Morlong Associates RENEWAL37Ioni Bowcher
1023Claire U CampainBrazil2026-10-26Chemel, James L Cpa UNQUALIFIED90Ivan Magalhaes
1024Mujtaba F SergiFrance2026-10-25Buckley Miller Wright RENEWAL97Ioni Bowcher
1025Ivar I SergiUnited Kingdom2026-10-12Rangoni Of Florence QUALIFIED27Stephen Shaw
1026Aruna M PoquetteArgentina2026-11-05Chanay, Jeffrey A Esq QUALIFIED47Xuxue Feng
1027Murillo C PoquetteAustralia2026-11-07Rousseaux, Michael Esq PROPOSAL33Xuxue Feng
1028Leja Z CaldareraCanada2026-11-05Chemel, James L Cpa NEGOTIATION36Xuxue Feng
1029Kadeem K RimArgentina2026-10-21Feltz Printing Service RENEWAL87Onyama Limba
1030Kaitlin Q CampainRussia2026-11-08Benton, John B Jr PROPOSAL31Bernardo Dominic
1031Rodrigues G PerinSpain2026-10-26Rousseaux, Michael Esq NEW44Amy Elsner
1032Silvio W AmigonBrazil2026-10-18Chanay, Jeffrey A Esq RENEWAL63Onyama Limba
1033Arvin Q MaletUnited Kingdom2026-10-27Commercial Press UNQUALIFIED99Anna Fali
1034Munro I OldroydIndia2026-10-22Feltz Printing Service NEW19Ivan Magalhaes
1035Maisha U NestleArgentina2026-10-31Morlong Associates NEW67Ioni Bowcher
1036Mayumi B FollerJapan2026-10-10Buckley Miller Wright PROPOSAL98Stephen Shaw
1037Adams Z PaprockiFrance2026-10-29Morlong Associates QUALIFIED44Onyama Limba
1038Julie H FerenczGermany2026-11-06Chapman, Ross E Esq RENEWAL47Xuxue Feng
1039Deepesh O WaycottIndia2026-11-02Chapman, Ross E Esq NEGOTIATION98Anna Fali
1040Alejandro A VenereIndia2026-10-18Printing Dimensions UNQUALIFIED18Onyama Limba
1041Francesco I MaletAustralia2026-10-25Commercial Press PROPOSAL20Bernardo Dominic
1042Aika R MacleadArgentina2026-10-28Truhlar And Truhlar Attys NEGOTIATION32Asiya Javayant
1043Ricardo C PerinFrance2026-10-12Chapman, Ross E Esq NEGOTIATION74Ioni Bowcher
1044Mayumi X KolmetzRussia2026-10-24King, Christopher A Esq PROPOSAL87Stephen Shaw
1045Morrow P WieserBrazil2026-11-03Dorl, James J Esq PROPOSAL13Anna Fali
1046Mujtaba S ButtFrance2026-10-25Benton, John B Jr NEW75Ioni Bowcher
1047Aruna G FigeroaJapan2026-11-06Chemel, James L Cpa NEW73Anna Fali
1048Juan V PerinItaly2026-10-22King, Christopher A Esq QUALIFIED8Stephen Shaw
1049Maisha O MacleadFrance2026-10-23Chemel, James L Cpa PROPOSAL4Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba Z PerinCanadaAnna Fali UNQUALIFIED
Jennifer K GlickItalyAnna Fali UNQUALIFIED
Isabel F ButtAustraliaStephen Shaw UNQUALIFIED
Salvatore Z NestleIndiaOnyama Limba UNQUALIFIED
Kadeem C GauchoIndiaBernardo Dominic PROPOSAL
Munro J AlbaresAustraliaAsiya Javayant NEGOTIATION
Costa L TollnerGermanyAsiya Javayant NEW
Arvin E FlosiRussiaBernardo Dominic QUALIFIED
Stacey D RutaUnited KingdomOnyama Limba RENEWAL
Leja E DarakjyRussiaAsiya Javayant RENEWAL
Aruna H CampainBrazilXuxue Feng UNQUALIFIED
Antonio U TollnerUnited KingdomIvan Magalhaes RENEWAL
Greenwood W ChuiGermanyBernardo Dominic NEGOTIATION
Antonio L PerinCanadaAnna Fali PROPOSAL
Munro A FlosiBrazilXuxue Feng QUALIFIED
Ashley U BowleySpainBernardo Dominic PROPOSAL
Mayumi X DoeSpainStephen Shaw PROPOSAL
Misaki L OstroskyArgentinaXuxue Feng QUALIFIED
Aruna Q GarufiCanadaBernardo Dominic PROPOSAL
Jennifer T FigeroaItalyStephen Shaw UNQUALIFIED
Sinclair R OstroskyBrazilOnyama Limba NEW
Mayumi C TollnerUnited KingdomIoni Bowcher UNQUALIFIED
Juan B NickaBrazilXuxue Feng UNQUALIFIED
Jefferson K ShinkoBrazilElwin Sharvill NEGOTIATION
Jones Q RoysterRussiaAsiya Javayant NEW
Francesco U BriddickItalyXuxue Feng NEGOTIATION
Aditya T PoquetteArgentinaElwin Sharvill UNQUALIFIED
Tony E FigeroaGermanyAsiya Javayant NEGOTIATION
Wickens P ButtBrazilOnyama Limba QUALIFIED
Tony D IturbideGermanyIvan Magalhaes UNQUALIFIED
Cody L BriddickCanadaAnna Fali NEW
Johnson J VocelkaSpainXuxue Feng NEW
Jones T TollnerAustraliaAmy Elsner UNQUALIFIED
Julie L FerenczJapanAmy Elsner UNQUALIFIED
Chavez D FerenczCanadaOnyama Limba NEGOTIATION
Salvatore V KolmetzArgentinaIvan Magalhaes NEW
Munro U RulapaughJapanBernardo Dominic NEGOTIATION
Misaki V MarrierCanadaIoni Bowcher NEGOTIATION
Alejandro Z VenereArgentinaElwin Sharvill QUALIFIED
Leja W WieserArgentinaIvan Magalhaes NEGOTIATION
Isabel S RulapaughUnited KingdomStephen Shaw RENEWAL
Clifford U MaletAustraliaOnyama Limba RENEWAL
Jefferson O SlusarskiIndiaBernardo Dominic PROPOSAL
Morrow F RutaFranceAnna Fali UNQUALIFIED
Clifford A TollnerJapanXuxue Feng UNQUALIFIED
James W VocelkaSpainOnyama Limba RENEWAL
Maisha V BowleySpainIvan Magalhaes PROPOSAL
Leja X BologniaIndiaIvan Magalhaes NEW
Johnson I KuskoGermanyAsiya Javayant UNQUALIFIED
Claire M ChuiSpainElwin Sharvill PROPOSAL
Frozen Columns
Name
Julie Y Rulapaugh
Maisha G Nestle
Smith B Iturbide
Nicolas P Darakjy
Ivar Z Caudy
Jefferson B Briddick
Kadeem B Stockham
Kadeem P Campain
Ivar S Ruta
Isabel F Chui
Ivar K Kusko
Isabel C Caldarera
Juan S Bolognia
Nicolas U Stockham
Ricardo W Dilliard
Kadeem D Nicka
Aruna P Amigon
Octavia H Amigon
Aruna H Marrier
Salvatore Z Morasca
Chavez J Doe
Kaitlin A Campain
Claire X Doe
Stacey P Figeroa
Tony U Doe
Jennifer Q Iturbide
Antonio T Chui
Deepesh K Tollner
Francesco G Campain
Juan V Wieser
Kadeem R Nicka
Juan L Caldarera
Costa P Schemmer
Maisha B Stockham
Stacey M Slusarski
Mayumi F Glick
Mayumi L Shinko
David E Glick
Mayumi Y Albares
Kaitlin X Bowley
Costa P Venere
Octavia G Malet
Francesco I Saylors
Aditya M Darakjy
David K Poquette
Smith P Morasca
Chavez W Venere
Faith S Butt
Kadeem G Kusko
Costa I Caudy
IdCountryDate
1000Spain2026-10-12
1001Spain2026-10-11
1002Russia2026-11-07
1003United Kingdom2026-10-27
1004United Kingdom2026-10-20
1005Russia2026-10-21
1006Canada2026-10-27
1007United Kingdom2026-10-20
1008Canada2026-10-17
1009United Kingdom2026-11-08
1010Italy2026-10-31
1011Argentina2026-10-13
1012Brazil2026-11-03
1013Germany2026-10-29
1014Brazil2026-11-07
1015India2026-11-01
1016France2026-11-01
1017India2026-10-17
1018United Kingdom2026-10-29
1019Russia2026-10-26
1020United Kingdom2026-10-22
1021Russia2026-11-03
1022Italy2026-10-12
1023Canada2026-10-21
1024Brazil2026-11-07
1025Italy2026-11-08
1026Italy2026-11-05
1027Australia2026-10-13
1028Russia2026-10-30
1029Canada2026-10-13
1030France2026-10-23
1031Argentina2026-10-22
1032Argentina2026-10-13
1033Australia2026-10-26
1034France2026-10-20
1035Argentina2026-10-12
1036India2026-10-31
1037Argentina2026-11-04
1038India2026-10-27
1039Brazil2026-10-14
1040Japan2026-11-02
1041Russia2026-10-31
1042Japan2026-11-05
1043France2026-10-23
1044Italy2026-11-01
1045Russia2026-10-18
1046Spain2026-11-08
1047Argentina2026-11-04
1048Argentina2026-10-14
1049Argentina2026-10-17

On-Demand Data

NameIdCountryDate
Maria E Morasca1000Japan2026-10-13
Kadeem I Ferencz1001Japan2026-11-01
Aditya F Bowley1002Germany2026-10-26
Francesco Y Caudy1003Brazil2026-10-14
Ricardo E Maclead1004Germany2026-10-11
Sinclair Z Perin1005United Kingdom2026-10-23
Arvin U Foller1006Russia2026-11-01
Greenwood P Caldarera1007Australia2026-11-06
Ashley J Chui1008Australia2026-10-14
Arvin E Malet1009Spain2026-11-04
Wickens M Amigon1010United Kingdom2026-11-07
Jones M Sergi1011Australia2026-11-08
Silvio W Darakjy1012Australia2026-10-21
Adams P Oldroyd1013Argentina2026-10-16
Johnson V Inouye1014Spain2026-10-16
Mujtaba V Maclead1015Russia2026-10-12
Salvatore Z Ruta1016Germany2026-11-08
Rodrigues D Caudy1017Argentina2026-11-01
Ashley N Schemmer1018Australia2026-10-18
David E Nicka1019Italy2026-10-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson Q GlickCanadaXuxue Feng NEW
Darci P DilliardIndiaIoni Bowcher QUALIFIED
Chavez Y MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Rodrigues N InouyeItalyAnna Fali RENEWAL
Antonio N RoysterBrazilOnyama Limba QUALIFIED
Ivar S MaletGermanyIvan Magalhaes UNQUALIFIED
Jefferson L GarufiFranceElwin Sharvill PROPOSAL
Leon G NestleSpainIoni Bowcher UNQUALIFIED
Smith W NestleRussiaElwin Sharvill PROPOSAL
Mujtaba X BriddickJapanBernardo Dominic UNQUALIFIED
Ivar C SchemmerIndiaAnna Fali NEW
Arvin B RoysterUnited KingdomElwin Sharvill QUALIFIED
Julie O DilliardCanadaXuxue Feng NEGOTIATION
Munro P SlusarskiArgentinaBernardo Dominic QUALIFIED
Isabel J FollerUnited KingdomAsiya Javayant RENEWAL
Deepesh H VocelkaArgentinaIvan Magalhaes NEW
Clifford Y ButtArgentinaAnna Fali UNQUALIFIED
Antonio D BologniaAustraliaOnyama Limba NEGOTIATION
Wickens X AmigonIndiaIvan Magalhaes QUALIFIED
Mayumi Z SlusarskiArgentinaBernardo Dominic NEGOTIATION
Rodrigues F SergiUnited KingdomIvan Magalhaes RENEWAL
Alejandro D GillianGermanyBernardo Dominic RENEWAL
Smith N IturbideJapanStephen Shaw NEW
Salvatore W ChuiGermanyIvan Magalhaes NEGOTIATION
Kadeem G AlbaresGermanyOnyama Limba QUALIFIED
Ashley E BriddickUnited KingdomBernardo Dominic NEW
Aika U NickaJapanElwin Sharvill UNQUALIFIED
Mayumi J FerenczAustraliaStephen Shaw UNQUALIFIED
Ivar T MorascaJapanElwin Sharvill QUALIFIED
Misaki W AmigonItalyAnna Fali RENEWAL
Juan E GarufiSpainOnyama Limba NEW
Sinclair X FollerBrazilAnna Fali NEW
Tony S DilliardUnited KingdomXuxue Feng UNQUALIFIED
Sinclair W GarufiRussiaOnyama Limba NEGOTIATION
Jennifer I DarakjyAustraliaAmy Elsner QUALIFIED
Smith C MaletBrazilStephen Shaw QUALIFIED
Jennifer E DarakjyJapanIoni Bowcher NEW
Chavez Y RoysterBrazilStephen Shaw PROPOSAL
Jeanfrancois A WieserSpainXuxue Feng UNQUALIFIED
Stacey I DilliardUnited KingdomXuxue Feng 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>