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
Mayumi B GillianCanadaBernardo Dominic NEGOTIATION
Johnson Q FlosiIndiaAnna Fali PROPOSAL
Jefferson U MarrierRussiaAmy Elsner RENEWAL
Smith W GauchoIndiaStephen Shaw NEGOTIATION
Aruna S RulapaughFranceIoni Bowcher NEW
Francesco B KolmetzGermanyAmy Elsner RENEWAL
Kadeem A SergiAustraliaBernardo Dominic NEGOTIATION
Morrow Y ButtCanadaAmy Elsner RENEWAL
Aika D FerenczCanadaStephen Shaw QUALIFIED
Aditya L SlusarskiIndiaAnna Fali PROPOSAL
Maisha C NestleCanadaElwin Sharvill RENEWAL
Claire E StockhamItalyElwin Sharvill RENEWAL
Clifford H PaprockiSpainAnna Fali RENEWAL
Cody M RulapaughJapanElwin Sharvill RENEWAL
Tony K BologniaCanadaStephen Shaw QUALIFIED
Izzy F SchemmerUnited KingdomAsiya Javayant NEW
Darci O RimUnited KingdomStephen Shaw NEW
Jennifer C OldroydGermanyIoni Bowcher NEGOTIATION
Ashley D PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Darci C ChuiAustraliaOnyama Limba PROPOSAL
Kaitlin K GlickRussiaIvan Magalhaes NEW
Ivar Y VenereIndiaAsiya Javayant QUALIFIED
Mujtaba C OldroydAustraliaStephen Shaw NEW
Nicolas A MacleadGermanyIoni Bowcher RENEWAL
Leon J RulapaughSpainElwin Sharvill NEGOTIATION
Jeanfrancois L WhobreySpainXuxue Feng RENEWAL
Leja U GauchoJapanStephen Shaw PROPOSAL
Silvio J FigeroaIndiaAmy Elsner NEW
Emily R BowleyCanadaElwin Sharvill PROPOSAL
Ivar W KuskoAustraliaAnna Fali NEGOTIATION
Darci F MacleadArgentinaXuxue Feng UNQUALIFIED
Emily V KuskoJapanAnna Fali NEW
James A SaylorsItalyIoni Bowcher RENEWAL
James E RutaItalyStephen Shaw QUALIFIED
Mayumi V ChuiFranceXuxue Feng UNQUALIFIED
David H CampainUnited KingdomXuxue Feng NEW
Leon D PerinAustraliaBernardo Dominic PROPOSAL
Misaki J FigeroaJapanBernardo Dominic NEW
Leja V SchemmerAustraliaIvan Magalhaes NEGOTIATION
Wickens N CampainGermanyBernardo Dominic UNQUALIFIED
Tony Q FigeroaIndiaBernardo Dominic RENEWAL
Wickens X PerinBrazilElwin Sharvill NEGOTIATION
Wickens Z MorascaItalyIvan Magalhaes RENEWAL
Costa Q RimGermanyBernardo Dominic PROPOSAL
Aruna Y IturbideCanadaAnna Fali PROPOSAL
Arvin J RoysterArgentinaElwin Sharvill NEW
Salvatore L DoeAustraliaBernardo Dominic UNQUALIFIED
Faith X PerinCanadaStephen Shaw RENEWAL
Ivar C SaylorsGermanyAnna Fali UNQUALIFIED
Ivar A MorascaFranceAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Antonio V BriddickArgentinaOnyama Limba UNQUALIFIED
Juan A MacleadAustraliaAnna Fali NEGOTIATION
Deepesh S PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas W DoeIndiaElwin Sharvill QUALIFIED
Jennifer B SergiCanadaStephen Shaw NEW
Aika R FigeroaSpainXuxue Feng NEGOTIATION
Stacey S IturbideBrazilIvan Magalhaes NEW
Ivar F PerinRussiaBernardo Dominic UNQUALIFIED
Tony Q TollnerArgentinaBernardo Dominic RENEWAL
Murillo Y MarrierRussiaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire P RutaItaly2025-08-05Buckley Miller Wright UNQUALIFIED80Xuxue Feng
1001Octavia V IturbideUnited Kingdom2025-08-08Benton, John B Jr RENEWAL5Stephen Shaw
1002Alejandro Q GillianSpain2025-07-31Chapman, Ross E Esq PROPOSAL93Xuxue Feng
1003Costa J BriddickGermany2025-08-12Rousseaux, Michael Esq UNQUALIFIED11Anna Fali
1004Cody G FollerItaly2025-08-04Buckley Miller Wright RENEWAL47Ivan Magalhaes
1005Julie O WhobreyFrance2025-08-05Feltz Printing Service NEW22Amy Elsner
1006Juan L StockhamAustralia2025-08-19Buckley Miller Wright QUALIFIED58Elwin Sharvill
1007Ashley Q DoeGermany2025-08-11Dorl, James J Esq UNQUALIFIED28Amy Elsner
1008Darci Q TollnerGermany2025-08-11Chemel, James L Cpa NEW52Amy Elsner
1009Leja I IturbideAustralia2025-08-04Rangoni Of Florence QUALIFIED23Anna Fali
1010Darci E FlosiUnited Kingdom2025-08-01Feltz Printing Service NEGOTIATION50Elwin Sharvill
1011Deepesh W StockhamUnited Kingdom2025-07-31Chanay, Jeffrey A Esq NEW36Stephen Shaw
1012Rodrigues I GarufiItaly2025-07-26Rousseaux, Michael Esq RENEWAL54Ivan Magalhaes
1013Stacey U PaprockiIndia2025-08-08Chapman, Ross E Esq NEW89Bernardo Dominic
1014Ricardo U MaletJapan2025-08-13Feiner Bros QUALIFIED80Ivan Magalhaes
1015Stacey H RimFrance2025-08-21Truhlar And Truhlar Attys NEW47Ioni Bowcher
1016Juan O StockhamUnited Kingdom2025-08-06Chapman, Ross E Esq NEW91Xuxue Feng
1017Francesco K FigeroaCanada2025-08-10Buckley Miller Wright NEGOTIATION95Ivan Magalhaes
1018Mujtaba A GlickFrance2025-07-27Chanay, Jeffrey A Esq QUALIFIED66Xuxue Feng
1019Johnson M VocelkaCanada2025-08-22King, Christopher A Esq NEW70Bernardo Dominic
1020Ashley G NickaJapan2025-08-02Dorl, James J Esq UNQUALIFIED19Onyama Limba
1021Jeanfrancois P RulapaughJapan2025-08-21Feltz Printing Service QUALIFIED36Xuxue Feng
1022Kaitlin L SlusarskiJapan2025-08-05Feltz Printing Service RENEWAL57Elwin Sharvill
1023Juan T AmigonGermany2025-08-04Feltz Printing Service NEW18Asiya Javayant
1024Stacey K AlbaresRussia2025-08-11Truhlar And Truhlar Attys PROPOSAL50Stephen Shaw
1025Smith Y NickaIndia2025-08-09Feltz Printing Service RENEWAL83Onyama Limba
1026Munro E VenereGermany2025-07-30Printing Dimensions NEGOTIATION51Xuxue Feng
1027Juan S BowleyGermany2025-08-01Chanay, Jeffrey A Esq NEW58Amy Elsner
1028Silvio D SlusarskiRussia2025-08-21Chemel, James L Cpa UNQUALIFIED92Anna Fali
1029Kaitlin A StockhamArgentina2025-07-29Rousseaux, Michael Esq RENEWAL96Amy Elsner
1030Clifford O FollerGermany2025-08-06Dorl, James J Esq NEW38Ioni Bowcher
1031Aika A MorascaItaly2025-08-16Feltz Printing Service RENEWAL96Ivan Magalhaes
1032Aditya X StensethGermany2025-08-15Benton, John B Jr QUALIFIED84Bernardo Dominic
1033Cody H AmigonItaly2025-08-01Rangoni Of Florence UNQUALIFIED74Anna Fali
1034Sinclair Q CampainRussia2025-08-07Rangoni Of Florence PROPOSAL94Stephen Shaw
1035Ivar Q FlosiSpain2025-08-21Dorl, James J Esq RENEWAL30Ivan Magalhaes
1036Jones W ChuiSpain2025-08-13Chanay, Jeffrey A Esq UNQUALIFIED23Anna Fali
1037Alejandro F FigeroaBrazil2025-07-26Rousseaux, Michael Esq RENEWAL17Anna Fali
1038Kaitlin B ShinkoIndia2025-08-06Chemel, James L Cpa RENEWAL19Elwin Sharvill
1039Chavez S DilliardAustralia2025-08-12Rangoni Of Florence NEW8Anna Fali
1040Julie U KolmetzJapan2025-08-06Morlong Associates NEW83Ioni Bowcher
1041Aruna C GlickItaly2025-08-02Dorl, James J Esq PROPOSAL44Stephen Shaw
1042Ashley L GauchoJapan2025-08-10Rousseaux, Michael Esq NEGOTIATION27Stephen Shaw
1043Julie J StensethJapan2025-07-26Commercial Press PROPOSAL12Amy Elsner
1044Ashley C DilliardRussia2025-08-01Buckley Miller Wright NEW69Ioni Bowcher
1045Claire M FollerSpain2025-08-15Buckley Miller Wright QUALIFIED45Stephen Shaw
1046Maisha H GarufiItaly2025-07-26Commercial Press NEW85Onyama Limba
1047David K FlosiArgentina2025-08-15Rangoni Of Florence NEGOTIATION82Amy Elsner
1048Silvio W FigeroaIndia2025-08-04Benton, John B Jr UNQUALIFIED15Anna Fali
1049Ricardo J MaletBrazil2025-08-09Chemel, James L Cpa UNQUALIFIED3Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jones R MacleadRussiaAsiya Javayant NEGOTIATION
Darci K VocelkaSpainAsiya Javayant NEGOTIATION
Murillo A FlosiItalyAmy Elsner PROPOSAL
Francesco G NickaCanadaAsiya Javayant PROPOSAL
Alejandro I GillianCanadaOnyama Limba UNQUALIFIED
Kadeem W MorascaItalyAsiya Javayant NEGOTIATION
Jefferson K DoeUnited KingdomBernardo Dominic PROPOSAL
Costa G StockhamJapanIvan Magalhaes UNQUALIFIED
Johnson H MaletRussiaStephen Shaw PROPOSAL
Jennifer V StockhamRussiaAmy Elsner NEW
Kaitlin Z SergiCanadaXuxue Feng NEGOTIATION
Antonio V DilliardRussiaOnyama Limba PROPOSAL
Stacey Q PaprockiJapanOnyama Limba UNQUALIFIED
Juan U BriddickBrazilAmy Elsner NEGOTIATION
Adams S DoeJapanAnna Fali UNQUALIFIED
Jefferson Z FerenczIndiaAnna Fali QUALIFIED
Isabel V StockhamSpainXuxue Feng NEW
Rodrigues C OstroskyIndiaIoni Bowcher UNQUALIFIED
Aruna Q SchemmerItalyStephen Shaw NEW
Wickens U MaletIndiaOnyama Limba UNQUALIFIED
Kaitlin X BriddickRussiaIvan Magalhaes PROPOSAL
Ricardo T RimCanadaXuxue Feng PROPOSAL
Izzy K MaletJapanAnna Fali QUALIFIED
Jones X GarufiBrazilIvan Magalhaes NEW
Mayumi H WieserAustraliaElwin Sharvill PROPOSAL
Francesco J MaletCanadaIvan Magalhaes RENEWAL
Jefferson G PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Cody U FigeroaItalyBernardo Dominic RENEWAL
Izzy X FollerGermanyIvan Magalhaes NEW
James Z WhobreyItalyStephen Shaw NEW
Morrow I OldroydCanadaOnyama Limba RENEWAL
Greenwood M BologniaFranceIoni Bowcher NEW
Izzy D WhobreyJapanXuxue Feng PROPOSAL
James R MorascaBrazilStephen Shaw QUALIFIED
Jeanfrancois I CampainBrazilBernardo Dominic NEGOTIATION
Darci C MaletJapanBernardo Dominic NEGOTIATION
Antonio N FerenczIndiaIvan Magalhaes NEGOTIATION
Johnson V DilliardCanadaBernardo Dominic NEW
Jeanfrancois Y CampainSpainAmy Elsner PROPOSAL
Morrow B BologniaJapanAsiya Javayant PROPOSAL
Darci W IturbideIndiaBernardo Dominic UNQUALIFIED
Smith B BriddickRussiaIvan Magalhaes PROPOSAL
Misaki A DoeCanadaAmy Elsner QUALIFIED
Ivar F KuskoAustraliaIvan Magalhaes QUALIFIED
Jennifer G WieserUnited KingdomStephen Shaw NEW
Jeanfrancois A StensethItalyXuxue Feng RENEWAL
Rodrigues G ButtArgentinaAnna Fali NEW
Jennifer L WhobreyGermanyAsiya Javayant RENEWAL
Mayumi R NestleFranceIoni Bowcher UNQUALIFIED
Leja X FlosiItalyIvan Magalhaes NEW
Frozen Columns
Name
Misaki G Ferencz
Cody H Garufi
Alejandro Z Kolmetz
Francesco S Ruta
Leon Q Wieser
Murillo K Dilliard
Faith U Royster
Ashley J Inouye
Jones E Sergi
Leja Y Iturbide
Greenwood N Rim
Smith Y Whobrey
Ricardo G Amigon
Wickens Y Flosi
Aditya J Foller
Rodrigues P Gaucho
Octavia H Perin
Salvatore M Iturbide
Mayumi J Bowley
Stacey J Malet
Smith H Tollner
Octavia J Stockham
Greenwood A Sergi
Salvatore P Ferencz
Greenwood Y Foller
Octavia X Darakjy
Ashley B Morasca
Octavia E Butt
Ivar O Marrier
Misaki E Perin
Silvio V Caldarera
Johnson V Inouye
Chavez R Marrier
Sinclair V Saylors
Nicolas Z Tollner
Antonio J Figeroa
Sinclair G Schemmer
Isabel P Caudy
Wickens D Malet
Munro D Rim
Wickens B Malet
Alejandro E Perin
Kaitlin A Marrier
Ricardo V Morasca
Izzy R Kusko
Aditya B Saylors
Silvio P Inouye
James Y Tollner
Mujtaba S Chui
Murillo G Bowley
IdCountryDate
1000Canada2025-08-15
1001Argentina2025-07-25
1002Italy2025-08-21
1003France2025-08-11
1004Spain2025-08-20
1005Italy2025-08-15
1006Argentina2025-07-30
1007United Kingdom2025-08-09
1008Japan2025-07-30
1009Japan2025-08-02
1010Argentina2025-08-19
1011Canada2025-07-29
1012Australia2025-08-20
1013United Kingdom2025-08-02
1014Argentina2025-07-25
1015India2025-08-17
1016Japan2025-08-15
1017Italy2025-07-26
1018United Kingdom2025-08-21
1019Australia2025-08-15
1020United Kingdom2025-08-03
1021India2025-08-14
1022France2025-08-19
1023France2025-07-27
1024India2025-08-03
1025France2025-08-02
1026Canada2025-08-03
1027Argentina2025-07-25
1028Argentina2025-08-05
1029Germany2025-07-28
1030Italy2025-07-31
1031Argentina2025-08-08
1032India2025-08-17
1033Germany2025-08-14
1034Canada2025-07-24
1035Germany2025-07-29
1036Russia2025-08-01
1037Australia2025-08-21
1038Germany2025-08-11
1039France2025-08-16
1040Canada2025-08-19
1041Brazil2025-08-13
1042Russia2025-08-22
1043Germany2025-08-01
1044Germany2025-08-12
1045Germany2025-08-03
1046France2025-08-10
1047India2025-08-05
1048Germany2025-08-13
1049Argentina2025-08-19

