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
Cody SaylorsJapanStephen Shaw QUALIFIED
Maisha RulapaughSpainOnyama Limba QUALIFIED
Antonio CaudyUnited KingdomXuxue Feng QUALIFIED
Izzy GarufiAustraliaStephen Shaw RENEWAL
Jennifer AmigonJapanElwin Sharvill QUALIFIED
Ricardo GauchoBrazilStephen Shaw QUALIFIED
Aika InouyeIndiaAnna Fali UNQUALIFIED
Johnson SergiRussiaBernardo Dominic PROPOSAL
Wickens NestleArgentinaAmy Elsner UNQUALIFIED
Julie StensethFranceAmy Elsner PROPOSAL
Tony FollerSpainAmy Elsner NEGOTIATION
Ashley DoeSpainStephen Shaw NEGOTIATION
Aika InouyeCanadaElwin Sharvill QUALIFIED
Jefferson SchemmerSpainXuxue Feng RENEWAL
Izzy GarufiBrazilBernardo Dominic NEGOTIATION
Stacey MacleadUnited KingdomAnna Fali NEGOTIATION
Jennifer AmigonGermanyAmy Elsner QUALIFIED
Murillo MaletFranceOnyama Limba NEW
Ricardo GauchoIndiaBernardo Dominic PROPOSAL
Mayumi KolmetzSpainElwin Sharvill PROPOSAL
Ricardo GauchoUnited KingdomAsiya Javayant QUALIFIED
Ivar PaprockiCanadaStephen Shaw PROPOSAL
Rodrigues CampainAustraliaXuxue Feng NEW
Leon OldroydSpainAmy Elsner NEGOTIATION
Munro FerenczAustraliaAmy Elsner QUALIFIED
Munro FerenczAustraliaIvan Magalhaes NEW
Maria MarrierJapanAnna Fali QUALIFIED
Antonio CaudyIndiaElwin Sharvill PROPOSAL
Morrow RutaFranceIoni Bowcher RENEWAL
Adams MorascaRussiaOnyama Limba PROPOSAL
Smith GlickBrazilXuxue Feng NEW
Morrow RutaItalyIvan Magalhaes PROPOSAL
Arvin AlbaresUnited KingdomBernardo Dominic PROPOSAL
Stacey MacleadSpainAsiya Javayant QUALIFIED
Jeanfrancois VenereCanadaOnyama Limba NEGOTIATION
Ricardo GauchoRussiaOnyama Limba UNQUALIFIED
Mayumi KolmetzJapanStephen Shaw NEGOTIATION
Murillo MaletIndiaIvan Magalhaes PROPOSAL
Julie StensethSpainStephen Shaw UNQUALIFIED
Jennifer AmigonItalyBernardo Dominic NEW
Antonio CaudyItalyAnna Fali RENEWAL
Jeanfrancois VenereIndiaIoni Bowcher NEW
Ivar PaprockiSpainAmy Elsner RENEWAL
Leon OldroydSpainElwin Sharvill NEGOTIATION
Adams MorascaFranceXuxue Feng RENEWAL
Ricardo GauchoSpainBernardo Dominic NEGOTIATION
Octavia MaletArgentinaXuxue Feng NEW
Ashley DoeArgentinaElwin Sharvill PROPOSAL
Smith GlickCanadaOnyama Limba RENEWAL
Kadeem FlosiGermanyAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh ChuiAustraliaElwin Sharvill NEW
Chavez BriddickFranceBernardo Dominic UNQUALIFIED
Deepesh ChuiGermanyOnyama Limba UNQUALIFIED
Munro FerenczBrazilBernardo Dominic NEGOTIATION
Isabel BowleyIndiaAmy Elsner NEGOTIATION
Francesco ShinkoJapanXuxue Feng NEW
Antonio CaudyFranceAnna Fali UNQUALIFIED
Ricardo GauchoArgentinaBernardo Dominic NEW
Ivar PaprockiGermanyStephen Shaw NEGOTIATION
Costa DilliardCanadaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David DarakjyGermany2025-09-27Feiner Bros PROPOSAL94Xuxue Feng
1001Nicolas IturbideJapan2025-09-21Chanay, Jeffrey A Esq PROPOSAL96Bernardo Dominic
1002James ButtArgentina2025-09-01Feltz Printing Service PROPOSAL0Ivan Magalhaes
1003Greenwood BologniaIndia2025-09-21Truhlar And Truhlar Attys RENEWAL10Anna Fali
1004Adams MorascaSpain2025-09-18Truhlar And Truhlar Attys NEGOTIATION16Stephen Shaw
1005Ashley DoeSpain2025-09-17Chanay, Jeffrey A Esq QUALIFIED77Onyama Limba
1006Silvio SlusarskiGermany2025-09-02Commercial Press UNQUALIFIED39Ivan Magalhaes
1007Isabel BowleyAustralia2025-09-11Dorl, James J Esq NEGOTIATION18Xuxue Feng
1008Arvin AlbaresAustralia2025-09-21Truhlar And Truhlar Attys UNQUALIFIED11Amy Elsner
1009Deepesh ChuiCanada2025-09-15Rousseaux, Michael Esq NEW56Elwin Sharvill
1010Maisha RulapaughBrazil2025-09-01Feltz Printing Service RENEWAL44Amy Elsner
1011Izzy GarufiRussia2025-09-13Dorl, James J Esq QUALIFIED39Amy Elsner
1012Costa DilliardJapan2025-09-22Rangoni Of Florence PROPOSAL96Onyama Limba
1013Rodrigues CampainSpain2025-09-02Truhlar And Truhlar Attys QUALIFIED91Bernardo Dominic
1014Murillo MaletSpain2025-09-25Chanay, Jeffrey A Esq RENEWAL49Xuxue Feng
1015Tony FollerUnited Kingdom2025-09-16Feiner Bros RENEWAL98Onyama Limba
1016Deepesh ChuiUnited Kingdom2025-09-20Feiner Bros RENEWAL94Bernardo Dominic
1017Ricardo GauchoFrance2025-09-18Chanay, Jeffrey A Esq PROPOSAL60Asiya Javayant
1018Faith GillianAustralia2025-09-25Feiner Bros QUALIFIED62Anna Fali
1019Jeanfrancois VenereRussia2025-09-09Printing Dimensions NEW81Bernardo Dominic
1020Isabel BowleyAustralia2025-09-29Feiner Bros NEGOTIATION68Ioni Bowcher
1021Munro FerenczSpain2025-09-16Dorl, James J Esq QUALIFIED43Ioni Bowcher
1022Darci PoquetteJapan2025-09-06Benton, John B Jr NEW5Anna Fali
1023Aika InouyeRussia2025-09-03Chemel, James L Cpa NEGOTIATION76Anna Fali
1024Munro FerenczFrance2025-09-22Feiner Bros PROPOSAL52Elwin Sharvill
1025Salvatore StockhamFrance2025-09-27Chemel, James L Cpa QUALIFIED80Onyama Limba
1026Julie StensethCanada2025-09-06Chanay, Jeffrey A Esq UNQUALIFIED66Ivan Magalhaes
1027Leon OldroydItaly2025-09-06Truhlar And Truhlar Attys PROPOSAL94Asiya Javayant
1028Jennifer AmigonRussia2025-09-23Printing Dimensions NEW76Anna Fali
1029Tony FollerCanada2025-09-14Dorl, James J Esq NEGOTIATION21Elwin Sharvill
1030Julie StensethItaly2025-09-03Feltz Printing Service RENEWAL80Xuxue Feng
1031Jones VocelkaArgentina2025-09-06Commercial Press RENEWAL42Ioni Bowcher
1032Isabel BowleyJapan2025-09-27Chapman, Ross E Esq RENEWAL53Anna Fali
1033Darci PoquetteGermany2025-09-07Buckley Miller Wright UNQUALIFIED44Asiya Javayant
1034Adams MorascaIndia2025-09-19Commercial Press QUALIFIED16Ioni Bowcher
1035Tony FollerArgentina2025-09-07Printing Dimensions UNQUALIFIED34Ivan Magalhaes
1036Antonio CaudyIndia2025-09-09Rangoni Of Florence QUALIFIED49Amy Elsner
1037Chavez BriddickArgentina2025-09-24Rousseaux, Michael Esq QUALIFIED54Elwin Sharvill
1038Jennifer AmigonCanada2025-09-28Feltz Printing Service QUALIFIED45Asiya Javayant
1039Octavia MaletItaly2025-09-03Chapman, Ross E Esq PROPOSAL3Ivan Magalhaes
1040Julie StensethBrazil2025-09-06Buckley Miller Wright QUALIFIED61Ivan Magalhaes
1041Francesco ShinkoIndia2025-09-01Rangoni Of Florence NEGOTIATION11Bernardo Dominic
1042Arvin AlbaresCanada2025-09-23Chemel, James L Cpa PROPOSAL4Elwin Sharvill
1043Alejandro PerinItaly2025-09-05Benton, John B Jr PROPOSAL61Xuxue Feng
1044Leja CaldareraSpain2025-09-06Dorl, James J Esq QUALIFIED75Elwin Sharvill
1045Misaki RoysterArgentina2025-08-31Rangoni Of Florence NEGOTIATION47Amy Elsner
1046Francesco ShinkoRussia2025-09-07King, Christopher A Esq QUALIFIED58Xuxue Feng
1047Greenwood BologniaIndia2025-09-29Printing Dimensions NEGOTIATION5Bernardo Dominic
1048James ButtJapan2025-09-13Printing Dimensions NEGOTIATION95Anna Fali
1049Ashley DoeBrazil2025-09-20Truhlar And Truhlar Attys PROPOSAL90Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ricardo GauchoJapanAmy Elsner PROPOSAL
Mayumi KolmetzJapanXuxue Feng QUALIFIED
Murillo MaletJapanIvan Magalhaes RENEWAL
Adams MorascaGermanyAnna Fali QUALIFIED
Jefferson SchemmerRussiaOnyama Limba QUALIFIED
Kadeem FlosiGermanyIoni Bowcher NEW
Antonio CaudyBrazilXuxue Feng PROPOSAL
Ashley DoeUnited KingdomAsiya Javayant NEGOTIATION
Costa DilliardJapanStephen Shaw RENEWAL
Nicolas IturbideAustraliaAsiya Javayant RENEWAL
Octavia MaletSpainAmy Elsner UNQUALIFIED
Cody SaylorsRussiaOnyama Limba NEGOTIATION
Arvin AlbaresGermanyStephen Shaw NEW
Francesco ShinkoGermanyBernardo Dominic QUALIFIED
Julie StensethIndiaBernardo Dominic UNQUALIFIED
Maria MarrierArgentinaAmy Elsner QUALIFIED
Emily WhobreyCanadaAmy Elsner RENEWAL
Costa DilliardUnited KingdomAsiya Javayant RENEWAL
Rodrigues CampainIndiaStephen Shaw NEGOTIATION
Julie StensethJapanAsiya Javayant NEW
Isabel BowleyItalyAnna Fali PROPOSAL
Emily WhobreyRussiaIvan Magalhaes NEW
Ivar PaprockiAustraliaXuxue Feng PROPOSAL
Johnson SergiUnited KingdomAmy Elsner PROPOSAL
Wickens NestleJapanAmy Elsner RENEWAL
Wickens NestleRussiaStephen Shaw QUALIFIED
Greenwood BologniaUnited KingdomIvan Magalhaes QUALIFIED
Francesco ShinkoBrazilXuxue Feng RENEWAL
Jeanfrancois VenereFranceStephen Shaw UNQUALIFIED
Antonio CaudyJapanIoni Bowcher QUALIFIED
Sinclair WaycottRussiaElwin Sharvill UNQUALIFIED
Wickens NestleBrazilBernardo Dominic PROPOSAL
Clifford RimBrazilOnyama Limba NEW
Ivar PaprockiAustraliaAnna Fali NEW
Aruna FigeroaBrazilBernardo Dominic NEW
Antonio CaudyIndiaAsiya Javayant NEW
Adams MorascaBrazilBernardo Dominic QUALIFIED
Wickens NestleCanadaElwin Sharvill UNQUALIFIED
Wickens NestleSpainXuxue Feng NEW
Octavia MaletIndiaElwin Sharvill QUALIFIED
Nicolas IturbideFranceAnna Fali NEW
Smith GlickUnited KingdomAsiya Javayant NEW
Ashley DoeItalyStephen Shaw NEW
Julie StensethUnited KingdomXuxue Feng RENEWAL
Stacey MacleadFranceAsiya Javayant RENEWAL
Francesco ShinkoGermanyBernardo Dominic PROPOSAL
Jefferson SchemmerJapanBernardo Dominic UNQUALIFIED
David DarakjyCanadaXuxue Feng QUALIFIED
Cody SaylorsIndiaBernardo Dominic NEGOTIATION
Francesco ShinkoSpainIoni Bowcher QUALIFIED
Frozen Columns
Name
Ashley Doe
Mujtaba Nicka
Jennifer Amigon
Faith Gillian
Jefferson Schemmer
Arvin Albares
Octavia Malet
Octavia Malet
Juan Wieser
Ivar Paprocki
Julie Stenseth
Stacey Maclead
Arvin Albares
Aruna Figeroa
Jones Vocelka
Jones Vocelka
Izzy Garufi
Kadeem Flosi
Darci Poquette
Juan Wieser
Aruna Figeroa
Mayumi Kolmetz
Salvatore Stockham
Salvatore Stockham
Jefferson Schemmer
Jefferson Schemmer
Costa Dilliard
Deepesh Chui
Rodrigues Campain
Mayumi Kolmetz
Aika Inouye
Claire Tollner
Sinclair Waycott
Salvatore Stockham
Mujtaba Nicka
Rodrigues Campain
Morrow Ruta
Sinclair Waycott
Greenwood Bolognia
James Butt
Izzy Garufi
Kaitlin Ostrosky
Stacey Maclead
Claire Tollner
Morrow Ruta
Darci Poquette
Silvio Slusarski
Mujtaba Nicka
Antonio Caudy
Murillo Malet
IdCountryDate
1000United Kingdom2025-09-06
1001United Kingdom2025-09-09
1002France2025-09-04
1003Brazil2025-09-01
1004Argentina2025-09-21
1005Argentina2025-09-20
1006Japan2025-09-29
1007Brazil2025-09-08
1008Canada2025-09-14
1009United Kingdom2025-09-13
1010Canada2025-09-13
1011India2025-09-11
1012Australia2025-09-20
1013Australia2025-09-26
1014India2025-09-10
1015Germany2025-09-11
1016Canada2025-09-04
1017Italy2025-09-06
1018Brazil2025-09-01
1019Brazil2025-09-01
1020Russia2025-09-24
1021Argentina2025-09-01
1022France2025-09-03
1023Germany2025-09-01
1024Italy2025-09-19
1025Brazil2025-09-02
1026France2025-09-16
1027Russia2025-08-31
1028Russia2025-09-15
1029France2025-09-26
1030India2025-09-27
1031Germany2025-09-22
1032Australia2025-09-15
1033Italy2025-09-11
1034Brazil2025-09-07
1035India2025-09-17
1036Japan2025-09-10
1037Brazil2025-09-12
1038France2025-09-17
1039Italy2025-09-24
1040Spain2025-09-17
1041France2025-09-23
1042Japan2025-09-03
1043Australia2025-09-09
1044Spain2025-09-22
1045Canada2025-09-13
1046Brazil2025-09-14
1047France2025-09-20
1048Spain2025-09-10
1049India2025-09-28

