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
Murillo A NickaJapanAsiya Javayant QUALIFIED
Izzy O MarrierCanadaElwin Sharvill PROPOSAL
Wickens E BowleyFranceAsiya Javayant QUALIFIED
Ashley N MaletSpainAsiya Javayant PROPOSAL
Francesco Q DilliardFranceXuxue Feng UNQUALIFIED
Octavia F FerenczJapanXuxue Feng NEW
Munro C GlickSpainXuxue Feng UNQUALIFIED
Cody U InouyeCanadaAsiya Javayant NEGOTIATION
James B DilliardItalyIoni Bowcher PROPOSAL
Salvatore I GlickUnited KingdomXuxue Feng UNQUALIFIED
Leon M MaletFranceStephen Shaw NEGOTIATION
Costa T PaprockiBrazilIvan Magalhaes RENEWAL
Smith H NickaItalyIvan Magalhaes UNQUALIFIED
Julie L IturbideIndiaOnyama Limba PROPOSAL
Isabel A AlbaresAustraliaIvan Magalhaes QUALIFIED
Adams U StensethGermanyXuxue Feng QUALIFIED
Jennifer D StockhamArgentinaAsiya Javayant PROPOSAL
Juan A MaletGermanyIoni Bowcher NEW
Aruna Z OldroydSpainElwin Sharvill NEGOTIATION
Mayumi Z OldroydArgentinaAmy Elsner PROPOSAL
Kadeem L MorascaItalyIoni Bowcher NEGOTIATION
Juan Y MaletGermanyAmy Elsner NEGOTIATION
Misaki F WhobreyItalyOnyama Limba NEW
Leon O KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Maria C PerinJapanXuxue Feng UNQUALIFIED
Cody T ChuiBrazilStephen Shaw NEW
Adams Z NickaGermanyBernardo Dominic QUALIFIED
Ashley N AmigonBrazilIvan Magalhaes UNQUALIFIED
Salvatore L FigeroaSpainOnyama Limba PROPOSAL
Cody G BriddickUnited KingdomAmy Elsner UNQUALIFIED
Claire G PerinIndiaElwin Sharvill RENEWAL
James F MacleadIndiaIoni Bowcher UNQUALIFIED
Aika S VenereIndiaOnyama Limba QUALIFIED
Clifford Q BowleySpainIvan Magalhaes PROPOSAL
Arvin A RutaFranceBernardo Dominic PROPOSAL
Leon O AmigonFranceOnyama Limba QUALIFIED
Adams Y MaletFranceStephen Shaw RENEWAL
Costa K DarakjyCanadaAmy Elsner UNQUALIFIED
Cody S RimGermanyIvan Magalhaes NEW
David P MarrierFranceBernardo Dominic NEGOTIATION
Ivar J FollerItalyAsiya Javayant RENEWAL
Nicolas D RulapaughItalyStephen Shaw NEW
Morrow Y MarrierAustraliaStephen Shaw NEW
Aditya R MarrierSpainOnyama Limba UNQUALIFIED
Cody S DilliardBrazilOnyama Limba UNQUALIFIED
Clifford U OldroydAustraliaIvan Magalhaes NEGOTIATION
Kaitlin Z TollnerArgentinaAnna Fali RENEWAL
Cody P MaletRussiaAnna Fali UNQUALIFIED
Morrow Q AmigonRussiaBernardo Dominic UNQUALIFIED
Munro G InouyeFranceIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ivar E FlosiItalyAsiya Javayant UNQUALIFIED
Ricardo O InouyeGermanyStephen Shaw QUALIFIED
Arvin H SchemmerSpainElwin Sharvill PROPOSAL
Sinclair B MaletCanadaAmy Elsner NEW
Clifford N InouyeUnited KingdomOnyama Limba UNQUALIFIED
Darci J BologniaBrazilIoni Bowcher PROPOSAL
Nicolas B CaldareraItalyXuxue Feng QUALIFIED
Stacey D PerinIndiaOnyama Limba UNQUALIFIED
Isabel E GlickCanadaIoni Bowcher QUALIFIED
Faith R PoquetteItalyIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika G BologniaFrance2025-10-06Dorl, James J Esq RENEWAL29Ivan Magalhaes
1001Ricardo F CaudyItaly2025-10-01King, Christopher A Esq RENEWAL82Bernardo Dominic
1002Tony N NestleBrazil2025-09-24King, Christopher A Esq RENEWAL99Stephen Shaw
1003Faith R DarakjyArgentina2025-09-28Rousseaux, Michael Esq NEGOTIATION86Bernardo Dominic
1004Leon Q RimRussia2025-10-02Dorl, James J Esq NEW84Ioni Bowcher
1005Deepesh Q MorascaGermany2025-10-07Printing Dimensions RENEWAL29Ioni Bowcher
1006Clifford P GauchoJapan2025-10-19Chanay, Jeffrey A Esq RENEWAL54Onyama Limba
1007David Y KuskoItaly2025-10-18Rousseaux, Michael Esq RENEWAL93Bernardo Dominic
1008Chavez I DoeJapan2025-09-21King, Christopher A Esq PROPOSAL39Onyama Limba
1009Morrow D DilliardGermany2025-09-21Printing Dimensions NEGOTIATION97Onyama Limba
1010Mujtaba E GarufiUnited Kingdom2025-10-10Chanay, Jeffrey A Esq NEGOTIATION59Stephen Shaw
1011Kadeem N KolmetzJapan2025-09-27Rangoni Of Florence RENEWAL7Amy Elsner
1012Rodrigues M IturbideItaly2025-10-20Chapman, Ross E Esq NEGOTIATION1Onyama Limba
1013Jeanfrancois L GauchoIndia2025-10-20Truhlar And Truhlar Attys NEW33Asiya Javayant
1014Clifford Y IturbideJapan2025-10-06Rousseaux, Michael Esq NEGOTIATION85Amy Elsner
1015Isabel Y InouyeItaly2025-10-16Truhlar And Truhlar Attys UNQUALIFIED9Asiya Javayant
1016Antonio M MaletUnited Kingdom2025-09-29King, Christopher A Esq PROPOSAL42Onyama Limba
1017Stacey O FollerUnited Kingdom2025-10-20Rousseaux, Michael Esq UNQUALIFIED47Bernardo Dominic
1018Tony N MaletAustralia2025-10-07Printing Dimensions UNQUALIFIED73Asiya Javayant
1019Faith Q CampainRussia2025-10-02Feltz Printing Service PROPOSAL67Asiya Javayant
1020Alejandro Q CaldareraFrance2025-09-25Chanay, Jeffrey A Esq NEGOTIATION41Bernardo Dominic
1021Mujtaba E RutaUnited Kingdom2025-10-07Morlong Associates RENEWAL55Onyama Limba
1022Ricardo R OldroydCanada2025-10-16Morlong Associates UNQUALIFIED11Onyama Limba
1023Smith X DarakjyArgentina2025-10-03Benton, John B Jr QUALIFIED68Asiya Javayant
1024Rodrigues H NestleJapan2025-10-14Rangoni Of Florence PROPOSAL85Elwin Sharvill
1025Emily A StockhamBrazil2025-10-01Commercial Press UNQUALIFIED64Asiya Javayant
1026Claire M MaletRussia2025-10-20Dorl, James J Esq QUALIFIED99Xuxue Feng
1027Kadeem A GarufiFrance2025-10-02Printing Dimensions NEGOTIATION85Onyama Limba
1028David C NestleBrazil2025-10-17Printing Dimensions NEW72Ioni Bowcher
1029Aruna R PaprockiIndia2025-10-02Feltz Printing Service PROPOSAL71Ivan Magalhaes
1030Izzy O AmigonJapan2025-10-04Feiner Bros QUALIFIED97Xuxue Feng
1031Jennifer Z MorascaFrance2025-09-29Truhlar And Truhlar Attys UNQUALIFIED95Bernardo Dominic
1032David I ChuiRussia2025-10-12Benton, John B Jr QUALIFIED82Ioni Bowcher
1033Jennifer Q WieserJapan2025-10-10Feltz Printing Service QUALIFIED50Amy Elsner
1034Chavez Z BriddickIndia2025-10-01Morlong Associates NEGOTIATION97Anna Fali
1035Isabel J MarrierBrazil2025-09-30Chemel, James L Cpa NEW40Anna Fali
1036Nicolas C VocelkaUnited Kingdom2025-10-01Commercial Press PROPOSAL68Ioni Bowcher
1037Izzy R GlickUnited Kingdom2025-10-16Dorl, James J Esq NEGOTIATION5Ivan Magalhaes
1038Jefferson K PoquetteCanada2025-10-16Printing Dimensions NEGOTIATION10Stephen Shaw
1039Kadeem M SlusarskiItaly2025-10-06Commercial Press QUALIFIED75Anna Fali
1040Tony G FerenczItaly2025-10-19Rousseaux, Michael Esq NEW36Ioni Bowcher
1041Faith W DilliardItaly2025-10-07Rangoni Of Florence QUALIFIED76Asiya Javayant
1042Izzy N GillianSpain2025-09-24Benton, John B Jr NEW6Ivan Magalhaes
1043Ivar X KuskoFrance2025-09-24Chanay, Jeffrey A Esq PROPOSAL93Stephen Shaw
1044Greenwood C SergiBrazil2025-10-04Benton, John B Jr PROPOSAL39Stephen Shaw
1045Mujtaba R WaycottFrance2025-10-02Buckley Miller Wright NEGOTIATION43Stephen Shaw
1046Ivar L OldroydGermany2025-09-30Rangoni Of Florence PROPOSAL8Amy Elsner
1047Aditya Y SaylorsIndia2025-10-07Feiner Bros RENEWAL61Amy Elsner
1048Silvio M BriddickIndia2025-10-13Printing Dimensions PROPOSAL23Amy Elsner
1049Izzy U NickaArgentina2025-09-24Printing Dimensions NEGOTIATION72Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Claire W PerinIndiaAnna Fali QUALIFIED
Cody V VenereIndiaXuxue Feng NEW
Ricardo I FerenczItalyIvan Magalhaes QUALIFIED
Mayumi Q ShinkoFranceXuxue Feng NEGOTIATION
Maisha C MacleadItalyOnyama Limba NEGOTIATION
Cody W FigeroaItalyBernardo Dominic QUALIFIED
David E WaycottSpainIvan Magalhaes RENEWAL
Adams I CampainAustraliaBernardo Dominic RENEWAL
Silvio T ChuiAustraliaIoni Bowcher UNQUALIFIED
Claire U OldroydFranceElwin Sharvill RENEWAL
Aruna X WaycottGermanyIvan Magalhaes PROPOSAL
Costa E BriddickAustraliaBernardo Dominic RENEWAL
Kaitlin O RimUnited KingdomBernardo Dominic QUALIFIED
Jones S AlbaresRussiaOnyama Limba QUALIFIED
Misaki Q VocelkaJapanAnna Fali RENEWAL
Darci M NickaUnited KingdomIvan Magalhaes NEGOTIATION
Emily F AlbaresFranceAsiya Javayant RENEWAL
Faith W PaprockiSpainAmy Elsner NEGOTIATION
Deepesh G InouyeIndiaElwin Sharvill RENEWAL
Izzy U FlosiCanadaOnyama Limba PROPOSAL
Smith W FollerAustraliaBernardo Dominic PROPOSAL
Maisha S ChuiItalyStephen Shaw UNQUALIFIED
Ivar O AmigonRussiaIoni Bowcher UNQUALIFIED
Silvio O VocelkaItalyIoni Bowcher RENEWAL
Kaitlin R PoquetteSpainAmy Elsner NEW
Emily W VenereUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin C VocelkaIndiaBernardo Dominic UNQUALIFIED
Costa K WieserCanadaAnna Fali PROPOSAL
Isabel G BriddickBrazilXuxue Feng QUALIFIED
Jones Q PerinFranceIoni Bowcher QUALIFIED
Mujtaba V SlusarskiGermanyAmy Elsner NEGOTIATION
Aditya R CaldareraBrazilStephen Shaw RENEWAL
Claire J CaldareraJapanAmy Elsner NEW
Arvin X DoeAustraliaIvan Magalhaes UNQUALIFIED
Nicolas L FigeroaIndiaIvan Magalhaes UNQUALIFIED
Octavia K CampainAustraliaAnna Fali UNQUALIFIED
James V StensethCanadaStephen Shaw RENEWAL
Stacey K FigeroaJapanBernardo Dominic RENEWAL
Izzy V DoeRussiaOnyama Limba UNQUALIFIED
Clifford Q NickaUnited KingdomIvan Magalhaes RENEWAL
Izzy R GarufiCanadaAnna Fali NEGOTIATION
Morrow Q PoquetteItalyBernardo Dominic QUALIFIED
James N ButtSpainIoni Bowcher RENEWAL
Faith L WaycottItalyAsiya Javayant UNQUALIFIED
Aika Z KuskoBrazilOnyama Limba UNQUALIFIED
Mujtaba V BowleyIndiaOnyama Limba QUALIFIED
Kadeem N GlickUnited KingdomIoni Bowcher UNQUALIFIED
Arvin V RulapaughUnited KingdomXuxue Feng NEW
Greenwood A DilliardRussiaOnyama Limba RENEWAL
Jennifer Y KuskoSpainXuxue Feng RENEWAL
Frozen Columns
Name
Smith Z Malet
Izzy O Amigon
Julie E Bowley
Cody F Caudy
Morrow E Poquette
Leon D Marrier
Kadeem V Stockham
Misaki O Glick
Rodrigues N Stenseth
Kadeem I Stenseth
David X Paprocki
Claire V Garufi
Johnson N Oldroyd
Silvio Y Paprocki
Leja U Maclead
Maria D Caudy
Jones A Stenseth
Johnson L Stockham
Ashley B Kusko
Isabel E Albares
Arvin Z Oldroyd
Izzy W Bowley
Izzy V Flosi
Cody L Rulapaugh
Salvatore I Shinko
Johnson L Dilliard
Alejandro I Schemmer
Tony U Ostrosky
Leja P Flosi
Murillo O Figeroa
Salvatore O Caldarera
Morrow R Inouye
Antonio S Glick
Chavez G Glick
Jones T Malet
Emily P Stenseth
Kadeem Y Venere
David H Flosi
Antonio Y Chui
Johnson O Figeroa
Jeanfrancois I Kolmetz
Adams W Poquette
Salvatore Q Paprocki
Leja N Kusko
Misaki H Gillian
Wickens P Oldroyd
Jones F Waycott
Kadeem D Sergi
Silvio H Perin
Mujtaba Q Paprocki
IdCountryDate
1000Japan2025-10-02
1001Australia2025-10-10
1002India2025-09-25
1003Brazil2025-09-28
1004United Kingdom2025-10-19
1005Japan2025-10-01
1006Brazil2025-10-08
1007United Kingdom2025-09-25
1008Australia2025-10-17
1009Canada2025-10-16
1010Australia2025-10-07
1011Australia2025-10-04
1012France2025-09-25
1013United Kingdom2025-09-30
1014Spain2025-10-19
1015Japan2025-10-11
1016Brazil2025-10-12
1017Japan2025-09-29
1018Russia2025-09-24
1019Argentina2025-09-28
1020Argentina2025-09-28
1021Germany2025-10-09
1022Japan2025-10-02
1023Russia2025-10-09
1024Canada2025-10-17
1025Canada2025-09-28
1026Russia2025-10-12
1027Canada2025-10-10
1028Germany2025-09-25
1029France2025-09-21
1030India2025-10-07
1031Argentina2025-09-28
1032India2025-10-04
1033Russia2025-10-17
1034Spain2025-09-28
1035India2025-10-12
1036France2025-10-07
1037Canada2025-10-11
1038India2025-10-03
1039Russia2025-10-14
1040Japan2025-09-27
1041Russia2025-10-09
1042Argentina2025-10-04
1043Japan2025-10-07
1044France2025-10-18
1045Brazil2025-10-18
1046Japan2025-10-06
1047United Kingdom2025-10-19
1048France2025-09-22
1049Australia2025-10-17

