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
Isabel BowleyCanadaAmy Elsner PROPOSAL
Ivar PaprockiRussiaElwin Sharvill NEW
Darci PoquetteBrazilAmy Elsner NEW
Salvatore StockhamBrazilOnyama Limba NEW
Claire TollnerBrazilIoni Bowcher RENEWAL
Arvin AlbaresRussiaAnna Fali PROPOSAL
Johnson SergiArgentinaAsiya Javayant QUALIFIED
Murillo MaletCanadaIvan Magalhaes UNQUALIFIED
Costa DilliardIndiaAnna Fali NEGOTIATION
Tony FollerIndiaAnna Fali PROPOSAL
Wickens NestleArgentinaAmy Elsner NEGOTIATION
Ricardo GauchoCanadaBernardo Dominic UNQUALIFIED
Rodrigues CampainAustraliaElwin Sharvill UNQUALIFIED
Faith GillianFranceAnna Fali QUALIFIED
Stacey MacleadGermanyAnna Fali QUALIFIED
Juan WieserFranceStephen Shaw NEGOTIATION
Leon OldroydUnited KingdomIoni Bowcher PROPOSAL
Izzy GarufiJapanXuxue Feng UNQUALIFIED
Jones VocelkaCanadaOnyama Limba NEW
Isabel BowleyFranceIoni Bowcher QUALIFIED
Misaki RoysterItalyAmy Elsner RENEWAL
Octavia MaletAustraliaAmy Elsner NEW
Faith GillianJapanXuxue Feng UNQUALIFIED
Adams MorascaRussiaIoni Bowcher RENEWAL
Nicolas IturbideBrazilElwin Sharvill RENEWAL
Jennifer AmigonSpainIvan Magalhaes QUALIFIED
Juan WieserGermanyXuxue Feng NEGOTIATION
Smith GlickAustraliaAsiya Javayant NEW
Costa DilliardItalyIoni Bowcher UNQUALIFIED
Aika InouyeGermanyOnyama Limba RENEWAL
Tony FollerFranceOnyama Limba QUALIFIED
Salvatore StockhamCanadaAsiya Javayant QUALIFIED
Antonio CaudyJapanOnyama Limba QUALIFIED
Johnson SergiJapanIoni Bowcher UNQUALIFIED
Chavez BriddickCanadaStephen Shaw PROPOSAL
Misaki RoysterJapanElwin Sharvill RENEWAL
Kaitlin OstroskyCanadaAsiya Javayant RENEWAL
Greenwood BologniaSpainOnyama Limba UNQUALIFIED
Deepesh ChuiRussiaAmy Elsner NEGOTIATION
Stacey MacleadBrazilElwin Sharvill NEGOTIATION
Morrow RutaFranceElwin Sharvill RENEWAL
Faith GillianCanadaAnna Fali RENEWAL
Mayumi KolmetzBrazilBernardo Dominic QUALIFIED
Faith GillianJapanBernardo Dominic UNQUALIFIED
Juan WieserUnited KingdomIvan Magalhaes NEW
Greenwood BologniaIndiaAnna Fali RENEWAL
Arvin AlbaresAustraliaAmy Elsner NEGOTIATION
Mujtaba NickaSpainElwin Sharvill NEGOTIATION
Jefferson SchemmerRussiaAsiya Javayant PROPOSAL
Aruna FigeroaFranceAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson SchemmerBrazilIvan Magalhaes PROPOSAL
Darci PoquetteFranceElwin Sharvill NEGOTIATION
Mayumi KolmetzRussiaBernardo Dominic NEGOTIATION
Ivar PaprockiGermanyOnyama Limba UNQUALIFIED
Morrow RutaGermanyBernardo Dominic NEW
Aditya KuskoIndiaOnyama Limba QUALIFIED
Greenwood BologniaJapanElwin Sharvill UNQUALIFIED
Jeanfrancois VenereJapanOnyama Limba UNQUALIFIED
Maisha RulapaughAustraliaStephen Shaw UNQUALIFIED
Stacey MacleadGermanyBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa DilliardGermany2026-05-18Chemel, James L Cpa RENEWAL21Ivan Magalhaes
1001Maisha RulapaughAustralia2026-05-01Feiner Bros PROPOSAL74Asiya Javayant
1002Sinclair WaycottBrazil2026-04-28Truhlar And Truhlar Attys NEGOTIATION90Elwin Sharvill
1003Alejandro PerinRussia2026-05-12Benton, John B Jr RENEWAL72Amy Elsner
1004Ashley DoeItaly2026-04-28Rangoni Of Florence RENEWAL93Xuxue Feng
1005Kaitlin OstroskySpain2026-05-12Chemel, James L Cpa NEW80Stephen Shaw
1006Ricardo GauchoAustralia2026-05-16Commercial Press QUALIFIED67Xuxue Feng
1007Arvin AlbaresRussia2026-05-15Feiner Bros NEW77Stephen Shaw
1008Juan WieserSpain2026-05-10Feiner Bros NEW51Stephen Shaw
1009David DarakjyJapan2026-05-06Rousseaux, Michael Esq UNQUALIFIED49Amy Elsner
1010Juan WieserGermany2026-05-05Rangoni Of Florence NEW32Bernardo Dominic
1011Aika InouyeUnited Kingdom2026-05-21Benton, John B Jr NEGOTIATION18Xuxue Feng
1012Clifford RimGermany2026-05-13King, Christopher A Esq PROPOSAL98Ioni Bowcher
1013Aika InouyeUnited Kingdom2026-05-14Feltz Printing Service NEW86Anna Fali
1014Leja CaldareraAustralia2026-05-16Commercial Press UNQUALIFIED65Ivan Magalhaes
1015Leon OldroydAustralia2026-05-01Morlong Associates UNQUALIFIED49Stephen Shaw
1016Maisha RulapaughRussia2026-05-08Chapman, Ross E Esq UNQUALIFIED97Anna Fali
1017Juan WieserItaly2026-04-28King, Christopher A Esq NEGOTIATION53Elwin Sharvill
1018Misaki RoysterFrance2026-05-06Morlong Associates UNQUALIFIED6Bernardo Dominic
1019Mujtaba NickaCanada2026-05-07Truhlar And Truhlar Attys NEGOTIATION57Onyama Limba
1020Jennifer AmigonRussia2026-05-05Printing Dimensions NEGOTIATION42Anna Fali
1021Kaitlin OstroskyJapan2026-05-06Feltz Printing Service RENEWAL73Ioni Bowcher
1022Jefferson SchemmerSpain2026-05-10Benton, John B Jr NEW36Onyama Limba
1023Maria MarrierUnited Kingdom2026-05-06Rangoni Of Florence RENEWAL74Elwin Sharvill
1024Kaitlin OstroskyCanada2026-04-30Buckley Miller Wright UNQUALIFIED89Stephen Shaw
1025Izzy GarufiRussia2026-04-27Buckley Miller Wright NEW33Elwin Sharvill
1026Munro FerenczGermany2026-05-13Buckley Miller Wright QUALIFIED17Ioni Bowcher
1027Salvatore StockhamArgentina2026-05-15Dorl, James J Esq PROPOSAL66Anna Fali
1028Emily WhobreyCanada2026-04-27Truhlar And Truhlar Attys UNQUALIFIED61Amy Elsner
1029Munro FerenczBrazil2026-05-14Chanay, Jeffrey A Esq NEW23Bernardo Dominic
1030Maisha RulapaughSpain2026-05-10Buckley Miller Wright QUALIFIED64Ivan Magalhaes
1031Munro FerenczAustralia2026-05-08Feltz Printing Service PROPOSAL91Onyama Limba
1032Darci PoquetteRussia2026-04-28Rangoni Of Florence NEW25Bernardo Dominic
1033Kaitlin OstroskyGermany2026-04-27Morlong Associates QUALIFIED87Elwin Sharvill
1034Julie StensethUnited Kingdom2026-05-15Morlong Associates RENEWAL39Bernardo Dominic
1035Jennifer AmigonArgentina2026-05-22King, Christopher A Esq PROPOSAL16Anna Fali
1036David DarakjyRussia2026-05-05Rangoni Of Florence QUALIFIED46Amy Elsner
1037Silvio SlusarskiAustralia2026-05-02Chemel, James L Cpa QUALIFIED91Xuxue Feng
1038Jones VocelkaAustralia2026-05-17Feiner Bros NEGOTIATION25Stephen Shaw
1039Jefferson SchemmerJapan2026-05-12Rousseaux, Michael Esq NEGOTIATION95Stephen Shaw
1040Faith GillianUnited Kingdom2026-05-11Rousseaux, Michael Esq NEGOTIATION45Anna Fali
1041Ricardo GauchoRussia2026-05-19Commercial Press NEGOTIATION40Anna Fali
1042Wickens NestleAustralia2026-04-30Chemel, James L Cpa NEW32Elwin Sharvill
1043Jennifer AmigonBrazil2026-05-03Commercial Press PROPOSAL83Ioni Bowcher
1044Faith GillianUnited Kingdom2026-04-27Buckley Miller Wright QUALIFIED98Onyama Limba
1045Rodrigues CampainIndia2026-05-10Feltz Printing Service NEGOTIATION36Xuxue Feng
1046Murillo MaletCanada2026-05-16Dorl, James J Esq PROPOSAL98Xuxue Feng
1047Greenwood BologniaCanada2026-05-07Feltz Printing Service QUALIFIED1Stephen Shaw
1048Darci PoquetteGermany2026-04-28Commercial Press PROPOSAL53Bernardo Dominic
1049Mayumi KolmetzIndia2026-05-07Feiner Bros QUALIFIED87Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Izzy GarufiJapanXuxue Feng UNQUALIFIED
Deepesh ChuiJapanBernardo Dominic UNQUALIFIED
Jennifer AmigonItalyElwin Sharvill PROPOSAL
Silvio SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Maria MarrierCanadaStephen Shaw NEW
Claire TollnerItalyStephen Shaw NEW
Ivar PaprockiUnited KingdomAsiya Javayant NEW
Jefferson SchemmerGermanyOnyama Limba PROPOSAL
Francesco ShinkoIndiaAsiya Javayant QUALIFIED
Juan WieserIndiaAmy Elsner PROPOSAL
Sinclair WaycottArgentinaElwin Sharvill QUALIFIED
Juan WieserBrazilXuxue Feng UNQUALIFIED
Claire TollnerUnited KingdomAmy Elsner RENEWAL
Leon OldroydJapanAnna Fali NEGOTIATION
Greenwood BologniaIndiaBernardo Dominic NEW
Maria MarrierCanadaAsiya Javayant NEW
Isabel BowleyGermanyAsiya Javayant QUALIFIED
Rodrigues CampainUnited KingdomStephen Shaw NEW
Claire TollnerArgentinaStephen Shaw RENEWAL
Izzy GarufiSpainIoni Bowcher PROPOSAL
Smith GlickFranceOnyama Limba UNQUALIFIED
Mayumi KolmetzJapanOnyama Limba RENEWAL
Ashley DoeBrazilBernardo Dominic RENEWAL
Kadeem FlosiJapanAnna Fali NEW
Ivar PaprockiBrazilElwin Sharvill UNQUALIFIED
Mayumi KolmetzUnited KingdomAnna Fali QUALIFIED
Murillo MaletArgentinaXuxue Feng PROPOSAL
Cody SaylorsAustraliaAsiya Javayant QUALIFIED
Smith GlickGermanyElwin Sharvill PROPOSAL
Maria MarrierFranceBernardo Dominic RENEWAL
Tony FollerSpainAsiya Javayant NEW
Clifford RimSpainIvan Magalhaes PROPOSAL
Jeanfrancois VenereUnited KingdomElwin Sharvill PROPOSAL
Deepesh ChuiIndiaIoni Bowcher UNQUALIFIED
Murillo MaletCanadaIoni Bowcher NEGOTIATION
Mayumi KolmetzBrazilAnna Fali UNQUALIFIED
James ButtCanadaElwin Sharvill QUALIFIED
Alejandro PerinBrazilAsiya Javayant QUALIFIED
Nicolas IturbideCanadaAmy Elsner UNQUALIFIED
Adams MorascaRussiaIoni Bowcher PROPOSAL
Faith GillianArgentinaIoni Bowcher RENEWAL
Aditya KuskoUnited KingdomAmy Elsner QUALIFIED
Aditya KuskoItalyAmy Elsner NEW
Jones VocelkaArgentinaElwin Sharvill NEW
Salvatore StockhamFranceOnyama Limba NEGOTIATION
Izzy GarufiUnited KingdomIoni Bowcher NEGOTIATION
David DarakjyItalyXuxue Feng RENEWAL
Ivar PaprockiFranceStephen Shaw NEGOTIATION
Adams MorascaIndiaBernardo Dominic RENEWAL
Antonio CaudyCanadaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Alejandro Perin
Clifford Rim
James Butt
Silvio Slusarski
Arvin Albares
Silvio Slusarski
Maria Marrier
Cody Saylors
Wickens Nestle
Mujtaba Nicka
Jennifer Amigon
Sinclair Waycott
Rodrigues Campain
Izzy Garufi
Silvio Slusarski
Maria Marrier
Misaki Royster
Misaki Royster
Chavez Briddick
Mujtaba Nicka
Murillo Malet
Ricardo Gaucho
Darci Poquette
Kadeem Flosi
Adams Morasca
Aika Inouye
Isabel Bowley
Stacey Maclead
Antonio Caudy
Jennifer Amigon
Johnson Sergi
Cody Saylors
Costa Dilliard
Alejandro Perin
Jefferson Schemmer
Munro Ferencz
Cody Saylors
Greenwood Bolognia
Isabel Bowley
Faith Gillian
Antonio Caudy
Izzy Garufi
Juan Wieser
Antonio Caudy
Maisha Rulapaugh
Maria Marrier
Sinclair Waycott
Antonio Caudy
Alejandro Perin
Mayumi Kolmetz
IdCountryDate
1000Japan2026-05-04
1001France2026-04-29
1002United Kingdom2026-05-07
1003Spain2026-05-19
1004Australia2026-04-23
1005United Kingdom2026-05-20
1006Spain2026-05-05
1007Canada2026-04-27
1008Canada2026-04-23
1009Japan2026-05-13
1010Italy2026-05-03
1011India2026-05-16
1012Japan2026-04-30
1013United Kingdom2026-05-04
1014Canada2026-05-13
1015Italy2026-04-24
1016India2026-05-13
1017Canada2026-04-29
1018Italy2026-04-28
1019France2026-05-10
1020Italy2026-05-20
1021Australia2026-05-19
1022Brazil2026-05-09
1023India2026-05-02
1024Argentina2026-05-20
1025Argentina2026-05-08
1026Russia2026-05-13
1027Australia2026-05-06
1028Australia2026-05-07
1029India2026-05-21
1030Australia2026-05-05
1031Russia2026-05-05
1032United Kingdom2026-05-11
1033France2026-04-25
1034France2026-05-04
1035India2026-04-26
1036Japan2026-05-18
1037Russia2026-05-15
1038Italy2026-05-16
1039India2026-05-09
1040Spain2026-05-21
1041India2026-05-17
1042Italy2026-05-16
1043Italy2026-05-12
1044United Kingdom2026-05-21
1045Italy2026-05-09
1046Japan2026-05-03
1047France2026-05-04
1048Argentina2026-05-08
1049Italy2026-05-13

