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
Leja Y DarakjyBrazilIoni Bowcher NEGOTIATION
Emily U InouyeGermanyIoni Bowcher RENEWAL
Antonio Q PaprockiJapanStephen Shaw QUALIFIED
Francesco J CampainBrazilAmy Elsner RENEWAL
Misaki B FerenczUnited KingdomElwin Sharvill NEW
Alejandro D FollerBrazilElwin Sharvill QUALIFIED
Julie D FigeroaAustraliaIvan Magalhaes QUALIFIED
Sinclair S WaycottRussiaIoni Bowcher PROPOSAL
Kadeem N GlickItalyXuxue Feng RENEWAL
Munro E ShinkoAustraliaBernardo Dominic UNQUALIFIED
Salvatore P FlosiFranceXuxue Feng NEW
Emily P MacleadAustraliaAsiya Javayant QUALIFIED
Kadeem I PoquetteArgentinaBernardo Dominic RENEWAL
Juan O DilliardAustraliaAsiya Javayant PROPOSAL
David Z AmigonAustraliaIvan Magalhaes PROPOSAL
Antonio M CaudyUnited KingdomAnna Fali NEGOTIATION
Smith W DilliardItalyOnyama Limba QUALIFIED
Greenwood Q CaldareraArgentinaAsiya Javayant PROPOSAL
David O CaldareraSpainAsiya Javayant QUALIFIED
Smith N BologniaAustraliaOnyama Limba QUALIFIED
Arvin A DilliardCanadaIoni Bowcher RENEWAL
Tony N WieserBrazilIoni Bowcher RENEWAL
Francesco V MaletCanadaAsiya Javayant NEGOTIATION
Ashley L VenereSpainAnna Fali NEW
Kaitlin B CampainBrazilOnyama Limba PROPOSAL
Arvin R BowleyJapanAsiya Javayant NEW
Salvatore I GlickJapanOnyama Limba NEW
Adams B WhobreyRussiaXuxue Feng QUALIFIED
Salvatore V MacleadGermanyOnyama Limba NEW
Isabel B RutaJapanElwin Sharvill NEGOTIATION
Jefferson P PaprockiJapanAsiya Javayant UNQUALIFIED
Jennifer V VocelkaArgentinaIoni Bowcher NEW
Costa V MacleadJapanAmy Elsner UNQUALIFIED
Antonio C BowleyRussiaElwin Sharvill NEGOTIATION
Mayumi T RulapaughItalyElwin Sharvill NEW
Faith S FerenczIndiaIoni Bowcher NEGOTIATION
Izzy D PoquetteJapanOnyama Limba NEW
Clifford X MaletFranceStephen Shaw QUALIFIED
Wickens Z ChuiItalyIoni Bowcher PROPOSAL
Ivar K NickaCanadaIvan Magalhaes QUALIFIED
Kadeem T AmigonRussiaOnyama Limba PROPOSAL
Smith C CaudyFranceAmy Elsner NEGOTIATION
Leja V WhobreySpainAnna Fali RENEWAL
Juan Y MaletIndiaStephen Shaw NEGOTIATION
Nicolas N WhobreyUnited KingdomAmy Elsner QUALIFIED
Tony N FigeroaArgentinaAmy Elsner RENEWAL
Maisha R MacleadCanadaXuxue Feng QUALIFIED
Ashley E VocelkaAustraliaOnyama Limba QUALIFIED
Arvin Y CaldareraRussiaIoni Bowcher RENEWAL
Alejandro M IturbideUnited KingdomAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Morrow N PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez G NickaGermanyStephen Shaw QUALIFIED
Rodrigues B CaldareraCanadaXuxue Feng RENEWAL
Darci Z GillianIndiaAmy Elsner NEGOTIATION
Maisha D WhobreyIndiaElwin Sharvill NEW
Kaitlin M CaudyGermanyXuxue Feng NEW
Leon S CaldareraIndiaStephen Shaw NEGOTIATION
Rodrigues Y ChuiFranceAnna Fali PROPOSAL
Leja K FlosiCanadaBernardo Dominic RENEWAL
Mayumi E WhobreyBrazilStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro P DilliardCanada2026-10-18King, Christopher A Esq NEW46Stephen Shaw
1001Aditya K FerenczArgentina2026-10-12Chapman, Ross E Esq UNQUALIFIED12Asiya Javayant
1002Kadeem C GauchoGermany2026-10-19Buckley Miller Wright PROPOSAL8Bernardo Dominic
1003Costa W WhobreyUnited Kingdom2026-10-18Chapman, Ross E Esq QUALIFIED22Onyama Limba
1004Silvio M WieserBrazil2026-11-04Rousseaux, Michael Esq QUALIFIED25Asiya Javayant
1005Ashley J ChuiIndia2026-10-19Chemel, James L Cpa NEW62Amy Elsner
1006Stacey G RulapaughItaly2026-11-04Chapman, Ross E Esq RENEWAL94Stephen Shaw
1007Jones K PoquetteSpain2026-10-14Feiner Bros NEW70Ioni Bowcher
1008Jones O OldroydFrance2026-10-10Rousseaux, Michael Esq RENEWAL24Elwin Sharvill
1009Chavez U IturbideCanada2026-10-19King, Christopher A Esq QUALIFIED52Ioni Bowcher
1010Wickens O SlusarskiBrazil2026-11-04Dorl, James J Esq NEW22Bernardo Dominic
1011Francesco Z BowleyAustralia2026-10-28Rousseaux, Michael Esq UNQUALIFIED39Amy Elsner
1012Aditya Z RulapaughGermany2026-10-07Chanay, Jeffrey A Esq QUALIFIED88Anna Fali
1013Smith L PoquetteIndia2026-10-11Dorl, James J Esq NEGOTIATION20Anna Fali
1014Maisha F CaudyGermany2026-10-20Commercial Press RENEWAL85Anna Fali
1015Julie S RutaUnited Kingdom2026-10-20Chanay, Jeffrey A Esq NEGOTIATION45Amy Elsner
1016Aditya S AlbaresJapan2026-11-02Chapman, Ross E Esq PROPOSAL49Ivan Magalhaes
1017Jeanfrancois D MaletSpain2026-10-14Feltz Printing Service NEW81Ioni Bowcher
1018Sinclair B CampainJapan2026-10-19Truhlar And Truhlar Attys RENEWAL28Stephen Shaw
1019Jones L DarakjyArgentina2026-11-04Benton, John B Jr NEW20Stephen Shaw
1020Aditya F OstroskyBrazil2026-11-02Morlong Associates QUALIFIED44Onyama Limba
1021Leon A GarufiJapan2026-10-30Commercial Press NEGOTIATION61Onyama Limba
1022Juan M IturbideIndia2026-10-26Rangoni Of Florence NEW78Ioni Bowcher
1023Emily R FigeroaSpain2026-10-08Benton, John B Jr PROPOSAL70Asiya Javayant
1024Sinclair V RimRussia2026-10-11Feiner Bros RENEWAL36Xuxue Feng
1025Faith X CampainRussia2026-10-11Benton, John B Jr NEW70Ioni Bowcher
1026Julie Y KolmetzRussia2026-10-18Rousseaux, Michael Esq PROPOSAL50Anna Fali
1027Julie B GillianFrance2026-10-31Feltz Printing Service NEGOTIATION65Elwin Sharvill
1028Leon O KuskoUnited Kingdom2026-10-31Commercial Press NEGOTIATION91Amy Elsner
1029Ivar A BowleyIndia2026-10-28Chemel, James L Cpa NEGOTIATION10Asiya Javayant
1030Jones C DarakjyRussia2026-10-24Chanay, Jeffrey A Esq UNQUALIFIED17Xuxue Feng
1031Isabel Z NickaGermany2026-10-11Dorl, James J Esq QUALIFIED50Bernardo Dominic
1032Aika W WieserRussia2026-10-07Feltz Printing Service NEGOTIATION61Amy Elsner
1033Francesco I PaprockiItaly2026-10-07Dorl, James J Esq PROPOSAL89Anna Fali
1034Johnson T MarrierJapan2026-10-30Rousseaux, Michael Esq NEGOTIATION33Onyama Limba
1035Isabel X InouyeCanada2026-10-20Chanay, Jeffrey A Esq RENEWAL84Amy Elsner
1036Ivar C MorascaJapan2026-10-31Morlong Associates RENEWAL69Bernardo Dominic
1037Tony Y KolmetzSpain2026-10-20Benton, John B Jr NEGOTIATION42Asiya Javayant
1038Juan Y ChuiAustralia2026-10-14Chanay, Jeffrey A Esq NEW49Elwin Sharvill
1039Mujtaba Z DilliardFrance2026-10-22Rangoni Of Florence RENEWAL46Xuxue Feng
1040Misaki W AmigonFrance2026-10-23Printing Dimensions RENEWAL74Amy Elsner
1041Rodrigues Q RimAustralia2026-10-13Dorl, James J Esq RENEWAL6Anna Fali
1042Sinclair V SlusarskiBrazil2026-10-14Commercial Press UNQUALIFIED90Onyama Limba
1043Maria D MorascaUnited Kingdom2026-10-08Rousseaux, Michael Esq PROPOSAL37Bernardo Dominic
1044Ricardo Q AmigonArgentina2026-10-30Morlong Associates NEGOTIATION56Onyama Limba
1045Alejandro V ShinkoUnited Kingdom2026-10-08Dorl, James J Esq NEGOTIATION51Onyama Limba
1046Antonio D BowleyCanada2026-10-13Chemel, James L Cpa RENEWAL17Ivan Magalhaes
1047Leon M StensethRussia2026-11-01King, Christopher A Esq PROPOSAL36Onyama Limba
1048Tony Y GlickFrance2026-10-20Commercial Press NEGOTIATION14Asiya Javayant
1049Jeanfrancois V OstroskyJapan2026-11-03Commercial Press QUALIFIED9Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maisha F FollerJapanXuxue Feng NEW
Ricardo H RimIndiaXuxue Feng NEW
Rodrigues V GlickSpainAmy Elsner PROPOSAL
Leja U AlbaresUnited KingdomAnna Fali NEW
Wickens P DoeIndiaStephen Shaw NEW
Emily M InouyeJapanAsiya Javayant QUALIFIED
Silvio R OldroydItalyIoni Bowcher QUALIFIED
Mayumi B AlbaresBrazilStephen Shaw NEW
Darci U PerinFranceBernardo Dominic RENEWAL
Aika M SlusarskiGermanyXuxue Feng UNQUALIFIED
Mayumi K SaylorsCanadaElwin Sharvill UNQUALIFIED
Johnson G RoysterSpainAsiya Javayant NEGOTIATION
Julie W StockhamIndiaElwin Sharvill QUALIFIED
Sinclair X StockhamJapanIvan Magalhaes QUALIFIED
Aruna Z OldroydArgentinaAmy Elsner RENEWAL
David I CaudyFranceAmy Elsner UNQUALIFIED
Adams R CaudyBrazilElwin Sharvill RENEWAL
Salvatore C GauchoFranceElwin Sharvill NEGOTIATION
Salvatore L SergiIndiaIoni Bowcher UNQUALIFIED
Johnson E PerinBrazilAnna Fali NEW
Morrow U BriddickSpainOnyama Limba PROPOSAL
Rodrigues H ShinkoFranceAnna Fali RENEWAL
Mujtaba Y MorascaCanadaBernardo Dominic PROPOSAL
Alejandro W WaycottFranceAsiya Javayant NEGOTIATION
Clifford G CampainGermanyIoni Bowcher QUALIFIED
Darci B WieserGermanyBernardo Dominic PROPOSAL
Johnson R BriddickCanadaStephen Shaw NEW
Faith H VocelkaArgentinaStephen Shaw UNQUALIFIED
Costa P SergiGermanyAnna Fali UNQUALIFIED
Octavia U PaprockiJapanIvan Magalhaes RENEWAL
Arvin N GarufiFranceBernardo Dominic QUALIFIED
Claire E AlbaresFranceAsiya Javayant NEGOTIATION
James J NickaFranceAmy Elsner NEW
Munro A KolmetzIndiaAsiya Javayant UNQUALIFIED
Stacey L CaudyArgentinaIvan Magalhaes QUALIFIED
Isabel K GlickIndiaStephen Shaw RENEWAL
Mayumi R VenereUnited KingdomAmy Elsner RENEWAL
Rodrigues B GillianSpainIvan Magalhaes UNQUALIFIED
Smith F MacleadUnited KingdomOnyama Limba PROPOSAL
Leon M MarrierGermanyAsiya Javayant UNQUALIFIED
Nicolas I FlosiJapanAnna Fali UNQUALIFIED
Ricardo G WhobreyAustraliaAmy Elsner QUALIFIED
Mujtaba G ButtUnited KingdomAnna Fali QUALIFIED
Maria C OldroydCanadaBernardo Dominic UNQUALIFIED
Jones V BriddickSpainAsiya Javayant PROPOSAL
Leon E ButtRussiaAnna Fali RENEWAL
Alejandro A RulapaughBrazilElwin Sharvill RENEWAL
Julie D SlusarskiCanadaOnyama Limba QUALIFIED
Chavez V IturbideArgentinaAnna Fali RENEWAL
Adams S BowleyBrazilIvan Magalhaes RENEWAL
Frozen Columns
Name
Johnson T Iturbide
Claire H Rulapaugh
Costa G Malet
Leon Y Rim
Ashley E Amigon
Sinclair O Caudy
Aruna M Whobrey
Cody K Sergi
Smith U Morasca
Julie K Whobrey
Cody A Poquette
Juan Q Darakjy
Emily E Ferencz
Faith M Perin
Aruna G Royster
Faith S Gaucho
Jefferson P Garufi
Francesco R Kusko
Kadeem J Foller
Rodrigues O Ferencz
James I Chui
Darci A Bowley
Rodrigues E Ostrosky
Rodrigues V Tollner
Rodrigues X Marrier
Misaki O Perin
Emily F Amigon
Aika R Inouye
Aditya Z Whobrey
Johnson U Ruta
Francesco N Malet
Stacey P Inouye
Munro P Butt
Aditya J Foller
Isabel R Oldroyd
Leon D Morasca
Francesco K Whobrey
Nicolas J Bowley
Munro X Shinko
Mujtaba X Shinko
Leja H Inouye
David K Nicka
Jones X Poquette
Arvin G Schemmer
Deepesh X Campain
Izzy D Iturbide
Aruna Y Waycott
Sinclair I Paprocki
James L Amigon
Tony M Foller
IdCountryDate
1000Brazil2026-10-22
1001Italy2026-10-21
1002Russia2026-10-13
1003France2026-10-27
1004Australia2026-10-21
1005Spain2026-10-20
1006United Kingdom2026-10-10
1007France2026-10-10
1008Russia2026-10-22
1009Japan2026-10-22
1010Russia2026-11-01
1011Australia2026-11-01
1012Australia2026-10-25
1013France2026-10-10
1014Italy2026-10-23
1015Japan2026-10-07
1016India2026-10-12
1017Australia2026-10-06
1018Germany2026-10-09
1019India2026-10-12
1020Russia2026-11-01
1021France2026-10-10
1022Canada2026-10-10
1023Germany2026-10-30
1024United Kingdom2026-10-19
1025Argentina2026-10-18
1026France2026-10-16
1027Italy2026-10-16
1028Brazil2026-10-31
1029Germany2026-10-15
1030Argentina2026-10-08
1031Spain2026-10-14
1032Italy2026-10-20
1033Japan2026-11-03
1034France2026-10-12
1035Italy2026-10-22
1036Australia2026-11-02
1037Japan2026-10-10
1038Germany2026-10-24
1039Spain2026-10-09
1040Canada2026-10-19
1041Argentina2026-10-16
1042Japan2026-10-06
1043Brazil2026-10-07
1044Canada2026-10-06
1045United Kingdom2026-10-30
1046France2026-10-08
1047France2026-10-20
1048France2026-10-30
1049Italy2026-10-08

