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
Deepesh K WaycottCanadaAsiya Javayant UNQUALIFIED
Leja Y SergiFranceAnna Fali QUALIFIED
Jones S MacleadIndiaBernardo Dominic NEGOTIATION
Claire M NickaGermanyXuxue Feng PROPOSAL
Mayumi Z NickaGermanyIvan Magalhaes RENEWAL
Tony G KolmetzBrazilAsiya Javayant NEW
Maisha M PoquetteRussiaBernardo Dominic PROPOSAL
Leon M PerinItalyIvan Magalhaes UNQUALIFIED
Wickens H FigeroaJapanAmy Elsner RENEWAL
Chavez I IturbideBrazilStephen Shaw RENEWAL
Jones K WhobreyAustraliaAsiya Javayant QUALIFIED
Isabel T DarakjyAustraliaElwin Sharvill NEGOTIATION
Jennifer U MarrierFranceIoni Bowcher QUALIFIED
Chavez Y StockhamItalyStephen Shaw QUALIFIED
Chavez F WieserBrazilIvan Magalhaes NEW
Rodrigues T MorascaBrazilElwin Sharvill NEW
Darci W KolmetzBrazilAmy Elsner PROPOSAL
Munro I WieserBrazilElwin Sharvill NEGOTIATION
Misaki D ButtJapanAmy Elsner RENEWAL
Costa M DoeCanadaOnyama Limba RENEWAL
Aruna F StensethIndiaAnna Fali QUALIFIED
Antonio J DoeCanadaIoni Bowcher QUALIFIED
Kadeem J VocelkaItalyStephen Shaw NEGOTIATION
Misaki W CaudyItalyIvan Magalhaes RENEWAL
Kaitlin G DilliardBrazilBernardo Dominic NEW
Leja Q KuskoCanadaAnna Fali NEGOTIATION
Salvatore F NickaAustraliaXuxue Feng NEW
Kadeem G WhobreyItalyIoni Bowcher UNQUALIFIED
Arvin O BologniaUnited KingdomXuxue Feng NEW
Claire B MaletArgentinaElwin Sharvill NEGOTIATION
Chavez O GlickRussiaIvan Magalhaes QUALIFIED
Jennifer F IturbideIndiaElwin Sharvill NEW
Adams K AlbaresSpainElwin Sharvill UNQUALIFIED
Johnson H AlbaresArgentinaXuxue Feng QUALIFIED
Clifford Y FigeroaAustraliaIoni Bowcher NEGOTIATION
Jones E MarrierSpainAnna Fali RENEWAL
Kadeem Y RulapaughIndiaAnna Fali NEGOTIATION
Isabel W BologniaJapanStephen Shaw NEGOTIATION
Misaki H ButtArgentinaAsiya Javayant NEGOTIATION
Murillo D DoeRussiaOnyama Limba UNQUALIFIED
Darci A RimSpainOnyama Limba RENEWAL
Nicolas S KolmetzAustraliaAsiya Javayant QUALIFIED
Wickens X RutaUnited KingdomAmy Elsner NEGOTIATION
Sinclair L ButtCanadaAmy Elsner NEGOTIATION
Jefferson H RutaBrazilOnyama Limba NEW
Julie E BriddickSpainAnna Fali NEW
Izzy G PoquetteSpainStephen Shaw NEGOTIATION
Mayumi L IturbideJapanStephen Shaw NEGOTIATION
Greenwood Z AlbaresSpainBernardo Dominic RENEWAL
Claire S RimUnited KingdomAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair D NickaItalyIvan Magalhaes NEW
Jones D IturbideSpainXuxue Feng PROPOSAL
Antonio R DilliardRussiaOnyama Limba NEGOTIATION
Mayumi Z CaldareraGermanyIvan Magalhaes NEGOTIATION
Costa Y InouyeUnited KingdomAsiya Javayant PROPOSAL
Salvatore C GlickSpainAmy Elsner NEW
Arvin J PoquetteRussiaIvan Magalhaes PROPOSAL
Sinclair T SergiItalyOnyama Limba QUALIFIED
Jeanfrancois C PerinItalyAmy Elsner NEW
Faith G GlickGermanyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi D GauchoCanada2026-08-26King, Christopher A Esq PROPOSAL0Bernardo Dominic
1001Adams M VenereSpain2026-09-10Truhlar And Truhlar Attys UNQUALIFIED60Ioni Bowcher
1002Aditya J NickaBrazil2026-09-15King, Christopher A Esq QUALIFIED90Ivan Magalhaes
1003Octavia T PaprockiJapan2026-09-16Chemel, James L Cpa NEGOTIATION84Bernardo Dominic
1004Maisha O KuskoBrazil2026-08-27Chanay, Jeffrey A Esq NEGOTIATION0Elwin Sharvill
1005Nicolas B MorascaGermany2026-09-17Morlong Associates NEGOTIATION93Xuxue Feng
1006Silvio S AmigonFrance2026-08-30Chapman, Ross E Esq RENEWAL36Stephen Shaw
1007Juan P AlbaresRussia2026-09-12Printing Dimensions RENEWAL92Ioni Bowcher
1008David A NickaCanada2026-09-15Benton, John B Jr UNQUALIFIED4Stephen Shaw
1009Darci L SchemmerJapan2026-09-07Benton, John B Jr UNQUALIFIED36Asiya Javayant
1010David R KuskoItaly2026-09-20Dorl, James J Esq RENEWAL13Bernardo Dominic
1011Ricardo D RulapaughAustralia2026-08-28Commercial Press NEW62Ioni Bowcher
1012Adams Y PerinSpain2026-09-09Morlong Associates PROPOSAL26Asiya Javayant
1013Chavez J DoeSpain2026-09-10Commercial Press NEW55Ivan Magalhaes
1014Tony I VenereAustralia2026-08-27Chemel, James L Cpa NEW52Asiya Javayant
1015Leon I TollnerItaly2026-09-24Feiner Bros RENEWAL52Anna Fali
1016David F KolmetzAustralia2026-09-02Printing Dimensions RENEWAL94Bernardo Dominic
1017Mayumi Y IturbideArgentina2026-09-09Feiner Bros NEGOTIATION74Onyama Limba
1018Emily K VocelkaFrance2026-09-17King, Christopher A Esq NEGOTIATION68Amy Elsner
1019Leja G SlusarskiIndia2026-09-02Chapman, Ross E Esq PROPOSAL15Ioni Bowcher
1020Murillo G FollerJapan2026-09-05Printing Dimensions QUALIFIED64Ivan Magalhaes
1021Darci E KolmetzFrance2026-09-24Buckley Miller Wright NEGOTIATION70Asiya Javayant
1022Mujtaba W GillianItaly2026-09-07Dorl, James J Esq RENEWAL99Anna Fali
1023Adams D GillianBrazil2026-09-03Printing Dimensions NEW64Asiya Javayant
1024Stacey J WaycottJapan2026-09-12Benton, John B Jr QUALIFIED92Amy Elsner
1025Stacey T PerinBrazil2026-09-15Benton, John B Jr NEGOTIATION62Bernardo Dominic
1026Juan I FlosiArgentina2026-09-17Chanay, Jeffrey A Esq PROPOSAL20Ivan Magalhaes
1027Munro C OldroydAustralia2026-09-02King, Christopher A Esq RENEWAL33Stephen Shaw
1028Clifford T WieserFrance2026-08-29Rangoni Of Florence RENEWAL91Ioni Bowcher
1029Wickens Q BowleySpain2026-09-05Rangoni Of Florence NEGOTIATION63Amy Elsner
1030Alejandro J GillianBrazil2026-09-14Chapman, Ross E Esq RENEWAL40Stephen Shaw
1031Clifford M MorascaAustralia2026-09-07Printing Dimensions UNQUALIFIED15Asiya Javayant
1032Morrow R RimIndia2026-09-11King, Christopher A Esq QUALIFIED11Bernardo Dominic
1033Adams T RoysterSpain2026-09-02Chanay, Jeffrey A Esq UNQUALIFIED33Stephen Shaw
1034Darci X DarakjyCanada2026-09-05Chemel, James L Cpa RENEWAL81Bernardo Dominic
1035Mayumi U SlusarskiRussia2026-09-04Commercial Press QUALIFIED7Anna Fali
1036Adams M RutaIndia2026-09-19Chapman, Ross E Esq NEW59Onyama Limba
1037Aruna F RulapaughGermany2026-08-29Chanay, Jeffrey A Esq NEW69Onyama Limba
1038Jones Z GlickRussia2026-08-27Rangoni Of Florence RENEWAL37Xuxue Feng
1039Costa L RimFrance2026-09-11Printing Dimensions UNQUALIFIED29Anna Fali
1040Stacey L InouyeCanada2026-08-27Rousseaux, Michael Esq PROPOSAL17Stephen Shaw
1041Stacey N VenereJapan2026-09-02Commercial Press QUALIFIED6Asiya Javayant
1042Salvatore C GlickGermany2026-09-02King, Christopher A Esq NEGOTIATION22Ivan Magalhaes
1043Jefferson L PerinSpain2026-09-06Rousseaux, Michael Esq NEW35Anna Fali
1044Leja G InouyeItaly2026-09-17Chanay, Jeffrey A Esq NEW12Bernardo Dominic
1045Aika Z KuskoBrazil2026-09-18Truhlar And Truhlar Attys UNQUALIFIED39Ivan Magalhaes
1046Isabel U VenereItaly2026-09-10Feiner Bros NEGOTIATION42Ioni Bowcher
1047Aruna T BowleyItaly2026-09-06Commercial Press QUALIFIED5Stephen Shaw
1048Stacey N BriddickAustralia2026-09-23Chemel, James L Cpa PROPOSAL83Ioni Bowcher
1049Stacey W MacleadRussia2026-09-01Truhlar And Truhlar Attys QUALIFIED31Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Deepesh O FollerAustraliaAnna Fali QUALIFIED
Izzy B PerinIndiaOnyama Limba UNQUALIFIED
Julie L MarrierBrazilAmy Elsner NEW
Juan A KuskoSpainElwin Sharvill NEW
Costa E GarufiArgentinaIvan Magalhaes UNQUALIFIED
Francesco Z GlickFranceOnyama Limba NEW
James U OstroskyJapanAsiya Javayant NEW
Julie U AlbaresGermanyElwin Sharvill PROPOSAL
Isabel H VenereArgentinaAsiya Javayant QUALIFIED
Wickens A KuskoAustraliaAmy Elsner QUALIFIED
Kaitlin W CaudyJapanBernardo Dominic PROPOSAL
Johnson Q BowleyItalyIvan Magalhaes NEW
Maisha G CaudyGermanyOnyama Limba RENEWAL
Maria U NestleCanadaAmy Elsner QUALIFIED
James Q VocelkaIndiaIoni Bowcher QUALIFIED
Kadeem W FollerAustraliaAmy Elsner UNQUALIFIED
Costa X MaletBrazilIvan Magalhaes PROPOSAL
Ricardo U RoysterItalyAnna Fali NEGOTIATION
Rodrigues P GlickBrazilAnna Fali PROPOSAL
Ashley R VenereRussiaXuxue Feng PROPOSAL
Tony W NestleIndiaAnna Fali QUALIFIED
Aditya P StensethBrazilXuxue Feng NEGOTIATION
Ashley N MorascaJapanAmy Elsner NEGOTIATION
Ivar F CaldareraFranceStephen Shaw PROPOSAL
Smith L ChuiBrazilOnyama Limba NEW
Leon G KuskoRussiaOnyama Limba NEGOTIATION
Leja X StockhamArgentinaAnna Fali QUALIFIED
Claire M SergiUnited KingdomElwin Sharvill QUALIFIED
Alejandro G TollnerJapanAmy Elsner UNQUALIFIED
Darci I NestleIndiaOnyama Limba PROPOSAL
Emily C FlosiGermanyElwin Sharvill PROPOSAL
Izzy M TollnerBrazilIvan Magalhaes PROPOSAL
Maria T TollnerArgentinaAsiya Javayant QUALIFIED
Arvin N ButtCanadaIvan Magalhaes NEGOTIATION
Izzy Y NickaBrazilIvan Magalhaes PROPOSAL
Claire K VocelkaBrazilIvan Magalhaes PROPOSAL
Faith C NestleItalyIoni Bowcher UNQUALIFIED
Sinclair Y GillianFranceAmy Elsner NEW
Ashley U CampainBrazilAmy Elsner PROPOSAL
Mujtaba T RutaArgentinaElwin Sharvill PROPOSAL
Maisha M VocelkaSpainBernardo Dominic UNQUALIFIED
Kadeem M GarufiRussiaOnyama Limba PROPOSAL
Maria W WhobreyCanadaAmy Elsner QUALIFIED
Ivar Q WhobreyGermanyAmy Elsner NEW
Morrow J ChuiArgentinaIoni Bowcher NEGOTIATION
Faith T DilliardGermanyIvan Magalhaes QUALIFIED
David I StockhamItalyElwin Sharvill NEGOTIATION
Kadeem Q GlickBrazilElwin Sharvill RENEWAL
Alejandro N ShinkoAustraliaBernardo Dominic UNQUALIFIED
Julie U KolmetzIndiaBernardo Dominic NEGOTIATION
Frozen Columns
Name
Smith Q Stockham
Misaki B Morasca
Arvin Q Malet
Francesco O Perin
Antonio B Maclead
Arvin K Ostrosky
Tony L Albares
Smith Q Sergi
Jeanfrancois O Chui
Mujtaba P Wieser
Rodrigues H Schemmer
Mayumi J Paprocki
Nicolas P Whobrey
Aruna X Garufi
Adams I Slusarski
Jeanfrancois G Doe
James W Bowley
Ashley C Inouye
Isabel W Glick
Smith N Bowley
Octavia F Schemmer
Isabel N Doe
Julie O Nestle
Rodrigues I Oldroyd
Juan C Nestle
Arvin U Malet
Alejandro X Vocelka
Munro M Bolognia
Greenwood O Wieser
Leja Z Chui
Aditya A Ostrosky
Izzy O Dilliard
Wickens Y Caldarera
Sinclair D Slusarski
Wickens I Stenseth
Jennifer K Iturbide
Leon D Ostrosky
Emily O Butt
Mayumi L Caldarera
Izzy P Rim
Nicolas U Wieser
Leja Q Glick
Jones G Kolmetz
Emily P Bolognia
Jefferson I Stenseth
Leja F Bolognia
David X Ruta
Rodrigues F Bolognia
Smith S Nestle
Maisha Y Tollner
IdCountryDate
1000Japan2026-09-07
1001United Kingdom2026-09-23
1002Germany2026-09-17
1003United Kingdom2026-09-04
1004France2026-08-29
1005Canada2026-09-08
1006Brazil2026-08-26
1007Italy2026-09-22
1008Australia2026-09-17
1009Spain2026-09-09
1010Germany2026-09-05
1011Russia2026-09-17
1012Canada2026-09-14
1013Argentina2026-09-02
1014Brazil2026-09-19
1015Italy2026-08-28
1016United Kingdom2026-09-19
1017United Kingdom2026-09-10
1018Brazil2026-09-03
1019Australia2026-08-26
1020Russia2026-08-27
1021Russia2026-09-22
1022Australia2026-09-13
1023Russia2026-09-19
1024Australia2026-09-17
1025United Kingdom2026-09-11
1026Italy2026-09-10
1027Canada2026-08-29
1028Brazil2026-09-16
1029Australia2026-09-20
1030Spain2026-09-03
1031Russia2026-09-20
1032France2026-09-21
1033Germany2026-08-31
1034Spain2026-09-02
1035Japan2026-09-06
1036Japan2026-09-06
1037France2026-08-30
1038India2026-09-02
1039Germany2026-09-09
1040Canada2026-09-17
1041United Kingdom2026-09-19
1042Japan2026-09-01
1043Russia2026-08-29
1044United Kingdom2026-09-03
1045Argentina2026-08-28
1046Argentina2026-09-24
1047Argentina2026-09-12
1048Australia2026-09-16
1049Italy2026-09-08

