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
Claire J SlusarskiCanadaStephen Shaw UNQUALIFIED
Rodrigues J FollerUnited KingdomXuxue Feng NEGOTIATION
Octavia U GarufiSpainXuxue Feng QUALIFIED
Smith V NestleIndiaAmy Elsner QUALIFIED
Stacey G PoquetteGermanyIoni Bowcher NEGOTIATION
Deepesh A MarrierBrazilElwin Sharvill NEGOTIATION
Cody J FerenczAustraliaBernardo Dominic NEW
Claire G AlbaresJapanIvan Magalhaes QUALIFIED
Clifford Q SchemmerSpainBernardo Dominic RENEWAL
Octavia O GarufiArgentinaStephen Shaw NEGOTIATION
Jefferson M KuskoCanadaOnyama Limba QUALIFIED
Kadeem R KuskoGermanyIoni Bowcher RENEWAL
Julie U SchemmerCanadaOnyama Limba RENEWAL
Aditya U NestleRussiaAnna Fali UNQUALIFIED
Claire D GauchoUnited KingdomXuxue Feng RENEWAL
Wickens H VocelkaUnited KingdomAmy Elsner QUALIFIED
Jones P BriddickJapanBernardo Dominic PROPOSAL
Faith F MarrierCanadaAsiya Javayant QUALIFIED
Antonio L StensethCanadaAnna Fali NEGOTIATION
Jefferson M KolmetzIndiaIvan Magalhaes UNQUALIFIED
Chavez Q DarakjyFranceOnyama Limba RENEWAL
Claire L OldroydJapanStephen Shaw QUALIFIED
Greenwood E BologniaGermanyOnyama Limba QUALIFIED
Maisha T PaprockiCanadaStephen Shaw QUALIFIED
Maisha K MaletCanadaXuxue Feng NEGOTIATION
Nicolas B DilliardCanadaAsiya Javayant UNQUALIFIED
Kaitlin C GillianItalyAnna Fali QUALIFIED
Aruna T WieserItalyOnyama Limba RENEWAL
James H CaldareraUnited KingdomAmy Elsner QUALIFIED
Izzy C SlusarskiSpainXuxue Feng RENEWAL
Francesco A DilliardIndiaIvan Magalhaes RENEWAL
Juan W SlusarskiArgentinaStephen Shaw NEW
Izzy H TollnerItalyBernardo Dominic PROPOSAL
Mayumi G MorascaJapanBernardo Dominic NEGOTIATION
Claire H OldroydFranceStephen Shaw NEGOTIATION
Mujtaba L SaylorsFranceBernardo Dominic NEW
Jennifer S RimRussiaAnna Fali UNQUALIFIED
Julie B GarufiRussiaAsiya Javayant QUALIFIED
Kadeem Z WaycottIndiaAnna Fali PROPOSAL
Mayumi W NickaArgentinaElwin Sharvill UNQUALIFIED
Izzy Q GarufiBrazilStephen Shaw UNQUALIFIED
Salvatore T RoysterGermanyAmy Elsner QUALIFIED
Leon B StockhamFranceElwin Sharvill PROPOSAL
Leja K TollnerIndiaIvan Magalhaes QUALIFIED
Izzy F SergiItalyElwin Sharvill NEW
Jennifer W BologniaGermanyXuxue Feng NEGOTIATION
Morrow T ButtIndiaAsiya Javayant UNQUALIFIED
Rodrigues F KolmetzUnited KingdomStephen Shaw UNQUALIFIED
Aditya X KolmetzRussiaOnyama Limba PROPOSAL
Nicolas F MorascaItalyAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Greenwood T KuskoCanadaStephen Shaw PROPOSAL
Ivar B VocelkaAustraliaOnyama Limba NEGOTIATION
Deepesh X AmigonSpainStephen Shaw NEGOTIATION
Maisha L StensethJapanOnyama Limba UNQUALIFIED
Murillo W CampainItalyElwin Sharvill PROPOSAL
Leon Y FollerJapanAnna Fali NEW
Sinclair X KolmetzJapanXuxue Feng UNQUALIFIED
Rodrigues Y OstroskyCanadaStephen Shaw QUALIFIED
Kadeem X PoquetteUnited KingdomIvan Magalhaes RENEWAL
Faith W GauchoUnited KingdomElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams M TollnerUnited Kingdom2026-09-08Printing Dimensions QUALIFIED20Elwin Sharvill
1001Kadeem F OldroydItaly2026-09-09Chapman, Ross E Esq RENEWAL4Xuxue Feng
1002Maisha G RutaFrance2026-09-25Rousseaux, Michael Esq NEW48Ioni Bowcher
1003Jones L FerenczSpain2026-09-05Chemel, James L Cpa RENEWAL56Asiya Javayant
1004Claire Z GarufiGermany2026-09-30King, Christopher A Esq NEW64Anna Fali
1005Chavez G MacleadArgentina2026-09-09Chemel, James L Cpa NEW32Amy Elsner
1006Maria N DilliardCanada2026-10-02Buckley Miller Wright RENEWAL56Elwin Sharvill
1007Tony G BowleyAustralia2026-09-05Morlong Associates NEW13Amy Elsner
1008Mayumi Z DilliardItaly2026-09-13Chanay, Jeffrey A Esq QUALIFIED61Onyama Limba
1009Isabel S PoquetteSpain2026-09-18Buckley Miller Wright UNQUALIFIED71Amy Elsner
1010Darci C SergiArgentina2026-09-30Chanay, Jeffrey A Esq RENEWAL33Anna Fali
1011Ivar J StockhamBrazil2026-09-19Buckley Miller Wright QUALIFIED1Elwin Sharvill
1012Deepesh M SergiFrance2026-10-03Morlong Associates PROPOSAL80Stephen Shaw
1013Sinclair O NestleBrazil2026-09-29Rousseaux, Michael Esq RENEWAL38Stephen Shaw
1014Salvatore P WieserRussia2026-10-04Chanay, Jeffrey A Esq NEGOTIATION69Elwin Sharvill
1015Sinclair C DoeCanada2026-09-19Morlong Associates RENEWAL91Stephen Shaw
1016Arvin Q InouyeBrazil2026-09-18Rousseaux, Michael Esq UNQUALIFIED94Xuxue Feng
1017Kadeem Y KuskoIndia2026-09-17Chemel, James L Cpa UNQUALIFIED8Anna Fali
1018Stacey U OstroskyIndia2026-09-14Feltz Printing Service PROPOSAL62Ioni Bowcher
1019Jones Q BriddickBrazil2026-09-30Dorl, James J Esq RENEWAL97Xuxue Feng
1020Leon I WieserItaly2026-09-27King, Christopher A Esq QUALIFIED10Asiya Javayant
1021Emily U OldroydArgentina2026-09-20Truhlar And Truhlar Attys RENEWAL49Anna Fali
1022Jones U WhobreyRussia2026-10-03Chapman, Ross E Esq PROPOSAL50Bernardo Dominic
1023Ivar A StockhamUnited Kingdom2026-09-29Buckley Miller Wright UNQUALIFIED82Ioni Bowcher
1024Mayumi I CaudyIndia2026-09-08Printing Dimensions QUALIFIED4Onyama Limba
1025Alejandro T NestleFrance2026-09-17King, Christopher A Esq RENEWAL38Stephen Shaw
1026Kaitlin F MacleadCanada2026-09-09King, Christopher A Esq NEGOTIATION22Ivan Magalhaes
1027Mujtaba F CaudyRussia2026-09-14Chapman, Ross E Esq RENEWAL24Xuxue Feng
1028Ivar J MaletGermany2026-09-27Benton, John B Jr QUALIFIED46Ivan Magalhaes
1029Jennifer B RulapaughSpain2026-09-11Feiner Bros UNQUALIFIED86Amy Elsner
1030Francesco L DarakjyArgentina2026-09-17King, Christopher A Esq PROPOSAL0Amy Elsner
1031Aditya W SaylorsArgentina2026-09-26Benton, John B Jr NEGOTIATION80Elwin Sharvill
1032Aruna A DarakjyArgentina2026-09-24King, Christopher A Esq UNQUALIFIED18Anna Fali
1033Morrow X BologniaRussia2026-09-16Rousseaux, Michael Esq QUALIFIED36Asiya Javayant
1034Isabel X DoeItaly2026-09-17Morlong Associates UNQUALIFIED9Elwin Sharvill
1035Leon U DoeJapan2026-09-26Chanay, Jeffrey A Esq PROPOSAL27Ivan Magalhaes
1036Stacey X MaletSpain2026-09-19Buckley Miller Wright QUALIFIED61Stephen Shaw
1037Cody E KuskoSpain2026-09-23Dorl, James J Esq NEW94Stephen Shaw
1038Leon N AmigonAustralia2026-09-27Commercial Press RENEWAL30Amy Elsner
1039Mujtaba N MaletSpain2026-09-06Dorl, James J Esq NEGOTIATION46Ioni Bowcher
1040Faith G PerinSpain2026-09-11Rangoni Of Florence UNQUALIFIED89Anna Fali
1041Isabel Q CampainArgentina2026-09-06Printing Dimensions PROPOSAL37Anna Fali
1042Antonio L SergiSpain2026-09-15Commercial Press PROPOSAL55Xuxue Feng
1043Salvatore T PoquetteJapan2026-09-21Chanay, Jeffrey A Esq UNQUALIFIED66Amy Elsner
1044Morrow T FerenczIndia2026-10-01Buckley Miller Wright PROPOSAL19Bernardo Dominic
1045Murillo L TollnerGermany2026-09-25Dorl, James J Esq UNQUALIFIED47Ioni Bowcher
1046Faith F InouyeJapan2026-09-08King, Christopher A Esq UNQUALIFIED69Anna Fali
1047Johnson F NestleRussia2026-09-11Chemel, James L Cpa PROPOSAL77Xuxue Feng
1048Octavia X GauchoItaly2026-09-28Chanay, Jeffrey A Esq RENEWAL54Amy Elsner
1049Greenwood W CaldareraUnited Kingdom2026-09-20King, Christopher A Esq NEGOTIATION73Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Kadeem J RoysterArgentinaXuxue Feng RENEWAL
Isabel T WhobreyCanadaXuxue Feng UNQUALIFIED
James O InouyeIndiaBernardo Dominic QUALIFIED
Ashley C FerenczJapanBernardo Dominic UNQUALIFIED
Adams G DilliardArgentinaAnna Fali QUALIFIED
Juan G MacleadFranceElwin Sharvill NEGOTIATION
Aruna W SlusarskiIndiaXuxue Feng NEGOTIATION
Murillo G KuskoArgentinaElwin Sharvill NEGOTIATION
Stacey F FlosiIndiaStephen Shaw UNQUALIFIED
Chavez D SergiUnited KingdomBernardo Dominic QUALIFIED
Maria W OstroskyFranceStephen Shaw UNQUALIFIED
Leja F PoquetteGermanyIvan Magalhaes RENEWAL
Misaki K FigeroaUnited KingdomAmy Elsner NEGOTIATION
Munro V FigeroaBrazilBernardo Dominic NEW
Morrow G BriddickRussiaAmy Elsner QUALIFIED
Smith A FollerAustraliaAnna Fali NEW
Murillo U FlosiIndiaIvan Magalhaes NEGOTIATION
Isabel D ButtGermanyAsiya Javayant NEW
Murillo Y FerenczJapanXuxue Feng QUALIFIED
Aditya J ButtItalyElwin Sharvill PROPOSAL
Octavia U ButtIndiaAsiya Javayant NEGOTIATION
Francesco M MarrierIndiaAsiya Javayant NEW
Jefferson M FigeroaSpainIvan Magalhaes QUALIFIED
Clifford L WaycottUnited KingdomIvan Magalhaes PROPOSAL
Sinclair Y StensethJapanElwin Sharvill RENEWAL
Aruna W CampainRussiaIoni Bowcher PROPOSAL
Kaitlin B SergiBrazilAmy Elsner PROPOSAL
Deepesh K SchemmerItalyAnna Fali QUALIFIED
Kadeem M GauchoCanadaAmy Elsner NEGOTIATION
Alejandro Z WaycottGermanyIoni Bowcher UNQUALIFIED
Greenwood F RimIndiaAsiya Javayant PROPOSAL
Chavez E IturbideRussiaXuxue Feng QUALIFIED
Claire I RulapaughRussiaAmy Elsner NEW
Aruna I ButtItalyIoni Bowcher PROPOSAL
James L WhobreyIndiaAnna Fali NEW
Leja T SergiItalyStephen Shaw PROPOSAL
Maria N TollnerUnited KingdomStephen Shaw RENEWAL
Faith Y ChuiAustraliaIoni Bowcher UNQUALIFIED
Juan V GarufiUnited KingdomAmy Elsner UNQUALIFIED
Kadeem P CampainJapanOnyama Limba UNQUALIFIED
Mayumi N MorascaCanadaIoni Bowcher QUALIFIED
Claire W DarakjyFranceElwin Sharvill QUALIFIED
James H DarakjyJapanAmy Elsner NEGOTIATION
Adams J ButtJapanIvan Magalhaes PROPOSAL
Ricardo V VenereJapanAsiya Javayant NEGOTIATION
Nicolas N StockhamFranceAnna Fali PROPOSAL
Rodrigues M RimBrazilIvan Magalhaes NEGOTIATION
Ashley K TollnerBrazilAmy Elsner NEGOTIATION
Stacey J BologniaIndiaOnyama Limba UNQUALIFIED
Clifford H RimSpainStephen Shaw NEW
Frozen Columns
Name
Costa H Briddick
Jennifer V Foller
Leja R Gillian
Isabel L Wieser
Wickens L Slusarski
Clifford W Doe
Stacey U Paprocki
Misaki I Royster
Julie J Waycott
Cody U Kusko
Stacey E Ostrosky
Kaitlin V Morasca
Nicolas T Iturbide
Mujtaba L Gillian
Mujtaba R Rulapaugh
Clifford T Glick
Aruna I Oldroyd
Antonio A Whobrey
Wickens N Dilliard
Smith D Gillian
Antonio D Inouye
Juan B Paprocki
Kaitlin J Waycott
Stacey Q Marrier
Leon A Rulapaugh
Cody Q Nestle
Maisha W Waycott
Julie Y Royster
Izzy A Oldroyd
Clifford L Paprocki
Julie X Perin
Jefferson Z Saylors
Jeanfrancois V Vocelka
Smith V Tollner
Tony T Marrier
Maisha O Flosi
Aruna K Chui
Jones T Nicka
Stacey P Ferencz
Aditya G Whobrey
Salvatore D Whobrey
Deepesh N Malet
Nicolas L Caudy
Silvio J Saylors
Darci C Doe
Smith O Vocelka
Mujtaba N Inouye
Kaitlin H Gillian
Wickens Z Tollner
Ashley Z Malet
IdCountryDate
1000Brazil2026-10-02
1001United Kingdom2026-09-08
1002Australia2026-10-01
1003Argentina2026-09-19
1004Russia2026-09-08
1005Argentina2026-09-09
1006Australia2026-10-03
1007Spain2026-09-10
1008Germany2026-09-20
1009Australia2026-09-28
1010Canada2026-09-20
1011Spain2026-09-23
1012Germany2026-09-26
1013Japan2026-09-28
1014Italy2026-10-04
1015Italy2026-09-17
1016Italy2026-09-24
1017Argentina2026-09-17
1018Brazil2026-09-16
1019Spain2026-09-29
1020India2026-09-30
1021Germany2026-09-19
1022Canada2026-09-12
1023India2026-09-30
1024Russia2026-09-29
1025France2026-09-19
1026Japan2026-09-18
1027Canada2026-09-28
1028Canada2026-09-20
1029Brazil2026-10-02
1030Japan2026-09-14
1031United Kingdom2026-09-14
1032Japan2026-10-04
1033Germany2026-09-10
1034Argentina2026-10-01
1035Argentina2026-09-18
1036Brazil2026-10-02
1037Spain2026-09-15
1038Japan2026-09-30
1039Japan2026-09-17
1040Australia2026-09-27
1041Argentina2026-09-07
1042Canada2026-09-18
1043United Kingdom2026-10-01
1044Japan2026-09-19
1045Japan2026-09-25
1046India2026-10-02
1047France2026-09-05
1048Canada2026-09-11
1049India2026-09-28

