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
Izzy S KolmetzIndiaIvan Magalhaes PROPOSAL
Jefferson I BologniaAustraliaXuxue Feng RENEWAL
Wickens G KolmetzCanadaXuxue Feng NEW
Salvatore W VocelkaCanadaAsiya Javayant NEW
Claire K BologniaSpainAmy Elsner UNQUALIFIED
Ricardo J OstroskyAustraliaAnna Fali PROPOSAL
Isabel N SchemmerJapanBernardo Dominic NEW
Kadeem X RutaArgentinaAsiya Javayant NEGOTIATION
Jennifer P GarufiIndiaElwin Sharvill RENEWAL
Greenwood G WhobreyAustraliaBernardo Dominic PROPOSAL
Aruna E GillianArgentinaBernardo Dominic QUALIFIED
James G BologniaSpainAnna Fali NEW
Arvin Y WieserItalyAnna Fali NEW
Morrow Y OstroskyCanadaAsiya Javayant QUALIFIED
Cody F BriddickAustraliaStephen Shaw NEGOTIATION
Jennifer X WieserUnited KingdomElwin Sharvill QUALIFIED
Jefferson Z PaprockiItalyIoni Bowcher RENEWAL
Tony O BologniaCanadaIoni Bowcher UNQUALIFIED
Greenwood G AmigonGermanyIvan Magalhaes RENEWAL
Kaitlin Y GarufiRussiaStephen Shaw NEW
Cody M OstroskyGermanyAsiya Javayant UNQUALIFIED
Jefferson F KuskoAustraliaAnna Fali UNQUALIFIED
Deepesh Y FollerJapanIvan Magalhaes PROPOSAL
Silvio C FlosiAustraliaIoni Bowcher PROPOSAL
Murillo A RimRussiaStephen Shaw NEGOTIATION
Salvatore O FollerCanadaXuxue Feng UNQUALIFIED
Darci S GlickIndiaAmy Elsner UNQUALIFIED
Julie P TollnerSpainElwin Sharvill NEGOTIATION
Faith K MorascaGermanyAmy Elsner QUALIFIED
Darci R PaprockiArgentinaAsiya Javayant RENEWAL
Jefferson Y ChuiRussiaBernardo Dominic PROPOSAL
Wickens Q WhobreySpainBernardo Dominic UNQUALIFIED
Salvatore D PaprockiJapanElwin Sharvill RENEWAL
Arvin Z VocelkaItalyStephen Shaw RENEWAL
Faith T CampainItalyAmy Elsner PROPOSAL
Ivar F PerinBrazilStephen Shaw UNQUALIFIED
Claire P VenereBrazilBernardo Dominic UNQUALIFIED
Julie E DoeGermanyElwin Sharvill PROPOSAL
Leon A VocelkaUnited KingdomOnyama Limba NEGOTIATION
Cody K AmigonUnited KingdomAsiya Javayant PROPOSAL
Jones G ChuiArgentinaStephen Shaw UNQUALIFIED
Darci T KuskoGermanyBernardo Dominic RENEWAL
Deepesh G ChuiArgentinaAnna Fali QUALIFIED
Mujtaba C FigeroaFranceAsiya Javayant RENEWAL
Isabel G SergiSpainAmy Elsner NEGOTIATION
Octavia M FollerUnited KingdomAnna Fali NEW
Ricardo Y TollnerAustraliaXuxue Feng NEGOTIATION
Sinclair Z ChuiBrazilAmy Elsner PROPOSAL
Ashley T IturbideIndiaBernardo Dominic QUALIFIED
Munro T RutaGermanyStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Murillo S KolmetzItalyStephen Shaw RENEWAL
Aditya B ButtIndiaBernardo Dominic NEW
Izzy Z GillianArgentinaIoni Bowcher NEGOTIATION
Rodrigues F MaletJapanAsiya Javayant RENEWAL
Leon T CampainGermanyIoni Bowcher QUALIFIED
Cody S BologniaIndiaBernardo Dominic NEGOTIATION
Salvatore V PaprockiSpainAmy Elsner NEGOTIATION
Aruna R PoquetteArgentinaAmy Elsner NEGOTIATION
Johnson Q VocelkaGermanyAmy Elsner NEW
Stacey M MaletBrazilAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens K NestleCanada2025-09-24King, Christopher A Esq RENEWAL51Ivan Magalhaes
1001Ivar I WaycottJapan2025-09-25Buckley Miller Wright PROPOSAL90Anna Fali
1002Aditya M TollnerIndia2025-09-19Chanay, Jeffrey A Esq PROPOSAL70Bernardo Dominic
1003Francesco F DilliardCanada2025-09-19Feltz Printing Service UNQUALIFIED0Asiya Javayant
1004Jefferson O RoysterCanada2025-10-09Truhlar And Truhlar Attys NEW52Elwin Sharvill
1005David Y SaylorsSpain2025-09-17Commercial Press NEGOTIATION83Ioni Bowcher
1006Leon R GauchoSpain2025-09-13Chemel, James L Cpa QUALIFIED18Ioni Bowcher
1007Alejandro S PoquetteIndia2025-10-08Rousseaux, Michael Esq QUALIFIED78Ivan Magalhaes
1008Aika K InouyeBrazil2025-10-09Dorl, James J Esq UNQUALIFIED4Ivan Magalhaes
1009Emily D MorascaJapan2025-09-21Rousseaux, Michael Esq NEW86Stephen Shaw
1010Izzy Q GlickSpain2025-10-03Morlong Associates RENEWAL39Elwin Sharvill
1011Nicolas M SlusarskiJapan2025-09-23Benton, John B Jr NEW95Anna Fali
1012Alejandro M BowleyFrance2025-10-05Buckley Miller Wright UNQUALIFIED59Stephen Shaw
1013Jennifer S GillianAustralia2025-09-23Morlong Associates QUALIFIED78Ivan Magalhaes
1014Kaitlin F KolmetzBrazil2025-10-01Buckley Miller Wright UNQUALIFIED84Bernardo Dominic
1015Salvatore N GlickItaly2025-10-04King, Christopher A Esq NEGOTIATION86Asiya Javayant
1016Mujtaba I FollerCanada2025-09-22Rousseaux, Michael Esq NEW46Elwin Sharvill
1017Kadeem Y OldroydItaly2025-09-19Morlong Associates PROPOSAL70Anna Fali
1018Stacey I NickaRussia2025-09-30Chapman, Ross E Esq NEW71Amy Elsner
1019Darci O SergiItaly2025-10-09Chemel, James L Cpa RENEWAL45Asiya Javayant
1020Arvin A NickaArgentina2025-09-24Rousseaux, Michael Esq NEGOTIATION49Xuxue Feng
1021Mayumi O CaudyArgentina2025-10-05Feiner Bros PROPOSAL14Asiya Javayant
1022Aditya E KuskoRussia2025-09-14Truhlar And Truhlar Attys NEGOTIATION4Ivan Magalhaes
1023Salvatore F ButtRussia2025-09-13King, Christopher A Esq RENEWAL41Ivan Magalhaes
1024Adams E CampainAustralia2025-10-08Chemel, James L Cpa NEGOTIATION12Bernardo Dominic
1025Sinclair N VenereJapan2025-10-10Chanay, Jeffrey A Esq QUALIFIED86Elwin Sharvill
1026Adams W DarakjyFrance2025-10-11Buckley Miller Wright NEGOTIATION9Ivan Magalhaes
1027Faith V MarrierIndia2025-09-29Commercial Press QUALIFIED11Xuxue Feng
1028Antonio F CaudySpain2025-09-16Commercial Press UNQUALIFIED48Anna Fali
1029Munro P FlosiArgentina2025-09-15King, Christopher A Esq RENEWAL26Stephen Shaw
1030Leon W OldroydUnited Kingdom2025-09-30Chemel, James L Cpa NEW75Onyama Limba
1031Aditya J NickaSpain2025-09-17Feltz Printing Service QUALIFIED79Anna Fali
1032Julie U OstroskyArgentina2025-09-19Chapman, Ross E Esq UNQUALIFIED58Ivan Magalhaes
1033Leon D PoquetteCanada2025-09-18Chanay, Jeffrey A Esq NEGOTIATION50Asiya Javayant
1034Jones A FollerAustralia2025-09-15Dorl, James J Esq RENEWAL95Amy Elsner
1035Aruna D MacleadBrazil2025-10-06Rousseaux, Michael Esq PROPOSAL69Ioni Bowcher
1036Emily Z ButtCanada2025-10-03Morlong Associates NEGOTIATION41Amy Elsner
1037Aika K StensethGermany2025-09-23Morlong Associates UNQUALIFIED47Anna Fali
1038Jones V GauchoAustralia2025-09-29Feiner Bros RENEWAL55Ivan Magalhaes
1039Salvatore F GauchoAustralia2025-09-15Truhlar And Truhlar Attys PROPOSAL11Ioni Bowcher
1040Antonio Y FlosiSpain2025-10-02Feltz Printing Service QUALIFIED49Onyama Limba
1041Maisha V GlickBrazil2025-09-30Commercial Press RENEWAL59Anna Fali
1042Izzy G DoeJapan2025-10-07Printing Dimensions NEGOTIATION56Amy Elsner
1043Misaki H MaletArgentina2025-09-27Chanay, Jeffrey A Esq NEGOTIATION63Bernardo Dominic
1044Juan Q GauchoFrance2025-09-14Feltz Printing Service RENEWAL54Xuxue Feng
1045Kaitlin I RimSpain2025-10-08Feltz Printing Service NEGOTIATION69Ioni Bowcher
1046Leja V RulapaughBrazil2025-09-18Chemel, James L Cpa RENEWAL40Amy Elsner
1047Adams M BriddickAustralia2025-09-17Printing Dimensions NEGOTIATION58Onyama Limba
1048Rodrigues O MacleadBrazil2025-09-30Morlong Associates RENEWAL76Elwin Sharvill
1049Adams Q CaldareraIndia2025-10-06Rangoni Of Florence RENEWAL44Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Arvin J RimUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin O KuskoAustraliaOnyama Limba UNQUALIFIED
David O OldroydAustraliaIvan Magalhaes PROPOSAL
Deepesh J MorascaRussiaAnna Fali NEGOTIATION
Julie B OldroydBrazilXuxue Feng PROPOSAL
David Z CaldareraUnited KingdomAsiya Javayant QUALIFIED
Ashley O DoeRussiaBernardo Dominic QUALIFIED
Maria Z GauchoBrazilStephen Shaw RENEWAL
Johnson A GillianFranceIoni Bowcher UNQUALIFIED
Mayumi Z IturbideRussiaAnna Fali NEGOTIATION
Clifford Z SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Jones M PoquetteIndiaAmy Elsner NEGOTIATION
James F ButtFranceAnna Fali QUALIFIED
Octavia H NestleItalyAnna Fali UNQUALIFIED
Munro G ShinkoArgentinaIvan Magalhaes QUALIFIED
Morrow O OstroskyBrazilOnyama Limba NEW
Leja D MaletJapanElwin Sharvill UNQUALIFIED
Jeanfrancois B CampainGermanyIoni Bowcher RENEWAL
Antonio Y IturbideBrazilElwin Sharvill NEW
Sinclair S OstroskyFranceAsiya Javayant NEGOTIATION
Ivar K AlbaresItalyOnyama Limba PROPOSAL
Sinclair C StockhamAustraliaAsiya Javayant NEGOTIATION
Ivar S MarrierAustraliaAsiya Javayant NEGOTIATION
Claire K SchemmerJapanBernardo Dominic NEGOTIATION
Mayumi V CaldareraSpainOnyama Limba PROPOSAL
Maria Y SlusarskiAustraliaAmy Elsner RENEWAL
Clifford Q BriddickSpainAnna Fali NEGOTIATION
Maria U ButtBrazilAnna Fali UNQUALIFIED
Ricardo S MarrierJapanAnna Fali PROPOSAL
Alejandro J StockhamIndiaIoni Bowcher UNQUALIFIED
Francesco P ShinkoAustraliaAnna Fali PROPOSAL
Greenwood C SaylorsBrazilIvan Magalhaes RENEWAL
Smith O DarakjyFranceAmy Elsner QUALIFIED
Adams X StockhamBrazilOnyama Limba PROPOSAL
Mujtaba L DoeAustraliaXuxue Feng RENEWAL
Juan N BologniaRussiaElwin Sharvill NEW
Darci N SergiBrazilBernardo Dominic NEGOTIATION
Nicolas U AmigonArgentinaIoni Bowcher RENEWAL
Jennifer G PerinJapanAmy Elsner UNQUALIFIED
Izzy F ShinkoGermanyStephen Shaw RENEWAL
Johnson N ChuiIndiaBernardo Dominic PROPOSAL
Deepesh C KuskoFranceStephen Shaw NEGOTIATION
Francesco G CaldareraRussiaAnna Fali UNQUALIFIED
Salvatore V OstroskyGermanyOnyama Limba NEGOTIATION
Silvio S ChuiFranceBernardo Dominic RENEWAL
Maisha W GarufiRussiaAmy Elsner RENEWAL
Darci Z AlbaresAustraliaAsiya Javayant UNQUALIFIED
Faith U GauchoJapanStephen Shaw RENEWAL
Octavia G FollerCanadaOnyama Limba RENEWAL
Johnson G RutaCanadaAmy Elsner RENEWAL
Frozen Columns
Name
Nicolas E Venere
Mujtaba S Figeroa
Ivar D Flosi
Ricardo Z Nestle
Arvin V Campain
Isabel R Ostrosky
Emily I Schemmer
Rodrigues D Rulapaugh
Tony A Nicka
Salvatore E Venere
Chavez E Darakjy
David K Marrier
Costa Z Gillian
Mayumi V Slusarski
Ricardo G Kolmetz
Antonio M Stockham
Costa C Rim
Julie O Stenseth
Ricardo E Gaucho
James T Inouye
Francesco L Paprocki
Leja I Dilliard
Stacey U Sergi
Mayumi W Shinko
Nicolas W Slusarski
Greenwood B Doe
Tony T Dilliard
Maisha V Ferencz
Stacey P Butt
Aika K Waycott
Claire M Bolognia
Mayumi N Gaucho
Mujtaba N Morasca
Jennifer N Poquette
Ashley R Venere
Stacey D Briddick
Leja D Slusarski
Chavez W Schemmer
Jefferson B Glick
Arvin X Malet
Clifford C Ostrosky
Cody K Rulapaugh
Aditya S Kolmetz
Jeanfrancois Q Garufi
Smith M Gaucho
Cody F Ostrosky
Aika J Saylors
Faith L Whobrey
David V Bowley
Smith G Sergi
IdCountryDate
1000India2025-09-21
1001Spain2025-10-06
1002Brazil2025-09-13
1003United Kingdom2025-09-15
1004India2025-09-14
1005Japan2025-10-09
1006Australia2025-09-27
1007Japan2025-10-05
1008Spain2025-10-05
1009Russia2025-09-16
1010France2025-09-13
1011Brazil2025-09-15
1012Brazil2025-09-30
1013Italy2025-09-26
1014Russia2025-10-03
1015United Kingdom2025-10-08
1016Italy2025-10-08
1017United Kingdom2025-10-09
1018India2025-09-23
1019Russia2025-09-18
1020Brazil2025-10-11
1021Japan2025-09-17
1022Germany2025-09-23
1023Germany2025-10-11
1024Japan2025-09-27
1025Germany2025-10-09
1026Japan2025-09-18
1027France2025-09-24
1028India2025-09-28
1029Australia2025-09-14
1030Russia2025-09-30
1031Japan2025-09-19
1032Spain2025-09-16
1033Japan2025-09-23
1034Germany2025-09-18
1035France2025-10-08
1036United Kingdom2025-09-21
1037Japan2025-09-15
1038Australia2025-09-26
1039France2025-10-02
1040Spain2025-10-03
1041United Kingdom2025-09-23
1042United Kingdom2025-10-04
1043Spain2025-10-01
1044United Kingdom2025-09-20
1045Argentina2025-09-24
1046Spain2025-09-29
1047Italy2025-10-01
1048Russia2025-09-17
1049Germany2025-10-05

