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
Alejandro Y NickaItalyStephen Shaw QUALIFIED
Misaki N PaprockiSpainElwin Sharvill NEGOTIATION
Chavez K MaletJapanAnna Fali PROPOSAL
James T RulapaughBrazilOnyama Limba NEW
Jefferson Q KolmetzItalyAmy Elsner NEW
Jennifer V NickaSpainAnna Fali NEGOTIATION
Murillo Y WaycottGermanyXuxue Feng PROPOSAL
Chavez K CampainSpainBernardo Dominic QUALIFIED
Faith F GillianAustraliaElwin Sharvill NEGOTIATION
Mayumi F IturbideIndiaAnna Fali PROPOSAL
Leon T DoeJapanStephen Shaw NEGOTIATION
Sinclair Z CaldareraSpainElwin Sharvill RENEWAL
Francesco V SlusarskiGermanyAnna Fali RENEWAL
Morrow V StockhamFranceAsiya Javayant PROPOSAL
Aditya P DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Clifford X RulapaughRussiaAsiya Javayant NEGOTIATION
Ivar R SaylorsGermanyStephen Shaw RENEWAL
Chavez X ChuiIndiaXuxue Feng NEGOTIATION
Juan E FerenczUnited KingdomAnna Fali NEGOTIATION
Deepesh U WieserUnited KingdomElwin Sharvill RENEWAL
Clifford Z RutaRussiaXuxue Feng PROPOSAL
Munro F WhobreyFranceElwin Sharvill NEGOTIATION
Alejandro U GarufiIndiaAmy Elsner NEW
Octavia M GauchoRussiaAnna Fali PROPOSAL
Darci D GlickCanadaIvan Magalhaes PROPOSAL
Ricardo D StockhamBrazilAnna Fali QUALIFIED
Sinclair B BowleyCanadaElwin Sharvill QUALIFIED
Nicolas T MaletFranceElwin Sharvill NEW
Greenwood Z MacleadItalyBernardo Dominic NEW
Kaitlin K AmigonRussiaIvan Magalhaes NEW
Salvatore P SergiCanadaAnna Fali UNQUALIFIED
Rodrigues T FerenczAustraliaIvan Magalhaes RENEWAL
Greenwood Y AmigonFranceOnyama Limba NEGOTIATION
Murillo F SaylorsRussiaElwin Sharvill RENEWAL
Aika W NestleGermanyIvan Magalhaes NEGOTIATION
Aika N AmigonAustraliaAsiya Javayant RENEWAL
Maisha D WhobreyItalyAsiya Javayant PROPOSAL
Ivar K OstroskyCanadaAmy Elsner PROPOSAL
Murillo I AlbaresArgentinaStephen Shaw RENEWAL
Smith T OldroydAustraliaBernardo Dominic UNQUALIFIED
Mujtaba B FlosiRussiaAnna Fali RENEWAL
Costa T SergiJapanAmy Elsner QUALIFIED
Aika V FerenczArgentinaAmy Elsner NEW
Kadeem H WaycottSpainIvan Magalhaes NEW
Deepesh B BowleyUnited KingdomAsiya Javayant RENEWAL
Kaitlin D FerenczIndiaBernardo Dominic NEGOTIATION
Izzy B CaldareraFranceAnna Fali NEW
Kadeem B WaycottAustraliaAnna Fali PROPOSAL
Kadeem G SchemmerIndiaAnna Fali NEGOTIATION
Darci Z KuskoItalyOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja V FollerItalyElwin Sharvill NEGOTIATION
Johnson A SchemmerItalyAmy Elsner UNQUALIFIED
Jennifer B SergiRussiaBernardo Dominic NEW
Mayumi Z RulapaughAustraliaStephen Shaw NEW
Emily F GlickSpainIoni Bowcher PROPOSAL
Deepesh R FollerAustraliaStephen Shaw UNQUALIFIED
Faith U PaprockiCanadaAnna Fali UNQUALIFIED
Chavez X PerinBrazilElwin Sharvill PROPOSAL
Juan E SaylorsAustraliaAsiya Javayant UNQUALIFIED
Leon V DoeItalyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie J PaprockiSpain2025-09-02Morlong Associates NEW29Onyama Limba
1001Jones M RimRussia2025-09-11King, Christopher A Esq UNQUALIFIED35Amy Elsner
1002Aditya E FollerIndia2025-09-17Feiner Bros QUALIFIED40Elwin Sharvill
1003Leja F MaletRussia2025-09-22Commercial Press RENEWAL83Elwin Sharvill
1004Wickens Y MorascaArgentina2025-09-20Printing Dimensions NEW75Amy Elsner
1005Kaitlin N CaldareraCanada2025-09-27Printing Dimensions QUALIFIED39Elwin Sharvill
1006Ashley U WaycottUnited Kingdom2025-09-09Morlong Associates QUALIFIED4Anna Fali
1007Wickens L FollerRussia2025-09-22Rousseaux, Michael Esq NEGOTIATION77Bernardo Dominic
1008Kadeem K FlosiIndia2025-09-23Rousseaux, Michael Esq QUALIFIED69Xuxue Feng
1009Maisha L NickaBrazil2025-09-20Benton, John B Jr RENEWAL30Bernardo Dominic
1010Aditya H AmigonUnited Kingdom2025-09-05Dorl, James J Esq PROPOSAL26Ioni Bowcher
1011Isabel E SlusarskiFrance2025-09-20Morlong Associates QUALIFIED23Stephen Shaw
1012Maria S WhobreyAustralia2025-09-17Dorl, James J Esq QUALIFIED18Elwin Sharvill
1013Rodrigues B FigeroaArgentina2025-09-19Dorl, James J Esq NEW10Amy Elsner
1014Nicolas O FlosiCanada2025-09-21Truhlar And Truhlar Attys RENEWAL43Onyama Limba
1015Costa X MarrierUnited Kingdom2025-09-21Buckley Miller Wright QUALIFIED40Ioni Bowcher
1016Tony T PerinRussia2025-09-26Rousseaux, Michael Esq NEGOTIATION35Asiya Javayant
1017Ricardo I OstroskyAustralia2025-08-30Buckley Miller Wright PROPOSAL77Ivan Magalhaes
1018Isabel L SaylorsGermany2025-09-04Rousseaux, Michael Esq PROPOSAL20Ivan Magalhaes
1019Adams S WhobreyGermany2025-09-15Truhlar And Truhlar Attys PROPOSAL95Anna Fali
1020Kadeem W PerinUnited Kingdom2025-09-24Morlong Associates UNQUALIFIED33Bernardo Dominic
1021Izzy Y MaletCanada2025-09-16Chemel, James L Cpa UNQUALIFIED51Bernardo Dominic
1022Kaitlin W PoquetteAustralia2025-09-15Feltz Printing Service UNQUALIFIED10Onyama Limba
1023Chavez F SchemmerSpain2025-09-16Commercial Press PROPOSAL46Stephen Shaw
1024Ricardo H GillianFrance2025-08-29Feiner Bros RENEWAL72Elwin Sharvill
1025Ricardo O CampainCanada2025-09-24Commercial Press UNQUALIFIED70Ivan Magalhaes
1026Emily A DoeJapan2025-08-31Rousseaux, Michael Esq NEGOTIATION93Ivan Magalhaes
1027Aditya F BriddickIndia2025-09-07Benton, John B Jr NEGOTIATION41Onyama Limba
1028Kaitlin P OldroydJapan2025-09-22Benton, John B Jr RENEWAL78Amy Elsner
1029Darci S WaycottRussia2025-09-14Morlong Associates NEW72Ioni Bowcher
1030Darci E VocelkaItaly2025-08-30Chemel, James L Cpa NEGOTIATION37Onyama Limba
1031Deepesh N PerinUnited Kingdom2025-09-19Feiner Bros RENEWAL8Ivan Magalhaes
1032Misaki P InouyeItaly2025-09-25Commercial Press UNQUALIFIED90Stephen Shaw
1033Mujtaba V PaprockiArgentina2025-09-24Chapman, Ross E Esq NEW61Onyama Limba
1034James U SchemmerAustralia2025-09-27Commercial Press NEGOTIATION0Bernardo Dominic
1035Ashley N RimJapan2025-09-10Truhlar And Truhlar Attys UNQUALIFIED49Anna Fali
1036James O SlusarskiItaly2025-09-14Chemel, James L Cpa NEGOTIATION60Stephen Shaw
1037Costa O VenereUnited Kingdom2025-09-05Benton, John B Jr NEGOTIATION84Asiya Javayant
1038Jones Q BriddickArgentina2025-09-03Chanay, Jeffrey A Esq RENEWAL39Ioni Bowcher
1039Salvatore Q GillianJapan2025-08-29Commercial Press UNQUALIFIED52Ivan Magalhaes
1040Izzy V SergiItaly2025-08-30Dorl, James J Esq NEGOTIATION55Anna Fali
1041Maria S SlusarskiRussia2025-09-06Printing Dimensions PROPOSAL48Stephen Shaw
1042Chavez Y WhobreyAustralia2025-09-27King, Christopher A Esq NEW5Ioni Bowcher
1043Aika I CaudyItaly2025-09-22Rousseaux, Michael Esq PROPOSAL30Amy Elsner
1044Francesco J ChuiGermany2025-08-29Benton, John B Jr QUALIFIED69Stephen Shaw
1045Kaitlin Y KolmetzItaly2025-09-26Benton, John B Jr NEW87Ioni Bowcher
1046Francesco U BriddickAustralia2025-09-06Benton, John B Jr RENEWAL94Elwin Sharvill
1047Aika X RimCanada2025-09-25Benton, John B Jr RENEWAL13Xuxue Feng
1048Izzy K MarrierFrance2025-09-02Benton, John B Jr QUALIFIED26Ivan Magalhaes
1049Sinclair B WhobreySpain2025-09-12Dorl, James J Esq PROPOSAL85Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Stacey Y RimJapanIoni Bowcher UNQUALIFIED
Octavia I ButtRussiaIvan Magalhaes RENEWAL
Mayumi N IturbideRussiaBernardo Dominic NEW
Chavez T VenereRussiaAnna Fali RENEWAL
Rodrigues G PoquetteIndiaAsiya Javayant NEW
Costa W AlbaresBrazilIvan Magalhaes UNQUALIFIED
Costa I FerenczRussiaXuxue Feng UNQUALIFIED
Francesco G KuskoGermanyStephen Shaw QUALIFIED
Smith F BriddickIndiaXuxue Feng PROPOSAL
Johnson I AmigonAustraliaIoni Bowcher QUALIFIED
Juan Q KolmetzCanadaElwin Sharvill NEW
Murillo C MaletArgentinaStephen Shaw NEW
Misaki K RoysterSpainAmy Elsner UNQUALIFIED
Nicolas Q MarrierAustraliaIvan Magalhaes QUALIFIED
Morrow A WieserItalyBernardo Dominic QUALIFIED
Maria Y OstroskyRussiaAnna Fali NEW
Stacey O DoeRussiaStephen Shaw PROPOSAL
Izzy J IturbideItalyAmy Elsner UNQUALIFIED
Faith R RulapaughJapanElwin Sharvill QUALIFIED
Wickens R CaldareraJapanIvan Magalhaes UNQUALIFIED
Juan M ButtIndiaOnyama Limba RENEWAL
Aruna Z BriddickCanadaAnna Fali UNQUALIFIED
Greenwood I NestleCanadaBernardo Dominic QUALIFIED
Francesco D MaletCanadaIoni Bowcher QUALIFIED
Jefferson F PerinBrazilAsiya Javayant NEGOTIATION
Adams Y OldroydUnited KingdomOnyama Limba UNQUALIFIED
Aika I CampainItalyAmy Elsner NEW
Jeanfrancois N MarrierItalyIoni Bowcher NEGOTIATION
James X DoeIndiaAmy Elsner NEGOTIATION
Emily C SaylorsAustraliaXuxue Feng PROPOSAL
Adams U BriddickUnited KingdomAsiya Javayant PROPOSAL
Aruna N GauchoItalyAnna Fali PROPOSAL
Cody U GillianRussiaStephen Shaw UNQUALIFIED
Morrow F BriddickIndiaIvan Magalhaes QUALIFIED
Leon D RoysterSpainStephen Shaw RENEWAL
Aruna V TollnerAustraliaIoni Bowcher UNQUALIFIED
Silvio N OstroskyJapanAnna Fali NEGOTIATION
Sinclair R StockhamJapanIvan Magalhaes UNQUALIFIED
Costa B CaldareraGermanyElwin Sharvill PROPOSAL
Stacey F SaylorsBrazilBernardo Dominic NEW
Cody D RulapaughRussiaStephen Shaw RENEWAL
Johnson W MaletGermanyElwin Sharvill NEGOTIATION
Maria E VenereAustraliaXuxue Feng UNQUALIFIED
Cody F DarakjyBrazilElwin Sharvill QUALIFIED
Arvin C CampainSpainElwin Sharvill UNQUALIFIED
Morrow E MacleadAustraliaBernardo Dominic QUALIFIED
Ricardo S CaudyFranceOnyama Limba QUALIFIED
Jennifer M CampainFranceElwin Sharvill QUALIFIED
Maisha Q MorascaArgentinaXuxue Feng PROPOSAL
Julie H GarufiIndiaAmy Elsner PROPOSAL
Frozen Columns
Name
Aditya H Poquette
Ricardo T Saylors
Kaitlin W Ruta
Antonio I Gillian
Leja R Amigon
Cody F Shinko
Cody S Caldarera
Morrow C Saylors
Mujtaba D Ruta
Leon M Marrier
Morrow V Vocelka
Aika E Royster
Greenwood N Malet
Jeanfrancois K Darakjy
Costa T Glick
Adams D Chui
Cody U Briddick
Maria M Glick
Jennifer N Campain
Nicolas C Tollner
Silvio S Nicka
Kadeem L Oldroyd
Deepesh U Chui
Alejandro I Gaucho
Kadeem G Stockham
David M Perin
Juan V Sergi
Munro L Maclead
Deepesh W Darakjy
Stacey M Paprocki
Munro O Kolmetz
Adams Z Caldarera
Jeanfrancois X Waycott
Mujtaba W Caldarera
Kadeem B Butt
Ashley F Sergi
Silvio A Maclead
Jefferson T Whobrey
Faith W Shinko
Deepesh C Chui
Aika R Malet
Arvin H Doe
Kaitlin Z Oldroyd
Silvio H Poquette
Aruna N Bolognia
Izzy H Nestle
Maria T Wieser
Ashley V Vocelka
Greenwood J Doe
Chavez O Venere
IdCountryDate
1000Argentina2025-08-30
1001Italy2025-09-16
1002United Kingdom2025-09-12
1003United Kingdom2025-09-07
1004Italy2025-09-13
1005France2025-09-05
1006France2025-09-26
1007Canada2025-08-31
1008Spain2025-09-03
1009Australia2025-09-08
1010United Kingdom2025-09-14
1011India2025-09-06
1012United Kingdom2025-08-29
1013Australia2025-09-24
1014Japan2025-09-08
1015Russia2025-09-13
1016Brazil2025-09-01
1017India2025-09-25
1018India2025-09-05
1019Spain2025-09-20
1020Australia2025-09-26
1021Russia2025-09-04
1022Argentina2025-09-12
1023Germany2025-09-01
1024Japan2025-09-27
1025India2025-09-26
1026Brazil2025-09-10
1027India2025-09-17
1028Australia2025-09-09
1029Spain2025-09-02
1030Japan2025-09-22
1031Australia2025-09-24
1032Russia2025-09-22
1033Canada2025-09-15
1034Australia2025-09-11
1035Argentina2025-08-29
1036India2025-09-13
1037France2025-09-01
1038Russia2025-09-24
1039United Kingdom2025-09-20
1040Spain2025-09-10
1041Brazil2025-09-13
1042Italy2025-09-12
1043Australia2025-09-14
1044Australia2025-09-11
1045Canada2025-09-09
1046Argentina2025-09-11
1047Italy2025-09-08
1048India2025-09-27
1049Spain2025-09-21

