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
Costa DilliardCanadaAsiya Javayant NEW
Stacey MacleadUnited KingdomAmy Elsner UNQUALIFIED
Darci PoquetteUnited KingdomAnna Fali PROPOSAL
Munro FerenczAustraliaXuxue Feng RENEWAL
Sinclair WaycottJapanStephen Shaw PROPOSAL
Johnson SergiIndiaIvan Magalhaes UNQUALIFIED
Juan WieserUnited KingdomAmy Elsner UNQUALIFIED
Chavez BriddickBrazilAnna Fali UNQUALIFIED
Arvin AlbaresJapanAmy Elsner RENEWAL
Deepesh ChuiArgentinaStephen Shaw NEW
Kaitlin OstroskyGermanyXuxue Feng NEGOTIATION
Leja CaldareraUnited KingdomXuxue Feng NEGOTIATION
Juan WieserSpainXuxue Feng NEGOTIATION
Costa DilliardAustraliaAsiya Javayant UNQUALIFIED
Maisha RulapaughUnited KingdomAsiya Javayant QUALIFIED
Arvin AlbaresJapanElwin Sharvill PROPOSAL
Johnson SergiAustraliaStephen Shaw NEGOTIATION
Munro FerenczFranceBernardo Dominic UNQUALIFIED
Leon OldroydRussiaIvan Magalhaes QUALIFIED
Morrow RutaArgentinaOnyama Limba NEW
Tony FollerFranceAnna Fali NEGOTIATION
Mayumi KolmetzSpainXuxue Feng NEW
Munro FerenczAustraliaAmy Elsner RENEWAL
Ashley DoeGermanyOnyama Limba RENEWAL
Salvatore StockhamCanadaAnna Fali UNQUALIFIED
Mayumi KolmetzSpainElwin Sharvill PROPOSAL
Stacey MacleadRussiaBernardo Dominic UNQUALIFIED
Chavez BriddickAustraliaIoni Bowcher RENEWAL
Jennifer AmigonBrazilAmy Elsner NEW
Clifford RimIndiaAmy Elsner UNQUALIFIED
Clifford RimGermanyAmy Elsner NEW
Claire TollnerIndiaOnyama Limba NEGOTIATION
Clifford RimFranceElwin Sharvill RENEWAL
Jefferson SchemmerGermanyOnyama Limba NEGOTIATION
Munro FerenczSpainAmy Elsner QUALIFIED
Adams MorascaUnited KingdomBernardo Dominic QUALIFIED
Kadeem FlosiGermanyAsiya Javayant RENEWAL
Leon OldroydItalyStephen Shaw PROPOSAL
Costa DilliardRussiaXuxue Feng NEGOTIATION
Smith GlickRussiaAsiya Javayant NEW
Isabel BowleySpainAnna Fali QUALIFIED
Ashley DoeUnited KingdomOnyama Limba UNQUALIFIED
Costa DilliardFranceBernardo Dominic NEGOTIATION
Mujtaba NickaJapanAsiya Javayant UNQUALIFIED
Johnson SergiCanadaIvan Magalhaes RENEWAL
Antonio CaudyAustraliaAmy Elsner UNQUALIFIED
Salvatore StockhamFranceIvan Magalhaes PROPOSAL
Jones VocelkaRussiaElwin Sharvill NEW
Misaki RoysterFranceAsiya Javayant QUALIFIED
Jennifer AmigonItalyElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria MarrierUnited KingdomStephen Shaw QUALIFIED
Murillo MaletCanadaStephen Shaw NEW
Jeanfrancois VenereIndiaAnna Fali NEGOTIATION
Adams MorascaArgentinaAnna Fali NEW
Aruna FigeroaSpainElwin Sharvill NEGOTIATION
Isabel BowleyRussiaBernardo Dominic NEW
Leon OldroydCanadaXuxue Feng UNQUALIFIED
Jefferson SchemmerRussiaOnyama Limba QUALIFIED
Deepesh ChuiJapanElwin Sharvill NEW
Mujtaba NickaBrazilAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens NestleRussia2026-04-16Chapman, Ross E Esq RENEWAL10Asiya Javayant
1001Salvatore StockhamCanada2026-04-21Rousseaux, Michael Esq RENEWAL5Bernardo Dominic
1002Ricardo GauchoUnited Kingdom2026-04-26Feiner Bros UNQUALIFIED72Ioni Bowcher
1003Costa DilliardRussia2026-04-17Commercial Press RENEWAL18Onyama Limba
1004Mayumi KolmetzJapan2026-05-01Rousseaux, Michael Esq PROPOSAL4Onyama Limba
1005Julie StensethCanada2026-04-16Chemel, James L Cpa PROPOSAL80Elwin Sharvill
1006Johnson SergiSpain2026-04-19Benton, John B Jr UNQUALIFIED48Ivan Magalhaes
1007Greenwood BologniaGermany2026-05-09Rousseaux, Michael Esq UNQUALIFIED2Ioni Bowcher
1008Mujtaba NickaItaly2026-04-12Chemel, James L Cpa RENEWAL8Elwin Sharvill
1009Greenwood BologniaItaly2026-04-20Feiner Bros QUALIFIED95Ivan Magalhaes
1010Aika InouyeItaly2026-05-02Chapman, Ross E Esq QUALIFIED68Amy Elsner
1011Clifford RimItaly2026-04-25Morlong Associates NEGOTIATION23Onyama Limba
1012Izzy GarufiRussia2026-05-05Dorl, James J Esq NEGOTIATION97Stephen Shaw
1013Maria MarrierArgentina2026-04-22Chanay, Jeffrey A Esq UNQUALIFIED11Elwin Sharvill
1014Ashley DoeBrazil2026-05-01Commercial Press PROPOSAL24Onyama Limba
1015Juan WieserUnited Kingdom2026-05-07Rousseaux, Michael Esq QUALIFIED37Amy Elsner
1016Francesco ShinkoBrazil2026-04-26Dorl, James J Esq UNQUALIFIED28Anna Fali
1017Izzy GarufiSpain2026-04-29Rangoni Of Florence UNQUALIFIED30Anna Fali
1018Kadeem FlosiBrazil2026-05-05Commercial Press NEGOTIATION49Anna Fali
1019James ButtJapan2026-04-15Chanay, Jeffrey A Esq RENEWAL63Ioni Bowcher
1020Leon OldroydRussia2026-05-05Printing Dimensions PROPOSAL95Ioni Bowcher
1021Jones VocelkaJapan2026-04-20Buckley Miller Wright NEGOTIATION40Asiya Javayant
1022Francesco ShinkoUnited Kingdom2026-04-23Printing Dimensions NEGOTIATION49Stephen Shaw
1023Silvio SlusarskiAustralia2026-04-16Benton, John B Jr NEW10Ivan Magalhaes
1024Tony FollerGermany2026-04-15Rousseaux, Michael Esq PROPOSAL31Stephen Shaw
1025James ButtCanada2026-05-07Buckley Miller Wright NEW58Ioni Bowcher
1026Johnson SergiArgentina2026-04-16Feiner Bros NEW81Anna Fali
1027Mayumi KolmetzAustralia2026-05-10Truhlar And Truhlar Attys NEGOTIATION95Anna Fali
1028Mujtaba NickaAustralia2026-04-20King, Christopher A Esq NEW70Asiya Javayant
1029Aika InouyeBrazil2026-04-14Feiner Bros QUALIFIED52Bernardo Dominic
1030Aika InouyeCanada2026-05-04Benton, John B Jr RENEWAL39Xuxue Feng
1031Kadeem FlosiItaly2026-04-18Feltz Printing Service NEGOTIATION36Onyama Limba
1032Ricardo GauchoItaly2026-04-18Buckley Miller Wright QUALIFIED25Asiya Javayant
1033Leon OldroydBrazil2026-05-06King, Christopher A Esq NEGOTIATION12Asiya Javayant
1034Mujtaba NickaIndia2026-04-27Morlong Associates NEW28Bernardo Dominic
1035Wickens NestleCanada2026-05-05Printing Dimensions NEGOTIATION39Ioni Bowcher
1036Rodrigues CampainRussia2026-04-29Dorl, James J Esq PROPOSAL70Ivan Magalhaes
1037Jones VocelkaAustralia2026-05-04Rousseaux, Michael Esq PROPOSAL21Onyama Limba
1038Clifford RimArgentina2026-05-04Buckley Miller Wright RENEWAL52Ivan Magalhaes
1039Costa DilliardUnited Kingdom2026-04-22Printing Dimensions PROPOSAL39Ivan Magalhaes
1040Kadeem FlosiSpain2026-04-22Chapman, Ross E Esq PROPOSAL76Bernardo Dominic
1041Juan WieserUnited Kingdom2026-04-27Rousseaux, Michael Esq UNQUALIFIED80Bernardo Dominic
1042Emily WhobreyUnited Kingdom2026-04-19Chemel, James L Cpa PROPOSAL67Anna Fali
1043Kadeem FlosiFrance2026-04-24Morlong Associates UNQUALIFIED10Bernardo Dominic
1044Chavez BriddickJapan2026-04-17Commercial Press NEGOTIATION5Ioni Bowcher
1045Rodrigues CampainAustralia2026-05-09Printing Dimensions NEW10Ivan Magalhaes
1046Deepesh ChuiArgentina2026-04-27Feltz Printing Service NEW24Ioni Bowcher
1047David DarakjyFrance2026-05-03Benton, John B Jr NEW66Elwin Sharvill
1048Silvio SlusarskiJapan2026-04-21Feiner Bros QUALIFIED15Ioni Bowcher
1049Isabel BowleySpain2026-04-19King, Christopher A Esq NEGOTIATION14Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aruna FigeroaItalyOnyama Limba RENEWAL
Isabel BowleyGermanyStephen Shaw QUALIFIED
Murillo MaletCanadaIvan Magalhaes NEW
Aruna FigeroaJapanOnyama Limba NEW
Aditya KuskoUnited KingdomAnna Fali RENEWAL
Ricardo GauchoArgentinaIvan Magalhaes NEGOTIATION
Emily WhobreySpainXuxue Feng NEGOTIATION
Faith GillianUnited KingdomElwin Sharvill NEW
Deepesh ChuiAustraliaElwin Sharvill NEW
Isabel BowleySpainAsiya Javayant PROPOSAL
Costa DilliardFranceAsiya Javayant PROPOSAL
James ButtItalyAmy Elsner NEW
Julie StensethArgentinaIoni Bowcher NEGOTIATION
Deepesh ChuiAustraliaIvan Magalhaes NEGOTIATION
Wickens NestleIndiaStephen Shaw PROPOSAL
Morrow RutaGermanyAmy Elsner NEW
Claire TollnerSpainAsiya Javayant UNQUALIFIED
Juan WieserCanadaOnyama Limba PROPOSAL
Jennifer AmigonAustraliaAmy Elsner RENEWAL
Johnson SergiSpainStephen Shaw NEGOTIATION
Aruna FigeroaFranceStephen Shaw RENEWAL
Mujtaba NickaBrazilOnyama Limba RENEWAL
Greenwood BologniaArgentinaOnyama Limba RENEWAL
Jones VocelkaFranceBernardo Dominic RENEWAL
Kadeem FlosiSpainAsiya Javayant UNQUALIFIED
Maria MarrierJapanIoni Bowcher UNQUALIFIED
Misaki RoysterUnited KingdomAmy Elsner UNQUALIFIED
Adams MorascaItalyBernardo Dominic NEW
Darci PoquetteGermanyStephen Shaw UNQUALIFIED
David DarakjyJapanIoni Bowcher QUALIFIED
David DarakjyCanadaOnyama Limba QUALIFIED
Adams MorascaCanadaStephen Shaw NEW
Munro FerenczArgentinaStephen Shaw PROPOSAL
Ivar PaprockiRussiaAnna Fali PROPOSAL
Murillo MaletBrazilAmy Elsner QUALIFIED
Aditya KuskoArgentinaElwin Sharvill NEW
Ashley DoeIndiaAmy Elsner NEGOTIATION
James ButtArgentinaAmy Elsner NEW
Chavez BriddickFranceElwin Sharvill NEW
Smith GlickUnited KingdomAnna Fali NEGOTIATION
Ivar PaprockiIndiaOnyama Limba NEGOTIATION
Murillo MaletCanadaElwin Sharvill RENEWAL
Aditya KuskoCanadaElwin Sharvill RENEWAL
Cody SaylorsBrazilBernardo Dominic NEW
Deepesh ChuiAustraliaXuxue Feng PROPOSAL
Claire TollnerUnited KingdomIvan Magalhaes RENEWAL
David DarakjySpainStephen Shaw NEW
Ricardo GauchoSpainAsiya Javayant NEGOTIATION
Octavia MaletArgentinaOnyama Limba PROPOSAL
Sinclair WaycottCanadaIoni Bowcher QUALIFIED
Frozen Columns
Name
Leon Oldroyd
Tony Foller
Greenwood Bolognia
Aika Inouye
Mayumi Kolmetz
Rodrigues Campain
James Butt
Smith Glick
Maisha Rulapaugh
Ivar Paprocki
Aika Inouye
Deepesh Chui
Leon Oldroyd
Ivar Paprocki
Ashley Doe
James Butt
James Butt
Aditya Kusko
Francesco Shinko
Kaitlin Ostrosky
Kadeem Flosi
Kaitlin Ostrosky
Aika Inouye
Julie Stenseth
Sinclair Waycott
Antonio Caudy
Mujtaba Nicka
Emily Whobrey
Deepesh Chui
Costa Dilliard
Arvin Albares
Alejandro Perin
James Butt
Octavia Malet
Kadeem Flosi
David Darakjy
Antonio Caudy
Isabel Bowley
Antonio Caudy
Kaitlin Ostrosky
Mujtaba Nicka
Mayumi Kolmetz
Stacey Maclead
Arvin Albares
Salvatore Stockham
Mujtaba Nicka
Ashley Doe
Mujtaba Nicka
Leja Caldarera
Leja Caldarera
IdCountryDate
1000Japan2026-05-05
1001Australia2026-05-11
1002Canada2026-04-26
1003Germany2026-04-28
1004Australia2026-05-07
1005Argentina2026-04-21
1006United Kingdom2026-04-25
1007Brazil2026-05-02
1008India2026-04-23
1009India2026-05-05
1010Argentina2026-05-10
1011Canada2026-04-12
1012Argentina2026-04-22
1013Japan2026-04-30
1014India2026-05-01
1015Spain2026-05-05
1016Australia2026-04-15
1017Spain2026-04-30
1018Italy2026-04-23
1019Spain2026-04-17
1020Argentina2026-05-02
1021Italy2026-04-29
1022Brazil2026-04-28
1023Brazil2026-05-06
1024Germany2026-05-03
1025Russia2026-04-27
1026Brazil2026-04-21
1027Spain2026-04-25
1028Australia2026-04-28
1029Germany2026-04-17
1030Brazil2026-04-25
1031Italy2026-05-08
1032France2026-04-28
1033Russia2026-04-21
1034India2026-05-08
1035Canada2026-04-17
1036Australia2026-04-12
1037Russia2026-04-22
1038Russia2026-05-09
1039Spain2026-04-19
1040Australia2026-05-08
1041Australia2026-05-08
1042Germany2026-05-06
1043Brazil2026-05-05
1044Japan2026-04-19
1045Canada2026-05-03
1046Canada2026-05-04
1047India2026-05-02
1048Germany2026-05-11
1049Brazil2026-05-07

