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
Smith P InouyeCanadaIoni Bowcher NEW
Aruna Z GauchoAustraliaXuxue Feng UNQUALIFIED
Murillo J WaycottUnited KingdomIoni Bowcher QUALIFIED
Emily M SergiAustraliaAmy Elsner UNQUALIFIED
Johnson Y SlusarskiItalyIvan Magalhaes RENEWAL
Jeanfrancois H NestleBrazilOnyama Limba QUALIFIED
Chavez S MacleadIndiaAnna Fali NEGOTIATION
Ricardo P GlickCanadaStephen Shaw UNQUALIFIED
Cody Y SlusarskiIndiaElwin Sharvill QUALIFIED
Salvatore B SergiArgentinaElwin Sharvill NEW
Silvio C DoeItalyIvan Magalhaes QUALIFIED
Salvatore L StockhamSpainOnyama Limba RENEWAL
Greenwood V BologniaAustraliaIoni Bowcher NEGOTIATION
Jefferson T RoysterRussiaXuxue Feng QUALIFIED
Aruna U AmigonArgentinaAnna Fali UNQUALIFIED
Ivar A GillianCanadaXuxue Feng NEW
Silvio W DarakjyCanadaBernardo Dominic RENEWAL
Maria O StensethIndiaOnyama Limba QUALIFIED
Maria V WieserAustraliaIvan Magalhaes QUALIFIED
Mujtaba S FerenczRussiaStephen Shaw QUALIFIED
Deepesh U InouyeCanadaAsiya Javayant NEGOTIATION
Maisha P RimItalyAnna Fali PROPOSAL
Isabel W TollnerCanadaBernardo Dominic RENEWAL
Silvio L DoeArgentinaAnna Fali UNQUALIFIED
Mayumi D CaudyJapanStephen Shaw UNQUALIFIED
Cody X DilliardGermanyOnyama Limba NEW
Sinclair O TollnerFranceIvan Magalhaes NEW
Chavez S FigeroaArgentinaIvan Magalhaes NEGOTIATION
Ashley U ShinkoBrazilAmy Elsner RENEWAL
Chavez Y BriddickArgentinaIoni Bowcher UNQUALIFIED
Munro Q RulapaughFranceAnna Fali QUALIFIED
Johnson K GarufiGermanyAsiya Javayant NEGOTIATION
Clifford I NickaSpainStephen Shaw NEGOTIATION
Claire R AlbaresAustraliaAnna Fali RENEWAL
Antonio T DarakjyAustraliaAnna Fali NEW
Octavia Q MaletGermanyIvan Magalhaes PROPOSAL
Jennifer D BologniaIndiaBernardo Dominic PROPOSAL
Nicolas R VocelkaUnited KingdomAsiya Javayant QUALIFIED
Chavez B SlusarskiCanadaElwin Sharvill NEW
Clifford S MacleadGermanyOnyama Limba UNQUALIFIED
Julie J SchemmerIndiaOnyama Limba PROPOSAL
Costa T CaldareraCanadaIoni Bowcher UNQUALIFIED
David R BowleyUnited KingdomStephen Shaw PROPOSAL
David Y OldroydSpainBernardo Dominic NEW
Ivar R NestleJapanBernardo Dominic QUALIFIED
Morrow I VocelkaItalyOnyama Limba UNQUALIFIED
Tony S RoysterSpainXuxue Feng QUALIFIED
Clifford W RutaSpainOnyama Limba QUALIFIED
Jennifer N WhobreyIndiaBernardo Dominic PROPOSAL
Kaitlin Y WhobreySpainStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Wickens O CampainArgentinaOnyama Limba QUALIFIED
Ashley H GarufiJapanAnna Fali RENEWAL
David J MacleadItalyStephen Shaw NEW
Nicolas E VocelkaFranceXuxue Feng RENEWAL
Deepesh J ShinkoGermanyAmy Elsner UNQUALIFIED
Emily J RulapaughIndiaBernardo Dominic RENEWAL
Ashley O VocelkaItalyAmy Elsner NEGOTIATION
Kadeem H InouyeSpainStephen Shaw NEGOTIATION
Misaki E OstroskyGermanyOnyama Limba RENEWAL
Octavia B ChuiSpainStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco W TollnerSpain2026-10-10Morlong Associates NEW46Ioni Bowcher
1001Sinclair T ChuiFrance2026-10-06Printing Dimensions UNQUALIFIED17Onyama Limba
1002Kadeem G WieserSpain2026-09-28Buckley Miller Wright PROPOSAL5Onyama Limba
1003Izzy L FlosiBrazil2026-10-03King, Christopher A Esq NEW34Ivan Magalhaes
1004Kadeem D WhobreyIndia2026-10-10Dorl, James J Esq PROPOSAL63Amy Elsner
1005Octavia O MaletRussia2026-10-09Feiner Bros QUALIFIED1Elwin Sharvill
1006Aika B StockhamArgentina2026-10-02Rousseaux, Michael Esq NEGOTIATION3Elwin Sharvill
1007Emily S FerenczUnited Kingdom2026-10-03Commercial Press NEGOTIATION87Elwin Sharvill
1008Isabel L ButtAustralia2026-10-02Buckley Miller Wright NEW67Onyama Limba
1009Salvatore Z NickaRussia2026-09-24King, Christopher A Esq NEW88Ioni Bowcher
1010Nicolas P RoysterFrance2026-10-16Morlong Associates QUALIFIED2Ivan Magalhaes
1011Smith O WaycottUnited Kingdom2026-09-23Buckley Miller Wright QUALIFIED37Amy Elsner
1012Smith S CaudyItaly2026-09-28Printing Dimensions PROPOSAL24Xuxue Feng
1013Tony P StensethItaly2026-09-30Dorl, James J Esq QUALIFIED35Elwin Sharvill
1014Mujtaba S RutaJapan2026-10-15Benton, John B Jr PROPOSAL99Bernardo Dominic
1015Tony X DoeIndia2026-10-05Dorl, James J Esq NEGOTIATION47Bernardo Dominic
1016Aika Z FlosiSpain2026-10-07Feiner Bros RENEWAL3Stephen Shaw
1017James W RulapaughItaly2026-09-26Dorl, James J Esq NEGOTIATION4Xuxue Feng
1018Aruna Z WieserUnited Kingdom2026-09-25Chemel, James L Cpa RENEWAL20Amy Elsner
1019Jeanfrancois D SergiCanada2026-10-17Commercial Press NEGOTIATION53Ioni Bowcher
1020Francesco K OldroydArgentina2026-10-02Feiner Bros PROPOSAL39Stephen Shaw
1021Adams P KuskoRussia2026-09-26Chanay, Jeffrey A Esq NEW84Stephen Shaw
1022Clifford K StensethUnited Kingdom2026-09-19Truhlar And Truhlar Attys RENEWAL9Bernardo Dominic
1023Julie P DarakjyBrazil2026-10-05Dorl, James J Esq RENEWAL29Stephen Shaw
1024Isabel M RimItaly2026-10-08Chemel, James L Cpa RENEWAL71Ivan Magalhaes
1025Sinclair O OstroskyJapan2026-09-27Chemel, James L Cpa RENEWAL28Bernardo Dominic
1026Emily V DarakjyFrance2026-10-13Rangoni Of Florence RENEWAL31Xuxue Feng
1027Maria F FerenczFrance2026-10-09Commercial Press NEW50Stephen Shaw
1028Misaki Y ChuiRussia2026-10-18Rousseaux, Michael Esq RENEWAL65Elwin Sharvill
1029Rodrigues N DilliardSpain2026-09-20Dorl, James J Esq RENEWAL58Anna Fali
1030Claire E CaudyIndia2026-09-28Feiner Bros UNQUALIFIED73Elwin Sharvill
1031Darci Y NestleUnited Kingdom2026-09-30Chapman, Ross E Esq RENEWAL72Amy Elsner
1032Octavia D KolmetzGermany2026-09-19Chemel, James L Cpa NEW70Ivan Magalhaes
1033Ivar C NestleGermany2026-09-25King, Christopher A Esq UNQUALIFIED79Ioni Bowcher
1034Aika H ButtBrazil2026-10-13Buckley Miller Wright NEW68Bernardo Dominic
1035Leja G PerinUnited Kingdom2026-09-27Truhlar And Truhlar Attys QUALIFIED84Elwin Sharvill
1036Darci Y KolmetzJapan2026-09-21Truhlar And Truhlar Attys NEW97Bernardo Dominic
1037Johnson P FerenczAustralia2026-10-14Chanay, Jeffrey A Esq RENEWAL56Ioni Bowcher
1038Antonio F BowleyRussia2026-09-22Chanay, Jeffrey A Esq PROPOSAL2Xuxue Feng
1039Deepesh Y ButtAustralia2026-09-20Buckley Miller Wright QUALIFIED0Ioni Bowcher
1040Salvatore J CaldareraJapan2026-09-29Buckley Miller Wright UNQUALIFIED2Bernardo Dominic
1041Tony L BriddickIndia2026-09-27Feiner Bros QUALIFIED89Amy Elsner
1042Antonio C RoysterIndia2026-09-26Printing Dimensions QUALIFIED31Ioni Bowcher
1043Adams Z RoysterAustralia2026-10-16Dorl, James J Esq PROPOSAL5Xuxue Feng
1044Mujtaba C InouyeItaly2026-10-14Chanay, Jeffrey A Esq RENEWAL5Xuxue Feng
1045Smith V OstroskyGermany2026-09-20Commercial Press UNQUALIFIED73Onyama Limba
1046Leon S BowleyFrance2026-10-10King, Christopher A Esq NEGOTIATION38Anna Fali
1047James R GarufiRussia2026-10-01Feiner Bros UNQUALIFIED26Stephen Shaw
1048Ricardo P RulapaughAustralia2026-10-16Buckley Miller Wright QUALIFIED11Asiya Javayant
1049Smith A BowleyFrance2026-10-06King, Christopher A Esq NEW12Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Antonio W ButtArgentinaBernardo Dominic NEGOTIATION
Aditya S CaldareraIndiaIoni Bowcher QUALIFIED
Nicolas K VenereSpainAnna Fali UNQUALIFIED
Jeanfrancois E OstroskyBrazilStephen Shaw QUALIFIED
Salvatore M ChuiArgentinaAnna Fali PROPOSAL
David F VocelkaRussiaOnyama Limba NEW
Salvatore S NickaRussiaIoni Bowcher UNQUALIFIED
Chavez J CampainRussiaElwin Sharvill NEW
Silvio Z RoysterCanadaStephen Shaw QUALIFIED
Murillo J FollerCanadaOnyama Limba NEW
Emily I KuskoItalyOnyama Limba RENEWAL
Claire M MacleadUnited KingdomIoni Bowcher RENEWAL
Misaki P KuskoItalyIoni Bowcher QUALIFIED
Misaki D RoysterRussiaXuxue Feng UNQUALIFIED
Kaitlin Y KuskoFranceElwin Sharvill UNQUALIFIED
Isabel F ButtFranceAnna Fali QUALIFIED
Salvatore K StensethRussiaAsiya Javayant UNQUALIFIED
Rodrigues X ChuiIndiaXuxue Feng NEGOTIATION
Sinclair Q OstroskyItalyAsiya Javayant QUALIFIED
Jeanfrancois X ButtRussiaOnyama Limba QUALIFIED
Rodrigues Z SaylorsFranceElwin Sharvill NEGOTIATION
Mujtaba Q SergiRussiaStephen Shaw NEGOTIATION
James Z RutaIndiaStephen Shaw UNQUALIFIED
Ivar B GarufiJapanAnna Fali NEW
James P StensethIndiaOnyama Limba NEGOTIATION
Adams X PoquetteJapanBernardo Dominic NEW
Wickens K OstroskyFranceIoni Bowcher NEGOTIATION
Aruna X StockhamCanadaAsiya Javayant UNQUALIFIED
Tony U PerinUnited KingdomOnyama Limba RENEWAL
Clifford O FollerGermanyOnyama Limba NEGOTIATION
Juan D BowleyAustraliaIvan Magalhaes UNQUALIFIED
Adams F WhobreySpainXuxue Feng NEW
Mayumi Z IturbideBrazilIvan Magalhaes PROPOSAL
Maisha Y BriddickJapanElwin Sharvill NEGOTIATION
Ricardo J NickaAustraliaOnyama Limba QUALIFIED
Faith R PerinRussiaAsiya Javayant UNQUALIFIED
Francesco Q FollerArgentinaBernardo Dominic RENEWAL
Jennifer U ChuiArgentinaAmy Elsner UNQUALIFIED
Arvin Q MaletArgentinaIoni Bowcher NEGOTIATION
Izzy J ShinkoAustraliaBernardo Dominic PROPOSAL
Mujtaba F BologniaRussiaAmy Elsner RENEWAL
Leon K PerinCanadaBernardo Dominic UNQUALIFIED
Munro U RoysterAustraliaElwin Sharvill QUALIFIED
Adams X PerinSpainXuxue Feng NEGOTIATION
Smith X ButtItalyIvan Magalhaes RENEWAL
Wickens T SaylorsJapanBernardo Dominic RENEWAL
Munro C KuskoIndiaAmy Elsner NEGOTIATION
Arvin D RimGermanyAsiya Javayant QUALIFIED
Ashley Q OstroskyAustraliaXuxue Feng PROPOSAL
Nicolas Y GarufiCanadaOnyama Limba RENEWAL
Frozen Columns
Name
Rodrigues S Darakjy
Salvatore Q Sergi
Aika Y Schemmer
Aruna A Waycott
Jennifer L Marrier
Maria F Garufi
Murillo G Kusko
Jeanfrancois O Rulapaugh
Ivar X Waycott
Jennifer S Oldroyd
Johnson F Amigon
Sinclair V Ostrosky
Maria W Schemmer
Deepesh I Sergi
Darci P Sergi
Aika M Stenseth
Maria M Doe
Juan F Vocelka
Nicolas E Maclead
Mayumi F Poquette
Antonio Q Venere
Aika X Garufi
Murillo H Oldroyd
Adams W Kusko
Jeanfrancois Y Dilliard
Rodrigues I Butt
Smith F Figeroa
Jeanfrancois P Waycott
Ricardo W Bolognia
Smith C Briddick
Aika Q Gillian
Mujtaba T Amigon
Silvio Q Vocelka
Tony M Nicka
Murillo X Campain
Murillo H Ferencz
Izzy C Darakjy
Aika Q Marrier
Jefferson W Butt
Rodrigues A Poquette
Murillo P Waycott
Izzy P Caldarera
Jones X Perin
Salvatore V Whobrey
Jennifer G Wieser
Faith F Briddick
Arvin P Marrier
Wickens Y Paprocki
Jefferson L Saylors
Faith N Ferencz
IdCountryDate
1000United Kingdom2026-09-28
1001France2026-10-14
1002Argentina2026-09-27
1003Spain2026-09-22
1004Australia2026-10-09
1005France2026-10-18
1006France2026-10-05
1007France2026-10-06
1008Japan2026-10-13
1009Italy2026-10-05
1010India2026-09-19
1011Australia2026-09-23
1012Canada2026-10-17
1013Japan2026-09-22
1014Russia2026-09-27
1015Canada2026-10-10
1016France2026-10-02
1017Japan2026-10-15
1018Spain2026-10-06
1019Australia2026-09-20
1020Australia2026-10-08
1021Spain2026-10-01
1022Argentina2026-09-28
1023Argentina2026-10-09
1024India2026-09-22
1025France2026-09-26
1026Japan2026-09-28
1027France2026-10-18
1028Germany2026-10-12
1029Germany2026-09-23
1030France2026-10-08
1031Brazil2026-10-06
1032Brazil2026-10-11
1033Japan2026-09-24
1034Canada2026-10-10
1035Germany2026-10-13
1036France2026-10-10
1037Italy2026-10-01
1038Italy2026-10-09
1039India2026-10-15
1040Japan2026-09-19
1041United Kingdom2026-10-14
1042Italy2026-09-22
1043Japan2026-09-26
1044United Kingdom2026-09-20
1045Italy2026-09-22
1046United Kingdom2026-10-01
1047Argentina2026-09-30
1048Germany2026-10-12
1049Australia2026-10-02

