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
Clifford T VocelkaJapanBernardo Dominic UNQUALIFIED
Cody Z ButtCanadaElwin Sharvill NEW
Murillo O CampainSpainAsiya Javayant PROPOSAL
Wickens R MarrierRussiaAmy Elsner RENEWAL
Kaitlin F MaletFranceAnna Fali UNQUALIFIED
Leja G GlickIndiaIvan Magalhaes UNQUALIFIED
Costa S RoysterBrazilAmy Elsner PROPOSAL
Faith I RoysterIndiaAsiya Javayant QUALIFIED
Ashley R WaycottAustraliaXuxue Feng PROPOSAL
Kaitlin X NestleJapanAmy Elsner QUALIFIED
Deepesh Z GlickAustraliaIvan Magalhaes PROPOSAL
Arvin L GlickGermanyIvan Magalhaes QUALIFIED
Jones N MacleadArgentinaXuxue Feng UNQUALIFIED
Jefferson Q IturbideFranceStephen Shaw NEGOTIATION
Faith Y BriddickArgentinaBernardo Dominic NEGOTIATION
Aika B StensethBrazilXuxue Feng UNQUALIFIED
Mayumi L VocelkaUnited KingdomAnna Fali QUALIFIED
Salvatore W InouyeRussiaOnyama Limba PROPOSAL
Clifford L MacleadBrazilXuxue Feng QUALIFIED
Smith P GarufiCanadaXuxue Feng NEW
Julie O KolmetzGermanyAsiya Javayant PROPOSAL
Rodrigues V SlusarskiJapanElwin Sharvill RENEWAL
Clifford M FerenczGermanyAmy Elsner UNQUALIFIED
Munro P SchemmerRussiaXuxue Feng QUALIFIED
Faith V SchemmerItalyIvan Magalhaes NEW
Juan Y ButtCanadaXuxue Feng QUALIFIED
Emily A ShinkoRussiaStephen Shaw RENEWAL
Mayumi L MacleadBrazilElwin Sharvill UNQUALIFIED
Faith H CaldareraCanadaAnna Fali PROPOSAL
Izzy T GillianAustraliaAsiya Javayant QUALIFIED
David Y MaletUnited KingdomXuxue Feng NEW
Arvin M StockhamItalyElwin Sharvill NEW
Ricardo N DoeJapanOnyama Limba PROPOSAL
Alejandro F MaletRussiaXuxue Feng NEGOTIATION
Octavia W MorascaUnited KingdomAmy Elsner NEGOTIATION
Tony D BowleyAustraliaIvan Magalhaes NEW
Salvatore I GarufiIndiaAsiya Javayant NEGOTIATION
Julie Y CaudyGermanyStephen Shaw QUALIFIED
Isabel G MaletArgentinaBernardo Dominic RENEWAL
Octavia Z OldroydAustraliaAnna Fali QUALIFIED
Murillo V RoysterCanadaIoni Bowcher RENEWAL
Kaitlin B MarrierAustraliaAnna Fali QUALIFIED
Octavia X GauchoIndiaIvan Magalhaes NEGOTIATION
Claire G MaletUnited KingdomElwin Sharvill RENEWAL
Julie Y BowleyFranceStephen Shaw PROPOSAL
Ivar D OldroydSpainIoni Bowcher QUALIFIED
Sinclair N OldroydGermanyXuxue Feng UNQUALIFIED
Rodrigues W WieserAustraliaAnna Fali UNQUALIFIED
Aruna B OstroskyUnited KingdomAmy Elsner NEW
Jones K PaprockiCanadaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Isabel A ButtAustraliaAmy Elsner NEGOTIATION
Kaitlin W TollnerSpainOnyama Limba RENEWAL
Adams B MorascaAustraliaBernardo Dominic RENEWAL
Isabel S FigeroaIndiaAmy Elsner NEGOTIATION
Salvatore A StockhamAustraliaOnyama Limba NEW
Adams M ChuiAustraliaStephen Shaw NEW
Antonio D MacleadFranceAsiya Javayant UNQUALIFIED
Johnson S FollerIndiaAsiya Javayant NEW
Ashley A FerenczIndiaElwin Sharvill RENEWAL
Claire K NestleArgentinaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens E CaudyAustralia2026-09-27Printing Dimensions UNQUALIFIED87Ivan Magalhaes
1001Clifford R MacleadSpain2026-10-07Truhlar And Truhlar Attys UNQUALIFIED83Ioni Bowcher
1002Munro V ShinkoIndia2026-10-07Benton, John B Jr NEW93Ioni Bowcher
1003Aika E MaletItaly2026-10-08Chanay, Jeffrey A Esq RENEWAL19Bernardo Dominic
1004Leja B TollnerCanada2026-09-18Morlong Associates RENEWAL75Amy Elsner
1005Wickens G GillianGermany2026-09-27Chapman, Ross E Esq UNQUALIFIED71Ivan Magalhaes
1006Sinclair F GarufiGermany2026-09-21King, Christopher A Esq UNQUALIFIED51Amy Elsner
1007David J IturbideBrazil2026-09-27King, Christopher A Esq UNQUALIFIED9Bernardo Dominic
1008Ivar B MacleadBrazil2026-09-20Printing Dimensions NEGOTIATION44Amy Elsner
1009Costa O MorascaGermany2026-10-04Feiner Bros NEW93Anna Fali
1010Jeanfrancois Y BologniaItaly2026-09-16Commercial Press RENEWAL70Xuxue Feng
1011Ivar F SlusarskiFrance2026-10-07Printing Dimensions PROPOSAL91Ioni Bowcher
1012Chavez A GlickIndia2026-10-07Benton, John B Jr NEGOTIATION97Anna Fali
1013Johnson Z WieserIndia2026-09-28Commercial Press PROPOSAL69Onyama Limba
1014Aditya G SchemmerSpain2026-09-20Dorl, James J Esq NEW78Stephen Shaw
1015Adams U DilliardIndia2026-09-14Commercial Press UNQUALIFIED83Asiya Javayant
1016Kadeem M KolmetzAustralia2026-09-26Chapman, Ross E Esq UNQUALIFIED85Stephen Shaw
1017Arvin K FigeroaSpain2026-09-11Feiner Bros PROPOSAL18Elwin Sharvill
1018Johnson K ButtJapan2026-10-02Printing Dimensions NEGOTIATION31Asiya Javayant
1019Jones V SaylorsGermany2026-10-04King, Christopher A Esq NEW5Asiya Javayant
1020Antonio I MaletAustralia2026-09-23Commercial Press NEGOTIATION70Stephen Shaw
1021Maisha K PaprockiCanada2026-09-15Chapman, Ross E Esq NEGOTIATION24Xuxue Feng
1022Leja F OstroskyItaly2026-09-21King, Christopher A Esq RENEWAL86Stephen Shaw
1023Arvin S RoysterGermany2026-09-12Chemel, James L Cpa UNQUALIFIED84Stephen Shaw
1024Ivar K WaycottIndia2026-09-22Rangoni Of Florence NEW99Anna Fali
1025Clifford L FollerFrance2026-09-17Chanay, Jeffrey A Esq UNQUALIFIED26Stephen Shaw
1026Ricardo X DilliardSpain2026-09-27Benton, John B Jr NEW69Elwin Sharvill
1027Isabel A MaletIndia2026-09-19Feiner Bros NEGOTIATION16Ivan Magalhaes
1028Ivar D OstroskyBrazil2026-09-10Rangoni Of Florence NEW1Onyama Limba
1029Costa O MaletJapan2026-09-20Truhlar And Truhlar Attys QUALIFIED38Ioni Bowcher
1030Misaki K SlusarskiItaly2026-09-18Commercial Press NEW59Stephen Shaw
1031Costa V SchemmerFrance2026-09-30Chanay, Jeffrey A Esq RENEWAL19Ivan Magalhaes
1032Clifford O AmigonGermany2026-09-22Dorl, James J Esq PROPOSAL75Ioni Bowcher
1033Greenwood C PerinAustralia2026-10-06Truhlar And Truhlar Attys RENEWAL59Ioni Bowcher
1034Octavia R RoysterUnited Kingdom2026-10-04Chapman, Ross E Esq NEW79Xuxue Feng
1035Johnson J CampainBrazil2026-09-21Benton, John B Jr NEGOTIATION9Bernardo Dominic
1036Ashley D DilliardFrance2026-09-16King, Christopher A Esq PROPOSAL74Xuxue Feng
1037Murillo I SaylorsJapan2026-10-04Feltz Printing Service NEW20Ioni Bowcher
1038James W WieserArgentina2026-09-16King, Christopher A Esq NEW32Stephen Shaw
1039Nicolas I FerenczRussia2026-09-15Benton, John B Jr RENEWAL35Amy Elsner
1040Maria O NickaItaly2026-09-30Feiner Bros RENEWAL56Anna Fali
1041Kadeem S WieserJapan2026-09-23Dorl, James J Esq QUALIFIED33Bernardo Dominic
1042Aditya Y RulapaughIndia2026-09-16Benton, John B Jr NEW39Ioni Bowcher
1043Maria O CaudyGermany2026-09-11Chemel, James L Cpa PROPOSAL31Stephen Shaw
1044Chavez C AlbaresSpain2026-09-10Rangoni Of Florence QUALIFIED27Anna Fali
1045Francesco N IturbideFrance2026-09-22Truhlar And Truhlar Attys RENEWAL22Stephen Shaw
1046Claire G WieserFrance2026-09-21Morlong Associates UNQUALIFIED7Asiya Javayant
1047Wickens C StockhamUnited Kingdom2026-09-11Chanay, Jeffrey A Esq NEW48Stephen Shaw
1048Arvin B FigeroaArgentina2026-09-25Commercial Press NEGOTIATION15Bernardo Dominic
1049Claire S SchemmerArgentina2026-10-06Buckley Miller Wright NEGOTIATION92Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ashley Z FerenczAustraliaAmy Elsner QUALIFIED
Juan L SlusarskiIndiaXuxue Feng RENEWAL
Nicolas Q BriddickJapanIoni Bowcher NEW
Ivar U ShinkoUnited KingdomAnna Fali UNQUALIFIED
Munro H AmigonRussiaAnna Fali UNQUALIFIED
Aruna Z SlusarskiItalyElwin Sharvill NEGOTIATION
Wickens K ChuiRussiaAmy Elsner QUALIFIED
Tony N DoeAustraliaBernardo Dominic RENEWAL
Stacey D MaletIndiaOnyama Limba QUALIFIED
Rodrigues W ChuiAustraliaOnyama Limba RENEWAL
Tony X FollerGermanyIvan Magalhaes NEGOTIATION
Chavez E CaldareraCanadaStephen Shaw RENEWAL
Juan M WhobreySpainStephen Shaw UNQUALIFIED
Francesco J CaldareraArgentinaElwin Sharvill NEW
Jennifer Q BowleySpainAmy Elsner NEGOTIATION
Ricardo C MacleadJapanAsiya Javayant UNQUALIFIED
Ivar P VenereGermanyAsiya Javayant RENEWAL
Aika L GarufiRussiaBernardo Dominic UNQUALIFIED
Juan O SchemmerAustraliaAnna Fali UNQUALIFIED
Sinclair V RimFranceXuxue Feng PROPOSAL
Julie J StensethItalyXuxue Feng RENEWAL
Darci Q StensethArgentinaBernardo Dominic NEW
Wickens A GauchoSpainStephen Shaw RENEWAL
Leon K FigeroaBrazilIoni Bowcher PROPOSAL
Sinclair G GarufiGermanyBernardo Dominic UNQUALIFIED
Jeanfrancois A MaletFranceBernardo Dominic UNQUALIFIED
Nicolas G VocelkaFranceIoni Bowcher UNQUALIFIED
Deepesh E KuskoItalyAsiya Javayant QUALIFIED
Leja T FollerCanadaIvan Magalhaes UNQUALIFIED
Tony V StockhamFranceAmy Elsner NEGOTIATION
Deepesh G CaldareraBrazilStephen Shaw UNQUALIFIED
Silvio A RoysterAustraliaElwin Sharvill RENEWAL
David V ChuiArgentinaAnna Fali NEGOTIATION
Leon E PaprockiCanadaIoni Bowcher QUALIFIED
Isabel A WieserItalyAsiya Javayant RENEWAL
Chavez M CampainAustraliaStephen Shaw QUALIFIED
Salvatore C GillianItalyAsiya Javayant NEGOTIATION
Tony C RutaBrazilIvan Magalhaes NEW
Aditya E CaudyCanadaBernardo Dominic UNQUALIFIED
Smith Y CampainBrazilOnyama Limba NEW
Mujtaba L FollerArgentinaStephen Shaw QUALIFIED
Aditya O OldroydFranceStephen Shaw NEGOTIATION
Jones K CaudyFranceAsiya Javayant RENEWAL
Ricardo Y VocelkaRussiaElwin Sharvill UNQUALIFIED
Deepesh D MacleadCanadaAsiya Javayant QUALIFIED
Alejandro T NestleJapanBernardo Dominic NEGOTIATION
Antonio X PoquetteItalyIoni Bowcher PROPOSAL
Mujtaba M WieserCanadaIvan Magalhaes RENEWAL
Mujtaba K WaycottSpainOnyama Limba NEGOTIATION
Emily S SergiGermanyIvan Magalhaes QUALIFIED
Frozen Columns
Name
Nicolas U Inouye
Mujtaba C Darakjy
Greenwood P Malet
Juan Q Darakjy
Aruna X Whobrey
Emily I Ruta
Maisha S Slusarski
Rodrigues Q Garufi
Silvio Z Slusarski
Jennifer C Malet
Ivar S Briddick
Jones G Chui
Misaki V Iturbide
Maisha M Flosi
Nicolas J Kusko
Misaki V Albares
Aditya O Stockham
Leja G Amigon
Chavez W Waycott
Mayumi S Ostrosky
Ricardo W Stenseth
Isabel C Maclead
Darci E Garufi
Maisha Y Butt
Greenwood J Venere
Johnson H Ostrosky
Cody X Oldroyd
Salvatore P Oldroyd
Ashley I Kusko
Izzy G Flosi
Francesco H Stenseth
Adams R Figeroa
Mayumi Z Maclead
Claire S Briddick
Antonio N Campain
Nicolas N Albares
Jones E Foller
Nicolas X Sergi
David O Sergi
Mujtaba N Campain
Chavez T Stockham
David B Poquette
Antonio Q Perin
Mujtaba W Rulapaugh
James U Chui
Nicolas Z Amigon
Antonio L Gillian
Cody G Darakjy
Arvin D Foller
Ivar Q Tollner
IdCountryDate
1000Argentina2026-09-13
1001Germany2026-09-27
1002United Kingdom2026-09-19
1003Russia2026-10-08
1004Australia2026-09-18
1005Germany2026-09-12
1006Brazil2026-10-07
1007Brazil2026-09-23
1008United Kingdom2026-10-06
1009Spain2026-10-07
1010Germany2026-09-12
1011Japan2026-09-22
1012Argentina2026-09-19
1013Japan2026-09-10
1014Brazil2026-09-19
1015Italy2026-10-02
1016Russia2026-09-14
1017Spain2026-10-02
1018Italy2026-10-07
1019Argentina2026-10-07
1020Australia2026-09-29
1021India2026-09-10
1022Spain2026-09-16
1023Argentina2026-09-11
1024Argentina2026-09-29
1025Spain2026-09-28
1026France2026-10-05
1027Spain2026-09-20
1028India2026-09-23
1029Australia2026-09-22
1030Italy2026-09-17
1031Argentina2026-09-19
1032India2026-10-06
1033Canada2026-09-14
1034Italy2026-10-04
1035Italy2026-09-12
1036France2026-10-05
1037United Kingdom2026-09-29
1038United Kingdom2026-09-25
1039Russia2026-09-26
1040Japan2026-09-23
1041Spain2026-10-02
1042United Kingdom2026-09-22
1043Australia2026-10-05
1044India2026-10-03
1045Germany2026-10-09
1046Spain2026-09-12
1047Argentina2026-09-11
1048India2026-09-24
1049Spain2026-10-08

