Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Maria C BowleyRussiaIvan Magalhaes RENEWAL
Ashley K InouyeFranceAmy Elsner PROPOSAL
Maria L PoquetteAustraliaAnna Fali UNQUALIFIED
Mayumi C SlusarskiIndiaAmy Elsner NEW
Smith B SlusarskiCanadaXuxue Feng NEW
Claire X StockhamArgentinaBernardo Dominic NEW
Deepesh I PoquetteCanadaElwin Sharvill NEW
Deepesh S SlusarskiJapanIoni Bowcher NEGOTIATION
Alejandro X MaletFranceIvan Magalhaes QUALIFIED
Antonio T DarakjySpainIoni Bowcher PROPOSAL
Aika Y WhobreyGermanyOnyama Limba NEW
Jennifer W StensethRussiaXuxue Feng RENEWAL
Julie C NestleBrazilXuxue Feng PROPOSAL
Greenwood F RimBrazilOnyama Limba UNQUALIFIED
Octavia Q NestleArgentinaAsiya Javayant PROPOSAL
Sinclair W MorascaGermanyAmy Elsner PROPOSAL
James V PoquetteFranceElwin Sharvill UNQUALIFIED
Leja A WhobreyArgentinaElwin Sharvill NEW
Murillo U GauchoAustraliaStephen Shaw RENEWAL
Kadeem U RimJapanAnna Fali PROPOSAL
Alejandro C CaudyBrazilAmy Elsner RENEWAL
Darci E DarakjySpainElwin Sharvill PROPOSAL
Aruna Y StensethRussiaElwin Sharvill NEGOTIATION
Aditya D VocelkaRussiaElwin Sharvill QUALIFIED
Deepesh Q SchemmerSpainOnyama Limba PROPOSAL
Tony T AmigonItalyAsiya Javayant PROPOSAL
Munro R SlusarskiArgentinaOnyama Limba RENEWAL
Mujtaba G FlosiIndiaAnna Fali PROPOSAL
Jefferson L GlickFranceAnna Fali QUALIFIED
James F BologniaFranceAmy Elsner RENEWAL
Jones E WhobreyJapanAmy Elsner NEW
Aika Y DilliardBrazilBernardo Dominic PROPOSAL
Izzy W TollnerIndiaAnna Fali QUALIFIED
Jones C RutaIndiaIoni Bowcher RENEWAL
Misaki K RulapaughIndiaAnna Fali RENEWAL
Ashley G CaudyItalyIoni Bowcher RENEWAL
David T MacleadArgentinaAsiya Javayant NEGOTIATION
Aruna F BologniaBrazilAnna Fali NEW
Aruna M CaldareraRussiaXuxue Feng QUALIFIED
Clifford D StockhamRussiaXuxue Feng NEGOTIATION
David P WaycottJapanStephen Shaw QUALIFIED
Faith X IturbideUnited KingdomAmy Elsner RENEWAL
Octavia Y VenereIndiaOnyama Limba PROPOSAL
Emily C VenereFranceAmy Elsner NEGOTIATION
Kadeem Z ButtAustraliaBernardo Dominic NEGOTIATION
Salvatore E SaylorsItalyIoni Bowcher NEGOTIATION
Antonio X BriddickCanadaAsiya Javayant NEGOTIATION
Izzy M MacleadBrazilStephen Shaw QUALIFIED
Jeanfrancois M FerenczUnited KingdomElwin Sharvill RENEWAL
Arvin J BologniaBrazilIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore Z AmigonUnited KingdomAsiya Javayant RENEWAL
Greenwood F KuskoJapanOnyama Limba PROPOSAL
Rodrigues V FerenczItalyOnyama Limba NEGOTIATION
Murillo A CaldareraBrazilElwin Sharvill NEW
Johnson T MacleadAustraliaXuxue Feng PROPOSAL
Munro U CampainAustraliaOnyama Limba NEGOTIATION
Clifford X MaletAustraliaBernardo Dominic RENEWAL
Cody U DilliardRussiaAsiya Javayant NEGOTIATION
Kaitlin D SlusarskiAustraliaOnyama Limba NEW
Juan V OldroydItalyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia G PerinSpain2025-11-02Chemel, James L Cpa NEGOTIATION25Amy Elsner
1001Kadeem V MorascaItaly2025-10-18Printing Dimensions QUALIFIED33Asiya Javayant
1002Wickens D RutaJapan2025-10-13Buckley Miller Wright QUALIFIED62Onyama Limba
1003Octavia P MorascaFrance2025-10-18Rousseaux, Michael Esq RENEWAL29Stephen Shaw
1004Mujtaba X BologniaIndia2025-10-31Buckley Miller Wright RENEWAL23Anna Fali
1005Tony E VenereIndia2025-10-20Chapman, Ross E Esq PROPOSAL45Xuxue Feng
1006Aika O MaletCanada2025-10-19King, Christopher A Esq QUALIFIED91Bernardo Dominic
1007Darci G MacleadSpain2025-10-29Benton, John B Jr RENEWAL16Elwin Sharvill
1008Stacey A RoysterUnited Kingdom2025-11-02Printing Dimensions NEGOTIATION28Asiya Javayant
1009Nicolas I FlosiIndia2025-10-20Feltz Printing Service RENEWAL77Ioni Bowcher
1010Francesco M AlbaresSpain2025-10-11Buckley Miller Wright UNQUALIFIED86Xuxue Feng
1011Wickens R AlbaresIndia2025-11-01Morlong Associates UNQUALIFIED86Elwin Sharvill
1012Wickens D WaycottArgentina2025-10-27Feltz Printing Service NEGOTIATION50Asiya Javayant
1013Darci Y WhobreyFrance2025-10-06Rousseaux, Michael Esq QUALIFIED55Ioni Bowcher
1014Jones E CaudyIndia2025-10-14Rangoni Of Florence PROPOSAL76Stephen Shaw
1015Leon X RulapaughSpain2025-10-26Truhlar And Truhlar Attys UNQUALIFIED49Stephen Shaw
1016Jones R DilliardSpain2025-10-26Chanay, Jeffrey A Esq RENEWAL18Ivan Magalhaes
1017Aditya R BriddickItaly2025-10-24Rangoni Of Florence PROPOSAL92Ivan Magalhaes
1018Claire B WaycottJapan2025-10-11Benton, John B Jr NEW7Stephen Shaw
1019Mayumi W RimIndia2025-10-26Commercial Press NEW74Ioni Bowcher
1020Stacey L MaletItaly2025-11-01Rangoni Of Florence PROPOSAL31Ivan Magalhaes
1021Mujtaba O NickaBrazil2025-10-19Chapman, Ross E Esq NEW8Amy Elsner
1022Izzy X GlickJapan2025-10-30Chanay, Jeffrey A Esq QUALIFIED43Xuxue Feng
1023Deepesh M StensethBrazil2025-11-02Feiner Bros NEW92Onyama Limba
1024Munro Z KolmetzIndia2025-10-29Truhlar And Truhlar Attys NEGOTIATION72Bernardo Dominic
1025Cody P SaylorsBrazil2025-10-25Truhlar And Truhlar Attys QUALIFIED18Asiya Javayant
1026Murillo R DoeGermany2025-10-12Chanay, Jeffrey A Esq UNQUALIFIED21Xuxue Feng
1027Claire Y FigeroaItaly2025-10-20Feiner Bros QUALIFIED18Stephen Shaw
1028Nicolas K SchemmerBrazil2025-10-20Buckley Miller Wright NEW47Ioni Bowcher
1029Francesco P FigeroaCanada2025-10-27Morlong Associates UNQUALIFIED30Anna Fali
1030Mujtaba V BologniaGermany2025-10-26Feltz Printing Service RENEWAL56Elwin Sharvill
1031Clifford G SergiFrance2025-10-15Benton, John B Jr PROPOSAL34Anna Fali
1032Maria H RutaAustralia2025-11-03Chapman, Ross E Esq UNQUALIFIED34Bernardo Dominic
1033Maisha W CaldareraSpain2025-10-25Chanay, Jeffrey A Esq NEGOTIATION9Ioni Bowcher
1034Deepesh V RoysterSpain2025-10-08Rousseaux, Michael Esq NEGOTIATION19Ivan Magalhaes
1035Octavia I StockhamCanada2025-10-11Benton, John B Jr UNQUALIFIED17Amy Elsner
1036Misaki P OstroskyBrazil2025-11-01Dorl, James J Esq PROPOSAL26Bernardo Dominic
1037Aika Z CampainIndia2025-10-15Feltz Printing Service UNQUALIFIED55Anna Fali
1038Wickens M KolmetzAustralia2025-10-30Chanay, Jeffrey A Esq QUALIFIED91Asiya Javayant
1039Octavia P GillianArgentina2025-10-14Truhlar And Truhlar Attys UNQUALIFIED95Asiya Javayant
1040Greenwood S ChuiJapan2025-10-20Buckley Miller Wright PROPOSAL14Ioni Bowcher
1041Maisha K TollnerAustralia2025-10-28Feiner Bros NEW13Ivan Magalhaes
1042Kadeem E RimArgentina2025-10-23Benton, John B Jr RENEWAL50Onyama Limba
1043Clifford B SchemmerJapan2025-11-04Feltz Printing Service RENEWAL23Ivan Magalhaes
1044Claire K DarakjyRussia2025-10-14Feltz Printing Service NEGOTIATION66Bernardo Dominic
1045Maria E PerinIndia2025-10-24King, Christopher A Esq QUALIFIED46Bernardo Dominic
1046Johnson W MacleadAustralia2025-10-26Chapman, Ross E Esq NEGOTIATION83Onyama Limba
1047Izzy E CaudySpain2025-10-29Rousseaux, Michael Esq PROPOSAL69Stephen Shaw
1048Murillo J GauchoFrance2025-10-17King, Christopher A Esq UNQUALIFIED96Anna Fali
1049David W KuskoJapan2025-10-23Chanay, Jeffrey A Esq NEW29Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens X SergiAustraliaBernardo Dominic UNQUALIFIED
Clifford K NestleBrazilStephen Shaw UNQUALIFIED
Arvin W VenereAustraliaAnna Fali UNQUALIFIED
Tony J WhobreyBrazilXuxue Feng QUALIFIED
Aika J StockhamSpainXuxue Feng RENEWAL
Juan R SaylorsRussiaIvan Magalhaes NEGOTIATION
Stacey J DoeAustraliaXuxue Feng UNQUALIFIED
Nicolas L ButtItalyAmy Elsner PROPOSAL
Isabel N ChuiAustraliaBernardo Dominic RENEWAL
Ricardo I CampainJapanIoni Bowcher NEW
Kaitlin K MaletUnited KingdomIoni Bowcher NEGOTIATION
Kaitlin A GauchoSpainAmy Elsner NEGOTIATION
Kaitlin J FigeroaIndiaIvan Magalhaes NEGOTIATION
Johnson K StensethAustraliaStephen Shaw RENEWAL
Wickens R BriddickGermanyIvan Magalhaes NEW
Smith G StockhamJapanIoni Bowcher NEGOTIATION
Isabel N PaprockiJapanElwin Sharvill QUALIFIED
Costa E RutaBrazilBernardo Dominic PROPOSAL
Sinclair K MorascaArgentinaAmy Elsner QUALIFIED
David C SergiArgentinaElwin Sharvill PROPOSAL
Adams S BowleyBrazilIvan Magalhaes RENEWAL
Arvin Z RutaSpainAsiya Javayant NEGOTIATION
Maria Z NickaAustraliaBernardo Dominic NEW
Johnson Q MorascaItalyIoni Bowcher QUALIFIED
Ricardo J ShinkoCanadaIoni Bowcher NEGOTIATION
Emily Z BowleyItalyIoni Bowcher QUALIFIED
Mujtaba X RimFranceIvan Magalhaes QUALIFIED
Aika K MarrierGermanyStephen Shaw PROPOSAL
Jefferson T SlusarskiIndiaAnna Fali NEGOTIATION
Clifford R MaletFranceElwin Sharvill PROPOSAL
Morrow L CaldareraJapanStephen Shaw NEGOTIATION
Emily P KolmetzAustraliaIvan Magalhaes NEW
Wickens G AmigonGermanyIoni Bowcher PROPOSAL
Rodrigues N RoysterSpainAmy Elsner QUALIFIED
Jones W FigeroaUnited KingdomAnna Fali QUALIFIED
David A NestleUnited KingdomIvan Magalhaes QUALIFIED
Cody C GlickGermanyAmy Elsner NEGOTIATION
Misaki X SlusarskiRussiaAsiya Javayant QUALIFIED
Jones C AlbaresRussiaStephen Shaw PROPOSAL
Cody M VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois K RutaIndiaStephen Shaw PROPOSAL
Silvio R SchemmerAustraliaAsiya Javayant NEW
Octavia D VenereItalyAnna Fali UNQUALIFIED
Ashley F SaylorsArgentinaIoni Bowcher NEW
Sinclair F IturbideIndiaXuxue Feng QUALIFIED
Sinclair N BologniaItalyAmy Elsner NEGOTIATION
Silvio B GauchoIndiaXuxue Feng PROPOSAL
James R BowleyAustraliaIvan Magalhaes NEGOTIATION
Darci L SchemmerUnited KingdomElwin Sharvill NEW
Mujtaba N CaldareraJapanXuxue Feng NEGOTIATION
Frozen Columns
Name
Munro O Malet
Munro B Albares
Ashley S Nicka
Salvatore S Dilliard
Octavia A Schemmer
Darci V Waycott
David Y Malet
Wickens N Shinko
Izzy C Caldarera
Jones V Amigon
Faith M Waycott
Greenwood O Chui
Wickens V Gaucho
Greenwood B Bowley
Jones X Schemmer
Adams R Schemmer
Misaki O Ferencz
Clifford M Perin
Murillo O Garufi
Mujtaba K Paprocki
Julie J Albares
Nicolas O Sergi
Mujtaba Q Slusarski
Emily Y Garufi
Adams R Albares
Ivar C Marrier
Morrow C Bolognia
Munro W Iturbide
Aika F Waycott
Greenwood C Ruta
Murillo U Briddick
Costa U Glick
Maisha L Schemmer
Leon W Foller
Izzy X Ostrosky
Misaki E Schemmer
Misaki Q Royster
Aruna M Iturbide
Aditya Q Wieser
Izzy E Amigon
Johnson O Foller
James P Shinko
Juan Y Albares
Silvio H Slusarski
Ivar R Paprocki
Claire I Paprocki
David Z Wieser
Octavia Q Glick
Kadeem U Poquette
Kaitlin O Rim
IdCountryDate
1000Russia2025-10-14
1001Russia2025-10-06
1002India2025-10-22
1003Australia2025-10-25
1004Australia2025-11-04
1005India2025-10-10
1006United Kingdom2025-10-21
1007Australia2025-10-23
1008France2025-10-18
1009Germany2025-10-27
1010Germany2025-10-11
1011France2025-10-31
1012Germany2025-10-11
1013Argentina2025-10-27
1014Russia2025-10-09
1015Russia2025-10-24
1016Argentina2025-10-29
1017Brazil2025-10-17
1018United Kingdom2025-10-19
1019United Kingdom2025-10-16
1020Japan2025-10-14
1021India2025-10-15
1022United Kingdom2025-10-24
1023Brazil2025-10-19
1024Canada2025-11-03
1025Japan2025-10-10
1026France2025-10-22
1027United Kingdom2025-11-01
1028Spain2025-11-02
1029United Kingdom2025-10-17
1030Argentina2025-10-13
1031France2025-10-16
1032Germany2025-10-31
1033India2025-10-06
1034Russia2025-10-18
1035Russia2025-10-21
1036Argentina2025-10-20
1037Argentina2025-10-11
1038Brazil2025-10-10
1039Argentina2025-10-21
1040Australia2025-10-18
1041Germany2025-11-04
1042Italy2025-10-30
1043Japan2025-10-30
1044India2025-11-04
1045Russia2025-10-07
1046Brazil2025-10-15
1047Russia2025-10-12
1048Australia2025-11-01
1049France2025-10-23

