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
Deepesh S TollnerItalyAsiya Javayant QUALIFIED
Morrow N FollerRussiaAmy Elsner PROPOSAL
Costa T StockhamGermanyAnna Fali RENEWAL
Smith S InouyeArgentinaElwin Sharvill RENEWAL
Izzy G CaudyItalyElwin Sharvill PROPOSAL
Adams B RutaItalyAsiya Javayant PROPOSAL
Isabel I PoquetteSpainOnyama Limba QUALIFIED
Misaki T WieserItalyAmy Elsner NEW
Morrow J RimItalyStephen Shaw PROPOSAL
Adams C RulapaughJapanOnyama Limba UNQUALIFIED
Greenwood X BologniaArgentinaIvan Magalhaes NEW
Kaitlin D DarakjyBrazilAnna Fali RENEWAL
Morrow X AlbaresJapanAmy Elsner NEW
Silvio N PerinArgentinaOnyama Limba UNQUALIFIED
Antonio A SaylorsAustraliaElwin Sharvill QUALIFIED
Antonio Y DoeBrazilAmy Elsner PROPOSAL
Stacey M PoquetteFranceStephen Shaw NEW
Johnson Q RutaArgentinaOnyama Limba RENEWAL
Ashley A DilliardBrazilIoni Bowcher UNQUALIFIED
Chavez F RimCanadaAmy Elsner NEW
Kadeem I IturbideItalyIvan Magalhaes NEW
Johnson Z TollnerIndiaAnna Fali QUALIFIED
Antonio L SaylorsJapanAsiya Javayant PROPOSAL
Maria G MaletAustraliaAnna Fali RENEWAL
Adams A GauchoCanadaElwin Sharvill RENEWAL
Alejandro D CaldareraBrazilIoni Bowcher PROPOSAL
Faith M RutaArgentinaIvan Magalhaes UNQUALIFIED
Alejandro B PoquetteRussiaElwin Sharvill NEGOTIATION
Jeanfrancois F FlosiIndiaElwin Sharvill UNQUALIFIED
Izzy W NickaCanadaAnna Fali NEW
Octavia W KolmetzGermanyIoni Bowcher NEGOTIATION
Murillo S FollerIndiaAsiya Javayant NEGOTIATION
Maisha P SergiSpainIoni Bowcher PROPOSAL
Clifford A DilliardJapanElwin Sharvill UNQUALIFIED
Jeanfrancois F KuskoAustraliaBernardo Dominic PROPOSAL
Juan E AlbaresRussiaAnna Fali NEGOTIATION
Jefferson F MacleadAustraliaOnyama Limba PROPOSAL
Kaitlin P MacleadJapanXuxue Feng QUALIFIED
Faith B RulapaughAustraliaBernardo Dominic NEGOTIATION
Wickens S DilliardItalyIoni Bowcher NEGOTIATION
David P TollnerSpainOnyama Limba UNQUALIFIED
Francesco K RimIndiaBernardo Dominic PROPOSAL
Ivar J DarakjySpainAsiya Javayant PROPOSAL
Francesco G AlbaresGermanyXuxue Feng UNQUALIFIED
Stacey L WieserItalyXuxue Feng QUALIFIED
Ashley I VenereUnited KingdomBernardo Dominic NEGOTIATION
Darci R OstroskyBrazilAnna Fali QUALIFIED
Cody T ChuiJapanBernardo Dominic NEW
Claire F FerenczJapanAmy Elsner PROPOSAL
Francesco J MacleadRussiaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa U MorascaIndiaElwin Sharvill PROPOSAL
Alejandro M BriddickBrazilStephen Shaw NEGOTIATION
Johnson V TollnerSpainOnyama Limba NEGOTIATION
Emily Z DoeCanadaElwin Sharvill NEGOTIATION
Adams O WaycottBrazilAnna Fali NEW
Leja S BologniaIndiaElwin Sharvill NEW
Rodrigues P MorascaJapanElwin Sharvill RENEWAL
Izzy P FigeroaAustraliaBernardo Dominic UNQUALIFIED
Octavia A RulapaughFranceIoni Bowcher QUALIFIED
Cody A FigeroaJapanXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley X WieserArgentina2026-10-29Feltz Printing Service RENEWAL34Onyama Limba
1001Deepesh L PoquetteFrance2026-11-06Feltz Printing Service NEGOTIATION47Anna Fali
1002Darci W AlbaresSpain2026-11-08Feltz Printing Service NEW50Stephen Shaw
1003Antonio G KolmetzJapan2026-11-09Truhlar And Truhlar Attys PROPOSAL0Ivan Magalhaes
1004Munro I DoeFrance2026-11-14King, Christopher A Esq QUALIFIED9Xuxue Feng
1005Faith N DoeJapan2026-11-05Printing Dimensions QUALIFIED8Amy Elsner
1006Emily Z SchemmerJapan2026-11-03King, Christopher A Esq PROPOSAL58Amy Elsner
1007Claire Z ShinkoRussia2026-10-21Rousseaux, Michael Esq QUALIFIED44Elwin Sharvill
1008Johnson Y FerenczIndia2026-10-18Dorl, James J Esq QUALIFIED85Amy Elsner
1009Clifford W CaudyArgentina2026-10-17Truhlar And Truhlar Attys NEGOTIATION76Xuxue Feng
1010Izzy A ButtItaly2026-11-06Chanay, Jeffrey A Esq RENEWAL66Ivan Magalhaes
1011Morrow A WhobreyGermany2026-10-28Morlong Associates QUALIFIED20Anna Fali
1012Munro S ShinkoSpain2026-10-25King, Christopher A Esq PROPOSAL65Xuxue Feng
1013Claire F NickaItaly2026-11-14Feiner Bros QUALIFIED44Bernardo Dominic
1014Chavez R WieserFrance2026-10-25Truhlar And Truhlar Attys NEGOTIATION38Elwin Sharvill
1015Cody L GarufiRussia2026-10-27Dorl, James J Esq UNQUALIFIED3Ivan Magalhaes
1016Mujtaba Y GauchoJapan2026-10-17Benton, John B Jr NEGOTIATION45Bernardo Dominic
1017Jennifer Z ChuiJapan2026-10-18Truhlar And Truhlar Attys NEW19Ivan Magalhaes
1018Munro B WhobreyIndia2026-11-10Rousseaux, Michael Esq UNQUALIFIED24Ivan Magalhaes
1019Chavez N DarakjySpain2026-10-18Chapman, Ross E Esq NEGOTIATION71Bernardo Dominic
1020Silvio F StensethIndia2026-10-19Rangoni Of Florence RENEWAL17Anna Fali
1021Greenwood S ChuiFrance2026-10-22Feiner Bros NEGOTIATION48Stephen Shaw
1022James N WieserArgentina2026-10-19Commercial Press QUALIFIED63Ioni Bowcher
1023Adams Y FlosiBrazil2026-10-20Rangoni Of Florence PROPOSAL75Xuxue Feng
1024Jefferson X SlusarskiArgentina2026-11-04Feltz Printing Service QUALIFIED33Ivan Magalhaes
1025Juan K KolmetzFrance2026-10-31Buckley Miller Wright NEW34Ioni Bowcher
1026Deepesh U BologniaSpain2026-11-09Chanay, Jeffrey A Esq PROPOSAL18Ivan Magalhaes
1027Maisha Z BologniaCanada2026-11-05Chanay, Jeffrey A Esq RENEWAL16Ioni Bowcher
1028Silvio Z WieserCanada2026-11-13Commercial Press RENEWAL95Asiya Javayant
1029Costa G KolmetzItaly2026-11-06Truhlar And Truhlar Attys PROPOSAL65Elwin Sharvill
1030Ivar I GlickIndia2026-11-09Feiner Bros UNQUALIFIED81Anna Fali
1031Claire L TollnerAustralia2026-10-16Chanay, Jeffrey A Esq QUALIFIED71Ivan Magalhaes
1032Morrow Z RimAustralia2026-11-03Printing Dimensions PROPOSAL37Asiya Javayant
1033Julie A MacleadSpain2026-10-28Truhlar And Truhlar Attys RENEWAL97Stephen Shaw
1034Leon T NestleAustralia2026-10-23Benton, John B Jr NEGOTIATION25Elwin Sharvill
1035Aditya S DoeSpain2026-11-05Chanay, Jeffrey A Esq NEGOTIATION15Anna Fali
1036Morrow O NestleCanada2026-10-31Feltz Printing Service RENEWAL91Elwin Sharvill
1037Clifford U KolmetzBrazil2026-10-23Chapman, Ross E Esq QUALIFIED65Onyama Limba
1038Adams O OstroskyArgentina2026-10-24Morlong Associates QUALIFIED19Onyama Limba
1039Octavia G SaylorsRussia2026-11-07Feiner Bros RENEWAL42Ivan Magalhaes
1040Leon K NickaCanada2026-11-14Chapman, Ross E Esq RENEWAL21Anna Fali
1041Misaki H AlbaresSpain2026-10-16Chemel, James L Cpa NEW18Amy Elsner
1042Morrow P StensethIndia2026-10-29Dorl, James J Esq UNQUALIFIED6Xuxue Feng
1043Kaitlin P WaycottJapan2026-11-11King, Christopher A Esq PROPOSAL26Ioni Bowcher
1044Rodrigues E FollerIndia2026-10-20Feiner Bros QUALIFIED48Elwin Sharvill
1045Costa L VenereGermany2026-11-08Rangoni Of Florence PROPOSAL52Asiya Javayant
1046Aditya J FollerIndia2026-11-04Chapman, Ross E Esq NEGOTIATION66Onyama Limba
1047Octavia L RimBrazil2026-11-02Buckley Miller Wright QUALIFIED1Xuxue Feng
1048Jefferson P NickaUnited Kingdom2026-10-28Truhlar And Truhlar Attys NEGOTIATION56Amy Elsner
1049Ivar D OldroydAustralia2026-10-17Rousseaux, Michael Esq NEGOTIATION89Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Antonio Y SchemmerJapanIoni Bowcher RENEWAL
Maisha T CampainItalyOnyama Limba PROPOSAL
Ivar U OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Chavez Q DarakjyFranceIvan Magalhaes RENEWAL
Ashley B VocelkaGermanyElwin Sharvill UNQUALIFIED
Aruna S OstroskySpainOnyama Limba QUALIFIED
Tony E SaylorsFranceOnyama Limba PROPOSAL
Clifford Z DarakjyArgentinaElwin Sharvill QUALIFIED
Arvin K DilliardUnited KingdomAnna Fali NEGOTIATION
Johnson C VocelkaItalyAnna Fali RENEWAL
Ricardo B SchemmerSpainIoni Bowcher RENEWAL
Maria L ShinkoCanadaIvan Magalhaes NEGOTIATION
Ivar T ChuiBrazilElwin Sharvill QUALIFIED
Clifford T FigeroaFranceIvan Magalhaes NEW
Aditya Y RoysterRussiaElwin Sharvill QUALIFIED
Jeanfrancois B AlbaresCanadaAmy Elsner NEW
Deepesh L KuskoSpainIvan Magalhaes RENEWAL
Julie P FollerUnited KingdomXuxue Feng NEW
Darci J RulapaughUnited KingdomIvan Magalhaes QUALIFIED
Emily V CaudyGermanyOnyama Limba NEW
Silvio R StockhamJapanXuxue Feng PROPOSAL
Izzy M MaletAustraliaAsiya Javayant UNQUALIFIED
Chavez I KuskoCanadaOnyama Limba NEW
Faith F DarakjyGermanyBernardo Dominic NEW
Francesco N OldroydCanadaStephen Shaw PROPOSAL
Deepesh I SlusarskiUnited KingdomAsiya Javayant RENEWAL
Cody I StensethJapanAnna Fali RENEWAL
Ivar R MaletJapanAmy Elsner NEW
Maria Z MacleadUnited KingdomOnyama Limba NEW
Johnson S CampainArgentinaAnna Fali UNQUALIFIED
Aditya Q StensethGermanyIoni Bowcher PROPOSAL
Mayumi J DoeRussiaBernardo Dominic UNQUALIFIED
Arvin U KuskoIndiaStephen Shaw QUALIFIED
Mayumi C DoeArgentinaIoni Bowcher PROPOSAL
Cody C StockhamUnited KingdomIvan Magalhaes QUALIFIED
Leon B BriddickArgentinaBernardo Dominic NEGOTIATION
Johnson W ChuiIndiaAsiya Javayant UNQUALIFIED
Deepesh K DarakjySpainIvan Magalhaes NEGOTIATION
Kaitlin J OstroskyBrazilAsiya Javayant NEGOTIATION
Adams G SlusarskiBrazilAnna Fali PROPOSAL
Alejandro P MaletFranceAnna Fali NEW
Faith N GillianRussiaAnna Fali NEW
Octavia V OldroydSpainIoni Bowcher QUALIFIED
Ivar F BowleyItalyAsiya Javayant QUALIFIED
Maisha Y ButtIndiaOnyama Limba PROPOSAL
Chavez B ChuiBrazilAmy Elsner QUALIFIED
Stacey D GlickCanadaIoni Bowcher NEW
Kaitlin J SchemmerCanadaOnyama Limba UNQUALIFIED
Salvatore H OldroydBrazilAnna Fali UNQUALIFIED
Adams W RulapaughCanadaBernardo Dominic QUALIFIED
Frozen Columns
Name
Jefferson K Tollner
Faith I Garufi
Clifford R Stockham
Cody X Foller
Aika Y Venere
Maria D Briddick
Leon P Morasca
Ashley K Chui
Maisha C Amigon
Julie I Campain
Cody U Paprocki
Costa P Morasca
Johnson S Oldroyd
Mujtaba M Doe
Aruna Z Amigon
Aika T Albares
Darci S Whobrey
Kadeem W Nicka
Juan Q Ferencz
Cody S Bolognia
Murillo E Ostrosky
Johnson M Foller
Greenwood G Tollner
Izzy P Maclead
Ricardo M Briddick
Kaitlin W Royster
Sinclair T Stockham
Rodrigues P Albares
Kadeem W Malet
Sinclair Q Morasca
Ivar M Slusarski
Sinclair O Dilliard
Deepesh Q Venere
Alejandro N Whobrey
Aruna A Inouye
Greenwood I Caudy
Murillo K Gaucho
Jefferson H Rulapaugh
Julie L Royster
Clifford H Figeroa
Isabel S Saylors
Octavia H Whobrey
Darci C Briddick
Deepesh Q Garufi
Greenwood H Inouye
Adams R Shinko
Cody F Shinko
Deepesh Q Saylors
Darci I Malet
Greenwood N Malet
IdCountryDate
1000Japan2026-11-03
1001Japan2026-10-25
1002India2026-10-16
1003Japan2026-11-01
1004France2026-10-30
1005Spain2026-11-04
1006Japan2026-11-07
1007Canada2026-10-28
1008Spain2026-11-11
1009Spain2026-11-05
1010Japan2026-11-03
1011Germany2026-10-23
1012Brazil2026-10-18
1013France2026-10-30
1014Canada2026-10-31
1015Canada2026-10-25
1016Russia2026-11-03
1017France2026-10-31
1018Russia2026-10-20
1019Argentina2026-11-02
1020Spain2026-10-25
1021Argentina2026-11-10
1022Canada2026-10-27
1023Russia2026-10-20
1024Russia2026-11-03
1025Germany2026-11-07
1026France2026-11-11
1027France2026-10-24
1028Italy2026-11-10
1029France2026-11-10
1030Canada2026-11-06
1031Australia2026-10-30
1032India2026-10-21
1033France2026-10-22
1034Australia2026-10-20
1035Argentina2026-11-12
1036Argentina2026-11-07
1037Germany2026-11-10
1038Brazil2026-11-04
1039Germany2026-11-13
1040Brazil2026-10-28
1041Argentina2026-11-04
1042United Kingdom2026-10-24
1043Argentina2026-10-30
1044United Kingdom2026-10-19
1045Australia2026-11-11
1046Canada2026-11-02
1047Italy2026-10-26
1048India2026-11-06
1049France2026-11-09

