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
Claire M NestleIndiaIvan Magalhaes QUALIFIED
Jeanfrancois V NestleJapanBernardo Dominic QUALIFIED
Jefferson F RulapaughAustraliaAnna Fali QUALIFIED
Sinclair T NestleItalyAsiya Javayant NEW
Jeanfrancois L SergiBrazilAnna Fali NEW
Tony V KuskoRussiaAsiya Javayant QUALIFIED
Mujtaba H OstroskyCanadaIoni Bowcher NEW
Silvio H GlickGermanyXuxue Feng QUALIFIED
Aruna Z GauchoFranceOnyama Limba RENEWAL
Wickens B VocelkaGermanyAsiya Javayant NEW
Emily A BriddickCanadaAsiya Javayant QUALIFIED
Murillo M DoeJapanStephen Shaw RENEWAL
Maria A InouyeRussiaStephen Shaw RENEWAL
Octavia N InouyeArgentinaStephen Shaw QUALIFIED
Tony J PerinBrazilBernardo Dominic NEW
Clifford C IturbideJapanIvan Magalhaes PROPOSAL
Maria F CampainSpainIoni Bowcher PROPOSAL
Kadeem M PerinJapanAnna Fali QUALIFIED
Munro V WhobreyItalyAmy Elsner RENEWAL
Julie R KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Claire D GauchoItalyBernardo Dominic NEGOTIATION
Jeanfrancois B CampainFranceIvan Magalhaes UNQUALIFIED
Ivar A WieserAustraliaBernardo Dominic UNQUALIFIED
Rodrigues Z PoquetteJapanIvan Magalhaes NEGOTIATION
Jones G CaldareraArgentinaIvan Magalhaes UNQUALIFIED
Leja Z StensethArgentinaXuxue Feng NEW
Munro N IturbideArgentinaXuxue Feng NEGOTIATION
David F DoeAustraliaIoni Bowcher QUALIFIED
Wickens W GlickIndiaAnna Fali QUALIFIED
Isabel G AmigonGermanyXuxue Feng NEGOTIATION
Silvio Z FigeroaItalyAnna Fali NEW
Tony B RutaJapanIoni Bowcher QUALIFIED
Maria C SaylorsBrazilStephen Shaw UNQUALIFIED
Johnson H OstroskyUnited KingdomXuxue Feng NEGOTIATION
Claire I GillianRussiaXuxue Feng UNQUALIFIED
Smith E DarakjyIndiaAnna Fali RENEWAL
Ivar Y BowleyArgentinaAmy Elsner NEGOTIATION
Johnson Y NestleFranceElwin Sharvill PROPOSAL
Clifford Z KuskoJapanAnna Fali UNQUALIFIED
Deepesh Z MorascaUnited KingdomAmy Elsner UNQUALIFIED
Clifford R ChuiItalyXuxue Feng UNQUALIFIED
Octavia Q KuskoBrazilXuxue Feng RENEWAL
Kaitlin L KolmetzArgentinaStephen Shaw UNQUALIFIED
Arvin D NestleSpainAmy Elsner UNQUALIFIED
Mujtaba S GlickItalyIvan Magalhaes NEW
Leja B AmigonSpainBernardo Dominic PROPOSAL
Stacey I DilliardUnited KingdomIvan Magalhaes NEGOTIATION
Alejandro C DoeUnited KingdomBernardo Dominic UNQUALIFIED
Jefferson Q ButtAustraliaAnna Fali NEGOTIATION
Jennifer G GarufiCanadaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Wickens X RoysterGermanyAsiya Javayant RENEWAL
Maisha H BowleyFranceElwin Sharvill PROPOSAL
Tony Q BriddickCanadaAsiya Javayant NEW
Salvatore O StockhamUnited KingdomAmy Elsner RENEWAL
Nicolas W ButtJapanOnyama Limba NEW
Darci Q DoeRussiaXuxue Feng RENEWAL
Leja M SergiBrazilStephen Shaw PROPOSAL
Rodrigues T BowleyGermanyElwin Sharvill QUALIFIED
Rodrigues V OstroskyRussiaAnna Fali NEGOTIATION
Jennifer D GillianSpainStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi K VenereRussia2025-08-27Rousseaux, Michael Esq UNQUALIFIED75Asiya Javayant
1001Greenwood L MorascaIndia2025-08-15Feltz Printing Service QUALIFIED79Onyama Limba
1002Ivar N OldroydItaly2025-08-21Morlong Associates QUALIFIED32Stephen Shaw
1003Ashley U ButtSpain2025-08-26Buckley Miller Wright NEW7Amy Elsner
1004Clifford P VenereArgentina2025-08-16Rousseaux, Michael Esq UNQUALIFIED56Elwin Sharvill
1005Jefferson M GillianAustralia2025-09-05King, Christopher A Esq RENEWAL84Asiya Javayant
1006Darci B CampainFrance2025-08-15Chanay, Jeffrey A Esq RENEWAL14Asiya Javayant
1007Clifford L GlickItaly2025-09-09Benton, John B Jr UNQUALIFIED81Bernardo Dominic
1008Costa H GillianJapan2025-08-31Benton, John B Jr UNQUALIFIED24Anna Fali
1009Jefferson O SaylorsGermany2025-08-30Commercial Press PROPOSAL95Ivan Magalhaes
1010Isabel S AlbaresSpain2025-08-18Feiner Bros NEW60Elwin Sharvill
1011Jennifer R MorascaArgentina2025-09-02Feiner Bros NEGOTIATION12Xuxue Feng
1012Francesco Q NickaBrazil2025-08-19Buckley Miller Wright QUALIFIED49Onyama Limba
1013Adams H IturbideJapan2025-08-19Printing Dimensions QUALIFIED46Bernardo Dominic
1014Deepesh G DilliardFrance2025-08-17Commercial Press UNQUALIFIED74Ivan Magalhaes
1015David S PaprockiIndia2025-08-16Chemel, James L Cpa RENEWAL23Asiya Javayant
1016Johnson Z RutaJapan2025-08-13Feltz Printing Service RENEWAL15Xuxue Feng
1017Clifford C MarrierBrazil2025-08-15Chanay, Jeffrey A Esq PROPOSAL84Ioni Bowcher
1018Adams Z ShinkoUnited Kingdom2025-08-17Morlong Associates RENEWAL37Ioni Bowcher
1019Deepesh N GillianArgentina2025-08-20Chanay, Jeffrey A Esq PROPOSAL8Bernardo Dominic
1020Misaki E SchemmerFrance2025-08-13Feltz Printing Service NEGOTIATION95Bernardo Dominic
1021Munro H ButtAustralia2025-08-31Benton, John B Jr NEGOTIATION25Elwin Sharvill
1022Aika U RutaRussia2025-08-15Chemel, James L Cpa PROPOSAL50Xuxue Feng
1023Nicolas V GauchoSpain2025-08-26Printing Dimensions UNQUALIFIED30Asiya Javayant
1024Tony K BologniaRussia2025-08-22King, Christopher A Esq PROPOSAL89Anna Fali
1025Octavia X PerinAustralia2025-08-25Chapman, Ross E Esq NEW9Stephen Shaw
1026Antonio O MorascaItaly2025-08-20Chemel, James L Cpa NEGOTIATION49Ivan Magalhaes
1027Chavez R BowleyItaly2025-09-06Truhlar And Truhlar Attys QUALIFIED9Ivan Magalhaes
1028Maria O MaletIndia2025-08-24Truhlar And Truhlar Attys NEW37Ivan Magalhaes
1029Aruna V AmigonJapan2025-09-03Chapman, Ross E Esq RENEWAL83Stephen Shaw
1030Maria K PaprockiArgentina2025-08-13Printing Dimensions UNQUALIFIED46Bernardo Dominic
1031Juan I GillianGermany2025-08-26Feltz Printing Service UNQUALIFIED9Stephen Shaw
1032Jefferson M GillianJapan2025-08-27Chanay, Jeffrey A Esq RENEWAL9Onyama Limba
1033Nicolas U StensethArgentina2025-09-03Benton, John B Jr NEW19Onyama Limba
1034Mayumi Y MaletRussia2025-08-13Rousseaux, Michael Esq UNQUALIFIED69Ioni Bowcher
1035Leon X StockhamBrazil2025-08-22Chapman, Ross E Esq NEGOTIATION85Ivan Magalhaes
1036Silvio M IturbideArgentina2025-08-18Rangoni Of Florence NEW23Anna Fali
1037Munro R SchemmerSpain2025-09-03Feltz Printing Service RENEWAL79Onyama Limba
1038Greenwood M MarrierSpain2025-08-19Rousseaux, Michael Esq PROPOSAL29Ivan Magalhaes
1039Munro O FlosiJapan2025-09-01Truhlar And Truhlar Attys QUALIFIED81Anna Fali
1040Juan T ShinkoIndia2025-08-18Feiner Bros QUALIFIED20Elwin Sharvill
1041Clifford A FerenczUnited Kingdom2025-08-18Benton, John B Jr QUALIFIED38Ioni Bowcher
1042Izzy Y SchemmerBrazil2025-09-02Commercial Press RENEWAL92Amy Elsner
1043Munro E PerinSpain2025-08-26Feiner Bros QUALIFIED29Xuxue Feng
1044Ivar F IturbideCanada2025-08-19Chemel, James L Cpa PROPOSAL37Asiya Javayant
1045James N MorascaSpain2025-08-12Chanay, Jeffrey A Esq PROPOSAL64Ioni Bowcher
1046Julie S SlusarskiArgentina2025-09-02Chapman, Ross E Esq NEGOTIATION48Amy Elsner
1047David R NickaAustralia2025-09-03Commercial Press UNQUALIFIED91Elwin Sharvill
1048Salvatore T RulapaughFrance2025-09-09Chemel, James L Cpa RENEWAL40Ivan Magalhaes
1049Aditya S VocelkaSpain2025-09-06Printing Dimensions RENEWAL51Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Cody Z AmigonArgentinaAsiya Javayant NEW
Wickens Q CaudyBrazilBernardo Dominic RENEWAL
Chavez C OstroskyRussiaAmy Elsner NEGOTIATION
Nicolas V GarufiIndiaAmy Elsner NEGOTIATION
Mujtaba G DoeFranceAsiya Javayant RENEWAL
Leon H CaldareraGermanyIvan Magalhaes QUALIFIED
Mayumi M RimIndiaElwin Sharvill NEW
Antonio G FigeroaIndiaOnyama Limba NEW
Juan E StensethFranceAnna Fali UNQUALIFIED
Julie F PaprockiUnited KingdomOnyama Limba NEW
Salvatore U ChuiFranceXuxue Feng NEW
Kadeem G WaycottUnited KingdomAsiya Javayant RENEWAL
Johnson S MaletGermanyElwin Sharvill NEGOTIATION
Maria Y CaldareraCanadaIoni Bowcher PROPOSAL
Johnson K BologniaBrazilAsiya Javayant RENEWAL
Jones L VenereSpainOnyama Limba NEW
Ashley J DoeCanadaStephen Shaw UNQUALIFIED
Rodrigues L AmigonIndiaBernardo Dominic PROPOSAL
Isabel K RimRussiaAmy Elsner NEGOTIATION
Emily H StensethArgentinaBernardo Dominic RENEWAL
Aditya U VenereAustraliaAsiya Javayant NEGOTIATION
Misaki M FigeroaItalyXuxue Feng NEGOTIATION
Aika D GillianArgentinaAmy Elsner UNQUALIFIED
Rodrigues N StensethCanadaStephen Shaw UNQUALIFIED
Murillo M BologniaJapanAmy Elsner PROPOSAL
Arvin A WieserAustraliaXuxue Feng PROPOSAL
Ivar L RimItalyAsiya Javayant QUALIFIED
Ricardo O WieserCanadaXuxue Feng NEW
Misaki A InouyeBrazilIoni Bowcher UNQUALIFIED
Misaki L GillianGermanyXuxue Feng NEW
Rodrigues Q SlusarskiIndiaElwin Sharvill QUALIFIED
Greenwood C NickaSpainIvan Magalhaes RENEWAL
Arvin C InouyeItalyAmy Elsner NEGOTIATION
Darci P ButtIndiaXuxue Feng QUALIFIED
Aruna R ButtRussiaIvan Magalhaes NEGOTIATION
Chavez C AlbaresAustraliaIoni Bowcher QUALIFIED
Tony R FigeroaFranceElwin Sharvill PROPOSAL
Ricardo K GarufiBrazilElwin Sharvill NEW
Mujtaba B WieserGermanyBernardo Dominic QUALIFIED
Deepesh F GillianSpainIvan Magalhaes NEGOTIATION
Kadeem E SchemmerUnited KingdomBernardo Dominic NEW
Claire V InouyeCanadaIoni Bowcher NEW
Stacey O BologniaFranceAsiya Javayant NEW
Izzy Y BowleyRussiaBernardo Dominic PROPOSAL
Alejandro W PoquetteSpainBernardo Dominic QUALIFIED
Emily R MaletArgentinaStephen Shaw QUALIFIED
Mayumi V MaletSpainIoni Bowcher QUALIFIED
Kadeem I StensethUnited KingdomIoni Bowcher PROPOSAL
Juan O GauchoArgentinaIvan Magalhaes NEW
Ashley V RimAustraliaAmy Elsner PROPOSAL
Frozen Columns
Name
Murillo D Bolognia
Leja Y Nestle
Kaitlin T Figeroa
Faith F Perin
Claire U Albares
Clifford D Stenseth
David N Stenseth
Francesco N Caudy
Adams Y Gillian
Cody Y Poquette
Clifford Q Vocelka
Clifford U Schemmer
Morrow F Paprocki
Francesco D Malet
Clifford A Ruta
Ricardo F Ruta
Morrow T Figeroa
Aditya O Maclead
Sinclair R Paprocki
Maisha I Foller
Alejandro Q Malet
Izzy N Chui
Greenwood N Albares
Clifford R Perin
Ricardo H Kolmetz
Costa E Caldarera
Chavez P Saylors
Antonio Z Malet
Octavia C Paprocki
Cody I Nestle
Wickens A Vocelka
Maria D Wieser
Alejandro X Schemmer
Julie I Chui
Claire P Bowley
Jefferson E Albares
Sinclair A Ferencz
Leja C Kusko
Jennifer D Poquette
Francesco X Malet
Leon R Ruta
Murillo N Marrier
Munro O Whobrey
Kadeem U Iturbide
Stacey W Darakjy
Jennifer K Bowley
Claire E Albares
Morrow D Albares
Kaitlin F Campain
Greenwood N Chui
IdCountryDate
1000Japan2025-08-31
1001Canada2025-09-07
1002Argentina2025-08-31
1003Spain2025-09-03
1004India2025-08-27
1005Russia2025-08-23
1006Argentina2025-08-12
1007Australia2025-08-11
1008Spain2025-08-26
1009Canada2025-09-08
1010Canada2025-09-04
1011Italy2025-09-04
1012Argentina2025-08-25
1013Russia2025-08-30
1014United Kingdom2025-08-28
1015Japan2025-08-29
1016France2025-08-15
1017Australia2025-08-30
1018Japan2025-09-03
1019India2025-08-23
1020India2025-08-13
1021Russia2025-08-24
1022Australia2025-09-03
1023Germany2025-08-26
1024Russia2025-08-14
1025Italy2025-08-14
1026Russia2025-08-14
1027United Kingdom2025-08-28
1028France2025-08-17
1029Australia2025-09-03
1030Italy2025-08-30
1031Argentina2025-09-07
1032Australia2025-09-05
1033Germany2025-09-07
1034Argentina2025-09-08
1035Spain2025-09-01
1036France2025-08-23
1037Spain2025-08-16
1038United Kingdom2025-08-18
1039United Kingdom2025-09-07
1040Japan2025-08-13
1041Italy2025-09-07
1042Russia2025-08-27
1043Canada2025-08-24
1044United Kingdom2025-09-03
1045India2025-08-13
1046United Kingdom2025-08-29
1047Germany2025-08-23
1048Germany2025-08-17
1049Germany2025-08-21

