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
David J MacleadCanadaIvan Magalhaes NEW
Julie V BologniaBrazilAnna Fali NEGOTIATION
Munro I CaudyCanadaXuxue Feng PROPOSAL
Tony Y BriddickIndiaAnna Fali RENEWAL
Jeanfrancois T RimArgentinaAsiya Javayant NEW
Munro P WaycottRussiaStephen Shaw NEW
Maria X FerenczJapanBernardo Dominic NEGOTIATION
Leja X IturbideIndiaElwin Sharvill RENEWAL
Wickens V InouyeUnited KingdomBernardo Dominic QUALIFIED
Morrow R MaletIndiaStephen Shaw NEW
Jones P PerinAustraliaAnna Fali UNQUALIFIED
Ivar B DoeItalyAnna Fali NEGOTIATION
Jefferson Q FigeroaCanadaAsiya Javayant PROPOSAL
Antonio P FollerAustraliaAmy Elsner QUALIFIED
Leon M StockhamItalyIoni Bowcher QUALIFIED
Silvio B SchemmerBrazilIvan Magalhaes PROPOSAL
Murillo M SaylorsCanadaAmy Elsner NEGOTIATION
Aika Q ShinkoCanadaIvan Magalhaes QUALIFIED
Wickens W BowleyIndiaXuxue Feng PROPOSAL
Nicolas Z GlickRussiaOnyama Limba NEW
Maisha N GauchoRussiaXuxue Feng NEW
Ivar G PerinSpainAsiya Javayant NEW
Maria K RutaSpainBernardo Dominic NEW
Jeanfrancois X WieserJapanXuxue Feng NEGOTIATION
Adams T StensethSpainStephen Shaw PROPOSAL
Jennifer X DarakjyArgentinaAnna Fali NEGOTIATION
Mujtaba R StensethSpainIoni Bowcher PROPOSAL
Maisha O TollnerRussiaStephen Shaw RENEWAL
Rodrigues G TollnerFranceStephen Shaw RENEWAL
Arvin Z CampainRussiaAsiya Javayant QUALIFIED
Johnson N TollnerArgentinaXuxue Feng NEGOTIATION
Darci R PoquetteJapanAsiya Javayant NEGOTIATION
Mayumi X SergiGermanyXuxue Feng NEGOTIATION
Costa O KuskoGermanyAnna Fali QUALIFIED
Chavez J StockhamBrazilElwin Sharvill QUALIFIED
Juan I BologniaRussiaXuxue Feng NEGOTIATION
Mayumi F FollerBrazilIoni Bowcher PROPOSAL
Morrow O StockhamJapanIoni Bowcher NEGOTIATION
Ivar P RulapaughBrazilIoni Bowcher NEGOTIATION
Octavia L BowleyJapanAnna Fali UNQUALIFIED
Rodrigues O KuskoUnited KingdomOnyama Limba NEGOTIATION
David E FigeroaCanadaIoni Bowcher RENEWAL
Maisha A MacleadIndiaElwin Sharvill QUALIFIED
Stacey Y SchemmerGermanyStephen Shaw NEW
Adams R DarakjyBrazilIoni Bowcher UNQUALIFIED
Nicolas R CampainIndiaXuxue Feng NEGOTIATION
Emily F RoysterFranceXuxue Feng QUALIFIED
Jones U ButtUnited KingdomAsiya Javayant NEW
Izzy A StockhamIndiaIoni Bowcher UNQUALIFIED
Antonio D ChuiArgentinaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jennifer F MorascaJapanXuxue Feng UNQUALIFIED
Jennifer P PoquetteUnited KingdomAsiya Javayant NEW
Costa P StockhamCanadaIoni Bowcher NEGOTIATION
Jones Y VocelkaJapanAnna Fali PROPOSAL
Kaitlin C PerinFranceAnna Fali PROPOSAL
Misaki F VocelkaArgentinaXuxue Feng UNQUALIFIED
Wickens X KuskoRussiaStephen Shaw UNQUALIFIED
Arvin S FerenczIndiaXuxue Feng UNQUALIFIED
Francesco U RoysterAustraliaAsiya Javayant QUALIFIED
Leja Q ShinkoFranceAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith D RimRussia2025-09-16King, Christopher A Esq QUALIFIED72Elwin Sharvill
1001Deepesh Y FerenczItaly2025-09-25Rousseaux, Michael Esq QUALIFIED17Ivan Magalhaes
1002Nicolas V DoeItaly2025-09-26Chemel, James L Cpa NEW77Onyama Limba
1003Cody H FigeroaCanada2025-10-09Benton, John B Jr NEW56Stephen Shaw
1004Aika G SaylorsIndia2025-09-20Feiner Bros PROPOSAL85Bernardo Dominic
1005Tony E CampainUnited Kingdom2025-09-27Benton, John B Jr NEGOTIATION38Asiya Javayant
1006Maisha S ButtSpain2025-09-27Commercial Press NEW88Bernardo Dominic
1007Sinclair U VocelkaRussia2025-09-20Benton, John B Jr PROPOSAL67Ivan Magalhaes
1008Leja Q KuskoSpain2025-10-03Feiner Bros RENEWAL50Asiya Javayant
1009Jeanfrancois Q RimIndia2025-09-29Dorl, James J Esq UNQUALIFIED74Onyama Limba
1010Emily Q BriddickJapan2025-09-24Chemel, James L Cpa UNQUALIFIED70Bernardo Dominic
1011Chavez U FerenczFrance2025-09-30Morlong Associates NEW28Ioni Bowcher
1012Johnson L CaudyUnited Kingdom2025-10-10Rousseaux, Michael Esq PROPOSAL10Ioni Bowcher
1013Darci K WhobreyItaly2025-09-24Benton, John B Jr RENEWAL13Xuxue Feng
1014Stacey F BologniaSpain2025-10-10Buckley Miller Wright NEGOTIATION99Stephen Shaw
1015Rodrigues R KuskoGermany2025-10-02Truhlar And Truhlar Attys UNQUALIFIED64Elwin Sharvill
1016Darci S GauchoArgentina2025-10-05Feiner Bros RENEWAL11Bernardo Dominic
1017Tony O DarakjyIndia2025-09-18Rousseaux, Michael Esq RENEWAL91Onyama Limba
1018Nicolas B FlosiJapan2025-10-06Rangoni Of Florence PROPOSAL15Anna Fali
1019Aika F PoquetteAustralia2025-09-24King, Christopher A Esq QUALIFIED26Elwin Sharvill
1020Ricardo C StensethRussia2025-09-18King, Christopher A Esq QUALIFIED46Bernardo Dominic
1021Jeanfrancois T SchemmerAustralia2025-10-08Printing Dimensions RENEWAL73Amy Elsner
1022Tony J ButtArgentina2025-09-27Benton, John B Jr NEGOTIATION15Amy Elsner
1023Nicolas L BriddickIndia2025-10-05Printing Dimensions UNQUALIFIED72Stephen Shaw
1024Octavia T ShinkoIndia2025-09-25Chapman, Ross E Esq UNQUALIFIED2Xuxue Feng
1025Izzy O CampainFrance2025-09-21Feiner Bros NEGOTIATION1Anna Fali
1026Silvio A MacleadSpain2025-10-09Morlong Associates RENEWAL11Elwin Sharvill
1027Greenwood K RoysterFrance2025-09-21Benton, John B Jr PROPOSAL31Asiya Javayant
1028Murillo R FlosiBrazil2025-10-09Chemel, James L Cpa PROPOSAL1Bernardo Dominic
1029Jeanfrancois E AlbaresRussia2025-09-30King, Christopher A Esq NEGOTIATION12Bernardo Dominic
1030Mujtaba M VocelkaUnited Kingdom2025-09-13Printing Dimensions RENEWAL26Anna Fali
1031Kadeem E DoeUnited Kingdom2025-10-08Feiner Bros QUALIFIED13Asiya Javayant
1032Alejandro A VocelkaFrance2025-09-25Benton, John B Jr QUALIFIED83Xuxue Feng
1033Claire F GillianIndia2025-10-10Chanay, Jeffrey A Esq PROPOSAL4Amy Elsner
1034Jefferson C RulapaughRussia2025-09-13Rangoni Of Florence PROPOSAL72Amy Elsner
1035Mayumi Q OstroskyArgentina2025-10-09Printing Dimensions UNQUALIFIED69Bernardo Dominic
1036Nicolas J CaudyCanada2025-09-26Benton, John B Jr NEGOTIATION3Stephen Shaw
1037Jeanfrancois P FerenczJapan2025-09-17King, Christopher A Esq NEGOTIATION79Amy Elsner
1038Alejandro M RutaRussia2025-09-25Chapman, Ross E Esq UNQUALIFIED90Anna Fali
1039Ashley Q DilliardFrance2025-09-29Truhlar And Truhlar Attys PROPOSAL22Elwin Sharvill
1040Deepesh G FigeroaFrance2025-09-20Morlong Associates NEW60Ioni Bowcher
1041Costa P PaprockiItaly2025-10-04Truhlar And Truhlar Attys RENEWAL26Amy Elsner
1042Nicolas D DoeJapan2025-10-09Commercial Press PROPOSAL85Amy Elsner
1043Johnson Z PaprockiFrance2025-10-05Chemel, James L Cpa RENEWAL32Stephen Shaw
1044Jennifer M MarrierSpain2025-09-30Morlong Associates UNQUALIFIED6Ioni Bowcher
1045Mayumi N TollnerRussia2025-09-25Buckley Miller Wright UNQUALIFIED75Amy Elsner
1046Nicolas F StockhamItaly2025-09-30Buckley Miller Wright UNQUALIFIED47Amy Elsner
1047Arvin P AmigonItaly2025-09-25Rousseaux, Michael Esq NEGOTIATION58Asiya Javayant
1048Deepesh O StockhamBrazil2025-09-23King, Christopher A Esq QUALIFIED32Anna Fali
1049Wickens H GauchoGermany2025-09-30Benton, John B Jr UNQUALIFIED89Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Octavia D FerenczUnited KingdomAmy Elsner UNQUALIFIED
Aruna S DilliardRussiaIoni Bowcher RENEWAL
Munro G BriddickFranceOnyama Limba NEGOTIATION
Smith T RutaFranceBernardo Dominic QUALIFIED
Wickens X NickaCanadaAsiya Javayant NEGOTIATION
Juan P DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Ricardo F NickaJapanStephen Shaw PROPOSAL
Juan S AlbaresUnited KingdomOnyama Limba NEW
Jones R BologniaGermanyOnyama Limba NEGOTIATION
Salvatore G SaylorsAustraliaAnna Fali NEW
Johnson P MorascaRussiaStephen Shaw UNQUALIFIED
Aditya L KuskoBrazilIvan Magalhaes UNQUALIFIED
Chavez V KuskoUnited KingdomBernardo Dominic PROPOSAL
Tony B WhobreyAustraliaAmy Elsner NEGOTIATION
Misaki P ShinkoJapanAmy Elsner NEW
Jones T RutaGermanyAnna Fali QUALIFIED
Ashley L MorascaAustraliaIvan Magalhaes RENEWAL
David G VocelkaArgentinaIoni Bowcher RENEWAL
Silvio I GarufiBrazilAnna Fali UNQUALIFIED
Clifford A GlickSpainAnna Fali PROPOSAL
Leon J VocelkaUnited KingdomStephen Shaw QUALIFIED
Mayumi S PoquetteJapanAmy Elsner NEGOTIATION
Leon P ShinkoGermanyAnna Fali RENEWAL
Chavez Q FerenczSpainIvan Magalhaes PROPOSAL
Maisha S PoquetteIndiaStephen Shaw PROPOSAL
Antonio N PaprockiFranceIoni Bowcher NEGOTIATION
Faith R SergiSpainOnyama Limba RENEWAL
Kadeem A SchemmerRussiaAmy Elsner NEGOTIATION
Silvio U NestleArgentinaOnyama Limba QUALIFIED
Murillo L StockhamFranceXuxue Feng RENEWAL
Misaki T VenereBrazilAmy Elsner QUALIFIED
Emily N SlusarskiAustraliaIvan Magalhaes NEW
Emily U GauchoItalyXuxue Feng NEGOTIATION
Wickens S DilliardBrazilAmy Elsner RENEWAL
Maisha P GlickItalyXuxue Feng RENEWAL
Wickens F BriddickSpainAmy Elsner NEGOTIATION
Jefferson G DilliardItalyElwin Sharvill PROPOSAL
Aruna X FlosiUnited KingdomAmy Elsner UNQUALIFIED
Aruna A ButtUnited KingdomOnyama Limba NEGOTIATION
Chavez C GauchoSpainIoni Bowcher NEW
Jones O StockhamUnited KingdomElwin Sharvill NEW
Leja S FlosiFranceIoni Bowcher NEW
Smith A BowleyItalyAnna Fali NEW
Alejandro D SlusarskiItalyAnna Fali UNQUALIFIED
Izzy A InouyeRussiaStephen Shaw QUALIFIED
Johnson M NickaRussiaAmy Elsner UNQUALIFIED
Morrow Y SaylorsIndiaStephen Shaw QUALIFIED
Ashley X KuskoJapanAmy Elsner PROPOSAL
Aruna P GlickGermanyIoni Bowcher RENEWAL
Chavez W MaletCanadaXuxue Feng NEGOTIATION
Frozen Columns
Name
Rodrigues K Foller
Kadeem C Chui
Ashley Y Campain
Julie T Rim
Aruna B Ferencz
Emily I Paprocki
Misaki L Shinko
Clifford E Campain
Jennifer G Morasca
Nicolas C Glick
Costa P Darakjy
Sinclair D Ferencz
Johnson S Vocelka
Darci J Campain
Johnson V Glick
Aditya R Chui
Murillo K Kolmetz
Claire W Glick
Murillo G Glick
David V Flosi
Antonio R Oldroyd
Ashley H Malet
Nicolas R Shinko
Alejandro Z Saylors
David N Butt
Rodrigues T Caldarera
Francesco Z Campain
Leja O Stockham
Nicolas U Foller
Costa S Whobrey
Deepesh L Dilliard
Alejandro H Ferencz
Cody F Figeroa
Juan T Sergi
Kadeem G Morasca
Jefferson F Whobrey
James F Marrier
Aruna X Caudy
Mayumi R Gillian
Sinclair P Iturbide
David Y Malet
David B Royster
Ivar A Caudy
Deepesh S Darakjy
Juan Q Amigon
Izzy W Oldroyd
Chavez O Ruta
Deepesh I Darakjy
Adams G Gaucho
Julie O Ruta
IdCountryDate
1000Brazil2025-10-08
1001Germany2025-10-05
1002Argentina2025-09-18
1003Japan2025-09-17
1004Italy2025-10-07
1005Brazil2025-09-22
1006United Kingdom2025-10-04
1007United Kingdom2025-09-25
1008Argentina2025-09-13
1009Australia2025-10-05
1010Russia2025-10-05
1011Brazil2025-09-18
1012Argentina2025-09-13
1013Brazil2025-09-28
1014India2025-09-18
1015Canada2025-09-27
1016Australia2025-09-20
1017Russia2025-09-17
1018Australia2025-09-16
1019France2025-09-19
1020Canada2025-09-18
1021India2025-10-07
1022Argentina2025-09-29
1023Italy2025-10-09
1024Australia2025-09-23
1025Argentina2025-10-03
1026Argentina2025-09-11
1027Canada2025-09-11
1028United Kingdom2025-10-06
1029Canada2025-09-16
1030United Kingdom2025-10-05
1031Brazil2025-09-11
1032Spain2025-10-04
1033Brazil2025-09-25
1034Argentina2025-09-29
1035Japan2025-09-16
1036Canada2025-09-24
1037Brazil2025-09-20
1038France2025-09-21
1039Australia2025-09-22
1040Japan2025-10-06
1041Argentina2025-09-18
1042India2025-10-03
1043Italy2025-10-02
1044Germany2025-09-16
1045United Kingdom2025-09-12
1046Italy2025-09-16
1047Germany2025-10-10
1048Germany2025-09-26
1049Argentina2025-09-18

