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 Z NestleBrazilOnyama Limba UNQUALIFIED
Mayumi P CaldareraIndiaElwin Sharvill NEW
Misaki H SergiGermanyAnna Fali RENEWAL
Johnson W SchemmerIndiaAsiya Javayant QUALIFIED
Aruna L PoquetteCanadaAmy Elsner RENEWAL
Izzy X AlbaresCanadaOnyama Limba NEW
Leon Y SergiBrazilBernardo Dominic QUALIFIED
Nicolas R BologniaBrazilOnyama Limba RENEWAL
Aditya E MaletItalyIoni Bowcher RENEWAL
Tony N WieserUnited KingdomXuxue Feng RENEWAL
Smith S GarufiJapanXuxue Feng QUALIFIED
Morrow C SergiArgentinaOnyama Limba QUALIFIED
Stacey K OldroydArgentinaOnyama Limba QUALIFIED
Smith U CaldareraGermanyIvan Magalhaes NEGOTIATION
Misaki V RimGermanyStephen Shaw RENEWAL
Clifford Q WhobreyArgentinaXuxue Feng NEGOTIATION
Deepesh K PerinUnited KingdomAsiya Javayant UNQUALIFIED
Claire X WieserAustraliaXuxue Feng UNQUALIFIED
Jeanfrancois H AmigonCanadaIoni Bowcher PROPOSAL
Stacey N GlickCanadaAsiya Javayant UNQUALIFIED
Deepesh W DilliardSpainBernardo Dominic NEGOTIATION
Wickens D ChuiIndiaXuxue Feng NEGOTIATION
Johnson Y ShinkoRussiaXuxue Feng UNQUALIFIED
Alejandro N GlickArgentinaElwin Sharvill RENEWAL
Faith O DoeUnited KingdomElwin Sharvill NEW
Ricardo J CaldareraBrazilIoni Bowcher QUALIFIED
Murillo X WieserFranceOnyama Limba PROPOSAL
Ivar T SaylorsFranceElwin Sharvill NEGOTIATION
Julie J ButtFranceIoni Bowcher QUALIFIED
Jeanfrancois N AmigonRussiaStephen Shaw QUALIFIED
Leja O RoysterAustraliaAnna Fali PROPOSAL
Misaki I RulapaughCanadaBernardo Dominic NEW
David F MaletCanadaAmy Elsner QUALIFIED
Greenwood E BologniaIndiaAmy Elsner UNQUALIFIED
Ivar P BowleyAustraliaElwin Sharvill RENEWAL
Mayumi D DoeArgentinaStephen Shaw UNQUALIFIED
Costa V NestleSpainIoni Bowcher PROPOSAL
Adams O ButtUnited KingdomAsiya Javayant NEGOTIATION
Clifford Q NestleBrazilElwin Sharvill NEGOTIATION
Jennifer X GauchoItalyAnna Fali RENEWAL
Maria S MaletBrazilOnyama Limba PROPOSAL
Leja S WhobreyCanadaBernardo Dominic NEW
Faith Q NestleSpainOnyama Limba QUALIFIED
Ivar G FerenczAustraliaOnyama Limba NEGOTIATION
Leja N GarufiBrazilElwin Sharvill PROPOSAL
Stacey U KolmetzCanadaOnyama Limba RENEWAL
Aditya B KolmetzCanadaAsiya Javayant QUALIFIED
Deepesh H GillianGermanyIoni Bowcher UNQUALIFIED
Jeanfrancois E CaldareraFranceXuxue Feng QUALIFIED
Chavez X KuskoBrazilBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Antonio I SergiArgentinaBernardo Dominic NEW
Isabel Y KolmetzAustraliaIoni Bowcher RENEWAL
Rodrigues T InouyeBrazilAnna Fali NEW
Stacey H WaycottJapanAnna Fali NEW
Clifford W GlickFranceOnyama Limba QUALIFIED
Deepesh Z AlbaresBrazilAmy Elsner PROPOSAL
Morrow Y MarrierRussiaAsiya Javayant PROPOSAL
Francesco X OstroskyIndiaXuxue Feng QUALIFIED
Chavez Q KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Ivar N BologniaAustraliaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow T SchemmerCanada2026-10-13King, Christopher A Esq QUALIFIED0Xuxue Feng
1001Emily I CaldareraJapan2026-09-24Feiner Bros RENEWAL26Onyama Limba
1002Rodrigues Z FigeroaArgentina2026-09-18Rangoni Of Florence QUALIFIED52Stephen Shaw
1003Jennifer E BowleyCanada2026-09-15Truhlar And Truhlar Attys NEW35Asiya Javayant
1004Nicolas Z FollerAustralia2026-09-29Buckley Miller Wright QUALIFIED51Amy Elsner
1005Arvin V IturbideArgentina2026-09-20Chapman, Ross E Esq NEW76Elwin Sharvill
1006Emily W KuskoUnited Kingdom2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED69Onyama Limba
1007Adams S VenereCanada2026-10-07Chapman, Ross E Esq NEGOTIATION64Xuxue Feng
1008Munro D FollerItaly2026-10-01Dorl, James J Esq RENEWAL59Elwin Sharvill
1009Smith R GlickRussia2026-09-28Dorl, James J Esq NEGOTIATION44Ioni Bowcher
1010James P RutaIndia2026-09-30Commercial Press QUALIFIED98Amy Elsner
1011Greenwood Z OstroskyBrazil2026-10-09Benton, John B Jr NEW56Asiya Javayant
1012Wickens U ChuiIndia2026-09-28Chapman, Ross E Esq NEGOTIATION95Bernardo Dominic
1013Morrow R NestleArgentina2026-10-11Rangoni Of Florence NEW66Amy Elsner
1014Jones V WhobreyBrazil2026-09-17Buckley Miller Wright PROPOSAL31Ivan Magalhaes
1015Arvin X GlickAustralia2026-09-28Chemel, James L Cpa NEGOTIATION95Ivan Magalhaes
1016Francesco X VocelkaSpain2026-10-11Chemel, James L Cpa PROPOSAL72Anna Fali
1017Ricardo N KolmetzJapan2026-09-21Truhlar And Truhlar Attys UNQUALIFIED96Xuxue Feng
1018Mujtaba Q VenereUnited Kingdom2026-09-21Morlong Associates UNQUALIFIED87Anna Fali
1019Antonio Z KuskoRussia2026-09-19Benton, John B Jr QUALIFIED50Elwin Sharvill
1020Chavez I CampainItaly2026-09-24Chanay, Jeffrey A Esq QUALIFIED17Xuxue Feng
1021Kaitlin C FigeroaSpain2026-09-24Rangoni Of Florence QUALIFIED67Xuxue Feng
1022Maisha M ButtUnited Kingdom2026-09-22Rangoni Of Florence QUALIFIED44Elwin Sharvill
1023Smith W TollnerFrance2026-10-02Chanay, Jeffrey A Esq NEW29Ioni Bowcher
1024Adams Y DoeSpain2026-09-29Dorl, James J Esq PROPOSAL74Bernardo Dominic
1025Clifford C GlickUnited Kingdom2026-10-02Chemel, James L Cpa UNQUALIFIED79Anna Fali
1026Smith P RulapaughSpain2026-09-28Dorl, James J Esq UNQUALIFIED3Ioni Bowcher
1027Stacey T BriddickSpain2026-09-30Chemel, James L Cpa RENEWAL46Bernardo Dominic
1028Faith J ButtJapan2026-10-04Rangoni Of Florence UNQUALIFIED43Onyama Limba
1029Cody L PoquetteCanada2026-09-17Commercial Press NEW48Elwin Sharvill
1030Kaitlin F PerinSpain2026-09-19Chemel, James L Cpa NEW47Stephen Shaw
1031Salvatore F FerenczRussia2026-10-12Rangoni Of Florence UNQUALIFIED59Asiya Javayant
1032Jennifer C BriddickArgentina2026-09-27Buckley Miller Wright NEGOTIATION53Anna Fali
1033Leja M StockhamCanada2026-10-05Feltz Printing Service PROPOSAL25Xuxue Feng
1034Jeanfrancois I RutaAustralia2026-09-23King, Christopher A Esq PROPOSAL51Asiya Javayant
1035Leon E PaprockiGermany2026-10-14Feiner Bros NEW14Amy Elsner
1036Morrow D OstroskyUnited Kingdom2026-10-06Morlong Associates PROPOSAL6Ivan Magalhaes
1037Aruna V GillianUnited Kingdom2026-09-24Morlong Associates RENEWAL38Stephen Shaw
1038Francesco R InouyeFrance2026-10-07Feiner Bros NEGOTIATION20Stephen Shaw
1039Cody I ButtSpain2026-09-16Benton, John B Jr NEW86Ivan Magalhaes
1040Darci D MarrierSpain2026-09-18Morlong Associates RENEWAL33Asiya Javayant
1041Clifford S DilliardSpain2026-09-19King, Christopher A Esq UNQUALIFIED8Anna Fali
1042Antonio C DarakjyIndia2026-09-18Benton, John B Jr NEW95Bernardo Dominic
1043David S VocelkaGermany2026-09-15Printing Dimensions QUALIFIED7Ivan Magalhaes
1044Aruna O BriddickIndia2026-10-09Truhlar And Truhlar Attys NEW95Elwin Sharvill
1045Cody F SergiGermany2026-09-24Feiner Bros RENEWAL86Ivan Magalhaes
1046Aditya Z WieserIndia2026-09-24Chanay, Jeffrey A Esq PROPOSAL5Onyama Limba
1047Mujtaba E GillianAustralia2026-10-13Dorl, James J Esq NEGOTIATION19Onyama Limba
1048Wickens U OldroydSpain2026-10-08Rangoni Of Florence NEGOTIATION77Amy Elsner
1049Costa K CaldareraSpain2026-10-10Buckley Miller Wright NEGOTIATION58Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Silvio M ChuiBrazilIvan Magalhaes UNQUALIFIED
Murillo A FigeroaSpainAsiya Javayant NEW
Smith G FlosiIndiaAnna Fali UNQUALIFIED
Rodrigues B PoquetteFranceElwin Sharvill NEW
Smith L NickaAustraliaAmy Elsner UNQUALIFIED
James E NickaAustraliaStephen Shaw QUALIFIED
Ivar Z TollnerItalyXuxue Feng RENEWAL
Stacey I SergiRussiaAnna Fali NEW
Mujtaba P AlbaresRussiaXuxue Feng QUALIFIED
James W OldroydGermanyBernardo Dominic UNQUALIFIED
Salvatore U StockhamGermanyAnna Fali NEW
Julie U NestleCanadaBernardo Dominic NEGOTIATION
Silvio Z CaudyRussiaXuxue Feng RENEWAL
Darci B CampainIndiaIvan Magalhaes PROPOSAL
Tony O GarufiItalyBernardo Dominic NEGOTIATION
Leon G AmigonBrazilOnyama Limba QUALIFIED
Maria K VocelkaUnited KingdomAsiya Javayant NEGOTIATION
Clifford V SlusarskiItalyIoni Bowcher NEW
Emily T StockhamRussiaAsiya Javayant RENEWAL
Wickens G CampainJapanAsiya Javayant NEGOTIATION
Deepesh F CaudyArgentinaXuxue Feng NEW
Jefferson C DilliardCanadaAnna Fali RENEWAL
Johnson Y StockhamSpainIvan Magalhaes PROPOSAL
Maria L InouyeGermanyIoni Bowcher RENEWAL
Isabel B SlusarskiUnited KingdomStephen Shaw RENEWAL
Ricardo U MaletJapanIoni Bowcher NEW
Faith U WhobreyJapanIvan Magalhaes QUALIFIED
Mayumi Z DarakjyGermanyAnna Fali NEW
James S SergiAustraliaOnyama Limba NEW
Leon M RulapaughRussiaElwin Sharvill PROPOSAL
Wickens X GlickCanadaAsiya Javayant QUALIFIED
Aruna P AmigonGermanyIoni Bowcher PROPOSAL
Leon T KolmetzIndiaBernardo Dominic PROPOSAL
Leja I OstroskyCanadaStephen Shaw RENEWAL
Jefferson S FigeroaBrazilIvan Magalhaes QUALIFIED
Cody S GlickBrazilXuxue Feng RENEWAL
Nicolas D NickaItalyAnna Fali PROPOSAL
Claire R FollerUnited KingdomIoni Bowcher PROPOSAL
Mayumi K AmigonFranceXuxue Feng UNQUALIFIED
Ashley L SaylorsGermanyIoni Bowcher NEW
Deepesh D IturbideUnited KingdomAsiya Javayant UNQUALIFIED
Faith L FollerRussiaBernardo Dominic NEW
Greenwood X DilliardJapanStephen Shaw PROPOSAL
Isabel X StockhamUnited KingdomAsiya Javayant PROPOSAL
Costa C VenereArgentinaAsiya Javayant RENEWAL
Leja L WhobreyArgentinaAmy Elsner NEW
Jeanfrancois P VocelkaJapanElwin Sharvill NEGOTIATION
Costa X OldroydArgentinaOnyama Limba UNQUALIFIED
Leja C FigeroaArgentinaAsiya Javayant NEW
Misaki O VocelkaGermanyAmy Elsner PROPOSAL
Frozen Columns
Name
Cody X Campain
Jefferson H Morasca
Arvin U Saylors
Deepesh H Venere
Ricardo N Doe
Darci L Nestle
Cody D Garufi
Kaitlin W Kusko
Misaki V Albares
Faith K Amigon
Faith H Caudy
Isabel N Figeroa
Aruna X Venere
Ivar N Kolmetz
Silvio V Sergi
Aika I Campain
Antonio B Vocelka
Morrow I Tollner
Isabel U Vocelka
Wickens R Figeroa
David B Darakjy
Silvio U Ruta
Chavez E Rulapaugh
Johnson J Chui
Stacey X Nicka
Arvin I Butt
Ricardo K Garufi
Smith P Iturbide
Maria P Inouye
Tony R Saylors
Johnson U Perin
David X Tollner
Mujtaba J Waycott
Jeanfrancois T Foller
Johnson S Inouye
Alejandro T Saylors
Mayumi B Tollner
Chavez Q Perin
Kadeem L Gillian
Mujtaba E Kusko
Wickens G Bowley
Antonio A Bowley
Jeanfrancois Y Darakjy
Wickens K Stockham
Costa U Darakjy
Aika Z Amigon
Rodrigues V Saylors
Clifford J Rim
Johnson B Kolmetz
Izzy Y Rulapaugh
IdCountryDate
1000India2026-09-17
1001Argentina2026-10-06
1002Italy2026-10-08
1003India2026-10-05
1004Canada2026-09-21
1005Japan2026-09-16
1006Argentina2026-09-18
1007Argentina2026-10-12
1008Italy2026-09-18
1009Spain2026-09-19
1010Spain2026-09-21
1011Italy2026-09-30
1012Germany2026-09-20
1013Russia2026-10-02
1014India2026-10-07
1015Italy2026-10-13
1016Germany2026-09-30
1017United Kingdom2026-10-09
1018Germany2026-10-04
1019United Kingdom2026-09-24
1020Spain2026-10-08
1021France2026-09-18
1022Russia2026-10-03
1023Russia2026-09-30
1024Brazil2026-09-24
1025India2026-10-08
1026India2026-09-27
1027Italy2026-09-28
1028Italy2026-10-08
1029Japan2026-10-14
1030Brazil2026-09-26
1031India2026-09-24
1032France2026-09-26
1033France2026-09-15
1034Spain2026-10-06
1035Spain2026-10-13
1036Germany2026-09-18
1037France2026-10-02
1038Canada2026-09-23
1039Spain2026-09-15
1040Canada2026-09-21
1041India2026-10-01
1042Germany2026-10-10
1043Canada2026-10-12
1044Argentina2026-10-08
1045India2026-10-03
1046Italy2026-10-05
1047Brazil2026-10-05
1048Germany2026-10-08
1049Argentina2026-10-12

