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
Murillo B RoysterIndiaElwin Sharvill UNQUALIFIED
Chavez A CaudyGermanyXuxue Feng QUALIFIED
Octavia D BologniaCanadaAnna Fali QUALIFIED
Darci L ButtUnited KingdomAmy Elsner NEGOTIATION
Clifford U WieserRussiaAnna Fali NEGOTIATION
Silvio H WhobreyBrazilIoni Bowcher PROPOSAL
Stacey P CampainBrazilBernardo Dominic NEW
Costa M SergiIndiaElwin Sharvill NEW
Antonio V MarrierFranceXuxue Feng QUALIFIED
David C DoeFranceAmy Elsner NEGOTIATION
Murillo K DarakjyIndiaElwin Sharvill NEGOTIATION
Jones D RoysterCanadaAsiya Javayant QUALIFIED
Emily C WaycottBrazilAsiya Javayant PROPOSAL
Mujtaba N GarufiJapanOnyama Limba UNQUALIFIED
Kaitlin J SergiArgentinaIvan Magalhaes RENEWAL
Mujtaba H FlosiIndiaStephen Shaw PROPOSAL
Kaitlin G StockhamSpainOnyama Limba PROPOSAL
Francesco L SlusarskiSpainAnna Fali RENEWAL
Francesco P ChuiGermanyAnna Fali QUALIFIED
Clifford W BriddickSpainIvan Magalhaes PROPOSAL
Claire X FlosiJapanElwin Sharvill RENEWAL
Smith K ChuiIndiaAnna Fali PROPOSAL
Silvio C DoeFranceStephen Shaw RENEWAL
Octavia K CaudyIndiaAnna Fali QUALIFIED
Greenwood E CaudyRussiaAmy Elsner QUALIFIED
Darci F FollerJapanOnyama Limba NEGOTIATION
Munro F AlbaresArgentinaIvan Magalhaes PROPOSAL
Maria V OstroskyItalyAnna Fali RENEWAL
Arvin Y FerenczBrazilStephen Shaw NEGOTIATION
Claire J NestleGermanyElwin Sharvill NEW
Antonio D IturbideAustraliaAnna Fali NEW
Darci T StockhamJapanStephen Shaw QUALIFIED
Ivar N DoeCanadaAmy Elsner QUALIFIED
Julie C NestleItalyAmy Elsner NEW
Maisha Y SchemmerArgentinaOnyama Limba UNQUALIFIED
Maria D FerenczIndiaOnyama Limba UNQUALIFIED
Sinclair C DilliardRussiaAsiya Javayant PROPOSAL
Francesco B GillianJapanAnna Fali UNQUALIFIED
James E RoysterRussiaAsiya Javayant PROPOSAL
Aika A MarrierAustraliaBernardo Dominic NEW
Darci D BriddickSpainElwin Sharvill RENEWAL
Adams S MaletCanadaAnna Fali NEGOTIATION
Mayumi K PerinRussiaBernardo Dominic PROPOSAL
Kadeem A KuskoArgentinaAmy Elsner NEW
Faith F FigeroaCanadaIvan Magalhaes NEGOTIATION
Tony D PerinSpainAnna Fali PROPOSAL
Izzy C VenereRussiaAnna Fali RENEWAL
Aika F MacleadAustraliaAnna Fali PROPOSAL
Jones R GillianSpainBernardo Dominic UNQUALIFIED
Jennifer F GarufiSpainAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jennifer N SlusarskiFranceIoni Bowcher NEGOTIATION
Misaki B ShinkoArgentinaOnyama Limba NEGOTIATION
Arvin Q OstroskyBrazilOnyama Limba UNQUALIFIED
Jeanfrancois A SaylorsAustraliaAmy Elsner PROPOSAL
Salvatore R BologniaGermanyIoni Bowcher RENEWAL
Costa L StockhamArgentinaStephen Shaw RENEWAL
Leja Y VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas T GarufiIndiaIvan Magalhaes UNQUALIFIED
Tony C BologniaUnited KingdomIvan Magalhaes QUALIFIED
Alejandro T WhobreyGermanyOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony Y StockhamItaly2026-09-08Truhlar And Truhlar Attys NEGOTIATION7Stephen Shaw
1001Ashley M DilliardFrance2026-09-04Rangoni Of Florence QUALIFIED74Asiya Javayant
1002Aika T ChuiArgentina2026-09-24Rangoni Of Florence UNQUALIFIED84Amy Elsner
1003Ricardo U SaylorsCanada2026-09-08Morlong Associates UNQUALIFIED83Ivan Magalhaes
1004Nicolas R InouyeAustralia2026-09-05Chanay, Jeffrey A Esq NEGOTIATION98Ivan Magalhaes
1005Arvin K RulapaughFrance2026-09-23King, Christopher A Esq RENEWAL44Amy Elsner
1006Munro V VocelkaArgentina2026-09-03Rousseaux, Michael Esq NEW83Asiya Javayant
1007Isabel Z RoysterJapan2026-09-01Chemel, James L Cpa PROPOSAL86Xuxue Feng
1008Aika U FlosiRussia2026-09-15Feiner Bros NEGOTIATION53Stephen Shaw
1009Adams I PerinIndia2026-09-13Commercial Press NEW11Bernardo Dominic
1010Jefferson Y FerenczRussia2026-09-24Buckley Miller Wright UNQUALIFIED89Ivan Magalhaes
1011Silvio C SlusarskiAustralia2026-09-20Feiner Bros PROPOSAL6Elwin Sharvill
1012Ivar Z MacleadJapan2026-09-03Rangoni Of Florence UNQUALIFIED69Anna Fali
1013Jennifer I CampainJapan2026-09-11Chanay, Jeffrey A Esq NEGOTIATION70Onyama Limba
1014Antonio H VenereBrazil2026-09-21Feltz Printing Service NEW56Onyama Limba
1015Ashley J TollnerRussia2026-09-02Chanay, Jeffrey A Esq UNQUALIFIED59Elwin Sharvill
1016Arvin K WieserBrazil2026-09-05Truhlar And Truhlar Attys NEW59Onyama Limba
1017Kadeem C RutaCanada2026-09-20Rangoni Of Florence RENEWAL87Stephen Shaw
1018Greenwood J OstroskyCanada2026-09-21King, Christopher A Esq PROPOSAL65Asiya Javayant
1019Maisha B BologniaCanada2026-09-22Dorl, James J Esq PROPOSAL10Amy Elsner
1020Mujtaba G MorascaJapan2026-09-15Dorl, James J Esq PROPOSAL31Elwin Sharvill
1021Antonio G BowleyGermany2026-09-04Dorl, James J Esq NEGOTIATION90Ivan Magalhaes
1022James L FollerArgentina2026-09-23Buckley Miller Wright RENEWAL83Anna Fali
1023Antonio I ButtArgentina2026-09-07Chanay, Jeffrey A Esq QUALIFIED52Stephen Shaw
1024Tony F FlosiJapan2026-09-15Rangoni Of Florence NEW16Bernardo Dominic
1025Isabel H VenereRussia2026-09-10Chanay, Jeffrey A Esq NEGOTIATION18Amy Elsner
1026Johnson D SaylorsUnited Kingdom2026-08-31Commercial Press PROPOSAL43Xuxue Feng
1027Misaki B DoeIndia2026-09-10Chemel, James L Cpa RENEWAL58Elwin Sharvill
1028Julie C StensethUnited Kingdom2026-08-27Morlong Associates QUALIFIED87Ioni Bowcher
1029Smith O OldroydAustralia2026-09-10Feltz Printing Service NEGOTIATION20Elwin Sharvill
1030Ricardo A CaldareraRussia2026-09-14Rangoni Of Florence QUALIFIED92Ioni Bowcher
1031Murillo M DarakjyGermany2026-09-22Truhlar And Truhlar Attys RENEWAL58Xuxue Feng
1032Izzy S PoquetteJapan2026-09-14Morlong Associates UNQUALIFIED93Amy Elsner
1033Costa Q MorascaJapan2026-09-24Truhlar And Truhlar Attys RENEWAL76Bernardo Dominic
1034Cody E WaycottArgentina2026-09-17Morlong Associates NEW60Bernardo Dominic
1035Munro T ButtItaly2026-08-26Benton, John B Jr QUALIFIED39Stephen Shaw
1036Rodrigues V CampainJapan2026-08-26Printing Dimensions UNQUALIFIED66Asiya Javayant
1037Silvio X CampainUnited Kingdom2026-09-02Truhlar And Truhlar Attys QUALIFIED68Ivan Magalhaes
1038Francesco H MarrierArgentina2026-09-09Dorl, James J Esq PROPOSAL24Ioni Bowcher
1039Clifford V NestleArgentina2026-09-09Feltz Printing Service QUALIFIED53Asiya Javayant
1040Wickens Z NickaRussia2026-09-13Buckley Miller Wright QUALIFIED87Ioni Bowcher
1041Faith S WaycottArgentina2026-09-10Feiner Bros NEGOTIATION26Bernardo Dominic
1042Claire F MarrierArgentina2026-09-18Dorl, James J Esq UNQUALIFIED75Onyama Limba
1043Alejandro T MarrierUnited Kingdom2026-09-15Dorl, James J Esq UNQUALIFIED0Anna Fali
1044Murillo U SlusarskiSpain2026-08-31Chanay, Jeffrey A Esq QUALIFIED28Onyama Limba
1045Adams M InouyeFrance2026-09-03Benton, John B Jr RENEWAL63Ioni Bowcher
1046Arvin W MorascaSpain2026-09-01Chemel, James L Cpa NEW65Xuxue Feng
1047Jones C KuskoCanada2026-09-13Morlong Associates NEW63Amy Elsner
1048Cody M SaylorsBrazil2026-08-27Feiner Bros PROPOSAL60Onyama Limba
1049Claire W DarakjyIndia2026-09-22Chapman, Ross E Esq UNQUALIFIED11Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Maisha P BowleyBrazilElwin Sharvill RENEWAL
Jeanfrancois E CaudyGermanyIvan Magalhaes NEGOTIATION
Adams S VenereArgentinaIoni Bowcher UNQUALIFIED
Aika V PaprockiIndiaOnyama Limba NEGOTIATION
James H RulapaughUnited KingdomAsiya Javayant RENEWAL
Jefferson X WieserIndiaAsiya Javayant RENEWAL
Ivar G AmigonFranceAmy Elsner QUALIFIED
Ashley H GarufiBrazilIvan Magalhaes UNQUALIFIED
Alejandro E OldroydFranceXuxue Feng QUALIFIED
Isabel V PerinRussiaStephen Shaw UNQUALIFIED
Julie E OstroskyFranceIvan Magalhaes UNQUALIFIED
Izzy Q GillianItalyBernardo Dominic PROPOSAL
Salvatore W StensethCanadaElwin Sharvill RENEWAL
Maria F FlosiArgentinaStephen Shaw UNQUALIFIED
Jones F DilliardFranceIvan Magalhaes UNQUALIFIED
Misaki Z GillianUnited KingdomIoni Bowcher UNQUALIFIED
Clifford B AlbaresCanadaOnyama Limba PROPOSAL
Sinclair W StensethUnited KingdomXuxue Feng RENEWAL
Mayumi R DoeCanadaXuxue Feng QUALIFIED
Nicolas T CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Aruna K CaldareraArgentinaBernardo Dominic QUALIFIED
Antonio G NickaGermanyStephen Shaw QUALIFIED
Faith R VocelkaUnited KingdomAsiya Javayant NEW
Emily Y FlosiFranceAnna Fali QUALIFIED
Claire L SergiRussiaAsiya Javayant RENEWAL
Ashley F DilliardRussiaIoni Bowcher PROPOSAL
Cody T GauchoSpainXuxue Feng RENEWAL
Greenwood M GauchoItalyIoni Bowcher RENEWAL
Greenwood T DoeFranceOnyama Limba QUALIFIED
Francesco S BowleyBrazilIvan Magalhaes NEW
Aika W GlickRussiaBernardo Dominic NEGOTIATION
Sinclair T PerinRussiaOnyama Limba UNQUALIFIED
Clifford Q ShinkoArgentinaAnna Fali UNQUALIFIED
Morrow B NestleJapanOnyama Limba PROPOSAL
Leja M DilliardBrazilOnyama Limba UNQUALIFIED
Smith A MacleadIndiaBernardo Dominic PROPOSAL
Mayumi H StensethUnited KingdomIoni Bowcher PROPOSAL
Nicolas O StensethAustraliaAsiya Javayant NEW
Darci R CampainFranceBernardo Dominic PROPOSAL
Cody U FlosiGermanyAsiya Javayant QUALIFIED
David C OstroskyIndiaAnna Fali NEW
Stacey T MacleadAustraliaIvan Magalhaes PROPOSAL
Smith Q MaletAustraliaBernardo Dominic RENEWAL
Clifford A RutaGermanyBernardo Dominic RENEWAL
Jones Y WhobreyItalyStephen Shaw PROPOSAL
Kadeem Q WieserArgentinaAnna Fali UNQUALIFIED
Jennifer E StensethUnited KingdomIvan Magalhaes NEW
Francesco H NickaCanadaAnna Fali NEW
Murillo Q GlickBrazilStephen Shaw PROPOSAL
Julie T AlbaresCanadaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Alejandro V Albares
Maisha S Malet
Jefferson F Inouye
Deepesh Z Slusarski
Isabel Y Bowley
Tony B Gillian
Octavia G Stenseth
Adams X Caldarera
Wickens O Butt
Nicolas N Stenseth
Juan A Wieser
Juan U Kusko
Greenwood Y Ostrosky
Leon Z Waycott
Isabel L Inouye
Aika Q Perin
David P Slusarski
Silvio Y Bowley
Nicolas R Ruta
Ricardo L Paprocki
Emily V Albares
Adams V Ruta
Stacey B Oldroyd
James I Bolognia
Jefferson S Poquette
Darci N Briddick
Deepesh J Sergi
Ashley C Dilliard
Rodrigues T Albares
Nicolas R Nicka
Morrow S Maclead
Maria E Perin
Mayumi E Bolognia
Rodrigues A Doe
Leja E Shinko
Darci X Flosi
Johnson A Ostrosky
Cody K Briddick
Ricardo Q Albares
Jefferson E Maclead
Costa Y Kolmetz
Costa Y Ferencz
Leon O Inouye
Sinclair A Amigon
Izzy P Slusarski
Kaitlin Y Gaucho
Alejandro M Iturbide
Alejandro C Albares
Faith L Whobrey
Leja F Caudy
IdCountryDate
1000Russia2026-08-28
1001India2026-09-12
1002United Kingdom2026-09-21
1003Canada2026-09-21
1004United Kingdom2026-09-17
1005France2026-08-26
1006France2026-08-30
1007Argentina2026-09-23
1008India2026-09-07
1009Australia2026-08-29
1010Argentina2026-09-17
1011Germany2026-09-09
1012Spain2026-09-08
1013Canada2026-09-05
1014Russia2026-08-27
1015Germany2026-08-29
1016India2026-09-10
1017Brazil2026-09-11
1018Italy2026-09-11
1019Germany2026-09-16
1020Italy2026-09-17
1021Japan2026-09-13
1022Spain2026-09-19
1023Australia2026-09-24
1024Italy2026-09-12
1025Australia2026-09-03
1026France2026-09-23
1027Canada2026-09-03
1028Canada2026-09-05
1029Australia2026-09-02
1030Italy2026-09-05
1031Canada2026-09-23
1032Spain2026-08-29
1033Argentina2026-09-15
1034Brazil2026-09-23
1035Japan2026-09-19
1036Canada2026-09-05
1037United Kingdom2026-08-30
1038Japan2026-09-04
1039Canada2026-09-19
1040Germany2026-09-06
1041Germany2026-08-27
1042Australia2026-08-28
1043Italy2026-08-30
1044Argentina2026-09-04
1045Canada2026-09-15
1046Japan2026-09-06
1047Germany2026-09-07
1048Russia2026-09-22
1049Argentina2026-09-05

