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
Leja I DilliardArgentinaXuxue Feng NEW
Salvatore U FlosiUnited KingdomBernardo Dominic NEGOTIATION
Murillo X AlbaresBrazilOnyama Limba PROPOSAL
Maisha A FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Maria F TollnerSpainAnna Fali PROPOSAL
Jennifer D TollnerArgentinaIvan Magalhaes QUALIFIED
Arvin W WaycottRussiaAsiya Javayant UNQUALIFIED
Aruna B SergiSpainOnyama Limba UNQUALIFIED
Leon W DarakjyGermanyIoni Bowcher NEW
Jefferson H RulapaughBrazilBernardo Dominic NEGOTIATION
Ivar M StensethUnited KingdomAmy Elsner NEGOTIATION
Kaitlin B CaudyIndiaOnyama Limba RENEWAL
Izzy Q ChuiCanadaXuxue Feng NEGOTIATION
Clifford I SlusarskiIndiaStephen Shaw NEGOTIATION
Sinclair Q RimRussiaIvan Magalhaes RENEWAL
Kadeem O FigeroaCanadaElwin Sharvill RENEWAL
Maria P PaprockiSpainStephen Shaw NEGOTIATION
Jennifer T RoysterSpainIvan Magalhaes NEW
Kaitlin P RimIndiaBernardo Dominic PROPOSAL
Jennifer J GauchoRussiaXuxue Feng QUALIFIED
Faith S VocelkaRussiaBernardo Dominic UNQUALIFIED
Francesco Q RutaAustraliaAmy Elsner PROPOSAL
Cody A PerinJapanOnyama Limba RENEWAL
Faith Y PoquetteAustraliaStephen Shaw NEGOTIATION
Ivar Y GillianFranceOnyama Limba NEGOTIATION
Smith Q MaletCanadaAsiya Javayant RENEWAL
Adams Q GauchoJapanAsiya Javayant QUALIFIED
Emily K KuskoRussiaOnyama Limba QUALIFIED
Juan E GlickGermanyBernardo Dominic PROPOSAL
Adams S AmigonBrazilBernardo Dominic RENEWAL
Jefferson B MorascaJapanAmy Elsner NEW
Murillo X StockhamFranceElwin Sharvill RENEWAL
Mayumi R SergiRussiaBernardo Dominic NEGOTIATION
Izzy C InouyeGermanyOnyama Limba QUALIFIED
Maisha G CampainBrazilIvan Magalhaes PROPOSAL
David I FigeroaCanadaAnna Fali PROPOSAL
Antonio F OstroskyRussiaBernardo Dominic UNQUALIFIED
Ricardo Y FollerCanadaAmy Elsner NEGOTIATION
Aika Q FlosiSpainBernardo Dominic QUALIFIED
Morrow M FollerJapanBernardo Dominic UNQUALIFIED
Deepesh M DarakjyItalyIvan Magalhaes QUALIFIED
Antonio G IturbideJapanElwin Sharvill NEW
Faith Z SaylorsJapanBernardo Dominic NEW
Johnson C RimGermanyElwin Sharvill QUALIFIED
Nicolas R GarufiRussiaBernardo Dominic RENEWAL
Stacey Y CaudyItalyAnna Fali NEGOTIATION
Deepesh R SaylorsCanadaElwin Sharvill UNQUALIFIED
Claire C VocelkaCanadaAmy Elsner NEW
Jefferson N IturbideSpainBernardo Dominic NEGOTIATION
Smith R AlbaresBrazilBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Wickens Q CaudyFranceElwin Sharvill NEW
Maisha N WieserIndiaXuxue Feng UNQUALIFIED
Silvio B InouyeSpainStephen Shaw PROPOSAL
Ricardo T MarrierJapanElwin Sharvill NEGOTIATION
Leja X FlosiRussiaIoni Bowcher QUALIFIED
Mujtaba P FollerAustraliaAnna Fali NEW
Emily D GauchoBrazilAnna Fali QUALIFIED
Ricardo Z WieserItalyStephen Shaw NEGOTIATION
Rodrigues N FollerJapanOnyama Limba QUALIFIED
Kadeem Q FerenczArgentinaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa W ShinkoUnited Kingdom2025-10-18Benton, John B Jr NEW22Elwin Sharvill
1001Isabel N RutaItaly2025-10-07Chanay, Jeffrey A Esq NEW53Anna Fali
1002Kadeem P PaprockiRussia2025-10-21Printing Dimensions RENEWAL40Onyama Limba
1003Johnson H MacleadItaly2025-10-17Feiner Bros RENEWAL53Amy Elsner
1004Jefferson S ButtRussia2025-10-28Rousseaux, Michael Esq RENEWAL99Asiya Javayant
1005Juan L InouyeBrazil2025-11-02Benton, John B Jr QUALIFIED33Bernardo Dominic
1006David O TollnerSpain2025-10-21Buckley Miller Wright UNQUALIFIED18Onyama Limba
1007Misaki G SaylorsIndia2025-10-25Dorl, James J Esq PROPOSAL25Ioni Bowcher
1008Maisha A VenereCanada2025-10-26Chanay, Jeffrey A Esq QUALIFIED62Xuxue Feng
1009Maria F FollerItaly2025-10-08Benton, John B Jr QUALIFIED87Onyama Limba
1010Maria P PaprockiIndia2025-11-01Commercial Press RENEWAL99Amy Elsner
1011Francesco N OstroskyAustralia2025-10-19Benton, John B Jr PROPOSAL93Asiya Javayant
1012Leon C BowleyAustralia2025-10-08Buckley Miller Wright PROPOSAL62Asiya Javayant
1013James L DoeCanada2025-10-23Buckley Miller Wright NEW95Bernardo Dominic
1014Kaitlin L OldroydJapan2025-10-28Chemel, James L Cpa QUALIFIED25Stephen Shaw
1015Greenwood J IturbideCanada2025-11-02Rangoni Of Florence NEW16Amy Elsner
1016Misaki W WhobreyBrazil2025-10-20Printing Dimensions RENEWAL98Anna Fali
1017Claire X PoquetteArgentina2025-10-22Chapman, Ross E Esq UNQUALIFIED43Xuxue Feng
1018Costa R DoeItaly2025-10-12Rousseaux, Michael Esq UNQUALIFIED15Xuxue Feng
1019Claire E PoquetteAustralia2025-11-02Chapman, Ross E Esq NEW4Asiya Javayant
1020Ricardo D BriddickJapan2025-10-19Chemel, James L Cpa UNQUALIFIED13Amy Elsner
1021Aika A WaycottRussia2025-10-13Printing Dimensions NEW63Anna Fali
1022Leja V GillianRussia2025-10-09Chemel, James L Cpa NEW42Stephen Shaw
1023Munro L KuskoFrance2025-10-20King, Christopher A Esq RENEWAL97Anna Fali
1024Emily G ButtRussia2025-10-18Feiner Bros NEGOTIATION15Ioni Bowcher
1025Jennifer Y WhobreyRussia2025-10-26Commercial Press NEGOTIATION15Stephen Shaw
1026Misaki O SlusarskiSpain2025-10-18Chapman, Ross E Esq UNQUALIFIED71Elwin Sharvill
1027Adams K BowleyJapan2025-10-30Rousseaux, Michael Esq UNQUALIFIED41Ioni Bowcher
1028Jones A BologniaUnited Kingdom2025-10-06Chapman, Ross E Esq NEW16Amy Elsner
1029Jefferson S AmigonJapan2025-10-10Buckley Miller Wright UNQUALIFIED50Bernardo Dominic
1030Clifford C DilliardJapan2025-10-28Commercial Press RENEWAL47Anna Fali
1031David A RulapaughSpain2025-10-17Chemel, James L Cpa NEGOTIATION28Anna Fali
1032Jefferson R OstroskyJapan2025-10-14King, Christopher A Esq NEGOTIATION54Xuxue Feng
1033Salvatore G GillianFrance2025-11-02Benton, John B Jr PROPOSAL31Elwin Sharvill
1034Alejandro D FerenczSpain2025-10-11Printing Dimensions NEW80Asiya Javayant
1035Morrow N OldroydArgentina2025-10-07Rousseaux, Michael Esq PROPOSAL28Ioni Bowcher
1036Wickens R SlusarskiUnited Kingdom2025-10-08Commercial Press NEGOTIATION58Stephen Shaw
1037Leon B DarakjyRussia2025-10-16Feltz Printing Service UNQUALIFIED29Ioni Bowcher
1038Jones U GlickRussia2025-11-01Dorl, James J Esq QUALIFIED72Onyama Limba
1039Morrow R WaycottRussia2025-10-08Dorl, James J Esq NEGOTIATION79Ivan Magalhaes
1040Chavez Z VocelkaArgentina2025-10-12Truhlar And Truhlar Attys UNQUALIFIED66Ivan Magalhaes
1041Isabel M CaudyFrance2025-10-11Commercial Press RENEWAL50Amy Elsner
1042Adams C WhobreyArgentina2025-11-04Morlong Associates RENEWAL36Ioni Bowcher
1043Sinclair K VenereRussia2025-10-19Morlong Associates QUALIFIED77Ivan Magalhaes
1044Ivar H NestleArgentina2025-10-27Feiner Bros QUALIFIED86Ivan Magalhaes
1045Jeanfrancois P VocelkaSpain2025-10-10Printing Dimensions UNQUALIFIED42Ioni Bowcher
1046Greenwood J GlickCanada2025-10-27Rangoni Of Florence PROPOSAL71Ioni Bowcher
1047Silvio M IturbideUnited Kingdom2025-10-28Chanay, Jeffrey A Esq QUALIFIED32Elwin Sharvill
1048Jones M VocelkaBrazil2025-10-29Dorl, James J Esq QUALIFIED24Asiya Javayant
1049Faith D PaprockiBrazil2025-10-14Feltz Printing Service NEGOTIATION61Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Antonio S GauchoFranceAnna Fali NEW
Alejandro G NickaArgentinaIoni Bowcher PROPOSAL
Misaki A VenereGermanyXuxue Feng PROPOSAL
Kaitlin K BriddickFranceIvan Magalhaes NEGOTIATION
Adams Z AlbaresArgentinaAsiya Javayant NEW
Nicolas X RutaIndiaIoni Bowcher NEGOTIATION
Mayumi B TollnerUnited KingdomAmy Elsner RENEWAL
Emily W FollerCanadaBernardo Dominic RENEWAL
Aika A IturbideCanadaAmy Elsner PROPOSAL
Aditya H DilliardAustraliaAmy Elsner PROPOSAL
Leon F StockhamArgentinaBernardo Dominic QUALIFIED
Francesco U IturbideArgentinaXuxue Feng PROPOSAL
Jones E OldroydFranceBernardo Dominic UNQUALIFIED
Wickens O StockhamBrazilXuxue Feng PROPOSAL
Leja M FigeroaUnited KingdomAsiya Javayant PROPOSAL
Greenwood N SchemmerBrazilAsiya Javayant PROPOSAL
Claire F InouyeRussiaAnna Fali NEGOTIATION
Wickens J NickaRussiaBernardo Dominic NEW
Wickens J PaprockiUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois M MacleadItalyIoni Bowcher NEGOTIATION
Mujtaba P AmigonAustraliaBernardo Dominic NEGOTIATION
Sinclair U DilliardItalyIoni Bowcher UNQUALIFIED
Clifford J VenereCanadaOnyama Limba QUALIFIED
Mujtaba C BriddickFranceAnna Fali NEGOTIATION
Claire X FerenczIndiaAnna Fali RENEWAL
Jones K WieserRussiaAmy Elsner PROPOSAL
Aruna T WhobreyCanadaAsiya Javayant RENEWAL
Juan D RimGermanyStephen Shaw RENEWAL
Johnson K GlickFranceIoni Bowcher RENEWAL
James B StockhamCanadaIoni Bowcher QUALIFIED
Maisha O FerenczItalyAnna Fali NEGOTIATION
Ivar H TollnerJapanAsiya Javayant RENEWAL
Juan T FlosiJapanElwin Sharvill NEGOTIATION
Tony V RutaBrazilOnyama Limba UNQUALIFIED
Adams S FerenczFranceBernardo Dominic UNQUALIFIED
Jeanfrancois G FigeroaGermanyOnyama Limba NEGOTIATION
Julie V StockhamAustraliaAnna Fali QUALIFIED
Leja X CaldareraUnited KingdomIoni Bowcher PROPOSAL
David Y OstroskyArgentinaOnyama Limba QUALIFIED
James V WaycottJapanBernardo Dominic PROPOSAL
Nicolas O NickaCanadaAsiya Javayant QUALIFIED
Claire T DarakjyCanadaAsiya Javayant UNQUALIFIED
Stacey R WaycottAustraliaAsiya Javayant PROPOSAL
Leja Z NickaSpainXuxue Feng UNQUALIFIED
Leon K FlosiItalyBernardo Dominic UNQUALIFIED
Emily M SlusarskiUnited KingdomStephen Shaw QUALIFIED
Salvatore N KuskoIndiaAnna Fali RENEWAL
Kaitlin T SaylorsFranceXuxue Feng RENEWAL
Deepesh A WhobreyJapanXuxue Feng QUALIFIED
Murillo C ShinkoGermanyIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Deepesh W Bolognia
Mujtaba N Maclead
Aika C Briddick
Arvin A Bolognia
Greenwood C Iturbide
Tony T Foller
Wickens F Sergi
Izzy Q Ferencz
Mayumi C Albares
Chavez D Gaucho
Antonio P Caudy
Kaitlin T Schemmer
Emily J Caudy
Mujtaba J Ruta
Alejandro K Marrier
Leja W Sergi
Deepesh D Schemmer
Misaki Y Dilliard
Murillo E Darakjy
Jeanfrancois A Rulapaugh
Stacey M Slusarski
Claire N Bolognia
Nicolas V Ostrosky
James O Kusko
Wickens S Maclead
Mayumi O Rim
Maisha K Glick
Darci Y Rim
Aika U Bowley
Deepesh V Gaucho
Isabel I Darakjy
Leon Q Ostrosky
Leon K Bolognia
Jefferson L Rim
Alejandro D Tollner
Rodrigues T Morasca
Jefferson D Glick
Deepesh M Bowley
Izzy C Poquette
Stacey F Gaucho
Leja W Inouye
Greenwood U Garufi
Sinclair G Malet
Izzy Q Campain
Emily I Malet
Salvatore B Kusko
Alejandro V Flosi
Aika W Perin
Ashley S Slusarski
Alejandro B Bowley
IdCountryDate
1000Australia2025-10-26
1001France2025-10-12
1002Russia2025-11-03
1003Canada2025-10-09
1004Australia2025-10-06
1005United Kingdom2025-10-09
1006France2025-10-30
1007Russia2025-10-10
1008India2025-10-23
1009India2025-10-18
1010Canada2025-10-23
1011Germany2025-10-25
1012Japan2025-10-16
1013Australia2025-11-04
1014Canada2025-10-20
1015Russia2025-10-23
1016Brazil2025-10-25
1017Argentina2025-10-16
1018Brazil2025-10-11
1019Brazil2025-10-28
1020Canada2025-11-02
1021Russia2025-10-16
1022Germany2025-10-10
1023Germany2025-10-28
1024Russia2025-10-26
1025United Kingdom2025-10-17
1026Spain2025-10-11
1027Brazil2025-10-21
1028Russia2025-10-07
1029Germany2025-10-19
1030Australia2025-10-07
1031France2025-10-15
1032Brazil2025-10-23
1033Australia2025-10-19
1034India2025-10-09
1035Spain2025-10-15
1036Spain2025-10-14
1037Australia2025-10-26
1038Canada2025-10-18
1039Japan2025-10-11
1040India2025-10-16
1041Italy2025-10-21
1042Argentina2025-10-17
1043Germany2025-10-20
1044France2025-10-20
1045India2025-10-31
1046Argentina2025-10-31
1047Argentina2025-10-08
1048Germany2025-10-23
1049Japan2025-10-26

