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
Misaki V DilliardItalyXuxue Feng PROPOSAL
Jefferson N BowleyGermanyStephen Shaw RENEWAL
Aika J VenereIndiaAnna Fali RENEWAL
Jeanfrancois R SaylorsCanadaAmy Elsner PROPOSAL
Misaki R FigeroaBrazilAsiya Javayant UNQUALIFIED
Julie G FerenczCanadaIvan Magalhaes PROPOSAL
Ricardo V MaletFranceIoni Bowcher QUALIFIED
Mujtaba X ButtSpainAsiya Javayant NEGOTIATION
James A RimJapanIoni Bowcher RENEWAL
Rodrigues W DarakjyUnited KingdomAnna Fali RENEWAL
Deepesh J MarrierUnited KingdomOnyama Limba RENEWAL
David I SlusarskiIndiaXuxue Feng RENEWAL
Juan J SlusarskiBrazilIvan Magalhaes RENEWAL
Greenwood V SergiSpainStephen Shaw RENEWAL
Juan D IturbideAustraliaBernardo Dominic RENEWAL
Ashley W CaudyCanadaIoni Bowcher RENEWAL
Cody C MaletAustraliaXuxue Feng NEW
Costa N PerinGermanyOnyama Limba NEGOTIATION
Isabel S DilliardItalyElwin Sharvill QUALIFIED
Johnson R SchemmerItalyIvan Magalhaes NEW
Jennifer N StockhamRussiaBernardo Dominic UNQUALIFIED
Munro E SlusarskiIndiaXuxue Feng QUALIFIED
Ricardo W GillianAustraliaElwin Sharvill UNQUALIFIED
Leja N FlosiCanadaAsiya Javayant UNQUALIFIED
Clifford K VocelkaIndiaElwin Sharvill QUALIFIED
Jones G NestleArgentinaIoni Bowcher NEGOTIATION
Antonio E AmigonJapanAmy Elsner QUALIFIED
Isabel Z PoquetteArgentinaAsiya Javayant QUALIFIED
Leon Z MacleadAustraliaOnyama Limba UNQUALIFIED
Wickens Y MacleadSpainXuxue Feng RENEWAL
Nicolas X NestleItalyOnyama Limba NEGOTIATION
Deepesh L BriddickItalyElwin Sharvill UNQUALIFIED
Tony M IturbideCanadaElwin Sharvill RENEWAL
Aruna F VenereBrazilElwin Sharvill RENEWAL
Johnson V RutaJapanAnna Fali UNQUALIFIED
Leja L RimIndiaAsiya Javayant PROPOSAL
Deepesh E PerinJapanAnna Fali NEGOTIATION
Munro O GillianUnited KingdomXuxue Feng NEGOTIATION
Octavia Q FlosiUnited KingdomIvan Magalhaes NEW
Faith Z GarufiItalyAmy Elsner NEGOTIATION
Jefferson Y ChuiIndiaStephen Shaw UNQUALIFIED
Wickens O GillianAustraliaXuxue Feng UNQUALIFIED
David I SchemmerJapanOnyama Limba UNQUALIFIED
Rodrigues O OstroskyJapanIvan Magalhaes NEGOTIATION
Darci N GlickRussiaAsiya Javayant UNQUALIFIED
Stacey Z MarrierSpainOnyama Limba RENEWAL
Adams H RimJapanAmy Elsner UNQUALIFIED
Adams D PaprockiItalyXuxue Feng RENEWAL
Isabel F BologniaGermanyAnna Fali RENEWAL
Chavez C WieserJapanAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin N WieserArgentinaAmy Elsner UNQUALIFIED
Aika J SlusarskiCanadaAnna Fali NEGOTIATION
Morrow Y StensethIndiaIvan Magalhaes PROPOSAL
Misaki W GarufiUnited KingdomIoni Bowcher PROPOSAL
Jefferson N AlbaresBrazilElwin Sharvill NEGOTIATION
Aika T WaycottIndiaStephen Shaw NEW
Ricardo V AlbaresBrazilElwin Sharvill NEGOTIATION
Wickens C DarakjyRussiaOnyama Limba NEGOTIATION
Jennifer X FlosiIndiaBernardo Dominic NEGOTIATION
Ashley J FollerBrazilOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo K VocelkaUnited Kingdom2025-10-07Chanay, Jeffrey A Esq QUALIFIED41Asiya Javayant
1001Deepesh L StockhamBrazil2025-09-30Chanay, Jeffrey A Esq PROPOSAL0Elwin Sharvill
1002Tony I MaletArgentina2025-09-19Rangoni Of Florence QUALIFIED26Stephen Shaw
1003Jeanfrancois P BologniaAustralia2025-09-12Chemel, James L Cpa QUALIFIED75Onyama Limba
1004Stacey L GarufiRussia2025-10-06Chapman, Ross E Esq RENEWAL11Bernardo Dominic
1005Maria D RoysterArgentina2025-10-02Rangoni Of Florence UNQUALIFIED6Stephen Shaw
1006David B MarrierFrance2025-09-26Rousseaux, Michael Esq RENEWAL59Elwin Sharvill
1007Faith V VocelkaFrance2025-09-19Chemel, James L Cpa QUALIFIED13Ivan Magalhaes
1008Misaki G OldroydGermany2025-09-22Commercial Press UNQUALIFIED97Stephen Shaw
1009Claire S WhobreyItaly2025-10-06Commercial Press NEW41Stephen Shaw
1010Arvin D CaudyBrazil2025-10-08Rousseaux, Michael Esq RENEWAL99Bernardo Dominic
1011Ricardo A ChuiBrazil2025-09-19Morlong Associates RENEWAL23Stephen Shaw
1012Greenwood F IturbideSpain2025-09-14Morlong Associates QUALIFIED20Stephen Shaw
1013Salvatore J DoeSpain2025-10-02King, Christopher A Esq QUALIFIED98Ivan Magalhaes
1014Ivar E CaudyArgentina2025-09-17Feiner Bros QUALIFIED26Ioni Bowcher
1015Arvin C ShinkoUnited Kingdom2025-10-06Feltz Printing Service NEW34Ivan Magalhaes
1016Juan J StensethBrazil2025-10-06Commercial Press RENEWAL7Ioni Bowcher
1017Sinclair I KolmetzFrance2025-09-15Chemel, James L Cpa NEGOTIATION37Ivan Magalhaes
1018Jones M WieserUnited Kingdom2025-10-09Benton, John B Jr PROPOSAL28Stephen Shaw
1019Arvin I OstroskyIndia2025-10-05Rousseaux, Michael Esq PROPOSAL81Ivan Magalhaes
1020Aruna H PaprockiFrance2025-09-27Morlong Associates NEW5Onyama Limba
1021Kaitlin W NestleJapan2025-09-29Morlong Associates PROPOSAL5Anna Fali
1022Aika T DilliardCanada2025-09-15Rangoni Of Florence PROPOSAL14Onyama Limba
1023Nicolas V PaprockiAustralia2025-10-10Feiner Bros RENEWAL92Onyama Limba
1024Mayumi P WaycottIndia2025-10-07Rousseaux, Michael Esq RENEWAL91Elwin Sharvill
1025Munro K MacleadFrance2025-10-07Chanay, Jeffrey A Esq NEW30Asiya Javayant
1026Faith S CampainJapan2025-10-06Chemel, James L Cpa NEW56Bernardo Dominic
1027Jennifer W CaldareraAustralia2025-10-03Rousseaux, Michael Esq NEW91Ivan Magalhaes
1028Isabel B OstroskyUnited Kingdom2025-10-04Truhlar And Truhlar Attys PROPOSAL86Elwin Sharvill
1029Costa C WieserIndia2025-10-11Feltz Printing Service UNQUALIFIED5Xuxue Feng
1030Alejandro I GillianJapan2025-09-22Commercial Press NEW50Elwin Sharvill
1031Aditya C GarufiGermany2025-09-25Morlong Associates NEW65Ioni Bowcher
1032Juan E MarrierIndia2025-09-29Buckley Miller Wright NEGOTIATION35Stephen Shaw
1033Maisha A SchemmerFrance2025-09-17Chapman, Ross E Esq QUALIFIED58Xuxue Feng
1034Kaitlin C GillianBrazil2025-09-22King, Christopher A Esq PROPOSAL83Onyama Limba
1035Wickens E VenereBrazil2025-09-15Chanay, Jeffrey A Esq NEGOTIATION47Xuxue Feng
1036Silvio T WieserJapan2025-09-27Chanay, Jeffrey A Esq QUALIFIED85Ivan Magalhaes
1037Morrow T FlosiSpain2025-09-25Chapman, Ross E Esq UNQUALIFIED52Onyama Limba
1038Mayumi H WieserIndia2025-09-28Rousseaux, Michael Esq NEW44Stephen Shaw
1039Jefferson V VenereItaly2025-09-20Printing Dimensions PROPOSAL24Ioni Bowcher
1040Alejandro Z MarrierGermany2025-09-14Chanay, Jeffrey A Esq NEW34Elwin Sharvill
1041Nicolas V RoysterBrazil2025-09-24Chanay, Jeffrey A Esq NEW23Amy Elsner
1042Misaki E OldroydGermany2025-09-17King, Christopher A Esq RENEWAL71Elwin Sharvill
1043Chavez H AlbaresFrance2025-10-11Chanay, Jeffrey A Esq NEGOTIATION92Anna Fali
1044Maisha J SlusarskiItaly2025-10-04Rousseaux, Michael Esq QUALIFIED98Xuxue Feng
1045Maria Z DilliardArgentina2025-10-09Dorl, James J Esq QUALIFIED70Elwin Sharvill
1046Cody Z GarufiAustralia2025-10-11Commercial Press QUALIFIED40Amy Elsner
1047Tony Y BowleyBrazil2025-09-22Feiner Bros QUALIFIED1Amy Elsner
1048Deepesh E KolmetzBrazil2025-10-11Rangoni Of Florence QUALIFIED15Amy Elsner
1049Greenwood S BowleyArgentina2025-09-21Rousseaux, Michael Esq RENEWAL8Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Izzy A PerinIndiaAmy Elsner PROPOSAL
Emily G TollnerIndiaBernardo Dominic RENEWAL
Chavez N MacleadAustraliaAmy Elsner QUALIFIED
Costa K KuskoFranceAsiya Javayant QUALIFIED
Faith B VenereAustraliaXuxue Feng UNQUALIFIED
Nicolas C CampainGermanyAnna Fali NEW
Cody O GauchoIndiaIoni Bowcher QUALIFIED
Aruna J StockhamFranceAmy Elsner QUALIFIED
Kaitlin R WieserIndiaXuxue Feng UNQUALIFIED
Mujtaba Z SaylorsAustraliaOnyama Limba NEW
Adams X MacleadJapanXuxue Feng UNQUALIFIED
Johnson Y RutaGermanyXuxue Feng PROPOSAL
Clifford W AlbaresIndiaAsiya Javayant NEW
Isabel M CaudyBrazilOnyama Limba RENEWAL
Juan O PerinIndiaXuxue Feng NEGOTIATION
Francesco S CaudyRussiaXuxue Feng PROPOSAL
James N WaycottArgentinaXuxue Feng NEW
Claire E GlickJapanAnna Fali QUALIFIED
Juan M AmigonSpainElwin Sharvill RENEWAL
Mayumi X SchemmerSpainIvan Magalhaes QUALIFIED
Munro X ChuiIndiaIvan Magalhaes UNQUALIFIED
Smith K RutaItalyAsiya Javayant QUALIFIED
Kaitlin O CaudyCanadaAnna Fali PROPOSAL
Johnson G FollerIndiaStephen Shaw RENEWAL
Jeanfrancois D VenereRussiaAsiya Javayant QUALIFIED
Morrow F WieserBrazilAmy Elsner PROPOSAL
Stacey M MaletFranceXuxue Feng NEW
Costa A MorascaArgentinaBernardo Dominic NEW
James A FigeroaArgentinaAnna Fali NEW
Mayumi H MaletRussiaIvan Magalhaes RENEWAL
Clifford X NickaSpainBernardo Dominic PROPOSAL
Morrow S NickaCanadaStephen Shaw QUALIFIED
Nicolas H PaprockiArgentinaAsiya Javayant NEW
Ivar J MacleadSpainIoni Bowcher QUALIFIED
Misaki L SchemmerRussiaIoni Bowcher RENEWAL
Maisha O WhobreyAustraliaAmy Elsner NEW
Aditya X VenereGermanyIoni Bowcher QUALIFIED
Jennifer R MaletFranceBernardo Dominic NEW
Aika V GauchoUnited KingdomAmy Elsner NEW
Maisha Y NickaItalyIoni Bowcher NEGOTIATION
Emily P PerinUnited KingdomAnna Fali RENEWAL
Wickens G NestleIndiaElwin Sharvill RENEWAL
Claire C IturbideUnited KingdomAsiya Javayant NEGOTIATION
Isabel V FlosiBrazilOnyama Limba QUALIFIED
Faith V SlusarskiIndiaXuxue Feng NEGOTIATION
James N WieserRussiaAmy Elsner UNQUALIFIED
Alejandro M DarakjyBrazilIoni Bowcher PROPOSAL
Cody Q FigeroaItalyAnna Fali QUALIFIED
Maisha D MaletItalyAsiya Javayant QUALIFIED
Stacey T AlbaresArgentinaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
David P Foller
Sinclair K Maclead
Wickens D Poquette
Julie Q Glick
Claire F Shinko
Maisha T Oldroyd
Francesco Z Bolognia
Chavez P Royster
Arvin T Wieser
Kaitlin Y Stockham
Arvin P Caudy
Aditya Z Dilliard
Smith T Foller
Sinclair J Butt
Rodrigues B Figeroa
Cody D Butt
Wickens Z Rulapaugh
Leon C Rulapaugh
Smith S Saylors
James B Rulapaugh
Murillo J Ferencz
Izzy B Doe
David J Campain
Maisha R Ruta
Darci X Nestle
Mujtaba I Inouye
Jones U Saylors
Johnson B Dilliard
Salvatore V Vocelka
Nicolas F Whobrey
Stacey M Stenseth
Arvin A Amigon
Silvio H Amigon
Darci R Iturbide
Izzy H Flosi
Alejandro Z Albares
Wickens N Butt
Nicolas Y Whobrey
Alejandro M Glick
Deepesh U Inouye
Sinclair P Caldarera
Jennifer V Gillian
Misaki T Paprocki
Johnson J Stenseth
Morrow U Albares
Alejandro X Malet
Rodrigues Y Malet
Nicolas R Slusarski
Aruna U Morasca
Murillo L Gaucho
IdCountryDate
1000Brazil2025-09-25
1001Russia2025-09-20
1002Italy2025-09-29
1003Germany2025-09-15
1004Argentina2025-09-27
1005Germany2025-10-04
1006India2025-09-18
1007Australia2025-10-11
1008Russia2025-10-03
1009France2025-10-10
1010United Kingdom2025-09-29
1011Japan2025-10-06
1012Japan2025-09-26
1013Argentina2025-09-13
1014Japan2025-10-10
1015United Kingdom2025-09-27
1016Germany2025-09-19
1017Japan2025-09-17
1018Brazil2025-09-18
1019Russia2025-09-17
1020France2025-09-17
1021Spain2025-09-18
1022Brazil2025-10-06
1023Australia2025-09-21
1024United Kingdom2025-10-03
1025Canada2025-09-25
1026Germany2025-10-07
1027Germany2025-10-08
1028Spain2025-09-19
1029Italy2025-10-05
1030United Kingdom2025-09-16
1031Brazil2025-10-04
1032United Kingdom2025-09-16
1033Italy2025-10-04
1034India2025-10-09
1035United Kingdom2025-09-25
1036Russia2025-09-24
1037Italy2025-10-01
1038Germany2025-10-09
1039Brazil2025-09-27
1040Germany2025-09-29
1041Italy2025-09-19
1042United Kingdom2025-09-26
1043Brazil2025-09-28
1044Australia2025-09-18
1045Spain2025-09-17
1046Australia2025-09-12
1047Argentina2025-10-02
1048Spain2025-09-25
1049United Kingdom2025-10-07

