November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Jefferson Y FerenczItalyAsiya Javayant PROPOSAL
Ivar O BowleyCanadaAmy Elsner NEW
Ricardo X PerinRussiaXuxue Feng NEW
Octavia Y PoquetteUnited KingdomAnna Fali RENEWAL
Faith X GlickAustraliaAmy Elsner RENEWAL
Antonio V NestleCanadaXuxue Feng QUALIFIED
Jefferson Z DilliardGermanyElwin Sharvill RENEWAL
Octavia G CaudyArgentinaBernardo Dominic QUALIFIED
Murillo O ChuiUnited KingdomXuxue Feng NEW
Jeanfrancois T ChuiIndiaIvan Magalhaes QUALIFIED
Jeanfrancois M FollerRussiaAmy Elsner PROPOSAL
Isabel D KuskoArgentinaIoni Bowcher QUALIFIED
Leja D FigeroaRussiaOnyama Limba QUALIFIED
Mujtaba W BowleyBrazilOnyama Limba PROPOSAL
Morrow L BologniaItalyIvan Magalhaes QUALIFIED
Adams W ShinkoArgentinaElwin Sharvill PROPOSAL
Jennifer V SlusarskiArgentinaElwin Sharvill NEGOTIATION
Silvio M FerenczArgentinaAsiya Javayant UNQUALIFIED
Costa L OstroskyAustraliaStephen Shaw PROPOSAL
Murillo B RoysterIndiaElwin Sharvill UNQUALIFIED
Aditya V MorascaArgentinaAnna Fali QUALIFIED
Ricardo D MarrierItalyAnna Fali PROPOSAL
Sinclair O DilliardJapanOnyama Limba RENEWAL
Isabel J ShinkoRussiaXuxue Feng NEW
Jeanfrancois V KuskoArgentinaAmy Elsner NEW
David Z RoysterArgentinaBernardo Dominic NEGOTIATION
Wickens W KuskoRussiaAsiya Javayant UNQUALIFIED
Deepesh W RoysterArgentinaBernardo Dominic NEW
Maisha A FerenczFranceStephen Shaw NEGOTIATION
David S SaylorsGermanyXuxue Feng PROPOSAL
Salvatore V MacleadBrazilIvan Magalhaes PROPOSAL
Smith X StockhamBrazilElwin Sharvill RENEWAL
Leon L RimJapanStephen Shaw UNQUALIFIED
David K BriddickBrazilAmy Elsner NEW
Aika Y SergiArgentinaIvan Magalhaes PROPOSAL
Cody O FerenczIndiaIvan Magalhaes NEGOTIATION
Silvio R MorascaJapanIvan Magalhaes PROPOSAL
Morrow W FlosiUnited KingdomIvan Magalhaes NEW
Cody J RimIndiaAmy Elsner NEW
Octavia L DarakjyAustraliaOnyama Limba NEGOTIATION
Rodrigues X MaletAustraliaStephen Shaw UNQUALIFIED
Cody F RulapaughBrazilAmy Elsner NEGOTIATION
Rodrigues F SchemmerArgentinaIvan Magalhaes NEGOTIATION
Jeanfrancois M StensethUnited KingdomBernardo Dominic QUALIFIED
Ivar L BowleyCanadaStephen Shaw RENEWAL
Claire T ChuiGermanyAmy Elsner QUALIFIED
Greenwood B SaylorsGermanyAnna Fali NEW
Kaitlin L NestleAustraliaIoni Bowcher NEW
Maisha S ShinkoRussiaOnyama Limba RENEWAL
Alejandro G MaletAustraliaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja D FollerJapanIvan Magalhaes UNQUALIFIED
Sinclair I NestleArgentinaAmy Elsner QUALIFIED
Tony B FlosiIndiaAnna Fali QUALIFIED
Kaitlin H FigeroaGermanyOnyama Limba NEGOTIATION
Smith L FerenczRussiaElwin Sharvill RENEWAL
Octavia T ChuiGermanyOnyama Limba RENEWAL
Salvatore O RutaGermanyAnna Fali UNQUALIFIED
Cody S VenereFranceIvan Magalhaes RENEWAL
Stacey H GillianUnited KingdomAnna Fali PROPOSAL
Darci G PerinItalyAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio V BologniaIndia2026-09-26Printing Dimensions NEW21Ivan Magalhaes
1001Arvin D GillianCanada2026-09-13Truhlar And Truhlar Attys NEW29Ioni Bowcher
1002Misaki Z KuskoSpain2026-09-24Morlong Associates QUALIFIED36Anna Fali
1003Leon L AmigonRussia2026-10-12Buckley Miller Wright QUALIFIED81Asiya Javayant
1004Ashley W CaldareraAustralia2026-10-03King, Christopher A Esq UNQUALIFIED57Asiya Javayant
1005Morrow E RutaRussia2026-10-09Dorl, James J Esq UNQUALIFIED12Xuxue Feng
1006Mujtaba E WaycottGermany2026-09-24Chanay, Jeffrey A Esq UNQUALIFIED88Xuxue Feng
1007Cody E AlbaresIndia2026-10-01Rangoni Of Florence PROPOSAL11Amy Elsner
1008Ricardo V WaycottRussia2026-09-17Truhlar And Truhlar Attys QUALIFIED99Amy Elsner
1009Wickens U MacleadItaly2026-09-24Buckley Miller Wright NEGOTIATION20Stephen Shaw
1010James X GlickCanada2026-10-10Chemel, James L Cpa NEW33Anna Fali
1011Claire D NestleJapan2026-09-27Chemel, James L Cpa QUALIFIED69Bernardo Dominic
1012Maisha T BriddickIndia2026-09-19Dorl, James J Esq NEW38Xuxue Feng
1013Jefferson S GillianJapan2026-09-18Printing Dimensions NEGOTIATION29Elwin Sharvill
1014Costa S RoysterArgentina2026-09-16Feiner Bros UNQUALIFIED65Asiya Javayant
1015Maria W RoysterFrance2026-10-03Morlong Associates QUALIFIED75Anna Fali
1016Claire O InouyeGermany2026-10-12Dorl, James J Esq PROPOSAL67Bernardo Dominic
1017Ashley C SergiCanada2026-09-20Chemel, James L Cpa QUALIFIED9Ioni Bowcher
1018Isabel H ButtUnited Kingdom2026-09-15Buckley Miller Wright RENEWAL78Amy Elsner
1019Darci C PerinArgentina2026-10-11Feiner Bros QUALIFIED80Xuxue Feng
1020Kaitlin W PoquetteAustralia2026-10-10Morlong Associates PROPOSAL57Ivan Magalhaes
1021Leon J SergiJapan2026-10-10Feiner Bros RENEWAL87Onyama Limba
1022Chavez Q AlbaresArgentina2026-09-19Morlong Associates NEW77Asiya Javayant
1023Claire F PoquetteAustralia2026-09-17Feiner Bros PROPOSAL80Ioni Bowcher
1024Ricardo B MarrierIndia2026-10-08Printing Dimensions PROPOSAL67Elwin Sharvill
1025Tony G BologniaCanada2026-10-02Buckley Miller Wright NEGOTIATION95Ioni Bowcher
1026Misaki J FlosiItaly2026-09-14Rangoni Of Florence NEGOTIATION12Elwin Sharvill
1027Deepesh M InouyeRussia2026-09-26Truhlar And Truhlar Attys PROPOSAL31Onyama Limba
1028Nicolas H PoquetteArgentina2026-10-05Chapman, Ross E Esq PROPOSAL69Bernardo Dominic
1029James E ShinkoUnited Kingdom2026-09-17Truhlar And Truhlar Attys RENEWAL31Amy Elsner
1030Stacey N DilliardUnited Kingdom2026-10-12Feiner Bros PROPOSAL44Amy Elsner
1031Octavia T GauchoSpain2026-09-23Rangoni Of Florence NEGOTIATION53Ioni Bowcher
1032Mujtaba T WieserItaly2026-10-01Benton, John B Jr NEGOTIATION69Bernardo Dominic
1033Jefferson A CaldareraBrazil2026-09-29Benton, John B Jr QUALIFIED16Amy Elsner
1034Alejandro K GauchoItaly2026-09-19Morlong Associates PROPOSAL43Bernardo Dominic
1035Chavez E ChuiUnited Kingdom2026-09-22Benton, John B Jr UNQUALIFIED8Anna Fali
1036Emily L TollnerRussia2026-09-24Morlong Associates UNQUALIFIED41Ioni Bowcher
1037Salvatore M VenereIndia2026-10-12King, Christopher A Esq NEGOTIATION26Ioni Bowcher
1038Wickens C NestleRussia2026-09-26Feiner Bros NEW6Onyama Limba
1039Francesco K RoysterSpain2026-10-04Feiner Bros UNQUALIFIED10Ioni Bowcher
1040Cody K MorascaArgentina2026-10-12Dorl, James J Esq NEGOTIATION10Xuxue Feng
1041Izzy S FollerJapan2026-10-11Rangoni Of Florence NEGOTIATION26Asiya Javayant
1042Aruna G RutaUnited Kingdom2026-09-24Chemel, James L Cpa PROPOSAL86Elwin Sharvill
1043Costa K GauchoCanada2026-10-12Benton, John B Jr PROPOSAL82Stephen Shaw
1044Jones J SergiFrance2026-09-28Morlong Associates QUALIFIED7Onyama Limba
1045Aika A WieserSpain2026-09-23Morlong Associates NEW50Ioni Bowcher
1046Maria P RimArgentina2026-09-22Rangoni Of Florence UNQUALIFIED62Bernardo Dominic
1047Nicolas D GillianRussia2026-09-15Chanay, Jeffrey A Esq RENEWAL26Anna Fali
1048Wickens V StockhamBrazil2026-10-07Chapman, Ross E Esq UNQUALIFIED9Ioni Bowcher
1049Faith W CaldareraArgentina2026-09-28Chapman, Ross E Esq RENEWAL40Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Murillo K MaletCanadaStephen Shaw PROPOSAL
Maria F BriddickCanadaXuxue Feng RENEWAL
Tony S ButtRussiaIoni Bowcher UNQUALIFIED
Ricardo E CampainGermanyBernardo Dominic UNQUALIFIED
Silvio W IturbideGermanyAsiya Javayant RENEWAL
Leon T GauchoSpainAmy Elsner RENEWAL
Leon L DarakjySpainAmy Elsner PROPOSAL
Morrow H GlickSpainIvan Magalhaes UNQUALIFIED
Leja L FollerJapanAmy Elsner RENEWAL
Cody F MaletCanadaBernardo Dominic PROPOSAL
Arvin Y WhobreyCanadaAnna Fali QUALIFIED
Emily E CaldareraFranceElwin Sharvill NEGOTIATION
Mayumi U GillianUnited KingdomIvan Magalhaes NEGOTIATION
Smith D OstroskyArgentinaAsiya Javayant QUALIFIED
Jennifer K VocelkaFranceXuxue Feng RENEWAL
Juan L GlickArgentinaAmy Elsner NEGOTIATION
Chavez P PerinRussiaXuxue Feng UNQUALIFIED
Munro K StensethJapanIoni Bowcher QUALIFIED
Aditya P AmigonCanadaXuxue Feng PROPOSAL
Leon Z TollnerGermanyAmy Elsner PROPOSAL
Emily L MaletAustraliaXuxue Feng PROPOSAL
Ricardo S IturbideJapanBernardo Dominic PROPOSAL
Nicolas D MaletGermanyAnna Fali NEGOTIATION
Cody N OstroskySpainIoni Bowcher PROPOSAL
Deepesh K RulapaughUnited KingdomAsiya Javayant UNQUALIFIED
Adams D RutaFranceElwin Sharvill QUALIFIED
Aditya I InouyeItalyAnna Fali NEW
Greenwood H ShinkoRussiaOnyama Limba QUALIFIED
Leja T GauchoIndiaOnyama Limba NEGOTIATION
Kadeem A OstroskyGermanyAmy Elsner PROPOSAL
Darci P InouyeSpainAmy Elsner RENEWAL
Maria R WaycottIndiaXuxue Feng NEGOTIATION
Ashley W MacleadSpainOnyama Limba NEW
David G InouyeUnited KingdomOnyama Limba NEGOTIATION
Aditya R FerenczIndiaAnna Fali QUALIFIED
Darci X RulapaughIndiaIoni Bowcher RENEWAL
Aruna W RoysterFranceOnyama Limba UNQUALIFIED
Julie I MaletArgentinaIvan Magalhaes QUALIFIED
Morrow W MorascaJapanOnyama Limba PROPOSAL
Darci S RoysterGermanyAnna Fali NEGOTIATION
Jennifer H RoysterBrazilIoni Bowcher QUALIFIED
Jeanfrancois Q KuskoRussiaIvan Magalhaes RENEWAL
Claire I MaletFranceAnna Fali UNQUALIFIED
Smith Y DarakjyFranceIvan Magalhaes UNQUALIFIED
Faith K AmigonFranceIoni Bowcher NEGOTIATION
Ashley O BriddickAustraliaXuxue Feng QUALIFIED
Sinclair B GarufiArgentinaXuxue Feng QUALIFIED
Maisha Y FerenczSpainBernardo Dominic NEGOTIATION
Arvin G RoysterCanadaAsiya Javayant NEGOTIATION
Emily W PaprockiFranceElwin Sharvill NEGOTIATION
Frozen Columns
Name
James B Poquette
Maisha I Morasca
David F Kusko
Leon M Shinko
Ricardo F Doe
Maisha J Flosi
Alejandro U Paprocki
Adams B Caldarera
Aditya Q Nestle
Izzy D Albares
Ivar V Marrier
Jefferson D Nestle
Silvio F Morasca
Aika X Stenseth
Julie N Malet
Claire W Paprocki
Deepesh U Schemmer
Kaitlin B Malet
Aika Q Caudy
Jones R Poquette
Deepesh A Stockham
James E Marrier
Johnson G Gillian
Smith I Ostrosky
Kaitlin U Paprocki
Costa B Dilliard
Isabel S Dilliard
Jones O Morasca
Faith W Nicka
Darci C Flosi
Izzy J Malet
Francesco F Kusko
Deepesh L Tollner
Misaki X Ferencz
Adams P Perin
Misaki D Oldroyd
Leon F Shinko
Salvatore Q Kolmetz
Faith X Kolmetz
Deepesh L Darakjy
Morrow L Maclead
Clifford T Kusko
Kadeem K Gillian
Juan C Slusarski
Deepesh B Darakjy
Mayumi R Figeroa
Maria T Waycott
Nicolas A Briddick
Julie D Ferencz
Rodrigues T Whobrey
IdCountryDate
1000Australia2026-09-17
1001Spain2026-09-14
1002Australia2026-09-18
1003Japan2026-09-25
1004France2026-10-09
1005France2026-09-20
1006Australia2026-09-18
1007Italy2026-09-14
1008Argentina2026-09-20
1009United Kingdom2026-09-20
1010Japan2026-09-26
1011Canada2026-10-07
1012France2026-09-26
1013Germany2026-10-04
1014India2026-09-16
1015Australia2026-09-21
1016Argentina2026-09-19
1017France2026-09-26
1018Italy2026-10-09
1019Spain2026-09-15
1020India2026-10-10
1021Spain2026-10-01
1022France2026-09-14
1023India2026-09-23
1024Russia2026-10-11
1025Argentina2026-09-23
1026Spain2026-10-05
1027Brazil2026-09-25
1028India2026-10-04
1029Germany2026-09-20
1030Australia2026-10-05
1031Brazil2026-09-14
1032Italy2026-09-23
1033United Kingdom2026-09-29
1034Germany2026-09-29
1035Australia2026-09-30
1036Russia2026-10-08
1037Russia2026-09-25
1038Brazil2026-09-14
1039France2026-10-04
1040Japan2026-09-27
1041Japan2026-09-17
1042United Kingdom2026-10-10
1043Italy2026-09-27
1044Japan2026-09-18
1045Japan2026-10-08
1046Argentina2026-09-23
1047Canada2026-09-18
1048Spain2026-09-25
1049Canada2026-10-08

