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
Nicolas Q CaudySpainAsiya Javayant NEW
Rodrigues D MarrierAustraliaStephen Shaw QUALIFIED
Wickens U SaylorsUnited KingdomOnyama Limba QUALIFIED
Kadeem W MorascaAustraliaStephen Shaw UNQUALIFIED
Johnson X DarakjyJapanOnyama Limba NEW
Julie Y VocelkaItalyStephen Shaw QUALIFIED
Morrow O DarakjyJapanIoni Bowcher PROPOSAL
Leja B ChuiAustraliaIvan Magalhaes RENEWAL
Adams H VenereUnited KingdomOnyama Limba PROPOSAL
Clifford L GlickFranceXuxue Feng PROPOSAL
Jeanfrancois A StensethArgentinaAsiya Javayant NEGOTIATION
Ricardo R ChuiSpainAsiya Javayant NEGOTIATION
Johnson R GillianUnited KingdomBernardo Dominic RENEWAL
Silvio S TollnerCanadaAsiya Javayant PROPOSAL
Julie I InouyeUnited KingdomAnna Fali RENEWAL
Salvatore T SchemmerBrazilAmy Elsner NEGOTIATION
Mayumi R VenereFranceAnna Fali RENEWAL
Nicolas K CampainArgentinaAnna Fali RENEWAL
Claire B MorascaGermanyIvan Magalhaes QUALIFIED
Maria K BowleyFranceBernardo Dominic NEW
Kadeem N StensethItalyStephen Shaw PROPOSAL
Nicolas K FerenczAustraliaIvan Magalhaes UNQUALIFIED
Sinclair L RoysterIndiaXuxue Feng QUALIFIED
Chavez H BowleyAustraliaStephen Shaw PROPOSAL
Maria U IturbideRussiaIvan Magalhaes UNQUALIFIED
Jones C ShinkoArgentinaStephen Shaw QUALIFIED
Mujtaba F PerinJapanElwin Sharvill UNQUALIFIED
Munro Y CampainItalyStephen Shaw QUALIFIED
Morrow T OldroydRussiaAmy Elsner QUALIFIED
Tony Y GarufiBrazilElwin Sharvill NEW
Deepesh U DilliardJapanBernardo Dominic NEGOTIATION
Jones S WhobreyUnited KingdomElwin Sharvill PROPOSAL
Adams K MarrierAustraliaXuxue Feng NEGOTIATION
Ivar E SergiRussiaIvan Magalhaes RENEWAL
Nicolas J InouyeUnited KingdomStephen Shaw PROPOSAL
Smith A SaylorsFranceAnna Fali NEGOTIATION
Emily G KuskoIndiaStephen Shaw NEGOTIATION
Stacey K CampainRussiaXuxue Feng NEW
Nicolas W RoysterCanadaBernardo Dominic QUALIFIED
Chavez B FlosiBrazilAnna Fali QUALIFIED
Darci Z ShinkoGermanyIvan Magalhaes NEGOTIATION
Aditya I ButtUnited KingdomIoni Bowcher NEW
Julie T CaudyFranceOnyama Limba PROPOSAL
Costa D MarrierArgentinaOnyama Limba RENEWAL
Isabel B RimBrazilBernardo Dominic PROPOSAL
Alejandro U KolmetzIndiaElwin Sharvill NEGOTIATION
Jeanfrancois Z WhobreyJapanAnna Fali NEGOTIATION
Juan K DilliardRussiaAnna Fali RENEWAL
Johnson D KuskoCanadaIoni Bowcher UNQUALIFIED
Izzy X NestleUnited KingdomElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Cody B KuskoItalyStephen Shaw QUALIFIED
Murillo K NestleBrazilElwin Sharvill NEW
Mayumi K VocelkaSpainBernardo Dominic NEW
Maria Y FollerGermanyXuxue Feng PROPOSAL
Kadeem H FigeroaAustraliaAsiya Javayant NEW
Antonio J GauchoArgentinaIoni Bowcher UNQUALIFIED
Costa W GillianItalyAmy Elsner RENEWAL
Morrow R OldroydGermanyXuxue Feng RENEWAL
Kaitlin C WhobreyIndiaXuxue Feng NEW
Darci G IturbideArgentinaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith W DilliardArgentina2025-07-31Benton, John B Jr UNQUALIFIED43Elwin Sharvill
1001Maisha M DoeIndia2025-07-31Chanay, Jeffrey A Esq UNQUALIFIED62Bernardo Dominic
1002Aika A OldroydFrance2025-07-13Feiner Bros UNQUALIFIED61Amy Elsner
1003Nicolas Q PoquetteJapan2025-07-25Feltz Printing Service QUALIFIED12Xuxue Feng
1004Leon A NickaArgentina2025-07-09Buckley Miller Wright QUALIFIED91Onyama Limba
1005David N RimAustralia2025-07-08Morlong Associates UNQUALIFIED54Bernardo Dominic
1006Munro O RulapaughRussia2025-07-26Printing Dimensions QUALIFIED97Elwin Sharvill
1007Emily G StockhamGermany2025-07-10Rangoni Of Florence RENEWAL6Amy Elsner
1008Adams F WhobreyItaly2025-07-17Chanay, Jeffrey A Esq PROPOSAL44Onyama Limba
1009David D SlusarskiIndia2025-07-15Rousseaux, Michael Esq RENEWAL32Bernardo Dominic
1010Chavez P BologniaFrance2025-07-13Chemel, James L Cpa RENEWAL87Anna Fali
1011Faith P MarrierIndia2025-07-11Dorl, James J Esq RENEWAL78Anna Fali
1012Jones L FigeroaArgentina2025-07-27Chanay, Jeffrey A Esq NEGOTIATION5Stephen Shaw
1013Silvio Z DarakjyArgentina2025-07-14Chapman, Ross E Esq UNQUALIFIED25Ioni Bowcher
1014Costa D BowleyAustralia2025-07-09Morlong Associates NEW66Xuxue Feng
1015Tony P ButtFrance2025-07-27Rangoni Of Florence RENEWAL16Ioni Bowcher
1016James I WhobreyFrance2025-07-18Buckley Miller Wright NEW66Elwin Sharvill
1017Smith M RulapaughArgentina2025-07-28Printing Dimensions NEW37Xuxue Feng
1018Costa E GarufiAustralia2025-07-23Benton, John B Jr NEW90Ivan Magalhaes
1019Adams Y SlusarskiCanada2025-07-06Chanay, Jeffrey A Esq UNQUALIFIED15Ioni Bowcher
1020Aditya O MorascaArgentina2025-07-30Dorl, James J Esq NEW77Elwin Sharvill
1021Julie Q MaletGermany2025-07-28Chanay, Jeffrey A Esq QUALIFIED93Ivan Magalhaes
1022Alejandro Y AlbaresGermany2025-07-29Feiner Bros RENEWAL61Stephen Shaw
1023Silvio Z KuskoFrance2025-07-25Printing Dimensions RENEWAL77Stephen Shaw
1024Greenwood E RoysterAustralia2025-07-15King, Christopher A Esq QUALIFIED84Bernardo Dominic
1025Kadeem A VenereFrance2025-07-15Chapman, Ross E Esq RENEWAL28Elwin Sharvill
1026Clifford Q SchemmerItaly2025-07-07Feiner Bros RENEWAL59Ioni Bowcher
1027Nicolas Z InouyeJapan2025-07-22Dorl, James J Esq RENEWAL52Asiya Javayant
1028Chavez W SchemmerJapan2025-07-23Truhlar And Truhlar Attys NEGOTIATION50Onyama Limba
1029Kaitlin V MacleadRussia2025-07-17Chapman, Ross E Esq NEGOTIATION22Amy Elsner
1030Izzy B FerenczJapan2025-07-29Benton, John B Jr QUALIFIED70Bernardo Dominic
1031Kaitlin D BologniaFrance2025-07-19Buckley Miller Wright NEGOTIATION26Anna Fali
1032David V FerenczBrazil2025-07-11Feltz Printing Service UNQUALIFIED15Amy Elsner
1033Aika C WieserAustralia2025-07-15King, Christopher A Esq UNQUALIFIED74Elwin Sharvill
1034Chavez K FigeroaBrazil2025-08-03Feiner Bros NEW16Anna Fali
1035Chavez C BowleySpain2025-07-09Buckley Miller Wright RENEWAL86Elwin Sharvill
1036Leja C PoquetteFrance2025-07-24Benton, John B Jr NEW59Ivan Magalhaes
1037Darci H ButtItaly2025-07-24Dorl, James J Esq QUALIFIED9Xuxue Feng
1038Alejandro T SchemmerJapan2025-07-22Rousseaux, Michael Esq NEW60Ivan Magalhaes
1039Jennifer T AlbaresUnited Kingdom2025-07-15King, Christopher A Esq PROPOSAL81Xuxue Feng
1040Izzy E WhobreySpain2025-07-25Feiner Bros RENEWAL96Elwin Sharvill
1041Maria M PerinRussia2025-07-28Printing Dimensions NEGOTIATION41Amy Elsner
1042Arvin F PoquetteGermany2025-07-30Benton, John B Jr NEW44Anna Fali
1043Sinclair H SergiRussia2025-07-14Dorl, James J Esq QUALIFIED69Elwin Sharvill
1044Aika C GillianArgentina2025-07-19Commercial Press NEGOTIATION16Xuxue Feng
1045Ricardo F BowleyUnited Kingdom2025-07-09Truhlar And Truhlar Attys NEW67Xuxue Feng
1046Silvio W FerenczArgentina2025-07-29Chanay, Jeffrey A Esq PROPOSAL88Onyama Limba
1047Tony I SchemmerGermany2025-07-14Feiner Bros NEW24Elwin Sharvill
1048Kaitlin H FollerUnited Kingdom2025-07-14Printing Dimensions UNQUALIFIED32Stephen Shaw
1049Wickens Z RimJapan2025-08-03King, Christopher A Esq PROPOSAL6Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Clifford B RimArgentinaIvan Magalhaes QUALIFIED
Morrow B ShinkoArgentinaElwin Sharvill NEW
Wickens R TollnerFranceElwin Sharvill QUALIFIED
Munro L BowleyArgentinaAsiya Javayant NEW
Faith E StockhamJapanAmy Elsner UNQUALIFIED
Leon V AmigonUnited KingdomIvan Magalhaes QUALIFIED
Costa K RimBrazilStephen Shaw NEW
David P FerenczFranceBernardo Dominic NEW
Claire N SaylorsItalyXuxue Feng UNQUALIFIED
Arvin I FollerIndiaIoni Bowcher RENEWAL
Sinclair U MacleadAustraliaAmy Elsner RENEWAL
Aika A GlickJapanAmy Elsner PROPOSAL
Francesco J NickaBrazilIoni Bowcher NEGOTIATION
Ricardo X CaldareraBrazilXuxue Feng RENEWAL
Maisha Y MarrierArgentinaStephen Shaw UNQUALIFIED
Leja Q MorascaGermanyAsiya Javayant NEW
Salvatore U StockhamGermanyStephen Shaw QUALIFIED
Costa Z StensethAustraliaXuxue Feng PROPOSAL
Alejandro H RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba N MorascaJapanIoni Bowcher UNQUALIFIED
Ashley S FlosiRussiaBernardo Dominic NEW
Julie Y GauchoItalyOnyama Limba PROPOSAL
Salvatore A WaycottRussiaXuxue Feng RENEWAL
Cody K PerinUnited KingdomAsiya Javayant NEGOTIATION
Mayumi L TollnerCanadaAmy Elsner RENEWAL
Jefferson U KuskoArgentinaXuxue Feng PROPOSAL
Antonio B FollerArgentinaAmy Elsner PROPOSAL
Izzy J NestleRussiaIvan Magalhaes QUALIFIED
Cody Q DoeSpainOnyama Limba NEGOTIATION
James W DoeItalyAmy Elsner NEW
Nicolas S GarufiCanadaElwin Sharvill QUALIFIED
Silvio N NestleBrazilIvan Magalhaes NEW
Izzy T VenereArgentinaAmy Elsner QUALIFIED
Greenwood P WhobreyRussiaAnna Fali UNQUALIFIED
Ivar S BowleyJapanAsiya Javayant UNQUALIFIED
Stacey T MarrierGermanyAnna Fali UNQUALIFIED
Mujtaba N GarufiIndiaStephen Shaw PROPOSAL
Jeanfrancois W RoysterRussiaOnyama Limba UNQUALIFIED
Ivar C PerinCanadaElwin Sharvill RENEWAL
Cody V AmigonSpainIoni Bowcher NEW
Leja W SaylorsArgentinaBernardo Dominic UNQUALIFIED
Salvatore V SergiCanadaAsiya Javayant NEW
Tony C DilliardUnited KingdomXuxue Feng NEW
Emily O StensethSpainBernardo Dominic NEW
Arvin A TollnerRussiaAmy Elsner NEW
Greenwood G CampainItalyAnna Fali NEW
Claire V FollerIndiaIvan Magalhaes NEW
Mayumi M CaudyJapanBernardo Dominic QUALIFIED
Izzy S StensethGermanyOnyama Limba PROPOSAL
Maria A VocelkaUnited KingdomOnyama Limba QUALIFIED
Frozen Columns
Name
Jennifer N Stenseth
Johnson Z Paprocki
Wickens G Stockham
Ricardo S Bolognia
Kaitlin O Wieser
Chavez T Ostrosky
Sinclair S Briddick
Deepesh L Waycott
Ricardo U Venere
Faith Y Dilliard
Claire G Tollner
Silvio T Sergi
Mayumi J Venere
Smith T Poquette
Nicolas X Stenseth
Jefferson K Nestle
Maisha J Stenseth
Darci Z Malet
Aruna Y Ostrosky
Murillo T Venere
Isabel I Kusko
Deepesh I Saylors
Greenwood D Figeroa
Jones U Ferencz
Nicolas H Vocelka
Kadeem Z Dilliard
Izzy I Ruta
Morrow N Stockham
Leon H Butt
Aika Z Dilliard
Costa V Amigon
Arvin D Oldroyd
Emily I Darakjy
Francesco G Wieser
Silvio D Venere
Nicolas W Poquette
Isabel Q Perin
David V Ferencz
Ashley V Stenseth
Jennifer P Darakjy
Maria Y Gillian
Silvio H Oldroyd
Juan K Rulapaugh
Darci B Nestle
Faith I Figeroa
Cody L Tollner
Julie G Tollner
Isabel Y Poquette
Jones A Inouye
Leon T Maclead
IdCountryDate
1000Canada2025-07-28
1001Argentina2025-07-13
1002Japan2025-07-11
1003India2025-07-17
1004United Kingdom2025-07-14
1005Spain2025-07-23
1006Argentina2025-07-08
1007United Kingdom2025-07-18
1008Argentina2025-07-28
1009Brazil2025-08-03
1010Japan2025-07-30
1011Spain2025-07-25
1012France2025-08-02
1013India2025-08-02
1014Australia2025-07-24
1015Germany2025-07-06
1016Italy2025-07-14
1017Russia2025-07-30
1018United Kingdom2025-08-03
1019Spain2025-07-06
1020Brazil2025-07-19
1021Spain2025-07-23
1022India2025-07-07
1023Brazil2025-07-15
1024Canada2025-07-26
1025Spain2025-08-02
1026France2025-08-03
1027France2025-07-09
1028United Kingdom2025-07-24
1029Brazil2025-07-08
1030Russia2025-07-24
1031Canada2025-07-30
1032Argentina2025-07-31
1033Australia2025-07-16
1034Russia2025-07-18
1035Germany2025-07-17
1036Spain2025-07-18
1037United Kingdom2025-07-05
1038Spain2025-07-14
1039Argentina2025-07-21
1040United Kingdom2025-07-12
1041Australia2025-07-25
1042Italy2025-07-23
1043Canada2025-07-23
1044Spain2025-07-16
1045Argentina2025-07-09
1046Australia2025-07-18
1047Japan2025-07-06
1048Canada2025-07-20
1049Brazil2025-07-28

