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
Chavez P TollnerBrazilIvan Magalhaes UNQUALIFIED
Jennifer I CaldareraRussiaBernardo Dominic PROPOSAL
Ricardo N FigeroaIndiaBernardo Dominic QUALIFIED
Izzy J RutaAustraliaAmy Elsner QUALIFIED
Jones M SaylorsFranceIvan Magalhaes PROPOSAL
Aruna I GlickRussiaStephen Shaw PROPOSAL
Smith Z DarakjySpainStephen Shaw NEGOTIATION
Clifford F ButtCanadaAsiya Javayant RENEWAL
Sinclair H ShinkoArgentinaAmy Elsner NEW
Mujtaba R MacleadCanadaXuxue Feng PROPOSAL
Juan I IturbideRussiaAmy Elsner NEGOTIATION
Aruna U BowleyUnited KingdomXuxue Feng NEGOTIATION
Deepesh W IturbideJapanStephen Shaw PROPOSAL
Deepesh F SchemmerBrazilStephen Shaw UNQUALIFIED
Deepesh S AmigonRussiaIoni Bowcher QUALIFIED
Greenwood Q KolmetzGermanyXuxue Feng NEGOTIATION
Izzy B WieserGermanyElwin Sharvill NEW
Arvin Y ShinkoGermanyAsiya Javayant QUALIFIED
Chavez T StensethIndiaElwin Sharvill NEGOTIATION
Clifford X MorascaItalyBernardo Dominic UNQUALIFIED
Johnson D BologniaArgentinaIoni Bowcher UNQUALIFIED
Emily H MorascaSpainAnna Fali QUALIFIED
Wickens X RoysterAustraliaStephen Shaw RENEWAL
Greenwood P DoeIndiaBernardo Dominic UNQUALIFIED
Leja W BriddickUnited KingdomStephen Shaw NEW
Francesco I KuskoItalyIvan Magalhaes PROPOSAL
Salvatore V TollnerIndiaAsiya Javayant QUALIFIED
Faith U GarufiCanadaElwin Sharvill QUALIFIED
Ashley A GlickUnited KingdomOnyama Limba NEW
Darci Q SlusarskiFranceAnna Fali NEW
Maisha Q VenereCanadaElwin Sharvill QUALIFIED
Maisha L RimIndiaOnyama Limba QUALIFIED
Wickens U AmigonIndiaOnyama Limba RENEWAL
Emily R GauchoIndiaIoni Bowcher UNQUALIFIED
Adams M WieserCanadaIvan Magalhaes PROPOSAL
Aika E StockhamItalyAnna Fali NEGOTIATION
Munro J BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Darci A NickaItalyOnyama Limba NEW
Jennifer F SchemmerIndiaAmy Elsner NEGOTIATION
Francesco N PerinCanadaAnna Fali NEW
Munro X DarakjyAustraliaStephen Shaw QUALIFIED
David B CaldareraIndiaAnna Fali RENEWAL
Murillo B BriddickSpainIoni Bowcher PROPOSAL
Jennifer Y ShinkoSpainIoni Bowcher QUALIFIED
Smith D SchemmerRussiaElwin Sharvill NEW
Juan H CaudyUnited KingdomIvan Magalhaes NEW
Munro T DoeGermanyIvan Magalhaes NEW
Juan U MarrierSpainBernardo Dominic PROPOSAL
Costa W ShinkoSpainElwin Sharvill PROPOSAL
Emily I WhobreyGermanyAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi W MarrierSpainXuxue Feng QUALIFIED
Claire H StensethCanadaBernardo Dominic QUALIFIED
Kaitlin S NestleItalyAsiya Javayant NEGOTIATION
Deepesh L GauchoFranceXuxue Feng QUALIFIED
Leon M PerinFranceIoni Bowcher NEGOTIATION
Arvin A AlbaresSpainElwin Sharvill NEGOTIATION
Adams K RimGermanyAnna Fali UNQUALIFIED
Emily K KolmetzCanadaElwin Sharvill UNQUALIFIED
Rodrigues D NickaGermanyElwin Sharvill NEGOTIATION
Deepesh F StockhamRussiaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel X BriddickRussia2025-07-28Rangoni Of Florence QUALIFIED63Elwin Sharvill
1001Jones G KolmetzCanada2025-07-28Rousseaux, Michael Esq PROPOSAL78Ioni Bowcher
1002Wickens N FigeroaArgentina2025-08-13Morlong Associates QUALIFIED52Amy Elsner
1003Johnson Q PerinJapan2025-08-03Morlong Associates QUALIFIED94Amy Elsner
1004Mujtaba S NickaGermany2025-08-19Truhlar And Truhlar Attys RENEWAL77Asiya Javayant
1005Claire Z GarufiFrance2025-08-17Morlong Associates NEGOTIATION99Amy Elsner
1006Smith L WaycottFrance2025-08-04Truhlar And Truhlar Attys QUALIFIED43Asiya Javayant
1007Ricardo C GlickJapan2025-08-03Rousseaux, Michael Esq PROPOSAL17Stephen Shaw
1008Izzy A FerenczAustralia2025-08-21Rousseaux, Michael Esq NEGOTIATION86Elwin Sharvill
1009Salvatore W FigeroaItaly2025-08-08Feltz Printing Service QUALIFIED23Onyama Limba
1010Kaitlin U OldroydSpain2025-08-15King, Christopher A Esq UNQUALIFIED20Amy Elsner
1011Izzy T PoquetteAustralia2025-08-23Chemel, James L Cpa PROPOSAL15Onyama Limba
1012Sinclair H InouyeGermany2025-08-05Benton, John B Jr RENEWAL55Bernardo Dominic
1013Alejandro Q KolmetzCanada2025-07-28Benton, John B Jr QUALIFIED36Amy Elsner
1014Johnson K DarakjyBrazil2025-08-22King, Christopher A Esq PROPOSAL19Ivan Magalhaes
1015Isabel U RoysterArgentina2025-08-15Chanay, Jeffrey A Esq NEGOTIATION91Anna Fali
1016Smith E NickaArgentina2025-08-14Rangoni Of Florence QUALIFIED14Onyama Limba
1017Leon O SaylorsArgentina2025-08-15Feiner Bros PROPOSAL50Stephen Shaw
1018Ricardo X FigeroaGermany2025-07-27Printing Dimensions RENEWAL5Stephen Shaw
1019Claire L PoquetteBrazil2025-08-17King, Christopher A Esq NEGOTIATION3Stephen Shaw
1020Greenwood B StensethArgentina2025-08-25Rangoni Of Florence NEW19Elwin Sharvill
1021Murillo O OldroydArgentina2025-08-10Chapman, Ross E Esq PROPOSAL10Xuxue Feng
1022Stacey E RutaAustralia2025-08-08Buckley Miller Wright RENEWAL56Anna Fali
1023Rodrigues T TollnerBrazil2025-08-03Morlong Associates PROPOSAL97Ivan Magalhaes
1024Jennifer R MaletItaly2025-07-31Feiner Bros RENEWAL2Onyama Limba
1025Maisha X NestleRussia2025-08-10Feltz Printing Service UNQUALIFIED2Asiya Javayant
1026Mayumi P PoquetteBrazil2025-08-08Commercial Press RENEWAL21Ivan Magalhaes
1027Mujtaba D KolmetzItaly2025-08-07Buckley Miller Wright QUALIFIED73Ioni Bowcher
1028Nicolas G FlosiCanada2025-08-16Feltz Printing Service QUALIFIED34Xuxue Feng
1029Maisha F SergiItaly2025-08-04Printing Dimensions RENEWAL31Asiya Javayant
1030Cody S BologniaItaly2025-08-13Commercial Press NEGOTIATION5Ioni Bowcher
1031Munro R TollnerItaly2025-08-09King, Christopher A Esq PROPOSAL76Xuxue Feng
1032Tony R StockhamArgentina2025-07-31Buckley Miller Wright UNQUALIFIED16Asiya Javayant
1033Tony U TollnerRussia2025-08-17Rangoni Of Florence NEW40Anna Fali
1034Darci V PerinIndia2025-08-24Rangoni Of Florence PROPOSAL53Onyama Limba
1035Costa L MacleadBrazil2025-08-01Chapman, Ross E Esq PROPOSAL78Amy Elsner
1036Ricardo B DoeAustralia2025-08-23Printing Dimensions NEW89Xuxue Feng
1037Arvin R BowleyBrazil2025-08-01Rousseaux, Michael Esq PROPOSAL94Ioni Bowcher
1038Julie O FerenczSpain2025-08-19Morlong Associates RENEWAL43Asiya Javayant
1039Izzy F CampainItaly2025-08-23Chanay, Jeffrey A Esq RENEWAL82Asiya Javayant
1040James H GlickSpain2025-08-18Morlong Associates PROPOSAL41Asiya Javayant
1041Nicolas S ChuiGermany2025-08-04Feiner Bros RENEWAL72Anna Fali
1042Cody P AmigonRussia2025-08-18Morlong Associates NEW17Anna Fali
1043Stacey D SaylorsGermany2025-08-15Rangoni Of Florence NEGOTIATION21Stephen Shaw
1044Arvin D GarufiBrazil2025-08-19Rousseaux, Michael Esq RENEWAL88Bernardo Dominic
1045Misaki J ChuiSpain2025-07-28Benton, John B Jr NEGOTIATION99Onyama Limba
1046Cody N WhobreyJapan2025-08-01Rousseaux, Michael Esq UNQUALIFIED12Elwin Sharvill
1047Stacey E FerenczAustralia2025-08-25King, Christopher A Esq PROPOSAL88Ioni Bowcher
1048Juan N WaycottRussia2025-08-18Feltz Printing Service NEW70Bernardo Dominic
1049Johnson K StockhamIndia2025-08-15Printing Dimensions NEGOTIATION88Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Alejandro A NickaRussiaElwin Sharvill UNQUALIFIED
Emily O DarakjyJapanAmy Elsner NEW
Nicolas S VenereFranceIvan Magalhaes RENEWAL
Darci O AmigonJapanAnna Fali NEGOTIATION
Kaitlin O FlosiAustraliaOnyama Limba RENEWAL
Nicolas G InouyeGermanyAnna Fali PROPOSAL
Morrow D DoeSpainIoni Bowcher UNQUALIFIED
Clifford N GarufiBrazilOnyama Limba RENEWAL
Ivar Y MacleadJapanOnyama Limba NEW
Faith W SchemmerCanadaBernardo Dominic QUALIFIED
Arvin N GillianRussiaBernardo Dominic NEGOTIATION
Julie A RulapaughJapanAmy Elsner UNQUALIFIED
Nicolas P ButtGermanyOnyama Limba RENEWAL
Jones O MaletCanadaElwin Sharvill UNQUALIFIED
Leja Z KolmetzFranceElwin Sharvill QUALIFIED
Leon Z StensethGermanyAnna Fali UNQUALIFIED
Rodrigues F OstroskyItalyIvan Magalhaes PROPOSAL
Antonio Z NestleFranceAmy Elsner QUALIFIED
Aruna G WhobreyRussiaIoni Bowcher QUALIFIED
Octavia A GauchoItalyStephen Shaw PROPOSAL
Jeanfrancois U CampainArgentinaXuxue Feng NEGOTIATION
Leon Q GlickItalyOnyama Limba RENEWAL
Francesco K DilliardArgentinaElwin Sharvill RENEWAL
Faith F IturbideGermanyAnna Fali UNQUALIFIED
James S WaycottJapanXuxue Feng PROPOSAL
Sinclair L WaycottCanadaOnyama Limba RENEWAL
Chavez D OldroydArgentinaStephen Shaw NEGOTIATION
Kadeem M OldroydSpainStephen Shaw NEW
Izzy O AlbaresCanadaIvan Magalhaes PROPOSAL
Deepesh U ShinkoRussiaStephen Shaw RENEWAL
Sinclair N PaprockiUnited KingdomAsiya Javayant RENEWAL
Johnson M GillianFranceOnyama Limba UNQUALIFIED
Arvin S KuskoIndiaAmy Elsner PROPOSAL
Tony B SaylorsItalyAsiya Javayant PROPOSAL
Clifford P ShinkoFranceXuxue Feng QUALIFIED
Octavia K TollnerRussiaStephen Shaw UNQUALIFIED
Leja T PerinAustraliaAmy Elsner PROPOSAL
Tony A GillianIndiaIoni Bowcher NEW
Munro M SergiBrazilXuxue Feng RENEWAL
Adams G BowleyBrazilOnyama Limba UNQUALIFIED
Kadeem R DilliardGermanyElwin Sharvill UNQUALIFIED
Rodrigues U RimFranceAsiya Javayant NEGOTIATION
Jennifer Z RulapaughItalyAmy Elsner RENEWAL
Murillo G MarrierFranceStephen Shaw NEW
Deepesh Z FerenczCanadaElwin Sharvill PROPOSAL
Octavia I RimBrazilXuxue Feng PROPOSAL
Jones C PerinCanadaBernardo Dominic QUALIFIED
Francesco O OldroydGermanyAsiya Javayant RENEWAL
Faith A TollnerRussiaAsiya Javayant NEGOTIATION
Leja S AmigonSpainStephen Shaw UNQUALIFIED
Frozen Columns
Name
Ivar C Butt
James P Butt
James Y Dilliard
Munro J Caudy
Morrow Q Briddick
Julie E Poquette
Wickens O Gaucho
Darci F Gillian
Munro D Ferencz
Mayumi P Chui
Munro E Figeroa
Deepesh Q Flosi
Maisha V Dilliard
Rodrigues Z Ruta
Johnson J Inouye
Murillo W Briddick
Costa V Ruta
Mujtaba W Poquette
Antonio M Marrier
Johnson S Nicka
Alejandro Z Waycott
Arvin A Garufi
Jeanfrancois M Tollner
Misaki D Gaucho
Ashley Z Nestle
Alejandro E Campain
Misaki N Bolognia
Rodrigues J Doe
Isabel X Gaucho
Johnson Q Sergi
Tony E Morasca
Morrow F Perin
Johnson J Figeroa
Darci S Malet
Aika H Whobrey
James V Figeroa
Costa A Albares
Ricardo Y Inouye
Leja C Gaucho
Ashley W Saylors
Cody T Inouye
Faith Q Iturbide
Clifford F Waycott
Aditya A Inouye
Mayumi V Butt
Mayumi E Morasca
Deepesh W Ostrosky
Chavez S Marrier
Ivar U Slusarski
Mayumi D Inouye
IdCountryDate
1000Spain2025-08-12
1001Canada2025-08-22
1002Australia2025-08-09
1003United Kingdom2025-08-06
1004United Kingdom2025-08-25
1005Japan2025-08-23
1006India2025-08-02
1007Japan2025-08-19
1008Australia2025-07-27
1009Russia2025-07-31
1010France2025-08-21
1011Russia2025-07-27
1012Spain2025-08-07
1013Argentina2025-08-15
1014Spain2025-08-07
1015United Kingdom2025-08-02
1016France2025-07-29
1017Brazil2025-08-16
1018Russia2025-08-22
1019India2025-08-16
1020Germany2025-08-22
1021Spain2025-08-07
1022India2025-08-16
1023Spain2025-08-20
1024Brazil2025-08-14
1025Italy2025-08-12
1026France2025-08-02
1027France2025-08-05
1028Canada2025-08-19
1029Japan2025-08-09
1030Argentina2025-08-03
1031Germany2025-07-27
1032Russia2025-08-13
1033Spain2025-08-17
1034Germany2025-08-13
1035United Kingdom2025-07-30
1036France2025-08-05
1037Brazil2025-08-13
1038Brazil2025-08-25
1039United Kingdom2025-08-06
1040Australia2025-08-23
1041Argentina2025-08-16
1042Japan2025-08-05
1043Japan2025-08-05
1044Russia2025-08-15
1045Germany2025-08-11
1046Brazil2025-08-06
1047France2025-08-22
1048United Kingdom2025-08-21
1049Germany2025-08-20

