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
Izzy F NickaUnited KingdomXuxue Feng QUALIFIED
Ashley X GlickUnited KingdomIvan Magalhaes RENEWAL
Sinclair T MaletRussiaAmy Elsner QUALIFIED
Claire U VocelkaSpainIvan Magalhaes PROPOSAL
Maria M RutaItalyBernardo Dominic UNQUALIFIED
Mayumi C BriddickAustraliaElwin Sharvill QUALIFIED
Maria P NickaCanadaElwin Sharvill PROPOSAL
Sinclair M VocelkaGermanyAnna Fali PROPOSAL
Isabel A GlickCanadaAmy Elsner PROPOSAL
Ivar S PoquetteJapanXuxue Feng QUALIFIED
Cody V AmigonCanadaAsiya Javayant QUALIFIED
Jeanfrancois R RimCanadaIoni Bowcher QUALIFIED
Chavez C DarakjySpainIvan Magalhaes UNQUALIFIED
Alejandro U WhobreyGermanyOnyama Limba NEW
Ricardo B SaylorsUnited KingdomElwin Sharvill RENEWAL
Faith E FollerAustraliaBernardo Dominic PROPOSAL
Munro H CaudySpainXuxue Feng QUALIFIED
Rodrigues H MacleadAustraliaAnna Fali UNQUALIFIED
Isabel Y MorascaItalyAmy Elsner NEGOTIATION
Chavez C KuskoCanadaAmy Elsner RENEWAL
Aditya U MacleadGermanyIvan Magalhaes RENEWAL
Juan U VocelkaGermanyAnna Fali RENEWAL
Darci A OldroydJapanBernardo Dominic NEGOTIATION
Adams Z TollnerCanadaStephen Shaw NEGOTIATION
Ivar T BriddickGermanyAmy Elsner UNQUALIFIED
Morrow X MarrierGermanyIoni Bowcher NEW
Deepesh Y VenereCanadaXuxue Feng QUALIFIED
Adams G SergiCanadaAsiya Javayant NEGOTIATION
Smith X DilliardSpainStephen Shaw NEW
Chavez V NestleBrazilElwin Sharvill NEGOTIATION
Deepesh R ChuiBrazilBernardo Dominic QUALIFIED
Johnson V GlickItalyBernardo Dominic NEGOTIATION
Munro J GillianIndiaAsiya Javayant UNQUALIFIED
Tony W BologniaAustraliaIvan Magalhaes NEGOTIATION
Leon H CampainUnited KingdomXuxue Feng NEW
Chavez A PerinRussiaBernardo Dominic NEGOTIATION
Mayumi I CaudySpainAnna Fali RENEWAL
Maisha G DarakjyBrazilAsiya Javayant RENEWAL
Salvatore B BriddickUnited KingdomBernardo Dominic NEGOTIATION
Aditya Z WhobreyRussiaAsiya Javayant NEW
Ivar E AmigonItalyStephen Shaw UNQUALIFIED
Faith U MacleadJapanIoni Bowcher NEW
Faith D StensethCanadaAnna Fali RENEWAL
Murillo F TollnerFranceXuxue Feng PROPOSAL
Julie X BologniaBrazilAsiya Javayant UNQUALIFIED
Francesco F KuskoFranceAsiya Javayant NEGOTIATION
Salvatore S MorascaBrazilAmy Elsner RENEWAL
Isabel X NestleCanadaElwin Sharvill PROPOSAL
Misaki Q StockhamJapanIoni Bowcher UNQUALIFIED
Emily X RutaSpainAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire Z GillianUnited KingdomIoni Bowcher RENEWAL
Alejandro P AmigonAustraliaIvan Magalhaes NEGOTIATION
Antonio J GauchoUnited KingdomAsiya Javayant QUALIFIED
Francesco O NestleBrazilAnna Fali UNQUALIFIED
Salvatore Z FlosiItalyIvan Magalhaes QUALIFIED
David W FlosiArgentinaAmy Elsner NEGOTIATION
Silvio V CaldareraArgentinaElwin Sharvill PROPOSAL
Kadeem D GarufiAustraliaAsiya Javayant NEW
Costa G PerinUnited KingdomIoni Bowcher NEW
Greenwood Z OstroskyCanadaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford V SchemmerUnited Kingdom2026-10-11Buckley Miller Wright RENEWAL72Asiya Javayant
1001Octavia U MorascaJapan2026-10-24King, Christopher A Esq QUALIFIED24Asiya Javayant
1002Ivar W WieserIndia2026-10-19Morlong Associates NEW55Bernardo Dominic
1003Adams G RulapaughArgentina2026-10-29Morlong Associates NEGOTIATION65Onyama Limba
1004Julie P GarufiCanada2026-10-03Buckley Miller Wright QUALIFIED50Ivan Magalhaes
1005Sinclair H AlbaresSpain2026-10-05Buckley Miller Wright NEW90Stephen Shaw
1006Stacey N InouyeIndia2026-10-19Truhlar And Truhlar Attys UNQUALIFIED14Asiya Javayant
1007Wickens S StensethSpain2026-10-08Buckley Miller Wright QUALIFIED26Asiya Javayant
1008Sinclair M WhobreyRussia2026-10-13Buckley Miller Wright RENEWAL39Bernardo Dominic
1009Adams Z BologniaRussia2026-10-15Feiner Bros UNQUALIFIED49Anna Fali
1010Sinclair L SaylorsCanada2026-10-06Feiner Bros UNQUALIFIED6Stephen Shaw
1011Tony T FollerSpain2026-10-31Benton, John B Jr QUALIFIED47Ioni Bowcher
1012Misaki U MaletUnited Kingdom2026-10-30Morlong Associates QUALIFIED29Onyama Limba
1013Aditya R PerinItaly2026-10-06Feltz Printing Service UNQUALIFIED3Stephen Shaw
1014Ricardo R MaletGermany2026-10-25Buckley Miller Wright NEW92Xuxue Feng
1015Sinclair Q RulapaughGermany2026-10-11Feltz Printing Service UNQUALIFIED17Ioni Bowcher
1016Aika X NickaCanada2026-10-06Rangoni Of Florence NEGOTIATION59Anna Fali
1017Stacey O ButtArgentina2026-10-26Chanay, Jeffrey A Esq NEGOTIATION70Ioni Bowcher
1018David H PerinItaly2026-10-29Buckley Miller Wright NEW44Xuxue Feng
1019Juan P BologniaJapan2026-10-24Feiner Bros RENEWAL29Ivan Magalhaes
1020Francesco K DilliardRussia2026-10-22Printing Dimensions NEW72Stephen Shaw
1021Claire S TollnerCanada2026-10-07Chemel, James L Cpa QUALIFIED2Elwin Sharvill
1022Francesco Q ShinkoFrance2026-10-12Rangoni Of Florence QUALIFIED55Anna Fali
1023Darci E PaprockiGermany2026-10-08Benton, John B Jr NEGOTIATION32Xuxue Feng
1024Cody D CaldareraRussia2026-10-25Buckley Miller Wright UNQUALIFIED54Ivan Magalhaes
1025Darci I WhobreyJapan2026-10-20Chanay, Jeffrey A Esq PROPOSAL44Bernardo Dominic
1026Claire N TollnerRussia2026-10-05Chanay, Jeffrey A Esq NEGOTIATION55Stephen Shaw
1027Misaki E BriddickBrazil2026-10-07Chemel, James L Cpa QUALIFIED44Amy Elsner
1028Darci R WieserIndia2026-10-28Chemel, James L Cpa PROPOSAL91Amy Elsner
1029Isabel J TollnerSpain2026-10-17Rangoni Of Florence NEGOTIATION8Amy Elsner
1030Francesco S NestleRussia2026-10-27Chemel, James L Cpa QUALIFIED11Amy Elsner
1031Salvatore B VenereCanada2026-10-22Printing Dimensions RENEWAL23Ioni Bowcher
1032Jones F MaletUnited Kingdom2026-10-25Benton, John B Jr NEW34Ioni Bowcher
1033Aruna I ChuiSpain2026-10-20Printing Dimensions RENEWAL25Elwin Sharvill
1034Deepesh X RoysterIndia2026-10-14Buckley Miller Wright UNQUALIFIED53Asiya Javayant
1035Murillo Z FerenczArgentina2026-10-10Truhlar And Truhlar Attys UNQUALIFIED75Onyama Limba
1036Antonio C OstroskyFrance2026-10-27Commercial Press UNQUALIFIED27Amy Elsner
1037David D MaletSpain2026-10-06Feiner Bros QUALIFIED97Anna Fali
1038Octavia Q GauchoSpain2026-10-23Chemel, James L Cpa PROPOSAL8Amy Elsner
1039Aruna Z DilliardBrazil2026-10-03Rousseaux, Michael Esq NEW27Ioni Bowcher
1040Juan D PerinArgentina2026-10-29Commercial Press UNQUALIFIED70Ivan Magalhaes
1041David T CaldareraArgentina2026-10-10Dorl, James J Esq RENEWAL75Ioni Bowcher
1042Ashley F OldroydBrazil2026-10-16Dorl, James J Esq NEGOTIATION82Bernardo Dominic
1043Wickens Q DarakjyIndia2026-10-17Chanay, Jeffrey A Esq NEGOTIATION42Asiya Javayant
1044Jefferson M KuskoCanada2026-10-10Truhlar And Truhlar Attys NEGOTIATION56Stephen Shaw
1045Juan Y ButtCanada2026-10-30Morlong Associates NEW16Ivan Magalhaes
1046Silvio K RoysterIndia2026-10-20Commercial Press PROPOSAL7Asiya Javayant
1047Tony N MaletUnited Kingdom2026-10-09Chemel, James L Cpa RENEWAL64Anna Fali
1048Johnson Z FlosiUnited Kingdom2026-10-16Rangoni Of Florence NEGOTIATION74Anna Fali
1049Darci W SergiSpain2026-10-24Truhlar And Truhlar Attys QUALIFIED1Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Julie U CampainItalyXuxue Feng NEGOTIATION
Aditya J FollerAustraliaBernardo Dominic NEW
Claire M MorascaItalyIvan Magalhaes NEGOTIATION
Jones L BriddickSpainBernardo Dominic NEW
Kadeem H InouyeIndiaIoni Bowcher PROPOSAL
Wickens O InouyeArgentinaIvan Magalhaes NEGOTIATION
Maria U GauchoFranceAmy Elsner UNQUALIFIED
David Z BriddickItalyStephen Shaw NEGOTIATION
Ricardo H FlosiItalyAsiya Javayant UNQUALIFIED
Nicolas Q MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Stacey Y AlbaresAustraliaIoni Bowcher PROPOSAL
Ricardo D AlbaresAustraliaElwin Sharvill QUALIFIED
Francesco D KolmetzCanadaStephen Shaw PROPOSAL
Kadeem L VocelkaRussiaAmy Elsner RENEWAL
Johnson B NickaSpainAsiya Javayant PROPOSAL
Stacey N OldroydGermanyAsiya Javayant UNQUALIFIED
Arvin S CaldareraBrazilBernardo Dominic RENEWAL
James O VocelkaIndiaOnyama Limba QUALIFIED
Mujtaba S MacleadIndiaIoni Bowcher RENEWAL
Francesco I PoquetteJapanBernardo Dominic NEW
Adams A StockhamArgentinaXuxue Feng RENEWAL
Kaitlin Z KolmetzCanadaAsiya Javayant QUALIFIED
Costa G VocelkaItalyIvan Magalhaes PROPOSAL
Chavez P OstroskyGermanyXuxue Feng RENEWAL
Isabel Y FollerIndiaAmy Elsner NEGOTIATION
Jones D OldroydFranceIoni Bowcher PROPOSAL
Mayumi S PaprockiAustraliaAnna Fali NEGOTIATION
Kadeem S MaletArgentinaElwin Sharvill NEW
Salvatore X WaycottUnited KingdomAmy Elsner NEW
Rodrigues W StensethRussiaStephen Shaw QUALIFIED
Isabel S GauchoGermanyIvan Magalhaes RENEWAL
Octavia B NickaArgentinaElwin Sharvill PROPOSAL
Jefferson B RulapaughIndiaIvan Magalhaes NEW
Ricardo N CaldareraIndiaIvan Magalhaes NEGOTIATION
Maisha Z SlusarskiArgentinaIoni Bowcher NEGOTIATION
Chavez B GarufiCanadaBernardo Dominic NEGOTIATION
Kadeem K WhobreyIndiaOnyama Limba NEGOTIATION
Smith A CampainJapanOnyama Limba NEW
Stacey U ShinkoFranceAsiya Javayant NEW
Emily V GarufiGermanyStephen Shaw UNQUALIFIED
Aika R IturbideGermanyAmy Elsner NEW
Deepesh W GarufiBrazilAnna Fali RENEWAL
Alejandro I VenereGermanyStephen Shaw QUALIFIED
Jennifer P CaudyAustraliaIvan Magalhaes PROPOSAL
Julie G FerenczJapanBernardo Dominic NEGOTIATION
Aika R KuskoUnited KingdomXuxue Feng QUALIFIED
Wickens M NestleSpainOnyama Limba NEW
Jeanfrancois A SergiGermanyStephen Shaw PROPOSAL
Chavez O MarrierFranceXuxue Feng NEW
Faith T KolmetzRussiaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Greenwood J Royster
Jefferson B Figeroa
Aruna P Bowley
Tony R Royster
Claire I Butt
Tony E Schemmer
Aditya A Gaucho
Stacey O Shinko
Darci J Stockham
Juan F Chui
Jennifer S Bolognia
Mujtaba G Flosi
Emily J Briddick
Francesco V Campain
Leja J Dilliard
Adams V Slusarski
Jeanfrancois J Stenseth
Jeanfrancois S Campain
Munro L Royster
Nicolas S Oldroyd
Kaitlin R Amigon
Salvatore I Shinko
Morrow Y Wieser
Maria R Garufi
Deepesh N Wieser
Arvin B Doe
David E Paprocki
Leon R Dilliard
Aika C Garufi
Jeanfrancois Q Paprocki
Alejandro Y Stockham
Claire Y Shinko
Jones N Caldarera
Silvio C Doe
Aditya W Ostrosky
Julie V Inouye
Izzy H Garufi
Deepesh X Nestle
Jefferson H Royster
Aruna W Nestle
Jones G Wieser
Nicolas Z Malet
Mayumi R Nicka
Faith L Maclead
Francesco D Caudy
Isabel V Marrier
James L Kusko
Leon O Ruta
Julie T Iturbide
Maria N Venere
IdCountryDate
1000Russia2026-10-25
1001Italy2026-10-17
1002Argentina2026-10-16
1003France2026-10-24
1004Russia2026-10-18
1005Japan2026-10-24
1006Australia2026-10-26
1007Italy2026-10-06
1008Spain2026-10-29
1009Germany2026-10-17
1010India2026-10-26
1011Canada2026-10-18
1012Germany2026-10-12
1013France2026-10-30
1014Argentina2026-10-08
1015India2026-10-16
1016Japan2026-10-11
1017Spain2026-10-12
1018Brazil2026-10-23
1019France2026-10-04
1020United Kingdom2026-10-27
1021United Kingdom2026-10-28
1022Canada2026-10-14
1023Russia2026-10-03
1024Canada2026-10-24
1025Argentina2026-10-08
1026France2026-10-08
1027India2026-10-07
1028United Kingdom2026-10-30
1029Australia2026-10-13
1030Canada2026-10-05
1031United Kingdom2026-10-14
1032United Kingdom2026-10-03
1033Canada2026-10-10
1034India2026-10-13
1035Brazil2026-10-22
1036United Kingdom2026-10-13
1037Italy2026-10-08
1038India2026-10-25
1039Italy2026-10-16
1040Canada2026-10-24
1041Spain2026-10-22
1042Germany2026-10-28
1043Canada2026-10-31
1044Japan2026-10-04
1045Brazil2026-10-13
1046Russia2026-10-20
1047France2026-10-23
1048Canada2026-10-23
1049Brazil2026-10-24

