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
Leja CaldareraCanadaIvan Magalhaes PROPOSAL
Octavia MaletJapanAmy Elsner QUALIFIED
Adams MorascaItalyElwin Sharvill UNQUALIFIED
Ivar PaprockiSpainIvan Magalhaes NEGOTIATION
James ButtIndiaAnna Fali PROPOSAL
Aditya KuskoJapanAmy Elsner PROPOSAL
Misaki RoysterRussiaIoni Bowcher UNQUALIFIED
Izzy GarufiRussiaXuxue Feng PROPOSAL
Leon OldroydSpainAsiya Javayant RENEWAL
Ricardo GauchoJapanBernardo Dominic RENEWAL
Murillo MaletJapanXuxue Feng RENEWAL
Kaitlin OstroskyGermanyAsiya Javayant UNQUALIFIED
Leon OldroydUnited KingdomIoni Bowcher QUALIFIED
Aika InouyeJapanAsiya Javayant PROPOSAL
Kaitlin OstroskyAustraliaBernardo Dominic NEW
Murillo MaletIndiaIoni Bowcher QUALIFIED
Aditya KuskoFranceXuxue Feng QUALIFIED
Maisha RulapaughCanadaAmy Elsner QUALIFIED
Morrow RutaGermanyElwin Sharvill UNQUALIFIED
Leon OldroydItalyAmy Elsner NEW
Isabel BowleyRussiaAnna Fali NEW
Julie StensethRussiaStephen Shaw NEGOTIATION
Jeanfrancois VenereAustraliaBernardo Dominic QUALIFIED
Aruna FigeroaSpainIvan Magalhaes PROPOSAL
Alejandro PerinItalyElwin Sharvill QUALIFIED
Greenwood BologniaUnited KingdomIoni Bowcher RENEWAL
Jefferson SchemmerArgentinaXuxue Feng RENEWAL
Johnson SergiIndiaOnyama Limba QUALIFIED
Chavez BriddickSpainOnyama Limba PROPOSAL
Claire TollnerRussiaIvan Magalhaes NEW
Cody SaylorsItalyStephen Shaw UNQUALIFIED
Ashley DoeItalyXuxue Feng RENEWAL
Jones VocelkaJapanStephen Shaw PROPOSAL
Jeanfrancois VenereItalyIvan Magalhaes NEGOTIATION
Aditya KuskoRussiaIvan Magalhaes NEGOTIATION
Tony FollerCanadaXuxue Feng UNQUALIFIED
Emily WhobreyArgentinaStephen Shaw NEGOTIATION
Munro FerenczIndiaAnna Fali PROPOSAL
Costa DilliardCanadaAnna Fali RENEWAL
Faith GillianBrazilIvan Magalhaes RENEWAL
Francesco ShinkoCanadaStephen Shaw QUALIFIED
Clifford RimArgentinaBernardo Dominic NEW
Clifford RimFranceIoni Bowcher PROPOSAL
Salvatore StockhamAustraliaBernardo Dominic NEGOTIATION
Leja CaldareraCanadaElwin Sharvill NEW
Izzy GarufiGermanyIoni Bowcher NEGOTIATION
Julie StensethFranceOnyama Limba QUALIFIED
Faith GillianIndiaAmy Elsner NEW
Tony FollerItalyIoni Bowcher QUALIFIED
Aditya KuskoFranceElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Faith GillianAustraliaXuxue Feng NEGOTIATION
Morrow RutaItalyIoni Bowcher NEW
Leon OldroydSpainOnyama Limba UNQUALIFIED
Jeanfrancois VenereArgentinaAmy Elsner NEGOTIATION
Kadeem FlosiCanadaIoni Bowcher QUALIFIED
Jones VocelkaJapanAnna Fali QUALIFIED
Mayumi KolmetzGermanyXuxue Feng NEW
Ivar PaprockiBrazilAsiya Javayant PROPOSAL
Maria MarrierIndiaElwin Sharvill QUALIFIED
Jefferson SchemmerGermanyIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey MacleadGermany2026-06-04Printing Dimensions NEGOTIATION91Ioni Bowcher
1001Octavia MaletFrance2026-05-13Printing Dimensions UNQUALIFIED97Onyama Limba
1002Ricardo GauchoJapan2026-05-12Truhlar And Truhlar Attys RENEWAL82Bernardo Dominic
1003Smith GlickGermany2026-05-12Chemel, James L Cpa NEW30Amy Elsner
1004Aditya KuskoRussia2026-05-23Feltz Printing Service QUALIFIED11Onyama Limba
1005Smith GlickArgentina2026-05-29Chemel, James L Cpa NEW46Ioni Bowcher
1006James ButtIndia2026-05-10Rousseaux, Michael Esq NEGOTIATION29Ioni Bowcher
1007Salvatore StockhamArgentina2026-05-29Benton, John B Jr QUALIFIED82Anna Fali
1008Kaitlin OstroskyCanada2026-05-18Feiner Bros UNQUALIFIED46Ivan Magalhaes
1009Leja CaldareraBrazil2026-05-25Chapman, Ross E Esq PROPOSAL74Ivan Magalhaes
1010Darci PoquetteJapan2026-05-13Truhlar And Truhlar Attys NEW77Anna Fali
1011Kadeem FlosiJapan2026-06-01Commercial Press NEGOTIATION16Elwin Sharvill
1012Smith GlickBrazil2026-06-01Chapman, Ross E Esq NEGOTIATION17Onyama Limba
1013Deepesh ChuiArgentina2026-05-14Dorl, James J Esq RENEWAL98Ioni Bowcher
1014Adams MorascaIndia2026-05-30Buckley Miller Wright NEGOTIATION17Bernardo Dominic
1015Maria MarrierItaly2026-05-26Commercial Press NEW50Ivan Magalhaes
1016Leja CaldareraCanada2026-05-31Chemel, James L Cpa NEGOTIATION62Ivan Magalhaes
1017Sinclair WaycottArgentina2026-05-15Truhlar And Truhlar Attys RENEWAL7Ioni Bowcher
1018David DarakjyBrazil2026-05-14Truhlar And Truhlar Attys NEGOTIATION46Anna Fali
1019Johnson SergiRussia2026-05-18Chanay, Jeffrey A Esq PROPOSAL27Xuxue Feng
1020Rodrigues CampainUnited Kingdom2026-05-18Chanay, Jeffrey A Esq UNQUALIFIED39Anna Fali
1021Izzy GarufiArgentina2026-05-09Feltz Printing Service QUALIFIED3Elwin Sharvill
1022David DarakjyUnited Kingdom2026-05-14Printing Dimensions UNQUALIFIED29Anna Fali
1023Antonio CaudyCanada2026-05-15King, Christopher A Esq NEW34Stephen Shaw
1024Silvio SlusarskiItaly2026-05-22Morlong Associates UNQUALIFIED63Amy Elsner
1025Antonio CaudyUnited Kingdom2026-05-13Chanay, Jeffrey A Esq RENEWAL67Xuxue Feng
1026Greenwood BologniaIndia2026-05-24Buckley Miller Wright RENEWAL25Onyama Limba
1027Aruna FigeroaIndia2026-05-07Buckley Miller Wright NEW19Asiya Javayant
1028Aditya KuskoRussia2026-05-23Commercial Press PROPOSAL81Ivan Magalhaes
1029Smith GlickRussia2026-05-22Chapman, Ross E Esq PROPOSAL9Elwin Sharvill
1030Kadeem FlosiIndia2026-05-20Benton, John B Jr RENEWAL55Stephen Shaw
1031Izzy GarufiJapan2026-06-01Commercial Press PROPOSAL32Stephen Shaw
1032Stacey MacleadCanada2026-05-22Buckley Miller Wright PROPOSAL6Elwin Sharvill
1033Aika InouyeItaly2026-05-20Feiner Bros RENEWAL3Bernardo Dominic
1034Juan WieserCanada2026-05-20Buckley Miller Wright RENEWAL51Ivan Magalhaes
1035Cody SaylorsUnited Kingdom2026-05-18Chemel, James L Cpa RENEWAL22Amy Elsner
1036Aruna FigeroaArgentina2026-05-31Feiner Bros PROPOSAL5Onyama Limba
1037Jones VocelkaAustralia2026-05-18Chapman, Ross E Esq NEGOTIATION97Bernardo Dominic
1038Isabel BowleyBrazil2026-05-07Feiner Bros QUALIFIED13Stephen Shaw
1039Munro FerenczJapan2026-05-19Rangoni Of Florence QUALIFIED45Anna Fali
1040Alejandro PerinRussia2026-05-21Rangoni Of Florence UNQUALIFIED50Amy Elsner
1041Isabel BowleyUnited Kingdom2026-05-29Benton, John B Jr RENEWAL83Asiya Javayant
1042Greenwood BologniaBrazil2026-06-04Buckley Miller Wright NEGOTIATION84Onyama Limba
1043Maria MarrierIndia2026-05-27Feiner Bros PROPOSAL18Elwin Sharvill
1044David DarakjyCanada2026-05-11Feiner Bros NEGOTIATION21Ioni Bowcher
1045Murillo MaletGermany2026-05-27Feltz Printing Service PROPOSAL78Asiya Javayant
1046Claire TollnerArgentina2026-05-11Truhlar And Truhlar Attys NEGOTIATION38Ioni Bowcher
1047Leja CaldareraItaly2026-05-27Chemel, James L Cpa UNQUALIFIED18Amy Elsner
1048Darci PoquetteBrazil2026-05-11Morlong Associates PROPOSAL59Ivan Magalhaes
1049Juan WieserRussia2026-05-28Chemel, James L Cpa PROPOSAL1Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Claire TollnerRussiaOnyama Limba QUALIFIED
Munro FerenczFranceAmy Elsner PROPOSAL
Leja CaldareraRussiaStephen Shaw RENEWAL
Johnson SergiArgentinaXuxue Feng NEGOTIATION
Arvin AlbaresGermanyAsiya Javayant QUALIFIED
Faith GillianBrazilElwin Sharvill UNQUALIFIED
Deepesh ChuiGermanyStephen Shaw UNQUALIFIED
Murillo MaletCanadaIvan Magalhaes QUALIFIED
Aditya KuskoSpainOnyama Limba NEGOTIATION
Smith GlickSpainIoni Bowcher RENEWAL
Ricardo GauchoRussiaOnyama Limba QUALIFIED
Jeanfrancois VenereItalyAsiya Javayant UNQUALIFIED
Murillo MaletArgentinaOnyama Limba UNQUALIFIED
Aditya KuskoUnited KingdomAnna Fali RENEWAL
Greenwood BologniaItalyAnna Fali PROPOSAL
Antonio CaudyCanadaAnna Fali UNQUALIFIED
Wickens NestleArgentinaAsiya Javayant UNQUALIFIED
Deepesh ChuiSpainAsiya Javayant UNQUALIFIED
Morrow RutaFranceElwin Sharvill RENEWAL
Silvio SlusarskiItalyBernardo Dominic UNQUALIFIED
Smith GlickSpainAmy Elsner NEW
Octavia MaletAustraliaBernardo Dominic RENEWAL
Misaki RoysterBrazilStephen Shaw QUALIFIED
Chavez BriddickGermanyOnyama Limba RENEWAL
Ivar PaprockiGermanyAsiya Javayant NEW
Julie StensethGermanyIvan Magalhaes RENEWAL
Izzy GarufiBrazilIoni Bowcher NEGOTIATION
Rodrigues CampainGermanyIvan Magalhaes PROPOSAL
Tony FollerArgentinaAmy Elsner NEW
Cody SaylorsArgentinaAsiya Javayant NEGOTIATION
Julie StensethCanadaAsiya Javayant PROPOSAL
Chavez BriddickSpainStephen Shaw NEW
Alejandro PerinUnited KingdomAsiya Javayant NEGOTIATION
Isabel BowleyUnited KingdomIvan Magalhaes NEGOTIATION
David DarakjyGermanyAsiya Javayant RENEWAL
Johnson SergiGermanyXuxue Feng QUALIFIED
Mayumi KolmetzJapanStephen Shaw UNQUALIFIED
Aika InouyeRussiaStephen Shaw QUALIFIED
Deepesh ChuiJapanIvan Magalhaes QUALIFIED
David DarakjyGermanyAsiya Javayant NEW
Emily WhobreyItalyIvan Magalhaes QUALIFIED
Johnson SergiFranceAnna Fali NEGOTIATION
David DarakjyCanadaOnyama Limba NEGOTIATION
Izzy GarufiBrazilAsiya Javayant NEW
Rodrigues CampainRussiaXuxue Feng PROPOSAL
Deepesh ChuiSpainAsiya Javayant NEW
Aditya KuskoAustraliaXuxue Feng PROPOSAL
Costa DilliardRussiaAnna Fali NEGOTIATION
Kadeem FlosiIndiaIoni Bowcher NEW
Ashley DoeBrazilXuxue Feng UNQUALIFIED
Frozen Columns
Name
Kadeem Flosi
Claire Tollner
Kaitlin Ostrosky
Nicolas Iturbide
Octavia Malet
Francesco Shinko
Leon Oldroyd
Chavez Briddick
Izzy Garufi
Costa Dilliard
David Darakjy
Kadeem Flosi
Costa Dilliard
Ashley Doe
Aika Inouye
Alejandro Perin
Mayumi Kolmetz
Aika Inouye
Morrow Ruta
Chavez Briddick
Misaki Royster
Faith Gillian
Greenwood Bolognia
James Butt
Octavia Malet
Leja Caldarera
Silvio Slusarski
Jennifer Amigon
Leon Oldroyd
Nicolas Iturbide
Maria Marrier
Smith Glick
Juan Wieser
Cody Saylors
Kadeem Flosi
Costa Dilliard
James Butt
Mujtaba Nicka
Jennifer Amigon
Jennifer Amigon
Leon Oldroyd
Leon Oldroyd
Jeanfrancois Venere
Kadeem Flosi
Maisha Rulapaugh
Aruna Figeroa
Francesco Shinko
David Darakjy
Arvin Albares
Cody Saylors
IdCountryDate
1000Russia2026-06-03
1001Germany2026-05-19
1002United Kingdom2026-05-12
1003Brazil2026-05-09
1004France2026-05-26
1005Australia2026-05-07
1006Japan2026-06-04
1007Spain2026-05-11
1008Germany2026-05-15
1009France2026-06-03
1010Germany2026-05-07
1011Argentina2026-05-17
1012India2026-05-28
1013Germany2026-05-09
1014Russia2026-06-01
1015Brazil2026-05-24
1016Japan2026-05-12
1017France2026-05-16
1018Canada2026-06-02
1019Spain2026-05-11
1020Australia2026-06-04
1021Germany2026-05-31
1022United Kingdom2026-05-11
1023Australia2026-05-27
1024Japan2026-05-09
1025Spain2026-05-24
1026Russia2026-06-04
1027Australia2026-05-29
1028India2026-05-16
1029Brazil2026-05-29
1030Germany2026-05-26
1031Japan2026-05-12
1032United Kingdom2026-05-10
1033France2026-05-10
1034Argentina2026-06-04
1035India2026-05-19
1036Brazil2026-05-11
1037India2026-06-01
1038Canada2026-05-15
1039France2026-05-15
1040France2026-05-25
1041Russia2026-05-11
1042United Kingdom2026-05-25
1043Germany2026-06-02
1044India2026-05-29
1045India2026-05-26
1046France2026-05-30
1047France2026-05-28
1048Russia2026-05-18
1049France2026-05-13