On-Demand Data

NameIdCountryDate
Izzy L Campain1000Canada2025-09-14
Julie Q Malet1001Argentina2025-09-26
James P Nestle1002Italy2025-10-01
Leon C Darakjy1003Italy2025-10-10
Leon C Inouye1004France2025-09-14
Julie R Bolognia1005Argentina2025-09-21
Julie Z Flosi1006France2025-09-13
Salvatore M Caudy1007United Kingdom2025-10-01
Chavez D Saylors1008France2025-09-25
Kadeem N Flosi1009Japan2025-10-09
Chavez W Butt1010Russia2025-09-21
Morrow L Wieser1011Australia2025-09-18
Murillo Q Glick1012United Kingdom2025-10-01
Leja W Malet1013Canada2025-09-24
Ashley U Oldroyd1014Spain2025-09-17
Faith R Campain1015Argentina2025-10-02
Silvio O Kolmetz1016United Kingdom2025-09-20
Claire Y Oldroyd1017Japan2025-09-12
Mayumi B Saylors1018United Kingdom2025-09-27
Jennifer J Stockham1019Canada2025-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James K GarufiSpainIvan Magalhaes QUALIFIED
Stacey N SaylorsIndiaStephen Shaw PROPOSAL
Adams O BologniaRussiaAsiya Javayant QUALIFIED
Aika O ButtCanadaOnyama Limba UNQUALIFIED
Misaki N RulapaughArgentinaAsiya Javayant PROPOSAL
Ricardo G ShinkoSpainBernardo Dominic RENEWAL
Cody T DilliardCanadaOnyama Limba RENEWAL
Jennifer Q MarrierFranceAsiya Javayant PROPOSAL
Isabel Y TollnerAustraliaBernardo Dominic PROPOSAL
Faith B VocelkaUnited KingdomXuxue Feng PROPOSAL
Emily O PoquetteIndiaAmy Elsner RENEWAL
Nicolas Z PoquetteGermanyAnna Fali PROPOSAL
Smith H GlickIndiaAsiya Javayant QUALIFIED
Deepesh Q PaprockiJapanAmy Elsner RENEWAL
Silvio G WhobreyAustraliaElwin Sharvill QUALIFIED
Silvio M OstroskyIndiaBernardo Dominic RENEWAL
Ashley I RutaRussiaIvan Magalhaes NEGOTIATION
Ricardo Q FollerUnited KingdomElwin Sharvill PROPOSAL
Faith B FigeroaFranceOnyama Limba RENEWAL
Jeanfrancois O OstroskyItalyAmy Elsner PROPOSAL
Rodrigues J CaudyFranceBernardo Dominic NEW
Aditya Q GauchoBrazilIvan Magalhaes QUALIFIED
Morrow K FlosiUnited KingdomOnyama Limba PROPOSAL
Smith P FollerFranceXuxue Feng UNQUALIFIED
Kaitlin W RoysterBrazilXuxue Feng NEGOTIATION
Darci M ChuiJapanStephen Shaw QUALIFIED
Johnson W PoquetteFranceAsiya Javayant NEW
Clifford G StensethCanadaAnna Fali RENEWAL
Misaki X SergiRussiaAnna Fali RENEWAL
Ivar E MarrierIndiaAsiya Javayant RENEWAL
Salvatore L BriddickUnited KingdomOnyama Limba NEW
Smith A ChuiBrazilElwin Sharvill RENEWAL
Silvio R DoeBrazilBernardo Dominic RENEWAL
Murillo G MacleadCanadaAsiya Javayant QUALIFIED
Jennifer S KolmetzUnited KingdomAnna Fali NEGOTIATION
Claire Q AmigonGermanyAnna Fali NEW
Aika O GillianArgentinaXuxue Feng NEW
Octavia M BologniaUnited KingdomBernardo Dominic PROPOSAL
Isabel H CaudySpainAsiya Javayant QUALIFIED
Maria E ButtBrazilIvan Magalhaes UNQUALIFIED

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