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
Murillo MaletBrazilBernardo Dominic QUALIFIED
Alejandro PerinUnited KingdomOnyama Limba PROPOSAL
Kadeem FlosiRussiaAsiya Javayant NEW
Maria MarrierFranceOnyama Limba RENEWAL
Stacey MacleadArgentinaBernardo Dominic RENEWAL
Claire TollnerSpainIvan Magalhaes RENEWAL
Leja CaldareraUnited KingdomAsiya Javayant RENEWAL
Darci PoquetteJapanBernardo Dominic UNQUALIFIED
Arvin AlbaresSpainStephen Shaw UNQUALIFIED
Costa DilliardUnited KingdomAnna Fali QUALIFIED
Leja CaldareraArgentinaAmy Elsner QUALIFIED
Faith GillianIndiaIoni Bowcher QUALIFIED
Costa DilliardIndiaIoni Bowcher UNQUALIFIED
Jefferson SchemmerFranceIvan Magalhaes UNQUALIFIED
Rodrigues CampainFranceAsiya Javayant PROPOSAL
Smith GlickArgentinaElwin Sharvill NEGOTIATION
Sinclair WaycottIndiaAmy Elsner RENEWAL
Clifford RimJapanElwin Sharvill UNQUALIFIED
Jefferson SchemmerBrazilXuxue Feng QUALIFIED
Jeanfrancois VenereSpainXuxue Feng UNQUALIFIED
Murillo MaletAustraliaAmy Elsner PROPOSAL
Salvatore StockhamAustraliaIoni Bowcher NEGOTIATION
Jones VocelkaGermanyAnna Fali QUALIFIED
Leon OldroydArgentinaStephen Shaw UNQUALIFIED
Faith GillianAustraliaStephen Shaw UNQUALIFIED
Costa DilliardRussiaAsiya Javayant QUALIFIED
Adams MorascaGermanyAsiya Javayant QUALIFIED
Aika InouyeIndiaStephen Shaw NEW
Octavia MaletItalyBernardo Dominic NEGOTIATION
Aditya KuskoJapanAnna Fali NEW
Tony FollerItalyOnyama Limba NEGOTIATION
Jennifer AmigonAustraliaAnna Fali QUALIFIED
Izzy GarufiGermanyElwin Sharvill QUALIFIED
Misaki RoysterAustraliaStephen Shaw PROPOSAL
Faith GillianJapanXuxue Feng NEGOTIATION
Octavia MaletAustraliaBernardo Dominic NEGOTIATION
Jennifer AmigonIndiaXuxue Feng PROPOSAL
Stacey MacleadGermanyIoni Bowcher NEGOTIATION
Sinclair WaycottSpainAmy Elsner QUALIFIED
Greenwood BologniaFranceIvan Magalhaes QUALIFIED
Clifford RimItalyAsiya Javayant UNQUALIFIED
Aditya KuskoIndiaAnna Fali NEW
Deepesh ChuiArgentinaAsiya Javayant UNQUALIFIED
Johnson SergiGermanyIvan Magalhaes PROPOSAL
Maisha RulapaughRussiaAmy Elsner NEGOTIATION
Jeanfrancois VenereCanadaIoni Bowcher NEW
Salvatore StockhamAustraliaXuxue Feng NEW
Maisha RulapaughAustraliaBernardo Dominic QUALIFIED
Leon OldroydIndiaOnyama Limba PROPOSAL
Clifford RimUnited KingdomXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Misaki RoysterIndiaOnyama Limba UNQUALIFIED
Misaki RoysterRussiaAsiya Javayant NEGOTIATION
Kadeem FlosiIndiaElwin Sharvill NEGOTIATION
Wickens NestleBrazilAmy Elsner UNQUALIFIED
Deepesh ChuiSpainElwin Sharvill NEW
Aika InouyeIndiaStephen Shaw NEW
Mujtaba NickaIndiaXuxue Feng NEW
Cody SaylorsBrazilStephen Shaw NEGOTIATION
Murillo MaletAustraliaIoni Bowcher NEGOTIATION
Aika InouyeItalyAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha RulapaughAustralia2025-08-16Chemel, James L Cpa QUALIFIED70Stephen Shaw
1001Misaki RoysterGermany2025-09-01Commercial Press RENEWAL52Ioni Bowcher
1002Octavia MaletUnited Kingdom2025-08-14Commercial Press QUALIFIED26Bernardo Dominic
1003Aika InouyeBrazil2025-08-20Truhlar And Truhlar Attys QUALIFIED81Stephen Shaw
1004Antonio CaudyBrazil2025-08-19Truhlar And Truhlar Attys NEGOTIATION78Elwin Sharvill
1005James ButtItaly2025-08-17Commercial Press NEW10Anna Fali
1006Tony FollerFrance2025-08-29Chapman, Ross E Esq NEW32Asiya Javayant
1007Izzy GarufiAustralia2025-08-15Dorl, James J Esq UNQUALIFIED38Onyama Limba
1008Salvatore StockhamArgentina2025-08-21King, Christopher A Esq PROPOSAL6Elwin Sharvill
1009Sinclair WaycottArgentina2025-08-27Morlong Associates PROPOSAL97Ioni Bowcher
1010Jefferson SchemmerJapan2025-09-05Feltz Printing Service NEW76Ioni Bowcher
1011Ricardo GauchoItaly2025-08-12Feltz Printing Service QUALIFIED41Stephen Shaw
1012Jeanfrancois VenereRussia2025-08-21Commercial Press NEGOTIATION11Xuxue Feng
1013Emily WhobreyBrazil2025-09-08Printing Dimensions UNQUALIFIED27Onyama Limba
1014Morrow RutaArgentina2025-08-23King, Christopher A Esq NEGOTIATION70Stephen Shaw
1015Misaki RoysterFrance2025-08-24Chanay, Jeffrey A Esq RENEWAL49Bernardo Dominic
1016Cody SaylorsArgentina2025-08-23Commercial Press PROPOSAL67Ivan Magalhaes
1017Murillo MaletUnited Kingdom2025-08-26Buckley Miller Wright UNQUALIFIED32Ivan Magalhaes
1018Smith GlickAustralia2025-08-13Rangoni Of Florence RENEWAL18Elwin Sharvill
1019Deepesh ChuiBrazil2025-09-04Chemel, James L Cpa PROPOSAL22Amy Elsner
1020Maria MarrierFrance2025-08-26Feiner Bros UNQUALIFIED64Stephen Shaw
1021Silvio SlusarskiIndia2025-08-20Commercial Press UNQUALIFIED12Bernardo Dominic
1022Munro FerenczFrance2025-08-12Chanay, Jeffrey A Esq RENEWAL80Asiya Javayant
1023Ricardo GauchoItaly2025-08-24King, Christopher A Esq PROPOSAL16Stephen Shaw
1024Johnson SergiBrazil2025-08-25Printing Dimensions QUALIFIED21Ivan Magalhaes
1025Sinclair WaycottGermany2025-08-25Feltz Printing Service QUALIFIED96Elwin Sharvill
1026Greenwood BologniaBrazil2025-09-07Chanay, Jeffrey A Esq UNQUALIFIED34Elwin Sharvill
1027Salvatore StockhamSpain2025-09-07Commercial Press QUALIFIED34Bernardo Dominic
1028Mayumi KolmetzUnited Kingdom2025-08-20Morlong Associates NEGOTIATION1Elwin Sharvill
1029Ashley DoeAustralia2025-09-04Feiner Bros NEGOTIATION50Xuxue Feng
1030Mujtaba NickaCanada2025-08-18Rangoni Of Florence PROPOSAL93Asiya Javayant
1031Arvin AlbaresJapan2025-08-13Dorl, James J Esq QUALIFIED34Amy Elsner
1032Arvin AlbaresSpain2025-09-06Truhlar And Truhlar Attys RENEWAL22Stephen Shaw
1033Greenwood BologniaArgentina2025-09-05Morlong Associates NEW9Stephen Shaw
1034Nicolas IturbideBrazil2025-08-26Feiner Bros NEGOTIATION37Ivan Magalhaes
1035Arvin AlbaresBrazil2025-08-12Chemel, James L Cpa UNQUALIFIED36Anna Fali
1036Faith GillianBrazil2025-08-16Printing Dimensions PROPOSAL75Anna Fali
1037Rodrigues CampainItaly2025-09-02King, Christopher A Esq QUALIFIED2Asiya Javayant
1038Leon OldroydIndia2025-09-02Rangoni Of Florence PROPOSAL28Ioni Bowcher
1039Ricardo GauchoBrazil2025-08-16Benton, John B Jr NEW74Xuxue Feng
1040Juan WieserIndia2025-09-09Printing Dimensions NEGOTIATION40Ioni Bowcher
1041David DarakjyBrazil2025-08-12Rangoni Of Florence NEGOTIATION73Anna Fali
1042Sinclair WaycottIndia2025-08-17Dorl, James J Esq RENEWAL39Elwin Sharvill
1043Greenwood BologniaAustralia2025-08-19Commercial Press NEGOTIATION16Ioni Bowcher
1044Cody SaylorsJapan2025-09-03Dorl, James J Esq NEW19Amy Elsner
1045Clifford RimIndia2025-09-02Feiner Bros PROPOSAL44Ivan Magalhaes
1046Aruna FigeroaBrazil2025-08-24Truhlar And Truhlar Attys PROPOSAL9Ivan Magalhaes
1047Clifford RimArgentina2025-09-01Rousseaux, Michael Esq RENEWAL95Xuxue Feng
1048Johnson SergiIndia2025-08-26Feltz Printing Service PROPOSAL31Anna Fali
1049Jones VocelkaAustralia2025-09-04Morlong Associates QUALIFIED86Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Salvatore StockhamFranceAnna Fali PROPOSAL
Wickens NestleAustraliaElwin Sharvill NEGOTIATION
Deepesh ChuiBrazilAmy Elsner NEW
Faith GillianUnited KingdomAnna Fali PROPOSAL
Maria MarrierRussiaIoni Bowcher UNQUALIFIED
Darci PoquetteFranceIoni Bowcher NEW
Julie StensethFranceAsiya Javayant PROPOSAL
Silvio SlusarskiSpainAmy Elsner QUALIFIED
Arvin AlbaresBrazilElwin Sharvill UNQUALIFIED
Cody SaylorsUnited KingdomAsiya Javayant PROPOSAL
Francesco ShinkoIndiaElwin Sharvill RENEWAL
Mayumi KolmetzBrazilIoni Bowcher UNQUALIFIED
Kadeem FlosiArgentinaAnna Fali NEGOTIATION
Octavia MaletAustraliaAnna Fali NEW
Faith GillianFranceOnyama Limba NEGOTIATION
Ashley DoeArgentinaIvan Magalhaes UNQUALIFIED
Isabel BowleyGermanyElwin Sharvill PROPOSAL
Francesco ShinkoGermanyStephen Shaw QUALIFIED
Kaitlin OstroskyArgentinaAsiya Javayant QUALIFIED
Morrow RutaRussiaAsiya Javayant UNQUALIFIED
Tony FollerIndiaElwin Sharvill PROPOSAL
Jennifer AmigonCanadaStephen Shaw QUALIFIED
Silvio SlusarskiIndiaXuxue Feng UNQUALIFIED
Morrow RutaFranceIoni Bowcher NEW
Maria MarrierJapanAmy Elsner NEW
Adams MorascaItalyAmy Elsner RENEWAL
Ricardo GauchoSpainBernardo Dominic UNQUALIFIED
Kaitlin OstroskyJapanAnna Fali QUALIFIED
Julie StensethUnited KingdomIoni Bowcher NEGOTIATION
Kaitlin OstroskyGermanyXuxue Feng QUALIFIED
Jefferson SchemmerAustraliaAsiya Javayant QUALIFIED
Wickens NestleUnited KingdomOnyama Limba QUALIFIED
Wickens NestleArgentinaAmy Elsner RENEWAL
Stacey MacleadSpainXuxue Feng NEGOTIATION
Aruna FigeroaItalyAsiya Javayant NEW
Francesco ShinkoSpainXuxue Feng NEGOTIATION
Leon OldroydRussiaOnyama Limba NEW
Clifford RimItalyElwin Sharvill RENEWAL
Maria MarrierGermanyAnna Fali QUALIFIED
Tony FollerCanadaAmy Elsner RENEWAL
Octavia MaletFranceIvan Magalhaes NEW
Julie StensethFranceBernardo Dominic RENEWAL
Morrow RutaItalyAsiya Javayant PROPOSAL
Salvatore StockhamJapanAnna Fali PROPOSAL
Leon OldroydAustraliaXuxue Feng NEW
Adams MorascaJapanBernardo Dominic QUALIFIED
Costa DilliardRussiaBernardo Dominic PROPOSAL
Faith GillianArgentinaXuxue Feng UNQUALIFIED
Deepesh ChuiSpainXuxue Feng NEGOTIATION
Smith GlickCanadaIvan Magalhaes NEW
Frozen Columns
Name
Clifford Rim
Nicolas Iturbide
Arvin Albares
Arvin Albares
Darci Poquette
Salvatore Stockham
Maisha Rulapaugh
Jones Vocelka
Kaitlin Ostrosky
David Darakjy
Mayumi Kolmetz
Faith Gillian
James Butt
Clifford Rim
Ricardo Gaucho
David Darakjy
Jeanfrancois Venere
Tony Foller
Cody Saylors
Tony Foller
Ashley Doe
Emily Whobrey
Chavez Briddick
Octavia Malet
Misaki Royster
Claire Tollner
Emily Whobrey
Ashley Doe
Tony Foller
David Darakjy
Leon Oldroyd
Munro Ferencz
Misaki Royster
James Butt
Jones Vocelka
Misaki Royster
Murillo Malet
James Butt
Aruna Figeroa
Alejandro Perin
Francesco Shinko
Sinclair Waycott
Morrow Ruta
Arvin Albares
Morrow Ruta
Kaitlin Ostrosky
Isabel Bowley
Silvio Slusarski
Antonio Caudy
Ashley Doe
IdCountryDate
1000India2025-08-27
1001Spain2025-09-01
1002Canada2025-09-01
1003United Kingdom2025-08-20
1004India2025-08-15
1005Australia2025-09-06
1006Argentina2025-08-11
1007Spain2025-09-05
1008Italy2025-08-23
1009United Kingdom2025-08-12
1010Australia2025-08-31
1011United Kingdom2025-09-02
1012United Kingdom2025-08-21
1013Argentina2025-08-13
1014Canada2025-08-15
1015Japan2025-08-13
1016Australia2025-08-18
1017Japan2025-08-29
1018Australia2025-09-04
1019Argentina2025-09-05
1020France2025-08-21
1021Russia2025-09-05
1022Canada2025-08-19
1023Germany2025-08-20
1024France2025-08-16
1025Argentina2025-09-07
1026France2025-09-08
1027Russia2025-09-01
1028Australia2025-09-05
1029Japan2025-08-31
1030Japan2025-08-13
1031Germany2025-08-23
1032Germany2025-08-15
1033Argentina2025-08-14
1034Argentina2025-08-12
1035Australia2025-09-08
1036Australia2025-08-28
1037Argentina2025-08-30
1038Brazil2025-08-27
1039Australia2025-08-25
1040Russia2025-08-19
1041Spain2025-09-08
1042Spain2025-08-14
1043Argentina2025-08-23
1044Australia2025-08-26
1045Russia2025-08-31
1046Australia2025-08-27
1047Australia2025-08-23
1048France2025-08-14
1049Australia2025-09-04

