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
Arvin B VenereRussiaStephen Shaw RENEWAL
Rodrigues O GillianArgentinaIvan Magalhaes PROPOSAL
David H WaycottArgentinaAmy Elsner QUALIFIED
Emily V InouyeItalyAsiya Javayant QUALIFIED
Munro D AlbaresCanadaBernardo Dominic UNQUALIFIED
Rodrigues I RimBrazilElwin Sharvill NEGOTIATION
Munro O DoeAustraliaStephen Shaw PROPOSAL
Claire W RoysterIndiaOnyama Limba NEW
Ashley N RulapaughAustraliaXuxue Feng UNQUALIFIED
Deepesh A KolmetzFranceAmy Elsner NEGOTIATION
Alejandro E SaylorsSpainIvan Magalhaes RENEWAL
Kadeem U GauchoUnited KingdomStephen Shaw PROPOSAL
Stacey O NestleSpainOnyama Limba RENEWAL
Jennifer D BowleyFranceStephen Shaw NEW
Salvatore J GillianGermanyStephen Shaw RENEWAL
Ashley F DoeAustraliaAmy Elsner UNQUALIFIED
Greenwood R SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio S RutaItalyBernardo Dominic UNQUALIFIED
Costa T AmigonRussiaBernardo Dominic NEGOTIATION
Mujtaba N FollerJapanElwin Sharvill QUALIFIED
Aditya S ButtRussiaElwin Sharvill NEW
Antonio W SaylorsAustraliaStephen Shaw RENEWAL
Aditya X FigeroaJapanXuxue Feng NEGOTIATION
Silvio D WhobreyRussiaStephen Shaw NEGOTIATION
Claire F DoeCanadaStephen Shaw PROPOSAL
Aditya E SlusarskiFranceStephen Shaw NEGOTIATION
Munro B MorascaBrazilOnyama Limba PROPOSAL
Mayumi Y RimSpainBernardo Dominic UNQUALIFIED
Mujtaba P RoysterGermanyXuxue Feng PROPOSAL
Arvin T MaletGermanyElwin Sharvill QUALIFIED
Jones J PaprockiGermanyElwin Sharvill PROPOSAL
Stacey Q RimAustraliaOnyama Limba NEW
Munro Q KolmetzUnited KingdomIoni Bowcher QUALIFIED
Alejandro Z MarrierJapanAnna Fali NEGOTIATION
Aika H KuskoRussiaElwin Sharvill NEGOTIATION
Silvio J GlickGermanyAmy Elsner RENEWAL
Jennifer I StockhamGermanyIoni Bowcher PROPOSAL
Ashley V ChuiGermanyXuxue Feng NEW
Aika F WieserCanadaIvan Magalhaes QUALIFIED
Chavez M RimIndiaIvan Magalhaes PROPOSAL
Clifford V DarakjyRussiaIoni Bowcher PROPOSAL
Tony U MaletIndiaAnna Fali NEW
Jeanfrancois O SchemmerItalyOnyama Limba QUALIFIED
Cody Y RimIndiaBernardo Dominic UNQUALIFIED
Ashley V KolmetzJapanElwin Sharvill NEGOTIATION
David Y KolmetzBrazilIvan Magalhaes RENEWAL
Munro P AmigonAustraliaIoni Bowcher PROPOSAL
Jennifer K FigeroaUnited KingdomAmy Elsner QUALIFIED
Kaitlin I BriddickAustraliaElwin Sharvill NEW
Ivar W GlickGermanyIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Darci Y MacleadRussiaBernardo Dominic NEGOTIATION
Leon N WhobreyArgentinaAnna Fali PROPOSAL
Greenwood W PaprockiRussiaIoni Bowcher RENEWAL
Darci X MaletIndiaStephen Shaw NEGOTIATION
Juan Y MaletArgentinaAmy Elsner RENEWAL
David B IturbideBrazilBernardo Dominic NEGOTIATION
Sinclair S CaldareraAustraliaAsiya Javayant NEGOTIATION
Mayumi W MaletUnited KingdomIoni Bowcher QUALIFIED
Kaitlin B MarrierFranceIvan Magalhaes RENEWAL
Antonio L SaylorsIndiaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin D SlusarskiRussia2025-07-31Feltz Printing Service QUALIFIED96Amy Elsner
1001Munro D SchemmerUnited Kingdom2025-07-10Benton, John B Jr NEGOTIATION24Ioni Bowcher
1002Costa M RoysterAustralia2025-07-13Feiner Bros QUALIFIED12Stephen Shaw
1003Sinclair O RulapaughCanada2025-07-11King, Christopher A Esq UNQUALIFIED57Onyama Limba
1004Julie I ButtArgentina2025-07-17Chapman, Ross E Esq NEW99Elwin Sharvill
1005Jeanfrancois U ChuiIndia2025-07-17Chemel, James L Cpa RENEWAL56Stephen Shaw
1006Maria B FerenczSpain2025-07-09Truhlar And Truhlar Attys QUALIFIED38Amy Elsner
1007Ivar V FollerFrance2025-08-01Dorl, James J Esq PROPOSAL28Stephen Shaw
1008Greenwood V BologniaCanada2025-07-13Chapman, Ross E Esq UNQUALIFIED86Asiya Javayant
1009Antonio Z VenereAustralia2025-07-06King, Christopher A Esq NEW28Ioni Bowcher
1010Isabel A PaprockiGermany2025-07-12Morlong Associates NEW18Bernardo Dominic
1011Arvin W AlbaresJapan2025-07-06Buckley Miller Wright RENEWAL23Anna Fali
1012Murillo N MacleadIndia2025-08-01Truhlar And Truhlar Attys UNQUALIFIED94Ioni Bowcher
1013Kadeem H StockhamAustralia2025-07-10Commercial Press PROPOSAL48Asiya Javayant
1014Jennifer F ChuiRussia2025-07-29Dorl, James J Esq NEGOTIATION71Stephen Shaw
1015Clifford N CaldareraIndia2025-07-22Feltz Printing Service QUALIFIED79Amy Elsner
1016Murillo F MorascaUnited Kingdom2025-07-07Rousseaux, Michael Esq NEW48Stephen Shaw
1017Misaki U MorascaUnited Kingdom2025-07-14Rangoni Of Florence UNQUALIFIED61Onyama Limba
1018Mujtaba D ChuiBrazil2025-07-14Chanay, Jeffrey A Esq UNQUALIFIED13Amy Elsner
1019Julie A TollnerItaly2025-07-14Buckley Miller Wright UNQUALIFIED18Ivan Magalhaes
1020Cody S SaylorsArgentina2025-07-18King, Christopher A Esq UNQUALIFIED62Stephen Shaw
1021Antonio G RimArgentina2025-07-29King, Christopher A Esq NEW26Ioni Bowcher
1022Aditya Z SlusarskiAustralia2025-07-10Chapman, Ross E Esq PROPOSAL74Xuxue Feng
1023Ashley A RulapaughJapan2025-08-01Feltz Printing Service RENEWAL51Stephen Shaw
1024Maisha V NickaArgentina2025-07-26Dorl, James J Esq RENEWAL33Ivan Magalhaes
1025Juan R PaprockiItaly2025-07-29Buckley Miller Wright NEGOTIATION17Bernardo Dominic
1026Faith Y OldroydBrazil2025-07-22Dorl, James J Esq QUALIFIED50Ivan Magalhaes
1027Ivar W GillianRussia2025-07-19Printing Dimensions NEGOTIATION35Stephen Shaw
1028David D KolmetzItaly2025-07-09Feiner Bros NEGOTIATION57Xuxue Feng
1029Greenwood N VenereRussia2025-07-31Buckley Miller Wright NEGOTIATION68Bernardo Dominic
1030Ricardo R CaldareraAustralia2025-07-12Chemel, James L Cpa NEW60Asiya Javayant
1031Aditya L OldroydIndia2025-07-26Rangoni Of Florence NEGOTIATION82Ivan Magalhaes
1032Misaki K GillianItaly2025-07-20Chemel, James L Cpa NEW44Xuxue Feng
1033Darci H IturbideSpain2025-07-17Chapman, Ross E Esq NEW87Asiya Javayant
1034David L CaldareraArgentina2025-07-18Commercial Press PROPOSAL27Asiya Javayant
1035Emily J GillianJapan2025-07-10Chemel, James L Cpa PROPOSAL89Amy Elsner
1036Mujtaba W AmigonBrazil2025-07-10Printing Dimensions QUALIFIED52Stephen Shaw
1037Faith D VocelkaArgentina2025-07-08Benton, John B Jr NEGOTIATION94Amy Elsner
1038Julie H GillianAustralia2025-07-27Feiner Bros NEGOTIATION81Asiya Javayant
1039Rodrigues Q OldroydAustralia2025-08-03Commercial Press PROPOSAL39Amy Elsner
1040Mayumi V ShinkoItaly2025-07-10Commercial Press NEGOTIATION85Anna Fali
1041Ricardo I BologniaJapan2025-07-13Chanay, Jeffrey A Esq PROPOSAL0Onyama Limba
1042Darci N SaylorsAustralia2025-07-31Feiner Bros QUALIFIED80Stephen Shaw
1043Isabel Y ShinkoBrazil2025-07-11Commercial Press QUALIFIED15Ivan Magalhaes
1044Ivar J ChuiBrazil2025-07-13Dorl, James J Esq PROPOSAL81Onyama Limba
1045Kaitlin V BowleyAustralia2025-07-30Rousseaux, Michael Esq RENEWAL57Bernardo Dominic
1046Faith J StensethBrazil2025-07-13King, Christopher A Esq UNQUALIFIED77Ioni Bowcher
1047Nicolas G PaprockiGermany2025-07-08Rangoni Of Florence RENEWAL28Ioni Bowcher
1048Francesco T NickaItaly2025-07-18Rangoni Of Florence UNQUALIFIED45Amy Elsner
1049Jeanfrancois Q MacleadGermany2025-08-02Chapman, Ross E Esq QUALIFIED68Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aika L RutaBrazilAsiya Javayant QUALIFIED
Stacey M MaletFranceAnna Fali NEGOTIATION
Ivar K MaletAustraliaAmy Elsner NEGOTIATION
Ashley G SlusarskiBrazilElwin Sharvill NEW
Tony J RimBrazilStephen Shaw PROPOSAL
Jones W AmigonCanadaElwin Sharvill RENEWAL
Kadeem Q BologniaSpainBernardo Dominic PROPOSAL
Cody V FerenczJapanIoni Bowcher PROPOSAL
Claire E GauchoAustraliaIvan Magalhaes RENEWAL
Kadeem T BriddickJapanBernardo Dominic NEW
Adams K WaycottArgentinaElwin Sharvill NEW
Wickens H SchemmerRussiaAmy Elsner UNQUALIFIED
Mujtaba E StockhamGermanyXuxue Feng UNQUALIFIED
Sinclair C CaudyGermanyXuxue Feng QUALIFIED
Darci K OldroydFranceStephen Shaw RENEWAL
Juan N DilliardAustraliaAnna Fali RENEWAL
Leja R ChuiAustraliaElwin Sharvill PROPOSAL
Francesco F KuskoJapanIoni Bowcher RENEWAL
Antonio N WhobreyRussiaIoni Bowcher QUALIFIED
Salvatore T RimItalyXuxue Feng NEW
Rodrigues O OstroskyUnited KingdomAnna Fali UNQUALIFIED
Rodrigues I FlosiIndiaXuxue Feng UNQUALIFIED
Salvatore V FollerAustraliaElwin Sharvill QUALIFIED
David O KuskoUnited KingdomIvan Magalhaes RENEWAL
Jefferson R WieserItalyIoni Bowcher UNQUALIFIED
Tony N ButtSpainIoni Bowcher PROPOSAL
Ashley R GauchoBrazilElwin Sharvill UNQUALIFIED
Adams S PerinCanadaBernardo Dominic UNQUALIFIED
Jones Z OldroydArgentinaAmy Elsner UNQUALIFIED
Munro W VenereAustraliaAmy Elsner PROPOSAL
Sinclair M BowleyUnited KingdomAmy Elsner QUALIFIED
Jefferson I GillianCanadaAnna Fali NEGOTIATION
Aruna E WhobreyFranceXuxue Feng RENEWAL
Jefferson R GillianGermanyBernardo Dominic RENEWAL
Leon B MorascaGermanyAmy Elsner PROPOSAL
Nicolas V GlickGermanyOnyama Limba RENEWAL
Jennifer L OldroydUnited KingdomBernardo Dominic PROPOSAL
Tony W StockhamIndiaElwin Sharvill NEW
Antonio F SergiRussiaStephen Shaw RENEWAL
Kaitlin T PaprockiAustraliaAmy Elsner RENEWAL
Francesco P InouyeBrazilStephen Shaw PROPOSAL
Julie B CampainArgentinaOnyama Limba UNQUALIFIED
Antonio M DilliardAustraliaXuxue Feng NEGOTIATION
Octavia C ShinkoGermanyBernardo Dominic PROPOSAL
Francesco Q NestleSpainAmy Elsner NEW
Arvin S IturbideFranceStephen Shaw NEGOTIATION
Salvatore F KuskoGermanyOnyama Limba UNQUALIFIED
Arvin Q GauchoFranceXuxue Feng NEW
Salvatore O FollerSpainOnyama Limba PROPOSAL
Darci G SchemmerItalyOnyama Limba QUALIFIED
Frozen Columns
Name
James C Flosi
James V Bolognia
Stacey M Garufi
Kaitlin W Tollner
Alejandro T Inouye
Murillo M Oldroyd
Ivar R Malet
Murillo X Chui
David R Flosi
Murillo M Inouye
Aruna U Maclead
Misaki N Briddick
Clifford L Whobrey
Costa B Stockham
Jennifer R Slusarski
David P Wieser
Morrow N Wieser
Tony S Doe
Misaki A Rulapaugh
Wickens Z Dilliard
Clifford J Ruta
Misaki Z Nestle
Silvio F Venere
Mujtaba J Ruta
Chavez U Iturbide
Costa Z Oldroyd
Izzy D Rim
Murillo L Inouye
Tony P Bolognia
Silvio G Chui
Deepesh Y Figeroa
Clifford A Poquette
James I Bolognia
Mayumi J Venere
Chavez A Malet
Antonio T Gillian
James Q Dilliard
Arvin N Royster
Smith P Sergi
Cody J Slusarski
David F Butt
Faith I Paprocki
Aruna C Paprocki
Darci I Gaucho
Morrow S Gaucho
Stacey S Dilliard
Nicolas O Foller
Faith L Malet
Wickens J Rim
Isabel F Whobrey
IdCountryDate
1000Spain2025-08-03
1001India2025-07-09
1002Canada2025-07-14
1003Argentina2025-07-09
1004Spain2025-07-09
1005Argentina2025-07-27
1006United Kingdom2025-07-15
1007Spain2025-07-25
1008Canada2025-07-20
1009Japan2025-07-19
1010Italy2025-07-31
1011Brazil2025-07-18
1012France2025-07-19
1013United Kingdom2025-08-02
1014Spain2025-07-11
1015Canada2025-07-12
1016Canada2025-07-31
1017Brazil2025-07-15
1018Italy2025-07-31
1019France2025-08-01
1020United Kingdom2025-07-13
1021Germany2025-08-01
1022Canada2025-07-13
1023India2025-08-03
1024Argentina2025-07-10
1025France2025-07-23
1026United Kingdom2025-07-26
1027Russia2025-07-09
1028Spain2025-07-29
1029Japan2025-07-25
1030Japan2025-07-14
1031United Kingdom2025-07-21
1032Argentina2025-07-27
1033Italy2025-08-01
1034Argentina2025-07-12
1035France2025-07-30
1036Russia2025-07-11
1037Germany2025-08-03
1038Spain2025-07-28
1039Canada2025-07-10
1040Brazil2025-07-18
1041Australia2025-07-09
1042France2025-07-22
1043France2025-08-04
1044Russia2025-07-31
1045United Kingdom2025-07-15
1046France2025-07-29
1047Brazil2025-07-15
1048Italy2025-07-24
1049Canada2025-07-28

