November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Adams C KuskoFranceStephen Shaw NEGOTIATION
Juan F PerinItalyXuxue Feng NEW
Juan M DilliardFranceXuxue Feng NEGOTIATION
Tony E MorascaJapanBernardo Dominic NEW
Jones G WhobreyUnited KingdomAnna Fali RENEWAL
Stacey Y IturbideGermanyXuxue Feng UNQUALIFIED
Silvio X PerinGermanyBernardo Dominic UNQUALIFIED
Ricardo U RutaFranceAmy Elsner NEW
Faith K FlosiItalyXuxue Feng NEW
Jefferson X ShinkoCanadaBernardo Dominic NEW
Claire A PaprockiFranceIoni Bowcher RENEWAL
Faith O CaudySpainOnyama Limba PROPOSAL
Jennifer B DarakjyBrazilAnna Fali RENEWAL
Kaitlin A TollnerItalyBernardo Dominic PROPOSAL
Jeanfrancois Y RimCanadaAsiya Javayant QUALIFIED
Tony B KuskoCanadaElwin Sharvill UNQUALIFIED
Emily V IturbideAustraliaXuxue Feng PROPOSAL
Faith S FigeroaFranceElwin Sharvill NEW
Misaki P CaldareraSpainOnyama Limba UNQUALIFIED
Leon D WaycottJapanIvan Magalhaes UNQUALIFIED
Julie X GillianGermanyIvan Magalhaes NEW
Morrow E CampainSpainIoni Bowcher NEGOTIATION
Salvatore Q RimAustraliaOnyama Limba RENEWAL
Mayumi X InouyeArgentinaOnyama Limba UNQUALIFIED
Kadeem G GillianAustraliaElwin Sharvill NEGOTIATION
Silvio B BologniaUnited KingdomElwin Sharvill NEGOTIATION
Salvatore Z RutaUnited KingdomXuxue Feng NEGOTIATION
Stacey J OldroydJapanIoni Bowcher QUALIFIED
Ashley A FollerJapanBernardo Dominic PROPOSAL
Stacey Y GillianArgentinaIvan Magalhaes NEW
Leja P GillianItalyIoni Bowcher UNQUALIFIED
Maisha W WaycottSpainAsiya Javayant PROPOSAL
Kaitlin D GauchoJapanIvan Magalhaes PROPOSAL
Kadeem Q ShinkoItalyBernardo Dominic NEGOTIATION
Silvio C RimFranceOnyama Limba QUALIFIED
Isabel M RoysterAustraliaOnyama Limba NEW
Chavez A AmigonSpainIvan Magalhaes RENEWAL
James J GillianRussiaElwin Sharvill NEW
Misaki I RoysterItalyIoni Bowcher PROPOSAL
Faith N OstroskyJapanOnyama Limba UNQUALIFIED
Antonio K CampainArgentinaOnyama Limba NEGOTIATION
Sinclair V CampainArgentinaXuxue Feng NEGOTIATION
Jones N SergiJapanAnna Fali NEGOTIATION
Francesco P SergiIndiaStephen Shaw RENEWAL
Munro X PaprockiItalyAnna Fali RENEWAL
Jefferson V BowleySpainAsiya Javayant RENEWAL
Jeanfrancois D AmigonJapanOnyama Limba UNQUALIFIED
Maisha I MaletFranceIvan Magalhaes QUALIFIED
Octavia W PerinArgentinaAnna Fali NEW
Aruna I BologniaRussiaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Morrow G KuskoArgentinaElwin Sharvill QUALIFIED
Sinclair E OstroskyUnited KingdomAsiya Javayant UNQUALIFIED
Octavia A InouyeJapanAnna Fali UNQUALIFIED
Stacey S StockhamUnited KingdomXuxue Feng UNQUALIFIED
Jefferson X InouyeCanadaAmy Elsner PROPOSAL
Octavia K GlickIndiaBernardo Dominic NEGOTIATION
Ricardo G GillianUnited KingdomXuxue Feng UNQUALIFIED
Ivar D ButtBrazilIvan Magalhaes QUALIFIED
Mayumi U GlickAustraliaElwin Sharvill NEGOTIATION
Faith Q WieserJapanAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow S ButtItaly2026-09-17Benton, John B Jr NEGOTIATION13Anna Fali
1001Arvin H SchemmerCanada2026-09-14Truhlar And Truhlar Attys NEW48Bernardo Dominic
1002Antonio K CaudySpain2026-10-06Chanay, Jeffrey A Esq RENEWAL13Elwin Sharvill
1003Nicolas X TollnerArgentina2026-10-06Truhlar And Truhlar Attys PROPOSAL90Stephen Shaw
1004Leja I MaletRussia2026-09-24Feltz Printing Service NEGOTIATION12Bernardo Dominic
1005Adams Y PoquetteUnited Kingdom2026-10-09Rangoni Of Florence RENEWAL31Bernardo Dominic
1006Ivar L PaprockiFrance2026-10-11Dorl, James J Esq NEW11Amy Elsner
1007Arvin F DarakjyArgentina2026-10-08Chapman, Ross E Esq PROPOSAL17Anna Fali
1008Mujtaba I ShinkoRussia2026-10-08Benton, John B Jr NEW22Asiya Javayant
1009Julie Q OldroydFrance2026-09-23Rousseaux, Michael Esq QUALIFIED27Asiya Javayant
1010Silvio X MarrierIndia2026-09-30Feiner Bros QUALIFIED25Elwin Sharvill
1011Emily H WhobreyGermany2026-09-17Morlong Associates NEGOTIATION13Onyama Limba
1012Stacey H CampainUnited Kingdom2026-09-28Chapman, Ross E Esq QUALIFIED44Bernardo Dominic
1013Murillo N KolmetzJapan2026-09-30Dorl, James J Esq NEGOTIATION47Xuxue Feng
1014Munro W RutaCanada2026-10-09Morlong Associates PROPOSAL67Onyama Limba
1015Cody Y MaletItaly2026-09-30Benton, John B Jr QUALIFIED73Ivan Magalhaes
1016Misaki J KuskoItaly2026-10-10Chanay, Jeffrey A Esq RENEWAL8Anna Fali
1017Kaitlin F CaudyIndia2026-10-01Feiner Bros PROPOSAL38Ioni Bowcher
1018Clifford I BologniaJapan2026-10-05Chapman, Ross E Esq UNQUALIFIED44Onyama Limba
1019Antonio M DarakjyItaly2026-10-06Printing Dimensions QUALIFIED78Onyama Limba
1020Mujtaba M CampainCanada2026-10-03Chapman, Ross E Esq UNQUALIFIED56Amy Elsner
1021Claire V OldroydFrance2026-09-15Truhlar And Truhlar Attys QUALIFIED69Amy Elsner
1022Jeanfrancois A RoysterGermany2026-10-11Rangoni Of Florence RENEWAL83Elwin Sharvill
1023Morrow B FlosiSpain2026-09-21Benton, John B Jr RENEWAL35Elwin Sharvill
1024Leon H GillianGermany2026-10-03Feltz Printing Service NEGOTIATION59Amy Elsner
1025James B GillianUnited Kingdom2026-09-12Buckley Miller Wright UNQUALIFIED73Stephen Shaw
1026Jennifer Q RulapaughRussia2026-09-19Printing Dimensions QUALIFIED82Asiya Javayant
1027Izzy W DarakjyBrazil2026-09-29Feltz Printing Service RENEWAL11Ioni Bowcher
1028Clifford O FerenczUnited Kingdom2026-10-06King, Christopher A Esq UNQUALIFIED13Anna Fali
1029Rodrigues M ChuiRussia2026-09-30Chanay, Jeffrey A Esq NEGOTIATION83Stephen Shaw
1030Costa U FigeroaIndia2026-09-13Benton, John B Jr PROPOSAL0Ioni Bowcher
1031Wickens F BowleyBrazil2026-09-23Dorl, James J Esq RENEWAL16Amy Elsner
1032Aruna L PerinFrance2026-09-25Buckley Miller Wright QUALIFIED23Anna Fali
1033David U ChuiCanada2026-09-17Printing Dimensions NEGOTIATION89Amy Elsner
1034Greenwood K StensethFrance2026-10-05Feltz Printing Service NEW33Amy Elsner
1035Aruna N GillianRussia2026-09-16Buckley Miller Wright NEGOTIATION60Elwin Sharvill
1036Mayumi V KuskoAustralia2026-10-03Benton, John B Jr RENEWAL92Stephen Shaw
1037Ashley X FollerIndia2026-10-05Feiner Bros QUALIFIED82Ioni Bowcher
1038Ricardo G GarufiIndia2026-09-21Feltz Printing Service PROPOSAL34Xuxue Feng
1039Nicolas R NestleUnited Kingdom2026-10-01Chapman, Ross E Esq QUALIFIED11Amy Elsner
1040Stacey R KolmetzIndia2026-09-23Chemel, James L Cpa UNQUALIFIED72Elwin Sharvill
1041Octavia A MacleadRussia2026-09-19Truhlar And Truhlar Attys PROPOSAL84Anna Fali
1042Morrow Z MorascaUnited Kingdom2026-09-12Dorl, James J Esq PROPOSAL98Onyama Limba
1043Maisha D SergiJapan2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED75Ioni Bowcher
1044Aika N SaylorsFrance2026-10-05Rangoni Of Florence QUALIFIED60Ioni Bowcher
1045Darci V CampainCanada2026-09-24Morlong Associates NEGOTIATION59Ivan Magalhaes
1046Kaitlin A WaycottIndia2026-10-07Rousseaux, Michael Esq PROPOSAL77Bernardo Dominic
1047Izzy B KolmetzAustralia2026-10-11Rangoni Of Florence QUALIFIED84Bernardo Dominic
1048Clifford P CampainUnited Kingdom2026-10-02Chanay, Jeffrey A Esq RENEWAL6Onyama Limba
1049Claire P PaprockiBrazil2026-10-10Chapman, Ross E Esq NEGOTIATION1Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Munro C StensethArgentinaBernardo Dominic PROPOSAL
Leja W WhobreyCanadaAsiya Javayant QUALIFIED
Julie J RoysterIndiaElwin Sharvill NEW
Salvatore U MaletAustraliaXuxue Feng PROPOSAL
Juan G PerinUnited KingdomOnyama Limba RENEWAL
Kaitlin K AmigonArgentinaAsiya Javayant NEGOTIATION
Costa H VenereBrazilElwin Sharvill RENEWAL
Cody M IturbideArgentinaOnyama Limba NEGOTIATION
Nicolas J RoysterBrazilIvan Magalhaes RENEWAL
Kadeem C FigeroaCanadaAsiya Javayant PROPOSAL
Chavez L WaycottCanadaOnyama Limba NEGOTIATION
Octavia C StockhamAustraliaIoni Bowcher QUALIFIED
Kadeem H MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Izzy H ChuiItalyElwin Sharvill RENEWAL
Sinclair N AmigonItalyAnna Fali NEGOTIATION
David J GlickJapanOnyama Limba PROPOSAL
Jennifer R BologniaGermanyAsiya Javayant QUALIFIED
Smith L StockhamBrazilXuxue Feng UNQUALIFIED
Alejandro X RulapaughRussiaAnna Fali QUALIFIED
Nicolas T BologniaAustraliaXuxue Feng RENEWAL
Aika N BowleyFranceElwin Sharvill PROPOSAL
Rodrigues W DarakjyGermanyBernardo Dominic UNQUALIFIED
Adams E GillianRussiaBernardo Dominic NEW
Nicolas A BriddickRussiaIoni Bowcher PROPOSAL
Juan H PaprockiJapanBernardo Dominic UNQUALIFIED
James V MaletIndiaIvan Magalhaes RENEWAL
Deepesh R WhobreyArgentinaXuxue Feng UNQUALIFIED
Clifford T BologniaJapanXuxue Feng RENEWAL
Misaki H MacleadSpainOnyama Limba UNQUALIFIED
Ricardo Z ChuiBrazilXuxue Feng UNQUALIFIED
Izzy W RoysterUnited KingdomAmy Elsner PROPOSAL
Costa C TollnerSpainStephen Shaw UNQUALIFIED
Salvatore F DilliardUnited KingdomElwin Sharvill NEW
Leon U BologniaUnited KingdomIvan Magalhaes NEW
Smith X NestleJapanIoni Bowcher PROPOSAL
Jefferson P MaletCanadaIoni Bowcher PROPOSAL
Jones G CaudyCanadaAsiya Javayant UNQUALIFIED
Greenwood J FlosiUnited KingdomElwin Sharvill NEGOTIATION
Aruna D FerenczSpainElwin Sharvill PROPOSAL
Emily X BologniaItalyAmy Elsner PROPOSAL
Silvio B VenereBrazilIvan Magalhaes UNQUALIFIED
Faith B MorascaGermanyOnyama Limba PROPOSAL
Deepesh B SergiCanadaElwin Sharvill NEW
Ivar Z FerenczCanadaAnna Fali RENEWAL
Aditya R FerenczGermanyAsiya Javayant PROPOSAL
Misaki P DoeRussiaBernardo Dominic QUALIFIED
Darci S NestleCanadaAmy Elsner UNQUALIFIED
Mujtaba W CampainJapanAnna Fali PROPOSAL
Kadeem X DilliardUnited KingdomBernardo Dominic NEW
Rodrigues M StensethCanadaElwin Sharvill PROPOSAL
Frozen Columns
Name
Juan G Stenseth
Stacey U Chui
Rodrigues W Garufi
Jeanfrancois N Briddick
Juan Y Butt
Isabel K Morasca
Isabel F Campain
Kadeem X Vocelka
Chavez G Marrier
Salvatore D Albares
Deepesh P Rulapaugh
Francesco Q Venere
Stacey N Doe
Julie B Vocelka
Jones J Tollner
Wickens Q Briddick
Kaitlin O Oldroyd
Jones K Waycott
Maria S Figeroa
Johnson O Ruta
Costa N Shinko
Maria Z Butt
Wickens Q Waycott
Tony G Ferencz
Misaki A Ostrosky
Mayumi P Inouye
Costa G Malet
Cody G Iturbide
Deepesh U Wieser
Mayumi L Amigon
David Y Maclead
Darci O Malet
Maria O Bowley
Johnson O Kolmetz
Aditya D Malet
Costa W Kolmetz
Misaki W Morasca
Juan F Tollner
Silvio C Glick
Kaitlin P Malet
Greenwood W Bowley
Rodrigues N Stockham
Arvin Z Perin
Darci C Dilliard
Aditya V Wieser
Murillo Z Butt
Jefferson I Butt
Kaitlin Z Campain
Francesco T Caldarera
Ivar I Whobrey
IdCountryDate
1000Canada2026-09-22
1001Italy2026-10-11
1002United Kingdom2026-09-16
1003Brazil2026-09-14
1004India2026-09-25
1005Italy2026-09-27
1006Canada2026-09-22
1007United Kingdom2026-09-28
1008Australia2026-10-04
1009Brazil2026-10-08
1010Italy2026-09-30
1011United Kingdom2026-09-14
1012India2026-09-12
1013Italy2026-09-19
1014Russia2026-10-10
1015Germany2026-10-07
1016Germany2026-09-19
1017Canada2026-10-04
1018Argentina2026-09-21
1019France2026-09-27
1020Russia2026-10-07
1021Canada2026-09-16
1022Japan2026-10-09
1023Canada2026-10-07
1024Spain2026-09-25
1025Argentina2026-09-18
1026Spain2026-10-07
1027Russia2026-09-28
1028Canada2026-10-03
1029Australia2026-10-05
1030Canada2026-09-20
1031France2026-10-10
1032Canada2026-09-20
1033Italy2026-09-20
1034Australia2026-09-19
1035France2026-09-17
1036United Kingdom2026-09-18
1037Brazil2026-10-01
1038Russia2026-09-15
1039Russia2026-09-19
1040France2026-09-14
1041Japan2026-09-29
1042Italy2026-09-20
1043Japan2026-09-23
1044Brazil2026-09-16
1045Spain2026-09-24
1046Russia2026-09-17
1047Germany2026-09-19
1048France2026-09-12
1049Japan2026-10-10

