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
Alejandro O KolmetzRussiaAmy Elsner QUALIFIED
Kadeem C MacleadSpainStephen Shaw NEGOTIATION
Juan U OstroskyIndiaAnna Fali NEGOTIATION
Maria Q SergiUnited KingdomElwin Sharvill PROPOSAL
Emily F StensethAustraliaOnyama Limba NEGOTIATION
Aditya T CampainArgentinaStephen Shaw NEGOTIATION
Greenwood J FigeroaUnited KingdomAnna Fali NEGOTIATION
Ivar P MacleadItalyOnyama Limba NEW
James U MorascaBrazilIoni Bowcher RENEWAL
Stacey G GillianFranceElwin Sharvill RENEWAL
Aika K FlosiFranceIoni Bowcher RENEWAL
Clifford Y KolmetzUnited KingdomBernardo Dominic PROPOSAL
Claire R MarrierRussiaAmy Elsner QUALIFIED
Jeanfrancois B OstroskyCanadaAmy Elsner RENEWAL
Emily G DilliardRussiaAsiya Javayant PROPOSAL
Leon R GarufiFranceOnyama Limba RENEWAL
Salvatore H InouyeSpainIoni Bowcher QUALIFIED
Juan B SlusarskiItalyElwin Sharvill NEGOTIATION
Cody F StensethSpainAnna Fali UNQUALIFIED
Kadeem F TollnerJapanElwin Sharvill UNQUALIFIED
Greenwood G MaletArgentinaIvan Magalhaes QUALIFIED
Misaki O MaletItalyBernardo Dominic PROPOSAL
Aika X KolmetzRussiaElwin Sharvill PROPOSAL
James G SergiRussiaAmy Elsner NEW
Ashley U MarrierFranceIvan Magalhaes NEW
Faith S GarufiUnited KingdomAmy Elsner NEW
Izzy H FollerGermanyElwin Sharvill UNQUALIFIED
Kadeem V VocelkaSpainIvan Magalhaes UNQUALIFIED
Aika L BologniaJapanAmy Elsner UNQUALIFIED
Jennifer D AmigonAustraliaAmy Elsner QUALIFIED
Julie F FollerCanadaAsiya Javayant RENEWAL
Stacey Z VenereArgentinaAsiya Javayant RENEWAL
Sinclair I NickaSpainAnna Fali UNQUALIFIED
Leon Q WaycottItalyAmy Elsner NEW
Julie F ChuiGermanyXuxue Feng RENEWAL
Jeanfrancois A DoeGermanyOnyama Limba PROPOSAL
Mujtaba L PoquetteAustraliaOnyama Limba RENEWAL
Stacey V WieserUnited KingdomIvan Magalhaes NEGOTIATION
Emily L RutaFranceElwin Sharvill RENEWAL
Murillo K TollnerArgentinaStephen Shaw UNQUALIFIED
Jennifer M DilliardAustraliaStephen Shaw PROPOSAL
Clifford T DarakjyRussiaStephen Shaw QUALIFIED
Octavia I WaycottGermanyAsiya Javayant NEW
Leja D NestleItalyAsiya Javayant NEW
Julie U FigeroaFranceAnna Fali NEGOTIATION
Mujtaba Q RutaGermanyStephen Shaw PROPOSAL
Mujtaba J RulapaughSpainIoni Bowcher PROPOSAL
Kaitlin G FerenczIndiaBernardo Dominic NEGOTIATION
Wickens N RutaJapanOnyama Limba UNQUALIFIED
Morrow C KuskoIndiaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aika K GillianSpainBernardo Dominic PROPOSAL
Wickens P MacleadArgentinaXuxue Feng RENEWAL
Alejandro Y RoysterSpainIoni Bowcher UNQUALIFIED
Adams Q OstroskySpainAsiya Javayant NEGOTIATION
Stacey Z AmigonAustraliaElwin Sharvill RENEWAL
Leon A WaycottBrazilAmy Elsner NEGOTIATION
Stacey K FlosiIndiaStephen Shaw RENEWAL
Murillo U ChuiRussiaXuxue Feng NEGOTIATION
Silvio P RoysterCanadaAsiya Javayant QUALIFIED
Misaki S FlosiFranceStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya Z KuskoArgentina2025-08-08Feltz Printing Service NEW3Bernardo Dominic
1001Jones Q MarrierUnited Kingdom2025-08-02King, Christopher A Esq NEW55Asiya Javayant
1002Leja W BologniaCanada2025-08-11Commercial Press RENEWAL4Ioni Bowcher
1003Claire M FollerSpain2025-07-30Truhlar And Truhlar Attys RENEWAL0Xuxue Feng
1004Francesco M SergiRussia2025-07-24Dorl, James J Esq QUALIFIED33Amy Elsner
1005Jefferson B CaudyFrance2025-08-01King, Christopher A Esq RENEWAL56Asiya Javayant
1006Octavia B GlickItaly2025-07-16Feltz Printing Service QUALIFIED32Ioni Bowcher
1007David N RimSpain2025-07-18Feltz Printing Service NEW54Anna Fali
1008Arvin N SlusarskiJapan2025-07-15Chemel, James L Cpa NEGOTIATION89Asiya Javayant
1009Cody O InouyeBrazil2025-07-22Morlong Associates RENEWAL94Stephen Shaw
1010Murillo H DarakjyFrance2025-07-21Buckley Miller Wright RENEWAL85Stephen Shaw
1011Greenwood L ShinkoUnited Kingdom2025-08-12Morlong Associates UNQUALIFIED42Bernardo Dominic
1012Aika F DoeRussia2025-07-31Commercial Press NEGOTIATION69Amy Elsner
1013Leon P BriddickSpain2025-08-06Chapman, Ross E Esq UNQUALIFIED23Stephen Shaw
1014Faith P GauchoIndia2025-07-27Rangoni Of Florence NEW97Xuxue Feng
1015Munro W GillianUnited Kingdom2025-08-10Chanay, Jeffrey A Esq NEW80Ioni Bowcher
1016Faith J VocelkaSpain2025-07-22Feiner Bros UNQUALIFIED56Stephen Shaw
1017Sinclair O GillianSpain2025-07-18Rousseaux, Michael Esq UNQUALIFIED29Anna Fali
1018Julie V GillianIndia2025-07-27Chemel, James L Cpa NEW0Amy Elsner
1019Tony V SergiSpain2025-08-08Benton, John B Jr RENEWAL34Onyama Limba
1020David A TollnerRussia2025-08-10Commercial Press NEW32Onyama Limba
1021Chavez B SaylorsRussia2025-07-19Chanay, Jeffrey A Esq NEGOTIATION49Stephen Shaw
1022Kaitlin C PerinGermany2025-07-15Benton, John B Jr UNQUALIFIED11Bernardo Dominic
1023Salvatore S CaudyJapan2025-07-24Rousseaux, Michael Esq NEGOTIATION97Bernardo Dominic
1024Antonio E RulapaughCanada2025-07-29Chemel, James L Cpa UNQUALIFIED3Elwin Sharvill
1025Salvatore E PaprockiUnited Kingdom2025-07-30Rousseaux, Michael Esq UNQUALIFIED99Anna Fali
1026Antonio F OstroskyRussia2025-07-15King, Christopher A Esq QUALIFIED87Asiya Javayant
1027Morrow L OstroskySpain2025-07-26Rousseaux, Michael Esq QUALIFIED50Elwin Sharvill
1028Murillo T IturbideRussia2025-07-27Rangoni Of Florence NEW19Onyama Limba
1029Juan M WaycottUnited Kingdom2025-08-09Chapman, Ross E Esq NEGOTIATION64Ioni Bowcher
1030Wickens U InouyeArgentina2025-07-20Chanay, Jeffrey A Esq RENEWAL28Xuxue Feng
1031Octavia V BriddickBrazil2025-07-22Chapman, Ross E Esq PROPOSAL74Anna Fali
1032Mujtaba C OstroskyItaly2025-08-07Chanay, Jeffrey A Esq NEGOTIATION78Ioni Bowcher
1033Mayumi L DoeArgentina2025-07-15King, Christopher A Esq PROPOSAL40Xuxue Feng
1034Izzy Z AlbaresSpain2025-07-16Dorl, James J Esq NEW71Anna Fali
1035Faith I GillianUnited Kingdom2025-07-27Buckley Miller Wright RENEWAL89Stephen Shaw
1036Rodrigues A DilliardArgentina2025-08-01Commercial Press NEW43Amy Elsner
1037Salvatore X StensethBrazil2025-07-28Commercial Press RENEWAL63Anna Fali
1038Adams U MacleadItaly2025-08-08Chemel, James L Cpa UNQUALIFIED93Xuxue Feng
1039Francesco T PoquetteFrance2025-07-17Chanay, Jeffrey A Esq QUALIFIED78Elwin Sharvill
1040Salvatore Z GlickIndia2025-08-11Rousseaux, Michael Esq PROPOSAL38Onyama Limba
1041Adams O TollnerIndia2025-07-29Feiner Bros UNQUALIFIED32Asiya Javayant
1042Smith F GarufiFrance2025-08-01Chanay, Jeffrey A Esq NEGOTIATION65Onyama Limba
1043Izzy J CaldareraItaly2025-07-30Printing Dimensions QUALIFIED57Bernardo Dominic
1044Aditya X MarrierArgentina2025-07-28Printing Dimensions NEW57Anna Fali
1045Munro L MorascaItaly2025-08-12Dorl, James J Esq NEW78Ioni Bowcher
1046Deepesh H CampainGermany2025-07-22Buckley Miller Wright NEGOTIATION70Stephen Shaw
1047James K RutaJapan2025-08-04Truhlar And Truhlar Attys UNQUALIFIED38Anna Fali
1048Arvin G DilliardCanada2025-08-01Chemel, James L Cpa RENEWAL88Anna Fali
1049Nicolas F NickaAustralia2025-07-15Feltz Printing Service PROPOSAL91Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Costa P InouyeIndiaIoni Bowcher QUALIFIED
Kaitlin U MacleadFranceOnyama Limba QUALIFIED
Julie K OldroydCanadaBernardo Dominic QUALIFIED
Leja Q WieserGermanyIvan Magalhaes NEW
Antonio D IturbideArgentinaAnna Fali PROPOSAL
Alejandro A SergiIndiaBernardo Dominic NEGOTIATION
Cody U CampainUnited KingdomStephen Shaw NEGOTIATION
Mayumi P DilliardItalyAmy Elsner PROPOSAL
David U FollerAustraliaOnyama Limba NEGOTIATION
Clifford S OstroskyAustraliaAnna Fali QUALIFIED
David Y AmigonItalyAsiya Javayant UNQUALIFIED
Adams M WieserJapanIvan Magalhaes UNQUALIFIED
Alejandro U RimSpainBernardo Dominic PROPOSAL
Deepesh N GauchoJapanXuxue Feng NEW
Misaki O IturbideAustraliaStephen Shaw RENEWAL
Kadeem P DoeUnited KingdomElwin Sharvill UNQUALIFIED
Johnson R BowleyIndiaAnna Fali NEGOTIATION
Costa D VocelkaUnited KingdomElwin Sharvill RENEWAL
Ivar D OstroskyUnited KingdomOnyama Limba QUALIFIED
Jennifer L CampainFranceAsiya Javayant PROPOSAL
Clifford X GlickJapanIvan Magalhaes PROPOSAL
Maria X SaylorsItalyAsiya Javayant PROPOSAL
Stacey J PerinRussiaAnna Fali RENEWAL
Greenwood K NickaCanadaElwin Sharvill NEGOTIATION
Leon A InouyeBrazilIoni Bowcher NEGOTIATION
Ashley A KuskoItalyIoni Bowcher RENEWAL
Leja K SlusarskiIndiaAmy Elsner NEGOTIATION
Mujtaba C SlusarskiAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois Y BologniaSpainAsiya Javayant PROPOSAL
Salvatore B OldroydItalyOnyama Limba NEW
Adams Q GarufiSpainIoni Bowcher PROPOSAL
Mujtaba C WaycottUnited KingdomStephen Shaw RENEWAL
Cody G SlusarskiAustraliaElwin Sharvill NEW
Silvio K RimAustraliaElwin Sharvill QUALIFIED
Stacey R VocelkaArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois X StockhamJapanAnna Fali NEW
Leja U MaletAustraliaAnna Fali RENEWAL
Tony D ButtItalyIoni Bowcher NEGOTIATION
Tony C StockhamFranceStephen Shaw QUALIFIED
Claire D KolmetzFranceBernardo Dominic RENEWAL
Nicolas J GillianItalyBernardo Dominic NEGOTIATION
Juan N SaylorsAustraliaIvan Magalhaes QUALIFIED
Claire K PerinUnited KingdomStephen Shaw RENEWAL
Darci R MaletIndiaBernardo Dominic PROPOSAL
David X InouyeAustraliaIvan Magalhaes NEW
Emily Z FlosiGermanyStephen Shaw PROPOSAL
Munro K TollnerBrazilStephen Shaw PROPOSAL
Morrow L FlosiCanadaAnna Fali PROPOSAL
Cody T SaylorsBrazilAnna Fali PROPOSAL
Maisha B MarrierArgentinaXuxue Feng PROPOSAL
Frozen Columns
Name
Maria Z Ostrosky
Silvio M Perin
Murillo I Albares
Wickens X Inouye
Mujtaba V Rim
Maria W Shinko
Francesco L Shinko
Leon F Morasca
Wickens N Campain
Maisha S Poquette
Deepesh M Oldroyd
Izzy I Briddick
Kaitlin G Saylors
Deepesh T Iturbide
Francesco D Flosi
Alejandro D Saylors
Clifford Y Marrier
Tony I Saylors
Jones U Malet
Ashley M Ferencz
Leja Y Glick
Jones L Ferencz
Silvio X Saylors
Kadeem Z Ostrosky
Deepesh Z Poquette
Ivar Y Saylors
Emily S Stockham
Sinclair Q Campain
Jennifer Z Foller
Ivar O Chui
Ivar Y Inouye
Adams D Nestle
Wickens C Inouye
Sinclair F Oldroyd
Munro G Waycott
Juan E Amigon
Jeanfrancois D Flosi
Antonio N Stenseth
Salvatore Q Ferencz
Juan X Perin
Julie O Glick
David H Bolognia
Aditya O Stenseth
Deepesh O Waycott
Aditya N Morasca
Johnson J Bowley
Sinclair B Slusarski
Octavia L Royster
Sinclair L Perin
Aditya Y Gillian
IdCountryDate
1000Brazil2025-08-08
1001Argentina2025-07-17
1002Canada2025-07-24
1003Japan2025-07-19
1004Australia2025-07-17
1005Australia2025-07-15
1006Japan2025-07-20
1007Canada2025-07-26
1008Japan2025-07-30
1009India2025-07-23
1010Australia2025-07-23
1011Spain2025-07-24
1012Argentina2025-07-30
1013Japan2025-07-22
1014Germany2025-07-20
1015Germany2025-07-23
1016United Kingdom2025-07-26
1017France2025-08-02
1018Russia2025-08-10
1019Spain2025-08-06
1020Australia2025-08-07
1021India2025-08-06
1022Canada2025-08-02
1023Italy2025-08-11
1024India2025-07-16
1025Japan2025-07-27
1026United Kingdom2025-08-10
1027Germany2025-07-22
1028Spain2025-07-25
1029France2025-08-02
1030Italy2025-07-24
1031Germany2025-07-16
1032Argentina2025-08-13
1033France2025-07-31
1034Japan2025-07-30
1035Spain2025-08-09
1036Italy2025-08-12
1037Argentina2025-07-20
1038Japan2025-08-10
1039Spain2025-07-17
1040Japan2025-07-23
1041Spain2025-07-19
1042United Kingdom2025-07-26
1043Italy2025-08-13
1044Spain2025-07-19
1045Japan2025-07-23
1046Italy2025-07-31
1047Australia2025-07-27
1048Canada2025-08-05
1049Australia2025-08-13

