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
Johnson SergiJapanAmy Elsner PROPOSAL
Silvio SlusarskiBrazilElwin Sharvill NEW
Greenwood BologniaFranceAmy Elsner RENEWAL
Ricardo GauchoAustraliaAsiya Javayant NEW
Nicolas IturbideJapanAmy Elsner QUALIFIED
Cody SaylorsItalyAsiya Javayant RENEWAL
Costa DilliardIndiaAnna Fali QUALIFIED
Jeanfrancois VenereBrazilXuxue Feng QUALIFIED
Julie StensethUnited KingdomAmy Elsner QUALIFIED
Maria MarrierBrazilXuxue Feng NEGOTIATION
Francesco ShinkoJapanOnyama Limba RENEWAL
Sinclair WaycottIndiaBernardo Dominic QUALIFIED
Maria MarrierBrazilElwin Sharvill NEW
Jones VocelkaCanadaOnyama Limba NEGOTIATION
Ricardo GauchoCanadaXuxue Feng PROPOSAL
Greenwood BologniaArgentinaAmy Elsner QUALIFIED
Rodrigues CampainItalyIoni Bowcher RENEWAL
David DarakjyBrazilAsiya Javayant QUALIFIED
Alejandro PerinFranceAnna Fali QUALIFIED
Rodrigues CampainRussiaIoni Bowcher NEGOTIATION
Maria MarrierFranceIoni Bowcher RENEWAL
Maria MarrierSpainBernardo Dominic NEGOTIATION
Octavia MaletSpainElwin Sharvill UNQUALIFIED
Greenwood BologniaRussiaElwin Sharvill RENEWAL
Aruna FigeroaFranceAmy Elsner NEW
Maria MarrierArgentinaStephen Shaw RENEWAL
Leon OldroydIndiaAnna Fali PROPOSAL
Clifford RimBrazilXuxue Feng NEW
Ricardo GauchoJapanXuxue Feng QUALIFIED
Stacey MacleadUnited KingdomElwin Sharvill NEGOTIATION
Smith GlickSpainBernardo Dominic UNQUALIFIED
Morrow RutaAustraliaOnyama Limba NEGOTIATION
Julie StensethArgentinaStephen Shaw PROPOSAL
Isabel BowleyUnited KingdomBernardo Dominic RENEWAL
Julie StensethBrazilAsiya Javayant QUALIFIED
Johnson SergiUnited KingdomAmy Elsner UNQUALIFIED
Arvin AlbaresItalyAmy Elsner NEGOTIATION
Jennifer AmigonAustraliaStephen Shaw QUALIFIED
Murillo MaletBrazilAsiya Javayant UNQUALIFIED
Octavia MaletBrazilStephen Shaw UNQUALIFIED
Kaitlin OstroskyArgentinaAnna Fali UNQUALIFIED
Clifford RimFranceAnna Fali PROPOSAL
Chavez BriddickRussiaAsiya Javayant QUALIFIED
Jefferson SchemmerAustraliaAnna Fali UNQUALIFIED
Ashley DoeBrazilAnna Fali NEW
Mujtaba NickaSpainXuxue Feng NEW
Leon OldroydRussiaIvan Magalhaes NEGOTIATION
Claire TollnerRussiaAsiya Javayant NEW
Mujtaba NickaGermanyStephen Shaw NEW
Maria MarrierGermanyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Stacey MacleadArgentinaBernardo Dominic NEGOTIATION
Clifford RimIndiaBernardo Dominic NEW
Isabel BowleyGermanyStephen Shaw UNQUALIFIED
Darci PoquetteSpainAsiya Javayant RENEWAL
Cody SaylorsUnited KingdomElwin Sharvill RENEWAL
Kaitlin OstroskyGermanyOnyama Limba UNQUALIFIED
Octavia MaletFranceXuxue Feng PROPOSAL
Aditya KuskoIndiaXuxue Feng RENEWAL
James ButtFranceAnna Fali NEGOTIATION
Costa DilliardCanadaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha RulapaughCanada2026-04-29Commercial Press QUALIFIED26Ioni Bowcher
1001Munro FerenczSpain2026-04-13Commercial Press PROPOSAL62Bernardo Dominic
1002Maisha RulapaughUnited Kingdom2026-04-06Chanay, Jeffrey A Esq PROPOSAL94Stephen Shaw
1003Aruna FigeroaAustralia2026-04-25Commercial Press QUALIFIED28Bernardo Dominic
1004Greenwood BologniaGermany2026-04-30Printing Dimensions NEGOTIATION92Ioni Bowcher
1005James ButtUnited Kingdom2026-04-21Dorl, James J Esq QUALIFIED62Ioni Bowcher
1006Jennifer AmigonCanada2026-04-19Rousseaux, Michael Esq RENEWAL47Anna Fali
1007Antonio CaudyRussia2026-04-16Morlong Associates NEW32Anna Fali
1008Darci PoquetteIndia2026-04-15Benton, John B Jr NEW66Ivan Magalhaes
1009Julie StensethBrazil2026-04-24Chanay, Jeffrey A Esq NEGOTIATION16Amy Elsner
1010Izzy GarufiGermany2026-04-17Rangoni Of Florence RENEWAL34Anna Fali
1011Johnson SergiGermany2026-04-09Printing Dimensions NEW92Amy Elsner
1012Izzy GarufiRussia2026-04-22Buckley Miller Wright QUALIFIED26Stephen Shaw
1013Izzy GarufiFrance2026-04-07Truhlar And Truhlar Attys NEGOTIATION16Ivan Magalhaes
1014Smith GlickFrance2026-04-19Printing Dimensions NEW68Stephen Shaw
1015James ButtCanada2026-04-13Feltz Printing Service QUALIFIED72Xuxue Feng
1016Smith GlickFrance2026-04-07Rousseaux, Michael Esq UNQUALIFIED45Ivan Magalhaes
1017Maisha RulapaughCanada2026-04-09Feltz Printing Service UNQUALIFIED39Onyama Limba
1018Antonio CaudyArgentina2026-04-16Rousseaux, Michael Esq QUALIFIED93Xuxue Feng
1019Octavia MaletUnited Kingdom2026-04-12Truhlar And Truhlar Attys PROPOSAL60Ioni Bowcher
1020Ricardo GauchoRussia2026-04-26Chapman, Ross E Esq NEGOTIATION2Stephen Shaw
1021Darci PoquetteGermany2026-04-15Dorl, James J Esq PROPOSAL81Stephen Shaw
1022Adams MorascaRussia2026-04-13Rangoni Of Florence NEW88Amy Elsner
1023Chavez BriddickJapan2026-04-15Chapman, Ross E Esq NEGOTIATION14Stephen Shaw
1024Misaki RoysterFrance2026-04-21Rangoni Of Florence QUALIFIED69Xuxue Feng
1025Murillo MaletJapan2026-04-18King, Christopher A Esq UNQUALIFIED66Amy Elsner
1026Maria MarrierUnited Kingdom2026-04-20Chanay, Jeffrey A Esq QUALIFIED97Elwin Sharvill
1027Octavia MaletUnited Kingdom2026-04-16Dorl, James J Esq NEGOTIATION6Onyama Limba
1028Jefferson SchemmerJapan2026-04-08Rangoni Of Florence QUALIFIED52Ivan Magalhaes
1029Claire TollnerFrance2026-04-26Commercial Press UNQUALIFIED43Asiya Javayant
1030James ButtAustralia2026-04-04Chapman, Ross E Esq NEGOTIATION50Asiya Javayant
1031Nicolas IturbideFrance2026-04-15Rousseaux, Michael Esq NEW52Elwin Sharvill
1032Jefferson SchemmerAustralia2026-05-03Feiner Bros RENEWAL76Anna Fali
1033Tony FollerRussia2026-04-11Chanay, Jeffrey A Esq RENEWAL81Amy Elsner
1034Julie StensethUnited Kingdom2026-04-22Rangoni Of Florence NEW37Ioni Bowcher
1035Sinclair WaycottCanada2026-04-12Truhlar And Truhlar Attys QUALIFIED54Stephen Shaw
1036Clifford RimSpain2026-04-12Chapman, Ross E Esq PROPOSAL53Stephen Shaw
1037Cody SaylorsUnited Kingdom2026-04-08Feiner Bros NEGOTIATION6Stephen Shaw
1038Ricardo GauchoCanada2026-04-22Chanay, Jeffrey A Esq QUALIFIED75Asiya Javayant
1039Maisha RulapaughGermany2026-04-22Rangoni Of Florence NEW0Stephen Shaw
1040Leon OldroydCanada2026-04-05Printing Dimensions PROPOSAL18Elwin Sharvill
1041Izzy GarufiUnited Kingdom2026-04-24Buckley Miller Wright NEGOTIATION91Amy Elsner
1042Jennifer AmigonIndia2026-04-30Buckley Miller Wright RENEWAL71Asiya Javayant
1043Leja CaldareraAustralia2026-05-01Buckley Miller Wright RENEWAL22Onyama Limba
1044Silvio SlusarskiAustralia2026-05-02Printing Dimensions NEGOTIATION53Asiya Javayant
1045Smith GlickSpain2026-04-11Chapman, Ross E Esq PROPOSAL82Xuxue Feng
1046Kadeem FlosiFrance2026-04-17King, Christopher A Esq PROPOSAL96Ioni Bowcher
1047Darci PoquetteRussia2026-04-16King, Christopher A Esq RENEWAL25Stephen Shaw
1048David DarakjyCanada2026-04-06Morlong Associates UNQUALIFIED95Asiya Javayant
1049Silvio SlusarskiRussia2026-04-26Benton, John B Jr PROPOSAL92Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Tony FollerBrazilStephen Shaw UNQUALIFIED
Leja CaldareraJapanBernardo Dominic QUALIFIED
Silvio SlusarskiRussiaStephen Shaw PROPOSAL
Aruna FigeroaSpainBernardo Dominic RENEWAL
Smith GlickSpainXuxue Feng NEGOTIATION
Aditya KuskoGermanyAmy Elsner QUALIFIED
James ButtJapanStephen Shaw RENEWAL
Mujtaba NickaItalyStephen Shaw RENEWAL
Salvatore StockhamRussiaStephen Shaw QUALIFIED
Rodrigues CampainUnited KingdomAnna Fali UNQUALIFIED
Emily WhobreySpainIvan Magalhaes UNQUALIFIED
Jefferson SchemmerFranceAnna Fali PROPOSAL
Juan WieserSpainAsiya Javayant NEW
Alejandro PerinJapanAsiya Javayant NEW
Deepesh ChuiArgentinaIoni Bowcher NEW
Kadeem FlosiGermanyXuxue Feng QUALIFIED
Alejandro PerinFranceIvan Magalhaes PROPOSAL
James ButtFranceIoni Bowcher QUALIFIED
Silvio SlusarskiSpainOnyama Limba RENEWAL
Sinclair WaycottFranceIvan Magalhaes PROPOSAL
Adams MorascaUnited KingdomOnyama Limba NEW
Kaitlin OstroskyAustraliaAnna Fali PROPOSAL
Costa DilliardItalyStephen Shaw NEGOTIATION
Salvatore StockhamFranceIoni Bowcher QUALIFIED
Silvio SlusarskiUnited KingdomStephen Shaw PROPOSAL
Alejandro PerinRussiaIvan Magalhaes NEW
Wickens NestleSpainXuxue Feng NEW
Faith GillianJapanAmy Elsner NEW
Kaitlin OstroskyRussiaIvan Magalhaes NEW
James ButtIndiaIvan Magalhaes NEGOTIATION
Greenwood BologniaBrazilOnyama Limba NEGOTIATION
Stacey MacleadJapanAsiya Javayant PROPOSAL
Deepesh ChuiIndiaElwin Sharvill NEGOTIATION
Jones VocelkaItalyXuxue Feng QUALIFIED
Maria MarrierIndiaIoni Bowcher QUALIFIED
Jennifer AmigonCanadaAsiya Javayant NEW
Murillo MaletSpainStephen Shaw PROPOSAL
Aruna FigeroaFranceAmy Elsner QUALIFIED
Salvatore StockhamItalyElwin Sharvill NEW
Deepesh ChuiAustraliaAnna Fali NEGOTIATION
Tony FollerItalyStephen Shaw RENEWAL
Costa DilliardRussiaOnyama Limba UNQUALIFIED
Ricardo GauchoArgentinaXuxue Feng QUALIFIED
David DarakjySpainAnna Fali RENEWAL
Claire TollnerSpainAmy Elsner RENEWAL
Smith GlickAustraliaAmy Elsner NEGOTIATION
Chavez BriddickSpainIoni Bowcher UNQUALIFIED
Salvatore StockhamSpainAmy Elsner UNQUALIFIED
David DarakjyArgentinaBernardo Dominic NEGOTIATION
Wickens NestleRussiaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Jennifer Amigon
Munro Ferencz
Silvio Slusarski
Murillo Malet
Maisha Rulapaugh
Isabel Bowley
Jennifer Amigon
Smith Glick
Julie Stenseth
Mujtaba Nicka
Munro Ferencz
Chavez Briddick
Sinclair Waycott
Chavez Briddick
Ivar Paprocki
Claire Tollner
Munro Ferencz
Maisha Rulapaugh
Claire Tollner
Mujtaba Nicka
Faith Gillian
Tony Foller
Jeanfrancois Venere
Darci Poquette
Emily Whobrey
Aruna Figeroa
Greenwood Bolognia
Salvatore Stockham
Faith Gillian
Jefferson Schemmer
Nicolas Iturbide
Deepesh Chui
Faith Gillian
Rodrigues Campain
Francesco Shinko
Stacey Maclead
Francesco Shinko
Ashley Doe
Mujtaba Nicka
Nicolas Iturbide
Cody Saylors
Wickens Nestle
Deepesh Chui
Nicolas Iturbide
Morrow Ruta
Aika Inouye
Ivar Paprocki
Kaitlin Ostrosky
Munro Ferencz
Sinclair Waycott
IdCountryDate
1000Germany2026-04-10
1001France2026-05-02
1002Japan2026-04-16
1003Argentina2026-04-07
1004Brazil2026-04-12
1005Italy2026-05-03
1006India2026-04-27
1007Argentina2026-04-19
1008Brazil2026-04-16
1009Japan2026-04-20
1010Italy2026-04-12
1011Germany2026-04-25
1012Canada2026-04-11
1013France2026-04-25
1014Canada2026-04-04
1015Spain2026-04-18
1016France2026-05-02
1017Japan2026-04-04
1018United Kingdom2026-04-10
1019Canada2026-04-22
1020France2026-04-28
1021India2026-04-04
1022France2026-04-06
1023Canada2026-04-16
1024Japan2026-04-25
1025Spain2026-04-07
1026United Kingdom2026-04-20
1027Russia2026-04-16
1028Brazil2026-04-13
1029United Kingdom2026-04-20
1030Germany2026-04-24
1031United Kingdom2026-05-02
1032Germany2026-04-16
1033India2026-04-16
1034Spain2026-04-12
1035France2026-04-26
1036France2026-04-10
1037Italy2026-04-12
1038Japan2026-04-18
1039Australia2026-04-16
1040Argentina2026-04-28
1041India2026-05-01
1042France2026-04-17
1043Russia2026-05-01
1044Australia2026-04-14
1045Brazil2026-04-27
1046France2026-04-05
1047Argentina2026-04-28
1048Australia2026-04-19
1049France2026-04-16

