Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Bangla
Bosnian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
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

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Maisha X SlusarskiSpainOnyama Limba PROPOSAL
Isabel J GarufiCanadaAsiya Javayant NEGOTIATION
Deepesh Q ShinkoSpainStephen Shaw QUALIFIED
Misaki A ShinkoItalyXuxue Feng NEW
Jeanfrancois H SchemmerGermanyStephen Shaw NEW
Clifford E MaletItalyIoni Bowcher NEGOTIATION
Greenwood W KuskoItalyIvan Magalhaes UNQUALIFIED
Kadeem J ChuiRussiaAmy Elsner RENEWAL
Deepesh V VenereFranceElwin Sharvill RENEWAL
Johnson I WieserUnited KingdomStephen Shaw RENEWAL
Julie O FerenczBrazilAmy Elsner QUALIFIED
Emily R WaycottUnited KingdomAnna Fali NEGOTIATION
Francesco H ChuiIndiaAmy Elsner UNQUALIFIED
Leja T SlusarskiSpainIvan Magalhaes QUALIFIED
Maisha A GarufiUnited KingdomAmy Elsner NEW
Smith R RimGermanyXuxue Feng NEW
Stacey X VocelkaFranceAmy Elsner QUALIFIED
Mayumi S TollnerArgentinaStephen Shaw QUALIFIED
Wickens I WieserIndiaAmy Elsner NEGOTIATION
Jones T DarakjyBrazilAsiya Javayant QUALIFIED
Jeanfrancois M RoysterIndiaOnyama Limba QUALIFIED
Stacey M SergiGermanyOnyama Limba NEGOTIATION
Jeanfrancois Y FigeroaAustraliaStephen Shaw NEGOTIATION
Leja E StockhamRussiaBernardo Dominic RENEWAL
Julie Z SchemmerFranceAsiya Javayant NEGOTIATION
Jeanfrancois O ChuiCanadaOnyama Limba NEGOTIATION
Jennifer S AmigonItalyAmy Elsner RENEWAL
Izzy B RimIndiaIvan Magalhaes RENEWAL
Misaki X DilliardRussiaBernardo Dominic QUALIFIED
Aditya G FollerFranceBernardo Dominic RENEWAL
Adams Q MaletCanadaElwin Sharvill PROPOSAL
Johnson T ButtArgentinaBernardo Dominic QUALIFIED
Greenwood T FollerArgentinaIvan Magalhaes UNQUALIFIED
Chavez X CaldareraSpainAmy Elsner NEGOTIATION
Jeanfrancois T GauchoArgentinaOnyama Limba QUALIFIED
Tony E MorascaBrazilAmy Elsner NEGOTIATION
Munro K SlusarskiArgentinaAmy Elsner NEW
Jefferson X ShinkoGermanyAsiya Javayant UNQUALIFIED
Silvio G DarakjyJapanAmy Elsner PROPOSAL
Alejandro C MorascaRussiaAnna Fali RENEWAL
Greenwood U VocelkaRussiaXuxue Feng NEGOTIATION
Jeanfrancois V SaylorsFranceStephen Shaw UNQUALIFIED
Antonio Q RimItalyAnna Fali PROPOSAL
Misaki H CaudyAustraliaAnna Fali PROPOSAL
Kaitlin E StensethIndiaStephen Shaw UNQUALIFIED
Alejandro D KuskoIndiaIvan Magalhaes QUALIFIED
Mayumi N PaprockiItalyStephen Shaw NEW
Leja V MarrierUnited KingdomElwin Sharvill NEGOTIATION
Smith P FollerSpainIoni Bowcher NEW
Jones J DilliardItalyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba E ButtArgentinaAnna Fali NEGOTIATION
Costa L PerinRussiaIoni Bowcher NEGOTIATION
Salvatore M VenereSpainElwin Sharvill NEGOTIATION
Aditya H AmigonAustraliaOnyama Limba NEW
Silvio H RoysterFranceBernardo Dominic UNQUALIFIED
Mujtaba D KolmetzIndiaIoni Bowcher RENEWAL
Alejandro B MarrierRussiaBernardo Dominic NEW
Cody C GarufiCanadaAnna Fali NEGOTIATION
Mujtaba Y BowleyArgentinaIvan Magalhaes UNQUALIFIED
Jeanfrancois J GlickAustraliaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones A GarufiGermany2025-08-19Printing Dimensions NEW86Ioni Bowcher
1001Clifford A DoeItaly2025-08-27Chemel, James L Cpa QUALIFIED27Elwin Sharvill
1002Octavia N NestleFrance2025-08-06Chemel, James L Cpa PROPOSAL7Elwin Sharvill
1003Ashley K IturbideSpain2025-08-04King, Christopher A Esq NEW61Anna Fali
1004Ricardo Q GlickArgentina2025-08-10Feltz Printing Service UNQUALIFIED72Onyama Limba
1005Aruna V DoeUnited Kingdom2025-08-22Feltz Printing Service QUALIFIED27Xuxue Feng
1006Jeanfrancois W BowleyFrance2025-08-06Benton, John B Jr RENEWAL35Xuxue Feng
1007Claire J VenereAustralia2025-08-14Truhlar And Truhlar Attys UNQUALIFIED71Amy Elsner
1008Salvatore C NickaGermany2025-08-15Commercial Press PROPOSAL90Asiya Javayant
1009Sinclair D WhobreyIndia2025-08-01Commercial Press PROPOSAL44Onyama Limba
1010Arvin V OldroydJapan2025-08-04Benton, John B Jr RENEWAL39Stephen Shaw
1011Emily O FigeroaArgentina2025-08-20Chemel, James L Cpa NEGOTIATION91Amy Elsner
1012Ivar M WaycottRussia2025-08-27Chanay, Jeffrey A Esq PROPOSAL26Bernardo Dominic
1013Salvatore Z BowleyGermany2025-08-21Rangoni Of Florence UNQUALIFIED73Onyama Limba
1014Mayumi A MaletItaly2025-08-17Commercial Press UNQUALIFIED23Xuxue Feng
1015James I SaylorsItaly2025-08-25Chanay, Jeffrey A Esq NEGOTIATION26Bernardo Dominic
1016Alejandro J MacleadSpain2025-08-14Buckley Miller Wright RENEWAL18Onyama Limba
1017Misaki J GarufiRussia2025-08-27Dorl, James J Esq UNQUALIFIED89Bernardo Dominic
1018Darci T GillianRussia2025-08-24King, Christopher A Esq NEW86Onyama Limba
1019Isabel O OldroydCanada2025-08-10Rangoni Of Florence QUALIFIED85Amy Elsner
1020Chavez W PerinArgentina2025-08-07Buckley Miller Wright UNQUALIFIED39Xuxue Feng
1021Faith O GauchoFrance2025-08-28Rangoni Of Florence NEGOTIATION41Ivan Magalhaes
1022Adams X MorascaGermany2025-08-03Benton, John B Jr PROPOSAL3Elwin Sharvill
1023Faith O PoquetteIndia2025-08-18Buckley Miller Wright RENEWAL68Ioni Bowcher
1024Misaki A CaudyCanada2025-08-26Feltz Printing Service PROPOSAL54Onyama Limba
1025Munro C KolmetzSpain2025-08-17Rangoni Of Florence UNQUALIFIED6Elwin Sharvill
1026Smith I RoysterCanada2025-08-03King, Christopher A Esq QUALIFIED21Ioni Bowcher
1027Julie V OldroydItaly2025-08-21Dorl, James J Esq QUALIFIED28Ioni Bowcher
1028Wickens A DarakjyArgentina2025-08-28Chapman, Ross E Esq QUALIFIED78Onyama Limba
1029James U WhobreyAustralia2025-08-30Commercial Press PROPOSAL63Anna Fali
1030Juan M ShinkoArgentina2025-08-08Dorl, James J Esq PROPOSAL27Elwin Sharvill
1031Francesco J OstroskyCanada2025-08-25Buckley Miller Wright NEW25Xuxue Feng
1032Johnson H InouyeBrazil2025-08-15Chapman, Ross E Esq PROPOSAL9Elwin Sharvill
1033Aditya A GauchoArgentina2025-08-11Chemel, James L Cpa RENEWAL58Ivan Magalhaes
1034Jefferson Q BologniaArgentina2025-08-29Chapman, Ross E Esq UNQUALIFIED18Ivan Magalhaes
1035Ricardo D CaudyItaly2025-08-13Buckley Miller Wright UNQUALIFIED88Xuxue Feng
1036James C RutaFrance2025-08-19Printing Dimensions UNQUALIFIED50Stephen Shaw
1037Emily R MaletRussia2025-08-03Feltz Printing Service RENEWAL64Onyama Limba
1038Faith H WaycottBrazil2025-08-27Printing Dimensions UNQUALIFIED71Amy Elsner
1039Wickens Q OldroydSpain2025-08-10Truhlar And Truhlar Attys NEW22Elwin Sharvill
1040Johnson R SchemmerGermany2025-08-14Morlong Associates PROPOSAL99Bernardo Dominic
1041Aditya Y RimRussia2025-08-25Dorl, James J Esq RENEWAL62Stephen Shaw
1042Tony N WaycottJapan2025-08-08Dorl, James J Esq RENEWAL76Anna Fali
1043Murillo B RoysterAustralia2025-08-12Buckley Miller Wright QUALIFIED46Asiya Javayant
1044Claire Y StensethIndia2025-08-15Feltz Printing Service NEGOTIATION89Ivan Magalhaes
1045Kadeem Q StensethJapan2025-08-27Rangoni Of Florence PROPOSAL40Ioni Bowcher
1046Ashley Y PerinSpain2025-08-16Dorl, James J Esq NEW24Anna Fali
1047Mayumi G InouyeCanada2025-08-25Dorl, James J Esq UNQUALIFIED57Amy Elsner
1048Aruna Q TollnerCanada2025-08-20Rangoni Of Florence UNQUALIFIED92Xuxue Feng
1049Stacey G RoysterIndia2025-08-23Rousseaux, Michael Esq PROPOSAL43Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer O RimCanadaIvan Magalhaes NEW
Faith B CaldareraBrazilElwin Sharvill UNQUALIFIED
Adams Y WaycottIndiaAmy Elsner RENEWAL
Octavia G MaletAustraliaOnyama Limba NEW
Silvio V DoeGermanyBernardo Dominic QUALIFIED
Sinclair Y DilliardSpainAnna Fali PROPOSAL
Smith R VenereUnited KingdomIvan Magalhaes NEW
Ashley K StensethAustraliaXuxue Feng PROPOSAL
Aditya C BriddickArgentinaAnna Fali NEGOTIATION
Aruna O WhobreyArgentinaAsiya Javayant UNQUALIFIED
Costa W BologniaItalyIvan Magalhaes NEGOTIATION
Aditya L CaudyItalyAnna Fali NEW
Maria J MarrierCanadaIoni Bowcher NEW
Octavia N MaletCanadaIvan Magalhaes RENEWAL
Smith S SchemmerArgentinaOnyama Limba NEGOTIATION
Kaitlin Q MorascaFranceXuxue Feng UNQUALIFIED
Emily Q RulapaughGermanyIvan Magalhaes QUALIFIED
Smith A SaylorsBrazilIoni Bowcher UNQUALIFIED
James Q NickaRussiaBernardo Dominic NEW
Sinclair H KuskoIndiaOnyama Limba RENEWAL
Claire B PaprockiUnited KingdomOnyama Limba NEGOTIATION
Maria P FerenczJapanOnyama Limba QUALIFIED
Deepesh M MaletIndiaStephen Shaw NEGOTIATION
Smith C CaudyAustraliaAsiya Javayant QUALIFIED
Chavez B ButtItalyIvan Magalhaes UNQUALIFIED
Sinclair U DoeUnited KingdomAmy Elsner NEGOTIATION
Kadeem K PerinJapanStephen Shaw UNQUALIFIED
Maria O IturbideJapanAmy Elsner PROPOSAL
Alejandro F DilliardAustraliaElwin Sharvill NEGOTIATION
Mayumi C FerenczCanadaXuxue Feng NEW
Claire C VenereJapanAnna Fali UNQUALIFIED
Kadeem P TollnerIndiaIvan Magalhaes QUALIFIED
Isabel P FigeroaIndiaIvan Magalhaes RENEWAL
Jeanfrancois P AmigonBrazilOnyama Limba PROPOSAL
Munro N MorascaCanadaAnna Fali PROPOSAL
Juan S CaldareraBrazilBernardo Dominic PROPOSAL
Silvio M MorascaAustraliaXuxue Feng QUALIFIED
Ivar O GauchoGermanyAnna Fali RENEWAL
Leon X NickaGermanyAsiya Javayant NEGOTIATION
Ashley X StockhamUnited KingdomStephen Shaw NEW
Antonio M SchemmerArgentinaIoni Bowcher RENEWAL
Nicolas O KuskoCanadaElwin Sharvill QUALIFIED
Maria X RimRussiaElwin Sharvill QUALIFIED
Rodrigues I KuskoJapanStephen Shaw NEGOTIATION
Aditya J ButtRussiaOnyama Limba NEGOTIATION
Adams L GlickIndiaAsiya Javayant UNQUALIFIED
Misaki M GillianIndiaXuxue Feng NEGOTIATION
Ivar X CampainJapanXuxue Feng QUALIFIED
Adams A WieserUnited KingdomAmy Elsner NEW
Silvio P IturbideItalyBernardo Dominic NEGOTIATION
Frozen Columns
Name
Julie W Campain
Smith A Doe
James S Kolmetz
Cody E Iturbide
Clifford U Glick
Claire U Campain
Aruna X Malet
Jones Q Gillian
Tony O Kolmetz
Sinclair S Schemmer
Claire Y Gillian
Costa N Schemmer
Sinclair N Sergi
Leon W Albares
Murillo O Paprocki
Chavez M Venere
Jeanfrancois V Marrier
Izzy U Amigon
Faith E Glick
Rodrigues H Ruta
Cody V Sergi
Sinclair B Schemmer
Claire W Paprocki
Antonio Z Chui
Maria R Foller
Isabel F Bolognia
Kadeem A Gillian
Maria X Inouye
David J Garufi
Claire D Kolmetz
Jeanfrancois F Stenseth
Silvio P Campain
Faith K Darakjy
Kadeem M Chui
Wickens T Ruta
Jeanfrancois N Vocelka
David V Saylors
Munro B Whobrey
Jennifer I Shinko
Ricardo U Nestle
Chavez R Foller
Silvio B Sergi
Aika V Malet
Mujtaba Q Maclead
Octavia Z Stenseth
Salvatore A Ruta
Munro N Butt
Sinclair B Bowley
Salvatore B Perin
Silvio N Whobrey
IdCountryDate
1000Germany2025-08-01
1001Argentina2025-08-06
1002India2025-08-10
1003Russia2025-08-26
1004Brazil2025-08-22
1005Russia2025-08-15
1006Germany2025-08-17
1007Brazil2025-08-17
1008India2025-08-08
1009United Kingdom2025-08-10
1010Canada2025-08-06
1011Italy2025-08-20
1012Italy2025-08-19
1013Russia2025-08-11
1014Spain2025-08-16
1015United Kingdom2025-08-24
1016France2025-08-20
1017Russia2025-08-14
1018Japan2025-08-21
1019Argentina2025-08-05
1020Russia2025-08-16
1021United Kingdom2025-08-20
1022Germany2025-08-28
1023India2025-08-24
1024India2025-08-20
1025Russia2025-08-30
1026Canada2025-08-27
1027India2025-08-14
1028France2025-08-22
1029Russia2025-08-20
1030Brazil2025-08-06
1031Italy2025-08-08
1032India2025-08-22
1033India2025-08-29
1034Japan2025-08-19
1035Canada2025-08-13
1036Argentina2025-08-15
1037Brazil2025-08-02
1038Australia2025-08-14
1039Russia2025-08-01
1040Argentina2025-08-27
1041Germany2025-08-10
1042Canada2025-08-29
1043Brazil2025-08-19
1044Canada2025-08-11
1045United Kingdom2025-08-16
1046Brazil2025-08-10
1047France2025-08-13
1048Russia2025-08-26
1049France2025-08-15

