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
Misaki D CaudyAustraliaBernardo Dominic PROPOSAL
Octavia G AlbaresSpainStephen Shaw QUALIFIED
Nicolas B SlusarskiIndiaStephen Shaw PROPOSAL
Juan U ButtArgentinaAnna Fali UNQUALIFIED
Aditya F KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Aika S SchemmerCanadaIvan Magalhaes RENEWAL
Chavez X VenereGermanyAnna Fali RENEWAL
Juan E MarrierIndiaElwin Sharvill NEW
Costa P BowleyArgentinaAnna Fali NEW
Darci E KuskoUnited KingdomStephen Shaw RENEWAL
Isabel Q WhobreyAustraliaBernardo Dominic QUALIFIED
Aika Y SchemmerRussiaIoni Bowcher NEGOTIATION
Jones L WaycottGermanyOnyama Limba UNQUALIFIED
Jennifer F ShinkoJapanAmy Elsner NEW
Antonio K FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Leon T KolmetzGermanyAnna Fali QUALIFIED
Jefferson X PerinRussiaBernardo Dominic PROPOSAL
Greenwood T BologniaCanadaAmy Elsner RENEWAL
Jefferson E PaprockiGermanyIvan Magalhaes UNQUALIFIED
Arvin S VocelkaJapanXuxue Feng UNQUALIFIED
Francesco P GauchoAustraliaAnna Fali PROPOSAL
Chavez J OstroskyJapanIvan Magalhaes NEGOTIATION
Maria B AlbaresCanadaXuxue Feng RENEWAL
Emily C SaylorsIndiaBernardo Dominic QUALIFIED
Wickens V SlusarskiArgentinaElwin Sharvill NEGOTIATION
Aika L CaldareraSpainElwin Sharvill PROPOSAL
Munro M VocelkaArgentinaElwin Sharvill RENEWAL
Rodrigues J MaletGermanyXuxue Feng PROPOSAL
Ricardo A MaletIndiaStephen Shaw NEGOTIATION
Silvio N RutaIndiaOnyama Limba RENEWAL
Nicolas D BriddickItalyBernardo Dominic NEGOTIATION
Deepesh S CaudyRussiaOnyama Limba RENEWAL
Cody J AlbaresFranceAmy Elsner UNQUALIFIED
Jeanfrancois G WhobreyIndiaXuxue Feng RENEWAL
Silvio O KolmetzUnited KingdomStephen Shaw QUALIFIED
Faith N VocelkaIndiaIoni Bowcher NEGOTIATION
Aika T SchemmerJapanAsiya Javayant NEGOTIATION
Julie X BriddickSpainAmy Elsner NEGOTIATION
Izzy F FerenczRussiaStephen Shaw UNQUALIFIED
Ricardo K SlusarskiFranceStephen Shaw QUALIFIED
Costa L BriddickArgentinaAsiya Javayant UNQUALIFIED
Clifford D KuskoGermanyStephen Shaw NEGOTIATION
Faith J KolmetzBrazilIvan Magalhaes RENEWAL
Faith I WaycottArgentinaElwin Sharvill NEGOTIATION
Claire C RoysterAustraliaIoni Bowcher NEW
James T RoysterJapanIoni Bowcher NEW
Silvio F InouyeCanadaIoni Bowcher NEW
Antonio Q BologniaArgentinaAsiya Javayant PROPOSAL
Arvin E FigeroaJapanElwin Sharvill PROPOSAL
Aditya W ShinkoBrazilAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Ivar Z WieserIndiaAmy Elsner NEGOTIATION
Munro R FigeroaBrazilIvan Magalhaes NEGOTIATION
Sinclair N WieserCanadaAsiya Javayant PROPOSAL
Adams U PerinAustraliaBernardo Dominic RENEWAL
Cody T SaylorsIndiaXuxue Feng NEGOTIATION
Aruna P SlusarskiGermanyAnna Fali NEW
Mujtaba F MorascaFranceElwin Sharvill NEGOTIATION
Aika P SergiArgentinaIvan Magalhaes QUALIFIED
Costa O PaprockiUnited KingdomAnna Fali NEGOTIATION
Izzy P OstroskyFranceXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow R CaudyJapan2025-08-19Printing Dimensions RENEWAL98Bernardo Dominic
1001Leon F StensethAustralia2025-07-30Feiner Bros QUALIFIED91Stephen Shaw
1002Ashley A VocelkaSpain2025-08-12Feltz Printing Service UNQUALIFIED0Stephen Shaw
1003Smith P FerenczRussia2025-08-25Rousseaux, Michael Esq QUALIFIED62Elwin Sharvill
1004Aruna P GarufiUnited Kingdom2025-08-18Dorl, James J Esq UNQUALIFIED42Ivan Magalhaes
1005Chavez V RulapaughUnited Kingdom2025-08-17Buckley Miller Wright UNQUALIFIED57Anna Fali
1006Ivar T MacleadRussia2025-08-14Chemel, James L Cpa NEW71Bernardo Dominic
1007Maria U FlosiCanada2025-07-27Printing Dimensions NEW25Ioni Bowcher
1008Jones S NestleSpain2025-08-20Rangoni Of Florence QUALIFIED1Anna Fali
1009Leon H AmigonRussia2025-08-18Benton, John B Jr RENEWAL44Bernardo Dominic
1010Emily Y GauchoGermany2025-08-23Feltz Printing Service NEW23Ivan Magalhaes
1011Wickens S MacleadBrazil2025-08-17Feltz Printing Service UNQUALIFIED23Amy Elsner
1012Silvio Z FollerItaly2025-08-12Rousseaux, Michael Esq PROPOSAL53Amy Elsner
1013Ivar T DoeArgentina2025-08-07Commercial Press RENEWAL18Asiya Javayant
1014Antonio Z GillianFrance2025-07-28Morlong Associates RENEWAL89Xuxue Feng
1015Sinclair M RutaItaly2025-08-23Chanay, Jeffrey A Esq RENEWAL90Onyama Limba
1016Aruna P FerenczUnited Kingdom2025-08-07King, Christopher A Esq UNQUALIFIED77Xuxue Feng
1017Deepesh M SergiGermany2025-08-12Morlong Associates PROPOSAL9Anna Fali
1018Chavez E NestleJapan2025-08-13Truhlar And Truhlar Attys QUALIFIED57Asiya Javayant
1019Jefferson I WhobreySpain2025-08-07Chanay, Jeffrey A Esq PROPOSAL11Xuxue Feng
1020Stacey L PaprockiGermany2025-08-15Truhlar And Truhlar Attys RENEWAL9Ivan Magalhaes
1021Rodrigues V CaldareraCanada2025-07-29Morlong Associates PROPOSAL29Onyama Limba
1022Nicolas S BowleyAustralia2025-08-01Truhlar And Truhlar Attys UNQUALIFIED46Ioni Bowcher
1023Sinclair D OstroskyArgentina2025-08-07Morlong Associates NEGOTIATION31Anna Fali
1024Chavez I OldroydAustralia2025-08-14Truhlar And Truhlar Attys NEW93Amy Elsner
1025Clifford O SlusarskiIndia2025-08-05Benton, John B Jr PROPOSAL44Stephen Shaw
1026Claire F DarakjyBrazil2025-08-15Chemel, James L Cpa UNQUALIFIED79Xuxue Feng
1027Morrow T PaprockiItaly2025-08-09Chanay, Jeffrey A Esq QUALIFIED43Xuxue Feng
1028Juan T OstroskyFrance2025-07-31Chemel, James L Cpa NEGOTIATION44Stephen Shaw
1029Izzy P ShinkoUnited Kingdom2025-08-22King, Christopher A Esq NEGOTIATION6Xuxue Feng
1030Darci S GarufiSpain2025-07-30Dorl, James J Esq PROPOSAL45Bernardo Dominic
1031Darci F MarrierAustralia2025-08-12Rangoni Of Florence PROPOSAL58Bernardo Dominic
1032Kaitlin V OstroskyJapan2025-08-11Morlong Associates UNQUALIFIED93Anna Fali
1033Maisha R VenereCanada2025-08-01Rangoni Of Florence NEW33Ivan Magalhaes
1034Morrow I NickaSpain2025-08-10Commercial Press NEW61Bernardo Dominic
1035Jefferson A GauchoRussia2025-07-30Morlong Associates QUALIFIED87Anna Fali
1036Aika I SlusarskiGermany2025-08-23Feltz Printing Service NEW98Ioni Bowcher
1037Octavia H DilliardUnited Kingdom2025-08-12Dorl, James J Esq UNQUALIFIED45Anna Fali
1038Clifford K VenereAustralia2025-07-27Dorl, James J Esq PROPOSAL81Asiya Javayant
1039Francesco T CaldareraFrance2025-07-27Dorl, James J Esq NEGOTIATION21Anna Fali
1040Adams X GillianUnited Kingdom2025-08-17Printing Dimensions RENEWAL38Xuxue Feng
1041Sinclair Q FollerUnited Kingdom2025-08-14Benton, John B Jr NEW57Bernardo Dominic
1042Isabel W OstroskyBrazil2025-08-01Feiner Bros UNQUALIFIED7Elwin Sharvill
1043Aditya Q PoquetteJapan2025-08-13Chanay, Jeffrey A Esq NEGOTIATION33Stephen Shaw
1044Cody Z FlosiCanada2025-08-18Feltz Printing Service QUALIFIED18Asiya Javayant
1045Rodrigues A DilliardRussia2025-08-23Rangoni Of Florence PROPOSAL77Xuxue Feng
1046Juan W MacleadRussia2025-08-12Rousseaux, Michael Esq RENEWAL18Anna Fali
1047Leon Y MorascaArgentina2025-08-07Feiner Bros NEW22Amy Elsner
1048James E WaycottRussia2025-08-16Printing Dimensions UNQUALIFIED43Stephen Shaw
1049Jeanfrancois I KuskoJapan2025-08-24Chemel, James L Cpa NEGOTIATION19Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Isabel A VocelkaUnited KingdomStephen Shaw NEW
Cody F OldroydAustraliaIoni Bowcher UNQUALIFIED
Rodrigues U ChuiJapanIvan Magalhaes PROPOSAL
Jeanfrancois G ShinkoItalyAmy Elsner RENEWAL
Jones Q FerenczFranceIvan Magalhaes NEW
Alejandro I ChuiIndiaAnna Fali PROPOSAL
Isabel V ChuiAustraliaOnyama Limba NEW
Cody G GarufiBrazilBernardo Dominic NEGOTIATION
Kaitlin D MaletItalyBernardo Dominic NEW
Ivar A StockhamCanadaAsiya Javayant QUALIFIED
Sinclair F ChuiAustraliaXuxue Feng NEW
Mujtaba H VenereRussiaAmy Elsner NEGOTIATION
Wickens C CampainIndiaElwin Sharvill PROPOSAL
Ashley B MarrierFranceAsiya Javayant PROPOSAL
Jones C StockhamSpainXuxue Feng RENEWAL
Octavia U WhobreyAustraliaIvan Magalhaes QUALIFIED
Smith N VenereGermanyAmy Elsner NEGOTIATION
Arvin U WaycottIndiaBernardo Dominic UNQUALIFIED
Aruna B ButtFranceAsiya Javayant QUALIFIED
Jennifer Z AlbaresUnited KingdomOnyama Limba RENEWAL
Deepesh U PoquetteJapanIoni Bowcher RENEWAL
Octavia J StockhamJapanElwin Sharvill PROPOSAL
Murillo Z SlusarskiIndiaIoni Bowcher UNQUALIFIED
Aditya Q WieserBrazilAnna Fali RENEWAL
Izzy K TollnerRussiaAsiya Javayant NEGOTIATION
Octavia H GarufiCanadaAsiya Javayant QUALIFIED
Tony K RutaItalyAnna Fali NEGOTIATION
Isabel Y FerenczUnited KingdomXuxue Feng PROPOSAL
Antonio I RimIndiaAnna Fali RENEWAL
Francesco H KuskoAustraliaBernardo Dominic PROPOSAL
Silvio Y WaycottAustraliaAsiya Javayant RENEWAL
Isabel I CaldareraSpainStephen Shaw PROPOSAL
Sinclair V CampainFranceStephen Shaw RENEWAL
Murillo A MorascaIndiaBernardo Dominic QUALIFIED
Sinclair X CaldareraJapanIoni Bowcher RENEWAL
Kadeem Z WaycottBrazilAsiya Javayant UNQUALIFIED
Ashley F SlusarskiBrazilIoni Bowcher NEGOTIATION
Johnson M DarakjyBrazilStephen Shaw PROPOSAL
Isabel D FollerItalyOnyama Limba NEW
Salvatore P GillianCanadaIvan Magalhaes NEGOTIATION
Rodrigues N CampainJapanIvan Magalhaes RENEWAL
Greenwood Y SergiItalyAsiya Javayant RENEWAL
Ricardo H StockhamSpainXuxue Feng NEGOTIATION
Aika L FigeroaCanadaStephen Shaw RENEWAL
Deepesh F KolmetzArgentinaXuxue Feng RENEWAL
Jeanfrancois O FlosiFranceBernardo Dominic PROPOSAL
Aruna A StockhamIndiaElwin Sharvill QUALIFIED
Misaki K PerinRussiaAmy Elsner RENEWAL
Deepesh S CampainGermanyBernardo Dominic RENEWAL
Mujtaba L RoysterIndiaOnyama Limba NEW
Frozen Columns
Name
Kaitlin W Darakjy
Aditya E Waycott
Arvin C Garufi
Murillo P Morasca
Munro H Nestle
Nicolas Z Campain
Clifford I Paprocki
Alejandro G Caudy
Alejandro E Maclead
Salvatore K Marrier
Octavia D Bolognia
Tony Q Maclead
Smith Q Campain
Leja I Paprocki
Ricardo B Kusko
Tony H Ferencz
Claire E Slusarski
Deepesh J Oldroyd
Francesco J Perin
Faith D Rulapaugh
Costa C Figeroa
Mayumi Q Darakjy
Mayumi Q Kolmetz
Julie X Oldroyd
Smith N Butt
David A Schemmer
Kadeem Q Glick
Deepesh B Sergi
Emily N Butt
Stacey H Briddick
Aditya Y Sergi
Murillo Y Kolmetz
Misaki Y Ferencz
Claire O Chui
Chavez A Ferencz
Tony U Sergi
Aika C Briddick
Arvin Z Figeroa
Costa D Dilliard
Alejandro H Stenseth
Mujtaba Y Oldroyd
Jeanfrancois M Tollner
Maria B Inouye
Jeanfrancois B Waycott
Kadeem N Poquette
Faith Q Schemmer
Kadeem S Stockham
Sinclair L Malet
Isabel R Sergi
Jones Z Marrier
IdCountryDate
1000Brazil2025-08-02
1001Japan2025-08-18
1002Spain2025-08-13
1003India2025-08-02
1004Germany2025-07-28
1005Germany2025-07-30
1006Russia2025-08-09
1007Spain2025-08-08
1008Japan2025-08-14
1009Russia2025-08-21
1010Italy2025-08-10
1011United Kingdom2025-08-14
1012Germany2025-08-22
1013Italy2025-08-14
1014Germany2025-08-14
1015Spain2025-08-25
1016Russia2025-08-15
1017Brazil2025-08-19
1018Argentina2025-07-28
1019Germany2025-08-25
1020Australia2025-08-16
1021Italy2025-08-19
1022Brazil2025-07-27
1023Italy2025-08-10
1024France2025-08-21
1025France2025-08-12
1026United Kingdom2025-08-08
1027Germany2025-08-07
1028India2025-08-22
1029India2025-07-29
1030Argentina2025-08-05
1031Brazil2025-08-18
1032Italy2025-07-27
1033Spain2025-08-25
1034Germany2025-08-25
1035Argentina2025-08-24
1036Germany2025-07-29
1037Argentina2025-08-07
1038Japan2025-08-16
1039United Kingdom2025-08-14
1040United Kingdom2025-08-11
1041Australia2025-08-06
1042Germany2025-07-31
1043Australia2025-08-10
1044Brazil2025-07-30
1045Spain2025-08-11
1046Italy2025-08-11
1047Argentina2025-07-30
1048France2025-08-11
1049Italy2025-07-27

