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
Costa X StensethFranceAnna Fali UNQUALIFIED
Rodrigues I BowleyAustraliaOnyama Limba RENEWAL
David O KolmetzIndiaAmy Elsner QUALIFIED
Nicolas X SergiIndiaIvan Magalhaes PROPOSAL
Isabel E FerenczIndiaIvan Magalhaes NEGOTIATION
Faith W RutaRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois G WieserUnited KingdomIvan Magalhaes UNQUALIFIED
Mujtaba A StensethUnited KingdomAmy Elsner UNQUALIFIED
David R StensethBrazilStephen Shaw QUALIFIED
James S WieserGermanyElwin Sharvill RENEWAL
Emily D MorascaIndiaAnna Fali NEGOTIATION
Munro E FerenczGermanyElwin Sharvill QUALIFIED
Darci Q DoeBrazilElwin Sharvill RENEWAL
Aruna T RimRussiaIoni Bowcher PROPOSAL
Arvin W CaldareraItalyAsiya Javayant RENEWAL
Adams K DoeBrazilAmy Elsner QUALIFIED
Aruna N PoquetteIndiaAsiya Javayant NEW
Leon E BowleyJapanIvan Magalhaes UNQUALIFIED
Ivar N TollnerItalyOnyama Limba QUALIFIED
Murillo I KolmetzItalyIvan Magalhaes PROPOSAL
Clifford Z NestleCanadaElwin Sharvill RENEWAL
David U DilliardIndiaBernardo Dominic NEW
Francesco S InouyeCanadaXuxue Feng RENEWAL
Costa B SchemmerRussiaAmy Elsner RENEWAL
Emily N MaletItalyIvan Magalhaes QUALIFIED
Misaki Q SlusarskiSpainIvan Magalhaes PROPOSAL
Costa A MaletUnited KingdomBernardo Dominic RENEWAL
Nicolas G ChuiCanadaOnyama Limba RENEWAL
Octavia L MorascaIndiaElwin Sharvill QUALIFIED
Smith R InouyeCanadaStephen Shaw RENEWAL
Emily C KolmetzCanadaAmy Elsner PROPOSAL
Murillo U VenereBrazilOnyama Limba UNQUALIFIED
Alejandro O IturbideAustraliaIoni Bowcher PROPOSAL
Ashley N OstroskyJapanOnyama Limba PROPOSAL
Leon D CampainIndiaStephen Shaw NEW
Leja Y TollnerBrazilElwin Sharvill RENEWAL
Juan Z MarrierFranceBernardo Dominic NEGOTIATION
Antonio K GlickSpainXuxue Feng UNQUALIFIED
Kadeem H WhobreyItalyIvan Magalhaes QUALIFIED
Morrow F StockhamJapanElwin Sharvill RENEWAL
Jennifer B VenereRussiaStephen Shaw PROPOSAL
Kaitlin E RimSpainOnyama Limba UNQUALIFIED
Smith T FollerFranceIvan Magalhaes QUALIFIED
Aditya M AlbaresCanadaIvan Magalhaes PROPOSAL
Chavez Z CaldareraIndiaBernardo Dominic NEGOTIATION
Munro R IturbideGermanyOnyama Limba RENEWAL
Arvin Y PaprockiFranceElwin Sharvill RENEWAL
Sinclair Z CampainItalyXuxue Feng RENEWAL
Isabel V FlosiGermanyXuxue Feng PROPOSAL
Murillo M SaylorsSpainBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin G PoquetteBrazilAnna Fali NEGOTIATION
Arvin L StockhamFranceElwin Sharvill NEW
Jennifer I GillianGermanyAnna Fali NEW
Aruna H MorascaBrazilXuxue Feng PROPOSAL
Smith C NickaFranceXuxue Feng RENEWAL
Murillo C GarufiUnited KingdomIvan Magalhaes PROPOSAL
Julie J CampainRussiaBernardo Dominic UNQUALIFIED
Octavia W VenereAustraliaIvan Magalhaes RENEWAL
James S GillianItalyAsiya Javayant PROPOSAL
Octavia X CampainRussiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson N FlosiUnited Kingdom2025-08-25Dorl, James J Esq NEW89Anna Fali
1001Adams F PaprockiUnited Kingdom2025-07-30Chanay, Jeffrey A Esq NEGOTIATION25Stephen Shaw
1002Jeanfrancois H MorascaJapan2025-07-31Buckley Miller Wright QUALIFIED82Asiya Javayant
1003Aditya F RulapaughCanada2025-08-25Rousseaux, Michael Esq NEW52Elwin Sharvill
1004Silvio R RimCanada2025-08-12Morlong Associates PROPOSAL86Bernardo Dominic
1005David X NickaIndia2025-08-18Printing Dimensions PROPOSAL9Asiya Javayant
1006Chavez Y MaletArgentina2025-08-22Rangoni Of Florence QUALIFIED12Stephen Shaw
1007Arvin H DoeUnited Kingdom2025-08-16Chanay, Jeffrey A Esq UNQUALIFIED77Onyama Limba
1008Arvin T ShinkoIndia2025-08-28Feiner Bros RENEWAL30Ivan Magalhaes
1009Claire E StockhamFrance2025-08-19Truhlar And Truhlar Attys UNQUALIFIED15Ivan Magalhaes
1010Adams U DoeItaly2025-08-06Commercial Press QUALIFIED40Xuxue Feng
1011Sinclair W RutaJapan2025-08-23Rousseaux, Michael Esq PROPOSAL52Ivan Magalhaes
1012Jefferson Q PoquetteItaly2025-08-09King, Christopher A Esq QUALIFIED97Elwin Sharvill
1013Octavia B VocelkaGermany2025-08-21Benton, John B Jr QUALIFIED81Bernardo Dominic
1014Julie F RutaGermany2025-08-26Rangoni Of Florence QUALIFIED94Amy Elsner
1015Mujtaba Y FerenczItaly2025-08-04Chemel, James L Cpa UNQUALIFIED67Xuxue Feng
1016Wickens G SchemmerItaly2025-08-04Morlong Associates PROPOSAL75Onyama Limba
1017Greenwood E FerenczArgentina2025-08-23Chemel, James L Cpa RENEWAL43Xuxue Feng
1018Sinclair P SergiFrance2025-08-22Truhlar And Truhlar Attys UNQUALIFIED65Bernardo Dominic
1019Clifford K MaletJapan2025-07-30King, Christopher A Esq UNQUALIFIED74Asiya Javayant
1020Julie V OstroskyRussia2025-08-16Rangoni Of Florence QUALIFIED75Stephen Shaw
1021Murillo R OstroskyAustralia2025-08-22Morlong Associates NEGOTIATION54Anna Fali
1022Leon M KolmetzFrance2025-08-24Commercial Press QUALIFIED48Onyama Limba
1023Misaki R GillianCanada2025-08-25Dorl, James J Esq PROPOSAL86Ivan Magalhaes
1024Morrow L VocelkaIndia2025-08-13King, Christopher A Esq UNQUALIFIED70Xuxue Feng
1025Chavez W AlbaresAustralia2025-08-12King, Christopher A Esq UNQUALIFIED91Ioni Bowcher
1026Smith F AlbaresUnited Kingdom2025-08-08Chanay, Jeffrey A Esq QUALIFIED38Amy Elsner
1027Leon S CampainCanada2025-08-18Truhlar And Truhlar Attys QUALIFIED24Onyama Limba
1028Ivar V FerenczUnited Kingdom2025-08-16Feltz Printing Service UNQUALIFIED85Ivan Magalhaes
1029Maisha Y SlusarskiGermany2025-08-05King, Christopher A Esq UNQUALIFIED28Amy Elsner
1030Deepesh H VocelkaSpain2025-08-23Feltz Printing Service NEW60Xuxue Feng
1031Salvatore N CampainBrazil2025-08-05Dorl, James J Esq PROPOSAL7Ivan Magalhaes
1032Rodrigues D OldroydFrance2025-08-21Feiner Bros UNQUALIFIED83Ioni Bowcher
1033Claire S ShinkoAustralia2025-08-27Buckley Miller Wright NEW18Amy Elsner
1034Leon W FerenczCanada2025-08-13Printing Dimensions PROPOSAL70Anna Fali
1035Jones K GlickRussia2025-08-08Printing Dimensions QUALIFIED57Ivan Magalhaes
1036Munro N CampainFrance2025-08-22Feltz Printing Service UNQUALIFIED41Anna Fali
1037Octavia D FerenczSpain2025-08-05Rousseaux, Michael Esq PROPOSAL24Onyama Limba
1038Deepesh N SlusarskiGermany2025-08-15Feltz Printing Service NEGOTIATION17Onyama Limba
1039Octavia N RimBrazil2025-08-20Chapman, Ross E Esq RENEWAL74Ivan Magalhaes
1040Faith Z KolmetzJapan2025-08-18Chanay, Jeffrey A Esq PROPOSAL95Bernardo Dominic
1041Julie U SchemmerItaly2025-08-23Rousseaux, Michael Esq RENEWAL40Ioni Bowcher
1042Greenwood L NestleRussia2025-08-07Feiner Bros QUALIFIED33Stephen Shaw
1043Silvio X SlusarskiRussia2025-08-11Chapman, Ross E Esq QUALIFIED73Ivan Magalhaes
1044Arvin H PoquetteGermany2025-08-24Rousseaux, Michael Esq PROPOSAL57Bernardo Dominic
1045Ashley H AmigonJapan2025-08-27Rangoni Of Florence QUALIFIED62Elwin Sharvill
1046Deepesh D InouyeBrazil2025-08-17Morlong Associates NEGOTIATION15Ivan Magalhaes
1047Ricardo X GlickCanada2025-08-05Dorl, James J Esq UNQUALIFIED21Xuxue Feng
1048Jones E NestleGermany2025-08-09Dorl, James J Esq RENEWAL51Ioni Bowcher
1049James I DoeCanada2025-08-01Feiner Bros PROPOSAL57Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aika Z StockhamIndiaXuxue Feng NEW
Aruna Z PerinRussiaAsiya Javayant UNQUALIFIED
Deepesh K SergiBrazilAsiya Javayant NEGOTIATION
Jeanfrancois C ShinkoIndiaIoni Bowcher QUALIFIED
Claire D WieserCanadaXuxue Feng QUALIFIED
Jeanfrancois X PoquetteIndiaBernardo Dominic NEGOTIATION
Aika P PaprockiUnited KingdomAmy Elsner RENEWAL
Clifford P WaycottArgentinaOnyama Limba NEW
Nicolas P BologniaCanadaAmy Elsner UNQUALIFIED
Darci I DoeIndiaStephen Shaw NEGOTIATION
Morrow T BowleyJapanIvan Magalhaes NEW
Antonio P MacleadArgentinaXuxue Feng NEW
Morrow G GarufiIndiaOnyama Limba NEW
Juan X MaletFranceIoni Bowcher RENEWAL
Jennifer B WieserArgentinaAnna Fali NEW
Alejandro L TollnerItalyStephen Shaw UNQUALIFIED
Morrow B SergiRussiaStephen Shaw PROPOSAL
Wickens T RimFranceStephen Shaw UNQUALIFIED
Rodrigues V AmigonFranceStephen Shaw QUALIFIED
Costa D MaletAustraliaIvan Magalhaes NEGOTIATION
Ashley U OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Jones S WaycottSpainXuxue Feng PROPOSAL
Greenwood C WieserSpainBernardo Dominic NEW
Mujtaba Z ChuiCanadaAnna Fali UNQUALIFIED
Arvin F NickaGermanyAmy Elsner UNQUALIFIED
Julie U PaprockiFranceAsiya Javayant UNQUALIFIED
Adams H MaletJapanStephen Shaw NEW
Nicolas E FollerBrazilAmy Elsner QUALIFIED
Faith K SlusarskiBrazilXuxue Feng QUALIFIED
Cody H MacleadRussiaXuxue Feng QUALIFIED
Ricardo T NestleJapanAnna Fali PROPOSAL
Jefferson G KuskoJapanAmy Elsner NEGOTIATION
Antonio W PaprockiCanadaOnyama Limba QUALIFIED
Murillo P GlickGermanyBernardo Dominic PROPOSAL
Mujtaba R KolmetzIndiaElwin Sharvill PROPOSAL
Cody D KuskoRussiaAsiya Javayant RENEWAL
Jones Q WieserRussiaAsiya Javayant NEW
Nicolas T KolmetzAustraliaIvan Magalhaes RENEWAL
Adams S FerenczIndiaIoni Bowcher NEGOTIATION
Leon I SergiAustraliaXuxue Feng NEGOTIATION
Aruna S ChuiSpainXuxue Feng NEGOTIATION
Jefferson K FollerSpainBernardo Dominic RENEWAL
Leon M BologniaUnited KingdomBernardo Dominic NEW
Munro R IturbideGermanyElwin Sharvill QUALIFIED
Claire K NickaItalyIoni Bowcher NEW
Kadeem P TollnerArgentinaXuxue Feng NEW
Jones M BologniaSpainXuxue Feng NEW
Jones A WaycottAustraliaIvan Magalhaes PROPOSAL
Nicolas Y PerinGermanyAnna Fali UNQUALIFIED
Arvin Y BologniaSpainXuxue Feng QUALIFIED
Frozen Columns
Name
Claire A Shinko
Leon Y Poquette
Johnson C Gillian
Silvio W Vocelka
Adams H Flosi
Francesco C Ostrosky
Wickens J Marrier
Murillo X Saylors
Smith T Foller
Stacey K Caldarera
Johnson K Iturbide
Johnson L Royster
Munro S Paprocki
Darci P Ruta
Leja U Ferencz
Chavez E Poquette
Clifford T Caudy
Maisha C Figeroa
Silvio F Amigon
Jeanfrancois S Morasca
Isabel T Kolmetz
Clifford L Doe
Jeanfrancois P Ostrosky
Cody Q Malet
Chavez W Maclead
Aditya M Stockham
Nicolas L Slusarski
Leon O Amigon
Mayumi Q Dilliard
Smith X Whobrey
Ashley V Whobrey
Octavia F Iturbide
Leja U Slusarski
Cody V Slusarski
Aruna F Royster
Kadeem E Nestle
Ashley W Albares
Aditya P Wieser
Darci A Garufi
Jefferson L Gaucho
Izzy R Briddick
Julie V Figeroa
Faith J Slusarski
Aditya Q Kolmetz
Emily M Ostrosky
Chavez A Slusarski
Jeanfrancois E Royster
Costa I Albares
Deepesh S Nestle
Munro K Morasca
IdCountryDate
1000Germany2025-08-18
1001Argentina2025-08-16
1002Italy2025-08-04
1003India2025-08-25
1004United Kingdom2025-08-20
1005France2025-08-19
1006Argentina2025-08-09
1007India2025-08-02
1008United Kingdom2025-07-31
1009France2025-08-02
1010France2025-08-10
1011Australia2025-08-05
1012Argentina2025-08-17
1013Canada2025-08-17
1014Brazil2025-08-05
1015United Kingdom2025-08-13
1016Russia2025-08-04
1017India2025-08-18
1018Italy2025-08-24
1019Brazil2025-08-03
1020Canada2025-08-08
1021United Kingdom2025-07-30
1022Canada2025-08-16
1023France2025-08-01
1024United Kingdom2025-08-07
1025Russia2025-08-23
1026Brazil2025-08-23
1027Canada2025-08-02
1028Canada2025-07-31
1029Spain2025-07-30
1030Spain2025-08-23
1031Italy2025-08-02
1032Brazil2025-08-14
1033India2025-08-08
1034Argentina2025-08-08
1035Japan2025-08-03
1036Italy2025-08-19
1037Australia2025-08-09
1038Australia2025-08-14
1039France2025-08-28
1040Canada2025-08-03
1041United Kingdom2025-08-06
1042India2025-08-19
1043Germany2025-07-30
1044India2025-08-08
1045Canada2025-08-08
1046India2025-08-20
1047Australia2025-08-08
1048Japan2025-08-04
1049Germany2025-08-28

