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
Emily Q FlosiAustraliaAnna Fali NEGOTIATION
Silvio R RoysterFranceIoni Bowcher UNQUALIFIED
Leja G VocelkaItalyIvan Magalhaes NEGOTIATION
James Z SaylorsBrazilAsiya Javayant PROPOSAL
Jones I AlbaresArgentinaElwin Sharvill NEW
Smith A VenereFranceAmy Elsner NEW
Ivar X MaletSpainAnna Fali PROPOSAL
Johnson H GauchoSpainIoni Bowcher QUALIFIED
Greenwood H ChuiRussiaIoni Bowcher QUALIFIED
Clifford J CaldareraJapanAmy Elsner PROPOSAL
Juan D GillianAustraliaIoni Bowcher PROPOSAL
Sinclair R InouyeCanadaAmy Elsner RENEWAL
Francesco B GillianArgentinaXuxue Feng RENEWAL
Morrow F CaudyItalyAmy Elsner RENEWAL
Johnson J VenereJapanXuxue Feng UNQUALIFIED
Misaki I PerinGermanyAnna Fali QUALIFIED
Faith I WaycottRussiaStephen Shaw QUALIFIED
Maisha U BowleyBrazilElwin Sharvill PROPOSAL
Jennifer I MaletAustraliaIvan Magalhaes NEGOTIATION
Aditya Z MacleadRussiaAmy Elsner QUALIFIED
Murillo A VenereUnited KingdomIvan Magalhaes NEW
David G BologniaFranceIoni Bowcher QUALIFIED
Kadeem G InouyeItalyBernardo Dominic NEGOTIATION
Maria B IturbideAustraliaOnyama Limba PROPOSAL
David K FlosiRussiaIvan Magalhaes NEGOTIATION
Isabel K NickaUnited KingdomOnyama Limba NEGOTIATION
Tony L SergiJapanElwin Sharvill NEGOTIATION
Octavia H SaylorsSpainAnna Fali PROPOSAL
Costa Q AmigonGermanyIvan Magalhaes NEGOTIATION
Isabel Z RoysterUnited KingdomBernardo Dominic QUALIFIED
Deepesh E AmigonBrazilXuxue Feng NEGOTIATION
Costa A KuskoUnited KingdomIoni Bowcher NEGOTIATION
Munro N MaletIndiaElwin Sharvill NEGOTIATION
Munro G FollerJapanAmy Elsner RENEWAL
Costa L RimSpainAsiya Javayant UNQUALIFIED
Murillo X PoquetteAustraliaBernardo Dominic NEW
Leja E BriddickJapanStephen Shaw QUALIFIED
David H FollerItalyAmy Elsner NEGOTIATION
Misaki Z MacleadJapanOnyama Limba RENEWAL
Aruna U MaletFranceXuxue Feng RENEWAL
Munro Q SergiArgentinaAsiya Javayant PROPOSAL
Mayumi P DilliardGermanyXuxue Feng NEGOTIATION
Jennifer G StockhamFranceBernardo Dominic NEGOTIATION
Leja P NickaBrazilIvan Magalhaes RENEWAL
Jeanfrancois N OstroskyItalyAnna Fali PROPOSAL
Leon Z NestleFranceOnyama Limba NEGOTIATION
Faith V DilliardJapanIoni Bowcher PROPOSAL
Aika G GauchoRussiaBernardo Dominic PROPOSAL
James Y MorascaFranceAmy Elsner NEW
Adams V GlickArgentinaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford L BologniaFranceAnna Fali QUALIFIED
Darci E GarufiItalyBernardo Dominic UNQUALIFIED
Wickens B TollnerSpainIoni Bowcher QUALIFIED
Mujtaba V RoysterAustraliaAsiya Javayant RENEWAL
Isabel V MorascaArgentinaElwin Sharvill UNQUALIFIED
Ashley D SaylorsItalyAmy Elsner NEW
Aruna G SlusarskiRussiaIvan Magalhaes QUALIFIED
Isabel Q PaprockiAustraliaIoni Bowcher UNQUALIFIED
Jeanfrancois O CaldareraFranceXuxue Feng PROPOSAL
Nicolas C SaylorsRussiaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio Z BowleyFrance2026-10-19Dorl, James J Esq RENEWAL84Anna Fali
1001Isabel S OstroskyIndia2026-10-31Chanay, Jeffrey A Esq RENEWAL98Ioni Bowcher
1002Darci B MaletSpain2026-10-21Truhlar And Truhlar Attys QUALIFIED23Anna Fali
1003Jeanfrancois W MaletArgentina2026-11-06Printing Dimensions PROPOSAL67Stephen Shaw
1004Isabel J PaprockiFrance2026-10-23Chemel, James L Cpa RENEWAL45Anna Fali
1005Wickens O FollerJapan2026-10-17Rangoni Of Florence NEGOTIATION35Bernardo Dominic
1006Sinclair X VocelkaJapan2026-10-11Truhlar And Truhlar Attys QUALIFIED9Stephen Shaw
1007Stacey T FigeroaArgentina2026-10-15Morlong Associates QUALIFIED43Anna Fali
1008Chavez G SlusarskiBrazil2026-10-11Buckley Miller Wright PROPOSAL11Elwin Sharvill
1009Jeanfrancois T MorascaItaly2026-10-27Chapman, Ross E Esq UNQUALIFIED79Elwin Sharvill
1010Maisha P FollerCanada2026-11-04Rangoni Of Florence PROPOSAL14Elwin Sharvill
1011Julie Z ButtSpain2026-10-12Benton, John B Jr RENEWAL79Asiya Javayant
1012Morrow O FlosiAustralia2026-10-25Chemel, James L Cpa UNQUALIFIED49Stephen Shaw
1013Tony Z TollnerRussia2026-11-06Chanay, Jeffrey A Esq UNQUALIFIED94Ivan Magalhaes
1014Emily T OldroydJapan2026-10-31Chemel, James L Cpa QUALIFIED1Anna Fali
1015Sinclair W KolmetzAustralia2026-10-10Printing Dimensions UNQUALIFIED28Elwin Sharvill
1016Rodrigues M DarakjyUnited Kingdom2026-10-15Feiner Bros QUALIFIED47Bernardo Dominic
1017Emily L DilliardFrance2026-10-08Feltz Printing Service RENEWAL95Elwin Sharvill
1018Smith V VenereArgentina2026-10-22Rousseaux, Michael Esq UNQUALIFIED63Stephen Shaw
1019Leja M KolmetzIndia2026-10-20Rangoni Of Florence QUALIFIED64Elwin Sharvill
1020Clifford Y BologniaArgentina2026-10-30Chanay, Jeffrey A Esq RENEWAL40Ivan Magalhaes
1021Jennifer V AmigonUnited Kingdom2026-11-06Chapman, Ross E Esq NEGOTIATION24Stephen Shaw
1022Stacey H NestleJapan2026-11-06Feiner Bros UNQUALIFIED93Anna Fali
1023Munro A StockhamRussia2026-10-14Chanay, Jeffrey A Esq PROPOSAL63Onyama Limba
1024Munro N BologniaArgentina2026-10-08Morlong Associates PROPOSAL77Xuxue Feng
1025Nicolas C RoysterAustralia2026-11-03Chemel, James L Cpa NEGOTIATION66Bernardo Dominic
1026Ashley M CaldareraArgentina2026-10-30Buckley Miller Wright NEW98Anna Fali
1027Julie I MacleadAustralia2026-10-08Morlong Associates PROPOSAL33Onyama Limba
1028Silvio E SchemmerGermany2026-10-31Chemel, James L Cpa UNQUALIFIED46Onyama Limba
1029Octavia B PoquetteIndia2026-10-29Morlong Associates QUALIFIED0Xuxue Feng
1030Nicolas O RoysterAustralia2026-10-30Benton, John B Jr PROPOSAL27Xuxue Feng
1031Claire O BologniaBrazil2026-10-26Chapman, Ross E Esq RENEWAL78Elwin Sharvill
1032Emily K RoysterGermany2026-10-30Feltz Printing Service PROPOSAL74Stephen Shaw
1033Johnson U NickaBrazil2026-10-16Benton, John B Jr PROPOSAL31Ivan Magalhaes
1034Clifford T FlosiSpain2026-10-21Printing Dimensions PROPOSAL92Bernardo Dominic
1035Munro D PerinArgentina2026-10-25Buckley Miller Wright PROPOSAL60Stephen Shaw
1036Clifford U CaldareraRussia2026-10-16Feltz Printing Service NEGOTIATION73Anna Fali
1037Sinclair E WieserGermany2026-11-01Feiner Bros NEW72Ioni Bowcher
1038Cody F CampainAustralia2026-10-17Benton, John B Jr QUALIFIED79Amy Elsner
1039Faith P GarufiSpain2026-10-10Chanay, Jeffrey A Esq UNQUALIFIED10Asiya Javayant
1040Emily T MaletCanada2026-10-20Morlong Associates NEW17Ivan Magalhaes
1041Kadeem G GillianCanada2026-10-14Rousseaux, Michael Esq QUALIFIED48Bernardo Dominic
1042Leon B MaletGermany2026-10-12Feltz Printing Service UNQUALIFIED1Xuxue Feng
1043Jefferson O WieserCanada2026-10-12Commercial Press QUALIFIED73Xuxue Feng
1044Deepesh V VocelkaFrance2026-10-08Rangoni Of Florence UNQUALIFIED50Elwin Sharvill
1045Claire V DarakjyRussia2026-11-04Rousseaux, Michael Esq NEW40Ioni Bowcher
1046Silvio M AlbaresItaly2026-11-04Dorl, James J Esq PROPOSAL8Anna Fali
1047Johnson O WhobreyItaly2026-10-24Benton, John B Jr UNQUALIFIED59Asiya Javayant
1048Kaitlin H MacleadUnited Kingdom2026-10-09Rangoni Of Florence NEGOTIATION29Anna Fali
1049David R RutaRussia2026-10-22Printing Dimensions NEGOTIATION99Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Deepesh U ShinkoCanadaOnyama Limba QUALIFIED
Ivar B WaycottGermanyXuxue Feng PROPOSAL
Ivar R SchemmerJapanXuxue Feng NEGOTIATION
Nicolas K CaudyIndiaXuxue Feng NEW
Chavez M WaycottItalyIoni Bowcher PROPOSAL
Juan P BriddickSpainStephen Shaw UNQUALIFIED
Silvio L DilliardFranceStephen Shaw UNQUALIFIED
Isabel V RutaUnited KingdomStephen Shaw QUALIFIED
Maria K FigeroaBrazilAmy Elsner NEGOTIATION
Juan Q SaylorsGermanyStephen Shaw QUALIFIED
Jones O ShinkoBrazilStephen Shaw PROPOSAL
Sinclair K SchemmerIndiaAnna Fali RENEWAL
Octavia G RulapaughBrazilStephen Shaw RENEWAL
Deepesh M DilliardArgentinaBernardo Dominic UNQUALIFIED
Silvio U PerinBrazilIoni Bowcher UNQUALIFIED
Faith O GauchoCanadaIoni Bowcher NEGOTIATION
Adams T NickaItalyOnyama Limba UNQUALIFIED
Ricardo U CampainItalyStephen Shaw NEGOTIATION
Aika E RimAustraliaElwin Sharvill RENEWAL
Maisha E VocelkaRussiaStephen Shaw NEGOTIATION
Greenwood P RoysterUnited KingdomAsiya Javayant NEW
Arvin J OstroskyUnited KingdomStephen Shaw RENEWAL
Jeanfrancois T ButtUnited KingdomAnna Fali NEGOTIATION
Wickens D WhobreyCanadaElwin Sharvill NEW
Ivar D MorascaFranceStephen Shaw QUALIFIED
Ivar X GlickRussiaOnyama Limba UNQUALIFIED
Antonio B TollnerArgentinaOnyama Limba UNQUALIFIED
Faith M MorascaFranceAmy Elsner NEGOTIATION
Sinclair U RoysterBrazilIvan Magalhaes RENEWAL
Leon M VenereRussiaStephen Shaw QUALIFIED
Antonio N VenereBrazilIoni Bowcher QUALIFIED
Juan K PoquetteBrazilStephen Shaw NEW
Isabel P GlickArgentinaStephen Shaw NEGOTIATION
Morrow D ButtIndiaIoni Bowcher PROPOSAL
Stacey U DoeGermanyElwin Sharvill NEGOTIATION
Maisha A GlickJapanAmy Elsner NEW
Clifford N StockhamIndiaBernardo Dominic NEGOTIATION
Costa C TollnerItalyAmy Elsner PROPOSAL
Ivar A DilliardArgentinaIvan Magalhaes PROPOSAL
Munro Z CampainFranceXuxue Feng PROPOSAL
David K CampainArgentinaElwin Sharvill PROPOSAL
Rodrigues F MorascaJapanBernardo Dominic NEGOTIATION
Aditya X SergiGermanyIoni Bowcher QUALIFIED
Chavez U OldroydUnited KingdomIvan Magalhaes QUALIFIED
Adams Q CaldareraGermanyElwin Sharvill NEW
Silvio E SergiGermanyStephen Shaw UNQUALIFIED
James C GlickGermanyAsiya Javayant PROPOSAL
Stacey N BowleyJapanAnna Fali NEW
Nicolas W GlickIndiaAnna Fali RENEWAL
Arvin O VenereBrazilIoni Bowcher QUALIFIED
Frozen Columns
Name
Morrow M Perin
Stacey N Maclead
Clifford N Sergi
Rodrigues G Poquette
Aika Q Albares
Rodrigues W Maclead
Antonio C Paprocki
Munro A Inouye
Alejandro F Paprocki
Jeanfrancois E Bowley
Morrow C Malet
Misaki V Saylors
Faith M Garufi
Adams D Amigon
Jeanfrancois X Caldarera
Aditya N Shinko
Jones B Tollner
Kaitlin Z Foller
Chavez S Ostrosky
Julie E Iturbide
Aruna J Waycott
Octavia L Garufi
Claire L Stockham
Octavia R Stenseth
Maisha R Rulapaugh
Maisha T Morasca
Jeanfrancois Z Vocelka
Rodrigues Q Poquette
Maisha C Rim
Isabel C Vocelka
Silvio C Venere
Sinclair O Caudy
Leon S Wieser
Tony B Oldroyd
Kadeem E Butt
Julie W Bowley
Nicolas K Figeroa
Juan G Rim
Adams S Kusko
Silvio Y Ruta
Cody M Stenseth
Ashley H Waycott
Johnson K Maclead
Kadeem Q Bowley
Adams A Poquette
Ashley R Vocelka
Ivar H Ferencz
Adams Z Caldarera
David P Whobrey
Costa J Malet
IdCountryDate
1000Russia2026-10-16
1001Argentina2026-10-10
1002Canada2026-11-04
1003Spain2026-11-03
1004Germany2026-10-27
1005Brazil2026-10-16
1006Italy2026-11-03
1007Australia2026-10-31
1008Germany2026-11-06
1009France2026-10-17
1010Canada2026-10-10
1011Russia2026-11-01
1012Italy2026-10-22
1013India2026-10-12
1014Australia2026-10-14
1015France2026-11-04
1016Russia2026-10-09
1017Australia2026-10-27
1018Russia2026-10-26
1019Canada2026-10-13
1020Spain2026-10-31
1021Italy2026-11-05
1022Australia2026-10-09
1023Australia2026-10-23
1024United Kingdom2026-10-31
1025Italy2026-10-16
1026Brazil2026-10-25
1027Russia2026-10-29
1028Japan2026-10-16
1029Japan2026-11-05
1030Italy2026-11-06
1031France2026-10-09
1032Canada2026-10-17
1033Australia2026-10-22
1034Spain2026-10-21
1035Australia2026-11-05
1036Russia2026-10-14
1037United Kingdom2026-10-09
1038Italy2026-10-30
1039United Kingdom2026-10-13
1040Spain2026-10-18
1041United Kingdom2026-11-05
1042Argentina2026-10-20
1043Russia2026-11-02
1044Russia2026-10-08
1045Canada2026-11-04
1046France2026-10-13
1047Australia2026-10-24
1048Russia2026-11-02
1049United Kingdom2026-10-13

