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
Antonio Q AlbaresBrazilBernardo Dominic NEGOTIATION
James S SlusarskiUnited KingdomAsiya Javayant RENEWAL
Jefferson R FerenczUnited KingdomIoni Bowcher UNQUALIFIED
Misaki Q WhobreyIndiaIoni Bowcher UNQUALIFIED
James B PerinBrazilAsiya Javayant NEGOTIATION
Sinclair V FerenczCanadaXuxue Feng PROPOSAL
Francesco B KuskoUnited KingdomAmy Elsner UNQUALIFIED
Silvio I RulapaughFranceIvan Magalhaes PROPOSAL
Nicolas M FollerItalyOnyama Limba RENEWAL
Aditya W WaycottAustraliaAsiya Javayant PROPOSAL
Darci I AmigonArgentinaAnna Fali PROPOSAL
Emily B RimGermanyIoni Bowcher NEGOTIATION
Faith U PerinArgentinaIvan Magalhaes UNQUALIFIED
Ivar C SergiFranceOnyama Limba RENEWAL
Morrow D WieserIndiaBernardo Dominic NEGOTIATION
Ivar O AmigonArgentinaOnyama Limba RENEWAL
Alejandro D GarufiArgentinaIoni Bowcher NEW
Jefferson G ChuiBrazilBernardo Dominic QUALIFIED
Ricardo V DoeRussiaIoni Bowcher RENEWAL
Costa P DarakjyItalyElwin Sharvill UNQUALIFIED
Sinclair V ButtItalyElwin Sharvill RENEWAL
James C PerinGermanyAnna Fali RENEWAL
Chavez F DilliardArgentinaIvan Magalhaes UNQUALIFIED
Ashley S GauchoJapanOnyama Limba RENEWAL
Cody O PoquetteGermanyStephen Shaw RENEWAL
Rodrigues K RimUnited KingdomStephen Shaw PROPOSAL
Silvio H ChuiArgentinaAmy Elsner PROPOSAL
Isabel B DarakjyAustraliaBernardo Dominic UNQUALIFIED
Darci R SaylorsSpainIoni Bowcher UNQUALIFIED
Ricardo A FollerArgentinaIoni Bowcher NEW
Kadeem G DilliardBrazilAmy Elsner RENEWAL
Chavez P BowleyGermanyAnna Fali PROPOSAL
Costa L DoeArgentinaIoni Bowcher RENEWAL
Johnson C SergiJapanXuxue Feng QUALIFIED
Francesco X ButtAustraliaElwin Sharvill UNQUALIFIED
Francesco O ButtFranceStephen Shaw QUALIFIED
Ivar S VenereItalyAnna Fali RENEWAL
Jennifer R GillianUnited KingdomAnna Fali PROPOSAL
Munro O PoquetteFranceElwin Sharvill PROPOSAL
Mujtaba J VenereBrazilAsiya Javayant UNQUALIFIED
James E IturbideAustraliaElwin Sharvill RENEWAL
Maisha D CaudyGermanyXuxue Feng NEW
Sinclair Q InouyeArgentinaIvan Magalhaes PROPOSAL
Murillo V OldroydRussiaStephen Shaw NEGOTIATION
Sinclair O TollnerIndiaAnna Fali RENEWAL
Nicolas J DilliardAustraliaBernardo Dominic RENEWAL
Isabel U MaletAustraliaAmy Elsner RENEWAL
Mujtaba Z PaprockiItalyIoni Bowcher PROPOSAL
Costa O CaldareraAustraliaElwin Sharvill NEGOTIATION
Ricardo F FollerItalyBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jefferson T FigeroaItalyAmy Elsner QUALIFIED
Leon K VocelkaBrazilElwin Sharvill QUALIFIED
Izzy Y RutaBrazilStephen Shaw UNQUALIFIED
Munro N StockhamUnited KingdomAmy Elsner NEW
Arvin Z RoysterRussiaBernardo Dominic UNQUALIFIED
Clifford W MorascaRussiaStephen Shaw NEW
Aditya U MacleadIndiaOnyama Limba PROPOSAL
Kadeem Q ShinkoCanadaAsiya Javayant UNQUALIFIED
Chavez F VocelkaRussiaElwin Sharvill QUALIFIED
Antonio P WhobreyRussiaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony X AmigonAustralia2026-10-14Chanay, Jeffrey A Esq QUALIFIED24Ivan Magalhaes
1001Francesco Y FollerIndia2026-10-17Benton, John B Jr PROPOSAL12Ivan Magalhaes
1002Tony D RulapaughJapan2026-10-22Printing Dimensions NEW20Ivan Magalhaes
1003Sinclair A GlickFrance2026-10-02Benton, John B Jr NEW26Onyama Limba
1004Rodrigues R GauchoBrazil2026-10-22Rousseaux, Michael Esq UNQUALIFIED9Bernardo Dominic
1005Alejandro S FerenczArgentina2026-10-30Chapman, Ross E Esq RENEWAL83Amy Elsner
1006Ricardo V IturbideUnited Kingdom2026-10-21Chemel, James L Cpa PROPOSAL2Bernardo Dominic
1007Tony Y RutaJapan2026-10-30Printing Dimensions RENEWAL12Anna Fali
1008Murillo Y MaletBrazil2026-10-06Truhlar And Truhlar Attys NEW33Amy Elsner
1009Ashley N DilliardRussia2026-10-15King, Christopher A Esq PROPOSAL26Ioni Bowcher
1010Jennifer I BowleyBrazil2026-10-17Chanay, Jeffrey A Esq RENEWAL89Ivan Magalhaes
1011Rodrigues U RutaArgentina2026-10-26Feltz Printing Service QUALIFIED88Anna Fali
1012Ricardo W BowleyJapan2026-10-06Feiner Bros UNQUALIFIED16Xuxue Feng
1013Jefferson K BriddickRussia2026-10-29Commercial Press QUALIFIED80Xuxue Feng
1014Julie A SlusarskiItaly2026-10-27Dorl, James J Esq QUALIFIED85Elwin Sharvill
1015Octavia Y BriddickSpain2026-10-27Buckley Miller Wright PROPOSAL9Amy Elsner
1016Juan X WaycottJapan2026-10-30Dorl, James J Esq RENEWAL52Onyama Limba
1017Stacey C RimArgentina2026-10-21Buckley Miller Wright UNQUALIFIED43Stephen Shaw
1018Misaki Z RulapaughFrance2026-10-06Feltz Printing Service PROPOSAL96Amy Elsner
1019Tony W BowleyBrazil2026-10-24King, Christopher A Esq NEGOTIATION26Amy Elsner
1020Mayumi Z ButtFrance2026-10-13Chapman, Ross E Esq UNQUALIFIED80Anna Fali
1021Deepesh I PoquetteFrance2026-10-22Chemel, James L Cpa NEGOTIATION51Amy Elsner
1022Darci L WieserIndia2026-10-14Printing Dimensions NEGOTIATION77Elwin Sharvill
1023Aika Y KolmetzAustralia2026-10-24Chemel, James L Cpa NEW64Anna Fali
1024Rodrigues R MaletBrazil2026-10-10Chapman, Ross E Esq UNQUALIFIED2Elwin Sharvill
1025Silvio N MaletAustralia2026-10-27Chemel, James L Cpa RENEWAL6Xuxue Feng
1026Murillo Z SchemmerSpain2026-10-06Benton, John B Jr RENEWAL23Anna Fali
1027Misaki Y FigeroaBrazil2026-10-05King, Christopher A Esq NEGOTIATION65Anna Fali
1028Jones L OstroskyFrance2026-10-18Chapman, Ross E Esq RENEWAL79Stephen Shaw
1029Jones R NickaItaly2026-10-30Truhlar And Truhlar Attys RENEWAL49Anna Fali
1030Jeanfrancois D PoquetteUnited Kingdom2026-10-28Morlong Associates QUALIFIED61Xuxue Feng
1031Jennifer I RimJapan2026-10-15Morlong Associates UNQUALIFIED87Asiya Javayant
1032Wickens K BowleyAustralia2026-10-27Chanay, Jeffrey A Esq RENEWAL8Elwin Sharvill
1033Johnson J StockhamGermany2026-10-23Chapman, Ross E Esq PROPOSAL1Ivan Magalhaes
1034Maisha O FlosiIndia2026-10-03Morlong Associates PROPOSAL23Ivan Magalhaes
1035Rodrigues G VenereIndia2026-10-05King, Christopher A Esq QUALIFIED3Stephen Shaw
1036Smith O PoquetteItaly2026-10-29Feltz Printing Service UNQUALIFIED70Bernardo Dominic
1037Nicolas S KolmetzCanada2026-10-08Buckley Miller Wright NEW0Ivan Magalhaes
1038Aika A TollnerGermany2026-10-26Printing Dimensions QUALIFIED68Anna Fali
1039Chavez J IturbideJapan2026-10-31Feltz Printing Service NEW11Amy Elsner
1040Stacey G ChuiUnited Kingdom2026-10-15Commercial Press QUALIFIED93Stephen Shaw
1041Stacey J StensethCanada2026-10-16Printing Dimensions QUALIFIED80Xuxue Feng
1042Wickens L StockhamSpain2026-10-10Feiner Bros PROPOSAL0Onyama Limba
1043Munro E GillianFrance2026-10-28Rangoni Of Florence NEW11Bernardo Dominic
1044Johnson C DilliardGermany2026-10-06Printing Dimensions NEGOTIATION89Asiya Javayant
1045Kadeem J IturbideIndia2026-10-13Truhlar And Truhlar Attys QUALIFIED51Amy Elsner
1046Ashley Z PoquetteAustralia2026-10-21Rangoni Of Florence PROPOSAL95Bernardo Dominic
1047Darci G WieserItaly2026-10-06Commercial Press RENEWAL59Ivan Magalhaes
1048Jeanfrancois C FerenczBrazil2026-10-08Commercial Press UNQUALIFIED92Stephen Shaw
1049Cody H AlbaresArgentina2026-10-06King, Christopher A Esq NEW33Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Nicolas P InouyeSpainStephen Shaw PROPOSAL
Leja O DoeArgentinaBernardo Dominic RENEWAL
Isabel M KuskoRussiaXuxue Feng PROPOSAL
Sinclair T BowleyRussiaOnyama Limba UNQUALIFIED
Salvatore Z GauchoArgentinaIvan Magalhaes PROPOSAL
Alejandro X RimJapanStephen Shaw PROPOSAL
Salvatore A MacleadRussiaBernardo Dominic NEGOTIATION
Octavia K DoeJapanAnna Fali QUALIFIED
Jeanfrancois I SergiIndiaElwin Sharvill PROPOSAL
Aruna W RimSpainElwin Sharvill QUALIFIED
Ricardo K MorascaFranceBernardo Dominic RENEWAL
Ashley L ShinkoFranceAmy Elsner RENEWAL
Greenwood C FerenczRussiaStephen Shaw NEGOTIATION
Emily N CampainBrazilIvan Magalhaes NEW
Juan I NestleGermanyStephen Shaw PROPOSAL
Nicolas Z ButtBrazilAmy Elsner PROPOSAL
Munro Q InouyeGermanyIoni Bowcher UNQUALIFIED
Jefferson S DoeSpainAsiya Javayant PROPOSAL
Stacey O RutaItalyOnyama Limba RENEWAL
Kadeem P ShinkoFranceAmy Elsner NEGOTIATION
Darci M AlbaresItalyAsiya Javayant QUALIFIED
Silvio L WieserItalyIoni Bowcher UNQUALIFIED
Rodrigues T GarufiGermanyXuxue Feng UNQUALIFIED
Ricardo V GarufiBrazilAmy Elsner UNQUALIFIED
Kadeem E MorascaAustraliaElwin Sharvill PROPOSAL
Mujtaba E FerenczArgentinaIvan Magalhaes PROPOSAL
Isabel Q OldroydRussiaStephen Shaw PROPOSAL
Kaitlin X CaldareraBrazilBernardo Dominic NEGOTIATION
Silvio X PoquetteCanadaStephen Shaw UNQUALIFIED
Kadeem C DoeArgentinaXuxue Feng PROPOSAL
Ricardo G MaletFranceOnyama Limba NEW
Leon D FigeroaItalyXuxue Feng PROPOSAL
Aika L FerenczRussiaAmy Elsner NEGOTIATION
Murillo Z WaycottIndiaAmy Elsner NEGOTIATION
Izzy T WhobreySpainIoni Bowcher PROPOSAL
Alejandro M InouyeRussiaElwin Sharvill PROPOSAL
Tony Y PoquetteBrazilOnyama Limba RENEWAL
Salvatore B NestleRussiaElwin Sharvill NEW
Wickens J MacleadBrazilOnyama Limba PROPOSAL
Leon P GillianArgentinaAnna Fali PROPOSAL
Leon Q AmigonGermanyAmy Elsner UNQUALIFIED
Jennifer J MarrierSpainXuxue Feng QUALIFIED
Morrow M CaudyCanadaAnna Fali UNQUALIFIED
Juan Q ShinkoAustraliaStephen Shaw RENEWAL
Aditya A WieserArgentinaStephen Shaw QUALIFIED
Silvio E MacleadAustraliaBernardo Dominic NEW
Costa J PaprockiAustraliaIvan Magalhaes RENEWAL
Johnson P StockhamAustraliaAsiya Javayant UNQUALIFIED
Alejandro O SchemmerAustraliaIoni Bowcher NEW
Aika H GarufiCanadaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Isabel Q Marrier
Aruna L Caudy
Jeanfrancois R Caldarera
Juan X Shinko
Ricardo R Marrier
Wickens P Malet
Emily A Ferencz
Julie J Flosi
Isabel Q Albares
Costa Z Malet
Munro P Caldarera
Jeanfrancois A Iturbide
Darci I Briddick
Leja X Venere
Octavia I Iturbide
Deepesh F Nicka
Sinclair Q Rim
Claire H Sergi
Arvin L Nicka
James Z Chui
Antonio C Slusarski
Francesco J Vocelka
Costa T Bowley
Silvio C Kusko
Kadeem W Tollner
Murillo J Caudy
Wickens O Dilliard
Aika D Doe
Isabel R Oldroyd
Aika L Oldroyd
Sinclair L Schemmer
Greenwood T Tollner
Isabel O Ostrosky
Clifford Y Kusko
Isabel P Flosi
Jefferson F Slusarski
Ricardo Z Rim
Emily I Figeroa
Octavia J Glick
Antonio L Caldarera
Cody S Whobrey
Morrow I Nicka
Sinclair O Whobrey
Munro R Figeroa
Morrow F Ferencz
Chavez R Glick
Juan T Paprocki
Leon X Campain
Julie E Amigon
Costa X Kolmetz
IdCountryDate
1000Australia2026-10-30
1001India2026-10-28
1002Australia2026-10-05
1003Spain2026-10-28
1004Russia2026-10-10
1005Japan2026-10-09
1006France2026-10-04
1007Canada2026-10-04
1008Italy2026-10-28
1009United Kingdom2026-10-22
1010United Kingdom2026-10-30
1011Argentina2026-10-06
1012Spain2026-10-17
1013Spain2026-10-10
1014Italy2026-10-18
1015United Kingdom2026-10-04
1016Germany2026-10-28
1017Italy2026-10-19
1018Japan2026-10-12
1019France2026-10-21
1020Russia2026-10-30
1021India2026-10-10
1022United Kingdom2026-10-11
1023Italy2026-10-25
1024Canada2026-10-20
1025Australia2026-10-27
1026Australia2026-10-26
1027Japan2026-10-02
1028Spain2026-10-06
1029Argentina2026-10-02
1030Canada2026-10-29
1031India2026-10-13
1032United Kingdom2026-10-02
1033United Kingdom2026-10-31
1034Russia2026-10-22
1035Japan2026-10-29
1036Argentina2026-10-10
1037India2026-10-09
1038Italy2026-10-25
1039Japan2026-10-11
1040Australia2026-10-23
1041Argentina2026-10-06
1042Italy2026-10-14
1043Italy2026-10-25
1044Spain2026-10-24
1045India2026-10-11
1046Argentina2026-10-27
1047Australia2026-10-05
1048Germany2026-10-18
1049Japan2026-10-21

