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
James K BologniaGermanyStephen Shaw NEGOTIATION
Isabel J CaudyGermanyBernardo Dominic QUALIFIED
Jones X CaudyUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois Z BriddickGermanyAnna Fali NEGOTIATION
Deepesh B CaudyItalyAsiya Javayant PROPOSAL
Izzy I ShinkoCanadaOnyama Limba NEGOTIATION
Claire N KuskoBrazilStephen Shaw NEW
Munro F GarufiGermanyOnyama Limba NEW
Munro Q WaycottUnited KingdomIoni Bowcher QUALIFIED
Alejandro G BologniaRussiaOnyama Limba NEGOTIATION
Jones A ButtCanadaStephen Shaw NEGOTIATION
Nicolas V FerenczIndiaAsiya Javayant PROPOSAL
James Z GauchoUnited KingdomStephen Shaw UNQUALIFIED
Octavia H FlosiUnited KingdomStephen Shaw UNQUALIFIED
Deepesh A ChuiBrazilAmy Elsner PROPOSAL
Jones Q MaletArgentinaElwin Sharvill NEGOTIATION
Francesco K SaylorsFranceAsiya Javayant UNQUALIFIED
Misaki S OstroskyAustraliaBernardo Dominic QUALIFIED
Ashley L FlosiAustraliaAmy Elsner PROPOSAL
Aditya L DilliardBrazilAnna Fali PROPOSAL
Juan Y BologniaGermanyBernardo Dominic RENEWAL
Smith P ShinkoRussiaElwin Sharvill NEGOTIATION
Tony N FlosiBrazilAsiya Javayant UNQUALIFIED
Maisha J NestleItalyIoni Bowcher UNQUALIFIED
Munro Y BriddickJapanIoni Bowcher RENEWAL
Murillo Y DoeSpainOnyama Limba PROPOSAL
Clifford D FlosiIndiaAsiya Javayant QUALIFIED
Jennifer O GillianItalyElwin Sharvill RENEWAL
Murillo W RutaRussiaStephen Shaw NEGOTIATION
Ashley Y GarufiGermanyAnna Fali NEW
Munro O ChuiAustraliaIoni Bowcher NEW
Wickens V MarrierArgentinaAsiya Javayant UNQUALIFIED
Nicolas B PaprockiFranceIoni Bowcher NEGOTIATION
Deepesh Q BowleyBrazilIvan Magalhaes UNQUALIFIED
Juan Z AlbaresGermanyIvan Magalhaes PROPOSAL
Cody P CampainFranceElwin Sharvill PROPOSAL
Stacey I MaletCanadaIvan Magalhaes UNQUALIFIED
Izzy W FigeroaJapanAnna Fali PROPOSAL
Octavia R TollnerCanadaAnna Fali PROPOSAL
Isabel U ButtIndiaIvan Magalhaes NEW
Leja N IturbideArgentinaIvan Magalhaes QUALIFIED
David G GarufiAustraliaXuxue Feng RENEWAL
Wickens Z TollnerJapanOnyama Limba PROPOSAL
Wickens V ShinkoJapanElwin Sharvill RENEWAL
Kaitlin J DilliardSpainOnyama Limba PROPOSAL
Mayumi V FerenczFranceAmy Elsner NEW
Cody B BowleyUnited KingdomIoni Bowcher PROPOSAL
Arvin T MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Chavez K IturbideItalyIvan Magalhaes NEGOTIATION
Rodrigues A WieserItalyElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Silvio F FlosiGermanyXuxue Feng NEGOTIATION
Nicolas W StockhamIndiaXuxue Feng UNQUALIFIED
Emily D ChuiSpainElwin Sharvill UNQUALIFIED
Julie O VenereGermanyAnna Fali RENEWAL
Sinclair D CaldareraCanadaBernardo Dominic UNQUALIFIED
Maria G OldroydSpainOnyama Limba RENEWAL
Faith N BriddickSpainIvan Magalhaes QUALIFIED
Mayumi H DilliardAustraliaXuxue Feng RENEWAL
Faith T DoeCanadaAmy Elsner NEW
Leja V CaldareraBrazilBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens S RoysterArgentina2025-10-07Rousseaux, Michael Esq RENEWAL33Amy Elsner
1001Jennifer A FollerItaly2025-09-12Truhlar And Truhlar Attys RENEWAL2Stephen Shaw
1002Jennifer M BologniaGermany2025-09-09Feiner Bros PROPOSAL28Asiya Javayant
1003Arvin X ChuiGermany2025-09-25Dorl, James J Esq RENEWAL83Xuxue Feng
1004Mayumi O ChuiCanada2025-09-18Benton, John B Jr RENEWAL39Amy Elsner
1005Alejandro H VenereAustralia2025-10-06Chemel, James L Cpa PROPOSAL25Xuxue Feng
1006Deepesh Z BologniaGermany2025-09-26Printing Dimensions NEGOTIATION11Xuxue Feng
1007Isabel M SaylorsBrazil2025-09-11Rangoni Of Florence UNQUALIFIED68Xuxue Feng
1008David M ChuiUnited Kingdom2025-09-25Rousseaux, Michael Esq NEGOTIATION85Stephen Shaw
1009Leon X DarakjyIndia2025-10-07Buckley Miller Wright NEW21Anna Fali
1010Costa N NestleIndia2025-09-25Rangoni Of Florence NEW49Ioni Bowcher
1011Morrow D PerinRussia2025-10-03King, Christopher A Esq QUALIFIED21Stephen Shaw
1012Adams R SlusarskiAustralia2025-09-19Commercial Press NEW58Elwin Sharvill
1013James J StensethBrazil2025-09-25Rousseaux, Michael Esq RENEWAL92Xuxue Feng
1014Emily W KuskoJapan2025-09-21Benton, John B Jr PROPOSAL95Ivan Magalhaes
1015Silvio S ButtGermany2025-10-01Benton, John B Jr NEW19Xuxue Feng
1016Francesco T RoysterIndia2025-09-19King, Christopher A Esq QUALIFIED68Ioni Bowcher
1017Emily H RoysterItaly2025-10-02Rousseaux, Michael Esq UNQUALIFIED56Ioni Bowcher
1018Jeanfrancois Z RimIndia2025-09-28Feltz Printing Service RENEWAL0Anna Fali
1019Tony T DoeJapan2025-10-06Truhlar And Truhlar Attys PROPOSAL31Stephen Shaw
1020Aruna P StensethCanada2025-10-04Truhlar And Truhlar Attys QUALIFIED37Ioni Bowcher
1021Silvio S MarrierJapan2025-09-16King, Christopher A Esq NEW99Asiya Javayant
1022Deepesh L FigeroaUnited Kingdom2025-09-18Feltz Printing Service PROPOSAL5Onyama Limba
1023Nicolas U TollnerFrance2025-10-07King, Christopher A Esq QUALIFIED89Ioni Bowcher
1024Izzy Y RutaUnited Kingdom2025-10-02Rangoni Of Florence NEW86Ioni Bowcher
1025Clifford K BowleyUnited Kingdom2025-09-24Rousseaux, Michael Esq NEGOTIATION79Stephen Shaw
1026Cody J MorascaAustralia2025-10-04Rangoni Of Florence QUALIFIED92Xuxue Feng
1027Francesco L VocelkaCanada2025-09-23Chemel, James L Cpa NEW15Anna Fali
1028Julie K InouyeItaly2025-09-26King, Christopher A Esq PROPOSAL87Elwin Sharvill
1029Maisha M ButtIndia2025-10-06Feltz Printing Service QUALIFIED33Bernardo Dominic
1030Izzy U BriddickIndia2025-09-25Rangoni Of Florence QUALIFIED93Xuxue Feng
1031Darci T MarrierIndia2025-10-06Feltz Printing Service QUALIFIED90Onyama Limba
1032Mujtaba W StockhamArgentina2025-09-29King, Christopher A Esq PROPOSAL53Ivan Magalhaes
1033Chavez U GauchoItaly2025-09-14Chanay, Jeffrey A Esq QUALIFIED26Ivan Magalhaes
1034Costa A KuskoAustralia2025-10-06Rangoni Of Florence NEW78Asiya Javayant
1035Antonio H AmigonSpain2025-09-10Buckley Miller Wright PROPOSAL51Anna Fali
1036Julie O KuskoBrazil2025-10-04Feltz Printing Service QUALIFIED67Ioni Bowcher
1037Murillo C KolmetzUnited Kingdom2025-09-27Commercial Press UNQUALIFIED93Xuxue Feng
1038Octavia T PaprockiSpain2025-09-22Truhlar And Truhlar Attys UNQUALIFIED85Asiya Javayant
1039Nicolas Z RulapaughUnited Kingdom2025-09-13Feiner Bros NEW6Elwin Sharvill
1040Emily C CampainIndia2025-10-02King, Christopher A Esq NEGOTIATION48Anna Fali
1041Darci D BowleySpain2025-10-06Benton, John B Jr QUALIFIED63Ivan Magalhaes
1042Arvin E RoysterJapan2025-09-20Chemel, James L Cpa PROPOSAL57Xuxue Feng
1043Alejandro Y GillianGermany2025-09-21Commercial Press UNQUALIFIED41Ivan Magalhaes
1044Salvatore R WaycottJapan2025-09-20Rousseaux, Michael Esq NEGOTIATION0Stephen Shaw
1045Cody M FigeroaArgentina2025-09-11Printing Dimensions PROPOSAL95Ioni Bowcher
1046Alejandro U DoeItaly2025-09-29Dorl, James J Esq QUALIFIED15Asiya Javayant
1047Alejandro I GillianGermany2025-10-04Benton, John B Jr QUALIFIED71Asiya Javayant
1048Johnson B RoysterAustralia2025-09-21Benton, John B Jr QUALIFIED15Anna Fali
1049Ashley W PaprockiSpain2025-09-15King, Christopher A Esq PROPOSAL0Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leon G KolmetzArgentinaOnyama Limba QUALIFIED
Mujtaba E BriddickAustraliaIvan Magalhaes NEW
Jefferson N WhobreyIndiaStephen Shaw NEW
Octavia F KolmetzAustraliaBernardo Dominic RENEWAL
Julie M SlusarskiJapanAmy Elsner RENEWAL
Jones L RoysterRussiaIvan Magalhaes QUALIFIED
Ashley I StockhamIndiaAmy Elsner QUALIFIED
Leon W AmigonUnited KingdomIoni Bowcher NEW
Francesco H SaylorsUnited KingdomOnyama Limba QUALIFIED
Leon W KuskoArgentinaXuxue Feng QUALIFIED
James U SlusarskiSpainStephen Shaw UNQUALIFIED
Munro J WhobreyRussiaAsiya Javayant QUALIFIED
Antonio E SchemmerFranceBernardo Dominic NEW
Mayumi I GlickGermanyBernardo Dominic RENEWAL
Aika L BologniaArgentinaStephen Shaw RENEWAL
Maria W DoeBrazilAnna Fali UNQUALIFIED
Mujtaba M SaylorsRussiaOnyama Limba UNQUALIFIED
Wickens W PoquetteItalyBernardo Dominic PROPOSAL
Aditya O GlickItalyElwin Sharvill PROPOSAL
Salvatore W PaprockiFranceOnyama Limba RENEWAL
Jeanfrancois B CaudyFranceElwin Sharvill NEW
Francesco Q RimGermanyOnyama Limba RENEWAL
Aditya O VenereFranceIvan Magalhaes NEW
Salvatore Z FollerFranceOnyama Limba RENEWAL
Jeanfrancois P ChuiArgentinaAmy Elsner NEW
Jennifer U IturbideSpainIoni Bowcher PROPOSAL
Julie V PoquetteAustraliaStephen Shaw UNQUALIFIED
Ashley H FollerFranceStephen Shaw QUALIFIED
Mujtaba C ShinkoUnited KingdomAmy Elsner RENEWAL
Sinclair V AmigonFranceStephen Shaw UNQUALIFIED
Deepesh E RutaSpainElwin Sharvill RENEWAL
Izzy N RoysterCanadaStephen Shaw PROPOSAL
Jennifer V RulapaughCanadaBernardo Dominic NEGOTIATION
Octavia S FlosiBrazilStephen Shaw QUALIFIED
Morrow F AmigonGermanyStephen Shaw RENEWAL
David W TollnerJapanStephen Shaw NEW
Julie U AmigonArgentinaStephen Shaw PROPOSAL
Mayumi O BowleyFranceAnna Fali NEW
Leon L FollerSpainIoni Bowcher NEGOTIATION
Murillo P PoquetteSpainBernardo Dominic UNQUALIFIED
Morrow H RimIndiaAmy Elsner NEGOTIATION
Misaki S MacleadItalyIoni Bowcher RENEWAL
Jeanfrancois O DoeUnited KingdomXuxue Feng UNQUALIFIED
Nicolas C DoeFranceBernardo Dominic RENEWAL
Cody L AmigonItalyAsiya Javayant RENEWAL
Salvatore L SchemmerCanadaAnna Fali RENEWAL
Leja I GauchoArgentinaStephen Shaw UNQUALIFIED
Darci H RutaRussiaStephen Shaw NEW
Jones R GillianCanadaBernardo Dominic RENEWAL
Claire W WieserUnited KingdomBernardo Dominic RENEWAL
Frozen Columns
Name
Clifford X Stockham
Ivar F Iturbide
Silvio G Rim
Francesco Q Stenseth
Greenwood O Figeroa
James L Shinko
Mayumi H Sergi
Jeanfrancois C Kusko
Johnson M Bowley
Munro L Tollner
Aditya J Caudy
Salvatore S Rulapaugh
Morrow T Kolmetz
Clifford M Maclead
Aruna N Kolmetz
Munro H Dilliard
Nicolas I Chui
Aruna S Caldarera
Wickens Z Whobrey
Kadeem I Kolmetz
Rodrigues V Paprocki
Faith P Oldroyd
Mujtaba K Schemmer
Murillo E Kusko
Faith F Bolognia
Rodrigues B Iturbide
Munro E Caudy
Johnson U Iturbide
Faith Y Nicka
Cody T Darakjy
Maria M Gaucho
Maria G Rim
Darci Q Waycott
Silvio T Rulapaugh
Smith T Butt
Juan Z Caldarera
Murillo G Malet
Tony Y Tollner
Greenwood M Poquette
Nicolas X Oldroyd
Murillo N Bowley
Maisha P Nicka
Leja L Nestle
Salvatore B Gillian
Arvin R Doe
Tony U Shinko
Leja P Gillian
Ivar C Paprocki
James U Wieser
David D Caudy
IdCountryDate
1000Brazil2025-09-19
1001United Kingdom2025-09-13
1002Canada2025-09-16
1003Canada2025-09-24
1004Italy2025-09-17
1005France2025-09-18
1006Spain2025-09-28
1007Japan2025-10-05
1008France2025-09-26
1009Japan2025-09-19
1010France2025-09-19
1011India2025-10-06
1012Brazil2025-10-01
1013India2025-09-14
1014Italy2025-09-19
1015Russia2025-10-05
1016Japan2025-09-09
1017Argentina2025-10-02
1018India2025-09-14
1019Brazil2025-09-25
1020Canada2025-10-01
1021Canada2025-09-23
1022Germany2025-09-16
1023Germany2025-09-24
1024Italy2025-09-09
1025India2025-09-08
1026United Kingdom2025-09-30
1027Argentina2025-09-18
1028Japan2025-09-27
1029France2025-09-18
1030Russia2025-10-02
1031Japan2025-09-18
1032Japan2025-09-17
1033Australia2025-09-18
1034Russia2025-09-24
1035India2025-09-20
1036United Kingdom2025-10-03
1037Canada2025-09-09
1038Russia2025-09-10
1039India2025-09-30
1040Australia2025-09-27
1041Australia2025-09-17
1042India2025-09-18
1043India2025-09-18
1044Germany2025-09-14
1045Italy2025-09-28
1046Japan2025-09-12
1047Spain2025-09-15
1048Spain2025-09-24
1049Spain2025-09-16

