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 B BologniaGermanyAmy Elsner RENEWAL
David D StockhamBrazilIvan Magalhaes NEW
Johnson N BowleyCanadaElwin Sharvill NEW
Kadeem U StensethGermanyXuxue Feng PROPOSAL
Kaitlin C RoysterJapanOnyama Limba QUALIFIED
Costa X IturbideIndiaElwin Sharvill RENEWAL
Jeanfrancois A GauchoIndiaAsiya Javayant PROPOSAL
Juan T SchemmerCanadaAnna Fali NEGOTIATION
Isabel G MorascaBrazilOnyama Limba QUALIFIED
Silvio A MaletJapanXuxue Feng RENEWAL
Antonio I PaprockiItalyBernardo Dominic UNQUALIFIED
Maria W NestleArgentinaElwin Sharvill NEW
Juan P InouyeItalyElwin Sharvill NEW
Clifford C PaprockiIndiaOnyama Limba UNQUALIFIED
Morrow V GlickSpainXuxue Feng RENEWAL
Jones M AmigonAustraliaAsiya Javayant RENEWAL
Tony G IturbideAustraliaElwin Sharvill QUALIFIED
Isabel I DoeArgentinaBernardo Dominic RENEWAL
Deepesh E GillianItalyElwin Sharvill NEW
Clifford I FigeroaAustraliaXuxue Feng RENEWAL
Ashley P InouyeGermanyAnna Fali UNQUALIFIED
James S RimArgentinaAsiya Javayant RENEWAL
Wickens M GauchoArgentinaAnna Fali UNQUALIFIED
Francesco L DoeGermanyIvan Magalhaes RENEWAL
James I GarufiIndiaIvan Magalhaes NEW
Izzy J WhobreyItalyXuxue Feng PROPOSAL
Murillo J StensethSpainIvan Magalhaes NEW
Morrow G FlosiRussiaAmy Elsner RENEWAL
Chavez B InouyeSpainAsiya Javayant PROPOSAL
Adams L AmigonSpainXuxue Feng PROPOSAL
David Q GillianItalyIoni Bowcher NEW
Izzy E SlusarskiSpainAsiya Javayant PROPOSAL
Juan D MacleadArgentinaIoni Bowcher PROPOSAL
Misaki J RoysterIndiaIvan Magalhaes NEW
Kadeem P MacleadItalyIoni Bowcher NEW
Greenwood W IturbideBrazilIvan Magalhaes PROPOSAL
Aika I PerinFranceAsiya Javayant UNQUALIFIED
Arvin R KuskoArgentinaAsiya Javayant PROPOSAL
Julie Z CaudyJapanOnyama Limba NEW
Kadeem Z GarufiItalyAsiya Javayant PROPOSAL
Izzy W VenereGermanyAsiya Javayant NEGOTIATION
Deepesh N FigeroaRussiaXuxue Feng UNQUALIFIED
Kaitlin K RulapaughCanadaBernardo Dominic QUALIFIED
Sinclair A ShinkoBrazilAmy Elsner PROPOSAL
Kaitlin R NestleItalyAnna Fali PROPOSAL
Faith M StockhamGermanyOnyama Limba NEW
Adams B KolmetzItalyElwin Sharvill RENEWAL
Leja C KuskoAustraliaAmy Elsner UNQUALIFIED
Ashley A StockhamCanadaAnna Fali RENEWAL
Adams L ButtJapanOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Maisha K WhobreyBrazilIoni Bowcher RENEWAL
Stacey L FollerSpainOnyama Limba QUALIFIED
Chavez O FerenczBrazilIoni Bowcher UNQUALIFIED
Ivar U ChuiRussiaBernardo Dominic NEGOTIATION
Johnson W BologniaItalyAsiya Javayant NEW
Aditya I RoysterArgentinaElwin Sharvill RENEWAL
Jefferson Z WieserSpainAsiya Javayant QUALIFIED
Ashley A FollerUnited KingdomXuxue Feng QUALIFIED
Greenwood L DilliardArgentinaIvan Magalhaes NEW
Aruna O AmigonSpainXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy M InouyeAustralia2026-09-16Chapman, Ross E Esq PROPOSAL96Bernardo Dominic
1001Rodrigues Z WaycottArgentina2026-09-11Truhlar And Truhlar Attys NEW0Elwin Sharvill
1002Costa Z RoysterUnited Kingdom2026-09-27Rousseaux, Michael Esq RENEWAL31Ivan Magalhaes
1003Nicolas T InouyeSpain2026-09-20King, Christopher A Esq RENEWAL12Asiya Javayant
1004Clifford P SlusarskiUnited Kingdom2026-09-24Rangoni Of Florence RENEWAL2Anna Fali
1005Morrow N IturbideJapan2026-09-02King, Christopher A Esq NEW47Amy Elsner
1006Francesco I NestleUnited Kingdom2026-09-24Rangoni Of Florence PROPOSAL24Xuxue Feng
1007Julie S NickaItaly2026-09-14Chemel, James L Cpa UNQUALIFIED33Bernardo Dominic
1008Costa C InouyeGermany2026-09-25Morlong Associates RENEWAL4Anna Fali
1009Silvio X MorascaUnited Kingdom2026-09-13Chapman, Ross E Esq NEW45Stephen Shaw
1010Darci B ButtUnited Kingdom2026-09-22Buckley Miller Wright RENEWAL90Ivan Magalhaes
1011Adams M VocelkaCanada2026-09-06King, Christopher A Esq UNQUALIFIED4Bernardo Dominic
1012Octavia D VenereSpain2026-09-08Rousseaux, Michael Esq RENEWAL62Bernardo Dominic
1013James X DilliardItaly2026-09-21Buckley Miller Wright QUALIFIED74Stephen Shaw
1014Kadeem L CampainFrance2026-09-06Printing Dimensions QUALIFIED28Elwin Sharvill
1015Aruna V CaudyFrance2026-09-27Chemel, James L Cpa NEGOTIATION34Ivan Magalhaes
1016Kaitlin Q DarakjyArgentina2026-09-06Truhlar And Truhlar Attys NEW78Stephen Shaw
1017Wickens V GlickBrazil2026-09-15Dorl, James J Esq QUALIFIED64Xuxue Feng
1018Morrow R GlickRussia2026-09-18Truhlar And Truhlar Attys NEGOTIATION59Elwin Sharvill
1019Sinclair E SchemmerCanada2026-09-15Feiner Bros QUALIFIED86Stephen Shaw
1020Clifford Z DarakjyItaly2026-08-31Feiner Bros RENEWAL45Ioni Bowcher
1021Misaki S IturbideBrazil2026-09-18Benton, John B Jr UNQUALIFIED13Onyama Limba
1022Izzy P SaylorsJapan2026-09-15Chapman, Ross E Esq UNQUALIFIED8Onyama Limba
1023Adams X MaletJapan2026-09-21Printing Dimensions RENEWAL34Ivan Magalhaes
1024David Z ChuiJapan2026-09-26Morlong Associates UNQUALIFIED27Ioni Bowcher
1025Cody Z RutaJapan2026-09-18Chanay, Jeffrey A Esq UNQUALIFIED46Ioni Bowcher
1026Antonio W IturbideFrance2026-09-21Commercial Press QUALIFIED24Xuxue Feng
1027Clifford F SlusarskiItaly2026-09-28King, Christopher A Esq RENEWAL66Stephen Shaw
1028Arvin Z WhobreyGermany2026-09-02Chanay, Jeffrey A Esq PROPOSAL96Asiya Javayant
1029Rodrigues Y AmigonAustralia2026-09-13Feiner Bros RENEWAL11Amy Elsner
1030Cody O CaldareraSpain2026-09-22Dorl, James J Esq QUALIFIED0Stephen Shaw
1031Kaitlin G CaudyBrazil2026-09-27Morlong Associates RENEWAL33Onyama Limba
1032Isabel B StockhamJapan2026-09-18Truhlar And Truhlar Attys NEGOTIATION9Onyama Limba
1033Salvatore L OldroydSpain2026-08-31King, Christopher A Esq RENEWAL93Anna Fali
1034Silvio G GlickUnited Kingdom2026-09-25Chemel, James L Cpa QUALIFIED88Elwin Sharvill
1035Cody Z NickaUnited Kingdom2026-09-04Feltz Printing Service RENEWAL46Ivan Magalhaes
1036Clifford T RoysterRussia2026-09-12Commercial Press PROPOSAL29Ioni Bowcher
1037Cody A AlbaresArgentina2026-09-12Printing Dimensions NEGOTIATION62Bernardo Dominic
1038Deepesh V AmigonAustralia2026-09-04Feiner Bros NEGOTIATION59Elwin Sharvill
1039Adams T FigeroaAustralia2026-09-11King, Christopher A Esq RENEWAL36Asiya Javayant
1040Aditya I VenereFrance2026-09-05Commercial Press NEGOTIATION89Xuxue Feng
1041Darci E BriddickFrance2026-09-01Truhlar And Truhlar Attys NEW98Anna Fali
1042Johnson G AlbaresCanada2026-09-24Dorl, James J Esq QUALIFIED28Anna Fali
1043David H StockhamAustralia2026-09-08Buckley Miller Wright QUALIFIED20Onyama Limba
1044Stacey G GlickIndia2026-08-31Morlong Associates NEW92Amy Elsner
1045Leja J IturbideArgentina2026-09-08Chemel, James L Cpa NEW88Stephen Shaw
1046Emily Q PaprockiGermany2026-09-07King, Christopher A Esq UNQUALIFIED27Anna Fali
1047Ricardo K DarakjyBrazil2026-09-24Benton, John B Jr UNQUALIFIED55Ioni Bowcher
1048Ivar M AmigonGermany2026-09-21Chanay, Jeffrey A Esq QUALIFIED63Asiya Javayant
1049Juan Z OldroydJapan2026-09-16Feiner Bros NEGOTIATION90Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Misaki N GlickFranceStephen Shaw NEW
Adams K AmigonIndiaOnyama Limba PROPOSAL
Mayumi H FerenczJapanAmy Elsner NEGOTIATION
Ricardo Q MorascaJapanAnna Fali PROPOSAL
Stacey X MaletCanadaAmy Elsner UNQUALIFIED
Greenwood N RulapaughIndiaOnyama Limba NEW
Darci S BowleyFranceStephen Shaw NEGOTIATION
Juan X ShinkoUnited KingdomAnna Fali PROPOSAL
Mayumi M AmigonSpainStephen Shaw UNQUALIFIED
Jennifer Q PaprockiJapanBernardo Dominic NEGOTIATION
Stacey H NickaAustraliaAsiya Javayant PROPOSAL
Julie F RimIndiaAmy Elsner RENEWAL
Mayumi W StockhamArgentinaAnna Fali PROPOSAL
Ashley E NickaItalyAnna Fali NEGOTIATION
Leon U PoquetteRussiaIvan Magalhaes NEGOTIATION
Chavez W MacleadSpainAsiya Javayant NEW
Kaitlin D WieserArgentinaXuxue Feng UNQUALIFIED
Wickens I StensethGermanyAmy Elsner RENEWAL
Jones R BriddickGermanyIoni Bowcher NEGOTIATION
Darci B CaudyAustraliaOnyama Limba UNQUALIFIED
Antonio P KuskoAustraliaAmy Elsner PROPOSAL
Kadeem P DoeBrazilAmy Elsner UNQUALIFIED
Aditya I CampainArgentinaIoni Bowcher RENEWAL
Costa B KolmetzItalyAnna Fali RENEWAL
Izzy I RimBrazilXuxue Feng UNQUALIFIED
Julie V OldroydIndiaIvan Magalhaes NEGOTIATION
Darci H RulapaughArgentinaStephen Shaw NEW
Deepesh P GlickArgentinaElwin Sharvill PROPOSAL
Leon V MaletSpainIvan Magalhaes UNQUALIFIED
Emily C SchemmerUnited KingdomElwin Sharvill PROPOSAL
Leon M RimRussiaIvan Magalhaes UNQUALIFIED
Greenwood E BriddickGermanyBernardo Dominic NEGOTIATION
Rodrigues N DilliardSpainXuxue Feng QUALIFIED
Isabel M RimRussiaBernardo Dominic NEGOTIATION
Maria L BriddickCanadaStephen Shaw RENEWAL
Maisha G GillianGermanyAnna Fali NEW
Stacey K MarrierRussiaStephen Shaw NEW
Juan Q CaudyRussiaAsiya Javayant NEW
Darci I SaylorsSpainAsiya Javayant NEGOTIATION
Costa D StockhamUnited KingdomIvan Magalhaes RENEWAL
Deepesh A RutaBrazilIvan Magalhaes QUALIFIED
Emily H DoeCanadaIoni Bowcher NEW
Leon A FlosiSpainElwin Sharvill NEW
Smith J NestleIndiaXuxue Feng NEGOTIATION
Maisha I WaycottSpainStephen Shaw RENEWAL
Johnson M NestleBrazilAnna Fali RENEWAL
Emily V SchemmerAustraliaAmy Elsner NEW
Leon V InouyeItalyAsiya Javayant NEW
Misaki U MaletGermanyAsiya Javayant QUALIFIED
Rodrigues W BologniaIndiaStephen Shaw PROPOSAL
Frozen Columns
Name
Alejandro D Slusarski
Ricardo G Tollner
Maria T Ostrosky
Morrow J Waycott
Kaitlin T Venere
Clifford Z Sergi
Nicolas C Wieser
Silvio J Albares
Aditya W Poquette
Faith E Rim
Emily D Ferencz
Misaki E Perin
David S Whobrey
Rodrigues K Amigon
Munro C Tollner
Morrow W Kolmetz
Juan J Garufi
Deepesh F Royster
Morrow E Kolmetz
Leon H Malet
Adams V Royster
Wickens K Ferencz
Aditya M Figeroa
Nicolas C Amigon
Mujtaba L Gaucho
Arvin W Stenseth
Arvin F Saylors
Adams U Royster
Mujtaba Y Sergi
Jones Z Malet
Wickens I Marrier
Jennifer T Nestle
Jennifer U Maclead
Claire R Rim
Arvin W Albares
Maisha F Darakjy
Stacey V Kolmetz
Isabel N Figeroa
Julie O Sergi
Maisha E Kusko
Stacey O Caudy
Aika E Ruta
Izzy S Kolmetz
Aika J Nestle
Leon K Kusko
Munro H Kusko
Kadeem X Ruta
Antonio B Inouye
Maria K Schemmer
Wickens P Bolognia
IdCountryDate
1000Brazil2026-09-19
1001Germany2026-09-08
1002Germany2026-09-15
1003Germany2026-09-14
1004India2026-09-01
1005Japan2026-08-31
1006Germany2026-09-10
1007France2026-09-09
1008Canada2026-09-20
1009Canada2026-09-17
1010Russia2026-09-11
1011Argentina2026-09-17
1012Brazil2026-09-04
1013United Kingdom2026-09-25
1014India2026-09-13
1015Australia2026-09-11
1016France2026-09-19
1017Canada2026-09-10
1018Argentina2026-09-03
1019Italy2026-08-31
1020Spain2026-09-18
1021Germany2026-08-31
1022France2026-09-15
1023Japan2026-09-18
1024Germany2026-09-16
1025Japan2026-09-29
1026United Kingdom2026-09-05
1027India2026-09-13
1028Spain2026-09-26
1029United Kingdom2026-09-11
1030Spain2026-09-05
1031Argentina2026-09-09
1032Italy2026-09-26
1033Argentina2026-09-10
1034Argentina2026-08-31
1035Germany2026-09-27
1036Japan2026-09-27
1037Australia2026-09-02
1038Russia2026-09-19
1039France2026-09-25
1040Italy2026-09-02
1041Argentina2026-09-15
1042Argentina2026-09-08
1043Spain2026-09-17
1044Spain2026-09-28
1045France2026-09-04
1046India2026-09-07
1047Germany2026-09-08
1048India2026-09-20
1049Japan2026-09-15

