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
Stacey M ChuiUnited KingdomAsiya Javayant NEGOTIATION
Nicolas A TollnerSpainStephen Shaw QUALIFIED
Johnson I MaletJapanAmy Elsner QUALIFIED
David H MaletJapanAsiya Javayant RENEWAL
Julie R DarakjyIndiaIvan Magalhaes NEGOTIATION
Munro P AmigonArgentinaIvan Magalhaes NEGOTIATION
Darci Y GarufiBrazilBernardo Dominic RENEWAL
Maisha E PerinAustraliaXuxue Feng NEGOTIATION
Ivar Z DarakjyAustraliaOnyama Limba RENEWAL
Cody H CaldareraUnited KingdomAmy Elsner QUALIFIED
Leon H IturbideAustraliaStephen Shaw NEGOTIATION
Jones V PaprockiArgentinaAnna Fali NEW
Greenwood M NickaFranceOnyama Limba UNQUALIFIED
Leja R RulapaughGermanyElwin Sharvill NEGOTIATION
Izzy B BriddickUnited KingdomAnna Fali NEW
Stacey J WaycottAustraliaAsiya Javayant RENEWAL
Arvin P WhobreyGermanyBernardo Dominic PROPOSAL
Sinclair P FollerRussiaAmy Elsner RENEWAL
Aruna Z SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Murillo R GarufiAustraliaAmy Elsner NEGOTIATION
Clifford D OldroydUnited KingdomBernardo Dominic UNQUALIFIED
Greenwood F AmigonAustraliaStephen Shaw NEW
Cody D MacleadCanadaAnna Fali RENEWAL
Aruna O StockhamAustraliaBernardo Dominic PROPOSAL
Munro O AmigonJapanStephen Shaw PROPOSAL
Murillo G RoysterIndiaAnna Fali RENEWAL
Mayumi E MarrierArgentinaAmy Elsner NEW
Maisha N GlickGermanyAnna Fali RENEWAL
Jeanfrancois J BriddickItalyIvan Magalhaes UNQUALIFIED
Mayumi A GarufiAustraliaIoni Bowcher PROPOSAL
Rodrigues W PoquetteBrazilAmy Elsner QUALIFIED
Adams L PoquetteGermanyXuxue Feng PROPOSAL
Francesco H OldroydGermanyAnna Fali UNQUALIFIED
Jones S SlusarskiRussiaAmy Elsner NEGOTIATION
Greenwood R CaldareraCanadaAsiya Javayant RENEWAL
Antonio R ButtRussiaBernardo Dominic UNQUALIFIED
Salvatore E SergiJapanOnyama Limba UNQUALIFIED
Misaki H SchemmerFranceIoni Bowcher NEW
David O InouyeRussiaIvan Magalhaes NEW
Adams J SergiJapanAnna Fali NEGOTIATION
Salvatore V SlusarskiIndiaOnyama Limba UNQUALIFIED
Aruna J FerenczFranceStephen Shaw NEGOTIATION
Claire Z RulapaughGermanyAsiya Javayant PROPOSAL
Aruna O OldroydBrazilXuxue Feng NEW
Murillo J MacleadBrazilIoni Bowcher UNQUALIFIED
Silvio Z CaudyUnited KingdomXuxue Feng NEGOTIATION
Silvio K SlusarskiFranceAmy Elsner NEW
Aika W GlickArgentinaAsiya Javayant NEGOTIATION
Misaki U StensethIndiaXuxue Feng NEW
Ivar A PoquetteAustraliaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maisha T OstroskyRussiaBernardo Dominic NEW
Wickens R GarufiRussiaAsiya Javayant UNQUALIFIED
Claire H BowleyItalyXuxue Feng UNQUALIFIED
Salvatore B VenereArgentinaStephen Shaw UNQUALIFIED
Sinclair I SergiIndiaIoni Bowcher PROPOSAL
Kadeem U PerinGermanyAmy Elsner NEW
Octavia U FigeroaBrazilOnyama Limba UNQUALIFIED
Aika W FlosiGermanyAnna Fali RENEWAL
Isabel Q KuskoUnited KingdomOnyama Limba RENEWAL
Aika J WhobreyItalyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem V CaudyAustralia2025-10-05Truhlar And Truhlar Attys PROPOSAL98Elwin Sharvill
1001Isabel I GlickRussia2025-10-07King, Christopher A Esq QUALIFIED19Ioni Bowcher
1002Smith V OldroydArgentina2025-09-14Chapman, Ross E Esq NEW1Ioni Bowcher
1003Isabel L InouyeFrance2025-09-20Feiner Bros NEGOTIATION90Ivan Magalhaes
1004Leja G DilliardBrazil2025-09-26Printing Dimensions PROPOSAL48Stephen Shaw
1005Costa U SchemmerRussia2025-09-29Chemel, James L Cpa PROPOSAL41Asiya Javayant
1006Emily F CaudyUnited Kingdom2025-10-08Benton, John B Jr NEGOTIATION44Asiya Javayant
1007Tony X PoquetteUnited Kingdom2025-10-09Chapman, Ross E Esq NEGOTIATION7Xuxue Feng
1008Nicolas G CaudyIndia2025-09-17Commercial Press QUALIFIED75Amy Elsner
1009Smith Q KolmetzFrance2025-10-08Truhlar And Truhlar Attys QUALIFIED25Onyama Limba
1010Murillo W GillianFrance2025-10-07Buckley Miller Wright NEW72Elwin Sharvill
1011Maria N WieserFrance2025-09-27Feiner Bros QUALIFIED26Anna Fali
1012Jones Y BriddickGermany2025-09-15Chemel, James L Cpa QUALIFIED67Amy Elsner
1013Alejandro P NickaItaly2025-10-03Feltz Printing Service PROPOSAL60Amy Elsner
1014Jennifer S NickaIndia2025-09-28Commercial Press PROPOSAL84Onyama Limba
1015Munro A MacleadGermany2025-10-04Chemel, James L Cpa QUALIFIED93Amy Elsner
1016Leja K RimGermany2025-10-01Chanay, Jeffrey A Esq NEW16Anna Fali
1017Ashley S InouyeSpain2025-10-04Morlong Associates UNQUALIFIED4Elwin Sharvill
1018Francesco P MacleadUnited Kingdom2025-09-14Chemel, James L Cpa PROPOSAL93Stephen Shaw
1019Ricardo I RimUnited Kingdom2025-10-02Feltz Printing Service RENEWAL81Bernardo Dominic
1020Arvin R PoquetteRussia2025-09-13Chapman, Ross E Esq PROPOSAL7Ivan Magalhaes
1021Ivar V FollerArgentina2025-10-08Rangoni Of Florence NEGOTIATION39Stephen Shaw
1022Kaitlin W SlusarskiFrance2025-09-28Rangoni Of Florence QUALIFIED57Anna Fali
1023Emily Z KuskoJapan2025-09-26Chemel, James L Cpa NEGOTIATION81Stephen Shaw
1024Murillo B MarrierFrance2025-09-29Rousseaux, Michael Esq RENEWAL12Stephen Shaw
1025Nicolas D BowleyUnited Kingdom2025-10-05Chanay, Jeffrey A Esq PROPOSAL50Xuxue Feng
1026Costa S MaletBrazil2025-09-14Feltz Printing Service NEW94Asiya Javayant
1027Salvatore E FlosiRussia2025-10-07King, Christopher A Esq NEGOTIATION38Bernardo Dominic
1028Mujtaba I GauchoRussia2025-10-05Feltz Printing Service RENEWAL94Ivan Magalhaes
1029Antonio V SlusarskiItaly2025-09-18King, Christopher A Esq PROPOSAL26Amy Elsner
1030Jennifer B WhobreySpain2025-09-21Chemel, James L Cpa PROPOSAL58Ioni Bowcher
1031Salvatore L SchemmerSpain2025-09-23Rousseaux, Michael Esq NEGOTIATION85Amy Elsner
1032Aditya J FigeroaArgentina2025-09-20Printing Dimensions RENEWAL22Onyama Limba
1033Chavez T SaylorsGermany2025-09-26King, Christopher A Esq QUALIFIED53Onyama Limba
1034Silvio I AmigonUnited Kingdom2025-10-12Rangoni Of Florence RENEWAL67Onyama Limba
1035Aruna H GlickGermany2025-10-06Buckley Miller Wright NEW54Ioni Bowcher
1036Rodrigues H VenereRussia2025-10-10Rousseaux, Michael Esq NEGOTIATION95Onyama Limba
1037Tony W PerinJapan2025-09-19Chanay, Jeffrey A Esq QUALIFIED47Ioni Bowcher
1038Johnson Q FlosiJapan2025-09-16Feiner Bros QUALIFIED51Asiya Javayant
1039Nicolas Y ShinkoArgentina2025-10-05Benton, John B Jr NEW10Ivan Magalhaes
1040Chavez E FlosiFrance2025-10-02Chanay, Jeffrey A Esq UNQUALIFIED54Amy Elsner
1041Julie N AmigonFrance2025-09-13King, Christopher A Esq QUALIFIED71Asiya Javayant
1042Adams X DilliardFrance2025-10-03Rousseaux, Michael Esq PROPOSAL92Onyama Limba
1043Ricardo D SlusarskiArgentina2025-09-15Morlong Associates NEW54Asiya Javayant
1044Stacey R VenereAustralia2025-09-27King, Christopher A Esq NEW53Xuxue Feng
1045Ricardo H ChuiGermany2025-10-06Chapman, Ross E Esq RENEWAL90Anna Fali
1046Emily H WieserGermany2025-10-03Dorl, James J Esq RENEWAL10Asiya Javayant
1047Jefferson Q KuskoBrazil2025-10-10Morlong Associates NEW30Xuxue Feng
1048Mujtaba M KolmetzIndia2025-09-14Buckley Miller Wright PROPOSAL74Elwin Sharvill
1049Isabel V MaletItaly2025-10-02Truhlar And Truhlar Attys QUALIFIED48Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Smith N GauchoGermanyIvan Magalhaes QUALIFIED
Juan T MacleadJapanElwin Sharvill NEW
Ashley Z FlosiArgentinaAnna Fali NEW
Juan B MorascaCanadaIoni Bowcher NEW
Kadeem L StockhamGermanyOnyama Limba NEW
Emily U SlusarskiGermanyAmy Elsner PROPOSAL
Darci C DarakjyGermanyBernardo Dominic NEW
Leja M CampainRussiaIoni Bowcher QUALIFIED
Chavez W FlosiSpainStephen Shaw QUALIFIED
Adams O InouyeGermanyIvan Magalhaes RENEWAL
Costa D BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem M ShinkoJapanAmy Elsner RENEWAL
Alejandro P OldroydFranceAsiya Javayant PROPOSAL
Salvatore E GlickUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin V GillianRussiaAsiya Javayant QUALIFIED
Smith D BriddickUnited KingdomStephen Shaw PROPOSAL
Leja T VenereSpainAmy Elsner RENEWAL
Leon C SlusarskiAustraliaIoni Bowcher NEW
Ricardo R NickaRussiaXuxue Feng UNQUALIFIED
Sinclair K FigeroaItalyAnna Fali QUALIFIED
Deepesh R MacleadFranceBernardo Dominic PROPOSAL
Antonio R RimGermanyAsiya Javayant PROPOSAL
Murillo M GillianAustraliaIvan Magalhaes RENEWAL
Chavez G WhobreyArgentinaOnyama Limba NEW
Antonio A VocelkaRussiaBernardo Dominic RENEWAL
Ricardo G MacleadSpainAmy Elsner QUALIFIED
Jefferson X RutaIndiaIvan Magalhaes NEGOTIATION
Stacey R KolmetzArgentinaElwin Sharvill NEW
Alejandro Y MarrierAustraliaStephen Shaw UNQUALIFIED
Arvin S GlickArgentinaXuxue Feng UNQUALIFIED
Leja C IturbideAustraliaIoni Bowcher NEGOTIATION
Silvio I KolmetzGermanyIvan Magalhaes NEGOTIATION
Claire X GarufiAustraliaIoni Bowcher UNQUALIFIED
Jeanfrancois X StockhamUnited KingdomAnna Fali NEW
Juan R PoquetteGermanyBernardo Dominic QUALIFIED
Jones I DarakjyUnited KingdomIvan Magalhaes UNQUALIFIED
Misaki N MaletJapanStephen Shaw QUALIFIED
Misaki W BriddickBrazilIoni Bowcher PROPOSAL
Mujtaba S AlbaresAustraliaBernardo Dominic NEW
Chavez I OldroydArgentinaAsiya Javayant NEGOTIATION
James E FigeroaSpainIvan Magalhaes NEW
Francesco H CampainAustraliaXuxue Feng UNQUALIFIED
Adams C MaletRussiaBernardo Dominic QUALIFIED
Jennifer M FlosiCanadaAnna Fali NEW
Faith R FlosiArgentinaElwin Sharvill RENEWAL
Rodrigues E SchemmerSpainAmy Elsner NEGOTIATION
Maisha X TollnerGermanyAmy Elsner NEW
Misaki Q TollnerFranceBernardo Dominic RENEWAL
Jennifer W WhobreyItalyOnyama Limba QUALIFIED
Greenwood V DilliardSpainStephen Shaw NEW
Frozen Columns
Name
Ivar W Saylors
Stacey V Foller
Morrow N Royster
Julie J Briddick
Chavez R Caudy
Ashley N Albares
Johnson F Amigon
Ricardo G Rim
Murillo X Oldroyd
Leja V Waycott
Wickens S Doe
Kadeem H Briddick
Izzy K Kusko
Claire A Stenseth
Faith T Perin
Deepesh E Figeroa
Julie S Wieser
Claire P Sergi
Nicolas F Flosi
Morrow Y Chui
Tony V Vocelka
Aika Q Ruta
Faith R Gaucho
Ricardo E Butt
Tony I Ostrosky
Leon X Morasca
Sinclair R Kolmetz
Maisha R Marrier
Juan K Schemmer
Ivar A Saylors
Jones G Stockham
Leja X Dilliard
Octavia J Sergi
David M Whobrey
Octavia W Doe
Adams W Perin
Nicolas X Flosi
Cody R Whobrey
Nicolas V Kusko
Aditya K Briddick
Mujtaba O Gillian
Misaki C Oldroyd
Juan S Shinko
Leja W Vocelka
Francesco B Flosi
Munro B Albares
Morrow M Shinko
Francesco E Iturbide
Ivar U Ferencz
Jennifer C Caudy
IdCountryDate
1000Argentina2025-09-22
1001India2025-09-23
1002India2025-09-21
1003Brazil2025-09-16
1004United Kingdom2025-10-03
1005France2025-09-14
1006Australia2025-09-21
1007Italy2025-09-13
1008Russia2025-10-02
1009India2025-09-27
1010Japan2025-09-20
1011Canada2025-09-26
1012France2025-09-30
1013Spain2025-09-28
1014Spain2025-10-08
1015Germany2025-09-22
1016Italy2025-09-16
1017Australia2025-09-24
1018Canada2025-09-20
1019France2025-09-29
1020United Kingdom2025-09-20
1021Italy2025-09-16
1022Argentina2025-10-07
1023Russia2025-09-22
1024Argentina2025-10-02
1025Canada2025-09-16
1026Germany2025-09-29
1027Germany2025-09-21
1028France2025-09-18
1029Italy2025-10-12
1030Russia2025-10-07
1031Spain2025-09-16
1032United Kingdom2025-09-17
1033Argentina2025-10-12
1034Spain2025-10-04
1035Australia2025-09-13
1036India2025-09-14
1037Canada2025-10-08
1038France2025-10-11
1039Argentina2025-09-29
1040India2025-09-17
1041Argentina2025-09-27
1042Canada2025-10-02
1043Spain2025-09-30
1044Japan2025-09-22
1045Germany2025-10-12
1046Spain2025-09-23
1047India2025-10-05
1048Brazil2025-10-10
1049Brazil2025-10-12

