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
Clifford A GarufiArgentinaIoni Bowcher NEW
David M RoysterAustraliaIoni Bowcher UNQUALIFIED
Stacey U PoquetteJapanAmy Elsner RENEWAL
Misaki Q GauchoAustraliaStephen Shaw QUALIFIED
Cody G NestleBrazilIoni Bowcher NEGOTIATION
Kadeem G WaycottArgentinaStephen Shaw UNQUALIFIED
Julie P DarakjyCanadaAnna Fali NEW
Munro E NickaArgentinaBernardo Dominic UNQUALIFIED
Leja M MarrierJapanBernardo Dominic UNQUALIFIED
Juan M MorascaIndiaAsiya Javayant NEGOTIATION
Chavez Y SlusarskiRussiaOnyama Limba UNQUALIFIED
Clifford O BowleyItalyIvan Magalhaes UNQUALIFIED
Arvin R MarrierItalyAnna Fali RENEWAL
Kaitlin I RimBrazilAmy Elsner NEW
Deepesh H WaycottAustraliaOnyama Limba NEW
Wickens R CampainSpainBernardo Dominic NEW
Murillo D RulapaughBrazilIoni Bowcher NEGOTIATION
Aika Z MarrierArgentinaAmy Elsner RENEWAL
Ricardo C DoeJapanXuxue Feng UNQUALIFIED
Ivar M KolmetzBrazilIoni Bowcher RENEWAL
Aditya E FigeroaSpainOnyama Limba NEGOTIATION
Mayumi H CampainGermanyElwin Sharvill NEW
Wickens X CaudyIndiaAmy Elsner NEW
Munro F NestleCanadaBernardo Dominic NEGOTIATION
David Q AlbaresSpainElwin Sharvill NEW
Sinclair Q NestleIndiaOnyama Limba PROPOSAL
Chavez E WhobreyItalyBernardo Dominic NEGOTIATION
Rodrigues P OldroydBrazilOnyama Limba PROPOSAL
Cody X MaletSpainIvan Magalhaes NEW
Claire O VenereUnited KingdomXuxue Feng NEGOTIATION
Faith K WaycottIndiaElwin Sharvill NEGOTIATION
Jeanfrancois D VocelkaJapanIvan Magalhaes UNQUALIFIED
Claire T CaldareraFranceAsiya Javayant PROPOSAL
Mujtaba X SergiIndiaBernardo Dominic NEW
Aditya M KolmetzRussiaIoni Bowcher NEGOTIATION
Jones I RulapaughCanadaAnna Fali NEGOTIATION
Nicolas P ChuiAustraliaAmy Elsner PROPOSAL
Murillo Y FollerCanadaAnna Fali NEGOTIATION
Emily P GauchoCanadaOnyama Limba QUALIFIED
Mujtaba N WieserFranceXuxue Feng NEW
Sinclair H CampainSpainAsiya Javayant UNQUALIFIED
Mujtaba S CaldareraJapanIvan Magalhaes QUALIFIED
Nicolas T FollerRussiaAsiya Javayant RENEWAL
Aika F StensethUnited KingdomIoni Bowcher QUALIFIED
Johnson X BriddickCanadaStephen Shaw PROPOSAL
Mayumi B RulapaughCanadaBernardo Dominic NEGOTIATION
Leja B ChuiRussiaIvan Magalhaes RENEWAL
Maria T DarakjyFranceAmy Elsner QUALIFIED
Morrow E NestleIndiaXuxue Feng NEGOTIATION
Julie A GauchoSpainBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Aruna J GillianBrazilAmy Elsner QUALIFIED
Aruna C BriddickBrazilXuxue Feng RENEWAL
Deepesh B SaylorsItalyStephen Shaw NEW
Smith X TollnerCanadaIvan Magalhaes RENEWAL
Stacey D StockhamCanadaIvan Magalhaes PROPOSAL
Aruna K SlusarskiRussiaElwin Sharvill UNQUALIFIED
Aruna G BriddickGermanyXuxue Feng NEGOTIATION
Claire R KuskoArgentinaAmy Elsner QUALIFIED
Juan K ShinkoItalyXuxue Feng NEW
Jennifer M RimGermanyIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar G FerenczFrance2025-09-27Chemel, James L Cpa PROPOSAL86Onyama Limba
1001Claire F SlusarskiRussia2025-09-02Chapman, Ross E Esq NEGOTIATION23Elwin Sharvill
1002Greenwood I AmigonAustralia2025-09-26Benton, John B Jr NEGOTIATION95Elwin Sharvill
1003James F VocelkaUnited Kingdom2025-09-29Dorl, James J Esq PROPOSAL76Bernardo Dominic
1004Nicolas T KuskoRussia2025-09-26Printing Dimensions UNQUALIFIED80Ivan Magalhaes
1005Wickens X AmigonArgentina2025-09-10Chapman, Ross E Esq QUALIFIED23Ioni Bowcher
1006Francesco U KolmetzAustralia2025-09-28Chanay, Jeffrey A Esq QUALIFIED72Xuxue Feng
1007Juan D OstroskyIndia2025-09-02Truhlar And Truhlar Attys PROPOSAL22Asiya Javayant
1008Wickens R CaldareraUnited Kingdom2025-09-23Commercial Press RENEWAL76Xuxue Feng
1009Aditya Q GillianFrance2025-09-28King, Christopher A Esq RENEWAL93Elwin Sharvill
1010Maria S VenereBrazil2025-09-05Dorl, James J Esq RENEWAL26Bernardo Dominic
1011Claire O RutaUnited Kingdom2025-09-03Rousseaux, Michael Esq NEGOTIATION5Stephen Shaw
1012Greenwood S OstroskyBrazil2025-09-03Chemel, James L Cpa NEW37Anna Fali
1013David G OldroydBrazil2025-08-31Rangoni Of Florence NEW46Onyama Limba
1014Aruna I MarrierGermany2025-09-13King, Christopher A Esq NEGOTIATION71Stephen Shaw
1015Jefferson O AlbaresArgentina2025-09-19Chapman, Ross E Esq QUALIFIED7Stephen Shaw
1016Morrow U ChuiGermany2025-09-22Truhlar And Truhlar Attys UNQUALIFIED40Elwin Sharvill
1017Deepesh R MarrierUnited Kingdom2025-09-24Benton, John B Jr NEGOTIATION29Onyama Limba
1018Leon Q PaprockiJapan2025-09-21Benton, John B Jr UNQUALIFIED98Xuxue Feng
1019Alejandro E IturbideAustralia2025-09-19Chapman, Ross E Esq QUALIFIED22Amy Elsner
1020Salvatore N FlosiRussia2025-09-15Chapman, Ross E Esq NEW17Xuxue Feng
1021Maria S SergiAustralia2025-09-06Truhlar And Truhlar Attys QUALIFIED67Xuxue Feng
1022Antonio Y BowleyGermany2025-09-20King, Christopher A Esq PROPOSAL21Amy Elsner
1023Emily I GauchoUnited Kingdom2025-09-19King, Christopher A Esq UNQUALIFIED25Stephen Shaw
1024Adams M BowleyRussia2025-09-06Feltz Printing Service NEW35Anna Fali
1025Alejandro O SergiArgentina2025-09-09Feiner Bros QUALIFIED73Amy Elsner
1026Claire I IturbideFrance2025-09-29King, Christopher A Esq PROPOSAL13Xuxue Feng
1027Clifford Y OldroydAustralia2025-08-31Benton, John B Jr RENEWAL51Xuxue Feng
1028Arvin V FigeroaRussia2025-09-14Commercial Press NEW12Anna Fali
1029Octavia Q RutaCanada2025-09-03King, Christopher A Esq QUALIFIED7Elwin Sharvill
1030Sinclair P RimIndia2025-09-27Rangoni Of Florence NEGOTIATION74Bernardo Dominic
1031Julie I AmigonBrazil2025-09-23Printing Dimensions PROPOSAL52Elwin Sharvill
1032Claire J KolmetzSpain2025-09-15Chapman, Ross E Esq PROPOSAL50Elwin Sharvill
1033Darci B CaldareraFrance2025-09-11Rousseaux, Michael Esq QUALIFIED43Ioni Bowcher
1034Smith F VocelkaRussia2025-09-08Printing Dimensions RENEWAL85Ioni Bowcher
1035Munro R DoeGermany2025-09-25Feltz Printing Service NEGOTIATION38Ivan Magalhaes
1036Isabel G ShinkoItaly2025-09-08Chemel, James L Cpa RENEWAL87Ioni Bowcher
1037Tony K PerinBrazil2025-08-31Chemel, James L Cpa QUALIFIED33Amy Elsner
1038Aika I CampainBrazil2025-09-02Dorl, James J Esq NEW19Bernardo Dominic
1039Ashley D ChuiRussia2025-09-23Printing Dimensions RENEWAL98Ioni Bowcher
1040Claire K RimGermany2025-09-07Rousseaux, Michael Esq NEGOTIATION8Ivan Magalhaes
1041Johnson N DarakjyBrazil2025-09-05Truhlar And Truhlar Attys NEGOTIATION81Xuxue Feng
1042Leja Q RoysterGermany2025-09-27Commercial Press PROPOSAL99Bernardo Dominic
1043Jeanfrancois W StockhamJapan2025-09-09Dorl, James J Esq UNQUALIFIED25Onyama Limba
1044Darci E MarrierGermany2025-09-05Rangoni Of Florence PROPOSAL15Ivan Magalhaes
1045Francesco S RimGermany2025-09-09Dorl, James J Esq RENEWAL90Ivan Magalhaes
1046Johnson C SergiArgentina2025-09-21Commercial Press RENEWAL67Onyama Limba
1047James X PaprockiJapan2025-09-19Feiner Bros NEGOTIATION43Stephen Shaw
1048Adams H WaycottGermany2025-09-20Benton, John B Jr RENEWAL43Anna Fali
1049Murillo W FlosiAustralia2025-09-17Buckley Miller Wright NEW98Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba B NickaSpainAnna Fali PROPOSAL
Julie P VocelkaFranceIoni Bowcher RENEWAL
Jones G SergiRussiaStephen Shaw UNQUALIFIED
Wickens X MorascaAustraliaIoni Bowcher RENEWAL
Kaitlin V WhobreyJapanAnna Fali UNQUALIFIED
Jeanfrancois I OstroskyUnited KingdomIoni Bowcher RENEWAL
Aruna W GillianCanadaIoni Bowcher NEW
Mayumi R FollerAustraliaStephen Shaw RENEWAL
Claire U FlosiItalyXuxue Feng RENEWAL
Maisha B IturbideJapanStephen Shaw UNQUALIFIED
Costa K VocelkaRussiaAnna Fali NEGOTIATION
Sinclair M MorascaArgentinaAmy Elsner UNQUALIFIED
Ricardo G AlbaresUnited KingdomStephen Shaw NEGOTIATION
Salvatore I PaprockiCanadaBernardo Dominic UNQUALIFIED
Cody I MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey F AmigonAustraliaAmy Elsner RENEWAL
Kadeem Y GarufiSpainOnyama Limba QUALIFIED
Chavez V AmigonJapanAnna Fali QUALIFIED
Claire E RimIndiaIvan Magalhaes NEW
Octavia R PerinAustraliaIoni Bowcher RENEWAL
Murillo V NickaAustraliaElwin Sharvill NEW
Izzy T WhobreyBrazilElwin Sharvill NEGOTIATION
Arvin L BologniaUnited KingdomAmy Elsner UNQUALIFIED
Faith T GillianGermanyOnyama Limba QUALIFIED
Mujtaba E VocelkaSpainAmy Elsner NEW
Maisha D WhobreyArgentinaBernardo Dominic RENEWAL
Leon G GarufiFranceAnna Fali PROPOSAL
Silvio P PerinArgentinaOnyama Limba UNQUALIFIED
Costa K DarakjyRussiaBernardo Dominic NEGOTIATION
Juan W IturbideArgentinaIoni Bowcher PROPOSAL
Aruna P InouyeFranceAnna Fali RENEWAL
Deepesh G WaycottAustraliaIoni Bowcher NEW
Morrow Z BriddickArgentinaXuxue Feng RENEWAL
Maria R FerenczUnited KingdomXuxue Feng NEGOTIATION
James E RutaArgentinaIoni Bowcher UNQUALIFIED
Maisha U OstroskySpainBernardo Dominic NEGOTIATION
Ricardo F SergiArgentinaAnna Fali NEGOTIATION
Emily E RutaCanadaOnyama Limba NEW
Cody K OstroskySpainXuxue Feng UNQUALIFIED
Isabel E GarufiIndiaAnna Fali NEGOTIATION
Juan K GarufiSpainAsiya Javayant NEGOTIATION
Chavez Q RoysterGermanyAnna Fali QUALIFIED
Octavia J GarufiArgentinaIoni Bowcher QUALIFIED
Adams J FerenczJapanIoni Bowcher NEW
Jennifer A WhobreyArgentinaElwin Sharvill QUALIFIED
Sinclair G RoysterRussiaXuxue Feng PROPOSAL
Greenwood K VocelkaCanadaElwin Sharvill PROPOSAL
Julie N StensethGermanyAsiya Javayant NEGOTIATION
Salvatore C StensethGermanyBernardo Dominic NEGOTIATION
Nicolas P MarrierArgentinaStephen Shaw PROPOSAL
Frozen Columns
Name
Mayumi J Campain
Nicolas J Ostrosky
Greenwood S Waycott
Costa M Ferencz
Munro P Venere
Claire K Schemmer
Jones K Malet
Ashley U Waycott
Faith F Briddick
Adams C Marrier
Mayumi I Rim
Murillo V Stenseth
Arvin V Venere
Cody B Amigon
Wickens G Whobrey
Smith B Foller
James Y Caudy
Antonio P Gaucho
Nicolas O Chui
Darci K Morasca
Morrow I Glick
Morrow P Dilliard
Clifford T Figeroa
Ivar K Slusarski
Cody P Caudy
Clifford K Oldroyd
Deepesh G Dilliard
Silvio P Sergi
Aditya A Stenseth
James V Maclead
Silvio H Kusko
Jefferson R Gillian
Antonio Y Iturbide
Aika Y Maclead
Isabel I Flosi
Johnson P Rim
Rodrigues O Malet
Ivar I Kusko
Arvin E Kusko
James S Butt
Juan G Butt
Morrow I Slusarski
Clifford V Poquette
Aruna Y Shinko
Johnson V Morasca
Emily P Kusko
Johnson I Rim
Salvatore J Stockham
Munro I Glick
Costa P Schemmer
IdCountryDate
1000Russia2025-09-27
1001Canada2025-09-24
1002Brazil2025-09-26
1003Russia2025-09-08
1004India2025-09-19
1005Argentina2025-09-10
1006Germany2025-09-14
1007Russia2025-09-27
1008Japan2025-09-23
1009Japan2025-09-13
1010Russia2025-09-02
1011Italy2025-09-12
1012India2025-09-24
1013India2025-09-10
1014Russia2025-09-24
1015Italy2025-09-27
1016United Kingdom2025-09-17
1017Brazil2025-09-06
1018India2025-09-01
1019Japan2025-09-13
1020India2025-09-02
1021United Kingdom2025-09-09
1022Japan2025-09-14
1023India2025-09-08
1024United Kingdom2025-09-27
1025Canada2025-09-27
1026Spain2025-09-25
1027Spain2025-09-03
1028United Kingdom2025-09-07
1029Spain2025-09-24
1030Spain2025-09-15
1031India2025-09-08
1032France2025-09-09
1033Australia2025-09-05
1034India2025-09-24
1035Brazil2025-09-02
1036India2025-09-28
1037Canada2025-09-17
1038Russia2025-09-06
1039India2025-08-31
1040Germany2025-09-29
1041Japan2025-09-12
1042Australia2025-09-21
1043Argentina2025-09-17
1044Canada2025-09-26
1045France2025-09-20
1046Spain2025-09-17
1047India2025-09-09
1048United Kingdom2025-09-18
1049Brazil2025-09-09