On-Demand Data

NameIdCountryDate
Greenwood X Marrier1000France2026-09-23
Darci B Sergi1001Germany2026-09-24
Ivar X Malet1002Germany2026-08-27
Octavia A Briddick1003Argentina2026-09-15
Kadeem Y Tollner1004Spain2026-09-12
Ashley F Ferencz1005Argentina2026-09-04
Ivar O Saylors1006Brazil2026-09-24
Kaitlin W Gillian1007Argentina2026-09-09
Claire T Garufi1008United Kingdom2026-09-07
Kadeem A Foller1009Germany2026-09-22
Mayumi F Foller1010Spain2026-09-22
Maisha Z Perin1011Australia2026-09-05
Octavia R Tollner1012Brazil2026-09-06
Isabel A Garufi1013Argentina2026-09-24
Adams X Rim1014Japan2026-09-10
Juan N Morasca1015Spain2026-09-23
Claire P Chui1016Canada2026-08-31
Smith T Schemmer1017Japan2026-09-17
Ricardo S Ruta1018Brazil2026-08-28
Deepesh Y Caudy1019Canada2026-09-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco Z GillianIndiaAmy Elsner QUALIFIED
Aika Y FollerIndiaBernardo Dominic UNQUALIFIED
Francesco R DoeRussiaXuxue Feng UNQUALIFIED
Munro Y FigeroaJapanBernardo Dominic QUALIFIED
Smith O StensethJapanBernardo Dominic QUALIFIED
Ivar F CaldareraGermanyAmy Elsner UNQUALIFIED
Cody K GauchoItalyIvan Magalhaes PROPOSAL
Wickens Y ShinkoGermanyOnyama Limba QUALIFIED
James S GillianIndiaIoni Bowcher RENEWAL
Costa W KuskoBrazilBernardo Dominic NEGOTIATION
Antonio I DoeGermanyIoni Bowcher QUALIFIED
Murillo H SchemmerGermanyBernardo Dominic RENEWAL
Tony W RimUnited KingdomXuxue Feng UNQUALIFIED
Leja S MarrierUnited KingdomXuxue Feng UNQUALIFIED
Aika H ButtAustraliaOnyama Limba NEW
Smith A KolmetzCanadaStephen Shaw QUALIFIED
Aditya O OstroskyJapanStephen Shaw NEGOTIATION
Misaki T AlbaresCanadaElwin Sharvill UNQUALIFIED
Faith S MaletJapanAmy Elsner UNQUALIFIED
Deepesh Z BowleyAustraliaStephen Shaw RENEWAL
Leon Z AmigonUnited KingdomAsiya Javayant NEGOTIATION
Isabel K RutaRussiaElwin Sharvill UNQUALIFIED
Salvatore X MacleadUnited KingdomStephen Shaw QUALIFIED
Kaitlin T CaldareraArgentinaAsiya Javayant NEGOTIATION
Kadeem Z VenereArgentinaAsiya Javayant UNQUALIFIED
Greenwood E SlusarskiCanadaAsiya Javayant NEW
Maria R InouyeBrazilAmy Elsner PROPOSAL
Silvio V PoquetteRussiaElwin Sharvill NEW
Wickens Q NickaCanadaBernardo Dominic NEGOTIATION
Misaki T FlosiFranceStephen Shaw RENEWAL
Arvin H AmigonAustraliaAmy Elsner RENEWAL
Francesco F SlusarskiCanadaAnna Fali NEGOTIATION
Murillo Z SlusarskiArgentinaElwin Sharvill QUALIFIED
Kaitlin U DarakjyRussiaIvan Magalhaes QUALIFIED
Cody D MarrierJapanIoni Bowcher RENEWAL
Aditya I DarakjyUnited KingdomStephen Shaw UNQUALIFIED
David W SchemmerFranceBernardo Dominic NEW
Jeanfrancois Y ShinkoAustraliaAsiya Javayant NEW
Aika Z PoquetteFranceStephen Shaw UNQUALIFIED
Munro E IturbideIndiaIvan Magalhaes RENEWAL

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