On-Demand Data

NameIdCountryDate
Claire T Bolognia1000Spain2025-08-19
Greenwood M Perin1001Spain2025-07-28
Arvin E Ferencz1002Canada2025-08-03
Ricardo Z Glick1003Brazil2025-08-06
Antonio D Waycott1004Spain2025-08-01
Stacey U Stenseth1005Brazil2025-08-20
Mayumi Z Whobrey1006Russia2025-07-29
Clifford D Stenseth1007Canada2025-08-15
Salvatore N Paprocki1008Spain2025-08-08
Rodrigues I Slusarski1009Canada2025-07-24
Alejandro D Nicka1010Italy2025-07-30
Morrow Y Nestle1011Germany2025-08-14
Faith G Caudy1012Australia2025-08-20
Sinclair H Wieser1013Australia2025-08-07
Aruna U Dilliard1014Brazil2025-08-22
Deepesh C Sergi1015Brazil2025-07-27
Octavia H Iturbide1016Russia2025-08-20
Juan R Kusko1017Italy2025-08-20
Ivar J Glick1018France2025-07-29
Salvatore M Schemmer1019France2025-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro T CaldareraIndiaIoni Bowcher PROPOSAL
Aika Y OstroskyItalyStephen Shaw NEW
Misaki B PerinUnited KingdomStephen Shaw PROPOSAL
Alejandro P CaldareraItalyAsiya Javayant UNQUALIFIED
Deepesh W NestleSpainAnna Fali PROPOSAL
Emily B GauchoAustraliaIvan Magalhaes QUALIFIED
Wickens V PaprockiBrazilElwin Sharvill QUALIFIED
Nicolas K ButtGermanyIoni Bowcher NEW
Octavia G GauchoJapanAmy Elsner UNQUALIFIED
Aika A RulapaughBrazilAnna Fali NEGOTIATION
Aika B IturbideUnited KingdomAsiya Javayant PROPOSAL
Jefferson R MacleadUnited KingdomAmy Elsner PROPOSAL
Murillo B VocelkaGermanyStephen Shaw NEGOTIATION
Ricardo I NestleCanadaOnyama Limba PROPOSAL
Juan M CaudyFranceBernardo Dominic PROPOSAL
Maisha Z FigeroaAustraliaStephen Shaw QUALIFIED
Faith C BologniaUnited KingdomAsiya Javayant RENEWAL
Silvio H StockhamIndiaAsiya Javayant NEGOTIATION
Jennifer O NestleBrazilElwin Sharvill PROPOSAL
James I GauchoSpainAnna Fali NEW
Aditya L RoysterSpainBernardo Dominic NEGOTIATION
Aruna B KuskoArgentinaXuxue Feng UNQUALIFIED
Sinclair Q InouyeArgentinaIvan Magalhaes QUALIFIED
Maria L KuskoGermanyStephen Shaw UNQUALIFIED
Julie Q OstroskyGermanyElwin Sharvill NEGOTIATION
Chavez X KolmetzArgentinaBernardo Dominic NEGOTIATION
Rodrigues M VenereItalyIvan Magalhaes UNQUALIFIED
Ivar T WaycottFranceIoni Bowcher UNQUALIFIED
Francesco B MaletRussiaStephen Shaw NEW
Isabel B GlickUnited KingdomAmy Elsner UNQUALIFIED
Jennifer N CaldareraJapanStephen Shaw PROPOSAL
Claire A RimItalyOnyama Limba NEW
Sinclair C MaletItalyIvan Magalhaes PROPOSAL
Aruna T StockhamSpainIvan Magalhaes QUALIFIED
Cody T PoquetteBrazilOnyama Limba UNQUALIFIED
Emily K GarufiArgentinaBernardo Dominic RENEWAL
Jeanfrancois U CampainFranceIvan Magalhaes PROPOSAL
Isabel H MacleadIndiaXuxue Feng RENEWAL
Wickens A FollerArgentinaAmy Elsner NEGOTIATION
Mayumi P GauchoBrazilElwin Sharvill 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>