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
Claire H AmigonRussiaBernardo Dominic PROPOSAL
Ivar Z WieserJapanAnna Fali QUALIFIED
Mayumi N FerenczCanadaXuxue Feng PROPOSAL
Alejandro L DilliardFranceOnyama Limba QUALIFIED
Jones R MaletSpainBernardo Dominic NEGOTIATION
Johnson G ButtGermanyAsiya Javayant NEGOTIATION
Clifford J RutaJapanIvan Magalhaes PROPOSAL
Smith N GillianCanadaIoni Bowcher NEW
Aika X AlbaresGermanyIoni Bowcher PROPOSAL
Maria X OldroydSpainAsiya Javayant UNQUALIFIED
Alejandro T MarrierBrazilAsiya Javayant RENEWAL
Adams E VocelkaJapanAsiya Javayant NEW
Juan X RoysterIndiaOnyama Limba QUALIFIED
James V StensethIndiaIoni Bowcher NEW
Morrow J MorascaRussiaBernardo Dominic PROPOSAL
Stacey X KolmetzRussiaXuxue Feng QUALIFIED
Adams O ChuiItalyStephen Shaw PROPOSAL
Jeanfrancois A KuskoFranceBernardo Dominic NEGOTIATION
Aditya M CampainArgentinaOnyama Limba QUALIFIED
Arvin C TollnerAustraliaBernardo Dominic PROPOSAL
Antonio T KolmetzJapanElwin Sharvill NEGOTIATION
Aditya V MarrierUnited KingdomIvan Magalhaes NEW
Antonio H KolmetzFranceAmy Elsner QUALIFIED
Isabel O AlbaresAustraliaAnna Fali NEW
Jones H CaudyCanadaOnyama Limba NEGOTIATION
Octavia Q KuskoAustraliaAnna Fali RENEWAL
Alejandro E AmigonSpainElwin Sharvill NEW
Cody L BologniaItalyXuxue Feng PROPOSAL
Misaki O VocelkaRussiaIvan Magalhaes QUALIFIED
Octavia Y RimArgentinaOnyama Limba QUALIFIED
Ashley P IturbideIndiaAsiya Javayant NEW
Leja V NestleAustraliaIvan Magalhaes QUALIFIED
Juan N RutaIndiaElwin Sharvill NEW
Chavez F GlickCanadaAsiya Javayant NEW
Juan R GillianUnited KingdomOnyama Limba PROPOSAL
Juan Q MaletGermanyIoni Bowcher RENEWAL
Aika O WieserUnited KingdomStephen Shaw NEW
Darci X NickaUnited KingdomStephen Shaw NEGOTIATION
Aditya C GauchoArgentinaXuxue Feng PROPOSAL
Claire K CaudyRussiaAmy Elsner NEW
Johnson B PoquetteJapanAnna Fali QUALIFIED
Maisha K SchemmerJapanElwin Sharvill NEGOTIATION
Ivar M MarrierJapanOnyama Limba NEW
Juan Y MaletIndiaAsiya Javayant NEGOTIATION
Adams N MorascaRussiaStephen Shaw NEW
Francesco Y SergiUnited KingdomElwin Sharvill UNQUALIFIED
Juan L StockhamCanadaStephen Shaw QUALIFIED
Julie N WhobreyGermanyStephen Shaw NEW
Arvin J WhobreyItalyAsiya Javayant QUALIFIED
Isabel C OstroskyRussiaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio V SergiCanadaAmy Elsner PROPOSAL
Kadeem Z StockhamRussiaAnna Fali NEGOTIATION
Octavia H FlosiGermanyIvan Magalhaes QUALIFIED
Morrow M CaudyFranceIvan Magalhaes NEGOTIATION
Claire L KuskoRussiaIoni Bowcher NEGOTIATION
Juan W ButtIndiaElwin Sharvill PROPOSAL
Smith E CaldareraSpainAmy Elsner UNQUALIFIED
Jeanfrancois Z DilliardAustraliaBernardo Dominic NEW
Jeanfrancois J KolmetzCanadaAsiya Javayant RENEWAL
Costa V WieserIndiaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley Y MarrierBrazil2026-08-11Dorl, James J Esq RENEWAL88Stephen Shaw
1001Octavia N CaudyBrazil2026-08-06Printing Dimensions NEGOTIATION30Elwin Sharvill
1002Salvatore X ChuiFrance2026-08-10Feltz Printing Service RENEWAL25Stephen Shaw
1003Tony J GillianGermany2026-08-12Benton, John B Jr NEW46Elwin Sharvill
1004Misaki H SergiItaly2026-08-30Chanay, Jeffrey A Esq NEW50Amy Elsner
1005Clifford I VocelkaFrance2026-08-22Printing Dimensions NEGOTIATION47Amy Elsner
1006Juan O MaletArgentina2026-08-15Chanay, Jeffrey A Esq UNQUALIFIED74Amy Elsner
1007Kaitlin F ShinkoIndia2026-08-28Rangoni Of Florence PROPOSAL95Xuxue Feng
1008Antonio F BologniaGermany2026-08-07Buckley Miller Wright NEW38Onyama Limba
1009Rodrigues O ButtArgentina2026-08-14Benton, John B Jr QUALIFIED1Elwin Sharvill
1010Greenwood B RimAustralia2026-08-26Printing Dimensions NEW85Onyama Limba
1011Aditya X CaldareraGermany2026-08-30King, Christopher A Esq NEGOTIATION27Onyama Limba
1012Chavez Q FollerCanada2026-08-16Dorl, James J Esq PROPOSAL63Amy Elsner
1013Jefferson K DilliardAustralia2026-08-21King, Christopher A Esq NEGOTIATION81Anna Fali
1014Mayumi V MaletGermany2026-08-31Dorl, James J Esq PROPOSAL81Bernardo Dominic
1015Kaitlin H WaycottSpain2026-08-04Feltz Printing Service RENEWAL48Elwin Sharvill
1016Deepesh N SergiUnited Kingdom2026-08-23Benton, John B Jr UNQUALIFIED20Onyama Limba
1017Tony S OldroydUnited Kingdom2026-08-28King, Christopher A Esq PROPOSAL24Bernardo Dominic
1018Nicolas R VocelkaSpain2026-08-24King, Christopher A Esq RENEWAL44Elwin Sharvill
1019Aruna O VenereAustralia2026-08-30Buckley Miller Wright RENEWAL3Asiya Javayant
1020Emily O NestleGermany2026-08-09Commercial Press NEGOTIATION92Stephen Shaw
1021Morrow O StensethIndia2026-08-04Rousseaux, Michael Esq QUALIFIED45Onyama Limba
1022Smith I SchemmerFrance2026-08-04Morlong Associates NEGOTIATION6Ioni Bowcher
1023Johnson L PerinRussia2026-08-25Commercial Press NEW80Stephen Shaw
1024Johnson F CaldareraGermany2026-08-06Feiner Bros PROPOSAL82Stephen Shaw
1025Alejandro M MacleadGermany2026-08-06Dorl, James J Esq UNQUALIFIED60Anna Fali
1026Alejandro W SlusarskiCanada2026-08-11Rangoni Of Florence QUALIFIED71Elwin Sharvill
1027Mujtaba X VocelkaBrazil2026-08-17Feiner Bros NEGOTIATION78Anna Fali
1028Mayumi R GlickJapan2026-08-16Chapman, Ross E Esq RENEWAL29Anna Fali
1029Chavez U NickaCanada2026-08-09Printing Dimensions NEGOTIATION36Anna Fali
1030Alejandro A WhobreyRussia2026-08-09Chapman, Ross E Esq NEW5Xuxue Feng
1031Jeanfrancois Q WieserSpain2026-08-30Benton, John B Jr UNQUALIFIED98Ivan Magalhaes
1032Ashley G SaylorsJapan2026-08-24Chanay, Jeffrey A Esq NEW4Elwin Sharvill
1033Mayumi A PerinFrance2026-08-29Morlong Associates QUALIFIED68Ivan Magalhaes
1034Antonio S PaprockiFrance2026-08-18Buckley Miller Wright NEW52Xuxue Feng
1035Mayumi L BriddickIndia2026-08-13King, Christopher A Esq QUALIFIED77Anna Fali
1036Leja Y RulapaughFrance2026-08-24Rangoni Of Florence NEW34Anna Fali
1037Nicolas M SaylorsAustralia2026-08-23Benton, John B Jr QUALIFIED69Ioni Bowcher
1038Kadeem D BowleyArgentina2026-08-23King, Christopher A Esq RENEWAL94Asiya Javayant
1039Murillo H RutaUnited Kingdom2026-08-30Chanay, Jeffrey A Esq PROPOSAL42Ioni Bowcher
1040Morrow C FerenczUnited Kingdom2026-08-17Benton, John B Jr QUALIFIED52Stephen Shaw
1041Smith B DoeUnited Kingdom2026-08-26Chanay, Jeffrey A Esq NEW25Anna Fali
1042Munro E VenereIndia2026-08-10Commercial Press UNQUALIFIED99Asiya Javayant
1043Aika F NestleGermany2026-08-26Rousseaux, Michael Esq NEGOTIATION51Ivan Magalhaes
1044Deepesh X AmigonUnited Kingdom2026-08-26Chapman, Ross E Esq NEW94Elwin Sharvill
1045Jennifer U KuskoGermany2026-08-27Rousseaux, Michael Esq NEGOTIATION47Elwin Sharvill
1046Aika U BologniaFrance2026-08-24Feltz Printing Service QUALIFIED45Ivan Magalhaes
1047Cody A DoeItaly2026-08-05Rousseaux, Michael Esq RENEWAL72Xuxue Feng
1048Aika N ButtRussia2026-08-11Feiner Bros QUALIFIED15Asiya Javayant
1049Darci Q OstroskyBrazil2026-08-23Feltz Printing Service UNQUALIFIED4Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Salvatore T NestleCanadaAsiya Javayant NEGOTIATION
Darci M VenereJapanAmy Elsner PROPOSAL
Maria J DarakjyJapanStephen Shaw RENEWAL
Kaitlin T SlusarskiItalyStephen Shaw QUALIFIED
Morrow L GlickSpainStephen Shaw PROPOSAL
Tony Q BowleySpainXuxue Feng RENEWAL
David W DilliardFranceStephen Shaw NEGOTIATION
Chavez P StockhamFranceIvan Magalhaes UNQUALIFIED
Aika X PoquetteCanadaElwin Sharvill PROPOSAL
Tony X RulapaughAustraliaAmy Elsner QUALIFIED
Leja J StensethRussiaAsiya Javayant UNQUALIFIED
Alejandro T StockhamUnited KingdomAnna Fali RENEWAL
Nicolas Y BowleyItalyBernardo Dominic UNQUALIFIED
Clifford N OldroydFranceIvan Magalhaes PROPOSAL
Faith Q SergiSpainIvan Magalhaes PROPOSAL
Isabel J AmigonUnited KingdomElwin Sharvill QUALIFIED
Ivar T BriddickArgentinaAnna Fali NEW
Nicolas H PerinArgentinaBernardo Dominic QUALIFIED
James M MaletRussiaAmy Elsner UNQUALIFIED
Morrow V MacleadCanadaIoni Bowcher PROPOSAL
Greenwood U BriddickCanadaStephen Shaw UNQUALIFIED
Claire U SchemmerGermanyXuxue Feng QUALIFIED
Maisha Y RimBrazilElwin Sharvill QUALIFIED
Chavez W WieserUnited KingdomStephen Shaw NEGOTIATION
Salvatore W FollerSpainAnna Fali NEGOTIATION
Leon M RutaBrazilAmy Elsner UNQUALIFIED
Jones B CaldareraIndiaAsiya Javayant NEGOTIATION
Rodrigues F RutaUnited KingdomStephen Shaw UNQUALIFIED
Stacey G MorascaAustraliaAnna Fali PROPOSAL
Cody Q CaldareraAustraliaStephen Shaw NEGOTIATION
Ricardo B TollnerGermanyBernardo Dominic UNQUALIFIED
Stacey B PerinJapanXuxue Feng UNQUALIFIED
Ivar S OldroydIndiaBernardo Dominic QUALIFIED
Greenwood D SlusarskiSpainStephen Shaw QUALIFIED
Greenwood U GlickSpainIoni Bowcher QUALIFIED
Octavia J FerenczCanadaStephen Shaw NEGOTIATION
Leon U RoysterItalyStephen Shaw RENEWAL
Julie C KuskoJapanXuxue Feng NEGOTIATION
Jones I ButtJapanBernardo Dominic UNQUALIFIED
Ashley Q InouyeIndiaIoni Bowcher PROPOSAL
Juan M RimGermanyAsiya Javayant NEGOTIATION
Sinclair K BowleyIndiaBernardo Dominic RENEWAL
Maria G MacleadSpainIoni Bowcher UNQUALIFIED
Smith I IturbideRussiaAmy Elsner RENEWAL
David B DilliardUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba X OldroydItalyIoni Bowcher RENEWAL
Julie V DoeAustraliaAnna Fali NEW
Sinclair O SchemmerGermanyAnna Fali PROPOSAL
Aruna R PoquetteIndiaIvan Magalhaes QUALIFIED
Cody I PaprockiBrazilBernardo Dominic NEW
Frozen Columns
Name
Arvin D Caudy
Nicolas F Maclead
Faith R Campain
Aditya U Doe
Cody R Saylors
Ivar R Caudy
Adams Q Kolmetz
David U Darakjy
Wickens Z Inouye
Aditya F Darakjy
Claire K Oldroyd
Arvin U Iturbide
Sinclair V Bowley
Julie T Albares
Jones K Chui
Silvio B Foller
Claire D Malet
Arvin F Bowley
Munro B Briddick
Ivar I Kusko
Izzy C Stenseth
Aditya V Stockham
Claire O Figeroa
Clifford R Malet
Costa I Foller
Wickens G Sergi
Nicolas O Inouye
Deepesh J Whobrey
Clifford C Campain
Morrow V Wieser
Tony V Nicka
Francesco L Oldroyd
Leon N Flosi
Aruna H Iturbide
Mayumi V Perin
Maria Z Stockham
Alejandro B Royster
Silvio D Saylors
Cody C Marrier
Deepesh B Briddick
Francesco Z Marrier
Salvatore S Gaucho
Salvatore Q Maclead
Maisha Q Darakjy
Sinclair Z Dilliard
Jennifer V Stenseth
Antonio Q Nicka
Adams A Schemmer
Costa N Malet
Sinclair J Dilliard
IdCountryDate
1000United Kingdom2026-08-15
1001France2026-08-28
1002India2026-08-14
1003France2026-08-24
1004France2026-08-16
1005Spain2026-08-13
1006Spain2026-08-20
1007Russia2026-08-23
1008Spain2026-08-06
1009Italy2026-08-15
1010India2026-08-07
1011France2026-08-17
1012United Kingdom2026-08-18
1013Argentina2026-08-31
1014Canada2026-08-14
1015India2026-08-23
1016Spain2026-08-27
1017India2026-08-13
1018Argentina2026-08-17
1019India2026-08-24
1020France2026-08-05
1021Russia2026-08-20
1022United Kingdom2026-08-14
1023Russia2026-08-05
1024Argentina2026-08-09
1025Russia2026-08-20
1026Japan2026-08-11
1027France2026-08-11
1028France2026-09-01
1029Argentina2026-08-28
1030Japan2026-09-01
1031Brazil2026-08-13
1032United Kingdom2026-08-20
1033Germany2026-08-08
1034Australia2026-08-21
1035Canada2026-08-10
1036Spain2026-08-19
1037Canada2026-08-19
1038Italy2026-08-11
1039Argentina2026-08-24
1040Italy2026-08-16
1041Italy2026-08-15
1042Spain2026-09-02
1043India2026-09-02
1044Spain2026-08-16
1045Italy2026-08-16
1046Italy2026-08-15
1047Argentina2026-08-20
1048Spain2026-09-02
1049Italy2026-08-09