On-Demand Data

NameIdCountryDate
James L Iturbide1000Spain2026-09-19
Antonio V Slusarski1001Italy2026-09-08
Morrow P Garufi1002India2026-09-05
James Y Campain1003Argentina2026-09-13
Antonio A Morasca1004India2026-09-09
Costa B Wieser1005Spain2026-09-18
Tony J Bolognia1006Germany2026-09-02
Izzy Y Gaucho1007Australia2026-09-27
Arvin H Kusko1008Spain2026-09-12
Kaitlin D Briddick1009Canada2026-09-20
Aditya R Oldroyd1010France2026-09-26
Aditya C Butt1011Italy2026-09-09
Smith J Iturbide1012Japan2026-09-24
Leja K Nestle1013Japan2026-09-03
Aika C Slusarski1014Spain2026-09-17
Octavia O Kolmetz1015Russia2026-09-25
Arvin I Bolognia1016Spain2026-09-12
Aditya N Poquette1017Brazil2026-09-26
Chavez R Rulapaugh1018India2026-09-13
Antonio W Schemmer1019France2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair V RimJapanOnyama Limba PROPOSAL
Wickens K WieserUnited KingdomBernardo Dominic RENEWAL
Smith Y OstroskySpainBernardo Dominic NEW
Sinclair S AlbaresCanadaAsiya Javayant PROPOSAL
Juan V CaudyAustraliaXuxue Feng QUALIFIED
Sinclair E RimJapanOnyama Limba RENEWAL
Jennifer S StockhamAustraliaStephen Shaw PROPOSAL
Costa I CaudyJapanElwin Sharvill PROPOSAL
Morrow T DarakjyUnited KingdomAmy Elsner QUALIFIED
Octavia R MarrierBrazilStephen Shaw PROPOSAL
Ricardo Z CampainItalyXuxue Feng RENEWAL
David B WhobreyFranceXuxue Feng PROPOSAL
Rodrigues W GillianCanadaElwin Sharvill RENEWAL
Claire C FollerAustraliaBernardo Dominic RENEWAL
Leon S ShinkoBrazilBernardo Dominic RENEWAL
Salvatore X AlbaresSpainIoni Bowcher RENEWAL
Emily X WaycottArgentinaXuxue Feng QUALIFIED
James A CaldareraJapanAnna Fali PROPOSAL
Isabel C KuskoGermanyElwin Sharvill NEW
Kaitlin I VenereBrazilAmy Elsner RENEWAL
Ivar L VenereSpainAnna Fali NEW
Adams Q WieserCanadaAsiya Javayant RENEWAL
Claire F MaletBrazilAsiya Javayant PROPOSAL
Isabel Q DilliardBrazilElwin Sharvill PROPOSAL
Leja A SergiRussiaIoni Bowcher PROPOSAL
Chavez G WieserArgentinaIvan Magalhaes UNQUALIFIED
Cody U MaletAustraliaOnyama Limba NEW
Adams D AlbaresArgentinaStephen Shaw RENEWAL
Kadeem K WaycottJapanStephen Shaw NEW
Aruna R GauchoJapanAnna Fali QUALIFIED
Jennifer T ButtAustraliaElwin Sharvill NEW
Jones S PoquetteFranceXuxue Feng PROPOSAL
Sinclair S ChuiItalyAnna Fali NEGOTIATION
Kaitlin R PoquetteSpainOnyama Limba NEW
David B InouyeAustraliaAnna Fali RENEWAL
Maisha N NestleAustraliaAsiya Javayant PROPOSAL
Sinclair F IturbideItalyAnna Fali PROPOSAL
Tony Y FollerUnited KingdomStephen Shaw NEGOTIATION
Johnson O VenereSpainStephen Shaw UNQUALIFIED
Rodrigues R MacleadBrazilStephen Shaw PROPOSAL

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