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
Faith GillianGermanyElwin Sharvill QUALIFIED
Juan WieserBrazilXuxue Feng NEGOTIATION
Ricardo GauchoUnited KingdomAsiya Javayant UNQUALIFIED
Deepesh ChuiBrazilAmy Elsner RENEWAL
Claire TollnerBrazilBernardo Dominic RENEWAL
Emily WhobreyBrazilOnyama Limba PROPOSAL
Kadeem FlosiBrazilXuxue Feng NEGOTIATION
Juan WieserItalyIoni Bowcher NEGOTIATION
Antonio CaudyRussiaElwin Sharvill RENEWAL
Jefferson SchemmerIndiaOnyama Limba NEW
Costa DilliardIndiaOnyama Limba RENEWAL
Emily WhobreyIndiaAmy Elsner PROPOSAL
Leon OldroydJapanAmy Elsner UNQUALIFIED
Jeanfrancois VenereRussiaElwin Sharvill UNQUALIFIED
David DarakjyFranceIoni Bowcher UNQUALIFIED
Izzy GarufiCanadaElwin Sharvill NEW
Aruna FigeroaJapanElwin Sharvill NEW
Kadeem FlosiSpainAsiya Javayant RENEWAL
Jeanfrancois VenereIndiaBernardo Dominic RENEWAL
Kaitlin OstroskyRussiaBernardo Dominic UNQUALIFIED
Munro FerenczArgentinaElwin Sharvill NEGOTIATION
Clifford RimJapanAmy Elsner PROPOSAL
Misaki RoysterRussiaStephen Shaw NEW
Julie StensethCanadaElwin Sharvill PROPOSAL
Nicolas IturbideSpainXuxue Feng PROPOSAL
Kaitlin OstroskyRussiaElwin Sharvill NEW
Juan WieserAustraliaAnna Fali NEGOTIATION
Adams MorascaJapanIoni Bowcher PROPOSAL
Salvatore StockhamArgentinaAsiya Javayant NEW
Ricardo GauchoAustraliaOnyama Limba UNQUALIFIED
Juan WieserUnited KingdomElwin Sharvill NEGOTIATION
Murillo MaletItalyAnna Fali RENEWAL
Izzy GarufiSpainAsiya Javayant RENEWAL
Maisha RulapaughJapanXuxue Feng PROPOSAL
Jennifer AmigonBrazilIoni Bowcher QUALIFIED
Johnson SergiCanadaIvan Magalhaes RENEWAL
Cody SaylorsRussiaIvan Magalhaes NEGOTIATION
Munro FerenczSpainXuxue Feng NEW
Smith GlickIndiaIvan Magalhaes PROPOSAL
Antonio CaudyJapanStephen Shaw PROPOSAL
Juan WieserArgentinaStephen Shaw RENEWAL
Mujtaba NickaBrazilXuxue Feng NEW
Nicolas IturbideBrazilElwin Sharvill QUALIFIED
Wickens NestleGermanyAsiya Javayant PROPOSAL
Antonio CaudyItalyIvan Magalhaes QUALIFIED
Faith GillianUnited KingdomBernardo Dominic RENEWAL
Salvatore StockhamUnited KingdomOnyama Limba PROPOSAL
Smith GlickItalyXuxue Feng PROPOSAL
Julie StensethIndiaBernardo Dominic PROPOSAL
Octavia MaletCanadaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Julie StensethGermanyAmy Elsner QUALIFIED
David DarakjyCanadaIoni Bowcher QUALIFIED
Murillo MaletItalyXuxue Feng NEW
Leja CaldareraArgentinaAnna Fali RENEWAL
James ButtItalyAnna Fali PROPOSAL
Kadeem FlosiGermanyAsiya Javayant QUALIFIED
Salvatore StockhamIndiaAsiya Javayant NEW
Chavez BriddickRussiaBernardo Dominic UNQUALIFIED
Silvio SlusarskiCanadaElwin Sharvill NEW
Costa DilliardCanadaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair WaycottIndia2026-04-07Morlong Associates NEGOTIATION28Xuxue Feng
1001Aika InouyeFrance2026-03-31Rousseaux, Michael Esq QUALIFIED84Anna Fali
1002Costa DilliardAustralia2026-03-29Rousseaux, Michael Esq RENEWAL7Stephen Shaw
1003Munro FerenczGermany2026-04-20Benton, John B Jr RENEWAL20Anna Fali
1004Octavia MaletRussia2026-03-26Rangoni Of Florence QUALIFIED90Anna Fali
1005Deepesh ChuiFrance2026-04-09Chemel, James L Cpa RENEWAL16Anna Fali
1006Emily WhobreyJapan2026-04-23Commercial Press RENEWAL23Ioni Bowcher
1007Kadeem FlosiSpain2026-03-31Benton, John B Jr UNQUALIFIED62Xuxue Feng
1008Smith GlickCanada2026-04-24Feltz Printing Service RENEWAL84Bernardo Dominic
1009Juan WieserGermany2026-04-08Feltz Printing Service PROPOSAL67Elwin Sharvill
1010Antonio CaudyIndia2026-03-30Commercial Press QUALIFIED18Ivan Magalhaes
1011Salvatore StockhamRussia2026-04-13Morlong Associates RENEWAL42Stephen Shaw
1012Wickens NestleBrazil2026-04-09Printing Dimensions PROPOSAL1Anna Fali
1013Kaitlin OstroskyIndia2026-04-06King, Christopher A Esq QUALIFIED79Ivan Magalhaes
1014Johnson SergiCanada2026-04-03Chemel, James L Cpa UNQUALIFIED70Xuxue Feng
1015Leja CaldareraCanada2026-04-17Feiner Bros UNQUALIFIED78Stephen Shaw
1016Stacey MacleadIndia2026-04-10Chapman, Ross E Esq UNQUALIFIED87Stephen Shaw
1017Silvio SlusarskiIndia2026-04-06Morlong Associates NEW44Xuxue Feng
1018Izzy GarufiGermany2026-03-31King, Christopher A Esq PROPOSAL14Bernardo Dominic
1019Kadeem FlosiUnited Kingdom2026-03-30Dorl, James J Esq PROPOSAL3Bernardo Dominic
1020Rodrigues CampainFrance2026-03-26Benton, John B Jr NEW87Anna Fali
1021Murillo MaletGermany2026-04-12Morlong Associates NEW27Xuxue Feng
1022Ashley DoeIndia2026-03-28Commercial Press UNQUALIFIED17Onyama Limba
1023Smith GlickCanada2026-04-19Truhlar And Truhlar Attys UNQUALIFIED16Bernardo Dominic
1024Jeanfrancois VenereFrance2026-04-03Feiner Bros PROPOSAL63Asiya Javayant
1025Alejandro PerinBrazil2026-04-04Feltz Printing Service NEGOTIATION16Ioni Bowcher
1026Maria MarrierJapan2026-04-08Feiner Bros UNQUALIFIED16Stephen Shaw
1027Rodrigues CampainGermany2026-04-10Feiner Bros NEW62Amy Elsner
1028Kadeem FlosiArgentina2026-04-04King, Christopher A Esq PROPOSAL22Asiya Javayant
1029Jennifer AmigonJapan2026-04-01Printing Dimensions QUALIFIED31Xuxue Feng
1030Aditya KuskoCanada2026-04-04Truhlar And Truhlar Attys NEGOTIATION87Xuxue Feng
1031Antonio CaudyJapan2026-04-13Chanay, Jeffrey A Esq PROPOSAL24Ioni Bowcher
1032David DarakjyRussia2026-04-07Chapman, Ross E Esq PROPOSAL28Elwin Sharvill
1033Salvatore StockhamJapan2026-04-07Printing Dimensions QUALIFIED29Elwin Sharvill
1034Stacey MacleadRussia2026-03-30Dorl, James J Esq RENEWAL76Stephen Shaw
1035Juan WieserCanada2026-04-22Benton, John B Jr PROPOSAL67Xuxue Feng
1036Julie StensethJapan2026-04-08Chemel, James L Cpa RENEWAL28Xuxue Feng
1037Maria MarrierUnited Kingdom2026-03-28Chemel, James L Cpa QUALIFIED36Onyama Limba
1038Murillo MaletIndia2026-04-06Dorl, James J Esq NEGOTIATION99Bernardo Dominic
1039Jennifer AmigonSpain2026-04-07Dorl, James J Esq NEGOTIATION15Asiya Javayant
1040Antonio CaudyIndia2026-04-05Buckley Miller Wright PROPOSAL10Stephen Shaw
1041Greenwood BologniaGermany2026-04-04Commercial Press UNQUALIFIED76Onyama Limba
1042Nicolas IturbideRussia2026-04-21Feiner Bros RENEWAL57Bernardo Dominic
1043Emily WhobreyItaly2026-03-26Dorl, James J Esq NEW21Onyama Limba
1044Aditya KuskoFrance2026-04-23Dorl, James J Esq UNQUALIFIED50Elwin Sharvill
1045Kaitlin OstroskyIndia2026-04-11Chanay, Jeffrey A Esq UNQUALIFIED88Anna Fali
1046Aika InouyeIndia2026-04-17Chapman, Ross E Esq PROPOSAL92Xuxue Feng
1047Sinclair WaycottGermany2026-04-15King, Christopher A Esq QUALIFIED59Onyama Limba
1048Arvin AlbaresAustralia2026-04-19Commercial Press NEW18Onyama Limba
1049Ricardo GauchoArgentina2026-04-18King, Christopher A Esq NEW99Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Izzy GarufiUnited KingdomElwin Sharvill NEGOTIATION
Kaitlin OstroskyGermanyBernardo Dominic PROPOSAL
Leja CaldareraBrazilStephen Shaw NEW
Darci PoquetteBrazilIoni Bowcher QUALIFIED
Salvatore StockhamGermanyAmy Elsner NEGOTIATION
Francesco ShinkoJapanAsiya Javayant QUALIFIED
Ashley DoeFranceXuxue Feng UNQUALIFIED
Claire TollnerUnited KingdomAsiya Javayant NEW
Greenwood BologniaRussiaAsiya Javayant NEW
Antonio CaudySpainIoni Bowcher QUALIFIED
Tony FollerUnited KingdomStephen Shaw UNQUALIFIED
Nicolas IturbideJapanAsiya Javayant PROPOSAL
Aditya KuskoSpainIoni Bowcher PROPOSAL
Nicolas IturbideAustraliaElwin Sharvill QUALIFIED
Rodrigues CampainFranceBernardo Dominic PROPOSAL
Darci PoquetteRussiaAsiya Javayant QUALIFIED
Morrow RutaArgentinaOnyama Limba QUALIFIED
Kaitlin OstroskyAustraliaStephen Shaw NEGOTIATION
Jennifer AmigonBrazilAmy Elsner QUALIFIED
Johnson SergiJapanOnyama Limba NEGOTIATION
Leja CaldareraSpainAsiya Javayant UNQUALIFIED
James ButtArgentinaIoni Bowcher NEGOTIATION
Arvin AlbaresRussiaOnyama Limba UNQUALIFIED
Leja CaldareraIndiaAnna Fali PROPOSAL
Kaitlin OstroskyItalyXuxue Feng UNQUALIFIED
Silvio SlusarskiArgentinaIvan Magalhaes RENEWAL
Morrow RutaArgentinaBernardo Dominic QUALIFIED
Maria MarrierJapanOnyama Limba QUALIFIED
Emily WhobreyJapanAmy Elsner UNQUALIFIED
Kadeem FlosiSpainBernardo Dominic NEW
Johnson SergiFranceOnyama Limba NEGOTIATION
Wickens NestleArgentinaElwin Sharvill NEGOTIATION
Jefferson SchemmerCanadaXuxue Feng NEGOTIATION
Emily WhobreyAustraliaAnna Fali RENEWAL
Francesco ShinkoAustraliaAnna Fali QUALIFIED
Jefferson SchemmerRussiaIoni Bowcher NEGOTIATION
Izzy GarufiBrazilOnyama Limba NEGOTIATION
Stacey MacleadUnited KingdomOnyama Limba NEW
Costa DilliardArgentinaAsiya Javayant UNQUALIFIED
Misaki RoysterAustraliaElwin Sharvill NEGOTIATION
Clifford RimJapanStephen Shaw QUALIFIED
Costa DilliardCanadaBernardo Dominic PROPOSAL
Silvio SlusarskiIndiaStephen Shaw PROPOSAL
Jones VocelkaBrazilElwin Sharvill PROPOSAL
Mujtaba NickaIndiaXuxue Feng NEGOTIATION
Smith GlickGermanyBernardo Dominic RENEWAL
Alejandro PerinSpainIvan Magalhaes PROPOSAL
Jones VocelkaJapanIoni Bowcher QUALIFIED
Claire TollnerIndiaAsiya Javayant QUALIFIED
Isabel BowleySpainStephen Shaw RENEWAL
Frozen Columns
Name
James Butt
James Butt
Cody Saylors
Smith Glick
Juan Wieser
Jones Vocelka
Maisha Rulapaugh
Ivar Paprocki
James Butt
Wickens Nestle
Chavez Briddick
Jones Vocelka
Julie Stenseth
Ricardo Gaucho
James Butt
Antonio Caudy
Stacey Maclead
Wickens Nestle
Ivar Paprocki
Smith Glick
Mujtaba Nicka
Antonio Caudy
Stacey Maclead
Izzy Garufi
Izzy Garufi
Octavia Malet
Tony Foller
Salvatore Stockham
Aditya Kusko
Alejandro Perin
Aditya Kusko
Leon Oldroyd
Munro Ferencz
Deepesh Chui
Tony Foller
Costa Dilliard
Greenwood Bolognia
Mujtaba Nicka
Antonio Caudy
Jefferson Schemmer
Misaki Royster
Antonio Caudy
Johnson Sergi
Jeanfrancois Venere
Isabel Bowley
Silvio Slusarski
Chavez Briddick
Silvio Slusarski
Johnson Sergi
Julie Stenseth
IdCountryDate
1000Brazil2026-04-08
1001Brazil2026-04-16
1002Germany2026-03-31
1003Argentina2026-04-16
1004Australia2026-03-27
1005Japan2026-04-07
1006United Kingdom2026-04-02
1007France2026-04-13
1008Argentina2026-03-28
1009Brazil2026-03-31
1010United Kingdom2026-04-20
1011Japan2026-04-03
1012Italy2026-04-06
1013Germany2026-03-27
1014Spain2026-03-26
1015Brazil2026-03-28
1016India2026-04-22
1017Japan2026-04-12
1018Brazil2026-04-19
1019Brazil2026-03-29
1020United Kingdom2026-04-15
1021Canada2026-04-08
1022Russia2026-04-05
1023India2026-04-18
1024United Kingdom2026-04-20
1025Canada2026-04-04
1026Italy2026-04-13
1027France2026-04-24
1028Australia2026-04-04
1029Italy2026-04-02
1030Spain2026-04-03
1031Germany2026-04-02
1032France2026-03-31
1033Brazil2026-04-17
1034Argentina2026-04-22
1035Germany2026-04-16
1036Russia2026-04-21
1037India2026-04-16
1038Australia2026-04-21
1039Argentina2026-04-24
1040Japan2026-04-01
1041Argentina2026-04-23
1042Russia2026-04-18
1043France2026-04-08
1044Brazil2026-04-02
1045Argentina2026-04-17
1046Brazil2026-04-13
1047Spain2026-04-17
1048Italy2026-04-15
1049United Kingdom2026-04-10

