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
Greenwood P GarufiFranceXuxue Feng PROPOSAL
Mayumi L KolmetzIndiaAnna Fali NEGOTIATION
Morrow A KuskoUnited KingdomAmy Elsner PROPOSAL
Silvio R IturbideJapanIoni Bowcher QUALIFIED
Nicolas M CaudyGermanyAmy Elsner QUALIFIED
Mayumi E GarufiBrazilElwin Sharvill UNQUALIFIED
Leja K StensethSpainAnna Fali UNQUALIFIED
Antonio S SchemmerItalyOnyama Limba UNQUALIFIED
Jennifer F PoquetteAustraliaIvan Magalhaes RENEWAL
James N FerenczRussiaOnyama Limba PROPOSAL
Wickens D PaprockiAustraliaIoni Bowcher NEW
Jennifer A BologniaJapanXuxue Feng QUALIFIED
Cody Q FlosiRussiaAnna Fali NEW
Kadeem C NickaCanadaAsiya Javayant PROPOSAL
Aruna S BriddickFranceBernardo Dominic RENEWAL
Jennifer U WieserJapanAsiya Javayant QUALIFIED
Rodrigues Y MorascaCanadaStephen Shaw PROPOSAL
Izzy U IturbideBrazilElwin Sharvill RENEWAL
Clifford R ButtFranceBernardo Dominic QUALIFIED
Sinclair Z BowleyBrazilElwin Sharvill QUALIFIED
Alejandro H DilliardCanadaStephen Shaw NEGOTIATION
Adams R WhobreyAustraliaBernardo Dominic QUALIFIED
Julie O PaprockiAustraliaBernardo Dominic QUALIFIED
Leon B GarufiSpainAsiya Javayant PROPOSAL
Ricardo S MarrierAustraliaAnna Fali NEW
Munro W ChuiBrazilIvan Magalhaes NEW
Stacey E FollerAustraliaElwin Sharvill QUALIFIED
Alejandro E SchemmerSpainBernardo Dominic UNQUALIFIED
Greenwood C RulapaughArgentinaIvan Magalhaes QUALIFIED
Adams U KuskoGermanyBernardo Dominic PROPOSAL
Juan W MaletArgentinaAsiya Javayant UNQUALIFIED
Maisha H WieserIndiaBernardo Dominic UNQUALIFIED
Chavez Q DarakjyItalyAsiya Javayant RENEWAL
Maisha W CampainUnited KingdomAmy Elsner UNQUALIFIED
Jennifer W MorascaGermanyXuxue Feng QUALIFIED
Misaki Z BriddickSpainElwin Sharvill NEGOTIATION
Morrow N GauchoRussiaAmy Elsner QUALIFIED
Deepesh T DoeRussiaAmy Elsner RENEWAL
Mujtaba Q SlusarskiIndiaAnna Fali PROPOSAL
Antonio H InouyeRussiaAmy Elsner QUALIFIED
Tony M GillianGermanyAsiya Javayant QUALIFIED
Francesco V FigeroaArgentinaElwin Sharvill QUALIFIED
Kaitlin F SlusarskiArgentinaElwin Sharvill RENEWAL
Claire X VenereJapanXuxue Feng NEGOTIATION
Leja A WieserFranceAsiya Javayant NEW
Ivar Y DarakjySpainStephen Shaw PROPOSAL
Alejandro M InouyeBrazilAsiya Javayant NEW
Clifford R PaprockiCanadaOnyama Limba QUALIFIED
Clifford W FollerGermanyAmy Elsner PROPOSAL
Smith C StensethArgentinaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Octavia K KuskoCanadaBernardo Dominic RENEWAL
Aruna N MaletJapanIvan Magalhaes NEW
Murillo M VocelkaJapanBernardo Dominic QUALIFIED
Silvio S RimAustraliaElwin Sharvill RENEWAL
Julie I BologniaItalyStephen Shaw NEW
Jones D StockhamArgentinaBernardo Dominic NEGOTIATION
Francesco Y AmigonGermanyIvan Magalhaes NEGOTIATION
Darci U MorascaItalyAsiya Javayant NEW
Ricardo K RutaCanadaStephen Shaw NEGOTIATION
Chavez S OldroydItalyIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair H VenereIndia2026-08-29Chanay, Jeffrey A Esq QUALIFIED67Ivan Magalhaes
1001Juan H AmigonItaly2026-08-31Printing Dimensions NEW45Xuxue Feng
1002Greenwood H KuskoUnited Kingdom2026-09-13Rangoni Of Florence RENEWAL80Stephen Shaw
1003Silvio V MacleadItaly2026-08-21Rangoni Of Florence PROPOSAL57Xuxue Feng
1004Adams G SlusarskiGermany2026-09-12Buckley Miller Wright PROPOSAL95Ioni Bowcher
1005Misaki L PoquetteFrance2026-08-26King, Christopher A Esq RENEWAL85Bernardo Dominic
1006Leja W BologniaJapan2026-08-23Morlong Associates NEW70Xuxue Feng
1007Sinclair H CaudyArgentina2026-08-30Buckley Miller Wright NEGOTIATION60Amy Elsner
1008James E GillianAustralia2026-09-06Printing Dimensions QUALIFIED19Ioni Bowcher
1009Leja S FollerUnited Kingdom2026-09-11Rousseaux, Michael Esq PROPOSAL92Stephen Shaw
1010Leja A FigeroaBrazil2026-09-03Rangoni Of Florence NEGOTIATION27Elwin Sharvill
1011Deepesh E PerinRussia2026-09-13Feiner Bros NEW85Amy Elsner
1012Isabel N DoeAustralia2026-09-12Rousseaux, Michael Esq QUALIFIED58Stephen Shaw
1013Darci L AmigonJapan2026-09-16Feltz Printing Service PROPOSAL13Elwin Sharvill
1014Alejandro E RoysterUnited Kingdom2026-09-18Buckley Miller Wright PROPOSAL25Onyama Limba
1015Nicolas O AlbaresBrazil2026-09-19Rousseaux, Michael Esq UNQUALIFIED5Stephen Shaw
1016Cody A RimBrazil2026-09-07Truhlar And Truhlar Attys NEW49Xuxue Feng
1017Kadeem O ButtSpain2026-08-30Buckley Miller Wright UNQUALIFIED21Ivan Magalhaes
1018Faith X FigeroaFrance2026-08-23Commercial Press NEW5Elwin Sharvill
1019Johnson S FlosiCanada2026-08-29Feltz Printing Service PROPOSAL67Amy Elsner
1020Julie W WaycottBrazil2026-08-22Commercial Press UNQUALIFIED45Ivan Magalhaes
1021Misaki A MarrierArgentina2026-09-06King, Christopher A Esq NEW58Ioni Bowcher
1022Faith V KolmetzGermany2026-09-15Truhlar And Truhlar Attys NEGOTIATION62Xuxue Feng
1023Rodrigues I InouyeJapan2026-09-04Buckley Miller Wright NEGOTIATION32Stephen Shaw
1024Sinclair W ButtBrazil2026-09-18Rangoni Of Florence RENEWAL82Elwin Sharvill
1025Tony V StockhamGermany2026-08-23Commercial Press UNQUALIFIED95Stephen Shaw
1026Stacey Z FlosiCanada2026-08-30Truhlar And Truhlar Attys RENEWAL19Ivan Magalhaes
1027Alejandro J FerenczFrance2026-09-04Commercial Press NEGOTIATION47Ivan Magalhaes
1028Misaki R DilliardUnited Kingdom2026-09-11Chemel, James L Cpa NEGOTIATION46Ioni Bowcher
1029Chavez N VocelkaJapan2026-09-09Truhlar And Truhlar Attys NEGOTIATION56Onyama Limba
1030Juan G ShinkoGermany2026-09-04Benton, John B Jr RENEWAL22Stephen Shaw
1031Maria Q SergiBrazil2026-08-25Commercial Press PROPOSAL78Asiya Javayant
1032Jefferson O PerinJapan2026-08-22Chemel, James L Cpa RENEWAL79Xuxue Feng
1033Claire W GlickUnited Kingdom2026-09-09Truhlar And Truhlar Attys RENEWAL2Elwin Sharvill
1034Stacey O GillianRussia2026-09-04Printing Dimensions QUALIFIED6Bernardo Dominic
1035Greenwood Z BowleyFrance2026-09-13Chemel, James L Cpa UNQUALIFIED71Ivan Magalhaes
1036Leon C DoeArgentina2026-08-29King, Christopher A Esq UNQUALIFIED89Elwin Sharvill
1037Kadeem P FerenczRussia2026-08-28Chemel, James L Cpa NEW8Xuxue Feng
1038Chavez Q GarufiRussia2026-09-07Chemel, James L Cpa UNQUALIFIED50Bernardo Dominic
1039Ivar M FigeroaBrazil2026-08-28Feltz Printing Service UNQUALIFIED19Anna Fali
1040Aruna H FollerArgentina2026-09-15Printing Dimensions RENEWAL33Onyama Limba
1041Octavia V GauchoIndia2026-08-26Benton, John B Jr RENEWAL86Elwin Sharvill
1042James L PerinSpain2026-08-27Chanay, Jeffrey A Esq PROPOSAL49Anna Fali
1043Jefferson I ChuiArgentina2026-09-03Dorl, James J Esq RENEWAL84Bernardo Dominic
1044Ivar F BologniaFrance2026-09-10Benton, John B Jr NEW5Elwin Sharvill
1045Aruna Q GauchoGermany2026-09-09Morlong Associates NEGOTIATION85Elwin Sharvill
1046Costa Q MarrierJapan2026-08-28Chapman, Ross E Esq QUALIFIED26Bernardo Dominic
1047Tony E VenereBrazil2026-09-11Chemel, James L Cpa PROPOSAL17Amy Elsner
1048Ivar T InouyeItaly2026-09-08Chapman, Ross E Esq PROPOSAL32Onyama Limba
1049Ricardo U GarufiJapan2026-08-30Rousseaux, Michael Esq PROPOSAL18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Clifford M OldroydJapanStephen Shaw RENEWAL
Arvin G KuskoCanadaAsiya Javayant UNQUALIFIED
Ivar X FigeroaIndiaAmy Elsner NEGOTIATION
Jennifer Y MaletSpainAnna Fali UNQUALIFIED
Jennifer B PoquetteArgentinaIoni Bowcher NEGOTIATION
Juan H KolmetzJapanAsiya Javayant NEW
Julie Q SergiArgentinaIoni Bowcher RENEWAL
Tony H BowleySpainIoni Bowcher UNQUALIFIED
Ivar A PerinRussiaAsiya Javayant QUALIFIED
Johnson C GillianIndiaIoni Bowcher NEGOTIATION
Tony U SaylorsFranceStephen Shaw RENEWAL
Arvin T VocelkaCanadaOnyama Limba QUALIFIED
Costa T WaycottCanadaAnna Fali QUALIFIED
Jennifer N GillianFranceBernardo Dominic RENEWAL
Kaitlin N ButtJapanIoni Bowcher PROPOSAL
Smith R DoeBrazilIvan Magalhaes PROPOSAL
Murillo C MacleadJapanAnna Fali RENEWAL
Nicolas L RulapaughJapanAmy Elsner RENEWAL
Kadeem F SchemmerGermanyOnyama Limba NEW
Misaki G InouyeAustraliaAnna Fali RENEWAL
Faith B GillianFranceAsiya Javayant NEGOTIATION
Nicolas H MacleadSpainAmy Elsner UNQUALIFIED
Mujtaba K CampainUnited KingdomBernardo Dominic NEGOTIATION
Jennifer R RutaGermanyStephen Shaw NEGOTIATION
Greenwood G StockhamIndiaAnna Fali QUALIFIED
Chavez F ChuiRussiaStephen Shaw UNQUALIFIED
Greenwood Z WieserGermanyAmy Elsner RENEWAL
Costa J BriddickIndiaAsiya Javayant UNQUALIFIED
Wickens V PerinIndiaStephen Shaw NEGOTIATION
David Z AlbaresBrazilAsiya Javayant UNQUALIFIED
Mujtaba L PoquetteItalyIvan Magalhaes PROPOSAL
Mayumi V FigeroaArgentinaIoni Bowcher QUALIFIED
Ivar F MacleadGermanyStephen Shaw RENEWAL
Jefferson Q FlosiGermanyAsiya Javayant UNQUALIFIED
Jennifer D ButtItalyXuxue Feng PROPOSAL
Alejandro Y DarakjyRussiaBernardo Dominic RENEWAL
Mayumi H BriddickAustraliaStephen Shaw UNQUALIFIED
Jefferson N MarrierBrazilStephen Shaw NEW
Rodrigues Y OstroskyFranceElwin Sharvill UNQUALIFIED
Rodrigues D RoysterJapanAmy Elsner UNQUALIFIED
Munro T PoquetteAustraliaStephen Shaw NEGOTIATION
Isabel N PaprockiCanadaBernardo Dominic NEGOTIATION
Izzy F MacleadJapanAmy Elsner NEW
Emily A DilliardUnited KingdomXuxue Feng RENEWAL
Aruna A MorascaIndiaAsiya Javayant PROPOSAL
Kaitlin A PoquetteArgentinaOnyama Limba PROPOSAL
James L ButtCanadaIvan Magalhaes NEW
Jefferson L RutaJapanAnna Fali PROPOSAL
Rodrigues E SaylorsAustraliaBernardo Dominic PROPOSAL
Julie J BriddickItalyOnyama Limba NEGOTIATION
Frozen Columns
Name
David K Stenseth
Adams G Campain
James E Morasca
Isabel N Tollner
Costa X Iturbide
Ivar K Royster
Darci S Gillian
Chavez I Marrier
James N Schemmer
Munro I Dilliard
Deepesh A Stenseth
Arvin F Poquette
Antonio K Shinko
Leon N Malet
Sinclair I Stenseth
Francesco Q Figeroa
Aditya I Nicka
James H Caudy
Mayumi I Venere
Jeanfrancois L Malet
Rodrigues W Inouye
Ricardo I Saylors
Rodrigues U Whobrey
Ivar X Maclead
Francesco D Royster
Faith E Glick
Rodrigues X Garufi
Octavia D Gaucho
Maisha E Doe
Julie S Ruta
Kadeem H Paprocki
Clifford V Briddick
Kadeem F Gillian
Emily S Gaucho
Faith H Bolognia
David V Butt
Cody U Whobrey
Aika Z Caldarera
Ricardo J Kusko
Cody K Gaucho
David U Gaucho
Arvin U Bowley
Antonio K Shinko
Greenwood E Gaucho
Stacey O Maclead
Nicolas K Iturbide
Aika W Maclead
Leon G Dilliard
Silvio B Inouye
Isabel T Iturbide
IdCountryDate
1000Australia2026-09-14
1001Australia2026-09-05
1002Brazil2026-09-13
1003Germany2026-08-25
1004Italy2026-08-26
1005Argentina2026-09-14
1006United Kingdom2026-08-25
1007Japan2026-09-14
1008Italy2026-08-24
1009India2026-09-12
1010India2026-09-08
1011France2026-09-11
1012United Kingdom2026-08-30
1013France2026-09-15
1014Spain2026-09-02
1015United Kingdom2026-08-29
1016India2026-09-10
1017Russia2026-08-22
1018Argentina2026-09-15
1019Argentina2026-09-13
1020Russia2026-09-15
1021Canada2026-08-23
1022Australia2026-09-18
1023Italy2026-08-30
1024Spain2026-09-10
1025Argentina2026-08-24
1026Spain2026-09-08
1027Australia2026-08-26
1028Canada2026-08-29
1029Germany2026-09-17
1030Germany2026-09-04
1031Brazil2026-09-02
1032Italy2026-08-30
1033Russia2026-09-04
1034United Kingdom2026-09-04
1035Brazil2026-08-24
1036Australia2026-09-09
1037Japan2026-08-24
1038France2026-09-05
1039Brazil2026-08-21
1040Argentina2026-09-09
1041Australia2026-09-16
1042United Kingdom2026-09-02
1043India2026-08-22
1044Japan2026-08-31
1045Italy2026-09-11
1046Germany2026-08-26
1047France2026-09-08
1048Argentina2026-08-29
1049Canada2026-08-25

