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
Antonio K GillianUnited KingdomAsiya Javayant NEGOTIATION
Johnson O RutaJapanOnyama Limba PROPOSAL
Mayumi M GlickBrazilElwin Sharvill NEW
Mujtaba B AmigonAustraliaAmy Elsner NEW
Leon C RimArgentinaAsiya Javayant NEW
Isabel O BologniaJapanElwin Sharvill NEGOTIATION
David E ShinkoRussiaIvan Magalhaes NEW
Clifford M NestleArgentinaElwin Sharvill QUALIFIED
Ivar B PaprockiAustraliaOnyama Limba UNQUALIFIED
Leja N DoeRussiaBernardo Dominic NEW
Ivar E AmigonIndiaStephen Shaw PROPOSAL
Ricardo H RulapaughBrazilIoni Bowcher UNQUALIFIED
Izzy T FigeroaJapanStephen Shaw RENEWAL
Stacey B BologniaCanadaStephen Shaw QUALIFIED
Jennifer J OldroydFranceElwin Sharvill PROPOSAL
Johnson J MaletBrazilOnyama Limba QUALIFIED
Munro J VenereCanadaStephen Shaw QUALIFIED
Mujtaba F VenereIndiaAsiya Javayant UNQUALIFIED
Cody H GillianAustraliaIvan Magalhaes QUALIFIED
Leon U DarakjyCanadaXuxue Feng NEW
David K AmigonFranceAsiya Javayant PROPOSAL
Adams L GarufiUnited KingdomXuxue Feng NEW
Nicolas T MaletFranceAmy Elsner UNQUALIFIED
Faith P RutaFranceAsiya Javayant NEGOTIATION
Jefferson V RoysterJapanAsiya Javayant QUALIFIED
Chavez L DarakjyItalyIvan Magalhaes PROPOSAL
Faith G ChuiGermanyElwin Sharvill NEW
Ricardo W OldroydSpainStephen Shaw UNQUALIFIED
David R IturbideSpainBernardo Dominic PROPOSAL
Isabel X NickaBrazilElwin Sharvill QUALIFIED
Maisha A WhobreyItalyOnyama Limba UNQUALIFIED
Alejandro K AmigonFranceBernardo Dominic NEGOTIATION
Ricardo Z GauchoIndiaIoni Bowcher NEGOTIATION
Aika R SlusarskiCanadaIvan Magalhaes PROPOSAL
James O FigeroaCanadaAsiya Javayant QUALIFIED
Aruna Y RulapaughFranceAsiya Javayant QUALIFIED
Jennifer R RutaItalyXuxue Feng PROPOSAL
Costa O CaudySpainAmy Elsner QUALIFIED
Jeanfrancois N VenereIndiaAnna Fali NEW
Wickens G TollnerArgentinaStephen Shaw QUALIFIED
Alejandro Z DoeGermanyElwin Sharvill NEGOTIATION
Jefferson M MacleadFranceIvan Magalhaes NEW
Maisha P BriddickSpainAnna Fali QUALIFIED
Ivar V AmigonArgentinaElwin Sharvill QUALIFIED
Silvio C DoeItalyAmy Elsner NEW
Aruna P NickaJapanIoni Bowcher PROPOSAL
Chavez K FerenczJapanStephen Shaw PROPOSAL
Aika W DarakjyArgentinaAsiya Javayant PROPOSAL
Francesco W PerinUnited KingdomIoni Bowcher UNQUALIFIED
Aditya B BologniaJapanIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Munro V GillianRussiaBernardo Dominic QUALIFIED
Juan Q SergiJapanAmy Elsner PROPOSAL
Claire Z RoysterIndiaStephen Shaw RENEWAL
Misaki S TollnerAustraliaIvan Magalhaes RENEWAL
Wickens R BologniaRussiaAmy Elsner PROPOSAL
Leon I CaldareraJapanOnyama Limba NEGOTIATION
Ivar G RulapaughFranceAsiya Javayant QUALIFIED
Ashley D PerinGermanyOnyama Limba PROPOSAL
Darci I SergiRussiaStephen Shaw NEW
Arvin H RoysterRussiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony M GarufiJapan2026-09-21Feltz Printing Service UNQUALIFIED41Ioni Bowcher
1001Salvatore R ButtItaly2026-08-26Truhlar And Truhlar Attys QUALIFIED47Stephen Shaw
1002Jeanfrancois U MaletGermany2026-09-18Truhlar And Truhlar Attys NEGOTIATION47Xuxue Feng
1003Adams E CaldareraSpain2026-09-06Printing Dimensions QUALIFIED88Bernardo Dominic
1004James M InouyeGermany2026-09-19Commercial Press QUALIFIED71Asiya Javayant
1005Claire H IturbideItaly2026-09-04Morlong Associates PROPOSAL80Elwin Sharvill
1006Jeanfrancois B AmigonIndia2026-09-04Truhlar And Truhlar Attys QUALIFIED87Ioni Bowcher
1007Juan A ShinkoRussia2026-08-24Chapman, Ross E Esq RENEWAL88Amy Elsner
1008Kaitlin Z RulapaughGermany2026-09-02Feltz Printing Service RENEWAL88Ivan Magalhaes
1009Chavez K InouyeItaly2026-09-20King, Christopher A Esq PROPOSAL67Bernardo Dominic
1010Murillo A ChuiBrazil2026-08-29Commercial Press NEGOTIATION60Anna Fali
1011Silvio A MorascaSpain2026-09-03Feltz Printing Service NEW52Ivan Magalhaes
1012Antonio K FollerGermany2026-09-15Feiner Bros NEW82Stephen Shaw
1013Darci X GillianGermany2026-08-31Rangoni Of Florence NEW4Xuxue Feng
1014Ricardo I RulapaughAustralia2026-08-23Commercial Press PROPOSAL69Asiya Javayant
1015Costa R GauchoArgentina2026-09-21King, Christopher A Esq PROPOSAL97Anna Fali
1016Stacey D CaudyArgentina2026-09-05King, Christopher A Esq NEW4Ioni Bowcher
1017Salvatore Z IturbideJapan2026-09-08Commercial Press NEW59Ioni Bowcher
1018Adams C RimGermany2026-08-30Benton, John B Jr QUALIFIED88Asiya Javayant
1019Claire I BriddickCanada2026-09-11Chanay, Jeffrey A Esq PROPOSAL81Amy Elsner
1020Smith M BologniaJapan2026-09-17Chemel, James L Cpa UNQUALIFIED53Amy Elsner
1021Jones P FollerFrance2026-09-16Rousseaux, Michael Esq NEW54Amy Elsner
1022Rodrigues U GillianCanada2026-09-01Dorl, James J Esq UNQUALIFIED20Elwin Sharvill
1023Ivar V NestleSpain2026-09-04King, Christopher A Esq QUALIFIED55Stephen Shaw
1024Wickens U PaprockiSpain2026-08-28Chemel, James L Cpa NEGOTIATION53Amy Elsner
1025Wickens P BologniaIndia2026-09-15Truhlar And Truhlar Attys RENEWAL64Bernardo Dominic
1026Ricardo M SergiUnited Kingdom2026-09-17Commercial Press UNQUALIFIED29Anna Fali
1027Aditya S SaylorsSpain2026-08-25Truhlar And Truhlar Attys PROPOSAL18Amy Elsner
1028Costa B MacleadAustralia2026-09-04Rangoni Of Florence RENEWAL10Anna Fali
1029Antonio I ChuiSpain2026-09-21Rangoni Of Florence NEW25Stephen Shaw
1030Nicolas W WhobreyGermany2026-09-02Dorl, James J Esq UNQUALIFIED47Anna Fali
1031Munro M RimItaly2026-08-23Morlong Associates QUALIFIED31Asiya Javayant
1032Cody F StockhamArgentina2026-09-03King, Christopher A Esq QUALIFIED59Elwin Sharvill
1033Maisha M VocelkaGermany2026-09-19Commercial Press NEGOTIATION29Bernardo Dominic
1034Aruna Z AmigonAustralia2026-09-01Rousseaux, Michael Esq PROPOSAL59Bernardo Dominic
1035Deepesh U CaldareraIndia2026-09-08Chemel, James L Cpa PROPOSAL77Amy Elsner
1036David F OldroydSpain2026-09-21Buckley Miller Wright UNQUALIFIED25Asiya Javayant
1037Deepesh Q TollnerIndia2026-09-12Rousseaux, Michael Esq PROPOSAL55Amy Elsner
1038Cody D GauchoBrazil2026-08-26Benton, John B Jr NEW63Onyama Limba
1039Clifford L AlbaresUnited Kingdom2026-09-11Rousseaux, Michael Esq UNQUALIFIED33Ivan Magalhaes
1040Salvatore L DarakjyBrazil2026-08-28Chemel, James L Cpa RENEWAL68Xuxue Feng
1041Aika J WhobreyCanada2026-08-23Commercial Press QUALIFIED5Ivan Magalhaes
1042Greenwood O WieserJapan2026-09-18Chemel, James L Cpa RENEWAL61Xuxue Feng
1043Murillo C BriddickGermany2026-09-03Chanay, Jeffrey A Esq QUALIFIED38Elwin Sharvill
1044Maisha U NickaBrazil2026-09-20Rangoni Of Florence NEGOTIATION38Stephen Shaw
1045Kadeem P MaletSpain2026-09-14King, Christopher A Esq PROPOSAL74Ioni Bowcher
1046Morrow K StockhamFrance2026-08-27Truhlar And Truhlar Attys NEW18Onyama Limba
1047James A DarakjyItaly2026-08-31Dorl, James J Esq PROPOSAL18Ioni Bowcher
1048Ivar F BriddickRussia2026-08-24Buckley Miller Wright PROPOSAL43Asiya Javayant
1049James U AmigonUnited Kingdom2026-09-17Chapman, Ross E Esq NEGOTIATION3Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aditya E WaycottAustraliaAsiya Javayant QUALIFIED
Aruna J InouyeIndiaElwin Sharvill RENEWAL
Maisha U NestleSpainOnyama Limba QUALIFIED
Clifford B KolmetzJapanAmy Elsner NEGOTIATION
David A PerinBrazilAmy Elsner QUALIFIED
Silvio J PaprockiJapanIvan Magalhaes PROPOSAL
Aditya H KuskoCanadaIvan Magalhaes QUALIFIED
Smith Y StensethUnited KingdomAmy Elsner RENEWAL
Smith V ChuiBrazilStephen Shaw UNQUALIFIED
Johnson T MaletFranceIoni Bowcher UNQUALIFIED
Mujtaba O GillianBrazilXuxue Feng QUALIFIED
Mayumi U GauchoIndiaAnna Fali NEGOTIATION
Johnson K VocelkaAustraliaAnna Fali NEGOTIATION
Greenwood K IturbideGermanyBernardo Dominic UNQUALIFIED
Deepesh X IturbideCanadaElwin Sharvill PROPOSAL
Ivar M MorascaJapanElwin Sharvill RENEWAL
Faith P InouyeUnited KingdomXuxue Feng UNQUALIFIED
Silvio U MacleadCanadaXuxue Feng QUALIFIED
Maisha I DarakjyItalyIvan Magalhaes QUALIFIED
Costa P WieserRussiaAsiya Javayant RENEWAL
Aruna M StockhamIndiaBernardo Dominic RENEWAL
Maria U SlusarskiFranceAmy Elsner QUALIFIED
Silvio Y MaletCanadaAnna Fali RENEWAL
Ashley X SergiArgentinaIoni Bowcher RENEWAL
Morrow A FlosiFranceAmy Elsner PROPOSAL
Aika K RutaGermanyIvan Magalhaes NEGOTIATION
Isabel J BriddickGermanyIvan Magalhaes QUALIFIED
Stacey Z BologniaIndiaOnyama Limba QUALIFIED
Chavez K OstroskyCanadaAmy Elsner QUALIFIED
Aika A ChuiFranceIvan Magalhaes UNQUALIFIED
Kadeem D SergiSpainOnyama Limba NEW
Salvatore F AlbaresRussiaIvan Magalhaes RENEWAL
Ricardo F BriddickIndiaElwin Sharvill RENEWAL
Aika N VocelkaFranceOnyama Limba NEGOTIATION
Clifford A VenereArgentinaIoni Bowcher PROPOSAL
Aditya P CaldareraIndiaAsiya Javayant RENEWAL
Ashley X CaudyFranceIvan Magalhaes UNQUALIFIED
Munro A OstroskyAustraliaElwin Sharvill QUALIFIED
Leja T ButtSpainXuxue Feng PROPOSAL
Sinclair Q StensethArgentinaAmy Elsner QUALIFIED
Alejandro S FerenczAustraliaAsiya Javayant NEGOTIATION
Tony C AlbaresArgentinaBernardo Dominic NEGOTIATION
Smith L WhobreyFranceAsiya Javayant QUALIFIED
Silvio F GlickFranceAnna Fali NEW
Claire N VocelkaAustraliaAnna Fali NEGOTIATION
Kaitlin O BowleyFranceBernardo Dominic NEGOTIATION
Costa L VocelkaCanadaElwin Sharvill NEW
Stacey D KuskoIndiaElwin Sharvill NEW
Cody T SaylorsBrazilXuxue Feng PROPOSAL
Francesco M StockhamSpainOnyama Limba NEGOTIATION
Frozen Columns
Name
Isabel E Perin
Jones P Tollner
Rodrigues C Poquette
Alejandro X Shinko
Murillo A Iturbide
Emily V Stenseth
David I Bowley
Murillo S Chui
Octavia R Bowley
Jones X Ruta
David J Rim
Jefferson S Amigon
Costa D Vocelka
Francesco F Ostrosky
Ivar A Kusko
Ricardo N Perin
Costa X Ferencz
Emily U Shinko
Maria C Marrier
Jeanfrancois K Nicka
Aruna R Garufi
Greenwood Y Waycott
Faith M Iturbide
Cody N Bolognia
Misaki Y Briddick
Silvio Q Campain
Salvatore M Albares
Murillo C Malet
Morrow R Stockham
Jeanfrancois V Stockham
Johnson A Bolognia
Maria H Caudy
Aruna Z Figeroa
Alejandro A Ferencz
Ashley B Figeroa
Octavia H Paprocki
Murillo Q Shinko
Deepesh M Figeroa
James H Stockham
Cody O Marrier
Deepesh R Ferencz
Leon H Malet
Antonio S Doe
Aika R Darakjy
Morrow O Vocelka
Alejandro R Butt
Rodrigues H Rim
Ricardo W Nicka
Misaki U Saylors
Izzy P Kolmetz
IdCountryDate
1000France2026-09-19
1001Russia2026-09-12
1002Argentina2026-09-04
1003Germany2026-09-17
1004Japan2026-09-17
1005Argentina2026-09-14
1006France2026-09-05
1007Germany2026-09-19
1008India2026-09-02
1009Spain2026-09-20
1010Japan2026-09-21
1011Italy2026-08-30
1012Canada2026-09-16
1013France2026-09-16
1014Japan2026-09-18
1015Italy2026-09-12
1016Russia2026-09-07
1017Argentina2026-09-06
1018Germany2026-09-06
1019France2026-09-17
1020Brazil2026-08-29
1021Canada2026-09-08
1022Russia2026-08-29
1023India2026-08-30
1024Japan2026-09-05
1025Japan2026-09-02
1026Japan2026-09-17
1027Russia2026-09-19
1028Brazil2026-09-02
1029Argentina2026-09-06
1030India2026-09-02
1031Brazil2026-09-16
1032Brazil2026-09-12
1033Australia2026-09-13
1034United Kingdom2026-08-23
1035Russia2026-09-16
1036Russia2026-09-08
1037France2026-09-12
1038France2026-09-12
1039Russia2026-09-11
1040Spain2026-09-01
1041Canada2026-09-21
1042France2026-09-16
1043Spain2026-08-28
1044France2026-08-24
1045Argentina2026-09-18
1046Germany2026-09-16
1047Italy2026-09-21
1048France2026-09-18
1049Canada2026-09-07

