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
Alejandro B KolmetzArgentinaAnna Fali RENEWAL
Jones N CaldareraGermanyXuxue Feng RENEWAL
Greenwood C RulapaughUnited KingdomElwin Sharvill PROPOSAL
Sinclair T VenereBrazilAnna Fali UNQUALIFIED
Munro U VocelkaIndiaStephen Shaw NEGOTIATION
Jefferson Q BriddickBrazilOnyama Limba QUALIFIED
Darci T FerenczItalyStephen Shaw QUALIFIED
Aika M WhobreyArgentinaBernardo Dominic UNQUALIFIED
Costa V MorascaFranceBernardo Dominic QUALIFIED
Antonio M WhobreyItalyAnna Fali NEW
Aika L RulapaughFranceAnna Fali PROPOSAL
Juan X GillianItalyStephen Shaw PROPOSAL
Maria R VocelkaIndiaXuxue Feng RENEWAL
Greenwood Q MacleadJapanOnyama Limba UNQUALIFIED
Aika X NickaItalyAmy Elsner NEW
Munro C OstroskyArgentinaXuxue Feng NEGOTIATION
Antonio P SergiSpainStephen Shaw UNQUALIFIED
Francesco Q FollerIndiaXuxue Feng NEW
Aika X ButtItalyXuxue Feng QUALIFIED
Mayumi F GarufiCanadaOnyama Limba PROPOSAL
Greenwood Q OstroskyBrazilXuxue Feng RENEWAL
Juan J KuskoItalyOnyama Limba RENEWAL
Maisha K AlbaresArgentinaOnyama Limba NEGOTIATION
Isabel K OstroskyRussiaAnna Fali UNQUALIFIED
Octavia Z AmigonSpainAnna Fali UNQUALIFIED
Izzy M FlosiCanadaAmy Elsner RENEWAL
Misaki V FollerCanadaAnna Fali UNQUALIFIED
Jeanfrancois X CaldareraArgentinaElwin Sharvill NEGOTIATION
Cody O StockhamRussiaAnna Fali NEW
Isabel Z GarufiFranceElwin Sharvill UNQUALIFIED
Munro Y SaylorsIndiaAsiya Javayant NEGOTIATION
Aruna W GauchoGermanyIvan Magalhaes UNQUALIFIED
Ricardo U WhobreyJapanAsiya Javayant NEW
Aruna M VenereItalyStephen Shaw NEGOTIATION
Antonio O DoeJapanBernardo Dominic NEW
Adams Z RulapaughJapanAsiya Javayant RENEWAL
Maria H AmigonFranceIoni Bowcher NEGOTIATION
Adams M PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Deepesh Y NickaJapanXuxue Feng QUALIFIED
Claire N PoquetteCanadaAmy Elsner PROPOSAL
Ricardo Z FerenczItalyAnna Fali NEW
Greenwood B SergiItalyOnyama Limba UNQUALIFIED
Alejandro P MorascaFranceIvan Magalhaes PROPOSAL
Antonio L GarufiUnited KingdomAsiya Javayant NEGOTIATION
Wickens E GlickArgentinaXuxue Feng PROPOSAL
Leon S DilliardGermanyElwin Sharvill NEW
Maisha L KuskoFranceElwin Sharvill RENEWAL
David R AmigonIndiaElwin Sharvill NEGOTIATION
Mujtaba Y AmigonSpainBernardo Dominic NEW
Maria Y SlusarskiBrazilAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy M DoeUnited KingdomXuxue Feng PROPOSAL
Jefferson C GlickRussiaOnyama Limba PROPOSAL
Stacey X StockhamUnited KingdomIvan Magalhaes NEW
Tony E MorascaCanadaBernardo Dominic RENEWAL
Jennifer X MaletSpainAsiya Javayant NEW
Francesco S MarrierJapanAsiya Javayant NEW
Julie P AmigonBrazilStephen Shaw QUALIFIED
Izzy U SchemmerFranceXuxue Feng PROPOSAL
Aruna C IturbideAustraliaBernardo Dominic UNQUALIFIED
Kaitlin C IturbideIndiaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez O RoysterAustralia2026-10-08Benton, John B Jr PROPOSAL29Anna Fali
1001Ivar K IturbideSpain2026-09-19Buckley Miller Wright NEGOTIATION62Anna Fali
1002Jefferson T PoquetteSpain2026-09-20Rousseaux, Michael Esq UNQUALIFIED77Stephen Shaw
1003Darci Y OstroskyUnited Kingdom2026-10-10King, Christopher A Esq NEGOTIATION66Bernardo Dominic
1004Maisha M BologniaItaly2026-10-04Feltz Printing Service RENEWAL18Onyama Limba
1005Clifford K SlusarskiItaly2026-10-11Feiner Bros NEW92Onyama Limba
1006Francesco B SergiBrazil2026-09-28Feiner Bros UNQUALIFIED19Bernardo Dominic
1007Munro J KolmetzRussia2026-09-14Printing Dimensions RENEWAL17Anna Fali
1008Antonio E WaycottSpain2026-10-06Rousseaux, Michael Esq NEW80Onyama Limba
1009Claire Y GlickIndia2026-10-11Commercial Press NEW64Amy Elsner
1010Salvatore U VenereRussia2026-10-05Morlong Associates NEW69Stephen Shaw
1011Tony O VenereBrazil2026-09-16Chapman, Ross E Esq QUALIFIED76Stephen Shaw
1012Aruna V SergiGermany2026-10-01Chanay, Jeffrey A Esq NEGOTIATION36Onyama Limba
1013Juan A RoysterItaly2026-09-25Commercial Press NEW35Bernardo Dominic
1014Ivar Q FerenczSpain2026-10-08Printing Dimensions NEGOTIATION26Onyama Limba
1015Chavez Z SlusarskiCanada2026-10-01Feiner Bros PROPOSAL80Xuxue Feng
1016Aruna M MaletFrance2026-09-25Buckley Miller Wright NEW51Stephen Shaw
1017Juan K StockhamItaly2026-10-04Morlong Associates NEGOTIATION60Amy Elsner
1018Maria I KolmetzIndia2026-10-10Chanay, Jeffrey A Esq UNQUALIFIED47Asiya Javayant
1019Chavez Q RoysterUnited Kingdom2026-10-11Rousseaux, Michael Esq NEW34Ioni Bowcher
1020Deepesh T PerinBrazil2026-10-08Truhlar And Truhlar Attys RENEWAL75Onyama Limba
1021Wickens Q SergiItaly2026-10-01Dorl, James J Esq NEGOTIATION95Stephen Shaw
1022Costa U WaycottBrazil2026-10-10Chapman, Ross E Esq NEGOTIATION60Ioni Bowcher
1023Maisha V WhobreyUnited Kingdom2026-10-05Chapman, Ross E Esq NEGOTIATION42Anna Fali
1024Ashley T OstroskyFrance2026-09-13Truhlar And Truhlar Attys NEGOTIATION39Ioni Bowcher
1025Morrow W AmigonItaly2026-09-13Feltz Printing Service NEW80Anna Fali
1026Jeanfrancois J MarrierAustralia2026-09-30Benton, John B Jr QUALIFIED33Asiya Javayant
1027Ivar N MaletCanada2026-09-24Feltz Printing Service QUALIFIED36Bernardo Dominic
1028Darci L NestleRussia2026-10-07Dorl, James J Esq NEW76Ivan Magalhaes
1029Murillo G OstroskySpain2026-09-28Rangoni Of Florence PROPOSAL85Asiya Javayant
1030Cody C GillianBrazil2026-09-17Benton, John B Jr UNQUALIFIED39Asiya Javayant
1031Leja I GillianArgentina2026-09-24Chapman, Ross E Esq NEW27Ivan Magalhaes
1032Greenwood S FerenczBrazil2026-10-06Feiner Bros QUALIFIED25Anna Fali
1033Ashley X FerenczUnited Kingdom2026-10-07Rangoni Of Florence UNQUALIFIED65Xuxue Feng
1034Salvatore W BriddickIndia2026-09-23Chapman, Ross E Esq UNQUALIFIED54Anna Fali
1035Jeanfrancois L FollerSpain2026-09-18Rousseaux, Michael Esq NEW42Ioni Bowcher
1036Julie Y CampainSpain2026-10-02Dorl, James J Esq PROPOSAL50Amy Elsner
1037Johnson Q StensethRussia2026-10-09Morlong Associates UNQUALIFIED58Anna Fali
1038Sinclair H SchemmerSpain2026-09-16Feiner Bros UNQUALIFIED24Xuxue Feng
1039Rodrigues V OldroydJapan2026-10-08Chemel, James L Cpa NEGOTIATION96Elwin Sharvill
1040Rodrigues F DarakjyFrance2026-10-06Buckley Miller Wright UNQUALIFIED31Anna Fali
1041Munro B RulapaughJapan2026-10-10Dorl, James J Esq NEW74Bernardo Dominic
1042Ashley T WieserArgentina2026-09-26Chemel, James L Cpa UNQUALIFIED43Amy Elsner
1043Stacey G GillianItaly2026-09-21Chapman, Ross E Esq UNQUALIFIED98Ivan Magalhaes
1044Silvio H FerenczSpain2026-10-01Chemel, James L Cpa NEGOTIATION70Xuxue Feng
1045Smith F RoysterRussia2026-09-29Chapman, Ross E Esq RENEWAL64Asiya Javayant
1046Wickens M VocelkaArgentina2026-09-19Truhlar And Truhlar Attys PROPOSAL43Xuxue Feng
1047James M FollerBrazil2026-09-22Morlong Associates NEGOTIATION30Elwin Sharvill
1048Cody J SaylorsSpain2026-09-13Chemel, James L Cpa PROPOSAL15Xuxue Feng
1049Aruna C DarakjyJapan2026-10-06Chapman, Ross E Esq NEW60Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens G GauchoJapanAnna Fali QUALIFIED
Faith Z GarufiGermanyIvan Magalhaes NEW
Arvin Q KuskoArgentinaOnyama Limba QUALIFIED
Wickens G SergiBrazilElwin Sharvill NEW
Maisha P CaudyIndiaIoni Bowcher PROPOSAL
Jennifer C StensethBrazilAmy Elsner QUALIFIED
Stacey M RimUnited KingdomElwin Sharvill RENEWAL
Izzy P KuskoIndiaAsiya Javayant NEW
Maria Z MaletRussiaAmy Elsner UNQUALIFIED
Darci Z MaletGermanyXuxue Feng NEGOTIATION
Juan C DarakjyGermanyElwin Sharvill QUALIFIED
Munro K SergiIndiaOnyama Limba RENEWAL
Johnson F BowleyArgentinaIvan Magalhaes NEW
Octavia O FlosiArgentinaAnna Fali NEGOTIATION
Maisha N NickaJapanStephen Shaw RENEWAL
Juan E FollerItalyAsiya Javayant RENEWAL
Stacey J OldroydJapanXuxue Feng PROPOSAL
Aditya H CaudyBrazilElwin Sharvill UNQUALIFIED
Arvin Q RimItalyAnna Fali QUALIFIED
Rodrigues C ShinkoRussiaIoni Bowcher QUALIFIED
Kaitlin D DilliardFranceElwin Sharvill PROPOSAL
Leon R CaldareraRussiaIoni Bowcher QUALIFIED
Darci J ButtArgentinaElwin Sharvill UNQUALIFIED
Emily O ChuiAustraliaAsiya Javayant NEGOTIATION
Mayumi X PerinFranceElwin Sharvill NEW
Jeanfrancois B SlusarskiIndiaXuxue Feng NEGOTIATION
Maisha V KolmetzAustraliaAsiya Javayant NEW
Mujtaba N BriddickIndiaAmy Elsner UNQUALIFIED
Izzy T GillianCanadaAsiya Javayant NEW
Arvin R ChuiJapanOnyama Limba UNQUALIFIED
Juan I BologniaUnited KingdomStephen Shaw RENEWAL
Costa M GlickFranceAsiya Javayant PROPOSAL
Adams H KolmetzIndiaXuxue Feng RENEWAL
James M DarakjyRussiaIoni Bowcher QUALIFIED
Ivar N RoysterJapanXuxue Feng QUALIFIED
Cody N CampainBrazilAmy Elsner QUALIFIED
Maisha N BowleyIndiaStephen Shaw NEW
Jennifer R NickaBrazilOnyama Limba RENEWAL
Jeanfrancois Y CampainJapanIoni Bowcher PROPOSAL
Greenwood V GarufiFranceElwin Sharvill NEGOTIATION
Leon D SlusarskiIndiaElwin Sharvill PROPOSAL
Rodrigues W InouyeSpainBernardo Dominic QUALIFIED
Mayumi Z BriddickAustraliaAsiya Javayant RENEWAL
Leja G ShinkoAustraliaIvan Magalhaes RENEWAL
Antonio G FerenczCanadaOnyama Limba PROPOSAL
Tony N FlosiItalyStephen Shaw NEGOTIATION
Adams E SchemmerJapanAsiya Javayant RENEWAL
Cody H PaprockiJapanIoni Bowcher RENEWAL
Aditya K DarakjyArgentinaXuxue Feng RENEWAL
Aika Z RulapaughGermanyXuxue Feng PROPOSAL
Frozen Columns
Name
Faith L Vocelka
Costa R Stenseth
Ricardo Z Sergi
Chavez P Sergi
Deepesh G Dilliard
Costa B Flosi
Octavia V Royster
Costa T Albares
Murillo T Chui
Arvin R Ostrosky
Leon N Saylors
Izzy W Caldarera
David H Campain
Aruna Z Poquette
Leja K Chui
Smith N Ferencz
Isabel H Albares
Stacey O Kolmetz
Kaitlin B Flosi
Greenwood N Doe
Alejandro Y Ferencz
Julie Q Ferencz
Cody C Marrier
Nicolas Q Briddick
Morrow R Nicka
Jeanfrancois W Caldarera
Greenwood L Butt
Julie U Malet
Jennifer Q Albares
Kaitlin B Bolognia
Izzy C Malet
Aruna K Stenseth
Clifford H Wieser
Sinclair X Caudy
Isabel O Chui
Isabel T Iturbide
Deepesh G Stockham
Jennifer X Gaucho
Juan Z Paprocki
Jennifer V Chui
Tony L Flosi
Jennifer P Poquette
Ivar E Malet
Wickens K Wieser
Aruna Z Royster
Sinclair L Inouye
James A Nestle
Silvio U Morasca
Greenwood I Sergi
Ashley G Butt
IdCountryDate
1000Spain2026-10-11
1001Australia2026-09-29
1002Brazil2026-10-02
1003Brazil2026-10-08
1004Italy2026-09-13
1005United Kingdom2026-09-17
1006Japan2026-09-29
1007Canada2026-10-10
1008Canada2026-09-21
1009Japan2026-09-20
1010Japan2026-09-30
1011Brazil2026-09-30
1012Australia2026-09-18
1013United Kingdom2026-09-29
1014Australia2026-09-19
1015Japan2026-10-03
1016Australia2026-09-20
1017Canada2026-09-18
1018Brazil2026-10-03
1019Brazil2026-09-28
1020Russia2026-09-26
1021Argentina2026-10-11
1022Canada2026-10-11
1023Argentina2026-09-12
1024Spain2026-09-27
1025Brazil2026-10-08
1026Japan2026-10-09
1027Japan2026-09-29
1028Germany2026-10-04
1029Italy2026-10-11
1030India2026-09-28
1031Argentina2026-09-13
1032Germany2026-09-29
1033India2026-10-10
1034Brazil2026-09-24
1035Japan2026-09-30
1036Italy2026-09-18
1037Japan2026-09-22
1038India2026-09-12
1039India2026-09-25
1040India2026-10-02
1041Germany2026-09-14
1042Brazil2026-09-19
1043Argentina2026-10-02
1044Canada2026-10-03
1045Japan2026-09-27
1046France2026-10-01
1047United Kingdom2026-09-16
1048Russia2026-10-04
1049Canada2026-09-13