On-Demand Data

NameIdCountryDate
Aruna N Sergi1000Russia2025-08-26
Leon O Glick1001Brazil2025-08-27
Alejandro A Caudy1002Spain2025-08-08
Darci A Nestle1003Italy2025-08-02
Wickens N Venere1004India2025-08-21
Nicolas X Albares1005Canada2025-08-15
David Q Kusko1006Italy2025-08-11
Munro W Morasca1007India2025-08-24
Antonio V Whobrey1008Italy2025-07-31
Isabel V Briddick1009Russia2025-08-07
Tony M Sergi1010United Kingdom2025-08-20
Mujtaba O Inouye1011Argentina2025-08-13
Maisha Z Saylors1012Australia2025-08-10
Misaki B Wieser1013Germany2025-08-03
Ricardo Y Gaucho1014France2025-08-03
Mujtaba O Briddick1015France2025-08-06
Smith B Stenseth1016Brazil2025-08-23
Jones F Marrier1017Brazil2025-08-26
Jones T Foller1018Russia2025-08-23
Johnson E Figeroa1019Brazil2025-08-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony M ChuiCanadaXuxue Feng UNQUALIFIED
Johnson N StockhamGermanyOnyama Limba PROPOSAL
Munro N VenereItalyElwin Sharvill PROPOSAL
Emily P KuskoUnited KingdomElwin Sharvill UNQUALIFIED
Octavia H FerenczIndiaElwin Sharvill NEW
Kadeem P BologniaBrazilAmy Elsner QUALIFIED
Cody J WhobreyUnited KingdomAmy Elsner PROPOSAL
Alejandro F PerinBrazilBernardo Dominic NEW
Munro V IturbideAustraliaStephen Shaw PROPOSAL
Salvatore B PoquetteCanadaBernardo Dominic RENEWAL
David N FerenczSpainOnyama Limba NEGOTIATION
Darci E WhobreyArgentinaIoni Bowcher PROPOSAL
Juan T FerenczGermanyStephen Shaw RENEWAL
Kadeem R GillianSpainIoni Bowcher QUALIFIED
David Y SchemmerArgentinaStephen Shaw NEGOTIATION
Murillo E SaylorsAustraliaElwin Sharvill RENEWAL
Ashley H ChuiCanadaXuxue Feng UNQUALIFIED
Darci J FollerAustraliaAmy Elsner NEGOTIATION
Juan V VocelkaArgentinaAmy Elsner PROPOSAL
Claire K RimSpainAsiya Javayant NEW
Deepesh S RulapaughSpainElwin Sharvill UNQUALIFIED
Kadeem E WieserAustraliaElwin Sharvill PROPOSAL
Adams Z SchemmerCanadaIvan Magalhaes QUALIFIED
Clifford C MarrierGermanyIvan Magalhaes PROPOSAL
Morrow T ChuiCanadaIvan Magalhaes RENEWAL
Jones Q RimAustraliaIoni Bowcher RENEWAL
Octavia S RulapaughFranceOnyama Limba QUALIFIED
Darci P RutaJapanIoni Bowcher UNQUALIFIED
Adams U PaprockiSpainBernardo Dominic NEGOTIATION
Costa D DarakjyItalyOnyama Limba QUALIFIED
Maria M MacleadItalyElwin Sharvill NEW
Juan V MarrierArgentinaStephen Shaw NEW
Morrow D WieserCanadaIoni Bowcher NEW
Faith F GillianArgentinaAmy Elsner NEW
Munro W FlosiBrazilIvan Magalhaes NEGOTIATION
Cody B SlusarskiArgentinaIoni Bowcher QUALIFIED
Izzy I SergiFranceElwin Sharvill NEW
Aika U MacleadCanadaAsiya Javayant UNQUALIFIED
Leja F BowleySpainStephen Shaw QUALIFIED
Munro X VenereGermanyAsiya Javayant 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>