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
Rodrigues I RulapaughBrazilBernardo Dominic NEGOTIATION
Jones K StensethUnited KingdomAnna Fali RENEWAL
Stacey N RutaItalyXuxue Feng PROPOSAL
Juan A MarrierBrazilElwin Sharvill UNQUALIFIED
Smith M StockhamArgentinaOnyama Limba RENEWAL
Jeanfrancois W MaletBrazilAsiya Javayant NEW
Faith D ButtAustraliaElwin Sharvill NEGOTIATION
Silvio T RulapaughAustraliaAmy Elsner UNQUALIFIED
Maria J FigeroaCanadaElwin Sharvill NEW
Sinclair B CaldareraAustraliaIvan Magalhaes NEGOTIATION
Ivar X GillianAustraliaBernardo Dominic PROPOSAL
Leon Y GlickRussiaElwin Sharvill NEGOTIATION
Juan I DoeSpainAnna Fali NEW
Alejandro S RulapaughCanadaAsiya Javayant UNQUALIFIED
David Y KolmetzBrazilOnyama Limba NEW
Antonio H KolmetzCanadaIoni Bowcher UNQUALIFIED
Claire N RimUnited KingdomAnna Fali UNQUALIFIED
Tony O MaletSpainOnyama Limba QUALIFIED
Murillo C NickaItalyIvan Magalhaes QUALIFIED
Tony P PaprockiAustraliaStephen Shaw RENEWAL
Emily D SchemmerUnited KingdomXuxue Feng QUALIFIED
Isabel T FollerAustraliaStephen Shaw PROPOSAL
Mayumi L ChuiGermanyIoni Bowcher NEGOTIATION
Darci M RoysterAustraliaIvan Magalhaes UNQUALIFIED
Leon Q GauchoFranceAsiya Javayant NEW
Deepesh M ChuiAustraliaAnna Fali QUALIFIED
Ricardo F GarufiAustraliaOnyama Limba NEGOTIATION
Deepesh H ChuiIndiaXuxue Feng RENEWAL
Costa I GarufiSpainBernardo Dominic UNQUALIFIED
James A BriddickAustraliaXuxue Feng RENEWAL
Misaki K FerenczGermanyXuxue Feng QUALIFIED
Claire H FlosiArgentinaXuxue Feng QUALIFIED
Deepesh W SlusarskiIndiaAnna Fali PROPOSAL
Antonio V ShinkoArgentinaAnna Fali PROPOSAL
Francesco W ChuiUnited KingdomElwin Sharvill RENEWAL
Ashley B PaprockiCanadaElwin Sharvill QUALIFIED
Juan G PoquetteRussiaStephen Shaw PROPOSAL
Izzy M PoquetteArgentinaOnyama Limba PROPOSAL
Munro O RutaArgentinaAmy Elsner PROPOSAL
James J RimUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey R SergiFranceAmy Elsner QUALIFIED
Salvatore F CaudyFranceXuxue Feng RENEWAL
Murillo L ChuiRussiaBernardo Dominic PROPOSAL
Mujtaba G RoysterAustraliaElwin Sharvill RENEWAL
Mayumi H DoeItalyIoni Bowcher PROPOSAL
Costa P PoquetteSpainAsiya Javayant PROPOSAL
Leon Q RutaItalyOnyama Limba RENEWAL
Izzy Q SchemmerAustraliaXuxue Feng NEGOTIATION
Silvio T AmigonCanadaElwin Sharvill PROPOSAL
Salvatore W WaycottItalyIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Murillo E WieserSpainAsiya Javayant NEGOTIATION
Silvio I RimBrazilAnna Fali PROPOSAL
Jennifer I RutaUnited KingdomStephen Shaw QUALIFIED
Smith C GlickArgentinaAmy Elsner NEGOTIATION
Rodrigues E KolmetzItalyBernardo Dominic UNQUALIFIED
Misaki A AlbaresCanadaAmy Elsner PROPOSAL
Arvin R BowleyJapanIoni Bowcher PROPOSAL
Izzy Y MaletRussiaIoni Bowcher NEW
Greenwood O IturbideRussiaIvan Magalhaes NEGOTIATION
Alejandro G WaycottIndiaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi V GarufiFrance2026-10-10Commercial Press QUALIFIED40Anna Fali
1001Mujtaba B PerinJapan2026-10-22Buckley Miller Wright UNQUALIFIED1Elwin Sharvill
1002Julie A PaprockiItaly2026-10-26King, Christopher A Esq NEW70Amy Elsner
1003Costa U GillianBrazil2026-10-24Feltz Printing Service RENEWAL99Amy Elsner
1004Tony F RimArgentina2026-10-17Feltz Printing Service NEGOTIATION54Ioni Bowcher
1005Jones P TollnerArgentina2026-10-16Dorl, James J Esq RENEWAL22Xuxue Feng
1006Claire A SergiCanada2026-10-08Chapman, Ross E Esq QUALIFIED49Ivan Magalhaes
1007Jefferson T PoquetteGermany2026-10-13Rangoni Of Florence UNQUALIFIED71Amy Elsner
1008Chavez M GlickRussia2026-10-09Truhlar And Truhlar Attys UNQUALIFIED2Elwin Sharvill
1009Faith A GarufiArgentina2026-10-16Dorl, James J Esq NEW88Anna Fali
1010Costa G MaletIndia2026-10-11Truhlar And Truhlar Attys NEW12Asiya Javayant
1011Clifford O RulapaughBrazil2026-10-10Truhlar And Truhlar Attys UNQUALIFIED60Anna Fali
1012Arvin U AlbaresBrazil2026-10-04Feiner Bros NEW41Ivan Magalhaes
1013Arvin I RulapaughItaly2026-10-15Benton, John B Jr NEW43Bernardo Dominic
1014Johnson G RoysterAustralia2026-10-08Printing Dimensions RENEWAL96Ioni Bowcher
1015Rodrigues Q BowleyCanada2026-10-20Feiner Bros PROPOSAL60Asiya Javayant
1016Octavia S FollerFrance2026-10-22Rousseaux, Michael Esq PROPOSAL97Onyama Limba
1017Tony W BowleyItaly2026-10-01Feiner Bros UNQUALIFIED79Elwin Sharvill
1018Clifford H BologniaRussia2026-10-24Chapman, Ross E Esq NEGOTIATION95Xuxue Feng
1019Jefferson P FollerAustralia2026-10-04Truhlar And Truhlar Attys NEGOTIATION84Anna Fali
1020Claire K VocelkaRussia2026-10-20Rousseaux, Michael Esq NEGOTIATION55Elwin Sharvill
1021Antonio Y TollnerRussia2026-10-09Chanay, Jeffrey A Esq NEGOTIATION99Amy Elsner
1022Jones W WaycottGermany2026-10-02Commercial Press QUALIFIED80Ioni Bowcher
1023Murillo J ShinkoGermany2026-10-21Rousseaux, Michael Esq RENEWAL79Onyama Limba
1024Arvin J MarrierUnited Kingdom2026-10-12Buckley Miller Wright QUALIFIED15Asiya Javayant
1025Arvin Q WhobreyItaly2026-10-22Feltz Printing Service RENEWAL34Stephen Shaw
1026Wickens M ChuiSpain2026-10-07Rousseaux, Michael Esq NEGOTIATION17Anna Fali
1027Darci P BriddickUnited Kingdom2026-09-29Feltz Printing Service NEW54Bernardo Dominic
1028Alejandro J ChuiJapan2026-10-08Commercial Press NEGOTIATION37Anna Fali
1029Tony W FollerAustralia2026-10-03Dorl, James J Esq PROPOSAL1Bernardo Dominic
1030Jefferson L GlickBrazil2026-10-07Truhlar And Truhlar Attys PROPOSAL15Bernardo Dominic
1031Maria W PaprockiFrance2026-10-20Benton, John B Jr RENEWAL67Bernardo Dominic
1032Aika E SaylorsSpain2026-10-25Commercial Press NEW62Stephen Shaw
1033Morrow B VenereIndia2026-10-16Benton, John B Jr UNQUALIFIED88Ioni Bowcher
1034Mujtaba Z CaldareraJapan2026-09-28Morlong Associates NEGOTIATION30Stephen Shaw
1035Julie L NickaUnited Kingdom2026-10-26Commercial Press NEW14Anna Fali
1036Mayumi D WieserAustralia2026-10-03Feiner Bros UNQUALIFIED0Onyama Limba
1037Emily G StockhamArgentina2026-10-04Buckley Miller Wright RENEWAL85Anna Fali
1038Costa Y DilliardJapan2026-10-16Buckley Miller Wright NEGOTIATION11Amy Elsner
1039Stacey F MorascaArgentina2026-10-19Feiner Bros QUALIFIED39Asiya Javayant
1040Silvio B ButtGermany2026-10-06Benton, John B Jr UNQUALIFIED90Onyama Limba
1041Ashley B GauchoSpain2026-10-02Chanay, Jeffrey A Esq RENEWAL72Onyama Limba
1042Kadeem B MaletCanada2026-10-24King, Christopher A Esq RENEWAL82Stephen Shaw
1043Wickens N ButtGermany2026-10-26Chanay, Jeffrey A Esq NEGOTIATION25Ioni Bowcher
1044Wickens X VenereFrance2026-10-25Morlong Associates NEW29Elwin Sharvill
1045Maisha F WhobreyItaly2026-10-01Rangoni Of Florence PROPOSAL89Elwin Sharvill
1046Misaki O OstroskyJapan2026-10-10Buckley Miller Wright NEGOTIATION72Xuxue Feng
1047Isabel N FigeroaJapan2026-10-17Feiner Bros NEW3Onyama Limba
1048Chavez L NestleBrazil2026-10-16Chanay, Jeffrey A Esq NEGOTIATION9Onyama Limba
1049Adams F AmigonItaly2026-10-11Printing Dimensions UNQUALIFIED70Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Aruna B VocelkaUnited KingdomOnyama Limba QUALIFIED
Kadeem F TollnerArgentinaIvan Magalhaes NEW
Maisha D FerenczJapanAnna Fali RENEWAL
Octavia N WieserCanadaOnyama Limba NEGOTIATION
Clifford P ChuiBrazilOnyama Limba UNQUALIFIED
Stacey I BologniaItalyStephen Shaw PROPOSAL
Adams D GauchoJapanAsiya Javayant PROPOSAL
Juan M StockhamIndiaAnna Fali NEW
Aruna P SlusarskiItalyBernardo Dominic RENEWAL
Ashley I GlickJapanAsiya Javayant NEW
Aruna X GauchoCanadaStephen Shaw RENEWAL
Misaki L SergiRussiaStephen Shaw NEGOTIATION
Jeanfrancois U MaletJapanAmy Elsner QUALIFIED
Deepesh Y RimAustraliaAnna Fali RENEWAL
Emily S ChuiRussiaOnyama Limba RENEWAL
Stacey D MorascaIndiaAsiya Javayant NEGOTIATION
Mayumi L ButtCanadaAmy Elsner PROPOSAL
Johnson J StensethUnited KingdomIoni Bowcher NEW
Cody H TollnerCanadaAsiya Javayant UNQUALIFIED
Wickens N MaletItalyStephen Shaw UNQUALIFIED
Adams U MorascaAustraliaElwin Sharvill RENEWAL
Clifford G CaudyGermanyIoni Bowcher PROPOSAL
Aditya W TollnerItalyOnyama Limba NEGOTIATION
Salvatore V VocelkaFranceAnna Fali NEW
Murillo Z AmigonFranceAnna Fali NEW
Mayumi X SergiGermanyIoni Bowcher NEW
Ricardo A KuskoArgentinaAmy Elsner NEW
Cody Y SergiCanadaIvan Magalhaes PROPOSAL
Jeanfrancois L IturbideRussiaAnna Fali QUALIFIED
Juan D KuskoBrazilElwin Sharvill NEW
Maisha V GauchoJapanIoni Bowcher RENEWAL
Aruna C VenereJapanStephen Shaw UNQUALIFIED
Wickens Q DoeGermanyIoni Bowcher QUALIFIED
Salvatore R AlbaresArgentinaAnna Fali QUALIFIED
Morrow Z BriddickFranceStephen Shaw NEGOTIATION
Claire L SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Alejandro E WhobreyIndiaAmy Elsner PROPOSAL
Silvio I FigeroaJapanXuxue Feng RENEWAL
Isabel S AlbaresItalyIoni Bowcher QUALIFIED
Sinclair X SaylorsRussiaIoni Bowcher NEW
Deepesh N DilliardArgentinaOnyama Limba NEGOTIATION
Costa S RoysterArgentinaElwin Sharvill NEGOTIATION
Ivar P SchemmerJapanBernardo Dominic NEGOTIATION
Arvin X VenereAustraliaElwin Sharvill QUALIFIED
Nicolas A AmigonItalyAnna Fali NEW
Costa T CaudyCanadaXuxue Feng NEGOTIATION
Tony G BologniaJapanAnna Fali NEW
Aruna R RutaGermanyAnna Fali NEGOTIATION
Jefferson P TollnerIndiaStephen Shaw NEGOTIATION
Silvio K DarakjyAustraliaIvan Magalhaes NEW
Frozen Columns
Name
Rodrigues P Malet
Juan B Ruta
Jennifer D Bowley
Costa P Nicka
Octavia I Poquette
Jeanfrancois S Albares
Alejandro U Oldroyd
Claire W Nicka
Claire Q Marrier
Rodrigues E Slusarski
Octavia J Kusko
Smith V Kusko
Silvio Y Paprocki
Mujtaba R Bowley
Mayumi R Gillian
Kaitlin Z Amigon
Leon L Rim
Octavia U Doe
Sinclair R Bowley
Cody L Shinko
Munro X Kusko
Mujtaba V Darakjy
Ivar Y Morasca
Mayumi D Marrier
Ashley B Flosi
Jones T Briddick
Maria L Rim
Smith M Ostrosky
Munro K Glick
David Y Butt
Stacey A Figeroa
Tony N Paprocki
Isabel S Schemmer
Mayumi O Nicka
Jones V Oldroyd
Francesco W Inouye
Emily Y Shinko
Wickens J Malet
Johnson P Albares
Julie F Venere
Aditya H Malet
Antonio R Morasca
Greenwood D Tollner
Silvio V Dilliard
Wickens M Malet
Ashley M Ostrosky
Aditya Y Flosi
Francesco W Gaucho
Wickens O Rim
Deepesh H Slusarski
IdCountryDate
1000United Kingdom2026-10-10
1001Spain2026-10-27
1002Japan2026-10-21
1003Japan2026-09-28
1004Brazil2026-10-01
1005United Kingdom2026-10-17
1006United Kingdom2026-10-23
1007United Kingdom2026-10-11
1008Italy2026-10-05
1009Japan2026-10-14
1010United Kingdom2026-10-23
1011United Kingdom2026-10-13
1012Japan2026-10-04
1013Argentina2026-10-23
1014Italy2026-10-09
1015United Kingdom2026-10-25
1016Spain2026-10-03
1017Argentina2026-09-30
1018Australia2026-10-13
1019Australia2026-10-16
1020Germany2026-10-17
1021Italy2026-10-25
1022Germany2026-10-17
1023United Kingdom2026-10-07
1024Canada2026-10-17
1025Japan2026-10-26
1026Spain2026-10-01
1027Spain2026-10-15
1028India2026-10-09
1029Germany2026-10-12
1030Brazil2026-09-30
1031Brazil2026-10-24
1032Spain2026-10-22
1033Australia2026-10-03
1034India2026-10-06
1035Australia2026-10-17
1036France2026-10-17
1037Argentina2026-10-27
1038Germany2026-10-10
1039Italy2026-09-29
1040Russia2026-10-05
1041Spain2026-09-29
1042Argentina2026-10-22
1043Japan2026-10-10
1044Spain2026-09-30
1045Australia2026-10-24
1046India2026-10-05
1047Russia2026-10-26
1048Italy2026-09-28
1049Brazil2026-10-20

