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
Misaki G MaletJapanElwin Sharvill QUALIFIED
Mayumi W CaudyArgentinaStephen Shaw UNQUALIFIED
Julie U TollnerUnited KingdomBernardo Dominic RENEWAL
Octavia N RulapaughIndiaAnna Fali PROPOSAL
Adams D AlbaresCanadaAnna Fali UNQUALIFIED
Clifford D KolmetzBrazilIoni Bowcher QUALIFIED
Julie D CaldareraAustraliaStephen Shaw NEW
Tony P InouyeGermanyAsiya Javayant QUALIFIED
Leja R ChuiSpainAmy Elsner UNQUALIFIED
Morrow U DilliardUnited KingdomIoni Bowcher QUALIFIED
Alejandro F InouyeCanadaAsiya Javayant NEGOTIATION
Sinclair U CaudyBrazilAsiya Javayant NEGOTIATION
Stacey K IturbideCanadaStephen Shaw RENEWAL
Izzy Q SchemmerJapanElwin Sharvill NEGOTIATION
Leja Z ChuiAustraliaXuxue Feng RENEWAL
Aika V RoysterJapanIoni Bowcher RENEWAL
Francesco U DarakjyUnited KingdomBernardo Dominic QUALIFIED
Leon P ShinkoRussiaElwin Sharvill UNQUALIFIED
Claire S KolmetzSpainBernardo Dominic UNQUALIFIED
James N StockhamBrazilIvan Magalhaes NEGOTIATION
Aika N InouyeSpainStephen Shaw NEW
Cody F CampainGermanyBernardo Dominic NEW
Clifford L DilliardRussiaAmy Elsner NEW
Smith Y PaprockiAustraliaXuxue Feng PROPOSAL
Adams H GlickItalyElwin Sharvill PROPOSAL
Nicolas F MarrierAustraliaIoni Bowcher QUALIFIED
Salvatore Y MaletAustraliaElwin Sharvill QUALIFIED
Emily E GauchoJapanBernardo Dominic UNQUALIFIED
Aditya T RoysterFranceAsiya Javayant PROPOSAL
Greenwood Q DoeIndiaStephen Shaw QUALIFIED
Darci L PoquetteGermanyElwin Sharvill QUALIFIED
Silvio R DilliardAustraliaElwin Sharvill QUALIFIED
Nicolas K OldroydIndiaStephen Shaw RENEWAL
Maisha U SchemmerFranceElwin Sharvill RENEWAL
Emily I CaldareraSpainOnyama Limba QUALIFIED
Smith F SergiJapanAmy Elsner UNQUALIFIED
Sinclair B VocelkaSpainXuxue Feng PROPOSAL
Emily J FigeroaCanadaIvan Magalhaes UNQUALIFIED
Julie D VocelkaSpainAmy Elsner RENEWAL
Ivar U TollnerCanadaIoni Bowcher NEW
Deepesh A BologniaBrazilIoni Bowcher PROPOSAL
Octavia E BowleyJapanAmy Elsner NEW
Maria I MacleadItalyIvan Magalhaes NEW
Izzy R CaldareraArgentinaAsiya Javayant QUALIFIED
Smith L SlusarskiBrazilIvan Magalhaes NEW
Maria N GillianRussiaOnyama Limba PROPOSAL
Arvin C ButtIndiaAsiya Javayant UNQUALIFIED
Claire R FigeroaIndiaXuxue Feng RENEWAL
Misaki F SlusarskiArgentinaElwin Sharvill QUALIFIED
Morrow M RulapaughCanadaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci W VocelkaArgentinaOnyama Limba QUALIFIED
Smith U RutaItalyOnyama Limba NEW
Jeanfrancois F PaprockiUnited KingdomXuxue Feng QUALIFIED
Kadeem B StockhamArgentinaOnyama Limba QUALIFIED
Leja K BowleyGermanyElwin Sharvill RENEWAL
Leon I RulapaughAustraliaBernardo Dominic QUALIFIED
Deepesh X GlickItalyAmy Elsner NEW
Wickens H NickaSpainElwin Sharvill PROPOSAL
Ricardo T CaldareraAustraliaIoni Bowcher NEW
Deepesh I DoeItalyAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily X CaudyItaly2025-07-20Commercial Press NEW99Ivan Magalhaes
1001Ricardo B MarrierGermany2025-08-03Buckley Miller Wright NEGOTIATION49Ioni Bowcher
1002Aditya K CaudyGermany2025-07-06Printing Dimensions NEGOTIATION64Ioni Bowcher
1003Aditya L MacleadJapan2025-07-09Rousseaux, Michael Esq PROPOSAL15Ioni Bowcher
1004Clifford T WaycottAustralia2025-07-28Chapman, Ross E Esq QUALIFIED28Anna Fali
1005Cody I SlusarskiUnited Kingdom2025-07-13Benton, John B Jr QUALIFIED75Ioni Bowcher
1006Murillo A WaycottIndia2025-07-06Commercial Press PROPOSAL63Onyama Limba
1007Darci P SaylorsUnited Kingdom2025-07-18Printing Dimensions NEGOTIATION58Elwin Sharvill
1008Jeanfrancois H RimJapan2025-07-08Chanay, Jeffrey A Esq NEGOTIATION72Ivan Magalhaes
1009Alejandro C GlickSpain2025-08-04Morlong Associates UNQUALIFIED85Amy Elsner
1010Ricardo U StensethUnited Kingdom2025-07-15Truhlar And Truhlar Attys RENEWAL13Onyama Limba
1011Misaki H VenereRussia2025-07-07Truhlar And Truhlar Attys NEW63Ivan Magalhaes
1012Claire X WhobreyIndia2025-07-23Feiner Bros QUALIFIED23Stephen Shaw
1013Francesco E CaudyBrazil2025-07-19Truhlar And Truhlar Attys UNQUALIFIED65Onyama Limba
1014Silvio B ChuiJapan2025-07-25Chapman, Ross E Esq UNQUALIFIED98Amy Elsner
1015Octavia F StensethCanada2025-07-21Morlong Associates UNQUALIFIED99Onyama Limba
1016Jennifer N CampainUnited Kingdom2025-07-13Benton, John B Jr PROPOSAL21Asiya Javayant
1017Ivar Q BowleyUnited Kingdom2025-07-31Morlong Associates RENEWAL26Stephen Shaw
1018Ricardo C VocelkaGermany2025-07-21Chapman, Ross E Esq UNQUALIFIED45Anna Fali
1019Maisha G RutaAustralia2025-07-12Truhlar And Truhlar Attys NEW71Ioni Bowcher
1020Darci N RimGermany2025-07-14Chapman, Ross E Esq PROPOSAL85Bernardo Dominic
1021Kadeem D SergiCanada2025-07-17Chemel, James L Cpa RENEWAL93Bernardo Dominic
1022Cody W GillianGermany2025-07-07Benton, John B Jr UNQUALIFIED28Ioni Bowcher
1023Stacey X ButtGermany2025-08-04Benton, John B Jr NEW99Anna Fali
1024Jennifer C KolmetzUnited Kingdom2025-07-25Chemel, James L Cpa NEGOTIATION8Onyama Limba
1025Aditya A RoysterArgentina2025-07-25Chapman, Ross E Esq UNQUALIFIED79Ioni Bowcher
1026Aditya K SchemmerFrance2025-07-14Printing Dimensions PROPOSAL57Elwin Sharvill
1027Munro I OstroskyUnited Kingdom2025-07-10Buckley Miller Wright QUALIFIED69Elwin Sharvill
1028Deepesh A CaldareraCanada2025-07-17Rousseaux, Michael Esq QUALIFIED70Anna Fali
1029Rodrigues J GillianUnited Kingdom2025-07-20Chemel, James L Cpa NEGOTIATION72Ivan Magalhaes
1030Jennifer I MacleadItaly2025-07-15Rangoni Of Florence UNQUALIFIED49Asiya Javayant
1031Jones V CaudySpain2025-08-03Printing Dimensions RENEWAL67Amy Elsner
1032Francesco J VenereAustralia2025-07-16Benton, John B Jr RENEWAL5Amy Elsner
1033Greenwood S PoquetteUnited Kingdom2025-07-25Feltz Printing Service RENEWAL32Bernardo Dominic
1034Adams A DilliardItaly2025-07-20Dorl, James J Esq NEGOTIATION49Amy Elsner
1035Octavia D StockhamArgentina2025-07-11Commercial Press RENEWAL14Ivan Magalhaes
1036Darci O ButtItaly2025-07-15Rangoni Of Florence RENEWAL19Xuxue Feng
1037Mayumi V StockhamSpain2025-08-03Rousseaux, Michael Esq QUALIFIED73Ioni Bowcher
1038Juan B AlbaresGermany2025-07-13Feiner Bros NEGOTIATION3Stephen Shaw
1039Chavez O SergiCanada2025-07-07King, Christopher A Esq NEW36Bernardo Dominic
1040Nicolas J PaprockiUnited Kingdom2025-08-03Feltz Printing Service NEW36Asiya Javayant
1041Aika N OldroydRussia2025-07-15Chanay, Jeffrey A Esq PROPOSAL24Asiya Javayant
1042Maria P VocelkaSpain2025-07-27Printing Dimensions UNQUALIFIED7Ivan Magalhaes
1043Adams O InouyeBrazil2025-07-08Chemel, James L Cpa NEW56Xuxue Feng
1044Claire B PerinFrance2025-07-30Chanay, Jeffrey A Esq PROPOSAL28Anna Fali
1045Kaitlin S KuskoArgentina2025-07-07Rousseaux, Michael Esq QUALIFIED60Onyama Limba
1046Ashley L WieserCanada2025-07-20Truhlar And Truhlar Attys RENEWAL26Stephen Shaw
1047Munro S VocelkaItaly2025-08-02King, Christopher A Esq NEGOTIATION56Xuxue Feng
1048Mujtaba V WhobreyIndia2025-07-11Printing Dimensions UNQUALIFIED34Ioni Bowcher
1049Stacey V FlosiUnited Kingdom2025-07-15Buckley Miller Wright QUALIFIED83Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Sinclair E BowleyIndiaXuxue Feng NEGOTIATION
Morrow L PaprockiSpainAnna Fali RENEWAL
Sinclair O GillianSpainIvan Magalhaes RENEWAL
Darci Y FlosiBrazilXuxue Feng NEGOTIATION
Sinclair E StockhamIndiaOnyama Limba PROPOSAL
Greenwood A BriddickCanadaAnna Fali QUALIFIED
Maria F OldroydItalyBernardo Dominic PROPOSAL
Clifford S StockhamSpainBernardo Dominic QUALIFIED
Wickens D ButtCanadaXuxue Feng NEW
Costa H KolmetzGermanyIvan Magalhaes QUALIFIED
Sinclair O RimJapanAsiya Javayant NEW
Jennifer F RulapaughArgentinaElwin Sharvill NEW
Leja B SlusarskiRussiaBernardo Dominic NEGOTIATION
Ashley N CaldareraGermanyXuxue Feng RENEWAL
Jones Z FlosiCanadaStephen Shaw PROPOSAL
Nicolas R CaldareraBrazilAmy Elsner NEW
Isabel K FollerGermanyIoni Bowcher UNQUALIFIED
Octavia F OstroskyJapanOnyama Limba PROPOSAL
Francesco Z TollnerSpainAsiya Javayant PROPOSAL
Nicolas T RutaAustraliaAsiya Javayant PROPOSAL
Adams Z RulapaughJapanIoni Bowcher UNQUALIFIED
Cody P AlbaresIndiaOnyama Limba PROPOSAL
James Q AmigonGermanyElwin Sharvill PROPOSAL
Jeanfrancois C ButtArgentinaStephen Shaw PROPOSAL
Jennifer J FlosiCanadaIoni Bowcher NEW
Tony V StockhamJapanIoni Bowcher NEW
Misaki Y MarrierIndiaXuxue Feng QUALIFIED
Maria V ShinkoItalyIvan Magalhaes PROPOSAL
Leja V MorascaGermanyXuxue Feng RENEWAL
Wickens D PoquetteArgentinaBernardo Dominic NEGOTIATION
Chavez E CaudyGermanyXuxue Feng PROPOSAL
Rodrigues R VenereIndiaIvan Magalhaes RENEWAL
Juan W FerenczItalyElwin Sharvill NEGOTIATION
Arvin Y StensethBrazilAmy Elsner UNQUALIFIED
Clifford G OstroskyGermanyBernardo Dominic NEGOTIATION
Darci M IturbideArgentinaElwin Sharvill UNQUALIFIED
Murillo M WieserUnited KingdomXuxue Feng NEGOTIATION
Alejandro W VocelkaJapanIoni Bowcher NEGOTIATION
Emily V PerinAustraliaOnyama Limba NEGOTIATION
Johnson K ButtSpainXuxue Feng QUALIFIED
Jennifer V OldroydUnited KingdomOnyama Limba NEW
Misaki S InouyeCanadaAnna Fali RENEWAL
Aditya A CampainSpainOnyama Limba RENEWAL
Leon I SchemmerFranceAnna Fali RENEWAL
Aika W NestleAustraliaAmy Elsner RENEWAL
Salvatore T InouyeCanadaStephen Shaw PROPOSAL
Adams F GauchoRussiaIoni Bowcher RENEWAL
Leon D PerinRussiaStephen Shaw QUALIFIED
Sinclair X KuskoAustraliaIvan Magalhaes RENEWAL
Izzy N DoeArgentinaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Clifford A Shinko
Faith Y Wieser
Isabel D Perin
Smith U Gaucho
Ivar Y Tollner
Aruna S Malet
Adams G Butt
Leon M Tollner
Salvatore Y Rim
Maria E Flosi
Maria A Campain
Francesco Q Briddick
Mujtaba D Shinko
Arvin F Vocelka
Leon E Ruta
Smith Q Dilliard
Adams H Garufi
Morrow H Morasca
Wickens K Gaucho
Nicolas V Gaucho
Nicolas O Caudy
Wickens K Malet
Silvio M Morasca
Isabel P Campain
Jefferson Z Malet
Smith S Vocelka
Juan F Wieser
Smith J Paprocki
Sinclair Q Slusarski
Izzy H Gillian
Ashley Q Caudy
Costa H Stockham
Kadeem W Slusarski
Emily Q Slusarski
Francesco Y Malet
Kaitlin A Darakjy
Tony Q Dilliard
Wickens Q Doe
Stacey P Vocelka
Ivar B Malet
Emily X Albares
Silvio V Oldroyd
Antonio X Poquette
James S Nicka
Murillo X Garufi
David Q Poquette
Misaki O Caldarera
Clifford L Ruta
Leja T Garufi
Smith M Foller
IdCountryDate
1000Spain2025-07-06
1001India2025-08-03
1002Germany2025-08-03
1003Argentina2025-07-23
1004India2025-07-25
1005Canada2025-07-19
1006Italy2025-07-21
1007United Kingdom2025-07-17
1008Argentina2025-07-12
1009Japan2025-07-19
1010Canada2025-07-26
1011Brazil2025-07-26
1012Russia2025-08-03
1013United Kingdom2025-07-10
1014Russia2025-07-30
1015United Kingdom2025-07-06
1016Germany2025-07-06
1017Italy2025-07-25
1018Spain2025-07-10
1019Canada2025-07-24
1020Germany2025-07-16
1021Japan2025-07-08
1022Australia2025-07-14
1023Brazil2025-07-30
1024Argentina2025-07-16
1025Canada2025-07-06
1026Spain2025-07-14
1027France2025-07-23
1028Russia2025-07-17
1029Italy2025-07-25
1030Spain2025-07-22
1031Italy2025-07-08
1032Spain2025-07-30
1033Germany2025-07-29
1034Spain2025-07-17
1035Australia2025-07-19
1036India2025-07-30
1037Japan2025-07-28
1038Australia2025-07-08
1039Japan2025-07-08
1040Spain2025-07-11
1041Japan2025-07-08
1042United Kingdom2025-07-13
1043United Kingdom2025-07-09
1044Australia2025-07-31
1045India2025-07-15
1046Italy2025-07-25
1047Brazil2025-07-07
1048Japan2025-07-23
1049France2025-07-29

