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 Q RutaFranceAmy Elsner RENEWAL
Silvio H MacleadIndiaOnyama Limba QUALIFIED
Smith B GarufiUnited KingdomAnna Fali NEGOTIATION
Rodrigues I BowleyJapanElwin Sharvill UNQUALIFIED
Deepesh U MarrierBrazilIvan Magalhaes UNQUALIFIED
Faith S GillianItalyBernardo Dominic UNQUALIFIED
Sinclair V BriddickCanadaElwin Sharvill NEGOTIATION
Izzy B BriddickIndiaAnna Fali UNQUALIFIED
Ashley P MaletArgentinaBernardo Dominic QUALIFIED
Izzy W MacleadJapanAnna Fali RENEWAL
Aruna U OldroydGermanyIvan Magalhaes UNQUALIFIED
Izzy I OldroydBrazilAnna Fali RENEWAL
Ricardo X GarufiCanadaOnyama Limba PROPOSAL
Isabel S IturbideCanadaAnna Fali NEW
Wickens N GillianFranceStephen Shaw UNQUALIFIED
Isabel O SchemmerRussiaElwin Sharvill PROPOSAL
Rodrigues N MacleadJapanIoni Bowcher RENEWAL
Ricardo C KolmetzRussiaIoni Bowcher UNQUALIFIED
Kadeem F KuskoBrazilAsiya Javayant PROPOSAL
Ricardo R WhobreyFranceStephen Shaw NEGOTIATION
Antonio K GarufiJapanStephen Shaw PROPOSAL
Jennifer Q MorascaAustraliaStephen Shaw RENEWAL
Aika C SergiSpainOnyama Limba PROPOSAL
Stacey V TollnerGermanyAsiya Javayant QUALIFIED
Silvio G DarakjyAustraliaAnna Fali UNQUALIFIED
Juan N GarufiFranceOnyama Limba NEW
Rodrigues O GarufiAustraliaXuxue Feng NEGOTIATION
Ricardo Q InouyeBrazilIvan Magalhaes PROPOSAL
Murillo L RoysterUnited KingdomElwin Sharvill RENEWAL
Aruna G AmigonRussiaAmy Elsner UNQUALIFIED
Johnson K DarakjyGermanyElwin Sharvill RENEWAL
Izzy W RoysterItalyStephen Shaw PROPOSAL
Wickens T GillianRussiaOnyama Limba NEW
Jennifer E KuskoRussiaXuxue Feng NEW
Claire O StockhamIndiaIoni Bowcher NEGOTIATION
Izzy P TollnerItalyAnna Fali UNQUALIFIED
Costa S SergiItalyElwin Sharvill RENEWAL
Smith P MorascaSpainIoni Bowcher UNQUALIFIED
Emily Y GlickJapanIoni Bowcher NEW
Morrow L IturbideAustraliaElwin Sharvill NEGOTIATION
Greenwood E GauchoRussiaIvan Magalhaes RENEWAL
Kadeem N ShinkoIndiaStephen Shaw PROPOSAL
Ricardo D StockhamUnited KingdomStephen Shaw NEW
Costa Q StockhamGermanyXuxue Feng NEW
Sinclair C MacleadCanadaAmy Elsner QUALIFIED
Jones S FlosiGermanyXuxue Feng PROPOSAL
Octavia W PaprockiBrazilBernardo Dominic NEW
Jennifer Y ButtArgentinaAmy Elsner RENEWAL
Izzy Y KuskoAustraliaAnna Fali QUALIFIED
Darci B WhobreyAustraliaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maria J CampainGermanyAmy Elsner RENEWAL
Stacey O InouyeCanadaAnna Fali UNQUALIFIED
Johnson C TollnerRussiaAsiya Javayant QUALIFIED
Clifford Q GarufiIndiaAmy Elsner NEGOTIATION
Nicolas Z PoquetteAustraliaAmy Elsner QUALIFIED
Tony K OldroydItalyAsiya Javayant PROPOSAL
Isabel P FigeroaJapanStephen Shaw QUALIFIED
Tony P StockhamArgentinaStephen Shaw RENEWAL
Cody Q FigeroaIndiaAsiya Javayant QUALIFIED
Faith C FerenczBrazilAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki J SaylorsIndia2025-08-03Benton, John B Jr RENEWAL71Xuxue Feng
1001Jennifer U WhobreyItaly2025-08-17Chanay, Jeffrey A Esq NEW50Ioni Bowcher
1002Mujtaba X PoquetteSpain2025-08-02Morlong Associates NEW71Ioni Bowcher
1003Kadeem N TollnerArgentina2025-07-24Commercial Press UNQUALIFIED44Ivan Magalhaes
1004Jennifer A NestleCanada2025-07-28Commercial Press UNQUALIFIED81Elwin Sharvill
1005Silvio Q GlickItaly2025-08-08Feltz Printing Service PROPOSAL85Amy Elsner
1006Clifford M PoquetteBrazil2025-08-01Morlong Associates RENEWAL26Ioni Bowcher
1007Ricardo U SergiBrazil2025-08-15Rangoni Of Florence NEW15Onyama Limba
1008Octavia V DarakjyAustralia2025-08-19Morlong Associates NEGOTIATION80Amy Elsner
1009Murillo I FlosiJapan2025-08-03Morlong Associates RENEWAL64Ioni Bowcher
1010Clifford Q DoeIndia2025-08-15Feiner Bros QUALIFIED10Amy Elsner
1011Nicolas W CampainIndia2025-07-23King, Christopher A Esq NEW91Bernardo Dominic
1012Jeanfrancois C NickaRussia2025-07-24Chemel, James L Cpa NEGOTIATION76Ivan Magalhaes
1013Isabel W CampainIndia2025-07-25Chemel, James L Cpa RENEWAL31Stephen Shaw
1014Faith Z GarufiUnited Kingdom2025-08-13King, Christopher A Esq QUALIFIED62Bernardo Dominic
1015Faith Q ChuiSpain2025-08-19Buckley Miller Wright NEW67Amy Elsner
1016David Z DoeArgentina2025-08-14Feiner Bros RENEWAL7Xuxue Feng
1017Jennifer Z MacleadGermany2025-08-10Rangoni Of Florence QUALIFIED9Xuxue Feng
1018Aika Z DarakjyItaly2025-07-26Feiner Bros NEGOTIATION90Stephen Shaw
1019Alejandro X NestleRussia2025-08-03Benton, John B Jr NEGOTIATION80Asiya Javayant
1020Munro R StensethItaly2025-07-23Buckley Miller Wright NEW71Anna Fali
1021Morrow K GlickJapan2025-07-22Benton, John B Jr QUALIFIED31Stephen Shaw
1022Clifford V OstroskyCanada2025-07-29Feiner Bros NEGOTIATION15Xuxue Feng
1023Maria E BriddickIndia2025-08-06Morlong Associates PROPOSAL46Ivan Magalhaes
1024Ivar O PaprockiItaly2025-08-09Buckley Miller Wright NEGOTIATION60Asiya Javayant
1025Jennifer J FlosiFrance2025-08-01Buckley Miller Wright QUALIFIED73Asiya Javayant
1026James D KolmetzBrazil2025-08-08Morlong Associates QUALIFIED64Stephen Shaw
1027Greenwood W SergiUnited Kingdom2025-07-23King, Christopher A Esq QUALIFIED70Asiya Javayant
1028Johnson B WieserItaly2025-07-21Truhlar And Truhlar Attys PROPOSAL4Xuxue Feng
1029Faith U FigeroaArgentina2025-08-12Rousseaux, Michael Esq QUALIFIED75Onyama Limba
1030Morrow N MaletCanada2025-07-21Truhlar And Truhlar Attys NEW16Onyama Limba
1031Salvatore U DoeRussia2025-07-21Dorl, James J Esq UNQUALIFIED8Asiya Javayant
1032Antonio Q CaldareraItaly2025-08-19Buckley Miller Wright NEGOTIATION56Bernardo Dominic
1033James X FerenczBrazil2025-08-08Feltz Printing Service UNQUALIFIED82Bernardo Dominic
1034Aruna V AmigonRussia2025-08-03Feltz Printing Service QUALIFIED38Amy Elsner
1035Tony Y FerenczItaly2025-07-26Truhlar And Truhlar Attys NEGOTIATION36Anna Fali
1036Maria D GarufiBrazil2025-08-11Printing Dimensions NEW61Ivan Magalhaes
1037Arvin Y KuskoRussia2025-08-10Chemel, James L Cpa NEGOTIATION79Ioni Bowcher
1038Kaitlin O ChuiIndia2025-07-27Commercial Press RENEWAL2Anna Fali
1039Octavia B VenereCanada2025-07-27Morlong Associates UNQUALIFIED82Ioni Bowcher
1040Kadeem K InouyeJapan2025-08-05Chanay, Jeffrey A Esq PROPOSAL55Elwin Sharvill
1041Morrow D KuskoSpain2025-08-08Printing Dimensions NEGOTIATION48Stephen Shaw
1042Juan D RutaJapan2025-08-14Feiner Bros PROPOSAL23Anna Fali
1043Alejandro A NestleRussia2025-07-24Feiner Bros PROPOSAL20Anna Fali
1044Claire B CaudyJapan2025-08-09Rousseaux, Michael Esq PROPOSAL8Elwin Sharvill
1045Munro N RutaFrance2025-08-01Chemel, James L Cpa UNQUALIFIED35Bernardo Dominic
1046Stacey G GlickArgentina2025-07-24Dorl, James J Esq QUALIFIED76Ivan Magalhaes
1047Leja V RoysterCanada2025-07-22Commercial Press NEGOTIATION6Ioni Bowcher
1048Smith L FlosiGermany2025-07-22Morlong Associates RENEWAL2Stephen Shaw
1049Maisha N ButtGermany2025-07-23Benton, John B Jr PROPOSAL62Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jones V SchemmerItalyElwin Sharvill PROPOSAL
Alejandro D RimUnited KingdomIoni Bowcher RENEWAL
Isabel A NickaIndiaOnyama Limba PROPOSAL
Nicolas H CampainSpainAmy Elsner PROPOSAL
Claire D CaldareraCanadaAmy Elsner NEW
Kadeem U CaudyIndiaIoni Bowcher UNQUALIFIED
Aika D BowleyIndiaStephen Shaw RENEWAL
Murillo P FigeroaAustraliaXuxue Feng PROPOSAL
Munro V ButtIndiaOnyama Limba NEGOTIATION
James H GauchoUnited KingdomElwin Sharvill NEGOTIATION
Francesco R ShinkoIndiaAmy Elsner NEW
Chavez U MorascaUnited KingdomIoni Bowcher NEW
Aika Y RoysterUnited KingdomAnna Fali NEGOTIATION
Morrow T GauchoItalyIvan Magalhaes NEW
Jeanfrancois J FigeroaBrazilAnna Fali UNQUALIFIED
Mayumi K AmigonGermanyXuxue Feng PROPOSAL
Aruna S InouyeAustraliaAmy Elsner UNQUALIFIED
Smith K FigeroaCanadaXuxue Feng UNQUALIFIED
Juan Z ShinkoCanadaXuxue Feng NEGOTIATION
Leon S SaylorsJapanXuxue Feng RENEWAL
Julie S ShinkoGermanyXuxue Feng PROPOSAL
Antonio X KuskoCanadaAmy Elsner NEW
Ivar X FlosiRussiaAnna Fali RENEWAL
David M SchemmerRussiaElwin Sharvill NEW
Alejandro C FollerBrazilAsiya Javayant NEGOTIATION
Jones X SchemmerCanadaIoni Bowcher NEGOTIATION
Alejandro U NickaCanadaIvan Magalhaes NEGOTIATION
Smith I MarrierUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro N CaldareraGermanyIoni Bowcher NEGOTIATION
Aruna D OldroydFranceAmy Elsner NEGOTIATION
Nicolas Q BowleySpainIoni Bowcher QUALIFIED
Kadeem Z AlbaresCanadaAsiya Javayant NEGOTIATION
Adams C VenereCanadaIoni Bowcher PROPOSAL
Greenwood Q ButtUnited KingdomOnyama Limba NEW
Jones Z CampainFranceStephen Shaw NEW
Jefferson N StensethRussiaAsiya Javayant UNQUALIFIED
James J RoysterGermanyStephen Shaw NEGOTIATION
Deepesh S CaldareraJapanIoni Bowcher UNQUALIFIED
Deepesh D GarufiCanadaElwin Sharvill PROPOSAL
Faith M WieserItalyAsiya Javayant UNQUALIFIED
Leja E ChuiAustraliaIoni Bowcher PROPOSAL
Rodrigues F AmigonAustraliaStephen Shaw NEGOTIATION
Maria F FlosiCanadaXuxue Feng RENEWAL
Ivar C NickaJapanIvan Magalhaes RENEWAL
Tony T VenereCanadaElwin Sharvill UNQUALIFIED
Leja E GarufiJapanIoni Bowcher NEGOTIATION
Isabel S InouyeRussiaAsiya Javayant NEGOTIATION
Silvio U VenereRussiaXuxue Feng PROPOSAL
Nicolas C SaylorsRussiaAnna Fali UNQUALIFIED
Sinclair W PoquetteFranceElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Maria C Tollner
Francesco C Vocelka
Claire Z Butt
Antonio H Inouye
Emily I Doe
Aika L Vocelka
Kadeem J Ferencz
Ricardo Y Schemmer
Izzy R Foller
Ricardo E Doe
Ivar F Chui
Ivar Y Ostrosky
Izzy D Stockham
Jefferson H Vocelka
Stacey I Gaucho
Jefferson I Venere
Smith W Ferencz
Greenwood X Caudy
Kadeem O Dilliard
Darci A Gaucho
Ricardo U Inouye
Adams D Schemmer
Aika Y Flosi
Misaki O Shinko
Nicolas P Gaucho
Leja O Venere
Arvin J Ostrosky
Smith K Kolmetz
James I Wieser
Aditya S Malet
Emily I Briddick
Octavia E Bolognia
Maisha Q Shinko
Jones L Poquette
Leja B Bolognia
James A Rulapaugh
Mujtaba A Bowley
Julie V Morasca
Smith K Oldroyd
Antonio G Wieser
Alejandro E Malet
Tony I Whobrey
Smith R Nestle
Murillo F Ostrosky
Leja U Poquette
Rodrigues T Stenseth
Maisha D Nestle
Leon R Garufi
Leja B Slusarski
Maria O Foller
IdCountryDate
1000France2025-07-21
1001Canada2025-08-17
1002France2025-08-18
1003Japan2025-08-12
1004Argentina2025-08-08
1005India2025-07-29
1006Germany2025-08-02
1007India2025-08-12
1008India2025-08-09
1009Germany2025-08-15
1010France2025-08-13
1011Canada2025-08-12
1012Spain2025-08-12
1013Australia2025-07-28
1014Brazil2025-08-18
1015Australia2025-08-06
1016Spain2025-07-27
1017Japan2025-08-14
1018United Kingdom2025-07-27
1019Brazil2025-07-31
1020France2025-07-23
1021India2025-08-15
1022Russia2025-07-30
1023Brazil2025-07-31
1024Japan2025-08-18
1025Brazil2025-07-27
1026Japan2025-07-28
1027Japan2025-08-18
1028Argentina2025-08-19
1029Russia2025-08-10
1030Brazil2025-08-16
1031United Kingdom2025-08-19
1032Italy2025-08-15
1033Australia2025-07-21
1034France2025-08-11
1035France2025-08-15
1036Australia2025-08-13
1037France2025-08-14
1038Brazil2025-07-25
1039Russia2025-07-30
1040India2025-08-19
1041Germany2025-08-09
1042India2025-08-03
1043United Kingdom2025-07-23
1044Japan2025-07-24
1045Argentina2025-08-06
1046France2025-07-30
1047Italy2025-08-11
1048Brazil2025-08-03
1049Italy2025-07-30