On-Demand Data

NameIdCountryDate
Emily Whobrey1000Australia2026-05-06
Antonio Caudy1001United Kingdom2026-05-19
Morrow Ruta1002Argentina2026-05-31
Johnson Sergi1003United Kingdom2026-05-12
Francesco Shinko1004India2026-05-27
Antonio Caudy1005Japan2026-06-02
Antonio Caudy1006United Kingdom2026-05-27
Adams Morasca1007Spain2026-05-21
Misaki Royster1008Germany2026-05-17
Salvatore Stockham1009Germany2026-06-04
Murillo Malet1010Argentina2026-05-17
Deepesh Chui1011Canada2026-05-31
David Darakjy1012India2026-05-14
Jones Vocelka1013Brazil2026-05-13
Alejandro Perin1014India2026-06-01
Jefferson Schemmer1015Italy2026-05-06
Arvin Albares1016Japan2026-05-09
Johnson Sergi1017Australia2026-05-10
Arvin Albares1018United Kingdom2026-06-03
Ivar Paprocki1019France2026-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas IturbideSpainAmy Elsner QUALIFIED
Mujtaba NickaSpainAmy Elsner PROPOSAL
Octavia MaletRussiaIvan Magalhaes PROPOSAL
Juan WieserCanadaElwin Sharvill RENEWAL
Arvin AlbaresSpainAsiya Javayant RENEWAL
Smith GlickJapanOnyama Limba NEW
Misaki RoysterJapanAsiya Javayant PROPOSAL
Alejandro PerinCanadaBernardo Dominic NEGOTIATION
Adams MorascaItalyAsiya Javayant NEGOTIATION
Tony FollerJapanIvan Magalhaes NEGOTIATION
Adams MorascaItalyIvan Magalhaes UNQUALIFIED
Octavia MaletAustraliaIoni Bowcher PROPOSAL
Ashley DoeIndiaBernardo Dominic RENEWAL
Kadeem FlosiRussiaStephen Shaw NEW
Deepesh ChuiSpainIvan Magalhaes NEGOTIATION
Alejandro PerinBrazilXuxue Feng NEGOTIATION
Rodrigues CampainCanadaIoni Bowcher PROPOSAL
Aika InouyeGermanyAmy Elsner QUALIFIED
Costa DilliardFranceIvan Magalhaes NEGOTIATION
Wickens NestleCanadaIoni Bowcher NEW
Munro FerenczItalyIvan Magalhaes PROPOSAL
James ButtCanadaBernardo Dominic RENEWAL
Salvatore StockhamGermanyAmy Elsner NEGOTIATION
Jennifer AmigonIndiaOnyama Limba QUALIFIED
Deepesh ChuiCanadaAmy Elsner NEW
Ivar PaprockiFranceStephen Shaw UNQUALIFIED
Octavia MaletSpainAsiya Javayant UNQUALIFIED
Antonio CaudySpainAmy Elsner UNQUALIFIED
Emily WhobreyRussiaOnyama Limba NEGOTIATION
Jennifer AmigonRussiaStephen Shaw NEW
Silvio SlusarskiFranceStephen Shaw RENEWAL
Maisha RulapaughCanadaBernardo Dominic UNQUALIFIED
Aika InouyeIndiaOnyama Limba RENEWAL
James ButtRussiaIvan Magalhaes UNQUALIFIED
Adams MorascaIndiaIoni Bowcher NEGOTIATION
Murillo MaletJapanElwin Sharvill NEGOTIATION
Antonio CaudyAustraliaXuxue Feng RENEWAL
Aika InouyeFranceElwin Sharvill QUALIFIED
Rodrigues CampainCanadaElwin Sharvill PROPOSAL
Chavez BriddickSpainElwin Sharvill 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>