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
Sinclair Q AmigonSpainIoni Bowcher NEGOTIATION
Greenwood D NickaAustraliaStephen Shaw UNQUALIFIED
Kaitlin Q MorascaBrazilIvan Magalhaes RENEWAL
Morrow D TollnerUnited KingdomBernardo Dominic PROPOSAL
Rodrigues X CaldareraRussiaIvan Magalhaes UNQUALIFIED
Jones J BriddickUnited KingdomXuxue Feng QUALIFIED
Stacey K VenereJapanIvan Magalhaes RENEWAL
David H RulapaughJapanOnyama Limba UNQUALIFIED
Smith Q KuskoUnited KingdomXuxue Feng NEGOTIATION
Kaitlin Z AmigonIndiaAnna Fali PROPOSAL
Sinclair R ChuiUnited KingdomAsiya Javayant PROPOSAL
Wickens O KolmetzAustraliaAsiya Javayant UNQUALIFIED
Julie D MarrierJapanAsiya Javayant NEW
Stacey Q PaprockiIndiaAsiya Javayant NEW
Tony J ChuiUnited KingdomAsiya Javayant PROPOSAL
Arvin H BowleyAustraliaAnna Fali UNQUALIFIED
Maisha G SergiAustraliaAmy Elsner UNQUALIFIED
Maisha J MorascaIndiaStephen Shaw RENEWAL
Nicolas P AlbaresCanadaAsiya Javayant NEGOTIATION
Chavez M MaletItalyOnyama Limba PROPOSAL
Jeanfrancois H VenereGermanyBernardo Dominic UNQUALIFIED
Costa T PerinJapanXuxue Feng QUALIFIED
Maria H VenereGermanyXuxue Feng QUALIFIED
Emily T FlosiItalyAmy Elsner QUALIFIED
Aika G KolmetzFranceIvan Magalhaes RENEWAL
Clifford D MorascaFranceBernardo Dominic RENEWAL
Silvio T VocelkaArgentinaElwin Sharvill NEGOTIATION
Mayumi H SaylorsGermanyAmy Elsner QUALIFIED
Claire W AlbaresJapanIvan Magalhaes NEGOTIATION
Salvatore D DarakjyJapanAnna Fali QUALIFIED
Jeanfrancois A KolmetzFranceIvan Magalhaes NEGOTIATION
Alejandro J ButtRussiaXuxue Feng UNQUALIFIED
Morrow P IturbideFranceIoni Bowcher QUALIFIED
Munro W MarrierBrazilIvan Magalhaes RENEWAL
Smith F MaletIndiaOnyama Limba NEGOTIATION
Cody U DarakjyArgentinaOnyama Limba UNQUALIFIED
Claire U ButtIndiaAsiya Javayant RENEWAL
Maisha E GlickGermanyElwin Sharvill PROPOSAL
Maria S SaylorsArgentinaAnna Fali UNQUALIFIED
Salvatore I MacleadUnited KingdomAnna Fali PROPOSAL
Jones T DilliardBrazilIoni Bowcher RENEWAL
Kaitlin U GarufiAustraliaXuxue Feng NEW
Francesco M StockhamIndiaXuxue Feng QUALIFIED
James Y BologniaAustraliaAsiya Javayant PROPOSAL
David M NickaIndiaAmy Elsner NEGOTIATION
Jefferson D AlbaresAustraliaStephen Shaw QUALIFIED
Jefferson U FerenczSpainElwin Sharvill QUALIFIED
Aruna V StensethIndiaIvan Magalhaes RENEWAL
Aruna F FollerArgentinaIvan Magalhaes QUALIFIED
Murillo B PaprockiUnited KingdomAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mayumi Y VocelkaGermanyAmy Elsner UNQUALIFIED
Rodrigues T SergiRussiaAmy Elsner QUALIFIED
Darci R InouyeJapanAmy Elsner UNQUALIFIED
Francesco F BriddickBrazilAmy Elsner PROPOSAL
Murillo H AmigonCanadaBernardo Dominic NEW
Adams T TollnerCanadaAsiya Javayant UNQUALIFIED
Ivar B StensethFranceXuxue Feng RENEWAL
Darci A PaprockiAustraliaXuxue Feng NEGOTIATION
Wickens Z WaycottRussiaIoni Bowcher RENEWAL
Mujtaba B SchemmerItalyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James M KolmetzItaly2025-10-07King, Christopher A Esq QUALIFIED84Xuxue Feng
1001Maisha V FigeroaIndia2025-10-07Feiner Bros UNQUALIFIED44Bernardo Dominic
1002James A GlickArgentina2025-10-03King, Christopher A Esq NEGOTIATION31Ivan Magalhaes
1003Jennifer X RulapaughIndia2025-10-06Printing Dimensions PROPOSAL42Onyama Limba
1004Mujtaba L RimAustralia2025-09-28Benton, John B Jr PROPOSAL44Asiya Javayant
1005Salvatore A MaletBrazil2025-10-18Rousseaux, Michael Esq UNQUALIFIED90Bernardo Dominic
1006Jefferson X PaprockiAustralia2025-10-04Benton, John B Jr UNQUALIFIED87Asiya Javayant
1007Jeanfrancois V WhobreySpain2025-10-06Feltz Printing Service UNQUALIFIED37Ivan Magalhaes
1008Silvio G RoysterAustralia2025-10-15Chapman, Ross E Esq NEGOTIATION84Amy Elsner
1009Murillo X StockhamFrance2025-10-17Truhlar And Truhlar Attys NEW73Bernardo Dominic
1010Jones F WieserRussia2025-10-16Feiner Bros UNQUALIFIED19Xuxue Feng
1011Mujtaba D OstroskySpain2025-09-28Rousseaux, Michael Esq PROPOSAL89Asiya Javayant
1012Stacey E MaletUnited Kingdom2025-10-12Printing Dimensions QUALIFIED22Ioni Bowcher
1013Maisha Z BowleyRussia2025-10-01Rangoni Of Florence UNQUALIFIED45Ivan Magalhaes
1014Munro M ButtRussia2025-09-26Printing Dimensions QUALIFIED39Stephen Shaw
1015Wickens E ShinkoIndia2025-10-06Dorl, James J Esq RENEWAL19Anna Fali
1016Jones E KolmetzRussia2025-10-12Chemel, James L Cpa NEGOTIATION41Xuxue Feng
1017Alejandro N BologniaGermany2025-10-12Printing Dimensions UNQUALIFIED65Onyama Limba
1018Jeanfrancois P AlbaresSpain2025-09-22Printing Dimensions RENEWAL23Asiya Javayant
1019Emily Y AlbaresItaly2025-10-12Dorl, James J Esq QUALIFIED56Bernardo Dominic
1020Julie J MaletIndia2025-10-03Chanay, Jeffrey A Esq PROPOSAL48Elwin Sharvill
1021Stacey W KuskoAustralia2025-10-18Printing Dimensions RENEWAL19Amy Elsner
1022Johnson N MaletGermany2025-10-03Chapman, Ross E Esq PROPOSAL42Amy Elsner
1023Stacey C MaletFrance2025-10-09Rangoni Of Florence UNQUALIFIED87Bernardo Dominic
1024Ivar P GarufiIndia2025-10-11Truhlar And Truhlar Attys QUALIFIED83Ivan Magalhaes
1025Murillo B DilliardBrazil2025-10-07Feiner Bros NEGOTIATION10Ioni Bowcher
1026Francesco C SlusarskiIndia2025-09-24Chapman, Ross E Esq UNQUALIFIED1Stephen Shaw
1027Murillo M ShinkoSpain2025-10-05Feltz Printing Service RENEWAL62Ioni Bowcher
1028Deepesh O DilliardArgentina2025-10-09Truhlar And Truhlar Attys RENEWAL85Anna Fali
1029Ivar Y RutaAustralia2025-09-27Commercial Press UNQUALIFIED11Amy Elsner
1030Ivar R PaprockiIndia2025-10-11Chapman, Ross E Esq NEGOTIATION54Asiya Javayant
1031Claire I TollnerBrazil2025-10-10King, Christopher A Esq UNQUALIFIED15Bernardo Dominic
1032Munro P CaldareraBrazil2025-09-23Dorl, James J Esq NEW81Elwin Sharvill
1033Leon D GlickCanada2025-09-25Feltz Printing Service UNQUALIFIED4Stephen Shaw
1034Clifford J MacleadBrazil2025-10-08Buckley Miller Wright PROPOSAL50Ivan Magalhaes
1035Ashley V MacleadGermany2025-10-04Printing Dimensions PROPOSAL63Elwin Sharvill
1036Jones W ChuiCanada2025-10-04Benton, John B Jr NEGOTIATION96Bernardo Dominic
1037David Z MaletUnited Kingdom2025-10-10Buckley Miller Wright NEW30Amy Elsner
1038Jennifer O MorascaGermany2025-09-27King, Christopher A Esq RENEWAL97Bernardo Dominic
1039Francesco U GlickFrance2025-10-07Rousseaux, Michael Esq UNQUALIFIED1Ivan Magalhaes
1040Tony U IturbideJapan2025-10-07Dorl, James J Esq PROPOSAL45Stephen Shaw
1041Darci Y MaletAustralia2025-10-05Truhlar And Truhlar Attys NEW9Stephen Shaw
1042Leja R DoeArgentina2025-09-29Truhlar And Truhlar Attys PROPOSAL78Asiya Javayant
1043Julie O ShinkoArgentina2025-09-21Benton, John B Jr PROPOSAL62Anna Fali
1044Munro N TollnerGermany2025-10-08Buckley Miller Wright PROPOSAL71Stephen Shaw
1045Aika Y InouyeIndia2025-10-11Chapman, Ross E Esq RENEWAL13Anna Fali
1046Emily F NestleIndia2025-10-07Feiner Bros RENEWAL42Xuxue Feng
1047Aika Z StensethSpain2025-09-24Truhlar And Truhlar Attys NEGOTIATION25Onyama Limba
1048Stacey Z SlusarskiCanada2025-10-01Benton, John B Jr QUALIFIED59Onyama Limba
1049Greenwood J SaylorsAustralia2025-10-12Rangoni Of Florence NEGOTIATION40Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jones B CaudyAustraliaBernardo Dominic UNQUALIFIED
Julie O WaycottIndiaAnna Fali UNQUALIFIED
Jefferson Z RimRussiaXuxue Feng UNQUALIFIED
Maria R NestleUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois A SchemmerSpainXuxue Feng RENEWAL
Ivar O FlosiItalyIoni Bowcher NEGOTIATION
Smith K BologniaGermanyIoni Bowcher NEW
Mayumi C BowleyBrazilIoni Bowcher NEW
James F WieserFranceAnna Fali NEW
Murillo J FerenczArgentinaAnna Fali QUALIFIED
Kaitlin J InouyeBrazilAmy Elsner NEW
Maria O CampainArgentinaAmy Elsner QUALIFIED
Aditya Y StockhamItalyAsiya Javayant NEGOTIATION
Munro S WhobreyArgentinaElwin Sharvill UNQUALIFIED
James R CaudyFranceOnyama Limba NEW
Izzy Z FlosiFranceElwin Sharvill NEGOTIATION
Jeanfrancois G FollerUnited KingdomAsiya Javayant RENEWAL
Silvio W StockhamAustraliaStephen Shaw NEW
Rodrigues V MorascaCanadaIvan Magalhaes PROPOSAL
James P AlbaresCanadaAmy Elsner RENEWAL
Arvin K VenereAustraliaAsiya Javayant UNQUALIFIED
Kadeem C RutaIndiaIvan Magalhaes UNQUALIFIED
Ivar M MarrierJapanIoni Bowcher NEW
Smith K SaylorsItalyStephen Shaw QUALIFIED
Chavez S WhobreyJapanOnyama Limba NEGOTIATION
Isabel R WaycottIndiaXuxue Feng NEGOTIATION
Mayumi W MacleadBrazilElwin Sharvill NEW
Chavez B FollerGermanyBernardo Dominic NEW
Kaitlin Y CaldareraUnited KingdomAnna Fali UNQUALIFIED
Ashley O InouyeUnited KingdomBernardo Dominic PROPOSAL
Rodrigues F MaletUnited KingdomStephen Shaw QUALIFIED
Jones Y IturbideGermanyAmy Elsner NEW
Ivar N VocelkaAustraliaElwin Sharvill RENEWAL
Jeanfrancois S GlickCanadaAsiya Javayant QUALIFIED
Jefferson H KuskoAustraliaAsiya Javayant UNQUALIFIED
Jennifer B MacleadRussiaAnna Fali UNQUALIFIED
Sinclair X AlbaresJapanAmy Elsner PROPOSAL
Alejandro K RimArgentinaElwin Sharvill PROPOSAL
Ricardo Z CaldareraJapanElwin Sharvill NEW
Leja D DarakjyItalyAnna Fali NEGOTIATION
Munro W DilliardCanadaAsiya Javayant QUALIFIED
Emily Q FigeroaAustraliaOnyama Limba NEGOTIATION
Arvin K StensethArgentinaAmy Elsner NEGOTIATION
Adams J NickaAustraliaIvan Magalhaes NEW
Cody L SlusarskiIndiaXuxue Feng UNQUALIFIED
Morrow E InouyeAustraliaAnna Fali PROPOSAL
Jefferson Q RulapaughItalyOnyama Limba PROPOSAL
Cody O DoeFranceAnna Fali PROPOSAL
Sinclair R NestleFranceIvan Magalhaes PROPOSAL
Claire I BriddickRussiaOnyama Limba QUALIFIED
Frozen Columns
Name
Octavia Z Caudy
Johnson W Rulapaugh
Claire C Campain
Kaitlin J Bowley
Jeanfrancois P Tollner
Julie C Flosi
Johnson A Gaucho
Octavia C Dilliard
Darci O Garufi
Darci I Poquette
Adams H Poquette
Clifford B Albares
Aika E Doe
Aruna P Whobrey
Julie M Nicka
Leja J Malet
Smith S Waycott
Stacey B Ferencz
Aruna S Saylors
Murillo T Gaucho
Silvio V Poquette
Alejandro C Caldarera
Murillo K Stenseth
Aruna D Darakjy
Johnson Z Venere
Julie X Figeroa
Chavez R Paprocki
Cody E Schemmer
Nicolas D Chui
James C Inouye
Jones S Schemmer
Isabel Z Ferencz
Antonio H Bolognia
Costa N Butt
Wickens Z Venere
Octavia Y Rim
Rodrigues Y Butt
Smith V Albares
Arvin E Caldarera
Wickens Y Foller
Adams E Iturbide
Ashley V Oldroyd
Mayumi X Chui
Greenwood H Glick
Alejandro B Gillian
Emily T Ruta
Salvatore F Ruta
Sinclair X Rulapaugh
Antonio T Stenseth
Smith Z Amigon
IdCountryDate
1000Spain2025-10-08
1001Japan2025-09-29
1002Italy2025-10-08
1003Spain2025-10-15
1004India2025-10-16
1005United Kingdom2025-10-11
1006Canada2025-09-25
1007United Kingdom2025-09-23
1008Spain2025-10-14
1009Argentina2025-10-17
1010France2025-10-01
1011Australia2025-09-25
1012Spain2025-09-30
1013Spain2025-09-23
1014Russia2025-09-26
1015Japan2025-10-08
1016Argentina2025-10-07
1017Brazil2025-10-15
1018United Kingdom2025-09-25
1019Spain2025-10-04
1020France2025-10-12
1021Italy2025-10-08
1022United Kingdom2025-09-25
1023Russia2025-10-16
1024Australia2025-10-03
1025India2025-10-15
1026Russia2025-10-05
1027Spain2025-09-30
1028United Kingdom2025-10-19
1029India2025-10-07
1030Argentina2025-10-05
1031Argentina2025-09-30
1032India2025-09-26
1033Canada2025-10-09
1034Italy2025-10-07
1035France2025-10-16
1036Italy2025-09-29
1037Spain2025-10-13
1038Spain2025-10-19
1039Spain2025-09-29
1040Spain2025-10-03
1041Canada2025-09-24
1042Brazil2025-09-29
1043Germany2025-09-23
1044Spain2025-10-17
1045India2025-10-04
1046Russia2025-10-16
1047Germany2025-10-07
1048Japan2025-09-22
1049Brazil2025-10-15

