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
Nicolas B DarakjyRussiaStephen Shaw NEW
Alejandro F BowleyRussiaAsiya Javayant UNQUALIFIED
Mujtaba Z ButtIndiaAsiya Javayant NEW
Francesco X StockhamCanadaXuxue Feng NEGOTIATION
Mayumi Y BologniaBrazilElwin Sharvill RENEWAL
Claire V GillianBrazilElwin Sharvill RENEWAL
Jennifer D DarakjySpainXuxue Feng QUALIFIED
Wickens H RutaJapanAnna Fali UNQUALIFIED
Izzy G StensethSpainIvan Magalhaes NEGOTIATION
Johnson J MacleadItalyElwin Sharvill QUALIFIED
Deepesh X OstroskyCanadaStephen Shaw UNQUALIFIED
Alejandro K SaylorsIndiaIoni Bowcher RENEWAL
Antonio D InouyeBrazilIoni Bowcher QUALIFIED
Claire U PoquetteCanadaBernardo Dominic UNQUALIFIED
Costa H GarufiGermanyStephen Shaw NEGOTIATION
Costa Z SergiAustraliaOnyama Limba UNQUALIFIED
Jones W CaldareraIndiaAnna Fali UNQUALIFIED
Kadeem K PerinFranceIvan Magalhaes NEGOTIATION
Arvin R OldroydSpainAsiya Javayant NEW
Francesco R PerinBrazilBernardo Dominic PROPOSAL
Wickens V BriddickJapanIvan Magalhaes RENEWAL
Jefferson X BowleyJapanBernardo Dominic UNQUALIFIED
Misaki X WaycottFranceIoni Bowcher UNQUALIFIED
Leon B BriddickGermanyBernardo Dominic NEGOTIATION
Johnson P InouyeJapanXuxue Feng RENEWAL
Greenwood C FollerItalyAnna Fali PROPOSAL
Jennifer V PaprockiRussiaStephen Shaw UNQUALIFIED
Munro M IturbideArgentinaIvan Magalhaes NEGOTIATION
Cody W FlosiCanadaElwin Sharvill NEW
Munro S WaycottItalyAsiya Javayant NEGOTIATION
Arvin D IturbideAustraliaAnna Fali RENEWAL
Aika Q PerinSpainIvan Magalhaes PROPOSAL
Nicolas F WhobreyArgentinaAmy Elsner NEW
Julie I ButtUnited KingdomElwin Sharvill PROPOSAL
Jones K RoysterBrazilStephen Shaw RENEWAL
Munro H SlusarskiIndiaAsiya Javayant NEW
Francesco L PerinItalyBernardo Dominic NEW
Cody Q ButtIndiaAsiya Javayant QUALIFIED
Julie I IturbideRussiaIoni Bowcher QUALIFIED
Chavez U BriddickAustraliaAmy Elsner RENEWAL
Jefferson M ShinkoAustraliaOnyama Limba QUALIFIED
Wickens F PaprockiJapanIvan Magalhaes PROPOSAL
Darci T OldroydJapanAnna Fali UNQUALIFIED
Octavia S NickaCanadaElwin Sharvill NEW
Julie T VenereUnited KingdomAmy Elsner NEW
Claire Z KolmetzBrazilOnyama Limba PROPOSAL
Silvio X KolmetzArgentinaXuxue Feng NEW
Rodrigues F MaletBrazilOnyama Limba UNQUALIFIED
Aruna A ChuiSpainIvan Magalhaes NEW
Cody N InouyeFranceAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin W MorascaCanadaIoni Bowcher QUALIFIED
Darci F BriddickRussiaElwin Sharvill QUALIFIED
Silvio B InouyeIndiaXuxue Feng QUALIFIED
Johnson Y MorascaItalyElwin Sharvill RENEWAL
Murillo F CampainFranceXuxue Feng NEGOTIATION
Munro K KuskoCanadaBernardo Dominic QUALIFIED
Silvio Z OldroydJapanBernardo Dominic NEW
Deepesh X MaletSpainIvan Magalhaes QUALIFIED
Ashley O MarrierGermanyOnyama Limba NEGOTIATION
Jefferson D MaletRussiaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci R PerinIndia2026-11-01Chapman, Ross E Esq RENEWAL89Asiya Javayant
1001Silvio J WhobreyGermany2026-10-13Feiner Bros RENEWAL41Onyama Limba
1002James A AmigonCanada2026-11-01Printing Dimensions PROPOSAL40Ioni Bowcher
1003Salvatore B NickaSpain2026-10-06Rousseaux, Michael Esq QUALIFIED20Xuxue Feng
1004Emily P BriddickGermany2026-10-26King, Christopher A Esq RENEWAL76Anna Fali
1005Misaki G StockhamItaly2026-11-02Buckley Miller Wright NEGOTIATION42Elwin Sharvill
1006Aika N GlickSpain2026-10-29Dorl, James J Esq UNQUALIFIED11Amy Elsner
1007Smith O FerenczGermany2026-11-01Morlong Associates NEW21Ioni Bowcher
1008Juan G TollnerUnited Kingdom2026-10-14Dorl, James J Esq RENEWAL95Stephen Shaw
1009Jennifer C RulapaughBrazil2026-10-21Feiner Bros NEGOTIATION36Asiya Javayant
1010Jeanfrancois U RimGermany2026-10-31Buckley Miller Wright NEW49Elwin Sharvill
1011Ashley J FollerCanada2026-10-06Chemel, James L Cpa PROPOSAL13Xuxue Feng
1012Jefferson U MarrierAustralia2026-10-28Chemel, James L Cpa RENEWAL79Elwin Sharvill
1013Ricardo Z TollnerArgentina2026-10-10Chemel, James L Cpa UNQUALIFIED44Xuxue Feng
1014Johnson P GarufiIndia2026-11-02Morlong Associates NEW7Elwin Sharvill
1015Kadeem I CaldareraSpain2026-10-24Commercial Press PROPOSAL16Bernardo Dominic
1016Clifford N StensethFrance2026-10-12Chapman, Ross E Esq NEGOTIATION39Asiya Javayant
1017Sinclair V KuskoJapan2026-10-04Rangoni Of Florence QUALIFIED31Anna Fali
1018Tony X DoeJapan2026-10-19Printing Dimensions PROPOSAL18Amy Elsner
1019Rodrigues G AmigonGermany2026-10-30Truhlar And Truhlar Attys UNQUALIFIED71Xuxue Feng
1020Kadeem H VocelkaArgentina2026-10-21Benton, John B Jr PROPOSAL28Bernardo Dominic
1021Jefferson F BologniaCanada2026-10-16Commercial Press RENEWAL60Anna Fali
1022Tony F VocelkaRussia2026-10-28Benton, John B Jr UNQUALIFIED73Ioni Bowcher
1023Arvin H PerinBrazil2026-10-24Buckley Miller Wright RENEWAL35Xuxue Feng
1024Jennifer Y SchemmerGermany2026-10-24Chanay, Jeffrey A Esq PROPOSAL31Stephen Shaw
1025Antonio A ButtGermany2026-10-08Benton, John B Jr RENEWAL91Asiya Javayant
1026Octavia G TollnerCanada2026-10-27Feltz Printing Service PROPOSAL2Amy Elsner
1027Chavez L IturbideCanada2026-11-02Rangoni Of Florence UNQUALIFIED93Xuxue Feng
1028Arvin B NestleCanada2026-10-21Feiner Bros QUALIFIED8Anna Fali
1029Munro G DilliardGermany2026-10-17Benton, John B Jr RENEWAL42Ioni Bowcher
1030Jefferson K RutaSpain2026-10-09Dorl, James J Esq UNQUALIFIED47Bernardo Dominic
1031Nicolas S StockhamJapan2026-10-12Rangoni Of Florence UNQUALIFIED95Anna Fali
1032Misaki D GillianFrance2026-10-08Chemel, James L Cpa RENEWAL8Amy Elsner
1033Murillo C RoysterSpain2026-10-31Rangoni Of Florence QUALIFIED63Asiya Javayant
1034Ricardo U ChuiFrance2026-10-26Dorl, James J Esq QUALIFIED5Ioni Bowcher
1035Octavia X RutaItaly2026-10-31Commercial Press QUALIFIED50Amy Elsner
1036Aditya A WieserSpain2026-10-08Benton, John B Jr QUALIFIED46Xuxue Feng
1037Nicolas T WieserFrance2026-10-29Printing Dimensions RENEWAL83Anna Fali
1038Jones P DoeFrance2026-10-24Rangoni Of Florence NEW56Amy Elsner
1039Darci K ShinkoUnited Kingdom2026-10-05Feiner Bros NEW11Amy Elsner
1040Clifford B SlusarskiSpain2026-10-11Feiner Bros PROPOSAL87Ivan Magalhaes
1041Costa Y SchemmerBrazil2026-11-02King, Christopher A Esq PROPOSAL62Ivan Magalhaes
1042Darci R BriddickJapan2026-10-20Feiner Bros NEGOTIATION68Asiya Javayant
1043Claire U WieserItaly2026-10-23Benton, John B Jr NEGOTIATION54Bernardo Dominic
1044Adams F NickaBrazil2026-10-05Rangoni Of Florence NEW81Onyama Limba
1045Nicolas A SaylorsGermany2026-10-15Commercial Press NEW26Anna Fali
1046Aika L MarrierJapan2026-10-19Rousseaux, Michael Esq UNQUALIFIED96Ioni Bowcher
1047Francesco G FlosiGermany2026-10-10Rousseaux, Michael Esq PROPOSAL57Amy Elsner
1048Kaitlin O SchemmerSpain2026-10-28Buckley Miller Wright RENEWAL1Ioni Bowcher
1049Antonio D BriddickIndia2026-10-17Printing Dimensions PROPOSAL45Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Wickens L FerenczSpainOnyama Limba NEW
Izzy L NestleGermanyAnna Fali NEGOTIATION
Maisha S GauchoIndiaIoni Bowcher UNQUALIFIED
Aika K SergiIndiaIoni Bowcher RENEWAL
Ricardo A DarakjyFranceAnna Fali QUALIFIED
Arvin K RoysterRussiaAsiya Javayant QUALIFIED
Emily K GauchoGermanyAnna Fali PROPOSAL
Adams A MaletUnited KingdomAmy Elsner QUALIFIED
Ashley S MaletJapanAnna Fali NEGOTIATION
Kadeem R MorascaRussiaIvan Magalhaes RENEWAL
Julie C OldroydGermanyXuxue Feng PROPOSAL
Maria P AlbaresAustraliaAmy Elsner NEW
Jefferson Y MorascaUnited KingdomElwin Sharvill NEGOTIATION
Morrow R PerinCanadaElwin Sharvill UNQUALIFIED
Kaitlin L SergiCanadaAnna Fali UNQUALIFIED
Ivar J AlbaresBrazilXuxue Feng RENEWAL
Aditya N GillianItalyXuxue Feng RENEWAL
Leon E GillianBrazilAnna Fali NEGOTIATION
Cody L DarakjyAustraliaStephen Shaw RENEWAL
Costa S RulapaughArgentinaAnna Fali QUALIFIED
Ivar O MaletBrazilAnna Fali PROPOSAL
Mujtaba X AmigonAustraliaAsiya Javayant PROPOSAL
James M FollerSpainBernardo Dominic PROPOSAL
Morrow A PoquetteGermanyStephen Shaw NEW
Smith H SaylorsUnited KingdomIvan Magalhaes NEW
Jones H MarrierAustraliaStephen Shaw UNQUALIFIED
Mayumi F WaycottAustraliaBernardo Dominic PROPOSAL
Misaki F OldroydGermanyXuxue Feng PROPOSAL
Octavia U CaudyUnited KingdomOnyama Limba NEGOTIATION
Silvio C WieserUnited KingdomStephen Shaw PROPOSAL
Sinclair Q VocelkaItalyIoni Bowcher UNQUALIFIED
Francesco N TollnerUnited KingdomBernardo Dominic NEGOTIATION
Morrow G RimSpainAnna Fali UNQUALIFIED
Aika L MaletGermanyAmy Elsner NEGOTIATION
Jefferson T CaudyIndiaXuxue Feng NEGOTIATION
Juan Q WaycottCanadaIoni Bowcher NEW
Francesco D IturbideRussiaStephen Shaw UNQUALIFIED
Jeanfrancois S DilliardCanadaXuxue Feng NEGOTIATION
Greenwood I BologniaArgentinaIoni Bowcher UNQUALIFIED
Isabel H PaprockiArgentinaIoni Bowcher RENEWAL
Leja D VocelkaGermanyStephen Shaw PROPOSAL
Tony X FigeroaCanadaIvan Magalhaes QUALIFIED
Leja T PerinIndiaIvan Magalhaes RENEWAL
Cody H MarrierGermanyAsiya Javayant RENEWAL
Kadeem Z NickaJapanAnna Fali NEW
Murillo M RulapaughIndiaAnna Fali NEW
Maisha A GlickRussiaOnyama Limba RENEWAL
Johnson Y SchemmerFranceAmy Elsner PROPOSAL
Cody S FollerFranceAmy Elsner UNQUALIFIED
Arvin K MacleadCanadaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Octavia V Stockham
Kadeem H Butt
Silvio N Rulapaugh
Jefferson J Saylors
Munro Q Doe
Juan T Whobrey
Izzy F Gillian
Emily Y Briddick
James M Oldroyd
David G Schemmer
Juan U Shinko
Salvatore U Bowley
Jones C Perin
Greenwood O Sergi
Misaki U Tollner
Smith L Saylors
Murillo D Sergi
Morrow V Schemmer
Faith D Paprocki
Maisha Q Paprocki
Darci S Saylors
Jennifer Y Rulapaugh
Rodrigues C Rulapaugh
Silvio J Waycott
Octavia X Malet
Silvio L Paprocki
Francesco Z Glick
Francesco N Waycott
Jefferson N Iturbide
Jennifer L Oldroyd
Leja C Waycott
Antonio V Garufi
Wickens K Venere
Tony C Royster
Morrow C Flosi
Julie C Garufi
Octavia O Bowley
Claire F Gaucho
Morrow F Shinko
Arvin M Oldroyd
Silvio Z Morasca
Chavez W Maclead
Deepesh V Waycott
Munro T Waycott
Adams R Glick
Darci I Flosi
Darci F Caldarera
Murillo T Royster
Ricardo Q Kusko
Mayumi M Garufi
IdCountryDate
1000Italy2026-10-08
1001Spain2026-10-12
1002Australia2026-10-12
1003Canada2026-11-02
1004Germany2026-10-15
1005India2026-10-27
1006Japan2026-10-07
1007Australia2026-10-04
1008Italy2026-10-19
1009Australia2026-10-19
1010Japan2026-10-08
1011Brazil2026-10-28
1012Spain2026-10-12
1013Brazil2026-10-04
1014Russia2026-10-25
1015India2026-10-15
1016Spain2026-10-28
1017India2026-10-21
1018India2026-10-22
1019Argentina2026-10-30
1020France2026-10-05
1021India2026-10-08
1022Australia2026-10-30
1023Spain2026-10-10
1024Australia2026-10-08
1025Russia2026-10-22
1026India2026-11-01
1027Italy2026-11-01
1028Japan2026-10-26
1029India2026-10-18
1030Russia2026-10-12
1031Argentina2026-10-15
1032United Kingdom2026-10-15
1033Argentina2026-10-16
1034Japan2026-10-13
1035United Kingdom2026-10-17
1036France2026-10-06
1037United Kingdom2026-10-11
1038Russia2026-10-11
1039United Kingdom2026-10-24
1040India2026-10-15
1041Canada2026-10-31
1042Argentina2026-10-14
1043Brazil2026-10-19
1044Germany2026-10-25
1045Argentina2026-10-16
1046Germany2026-10-30
1047Brazil2026-10-10
1048Brazil2026-10-18
1049Russia2026-10-21

