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
Claire V CampainSpainXuxue Feng RENEWAL
Nicolas D GlickItalyAnna Fali UNQUALIFIED
Maisha D FigeroaRussiaBernardo Dominic QUALIFIED
Emily R FollerBrazilOnyama Limba QUALIFIED
Jeanfrancois K MorascaItalyBernardo Dominic UNQUALIFIED
Chavez U FigeroaUnited KingdomAnna Fali NEGOTIATION
Isabel B DarakjyJapanIvan Magalhaes NEW
Octavia C BowleyIndiaIvan Magalhaes RENEWAL
James F SchemmerAustraliaIvan Magalhaes RENEWAL
Leja E GlickUnited KingdomAmy Elsner QUALIFIED
Mayumi C NestleUnited KingdomIoni Bowcher PROPOSAL
Leja A MaletCanadaIvan Magalhaes PROPOSAL
Izzy C ButtBrazilOnyama Limba UNQUALIFIED
Deepesh C FollerBrazilAnna Fali PROPOSAL
Francesco D RutaItalyBernardo Dominic RENEWAL
Aditya Q DarakjyUnited KingdomOnyama Limba NEGOTIATION
Maria S DilliardGermanyXuxue Feng QUALIFIED
David B MarrierAustraliaAmy Elsner NEGOTIATION
Ivar I GlickItalyStephen Shaw UNQUALIFIED
Salvatore X RoysterRussiaXuxue Feng NEGOTIATION
Salvatore I MorascaFranceAsiya Javayant UNQUALIFIED
Ricardo C CaldareraSpainBernardo Dominic UNQUALIFIED
Kaitlin Y SergiItalyIoni Bowcher QUALIFIED
Arvin W WhobreyCanadaAmy Elsner NEW
Kadeem A SaylorsJapanAnna Fali QUALIFIED
Ivar Q KuskoUnited KingdomIoni Bowcher RENEWAL
Adams B KuskoGermanyStephen Shaw PROPOSAL
Kaitlin S CaldareraSpainOnyama Limba UNQUALIFIED
Arvin W FerenczAustraliaAnna Fali NEW
David B DilliardGermanyElwin Sharvill NEGOTIATION
Greenwood N PoquetteFranceIoni Bowcher NEW
Kadeem O IturbideBrazilBernardo Dominic NEGOTIATION
Antonio O InouyeArgentinaOnyama Limba QUALIFIED
Emily D IturbideCanadaXuxue Feng NEW
Darci L GauchoSpainXuxue Feng RENEWAL
Francesco C SlusarskiItalyAsiya Javayant QUALIFIED
Costa C InouyeIndiaXuxue Feng PROPOSAL
Chavez X ChuiFranceAnna Fali UNQUALIFIED
Morrow T AlbaresJapanIvan Magalhaes NEGOTIATION
Aditya C CampainBrazilBernardo Dominic NEGOTIATION
Smith M StockhamCanadaAsiya Javayant RENEWAL
Octavia C ShinkoBrazilAmy Elsner RENEWAL
Jennifer R SaylorsItalyBernardo Dominic NEW
Salvatore B FerenczJapanXuxue Feng NEW
Izzy E InouyeJapanOnyama Limba RENEWAL
Claire X StockhamBrazilIvan Magalhaes RENEWAL
Adams U FigeroaCanadaAsiya Javayant PROPOSAL
Morrow C FollerArgentinaAnna Fali NEGOTIATION
Tony O FerenczFranceBernardo Dominic NEGOTIATION
Juan R ButtGermanyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Tony L ShinkoArgentinaIoni Bowcher QUALIFIED
Morrow C FigeroaJapanIoni Bowcher NEGOTIATION
Octavia J OldroydIndiaElwin Sharvill UNQUALIFIED
Faith A OldroydArgentinaXuxue Feng NEW
Kadeem Q DilliardBrazilOnyama Limba PROPOSAL
Adams T BologniaArgentinaIoni Bowcher QUALIFIED
Nicolas J FigeroaFranceIvan Magalhaes RENEWAL
Darci N NestleUnited KingdomAsiya Javayant NEGOTIATION
Ricardo W OstroskyCanadaXuxue Feng PROPOSAL
Faith X IturbideArgentinaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David M RulapaughItaly2025-07-23Chemel, James L Cpa RENEWAL58Anna Fali
1001Cody H TollnerArgentina2025-07-28Printing Dimensions RENEWAL35Amy Elsner
1002Aruna I PoquetteBrazil2025-08-01Buckley Miller Wright NEGOTIATION47Elwin Sharvill
1003Aruna C CampainIndia2025-07-25Dorl, James J Esq UNQUALIFIED53Onyama Limba
1004Nicolas X AmigonSpain2025-07-19Commercial Press NEW30Stephen Shaw
1005Julie D BologniaItaly2025-08-10Chanay, Jeffrey A Esq NEGOTIATION81Ioni Bowcher
1006David H ShinkoIndia2025-08-10Feiner Bros RENEWAL72Bernardo Dominic
1007Faith C AmigonRussia2025-07-15Feiner Bros PROPOSAL92Amy Elsner
1008Jennifer G SlusarskiAustralia2025-08-07Feltz Printing Service QUALIFIED40Asiya Javayant
1009Stacey A IturbideBrazil2025-08-13Printing Dimensions QUALIFIED8Ivan Magalhaes
1010Mayumi U SchemmerJapan2025-08-13Chemel, James L Cpa PROPOSAL59Bernardo Dominic
1011Antonio U AmigonJapan2025-07-18Chemel, James L Cpa NEGOTIATION21Anna Fali
1012Isabel I BriddickUnited Kingdom2025-07-24Commercial Press RENEWAL3Bernardo Dominic
1013Clifford M MaletUnited Kingdom2025-07-22Printing Dimensions NEW3Anna Fali
1014Silvio C SchemmerRussia2025-07-19Morlong Associates RENEWAL61Amy Elsner
1015Wickens W NestleRussia2025-07-23Buckley Miller Wright NEGOTIATION61Elwin Sharvill
1016Adams S DoeUnited Kingdom2025-08-07Printing Dimensions NEW85Stephen Shaw
1017Chavez V MaletItaly2025-07-19Morlong Associates NEGOTIATION55Ioni Bowcher
1018Smith F MaletJapan2025-07-15Printing Dimensions NEW91Onyama Limba
1019Ricardo L KolmetzFrance2025-07-24Rangoni Of Florence UNQUALIFIED84Ivan Magalhaes
1020Faith S FlosiCanada2025-08-04Feltz Printing Service UNQUALIFIED82Xuxue Feng
1021Isabel X IturbideIndia2025-07-22Buckley Miller Wright NEGOTIATION19Stephen Shaw
1022Murillo G GillianFrance2025-07-23Buckley Miller Wright RENEWAL4Bernardo Dominic
1023Alejandro P CaudySpain2025-07-29Chapman, Ross E Esq QUALIFIED36Xuxue Feng
1024Jennifer F SaylorsGermany2025-08-06Commercial Press PROPOSAL36Elwin Sharvill
1025Deepesh S AmigonJapan2025-08-11Chanay, Jeffrey A Esq PROPOSAL78Ivan Magalhaes
1026Juan A FlosiUnited Kingdom2025-07-28Commercial Press QUALIFIED44Xuxue Feng
1027Munro K RimIndia2025-07-15Rangoni Of Florence NEGOTIATION87Amy Elsner
1028Aruna V FlosiGermany2025-08-07Chemel, James L Cpa UNQUALIFIED59Asiya Javayant
1029Arvin O SchemmerGermany2025-07-17Chapman, Ross E Esq RENEWAL29Asiya Javayant
1030Wickens M CampainBrazil2025-07-18Chanay, Jeffrey A Esq QUALIFIED84Bernardo Dominic
1031Deepesh T VocelkaArgentina2025-08-10Feltz Printing Service RENEWAL26Bernardo Dominic
1032Kadeem P InouyeGermany2025-07-18Dorl, James J Esq QUALIFIED80Bernardo Dominic
1033Octavia B OstroskyRussia2025-07-28Chemel, James L Cpa NEGOTIATION49Stephen Shaw
1034Leja Q SaylorsGermany2025-07-25King, Christopher A Esq QUALIFIED61Bernardo Dominic
1035Jennifer Y CaldareraUnited Kingdom2025-08-06Truhlar And Truhlar Attys UNQUALIFIED6Anna Fali
1036Maisha X SaylorsSpain2025-07-16Chanay, Jeffrey A Esq QUALIFIED53Onyama Limba
1037Tony P OstroskyIndia2025-08-12Dorl, James J Esq PROPOSAL0Asiya Javayant
1038Misaki F BowleyArgentina2025-08-11Truhlar And Truhlar Attys UNQUALIFIED14Elwin Sharvill
1039Cody I DoeJapan2025-08-13Buckley Miller Wright NEW9Elwin Sharvill
1040Munro E FigeroaIndia2025-08-04Chapman, Ross E Esq RENEWAL16Amy Elsner
1041Maria K ButtArgentina2025-07-22Printing Dimensions NEGOTIATION70Asiya Javayant
1042Mayumi N WhobreyAustralia2025-07-18Commercial Press RENEWAL32Ioni Bowcher
1043Adams P CaldareraCanada2025-08-12Chapman, Ross E Esq NEW55Stephen Shaw
1044Cody Z TollnerGermany2025-07-20Rangoni Of Florence NEGOTIATION47Xuxue Feng
1045Leja T SaylorsJapan2025-08-08Chemel, James L Cpa NEGOTIATION86Elwin Sharvill
1046Morrow S FlosiAustralia2025-07-28Rangoni Of Florence PROPOSAL61Xuxue Feng
1047Mujtaba A ShinkoCanada2025-08-09Rangoni Of Florence PROPOSAL24Ivan Magalhaes
1048David R SaylorsItaly2025-07-16Dorl, James J Esq PROPOSAL63Stephen Shaw
1049Izzy M PaprockiItaly2025-07-21Commercial Press UNQUALIFIED43Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba I KuskoBrazilBernardo Dominic PROPOSAL
Smith B WieserAustraliaAsiya Javayant NEW
Julie K FollerFranceXuxue Feng QUALIFIED
Jones U BologniaItalyStephen Shaw QUALIFIED
Silvio S DarakjyArgentinaAsiya Javayant RENEWAL
Izzy R SergiAustraliaElwin Sharvill PROPOSAL
Ivar W IturbideArgentinaBernardo Dominic QUALIFIED
Chavez K PaprockiGermanyAnna Fali RENEWAL
James X PoquetteGermanyAnna Fali UNQUALIFIED
Cody U SergiRussiaOnyama Limba RENEWAL
Deepesh M VenereUnited KingdomElwin Sharvill PROPOSAL
Juan E KuskoArgentinaAmy Elsner NEGOTIATION
Jeanfrancois L VenereJapanAnna Fali RENEWAL
Mayumi J RoysterUnited KingdomAsiya Javayant PROPOSAL
Johnson T GlickItalyIoni Bowcher NEW
Isabel R NestleAustraliaAnna Fali NEGOTIATION
Sinclair H ButtRussiaAnna Fali QUALIFIED
Sinclair K WieserAustraliaStephen Shaw PROPOSAL
Cody L NestleSpainIvan Magalhaes NEW
Maria D OstroskyIndiaIoni Bowcher NEW
Isabel M AlbaresGermanyXuxue Feng NEGOTIATION
Leon K DarakjyItalyAnna Fali NEW
Cody Z RutaRussiaBernardo Dominic PROPOSAL
Tony A CaudyFranceBernardo Dominic PROPOSAL
Smith M InouyeBrazilAnna Fali NEGOTIATION
Ashley O GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Juan Q StockhamAustraliaAmy Elsner RENEWAL
Cody B FlosiSpainIoni Bowcher UNQUALIFIED
Cody X WhobreyIndiaAmy Elsner PROPOSAL
Aruna G MaletAustraliaAnna Fali UNQUALIFIED
Maisha U GillianFranceAsiya Javayant NEGOTIATION
Juan R WhobreyRussiaXuxue Feng RENEWAL
Silvio K PoquetteAustraliaIoni Bowcher QUALIFIED
Alejandro D SlusarskiSpainAnna Fali RENEWAL
Leon V BowleyIndiaIvan Magalhaes QUALIFIED
Maria U ShinkoCanadaXuxue Feng UNQUALIFIED
Maisha S MarrierGermanyOnyama Limba NEW
Isabel Z BowleyBrazilElwin Sharvill NEGOTIATION
David A MacleadSpainStephen Shaw UNQUALIFIED
Chavez O DarakjyJapanIoni Bowcher QUALIFIED
Kadeem F FlosiBrazilStephen Shaw RENEWAL
Munro X GauchoGermanyIvan Magalhaes PROPOSAL
Wickens Y StockhamBrazilStephen Shaw UNQUALIFIED
Arvin R SlusarskiGermanyIvan Magalhaes NEW
Aditya F ButtUnited KingdomBernardo Dominic RENEWAL
Kadeem L MorascaBrazilIoni Bowcher UNQUALIFIED
David O VenereAustraliaElwin Sharvill RENEWAL
Jones G KolmetzArgentinaElwin Sharvill NEW
Leja P GillianJapanAsiya Javayant QUALIFIED
Aruna K FollerUnited KingdomAnna Fali UNQUALIFIED
Frozen Columns
Name
Emily H Wieser
Misaki C Ruta
Wickens E Doe
Jefferson B Paprocki
Maisha V Shinko
Aika H Vocelka
David P Inouye
Antonio B Venere
Claire A Campain
Mayumi P Caldarera
Salvatore G Oldroyd
Deepesh J Flosi
Adams C Ruta
Johnson W Ruta
Ivar X Gaucho
Jones L Chui
Ivar M Venere
Antonio S Whobrey
Arvin B Darakjy
Greenwood W Waycott
Jennifer S Malet
Octavia T Perin
Mujtaba G Bolognia
Aika B Caldarera
Sinclair P Shinko
Jones G Butt
Ashley Q Sergi
Adams L Campain
Aditya L Briddick
Munro E Slusarski
Cody P Kolmetz
Mujtaba A Oldroyd
Silvio V Doe
Adams R Bowley
Kadeem T Caldarera
Ivar G Waycott
Nicolas F Wieser
Leon K Paprocki
Faith H Gaucho
Claire P Rim
Costa R Gaucho
Jefferson J Gaucho
Johnson R Marrier
Leja B Inouye
Greenwood S Ostrosky
James A Garufi
Arvin B Stenseth
Wickens P Bowley
Ashley Y Whobrey
Stacey L Amigon
IdCountryDate
1000Brazil2025-07-21
1001Japan2025-07-21
1002India2025-07-20
1003Spain2025-08-03
1004France2025-07-19
1005Germany2025-08-05
1006Canada2025-08-10
1007Argentina2025-08-04
1008Japan2025-07-15
1009Italy2025-08-10
1010India2025-08-03
1011Argentina2025-07-24
1012Australia2025-07-16
1013Spain2025-07-29
1014Argentina2025-08-10
1015United Kingdom2025-07-26
1016Argentina2025-07-21
1017Italy2025-07-18
1018Brazil2025-07-27
1019Japan2025-07-17
1020France2025-07-20
1021Australia2025-07-23
1022Italy2025-07-18
1023Australia2025-08-01
1024Germany2025-07-18
1025Japan2025-07-30
1026Brazil2025-07-19
1027India2025-07-18
1028Japan2025-07-28
1029Spain2025-07-27
1030Argentina2025-07-19
1031Japan2025-07-20
1032France2025-07-25
1033United Kingdom2025-08-12
1034Germany2025-07-20
1035Brazil2025-07-21
1036Russia2025-07-23
1037Australia2025-07-19
1038Brazil2025-07-19
1039Germany2025-07-25
1040Australia2025-07-23
1041United Kingdom2025-08-11
1042Spain2025-07-15
1043United Kingdom2025-07-24
1044Japan2025-07-24
1045Canada2025-08-04
1046India2025-07-17
1047France2025-07-30
1048Argentina2025-08-07
1049Spain2025-08-06

