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
Wickens I InouyeUnited KingdomAmy Elsner UNQUALIFIED
Claire Q ButtUnited KingdomAnna Fali NEW
Aruna S BriddickJapanIvan Magalhaes NEGOTIATION
Aditya I GillianFranceOnyama Limba PROPOSAL
Isabel T FerenczCanadaAnna Fali NEGOTIATION
Claire W MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Silvio I GarufiFranceIvan Magalhaes PROPOSAL
Octavia R GauchoJapanStephen Shaw NEGOTIATION
Kadeem Y ChuiSpainXuxue Feng NEW
Emily U GlickBrazilAmy Elsner NEW
Maisha W RulapaughIndiaIoni Bowcher NEW
Murillo M InouyeCanadaAsiya Javayant NEGOTIATION
Kaitlin M VocelkaSpainElwin Sharvill UNQUALIFIED
Adams L MacleadJapanStephen Shaw NEGOTIATION
Salvatore C FlosiAustraliaElwin Sharvill NEGOTIATION
Jeanfrancois G AmigonRussiaElwin Sharvill NEGOTIATION
Johnson K WieserRussiaStephen Shaw PROPOSAL
Leja I BologniaGermanyXuxue Feng RENEWAL
Julie V MorascaIndiaOnyama Limba RENEWAL
Murillo G RoysterFranceXuxue Feng UNQUALIFIED
Emily T ButtArgentinaIoni Bowcher UNQUALIFIED
Antonio F AlbaresFranceIvan Magalhaes NEGOTIATION
Julie L RoysterUnited KingdomXuxue Feng QUALIFIED
Smith G StensethItalyStephen Shaw PROPOSAL
Cody S ChuiIndiaAnna Fali QUALIFIED
Antonio R MaletGermanyElwin Sharvill NEGOTIATION
Aruna B BowleyIndiaAsiya Javayant NEGOTIATION
Morrow U GlickJapanElwin Sharvill PROPOSAL
Arvin H RulapaughIndiaAnna Fali NEW
Maisha C NickaBrazilOnyama Limba QUALIFIED
Claire G PoquetteIndiaStephen Shaw UNQUALIFIED
Maisha D TollnerArgentinaIoni Bowcher NEW
Maria X ButtBrazilAmy Elsner UNQUALIFIED
Deepesh Q NickaCanadaStephen Shaw QUALIFIED
Wickens O CaldareraGermanyIvan Magalhaes NEW
Ashley H FigeroaAustraliaIvan Magalhaes PROPOSAL
Jefferson D PoquetteIndiaBernardo Dominic RENEWAL
Jennifer U RoysterItalyOnyama Limba NEGOTIATION
Smith M RoysterCanadaIoni Bowcher NEW
Cody C RutaBrazilIoni Bowcher NEGOTIATION
Octavia N TollnerCanadaOnyama Limba UNQUALIFIED
Leon Y CaudyIndiaAsiya Javayant UNQUALIFIED
Jones F IturbideIndiaBernardo Dominic RENEWAL
Julie X VocelkaItalyAmy Elsner NEW
Aditya V InouyeAustraliaOnyama Limba NEW
Costa G OstroskyGermanyAsiya Javayant PROPOSAL
Aika L PoquetteUnited KingdomOnyama Limba UNQUALIFIED
Misaki G RulapaughFranceAnna Fali RENEWAL
Aditya F RulapaughArgentinaIvan Magalhaes QUALIFIED
Smith L CaldareraItalyAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci L VenereSpainIoni Bowcher NEW
Emily K IturbideItalyBernardo Dominic PROPOSAL
Emily N IturbideIndiaOnyama Limba RENEWAL
Antonio B NickaBrazilAsiya Javayant RENEWAL
Ivar S BowleyItalyStephen Shaw UNQUALIFIED
Morrow A GarufiSpainStephen Shaw NEGOTIATION
Julie B RimAustraliaIvan Magalhaes RENEWAL
Stacey X WhobreyArgentinaXuxue Feng UNQUALIFIED
Misaki P MaletAustraliaAnna Fali UNQUALIFIED
Kaitlin M OldroydIndiaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel V MaletCanada2025-07-20Buckley Miller Wright UNQUALIFIED99Asiya Javayant
1001Mujtaba P SlusarskiBrazil2025-08-05Printing Dimensions UNQUALIFIED90Elwin Sharvill
1002Arvin T PoquetteAustralia2025-07-20Rangoni Of Florence NEGOTIATION24Stephen Shaw
1003Kaitlin X GillianJapan2025-07-17Rousseaux, Michael Esq NEGOTIATION40Onyama Limba
1004Leon J DoeAustralia2025-07-18Printing Dimensions PROPOSAL75Anna Fali
1005Wickens E KuskoArgentina2025-07-27Chapman, Ross E Esq NEGOTIATION42Onyama Limba
1006Juan D GarufiGermany2025-07-21Buckley Miller Wright QUALIFIED8Onyama Limba
1007James Z CaldareraJapan2025-07-28Morlong Associates QUALIFIED74Bernardo Dominic
1008Leja U RoysterGermany2025-07-27Rousseaux, Michael Esq UNQUALIFIED15Amy Elsner
1009Kadeem X OldroydIndia2025-07-17Feiner Bros UNQUALIFIED36Stephen Shaw
1010Emily E FlosiSpain2025-08-09Feltz Printing Service PROPOSAL6Ioni Bowcher
1011Octavia I RoysterBrazil2025-07-27Rousseaux, Michael Esq UNQUALIFIED31Bernardo Dominic
1012Murillo O ChuiSpain2025-07-19Benton, John B Jr PROPOSAL43Bernardo Dominic
1013Greenwood D PaprockiIndia2025-07-21Rangoni Of Florence PROPOSAL84Bernardo Dominic
1014Emily D GarufiAustralia2025-08-12King, Christopher A Esq QUALIFIED13Elwin Sharvill
1015Francesco O ButtItaly2025-07-30Buckley Miller Wright UNQUALIFIED61Ivan Magalhaes
1016Jones M KuskoAustralia2025-08-08Rangoni Of Florence RENEWAL71Ioni Bowcher
1017Wickens E FigeroaGermany2025-07-20Printing Dimensions UNQUALIFIED40Bernardo Dominic
1018Morrow W AmigonArgentina2025-07-28Morlong Associates UNQUALIFIED65Stephen Shaw
1019Greenwood T MaletSpain2025-08-12Dorl, James J Esq UNQUALIFIED80Elwin Sharvill
1020Murillo J RoysterAustralia2025-07-18Truhlar And Truhlar Attys PROPOSAL10Xuxue Feng
1021Julie V GillianSpain2025-08-12King, Christopher A Esq UNQUALIFIED20Onyama Limba
1022Mujtaba B OstroskyCanada2025-07-23Feltz Printing Service PROPOSAL7Onyama Limba
1023Kadeem I CaudyUnited Kingdom2025-08-04Chanay, Jeffrey A Esq NEGOTIATION33Elwin Sharvill
1024Murillo H DarakjyJapan2025-07-25Feiner Bros PROPOSAL88Onyama Limba
1025Mujtaba C AlbaresSpain2025-07-25Buckley Miller Wright RENEWAL62Stephen Shaw
1026Julie U SaylorsRussia2025-07-17Chemel, James L Cpa NEW13Elwin Sharvill
1027Julie P CaudyAustralia2025-07-26Morlong Associates UNQUALIFIED2Elwin Sharvill
1028Wickens Q InouyeBrazil2025-08-03Commercial Press PROPOSAL19Ioni Bowcher
1029Clifford V OstroskyAustralia2025-07-26Truhlar And Truhlar Attys NEW64Anna Fali
1030Jefferson G MaletCanada2025-07-22Morlong Associates UNQUALIFIED15Elwin Sharvill
1031Silvio K SchemmerJapan2025-08-07Chapman, Ross E Esq NEW41Onyama Limba
1032Octavia G OstroskyFrance2025-08-07Feltz Printing Service NEGOTIATION17Asiya Javayant
1033Murillo V WhobreyGermany2025-07-14Printing Dimensions PROPOSAL48Anna Fali
1034Wickens H SchemmerBrazil2025-07-16Feltz Printing Service UNQUALIFIED79Onyama Limba
1035Maria U RoysterFrance2025-07-31Commercial Press QUALIFIED85Stephen Shaw
1036Faith J GauchoItaly2025-07-19Chanay, Jeffrey A Esq UNQUALIFIED11Asiya Javayant
1037Leja W PerinFrance2025-08-05Dorl, James J Esq RENEWAL83Ioni Bowcher
1038Nicolas A FigeroaArgentina2025-07-16Feiner Bros QUALIFIED26Ioni Bowcher
1039Morrow B RimBrazil2025-07-15Feiner Bros RENEWAL62Stephen Shaw
1040Francesco P MaletIndia2025-08-02Chapman, Ross E Esq UNQUALIFIED0Onyama Limba
1041Leja R MarrierIndia2025-07-26Benton, John B Jr PROPOSAL89Bernardo Dominic
1042Emily Z RutaRussia2025-08-06Rousseaux, Michael Esq NEW54Amy Elsner
1043Greenwood L BowleyIndia2025-07-24Truhlar And Truhlar Attys NEW14Amy Elsner
1044Darci D PaprockiItaly2025-08-11Commercial Press NEW18Amy Elsner
1045Mujtaba J VocelkaArgentina2025-07-14Dorl, James J Esq QUALIFIED24Xuxue Feng
1046Kadeem X BowleyGermany2025-08-09Morlong Associates QUALIFIED24Stephen Shaw
1047Antonio K FlosiBrazil2025-07-30King, Christopher A Esq UNQUALIFIED49Stephen Shaw
1048Jones M VenereUnited Kingdom2025-08-08Buckley Miller Wright QUALIFIED99Onyama Limba
1049Salvatore C SergiArgentina2025-07-16Benton, John B Jr UNQUALIFIED74Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ashley M RimCanadaBernardo Dominic QUALIFIED
Morrow U MarrierIndiaOnyama Limba NEGOTIATION
Adams U FerenczCanadaIoni Bowcher UNQUALIFIED
Cody M InouyeItalyAmy Elsner PROPOSAL
Johnson C DoeUnited KingdomIvan Magalhaes NEGOTIATION
Isabel M CampainArgentinaStephen Shaw QUALIFIED
Rodrigues Z MarrierSpainIoni Bowcher RENEWAL
Darci G MacleadUnited KingdomIvan Magalhaes NEW
Ivar Y WhobreyArgentinaAmy Elsner NEGOTIATION
Misaki N SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Julie F MaletGermanyAsiya Javayant NEW
Octavia O MacleadAustraliaAsiya Javayant NEGOTIATION
Greenwood U RimCanadaStephen Shaw QUALIFIED
Claire D ShinkoSpainStephen Shaw PROPOSAL
Emily J OstroskyCanadaIoni Bowcher UNQUALIFIED
Smith X OldroydCanadaAnna Fali UNQUALIFIED
Mayumi Q ShinkoItalyXuxue Feng PROPOSAL
Aruna T MaletRussiaXuxue Feng UNQUALIFIED
Aditya E MaletGermanyBernardo Dominic NEW
Ivar R CaldareraItalyElwin Sharvill PROPOSAL
Octavia W RulapaughIndiaIvan Magalhaes NEW
Antonio R StockhamJapanOnyama Limba PROPOSAL
Misaki Z KuskoRussiaStephen Shaw NEW
Stacey U ShinkoFranceIvan Magalhaes QUALIFIED
Ashley K MaletCanadaOnyama Limba RENEWAL
Darci R FlosiArgentinaAnna Fali PROPOSAL
Francesco X CampainIndiaXuxue Feng RENEWAL
Adams A FigeroaArgentinaBernardo Dominic UNQUALIFIED
Salvatore G RulapaughGermanyIvan Magalhaes QUALIFIED
Juan F NickaGermanyAsiya Javayant PROPOSAL
Greenwood B TollnerArgentinaIvan Magalhaes NEW
Faith Q MaletFranceAmy Elsner QUALIFIED
Maria J DoeSpainAmy Elsner QUALIFIED
Juan Y MaletGermanyStephen Shaw NEW
Stacey V WieserCanadaElwin Sharvill NEW
Kadeem L PaprockiRussiaIvan Magalhaes PROPOSAL
Munro W SergiUnited KingdomAnna Fali NEW
Kadeem G CaudyGermanyAsiya Javayant PROPOSAL
James U VenereJapanElwin Sharvill NEGOTIATION
Mayumi T VenereGermanyIoni Bowcher NEGOTIATION
Tony X ChuiUnited KingdomStephen Shaw QUALIFIED
Mayumi N PerinItalyAmy Elsner NEGOTIATION
Munro I VocelkaBrazilAnna Fali PROPOSAL
Wickens F DilliardSpainXuxue Feng QUALIFIED
James T RutaBrazilAnna Fali PROPOSAL
Darci T FigeroaBrazilBernardo Dominic NEGOTIATION
Aika Y SchemmerAustraliaIvan Magalhaes RENEWAL
Jefferson A KolmetzBrazilAmy Elsner RENEWAL
Antonio Z NestleCanadaStephen Shaw RENEWAL
Silvio T MorascaCanadaOnyama Limba NEW
Frozen Columns
Name
Rodrigues B Tollner
Octavia Y Ostrosky
Leja W Schemmer
Kaitlin P Campain
Ivar X Bowley
Jefferson E Caudy
Maria Q Ostrosky
Ivar L Slusarski
Aruna D Schemmer
Aditya Q Butt
Johnson M Vocelka
Leon F Caudy
Sinclair H Ruta
Leja H Wieser
Deepesh B Iturbide
Faith B Garufi
Deepesh Q Morasca
Nicolas S Glick
Jeanfrancois X Nestle
Silvio B Vocelka
Arvin T Glick
Morrow U Waycott
Cody M Vocelka
Ashley F Bolognia
Silvio L Slusarski
Aditya U Nestle
Smith K Iturbide
Claire B Figeroa
Murillo N Slusarski
Salvatore V Foller
Jeanfrancois I Stenseth
James F Nestle
David G Saylors
Mayumi P Inouye
Alejandro N Waycott
Jefferson E Foller
James B Shinko
Aditya L Maclead
Maisha K Vocelka
Izzy I Figeroa
Stacey X Garufi
Clifford B Saylors
Jennifer X Bowley
Greenwood Q Rim
Jones F Bowley
Greenwood K Ferencz
Morrow I Morasca
Octavia U Kusko
Cody C Ruta
Mayumi G Malet
IdCountryDate
1000Brazil2025-07-21
1001France2025-07-16
1002Brazil2025-07-26
1003Australia2025-08-03
1004Argentina2025-07-25
1005Australia2025-07-25
1006Australia2025-07-15
1007Brazil2025-07-27
1008France2025-08-02
1009Brazil2025-08-12
1010Japan2025-07-19
1011Germany2025-07-20
1012Russia2025-08-12
1013Brazil2025-08-08
1014Argentina2025-07-24
1015France2025-07-29
1016Russia2025-07-22
1017Canada2025-07-19
1018Canada2025-07-15
1019Canada2025-07-30
1020Russia2025-08-06
1021Japan2025-07-18
1022Russia2025-08-01
1023Canada2025-07-14
1024Italy2025-08-11
1025India2025-07-17
1026Germany2025-07-18
1027Spain2025-07-22
1028United Kingdom2025-08-03
1029Spain2025-08-05
1030Japan2025-07-14
1031Canada2025-08-02
1032Brazil2025-07-16
1033Brazil2025-08-02
1034United Kingdom2025-08-03
1035France2025-07-14
1036Spain2025-07-25
1037France2025-07-14
1038Canada2025-08-04
1039United Kingdom2025-07-19
1040United Kingdom2025-08-01
1041Australia2025-07-28
1042United Kingdom2025-07-29
1043Canada2025-07-20
1044India2025-08-10
1045Germany2025-07-15
1046Canada2025-07-27
1047Russia2025-07-21
1048Germany2025-08-10
1049Australia2025-08-05

