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
Wickens T StockhamJapanIoni Bowcher QUALIFIED
Morrow V ButtCanadaElwin Sharvill QUALIFIED
Johnson W ShinkoJapanAsiya Javayant NEGOTIATION
Nicolas G NestleAustraliaElwin Sharvill QUALIFIED
Costa T SchemmerIndiaIvan Magalhaes NEGOTIATION
Aditya L ButtJapanAmy Elsner QUALIFIED
Darci P FerenczAustraliaAsiya Javayant UNQUALIFIED
Wickens S VocelkaSpainAsiya Javayant UNQUALIFIED
Tony A OstroskyCanadaXuxue Feng QUALIFIED
Faith R MarrierIndiaStephen Shaw QUALIFIED
Juan O FerenczGermanyBernardo Dominic NEGOTIATION
Stacey O GlickSpainAmy Elsner NEW
Mayumi J RoysterGermanyXuxue Feng NEW
Jefferson F BologniaAustraliaAnna Fali QUALIFIED
Antonio M KolmetzIndiaIvan Magalhaes PROPOSAL
Antonio T PoquetteAustraliaAsiya Javayant RENEWAL
Tony W SlusarskiBrazilAmy Elsner NEW
Alejandro G SlusarskiFranceAmy Elsner RENEWAL
Smith D FigeroaItalyAnna Fali NEW
Jennifer D OstroskyIndiaAmy Elsner UNQUALIFIED
Greenwood O TollnerIndiaIoni Bowcher PROPOSAL
Morrow V TollnerSpainAmy Elsner RENEWAL
Nicolas E GarufiRussiaXuxue Feng RENEWAL
Aika G BriddickCanadaAnna Fali UNQUALIFIED
Greenwood M StensethGermanyElwin Sharvill NEGOTIATION
Arvin V MorascaRussiaElwin Sharvill NEW
Murillo F OstroskyJapanAsiya Javayant PROPOSAL
Maisha R BriddickGermanyXuxue Feng UNQUALIFIED
Leja Z PerinUnited KingdomAmy Elsner UNQUALIFIED
Nicolas O MaletGermanyXuxue Feng NEW
Sinclair L FigeroaBrazilIvan Magalhaes QUALIFIED
Mujtaba Z BowleySpainStephen Shaw NEGOTIATION
Deepesh X VocelkaArgentinaStephen Shaw NEW
Arvin O DoeSpainAsiya Javayant RENEWAL
Johnson E GauchoItalyBernardo Dominic NEW
Ricardo J InouyeArgentinaIoni Bowcher QUALIFIED
Aditya X VenereGermanyIvan Magalhaes UNQUALIFIED
Octavia U GarufiFranceElwin Sharvill NEGOTIATION
Arvin M ButtItalyAnna Fali NEW
Francesco R PaprockiBrazilIvan Magalhaes PROPOSAL
Ricardo S InouyeGermanyBernardo Dominic NEW
Isabel L RoysterFranceAsiya Javayant PROPOSAL
Sinclair T VenereItalyAnna Fali UNQUALIFIED
Antonio I WaycottJapanIvan Magalhaes NEGOTIATION
Faith M NickaUnited KingdomAnna Fali UNQUALIFIED
Aruna R PerinFranceOnyama Limba PROPOSAL
Jones N MarrierJapanStephen Shaw RENEWAL
Sinclair K WaycottArgentinaAmy Elsner NEW
Aditya L WhobreyJapanAmy Elsner NEGOTIATION
Jennifer J SlusarskiAustraliaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Francesco W WieserSpainElwin Sharvill PROPOSAL
Alejandro J MacleadUnited KingdomAsiya Javayant PROPOSAL
Chavez O MacleadAustraliaAnna Fali NEW
Antonio N MacleadItalyBernardo Dominic NEGOTIATION
James R RimJapanAmy Elsner PROPOSAL
Aditya Q FerenczUnited KingdomAsiya Javayant RENEWAL
Munro K ChuiGermanyOnyama Limba NEGOTIATION
Chavez T IturbideItalyBernardo Dominic RENEWAL
Adams D GauchoCanadaStephen Shaw NEGOTIATION
David I AmigonItalyAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy M SergiSpain2025-08-11King, Christopher A Esq QUALIFIED30Xuxue Feng
1001Ivar E WieserFrance2025-08-19Feiner Bros NEW12Stephen Shaw
1002Smith B MaletCanada2025-07-31Morlong Associates NEGOTIATION97Stephen Shaw
1003Cody E DoeFrance2025-08-09Feiner Bros PROPOSAL94Asiya Javayant
1004Cody C GillianBrazil2025-08-23Chapman, Ross E Esq QUALIFIED41Anna Fali
1005Mujtaba O WaycottAustralia2025-07-30Buckley Miller Wright PROPOSAL22Ioni Bowcher
1006Murillo P FlosiIndia2025-08-18King, Christopher A Esq RENEWAL63Ioni Bowcher
1007Leja E OldroydJapan2025-07-30Benton, John B Jr NEW21Onyama Limba
1008David R MaletFrance2025-08-17Chapman, Ross E Esq QUALIFIED66Xuxue Feng
1009Morrow K ChuiIndia2025-08-15Chapman, Ross E Esq UNQUALIFIED80Bernardo Dominic
1010Kaitlin A PoquetteFrance2025-08-24Benton, John B Jr UNQUALIFIED31Asiya Javayant
1011Arvin A InouyeRussia2025-08-15Dorl, James J Esq QUALIFIED62Ivan Magalhaes
1012Adams C MaletArgentina2025-08-16Chemel, James L Cpa NEW71Stephen Shaw
1013David B GillianGermany2025-08-03Printing Dimensions PROPOSAL51Asiya Javayant
1014Greenwood I KuskoItaly2025-08-09King, Christopher A Esq QUALIFIED15Ioni Bowcher
1015Morrow A CaudyUnited Kingdom2025-08-07Buckley Miller Wright QUALIFIED39Bernardo Dominic
1016Juan Z OldroydSpain2025-08-12Printing Dimensions PROPOSAL56Ivan Magalhaes
1017Leja K SergiFrance2025-07-30Chapman, Ross E Esq PROPOSAL19Asiya Javayant
1018Antonio N VocelkaSpain2025-08-24Commercial Press PROPOSAL71Xuxue Feng
1019Jennifer M RimJapan2025-07-30Chanay, Jeffrey A Esq NEGOTIATION73Bernardo Dominic
1020Mayumi S OldroydArgentina2025-08-07Chapman, Ross E Esq QUALIFIED6Anna Fali
1021Izzy G GlickJapan2025-08-22Rangoni Of Florence RENEWAL33Xuxue Feng
1022Tony Q TollnerItaly2025-08-21Rousseaux, Michael Esq UNQUALIFIED41Asiya Javayant
1023Johnson Y DilliardRussia2025-08-17Chemel, James L Cpa UNQUALIFIED38Xuxue Feng
1024Octavia R FerenczSpain2025-08-02Chapman, Ross E Esq NEGOTIATION48Xuxue Feng
1025Ashley J FollerFrance2025-08-14Buckley Miller Wright NEGOTIATION40Stephen Shaw
1026Johnson T DarakjyCanada2025-08-04Chapman, Ross E Esq NEGOTIATION27Ivan Magalhaes
1027Clifford L KuskoBrazil2025-08-23Truhlar And Truhlar Attys PROPOSAL69Ioni Bowcher
1028Leon Z ChuiAustralia2025-08-22Dorl, James J Esq NEW65Ioni Bowcher
1029Salvatore A SaylorsAustralia2025-08-01Truhlar And Truhlar Attys QUALIFIED52Stephen Shaw
1030Aditya E WhobreyBrazil2025-08-25Morlong Associates QUALIFIED22Stephen Shaw
1031Arvin C FollerRussia2025-08-27Dorl, James J Esq RENEWAL0Amy Elsner
1032Greenwood X FerenczCanada2025-08-13Rangoni Of Florence NEGOTIATION56Stephen Shaw
1033Antonio G GlickSpain2025-08-28Chapman, Ross E Esq RENEWAL14Bernardo Dominic
1034Misaki R VocelkaJapan2025-08-20King, Christopher A Esq QUALIFIED2Bernardo Dominic
1035Aruna U IturbideFrance2025-08-04Chemel, James L Cpa PROPOSAL4Asiya Javayant
1036Isabel G PoquetteArgentina2025-08-05Commercial Press NEW82Amy Elsner
1037Jefferson Q StensethJapan2025-08-09Dorl, James J Esq UNQUALIFIED65Ioni Bowcher
1038Faith D WhobreyAustralia2025-08-04King, Christopher A Esq NEGOTIATION35Stephen Shaw
1039Leon E MacleadGermany2025-08-25Feltz Printing Service PROPOSAL42Anna Fali
1040Kadeem Y FlosiBrazil2025-08-16King, Christopher A Esq RENEWAL15Asiya Javayant
1041Johnson D DilliardIndia2025-08-01King, Christopher A Esq NEGOTIATION9Ioni Bowcher
1042David H VocelkaAustralia2025-08-19Chapman, Ross E Esq RENEWAL28Ioni Bowcher
1043Tony C DoeJapan2025-08-08Printing Dimensions PROPOSAL38Ivan Magalhaes
1044Emily J MaletBrazil2025-08-11Chapman, Ross E Esq UNQUALIFIED72Ivan Magalhaes
1045Antonio O ButtItaly2025-08-28King, Christopher A Esq NEGOTIATION97Onyama Limba
1046Isabel Q KuskoRussia2025-08-25Benton, John B Jr NEGOTIATION72Xuxue Feng
1047Leon D DilliardJapan2025-08-17Chanay, Jeffrey A Esq NEW65Asiya Javayant
1048Sinclair G PaprockiFrance2025-08-28Rangoni Of Florence QUALIFIED35Asiya Javayant
1049Arvin X ShinkoCanada2025-08-03Chanay, Jeffrey A Esq NEW63Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Munro U GauchoAustraliaIoni Bowcher PROPOSAL
Darci G VocelkaItalyAnna Fali NEGOTIATION
Jefferson I VenereAustraliaStephen Shaw NEGOTIATION
Silvio K CaldareraJapanIoni Bowcher NEGOTIATION
Clifford H RutaFranceAsiya Javayant UNQUALIFIED
Faith V GauchoBrazilAnna Fali PROPOSAL
Johnson R DilliardItalyOnyama Limba RENEWAL
Jones U NickaSpainIoni Bowcher PROPOSAL
Aruna U SlusarskiAustraliaElwin Sharvill QUALIFIED
Misaki K RutaFranceOnyama Limba RENEWAL
Julie T PoquetteRussiaAsiya Javayant UNQUALIFIED
Salvatore S FigeroaSpainElwin Sharvill NEGOTIATION
Greenwood L WhobreyJapanElwin Sharvill QUALIFIED
Salvatore Y GauchoCanadaIoni Bowcher NEGOTIATION
Nicolas W FerenczItalyBernardo Dominic PROPOSAL
Smith T WaycottFranceStephen Shaw NEW
Izzy U CaldareraJapanIoni Bowcher UNQUALIFIED
Arvin N AlbaresCanadaAmy Elsner NEGOTIATION
Ivar M BologniaBrazilBernardo Dominic NEGOTIATION
Ricardo M DoeRussiaElwin Sharvill RENEWAL
Jeanfrancois M NickaUnited KingdomAsiya Javayant NEGOTIATION
Ashley H AlbaresAustraliaAmy Elsner UNQUALIFIED
Maria B ShinkoItalyBernardo Dominic QUALIFIED
Izzy Y StensethJapanAmy Elsner NEW
Cody Z BowleyIndiaOnyama Limba UNQUALIFIED
Jefferson J WieserIndiaAnna Fali NEGOTIATION
Jefferson G NestleGermanyAmy Elsner QUALIFIED
Tony O MaletCanadaOnyama Limba QUALIFIED
Octavia R SlusarskiGermanyAnna Fali PROPOSAL
Aika M MacleadGermanyAsiya Javayant QUALIFIED
Munro O GillianSpainOnyama Limba NEGOTIATION
Jones C TollnerItalyAmy Elsner UNQUALIFIED
Rodrigues E KuskoGermanyOnyama Limba PROPOSAL
Jennifer R VocelkaGermanyOnyama Limba PROPOSAL
Misaki M FlosiAustraliaXuxue Feng PROPOSAL
Antonio F MaletItalyAmy Elsner QUALIFIED
David I OldroydFranceIoni Bowcher PROPOSAL
Aika L FigeroaJapanIoni Bowcher NEW
Kadeem H TollnerGermanyXuxue Feng RENEWAL
Isabel C FigeroaGermanyXuxue Feng NEGOTIATION
Aika R VenereIndiaAmy Elsner PROPOSAL
David T SergiArgentinaAnna Fali NEW
Leja M CaldareraCanadaElwin Sharvill NEW
Antonio P FlosiBrazilElwin Sharvill NEW
Deepesh P AmigonArgentinaIoni Bowcher QUALIFIED
Faith T InouyeAustraliaAnna Fali UNQUALIFIED
Ricardo L MorascaFranceIoni Bowcher UNQUALIFIED
Darci D DilliardArgentinaAnna Fali NEW
Julie X MarrierCanadaIvan Magalhaes NEW
Morrow B GlickGermanyBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Leon W Albares
Tony E Kolmetz
Costa K Glick
Leja G Malet
Darci J Dilliard
Antonio Q Bolognia
Izzy S Flosi
Aika P Wieser
Kadeem U Sergi
Jones L Ferencz
Murillo Y Marrier
Juan Q Stenseth
Ashley N Malet
Juan E Ostrosky
Jennifer Y Darakjy
Juan O Marrier
Murillo V Paprocki
Salvatore P Saylors
Darci A Oldroyd
Cody W Paprocki
Mayumi Z Campain
Emily X Campain
Aditya Z Garufi
Jennifer N Perin
Jefferson I Shinko
Salvatore Q Sergi
Adams Q Ostrosky
Morrow Y Wieser
Maisha J Dilliard
Kaitlin U Royster
Darci S Dilliard
Salvatore X Flosi
Stacey J Darakjy
Rodrigues U Gillian
Kaitlin D Ostrosky
Claire C Gillian
Clifford A Malet
Aditya G Malet
Leja I Rulapaugh
Morrow D Kolmetz
Arvin G Ostrosky
Izzy P Royster
Sinclair B Gaucho
Deepesh O Caldarera
Aditya E Maclead
Octavia J Waycott
Ricardo C Waycott
Morrow J Stenseth
Julie E Darakjy
Jones D Waycott
IdCountryDate
1000India2025-08-06
1001India2025-08-22
1002Canada2025-08-20
1003Argentina2025-07-30
1004France2025-08-23
1005Germany2025-08-20
1006India2025-08-24
1007India2025-08-16
1008Italy2025-08-17
1009Spain2025-08-20
1010India2025-08-19
1011France2025-08-20
1012Brazil2025-08-08
1013Canada2025-08-14
1014India2025-08-23
1015Russia2025-08-18
1016Brazil2025-08-11
1017Spain2025-08-25
1018Japan2025-08-01
1019India2025-08-22
1020Brazil2025-07-31
1021Brazil2025-08-26
1022France2025-08-06
1023Italy2025-08-02
1024Australia2025-08-23
1025Italy2025-08-19
1026United Kingdom2025-08-26
1027Russia2025-08-01
1028Canada2025-08-01
1029France2025-08-11
1030Spain2025-08-13
1031Brazil2025-08-28
1032Canada2025-08-03
1033Germany2025-08-05
1034Italy2025-08-27
1035Germany2025-08-23
1036France2025-08-09
1037Germany2025-08-06
1038Australia2025-08-25
1039Russia2025-08-19
1040Argentina2025-08-09
1041United Kingdom2025-08-26
1042Canada2025-08-01
1043Canada2025-08-17
1044Italy2025-08-25
1045Brazil2025-08-21
1046France2025-08-14
1047Russia2025-08-13
1048Germany2025-08-19
1049Germany2025-08-08

