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
Aruna FigeroaCanadaAsiya Javayant PROPOSAL
James ButtUnited KingdomStephen Shaw NEW
Ivar PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Antonio CaudyRussiaOnyama Limba UNQUALIFIED
Octavia MaletItalyStephen Shaw RENEWAL
Ricardo GauchoItalyAmy Elsner RENEWAL
Faith GillianJapanIvan Magalhaes QUALIFIED
Isabel BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Jones VocelkaGermanyOnyama Limba QUALIFIED
Claire TollnerItalyAmy Elsner PROPOSAL
Johnson SergiItalyBernardo Dominic PROPOSAL
David DarakjyArgentinaIoni Bowcher RENEWAL
Aditya KuskoIndiaAsiya Javayant RENEWAL
Cody SaylorsRussiaOnyama Limba QUALIFIED
Juan WieserIndiaBernardo Dominic RENEWAL
Julie StensethJapanAsiya Javayant RENEWAL
Nicolas IturbideArgentinaOnyama Limba QUALIFIED
Mujtaba NickaGermanyAsiya Javayant NEW
Aruna FigeroaAustraliaXuxue Feng PROPOSAL
James ButtSpainIoni Bowcher PROPOSAL
Maisha RulapaughArgentinaOnyama Limba NEGOTIATION
Jennifer AmigonIndiaOnyama Limba NEGOTIATION
Jones VocelkaBrazilIvan Magalhaes NEGOTIATION
Ivar PaprockiAustraliaXuxue Feng NEW
Aika InouyeUnited KingdomOnyama Limba PROPOSAL
Silvio SlusarskiGermanyOnyama Limba NEGOTIATION
Izzy GarufiItalyIoni Bowcher UNQUALIFIED
Smith GlickGermanyAsiya Javayant PROPOSAL
Julie StensethIndiaAsiya Javayant UNQUALIFIED
Octavia MaletSpainAsiya Javayant NEW
Sinclair WaycottBrazilAmy Elsner RENEWAL
Mujtaba NickaItalyBernardo Dominic NEGOTIATION
Aruna FigeroaIndiaBernardo Dominic QUALIFIED
Chavez BriddickBrazilIoni Bowcher PROPOSAL
Salvatore StockhamBrazilIvan Magalhaes RENEWAL
Antonio CaudyUnited KingdomElwin Sharvill QUALIFIED
Munro FerenczUnited KingdomStephen Shaw UNQUALIFIED
Leja CaldareraArgentinaIoni Bowcher PROPOSAL
Tony FollerUnited KingdomXuxue Feng NEGOTIATION
Francesco ShinkoJapanAsiya Javayant NEW
Adams MorascaFranceAnna Fali RENEWAL
Faith GillianIndiaBernardo Dominic NEGOTIATION
Nicolas IturbideAustraliaAnna Fali NEGOTIATION
Aika InouyeSpainAnna Fali QUALIFIED
Tony FollerArgentinaAmy Elsner UNQUALIFIED
Mayumi KolmetzUnited KingdomIvan Magalhaes NEW
Emily WhobreyIndiaStephen Shaw RENEWAL
Jennifer AmigonGermanyAsiya Javayant RENEWAL
Silvio SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson SchemmerItalyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Clifford RimGermanyElwin Sharvill RENEWAL
Alejandro PerinArgentinaAnna Fali NEW
Claire TollnerBrazilXuxue Feng QUALIFIED
Darci PoquetteBrazilOnyama Limba NEGOTIATION
Maisha RulapaughCanadaElwin Sharvill UNQUALIFIED
Jefferson SchemmerItalyIoni Bowcher PROPOSAL
Izzy GarufiItalyBernardo Dominic NEGOTIATION
Jones VocelkaArgentinaXuxue Feng NEW
Jennifer AmigonJapanOnyama Limba RENEWAL
Misaki RoysterSpainStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo GauchoIndia2025-10-11Chapman, Ross E Esq PROPOSAL34Amy Elsner
1001Silvio SlusarskiIndia2025-11-01Printing Dimensions RENEWAL50Elwin Sharvill
1002Claire TollnerBrazil2025-10-17Printing Dimensions NEGOTIATION70Anna Fali
1003Rodrigues CampainIndia2025-10-21Feiner Bros NEGOTIATION51Onyama Limba
1004Rodrigues CampainAustralia2025-11-02Rangoni Of Florence NEGOTIATION95Elwin Sharvill
1005Maisha RulapaughAustralia2025-10-11Dorl, James J Esq PROPOSAL19Xuxue Feng
1006Isabel BowleySpain2025-10-20Buckley Miller Wright QUALIFIED49Anna Fali
1007Aika InouyeGermany2025-10-20Morlong Associates NEW23Asiya Javayant
1008Mujtaba NickaCanada2025-11-01King, Christopher A Esq UNQUALIFIED96Ivan Magalhaes
1009Murillo MaletGermany2025-10-19Chanay, Jeffrey A Esq NEW28Bernardo Dominic
1010Wickens NestleAustralia2025-11-03Buckley Miller Wright UNQUALIFIED15Bernardo Dominic
1011Greenwood BologniaArgentina2025-10-28Dorl, James J Esq RENEWAL24Elwin Sharvill
1012Claire TollnerArgentina2025-10-12Commercial Press RENEWAL1Ivan Magalhaes
1013Misaki RoysterRussia2025-10-08Morlong Associates NEW35Asiya Javayant
1014Johnson SergiAustralia2025-10-23Rousseaux, Michael Esq NEGOTIATION15Elwin Sharvill
1015Isabel BowleyItaly2025-11-05Buckley Miller Wright NEW76Bernardo Dominic
1016Stacey MacleadItaly2025-10-25King, Christopher A Esq UNQUALIFIED63Elwin Sharvill
1017Francesco ShinkoSpain2025-10-26Benton, John B Jr UNQUALIFIED13Ioni Bowcher
1018Rodrigues CampainGermany2025-11-04Benton, John B Jr PROPOSAL34Xuxue Feng
1019Cody SaylorsItaly2025-10-15Benton, John B Jr RENEWAL70Amy Elsner
1020Johnson SergiBrazil2025-10-13Rousseaux, Michael Esq RENEWAL0Anna Fali
1021Jones VocelkaUnited Kingdom2025-11-03Chemel, James L Cpa PROPOSAL83Ivan Magalhaes
1022Ivar PaprockiAustralia2025-10-25Chanay, Jeffrey A Esq PROPOSAL53Bernardo Dominic
1023Deepesh ChuiCanada2025-10-16Benton, John B Jr QUALIFIED84Bernardo Dominic
1024Juan WieserIndia2025-11-01Buckley Miller Wright UNQUALIFIED79Asiya Javayant
1025Maria MarrierFrance2025-10-25Commercial Press NEGOTIATION61Onyama Limba
1026Costa DilliardCanada2025-10-20Printing Dimensions NEGOTIATION8Stephen Shaw
1027Mayumi KolmetzGermany2025-10-26Buckley Miller Wright PROPOSAL8Xuxue Feng
1028Mayumi KolmetzRussia2025-11-04King, Christopher A Esq PROPOSAL24Ivan Magalhaes
1029Aika InouyeArgentina2025-10-19Rangoni Of Florence PROPOSAL58Bernardo Dominic
1030Mayumi KolmetzAustralia2025-10-18Dorl, James J Esq PROPOSAL47Amy Elsner
1031Morrow RutaUnited Kingdom2025-10-11Rousseaux, Michael Esq PROPOSAL2Onyama Limba
1032Kadeem FlosiJapan2025-10-11Rousseaux, Michael Esq NEGOTIATION44Onyama Limba
1033James ButtBrazil2025-10-29Chapman, Ross E Esq NEW19Anna Fali
1034Wickens NestleFrance2025-10-12Truhlar And Truhlar Attys QUALIFIED87Anna Fali
1035Munro FerenczJapan2025-10-30Dorl, James J Esq RENEWAL80Amy Elsner
1036Munro FerenczBrazil2025-10-27Rangoni Of Florence UNQUALIFIED17Anna Fali
1037Kadeem FlosiSpain2025-10-30Chemel, James L Cpa NEW81Anna Fali
1038Izzy GarufiSpain2025-10-18King, Christopher A Esq NEGOTIATION18Elwin Sharvill
1039Costa DilliardFrance2025-10-18Truhlar And Truhlar Attys PROPOSAL34Stephen Shaw
1040James ButtAustralia2025-10-10Rousseaux, Michael Esq RENEWAL46Elwin Sharvill
1041Jones VocelkaRussia2025-10-24Buckley Miller Wright PROPOSAL22Ioni Bowcher
1042Emily WhobreySpain2025-10-09Truhlar And Truhlar Attys UNQUALIFIED58Anna Fali
1043David DarakjySpain2025-10-20Buckley Miller Wright RENEWAL92Ioni Bowcher
1044Isabel BowleyRussia2025-10-17Truhlar And Truhlar Attys QUALIFIED52Bernardo Dominic
1045Maisha RulapaughSpain2025-10-23King, Christopher A Esq NEW36Elwin Sharvill
1046Clifford RimJapan2025-10-12Truhlar And Truhlar Attys PROPOSAL41Asiya Javayant
1047Emily WhobreyCanada2025-10-23Dorl, James J Esq UNQUALIFIED7Onyama Limba
1048Ashley DoeFrance2025-11-01King, Christopher A Esq NEW28Stephen Shaw
1049Nicolas IturbideIndia2025-10-10Benton, John B Jr RENEWAL75Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
David DarakjyFranceAnna Fali NEW
Izzy GarufiFranceOnyama Limba UNQUALIFIED
Chavez BriddickRussiaAnna Fali NEGOTIATION
Smith GlickRussiaAsiya Javayant UNQUALIFIED
Arvin AlbaresJapanElwin Sharvill PROPOSAL
Aika InouyeRussiaAmy Elsner QUALIFIED
Jennifer AmigonIndiaIoni Bowcher QUALIFIED
Leja CaldareraIndiaIoni Bowcher QUALIFIED
Izzy GarufiBrazilAsiya Javayant UNQUALIFIED
Chavez BriddickGermanyStephen Shaw NEW
Juan WieserIndiaBernardo Dominic RENEWAL
Deepesh ChuiItalyOnyama Limba RENEWAL
Kadeem FlosiIndiaIoni Bowcher NEW
Darci PoquetteFranceBernardo Dominic PROPOSAL
James ButtSpainOnyama Limba PROPOSAL
Smith GlickJapanStephen Shaw NEGOTIATION
Claire TollnerRussiaStephen Shaw NEW
Tony FollerRussiaXuxue Feng RENEWAL
Mujtaba NickaSpainStephen Shaw QUALIFIED
Antonio CaudyRussiaBernardo Dominic QUALIFIED
Johnson SergiCanadaIvan Magalhaes NEW
Jeanfrancois VenereItalyIvan Magalhaes PROPOSAL
Aruna FigeroaSpainStephen Shaw PROPOSAL
Kadeem FlosiItalyOnyama Limba RENEWAL
Francesco ShinkoJapanStephen Shaw PROPOSAL
Chavez BriddickCanadaElwin Sharvill NEW
Francesco ShinkoArgentinaElwin Sharvill NEW
Ashley DoeRussiaStephen Shaw NEW
Salvatore StockhamCanadaXuxue Feng QUALIFIED
Leja CaldareraAustraliaIoni Bowcher UNQUALIFIED
Costa DilliardArgentinaBernardo Dominic QUALIFIED
Jeanfrancois VenereFranceIoni Bowcher UNQUALIFIED
Stacey MacleadArgentinaAmy Elsner RENEWAL
Ricardo GauchoBrazilAnna Fali NEW
Francesco ShinkoFranceAmy Elsner UNQUALIFIED
Claire TollnerCanadaElwin Sharvill NEGOTIATION
Jeanfrancois VenereArgentinaOnyama Limba NEW
Isabel BowleyCanadaStephen Shaw NEGOTIATION
Johnson SergiGermanyAnna Fali RENEWAL
Cody SaylorsBrazilIvan Magalhaes PROPOSAL
Leon OldroydIndiaAsiya Javayant QUALIFIED
Jeanfrancois VenereFranceAmy Elsner PROPOSAL
Leon OldroydArgentinaStephen Shaw PROPOSAL
Johnson SergiIndiaAnna Fali NEW
Antonio CaudyBrazilBernardo Dominic NEW
Juan WieserGermanyAsiya Javayant UNQUALIFIED
Tony FollerJapanStephen Shaw UNQUALIFIED
Costa DilliardUnited KingdomOnyama Limba NEW
Clifford RimBrazilBernardo Dominic NEW
Munro FerenczAustraliaAsiya Javayant PROPOSAL
Frozen Columns
Name
Jennifer Amigon
David Darakjy
Aika Inouye
Salvatore Stockham
Darci Poquette
Greenwood Bolognia
Leon Oldroyd
Deepesh Chui
Kadeem Flosi
Morrow Ruta
Adams Morasca
Silvio Slusarski
Francesco Shinko
Ricardo Gaucho
Cody Saylors
Leja Caldarera
Salvatore Stockham
Aruna Figeroa
Izzy Garufi
Chavez Briddick
Ricardo Gaucho
Nicolas Iturbide
Isabel Bowley
Morrow Ruta
Chavez Briddick
Rodrigues Campain
Salvatore Stockham
Misaki Royster
Maria Marrier
Smith Glick
Murillo Malet
Leja Caldarera
Wickens Nestle
Aditya Kusko
Cody Saylors
Johnson Sergi
Jefferson Schemmer
Wickens Nestle
Mayumi Kolmetz
Maisha Rulapaugh
Jones Vocelka
Murillo Malet
Maria Marrier
Rodrigues Campain
Julie Stenseth
James Butt
Jeanfrancois Venere
Octavia Malet
Emily Whobrey
Alejandro Perin
IdCountryDate
1000Russia2025-10-10
1001Spain2025-10-29
1002Australia2025-11-05
1003Germany2025-11-05
1004Germany2025-11-05
1005Japan2025-11-05
1006Russia2025-11-03
1007Australia2025-11-03
1008India2025-10-10
1009Argentina2025-11-02
1010Spain2025-10-31
1011Australia2025-10-24
1012Canada2025-10-08
1013Japan2025-10-30
1014Argentina2025-10-24
1015Australia2025-10-20
1016India2025-10-27
1017Germany2025-10-18
1018Italy2025-10-27
1019India2025-10-19
1020France2025-10-14
1021Spain2025-10-23
1022Spain2025-10-29
1023Australia2025-10-15
1024Canada2025-10-31
1025Canada2025-10-31
1026France2025-10-13
1027France2025-11-05
1028Argentina2025-10-09
1029Russia2025-10-28
1030India2025-10-24
1031Russia2025-10-08
1032Argentina2025-10-14
1033France2025-10-10
1034Germany2025-10-07
1035Australia2025-10-20
1036Spain2025-11-04
1037India2025-10-31
1038Spain2025-10-17
1039Brazil2025-10-07
1040Russia2025-10-21
1041Italy2025-10-27
1042Argentina2025-10-18
1043Brazil2025-10-11
1044Australia2025-10-31
1045France2025-10-30
1046Canada2025-10-20
1047Italy2025-10-07
1048Argentina2025-11-02
1049France2025-10-31