On-Demand Data

NameIdCountryDate
Murillo O Darakjy1000United Kingdom2026-09-21
Faith U Nicka1001Canada2026-10-10
Greenwood D Caldarera1002Brazil2026-09-27
Chavez U Slusarski1003Spain2026-09-24
Silvio C Maclead1004Canada2026-10-07
Mayumi N Nestle1005Italy2026-10-13
Isabel C Schemmer1006Japan2026-10-06
Smith H Perin1007France2026-10-11
Mujtaba T Morasca1008Russia2026-10-18
Misaki I Gillian1009Australia2026-10-11
Wickens B Nicka1010Russia2026-10-08
Izzy B Dilliard1011Brazil2026-10-11
Maisha X Darakjy1012United Kingdom2026-09-26
Emily B Butt1013Germany2026-09-26
Octavia M Morasca1014India2026-09-27
Nicolas J Stenseth1015Italy2026-09-28
Jennifer T Marrier1016Russia2026-09-28
Ricardo G Saylors1017Brazil2026-10-06
Darci W Dilliard1018Canada2026-10-12
Jefferson U Waycott1019Germany2026-10-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Y RimIndiaAsiya Javayant UNQUALIFIED
Izzy M AlbaresAustraliaIvan Magalhaes RENEWAL
Faith A FlosiJapanAnna Fali UNQUALIFIED
Wickens V AmigonJapanStephen Shaw UNQUALIFIED
Juan Q RulapaughSpainIvan Magalhaes PROPOSAL
Stacey O GillianSpainElwin Sharvill QUALIFIED
Julie K DoeArgentinaOnyama Limba RENEWAL
Antonio N VenereGermanyIoni Bowcher RENEWAL
Kadeem R FollerAustraliaXuxue Feng UNQUALIFIED
Salvatore D MaletCanadaElwin Sharvill NEGOTIATION
Maria N ButtArgentinaStephen Shaw RENEWAL
Maisha M StensethBrazilOnyama Limba PROPOSAL
Silvio J VenereSpainAsiya Javayant NEW
Deepesh E MacleadUnited KingdomXuxue Feng UNQUALIFIED
Wickens F VenereItalyIoni Bowcher UNQUALIFIED
Costa S InouyeGermanyIoni Bowcher QUALIFIED
Antonio Y MarrierBrazilElwin Sharvill NEW
Faith Y ButtFranceAsiya Javayant NEGOTIATION
Tony D IturbideCanadaIvan Magalhaes UNQUALIFIED
Jones E GlickAustraliaOnyama Limba QUALIFIED
Clifford Q DilliardUnited KingdomElwin Sharvill NEW
Mayumi O FigeroaArgentinaXuxue Feng PROPOSAL
Smith N FerenczGermanyAsiya Javayant QUALIFIED
Silvio F VocelkaSpainAnna Fali NEGOTIATION
Darci Q CaudyItalyIoni Bowcher QUALIFIED
Smith Y KuskoArgentinaAmy Elsner RENEWAL
Mayumi C MaletAustraliaXuxue Feng UNQUALIFIED
Julie Q OstroskyIndiaBernardo Dominic NEGOTIATION
Cody N SergiFranceXuxue Feng RENEWAL
Leon Y TollnerIndiaBernardo Dominic NEW
Maria R NickaAustraliaOnyama Limba RENEWAL
Morrow S TollnerSpainStephen Shaw NEGOTIATION
Faith T StockhamCanadaXuxue Feng QUALIFIED
Maisha A AlbaresCanadaAsiya Javayant NEW
Munro L VocelkaIndiaXuxue Feng QUALIFIED
Faith O GarufiJapanBernardo Dominic NEGOTIATION
Mayumi L StockhamRussiaAsiya Javayant QUALIFIED
Maria Z PerinUnited KingdomIvan Magalhaes QUALIFIED
Chavez W PerinItalyIoni Bowcher RENEWAL
Jefferson B AmigonArgentinaIoni 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>