On-Demand Data

NameIdCountryDate
Darci R Wieser1000Italy2025-07-16
Isabel J Slusarski1001Brazil2025-07-17
Chavez U Briddick1002Argentina2025-07-30
Stacey G Iturbide1003France2025-08-12
Murillo C Ferencz1004Germany2025-07-16
Rodrigues E Caudy1005Italy2025-07-23
Murillo L Albares1006India2025-07-23
Emily U Darakjy1007Russia2025-07-14
Ricardo Q Briddick1008Argentina2025-08-12
Claire L Schemmer1009India2025-07-14
Jefferson V Inouye1010Italy2025-08-05
Kadeem N Slusarski1011Italy2025-07-31
Wickens W Wieser1012Argentina2025-08-12
Cody F Waycott1013Brazil2025-07-26
Smith O Oldroyd1014France2025-08-08
Misaki X Maclead1015Australia2025-08-08
James Z Morasca1016United Kingdom2025-07-17
Jennifer M Slusarski1017Brazil2025-07-19
Wickens N Campain1018Germany2025-08-09
Faith O Oldroyd1019Spain2025-07-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody Z IturbideFranceAsiya Javayant NEW
Smith Y ChuiFranceElwin Sharvill PROPOSAL
Johnson R CaldareraFranceAsiya Javayant UNQUALIFIED
Maisha S VenereGermanyAnna Fali NEGOTIATION
Aruna O PoquetteUnited KingdomXuxue Feng QUALIFIED
Maisha H NestleJapanIvan Magalhaes RENEWAL
Emily K DarakjyArgentinaElwin Sharvill UNQUALIFIED
Smith Z FollerJapanAnna Fali UNQUALIFIED
Kaitlin S GlickIndiaAnna Fali NEW
Wickens L GarufiRussiaBernardo Dominic QUALIFIED
Aruna F KolmetzUnited KingdomBernardo Dominic NEGOTIATION
Maria T CaldareraArgentinaIoni Bowcher NEW
James T SlusarskiBrazilElwin Sharvill QUALIFIED
Smith W CaldareraSpainBernardo Dominic NEW
Darci Y DoeJapanIvan Magalhaes UNQUALIFIED
Munro F DoeIndiaIoni Bowcher QUALIFIED
James I SaylorsGermanyAnna Fali RENEWAL
Deepesh B StockhamGermanyIvan Magalhaes RENEWAL
Ivar E OstroskyCanadaOnyama Limba NEW
Silvio K BriddickJapanBernardo Dominic RENEWAL
Aditya V KuskoCanadaAnna Fali UNQUALIFIED
Murillo K AmigonAustraliaBernardo Dominic NEGOTIATION
Cody G OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Silvio N MaletSpainBernardo Dominic RENEWAL
Rodrigues C SaylorsArgentinaStephen Shaw QUALIFIED
Cody B WaycottRussiaStephen Shaw NEGOTIATION
Aika T SchemmerJapanStephen Shaw NEGOTIATION
Mujtaba Y BowleyIndiaAnna Fali UNQUALIFIED
Kadeem U ShinkoItalyBernardo Dominic NEGOTIATION
Clifford Z CaudyAustraliaIoni Bowcher NEGOTIATION
Adams Y MacleadItalyAmy Elsner QUALIFIED
Alejandro K MaletUnited KingdomIvan Magalhaes NEW
Leja H MorascaItalyOnyama Limba NEGOTIATION
Antonio R FollerBrazilStephen Shaw QUALIFIED
Alejandro U FlosiSpainOnyama Limba NEW
Kadeem O BowleyRussiaBernardo Dominic PROPOSAL
Aruna J WaycottCanadaBernardo Dominic QUALIFIED
Adams P ChuiJapanAnna Fali PROPOSAL
Faith H SergiUnited KingdomAsiya Javayant QUALIFIED
Arvin K WaycottRussiaAmy Elsner RENEWAL

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