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
Nicolas IturbideCanadaAnna Fali QUALIFIED
Maisha RulapaughIndiaStephen Shaw UNQUALIFIED
Jeanfrancois VenereArgentinaAmy Elsner UNQUALIFIED
Mayumi KolmetzAustraliaAmy Elsner PROPOSAL
David DarakjyAustraliaElwin Sharvill PROPOSAL
Alejandro PerinAustraliaOnyama Limba NEGOTIATION
Julie StensethIndiaAsiya Javayant UNQUALIFIED
Aditya KuskoRussiaAmy Elsner QUALIFIED
Costa DilliardIndiaIoni Bowcher QUALIFIED
Aruna FigeroaBrazilXuxue Feng UNQUALIFIED
Darci PoquetteJapanAnna Fali NEGOTIATION
Ashley DoeBrazilIoni Bowcher QUALIFIED
Stacey MacleadArgentinaOnyama Limba RENEWAL
Emily WhobreyJapanBernardo Dominic UNQUALIFIED
Darci PoquetteFranceAnna Fali PROPOSAL
Sinclair WaycottItalyElwin Sharvill RENEWAL
Octavia MaletCanadaAmy Elsner PROPOSAL
Francesco ShinkoRussiaAsiya Javayant QUALIFIED
Leon OldroydAustraliaXuxue Feng QUALIFIED
Deepesh ChuiSpainBernardo Dominic NEGOTIATION
Izzy GarufiGermanyAnna Fali NEW
Jefferson SchemmerCanadaElwin Sharvill PROPOSAL
Munro FerenczIndiaStephen Shaw RENEWAL
James ButtGermanyAsiya Javayant NEGOTIATION
James ButtBrazilOnyama Limba QUALIFIED
Kaitlin OstroskyAustraliaOnyama Limba RENEWAL
Salvatore StockhamBrazilAnna Fali RENEWAL
Kaitlin OstroskyJapanIoni Bowcher PROPOSAL
Tony FollerFranceAsiya Javayant UNQUALIFIED
Jennifer AmigonFranceAmy Elsner NEW
Misaki RoysterCanadaStephen Shaw UNQUALIFIED
Aditya KuskoUnited KingdomOnyama Limba NEW
Leja CaldareraSpainAmy Elsner PROPOSAL
Alejandro PerinItalyAnna Fali RENEWAL
Juan WieserUnited KingdomStephen Shaw NEW
Alejandro PerinSpainBernardo Dominic RENEWAL
Ivar PaprockiSpainAnna Fali PROPOSAL
Maisha RulapaughAustraliaIoni Bowcher PROPOSAL
Darci PoquetteBrazilIoni Bowcher QUALIFIED
Jennifer AmigonUnited KingdomXuxue Feng NEW
Darci PoquetteItalyOnyama Limba UNQUALIFIED
Chavez BriddickUnited KingdomElwin Sharvill NEW
Emily WhobreyCanadaXuxue Feng NEW
Maria MarrierAustraliaOnyama Limba NEW
Cody SaylorsGermanyElwin Sharvill NEW
Jefferson SchemmerFranceElwin Sharvill QUALIFIED
Chavez BriddickUnited KingdomBernardo Dominic NEW
Aruna FigeroaCanadaBernardo Dominic NEW
Claire TollnerIndiaIoni Bowcher RENEWAL
Munro FerenczRussiaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria MarrierArgentinaStephen Shaw QUALIFIED
Maria MarrierItalyIvan Magalhaes UNQUALIFIED
Maria MarrierUnited KingdomAnna Fali QUALIFIED
Maisha RulapaughAustraliaXuxue Feng NEW
Clifford RimAustraliaIoni Bowcher PROPOSAL
Jones VocelkaSpainElwin Sharvill PROPOSAL
Jones VocelkaUnited KingdomXuxue Feng PROPOSAL
Aika InouyeBrazilOnyama Limba UNQUALIFIED
Clifford RimGermanyXuxue Feng QUALIFIED
Adams MorascaSpainBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha RulapaughIndia2026-04-05Chanay, Jeffrey A Esq PROPOSAL38Amy Elsner
1001Misaki RoysterGermany2026-04-05Rangoni Of Florence RENEWAL14Ivan Magalhaes
1002Octavia MaletSpain2026-04-09Feltz Printing Service RENEWAL33Onyama Limba
1003Maisha RulapaughCanada2026-04-02Printing Dimensions RENEWAL79Ivan Magalhaes
1004Maria MarrierUnited Kingdom2026-04-15Chemel, James L Cpa NEGOTIATION24Asiya Javayant
1005Silvio SlusarskiItaly2026-03-31Feiner Bros UNQUALIFIED79Bernardo Dominic
1006Ivar PaprockiJapan2026-04-08Rangoni Of Florence RENEWAL77Onyama Limba
1007Antonio CaudyUnited Kingdom2026-04-26Benton, John B Jr UNQUALIFIED34Stephen Shaw
1008Jones VocelkaJapan2026-04-17Benton, John B Jr NEGOTIATION56Onyama Limba
1009Maria MarrierAustralia2026-04-12King, Christopher A Esq UNQUALIFIED15Amy Elsner
1010Tony FollerArgentina2026-04-11Rangoni Of Florence NEGOTIATION15Ivan Magalhaes
1011Deepesh ChuiItaly2026-04-27King, Christopher A Esq RENEWAL69Ioni Bowcher
1012Morrow RutaFrance2026-04-23Chanay, Jeffrey A Esq PROPOSAL19Bernardo Dominic
1013Leon OldroydUnited Kingdom2026-04-01Buckley Miller Wright RENEWAL76Amy Elsner
1014Nicolas IturbideUnited Kingdom2026-04-12Chemel, James L Cpa RENEWAL22Stephen Shaw
1015Antonio CaudyArgentina2026-04-11King, Christopher A Esq PROPOSAL73Bernardo Dominic
1016Chavez BriddickRussia2026-04-07Feltz Printing Service RENEWAL82Bernardo Dominic
1017Alejandro PerinRussia2026-04-25Benton, John B Jr NEGOTIATION56Xuxue Feng
1018James ButtAustralia2026-04-08Chanay, Jeffrey A Esq UNQUALIFIED94Stephen Shaw
1019Rodrigues CampainArgentina2026-04-01King, Christopher A Esq NEW58Amy Elsner
1020Juan WieserGermany2026-04-27Chanay, Jeffrey A Esq NEW58Anna Fali
1021Costa DilliardCanada2026-04-23Feiner Bros NEW55Stephen Shaw
1022Sinclair WaycottAustralia2026-04-23Chapman, Ross E Esq UNQUALIFIED10Ioni Bowcher
1023Nicolas IturbideUnited Kingdom2026-04-04Feltz Printing Service RENEWAL35Stephen Shaw
1024Mujtaba NickaIndia2026-04-07Morlong Associates UNQUALIFIED14Amy Elsner
1025Chavez BriddickUnited Kingdom2026-04-20Buckley Miller Wright PROPOSAL19Amy Elsner
1026Rodrigues CampainCanada2026-04-26Rangoni Of Florence QUALIFIED62Asiya Javayant
1027Greenwood BologniaSpain2026-04-27Chapman, Ross E Esq PROPOSAL90Ivan Magalhaes
1028Nicolas IturbideJapan2026-03-31Chapman, Ross E Esq RENEWAL5Ioni Bowcher
1029Izzy GarufiIndia2026-04-06Morlong Associates QUALIFIED67Bernardo Dominic
1030Alejandro PerinIndia2026-04-04Chapman, Ross E Esq PROPOSAL25Asiya Javayant
1031Octavia MaletUnited Kingdom2026-04-28Printing Dimensions RENEWAL26Onyama Limba
1032Tony FollerCanada2026-04-13Dorl, James J Esq UNQUALIFIED58Xuxue Feng
1033Sinclair WaycottArgentina2026-04-08King, Christopher A Esq QUALIFIED26Ivan Magalhaes
1034Smith GlickJapan2026-04-20Chapman, Ross E Esq NEW98Anna Fali
1035Rodrigues CampainRussia2026-03-30Benton, John B Jr PROPOSAL34Asiya Javayant
1036Munro FerenczUnited Kingdom2026-04-23Buckley Miller Wright NEGOTIATION22Onyama Limba
1037Francesco ShinkoGermany2026-04-02Truhlar And Truhlar Attys PROPOSAL36Xuxue Feng
1038Arvin AlbaresGermany2026-04-19Morlong Associates RENEWAL8Elwin Sharvill
1039Antonio CaudyAustralia2026-04-16Rousseaux, Michael Esq QUALIFIED91Anna Fali
1040Izzy GarufiFrance2026-04-17King, Christopher A Esq QUALIFIED75Bernardo Dominic
1041Kaitlin OstroskyAustralia2026-04-11Chemel, James L Cpa NEGOTIATION80Xuxue Feng
1042Jennifer AmigonAustralia2026-04-06Chanay, Jeffrey A Esq UNQUALIFIED58Asiya Javayant
1043Juan WieserArgentina2026-04-13Commercial Press RENEWAL66Xuxue Feng
1044Octavia MaletGermany2026-04-03Benton, John B Jr NEW53Bernardo Dominic
1045Chavez BriddickGermany2026-04-06Chemel, James L Cpa UNQUALIFIED26Bernardo Dominic
1046Leja CaldareraBrazil2026-04-18Chemel, James L Cpa QUALIFIED60Elwin Sharvill
1047Leon OldroydRussia2026-04-16Chemel, James L Cpa UNQUALIFIED26Ioni Bowcher
1048Kaitlin OstroskyFrance2026-04-07Buckley Miller Wright NEGOTIATION73Ioni Bowcher
1049Maria MarrierArgentina2026-04-13Chemel, James L Cpa QUALIFIED82Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Silvio SlusarskiIndiaElwin Sharvill NEW
Kaitlin OstroskyRussiaXuxue Feng PROPOSAL
Mayumi KolmetzFranceAmy Elsner NEW
Claire TollnerAustraliaAnna Fali RENEWAL
Murillo MaletBrazilElwin Sharvill UNQUALIFIED
Mayumi KolmetzGermanyAnna Fali UNQUALIFIED
Tony FollerFranceAnna Fali QUALIFIED
Maria MarrierAustraliaBernardo Dominic PROPOSAL
Maria MarrierItalyIvan Magalhaes PROPOSAL
Faith GillianItalyStephen Shaw QUALIFIED
Kadeem FlosiArgentinaIoni Bowcher NEW
Mayumi KolmetzFranceBernardo Dominic RENEWAL
Ricardo GauchoCanadaStephen Shaw NEW
Wickens NestleGermanyAsiya Javayant UNQUALIFIED
Ricardo GauchoBrazilIvan Magalhaes UNQUALIFIED
Costa DilliardAustraliaAsiya Javayant PROPOSAL
Morrow RutaCanadaAmy Elsner NEW
Mujtaba NickaUnited KingdomIvan Magalhaes NEGOTIATION
Sinclair WaycottBrazilIvan Magalhaes RENEWAL
Tony FollerUnited KingdomAnna Fali UNQUALIFIED
Costa DilliardSpainAmy Elsner NEW
Mayumi KolmetzIndiaIvan Magalhaes QUALIFIED
Aditya KuskoFranceAmy Elsner RENEWAL
Rodrigues CampainAustraliaIoni Bowcher NEGOTIATION
Stacey MacleadArgentinaStephen Shaw RENEWAL
Kadeem FlosiBrazilStephen Shaw NEGOTIATION
Costa DilliardCanadaStephen Shaw PROPOSAL
Mayumi KolmetzJapanIvan Magalhaes NEGOTIATION
Antonio CaudyGermanyAmy Elsner PROPOSAL
Cody SaylorsJapanAmy Elsner NEW
Francesco ShinkoFranceAnna Fali NEW
Adams MorascaSpainXuxue Feng UNQUALIFIED
Emily WhobreyJapanElwin Sharvill RENEWAL
Jeanfrancois VenereFranceOnyama Limba RENEWAL
Mayumi KolmetzSpainOnyama Limba PROPOSAL
Jones VocelkaAustraliaElwin Sharvill PROPOSAL
Stacey MacleadAustraliaAmy Elsner RENEWAL
Salvatore StockhamRussiaAsiya Javayant RENEWAL
Aruna FigeroaFranceIvan Magalhaes QUALIFIED
Wickens NestleFranceAnna Fali UNQUALIFIED
Jeanfrancois VenereArgentinaStephen Shaw NEW
Ricardo GauchoBrazilAsiya Javayant QUALIFIED
Faith GillianGermanyAnna Fali NEGOTIATION
Arvin AlbaresArgentinaAmy Elsner NEGOTIATION
Ivar PaprockiCanadaBernardo Dominic NEW
Jeanfrancois VenereRussiaStephen Shaw PROPOSAL
Arvin AlbaresBrazilXuxue Feng NEW
Octavia MaletRussiaOnyama Limba QUALIFIED
Emily WhobreyItalyIvan Magalhaes NEGOTIATION
Jefferson SchemmerItalyAsiya Javayant RENEWAL
Frozen Columns
Name
Juan Wieser
Kaitlin Ostrosky
Sinclair Waycott
Adams Morasca
Jones Vocelka
Claire Tollner
Clifford Rim
Tony Foller
Julie Stenseth
Mujtaba Nicka
Munro Ferencz
Ashley Doe
Mayumi Kolmetz
Ashley Doe
Darci Poquette
Smith Glick
Munro Ferencz
Murillo Malet
Jones Vocelka
Costa Dilliard
David Darakjy
Adams Morasca
Jones Vocelka
Adams Morasca
Greenwood Bolognia
Kaitlin Ostrosky
Misaki Royster
Stacey Maclead
Greenwood Bolognia
Isabel Bowley
Salvatore Stockham
Costa Dilliard
Faith Gillian
Adams Morasca
Chavez Briddick
Clifford Rim
Mujtaba Nicka
Alejandro Perin
Salvatore Stockham
Sinclair Waycott
Adams Morasca
Kadeem Flosi
Jones Vocelka
Stacey Maclead
Isabel Bowley
Nicolas Iturbide
Salvatore Stockham
Isabel Bowley
Faith Gillian
James Butt
IdCountryDate
1000Russia2026-04-18
1001Australia2026-04-08
1002Australia2026-04-01
1003Russia2026-04-06
1004United Kingdom2026-04-19
1005Brazil2026-04-04
1006Brazil2026-04-23
1007United Kingdom2026-04-11
1008Italy2026-04-09
1009Germany2026-04-18
1010United Kingdom2026-04-04
1011Italy2026-04-06
1012Canada2026-04-19
1013Spain2026-04-27
1014France2026-04-23
1015India2026-04-16
1016France2026-04-07
1017France2026-04-21
1018Canada2026-03-31
1019Australia2026-04-24
1020Italy2026-04-14
1021Italy2026-04-15
1022Italy2026-04-28
1023Italy2026-04-01
1024Brazil2026-03-30
1025Germany2026-04-20
1026Spain2026-04-02
1027India2026-04-09
1028France2026-04-14
1029France2026-03-30
1030Italy2026-04-13
1031France2026-04-21
1032Russia2026-04-03
1033Germany2026-04-14
1034Brazil2026-03-31
1035Argentina2026-04-04
1036India2026-04-19
1037Spain2026-04-11
1038Japan2026-04-23
1039Brazil2026-04-12
1040Canada2026-04-15
1041United Kingdom2026-04-09
1042Argentina2026-04-18
1043Russia2026-04-16
1044Canada2026-04-27
1045Australia2026-04-15
1046Australia2026-04-20
1047Argentina2026-04-24
1048Germany2026-04-06
1049Russia2026-04-01