On-Demand Data

NameIdCountryDate
Julie Stenseth1000United Kingdom2026-04-12
David Darakjy1001Canada2026-05-01
Jeanfrancois Venere1002Spain2026-04-15
Mayumi Kolmetz1003Canada2026-04-18
Jeanfrancois Venere1004Spain2026-05-07
Aruna Figeroa1005Italy2026-04-25
Stacey Maclead1006Australia2026-04-30
Alejandro Perin1007India2026-04-24
Ricardo Gaucho1008Spain2026-04-23
Adams Morasca1009Brazil2026-05-03
James Butt1010India2026-05-07
Johnson Sergi1011Japan2026-04-22
Tony Foller1012Brazil2026-05-05
Morrow Ruta1013Russia2026-04-26
Claire Tollner1014Japan2026-04-22
Aditya Kusko1015Brazil2026-04-28
Francesco Shinko1016Canada2026-04-23
Alejandro Perin1017Argentina2026-05-01
Ricardo Gaucho1018Australia2026-04-23
Darci Poquette1019Canada2026-04-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey MacleadSpainIvan Magalhaes NEW
Maisha RulapaughGermanyOnyama Limba RENEWAL
Jeanfrancois VenereUnited KingdomOnyama Limba RENEWAL
Rodrigues CampainUnited KingdomAmy Elsner RENEWAL
Stacey MacleadRussiaIoni Bowcher UNQUALIFIED
Leja CaldareraJapanXuxue Feng RENEWAL
Jeanfrancois VenereJapanIoni Bowcher PROPOSAL
Tony FollerItalyIoni Bowcher NEW
Smith GlickSpainOnyama Limba PROPOSAL
Adams MorascaIndiaBernardo Dominic NEW
Aika InouyeFranceAsiya Javayant NEW
Munro FerenczAustraliaElwin Sharvill PROPOSAL
Isabel BowleySpainElwin Sharvill RENEWAL
Kaitlin OstroskyCanadaStephen Shaw NEGOTIATION
Aditya KuskoBrazilAmy Elsner QUALIFIED
Mujtaba NickaSpainElwin Sharvill UNQUALIFIED
Silvio SlusarskiBrazilOnyama Limba UNQUALIFIED
Murillo MaletFranceIvan Magalhaes QUALIFIED
Juan WieserItalyAsiya Javayant QUALIFIED
Kaitlin OstroskyRussiaBernardo Dominic QUALIFIED
Jones VocelkaUnited KingdomStephen Shaw NEGOTIATION
Ashley DoeSpainIoni Bowcher NEW
Silvio SlusarskiJapanIoni Bowcher PROPOSAL
Ricardo GauchoGermanyAsiya Javayant QUALIFIED
Sinclair WaycottRussiaAnna Fali RENEWAL
Murillo MaletItalyAnna Fali UNQUALIFIED
Ivar PaprockiItalyStephen Shaw RENEWAL
Mujtaba NickaRussiaBernardo Dominic UNQUALIFIED
Aruna FigeroaUnited KingdomAmy Elsner RENEWAL
James ButtJapanIoni Bowcher RENEWAL
Ashley DoeSpainStephen Shaw NEW
Deepesh ChuiItalyIvan Magalhaes UNQUALIFIED
David DarakjyArgentinaBernardo Dominic NEGOTIATION
Jones VocelkaFranceOnyama Limba RENEWAL
Aruna FigeroaBrazilIvan Magalhaes NEGOTIATION
Tony FollerJapanElwin Sharvill NEGOTIATION
Sinclair WaycottRussiaAmy Elsner PROPOSAL
Darci PoquetteArgentinaElwin Sharvill NEGOTIATION
Wickens NestleSpainAmy Elsner NEW
Mujtaba NickaJapanIoni Bowcher 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>