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
Kadeem O SchemmerUnited KingdomBernardo Dominic PROPOSAL
James C MorascaBrazilIoni Bowcher NEGOTIATION
Sinclair F StensethFranceOnyama Limba NEW
Deepesh P KuskoSpainOnyama Limba QUALIFIED
Leon L RoysterIndiaIoni Bowcher UNQUALIFIED
Octavia N AlbaresGermanyBernardo Dominic NEW
Jones O StockhamJapanAnna Fali NEW
Emily V ChuiRussiaOnyama Limba NEW
Cody V BowleyArgentinaIoni Bowcher NEW
Emily V AmigonSpainIvan Magalhaes QUALIFIED
Antonio C VenereAustraliaIvan Magalhaes PROPOSAL
Smith L InouyeIndiaAnna Fali RENEWAL
Mayumi Q PaprockiAustraliaBernardo Dominic UNQUALIFIED
Tony S PaprockiBrazilIvan Magalhaes PROPOSAL
Nicolas P WaycottUnited KingdomIvan Magalhaes RENEWAL
Antonio J ChuiBrazilIoni Bowcher NEGOTIATION
Morrow F BologniaBrazilAnna Fali RENEWAL
Arvin X FlosiAustraliaAsiya Javayant NEGOTIATION
Antonio T FigeroaIndiaAnna Fali UNQUALIFIED
Julie F MacleadRussiaAsiya Javayant NEW
Sinclair B GlickUnited KingdomXuxue Feng PROPOSAL
James K DoeItalyAnna Fali NEW
Claire I RulapaughArgentinaAsiya Javayant PROPOSAL
Sinclair R RimBrazilIvan Magalhaes NEW
Antonio T SchemmerItalyElwin Sharvill PROPOSAL
Ricardo R CampainAustraliaStephen Shaw UNQUALIFIED
Kadeem M TollnerCanadaAsiya Javayant RENEWAL
Jefferson Q BriddickSpainAmy Elsner NEW
Clifford M NickaIndiaElwin Sharvill NEW
David B NickaRussiaIoni Bowcher UNQUALIFIED
Leon Z FigeroaSpainBernardo Dominic PROPOSAL
Maisha L GarufiBrazilStephen Shaw QUALIFIED
Misaki I MarrierItalyAsiya Javayant RENEWAL
Clifford Q InouyeRussiaAnna Fali QUALIFIED
Johnson S ShinkoIndiaIoni Bowcher UNQUALIFIED
Adams K MaletFranceAnna Fali RENEWAL
Alejandro U ButtUnited KingdomAmy Elsner NEGOTIATION
Cody N KuskoIndiaAmy Elsner RENEWAL
Mayumi L MacleadRussiaAsiya Javayant QUALIFIED
Maria A CampainJapanAsiya Javayant RENEWAL
Leja X DoeGermanyAnna Fali UNQUALIFIED
Kadeem P DoeRussiaXuxue Feng RENEWAL
David E StensethSpainIvan Magalhaes NEGOTIATION
Octavia N AmigonRussiaAnna Fali NEW
Clifford E PoquetteUnited KingdomAnna Fali UNQUALIFIED
Ashley W FigeroaJapanAnna Fali UNQUALIFIED
Deepesh T MarrierFranceAnna Fali NEW
Clifford W SchemmerGermanyIoni Bowcher PROPOSAL
Aruna D SlusarskiRussiaIvan Magalhaes QUALIFIED
Octavia B RutaAustraliaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Isabel S CampainGermanyIoni Bowcher NEW
Wickens H OldroydGermanyAsiya Javayant RENEWAL
Jefferson R PerinSpainOnyama Limba NEW
Ashley T MarrierItalyXuxue Feng NEGOTIATION
Jeanfrancois G WaycottIndiaXuxue Feng UNQUALIFIED
Mujtaba U MaletBrazilStephen Shaw RENEWAL
Leja R IturbideIndiaStephen Shaw RENEWAL
Jefferson Z MaletSpainElwin Sharvill NEW
Mayumi P StensethSpainIvan Magalhaes NEW
James R BologniaAustraliaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco C NickaIndia2026-09-28Feltz Printing Service UNQUALIFIED6Stephen Shaw
1001Claire W VenereIndia2026-09-17Feltz Printing Service QUALIFIED18Ioni Bowcher
1002Isabel U StensethFrance2026-09-12Feiner Bros NEGOTIATION89Asiya Javayant
1003Maisha T StockhamBrazil2026-09-26Chemel, James L Cpa NEW32Ioni Bowcher
1004Jeanfrancois F StockhamJapan2026-09-17Rousseaux, Michael Esq QUALIFIED12Amy Elsner
1005Ashley I WhobreySpain2026-09-08Feiner Bros UNQUALIFIED75Bernardo Dominic
1006Jefferson T DarakjyFrance2026-09-08King, Christopher A Esq UNQUALIFIED3Stephen Shaw
1007Ashley C DilliardItaly2026-09-07Chemel, James L Cpa NEGOTIATION85Amy Elsner
1008Kaitlin P AlbaresIndia2026-10-02Chanay, Jeffrey A Esq PROPOSAL65Asiya Javayant
1009Ashley E ShinkoBrazil2026-09-26Commercial Press RENEWAL62Ivan Magalhaes
1010Kaitlin Z VocelkaJapan2026-09-30Benton, John B Jr PROPOSAL4Ioni Bowcher
1011Rodrigues H GillianCanada2026-09-14Buckley Miller Wright NEGOTIATION29Bernardo Dominic
1012Deepesh X NickaArgentina2026-09-25Rangoni Of Florence RENEWAL64Xuxue Feng
1013Aditya O GarufiCanada2026-09-20Morlong Associates RENEWAL28Anna Fali
1014Mujtaba O VocelkaJapan2026-09-20Dorl, James J Esq RENEWAL38Asiya Javayant
1015Nicolas L WhobreySpain2026-09-09Dorl, James J Esq NEW19Asiya Javayant
1016Francesco U AlbaresArgentina2026-09-25Dorl, James J Esq NEW10Elwin Sharvill
1017Maisha D MarrierAustralia2026-09-15Rangoni Of Florence NEW60Ivan Magalhaes
1018Octavia Z SergiUnited Kingdom2026-09-06Feltz Printing Service NEW61Xuxue Feng
1019Aika S WieserIndia2026-10-04Benton, John B Jr RENEWAL94Stephen Shaw
1020Alejandro P WieserItaly2026-09-27Commercial Press PROPOSAL92Stephen Shaw
1021Ivar K WaycottGermany2026-09-19Rangoni Of Florence RENEWAL47Stephen Shaw
1022James C PoquetteGermany2026-09-07Chanay, Jeffrey A Esq NEW25Ioni Bowcher
1023Smith Q MorascaItaly2026-09-29Chapman, Ross E Esq UNQUALIFIED95Anna Fali
1024Alejandro P VocelkaCanada2026-09-17Feiner Bros NEGOTIATION56Ivan Magalhaes
1025Alejandro N MorascaJapan2026-09-20Chapman, Ross E Esq NEGOTIATION82Elwin Sharvill
1026Emily K InouyeSpain2026-09-27Chapman, Ross E Esq QUALIFIED59Ioni Bowcher
1027Jeanfrancois V InouyeUnited Kingdom2026-09-29Rousseaux, Michael Esq NEW92Stephen Shaw
1028Chavez W CaudyUnited Kingdom2026-09-18Benton, John B Jr QUALIFIED38Ioni Bowcher
1029Cody C CaldareraSpain2026-09-22Commercial Press NEGOTIATION54Bernardo Dominic
1030Aika O SergiArgentina2026-09-19Dorl, James J Esq NEW60Elwin Sharvill
1031Rodrigues V FollerCanada2026-09-08Printing Dimensions PROPOSAL23Amy Elsner
1032Arvin Y OstroskyAustralia2026-09-22Truhlar And Truhlar Attys QUALIFIED7Onyama Limba
1033Juan E KolmetzGermany2026-10-01Commercial Press RENEWAL45Xuxue Feng
1034Clifford J AlbaresCanada2026-09-29Feltz Printing Service RENEWAL36Bernardo Dominic
1035Mayumi L WhobreyArgentina2026-09-25Commercial Press NEGOTIATION7Ivan Magalhaes
1036Smith B VocelkaGermany2026-09-06Rangoni Of Florence RENEWAL35Anna Fali
1037Rodrigues J AmigonSpain2026-10-05Chemel, James L Cpa UNQUALIFIED29Ioni Bowcher
1038Murillo I SergiAustralia2026-09-18Chemel, James L Cpa QUALIFIED65Xuxue Feng
1039Johnson D AmigonFrance2026-09-28Printing Dimensions RENEWAL33Stephen Shaw
1040Costa F KolmetzCanada2026-09-19Printing Dimensions UNQUALIFIED78Ioni Bowcher
1041Mayumi J ChuiBrazil2026-09-20Chemel, James L Cpa RENEWAL97Onyama Limba
1042Deepesh E SlusarskiRussia2026-10-04Rangoni Of Florence RENEWAL40Anna Fali
1043Jennifer C KuskoUnited Kingdom2026-09-23Chanay, Jeffrey A Esq UNQUALIFIED10Amy Elsner
1044Tony I PoquetteBrazil2026-09-07Benton, John B Jr NEW74Onyama Limba
1045Maisha N NickaArgentina2026-10-02Morlong Associates UNQUALIFIED63Amy Elsner
1046James L MaletUnited Kingdom2026-09-08Benton, John B Jr UNQUALIFIED62Anna Fali
1047Aditya A InouyeUnited Kingdom2026-10-03Chapman, Ross E Esq RENEWAL80Anna Fali
1048Silvio G RutaJapan2026-09-17Rangoni Of Florence RENEWAL68Xuxue Feng
1049Adams U StockhamFrance2026-09-27Rousseaux, Michael Esq UNQUALIFIED54Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aditya D ButtJapanIoni Bowcher NEGOTIATION
Mujtaba P GarufiArgentinaBernardo Dominic NEW
Kadeem A GauchoRussiaIoni Bowcher NEGOTIATION
James F MaletGermanyIvan Magalhaes QUALIFIED
Alejandro J CampainJapanStephen Shaw RENEWAL
Stacey N ChuiAustraliaXuxue Feng RENEWAL
Arvin R AlbaresCanadaXuxue Feng NEGOTIATION
Octavia C MarrierRussiaBernardo Dominic QUALIFIED
Murillo U GillianJapanBernardo Dominic QUALIFIED
Emily H IturbideItalyOnyama Limba NEGOTIATION
Chavez C RoysterIndiaBernardo Dominic QUALIFIED
Ashley B MaletBrazilElwin Sharvill RENEWAL
Darci O GarufiSpainOnyama Limba UNQUALIFIED
Cody Q InouyeRussiaAmy Elsner PROPOSAL
Sinclair S PaprockiJapanOnyama Limba NEGOTIATION
Mayumi Y GauchoFranceBernardo Dominic NEW
Deepesh H KuskoUnited KingdomXuxue Feng PROPOSAL
Jennifer F KolmetzItalyXuxue Feng PROPOSAL
Arvin M StockhamBrazilOnyama Limba RENEWAL
Aditya F SchemmerItalyStephen Shaw UNQUALIFIED
Julie K KuskoGermanyIvan Magalhaes NEGOTIATION
James Q VenereUnited KingdomAmy Elsner QUALIFIED
Sinclair F DoeIndiaXuxue Feng UNQUALIFIED
Faith Z GauchoCanadaElwin Sharvill RENEWAL
Arvin V TollnerUnited KingdomAsiya Javayant QUALIFIED
Juan I GarufiBrazilIvan Magalhaes PROPOSAL
Jones Z CaudyBrazilAmy Elsner UNQUALIFIED
Leon R BologniaIndiaStephen Shaw NEW
Arvin T GillianBrazilAnna Fali NEGOTIATION
Johnson X DarakjySpainStephen Shaw RENEWAL
Octavia S PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Stacey B PerinUnited KingdomAmy Elsner UNQUALIFIED
Jeanfrancois G MaletJapanBernardo Dominic PROPOSAL
Faith A IturbideSpainBernardo Dominic UNQUALIFIED
Aditya S GlickGermanyStephen Shaw QUALIFIED
Francesco J RimIndiaXuxue Feng QUALIFIED
Adams C SergiBrazilBernardo Dominic PROPOSAL
Rodrigues U BowleyFranceStephen Shaw NEGOTIATION
Nicolas B NestleAustraliaIvan Magalhaes PROPOSAL
Cody U DarakjyArgentinaAmy Elsner QUALIFIED
David C KolmetzUnited KingdomAsiya Javayant PROPOSAL
Claire B GlickArgentinaElwin Sharvill QUALIFIED
Morrow B StockhamAustraliaAmy Elsner RENEWAL
Jefferson R FollerBrazilOnyama Limba RENEWAL
Octavia U SaylorsAustraliaAnna Fali NEW
Costa F WaycottAustraliaElwin Sharvill PROPOSAL
Tony I RimIndiaIvan Magalhaes UNQUALIFIED
Munro I WaycottRussiaAnna Fali NEW
Antonio I CaudyAustraliaAsiya Javayant PROPOSAL
Smith O CampainCanadaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Jennifer L Poquette
Rodrigues T Gillian
Wickens X Bowley
Chavez Y Royster
Munro O Amigon
Cody P Paprocki
Johnson H Foller
Jennifer M Caudy
Alejandro F Gillian
Morrow R Gaucho
Juan O Butt
Sinclair O Gaucho
James N Ostrosky
Sinclair I Iturbide
Mujtaba Y Flosi
Faith Z Amigon
Misaki E Kolmetz
Stacey A Saylors
Emily F Briddick
Darci V Malet
Claire E Perin
Jones J Dilliard
Murillo N Malet
Maria H Malet
Antonio H Albares
Darci O Perin
James O Paprocki
Kaitlin D Malet
Emily S Nicka
Morrow O Sergi
Leja X Malet
Rodrigues A Garufi
Ricardo N Ostrosky
Ivar C Ruta
Aditya S Rulapaugh
Maisha Y Venere
Greenwood N Doe
Smith F Shinko
Adams J Malet
Arvin F Garufi
Sinclair J Caudy
Clifford I Iturbide
Deepesh A Doe
Francesco G Stockham
Mayumi I Gillian
Antonio Y Gaucho
Adams L Campain
Ricardo V Poquette
Misaki C Bowley
Costa C Caldarera
IdCountryDate
1000United Kingdom2026-09-24
1001Brazil2026-09-17
1002Canada2026-09-14
1003United Kingdom2026-09-16
1004Germany2026-09-10
1005Italy2026-09-21
1006Russia2026-09-24
1007Germany2026-09-09
1008Canada2026-10-02
1009Russia2026-09-20
1010Brazil2026-09-25
1011Canada2026-09-15
1012Canada2026-09-27
1013Spain2026-09-26
1014Australia2026-10-01
1015Canada2026-09-13
1016France2026-10-04
1017Germany2026-09-08
1018Australia2026-09-09
1019Japan2026-09-16
1020Argentina2026-10-02
1021Brazil2026-09-10
1022Australia2026-09-23
1023Brazil2026-09-17
1024India2026-09-22
1025Russia2026-10-05
1026Italy2026-09-27
1027Argentina2026-09-13
1028Germany2026-09-06
1029Canada2026-09-25
1030Brazil2026-09-18
1031United Kingdom2026-09-09
1032France2026-09-14
1033Japan2026-09-28
1034Argentina2026-09-22
1035India2026-09-11
1036Russia2026-10-01
1037Argentina2026-09-13
1038Canada2026-09-12
1039Canada2026-09-25
1040Japan2026-10-04
1041Japan2026-10-04
1042France2026-09-18
1043Brazil2026-09-06
1044United Kingdom2026-09-10
1045Russia2026-10-04
1046Spain2026-10-03
1047Argentina2026-09-24
1048Russia2026-09-07
1049Australia2026-09-27

