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 A SchemmerGermanyStephen Shaw RENEWAL
Antonio X MaletFranceAnna Fali QUALIFIED
Octavia U FigeroaBrazilIoni Bowcher QUALIFIED
Kaitlin J WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Misaki J SchemmerCanadaOnyama Limba PROPOSAL
Murillo E WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Smith Y AmigonArgentinaElwin Sharvill NEGOTIATION
Ashley R WaycottItalyOnyama Limba NEW
Sinclair C PerinBrazilIoni Bowcher QUALIFIED
Silvio L TollnerArgentinaOnyama Limba RENEWAL
Emily U IturbideJapanStephen Shaw NEW
Kaitlin C GauchoUnited KingdomAsiya Javayant NEGOTIATION
Maria F FollerJapanIvan Magalhaes UNQUALIFIED
Deepesh E FollerItalyAnna Fali RENEWAL
Aruna V FollerUnited KingdomIvan Magalhaes PROPOSAL
Munro B DoeCanadaAmy Elsner PROPOSAL
Claire U NestleAustraliaBernardo Dominic NEGOTIATION
Emily A PerinItalyIvan Magalhaes PROPOSAL
Adams Z GlickCanadaAnna Fali RENEWAL
Maisha K CampainRussiaStephen Shaw NEGOTIATION
Isabel S MaletAustraliaBernardo Dominic QUALIFIED
Clifford U KuskoAustraliaElwin Sharvill PROPOSAL
Antonio A SaylorsUnited KingdomAnna Fali RENEWAL
James H OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo I RutaUnited KingdomStephen Shaw UNQUALIFIED
Murillo A FigeroaIndiaAsiya Javayant QUALIFIED
Leja Q MaletGermanyElwin Sharvill PROPOSAL
Francesco N SchemmerItalyAsiya Javayant RENEWAL
Stacey M BowleyItalyBernardo Dominic NEW
Clifford E WaycottJapanBernardo Dominic NEGOTIATION
Ashley E InouyeArgentinaElwin Sharvill PROPOSAL
Ricardo G FlosiJapanStephen Shaw PROPOSAL
Nicolas M StensethUnited KingdomIoni Bowcher UNQUALIFIED
Isabel R RulapaughSpainXuxue Feng QUALIFIED
Cody T DarakjyBrazilAnna Fali UNQUALIFIED
Jefferson L FigeroaIndiaAsiya Javayant NEW
Alejandro I AlbaresRussiaAsiya Javayant UNQUALIFIED
Silvio K InouyeItalyOnyama Limba PROPOSAL
Nicolas U WieserRussiaElwin Sharvill UNQUALIFIED
Ivar B PerinAustraliaStephen Shaw RENEWAL
Misaki J FigeroaFranceElwin Sharvill QUALIFIED
Rodrigues N WaycottItalyIoni Bowcher RENEWAL
Ivar Q WieserBrazilAmy Elsner UNQUALIFIED
Kadeem B GlickFranceAmy Elsner QUALIFIED
Maria M OstroskyFranceIvan Magalhaes QUALIFIED
Smith W KolmetzAustraliaAsiya Javayant QUALIFIED
Aditya M ButtFranceXuxue Feng NEGOTIATION
Munro M DilliardArgentinaAsiya Javayant NEW
Kadeem X GlickBrazilAsiya Javayant UNQUALIFIED
Nicolas G VenereFranceAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones Z GillianCanadaStephen Shaw RENEWAL
Ashley R FollerGermanyElwin Sharvill QUALIFIED
Smith L BriddickRussiaBernardo Dominic QUALIFIED
Rodrigues B TollnerUnited KingdomOnyama Limba PROPOSAL
Aruna G StensethSpainBernardo Dominic RENEWAL
Kadeem S MaletBrazilIvan Magalhaes QUALIFIED
Ivar F FerenczBrazilOnyama Limba RENEWAL
Deepesh V InouyeCanadaBernardo Dominic RENEWAL
Leja U AmigonRussiaBernardo Dominic PROPOSAL
Munro D SaylorsArgentinaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja D MaletFrance2026-10-15Rousseaux, Michael Esq RENEWAL86Bernardo Dominic
1001Munro Y VocelkaIndia2026-10-09Benton, John B Jr PROPOSAL81Anna Fali
1002Ricardo R PerinAustralia2026-10-02Morlong Associates RENEWAL27Amy Elsner
1003Emily B CaudyCanada2026-10-13Morlong Associates NEGOTIATION68Stephen Shaw
1004Mujtaba W BologniaGermany2026-10-22Rangoni Of Florence QUALIFIED81Xuxue Feng
1005Maria W RulapaughRussia2026-10-16Rangoni Of Florence NEW85Amy Elsner
1006Ivar D StockhamCanada2026-10-23Chanay, Jeffrey A Esq QUALIFIED30Amy Elsner
1007Misaki T BriddickJapan2026-10-05Buckley Miller Wright NEGOTIATION77Bernardo Dominic
1008Claire E InouyeArgentina2026-10-16Commercial Press NEGOTIATION69Asiya Javayant
1009Costa T PoquetteCanada2026-09-24Chapman, Ross E Esq RENEWAL91Onyama Limba
1010Aruna S InouyeRussia2026-09-26Truhlar And Truhlar Attys UNQUALIFIED89Asiya Javayant
1011Izzy T VocelkaCanada2026-10-22Truhlar And Truhlar Attys QUALIFIED85Onyama Limba
1012Leon T PerinAustralia2026-10-01Benton, John B Jr UNQUALIFIED21Xuxue Feng
1013Leja B AmigonRussia2026-10-12Chemel, James L Cpa NEW81Onyama Limba
1014Greenwood U StensethFrance2026-10-09Dorl, James J Esq UNQUALIFIED68Ivan Magalhaes
1015Johnson W WhobreyBrazil2026-10-09Rousseaux, Michael Esq QUALIFIED54Amy Elsner
1016Leja D RimUnited Kingdom2026-10-16Buckley Miller Wright RENEWAL53Ioni Bowcher
1017Greenwood R SchemmerArgentina2026-10-06Feiner Bros PROPOSAL95Onyama Limba
1018Maria W FlosiArgentina2026-10-14Buckley Miller Wright QUALIFIED58Asiya Javayant
1019Morrow F MorascaGermany2026-10-06Commercial Press QUALIFIED40Ioni Bowcher
1020Alejandro K WieserRussia2026-09-26Feiner Bros NEGOTIATION79Ivan Magalhaes
1021Jones J OstroskyJapan2026-09-25Printing Dimensions RENEWAL90Bernardo Dominic
1022Morrow X GlickCanada2026-10-12Commercial Press RENEWAL18Ioni Bowcher
1023Leon L AlbaresUnited Kingdom2026-10-05Feltz Printing Service PROPOSAL2Onyama Limba
1024Stacey X WaycottSpain2026-10-09Chanay, Jeffrey A Esq PROPOSAL14Anna Fali
1025Clifford D FollerFrance2026-10-23Benton, John B Jr NEGOTIATION15Anna Fali
1026Juan O NickaBrazil2026-10-01Commercial Press PROPOSAL6Asiya Javayant
1027Sinclair W KolmetzAustralia2026-10-22Rangoni Of Florence NEGOTIATION28Elwin Sharvill
1028Greenwood X FigeroaItaly2026-10-08Benton, John B Jr RENEWAL24Elwin Sharvill
1029Ivar N VenereGermany2026-09-27Dorl, James J Esq UNQUALIFIED94Bernardo Dominic
1030Costa X VenereRussia2026-10-02King, Christopher A Esq NEGOTIATION76Ioni Bowcher
1031Ricardo B WaycottFrance2026-09-29King, Christopher A Esq RENEWAL14Ivan Magalhaes
1032Salvatore T MorascaUnited Kingdom2026-10-21Morlong Associates PROPOSAL39Elwin Sharvill
1033Deepesh V VocelkaItaly2026-10-04Printing Dimensions NEW79Ioni Bowcher
1034Maria Z IturbideItaly2026-10-21Printing Dimensions RENEWAL7Onyama Limba
1035Greenwood A CaudyFrance2026-10-01Benton, John B Jr NEW15Onyama Limba
1036Leon Y DoeFrance2026-10-03Buckley Miller Wright NEGOTIATION47Xuxue Feng
1037Jennifer N SaylorsItaly2026-09-28Dorl, James J Esq PROPOSAL16Ivan Magalhaes
1038Ivar J FollerAustralia2026-10-21Chanay, Jeffrey A Esq QUALIFIED3Ivan Magalhaes
1039Murillo W RutaGermany2026-10-16Buckley Miller Wright QUALIFIED89Xuxue Feng
1040Jeanfrancois G SaylorsUnited Kingdom2026-09-29Feltz Printing Service PROPOSAL46Ivan Magalhaes
1041Maria T VocelkaBrazil2026-10-05Chapman, Ross E Esq RENEWAL2Amy Elsner
1042Octavia X SergiRussia2026-10-08Morlong Associates RENEWAL67Elwin Sharvill
1043Jennifer W FollerItaly2026-10-15Benton, John B Jr NEGOTIATION51Elwin Sharvill
1044Jefferson R WieserFrance2026-10-06Buckley Miller Wright NEW76Ioni Bowcher
1045Nicolas M KolmetzBrazil2026-10-18Rousseaux, Michael Esq PROPOSAL79Anna Fali
1046James I WieserUnited Kingdom2026-09-24Feiner Bros NEW31Onyama Limba
1047Alejandro K StockhamIndia2026-10-11Rousseaux, Michael Esq PROPOSAL74Xuxue Feng
1048Chavez L RutaAustralia2026-09-30Chanay, Jeffrey A Esq PROPOSAL58Bernardo Dominic
1049Claire E PoquetteUnited Kingdom2026-10-21Feltz Printing Service PROPOSAL32Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Nicolas B InouyeGermanyIoni Bowcher QUALIFIED
Morrow B MaletCanadaBernardo Dominic NEGOTIATION
Francesco L MarrierBrazilAnna Fali UNQUALIFIED
Kaitlin L FlosiArgentinaElwin Sharvill RENEWAL
Antonio T MaletItalyElwin Sharvill PROPOSAL
Jennifer U OstroskyJapanIoni Bowcher QUALIFIED
David C StockhamSpainAmy Elsner NEW
Morrow T VocelkaIndiaAmy Elsner NEGOTIATION
Kaitlin P StockhamCanadaIvan Magalhaes NEW
Izzy L RulapaughRussiaOnyama Limba NEW
Aruna C GillianCanadaOnyama Limba QUALIFIED
Claire X ShinkoBrazilAmy Elsner RENEWAL
Kadeem Z SaylorsArgentinaIvan Magalhaes PROPOSAL
Ricardo S IturbideBrazilAmy Elsner NEGOTIATION
Ashley U WieserGermanyBernardo Dominic QUALIFIED
Salvatore J ButtUnited KingdomElwin Sharvill QUALIFIED
Greenwood E SchemmerGermanyOnyama Limba PROPOSAL
Emily G GauchoArgentinaIvan Magalhaes NEW
Rodrigues E CaudyUnited KingdomAsiya Javayant NEW
Aditya I ChuiUnited KingdomOnyama Limba PROPOSAL
Izzy Q DoeJapanOnyama Limba NEW
Johnson P KuskoAustraliaAsiya Javayant RENEWAL
Greenwood P VenereItalyOnyama Limba PROPOSAL
Maria Z StensethIndiaIoni Bowcher NEW
Stacey P GarufiGermanyIvan Magalhaes NEGOTIATION
Stacey E RulapaughSpainAmy Elsner PROPOSAL
Ashley A MaletRussiaStephen Shaw RENEWAL
Silvio G CampainSpainAsiya Javayant QUALIFIED
Julie G RimArgentinaXuxue Feng QUALIFIED
Cody T SlusarskiRussiaIoni Bowcher RENEWAL
Morrow L RulapaughAustraliaOnyama Limba QUALIFIED
Jones I ButtAustraliaXuxue Feng NEGOTIATION
Wickens E MacleadSpainAmy Elsner RENEWAL
Leon W VenereAustraliaIoni Bowcher PROPOSAL
Julie F StockhamIndiaAsiya Javayant NEGOTIATION
Nicolas L NickaArgentinaElwin Sharvill RENEWAL
Costa F MarrierGermanyIoni Bowcher PROPOSAL
Sinclair W GillianArgentinaIoni Bowcher QUALIFIED
Aruna Q FigeroaArgentinaAmy Elsner UNQUALIFIED
Leja Q ChuiJapanXuxue Feng UNQUALIFIED
Smith Y PaprockiAustraliaStephen Shaw QUALIFIED
Adams U DoeRussiaBernardo Dominic RENEWAL
Jeanfrancois R KuskoCanadaXuxue Feng NEW
Ivar J SergiUnited KingdomOnyama Limba UNQUALIFIED
Leja R DarakjyItalyAnna Fali RENEWAL
Costa O ButtBrazilElwin Sharvill NEW
Octavia I OstroskyIndiaXuxue Feng NEW
Octavia U MacleadSpainOnyama Limba UNQUALIFIED
Julie J CaldareraRussiaAmy Elsner RENEWAL
Nicolas D KolmetzAustraliaIvan Magalhaes NEW
Frozen Columns
Name
Leon E Rulapaugh
Ashley X Gillian
James J Doe
Kadeem Z Maclead
Jeanfrancois D Perin
Izzy H Foller
Deepesh L Perin
Salvatore F Gaucho
Smith E Rulapaugh
Ricardo Z Perin
Kadeem T Rulapaugh
Aditya V Caudy
Aruna Y Ostrosky
Jefferson U Rim
Costa T Royster
Leja Z Marrier
Clifford W Morasca
Leon M Nicka
David N Caldarera
Kadeem N Sergi
Silvio U Garufi
Francesco A Rulapaugh
Maria P Gillian
Ricardo A Kolmetz
Morrow Q Malet
Antonio S Whobrey
Mayumi G Saylors
Maria G Briddick
Nicolas P Rulapaugh
Johnson F Butt
Nicolas V Ostrosky
Faith D Stenseth
Jones T Malet
Leon I Morasca
Costa R Doe
Julie W Ferencz
James Y Stenseth
Mayumi P Caudy
Ashley I Bowley
Sinclair Y Amigon
Aditya N Whobrey
Ashley H Rulapaugh
Julie I Ostrosky
Ashley M Dilliard
Jones E Albares
Clifford W Rim
Deepesh J Butt
Ashley E Gaucho
Tony W Gaucho
Juan D Nicka
IdCountryDate
1000France2026-10-19
1001Germany2026-10-21
1002France2026-10-03
1003Russia2026-09-27
1004Canada2026-10-16
1005Germany2026-10-06
1006Germany2026-10-19
1007United Kingdom2026-09-28
1008Brazil2026-09-27
1009Canada2026-10-20
1010United Kingdom2026-09-24
1011Italy2026-10-03
1012France2026-10-21
1013Australia2026-10-13
1014France2026-10-02
1015Australia2026-10-08
1016Canada2026-10-03
1017France2026-10-19
1018Spain2026-10-06
1019Italy2026-10-05
1020Argentina2026-10-22
1021Brazil2026-10-02
1022Australia2026-09-30
1023Japan2026-10-04
1024Canada2026-10-13
1025Spain2026-10-05
1026Japan2026-10-12
1027Australia2026-10-01
1028Canada2026-10-11
1029France2026-10-17
1030Japan2026-10-08
1031Japan2026-10-15
1032Russia2026-09-30
1033Germany2026-10-22
1034India2026-09-26
1035United Kingdom2026-10-21
1036United Kingdom2026-10-22
1037Canada2026-10-14
1038France2026-10-22
1039Argentina2026-10-02
1040Germany2026-10-08
1041Australia2026-10-19
1042Argentina2026-10-12
1043Italy2026-10-14
1044Argentina2026-10-02
1045Canada2026-10-13
1046Japan2026-09-28
1047Canada2026-10-02
1048France2026-10-14
1049Italy2026-10-18

