Locale

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Bangla
Bosnian
Czech
Greek
Estonian
Persian
Finnish
Danish
Hindi
Indonesian
Icelandic
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

Free Themes

Built-in component themes created by the PrimeFaces Theme Designer.

Saga Saga
Vela Vela
Arya Arya

Legacy Free Themes

Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink
Nova Nova
Nova Nova Alt
Nova Nova Accent

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Jennifer AmigonCanadaAsiya Javayant PROPOSAL
Adams MorascaUnited KingdomAnna Fali QUALIFIED
Adams MorascaRussiaBernardo Dominic UNQUALIFIED
Stacey MacleadUnited KingdomStephen Shaw QUALIFIED
Juan WieserAustraliaAnna Fali PROPOSAL
David DarakjyItalyAnna Fali NEW
Antonio CaudyArgentinaAmy Elsner NEW
Chavez BriddickSpainAmy Elsner QUALIFIED
Tony FollerRussiaIvan Magalhaes QUALIFIED
Adams MorascaBrazilOnyama Limba NEW
Jennifer AmigonItalyXuxue Feng PROPOSAL
Deepesh ChuiJapanAsiya Javayant NEW
Mujtaba NickaSpainIoni Bowcher NEW
Julie StensethCanadaAmy Elsner RENEWAL
Aditya KuskoItalyStephen Shaw RENEWAL
Mujtaba NickaUnited KingdomAmy Elsner UNQUALIFIED
Misaki RoysterIndiaAnna Fali UNQUALIFIED
James ButtRussiaAmy Elsner NEGOTIATION
Mayumi KolmetzArgentinaOnyama Limba NEGOTIATION
Antonio CaudyFranceBernardo Dominic NEW
Costa DilliardJapanAmy Elsner RENEWAL
Emily WhobreyCanadaXuxue Feng RENEWAL
David DarakjyItalyOnyama Limba PROPOSAL
Jones VocelkaRussiaBernardo Dominic NEGOTIATION
Adams MorascaRussiaIoni Bowcher NEW
Misaki RoysterCanadaIvan Magalhaes QUALIFIED
Francesco ShinkoJapanIvan Magalhaes NEW
Juan WieserUnited KingdomIoni Bowcher NEW
Misaki RoysterIndiaAmy Elsner NEW
Nicolas IturbideItalyIvan Magalhaes RENEWAL
Mujtaba NickaBrazilAmy Elsner PROPOSAL
Deepesh ChuiRussiaBernardo Dominic QUALIFIED
Mayumi KolmetzGermanyElwin Sharvill UNQUALIFIED
Greenwood BologniaArgentinaXuxue Feng RENEWAL
Sinclair WaycottSpainElwin Sharvill PROPOSAL
Antonio CaudyCanadaAsiya Javayant NEW
Jefferson SchemmerFranceBernardo Dominic QUALIFIED
Francesco ShinkoCanadaOnyama Limba UNQUALIFIED
Aditya KuskoArgentinaAsiya Javayant RENEWAL
Greenwood BologniaRussiaAnna Fali NEW
Leja CaldareraUnited KingdomAsiya Javayant NEW
Sinclair WaycottGermanyStephen Shaw UNQUALIFIED
Claire TollnerBrazilAnna Fali PROPOSAL
Costa DilliardAustraliaAnna Fali UNQUALIFIED
Maisha RulapaughIndiaIoni Bowcher PROPOSAL
Deepesh ChuiUnited KingdomStephen Shaw NEW
Ricardo GauchoCanadaAsiya Javayant UNQUALIFIED
Jeanfrancois VenereGermanyOnyama Limba UNQUALIFIED
Adams MorascaBrazilXuxue Feng QUALIFIED
Ricardo GauchoIndiaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Misaki RoysterAustraliaStephen Shaw QUALIFIED
Misaki RoysterBrazilStephen Shaw NEGOTIATION
Silvio SlusarskiGermanyXuxue Feng NEW
Ivar PaprockiBrazilAmy Elsner UNQUALIFIED
Jeanfrancois VenereFranceBernardo Dominic UNQUALIFIED
Aika InouyeGermanyElwin Sharvill PROPOSAL
Ashley DoeFranceOnyama Limba UNQUALIFIED
Jennifer AmigonSpainXuxue Feng UNQUALIFIED
Aditya KuskoArgentinaXuxue Feng UNQUALIFIED
Claire TollnerRussiaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson SchemmerItaly2026-05-21Dorl, James J Esq UNQUALIFIED31Anna Fali
1001Jones VocelkaSpain2026-05-27Chanay, Jeffrey A Esq NEW43Stephen Shaw
1002Costa DilliardUnited Kingdom2026-05-21Rangoni Of Florence NEW30Asiya Javayant
1003Julie StensethJapan2026-06-06Chapman, Ross E Esq NEW84Anna Fali
1004Darci PoquetteSpain2026-05-11Feltz Printing Service QUALIFIED6Stephen Shaw
1005Jefferson SchemmerSpain2026-05-25Commercial Press NEW47Onyama Limba
1006Sinclair WaycottCanada2026-06-01Morlong Associates UNQUALIFIED69Amy Elsner
1007Arvin AlbaresUnited Kingdom2026-06-04Feltz Printing Service RENEWAL88Ioni Bowcher
1008Mujtaba NickaIndia2026-05-27King, Christopher A Esq NEW17Elwin Sharvill
1009Leja CaldareraItaly2026-05-17Truhlar And Truhlar Attys NEW62Amy Elsner
1010Adams MorascaUnited Kingdom2026-05-21Morlong Associates NEW23Stephen Shaw
1011Kaitlin OstroskyGermany2026-05-14Truhlar And Truhlar Attys QUALIFIED80Amy Elsner
1012Chavez BriddickCanada2026-05-12Chanay, Jeffrey A Esq NEGOTIATION37Amy Elsner
1013Ashley DoeSpain2026-05-24Commercial Press QUALIFIED70Ivan Magalhaes
1014James ButtBrazil2026-05-12Benton, John B Jr NEW58Anna Fali
1015Leja CaldareraItaly2026-05-10Feiner Bros RENEWAL17Elwin Sharvill
1016Emily WhobreyGermany2026-05-12Chemel, James L Cpa NEW38Elwin Sharvill
1017James ButtJapan2026-06-06Feltz Printing Service RENEWAL40Elwin Sharvill
1018Adams MorascaJapan2026-05-27Chemel, James L Cpa RENEWAL45Anna Fali
1019Darci PoquetteFrance2026-05-23King, Christopher A Esq RENEWAL5Asiya Javayant
1020Aruna FigeroaSpain2026-05-27Buckley Miller Wright RENEWAL28Asiya Javayant
1021Julie StensethRussia2026-06-07Dorl, James J Esq PROPOSAL55Amy Elsner
1022Ivar PaprockiIndia2026-06-02Printing Dimensions UNQUALIFIED53Stephen Shaw
1023Jefferson SchemmerGermany2026-06-06Commercial Press NEGOTIATION61Anna Fali
1024Faith GillianIndia2026-05-23Truhlar And Truhlar Attys PROPOSAL10Xuxue Feng
1025James ButtAustralia2026-05-31Feltz Printing Service UNQUALIFIED18Onyama Limba
1026Claire TollnerFrance2026-05-10Rousseaux, Michael Esq RENEWAL92Asiya Javayant
1027Julie StensethArgentina2026-06-05Chanay, Jeffrey A Esq RENEWAL40Anna Fali
1028Greenwood BologniaCanada2026-05-23Chemel, James L Cpa PROPOSAL23Xuxue Feng
1029Alejandro PerinUnited Kingdom2026-05-11Truhlar And Truhlar Attys NEGOTIATION35Xuxue Feng
1030Jeanfrancois VenereGermany2026-05-13Truhlar And Truhlar Attys UNQUALIFIED85Stephen Shaw
1031Izzy GarufiItaly2026-05-22Rangoni Of Florence RENEWAL99Stephen Shaw
1032Faith GillianRussia2026-05-30Benton, John B Jr QUALIFIED85Ioni Bowcher
1033David DarakjyJapan2026-06-02Chapman, Ross E Esq RENEWAL67Onyama Limba
1034Alejandro PerinBrazil2026-06-07Dorl, James J Esq RENEWAL54Amy Elsner
1035Antonio CaudyFrance2026-05-26Rangoni Of Florence QUALIFIED12Onyama Limba
1036Greenwood BologniaArgentina2026-05-25Benton, John B Jr PROPOSAL29Bernardo Dominic
1037Rodrigues CampainJapan2026-06-02Dorl, James J Esq UNQUALIFIED14Stephen Shaw
1038Aditya KuskoArgentina2026-05-12King, Christopher A Esq QUALIFIED48Xuxue Feng
1039Kaitlin OstroskyAustralia2026-05-22Feltz Printing Service PROPOSAL48Ioni Bowcher
1040Ivar PaprockiJapan2026-06-02Commercial Press UNQUALIFIED95Ivan Magalhaes
1041Cody SaylorsCanada2026-05-25Buckley Miller Wright RENEWAL81Anna Fali
1042Leon OldroydItaly2026-05-24Rangoni Of Florence NEGOTIATION43Anna Fali
1043David DarakjySpain2026-05-16Dorl, James J Esq QUALIFIED55Bernardo Dominic
1044Adams MorascaIndia2026-05-11Feiner Bros NEW14Xuxue Feng
1045Chavez BriddickRussia2026-05-15Chanay, Jeffrey A Esq NEGOTIATION67Amy Elsner
1046Clifford RimBrazil2026-05-13Chapman, Ross E Esq QUALIFIED10Stephen Shaw
1047Juan WieserArgentina2026-05-27Dorl, James J Esq UNQUALIFIED32Ivan Magalhaes
1048Emily WhobreyCanada2026-06-05Morlong Associates UNQUALIFIED28Amy Elsner
1049David DarakjyJapan2026-05-09Chemel, James L Cpa NEW11Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Arvin AlbaresItalyBernardo Dominic NEGOTIATION
Costa DilliardUnited KingdomBernardo Dominic PROPOSAL
Darci PoquetteItalyElwin Sharvill UNQUALIFIED
Aditya KuskoUnited KingdomElwin Sharvill QUALIFIED
Deepesh ChuiAustraliaIvan Magalhaes NEW
Deepesh ChuiJapanBernardo Dominic UNQUALIFIED
Leon OldroydUnited KingdomAnna Fali NEW
Greenwood BologniaGermanyOnyama Limba UNQUALIFIED
Costa DilliardCanadaElwin Sharvill PROPOSAL
Mayumi KolmetzJapanOnyama Limba UNQUALIFIED
Misaki RoysterGermanyBernardo Dominic NEGOTIATION
Ashley DoeUnited KingdomElwin Sharvill PROPOSAL
Izzy GarufiIndiaXuxue Feng NEW
Antonio CaudySpainIoni Bowcher NEW
Mayumi KolmetzItalyAmy Elsner QUALIFIED
Tony FollerSpainStephen Shaw RENEWAL
Juan WieserGermanyStephen Shaw UNQUALIFIED
Deepesh ChuiGermanyAmy Elsner NEW
Clifford RimRussiaOnyama Limba UNQUALIFIED
Johnson SergiCanadaElwin Sharvill NEW
Isabel BowleyAustraliaAnna Fali RENEWAL
Jefferson SchemmerRussiaStephen Shaw PROPOSAL
Murillo MaletSpainAmy Elsner QUALIFIED
Arvin AlbaresRussiaStephen Shaw RENEWAL
Ivar PaprockiBrazilBernardo Dominic NEW
Nicolas IturbideCanadaXuxue Feng NEGOTIATION
Silvio SlusarskiSpainAmy Elsner NEGOTIATION
Adams MorascaRussiaIvan Magalhaes PROPOSAL
Maisha RulapaughBrazilElwin Sharvill NEW
Clifford RimJapanAmy Elsner PROPOSAL
Jeanfrancois VenereItalyIoni Bowcher UNQUALIFIED
Jennifer AmigonSpainIoni Bowcher RENEWAL
Izzy GarufiFranceOnyama Limba PROPOSAL
Munro FerenczCanadaAmy Elsner RENEWAL
Jefferson SchemmerBrazilOnyama Limba NEW
Ricardo GauchoGermanyOnyama Limba QUALIFIED
Wickens NestleRussiaIvan Magalhaes PROPOSAL
Adams MorascaBrazilAnna Fali NEGOTIATION
Emily WhobreySpainAnna Fali NEW
Morrow RutaGermanyAmy Elsner QUALIFIED
Greenwood BologniaIndiaXuxue Feng NEGOTIATION
Ricardo GauchoGermanyAsiya Javayant NEW
Smith GlickRussiaAmy Elsner NEGOTIATION
Sinclair WaycottAustraliaAmy Elsner NEGOTIATION
Silvio SlusarskiGermanyBernardo Dominic UNQUALIFIED
Salvatore StockhamIndiaIoni Bowcher RENEWAL
Salvatore StockhamItalyOnyama Limba RENEWAL
Munro FerenczItalyAsiya Javayant RENEWAL
Morrow RutaBrazilAnna Fali NEGOTIATION
Morrow RutaIndiaIoni Bowcher PROPOSAL
Frozen Columns
Name
Aruna Figeroa
Alejandro Perin
Tony Foller
Emily Whobrey
Kadeem Flosi
Leja Caldarera
Tony Foller
Salvatore Stockham
Leja Caldarera
Maria Marrier
Ricardo Gaucho
Cody Saylors
Rodrigues Campain
Morrow Ruta
Claire Tollner
Antonio Caudy
Johnson Sergi
Francesco Shinko
Rodrigues Campain
Sinclair Waycott
Deepesh Chui
Alejandro Perin
Clifford Rim
Isabel Bowley
Leja Caldarera
Aika Inouye
Francesco Shinko
Maria Marrier
Aika Inouye
Costa Dilliard
Misaki Royster
Costa Dilliard
Maisha Rulapaugh
Mayumi Kolmetz
Arvin Albares
Murillo Malet
Claire Tollner
Rodrigues Campain
Stacey Maclead
Alejandro Perin
Wickens Nestle
Maisha Rulapaugh
Deepesh Chui
Maria Marrier
David Darakjy
Isabel Bowley
Jones Vocelka
Leja Caldarera
Darci Poquette
Kadeem Flosi
IdCountryDate
1000France2026-05-19
1001Germany2026-05-26
1002United Kingdom2026-06-02
1003Japan2026-06-06
1004Italy2026-06-06
1005Russia2026-05-14
1006Brazil2026-06-07
1007Canada2026-05-22
1008Italy2026-06-06
1009Brazil2026-05-23
1010Russia2026-06-02
1011Australia2026-05-16
1012Brazil2026-06-06
1013Canada2026-05-30
1014Brazil2026-05-10
1015France2026-05-11
1016Japan2026-05-24
1017United Kingdom2026-05-10
1018Germany2026-05-20
1019Japan2026-06-01
1020Brazil2026-05-19
1021Brazil2026-05-09
1022Argentina2026-06-05
1023Argentina2026-05-12
1024United Kingdom2026-05-28
1025Russia2026-05-10
1026Japan2026-05-14
1027India2026-06-03
1028United Kingdom2026-05-11
1029Italy2026-06-04
1030Italy2026-06-07
1031Argentina2026-05-31
1032Brazil2026-05-29
1033Australia2026-05-28
1034Brazil2026-05-31
1035Spain2026-05-30
1036India2026-05-19
1037Russia2026-05-11
1038France2026-05-14
1039Spain2026-05-24
1040Germany2026-05-13
1041Russia2026-05-22
1042Canada2026-05-18
1043Italy2026-06-05
1044Canada2026-05-31
1045Italy2026-06-01
1046United Kingdom2026-05-09
1047Italy2026-05-24
1048Brazil2026-05-14
1049United Kingdom2026-06-03