On-Demand Data

NameIdCountryDate
Rodrigues P Malet1000Canada2026-09-27
Arvin W Gillian1001Argentina2026-09-20
Izzy L Poquette1002United Kingdom2026-09-26
Isabel V Sergi1003Brazil2026-09-26
Wickens D Figeroa1004Spain2026-09-28
Nicolas C Stenseth1005Canada2026-09-15
Silvio T Bolognia1006Spain2026-09-20
Antonio N Rulapaugh1007Argentina2026-09-10
Leon O Gillian1008Australia2026-09-27
Jeanfrancois L Albares1009France2026-09-16
Maisha Y Gillian1010Germany2026-09-30
Jennifer G Stenseth1011France2026-09-25
Darci N Oldroyd1012India2026-09-07
Rodrigues A Doe1013India2026-09-13
Jeanfrancois L Rulapaugh1014Brazil2026-09-19
Silvio Y Whobrey1015Spain2026-09-21
Johnson W Inouye1016Italy2026-09-14
Ivar K Ruta1017Italy2026-09-26
Rodrigues S Gaucho1018France2026-09-14
Cody R Malet1019United Kingdom2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia X ButtBrazilBernardo Dominic RENEWAL
Sinclair D WhobreyRussiaStephen Shaw NEW
Nicolas I IturbideRussiaXuxue Feng UNQUALIFIED
Misaki S ShinkoCanadaIvan Magalhaes NEW
Jennifer H WhobreyArgentinaAmy Elsner PROPOSAL
Murillo V GillianFranceAmy Elsner QUALIFIED
Johnson W OstroskySpainElwin Sharvill PROPOSAL
Jennifer H KolmetzBrazilXuxue Feng PROPOSAL
Johnson H StensethRussiaStephen Shaw UNQUALIFIED
Maria P MaletCanadaAsiya Javayant PROPOSAL
Nicolas P BriddickArgentinaIvan Magalhaes UNQUALIFIED
Claire C AmigonJapanIvan Magalhaes QUALIFIED
Adams S WaycottAustraliaAsiya Javayant RENEWAL
Sinclair J FerenczIndiaElwin Sharvill QUALIFIED
Aika I GlickJapanElwin Sharvill NEW
Leja R MorascaBrazilStephen Shaw PROPOSAL
Silvio Z KolmetzUnited KingdomIoni Bowcher NEGOTIATION
Maria O RulapaughFranceStephen Shaw UNQUALIFIED
Jeanfrancois Y WhobreyJapanBernardo Dominic PROPOSAL
Emily Q NestleCanadaBernardo Dominic NEGOTIATION
Misaki T SaylorsArgentinaAnna Fali QUALIFIED
Aika T OstroskyBrazilBernardo Dominic UNQUALIFIED
Wickens U RulapaughCanadaAmy Elsner NEW
Aika M SchemmerItalyAmy Elsner NEW
Murillo W RoysterCanadaBernardo Dominic PROPOSAL
Clifford N DoeGermanyElwin Sharvill NEW
Stacey G RoysterBrazilAnna Fali PROPOSAL
Chavez Z KuskoAustraliaXuxue Feng QUALIFIED
Kadeem U RoysterSpainAnna Fali QUALIFIED
Aditya W ShinkoUnited KingdomAsiya Javayant NEGOTIATION
Ashley M AmigonAustraliaStephen Shaw NEGOTIATION
Smith W FerenczUnited KingdomAmy Elsner NEGOTIATION
Misaki C DilliardRussiaXuxue Feng NEGOTIATION
Faith Z VocelkaArgentinaAnna Fali NEW
Wickens C StensethCanadaAmy Elsner PROPOSAL
Emily Y CampainSpainOnyama Limba UNQUALIFIED
Jefferson H StockhamAustraliaElwin Sharvill PROPOSAL
Izzy B BologniaBrazilBernardo Dominic PROPOSAL
Tony B CaudyArgentinaAsiya Javayant NEGOTIATION
Isabel Q InouyeFranceAsiya Javayant 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>