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
Octavia MaletArgentinaIvan Magalhaes NEGOTIATION
Claire TollnerFranceElwin Sharvill UNQUALIFIED
Arvin AlbaresRussiaIvan Magalhaes UNQUALIFIED
Faith GillianRussiaStephen Shaw RENEWAL
Chavez BriddickBrazilStephen Shaw UNQUALIFIED
Johnson SergiJapanStephen Shaw RENEWAL
Ricardo GauchoIndiaAmy Elsner NEW
Rodrigues CampainRussiaXuxue Feng RENEWAL
Francesco ShinkoUnited KingdomAmy Elsner PROPOSAL
Mayumi KolmetzItalyBernardo Dominic NEGOTIATION
Munro FerenczIndiaXuxue Feng NEGOTIATION
Deepesh ChuiSpainOnyama Limba RENEWAL
Munro FerenczAustraliaAmy Elsner UNQUALIFIED
Clifford RimBrazilStephen Shaw PROPOSAL
Izzy GarufiJapanBernardo Dominic NEGOTIATION
Greenwood BologniaItalyStephen Shaw NEGOTIATION
Alejandro PerinFranceAnna Fali QUALIFIED
Emily WhobreyAustraliaAnna Fali UNQUALIFIED
Stacey MacleadArgentinaAmy Elsner PROPOSAL
Sinclair WaycottGermanyElwin Sharvill RENEWAL
Leja CaldareraCanadaIoni Bowcher NEW
Aika InouyeJapanIoni Bowcher RENEWAL
Jefferson SchemmerGermanyIoni Bowcher NEW
Aika InouyeGermanyAsiya Javayant NEGOTIATION
Silvio SlusarskiBrazilAsiya Javayant NEGOTIATION
Ivar PaprockiAustraliaAmy Elsner QUALIFIED
Mujtaba NickaBrazilAmy Elsner NEW
Alejandro PerinSpainIvan Magalhaes UNQUALIFIED
Smith GlickRussiaXuxue Feng RENEWAL
Izzy GarufiUnited KingdomAnna Fali UNQUALIFIED
Leja CaldareraAustraliaBernardo Dominic NEW
Misaki RoysterJapanStephen Shaw PROPOSAL
Alejandro PerinGermanyIoni Bowcher RENEWAL
Aika InouyeArgentinaAsiya Javayant NEW
Jones VocelkaGermanyStephen Shaw RENEWAL
Adams MorascaJapanAsiya Javayant UNQUALIFIED
Faith GillianBrazilAsiya Javayant QUALIFIED
Sinclair WaycottBrazilXuxue Feng QUALIFIED
Isabel BowleyUnited KingdomOnyama Limba RENEWAL
Mujtaba NickaBrazilAnna Fali NEW
Deepesh ChuiArgentinaXuxue Feng RENEWAL
Francesco ShinkoGermanyAsiya Javayant RENEWAL
David DarakjyCanadaBernardo Dominic NEGOTIATION
Costa DilliardUnited KingdomStephen Shaw PROPOSAL
Leja CaldareraRussiaBernardo Dominic QUALIFIED
Clifford RimItalyXuxue Feng NEGOTIATION
Emily WhobreySpainBernardo Dominic RENEWAL
Jeanfrancois VenereArgentinaIvan Magalhaes RENEWAL
James ButtBrazilAsiya Javayant NEW
Smith GlickUnited KingdomIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
David DarakjyCanadaIvan Magalhaes NEW
Leja CaldareraUnited KingdomStephen Shaw QUALIFIED
Ricardo GauchoIndiaBernardo Dominic NEW
Salvatore StockhamBrazilAmy Elsner QUALIFIED
Smith GlickCanadaAmy Elsner UNQUALIFIED
Octavia MaletGermanyStephen Shaw NEW
Cody SaylorsCanadaOnyama Limba RENEWAL
Kadeem FlosiIndiaIvan Magalhaes NEW
Chavez BriddickItalyStephen Shaw NEW
Jefferson SchemmerFranceIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James ButtFrance2026-04-15Dorl, James J Esq NEGOTIATION36Anna Fali
1001Ashley DoeArgentina2026-04-20Rousseaux, Michael Esq QUALIFIED76Amy Elsner
1002Greenwood BologniaItaly2026-04-12Truhlar And Truhlar Attys UNQUALIFIED92Xuxue Feng
1003Emily WhobreyGermany2026-04-02King, Christopher A Esq NEW95Xuxue Feng
1004Greenwood BologniaBrazil2026-04-22Buckley Miller Wright PROPOSAL53Elwin Sharvill
1005Kadeem FlosiFrance2026-03-30Benton, John B Jr QUALIFIED49Stephen Shaw
1006Jones VocelkaRussia2026-04-25Truhlar And Truhlar Attys RENEWAL64Anna Fali
1007Jeanfrancois VenereFrance2026-03-29King, Christopher A Esq NEW57Anna Fali
1008Adams MorascaSpain2026-04-07Dorl, James J Esq RENEWAL99Amy Elsner
1009Faith GillianCanada2026-04-23Buckley Miller Wright NEW44Stephen Shaw
1010Greenwood BologniaGermany2026-04-05Benton, John B Jr RENEWAL72Asiya Javayant
1011Jennifer AmigonIndia2026-04-03Printing Dimensions NEGOTIATION88Asiya Javayant
1012Mayumi KolmetzCanada2026-04-04Buckley Miller Wright RENEWAL78Ioni Bowcher
1013Jefferson SchemmerBrazil2026-04-13Buckley Miller Wright NEGOTIATION85Bernardo Dominic
1014Mayumi KolmetzIndia2026-04-13Buckley Miller Wright NEGOTIATION4Stephen Shaw
1015Kaitlin OstroskyFrance2026-04-19Chemel, James L Cpa QUALIFIED38Xuxue Feng
1016Salvatore StockhamGermany2026-04-03Feltz Printing Service PROPOSAL88Ioni Bowcher
1017Antonio CaudyFrance2026-04-25Commercial Press QUALIFIED63Ioni Bowcher
1018Morrow RutaFrance2026-04-08Feltz Printing Service RENEWAL11Asiya Javayant
1019Adams MorascaArgentina2026-04-05King, Christopher A Esq RENEWAL64Asiya Javayant
1020Smith GlickRussia2026-04-13Chemel, James L Cpa PROPOSAL67Anna Fali
1021Maria MarrierGermany2026-03-31Buckley Miller Wright NEW97Amy Elsner
1022Ivar PaprockiRussia2026-04-23Chemel, James L Cpa QUALIFIED8Amy Elsner
1023Isabel BowleyJapan2026-04-20Commercial Press QUALIFIED60Ioni Bowcher
1024Jennifer AmigonItaly2026-03-30Printing Dimensions QUALIFIED22Onyama Limba
1025Misaki RoysterItaly2026-04-10Dorl, James J Esq UNQUALIFIED72Asiya Javayant
1026Deepesh ChuiFrance2026-03-30King, Christopher A Esq PROPOSAL83Elwin Sharvill
1027Cody SaylorsSpain2026-03-31Chanay, Jeffrey A Esq NEW36Onyama Limba
1028Emily WhobreyAustralia2026-03-30Feltz Printing Service NEGOTIATION78Ioni Bowcher
1029Mayumi KolmetzCanada2026-04-22Feiner Bros RENEWAL18Asiya Javayant
1030Aditya KuskoAustralia2026-04-27Morlong Associates UNQUALIFIED7Onyama Limba
1031Cody SaylorsJapan2026-04-04Chemel, James L Cpa QUALIFIED9Ioni Bowcher
1032Julie StensethJapan2026-04-24Buckley Miller Wright UNQUALIFIED2Asiya Javayant
1033Salvatore StockhamRussia2026-04-16Printing Dimensions RENEWAL35Ioni Bowcher
1034Rodrigues CampainJapan2026-04-23King, Christopher A Esq QUALIFIED86Elwin Sharvill
1035Nicolas IturbideIndia2026-04-21Chapman, Ross E Esq UNQUALIFIED59Stephen Shaw
1036Maria MarrierUnited Kingdom2026-04-01Dorl, James J Esq RENEWAL25Ioni Bowcher
1037Rodrigues CampainJapan2026-04-15Commercial Press NEW77Xuxue Feng
1038Izzy GarufiIndia2026-04-13Feltz Printing Service PROPOSAL53Anna Fali
1039Aditya KuskoCanada2026-04-04Commercial Press NEGOTIATION69Stephen Shaw
1040Costa DilliardUnited Kingdom2026-04-27Truhlar And Truhlar Attys PROPOSAL40Ivan Magalhaes
1041Leon OldroydUnited Kingdom2026-04-03Commercial Press UNQUALIFIED98Ioni Bowcher
1042Stacey MacleadBrazil2026-04-09Dorl, James J Esq RENEWAL26Ivan Magalhaes
1043Octavia MaletBrazil2026-03-29Printing Dimensions RENEWAL22Xuxue Feng
1044Sinclair WaycottIndia2026-04-20Benton, John B Jr NEGOTIATION53Anna Fali
1045Kadeem FlosiAustralia2026-04-16Chemel, James L Cpa UNQUALIFIED65Stephen Shaw
1046Claire TollnerArgentina2026-04-05King, Christopher A Esq PROPOSAL90Bernardo Dominic
1047Ricardo GauchoGermany2026-04-14Buckley Miller Wright RENEWAL74Amy Elsner
1048Maisha RulapaughUnited Kingdom2026-04-27Feiner Bros UNQUALIFIED48Asiya Javayant
1049Kadeem FlosiBrazil2026-04-08Rousseaux, Michael Esq NEW18Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Octavia MaletSpainBernardo Dominic RENEWAL
Wickens NestleSpainElwin Sharvill PROPOSAL
Wickens NestleFranceAmy Elsner NEW
Chavez BriddickItalyXuxue Feng PROPOSAL
Juan WieserFranceAnna Fali QUALIFIED
Sinclair WaycottBrazilXuxue Feng RENEWAL
David DarakjyAustraliaOnyama Limba NEW
Wickens NestleSpainStephen Shaw UNQUALIFIED
Clifford RimUnited KingdomAmy Elsner PROPOSAL
Jefferson SchemmerBrazilIvan Magalhaes NEW
Cody SaylorsCanadaAsiya Javayant PROPOSAL
Antonio CaudyAustraliaIoni Bowcher RENEWAL
Morrow RutaCanadaStephen Shaw UNQUALIFIED
David DarakjyRussiaAmy Elsner UNQUALIFIED
Johnson SergiJapanXuxue Feng RENEWAL
Francesco ShinkoAustraliaIoni Bowcher NEGOTIATION
Mujtaba NickaItalyStephen Shaw QUALIFIED
Mayumi KolmetzCanadaAmy Elsner RENEWAL
Darci PoquetteCanadaStephen Shaw QUALIFIED
Aruna FigeroaRussiaOnyama Limba NEGOTIATION
Leja CaldareraCanadaBernardo Dominic NEW
Murillo MaletJapanIvan Magalhaes NEGOTIATION
David DarakjyIndiaAsiya Javayant UNQUALIFIED
Misaki RoysterBrazilBernardo Dominic NEW
Stacey MacleadFranceIoni Bowcher QUALIFIED
Nicolas IturbideItalyElwin Sharvill NEW
Ricardo GauchoBrazilAnna Fali RENEWAL
Cody SaylorsJapanElwin Sharvill UNQUALIFIED
David DarakjyFranceAmy Elsner QUALIFIED
Cody SaylorsCanadaIoni Bowcher NEGOTIATION
Maria MarrierRussiaOnyama Limba NEGOTIATION
Aruna FigeroaFranceStephen Shaw NEW
Kadeem FlosiGermanyStephen Shaw PROPOSAL
Rodrigues CampainUnited KingdomIoni Bowcher PROPOSAL
Juan WieserUnited KingdomIoni Bowcher NEGOTIATION
Smith GlickArgentinaOnyama Limba PROPOSAL
Aditya KuskoSpainAmy Elsner QUALIFIED
Salvatore StockhamAustraliaElwin Sharvill PROPOSAL
Cody SaylorsFranceBernardo Dominic NEGOTIATION
Aika InouyeRussiaAnna Fali NEGOTIATION
Adams MorascaJapanBernardo Dominic UNQUALIFIED
Jennifer AmigonJapanOnyama Limba UNQUALIFIED
Deepesh ChuiFranceIoni Bowcher NEGOTIATION
Ricardo GauchoGermanyElwin Sharvill QUALIFIED
Alejandro PerinCanadaAmy Elsner UNQUALIFIED
Salvatore StockhamGermanyElwin Sharvill NEW
Leja CaldareraSpainAnna Fali QUALIFIED
Nicolas IturbideBrazilElwin Sharvill UNQUALIFIED
Leja CaldareraArgentinaElwin Sharvill NEGOTIATION
Stacey MacleadArgentinaStephen Shaw QUALIFIED
Frozen Columns
Name
Claire Tollner
Jones Vocelka
Leon Oldroyd
Stacey Maclead
Izzy Garufi
Ricardo Gaucho
Jones Vocelka
Faith Gillian
Faith Gillian
Cody Saylors
Wickens Nestle
Clifford Rim
Wickens Nestle
Stacey Maclead
Rodrigues Campain
Silvio Slusarski
Jeanfrancois Venere
Izzy Garufi
Antonio Caudy
Leon Oldroyd
David Darakjy
Emily Whobrey
Aika Inouye
Darci Poquette
Maisha Rulapaugh
Tony Foller
Emily Whobrey
Darci Poquette
Kadeem Flosi
Aditya Kusko
Aditya Kusko
Ivar Paprocki
Jefferson Schemmer
Maisha Rulapaugh
Jeanfrancois Venere
Sinclair Waycott
Darci Poquette
Salvatore Stockham
Julie Stenseth
Alejandro Perin
Arvin Albares
Johnson Sergi
David Darakjy
Wickens Nestle
Stacey Maclead
Francesco Shinko
Izzy Garufi
Deepesh Chui
Jefferson Schemmer
Murillo Malet
IdCountryDate
1000Argentina2026-04-21
1001India2026-03-30
1002Russia2026-04-15
1003Spain2026-04-07
1004Italy2026-04-15
1005Argentina2026-04-02
1006Argentina2026-04-05
1007India2026-04-17
1008Argentina2026-04-13
1009Argentina2026-04-02
1010Germany2026-04-10
1011Canada2026-04-06
1012Japan2026-04-22
1013Japan2026-04-04
1014Japan2026-03-29
1015Italy2026-03-30
1016Japan2026-04-18
1017Germany2026-04-16
1018Italy2026-04-04
1019Italy2026-04-12
1020United Kingdom2026-04-20
1021Spain2026-04-04
1022Argentina2026-04-16
1023France2026-04-08
1024India2026-04-04
1025Italy2026-04-14
1026Japan2026-04-12
1027Brazil2026-04-23
1028Germany2026-04-16
1029Japan2026-04-27
1030Russia2026-04-25
1031Australia2026-04-12
1032Spain2026-04-26
1033France2026-04-02
1034Russia2026-04-14
1035India2026-04-15
1036Japan2026-04-02
1037Japan2026-04-09
1038Spain2026-04-06
1039Canada2026-04-13
1040Brazil2026-04-13
1041Italy2026-04-10
1042Japan2026-04-26
1043India2026-04-08
1044Brazil2026-04-06
1045Australia2026-04-20
1046Canada2026-04-24
1047Spain2026-04-24
1048Brazil2026-04-18
1049Germany2026-04-20

