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
Rodrigues V ButtJapanIvan Magalhaes UNQUALIFIED
Aika D NestleFranceIvan Magalhaes UNQUALIFIED
Ricardo Z ShinkoBrazilAsiya Javayant NEGOTIATION
Sinclair R GauchoRussiaAsiya Javayant PROPOSAL
Jefferson Q DoeCanadaXuxue Feng PROPOSAL
Leja E OstroskyItalyIoni Bowcher RENEWAL
Mujtaba C MaletBrazilAnna Fali RENEWAL
Rodrigues O GarufiIndiaAsiya Javayant NEW
Rodrigues Y BowleyAustraliaXuxue Feng PROPOSAL
Wickens T NestleCanadaElwin Sharvill NEW
Emily E WaycottJapanAsiya Javayant UNQUALIFIED
Isabel V GarufiIndiaAsiya Javayant RENEWAL
Silvio D FlosiBrazilAmy Elsner RENEWAL
Johnson V MacleadIndiaBernardo Dominic RENEWAL
Mayumi E FerenczJapanOnyama Limba UNQUALIFIED
Maria X RimAustraliaAnna Fali RENEWAL
Francesco Q PaprockiAustraliaXuxue Feng UNQUALIFIED
Misaki D GauchoItalyStephen Shaw RENEWAL
Nicolas R DoeRussiaAnna Fali NEW
Misaki U DarakjyFranceOnyama Limba NEW
Misaki L DarakjyUnited KingdomBernardo Dominic PROPOSAL
Sinclair O SlusarskiFranceIvan Magalhaes UNQUALIFIED
Misaki W ButtGermanyIoni Bowcher NEGOTIATION
Mayumi R BriddickFranceAmy Elsner QUALIFIED
Leja Q KuskoUnited KingdomAnna Fali RENEWAL
Murillo D SchemmerJapanIvan Magalhaes NEGOTIATION
Kaitlin R AlbaresIndiaAnna Fali QUALIFIED
Greenwood D MaletCanadaIvan Magalhaes RENEWAL
Kadeem R RimGermanyIoni Bowcher QUALIFIED
Sinclair G GlickBrazilXuxue Feng QUALIFIED
Aruna B MorascaAustraliaElwin Sharvill QUALIFIED
Jennifer R FollerJapanBernardo Dominic UNQUALIFIED
Maisha N FerenczAustraliaElwin Sharvill RENEWAL
Adams F BologniaArgentinaAsiya Javayant RENEWAL
David L ChuiItalyBernardo Dominic UNQUALIFIED
Jones M RoysterIndiaOnyama Limba UNQUALIFIED
Adams U OldroydFranceBernardo Dominic PROPOSAL
Kadeem S DilliardArgentinaIoni Bowcher RENEWAL
Mayumi R NestleCanadaBernardo Dominic NEW
Smith Y NickaFranceXuxue Feng NEW
Julie L AmigonIndiaAmy Elsner QUALIFIED
Costa F SergiItalyStephen Shaw NEGOTIATION
Chavez H PoquetteUnited KingdomOnyama Limba NEGOTIATION
Francesco P IturbideArgentinaIvan Magalhaes UNQUALIFIED
Kaitlin H CampainSpainIoni Bowcher NEW
Ashley V RoysterAustraliaBernardo Dominic UNQUALIFIED
Maisha O DilliardBrazilStephen Shaw NEW
Jefferson K PaprockiGermanyOnyama Limba NEGOTIATION
Cody N VenereItalyAmy Elsner NEW
Juan D CaldareraRussiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith I StockhamRussiaIoni Bowcher PROPOSAL
Kaitlin G BriddickUnited KingdomOnyama Limba UNQUALIFIED
Stacey A KolmetzGermanyAnna Fali NEGOTIATION
Rodrigues C VocelkaFranceElwin Sharvill RENEWAL
Kadeem O OldroydItalyOnyama Limba UNQUALIFIED
Sinclair N RutaRussiaIvan Magalhaes PROPOSAL
Mayumi U RutaAustraliaOnyama Limba UNQUALIFIED
Smith H PoquetteRussiaAnna Fali NEW
Arvin U KuskoGermanyOnyama Limba NEW
Alejandro V StensethCanadaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith S FigeroaFrance2026-10-18Feltz Printing Service NEW57Ivan Magalhaes
1001Morrow S GillianArgentina2026-10-29Feiner Bros PROPOSAL18Ioni Bowcher
1002Mayumi D GillianFrance2026-10-25Chapman, Ross E Esq QUALIFIED83Asiya Javayant
1003Salvatore T FollerAustralia2026-10-20Chapman, Ross E Esq QUALIFIED57Ivan Magalhaes
1004Octavia R TollnerCanada2026-10-25Chapman, Ross E Esq NEW59Ivan Magalhaes
1005Leja D NickaGermany2026-10-31Truhlar And Truhlar Attys UNQUALIFIED35Amy Elsner
1006Chavez B NickaIndia2026-11-10Morlong Associates QUALIFIED89Onyama Limba
1007David I FerenczGermany2026-11-06Commercial Press PROPOSAL24Xuxue Feng
1008Izzy S MaletArgentina2026-10-30Feltz Printing Service UNQUALIFIED53Asiya Javayant
1009Smith J FollerJapan2026-10-15Chemel, James L Cpa NEGOTIATION4Xuxue Feng
1010David O DarakjyFrance2026-11-02Printing Dimensions PROPOSAL77Onyama Limba
1011Murillo O DarakjyGermany2026-10-16Buckley Miller Wright UNQUALIFIED13Stephen Shaw
1012Aditya I NestleGermany2026-10-14Rangoni Of Florence PROPOSAL70Ivan Magalhaes
1013Nicolas S MaletCanada2026-10-27Morlong Associates PROPOSAL46Ivan Magalhaes
1014Maisha D KolmetzBrazil2026-11-01Rangoni Of Florence QUALIFIED55Xuxue Feng
1015Greenwood R StensethItaly2026-10-30Printing Dimensions UNQUALIFIED79Amy Elsner
1016Antonio V WhobreyJapan2026-10-25Rousseaux, Michael Esq PROPOSAL71Bernardo Dominic
1017Stacey R DoeArgentina2026-10-21Chanay, Jeffrey A Esq PROPOSAL10Anna Fali
1018Maisha Y CaudyItaly2026-11-05Feiner Bros NEGOTIATION92Bernardo Dominic
1019Nicolas J StensethArgentina2026-10-19Chemel, James L Cpa NEGOTIATION20Anna Fali
1020Antonio R GauchoItaly2026-10-30Dorl, James J Esq QUALIFIED82Amy Elsner
1021Ashley U WieserUnited Kingdom2026-10-22Buckley Miller Wright QUALIFIED8Ivan Magalhaes
1022Mujtaba U ButtGermany2026-10-19Printing Dimensions NEGOTIATION46Ivan Magalhaes
1023Arvin V CaldareraUnited Kingdom2026-10-15Feiner Bros UNQUALIFIED55Asiya Javayant
1024Aditya V SchemmerSpain2026-11-02Printing Dimensions UNQUALIFIED47Stephen Shaw
1025Ashley S KolmetzItaly2026-11-05Feiner Bros NEW43Ioni Bowcher
1026Greenwood G RoysterRussia2026-11-05Rangoni Of Florence NEW21Ioni Bowcher
1027Nicolas N RoysterUnited Kingdom2026-11-08Dorl, James J Esq NEW62Ioni Bowcher
1028Maisha V RoysterSpain2026-10-22Buckley Miller Wright UNQUALIFIED64Amy Elsner
1029Chavez L SergiGermany2026-11-07Rangoni Of Florence NEGOTIATION23Anna Fali
1030Octavia N RoysterUnited Kingdom2026-11-05King, Christopher A Esq NEGOTIATION7Amy Elsner
1031Juan I AlbaresAustralia2026-11-09Printing Dimensions QUALIFIED76Onyama Limba
1032Wickens F CaudySpain2026-10-15Chapman, Ross E Esq NEGOTIATION82Onyama Limba
1033Aika Y CampainAustralia2026-10-25King, Christopher A Esq NEGOTIATION20Ioni Bowcher
1034Stacey X PoquetteSpain2026-10-19Rousseaux, Michael Esq RENEWAL8Stephen Shaw
1035Jeanfrancois C GillianIndia2026-11-08Buckley Miller Wright NEGOTIATION15Anna Fali
1036Stacey Q KuskoItaly2026-10-26Commercial Press NEGOTIATION66Onyama Limba
1037Misaki G GillianAustralia2026-10-14King, Christopher A Esq RENEWAL9Xuxue Feng
1038Nicolas I CampainRussia2026-11-04Dorl, James J Esq UNQUALIFIED64Amy Elsner
1039Cody J PerinSpain2026-10-13Printing Dimensions QUALIFIED55Stephen Shaw
1040Wickens N MarrierGermany2026-10-28Morlong Associates PROPOSAL5Xuxue Feng
1041Adams F RoysterUnited Kingdom2026-11-03Dorl, James J Esq UNQUALIFIED7Stephen Shaw
1042Stacey V PoquetteFrance2026-10-19Benton, John B Jr NEGOTIATION80Onyama Limba
1043Faith I SchemmerAustralia2026-10-17King, Christopher A Esq NEW49Bernardo Dominic
1044Arvin X DoeIndia2026-11-05Printing Dimensions NEGOTIATION57Elwin Sharvill
1045Mujtaba C OldroydSpain2026-11-10Chemel, James L Cpa UNQUALIFIED34Onyama Limba
1046Darci N SchemmerItaly2026-10-26Rousseaux, Michael Esq NEGOTIATION69Anna Fali
1047Nicolas U NickaUnited Kingdom2026-11-05Printing Dimensions RENEWAL33Onyama Limba
1048Mujtaba E PaprockiBrazil2026-10-16Benton, John B Jr QUALIFIED13Stephen Shaw
1049Kadeem K KolmetzFrance2026-11-10Morlong Associates UNQUALIFIED2Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Costa Q WieserSpainXuxue Feng NEGOTIATION
Alejandro O BriddickItalyAnna Fali UNQUALIFIED
Johnson J ButtIndiaXuxue Feng NEGOTIATION
Ashley J SlusarskiCanadaElwin Sharvill PROPOSAL
James B AmigonBrazilAsiya Javayant QUALIFIED
Alejandro A MarrierIndiaBernardo Dominic PROPOSAL
Chavez C StensethJapanOnyama Limba PROPOSAL
Munro A FigeroaGermanyXuxue Feng UNQUALIFIED
Stacey W TollnerArgentinaStephen Shaw PROPOSAL
Julie W FerenczItalyIoni Bowcher PROPOSAL
Silvio A RulapaughSpainXuxue Feng RENEWAL
David K PaprockiFranceOnyama Limba NEW
Maisha C PerinArgentinaAsiya Javayant NEGOTIATION
James R IturbideCanadaAnna Fali PROPOSAL
Maria M SlusarskiJapanIvan Magalhaes UNQUALIFIED
Deepesh G AlbaresArgentinaOnyama Limba PROPOSAL
Darci P WhobreyBrazilOnyama Limba QUALIFIED
Ivar I FigeroaCanadaIvan Magalhaes PROPOSAL
Arvin S DarakjyCanadaBernardo Dominic NEW
Murillo C ChuiJapanOnyama Limba RENEWAL
Adams V WieserRussiaXuxue Feng PROPOSAL
Greenwood O TollnerIndiaAsiya Javayant NEW
Darci O VenereUnited KingdomAnna Fali UNQUALIFIED
Misaki D ButtUnited KingdomStephen Shaw NEGOTIATION
Mujtaba J NestleIndiaXuxue Feng RENEWAL
Claire T PerinSpainAnna Fali NEW
Aika Z BriddickGermanyElwin Sharvill NEGOTIATION
Rodrigues X SergiCanadaBernardo Dominic NEW
Juan H DilliardFranceElwin Sharvill NEGOTIATION
David Q WhobreyCanadaAnna Fali PROPOSAL
Rodrigues M BriddickUnited KingdomIvan Magalhaes PROPOSAL
Jones F KuskoSpainStephen Shaw NEW
Aika S GauchoIndiaIoni Bowcher UNQUALIFIED
Aditya K VenereItalyOnyama Limba UNQUALIFIED
Costa X VocelkaAustraliaIvan Magalhaes PROPOSAL
Munro Z VocelkaBrazilXuxue Feng RENEWAL
Wickens Y NestleJapanStephen Shaw QUALIFIED
Jones V FollerIndiaAnna Fali QUALIFIED
Antonio D GarufiItalyXuxue Feng NEGOTIATION
Leja D MaletAustraliaStephen Shaw NEGOTIATION
Mayumi I SaylorsRussiaIoni Bowcher NEW
Salvatore S WaycottBrazilAnna Fali RENEWAL
Costa W StockhamSpainStephen Shaw RENEWAL
Antonio P RulapaughItalyAmy Elsner NEW
Salvatore T OstroskyCanadaIoni Bowcher NEW
Murillo X GauchoBrazilOnyama Limba UNQUALIFIED
Murillo D FerenczSpainBernardo Dominic PROPOSAL
Stacey B MorascaGermanyIvan Magalhaes QUALIFIED
Stacey N NickaItalyStephen Shaw NEW
Maria N CaudyIndiaAsiya Javayant NEW
Frozen Columns
Name
Stacey S Kolmetz
James G Bolognia
Tony L Caudy
Darci O Foller
Stacey A Waycott
Deepesh D Ruta
Maria N Kusko
Alejandro O Rulapaugh
Antonio M Rim
Izzy M Slusarski
Faith E Sergi
Salvatore O Malet
Wickens E Rulapaugh
Mujtaba Y Ruta
Maisha E Whobrey
Jeanfrancois O Doe
Claire B Dilliard
Maisha U Darakjy
Arvin Q Saylors
Juan D Foller
Deepesh G Caldarera
Silvio K Morasca
Emily B Paprocki
Arvin S Doe
Rodrigues I Darakjy
Jeanfrancois P Oldroyd
Claire J Gillian
Isabel Q Waycott
Misaki J Malet
Ashley E Malet
Julie V Kolmetz
Claire A Venere
Darci E Maclead
Morrow R Briddick
Nicolas E Venere
Munro V Slusarski
Leon Y Foller
Ivar T Rulapaugh
Leja K Ostrosky
Arvin W Gaucho
Sinclair I Gillian
Darci G Inouye
Faith L Caudy
Emily X Shinko
Tony L Malet
Antonio B Malet
Isabel I Venere
Salvatore H Chui
Munro Q Stenseth
James O Darakjy
IdCountryDate
1000Germany2026-10-16
1001Spain2026-10-29
1002Italy2026-11-04
1003Argentina2026-10-25
1004India2026-11-07
1005Russia2026-11-05
1006Japan2026-10-29
1007Argentina2026-11-10
1008Australia2026-10-26
1009Spain2026-11-09
1010India2026-11-05
1011Australia2026-10-31
1012France2026-10-26
1013Canada2026-11-02
1014United Kingdom2026-11-08
1015Italy2026-10-15
1016Canada2026-10-18
1017Germany2026-10-12
1018Russia2026-11-05
1019France2026-11-04
1020Australia2026-10-25
1021Germany2026-10-16
1022Brazil2026-10-17
1023Spain2026-10-12
1024France2026-10-20
1025India2026-11-02
1026Argentina2026-10-23
1027France2026-10-26
1028France2026-11-06
1029Germany2026-10-24
1030Germany2026-11-03
1031France2026-10-27
1032Spain2026-11-06
1033Australia2026-11-04
1034Brazil2026-10-12
1035Japan2026-10-18
1036Russia2026-10-17
1037Spain2026-10-22
1038Spain2026-10-23
1039India2026-10-24
1040United Kingdom2026-10-26
1041India2026-10-15
1042Australia2026-10-19
1043Spain2026-11-02
1044India2026-10-26
1045United Kingdom2026-10-25
1046Canada2026-10-26
1047Italy2026-10-15
1048United Kingdom2026-10-29
1049France2026-10-20

