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
Kadeem FlosiFranceAsiya Javayant PROPOSAL
Alejandro PerinJapanAmy Elsner RENEWAL
Leon OldroydSpainStephen Shaw NEGOTIATION
Francesco ShinkoJapanAmy Elsner NEW
Tony FollerItalyAmy Elsner RENEWAL
Julie StensethSpainIvan Magalhaes QUALIFIED
Jones VocelkaItalyIvan Magalhaes QUALIFIED
Munro FerenczBrazilOnyama Limba UNQUALIFIED
Maria MarrierAustraliaStephen Shaw PROPOSAL
Jennifer AmigonAustraliaIvan Magalhaes NEW
Stacey MacleadArgentinaOnyama Limba PROPOSAL
Clifford RimGermanyStephen Shaw PROPOSAL
Jefferson SchemmerGermanyOnyama Limba PROPOSAL
Aditya KuskoSpainXuxue Feng QUALIFIED
Izzy GarufiSpainElwin Sharvill NEGOTIATION
Johnson SergiCanadaIvan Magalhaes UNQUALIFIED
Jones VocelkaArgentinaOnyama Limba UNQUALIFIED
Jefferson SchemmerJapanIvan Magalhaes RENEWAL
Aruna FigeroaArgentinaIvan Magalhaes QUALIFIED
Cody SaylorsSpainStephen Shaw PROPOSAL
Silvio SlusarskiGermanyStephen Shaw PROPOSAL
Mayumi KolmetzBrazilXuxue Feng NEW
Antonio CaudyArgentinaOnyama Limba PROPOSAL
Emily WhobreyCanadaStephen Shaw RENEWAL
Rodrigues CampainAustraliaBernardo Dominic UNQUALIFIED
Munro FerenczItalyStephen Shaw PROPOSAL
Darci PoquetteBrazilAnna Fali NEW
Stacey MacleadItalyBernardo Dominic UNQUALIFIED
Faith GillianGermanyBernardo Dominic QUALIFIED
Mujtaba NickaRussiaAnna Fali RENEWAL
Rodrigues CampainJapanAnna Fali PROPOSAL
Mujtaba NickaCanadaIoni Bowcher PROPOSAL
Emily WhobreyAustraliaAnna Fali UNQUALIFIED
Maria MarrierAustraliaOnyama Limba RENEWAL
Munro FerenczSpainXuxue Feng QUALIFIED
Emily WhobreyIndiaAmy Elsner UNQUALIFIED
Darci PoquetteCanadaIvan Magalhaes QUALIFIED
Ivar PaprockiJapanBernardo Dominic NEGOTIATION
Aika InouyeItalyElwin Sharvill UNQUALIFIED
Isabel BowleyFranceOnyama Limba NEGOTIATION
Ashley DoeArgentinaStephen Shaw QUALIFIED
Maisha RulapaughFranceIoni Bowcher UNQUALIFIED
James ButtIndiaStephen Shaw UNQUALIFIED
Leja CaldareraGermanyAnna Fali PROPOSAL
Tony FollerAustraliaIvan Magalhaes QUALIFIED
Mayumi KolmetzSpainXuxue Feng NEGOTIATION
Ricardo GauchoIndiaXuxue Feng NEW
Darci PoquetteGermanyAnna Fali UNQUALIFIED
Kaitlin OstroskyUnited KingdomAmy Elsner NEW
Clifford RimIndiaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie StensethSpainAnna Fali RENEWAL
Sinclair WaycottFranceIvan Magalhaes NEW
Clifford RimJapanXuxue Feng NEGOTIATION
Silvio SlusarskiJapanIoni Bowcher QUALIFIED
Salvatore StockhamAustraliaStephen Shaw PROPOSAL
Johnson SergiSpainAsiya Javayant QUALIFIED
Munro FerenczBrazilOnyama Limba NEW
Aika InouyeSpainAmy Elsner NEW
Chavez BriddickBrazilAnna Fali PROPOSAL
Chavez BriddickCanadaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria MarrierSpain2026-04-09Morlong Associates PROPOSAL69Ioni Bowcher
1001Leja CaldareraIndia2026-04-12Rousseaux, Michael Esq PROPOSAL47Ioni Bowcher
1002Ivar PaprockiIndia2026-04-08Truhlar And Truhlar Attys PROPOSAL34Ioni Bowcher
1003Ashley DoeGermany2026-04-10Morlong Associates NEGOTIATION28Xuxue Feng
1004Murillo MaletFrance2026-04-06Chanay, Jeffrey A Esq QUALIFIED10Onyama Limba
1005Leja CaldareraGermany2026-04-16Chanay, Jeffrey A Esq QUALIFIED31Asiya Javayant
1006Salvatore StockhamCanada2026-04-01Truhlar And Truhlar Attys NEW15Anna Fali
1007Smith GlickJapan2026-04-09Feiner Bros NEW36Anna Fali
1008Mujtaba NickaJapan2026-04-07Chapman, Ross E Esq UNQUALIFIED28Bernardo Dominic
1009Aditya KuskoBrazil2026-03-30Truhlar And Truhlar Attys NEW80Ivan Magalhaes
1010Ivar PaprockiAustralia2026-04-16King, Christopher A Esq NEGOTIATION16Xuxue Feng
1011Misaki RoysterBrazil2026-03-22Printing Dimensions UNQUALIFIED87Anna Fali
1012Clifford RimJapan2026-03-31Commercial Press QUALIFIED15Stephen Shaw
1013Mayumi KolmetzCanada2026-04-19Printing Dimensions NEW52Elwin Sharvill
1014Faith GillianItaly2026-04-07Feiner Bros UNQUALIFIED33Ioni Bowcher
1015Deepesh ChuiCanada2026-04-19Feltz Printing Service QUALIFIED2Asiya Javayant
1016Chavez BriddickIndia2026-04-20Morlong Associates UNQUALIFIED78Ioni Bowcher
1017Maisha RulapaughItaly2026-04-02Truhlar And Truhlar Attys RENEWAL42Stephen Shaw
1018Greenwood BologniaIndia2026-03-24Rangoni Of Florence UNQUALIFIED20Ioni Bowcher
1019Jeanfrancois VenereArgentina2026-04-10Rousseaux, Michael Esq PROPOSAL51Asiya Javayant
1020Jeanfrancois VenereRussia2026-04-09Rangoni Of Florence QUALIFIED47Ioni Bowcher
1021Sinclair WaycottGermany2026-04-04Dorl, James J Esq RENEWAL55Stephen Shaw
1022Leon OldroydGermany2026-03-26Feiner Bros UNQUALIFIED0Onyama Limba
1023Aditya KuskoIndia2026-04-19Rousseaux, Michael Esq RENEWAL2Onyama Limba
1024Smith GlickFrance2026-04-12Printing Dimensions QUALIFIED77Stephen Shaw
1025Wickens NestleArgentina2026-04-09Rangoni Of Florence RENEWAL59Ioni Bowcher
1026Arvin AlbaresAustralia2026-04-03Rangoni Of Florence UNQUALIFIED29Xuxue Feng
1027Aika InouyeUnited Kingdom2026-03-28Morlong Associates NEW8Bernardo Dominic
1028Costa DilliardFrance2026-03-27Dorl, James J Esq RENEWAL21Anna Fali
1029Chavez BriddickCanada2026-03-22Dorl, James J Esq QUALIFIED12Bernardo Dominic
1030Costa DilliardRussia2026-04-18Morlong Associates UNQUALIFIED45Amy Elsner
1031Jennifer AmigonSpain2026-04-02Chapman, Ross E Esq RENEWAL43Elwin Sharvill
1032Alejandro PerinBrazil2026-04-05Morlong Associates QUALIFIED79Onyama Limba
1033Ivar PaprockiCanada2026-03-30Truhlar And Truhlar Attys NEGOTIATION30Onyama Limba
1034Wickens NestleSpain2026-03-22Printing Dimensions NEW69Ioni Bowcher
1035Faith GillianGermany2026-04-06Chanay, Jeffrey A Esq QUALIFIED69Asiya Javayant
1036Tony FollerUnited Kingdom2026-04-12Rousseaux, Michael Esq UNQUALIFIED60Ioni Bowcher
1037Julie StensethJapan2026-03-23Chanay, Jeffrey A Esq RENEWAL33Amy Elsner
1038Salvatore StockhamCanada2026-04-20Chemel, James L Cpa QUALIFIED19Asiya Javayant
1039Munro FerenczUnited Kingdom2026-03-29Rousseaux, Michael Esq NEW49Ivan Magalhaes
1040Jeanfrancois VenereGermany2026-04-13Commercial Press RENEWAL67Amy Elsner
1041Cody SaylorsRussia2026-04-11Dorl, James J Esq RENEWAL39Stephen Shaw
1042Darci PoquetteAustralia2026-03-28Chemel, James L Cpa RENEWAL22Amy Elsner
1043Johnson SergiBrazil2026-04-10Feiner Bros NEW59Xuxue Feng
1044Mujtaba NickaRussia2026-03-30Morlong Associates NEGOTIATION64Anna Fali
1045Tony FollerAustralia2026-04-15Benton, John B Jr RENEWAL39Xuxue Feng
1046Ivar PaprockiGermany2026-03-29Printing Dimensions NEW64Elwin Sharvill
1047Aruna FigeroaBrazil2026-03-30Chemel, James L Cpa NEGOTIATION74Ivan Magalhaes
1048Jefferson SchemmerCanada2026-04-07Dorl, James J Esq RENEWAL99Anna Fali
1049Deepesh ChuiCanada2026-04-16Benton, John B Jr UNQUALIFIED88Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Izzy GarufiArgentinaAmy Elsner RENEWAL
Tony FollerRussiaIvan Magalhaes NEW
Antonio CaudyFranceXuxue Feng NEGOTIATION
David DarakjyIndiaAmy Elsner RENEWAL
Adams MorascaSpainStephen Shaw PROPOSAL
Kadeem FlosiItalyAsiya Javayant NEW
Nicolas IturbideAustraliaAnna Fali UNQUALIFIED
Aruna FigeroaSpainElwin Sharvill PROPOSAL
Claire TollnerItalyIvan Magalhaes NEW
Darci PoquetteItalyIoni Bowcher NEGOTIATION
Tony FollerCanadaStephen Shaw QUALIFIED
Silvio SlusarskiUnited KingdomElwin Sharvill NEW
Mujtaba NickaCanadaElwin Sharvill PROPOSAL
Clifford RimGermanyIvan Magalhaes RENEWAL
Aditya KuskoSpainStephen Shaw UNQUALIFIED
Wickens NestleSpainElwin Sharvill NEGOTIATION
James ButtIndiaAsiya Javayant UNQUALIFIED
Isabel BowleyBrazilStephen Shaw UNQUALIFIED
Leon OldroydJapanIvan Magalhaes RENEWAL
Ivar PaprockiGermanyIvan Magalhaes UNQUALIFIED
Jones VocelkaRussiaIoni Bowcher PROPOSAL
Salvatore StockhamIndiaAsiya Javayant PROPOSAL
Morrow RutaSpainAmy Elsner UNQUALIFIED
Leja CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Wickens NestleBrazilElwin Sharvill NEW
Cody SaylorsSpainElwin Sharvill PROPOSAL
Nicolas IturbideBrazilAsiya Javayant QUALIFIED
Izzy GarufiIndiaIvan Magalhaes QUALIFIED
Isabel BowleyAustraliaAnna Fali QUALIFIED
Darci PoquetteFranceAsiya Javayant QUALIFIED
Mujtaba NickaJapanBernardo Dominic RENEWAL
Ashley DoeJapanXuxue Feng NEGOTIATION
Aruna FigeroaBrazilAnna Fali QUALIFIED
Kaitlin OstroskySpainIvan Magalhaes NEW
Aruna FigeroaAustraliaOnyama Limba NEW
Izzy GarufiJapanStephen Shaw NEW
Greenwood BologniaSpainBernardo Dominic QUALIFIED
Izzy GarufiJapanElwin Sharvill NEW
Mujtaba NickaArgentinaOnyama Limba NEGOTIATION
Aika InouyeIndiaAmy Elsner NEW
Sinclair WaycottArgentinaAsiya Javayant RENEWAL
Alejandro PerinSpainAsiya Javayant PROPOSAL
Ivar PaprockiJapanAmy Elsner RENEWAL
Antonio CaudyRussiaAmy Elsner RENEWAL
Chavez BriddickRussiaAnna Fali UNQUALIFIED
Claire TollnerIndiaAnna Fali UNQUALIFIED
Jones VocelkaRussiaXuxue Feng NEW
Jefferson SchemmerRussiaAsiya Javayant NEW
Ivar PaprockiRussiaBernardo Dominic PROPOSAL
Kaitlin OstroskyJapanIvan Magalhaes RENEWAL
Frozen Columns
Name
Smith Glick
Rodrigues Campain
Ashley Doe
Arvin Albares
Munro Ferencz
Deepesh Chui
Octavia Malet
Arvin Albares
Misaki Royster
Rodrigues Campain
Arvin Albares
Kadeem Flosi
Aruna Figeroa
Jones Vocelka
Jennifer Amigon
Sinclair Waycott
James Butt
Costa Dilliard
Jones Vocelka
Maisha Rulapaugh
Leon Oldroyd
Mayumi Kolmetz
Jefferson Schemmer
Leja Caldarera
Isabel Bowley
Misaki Royster
Maisha Rulapaugh
Costa Dilliard
Deepesh Chui
Maria Marrier
Munro Ferencz
Octavia Malet
Sinclair Waycott
Maisha Rulapaugh
Jeanfrancois Venere
Mayumi Kolmetz
Stacey Maclead
Francesco Shinko
Alejandro Perin
Faith Gillian
Wickens Nestle
Faith Gillian
Salvatore Stockham
Aditya Kusko
Izzy Garufi
Aruna Figeroa
Nicolas Iturbide
Morrow Ruta
James Butt
Aruna Figeroa
IdCountryDate
1000Argentina2026-04-01
1001Brazil2026-04-05
1002Spain2026-03-23
1003India2026-03-30
1004France2026-04-13
1005India2026-04-11
1006Russia2026-04-11
1007France2026-04-12
1008Australia2026-03-28
1009Japan2026-04-14
1010Spain2026-04-10
1011Spain2026-04-06
1012Canada2026-04-06
1013United Kingdom2026-03-26
1014United Kingdom2026-04-20
1015Canada2026-04-14
1016Germany2026-03-30
1017Argentina2026-03-22
1018Argentina2026-03-30
1019Russia2026-04-14
1020Germany2026-03-29
1021Argentina2026-03-31
1022Italy2026-04-04
1023Russia2026-04-20
1024Brazil2026-03-31
1025Australia2026-03-25
1026Argentina2026-04-16
1027France2026-04-08
1028Russia2026-03-30
1029India2026-03-24
1030Argentina2026-04-07
1031Argentina2026-03-27
1032Australia2026-04-13
1033Japan2026-04-08
1034Russia2026-04-19
1035India2026-04-02
1036France2026-04-15
1037Italy2026-03-29
1038India2026-04-19
1039Russia2026-03-23
1040India2026-04-20
1041Spain2026-03-31
1042Japan2026-04-02
1043India2026-04-12
1044Brazil2026-03-25
1045Italy2026-04-05
1046Italy2026-03-25
1047Spain2026-04-13
1048Germany2026-03-25
1049Brazil2026-04-15

