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
Mayumi F InouyeJapanStephen Shaw PROPOSAL
Jones N InouyeCanadaIoni Bowcher UNQUALIFIED
Jefferson Z CaldareraFranceElwin Sharvill NEW
Leon N MarrierRussiaAnna Fali RENEWAL
Chavez D BowleyArgentinaStephen Shaw NEW
Emily K GarufiArgentinaElwin Sharvill NEGOTIATION
Jennifer I GlickUnited KingdomAnna Fali PROPOSAL
Kaitlin D AmigonJapanBernardo Dominic NEGOTIATION
Mujtaba R DoeJapanBernardo Dominic NEGOTIATION
Darci A KolmetzArgentinaOnyama Limba UNQUALIFIED
Maria M RulapaughArgentinaElwin Sharvill NEGOTIATION
Darci G RulapaughFranceAmy Elsner RENEWAL
David J FigeroaGermanyXuxue Feng UNQUALIFIED
Juan K AlbaresAustraliaAnna Fali UNQUALIFIED
James N WaycottCanadaAnna Fali QUALIFIED
Aika C RimIndiaIvan Magalhaes UNQUALIFIED
Ivar O ButtCanadaAsiya Javayant NEGOTIATION
Ivar D FlosiSpainIoni Bowcher NEW
Ashley Z CampainGermanyAsiya Javayant NEGOTIATION
Maria M WhobreyGermanyOnyama Limba QUALIFIED
Ashley Q WieserBrazilBernardo Dominic NEW
Octavia O WaycottUnited KingdomElwin Sharvill RENEWAL
Leja E RutaItalyAsiya Javayant RENEWAL
Adams O NestleAustraliaStephen Shaw NEW
Greenwood V MaletUnited KingdomOnyama Limba QUALIFIED
Chavez U WaycottBrazilAnna Fali RENEWAL
Maria A TollnerFranceAmy Elsner NEGOTIATION
Chavez M MaletJapanAmy Elsner QUALIFIED
Nicolas V AmigonUnited KingdomBernardo Dominic NEW
Salvatore B AmigonGermanyIvan Magalhaes NEW
Salvatore K KuskoCanadaOnyama Limba PROPOSAL
Smith V BologniaJapanAsiya Javayant PROPOSAL
Julie T NickaItalyOnyama Limba RENEWAL
Tony I VocelkaSpainAnna Fali PROPOSAL
Sinclair N WaycottRussiaAnna Fali QUALIFIED
Sinclair R PerinGermanyIvan Magalhaes RENEWAL
Deepesh J NestleArgentinaIoni Bowcher UNQUALIFIED
Johnson U GlickSpainIvan Magalhaes PROPOSAL
Clifford U GauchoIndiaStephen Shaw NEGOTIATION
Sinclair O WieserBrazilBernardo Dominic NEGOTIATION
Ricardo L WaycottCanadaAmy Elsner QUALIFIED
Clifford P RutaAustraliaStephen Shaw NEW
Alejandro C CaldareraBrazilIoni Bowcher PROPOSAL
Ivar W RutaGermanyAnna Fali RENEWAL
Deepesh B BowleyRussiaOnyama Limba QUALIFIED
Sinclair Q VocelkaItalyIvan Magalhaes NEGOTIATION
Ivar M OldroydSpainOnyama Limba RENEWAL
Chavez Y PerinCanadaAsiya Javayant QUALIFIED
Julie Z CaudyUnited KingdomOnyama Limba NEGOTIATION
Julie I RoysterRussiaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Juan Q InouyeJapanOnyama Limba PROPOSAL
Kadeem W DilliardSpainIvan Magalhaes QUALIFIED
Faith T WieserArgentinaXuxue Feng NEGOTIATION
Silvio M WhobreyUnited KingdomXuxue Feng NEGOTIATION
Adams S SergiUnited KingdomAmy Elsner UNQUALIFIED
Clifford U PerinAustraliaElwin Sharvill PROPOSAL
Smith G BowleyIndiaAsiya Javayant NEGOTIATION
Aruna F StockhamSpainAsiya Javayant UNQUALIFIED
Alejandro G GauchoSpainIvan Magalhaes UNQUALIFIED
Darci C DoeRussiaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco P SlusarskiCanada2026-09-19Truhlar And Truhlar Attys NEGOTIATION19Onyama Limba
1001Antonio I StensethAustralia2026-10-06Commercial Press NEW88Xuxue Feng
1002Mayumi Z NickaBrazil2026-09-20Benton, John B Jr NEGOTIATION92Anna Fali
1003Ivar L SlusarskiArgentina2026-09-21Chapman, Ross E Esq NEGOTIATION3Elwin Sharvill
1004Rodrigues U GlickUnited Kingdom2026-09-13Chanay, Jeffrey A Esq NEGOTIATION20Stephen Shaw
1005Murillo T RoysterCanada2026-09-11Benton, John B Jr UNQUALIFIED70Elwin Sharvill
1006Emily W FlosiUnited Kingdom2026-09-23Buckley Miller Wright NEW21Ioni Bowcher
1007Leja I ShinkoGermany2026-09-19Printing Dimensions RENEWAL13Xuxue Feng
1008Misaki O RoysterGermany2026-10-02Rousseaux, Michael Esq PROPOSAL1Ioni Bowcher
1009Kadeem Z BowleyAustralia2026-09-28Chapman, Ross E Esq RENEWAL66Onyama Limba
1010Ivar G RulapaughSpain2026-09-22Chapman, Ross E Esq RENEWAL86Stephen Shaw
1011Claire Y DoeRussia2026-10-07Truhlar And Truhlar Attys RENEWAL2Onyama Limba
1012Francesco Y IturbideItaly2026-09-25Rousseaux, Michael Esq RENEWAL8Bernardo Dominic
1013Jones R IturbideIndia2026-09-15Commercial Press NEW17Ivan Magalhaes
1014Stacey I DilliardUnited Kingdom2026-09-19Truhlar And Truhlar Attys UNQUALIFIED2Ioni Bowcher
1015Jennifer Z DilliardItaly2026-09-18Chanay, Jeffrey A Esq UNQUALIFIED37Ivan Magalhaes
1016David B NestleBrazil2026-09-08Chapman, Ross E Esq RENEWAL86Ivan Magalhaes
1017Tony C OldroydBrazil2026-09-14Chemel, James L Cpa NEGOTIATION75Asiya Javayant
1018Kadeem J PaprockiUnited Kingdom2026-10-01Rousseaux, Michael Esq NEW27Asiya Javayant
1019Ivar D CaldareraFrance2026-09-10King, Christopher A Esq NEW56Elwin Sharvill
1020Smith O FigeroaItaly2026-09-28King, Christopher A Esq NEW59Elwin Sharvill
1021Ricardo F GauchoBrazil2026-09-26Chemel, James L Cpa QUALIFIED76Onyama Limba
1022Izzy I BowleyJapan2026-09-10King, Christopher A Esq PROPOSAL58Ivan Magalhaes
1023Darci Q InouyeAustralia2026-09-25Rousseaux, Michael Esq QUALIFIED87Onyama Limba
1024Jones X OstroskyCanada2026-09-17Dorl, James J Esq UNQUALIFIED46Bernardo Dominic
1025Mayumi I RutaCanada2026-09-11Rangoni Of Florence PROPOSAL72Anna Fali
1026Stacey E KuskoFrance2026-09-27Truhlar And Truhlar Attys NEGOTIATION18Bernardo Dominic
1027Faith N WaycottJapan2026-09-24Buckley Miller Wright RENEWAL71Amy Elsner
1028Alejandro R DoeRussia2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED21Asiya Javayant
1029Stacey P AlbaresFrance2026-09-16Buckley Miller Wright QUALIFIED48Ioni Bowcher
1030Morrow P RimAustralia2026-10-06Printing Dimensions QUALIFIED75Anna Fali
1031Jefferson A ButtArgentina2026-10-04King, Christopher A Esq QUALIFIED42Xuxue Feng
1032Aditya G VenereGermany2026-10-07Printing Dimensions RENEWAL70Elwin Sharvill
1033Greenwood R FlosiArgentina2026-09-14Buckley Miller Wright NEW13Onyama Limba
1034Murillo M SergiJapan2026-09-08Feltz Printing Service QUALIFIED14Ioni Bowcher
1035Maria J RimJapan2026-09-30Commercial Press NEW25Stephen Shaw
1036Jefferson L GarufiJapan2026-09-11Truhlar And Truhlar Attys UNQUALIFIED47Ivan Magalhaes
1037Juan L MaletIndia2026-09-19Feiner Bros RENEWAL86Ivan Magalhaes
1038Morrow H KolmetzItaly2026-09-14Buckley Miller Wright UNQUALIFIED32Onyama Limba
1039Alejandro R RimFrance2026-09-08Commercial Press UNQUALIFIED30Onyama Limba
1040Kadeem M SaylorsRussia2026-09-30Morlong Associates PROPOSAL18Bernardo Dominic
1041Mujtaba L RimUnited Kingdom2026-09-25Chanay, Jeffrey A Esq PROPOSAL75Onyama Limba
1042Aruna K KuskoItaly2026-09-30Morlong Associates PROPOSAL97Asiya Javayant
1043Arvin W BowleyGermany2026-10-07Rangoni Of Florence RENEWAL16Ivan Magalhaes
1044Chavez C BriddickRussia2026-09-13Feltz Printing Service QUALIFIED86Ioni Bowcher
1045Faith Y SaylorsBrazil2026-10-07Commercial Press PROPOSAL88Onyama Limba
1046Morrow K OldroydGermany2026-09-22Commercial Press PROPOSAL81Elwin Sharvill
1047Jefferson V StensethBrazil2026-09-10Morlong Associates NEW89Onyama Limba
1048Leja R BologniaRussia2026-10-02Truhlar And Truhlar Attys UNQUALIFIED9Stephen Shaw
1049Faith P ShinkoAustralia2026-09-22Commercial Press NEW61Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leja F ShinkoItalyAsiya Javayant QUALIFIED
Sinclair O SlusarskiFranceBernardo Dominic NEGOTIATION
Cody L SergiItalyIvan Magalhaes PROPOSAL
Wickens L RimFranceBernardo Dominic RENEWAL
Murillo J FigeroaBrazilXuxue Feng PROPOSAL
Isabel X NickaIndiaOnyama Limba RENEWAL
Tony J BowleyGermanyAmy Elsner RENEWAL
Stacey X BriddickJapanAmy Elsner NEW
Kadeem V BowleySpainAnna Fali UNQUALIFIED
Munro J TollnerRussiaBernardo Dominic QUALIFIED
Chavez H PerinFranceAnna Fali NEW
Jones L DoeBrazilXuxue Feng QUALIFIED
Kaitlin J DilliardRussiaAnna Fali RENEWAL
Johnson T SergiCanadaXuxue Feng QUALIFIED
Smith L FigeroaItalyAmy Elsner NEW
Jones E PoquetteFranceStephen Shaw NEW
Mayumi C DilliardCanadaIvan Magalhaes NEW
Aika F SergiUnited KingdomAnna Fali RENEWAL
Julie M ShinkoJapanAnna Fali NEW
Leja A CaudySpainStephen Shaw RENEWAL
Aruna T DoeSpainAsiya Javayant NEGOTIATION
Johnson Z DarakjyAustraliaOnyama Limba PROPOSAL
Leja D ChuiGermanyAmy Elsner RENEWAL
David N TollnerFranceOnyama Limba PROPOSAL
Octavia R SergiGermanyBernardo Dominic NEW
Misaki I WhobreyRussiaElwin Sharvill NEW
Jefferson T BowleyGermanyIvan Magalhaes NEW
Sinclair G CaldareraSpainOnyama Limba UNQUALIFIED
Maria B BowleyUnited KingdomXuxue Feng NEW
Jefferson B SaylorsRussiaAnna Fali PROPOSAL
Francesco L GauchoUnited KingdomIvan Magalhaes QUALIFIED
Clifford Z FigeroaCanadaElwin Sharvill UNQUALIFIED
Salvatore H InouyeAustraliaIoni Bowcher UNQUALIFIED
Rodrigues N BowleyAustraliaAmy Elsner NEGOTIATION
Faith Q NestleIndiaIvan Magalhaes RENEWAL
Greenwood L CampainIndiaAsiya Javayant PROPOSAL
Jeanfrancois T StockhamRussiaAmy Elsner UNQUALIFIED
David C NickaGermanyAnna Fali PROPOSAL
James C GauchoRussiaBernardo Dominic NEGOTIATION
Maisha M GarufiArgentinaAmy Elsner QUALIFIED
Deepesh R AlbaresGermanyAnna Fali UNQUALIFIED
Tony B KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey G ChuiUnited KingdomAnna Fali NEW
David Z SergiAustraliaIoni Bowcher UNQUALIFIED
Antonio T RoysterBrazilOnyama Limba NEW
Julie P WaycottArgentinaAnna Fali NEGOTIATION
Tony S FigeroaRussiaStephen Shaw PROPOSAL
Rodrigues S RimItalyAnna Fali NEW
Silvio B DoeIndiaAsiya Javayant UNQUALIFIED
Salvatore Z PoquetteIndiaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Faith S Saylors
Munro V Shinko
Smith W Whobrey
Isabel W Gillian
Claire O Venere
Isabel Z Albares
Aditya R Iturbide
Octavia M Ruta
Claire T Gillian
Aika H Malet
Smith I Stenseth
Aditya Y Saylors
Jones T Rim
Aruna J Gaucho
Salvatore L Venere
Kaitlin J Morasca
David U Oldroyd
Nicolas L Caldarera
Greenwood V Saylors
Deepesh C Shinko
Chavez N Amigon
Kaitlin E Figeroa
Kaitlin F Stenseth
Juan K Schemmer
Antonio K Wieser
Ivar J Poquette
Aditya U Shinko
Arvin X Marrier
Jones C Flosi
Sinclair G Waycott
Claire W Vocelka
Faith A Caldarera
Alejandro X Shinko
Wickens G Kolmetz
Costa N Campain
Murillo R Darakjy
Isabel O Sergi
James L Rim
Murillo W Morasca
Faith C Sergi
Isabel J Butt
Silvio B Briddick
Greenwood C Nestle
Jennifer N Paprocki
Murillo C Amigon
Costa K Campain
Ivar T Gaucho
Aruna R Venere
Octavia A Oldroyd
Smith D Campain
IdCountryDate
1000Russia2026-09-26
1001Canada2026-10-06
1002Argentina2026-09-09
1003India2026-09-27
1004India2026-09-27
1005Italy2026-09-08
1006United Kingdom2026-10-01
1007Germany2026-09-16
1008France2026-09-08
1009Australia2026-09-25
1010Brazil2026-10-05
1011Spain2026-09-20
1012Spain2026-09-12
1013Argentina2026-09-16
1014Canada2026-09-28
1015Brazil2026-09-28
1016Italy2026-09-12
1017Brazil2026-09-23
1018United Kingdom2026-09-10
1019Germany2026-10-06
1020Argentina2026-09-24
1021France2026-09-14
1022India2026-09-16
1023Australia2026-10-02
1024Spain2026-10-07
1025Russia2026-09-18
1026Russia2026-09-08
1027Argentina2026-09-17
1028Canada2026-09-10
1029Australia2026-09-09
1030India2026-09-11
1031France2026-10-01
1032United Kingdom2026-09-26
1033India2026-10-03
1034United Kingdom2026-09-26
1035Spain2026-09-30
1036Japan2026-09-17
1037Japan2026-10-06
1038Germany2026-09-19
1039United Kingdom2026-09-11
1040Russia2026-10-01
1041Australia2026-09-11
1042Spain2026-10-04
1043Canada2026-09-30
1044Germany2026-10-06
1045Spain2026-09-12
1046Spain2026-10-07
1047Argentina2026-10-06
1048Australia2026-09-08
1049Japan2026-09-08

