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
Jeanfrancois VenereUnited KingdomOnyama Limba NEW
Tony FollerAustraliaXuxue Feng PROPOSAL
Emily WhobreyBrazilElwin Sharvill NEGOTIATION
Johnson SergiAustraliaXuxue Feng NEW
Antonio CaudyAustraliaStephen Shaw NEGOTIATION
Morrow RutaItalyElwin Sharvill PROPOSAL
Sinclair WaycottRussiaBernardo Dominic RENEWAL
Cody SaylorsCanadaOnyama Limba NEW
Ivar PaprockiFranceAnna Fali UNQUALIFIED
Mayumi KolmetzGermanyBernardo Dominic RENEWAL
Aika InouyeCanadaAnna Fali NEGOTIATION
Juan WieserArgentinaAmy Elsner QUALIFIED
Maisha RulapaughFranceStephen Shaw NEW
Maisha RulapaughBrazilIoni Bowcher NEGOTIATION
Wickens NestleUnited KingdomAmy Elsner NEGOTIATION
Leja CaldareraSpainOnyama Limba RENEWAL
Chavez BriddickGermanyIvan Magalhaes NEGOTIATION
Johnson SergiCanadaAsiya Javayant PROPOSAL
Ashley DoeUnited KingdomAmy Elsner RENEWAL
Aika InouyeFranceAmy Elsner NEGOTIATION
Tony FollerJapanIvan Magalhaes UNQUALIFIED
Maisha RulapaughItalyXuxue Feng UNQUALIFIED
Darci PoquetteBrazilIoni Bowcher PROPOSAL
Isabel BowleyGermanyElwin Sharvill RENEWAL
Octavia MaletGermanyAsiya Javayant NEW
Morrow RutaUnited KingdomAnna Fali RENEWAL
Misaki RoysterIndiaStephen Shaw NEW
Morrow RutaBrazilXuxue Feng NEGOTIATION
Francesco ShinkoBrazilIoni Bowcher NEW
Francesco ShinkoItalyStephen Shaw QUALIFIED
Alejandro PerinUnited KingdomAmy Elsner NEW
Silvio SlusarskiCanadaAsiya Javayant PROPOSAL
Deepesh ChuiSpainAmy Elsner QUALIFIED
Francesco ShinkoUnited KingdomAnna Fali PROPOSAL
James ButtIndiaIoni Bowcher NEW
Adams MorascaGermanyIvan Magalhaes RENEWAL
Munro FerenczUnited KingdomAnna Fali PROPOSAL
Jeanfrancois VenereGermanyAmy Elsner NEW
Alejandro PerinJapanAnna Fali NEGOTIATION
Ricardo GauchoUnited KingdomIvan Magalhaes NEW
Jennifer AmigonCanadaAsiya Javayant UNQUALIFIED
Aruna FigeroaSpainElwin Sharvill PROPOSAL
Jefferson SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Emily WhobreyRussiaElwin Sharvill RENEWAL
Julie StensethSpainAmy Elsner PROPOSAL
Leja CaldareraBrazilAnna Fali QUALIFIED
Deepesh ChuiSpainStephen Shaw QUALIFIED
Arvin AlbaresArgentinaBernardo Dominic RENEWAL
Jefferson SchemmerArgentinaBernardo Dominic NEW
Rodrigues CampainJapanAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire TollnerIndiaElwin Sharvill RENEWAL
Claire TollnerAustraliaAnna Fali NEGOTIATION
Salvatore StockhamIndiaAnna Fali NEW
Deepesh ChuiGermanyStephen Shaw RENEWAL
Ricardo GauchoIndiaElwin Sharvill NEW
Adams MorascaItalyXuxue Feng QUALIFIED
Morrow RutaAustraliaElwin Sharvill UNQUALIFIED
Arvin AlbaresArgentinaElwin Sharvill QUALIFIED
Aika InouyeItalyBernardo Dominic NEW
Jennifer AmigonCanadaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy GarufiBrazil2025-11-01Printing Dimensions QUALIFIED88Elwin Sharvill
1001James ButtArgentina2025-10-23Chemel, James L Cpa PROPOSAL12Ioni Bowcher
1002Salvatore StockhamJapan2025-10-13Dorl, James J Esq NEW11Asiya Javayant
1003Jones VocelkaGermany2025-10-09Feltz Printing Service NEW43Ivan Magalhaes
1004Emily WhobreyIndia2025-10-16Rangoni Of Florence NEGOTIATION73Xuxue Feng
1005David DarakjySpain2025-11-01Printing Dimensions NEGOTIATION99Onyama Limba
1006Tony FollerBrazil2025-10-06Morlong Associates NEGOTIATION53Stephen Shaw
1007Silvio SlusarskiGermany2025-10-23Benton, John B Jr QUALIFIED64Anna Fali
1008Cody SaylorsJapan2025-10-23Morlong Associates NEW17Stephen Shaw
1009Emily WhobreyGermany2025-10-29Feiner Bros UNQUALIFIED34Anna Fali
1010Emily WhobreyIndia2025-10-14Rousseaux, Michael Esq QUALIFIED78Xuxue Feng
1011Francesco ShinkoCanada2025-10-15Feltz Printing Service RENEWAL65Xuxue Feng
1012Chavez BriddickRussia2025-10-11Chanay, Jeffrey A Esq UNQUALIFIED7Bernardo Dominic
1013Ashley DoeGermany2025-11-01Feltz Printing Service QUALIFIED65Ioni Bowcher
1014Claire TollnerJapan2025-10-21Chemel, James L Cpa NEW23Ioni Bowcher
1015Jennifer AmigonRussia2025-10-15Chemel, James L Cpa NEGOTIATION3Ioni Bowcher
1016James ButtJapan2025-10-13Chanay, Jeffrey A Esq QUALIFIED43Ioni Bowcher
1017Misaki RoysterSpain2025-10-30Rousseaux, Michael Esq QUALIFIED90Amy Elsner
1018Chavez BriddickAustralia2025-10-06Printing Dimensions RENEWAL57Asiya Javayant
1019Jefferson SchemmerRussia2025-11-01Chanay, Jeffrey A Esq RENEWAL11Elwin Sharvill
1020Deepesh ChuiBrazil2025-10-06Truhlar And Truhlar Attys PROPOSAL58Anna Fali
1021Emily WhobreyGermany2025-10-14Chapman, Ross E Esq PROPOSAL36Ivan Magalhaes
1022Smith GlickItaly2025-10-15King, Christopher A Esq UNQUALIFIED52Asiya Javayant
1023Mayumi KolmetzRussia2025-10-07Buckley Miller Wright NEGOTIATION94Elwin Sharvill
1024Salvatore StockhamArgentina2025-10-08Printing Dimensions NEGOTIATION29Anna Fali
1025Julie StensethBrazil2025-10-14Buckley Miller Wright NEW84Onyama Limba
1026Ricardo GauchoJapan2025-10-07Commercial Press NEW6Xuxue Feng
1027Deepesh ChuiArgentina2025-10-27Rousseaux, Michael Esq RENEWAL79Bernardo Dominic
1028Ricardo GauchoBrazil2025-10-15Chapman, Ross E Esq QUALIFIED43Bernardo Dominic
1029Jones VocelkaArgentina2025-10-20Commercial Press PROPOSAL91Bernardo Dominic
1030Aika InouyeSpain2025-10-14Rousseaux, Michael Esq RENEWAL56Ioni Bowcher
1031David DarakjyUnited Kingdom2025-10-30Benton, John B Jr NEW75Bernardo Dominic
1032Greenwood BologniaAustralia2025-10-09Feiner Bros UNQUALIFIED82Anna Fali
1033Kaitlin OstroskyBrazil2025-10-10Feiner Bros NEW65Bernardo Dominic
1034Adams MorascaCanada2025-10-23Rangoni Of Florence NEW54Stephen Shaw
1035Francesco ShinkoIndia2025-10-25Morlong Associates RENEWAL31Stephen Shaw
1036Isabel BowleyUnited Kingdom2025-10-29Commercial Press PROPOSAL43Ioni Bowcher
1037Leja CaldareraArgentina2025-11-03Chanay, Jeffrey A Esq NEGOTIATION46Xuxue Feng
1038Izzy GarufiItaly2025-10-23Chanay, Jeffrey A Esq PROPOSAL3Elwin Sharvill
1039Maisha RulapaughUnited Kingdom2025-10-29Commercial Press PROPOSAL24Bernardo Dominic
1040Cody SaylorsJapan2025-10-27Feltz Printing Service PROPOSAL76Elwin Sharvill
1041Faith GillianUnited Kingdom2025-10-18King, Christopher A Esq RENEWAL79Xuxue Feng
1042Faith GillianIndia2025-10-13Feltz Printing Service NEW42Asiya Javayant
1043Jennifer AmigonCanada2025-10-18Buckley Miller Wright UNQUALIFIED98Onyama Limba
1044Salvatore StockhamArgentina2025-11-01Chanay, Jeffrey A Esq NEW25Onyama Limba
1045Jones VocelkaFrance2025-10-21Chemel, James L Cpa QUALIFIED98Onyama Limba
1046Leja CaldareraUnited Kingdom2025-10-11Buckley Miller Wright PROPOSAL55Asiya Javayant
1047Emily WhobreyItaly2025-10-15Buckley Miller Wright RENEWAL71Ioni Bowcher
1048Murillo MaletArgentina2025-10-19Feltz Printing Service RENEWAL79Asiya Javayant
1049Jennifer AmigonFrance2025-10-30Printing Dimensions NEGOTIATION19Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer AmigonArgentinaStephen Shaw UNQUALIFIED
Smith GlickItalyAnna Fali QUALIFIED
Ashley DoeGermanyOnyama Limba RENEWAL
Juan WieserRussiaOnyama Limba PROPOSAL
Kaitlin OstroskyFranceAsiya Javayant QUALIFIED
Stacey MacleadRussiaStephen Shaw QUALIFIED
Julie StensethIndiaOnyama Limba RENEWAL
Francesco ShinkoFranceElwin Sharvill RENEWAL
Octavia MaletUnited KingdomOnyama Limba QUALIFIED
Wickens NestleCanadaAsiya Javayant NEW
Emily WhobreySpainStephen Shaw RENEWAL
Juan WieserSpainAmy Elsner NEGOTIATION
Chavez BriddickIndiaAsiya Javayant PROPOSAL
Alejandro PerinArgentinaAsiya Javayant QUALIFIED
Maisha RulapaughFranceIvan Magalhaes NEW
Jennifer AmigonJapanStephen Shaw RENEWAL
Alejandro PerinFranceAmy Elsner NEGOTIATION
Darci PoquetteSpainIoni Bowcher RENEWAL
Emily WhobreyItalyAsiya Javayant UNQUALIFIED
Jeanfrancois VenereFranceIvan Magalhaes PROPOSAL
Mujtaba NickaArgentinaAsiya Javayant PROPOSAL
Ivar PaprockiItalyAnna Fali PROPOSAL
Morrow RutaItalyBernardo Dominic QUALIFIED
Kaitlin OstroskySpainStephen Shaw NEGOTIATION
Munro FerenczFranceAnna Fali UNQUALIFIED
Arvin AlbaresFranceAsiya Javayant RENEWAL
Ivar PaprockiArgentinaElwin Sharvill RENEWAL
Wickens NestleItalyElwin Sharvill PROPOSAL
Tony FollerJapanStephen Shaw NEW
Darci PoquetteArgentinaIvan Magalhaes PROPOSAL
Antonio CaudyAustraliaBernardo Dominic QUALIFIED
Maria MarrierFranceElwin Sharvill QUALIFIED
Wickens NestleBrazilOnyama Limba PROPOSAL
Arvin AlbaresIndiaElwin Sharvill QUALIFIED
Ivar PaprockiItalyStephen Shaw RENEWAL
Jefferson SchemmerSpainElwin Sharvill NEW
Misaki RoysterIndiaAsiya Javayant UNQUALIFIED
Jones VocelkaFranceBernardo Dominic NEGOTIATION
Alejandro PerinIndiaXuxue Feng UNQUALIFIED
Julie StensethBrazilAmy Elsner NEW
Maria MarrierCanadaBernardo Dominic NEW
Julie StensethRussiaAnna Fali QUALIFIED
Jeanfrancois VenereCanadaElwin Sharvill RENEWAL
Antonio CaudyArgentinaAmy Elsner QUALIFIED
Adams MorascaCanadaIvan Magalhaes NEW
Nicolas IturbideRussiaElwin Sharvill PROPOSAL
Jeanfrancois VenereIndiaAmy Elsner NEGOTIATION
Munro FerenczAustraliaElwin Sharvill UNQUALIFIED
Costa DilliardAustraliaElwin Sharvill NEW
Murillo MaletSpainAmy Elsner RENEWAL
Frozen Columns
Name
David Darakjy
Clifford Rim
Francesco Shinko
Darci Poquette
Leon Oldroyd
Smith Glick
Jones Vocelka
Morrow Ruta
Misaki Royster
Aika Inouye
Morrow Ruta
Alejandro Perin
James Butt
Costa Dilliard
Smith Glick
Leon Oldroyd
Julie Stenseth
Aditya Kusko
Claire Tollner
Octavia Malet
Morrow Ruta
Cody Saylors
Ricardo Gaucho
Julie Stenseth
Clifford Rim
Claire Tollner
Johnson Sergi
Morrow Ruta
Adams Morasca
Maria Marrier
Smith Glick
Ashley Doe
Greenwood Bolognia
Chavez Briddick
Chavez Briddick
Mayumi Kolmetz
Wickens Nestle
Ricardo Gaucho
Ashley Doe
Octavia Malet
Jones Vocelka
Faith Gillian
Francesco Shinko
Jeanfrancois Venere
Claire Tollner
Alejandro Perin
Kaitlin Ostrosky
Francesco Shinko
Maisha Rulapaugh
Ivar Paprocki
IdCountryDate
1000Spain2025-10-30
1001Japan2025-10-16
1002United Kingdom2025-10-26
1003United Kingdom2025-10-27
1004France2025-10-13
1005Russia2025-10-18
1006United Kingdom2025-10-05
1007Spain2025-10-10
1008Japan2025-10-21
1009Germany2025-10-26
1010Australia2025-10-15
1011Japan2025-10-15
1012Italy2025-10-29
1013France2025-10-21
1014Japan2025-10-15
1015Japan2025-10-26
1016Spain2025-10-16
1017Brazil2025-10-07
1018United Kingdom2025-10-21
1019Brazil2025-10-18
1020Japan2025-10-08
1021Germany2025-10-06
1022Australia2025-10-12
1023Canada2025-10-15
1024Germany2025-11-02
1025Argentina2025-10-15
1026Australia2025-10-19
1027Australia2025-10-08
1028France2025-10-30
1029India2025-10-28
1030Russia2025-10-08
1031India2025-10-16
1032Argentina2025-10-05
1033France2025-10-30
1034India2025-10-16
1035Australia2025-10-10
1036United Kingdom2025-10-27
1037India2025-10-05
1038Argentina2025-10-21
1039Japan2025-10-25
1040United Kingdom2025-10-18
1041France2025-10-05
1042Canada2025-11-02
1043Germany2025-10-29
1044Brazil2025-10-08
1045Russia2025-10-18
1046Italy2025-10-12
1047Australia2025-10-11
1048Australia2025-10-27
1049Australia2025-10-11

