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
Arvin P StensethAustraliaAmy Elsner PROPOSAL
Aruna U GlickUnited KingdomOnyama Limba NEGOTIATION
Francesco Y AmigonCanadaAsiya Javayant QUALIFIED
Greenwood K StensethAustraliaOnyama Limba PROPOSAL
Smith B MarrierBrazilXuxue Feng UNQUALIFIED
Maria V KolmetzIndiaIvan Magalhaes RENEWAL
Jefferson B KolmetzArgentinaElwin Sharvill RENEWAL
Aditya Q KolmetzJapanAnna Fali NEGOTIATION
Maria U NickaGermanyIvan Magalhaes PROPOSAL
Cody R NickaItalyAnna Fali NEGOTIATION
Antonio X StockhamAustraliaOnyama Limba RENEWAL
Jeanfrancois M ShinkoIndiaIvan Magalhaes UNQUALIFIED
Salvatore X CaldareraRussiaOnyama Limba PROPOSAL
Greenwood G CaldareraSpainStephen Shaw UNQUALIFIED
Juan L VenereItalyIoni Bowcher QUALIFIED
Clifford B ShinkoSpainBernardo Dominic UNQUALIFIED
Misaki E KolmetzRussiaBernardo Dominic QUALIFIED
Julie B DoeRussiaBernardo Dominic NEGOTIATION
Clifford D GillianArgentinaIoni Bowcher QUALIFIED
Misaki C BriddickBrazilOnyama Limba QUALIFIED
Jefferson E PerinSpainAmy Elsner NEW
Isabel Q VenereUnited KingdomAsiya Javayant QUALIFIED
Aika L DarakjyGermanyXuxue Feng NEW
Nicolas K RutaIndiaBernardo Dominic NEW
Salvatore K KuskoSpainXuxue Feng NEGOTIATION
Izzy D PerinUnited KingdomAmy Elsner NEW
Antonio J MacleadUnited KingdomStephen Shaw NEW
Stacey E FerenczAustraliaIvan Magalhaes NEGOTIATION
Darci K PaprockiArgentinaAmy Elsner PROPOSAL
Alejandro H WhobreyArgentinaAmy Elsner PROPOSAL
Murillo W KolmetzGermanyBernardo Dominic NEW
Kaitlin L RimSpainXuxue Feng UNQUALIFIED
Juan C KuskoJapanStephen Shaw NEW
Claire R AlbaresSpainXuxue Feng NEGOTIATION
Jones D CaudyArgentinaIvan Magalhaes NEGOTIATION
Mujtaba L VocelkaFranceIvan Magalhaes NEW
Ashley Z GarufiItalyAsiya Javayant QUALIFIED
Munro X MorascaRussiaAsiya Javayant PROPOSAL
Salvatore L BologniaJapanElwin Sharvill PROPOSAL
Darci B CaudyRussiaAsiya Javayant RENEWAL
Wickens B FollerCanadaXuxue Feng QUALIFIED
Johnson K CaudyItalyAsiya Javayant NEGOTIATION
Kadeem W GauchoArgentinaBernardo Dominic NEGOTIATION
David L GillianItalyElwin Sharvill NEW
Maria Q BowleyCanadaAmy Elsner NEGOTIATION
Ivar M MaletItalyStephen Shaw RENEWAL
Antonio G KolmetzFranceElwin Sharvill PROPOSAL
Darci Y DilliardRussiaOnyama Limba UNQUALIFIED
Greenwood C AlbaresGermanyOnyama Limba RENEWAL
Juan V TollnerItalyIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio M OldroydGermanyBernardo Dominic QUALIFIED
Murillo M PaprockiFranceStephen Shaw NEGOTIATION
Antonio J StockhamJapanBernardo Dominic UNQUALIFIED
Jeanfrancois O InouyeItalyIvan Magalhaes NEW
Smith S FollerSpainElwin Sharvill RENEWAL
Ivar S ShinkoFranceAnna Fali UNQUALIFIED
Faith R ShinkoArgentinaOnyama Limba NEW
Smith M WhobreyBrazilIoni Bowcher UNQUALIFIED
Claire C BowleyArgentinaOnyama Limba PROPOSAL
Mujtaba B MacleadArgentinaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair N MacleadBrazil2026-09-05Commercial Press RENEWAL54Ioni Bowcher
1001James Y DarakjyUnited Kingdom2026-09-07Chanay, Jeffrey A Esq PROPOSAL96Ivan Magalhaes
1002Leja U SergiJapan2026-08-26Chemel, James L Cpa NEW71Anna Fali
1003Octavia R DilliardJapan2026-08-31Chapman, Ross E Esq PROPOSAL11Ioni Bowcher
1004Smith N AmigonFrance2026-08-24Commercial Press NEW45Elwin Sharvill
1005Alejandro G MaletCanada2026-09-16Feiner Bros UNQUALIFIED59Amy Elsner
1006Rodrigues K ButtAustralia2026-09-18Dorl, James J Esq NEW10Asiya Javayant
1007Costa A AmigonRussia2026-09-21Feiner Bros RENEWAL88Amy Elsner
1008Francesco U VocelkaItaly2026-08-26Dorl, James J Esq NEW96Amy Elsner
1009Isabel Z VocelkaJapan2026-08-30Chemel, James L Cpa PROPOSAL57Xuxue Feng
1010Octavia X GauchoAustralia2026-09-18Chanay, Jeffrey A Esq RENEWAL99Bernardo Dominic
1011Izzy I ChuiSpain2026-08-28Morlong Associates QUALIFIED88Xuxue Feng
1012Kadeem Y MorascaIndia2026-08-26Buckley Miller Wright RENEWAL56Xuxue Feng
1013Cody N WieserAustralia2026-09-03Chanay, Jeffrey A Esq RENEWAL34Elwin Sharvill
1014Alejandro X MaletGermany2026-08-30Benton, John B Jr NEW5Ioni Bowcher
1015Deepesh U MaletUnited Kingdom2026-09-04Feiner Bros RENEWAL10Ivan Magalhaes
1016Misaki J FollerItaly2026-09-17Benton, John B Jr NEGOTIATION74Anna Fali
1017Ivar U TollnerIndia2026-09-12Morlong Associates UNQUALIFIED90Anna Fali
1018Kaitlin G KuskoRussia2026-09-17Chemel, James L Cpa RENEWAL80Elwin Sharvill
1019Antonio V RutaArgentina2026-08-27Chapman, Ross E Esq NEGOTIATION79Anna Fali
1020Octavia M CampainUnited Kingdom2026-09-20Rangoni Of Florence PROPOSAL32Xuxue Feng
1021Leja F CaldareraItaly2026-09-02Rangoni Of Florence RENEWAL98Xuxue Feng
1022Costa C RimRussia2026-09-01Benton, John B Jr QUALIFIED41Onyama Limba
1023Antonio S WaycottUnited Kingdom2026-09-10Buckley Miller Wright UNQUALIFIED74Onyama Limba
1024Johnson O DarakjyAustralia2026-09-10Printing Dimensions QUALIFIED91Xuxue Feng
1025Leja G SaylorsJapan2026-09-03Commercial Press PROPOSAL39Onyama Limba
1026Jeanfrancois U FlosiGermany2026-08-29Printing Dimensions QUALIFIED79Onyama Limba
1027Jones K MacleadRussia2026-09-02Rangoni Of Florence NEW56Onyama Limba
1028Kadeem O RutaGermany2026-09-13Benton, John B Jr NEGOTIATION97Bernardo Dominic
1029Costa Q GlickItaly2026-09-11Chanay, Jeffrey A Esq QUALIFIED67Xuxue Feng
1030Munro N DilliardIndia2026-09-04Rousseaux, Michael Esq PROPOSAL68Anna Fali
1031Francesco H MacleadIndia2026-08-31Dorl, James J Esq NEW27Ivan Magalhaes
1032David R FlosiIndia2026-09-04Rousseaux, Michael Esq NEW25Elwin Sharvill
1033Kadeem A VenereArgentina2026-09-04King, Christopher A Esq RENEWAL57Bernardo Dominic
1034Ivar P ButtRussia2026-09-11Benton, John B Jr NEGOTIATION88Amy Elsner
1035Mayumi H FigeroaAustralia2026-09-01Feltz Printing Service PROPOSAL61Bernardo Dominic
1036Jennifer H PerinItaly2026-08-24King, Christopher A Esq QUALIFIED60Anna Fali
1037Tony S SaylorsAustralia2026-08-29Rangoni Of Florence UNQUALIFIED60Stephen Shaw
1038Munro N DarakjyJapan2026-09-20Feltz Printing Service NEW25Bernardo Dominic
1039Kadeem R BowleyBrazil2026-09-20Chemel, James L Cpa NEGOTIATION27Xuxue Feng
1040Juan L RutaFrance2026-09-02Chapman, Ross E Esq UNQUALIFIED18Asiya Javayant
1041Leon K SlusarskiGermany2026-09-22Chemel, James L Cpa UNQUALIFIED66Amy Elsner
1042Antonio W OstroskyIndia2026-09-20Feiner Bros RENEWAL16Bernardo Dominic
1043Aditya U InouyeSpain2026-09-02Chapman, Ross E Esq PROPOSAL35Onyama Limba
1044Johnson S FlosiSpain2026-08-31Dorl, James J Esq QUALIFIED37Elwin Sharvill
1045Sinclair I MaletRussia2026-09-05Chanay, Jeffrey A Esq NEW3Anna Fali
1046Sinclair I SaylorsGermany2026-09-11Chanay, Jeffrey A Esq NEW19Bernardo Dominic
1047Smith Q MorascaJapan2026-09-15Truhlar And Truhlar Attys NEGOTIATION63Anna Fali
1048Smith V PerinSpain2026-09-09Chanay, Jeffrey A Esq UNQUALIFIED48Amy Elsner
1049Morrow X NestleIndia2026-09-03Benton, John B Jr PROPOSAL58Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba R ShinkoIndiaAsiya Javayant NEGOTIATION
Emily K KolmetzArgentinaAnna Fali NEGOTIATION
Izzy J SchemmerAustraliaAsiya Javayant NEGOTIATION
Silvio G FollerIndiaBernardo Dominic NEGOTIATION
Smith T CaldareraFranceIvan Magalhaes NEW
Chavez G RoysterItalyElwin Sharvill UNQUALIFIED
James M ButtUnited KingdomIvan Magalhaes NEW
Greenwood O BologniaBrazilAsiya Javayant PROPOSAL
Smith N NickaUnited KingdomElwin Sharvill RENEWAL
Ivar W DarakjyAustraliaBernardo Dominic QUALIFIED
Leja G GauchoSpainStephen Shaw NEW
Emily N VocelkaGermanyAnna Fali NEGOTIATION
Jeanfrancois U RoysterGermanyElwin Sharvill QUALIFIED
Octavia B KolmetzRussiaIoni Bowcher QUALIFIED
Jefferson L StockhamBrazilXuxue Feng RENEWAL
Ivar O MacleadIndiaOnyama Limba PROPOSAL
Munro G CaldareraJapanXuxue Feng QUALIFIED
Juan X DilliardGermanyBernardo Dominic PROPOSAL
Mujtaba Y GauchoSpainIoni Bowcher QUALIFIED
Maria H RutaBrazilIoni Bowcher NEW
Mujtaba J PoquetteIndiaIvan Magalhaes RENEWAL
Julie F KolmetzBrazilElwin Sharvill PROPOSAL
James E SchemmerArgentinaAnna Fali UNQUALIFIED
Maisha G OldroydArgentinaAsiya Javayant QUALIFIED
Claire X FigeroaItalyElwin Sharvill QUALIFIED
Emily K RoysterAustraliaAnna Fali PROPOSAL
David J AlbaresItalyAmy Elsner QUALIFIED
Silvio U BriddickArgentinaBernardo Dominic RENEWAL
Adams Y DarakjyFranceXuxue Feng UNQUALIFIED
Aruna C VenereFranceAmy Elsner RENEWAL
Sinclair C KolmetzItalyElwin Sharvill QUALIFIED
Sinclair Q ButtIndiaStephen Shaw UNQUALIFIED
Johnson B MarrierGermanyStephen Shaw QUALIFIED
Greenwood J ButtCanadaStephen Shaw QUALIFIED
Ashley S BologniaArgentinaElwin Sharvill PROPOSAL
Adams R CaldareraBrazilIvan Magalhaes QUALIFIED
Julie K BriddickRussiaBernardo Dominic RENEWAL
Kadeem E KuskoItalyBernardo Dominic NEGOTIATION
Cody D CaudyGermanyElwin Sharvill PROPOSAL
Adams F InouyeSpainAnna Fali PROPOSAL
Jennifer T CaldareraBrazilBernardo Dominic UNQUALIFIED
Alejandro A RulapaughItalyOnyama Limba PROPOSAL
Deepesh S FlosiSpainStephen Shaw NEGOTIATION
Aditya W MorascaAustraliaAmy Elsner PROPOSAL
James F GlickRussiaOnyama Limba UNQUALIFIED
Johnson S CaudyJapanOnyama Limba PROPOSAL
Aditya H RoysterFranceBernardo Dominic NEW
Alejandro T MaletRussiaAnna Fali RENEWAL
Alejandro M InouyeArgentinaXuxue Feng UNQUALIFIED
Costa O MacleadArgentinaStephen Shaw NEGOTIATION
Frozen Columns
Name
Munro W Campain
Greenwood B Malet
Costa K Iturbide
Aika B Venere
Izzy X Caldarera
Leon M Bowley
Greenwood I Albares
Aditya D Marrier
Aika M Nicka
Aika M Perin
Leon L Ruta
Emily D Sergi
Nicolas B Amigon
Emily C Stenseth
Ricardo O Malet
Aditya F Stenseth
Isabel T Shinko
Ashley Z Nestle
Maria W Oldroyd
Mujtaba M Venere
Misaki N Caudy
Nicolas B Doe
Julie A Campain
Arvin K Shinko
Stacey D Schemmer
Mujtaba S Schemmer
Greenwood I Inouye
David Z Briddick
Emily I Flosi
Adams Y Figeroa
Isabel N Figeroa
Deepesh L Chui
Emily S Royster
Maria F Butt
Munro Y Garufi
Darci Q Gaucho
Murillo J Caldarera
Sinclair W Glick
Deepesh N Inouye
Adams M Figeroa
Smith A Foller
Chavez N Amigon
Juan M Glick
Faith Z Briddick
Emily P Tollner
Nicolas M Albares
Alejandro D Paprocki
Arvin R Ruta
Isabel F Campain
Johnson A Nicka
IdCountryDate
1000United Kingdom2026-09-03
1001Japan2026-08-29
1002Italy2026-08-26
1003Germany2026-09-07
1004Spain2026-08-31
1005Italy2026-08-24
1006United Kingdom2026-08-26
1007Italy2026-09-03
1008Australia2026-09-12
1009Russia2026-09-06
1010Argentina2026-08-28
1011Italy2026-08-29
1012Brazil2026-09-11
1013Japan2026-08-26
1014United Kingdom2026-09-01
1015Argentina2026-08-29
1016France2026-08-31
1017Australia2026-08-25
1018Italy2026-09-20
1019Germany2026-09-01
1020United Kingdom2026-09-17
1021France2026-09-03
1022France2026-09-14
1023United Kingdom2026-08-24
1024France2026-09-06
1025Spain2026-08-31
1026Spain2026-09-05
1027Italy2026-09-19
1028Canada2026-09-08
1029Russia2026-09-05
1030Argentina2026-09-17
1031Spain2026-09-10
1032Germany2026-09-04
1033United Kingdom2026-09-12
1034Italy2026-09-17
1035France2026-09-07
1036Canada2026-08-27
1037Russia2026-09-18
1038Argentina2026-09-20
1039United Kingdom2026-08-26
1040France2026-09-02
1041Argentina2026-08-25
1042Spain2026-08-29
1043Australia2026-09-21
1044Russia2026-08-31
1045Japan2026-09-22
1046Japan2026-09-03
1047Japan2026-08-24
1048France2026-09-17
1049Germany2026-09-15