On-Demand Data

NameIdCountryDate
Claire M Butt1000Russia2025-07-19
Isabel X Paprocki1001Germany2025-08-05
Stacey N Malet1002Germany2025-08-06
Tony B Foller1003United Kingdom2025-08-10
Leja N Butt1004India2025-07-24
Sinclair T Figeroa1005Germany2025-07-17
Jefferson E Royster1006Australia2025-07-22
Francesco T Flosi1007Canada2025-08-05
Darci Y Ferencz1008India2025-08-13
Stacey T Butt1009India2025-08-04
Sinclair Z Briddick1010Russia2025-07-23
Octavia N Vocelka1011France2025-08-11
Darci B Waycott1012Russia2025-07-26
Murillo V Paprocki1013India2025-07-27
Tony J Albares1014France2025-07-18
Faith M Ruta1015Italy2025-07-26
Mayumi X Venere1016Japan2025-07-31
Kaitlin E Saylors1017Germany2025-08-03
Chavez X Iturbide1018Russia2025-08-08
Leja H Amigon1019Argentina2025-07-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya B VenereCanadaStephen Shaw RENEWAL
Aruna X KolmetzRussiaStephen Shaw NEW
Antonio V PaprockiAustraliaXuxue Feng NEW
Aika H GillianCanadaXuxue Feng UNQUALIFIED
Juan D CaldareraRussiaIoni Bowcher RENEWAL
Stacey M IturbideArgentinaAsiya Javayant RENEWAL
Chavez F AmigonJapanBernardo Dominic UNQUALIFIED
Tony I DoeIndiaIvan Magalhaes PROPOSAL
Misaki J IturbideRussiaIvan Magalhaes RENEWAL
Izzy V RimArgentinaIoni Bowcher PROPOSAL
Aditya S TollnerArgentinaIoni Bowcher RENEWAL
Octavia K VocelkaUnited KingdomOnyama Limba NEGOTIATION
Smith G PoquetteCanadaXuxue Feng PROPOSAL
Antonio U StensethIndiaAnna Fali NEGOTIATION
Munro V OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Jeanfrancois D RulapaughItalyAsiya Javayant NEGOTIATION
Nicolas X FlosiAustraliaElwin Sharvill QUALIFIED
Emily S SlusarskiBrazilAmy Elsner NEW
Ashley Q DilliardArgentinaBernardo Dominic QUALIFIED
Deepesh U TollnerBrazilElwin Sharvill PROPOSAL
Julie I PerinGermanyAnna Fali NEW
Johnson J FerenczUnited KingdomAsiya Javayant QUALIFIED
Mujtaba P ButtArgentinaIoni Bowcher NEW
Murillo O FigeroaUnited KingdomBernardo Dominic NEW
Aruna U GillianArgentinaElwin Sharvill RENEWAL
Leja B RoysterBrazilAmy Elsner PROPOSAL
Octavia G MorascaGermanyXuxue Feng NEW
Arvin W ChuiBrazilBernardo Dominic NEGOTIATION
Octavia H BowleyRussiaElwin Sharvill NEGOTIATION
Nicolas X TollnerGermanyIoni Bowcher UNQUALIFIED
Johnson L BologniaJapanIvan Magalhaes PROPOSAL
Misaki B StensethUnited KingdomStephen Shaw PROPOSAL
Chavez F OstroskyGermanyAsiya Javayant NEGOTIATION
Deepesh Q IturbideIndiaElwin Sharvill UNQUALIFIED
Jefferson I NestleGermanyBernardo Dominic RENEWAL
Faith J SaylorsUnited KingdomIoni Bowcher NEW
Francesco G SlusarskiArgentinaXuxue Feng PROPOSAL
Mujtaba S CaudyRussiaBernardo Dominic PROPOSAL
Greenwood Y RutaCanadaStephen Shaw PROPOSAL
Aditya N FlosiGermanyIoni Bowcher 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>