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
Silvio A StockhamSpainIoni Bowcher NEGOTIATION
Wickens M ChuiIndiaIvan Magalhaes NEGOTIATION
Johnson A DoeFranceIvan Magalhaes PROPOSAL
David P GillianGermanyElwin Sharvill UNQUALIFIED
Wickens S WaycottRussiaElwin Sharvill RENEWAL
Greenwood T RutaArgentinaIvan Magalhaes PROPOSAL
Nicolas O InouyeAustraliaAnna Fali NEGOTIATION
Mujtaba Y ShinkoArgentinaAsiya Javayant NEW
Sinclair I FerenczBrazilAnna Fali PROPOSAL
James A RimGermanyBernardo Dominic QUALIFIED
Mujtaba H PerinUnited KingdomBernardo Dominic QUALIFIED
Ashley Y MacleadSpainXuxue Feng NEGOTIATION
Nicolas Q FlosiFranceAmy Elsner UNQUALIFIED
Stacey I GarufiArgentinaAmy Elsner NEGOTIATION
Jennifer G OldroydIndiaBernardo Dominic RENEWAL
Ashley W MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Darci I RulapaughArgentinaAnna Fali NEGOTIATION
Aruna U FollerUnited KingdomIoni Bowcher PROPOSAL
Jones S SergiFranceAsiya Javayant NEW
Deepesh X FollerIndiaAnna Fali NEW
Julie J KuskoItalyIoni Bowcher NEW
Alejandro J KolmetzAustraliaBernardo Dominic QUALIFIED
Jones A StockhamBrazilElwin Sharvill RENEWAL
Chavez V GillianJapanAnna Fali NEGOTIATION
Jeanfrancois J IturbideRussiaBernardo Dominic NEW
Murillo F SchemmerIndiaAnna Fali QUALIFIED
Sinclair F OstroskyCanadaBernardo Dominic NEGOTIATION
Francesco Y StensethGermanyAmy Elsner NEGOTIATION
Aruna B FollerArgentinaXuxue Feng UNQUALIFIED
Jefferson I RimItalyOnyama Limba PROPOSAL
Darci E PerinCanadaAnna Fali NEW
Juan V SergiRussiaOnyama Limba RENEWAL
Jones K RutaItalyAnna Fali PROPOSAL
Mujtaba H AmigonIndiaAnna Fali UNQUALIFIED
Jennifer L MarrierJapanAmy Elsner NEGOTIATION
Johnson D MorascaArgentinaBernardo Dominic NEW
Izzy I FerenczRussiaAsiya Javayant NEGOTIATION
Francesco C VenereCanadaElwin Sharvill QUALIFIED
Kaitlin S OldroydRussiaAsiya Javayant NEW
Greenwood Q ButtFranceAsiya Javayant NEW
Chavez J MorascaSpainStephen Shaw UNQUALIFIED
Antonio J PerinArgentinaOnyama Limba UNQUALIFIED
Ivar A FigeroaJapanBernardo Dominic RENEWAL
Aruna S MaletSpainXuxue Feng NEW
Sinclair R GlickRussiaElwin Sharvill QUALIFIED
Nicolas K FlosiCanadaIoni Bowcher NEW
David T NickaArgentinaBernardo Dominic QUALIFIED
Sinclair V VocelkaUnited KingdomAnna Fali NEW
Ricardo Q VocelkaAustraliaStephen Shaw UNQUALIFIED
Darci I VocelkaItalyAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba W AmigonSpainElwin Sharvill UNQUALIFIED
Kadeem I KuskoBrazilAmy Elsner RENEWAL
Aditya E DoeUnited KingdomBernardo Dominic NEW
Emily O TollnerFranceElwin Sharvill NEGOTIATION
Julie P DilliardRussiaBernardo Dominic NEGOTIATION
Arvin H ShinkoSpainStephen Shaw UNQUALIFIED
Emily I SchemmerCanadaAsiya Javayant UNQUALIFIED
Ashley P BologniaRussiaOnyama Limba PROPOSAL
Ricardo Z AmigonAustraliaIvan Magalhaes RENEWAL
Ricardo C InouyeBrazilIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha W GillianJapan2025-08-16Dorl, James J Esq NEGOTIATION20Anna Fali
1001Misaki A CaldareraRussia2025-08-05Feiner Bros UNQUALIFIED8Stephen Shaw
1002Aruna B PaprockiGermany2025-08-17Chapman, Ross E Esq QUALIFIED99Onyama Limba
1003Claire X KolmetzItaly2025-08-14Rangoni Of Florence NEGOTIATION18Stephen Shaw
1004Leja U WaycottArgentina2025-08-01Commercial Press NEW20Bernardo Dominic
1005Leon Y MaletCanada2025-08-10Rousseaux, Michael Esq UNQUALIFIED47Elwin Sharvill
1006Faith E IturbideItaly2025-07-29Chanay, Jeffrey A Esq QUALIFIED13Stephen Shaw
1007Adams H DilliardIndia2025-08-07Commercial Press NEW30Anna Fali
1008Mayumi L FlosiJapan2025-08-22Feltz Printing Service PROPOSAL28Bernardo Dominic
1009Isabel N StensethBrazil2025-08-22Printing Dimensions NEW21Ivan Magalhaes
1010Arvin L InouyeBrazil2025-08-15Chanay, Jeffrey A Esq QUALIFIED89Xuxue Feng
1011Jefferson L GlickAustralia2025-08-17Chapman, Ross E Esq QUALIFIED31Stephen Shaw
1012Isabel I SaylorsFrance2025-08-07Benton, John B Jr NEW16Xuxue Feng
1013Alejandro G MaletIndia2025-08-18Commercial Press NEW63Amy Elsner
1014Francesco X CaudyBrazil2025-08-04Chanay, Jeffrey A Esq NEGOTIATION77Ioni Bowcher
1015Maria H MarrierJapan2025-08-23Rangoni Of Florence RENEWAL2Onyama Limba
1016Leon P TollnerBrazil2025-07-31Buckley Miller Wright PROPOSAL19Elwin Sharvill
1017Faith A TollnerRussia2025-08-18Commercial Press NEGOTIATION52Elwin Sharvill
1018Izzy W GarufiBrazil2025-08-23Dorl, James J Esq NEW49Xuxue Feng
1019Claire G FigeroaIndia2025-08-17Feltz Printing Service PROPOSAL11Xuxue Feng
1020Emily M BologniaIndia2025-08-03Feltz Printing Service UNQUALIFIED37Onyama Limba
1021Jeanfrancois L WaycottIndia2025-08-08Chapman, Ross E Esq NEGOTIATION57Elwin Sharvill
1022Faith P KolmetzGermany2025-07-30Benton, John B Jr NEGOTIATION91Amy Elsner
1023Octavia T DilliardAustralia2025-08-11Truhlar And Truhlar Attys QUALIFIED72Ivan Magalhaes
1024Sinclair J WhobreyItaly2025-07-28Buckley Miller Wright RENEWAL2Bernardo Dominic
1025Leon M GlickSpain2025-08-15Feiner Bros NEW32Ivan Magalhaes
1026Arvin L MacleadBrazil2025-08-22Truhlar And Truhlar Attys QUALIFIED89Onyama Limba
1027Isabel Z MacleadIndia2025-08-04Buckley Miller Wright RENEWAL60Ivan Magalhaes
1028Misaki U MaletUnited Kingdom2025-08-09King, Christopher A Esq QUALIFIED39Stephen Shaw
1029Cody Y FollerCanada2025-08-11Rangoni Of Florence UNQUALIFIED96Xuxue Feng
1030Aditya B GillianUnited Kingdom2025-08-14Chapman, Ross E Esq RENEWAL1Bernardo Dominic
1031Faith S GauchoRussia2025-07-31Printing Dimensions QUALIFIED28Amy Elsner
1032Jones K FerenczCanada2025-08-06Chemel, James L Cpa NEGOTIATION43Xuxue Feng
1033Alejandro C BriddickAustralia2025-08-03Commercial Press RENEWAL30Onyama Limba
1034Silvio S TollnerSpain2025-08-03Chemel, James L Cpa RENEWAL7Asiya Javayant
1035Smith V OldroydIndia2025-08-12Chemel, James L Cpa NEW59Xuxue Feng
1036Julie M VocelkaCanada2025-08-02King, Christopher A Esq NEW33Amy Elsner
1037Claire M BologniaAustralia2025-08-19Chemel, James L Cpa UNQUALIFIED86Asiya Javayant
1038Ricardo G GauchoSpain2025-08-17Buckley Miller Wright RENEWAL79Ioni Bowcher
1039Arvin V WhobreyItaly2025-07-30Printing Dimensions UNQUALIFIED57Elwin Sharvill
1040Chavez E WieserGermany2025-08-02Dorl, James J Esq QUALIFIED73Stephen Shaw
1041Deepesh F PoquetteSpain2025-08-21Chemel, James L Cpa PROPOSAL29Bernardo Dominic
1042Greenwood K PaprockiIndia2025-08-12Buckley Miller Wright RENEWAL84Elwin Sharvill
1043Leon D NestleUnited Kingdom2025-08-11Printing Dimensions PROPOSAL60Xuxue Feng
1044Faith Z NickaUnited Kingdom2025-08-09King, Christopher A Esq RENEWAL34Onyama Limba
1045Morrow Z FlosiCanada2025-08-08Dorl, James J Esq NEGOTIATION22Amy Elsner
1046Faith C MaletGermany2025-08-23Dorl, James J Esq RENEWAL74Bernardo Dominic
1047Rodrigues C CampainAustralia2025-08-22King, Christopher A Esq UNQUALIFIED25Amy Elsner
1048Darci R KuskoFrance2025-08-01Buckley Miller Wright QUALIFIED90Asiya Javayant
1049Deepesh F MacleadBrazil2025-07-30Benton, John B Jr QUALIFIED16Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Greenwood E CaldareraJapanIoni Bowcher NEW
Mujtaba J GarufiUnited KingdomStephen Shaw QUALIFIED
Aika U PerinSpainAnna Fali UNQUALIFIED
Greenwood H RutaUnited KingdomElwin Sharvill NEGOTIATION
Jeanfrancois D RutaRussiaStephen Shaw PROPOSAL
Wickens L SaylorsIndiaIvan Magalhaes UNQUALIFIED
Johnson U ChuiJapanIoni Bowcher QUALIFIED
Aika S DarakjyItalyAsiya Javayant NEGOTIATION
Alejandro X MorascaGermanyIvan Magalhaes NEW
Claire U PoquetteJapanXuxue Feng RENEWAL
Mayumi C SchemmerJapanAnna Fali NEW
Jefferson Z DarakjyGermanyStephen Shaw NEW
Costa L DoeItalyElwin Sharvill UNQUALIFIED
Juan F StockhamCanadaAsiya Javayant RENEWAL
Claire J ButtArgentinaXuxue Feng QUALIFIED
Cody I OstroskyUnited KingdomAmy Elsner QUALIFIED
Juan T FerenczCanadaBernardo Dominic PROPOSAL
James H VocelkaRussiaAsiya Javayant NEGOTIATION
Mayumi E GauchoArgentinaElwin Sharvill NEGOTIATION
Jennifer Y PoquetteUnited KingdomXuxue Feng NEGOTIATION
Faith E NestleUnited KingdomXuxue Feng QUALIFIED
Isabel I GauchoSpainAmy Elsner UNQUALIFIED
Aruna Z KuskoArgentinaIoni Bowcher NEGOTIATION
Rodrigues C SlusarskiFranceElwin Sharvill UNQUALIFIED
Clifford X MorascaFranceAmy Elsner PROPOSAL
Maisha R FigeroaAustraliaIvan Magalhaes QUALIFIED
Jeanfrancois V WhobreyItalyXuxue Feng UNQUALIFIED
Juan Q GarufiCanadaAnna Fali NEGOTIATION
Maisha S KuskoFranceOnyama Limba UNQUALIFIED
Ivar U CampainSpainAmy Elsner QUALIFIED
Ashley Z GlickCanadaXuxue Feng NEGOTIATION
Costa U ShinkoUnited KingdomXuxue Feng PROPOSAL
Kadeem O FigeroaGermanyAnna Fali UNQUALIFIED
Ricardo L InouyeSpainIoni Bowcher PROPOSAL
Jefferson I MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Izzy U NestleUnited KingdomStephen Shaw QUALIFIED
Stacey X FerenczIndiaIoni Bowcher UNQUALIFIED
Greenwood A AlbaresFranceAmy Elsner PROPOSAL
Juan F RimIndiaIoni Bowcher UNQUALIFIED
Mayumi Y GauchoItalyAsiya Javayant NEGOTIATION
Ashley X WhobreyRussiaElwin Sharvill PROPOSAL
Stacey F PoquetteFranceBernardo Dominic NEGOTIATION
Tony F PoquetteGermanyOnyama Limba NEGOTIATION
Emily Q IturbideUnited KingdomElwin Sharvill UNQUALIFIED
David B FerenczRussiaOnyama Limba QUALIFIED
Isabel C ShinkoItalyAsiya Javayant QUALIFIED
Johnson F DilliardFranceOnyama Limba NEGOTIATION
Deepesh Q WieserAustraliaAnna Fali RENEWAL
Ricardo I FollerBrazilXuxue Feng QUALIFIED
Jones R GillianBrazilBernardo Dominic NEW
Frozen Columns
Name
Munro H Caldarera
Ashley H Garufi
Clifford W Rim
Stacey O Foller
Leja C Maclead
Jones O Schemmer
Leja O Schemmer
Izzy X Doe
Jeanfrancois N Schemmer
Morrow O Gaucho
Julie Z Paprocki
Darci I Foller
Francesco M Bolognia
Alejandro I Albares
Ivar E Briddick
Leja Q Nicka
Jefferson X Butt
Emily L Kusko
Leon G Marrier
Isabel J Butt
Aika D Waycott
Greenwood C Doe
Juan H Malet
Jefferson R Kolmetz
Munro G Caldarera
Stacey O Schemmer
Cody X Sergi
Nicolas N Waycott
Jeanfrancois Z Caudy
Ivar H Oldroyd
Deepesh S Inouye
Johnson N Malet
Salvatore J Doe
Isabel Y Maclead
Jefferson L Schemmer
Kaitlin X Nicka
Tony L Slusarski
Nicolas M Wieser
Alejandro W Doe
Deepesh C Stockham
Deepesh K Bolognia
Salvatore R Briddick
Francesco R Tollner
Leon H Malet
Mujtaba T Waycott
Aditya A Glick
David O Glick
Chavez Z Ferencz
Costa J Wieser
Isabel J Dilliard
IdCountryDate
1000Australia2025-08-01
1001Argentina2025-08-18
1002United Kingdom2025-08-16
1003India2025-08-05
1004Russia2025-08-05
1005Australia2025-07-30
1006Japan2025-08-24
1007Spain2025-08-22
1008Spain2025-08-13
1009India2025-08-20
1010Argentina2025-08-17
1011Russia2025-08-15
1012Germany2025-08-19
1013India2025-08-05
1014India2025-07-31
1015Italy2025-08-13
1016Germany2025-08-03
1017Italy2025-08-19
1018Brazil2025-08-11
1019Spain2025-07-26
1020United Kingdom2025-07-30
1021India2025-08-14
1022Spain2025-08-08
1023Brazil2025-08-21
1024United Kingdom2025-08-12
1025Spain2025-08-13
1026India2025-08-15
1027Australia2025-08-22
1028Argentina2025-08-10
1029Australia2025-08-10
1030Australia2025-08-05
1031Germany2025-08-17
1032India2025-08-10
1033France2025-08-09
1034Brazil2025-08-09
1035Canada2025-08-16
1036Russia2025-08-18
1037Brazil2025-08-09
1038Spain2025-08-19
1039Germany2025-08-02
1040Spain2025-08-15
1041Argentina2025-08-17
1042Russia2025-08-01
1043Canada2025-07-31
1044Canada2025-07-30
1045India2025-07-29
1046Spain2025-08-19
1047France2025-08-20
1048Japan2025-08-10
1049France2025-08-16