On-Demand Data

NameIdCountryDate
Cody C Dilliard1000Russia2025-08-17
Alejandro R Briddick1001Germany2025-08-21
Salvatore G Ferencz1002United Kingdom2025-08-09
Deepesh O Albares1003Argentina2025-08-04
Wickens D Campain1004Argentina2025-08-02
Costa V Briddick1005Argentina2025-08-01
Julie M Venere1006Brazil2025-08-08
Nicolas B Oldroyd1007Australia2025-07-30
Tony A Whobrey1008Spain2025-07-27
Sinclair S Tollner1009Germany2025-08-12
Deepesh F Paprocki1010Australia2025-07-29
David C Campain1011Japan2025-07-28
Ricardo X Whobrey1012Russia2025-08-07
Izzy B Figeroa1013Russia2025-08-25
Cody F Ruta1014France2025-08-04
Deepesh Y Amigon1015Argentina2025-08-12
David R Ferencz1016United Kingdom2025-07-27
Juan J Malet1017Brazil2025-08-25
Salvatore I Sergi1018India2025-08-19
Stacey N Ruta1019Germany2025-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer Y OldroydGermanyAsiya Javayant RENEWAL
Jennifer H OstroskyIndiaStephen Shaw RENEWAL
Leon O BowleyBrazilIoni Bowcher UNQUALIFIED
Sinclair F OstroskyArgentinaOnyama Limba PROPOSAL
Octavia U IturbideFranceBernardo Dominic RENEWAL
Octavia E FollerUnited KingdomAsiya Javayant QUALIFIED
Rodrigues Z CaudyIndiaOnyama Limba RENEWAL
Leja E ButtCanadaIoni Bowcher RENEWAL
Salvatore O SchemmerArgentinaIoni Bowcher NEW
Ricardo O GarufiRussiaBernardo Dominic RENEWAL
Octavia F GlickJapanIvan Magalhaes PROPOSAL
Juan S DoeArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois U BologniaItalyIoni Bowcher RENEWAL
Mayumi H VocelkaIndiaOnyama Limba PROPOSAL
Nicolas S KuskoBrazilIoni Bowcher NEW
Adams Z PerinCanadaXuxue Feng QUALIFIED
Misaki F WaycottArgentinaStephen Shaw NEW
Jeanfrancois O WaycottAustraliaBernardo Dominic QUALIFIED
Jones Y InouyeFranceIvan Magalhaes RENEWAL
Emily A ButtFranceXuxue Feng RENEWAL
Misaki R KuskoGermanyAnna Fali PROPOSAL
Maria B CaudyJapanElwin Sharvill PROPOSAL
Stacey F AlbaresUnited KingdomStephen Shaw PROPOSAL
Emily J KolmetzFranceIoni Bowcher UNQUALIFIED
Jefferson G SaylorsIndiaElwin Sharvill UNQUALIFIED
Juan V InouyeCanadaAnna Fali UNQUALIFIED
Mayumi H ChuiItalyBernardo Dominic NEGOTIATION
Kadeem J ShinkoAustraliaElwin Sharvill NEW
Leon M PaprockiArgentinaBernardo Dominic NEGOTIATION
Rodrigues N DilliardAustraliaAmy Elsner UNQUALIFIED
Francesco E ButtFranceIoni Bowcher RENEWAL
Emily L RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Arvin Z FerenczCanadaBernardo Dominic NEGOTIATION
Clifford S KuskoItalyBernardo Dominic UNQUALIFIED
Jefferson C MorascaJapanAnna Fali QUALIFIED
Claire Y DoeItalyElwin Sharvill RENEWAL
Antonio J AlbaresRussiaAsiya Javayant UNQUALIFIED
Chavez S OstroskyItalyElwin Sharvill QUALIFIED
Morrow B SlusarskiSpainXuxue Feng RENEWAL
Mayumi C KuskoFranceStephen Shaw 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>