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
Julie J MarrierIndiaStephen Shaw RENEWAL
Octavia T WieserBrazilAsiya Javayant RENEWAL
Octavia O WhobreyArgentinaIvan Magalhaes PROPOSAL
Adams F KuskoAustraliaXuxue Feng NEGOTIATION
Octavia F NickaArgentinaAmy Elsner NEGOTIATION
Arvin Q GauchoBrazilBernardo Dominic UNQUALIFIED
Johnson G FlosiGermanyOnyama Limba PROPOSAL
Wickens K FigeroaFranceBernardo Dominic UNQUALIFIED
Kadeem B WieserIndiaOnyama Limba QUALIFIED
Alejandro Q GillianFranceElwin Sharvill UNQUALIFIED
Jennifer K RoysterUnited KingdomAmy Elsner UNQUALIFIED
Ivar Y BriddickItalyBernardo Dominic NEGOTIATION
Aditya B SchemmerGermanyIvan Magalhaes NEGOTIATION
Kadeem R RoysterRussiaElwin Sharvill UNQUALIFIED
Kaitlin Y MaletBrazilIoni Bowcher RENEWAL
Ashley S MacleadBrazilXuxue Feng QUALIFIED
Arvin N FollerItalyXuxue Feng QUALIFIED
Aruna W WhobreyCanadaAnna Fali UNQUALIFIED
Jefferson J CaudyBrazilElwin Sharvill QUALIFIED
Johnson I CaldareraArgentinaIoni Bowcher NEGOTIATION
Leon M CampainFranceIvan Magalhaes QUALIFIED
Antonio K RoysterGermanyIvan Magalhaes NEW
Clifford G RoysterItalyXuxue Feng RENEWAL
Sinclair X AmigonIndiaIoni Bowcher RENEWAL
Darci G FerenczCanadaBernardo Dominic PROPOSAL
Murillo U MaletIndiaBernardo Dominic RENEWAL
Munro F AlbaresAustraliaElwin Sharvill NEGOTIATION
Salvatore S VocelkaSpainBernardo Dominic UNQUALIFIED
Kaitlin M GillianRussiaAmy Elsner UNQUALIFIED
Aruna B FerenczBrazilAmy Elsner QUALIFIED
Cody X GillianAustraliaXuxue Feng UNQUALIFIED
Octavia Z OstroskyBrazilAmy Elsner RENEWAL
Aruna C BriddickRussiaIvan Magalhaes NEGOTIATION
Tony J FlosiGermanyAsiya Javayant PROPOSAL
Adams P MacleadRussiaIoni Bowcher QUALIFIED
Faith A PaprockiJapanIoni Bowcher NEW
Nicolas U WhobreyItalyBernardo Dominic PROPOSAL
Leon X PaprockiCanadaXuxue Feng NEGOTIATION
Juan H SergiBrazilOnyama Limba NEGOTIATION
Alejandro E SchemmerBrazilIoni Bowcher UNQUALIFIED
Ricardo J SaylorsItalyIoni Bowcher NEW
Arvin M ButtArgentinaElwin Sharvill PROPOSAL
Maria N SergiArgentinaIvan Magalhaes NEW
Johnson K RutaAustraliaBernardo Dominic UNQUALIFIED
Cody Y FigeroaItalyOnyama Limba NEGOTIATION
Jefferson E KolmetzArgentinaElwin Sharvill UNQUALIFIED
James D StensethIndiaIoni Bowcher PROPOSAL
Claire G GauchoUnited KingdomIoni Bowcher PROPOSAL
Ivar M InouyeAustraliaElwin Sharvill RENEWAL
Adams T FlosiIndiaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois H FollerBrazilIvan Magalhaes NEW
Darci Z PaprockiRussiaAsiya Javayant PROPOSAL
Jennifer E CampainFranceBernardo Dominic NEW
Tony B SaylorsRussiaAnna Fali UNQUALIFIED
Chavez O NickaUnited KingdomIvan Magalhaes UNQUALIFIED
Mayumi J VenereIndiaOnyama Limba QUALIFIED
Aika I SchemmerCanadaBernardo Dominic RENEWAL
Kadeem N VocelkaUnited KingdomOnyama Limba NEW
Johnson K KolmetzBrazilAnna Fali UNQUALIFIED
Wickens S MarrierRussiaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa G VenereRussia2025-07-18Chemel, James L Cpa UNQUALIFIED50Ioni Bowcher
1001Greenwood J BologniaUnited Kingdom2025-07-25Printing Dimensions RENEWAL79Xuxue Feng
1002Chavez J KuskoCanada2025-08-03Printing Dimensions UNQUALIFIED38Stephen Shaw
1003Munro T KuskoRussia2025-07-14Chapman, Ross E Esq UNQUALIFIED78Bernardo Dominic
1004Wickens O BriddickGermany2025-07-15Feltz Printing Service NEGOTIATION92Ioni Bowcher
1005Kaitlin A GauchoAustralia2025-08-04Printing Dimensions UNQUALIFIED0Xuxue Feng
1006Leon G PaprockiAustralia2025-07-11Rousseaux, Michael Esq PROPOSAL7Amy Elsner
1007Aruna R RimUnited Kingdom2025-07-23Truhlar And Truhlar Attys NEGOTIATION70Asiya Javayant
1008Mujtaba A WaycottItaly2025-07-17Chanay, Jeffrey A Esq NEGOTIATION44Stephen Shaw
1009Arvin E FerenczBrazil2025-08-03Feiner Bros UNQUALIFIED89Xuxue Feng
1010Smith O BowleyRussia2025-07-12Rangoni Of Florence UNQUALIFIED91Anna Fali
1011James E SchemmerUnited Kingdom2025-07-11Feltz Printing Service NEGOTIATION31Bernardo Dominic
1012Aditya Z DarakjyBrazil2025-07-23Truhlar And Truhlar Attys NEGOTIATION62Elwin Sharvill
1013Munro Z MarrierGermany2025-07-11Chemel, James L Cpa NEGOTIATION76Anna Fali
1014Kaitlin P ShinkoSpain2025-07-26Printing Dimensions RENEWAL84Anna Fali
1015Costa T WieserSpain2025-07-09Benton, John B Jr QUALIFIED98Anna Fali
1016Darci P InouyeJapan2025-07-08Feltz Printing Service RENEWAL97Ivan Magalhaes
1017Aditya J NestleBrazil2025-07-25Rangoni Of Florence NEGOTIATION53Ioni Bowcher
1018Emily X KuskoJapan2025-07-20Rousseaux, Michael Esq NEGOTIATION15Bernardo Dominic
1019Kadeem R FerenczGermany2025-07-17Chemel, James L Cpa PROPOSAL56Ivan Magalhaes
1020Jennifer W VenereUnited Kingdom2025-07-08Benton, John B Jr NEW54Ivan Magalhaes
1021Aditya U ChuiIndia2025-07-14Feiner Bros RENEWAL16Onyama Limba
1022Sinclair C SaylorsFrance2025-07-24Benton, John B Jr NEGOTIATION2Asiya Javayant
1023Murillo J DarakjyCanada2025-08-03Dorl, James J Esq UNQUALIFIED74Asiya Javayant
1024Rodrigues A WaycottJapan2025-07-28King, Christopher A Esq NEW60Elwin Sharvill
1025Alejandro C GlickAustralia2025-07-15Feltz Printing Service NEGOTIATION56Ivan Magalhaes
1026Ricardo F CaudyItaly2025-07-25Truhlar And Truhlar Attys NEW89Onyama Limba
1027Maria I BriddickUnited Kingdom2025-07-23King, Christopher A Esq RENEWAL21Stephen Shaw
1028Claire W WaycottJapan2025-07-24Chemel, James L Cpa PROPOSAL5Bernardo Dominic
1029Cody I GauchoGermany2025-07-23Chemel, James L Cpa NEGOTIATION24Onyama Limba
1030Leon S VenereCanada2025-07-15Printing Dimensions PROPOSAL82Ivan Magalhaes
1031Aika K ButtFrance2025-08-02Morlong Associates QUALIFIED38Onyama Limba
1032Maisha U BowleyAustralia2025-07-21Morlong Associates PROPOSAL10Asiya Javayant
1033Clifford K DarakjyBrazil2025-07-28Rousseaux, Michael Esq QUALIFIED9Elwin Sharvill
1034David G WaycottSpain2025-07-30Chemel, James L Cpa RENEWAL60Asiya Javayant
1035Francesco S CampainUnited Kingdom2025-07-13Morlong Associates NEGOTIATION37Onyama Limba
1036Faith Z RulapaughUnited Kingdom2025-07-07Feltz Printing Service UNQUALIFIED26Stephen Shaw
1037Rodrigues Z BologniaAustralia2025-07-12Buckley Miller Wright QUALIFIED32Elwin Sharvill
1038Chavez Z CaldareraItaly2025-07-30King, Christopher A Esq NEW78Bernardo Dominic
1039Octavia P MaletUnited Kingdom2025-08-01Printing Dimensions NEGOTIATION70Elwin Sharvill
1040Faith J CaudyUnited Kingdom2025-07-08Rousseaux, Michael Esq PROPOSAL35Anna Fali
1041Mayumi U MaletJapan2025-07-29Rangoni Of Florence QUALIFIED33Onyama Limba
1042Izzy Z StensethBrazil2025-07-23Feiner Bros QUALIFIED90Xuxue Feng
1043Salvatore O TollnerAustralia2025-07-17Chemel, James L Cpa UNQUALIFIED50Asiya Javayant
1044Munro W MarrierArgentina2025-07-29Buckley Miller Wright RENEWAL5Xuxue Feng
1045Leon H SchemmerCanada2025-07-20Rangoni Of Florence QUALIFIED0Anna Fali
1046Leja B InouyeIndia2025-07-21Truhlar And Truhlar Attys UNQUALIFIED19Bernardo Dominic
1047Ashley B OldroydJapan2025-07-19Commercial Press PROPOSAL35Bernardo Dominic
1048Misaki Z CaudyArgentina2025-07-14Rousseaux, Michael Esq NEW71Elwin Sharvill
1049Aditya V StensethGermany2025-07-18Benton, John B Jr NEW97Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Claire B InouyeSpainStephen Shaw UNQUALIFIED
Izzy V BriddickBrazilAnna Fali NEGOTIATION
Juan B MacleadSpainAmy Elsner PROPOSAL
Darci E KolmetzArgentinaAnna Fali NEW
Deepesh G GarufiItalyAsiya Javayant NEGOTIATION
David C MaletArgentinaIoni Bowcher QUALIFIED
Jones Z SergiArgentinaElwin Sharvill QUALIFIED
Maria M GarufiArgentinaAmy Elsner NEGOTIATION
Clifford K GarufiArgentinaElwin Sharvill NEGOTIATION
Kaitlin J PoquetteIndiaStephen Shaw NEW
David Q WieserIndiaOnyama Limba PROPOSAL
Jennifer D MorascaItalyStephen Shaw PROPOSAL
Izzy Y StensethJapanAsiya Javayant NEGOTIATION
Isabel R PaprockiGermanyIoni Bowcher RENEWAL
Kadeem P FlosiGermanyAsiya Javayant RENEWAL
Leon A GillianSpainBernardo Dominic NEGOTIATION
Misaki E SergiFranceElwin Sharvill RENEWAL
Mayumi G SchemmerBrazilIoni Bowcher NEGOTIATION
Maisha K OstroskyIndiaOnyama Limba UNQUALIFIED
Costa W PoquetteArgentinaAmy Elsner UNQUALIFIED
Leon S ButtCanadaElwin Sharvill QUALIFIED
Faith W FlosiFranceAmy Elsner PROPOSAL
Faith R KolmetzSpainAnna Fali NEGOTIATION
Salvatore F KolmetzAustraliaOnyama Limba QUALIFIED
Faith R MaletIndiaIoni Bowcher PROPOSAL
Aditya I AlbaresBrazilElwin Sharvill NEGOTIATION
Francesco R SlusarskiUnited KingdomXuxue Feng QUALIFIED
Clifford M SergiJapanAsiya Javayant QUALIFIED
Chavez X InouyeRussiaAmy Elsner QUALIFIED
Ricardo U PoquetteArgentinaIvan Magalhaes PROPOSAL
Antonio W WieserAustraliaOnyama Limba NEGOTIATION
Murillo G OstroskyRussiaOnyama Limba NEW
Leon F SchemmerRussiaOnyama Limba NEGOTIATION
Leja B BriddickUnited KingdomStephen Shaw NEW
Leon H MarrierFranceStephen Shaw NEW
Leon J ChuiRussiaXuxue Feng PROPOSAL
Munro B FlosiIndiaAnna Fali RENEWAL
Claire D KolmetzBrazilOnyama Limba UNQUALIFIED
Jefferson J InouyeItalyIoni Bowcher PROPOSAL
David M NickaAustraliaAnna Fali RENEWAL
David V VocelkaUnited KingdomStephen Shaw NEW
Chavez P FerenczAustraliaIoni Bowcher UNQUALIFIED
Greenwood Q MacleadFranceAsiya Javayant UNQUALIFIED
Octavia W BriddickJapanIvan Magalhaes PROPOSAL
Adams E ButtAustraliaIvan Magalhaes RENEWAL
Ivar V OldroydBrazilAmy Elsner QUALIFIED
Isabel C NestleItalyAnna Fali PROPOSAL
Izzy D VocelkaCanadaOnyama Limba NEW
Emily I DilliardGermanyAmy Elsner RENEWAL
Francesco G SlusarskiBrazilStephen Shaw PROPOSAL
Frozen Columns
Name
Mayumi B Tollner
Maria Z Kolmetz
Cody Y Albares
Mayumi V Whobrey
Octavia G Marrier
Darci Z Figeroa
Sinclair X Slusarski
Faith N Venere
Jeanfrancois B Butt
Isabel H Saylors
Aruna A Stenseth
Faith Y Wieser
Juan B Stockham
Chavez D Foller
Ivar C Nestle
Rodrigues U Ostrosky
Faith R Marrier
Emily R Slusarski
Sinclair F Darakjy
Juan U Tollner
Munro Z Wieser
Ashley D Chui
Tony G Vocelka
Johnson R Waycott
Faith M Stockham
James Q Vocelka
Arvin I Amigon
Cody G Ostrosky
Ashley W Inouye
Jeanfrancois Y Ostrosky
Jones O Royster
Nicolas A Malet
Antonio F Iturbide
Isabel Y Albares
Emily K Shinko
Johnson W Paprocki
Francesco R Inouye
Aika S Sergi
Julie F Morasca
Kadeem V Saylors
Johnson D Shinko
Wickens O Vocelka
Leon F Kusko
Costa M Poquette
Murillo K Rim
David Y Albares
Maria D Ferencz
Jones F Oldroyd
Costa N Figeroa
Sinclair F Dilliard
IdCountryDate
1000Brazil2025-08-02
1001Canada2025-07-22
1002Brazil2025-07-25
1003Japan2025-07-15
1004Italy2025-07-31
1005Italy2025-07-23
1006Russia2025-07-14
1007Japan2025-07-21
1008India2025-07-25
1009France2025-07-26
1010Italy2025-07-07
1011Russia2025-07-14
1012Canada2025-07-24
1013France2025-07-22
1014France2025-07-20
1015Brazil2025-07-27
1016Canada2025-07-20
1017Australia2025-07-21
1018France2025-07-16
1019Argentina2025-07-30
1020Russia2025-07-15
1021Argentina2025-08-01
1022Spain2025-07-16
1023Germany2025-07-31
1024Japan2025-08-02
1025Brazil2025-07-18
1026Australia2025-07-27
1027Italy2025-07-30
1028Russia2025-07-24
1029United Kingdom2025-07-14
1030France2025-07-24
1031Germany2025-07-30
1032Canada2025-07-28
1033Japan2025-07-22
1034Australia2025-07-22
1035Japan2025-07-30
1036Canada2025-07-07
1037Argentina2025-07-19
1038Germany2025-07-06
1039Spain2025-07-31
1040Germany2025-07-19
1041Spain2025-07-15
1042Brazil2025-07-08
1043France2025-07-16
1044Argentina2025-08-02
1045Australia2025-08-04
1046Russia2025-07-29
1047Germany2025-07-26
1048Russia2025-07-14
1049Canada2025-07-15