On-Demand Data

NameIdCountryDate
Leja B Caudy1000Japan2026-10-18
Octavia G Amigon1001Japan2026-10-12
Izzy S Perin1002Germany2026-10-10
Rodrigues W Whobrey1003Brazil2026-10-28
Deepesh I Malet1004Canada2026-10-11
Tony O Glick1005Germany2026-11-02
Maria W Campain1006Spain2026-11-02
Jeanfrancois Q Campain1007United Kingdom2026-10-10
James G Rim1008Australia2026-10-06
Ricardo F Gaucho1009France2026-10-20
Salvatore H Perin1010Argentina2026-10-04
Ricardo X Shinko1011Italy2026-10-26
Maisha S Vocelka1012Russia2026-10-16
Alejandro S Butt1013Australia2026-10-06
Mayumi N Amigon1014Spain2026-10-14
Izzy X Nestle1015Japan2026-10-04
Clifford K Caudy1016Australia2026-10-28
Chavez K Foller1017Canada2026-10-22
Ashley C Gillian1018Russia2026-10-26
Maisha H Paprocki1019India2026-10-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith D TollnerCanadaAsiya Javayant RENEWAL
Kadeem O StockhamIndiaAnna Fali PROPOSAL
Aditya W AlbaresRussiaIoni Bowcher NEW
Octavia Q NestleIndiaStephen Shaw NEGOTIATION
Isabel A GillianFranceAsiya Javayant QUALIFIED
Ricardo F RulapaughJapanIoni Bowcher NEGOTIATION
James I MacleadGermanyStephen Shaw NEW
Francesco H ShinkoArgentinaElwin Sharvill RENEWAL
Izzy D WaycottArgentinaIvan Magalhaes PROPOSAL
Misaki P SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
David C CaudyArgentinaBernardo Dominic NEW
Mujtaba U NestleBrazilAsiya Javayant NEGOTIATION
Tony Z MarrierIndiaAmy Elsner RENEWAL
Salvatore K PaprockiSpainStephen Shaw UNQUALIFIED
Greenwood X PoquetteJapanIoni Bowcher RENEWAL
Leon X KolmetzIndiaAmy Elsner UNQUALIFIED
Jefferson Q MorascaBrazilAsiya Javayant PROPOSAL
Kaitlin K CampainGermanyXuxue Feng UNQUALIFIED
Jeanfrancois H KolmetzFranceIvan Magalhaes NEGOTIATION
Octavia L MorascaArgentinaBernardo Dominic PROPOSAL
Stacey Z OldroydUnited KingdomStephen Shaw NEW
Greenwood C GillianUnited KingdomAmy Elsner NEW
Maisha O VenereUnited KingdomAsiya Javayant QUALIFIED
Octavia H GillianGermanyStephen Shaw NEGOTIATION
Maisha Q PoquetteIndiaAsiya Javayant NEW
Maria M KolmetzFranceIvan Magalhaes QUALIFIED
Leja C FigeroaFranceOnyama Limba UNQUALIFIED
Emily V WhobreyCanadaStephen Shaw PROPOSAL
Aditya I FerenczJapanIvan Magalhaes PROPOSAL
Maisha L GillianItalyAmy Elsner NEGOTIATION
Morrow Z StockhamBrazilIoni Bowcher QUALIFIED
Adams M WhobreyRussiaAsiya Javayant QUALIFIED
Silvio D StockhamArgentinaStephen Shaw NEW
Silvio S ShinkoUnited KingdomAmy Elsner NEGOTIATION
Nicolas M MorascaBrazilXuxue Feng NEW
Jones U PaprockiAustraliaIvan Magalhaes NEW
Julie S InouyeArgentinaAmy Elsner PROPOSAL
Arvin M DilliardItalyIvan Magalhaes QUALIFIED
Isabel L CaudyIndiaElwin Sharvill QUALIFIED
Morrow P BriddickCanadaStephen Shaw 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>