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
Jennifer N RoysterArgentinaIoni Bowcher NEGOTIATION
Chavez H WieserItalyAmy Elsner UNQUALIFIED
Jennifer C BowleyRussiaOnyama Limba NEGOTIATION
Cody K NickaRussiaAmy Elsner RENEWAL
Ricardo Y RoysterJapanIoni Bowcher PROPOSAL
Emily D AlbaresFranceStephen Shaw PROPOSAL
Morrow Z MaletIndiaAnna Fali NEGOTIATION
Chavez S PerinAustraliaElwin Sharvill QUALIFIED
Claire K VocelkaCanadaXuxue Feng UNQUALIFIED
Aditya O WaycottJapanIvan Magalhaes NEW
Mayumi N PoquetteGermanyStephen Shaw NEW
Leon C SlusarskiItalyOnyama Limba RENEWAL
Cody K OstroskySpainIvan Magalhaes UNQUALIFIED
Alejandro Q SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Ricardo W AmigonCanadaAmy Elsner RENEWAL
Antonio T MarrierIndiaAmy Elsner NEGOTIATION
Jennifer S GauchoBrazilAsiya Javayant UNQUALIFIED
Kadeem L BologniaCanadaOnyama Limba NEW
Jennifer T FerenczIndiaBernardo Dominic UNQUALIFIED
David N MarrierCanadaAsiya Javayant NEGOTIATION
Leja U MacleadRussiaIoni Bowcher NEW
Mayumi A WhobreyFranceIvan Magalhaes NEW
Smith W PoquetteGermanyAsiya Javayant UNQUALIFIED
Chavez F FlosiArgentinaStephen Shaw RENEWAL
Smith A WaycottArgentinaBernardo Dominic RENEWAL
Jefferson M DarakjyItalyAmy Elsner QUALIFIED
Emily U BriddickGermanyStephen Shaw NEW
Claire B GillianBrazilAnna Fali QUALIFIED
Misaki T StockhamItalyAsiya Javayant RENEWAL
Munro K RutaCanadaIoni Bowcher UNQUALIFIED
Leja M MacleadBrazilElwin Sharvill PROPOSAL
Isabel Y InouyeItalyBernardo Dominic RENEWAL
Tony K SlusarskiUnited KingdomOnyama Limba PROPOSAL
Chavez Q WhobreyAustraliaIoni Bowcher NEW
Salvatore Y KuskoBrazilAsiya Javayant NEW
Salvatore C MaletSpainXuxue Feng RENEWAL
Sinclair W RimAustraliaAmy Elsner UNQUALIFIED
Faith A TollnerArgentinaAsiya Javayant NEGOTIATION
Morrow I CampainIndiaStephen Shaw PROPOSAL
Salvatore Q BowleyBrazilElwin Sharvill PROPOSAL
Cody H BowleyArgentinaStephen Shaw QUALIFIED
Stacey J RutaJapanAsiya Javayant NEGOTIATION
Jennifer F NickaBrazilAmy Elsner RENEWAL
Jones S SaylorsRussiaIoni Bowcher QUALIFIED
David L RimItalyBernardo Dominic PROPOSAL
Ricardo N VocelkaIndiaBernardo Dominic NEGOTIATION
Isabel M FlosiFranceAsiya Javayant RENEWAL
Adams I ChuiJapanAmy Elsner QUALIFIED
Greenwood K RutaItalyBernardo Dominic NEW
Morrow J WieserCanadaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Costa P RoysterItalyOnyama Limba UNQUALIFIED
Morrow U BologniaItalyAmy Elsner RENEWAL
Costa B DarakjyGermanyIoni Bowcher QUALIFIED
Chavez S TollnerIndiaOnyama Limba QUALIFIED
Ivar M RulapaughGermanyAsiya Javayant NEW
David T SlusarskiJapanElwin Sharvill UNQUALIFIED
Jefferson C DoeArgentinaElwin Sharvill UNQUALIFIED
Juan P CaldareraRussiaAnna Fali RENEWAL
Morrow M WhobreyFranceBernardo Dominic RENEWAL
Ashley N DoeArgentinaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas L TollnerAustralia2026-10-09Benton, John B Jr PROPOSAL33Amy Elsner
1001Ivar W RoysterFrance2026-09-25Chemel, James L Cpa QUALIFIED69Stephen Shaw
1002Aruna D FollerAustralia2026-10-10Buckley Miller Wright UNQUALIFIED3Elwin Sharvill
1003Aditya C CaldareraGermany2026-10-10Truhlar And Truhlar Attys NEW76Ivan Magalhaes
1004Emily X PaprockiSpain2026-09-21Commercial Press NEGOTIATION63Asiya Javayant
1005Octavia L MorascaUnited Kingdom2026-09-28Dorl, James J Esq RENEWAL58Amy Elsner
1006Arvin F SergiFrance2026-09-27Buckley Miller Wright RENEWAL70Ivan Magalhaes
1007Greenwood S KuskoGermany2026-10-16Rangoni Of Florence NEGOTIATION1Amy Elsner
1008James H ButtRussia2026-10-12Chanay, Jeffrey A Esq NEW64Ivan Magalhaes
1009Rodrigues Y MaletCanada2026-10-01Feiner Bros PROPOSAL46Amy Elsner
1010Nicolas D MarrierArgentina2026-10-16Dorl, James J Esq PROPOSAL32Ioni Bowcher
1011Jennifer H OldroydRussia2026-10-11Feltz Printing Service RENEWAL23Onyama Limba
1012Aika B NestleFrance2026-10-08Truhlar And Truhlar Attys PROPOSAL9Ivan Magalhaes
1013Izzy D BologniaArgentina2026-10-12Rangoni Of Florence UNQUALIFIED75Stephen Shaw
1014Francesco H BowleyItaly2026-10-17Truhlar And Truhlar Attys NEGOTIATION68Anna Fali
1015Deepesh N ButtBrazil2026-10-01King, Christopher A Esq QUALIFIED23Bernardo Dominic
1016Claire L RimGermany2026-09-24Feltz Printing Service NEW91Xuxue Feng
1017Izzy B KuskoFrance2026-09-29Dorl, James J Esq NEW52Anna Fali
1018Juan O PoquetteArgentina2026-10-09Rousseaux, Michael Esq NEGOTIATION3Elwin Sharvill
1019Jefferson H PoquetteBrazil2026-10-12Chemel, James L Cpa QUALIFIED94Ioni Bowcher
1020Morrow D AlbaresFrance2026-10-14Rousseaux, Michael Esq QUALIFIED98Bernardo Dominic
1021Darci B AlbaresCanada2026-10-18Commercial Press QUALIFIED20Bernardo Dominic
1022Greenwood L SlusarskiFrance2026-09-29King, Christopher A Esq UNQUALIFIED18Onyama Limba
1023Aditya M GillianFrance2026-10-15Feltz Printing Service QUALIFIED11Xuxue Feng
1024Kaitlin B KuskoArgentina2026-09-23Rangoni Of Florence QUALIFIED47Bernardo Dominic
1025David Q KuskoFrance2026-10-10Commercial Press RENEWAL6Asiya Javayant
1026Jennifer W MacleadBrazil2026-09-24Rousseaux, Michael Esq RENEWAL29Ioni Bowcher
1027Juan G PerinArgentina2026-09-23Truhlar And Truhlar Attys NEGOTIATION12Elwin Sharvill
1028Francesco H WhobreyFrance2026-09-24Chapman, Ross E Esq NEW80Xuxue Feng
1029James C TollnerBrazil2026-10-17Truhlar And Truhlar Attys NEGOTIATION59Bernardo Dominic
1030Jefferson Q OstroskyJapan2026-09-25King, Christopher A Esq NEW85Onyama Limba
1031Jeanfrancois T SchemmerUnited Kingdom2026-10-05Truhlar And Truhlar Attys NEW99Onyama Limba
1032James G NickaGermany2026-10-06Dorl, James J Esq RENEWAL8Elwin Sharvill
1033Faith V GlickArgentina2026-10-05Truhlar And Truhlar Attys PROPOSAL39Anna Fali
1034James V PoquetteItaly2026-10-05Buckley Miller Wright NEW98Ivan Magalhaes
1035Ivar A IturbideSpain2026-10-15Benton, John B Jr UNQUALIFIED78Anna Fali
1036Johnson I FigeroaItaly2026-09-22Rousseaux, Michael Esq NEW7Onyama Limba
1037Jones Q OldroydAustralia2026-10-12Rangoni Of Florence UNQUALIFIED45Bernardo Dominic
1038Kaitlin D IturbideUnited Kingdom2026-09-27Morlong Associates QUALIFIED15Stephen Shaw
1039Izzy A SergiFrance2026-09-24Feltz Printing Service QUALIFIED72Stephen Shaw
1040Kadeem M TollnerIndia2026-09-27Chapman, Ross E Esq QUALIFIED53Xuxue Feng
1041Jones N WieserGermany2026-10-06Rousseaux, Michael Esq NEW85Elwin Sharvill
1042Rodrigues W MaletIndia2026-09-24Rangoni Of Florence RENEWAL8Amy Elsner
1043Aika P BologniaAustralia2026-10-09Dorl, James J Esq NEGOTIATION87Anna Fali
1044Costa P OldroydBrazil2026-10-01Feiner Bros NEGOTIATION54Bernardo Dominic
1045Clifford B NestleCanada2026-10-12Feiner Bros RENEWAL37Bernardo Dominic
1046Jeanfrancois P DilliardFrance2026-10-14Dorl, James J Esq NEW67Stephen Shaw
1047Jefferson S BowleyArgentina2026-09-23Rousseaux, Michael Esq PROPOSAL68Anna Fali
1048Claire A WieserSpain2026-10-09Printing Dimensions RENEWAL1Anna Fali
1049Kadeem Z FollerCanada2026-09-26Morlong Associates NEW9Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Adams Q GarufiFranceXuxue Feng PROPOSAL
Isabel R RutaSpainAmy Elsner PROPOSAL
Claire L FollerGermanyAnna Fali NEGOTIATION
Aditya D RutaUnited KingdomIvan Magalhaes NEW
Kadeem W StensethJapanIoni Bowcher NEGOTIATION
Stacey R SchemmerArgentinaOnyama Limba UNQUALIFIED
Clifford I TollnerSpainAmy Elsner UNQUALIFIED
Ashley I StensethUnited KingdomBernardo Dominic RENEWAL
Mayumi R KolmetzRussiaIvan Magalhaes RENEWAL
Octavia O BologniaAustraliaAsiya Javayant NEW
Wickens H SergiBrazilElwin Sharvill RENEWAL
Sinclair V CaldareraArgentinaBernardo Dominic NEW
Stacey J AlbaresRussiaStephen Shaw NEW
Aika U DilliardRussiaAnna Fali NEW
Wickens K GauchoGermanyIvan Magalhaes QUALIFIED
Ricardo L CaudyCanadaBernardo Dominic RENEWAL
Jennifer L GlickItalyAnna Fali PROPOSAL
Adams Q AmigonCanadaAsiya Javayant QUALIFIED
Mayumi K VocelkaItalyStephen Shaw QUALIFIED
Faith N PaprockiArgentinaAsiya Javayant PROPOSAL
Wickens N BowleyCanadaAmy Elsner UNQUALIFIED
Adams R CaudyFranceBernardo Dominic QUALIFIED
Francesco Y MaletItalyIvan Magalhaes NEGOTIATION
Ricardo K DoeRussiaElwin Sharvill NEW
Antonio R ShinkoItalyXuxue Feng QUALIFIED
Mujtaba V WaycottFranceOnyama Limba NEGOTIATION
Emily S NestleFranceIvan Magalhaes RENEWAL
Kaitlin G IturbideUnited KingdomOnyama Limba UNQUALIFIED
Morrow Z PerinCanadaAsiya Javayant NEGOTIATION
David L StensethAustraliaAnna Fali NEW
Johnson C WieserIndiaIvan Magalhaes PROPOSAL
Aika D PaprockiRussiaIvan Magalhaes QUALIFIED
Wickens C GlickCanadaIoni Bowcher PROPOSAL
Emily A NestleItalyIvan Magalhaes RENEWAL
Chavez P BologniaBrazilOnyama Limba PROPOSAL
Faith R OstroskyCanadaIoni Bowcher UNQUALIFIED
Francesco D OldroydBrazilBernardo Dominic NEW
Aditya T MaletCanadaStephen Shaw QUALIFIED
Silvio X NickaSpainStephen Shaw PROPOSAL
Jeanfrancois I ShinkoGermanyIoni Bowcher NEW
Sinclair W FigeroaArgentinaAsiya Javayant UNQUALIFIED
Aika S MaletItalyStephen Shaw RENEWAL
Leja G MaletSpainIoni Bowcher QUALIFIED
Morrow L NestleBrazilBernardo Dominic NEW
Arvin D VenereAustraliaIvan Magalhaes NEW
Kaitlin E GlickSpainAmy Elsner NEW
Darci S RutaIndiaOnyama Limba NEGOTIATION
Izzy B SchemmerAustraliaAmy Elsner NEW
Stacey V VocelkaCanadaIoni Bowcher QUALIFIED
Chavez G SaylorsFranceStephen Shaw RENEWAL
Frozen Columns
Name
Cody N Chui
Aditya O Royster
Costa L Kusko
Wickens D Nicka
Faith E Figeroa
Francesco Q Oldroyd
Leon M Caldarera
Darci P Vocelka
Adams O Shinko
Murillo C Amigon
Smith A Maclead
Kaitlin T Figeroa
David A Sergi
Alejandro H Schemmer
Murillo T Campain
Darci L Saylors
Munro P Paprocki
James C Iturbide
Munro I Chui
Isabel H Stenseth
Misaki V Ruta
Aika J Glick
Morrow P Chui
Maria Z Chui
Munro F Campain
Jefferson L Wieser
Stacey X Sergi
James T Dilliard
Misaki A Gaucho
Juan M Perin
Jefferson G Butt
David U Campain
Kadeem Q Iturbide
Claire M Waycott
Julie J Perin
Juan N Vocelka
Kadeem T Albares
Jennifer M Kolmetz
David Q Amigon
Adams Z Malet
Ivar P Wieser
Leja V Ruta
Emily R Kusko
Sinclair E Bowley
Adams G Butt
Arvin C Schemmer
Deepesh U Whobrey
Deepesh K Flosi
Jennifer N Kolmetz
Kadeem L Morasca
IdCountryDate
1000France2026-09-24
1001Japan2026-09-20
1002Brazil2026-10-15
1003Italy2026-09-22
1004Argentina2026-10-17
1005Australia2026-10-07
1006Argentina2026-10-12
1007Argentina2026-10-02
1008Argentina2026-09-23
1009Japan2026-10-03
1010United Kingdom2026-10-12
1011Argentina2026-09-24
1012India2026-09-20
1013Germany2026-10-07
1014Italy2026-10-18
1015Japan2026-09-27
1016Italy2026-09-21
1017Argentina2026-10-02
1018Italy2026-09-30
1019Argentina2026-09-22
1020Argentina2026-10-19
1021Italy2026-10-19
1022United Kingdom2026-10-13
1023Italy2026-10-03
1024India2026-09-27
1025Japan2026-10-08
1026Canada2026-10-12
1027Australia2026-10-09
1028Argentina2026-10-12
1029France2026-09-24
1030Russia2026-09-22
1031Argentina2026-09-25
1032Canada2026-10-08
1033Australia2026-09-26
1034Russia2026-10-05
1035United Kingdom2026-10-08
1036France2026-09-21
1037Australia2026-10-15
1038Canada2026-09-23
1039India2026-10-17
1040Russia2026-09-23
1041Spain2026-10-03
1042Spain2026-09-25
1043India2026-10-04
1044Italy2026-09-24
1045Germany2026-10-09
1046United Kingdom2026-09-23
1047Germany2026-10-03
1048Argentina2026-09-30
1049United Kingdom2026-09-27