On-Demand Data

NameIdCountryDate
Jeanfrancois F Butt1000France2026-09-30
Emily T Stenseth1001Italy2026-10-02
Claire L Flosi1002Germany2026-09-13
Jones Y Rulapaugh1003Spain2026-09-27
Nicolas Q Chui1004Spain2026-09-10
Arvin A Morasca1005Australia2026-09-28
Cody L Poquette1006Italy2026-09-10
Juan V Marrier1007Canada2026-09-17
Ashley V Rulapaugh1008Germany2026-10-02
Izzy C Stockham1009Canada2026-09-23
Clifford L Bowley1010France2026-09-19
Ashley C Bowley1011Brazil2026-10-07
Wickens V Nestle1012Australia2026-09-11
Silvio S Poquette1013United Kingdom2026-09-24
Jeanfrancois B Glick1014Italy2026-09-28
Aditya R Glick1015India2026-09-10
Leja I Paprocki1016Germany2026-09-18
Stacey J Saylors1017Argentina2026-10-07
Alejandro T Inouye1018Japan2026-10-05
Faith B Ostrosky1019Australia2026-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson I SlusarskiBrazilIoni Bowcher NEGOTIATION
Emily U PerinUnited KingdomIoni Bowcher NEGOTIATION
Alejandro W ButtSpainAnna Fali NEW
Aruna J GlickAustraliaAmy Elsner QUALIFIED
Jefferson T SaylorsCanadaAnna Fali NEGOTIATION
Aditya H IturbideGermanyXuxue Feng QUALIFIED
Silvio H TollnerAustraliaOnyama Limba NEGOTIATION
Jennifer K RulapaughGermanyAsiya Javayant UNQUALIFIED
Izzy U RoysterJapanIvan Magalhaes UNQUALIFIED
Chavez J FlosiRussiaAnna Fali QUALIFIED
Jefferson S BriddickAustraliaAsiya Javayant NEGOTIATION
Antonio U BowleyRussiaAnna Fali QUALIFIED
Leja N VenereAustraliaElwin Sharvill RENEWAL
Leon B RutaCanadaAnna Fali UNQUALIFIED
Emily N SergiArgentinaStephen Shaw NEW
Antonio A SergiFranceXuxue Feng UNQUALIFIED
Leon E BriddickBrazilAsiya Javayant NEGOTIATION
Aika N AmigonArgentinaElwin Sharvill RENEWAL
Emily P SchemmerCanadaAmy Elsner NEGOTIATION
Aruna J PerinAustraliaBernardo Dominic RENEWAL
Leon A OstroskySpainBernardo Dominic NEW
Julie G MaletCanadaAsiya Javayant QUALIFIED
Mayumi D WieserCanadaOnyama Limba NEGOTIATION
Isabel Z GillianGermanyIoni Bowcher UNQUALIFIED
Cody C CaudySpainIvan Magalhaes UNQUALIFIED
Mujtaba Y GarufiAustraliaIoni Bowcher UNQUALIFIED
Octavia V DilliardJapanIoni Bowcher UNQUALIFIED
Silvio J MorascaAustraliaAnna Fali PROPOSAL
Mayumi H FigeroaRussiaIvan Magalhaes UNQUALIFIED
Costa P BriddickIndiaIoni Bowcher NEW
Clifford J StensethFranceIvan Magalhaes PROPOSAL
Tony U DoeBrazilAsiya Javayant RENEWAL
Arvin P GarufiGermanyIvan Magalhaes NEW
Jones K PoquetteUnited KingdomAmy Elsner RENEWAL
Rodrigues L ChuiGermanyAsiya Javayant UNQUALIFIED
Julie H BologniaUnited KingdomAsiya Javayant QUALIFIED
David I SchemmerCanadaAmy Elsner UNQUALIFIED
Julie B GauchoIndiaAmy Elsner NEW
Wickens S MorascaJapanAmy Elsner NEGOTIATION
Murillo T TollnerRussiaAnna Fali NEGOTIATION

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