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
David B PoquetteBrazilOnyama Limba PROPOSAL
Silvio S WhobreyBrazilOnyama Limba UNQUALIFIED
Ricardo X AmigonFranceIvan Magalhaes QUALIFIED
Antonio E ShinkoFranceIvan Magalhaes NEGOTIATION
Morrow U DilliardFranceElwin Sharvill NEW
Tony K GauchoIndiaAnna Fali UNQUALIFIED
Ivar D SergiSpainStephen Shaw UNQUALIFIED
Francesco H DoeAustraliaIvan Magalhaes PROPOSAL
Mujtaba Y ButtIndiaXuxue Feng UNQUALIFIED
Cody W InouyeSpainStephen Shaw QUALIFIED
Juan Y NestleBrazilXuxue Feng NEGOTIATION
Murillo I FollerFranceIvan Magalhaes NEW
Costa M BriddickJapanIvan Magalhaes NEGOTIATION
Claire H FerenczRussiaAsiya Javayant QUALIFIED
Octavia D TollnerIndiaAsiya Javayant RENEWAL
Salvatore F AmigonCanadaOnyama Limba QUALIFIED
Jennifer J WhobreyArgentinaAmy Elsner PROPOSAL
Izzy I DarakjyAustraliaAnna Fali NEGOTIATION
Costa F AmigonSpainAnna Fali PROPOSAL
Leon Y MacleadSpainStephen Shaw UNQUALIFIED
Ivar J CaldareraRussiaOnyama Limba NEW
Leja U ButtGermanyOnyama Limba NEGOTIATION
Kaitlin F AmigonAustraliaAmy Elsner PROPOSAL
Mujtaba G MacleadFranceXuxue Feng UNQUALIFIED
Kaitlin V SchemmerGermanyIvan Magalhaes UNQUALIFIED
Johnson Z StensethFranceXuxue Feng PROPOSAL
Octavia C MorascaCanadaIvan Magalhaes QUALIFIED
Aika T SaylorsUnited KingdomAnna Fali UNQUALIFIED
Munro W SergiSpainElwin Sharvill UNQUALIFIED
Jeanfrancois B CampainCanadaElwin Sharvill NEW
Costa N MaletArgentinaAmy Elsner QUALIFIED
Aditya N MaletCanadaStephen Shaw NEGOTIATION
Leon B ButtSpainAnna Fali QUALIFIED
Murillo T CampainGermanyOnyama Limba QUALIFIED
Greenwood T DoeAustraliaAmy Elsner RENEWAL
Juan Z WhobreyAustraliaElwin Sharvill QUALIFIED
Ricardo Y ButtItalyBernardo Dominic QUALIFIED
Cody X ChuiSpainIoni Bowcher NEGOTIATION
Salvatore N SaylorsItalyBernardo Dominic QUALIFIED
Costa H MacleadBrazilOnyama Limba PROPOSAL
Aruna V MacleadCanadaAnna Fali NEGOTIATION
Kaitlin P OstroskyAustraliaAsiya Javayant PROPOSAL
Costa R VenereItalyElwin Sharvill RENEWAL
Alejandro S InouyeRussiaAnna Fali PROPOSAL
Isabel D CampainCanadaBernardo Dominic RENEWAL
Salvatore W GlickRussiaElwin Sharvill NEGOTIATION
Cody D KolmetzCanadaIoni Bowcher NEGOTIATION
Rodrigues M DoeArgentinaAsiya Javayant UNQUALIFIED
Ricardo N CampainJapanAnna Fali NEW
Sinclair W StensethRussiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Costa R MacleadAustraliaBernardo Dominic UNQUALIFIED
Deepesh P DarakjyJapanStephen Shaw UNQUALIFIED
Kaitlin L MacleadUnited KingdomStephen Shaw PROPOSAL
David D DoeFranceAnna Fali NEGOTIATION
Claire L MorascaBrazilBernardo Dominic NEW
Deepesh P FerenczFranceBernardo Dominic NEW
Clifford W RulapaughFranceElwin Sharvill PROPOSAL
Clifford L WhobreyFranceAsiya Javayant NEGOTIATION
Jefferson A KuskoGermanyAmy Elsner PROPOSAL
Mujtaba V WaycottAustraliaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James Y CampainCanada2025-08-02Morlong Associates PROPOSAL9Elwin Sharvill
1001Antonio Q RimJapan2025-07-16Printing Dimensions QUALIFIED60Xuxue Feng
1002Aditya O SlusarskiUnited Kingdom2025-07-23Buckley Miller Wright PROPOSAL21Asiya Javayant
1003Aditya V RoysterCanada2025-08-11Benton, John B Jr RENEWAL73Onyama Limba
1004Mujtaba M PerinFrance2025-07-31Printing Dimensions NEW99Xuxue Feng
1005Isabel H BowleyFrance2025-07-20Benton, John B Jr NEGOTIATION83Bernardo Dominic
1006Adams A GlickItaly2025-07-22Chanay, Jeffrey A Esq PROPOSAL37Amy Elsner
1007Ricardo J TollnerSpain2025-08-04Chemel, James L Cpa PROPOSAL17Xuxue Feng
1008Mujtaba S FollerRussia2025-07-19Morlong Associates NEW97Amy Elsner
1009Jeanfrancois F PerinItaly2025-08-09Printing Dimensions NEGOTIATION5Anna Fali
1010Jones D StensethIndia2025-07-31Morlong Associates UNQUALIFIED89Ioni Bowcher
1011Costa R RutaJapan2025-07-22Rousseaux, Michael Esq NEW64Onyama Limba
1012Jones N CaudyIndia2025-08-03Truhlar And Truhlar Attys UNQUALIFIED84Elwin Sharvill
1013Maria V ButtSpain2025-07-19Rangoni Of Florence UNQUALIFIED1Xuxue Feng
1014Costa X ButtRussia2025-07-25Chanay, Jeffrey A Esq NEW32Anna Fali
1015Ricardo W KolmetzCanada2025-08-03Chapman, Ross E Esq NEW34Bernardo Dominic
1016Jeanfrancois R GlickSpain2025-08-04Chanay, Jeffrey A Esq UNQUALIFIED95Onyama Limba
1017Tony K IturbideSpain2025-08-06Rousseaux, Michael Esq NEW73Anna Fali
1018Silvio L GillianItaly2025-07-21Commercial Press RENEWAL33Bernardo Dominic
1019Emily R GillianAustralia2025-07-23King, Christopher A Esq RENEWAL74Bernardo Dominic
1020Cody T NickaSpain2025-08-08Benton, John B Jr PROPOSAL93Onyama Limba
1021Emily D IturbideRussia2025-07-16Printing Dimensions QUALIFIED57Stephen Shaw
1022Misaki H KolmetzArgentina2025-07-24Benton, John B Jr NEGOTIATION5Stephen Shaw
1023Ashley W AlbaresIndia2025-07-18Rangoni Of Florence RENEWAL54Anna Fali
1024Johnson J WhobreyIndia2025-07-19King, Christopher A Esq QUALIFIED2Ioni Bowcher
1025Maisha Z RoysterSpain2025-08-12Feltz Printing Service NEW95Onyama Limba
1026Aika X FlosiItaly2025-08-06King, Christopher A Esq PROPOSAL87Ioni Bowcher
1027Jefferson J WieserIndia2025-08-01Chemel, James L Cpa RENEWAL93Ivan Magalhaes
1028James B BowleyArgentina2025-07-15Chemel, James L Cpa RENEWAL22Elwin Sharvill
1029Kaitlin O TollnerSpain2025-07-28Printing Dimensions PROPOSAL79Amy Elsner
1030Greenwood L DarakjyUnited Kingdom2025-07-26Feltz Printing Service RENEWAL79Ioni Bowcher
1031Adams R FerenczCanada2025-07-17Chapman, Ross E Esq UNQUALIFIED2Elwin Sharvill
1032Smith C PaprockiCanada2025-08-04Feiner Bros PROPOSAL91Elwin Sharvill
1033Octavia W SchemmerCanada2025-07-23Chanay, Jeffrey A Esq PROPOSAL22Bernardo Dominic
1034Salvatore X GauchoUnited Kingdom2025-08-08Rangoni Of Florence NEW45Onyama Limba
1035Clifford U MacleadJapan2025-08-09Rangoni Of Florence QUALIFIED98Anna Fali
1036Smith S WaycottFrance2025-08-12King, Christopher A Esq PROPOSAL52Onyama Limba
1037David Z FigeroaArgentina2025-07-17Benton, John B Jr UNQUALIFIED20Stephen Shaw
1038Jones Y SlusarskiRussia2025-07-22Rousseaux, Michael Esq RENEWAL52Ioni Bowcher
1039Nicolas V FollerArgentina2025-08-02Rousseaux, Michael Esq RENEWAL31Elwin Sharvill
1040Johnson I ShinkoRussia2025-07-21Feltz Printing Service UNQUALIFIED89Anna Fali
1041Mayumi O CaldareraAustralia2025-07-15Chapman, Ross E Esq NEW37Xuxue Feng
1042Cody T BologniaBrazil2025-08-04Chapman, Ross E Esq NEGOTIATION6Asiya Javayant
1043Wickens I SaylorsUnited Kingdom2025-07-17Morlong Associates UNQUALIFIED12Onyama Limba
1044James X ShinkoItaly2025-07-31Truhlar And Truhlar Attys UNQUALIFIED56Onyama Limba
1045Ashley K FerenczSpain2025-07-16Benton, John B Jr PROPOSAL12Amy Elsner
1046Izzy I SergiItaly2025-07-25Morlong Associates PROPOSAL51Stephen Shaw
1047Emily V KuskoCanada2025-07-20Printing Dimensions NEGOTIATION30Elwin Sharvill
1048Jones M FlosiSpain2025-08-13Dorl, James J Esq RENEWAL61Stephen Shaw
1049Tony D RoysterJapan2025-07-22Commercial Press NEGOTIATION47Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Silvio N IturbideUnited KingdomAnna Fali NEGOTIATION
Maria F IturbideCanadaAnna Fali NEW
Mujtaba Y FigeroaSpainAnna Fali NEW
Mayumi I NickaJapanBernardo Dominic UNQUALIFIED
Ashley Y WaycottFranceOnyama Limba UNQUALIFIED
Jeanfrancois B IturbideRussiaBernardo Dominic NEW
Johnson C MacleadRussiaXuxue Feng NEW
Alejandro A BowleyCanadaOnyama Limba NEW
Jennifer K AmigonBrazilStephen Shaw UNQUALIFIED
Faith Q CaldareraAustraliaAnna Fali UNQUALIFIED
Juan S ChuiAustraliaXuxue Feng NEGOTIATION
Nicolas G WieserItalyBernardo Dominic RENEWAL
Tony A RutaUnited KingdomIvan Magalhaes RENEWAL
Maisha X MorascaRussiaBernardo Dominic PROPOSAL
Jeanfrancois A RoysterFranceStephen Shaw RENEWAL
Octavia R FlosiItalyAmy Elsner RENEWAL
Misaki U NickaUnited KingdomIoni Bowcher PROPOSAL
Sinclair H RoysterJapanAnna Fali PROPOSAL
Johnson E CaldareraItalyAnna Fali UNQUALIFIED
Cody R MaletAustraliaBernardo Dominic PROPOSAL
Isabel J SchemmerAustraliaAmy Elsner UNQUALIFIED
Antonio E WieserCanadaAmy Elsner NEW
Darci J OldroydCanadaIvan Magalhaes RENEWAL
Arvin Y VenereArgentinaXuxue Feng UNQUALIFIED
Clifford D AmigonItalyXuxue Feng NEW
Maria R BowleyAustraliaStephen Shaw NEW
Murillo Y BriddickCanadaStephen Shaw NEW
Murillo Y WhobreySpainAnna Fali UNQUALIFIED
James B RulapaughCanadaIoni Bowcher NEW
Maria O PerinAustraliaOnyama Limba QUALIFIED
Leja Q MacleadArgentinaIoni Bowcher NEW
Morrow N NickaUnited KingdomOnyama Limba NEGOTIATION
Kadeem V MorascaIndiaStephen Shaw NEGOTIATION
Alejandro J NestleCanadaAsiya Javayant NEGOTIATION
Jefferson R FerenczBrazilAsiya Javayant PROPOSAL
Jefferson F GarufiCanadaIoni Bowcher PROPOSAL
David N RulapaughBrazilOnyama Limba UNQUALIFIED
Izzy Y GauchoItalyAmy Elsner NEW
Arvin R IturbideFranceStephen Shaw PROPOSAL
Clifford L MorascaUnited KingdomAsiya Javayant UNQUALIFIED
Julie J StockhamSpainOnyama Limba UNQUALIFIED
Maisha W AmigonUnited KingdomAmy Elsner PROPOSAL
Antonio Q WieserUnited KingdomStephen Shaw RENEWAL
Aruna P FlosiFranceIoni Bowcher RENEWAL
Jones E SlusarskiItalyIoni Bowcher RENEWAL
Silvio W WaycottSpainBernardo Dominic PROPOSAL
Smith Y SaylorsUnited KingdomElwin Sharvill NEW
Antonio O SaylorsItalyBernardo Dominic NEW
Faith M FollerRussiaAmy Elsner QUALIFIED
Misaki H OldroydSpainOnyama Limba QUALIFIED
Frozen Columns
Name
Claire Z Iturbide
Claire D Chui
Tony T Ferencz
Cody H Shinko
Aditya V Figeroa
Murillo X Garufi
Rodrigues H Whobrey
Sinclair K Dilliard
Aruna U Ruta
Cody J Nicka
Smith L Butt
Rodrigues Q Doe
Alejandro E Amigon
Misaki C Inouye
Julie B Ostrosky
Claire U Foller
Jeanfrancois N Rim
Costa Y Schemmer
Alejandro G Butt
Claire K Wieser
Jeanfrancois W Wieser
Salvatore T Gaucho
Mayumi R Caudy
Johnson F Kolmetz
Kaitlin P Foller
Aruna O Paprocki
Adams O Tollner
Adams H Doe
Munro A Bolognia
Izzy G Paprocki
Leon K Amigon
Deepesh L Malet
Tony E Perin
Costa R Ruta
Smith Q Stockham
Morrow R Butt
Nicolas V Flosi
Jones C Figeroa
Kaitlin U Ferencz
Aruna J Caudy
Kadeem L Paprocki
Jeanfrancois J Waycott
James J Maclead
Johnson C Albares
Mujtaba I Ferencz
Jeanfrancois J Albares
Smith C Bolognia
Maria O Caudy
Alejandro E Vocelka
Jefferson U Foller
IdCountryDate
1000Spain2025-07-19
1001India2025-08-08
1002Brazil2025-08-09
1003Brazil2025-08-08
1004Brazil2025-07-23
1005Russia2025-07-23
1006Argentina2025-07-31
1007United Kingdom2025-08-04
1008Japan2025-08-06
1009Russia2025-07-25
1010Italy2025-07-18
1011Canada2025-07-19
1012Spain2025-08-02
1013Italy2025-07-16
1014Germany2025-08-01
1015Spain2025-08-11
1016France2025-07-23
1017Brazil2025-07-16
1018Russia2025-07-19
1019United Kingdom2025-07-28
1020Australia2025-08-03
1021Germany2025-08-09
1022India2025-08-07
1023Brazil2025-07-29
1024Spain2025-08-03
1025Japan2025-08-06
1026Japan2025-07-31
1027Italy2025-08-09
1028Brazil2025-07-15
1029Canada2025-07-21
1030Australia2025-07-16
1031France2025-08-13
1032Spain2025-07-26
1033United Kingdom2025-07-22
1034India2025-07-20
1035Russia2025-07-22
1036France2025-08-11
1037Japan2025-07-26
1038Germany2025-07-28
1039Japan2025-08-01
1040Spain2025-07-27
1041Brazil2025-07-22
1042Russia2025-08-08
1043Argentina2025-08-01
1044Australia2025-08-04
1045Brazil2025-07-16
1046United Kingdom2025-07-18
1047Brazil2025-08-06
1048Italy2025-07-24
1049Russia2025-07-28