On-Demand Data

NameIdCountryDate
Kadeem K Iturbide1000Spain2025-07-16
Clifford N Inouye1001India2025-07-27
Mujtaba X Iturbide1002France2025-07-25
Jennifer L Bowley1003Brazil2025-07-27
James J Perin1004Brazil2025-07-21
Emily M Morasca1005Italy2025-07-25
Francesco E Ostrosky1006Spain2025-07-16
Murillo Z Maclead1007Brazil2025-07-31
Rodrigues Q Caldarera1008Germany2025-08-01
Francesco D Maclead1009India2025-07-23
Jefferson R Ferencz1010Japan2025-07-24
Alejandro N Inouye1011Australia2025-07-15
Ashley T Saylors1012Argentina2025-07-19
Aditya U Nestle1013India2025-08-11
James C Kolmetz1014Russia2025-07-24
Jennifer A Caudy1015United Kingdom2025-08-04
Arvin T Paprocki1016India2025-08-03
Johnson D Kusko1017India2025-08-12
Morrow Q Oldroyd1018Argentina2025-08-04
Maria I Rulapaugh1019Japan2025-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer N ButtArgentinaAmy Elsner NEGOTIATION
Maisha F PaprockiFranceAsiya Javayant UNQUALIFIED
Ivar A WaycottArgentinaOnyama Limba NEGOTIATION
Juan H KolmetzRussiaXuxue Feng NEGOTIATION
Morrow L WieserSpainAsiya Javayant PROPOSAL
Murillo F GarufiAustraliaElwin Sharvill RENEWAL
Silvio G FlosiRussiaOnyama Limba QUALIFIED
Aditya D NestleGermanyIoni Bowcher PROPOSAL
Jones J AmigonFranceIvan Magalhaes UNQUALIFIED
Jefferson Y InouyeArgentinaAsiya Javayant PROPOSAL
Kadeem Q TollnerArgentinaAnna Fali QUALIFIED
Jeanfrancois Z ChuiIndiaAsiya Javayant NEGOTIATION
Greenwood P RimIndiaBernardo Dominic PROPOSAL
Jones A MarrierCanadaAmy Elsner UNQUALIFIED
David M BowleyIndiaXuxue Feng NEW
Francesco D MarrierCanadaAsiya Javayant NEGOTIATION
Greenwood G WaycottArgentinaAmy Elsner RENEWAL
David Q GillianJapanElwin Sharvill PROPOSAL
Arvin U GlickAustraliaAmy Elsner NEGOTIATION
Isabel C SaylorsAustraliaStephen Shaw NEGOTIATION
Aruna Z DoeUnited KingdomOnyama Limba NEGOTIATION
Sinclair A FigeroaCanadaAnna Fali PROPOSAL
Kaitlin M KuskoIndiaBernardo Dominic QUALIFIED
Chavez M MaletIndiaOnyama Limba QUALIFIED
James M ShinkoItalyAsiya Javayant QUALIFIED
Octavia K NestleUnited KingdomOnyama Limba NEGOTIATION
Claire Z SchemmerFranceIvan Magalhaes NEGOTIATION
Costa P RutaArgentinaBernardo Dominic RENEWAL
Stacey Z BologniaGermanyAsiya Javayant PROPOSAL
Emily T StockhamFranceStephen Shaw PROPOSAL
Octavia D DoeFranceBernardo Dominic NEW
Smith S WhobreyGermanyIvan Magalhaes PROPOSAL
Misaki G ButtIndiaAsiya Javayant QUALIFIED
Francesco T BowleyItalyXuxue Feng QUALIFIED
Cody N SlusarskiRussiaBernardo Dominic QUALIFIED
Julie F CampainBrazilAsiya Javayant NEGOTIATION
David U MarrierRussiaIvan Magalhaes UNQUALIFIED
Izzy W FlosiGermanyIvan Magalhaes NEGOTIATION
Salvatore A DilliardSpainAsiya Javayant RENEWAL
Cody I FerenczSpainIoni Bowcher 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.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>