On-Demand Data

NameIdCountryDate
Leja Caldarera1000Italy2026-04-23
Arvin Albares1001United Kingdom2026-04-08
Maria Marrier1002Germany2026-04-25
Mayumi Kolmetz1003United Kingdom2026-04-28
Kadeem Flosi1004France2026-05-03
Octavia Malet1005India2026-04-28
Francesco Shinko1006Argentina2026-04-04
Aditya Kusko1007Japan2026-05-03
Jones Vocelka1008Italy2026-04-21
Ricardo Gaucho1009Canada2026-04-15
Stacey Maclead1010France2026-05-03
Julie Stenseth1011Argentina2026-04-17
Nicolas Iturbide1012Italy2026-04-13
Wickens Nestle1013United Kingdom2026-04-21
Maria Marrier1014India2026-04-11
Deepesh Chui1015Canada2026-04-15
Sinclair Waycott1016Germany2026-04-28
Nicolas Iturbide1017France2026-04-13
Tony Foller1018United Kingdom2026-04-06
Tony Foller1019Argentina2026-04-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin OstroskySpainStephen Shaw NEGOTIATION
Ashley DoeItalyIoni Bowcher NEGOTIATION
Juan WieserArgentinaBernardo Dominic RENEWAL
Isabel BowleyCanadaOnyama Limba NEGOTIATION
Aika InouyeJapanAsiya Javayant RENEWAL
Aditya KuskoBrazilAmy Elsner UNQUALIFIED
Greenwood BologniaCanadaStephen Shaw RENEWAL
Rodrigues CampainGermanyAmy Elsner NEGOTIATION
Maria MarrierFranceAsiya Javayant QUALIFIED
Munro FerenczGermanyIvan Magalhaes QUALIFIED
Antonio CaudyRussiaBernardo Dominic UNQUALIFIED
Jennifer AmigonBrazilXuxue Feng UNQUALIFIED
Johnson SergiUnited KingdomAnna Fali NEW
Salvatore StockhamCanadaIoni Bowcher NEW
Leja CaldareraFranceAnna Fali QUALIFIED
Jeanfrancois VenereRussiaAsiya Javayant RENEWAL
Misaki RoysterAustraliaElwin Sharvill NEGOTIATION
Izzy GarufiIndiaAsiya Javayant NEW
Claire TollnerBrazilXuxue Feng NEGOTIATION
Nicolas IturbideGermanyXuxue Feng UNQUALIFIED
Johnson SergiGermanyStephen Shaw NEW
Cody SaylorsItalyElwin Sharvill UNQUALIFIED
Murillo MaletIndiaIvan Magalhaes NEGOTIATION
Ivar PaprockiRussiaIoni Bowcher UNQUALIFIED
Ashley DoeCanadaAmy Elsner PROPOSAL
Francesco ShinkoJapanXuxue Feng RENEWAL
Kadeem FlosiCanadaBernardo Dominic NEGOTIATION
Adams MorascaJapanIoni Bowcher QUALIFIED
Izzy GarufiItalyIoni Bowcher NEW
Misaki RoysterAustraliaAmy Elsner QUALIFIED
Francesco ShinkoIndiaStephen Shaw RENEWAL
James ButtBrazilElwin Sharvill QUALIFIED
Greenwood BologniaFranceAsiya Javayant RENEWAL
Morrow RutaBrazilStephen Shaw PROPOSAL
David DarakjyGermanyStephen Shaw RENEWAL
David DarakjyArgentinaAmy Elsner RENEWAL
Morrow RutaItalyElwin Sharvill UNQUALIFIED
Maisha RulapaughBrazilXuxue Feng NEW
Tony FollerRussiaAnna Fali RENEWAL
Jones VocelkaItalyOnyama Limba 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>