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
Morrow Z MorascaFranceElwin Sharvill NEW
Johnson U BowleyUnited KingdomXuxue Feng NEGOTIATION
Sinclair G CaldareraIndiaAsiya Javayant NEGOTIATION
Ivar B MarrierUnited KingdomOnyama Limba PROPOSAL
Salvatore S MorascaArgentinaAnna Fali RENEWAL
Jeanfrancois Z CaldareraArgentinaIoni Bowcher QUALIFIED
Julie C MaletSpainIvan Magalhaes NEGOTIATION
Jefferson Q GlickIndiaElwin Sharvill NEGOTIATION
Silvio A PoquetteArgentinaXuxue Feng QUALIFIED
Sinclair R DarakjyCanadaAsiya Javayant RENEWAL
Alejandro A TollnerGermanyStephen Shaw UNQUALIFIED
Adams P WieserAustraliaAnna Fali RENEWAL
Sinclair R SchemmerSpainAsiya Javayant QUALIFIED
Cody K ButtRussiaIvan Magalhaes NEW
Deepesh E SaylorsArgentinaIoni Bowcher NEW
Wickens G TollnerUnited KingdomElwin Sharvill PROPOSAL
Smith F PoquetteArgentinaIoni Bowcher UNQUALIFIED
Francesco E VenereGermanyAnna Fali QUALIFIED
Wickens J TollnerCanadaIvan Magalhaes PROPOSAL
Alejandro D SlusarskiIndiaAmy Elsner PROPOSAL
Juan U SergiIndiaBernardo Dominic NEW
Clifford L BowleyArgentinaIoni Bowcher NEGOTIATION
David W GillianSpainOnyama Limba NEGOTIATION
Clifford K PoquetteCanadaIoni Bowcher QUALIFIED
Isabel P CaudyIndiaIoni Bowcher NEW
Wickens J MorascaGermanyStephen Shaw PROPOSAL
Ivar E AmigonItalyStephen Shaw NEW
Aruna D AlbaresFranceElwin Sharvill PROPOSAL
Isabel N ChuiRussiaXuxue Feng UNQUALIFIED
Adams G SergiSpainOnyama Limba UNQUALIFIED
Nicolas A CaldareraCanadaOnyama Limba UNQUALIFIED
Ivar U ButtArgentinaAnna Fali QUALIFIED
Isabel I FlosiFranceAsiya Javayant NEW
David M BowleySpainIvan Magalhaes NEGOTIATION
Maria X StensethRussiaOnyama Limba NEGOTIATION
Silvio G MarrierCanadaIoni Bowcher RENEWAL
James S StockhamArgentinaOnyama Limba NEGOTIATION
Cody P DoeBrazilIoni Bowcher NEW
Deepesh Y BologniaCanadaElwin Sharvill UNQUALIFIED
Greenwood O WieserItalyAmy Elsner UNQUALIFIED
Octavia G ShinkoItalyOnyama Limba QUALIFIED
Ricardo T FerenczGermanyElwin Sharvill NEW
Kadeem U VenereAustraliaXuxue Feng NEGOTIATION
Stacey A TollnerSpainStephen Shaw PROPOSAL
Costa D PaprockiJapanIoni Bowcher RENEWAL
Antonio H MacleadArgentinaOnyama Limba UNQUALIFIED
Rodrigues H PoquetteRussiaXuxue Feng NEGOTIATION
Ricardo Q RoysterUnited KingdomAnna Fali UNQUALIFIED
Jones O GillianUnited KingdomAmy Elsner UNQUALIFIED
James U BologniaSpainBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Leon S MorascaCanadaOnyama Limba UNQUALIFIED
Leja V GlickAustraliaStephen Shaw NEGOTIATION
Murillo Z FigeroaGermanyXuxue Feng RENEWAL
Mujtaba Z ButtItalyBernardo Dominic RENEWAL
Jones O CampainSpainAnna Fali NEW
Morrow W VenereJapanIvan Magalhaes QUALIFIED
Rodrigues L MarrierJapanAsiya Javayant PROPOSAL
Julie E OstroskyCanadaBernardo Dominic UNQUALIFIED
Misaki B InouyeFranceStephen Shaw NEGOTIATION
Isabel F AmigonSpainAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan T MaletBrazil2026-10-12King, Christopher A Esq RENEWAL58Ioni Bowcher
1001Mayumi J KuskoAustralia2026-10-14Rangoni Of Florence UNQUALIFIED71Onyama Limba
1002Tony F RimGermany2026-10-08Chapman, Ross E Esq QUALIFIED48Amy Elsner
1003Maisha F AlbaresJapan2026-10-14Benton, John B Jr RENEWAL35Asiya Javayant
1004Nicolas U PerinAustralia2026-10-22Printing Dimensions UNQUALIFIED92Ivan Magalhaes
1005Silvio F PerinItaly2026-10-23Chemel, James L Cpa NEW15Amy Elsner
1006Emily G AmigonFrance2026-10-14Commercial Press NEW29Ioni Bowcher
1007Jones D SergiItaly2026-10-09Dorl, James J Esq UNQUALIFIED18Stephen Shaw
1008Jeanfrancois F ChuiGermany2026-10-09Rangoni Of Florence PROPOSAL68Asiya Javayant
1009Kadeem S AlbaresCanada2026-10-17Rousseaux, Michael Esq NEW85Onyama Limba
1010Kadeem V SchemmerAustralia2026-10-01Commercial Press PROPOSAL88Amy Elsner
1011Tony U GlickArgentina2026-10-15Chanay, Jeffrey A Esq UNQUALIFIED98Ioni Bowcher
1012Darci M RoysterGermany2026-09-27Chanay, Jeffrey A Esq QUALIFIED12Elwin Sharvill
1013Smith T OldroydIndia2026-10-17King, Christopher A Esq UNQUALIFIED99Ivan Magalhaes
1014Aruna T KuskoItaly2026-10-23King, Christopher A Esq RENEWAL1Ioni Bowcher
1015James O MacleadJapan2026-10-08King, Christopher A Esq PROPOSAL74Bernardo Dominic
1016Clifford C MarrierSpain2026-10-23King, Christopher A Esq PROPOSAL87Anna Fali
1017Cody O NickaFrance2026-10-18Dorl, James J Esq UNQUALIFIED79Onyama Limba
1018Julie K SchemmerItaly2026-10-22Buckley Miller Wright RENEWAL82Bernardo Dominic
1019Julie S CaldareraFrance2026-09-30Benton, John B Jr PROPOSAL15Anna Fali
1020Murillo D VenereRussia2026-10-01Commercial Press RENEWAL71Anna Fali
1021Rodrigues H IturbideGermany2026-10-07Truhlar And Truhlar Attys UNQUALIFIED18Asiya Javayant
1022Adams T BowleyBrazil2026-10-14Rousseaux, Michael Esq NEGOTIATION62Asiya Javayant
1023Morrow O FollerFrance2026-09-29Commercial Press UNQUALIFIED50Stephen Shaw
1024David A DoeBrazil2026-10-03Chemel, James L Cpa NEW10Xuxue Feng
1025Aika L StensethFrance2026-09-26Chanay, Jeffrey A Esq NEW75Amy Elsner
1026Aditya H MacleadIndia2026-10-16Chapman, Ross E Esq NEGOTIATION99Xuxue Feng
1027Silvio J KuskoUnited Kingdom2026-10-12Chemel, James L Cpa PROPOSAL93Elwin Sharvill
1028Darci J MaletCanada2026-09-29Chanay, Jeffrey A Esq UNQUALIFIED91Ioni Bowcher
1029Emily J SaylorsItaly2026-10-15Rangoni Of Florence UNQUALIFIED81Bernardo Dominic
1030Ashley G AlbaresFrance2026-10-07Benton, John B Jr NEGOTIATION30Anna Fali
1031Morrow X StockhamUnited Kingdom2026-10-12Dorl, James J Esq PROPOSAL63Anna Fali
1032Faith W NickaGermany2026-09-27King, Christopher A Esq NEGOTIATION3Xuxue Feng
1033Maisha B PerinCanada2026-09-26Morlong Associates PROPOSAL32Ivan Magalhaes
1034Isabel P FerenczAustralia2026-10-23Feltz Printing Service NEW83Ivan Magalhaes
1035Julie X CaldareraSpain2026-10-21King, Christopher A Esq RENEWAL79Bernardo Dominic
1036Faith D CampainFrance2026-10-04Commercial Press QUALIFIED65Amy Elsner
1037Jeanfrancois K MaletItaly2026-10-04Benton, John B Jr NEGOTIATION66Amy Elsner
1038Rodrigues H BologniaIndia2026-10-15Commercial Press PROPOSAL0Stephen Shaw
1039Clifford W GlickSpain2026-09-29Morlong Associates NEGOTIATION29Ivan Magalhaes
1040Octavia A DarakjyCanada2026-10-21Commercial Press QUALIFIED21Onyama Limba
1041Costa W MarrierRussia2026-10-18Printing Dimensions NEGOTIATION49Ivan Magalhaes
1042Cody W ChuiCanada2026-10-06Dorl, James J Esq RENEWAL67Asiya Javayant
1043Maisha H GauchoSpain2026-09-29Buckley Miller Wright NEW47Bernardo Dominic
1044Francesco B FigeroaJapan2026-10-21Benton, John B Jr NEW75Asiya Javayant
1045Maria A GillianRussia2026-10-06Feiner Bros NEW8Bernardo Dominic
1046Greenwood R DoeAustralia2026-10-09Rousseaux, Michael Esq PROPOSAL2Ivan Magalhaes
1047Antonio W GillianRussia2026-10-09Feiner Bros UNQUALIFIED63Bernardo Dominic
1048David T OstroskyIndia2026-10-12Morlong Associates UNQUALIFIED12Onyama Limba
1049Octavia X CampainRussia2026-09-29Rangoni Of Florence NEGOTIATION52Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Munro J BowleyIndiaOnyama Limba NEW
Leja Q GauchoItalyBernardo Dominic UNQUALIFIED
Costa Z RoysterArgentinaBernardo Dominic RENEWAL
Aruna Z RoysterIndiaAnna Fali UNQUALIFIED
Leja L MaletRussiaElwin Sharvill UNQUALIFIED
Emily G KolmetzIndiaAnna Fali RENEWAL
Mujtaba I ShinkoFranceAnna Fali PROPOSAL
Mayumi P KolmetzBrazilAmy Elsner RENEWAL
Juan Y MacleadUnited KingdomBernardo Dominic QUALIFIED
Julie D CaudyCanadaXuxue Feng UNQUALIFIED
Aika E WhobreyBrazilStephen Shaw QUALIFIED
Ricardo T OldroydArgentinaIoni Bowcher UNQUALIFIED
Claire D CaudyAustraliaBernardo Dominic QUALIFIED
Mayumi K VocelkaJapanIoni Bowcher UNQUALIFIED
Munro Z IturbideIndiaAsiya Javayant UNQUALIFIED
Ashley G PerinArgentinaBernardo Dominic UNQUALIFIED
Izzy Q WhobreySpainAnna Fali PROPOSAL
Deepesh B FlosiRussiaStephen Shaw RENEWAL
Isabel E RutaBrazilBernardo Dominic UNQUALIFIED
Ricardo V InouyeRussiaStephen Shaw UNQUALIFIED
Leja W GillianItalyXuxue Feng RENEWAL
Johnson M AmigonIndiaAsiya Javayant NEGOTIATION
Sinclair V StockhamJapanAmy Elsner NEW
Maria P VocelkaRussiaAmy Elsner UNQUALIFIED
Francesco W CaudyCanadaIoni Bowcher RENEWAL
Darci X NestleGermanyElwin Sharvill PROPOSAL
Silvio O WhobreyArgentinaAnna Fali UNQUALIFIED
Nicolas M MacleadBrazilIoni Bowcher UNQUALIFIED
Mayumi D NestleIndiaAsiya Javayant NEGOTIATION
Maria A DarakjyCanadaStephen Shaw NEW
Wickens K PerinArgentinaXuxue Feng UNQUALIFIED
Murillo D AlbaresArgentinaElwin Sharvill NEW
Kaitlin J RulapaughCanadaElwin Sharvill QUALIFIED
Leon R GarufiItalyStephen Shaw PROPOSAL
Faith W KuskoBrazilXuxue Feng RENEWAL
Emily C BologniaArgentinaElwin Sharvill NEGOTIATION
Rodrigues K TollnerSpainOnyama Limba UNQUALIFIED
Silvio B OstroskyFranceIoni Bowcher UNQUALIFIED
Wickens R SergiBrazilIoni Bowcher NEW
Kadeem U FlosiArgentinaElwin Sharvill NEW
Arvin O DarakjySpainStephen Shaw PROPOSAL
Aika V GlickBrazilStephen Shaw RENEWAL
Faith M RulapaughBrazilElwin Sharvill QUALIFIED
Ashley P DilliardSpainAmy Elsner NEW
Salvatore L FigeroaGermanyBernardo Dominic PROPOSAL
Johnson V DarakjyRussiaElwin Sharvill PROPOSAL
Chavez V ButtSpainOnyama Limba NEW
Kaitlin L MaletIndiaOnyama Limba QUALIFIED
Kaitlin Y BriddickItalyXuxue Feng NEW
Jennifer L AlbaresBrazilXuxue Feng NEGOTIATION
Frozen Columns
Name
Cody N Tollner
Clifford X Malet
Octavia J Inouye
Alejandro O Waycott
Juan H Whobrey
Murillo H Chui
Francesco M Chui
Mayumi F Dilliard
Munro F Royster
Rodrigues Z Stenseth
Jones X Whobrey
Claire I Amigon
Maisha X Royster
Sinclair I Ruta
Deepesh Z Malet
David C Stockham
Salvatore D Albares
Arvin R Schemmer
Ricardo G Venere
Juan I Wieser
Misaki X Gillian
Misaki E Gaucho
Stacey F Garufi
Leja H Ostrosky
Aika M Waycott
Salvatore B Ostrosky
Jefferson L Figeroa
Murillo X Waycott
Maria H Figeroa
Chavez D Sergi
Ricardo I Foller
Darci V Amigon
Jeanfrancois O Campain
Adams T Tollner
Silvio L Caldarera
Wickens D Kolmetz
David E Slusarski
Ricardo H Gillian
Maisha E Kolmetz
Maisha N Kolmetz
Francesco Y Dilliard
Jones J Darakjy
Adams Z Poquette
Juan O Foller
Mujtaba I Gaucho
Antonio C Briddick
Johnson F Waycott
Mayumi V Iturbide
Antonio P Caldarera
Leon G Doe
IdCountryDate
1000Australia2026-10-18
1001Argentina2026-10-09
1002France2026-10-17
1003Australia2026-10-15
1004India2026-10-24
1005United Kingdom2026-10-07
1006Russia2026-10-10
1007India2026-10-16
1008Argentina2026-10-04
1009Germany2026-10-05
1010France2026-10-09
1011Italy2026-10-10
1012Russia2026-10-24
1013France2026-10-17
1014Japan2026-10-18
1015India2026-09-25
1016Brazil2026-10-01
1017Argentina2026-10-16
1018United Kingdom2026-10-19
1019India2026-10-13
1020Brazil2026-10-09
1021India2026-09-30
1022Japan2026-10-02
1023France2026-10-03
1024Germany2026-09-28
1025Australia2026-10-03
1026Italy2026-10-24
1027Canada2026-10-19
1028Germany2026-10-14
1029Italy2026-10-18
1030Spain2026-10-11
1031Russia2026-10-12
1032India2026-10-05
1033Canada2026-10-11
1034United Kingdom2026-10-07
1035United Kingdom2026-09-27
1036India2026-10-11
1037India2026-10-11
1038Canada2026-10-03
1039India2026-09-26
1040Germany2026-09-29
1041Canada2026-10-11
1042Spain2026-10-18
1043Spain2026-10-01
1044Japan2026-10-22
1045Japan2026-10-18
1046Japan2026-09-25
1047India2026-10-18
1048Brazil2026-10-09
1049India2026-09-30

