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
Wickens U SaylorsBrazilBernardo Dominic UNQUALIFIED
Wickens U TollnerUnited KingdomAmy Elsner NEW
Isabel X PoquetteJapanElwin Sharvill PROPOSAL
David Z MacleadFranceXuxue Feng PROPOSAL
Emily C ChuiIndiaIvan Magalhaes RENEWAL
Chavez J AlbaresFranceOnyama Limba UNQUALIFIED
Antonio L VocelkaFranceAsiya Javayant RENEWAL
Smith J KolmetzCanadaElwin Sharvill UNQUALIFIED
Wickens R DoeGermanyIoni Bowcher UNQUALIFIED
Octavia C StensethCanadaXuxue Feng UNQUALIFIED
Ashley H MaletJapanIoni Bowcher RENEWAL
Francesco P AlbaresUnited KingdomIoni Bowcher NEGOTIATION
Izzy F KolmetzUnited KingdomElwin Sharvill QUALIFIED
Adams V ChuiUnited KingdomAmy Elsner UNQUALIFIED
Tony O ButtAustraliaAnna Fali RENEWAL
Claire M WaycottFranceElwin Sharvill UNQUALIFIED
Francesco I StockhamRussiaBernardo Dominic UNQUALIFIED
Octavia Q SlusarskiUnited KingdomOnyama Limba QUALIFIED
Wickens C ButtItalyAnna Fali UNQUALIFIED
Julie Z PaprockiGermanyXuxue Feng PROPOSAL
Wickens C BologniaIndiaAsiya Javayant RENEWAL
Aditya Y SlusarskiJapanIoni Bowcher RENEWAL
Morrow U AmigonGermanyElwin Sharvill QUALIFIED
Arvin S MarrierGermanyAsiya Javayant PROPOSAL
Leon W CampainBrazilIoni Bowcher UNQUALIFIED
Emily L MacleadIndiaStephen Shaw UNQUALIFIED
Clifford J MaletCanadaOnyama Limba QUALIFIED
Tony C DilliardRussiaAnna Fali UNQUALIFIED
Silvio I GillianJapanXuxue Feng QUALIFIED
Kadeem T VenereArgentinaAnna Fali NEGOTIATION
Julie B MaletAustraliaAsiya Javayant RENEWAL
Sinclair B InouyeIndiaXuxue Feng NEW
Kaitlin G GauchoArgentinaAsiya Javayant RENEWAL
Sinclair A FollerUnited KingdomAnna Fali NEGOTIATION
Julie O OldroydFranceIvan Magalhaes NEW
Ivar K BowleyGermanyXuxue Feng PROPOSAL
Jeanfrancois R InouyeIndiaElwin Sharvill NEGOTIATION
Alejandro E PoquetteFranceAsiya Javayant RENEWAL
James Z DoeAustraliaAmy Elsner NEGOTIATION
Johnson J StockhamArgentinaAmy Elsner UNQUALIFIED
Jones A MorascaGermanyXuxue Feng QUALIFIED
Ivar C AmigonBrazilAsiya Javayant PROPOSAL
Jennifer I SchemmerGermanyElwin Sharvill UNQUALIFIED
David M PoquetteArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois G GauchoAustraliaAnna Fali RENEWAL
Ricardo E KolmetzItalyIvan Magalhaes PROPOSAL
Adams T AlbaresArgentinaXuxue Feng PROPOSAL
Jennifer F GauchoAustraliaAsiya Javayant QUALIFIED
Leon K FollerItalyIvan Magalhaes RENEWAL
Smith O StockhamFranceAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Murillo K MarrierCanadaOnyama Limba PROPOSAL
Francesco B FerenczGermanyOnyama Limba PROPOSAL
Isabel N VenereArgentinaAsiya Javayant RENEWAL
Alejandro Z NestleSpainIvan Magalhaes NEW
Jennifer L TollnerIndiaElwin Sharvill RENEWAL
Jennifer F RimCanadaBernardo Dominic QUALIFIED
David Q AmigonCanadaIoni Bowcher RENEWAL
Maisha Z WhobreyCanadaAnna Fali RENEWAL
Smith K RutaBrazilAsiya Javayant QUALIFIED
Leon L AmigonAustraliaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan K StockhamJapan2026-10-17Morlong Associates RENEWAL15Bernardo Dominic
1001Salvatore K SlusarskiArgentina2026-11-04Feltz Printing Service RENEWAL62Anna Fali
1002Ricardo Z AmigonItaly2026-10-12Printing Dimensions QUALIFIED52Asiya Javayant
1003Darci F StockhamBrazil2026-10-12Truhlar And Truhlar Attys RENEWAL51Elwin Sharvill
1004Smith X CampainItaly2026-10-29Chemel, James L Cpa RENEWAL43Elwin Sharvill
1005Morrow W WhobreyJapan2026-10-30King, Christopher A Esq NEW62Xuxue Feng
1006David M DarakjyItaly2026-10-31King, Christopher A Esq QUALIFIED63Xuxue Feng
1007Ashley G FigeroaRussia2026-10-25Benton, John B Jr UNQUALIFIED70Asiya Javayant
1008Emily N BowleyGermany2026-10-27Morlong Associates UNQUALIFIED6Ivan Magalhaes
1009Octavia I SlusarskiBrazil2026-11-01Dorl, James J Esq PROPOSAL4Amy Elsner
1010Misaki Z MaletItaly2026-10-27Dorl, James J Esq QUALIFIED53Stephen Shaw
1011Misaki K FollerArgentina2026-10-17Feltz Printing Service PROPOSAL65Ioni Bowcher
1012Clifford F WieserItaly2026-10-15Feltz Printing Service QUALIFIED29Onyama Limba
1013Darci F VenereRussia2026-11-04Rousseaux, Michael Esq UNQUALIFIED97Ioni Bowcher
1014Salvatore H SaylorsJapan2026-11-01Dorl, James J Esq NEW57Ivan Magalhaes
1015Johnson T GauchoGermany2026-10-14Buckley Miller Wright RENEWAL34Onyama Limba
1016Claire V PaprockiUnited Kingdom2026-10-21Truhlar And Truhlar Attys NEGOTIATION37Elwin Sharvill
1017Deepesh Y RulapaughIndia2026-10-15Feltz Printing Service UNQUALIFIED29Stephen Shaw
1018Rodrigues K PaprockiItaly2026-10-21Rousseaux, Michael Esq QUALIFIED17Ivan Magalhaes
1019Isabel B KolmetzFrance2026-10-09Truhlar And Truhlar Attys QUALIFIED54Xuxue Feng
1020Tony T RimJapan2026-10-20Chemel, James L Cpa QUALIFIED40Asiya Javayant
1021Claire K OstroskyJapan2026-10-11Morlong Associates RENEWAL48Amy Elsner
1022Mujtaba U GauchoAustralia2026-10-30Printing Dimensions NEGOTIATION60Elwin Sharvill
1023Leon C FigeroaJapan2026-10-17King, Christopher A Esq RENEWAL78Ioni Bowcher
1024Rodrigues U WaycottIndia2026-11-06Commercial Press QUALIFIED41Amy Elsner
1025James N ChuiJapan2026-10-12Dorl, James J Esq UNQUALIFIED58Stephen Shaw
1026Kadeem D NestleBrazil2026-10-25Chapman, Ross E Esq NEW40Asiya Javayant
1027Julie H KuskoRussia2026-10-22Benton, John B Jr PROPOSAL38Elwin Sharvill
1028Morrow O IturbideGermany2026-11-04Commercial Press PROPOSAL29Anna Fali
1029Jeanfrancois J WhobreyItaly2026-10-27Rousseaux, Michael Esq PROPOSAL41Ioni Bowcher
1030Nicolas I RutaIndia2026-10-17Morlong Associates RENEWAL35Amy Elsner
1031Isabel S AlbaresAustralia2026-10-16Rangoni Of Florence NEGOTIATION39Asiya Javayant
1032Ashley Y RutaFrance2026-11-05Printing Dimensions UNQUALIFIED34Stephen Shaw
1033Silvio U PaprockiGermany2026-11-02Benton, John B Jr NEW38Bernardo Dominic
1034Jeanfrancois T FollerArgentina2026-10-11Feiner Bros NEGOTIATION77Anna Fali
1035Costa U VocelkaUnited Kingdom2026-10-09Printing Dimensions NEGOTIATION94Anna Fali
1036Costa J ButtBrazil2026-11-01Truhlar And Truhlar Attys NEGOTIATION46Asiya Javayant
1037Jeanfrancois M ShinkoIndia2026-10-24Morlong Associates PROPOSAL8Amy Elsner
1038Costa Q MorascaItaly2026-10-14Chapman, Ross E Esq UNQUALIFIED84Bernardo Dominic
1039Johnson W BologniaFrance2026-10-24Rangoni Of Florence QUALIFIED63Ivan Magalhaes
1040Octavia O ChuiSpain2026-11-01King, Christopher A Esq PROPOSAL75Onyama Limba
1041Darci J IturbideArgentina2026-10-09Feltz Printing Service NEGOTIATION39Ivan Magalhaes
1042Chavez Q TollnerCanada2026-10-31Feiner Bros UNQUALIFIED17Bernardo Dominic
1043Deepesh V OstroskyBrazil2026-10-26Morlong Associates QUALIFIED47Onyama Limba
1044Aika A CampainArgentina2026-11-01Chapman, Ross E Esq PROPOSAL73Amy Elsner
1045Aruna D IturbideRussia2026-11-02Chemel, James L Cpa RENEWAL16Anna Fali
1046Misaki B RulapaughUnited Kingdom2026-10-19Feltz Printing Service UNQUALIFIED75Onyama Limba
1047Silvio T OstroskyArgentina2026-10-14King, Christopher A Esq QUALIFIED92Asiya Javayant
1048Maisha X GauchoGermany2026-11-05Feltz Printing Service NEGOTIATION85Ivan Magalhaes
1049Stacey M KolmetzCanada2026-11-03Dorl, James J Esq RENEWAL32Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kadeem X RoysterCanadaElwin Sharvill UNQUALIFIED
Rodrigues E DarakjyFranceIoni Bowcher QUALIFIED
Jefferson H TollnerRussiaAsiya Javayant QUALIFIED
Murillo T PerinFranceOnyama Limba QUALIFIED
Morrow Y WhobreyRussiaStephen Shaw NEW
Stacey E SlusarskiItalyXuxue Feng UNQUALIFIED
Cody H ButtJapanBernardo Dominic RENEWAL
Adams N KolmetzSpainBernardo Dominic NEW
Kadeem M KolmetzIndiaAnna Fali NEGOTIATION
Wickens S FigeroaArgentinaAmy Elsner NEGOTIATION
Octavia Y CaldareraAustraliaAnna Fali QUALIFIED
Maisha I OldroydGermanyAmy Elsner QUALIFIED
Munro K ChuiItalyAmy Elsner PROPOSAL
Claire N SergiGermanyIoni Bowcher UNQUALIFIED
Maisha H KolmetzAustraliaStephen Shaw UNQUALIFIED
Isabel O GlickIndiaAsiya Javayant QUALIFIED
Maisha G ButtRussiaAsiya Javayant UNQUALIFIED
Morrow Y KolmetzBrazilBernardo Dominic UNQUALIFIED
Kaitlin L DilliardJapanOnyama Limba RENEWAL
Antonio D WaycottArgentinaIoni Bowcher NEGOTIATION
Murillo B InouyeItalyBernardo Dominic NEW
Octavia F SergiJapanAsiya Javayant NEGOTIATION
Faith K ShinkoSpainElwin Sharvill QUALIFIED
Faith G FigeroaArgentinaAmy Elsner NEGOTIATION
Wickens X OldroydGermanyBernardo Dominic NEGOTIATION
Murillo E InouyeIndiaAmy Elsner PROPOSAL
Rodrigues H ChuiJapanOnyama Limba QUALIFIED
Izzy N SchemmerItalyBernardo Dominic RENEWAL
Jefferson I SergiSpainAsiya Javayant PROPOSAL
Ivar X MarrierJapanAsiya Javayant PROPOSAL
Nicolas X GarufiItalyOnyama Limba QUALIFIED
Silvio Y IturbideRussiaAsiya Javayant NEGOTIATION
Misaki X KolmetzItalyOnyama Limba UNQUALIFIED
Aditya Z InouyeAustraliaAsiya Javayant PROPOSAL
Ivar F RulapaughCanadaAsiya Javayant NEW
Julie U GarufiCanadaAsiya Javayant NEGOTIATION
Maria H SergiAustraliaIvan Magalhaes PROPOSAL
Izzy N RimArgentinaIvan Magalhaes PROPOSAL
David Y WieserFranceXuxue Feng PROPOSAL
Stacey O SaylorsGermanyElwin Sharvill RENEWAL
Silvio G StensethIndiaOnyama Limba RENEWAL
Arvin E RoysterSpainAnna Fali RENEWAL
Clifford E MaletAustraliaAnna Fali UNQUALIFIED
Smith G MaletArgentinaElwin Sharvill NEW
Morrow R StensethArgentinaXuxue Feng NEW
Morrow U MarrierUnited KingdomElwin Sharvill NEW
Greenwood D CampainGermanyOnyama Limba NEGOTIATION
Aruna Q PoquetteSpainAnna Fali UNQUALIFIED
Ricardo T GillianFranceStephen Shaw QUALIFIED
Sinclair M RimCanadaIoni Bowcher QUALIFIED
Frozen Columns
Name
Kaitlin I Malet
Salvatore Z Rulapaugh
Kaitlin I Doe
Emily J Waycott
Nicolas O Amigon
Rodrigues C Dilliard
David V Shinko
Morrow W Rim
Morrow K Kolmetz
Greenwood A Foller
Misaki X Foller
Costa L Oldroyd
Maria O Rim
Costa K Stenseth
Leja U Royster
Munro E Malet
Stacey L Paprocki
Tony B Foller
Ivar W Saylors
Aika A Stockham
Mayumi B Campain
Claire S Amigon
Munro Y Ruta
Morrow S Malet
Aruna M Campain
Silvio T Foller
Wickens B Tollner
Clifford B Morasca
Arvin P Ostrosky
Silvio X Caldarera
Leja T Kolmetz
Stacey Y Perin
Ashley G Stenseth
Misaki A Sergi
Darci Y Malet
Costa H Glick
Costa X Chui
Jennifer P Perin
Chavez I Saylors
Adams D Kusko
Alejandro E Tollner
Ashley S Ruta
Munro X Slusarski
Izzy Q Rim
Wickens A Foller
Nicolas G Bowley
Greenwood S Rulapaugh
Smith P Foller
Johnson B Amigon
Smith R Caldarera
IdCountryDate
1000India2026-10-14
1001Australia2026-10-31
1002United Kingdom2026-10-24
1003Argentina2026-10-16
1004Argentina2026-10-19
1005Brazil2026-10-20
1006France2026-10-09
1007Italy2026-11-04
1008India2026-10-19
1009Germany2026-10-09
1010France2026-10-15
1011Brazil2026-10-21
1012Russia2026-10-09
1013Spain2026-10-21
1014United Kingdom2026-10-10
1015France2026-10-11
1016Canada2026-10-16
1017Russia2026-10-17
1018Japan2026-10-28
1019Australia2026-11-02
1020Argentina2026-10-18
1021Argentina2026-10-09
1022Australia2026-10-27
1023Italy2026-11-05
1024United Kingdom2026-10-22
1025Germany2026-11-04
1026Germany2026-10-23
1027Spain2026-11-06
1028Italy2026-10-18
1029India2026-10-19
1030Australia2026-11-01
1031Japan2026-11-07
1032Japan2026-10-14
1033France2026-10-13
1034Australia2026-10-12
1035Germany2026-10-30
1036Italy2026-10-16
1037Argentina2026-10-30
1038Germany2026-10-14
1039Germany2026-10-29
1040Australia2026-11-07
1041Brazil2026-10-23
1042Italy2026-10-26
1043Australia2026-10-25
1044Germany2026-10-22
1045Australia2026-11-06
1046Argentina2026-10-15
1047Germany2026-11-04
1048Italy2026-11-01
1049Canada2026-10-23