On-Demand Data

NameIdCountryDate
Ricardo N Caldarera1000Italy2025-10-15
Smith B Maclead1001Australia2025-09-27
Stacey U Kusko1002Japan2025-09-22
Kaitlin Q Venere1003India2025-09-20
Leja O Nestle1004Argentina2025-09-27
Maisha T Malet1005Spain2025-09-20
Salvatore C Stockham1006Brazil2025-09-20
Misaki A Glick1007Japan2025-10-10
Kadeem P Butt1008Australia2025-10-12
Smith M Bolognia1009Italy2025-09-24
Darci T Nestle1010Germany2025-10-02
Ricardo T Saylors1011Italy2025-10-04
Arvin M Paprocki1012Germany2025-09-21
Maria V Oldroyd1013Canada2025-10-05
Izzy F Chui1014Canada2025-10-10
Faith G Kolmetz1015Australia2025-10-15
Adams O Ruta1016Japan2025-10-11
Ivar N Nestle1017Australia2025-10-11
Mayumi Q Malet1018Italy2025-10-10
Morrow C Gillian1019Argentina2025-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia F BriddickRussiaIoni Bowcher NEGOTIATION
Aika I DoeFranceBernardo Dominic RENEWAL
Stacey S MacleadAustraliaAmy Elsner NEGOTIATION
Ivar T NestleGermanyIvan Magalhaes RENEWAL
Tony B FigeroaCanadaStephen Shaw NEGOTIATION
Isabel P GauchoUnited KingdomAmy Elsner NEGOTIATION
Emily U SchemmerArgentinaIvan Magalhaes UNQUALIFIED
Smith T FerenczItalyOnyama Limba PROPOSAL
Smith E ButtIndiaAsiya Javayant RENEWAL
Salvatore W FollerJapanElwin Sharvill UNQUALIFIED
Jefferson A BologniaGermanyBernardo Dominic RENEWAL
Sinclair W RulapaughJapanIvan Magalhaes QUALIFIED
Smith J SergiSpainBernardo Dominic NEW
Clifford P NickaJapanIvan Magalhaes RENEWAL
Francesco Q BriddickItalyAnna Fali QUALIFIED
Darci F PerinUnited KingdomIvan Magalhaes RENEWAL
Ashley L SchemmerFranceElwin Sharvill RENEWAL
Maria H MorascaFranceOnyama Limba PROPOSAL
Francesco W TollnerAustraliaBernardo Dominic NEW
Julie R MaletGermanyIoni Bowcher UNQUALIFIED
Ricardo H CaudyFranceElwin Sharvill RENEWAL
Wickens L RulapaughArgentinaXuxue Feng PROPOSAL
Jennifer A CaldareraArgentinaStephen Shaw NEW
Aika U FerenczUnited KingdomStephen Shaw UNQUALIFIED
Julie Z DarakjyArgentinaOnyama Limba QUALIFIED
Jones H GauchoRussiaAnna Fali UNQUALIFIED
Salvatore Y InouyeJapanAmy Elsner NEGOTIATION
Aruna R IturbideCanadaAnna Fali RENEWAL
Cody A KuskoJapanOnyama Limba NEGOTIATION
Morrow N PoquetteItalyOnyama Limba NEGOTIATION
Leja F PoquetteUnited KingdomIoni Bowcher PROPOSAL
Aika N WhobreyArgentinaAnna Fali QUALIFIED
Antonio F MorascaArgentinaXuxue Feng RENEWAL
James B RoysterJapanXuxue Feng PROPOSAL
Chavez I GlickAustraliaStephen Shaw PROPOSAL
Chavez Q StensethCanadaOnyama Limba RENEWAL
Isabel Y BriddickArgentinaAnna Fali NEW
Silvio R DarakjyIndiaOnyama Limba NEGOTIATION
Ashley T RimArgentinaOnyama Limba NEW
Izzy T TollnerJapanAsiya Javayant 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>