On-Demand Data

NameIdCountryDate
Stacey P Glick1000Spain2026-10-13
Johnson K Inouye1001United Kingdom2026-10-11
Aditya X Bolognia1002Brazil2026-10-14
Greenwood O Campain1003Argentina2026-09-28
Antonio T Schemmer1004Argentina2026-10-04
Octavia S Bowley1005Brazil2026-10-13
Francesco O Doe1006Australia2026-10-08
Jefferson Z Wieser1007Australia2026-10-02
Tony Z Malet1008France2026-10-13
Mujtaba W Morasca1009France2026-10-05
Juan O Stenseth1010Australia2026-10-04
Mayumi Z Bowley1011Argentina2026-10-18
Deepesh C Stockham1012Spain2026-10-09
Munro W Venere1013Spain2026-09-26
Octavia C Vocelka1014Russia2026-10-01
Greenwood H Iturbide1015United Kingdom2026-10-08
Salvatore B Kusko1016Spain2026-10-11
Antonio J Dilliard1017Italy2026-09-27
Jeanfrancois E Stockham1018Argentina2026-10-06
Mayumi Z Campain1019Canada2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody U VocelkaJapanXuxue Feng NEW
Claire E KolmetzUnited KingdomElwin Sharvill NEW
Mayumi I StockhamIndiaElwin Sharvill RENEWAL
Maria P MarrierUnited KingdomBernardo Dominic QUALIFIED
Claire G WhobreySpainAnna Fali NEW
Leon I DilliardIndiaAsiya Javayant PROPOSAL
Kaitlin L FerenczAustraliaOnyama Limba QUALIFIED
Jennifer V SlusarskiAustraliaAmy Elsner RENEWAL
Antonio Q BowleyFranceIvan Magalhaes PROPOSAL
Silvio C RimItalyAsiya Javayant NEW
Leja H GillianRussiaBernardo Dominic PROPOSAL
Isabel L DoeFranceAmy Elsner NEGOTIATION
Costa V InouyeItalyBernardo Dominic NEGOTIATION
Arvin N IturbideSpainStephen Shaw RENEWAL
Nicolas G BowleyAustraliaBernardo Dominic QUALIFIED
Salvatore Q AlbaresBrazilStephen Shaw UNQUALIFIED
David A NickaUnited KingdomOnyama Limba RENEWAL
Darci N FerenczGermanyAnna Fali UNQUALIFIED
Misaki S RulapaughGermanyAsiya Javayant UNQUALIFIED
Ivar G OstroskyItalyAnna Fali UNQUALIFIED
Munro K MorascaArgentinaIoni Bowcher QUALIFIED
Maria X WhobreyFranceStephen Shaw RENEWAL
Jeanfrancois Z MorascaSpainAnna Fali PROPOSAL
Deepesh O OstroskyJapanXuxue Feng NEW
Leja Q NickaCanadaStephen Shaw NEW
Alejandro H FigeroaItalyIvan Magalhaes QUALIFIED
Adams N MaletItalyStephen Shaw UNQUALIFIED
Chavez R KuskoSpainXuxue Feng QUALIFIED
Salvatore W NestleGermanyXuxue Feng UNQUALIFIED
Nicolas O MorascaIndiaStephen Shaw NEW
Arvin H ShinkoIndiaXuxue Feng PROPOSAL
Jefferson V RulapaughGermanyBernardo Dominic PROPOSAL
Aruna P InouyeJapanIoni Bowcher NEGOTIATION
Greenwood A MaletUnited KingdomStephen Shaw PROPOSAL
Aditya J VenereCanadaAmy Elsner PROPOSAL
Jeanfrancois C RulapaughJapanBernardo Dominic PROPOSAL
Costa H IturbideFranceXuxue Feng NEW
Costa O VocelkaArgentinaOnyama Limba NEGOTIATION
Adams T SaylorsFranceAmy Elsner RENEWAL
Aruna U IturbideRussiaOnyama Limba QUALIFIED

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