On-Demand Data

NameIdCountryDate
Costa S Bolognia1000Italy2025-08-31
Deepesh V Rim1001Italy2025-09-23
Tony U Caudy1002United Kingdom2025-09-12
Munro E Gaucho1003France2025-09-08
Johnson X Briddick1004United Kingdom2025-09-06
Wickens M Vocelka1005India2025-09-26
Ashley V Iturbide1006Germany2025-08-30
Aruna W Darakjy1007Brazil2025-09-09
Jefferson K Kolmetz1008Germany2025-09-24
Leon B Kusko1009Argentina2025-09-17
Jennifer H Figeroa1010Japan2025-09-17
Stacey T Waycott1011Italy2025-09-10
Clifford N Albares1012Brazil2025-08-31
Claire U Rulapaugh1013Japan2025-09-11
Smith G Oldroyd1014Germany2025-09-09
Nicolas P Shinko1015Brazil2025-09-07
Munro X Nestle1016France2025-09-08
Johnson U Venere1017Brazil2025-09-21
Sinclair F Oldroyd1018Australia2025-09-23
Darci P Ostrosky1019India2025-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika R NickaSpainIoni Bowcher NEW
Sinclair N ShinkoAustraliaAsiya Javayant UNQUALIFIED
Salvatore N AlbaresItalyAmy Elsner NEGOTIATION
Izzy Z KuskoRussiaIoni Bowcher NEGOTIATION
James Q BologniaArgentinaIoni Bowcher NEGOTIATION
Darci J GillianIndiaXuxue Feng UNQUALIFIED
Smith U MaletUnited KingdomOnyama Limba UNQUALIFIED
Isabel M FerenczGermanyXuxue Feng PROPOSAL
Francesco M StockhamItalyXuxue Feng NEW
Aruna G BowleyJapanAsiya Javayant UNQUALIFIED
Francesco T PaprockiItalyElwin Sharvill NEGOTIATION
Costa Z NestleFranceElwin Sharvill NEGOTIATION
Juan P BriddickAustraliaAsiya Javayant RENEWAL
Kadeem L StensethArgentinaOnyama Limba UNQUALIFIED
Octavia S RimIndiaIoni Bowcher NEGOTIATION
Aika E SlusarskiSpainOnyama Limba PROPOSAL
Octavia A AlbaresArgentinaIoni Bowcher PROPOSAL
Smith Z ButtSpainIoni Bowcher UNQUALIFIED
Johnson Y GlickItalyBernardo Dominic NEGOTIATION
Clifford L FigeroaJapanStephen Shaw NEGOTIATION
Jeanfrancois Y MacleadFranceOnyama Limba UNQUALIFIED
Antonio J SlusarskiGermanyAmy Elsner UNQUALIFIED
Aditya K SlusarskiFranceXuxue Feng NEW
Izzy D RoysterUnited KingdomStephen Shaw NEGOTIATION
Isabel T NestleUnited KingdomElwin Sharvill PROPOSAL
Aruna Q BologniaCanadaAmy Elsner UNQUALIFIED
Nicolas A MorascaBrazilAnna Fali UNQUALIFIED
Morrow U VocelkaCanadaIvan Magalhaes NEW
Jeanfrancois U BologniaIndiaXuxue Feng RENEWAL
Nicolas A GauchoAustraliaElwin Sharvill UNQUALIFIED
Silvio C FerenczSpainStephen Shaw NEW
Faith L BowleyArgentinaBernardo Dominic QUALIFIED
Morrow T AlbaresIndiaIoni Bowcher NEGOTIATION
Faith R GlickAustraliaElwin Sharvill QUALIFIED
Jones Q SlusarskiItalyOnyama Limba UNQUALIFIED
Tony S PoquetteItalyOnyama Limba QUALIFIED
Tony G RutaFranceAnna Fali UNQUALIFIED
Octavia P VocelkaFranceIoni Bowcher PROPOSAL
Mujtaba G SlusarskiIndiaStephen Shaw NEGOTIATION
Maisha B FlosiIndiaStephen Shaw 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>