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
Salvatore X VocelkaGermanyBernardo Dominic NEW
Johnson J MorascaFranceIoni Bowcher PROPOSAL
Morrow T ButtGermanyElwin Sharvill NEW
Alejandro B StensethUnited KingdomBernardo Dominic UNQUALIFIED
Stacey R GillianIndiaIvan Magalhaes NEGOTIATION
Arvin B CaldareraJapanIvan Magalhaes QUALIFIED
Aruna W RimRussiaIoni Bowcher QUALIFIED
Ricardo N WaycottGermanyElwin Sharvill QUALIFIED
Juan L NestleBrazilAsiya Javayant NEGOTIATION
Ashley E MaletSpainIvan Magalhaes NEW
Alejandro P SlusarskiRussiaStephen Shaw NEW
Jefferson S GarufiSpainIvan Magalhaes PROPOSAL
Silvio W RulapaughItalyAsiya Javayant RENEWAL
Leon B PerinUnited KingdomXuxue Feng QUALIFIED
Wickens Q PerinSpainOnyama Limba NEGOTIATION
Johnson Y FigeroaAustraliaElwin Sharvill RENEWAL
Isabel O FigeroaSpainAnna Fali UNQUALIFIED
Mujtaba W InouyeIndiaXuxue Feng RENEWAL
Salvatore U ShinkoRussiaStephen Shaw NEW
Darci S SchemmerIndiaIoni Bowcher RENEWAL
Emily I KuskoItalyXuxue Feng QUALIFIED
Arvin P RutaRussiaAmy Elsner RENEWAL
Octavia C VocelkaGermanyIvan Magalhaes PROPOSAL
Nicolas M MarrierCanadaBernardo Dominic NEW
Johnson I AmigonItalyIvan Magalhaes RENEWAL
Ashley V DoeUnited KingdomIoni Bowcher UNQUALIFIED
Claire D SlusarskiArgentinaIoni Bowcher QUALIFIED
Aditya B NestleFranceIoni Bowcher PROPOSAL
Jefferson B WhobreyFranceAmy Elsner PROPOSAL
James N VenereCanadaOnyama Limba NEGOTIATION
Antonio W SaylorsCanadaAsiya Javayant QUALIFIED
Clifford G RulapaughAustraliaAmy Elsner PROPOSAL
Nicolas V TollnerIndiaAsiya Javayant PROPOSAL
Stacey H InouyeAustraliaOnyama Limba NEGOTIATION
Aika B AlbaresBrazilXuxue Feng NEW
Izzy G KuskoCanadaAsiya Javayant PROPOSAL
Nicolas J RimUnited KingdomIoni Bowcher NEGOTIATION
Faith N KuskoBrazilAnna Fali QUALIFIED
Julie T DoeJapanElwin Sharvill NEGOTIATION
Maria V PaprockiRussiaElwin Sharvill UNQUALIFIED
Silvio V VenereCanadaStephen Shaw NEW
Silvio V WieserBrazilAsiya Javayant PROPOSAL
Wickens R AlbaresRussiaAmy Elsner NEW
Murillo R SergiCanadaXuxue Feng RENEWAL
Faith A DoeGermanyAmy Elsner NEGOTIATION
Salvatore J MaletUnited KingdomAsiya Javayant NEGOTIATION
Arvin L MarrierRussiaOnyama Limba NEW
Kaitlin C OstroskyArgentinaIvan Magalhaes PROPOSAL
Leja N MaletSpainElwin Sharvill QUALIFIED
Morrow B OldroydRussiaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia C TollnerRussiaElwin Sharvill NEW
Mujtaba T FigeroaCanadaOnyama Limba NEGOTIATION
Kaitlin H RulapaughSpainAmy Elsner NEW
Antonio D PoquetteBrazilElwin Sharvill UNQUALIFIED
Ashley W FlosiItalyAsiya Javayant QUALIFIED
Cody Z WieserRussiaIoni Bowcher PROPOSAL
Stacey W GarufiBrazilAnna Fali NEW
Deepesh K BriddickSpainIoni Bowcher RENEWAL
David S ShinkoArgentinaAsiya Javayant NEGOTIATION
Murillo O StensethBrazilXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore P RoysterGermany2025-07-08Chanay, Jeffrey A Esq NEW37Bernardo Dominic
1001Deepesh X KolmetzRussia2025-07-11King, Christopher A Esq NEW39Asiya Javayant
1002Misaki E RimJapan2025-07-11Rousseaux, Michael Esq UNQUALIFIED19Anna Fali
1003Arvin E MaletGermany2025-07-15Chanay, Jeffrey A Esq NEGOTIATION67Ioni Bowcher
1004Kadeem U DilliardArgentina2025-07-16King, Christopher A Esq RENEWAL54Onyama Limba
1005Smith O ButtIndia2025-07-08Benton, John B Jr PROPOSAL8Xuxue Feng
1006Salvatore W VenereJapan2025-07-30Chanay, Jeffrey A Esq RENEWAL38Onyama Limba
1007Julie Q FollerArgentina2025-07-20Morlong Associates QUALIFIED66Asiya Javayant
1008Clifford E StockhamItaly2025-07-09Morlong Associates NEGOTIATION30Ivan Magalhaes
1009Adams J MarrierJapan2025-07-24Printing Dimensions PROPOSAL46Ivan Magalhaes
1010Octavia V GauchoAustralia2025-07-08Chemel, James L Cpa NEGOTIATION57Xuxue Feng
1011David A IturbideSpain2025-07-25Morlong Associates NEGOTIATION68Bernardo Dominic
1012Kadeem G BologniaRussia2025-07-08Feltz Printing Service UNQUALIFIED67Elwin Sharvill
1013Ashley P PaprockiSpain2025-07-10Rangoni Of Florence NEW89Ivan Magalhaes
1014Deepesh I BriddickItaly2025-07-31Printing Dimensions RENEWAL93Stephen Shaw
1015Silvio E FerenczUnited Kingdom2025-07-13Commercial Press NEGOTIATION13Asiya Javayant
1016Darci X WhobreyJapan2025-07-14Commercial Press RENEWAL36Ivan Magalhaes
1017Sinclair O BowleySpain2025-07-23Truhlar And Truhlar Attys QUALIFIED75Xuxue Feng
1018Salvatore Z PoquetteJapan2025-07-26Buckley Miller Wright UNQUALIFIED11Anna Fali
1019Jefferson O StensethBrazil2025-07-23Feiner Bros PROPOSAL41Ivan Magalhaes
1020Arvin E InouyeJapan2025-07-10Truhlar And Truhlar Attys NEGOTIATION50Onyama Limba
1021Antonio G NickaBrazil2025-07-18Dorl, James J Esq NEW44Xuxue Feng
1022Maria E AmigonUnited Kingdom2025-07-14Truhlar And Truhlar Attys PROPOSAL85Bernardo Dominic
1023Ashley L PoquetteAustralia2025-07-22Buckley Miller Wright RENEWAL39Ivan Magalhaes
1024Costa J GlickSpain2025-07-17Rousseaux, Michael Esq NEW71Xuxue Feng
1025Ivar Z VenereAustralia2025-07-31Benton, John B Jr NEGOTIATION23Bernardo Dominic
1026Ricardo Z NestleUnited Kingdom2025-07-09Dorl, James J Esq NEGOTIATION46Bernardo Dominic
1027Misaki P MaletFrance2025-07-13Chapman, Ross E Esq UNQUALIFIED70Elwin Sharvill
1028Chavez L RimUnited Kingdom2025-07-25Chemel, James L Cpa RENEWAL52Elwin Sharvill
1029Francesco U NickaSpain2025-07-23Chanay, Jeffrey A Esq NEW19Ioni Bowcher
1030Sinclair C KuskoGermany2025-08-01Morlong Associates UNQUALIFIED20Asiya Javayant
1031Julie C AmigonBrazil2025-07-14Morlong Associates NEGOTIATION27Xuxue Feng
1032Aika R TollnerUnited Kingdom2025-07-22Feiner Bros UNQUALIFIED17Asiya Javayant
1033Tony N NestleJapan2025-07-20Printing Dimensions PROPOSAL75Amy Elsner
1034Costa S PerinRussia2025-07-29Rousseaux, Michael Esq UNQUALIFIED7Xuxue Feng
1035Nicolas J RoysterRussia2025-07-16King, Christopher A Esq NEGOTIATION64Bernardo Dominic
1036Deepesh B SchemmerIndia2025-07-16Chapman, Ross E Esq QUALIFIED63Xuxue Feng
1037Johnson V SlusarskiGermany2025-07-18King, Christopher A Esq NEGOTIATION46Amy Elsner
1038Darci E CaldareraArgentina2025-07-30Chemel, James L Cpa RENEWAL45Elwin Sharvill
1039Juan C FollerSpain2025-07-27Buckley Miller Wright RENEWAL20Xuxue Feng
1040Jeanfrancois R GauchoGermany2025-07-13Benton, John B Jr QUALIFIED68Onyama Limba
1041Aika D MacleadIndia2025-07-08Printing Dimensions NEW39Xuxue Feng
1042Salvatore J TollnerSpain2025-07-10Rousseaux, Michael Esq QUALIFIED55Amy Elsner
1043Octavia B KolmetzItaly2025-07-14Truhlar And Truhlar Attys NEGOTIATION42Elwin Sharvill
1044Leja R GlickItaly2025-07-19Truhlar And Truhlar Attys PROPOSAL27Amy Elsner
1045Arvin B MaletIndia2025-08-04Rangoni Of Florence QUALIFIED36Anna Fali
1046Smith R PoquetteItaly2025-07-15Commercial Press UNQUALIFIED80Ivan Magalhaes
1047Ricardo W BriddickItaly2025-07-30Commercial Press UNQUALIFIED47Asiya Javayant
1048Greenwood G AlbaresRussia2025-07-23Truhlar And Truhlar Attys PROPOSAL77Asiya Javayant
1049Mujtaba X RoysterItaly2025-07-30Printing Dimensions PROPOSAL79Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Greenwood C VocelkaGermanyAmy Elsner UNQUALIFIED
Jones O IturbideItalyBernardo Dominic NEW
Mayumi R SlusarskiFranceIvan Magalhaes RENEWAL
Aditya S GarufiRussiaElwin Sharvill PROPOSAL
Darci Z SlusarskiRussiaAnna Fali QUALIFIED
Chavez D KuskoItalyIoni Bowcher PROPOSAL
Rodrigues M MaletFranceIvan Magalhaes QUALIFIED
Chavez W FollerArgentinaStephen Shaw RENEWAL
Darci G VenereCanadaOnyama Limba QUALIFIED
Izzy Q CampainSpainOnyama Limba RENEWAL
Sinclair N IturbideBrazilXuxue Feng RENEWAL
Leja B SaylorsSpainBernardo Dominic NEGOTIATION
Aditya U MarrierIndiaIvan Magalhaes NEGOTIATION
Juan B WaycottSpainIvan Magalhaes NEGOTIATION
Aika Z VocelkaArgentinaAmy Elsner NEW
Izzy N CampainAustraliaAnna Fali PROPOSAL
Clifford F TollnerAustraliaIvan Magalhaes QUALIFIED
David F CaudyArgentinaElwin Sharvill UNQUALIFIED
Isabel G OstroskyItalyBernardo Dominic QUALIFIED
Tony I CampainUnited KingdomOnyama Limba RENEWAL
Ricardo M SchemmerUnited KingdomIvan Magalhaes NEGOTIATION
Aika I SchemmerArgentinaStephen Shaw NEGOTIATION
Juan F OldroydCanadaElwin Sharvill NEW
Aika X MaletIndiaOnyama Limba PROPOSAL
Tony B SaylorsRussiaXuxue Feng UNQUALIFIED
Ashley F VocelkaJapanAnna Fali QUALIFIED
Ivar O KolmetzBrazilStephen Shaw RENEWAL
Nicolas V BriddickArgentinaBernardo Dominic NEGOTIATION
Francesco B PerinCanadaIoni Bowcher PROPOSAL
Julie U KolmetzJapanIvan Magalhaes NEGOTIATION
Maisha Y CaudyJapanBernardo Dominic RENEWAL
Johnson T NickaIndiaElwin Sharvill NEW
Jones Q MaletSpainAmy Elsner PROPOSAL
Claire Q RulapaughRussiaOnyama Limba PROPOSAL
Darci B RulapaughRussiaElwin Sharvill NEGOTIATION
Leja N MarrierIndiaIoni Bowcher UNQUALIFIED
Alejandro U RimSpainIoni Bowcher UNQUALIFIED
Claire F PoquetteIndiaAmy Elsner UNQUALIFIED
Maisha R FollerGermanyStephen Shaw PROPOSAL
Jones P MaletCanadaAmy Elsner NEW
Stacey A DilliardItalyElwin Sharvill RENEWAL
Maisha G FlosiArgentinaAnna Fali NEGOTIATION
Stacey B PoquetteUnited KingdomOnyama Limba NEW
Morrow Y RulapaughJapanXuxue Feng NEGOTIATION
Johnson P VenereAustraliaAmy Elsner QUALIFIED
Jeanfrancois L ChuiAustraliaIoni Bowcher NEGOTIATION
David W SchemmerJapanXuxue Feng NEGOTIATION
Jeanfrancois C FerenczArgentinaAmy Elsner QUALIFIED
Jennifer R SchemmerItalyIoni Bowcher NEW
Kadeem Y SaylorsArgentinaXuxue Feng QUALIFIED
Frozen Columns
Name
Ashley M Maclead
Octavia G Figeroa
Tony R Oldroyd
Julie R Caldarera
Kaitlin O Marrier
Ricardo S Caldarera
Julie E Shinko
Juan N Perin
Nicolas K Doe
Silvio R Amigon
Ivar R Royster
Izzy W Nicka
Salvatore S Iturbide
Nicolas T Poquette
Maisha O Malet
Deepesh D Campain
Munro T Venere
Juan E Wieser
Sinclair L Oldroyd
Greenwood W Rulapaugh
David A Chui
Chavez J Chui
Ivar C Rulapaugh
Claire O Doe
Jennifer R Whobrey
Arvin A Caudy
Greenwood C Rim
Salvatore U Shinko
Costa F Waycott
Sinclair R Rulapaugh
Jones B Glick
Alejandro U Rim
Johnson M Amigon
Tony R Ruta
Jennifer T Garufi
James P Flosi
Costa I Nicka
Deepesh M Waycott
Rodrigues Q Rulapaugh
Kadeem K Foller
Julie G Inouye
Murillo U Paprocki
Smith R Stockham
Alejandro H Rim
Claire R Dilliard
James E Inouye
Silvio C Stenseth
Antonio B Waycott
Salvatore Q Ruta
Misaki O Inouye
IdCountryDate
1000France2025-07-07
1001Argentina2025-07-28
1002Argentina2025-07-18
1003United Kingdom2025-07-22
1004Canada2025-07-15
1005Brazil2025-07-06
1006Germany2025-08-02
1007Italy2025-07-30
1008Brazil2025-07-22
1009Brazil2025-07-19
1010Australia2025-07-13
1011Canada2025-07-15
1012Italy2025-07-25
1013India2025-07-31
1014Russia2025-07-16
1015Canada2025-08-01
1016France2025-07-06
1017France2025-07-30
1018Germany2025-07-13
1019Italy2025-07-26
1020United Kingdom2025-07-20
1021India2025-07-24
1022Japan2025-07-13
1023Spain2025-07-12
1024India2025-08-01
1025Canada2025-07-26
1026Brazil2025-07-28
1027Russia2025-07-20
1028India2025-07-20
1029Germany2025-07-26
1030Japan2025-07-20
1031Brazil2025-07-29
1032Spain2025-07-30
1033Japan2025-07-26
1034Brazil2025-07-19
1035Russia2025-07-21
1036Japan2025-07-12
1037Spain2025-07-28
1038Germany2025-07-16
1039Japan2025-07-10
1040United Kingdom2025-07-13
1041Japan2025-07-16
1042Japan2025-07-06
1043Spain2025-07-26
1044Italy2025-07-29
1045France2025-07-28
1046Spain2025-07-31
1047Spain2025-07-11
1048Brazil2025-07-12
1049Germany2025-08-02