On-Demand Data

NameIdCountryDate
James Butt1000United Kingdom2026-05-14
Deepesh Chui1001Brazil2026-06-03
Aruna Figeroa1002France2026-05-28
Jeanfrancois Venere1003Canada2026-05-17
Antonio Caudy1004Spain2026-05-25
Arvin Albares1005Canada2026-05-24
Murillo Malet1006Germany2026-05-31
Jennifer Amigon1007Italy2026-05-16
Clifford Rim1008Argentina2026-05-19
Maria Marrier1009Japan2026-05-21
Emily Whobrey1010India2026-05-15
Darci Poquette1011United Kingdom2026-05-30
Francesco Shinko1012Japan2026-06-05
Greenwood Bolognia1013France2026-05-24
David Darakjy1014Germany2026-05-28
Mujtaba Nicka1015Italy2026-05-22
Rodrigues Campain1016Russia2026-06-06
Jennifer Amigon1017Australia2026-05-10
Maisha Rulapaugh1018Brazil2026-06-07
Tony Foller1019United Kingdom2026-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon OldroydGermanyStephen Shaw NEW
Jeanfrancois VenereGermanyAsiya Javayant RENEWAL
Tony FollerUnited KingdomElwin Sharvill RENEWAL
Wickens NestleFranceAsiya Javayant RENEWAL
Jeanfrancois VenereRussiaAnna Fali UNQUALIFIED
Antonio CaudyAustraliaElwin Sharvill NEGOTIATION
Tony FollerAustraliaAmy Elsner RENEWAL
Francesco ShinkoSpainIvan Magalhaes NEW
Ivar PaprockiGermanyIvan Magalhaes RENEWAL
Mayumi KolmetzItalyStephen Shaw RENEWAL
Claire TollnerCanadaAmy Elsner PROPOSAL
Sinclair WaycottItalyIoni Bowcher UNQUALIFIED
Cody SaylorsAustraliaElwin Sharvill QUALIFIED
Murillo MaletItalyBernardo Dominic NEGOTIATION
Jefferson SchemmerRussiaOnyama Limba NEGOTIATION
Antonio CaudyItalyOnyama Limba NEGOTIATION
Smith GlickItalyStephen Shaw NEW
Munro FerenczIndiaBernardo Dominic PROPOSAL
Jefferson SchemmerFranceAmy Elsner RENEWAL
Morrow RutaAustraliaAmy Elsner NEW
Francesco ShinkoRussiaStephen Shaw PROPOSAL
Maria MarrierArgentinaIoni Bowcher PROPOSAL
Stacey MacleadRussiaAnna Fali UNQUALIFIED
Nicolas IturbideRussiaAsiya Javayant RENEWAL
Jefferson SchemmerItalyIvan Magalhaes PROPOSAL
Ashley DoeItalyElwin Sharvill UNQUALIFIED
Julie StensethItalyElwin Sharvill UNQUALIFIED
Wickens NestleRussiaXuxue Feng QUALIFIED
Octavia MaletCanadaOnyama Limba QUALIFIED
Julie StensethGermanyElwin Sharvill NEGOTIATION
Julie StensethUnited KingdomAsiya Javayant NEGOTIATION
Salvatore StockhamIndiaXuxue Feng NEGOTIATION
Maisha RulapaughFranceAsiya Javayant NEGOTIATION
Kadeem FlosiItalyIvan Magalhaes NEW
Octavia MaletUnited KingdomBernardo Dominic NEW
Aruna FigeroaGermanyAnna Fali PROPOSAL
Ivar PaprockiRussiaAmy Elsner NEW
Juan WieserUnited KingdomIoni Bowcher RENEWAL
Adams MorascaAustraliaElwin Sharvill NEGOTIATION
Deepesh ChuiJapanAsiya Javayant RENEWAL

<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.statusName}">#{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.statusName}">#{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.statusName}">#{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.statusName}">#{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">
            <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.statusName}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>