On-Demand Data

NameIdCountryDate
Alejandro B Iturbide1000Australia2025-07-20
Costa E Nestle1001France2025-07-30
Izzy M Stockham1002United Kingdom2025-07-25
Tony I Waycott1003United Kingdom2025-08-05
Munro S Nicka1004Japan2025-08-01
Ricardo H Kolmetz1005Canada2025-08-06
Johnson P Stenseth1006Germany2025-08-09
Leon J Marrier1007Russia2025-08-07
Stacey G Foller1008Brazil2025-08-12
Izzy G Stenseth1009Italy2025-08-09
Jeanfrancois O Marrier1010Argentina2025-08-12
Deepesh E Dilliard1011Japan2025-08-11
Alejandro C Ruta1012Germany2025-08-06
Kaitlin K Caudy1013Japan2025-07-15
Morrow I Vocelka1014France2025-08-01
Maisha J Tollner1015India2025-07-17
Deepesh T Stockham1016Argentina2025-07-18
Alejandro Q Schemmer1017Argentina2025-08-07
Ivar M Saylors1018Brazil2025-08-01
Ivar X Chui1019Australia2025-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro T DoeBrazilIoni Bowcher QUALIFIED
Julie Z IturbideIndiaElwin Sharvill QUALIFIED
Silvio K SaylorsBrazilXuxue Feng NEGOTIATION
Leja D OldroydAustraliaBernardo Dominic QUALIFIED
Jeanfrancois G AlbaresSpainIoni Bowcher PROPOSAL
Antonio R WhobreyArgentinaOnyama Limba NEW
Salvatore Z DoeRussiaAsiya Javayant NEGOTIATION
Salvatore Y RimGermanyIvan Magalhaes RENEWAL
Adams J DarakjySpainBernardo Dominic UNQUALIFIED
Wickens S TollnerItalyIvan Magalhaes UNQUALIFIED
Izzy X TollnerFranceAsiya Javayant RENEWAL
Ricardo G StockhamGermanyIvan Magalhaes UNQUALIFIED
Nicolas X RulapaughCanadaIoni Bowcher RENEWAL
Munro J MacleadArgentinaBernardo Dominic NEGOTIATION
Alejandro E FigeroaItalyIvan Magalhaes UNQUALIFIED
Julie T RutaAustraliaIoni Bowcher NEGOTIATION
Kaitlin L AlbaresIndiaIvan Magalhaes PROPOSAL
Izzy M RutaCanadaAsiya Javayant UNQUALIFIED
Ashley C CampainCanadaAnna Fali QUALIFIED
Alejandro E BriddickAustraliaOnyama Limba QUALIFIED
Jefferson O PoquetteArgentinaStephen Shaw UNQUALIFIED
Nicolas K OldroydSpainIoni Bowcher RENEWAL
Morrow C ShinkoIndiaStephen Shaw UNQUALIFIED
Jeanfrancois Z MacleadGermanyIoni Bowcher NEW
Leja S CaldareraFranceIoni Bowcher NEGOTIATION
Ricardo M MarrierItalyAsiya Javayant NEGOTIATION
Isabel D SaylorsIndiaAnna Fali NEGOTIATION
Munro A PoquetteFranceAnna Fali QUALIFIED
Kaitlin N BriddickFranceAmy Elsner QUALIFIED
Emily D AmigonBrazilStephen Shaw RENEWAL
Julie Z SaylorsItalyOnyama Limba UNQUALIFIED
Chavez F GillianBrazilBernardo Dominic QUALIFIED
Jeanfrancois J CaudyFranceXuxue Feng RENEWAL
Kaitlin G MarrierUnited KingdomAnna Fali QUALIFIED
Stacey W RoysterUnited KingdomStephen Shaw NEW
Maria L IturbideUnited KingdomIvan Magalhaes NEW
Deepesh Q StensethArgentinaIvan Magalhaes RENEWAL
Kaitlin I MorascaCanadaOnyama Limba PROPOSAL
Greenwood B NickaIndiaAnna Fali NEW
Silvio X WhobreyItalyIoni Bowcher 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>