On-Demand Data

NameIdCountryDate
Tony K Morasca1000Argentina2025-07-24
David S Vocelka1001Brazil2025-07-20
Clifford O Ferencz1002France2025-07-11
Johnson B Nestle1003Canada2025-07-27
Nicolas N Garufi1004Brazil2025-07-29
Greenwood W Kusko1005France2025-07-28
Emily D Kusko1006Japan2025-07-16
Johnson O Poquette1007Canada2025-07-26
Aditya K Marrier1008India2025-07-24
Smith I Paprocki1009Russia2025-08-03
Arvin E Bolognia1010Spain2025-08-04
Faith D Paprocki1011Spain2025-08-01
Emily Y Ferencz1012India2025-07-30
Johnson H Garufi1013Canada2025-07-13
Maria C Saylors1014Germany2025-07-28
Adams T Kolmetz1015Russia2025-07-12
Darci E Royster1016Japan2025-07-14
Maisha I Ferencz1017Argentina2025-07-12
Stacey I Perin1018Spain2025-08-03
Mayumi Q Malet1019United Kingdom2025-07-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria N ButtRussiaBernardo Dominic UNQUALIFIED
Greenwood I RutaGermanyAsiya Javayant RENEWAL
Misaki P CampainFranceElwin Sharvill NEW
Silvio Y MorascaCanadaAnna Fali QUALIFIED
Sinclair A VenereJapanIoni Bowcher PROPOSAL
Johnson N DoeUnited KingdomXuxue Feng NEW
Misaki G AmigonBrazilStephen Shaw UNQUALIFIED
Tony O MaletIndiaAsiya Javayant RENEWAL
Salvatore O AmigonRussiaIvan Magalhaes UNQUALIFIED
Tony J NestleItalyAsiya Javayant NEGOTIATION
Aditya X DilliardArgentinaStephen Shaw RENEWAL
Mayumi O DilliardFranceAsiya Javayant NEGOTIATION
Cody U WieserGermanyIoni Bowcher QUALIFIED
Jennifer Y TollnerFranceStephen Shaw PROPOSAL
Mayumi K AlbaresFranceXuxue Feng QUALIFIED
Ivar R CampainArgentinaXuxue Feng NEGOTIATION
Adams D OldroydGermanyIvan Magalhaes UNQUALIFIED
Munro H WhobreyAustraliaOnyama Limba UNQUALIFIED
Nicolas F KuskoUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues F MarrierJapanAnna Fali QUALIFIED
Leon Y MaletArgentinaStephen Shaw NEGOTIATION
Octavia D NestleGermanyXuxue Feng RENEWAL
Jefferson H GillianFranceXuxue Feng RENEWAL
Aruna M IturbideSpainAmy Elsner NEW
James N WieserGermanyBernardo Dominic NEW
Costa D RoysterRussiaXuxue Feng NEW
Clifford L SlusarskiArgentinaXuxue Feng QUALIFIED
Greenwood K IturbideGermanyElwin Sharvill NEGOTIATION
Clifford A BologniaAustraliaElwin Sharvill RENEWAL
Izzy T MacleadCanadaAsiya Javayant RENEWAL
Murillo H RulapaughIndiaAnna Fali RENEWAL
Tony E StensethGermanyAmy Elsner PROPOSAL
Francesco H MorascaIndiaIoni Bowcher NEW
Rodrigues O DarakjyBrazilIvan Magalhaes NEW
Octavia N FigeroaArgentinaAmy Elsner NEW
Kadeem P CaudyRussiaOnyama Limba QUALIFIED
Smith E RoysterJapanOnyama Limba NEGOTIATION
Morrow C VenereGermanyIoni Bowcher UNQUALIFIED
Salvatore O ShinkoIndiaAnna Fali NEGOTIATION
Juan O GauchoRussiaElwin Sharvill 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>