On-Demand Data

NameIdCountryDate
Cody T Gillian1000Japan2026-10-16
Smith H Doe1001India2026-09-22
Costa I Malet1002Brazil2026-10-08
Julie N Poquette1003Russia2026-10-11
Ricardo E Morasca1004Japan2026-09-24
Clifford V Briddick1005Japan2026-10-13
Ashley V Briddick1006United Kingdom2026-09-26
Munro A Briddick1007Australia2026-10-13
Ashley Y Chui1008India2026-10-19
Julie P Doe1009France2026-10-18
Faith Q Paprocki1010Germany2026-10-07
Smith U Dilliard1011Japan2026-09-21
Maria Y Ostrosky1012Argentina2026-10-07
Rodrigues O Schemmer1013Brazil2026-10-14
Munro N Kusko1014Russia2026-09-25
Morrow B Tollner1015Australia2026-09-23
Alejandro K Venere1016Germany2026-10-11
Aruna W Bolognia1017United Kingdom2026-09-24
Jefferson J Oldroyd1018France2026-10-01
Jeanfrancois X Royster1019Canada2026-09-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens P SaylorsItalyAnna Fali NEW
Kaitlin O PaprockiRussiaStephen Shaw UNQUALIFIED
Clifford M PaprockiSpainIoni Bowcher PROPOSAL
Jefferson S StockhamAustraliaAsiya Javayant UNQUALIFIED
Octavia C AlbaresArgentinaAnna Fali UNQUALIFIED
Aruna J MaletAustraliaIvan Magalhaes RENEWAL
Adams A RoysterAustraliaAsiya Javayant PROPOSAL
Ashley U VocelkaArgentinaOnyama Limba UNQUALIFIED
Jennifer T SlusarskiUnited KingdomElwin Sharvill RENEWAL
Munro H StensethArgentinaBernardo Dominic QUALIFIED
Chavez C RutaRussiaStephen Shaw NEGOTIATION
Emily X StensethItalyXuxue Feng QUALIFIED
Tony F BologniaUnited KingdomXuxue Feng QUALIFIED
Chavez O GlickItalyIoni Bowcher UNQUALIFIED
Aditya V DarakjyRussiaIvan Magalhaes NEGOTIATION
Octavia D VenereGermanyAsiya Javayant NEGOTIATION
Adams Y WieserCanadaXuxue Feng RENEWAL
Francesco U PoquetteBrazilStephen Shaw UNQUALIFIED
David J FerenczSpainAmy Elsner NEW
Munro K KuskoGermanyXuxue Feng QUALIFIED
Jefferson U ShinkoArgentinaXuxue Feng RENEWAL
James Z PaprockiUnited KingdomOnyama Limba PROPOSAL
Maria X WieserItalyStephen Shaw QUALIFIED
Mujtaba D GlickJapanAnna Fali UNQUALIFIED
Francesco U InouyeAustraliaAmy Elsner NEGOTIATION
Wickens Q PerinAustraliaElwin Sharvill UNQUALIFIED
Kaitlin Z RulapaughRussiaAnna Fali NEW
Jennifer F DarakjyArgentinaElwin Sharvill NEGOTIATION
Misaki L MorascaFranceAsiya Javayant UNQUALIFIED
Wickens L GarufiRussiaAsiya Javayant QUALIFIED
Greenwood W KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
David W SlusarskiSpainStephen Shaw UNQUALIFIED
Deepesh I VenereFranceIvan Magalhaes QUALIFIED
Julie H PaprockiAustraliaIoni Bowcher PROPOSAL
Francesco C ShinkoIndiaXuxue Feng NEGOTIATION
Julie R RimSpainXuxue Feng UNQUALIFIED
Aika C SaylorsBrazilOnyama Limba PROPOSAL
Juan U DoeIndiaAsiya Javayant UNQUALIFIED
Octavia R FollerUnited KingdomBernardo Dominic PROPOSAL
Claire O MacleadBrazilAnna Fali 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>