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
Jeanfrancois Z NickaUnited KingdomStephen Shaw PROPOSAL
James W BologniaSpainIoni Bowcher UNQUALIFIED
Greenwood Q PerinFranceStephen Shaw QUALIFIED
Kaitlin E GauchoAustraliaAnna Fali NEGOTIATION
Jefferson A MaletGermanyAsiya Javayant RENEWAL
Arvin T BriddickUnited KingdomAnna Fali NEGOTIATION
Kaitlin O VenereBrazilStephen Shaw PROPOSAL
Nicolas L TollnerArgentinaIvan Magalhaes NEW
Silvio M NestleIndiaOnyama Limba NEGOTIATION
Leon Q TollnerUnited KingdomElwin Sharvill RENEWAL
Aditya I SergiUnited KingdomOnyama Limba NEGOTIATION
Octavia K GillianIndiaAmy Elsner QUALIFIED
James N DoeUnited KingdomIoni Bowcher NEW
Faith K KuskoFranceAnna Fali RENEWAL
Smith S RutaRussiaStephen Shaw NEGOTIATION
Claire C StockhamGermanyBernardo Dominic PROPOSAL
Antonio I GauchoBrazilStephen Shaw NEGOTIATION
Jeanfrancois U SchemmerAustraliaOnyama Limba NEGOTIATION
Jones M ButtUnited KingdomStephen Shaw UNQUALIFIED
Morrow B FollerAustraliaAsiya Javayant PROPOSAL
Adams I BowleyBrazilBernardo Dominic QUALIFIED
Kaitlin M FerenczUnited KingdomAmy Elsner RENEWAL
Faith X PoquetteItalyAnna Fali PROPOSAL
Arvin V DarakjyItalyAsiya Javayant PROPOSAL
Mayumi J GarufiGermanyOnyama Limba RENEWAL
Ashley Y MacleadUnited KingdomAsiya Javayant NEW
Adams X MacleadGermanyElwin Sharvill PROPOSAL
Maria E NestleGermanyXuxue Feng NEGOTIATION
Johnson H StockhamJapanAnna Fali QUALIFIED
James W ChuiIndiaXuxue Feng QUALIFIED
Faith G NestleGermanyXuxue Feng RENEWAL
Francesco B RoysterItalyOnyama Limba UNQUALIFIED
Leon Y PerinFranceElwin Sharvill NEW
Ricardo Y MarrierFranceXuxue Feng RENEWAL
Misaki O FollerUnited KingdomXuxue Feng UNQUALIFIED
Costa R BologniaJapanElwin Sharvill UNQUALIFIED
Costa J RoysterRussiaBernardo Dominic RENEWAL
Julie S RoysterUnited KingdomXuxue Feng NEW
Aditya O SergiGermanyAnna Fali UNQUALIFIED
Silvio N KolmetzGermanyBernardo Dominic UNQUALIFIED
Aika W CampainIndiaOnyama Limba NEW
Mujtaba R AlbaresGermanyBernardo Dominic UNQUALIFIED
Sinclair V BologniaAustraliaAnna Fali UNQUALIFIED
Aditya V DarakjyCanadaIvan Magalhaes NEGOTIATION
Wickens B MaletItalyOnyama Limba QUALIFIED
Izzy U ChuiUnited KingdomOnyama Limba PROPOSAL
Ashley K NestleRussiaXuxue Feng NEW
Leja R BriddickUnited KingdomOnyama Limba RENEWAL
Leja I WaycottUnited KingdomOnyama Limba NEW
Deepesh R SchemmerGermanyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo K AlbaresAustraliaElwin Sharvill NEGOTIATION
Salvatore I DoeGermanyBernardo Dominic NEGOTIATION
James W BowleyUnited KingdomIoni Bowcher NEGOTIATION
Jones Y SchemmerUnited KingdomBernardo Dominic PROPOSAL
Emily V MarrierAustraliaAsiya Javayant RENEWAL
Maisha B MorascaAustraliaStephen Shaw QUALIFIED
Cody B MaletAustraliaXuxue Feng PROPOSAL
Stacey U TollnerArgentinaXuxue Feng NEW
Deepesh V OstroskyFranceOnyama Limba NEGOTIATION
Salvatore V FerenczRussiaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo S FollerSpain2026-09-16Morlong Associates NEGOTIATION58Ioni Bowcher
1001Julie S GarufiUnited Kingdom2026-10-03Chapman, Ross E Esq QUALIFIED13Xuxue Feng
1002Ivar X PaprockiUnited Kingdom2026-10-01Rousseaux, Michael Esq PROPOSAL9Anna Fali
1003Adams P WieserCanada2026-09-16Chemel, James L Cpa NEGOTIATION6Bernardo Dominic
1004Jennifer T CaudySpain2026-10-01Feltz Printing Service NEGOTIATION78Bernardo Dominic
1005Nicolas U IturbideItaly2026-10-04Buckley Miller Wright RENEWAL35Anna Fali
1006Mayumi S FerenczArgentina2026-09-24Dorl, James J Esq QUALIFIED87Amy Elsner
1007Costa V BowleyIndia2026-10-06Rangoni Of Florence QUALIFIED9Amy Elsner
1008Adams R IturbideFrance2026-10-13Rousseaux, Michael Esq QUALIFIED91Bernardo Dominic
1009David R WhobreyUnited Kingdom2026-09-22Buckley Miller Wright NEW8Ivan Magalhaes
1010Darci R StensethAustralia2026-09-19Feltz Printing Service NEGOTIATION86Anna Fali
1011Antonio E SergiCanada2026-10-04Feltz Printing Service NEGOTIATION44Elwin Sharvill
1012Antonio X GauchoUnited Kingdom2026-10-07Truhlar And Truhlar Attys RENEWAL1Anna Fali
1013Clifford Y MarrierUnited Kingdom2026-10-05Chapman, Ross E Esq PROPOSAL25Onyama Limba
1014Maria L GlickAustralia2026-10-02Morlong Associates UNQUALIFIED37Amy Elsner
1015Jones B SchemmerGermany2026-09-21Buckley Miller Wright RENEWAL74Asiya Javayant
1016Mujtaba I MarrierCanada2026-10-10Rousseaux, Michael Esq QUALIFIED98Amy Elsner
1017Smith A NickaItaly2026-09-26Truhlar And Truhlar Attys UNQUALIFIED71Asiya Javayant
1018Octavia P DoeCanada2026-10-13Feiner Bros NEW46Elwin Sharvill
1019Ivar E CampainArgentina2026-10-08Rangoni Of Florence QUALIFIED13Amy Elsner
1020Claire J VocelkaCanada2026-09-23King, Christopher A Esq UNQUALIFIED4Ivan Magalhaes
1021Octavia M KolmetzSpain2026-09-24King, Christopher A Esq RENEWAL51Elwin Sharvill
1022Munro Y ChuiArgentina2026-10-07Printing Dimensions RENEWAL48Stephen Shaw
1023Munro T DarakjyUnited Kingdom2026-09-16Feltz Printing Service UNQUALIFIED74Bernardo Dominic
1024Rodrigues R CaldareraItaly2026-10-11Buckley Miller Wright PROPOSAL97Xuxue Feng
1025Salvatore K IturbideRussia2026-10-10Chanay, Jeffrey A Esq UNQUALIFIED24Onyama Limba
1026Smith O WieserJapan2026-10-10Truhlar And Truhlar Attys UNQUALIFIED42Stephen Shaw
1027Misaki F StockhamItaly2026-10-07Commercial Press UNQUALIFIED5Stephen Shaw
1028Julie S InouyeItaly2026-10-05Rangoni Of Florence RENEWAL84Onyama Limba
1029Ashley Q MacleadCanada2026-09-19Chapman, Ross E Esq RENEWAL19Bernardo Dominic
1030Leon D AlbaresGermany2026-10-07Dorl, James J Esq RENEWAL52Elwin Sharvill
1031Isabel V MacleadItaly2026-10-08Chapman, Ross E Esq NEW88Asiya Javayant
1032Julie J NestleJapan2026-09-29Printing Dimensions QUALIFIED50Amy Elsner
1033Wickens X GarufiUnited Kingdom2026-09-22Dorl, James J Esq QUALIFIED5Onyama Limba
1034Claire Q SlusarskiRussia2026-10-07Commercial Press PROPOSAL78Ioni Bowcher
1035Adams C SchemmerCanada2026-10-13Dorl, James J Esq QUALIFIED78Onyama Limba
1036Mujtaba Z PoquetteBrazil2026-10-01Truhlar And Truhlar Attys UNQUALIFIED53Ivan Magalhaes
1037Kadeem K OstroskyRussia2026-09-25Chapman, Ross E Esq RENEWAL14Elwin Sharvill
1038Stacey Z FlosiBrazil2026-10-08Commercial Press NEGOTIATION61Xuxue Feng
1039Misaki O FlosiCanada2026-09-25Commercial Press UNQUALIFIED86Amy Elsner
1040David V WaycottCanada2026-10-13Buckley Miller Wright QUALIFIED36Ivan Magalhaes
1041Silvio T RulapaughArgentina2026-10-03Rousseaux, Michael Esq UNQUALIFIED59Onyama Limba
1042Mayumi N InouyeRussia2026-09-29Truhlar And Truhlar Attys RENEWAL75Bernardo Dominic
1043Adams Y MacleadIndia2026-09-16Benton, John B Jr UNQUALIFIED45Elwin Sharvill
1044Octavia D FollerRussia2026-09-27Printing Dimensions UNQUALIFIED10Stephen Shaw
1045Leja B NickaArgentina2026-09-14Printing Dimensions NEGOTIATION87Onyama Limba
1046Isabel I MaletCanada2026-09-19King, Christopher A Esq UNQUALIFIED73Anna Fali
1047Jennifer L GlickItaly2026-10-01Feltz Printing Service PROPOSAL83Anna Fali
1048Tony O DilliardItaly2026-09-21Chemel, James L Cpa NEW61Stephen Shaw
1049Octavia L GauchoItaly2026-09-26Buckley Miller Wright PROPOSAL21Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Murillo Z ChuiArgentinaIvan Magalhaes NEGOTIATION
Francesco P ShinkoGermanyAmy Elsner UNQUALIFIED
Wickens F BriddickCanadaElwin Sharvill PROPOSAL
Jennifer U KolmetzGermanyElwin Sharvill PROPOSAL
Octavia S CaudyItalyStephen Shaw PROPOSAL
Smith I MaletSpainStephen Shaw NEW
Leja I WaycottAustraliaAsiya Javayant NEW
Faith U RutaGermanyAmy Elsner NEGOTIATION
Silvio O ButtUnited KingdomIvan Magalhaes NEW
Aditya Q AmigonUnited KingdomOnyama Limba UNQUALIFIED
David P RutaSpainBernardo Dominic NEW
Mayumi A VenereFranceAsiya Javayant QUALIFIED
Arvin A MorascaUnited KingdomAsiya Javayant UNQUALIFIED
Morrow S IturbideGermanyXuxue Feng QUALIFIED
Stacey P VenereCanadaXuxue Feng QUALIFIED
Wickens X OstroskyCanadaIvan Magalhaes NEW
Claire J ButtSpainBernardo Dominic UNQUALIFIED
Ivar R PaprockiUnited KingdomBernardo Dominic NEGOTIATION
Aika T RutaJapanOnyama Limba PROPOSAL
Jeanfrancois S MaletJapanIvan Magalhaes UNQUALIFIED
Kadeem F GlickSpainAnna Fali NEGOTIATION
Jennifer G KuskoUnited KingdomAnna Fali NEW
Misaki C VenereBrazilAmy Elsner UNQUALIFIED
Greenwood N VenereArgentinaAnna Fali QUALIFIED
Arvin X GauchoItalyAnna Fali UNQUALIFIED
Aika T AmigonUnited KingdomAnna Fali QUALIFIED
Maria Z SergiBrazilXuxue Feng PROPOSAL
Francesco Z MorascaSpainIvan Magalhaes NEGOTIATION
Misaki G DoeJapanAmy Elsner QUALIFIED
Murillo B MacleadItalyXuxue Feng NEW
Chavez W AmigonIndiaAsiya Javayant PROPOSAL
Juan B DarakjyCanadaXuxue Feng QUALIFIED
James A RutaUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin T TollnerArgentinaAsiya Javayant NEGOTIATION
David B MarrierUnited KingdomXuxue Feng NEGOTIATION
Ivar I RimSpainOnyama Limba NEW
Emily Q DoeFranceAsiya Javayant NEGOTIATION
Jeanfrancois H RimIndiaIoni Bowcher NEGOTIATION
Francesco G FerenczGermanyElwin Sharvill NEGOTIATION
Nicolas R StensethGermanyIvan Magalhaes UNQUALIFIED
Chavez P BriddickItalyElwin Sharvill UNQUALIFIED
Clifford L AlbaresArgentinaIoni Bowcher PROPOSAL
Mujtaba O FollerItalyAmy Elsner RENEWAL
Misaki H GillianJapanAnna Fali PROPOSAL
Ricardo Z WaycottGermanyElwin Sharvill RENEWAL
Alejandro P MorascaArgentinaIoni Bowcher NEGOTIATION
Sinclair N KolmetzIndiaStephen Shaw NEGOTIATION
Sinclair Z TollnerGermanyElwin Sharvill NEGOTIATION
Murillo C DilliardIndiaAnna Fali PROPOSAL
Emily N AlbaresFranceAnna Fali RENEWAL
Frozen Columns
Name
Jefferson W Malet
Kaitlin Z Figeroa
Misaki S Gillian
Antonio Q Venere
Clifford S Maclead
Julie R Nestle
Ivar A Morasca
Darci C Figeroa
Aruna R Figeroa
Morrow Z Darakjy
Ashley U Ruta
Chavez P Caudy
James B Venere
Nicolas O Amigon
Jones Y Stockham
Johnson Q Marrier
Jones X Morasca
Leon T Garufi
Ashley R Ruta
Ricardo E Schemmer
Nicolas A Nicka
Antonio Q Caldarera
Chavez Q Kusko
Alejandro T Rim
Maria K Saylors
Wickens N Kusko
Smith C Gaucho
Morrow S Inouye
Mayumi B Campain
Izzy I Rulapaugh
Octavia L Sergi
Izzy J Morasca
Aruna D Kolmetz
Johnson V Ostrosky
Maria J Wieser
Leon Q Kusko
Misaki W Malet
Deepesh V Nicka
Kaitlin T Chui
Jennifer L Butt
Juan K Slusarski
Costa V Perin
Ivar R Caldarera
Johnson N Rulapaugh
Chavez X Stockham
Aruna U Amigon
David R Whobrey
Mujtaba E Malet
James P Ruta
Emily J Rulapaugh
IdCountryDate
1000Japan2026-09-17
1001Australia2026-09-23
1002Canada2026-09-25
1003Australia2026-09-29
1004France2026-10-04
1005Japan2026-10-08
1006Japan2026-09-29
1007France2026-10-11
1008Australia2026-10-09
1009India2026-09-24
1010Italy2026-10-05
1011Italy2026-09-17
1012Russia2026-10-02
1013Spain2026-10-12
1014France2026-09-20
1015Russia2026-10-07
1016France2026-09-21
1017Germany2026-10-12
1018Canada2026-09-23
1019Brazil2026-09-14
1020Argentina2026-09-27
1021United Kingdom2026-10-02
1022Germany2026-10-09
1023Spain2026-09-28
1024Japan2026-10-05
1025Australia2026-09-30
1026Germany2026-10-09
1027Brazil2026-09-25
1028United Kingdom2026-09-17
1029Spain2026-09-15
1030France2026-09-24
1031Russia2026-10-01
1032Canada2026-10-13
1033Argentina2026-10-10
1034Australia2026-10-09
1035Brazil2026-10-03
1036India2026-09-22
1037India2026-09-22
1038United Kingdom2026-10-10
1039Germany2026-09-25
1040Russia2026-09-26
1041Brazil2026-09-30
1042Italy2026-09-27
1043Japan2026-09-18
1044Spain2026-10-08
1045Australia2026-10-06
1046Germany2026-09-25
1047Argentina2026-09-26
1048India2026-09-30
1049Canada2026-09-17

