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
Ricardo O GillianUnited KingdomBernardo Dominic NEGOTIATION
Alejandro F BowleyFranceAmy Elsner QUALIFIED
Leon R RoysterRussiaAnna Fali QUALIFIED
Munro N NickaFranceElwin Sharvill PROPOSAL
Jennifer U OldroydGermanyOnyama Limba RENEWAL
Darci I PerinItalyAnna Fali NEW
Jefferson N FlosiArgentinaOnyama Limba UNQUALIFIED
David N PerinRussiaAsiya Javayant QUALIFIED
Jefferson V WieserCanadaXuxue Feng QUALIFIED
James B MorascaRussiaAsiya Javayant RENEWAL
Greenwood Q RimGermanyAnna Fali QUALIFIED
Jefferson N NestleJapanIoni Bowcher QUALIFIED
Aruna F GillianItalyAnna Fali RENEWAL
Jones F CaudyRussiaIvan Magalhaes NEGOTIATION
Maisha R PerinArgentinaStephen Shaw NEW
Jennifer P IturbideAustraliaIoni Bowcher RENEWAL
Jones U GauchoFranceXuxue Feng PROPOSAL
Stacey G VocelkaItalyBernardo Dominic QUALIFIED
Isabel X NestleCanadaAsiya Javayant RENEWAL
Emily S IturbideUnited KingdomAnna Fali QUALIFIED
Deepesh I DarakjyUnited KingdomOnyama Limba PROPOSAL
Stacey K OstroskyFranceElwin Sharvill UNQUALIFIED
Jeanfrancois B MarrierFranceAmy Elsner RENEWAL
Jones X MaletUnited KingdomElwin Sharvill PROPOSAL
Jeanfrancois Y MaletArgentinaXuxue Feng QUALIFIED
Leja M WieserJapanBernardo Dominic NEGOTIATION
Aika D KuskoCanadaElwin Sharvill UNQUALIFIED
Deepesh X MaletRussiaAmy Elsner NEGOTIATION
Smith Y MacleadCanadaAnna Fali QUALIFIED
Faith R SaylorsIndiaXuxue Feng NEGOTIATION
Smith K CaldareraUnited KingdomAmy Elsner QUALIFIED
Juan B SergiCanadaElwin Sharvill RENEWAL
Silvio U CaldareraItalyXuxue Feng PROPOSAL
Cody P IturbideArgentinaStephen Shaw NEGOTIATION
Ivar A MorascaSpainIoni Bowcher QUALIFIED
Johnson N SlusarskiJapanStephen Shaw RENEWAL
Stacey W CaudySpainBernardo Dominic PROPOSAL
Stacey D PaprockiCanadaAmy Elsner NEGOTIATION
Ivar C DilliardCanadaAnna Fali QUALIFIED
Maisha X KolmetzRussiaIoni Bowcher QUALIFIED
Jefferson G MorascaItalyXuxue Feng NEGOTIATION
Murillo Z FlosiUnited KingdomOnyama Limba NEW
Clifford X StockhamItalyStephen Shaw QUALIFIED
Maria Y FlosiItalyAmy Elsner NEW
Mayumi Q RulapaughBrazilBernardo Dominic NEW
Adams W VocelkaAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois W KolmetzFranceStephen Shaw RENEWAL
Kadeem N FerenczIndiaStephen Shaw NEW
Nicolas C NickaIndiaAnna Fali RENEWAL
Julie F OldroydArgentinaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo Q PerinFranceStephen Shaw RENEWAL
Octavia F CaudyAustraliaAsiya Javayant UNQUALIFIED
Smith O PoquetteBrazilIvan Magalhaes QUALIFIED
Deepesh B VenereAustraliaIoni Bowcher UNQUALIFIED
Munro K GauchoArgentinaBernardo Dominic QUALIFIED
Adams X GarufiFranceBernardo Dominic NEGOTIATION
Wickens O MaletSpainStephen Shaw PROPOSAL
Salvatore L DilliardItalyBernardo Dominic NEW
Smith E ShinkoAustraliaXuxue Feng PROPOSAL
James F SchemmerArgentinaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar Y RoysterArgentina2025-09-26Commercial Press QUALIFIED30Amy Elsner
1001Leon Q NestleItaly2025-09-29Dorl, James J Esq QUALIFIED1Onyama Limba
1002Morrow I SaylorsJapan2025-10-08King, Christopher A Esq QUALIFIED33Amy Elsner
1003Rodrigues U MaletRussia2025-10-05Buckley Miller Wright NEGOTIATION3Bernardo Dominic
1004Leon M RutaRussia2025-09-22Rangoni Of Florence UNQUALIFIED51Ioni Bowcher
1005Jefferson Q RulapaughArgentina2025-09-18Rangoni Of Florence NEW91Asiya Javayant
1006Munro J SaylorsArgentina2025-09-13Commercial Press UNQUALIFIED54Xuxue Feng
1007Ashley I MacleadRussia2025-09-29Feltz Printing Service NEGOTIATION93Elwin Sharvill
1008Tony Y WaycottItaly2025-09-13Rousseaux, Michael Esq NEGOTIATION85Elwin Sharvill
1009Ashley Y PaprockiItaly2025-10-07Benton, John B Jr UNQUALIFIED50Asiya Javayant
1010Sinclair Q CaudyCanada2025-09-14Chapman, Ross E Esq PROPOSAL54Onyama Limba
1011Izzy A NestleAustralia2025-09-22Feiner Bros RENEWAL95Xuxue Feng
1012David Z FerenczJapan2025-09-22Rangoni Of Florence RENEWAL17Bernardo Dominic
1013Leon B GarufiItaly2025-09-11Commercial Press NEGOTIATION39Elwin Sharvill
1014Jones J MacleadSpain2025-09-12King, Christopher A Esq UNQUALIFIED27Anna Fali
1015Deepesh M WhobreyIndia2025-09-19Commercial Press RENEWAL61Stephen Shaw
1016Ivar C RulapaughItaly2025-10-04Benton, John B Jr QUALIFIED6Ivan Magalhaes
1017Ivar B ShinkoAustralia2025-09-11King, Christopher A Esq NEGOTIATION73Stephen Shaw
1018Aditya Z BologniaItaly2025-10-02Benton, John B Jr PROPOSAL98Amy Elsner
1019Octavia F NestleJapan2025-10-03Buckley Miller Wright NEGOTIATION27Onyama Limba
1020Mayumi T AmigonJapan2025-09-26Chemel, James L Cpa QUALIFIED53Ivan Magalhaes
1021Jeanfrancois Y CaudyUnited Kingdom2025-09-20Rousseaux, Michael Esq PROPOSAL56Xuxue Feng
1022Chavez E SchemmerFrance2025-09-19Truhlar And Truhlar Attys RENEWAL28Xuxue Feng
1023Francesco L CaudyIndia2025-09-28Buckley Miller Wright NEGOTIATION10Amy Elsner
1024Silvio W RulapaughIndia2025-09-17Printing Dimensions NEW74Asiya Javayant
1025Mayumi H BriddickFrance2025-10-05Morlong Associates QUALIFIED47Onyama Limba
1026Jefferson G WhobreyGermany2025-09-24Truhlar And Truhlar Attys RENEWAL26Asiya Javayant
1027Isabel I BriddickUnited Kingdom2025-09-28King, Christopher A Esq NEGOTIATION69Asiya Javayant
1028Antonio Y ShinkoGermany2025-09-15Commercial Press QUALIFIED81Stephen Shaw
1029Jones B CampainRussia2025-09-22Feltz Printing Service RENEWAL70Ivan Magalhaes
1030Antonio U GlickFrance2025-10-08Chapman, Ross E Esq UNQUALIFIED95Onyama Limba
1031Arvin N VocelkaUnited Kingdom2025-09-12Feiner Bros QUALIFIED16Bernardo Dominic
1032Greenwood W NestleUnited Kingdom2025-10-08Rangoni Of Florence NEGOTIATION4Onyama Limba
1033Jones D RimIndia2025-10-04Benton, John B Jr PROPOSAL12Ivan Magalhaes
1034Clifford F PaprockiJapan2025-10-06Commercial Press NEW15Elwin Sharvill
1035Isabel B VenereFrance2025-09-15Benton, John B Jr QUALIFIED94Stephen Shaw
1036Aruna I InouyeUnited Kingdom2025-10-05Printing Dimensions PROPOSAL98Ioni Bowcher
1037Costa Z ShinkoIndia2025-10-07Commercial Press NEW33Elwin Sharvill
1038Isabel Z BriddickSpain2025-10-02Printing Dimensions PROPOSAL81Xuxue Feng
1039Faith U FollerGermany2025-09-17Buckley Miller Wright PROPOSAL38Bernardo Dominic
1040Aditya A RoysterArgentina2025-09-20Rousseaux, Michael Esq QUALIFIED96Asiya Javayant
1041Francesco R FigeroaArgentina2025-09-18Truhlar And Truhlar Attys NEGOTIATION1Anna Fali
1042Maisha X RulapaughCanada2025-10-03Dorl, James J Esq RENEWAL68Ioni Bowcher
1043Rodrigues R FollerItaly2025-09-23Commercial Press QUALIFIED54Ivan Magalhaes
1044Johnson C BologniaBrazil2025-09-15Morlong Associates PROPOSAL95Onyama Limba
1045Greenwood K KuskoIndia2025-10-08Feiner Bros UNQUALIFIED41Asiya Javayant
1046Chavez N DoeUnited Kingdom2025-09-12Chanay, Jeffrey A Esq UNQUALIFIED75Bernardo Dominic
1047Emily E SlusarskiSpain2025-09-27Buckley Miller Wright RENEWAL47Bernardo Dominic
1048Maisha P FigeroaIndia2025-09-29King, Christopher A Esq NEW67Elwin Sharvill
1049Nicolas C MaletIndia2025-10-08Dorl, James J Esq PROPOSAL3Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Leon K VocelkaBrazilXuxue Feng NEGOTIATION
Mujtaba F InouyeCanadaIvan Magalhaes UNQUALIFIED
Sinclair D KolmetzArgentinaAsiya Javayant UNQUALIFIED
Faith Y CampainRussiaElwin Sharvill PROPOSAL
Alejandro J KuskoJapanIvan Magalhaes NEGOTIATION
Wickens H PerinArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois Y GauchoSpainAnna Fali UNQUALIFIED
Ricardo I NickaAustraliaOnyama Limba NEGOTIATION
Maria M CaldareraJapanBernardo Dominic NEW
Claire Z WaycottIndiaBernardo Dominic NEGOTIATION
Adams P PoquetteAustraliaStephen Shaw NEW
Izzy J KuskoArgentinaXuxue Feng UNQUALIFIED
Smith B MorascaArgentinaStephen Shaw PROPOSAL
Tony U DarakjyRussiaElwin Sharvill NEW
Stacey V MacleadJapanAsiya Javayant NEGOTIATION
Morrow F SergiItalyAmy Elsner QUALIFIED
Claire C IturbideUnited KingdomAnna Fali PROPOSAL
Jennifer X StockhamJapanBernardo Dominic NEW
Darci F NickaSpainIoni Bowcher NEGOTIATION
Stacey A PoquetteCanadaBernardo Dominic RENEWAL
Stacey N SergiIndiaIvan Magalhaes NEW
Claire U SergiCanadaOnyama Limba UNQUALIFIED
Aika F RulapaughJapanAmy Elsner PROPOSAL
Octavia D RimArgentinaAmy Elsner NEGOTIATION
Johnson V WaycottUnited KingdomOnyama Limba NEGOTIATION
Leja I FlosiCanadaXuxue Feng QUALIFIED
Arvin L NestleFranceStephen Shaw QUALIFIED
Misaki I FlosiArgentinaIoni Bowcher NEW
David W FollerCanadaXuxue Feng NEGOTIATION
Adams K KolmetzSpainIoni Bowcher UNQUALIFIED
James S MaletAustraliaElwin Sharvill NEGOTIATION
Aika O RutaSpainElwin Sharvill RENEWAL
James R VenereArgentinaXuxue Feng UNQUALIFIED
Maisha L MorascaCanadaOnyama Limba UNQUALIFIED
Leja V MaletUnited KingdomElwin Sharvill QUALIFIED
Morrow Y AmigonCanadaAsiya Javayant NEW
Octavia H RoysterGermanyBernardo Dominic NEGOTIATION
Mujtaba K AmigonUnited KingdomXuxue Feng QUALIFIED
Ashley A MacleadSpainAnna Fali NEGOTIATION
Maria K BowleyArgentinaAnna Fali UNQUALIFIED
Faith S MarrierRussiaAsiya Javayant QUALIFIED
Rodrigues Q AlbaresJapanStephen Shaw NEGOTIATION
Stacey K SchemmerRussiaIoni Bowcher NEW
Alejandro L BriddickAustraliaIvan Magalhaes NEGOTIATION
Deepesh E KolmetzJapanAnna Fali RENEWAL
Julie S InouyeFranceOnyama Limba UNQUALIFIED
Emily C MacleadRussiaIvan Magalhaes PROPOSAL
Aditya Z RoysterItalyAnna Fali NEW
Darci J MaletArgentinaOnyama Limba RENEWAL
Murillo D MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Munro U Poquette
Mujtaba N Nicka
Rodrigues T Figeroa
Emily D Glick
Ashley J Caldarera
Juan A Briddick
Jeanfrancois R Iturbide
Ashley O Perin
Juan C Perin
Emily A Iturbide
Arvin K Dilliard
Mayumi O Inouye
Kadeem Q Paprocki
Kaitlin K Inouye
Cody J Iturbide
Johnson Z Caldarera
Claire D Nicka
Nicolas D Shinko
Alejandro E Malet
Morrow D Ferencz
Leja A Glick
Wickens C Kolmetz
Stacey N Ostrosky
Sinclair X Foller
Nicolas C Butt
Claire S Paprocki
Jeanfrancois C Ostrosky
Octavia T Vocelka
Nicolas K Albares
Izzy M Gillian
Alejandro A Poquette
Tony W Whobrey
Silvio Z Sergi
Kaitlin J Malet
Wickens V Malet
Johnson Q Stockham
Alejandro I Doe
Salvatore U Maclead
Izzy G Garufi
Murillo W Shinko
Sinclair B Ruta
Mayumi V Shinko
Cody J Vocelka
Cody C Gillian
Juan H Stockham
David V Kolmetz
Adams R Morasca
Mayumi R Nestle
Claire Z Marrier
Leon X Waycott
IdCountryDate
1000Australia2025-09-29
1001Germany2025-09-25
1002Canada2025-09-13
1003Canada2025-09-17
1004Russia2025-10-09
1005Canada2025-10-05
1006Russia2025-09-27
1007Argentina2025-09-21
1008Canada2025-09-14
1009France2025-09-25
1010India2025-10-06
1011United Kingdom2025-09-26
1012India2025-10-06
1013France2025-09-26
1014United Kingdom2025-09-13
1015France2025-10-02
1016Spain2025-10-09
1017Australia2025-10-02
1018Brazil2025-09-30
1019Germany2025-09-16
1020Brazil2025-09-22
1021Italy2025-09-18
1022Italy2025-09-30
1023Germany2025-10-09
1024Russia2025-09-15
1025Germany2025-09-19
1026Japan2025-10-03
1027Canada2025-09-29
1028Germany2025-09-21
1029Italy2025-10-01
1030India2025-09-12
1031Japan2025-09-11
1032India2025-09-13
1033Canada2025-10-04
1034India2025-10-06
1035Australia2025-09-26
1036United Kingdom2025-09-20
1037France2025-09-21
1038Italy2025-09-22
1039Italy2025-09-22
1040France2025-09-29
1041Russia2025-09-30
1042Russia2025-09-29
1043Japan2025-09-27
1044Canada2025-09-16
1045United Kingdom2025-09-17
1046Spain2025-10-10
1047Germany2025-09-18
1048Spain2025-09-12
1049India2025-09-25