On-Demand Data

NameIdCountryDate
Johnson N Vocelka1000Italy2025-09-19
Adams T Rulapaugh1001Canada2025-09-13
Cody O Albares1002Italy2025-09-11
Julie W Tollner1003Brazil2025-09-12
Ricardo A Perin1004Argentina2025-10-02
Izzy F Malet1005Australia2025-10-01
Stacey H Ostrosky1006Australia2025-09-17
Deepesh Y Bowley1007Canada2025-09-25
Leon O Garufi1008United Kingdom2025-09-22
Aditya N Inouye1009Germany2025-09-22
Arvin H Paprocki1010Russia2025-10-03
Antonio X Bolognia1011Italy2025-09-26
Kaitlin X Caldarera1012India2025-09-17
Antonio R Ferencz1013Italy2025-09-08
Sinclair G Rim1014Argentina2025-09-24
Jeanfrancois H Saylors1015Italy2025-09-28
Stacey V Doe1016Italy2025-09-25
David R Dilliard1017Argentina2025-09-24
Costa F Perin1018Australia2025-09-30
Jeanfrancois K Gillian1019France2025-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia Z SlusarskiSpainAmy Elsner QUALIFIED
Leon X FollerCanadaAnna Fali UNQUALIFIED
Jeanfrancois X GarufiArgentinaIvan Magalhaes RENEWAL
Jennifer R CampainIndiaOnyama Limba NEW
Cody S FerenczSpainAmy Elsner RENEWAL
Deepesh V CampainRussiaAmy Elsner PROPOSAL
Salvatore T FigeroaUnited KingdomXuxue Feng QUALIFIED
Jefferson E StockhamBrazilStephen Shaw RENEWAL
Emily D FollerArgentinaAmy Elsner UNQUALIFIED
Leja F InouyeSpainAmy Elsner UNQUALIFIED
Leon Y DarakjySpainAmy Elsner QUALIFIED
Aika H DilliardAustraliaIvan Magalhaes UNQUALIFIED
Kadeem T NestleFranceOnyama Limba NEGOTIATION
Cody O CaldareraGermanyIvan Magalhaes NEGOTIATION
Claire S PaprockiJapanElwin Sharvill PROPOSAL
Aditya C PaprockiRussiaAnna Fali UNQUALIFIED
Misaki K RoysterGermanyAsiya Javayant QUALIFIED
Faith B BriddickCanadaIoni Bowcher QUALIFIED
Aika D PoquetteBrazilIoni Bowcher RENEWAL
Ricardo L DoeJapanStephen Shaw PROPOSAL
Rodrigues X SaylorsIndiaXuxue Feng RENEWAL
Ashley J MacleadCanadaAnna Fali UNQUALIFIED
Mayumi D ButtBrazilXuxue Feng NEW
Isabel E SchemmerUnited KingdomBernardo Dominic NEGOTIATION
Kadeem N CampainBrazilAsiya Javayant RENEWAL
Faith N GlickArgentinaAnna Fali RENEWAL
Octavia X DarakjyCanadaIvan Magalhaes UNQUALIFIED
Rodrigues X RulapaughIndiaAnna Fali UNQUALIFIED
Antonio E MorascaUnited KingdomAnna Fali NEW
Jeanfrancois H FerenczIndiaXuxue Feng NEW
Jeanfrancois S StensethGermanyIvan Magalhaes PROPOSAL
Emily V OstroskyCanadaAsiya Javayant NEW
Chavez Z BriddickItalyStephen Shaw RENEWAL
Arvin E StensethGermanyIoni Bowcher UNQUALIFIED
Juan P SlusarskiSpainBernardo Dominic QUALIFIED
Salvatore D StensethSpainIoni Bowcher NEGOTIATION
Ivar F IturbideItalyAsiya Javayant NEGOTIATION
David O BologniaUnited KingdomAnna Fali QUALIFIED
Aditya O NestleAustraliaIoni Bowcher NEGOTIATION
Julie O PaprockiAustraliaBernardo Dominic 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>