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
Murillo L MaletArgentinaStephen Shaw NEW
Juan T CaldareraAustraliaOnyama Limba RENEWAL
James H OstroskyJapanAnna Fali RENEWAL
Aditya E CampainItalyIoni Bowcher NEGOTIATION
Emily B WieserJapanBernardo Dominic PROPOSAL
Mujtaba D GillianCanadaStephen Shaw PROPOSAL
Kadeem P ChuiJapanAmy Elsner QUALIFIED
Sinclair F MaletAustraliaXuxue Feng NEGOTIATION
Adams W PaprockiBrazilIvan Magalhaes PROPOSAL
Silvio G KolmetzBrazilBernardo Dominic QUALIFIED
Aditya S MacleadSpainAsiya Javayant NEW
Aditya A OldroydBrazilElwin Sharvill PROPOSAL
Ashley G NestleSpainAsiya Javayant NEW
Mujtaba F SaylorsBrazilAsiya Javayant PROPOSAL
Jones S WieserArgentinaAnna Fali RENEWAL
Jones I WieserAustraliaStephen Shaw UNQUALIFIED
Ivar Y SaylorsAustraliaBernardo Dominic UNQUALIFIED
Adams F BriddickBrazilIvan Magalhaes NEW
Jones V NestleGermanyXuxue Feng UNQUALIFIED
Murillo O GlickFranceIoni Bowcher RENEWAL
Ashley Z StockhamAustraliaBernardo Dominic NEGOTIATION
Silvio Q KuskoRussiaAsiya Javayant RENEWAL
Ricardo V OstroskyUnited KingdomIvan Magalhaes PROPOSAL
Leja I IturbideArgentinaBernardo Dominic NEW
Johnson K OstroskyJapanXuxue Feng PROPOSAL
Isabel N StensethBrazilBernardo Dominic RENEWAL
Wickens X DoeRussiaBernardo Dominic NEGOTIATION
Alejandro S MaletAustraliaOnyama Limba PROPOSAL
Wickens V DoeItalyElwin Sharvill NEGOTIATION
Ivar O CampainArgentinaOnyama Limba RENEWAL
Clifford S DilliardFranceAsiya Javayant UNQUALIFIED
Jeanfrancois J MorascaItalyAnna Fali UNQUALIFIED
Jones Q IturbideCanadaIoni Bowcher PROPOSAL
Emily M ChuiArgentinaIoni Bowcher UNQUALIFIED
Nicolas M VocelkaItalyStephen Shaw QUALIFIED
Maria K NestleItalyXuxue Feng PROPOSAL
Jeanfrancois H FigeroaCanadaElwin Sharvill UNQUALIFIED
Sinclair E NickaUnited KingdomAmy Elsner PROPOSAL
Ashley O AlbaresUnited KingdomAnna Fali PROPOSAL
Mayumi I OstroskyRussiaOnyama Limba NEGOTIATION
Morrow H PerinAustraliaAmy Elsner QUALIFIED
Ricardo D BologniaFranceOnyama Limba QUALIFIED
Mayumi I MaletArgentinaAmy Elsner NEGOTIATION
Misaki Y StockhamIndiaAsiya Javayant PROPOSAL
Antonio K ShinkoAustraliaBernardo Dominic UNQUALIFIED
Misaki V ShinkoArgentinaElwin Sharvill NEW
Kadeem F StockhamRussiaXuxue Feng RENEWAL
Sinclair L NestleIndiaAnna Fali UNQUALIFIED
Wickens D ButtCanadaStephen Shaw NEW
Greenwood J NickaCanadaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas Q NickaJapanAnna Fali NEGOTIATION
Arvin T FigeroaBrazilXuxue Feng NEGOTIATION
Francesco U NickaAustraliaIoni Bowcher NEW
Rodrigues Y RoysterAustraliaAsiya Javayant RENEWAL
Kaitlin U KolmetzBrazilAsiya Javayant PROPOSAL
Johnson D RutaJapanAnna Fali QUALIFIED
Rodrigues S DilliardFranceIoni Bowcher QUALIFIED
Ricardo W StensethIndiaBernardo Dominic PROPOSAL
Alejandro V ChuiIndiaAmy Elsner PROPOSAL
Maria X KuskoBrazilIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem B KolmetzJapan2025-08-27Feltz Printing Service RENEWAL71Amy Elsner
1001Munro T GillianBrazil2025-09-10Truhlar And Truhlar Attys NEW99Xuxue Feng
1002Arvin U BologniaSpain2025-08-29Truhlar And Truhlar Attys PROPOSAL45Ioni Bowcher
1003Ivar S CaldareraFrance2025-08-31Printing Dimensions PROPOSAL45Amy Elsner
1004Ricardo K RimFrance2025-08-29Chemel, James L Cpa NEGOTIATION68Xuxue Feng
1005Clifford U NestleJapan2025-09-13Buckley Miller Wright NEW5Onyama Limba
1006James Y SlusarskiUnited Kingdom2025-09-11Buckley Miller Wright QUALIFIED11Stephen Shaw
1007Maria Q DilliardBrazil2025-09-16Commercial Press QUALIFIED24Ivan Magalhaes
1008Munro J KuskoSpain2025-09-09Morlong Associates PROPOSAL24Stephen Shaw
1009Claire I SaylorsAustralia2025-09-12Chapman, Ross E Esq RENEWAL23Bernardo Dominic
1010Salvatore Q NestleUnited Kingdom2025-08-21Feltz Printing Service QUALIFIED9Elwin Sharvill
1011Izzy S GillianArgentina2025-08-31Commercial Press PROPOSAL23Elwin Sharvill
1012Julie E MacleadUnited Kingdom2025-09-03Truhlar And Truhlar Attys QUALIFIED41Bernardo Dominic
1013Aruna N InouyeAustralia2025-09-12Buckley Miller Wright PROPOSAL25Elwin Sharvill
1014Sinclair M SlusarskiAustralia2025-09-10Rousseaux, Michael Esq QUALIFIED76Onyama Limba
1015Silvio M BriddickGermany2025-09-18Morlong Associates RENEWAL53Onyama Limba
1016Izzy R SchemmerSpain2025-09-05Buckley Miller Wright UNQUALIFIED69Elwin Sharvill
1017Morrow R PaprockiArgentina2025-09-04Chanay, Jeffrey A Esq QUALIFIED30Stephen Shaw
1018Izzy R RutaGermany2025-09-06Rangoni Of Florence NEGOTIATION53Bernardo Dominic
1019Sinclair I RutaUnited Kingdom2025-09-13Truhlar And Truhlar Attys UNQUALIFIED14Stephen Shaw
1020Murillo J SlusarskiGermany2025-09-09King, Christopher A Esq PROPOSAL48Elwin Sharvill
1021Alejandro G RoysterItaly2025-08-29Chemel, James L Cpa QUALIFIED97Amy Elsner
1022Mayumi R DoeBrazil2025-09-18Chapman, Ross E Esq PROPOSAL38Ioni Bowcher
1023Jeanfrancois A WaycottSpain2025-09-09Buckley Miller Wright NEGOTIATION37Elwin Sharvill
1024Ashley G FlosiSpain2025-09-12King, Christopher A Esq NEGOTIATION6Anna Fali
1025Aditya N CaldareraBrazil2025-09-13Printing Dimensions UNQUALIFIED88Stephen Shaw
1026Izzy N SergiItaly2025-09-13Morlong Associates UNQUALIFIED18Onyama Limba
1027Jeanfrancois Z FollerSpain2025-09-04Rousseaux, Michael Esq NEGOTIATION81Ioni Bowcher
1028Jeanfrancois N CampainIndia2025-09-02Chapman, Ross E Esq NEW78Bernardo Dominic
1029Leon Z ShinkoIndia2025-09-02Morlong Associates NEW92Stephen Shaw
1030Mujtaba Y CaudyGermany2025-09-16Chemel, James L Cpa RENEWAL39Amy Elsner
1031Maisha E CaldareraItaly2025-09-03Buckley Miller Wright NEW98Xuxue Feng
1032Arvin B WieserJapan2025-08-28Dorl, James J Esq QUALIFIED2Ioni Bowcher
1033Jennifer N PaprockiArgentina2025-08-28Chanay, Jeffrey A Esq UNQUALIFIED22Elwin Sharvill
1034Munro L SlusarskiBrazil2025-09-12Truhlar And Truhlar Attys UNQUALIFIED54Anna Fali
1035Murillo N GauchoArgentina2025-09-05Printing Dimensions RENEWAL62Elwin Sharvill
1036Jeanfrancois W BowleyGermany2025-09-13Chanay, Jeffrey A Esq NEW0Asiya Javayant
1037Murillo B MaletJapan2025-08-23Buckley Miller Wright QUALIFIED61Asiya Javayant
1038Costa R SchemmerUnited Kingdom2025-09-10Feiner Bros NEGOTIATION90Amy Elsner
1039Greenwood L MarrierFrance2025-08-22Dorl, James J Esq NEW70Bernardo Dominic
1040Leja G PaprockiAustralia2025-08-30Printing Dimensions NEGOTIATION49Stephen Shaw
1041Silvio D DilliardArgentina2025-08-21Chanay, Jeffrey A Esq NEGOTIATION29Anna Fali
1042Jennifer G RulapaughAustralia2025-09-07Printing Dimensions QUALIFIED58Ioni Bowcher
1043Jennifer U AmigonJapan2025-08-21Chanay, Jeffrey A Esq RENEWAL73Stephen Shaw
1044Juan W GarufiJapan2025-09-03Truhlar And Truhlar Attys RENEWAL41Ivan Magalhaes
1045James W CaudyBrazil2025-09-07King, Christopher A Esq PROPOSAL71Bernardo Dominic
1046Claire B MacleadCanada2025-08-22Rousseaux, Michael Esq RENEWAL30Bernardo Dominic
1047James Y VocelkaAustralia2025-09-02Chemel, James L Cpa RENEWAL70Ivan Magalhaes
1048Ricardo Z PerinCanada2025-08-21Chapman, Ross E Esq UNQUALIFIED84Stephen Shaw
1049Johnson X KolmetzBrazil2025-09-19King, Christopher A Esq PROPOSAL53Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Clifford R FerenczCanadaIoni Bowcher NEW
Darci T GlickArgentinaAsiya Javayant NEGOTIATION
Leon S RulapaughItalyElwin Sharvill NEW
Silvio T FigeroaAustraliaStephen Shaw RENEWAL
Wickens S SlusarskiJapanIvan Magalhaes NEW
Salvatore D GauchoBrazilXuxue Feng UNQUALIFIED
Morrow A GlickAustraliaElwin Sharvill RENEWAL
Mayumi T RutaJapanAsiya Javayant QUALIFIED
Wickens W StensethBrazilAsiya Javayant NEGOTIATION
Jones K ButtSpainAnna Fali PROPOSAL
Mayumi W ButtBrazilIvan Magalhaes RENEWAL
Aika R CaldareraItalyAsiya Javayant RENEWAL
Misaki L PerinItalyAmy Elsner UNQUALIFIED
Alejandro O MacleadCanadaAmy Elsner QUALIFIED
Smith M CaldareraIndiaStephen Shaw NEW
Johnson L BriddickJapanIvan Magalhaes RENEWAL
Adams W GlickSpainIoni Bowcher NEGOTIATION
Munro M KolmetzIndiaIvan Magalhaes NEW
Antonio P NestleUnited KingdomAsiya Javayant QUALIFIED
Leja L DilliardRussiaXuxue Feng NEW
Mujtaba F BologniaJapanIvan Magalhaes UNQUALIFIED
Stacey P OstroskyBrazilAnna Fali RENEWAL
Julie B BologniaArgentinaOnyama Limba RENEWAL
Wickens D FerenczItalyIoni Bowcher QUALIFIED
Costa K AlbaresIndiaAnna Fali UNQUALIFIED
Leja E FerenczRussiaBernardo Dominic QUALIFIED
Jefferson E WieserJapanXuxue Feng RENEWAL
Jeanfrancois E MaletSpainElwin Sharvill NEGOTIATION
Chavez F AlbaresBrazilBernardo Dominic NEW
Costa M SergiFranceAmy Elsner RENEWAL
Morrow C MacleadItalyElwin Sharvill UNQUALIFIED
Jennifer O MaletArgentinaBernardo Dominic NEW
Ivar H PoquetteItalyIvan Magalhaes PROPOSAL
Octavia E OldroydArgentinaStephen Shaw PROPOSAL
Claire Q VocelkaAustraliaAsiya Javayant QUALIFIED
Claire X RulapaughIndiaStephen Shaw NEGOTIATION
Misaki S RulapaughFranceIvan Magalhaes QUALIFIED
Salvatore M InouyeGermanyIvan Magalhaes UNQUALIFIED
Isabel A GlickCanadaXuxue Feng NEGOTIATION
Jennifer I WieserBrazilElwin Sharvill NEW
Nicolas J MaletFranceAsiya Javayant UNQUALIFIED
Tony M MorascaArgentinaIvan Magalhaes NEGOTIATION
Salvatore W MaletItalyBernardo Dominic QUALIFIED
David I FigeroaCanadaElwin Sharvill PROPOSAL
Claire L FlosiRussiaAsiya Javayant RENEWAL
Kadeem Q BriddickJapanIvan Magalhaes RENEWAL
Julie K NestleUnited KingdomOnyama Limba NEGOTIATION
Julie E SergiJapanAsiya Javayant QUALIFIED
Wickens Z FlosiIndiaOnyama Limba PROPOSAL
Julie K ButtGermanyStephen Shaw NEW
Frozen Columns
Name
Juan U Foller
Johnson P Nestle
Isabel G Caldarera
Claire R Kolmetz
Arvin K Dilliard
Aditya Y Wieser
Arvin D Nicka
Izzy W Sergi
Julie X Foller
Costa G Iturbide
Leon L Nestle
Kaitlin T Vocelka
Maria K Gillian
Nicolas Z Slusarski
Aditya Y Gaucho
Cody Z Campain
Leon N Tollner
Juan V Caudy
Leja N Caudy
Stacey H Schemmer
Kadeem J Dilliard
Costa W Schemmer
Leon V Gaucho
Deepesh G Caldarera
Wickens B Poquette
Rodrigues Z Inouye
Maisha M Maclead
David F Doe
Wickens X Nicka
Morrow H Dilliard
Alejandro L Wieser
Aruna B Whobrey
Munro X Darakjy
Aika R Tollner
Adams I Rim
James N Caldarera
Adams V Bolognia
Kaitlin B Garufi
Morrow J Glick
Murillo H Rim
Jeanfrancois A Kusko
Mayumi Y Maclead
Misaki P Morasca
Silvio P Perin
Jones Z Venere
Antonio A Ruta
Maisha A Bolognia
Silvio L Bowley
Clifford N Venere
Chavez H Ruta
IdCountryDate
1000Germany2025-08-24
1001Canada2025-09-10
1002Japan2025-08-29
1003Australia2025-09-19
1004France2025-09-14
1005Australia2025-09-10
1006France2025-08-30
1007Brazil2025-08-21
1008Russia2025-09-18
1009United Kingdom2025-09-06
1010Australia2025-09-11
1011Germany2025-08-26
1012Germany2025-08-31
1013France2025-09-06
1014Argentina2025-09-09
1015Brazil2025-08-30
1016India2025-08-25
1017India2025-08-25
1018Argentina2025-08-26
1019United Kingdom2025-09-19
1020Japan2025-08-27
1021France2025-09-03
1022India2025-09-01
1023Argentina2025-08-27
1024Brazil2025-09-17
1025Brazil2025-09-14
1026Spain2025-09-17
1027Spain2025-09-18
1028Brazil2025-09-03
1029Japan2025-09-15
1030Brazil2025-09-07
1031Canada2025-09-17
1032Spain2025-08-25
1033India2025-09-07
1034Italy2025-09-13
1035Brazil2025-08-27
1036Australia2025-09-03
1037Germany2025-09-19
1038Australia2025-08-22
1039France2025-09-02
1040Japan2025-09-14
1041Italy2025-09-13
1042India2025-08-31
1043Russia2025-09-17
1044India2025-09-12
1045United Kingdom2025-08-30
1046France2025-09-19
1047Brazil2025-09-05
1048Japan2025-08-24
1049Argentina2025-08-27