On-Demand Data

NameIdCountryDate
Aika Inouye1000India2026-04-28
Aika Inouye1001Japan2026-05-22
Stacey Maclead1002Germany2026-04-29
Nicolas Iturbide1003India2026-05-07
Isabel Bowley1004Argentina2026-04-23
Julie Stenseth1005Russia2026-05-22
Jefferson Schemmer1006Canada2026-05-04
Munro Ferencz1007France2026-05-04
Aika Inouye1008France2026-04-27
Wickens Nestle1009Italy2026-05-13
Kadeem Flosi1010Italy2026-05-03
Smith Glick1011Russia2026-04-23
Leon Oldroyd1012India2026-04-25
Kadeem Flosi1013Australia2026-04-26
Aruna Figeroa1014Japan2026-05-06
Clifford Rim1015Spain2026-05-04
Clifford Rim1016India2026-05-01
Silvio Slusarski1017Germany2026-04-28
Faith Gillian1018France2026-05-16
Maisha Rulapaugh1019India2026-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James ButtIndiaIoni Bowcher PROPOSAL
Emily WhobreyGermanyStephen Shaw PROPOSAL
Chavez BriddickCanadaStephen Shaw PROPOSAL
Munro FerenczCanadaIvan Magalhaes NEGOTIATION
Claire TollnerUnited KingdomElwin Sharvill QUALIFIED
Murillo MaletArgentinaStephen Shaw NEW
Cody SaylorsSpainAsiya Javayant NEGOTIATION
Stacey MacleadGermanyStephen Shaw NEW
Kadeem FlosiArgentinaIoni Bowcher QUALIFIED
David DarakjyUnited KingdomStephen Shaw NEGOTIATION
Aika InouyeIndiaAmy Elsner RENEWAL
Stacey MacleadFranceStephen Shaw NEW
Izzy GarufiFranceStephen Shaw QUALIFIED
Isabel BowleyItalyElwin Sharvill QUALIFIED
Maria MarrierItalyIvan Magalhaes PROPOSAL
Julie StensethIndiaAsiya Javayant RENEWAL
Emily WhobreyArgentinaXuxue Feng PROPOSAL
Aruna FigeroaBrazilAnna Fali PROPOSAL
Salvatore StockhamSpainIvan Magalhaes UNQUALIFIED
Alejandro PerinSpainAmy Elsner NEW
Johnson SergiGermanyAnna Fali UNQUALIFIED
Julie StensethIndiaIvan Magalhaes QUALIFIED
Adams MorascaJapanIvan Magalhaes PROPOSAL
Cody SaylorsArgentinaIoni Bowcher QUALIFIED
Emily WhobreyRussiaBernardo Dominic UNQUALIFIED
Isabel BowleyArgentinaIvan Magalhaes PROPOSAL
Salvatore StockhamRussiaOnyama Limba NEW
Stacey MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Maria MarrierItalyIvan Magalhaes UNQUALIFIED
Mayumi KolmetzUnited KingdomXuxue Feng NEW
Arvin AlbaresUnited KingdomOnyama Limba NEW
Jeanfrancois VenereIndiaAnna Fali RENEWAL
Maisha RulapaughBrazilAnna Fali RENEWAL
Alejandro PerinSpainXuxue Feng PROPOSAL
Aruna FigeroaFranceIvan Magalhaes NEGOTIATION
Maria MarrierGermanyXuxue Feng NEW
Wickens NestleIndiaAsiya Javayant UNQUALIFIED
Ricardo GauchoJapanOnyama Limba RENEWAL
Salvatore StockhamFranceXuxue Feng RENEWAL
Aditya KuskoIndiaAsiya Javayant PROPOSAL

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