On-Demand Data

NameIdCountryDate
Maria O Inouye1000Japan2026-08-30
Nicolas T Stockham1001Canada2026-08-08
Munro O Chui1002France2026-08-12
Salvatore H Ostrosky1003Italy2026-08-30
Izzy E Darakjy1004Brazil2026-08-22
Clifford B Ostrosky1005Spain2026-08-13
Johnson N Gillian1006Italy2026-08-19
Kadeem L Perin1007Spain2026-08-13
Mujtaba V Oldroyd1008Japan2026-08-06
Aika R Darakjy1009Argentina2026-08-24
Cody F Inouye1010India2026-08-06
Murillo S Chui1011Italy2026-08-07
Alejandro Y Nicka1012Canada2026-08-14
Octavia T Oldroyd1013India2026-08-07
Arvin Y Perin1014India2026-08-18
Faith F Doe1015Argentina2026-08-04
Jennifer D Gaucho1016India2026-08-31
Jeanfrancois F Garufi1017France2026-08-20
Octavia G Rim1018Brazil2026-08-31
Kadeem H Ruta1019India2026-08-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco P MacleadBrazilIoni Bowcher RENEWAL
Arvin F DarakjyBrazilIoni Bowcher UNQUALIFIED
Faith O MaletFranceAnna Fali UNQUALIFIED
Aditya X MorascaSpainAmy Elsner QUALIFIED
Morrow R MorascaArgentinaStephen Shaw RENEWAL
Isabel X OldroydJapanOnyama Limba QUALIFIED
Aika P PerinGermanyBernardo Dominic UNQUALIFIED
Stacey N CaudyItalyElwin Sharvill QUALIFIED
Maisha K MarrierJapanElwin Sharvill PROPOSAL
Aruna W WaycottFranceAsiya Javayant NEW
Jefferson G RutaFranceIvan Magalhaes NEW
Emily C GlickItalyAsiya Javayant NEW
Kaitlin J VocelkaRussiaAnna Fali RENEWAL
Greenwood G AlbaresItalyAmy Elsner PROPOSAL
Mayumi K IturbideItalyElwin Sharvill NEGOTIATION
Francesco B SchemmerFranceElwin Sharvill PROPOSAL
James W WaycottBrazilStephen Shaw QUALIFIED
Jennifer M SlusarskiSpainOnyama Limba QUALIFIED
Aruna Y TollnerItalyAnna Fali PROPOSAL
Faith G PerinRussiaAmy Elsner NEW
Jeanfrancois C GlickIndiaAmy Elsner NEGOTIATION
Mujtaba S NickaGermanyIoni Bowcher PROPOSAL
Johnson J DarakjyCanadaAsiya Javayant NEGOTIATION
Morrow D RutaUnited KingdomElwin Sharvill RENEWAL
Morrow Y DilliardCanadaAsiya Javayant QUALIFIED
Cody J NestleRussiaElwin Sharvill NEW
Wickens U StockhamFranceXuxue Feng NEW
Julie C StensethArgentinaStephen Shaw UNQUALIFIED
Ricardo Y NestleCanadaBernardo Dominic NEW
Johnson X AlbaresGermanyBernardo Dominic RENEWAL
Julie J OldroydSpainAmy Elsner RENEWAL
Mayumi H MaletIndiaAsiya Javayant QUALIFIED
James L RoysterJapanXuxue Feng QUALIFIED
Francesco W VocelkaIndiaAnna Fali UNQUALIFIED
Cody B ShinkoRussiaAmy Elsner PROPOSAL
Silvio N BologniaAustraliaElwin Sharvill RENEWAL
Aditya K SaylorsIndiaXuxue Feng UNQUALIFIED
Cody Z GarufiItalyAmy Elsner PROPOSAL
Greenwood N InouyeFranceElwin Sharvill RENEWAL
Wickens T OldroydRussiaStephen Shaw 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>