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
Smith T MorascaUnited KingdomBernardo Dominic QUALIFIED
Emily Z FerenczGermanyXuxue Feng NEW
Leon X NickaJapanStephen Shaw PROPOSAL
Leja Y TollnerFranceAsiya Javayant UNQUALIFIED
Greenwood X GarufiGermanyAsiya Javayant PROPOSAL
Maisha W MarrierAustraliaAsiya Javayant UNQUALIFIED
Ashley J SchemmerGermanyOnyama Limba NEW
Julie G CaudyAustraliaOnyama Limba PROPOSAL
Nicolas W WieserArgentinaAsiya Javayant NEW
Salvatore I FollerFranceElwin Sharvill PROPOSAL
James R FlosiSpainIoni Bowcher UNQUALIFIED
Izzy D RutaCanadaBernardo Dominic PROPOSAL
Antonio V KuskoGermanyOnyama Limba QUALIFIED
Mayumi A DarakjyGermanyOnyama Limba NEW
Misaki A DoeFranceAsiya Javayant NEW
Greenwood V WaycottSpainIvan Magalhaes NEW
Aditya S IturbideAustraliaStephen Shaw PROPOSAL
David E GlickJapanElwin Sharvill PROPOSAL
Emily C KuskoAustraliaAnna Fali UNQUALIFIED
Silvio C DilliardUnited KingdomBernardo Dominic PROPOSAL
Sinclair B PaprockiGermanyIoni Bowcher UNQUALIFIED
Murillo Q KolmetzUnited KingdomAnna Fali UNQUALIFIED
Alejandro M RutaRussiaAsiya Javayant PROPOSAL
Kaitlin L FollerIndiaElwin Sharvill QUALIFIED
Ivar I SaylorsSpainXuxue Feng RENEWAL
David Z DilliardSpainAsiya Javayant RENEWAL
Sinclair H FigeroaBrazilXuxue Feng UNQUALIFIED
Julie A WaycottIndiaStephen Shaw PROPOSAL
Nicolas G RimGermanyElwin Sharvill RENEWAL
James L FlosiGermanyAmy Elsner NEGOTIATION
Claire G SlusarskiIndiaAmy Elsner QUALIFIED
Morrow O SchemmerAustraliaOnyama Limba NEW
Johnson Z VenereFranceBernardo Dominic QUALIFIED
Morrow K FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Mujtaba O DilliardItalyBernardo Dominic NEW
Juan A MorascaItalyXuxue Feng UNQUALIFIED
Aika X OstroskyGermanyStephen Shaw NEGOTIATION
Aditya N OstroskyIndiaElwin Sharvill UNQUALIFIED
Johnson R PerinIndiaAmy Elsner NEW
Jennifer M KuskoItalyAmy Elsner NEW
Morrow C OstroskyRussiaIoni Bowcher RENEWAL
Misaki F SergiJapanAmy Elsner UNQUALIFIED
Tony S DarakjyIndiaIoni Bowcher UNQUALIFIED
Johnson F FerenczItalyAsiya Javayant QUALIFIED
Johnson E MaletJapanAnna Fali QUALIFIED
Chavez J PoquetteUnited KingdomStephen Shaw QUALIFIED
Maisha L SchemmerSpainAsiya Javayant UNQUALIFIED
Clifford Y FollerJapanXuxue Feng NEW
Salvatore R GlickSpainStephen Shaw NEGOTIATION
Juan K RulapaughItalyBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens R NickaCanadaXuxue Feng UNQUALIFIED
Mujtaba Y OldroydJapanElwin Sharvill NEGOTIATION
Aika A DilliardFranceAmy Elsner NEW
Aditya N GarufiArgentinaAnna Fali UNQUALIFIED
David L FigeroaBrazilStephen Shaw RENEWAL
Francesco U WhobreyAustraliaIvan Magalhaes QUALIFIED
Arvin R MacleadUnited KingdomAsiya Javayant QUALIFIED
Izzy V MaletFranceAnna Fali RENEWAL
Deepesh Q VocelkaCanadaXuxue Feng PROPOSAL
Mayumi J DilliardGermanyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody O BologniaCanada2025-07-19Rousseaux, Michael Esq RENEWAL91Stephen Shaw
1001Chavez Z InouyeArgentina2025-07-11Chemel, James L Cpa QUALIFIED17Amy Elsner
1002Ricardo T GarufiItaly2025-07-30Chapman, Ross E Esq NEW50Asiya Javayant
1003Ricardo R GlickItaly2025-07-13Morlong Associates PROPOSAL95Amy Elsner
1004Tony B RoysterUnited Kingdom2025-07-10Chanay, Jeffrey A Esq NEGOTIATION92Amy Elsner
1005Maisha V ChuiJapan2025-07-08Chemel, James L Cpa UNQUALIFIED65Anna Fali
1006Jefferson U PoquetteAustralia2025-07-07Commercial Press UNQUALIFIED28Anna Fali
1007Costa T FigeroaIndia2025-07-10Benton, John B Jr PROPOSAL43Anna Fali
1008Aditya B RoysterGermany2025-07-21Dorl, James J Esq NEGOTIATION67Ivan Magalhaes
1009Salvatore Z VocelkaRussia2025-08-01Benton, John B Jr PROPOSAL45Amy Elsner
1010Mayumi N StensethArgentina2025-07-08Buckley Miller Wright QUALIFIED29Xuxue Feng
1011Leon A DarakjyArgentina2025-07-27Truhlar And Truhlar Attys QUALIFIED59Bernardo Dominic
1012Maisha Q CaldareraRussia2025-07-23Truhlar And Truhlar Attys RENEWAL40Amy Elsner
1013James X CampainArgentina2025-08-01Feiner Bros RENEWAL13Ivan Magalhaes
1014Jefferson C TollnerAustralia2025-07-26Benton, John B Jr NEW70Amy Elsner
1015Silvio O AlbaresCanada2025-07-10Feltz Printing Service RENEWAL30Anna Fali
1016Aditya R CaudyJapan2025-07-18Benton, John B Jr PROPOSAL18Ivan Magalhaes
1017Chavez H GarufiJapan2025-07-14Rousseaux, Michael Esq NEW88Ivan Magalhaes
1018Aruna P MaletIndia2025-07-06Rangoni Of Florence PROPOSAL76Bernardo Dominic
1019Leon B GlickJapan2025-07-15Morlong Associates PROPOSAL92Stephen Shaw
1020Jefferson N ShinkoUnited Kingdom2025-07-23Truhlar And Truhlar Attys RENEWAL4Elwin Sharvill
1021Smith V GillianJapan2025-07-29Rangoni Of Florence UNQUALIFIED25Onyama Limba
1022Aditya R StensethCanada2025-07-22Buckley Miller Wright NEW33Ioni Bowcher
1023Nicolas J VenereFrance2025-07-18Rousseaux, Michael Esq NEW60Asiya Javayant
1024Juan W ButtJapan2025-07-18Chemel, James L Cpa QUALIFIED61Xuxue Feng
1025Deepesh C MorascaIndia2025-07-10Buckley Miller Wright NEGOTIATION24Amy Elsner
1026Emily S RutaItaly2025-07-08Rousseaux, Michael Esq NEGOTIATION39Ivan Magalhaes
1027Nicolas V SergiUnited Kingdom2025-07-12Printing Dimensions NEGOTIATION80Elwin Sharvill
1028Aruna V AlbaresAustralia2025-07-12King, Christopher A Esq PROPOSAL29Ioni Bowcher
1029Tony E WaycottRussia2025-07-15Chanay, Jeffrey A Esq QUALIFIED43Elwin Sharvill
1030Antonio E BowleyIndia2025-07-17Morlong Associates UNQUALIFIED18Ioni Bowcher
1031Misaki V ShinkoItaly2025-07-31Chanay, Jeffrey A Esq QUALIFIED54Amy Elsner
1032Leja C WhobreyJapan2025-07-19Dorl, James J Esq UNQUALIFIED41Anna Fali
1033Francesco M TollnerGermany2025-07-27Chapman, Ross E Esq RENEWAL91Onyama Limba
1034Greenwood K FigeroaAustralia2025-07-11Buckley Miller Wright QUALIFIED54Ivan Magalhaes
1035Wickens I GarufiArgentina2025-08-04Dorl, James J Esq QUALIFIED41Ioni Bowcher
1036Rodrigues E MaletIndia2025-07-23Morlong Associates UNQUALIFIED87Asiya Javayant
1037Stacey V VenereItaly2025-07-20King, Christopher A Esq NEGOTIATION7Elwin Sharvill
1038Misaki D GlickFrance2025-08-04Feltz Printing Service NEGOTIATION76Onyama Limba
1039Aditya Q IturbideFrance2025-07-13Truhlar And Truhlar Attys UNQUALIFIED93Bernardo Dominic
1040Misaki E DarakjyJapan2025-07-19Truhlar And Truhlar Attys PROPOSAL16Asiya Javayant
1041Darci B RimJapan2025-07-22Feltz Printing Service QUALIFIED45Onyama Limba
1042Leon X SlusarskiBrazil2025-07-26Printing Dimensions NEGOTIATION25Onyama Limba
1043Juan A CaldareraCanada2025-07-07Feiner Bros QUALIFIED70Amy Elsner
1044Juan T SlusarskiSpain2025-07-28King, Christopher A Esq UNQUALIFIED32Ivan Magalhaes
1045Isabel Z GillianCanada2025-07-19King, Christopher A Esq NEGOTIATION35Anna Fali
1046Nicolas H MaletItaly2025-07-27Feiner Bros QUALIFIED38Asiya Javayant
1047Leon G NickaFrance2025-08-03Benton, John B Jr QUALIFIED41Bernardo Dominic
1048Claire D NickaFrance2025-07-21King, Christopher A Esq NEW77Anna Fali
1049Morrow H BowleyCanada2025-08-04Feiner Bros NEGOTIATION97Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro Z NickaAustraliaStephen Shaw NEGOTIATION
Costa R StensethUnited KingdomAsiya Javayant NEGOTIATION
Wickens J SaylorsIndiaElwin Sharvill PROPOSAL
Johnson W FigeroaItalyElwin Sharvill RENEWAL
Munro I NickaBrazilAsiya Javayant RENEWAL
Jeanfrancois L RimGermanyOnyama Limba RENEWAL
Faith S FigeroaGermanyAsiya Javayant NEGOTIATION
Aditya Z IturbideRussiaStephen Shaw QUALIFIED
Maisha G PerinFranceIvan Magalhaes QUALIFIED
Munro J BowleyUnited KingdomStephen Shaw RENEWAL
Adams D AlbaresArgentinaOnyama Limba RENEWAL
Greenwood K AmigonUnited KingdomXuxue Feng UNQUALIFIED
Jefferson P CaudyJapanElwin Sharvill NEGOTIATION
Arvin S IturbideRussiaElwin Sharvill NEGOTIATION
Stacey V DoeFranceAsiya Javayant NEGOTIATION
Tony V NestleSpainBernardo Dominic UNQUALIFIED
Julie M DarakjyBrazilIvan Magalhaes RENEWAL
Misaki Y DoeAustraliaAnna Fali QUALIFIED
Jennifer M BriddickSpainAsiya Javayant PROPOSAL
Octavia V IturbideUnited KingdomIvan Magalhaes UNQUALIFIED
Maria W WhobreyItalyXuxue Feng NEW
Smith V WhobreyUnited KingdomIoni Bowcher QUALIFIED
Leja F GarufiAustraliaIvan Magalhaes PROPOSAL
Julie W WaycottJapanIvan Magalhaes RENEWAL
Jefferson P TollnerFranceOnyama Limba UNQUALIFIED
Smith M MarrierIndiaElwin Sharvill UNQUALIFIED
Jennifer M BowleyItalyAnna Fali NEW
Octavia F CampainBrazilAsiya Javayant RENEWAL
Emily M BriddickCanadaAnna Fali NEGOTIATION
Darci C MaletAustraliaAmy Elsner UNQUALIFIED
Maria Z MacleadJapanAmy Elsner NEW
Mujtaba Q StensethItalyBernardo Dominic PROPOSAL
Stacey S ShinkoBrazilXuxue Feng PROPOSAL
Alejandro N RulapaughFranceXuxue Feng NEW
Johnson K RoysterRussiaAmy Elsner QUALIFIED
Jefferson I MacleadAustraliaBernardo Dominic NEGOTIATION
Emily C PaprockiRussiaOnyama Limba UNQUALIFIED
Isabel D KolmetzUnited KingdomAnna Fali UNQUALIFIED
Jennifer D CaldareraUnited KingdomStephen Shaw RENEWAL
Costa G MarrierCanadaAnna Fali PROPOSAL
Mujtaba Y MarrierArgentinaAnna Fali UNQUALIFIED
Aditya M InouyeFranceAsiya Javayant RENEWAL
Stacey V PaprockiRussiaIvan Magalhaes NEW
Greenwood R OstroskyAustraliaOnyama Limba UNQUALIFIED
Nicolas T DoeSpainIoni Bowcher PROPOSAL
Leja W MorascaAustraliaAmy Elsner QUALIFIED
Darci I RimArgentinaAsiya Javayant NEW
Salvatore H KolmetzFranceIoni Bowcher UNQUALIFIED
Munro E DoeCanadaAnna Fali RENEWAL
Munro E MacleadCanadaIoni Bowcher QUALIFIED
Frozen Columns
Name
Jeanfrancois R Nicka
Emily D Waycott
Aruna W Wieser
Darci S Malet
Aditya J Rulapaugh
Ricardo Y Darakjy
Francesco O Ostrosky
Kaitlin R Albares
Deepesh C Darakjy
Darci V Bowley
Aruna O Caudy
Francesco A Waycott
Arvin N Darakjy
Antonio G Flosi
Mujtaba S Dilliard
Costa A Marrier
Morrow C Ruta
Clifford S Marrier
Misaki J Malet
Arvin G Garufi
Deepesh Q Doe
Murillo N Stenseth
Mujtaba Q Ferencz
Faith P Slusarski
James C Wieser
Octavia U Gillian
Sinclair B Ostrosky
Ivar W Maclead
Salvatore I Kolmetz
Ashley F Nicka
Murillo S Poquette
Francesco Y Iturbide
Smith N Doe
Ivar B Gillian
Johnson W Ostrosky
Alejandro W Bowley
Jones I Briddick
Rodrigues X Venere
Jeanfrancois S Stockham
Jennifer O Bowley
Juan E Venere
Murillo Z Darakjy
Leon O Vocelka
Maisha I Paprocki
Ivar E Foller
Munro K Venere
Morrow J Tollner
Faith S Malet
Clifford Z Marrier
Stacey M Chui
IdCountryDate
1000Russia2025-07-15
1001Japan2025-07-19
1002Australia2025-07-09
1003Japan2025-07-21
1004Spain2025-08-01
1005Argentina2025-08-04
1006Argentina2025-07-17
1007Japan2025-07-29
1008Canada2025-07-26
1009Australia2025-07-31
1010Australia2025-07-13
1011Italy2025-07-16
1012Canada2025-08-03
1013Australia2025-07-31
1014Germany2025-07-11
1015Spain2025-07-08
1016Brazil2025-07-08
1017Italy2025-07-10
1018Spain2025-08-04
1019United Kingdom2025-07-18
1020Germany2025-07-10
1021Russia2025-07-21
1022Spain2025-07-18
1023Russia2025-07-21
1024India2025-07-24
1025Russia2025-08-04
1026Canada2025-07-25
1027Germany2025-07-31
1028Brazil2025-07-12
1029France2025-08-04
1030Spain2025-07-11
1031France2025-07-15
1032Spain2025-07-11
1033Brazil2025-07-30
1034Japan2025-07-20
1035Russia2025-08-01
1036Russia2025-07-24
1037Spain2025-07-06
1038India2025-07-11
1039Canada2025-07-19
1040United Kingdom2025-07-07
1041Russia2025-07-21
1042Australia2025-07-19
1043Russia2025-08-01
1044Germany2025-07-12
1045India2025-07-15
1046Argentina2025-07-23
1047Canada2025-07-26
1048Argentina2025-07-26
1049Spain2025-07-26