On-Demand Data

NameIdCountryDate
Leja Caldarera1000Canada2026-04-19
Jones Vocelka1001France2026-04-09
Munro Ferencz1002Canada2026-04-24
Deepesh Chui1003Germany2026-04-20
Costa Dilliard1004Spain2026-04-21
Salvatore Stockham1005United Kingdom2026-03-29
Rodrigues Campain1006France2026-04-15
Leon Oldroyd1007Russia2026-04-16
Leon Oldroyd1008Australia2026-04-19
Emily Whobrey1009France2026-04-22
Costa Dilliard1010Argentina2026-04-20
Munro Ferencz1011France2026-04-08
Aditya Kusko1012Canada2026-04-10
Clifford Rim1013Russia2026-04-19
Octavia Malet1014France2026-04-20
Arvin Albares1015United Kingdom2026-04-03
Alejandro Perin1016Spain2026-04-02
Leon Oldroyd1017Japan2026-04-22
Sinclair Waycott1018Spain2026-04-13
Emily Whobrey1019India2026-04-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba NickaRussiaAmy Elsner PROPOSAL
Rodrigues CampainItalyXuxue Feng NEW
Silvio SlusarskiIndiaAmy Elsner NEGOTIATION
Francesco ShinkoArgentinaElwin Sharvill PROPOSAL
Claire TollnerFranceXuxue Feng QUALIFIED
Jeanfrancois VenereIndiaIvan Magalhaes QUALIFIED
Aruna FigeroaIndiaAnna Fali NEW
Salvatore StockhamBrazilElwin Sharvill PROPOSAL
Ashley DoeIndiaStephen Shaw PROPOSAL
Chavez BriddickGermanyBernardo Dominic NEGOTIATION
Smith GlickUnited KingdomXuxue Feng QUALIFIED
Francesco ShinkoAustraliaAmy Elsner NEW
Deepesh ChuiAustraliaXuxue Feng NEW
Aruna FigeroaRussiaAsiya Javayant PROPOSAL
David DarakjyBrazilAnna Fali PROPOSAL
Leja CaldareraItalyAnna Fali UNQUALIFIED
James ButtRussiaElwin Sharvill NEW
Mayumi KolmetzRussiaXuxue Feng QUALIFIED
Smith GlickUnited KingdomAsiya Javayant QUALIFIED
Jefferson SchemmerCanadaElwin Sharvill QUALIFIED
Ivar PaprockiSpainIvan Magalhaes RENEWAL
Johnson SergiJapanAmy Elsner RENEWAL
David DarakjyJapanOnyama Limba QUALIFIED
Nicolas IturbideJapanXuxue Feng RENEWAL
Wickens NestleIndiaIvan Magalhaes NEW
Mayumi KolmetzGermanyIoni Bowcher NEW
Maisha RulapaughGermanyXuxue Feng UNQUALIFIED
Nicolas IturbideItalyAsiya Javayant NEW
Juan WieserUnited KingdomOnyama Limba NEGOTIATION
Rodrigues CampainCanadaIoni Bowcher PROPOSAL
Adams MorascaArgentinaBernardo Dominic RENEWAL
David DarakjyArgentinaXuxue Feng UNQUALIFIED
Deepesh ChuiJapanBernardo Dominic UNQUALIFIED
Leon OldroydUnited KingdomElwin Sharvill UNQUALIFIED
Costa DilliardAustraliaAsiya Javayant RENEWAL
Julie StensethItalyBernardo Dominic NEW
Wickens NestleUnited KingdomElwin Sharvill NEGOTIATION
Claire TollnerBrazilXuxue Feng PROPOSAL
David DarakjyBrazilAsiya Javayant PROPOSAL
Jeanfrancois VenereSpainStephen Shaw 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>