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
Kadeem E GillianBrazilOnyama Limba QUALIFIED
Munro G WaycottGermanyStephen Shaw NEGOTIATION
Emily G VenereBrazilStephen Shaw RENEWAL
Arvin F MaletSpainAsiya Javayant QUALIFIED
Costa F CampainGermanyAmy Elsner PROPOSAL
Darci L PaprockiJapanStephen Shaw QUALIFIED
Kadeem V BologniaBrazilAnna Fali NEW
Misaki M RulapaughFranceIvan Magalhaes NEW
Jennifer N SergiArgentinaAnna Fali QUALIFIED
Maria P OldroydCanadaOnyama Limba PROPOSAL
Munro Y DilliardFranceOnyama Limba NEGOTIATION
Maria M FigeroaRussiaAsiya Javayant UNQUALIFIED
Johnson W CampainSpainStephen Shaw QUALIFIED
Clifford Y FerenczSpainXuxue Feng PROPOSAL
Aditya E OldroydIndiaBernardo Dominic QUALIFIED
Misaki X RimArgentinaStephen Shaw PROPOSAL
Claire B FerenczJapanBernardo Dominic UNQUALIFIED
Morrow Z OldroydAustraliaAmy Elsner NEGOTIATION
Claire L FigeroaBrazilXuxue Feng UNQUALIFIED
Emily D InouyeBrazilAnna Fali PROPOSAL
Munro V RutaIndiaAsiya Javayant NEW
Munro E KolmetzJapanAnna Fali NEW
Cody G AlbaresFranceAsiya Javayant UNQUALIFIED
Alejandro N MaletArgentinaXuxue Feng QUALIFIED
Leja B WaycottIndiaAnna Fali NEGOTIATION
Deepesh K PoquetteFranceIvan Magalhaes UNQUALIFIED
Nicolas N MaletSpainOnyama Limba RENEWAL
Munro Q SchemmerIndiaXuxue Feng NEGOTIATION
Rodrigues P SlusarskiRussiaIvan Magalhaes QUALIFIED
Jennifer P BowleyIndiaXuxue Feng UNQUALIFIED
Ricardo A DilliardAustraliaAsiya Javayant QUALIFIED
Jeanfrancois F PaprockiJapanOnyama Limba NEGOTIATION
Arvin V CampainJapanAmy Elsner UNQUALIFIED
Maria S ShinkoItalyIvan Magalhaes PROPOSAL
Misaki J VenereJapanXuxue Feng NEW
Silvio Y WieserRussiaOnyama Limba PROPOSAL
Aditya D KuskoIndiaXuxue Feng RENEWAL
Ivar X RulapaughGermanyStephen Shaw NEGOTIATION
Misaki B FlosiIndiaIvan Magalhaes QUALIFIED
Antonio J DarakjyAustraliaStephen Shaw RENEWAL
Izzy H GillianRussiaIoni Bowcher RENEWAL
Julie T TollnerSpainAmy Elsner QUALIFIED
Darci H MaletUnited KingdomAmy Elsner PROPOSAL
Costa S WieserJapanIoni Bowcher NEW
Leja I MarrierIndiaAnna Fali NEW
Emily N FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Jones E SlusarskiGermanyIoni Bowcher NEW
Sinclair S FlosiGermanyXuxue Feng NEGOTIATION
Aruna X InouyeUnited KingdomElwin Sharvill PROPOSAL
Tony U RimItalyStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Silvio R DoeArgentinaIoni Bowcher RENEWAL
James R RoysterRussiaOnyama Limba NEW
Jennifer R PoquetteCanadaXuxue Feng NEW
Jeanfrancois K OstroskyCanadaStephen Shaw QUALIFIED
Mujtaba D RulapaughArgentinaIoni Bowcher QUALIFIED
Emily M OldroydJapanOnyama Limba NEGOTIATION
Maisha W GlickItalyElwin Sharvill QUALIFIED
James I RutaSpainAnna Fali RENEWAL
Sinclair X GlickUnited KingdomAsiya Javayant PROPOSAL
Jefferson W MacleadRussiaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James P MaletIndia2026-10-17Chanay, Jeffrey A Esq UNQUALIFIED40Xuxue Feng
1001Murillo P RutaAustralia2026-10-19Morlong Associates NEW72Asiya Javayant
1002Adams G WieserBrazil2026-10-16King, Christopher A Esq RENEWAL84Anna Fali
1003Ivar E StockhamIndia2026-10-13Truhlar And Truhlar Attys UNQUALIFIED52Anna Fali
1004Aditya X FerenczIndia2026-09-23King, Christopher A Esq NEGOTIATION84Asiya Javayant
1005Mayumi S PaprockiIndia2026-10-13Rousseaux, Michael Esq NEW49Stephen Shaw
1006Claire U NestleAustralia2026-09-29Truhlar And Truhlar Attys PROPOSAL58Xuxue Feng
1007Smith O CaldareraRussia2026-09-27King, Christopher A Esq UNQUALIFIED87Elwin Sharvill
1008Greenwood E WaycottUnited Kingdom2026-10-13King, Christopher A Esq QUALIFIED95Elwin Sharvill
1009Maria B CampainArgentina2026-10-11Dorl, James J Esq PROPOSAL84Bernardo Dominic
1010Ashley B PoquetteJapan2026-10-21Feltz Printing Service QUALIFIED60Elwin Sharvill
1011Ashley V RulapaughFrance2026-09-29Truhlar And Truhlar Attys PROPOSAL66Asiya Javayant
1012Mayumi Z OldroydGermany2026-10-20Printing Dimensions RENEWAL1Onyama Limba
1013Misaki O RutaRussia2026-10-09Chanay, Jeffrey A Esq NEW50Asiya Javayant
1014Wickens E SchemmerJapan2026-10-11Chanay, Jeffrey A Esq QUALIFIED88Onyama Limba
1015Sinclair A CampainArgentina2026-09-23Printing Dimensions UNQUALIFIED81Bernardo Dominic
1016Salvatore Z SergiItaly2026-10-16Rousseaux, Michael Esq UNQUALIFIED86Elwin Sharvill
1017Juan V KolmetzBrazil2026-09-27Commercial Press NEW18Anna Fali
1018Clifford X OldroydRussia2026-10-21Buckley Miller Wright RENEWAL14Xuxue Feng
1019Kaitlin A DoeAustralia2026-10-13Commercial Press NEW9Asiya Javayant
1020Faith M BowleyUnited Kingdom2026-10-14Dorl, James J Esq RENEWAL97Stephen Shaw
1021Izzy R MarrierIndia2026-10-01Chemel, James L Cpa RENEWAL9Asiya Javayant
1022Octavia K MarrierRussia2026-10-17Chanay, Jeffrey A Esq UNQUALIFIED80Ivan Magalhaes
1023Jennifer A CampainArgentina2026-10-06Chanay, Jeffrey A Esq RENEWAL34Xuxue Feng
1024Ivar F DoeGermany2026-09-29King, Christopher A Esq PROPOSAL99Amy Elsner
1025Greenwood U AmigonCanada2026-10-20King, Christopher A Esq PROPOSAL72Asiya Javayant
1026Rodrigues Z AlbaresJapan2026-10-15Feltz Printing Service NEW2Ivan Magalhaes
1027Darci L SergiJapan2026-10-05Truhlar And Truhlar Attys NEGOTIATION0Amy Elsner
1028Jefferson T NickaRussia2026-09-27Feltz Printing Service PROPOSAL0Onyama Limba
1029Aika B MacleadBrazil2026-09-30Commercial Press NEGOTIATION51Ivan Magalhaes
1030Juan T MaletAustralia2026-10-20Chanay, Jeffrey A Esq QUALIFIED45Asiya Javayant
1031Jefferson K SlusarskiFrance2026-10-16Truhlar And Truhlar Attys UNQUALIFIED58Bernardo Dominic
1032Tony S RulapaughFrance2026-10-20Printing Dimensions QUALIFIED87Elwin Sharvill
1033Clifford C StockhamJapan2026-09-30Dorl, James J Esq QUALIFIED49Onyama Limba
1034Darci O KuskoCanada2026-10-05Printing Dimensions RENEWAL18Asiya Javayant
1035Greenwood X StensethUnited Kingdom2026-09-28Feiner Bros PROPOSAL29Xuxue Feng
1036Murillo O WhobreyCanada2026-10-18Chemel, James L Cpa NEGOTIATION65Amy Elsner
1037Rodrigues L RoysterArgentina2026-10-19Printing Dimensions QUALIFIED92Ivan Magalhaes
1038Emily N PaprockiCanada2026-09-23Benton, John B Jr QUALIFIED2Amy Elsner
1039Kadeem S MaletCanada2026-10-18Commercial Press QUALIFIED85Stephen Shaw
1040Claire X PerinSpain2026-09-25Rousseaux, Michael Esq QUALIFIED10Ivan Magalhaes
1041Kaitlin Z DilliardSpain2026-10-01Dorl, James J Esq RENEWAL11Ioni Bowcher
1042James H DilliardBrazil2026-10-21King, Christopher A Esq NEGOTIATION12Elwin Sharvill
1043David I RutaAustralia2026-10-20Chanay, Jeffrey A Esq NEGOTIATION87Anna Fali
1044Clifford I KolmetzGermany2026-09-24Rangoni Of Florence UNQUALIFIED5Elwin Sharvill
1045Morrow L BriddickSpain2026-10-16Truhlar And Truhlar Attys PROPOSAL26Anna Fali
1046Morrow A VenereSpain2026-10-07Rousseaux, Michael Esq RENEWAL0Ioni Bowcher
1047Sinclair Y MacleadGermany2026-10-08Chapman, Ross E Esq NEGOTIATION36Bernardo Dominic
1048Maisha G SchemmerIndia2026-10-17Buckley Miller Wright PROPOSAL51Amy Elsner
1049James G OstroskyFrance2026-10-18Rangoni Of Florence NEGOTIATION65Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Chavez K NickaGermanyOnyama Limba UNQUALIFIED
Faith C ButtFranceOnyama Limba RENEWAL
Arvin W TollnerCanadaIoni Bowcher NEW
Arvin Z NestleUnited KingdomStephen Shaw RENEWAL
James C GillianBrazilElwin Sharvill NEGOTIATION
Alejandro C IturbideBrazilIoni Bowcher NEGOTIATION
Clifford L BologniaJapanAsiya Javayant PROPOSAL
Jennifer M SaylorsItalyStephen Shaw RENEWAL
Sinclair M BriddickSpainOnyama Limba NEGOTIATION
David E BriddickArgentinaElwin Sharvill NEW
Aditya S ChuiRussiaIoni Bowcher NEW
Morrow Y PerinBrazilAsiya Javayant NEGOTIATION
Greenwood P PoquetteIndiaXuxue Feng NEW
Stacey M RimIndiaBernardo Dominic UNQUALIFIED
Aika Q MacleadUnited KingdomBernardo Dominic RENEWAL
Jefferson J TollnerJapanOnyama Limba NEW
Silvio Q GillianFranceStephen Shaw UNQUALIFIED
Adams K ButtRussiaAmy Elsner PROPOSAL
Kadeem B MarrierSpainAnna Fali QUALIFIED
Maria T StockhamBrazilIoni Bowcher RENEWAL
Jeanfrancois C BriddickArgentinaAsiya Javayant PROPOSAL
Maria T MarrierAustraliaAnna Fali RENEWAL
Kaitlin P DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas F DilliardItalyIoni Bowcher NEGOTIATION
Murillo Z GarufiSpainAsiya Javayant QUALIFIED
Isabel D ChuiAustraliaXuxue Feng QUALIFIED
Kaitlin D SergiRussiaOnyama Limba PROPOSAL
Emily V AmigonIndiaIvan Magalhaes RENEWAL
Clifford R RimJapanAnna Fali NEW
Salvatore M RulapaughAustraliaXuxue Feng NEW
Izzy J SlusarskiJapanBernardo Dominic UNQUALIFIED
Maisha W GarufiArgentinaOnyama Limba NEW
Adams B SaylorsGermanyAsiya Javayant NEW
Octavia Q SlusarskiRussiaAnna Fali QUALIFIED
Rodrigues G IturbideRussiaIoni Bowcher NEW
Chavez H NestleUnited KingdomAnna Fali NEGOTIATION
Juan O MacleadJapanElwin Sharvill RENEWAL
Alejandro C AlbaresBrazilIvan Magalhaes NEGOTIATION
Julie G SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Chavez P DilliardFranceAsiya Javayant RENEWAL
Jones E MacleadUnited KingdomXuxue Feng NEGOTIATION
Greenwood G MaletItalyAnna Fali UNQUALIFIED
Faith S ButtFranceElwin Sharvill NEW
Aika T BologniaFranceIvan Magalhaes UNQUALIFIED
James H VocelkaGermanyIvan Magalhaes UNQUALIFIED
Murillo T SchemmerCanadaStephen Shaw UNQUALIFIED
Tony V DarakjyBrazilOnyama Limba NEGOTIATION
Jones N FerenczGermanyIvan Magalhaes RENEWAL
Tony W KuskoBrazilBernardo Dominic NEW
Johnson F RulapaughRussiaElwin Sharvill NEW
Frozen Columns
Name
Adams A Poquette
Julie D Oldroyd
Costa P Caudy
Stacey G Amigon
Arvin M Doe
Sinclair U Venere
Kadeem M Figeroa
Aika B Caldarera
Rodrigues A Briddick
Emily R Foller
Costa N Waycott
Kadeem B Royster
Salvatore W Waycott
Costa U Flosi
Mayumi U Ruta
David D Royster
Murillo F Stenseth
Smith A Stenseth
Kadeem N Doe
Salvatore C Nestle
Leon P Royster
Murillo Y Kusko
Smith E Malet
Wickens L Ferencz
Rodrigues Y Poquette
Leja B Malet
Francesco M Chui
Ashley L Campain
Wickens C Albares
Juan K Saylors
Kadeem Q Ferencz
Johnson Z Caldarera
Rodrigues H Shinko
Clifford F Briddick
Costa M Nestle
Johnson R Gillian
Stacey M Bowley
Maisha E Figeroa
Jeanfrancois R Rim
Smith M Rulapaugh
Smith W Waycott
Francesco N Whobrey
Deepesh K Gillian
Izzy P Bowley
Juan V Marrier
Aruna L Albares
Mujtaba D Tollner
Misaki L Albares
Aruna G Foller
Mujtaba N Garufi
IdCountryDate
1000Australia2026-10-14
1001Brazil2026-10-16
1002Canada2026-10-12
1003Russia2026-10-02
1004Australia2026-09-24
1005Brazil2026-09-29
1006Canada2026-10-04
1007Canada2026-10-05
1008Russia2026-10-15
1009India2026-10-09
1010Germany2026-10-09
1011Japan2026-10-08
1012Argentina2026-10-14
1013Russia2026-10-18
1014Russia2026-09-28
1015Italy2026-09-28
1016India2026-10-05
1017Canada2026-10-19
1018Russia2026-10-20
1019Russia2026-10-15
1020Brazil2026-10-16
1021United Kingdom2026-10-21
1022Italy2026-10-17
1023Brazil2026-10-11
1024Spain2026-09-23
1025India2026-10-01
1026France2026-10-14
1027United Kingdom2026-10-02
1028India2026-10-04
1029Brazil2026-09-28
1030Germany2026-09-26
1031France2026-10-15
1032United Kingdom2026-09-27
1033United Kingdom2026-10-06
1034India2026-10-16
1035France2026-09-29
1036Brazil2026-10-20
1037Japan2026-10-03
1038Brazil2026-09-30
1039Russia2026-09-30
1040Spain2026-10-20
1041Italy2026-10-14
1042France2026-09-29
1043Japan2026-10-06
1044Argentina2026-10-15
1045United Kingdom2026-09-25
1046India2026-09-27
1047Japan2026-10-01
1048Japan2026-10-10
1049Russia2026-10-06

