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
Aika H GauchoCanadaAsiya Javayant QUALIFIED
Jones T WieserFranceAsiya Javayant QUALIFIED
Misaki Z RulapaughSpainElwin Sharvill RENEWAL
Cody X DarakjySpainXuxue Feng NEW
Deepesh P CampainAustraliaAsiya Javayant NEW
Alejandro A SaylorsAustraliaIvan Magalhaes NEW
Jeanfrancois I AmigonJapanIoni Bowcher NEGOTIATION
Julie L KolmetzGermanyStephen Shaw RENEWAL
Jones L IturbideBrazilAmy Elsner NEGOTIATION
Stacey A AlbaresJapanAsiya Javayant NEGOTIATION
Clifford W BriddickCanadaStephen Shaw RENEWAL
Isabel H MarrierUnited KingdomOnyama Limba NEW
Octavia R BriddickJapanStephen Shaw UNQUALIFIED
Maria Y FerenczBrazilBernardo Dominic NEGOTIATION
Ivar H CaldareraJapanAsiya Javayant NEW
Kaitlin D FollerRussiaIvan Magalhaes RENEWAL
Silvio O RutaItalyIvan Magalhaes RENEWAL
Wickens H SchemmerCanadaAmy Elsner NEGOTIATION
Arvin W RulapaughUnited KingdomIvan Magalhaes NEW
Ivar F FerenczUnited KingdomStephen Shaw NEW
Johnson L SergiBrazilOnyama Limba PROPOSAL
Mujtaba C WaycottArgentinaElwin Sharvill RENEWAL
Maisha G KolmetzFranceAmy Elsner QUALIFIED
Isabel B NestleRussiaAmy Elsner PROPOSAL
Maisha R OldroydJapanIvan Magalhaes RENEWAL
Costa W FigeroaItalyOnyama Limba NEGOTIATION
Jefferson W MarrierBrazilElwin Sharvill QUALIFIED
Octavia V AlbaresFranceStephen Shaw UNQUALIFIED
Arvin W GillianUnited KingdomIvan Magalhaes NEGOTIATION
Stacey B WieserRussiaIvan Magalhaes UNQUALIFIED
Cody D PerinCanadaIoni Bowcher RENEWAL
Aruna E SchemmerArgentinaOnyama Limba QUALIFIED
Francesco W ShinkoJapanOnyama Limba QUALIFIED
Chavez F InouyeUnited KingdomIoni Bowcher UNQUALIFIED
Emily C SaylorsIndiaAnna Fali PROPOSAL
Adams Z KuskoIndiaAmy Elsner RENEWAL
Emily L KuskoUnited KingdomAnna Fali NEW
Maisha C CaudySpainOnyama Limba NEW
Misaki Q BologniaBrazilAsiya Javayant NEW
Jones I NestleRussiaOnyama Limba QUALIFIED
Wickens D NickaIndiaStephen Shaw NEGOTIATION
Wickens Q SergiUnited KingdomIoni Bowcher NEW
Francesco M PoquetteUnited KingdomIvan Magalhaes NEW
Johnson U CaudyFranceElwin Sharvill NEW
Chavez M VocelkaFranceElwin Sharvill PROPOSAL
Antonio D ButtJapanXuxue Feng RENEWAL
Wickens J RutaJapanXuxue Feng UNQUALIFIED
Ashley P RoysterArgentinaElwin Sharvill PROPOSAL
Misaki G WaycottArgentinaAnna Fali PROPOSAL
Juan R AlbaresFranceAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Faith K BowleyGermanyAmy Elsner NEGOTIATION
Ivar D VocelkaSpainAmy Elsner NEW
Izzy V VenereItalyStephen Shaw UNQUALIFIED
Tony C StockhamAustraliaStephen Shaw UNQUALIFIED
Aruna D WhobreyGermanyIvan Magalhaes NEGOTIATION
Julie K KolmetzUnited KingdomIvan Magalhaes NEW
Ivar X MaletUnited KingdomXuxue Feng NEGOTIATION
Izzy C MaletRussiaAnna Fali UNQUALIFIED
Mayumi F NickaItalyIoni Bowcher UNQUALIFIED
Adams X PerinFranceBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James D AlbaresGermany2026-09-20Morlong Associates QUALIFIED55Ioni Bowcher
1001Cody U CaudyJapan2026-10-04Printing Dimensions RENEWAL68Ioni Bowcher
1002Darci C AmigonArgentina2026-10-16Chemel, James L Cpa PROPOSAL51Ivan Magalhaes
1003Kaitlin L AlbaresGermany2026-10-16Commercial Press QUALIFIED90Amy Elsner
1004Juan T RoysterBrazil2026-10-05Chapman, Ross E Esq RENEWAL6Xuxue Feng
1005Ivar B GlickArgentina2026-09-29Printing Dimensions UNQUALIFIED29Onyama Limba
1006Ivar U BowleyUnited Kingdom2026-10-11Rousseaux, Michael Esq NEGOTIATION92Elwin Sharvill
1007Jones X MaletItaly2026-10-08Morlong Associates NEW49Amy Elsner
1008Jeanfrancois F MaletBrazil2026-10-03Rousseaux, Michael Esq RENEWAL4Xuxue Feng
1009Misaki L MarrierFrance2026-10-13Benton, John B Jr UNQUALIFIED6Stephen Shaw
1010Costa Z GauchoUnited Kingdom2026-10-06King, Christopher A Esq NEW91Onyama Limba
1011Cody A NestleCanada2026-10-13Feiner Bros NEGOTIATION58Elwin Sharvill
1012Smith W MacleadUnited Kingdom2026-10-02Rangoni Of Florence NEW44Elwin Sharvill
1013Munro A KolmetzRussia2026-10-02Commercial Press RENEWAL31Ivan Magalhaes
1014Leja A FlosiItaly2026-09-28Chemel, James L Cpa UNQUALIFIED5Anna Fali
1015Aruna H IturbideFrance2026-10-10Printing Dimensions PROPOSAL38Amy Elsner
1016Smith X GlickUnited Kingdom2026-10-02Printing Dimensions NEW22Stephen Shaw
1017Julie B NickaCanada2026-09-29Commercial Press QUALIFIED8Xuxue Feng
1018Aika D SaylorsRussia2026-10-04Rangoni Of Florence UNQUALIFIED40Elwin Sharvill
1019Misaki S SaylorsFrance2026-10-17Benton, John B Jr UNQUALIFIED91Bernardo Dominic
1020Salvatore K DarakjyJapan2026-10-09Chemel, James L Cpa NEGOTIATION81Ivan Magalhaes
1021Octavia A MaletIndia2026-09-29Commercial Press UNQUALIFIED31Amy Elsner
1022David X StensethCanada2026-10-08Truhlar And Truhlar Attys NEGOTIATION73Onyama Limba
1023Tony K VenereArgentina2026-10-16Morlong Associates NEW64Ivan Magalhaes
1024Ashley V RutaRussia2026-09-25Buckley Miller Wright NEW17Xuxue Feng
1025Silvio O RulapaughIndia2026-09-20Rangoni Of Florence NEGOTIATION15Elwin Sharvill
1026Julie U GarufiRussia2026-10-04Feiner Bros UNQUALIFIED32Elwin Sharvill
1027Munro V RutaGermany2026-09-29Chapman, Ross E Esq RENEWAL53Ivan Magalhaes
1028Octavia D OldroydGermany2026-10-15Rousseaux, Michael Esq NEW3Asiya Javayant
1029Johnson Z RulapaughJapan2026-09-30Rangoni Of Florence NEW33Ioni Bowcher
1030Leon V BriddickUnited Kingdom2026-10-07Rangoni Of Florence NEGOTIATION28Anna Fali
1031Jefferson Q BologniaIndia2026-09-27Feltz Printing Service QUALIFIED65Ivan Magalhaes
1032Jeanfrancois S StockhamItaly2026-09-29Chapman, Ross E Esq PROPOSAL99Ivan Magalhaes
1033Morrow P CaudyCanada2026-09-29Printing Dimensions RENEWAL26Ivan Magalhaes
1034Kaitlin X KuskoArgentina2026-09-19Chanay, Jeffrey A Esq NEW78Ioni Bowcher
1035Morrow S CaldareraSpain2026-10-10Buckley Miller Wright QUALIFIED36Ioni Bowcher
1036Antonio X SchemmerUnited Kingdom2026-09-25Buckley Miller Wright QUALIFIED28Anna Fali
1037Arvin X ChuiFrance2026-10-18King, Christopher A Esq PROPOSAL79Bernardo Dominic
1038Adams G GarufiCanada2026-09-20Benton, John B Jr NEW0Xuxue Feng
1039Costa I ShinkoSpain2026-09-22Feltz Printing Service PROPOSAL72Bernardo Dominic
1040Sinclair J BriddickGermany2026-10-12Chanay, Jeffrey A Esq PROPOSAL42Amy Elsner
1041Smith D CampainItaly2026-10-08Feiner Bros NEW99Bernardo Dominic
1042Tony O DoeIndia2026-10-03Chanay, Jeffrey A Esq NEGOTIATION93Elwin Sharvill
1043Aditya T BriddickRussia2026-10-06Chanay, Jeffrey A Esq QUALIFIED25Ivan Magalhaes
1044Jones T IturbideArgentina2026-10-10Rangoni Of Florence PROPOSAL55Ioni Bowcher
1045Stacey Y MarrierFrance2026-10-18Commercial Press NEGOTIATION43Asiya Javayant
1046Wickens K FollerItaly2026-10-14Rangoni Of Florence RENEWAL98Ioni Bowcher
1047Alejandro B MaletRussia2026-10-04Chanay, Jeffrey A Esq PROPOSAL69Asiya Javayant
1048Jefferson K KuskoRussia2026-10-13Chapman, Ross E Esq NEW47Elwin Sharvill
1049Maisha W MaletUnited Kingdom2026-09-26Chanay, Jeffrey A Esq RENEWAL52Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kadeem X GarufiArgentinaAmy Elsner QUALIFIED
Kadeem R RoysterCanadaAnna Fali UNQUALIFIED
Arvin A RimUnited KingdomAsiya Javayant QUALIFIED
Tony O GlickCanadaStephen Shaw QUALIFIED
Mayumi H GlickArgentinaOnyama Limba PROPOSAL
Greenwood G VenereBrazilElwin Sharvill PROPOSAL
Mujtaba T GlickIndiaXuxue Feng PROPOSAL
Jefferson F PerinRussiaAmy Elsner NEW
Mujtaba O PoquetteArgentinaAsiya Javayant NEGOTIATION
Aika N NestleArgentinaAnna Fali NEW
Chavez Y GarufiFranceStephen Shaw QUALIFIED
Darci M MaletAustraliaAmy Elsner UNQUALIFIED
Jennifer A ButtItalyIoni Bowcher NEW
Greenwood V ButtSpainIvan Magalhaes PROPOSAL
Misaki N ChuiCanadaStephen Shaw QUALIFIED
Mujtaba T WieserIndiaXuxue Feng QUALIFIED
Tony W IturbideJapanXuxue Feng NEGOTIATION
Ivar J BriddickUnited KingdomStephen Shaw NEW
Alejandro Q PoquetteCanadaElwin Sharvill RENEWAL
Izzy R StockhamCanadaIoni Bowcher NEGOTIATION
Greenwood O OldroydBrazilOnyama Limba PROPOSAL
Adams Z MarrierCanadaIvan Magalhaes QUALIFIED
Mayumi E MaletAustraliaAsiya Javayant NEW
Jones M RutaJapanIoni Bowcher NEGOTIATION
Ashley X WaycottGermanyElwin Sharvill PROPOSAL
Faith O OldroydCanadaIvan Magalhaes RENEWAL
Morrow K OstroskyBrazilBernardo Dominic NEGOTIATION
Adams P SlusarskiBrazilIoni Bowcher UNQUALIFIED
Ricardo D FigeroaBrazilXuxue Feng NEGOTIATION
Francesco A DoeRussiaStephen Shaw NEW
Greenwood P CaldareraItalyOnyama Limba UNQUALIFIED
Octavia J RimItalyAsiya Javayant UNQUALIFIED
Leja G SlusarskiCanadaAnna Fali QUALIFIED
Stacey R ShinkoGermanyStephen Shaw UNQUALIFIED
Cody Y FerenczJapanOnyama Limba RENEWAL
Jefferson N GauchoSpainIoni Bowcher NEW
David Y FerenczRussiaAmy Elsner NEW
Leja J GlickAustraliaStephen Shaw PROPOSAL
Darci R NestleIndiaIvan Magalhaes PROPOSAL
Mayumi U VocelkaAustraliaBernardo Dominic NEW
Emily I SchemmerCanadaAnna Fali NEW
Deepesh L WaycottSpainOnyama Limba NEGOTIATION
Misaki N RoysterIndiaAsiya Javayant UNQUALIFIED
Adams E PerinArgentinaIvan Magalhaes UNQUALIFIED
Jefferson N InouyeUnited KingdomIoni Bowcher UNQUALIFIED
Costa H CampainArgentinaAnna Fali NEGOTIATION
Aruna Y BowleyItalyXuxue Feng PROPOSAL
Clifford Z RimFranceIoni Bowcher NEW
Mayumi C SchemmerBrazilXuxue Feng NEGOTIATION
Costa S FlosiGermanyAnna Fali PROPOSAL
Frozen Columns
Name
Octavia N Campain
Jefferson P Oldroyd
Darci Z Oldroyd
Maria D Schemmer
Morrow Q Caudy
Wickens Y Doe
Aika Z Wieser
Darci K Malet
Mujtaba W Campain
Jones I Amigon
Juan A Marrier
Johnson S Dilliard
Claire Z Glick
Izzy N Wieser
Ricardo O Dilliard
Munro G Bolognia
Kadeem T Perin
Munro P Tollner
Izzy T Tollner
Kadeem U Venere
Izzy R Iturbide
Faith A Ruta
David F Rulapaugh
Mujtaba V Stenseth
Octavia U Saylors
Jefferson J Stockham
Leja S Nicka
Mujtaba Y Bowley
Jefferson K Bolognia
Francesco O Figeroa
Juan M Bolognia
Sinclair Y Venere
Faith V Ruta
Cody O Malet
Ashley O Royster
Jennifer V Inouye
Izzy V Marrier
Emily V Dilliard
Ivar W Saylors
Julie A Vocelka
Nicolas Z Kolmetz
Jeanfrancois W Paprocki
Izzy V Rim
Silvio Y Foller
Octavia R Rulapaugh
Arvin L Ruta
Kadeem O Briddick
David Q Gillian
Smith X Sergi
Claire Y Morasca
IdCountryDate
1000United Kingdom2026-10-11
1001France2026-10-06
1002Canada2026-10-08
1003Australia2026-09-21
1004Russia2026-09-26
1005Russia2026-09-27
1006Russia2026-09-29
1007Italy2026-10-06
1008Italy2026-09-24
1009Argentina2026-10-18
1010Canada2026-09-24
1011Canada2026-10-09
1012Italy2026-10-16
1013Italy2026-09-27
1014Brazil2026-09-22
1015Canada2026-10-11
1016Spain2026-10-06
1017Italy2026-09-19
1018Spain2026-09-19
1019Russia2026-10-03
1020Italy2026-10-01
1021United Kingdom2026-10-08
1022Canada2026-10-15
1023Australia2026-09-22
1024Argentina2026-10-01
1025Japan2026-09-24
1026Australia2026-10-08
1027Canada2026-10-07
1028Italy2026-10-14
1029France2026-09-23
1030Argentina2026-10-03
1031Germany2026-10-01
1032Japan2026-09-29
1033France2026-09-25
1034Australia2026-10-18
1035Argentina2026-10-02
1036United Kingdom2026-10-11
1037Canada2026-10-12
1038India2026-09-25
1039Italy2026-09-25
1040Canada2026-10-07
1041Spain2026-10-03
1042Japan2026-10-11
1043Spain2026-10-05
1044Germany2026-10-04
1045India2026-09-22
1046Canada2026-10-05
1047Australia2026-09-30
1048Canada2026-10-16
1049Germany2026-10-05