On-Demand Data

NameIdCountryDate
Cody A Campain1000India2025-07-31
Juan B Bowley1001Canada2025-08-06
Tony E Rim1002Brazil2025-08-06
Jeanfrancois X Kusko1003Russia2025-08-21
David O Maclead1004Germany2025-08-01
Jefferson O Stenseth1005Australia2025-07-26
David R Kusko1006Japan2025-08-11
Julie R Amigon1007United Kingdom2025-08-03
Clifford Q Paprocki1008Canada2025-07-31
Jefferson F Morasca1009United Kingdom2025-08-17
Wickens W Slusarski1010Russia2025-08-07
Clifford W Waycott1011Brazil2025-08-24
David K Doe1012India2025-08-20
Arvin I Caldarera1013France2025-08-05
David S Kusko1014Brazil2025-08-05
Francesco T Nicka1015Australia2025-08-07
Costa L Caudy1016Brazil2025-07-31
Julie O Sergi1017Italy2025-08-18
Leja A Wieser1018Japan2025-08-14
Morrow K Glick1019Argentina2025-08-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood E VenereCanadaIvan Magalhaes UNQUALIFIED
Isabel Y RoysterCanadaElwin Sharvill QUALIFIED
Silvio B PaprockiSpainIoni Bowcher PROPOSAL
Rodrigues L FigeroaBrazilStephen Shaw PROPOSAL
Silvio V VocelkaFranceIvan Magalhaes PROPOSAL
Kaitlin R SaylorsIndiaIvan Magalhaes RENEWAL
Maisha H PoquetteRussiaStephen Shaw NEGOTIATION
Deepesh E OldroydUnited KingdomOnyama Limba NEW
Octavia Y SaylorsSpainAnna Fali NEW
Leja G SlusarskiJapanStephen Shaw QUALIFIED
Maria Q WhobreyItalyIoni Bowcher UNQUALIFIED
Claire A NickaItalyBernardo Dominic PROPOSAL
Julie E GlickGermanyAnna Fali UNQUALIFIED
Aika X SlusarskiJapanStephen Shaw PROPOSAL
Jennifer R GillianItalyAsiya Javayant PROPOSAL
Alejandro R GarufiIndiaOnyama Limba RENEWAL
Ricardo Q AmigonSpainOnyama Limba UNQUALIFIED
Antonio J DoeGermanyXuxue Feng NEW
Julie K FollerItalyElwin Sharvill UNQUALIFIED
Misaki O SchemmerRussiaAmy Elsner NEGOTIATION
Arvin U CaudyFranceStephen Shaw RENEWAL
Misaki B InouyeCanadaXuxue Feng NEGOTIATION
Emily N CaldareraSpainIoni Bowcher UNQUALIFIED
Silvio W BologniaArgentinaAsiya Javayant PROPOSAL
Julie N NestleJapanStephen Shaw NEGOTIATION
James O SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Julie M DilliardBrazilAnna Fali RENEWAL
Deepesh R DilliardRussiaAnna Fali UNQUALIFIED
Tony L SchemmerItalyIvan Magalhaes QUALIFIED
Clifford F ChuiBrazilElwin Sharvill NEW
Nicolas Z ShinkoCanadaAsiya Javayant NEGOTIATION
Jeanfrancois V MacleadFranceAsiya Javayant RENEWAL
Stacey G StensethIndiaBernardo Dominic NEGOTIATION
Jeanfrancois Z BowleyRussiaIoni Bowcher NEW
Ricardo F InouyeUnited KingdomElwin Sharvill UNQUALIFIED
Claire X StensethCanadaAnna Fali NEW
Alejandro D MarrierRussiaBernardo Dominic UNQUALIFIED
Munro T RutaCanadaAsiya Javayant PROPOSAL
Mujtaba Y FlosiCanadaOnyama Limba NEW
Deepesh E WaycottCanadaAsiya Javayant 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>