On-Demand Data

NameIdCountryDate
David X Doe1000India2026-10-04
Mayumi O Malet1001India2026-09-26
Izzy G Amigon1002Canada2026-10-04
Jennifer I Caudy1003Italy2026-10-04
Emily C Bolognia1004India2026-10-01
Emily G Shinko1005India2026-10-01
Wickens Z Poquette1006Brazil2026-10-08
Jeanfrancois C Flosi1007India2026-09-19
Octavia G Briddick1008Canada2026-10-07
Juan N Caudy1009Canada2026-10-11
Chavez N Inouye1010Canada2026-10-08
Maisha U Malet1011France2026-10-04
Wickens R Kolmetz1012Japan2026-09-14
Nicolas U Royster1013Australia2026-09-23
Greenwood F Dilliard1014Russia2026-09-18
Chavez L Paprocki1015Japan2026-09-17
Aika H Amigon1016Canada2026-09-12
David G Chui1017Argentina2026-09-24
Deepesh B Malet1018Australia2026-09-25
Maisha W Slusarski1019United Kingdom2026-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika I SchemmerAustraliaXuxue Feng RENEWAL
Rodrigues G MorascaGermanyStephen Shaw RENEWAL
Maria C WieserBrazilAnna Fali NEGOTIATION
Julie A KuskoGermanyIvan Magalhaes NEGOTIATION
Jefferson T PerinFranceIoni Bowcher UNQUALIFIED
Juan N VenereArgentinaAmy Elsner QUALIFIED
Deepesh I BriddickAustraliaOnyama Limba NEW
Morrow G KolmetzIndiaBernardo Dominic UNQUALIFIED
Johnson Z OstroskyRussiaIvan Magalhaes NEGOTIATION
Darci U DarakjyItalyIoni Bowcher RENEWAL
Izzy J FigeroaItalyAsiya Javayant UNQUALIFIED
Aditya N DilliardIndiaOnyama Limba RENEWAL
Ashley R FerenczRussiaIoni Bowcher UNQUALIFIED
Mujtaba A BowleyItalyOnyama Limba RENEWAL
Johnson T MorascaJapanAmy Elsner QUALIFIED
Cody V RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Aruna W StockhamAustraliaIoni Bowcher PROPOSAL
Jennifer A InouyeSpainElwin Sharvill UNQUALIFIED
Tony U GlickBrazilOnyama Limba PROPOSAL
Silvio A TollnerCanadaAmy Elsner NEGOTIATION
Francesco T CampainGermanyIvan Magalhaes NEW
Stacey G PerinFranceElwin Sharvill QUALIFIED
Antonio L ShinkoItalyElwin Sharvill NEGOTIATION
Salvatore X SchemmerAustraliaIvan Magalhaes NEGOTIATION
Darci A CaudyFranceXuxue Feng UNQUALIFIED
Octavia P TollnerUnited KingdomBernardo Dominic QUALIFIED
Izzy H GlickAustraliaAsiya Javayant RENEWAL
James E VocelkaBrazilOnyama Limba RENEWAL
Chavez N OldroydRussiaElwin Sharvill RENEWAL
Aruna L RutaSpainXuxue Feng NEW
Jeanfrancois D PaprockiJapanElwin Sharvill QUALIFIED
Claire H GillianGermanyAnna Fali NEGOTIATION
Octavia B DoeItalyIvan Magalhaes RENEWAL
Clifford B InouyeArgentinaAmy Elsner UNQUALIFIED
Ashley J ChuiFranceAmy Elsner NEGOTIATION
Emily P SchemmerUnited KingdomAmy Elsner NEW
Nicolas L StockhamAustraliaStephen Shaw NEW
Jennifer X StockhamIndiaElwin Sharvill UNQUALIFIED
Misaki S BologniaRussiaAsiya Javayant RENEWAL
Silvio J DilliardBrazilIoni Bowcher 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>