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
Aditya U RimBrazilElwin Sharvill PROPOSAL
Aruna W FlosiIndiaAmy Elsner QUALIFIED
Morrow T KolmetzCanadaXuxue Feng UNQUALIFIED
Rodrigues M KolmetzRussiaAsiya Javayant NEGOTIATION
Emily P MorascaBrazilAmy Elsner QUALIFIED
Francesco G ChuiUnited KingdomElwin Sharvill PROPOSAL
Nicolas Y TollnerAustraliaIvan Magalhaes UNQUALIFIED
Kadeem L AmigonGermanyIvan Magalhaes UNQUALIFIED
Jennifer X ChuiIndiaIvan Magalhaes RENEWAL
Wickens A CaldareraAustraliaAsiya Javayant NEGOTIATION
Rodrigues W TollnerJapanBernardo Dominic RENEWAL
Maria O PerinItalyOnyama Limba NEW
Munro Y VocelkaSpainXuxue Feng QUALIFIED
James O SergiIndiaAmy Elsner UNQUALIFIED
Aruna R ButtFranceXuxue Feng UNQUALIFIED
Salvatore B SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Mayumi D PoquetteJapanStephen Shaw PROPOSAL
Faith B SlusarskiCanadaAsiya Javayant QUALIFIED
Maria W StensethRussiaBernardo Dominic NEGOTIATION
Jeanfrancois D AmigonJapanBernardo Dominic PROPOSAL
Aruna L CaldareraGermanyOnyama Limba UNQUALIFIED
Cody W FigeroaAustraliaXuxue Feng PROPOSAL
Claire M CampainCanadaAnna Fali PROPOSAL
Aika M BriddickCanadaIoni Bowcher PROPOSAL
Izzy A CampainFranceBernardo Dominic RENEWAL
Tony O MacleadRussiaAsiya Javayant PROPOSAL
Jefferson B WieserUnited KingdomAnna Fali NEW
Wickens R ButtSpainStephen Shaw NEGOTIATION
Izzy C DarakjyJapanElwin Sharvill NEGOTIATION
Clifford Z CaldareraUnited KingdomXuxue Feng NEGOTIATION
Arvin V CaldareraArgentinaBernardo Dominic RENEWAL
Adams V StensethArgentinaElwin Sharvill QUALIFIED
Julie B SchemmerFranceStephen Shaw RENEWAL
Ashley X RoysterSpainOnyama Limba UNQUALIFIED
Cody V WieserUnited KingdomXuxue Feng UNQUALIFIED
Smith L RoysterAustraliaIvan Magalhaes RENEWAL
Isabel V SaylorsItalyIvan Magalhaes UNQUALIFIED
Rodrigues J DoeBrazilStephen Shaw NEW
Murillo A BologniaJapanIvan Magalhaes QUALIFIED
Kaitlin S FerenczSpainAnna Fali UNQUALIFIED
Morrow L RulapaughFranceElwin Sharvill NEGOTIATION
Ashley G KuskoAustraliaAsiya Javayant QUALIFIED
Maria J CaldareraCanadaXuxue Feng QUALIFIED
Mujtaba O TollnerJapanOnyama Limba NEGOTIATION
Stacey J PoquetteUnited KingdomElwin Sharvill RENEWAL
Mayumi L CampainSpainElwin Sharvill NEW
Jeanfrancois L CampainRussiaAmy Elsner UNQUALIFIED
Arvin A DilliardGermanyAnna Fali NEW
Alejandro Q PoquetteRussiaOnyama Limba QUALIFIED
Emily Z NestleJapanAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin Y FigeroaJapanElwin Sharvill QUALIFIED
Misaki C FollerBrazilElwin Sharvill RENEWAL
Leon F GillianJapanIvan Magalhaes NEGOTIATION
Isabel F SaylorsJapanAsiya Javayant NEW
Maria N InouyeArgentinaOnyama Limba RENEWAL
Isabel O SchemmerIndiaElwin Sharvill QUALIFIED
Wickens A TollnerFranceAmy Elsner NEGOTIATION
Aika O PerinJapanOnyama Limba NEW
Darci G DoeArgentinaBernardo Dominic UNQUALIFIED
Isabel I SaylorsJapanAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson K RoysterIndia2025-09-27Chemel, James L Cpa QUALIFIED39Ioni Bowcher
1001Chavez Q SlusarskiBrazil2025-10-05Rousseaux, Michael Esq NEW56Xuxue Feng
1002Murillo P PerinRussia2025-09-19Truhlar And Truhlar Attys NEW44Asiya Javayant
1003Munro Q BologniaRussia2025-09-25Printing Dimensions NEW47Xuxue Feng
1004Antonio Q OstroskySpain2025-10-03Truhlar And Truhlar Attys PROPOSAL85Xuxue Feng
1005Francesco F AmigonJapan2025-09-30Feltz Printing Service NEGOTIATION73Anna Fali
1006David X BriddickBrazil2025-09-28Rousseaux, Michael Esq NEGOTIATION65Ivan Magalhaes
1007Kaitlin N FigeroaArgentina2025-09-16Rangoni Of Florence QUALIFIED79Ivan Magalhaes
1008Kaitlin P MaletBrazil2025-09-27Rangoni Of Florence PROPOSAL54Elwin Sharvill
1009Ivar W ShinkoBrazil2025-09-16Chapman, Ross E Esq NEGOTIATION82Xuxue Feng
1010Mayumi H GlickRussia2025-09-26Feiner Bros UNQUALIFIED12Ioni Bowcher
1011Aditya N BologniaSpain2025-09-19King, Christopher A Esq QUALIFIED40Onyama Limba
1012Wickens F GauchoIndia2025-10-07Chemel, James L Cpa UNQUALIFIED39Stephen Shaw
1013Sinclair I CampainUnited Kingdom2025-10-04Printing Dimensions RENEWAL11Anna Fali
1014Ricardo Z CaldareraRussia2025-10-08Morlong Associates UNQUALIFIED93Bernardo Dominic
1015Munro Q PerinArgentina2025-10-10Commercial Press UNQUALIFIED2Xuxue Feng
1016Faith P MarrierUnited Kingdom2025-10-06Benton, John B Jr NEW95Stephen Shaw
1017Mayumi X RoysterCanada2025-10-12Truhlar And Truhlar Attys UNQUALIFIED83Elwin Sharvill
1018Deepesh C MaletIndia2025-09-14Morlong Associates NEGOTIATION75Bernardo Dominic
1019Rodrigues D WhobreyBrazil2025-09-19Benton, John B Jr QUALIFIED47Ivan Magalhaes
1020Kadeem Y IturbideIndia2025-10-02Morlong Associates NEW82Ivan Magalhaes
1021Arvin P NickaUnited Kingdom2025-09-27Feltz Printing Service NEW1Elwin Sharvill
1022Antonio W RulapaughCanada2025-10-02King, Christopher A Esq NEW84Anna Fali
1023Ivar Q GlickArgentina2025-09-29Printing Dimensions UNQUALIFIED9Onyama Limba
1024Darci L BriddickIndia2025-10-12Truhlar And Truhlar Attys RENEWAL8Amy Elsner
1025Francesco W NickaSpain2025-09-26Rousseaux, Michael Esq PROPOSAL53Ivan Magalhaes
1026Greenwood G NestleIndia2025-09-17Feltz Printing Service RENEWAL63Stephen Shaw
1027Antonio M SergiBrazil2025-09-20Rousseaux, Michael Esq NEW3Amy Elsner
1028Francesco M FlosiJapan2025-09-18Chanay, Jeffrey A Esq RENEWAL59Ioni Bowcher
1029Munro X ChuiArgentina2025-09-30King, Christopher A Esq PROPOSAL23Asiya Javayant
1030Aruna F NestleAustralia2025-10-09Morlong Associates PROPOSAL77Anna Fali
1031Julie Q TollnerAustralia2025-09-23Commercial Press QUALIFIED54Elwin Sharvill
1032Deepesh H NickaIndia2025-09-15Feltz Printing Service NEW14Stephen Shaw
1033Adams W KolmetzBrazil2025-09-30Feiner Bros UNQUALIFIED89Stephen Shaw
1034Clifford O DoeJapan2025-10-03Dorl, James J Esq UNQUALIFIED92Anna Fali
1035David Z DarakjySpain2025-09-26Dorl, James J Esq NEW19Onyama Limba
1036Smith H KolmetzFrance2025-10-06Feiner Bros PROPOSAL43Elwin Sharvill
1037Maria V KolmetzBrazil2025-10-04King, Christopher A Esq PROPOSAL94Stephen Shaw
1038Salvatore N ButtBrazil2025-09-28Chanay, Jeffrey A Esq UNQUALIFIED0Bernardo Dominic
1039Leon J SlusarskiFrance2025-09-16Feltz Printing Service UNQUALIFIED19Ivan Magalhaes
1040Isabel C FollerArgentina2025-09-14Chemel, James L Cpa NEW84Bernardo Dominic
1041Ricardo J AmigonArgentina2025-09-25Chanay, Jeffrey A Esq RENEWAL46Elwin Sharvill
1042Leja V PerinIndia2025-10-06Rangoni Of Florence RENEWAL19Amy Elsner
1043Aruna P GlickBrazil2025-10-05Chapman, Ross E Esq RENEWAL46Bernardo Dominic
1044James X SergiJapan2025-09-28King, Christopher A Esq QUALIFIED55Bernardo Dominic
1045Maisha E DoeJapan2025-10-08Printing Dimensions NEGOTIATION72Onyama Limba
1046Julie Q PaprockiIndia2025-09-24Dorl, James J Esq RENEWAL6Xuxue Feng
1047Smith S StensethArgentina2025-09-22Printing Dimensions RENEWAL99Onyama Limba
1048Murillo K GarufiIndia2025-09-26Morlong Associates QUALIFIED84Xuxue Feng
1049Johnson M GillianIndia2025-09-15Buckley Miller Wright QUALIFIED4Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Francesco V CampainJapanStephen Shaw RENEWAL
Faith V SchemmerCanadaIvan Magalhaes QUALIFIED
Leon N PaprockiIndiaIoni Bowcher QUALIFIED
James C DarakjyJapanIoni Bowcher QUALIFIED
Claire E SlusarskiIndiaIvan Magalhaes NEW
Murillo F DarakjyJapanStephen Shaw NEW
Murillo Z VenereArgentinaIvan Magalhaes QUALIFIED
Kaitlin W FollerBrazilOnyama Limba NEGOTIATION
Mujtaba Q NickaArgentinaIoni Bowcher UNQUALIFIED
Octavia Z PoquetteFranceIoni Bowcher RENEWAL
Wickens O FerenczArgentinaIoni Bowcher NEW
Izzy W PerinJapanElwin Sharvill UNQUALIFIED
James H BriddickSpainAmy Elsner PROPOSAL
Aruna L DilliardUnited KingdomOnyama Limba QUALIFIED
Mujtaba D WaycottCanadaBernardo Dominic NEW
Johnson I NickaArgentinaBernardo Dominic RENEWAL
Mujtaba Q StensethIndiaElwin Sharvill NEGOTIATION
Jeanfrancois U RutaAustraliaOnyama Limba NEW
Claire C KuskoGermanyBernardo Dominic UNQUALIFIED
Kadeem X NickaIndiaXuxue Feng UNQUALIFIED
Claire V AmigonJapanXuxue Feng NEGOTIATION
Clifford L FlosiSpainAmy Elsner PROPOSAL
Adams G GarufiSpainAsiya Javayant RENEWAL
Maria C MorascaBrazilXuxue Feng UNQUALIFIED
Mayumi H PaprockiRussiaBernardo Dominic NEGOTIATION
Wickens N AmigonBrazilOnyama Limba PROPOSAL
Emily L WhobreyArgentinaAsiya Javayant NEW
Claire F RutaCanadaIvan Magalhaes QUALIFIED
Juan K DilliardAustraliaAnna Fali RENEWAL
Johnson J NickaUnited KingdomBernardo Dominic UNQUALIFIED
Juan V SaylorsUnited KingdomXuxue Feng UNQUALIFIED
Isabel R FollerIndiaXuxue Feng UNQUALIFIED
Alejandro R TollnerBrazilStephen Shaw NEGOTIATION
James L DarakjyAustraliaIvan Magalhaes PROPOSAL
Izzy Z GauchoRussiaOnyama Limba UNQUALIFIED
Octavia I NestleFranceIoni Bowcher RENEWAL
Maria C BowleyCanadaXuxue Feng QUALIFIED
Maisha Q ShinkoFranceAsiya Javayant QUALIFIED
Isabel T MarrierIndiaIvan Magalhaes QUALIFIED
Stacey D OldroydCanadaIoni Bowcher UNQUALIFIED
Deepesh R ChuiSpainAsiya Javayant NEW
Octavia X GlickIndiaXuxue Feng UNQUALIFIED
Murillo U TollnerCanadaOnyama Limba QUALIFIED
Murillo U CaldareraGermanyAmy Elsner NEW
Arvin S SlusarskiBrazilAmy Elsner NEW
Juan F RutaIndiaStephen Shaw NEW
Mujtaba N VenereArgentinaAnna Fali RENEWAL
Salvatore R SergiCanadaAmy Elsner NEW
Munro H SchemmerRussiaIvan Magalhaes NEW
Murillo A StensethGermanyIoni Bowcher NEW
Frozen Columns
Name
Francesco T Bowley
Alejandro Q Nestle
Silvio Y Wieser
Izzy J Caldarera
Emily H Saylors
Jennifer V Ferencz
Mayumi L Caudy
Adams Q Foller
Kaitlin G Malet
Leja R Albares
Aruna G Campain
Ivar K Butt
Darci S Saylors
Jeanfrancois T Amigon
Johnson P Wieser
Julie Y Chui
Munro H Marrier
Darci I Stockham
Clifford Q Kusko
Kaitlin K Vocelka
Aditya M Nestle
Aruna N Marrier
Munro O Amigon
Greenwood Q Butt
Tony C Inouye
Johnson Y Sergi
Jefferson S Oldroyd
Morrow T Caldarera
Isabel S Oldroyd
Tony T Morasca
Tony W Gillian
Clifford F Perin
Stacey K Albares
Julie K Caldarera
Jones H Gaucho
Leon L Ostrosky
Octavia A Glick
Johnson U Morasca
Jones P Maclead
Smith I Ruta
David H Butt
Costa M Foller
Rodrigues P Wieser
Aika Y Gaucho
Leon K Flosi
Leja Z Perin
Rodrigues B Royster
Faith P Bowley
Salvatore N Kolmetz
Izzy R Dilliard
IdCountryDate
1000Australia2025-09-17
1001Brazil2025-10-02
1002United Kingdom2025-09-14
1003Australia2025-09-20
1004France2025-09-22
1005France2025-09-24
1006Canada2025-09-14
1007France2025-10-02
1008Australia2025-10-09
1009India2025-09-13
1010Australia2025-09-18
1011Canada2025-09-28
1012Japan2025-09-18
1013Argentina2025-09-20
1014United Kingdom2025-09-30
1015Japan2025-09-16
1016United Kingdom2025-09-15
1017Brazil2025-09-19
1018France2025-10-10
1019Russia2025-10-04
1020France2025-09-17
1021United Kingdom2025-09-16
1022Italy2025-09-27
1023Australia2025-09-21
1024France2025-10-07
1025Italy2025-09-15
1026Argentina2025-09-21
1027Germany2025-09-28
1028Japan2025-09-29
1029Canada2025-09-24
1030India2025-09-24
1031Brazil2025-10-02
1032France2025-09-23
1033Argentina2025-09-28
1034Argentina2025-10-09
1035Argentina2025-10-02
1036Canada2025-10-05
1037Australia2025-09-28
1038Italy2025-10-04
1039Brazil2025-10-08
1040United Kingdom2025-10-04
1041India2025-09-24
1042Russia2025-10-08
1043Italy2025-10-12
1044Spain2025-09-13
1045Argentina2025-10-12
1046Russia2025-10-08
1047Germany2025-09-29
1048Spain2025-10-04
1049Italy2025-10-08