On-Demand Data

NameIdCountryDate
Aruna T Marrier1000Argentina2026-10-04
Aruna K Shinko1001France2026-09-20
David V Flosi1002India2026-10-13
Misaki Z Albares1003Spain2026-09-17
Izzy N Malet1004Italy2026-09-25
Antonio M Maclead1005Italy2026-09-15
Isabel A Darakjy1006Canada2026-09-21
Sinclair L Iturbide1007Japan2026-09-18
Nicolas K Sergi1008Japan2026-10-13
Jennifer W Marrier1009Argentina2026-09-14
Emily T Doe1010United Kingdom2026-09-26
Silvio F Iturbide1011United Kingdom2026-09-30
Faith U Glick1012Italy2026-10-07
Jones F Caudy1013Japan2026-10-01
Jennifer S Dilliard1014Brazil2026-10-10
Munro K Marrier1015Australia2026-10-07
Ivar W Ruta1016India2026-10-10
Maisha K Whobrey1017Germany2026-09-30
Sinclair D Albares1018France2026-10-13
Costa M Nestle1019Germany2026-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith D PerinGermanyAsiya Javayant NEGOTIATION
David P FigeroaAustraliaStephen Shaw NEGOTIATION
Clifford Z PaprockiJapanIvan Magalhaes RENEWAL
Maria Q MacleadGermanyIoni Bowcher RENEWAL
Alejandro Z DarakjyArgentinaElwin Sharvill NEGOTIATION
Maisha E CaudyIndiaElwin Sharvill PROPOSAL
Maisha I SergiItalyBernardo Dominic NEW
Chavez F BologniaSpainOnyama Limba RENEWAL
Mujtaba Q StensethAustraliaBernardo Dominic NEGOTIATION
Silvio S OstroskyJapanAsiya Javayant NEW
Tony C RoysterUnited KingdomAsiya Javayant NEW
Francesco F RimBrazilStephen Shaw PROPOSAL
Leon K IturbideIndiaElwin Sharvill RENEWAL
Sinclair L WieserGermanyXuxue Feng PROPOSAL
Maria D GarufiFranceIvan Magalhaes PROPOSAL
Greenwood Z BologniaCanadaIoni Bowcher NEGOTIATION
Jeanfrancois E RulapaughFranceStephen Shaw PROPOSAL
Morrow B MaletAustraliaIvan Magalhaes NEW
Emily U DoeAustraliaXuxue Feng QUALIFIED
Antonio D KolmetzAustraliaStephen Shaw RENEWAL
Sinclair H PerinItalyIvan Magalhaes PROPOSAL
Jeanfrancois A StensethRussiaBernardo Dominic NEGOTIATION
Stacey G GauchoSpainIoni Bowcher QUALIFIED
Claire F GlickRussiaStephen Shaw PROPOSAL
Claire B KolmetzAustraliaXuxue Feng QUALIFIED
Julie M MarrierArgentinaAmy Elsner RENEWAL
Faith W RoysterFranceAsiya Javayant PROPOSAL
Leon U WieserJapanAmy Elsner RENEWAL
Darci J BologniaArgentinaIoni Bowcher QUALIFIED
Isabel E AmigonIndiaIvan Magalhaes PROPOSAL
Leja W ButtSpainOnyama Limba PROPOSAL
Murillo N KolmetzIndiaIoni Bowcher NEW
Francesco Q MacleadIndiaIoni Bowcher QUALIFIED
Francesco O MarrierIndiaElwin Sharvill RENEWAL
Jeanfrancois C NickaGermanyAnna Fali NEW
Greenwood T BriddickCanadaStephen Shaw NEGOTIATION
Aika S SlusarskiJapanElwin Sharvill NEGOTIATION
Maria W RutaIndiaOnyama Limba NEGOTIATION
Misaki X MaletRussiaAnna Fali NEW
Cody K MacleadItalyAnna Fali 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>