On-Demand Data

NameIdCountryDate
Kadeem R Ruta1000Spain2025-10-20
Francesco H Iturbide1001Argentina2025-10-13
Leja W Whobrey1002United Kingdom2025-10-15
Stacey V Rim1003France2025-10-18
Greenwood S Butt1004Japan2025-10-31
Johnson M Ruta1005Argentina2025-10-25
Izzy P Inouye1006Russia2025-10-29
Munro M Paprocki1007Australia2025-10-27
Antonio O Butt1008India2025-10-24
Johnson B Briddick1009Italy2025-10-29
Isabel L Kusko1010Italy2025-10-08
Maisha W Briddick1011Germany2025-10-11
Misaki J Darakjy1012France2025-10-27
Faith P Garufi1013Spain2025-10-09
James G Gaucho1014Russia2025-10-16
Julie K Amigon1015France2025-10-06
Antonio X Butt1016India2025-10-20
Aika I Poquette1017United Kingdom2025-10-24
Kaitlin K Bolognia1018Argentina2025-10-19
Aruna G Bowley1019Canada2025-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci V MorascaRussiaElwin Sharvill PROPOSAL
Arvin Q BriddickFranceStephen Shaw UNQUALIFIED
David U TollnerJapanAsiya Javayant QUALIFIED
Murillo B SaylorsAustraliaElwin Sharvill RENEWAL
Deepesh B AmigonGermanyXuxue Feng NEW
Aika S NickaJapanAmy Elsner PROPOSAL
Maisha S ButtIndiaIoni Bowcher RENEWAL
Costa W ChuiIndiaIoni Bowcher UNQUALIFIED
Faith B DoeItalyIvan Magalhaes NEW
Nicolas R WieserRussiaBernardo Dominic RENEWAL
Arvin V ChuiCanadaAnna Fali QUALIFIED
Octavia M KuskoGermanyAmy Elsner UNQUALIFIED
Johnson Z PoquetteUnited KingdomXuxue Feng PROPOSAL
Claire B SchemmerSpainOnyama Limba NEW
Julie Q SaylorsBrazilStephen Shaw PROPOSAL
Costa D NickaRussiaXuxue Feng QUALIFIED
Claire I VocelkaFranceAnna Fali QUALIFIED
Octavia D WhobreyItalyIvan Magalhaes PROPOSAL
Izzy Q NickaSpainAmy Elsner QUALIFIED
Cody I FerenczCanadaOnyama Limba UNQUALIFIED
Aditya L NickaGermanyAsiya Javayant UNQUALIFIED
Cody K PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
David T RoysterUnited KingdomStephen Shaw NEGOTIATION
Misaki N TollnerArgentinaAmy Elsner UNQUALIFIED
Darci W MarrierGermanyElwin Sharvill UNQUALIFIED
Aruna W WhobreyCanadaAmy Elsner NEGOTIATION
Darci L StockhamGermanyAsiya Javayant NEGOTIATION
Juan A IturbideItalyIvan Magalhaes RENEWAL
Deepesh I SaylorsItalyOnyama Limba PROPOSAL
Julie X StensethIndiaIvan Magalhaes NEGOTIATION
Chavez M InouyeAustraliaAmy Elsner QUALIFIED
Octavia N CaudyUnited KingdomBernardo Dominic PROPOSAL
David C GlickBrazilIoni Bowcher QUALIFIED
Kaitlin R MaletGermanyAsiya Javayant UNQUALIFIED
Jones A AlbaresFranceBernardo Dominic NEW
Juan A StensethGermanyElwin Sharvill PROPOSAL
Deepesh Q RulapaughItalyAnna Fali QUALIFIED
Costa O VocelkaUnited KingdomStephen Shaw QUALIFIED
Isabel C CaudyJapanAmy Elsner NEW
Murillo A KolmetzJapanBernardo 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>