On-Demand Data

NameIdCountryDate
Cody Q Shinko1000Italy2026-10-24
Cody D Vocelka1001United Kingdom2026-10-25
Jefferson F Foller1002Argentina2026-10-26
Jones V Dilliard1003Spain2026-10-23
Maria K Bolognia1004Canada2026-10-15
Morrow M Chui1005Argentina2026-10-26
James A Amigon1006France2026-10-19
Kaitlin V Schemmer1007Japan2026-10-28
Juan R Shinko1008Russia2026-11-01
Silvio V Bowley1009Brazil2026-10-15
Murillo J Nestle1010Germany2026-10-29
Alejandro V Nicka1011Argentina2026-10-09
Kadeem A Paprocki1012India2026-10-23
Munro V Wieser1013Brazil2026-10-09
Kadeem L Poquette1014Japan2026-11-02
Antonio J Nestle1015Japan2026-10-14
James E Wieser1016France2026-10-21
Octavia J Tollner1017Australia2026-10-29
Antonio O Stenseth1018Argentina2026-10-19
Murillo W Malet1019Japan2026-11-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio A ChuiRussiaAnna Fali QUALIFIED
Maria F NickaBrazilXuxue Feng RENEWAL
Juan V ShinkoFranceAsiya Javayant RENEWAL
Chavez A OldroydSpainAsiya Javayant NEW
Octavia N TollnerAustraliaOnyama Limba NEGOTIATION
Isabel F CaudyIndiaOnyama Limba PROPOSAL
Salvatore O MaletIndiaIvan Magalhaes QUALIFIED
Izzy Y DilliardRussiaAmy Elsner NEGOTIATION
Clifford Q NestleCanadaAnna Fali UNQUALIFIED
Ivar I BowleyArgentinaBernardo Dominic QUALIFIED
Salvatore E CaldareraGermanyBernardo Dominic NEGOTIATION
Mayumi B BologniaGermanyBernardo Dominic PROPOSAL
Salvatore O AlbaresSpainIvan Magalhaes QUALIFIED
David T MarrierIndiaElwin Sharvill UNQUALIFIED
Murillo S AmigonGermanyAnna Fali NEW
Mujtaba E RimJapanXuxue Feng NEW
Adams F CaldareraBrazilOnyama Limba UNQUALIFIED
Aruna R ShinkoRussiaIoni Bowcher QUALIFIED
Claire U StockhamJapanAnna Fali NEW
Aruna V SlusarskiFranceXuxue Feng UNQUALIFIED
Costa S InouyeBrazilAsiya Javayant UNQUALIFIED
Murillo W StockhamBrazilElwin Sharvill PROPOSAL
Kadeem D WieserSpainOnyama Limba NEW
Leja W RutaSpainStephen Shaw NEW
David J FollerJapanXuxue Feng PROPOSAL
Wickens T WieserBrazilIvan Magalhaes RENEWAL
Ashley E MorascaSpainOnyama Limba NEGOTIATION
Murillo T FlosiFranceAsiya Javayant RENEWAL
Jones A GlickUnited KingdomIoni Bowcher PROPOSAL
Munro J InouyeGermanyAsiya Javayant UNQUALIFIED
Jeanfrancois N RoysterSpainIoni Bowcher RENEWAL
Aika O PerinArgentinaIvan Magalhaes QUALIFIED
Chavez L InouyeSpainOnyama Limba PROPOSAL
Nicolas E RulapaughIndiaElwin Sharvill RENEWAL
Silvio T PerinJapanAmy Elsner RENEWAL
Munro K DarakjyUnited KingdomBernardo Dominic UNQUALIFIED
Octavia D PerinIndiaXuxue Feng RENEWAL
Leon W PoquetteItalyAmy Elsner NEW
Aika K CampainBrazilAsiya Javayant RENEWAL
Kadeem I MorascaItalyAsiya Javayant 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>