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
Kaitlin X SaylorsItalyIoni Bowcher UNQUALIFIED
Wickens B AmigonCanadaIvan Magalhaes NEW
Arvin H SaylorsRussiaAsiya Javayant QUALIFIED
Murillo Z BologniaAustraliaAsiya Javayant NEW
Antonio I InouyeGermanyOnyama Limba NEW
Rodrigues V GlickRussiaIvan Magalhaes PROPOSAL
Darci I DoeAustraliaElwin Sharvill RENEWAL
Greenwood V GillianGermanyIvan Magalhaes NEGOTIATION
Clifford L BowleyRussiaStephen Shaw NEGOTIATION
Arvin P SlusarskiJapanBernardo Dominic UNQUALIFIED
Antonio A CampainGermanyIvan Magalhaes UNQUALIFIED
Julie C PaprockiIndiaBernardo Dominic PROPOSAL
Aruna W RulapaughBrazilElwin Sharvill NEW
Clifford O KolmetzArgentinaElwin Sharvill NEW
Leja H KuskoSpainBernardo Dominic NEGOTIATION
Aditya P CampainSpainXuxue Feng RENEWAL
Juan N KuskoGermanyAmy Elsner UNQUALIFIED
Mujtaba X DilliardRussiaAnna Fali UNQUALIFIED
Izzy W RoysterSpainStephen Shaw NEW
Maria T SergiJapanBernardo Dominic NEW
Alejandro A CaldareraIndiaBernardo Dominic QUALIFIED
Stacey W FerenczItalyElwin Sharvill RENEWAL
Rodrigues A RutaCanadaXuxue Feng UNQUALIFIED
Stacey M GlickBrazilElwin Sharvill UNQUALIFIED
Mujtaba Q RutaSpainIvan Magalhaes QUALIFIED
Morrow E AmigonUnited KingdomStephen Shaw UNQUALIFIED
Mayumi X MarrierArgentinaElwin Sharvill QUALIFIED
Aika L VocelkaArgentinaElwin Sharvill QUALIFIED
Jefferson X CaldareraArgentinaAmy Elsner RENEWAL
Kaitlin P MarrierAustraliaOnyama Limba PROPOSAL
Clifford O WaycottCanadaBernardo Dominic NEW
Octavia M GillianSpainAnna Fali NEW
Antonio X PerinSpainBernardo Dominic PROPOSAL
Rodrigues V FollerArgentinaAnna Fali QUALIFIED
Mujtaba L InouyeIndiaIoni Bowcher PROPOSAL
Francesco I WieserFranceAmy Elsner NEGOTIATION
Antonio F MaletBrazilElwin Sharvill NEW
Leon X AmigonArgentinaIvan Magalhaes NEGOTIATION
Wickens E GillianBrazilXuxue Feng PROPOSAL
Alejandro K IturbideSpainAnna Fali QUALIFIED
Jones S DoeCanadaXuxue Feng QUALIFIED
Tony C FigeroaBrazilStephen Shaw NEW
Murillo H AlbaresBrazilStephen Shaw NEGOTIATION
Maria Z ButtRussiaIoni Bowcher NEW
Alejandro H AlbaresFranceIvan Magalhaes QUALIFIED
Nicolas R SchemmerAustraliaStephen Shaw UNQUALIFIED
Smith A ShinkoAustraliaIvan Magalhaes QUALIFIED
Adams L ButtSpainXuxue Feng NEGOTIATION
Rodrigues Y PoquetteItalyOnyama Limba PROPOSAL
Julie Q ButtSpainAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Ricardo X KolmetzJapanIvan Magalhaes UNQUALIFIED
Rodrigues K RulapaughItalyAmy Elsner NEW
Mujtaba F AmigonItalyAnna Fali NEGOTIATION
Wickens J VocelkaItalyAsiya Javayant QUALIFIED
Deepesh F MaletBrazilIoni Bowcher RENEWAL
Julie U GillianJapanOnyama Limba UNQUALIFIED
Morrow K BriddickBrazilXuxue Feng NEW
Sinclair C DilliardIndiaStephen Shaw NEGOTIATION
Salvatore N KolmetzRussiaAmy Elsner QUALIFIED
Kaitlin P PoquetteIndiaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel J AlbaresGermany2026-10-22Feltz Printing Service NEW68Bernardo Dominic
1001Sinclair S OstroskyUnited Kingdom2026-10-12Commercial Press UNQUALIFIED76Anna Fali
1002Ricardo Y WieserJapan2026-11-03Chemel, James L Cpa RENEWAL1Stephen Shaw
1003Maria O WaycottRussia2026-10-09Chanay, Jeffrey A Esq NEW11Bernardo Dominic
1004Antonio T RimGermany2026-10-14King, Christopher A Esq PROPOSAL92Onyama Limba
1005Wickens E KolmetzCanada2026-10-14Printing Dimensions QUALIFIED14Onyama Limba
1006Silvio N MaletUnited Kingdom2026-10-20Feiner Bros NEGOTIATION67Asiya Javayant
1007Mujtaba H StockhamRussia2026-10-16King, Christopher A Esq NEW1Onyama Limba
1008Ashley C WhobreyUnited Kingdom2026-10-19Feltz Printing Service NEGOTIATION10Asiya Javayant
1009Jones H CaldareraBrazil2026-10-10Truhlar And Truhlar Attys NEGOTIATION36Amy Elsner
1010Ivar W NickaItaly2026-10-11Dorl, James J Esq PROPOSAL7Stephen Shaw
1011Maisha S KolmetzRussia2026-10-15Truhlar And Truhlar Attys NEW83Stephen Shaw
1012Jennifer P MarrierIndia2026-10-26Chanay, Jeffrey A Esq RENEWAL64Bernardo Dominic
1013Smith H CaudyCanada2026-10-11Chemel, James L Cpa QUALIFIED9Ioni Bowcher
1014Leon R StensethCanada2026-11-05Buckley Miller Wright UNQUALIFIED63Ivan Magalhaes
1015Wickens C MaletBrazil2026-10-14Chapman, Ross E Esq UNQUALIFIED29Elwin Sharvill
1016Chavez V OstroskyUnited Kingdom2026-11-05Chanay, Jeffrey A Esq RENEWAL22Xuxue Feng
1017David C PoquetteBrazil2026-10-16Chemel, James L Cpa QUALIFIED28Xuxue Feng
1018Faith H SergiGermany2026-10-28King, Christopher A Esq PROPOSAL76Anna Fali
1019Salvatore V NickaArgentina2026-10-28Rousseaux, Michael Esq NEW2Asiya Javayant
1020Jefferson Z VenereSpain2026-10-29Feltz Printing Service UNQUALIFIED27Elwin Sharvill
1021Faith U CampainItaly2026-10-07Chemel, James L Cpa QUALIFIED70Ivan Magalhaes
1022Clifford W AmigonCanada2026-11-05Commercial Press UNQUALIFIED16Anna Fali
1023Costa X MorascaRussia2026-10-17King, Christopher A Esq NEGOTIATION54Stephen Shaw
1024Faith P PoquetteBrazil2026-10-23Feltz Printing Service QUALIFIED78Amy Elsner
1025Izzy U IturbideItaly2026-10-24King, Christopher A Esq NEGOTIATION41Stephen Shaw
1026Antonio R GauchoCanada2026-10-26Rangoni Of Florence RENEWAL52Ioni Bowcher
1027Aruna O SergiUnited Kingdom2026-10-27King, Christopher A Esq NEW92Asiya Javayant
1028Octavia L PoquetteItaly2026-10-18Morlong Associates UNQUALIFIED15Amy Elsner
1029Clifford A SaylorsBrazil2026-10-11Rangoni Of Florence NEGOTIATION81Asiya Javayant
1030Kadeem F SchemmerArgentina2026-10-08Chanay, Jeffrey A Esq RENEWAL10Anna Fali
1031Izzy U ChuiCanada2026-10-25Printing Dimensions UNQUALIFIED49Xuxue Feng
1032Octavia U OstroskySpain2026-11-02King, Christopher A Esq QUALIFIED26Asiya Javayant
1033Jefferson U InouyeSpain2026-10-30Chanay, Jeffrey A Esq QUALIFIED36Onyama Limba
1034Clifford G GauchoItaly2026-10-22Chanay, Jeffrey A Esq UNQUALIFIED27Amy Elsner
1035Kadeem Y KolmetzGermany2026-10-29Feltz Printing Service RENEWAL72Onyama Limba
1036Antonio B MaletUnited Kingdom2026-10-08Truhlar And Truhlar Attys RENEWAL13Bernardo Dominic
1037Kaitlin Q MaletFrance2026-10-24Morlong Associates NEW22Elwin Sharvill
1038Ivar W CampainItaly2026-10-19Chapman, Ross E Esq NEGOTIATION55Elwin Sharvill
1039Ivar W GauchoGermany2026-11-05Chanay, Jeffrey A Esq NEW37Xuxue Feng
1040Arvin R FlosiIndia2026-10-26Printing Dimensions NEGOTIATION81Stephen Shaw
1041Tony F RimGermany2026-10-29Dorl, James J Esq NEW49Elwin Sharvill
1042Juan G ShinkoGermany2026-10-11Chanay, Jeffrey A Esq NEGOTIATION76Ioni Bowcher
1043Deepesh H GauchoRussia2026-10-20Truhlar And Truhlar Attys QUALIFIED72Ivan Magalhaes
1044Isabel D SlusarskiFrance2026-10-13Chanay, Jeffrey A Esq PROPOSAL90Asiya Javayant
1045Faith Y FigeroaFrance2026-10-07Chemel, James L Cpa NEGOTIATION84Asiya Javayant
1046Francesco A MorascaIndia2026-10-31Chapman, Ross E Esq NEGOTIATION71Onyama Limba
1047Leon I MaletAustralia2026-10-07Rousseaux, Michael Esq UNQUALIFIED23Onyama Limba
1048Chavez E BowleyFrance2026-10-10Feltz Printing Service UNQUALIFIED14Stephen Shaw
1049Jones C BowleySpain2026-10-09Chapman, Ross E Esq NEGOTIATION75Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Adams U DilliardUnited KingdomElwin Sharvill PROPOSAL
Aditya K SergiRussiaIoni Bowcher QUALIFIED
Aditya C VenereUnited KingdomBernardo Dominic NEW
Jones Z CaudyRussiaAmy Elsner PROPOSAL
Murillo W KuskoFranceBernardo Dominic NEW
Morrow W GauchoJapanOnyama Limba NEW
Silvio O DilliardJapanStephen Shaw PROPOSAL
Rodrigues A GauchoArgentinaStephen Shaw QUALIFIED
Claire A CaldareraBrazilIoni Bowcher QUALIFIED
Ashley B BologniaFranceElwin Sharvill RENEWAL
Jefferson K DilliardJapanAsiya Javayant UNQUALIFIED
Octavia S GauchoGermanyIvan Magalhaes QUALIFIED
Leon L PerinSpainIoni Bowcher UNQUALIFIED
Clifford D WhobreyFranceOnyama Limba NEGOTIATION
Jennifer I GarufiFranceIvan Magalhaes RENEWAL
Kadeem J FlosiArgentinaIoni Bowcher UNQUALIFIED
Darci L FerenczIndiaAmy Elsner UNQUALIFIED
Ivar G MaletBrazilAsiya Javayant NEGOTIATION
Tony G DarakjyCanadaAnna Fali PROPOSAL
Izzy F CampainRussiaIvan Magalhaes NEW
Murillo E MacleadFranceAnna Fali QUALIFIED
Antonio G KuskoGermanyIvan Magalhaes NEW
Kadeem L OstroskyRussiaElwin Sharvill QUALIFIED
Emily I KolmetzBrazilAnna Fali PROPOSAL
Leon J MaletFranceAmy Elsner QUALIFIED
Costa U OldroydRussiaIvan Magalhaes UNQUALIFIED
Maria D RimRussiaAnna Fali RENEWAL
Kadeem U AlbaresUnited KingdomXuxue Feng PROPOSAL
Jones G IturbideJapanAmy Elsner NEGOTIATION
Jeanfrancois O SlusarskiJapanAmy Elsner NEW
Deepesh J MarrierBrazilIvan Magalhaes NEW
Misaki M GauchoBrazilAmy Elsner NEGOTIATION
Juan Y AlbaresIndiaXuxue Feng NEW
Alejandro L WieserAustraliaAsiya Javayant PROPOSAL
Deepesh D GillianGermanyOnyama Limba QUALIFIED
Kaitlin G BowleyAustraliaIvan Magalhaes NEGOTIATION
Jennifer T CaldareraRussiaStephen Shaw QUALIFIED
Izzy N OstroskyFranceIoni Bowcher UNQUALIFIED
Antonio E PoquetteSpainOnyama Limba QUALIFIED
Octavia I GauchoAustraliaXuxue Feng PROPOSAL
Leon J FollerRussiaAsiya Javayant PROPOSAL
Cody E KolmetzItalyElwin Sharvill NEGOTIATION
Wickens R VocelkaJapanAnna Fali QUALIFIED
Sinclair Q RulapaughArgentinaStephen Shaw NEGOTIATION
Morrow J TollnerFranceXuxue Feng QUALIFIED
Salvatore D KuskoArgentinaXuxue Feng NEGOTIATION
Ashley G MaletCanadaAmy Elsner NEGOTIATION
Ashley L PoquetteSpainIvan Magalhaes NEW
Costa C AmigonCanadaXuxue Feng QUALIFIED
David G VocelkaArgentinaOnyama Limba PROPOSAL
Frozen Columns
Name
Ashley T Bowley
Clifford B Garufi
Leja J Perin
Kaitlin X Ruta
Misaki V Gillian
Tony K Darakjy
Ashley F Saylors
Johnson Y Albares
Clifford P Oldroyd
Cody I Shinko
Aruna D Kolmetz
Claire W Sergi
Salvatore Y Stenseth
Misaki W Foller
Mayumi F Briddick
Kadeem N Paprocki
Leon W Nicka
Juan T Schemmer
Aika U Campain
Misaki A Caldarera
Mujtaba C Iturbide
Maria D Amigon
Juan J Kusko
Ivar B Glick
Tony N Oldroyd
Jefferson T Chui
Maisha G Schemmer
Johnson F Rulapaugh
Smith V Foller
Leon L Tollner
Leon Z Campain
Jennifer V Ferencz
Munro K Briddick
James P Stockham
Ashley G Butt
Adams C Tollner
Jennifer Q Wieser
Isabel J Whobrey
Costa D Morasca
Jennifer D Venere
Mayumi J Royster
Maisha J Malet
Silvio A Albares
Tony H Rulapaugh
Jefferson C Dilliard
Misaki P Rulapaugh
Jennifer Z Malet
Greenwood S Maclead
Jeanfrancois H Rim
Morrow I Albares
IdCountryDate
1000Brazil2026-11-04
1001Italy2026-11-01
1002India2026-10-14
1003Russia2026-11-05
1004Germany2026-10-29
1005Brazil2026-10-11
1006Argentina2026-10-15
1007Italy2026-10-21
1008Canada2026-10-16
1009Argentina2026-10-15
1010Canada2026-10-09
1011Australia2026-10-14
1012Argentina2026-10-08
1013Brazil2026-11-02
1014United Kingdom2026-10-24
1015Australia2026-10-10
1016Argentina2026-10-08
1017Canada2026-10-18
1018Australia2026-10-12
1019India2026-10-13
1020Germany2026-10-30
1021India2026-10-21
1022Argentina2026-10-11
1023Brazil2026-10-09
1024Australia2026-10-12
1025Canada2026-10-20
1026Italy2026-10-09
1027India2026-10-19
1028Russia2026-10-23
1029India2026-11-01
1030Australia2026-10-11
1031Russia2026-10-30
1032Argentina2026-10-29
1033France2026-10-09
1034Russia2026-10-27
1035United Kingdom2026-10-17
1036Spain2026-10-28
1037Canada2026-10-23
1038Russia2026-10-12
1039Australia2026-10-19
1040France2026-10-19
1041United Kingdom2026-10-30
1042Italy2026-10-25
1043United Kingdom2026-10-11
1044Russia2026-10-23
1045Australia2026-10-10
1046Australia2026-10-09
1047United Kingdom2026-10-09
1048India2026-10-14
1049Italy2026-10-11

