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
Ricardo M SaylorsFranceIoni Bowcher UNQUALIFIED
Aruna V OldroydFranceAsiya Javayant NEGOTIATION
Jeanfrancois S SergiSpainAmy Elsner QUALIFIED
James S AlbaresIndiaAnna Fali RENEWAL
Silvio E BriddickGermanyStephen Shaw UNQUALIFIED
Maria M BologniaBrazilIoni Bowcher NEGOTIATION
Costa Z WhobreyFranceOnyama Limba NEW
Smith O GillianCanadaStephen Shaw RENEWAL
Mujtaba Z FlosiArgentinaIoni Bowcher PROPOSAL
Kaitlin W DarakjyFranceElwin Sharvill QUALIFIED
Emily U CaudyGermanyXuxue Feng NEW
Jeanfrancois S DoeAustraliaXuxue Feng NEGOTIATION
Ricardo U PaprockiJapanXuxue Feng QUALIFIED
Morrow Y MacleadFranceIvan Magalhaes RENEWAL
Julie A GlickRussiaStephen Shaw NEW
Aruna G NestleRussiaAmy Elsner PROPOSAL
Ashley Z PaprockiGermanyOnyama Limba NEGOTIATION
Izzy L ShinkoIndiaStephen Shaw RENEWAL
Deepesh A MorascaArgentinaOnyama Limba RENEWAL
Clifford J MaletBrazilBernardo Dominic NEW
Francesco C MarrierArgentinaStephen Shaw QUALIFIED
Salvatore Z GauchoIndiaOnyama Limba NEGOTIATION
Jones Q ButtGermanyOnyama Limba RENEWAL
Aruna Y KolmetzSpainBernardo Dominic NEW
Silvio M GillianAustraliaAsiya Javayant QUALIFIED
Sinclair F DilliardCanadaAmy Elsner UNQUALIFIED
Clifford Q SlusarskiGermanyIvan Magalhaes NEW
Greenwood W MarrierAustraliaXuxue Feng UNQUALIFIED
Cody U OstroskyArgentinaIoni Bowcher NEGOTIATION
Silvio G GlickItalyXuxue Feng PROPOSAL
Ivar B MaletAustraliaBernardo Dominic NEGOTIATION
Leja S WaycottArgentinaOnyama Limba QUALIFIED
Rodrigues E BologniaFranceAnna Fali NEGOTIATION
Costa N BriddickItalyOnyama Limba NEGOTIATION
Mujtaba P DarakjyBrazilElwin Sharvill RENEWAL
Ashley O CaldareraRussiaAnna Fali UNQUALIFIED
Misaki S FigeroaAustraliaElwin Sharvill UNQUALIFIED
Johnson C OldroydFranceIoni Bowcher NEGOTIATION
Emily T ShinkoArgentinaAmy Elsner QUALIFIED
Aruna A KolmetzUnited KingdomIoni Bowcher NEW
Cody N WaycottBrazilAmy Elsner RENEWAL
Morrow Z MaletItalyAnna Fali QUALIFIED
Darci K GarufiGermanyAnna Fali QUALIFIED
Maria F DoeIndiaAsiya Javayant NEGOTIATION
Kaitlin C BowleyAustraliaAmy Elsner UNQUALIFIED
Mujtaba K AlbaresCanadaAmy Elsner QUALIFIED
Jefferson D WaycottAustraliaStephen Shaw UNQUALIFIED
Leja D DilliardFranceStephen Shaw UNQUALIFIED
Ashley O WaycottItalyElwin Sharvill NEW
Clifford M FlosiAustraliaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa L RutaBrazilIoni Bowcher QUALIFIED
Ivar Z PerinBrazilAnna Fali PROPOSAL
Darci J MacleadArgentinaIoni Bowcher RENEWAL
Maria S FerenczArgentinaElwin Sharvill UNQUALIFIED
Maria B RulapaughIndiaBernardo Dominic RENEWAL
Alejandro G ButtItalyOnyama Limba RENEWAL
Tony D AmigonJapanElwin Sharvill NEW
Morrow B PoquetteFranceAsiya Javayant RENEWAL
Izzy J DoeBrazilXuxue Feng UNQUALIFIED
Nicolas W MaletJapanIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones N OldroydCanada2026-10-09Chemel, James L Cpa QUALIFIED13Amy Elsner
1001Sinclair M WhobreyCanada2026-10-18Printing Dimensions QUALIFIED53Amy Elsner
1002Munro P StockhamIndia2026-10-12Morlong Associates NEGOTIATION35Bernardo Dominic
1003Salvatore G CampainJapan2026-10-20Feiner Bros RENEWAL33Ioni Bowcher
1004Murillo Y SlusarskiUnited Kingdom2026-10-07Rangoni Of Florence NEW69Ioni Bowcher
1005Claire W ShinkoIndia2026-10-09King, Christopher A Esq NEGOTIATION74Onyama Limba
1006Stacey U VocelkaJapan2026-10-07Chapman, Ross E Esq UNQUALIFIED77Ioni Bowcher
1007Sinclair H OstroskyArgentina2026-10-07Truhlar And Truhlar Attys PROPOSAL24Elwin Sharvill
1008Wickens D KuskoIndia2026-10-18Rousseaux, Michael Esq UNQUALIFIED33Stephen Shaw
1009Jennifer M FlosiArgentina2026-09-23Rangoni Of Florence QUALIFIED92Onyama Limba
1010Nicolas K MaletIndia2026-10-21Morlong Associates NEW47Bernardo Dominic
1011Ivar H FigeroaGermany2026-10-06Rousseaux, Michael Esq QUALIFIED34Onyama Limba
1012Munro A RutaFrance2026-10-21Rangoni Of Florence RENEWAL43Anna Fali
1013Nicolas T ShinkoCanada2026-10-19Chapman, Ross E Esq PROPOSAL62Elwin Sharvill
1014Morrow W MaletJapan2026-10-02Buckley Miller Wright RENEWAL74Anna Fali
1015Aruna G NickaUnited Kingdom2026-10-16Benton, John B Jr NEGOTIATION85Ioni Bowcher
1016Clifford G MacleadArgentina2026-09-29Buckley Miller Wright QUALIFIED63Asiya Javayant
1017Octavia S FerenczSpain2026-10-13Rousseaux, Michael Esq PROPOSAL18Xuxue Feng
1018Johnson Y GlickItaly2026-10-13Morlong Associates NEW95Ioni Bowcher
1019Silvio O NickaIndia2026-10-10Printing Dimensions NEGOTIATION48Amy Elsner
1020Rodrigues B CaldareraRussia2026-09-25Chanay, Jeffrey A Esq NEW62Bernardo Dominic
1021Johnson M RulapaughItaly2026-10-20Commercial Press PROPOSAL87Anna Fali
1022Rodrigues N FerenczJapan2026-09-22Feltz Printing Service UNQUALIFIED19Elwin Sharvill
1023Leja M DilliardAustralia2026-10-20Chanay, Jeffrey A Esq NEW55Bernardo Dominic
1024Juan C IturbideJapan2026-09-29Rangoni Of Florence RENEWAL16Bernardo Dominic
1025Ashley C RutaRussia2026-10-10Buckley Miller Wright NEGOTIATION64Onyama Limba
1026Maria F ShinkoSpain2026-10-06Chanay, Jeffrey A Esq UNQUALIFIED92Ioni Bowcher
1027Wickens N MaletFrance2026-10-03Benton, John B Jr PROPOSAL46Ivan Magalhaes
1028Munro H IturbideGermany2026-10-09Commercial Press NEW11Bernardo Dominic
1029Jefferson V CaldareraJapan2026-09-30Rousseaux, Michael Esq NEW76Asiya Javayant
1030Ricardo N AlbaresFrance2026-10-19Rangoni Of Florence UNQUALIFIED1Asiya Javayant
1031Maria S ChuiSpain2026-10-12Morlong Associates UNQUALIFIED31Stephen Shaw
1032Aditya H FollerBrazil2026-10-09Chemel, James L Cpa PROPOSAL96Bernardo Dominic
1033Ashley I FigeroaJapan2026-09-25Feltz Printing Service RENEWAL69Bernardo Dominic
1034Julie N StockhamUnited Kingdom2026-09-23Buckley Miller Wright QUALIFIED90Xuxue Feng
1035Ivar H GlickJapan2026-10-11Commercial Press QUALIFIED73Amy Elsner
1036Ivar O NickaCanada2026-10-19Commercial Press NEW65Onyama Limba
1037Greenwood H CaldareraUnited Kingdom2026-09-25King, Christopher A Esq RENEWAL14Asiya Javayant
1038Silvio W PaprockiItaly2026-09-30Commercial Press PROPOSAL80Elwin Sharvill
1039Juan O GillianBrazil2026-09-22Chapman, Ross E Esq NEGOTIATION34Onyama Limba
1040Kaitlin L MaletSpain2026-10-09Feiner Bros RENEWAL41Asiya Javayant
1041Costa F BologniaAustralia2026-09-24King, Christopher A Esq PROPOSAL15Xuxue Feng
1042Maisha V DarakjyArgentina2026-10-15Rangoni Of Florence NEW4Ioni Bowcher
1043Mayumi J CampainGermany2026-10-09Chemel, James L Cpa QUALIFIED26Onyama Limba
1044David Z MarrierSpain2026-10-02Chemel, James L Cpa UNQUALIFIED2Amy Elsner
1045Clifford Y FerenczRussia2026-10-17Chapman, Ross E Esq NEW18Amy Elsner
1046Munro V TollnerGermany2026-10-13Dorl, James J Esq PROPOSAL36Stephen Shaw
1047Darci M GauchoCanada2026-10-14Commercial Press RENEWAL5Onyama Limba
1048Juan C BowleyAustralia2026-10-11Truhlar And Truhlar Attys RENEWAL72Amy Elsner
1049James P PerinUnited Kingdom2026-10-18Dorl, James J Esq PROPOSAL38Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Isabel B NickaFranceOnyama Limba UNQUALIFIED
Darci R SergiRussiaBernardo Dominic QUALIFIED
Wickens N FerenczIndiaElwin Sharvill UNQUALIFIED
Sinclair F ShinkoSpainOnyama Limba RENEWAL
Stacey B GlickRussiaOnyama Limba NEW
Jones D FerenczIndiaOnyama Limba QUALIFIED
David M GlickItalyAsiya Javayant UNQUALIFIED
Octavia K NestleBrazilAsiya Javayant PROPOSAL
David C MacleadBrazilAsiya Javayant PROPOSAL
Tony I FigeroaItalyBernardo Dominic NEGOTIATION
Rodrigues L FerenczRussiaOnyama Limba NEGOTIATION
Arvin C FigeroaSpainStephen Shaw RENEWAL
Francesco E MaletGermanyXuxue Feng NEW
Jefferson O AmigonJapanXuxue Feng NEGOTIATION
Stacey U GillianGermanyElwin Sharvill NEGOTIATION
James R OstroskySpainAmy Elsner QUALIFIED
Francesco D FlosiArgentinaXuxue Feng QUALIFIED
Ashley S StockhamItalyAsiya Javayant UNQUALIFIED
Deepesh B PaprockiRussiaIoni Bowcher UNQUALIFIED
Julie Y BologniaFranceIvan Magalhaes RENEWAL
Julie M OldroydAustraliaXuxue Feng QUALIFIED
James A GlickBrazilXuxue Feng QUALIFIED
Silvio B CaldareraSpainBernardo Dominic NEW
Nicolas M FerenczFranceStephen Shaw UNQUALIFIED
James W MacleadSpainAsiya Javayant UNQUALIFIED
Maisha W CampainAustraliaIvan Magalhaes PROPOSAL
Juan W PaprockiUnited KingdomOnyama Limba PROPOSAL
Deepesh O AlbaresBrazilXuxue Feng RENEWAL
Jeanfrancois X CampainSpainAsiya Javayant NEGOTIATION
Darci E MarrierRussiaAmy Elsner PROPOSAL
Francesco Y KolmetzSpainStephen Shaw NEGOTIATION
Aika L MorascaAustraliaBernardo Dominic NEW
Adams N MaletUnited KingdomIoni Bowcher QUALIFIED
Ivar G StockhamJapanBernardo Dominic NEGOTIATION
Antonio O RutaIndiaBernardo Dominic RENEWAL
Izzy D RoysterArgentinaStephen Shaw UNQUALIFIED
Chavez O CaudyRussiaAmy Elsner RENEWAL
Murillo F VenereUnited KingdomElwin Sharvill QUALIFIED
Alejandro K RimArgentinaIvan Magalhaes PROPOSAL
Aruna Q GillianIndiaIvan Magalhaes NEGOTIATION
James D MorascaIndiaAsiya Javayant PROPOSAL
Wickens V RoysterItalyAnna Fali RENEWAL
Julie U GillianCanadaAmy Elsner NEW
Rodrigues B RulapaughJapanStephen Shaw QUALIFIED
Wickens C FigeroaRussiaOnyama Limba NEW
Jones Q IturbideUnited KingdomBernardo Dominic NEGOTIATION
Aditya R SergiGermanyAnna Fali RENEWAL
Clifford N RimUnited KingdomElwin Sharvill QUALIFIED
Rodrigues E TollnerRussiaAsiya Javayant RENEWAL
James V DilliardArgentinaBernardo Dominic NEGOTIATION
Frozen Columns
Name
Johnson J Garufi
Jeanfrancois J Chui
Stacey C Dilliard
Deepesh U Butt
James W Poquette
Mayumi Q Malet
Kadeem O Albares
Antonio Q Chui
Jones V Venere
Arvin F Stockham
Maisha P Amigon
Misaki G Caudy
Greenwood P Nestle
James V Malet
Maisha O Morasca
Greenwood G Perin
Nicolas R Poquette
Tony F Glick
Aika V Whobrey
Clifford J Morasca
Aruna N Wieser
Aika U Malet
Antonio Q Caudy
Smith T Rulapaugh
Leon Y Oldroyd
Izzy N Ferencz
Mayumi A Briddick
Ashley A Ostrosky
Claire P Gillian
Adams E Bolognia
Morrow P Schemmer
Tony Q Ferencz
Nicolas T Caudy
Nicolas Y Oldroyd
Ashley O Vocelka
Costa V Chui
Kaitlin H Tollner
Clifford V Glick
Juan G Perin
Mujtaba V Bolognia
Chavez D Briddick
Silvio K Caudy
Mujtaba T Royster
David W Ostrosky
Rodrigues L Oldroyd
Greenwood T Amigon
Misaki K Paprocki
Leon K Bolognia
Cody Q Albares
Aruna T Gaucho
IdCountryDate
1000Japan2026-10-02
1001Argentina2026-10-04
1002Argentina2026-10-14
1003Argentina2026-10-13
1004Russia2026-10-14
1005India2026-09-27
1006Japan2026-10-06
1007United Kingdom2026-10-11
1008Canada2026-10-06
1009Italy2026-10-16
1010Spain2026-10-18
1011Russia2026-10-01
1012Canada2026-10-07
1013Spain2026-09-30
1014France2026-10-16
1015Japan2026-10-05
1016Russia2026-10-10
1017Argentina2026-10-10
1018Germany2026-10-14
1019Germany2026-09-30
1020Australia2026-09-24
1021Spain2026-10-08
1022Canada2026-10-14
1023Japan2026-10-18
1024France2026-10-01
1025India2026-09-23
1026Brazil2026-10-05
1027Italy2026-09-24
1028Spain2026-10-05
1029Spain2026-09-30
1030Australia2026-10-04
1031India2026-10-20
1032Canada2026-10-03
1033Germany2026-10-15
1034Japan2026-10-11
1035Spain2026-10-03
1036India2026-09-22
1037Italy2026-10-21
1038India2026-09-23
1039Russia2026-10-20
1040Australia2026-10-21
1041Australia2026-10-05
1042Australia2026-10-15
1043Brazil2026-10-16
1044Brazil2026-10-16
1045United Kingdom2026-10-18
1046Canada2026-09-22
1047Brazil2026-09-23
1048Russia2026-09-25
1049France2026-10-06

