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
Maisha B SergiBrazilAsiya Javayant QUALIFIED
Jennifer T BologniaJapanOnyama Limba NEW
Chavez H MaletArgentinaElwin Sharvill RENEWAL
Deepesh Y VenereCanadaStephen Shaw PROPOSAL
Alejandro R BowleyRussiaBernardo Dominic UNQUALIFIED
Rodrigues R AlbaresBrazilXuxue Feng RENEWAL
Arvin M AmigonJapanBernardo Dominic NEW
Wickens W SergiSpainIoni Bowcher NEGOTIATION
Mujtaba E WhobreyGermanyOnyama Limba RENEWAL
David I FigeroaIndiaAsiya Javayant NEGOTIATION
Greenwood D StockhamGermanyElwin Sharvill UNQUALIFIED
Ashley E MaletGermanyBernardo Dominic PROPOSAL
Silvio F CampainAustraliaAsiya Javayant QUALIFIED
Maria J SaylorsRussiaIoni Bowcher NEW
Salvatore B OldroydFranceAsiya Javayant UNQUALIFIED
David A WaycottBrazilBernardo Dominic NEGOTIATION
Claire R SchemmerJapanBernardo Dominic QUALIFIED
Mujtaba A GauchoIndiaOnyama Limba NEW
Jefferson Y RoysterIndiaBernardo Dominic NEGOTIATION
Mujtaba C FlosiGermanyAsiya Javayant RENEWAL
Stacey L AmigonUnited KingdomStephen Shaw RENEWAL
Julie M RutaGermanyElwin Sharvill PROPOSAL
Kadeem S NickaRussiaXuxue Feng QUALIFIED
Aditya A DarakjyIndiaBernardo Dominic QUALIFIED
Nicolas N InouyeCanadaBernardo Dominic NEGOTIATION
Antonio J PoquetteGermanyXuxue Feng RENEWAL
Jefferson D NestleAustraliaAmy Elsner QUALIFIED
Mujtaba F AlbaresArgentinaBernardo Dominic PROPOSAL
David T WaycottAustraliaElwin Sharvill PROPOSAL
Jennifer H GarufiSpainAnna Fali PROPOSAL
Morrow R SchemmerAustraliaXuxue Feng NEW
Arvin M BologniaUnited KingdomAnna Fali UNQUALIFIED
Morrow S RutaGermanyAmy Elsner PROPOSAL
Misaki I TollnerFranceAsiya Javayant QUALIFIED
Alejandro W PerinUnited KingdomIvan Magalhaes QUALIFIED
Misaki O CampainRussiaXuxue Feng NEW
David G CaldareraItalyStephen Shaw QUALIFIED
Leja V RimBrazilOnyama Limba NEGOTIATION
Faith Z MorascaJapanAmy Elsner NEW
Misaki U BriddickBrazilIvan Magalhaes UNQUALIFIED
Maisha C WieserRussiaOnyama Limba QUALIFIED
Misaki K FigeroaRussiaAnna Fali PROPOSAL
Cody G DoeSpainElwin Sharvill NEW
Misaki W DoeFranceIoni Bowcher RENEWAL
Deepesh Y FerenczJapanAsiya Javayant NEGOTIATION
Aruna P DilliardSpainAnna Fali QUALIFIED
Costa D FlosiRussiaBernardo Dominic NEW
Izzy M DarakjyAustraliaAnna Fali QUALIFIED
Aika Z RimRussiaBernardo Dominic QUALIFIED
Murillo R BologniaArgentinaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi D WieserGermanyStephen Shaw RENEWAL
Adams M BologniaArgentinaBernardo Dominic NEGOTIATION
Francesco D OstroskyIndiaAmy Elsner PROPOSAL
Murillo U StockhamSpainAsiya Javayant RENEWAL
Cody Z SergiBrazilAnna Fali PROPOSAL
Leon I StensethIndiaXuxue Feng NEW
Sinclair A MarrierFranceIoni Bowcher UNQUALIFIED
Antonio R GauchoBrazilOnyama Limba NEGOTIATION
Jones L StockhamUnited KingdomIvan Magalhaes NEW
Rodrigues P BriddickCanadaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony N RoysterUnited Kingdom2026-10-14Chapman, Ross E Esq NEGOTIATION99Bernardo Dominic
1001Smith I MorascaGermany2026-10-15Printing Dimensions NEW38Amy Elsner
1002Wickens J NestleFrance2026-10-26Chanay, Jeffrey A Esq RENEWAL97Onyama Limba
1003Ricardo A ButtUnited Kingdom2026-10-13Morlong Associates QUALIFIED91Xuxue Feng
1004Antonio S AmigonCanada2026-10-16Dorl, James J Esq NEW93Elwin Sharvill
1005Octavia Y AlbaresJapan2026-11-08Feiner Bros QUALIFIED32Onyama Limba
1006Aika U TollnerJapan2026-10-28Buckley Miller Wright QUALIFIED28Ivan Magalhaes
1007Leon Q BriddickGermany2026-10-12Chemel, James L Cpa RENEWAL27Anna Fali
1008Jefferson C RutaCanada2026-11-06Chanay, Jeffrey A Esq NEGOTIATION53Ivan Magalhaes
1009Morrow F RoysterFrance2026-11-07Printing Dimensions UNQUALIFIED47Ioni Bowcher
1010Aika W MaletRussia2026-11-03Buckley Miller Wright PROPOSAL9Asiya Javayant
1011Tony R ChuiCanada2026-10-20Chanay, Jeffrey A Esq NEW28Onyama Limba
1012Sinclair W AlbaresIndia2026-10-20Rousseaux, Michael Esq QUALIFIED70Asiya Javayant
1013Francesco P RoysterUnited Kingdom2026-10-11Printing Dimensions QUALIFIED32Xuxue Feng
1014Jeanfrancois G MacleadBrazil2026-10-11Rousseaux, Michael Esq RENEWAL45Ioni Bowcher
1015Octavia T RutaItaly2026-10-21Rousseaux, Michael Esq RENEWAL74Xuxue Feng
1016Sinclair G StockhamGermany2026-10-28Printing Dimensions PROPOSAL17Bernardo Dominic
1017Deepesh O KolmetzSpain2026-11-07Rousseaux, Michael Esq RENEWAL35Ioni Bowcher
1018Jones V OldroydCanada2026-11-03Commercial Press PROPOSAL35Amy Elsner
1019Julie L StockhamUnited Kingdom2026-10-11Buckley Miller Wright NEGOTIATION38Xuxue Feng
1020Kadeem C SchemmerSpain2026-10-29Feltz Printing Service NEGOTIATION97Asiya Javayant
1021Maisha M BologniaUnited Kingdom2026-10-17Chanay, Jeffrey A Esq UNQUALIFIED44Xuxue Feng
1022Maisha I ButtSpain2026-10-19Feiner Bros UNQUALIFIED85Amy Elsner
1023James D CampainGermany2026-10-22Truhlar And Truhlar Attys QUALIFIED61Asiya Javayant
1024Chavez L KuskoAustralia2026-11-01Rangoni Of Florence NEGOTIATION34Bernardo Dominic
1025David E PerinSpain2026-10-15Buckley Miller Wright NEW96Asiya Javayant
1026Smith N VocelkaAustralia2026-10-29Feltz Printing Service RENEWAL60Amy Elsner
1027Maisha R KolmetzCanada2026-11-01King, Christopher A Esq NEW57Ioni Bowcher
1028Smith N IturbideSpain2026-10-24Printing Dimensions PROPOSAL93Onyama Limba
1029Faith Q SchemmerSpain2026-11-05Rangoni Of Florence RENEWAL48Ivan Magalhaes
1030Juan K StensethJapan2026-10-27Chanay, Jeffrey A Esq NEW39Bernardo Dominic
1031Mujtaba E IturbideGermany2026-11-04Chemel, James L Cpa NEW9Amy Elsner
1032Clifford Z MarrierItaly2026-10-16King, Christopher A Esq NEGOTIATION59Xuxue Feng
1033Isabel C KolmetzSpain2026-10-25Commercial Press NEW40Onyama Limba
1034Kadeem A CampainBrazil2026-10-16Commercial Press RENEWAL35Xuxue Feng
1035Mayumi F ChuiAustralia2026-10-16Commercial Press PROPOSAL57Stephen Shaw
1036Jefferson I CaudyArgentina2026-10-18Morlong Associates NEW88Xuxue Feng
1037Clifford J RulapaughUnited Kingdom2026-10-18Rangoni Of Florence NEW90Bernardo Dominic
1038Mayumi P FollerJapan2026-10-13Benton, John B Jr NEGOTIATION25Asiya Javayant
1039Morrow Y VenereGermany2026-10-18Feiner Bros PROPOSAL48Elwin Sharvill
1040Kaitlin Q CampainFrance2026-10-25Chanay, Jeffrey A Esq UNQUALIFIED30Xuxue Feng
1041Maria X OstroskyUnited Kingdom2026-11-08Rousseaux, Michael Esq RENEWAL68Elwin Sharvill
1042Maisha J ButtRussia2026-10-12Chapman, Ross E Esq QUALIFIED13Stephen Shaw
1043Deepesh H BowleyBrazil2026-10-18Feiner Bros QUALIFIED96Ioni Bowcher
1044Antonio S IturbideIndia2026-10-12Commercial Press QUALIFIED62Bernardo Dominic
1045Mujtaba H PerinGermany2026-10-10King, Christopher A Esq RENEWAL18Xuxue Feng
1046Rodrigues Y NickaRussia2026-10-29Dorl, James J Esq PROPOSAL65Stephen Shaw
1047Ashley N PerinSpain2026-10-20Buckley Miller Wright NEGOTIATION43Elwin Sharvill
1048Deepesh O MarrierGermany2026-10-26King, Christopher A Esq UNQUALIFIED88Amy Elsner
1049Maria S VenereFrance2026-10-11Dorl, James J Esq PROPOSAL68Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Munro M CampainBrazilIvan Magalhaes RENEWAL
Kadeem M FlosiItalyOnyama Limba RENEWAL
Morrow O ButtGermanyBernardo Dominic RENEWAL
Aruna C MaletSpainAmy Elsner NEGOTIATION
Emily S AmigonAustraliaAnna Fali NEW
Jennifer S SergiGermanyAnna Fali PROPOSAL
Arvin W GlickSpainAnna Fali PROPOSAL
Aruna Z FlosiJapanAsiya Javayant PROPOSAL
James U RulapaughFranceXuxue Feng PROPOSAL
Wickens G NickaArgentinaAnna Fali NEGOTIATION
Izzy R RulapaughFranceElwin Sharvill UNQUALIFIED
Costa G CaudyFranceElwin Sharvill NEGOTIATION
Jefferson K PoquetteRussiaIoni Bowcher RENEWAL
Clifford L ChuiUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo M SchemmerCanadaIoni Bowcher NEW
Faith C MaletGermanyBernardo Dominic RENEWAL
Emily Y RimRussiaAsiya Javayant QUALIFIED
Francesco A OstroskyArgentinaAnna Fali QUALIFIED
David I BriddickBrazilOnyama Limba UNQUALIFIED
Deepesh A DoeIndiaAnna Fali PROPOSAL
Jeanfrancois Z KuskoGermanyIvan Magalhaes UNQUALIFIED
Ivar E FigeroaBrazilAsiya Javayant RENEWAL
Tony B MacleadArgentinaAnna Fali PROPOSAL
Kaitlin V StensethArgentinaStephen Shaw UNQUALIFIED
Alejandro T StockhamGermanyStephen Shaw UNQUALIFIED
Stacey T DarakjyItalyIoni Bowcher RENEWAL
Kadeem U BowleyGermanyBernardo Dominic NEW
Leja X DarakjyArgentinaIoni Bowcher PROPOSAL
Leon L WhobreyItalyIvan Magalhaes UNQUALIFIED
Darci K VenereAustraliaBernardo Dominic NEGOTIATION
Adams H MaletAustraliaOnyama Limba UNQUALIFIED
Murillo S MaletRussiaBernardo Dominic RENEWAL
Maisha E GillianBrazilAsiya Javayant RENEWAL
Aditya J IturbideUnited KingdomOnyama Limba PROPOSAL
Munro Q MarrierBrazilAsiya Javayant UNQUALIFIED
Rodrigues B RoysterBrazilAmy Elsner NEW
Arvin O SlusarskiItalyStephen Shaw PROPOSAL
Antonio F TollnerUnited KingdomElwin Sharvill UNQUALIFIED
David O FlosiUnited KingdomAmy Elsner UNQUALIFIED
Francesco W FollerIndiaIoni Bowcher NEW
Maisha O GauchoIndiaAmy Elsner PROPOSAL
Munro C MacleadArgentinaIoni Bowcher RENEWAL
Mujtaba Y TollnerUnited KingdomAsiya Javayant NEW
Wickens I PoquetteRussiaXuxue Feng UNQUALIFIED
Antonio Z NickaUnited KingdomIoni Bowcher NEW
Clifford X RoysterGermanyAsiya Javayant RENEWAL
Leon D FigeroaFranceXuxue Feng NEGOTIATION
Leja W MarrierGermanyAmy Elsner NEGOTIATION
Aika I WieserCanadaAsiya Javayant RENEWAL
Kaitlin B SchemmerFranceOnyama Limba NEW
Frozen Columns
Name
Maria Y Ferencz
Octavia S Royster
Deepesh F Saylors
Morrow U Amigon
Izzy N Butt
Aditya P Stenseth
Smith L Gillian
Claire F Glick
Nicolas W Dilliard
Emily B Albares
Ashley J Caldarera
Wickens J Royster
Jeanfrancois V Kusko
Alejandro P Ruta
Jennifer A Nestle
Ricardo B Paprocki
Mujtaba K Caldarera
Salvatore H Shinko
Silvio K Chui
Jefferson P Whobrey
Darci X Marrier
James Z Schemmer
Adams B Kusko
Murillo S Bowley
Aruna R Rim
Arvin N Sergi
Aruna G Caudy
Aika U Perin
Silvio U Sergi
Morrow T Foller
Aika Z Stockham
Julie H Albares
Ricardo M Darakjy
Claire B Bolognia
Nicolas F Kusko
Chavez P Ruta
Octavia R Poquette
Maria F Shinko
Juan R Kolmetz
Izzy T Flosi
Antonio L Figeroa
Ivar V Nicka
Stacey Z Nicka
Aika I Butt
Smith J Caudy
Emily U Campain
Julie C Kusko
Jones E Wieser
Jones X Figeroa
Greenwood Z Stockham
IdCountryDate
1000Argentina2026-10-12
1001United Kingdom2026-10-23
1002Italy2026-10-20
1003Japan2026-10-14
1004Canada2026-11-05
1005Spain2026-10-19
1006France2026-10-10
1007Spain2026-11-07
1008Japan2026-10-25
1009United Kingdom2026-10-31
1010Spain2026-10-26
1011Spain2026-11-02
1012Spain2026-11-07
1013India2026-10-19
1014Italy2026-10-29
1015Germany2026-10-13
1016Russia2026-10-25
1017France2026-11-01
1018France2026-11-07
1019Germany2026-10-11
1020Italy2026-10-14
1021Australia2026-10-31
1022India2026-10-25
1023India2026-10-29
1024Australia2026-10-21
1025Spain2026-10-14
1026Italy2026-10-10
1027Italy2026-10-21
1028Russia2026-10-14
1029Germany2026-10-25
1030Italy2026-10-28
1031Japan2026-10-13
1032France2026-10-30
1033Russia2026-10-17
1034Australia2026-10-23
1035Argentina2026-10-29
1036Canada2026-10-19
1037Argentina2026-10-21
1038Japan2026-11-02
1039Canada2026-11-07
1040Canada2026-10-24
1041United Kingdom2026-11-02
1042India2026-10-17
1043France2026-11-06
1044Brazil2026-11-04
1045Spain2026-10-22
1046Russia2026-10-14
1047Italy2026-11-07
1048Japan2026-11-02
1049Germany2026-10-26

