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
Juan D DarakjyArgentinaAsiya Javayant NEW
Leon R DilliardAustraliaOnyama Limba NEW
Chavez A CaudyItalyAsiya Javayant NEW
Mujtaba A FerenczAustraliaIoni Bowcher PROPOSAL
Stacey T PoquetteItalyElwin Sharvill NEGOTIATION
Aditya C ButtJapanIvan Magalhaes NEW
Ashley H NickaBrazilXuxue Feng UNQUALIFIED
Nicolas N ShinkoGermanyElwin Sharvill QUALIFIED
Munro Z VocelkaItalyIvan Magalhaes UNQUALIFIED
Emily Q InouyeBrazilElwin Sharvill PROPOSAL
Mujtaba C BologniaItalyIvan Magalhaes UNQUALIFIED
Julie X PaprockiBrazilIoni Bowcher PROPOSAL
Deepesh U CaldareraCanadaAsiya Javayant RENEWAL
Chavez O GauchoSpainElwin Sharvill QUALIFIED
Silvio S SlusarskiSpainAsiya Javayant UNQUALIFIED
Deepesh S MacleadUnited KingdomBernardo Dominic PROPOSAL
Kaitlin Q FlosiCanadaAsiya Javayant NEGOTIATION
Wickens R WhobreyJapanOnyama Limba NEW
Wickens Q OldroydIndiaStephen Shaw RENEWAL
Greenwood N DoeIndiaAmy Elsner PROPOSAL
Mayumi G IturbideFranceAnna Fali NEW
Salvatore J VocelkaArgentinaBernardo Dominic NEGOTIATION
Ashley O WieserIndiaStephen Shaw NEGOTIATION
Aika R ShinkoCanadaXuxue Feng NEGOTIATION
Jeanfrancois G SlusarskiAustraliaAmy Elsner RENEWAL
Rodrigues D BriddickFranceIvan Magalhaes NEGOTIATION
Murillo O InouyeBrazilStephen Shaw QUALIFIED
Alejandro H GauchoItalyIvan Magalhaes QUALIFIED
Ashley K RimCanadaAsiya Javayant NEW
Cody N AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Darci A PerinBrazilIvan Magalhaes PROPOSAL
James F RimItalyXuxue Feng QUALIFIED
Salvatore U GarufiJapanXuxue Feng NEW
Ashley E DilliardItalyAmy Elsner UNQUALIFIED
Sinclair I CaudyBrazilAnna Fali NEGOTIATION
Faith D MaletFranceAmy Elsner UNQUALIFIED
Sinclair Y BriddickGermanyOnyama Limba NEGOTIATION
Claire W CaldareraSpainStephen Shaw RENEWAL
Adams N StensethGermanyOnyama Limba UNQUALIFIED
Ashley E CaudyCanadaAsiya Javayant RENEWAL
Sinclair S MacleadFranceStephen Shaw UNQUALIFIED
Maisha M DilliardItalyIoni Bowcher NEGOTIATION
Costa I PerinAustraliaElwin Sharvill NEGOTIATION
Smith S CaldareraFranceAsiya Javayant UNQUALIFIED
Silvio I SlusarskiIndiaAnna Fali RENEWAL
Ivar W GarufiArgentinaIvan Magalhaes PROPOSAL
Faith P VenereGermanyAmy Elsner QUALIFIED
Izzy X InouyeItalyIvan Magalhaes QUALIFIED
Julie G MaletIndiaAsiya Javayant NEW
Faith N WhobreyFranceBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio F AlbaresGermanyIoni Bowcher NEW
Jefferson V WieserRussiaAsiya Javayant PROPOSAL
Clifford D AlbaresItalyElwin Sharvill QUALIFIED
Claire R AlbaresItalyXuxue Feng QUALIFIED
Juan C CaudyRussiaOnyama Limba NEW
Clifford E MaletItalyElwin Sharvill RENEWAL
Nicolas A MorascaUnited KingdomAsiya Javayant NEW
Silvio B KolmetzSpainStephen Shaw QUALIFIED
Greenwood T VenereJapanElwin Sharvill NEGOTIATION
David R SergiItalyOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci O RoysterGermany2026-10-27Rousseaux, Michael Esq QUALIFIED87Xuxue Feng
1001Jones R SlusarskiIndia2026-10-28Rousseaux, Michael Esq QUALIFIED0Xuxue Feng
1002Jennifer M KuskoRussia2026-10-11Printing Dimensions QUALIFIED39Onyama Limba
1003Emily X KolmetzBrazil2026-10-14Printing Dimensions QUALIFIED20Anna Fali
1004Morrow P PoquetteBrazil2026-11-01Rousseaux, Michael Esq RENEWAL65Anna Fali
1005Emily N SlusarskiGermany2026-11-05Chanay, Jeffrey A Esq RENEWAL78Elwin Sharvill
1006Kadeem R RimFrance2026-10-30Chanay, Jeffrey A Esq NEW9Amy Elsner
1007Darci J WaycottArgentina2026-11-02Dorl, James J Esq PROPOSAL83Asiya Javayant
1008Kadeem F RimJapan2026-10-17Rousseaux, Michael Esq NEGOTIATION88Amy Elsner
1009Smith B OstroskyBrazil2026-10-29Printing Dimensions NEW0Bernardo Dominic
1010Julie Q ShinkoAustralia2026-10-30Rangoni Of Florence UNQUALIFIED98Anna Fali
1011Costa R GlickAustralia2026-10-22Commercial Press NEGOTIATION17Elwin Sharvill
1012Johnson D NickaBrazil2026-11-05Morlong Associates NEW52Ivan Magalhaes
1013Maisha X FlosiGermany2026-10-24Printing Dimensions QUALIFIED44Bernardo Dominic
1014Adams D CampainItaly2026-10-29Feltz Printing Service NEW52Amy Elsner
1015Francesco Z GillianJapan2026-11-07Commercial Press PROPOSAL39Stephen Shaw
1016Aruna W BowleyCanada2026-10-17Chanay, Jeffrey A Esq RENEWAL0Ioni Bowcher
1017Silvio O BriddickFrance2026-10-15Feiner Bros NEW78Elwin Sharvill
1018Darci E AmigonCanada2026-10-31Morlong Associates NEW54Onyama Limba
1019Stacey E CaudyUnited Kingdom2026-10-14Chemel, James L Cpa UNQUALIFIED49Ivan Magalhaes
1020Silvio S DarakjyGermany2026-10-12Chemel, James L Cpa QUALIFIED71Anna Fali
1021Jennifer G InouyeIndia2026-11-06Feiner Bros PROPOSAL17Bernardo Dominic
1022Stacey G KolmetzRussia2026-11-08Dorl, James J Esq QUALIFIED73Elwin Sharvill
1023Leja Q WieserJapan2026-11-01Rousseaux, Michael Esq QUALIFIED98Xuxue Feng
1024Cody E TollnerFrance2026-10-29Printing Dimensions RENEWAL24Asiya Javayant
1025Aditya S FerenczItaly2026-10-29Chanay, Jeffrey A Esq NEGOTIATION12Xuxue Feng
1026Munro N NickaArgentina2026-10-27Printing Dimensions NEW55Stephen Shaw
1027Isabel S StensethJapan2026-10-27Printing Dimensions PROPOSAL17Elwin Sharvill
1028James V AlbaresRussia2026-10-28Feltz Printing Service UNQUALIFIED77Elwin Sharvill
1029Morrow T CaldareraUnited Kingdom2026-10-15Printing Dimensions QUALIFIED54Stephen Shaw
1030Salvatore Y DarakjyArgentina2026-10-23Rousseaux, Michael Esq PROPOSAL52Onyama Limba
1031Francesco J VenereJapan2026-11-02King, Christopher A Esq NEW55Ioni Bowcher
1032Maisha N KuskoUnited Kingdom2026-10-30Chapman, Ross E Esq NEGOTIATION33Onyama Limba
1033Sinclair P WieserJapan2026-10-16Buckley Miller Wright NEW4Ivan Magalhaes
1034Nicolas R SchemmerGermany2026-10-28Rousseaux, Michael Esq PROPOSAL24Onyama Limba
1035Maisha E RutaFrance2026-10-26Printing Dimensions PROPOSAL91Asiya Javayant
1036Johnson B KolmetzSpain2026-10-17Chanay, Jeffrey A Esq RENEWAL91Anna Fali
1037Stacey B IturbideIndia2026-10-22Commercial Press RENEWAL62Bernardo Dominic
1038Emily I MaletCanada2026-10-23Morlong Associates NEW83Stephen Shaw
1039Stacey U OstroskyBrazil2026-11-02King, Christopher A Esq NEW34Bernardo Dominic
1040Julie I VenereGermany2026-10-27Chanay, Jeffrey A Esq NEGOTIATION40Amy Elsner
1041Juan U BologniaItaly2026-10-25Chanay, Jeffrey A Esq NEW56Stephen Shaw
1042Nicolas W CampainAustralia2026-10-20Rousseaux, Michael Esq QUALIFIED58Ivan Magalhaes
1043Leja O VocelkaItaly2026-10-18Dorl, James J Esq RENEWAL37Amy Elsner
1044Jones I FerenczFrance2026-10-15Rangoni Of Florence NEW9Xuxue Feng
1045Emily E DilliardGermany2026-11-02King, Christopher A Esq UNQUALIFIED30Xuxue Feng
1046Leon E WhobreyBrazil2026-11-07Printing Dimensions QUALIFIED67Bernardo Dominic
1047Adams I CaudyItaly2026-10-11Commercial Press UNQUALIFIED56Stephen Shaw
1048Aruna M PaprockiRussia2026-10-14Buckley Miller Wright UNQUALIFIED73Onyama Limba
1049Nicolas G FerenczJapan2026-10-31Commercial Press PROPOSAL71Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
James Q MaletAustraliaIoni Bowcher NEW
Ricardo O RulapaughCanadaIoni Bowcher NEGOTIATION
Misaki Q MaletBrazilStephen Shaw NEGOTIATION
Kaitlin F RimArgentinaIoni Bowcher QUALIFIED
Aika P OstroskyGermanyStephen Shaw NEW
Maisha O AlbaresSpainBernardo Dominic QUALIFIED
Emily R BowleyCanadaOnyama Limba NEW
Kaitlin B KolmetzArgentinaElwin Sharvill RENEWAL
Aruna K MorascaFranceStephen Shaw PROPOSAL
Maria F RimRussiaIvan Magalhaes UNQUALIFIED
Mujtaba H SlusarskiCanadaXuxue Feng RENEWAL
Stacey J MaletSpainIvan Magalhaes UNQUALIFIED
Claire U ShinkoJapanOnyama Limba NEGOTIATION
Maria W RutaSpainAsiya Javayant QUALIFIED
Arvin X KolmetzArgentinaBernardo Dominic QUALIFIED
Maria W KolmetzFranceBernardo Dominic UNQUALIFIED
Johnson X NestleUnited KingdomStephen Shaw PROPOSAL
Arvin N NickaFranceXuxue Feng PROPOSAL
Francesco P PerinCanadaStephen Shaw RENEWAL
Deepesh Q KuskoJapanAmy Elsner PROPOSAL
Isabel G OldroydJapanAsiya Javayant QUALIFIED
Izzy L StensethIndiaStephen Shaw NEW
Faith M PerinAustraliaOnyama Limba PROPOSAL
Leon E OstroskyItalyIvan Magalhaes NEW
Munro E NestleAustraliaElwin Sharvill PROPOSAL
Murillo R GauchoBrazilElwin Sharvill RENEWAL
Maria F OldroydGermanyAnna Fali NEGOTIATION
Morrow X DarakjyGermanyElwin Sharvill NEW
Mayumi V GauchoFranceAnna Fali PROPOSAL
Stacey G WaycottUnited KingdomXuxue Feng RENEWAL
James X KolmetzArgentinaStephen Shaw PROPOSAL
Francesco D MacleadSpainIvan Magalhaes NEGOTIATION
Aruna F GlickBrazilBernardo Dominic QUALIFIED
Tony H StockhamBrazilAsiya Javayant QUALIFIED
Arvin X SergiRussiaAsiya Javayant NEGOTIATION
Chavez L KolmetzIndiaIoni Bowcher NEW
Claire H GillianAustraliaIvan Magalhaes NEGOTIATION
Arvin K WieserCanadaAnna Fali PROPOSAL
Ashley T BologniaRussiaOnyama Limba QUALIFIED
Jeanfrancois A SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Adams S OldroydBrazilIvan Magalhaes RENEWAL
Kadeem L ShinkoGermanyBernardo Dominic PROPOSAL
Johnson X ButtFranceIvan Magalhaes NEGOTIATION
Darci R NestleSpainOnyama Limba NEW
Clifford N WieserSpainIoni Bowcher PROPOSAL
Nicolas F PerinJapanAmy Elsner NEW
Claire K MorascaFranceAnna Fali UNQUALIFIED
Kaitlin D VenereGermanyElwin Sharvill UNQUALIFIED
Juan W SchemmerCanadaXuxue Feng UNQUALIFIED
Chavez U CaldareraIndiaAnna Fali PROPOSAL
Frozen Columns
Name
Aika U Stockham
Smith W Tollner
Leon B Figeroa
Julie N Ostrosky
Costa V Tollner
Jeanfrancois D Tollner
Darci N Malet
Munro K Poquette
Nicolas R Dilliard
Jennifer L Waycott
Aika T Ruta
Stacey L Wieser
Greenwood B Wieser
Clifford P Schemmer
Chavez H Stockham
James N Malet
Isabel L Nicka
Jones F Sergi
Faith Z Chui
Aruna B Waycott
Morrow W Ferencz
Leja N Bolognia
Mujtaba U Slusarski
Cody X Amigon
Costa E Sergi
Jefferson Q Bolognia
Cody K Inouye
Clifford E Foller
Leon F Marrier
Stacey D Ostrosky
Aditya H Slusarski
Rodrigues T Kusko
Rodrigues F Garufi
Jeanfrancois D Garufi
Smith R Oldroyd
Arvin T Royster
Murillo E Vocelka
Jeanfrancois P Dilliard
Johnson D Sergi
Antonio N Bowley
Misaki C Foller
Maisha O Foller
Izzy X Royster
Kadeem U Saylors
Mujtaba X Gillian
Jennifer H Stenseth
Greenwood N Perin
Jones E Albares
Leon E Chui
Tony G Vocelka
IdCountryDate
1000Spain2026-10-12
1001India2026-10-23
1002Japan2026-10-20
1003Australia2026-10-20
1004France2026-10-21
1005Russia2026-11-01
1006Japan2026-11-01
1007Germany2026-11-07
1008France2026-11-06
1009Canada2026-10-29
1010Spain2026-10-27
1011Brazil2026-10-28
1012Japan2026-11-04
1013France2026-10-21
1014Russia2026-10-31
1015France2026-10-16
1016Canada2026-10-24
1017Australia2026-10-30
1018Australia2026-10-16
1019Germany2026-10-19
1020Brazil2026-10-29
1021United Kingdom2026-10-30
1022Russia2026-11-03
1023Germany2026-10-14
1024Brazil2026-10-31
1025Italy2026-10-15
1026Brazil2026-10-22
1027United Kingdom2026-10-23
1028Germany2026-10-26
1029Spain2026-11-06
1030India2026-10-15
1031Germany2026-10-16
1032Brazil2026-10-23
1033Australia2026-11-04
1034Russia2026-10-27
1035France2026-11-06
1036Australia2026-10-12
1037Spain2026-11-02
1038Brazil2026-10-25
1039Germany2026-10-16
1040Australia2026-10-21
1041India2026-11-01
1042Germany2026-10-17
1043Spain2026-11-04
1044Japan2026-10-16
1045Australia2026-10-10
1046France2026-10-26
1047Canada2026-10-10
1048Germany2026-10-20
1049Argentina2026-10-15

