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
Darci Z GarufiArgentinaAnna Fali NEW
Murillo D StockhamAustraliaElwin Sharvill RENEWAL
Izzy T VocelkaSpainXuxue Feng UNQUALIFIED
Octavia C WaycottIndiaIvan Magalhaes NEW
Nicolas I RutaBrazilAsiya Javayant NEW
Aditya Z PaprockiGermanyIvan Magalhaes QUALIFIED
Leon I TollnerRussiaBernardo Dominic NEGOTIATION
Adams G WaycottFranceAsiya Javayant PROPOSAL
Kadeem T WaycottUnited KingdomStephen Shaw PROPOSAL
Stacey K NickaSpainIoni Bowcher PROPOSAL
Faith U TollnerIndiaXuxue Feng NEW
Kadeem N GarufiAustraliaXuxue Feng RENEWAL
Antonio K SchemmerUnited KingdomAmy Elsner PROPOSAL
Isabel Y IturbideItalyOnyama Limba RENEWAL
Mujtaba O CampainItalyBernardo Dominic NEGOTIATION
Chavez C SaylorsArgentinaXuxue Feng UNQUALIFIED
Jefferson X InouyeGermanyOnyama Limba UNQUALIFIED
Murillo T SchemmerRussiaIoni Bowcher UNQUALIFIED
Alejandro U CaudyUnited KingdomAsiya Javayant NEGOTIATION
Jeanfrancois Z AlbaresIndiaIoni Bowcher RENEWAL
Cody G TollnerItalyAmy Elsner RENEWAL
Izzy G SergiUnited KingdomAmy Elsner RENEWAL
Kaitlin K CampainGermanyElwin Sharvill NEGOTIATION
David D SergiGermanyIoni Bowcher NEW
Kaitlin G CaldareraBrazilAsiya Javayant NEGOTIATION
Chavez G OstroskySpainElwin Sharvill RENEWAL
Misaki U DilliardFranceAnna Fali NEGOTIATION
Smith X GarufiGermanyAnna Fali PROPOSAL
Cody B VocelkaItalyAsiya Javayant NEW
Kaitlin G PoquetteBrazilAnna Fali NEGOTIATION
Sinclair E WhobreyCanadaAmy Elsner RENEWAL
Kaitlin B WieserRussiaAsiya Javayant QUALIFIED
Kadeem C AmigonBrazilAnna Fali NEW
Cody D GillianBrazilAmy Elsner PROPOSAL
Maisha Z DilliardSpainIvan Magalhaes NEW
Smith T AmigonUnited KingdomAsiya Javayant NEW
Aruna D TollnerRussiaXuxue Feng QUALIFIED
Ashley C OstroskyFranceBernardo Dominic PROPOSAL
Mujtaba N FerenczAustraliaBernardo Dominic UNQUALIFIED
Tony R SchemmerArgentinaAsiya Javayant PROPOSAL
Kaitlin S SaylorsItalyIoni Bowcher QUALIFIED
Jeanfrancois J PoquetteItalyBernardo Dominic NEGOTIATION
Nicolas Q SaylorsIndiaIvan Magalhaes QUALIFIED
Greenwood Y ShinkoRussiaXuxue Feng RENEWAL
Smith F MorascaRussiaBernardo Dominic RENEWAL
Jones C CaldareraAustraliaOnyama Limba NEW
James M GauchoSpainAsiya Javayant UNQUALIFIED
Cody N WhobreyJapanStephen Shaw QUALIFIED
Adams B InouyeAustraliaXuxue Feng NEGOTIATION
David R CaudyFranceXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aruna H RimRussiaIoni Bowcher UNQUALIFIED
Aruna A PoquetteBrazilBernardo Dominic UNQUALIFIED
Juan D StensethBrazilAnna Fali UNQUALIFIED
Emily R OldroydRussiaAmy Elsner PROPOSAL
Ashley P RoysterFranceAmy Elsner PROPOSAL
Mujtaba R IturbideArgentinaBernardo Dominic NEGOTIATION
Jefferson T TollnerUnited KingdomAnna Fali NEGOTIATION
Kadeem Z FollerIndiaIvan Magalhaes RENEWAL
Kaitlin G SlusarskiJapanAmy Elsner RENEWAL
Izzy O CaudyCanadaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer G AlbaresSpain2025-08-06Buckley Miller Wright QUALIFIED14Ioni Bowcher
1001Sinclair U AmigonFrance2025-07-29Benton, John B Jr RENEWAL3Asiya Javayant
1002Julie Z GlickJapan2025-08-08Buckley Miller Wright NEW39Onyama Limba
1003Juan A VocelkaSpain2025-08-07Buckley Miller Wright QUALIFIED48Asiya Javayant
1004Deepesh P FigeroaSpain2025-07-28King, Christopher A Esq UNQUALIFIED22Elwin Sharvill
1005Izzy X MaletItaly2025-08-05Rangoni Of Florence QUALIFIED83Xuxue Feng
1006Aika R CampainGermany2025-08-24Truhlar And Truhlar Attys PROPOSAL35Ioni Bowcher
1007Claire L GarufiItaly2025-08-05Truhlar And Truhlar Attys PROPOSAL64Anna Fali
1008Greenwood X GillianJapan2025-08-10Rangoni Of Florence PROPOSAL60Bernardo Dominic
1009Morrow P FollerBrazil2025-08-22Benton, John B Jr QUALIFIED67Amy Elsner
1010Tony B BowleySpain2025-08-15Printing Dimensions NEGOTIATION30Bernardo Dominic
1011Leja N RulapaughUnited Kingdom2025-08-19Rousseaux, Michael Esq PROPOSAL88Amy Elsner
1012Aika Q WieserSpain2025-07-31Morlong Associates RENEWAL84Asiya Javayant
1013Leja V NickaIndia2025-08-03Chapman, Ross E Esq RENEWAL62Amy Elsner
1014Francesco C WaycottIndia2025-08-22Morlong Associates RENEWAL98Xuxue Feng
1015Ricardo T DoeFrance2025-08-20Benton, John B Jr NEGOTIATION66Amy Elsner
1016Cody R VocelkaJapan2025-08-12King, Christopher A Esq NEGOTIATION26Stephen Shaw
1017Silvio K WhobreyUnited Kingdom2025-07-31Commercial Press NEGOTIATION89Asiya Javayant
1018Emily O GillianAustralia2025-08-10Truhlar And Truhlar Attys QUALIFIED13Ioni Bowcher
1019Tony G BowleyArgentina2025-08-06Feltz Printing Service UNQUALIFIED11Anna Fali
1020Ricardo C AlbaresIndia2025-08-04Benton, John B Jr NEW19Onyama Limba
1021Isabel K WaycottJapan2025-08-16Truhlar And Truhlar Attys QUALIFIED62Stephen Shaw
1022Silvio P MorascaFrance2025-08-15Feltz Printing Service QUALIFIED86Stephen Shaw
1023Aika D GillianArgentina2025-08-08Chemel, James L Cpa PROPOSAL63Stephen Shaw
1024Faith D CaudyArgentina2025-08-01Chanay, Jeffrey A Esq QUALIFIED55Anna Fali
1025Costa C OstroskyCanada2025-08-12Chanay, Jeffrey A Esq PROPOSAL57Onyama Limba
1026Jefferson P SchemmerFrance2025-08-23Rousseaux, Michael Esq NEW39Xuxue Feng
1027Kaitlin L GillianUnited Kingdom2025-08-16Chanay, Jeffrey A Esq PROPOSAL88Ioni Bowcher
1028Wickens I SlusarskiIndia2025-08-17Benton, John B Jr NEGOTIATION71Bernardo Dominic
1029Kaitlin T BowleyCanada2025-08-10Feltz Printing Service UNQUALIFIED37Xuxue Feng
1030Munro X PaprockiJapan2025-08-21Benton, John B Jr PROPOSAL66Amy Elsner
1031Kadeem N BowleyFrance2025-08-12Dorl, James J Esq RENEWAL8Stephen Shaw
1032Isabel B WieserUnited Kingdom2025-07-26Printing Dimensions NEW18Elwin Sharvill
1033Nicolas X CampainRussia2025-08-09King, Christopher A Esq NEGOTIATION15Bernardo Dominic
1034Greenwood P SergiAustralia2025-08-22Benton, John B Jr PROPOSAL15Asiya Javayant
1035Octavia E NickaGermany2025-08-12Chapman, Ross E Esq NEGOTIATION3Onyama Limba
1036Maria K KuskoBrazil2025-07-29Rousseaux, Michael Esq PROPOSAL66Onyama Limba
1037Greenwood V StockhamUnited Kingdom2025-08-18Commercial Press UNQUALIFIED63Stephen Shaw
1038Izzy F IturbideSpain2025-08-18Chanay, Jeffrey A Esq NEW96Stephen Shaw
1039Francesco E RutaIndia2025-07-31Dorl, James J Esq NEW71Bernardo Dominic
1040Jennifer O OldroydAustralia2025-08-13King, Christopher A Esq NEW68Amy Elsner
1041Octavia V OstroskyFrance2025-07-29Commercial Press NEGOTIATION76Xuxue Feng
1042Aika Y CampainCanada2025-08-06Rangoni Of Florence PROPOSAL37Bernardo Dominic
1043Cody X GillianIndia2025-08-03Benton, John B Jr QUALIFIED31Ivan Magalhaes
1044Murillo N ButtUnited Kingdom2025-08-06King, Christopher A Esq RENEWAL99Amy Elsner
1045Clifford N MaletAustralia2025-07-29Rangoni Of Florence NEW1Ivan Magalhaes
1046Jones Y SlusarskiItaly2025-07-30Feiner Bros NEW15Ioni Bowcher
1047Jeanfrancois W FlosiBrazil2025-08-12Chanay, Jeffrey A Esq NEGOTIATION86Xuxue Feng
1048Antonio T ChuiIndia2025-08-13Printing Dimensions RENEWAL55Xuxue Feng
1049Kaitlin E MorascaGermany2025-08-07Feltz Printing Service UNQUALIFIED46Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Costa L KuskoIndiaAmy Elsner PROPOSAL
Aditya H BowleyBrazilAmy Elsner NEGOTIATION
Claire C KuskoGermanyOnyama Limba UNQUALIFIED
Adams V RulapaughCanadaAsiya Javayant UNQUALIFIED
Ivar M RulapaughFranceIoni Bowcher NEW
Munro C AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Ivar E WaycottItalyAmy Elsner QUALIFIED
Sinclair O OldroydBrazilIvan Magalhaes PROPOSAL
Julie S BriddickSpainElwin Sharvill RENEWAL
Aika D CaldareraSpainStephen Shaw PROPOSAL
Ashley W TollnerArgentinaStephen Shaw NEGOTIATION
Ricardo D BologniaItalyIoni Bowcher UNQUALIFIED
Faith U PoquetteBrazilElwin Sharvill QUALIFIED
Isabel O RimGermanyAsiya Javayant UNQUALIFIED
Costa M WhobreyCanadaOnyama Limba RENEWAL
Juan O WaycottBrazilAsiya Javayant RENEWAL
Clifford Q SergiGermanyAmy Elsner QUALIFIED
Morrow K InouyeItalyAmy Elsner RENEWAL
Darci P MorascaIndiaStephen Shaw NEW
Julie Z StensethCanadaAmy Elsner RENEWAL
Greenwood R CampainCanadaBernardo Dominic NEW
Mujtaba V RimAustraliaIvan Magalhaes NEGOTIATION
Mujtaba T StockhamFranceIoni Bowcher PROPOSAL
Antonio A CaudyArgentinaIoni Bowcher PROPOSAL
Wickens A FerenczRussiaXuxue Feng NEW
Jefferson J KolmetzUnited KingdomOnyama Limba NEGOTIATION
Isabel W WieserJapanIvan Magalhaes RENEWAL
Ricardo W ChuiAustraliaOnyama Limba QUALIFIED
Smith F ShinkoRussiaAmy Elsner NEGOTIATION
Jones X WhobreyIndiaOnyama Limba QUALIFIED
Stacey L PaprockiBrazilIoni Bowcher NEGOTIATION
Darci Y MacleadFranceIvan Magalhaes NEGOTIATION
Ashley M StensethCanadaAnna Fali NEGOTIATION
Salvatore W MaletSpainStephen Shaw PROPOSAL
Julie T DoeUnited KingdomAmy Elsner RENEWAL
Morrow Y MorascaGermanyIoni Bowcher QUALIFIED
Juan W MacleadSpainAmy Elsner PROPOSAL
Munro O BologniaArgentinaAsiya Javayant UNQUALIFIED
Chavez H BologniaJapanIvan Magalhaes RENEWAL
Johnson Q ButtJapanElwin Sharvill PROPOSAL
Aruna P DilliardFranceIvan Magalhaes NEW
Ashley M AmigonGermanyBernardo Dominic UNQUALIFIED
Deepesh K KuskoGermanyBernardo Dominic PROPOSAL
Smith Q FlosiGermanyIoni Bowcher NEGOTIATION
Darci D GlickRussiaOnyama Limba PROPOSAL
Maria V MacleadIndiaElwin Sharvill PROPOSAL
Costa G SergiAustraliaBernardo Dominic NEW
David U AlbaresGermanyElwin Sharvill NEW
Maisha B MaletBrazilElwin Sharvill NEW
Ashley L GlickFranceAmy Elsner PROPOSAL
Frozen Columns
Name
Stacey E Sergi
Sinclair G Garufi
James X Kusko
Murillo X Perin
Ricardo D Bowley
Greenwood Q Ferencz
Juan R Oldroyd
Maisha G Oldroyd
Kadeem U Perin
Emily V Shinko
Aruna T Rim
Cody S Inouye
Murillo I Kolmetz
Claire J Butt
Maisha W Sergi
Stacey V Iturbide
Deepesh E Inouye
Stacey N Darakjy
Claire I Perin
Arvin E Perin
Jefferson H Gaucho
Smith S Oldroyd
Clifford H Inouye
David V Rulapaugh
Ricardo R Bowley
Greenwood M Bowley
Leja T Waycott
Rodrigues G Stenseth
Cody U Royster
Nicolas Z Shinko
James V Oldroyd
Murillo W Stockham
Mayumi S Ostrosky
Maria E Bolognia
Jeanfrancois F Figeroa
Aika C Sergi
Francesco V Chui
Darci P Marrier
Ivar V Inouye
Mayumi I Wieser
Julie M Marrier
Sinclair G Waycott
Leon H Campain
Johnson D Oldroyd
Wickens O Darakjy
Mujtaba V Flosi
Maria C Tollner
Stacey G Caldarera
Mayumi Q Wieser
Wickens R Paprocki
IdCountryDate
1000Brazil2025-08-02
1001United Kingdom2025-08-10
1002Japan2025-08-11
1003Australia2025-08-15
1004Brazil2025-08-04
1005Russia2025-08-14
1006Argentina2025-08-24
1007India2025-07-27
1008Russia2025-08-04
1009United Kingdom2025-08-13
1010France2025-08-13
1011United Kingdom2025-08-02
1012Italy2025-08-03
1013Brazil2025-07-31
1014Spain2025-08-08
1015Italy2025-08-06
1016France2025-08-03
1017France2025-08-16
1018Germany2025-08-10
1019Argentina2025-08-05
1020United Kingdom2025-07-28
1021Japan2025-08-07
1022France2025-08-11
1023Japan2025-08-19
1024France2025-07-26
1025Japan2025-08-01
1026Argentina2025-08-15
1027Russia2025-07-28
1028Australia2025-07-26
1029Japan2025-07-27
1030Italy2025-08-19
1031Spain2025-08-21
1032Japan2025-07-27
1033France2025-08-16
1034Spain2025-08-15
1035Japan2025-07-30
1036Russia2025-08-22
1037Brazil2025-08-02
1038Spain2025-08-06
1039Australia2025-08-12
1040Germany2025-08-12
1041India2025-08-23
1042United Kingdom2025-08-08
1043Russia2025-08-17
1044Australia2025-08-11
1045Argentina2025-08-17
1046France2025-08-12
1047United Kingdom2025-08-12
1048Australia2025-08-19
1049Brazil2025-08-03

