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
Julie S PaprockiBrazilOnyama Limba QUALIFIED
Aika X MaletItalyAnna Fali NEW
James K DilliardJapanBernardo Dominic NEW
Murillo H BologniaFranceOnyama Limba NEW
Izzy X GauchoUnited KingdomOnyama Limba NEW
Deepesh S RutaBrazilAnna Fali QUALIFIED
Salvatore G BriddickAustraliaStephen Shaw QUALIFIED
Greenwood U MaletJapanAnna Fali UNQUALIFIED
Nicolas Q GlickArgentinaIoni Bowcher QUALIFIED
Leon H OstroskyUnited KingdomXuxue Feng PROPOSAL
Cody U DarakjyJapanBernardo Dominic NEGOTIATION
Aruna P FlosiJapanAmy Elsner NEGOTIATION
Ivar F SchemmerGermanyIoni Bowcher NEGOTIATION
Adams E CaudyBrazilElwin Sharvill NEGOTIATION
Silvio Y WieserAustraliaAnna Fali RENEWAL
Wickens V MacleadAustraliaStephen Shaw RENEWAL
Leja H ShinkoAustraliaElwin Sharvill NEGOTIATION
Chavez X PoquetteSpainBernardo Dominic NEW
Kadeem O StockhamFranceXuxue Feng UNQUALIFIED
Murillo Z WieserSpainXuxue Feng UNQUALIFIED
Ashley Q KolmetzRussiaAsiya Javayant NEGOTIATION
Chavez M BowleySpainIoni Bowcher PROPOSAL
Clifford T MaletArgentinaAnna Fali UNQUALIFIED
Silvio A InouyeFranceOnyama Limba PROPOSAL
Emily D MaletAustraliaBernardo Dominic NEW
Jefferson N CaudyAustraliaOnyama Limba NEW
Ivar Z MarrierRussiaAmy Elsner QUALIFIED
Salvatore W FollerGermanyAsiya Javayant PROPOSAL
Ivar P DarakjyArgentinaIvan Magalhaes RENEWAL
Cody O CaudyUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro H FigeroaUnited KingdomBernardo Dominic NEW
Ashley O InouyeRussiaBernardo Dominic UNQUALIFIED
Antonio H IturbideGermanyOnyama Limba UNQUALIFIED
Deepesh D KuskoSpainIvan Magalhaes PROPOSAL
Faith Z FerenczCanadaElwin Sharvill NEGOTIATION
Jones F GlickArgentinaIvan Magalhaes RENEWAL
Ivar U VenereJapanElwin Sharvill PROPOSAL
James C ChuiItalyIvan Magalhaes QUALIFIED
Wickens J RimBrazilXuxue Feng NEW
Arvin G CampainSpainOnyama Limba UNQUALIFIED
Johnson X GillianGermanyElwin Sharvill NEW
Alejandro C VocelkaItalyBernardo Dominic RENEWAL
Antonio B CaudyIndiaBernardo Dominic NEW
Chavez Z MorascaUnited KingdomAsiya Javayant PROPOSAL
Kadeem Y TollnerArgentinaXuxue Feng UNQUALIFIED
Nicolas I DoeAustraliaIvan Magalhaes PROPOSAL
Kadeem J StockhamUnited KingdomBernardo Dominic PROPOSAL
James V GarufiItalyOnyama Limba QUALIFIED
Kaitlin F RoysterUnited KingdomIoni Bowcher QUALIFIED
Smith J OstroskyUnited KingdomElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maisha V MaletBrazilOnyama Limba RENEWAL
Cody S DilliardIndiaIoni Bowcher RENEWAL
Jefferson S CaldareraJapanOnyama Limba QUALIFIED
Jeanfrancois R BriddickUnited KingdomIoni Bowcher NEW
Jefferson F CampainIndiaAmy Elsner UNQUALIFIED
Stacey J PaprockiGermanyXuxue Feng UNQUALIFIED
Greenwood P KolmetzRussiaXuxue Feng NEW
Jefferson R DoeIndiaAmy Elsner QUALIFIED
Leja R FollerCanadaXuxue Feng NEGOTIATION
Emily T GlickFranceAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow U ChuiItaly2025-08-22Commercial Press QUALIFIED51Elwin Sharvill
1001Mayumi J GlickItaly2025-08-03Chanay, Jeffrey A Esq QUALIFIED37Ioni Bowcher
1002Jefferson R MacleadArgentina2025-08-13Rousseaux, Michael Esq NEW77Anna Fali
1003Ricardo W MaletGermany2025-08-22Rangoni Of Florence RENEWAL50Ioni Bowcher
1004Munro I DoeRussia2025-08-27Feiner Bros NEW72Asiya Javayant
1005Clifford Q AlbaresIndia2025-08-28Buckley Miller Wright NEGOTIATION50Amy Elsner
1006Morrow A AlbaresArgentina2025-08-26Morlong Associates PROPOSAL59Stephen Shaw
1007Ricardo I CaldareraItaly2025-08-20Feiner Bros NEW71Onyama Limba
1008Mujtaba E FollerCanada2025-08-07Chemel, James L Cpa RENEWAL96Amy Elsner
1009David F VocelkaSpain2025-08-08Commercial Press RENEWAL93Amy Elsner
1010Costa M GarufiCanada2025-07-31Feltz Printing Service RENEWAL60Anna Fali
1011Maria P FigeroaBrazil2025-08-23Morlong Associates NEGOTIATION91Xuxue Feng
1012Kaitlin P StensethSpain2025-08-06Printing Dimensions QUALIFIED1Ioni Bowcher
1013Maisha S ButtGermany2025-08-01Dorl, James J Esq NEGOTIATION75Xuxue Feng
1014Tony R SlusarskiJapan2025-07-31Commercial Press UNQUALIFIED47Stephen Shaw
1015Antonio T DarakjyBrazil2025-08-26Chapman, Ross E Esq UNQUALIFIED71Asiya Javayant
1016Murillo Z StockhamFrance2025-08-27Rangoni Of Florence RENEWAL45Xuxue Feng
1017David A MorascaBrazil2025-07-31Dorl, James J Esq NEGOTIATION32Asiya Javayant
1018Misaki W GillianFrance2025-08-12Rangoni Of Florence PROPOSAL83Asiya Javayant
1019Wickens A WhobreyUnited Kingdom2025-07-30Feiner Bros PROPOSAL9Stephen Shaw
1020Deepesh A SergiCanada2025-08-06Feltz Printing Service NEGOTIATION97Elwin Sharvill
1021Adams V StockhamSpain2025-08-07Commercial Press NEGOTIATION84Stephen Shaw
1022Francesco K NickaBrazil2025-08-16Commercial Press RENEWAL20Onyama Limba
1023Jennifer U DilliardItaly2025-08-18Feiner Bros NEGOTIATION60Ivan Magalhaes
1024Leon F FerenczSpain2025-08-11Rousseaux, Michael Esq PROPOSAL76Onyama Limba
1025Stacey A IturbideItaly2025-08-23Rangoni Of Florence NEGOTIATION37Onyama Limba
1026Murillo Y FerenczIndia2025-08-02King, Christopher A Esq QUALIFIED27Bernardo Dominic
1027Adams A WhobreyArgentina2025-08-12Chapman, Ross E Esq NEGOTIATION57Anna Fali
1028Ivar A ButtUnited Kingdom2025-08-18Chapman, Ross E Esq UNQUALIFIED67Stephen Shaw
1029Mujtaba B VenereCanada2025-08-06Truhlar And Truhlar Attys PROPOSAL36Elwin Sharvill
1030Wickens Z OldroydArgentina2025-08-07Feltz Printing Service QUALIFIED23Bernardo Dominic
1031Cody P BologniaUnited Kingdom2025-08-22Buckley Miller Wright PROPOSAL26Bernardo Dominic
1032Maisha O GillianSpain2025-08-27Chemel, James L Cpa QUALIFIED21Onyama Limba
1033Juan F ButtBrazil2025-08-22Feiner Bros NEGOTIATION45Onyama Limba
1034Julie C FerenczArgentina2025-08-10Dorl, James J Esq NEGOTIATION23Bernardo Dominic
1035Leja G DarakjyArgentina2025-07-30Chapman, Ross E Esq QUALIFIED77Bernardo Dominic
1036Ivar V DarakjySpain2025-08-07King, Christopher A Esq NEGOTIATION22Asiya Javayant
1037Aika D CaudySpain2025-08-17Rousseaux, Michael Esq NEW51Ioni Bowcher
1038Maria S VocelkaFrance2025-08-17Rousseaux, Michael Esq PROPOSAL53Ioni Bowcher
1039Alejandro T PerinBrazil2025-08-19Rangoni Of Florence UNQUALIFIED86Bernardo Dominic
1040Cody T ButtCanada2025-08-08Truhlar And Truhlar Attys NEW97Ivan Magalhaes
1041Misaki E OldroydAustralia2025-08-02Rangoni Of Florence QUALIFIED30Ivan Magalhaes
1042Antonio Z CaldareraJapan2025-08-13Rousseaux, Michael Esq PROPOSAL96Ioni Bowcher
1043Greenwood U RoysterJapan2025-08-10Chapman, Ross E Esq UNQUALIFIED13Stephen Shaw
1044James D DilliardGermany2025-08-24Commercial Press QUALIFIED41Ivan Magalhaes
1045Darci N FerenczArgentina2025-08-07Chapman, Ross E Esq RENEWAL18Xuxue Feng
1046Mujtaba I MorascaUnited Kingdom2025-08-24Dorl, James J Esq QUALIFIED16Asiya Javayant
1047Johnson C RimGermany2025-08-26Morlong Associates QUALIFIED2Anna Fali
1048Ricardo B OldroydIndia2025-08-03Truhlar And Truhlar Attys NEW46Xuxue Feng
1049David E GarufiArgentina2025-08-13Feiner Bros NEW77Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh G MarrierSpainAnna Fali NEGOTIATION
Juan M SaylorsArgentinaAmy Elsner QUALIFIED
Nicolas Q WieserSpainAnna Fali PROPOSAL
Murillo Q MaletItalyXuxue Feng NEGOTIATION
Morrow O MacleadArgentinaIoni Bowcher PROPOSAL
Deepesh Q VenereAustraliaOnyama Limba NEW
Deepesh F ShinkoFranceBernardo Dominic QUALIFIED
David J DarakjyArgentinaBernardo Dominic PROPOSAL
Morrow P PerinJapanAsiya Javayant PROPOSAL
Johnson I PerinUnited KingdomAmy Elsner UNQUALIFIED
Salvatore I BologniaAustraliaStephen Shaw UNQUALIFIED
Munro K ShinkoGermanyIvan Magalhaes UNQUALIFIED
Octavia O CampainSpainAmy Elsner UNQUALIFIED
Kadeem X SergiRussiaElwin Sharvill RENEWAL
Antonio H RutaFranceAsiya Javayant QUALIFIED
Wickens E GarufiBrazilIoni Bowcher NEGOTIATION
Wickens G ButtAustraliaOnyama Limba PROPOSAL
Juan B WieserAustraliaAnna Fali RENEWAL
Tony H RutaSpainOnyama Limba UNQUALIFIED
Mujtaba R BriddickItalyAnna Fali RENEWAL
Jefferson Z FigeroaSpainAsiya Javayant QUALIFIED
Clifford Y BologniaUnited KingdomIoni Bowcher NEW
Ashley J WieserItalyElwin Sharvill QUALIFIED
Johnson C NestleAustraliaElwin Sharvill NEW
Munro R WieserCanadaAsiya Javayant PROPOSAL
Munro T ShinkoRussiaAsiya Javayant UNQUALIFIED
Adams X SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Julie P SchemmerAustraliaIoni Bowcher PROPOSAL
Ivar A VenereRussiaStephen Shaw QUALIFIED
Jefferson V SlusarskiRussiaStephen Shaw UNQUALIFIED
James A NickaCanadaStephen Shaw UNQUALIFIED
Munro Y DilliardBrazilElwin Sharvill NEW
Francesco Q GauchoAustraliaOnyama Limba UNQUALIFIED
Wickens T GauchoBrazilAnna Fali QUALIFIED
Claire N AlbaresItalyIoni Bowcher NEW
Maisha B StensethBrazilAnna Fali NEW
Ricardo U MarrierIndiaOnyama Limba NEGOTIATION
Adams Y CampainArgentinaAmy Elsner RENEWAL
Claire F ChuiGermanyBernardo Dominic PROPOSAL
Antonio K AlbaresJapanXuxue Feng RENEWAL
Johnson S VocelkaRussiaElwin Sharvill NEW
Antonio P InouyeItalyOnyama Limba NEW
Johnson C PoquetteSpainElwin Sharvill PROPOSAL
Mayumi Q KuskoIndiaElwin Sharvill NEGOTIATION
Johnson F VocelkaRussiaStephen Shaw NEGOTIATION
Ivar E CaldareraBrazilAsiya Javayant NEGOTIATION
Nicolas S OstroskyArgentinaIvan Magalhaes RENEWAL
Ashley B BologniaArgentinaIvan Magalhaes RENEWAL
Emily F SergiItalyElwin Sharvill UNQUALIFIED
Mujtaba R PerinJapanOnyama Limba QUALIFIED
Frozen Columns
Name
Leja Y Ruta
Silvio Z Bolognia
Smith C Waycott
Ricardo R Doe
Julie I Bolognia
Murillo K Ruta
Isabel C Bolognia
James B Dilliard
Octavia J Kolmetz
Johnson A Bolognia
Johnson L Caldarera
Deepesh L Campain
Aika S Perin
Costa W Stenseth
Wickens R Bolognia
Rodrigues B Stockham
Stacey I Bolognia
Aditya O Ruta
Salvatore Q Figeroa
Salvatore L Chui
Juan K Schemmer
Jones C Whobrey
Aika C Marrier
Antonio V Campain
Murillo I Waycott
Jennifer X Wieser
Deepesh B Schemmer
Salvatore X Caldarera
Aruna A Tollner
Murillo M Ostrosky
Kaitlin W Rulapaugh
Francesco M Morasca
Claire J Caudy
Antonio U Nicka
Faith F Schemmer
Ricardo V Bowley
Kaitlin K Morasca
Morrow D Maclead
Mayumi W Caudy
Julie I Morasca
Mujtaba C Malet
Antonio Q Darakjy
Wickens X Butt
Darci Q Wieser
Costa I Nicka
Aruna K Dilliard
Kaitlin Q Perin
Octavia L Campain
Chavez R Bolognia
Octavia G Maclead
IdCountryDate
1000Germany2025-08-16
1001Spain2025-08-12
1002Italy2025-08-12
1003Italy2025-08-26
1004Brazil2025-08-26
1005Spain2025-08-22
1006Germany2025-07-31
1007Spain2025-08-14
1008Spain2025-08-27
1009Spain2025-08-18
1010Japan2025-08-11
1011Germany2025-08-07
1012Italy2025-08-20
1013Australia2025-08-26
1014France2025-08-15
1015Japan2025-08-18
1016Italy2025-08-13
1017Germany2025-08-12
1018India2025-08-28
1019Italy2025-08-06
1020Spain2025-08-27
1021Brazil2025-08-27
1022Spain2025-07-30
1023Spain2025-08-16
1024Japan2025-08-21
1025France2025-08-07
1026France2025-08-09
1027Brazil2025-08-06
1028United Kingdom2025-08-16
1029Australia2025-08-26
1030Italy2025-08-25
1031Russia2025-08-27
1032Brazil2025-07-31
1033France2025-08-07
1034India2025-08-14
1035France2025-08-16
1036India2025-08-21
1037Spain2025-08-26
1038United Kingdom2025-08-22
1039Russia2025-08-22
1040United Kingdom2025-08-09
1041France2025-08-13
1042Australia2025-08-10
1043Japan2025-08-20
1044Brazil2025-08-09
1045Australia2025-08-22
1046Australia2025-08-04
1047Australia2025-08-14
1048Spain2025-08-09
1049Canada2025-08-27