On-Demand Data

NameIdCountryDate
Deepesh A Glick1000United Kingdom2026-08-25
Julie T Glick1001France2026-09-03
Izzy U Butt1002Russia2026-09-21
Adams B Poquette1003Canada2026-09-09
Maria J Ruta1004Russia2026-08-27
Aika A Shinko1005Italy2026-09-11
Stacey U Rim1006Argentina2026-09-04
Smith D Gillian1007India2026-09-12
Sinclair E Marrier1008Brazil2026-09-09
Izzy C Caldarera1009Spain2026-09-06
Wickens O Figeroa1010Brazil2026-08-26
Cody K Royster1011United Kingdom2026-09-20
Emily Z Iturbide1012India2026-09-04
Emily U Poquette1013Germany2026-08-23
Chavez E Rulapaugh1014United Kingdom2026-09-17
Leon S Whobrey1015United Kingdom2026-09-13
Mayumi K Schemmer1016Russia2026-09-07
Cody C Paprocki1017United Kingdom2026-09-10
Aika I Whobrey1018Brazil2026-08-24
Misaki R Oldroyd1019Germany2026-08-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro Y InouyeArgentinaElwin Sharvill RENEWAL
Alejandro E BologniaJapanIoni Bowcher RENEWAL
Cody V FigeroaFranceIoni Bowcher RENEWAL
Claire C InouyeSpainElwin Sharvill QUALIFIED
Clifford T RoysterSpainElwin Sharvill RENEWAL
Kaitlin X PerinArgentinaXuxue Feng PROPOSAL
Jeanfrancois W WhobreyAustraliaElwin Sharvill QUALIFIED
Jennifer N VocelkaAustraliaAnna Fali QUALIFIED
Chavez B MarrierGermanyElwin Sharvill NEW
Morrow L MorascaArgentinaStephen Shaw PROPOSAL
Stacey Y RutaCanadaIoni Bowcher PROPOSAL
Isabel N NestleAustraliaAsiya Javayant NEGOTIATION
Aditya P RutaCanadaXuxue Feng PROPOSAL
James U FerenczIndiaOnyama Limba NEW
Rodrigues M SaylorsSpainIoni Bowcher PROPOSAL
Juan B KuskoRussiaOnyama Limba RENEWAL
Ricardo C KuskoSpainOnyama Limba QUALIFIED
Misaki B GlickIndiaOnyama Limba QUALIFIED
Aruna T ChuiCanadaOnyama Limba NEW
Aika E OstroskyGermanyIoni Bowcher QUALIFIED
Mayumi G GauchoBrazilXuxue Feng QUALIFIED
Jefferson I NickaUnited KingdomAsiya Javayant QUALIFIED
Deepesh O VenereUnited KingdomBernardo Dominic UNQUALIFIED
Adams E FollerJapanIvan Magalhaes RENEWAL
Isabel E RimRussiaIvan Magalhaes PROPOSAL
Ivar L OldroydUnited KingdomBernardo Dominic PROPOSAL
Silvio O AlbaresItalyAnna Fali UNQUALIFIED
Aditya Q GillianBrazilAnna Fali NEW
Morrow S SaylorsIndiaStephen Shaw PROPOSAL
Maria D PaprockiFranceAmy Elsner RENEWAL
Kadeem E AlbaresJapanAnna Fali QUALIFIED
Silvio M DoeRussiaStephen Shaw NEGOTIATION
Francesco V KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Cody P PaprockiBrazilAnna Fali QUALIFIED
Jefferson P AlbaresIndiaAnna Fali PROPOSAL
Morrow M DoeRussiaAsiya Javayant RENEWAL
Jennifer T SaylorsUnited KingdomStephen Shaw NEW
Salvatore Y ButtSpainXuxue Feng PROPOSAL
Munro F MaletRussiaElwin Sharvill PROPOSAL
Alejandro U KuskoAustraliaIvan Magalhaes 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>