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
Ashley P AmigonSpainOnyama Limba NEGOTIATION
Rodrigues M FerenczBrazilStephen Shaw RENEWAL
Aruna K StensethUnited KingdomIvan Magalhaes PROPOSAL
James V SlusarskiBrazilStephen Shaw NEGOTIATION
James N StensethItalyOnyama Limba PROPOSAL
David C BologniaSpainElwin Sharvill UNQUALIFIED
Munro O SchemmerFranceElwin Sharvill PROPOSAL
Salvatore Q PoquetteGermanyXuxue Feng RENEWAL
Darci Q SaylorsSpainAnna Fali QUALIFIED
Stacey Z SlusarskiCanadaAmy Elsner RENEWAL
Chavez X NestleUnited KingdomIoni Bowcher NEW
Smith F OldroydUnited KingdomIoni Bowcher NEGOTIATION
Nicolas H KuskoIndiaStephen Shaw NEGOTIATION
Murillo G SchemmerGermanyAmy Elsner NEW
Johnson I RoysterUnited KingdomIoni Bowcher QUALIFIED
Jennifer B DilliardRussiaElwin Sharvill UNQUALIFIED
Juan X DarakjyFranceAnna Fali RENEWAL
Jennifer S StockhamCanadaStephen Shaw RENEWAL
Ashley Z WieserArgentinaAnna Fali QUALIFIED
Costa P MarrierSpainAmy Elsner QUALIFIED
Clifford R DoeUnited KingdomAmy Elsner UNQUALIFIED
Munro S KolmetzFranceAnna Fali NEGOTIATION
Greenwood L SlusarskiUnited KingdomAnna Fali NEW
Mayumi F GillianUnited KingdomAmy Elsner RENEWAL
Ivar Z BriddickIndiaBernardo Dominic NEW
Silvio H NickaUnited KingdomOnyama Limba QUALIFIED
Silvio Y ChuiIndiaElwin Sharvill RENEWAL
Kaitlin K OldroydSpainAsiya Javayant NEGOTIATION
Aditya M FollerJapanXuxue Feng QUALIFIED
Mujtaba H BologniaSpainAmy Elsner NEW
Munro S KuskoBrazilBernardo Dominic RENEWAL
Mujtaba U MorascaSpainIvan Magalhaes NEGOTIATION
Deepesh P SlusarskiIndiaAmy Elsner NEGOTIATION
Ricardo W KolmetzRussiaBernardo Dominic QUALIFIED
Ivar T WaycottCanadaAmy Elsner PROPOSAL
Leon A GauchoGermanyOnyama Limba RENEWAL
Ivar T AmigonJapanIoni Bowcher QUALIFIED
Arvin D MaletCanadaXuxue Feng NEGOTIATION
Murillo E AlbaresGermanyStephen Shaw PROPOSAL
Deepesh J FerenczFranceBernardo Dominic NEW
Munro T RulapaughArgentinaAnna Fali UNQUALIFIED
Mujtaba A ShinkoAustraliaAmy Elsner RENEWAL
Isabel O FigeroaRussiaAsiya Javayant UNQUALIFIED
Izzy C BriddickAustraliaOnyama Limba PROPOSAL
Kadeem G FollerCanadaStephen Shaw NEW
Faith H FerenczBrazilXuxue Feng UNQUALIFIED
Ashley V DilliardIndiaAsiya Javayant NEW
Munro M MacleadItalyAnna Fali NEGOTIATION
Isabel S BowleyJapanIoni Bowcher NEGOTIATION
Mayumi H CampainBrazilAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Tony O ChuiJapanAmy Elsner PROPOSAL
Ricardo D CaudyUnited KingdomElwin Sharvill NEGOTIATION
Octavia L MaletCanadaElwin Sharvill NEW
Jefferson S GlickCanadaBernardo Dominic PROPOSAL
Tony J SergiBrazilBernardo Dominic UNQUALIFIED
Morrow H OstroskyIndiaIoni Bowcher QUALIFIED
Cody U SlusarskiIndiaXuxue Feng QUALIFIED
Emily M MorascaArgentinaAmy Elsner RENEWAL
Octavia U FollerRussiaStephen Shaw RENEWAL
Ashley D MaletBrazilAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha M DoeCanada2026-10-27Feiner Bros NEW24Anna Fali
1001Ashley V MacleadItaly2026-10-14Printing Dimensions UNQUALIFIED14Elwin Sharvill
1002Isabel K BriddickAustralia2026-10-25Rangoni Of Florence PROPOSAL28Asiya Javayant
1003Leja P RimArgentina2026-10-01Buckley Miller Wright NEW21Anna Fali
1004Cody X StensethJapan2026-10-07Feltz Printing Service NEW38Stephen Shaw
1005Aika O DoeAustralia2026-10-18Commercial Press NEW34Xuxue Feng
1006Arvin R CaldareraBrazil2026-10-20Buckley Miller Wright QUALIFIED81Xuxue Feng
1007Francesco M WieserJapan2026-10-05Chemel, James L Cpa NEW23Ivan Magalhaes
1008Aditya O MaletSpain2026-09-29King, Christopher A Esq NEW80Stephen Shaw
1009Faith O ButtFrance2026-10-22Buckley Miller Wright RENEWAL40Onyama Limba
1010Mujtaba Y GarufiGermany2026-10-05Chanay, Jeffrey A Esq NEGOTIATION26Anna Fali
1011David Y IturbideFrance2026-10-18Benton, John B Jr NEGOTIATION22Anna Fali
1012Salvatore D PerinCanada2026-10-09Chapman, Ross E Esq PROPOSAL65Ivan Magalhaes
1013Antonio R GillianArgentina2026-10-11Feltz Printing Service QUALIFIED65Asiya Javayant
1014Jennifer Z InouyeJapan2026-10-16Feltz Printing Service NEGOTIATION60Onyama Limba
1015Kaitlin I OldroydRussia2026-10-02Feltz Printing Service NEGOTIATION1Ioni Bowcher
1016Isabel L RulapaughSpain2026-09-28Rousseaux, Michael Esq UNQUALIFIED84Amy Elsner
1017Arvin Y GauchoSpain2026-09-29Feiner Bros UNQUALIFIED98Bernardo Dominic
1018Arvin Y CaudyItaly2026-10-01Feiner Bros UNQUALIFIED16Stephen Shaw
1019Claire L WhobreySpain2026-10-02Feiner Bros QUALIFIED82Stephen Shaw
1020Isabel Z PerinGermany2026-10-18Dorl, James J Esq NEGOTIATION31Ioni Bowcher
1021Salvatore E DilliardIndia2026-10-03Dorl, James J Esq RENEWAL41Onyama Limba
1022Murillo T DarakjySpain2026-10-23Dorl, James J Esq QUALIFIED15Ivan Magalhaes
1023Ivar J KolmetzFrance2026-10-19Chapman, Ross E Esq RENEWAL90Bernardo Dominic
1024Aika B FlosiRussia2026-09-28Feiner Bros QUALIFIED79Bernardo Dominic
1025Maria V GlickJapan2026-10-07Chapman, Ross E Esq UNQUALIFIED14Xuxue Feng
1026Izzy B KolmetzCanada2026-10-26Buckley Miller Wright PROPOSAL55Xuxue Feng
1027Jennifer N GillianArgentina2026-10-25Commercial Press NEGOTIATION17Bernardo Dominic
1028James Z NickaItaly2026-09-28Benton, John B Jr RENEWAL99Anna Fali
1029Morrow K KolmetzSpain2026-10-07Rangoni Of Florence NEW38Amy Elsner
1030Emily J MacleadRussia2026-10-15Rangoni Of Florence NEGOTIATION15Xuxue Feng
1031Leja D SergiFrance2026-10-24Morlong Associates NEGOTIATION58Ioni Bowcher
1032Faith D NickaArgentina2026-10-08Feiner Bros NEGOTIATION79Asiya Javayant
1033Munro U WaycottGermany2026-10-22Rousseaux, Michael Esq NEW68Stephen Shaw
1034Adams R AmigonIndia2026-10-25Feltz Printing Service NEGOTIATION55Elwin Sharvill
1035Tony V StensethAustralia2026-10-15Rangoni Of Florence RENEWAL94Stephen Shaw
1036Maria Y MacleadAustralia2026-10-20Buckley Miller Wright QUALIFIED10Xuxue Feng
1037Octavia V CaudyItaly2026-09-29Rangoni Of Florence PROPOSAL4Ivan Magalhaes
1038Ivar G SaylorsItaly2026-10-17Rangoni Of Florence PROPOSAL0Stephen Shaw
1039Maisha L SergiIndia2026-10-23Feltz Printing Service NEW34Ioni Bowcher
1040Mujtaba W AlbaresItaly2026-10-16Printing Dimensions QUALIFIED82Asiya Javayant
1041Kadeem N RulapaughRussia2026-10-24Morlong Associates RENEWAL98Onyama Limba
1042Isabel B ShinkoFrance2026-10-03Chapman, Ross E Esq PROPOSAL18Stephen Shaw
1043Arvin J DilliardSpain2026-10-22Rangoni Of Florence NEW65Anna Fali
1044Octavia L SergiSpain2026-10-19Dorl, James J Esq NEGOTIATION43Anna Fali
1045Mujtaba W SlusarskiGermany2026-10-27Benton, John B Jr NEGOTIATION90Stephen Shaw
1046Stacey Z ChuiIndia2026-10-24Truhlar And Truhlar Attys UNQUALIFIED98Bernardo Dominic
1047Aditya F PaprockiJapan2026-10-17Feiner Bros QUALIFIED57Xuxue Feng
1048Clifford P DilliardUnited Kingdom2026-10-25Chemel, James L Cpa QUALIFIED36Elwin Sharvill
1049Jones J SergiFrance2026-10-21Rousseaux, Michael Esq UNQUALIFIED46Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Julie Z RoysterGermanyIoni Bowcher QUALIFIED
Murillo Z MaletArgentinaStephen Shaw NEW
Claire O SergiUnited KingdomElwin Sharvill QUALIFIED
Leon M NestleJapanOnyama Limba NEW
Alejandro X VenereFranceElwin Sharvill NEW
Juan C CampainItalyElwin Sharvill NEW
Munro Z GauchoItalyStephen Shaw UNQUALIFIED
Salvatore F GillianAustraliaIoni Bowcher PROPOSAL
Claire L DoeItalyOnyama Limba QUALIFIED
James K BowleyCanadaAsiya Javayant QUALIFIED
Emily I KuskoItalyElwin Sharvill PROPOSAL
Antonio A VenereArgentinaBernardo Dominic UNQUALIFIED
Costa S WieserIndiaIoni Bowcher NEW
Francesco F GauchoAustraliaIvan Magalhaes NEGOTIATION
Francesco Y FlosiGermanyOnyama Limba NEGOTIATION
Mayumi N RoysterCanadaStephen Shaw QUALIFIED
Morrow C OldroydFranceAnna Fali QUALIFIED
Morrow Z PaprockiIndiaXuxue Feng UNQUALIFIED
Morrow M GauchoRussiaAmy Elsner QUALIFIED
Munro H SlusarskiRussiaElwin Sharvill PROPOSAL
Faith Y RutaRussiaAsiya Javayant NEGOTIATION
Leja O IturbideIndiaAnna Fali QUALIFIED
Jones H RoysterFranceStephen Shaw UNQUALIFIED
Ashley L VenereGermanyIvan Magalhaes QUALIFIED
Costa D NickaItalyBernardo Dominic QUALIFIED
Faith W WaycottAustraliaBernardo Dominic UNQUALIFIED
Smith V SchemmerJapanAsiya Javayant NEGOTIATION
Maria K DilliardIndiaAnna Fali UNQUALIFIED
Darci R ShinkoSpainStephen Shaw UNQUALIFIED
Cody N GarufiArgentinaXuxue Feng QUALIFIED
Aditya I SergiSpainStephen Shaw NEW
Chavez Z AmigonRussiaElwin Sharvill NEW
Ricardo Q IturbideRussiaAnna Fali NEGOTIATION
Ashley U ChuiGermanyIoni Bowcher NEW
Isabel A VocelkaCanadaAsiya Javayant PROPOSAL
Silvio U GarufiArgentinaElwin Sharvill PROPOSAL
David R VocelkaUnited KingdomAnna Fali NEGOTIATION
Jennifer Z MaletJapanAsiya Javayant PROPOSAL
Antonio L OstroskyIndiaAmy Elsner UNQUALIFIED
Nicolas C GlickGermanyAsiya Javayant QUALIFIED
Juan T GarufiUnited KingdomStephen Shaw PROPOSAL
Ivar Z MacleadCanadaIvan Magalhaes QUALIFIED
Aruna Q KolmetzSpainIvan Magalhaes RENEWAL
Jeanfrancois N MaletBrazilAmy Elsner RENEWAL
Octavia V SaylorsJapanOnyama Limba UNQUALIFIED
Sinclair M RulapaughSpainBernardo Dominic PROPOSAL
Kadeem Q ChuiCanadaXuxue Feng UNQUALIFIED
Leon W MaletUnited KingdomElwin Sharvill RENEWAL
Costa J DilliardItalyStephen Shaw UNQUALIFIED
Jones E DilliardGermanyXuxue Feng NEGOTIATION
Frozen Columns
Name
Claire M Foller
Kadeem P Venere
Faith K Ferencz
Arvin H Venere
Julie S Doe
Johnson L Bolognia
Ashley J Doe
Julie C Bolognia
Silvio Z Schemmer
Smith N Garufi
Izzy J Tollner
Morrow W Caudy
Darci O Poquette
Kaitlin H Doe
Chavez R Tollner
Ricardo G Kusko
Murillo U Caudy
Arvin E Nicka
Stacey T Ferencz
Aruna W Paprocki
Faith E Maclead
Costa J Schemmer
Julie T Vocelka
Aruna C Albares
Chavez K Dilliard
Johnson K Bolognia
Nicolas Z Bowley
Adams D Oldroyd
Greenwood H Sergi
Julie N Doe
Costa N Gillian
Kadeem C Bowley
Nicolas G Sergi
Ivar X Kolmetz
Nicolas Y Royster
Chavez V Paprocki
Isabel S Kolmetz
Mayumi M Marrier
Adams D Gaucho
Stacey M Sergi
Claire C Caudy
Claire L Iturbide
Kaitlin J Nestle
Johnson U Campain
Kadeem R Gillian
Octavia M Waycott
Costa B Ruta
Nicolas E Doe
Emily I Malet
Isabel U Campain
IdCountryDate
1000France2026-10-07
1001Italy2026-09-28
1002India2026-10-10
1003Italy2026-10-09
1004Argentina2026-10-08
1005India2026-10-05
1006Russia2026-10-14
1007France2026-10-23
1008Australia2026-10-08
1009Russia2026-10-21
1010Canada2026-10-18
1011Canada2026-10-18
1012United Kingdom2026-10-07
1013Australia2026-10-16
1014Australia2026-10-16
1015Spain2026-10-20
1016Brazil2026-10-13
1017United Kingdom2026-10-19
1018United Kingdom2026-10-05
1019United Kingdom2026-10-12
1020Germany2026-10-26
1021Australia2026-10-05
1022United Kingdom2026-10-09
1023Brazil2026-10-08
1024France2026-10-15
1025Italy2026-10-13
1026Argentina2026-10-04
1027Germany2026-10-14
1028Spain2026-10-21
1029Brazil2026-09-30
1030France2026-10-22
1031Brazil2026-10-14
1032Spain2026-10-26
1033Canada2026-09-30
1034Japan2026-10-17
1035Russia2026-10-24
1036France2026-09-30
1037Spain2026-10-15
1038Russia2026-10-19
1039Japan2026-10-04
1040France2026-09-30
1041France2026-10-15
1042United Kingdom2026-10-22
1043Argentina2026-10-15
1044United Kingdom2026-10-05
1045Russia2026-10-17
1046Argentina2026-10-04
1047France2026-10-07
1048Canada2026-10-13
1049Germany2026-10-03