On-Demand Data

NameIdCountryDate
Stacey T Butt1000Argentina2026-11-02
Aika V Marrier1001Germany2026-10-28
Jennifer B Waycott1002Italy2026-10-17
Johnson P Maclead1003Argentina2026-10-21
Juan O Stenseth1004India2026-11-08
Misaki N Oldroyd1005Spain2026-10-10
Stacey I Caudy1006United Kingdom2026-10-16
Rodrigues C Inouye1007France2026-10-26
Antonio W Ostrosky1008Canada2026-10-12
Kaitlin S Slusarski1009United Kingdom2026-10-22
Jennifer P Oldroyd1010Canada2026-10-29
Misaki G Butt1011France2026-10-14
Tony I Rim1012Germany2026-10-29
Morrow W Waycott1013Germany2026-11-03
Silvio P Caudy1014Italy2026-10-31
Costa U Caldarera1015Italy2026-10-22
Juan P Paprocki1016Germany2026-10-13
Maisha K Nicka1017Brazil2026-10-29
Jeanfrancois S Iturbide1018Brazil2026-11-05
Costa J Chui1019Japan2026-10-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco E OstroskyCanadaElwin Sharvill NEGOTIATION
Aika A AmigonBrazilIvan Magalhaes NEGOTIATION
Leon Z FigeroaAustraliaAmy Elsner UNQUALIFIED
Munro W SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Murillo D RimBrazilIoni Bowcher QUALIFIED
Maisha J MorascaItalyStephen Shaw QUALIFIED
Leon I FollerUnited KingdomElwin Sharvill NEGOTIATION
Silvio N VenereJapanAnna Fali NEGOTIATION
Tony V RoysterItalyElwin Sharvill NEW
Misaki E CampainIndiaBernardo Dominic NEW
Aika S TollnerAustraliaBernardo Dominic QUALIFIED
Morrow Y RutaSpainIoni Bowcher QUALIFIED
Costa Z FollerCanadaOnyama Limba QUALIFIED
Ashley K SchemmerBrazilBernardo Dominic UNQUALIFIED
Ashley D VocelkaArgentinaElwin Sharvill PROPOSAL
Darci L WieserArgentinaAsiya Javayant PROPOSAL
Silvio L CaudyUnited KingdomAmy Elsner QUALIFIED
Mayumi U MaletAustraliaIoni Bowcher NEGOTIATION
Izzy O MacleadBrazilAmy Elsner NEGOTIATION
Maria R MacleadUnited KingdomBernardo Dominic RENEWAL
Jones Q WhobreyRussiaElwin Sharvill QUALIFIED
Jeanfrancois P CaldareraCanadaBernardo Dominic NEGOTIATION
Juan V FigeroaCanadaXuxue Feng QUALIFIED
Aruna L PoquetteGermanyAnna Fali NEW
Juan M VenereBrazilIoni Bowcher UNQUALIFIED
Leon O StensethCanadaAnna Fali RENEWAL
Aika X BowleyArgentinaIoni Bowcher RENEWAL
Francesco S CaldareraGermanyIoni Bowcher PROPOSAL
Kaitlin R WieserJapanXuxue Feng QUALIFIED
Julie K CampainAustraliaElwin Sharvill NEW
Arvin V GauchoUnited KingdomAsiya Javayant NEW
Maria K GarufiIndiaAmy Elsner UNQUALIFIED
Jeanfrancois N MarrierSpainStephen Shaw UNQUALIFIED
Kaitlin Q MacleadAustraliaBernardo Dominic PROPOSAL
Ivar D NestleFranceXuxue Feng UNQUALIFIED
Alejandro D RutaAustraliaAsiya Javayant PROPOSAL
Salvatore Q SaylorsItalyStephen Shaw NEGOTIATION
Claire B WieserGermanyStephen Shaw RENEWAL
Silvio S RimIndiaElwin Sharvill PROPOSAL
Isabel H GillianArgentinaOnyama Limba 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>