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
Aditya O GarufiUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues K FigeroaGermanyIvan Magalhaes QUALIFIED
Salvatore O BriddickFranceXuxue Feng NEW
Silvio Z PaprockiCanadaIoni Bowcher RENEWAL
Misaki I WaycottArgentinaIvan Magalhaes NEW
Sinclair O VocelkaItalyIvan Magalhaes NEGOTIATION
Tony E DarakjyIndiaStephen Shaw NEGOTIATION
Smith U RutaUnited KingdomAsiya Javayant UNQUALIFIED
Claire H MacleadArgentinaIvan Magalhaes RENEWAL
Johnson Z VocelkaUnited KingdomXuxue Feng RENEWAL
Deepesh B KolmetzUnited KingdomXuxue Feng PROPOSAL
Claire W FerenczGermanyBernardo Dominic UNQUALIFIED
Claire R IturbideJapanAmy Elsner UNQUALIFIED
Claire X IturbideGermanyXuxue Feng NEW
Jeanfrancois K SaylorsFranceIoni Bowcher RENEWAL
Munro Y BowleyBrazilAsiya Javayant PROPOSAL
Greenwood W AmigonBrazilOnyama Limba NEGOTIATION
Aditya H FlosiGermanyBernardo Dominic NEW
Smith W VocelkaSpainAmy Elsner UNQUALIFIED
Deepesh L VenereFranceBernardo Dominic UNQUALIFIED
Ricardo U SchemmerFranceBernardo Dominic NEW
Emily R BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Emily V SaylorsFranceStephen Shaw PROPOSAL
Emily S InouyeArgentinaAmy Elsner NEW
Claire W SaylorsItalyBernardo Dominic RENEWAL
Aika B SlusarskiAustraliaElwin Sharvill NEGOTIATION
Izzy J MorascaIndiaElwin Sharvill NEGOTIATION
Arvin X VocelkaArgentinaStephen Shaw RENEWAL
Antonio Y StensethBrazilXuxue Feng UNQUALIFIED
Jeanfrancois V OstroskyArgentinaAmy Elsner NEW
Aika H CaudyBrazilAmy Elsner NEGOTIATION
Alejandro J PerinRussiaAsiya Javayant NEW
Claire C ButtItalyIvan Magalhaes UNQUALIFIED
Alejandro T StockhamFranceXuxue Feng PROPOSAL
Ashley K DoeItalyIvan Magalhaes UNQUALIFIED
Mujtaba S RoysterArgentinaAnna Fali RENEWAL
Misaki E RutaJapanOnyama Limba NEGOTIATION
David L TollnerSpainAsiya Javayant QUALIFIED
Tony O MaletGermanyIoni Bowcher NEW
Alejandro R MacleadIndiaElwin Sharvill NEGOTIATION
Ricardo D SlusarskiIndiaAnna Fali UNQUALIFIED
Ricardo T KuskoJapanIoni Bowcher NEGOTIATION
Claire T VocelkaArgentinaIoni Bowcher QUALIFIED
Mujtaba W MarrierCanadaElwin Sharvill NEW
Emily F IturbideCanadaAmy Elsner NEGOTIATION
Arvin U MaletFranceElwin Sharvill NEW
Kadeem I OstroskyRussiaXuxue Feng QUALIFIED
Maisha Z PerinGermanyAnna Fali NEGOTIATION
James H CaudyIndiaOnyama Limba NEGOTIATION
Leja P FlosiItalyAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie X AmigonCanadaAnna Fali NEGOTIATION
Maisha N CaldareraAustraliaIoni Bowcher QUALIFIED
Claire T DilliardItalyAnna Fali NEGOTIATION
Jennifer Q GillianUnited KingdomAnna Fali NEGOTIATION
Silvio Q OldroydAustraliaAnna Fali UNQUALIFIED
Ivar B NickaIndiaBernardo Dominic QUALIFIED
Leja M PaprockiGermanyAmy Elsner NEGOTIATION
Leon M MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Clifford F WieserGermanyElwin Sharvill QUALIFIED
Izzy N GlickFranceStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily J FollerCanada2025-10-06Feiner Bros PROPOSAL34Asiya Javayant
1001Leon P CaudyAustralia2025-10-08Dorl, James J Esq QUALIFIED62Ioni Bowcher
1002Kadeem W PerinUnited Kingdom2025-10-10Morlong Associates PROPOSAL47Ivan Magalhaes
1003David R SaylorsAustralia2025-09-22Chapman, Ross E Esq PROPOSAL29Stephen Shaw
1004Aditya I FigeroaArgentina2025-09-22King, Christopher A Esq NEGOTIATION61Bernardo Dominic
1005Ricardo O CampainRussia2025-10-03King, Christopher A Esq NEW84Ivan Magalhaes
1006Misaki X MarrierIndia2025-09-27Chapman, Ross E Esq NEGOTIATION79Bernardo Dominic
1007Aika Q GlickFrance2025-10-02Printing Dimensions QUALIFIED9Stephen Shaw
1008Darci M NestleFrance2025-10-01King, Christopher A Esq NEW77Bernardo Dominic
1009Greenwood H GauchoCanada2025-10-12King, Christopher A Esq PROPOSAL37Bernardo Dominic
1010Aika S KuskoUnited Kingdom2025-10-07Dorl, James J Esq NEW93Anna Fali
1011Jeanfrancois I OldroydGermany2025-09-20King, Christopher A Esq NEGOTIATION44Xuxue Feng
1012Wickens K KuskoRussia2025-10-19Chanay, Jeffrey A Esq NEGOTIATION44Ivan Magalhaes
1013Faith H StensethItaly2025-10-17Feltz Printing Service NEGOTIATION90Onyama Limba
1014Chavez N PaprockiIndia2025-09-24Feiner Bros NEGOTIATION9Asiya Javayant
1015David I MorascaBrazil2025-10-17Printing Dimensions QUALIFIED31Stephen Shaw
1016Jones H MacleadAustralia2025-10-18Morlong Associates UNQUALIFIED43Stephen Shaw
1017Kaitlin X VenereBrazil2025-10-14Chapman, Ross E Esq UNQUALIFIED97Onyama Limba
1018Kaitlin D CampainSpain2025-10-16Commercial Press NEW82Onyama Limba
1019Claire F RutaUnited Kingdom2025-09-27Chapman, Ross E Esq RENEWAL34Amy Elsner
1020Cody F RutaAustralia2025-10-01Feiner Bros NEW98Amy Elsner
1021Rodrigues W SergiAustralia2025-10-14Feiner Bros UNQUALIFIED31Ivan Magalhaes
1022Silvio J BologniaSpain2025-10-12Dorl, James J Esq QUALIFIED9Onyama Limba
1023Francesco I PoquetteArgentina2025-10-12Morlong Associates NEGOTIATION90Xuxue Feng
1024Jeanfrancois X NickaCanada2025-09-25Printing Dimensions UNQUALIFIED14Onyama Limba
1025Mayumi I MarrierCanada2025-10-09Rangoni Of Florence UNQUALIFIED89Elwin Sharvill
1026Juan B RoysterCanada2025-10-05Feiner Bros RENEWAL29Elwin Sharvill
1027Rodrigues H CaldareraRussia2025-09-29Dorl, James J Esq RENEWAL87Xuxue Feng
1028Cody K RulapaughItaly2025-09-30Dorl, James J Esq QUALIFIED40Elwin Sharvill
1029Jefferson O DarakjyJapan2025-09-24Feltz Printing Service UNQUALIFIED36Ivan Magalhaes
1030Ivar A GauchoCanada2025-10-16Chanay, Jeffrey A Esq UNQUALIFIED45Bernardo Dominic
1031Octavia N SlusarskiCanada2025-10-08Morlong Associates NEW24Bernardo Dominic
1032Darci C ShinkoArgentina2025-10-01Morlong Associates NEW57Onyama Limba
1033Darci C NickaCanada2025-10-08Feltz Printing Service PROPOSAL34Elwin Sharvill
1034Johnson H PaprockiJapan2025-10-06Buckley Miller Wright QUALIFIED99Stephen Shaw
1035Kadeem U PoquetteGermany2025-10-02King, Christopher A Esq UNQUALIFIED49Ivan Magalhaes
1036Costa V WaycottAustralia2025-10-03Rousseaux, Michael Esq NEGOTIATION20Onyama Limba
1037Julie W NickaRussia2025-09-26Rangoni Of Florence NEW96Stephen Shaw
1038Rodrigues G FlosiBrazil2025-10-07Chapman, Ross E Esq PROPOSAL52Amy Elsner
1039Ivar H GillianAustralia2025-10-16Feltz Printing Service NEW90Bernardo Dominic
1040Izzy O TollnerCanada2025-10-01Buckley Miller Wright QUALIFIED25Stephen Shaw
1041Julie W ButtItaly2025-10-04Truhlar And Truhlar Attys QUALIFIED8Ioni Bowcher
1042Faith X IturbideBrazil2025-09-26Feiner Bros PROPOSAL83Bernardo Dominic
1043Aditya Y WhobreyArgentina2025-10-07Morlong Associates QUALIFIED98Bernardo Dominic
1044Kaitlin O VenereItaly2025-10-04Chemel, James L Cpa NEGOTIATION21Ioni Bowcher
1045Wickens O StensethIndia2025-10-05Printing Dimensions UNQUALIFIED33Elwin Sharvill
1046Mujtaba V WieserItaly2025-10-06Chemel, James L Cpa NEW27Onyama Limba
1047Murillo B BologniaIndia2025-09-21Rangoni Of Florence QUALIFIED71Xuxue Feng
1048Smith P KolmetzArgentina2025-09-29Feltz Printing Service PROPOSAL78Xuxue Feng
1049Julie U TollnerAustralia2025-09-27Buckley Miller Wright NEW26Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Costa L MorascaFranceXuxue Feng NEGOTIATION
Wickens Q GarufiRussiaIoni Bowcher NEW
Sinclair E BowleyAustraliaIoni Bowcher UNQUALIFIED
Ricardo R AmigonIndiaStephen Shaw NEGOTIATION
James E ButtGermanyAmy Elsner NEGOTIATION
Jennifer S AlbaresSpainIoni Bowcher QUALIFIED
Maisha V MarrierCanadaElwin Sharvill UNQUALIFIED
Maisha N NickaAustraliaAsiya Javayant PROPOSAL
Mayumi Z VocelkaItalyIvan Magalhaes NEGOTIATION
Clifford N WaycottAustraliaIoni Bowcher NEW
Mujtaba V PerinUnited KingdomBernardo Dominic NEW
Maria S PoquetteAustraliaBernardo Dominic NEGOTIATION
Deepesh K GarufiJapanIvan Magalhaes UNQUALIFIED
James Y FerenczRussiaAmy Elsner RENEWAL
Adams H IturbideArgentinaAsiya Javayant QUALIFIED
Silvio F IturbideCanadaOnyama Limba NEW
Jones V RoysterSpainIoni Bowcher RENEWAL
Costa Z KolmetzUnited KingdomXuxue Feng RENEWAL
Greenwood B BriddickArgentinaBernardo Dominic QUALIFIED
Darci Z AmigonArgentinaElwin Sharvill UNQUALIFIED
Rodrigues Z WaycottGermanyBernardo Dominic RENEWAL
Tony D StensethIndiaAsiya Javayant UNQUALIFIED
Nicolas H RulapaughCanadaXuxue Feng NEW
Aditya M SaylorsIndiaOnyama Limba QUALIFIED
Morrow B TollnerAustraliaStephen Shaw UNQUALIFIED
Ashley Q TollnerItalyAmy Elsner NEW
Munro P ShinkoUnited KingdomAsiya Javayant NEW
David T PerinCanadaElwin Sharvill PROPOSAL
Wickens N CampainCanadaIvan Magalhaes PROPOSAL
Chavez G RimUnited KingdomIvan Magalhaes RENEWAL
Juan N MaletAustraliaBernardo Dominic NEGOTIATION
Kadeem T InouyeIndiaAnna Fali PROPOSAL
Nicolas P AmigonUnited KingdomBernardo Dominic NEGOTIATION
Leja P FlosiCanadaIvan Magalhaes QUALIFIED
Francesco G RutaRussiaBernardo Dominic RENEWAL
Silvio D ButtJapanStephen Shaw QUALIFIED
Munro R RutaUnited KingdomStephen Shaw QUALIFIED
Antonio Y IturbideRussiaAsiya Javayant PROPOSAL
Aruna Z PerinCanadaElwin Sharvill NEW
Aditya U FlosiGermanyBernardo Dominic QUALIFIED
Antonio S BologniaItalyAmy Elsner RENEWAL
Kadeem K ChuiJapanIvan Magalhaes NEW
Mujtaba Y MorascaAustraliaAmy Elsner NEGOTIATION
Octavia N PerinSpainAnna Fali NEGOTIATION
Ivar A FlosiUnited KingdomIoni Bowcher NEGOTIATION
Kaitlin E OstroskyAustraliaIvan Magalhaes PROPOSAL
Munro M GarufiJapanAnna Fali QUALIFIED
Julie O WaycottItalyElwin Sharvill NEW
Greenwood Z CampainJapanStephen Shaw NEW
Clifford Z PoquetteAustraliaIvan Magalhaes NEW
Frozen Columns
Name
Tony L Chui
Faith D Figeroa
Cody D Tollner
Juan B Poquette
Sinclair Y Figeroa
Jones R Butt
Adams K Venere
Jennifer F Waycott
Clifford U Caldarera
Tony A Glick
Morrow E Chui
Stacey H Nestle
Aruna U Nestle
David E Dilliard
Morrow R Glick
Aika I Venere
Leon Y Caldarera
David N Ferencz
Darci Y Dilliard
Sinclair R Ferencz
Greenwood N Royster
Tony C Stockham
Jones I Butt
Chavez L Vocelka
Costa L Ruta
Maria C Nicka
Emily H Kolmetz
Rodrigues P Malet
Misaki J Stockham
Costa A Flosi
Deepesh S Perin
Juan I Gillian
Salvatore G Kusko
Costa R Figeroa
Aditya I Malet
Leon A Briddick
Silvio J Waycott
Ivar Z Bowley
James A Marrier
Smith C Marrier
Cody Y Nicka
Aika Z Stockham
Silvio R Marrier
Mayumi S Malet
Aditya M Amigon
David T Flosi
Misaki L Slusarski
Jones C Morasca
Leja U Darakjy
Greenwood H Oldroyd
IdCountryDate
1000Italy2025-10-14
1001Australia2025-09-25
1002Russia2025-09-30
1003Germany2025-10-02
1004Japan2025-10-10
1005Canada2025-10-08
1006Japan2025-10-12
1007Spain2025-09-26
1008Spain2025-10-02
1009Russia2025-10-19
1010Brazil2025-09-27
1011India2025-10-08
1012Germany2025-09-21
1013Brazil2025-10-01
1014India2025-10-04
1015Canada2025-09-28
1016France2025-10-02
1017Japan2025-09-24
1018Spain2025-10-03
1019Brazil2025-10-16
1020Argentina2025-09-24
1021Germany2025-09-28
1022Germany2025-10-13
1023Brazil2025-09-28
1024Brazil2025-09-22
1025Germany2025-09-23
1026Australia2025-10-17
1027Japan2025-09-22
1028Japan2025-09-22
1029Australia2025-10-06
1030Italy2025-09-21
1031Spain2025-10-18
1032Canada2025-10-03
1033Japan2025-09-28
1034Argentina2025-10-06
1035Argentina2025-09-27
1036France2025-09-26
1037Germany2025-10-12
1038Brazil2025-10-15
1039India2025-09-30
1040Russia2025-10-17
1041Argentina2025-09-26
1042France2025-10-03
1043Brazil2025-10-16
1044Brazil2025-10-17
1045Brazil2025-09-21
1046United Kingdom2025-10-09
1047Brazil2025-10-13
1048Japan2025-09-24
1049Australia2025-09-25