On-Demand Data

NameIdCountryDate
Chavez D Tollner1000United Kingdom2025-09-19
Murillo M Tollner1001United Kingdom2025-09-07
Ivar F Royster1002India2025-09-06
Tony U Royster1003Canada2025-09-15
Ricardo T Maclead1004Brazil2025-09-10
Jeanfrancois A Schemmer1005Argentina2025-09-26
Jennifer R Maclead1006Argentina2025-08-31
Johnson R Vocelka1007Spain2025-09-22
Kadeem L Ruta1008Russia2025-09-14
Jones J Doe1009United Kingdom2025-09-26
Ricardo H Butt1010Italy2025-09-26
Darci A Maclead1011United Kingdom2025-09-23
Salvatore U Nicka1012Argentina2025-09-24
Cody U Poquette1013Brazil2025-09-05
Clifford E Campain1014Spain2025-09-10
David O Maclead1015United Kingdom2025-09-26
Jones U Kusko1016Argentina2025-09-13
Ivar F Campain1017France2025-09-21
Antonio J Figeroa1018Italy2025-09-24
Johnson W Bolognia1019Spain2025-09-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha X SergiGermanyOnyama Limba RENEWAL
Wickens G GillianIndiaIvan Magalhaes UNQUALIFIED
Jeanfrancois O ButtCanadaStephen Shaw NEGOTIATION
Aditya O ChuiAustraliaIvan Magalhaes NEGOTIATION
Aruna X FollerJapanIoni Bowcher UNQUALIFIED
Kadeem Q WieserArgentinaXuxue Feng RENEWAL
Cody F CaudyGermanyAnna Fali NEW
Murillo Z StensethIndiaXuxue Feng PROPOSAL
Antonio P VocelkaBrazilIvan Magalhaes NEGOTIATION
Clifford M FlosiUnited KingdomXuxue Feng NEW
James V PaprockiBrazilIoni Bowcher QUALIFIED
Adams S OldroydJapanIoni Bowcher QUALIFIED
Jefferson X KuskoUnited KingdomOnyama Limba QUALIFIED
Francesco L FollerBrazilStephen Shaw RENEWAL
Rodrigues H BriddickSpainElwin Sharvill UNQUALIFIED
James B MaletAustraliaBernardo Dominic UNQUALIFIED
Izzy F SchemmerAustraliaIoni Bowcher NEW
Tony F CampainBrazilAsiya Javayant NEW
Stacey F MarrierGermanyAsiya Javayant QUALIFIED
Aditya P MacleadJapanIoni Bowcher PROPOSAL
Jones K PoquetteSpainIoni Bowcher QUALIFIED
Johnson L AlbaresAustraliaIoni Bowcher NEGOTIATION
Octavia H CaudyAustraliaAsiya Javayant QUALIFIED
Darci M BologniaItalyAmy Elsner UNQUALIFIED
Mujtaba R GillianJapanXuxue Feng PROPOSAL
Francesco Q BowleyGermanyBernardo Dominic NEGOTIATION
Mujtaba P GlickAustraliaAmy Elsner QUALIFIED
Francesco P WhobreyIndiaOnyama Limba UNQUALIFIED
Deepesh D WieserSpainStephen Shaw NEW
Izzy T NestleIndiaStephen Shaw NEGOTIATION
David T PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Cody T CaudyIndiaAsiya Javayant RENEWAL
Wickens S GarufiBrazilAmy Elsner PROPOSAL
Antonio K BowleyUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois N TollnerFranceIoni Bowcher NEW
Arvin E DilliardIndiaStephen Shaw UNQUALIFIED
Chavez U MacleadFranceAnna Fali RENEWAL
Murillo U SergiBrazilIvan Magalhaes NEGOTIATION
Jennifer U RimIndiaElwin Sharvill QUALIFIED
Salvatore V PerinRussiaBernardo Dominic 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>