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
Isabel BowleyRussiaAmy Elsner NEGOTIATION
Maisha RulapaughIndiaIoni Bowcher NEGOTIATION
Costa DilliardCanadaOnyama Limba NEW
Isabel BowleyItalyIoni Bowcher RENEWAL
Cody SaylorsBrazilElwin Sharvill QUALIFIED
Rodrigues CampainGermanyElwin Sharvill RENEWAL
Antonio CaudyJapanOnyama Limba NEGOTIATION
Izzy GarufiFranceAsiya Javayant NEW
Rodrigues CampainIndiaAnna Fali UNQUALIFIED
Deepesh ChuiUnited KingdomBernardo Dominic NEGOTIATION
Silvio SlusarskiRussiaAnna Fali NEGOTIATION
Jennifer AmigonSpainXuxue Feng PROPOSAL
Greenwood BologniaGermanyIvan Magalhaes UNQUALIFIED
Alejandro PerinCanadaIoni Bowcher PROPOSAL
Aruna FigeroaItalyBernardo Dominic UNQUALIFIED
Cody SaylorsJapanElwin Sharvill RENEWAL
Emily WhobreyGermanyAnna Fali NEW
Greenwood BologniaCanadaStephen Shaw PROPOSAL
Antonio CaudyRussiaAmy Elsner NEGOTIATION
Smith GlickGermanyAmy Elsner UNQUALIFIED
Misaki RoysterIndiaAnna Fali PROPOSAL
Aruna FigeroaRussiaBernardo Dominic RENEWAL
Francesco ShinkoFranceStephen Shaw UNQUALIFIED
Sinclair WaycottJapanElwin Sharvill PROPOSAL
Silvio SlusarskiItalyOnyama Limba UNQUALIFIED
Smith GlickFranceOnyama Limba RENEWAL
Jefferson SchemmerCanadaElwin Sharvill PROPOSAL
Aruna FigeroaCanadaXuxue Feng QUALIFIED
Juan WieserFranceAsiya Javayant NEW
Antonio CaudyIndiaStephen Shaw QUALIFIED
Nicolas IturbideSpainIoni Bowcher NEW
Emily WhobreyFranceAmy Elsner RENEWAL
Aika InouyeArgentinaXuxue Feng UNQUALIFIED
Clifford RimBrazilBernardo Dominic UNQUALIFIED
Faith GillianGermanyXuxue Feng NEGOTIATION
Alejandro PerinJapanAmy Elsner PROPOSAL
Stacey MacleadCanadaIoni Bowcher UNQUALIFIED
Julie StensethGermanyAmy Elsner NEGOTIATION
Antonio CaudyGermanyAnna Fali QUALIFIED
Izzy GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Leja CaldareraAustraliaXuxue Feng UNQUALIFIED
Salvatore StockhamItalyAsiya Javayant QUALIFIED
Francesco ShinkoJapanAnna Fali NEGOTIATION
David DarakjyRussiaAnna Fali NEGOTIATION
Chavez BriddickIndiaIoni Bowcher PROPOSAL
Silvio SlusarskiItalyAnna Fali UNQUALIFIED
Emily WhobreyArgentinaElwin Sharvill UNQUALIFIED
James ButtArgentinaAmy Elsner QUALIFIED
Emily WhobreyCanadaXuxue Feng NEW
Sinclair WaycottIndiaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mayumi KolmetzIndiaBernardo Dominic NEGOTIATION
Alejandro PerinUnited KingdomStephen Shaw UNQUALIFIED
Arvin AlbaresAustraliaAnna Fali NEW
Tony FollerUnited KingdomXuxue Feng NEW
Maisha RulapaughUnited KingdomStephen Shaw NEW
Salvatore StockhamItalyAnna Fali UNQUALIFIED
James ButtItalyAnna Fali UNQUALIFIED
Izzy GarufiAustraliaAnna Fali PROPOSAL
David DarakjyAustraliaAnna Fali PROPOSAL
Francesco ShinkoJapanIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie StensethJapan2026-04-28Chanay, Jeffrey A Esq PROPOSAL50Anna Fali
1001Murillo MaletBrazil2026-04-08Printing Dimensions NEW46Xuxue Feng
1002Salvatore StockhamGermany2026-04-24Chapman, Ross E Esq QUALIFIED74Bernardo Dominic
1003Clifford RimJapan2026-04-19Benton, John B Jr PROPOSAL30Bernardo Dominic
1004Greenwood BologniaFrance2026-04-16Chemel, James L Cpa NEW37Stephen Shaw
1005Sinclair WaycottFrance2026-04-25Benton, John B Jr NEW39Ioni Bowcher
1006Maisha RulapaughArgentina2026-04-22Morlong Associates QUALIFIED31Elwin Sharvill
1007Morrow RutaJapan2026-04-19Chapman, Ross E Esq PROPOSAL84Elwin Sharvill
1008Greenwood BologniaCanada2026-04-21Truhlar And Truhlar Attys PROPOSAL95Xuxue Feng
1009Claire TollnerSpain2026-04-24Printing Dimensions UNQUALIFIED88Ivan Magalhaes
1010Kaitlin OstroskyCanada2026-04-09Rousseaux, Michael Esq PROPOSAL15Bernardo Dominic
1011Morrow RutaFrance2026-04-20Rangoni Of Florence PROPOSAL60Anna Fali
1012Isabel BowleyItaly2026-04-20Dorl, James J Esq NEW54Bernardo Dominic
1013Deepesh ChuiFrance2026-04-04Chapman, Ross E Esq NEGOTIATION8Stephen Shaw
1014Francesco ShinkoItaly2026-04-19Feltz Printing Service UNQUALIFIED27Elwin Sharvill
1015Silvio SlusarskiBrazil2026-04-30Printing Dimensions NEW33Anna Fali
1016Costa DilliardFrance2026-04-23Buckley Miller Wright NEW33Elwin Sharvill
1017Cody SaylorsArgentina2026-04-24Rangoni Of Florence NEW42Onyama Limba
1018Mayumi KolmetzUnited Kingdom2026-04-26Feltz Printing Service NEW60Bernardo Dominic
1019Arvin AlbaresRussia2026-04-28Dorl, James J Esq QUALIFIED68Bernardo Dominic
1020James ButtUnited Kingdom2026-04-22Chanay, Jeffrey A Esq RENEWAL75Stephen Shaw
1021Sinclair WaycottItaly2026-04-14Chemel, James L Cpa NEGOTIATION43Bernardo Dominic
1022Izzy GarufiFrance2026-04-16Buckley Miller Wright RENEWAL58Ioni Bowcher
1023Stacey MacleadSpain2026-04-09Truhlar And Truhlar Attys NEGOTIATION47Onyama Limba
1024Jennifer AmigonJapan2026-04-07King, Christopher A Esq UNQUALIFIED2Amy Elsner
1025Mayumi KolmetzJapan2026-04-09Morlong Associates PROPOSAL47Ioni Bowcher
1026Munro FerenczCanada2026-04-06Chemel, James L Cpa NEGOTIATION81Onyama Limba
1027Leon OldroydCanada2026-04-24King, Christopher A Esq QUALIFIED29Onyama Limba
1028Kadeem FlosiAustralia2026-04-21Commercial Press QUALIFIED66Stephen Shaw
1029Wickens NestleUnited Kingdom2026-04-10Rangoni Of Florence NEW62Xuxue Feng
1030Izzy GarufiJapan2026-05-03Chapman, Ross E Esq NEW31Asiya Javayant
1031Mayumi KolmetzItaly2026-05-03Morlong Associates UNQUALIFIED14Amy Elsner
1032Adams MorascaItaly2026-04-23Chanay, Jeffrey A Esq RENEWAL32Ioni Bowcher
1033Rodrigues CampainArgentina2026-04-22Dorl, James J Esq QUALIFIED24Amy Elsner
1034Alejandro PerinGermany2026-04-28Feltz Printing Service PROPOSAL4Bernardo Dominic
1035Maria MarrierAustralia2026-04-16Commercial Press NEGOTIATION37Elwin Sharvill
1036Jennifer AmigonUnited Kingdom2026-04-23Commercial Press NEGOTIATION50Stephen Shaw
1037Arvin AlbaresSpain2026-04-18Chapman, Ross E Esq NEGOTIATION54Xuxue Feng
1038Clifford RimGermany2026-04-06Rousseaux, Michael Esq NEW75Amy Elsner
1039Greenwood BologniaItaly2026-04-05Benton, John B Jr RENEWAL68Ioni Bowcher
1040Misaki RoysterArgentina2026-05-01Morlong Associates PROPOSAL11Stephen Shaw
1041Rodrigues CampainRussia2026-04-23Truhlar And Truhlar Attys QUALIFIED35Ioni Bowcher
1042Greenwood BologniaBrazil2026-04-15Chanay, Jeffrey A Esq UNQUALIFIED72Xuxue Feng
1043Izzy GarufiItaly2026-04-14Chanay, Jeffrey A Esq QUALIFIED77Anna Fali
1044Adams MorascaUnited Kingdom2026-04-20Truhlar And Truhlar Attys UNQUALIFIED42Onyama Limba
1045Emily WhobreyCanada2026-05-03Printing Dimensions NEW78Amy Elsner
1046Mujtaba NickaSpain2026-04-26Buckley Miller Wright RENEWAL10Onyama Limba
1047Isabel BowleyBrazil2026-04-29Feiner Bros RENEWAL53Ioni Bowcher
1048Misaki RoysterAustralia2026-05-02Dorl, James J Esq UNQUALIFIED1Elwin Sharvill
1049Jennifer AmigonItaly2026-04-14Feiner Bros NEW50Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Murillo MaletJapanBernardo Dominic RENEWAL
Maisha RulapaughUnited KingdomOnyama Limba UNQUALIFIED
James ButtArgentinaAsiya Javayant NEGOTIATION
Silvio SlusarskiBrazilAmy Elsner RENEWAL
Darci PoquetteBrazilIoni Bowcher UNQUALIFIED
Jones VocelkaItalyBernardo Dominic QUALIFIED
Murillo MaletAustraliaIvan Magalhaes NEGOTIATION
Jeanfrancois VenereIndiaBernardo Dominic RENEWAL
Silvio SlusarskiFranceIvan Magalhaes QUALIFIED
Arvin AlbaresIndiaIvan Magalhaes QUALIFIED
Tony FollerFranceStephen Shaw QUALIFIED
Emily WhobreyBrazilAnna Fali UNQUALIFIED
Morrow RutaIndiaIoni Bowcher QUALIFIED
Jones VocelkaArgentinaIoni Bowcher NEW
Ricardo GauchoArgentinaOnyama Limba RENEWAL
Aika InouyeFranceAsiya Javayant NEGOTIATION
Wickens NestleItalyAmy Elsner PROPOSAL
Tony FollerRussiaAsiya Javayant NEW
Maria MarrierGermanyAnna Fali PROPOSAL
Jeanfrancois VenereItalyOnyama Limba NEW
Kadeem FlosiItalyElwin Sharvill RENEWAL
Claire TollnerAustraliaIvan Magalhaes QUALIFIED
Darci PoquetteJapanAnna Fali PROPOSAL
Izzy GarufiItalyStephen Shaw QUALIFIED
Mayumi KolmetzFranceIoni Bowcher PROPOSAL
Greenwood BologniaUnited KingdomStephen Shaw NEGOTIATION
Mayumi KolmetzSpainAnna Fali UNQUALIFIED
Isabel BowleyCanadaStephen Shaw RENEWAL
Alejandro PerinIndiaBernardo Dominic UNQUALIFIED
Wickens NestleFranceOnyama Limba NEGOTIATION
Sinclair WaycottUnited KingdomStephen Shaw NEGOTIATION
Octavia MaletIndiaAnna Fali PROPOSAL
Tony FollerJapanXuxue Feng NEW
Murillo MaletAustraliaAmy Elsner NEW
Tony FollerRussiaOnyama Limba QUALIFIED
Octavia MaletGermanyIoni Bowcher NEGOTIATION
David DarakjySpainOnyama Limba PROPOSAL
Julie StensethAustraliaOnyama Limba NEW
Mayumi KolmetzRussiaBernardo Dominic NEGOTIATION
Silvio SlusarskiGermanyElwin Sharvill RENEWAL
Jefferson SchemmerSpainAnna Fali PROPOSAL
Juan WieserJapanOnyama Limba QUALIFIED
Jones VocelkaJapanStephen Shaw PROPOSAL
Chavez BriddickArgentinaAmy Elsner PROPOSAL
Sinclair WaycottAustraliaStephen Shaw NEGOTIATION
Juan WieserUnited KingdomElwin Sharvill QUALIFIED
Darci PoquetteItalyBernardo Dominic NEGOTIATION
Aika InouyeItalyOnyama Limba UNQUALIFIED
David DarakjyIndiaBernardo Dominic PROPOSAL
Cody SaylorsCanadaStephen Shaw NEGOTIATION
Frozen Columns
Name
Johnson Sergi
Isabel Bowley
Sinclair Waycott
Julie Stenseth
Claire Tollner
Munro Ferencz
Greenwood Bolognia
Mujtaba Nicka
Greenwood Bolognia
Ivar Paprocki
Claire Tollner
Juan Wieser
Maisha Rulapaugh
Ivar Paprocki
Kadeem Flosi
Silvio Slusarski
Jennifer Amigon
Leja Caldarera
Cody Saylors
Salvatore Stockham
Emily Whobrey
Stacey Maclead
Clifford Rim
Stacey Maclead
Juan Wieser
Chavez Briddick
Izzy Garufi
Francesco Shinko
Maisha Rulapaugh
Francesco Shinko
Mayumi Kolmetz
Ivar Paprocki
Munro Ferencz
Izzy Garufi
Leon Oldroyd
Izzy Garufi
Jefferson Schemmer
Juan Wieser
Smith Glick
David Darakjy
Kaitlin Ostrosky
Chavez Briddick
Mayumi Kolmetz
Clifford Rim
Ricardo Gaucho
Isabel Bowley
Ashley Doe
Chavez Briddick
Leon Oldroyd
Aruna Figeroa
IdCountryDate
1000Italy2026-04-15
1001Argentina2026-04-19
1002Russia2026-04-10
1003Japan2026-04-23
1004Argentina2026-04-07
1005Spain2026-04-23
1006Germany2026-05-01
1007Japan2026-04-10
1008United Kingdom2026-04-04
1009Germany2026-04-28
1010Canada2026-04-07
1011Italy2026-04-16
1012Spain2026-04-29
1013United Kingdom2026-05-03
1014Russia2026-04-09
1015Spain2026-04-21
1016Russia2026-04-26
1017Brazil2026-04-23
1018Argentina2026-04-13
1019Japan2026-04-14
1020Canada2026-04-26
1021India2026-04-19
1022Spain2026-04-21
1023Brazil2026-04-24
1024United Kingdom2026-04-26
1025Japan2026-04-14
1026France2026-04-09
1027Italy2026-04-10
1028Russia2026-04-28
1029Australia2026-04-17
1030France2026-04-10
1031Germany2026-04-06
1032Canada2026-04-30
1033India2026-04-30
1034United Kingdom2026-04-28
1035Russia2026-04-28
1036Canada2026-04-21
1037Spain2026-04-07
1038Japan2026-05-02
1039France2026-04-14
1040Argentina2026-04-09
1041United Kingdom2026-05-01
1042Brazil2026-04-16
1043Russia2026-04-10
1044Australia2026-05-02
1045Japan2026-04-16
1046United Kingdom2026-04-10
1047Germany2026-04-11
1048Spain2026-04-11
1049Italy2026-04-16