On-Demand Data

NameIdCountryDate
Silvio Y Campain1000Germany2026-10-12
Faith E Malet1001Spain2026-09-19
Smith I Ruta1002Australia2026-09-26
Izzy W Ruta1003Japan2026-09-25
Johnson S Poquette1004Russia2026-09-14
Aruna C Oldroyd1005Spain2026-10-11
Salvatore O Kolmetz1006France2026-09-20
Ricardo I Amigon1007Brazil2026-09-17
Adams P Bolognia1008United Kingdom2026-09-17
Maria S Malet1009Italy2026-09-25
Ivar Q Chui1010France2026-09-24
Emily S Iturbide1011Australia2026-09-27
Tony P Perin1012Brazil2026-10-04
Salvatore S Bowley1013Italy2026-10-12
Claire E Rulapaugh1014Canada2026-09-18
Emily Z Oldroyd1015Argentina2026-10-08
Sinclair D Waycott1016Argentina2026-10-01
Maria V Perin1017Germany2026-10-12
Ashley O Figeroa1018United Kingdom2026-10-07
Antonio Q Caudy1019Japan2026-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson K NickaSpainXuxue Feng NEGOTIATION
Tony J OstroskySpainXuxue Feng RENEWAL
Emily X SergiBrazilAnna Fali QUALIFIED
Smith A VocelkaCanadaIoni Bowcher UNQUALIFIED
Aruna O TollnerCanadaOnyama Limba NEGOTIATION
Alejandro V DoeAustraliaIvan Magalhaes NEW
Misaki O VenereAustraliaIoni Bowcher NEGOTIATION
Johnson U AlbaresRussiaBernardo Dominic NEGOTIATION
Adams T KolmetzFranceElwin Sharvill RENEWAL
Wickens P SergiGermanyAmy Elsner RENEWAL
Munro N BriddickRussiaOnyama Limba RENEWAL
Maisha S ChuiArgentinaXuxue Feng QUALIFIED
Nicolas B NestleCanadaAmy Elsner NEGOTIATION
Aika N BowleySpainXuxue Feng QUALIFIED
Clifford S FollerIndiaAmy Elsner NEGOTIATION
Silvio F MarrierCanadaIvan Magalhaes NEW
Stacey Q StockhamRussiaElwin Sharvill UNQUALIFIED
Murillo V MacleadJapanAsiya Javayant QUALIFIED
Juan P BriddickIndiaIvan Magalhaes NEGOTIATION
Kaitlin C MaletAustraliaBernardo Dominic NEW
Antonio Q SergiRussiaOnyama Limba QUALIFIED
Adams E PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba I IturbideBrazilAnna Fali NEGOTIATION
Johnson Z MacleadBrazilAsiya Javayant UNQUALIFIED
James H MaletIndiaStephen Shaw UNQUALIFIED
Jeanfrancois J SlusarskiIndiaElwin Sharvill NEW
Silvio N RoysterSpainIvan Magalhaes NEW
Jefferson G RulapaughBrazilOnyama Limba UNQUALIFIED
Chavez J DarakjyFranceIvan Magalhaes UNQUALIFIED
Ashley W RimSpainAnna Fali NEW
Jennifer M GarufiBrazilElwin Sharvill NEW
Aruna Z IturbideBrazilAsiya Javayant NEW
Faith V AlbaresArgentinaAsiya Javayant UNQUALIFIED
Chavez Z DilliardIndiaAmy Elsner RENEWAL
Aditya R CaldareraRussiaAnna Fali PROPOSAL
Jennifer Q VenereFranceXuxue Feng UNQUALIFIED
Aditya S RimBrazilIoni Bowcher PROPOSAL
Johnson F DilliardAustraliaBernardo Dominic RENEWAL
Clifford G GlickBrazilXuxue Feng QUALIFIED
Julie Z SaylorsRussiaIvan Magalhaes 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>