On-Demand Data

NameIdCountryDate
Emily Whobrey1000Japan2026-04-09
Tony Foller1001India2026-04-09
Leja Caldarera1002France2026-04-08
Clifford Rim1003Russia2026-04-20
Costa Dilliard1004Brazil2026-04-06
Aditya Kusko1005France2026-04-10
Isabel Bowley1006France2026-04-27
Maria Marrier1007India2026-04-23
Aditya Kusko1008France2026-04-10
Darci Poquette1009Germany2026-04-24
Deepesh Chui1010Japan2026-04-15
Salvatore Stockham1011Russia2026-04-25
Julie Stenseth1012Japan2026-04-27
Jefferson Schemmer1013Germany2026-04-27
Emily Whobrey1014Spain2026-04-05
Aruna Figeroa1015France2026-04-02
Stacey Maclead1016India2026-04-10
Juan Wieser1017Spain2026-04-07
Julie Stenseth1018Russia2026-04-02
David Darakjy1019Australia2026-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson SergiItalyElwin Sharvill NEW
Ashley DoeFranceAmy Elsner PROPOSAL
Sinclair WaycottAustraliaOnyama Limba QUALIFIED
Chavez BriddickSpainStephen Shaw UNQUALIFIED
Stacey MacleadFranceAnna Fali NEGOTIATION
Aruna FigeroaGermanyAmy Elsner NEGOTIATION
Jeanfrancois VenereFranceAsiya Javayant NEW
Ashley DoeUnited KingdomAsiya Javayant PROPOSAL
Kadeem FlosiGermanyAmy Elsner RENEWAL
Antonio CaudyBrazilAnna Fali QUALIFIED
Sinclair WaycottAustraliaBernardo Dominic PROPOSAL
Izzy GarufiAustraliaIoni Bowcher UNQUALIFIED
Chavez BriddickItalyAmy Elsner RENEWAL
Jennifer AmigonRussiaIvan Magalhaes RENEWAL
Jeanfrancois VenereCanadaIvan Magalhaes RENEWAL
Jennifer AmigonArgentinaBernardo Dominic NEGOTIATION
Jones VocelkaGermanyIoni Bowcher NEGOTIATION
Murillo MaletArgentinaIvan Magalhaes QUALIFIED
David DarakjyGermanyAsiya Javayant NEW
Emily WhobreyGermanyAnna Fali NEW
Darci PoquetteIndiaAmy Elsner QUALIFIED
Kadeem FlosiIndiaAmy Elsner PROPOSAL
Mayumi KolmetzArgentinaAmy Elsner RENEWAL
Misaki RoysterItalyAnna Fali PROPOSAL
Kadeem FlosiItalyStephen Shaw QUALIFIED
Isabel BowleyArgentinaAsiya Javayant QUALIFIED
Ricardo GauchoSpainAmy Elsner RENEWAL
Ashley DoeFranceAsiya Javayant QUALIFIED
Adams MorascaRussiaStephen Shaw UNQUALIFIED
Chavez BriddickAustraliaElwin Sharvill UNQUALIFIED
Jones VocelkaSpainAmy Elsner PROPOSAL
Faith GillianFranceIoni Bowcher QUALIFIED
Ricardo GauchoAustraliaIoni Bowcher RENEWAL
Murillo MaletCanadaAnna Fali QUALIFIED
Misaki RoysterCanadaAnna Fali UNQUALIFIED
Maisha RulapaughRussiaElwin Sharvill PROPOSAL
Jefferson SchemmerRussiaIvan Magalhaes NEW
Jefferson SchemmerGermanyOnyama Limba UNQUALIFIED
David DarakjyArgentinaXuxue Feng PROPOSAL
Aditya KuskoSpainStephen Shaw NEW

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