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
Tony FollerBrazilIvan Magalhaes NEW
Morrow RutaFranceAnna Fali QUALIFIED
Smith GlickFranceXuxue Feng UNQUALIFIED
Arvin AlbaresRussiaIvan Magalhaes NEW
Mujtaba NickaIndiaAnna Fali PROPOSAL
David DarakjyUnited KingdomIoni Bowcher RENEWAL
Ashley DoeGermanyBernardo Dominic UNQUALIFIED
Faith GillianSpainOnyama Limba NEGOTIATION
Smith GlickJapanAsiya Javayant QUALIFIED
Sinclair WaycottArgentinaAmy Elsner UNQUALIFIED
David DarakjyGermanyOnyama Limba RENEWAL
Smith GlickCanadaAnna Fali PROPOSAL
Antonio CaudyArgentinaBernardo Dominic PROPOSAL
Johnson SergiFranceAsiya Javayant QUALIFIED
Chavez BriddickFranceIoni Bowcher QUALIFIED
Cody SaylorsAustraliaXuxue Feng PROPOSAL
Stacey MacleadArgentinaIoni Bowcher NEGOTIATION
Claire TollnerUnited KingdomAnna Fali NEGOTIATION
Clifford RimUnited KingdomIoni Bowcher QUALIFIED
Munro FerenczFranceStephen Shaw QUALIFIED
Wickens NestleCanadaOnyama Limba NEW
Emily WhobreyBrazilAnna Fali RENEWAL
Chavez BriddickUnited KingdomAmy Elsner QUALIFIED
Maisha RulapaughIndiaXuxue Feng RENEWAL
Emily WhobreyArgentinaAsiya Javayant PROPOSAL
Munro FerenczSpainAnna Fali RENEWAL
Julie StensethBrazilElwin Sharvill NEGOTIATION
Darci PoquetteBrazilAsiya Javayant RENEWAL
Octavia MaletCanadaAsiya Javayant QUALIFIED
Smith GlickAustraliaIoni Bowcher RENEWAL
Costa DilliardArgentinaBernardo Dominic NEGOTIATION
Ashley DoeIndiaAsiya Javayant QUALIFIED
Misaki RoysterFranceXuxue Feng NEW
Leon OldroydItalyXuxue Feng NEW
Kaitlin OstroskyUnited KingdomIoni Bowcher PROPOSAL
Aika InouyeGermanyIoni Bowcher NEGOTIATION
Leon OldroydFranceOnyama Limba PROPOSAL
Mayumi KolmetzSpainStephen Shaw QUALIFIED
Francesco ShinkoFranceIvan Magalhaes NEW
Isabel BowleyJapanXuxue Feng NEW
Darci PoquetteUnited KingdomAnna Fali UNQUALIFIED
Francesco ShinkoBrazilIvan Magalhaes PROPOSAL
Misaki RoysterCanadaBernardo Dominic QUALIFIED
Faith GillianBrazilStephen Shaw QUALIFIED
Ricardo GauchoSpainAnna Fali UNQUALIFIED
Rodrigues CampainIndiaAnna Fali NEGOTIATION
Alejandro PerinFranceAsiya Javayant UNQUALIFIED
Salvatore StockhamArgentinaBernardo Dominic UNQUALIFIED
Claire TollnerItalyStephen Shaw RENEWAL
Greenwood BologniaFranceStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon OldroydItalyXuxue Feng NEW
Aika InouyeItalyAnna Fali RENEWAL
Silvio SlusarskiSpainAmy Elsner UNQUALIFIED
Sinclair WaycottItalyAnna Fali PROPOSAL
Ashley DoeAustraliaXuxue Feng NEGOTIATION
Cody SaylorsCanadaStephen Shaw NEW
Nicolas IturbideItalyIoni Bowcher RENEWAL
Izzy GarufiUnited KingdomElwin Sharvill NEW
Rodrigues CampainFranceAmy Elsner QUALIFIED
Maisha RulapaughRussiaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair WaycottUnited Kingdom2026-05-07Dorl, James J Esq RENEWAL82Ivan Magalhaes
1001Munro FerenczCanada2026-05-08Rousseaux, Michael Esq PROPOSAL68Onyama Limba
1002Darci PoquetteIndia2026-04-17Morlong Associates UNQUALIFIED4Stephen Shaw
1003Emily WhobreySpain2026-04-23Printing Dimensions NEGOTIATION16Stephen Shaw
1004Munro FerenczCanada2026-04-25Dorl, James J Esq QUALIFIED56Amy Elsner
1005Clifford RimRussia2026-05-01Printing Dimensions UNQUALIFIED60Anna Fali
1006Aditya KuskoItaly2026-04-17Commercial Press PROPOSAL85Elwin Sharvill
1007Faith GillianRussia2026-04-22Chapman, Ross E Esq RENEWAL79Ivan Magalhaes
1008Stacey MacleadAustralia2026-04-14Benton, John B Jr NEW99Amy Elsner
1009Ricardo GauchoUnited Kingdom2026-04-15Chapman, Ross E Esq NEW71Onyama Limba
1010Kaitlin OstroskyCanada2026-05-08Feiner Bros NEW77Asiya Javayant
1011Nicolas IturbideGermany2026-05-11Printing Dimensions NEGOTIATION0Stephen Shaw
1012Darci PoquetteItaly2026-04-18Chanay, Jeffrey A Esq NEW13Onyama Limba
1013Mujtaba NickaUnited Kingdom2026-04-20Feiner Bros QUALIFIED25Asiya Javayant
1014Mayumi KolmetzUnited Kingdom2026-05-08Feltz Printing Service PROPOSAL43Ioni Bowcher
1015Francesco ShinkoSpain2026-04-16Commercial Press QUALIFIED57Ioni Bowcher
1016Alejandro PerinIndia2026-04-28Chemel, James L Cpa NEGOTIATION94Bernardo Dominic
1017David DarakjyBrazil2026-04-24Rousseaux, Michael Esq PROPOSAL40Anna Fali
1018Juan WieserGermany2026-04-25Buckley Miller Wright UNQUALIFIED26Bernardo Dominic
1019Mayumi KolmetzRussia2026-04-20Dorl, James J Esq QUALIFIED24Ioni Bowcher
1020Wickens NestleBrazil2026-04-17Chapman, Ross E Esq PROPOSAL1Onyama Limba
1021Maria MarrierFrance2026-04-18Truhlar And Truhlar Attys QUALIFIED93Elwin Sharvill
1022Stacey MacleadAustralia2026-05-02Chapman, Ross E Esq RENEWAL95Bernardo Dominic
1023Aditya KuskoRussia2026-05-02Rangoni Of Florence NEGOTIATION83Onyama Limba
1024Salvatore StockhamBrazil2026-04-22Buckley Miller Wright PROPOSAL96Bernardo Dominic
1025Ashley DoeAustralia2026-04-18Chapman, Ross E Esq QUALIFIED59Xuxue Feng
1026Octavia MaletBrazil2026-05-01Rousseaux, Michael Esq NEGOTIATION23Onyama Limba
1027Arvin AlbaresCanada2026-04-24Truhlar And Truhlar Attys NEW4Bernardo Dominic
1028Emily WhobreyGermany2026-05-09Chanay, Jeffrey A Esq QUALIFIED26Asiya Javayant
1029Jones VocelkaIndia2026-05-05Feiner Bros QUALIFIED37Stephen Shaw
1030Francesco ShinkoJapan2026-04-25King, Christopher A Esq RENEWAL76Bernardo Dominic
1031Leon OldroydBrazil2026-05-12Printing Dimensions UNQUALIFIED58Asiya Javayant
1032Morrow RutaArgentina2026-04-15Buckley Miller Wright PROPOSAL60Ioni Bowcher
1033Juan WieserItaly2026-05-07Feiner Bros PROPOSAL83Onyama Limba
1034Aruna FigeroaUnited Kingdom2026-05-06Feltz Printing Service NEW85Amy Elsner
1035Faith GillianIndia2026-05-12Benton, John B Jr NEW53Ivan Magalhaes
1036Cody SaylorsRussia2026-05-10Rangoni Of Florence NEW28Asiya Javayant
1037Izzy GarufiIndia2026-05-04Printing Dimensions NEGOTIATION75Bernardo Dominic
1038Jennifer AmigonJapan2026-04-27Feiner Bros UNQUALIFIED10Bernardo Dominic
1039Tony FollerCanada2026-04-25Printing Dimensions UNQUALIFIED99Onyama Limba
1040Johnson SergiItaly2026-04-15Rousseaux, Michael Esq NEW8Bernardo Dominic
1041Chavez BriddickItaly2026-04-25Truhlar And Truhlar Attys RENEWAL56Asiya Javayant
1042Greenwood BologniaSpain2026-04-30Chanay, Jeffrey A Esq QUALIFIED2Ioni Bowcher
1043Cody SaylorsItaly2026-05-08Chanay, Jeffrey A Esq UNQUALIFIED4Xuxue Feng
1044Julie StensethItaly2026-04-29Feltz Printing Service NEGOTIATION34Bernardo Dominic
1045Aruna FigeroaUnited Kingdom2026-05-02Commercial Press NEW92Xuxue Feng
1046Maisha RulapaughGermany2026-04-13Commercial Press QUALIFIED41Anna Fali
1047Sinclair WaycottRussia2026-04-18Chemel, James L Cpa NEW45Stephen Shaw
1048Maisha RulapaughItaly2026-04-22Dorl, James J Esq UNQUALIFIED76Ioni Bowcher
1049James ButtAustralia2026-04-15Feiner Bros PROPOSAL54Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Cody SaylorsAustraliaElwin Sharvill RENEWAL
Francesco ShinkoFranceAsiya Javayant NEGOTIATION
Morrow RutaItalyOnyama Limba RENEWAL
Kadeem FlosiBrazilAmy Elsner NEGOTIATION
Rodrigues CampainSpainStephen Shaw QUALIFIED
Sinclair WaycottGermanyAmy Elsner RENEWAL
Kaitlin OstroskyItalyBernardo Dominic QUALIFIED
Greenwood BologniaArgentinaAmy Elsner QUALIFIED
Rodrigues CampainFranceAmy Elsner QUALIFIED
Costa DilliardBrazilIoni Bowcher QUALIFIED
Octavia MaletCanadaIvan Magalhaes UNQUALIFIED
Izzy GarufiRussiaOnyama Limba PROPOSAL
Aditya KuskoCanadaIvan Magalhaes NEW
Wickens NestleJapanIvan Magalhaes PROPOSAL
Isabel BowleyBrazilStephen Shaw UNQUALIFIED
Aruna FigeroaUnited KingdomOnyama Limba RENEWAL
Murillo MaletBrazilXuxue Feng RENEWAL
Leja CaldareraFranceBernardo Dominic RENEWAL
Faith GillianFranceIvan Magalhaes PROPOSAL
Izzy GarufiIndiaAnna Fali PROPOSAL
Deepesh ChuiCanadaAsiya Javayant NEW
Murillo MaletJapanAmy Elsner RENEWAL
Jeanfrancois VenereAustraliaAsiya Javayant UNQUALIFIED
Juan WieserBrazilStephen Shaw NEGOTIATION
Nicolas IturbideSpainXuxue Feng RENEWAL
Ashley DoeSpainXuxue Feng NEW
Leon OldroydRussiaAmy Elsner RENEWAL
Claire TollnerIndiaIoni Bowcher QUALIFIED
James ButtJapanIvan Magalhaes QUALIFIED
Munro FerenczAustraliaBernardo Dominic NEW
Wickens NestleGermanyAmy Elsner RENEWAL
Leon OldroydFranceIvan Magalhaes NEGOTIATION
Tony FollerAustraliaAmy Elsner PROPOSAL
Aditya KuskoFranceIvan Magalhaes QUALIFIED
Clifford RimItalyXuxue Feng RENEWAL
Cody SaylorsJapanXuxue Feng NEGOTIATION
Tony FollerIndiaIoni Bowcher QUALIFIED
Sinclair WaycottBrazilIvan Magalhaes UNQUALIFIED
Francesco ShinkoFranceStephen Shaw NEGOTIATION
Ricardo GauchoCanadaAnna Fali NEW
Izzy GarufiGermanyAnna Fali UNQUALIFIED
Ashley DoeAustraliaXuxue Feng NEGOTIATION
Smith GlickItalyOnyama Limba NEW
Munro FerenczArgentinaAsiya Javayant RENEWAL
Aika InouyeGermanyStephen Shaw QUALIFIED
Leon OldroydGermanyAnna Fali PROPOSAL
Emily WhobreyArgentinaIvan Magalhaes NEGOTIATION
Alejandro PerinArgentinaElwin Sharvill RENEWAL
Leja CaldareraRussiaBernardo Dominic NEGOTIATION
Ashley DoeArgentinaStephen Shaw NEGOTIATION
Frozen Columns
Name
Costa Dilliard
Salvatore Stockham
Sinclair Waycott
Julie Stenseth
Smith Glick
Sinclair Waycott
Julie Stenseth
James Butt
Juan Wieser
Leon Oldroyd
Johnson Sergi
Clifford Rim
Ashley Doe
Arvin Albares
Cody Saylors
Arvin Albares
Claire Tollner
Aika Inouye
Darci Poquette
Ashley Doe
Nicolas Iturbide
Nicolas Iturbide
Misaki Royster
Chavez Briddick
Mujtaba Nicka
James Butt
Arvin Albares
Morrow Ruta
Murillo Malet
Julie Stenseth
Leja Caldarera
Cody Saylors
Francesco Shinko
Juan Wieser
Julie Stenseth
Maria Marrier
Maria Marrier
Nicolas Iturbide
Jennifer Amigon
Maisha Rulapaugh
Aruna Figeroa
Ricardo Gaucho
Johnson Sergi
Adams Morasca
Aditya Kusko
Misaki Royster
Silvio Slusarski
Clifford Rim
Cody Saylors
Wickens Nestle
IdCountryDate
1000Australia2026-04-21
1001Spain2026-05-02
1002Brazil2026-05-05
1003Argentina2026-04-25
1004Brazil2026-04-18
1005Brazil2026-04-23
1006France2026-04-29
1007India2026-04-29
1008Argentina2026-04-26
1009France2026-04-20
1010Germany2026-04-24
1011Brazil2026-05-02
1012Japan2026-05-02
1013Russia2026-05-03
1014Australia2026-04-21
1015Argentina2026-05-09
1016Italy2026-05-04
1017Germany2026-04-23
1018France2026-04-28
1019Brazil2026-05-11
1020Germany2026-04-25
1021Germany2026-04-25
1022Spain2026-04-23
1023Spain2026-04-20
1024France2026-04-18
1025Australia2026-04-20
1026Germany2026-04-20
1027Spain2026-04-13
1028Argentina2026-04-23
1029Canada2026-05-12
1030United Kingdom2026-04-21
1031France2026-04-25
1032Brazil2026-04-22
1033Italy2026-05-07
1034France2026-05-05
1035India2026-04-24
1036Brazil2026-04-20
1037Germany2026-05-06
1038Australia2026-05-08
1039Australia2026-04-20
1040Spain2026-05-11
1041Japan2026-05-02
1042Russia2026-05-11
1043Argentina2026-04-16
1044Australia2026-04-28
1045Spain2026-04-14
1046India2026-05-09
1047India2026-05-10
1048Australia2026-04-14
1049Japan2026-05-02

