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
Mujtaba B CaudyItalyAnna Fali UNQUALIFIED
James B CampainUnited KingdomIvan Magalhaes NEGOTIATION
Jones O ShinkoAustraliaElwin Sharvill NEW
Aruna I TollnerFranceIvan Magalhaes QUALIFIED
Maria G SaylorsGermanyOnyama Limba NEW
Kaitlin H BowleyAustraliaStephen Shaw PROPOSAL
Rodrigues Y AlbaresArgentinaOnyama Limba QUALIFIED
Emily Q GauchoRussiaElwin Sharvill QUALIFIED
Greenwood X NickaGermanyAsiya Javayant NEGOTIATION
Morrow Q VocelkaSpainElwin Sharvill NEGOTIATION
Jones Z KolmetzSpainAmy Elsner NEW
Silvio G GarufiJapanIoni Bowcher NEGOTIATION
Adams V MaletGermanyElwin Sharvill PROPOSAL
Aika L GlickCanadaAnna Fali QUALIFIED
Johnson C FerenczSpainElwin Sharvill UNQUALIFIED
Alejandro E KolmetzIndiaAsiya Javayant NEGOTIATION
Leja P SlusarskiItalyAnna Fali NEGOTIATION
Aditya N FlosiUnited KingdomElwin Sharvill NEW
Deepesh J ChuiRussiaAsiya Javayant QUALIFIED
Maria D MorascaItalyAnna Fali NEW
Maria O GauchoGermanyAsiya Javayant RENEWAL
Greenwood P OstroskyGermanyOnyama Limba NEW
Izzy E MacleadJapanIvan Magalhaes RENEWAL
Clifford W GarufiItalyXuxue Feng NEW
Maisha C MarrierBrazilAmy Elsner UNQUALIFIED
Rodrigues O CaudyBrazilStephen Shaw PROPOSAL
Rodrigues A NestleArgentinaAsiya Javayant NEW
Jefferson Y StockhamAustraliaOnyama Limba QUALIFIED
Munro C FlosiGermanyIoni Bowcher RENEWAL
Greenwood V RoysterBrazilAnna Fali QUALIFIED
Greenwood A OstroskySpainXuxue Feng QUALIFIED
Juan T MarrierAustraliaIvan Magalhaes NEGOTIATION
Jennifer Q TollnerCanadaXuxue Feng UNQUALIFIED
Johnson L KuskoUnited KingdomAsiya Javayant NEGOTIATION
Morrow Y GauchoAustraliaStephen Shaw UNQUALIFIED
Rodrigues V PoquetteUnited KingdomOnyama Limba RENEWAL
Greenwood M RulapaughAustraliaStephen Shaw PROPOSAL
David O KuskoIndiaOnyama Limba NEW
Maisha F GauchoAustraliaStephen Shaw NEW
Mayumi L WhobreyFranceAnna Fali RENEWAL
Jefferson W DilliardJapanIoni Bowcher NEW
Darci B InouyeRussiaAsiya Javayant NEGOTIATION
Maisha I SergiFranceIvan Magalhaes PROPOSAL
Maisha R VocelkaSpainStephen Shaw UNQUALIFIED
Deepesh O OldroydSpainIvan Magalhaes PROPOSAL
Jones K GarufiFranceStephen Shaw PROPOSAL
Aika I SchemmerBrazilAnna Fali QUALIFIED
Maria R RulapaughGermanyIoni Bowcher RENEWAL
Costa B RutaGermanyOnyama Limba NEW
Costa J OstroskyUnited KingdomAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Julie R ChuiItalyIoni Bowcher PROPOSAL
Antonio S MaletItalyBernardo Dominic NEW
Murillo D InouyeAustraliaAsiya Javayant PROPOSAL
Alejandro F WhobreyUnited KingdomOnyama Limba NEW
Wickens C KolmetzRussiaStephen Shaw UNQUALIFIED
Wickens F FollerJapanBernardo Dominic UNQUALIFIED
Clifford W SergiGermanyBernardo Dominic NEGOTIATION
Ivar X PoquetteFranceIoni Bowcher QUALIFIED
Leja G SergiUnited KingdomIoni Bowcher QUALIFIED
Izzy P FigeroaGermanyStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones O ShinkoItaly2026-10-08Morlong Associates QUALIFIED90Amy Elsner
1001Munro T FigeroaGermany2026-10-06Feltz Printing Service NEW2Amy Elsner
1002Clifford A RulapaughGermany2026-10-09Truhlar And Truhlar Attys NEGOTIATION51Amy Elsner
1003Izzy P WieserUnited Kingdom2026-10-14Benton, John B Jr UNQUALIFIED35Stephen Shaw
1004Salvatore P SergiUnited Kingdom2026-10-29Chanay, Jeffrey A Esq NEW80Onyama Limba
1005Deepesh T StensethJapan2026-10-15Benton, John B Jr NEGOTIATION42Bernardo Dominic
1006Isabel P VocelkaArgentina2026-10-10Rousseaux, Michael Esq NEGOTIATION11Anna Fali
1007Munro S BologniaSpain2026-10-27Rangoni Of Florence UNQUALIFIED10Elwin Sharvill
1008Juan Q PerinJapan2026-10-14Benton, John B Jr UNQUALIFIED3Ioni Bowcher
1009Mayumi B ShinkoRussia2026-10-26King, Christopher A Esq UNQUALIFIED26Amy Elsner
1010Arvin J WieserFrance2026-10-24Feltz Printing Service NEW54Anna Fali
1011Aditya V GillianJapan2026-10-20Truhlar And Truhlar Attys QUALIFIED88Stephen Shaw
1012Clifford J RoysterIndia2026-11-01Feiner Bros NEGOTIATION37Onyama Limba
1013Jeanfrancois J BriddickIndia2026-10-31Chemel, James L Cpa NEW86Elwin Sharvill
1014David W ChuiSpain2026-10-08Rousseaux, Michael Esq UNQUALIFIED4Stephen Shaw
1015Clifford U VenereSpain2026-10-31Chanay, Jeffrey A Esq PROPOSAL59Amy Elsner
1016Francesco Y GillianCanada2026-11-01Morlong Associates PROPOSAL89Ioni Bowcher
1017Nicolas F CampainAustralia2026-11-02Benton, John B Jr NEW42Ivan Magalhaes
1018Arvin R ShinkoBrazil2026-10-31Chapman, Ross E Esq PROPOSAL23Stephen Shaw
1019Salvatore X StensethIndia2026-10-09Dorl, James J Esq NEGOTIATION88Anna Fali
1020Cody A SchemmerUnited Kingdom2026-10-19Buckley Miller Wright RENEWAL63Bernardo Dominic
1021Kaitlin C FerenczJapan2026-10-23Feltz Printing Service RENEWAL95Asiya Javayant
1022Kaitlin Z WieserIndia2026-10-07Buckley Miller Wright NEW55Ivan Magalhaes
1023Morrow T ChuiSpain2026-10-09King, Christopher A Esq QUALIFIED16Onyama Limba
1024Tony O KolmetzCanada2026-10-16Chemel, James L Cpa NEGOTIATION12Onyama Limba
1025Misaki X WieserItaly2026-10-25Chemel, James L Cpa UNQUALIFIED82Anna Fali
1026Octavia K OstroskyIndia2026-10-26Chanay, Jeffrey A Esq PROPOSAL33Onyama Limba
1027Salvatore K KuskoCanada2026-10-25Chemel, James L Cpa UNQUALIFIED48Bernardo Dominic
1028David N FollerFrance2026-10-10Buckley Miller Wright RENEWAL65Onyama Limba
1029Costa R MaletSpain2026-10-13Chapman, Ross E Esq QUALIFIED95Xuxue Feng
1030Jones M AlbaresAustralia2026-10-26Chanay, Jeffrey A Esq NEGOTIATION54Anna Fali
1031Izzy Z BologniaRussia2026-10-26Truhlar And Truhlar Attys PROPOSAL17Ioni Bowcher
1032Maria M FerenczUnited Kingdom2026-11-01Feltz Printing Service NEW4Ivan Magalhaes
1033Salvatore Z SergiSpain2026-10-31Morlong Associates PROPOSAL67Bernardo Dominic
1034Smith W NickaUnited Kingdom2026-10-18King, Christopher A Esq NEGOTIATION54Bernardo Dominic
1035James J GlickBrazil2026-10-15Benton, John B Jr UNQUALIFIED64Stephen Shaw
1036Aditya Y VenereJapan2026-10-23Feiner Bros QUALIFIED11Ivan Magalhaes
1037Octavia H TollnerIndia2026-11-03Benton, John B Jr NEW37Xuxue Feng
1038Silvio Q RutaItaly2026-10-20Commercial Press UNQUALIFIED32Stephen Shaw
1039Clifford L BowleyGermany2026-10-23Rangoni Of Florence NEW27Onyama Limba
1040Francesco U DarakjyAustralia2026-10-07Buckley Miller Wright NEGOTIATION12Elwin Sharvill
1041Rodrigues Z DoeItaly2026-10-07Commercial Press QUALIFIED67Asiya Javayant
1042Jones L OstroskyIndia2026-10-08Rousseaux, Michael Esq RENEWAL3Ioni Bowcher
1043Darci K CaudyArgentina2026-10-10Rousseaux, Michael Esq QUALIFIED64Xuxue Feng
1044Jennifer K GauchoSpain2026-10-09Feiner Bros UNQUALIFIED21Ivan Magalhaes
1045Ivar G RimItaly2026-10-11Rangoni Of Florence PROPOSAL70Stephen Shaw
1046Silvio P GillianAustralia2026-10-25Chemel, James L Cpa QUALIFIED47Bernardo Dominic
1047Aika W PaprockiJapan2026-10-24Feltz Printing Service QUALIFIED31Stephen Shaw
1048Emily T FlosiArgentina2026-10-28Benton, John B Jr QUALIFIED79Stephen Shaw
1049Aruna O ButtArgentina2026-10-14Rangoni Of Florence UNQUALIFIED58Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ivar Z InouyeAustraliaStephen Shaw NEW
Aditya F GlickGermanyAnna Fali NEW
Kadeem I StensethAustraliaAnna Fali UNQUALIFIED
Emily G DoeIndiaIoni Bowcher NEW
Kaitlin K KuskoGermanyXuxue Feng RENEWAL
Izzy O FollerIndiaElwin Sharvill QUALIFIED
James N GauchoJapanIvan Magalhaes PROPOSAL
Morrow N VenereArgentinaAsiya Javayant RENEWAL
Darci H ChuiBrazilOnyama Limba RENEWAL
Aruna O AmigonGermanyAmy Elsner UNQUALIFIED
David K CampainArgentinaIoni Bowcher RENEWAL
Faith M MaletCanadaStephen Shaw QUALIFIED
Clifford E DoeGermanyIoni Bowcher NEGOTIATION
Faith N TollnerFranceXuxue Feng UNQUALIFIED
Darci S ShinkoSpainStephen Shaw NEW
Adams F PaprockiAustraliaAnna Fali NEW
Maria G GarufiCanadaAnna Fali UNQUALIFIED
Maisha K PoquetteGermanyAnna Fali QUALIFIED
Mayumi Y WhobreySpainIvan Magalhaes NEW
Munro Y VocelkaAustraliaIvan Magalhaes NEGOTIATION
Maisha E ChuiCanadaXuxue Feng UNQUALIFIED
Clifford R FlosiBrazilStephen Shaw RENEWAL
Faith T BriddickItalyOnyama Limba UNQUALIFIED
David Y RimGermanyOnyama Limba NEW
Munro Z RoysterAustraliaElwin Sharvill PROPOSAL
Mujtaba Y FlosiGermanyStephen Shaw NEW
Aruna X FigeroaRussiaAnna Fali NEW
Kaitlin F DilliardBrazilElwin Sharvill UNQUALIFIED
Antonio R CampainFranceXuxue Feng NEGOTIATION
Silvio W FlosiFranceElwin Sharvill NEW
Aruna S CaldareraUnited KingdomElwin Sharvill NEW
Antonio G GillianUnited KingdomStephen Shaw QUALIFIED
Arvin C RulapaughAustraliaElwin Sharvill NEW
Isabel U MaletIndiaOnyama Limba QUALIFIED
Jeanfrancois B ShinkoFranceBernardo Dominic NEGOTIATION
Mayumi P CampainUnited KingdomXuxue Feng UNQUALIFIED
David R OstroskyGermanyAnna Fali RENEWAL
Murillo Y TollnerArgentinaAsiya Javayant PROPOSAL
Johnson T CaldareraIndiaOnyama Limba PROPOSAL
Ashley M BriddickRussiaAsiya Javayant PROPOSAL
Tony Y RutaJapanAnna Fali QUALIFIED
Alejandro P GlickArgentinaIvan Magalhaes RENEWAL
Johnson M RutaItalyStephen Shaw RENEWAL
Claire M WaycottItalyElwin Sharvill NEW
Silvio U GarufiArgentinaStephen Shaw RENEWAL
Octavia R ButtRussiaStephen Shaw RENEWAL
Costa C IturbideUnited KingdomBernardo Dominic NEGOTIATION
Arvin O SaylorsIndiaElwin Sharvill PROPOSAL
Salvatore Y BriddickJapanBernardo Dominic RENEWAL
Jones B CaudyBrazilXuxue Feng NEGOTIATION
Frozen Columns
Name
Silvio G Wieser
Jefferson E Flosi
Misaki X Darakjy
Jones C Perin
Rodrigues U Venere
Ivar A Briddick
Adams R Paprocki
Wickens T Ruta
Murillo N Rim
Costa L Albares
Leja E Dilliard
Misaki Y Oldroyd
Silvio H Caldarera
Ivar Q Vocelka
Jeanfrancois C Malet
Ashley Y Stenseth
Maria V Albares
Maisha D Slusarski
Claire N Ruta
Morrow G Wieser
Juan C Ruta
Chavez L Saylors
Tony J Malet
David U Flosi
Alejandro I Sergi
Arvin W Campain
Adams M Sergi
Smith A Foller
Murillo T Malet
Ivar C Albares
Kaitlin B Perin
Deepesh X Briddick
Maria G Gillian
Leon H Ostrosky
Ricardo P Iturbide
Jefferson M Garufi
James Y Glick
Juan Y Garufi
Adams X Iturbide
Wickens W Foller
Maria K Slusarski
Clifford K Schemmer
Emily Q Malet
Jennifer M Sergi
Costa C Darakjy
Johnson L Foller
Jefferson M Doe
Aditya S Shinko
Izzy J Foller
Adams R Whobrey
IdCountryDate
1000France2026-10-10
1001Brazil2026-10-23
1002Russia2026-10-30
1003United Kingdom2026-10-23
1004Japan2026-10-09
1005Canada2026-10-09
1006Spain2026-10-31
1007Brazil2026-10-22
1008Japan2026-11-01
1009Russia2026-10-18
1010France2026-10-20
1011Japan2026-10-14
1012Brazil2026-10-25
1013Australia2026-10-17
1014Japan2026-10-09
1015Argentina2026-10-15
1016Argentina2026-10-20
1017Italy2026-10-17
1018Brazil2026-10-25
1019Spain2026-10-30
1020Brazil2026-10-15
1021Brazil2026-10-29
1022Japan2026-10-20
1023Spain2026-10-05
1024United Kingdom2026-10-24
1025Italy2026-10-28
1026India2026-10-20
1027Australia2026-10-24
1028Russia2026-10-27
1029Germany2026-10-16
1030Spain2026-10-20
1031Russia2026-10-17
1032Japan2026-10-09
1033India2026-10-06
1034Australia2026-10-30
1035Brazil2026-10-18
1036Canada2026-10-28
1037Japan2026-10-09
1038Italy2026-10-29
1039Russia2026-10-10
1040Argentina2026-10-18
1041Italy2026-10-27
1042Italy2026-11-01
1043Germany2026-10-15
1044Germany2026-10-10
1045Australia2026-10-13
1046Australia2026-11-03
1047Argentina2026-10-12
1048Germany2026-10-15
1049Australia2026-10-05