On-Demand Data

NameIdCountryDate
Ashley A Gillian1000Brazil2026-11-03
Misaki R Iturbide1001Japan2026-11-03
Julie K Malet1002Canada2026-10-10
Jefferson B Whobrey1003Spain2026-10-13
Aditya F Paprocki1004Japan2026-10-11
Jennifer O Albares1005Russia2026-11-05
David P Venere1006Japan2026-10-17
Isabel C Albares1007Canada2026-10-22
Isabel N Caldarera1008Russia2026-10-22
David W Rim1009Russia2026-11-04
Wickens M Ostrosky1010Canada2026-10-19
Wickens J Rulapaugh1011Russia2026-10-21
Misaki Y Tollner1012Australia2026-10-28
Morrow X Gillian1013United Kingdom2026-10-18
Nicolas K Sergi1014Argentina2026-10-13
Murillo H Sergi1015Russia2026-10-14
Ricardo T Dilliard1016Canada2026-10-16
Octavia T Wieser1017Argentina2026-10-09
Isabel Y Malet1018Italy2026-10-09
Emily S Ostrosky1019Brazil2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia C SergiBrazilIvan Magalhaes NEW
Mujtaba G KuskoCanadaBernardo Dominic UNQUALIFIED
Julie X SlusarskiIndiaIoni Bowcher PROPOSAL
Ashley B StensethUnited KingdomAmy Elsner QUALIFIED
Leon O RutaJapanIoni Bowcher NEW
Mujtaba F GarufiRussiaIvan Magalhaes QUALIFIED
Adams S NestleUnited KingdomXuxue Feng NEW
Mujtaba A KuskoSpainBernardo Dominic PROPOSAL
Arvin H KolmetzFranceStephen Shaw RENEWAL
Rodrigues Y DoeFranceXuxue Feng NEW
Maria E RimJapanElwin Sharvill UNQUALIFIED
Leon M CaudyRussiaAsiya Javayant RENEWAL
Mujtaba Y StockhamBrazilBernardo Dominic UNQUALIFIED
Aika Q RoysterArgentinaBernardo Dominic NEGOTIATION
Antonio Z KuskoAustraliaIvan Magalhaes QUALIFIED
Tony J ButtAustraliaAnna Fali UNQUALIFIED
Ashley C FlosiCanadaAsiya Javayant NEW
Cody N InouyeCanadaBernardo Dominic QUALIFIED
Johnson O GlickFranceAmy Elsner UNQUALIFIED
Mayumi R ChuiItalyBernardo Dominic RENEWAL
Silvio Y GillianIndiaAmy Elsner NEW
Silvio N RoysterBrazilAmy Elsner QUALIFIED
Rodrigues M CampainFranceIoni Bowcher NEGOTIATION
Ashley J InouyeBrazilAsiya Javayant PROPOSAL
Aruna C SlusarskiIndiaElwin Sharvill PROPOSAL
Kaitlin L PaprockiSpainXuxue Feng UNQUALIFIED
Darci R PaprockiSpainBernardo Dominic NEW
Claire B AlbaresIndiaIvan Magalhaes NEGOTIATION
Rodrigues W WaycottRussiaIvan Magalhaes RENEWAL
Ivar T VenereFranceIoni Bowcher RENEWAL
James S SchemmerJapanElwin Sharvill QUALIFIED
Faith H ButtArgentinaOnyama Limba QUALIFIED
Izzy S IturbideSpainIvan Magalhaes QUALIFIED
Costa F MaletIndiaIoni Bowcher QUALIFIED
Leon X SaylorsItalyElwin Sharvill NEGOTIATION
Stacey J FerenczArgentinaIoni Bowcher RENEWAL
Juan S PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Costa E RimAustraliaBernardo Dominic NEW
Aditya K SergiFranceIvan Magalhaes NEGOTIATION
Jefferson T DarakjySpainStephen Shaw NEW

<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>