On-Demand Data

NameIdCountryDate
Chavez Y Bolognia1000Brazil2025-09-30
Tony K Saylors1001Brazil2025-10-06
Mayumi N Malet1002Argentina2025-09-20
Ivar A Whobrey1003Argentina2025-09-19
Aditya E Malet1004Russia2025-09-23
Isabel I Maclead1005United Kingdom2025-09-15
Morrow M Ostrosky1006Japan2025-10-04
Mujtaba S Foller1007Italy2025-10-06
Kadeem Y Shinko1008Canada2025-09-16
Nicolas A Wieser1009France2025-09-26
Ashley M Morasca1010United Kingdom2025-10-11
Chavez A Foller1011Japan2025-09-20
Adams K Whobrey1012India2025-09-29
Ivar D Whobrey1013Australia2025-09-27
Greenwood B Nicka1014Italy2025-09-18
Salvatore L Dilliard1015India2025-10-11
Arvin H Iturbide1016India2025-10-05
Antonio T Campain1017France2025-10-07
Costa N Albares1018India2025-10-08
Morrow K Whobrey1019Canada2025-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy C FollerFranceAsiya Javayant QUALIFIED
Octavia C PerinCanadaAsiya Javayant UNQUALIFIED
Juan T PerinCanadaIvan Magalhaes RENEWAL
Salvatore L TollnerBrazilAnna Fali PROPOSAL
David S AmigonBrazilIvan Magalhaes QUALIFIED
Octavia N PerinJapanAnna Fali PROPOSAL
Aditya R SergiCanadaAsiya Javayant QUALIFIED
Leon S RulapaughFranceAnna Fali NEGOTIATION
Jennifer Z SchemmerCanadaElwin Sharvill PROPOSAL
Ricardo W TollnerGermanyOnyama Limba PROPOSAL
Mayumi B OstroskyAustraliaIoni Bowcher PROPOSAL
Leja D MaletCanadaIoni Bowcher QUALIFIED
Wickens M WieserIndiaIvan Magalhaes UNQUALIFIED
Sinclair K NickaArgentinaIoni Bowcher QUALIFIED
Murillo B MaletArgentinaXuxue Feng UNQUALIFIED
Jefferson B BowleyBrazilIoni Bowcher NEGOTIATION
Sinclair D PoquetteAustraliaIvan Magalhaes RENEWAL
Salvatore M DoeItalyAsiya Javayant UNQUALIFIED
Johnson T OstroskyJapanAnna Fali QUALIFIED
Leon Y TollnerRussiaAnna Fali PROPOSAL
Ashley C AlbaresGermanyIoni Bowcher PROPOSAL
James N DoeArgentinaAsiya Javayant NEGOTIATION
Kaitlin H FigeroaAustraliaIoni Bowcher NEGOTIATION
Clifford G NickaIndiaElwin Sharvill UNQUALIFIED
Stacey M PerinItalyAsiya Javayant PROPOSAL
Murillo V VenereBrazilElwin Sharvill QUALIFIED
Aika W AmigonJapanAsiya Javayant UNQUALIFIED
Kadeem T SaylorsIndiaAsiya Javayant RENEWAL
Tony V MorascaGermanyXuxue Feng NEGOTIATION
Misaki B WieserIndiaXuxue Feng NEW
Rodrigues M SergiUnited KingdomIvan Magalhaes PROPOSAL
Izzy G NickaCanadaIoni Bowcher PROPOSAL
Faith X ShinkoCanadaIvan Magalhaes RENEWAL
Johnson R RutaAustraliaStephen Shaw NEW
James W RulapaughSpainStephen Shaw NEW
Ricardo L WieserFranceAsiya Javayant NEGOTIATION
James O RutaBrazilAmy Elsner RENEWAL
Rodrigues A GlickBrazilAnna Fali RENEWAL
Izzy H WieserFranceBernardo Dominic UNQUALIFIED
David W ChuiGermanyAmy Elsner 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>