On-Demand Data

NameIdCountryDate
Maria Z Marrier1000India2026-11-05
Mayumi G Inouye1001India2026-10-24
Clifford P Ruta1002United Kingdom2026-10-23
Misaki U Nicka1003United Kingdom2026-10-16
Octavia C Flosi1004United Kingdom2026-10-25
Wickens V Campain1005Italy2026-10-12
Murillo U Gillian1006Germany2026-10-16
Stacey W Schemmer1007Argentina2026-10-20
Aika X Venere1008Spain2026-10-21
Julie U Stockham1009Spain2026-10-27
Leja F Ferencz1010Italy2026-10-24
Arvin G Kolmetz1011United Kingdom2026-11-01
Mayumi W Marrier1012France2026-10-29
Claire C Foller1013Japan2026-10-18
Izzy K Venere1014Italy2026-10-26
Alejandro V Doe1015Australia2026-11-03
Wickens B Schemmer1016Argentina2026-10-14
Salvatore C Briddick1017Germany2026-10-21
Emily I Whobrey1018Italy2026-10-10
Johnson E Rim1019France2026-11-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem S ShinkoSpainStephen Shaw NEW
Johnson J FollerFranceIoni Bowcher QUALIFIED
Chavez Y FigeroaCanadaElwin Sharvill QUALIFIED
Maria R SergiGermanyIvan Magalhaes NEGOTIATION
Costa K KuskoIndiaAsiya Javayant NEW
Misaki D MaletSpainIoni Bowcher PROPOSAL
Smith Z CampainBrazilStephen Shaw PROPOSAL
Deepesh T KuskoGermanyAmy Elsner PROPOSAL
Octavia N MorascaGermanyAmy Elsner QUALIFIED
Maria Q WhobreyAustraliaElwin Sharvill NEW
Aruna O BriddickUnited KingdomAsiya Javayant PROPOSAL
Rodrigues W CampainJapanElwin Sharvill NEW
Francesco L MorascaFranceIoni Bowcher PROPOSAL
Costa X OldroydCanadaElwin Sharvill PROPOSAL
Aditya L PaprockiGermanyAsiya Javayant RENEWAL
Kadeem L AmigonCanadaXuxue Feng UNQUALIFIED
Claire D RutaIndiaAmy Elsner RENEWAL
Rodrigues N SlusarskiGermanyIoni Bowcher PROPOSAL
Deepesh N SaylorsCanadaBernardo Dominic PROPOSAL
Clifford I ShinkoJapanStephen Shaw UNQUALIFIED
Maisha Z MaletIndiaXuxue Feng QUALIFIED
Leja V SergiSpainBernardo Dominic NEGOTIATION
Claire H TollnerSpainAnna Fali QUALIFIED
Emily Q SchemmerIndiaIvan Magalhaes QUALIFIED
Darci C MaletItalyBernardo Dominic RENEWAL
James U KolmetzCanadaXuxue Feng NEW
Greenwood H SergiGermanyIvan Magalhaes NEGOTIATION
Juan O OldroydGermanyElwin Sharvill PROPOSAL
Alejandro Y RimRussiaXuxue Feng PROPOSAL
Ricardo N ButtAustraliaIoni Bowcher NEW
Mujtaba G FollerItalyAnna Fali UNQUALIFIED
Francesco H CaldareraUnited KingdomAmy Elsner NEW
Adams H RimAustraliaBernardo Dominic QUALIFIED
Misaki L ShinkoSpainIoni Bowcher PROPOSAL
Julie M SchemmerAustraliaAmy Elsner NEGOTIATION
Mayumi G CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Isabel M SergiBrazilOnyama Limba NEW
Deepesh F TollnerGermanyAnna Fali RENEWAL
Mayumi Z ButtIndiaAsiya Javayant QUALIFIED
Francesco S RimUnited KingdomIoni Bowcher 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>