On-Demand Data

NameIdCountryDate
Faith K Iturbide1000Russia2026-10-19
Mayumi C Royster1001Germany2026-10-22
Emily Z Maclead1002Japan2026-10-20
Darci V Gaucho1003Japan2026-10-28
Stacey S Bowley1004Argentina2026-10-10
Maisha I Wieser1005United Kingdom2026-10-19
Chavez X Briddick1006Spain2026-10-07
Kadeem L Royster1007Japan2026-10-07
Greenwood L Caldarera1008Brazil2026-10-17
Leon U Shinko1009Japan2026-10-02
Jones T Paprocki1010Japan2026-10-03
Aika F Venere1011France2026-10-23
Leja E Campain1012Russia2026-10-10
Nicolas D Venere1013India2026-10-26
James R Slusarski1014Argentina2026-10-30
Leja G Bowley1015India2026-10-06
Faith L Iturbide1016Russia2026-10-11
Stacey M Caudy1017Germany2026-10-22
Ashley I Whobrey1018Germany2026-10-25
Ashley B Nestle1019Argentina2026-10-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson T DarakjyFranceIoni Bowcher PROPOSAL
Claire E ShinkoCanadaAsiya Javayant QUALIFIED
Emily G WieserItalyXuxue Feng PROPOSAL
Francesco M FigeroaSpainIoni Bowcher UNQUALIFIED
Aika V DoeAustraliaXuxue Feng PROPOSAL
Murillo E DarakjyGermanyStephen Shaw NEW
Adams D GillianRussiaStephen Shaw NEW
Juan R VenereRussiaOnyama Limba RENEWAL
Deepesh N MorascaUnited KingdomOnyama Limba UNQUALIFIED
Ricardo G AmigonRussiaAnna Fali NEW
Faith S WhobreyItalyBernardo Dominic RENEWAL
Munro V FlosiUnited KingdomAnna Fali RENEWAL
Francesco J PerinUnited KingdomElwin Sharvill NEGOTIATION
Ashley V FerenczBrazilOnyama Limba RENEWAL
Ricardo V GillianBrazilAsiya Javayant RENEWAL
Mujtaba P ShinkoFranceIvan Magalhaes UNQUALIFIED
Kadeem L DilliardRussiaAnna Fali NEW
Maisha N RulapaughArgentinaAmy Elsner PROPOSAL
Octavia G PaprockiAustraliaXuxue Feng RENEWAL
Antonio X StockhamSpainAmy Elsner PROPOSAL
Murillo V PoquetteJapanXuxue Feng PROPOSAL
Antonio B AlbaresGermanyBernardo Dominic NEGOTIATION
Mayumi U SaylorsRussiaStephen Shaw QUALIFIED
Mayumi T DilliardItalyAsiya Javayant NEGOTIATION
Johnson K WieserGermanyElwin Sharvill QUALIFIED
Kaitlin M NestleUnited KingdomAmy Elsner NEW
Leon E FerenczUnited KingdomBernardo Dominic QUALIFIED
Wickens N RutaUnited KingdomIoni Bowcher RENEWAL
Arvin X CampainArgentinaStephen Shaw NEGOTIATION
Leja Q StockhamUnited KingdomIoni Bowcher QUALIFIED
Mujtaba W RoysterSpainAnna Fali NEGOTIATION
Ashley O RoysterAustraliaStephen Shaw UNQUALIFIED
Aika J CaudyCanadaOnyama Limba UNQUALIFIED
Nicolas B RoysterRussiaBernardo Dominic NEW
Kaitlin H WieserIndiaBernardo Dominic NEGOTIATION
Aditya J KolmetzUnited KingdomAnna Fali PROPOSAL
Aika P RimIndiaStephen Shaw PROPOSAL
Emily Q KolmetzRussiaXuxue Feng RENEWAL
Costa Y GillianAustraliaIoni Bowcher UNQUALIFIED
Maria D WaycottUnited KingdomIvan Magalhaes 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>