On-Demand Data

NameIdCountryDate
James O Caldarera1000Canada2025-08-17
Deepesh T Bowley1001Brazil2025-08-10
Ashley A Waycott1002India2025-08-06
Stacey Y Vocelka1003Italy2025-08-04
Alejandro T Perin1004France2025-08-13
David R Perin1005Italy2025-08-23
Ivar E Glick1006United Kingdom2025-08-13
Deepesh V Ostrosky1007Italy2025-08-16
Greenwood H Waycott1008Spain2025-08-15
Darci B Oldroyd1009Germany2025-08-18
Octavia C Campain1010Australia2025-08-10
Leja Q Wieser1011Canada2025-07-29
Jennifer L Morasca1012Brazil2025-08-10
Aditya W Dilliard1013Russia2025-08-06
Aruna D Campain1014Argentina2025-07-28
Cody N Sergi1015Spain2025-07-27
Wickens E Inouye1016Canada2025-07-29
Mayumi D Tollner1017Australia2025-07-31
Smith E Dilliard1018Russia2025-08-23
Juan F Oldroyd1019United Kingdom2025-08-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson D WhobreySpainXuxue Feng RENEWAL
Ivar T StensethJapanAmy Elsner PROPOSAL
Clifford X SchemmerAustraliaAnna Fali NEW
Maisha V OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Cody X StensethArgentinaAnna Fali NEW
Francesco W StensethJapanAmy Elsner NEGOTIATION
Alejandro P SchemmerAustraliaElwin Sharvill PROPOSAL
Francesco K OstroskyBrazilXuxue Feng PROPOSAL
Silvio N CaudyCanadaAsiya Javayant NEGOTIATION
Tony E SlusarskiBrazilAmy Elsner PROPOSAL
Antonio K AlbaresJapanAnna Fali NEGOTIATION
David J CaudyAustraliaStephen Shaw RENEWAL
Deepesh C TollnerJapanIvan Magalhaes QUALIFIED
Nicolas G OldroydArgentinaStephen Shaw UNQUALIFIED
Jefferson L RoysterUnited KingdomIoni Bowcher NEW
Aditya T CaudyArgentinaOnyama Limba UNQUALIFIED
Emily N TollnerArgentinaIvan Magalhaes RENEWAL
Ashley O SlusarskiItalyStephen Shaw NEW
Rodrigues Z FerenczItalyIoni Bowcher PROPOSAL
Jennifer G PoquetteUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba G FollerArgentinaOnyama Limba QUALIFIED
Jefferson E CaldareraBrazilOnyama Limba QUALIFIED
Chavez X CampainFranceIoni Bowcher QUALIFIED
Leon Q MaletSpainAsiya Javayant PROPOSAL
Chavez P RimCanadaXuxue Feng NEGOTIATION
Jeanfrancois O WaycottGermanyOnyama Limba QUALIFIED
Sinclair W StockhamGermanyAnna Fali QUALIFIED
Jennifer W CaudyItalyStephen Shaw NEGOTIATION
Ashley B GlickJapanBernardo Dominic UNQUALIFIED
Antonio G BowleyGermanyXuxue Feng PROPOSAL
Maria A PerinIndiaStephen Shaw UNQUALIFIED
Leja W KolmetzBrazilIoni Bowcher NEW
Arvin X TollnerRussiaIvan Magalhaes NEGOTIATION
Leja M RoysterFranceElwin Sharvill NEGOTIATION
Clifford L SaylorsGermanyXuxue Feng NEGOTIATION
Claire D DarakjySpainBernardo Dominic UNQUALIFIED
Octavia U DoeJapanStephen Shaw NEGOTIATION
Greenwood Q SaylorsBrazilElwin Sharvill QUALIFIED
Maria B BriddickGermanyOnyama Limba NEW
Ricardo W StockhamRussiaAmy 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>