On-Demand Data

NameIdCountryDate
Jeanfrancois Venere1000Spain2026-04-16
Cody Saylors1001Japan2026-04-20
Faith Gillian1002Spain2026-04-24
Aruna Figeroa1003Japan2026-05-02
Rodrigues Campain1004Spain2026-04-27
Costa Dilliard1005Argentina2026-04-10
David Darakjy1006India2026-04-24
Emily Whobrey1007India2026-04-14
Tony Foller1008United Kingdom2026-04-22
Kadeem Flosi1009Australia2026-04-11
Jones Vocelka1010Italy2026-04-15
Aditya Kusko1011Russia2026-04-15
Emily Whobrey1012Brazil2026-04-08
Faith Gillian1013United Kingdom2026-04-06
Morrow Ruta1014Germany2026-04-29
Silvio Slusarski1015Japan2026-04-11
Octavia Malet1016Russia2026-05-03
Alejandro Perin1017Germany2026-04-14
Mayumi Kolmetz1018Italy2026-04-07
Aika Inouye1019Brazil2026-04-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan WieserGermanyAnna Fali PROPOSAL
Mayumi KolmetzIndiaXuxue Feng RENEWAL
Sinclair WaycottItalyIvan Magalhaes RENEWAL
Smith GlickUnited KingdomBernardo Dominic PROPOSAL
Izzy GarufiRussiaIoni Bowcher UNQUALIFIED
Aditya KuskoUnited KingdomAmy Elsner NEGOTIATION
Aruna FigeroaIndiaBernardo Dominic RENEWAL
Smith GlickSpainElwin Sharvill UNQUALIFIED
Greenwood BologniaJapanXuxue Feng NEW
Aditya KuskoIndiaAmy Elsner NEGOTIATION
Stacey MacleadUnited KingdomAsiya Javayant QUALIFIED
David DarakjyUnited KingdomBernardo Dominic QUALIFIED
Clifford RimGermanyElwin Sharvill NEW
Faith GillianArgentinaIoni Bowcher NEW
Salvatore StockhamJapanAnna Fali UNQUALIFIED
Jennifer AmigonIndiaIoni Bowcher RENEWAL
Arvin AlbaresCanadaOnyama Limba UNQUALIFIED
Clifford RimJapanAnna Fali RENEWAL
Mayumi KolmetzItalyStephen Shaw PROPOSAL
Tony FollerIndiaAsiya Javayant NEW
Aruna FigeroaRussiaAmy Elsner NEW
Greenwood BologniaRussiaBernardo Dominic PROPOSAL
Juan WieserAustraliaBernardo Dominic UNQUALIFIED
Cody SaylorsBrazilAnna Fali NEGOTIATION
Chavez BriddickJapanAnna Fali RENEWAL
James ButtBrazilIoni Bowcher NEGOTIATION
Nicolas IturbideJapanAsiya Javayant PROPOSAL
Greenwood BologniaIndiaBernardo Dominic NEW
Isabel BowleyFranceStephen Shaw NEGOTIATION
Wickens NestleJapanIvan Magalhaes RENEWAL
Clifford RimArgentinaAnna Fali PROPOSAL
Leja CaldareraSpainAmy Elsner NEW
Octavia MaletFranceStephen Shaw QUALIFIED
Stacey MacleadItalyOnyama Limba UNQUALIFIED
Clifford RimItalyAsiya Javayant PROPOSAL
Morrow RutaItalyAsiya Javayant PROPOSAL
Mujtaba NickaIndiaAmy Elsner NEW
Aruna FigeroaUnited KingdomElwin Sharvill NEW
James ButtFranceAnna Fali RENEWAL
Chavez BriddickRussiaAnna Fali NEGOTIATION

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