On-Demand Data

NameIdCountryDate
Francesco W Flosi1000Japan2025-08-30
Arvin Z Slusarski1001Japan2025-08-25
David S Ferencz1002France2025-08-13
Mayumi T Dilliard1003United Kingdom2025-08-06
Cody A Ruta1004United Kingdom2025-08-05
Antonio J Darakjy1005Russia2025-08-21
Tony F Gaucho1006Canada2025-08-16
Cody O Vocelka1007Japan2025-08-16
Sinclair H Doe1008Canada2025-08-14
Ivar A Iturbide1009United Kingdom2025-08-14
Salvatore I Briddick1010Argentina2025-08-09
Antonio N Wieser1011Italy2025-08-03
Silvio O Dilliard1012Argentina2025-08-20
Mayumi Y Perin1013Canada2025-08-03
Silvio M Amigon1014Russia2025-08-03
Jennifer T Paprocki1015Spain2025-08-01
Ricardo H Whobrey1016Spain2025-08-12
Tony G Slusarski1017Japan2025-08-05
Munro K Morasca1018France2025-08-21
Maisha C Briddick1019Germany2025-08-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley Y NickaIndiaXuxue Feng NEW
Ivar S MaletRussiaAsiya Javayant UNQUALIFIED
Leon Z SaylorsBrazilIoni Bowcher PROPOSAL
Aditya W GarufiBrazilOnyama Limba NEGOTIATION
Salvatore C MarrierRussiaAmy Elsner RENEWAL
Misaki J GauchoRussiaOnyama Limba NEW
Chavez K DarakjyJapanStephen Shaw RENEWAL
Darci Q CaudySpainAmy Elsner NEW
Rodrigues W GlickSpainStephen Shaw RENEWAL
Sinclair C RulapaughUnited KingdomXuxue Feng NEGOTIATION
Leja P NestleIndiaIvan Magalhaes NEW
Francesco A SchemmerFranceIoni Bowcher NEGOTIATION
Greenwood P FigeroaUnited KingdomAnna Fali UNQUALIFIED
Maisha K CaudyItalyIoni Bowcher NEGOTIATION
Aruna Q MaletGermanyIoni Bowcher QUALIFIED
David N WaycottIndiaStephen Shaw NEGOTIATION
Aruna O PoquetteCanadaElwin Sharvill PROPOSAL
Kaitlin H StockhamBrazilBernardo Dominic RENEWAL
Octavia U NestleRussiaStephen Shaw RENEWAL
Leja P IturbideCanadaElwin Sharvill PROPOSAL
Emily C RoysterFranceOnyama Limba UNQUALIFIED
Leon T StockhamRussiaIvan Magalhaes NEGOTIATION
Morrow L FerenczSpainAmy Elsner UNQUALIFIED
Salvatore L MaletSpainIvan Magalhaes NEGOTIATION
Nicolas D FigeroaBrazilXuxue Feng NEW
Greenwood G CaldareraArgentinaXuxue Feng NEGOTIATION
Isabel F FerenczBrazilOnyama Limba UNQUALIFIED
Costa N MorascaBrazilAmy Elsner QUALIFIED
Salvatore O DilliardArgentinaAsiya Javayant RENEWAL
Julie J AmigonArgentinaXuxue Feng PROPOSAL
Adams P StockhamArgentinaAsiya Javayant RENEWAL
Nicolas F ButtFranceElwin Sharvill PROPOSAL
Julie V FerenczAustraliaStephen Shaw NEGOTIATION
Aditya R BriddickGermanyXuxue Feng PROPOSAL
Leon W MorascaJapanIoni Bowcher PROPOSAL
Isabel Z PerinFranceBernardo Dominic PROPOSAL
Misaki T FigeroaUnited KingdomAmy Elsner PROPOSAL
Julie N DarakjyAustraliaIvan Magalhaes RENEWAL
Clifford M StockhamFranceStephen Shaw QUALIFIED
Smith N RutaFranceIvan Magalhaes QUALIFIED

<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.name().toLowerCase()}">#{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.name().toLowerCase()}">#{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.name().toLowerCase()}">#{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.name().toLowerCase()}">#{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" frozenColumnsAlignment="left">
            <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.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>