On-Demand Data

NameIdCountryDate
Mayumi Z Morasca1000Spain2026-10-16
Silvio S Gaucho1001Brazil2026-10-29
Isabel S Wieser1002Japan2026-11-06
Ricardo G Marrier1003Canada2026-10-20
Jennifer R Stenseth1004Australia2026-11-07
Cody V Maclead1005France2026-10-25
Isabel Q Malet1006Spain2026-10-22
Claire U Rim1007India2026-10-19
Antonio D Glick1008Germany2026-10-29
Mayumi G Figeroa1009United Kingdom2026-10-16
Ricardo V Amigon1010Australia2026-11-10
David C Rim1011Brazil2026-10-30
Emily Q Nestle1012Australia2026-10-20
Antonio A Vocelka1013Italy2026-11-02
Maria A Stockham1014Germany2026-11-05
Jeanfrancois Q Oldroyd1015France2026-11-04
Smith K Iturbide1016Japan2026-11-07
Antonio N Glick1017France2026-11-02
Ivar A Bolognia1018Australia2026-11-05
Murillo J Waycott1019India2026-10-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith N MaletArgentinaOnyama Limba QUALIFIED
Ivar R RulapaughFranceStephen Shaw NEGOTIATION
Jefferson M RulapaughGermanyAnna Fali UNQUALIFIED
Jennifer V RoysterBrazilAsiya Javayant NEW
Johnson T VocelkaUnited KingdomIoni Bowcher NEW
Tony A RoysterRussiaIvan Magalhaes NEGOTIATION
Nicolas R CaudyJapanStephen Shaw RENEWAL
Munro P NestleArgentinaIoni Bowcher NEGOTIATION
Silvio D OldroydItalyAsiya Javayant PROPOSAL
Morrow T IturbideArgentinaXuxue Feng NEGOTIATION
Tony J MorascaCanadaIvan Magalhaes UNQUALIFIED
Nicolas U MaletCanadaElwin Sharvill QUALIFIED
Costa O GauchoGermanyAsiya Javayant PROPOSAL
Tony T DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Leon V RimGermanyIoni Bowcher NEGOTIATION
Isabel T RoysterFranceIvan Magalhaes RENEWAL
Jeanfrancois I KuskoArgentinaElwin Sharvill RENEWAL
Maisha F BologniaUnited KingdomBernardo Dominic NEW
Isabel M MacleadCanadaXuxue Feng UNQUALIFIED
Leon T KuskoSpainAsiya Javayant RENEWAL
Greenwood F CaudyFranceIoni Bowcher NEW
Ashley J ShinkoItalyElwin Sharvill RENEWAL
Jefferson W KolmetzItalyIvan Magalhaes NEW
Ricardo X GlickSpainAmy Elsner NEGOTIATION
Jefferson O FlosiCanadaIvan Magalhaes NEW
Greenwood I SlusarskiBrazilIvan Magalhaes NEW
Aruna T SaylorsArgentinaXuxue Feng NEGOTIATION
Johnson I MorascaUnited KingdomAsiya Javayant NEW
Maisha L ButtFranceOnyama Limba RENEWAL
Jefferson I SlusarskiJapanBernardo Dominic UNQUALIFIED
Aika O MarrierRussiaStephen Shaw UNQUALIFIED
Ashley M StockhamJapanStephen Shaw UNQUALIFIED
Darci J BowleySpainIoni Bowcher UNQUALIFIED
Izzy J GillianGermanyAsiya Javayant UNQUALIFIED
Claire L SlusarskiJapanOnyama Limba NEW
Sinclair P RoysterCanadaAmy Elsner NEGOTIATION
Ashley D FlosiFranceIoni Bowcher PROPOSAL
Ricardo J StensethIndiaStephen Shaw PROPOSAL
Darci X FlosiUnited KingdomElwin Sharvill NEW
Ivar P TollnerRussiaAmy Elsner UNQUALIFIED

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