On-Demand Data

NameIdCountryDate
Wickens Nestle1000Germany2026-03-23
Wickens Nestle1001Argentina2026-04-03
Maisha Rulapaugh1002Germany2026-03-31
Isabel Bowley1003Australia2026-03-30
Salvatore Stockham1004Spain2026-04-16
Misaki Royster1005Germany2026-03-27
Kadeem Flosi1006Italy2026-03-22
Johnson Sergi1007Australia2026-04-07
Jones Vocelka1008Canada2026-03-31
Clifford Rim1009India2026-04-15
Rodrigues Campain1010France2026-04-20
Kaitlin Ostrosky1011India2026-04-01
Kadeem Flosi1012Russia2026-03-25
James Butt1013Canada2026-04-14
Deepesh Chui1014Italy2026-04-11
Maria Marrier1015India2026-03-31
Izzy Garufi1016Argentina2026-03-23
Stacey Maclead1017Germany2026-04-03
Darci Poquette1018Germany2026-03-29
Jennifer Amigon1019Germany2026-04-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha RulapaughGermanyIoni Bowcher UNQUALIFIED
Kadeem FlosiFranceStephen Shaw QUALIFIED
Faith GillianGermanyXuxue Feng UNQUALIFIED
Jennifer AmigonBrazilIoni Bowcher NEW
Jeanfrancois VenereSpainOnyama Limba UNQUALIFIED
Isabel BowleyRussiaIvan Magalhaes PROPOSAL
Johnson SergiRussiaAsiya Javayant QUALIFIED
Jennifer AmigonItalyAsiya Javayant NEW
Francesco ShinkoUnited KingdomXuxue Feng RENEWAL
Antonio CaudyAustraliaAnna Fali QUALIFIED
Mayumi KolmetzRussiaAsiya Javayant UNQUALIFIED
Greenwood BologniaSpainAsiya Javayant QUALIFIED
Munro FerenczArgentinaAsiya Javayant NEW
Faith GillianRussiaStephen Shaw NEW
Sinclair WaycottFranceElwin Sharvill QUALIFIED
Octavia MaletJapanIoni Bowcher NEGOTIATION
Alejandro PerinSpainAsiya Javayant NEW
Adams MorascaRussiaXuxue Feng UNQUALIFIED
Morrow RutaUnited KingdomIoni Bowcher RENEWAL
Antonio CaudyItalyElwin Sharvill RENEWAL
Murillo MaletAustraliaAmy Elsner RENEWAL
Tony FollerSpainXuxue Feng PROPOSAL
Mayumi KolmetzItalyIvan Magalhaes PROPOSAL
Izzy GarufiArgentinaIvan Magalhaes NEGOTIATION
Stacey MacleadItalyAsiya Javayant PROPOSAL
Jefferson SchemmerRussiaElwin Sharvill NEW
Juan WieserUnited KingdomStephen Shaw RENEWAL
Deepesh ChuiBrazilOnyama Limba UNQUALIFIED
Cody SaylorsJapanIvan Magalhaes QUALIFIED
Julie StensethSpainAmy Elsner NEGOTIATION
Jeanfrancois VenereSpainElwin Sharvill PROPOSAL
Claire TollnerAustraliaXuxue Feng PROPOSAL
Maisha RulapaughRussiaIoni Bowcher QUALIFIED
Ivar PaprockiIndiaIoni Bowcher NEW
Johnson SergiRussiaAnna Fali NEGOTIATION
Silvio SlusarskiSpainAnna Fali RENEWAL
Jefferson SchemmerItalyOnyama Limba NEW
Jefferson SchemmerSpainElwin Sharvill UNQUALIFIED
Isabel BowleyCanadaIvan Magalhaes UNQUALIFIED
Clifford RimSpainElwin Sharvill QUALIFIED

<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>