On-Demand Data

NameIdCountryDate
Wickens A Ferencz1000Brazil2025-07-16
Adams K Nicka1001United Kingdom2025-07-13
Maisha R Schemmer1002France2025-07-31
Maisha T Foller1003Germany2025-07-26
Juan Z Caudy1004Brazil2025-07-23
Aika K Waycott1005Japan2025-08-04
Aditya H Amigon1006Argentina2025-07-30
Ricardo C Malet1007Brazil2025-07-13
Mayumi X Albares1008Russia2025-07-28
Leon J Saylors1009Australia2025-07-27
Jeanfrancois S Shinko1010Australia2025-07-07
David T Tollner1011Australia2025-07-22
Rodrigues T Caldarera1012Canada2025-07-09
Stacey I Ferencz1013France2025-08-03
Ashley K Briddick1014Canada2025-07-15
Deepesh K Morasca1015India2025-07-22
Stacey G Royster1016Russia2025-07-10
Faith G Dilliard1017Brazil2025-07-22
Maisha O Oldroyd1018Argentina2025-07-16
Julie I Schemmer1019Japan2025-07-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas I OldroydGermanyAmy Elsner RENEWAL
Johnson Q MaletAustraliaOnyama Limba RENEWAL
Mujtaba E RulapaughGermanyAmy Elsner NEGOTIATION
Emily W SchemmerAustraliaBernardo Dominic NEGOTIATION
Cody C MaletRussiaAsiya Javayant NEGOTIATION
Tony X DilliardItalyOnyama Limba NEW
Faith G PerinBrazilElwin Sharvill NEW
Sinclair R MacleadGermanyAnna Fali QUALIFIED
Wickens R DoeRussiaBernardo Dominic UNQUALIFIED
Julie Q MorascaIndiaElwin Sharvill RENEWAL
Morrow K CaudyRussiaStephen Shaw RENEWAL
Silvio S MorascaAustraliaXuxue Feng NEGOTIATION
Antonio P WaycottIndiaOnyama Limba NEGOTIATION
Chavez S FollerIndiaElwin Sharvill QUALIFIED
Aika C RimRussiaElwin Sharvill NEW
Emily U DoeArgentinaAsiya Javayant RENEWAL
Claire X RoysterBrazilIvan Magalhaes NEW
David M DilliardAustraliaIvan Magalhaes UNQUALIFIED
Silvio Y StensethJapanAsiya Javayant NEGOTIATION
Deepesh I WaycottAustraliaIvan Magalhaes RENEWAL
Antonio Z RutaGermanyStephen Shaw QUALIFIED
Chavez L KuskoFranceStephen Shaw QUALIFIED
Ashley F FlosiSpainOnyama Limba NEGOTIATION
Julie N ShinkoRussiaBernardo Dominic NEW
Smith X MaletRussiaOnyama Limba NEGOTIATION
Jefferson N PoquetteUnited KingdomIoni Bowcher PROPOSAL
Silvio M RutaIndiaIoni Bowcher QUALIFIED
Silvio N NickaGermanyAsiya Javayant NEW
Smith U FigeroaUnited KingdomAmy Elsner RENEWAL
Leon T RulapaughItalyAnna Fali UNQUALIFIED
Leja O SergiFranceOnyama Limba NEW
Juan I GarufiFranceAsiya Javayant RENEWAL
Isabel S InouyeRussiaIvan Magalhaes QUALIFIED
Francesco J PoquetteArgentinaXuxue Feng RENEWAL
Mayumi O VenereSpainIoni Bowcher NEW
Claire Q SchemmerUnited KingdomStephen Shaw QUALIFIED
Isabel V CaldareraFranceIvan Magalhaes NEGOTIATION
Wickens M StockhamArgentinaBernardo Dominic NEGOTIATION
James I InouyeCanadaStephen Shaw QUALIFIED
Jones R ChuiJapanIoni Bowcher NEGOTIATION

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