On-Demand Data

NameIdCountryDate
Ashley M Venere1000Brazil2026-10-03
Chavez D Morasca1001India2026-09-15
Jones U Nicka1002Brazil2026-10-06
Morrow F Doe1003Brazil2026-10-07
Jeanfrancois W Dilliard1004Canada2026-09-25
Antonio A Stenseth1005Argentina2026-10-11
Claire L Sergi1006Russia2026-10-14
Maisha S Gaucho1007Spain2026-09-24
Rodrigues V Inouye1008Canada2026-10-04
Alejandro E Whobrey1009Japan2026-09-18
Izzy U Marrier1010Spain2026-09-20
Leja L Kolmetz1011Spain2026-09-22
Octavia D Saylors1012Spain2026-10-05
Faith U Ostrosky1013Germany2026-10-07
Munro P Morasca1014Spain2026-09-18
Emily T Dilliard1015India2026-10-09
Octavia F Flosi1016India2026-09-21
Jones C Dilliard1017France2026-09-27
Deepesh T Whobrey1018Germany2026-09-20
Adams H Garufi1019Australia2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Q GlickUnited KingdomIvan Magalhaes UNQUALIFIED
Ashley N GlickCanadaBernardo Dominic NEW
Salvatore U WhobreyCanadaIoni Bowcher QUALIFIED
Deepesh A PerinFranceBernardo Dominic NEW
Cody G SlusarskiArgentinaAmy Elsner UNQUALIFIED
Misaki N RulapaughItalyIoni Bowcher QUALIFIED
Octavia Y WaycottGermanyIvan Magalhaes PROPOSAL
Sinclair B GillianFranceElwin Sharvill NEGOTIATION
Salvatore U DarakjyAustraliaStephen Shaw QUALIFIED
Mayumi L OstroskyCanadaAsiya Javayant NEGOTIATION
Nicolas G PerinCanadaIoni Bowcher NEGOTIATION
Wickens A WieserAustraliaXuxue Feng QUALIFIED
Jefferson A FollerCanadaOnyama Limba NEW
Aruna K AlbaresRussiaOnyama Limba PROPOSAL
Alejandro Q StockhamAustraliaIoni Bowcher UNQUALIFIED
Johnson F ChuiUnited KingdomAnna Fali NEGOTIATION
Isabel I FollerUnited KingdomXuxue Feng QUALIFIED
Antonio S DilliardRussiaBernardo Dominic QUALIFIED
David O WieserFranceElwin Sharvill NEW
Faith T WhobreyBrazilAnna Fali NEGOTIATION
Nicolas M NickaArgentinaIvan Magalhaes PROPOSAL
Alejandro N FigeroaRussiaIoni Bowcher NEGOTIATION
Stacey W SchemmerItalyOnyama Limba PROPOSAL
Murillo P MacleadJapanIvan Magalhaes NEGOTIATION
Wickens H FlosiBrazilAmy Elsner PROPOSAL
Maisha A GlickAustraliaElwin Sharvill RENEWAL
Jeanfrancois M KuskoBrazilXuxue Feng RENEWAL
Tony K DoeIndiaXuxue Feng PROPOSAL
Jefferson R PoquetteIndiaAmy Elsner PROPOSAL
Tony C NickaArgentinaBernardo Dominic UNQUALIFIED
Johnson X ChuiAustraliaStephen Shaw PROPOSAL
Maisha F TollnerJapanXuxue Feng RENEWAL
Greenwood I OstroskyArgentinaAnna Fali PROPOSAL
Silvio L WaycottIndiaAnna Fali QUALIFIED
Aruna A AmigonAustraliaAsiya Javayant RENEWAL
Ricardo G MacleadSpainOnyama Limba NEW
Silvio Q BowleyAustraliaElwin Sharvill UNQUALIFIED
Jeanfrancois O AmigonBrazilIoni Bowcher UNQUALIFIED
Salvatore X TollnerFranceAnna Fali QUALIFIED
Maria E RutaGermanyAnna Fali 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>