On-Demand Data

NameIdCountryDate
Kaitlin N Inouye1000Argentina2025-07-13
Cody M Inouye1001Brazil2025-07-22
Jennifer D Rim1002Australia2025-07-06
Aruna U Schemmer1003France2025-07-10
Juan J Doe1004Japan2025-07-17
Kaitlin U Iturbide1005Italy2025-07-16
Octavia I Stenseth1006Italy2025-08-01
James T Whobrey1007Argentina2025-07-09
Jennifer U Garufi1008Argentina2025-08-03
Isabel N Doe1009Australia2025-07-23
Jennifer U Tollner1010France2025-07-22
Leja E Royster1011India2025-07-28
Costa S Gaucho1012India2025-07-11
Aika V Figeroa1013Brazil2025-07-17
Jeanfrancois Z Wieser1014Spain2025-07-28
David Y Morasca1015Argentina2025-07-17
Leon O Royster1016Brazil2025-07-10
Clifford H Rim1017Russia2025-07-28
Francesco R Nestle1018France2025-07-07
Leon L Glick1019Italy2025-07-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco G WhobreyBrazilIoni Bowcher RENEWAL
Aika S MaletGermanyIvan Magalhaes QUALIFIED
Cody U DarakjyJapanBernardo Dominic NEGOTIATION
Morrow U DarakjyFranceAnna Fali RENEWAL
Ricardo T SchemmerItalyBernardo Dominic RENEWAL
Deepesh F MorascaAustraliaAnna Fali NEGOTIATION
Julie B GillianBrazilXuxue Feng NEW
Kaitlin H NickaIndiaAsiya Javayant RENEWAL
Misaki Z FollerIndiaOnyama Limba RENEWAL
Costa A SchemmerJapanOnyama Limba UNQUALIFIED
Antonio M InouyeJapanOnyama Limba NEW
Jennifer Q BowleyJapanElwin Sharvill RENEWAL
Juan S WhobreyCanadaIoni Bowcher RENEWAL
Aruna C GauchoAustraliaOnyama Limba QUALIFIED
Antonio Q DoeFranceOnyama Limba QUALIFIED
Kaitlin H BowleyAustraliaAnna Fali UNQUALIFIED
Nicolas O StensethRussiaAsiya Javayant PROPOSAL
Stacey Z PaprockiIndiaStephen Shaw RENEWAL
Kadeem P ChuiCanadaAsiya Javayant NEGOTIATION
Tony S SlusarskiJapanAmy Elsner RENEWAL
Isabel K GillianRussiaOnyama Limba UNQUALIFIED
Arvin B RulapaughArgentinaAnna Fali UNQUALIFIED
Jones Q SchemmerRussiaElwin Sharvill RENEWAL
Aruna H PoquetteItalyIvan Magalhaes UNQUALIFIED
Salvatore E SchemmerBrazilBernardo Dominic PROPOSAL
Clifford G GarufiUnited KingdomAmy Elsner NEGOTIATION
Julie T ShinkoItalyAnna Fali NEGOTIATION
Aditya I NickaAustraliaBernardo Dominic UNQUALIFIED
Mayumi C PerinArgentinaAsiya Javayant QUALIFIED
Alejandro F KolmetzRussiaAsiya Javayant UNQUALIFIED
Munro H AlbaresItalyOnyama Limba RENEWAL
James P MaletUnited KingdomAnna Fali RENEWAL
Tony W SchemmerItalyAmy Elsner RENEWAL
Salvatore J GauchoRussiaIvan Magalhaes RENEWAL
Aditya N WhobreyItalyIoni Bowcher QUALIFIED
Tony U MorascaUnited KingdomStephen Shaw NEGOTIATION
Faith N MacleadBrazilIvan Magalhaes NEW
Izzy G GlickBrazilElwin Sharvill RENEWAL
Rodrigues A OldroydBrazilIvan Magalhaes UNQUALIFIED
Wickens Q CampainIndiaIoni Bowcher 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>