On-Demand Data

NameIdCountryDate
Mayumi A Malet1000Germany2026-09-09
Murillo Y Whobrey1001Brazil2026-09-14
Morrow Z Shinko1002Germany2026-08-24
David Z Glick1003United Kingdom2026-08-29
Costa D Morasca1004Germany2026-08-24
Morrow D Malet1005Argentina2026-08-30
Arvin B Malet1006Japan2026-08-23
Rodrigues H Glick1007Argentina2026-08-23
Juan U Darakjy1008Russia2026-08-25
Maisha E Stockham1009Italy2026-08-22
Morrow W Gaucho1010United Kingdom2026-08-30
Ashley X Sergi1011Germany2026-09-06
Aditya N Whobrey1012Russia2026-09-02
Antonio T Dilliard1013France2026-09-15
Munro C Garufi1014United Kingdom2026-09-04
Claire I Rulapaugh1015Brazil2026-09-06
Faith E Amigon1016United Kingdom2026-09-09
Clifford K Briddick1017Canada2026-08-29
Smith P Vocelka1018Germany2026-09-05
Ashley W Darakjy1019Spain2026-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin J GauchoArgentinaAnna Fali UNQUALIFIED
Jennifer V CaudyCanadaXuxue Feng NEW
Nicolas Z PaprockiBrazilIvan Magalhaes UNQUALIFIED
James H DoeIndiaAnna Fali PROPOSAL
Kadeem Q AlbaresUnited KingdomOnyama Limba UNQUALIFIED
David E AmigonCanadaIoni Bowcher UNQUALIFIED
Stacey J GillianArgentinaBernardo Dominic UNQUALIFIED
Alejandro C PaprockiCanadaAsiya Javayant PROPOSAL
Misaki S PerinGermanyXuxue Feng UNQUALIFIED
Mayumi Y MorascaBrazilBernardo Dominic UNQUALIFIED
Leon Y DoeBrazilIoni Bowcher RENEWAL
Isabel E GauchoAustraliaXuxue Feng PROPOSAL
Maria R WaycottItalyBernardo Dominic PROPOSAL
Munro I FlosiUnited KingdomXuxue Feng PROPOSAL
Antonio O VocelkaJapanAmy Elsner PROPOSAL
Smith F AmigonIndiaIvan Magalhaes PROPOSAL
Aruna E WhobreyCanadaIvan Magalhaes NEW
Aruna O PerinArgentinaIoni Bowcher UNQUALIFIED
Johnson A FollerIndiaElwin Sharvill NEW
Ricardo Y DilliardRussiaOnyama Limba QUALIFIED
Deepesh Y AlbaresJapanAnna Fali QUALIFIED
Clifford X BologniaIndiaAsiya Javayant PROPOSAL
Salvatore J ShinkoSpainStephen Shaw QUALIFIED
Antonio O GauchoRussiaElwin Sharvill RENEWAL
Jefferson N PerinIndiaAnna Fali NEW
Francesco V PerinArgentinaAmy Elsner PROPOSAL
Kadeem W FlosiCanadaStephen Shaw NEGOTIATION
Cody P CampainItalyElwin Sharvill NEGOTIATION
Arvin Q RimItalyStephen Shaw UNQUALIFIED
Leon V TollnerAustraliaAnna Fali UNQUALIFIED
Ivar E SaylorsBrazilIvan Magalhaes NEW
Clifford X AlbaresIndiaOnyama Limba NEGOTIATION
Morrow J CaldareraUnited KingdomIoni Bowcher PROPOSAL
Nicolas T SergiAustraliaAmy Elsner UNQUALIFIED
Aditya J VocelkaItalyAmy Elsner NEW
Rodrigues Q PaprockiArgentinaIoni Bowcher PROPOSAL
Munro Q WaycottUnited KingdomBernardo Dominic RENEWAL
Rodrigues J VenereFranceOnyama Limba QUALIFIED
Chavez Z GauchoJapanAmy Elsner RENEWAL
David B MarrierAustraliaElwin Sharvill QUALIFIED

<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>