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
Maisha V StensethItalyXuxue Feng QUALIFIED
Munro D GauchoAustraliaStephen Shaw RENEWAL
Faith U VocelkaUnited KingdomIvan Magalhaes QUALIFIED
Misaki Y OstroskyArgentinaIvan Magalhaes QUALIFIED
Leon K SaylorsCanadaIvan Magalhaes PROPOSAL
Ricardo L FigeroaBrazilElwin Sharvill NEGOTIATION
Izzy T CaldareraAustraliaIvan Magalhaes QUALIFIED
Isabel H NickaFranceIvan Magalhaes NEW
Mujtaba Z MorascaAustraliaIvan Magalhaes PROPOSAL
Kadeem J CaudyBrazilElwin Sharvill PROPOSAL
Johnson K DoeFranceBernardo Dominic NEGOTIATION
Jefferson S OstroskyItalyIvan Magalhaes RENEWAL
Maisha R SergiBrazilAsiya Javayant PROPOSAL
David W RimSpainAsiya Javayant UNQUALIFIED
Aika W GauchoRussiaXuxue Feng NEW
Jefferson B MarrierFranceOnyama Limba QUALIFIED
Juan P RutaIndiaXuxue Feng PROPOSAL
Jennifer Z DoeJapanStephen Shaw RENEWAL
Antonio W NestleIndiaBernardo Dominic NEW
Deepesh T BologniaIndiaOnyama Limba PROPOSAL
Maria D InouyeAustraliaElwin Sharvill NEW
Leon I BologniaGermanyIvan Magalhaes PROPOSAL
Rodrigues N BriddickBrazilIvan Magalhaes UNQUALIFIED
Misaki I NickaRussiaStephen Shaw RENEWAL
Clifford M RulapaughGermanyAnna Fali NEGOTIATION
Johnson I WaycottGermanyAnna Fali NEGOTIATION
Octavia K DilliardRussiaStephen Shaw UNQUALIFIED
Salvatore O OstroskyUnited KingdomAsiya Javayant RENEWAL
Munro M PerinFranceXuxue Feng QUALIFIED
Deepesh O BologniaArgentinaStephen Shaw NEW
Juan H PerinGermanyAmy Elsner NEGOTIATION
Stacey G PoquetteIndiaAnna Fali UNQUALIFIED
Cody X GlickUnited KingdomAmy Elsner RENEWAL
Ivar G GauchoCanadaAnna Fali QUALIFIED
Sinclair Z OldroydUnited KingdomAsiya Javayant QUALIFIED
Ashley W IturbideRussiaBernardo Dominic UNQUALIFIED
James H SaylorsBrazilAsiya Javayant NEGOTIATION
Francesco Y IturbideUnited KingdomAsiya Javayant NEGOTIATION
James P DarakjyBrazilIoni Bowcher QUALIFIED
Johnson Y VenereGermanyOnyama Limba UNQUALIFIED
Emily N OstroskyUnited KingdomIoni Bowcher RENEWAL
Mayumi U RutaGermanyStephen Shaw UNQUALIFIED
Silvio L NickaCanadaElwin Sharvill NEW
Morrow U WhobreyGermanyElwin Sharvill RENEWAL
Chavez I VocelkaBrazilBernardo Dominic RENEWAL
Cody V BowleyAustraliaAmy Elsner PROPOSAL
Kadeem F ShinkoAustraliaStephen Shaw NEGOTIATION
Isabel M FerenczArgentinaElwin Sharvill RENEWAL
Aika X FigeroaAustraliaStephen Shaw NEGOTIATION
Leja G OldroydItalyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Morrow Q RulapaughJapanAsiya Javayant NEW
Emily D SchemmerIndiaOnyama Limba QUALIFIED
Nicolas Q MorascaItalyAnna Fali NEW
Munro R MaletArgentinaIvan Magalhaes RENEWAL
Stacey N PoquetteBrazilAmy Elsner NEGOTIATION
Clifford A BowleyUnited KingdomIvan Magalhaes NEW
Silvio B WhobreyBrazilXuxue Feng NEGOTIATION
Maria G WieserAustraliaIoni Bowcher NEW
Tony B FlosiIndiaAmy Elsner RENEWAL
Juan H RutaCanadaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey K RulapaughJapan2025-08-20Rangoni Of Florence QUALIFIED6Anna Fali
1001Salvatore V GauchoJapan2025-08-26Dorl, James J Esq RENEWAL96Bernardo Dominic
1002Costa Z StensethJapan2025-08-15Benton, John B Jr RENEWAL89Onyama Limba
1003Antonio R FlosiCanada2025-08-06Feltz Printing Service UNQUALIFIED39Ivan Magalhaes
1004Juan C MarrierJapan2025-08-15Morlong Associates PROPOSAL28Onyama Limba
1005David Z WieserAustralia2025-07-31Truhlar And Truhlar Attys NEGOTIATION88Onyama Limba
1006Kaitlin H WaycottFrance2025-08-18Buckley Miller Wright QUALIFIED16Ioni Bowcher
1007Maisha P CampainFrance2025-08-09Chemel, James L Cpa PROPOSAL80Anna Fali
1008Maisha O GarufiArgentina2025-08-20Rangoni Of Florence QUALIFIED74Ivan Magalhaes
1009Costa V RulapaughRussia2025-08-04Morlong Associates PROPOSAL2Anna Fali
1010Aika K GlickArgentina2025-08-02Chanay, Jeffrey A Esq NEW66Stephen Shaw
1011David S GauchoGermany2025-08-04Commercial Press RENEWAL92Xuxue Feng
1012James Y DoeCanada2025-08-02Printing Dimensions QUALIFIED54Xuxue Feng
1013Julie N WaycottCanada2025-08-08Printing Dimensions PROPOSAL14Onyama Limba
1014Wickens J SlusarskiSpain2025-08-21Truhlar And Truhlar Attys PROPOSAL85Xuxue Feng
1015Izzy O DoeSpain2025-08-08Printing Dimensions NEW70Stephen Shaw
1016Juan I MaletGermany2025-07-28Truhlar And Truhlar Attys NEW83Bernardo Dominic
1017Murillo T CaldareraCanada2025-08-24Feltz Printing Service RENEWAL0Ioni Bowcher
1018Ashley W SergiSpain2025-07-29Feltz Printing Service RENEWAL85Ioni Bowcher
1019Jeanfrancois W BologniaBrazil2025-08-06Feltz Printing Service QUALIFIED63Elwin Sharvill
1020Aruna O BologniaItaly2025-08-24Chanay, Jeffrey A Esq NEW1Bernardo Dominic
1021Tony K ShinkoSpain2025-08-21King, Christopher A Esq NEGOTIATION37Elwin Sharvill
1022Mujtaba M CaldareraIndia2025-08-23King, Christopher A Esq NEGOTIATION48Ioni Bowcher
1023Octavia Q GillianAustralia2025-08-26Morlong Associates UNQUALIFIED21Elwin Sharvill
1024Claire X GlickItaly2025-07-28Rangoni Of Florence RENEWAL2Asiya Javayant
1025Jennifer T PaprockiGermany2025-07-29Truhlar And Truhlar Attys UNQUALIFIED16Elwin Sharvill
1026Claire S DoeArgentina2025-08-20Printing Dimensions QUALIFIED84Anna Fali
1027Cody S WhobreyFrance2025-08-17Chemel, James L Cpa RENEWAL3Bernardo Dominic
1028Silvio Z SchemmerSpain2025-08-21King, Christopher A Esq NEW41Onyama Limba
1029Smith S SlusarskiGermany2025-08-23King, Christopher A Esq QUALIFIED84Anna Fali
1030Arvin E RulapaughArgentina2025-08-20Buckley Miller Wright QUALIFIED6Asiya Javayant
1031David F NickaJapan2025-08-26Rousseaux, Michael Esq UNQUALIFIED3Stephen Shaw
1032Jefferson H GauchoRussia2025-07-31Rangoni Of Florence NEGOTIATION55Anna Fali
1033Sinclair U MarrierJapan2025-08-17Dorl, James J Esq RENEWAL39Anna Fali
1034Murillo F RoysterUnited Kingdom2025-08-21Rangoni Of Florence PROPOSAL38Onyama Limba
1035Arvin G InouyeItaly2025-07-29King, Christopher A Esq NEW26Amy Elsner
1036James J TollnerGermany2025-08-16Chemel, James L Cpa PROPOSAL77Anna Fali
1037Octavia F IturbideJapan2025-08-16Commercial Press PROPOSAL72Bernardo Dominic
1038James V SaylorsJapan2025-08-20Rangoni Of Florence QUALIFIED26Elwin Sharvill
1039Ivar Y CaldareraIndia2025-08-10Chapman, Ross E Esq QUALIFIED70Ioni Bowcher
1040Leon S BologniaJapan2025-08-08Commercial Press NEW63Ioni Bowcher
1041David M KolmetzJapan2025-07-28Chapman, Ross E Esq RENEWAL29Onyama Limba
1042Aika V KuskoSpain2025-08-26King, Christopher A Esq UNQUALIFIED31Asiya Javayant
1043Jones F WhobreyJapan2025-07-28Printing Dimensions PROPOSAL34Bernardo Dominic
1044Jeanfrancois L AmigonJapan2025-08-04Benton, John B Jr NEGOTIATION3Asiya Javayant
1045Ivar V RulapaughItaly2025-08-18Chanay, Jeffrey A Esq NEGOTIATION5Elwin Sharvill
1046Leja O PerinCanada2025-08-12Truhlar And Truhlar Attys UNQUALIFIED7Stephen Shaw
1047Alejandro L CaldareraAustralia2025-08-21Feiner Bros NEGOTIATION77Bernardo Dominic
1048Julie O StockhamItaly2025-08-18Dorl, James J Esq PROPOSAL23Stephen Shaw
1049Adams T DilliardAustralia2025-08-26Chemel, James L Cpa QUALIFIED86Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ricardo M VenereJapanXuxue Feng QUALIFIED
Aika E SlusarskiFranceStephen Shaw PROPOSAL
Chavez R SlusarskiSpainXuxue Feng UNQUALIFIED
Misaki W RutaFranceOnyama Limba NEGOTIATION
Chavez L CaldareraGermanyBernardo Dominic RENEWAL
Wickens N GarufiItalyAsiya Javayant RENEWAL
Stacey Z RoysterBrazilAnna Fali UNQUALIFIED
Izzy A OldroydItalyStephen Shaw NEW
Izzy D RoysterJapanXuxue Feng PROPOSAL
Francesco A VocelkaBrazilStephen Shaw NEGOTIATION
Faith H StockhamBrazilAnna Fali RENEWAL
Kadeem D SergiBrazilBernardo Dominic NEW
Sinclair H SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Ashley J ChuiFranceXuxue Feng UNQUALIFIED
Francesco B CaldareraSpainXuxue Feng UNQUALIFIED
Jefferson E IturbideRussiaIvan Magalhaes UNQUALIFIED
Cody Q FollerAustraliaOnyama Limba QUALIFIED
Cody U FollerCanadaIoni Bowcher NEGOTIATION
Leja C MacleadIndiaStephen Shaw QUALIFIED
Chavez K RutaUnited KingdomAsiya Javayant PROPOSAL
Octavia Y FollerJapanOnyama Limba QUALIFIED
Ricardo K GarufiRussiaAsiya Javayant QUALIFIED
Jennifer U RoysterBrazilBernardo Dominic QUALIFIED
Leja Z WieserUnited KingdomStephen Shaw RENEWAL
Morrow Y FerenczUnited KingdomAmy Elsner RENEWAL
Stacey H WaycottJapanXuxue Feng NEGOTIATION
Ivar R CaldareraGermanyElwin Sharvill UNQUALIFIED
Salvatore L CampainBrazilElwin Sharvill QUALIFIED
Costa Y RulapaughSpainAmy Elsner UNQUALIFIED
Salvatore Q ButtCanadaAmy Elsner PROPOSAL
Sinclair A CaldareraGermanyBernardo Dominic QUALIFIED
Ricardo M GillianIndiaOnyama Limba PROPOSAL
Silvio T AmigonArgentinaAmy Elsner NEGOTIATION
Francesco Z MarrierAustraliaOnyama Limba PROPOSAL
Maisha M NestleJapanAsiya Javayant UNQUALIFIED
Octavia I MaletArgentinaAsiya Javayant UNQUALIFIED
Antonio Z MaletRussiaStephen Shaw NEGOTIATION
Greenwood K SergiIndiaBernardo Dominic UNQUALIFIED
Ivar Q MacleadCanadaAsiya Javayant NEW
Faith I AlbaresUnited KingdomElwin Sharvill NEW
Jefferson W GillianSpainIoni Bowcher RENEWAL
Murillo O VocelkaArgentinaBernardo Dominic QUALIFIED
Ricardo K PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Ricardo P NickaArgentinaElwin Sharvill NEGOTIATION
Ivar X MarrierSpainOnyama Limba NEW
David I DoeArgentinaXuxue Feng RENEWAL
Ivar D RulapaughIndiaStephen Shaw RENEWAL
Francesco M BologniaGermanyAnna Fali RENEWAL
Chavez M GarufiGermanyOnyama Limba NEGOTIATION
Leja K MaletCanadaAmy Elsner NEGOTIATION
Frozen Columns
Name
Antonio G Venere
Cody W Iturbide
Jefferson B Foller
Leja M Morasca
James Z Rim
Isabel V Albares
Isabel J Marrier
Munro X Perin
Claire W Butt
Isabel N Albares
Octavia A Amigon
Arvin Y Butt
Mayumi H Whobrey
Ricardo A Caudy
Maria J Iturbide
Leja E Nestle
Kaitlin W Rulapaugh
Nicolas A Caldarera
Ricardo Z Rim
Morrow O Darakjy
Jones P Poquette
Jones Q Marrier
Sinclair G Inouye
Salvatore D Bowley
Maria F Glick
Kadeem O Venere
Ashley D Sergi
Maisha Z Schemmer
Chavez H Kusko
Stacey T Iturbide
Ricardo O Foller
Jones M Maclead
Deepesh S Bolognia
Silvio J Darakjy
Jennifer Z Ostrosky
Ivar C Poquette
Deepesh Y Garufi
Aika A Perin
Leja E Dilliard
Isabel X Morasca
Adams M Albares
Misaki P Oldroyd
Jeanfrancois B Schemmer
Mayumi Q Ostrosky
James P Slusarski
Jones O Shinko
Salvatore I Chui
Julie Y Royster
Jones W Briddick
Izzy C Ostrosky
IdCountryDate
1000India2025-08-16
1001United Kingdom2025-08-02
1002Italy2025-08-13
1003Australia2025-08-25
1004Russia2025-08-18
1005Russia2025-08-09
1006Australia2025-08-19
1007Russia2025-08-13
1008Spain2025-08-23
1009Italy2025-08-12
1010Australia2025-07-31
1011France2025-08-20
1012Canada2025-08-02
1013Russia2025-08-21
1014Canada2025-08-13
1015Italy2025-08-03
1016Russia2025-08-15
1017India2025-08-13
1018Canada2025-08-14
1019Brazil2025-08-16
1020Russia2025-08-08
1021India2025-08-08
1022Italy2025-08-22
1023Brazil2025-08-02
1024Brazil2025-08-07
1025Germany2025-07-30
1026Canada2025-08-14
1027India2025-08-26
1028France2025-08-02
1029Brazil2025-08-17
1030Germany2025-08-04
1031Canada2025-07-30
1032United Kingdom2025-08-06
1033France2025-08-06
1034Brazil2025-08-17
1035Canada2025-08-03
1036Canada2025-08-06
1037United Kingdom2025-08-14
1038Japan2025-07-31
1039Brazil2025-08-01
1040Argentina2025-08-07
1041Spain2025-08-26
1042Germany2025-08-25
1043Germany2025-08-08
1044Argentina2025-08-08
1045United Kingdom2025-07-31
1046Italy2025-08-11
1047Canada2025-07-31
1048Japan2025-08-26
1049Japan2025-08-23

