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
Smith M GillianItalyBernardo Dominic RENEWAL
Darci L PaprockiUnited KingdomIvan Magalhaes PROPOSAL
Greenwood R SergiAustraliaElwin Sharvill UNQUALIFIED
Smith Z OstroskySpainAsiya Javayant RENEWAL
Leon U MacleadAustraliaStephen Shaw UNQUALIFIED
Clifford J RulapaughItalyIvan Magalhaes PROPOSAL
Julie G CaudyArgentinaIoni Bowcher QUALIFIED
Leja B DilliardGermanyIvan Magalhaes PROPOSAL
Mayumi E SaylorsCanadaStephen Shaw NEW
Ashley U FollerCanadaStephen Shaw QUALIFIED
Adams F GlickUnited KingdomOnyama Limba PROPOSAL
Arvin X CaudyJapanAsiya Javayant NEGOTIATION
Jefferson G CaudyBrazilAsiya Javayant NEGOTIATION
Octavia T PaprockiUnited KingdomIoni Bowcher QUALIFIED
Nicolas Y MaletUnited KingdomStephen Shaw QUALIFIED
Stacey S ButtRussiaIvan Magalhaes RENEWAL
Juan D KuskoIndiaIoni Bowcher PROPOSAL
Rodrigues R CaldareraGermanyStephen Shaw UNQUALIFIED
Sinclair I DilliardJapanAsiya Javayant UNQUALIFIED
Ashley R GarufiGermanyStephen Shaw PROPOSAL
Claire U GillianUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel N SergiItalyIvan Magalhaes UNQUALIFIED
Johnson J TollnerCanadaIvan Magalhaes PROPOSAL
Wickens I FerenczSpainElwin Sharvill RENEWAL
Leja Y FlosiGermanyOnyama Limba PROPOSAL
Cody K GlickCanadaBernardo Dominic UNQUALIFIED
Wickens A OldroydBrazilAsiya Javayant UNQUALIFIED
Isabel F WhobreyBrazilIvan Magalhaes NEGOTIATION
Ashley G BologniaArgentinaIoni Bowcher QUALIFIED
Silvio U StensethBrazilAmy Elsner QUALIFIED
Wickens M WhobreyAustraliaAsiya Javayant UNQUALIFIED
Murillo Z ButtItalyAnna Fali QUALIFIED
Cody A DilliardRussiaOnyama Limba RENEWAL
Kaitlin X ButtGermanyIoni Bowcher NEGOTIATION
Wickens G AmigonAustraliaIoni Bowcher NEW
Isabel H SchemmerCanadaOnyama Limba PROPOSAL
Johnson A CampainAustraliaIvan Magalhaes NEGOTIATION
Leja I SlusarskiFranceAnna Fali NEGOTIATION
Jones C DoeSpainElwin Sharvill PROPOSAL
Aika F VenereFranceIvan Magalhaes PROPOSAL
Octavia G ButtFranceXuxue Feng QUALIFIED
Maisha N StockhamIndiaOnyama Limba UNQUALIFIED
Misaki D IturbideCanadaAnna Fali NEW
Leon Y CaudyAustraliaXuxue Feng QUALIFIED
Nicolas K OldroydFranceIvan Magalhaes UNQUALIFIED
Wickens P BriddickArgentinaBernardo Dominic NEGOTIATION
Ashley O AlbaresAustraliaIvan Magalhaes NEGOTIATION
Misaki T CampainCanadaBernardo Dominic QUALIFIED
Silvio P NickaIndiaAmy Elsner RENEWAL
Arvin B MaletCanadaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro A RulapaughArgentinaXuxue Feng UNQUALIFIED
Julie B OstroskyJapanXuxue Feng PROPOSAL
Aika A FerenczItalyStephen Shaw QUALIFIED
Cody M GarufiIndiaAsiya Javayant PROPOSAL
Francesco E CaldareraRussiaXuxue Feng RENEWAL
Misaki J RoysterBrazilBernardo Dominic RENEWAL
Ashley V OstroskyIndiaAsiya Javayant RENEWAL
Wickens X RutaArgentinaBernardo Dominic RENEWAL
Izzy J WaycottJapanOnyama Limba NEW
Stacey B MaletUnited KingdomAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba I SaylorsItaly2026-10-23Feltz Printing Service RENEWAL18Anna Fali
1001James Z FigeroaAustralia2026-10-29Printing Dimensions UNQUALIFIED30Ivan Magalhaes
1002Salvatore P DilliardFrance2026-10-19Dorl, James J Esq QUALIFIED79Elwin Sharvill
1003Misaki S CaldareraGermany2026-11-04Chemel, James L Cpa NEGOTIATION87Elwin Sharvill
1004Ashley T ShinkoRussia2026-10-17Feltz Printing Service UNQUALIFIED66Amy Elsner
1005Juan R CaudyCanada2026-11-06Benton, John B Jr QUALIFIED11Amy Elsner
1006Octavia T ChuiFrance2026-10-29Commercial Press NEW80Anna Fali
1007Morrow Y KolmetzItaly2026-10-24Chemel, James L Cpa RENEWAL2Xuxue Feng
1008Murillo X MacleadArgentina2026-10-16Chanay, Jeffrey A Esq NEGOTIATION25Elwin Sharvill
1009Emily F SergiBrazil2026-11-08Chemel, James L Cpa PROPOSAL27Asiya Javayant
1010Octavia D MaletRussia2026-11-09Buckley Miller Wright NEW6Ivan Magalhaes
1011Greenwood A GarufiIndia2026-10-25Chanay, Jeffrey A Esq UNQUALIFIED52Anna Fali
1012Leon J BologniaRussia2026-10-25Feiner Bros RENEWAL53Anna Fali
1013Leja E PerinSpain2026-10-15Chanay, Jeffrey A Esq QUALIFIED95Anna Fali
1014Kaitlin C AmigonAustralia2026-10-25Feiner Bros PROPOSAL67Xuxue Feng
1015Mujtaba N IturbideJapan2026-11-01Chanay, Jeffrey A Esq UNQUALIFIED48Stephen Shaw
1016Misaki U DarakjyItaly2026-11-04Feiner Bros UNQUALIFIED83Anna Fali
1017Faith W FerenczItaly2026-11-01King, Christopher A Esq NEW9Stephen Shaw
1018Kaitlin M RimUnited Kingdom2026-10-21Dorl, James J Esq RENEWAL50Bernardo Dominic
1019Wickens T ButtBrazil2026-11-11Printing Dimensions QUALIFIED92Elwin Sharvill
1020Jeanfrancois C CampainArgentina2026-10-16Feltz Printing Service NEW97Amy Elsner
1021Faith A WieserCanada2026-11-01King, Christopher A Esq UNQUALIFIED95Amy Elsner
1022Smith S SergiJapan2026-10-28Rangoni Of Florence NEW6Elwin Sharvill
1023Munro Z SlusarskiUnited Kingdom2026-10-21Dorl, James J Esq NEW4Amy Elsner
1024Aditya L SergiRussia2026-10-31Printing Dimensions PROPOSAL57Bernardo Dominic
1025Julie W PerinGermany2026-10-14Rousseaux, Michael Esq NEGOTIATION93Asiya Javayant
1026Salvatore T TollnerCanada2026-10-30Buckley Miller Wright NEGOTIATION93Bernardo Dominic
1027Cody X BologniaArgentina2026-10-28Chemel, James L Cpa RENEWAL15Anna Fali
1028Aruna W SaylorsGermany2026-10-23Dorl, James J Esq NEGOTIATION35Ivan Magalhaes
1029Jeanfrancois T CaudyFrance2026-11-02Feiner Bros NEW94Elwin Sharvill
1030Jones Q MaletGermany2026-11-11Buckley Miller Wright QUALIFIED92Elwin Sharvill
1031Smith Q OstroskyUnited Kingdom2026-11-06Feltz Printing Service UNQUALIFIED41Onyama Limba
1032Ivar K AlbaresRussia2026-11-05Benton, John B Jr UNQUALIFIED91Xuxue Feng
1033Chavez T FollerArgentina2026-11-07Feltz Printing Service NEW4Amy Elsner
1034Misaki G FollerGermany2026-10-20Printing Dimensions QUALIFIED9Asiya Javayant
1035David B PoquetteItaly2026-11-01Commercial Press RENEWAL2Bernardo Dominic
1036Darci K RoysterBrazil2026-11-06Truhlar And Truhlar Attys UNQUALIFIED38Asiya Javayant
1037Mayumi Y FerenczArgentina2026-10-31Chemel, James L Cpa UNQUALIFIED84Stephen Shaw
1038Mujtaba Q ShinkoArgentina2026-10-25Rangoni Of Florence NEW47Ivan Magalhaes
1039Jones D KolmetzItaly2026-11-09Feiner Bros PROPOSAL52Bernardo Dominic
1040Kaitlin C CaudyIndia2026-10-20Morlong Associates QUALIFIED85Elwin Sharvill
1041Octavia N SergiBrazil2026-11-08Commercial Press UNQUALIFIED87Anna Fali
1042Aditya J BriddickGermany2026-10-17King, Christopher A Esq RENEWAL44Onyama Limba
1043Salvatore B NickaArgentina2026-10-25Rousseaux, Michael Esq NEW47Onyama Limba
1044Deepesh X CampainGermany2026-10-25King, Christopher A Esq UNQUALIFIED96Stephen Shaw
1045Ricardo M FigeroaJapan2026-10-28Feltz Printing Service PROPOSAL96Asiya Javayant
1046Stacey R FlosiRussia2026-10-14Feiner Bros PROPOSAL45Onyama Limba
1047Jennifer X ButtRussia2026-10-31Dorl, James J Esq UNQUALIFIED4Anna Fali
1048Tony C WaycottSpain2026-10-26Chanay, Jeffrey A Esq UNQUALIFIED24Elwin Sharvill
1049Sinclair P GillianBrazil2026-10-22Rousseaux, Michael Esq PROPOSAL47Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Sinclair R MaletFranceStephen Shaw NEW
Deepesh V AlbaresGermanyIvan Magalhaes NEW
Jennifer H CampainSpainAmy Elsner RENEWAL
Darci B IturbideAustraliaElwin Sharvill QUALIFIED
Alejandro F DoeFranceElwin Sharvill PROPOSAL
Jennifer O WhobreyJapanStephen Shaw QUALIFIED
Juan F SchemmerArgentinaIvan Magalhaes PROPOSAL
Clifford W RulapaughIndiaAmy Elsner NEGOTIATION
Maisha X NestleRussiaAsiya Javayant NEGOTIATION
Kadeem L GlickArgentinaAmy Elsner UNQUALIFIED
Octavia D MacleadRussiaIoni Bowcher RENEWAL
Faith Q RimRussiaAsiya Javayant PROPOSAL
Clifford D GauchoArgentinaXuxue Feng NEGOTIATION
Maria Z WieserGermanyXuxue Feng PROPOSAL
Maisha A AlbaresSpainAmy Elsner NEGOTIATION
Maria S RimItalyXuxue Feng PROPOSAL
Sinclair C RoysterAustraliaXuxue Feng PROPOSAL
Deepesh C RimIndiaBernardo Dominic NEGOTIATION
Johnson U FerenczFranceOnyama Limba NEGOTIATION
Stacey W InouyeGermanyAsiya Javayant PROPOSAL
Kadeem K DilliardGermanyElwin Sharvill NEGOTIATION
Aditya Q FerenczFranceIvan Magalhaes UNQUALIFIED
Jennifer Z MaletArgentinaAmy Elsner PROPOSAL
Johnson A IturbideRussiaIoni Bowcher RENEWAL
Johnson A SchemmerSpainElwin Sharvill QUALIFIED
Darci I ShinkoCanadaIoni Bowcher PROPOSAL
James F GarufiItalyIoni Bowcher UNQUALIFIED
Stacey Y MorascaJapanElwin Sharvill NEGOTIATION
Izzy I FlosiGermanyElwin Sharvill UNQUALIFIED
Morrow E FigeroaIndiaIvan Magalhaes NEW
Faith G PaprockiFranceXuxue Feng UNQUALIFIED
Stacey M KolmetzRussiaBernardo Dominic NEW
Ricardo K RutaAustraliaStephen Shaw PROPOSAL
Emily G RoysterRussiaStephen Shaw NEGOTIATION
Nicolas P RutaArgentinaElwin Sharvill PROPOSAL
James H IturbideFranceAnna Fali QUALIFIED
Darci W FollerFranceStephen Shaw NEGOTIATION
Mayumi Q CampainIndiaStephen Shaw QUALIFIED
Kaitlin T MaletItalyStephen Shaw NEW
Julie Z CaldareraGermanyAnna Fali UNQUALIFIED
Wickens W AmigonRussiaElwin Sharvill RENEWAL
Jones B KuskoBrazilAnna Fali RENEWAL
Maisha B VocelkaIndiaOnyama Limba PROPOSAL
Antonio F CampainArgentinaElwin Sharvill NEW
James V StockhamIndiaAnna Fali QUALIFIED
Leon N SlusarskiJapanIoni Bowcher PROPOSAL
Morrow N RutaGermanyElwin Sharvill PROPOSAL
Aditya S NestleRussiaAsiya Javayant NEW
Adams S FerenczBrazilAsiya Javayant PROPOSAL
Munro R BriddickGermanyIvan Magalhaes RENEWAL
Frozen Columns
Name
Jennifer I Waycott
Juan S Paprocki
Aika A Darakjy
Wickens M Doe
Julie S Flosi
Ricardo N Wieser
Nicolas W Venere
Ivar R Ruta
Claire S Gaucho
Cody K Gaucho
Faith K Sergi
Adams N Caudy
Leja P Albares
Rodrigues U Schemmer
Nicolas M Briddick
Smith J Sergi
Munro B Dilliard
Jefferson X Rulapaugh
Leja M Dilliard
Sinclair V Ferencz
Kadeem I Poquette
Izzy K Campain
Izzy R Venere
Ashley D Amigon
Leon K Campain
Maisha B Garufi
Misaki P Dilliard
Ivar A Foller
Alejandro P Ostrosky
Izzy V Malet
Wickens T Foller
Clifford W Kusko
Izzy A Wieser
Nicolas H Tollner
Johnson Y Maclead
Izzy Q Kusko
Adams R Perin
Ricardo W Maclead
Kaitlin N Campain
Salvatore P Stenseth
Izzy J Vocelka
Chavez Q Caldarera
Leja X Venere
Morrow R Glick
Emily K Schemmer
Izzy U Marrier
Sinclair P Slusarski
Isabel A Darakjy
Costa X Malet
Aika Y Malet
IdCountryDate
1000Germany2026-10-28
1001Japan2026-11-10
1002India2026-10-30
1003Australia2026-10-29
1004India2026-10-28
1005Russia2026-10-18
1006Spain2026-11-10
1007Spain2026-10-24
1008France2026-11-07
1009Spain2026-10-27
1010Italy2026-11-09
1011Germany2026-11-06
1012Australia2026-11-08
1013India2026-10-13
1014Germany2026-10-26
1015United Kingdom2026-11-03
1016Brazil2026-10-21
1017Argentina2026-10-19
1018Argentina2026-11-11
1019Russia2026-10-15
1020Australia2026-11-10
1021Germany2026-10-16
1022Canada2026-11-09
1023Argentina2026-10-24
1024Argentina2026-11-03
1025Canada2026-11-01
1026India2026-10-13
1027Germany2026-10-26
1028Australia2026-11-09
1029Spain2026-10-28
1030Brazil2026-11-02
1031Spain2026-11-03
1032Germany2026-10-17
1033Canada2026-10-17
1034Canada2026-11-08
1035Spain2026-10-30
1036Italy2026-11-06
1037Russia2026-10-21
1038Argentina2026-11-08
1039Italy2026-10-28
1040India2026-11-06
1041Brazil2026-10-19
1042Germany2026-10-16
1043Canada2026-10-15
1044Australia2026-10-31
1045Russia2026-11-01
1046Spain2026-10-23
1047United Kingdom2026-11-09
1048France2026-11-05
1049India2026-10-23