On-Demand Data

NameIdCountryDate
Salvatore K Stenseth1000France2026-09-30
Emily N Inouye1001Italy2026-10-17
Antonio J Albares1002Russia2026-10-06
Aruna N Malet1003Russia2026-10-05
Silvio D Stockham1004Canada2026-10-06
Chavez I Malet1005Spain2026-10-18
Greenwood A Kolmetz1006Russia2026-09-22
Tony N Foller1007United Kingdom2026-10-16
Costa U Vocelka1008Argentina2026-10-18
Maria I Briddick1009Canada2026-09-26
Sinclair H Campain1010France2026-10-06
Kaitlin L Caudy1011Japan2026-09-22
Maisha Z Sergi1012Argentina2026-09-29
Jennifer C Morasca1013Italy2026-09-26
Leja T Inouye1014Australia2026-10-06
James W Venere1015Brazil2026-10-04
Ricardo D Briddick1016France2026-09-22
Adams B Shinko1017France2026-10-10
Alejandro L Rim1018France2026-10-11
Aika D Waycott1019Canada2026-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson M DarakjyCanadaStephen Shaw RENEWAL
Leon W MorascaIndiaAsiya Javayant QUALIFIED
Wickens R WieserCanadaIvan Magalhaes QUALIFIED
Jones E PaprockiJapanAsiya Javayant UNQUALIFIED
Claire Z ButtCanadaOnyama Limba PROPOSAL
Juan T IturbideBrazilAnna Fali UNQUALIFIED
Julie V InouyeSpainAmy Elsner NEW
Leon Q NickaItalyOnyama Limba UNQUALIFIED
Octavia M TollnerIndiaAnna Fali PROPOSAL
Izzy U WhobreySpainBernardo Dominic QUALIFIED
Claire E ButtRussiaXuxue Feng NEW
Rodrigues C OstroskyUnited KingdomAnna Fali PROPOSAL
Ivar E RutaAustraliaAmy Elsner RENEWAL
Jennifer A StensethFranceOnyama Limba UNQUALIFIED
Jennifer F OldroydRussiaElwin Sharvill NEGOTIATION
Wickens L GlickRussiaIoni Bowcher NEW
James O WieserRussiaOnyama Limba RENEWAL
Aditya N FollerSpainIoni Bowcher NEW
Mujtaba T MorascaFranceAsiya Javayant RENEWAL
Nicolas V AlbaresBrazilBernardo Dominic NEGOTIATION
Kadeem L MorascaFranceStephen Shaw PROPOSAL
Jeanfrancois M MaletSpainIvan Magalhaes RENEWAL
Juan H WhobreyArgentinaStephen Shaw RENEWAL
Antonio T ButtGermanyStephen Shaw RENEWAL
Murillo E PerinIndiaIvan Magalhaes NEGOTIATION
Claire C StensethItalyAmy Elsner PROPOSAL
James I SergiUnited KingdomIoni Bowcher RENEWAL
Juan L PaprockiRussiaAnna Fali NEGOTIATION
Misaki H SchemmerBrazilOnyama Limba UNQUALIFIED
James N StockhamRussiaAnna Fali UNQUALIFIED
Isabel Z OldroydArgentinaIvan Magalhaes UNQUALIFIED
Mayumi A FollerAustraliaStephen Shaw NEW
Murillo W SaylorsBrazilAnna Fali NEW
Deepesh Q PerinJapanStephen Shaw RENEWAL
Adams J FerenczGermanyStephen Shaw NEGOTIATION
Wickens R VocelkaGermanyOnyama Limba NEGOTIATION
Jennifer H SaylorsItalyBernardo Dominic UNQUALIFIED
Juan A RoysterIndiaXuxue Feng UNQUALIFIED
Jefferson H FigeroaJapanBernardo Dominic NEW
Chavez T MaletAustraliaIvan Magalhaes NEGOTIATION

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