On-Demand Data

NameIdCountryDate
Murillo Z Bolognia1000United Kingdom2026-10-09
Faith H Stockham1001India2026-10-23
Jefferson K Bowley1002Italy2026-10-19
Antonio N Foller1003United Kingdom2026-09-30
Francesco F Iturbide1004Brazil2026-10-17
Adams L Nestle1005Australia2026-10-03
Tony Q Morasca1006Argentina2026-10-27
Jennifer B Stenseth1007France2026-09-30
Nicolas H Ostrosky1008Germany2026-10-09
Chavez S Sergi1009Germany2026-10-06
Francesco M Garufi1010France2026-10-15
Ivar R Rulapaugh1011Argentina2026-10-26
Jeanfrancois R Malet1012France2026-10-15
Arvin I Vocelka1013Brazil2026-10-20
Rodrigues S Perin1014Canada2026-10-19
Tony B Albares1015Argentina2026-10-11
Chavez L Kusko1016France2026-10-08
Greenwood O Garufi1017India2026-10-13
Aika J Ostrosky1018Argentina2026-10-09
Octavia D Malet1019Italy2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Q ShinkoItalyIoni Bowcher NEW
Costa M WaycottAustraliaIvan Magalhaes PROPOSAL
Stacey X PerinItalyIoni Bowcher NEGOTIATION
Darci I MaletAustraliaAmy Elsner RENEWAL
Izzy E KolmetzAustraliaOnyama Limba UNQUALIFIED
Greenwood K ShinkoRussiaElwin Sharvill UNQUALIFIED
Izzy U GauchoJapanOnyama Limba UNQUALIFIED
Leon N VenereIndiaAnna Fali NEW
Stacey O MarrierArgentinaXuxue Feng QUALIFIED
Nicolas V SlusarskiFranceBernardo Dominic PROPOSAL
Deepesh T StockhamItalyAnna Fali NEW
Faith Z RutaSpainOnyama Limba PROPOSAL
David D CaldareraIndiaAmy Elsner UNQUALIFIED
Arvin O DilliardItalyStephen Shaw QUALIFIED
Silvio K FigeroaArgentinaBernardo Dominic QUALIFIED
Mujtaba E PaprockiUnited KingdomXuxue Feng RENEWAL
Morrow Z GillianUnited KingdomAmy Elsner PROPOSAL
Isabel A KuskoItalyXuxue Feng UNQUALIFIED
Jennifer L ShinkoCanadaIvan Magalhaes UNQUALIFIED
Mujtaba H RutaJapanAnna Fali NEW
Francesco Y RoysterSpainXuxue Feng NEW
Rodrigues H GauchoIndiaXuxue Feng UNQUALIFIED
Munro F VenereAustraliaStephen Shaw NEGOTIATION
Octavia K KolmetzRussiaElwin Sharvill NEGOTIATION
Adams Y ChuiGermanyOnyama Limba NEGOTIATION
Silvio P MacleadAustraliaXuxue Feng NEW
Isabel D OldroydGermanyOnyama Limba NEW
Mujtaba N VenereJapanBernardo Dominic UNQUALIFIED
Maria U FigeroaIndiaStephen Shaw NEW
Nicolas A StensethIndiaXuxue Feng NEW
Darci Q OldroydJapanAmy Elsner NEGOTIATION
Silvio W PerinUnited KingdomBernardo Dominic QUALIFIED
Aika A RutaCanadaElwin Sharvill RENEWAL
Salvatore B WhobreyItalyStephen Shaw RENEWAL
Claire Z WieserUnited KingdomBernardo Dominic NEGOTIATION
Alejandro V VenereSpainStephen Shaw QUALIFIED
Emily E VocelkaSpainAnna Fali NEGOTIATION
Darci D AmigonGermanyIoni Bowcher QUALIFIED
Wickens L ShinkoRussiaIvan Magalhaes NEGOTIATION
Adams R GlickJapanAnna Fali UNQUALIFIED

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