On-Demand Data

NameIdCountryDate
Jones Vocelka1000Japan2025-10-08
Costa Dilliard1001Germany2025-10-23
Jefferson Schemmer1002Argentina2025-10-24
Kaitlin Ostrosky1003Italy2025-10-18
Julie Stenseth1004Brazil2025-10-23
Costa Dilliard1005Australia2025-10-28
Misaki Royster1006Brazil2025-10-17
Wickens Nestle1007Brazil2025-10-29
Ricardo Gaucho1008Canada2025-10-30
Jeanfrancois Venere1009Japan2025-10-21
Murillo Malet1010Germany2025-10-22
James Butt1011Japan2025-10-17
Faith Gillian1012Italy2025-10-31
Jeanfrancois Venere1013Brazil2025-10-27
Johnson Sergi1014Brazil2025-10-17
Claire Tollner1015Argentina2025-10-22
Misaki Royster1016Brazil2025-10-30
Faith Gillian1017Brazil2025-10-29
Octavia Malet1018Argentina2025-10-25
Ricardo Gaucho1019Japan2025-10-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams MorascaSpainAmy Elsner NEW
Mayumi KolmetzAustraliaIvan Magalhaes NEGOTIATION
Isabel BowleyIndiaElwin Sharvill QUALIFIED
Tony FollerCanadaBernardo Dominic RENEWAL
Nicolas IturbideJapanOnyama Limba NEW
Wickens NestleUnited KingdomAnna Fali NEGOTIATION
David DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Emily WhobreyAustraliaIoni Bowcher UNQUALIFIED
Munro FerenczAustraliaIvan Magalhaes UNQUALIFIED
Sinclair WaycottIndiaXuxue Feng RENEWAL
Julie StensethArgentinaStephen Shaw PROPOSAL
Emily WhobreyJapanIvan Magalhaes NEGOTIATION
Aditya KuskoFranceXuxue Feng NEW
Ivar PaprockiSpainIoni Bowcher RENEWAL
Leon OldroydRussiaAnna Fali NEGOTIATION
Tony FollerIndiaXuxue Feng UNQUALIFIED
Jeanfrancois VenereSpainIvan Magalhaes RENEWAL
Kadeem FlosiItalyIvan Magalhaes UNQUALIFIED
Ricardo GauchoAustraliaAmy Elsner RENEWAL
Jefferson SchemmerIndiaIoni Bowcher NEGOTIATION
Salvatore StockhamBrazilIoni Bowcher NEW
Arvin AlbaresArgentinaStephen Shaw PROPOSAL
Jefferson SchemmerSpainElwin Sharvill NEW
Izzy GarufiUnited KingdomAmy Elsner QUALIFIED
Ashley DoeAustraliaIvan Magalhaes PROPOSAL
Adams MorascaCanadaIvan Magalhaes QUALIFIED
Ivar PaprockiCanadaAnna Fali NEW
Adams MorascaCanadaOnyama Limba QUALIFIED
Stacey MacleadArgentinaBernardo Dominic UNQUALIFIED
Chavez BriddickItalyAmy Elsner NEW
Murillo MaletItalyAsiya Javayant QUALIFIED
Kadeem FlosiBrazilElwin Sharvill QUALIFIED
Adams MorascaIndiaIvan Magalhaes PROPOSAL
Mujtaba NickaIndiaIoni Bowcher RENEWAL
James ButtAustraliaIoni Bowcher NEGOTIATION
Aruna FigeroaGermanyIvan Magalhaes NEW
Johnson SergiArgentinaAmy Elsner RENEWAL
Clifford RimJapanAnna Fali NEW
Greenwood BologniaRussiaAnna Fali RENEWAL
Claire TollnerBrazilAsiya Javayant 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.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>