On-Demand Data

NameIdCountryDate
Ricardo N Vocelka1000Italy2026-10-20
Salvatore L Ostrosky1001Russia2026-10-20
Antonio V Schemmer1002France2026-10-19
Aruna M Shinko1003Germany2026-10-23
Aika B Butt1004Russia2026-10-13
Jefferson W Bolognia1005Japan2026-11-02
Juan S Malet1006Italy2026-10-31
Octavia C Poquette1007United Kingdom2026-11-02
Clifford J Foller1008Germany2026-10-26
Munro Z Ostrosky1009Russia2026-10-28
Adams Z Gaucho1010India2026-10-19
Chavez C Poquette1011Australia2026-10-29
Misaki B Figeroa1012India2026-10-28
Jones Z Figeroa1013Japan2026-11-06
Silvio R Campain1014Russia2026-10-29
Greenwood O Briddick1015Spain2026-10-14
Maisha P Darakjy1016Brazil2026-10-13
Ivar D Ferencz1017Canada2026-11-07
Aditya O Venere1018France2026-10-15
Sinclair T Gaucho1019Russia2026-10-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia C GillianBrazilAsiya Javayant NEW
Kadeem K NestleFranceElwin Sharvill RENEWAL
Smith N PaprockiFranceIvan Magalhaes QUALIFIED
Ashley C AmigonItalyIoni Bowcher RENEWAL
Rodrigues H ShinkoRussiaAmy Elsner NEW
Arvin Q SaylorsUnited KingdomIvan Magalhaes RENEWAL
Costa Y StensethCanadaElwin Sharvill NEGOTIATION
Aruna O RulapaughCanadaOnyama Limba NEW
Clifford H DoeCanadaElwin Sharvill RENEWAL
Isabel B FollerArgentinaAsiya Javayant PROPOSAL
Leon B AlbaresItalyIoni Bowcher PROPOSAL
Juan D MaletArgentinaAmy Elsner NEGOTIATION
Silvio Q InouyeItalyAmy Elsner QUALIFIED
Morrow J FigeroaFranceElwin Sharvill RENEWAL
Claire M BowleyCanadaStephen Shaw NEW
Kadeem H ButtJapanIvan Magalhaes NEGOTIATION
Leon T CampainSpainAmy Elsner UNQUALIFIED
Jeanfrancois R StensethAustraliaOnyama Limba RENEWAL
Stacey V SaylorsRussiaOnyama Limba NEW
James B DoeUnited KingdomIoni Bowcher UNQUALIFIED
Izzy I KolmetzAustraliaXuxue Feng NEGOTIATION
Octavia I RoysterArgentinaOnyama Limba NEGOTIATION
Stacey T GauchoItalyXuxue Feng UNQUALIFIED
Sinclair L ButtSpainIvan Magalhaes QUALIFIED
Alejandro Q ButtAustraliaAnna Fali PROPOSAL
Emily M GauchoFranceIvan Magalhaes PROPOSAL
Clifford P MacleadAustraliaIoni Bowcher RENEWAL
Faith N OldroydFranceIvan Magalhaes NEW
Nicolas W GlickIndiaAsiya Javayant PROPOSAL
Nicolas P FerenczJapanIoni Bowcher UNQUALIFIED
Faith T FollerFranceAsiya Javayant QUALIFIED
Leon V OstroskyFranceStephen Shaw PROPOSAL
Munro Q DilliardItalyElwin Sharvill UNQUALIFIED
Alejandro J MarrierFranceAmy Elsner NEGOTIATION
Emily O BriddickAustraliaXuxue Feng QUALIFIED
Jennifer V MarrierFranceAsiya Javayant NEGOTIATION
Juan N RutaAustraliaStephen Shaw RENEWAL
Johnson A MaletRussiaAmy Elsner PROPOSAL
Emily K ButtRussiaIoni Bowcher RENEWAL
Adams W CaudyCanadaStephen 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>