On-Demand Data

NameIdCountryDate
Maria O Perin1000Spain2026-10-04
Emily V Kusko1001Germany2026-10-02
Jennifer C Amigon1002United Kingdom2026-09-11
Ricardo C Paprocki1003Argentina2026-09-12
Izzy T Marrier1004India2026-09-19
Isabel G Figeroa1005Italy2026-09-13
Jones R Albares1006Brazil2026-09-11
Kadeem Z Shinko1007Spain2026-10-02
Morrow M Gillian1008Italy2026-09-29
Salvatore K Nestle1009United Kingdom2026-09-09
Stacey N Stockham1010Brazil2026-10-05
Maria Y Malet1011India2026-09-16
Adams X Albares1012Spain2026-09-15
Maisha Z Whobrey1013United Kingdom2026-09-23
Costa H Paprocki1014Germany2026-10-04
Greenwood D Briddick1015Canada2026-09-27
Greenwood G Butt1016Russia2026-10-01
Adams Y Sergi1017Japan2026-09-22
Mujtaba C Stockham1018Spain2026-10-04
Emily B Slusarski1019Argentina2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley L InouyeUnited KingdomElwin Sharvill PROPOSAL
Ashley X RimItalyBernardo Dominic PROPOSAL
Aika Y StensethGermanyElwin Sharvill RENEWAL
Mayumi W InouyeBrazilAsiya Javayant NEW
Faith C BologniaBrazilBernardo Dominic NEW
Stacey L ChuiGermanyAnna Fali QUALIFIED
Maria D TollnerBrazilBernardo Dominic QUALIFIED
Juan I NickaJapanBernardo Dominic QUALIFIED
Chavez G AmigonUnited KingdomXuxue Feng QUALIFIED
Kadeem F SchemmerSpainAmy Elsner UNQUALIFIED
Costa H SlusarskiBrazilIoni Bowcher PROPOSAL
Munro A NestleIndiaAnna Fali NEGOTIATION
Izzy Z GillianJapanAmy Elsner NEGOTIATION
Darci G GillianAustraliaBernardo Dominic PROPOSAL
Jones V CaldareraGermanyAnna Fali RENEWAL
Smith K WhobreySpainOnyama Limba RENEWAL
Jeanfrancois W FollerGermanyIvan Magalhaes NEGOTIATION
Smith V VocelkaCanadaStephen Shaw PROPOSAL
Nicolas E NickaRussiaIvan Magalhaes NEGOTIATION
Misaki G RulapaughJapanBernardo Dominic NEW
Claire K DarakjyArgentinaIvan Magalhaes NEGOTIATION
Kaitlin T FerenczUnited KingdomAmy Elsner UNQUALIFIED
Francesco M DoeGermanyIoni Bowcher NEW
Leja A CaudySpainAmy Elsner PROPOSAL
Julie V WhobreyGermanyAmy Elsner QUALIFIED
Isabel Z FlosiBrazilIoni Bowcher PROPOSAL
Morrow N WieserJapanBernardo Dominic NEGOTIATION
Misaki L OldroydJapanAsiya Javayant RENEWAL
Mayumi G DoeCanadaIvan Magalhaes QUALIFIED
Ricardo D OldroydIndiaAnna Fali PROPOSAL
Deepesh P SchemmerCanadaXuxue Feng QUALIFIED
Octavia G WieserCanadaXuxue Feng UNQUALIFIED
Smith D CaudyGermanyXuxue Feng NEW
Leja E BologniaArgentinaAnna Fali UNQUALIFIED
Salvatore U DoeGermanyBernardo Dominic PROPOSAL
Jennifer R FollerUnited KingdomOnyama Limba NEGOTIATION
Alejandro T RutaUnited KingdomIoni Bowcher NEW
Jennifer M WhobreyAustraliaAmy Elsner NEW
Chavez Q KolmetzBrazilStephen Shaw PROPOSAL
Murillo U InouyeArgentinaAmy Elsner RENEWAL

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