On-Demand Data

NameIdCountryDate
Stacey K Ostrosky1000Argentina2026-10-13
Mayumi A Gillian1001Brazil2026-10-09
Claire C Doe1002Argentina2026-09-25
Jones E Stockham1003Argentina2026-10-10
Maria I Malet1004Brazil2026-10-20
Johnson I Vocelka1005Japan2026-10-16
Murillo A Wieser1006Germany2026-09-27
Aika D Kolmetz1007United Kingdom2026-09-30
James W Ruta1008Australia2026-10-06
Deepesh S Royster1009Spain2026-09-23
Aika D Doe1010Russia2026-10-06
Clifford Y Campain1011France2026-10-15
Faith X Darakjy1012Canada2026-10-09
Octavia A Bolognia1013Canada2026-09-30
Kaitlin H Flosi1014India2026-10-03
Smith Y Shinko1015Canada2026-09-26
Smith H Sergi1016Russia2026-09-29
Ricardo B Butt1017Canada2026-10-13
Clifford B Kusko1018Spain2026-09-23
Johnson R Inouye1019Canada2026-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas O VenereIndiaXuxue Feng UNQUALIFIED
Aditya V SlusarskiItalyAsiya Javayant NEW
Claire P CaudyGermanyBernardo Dominic NEW
Aruna H GillianCanadaAnna Fali PROPOSAL
Emily I DoeCanadaXuxue Feng NEW
Kadeem S WieserFranceXuxue Feng NEW
Faith K KuskoRussiaElwin Sharvill QUALIFIED
Costa Y StensethBrazilAnna Fali UNQUALIFIED
Aika G BologniaIndiaAsiya Javayant NEGOTIATION
Tony P RoysterAustraliaAmy Elsner NEGOTIATION
Sinclair T GlickAustraliaStephen Shaw NEGOTIATION
Kadeem V CampainUnited KingdomIvan Magalhaes PROPOSAL
Chavez Q FerenczItalyBernardo Dominic PROPOSAL
Claire R SaylorsSpainBernardo Dominic NEGOTIATION
Octavia H OldroydUnited KingdomStephen Shaw PROPOSAL
Jennifer I BriddickCanadaOnyama Limba RENEWAL
Nicolas L FerenczRussiaStephen Shaw RENEWAL
James P AmigonGermanyBernardo Dominic NEW
Aditya B FlosiRussiaAnna Fali NEGOTIATION
Izzy V TollnerCanadaIoni Bowcher QUALIFIED
Jones L TollnerItalyOnyama Limba NEW
Jones W RoysterJapanXuxue Feng QUALIFIED
Misaki Z SergiRussiaAnna Fali QUALIFIED
Antonio A DarakjyJapanBernardo Dominic PROPOSAL
Wickens A VenereJapanIoni Bowcher NEW
Misaki W NickaGermanyBernardo Dominic QUALIFIED
Costa W FlosiSpainBernardo Dominic NEGOTIATION
Tony R PaprockiSpainXuxue Feng UNQUALIFIED
Salvatore L FigeroaBrazilBernardo Dominic QUALIFIED
Isabel R GarufiGermanyIoni Bowcher RENEWAL
Stacey P GauchoUnited KingdomIoni Bowcher NEW
Isabel A VenereRussiaAsiya Javayant PROPOSAL
Arvin D RimItalyOnyama Limba NEGOTIATION
Salvatore N FerenczRussiaBernardo Dominic RENEWAL
Izzy S AlbaresRussiaXuxue Feng NEGOTIATION
Ivar K CaudyArgentinaIvan Magalhaes QUALIFIED
Smith R CaudyIndiaIvan Magalhaes UNQUALIFIED
Octavia H MorascaArgentinaIvan Magalhaes PROPOSAL
Misaki E CampainCanadaBernardo Dominic QUALIFIED
Leja D RoysterUnited KingdomAsiya Javayant NEW

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