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
David DarakjyIndiaIoni Bowcher PROPOSAL
Claire TollnerRussiaIoni Bowcher NEGOTIATION
Julie StensethJapanAmy Elsner QUALIFIED
Cody SaylorsArgentinaStephen Shaw NEW
Misaki RoysterCanadaIvan Magalhaes RENEWAL
Emily WhobreyIndiaAsiya Javayant RENEWAL
Aika InouyeJapanIoni Bowcher QUALIFIED
Nicolas IturbideSpainIvan Magalhaes QUALIFIED
Cody SaylorsCanadaStephen Shaw PROPOSAL
Nicolas IturbideArgentinaAnna Fali NEW
Morrow RutaSpainAnna Fali PROPOSAL
Nicolas IturbideArgentinaStephen Shaw NEW
Johnson SergiUnited KingdomXuxue Feng RENEWAL
Munro FerenczAustraliaAnna Fali NEGOTIATION
Antonio CaudyArgentinaAsiya Javayant UNQUALIFIED
Leja CaldareraRussiaBernardo Dominic UNQUALIFIED
Jones VocelkaGermanyStephen Shaw RENEWAL
Isabel BowleyUnited KingdomIoni Bowcher QUALIFIED
Smith GlickBrazilBernardo Dominic RENEWAL
Kadeem FlosiFranceElwin Sharvill UNQUALIFIED
Kaitlin OstroskyItalyIoni Bowcher NEW
Ricardo GauchoRussiaStephen Shaw NEGOTIATION
Stacey MacleadSpainOnyama Limba NEW
Salvatore StockhamRussiaStephen Shaw NEW
Mayumi KolmetzFranceStephen Shaw PROPOSAL
Wickens NestleIndiaStephen Shaw NEW
Sinclair WaycottItalyXuxue Feng NEGOTIATION
Morrow RutaJapanIvan Magalhaes NEW
Faith GillianUnited KingdomXuxue Feng NEGOTIATION
Cody SaylorsIndiaAmy Elsner QUALIFIED
Izzy GarufiRussiaBernardo Dominic QUALIFIED
Misaki RoysterBrazilAsiya Javayant PROPOSAL
Aditya KuskoGermanyXuxue Feng QUALIFIED
Emily WhobreyIndiaAsiya Javayant RENEWAL
Darci PoquetteFranceXuxue Feng PROPOSAL
Juan WieserItalyOnyama Limba QUALIFIED
Costa DilliardGermanyAmy Elsner PROPOSAL
Morrow RutaItalyAsiya Javayant PROPOSAL
David DarakjyGermanyIvan Magalhaes QUALIFIED
Tony FollerJapanAsiya Javayant NEW
Salvatore StockhamGermanyBernardo Dominic UNQUALIFIED
Smith GlickAustraliaAmy Elsner RENEWAL
Kadeem FlosiBrazilAnna Fali NEGOTIATION
Julie StensethRussiaStephen Shaw QUALIFIED
Johnson SergiFranceBernardo Dominic NEGOTIATION
Leon OldroydRussiaIoni Bowcher RENEWAL
Misaki RoysterCanadaOnyama Limba NEGOTIATION
Ashley DoeGermanyAmy Elsner NEW
Maisha RulapaughArgentinaElwin Sharvill RENEWAL
Adams MorascaFranceIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ricardo GauchoIndiaOnyama Limba NEW
Aruna FigeroaJapanXuxue Feng RENEWAL
Leon OldroydArgentinaBernardo Dominic NEGOTIATION
Ricardo GauchoItalyElwin Sharvill RENEWAL
Nicolas IturbideBrazilAsiya Javayant NEW
Deepesh ChuiSpainAsiya Javayant RENEWAL
Aika InouyeFranceAsiya Javayant RENEWAL
Jones VocelkaIndiaStephen Shaw UNQUALIFIED
Jones VocelkaFranceStephen Shaw NEGOTIATION
Octavia MaletUnited KingdomOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar PaprockiCanada2026-04-04Feiner Bros PROPOSAL23Ivan Magalhaes
1001Alejandro PerinArgentina2026-04-15Benton, John B Jr RENEWAL54Bernardo Dominic
1002Kadeem FlosiAustralia2026-04-07Dorl, James J Esq UNQUALIFIED87Ioni Bowcher
1003Wickens NestleArgentina2026-04-16Feltz Printing Service PROPOSAL95Elwin Sharvill
1004David DarakjyUnited Kingdom2026-04-15Chemel, James L Cpa QUALIFIED75Bernardo Dominic
1005Ashley DoeBrazil2026-04-13Printing Dimensions PROPOSAL40Asiya Javayant
1006Clifford RimArgentina2026-04-08Commercial Press NEGOTIATION1Bernardo Dominic
1007Misaki RoysterRussia2026-04-19King, Christopher A Esq NEW13Asiya Javayant
1008Mayumi KolmetzRussia2026-04-09Feiner Bros NEW93Ivan Magalhaes
1009Costa DilliardJapan2026-04-20Feltz Printing Service QUALIFIED83Elwin Sharvill
1010Alejandro PerinBrazil2026-04-12Rangoni Of Florence PROPOSAL93Bernardo Dominic
1011Faith GillianGermany2026-04-17Benton, John B Jr NEW30Anna Fali
1012Emily WhobreyGermany2026-04-11Rousseaux, Michael Esq QUALIFIED55Xuxue Feng
1013Rodrigues CampainAustralia2026-04-20King, Christopher A Esq NEGOTIATION28Ivan Magalhaes
1014Adams MorascaSpain2026-04-11Morlong Associates QUALIFIED48Stephen Shaw
1015Kaitlin OstroskyUnited Kingdom2026-04-19Morlong Associates UNQUALIFIED27Elwin Sharvill
1016Claire TollnerJapan2026-03-25King, Christopher A Esq PROPOSAL0Anna Fali
1017Jones VocelkaIndia2026-03-25Chemel, James L Cpa RENEWAL65Ivan Magalhaes
1018Julie StensethSpain2026-03-26Truhlar And Truhlar Attys RENEWAL19Asiya Javayant
1019Ashley DoeCanada2026-03-26Chemel, James L Cpa QUALIFIED78Xuxue Feng
1020Arvin AlbaresFrance2026-04-14King, Christopher A Esq NEGOTIATION90Xuxue Feng
1021Emily WhobreyIndia2026-04-15Rangoni Of Florence NEGOTIATION1Ioni Bowcher
1022Chavez BriddickArgentina2026-03-29Buckley Miller Wright UNQUALIFIED49Elwin Sharvill
1023Adams MorascaAustralia2026-04-07Truhlar And Truhlar Attys QUALIFIED71Stephen Shaw
1024Smith GlickFrance2026-04-09Chemel, James L Cpa UNQUALIFIED85Elwin Sharvill
1025Ivar PaprockiFrance2026-04-14Feiner Bros PROPOSAL54Xuxue Feng
1026Cody SaylorsItaly2026-04-06Benton, John B Jr PROPOSAL61Ioni Bowcher
1027Isabel BowleyGermany2026-03-31Commercial Press PROPOSAL88Anna Fali
1028David DarakjyGermany2026-04-08Printing Dimensions PROPOSAL26Xuxue Feng
1029Jennifer AmigonArgentina2026-04-02Truhlar And Truhlar Attys PROPOSAL54Ioni Bowcher
1030Arvin AlbaresSpain2026-03-29Chapman, Ross E Esq NEW8Stephen Shaw
1031Silvio SlusarskiRussia2026-04-02Feltz Printing Service NEW69Ioni Bowcher
1032Mayumi KolmetzIndia2026-03-29Rousseaux, Michael Esq QUALIFIED54Stephen Shaw
1033Claire TollnerGermany2026-04-19Rousseaux, Michael Esq QUALIFIED7Amy Elsner
1034James ButtIndia2026-03-27Printing Dimensions RENEWAL76Stephen Shaw
1035Johnson SergiRussia2026-04-18Commercial Press QUALIFIED49Elwin Sharvill
1036Ashley DoeFrance2026-04-17Rangoni Of Florence RENEWAL2Onyama Limba
1037Alejandro PerinJapan2026-04-15Rousseaux, Michael Esq PROPOSAL39Asiya Javayant
1038Wickens NestleBrazil2026-04-01King, Christopher A Esq RENEWAL25Stephen Shaw
1039Maisha RulapaughRussia2026-04-16Printing Dimensions RENEWAL86Elwin Sharvill
1040Mujtaba NickaSpain2026-03-30Feltz Printing Service PROPOSAL55Asiya Javayant
1041Salvatore StockhamBrazil2026-03-29King, Christopher A Esq NEW41Stephen Shaw
1042Costa DilliardItaly2026-04-01Feiner Bros UNQUALIFIED61Anna Fali
1043David DarakjyAustralia2026-04-07Benton, John B Jr NEW87Amy Elsner
1044Munro FerenczSpain2026-03-31Morlong Associates NEW27Ioni Bowcher
1045Leon OldroydUnited Kingdom2026-04-02Dorl, James J Esq RENEWAL3Anna Fali
1046David DarakjySpain2026-03-31Commercial Press PROPOSAL80Amy Elsner
1047Isabel BowleyUnited Kingdom2026-03-24Truhlar And Truhlar Attys QUALIFIED15Ioni Bowcher
1048Sinclair WaycottSpain2026-04-15Feiner Bros NEW79Ivan Magalhaes
1049Morrow RutaJapan2026-04-13Rousseaux, Michael Esq NEGOTIATION29Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Nicolas IturbideJapanStephen Shaw RENEWAL
Murillo MaletBrazilAnna Fali NEW
Mayumi KolmetzJapanStephen Shaw NEW
Jeanfrancois VenereJapanIoni Bowcher NEW
Ashley DoeArgentinaStephen Shaw UNQUALIFIED
Johnson SergiIndiaAnna Fali QUALIFIED
Misaki RoysterJapanXuxue Feng NEGOTIATION
Leon OldroydArgentinaAmy Elsner UNQUALIFIED
Cody SaylorsFranceAmy Elsner QUALIFIED
Wickens NestleCanadaAnna Fali NEW
Aruna FigeroaGermanyIoni Bowcher NEW
Alejandro PerinArgentinaAnna Fali PROPOSAL
Adams MorascaIndiaAmy Elsner UNQUALIFIED
Ricardo GauchoArgentinaIoni Bowcher QUALIFIED
Kadeem FlosiCanadaAsiya Javayant PROPOSAL
Juan WieserBrazilAsiya Javayant UNQUALIFIED
Kaitlin OstroskyBrazilIoni Bowcher NEGOTIATION
Chavez BriddickIndiaAsiya Javayant UNQUALIFIED
Darci PoquetteIndiaOnyama Limba RENEWAL
Morrow RutaRussiaElwin Sharvill NEGOTIATION
Leon OldroydCanadaIvan Magalhaes UNQUALIFIED
Jennifer AmigonRussiaElwin Sharvill NEW
Mujtaba NickaRussiaIvan Magalhaes NEW
Alejandro PerinJapanIoni Bowcher UNQUALIFIED
Cody SaylorsBrazilAmy Elsner QUALIFIED
Tony FollerCanadaAsiya Javayant QUALIFIED
Maria MarrierBrazilOnyama Limba PROPOSAL
David DarakjySpainIoni Bowcher RENEWAL
Tony FollerUnited KingdomXuxue Feng NEGOTIATION
Leon OldroydIndiaBernardo Dominic UNQUALIFIED
Mayumi KolmetzItalyAmy Elsner RENEWAL
Adams MorascaCanadaAsiya Javayant NEGOTIATION
Costa DilliardCanadaAmy Elsner RENEWAL
Jefferson SchemmerSpainIvan Magalhaes PROPOSAL
Munro FerenczFranceStephen Shaw PROPOSAL
Aruna FigeroaUnited KingdomIvan Magalhaes RENEWAL
Maria MarrierAustraliaBernardo Dominic UNQUALIFIED
David DarakjyUnited KingdomAsiya Javayant RENEWAL
Costa DilliardAustraliaBernardo Dominic NEGOTIATION
Cody SaylorsAustraliaIoni Bowcher NEGOTIATION
Deepesh ChuiBrazilAmy Elsner QUALIFIED
Wickens NestleCanadaXuxue Feng UNQUALIFIED
Alejandro PerinSpainBernardo Dominic NEGOTIATION
Tony FollerArgentinaElwin Sharvill NEGOTIATION
Leon OldroydItalyElwin Sharvill RENEWAL
Stacey MacleadUnited KingdomElwin Sharvill RENEWAL
Rodrigues CampainSpainIvan Magalhaes RENEWAL
Morrow RutaRussiaOnyama Limba QUALIFIED
Clifford RimArgentinaAsiya Javayant UNQUALIFIED
Murillo MaletFranceIoni Bowcher NEW
Frozen Columns
Name
Francesco Shinko
Leja Caldarera
Ashley Doe
Izzy Garufi
Silvio Slusarski
Jefferson Schemmer
Cody Saylors
Johnson Sergi
Greenwood Bolognia
Leon Oldroyd
Mayumi Kolmetz
Izzy Garufi
Munro Ferencz
Murillo Malet
Clifford Rim
Jeanfrancois Venere
Wickens Nestle
Antonio Caudy
Ivar Paprocki
Darci Poquette
Leon Oldroyd
Costa Dilliard
Claire Tollner
Maisha Rulapaugh
Izzy Garufi
Jones Vocelka
Aika Inouye
Mayumi Kolmetz
Greenwood Bolognia
Alejandro Perin
Mujtaba Nicka
Maisha Rulapaugh
Mayumi Kolmetz
Aditya Kusko
Jeanfrancois Venere
Leon Oldroyd
Isabel Bowley
Kadeem Flosi
Wickens Nestle
Ivar Paprocki
Emily Whobrey
Stacey Maclead
Aditya Kusko
Maria Marrier
Cody Saylors
Mayumi Kolmetz
Murillo Malet
Isabel Bowley
Clifford Rim
Ashley Doe
IdCountryDate
1000Brazil2026-04-08
1001France2026-04-02
1002United Kingdom2026-04-06
1003India2026-03-27
1004India2026-04-21
1005Australia2026-04-19
1006Italy2026-04-13
1007United Kingdom2026-04-05
1008Brazil2026-03-29
1009United Kingdom2026-04-06
1010Russia2026-04-01
1011Australia2026-04-03
1012Argentina2026-04-14
1013Canada2026-04-11
1014Argentina2026-04-07
1015Italy2026-03-27
1016Brazil2026-03-23
1017Argentina2026-04-15
1018Germany2026-04-05
1019Argentina2026-04-17
1020Italy2026-04-14
1021India2026-03-30
1022Spain2026-04-10
1023India2026-03-29
1024Germany2026-04-17
1025Italy2026-04-18
1026Italy2026-04-12
1027Spain2026-04-14
1028France2026-04-20
1029Germany2026-04-05
1030Italy2026-04-10
1031Italy2026-03-29
1032Argentina2026-04-11
1033Australia2026-04-17
1034Italy2026-04-11
1035India2026-03-23
1036Germany2026-03-23
1037Russia2026-03-31
1038Spain2026-04-01
1039United Kingdom2026-04-03
1040Italy2026-04-19
1041France2026-04-21
1042Argentina2026-04-12
1043Canada2026-03-28
1044Italy2026-04-18
1045Brazil2026-04-19
1046United Kingdom2026-04-04
1047Spain2026-04-13
1048Canada2026-04-03
1049Argentina2026-04-20