On-Demand Data

NameIdCountryDate
Adams A Foller1000Australia2026-09-30
Misaki P Marrier1001Spain2026-10-19
Jefferson L Gillian1002India2026-09-28
Octavia U Oldroyd1003Germany2026-10-04
Emily S Paprocki1004France2026-10-27
Leja T Waycott1005Argentina2026-10-08
Tony O Rulapaugh1006Australia2026-10-22
Misaki P Vocelka1007United Kingdom2026-10-21
Faith Y Stockham1008Spain2026-10-24
Claire V Sergi1009Japan2026-10-14
Faith U Inouye1010Canada2026-10-09
Rodrigues F Butt1011Japan2026-09-28
Wickens W Rulapaugh1012Italy2026-10-08
Jennifer D Gaucho1013Brazil2026-10-22
Smith D Butt1014Russia2026-10-12
Ricardo E Oldroyd1015France2026-10-07
Maisha I Shinko1016United Kingdom2026-10-13
Rodrigues W Figeroa1017Argentina2026-10-19
Faith L Stockham1018Japan2026-10-22
Darci G Foller1019Germany2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily Z VenereIndiaIvan Magalhaes NEGOTIATION
Jones A MaletUnited KingdomElwin Sharvill PROPOSAL
Leja Y InouyeArgentinaXuxue Feng PROPOSAL
Aika Q BowleyAustraliaAmy Elsner NEW
Arvin X ChuiItalyIvan Magalhaes PROPOSAL
Johnson V PoquetteIndiaAnna Fali UNQUALIFIED
Emily Y FigeroaBrazilXuxue Feng UNQUALIFIED
Mujtaba J PerinSpainXuxue Feng NEW
Leon G CampainFranceStephen Shaw RENEWAL
Mayumi F RutaItalyElwin Sharvill RENEWAL
Leja W DarakjyUnited KingdomAmy Elsner PROPOSAL
Aruna S RulapaughUnited KingdomIoni Bowcher NEW
Mayumi V StockhamAustraliaIoni Bowcher RENEWAL
Cody I ButtArgentinaAnna Fali PROPOSAL
Maisha M BowleyArgentinaAmy Elsner NEGOTIATION
Ivar F WieserItalyIoni Bowcher UNQUALIFIED
Greenwood L ChuiRussiaIvan Magalhaes PROPOSAL
Isabel P VocelkaItalyAmy Elsner RENEWAL
Misaki X KuskoGermanyXuxue Feng QUALIFIED
Murillo U RoysterIndiaAsiya Javayant RENEWAL
Silvio N KolmetzBrazilAmy Elsner RENEWAL
Cody Y PerinIndiaStephen Shaw NEGOTIATION
Ricardo S VocelkaUnited KingdomBernardo Dominic NEGOTIATION
Leon U PoquetteFranceIvan Magalhaes UNQUALIFIED
Clifford K MaletBrazilAmy Elsner RENEWAL
Maria B RulapaughItalyIvan Magalhaes UNQUALIFIED
Izzy T GauchoGermanyAsiya Javayant UNQUALIFIED
Munro K BriddickIndiaAmy Elsner PROPOSAL
Sinclair O CaudyArgentinaElwin Sharvill NEW
Cody X NestleArgentinaAmy Elsner PROPOSAL
Mayumi T GillianJapanAmy Elsner RENEWAL
Morrow I TollnerCanadaOnyama Limba NEGOTIATION
Wickens Q SergiRussiaOnyama Limba UNQUALIFIED
Sinclair D KolmetzAustraliaXuxue Feng UNQUALIFIED
Maria E WieserGermanyXuxue Feng RENEWAL
Leon O DilliardItalyBernardo Dominic RENEWAL
Ashley U RulapaughItalyElwin Sharvill NEW
Misaki F RutaFranceStephen Shaw UNQUALIFIED
James H MaletGermanyAsiya Javayant UNQUALIFIED
James H WaycottJapanAmy Elsner 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>