On-Demand Data

NameIdCountryDate
Misaki A Shinko1000Canada2026-09-28
Isabel K Ostrosky1001India2026-09-22
Ashley Z Ferencz1002Japan2026-09-27
Kaitlin G Rim1003India2026-09-26
Francesco S Inouye1004Argentina2026-10-11
Aditya V Poquette1005Japan2026-10-02
Jeanfrancois P Stenseth1006Japan2026-10-08
Francesco I Kusko1007Argentina2026-09-29
Deepesh G Wieser1008United Kingdom2026-10-16
Antonio D Stockham1009Canada2026-10-04
Juan A Stockham1010India2026-09-25
Smith E Whobrey1011Japan2026-10-11
Mujtaba S Inouye1012Canada2026-10-15
Tony B Doe1013India2026-10-05
Silvio K Caudy1014Brazil2026-10-15
Morrow G Gaucho1015United Kingdom2026-09-30
Claire P Foller1016United Kingdom2026-10-12
Misaki G Amigon1017India2026-10-17
Emily A Caudy1018United Kingdom2026-09-25
Jeanfrancois A Ostrosky1019Brazil2026-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith G RimCanadaOnyama Limba QUALIFIED
Tony S GillianUnited KingdomIvan Magalhaes NEW
Kaitlin K PaprockiItalyAsiya Javayant QUALIFIED
Octavia O FollerAustraliaAmy Elsner NEGOTIATION
Antonio N RimArgentinaOnyama Limba QUALIFIED
Munro R RimIndiaAnna Fali QUALIFIED
Mujtaba J FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Ricardo I ChuiAustraliaAmy Elsner PROPOSAL
Johnson M BriddickItalyIvan Magalhaes RENEWAL
Chavez E InouyeArgentinaIvan Magalhaes QUALIFIED
Maria R SaylorsItalyIvan Magalhaes NEGOTIATION
David R FollerRussiaAmy Elsner UNQUALIFIED
Jeanfrancois C KuskoRussiaIvan Magalhaes NEGOTIATION
Antonio B NestleJapanXuxue Feng UNQUALIFIED
Adams L IturbideIndiaIvan Magalhaes NEGOTIATION
Aika W MacleadUnited KingdomBernardo Dominic NEW
Misaki A DoeFranceAsiya Javayant NEW
Ashley S VenereItalyAnna Fali UNQUALIFIED
Arvin R DoeAustraliaBernardo Dominic QUALIFIED
Emily A StensethAustraliaStephen Shaw UNQUALIFIED
Jefferson F FerenczGermanyAsiya Javayant NEW
Aika K OldroydItalyXuxue Feng QUALIFIED
Alejandro T OstroskyJapanStephen Shaw PROPOSAL
James D GlickJapanOnyama Limba PROPOSAL
Kaitlin U OstroskyIndiaStephen Shaw RENEWAL
Alejandro N InouyeArgentinaBernardo Dominic UNQUALIFIED
Emily E WhobreyIndiaXuxue Feng UNQUALIFIED
Faith G StockhamBrazilXuxue Feng NEGOTIATION
Munro J OstroskyFranceIoni Bowcher NEGOTIATION
Jennifer J KuskoArgentinaIvan Magalhaes NEW
Alejandro K DilliardBrazilIvan Magalhaes NEGOTIATION
Jefferson M CaldareraIndiaBernardo Dominic UNQUALIFIED
Greenwood I ButtIndiaAsiya Javayant NEW
Jefferson M ChuiItalyIoni Bowcher QUALIFIED
Stacey P GauchoAustraliaBernardo Dominic NEW
Jennifer P SaylorsArgentinaOnyama Limba NEGOTIATION
Cody Y OldroydIndiaElwin Sharvill PROPOSAL
Alejandro W ShinkoFranceElwin Sharvill QUALIFIED
Rodrigues G BologniaSpainAmy Elsner QUALIFIED
Jones O DoeArgentinaElwin Sharvill 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>