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
David R CampainGermanyStephen Shaw NEW
Murillo S GauchoCanadaStephen Shaw RENEWAL
Chavez N WaycottItalyIvan Magalhaes PROPOSAL
Aditya U RulapaughSpainAnna Fali RENEWAL
James R InouyeIndiaAnna Fali UNQUALIFIED
Johnson Q NickaCanadaXuxue Feng QUALIFIED
Costa B DarakjyItalyIvan Magalhaes QUALIFIED
Chavez X MarrierIndiaIoni Bowcher QUALIFIED
Deepesh X MarrierSpainIoni Bowcher PROPOSAL
Aditya B MaletIndiaBernardo Dominic PROPOSAL
Juan O IturbideArgentinaAsiya Javayant UNQUALIFIED
Deepesh V VenereAustraliaIvan Magalhaes UNQUALIFIED
Misaki Z PerinJapanStephen Shaw QUALIFIED
Morrow D MacleadFranceXuxue Feng PROPOSAL
Greenwood U MacleadBrazilAnna Fali UNQUALIFIED
Morrow Y FigeroaFranceStephen Shaw RENEWAL
Aditya J MorascaItalyIoni Bowcher RENEWAL
Costa X CampainBrazilOnyama Limba RENEWAL
Murillo I StensethBrazilStephen Shaw NEW
Octavia L RutaItalyOnyama Limba QUALIFIED
Antonio W IturbideIndiaElwin Sharvill NEW
Antonio K DoeBrazilAnna Fali NEW
Juan P NestleFranceAnna Fali NEGOTIATION
Jefferson D FollerBrazilStephen Shaw NEW
Sinclair R RutaRussiaElwin Sharvill PROPOSAL
Julie Y IturbideArgentinaAmy Elsner UNQUALIFIED
Jefferson D RulapaughBrazilAnna Fali UNQUALIFIED
Misaki K BowleyAustraliaIvan Magalhaes NEGOTIATION
Sinclair A FigeroaGermanyAmy Elsner QUALIFIED
Emily L GillianGermanyAmy Elsner NEGOTIATION
Chavez J WhobreyRussiaStephen Shaw NEW
Adams H VenereSpainAmy Elsner UNQUALIFIED
Alejandro F MarrierCanadaAnna Fali UNQUALIFIED
Francesco M MarrierArgentinaIoni Bowcher NEGOTIATION
Clifford Y PaprockiItalyIoni Bowcher PROPOSAL
Maria M AmigonRussiaXuxue Feng RENEWAL
Aika X NestleJapanIoni Bowcher QUALIFIED
Aditya U MaletGermanyIoni Bowcher RENEWAL
Ashley Q VenereItalyIvan Magalhaes QUALIFIED
Alejandro M RoysterIndiaAnna Fali RENEWAL
James J OldroydBrazilIoni Bowcher NEGOTIATION
Maisha K RulapaughCanadaAnna Fali QUALIFIED
Rodrigues F FlosiCanadaStephen Shaw NEGOTIATION
Wickens B NestleArgentinaBernardo Dominic QUALIFIED
Arvin B KolmetzCanadaAsiya Javayant PROPOSAL
Sinclair Q ButtSpainXuxue Feng NEGOTIATION
Sinclair U BriddickSpainIoni Bowcher PROPOSAL
Aditya P GlickIndiaAnna Fali NEW
Aditya V OldroydRussiaAnna Fali RENEWAL
Maisha O MarrierAustraliaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore G DilliardArgentinaAsiya Javayant NEGOTIATION
Chavez D MaletArgentinaOnyama Limba NEGOTIATION
Sinclair Q PoquetteSpainElwin Sharvill PROPOSAL
Juan W ShinkoArgentinaAmy Elsner UNQUALIFIED
Jeanfrancois H GarufiIndiaBernardo Dominic NEGOTIATION
Cody Q MacleadCanadaAsiya Javayant RENEWAL
Leon O TollnerIndiaIvan Magalhaes RENEWAL
Leja F WieserCanadaOnyama Limba QUALIFIED
Leon X MarrierCanadaAnna Fali RENEWAL
Aruna K VocelkaFranceAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody F MorascaItaly2025-08-26King, Christopher A Esq NEW61Ioni Bowcher
1001Chavez N MacleadAustralia2025-08-09Commercial Press NEGOTIATION87Amy Elsner
1002Aika M SaylorsBrazil2025-08-23Benton, John B Jr RENEWAL85Ivan Magalhaes
1003Rodrigues D GlickFrance2025-07-29King, Christopher A Esq RENEWAL27Xuxue Feng
1004Maisha J ButtSpain2025-08-18Rousseaux, Michael Esq RENEWAL17Elwin Sharvill
1005Jeanfrancois D VocelkaSpain2025-08-22Chemel, James L Cpa NEW74Stephen Shaw
1006Sinclair D GillianSpain2025-07-31Feltz Printing Service RENEWAL42Elwin Sharvill
1007Wickens C WieserJapan2025-08-06Rousseaux, Michael Esq PROPOSAL52Elwin Sharvill
1008Aditya Y RimArgentina2025-08-23Chemel, James L Cpa NEGOTIATION35Stephen Shaw
1009Deepesh C DilliardCanada2025-08-09Feltz Printing Service QUALIFIED71Onyama Limba
1010Antonio R BriddickItaly2025-08-16Morlong Associates NEW82Asiya Javayant
1011Aruna O GarufiFrance2025-07-28Chemel, James L Cpa RENEWAL12Bernardo Dominic
1012Morrow W DoeItaly2025-07-30Chanay, Jeffrey A Esq RENEWAL48Anna Fali
1013Nicolas H VocelkaFrance2025-08-17Buckley Miller Wright NEW19Amy Elsner
1014Alejandro G WhobreyIndia2025-08-18Printing Dimensions RENEWAL26Stephen Shaw
1015Claire Q StensethGermany2025-08-02Printing Dimensions RENEWAL72Amy Elsner
1016Octavia O GarufiBrazil2025-07-30Commercial Press PROPOSAL46Onyama Limba
1017Clifford G GauchoAustralia2025-08-10Rousseaux, Michael Esq NEW66Ivan Magalhaes
1018Chavez H RoysterItaly2025-08-11Truhlar And Truhlar Attys NEGOTIATION53Elwin Sharvill
1019Smith J AmigonIndia2025-08-21Dorl, James J Esq UNQUALIFIED84Asiya Javayant
1020Octavia O StensethJapan2025-07-29Chemel, James L Cpa RENEWAL48Bernardo Dominic
1021Emily B FlosiUnited Kingdom2025-08-12Printing Dimensions NEGOTIATION62Ioni Bowcher
1022Aruna G NestleCanada2025-08-01Chanay, Jeffrey A Esq PROPOSAL37Amy Elsner
1023Johnson M SergiIndia2025-08-08Buckley Miller Wright NEGOTIATION92Ioni Bowcher
1024Maria K OstroskyGermany2025-08-04Feltz Printing Service RENEWAL31Anna Fali
1025Jones S PaprockiBrazil2025-08-24Chemel, James L Cpa QUALIFIED77Bernardo Dominic
1026Leja N KuskoBrazil2025-08-14Benton, John B Jr NEGOTIATION6Asiya Javayant
1027Nicolas C GillianArgentina2025-08-07Chapman, Ross E Esq NEW75Elwin Sharvill
1028Murillo X KuskoRussia2025-07-31Chanay, Jeffrey A Esq NEGOTIATION12Bernardo Dominic
1029Wickens L TollnerCanada2025-08-14Morlong Associates NEGOTIATION63Ivan Magalhaes
1030Antonio D VenereAustralia2025-07-31Truhlar And Truhlar Attys NEW1Asiya Javayant
1031Jones H WhobreyCanada2025-08-05Commercial Press UNQUALIFIED48Ivan Magalhaes
1032Emily S RoysterItaly2025-08-19Feltz Printing Service NEGOTIATION46Elwin Sharvill
1033Stacey D PoquetteGermany2025-08-22Chanay, Jeffrey A Esq QUALIFIED88Onyama Limba
1034Ivar H FigeroaFrance2025-08-24Rangoni Of Florence QUALIFIED2Bernardo Dominic
1035Deepesh B ShinkoCanada2025-08-01Benton, John B Jr UNQUALIFIED88Anna Fali
1036Tony T StensethCanada2025-08-15Chemel, James L Cpa RENEWAL44Elwin Sharvill
1037Arvin Q DarakjyFrance2025-08-19King, Christopher A Esq NEGOTIATION14Elwin Sharvill
1038Kadeem I BriddickItaly2025-08-22Rangoni Of Florence NEW37Bernardo Dominic
1039Ricardo X GillianFrance2025-08-20Printing Dimensions RENEWAL46Ivan Magalhaes
1040Adams K RoysterArgentina2025-08-10Truhlar And Truhlar Attys QUALIFIED43Stephen Shaw
1041Sinclair Z FigeroaGermany2025-08-22King, Christopher A Esq NEW32Asiya Javayant
1042Jones J BologniaAustralia2025-08-04Benton, John B Jr RENEWAL12Stephen Shaw
1043Wickens I InouyeUnited Kingdom2025-08-23Truhlar And Truhlar Attys UNQUALIFIED5Asiya Javayant
1044James K BriddickBrazil2025-08-03Feltz Printing Service QUALIFIED41Anna Fali
1045James C WhobreySpain2025-08-22Feiner Bros PROPOSAL3Bernardo Dominic
1046Wickens Y DilliardItaly2025-08-13Buckley Miller Wright NEGOTIATION44Amy Elsner
1047Greenwood X FlosiBrazil2025-08-25Dorl, James J Esq UNQUALIFIED54Ivan Magalhaes
1048Antonio Q BologniaBrazil2025-08-26Benton, John B Jr UNQUALIFIED74Xuxue Feng
1049Costa E StensethIndia2025-07-29Buckley Miller Wright PROPOSAL93Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Leon E GillianGermanyIvan Magalhaes NEW
David I StockhamFranceStephen Shaw QUALIFIED
Jefferson Z ShinkoGermanyBernardo Dominic RENEWAL
Wickens Y AmigonGermanyXuxue Feng NEGOTIATION
Misaki D CaudySpainOnyama Limba RENEWAL
Rodrigues M AmigonUnited KingdomAsiya Javayant PROPOSAL
Antonio K GlickIndiaAnna Fali NEW
Jefferson N AmigonRussiaBernardo Dominic RENEWAL
James L GauchoAustraliaXuxue Feng UNQUALIFIED
Sinclair H OldroydJapanIvan Magalhaes RENEWAL
Stacey J GlickAustraliaIvan Magalhaes PROPOSAL
Emily L KuskoJapanAsiya Javayant NEGOTIATION
Juan D GauchoAustraliaAnna Fali PROPOSAL
Antonio O PerinItalyAsiya Javayant PROPOSAL
Greenwood M DilliardSpainStephen Shaw NEW
Smith H NickaAustraliaAnna Fali RENEWAL
Faith T BowleyItalyIoni Bowcher UNQUALIFIED
Jeanfrancois Y InouyeRussiaIoni Bowcher QUALIFIED
Rodrigues Q NickaCanadaStephen Shaw PROPOSAL
Ashley T FollerFranceIvan Magalhaes RENEWAL
Mayumi G FerenczGermanyOnyama Limba PROPOSAL
Ivar C VenereAustraliaAnna Fali RENEWAL
Jones W BowleyAustraliaAmy Elsner QUALIFIED
Izzy J RutaItalyStephen Shaw UNQUALIFIED
Aika T TollnerBrazilIoni Bowcher NEGOTIATION
Tony E DilliardBrazilAmy Elsner RENEWAL
Emily T DoeJapanElwin Sharvill NEGOTIATION
Sinclair H DilliardUnited KingdomStephen Shaw PROPOSAL
Clifford C AmigonJapanIoni Bowcher NEGOTIATION
Kaitlin I StockhamAustraliaXuxue Feng UNQUALIFIED
Cody V GillianRussiaAsiya Javayant QUALIFIED
Cody V WhobreyArgentinaAnna Fali NEGOTIATION
Morrow N MaletBrazilBernardo Dominic QUALIFIED
Kaitlin V SaylorsItalyElwin Sharvill QUALIFIED
Chavez Y RutaRussiaElwin Sharvill NEW
Greenwood S SaylorsSpainXuxue Feng NEGOTIATION
Jeanfrancois E DilliardCanadaAmy Elsner PROPOSAL
Salvatore Y FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Tony F VenereRussiaElwin Sharvill QUALIFIED
Jeanfrancois N KolmetzJapanAmy Elsner QUALIFIED
Arvin E GarufiSpainStephen Shaw NEW
Munro H OstroskyGermanyStephen Shaw RENEWAL
Costa U CaldareraGermanyAnna Fali NEW
James T MacleadRussiaElwin Sharvill NEW
Darci A GarufiCanadaAnna Fali NEW
Ashley W GillianSpainBernardo Dominic RENEWAL
Rodrigues Q ButtIndiaBernardo Dominic UNQUALIFIED
Jeanfrancois D GauchoItalyXuxue Feng UNQUALIFIED
Izzy C SlusarskiIndiaAsiya Javayant QUALIFIED
Kaitlin I GauchoArgentinaAmy Elsner QUALIFIED
Frozen Columns
Name
Smith K Butt
Misaki N Amigon
Wickens N Flosi
Alejandro P Poquette
Rodrigues R Garufi
Kadeem X Schemmer
Maria U Saylors
Octavia R Tollner
Misaki V Rulapaugh
Kadeem F Waycott
Julie H Bolognia
Alejandro Q Slusarski
Adams H Dilliard
Ricardo E Bowley
Ricardo Y Maclead
Munro G Kolmetz
Wickens S Kusko
Sinclair W Stockham
Chavez Y Doe
Emily M Oldroyd
Ivar X Tollner
Clifford K Oldroyd
Octavia Z Waycott
Emily A Shinko
Silvio Q Whobrey
Rodrigues O Morasca
Smith H Iturbide
Silvio F Stockham
Jennifer D Caldarera
Maria P Ostrosky
Maria R Glick
Julie D Ruta
Arvin F Morasca
Nicolas J Stenseth
Jones R Glick
Tony X Garufi
Emily C Slusarski
Morrow G Marrier
Maisha V Nicka
Misaki K Briddick
Emily C Albares
Maria Q Briddick
Munro K Stenseth
Aika I Saylors
Chavez O Stenseth
Ashley C Rulapaugh
James U Bolognia
Maisha E Malet
Smith N Dilliard
Greenwood Y Schemmer
IdCountryDate
1000Italy2025-07-30
1001Germany2025-08-13
1002United Kingdom2025-08-06
1003Japan2025-08-15
1004France2025-08-25
1005Russia2025-08-04
1006Canada2025-08-24
1007United Kingdom2025-07-30
1008Italy2025-08-22
1009Australia2025-08-11
1010Italy2025-08-09
1011Germany2025-08-16
1012India2025-07-30
1013Japan2025-08-01
1014Argentina2025-08-25
1015Japan2025-08-02
1016Argentina2025-07-31
1017Brazil2025-08-24
1018United Kingdom2025-08-02
1019Argentina2025-08-20
1020Japan2025-07-30
1021Japan2025-07-28
1022Russia2025-07-30
1023Spain2025-08-09
1024Japan2025-08-07
1025Brazil2025-08-14
1026Brazil2025-08-10
1027India2025-08-21
1028Argentina2025-08-02
1029Italy2025-08-11
1030Australia2025-07-31
1031Spain2025-08-26
1032Japan2025-08-21
1033Australia2025-08-19
1034Brazil2025-08-15
1035United Kingdom2025-07-31
1036Italy2025-08-21
1037France2025-08-25
1038Canada2025-08-03
1039Spain2025-08-19
1040Argentina2025-08-05
1041Russia2025-08-19
1042Italy2025-08-05
1043United Kingdom2025-08-22
1044Italy2025-08-20
1045Argentina2025-08-12
1046Canada2025-08-14
1047India2025-08-23
1048Argentina2025-08-25
1049Italy2025-08-08