On-Demand Data

NameIdCountryDate
Jones O Nicka1000Spain2025-08-13
Ricardo O Amigon1001Brazil2025-08-20
Stacey G Slusarski1002Australia2025-08-02
Stacey J Morasca1003Russia2025-08-01
Leja R Tollner1004Canada2025-08-15
Alejandro D Shinko1005Canada2025-08-22
Emily B Campain1006Germany2025-08-14
Wickens H Royster1007Canada2025-08-12
Juan W Waycott1008United Kingdom2025-08-15
Francesco P Kusko1009Canada2025-07-30
Emily C Kusko1010Italy2025-08-01
Leon T Kusko1011France2025-08-07
Mujtaba O Nestle1012United Kingdom2025-08-26
Adams Z Schemmer1013Brazil2025-07-31
Leon L Oldroyd1014France2025-08-21
Kaitlin E Caldarera1015Russia2025-08-15
Sinclair M Royster1016India2025-08-03
Ashley S Malet1017Brazil2025-08-09
Nicolas U Campain1018Brazil2025-08-16
Mayumi S Tollner1019France2025-08-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi G DilliardCanadaOnyama Limba NEW
Izzy I RoysterRussiaIoni Bowcher RENEWAL
James A GarufiSpainStephen Shaw PROPOSAL
Morrow J KuskoArgentinaBernardo Dominic NEW
Leon P PaprockiUnited KingdomStephen Shaw NEGOTIATION
Octavia G WieserCanadaAnna Fali NEW
Aika T RulapaughAustraliaIoni Bowcher PROPOSAL
Clifford H AlbaresRussiaIoni Bowcher RENEWAL
Jennifer G TollnerBrazilIvan Magalhaes PROPOSAL
Maisha I InouyeCanadaIoni Bowcher QUALIFIED
Isabel J RulapaughArgentinaIvan Magalhaes NEGOTIATION
Salvatore L StockhamBrazilIvan Magalhaes NEW
Rodrigues K DilliardArgentinaStephen Shaw PROPOSAL
Cody N GillianJapanElwin Sharvill NEGOTIATION
Costa X RutaSpainOnyama Limba NEW
Rodrigues T DilliardSpainXuxue Feng RENEWAL
Isabel L RimIndiaIoni Bowcher NEGOTIATION
Isabel V ChuiRussiaAmy Elsner NEW
Morrow Z DarakjyRussiaXuxue Feng PROPOSAL
Misaki D InouyeGermanyIvan Magalhaes PROPOSAL
Darci C MacleadUnited KingdomAsiya Javayant NEGOTIATION
Greenwood V NestleUnited KingdomIvan Magalhaes NEGOTIATION
Ivar Q NickaGermanyBernardo Dominic UNQUALIFIED
Jones Z KolmetzJapanIvan Magalhaes RENEWAL
Mayumi U MaletFranceAmy Elsner QUALIFIED
Salvatore G CaudyItalyAnna Fali UNQUALIFIED
David X CampainGermanyBernardo Dominic RENEWAL
James Y SlusarskiAustraliaXuxue Feng UNQUALIFIED
Smith Q InouyeFranceXuxue Feng NEGOTIATION
Emily T RoysterItalyIvan Magalhaes PROPOSAL
Antonio K OldroydGermanyBernardo Dominic QUALIFIED
Izzy V CampainBrazilOnyama Limba QUALIFIED
Jones S GarufiFranceOnyama Limba PROPOSAL
Aika W FigeroaRussiaAmy Elsner QUALIFIED
Smith I BowleyCanadaAsiya Javayant UNQUALIFIED
Adams M BowleyAustraliaElwin Sharvill UNQUALIFIED
Tony D BowleyUnited KingdomBernardo Dominic NEW
Cody H TollnerBrazilBernardo Dominic NEGOTIATION
Ivar U FerenczRussiaStephen Shaw QUALIFIED
Munro A SlusarskiIndiaAnna Fali 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>