On-Demand Data

NameIdCountryDate
Greenwood J Doe1000France2025-10-10
Antonio Z Oldroyd1001France2025-09-18
Kadeem Q Stenseth1002Canada2025-10-09
James K Schemmer1003Spain2025-09-20
Stacey Z Dilliard1004Australia2025-09-16
Silvio G Bolognia1005Italy2025-09-19
Greenwood O Whobrey1006France2025-09-19
Rodrigues N Oldroyd1007Germany2025-10-05
Izzy E Vocelka1008United Kingdom2025-09-20
Mujtaba F Bowley1009Spain2025-10-09
Juan T Shinko1010Brazil2025-10-01
Sinclair L Darakjy1011Japan2025-10-02
Faith J Gillian1012Spain2025-10-05
Maisha D Malet1013Germany2025-10-12
Wickens P Inouye1014India2025-09-21
Misaki D Malet1015Italy2025-10-06
David P Darakjy1016Italy2025-09-27
Ivar Z Kolmetz1017Russia2025-10-05
Kadeem C Malet1018France2025-09-17
Clifford Q Bolognia1019Spain2025-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair A DilliardGermanyAnna Fali NEW
Nicolas C RutaJapanIvan Magalhaes PROPOSAL
Alejandro P NickaRussiaAsiya Javayant NEW
Mujtaba D BriddickAustraliaAnna Fali NEGOTIATION
David G RulapaughAustraliaXuxue Feng UNQUALIFIED
Darci I BologniaBrazilBernardo Dominic RENEWAL
Ivar O BologniaItalyStephen Shaw NEW
Jefferson N RimIndiaAmy Elsner QUALIFIED
Antonio M SaylorsArgentinaAmy Elsner QUALIFIED
Kaitlin B ShinkoSpainStephen Shaw UNQUALIFIED
Maria U NestleUnited KingdomAsiya Javayant QUALIFIED
Claire C GauchoJapanAmy Elsner PROPOSAL
James S AmigonFranceXuxue Feng UNQUALIFIED
Darci M StensethCanadaStephen Shaw NEW
Misaki S WaycottAustraliaAmy Elsner UNQUALIFIED
Kaitlin M VenereCanadaStephen Shaw QUALIFIED
Mayumi R DilliardAustraliaIoni Bowcher PROPOSAL
Costa V RoysterBrazilAsiya Javayant QUALIFIED
Isabel Q AmigonItalyBernardo Dominic NEGOTIATION
Chavez L SaylorsIndiaAsiya Javayant UNQUALIFIED
Morrow H OstroskyIndiaOnyama Limba PROPOSAL
Costa T FlosiItalyIoni Bowcher RENEWAL
Aika R WaycottRussiaAsiya Javayant PROPOSAL
Francesco N StensethArgentinaAsiya Javayant RENEWAL
Adams H KuskoRussiaIoni Bowcher QUALIFIED
Octavia E MaletItalyAmy Elsner PROPOSAL
Kaitlin O BriddickCanadaIoni Bowcher QUALIFIED
Clifford G FerenczAustraliaAmy Elsner RENEWAL
Deepesh V FlosiGermanyElwin Sharvill NEW
Jennifer C PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Tony M PerinIndiaIoni Bowcher QUALIFIED
Claire B DilliardJapanIvan Magalhaes NEW
Maisha Y MorascaRussiaAnna Fali NEW
Izzy E NickaAustraliaXuxue Feng QUALIFIED
Munro X SergiFranceBernardo Dominic QUALIFIED
Jones L OstroskyRussiaAnna Fali UNQUALIFIED
Arvin T CaldareraAustraliaAmy Elsner NEGOTIATION
Aditya N ChuiCanadaIvan Magalhaes UNQUALIFIED
Juan F WieserIndiaBernardo Dominic PROPOSAL
Aruna E NestleArgentinaStephen Shaw PROPOSAL

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