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
Jefferson V MaletSpainStephen Shaw UNQUALIFIED
Mujtaba J GlickIndiaXuxue Feng RENEWAL
Tony J BologniaSpainElwin Sharvill QUALIFIED
Adams K GauchoGermanyBernardo Dominic QUALIFIED
Smith V GauchoSpainAmy Elsner RENEWAL
Aruna X MaletBrazilStephen Shaw PROPOSAL
Leon C ButtItalyAmy Elsner NEGOTIATION
Clifford P SchemmerGermanyAmy Elsner RENEWAL
Stacey X VocelkaAustraliaOnyama Limba UNQUALIFIED
Mujtaba U StockhamFranceStephen Shaw QUALIFIED
Silvio J FlosiCanadaStephen Shaw UNQUALIFIED
Nicolas F SaylorsSpainIoni Bowcher QUALIFIED
Jefferson Q AlbaresIndiaAmy Elsner RENEWAL
Kaitlin S MaletUnited KingdomAmy Elsner PROPOSAL
Mayumi H SchemmerAustraliaXuxue Feng NEGOTIATION
Aika R FerenczIndiaStephen Shaw UNQUALIFIED
Aika K SlusarskiGermanyXuxue Feng QUALIFIED
Izzy O FlosiArgentinaAsiya Javayant QUALIFIED
Emily N OldroydUnited KingdomIoni Bowcher NEW
Jennifer U OstroskyRussiaAnna Fali UNQUALIFIED
Adams E RoysterItalyXuxue Feng PROPOSAL
Maisha N OstroskyArgentinaAmy Elsner NEW
Arvin W RulapaughUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba Z StensethRussiaIoni Bowcher NEW
Maria H NestleFranceIoni Bowcher RENEWAL
Darci V DoeBrazilAnna Fali NEGOTIATION
Ashley U NickaSpainElwin Sharvill RENEWAL
Mujtaba X MarrierAustraliaIoni Bowcher PROPOSAL
Smith K CampainItalyAnna Fali PROPOSAL
Francesco Y InouyeIndiaIoni Bowcher UNQUALIFIED
Leja S DoeAustraliaStephen Shaw QUALIFIED
Salvatore V ChuiArgentinaBernardo Dominic NEGOTIATION
Murillo Z RimIndiaIoni Bowcher UNQUALIFIED
Clifford D ChuiBrazilIvan Magalhaes UNQUALIFIED
Maria T PaprockiGermanyAsiya Javayant UNQUALIFIED
Claire S RulapaughIndiaAmy Elsner NEGOTIATION
Mujtaba Y GarufiSpainElwin Sharvill NEW
Kadeem P CaldareraGermanyElwin Sharvill NEW
David I AlbaresIndiaAsiya Javayant PROPOSAL
Antonio J PerinSpainElwin Sharvill QUALIFIED
Johnson T MaletFranceAnna Fali NEGOTIATION
Antonio B BologniaArgentinaAmy Elsner NEW
Silvio J CaldareraFranceAmy Elsner RENEWAL
Aditya F WhobreyIndiaIvan Magalhaes NEW
Julie F BowleyIndiaIoni Bowcher PROPOSAL
Smith K BologniaAustraliaStephen Shaw NEGOTIATION
Greenwood U AmigonArgentinaAmy Elsner PROPOSAL
Murillo W SlusarskiFranceXuxue Feng UNQUALIFIED
Johnson S BowleyGermanyBernardo Dominic PROPOSAL
Octavia L SergiBrazilBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Julie K BologniaAustraliaStephen Shaw PROPOSAL
Sinclair U SaylorsRussiaElwin Sharvill NEW
Francesco W MaletIndiaElwin Sharvill NEW
Tony Y KolmetzGermanyOnyama Limba PROPOSAL
Aruna H DilliardSpainStephen Shaw PROPOSAL
Murillo H FerenczIndiaElwin Sharvill RENEWAL
Wickens V WieserSpainStephen Shaw NEW
Ashley Z GauchoIndiaStephen Shaw NEW
Aruna R RulapaughAustraliaAsiya Javayant UNQUALIFIED
Darci F DoeJapanStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio T IturbideJapan2025-07-30Dorl, James J Esq UNQUALIFIED20Bernardo Dominic
1001Ricardo T OldroydArgentina2025-08-07Morlong Associates QUALIFIED48Stephen Shaw
1002Arvin O ButtJapan2025-08-16King, Christopher A Esq PROPOSAL0Elwin Sharvill
1003Salvatore H SchemmerArgentina2025-08-21Truhlar And Truhlar Attys NEW26Ioni Bowcher
1004Deepesh K OstroskyJapan2025-08-17King, Christopher A Esq UNQUALIFIED47Anna Fali
1005Ricardo R MarrierFrance2025-07-26King, Christopher A Esq UNQUALIFIED2Ivan Magalhaes
1006James Z VocelkaUnited Kingdom2025-08-11Chapman, Ross E Esq RENEWAL16Ioni Bowcher
1007Clifford K WieserJapan2025-08-09Truhlar And Truhlar Attys PROPOSAL21Anna Fali
1008Silvio U MarrierBrazil2025-08-24Commercial Press PROPOSAL13Ioni Bowcher
1009Chavez E MacleadCanada2025-08-02Chemel, James L Cpa UNQUALIFIED33Onyama Limba
1010Octavia B BriddickGermany2025-07-30Chemel, James L Cpa UNQUALIFIED94Ivan Magalhaes
1011Nicolas H SaylorsUnited Kingdom2025-08-04King, Christopher A Esq PROPOSAL23Onyama Limba
1012Murillo P SergiUnited Kingdom2025-08-02Morlong Associates PROPOSAL22Ioni Bowcher
1013Darci F RimJapan2025-08-04Morlong Associates PROPOSAL68Amy Elsner
1014Leon J CaldareraItaly2025-08-03Truhlar And Truhlar Attys RENEWAL49Bernardo Dominic
1015Leja H VenereGermany2025-08-03Chapman, Ross E Esq QUALIFIED52Ioni Bowcher
1016Francesco J FigeroaArgentina2025-08-17Benton, John B Jr RENEWAL26Bernardo Dominic
1017Mayumi Z BowleyIndia2025-08-17Rangoni Of Florence UNQUALIFIED44Anna Fali
1018Julie B VenereUnited Kingdom2025-08-07Buckley Miller Wright QUALIFIED7Bernardo Dominic
1019Isabel I StensethCanada2025-08-07Chemel, James L Cpa QUALIFIED25Bernardo Dominic
1020Adams B MorascaRussia2025-08-08King, Christopher A Esq RENEWAL24Amy Elsner
1021Chavez Q FlosiAustralia2025-07-30Buckley Miller Wright QUALIFIED74Asiya Javayant
1022Salvatore C WieserBrazil2025-08-21Rousseaux, Michael Esq PROPOSAL76Amy Elsner
1023Octavia B FollerAustralia2025-08-16Chapman, Ross E Esq NEW42Asiya Javayant
1024Mayumi R MarrierArgentina2025-08-13Benton, John B Jr PROPOSAL75Asiya Javayant
1025Aditya I RoysterCanada2025-08-15Feltz Printing Service NEW31Stephen Shaw
1026Aika C GlickArgentina2025-08-16Chapman, Ross E Esq NEW59Ivan Magalhaes
1027David P SlusarskiIndia2025-08-02Rangoni Of Florence NEGOTIATION15Elwin Sharvill
1028Nicolas Z BriddickArgentina2025-08-05Morlong Associates PROPOSAL29Amy Elsner
1029Clifford W RoysterFrance2025-08-02Dorl, James J Esq UNQUALIFIED66Ivan Magalhaes
1030Maria L InouyeRussia2025-08-20Buckley Miller Wright RENEWAL92Ioni Bowcher
1031Wickens N ShinkoFrance2025-08-07Feiner Bros RENEWAL59Onyama Limba
1032Costa F AlbaresJapan2025-07-29Feltz Printing Service RENEWAL89Onyama Limba
1033Morrow T PoquetteItaly2025-07-27Commercial Press QUALIFIED21Bernardo Dominic
1034Aruna K PaprockiFrance2025-08-02Benton, John B Jr QUALIFIED3Elwin Sharvill
1035Nicolas Q KuskoItaly2025-08-12Rousseaux, Michael Esq NEGOTIATION41Amy Elsner
1036Kaitlin V NickaRussia2025-07-26Commercial Press NEGOTIATION28Amy Elsner
1037Kaitlin K GarufiGermany2025-08-12Feltz Printing Service QUALIFIED17Asiya Javayant
1038Morrow H MaletGermany2025-08-09Dorl, James J Esq RENEWAL82Amy Elsner
1039Misaki Q TollnerCanada2025-08-11Benton, John B Jr UNQUALIFIED94Amy Elsner
1040Stacey T BologniaArgentina2025-08-05Printing Dimensions PROPOSAL55Xuxue Feng
1041Sinclair F BriddickCanada2025-08-23Printing Dimensions PROPOSAL61Ivan Magalhaes
1042Leon O OstroskyAustralia2025-08-04Chapman, Ross E Esq QUALIFIED59Xuxue Feng
1043Octavia T PerinBrazil2025-08-07Buckley Miller Wright NEW6Ioni Bowcher
1044Silvio O NickaItaly2025-08-24Buckley Miller Wright NEW57Elwin Sharvill
1045Sinclair D VocelkaSpain2025-08-20Commercial Press NEW97Xuxue Feng
1046Aruna G SchemmerSpain2025-08-12Rangoni Of Florence NEGOTIATION42Ioni Bowcher
1047Sinclair C MaletCanada2025-08-16Chanay, Jeffrey A Esq UNQUALIFIED91Elwin Sharvill
1048Maria S KuskoUnited Kingdom2025-08-08King, Christopher A Esq NEGOTIATION46Elwin Sharvill
1049Rodrigues W MarrierFrance2025-08-16Feltz Printing Service QUALIFIED74Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Sinclair R VocelkaBrazilIoni Bowcher RENEWAL
Francesco O BriddickBrazilAsiya Javayant PROPOSAL
James R MaletJapanOnyama Limba RENEWAL
Aditya E MarrierUnited KingdomAnna Fali NEW
Octavia K DilliardCanadaAmy Elsner NEW
Ricardo Y IturbideIndiaOnyama Limba NEGOTIATION
Aika U SergiCanadaAsiya Javayant NEGOTIATION
Smith F BowleySpainAsiya Javayant UNQUALIFIED
Maisha J BologniaBrazilElwin Sharvill NEW
Emily Y WieserUnited KingdomIvan Magalhaes NEGOTIATION
Johnson H AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Francesco Y DarakjyArgentinaAmy Elsner QUALIFIED
Emily X RutaGermanyStephen Shaw NEW
Mujtaba C CampainRussiaStephen Shaw PROPOSAL
Ashley L OstroskySpainAsiya Javayant QUALIFIED
Arvin W GauchoRussiaXuxue Feng NEW
Chavez D ShinkoCanadaBernardo Dominic UNQUALIFIED
Clifford V GlickBrazilStephen Shaw PROPOSAL
Clifford R RimSpainStephen Shaw RENEWAL
Francesco D StensethIndiaIvan Magalhaes RENEWAL
Deepesh M CaldareraBrazilElwin Sharvill PROPOSAL
Jones E GarufiBrazilBernardo Dominic NEGOTIATION
Ashley T GarufiJapanOnyama Limba NEW
Ivar Q CaudyIndiaAsiya Javayant NEW
Deepesh H CaldareraCanadaAnna Fali QUALIFIED
Johnson G DoeUnited KingdomAmy Elsner RENEWAL
Greenwood R ChuiBrazilStephen Shaw RENEWAL
Munro E ChuiIndiaIoni Bowcher PROPOSAL
Munro Y MaletArgentinaOnyama Limba PROPOSAL
Wickens J CaldareraArgentinaIvan Magalhaes QUALIFIED
Darci G DilliardSpainOnyama Limba QUALIFIED
Costa M DilliardUnited KingdomAmy Elsner NEW
Jones Q VenereItalyIvan Magalhaes PROPOSAL
Jeanfrancois D SaylorsJapanAmy Elsner NEGOTIATION
Jones R VocelkaJapanBernardo Dominic NEGOTIATION
Aika S TollnerFranceOnyama Limba QUALIFIED
Greenwood U MarrierRussiaStephen Shaw UNQUALIFIED
David O RulapaughRussiaAnna Fali RENEWAL
Wickens F GarufiItalyIvan Magalhaes PROPOSAL
Darci F MorascaSpainOnyama Limba QUALIFIED
Maria V RoysterArgentinaAnna Fali UNQUALIFIED
Tony K GillianAustraliaIoni Bowcher UNQUALIFIED
Stacey P AmigonItalyElwin Sharvill NEGOTIATION
Jefferson I FigeroaSpainStephen Shaw NEW
Smith K MarrierUnited KingdomStephen Shaw PROPOSAL
Izzy B GillianArgentinaIoni Bowcher PROPOSAL
Munro N KuskoCanadaStephen Shaw NEW
Faith P NestleGermanyAsiya Javayant PROPOSAL
Juan A PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Stacey U ShinkoArgentinaAnna Fali NEW
Frozen Columns
Name
Silvio P Shinko
Juan D Doe
Julie Y Caudy
Darci R Schemmer
Antonio Y Poquette
Wickens N Iturbide
Francesco N Inouye
Izzy J Darakjy
Claire M Royster
Adams J Briddick
Chavez P Albares
Sinclair Q Bowley
Alejandro P Flosi
Emily D Albares
Misaki P Iturbide
Silvio V Perin
Deepesh X Kusko
Jeanfrancois Z Vocelka
Aika H Ruta
Faith U Malet
Ivar V Bowley
Murillo Y Paprocki
Jones L Nestle
Darci N Kolmetz
Tony T Iturbide
Aditya N Flosi
Aditya U Rim
Claire I Briddick
Aruna L Slusarski
Ricardo Y Rim
Maria K Butt
Ivar T Chui
Aika C Glick
Aruna G Foller
Claire L Whobrey
Julie U Amigon
Emily S Caudy
Rodrigues P Amigon
Izzy O Doe
Darci N Schemmer
Izzy A Figeroa
Jeanfrancois U Rim
Cody V Dilliard
Emily L Iturbide
Julie Z Gaucho
Isabel Y Oldroyd
Kaitlin N Caudy
Maria X Doe
Leon P Dilliard
Murillo D Ostrosky
IdCountryDate
1000Japan2025-08-17
1001Canada2025-08-05
1002France2025-08-22
1003Germany2025-07-26
1004Brazil2025-08-07
1005United Kingdom2025-07-31
1006France2025-08-17
1007Brazil2025-08-08
1008Australia2025-08-12
1009India2025-08-15
1010Spain2025-08-14
1011France2025-07-26
1012Italy2025-07-28
1013India2025-08-23
1014Japan2025-08-02
1015United Kingdom2025-08-04
1016Germany2025-08-01
1017Brazil2025-08-20
1018Argentina2025-08-10
1019Russia2025-08-11
1020Argentina2025-08-16
1021France2025-08-13
1022Argentina2025-08-22
1023Canada2025-08-12
1024Germany2025-08-03
1025Italy2025-08-01
1026Spain2025-08-23
1027Australia2025-08-17
1028Spain2025-08-20
1029France2025-08-11
1030Spain2025-07-30
1031Italy2025-08-02
1032Spain2025-08-05
1033Argentina2025-08-23
1034Russia2025-07-29
1035India2025-08-05
1036Brazil2025-08-03
1037Japan2025-08-22
1038United Kingdom2025-08-07
1039France2025-08-22
1040Argentina2025-08-08
1041Canada2025-08-17
1042Brazil2025-07-26
1043Spain2025-07-28
1044Italy2025-08-14
1045Italy2025-08-16
1046France2025-08-05
1047Australia2025-08-12
1048Russia2025-07-26
1049Italy2025-08-19