On-Demand Data

NameIdCountryDate
Kaitlin D Stockham1000Argentina2026-09-14
Greenwood G Dilliard1001Spain2026-09-22
Clifford B Venere1002Russia2026-09-11
Maria M Inouye1003Australia2026-09-09
Murillo N Briddick1004India2026-09-24
Alejandro A Saylors1005Russia2026-09-25
Jennifer H Campain1006Japan2026-09-30
Costa C Foller1007Australia2026-10-04
Kadeem Q Nicka1008Australia2026-09-16
Costa T Malet1009Canada2026-09-05
James R Flosi1010France2026-09-25
David P Ferencz1011Spain2026-09-06
Smith P Morasca1012Brazil2026-09-29
Francesco U Ruta1013India2026-09-28
Aditya N Amigon1014Japan2026-09-17
Jefferson Y Ferencz1015Canada2026-09-10
Costa C Ferencz1016Russia2026-10-02
Antonio X Briddick1017Brazil2026-09-23
Claire J Whobrey1018Germany2026-10-01
Mujtaba E Whobrey1019Japan2026-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas S MorascaFranceXuxue Feng QUALIFIED
Wickens D TollnerArgentinaAnna Fali NEW
Mayumi O BologniaFranceStephen Shaw UNQUALIFIED
Tony Q OstroskyBrazilAmy Elsner UNQUALIFIED
Jones I ButtSpainAnna Fali RENEWAL
Smith G KuskoFranceAmy Elsner QUALIFIED
Ricardo G OstroskyAustraliaIvan Magalhaes QUALIFIED
Sinclair F VenereArgentinaElwin Sharvill UNQUALIFIED
Julie G KolmetzIndiaAnna Fali RENEWAL
Maisha I AmigonFranceBernardo Dominic UNQUALIFIED
Kaitlin S BriddickJapanElwin Sharvill PROPOSAL
Murillo R KuskoGermanyAmy Elsner UNQUALIFIED
Kaitlin V CampainGermanyAsiya Javayant RENEWAL
Leon O BriddickRussiaAsiya Javayant NEGOTIATION
Francesco M BriddickArgentinaElwin Sharvill UNQUALIFIED
Aika C VocelkaCanadaBernardo Dominic NEW
Tony I KuskoSpainStephen Shaw UNQUALIFIED
Ashley N SchemmerFranceAnna Fali QUALIFIED
Morrow F GarufiRussiaStephen Shaw PROPOSAL
Jones V MorascaSpainAnna Fali RENEWAL
Jennifer L BowleyUnited KingdomBernardo Dominic UNQUALIFIED
Misaki Q PerinJapanIvan Magalhaes NEW
Emily S KuskoCanadaAnna Fali QUALIFIED
Alejandro K DilliardItalyAmy Elsner NEW
Greenwood B VenereBrazilOnyama Limba RENEWAL
James W FigeroaRussiaAnna Fali NEW
Jefferson V FigeroaJapanElwin Sharvill NEGOTIATION
Costa R CaudyUnited KingdomStephen Shaw NEW
Chavez K PaprockiGermanyXuxue Feng NEW
Antonio L MacleadIndiaAmy Elsner PROPOSAL
Greenwood F WaycottItalyIvan Magalhaes PROPOSAL
Ricardo R KuskoRussiaBernardo Dominic QUALIFIED
Maisha G RutaArgentinaIvan Magalhaes NEW
Julie O BriddickIndiaBernardo Dominic PROPOSAL
Maria P DilliardArgentinaStephen Shaw QUALIFIED
Deepesh Q ChuiBrazilStephen Shaw NEW
Maisha A IturbideFranceStephen Shaw PROPOSAL
Tony S CaudyGermanyBernardo Dominic QUALIFIED
Arvin U SchemmerSpainXuxue Feng QUALIFIED
Misaki W RulapaughItalyIvan Magalhaes 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>