On-Demand Data

NameIdCountryDate
Darci L Iturbide1000Australia2025-09-15
Chavez Y Amigon1001France2025-09-19
Salvatore H Amigon1002France2025-09-12
Tony K Paprocki1003Japan2025-09-30
Aruna K Darakjy1004Argentina2025-10-04
Leja Y Maclead1005Spain2025-10-03
Sinclair F Bowley1006Italy2025-09-20
Munro R Whobrey1007Russia2025-09-15
Stacey I Foller1008Australia2025-09-15
Leja U Campain1009Spain2025-09-19
Ashley G Stockham1010Argentina2025-09-30
Ricardo W Caudy1011India2025-09-24
Silvio T Amigon1012Australia2025-09-18
Octavia K Iturbide1013Brazil2025-09-18
Rodrigues L Ruta1014Italy2025-09-26
Aika Y Doe1015India2025-10-01
Francesco Q Slusarski1016Canada2025-10-01
Maria Z Maclead1017United Kingdom2025-09-15
Mayumi O Marrier1018Canada2025-09-18
Greenwood C Saylors1019Argentina2025-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci P SaylorsSpainAnna Fali QUALIFIED
Munro X SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Claire V CaldareraArgentinaOnyama Limba PROPOSAL
Ivar F SaylorsAustraliaXuxue Feng NEW
Izzy U CaldareraFranceOnyama Limba UNQUALIFIED
Julie T BologniaUnited KingdomStephen Shaw PROPOSAL
Aditya D WieserRussiaStephen Shaw QUALIFIED
Munro A GauchoIndiaElwin Sharvill QUALIFIED
Johnson K SchemmerRussiaIoni Bowcher NEGOTIATION
Izzy X FollerIndiaElwin Sharvill RENEWAL
Silvio O GauchoIndiaAnna Fali PROPOSAL
Murillo S SaylorsUnited KingdomAmy Elsner NEW
Arvin O DilliardCanadaOnyama Limba RENEWAL
Aruna Z IturbideUnited KingdomBernardo Dominic QUALIFIED
Ivar H MaletArgentinaXuxue Feng NEGOTIATION
Adams M RimGermanyIvan Magalhaes QUALIFIED
Nicolas D StockhamJapanAsiya Javayant UNQUALIFIED
Chavez B DoeGermanyStephen Shaw UNQUALIFIED
Aika Q SergiSpainAsiya Javayant UNQUALIFIED
Wickens G BriddickSpainIoni Bowcher UNQUALIFIED
Jeanfrancois B PaprockiJapanAmy Elsner NEW
David F FerenczCanadaAnna Fali RENEWAL
Maisha S SlusarskiItalyStephen Shaw PROPOSAL
Salvatore W StensethItalyStephen Shaw NEW
Sinclair W RulapaughFranceAsiya Javayant NEGOTIATION
Kaitlin O FerenczUnited KingdomOnyama Limba NEW
Mayumi U CaudyFranceXuxue Feng RENEWAL
Smith U BologniaUnited KingdomBernardo Dominic NEGOTIATION
Nicolas C DoeBrazilXuxue Feng NEGOTIATION
Salvatore I KuskoBrazilAsiya Javayant NEW
Ivar Y AlbaresArgentinaIoni Bowcher RENEWAL
Clifford P KolmetzArgentinaAnna Fali UNQUALIFIED
Salvatore P MorascaArgentinaXuxue Feng NEGOTIATION
Wickens E ShinkoIndiaBernardo Dominic PROPOSAL
Mayumi R FlosiUnited KingdomAnna Fali NEW
Francesco K NickaJapanOnyama Limba NEGOTIATION
Octavia G MaletArgentinaAsiya Javayant RENEWAL
Maisha M TollnerRussiaAmy Elsner RENEWAL
Aditya G DilliardJapanXuxue Feng NEGOTIATION
Munro C StensethJapanOnyama Limba NEW

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