On-Demand Data

NameIdCountryDate
Nicolas N Nicka1000Italy2026-10-22
Jones S Foller1001France2026-10-13
Mujtaba R Stenseth1002United Kingdom2026-10-13
Francesco A Ostrosky1003Canada2026-10-20
Maria Z Ostrosky1004Spain2026-10-20
Kadeem H Marrier1005Japan2026-10-25
Maisha E Foller1006Russia2026-10-28
Chavez V Garufi1007Russia2026-10-30
Maisha Q Caldarera1008Canada2026-10-16
David G Venere1009Germany2026-10-23
Ivar P Glick1010Russia2026-10-26
Morrow F Kusko1011United Kingdom2026-11-02
Silvio C Darakjy1012Germany2026-10-15
Darci H Kolmetz1013Spain2026-10-31
Leon I Bolognia1014Australia2026-10-07
Morrow H Whobrey1015Spain2026-10-30
Leja H Ruta1016India2026-10-18
Stacey C Shinko1017Canada2026-10-09
Maria I Albares1018France2026-10-30
Alejandro A Campain1019Spain2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow G RutaCanadaStephen Shaw RENEWAL
Adams H RoysterJapanBernardo Dominic QUALIFIED
Wickens D KuskoFranceAsiya Javayant UNQUALIFIED
Stacey T MaletItalyAsiya Javayant RENEWAL
Jennifer J TollnerAustraliaBernardo Dominic QUALIFIED
David G SchemmerCanadaAmy Elsner NEW
Tony O MorascaCanadaIvan Magalhaes NEW
Leja U PoquetteRussiaOnyama Limba PROPOSAL
Juan Q BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo Y CampainAustraliaStephen Shaw NEW
Ivar W MaletArgentinaElwin Sharvill PROPOSAL
Emily X FollerUnited KingdomOnyama Limba NEW
Arvin P DilliardCanadaAnna Fali NEGOTIATION
Kaitlin W MarrierCanadaXuxue Feng NEGOTIATION
Isabel J MaletUnited KingdomAmy Elsner NEGOTIATION
Faith Z MarrierBrazilAsiya Javayant UNQUALIFIED
Johnson F GillianUnited KingdomAsiya Javayant UNQUALIFIED
Wickens Z CaldareraFranceElwin Sharvill UNQUALIFIED
Smith K DoeRussiaBernardo Dominic NEGOTIATION
Silvio X SlusarskiBrazilIvan Magalhaes UNQUALIFIED
Arvin L FigeroaCanadaElwin Sharvill RENEWAL
Leon P ChuiRussiaAnna Fali NEW
Aika R StockhamAustraliaElwin Sharvill QUALIFIED
Mayumi V StensethAustraliaXuxue Feng RENEWAL
Jones O MaletCanadaElwin Sharvill QUALIFIED
Alejandro D KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Murillo U SaylorsIndiaElwin Sharvill QUALIFIED
Mujtaba X MorascaSpainOnyama Limba QUALIFIED
Adams H RutaBrazilIvan Magalhaes QUALIFIED
Wickens I WaycottFranceIoni Bowcher NEW
Ivar G GlickCanadaIoni Bowcher NEW
Chavez A RutaJapanBernardo Dominic PROPOSAL
Costa U OldroydJapanElwin Sharvill QUALIFIED
Julie T MorascaAustraliaStephen Shaw NEGOTIATION
Maria X SaylorsRussiaXuxue Feng RENEWAL
James Y OldroydBrazilBernardo Dominic NEW
Maisha V DilliardRussiaOnyama Limba QUALIFIED
Leja H GarufiCanadaStephen Shaw RENEWAL
Smith O BriddickUnited KingdomAsiya Javayant NEW
Claire Y PaprockiGermanyElwin Sharvill UNQUALIFIED

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