On-Demand Data

NameIdCountryDate
Wickens O Kusko1000Canada2025-08-26
Kaitlin D Marrier1001Japan2025-08-30
Kadeem Y Tollner1002Spain2025-08-20
Aika J Tollner1003Germany2025-08-16
Arvin O Dilliard1004Australia2025-08-17
Stacey X Dilliard1005Italy2025-09-02
Juan Z Campain1006Italy2025-08-27
Claire Y Campain1007Germany2025-09-09
Clifford U Caudy1008Argentina2025-08-16
Leon D Bolognia1009Spain2025-08-15
Faith B Flosi1010Argentina2025-08-19
Julie X Venere1011India2025-08-18
Kaitlin K Maclead1012France2025-08-23
Deepesh A Ostrosky1013Russia2025-08-20
Alejandro Y Doe1014Italy2025-08-12
David L Paprocki1015Brazil2025-08-23
Wickens K Butt1016Germany2025-08-31
Misaki T Ostrosky1017Spain2025-08-28
Faith Y Bowley1018Argentina2025-09-05
Arvin V Nicka1019Germany2025-08-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues W RulapaughSpainAsiya Javayant UNQUALIFIED
Juan G KuskoFranceStephen Shaw NEGOTIATION
Cody M StensethArgentinaAmy Elsner NEW
Jennifer K MarrierJapanXuxue Feng QUALIFIED
Isabel M PoquetteGermanyBernardo Dominic PROPOSAL
Leja Y GillianUnited KingdomAsiya Javayant RENEWAL
Silvio S IturbideCanadaIvan Magalhaes UNQUALIFIED
Octavia J InouyeJapanAmy Elsner RENEWAL
Clifford A DarakjyItalyStephen Shaw PROPOSAL
Sinclair J VocelkaCanadaBernardo Dominic NEGOTIATION
Adams D CaldareraRussiaAnna Fali PROPOSAL
Kaitlin G StockhamSpainBernardo Dominic UNQUALIFIED
Antonio D GlickSpainXuxue Feng NEW
Greenwood L FigeroaItalyOnyama Limba QUALIFIED
Isabel O WaycottSpainBernardo Dominic UNQUALIFIED
Misaki Y PaprockiGermanyIvan Magalhaes UNQUALIFIED
Wickens F WieserJapanBernardo Dominic UNQUALIFIED
Stacey G RutaUnited KingdomAsiya Javayant NEW
Murillo R InouyeCanadaIoni Bowcher RENEWAL
Morrow O RutaAustraliaOnyama Limba NEGOTIATION
Jeanfrancois L RutaUnited KingdomStephen Shaw NEW
Johnson Y MacleadGermanyIoni Bowcher NEGOTIATION
Jones X WaycottUnited KingdomXuxue Feng NEGOTIATION
Stacey S MacleadJapanStephen Shaw QUALIFIED
Leja N PerinRussiaAsiya Javayant NEGOTIATION
Mayumi N AlbaresAustraliaAnna Fali QUALIFIED
Juan F PaprockiArgentinaAsiya Javayant RENEWAL
Stacey I FerenczItalyXuxue Feng NEW
Johnson S RutaIndiaXuxue Feng NEW
Antonio N OstroskyBrazilAnna Fali UNQUALIFIED
Aditya A MaletGermanyAmy Elsner PROPOSAL
Tony P RimRussiaAnna Fali QUALIFIED
Jennifer I DilliardItalyElwin Sharvill PROPOSAL
Tony L ChuiSpainXuxue Feng RENEWAL
Smith Q GillianArgentinaAsiya Javayant UNQUALIFIED
Mujtaba D BriddickIndiaElwin Sharvill NEW
Munro V IturbideGermanyIoni Bowcher PROPOSAL
Jefferson N RoysterRussiaOnyama Limba NEGOTIATION
James N ShinkoUnited KingdomAnna Fali UNQUALIFIED
Jefferson B FlosiGermanyBernardo Dominic 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>