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
Stacey D MorascaRussiaOnyama Limba QUALIFIED
Johnson N PaprockiAustraliaAnna Fali UNQUALIFIED
Adams U ButtSpainOnyama Limba RENEWAL
Julie C GlickFranceXuxue Feng NEW
Maisha V DarakjyUnited KingdomOnyama Limba NEW
Nicolas Q WieserArgentinaXuxue Feng QUALIFIED
Julie I InouyeIndiaIoni Bowcher QUALIFIED
Greenwood K PaprockiAustraliaAsiya Javayant RENEWAL
Costa X RimBrazilAmy Elsner RENEWAL
Smith J FerenczUnited KingdomBernardo Dominic RENEWAL
Faith O OldroydIndiaAmy Elsner QUALIFIED
Octavia G OldroydFranceIvan Magalhaes PROPOSAL
Octavia N MacleadJapanIoni Bowcher UNQUALIFIED
Tony A DarakjySpainAnna Fali NEW
Costa N BowleyIndiaXuxue Feng QUALIFIED
Faith S GauchoJapanElwin Sharvill QUALIFIED
Smith J GauchoUnited KingdomXuxue Feng QUALIFIED
Clifford U BologniaJapanAsiya Javayant QUALIFIED
Faith G IturbideJapanIvan Magalhaes NEGOTIATION
Claire B ChuiIndiaXuxue Feng UNQUALIFIED
Ashley J PerinRussiaIvan Magalhaes QUALIFIED
Maisha N RutaItalyElwin Sharvill NEGOTIATION
Chavez G KuskoFranceStephen Shaw RENEWAL
Morrow R RimFranceXuxue Feng PROPOSAL
Juan T BologniaAustraliaAnna Fali PROPOSAL
Johnson L CaldareraGermanyIvan Magalhaes UNQUALIFIED
Salvatore P AmigonRussiaAnna Fali UNQUALIFIED
Jeanfrancois R NickaItalyIoni Bowcher QUALIFIED
Faith N MaletIndiaBernardo Dominic NEGOTIATION
Wickens B SlusarskiCanadaAnna Fali UNQUALIFIED
Jefferson K RutaGermanyOnyama Limba NEW
Murillo H GauchoBrazilBernardo Dominic NEW
Octavia R PoquetteArgentinaOnyama Limba QUALIFIED
Silvio K SaylorsUnited KingdomIoni Bowcher RENEWAL
Ashley V ButtCanadaStephen Shaw NEGOTIATION
Silvio F BowleyUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues C SaylorsBrazilAsiya Javayant QUALIFIED
James S WhobreyBrazilElwin Sharvill UNQUALIFIED
Jennifer R WhobreyIndiaAmy Elsner NEW
Julie R ShinkoItalyIvan Magalhaes PROPOSAL
Jefferson K FerenczIndiaOnyama Limba NEW
Murillo U KuskoJapanIoni Bowcher UNQUALIFIED
Jeanfrancois E PoquetteAustraliaBernardo Dominic RENEWAL
Izzy F InouyeGermanyOnyama Limba NEGOTIATION
Isabel A BriddickIndiaAsiya Javayant RENEWAL
Sinclair D DarakjyIndiaAsiya Javayant PROPOSAL
David S ButtSpainStephen Shaw NEW
David A KolmetzSpainAmy Elsner QUALIFIED
Maria G GlickJapanElwin Sharvill UNQUALIFIED
Stacey X BriddickIndiaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Mayumi B OldroydItalyXuxue Feng QUALIFIED
Aruna P BowleyRussiaBernardo Dominic RENEWAL
Juan L RoysterJapanBernardo Dominic UNQUALIFIED
Wickens M RimJapanAmy Elsner UNQUALIFIED
Wickens G PoquetteBrazilAmy Elsner PROPOSAL
Francesco X DarakjyCanadaOnyama Limba NEW
Jennifer B RutaJapanElwin Sharvill NEGOTIATION
Rodrigues G WaycottCanadaIoni Bowcher NEW
Deepesh H WaycottCanadaAsiya Javayant NEW
Faith S FigeroaBrazilOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria P BriddickGermany2026-11-07Truhlar And Truhlar Attys NEW83Xuxue Feng
1001Jones I MaletArgentina2026-10-25King, Christopher A Esq UNQUALIFIED42Anna Fali
1002Juan V BriddickBrazil2026-10-23Chapman, Ross E Esq NEGOTIATION36Bernardo Dominic
1003Isabel B StensethBrazil2026-10-16Chapman, Ross E Esq NEW42Ivan Magalhaes
1004Jeanfrancois Y DarakjyFrance2026-10-30Chapman, Ross E Esq NEW11Stephen Shaw
1005Aruna H SlusarskiIndia2026-10-29Dorl, James J Esq UNQUALIFIED19Ioni Bowcher
1006Jefferson O WaycottGermany2026-11-06King, Christopher A Esq NEW60Onyama Limba
1007Johnson J GlickCanada2026-10-27Rousseaux, Michael Esq NEGOTIATION86Asiya Javayant
1008Kaitlin H PoquetteSpain2026-10-18Benton, John B Jr UNQUALIFIED74Xuxue Feng
1009Johnson S SergiBrazil2026-10-25Feltz Printing Service PROPOSAL66Amy Elsner
1010Emily X SergiAustralia2026-10-17Commercial Press NEGOTIATION1Xuxue Feng
1011Aditya H CampainAustralia2026-10-22Truhlar And Truhlar Attys QUALIFIED51Elwin Sharvill
1012Jefferson T SlusarskiBrazil2026-10-31Rangoni Of Florence NEGOTIATION37Amy Elsner
1013Sinclair Q MarrierGermany2026-11-08Feltz Printing Service NEGOTIATION17Amy Elsner
1014Arvin T SergiFrance2026-11-08Feltz Printing Service QUALIFIED0Anna Fali
1015Chavez E AlbaresSpain2026-10-15Feltz Printing Service UNQUALIFIED57Asiya Javayant
1016Leja P SaylorsAustralia2026-10-20Dorl, James J Esq PROPOSAL4Anna Fali
1017Munro L WaycottBrazil2026-10-16Feltz Printing Service NEGOTIATION48Ivan Magalhaes
1018Julie G MaletArgentina2026-11-08Chapman, Ross E Esq RENEWAL59Stephen Shaw
1019Adams A OstroskyGermany2026-10-28King, Christopher A Esq RENEWAL65Elwin Sharvill
1020Greenwood X FollerUnited Kingdom2026-10-19Chemel, James L Cpa NEW7Onyama Limba
1021Antonio V RulapaughJapan2026-10-27Rousseaux, Michael Esq PROPOSAL48Anna Fali
1022Leja C KuskoBrazil2026-10-27Dorl, James J Esq QUALIFIED57Elwin Sharvill
1023Munro L ShinkoJapan2026-11-01Chapman, Ross E Esq QUALIFIED24Amy Elsner
1024Leon I SchemmerUnited Kingdom2026-10-14Chemel, James L Cpa RENEWAL47Amy Elsner
1025Silvio F DoeFrance2026-11-08Feiner Bros NEGOTIATION81Anna Fali
1026Wickens F PaprockiUnited Kingdom2026-10-31Printing Dimensions NEW89Xuxue Feng
1027Silvio N DoeGermany2026-10-15Truhlar And Truhlar Attys UNQUALIFIED78Anna Fali
1028Jennifer K OstroskyRussia2026-10-14Chanay, Jeffrey A Esq NEW60Ivan Magalhaes
1029Nicolas D ChuiGermany2026-11-06Commercial Press NEW89Bernardo Dominic
1030Stacey P FlosiBrazil2026-10-17Commercial Press NEGOTIATION29Ivan Magalhaes
1031Jefferson H BowleyIndia2026-10-23Dorl, James J Esq QUALIFIED16Stephen Shaw
1032Murillo R ChuiIndia2026-11-02Commercial Press RENEWAL39Bernardo Dominic
1033Faith P TollnerArgentina2026-11-09Feiner Bros RENEWAL50Amy Elsner
1034Jeanfrancois K WhobreyJapan2026-10-22Buckley Miller Wright NEW58Stephen Shaw
1035Smith M DarakjyAustralia2026-11-12Rangoni Of Florence RENEWAL95Ioni Bowcher
1036Leon P FigeroaGermany2026-11-04Feiner Bros RENEWAL13Bernardo Dominic
1037Aruna J WhobreySpain2026-11-05Dorl, James J Esq NEW79Ioni Bowcher
1038Isabel L FollerItaly2026-10-16Chanay, Jeffrey A Esq UNQUALIFIED71Asiya Javayant
1039Claire T FollerFrance2026-10-25Feltz Printing Service QUALIFIED63Asiya Javayant
1040Chavez D KolmetzItaly2026-11-03King, Christopher A Esq NEGOTIATION49Ivan Magalhaes
1041Tony A PaprockiAustralia2026-10-24Rousseaux, Michael Esq RENEWAL33Asiya Javayant
1042Chavez O GauchoItaly2026-11-02Chemel, James L Cpa UNQUALIFIED52Elwin Sharvill
1043Emily E OldroydSpain2026-11-06King, Christopher A Esq PROPOSAL92Stephen Shaw
1044Jones H IturbideGermany2026-11-04Morlong Associates RENEWAL56Ioni Bowcher
1045Chavez F NestleJapan2026-10-25Morlong Associates NEW40Onyama Limba
1046Mayumi D MaletRussia2026-10-16Printing Dimensions PROPOSAL56Asiya Javayant
1047Leja L ButtFrance2026-10-20Morlong Associates NEGOTIATION97Anna Fali
1048Murillo B MaletCanada2026-10-27Feiner Bros UNQUALIFIED50Ioni Bowcher
1049Ivar Z GarufiBrazil2026-11-06Commercial Press UNQUALIFIED54Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Murillo L BologniaSpainAnna Fali QUALIFIED
Clifford R CaldareraArgentinaAmy Elsner NEW
Tony R OldroydRussiaIoni Bowcher NEW
Aika H FlosiIndiaAnna Fali PROPOSAL
Kadeem R StockhamGermanyStephen Shaw QUALIFIED
Costa K DoeArgentinaAmy Elsner RENEWAL
Sinclair T FlosiCanadaBernardo Dominic NEW
Octavia U BriddickItalyAmy Elsner RENEWAL
Aruna Z RoysterFranceIoni Bowcher NEW
Costa U FollerAustraliaOnyama Limba PROPOSAL
Maisha I RutaArgentinaAnna Fali PROPOSAL
Ivar B PerinCanadaElwin Sharvill PROPOSAL
Ashley A MaletCanadaIoni Bowcher NEW
Deepesh E PaprockiAustraliaIoni Bowcher PROPOSAL
Johnson X PerinUnited KingdomXuxue Feng PROPOSAL
Aruna O DilliardItalyAsiya Javayant QUALIFIED
Julie Z TollnerRussiaAnna Fali UNQUALIFIED
Darci Y NickaCanadaBernardo Dominic RENEWAL
Morrow W NestleJapanBernardo Dominic NEW
Alejandro L GlickUnited KingdomAnna Fali UNQUALIFIED
Stacey M VocelkaRussiaAmy Elsner PROPOSAL
Maria V WieserItalyIvan Magalhaes RENEWAL
Arvin M SergiGermanyAmy Elsner QUALIFIED
Clifford M RutaBrazilIvan Magalhaes NEW
Faith Q KuskoUnited KingdomXuxue Feng RENEWAL
Alejandro O VocelkaSpainXuxue Feng PROPOSAL
Stacey M DoeUnited KingdomBernardo Dominic UNQUALIFIED
Maria C FerenczGermanyElwin Sharvill PROPOSAL
Leon I SlusarskiIndiaAnna Fali QUALIFIED
Jones B StockhamJapanAnna Fali PROPOSAL
Jefferson R FerenczItalyAsiya Javayant QUALIFIED
Deepesh W RulapaughCanadaAsiya Javayant NEGOTIATION
Morrow G FlosiIndiaAnna Fali UNQUALIFIED
Mayumi M RutaIndiaBernardo Dominic UNQUALIFIED
David W RimJapanElwin Sharvill PROPOSAL
Johnson O WieserGermanyStephen Shaw NEW
Kadeem C DarakjyIndiaAsiya Javayant RENEWAL
Costa P AlbaresGermanyOnyama Limba NEGOTIATION
Nicolas F WaycottGermanyIvan Magalhaes UNQUALIFIED
Rodrigues G PerinArgentinaXuxue Feng PROPOSAL
Ricardo K BologniaItalyIvan Magalhaes QUALIFIED
Nicolas D DoeJapanElwin Sharvill NEW
Salvatore M AmigonSpainAnna Fali PROPOSAL
Adams C InouyeGermanyIoni Bowcher UNQUALIFIED
Jones V OstroskyRussiaStephen Shaw RENEWAL
Greenwood S SergiJapanAmy Elsner RENEWAL
Jones L KuskoIndiaStephen Shaw NEW
Darci R BowleyGermanyIoni Bowcher NEGOTIATION
Costa O WaycottFranceStephen Shaw UNQUALIFIED
Aika Y ChuiBrazilAmy Elsner UNQUALIFIED
Frozen Columns
Name
Clifford E Kolmetz
David V Malet
Isabel Q Bolognia
Leja L Gaucho
Kaitlin I Butt
Aditya N Tollner
Murillo F Doe
Johnson R Paprocki
Misaki G Garufi
Alejandro P Gaucho
Leja X Marrier
Maria V Glick
Murillo I Iturbide
Kaitlin D Caudy
Emily Q Inouye
Cody G Nestle
Jeanfrancois S Rulapaugh
Jennifer D Slusarski
Kadeem Q Caldarera
Murillo K Marrier
Leja X Bowley
Munro R Sergi
James D Stenseth
Aditya Q Slusarski
Maria W Wieser
Maria L Butt
Deepesh S Doe
Jennifer J Schemmer
Kaitlin Z Figeroa
Stacey L Flosi
Julie I Foller
Chavez C Malet
Leon T Oldroyd
Mayumi Y Malet
Greenwood U Slusarski
James P Kolmetz
Sinclair L Whobrey
Murillo I Bowley
Sinclair C Darakjy
Johnson E Paprocki
Johnson P Royster
Silvio N Dilliard
Ivar C Paprocki
Kaitlin V Paprocki
Salvatore I Maclead
Juan N Glick
Munro Z Albares
Julie Y Bolognia
Ashley Q Nestle
Leja V Sergi
IdCountryDate
1000India2026-11-03
1001Brazil2026-11-11
1002Spain2026-10-28
1003United Kingdom2026-11-11
1004France2026-10-23
1005Spain2026-11-03
1006Germany2026-10-21
1007India2026-10-20
1008Brazil2026-11-04
1009Germany2026-10-30
1010Argentina2026-11-04
1011Australia2026-11-10
1012Japan2026-11-04
1013France2026-10-19
1014Japan2026-11-03
1015Japan2026-10-30
1016Italy2026-10-15
1017Russia2026-10-25
1018Germany2026-11-05
1019Russia2026-10-20
1020France2026-11-10
1021Italy2026-10-28
1022Canada2026-10-20
1023Spain2026-11-11
1024Italy2026-11-12
1025Italy2026-10-18
1026India2026-10-27
1027Italy2026-11-07
1028Australia2026-10-28
1029India2026-10-14
1030Germany2026-10-25
1031Argentina2026-10-20
1032United Kingdom2026-11-09
1033France2026-11-04
1034India2026-10-31
1035Spain2026-10-21
1036Italy2026-10-21
1037Germany2026-11-01
1038Argentina2026-10-30
1039Argentina2026-10-31
1040Argentina2026-10-18
1041Canada2026-11-09
1042Argentina2026-11-02
1043Russia2026-11-01
1044Japan2026-10-20
1045Spain2026-10-14
1046India2026-10-22
1047Italy2026-10-24
1048Australia2026-10-21
1049Italy2026-10-22