On-Demand Data

NameIdCountryDate
Aika Inouye1000France2025-10-19
Stacey Maclead1001Australia2025-11-05
Jeanfrancois Venere1002Canada2025-10-26
James Butt1003France2025-11-05
Maisha Rulapaugh1004Russia2025-10-23
Juan Wieser1005Australia2025-10-31
Maisha Rulapaugh1006India2025-10-23
Maisha Rulapaugh1007Argentina2025-10-21
Clifford Rim1008Australia2025-10-08
Salvatore Stockham1009Italy2025-10-12
Tony Foller1010France2025-10-20
Rodrigues Campain1011Russia2025-10-15
Smith Glick1012Canada2025-10-11
Octavia Malet1013Italy2025-10-29
Octavia Malet1014Australia2025-10-09
Jeanfrancois Venere1015India2025-10-22
Tony Foller1016Argentina2025-11-01
Sinclair Waycott1017Japan2025-10-08
Ashley Doe1018Russia2025-11-02
David Darakjy1019Italy2025-10-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin AlbaresUnited KingdomAsiya Javayant RENEWAL
Sinclair WaycottCanadaOnyama Limba QUALIFIED
Costa DilliardBrazilXuxue Feng UNQUALIFIED
Alejandro PerinItalyStephen Shaw NEGOTIATION
Mujtaba NickaAustraliaOnyama Limba QUALIFIED
Johnson SergiFranceOnyama Limba UNQUALIFIED
Darci PoquetteBrazilStephen Shaw NEW
Kaitlin OstroskySpainElwin Sharvill QUALIFIED
Rodrigues CampainRussiaIoni Bowcher PROPOSAL
Deepesh ChuiRussiaOnyama Limba PROPOSAL
Aruna FigeroaGermanyIoni Bowcher NEGOTIATION
Faith GillianGermanyOnyama Limba PROPOSAL
Greenwood BologniaSpainAmy Elsner PROPOSAL
Rodrigues CampainCanadaIoni Bowcher NEW
Morrow RutaSpainElwin Sharvill UNQUALIFIED
David DarakjySpainElwin Sharvill QUALIFIED
Ivar PaprockiGermanyAmy Elsner NEW
Leon OldroydIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois VenereIndiaBernardo Dominic NEW
Julie StensethUnited KingdomAsiya Javayant UNQUALIFIED
Octavia MaletIndiaAsiya Javayant NEW
Maisha RulapaughUnited KingdomXuxue Feng NEW
Rodrigues CampainAustraliaElwin Sharvill PROPOSAL
Aruna FigeroaArgentinaIoni Bowcher NEGOTIATION
Ivar PaprockiBrazilBernardo Dominic NEW
Costa DilliardIndiaAnna Fali NEW
Smith GlickFranceIvan Magalhaes QUALIFIED
Silvio SlusarskiGermanyIvan Magalhaes QUALIFIED
Jennifer AmigonIndiaIvan Magalhaes NEGOTIATION
Leon OldroydGermanyXuxue Feng QUALIFIED
Kaitlin OstroskyItalyAsiya Javayant QUALIFIED
Maria MarrierUnited KingdomAnna Fali QUALIFIED
Johnson SergiItalyIvan Magalhaes NEGOTIATION
Maria MarrierIndiaElwin Sharvill PROPOSAL
Claire TollnerJapanOnyama Limba NEGOTIATION
Kadeem FlosiArgentinaOnyama Limba NEW
Julie StensethArgentinaStephen Shaw NEGOTIATION
Jennifer AmigonIndiaAmy Elsner NEGOTIATION
Aika InouyeIndiaIvan Magalhaes QUALIFIED
Greenwood BologniaItalyXuxue Feng 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>