On-Demand Data

NameIdCountryDate
Costa G Slusarski1000United Kingdom2026-09-18
Darci B Paprocki1001Canada2026-10-04
Costa R Stenseth1002Canada2026-10-03
Claire B Maclead1003Japan2026-09-27
Faith X Waycott1004Spain2026-10-05
Izzy K Ruta1005Italy2026-09-19
David A Waycott1006United Kingdom2026-10-05
Adams L Malet1007Argentina2026-09-29
Chavez M Ruta1008India2026-09-28
Ivar A Rulapaugh1009Argentina2026-09-13
Adams G Ferencz1010Germany2026-09-18
Ricardo G Rulapaugh1011Canada2026-09-12
Leon F Marrier1012Argentina2026-10-11
Stacey J Briddick1013Germany2026-09-26
Alejandro S Paprocki1014Spain2026-10-07
Leja W Tollner1015Spain2026-09-25
Deepesh Z Darakjy1016Italy2026-09-22
Greenwood D Maclead1017Argentina2026-09-25
Aditya J Saylors1018India2026-10-10
Arvin W Saylors1019Australia2026-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams N OstroskyIndiaIvan Magalhaes NEGOTIATION
David L GillianCanadaOnyama Limba UNQUALIFIED
Rodrigues P RoysterAustraliaXuxue Feng QUALIFIED
Murillo L CaudyFranceBernardo Dominic PROPOSAL
Mujtaba L SchemmerBrazilXuxue Feng NEGOTIATION
Morrow R AlbaresArgentinaXuxue Feng QUALIFIED
Sinclair G GillianGermanyXuxue Feng QUALIFIED
Salvatore Z FlosiFranceBernardo Dominic PROPOSAL
David M InouyeAustraliaBernardo Dominic QUALIFIED
Tony S RutaSpainAnna Fali RENEWAL
David G MaletAustraliaStephen Shaw PROPOSAL
Murillo U OstroskyFranceOnyama Limba QUALIFIED
Leja G BowleyJapanAnna Fali UNQUALIFIED
Nicolas B VocelkaIndiaOnyama Limba PROPOSAL
Aika R MacleadRussiaStephen Shaw RENEWAL
Mujtaba R MaletUnited KingdomXuxue Feng PROPOSAL
Emily X GillianCanadaBernardo Dominic NEGOTIATION
Adams M RoysterFranceIvan Magalhaes QUALIFIED
Stacey S FollerRussiaAmy Elsner NEW
Tony A GlickRussiaBernardo Dominic QUALIFIED
Mujtaba W NickaJapanStephen Shaw NEW
Claire H ShinkoArgentinaAnna Fali UNQUALIFIED
Leon W ButtBrazilXuxue Feng UNQUALIFIED
Johnson M InouyeFranceStephen Shaw NEGOTIATION
Nicolas Z InouyeRussiaAsiya Javayant PROPOSAL
Maria U SlusarskiIndiaAmy Elsner NEW
Ricardo G OstroskyAustraliaXuxue Feng PROPOSAL
Aditya M SlusarskiItalyXuxue Feng NEW
Aruna K VenereIndiaIoni Bowcher PROPOSAL
Aditya Y AmigonCanadaIoni Bowcher NEGOTIATION
Aditya W BriddickRussiaXuxue Feng UNQUALIFIED
Claire D CampainArgentinaAnna Fali PROPOSAL
Ricardo J FollerUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin L CampainUnited KingdomXuxue Feng NEW
Stacey N MaletFranceBernardo Dominic RENEWAL
Nicolas F FlosiArgentinaElwin Sharvill RENEWAL
Maria F NestleSpainElwin Sharvill RENEWAL
Aditya I GlickGermanyAmy Elsner UNQUALIFIED
Emily K WaycottCanadaAnna Fali NEW
Silvio R FlosiJapanAmy Elsner 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>