On-Demand Data

NameIdCountryDate
Ivar C Butt1000Brazil2025-09-04
Silvio S Nicka1001United Kingdom2025-09-18
Mayumi K Kusko1002Russia2025-08-21
Misaki C Glick1003United Kingdom2025-09-10
Greenwood E Darakjy1004Argentina2025-08-31
Silvio I Flosi1005Japan2025-08-23
Maria U Amigon1006Germany2025-09-16
Mujtaba E Glick1007Argentina2025-09-09
Ricardo M Chui1008United Kingdom2025-09-05
James M Stockham1009United Kingdom2025-09-11
Arvin E Bowley1010Russia2025-08-30
Jones L Tollner1011India2025-09-13
Greenwood X Venere1012Brazil2025-09-01
Deepesh G Malet1013Australia2025-09-12
Murillo V Poquette1014Italy2025-09-03
Sinclair P Stockham1015Brazil2025-08-27
Antonio J Glick1016Germany2025-08-30
Mujtaba J Tollner1017Canada2025-09-07
Smith Y Glick1018Argentina2025-09-10
Salvatore V Dilliard1019Italy2025-08-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi P MacleadRussiaXuxue Feng QUALIFIED
Darci O InouyeJapanXuxue Feng NEW
Chavez I OldroydBrazilBernardo Dominic NEW
Tony G FlosiItalyAnna Fali RENEWAL
Leja J PerinIndiaElwin Sharvill QUALIFIED
Kadeem O GauchoSpainAmy Elsner NEGOTIATION
Francesco Y KuskoAustraliaOnyama Limba NEW
Darci A MarrierItalyIoni Bowcher RENEWAL
Kaitlin H DilliardCanadaIvan Magalhaes PROPOSAL
Rodrigues A ChuiCanadaBernardo Dominic NEW
Jefferson Q VocelkaArgentinaXuxue Feng QUALIFIED
Ashley R BowleyAustraliaXuxue Feng UNQUALIFIED
Julie F OstroskyFranceIvan Magalhaes NEW
Jones W GauchoCanadaAnna Fali NEW
Costa F StensethBrazilXuxue Feng NEGOTIATION
Izzy G ShinkoCanadaStephen Shaw UNQUALIFIED
Tony Q RutaBrazilOnyama Limba NEGOTIATION
Ashley M AmigonItalyAmy Elsner NEGOTIATION
Clifford W RutaAustraliaStephen Shaw NEW
Johnson Z KuskoArgentinaAmy Elsner QUALIFIED
Jones L KuskoIndiaXuxue Feng QUALIFIED
Salvatore O StensethJapanStephen Shaw NEGOTIATION
Faith G OstroskyArgentinaXuxue Feng PROPOSAL
Kaitlin N SchemmerSpainOnyama Limba NEW
Maria E DilliardUnited KingdomOnyama Limba QUALIFIED
Izzy W RoysterFranceIoni Bowcher PROPOSAL
Johnson J MorascaJapanOnyama Limba NEGOTIATION
Leja X FlosiJapanIoni Bowcher UNQUALIFIED
James H PerinIndiaOnyama Limba PROPOSAL
Arvin W GlickRussiaOnyama Limba PROPOSAL
Stacey P PerinItalyAsiya Javayant NEW
Sinclair L KuskoArgentinaAnna Fali RENEWAL
Mujtaba F VenereGermanyXuxue Feng NEGOTIATION
Faith D RimFranceAnna Fali QUALIFIED
Smith J NickaUnited KingdomStephen Shaw PROPOSAL
Jefferson X RutaFranceAsiya Javayant NEW
Octavia Z BologniaAustraliaAsiya Javayant NEW
James R SergiFranceBernardo Dominic UNQUALIFIED
Jefferson X ChuiJapanStephen Shaw NEGOTIATION
Stacey V MaletUnited KingdomXuxue Feng RENEWAL

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