On-Demand Data

NameIdCountryDate
Johnson T Slusarski1000Germany2025-08-03
Misaki T Foller1001Argentina2025-07-19
Aditya I Slusarski1002Germany2025-07-19
James Z Albares1003Spain2025-07-06
Clifford J Sergi1004Spain2025-08-01
Ricardo Y Whobrey1005Argentina2025-07-18
Stacey Q Caldarera1006Australia2025-07-23
Ashley R Chui1007United Kingdom2025-07-22
Kaitlin N Royster1008Brazil2025-07-30
Emily R Nicka1009Japan2025-07-26
Ashley R Darakjy1010United Kingdom2025-07-16
Octavia S Morasca1011Russia2025-07-21
Adams I Stenseth1012United Kingdom2025-07-15
Nicolas X Nicka1013Argentina2025-07-18
Mujtaba G Perin1014United Kingdom2025-07-27
Ashley D Albares1015India2025-07-22
James K Glick1016Japan2025-08-01
Faith L Malet1017France2025-07-12
Leon R Shinko1018United Kingdom2025-07-07
Johnson B Tollner1019Australia2025-07-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David L CampainSpainElwin Sharvill UNQUALIFIED
Leon J NestleCanadaAmy Elsner QUALIFIED
Arvin S FollerJapanBernardo Dominic UNQUALIFIED
Julie P SlusarskiRussiaStephen Shaw UNQUALIFIED
Octavia W AmigonFranceAsiya Javayant RENEWAL
Murillo R RoysterUnited KingdomStephen Shaw QUALIFIED
Antonio M BriddickBrazilElwin Sharvill NEGOTIATION
Murillo G DilliardItalyXuxue Feng NEGOTIATION
Rodrigues E MorascaGermanyXuxue Feng UNQUALIFIED
James S ButtArgentinaBernardo Dominic RENEWAL
Jennifer E WhobreyAustraliaAnna Fali NEW
Clifford V GauchoItalyAsiya Javayant PROPOSAL
Adams C FollerAustraliaStephen Shaw NEGOTIATION
Sinclair E CaldareraAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois Q SergiSpainAmy Elsner NEGOTIATION
Misaki O PerinJapanAsiya Javayant UNQUALIFIED
Leja R ButtSpainBernardo Dominic NEGOTIATION
Aditya C GillianCanadaIvan Magalhaes QUALIFIED
Izzy K RulapaughAustraliaIoni Bowcher QUALIFIED
Aditya P ShinkoIndiaAmy Elsner UNQUALIFIED
Arvin G TollnerBrazilAsiya Javayant NEW
David X ButtAustraliaBernardo Dominic PROPOSAL
Cody Q NestleFranceXuxue Feng UNQUALIFIED
Clifford Q WaycottBrazilStephen Shaw NEGOTIATION
Murillo M FerenczSpainXuxue Feng QUALIFIED
Jones C MorascaFranceXuxue Feng NEW
Darci H RoysterJapanIoni Bowcher NEW
Darci A FerenczAustraliaElwin Sharvill PROPOSAL
Maisha Q ChuiRussiaAsiya Javayant PROPOSAL
Jefferson F ButtRussiaAsiya Javayant RENEWAL
Octavia C GarufiIndiaAsiya Javayant NEGOTIATION
Julie H FlosiFranceXuxue Feng PROPOSAL
Aruna N ButtSpainAnna Fali UNQUALIFIED
Leon X GarufiBrazilOnyama Limba NEW
Leon C OstroskyItalyElwin Sharvill NEGOTIATION
Emily J FerenczItalyElwin Sharvill UNQUALIFIED
Maisha P MarrierItalyAnna Fali NEW
Jennifer K GauchoUnited KingdomStephen Shaw PROPOSAL
Leja K WaycottAustraliaAmy Elsner QUALIFIED
Ricardo X StensethIndiaOnyama Limba PROPOSAL

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