On-Demand Data

NameIdCountryDate
Antonio A Malet1000United Kingdom2025-08-02
Chavez H Venere1001Brazil2025-07-31
Greenwood B Caldarera1002Germany2025-08-12
Rodrigues M Chui1003Russia2025-08-17
Mayumi U Inouye1004Germany2025-07-31
Aditya R Kolmetz1005India2025-08-15
Costa P Gillian1006India2025-08-13
Cody Q Foller1007France2025-08-12
Claire U Foller1008Spain2025-08-21
Salvatore J Albares1009Brazil2025-08-08
Nicolas Q Caudy1010India2025-08-02
Wickens G Foller1011United Kingdom2025-08-18
Tony U Dilliard1012Germany2025-08-19
Jeanfrancois X Campain1013Germany2025-08-05
Smith O Maclead1014India2025-08-10
Deepesh E Chui1015Canada2025-08-06
Cody H Waycott1016Germany2025-08-05
Jeanfrancois B Nicka1017Brazil2025-08-10
Kaitlin O Marrier1018Canada2025-08-25
Darci Y Paprocki1019Germany2025-08-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley Y VocelkaIndiaXuxue Feng NEW
Smith C DilliardItalyIoni Bowcher NEW
Aika Q BowleyArgentinaXuxue Feng QUALIFIED
Adams I FerenczBrazilIoni Bowcher PROPOSAL
Johnson R CaldareraItalyXuxue Feng PROPOSAL
Aika U TollnerGermanyAnna Fali NEW
Ashley G FerenczGermanyStephen Shaw RENEWAL
Aditya U MaletCanadaAsiya Javayant QUALIFIED
Clifford B SchemmerBrazilStephen Shaw NEGOTIATION
Kaitlin I ButtItalyAmy Elsner NEGOTIATION
Murillo O BriddickSpainAnna Fali NEGOTIATION
Antonio R GarufiBrazilOnyama Limba NEGOTIATION
Kaitlin V AmigonBrazilOnyama Limba PROPOSAL
Cody F AlbaresIndiaIvan Magalhaes NEW
Leja V StockhamItalyXuxue Feng NEW
Deepesh N StockhamIndiaOnyama Limba RENEWAL
Chavez G CaudyUnited KingdomIoni Bowcher NEW
Deepesh N OldroydIndiaIoni Bowcher RENEWAL
Morrow L FigeroaBrazilIoni Bowcher NEW
Kadeem C VenereSpainIoni Bowcher RENEWAL
Maisha K AmigonUnited KingdomAnna Fali NEGOTIATION
Darci I GarufiBrazilXuxue Feng QUALIFIED
Arvin H SlusarskiSpainIvan Magalhaes PROPOSAL
Cody T WaycottFranceXuxue Feng RENEWAL
Izzy H DilliardItalyIvan Magalhaes NEW
Darci F TollnerArgentinaIoni Bowcher NEGOTIATION
Costa L NestleAustraliaAsiya Javayant PROPOSAL
Adams B KuskoBrazilIoni Bowcher RENEWAL
Faith L GarufiUnited KingdomAmy Elsner UNQUALIFIED
Morrow F RutaIndiaXuxue Feng NEW
Aruna B DarakjyIndiaXuxue Feng NEW
Emily G MaletCanadaIoni Bowcher NEGOTIATION
Aditya G FollerAustraliaAsiya Javayant UNQUALIFIED
Murillo Z WhobreyArgentinaXuxue Feng NEGOTIATION
Kadeem V NickaGermanyXuxue Feng QUALIFIED
Rodrigues C SergiArgentinaStephen Shaw UNQUALIFIED
Maria H PaprockiArgentinaBernardo Dominic QUALIFIED
Ricardo M MaletRussiaStephen Shaw RENEWAL
Jeanfrancois T AlbaresCanadaAmy Elsner UNQUALIFIED
Tony R FigeroaSpainOnyama Limba UNQUALIFIED

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