On-Demand Data

NameIdCountryDate
Octavia Q Bowley1000Italy2025-07-21
Johnson O Perin1001Canada2025-07-21
Johnson V Oldroyd1002India2025-08-01
Darci A Morasca1003Germany2025-08-08
Emily M Rulapaugh1004Germany2025-08-16
Claire N Poquette1005France2025-08-16
Maisha Q Whobrey1006Argentina2025-08-15
Ivar Z Venere1007United Kingdom2025-08-08
Morrow N Perin1008Australia2025-07-31
Izzy Q Rim1009Japan2025-08-16
Claire S Ostrosky1010Italy2025-08-06
Izzy U Figeroa1011Spain2025-07-31
Mayumi X Darakjy1012Argentina2025-08-19
Sinclair W Dilliard1013Russia2025-07-30
Nicolas B Royster1014Spain2025-08-01
Alejandro Y Schemmer1015India2025-08-01
Francesco T Foller1016Russia2025-07-30
Rodrigues A Paprocki1017Argentina2025-07-24
Ricardo K Bowley1018India2025-08-12
Claire B Malet1019India2025-08-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro D GarufiBrazilIvan Magalhaes RENEWAL
Aruna P InouyeSpainBernardo Dominic UNQUALIFIED
Kaitlin O AlbaresBrazilAnna Fali PROPOSAL
Emily P RulapaughJapanIvan Magalhaes PROPOSAL
Juan C WaycottBrazilIvan Magalhaes QUALIFIED
Nicolas O PoquetteItalyOnyama Limba PROPOSAL
Maria L FerenczGermanyAsiya Javayant NEGOTIATION
Mayumi G KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Chavez T MarrierGermanyIoni Bowcher QUALIFIED
Alejandro Z GillianSpainStephen Shaw PROPOSAL
Greenwood B KolmetzBrazilBernardo Dominic QUALIFIED
Kadeem C MarrierJapanAsiya Javayant NEW
Jones H PaprockiJapanBernardo Dominic QUALIFIED
Jeanfrancois S DilliardAustraliaXuxue Feng QUALIFIED
Mayumi Q MorascaCanadaIvan Magalhaes QUALIFIED
Kadeem H MarrierBrazilElwin Sharvill PROPOSAL
Cody W KuskoCanadaAsiya Javayant QUALIFIED
Jefferson H CampainFranceIoni Bowcher QUALIFIED
Morrow O DarakjyIndiaAsiya Javayant QUALIFIED
Ivar N CaldareraSpainXuxue Feng PROPOSAL
Mujtaba P VocelkaCanadaIvan Magalhaes NEGOTIATION
Francesco S MaletUnited KingdomAsiya Javayant NEW
Leon J SchemmerArgentinaIvan Magalhaes NEGOTIATION
Aruna V CaudyAustraliaBernardo Dominic NEW
Kaitlin I RimArgentinaIvan Magalhaes UNQUALIFIED
Leja I InouyeFranceXuxue Feng PROPOSAL
Julie I FlosiSpainStephen Shaw NEW
Kadeem D PerinCanadaAnna Fali UNQUALIFIED
Jefferson Z RutaIndiaBernardo Dominic NEW
Aika U PoquetteItalyElwin Sharvill RENEWAL
Salvatore G FollerSpainBernardo Dominic RENEWAL
Ricardo R NickaFranceIoni Bowcher NEW
Emily E ButtIndiaElwin Sharvill UNQUALIFIED
Leja W CampainArgentinaIvan Magalhaes NEW
David Q MarrierFranceOnyama Limba UNQUALIFIED
Tony S MaletUnited KingdomElwin Sharvill UNQUALIFIED
Aditya P MaletGermanyAsiya Javayant PROPOSAL
Jeanfrancois G SergiBrazilElwin Sharvill UNQUALIFIED
Clifford K WhobreyJapanIvan Magalhaes PROPOSAL
Morrow G CaudyIndiaIvan Magalhaes NEGOTIATION

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