On-Demand Data

NameIdCountryDate
Adams U Saylors1000India2025-08-02
Clifford G Wieser1001United Kingdom2025-08-16
Mayumi G Caudy1002Italy2025-08-16
Izzy G Gaucho1003Japan2025-08-22
Tony T Inouye1004United Kingdom2025-08-08
Darci T Slusarski1005Italy2025-08-04
Aruna F Slusarski1006Italy2025-08-04
Antonio F Oldroyd1007Japan2025-08-21
Francesco I Chui1008Spain2025-08-05
Nicolas B Campain1009Spain2025-08-26
Maria D Nicka1010India2025-07-30
Mujtaba V Wieser1011India2025-08-01
Maisha A Gaucho1012Australia2025-08-26
Isabel V Kolmetz1013Russia2025-08-08
James Q Ostrosky1014Argentina2025-07-31
Chavez H Slusarski1015Brazil2025-08-08
Adams G Albares1016Japan2025-08-22
Mayumi V Whobrey1017Russia2025-08-21
Kadeem H Nestle1018Argentina2025-08-06
James D Butt1019Brazil2025-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh P DoeCanadaBernardo Dominic RENEWAL
Aika H CaudyRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois D RulapaughCanadaAmy Elsner RENEWAL
Aditya O VocelkaGermanyAsiya Javayant NEGOTIATION
Leon L StensethCanadaElwin Sharvill UNQUALIFIED
Greenwood B CaldareraRussiaXuxue Feng PROPOSAL
Silvio J PoquetteUnited KingdomOnyama Limba UNQUALIFIED
Mujtaba W SlusarskiSpainIoni Bowcher UNQUALIFIED
Sinclair J GarufiGermanyOnyama Limba PROPOSAL
Jeanfrancois N RutaGermanyIvan Magalhaes UNQUALIFIED
James V GillianCanadaStephen Shaw NEW
Munro S OldroydItalyOnyama Limba QUALIFIED
Cody J VocelkaCanadaIoni Bowcher NEW
Emily H ShinkoRussiaIvan Magalhaes NEW
Jennifer B PaprockiSpainStephen Shaw NEW
Julie X SaylorsUnited KingdomOnyama Limba NEW
Antonio T CaudySpainIvan Magalhaes QUALIFIED
Ashley A StensethCanadaElwin Sharvill NEGOTIATION
Chavez C GlickArgentinaAsiya Javayant NEGOTIATION
Greenwood Q MacleadGermanyXuxue Feng QUALIFIED
Sinclair K FerenczRussiaAmy Elsner NEGOTIATION
Cody A MorascaArgentinaBernardo Dominic NEW
Aditya K SlusarskiGermanyIoni Bowcher UNQUALIFIED
Adams E KolmetzJapanOnyama Limba NEGOTIATION
Octavia M GarufiGermanyBernardo Dominic RENEWAL
Munro W SergiCanadaIvan Magalhaes NEGOTIATION
Ashley K WieserItalyXuxue Feng NEGOTIATION
Izzy K StensethBrazilIoni Bowcher PROPOSAL
Morrow D KolmetzGermanyElwin Sharvill UNQUALIFIED
Adams H MaletAustraliaAsiya Javayant QUALIFIED
Julie T MaletCanadaOnyama Limba PROPOSAL
David C OldroydCanadaAnna Fali NEGOTIATION
Silvio X RoysterBrazilIvan Magalhaes UNQUALIFIED
Cody P ShinkoUnited KingdomXuxue Feng QUALIFIED
Izzy V FollerItalyElwin Sharvill NEGOTIATION
Aruna Q AmigonItalyXuxue Feng NEGOTIATION
Costa F OldroydIndiaIvan Magalhaes RENEWAL
Stacey L BowleyGermanyAnna Fali NEGOTIATION
Cody X RulapaughUnited KingdomIvan Magalhaes QUALIFIED
Nicolas P StensethItalyIvan Magalhaes QUALIFIED

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