On-Demand Data

NameIdCountryDate
Adams T Briddick1000Germany2026-09-22
Greenwood M Briddick1001Germany2026-09-08
Jennifer C Glick1002India2026-08-29
Emily N Chui1003India2026-09-08
Tony K Nestle1004India2026-09-20
Leja U Stenseth1005Canada2026-09-13
Arvin T Rim1006Spain2026-09-20
Ashley K Briddick1007Japan2026-09-12
James Z Gillian1008Germany2026-09-24
Clifford Y Paprocki1009Brazil2026-09-05
Aika Q Oldroyd1010Brazil2026-08-30
Claire I Shinko1011Argentina2026-09-02
Arvin W Dilliard1012Spain2026-08-31
Arvin T Maclead1013Canada2026-09-09
Johnson J Foller1014Russia2026-08-29
Aruna G Rulapaugh1015Canada2026-09-15
Francesco L Campain1016France2026-09-12
Munro E Amigon1017Spain2026-09-22
Aditya D Vocelka1018Germany2026-09-05
Wickens A Butt1019Germany2026-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel B GauchoArgentinaAmy Elsner PROPOSAL
Rodrigues A DarakjyItalyXuxue Feng NEGOTIATION
Costa G InouyeRussiaIvan Magalhaes NEW
Juan N StensethArgentinaAmy Elsner QUALIFIED
Maisha X KuskoJapanBernardo Dominic NEGOTIATION
Aruna G MaletItalyXuxue Feng QUALIFIED
Chavez D GauchoCanadaXuxue Feng QUALIFIED
Costa E FlosiBrazilIoni Bowcher NEGOTIATION
Chavez N AmigonSpainOnyama Limba QUALIFIED
Ricardo Z ChuiIndiaElwin Sharvill PROPOSAL
Sinclair S GauchoJapanAsiya Javayant NEW
Smith E SchemmerRussiaIoni Bowcher PROPOSAL
Darci G RutaIndiaAmy Elsner NEGOTIATION
Munro Z IturbideSpainBernardo Dominic QUALIFIED
Chavez G RoysterSpainIoni Bowcher NEW
Emily O WaycottRussiaAsiya Javayant PROPOSAL
Salvatore Z BologniaGermanyAnna Fali RENEWAL
Aruna X GlickGermanyStephen Shaw QUALIFIED
Jones K MacleadGermanyAsiya Javayant NEGOTIATION
Deepesh G RulapaughCanadaXuxue Feng NEW
Clifford D CampainArgentinaElwin Sharvill PROPOSAL
Greenwood Q NestleBrazilAsiya Javayant PROPOSAL
Costa C BologniaBrazilBernardo Dominic QUALIFIED
Darci M CampainJapanIoni Bowcher PROPOSAL
Nicolas P RutaItalyIoni Bowcher QUALIFIED
Cody U PoquetteArgentinaAsiya Javayant QUALIFIED
Salvatore E DarakjyCanadaIoni Bowcher QUALIFIED
Maria C BologniaUnited KingdomAsiya Javayant QUALIFIED
Alejandro M OldroydSpainElwin Sharvill QUALIFIED
Julie G RulapaughIndiaElwin Sharvill QUALIFIED
Salvatore H WhobreyFranceAsiya Javayant NEW
Sinclair E BowleyFranceAmy Elsner NEW
Smith C WieserUnited KingdomStephen Shaw UNQUALIFIED
Smith X PerinAustraliaAmy Elsner NEW
Claire V StockhamCanadaIoni Bowcher RENEWAL
Aika M PerinAustraliaOnyama Limba RENEWAL
Maisha G RutaBrazilXuxue Feng PROPOSAL
Deepesh X BriddickUnited KingdomAmy Elsner NEW
Julie I SlusarskiFranceIoni Bowcher QUALIFIED
Adams Z PerinUnited KingdomXuxue Feng NEGOTIATION

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