On-Demand Data

NameIdCountryDate
Smith Y Dilliard1000Brazil2026-10-09
Jefferson J Dilliard1001Germany2026-10-19
Francesco O Amigon1002United Kingdom2026-10-18
Greenwood I Garufi1003United Kingdom2026-10-31
Sinclair C Tollner1004Brazil2026-10-15
Leon O Chui1005Argentina2026-10-12
Smith D Bolognia1006India2026-10-13
Leja V Campain1007Italy2026-10-09
Tony R Malet1008Canada2026-10-14
Greenwood A Garufi1009Australia2026-10-24
Kadeem N Gillian1010Australia2026-10-28
Ivar S Whobrey1011Brazil2026-10-28
Smith L Bowley1012Russia2026-10-10
Arvin J Whobrey1013Argentina2026-11-02
Jeanfrancois J Rulapaugh1014Australia2026-10-08
Clifford N Nestle1015France2026-10-15
Cody R Figeroa1016Australia2026-10-25
Juan O Albares1017Japan2026-10-28
David H Amigon1018Argentina2026-10-26
Cody W Royster1019Japan2026-10-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues W RoysterFranceAnna Fali PROPOSAL
Julie M DilliardFranceAnna Fali PROPOSAL
Nicolas X GillianGermanyIvan Magalhaes RENEWAL
Emily F MarrierFranceAnna Fali NEGOTIATION
Leon Z GauchoItalyBernardo Dominic RENEWAL
Aika C RutaArgentinaElwin Sharvill NEGOTIATION
Maria R MacleadCanadaXuxue Feng NEGOTIATION
Deepesh M VenereItalyStephen Shaw QUALIFIED
Jennifer A BowleyBrazilAmy Elsner PROPOSAL
Isabel C BologniaGermanyOnyama Limba QUALIFIED
Deepesh A ButtIndiaAsiya Javayant NEW
Alejandro F CaudyArgentinaXuxue Feng NEGOTIATION
Octavia Y VocelkaCanadaOnyama Limba NEW
Clifford H FlosiJapanStephen Shaw NEW
Nicolas M IturbideAustraliaAnna Fali NEW
Izzy C GarufiArgentinaAnna Fali RENEWAL
Ashley Z SaylorsGermanyElwin Sharvill NEGOTIATION
Mayumi Q SlusarskiRussiaIoni Bowcher UNQUALIFIED
James X TollnerSpainBernardo Dominic NEGOTIATION
Johnson V OldroydArgentinaAmy Elsner QUALIFIED
Ashley D VenereGermanyElwin Sharvill NEGOTIATION
Adams T OstroskyRussiaOnyama Limba UNQUALIFIED
Misaki X RutaItalyElwin Sharvill NEGOTIATION
Morrow F RoysterCanadaAsiya Javayant UNQUALIFIED
Tony I PoquetteFranceOnyama Limba QUALIFIED
Mujtaba L RutaSpainIoni Bowcher PROPOSAL
Kadeem S PaprockiBrazilXuxue Feng QUALIFIED
Antonio T BologniaAustraliaStephen Shaw RENEWAL
Julie J MarrierBrazilXuxue Feng PROPOSAL
Munro S RutaRussiaBernardo Dominic QUALIFIED
Smith J FollerRussiaXuxue Feng PROPOSAL
Jeanfrancois J WieserBrazilElwin Sharvill NEW
David P MaletItalyAmy Elsner RENEWAL
Clifford Y RoysterJapanStephen Shaw UNQUALIFIED
Alejandro S FigeroaItalyAsiya Javayant NEGOTIATION
Ivar X CampainSpainOnyama Limba NEGOTIATION
Kaitlin I PerinIndiaBernardo Dominic UNQUALIFIED
Leja F GlickBrazilIvan Magalhaes NEGOTIATION
Darci S ChuiIndiaStephen Shaw QUALIFIED
Leon O RulapaughJapanOnyama Limba RENEWAL

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