On-Demand Data

NameIdCountryDate
Deepesh C Poquette1000United Kingdom2026-11-02
Munro L Doe1001Germany2026-11-02
Adams U Bolognia1002Australia2026-11-03
Claire G Wieser1003Brazil2026-11-04
Mayumi N Bolognia1004Japan2026-10-13
Ashley U Stockham1005India2026-11-05
Claire Z Malet1006Argentina2026-10-30
Costa T Venere1007United Kingdom2026-11-03
Jones Q Malet1008Italy2026-11-10
Claire F Royster1009Australia2026-10-16
Adams E Malet1010Italy2026-11-04
Nicolas W Figeroa1011Japan2026-10-14
Ivar P Saylors1012Russia2026-11-03
Jennifer I Caudy1013Australia2026-10-17
Salvatore B Malet1014India2026-11-07
Antonio G Caudy1015United Kingdom2026-10-25
Jeanfrancois W Nestle1016Germany2026-11-02
Jennifer L Nestle1017Canada2026-10-15
Greenwood D Briddick1018Japan2026-11-10
Kadeem R Garufi1019Brazil2026-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco S SlusarskiSpainIvan Magalhaes QUALIFIED
Arvin K GillianAustraliaXuxue Feng PROPOSAL
Ivar W ChuiAustraliaElwin Sharvill RENEWAL
Arvin T FollerSpainXuxue Feng UNQUALIFIED
Greenwood F DoeBrazilAmy Elsner NEGOTIATION
Clifford P VocelkaFranceBernardo Dominic PROPOSAL
Mujtaba M WhobreyJapanAnna Fali RENEWAL
Alejandro H FerenczFranceAnna Fali NEW
Jennifer X BriddickJapanXuxue Feng NEW
Cody B ShinkoSpainBernardo Dominic RENEWAL
Antonio S WaycottFranceStephen Shaw NEW
Mujtaba H PerinRussiaAsiya Javayant QUALIFIED
Arvin G StockhamGermanyAnna Fali QUALIFIED
Julie G FigeroaRussiaIoni Bowcher NEW
Mujtaba R AlbaresFranceAsiya Javayant NEW
Smith G GauchoAustraliaIoni Bowcher RENEWAL
Alejandro D StockhamFranceXuxue Feng UNQUALIFIED
Wickens V FlosiSpainOnyama Limba RENEWAL
Arvin V FollerBrazilIvan Magalhaes QUALIFIED
Jennifer Y BowleyIndiaAmy Elsner QUALIFIED
Rodrigues C KuskoCanadaIvan Magalhaes PROPOSAL
Ivar A NickaGermanyElwin Sharvill QUALIFIED
Munro J GlickGermanyIvan Magalhaes RENEWAL
Aditya E RimArgentinaOnyama Limba PROPOSAL
Isabel T WieserArgentinaOnyama Limba NEW
Jeanfrancois E NickaCanadaStephen Shaw QUALIFIED
Ashley K IturbideBrazilXuxue Feng UNQUALIFIED
Jones F InouyeIndiaAnna Fali NEW
Munro Q CaudyItalyBernardo Dominic UNQUALIFIED
Cody Z RulapaughCanadaStephen Shaw NEW
David U ChuiItalyXuxue Feng NEW
Tony X RutaIndiaXuxue Feng QUALIFIED
Emily T NestleItalyIoni Bowcher PROPOSAL
Leja L OstroskyCanadaElwin Sharvill PROPOSAL
Maria H NickaRussiaXuxue Feng QUALIFIED
Ivar C BowleyRussiaIvan Magalhaes NEW
Julie L PerinFranceIoni Bowcher NEW
Jennifer B StockhamGermanyBernardo Dominic NEW
Antonio B VocelkaSpainAsiya Javayant QUALIFIED
Leon M CaudyGermanyStephen Shaw 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>