On-Demand Data

NameIdCountryDate
Maisha B Malet1000India2026-10-03
Cody H Butt1001United Kingdom2026-10-05
Mujtaba W Figeroa1002United Kingdom2026-10-10
Mujtaba X Dilliard1003Brazil2026-10-18
Mujtaba U Ruta1004Spain2026-10-27
Ivar N Ruta1005Russia2026-10-04
Jeanfrancois U Ostrosky1006Russia2026-10-13
David B Perin1007Argentina2026-10-15
Aruna R Flosi1008France2026-10-12
Kaitlin P Caldarera1009Brazil2026-10-13
Clifford U Schemmer1010Italy2026-10-24
Adams W Bowley1011United Kingdom2026-10-24
Maria C Whobrey1012France2026-10-15
Aruna H Doe1013Italy2026-10-15
Maisha B Vocelka1014Canada2026-10-24
Aruna M Darakjy1015Japan2026-10-11
Tony G Ruta1016Russia2026-10-14
Jennifer A Malet1017Spain2026-11-01
Isabel F Poquette1018Italy2026-10-29
Francesco Y Waycott1019Italy2026-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow S NickaIndiaIoni Bowcher PROPOSAL
Greenwood V GlickRussiaStephen Shaw PROPOSAL
Sinclair J RoysterCanadaStephen Shaw PROPOSAL
Emily D GlickUnited KingdomAsiya Javayant NEW
Rodrigues A NestleCanadaAmy Elsner NEW
Ivar H DoeGermanyBernardo Dominic RENEWAL
Deepesh F FollerFranceXuxue Feng NEW
Chavez K FollerCanadaXuxue Feng NEW
Johnson V PoquetteJapanOnyama Limba RENEWAL
Sinclair G BologniaFranceStephen Shaw NEW
Maisha N StensethItalyIoni Bowcher UNQUALIFIED
Mujtaba I PoquetteJapanStephen Shaw NEW
Claire D PaprockiRussiaAnna Fali NEGOTIATION
Faith M RoysterIndiaOnyama Limba PROPOSAL
Julie M StensethItalyElwin Sharvill PROPOSAL
Ashley D DoeBrazilElwin Sharvill UNQUALIFIED
Jones S ShinkoArgentinaXuxue Feng NEGOTIATION
Mujtaba Z CaldareraArgentinaAnna Fali NEW
Kadeem B GarufiBrazilAnna Fali NEW
Darci N DilliardArgentinaAnna Fali PROPOSAL
Aruna B FlosiItalyAmy Elsner NEGOTIATION
Maisha G GillianIndiaIoni Bowcher NEW
Leja R RulapaughJapanXuxue Feng UNQUALIFIED
Silvio B MaletFranceBernardo Dominic PROPOSAL
Deepesh V SaylorsSpainBernardo Dominic NEGOTIATION
Ivar R PoquetteItalyIvan Magalhaes RENEWAL
Jeanfrancois Z NestleArgentinaXuxue Feng NEW
Wickens W FollerAustraliaAmy Elsner NEGOTIATION
Faith X DilliardJapanOnyama Limba NEW
Johnson D WaycottIndiaStephen Shaw NEGOTIATION
Isabel J CaudyArgentinaOnyama Limba NEW
Chavez M KolmetzAustraliaAmy Elsner UNQUALIFIED
Stacey A GauchoArgentinaXuxue Feng UNQUALIFIED
Mujtaba M ShinkoGermanyAsiya Javayant NEGOTIATION
Chavez B MaletIndiaXuxue Feng PROPOSAL
Arvin S MarrierCanadaStephen Shaw QUALIFIED
Sinclair S WaycottArgentinaElwin Sharvill UNQUALIFIED
Alejandro X ShinkoUnited KingdomAnna Fali UNQUALIFIED
Munro T FlosiItalyStephen Shaw NEGOTIATION
Izzy E KolmetzArgentinaOnyama Limba PROPOSAL

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