On-Demand Data

NameIdCountryDate
Sinclair D Iturbide1000Italy2025-07-20
Francesco Y Malet1001United Kingdom2025-07-23
Izzy W Glick1002Spain2025-07-21
Arvin F Gillian1003Spain2025-07-13
James G Marrier1004United Kingdom2025-07-28
Murillo T Briddick1005Russia2025-07-16
Stacey J Malet1006Japan2025-07-11
Arvin B Ostrosky1007Canada2025-07-16
Stacey B Sergi1008Canada2025-07-31
Leon A Saylors1009Brazil2025-08-01
Costa C Saylors1010Russia2025-07-11
Mujtaba V Royster1011Italy2025-07-18
Chavez W Rulapaugh1012India2025-07-05
Tony H Perin1013Japan2025-07-05
Smith I Darakjy1014Germany2025-07-10
Tony O Morasca1015Brazil2025-07-12
Aruna P Dilliard1016Spain2025-07-17
Wickens N Caudy1017Argentina2025-07-28
Isabel M Foller1018Brazil2025-07-27
Julie K Stenseth1019Japan2025-07-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily V CampainCanadaAnna Fali NEW
Jones V KolmetzItalyOnyama Limba NEGOTIATION
Nicolas V CaudyUnited KingdomOnyama Limba UNQUALIFIED
Izzy C NickaCanadaAsiya Javayant QUALIFIED
Jeanfrancois R BowleyFranceAnna Fali NEGOTIATION
Aruna S WhobreyArgentinaBernardo Dominic UNQUALIFIED
Alejandro B MacleadArgentinaOnyama Limba NEGOTIATION
Smith U BologniaCanadaIoni Bowcher PROPOSAL
Juan T NestleItalyOnyama Limba NEW
Arvin G WieserAustraliaIvan Magalhaes NEW
Greenwood T WieserBrazilBernardo Dominic NEGOTIATION
Morrow J MaletGermanyBernardo Dominic NEW
Jennifer E BriddickArgentinaIoni Bowcher RENEWAL
Ivar U IturbideRussiaElwin Sharvill NEW
Adams X WieserGermanyOnyama Limba UNQUALIFIED
Greenwood Q PoquetteFranceStephen Shaw QUALIFIED
Smith N KolmetzSpainAsiya Javayant QUALIFIED
Arvin D RulapaughArgentinaAsiya Javayant RENEWAL
Greenwood V MaletRussiaIoni Bowcher PROPOSAL
Ricardo G RimBrazilIvan Magalhaes PROPOSAL
Ashley R GauchoArgentinaXuxue Feng RENEWAL
Ricardo H MacleadFranceAsiya Javayant RENEWAL
Ricardo V SchemmerGermanyBernardo Dominic RENEWAL
Maisha M GlickJapanElwin Sharvill PROPOSAL
Izzy L FerenczUnited KingdomIvan Magalhaes NEW
Emily A RimSpainStephen Shaw PROPOSAL
Cody H CampainSpainOnyama Limba UNQUALIFIED
Arvin M PaprockiUnited KingdomBernardo Dominic PROPOSAL
Munro Y MarrierItalyIvan Magalhaes QUALIFIED
David E ShinkoBrazilXuxue Feng QUALIFIED
Deepesh M PoquetteGermanyStephen Shaw NEW
Jefferson O WhobreySpainBernardo Dominic UNQUALIFIED
Wickens C GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Julie X AmigonGermanyAsiya Javayant PROPOSAL
Antonio H MaletItalyBernardo Dominic NEGOTIATION
Isabel D DarakjyJapanIvan Magalhaes NEW
Morrow W BriddickSpainOnyama Limba UNQUALIFIED
Jones C BowleyAustraliaXuxue Feng UNQUALIFIED
Murillo N KuskoFranceXuxue Feng UNQUALIFIED
Deepesh P PoquetteAustraliaAsiya Javayant 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>