On-Demand Data

NameIdCountryDate
Munro G Oldroyd1000Argentina2025-08-15
Murillo T Gaucho1001India2025-08-13
Jennifer E Tollner1002Russia2025-08-01
Ashley X Doe1003Italy2025-08-06
Ricardo L Whobrey1004Australia2025-08-15
Ashley O Albares1005Spain2025-08-01
David N Gillian1006Russia2025-07-28
Munro X Royster1007Italy2025-08-14
Maria O Bolognia1008United Kingdom2025-08-14
Deepesh V Rim1009Argentina2025-07-29
Emily V Whobrey1010Japan2025-08-12
Claire Q Vocelka1011Brazil2025-07-28
Greenwood Q Figeroa1012Spain2025-08-20
Rodrigues B Dilliard1013Brazil2025-08-08
Claire L Glick1014Japan2025-08-14
Munro L Saylors1015Argentina2025-07-31
Isabel O Malet1016Spain2025-08-08
Costa W Perin1017Brazil2025-08-02
Julie P Marrier1018Canada2025-07-26
Clifford F Glick1019Japan2025-08-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois O FigeroaGermanyAmy Elsner PROPOSAL
James N MacleadCanadaElwin Sharvill QUALIFIED
Julie V ShinkoBrazilElwin Sharvill UNQUALIFIED
Clifford D BriddickIndiaIoni Bowcher QUALIFIED
Adams O BowleyFranceStephen Shaw QUALIFIED
Claire Z NestleBrazilAsiya Javayant PROPOSAL
David W CaudyUnited KingdomIoni Bowcher QUALIFIED
Misaki C PaprockiIndiaXuxue Feng NEW
Jefferson T CaudyBrazilOnyama Limba NEGOTIATION
Julie O OstroskySpainElwin Sharvill UNQUALIFIED
Johnson D MarrierIndiaIvan Magalhaes QUALIFIED
Kadeem F MaletFranceAnna Fali PROPOSAL
Alejandro G ChuiRussiaXuxue Feng NEGOTIATION
Murillo U BologniaItalyXuxue Feng RENEWAL
Deepesh D PaprockiGermanyAnna Fali NEGOTIATION
Jones O ChuiRussiaAsiya Javayant QUALIFIED
Wickens D OldroydAustraliaOnyama Limba UNQUALIFIED
Chavez Z NestleCanadaAmy Elsner RENEWAL
Arvin K GillianGermanyAmy Elsner UNQUALIFIED
Murillo E ButtIndiaAmy Elsner QUALIFIED
Jeanfrancois R PaprockiGermanyAnna Fali NEGOTIATION
Morrow S FlosiRussiaAsiya Javayant QUALIFIED
Cody U DarakjyBrazilIvan Magalhaes PROPOSAL
Aditya J BowleyGermanyAmy Elsner QUALIFIED
Jennifer P CaudyGermanyBernardo Dominic NEGOTIATION
Stacey R GauchoGermanyIvan Magalhaes PROPOSAL
Jennifer I TollnerArgentinaIoni Bowcher UNQUALIFIED
Jefferson U CaldareraFranceStephen Shaw QUALIFIED
Misaki C RoysterAustraliaAmy Elsner PROPOSAL
Arvin T VenereCanadaAmy Elsner NEW
James Z SchemmerCanadaBernardo Dominic PROPOSAL
Mayumi V RimJapanOnyama Limba QUALIFIED
Cody K SergiItalyAmy Elsner NEGOTIATION
David T ShinkoJapanIvan Magalhaes NEGOTIATION
Deepesh G ShinkoBrazilElwin Sharvill PROPOSAL
Chavez H RulapaughSpainIvan Magalhaes QUALIFIED
Wickens Y RoysterBrazilElwin Sharvill NEGOTIATION
Kadeem I NestleCanadaAsiya Javayant NEW
Stacey F GauchoJapanAmy Elsner NEGOTIATION
Izzy R BowleyFranceAsiya Javayant NEW

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