On-Demand Data

NameIdCountryDate
Jeanfrancois Venere1000Spain2026-03-29
Morrow Ruta1001Argentina2026-04-06
Darci Poquette1002Spain2026-04-02
Alejandro Perin1003Spain2026-03-28
Darci Poquette1004Australia2026-04-04
Stacey Maclead1005Argentina2026-04-07
Jones Vocelka1006Canada2026-04-16
Juan Wieser1007Germany2026-04-21
Morrow Ruta1008France2026-04-18
Ashley Doe1009Italy2026-03-31
Julie Stenseth1010Canada2026-04-06
Maria Marrier1011Australia2026-04-08
Adams Morasca1012Russia2026-04-03
Leon Oldroyd1013Australia2026-04-08
Juan Wieser1014France2026-03-27
Cody Saylors1015Australia2026-04-11
Julie Stenseth1016Brazil2026-04-08
Cody Saylors1017Italy2026-04-01
Izzy Garufi1018Argentina2026-04-20
Nicolas Iturbide1019Italy2026-03-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson SchemmerCanadaAmy Elsner NEW
Tony FollerArgentinaOnyama Limba NEGOTIATION
Claire TollnerArgentinaAsiya Javayant NEW
Claire TollnerAustraliaElwin Sharvill PROPOSAL
Morrow RutaFranceAmy Elsner RENEWAL
Mujtaba NickaArgentinaStephen Shaw NEW
Silvio SlusarskiUnited KingdomBernardo Dominic NEGOTIATION
Greenwood BologniaGermanyElwin Sharvill NEGOTIATION
Arvin AlbaresArgentinaAsiya Javayant NEGOTIATION
Aditya KuskoIndiaAmy Elsner PROPOSAL
James ButtBrazilOnyama Limba RENEWAL
Jennifer AmigonSpainOnyama Limba NEGOTIATION
Sinclair WaycottBrazilStephen Shaw QUALIFIED
Smith GlickSpainElwin Sharvill QUALIFIED
Misaki RoysterCanadaBernardo Dominic RENEWAL
Costa DilliardJapanAnna Fali QUALIFIED
Francesco ShinkoFranceIvan Magalhaes PROPOSAL
Johnson SergiFranceOnyama Limba UNQUALIFIED
Tony FollerItalyStephen Shaw NEW
Deepesh ChuiRussiaIoni Bowcher PROPOSAL
Costa DilliardArgentinaOnyama Limba UNQUALIFIED
Jones VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
Octavia MaletArgentinaXuxue Feng RENEWAL
Smith GlickArgentinaIvan Magalhaes QUALIFIED
Claire TollnerGermanyElwin Sharvill PROPOSAL
Faith GillianFranceIvan Magalhaes NEGOTIATION
Ivar PaprockiFranceIvan Magalhaes QUALIFIED
Jeanfrancois VenereArgentinaIvan Magalhaes NEGOTIATION
Leja CaldareraBrazilIvan Magalhaes PROPOSAL
Clifford RimItalyIoni Bowcher QUALIFIED
Clifford RimSpainIvan Magalhaes NEGOTIATION
Morrow RutaFranceIvan Magalhaes RENEWAL
Mujtaba NickaFranceBernardo Dominic NEW
Leja CaldareraUnited KingdomStephen Shaw PROPOSAL
Johnson SergiBrazilAsiya Javayant UNQUALIFIED
Jefferson SchemmerCanadaBernardo Dominic NEW
Ashley DoeGermanyXuxue Feng UNQUALIFIED
James ButtFranceBernardo Dominic QUALIFIED
Adams MorascaItalyStephen Shaw UNQUALIFIED
Jones VocelkaBrazilElwin Sharvill RENEWAL

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