On-Demand Data

NameIdCountryDate
Munro Ferencz1000Argentina2025-08-27
Ivar Paprocki1001India2025-08-12
Ricardo Gaucho1002Japan2025-08-11
Mujtaba Nicka1003Italy2025-08-13
Mujtaba Nicka1004India2025-08-24
Darci Poquette1005Germany2025-08-24
Aika Inouye1006Canada2025-08-29
Antonio Caudy1007Russia2025-08-18
Emily Whobrey1008Italy2025-09-09
Maria Marrier1009Russia2025-08-29
Smith Glick1010Russia2025-08-12
Izzy Garufi1011Australia2025-08-12
Rodrigues Campain1012Italy2025-08-12
Mujtaba Nicka1013Russia2025-09-07
Smith Glick1014Argentina2025-08-27
Alejandro Perin1015France2025-08-21
Rodrigues Campain1016Russia2025-09-04
Francesco Shinko1017Australia2025-08-26
Kadeem Flosi1018Japan2025-08-27
Chavez Briddick1019India2025-08-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio SlusarskiIndiaAnna Fali UNQUALIFIED
Wickens NestleGermanyBernardo Dominic RENEWAL
Aruna FigeroaSpainOnyama Limba RENEWAL
Jones VocelkaCanadaAmy Elsner QUALIFIED
Adams MorascaCanadaIoni Bowcher PROPOSAL
Nicolas IturbideSpainBernardo Dominic PROPOSAL
Francesco ShinkoGermanyBernardo Dominic NEW
Greenwood BologniaRussiaOnyama Limba RENEWAL
Julie StensethSpainStephen Shaw PROPOSAL
Octavia MaletRussiaOnyama Limba PROPOSAL
Adams MorascaJapanXuxue Feng UNQUALIFIED
Salvatore StockhamCanadaStephen Shaw NEW
Silvio SlusarskiAustraliaXuxue Feng PROPOSAL
Costa DilliardArgentinaAnna Fali UNQUALIFIED
Sinclair WaycottFranceIvan Magalhaes RENEWAL
Rodrigues CampainGermanyStephen Shaw NEGOTIATION
Morrow RutaIndiaXuxue Feng RENEWAL
Jennifer AmigonCanadaIoni Bowcher RENEWAL
Clifford RimGermanyIvan Magalhaes RENEWAL
Chavez BriddickAustraliaAnna Fali UNQUALIFIED
Greenwood BologniaCanadaStephen Shaw RENEWAL
Francesco ShinkoGermanyStephen Shaw RENEWAL
Claire TollnerArgentinaOnyama Limba UNQUALIFIED
Nicolas IturbideSpainBernardo Dominic NEW
Stacey MacleadCanadaXuxue Feng UNQUALIFIED
Leon OldroydJapanAmy Elsner NEW
Izzy GarufiRussiaStephen Shaw QUALIFIED
Leja CaldareraUnited KingdomAsiya Javayant NEW
Wickens NestleItalyAsiya Javayant QUALIFIED
Jennifer AmigonRussiaIvan Magalhaes UNQUALIFIED
Maisha RulapaughBrazilAnna Fali PROPOSAL
Aruna FigeroaJapanAmy Elsner UNQUALIFIED
Morrow RutaFranceBernardo Dominic NEW
Aika InouyeSpainAnna Fali QUALIFIED
Greenwood BologniaUnited KingdomIoni Bowcher PROPOSAL
Alejandro PerinJapanAnna Fali NEGOTIATION
Deepesh ChuiItalyElwin Sharvill RENEWAL
Johnson SergiFranceIvan Magalhaes NEGOTIATION
Munro FerenczIndiaIvan Magalhaes PROPOSAL
Smith GlickRussiaOnyama Limba NEW

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