On-Demand Data

NameIdCountryDate
Mayumi A Caudy1000Japan2026-10-15
Francesco M Darakjy1001Spain2026-11-06
Adams B Malet1002Australia2026-11-04
Izzy G Bowley1003Canada2026-10-17
Mayumi O Oldroyd1004Germany2026-10-24
Arvin F Caldarera1005France2026-10-20
Adams B Garufi1006Japan2026-10-27
Arvin C Kolmetz1007Italy2026-10-08
Munro U Figeroa1008Spain2026-11-06
Alejandro K Royster1009Japan2026-10-28
Aruna Y Kolmetz1010India2026-10-09
Jennifer C Ostrosky1011Spain2026-11-06
Mujtaba V Perin1012Italy2026-11-06
Jennifer I Dilliard1013Russia2026-10-28
Jones T Chui1014Canada2026-10-20
Octavia D Caudy1015Japan2026-10-31
Julie K Sergi1016Japan2026-10-28
Munro I Darakjy1017United Kingdom2026-10-20
Jones U Waycott1018Spain2026-10-12
Nicolas W Venere1019Japan2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio P BriddickCanadaAnna Fali PROPOSAL
Silvio I BriddickItalyAmy Elsner QUALIFIED
Rodrigues O OstroskyAustraliaIoni Bowcher PROPOSAL
Chavez E CampainJapanAsiya Javayant NEW
Greenwood I MorascaAustraliaElwin Sharvill UNQUALIFIED
Francesco O DilliardIndiaAmy Elsner NEW
Kaitlin P MarrierFranceAsiya Javayant QUALIFIED
Jones V VenereBrazilXuxue Feng QUALIFIED
Deepesh S AmigonItalyStephen Shaw RENEWAL
Silvio G AlbaresRussiaAmy Elsner UNQUALIFIED
Ashley I MaletJapanAsiya Javayant NEW
Francesco F StockhamFranceOnyama Limba PROPOSAL
Nicolas J MarrierRussiaAmy Elsner NEGOTIATION
Alejandro Z BologniaIndiaIoni Bowcher UNQUALIFIED
Faith E NickaBrazilStephen Shaw NEW
Maisha Y WaycottRussiaAmy Elsner RENEWAL
Francesco R RimAustraliaIoni Bowcher RENEWAL
Ashley H GauchoBrazilIoni Bowcher NEGOTIATION
Tony X KuskoBrazilBernardo Dominic NEGOTIATION
Mayumi D CaudyRussiaAsiya Javayant NEW
Tony Q ButtJapanElwin Sharvill PROPOSAL
James C MorascaFranceAnna Fali UNQUALIFIED
Maisha F InouyeArgentinaAsiya Javayant NEGOTIATION
Octavia R PoquetteUnited KingdomOnyama Limba NEGOTIATION
Silvio R KuskoSpainXuxue Feng NEW
Leja L StockhamArgentinaXuxue Feng NEGOTIATION
Chavez Z ShinkoBrazilOnyama Limba QUALIFIED
Arvin N PoquetteGermanyAmy Elsner QUALIFIED
Adams N FollerCanadaIvan Magalhaes NEW
Stacey V MarrierItalyElwin Sharvill PROPOSAL
Deepesh Q StensethJapanAnna Fali NEGOTIATION
Deepesh C MaletItalyXuxue Feng PROPOSAL
Ashley K FigeroaCanadaIoni Bowcher PROPOSAL
Darci F RimBrazilIvan Magalhaes NEW
Arvin A KolmetzArgentinaElwin Sharvill UNQUALIFIED
Aditya E KolmetzArgentinaIoni Bowcher NEW
Adams K KuskoItalyIoni Bowcher UNQUALIFIED
Kadeem V GauchoFranceAnna Fali UNQUALIFIED
Johnson S RimUnited KingdomStephen Shaw NEGOTIATION
James H MarrierUnited KingdomIoni Bowcher 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>