On-Demand Data

NameIdCountryDate
Morrow J Maclead1000Australia2025-08-03
Tony Z Kolmetz1001Japan2025-07-27
Morrow A Whobrey1002Germany2025-07-11
Leja Y Ferencz1003Argentina2025-07-30
Costa U Ruta1004India2025-07-26
Sinclair T Kusko1005Spain2025-07-08
Jefferson D Glick1006France2025-07-28
Sinclair E Inouye1007Canada2025-08-01
Salvatore Y Briddick1008Argentina2025-07-21
Misaki Q Ruta1009France2025-07-20
Morrow X Slusarski1010Brazil2025-07-07
Leja I Paprocki1011India2025-07-07
Octavia Y Butt1012Russia2025-07-12
Wickens M Garufi1013Russia2025-08-04
James I Perin1014France2025-07-26
Leon L Gillian1015Japan2025-07-23
Emily W Wieser1016Germany2025-07-09
Morrow G Ferencz1017Russia2025-07-14
Antonio W Kusko1018Argentina2025-07-19
Aika R Albares1019Italy2025-07-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow D VenereRussiaAmy Elsner NEW
Maisha U FollerUnited KingdomXuxue Feng NEW
Julie Z KuskoGermanyStephen Shaw RENEWAL
Deepesh A CaldareraCanadaAsiya Javayant QUALIFIED
Jones T PerinIndiaAmy Elsner RENEWAL
Tony L KuskoItalyAnna Fali QUALIFIED
Mujtaba S VenereAustraliaAnna Fali NEW
Sinclair P SergiJapanStephen Shaw NEW
Kadeem K SaylorsFranceStephen Shaw RENEWAL
Kaitlin Q RutaRussiaOnyama Limba QUALIFIED
Aika N DarakjyAustraliaStephen Shaw RENEWAL
Johnson O GlickCanadaIoni Bowcher UNQUALIFIED
Octavia L GlickRussiaXuxue Feng RENEWAL
Aika U SergiRussiaAsiya Javayant UNQUALIFIED
James Y SlusarskiAustraliaIoni Bowcher NEW
Antonio N BowleyUnited KingdomOnyama Limba RENEWAL
Deepesh F WhobreyFranceIvan Magalhaes QUALIFIED
Jones S BowleyJapanAnna Fali NEGOTIATION
Chavez D ButtItalyBernardo Dominic NEGOTIATION
Faith S PaprockiUnited KingdomAsiya Javayant NEW
Silvio A AlbaresCanadaOnyama Limba QUALIFIED
Tony R NickaFranceAsiya Javayant PROPOSAL
Mayumi F KuskoSpainStephen Shaw UNQUALIFIED
Rodrigues H SlusarskiJapanOnyama Limba NEGOTIATION
Chavez G RoysterIndiaIvan Magalhaes QUALIFIED
James Q TollnerJapanXuxue Feng RENEWAL
Mayumi C OldroydUnited KingdomBernardo Dominic NEGOTIATION
Maisha I MarrierRussiaXuxue Feng QUALIFIED
Francesco D BowleyRussiaStephen Shaw RENEWAL
Silvio R WaycottAustraliaIoni Bowcher RENEWAL
James D GarufiAustraliaIvan Magalhaes UNQUALIFIED
Munro I MarrierCanadaIvan Magalhaes NEW
Jeanfrancois R NestleIndiaAsiya Javayant UNQUALIFIED
Mujtaba D RoysterArgentinaXuxue Feng PROPOSAL
Emily A SlusarskiCanadaAnna Fali NEGOTIATION
Izzy Z FollerArgentinaAmy Elsner NEGOTIATION
Munro N BologniaRussiaIoni Bowcher NEW
Cody Y FlosiIndiaAsiya Javayant RENEWAL
David D FigeroaCanadaXuxue Feng QUALIFIED
Wickens O GillianRussiaXuxue Feng 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>