On-Demand Data

NameIdCountryDate
Silvio N Foller1000India2025-10-01
Claire E Stockham1001Japan2025-10-17
Faith W Ferencz1002Russia2025-10-02
Leja I Malet1003Australia2025-10-13
Johnson N Foller1004Brazil2025-10-15
Alejandro X Oldroyd1005Brazil2025-09-27
Jennifer T Gaucho1006Germany2025-09-27
Mujtaba M Ferencz1007Germany2025-09-20
Ashley P Gaucho1008Germany2025-10-19
Jennifer W Caudy1009India2025-10-07
Kaitlin I Sergi1010Australia2025-10-09
Cody J Whobrey1011Australia2025-10-08
Mayumi K Waycott1012Argentina2025-10-19
James S Bolognia1013Brazil2025-10-14
Octavia H Maclead1014India2025-10-08
Alejandro P Maclead1015Canada2025-10-13
Leon W Bowley1016Russia2025-10-14
Rodrigues Y Wieser1017India2025-10-19
Darci G Marrier1018Canada2025-10-17
Costa A Marrier1019Brazil2025-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Z TollnerArgentinaElwin Sharvill UNQUALIFIED
Faith Z ShinkoRussiaIvan Magalhaes NEGOTIATION
Mujtaba L DilliardGermanyAsiya Javayant QUALIFIED
Morrow G SergiGermanyElwin Sharvill UNQUALIFIED
Ivar H RulapaughAustraliaIvan Magalhaes PROPOSAL
Aditya T ShinkoBrazilIoni Bowcher UNQUALIFIED
Octavia S StockhamRussiaAnna Fali QUALIFIED
Aruna G OldroydFranceIoni Bowcher NEW
Nicolas Q InouyeArgentinaOnyama Limba RENEWAL
Sinclair Q DoeJapanElwin Sharvill RENEWAL
Claire P MaletFranceBernardo Dominic QUALIFIED
Costa U BologniaSpainOnyama Limba NEGOTIATION
Leon A PerinArgentinaAnna Fali RENEWAL
Rodrigues G BologniaCanadaAnna Fali NEGOTIATION
Alejandro C DilliardBrazilXuxue Feng QUALIFIED
Leja A MarrierItalyStephen Shaw PROPOSAL
Sinclair H DoeRussiaIvan Magalhaes PROPOSAL
Nicolas G SergiAustraliaIvan Magalhaes NEGOTIATION
Arvin A CaldareraRussiaAsiya Javayant NEGOTIATION
Sinclair M OldroydBrazilIvan Magalhaes QUALIFIED
Kadeem F WaycottSpainBernardo Dominic RENEWAL
Salvatore Y RulapaughBrazilElwin Sharvill QUALIFIED
Nicolas U FollerFranceIvan Magalhaes PROPOSAL
Cody K MorascaAustraliaBernardo Dominic PROPOSAL
Munro Y FerenczJapanBernardo Dominic NEW
Murillo Z TollnerSpainIoni Bowcher PROPOSAL
Juan J ShinkoItalyElwin Sharvill NEGOTIATION
Chavez D PaprockiIndiaOnyama Limba UNQUALIFIED
Tony K SergiFranceAmy Elsner QUALIFIED
Chavez S ButtSpainElwin Sharvill UNQUALIFIED
Salvatore F KolmetzArgentinaAsiya Javayant RENEWAL
Murillo I AmigonUnited KingdomBernardo Dominic NEGOTIATION
David Y InouyeItalyStephen Shaw QUALIFIED
Isabel N BowleyItalyIvan Magalhaes NEGOTIATION
Morrow M MaletUnited KingdomElwin Sharvill RENEWAL
Arvin S GillianArgentinaXuxue Feng RENEWAL
Morrow R OstroskyAustraliaAmy Elsner NEW
Mujtaba I MarrierGermanyStephen Shaw UNQUALIFIED
Wickens Z KolmetzAustraliaIvan Magalhaes RENEWAL
Alejandro H WieserArgentinaBernardo 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>