On-Demand Data

NameIdCountryDate
Mujtaba X Saylors1000United Kingdom2025-10-07
Leon X Briddick1001Spain2025-09-13
Emily A Oldroyd1002Brazil2025-09-19
Ivar P Malet1003Japan2025-09-21
David O Malet1004Australia2025-10-06
Aruna S Doe1005Brazil2025-09-26
James P Royster1006Spain2025-09-16
Clifford W Figeroa1007Brazil2025-09-15
Jennifer N Venere1008Argentina2025-09-19
Rodrigues I Stockham1009Russia2025-09-20
Tony W Rim1010Australia2025-09-28
Octavia J Saylors1011Australia2025-10-02
Ivar K Malet1012Australia2025-09-19
David E Caudy1013France2025-09-14
Chavez C Campain1014Canada2025-09-15
Munro A Ferencz1015Brazil2025-10-06
Silvio Y Rim1016Australia2025-10-07
Salvatore P Morasca1017Spain2025-09-25
Costa V Amigon1018France2025-10-02
Emily T Vocelka1019Argentina2025-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez Y VenereUnited KingdomAnna Fali UNQUALIFIED
Arvin Z SchemmerItalyAmy Elsner NEGOTIATION
Wickens D CaldareraAustraliaAnna Fali PROPOSAL
Ivar K ButtCanadaElwin Sharvill UNQUALIFIED
David S MacleadGermanyIvan Magalhaes NEW
Maria O PaprockiRussiaBernardo Dominic UNQUALIFIED
Aruna C SaylorsFranceElwin Sharvill NEGOTIATION
Antonio S MacleadRussiaXuxue Feng RENEWAL
Cody I InouyeUnited KingdomAnna Fali NEGOTIATION
Julie S CampainFranceXuxue Feng PROPOSAL
Kadeem B CampainAustraliaAmy Elsner RENEWAL
Cody V WhobreySpainOnyama Limba PROPOSAL
Silvio S BriddickArgentinaElwin Sharvill PROPOSAL
Adams N FigeroaArgentinaAmy Elsner UNQUALIFIED
Arvin D BologniaBrazilAnna Fali RENEWAL
David N VocelkaItalyStephen Shaw RENEWAL
Jefferson N RimUnited KingdomOnyama Limba NEW
Kadeem G IturbideJapanAsiya Javayant QUALIFIED
Alejandro J InouyeGermanyAnna Fali RENEWAL
Stacey I VocelkaIndiaAnna Fali UNQUALIFIED
Arvin P CaldareraUnited KingdomStephen Shaw NEGOTIATION
Johnson X MacleadAustraliaIvan Magalhaes NEW
Murillo F CampainGermanyStephen Shaw NEGOTIATION
Silvio H GarufiItalyAmy Elsner NEW
Ricardo V MacleadAustraliaBernardo Dominic PROPOSAL
Deepesh A GauchoArgentinaElwin Sharvill NEGOTIATION
Silvio U RulapaughSpainAmy Elsner PROPOSAL
Jones S KolmetzSpainBernardo Dominic QUALIFIED
Sinclair U RutaCanadaElwin Sharvill RENEWAL
Clifford A SlusarskiCanadaAnna Fali PROPOSAL
Isabel N RimIndiaBernardo Dominic NEGOTIATION
Leon U FollerSpainAmy Elsner NEGOTIATION
Leja S InouyeCanadaAsiya Javayant NEW
Jennifer U MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson J OldroydBrazilIvan Magalhaes UNQUALIFIED
Mayumi Y NickaGermanyIvan Magalhaes NEW
Cody W FollerIndiaXuxue Feng NEGOTIATION
Darci V DilliardBrazilElwin Sharvill UNQUALIFIED
Juan I RoysterItalyBernardo Dominic QUALIFIED
Isabel W FerenczArgentinaElwin Sharvill 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>