On-Demand Data

NameIdCountryDate
Izzy M Doe1000Japan2025-10-10
Maria M Chui1001United Kingdom2025-10-20
Wickens E Caudy1002India2025-09-23
Emily M Waycott1003India2025-09-23
Silvio U Oldroyd1004Spain2025-10-17
Antonio M Tollner1005Brazil2025-10-11
Chavez S Morasca1006Germany2025-10-17
Julie D Marrier1007United Kingdom2025-10-19
Stacey T Nestle1008India2025-10-20
Murillo S Malet1009Spain2025-10-14
Jones X Tollner1010Australia2025-10-16
Costa O Foller1011Brazil2025-09-21
Isabel U Rulapaugh1012Japan2025-10-19
Misaki C Stenseth1013Russia2025-09-30
Morrow A Albares1014France2025-10-13
Aditya T Schemmer1015Canada2025-09-24
Costa O Tollner1016France2025-10-20
Munro S Briddick1017Canada2025-10-13
Munro E Ruta1018France2025-09-24
Maria W Oldroyd1019Canada2025-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens U RoysterJapanStephen Shaw NEW
Jefferson B SergiGermanyBernardo Dominic NEW
Francesco O RulapaughSpainBernardo Dominic QUALIFIED
Cody Q ShinkoItalyIoni Bowcher QUALIFIED
Misaki M PoquetteBrazilAnna Fali QUALIFIED
Stacey S ButtUnited KingdomOnyama Limba QUALIFIED
Morrow F KolmetzSpainBernardo Dominic NEGOTIATION
Morrow I BowleyArgentinaXuxue Feng UNQUALIFIED
Emily R StensethFranceIvan Magalhaes PROPOSAL
Jennifer Q RulapaughJapanAmy Elsner NEW
Mujtaba L RimBrazilOnyama Limba NEGOTIATION
James L GauchoGermanyElwin Sharvill RENEWAL
Munro Y GillianJapanIoni Bowcher UNQUALIFIED
Aruna N RimBrazilIvan Magalhaes UNQUALIFIED
Tony H GlickFranceIoni Bowcher PROPOSAL
Ricardo G CaudySpainElwin Sharvill NEGOTIATION
Adams T AmigonIndiaAsiya Javayant NEW
Smith S VenereCanadaXuxue Feng PROPOSAL
Wickens B PaprockiRussiaIoni Bowcher NEGOTIATION
Alejandro D OldroydJapanIvan Magalhaes NEW
Wickens F NestleSpainIvan Magalhaes PROPOSAL
Aditya F BologniaArgentinaStephen Shaw NEGOTIATION
Aditya O FigeroaBrazilElwin Sharvill NEW
Juan P IturbideBrazilElwin Sharvill RENEWAL
Emily U FerenczBrazilBernardo Dominic RENEWAL
Rodrigues R StensethFranceAmy Elsner QUALIFIED
Stacey L RoysterRussiaBernardo Dominic NEGOTIATION
Ivar Y RoysterRussiaBernardo Dominic QUALIFIED
Isabel P NestleGermanyStephen Shaw NEW
Jefferson P PaprockiJapanStephen Shaw PROPOSAL
Arvin M RutaGermanyXuxue Feng RENEWAL
Cody B BologniaIndiaIoni Bowcher PROPOSAL
Darci V NickaJapanAmy Elsner NEW
Misaki R GarufiCanadaBernardo Dominic NEGOTIATION
Adams L InouyeArgentinaOnyama Limba QUALIFIED
Arvin K ChuiBrazilElwin Sharvill NEGOTIATION
Darci L TollnerCanadaIoni Bowcher UNQUALIFIED
Ivar M FlosiFranceStephen Shaw UNQUALIFIED
Smith P BologniaBrazilAsiya Javayant QUALIFIED
Jefferson V WieserRussiaBernardo Dominic PROPOSAL

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