On-Demand Data

NameIdCountryDate
Ivar Paprocki1000India2025-09-21
Kadeem Flosi1001Italy2025-09-21
Francesco Shinko1002Germany2025-09-22
Emily Whobrey1003Japan2025-09-29
Arvin Albares1004Australia2025-09-24
Smith Glick1005Argentina2025-09-23
Chavez Briddick1006Japan2025-09-20
Aruna Figeroa1007Brazil2025-09-27
Arvin Albares1008Argentina2025-09-17
Ricardo Gaucho1009France2025-09-21
Jennifer Amigon1010France2025-09-14
Mujtaba Nicka1011Spain2025-09-23
Nicolas Iturbide1012Spain2025-09-18
Leja Caldarera1013Italy2025-09-12
Stacey Maclead1014Canada2025-09-02
Ashley Doe1015Germany2025-09-26
Faith Gillian1016India2025-09-20
Faith Gillian1017Australia2025-09-29
Sinclair Waycott1018Italy2025-09-16
Salvatore Stockham1019Argentina2025-09-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio SlusarskiRussiaAsiya Javayant QUALIFIED
James ButtUnited KingdomXuxue Feng NEW
Mayumi KolmetzSpainOnyama Limba UNQUALIFIED
Francesco ShinkoCanadaAnna Fali PROPOSAL
Mujtaba NickaUnited KingdomBernardo Dominic UNQUALIFIED
Mayumi KolmetzSpainAsiya Javayant NEGOTIATION
Rodrigues CampainAustraliaAmy Elsner QUALIFIED
Wickens NestleJapanElwin Sharvill RENEWAL
Julie StensethRussiaOnyama Limba NEGOTIATION
Juan WieserItalyStephen Shaw NEGOTIATION
Claire TollnerJapanOnyama Limba UNQUALIFIED
Faith GillianCanadaAsiya Javayant UNQUALIFIED
Mujtaba NickaArgentinaOnyama Limba NEW
Cody SaylorsGermanyBernardo Dominic UNQUALIFIED
Wickens NestleJapanOnyama Limba QUALIFIED
Mayumi KolmetzGermanyIvan Magalhaes PROPOSAL
Leja CaldareraUnited KingdomAsiya Javayant QUALIFIED
Nicolas IturbideFranceIoni Bowcher RENEWAL
Ricardo GauchoCanadaStephen Shaw RENEWAL
Arvin AlbaresItalyAnna Fali NEW
Darci PoquetteAustraliaAnna Fali PROPOSAL
Murillo MaletSpainAmy Elsner NEGOTIATION
Julie StensethGermanyStephen Shaw NEW
Izzy GarufiIndiaAnna Fali RENEWAL
Jennifer AmigonArgentinaXuxue Feng RENEWAL
Wickens NestleRussiaAsiya Javayant PROPOSAL
Adams MorascaJapanAmy Elsner PROPOSAL
Costa DilliardGermanyAmy Elsner NEW
Costa DilliardJapanAmy Elsner NEGOTIATION
Kadeem FlosiArgentinaIoni Bowcher RENEWAL
Wickens NestleRussiaStephen Shaw PROPOSAL
Mayumi KolmetzBrazilAnna Fali NEW
Izzy GarufiSpainElwin Sharvill PROPOSAL
Nicolas IturbideRussiaIvan Magalhaes RENEWAL
Julie StensethFranceAmy Elsner PROPOSAL
Isabel BowleyIndiaAnna Fali RENEWAL
Arvin AlbaresFranceIoni Bowcher PROPOSAL
Deepesh ChuiIndiaOnyama Limba QUALIFIED
Silvio SlusarskiArgentinaAmy Elsner PROPOSAL
Adams MorascaBrazilAnna Fali UNQUALIFIED

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