On-Demand Data

NameIdCountryDate
Smith D Royster1000Brazil2026-10-13
Kadeem Y Malet1001Italy2026-10-17
Misaki Q Perin1002France2026-09-28
Jeanfrancois V Campain1003India2026-10-03
Silvio S Oldroyd1004Spain2026-10-11
Antonio A Venere1005Brazil2026-10-15
Aika E Bowley1006Spain2026-10-12
Jefferson X Nicka1007France2026-10-11
Cody H Foller1008Germany2026-10-13
Salvatore Y Iturbide1009Canada2026-10-03
Leja J Venere1010United Kingdom2026-10-11
Jennifer P Wieser1011Argentina2026-09-30
Morrow Z Inouye1012Germany2026-10-13
Darci B Poquette1013Germany2026-10-04
Juan H Perin1014Japan2026-10-06
Tony C Tollner1015Germany2026-10-21
Julie P Ostrosky1016India2026-10-22
Adams I Campain1017Argentina2026-09-30
Mujtaba N Kusko1018Argentina2026-10-22
Murillo Z Venere1019Spain2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna P GauchoCanadaAmy Elsner NEGOTIATION
Kadeem G InouyeJapanIvan Magalhaes NEW
Francesco D CaudyAustraliaBernardo Dominic QUALIFIED
Leon P NestleIndiaOnyama Limba RENEWAL
Aditya O GlickArgentinaOnyama Limba NEW
Sinclair T GlickItalyAsiya Javayant RENEWAL
Nicolas V ChuiItalyBernardo Dominic PROPOSAL
Isabel Y VenereCanadaBernardo Dominic NEW
Aditya Z SlusarskiRussiaXuxue Feng NEW
Ashley T CaldareraBrazilOnyama Limba NEGOTIATION
Aruna T KolmetzBrazilAmy Elsner RENEWAL
Sinclair V DoeSpainXuxue Feng NEW
Sinclair P SergiGermanyElwin Sharvill PROPOSAL
Clifford Z CaudySpainAsiya Javayant RENEWAL
Chavez F MaletFranceElwin Sharvill NEGOTIATION
Adams Q VocelkaRussiaAsiya Javayant NEGOTIATION
Cody P IturbideBrazilAnna Fali UNQUALIFIED
Ricardo Y CaldareraFranceElwin Sharvill RENEWAL
Deepesh Z RutaUnited KingdomOnyama Limba PROPOSAL
Clifford L OldroydCanadaElwin Sharvill RENEWAL
Cody M FlosiAustraliaAsiya Javayant QUALIFIED
Alejandro J CaldareraFranceBernardo Dominic UNQUALIFIED
Antonio K OstroskyGermanyAnna Fali QUALIFIED
Octavia F FlosiFranceOnyama Limba NEGOTIATION
Francesco L ShinkoJapanBernardo Dominic PROPOSAL
Smith M OstroskyArgentinaBernardo Dominic RENEWAL
Nicolas A GauchoArgentinaStephen Shaw QUALIFIED
Adams P MacleadCanadaAsiya Javayant NEW
Ricardo Y NestleItalyXuxue Feng PROPOSAL
Faith H PerinIndiaElwin Sharvill QUALIFIED
Octavia H NestleItalyBernardo Dominic NEGOTIATION
Aruna Y DoeIndiaIvan Magalhaes PROPOSAL
Nicolas C OstroskySpainStephen Shaw QUALIFIED
Darci D WieserBrazilIvan Magalhaes QUALIFIED
Rodrigues C GauchoCanadaIvan Magalhaes RENEWAL
Octavia M DarakjyIndiaXuxue Feng PROPOSAL
Ivar L WaycottJapanXuxue Feng PROPOSAL
Morrow U GauchoJapanBernardo Dominic QUALIFIED
Ricardo K AmigonGermanyIoni Bowcher RENEWAL
Nicolas B MaletCanadaBernardo Dominic 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>