On-Demand Data

NameIdCountryDate
Adams P Flosi1000France2026-09-06
Costa Z Venere1001Russia2026-09-10
Octavia Q Iturbide1002Japan2026-09-03
Aditya G Tollner1003Australia2026-09-09
Maisha K Dilliard1004Brazil2026-09-05
Octavia G Malet1005Russia2026-09-16
Murillo C Malet1006France2026-09-20
Izzy O Perin1007France2026-09-07
Francesco D Figeroa1008United Kingdom2026-08-26
Jones A Schemmer1009Argentina2026-09-04
Mayumi R Campain1010Brazil2026-08-27
Greenwood D Flosi1011Russia2026-09-08
Aika F Rim1012Canada2026-09-07
Aika Y Garufi1013Germany2026-09-21
Smith C Schemmer1014United Kingdom2026-09-22
Juan X Inouye1015Spain2026-09-11
Antonio R Caudy1016Germany2026-09-13
Chavez H Ruta1017Russia2026-08-27
Adams Y Bolognia1018Brazil2026-09-17
Alejandro J Oldroyd1019Canada2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin Q GillianItalyElwin Sharvill RENEWAL
Mayumi Z SergiSpainIvan Magalhaes RENEWAL
Chavez K SlusarskiSpainAsiya Javayant QUALIFIED
Tony B FerenczGermanyAsiya Javayant NEGOTIATION
Kaitlin J OldroydIndiaAsiya Javayant NEGOTIATION
Jeanfrancois O AmigonCanadaXuxue Feng RENEWAL
Deepesh C GauchoItalyIoni Bowcher NEGOTIATION
Julie O RimUnited KingdomXuxue Feng NEGOTIATION
Aruna E PaprockiAustraliaAsiya Javayant QUALIFIED
Adams Y GarufiAustraliaIoni Bowcher QUALIFIED
Wickens J ShinkoAustraliaOnyama Limba QUALIFIED
Ivar M OstroskyUnited KingdomAnna Fali RENEWAL
Jones O MaletJapanBernardo Dominic RENEWAL
Aditya R MarrierCanadaAmy Elsner NEGOTIATION
Faith I VocelkaUnited KingdomStephen Shaw NEW
Darci S NestleCanadaAnna Fali NEGOTIATION
Silvio O NickaUnited KingdomAsiya Javayant RENEWAL
Stacey D AlbaresJapanXuxue Feng PROPOSAL
Maria T PoquetteBrazilAmy Elsner NEW
Juan U FerenczItalyStephen Shaw PROPOSAL
Jeanfrancois I OstroskyGermanyStephen Shaw PROPOSAL
Ashley N BowleyRussiaAmy Elsner RENEWAL
Kaitlin F MacleadAustraliaXuxue Feng NEGOTIATION
Costa I VocelkaBrazilStephen Shaw UNQUALIFIED
Kadeem O TollnerCanadaIoni Bowcher QUALIFIED
Juan S VocelkaArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois K RimCanadaOnyama Limba NEGOTIATION
Julie I AlbaresFranceOnyama Limba UNQUALIFIED
Arvin C WieserGermanyOnyama Limba QUALIFIED
Octavia F PoquetteSpainIvan Magalhaes RENEWAL
Darci A GlickJapanOnyama Limba QUALIFIED
Leon F CaudyFranceStephen Shaw UNQUALIFIED
Jefferson J AmigonAustraliaStephen Shaw UNQUALIFIED
Salvatore N WieserBrazilOnyama Limba RENEWAL
Mayumi K ButtSpainAsiya Javayant UNQUALIFIED
Johnson H BowleyIndiaStephen Shaw QUALIFIED
Octavia L GillianSpainOnyama Limba NEW
Ivar S OldroydRussiaXuxue Feng NEW
Misaki A WaycottRussiaIvan Magalhaes NEGOTIATION
Jeanfrancois M PoquetteAustraliaBernardo Dominic 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>