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
Mayumi Q CaudyJapanAmy Elsner QUALIFIED
Wickens F FerenczBrazilIvan Magalhaes PROPOSAL
Alejandro X BowleyItalyBernardo Dominic QUALIFIED
Jones Y WieserRussiaBernardo Dominic NEW
Maisha O WhobreyCanadaBernardo Dominic NEW
Alejandro L MarrierSpainXuxue Feng QUALIFIED
Juan E MacleadGermanyAmy Elsner NEW
Kadeem U CampainArgentinaElwin Sharvill NEGOTIATION
Nicolas J OldroydItalyStephen Shaw PROPOSAL
Ricardo K AmigonCanadaIoni Bowcher UNQUALIFIED
Octavia A SlusarskiAustraliaIoni Bowcher NEW
Misaki F GlickSpainStephen Shaw QUALIFIED
Morrow G NickaItalyAnna Fali UNQUALIFIED
Salvatore T AmigonJapanXuxue Feng NEW
Rodrigues X RutaAustraliaXuxue Feng UNQUALIFIED
Aditya A VocelkaSpainOnyama Limba NEW
Alejandro I NickaGermanyIoni Bowcher QUALIFIED
Jefferson U MaletFranceBernardo Dominic UNQUALIFIED
Kadeem F GlickRussiaIoni Bowcher UNQUALIFIED
Smith I FerenczArgentinaIoni Bowcher QUALIFIED
Maisha P PoquetteFranceIvan Magalhaes QUALIFIED
Misaki P WaycottFranceAmy Elsner NEGOTIATION
Kaitlin M MarrierFranceIvan Magalhaes NEW
Octavia M StensethArgentinaXuxue Feng NEGOTIATION
Maisha U VenereSpainOnyama Limba UNQUALIFIED
Faith L CampainBrazilAmy Elsner PROPOSAL
David L ButtGermanyIoni Bowcher RENEWAL
Johnson X BowleyAustraliaAnna Fali RENEWAL
Salvatore C ChuiIndiaIvan Magalhaes NEW
Deepesh N FlosiCanadaXuxue Feng NEW
Morrow P GauchoArgentinaStephen Shaw QUALIFIED
Ivar K RimIndiaStephen Shaw NEGOTIATION
Murillo G BologniaCanadaXuxue Feng NEGOTIATION
Maria J RulapaughArgentinaAsiya Javayant QUALIFIED
Octavia Z DoeJapanIvan Magalhaes NEW
Aika M ShinkoJapanAmy Elsner NEGOTIATION
Misaki Y PerinJapanIoni Bowcher NEW
Ashley D RimAustraliaAmy Elsner UNQUALIFIED
Claire E DoeAustraliaAnna Fali PROPOSAL
Ivar F CampainAustraliaAsiya Javayant QUALIFIED
Kaitlin X RoysterAustraliaAsiya Javayant NEW
Kaitlin L NickaJapanOnyama Limba NEW
Mayumi G PaprockiSpainAnna Fali NEGOTIATION
Stacey H RoysterGermanyAnna Fali QUALIFIED
Stacey I AlbaresBrazilElwin Sharvill RENEWAL
Adams L WaycottIndiaStephen Shaw RENEWAL
Ashley T SchemmerItalyBernardo Dominic UNQUALIFIED
Arvin C RutaGermanyXuxue Feng RENEWAL
Wickens A IturbideIndiaAmy Elsner QUALIFIED
Morrow X RimBrazilElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Arvin L FerenczFranceXuxue Feng NEGOTIATION
James C StensethFranceXuxue Feng QUALIFIED
Arvin L OldroydAustraliaOnyama Limba RENEWAL
Julie S ButtUnited KingdomBernardo Dominic RENEWAL
Darci U FerenczBrazilElwin Sharvill RENEWAL
Chavez I FigeroaRussiaIoni Bowcher UNQUALIFIED
Misaki I PerinCanadaAnna Fali PROPOSAL
Munro L WhobreyGermanyElwin Sharvill PROPOSAL
Stacey T NestleAustraliaIoni Bowcher UNQUALIFIED
Aika I FlosiItalyIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford Z CaldareraCanada2025-07-20Chemel, James L Cpa QUALIFIED43Asiya Javayant
1001Morrow F PaprockiSpain2025-07-20Printing Dimensions PROPOSAL62Ivan Magalhaes
1002Munro Z PerinArgentina2025-07-21Printing Dimensions UNQUALIFIED20Amy Elsner
1003Clifford O RulapaughBrazil2025-08-09Benton, John B Jr RENEWAL75Stephen Shaw
1004Maisha V BriddickFrance2025-07-31Feiner Bros RENEWAL73Bernardo Dominic
1005Aditya O ButtUnited Kingdom2025-08-06Feltz Printing Service UNQUALIFIED72Elwin Sharvill
1006Kadeem E CaudyIndia2025-08-08Feltz Printing Service NEGOTIATION1Onyama Limba
1007Mujtaba D OstroskySpain2025-07-19King, Christopher A Esq QUALIFIED11Xuxue Feng
1008Johnson H FollerAustralia2025-08-02Printing Dimensions NEGOTIATION68Bernardo Dominic
1009Aditya F InouyeJapan2025-07-28Chapman, Ross E Esq UNQUALIFIED40Ioni Bowcher
1010Misaki K RulapaughItaly2025-08-12King, Christopher A Esq UNQUALIFIED1Ioni Bowcher
1011Sinclair T RulapaughFrance2025-07-16King, Christopher A Esq QUALIFIED8Onyama Limba
1012Sinclair L SaylorsFrance2025-07-19Buckley Miller Wright RENEWAL94Bernardo Dominic
1013Jefferson E FigeroaCanada2025-07-26Morlong Associates NEGOTIATION39Xuxue Feng
1014Antonio Y RimBrazil2025-07-25Chanay, Jeffrey A Esq QUALIFIED60Asiya Javayant
1015Greenwood J VenereArgentina2025-08-11Morlong Associates PROPOSAL30Ivan Magalhaes
1016Chavez K VenereRussia2025-07-18Chanay, Jeffrey A Esq QUALIFIED75Stephen Shaw
1017Juan K GauchoUnited Kingdom2025-07-22Rangoni Of Florence RENEWAL77Asiya Javayant
1018Claire S ButtBrazil2025-07-26Chapman, Ross E Esq RENEWAL85Stephen Shaw
1019Chavez G StensethSpain2025-07-15Chemel, James L Cpa UNQUALIFIED45Elwin Sharvill
1020Wickens T VocelkaAustralia2025-07-24Morlong Associates UNQUALIFIED33Anna Fali
1021Smith Q NickaFrance2025-07-29King, Christopher A Esq PROPOSAL80Xuxue Feng
1022Chavez A StensethJapan2025-08-01Truhlar And Truhlar Attys RENEWAL37Anna Fali
1023Tony J KuskoBrazil2025-08-02Rousseaux, Michael Esq QUALIFIED77Onyama Limba
1024Aika N MacleadGermany2025-07-15Rangoni Of Florence UNQUALIFIED79Anna Fali
1025Morrow G MaletRussia2025-08-08Feiner Bros QUALIFIED51Bernardo Dominic
1026Aika U TollnerFrance2025-07-24Benton, John B Jr QUALIFIED65Elwin Sharvill
1027Claire Q KuskoCanada2025-07-27Benton, John B Jr QUALIFIED76Stephen Shaw
1028Emily D ChuiSpain2025-08-11Feltz Printing Service QUALIFIED27Ioni Bowcher
1029Juan X MaletBrazil2025-07-15Truhlar And Truhlar Attys QUALIFIED92Bernardo Dominic
1030Maisha E DoeSpain2025-08-02Chanay, Jeffrey A Esq QUALIFIED81Ioni Bowcher
1031Izzy V GillianRussia2025-08-10Truhlar And Truhlar Attys NEW70Stephen Shaw
1032James C ButtUnited Kingdom2025-08-08Rangoni Of Florence PROPOSAL68Ioni Bowcher
1033Izzy C TollnerArgentina2025-07-18Chapman, Ross E Esq RENEWAL79Onyama Limba
1034Leon I CaldareraSpain2025-08-09Chanay, Jeffrey A Esq NEGOTIATION48Amy Elsner
1035Nicolas P WieserAustralia2025-07-29Truhlar And Truhlar Attys UNQUALIFIED75Xuxue Feng
1036Isabel Y WhobreyCanada2025-08-13Morlong Associates RENEWAL66Stephen Shaw
1037Stacey V ButtAustralia2025-07-23Feiner Bros NEGOTIATION21Xuxue Feng
1038Francesco M DarakjyBrazil2025-08-05Rangoni Of Florence UNQUALIFIED5Ioni Bowcher
1039Maisha C PerinArgentina2025-07-30Chapman, Ross E Esq QUALIFIED35Bernardo Dominic
1040Juan P PoquetteRussia2025-07-28Commercial Press PROPOSAL61Amy Elsner
1041Nicolas J ChuiBrazil2025-07-15Rousseaux, Michael Esq RENEWAL98Bernardo Dominic
1042Nicolas H NickaRussia2025-08-11Chapman, Ross E Esq NEGOTIATION12Onyama Limba
1043Jefferson D ButtCanada2025-07-31Chanay, Jeffrey A Esq NEW57Amy Elsner
1044Faith B BowleyAustralia2025-07-20Chapman, Ross E Esq UNQUALIFIED65Xuxue Feng
1045Isabel I BologniaArgentina2025-08-01Chemel, James L Cpa RENEWAL75Amy Elsner
1046Julie V PaprockiGermany2025-07-28Chanay, Jeffrey A Esq UNQUALIFIED17Onyama Limba
1047Greenwood I PaprockiGermany2025-08-06Dorl, James J Esq NEW75Asiya Javayant
1048Kadeem G BriddickBrazil2025-07-30Commercial Press QUALIFIED69Anna Fali
1049Alejandro E KuskoGermany2025-08-01Commercial Press NEW97Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin L MorascaArgentinaStephen Shaw UNQUALIFIED
Jeanfrancois U ShinkoFranceStephen Shaw RENEWAL
Morrow Q BowleyAustraliaAsiya Javayant PROPOSAL
Clifford P SergiGermanyAnna Fali RENEWAL
Leon X ChuiUnited KingdomStephen Shaw QUALIFIED
Misaki X GlickJapanAsiya Javayant PROPOSAL
Leja Y OstroskyIndiaAnna Fali PROPOSAL
Salvatore H RoysterRussiaStephen Shaw NEW
Clifford G OstroskyGermanyBernardo Dominic QUALIFIED
Ivar N StockhamSpainOnyama Limba NEGOTIATION
Chavez T SlusarskiRussiaIoni Bowcher NEW
Mujtaba I GlickJapanElwin Sharvill NEW
Ashley H IturbideJapanOnyama Limba RENEWAL
Antonio Z CampainSpainBernardo Dominic UNQUALIFIED
Munro A OstroskyItalyElwin Sharvill PROPOSAL
Maria D NestleRussiaStephen Shaw UNQUALIFIED
Greenwood D RutaRussiaXuxue Feng UNQUALIFIED
Jeanfrancois Q InouyeCanadaXuxue Feng UNQUALIFIED
Isabel X SlusarskiJapanElwin Sharvill PROPOSAL
Darci R ShinkoFranceStephen Shaw RENEWAL
Jennifer X SlusarskiSpainAnna Fali RENEWAL
Misaki J ShinkoJapanIoni Bowcher PROPOSAL
Misaki U ButtIndiaIoni Bowcher NEW
Julie P IturbideBrazilIvan Magalhaes RENEWAL
Morrow Y BowleyRussiaAmy Elsner QUALIFIED
Rodrigues M FollerJapanAsiya Javayant UNQUALIFIED
Wickens Y SlusarskiSpainXuxue Feng RENEWAL
Izzy S StockhamArgentinaIvan Magalhaes QUALIFIED
Mujtaba W PaprockiJapanIvan Magalhaes PROPOSAL
Kadeem U VenereJapanStephen Shaw UNQUALIFIED
Kadeem W SchemmerIndiaBernardo Dominic NEW
Isabel Z PerinGermanyIvan Magalhaes PROPOSAL
Munro J VenereItalyOnyama Limba PROPOSAL
Octavia R MarrierArgentinaBernardo Dominic PROPOSAL
Sinclair R RutaItalyXuxue Feng UNQUALIFIED
Leja L FerenczIndiaStephen Shaw NEGOTIATION
Ricardo K RutaGermanyIoni Bowcher QUALIFIED
Chavez L MaletItalyElwin Sharvill NEW
Munro D RulapaughFranceIvan Magalhaes NEW
Jones T VocelkaCanadaElwin Sharvill NEW
Ricardo B ShinkoAustraliaAmy Elsner RENEWAL
Darci X SlusarskiFranceOnyama Limba UNQUALIFIED
Aika K StensethCanadaBernardo Dominic PROPOSAL
Leja Z FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo F AmigonSpainIvan Magalhaes UNQUALIFIED
Chavez A DilliardJapanElwin Sharvill RENEWAL
Ashley B AmigonCanadaIvan Magalhaes NEW
Ricardo M IturbideGermanyIvan Magalhaes NEW
Jones M CaldareraBrazilXuxue Feng NEW
James K DoeSpainBernardo Dominic RENEWAL
Frozen Columns
Name
Octavia N Figeroa
Julie N Glick
Wickens J Gaucho
Smith K Garufi
Rodrigues X Garufi
Claire P Bolognia
Alejandro R Shinko
Kadeem Y Caudy
Clifford F Ruta
Silvio V Malet
Morrow Z Royster
Chavez F Flosi
Julie W Paprocki
Ricardo W Shinko
Morrow A Doe
Isabel Q Paprocki
Maria B Flosi
Tony G Gaucho
Jefferson U Paprocki
Izzy J Whobrey
Mayumi A Gillian
Munro B Malet
Aditya V Malet
Julie X Albares
Jennifer Z Sergi
Clifford N Schemmer
Juan U Garufi
Jennifer W Whobrey
Arvin T Glick
Aditya E Albares
Maisha R Gaucho
Ashley V Maclead
Jeanfrancois U Albares
Francesco U Whobrey
Deepesh W Maclead
Stacey B Perin
Darci E Butt
Chavez C Perin
Johnson W Oldroyd
Isabel Q Dilliard
Jones J Waycott
Greenwood M Paprocki
Ashley X Rim
Salvatore C Saylors
Kaitlin V Nicka
Mujtaba L Inouye
Misaki Q Tollner
Silvio D Shinko
Aika G Rulapaugh
Mujtaba K Nestle
IdCountryDate
1000Australia2025-07-18
1001Germany2025-07-15
1002Russia2025-07-16
1003Italy2025-07-26
1004Russia2025-07-26
1005Brazil2025-08-07
1006India2025-07-23
1007Germany2025-08-09
1008Argentina2025-07-27
1009France2025-07-17
1010Japan2025-08-11
1011Canada2025-08-09
1012Canada2025-08-13
1013Australia2025-07-17
1014India2025-08-04
1015Germany2025-07-19
1016Argentina2025-08-06
1017United Kingdom2025-07-20
1018Argentina2025-07-28
1019Japan2025-08-12
1020France2025-07-26
1021Japan2025-08-05
1022Argentina2025-08-11
1023Australia2025-07-18
1024Brazil2025-08-07
1025Spain2025-08-07
1026Japan2025-07-30
1027Australia2025-08-10
1028Italy2025-08-01
1029Japan2025-07-15
1030Russia2025-08-09
1031India2025-08-01
1032India2025-07-27
1033India2025-08-08
1034Russia2025-08-06
1035India2025-07-18
1036Germany2025-08-11
1037Russia2025-08-03
1038Spain2025-07-15
1039Russia2025-07-29
1040Spain2025-07-17
1041Brazil2025-07-22
1042India2025-07-27
1043Canada2025-07-28
1044India2025-07-27
1045Germany2025-08-07
1046United Kingdom2025-07-27
1047Argentina2025-08-07
1048Brazil2025-08-04
1049Brazil2025-08-12