On-Demand Data

NameIdCountryDate
Claire Tollner1000Canada2026-03-31
Greenwood Bolognia1001Spain2026-03-25
Leja Caldarera1002Spain2026-04-02
Mujtaba Nicka1003Australia2026-04-03
Ivar Paprocki1004Japan2026-04-10
Antonio Caudy1005Japan2026-03-23
Munro Ferencz1006Brazil2026-03-27
Costa Dilliard1007France2026-03-28
Octavia Malet1008Australia2026-04-17
Costa Dilliard1009Canada2026-04-16
Leon Oldroyd1010United Kingdom2026-04-05
Isabel Bowley1011Japan2026-04-21
Deepesh Chui1012France2026-04-21
Deepesh Chui1013Canada2026-04-21
Faith Gillian1014Spain2026-04-01
Clifford Rim1015India2026-04-09
Mayumi Kolmetz1016Australia2026-03-29
Tony Foller1017Canada2026-03-27
Greenwood Bolognia1018Australia2026-03-25
Francesco Shinko1019Italy2026-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow RutaSpainIoni Bowcher RENEWAL
Rodrigues CampainGermanyStephen Shaw NEW
Salvatore StockhamRussiaAnna Fali NEGOTIATION
Salvatore StockhamItalyStephen Shaw QUALIFIED
Morrow RutaAustraliaIoni Bowcher RENEWAL
Greenwood BologniaCanadaOnyama Limba PROPOSAL
Ricardo GauchoFranceOnyama Limba UNQUALIFIED
Deepesh ChuiGermanyXuxue Feng RENEWAL
Tony FollerItalyOnyama Limba RENEWAL
Leon OldroydSpainAmy Elsner RENEWAL
Greenwood BologniaArgentinaStephen Shaw RENEWAL
Juan WieserIndiaXuxue Feng NEGOTIATION
Julie StensethIndiaIvan Magalhaes RENEWAL
Kaitlin OstroskySpainXuxue Feng RENEWAL
Izzy GarufiIndiaXuxue Feng QUALIFIED
Aditya KuskoSpainElwin Sharvill PROPOSAL
Jeanfrancois VenereAustraliaOnyama Limba NEW
Jeanfrancois VenereSpainAmy Elsner RENEWAL
Munro FerenczGermanyIoni Bowcher UNQUALIFIED
Leja CaldareraCanadaAnna Fali NEW
Murillo MaletAustraliaOnyama Limba QUALIFIED
Clifford RimItalyAmy Elsner RENEWAL
Leon OldroydBrazilElwin Sharvill NEW
Faith GillianBrazilBernardo Dominic NEW
Costa DilliardAustraliaOnyama Limba QUALIFIED
Nicolas IturbideItalyAsiya Javayant QUALIFIED
Johnson SergiGermanyBernardo Dominic RENEWAL
Aika InouyeUnited KingdomAnna Fali QUALIFIED
Juan WieserArgentinaXuxue Feng NEGOTIATION
Julie StensethSpainBernardo Dominic PROPOSAL
David DarakjyCanadaXuxue Feng NEW
James ButtGermanyStephen Shaw PROPOSAL
Rodrigues CampainArgentinaBernardo Dominic QUALIFIED
Jennifer AmigonItalyAsiya Javayant NEGOTIATION
Sinclair WaycottUnited KingdomBernardo Dominic NEW
Greenwood BologniaCanadaIoni Bowcher UNQUALIFIED
Jefferson SchemmerAustraliaOnyama Limba NEGOTIATION
Johnson SergiAustraliaAnna Fali PROPOSAL
James ButtUnited KingdomIoni Bowcher RENEWAL
Arvin AlbaresItalyElwin Sharvill 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>