On-Demand Data

NameIdCountryDate
Mujtaba Nicka1000United Kingdom2026-04-24
Octavia Malet1001Argentina2026-04-15
Rodrigues Campain1002Argentina2026-04-24
Izzy Garufi1003Canada2026-04-23
Misaki Royster1004Spain2026-04-18
Jones Vocelka1005France2026-05-08
Cody Saylors1006Brazil2026-04-23
Kadeem Flosi1007Argentina2026-04-22
Kaitlin Ostrosky1008Spain2026-05-03
Mayumi Kolmetz1009India2026-05-02
David Darakjy1010United Kingdom2026-04-26
Ricardo Gaucho1011India2026-04-24
Alejandro Perin1012France2026-05-11
Mayumi Kolmetz1013United Kingdom2026-04-15
James Butt1014Russia2026-04-21
Chavez Briddick1015Australia2026-05-12
Wickens Nestle1016Italy2026-04-26
Mayumi Kolmetz1017Japan2026-05-11
Rodrigues Campain1018India2026-04-28
Antonio Caudy1019Spain2026-04-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey MacleadSpainBernardo Dominic NEW
Jefferson SchemmerBrazilOnyama Limba NEGOTIATION
Adams MorascaCanadaOnyama Limba RENEWAL
Wickens NestleBrazilAnna Fali UNQUALIFIED
Kaitlin OstroskyGermanyAsiya Javayant NEGOTIATION
Jeanfrancois VenereJapanOnyama Limba QUALIFIED
Francesco ShinkoItalyAnna Fali NEW
Rodrigues CampainIndiaIvan Magalhaes UNQUALIFIED
Cody SaylorsItalyBernardo Dominic NEW
Silvio SlusarskiArgentinaElwin Sharvill NEGOTIATION
Jones VocelkaFranceStephen Shaw NEGOTIATION
Faith GillianFranceIvan Magalhaes RENEWAL
Aditya KuskoRussiaIoni Bowcher NEGOTIATION
Greenwood BologniaFranceOnyama Limba NEGOTIATION
Salvatore StockhamSpainXuxue Feng QUALIFIED
Leja CaldareraGermanyAsiya Javayant PROPOSAL
Octavia MaletArgentinaBernardo Dominic RENEWAL
Julie StensethIndiaAmy Elsner UNQUALIFIED
Adams MorascaJapanOnyama Limba RENEWAL
Munro FerenczBrazilIvan Magalhaes PROPOSAL
Tony FollerUnited KingdomIoni Bowcher NEW
Nicolas IturbideArgentinaAmy Elsner QUALIFIED
Arvin AlbaresIndiaIoni Bowcher PROPOSAL
Kadeem FlosiRussiaIvan Magalhaes NEW
Rodrigues CampainIndiaIoni Bowcher NEW
Arvin AlbaresIndiaIvan Magalhaes RENEWAL
Arvin AlbaresItalyElwin Sharvill QUALIFIED
Sinclair WaycottArgentinaStephen Shaw NEGOTIATION
Jefferson SchemmerUnited KingdomBernardo Dominic PROPOSAL
Rodrigues CampainFranceElwin Sharvill QUALIFIED
Faith GillianBrazilIoni Bowcher NEGOTIATION
Arvin AlbaresGermanyAsiya Javayant NEGOTIATION
Aika InouyeBrazilBernardo Dominic QUALIFIED
Arvin AlbaresAustraliaStephen Shaw NEGOTIATION
Morrow RutaArgentinaAmy Elsner UNQUALIFIED
Deepesh ChuiArgentinaXuxue Feng UNQUALIFIED
Kaitlin OstroskySpainElwin Sharvill NEW
Tony FollerFranceAsiya Javayant RENEWAL
Mayumi KolmetzFranceElwin Sharvill UNQUALIFIED
Julie StensethIndiaIoni Bowcher 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.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>