On-Demand Data

NameIdCountryDate
Alejandro X Campain1000Germany2025-07-20
Smith Y Stenseth1001Argentina2025-08-03
Darci G Nestle1002Russia2025-08-01
Aika B Bowley1003United Kingdom2025-08-06
Francesco M Whobrey1004France2025-07-24
Stacey Y Slusarski1005United Kingdom2025-07-25
Jeanfrancois N Ferencz1006Japan2025-07-25
Jefferson D Bowley1007Italy2025-08-07
Morrow X Campain1008United Kingdom2025-07-16
Munro J Butt1009Brazil2025-08-11
Nicolas D Saylors1010France2025-07-18
Johnson J Kolmetz1011Argentina2025-08-06
Kaitlin M Caldarera1012Spain2025-07-24
Chavez V Rim1013Russia2025-07-18
Francesco I Bowley1014Brazil2025-08-05
Smith B Caudy1015Spain2025-07-22
Darci C Foller1016Italy2025-08-10
Morrow L Ferencz1017Brazil2025-07-31
Jennifer J Amigon1018Germany2025-08-02
Emily A Dilliard1019Australia2025-07-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson U RulapaughUnited KingdomXuxue Feng NEGOTIATION
Smith L StensethItalyBernardo Dominic UNQUALIFIED
Jones V BowleyBrazilStephen Shaw NEGOTIATION
Smith O GarufiSpainAsiya Javayant NEGOTIATION
Johnson Z FollerUnited KingdomAmy Elsner NEGOTIATION
Jennifer L DilliardGermanyIoni Bowcher RENEWAL
Octavia X ShinkoArgentinaXuxue Feng NEGOTIATION
Misaki R GillianUnited KingdomElwin Sharvill RENEWAL
Maria W PerinIndiaIvan Magalhaes QUALIFIED
Jeanfrancois K MorascaItalyAnna Fali NEGOTIATION
Greenwood Y SlusarskiSpainBernardo Dominic NEW
Arvin Y CaudyGermanyOnyama Limba NEW
Kadeem T WaycottSpainStephen Shaw NEGOTIATION
Jefferson M PoquetteUnited KingdomElwin Sharvill RENEWAL
Antonio I ButtArgentinaXuxue Feng QUALIFIED
Juan H OldroydCanadaXuxue Feng QUALIFIED
Jennifer E SaylorsSpainElwin Sharvill NEGOTIATION
Costa I SchemmerSpainAnna Fali NEW
Francesco X ChuiArgentinaXuxue Feng NEW
Smith Z ButtArgentinaElwin Sharvill QUALIFIED
Juan R NickaCanadaAsiya Javayant QUALIFIED
Smith D BowleyGermanyBernardo Dominic QUALIFIED
Jennifer Y FlosiUnited KingdomElwin Sharvill NEW
Wickens K GarufiRussiaXuxue Feng UNQUALIFIED
Izzy N GillianItalyStephen Shaw NEW
Octavia W TollnerUnited KingdomAmy Elsner RENEWAL
Silvio Z InouyeAustraliaXuxue Feng NEW
Octavia F GarufiGermanyStephen Shaw PROPOSAL
Adams W FollerGermanyAmy Elsner UNQUALIFIED
Darci A BriddickJapanStephen Shaw PROPOSAL
Johnson Y GillianSpainOnyama Limba NEGOTIATION
Sinclair O KolmetzJapanIvan Magalhaes NEW
Wickens Y MarrierIndiaStephen Shaw RENEWAL
Salvatore X FlosiCanadaBernardo Dominic UNQUALIFIED
Leja K CampainGermanyIvan Magalhaes UNQUALIFIED
Aika V BriddickIndiaStephen Shaw RENEWAL
Deepesh N WieserSpainXuxue Feng PROPOSAL
Rodrigues J MaletAustraliaIvan Magalhaes NEGOTIATION
James O FollerJapanXuxue Feng NEW
Arvin T SaylorsRussiaIoni Bowcher NEW

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