On-Demand Data

NameIdCountryDate
Maria Q Caldarera1000Argentina2025-08-21
Tony F Maclead1001United Kingdom2025-08-06
Izzy M Gaucho1002Australia2025-07-28
Munro Q Oldroyd1003Spain2025-08-01
Arvin Y Glick1004Germany2025-07-28
Faith I Shinko1005Brazil2025-08-24
Arvin R Dilliard1006Canada2025-08-12
Jones M Royster1007Russia2025-08-09
Alejandro C Gaucho1008Brazil2025-08-14
Faith I Ostrosky1009Spain2025-08-11
Julie P Poquette1010United Kingdom2025-08-11
Claire A Campain1011Canada2025-08-06
Cody I Kusko1012Germany2025-08-18
Ashley W Flosi1013Germany2025-07-29
Mayumi W Malet1014France2025-08-01
Emily U Bolognia1015Australia2025-08-12
Mujtaba N Albares1016Brazil2025-08-20
Maria G Glick1017Argentina2025-07-30
Tony U Rim1018Canada2025-08-07
Smith O Inouye1019Japan2025-08-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio I RutaGermanyAsiya Javayant UNQUALIFIED
Juan A MorascaBrazilElwin Sharvill NEGOTIATION
Alejandro P BologniaIndiaIoni Bowcher UNQUALIFIED
Nicolas Q CampainBrazilAmy Elsner PROPOSAL
Stacey Z MarrierAustraliaBernardo Dominic RENEWAL
Aika R WhobreyArgentinaAnna Fali NEGOTIATION
Mayumi D TollnerGermanyAsiya Javayant PROPOSAL
Ivar Y WieserFranceAnna Fali RENEWAL
Misaki U DarakjyIndiaBernardo Dominic UNQUALIFIED
James D StensethArgentinaElwin Sharvill NEW
Darci H MarrierAustraliaXuxue Feng UNQUALIFIED
Greenwood W DilliardGermanyIoni Bowcher NEW
Morrow D NestleItalyIoni Bowcher UNQUALIFIED
Munro T ShinkoRussiaAnna Fali QUALIFIED
Arvin B MaletGermanyAnna Fali PROPOSAL
Costa N ShinkoJapanAnna Fali NEW
Ricardo F DarakjyBrazilXuxue Feng UNQUALIFIED
Clifford P FollerGermanyAsiya Javayant NEW
Rodrigues C MacleadArgentinaBernardo Dominic UNQUALIFIED
Morrow D DarakjyBrazilStephen Shaw RENEWAL
Juan O AlbaresSpainIoni Bowcher NEGOTIATION
Aruna R FigeroaBrazilAnna Fali RENEWAL
Mujtaba W FollerSpainAmy Elsner QUALIFIED
Wickens G DarakjyBrazilIoni Bowcher NEW
Nicolas Z FlosiIndiaAsiya Javayant UNQUALIFIED
Adams Y AmigonUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba E OldroydArgentinaIoni Bowcher PROPOSAL
Aditya L WieserGermanyElwin Sharvill NEGOTIATION
Emily A RulapaughAustraliaStephen Shaw UNQUALIFIED
Ashley X StensethCanadaElwin Sharvill QUALIFIED
Claire J WieserCanadaBernardo Dominic NEGOTIATION
Stacey Z GillianUnited KingdomAnna Fali NEW
Clifford B RulapaughItalyXuxue Feng NEW
Murillo V ShinkoCanadaElwin Sharvill NEW
Kaitlin V GillianSpainOnyama Limba NEGOTIATION
Ricardo U FlosiArgentinaStephen Shaw UNQUALIFIED
Ashley M ChuiGermanyAsiya Javayant NEGOTIATION
Ashley P VenereJapanBernardo Dominic UNQUALIFIED
Jones N GillianArgentinaIoni Bowcher NEGOTIATION
Johnson Q WieserItalyElwin Sharvill NEW

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