On-Demand Data

NameIdCountryDate
Ivar J Garufi1000Argentina2026-10-30
Misaki J Slusarski1001United Kingdom2026-10-29
Francesco X Stenseth1002Australia2026-10-26
Leja L Gillian1003United Kingdom2026-10-26
Leja A Tollner1004Argentina2026-11-06
Johnson D Doe1005Russia2026-11-03
Tony B Shinko1006Argentina2026-11-02
David I Whobrey1007Argentina2026-10-27
Emily Q Venere1008France2026-10-18
Emily T Nicka1009Spain2026-10-15
Isabel A Foller1010Spain2026-11-06
Emily Z Royster1011United Kingdom2026-10-21
Jennifer T Kolmetz1012Germany2026-10-24
Darci C Maclead1013France2026-11-05
Octavia B Slusarski1014Spain2026-10-19
Claire I Gillian1015Italy2026-10-19
Mayumi W Dilliard1016Russia2026-11-03
Smith S Perin1017United Kingdom2026-11-09
Silvio K Kolmetz1018Australia2026-11-12
Jennifer S Tollner1019France2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair O BologniaRussiaAnna Fali UNQUALIFIED
Leja I OldroydJapanXuxue Feng RENEWAL
Jones V CaudyIndiaIoni Bowcher NEW
Deepesh B GarufiJapanStephen Shaw UNQUALIFIED
Clifford L VocelkaAustraliaXuxue Feng PROPOSAL
Maisha N StockhamBrazilAmy Elsner QUALIFIED
Francesco F VenereAustraliaElwin Sharvill QUALIFIED
Rodrigues L ChuiRussiaAnna Fali QUALIFIED
Silvio V DilliardRussiaAnna Fali NEW
Mujtaba J SchemmerJapanXuxue Feng QUALIFIED
Wickens Z GauchoIndiaStephen Shaw NEW
Aika U DoeCanadaAnna Fali NEGOTIATION
Mujtaba J WhobreyCanadaAsiya Javayant NEGOTIATION
Kadeem B GlickSpainIvan Magalhaes PROPOSAL
Jefferson P CampainJapanXuxue Feng NEGOTIATION
Claire L AlbaresRussiaAmy Elsner PROPOSAL
Mayumi S IturbideSpainAnna Fali NEGOTIATION
Clifford K RimIndiaAmy Elsner PROPOSAL
Aditya H TollnerCanadaIoni Bowcher QUALIFIED
Ricardo U CampainIndiaIoni Bowcher NEGOTIATION
Leon H ChuiFranceBernardo Dominic NEGOTIATION
Ricardo L OstroskyIndiaAnna Fali PROPOSAL
Clifford P FigeroaUnited KingdomBernardo Dominic PROPOSAL
Aika T CaldareraFranceXuxue Feng NEGOTIATION
Nicolas U RoysterItalyAmy Elsner PROPOSAL
Jones H VenereAustraliaBernardo Dominic PROPOSAL
Rodrigues T GlickArgentinaAnna Fali UNQUALIFIED
Misaki O AlbaresSpainIoni Bowcher NEW
Misaki Y TollnerBrazilIoni Bowcher RENEWAL
Ivar P RimSpainXuxue Feng NEW
Francesco J AlbaresAustraliaElwin Sharvill RENEWAL
Octavia S WaycottAustraliaStephen Shaw NEGOTIATION
Maisha W SaylorsSpainBernardo Dominic QUALIFIED
Greenwood S WaycottIndiaAmy Elsner RENEWAL
Antonio Q AmigonAustraliaAnna Fali PROPOSAL
Darci D SergiUnited KingdomElwin Sharvill NEW
Sinclair F AmigonFranceAnna Fali PROPOSAL
Juan K GlickFranceElwin Sharvill RENEWAL
Darci W GlickItalyIoni Bowcher PROPOSAL
Jennifer Z GauchoUnited KingdomAnna Fali 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>