On-Demand Data

NameIdCountryDate
Wickens J Nestle1000Canada2025-11-01
Mayumi J Kusko1001Germany2025-10-25
James R Foller1002France2025-10-12
James C Wieser1003France2025-10-24
Rodrigues X Oldroyd1004Japan2025-10-13
Morrow X Slusarski1005Argentina2025-10-26
Greenwood D Gillian1006Italy2025-10-27
Antonio W Figeroa1007Brazil2025-10-19
Morrow Z Glick1008India2025-11-03
Juan D Briddick1009France2025-10-13
Antonio L Ostrosky1010Russia2025-10-19
Smith O Ruta1011Australia2025-11-01
James U Garufi1012Australia2025-10-16
Rodrigues C Ruta1013Germany2025-10-23
Deepesh F Butt1014Spain2025-10-29
Octavia X Figeroa1015Germany2025-10-28
Antonio X Kusko1016Canada2025-10-16
Francesco W Stockham1017Germany2025-10-18
Chavez V Briddick1018France2025-10-06
Isabel H Darakjy1019Argentina2025-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams K ButtIndiaXuxue Feng NEGOTIATION
Arvin C StockhamBrazilIvan Magalhaes NEW
Morrow V DilliardSpainAmy Elsner RENEWAL
Faith Z ShinkoRussiaXuxue Feng RENEWAL
Darci E VenereUnited KingdomElwin Sharvill PROPOSAL
Kadeem B RutaGermanyStephen Shaw PROPOSAL
David I DarakjyFranceAsiya Javayant RENEWAL
Arvin J DarakjyIndiaElwin Sharvill UNQUALIFIED
Claire T MacleadUnited KingdomOnyama Limba NEW
Costa P SlusarskiGermanyBernardo Dominic NEW
Francesco Z SlusarskiIndiaIvan Magalhaes PROPOSAL
Jennifer X AlbaresSpainAsiya Javayant NEW
Leon W ButtJapanIoni Bowcher QUALIFIED
Antonio C FlosiRussiaAnna Fali NEGOTIATION
Cody W SergiUnited KingdomXuxue Feng UNQUALIFIED
Sinclair E RutaArgentinaElwin Sharvill NEW
Sinclair H DoeRussiaAsiya Javayant NEW
Clifford U SaylorsGermanyAnna Fali NEW
Francesco Y RoysterGermanyAnna Fali NEGOTIATION
Salvatore V InouyeArgentinaIoni Bowcher PROPOSAL
Jeanfrancois D WhobreyFranceAmy Elsner NEW
Munro H RutaFranceXuxue Feng RENEWAL
Maisha F WieserSpainOnyama Limba RENEWAL
Emily E AmigonAustraliaAnna Fali NEGOTIATION
Arvin Q PoquetteUnited KingdomAnna Fali PROPOSAL
Greenwood K MaletGermanyOnyama Limba QUALIFIED
Kaitlin P PaprockiJapanAnna Fali RENEWAL
Alejandro C TollnerRussiaIoni Bowcher NEW
Jones C GarufiUnited KingdomElwin Sharvill QUALIFIED
Octavia E InouyeRussiaIvan Magalhaes UNQUALIFIED
Maria F DarakjyIndiaAsiya Javayant NEGOTIATION
Adams H MorascaItalyAmy Elsner NEW
Izzy Y DilliardJapanStephen Shaw PROPOSAL
Leon A BowleyFranceAnna Fali QUALIFIED
Mujtaba P FigeroaBrazilElwin Sharvill PROPOSAL
Morrow G AlbaresAustraliaStephen Shaw QUALIFIED
Alejandro D RimFranceIvan Magalhaes QUALIFIED
Francesco I RimRussiaAnna Fali NEGOTIATION
Maisha S IturbideRussiaStephen Shaw NEGOTIATION
Greenwood I RoysterCanadaXuxue Feng PROPOSAL

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