On-Demand Data

NameIdCountryDate
Izzy N Royster1000Russia2025-10-07
Tony O Maclead1001Spain2025-10-10
David S Foller1002Brazil2025-09-21
Johnson T Rim1003United Kingdom2025-10-07
Chavez O Chui1004Italy2025-10-06
Izzy I Bolognia1005India2025-09-12
Nicolas N Campain1006Argentina2025-10-05
Jeanfrancois Q Wieser1007India2025-10-03
Octavia F Garufi1008Argentina2025-09-18
Adams S Kusko1009Italy2025-09-19
Julie J Butt1010Brazil2025-09-16
Alejandro G Albares1011United Kingdom2025-10-06
James D Maclead1012Argentina2025-10-09
Salvatore J Wieser1013India2025-10-01
Wickens N Briddick1014India2025-09-25
Jennifer X Bowley1015Spain2025-10-01
Aditya R Stockham1016Japan2025-10-02
Leon N Nicka1017Australia2025-09-14
Aruna A Schemmer1018Italy2025-10-05
Rodrigues U Rulapaugh1019Spain2025-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez C RulapaughCanadaIvan Magalhaes NEW
Aditya L BologniaSpainStephen Shaw NEW
Munro U ChuiAustraliaIoni Bowcher RENEWAL
Jones O GlickArgentinaAmy Elsner RENEWAL
Tony V GauchoJapanIvan Magalhaes NEW
Ashley H FlosiBrazilAmy Elsner PROPOSAL
Salvatore D KuskoRussiaStephen Shaw RENEWAL
Nicolas M GauchoBrazilOnyama Limba PROPOSAL
Adams O DoeFranceAmy Elsner RENEWAL
Faith A VocelkaAustraliaXuxue Feng RENEWAL
Jennifer U OstroskyAustraliaBernardo Dominic NEW
Silvio Q PaprockiCanadaStephen Shaw PROPOSAL
David P StensethArgentinaAmy Elsner PROPOSAL
Francesco W FigeroaArgentinaIoni Bowcher UNQUALIFIED
Ashley G StockhamJapanAnna Fali NEW
Juan X KolmetzGermanyAmy Elsner UNQUALIFIED
Greenwood W GauchoSpainBernardo Dominic UNQUALIFIED
Maisha U WaycottArgentinaBernardo Dominic NEGOTIATION
Kadeem L FigeroaFranceAmy Elsner QUALIFIED
Kaitlin H MaletFranceAmy Elsner QUALIFIED
Maria T VocelkaFranceIvan Magalhaes RENEWAL
Isabel P DoeRussiaIoni Bowcher RENEWAL
Munro B DoeUnited KingdomAnna Fali NEW
Morrow G AmigonFranceStephen Shaw NEW
Aruna S MorascaJapanBernardo Dominic UNQUALIFIED
Deepesh G IturbideCanadaStephen Shaw UNQUALIFIED
Isabel T CaudyGermanyOnyama Limba NEGOTIATION
Adams H OstroskyAustraliaAsiya Javayant UNQUALIFIED
Misaki J CaldareraSpainAmy Elsner UNQUALIFIED
Kadeem A NickaItalyAnna Fali UNQUALIFIED
Smith I RoysterRussiaIoni Bowcher RENEWAL
Ivar Y IturbideGermanyOnyama Limba NEGOTIATION
Mujtaba Q OldroydCanadaBernardo Dominic RENEWAL
Misaki U GillianItalyIoni Bowcher RENEWAL
Maria V NickaAustraliaBernardo Dominic PROPOSAL
Jennifer Z FigeroaItalyStephen Shaw NEGOTIATION
Clifford A BowleyFranceAmy Elsner RENEWAL
Ashley M DarakjyJapanXuxue Feng NEGOTIATION
Darci G RutaRussiaAmy Elsner PROPOSAL
Leja W NestleItalyIvan Magalhaes 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>