On-Demand Data

NameIdCountryDate
Faith Z Campain1000Japan2025-07-28
Izzy V Saylors1001Argentina2025-08-19
Kaitlin N Waycott1002France2025-08-13
Murillo J Venere1003Japan2025-08-03
David M Venere1004Canada2025-07-29
Cody D Shinko1005United Kingdom2025-08-14
Cody X Slusarski1006Argentina2025-08-09
Faith B Perin1007Germany2025-08-20
Kadeem Y Poquette1008Brazil2025-08-15
Maria V Marrier1009Brazil2025-08-07
Adams S Nicka1010Japan2025-08-18
Mayumi R Ostrosky1011Germany2025-07-29
Stacey W Schemmer1012Australia2025-08-04
Isabel I Morasca1013Canada2025-08-03
Jeanfrancois P Butt1014Spain2025-08-15
Darci L Figeroa1015Australia2025-08-18
Salvatore H Venere1016Italy2025-08-13
Murillo F Iturbide1017Italy2025-08-11
Leja Y Marrier1018Italy2025-08-20
Kaitlin W Darakjy1019Russia2025-08-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues J VenereJapanStephen Shaw UNQUALIFIED
Rodrigues I KolmetzCanadaStephen Shaw PROPOSAL
Emily C VocelkaIndiaXuxue Feng NEW
Julie Z MacleadRussiaAsiya Javayant QUALIFIED
Leon H MaletSpainOnyama Limba RENEWAL
Sinclair B FigeroaItalyAsiya Javayant UNQUALIFIED
Salvatore I CaudyCanadaAsiya Javayant NEW
Juan S ChuiFranceAnna Fali NEW
David A CaudyCanadaElwin Sharvill RENEWAL
Salvatore V FlosiFranceIoni Bowcher NEW
Julie T MorascaItalyIvan Magalhaes UNQUALIFIED
David N NestleFranceOnyama Limba QUALIFIED
Juan K ButtIndiaOnyama Limba PROPOSAL
Arvin V GillianBrazilAmy Elsner PROPOSAL
Chavez Q FlosiRussiaAnna Fali RENEWAL
Stacey U MacleadUnited KingdomAsiya Javayant RENEWAL
Maisha O InouyeAustraliaAmy Elsner RENEWAL
Wickens H ShinkoRussiaAmy Elsner NEGOTIATION
Octavia F SergiUnited KingdomElwin Sharvill UNQUALIFIED
Munro U BriddickFranceAnna Fali NEGOTIATION
Sinclair Q ButtIndiaAmy Elsner UNQUALIFIED
Mayumi X ButtJapanStephen Shaw NEGOTIATION
David D ShinkoArgentinaStephen Shaw PROPOSAL
Juan G SaylorsAustraliaBernardo Dominic RENEWAL
Deepesh G MorascaBrazilAmy Elsner QUALIFIED
Misaki H FollerBrazilAnna Fali PROPOSAL
Cody O AlbaresCanadaAsiya Javayant QUALIFIED
Faith Z WaycottRussiaAnna Fali RENEWAL
Murillo H AlbaresGermanyStephen Shaw UNQUALIFIED
Johnson N CaldareraBrazilElwin Sharvill UNQUALIFIED
Julie G RoysterAustraliaElwin Sharvill NEW
Leja O VocelkaJapanBernardo Dominic RENEWAL
Jones Q GillianGermanyAmy Elsner UNQUALIFIED
Morrow Q GillianCanadaBernardo Dominic RENEWAL
Munro H KolmetzBrazilXuxue Feng NEW
Tony W SlusarskiIndiaStephen Shaw RENEWAL
Alejandro O OldroydCanadaAsiya Javayant RENEWAL
Aditya U GarufiBrazilElwin Sharvill NEGOTIATION
Maria W WaycottSpainIvan Magalhaes PROPOSAL
Tony Z DilliardArgentinaStephen Shaw UNQUALIFIED

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