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
Darci W MaletBrazilBernardo Dominic PROPOSAL
James T FlosiJapanBernardo Dominic QUALIFIED
Adams X SaylorsUnited KingdomAsiya Javayant PROPOSAL
Claire N IturbideArgentinaAmy Elsner UNQUALIFIED
Deepesh Q RimIndiaIvan Magalhaes RENEWAL
Jeanfrancois P DarakjyRussiaXuxue Feng QUALIFIED
Kaitlin T PoquetteCanadaBernardo Dominic RENEWAL
Jefferson X MacleadGermanyIoni Bowcher UNQUALIFIED
Murillo Q OldroydFranceAmy Elsner RENEWAL
Ashley A GauchoFranceStephen Shaw NEW
Cody B OldroydJapanAmy Elsner PROPOSAL
Darci L SaylorsJapanAsiya Javayant NEW
Aditya B TollnerItalyIvan Magalhaes NEW
Julie K NestleJapanBernardo Dominic UNQUALIFIED
Sinclair U FigeroaUnited KingdomAnna Fali NEGOTIATION
Greenwood E KolmetzSpainAmy Elsner QUALIFIED
Stacey K ButtSpainIoni Bowcher NEW
Maisha P MorascaIndiaStephen Shaw NEGOTIATION
Wickens A TollnerUnited KingdomAnna Fali NEW
Antonio S BriddickAustraliaIvan Magalhaes QUALIFIED
Arvin P ShinkoFranceOnyama Limba NEGOTIATION
Sinclair U IturbideCanadaXuxue Feng PROPOSAL
Munro G GarufiFranceOnyama Limba RENEWAL
Murillo W SaylorsSpainIoni Bowcher QUALIFIED
Rodrigues K GarufiIndiaAmy Elsner NEGOTIATION
David Q CaldareraBrazilAsiya Javayant NEGOTIATION
Jennifer R OldroydCanadaElwin Sharvill UNQUALIFIED
Jeanfrancois H BowleyIndiaElwin Sharvill NEW
Darci J SchemmerJapanOnyama Limba QUALIFIED
Ivar F TollnerSpainXuxue Feng QUALIFIED
Morrow M WieserSpainStephen Shaw QUALIFIED
Ashley E FlosiFranceAnna Fali PROPOSAL
Leja I WieserArgentinaIvan Magalhaes UNQUALIFIED
Smith Q PaprockiBrazilXuxue Feng QUALIFIED
Kaitlin Y BowleyRussiaAnna Fali UNQUALIFIED
James E TollnerCanadaAsiya Javayant RENEWAL
Nicolas D AmigonUnited KingdomIvan Magalhaes QUALIFIED
Julie U ButtAustraliaStephen Shaw NEW
Aika R AlbaresUnited KingdomAmy Elsner QUALIFIED
Murillo D MaletFranceAsiya Javayant PROPOSAL
Izzy Y AmigonGermanyBernardo Dominic QUALIFIED
Jeanfrancois Q FollerUnited KingdomElwin Sharvill PROPOSAL
Morrow B WaycottAustraliaIoni Bowcher UNQUALIFIED
Murillo Q MaletItalyStephen Shaw RENEWAL
Smith P ChuiUnited KingdomIvan Magalhaes NEGOTIATION
Isabel S VenereUnited KingdomElwin Sharvill NEW
Ivar P OldroydItalyAnna Fali NEGOTIATION
Nicolas N FerenczGermanyIvan Magalhaes NEGOTIATION
Jeanfrancois C CaudyIndiaAmy Elsner QUALIFIED
Smith S StensethCanadaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Darci D NickaAustraliaAnna Fali NEGOTIATION
Mayumi Y RimAustraliaElwin Sharvill QUALIFIED
Aika V SchemmerUnited KingdomAmy Elsner NEGOTIATION
Cody R WieserSpainOnyama Limba NEW
Chavez T GlickIndiaXuxue Feng PROPOSAL
Adams P VenereGermanyXuxue Feng UNQUALIFIED
Kaitlin X PoquetteFranceOnyama Limba NEW
Kaitlin W AmigonArgentinaAnna Fali QUALIFIED
David F FigeroaUnited KingdomIoni Bowcher QUALIFIED
Claire J TollnerFranceStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo U RoysterIndia2026-09-26Truhlar And Truhlar Attys QUALIFIED64Ioni Bowcher
1001Ivar X CaldareraUnited Kingdom2026-09-18Rousseaux, Michael Esq NEW56Ivan Magalhaes
1002Kaitlin F DoeFrance2026-10-01Rousseaux, Michael Esq RENEWAL58Ioni Bowcher
1003Rodrigues Q SchemmerSpain2026-09-15Rangoni Of Florence RENEWAL41Onyama Limba
1004David P DilliardBrazil2026-10-04Chemel, James L Cpa QUALIFIED7Stephen Shaw
1005Kadeem R PoquetteSpain2026-09-17Chapman, Ross E Esq PROPOSAL37Bernardo Dominic
1006Tony O FlosiBrazil2026-10-05Printing Dimensions QUALIFIED51Anna Fali
1007Alejandro S GauchoUnited Kingdom2026-09-18Morlong Associates NEW84Amy Elsner
1008Adams I AlbaresFrance2026-09-30Rousseaux, Michael Esq PROPOSAL5Ivan Magalhaes
1009Murillo E DarakjyArgentina2026-09-13Buckley Miller Wright NEW4Xuxue Feng
1010Maisha J SergiArgentina2026-09-19Printing Dimensions PROPOSAL54Ioni Bowcher
1011Maria L MaletArgentina2026-09-20Rousseaux, Michael Esq QUALIFIED31Stephen Shaw
1012Mayumi B RimFrance2026-10-03Truhlar And Truhlar Attys RENEWAL94Xuxue Feng
1013Costa P InouyeAustralia2026-09-18Feiner Bros NEW87Elwin Sharvill
1014Ricardo U RoysterUnited Kingdom2026-09-16Buckley Miller Wright QUALIFIED68Asiya Javayant
1015Octavia P DoeArgentina2026-10-05Chanay, Jeffrey A Esq QUALIFIED77Elwin Sharvill
1016Aditya W SaylorsFrance2026-10-08Feiner Bros QUALIFIED42Elwin Sharvill
1017Leja F WieserIndia2026-09-13Feiner Bros NEGOTIATION83Onyama Limba
1018Jeanfrancois F ButtSpain2026-10-04Commercial Press RENEWAL5Anna Fali
1019Cody Q RulapaughJapan2026-09-29Truhlar And Truhlar Attys NEW0Elwin Sharvill
1020Leon C WhobreyJapan2026-09-28Buckley Miller Wright QUALIFIED67Asiya Javayant
1021Juan V WieserItaly2026-10-02Feltz Printing Service QUALIFIED30Onyama Limba
1022Jennifer C MaletAustralia2026-10-07Chapman, Ross E Esq PROPOSAL96Elwin Sharvill
1023Isabel D PoquetteRussia2026-09-29Morlong Associates UNQUALIFIED33Xuxue Feng
1024Aruna S VenereUnited Kingdom2026-09-29Buckley Miller Wright PROPOSAL49Stephen Shaw
1025Mayumi P FigeroaUnited Kingdom2026-10-08Feiner Bros UNQUALIFIED40Stephen Shaw
1026Izzy H SergiUnited Kingdom2026-10-10Commercial Press QUALIFIED3Elwin Sharvill
1027Octavia V VenereFrance2026-09-21Printing Dimensions UNQUALIFIED75Ioni Bowcher
1028Izzy R CaudyBrazil2026-10-08Commercial Press NEGOTIATION71Anna Fali
1029Octavia V ChuiAustralia2026-09-30Truhlar And Truhlar Attys NEW56Elwin Sharvill
1030Jefferson Q AlbaresFrance2026-09-21Printing Dimensions RENEWAL53Xuxue Feng
1031Jennifer K VenereArgentina2026-09-22Chanay, Jeffrey A Esq QUALIFIED32Elwin Sharvill
1032Alejandro V DarakjySpain2026-10-06Rousseaux, Michael Esq QUALIFIED86Onyama Limba
1033Julie V CampainUnited Kingdom2026-10-10King, Christopher A Esq RENEWAL29Anna Fali
1034Jefferson U CaldareraGermany2026-09-17Truhlar And Truhlar Attys NEW65Stephen Shaw
1035David M RoysterRussia2026-09-20Buckley Miller Wright NEGOTIATION41Ioni Bowcher
1036Munro N StockhamJapan2026-09-21Chanay, Jeffrey A Esq NEW97Asiya Javayant
1037Maisha R RimArgentina2026-10-03Benton, John B Jr PROPOSAL99Asiya Javayant
1038David C BowleyItaly2026-09-27Rousseaux, Michael Esq PROPOSAL27Bernardo Dominic
1039Salvatore P OstroskyBrazil2026-10-01Printing Dimensions NEW60Elwin Sharvill
1040Clifford W MacleadSpain2026-09-23Truhlar And Truhlar Attys PROPOSAL10Anna Fali
1041Ivar U PoquetteRussia2026-09-18Buckley Miller Wright NEGOTIATION47Xuxue Feng
1042Stacey X RulapaughCanada2026-09-20Rousseaux, Michael Esq QUALIFIED81Xuxue Feng
1043Morrow A ShinkoUnited Kingdom2026-09-27Benton, John B Jr RENEWAL72Bernardo Dominic
1044Chavez E SchemmerIndia2026-10-10King, Christopher A Esq RENEWAL35Anna Fali
1045Stacey W FerenczGermany2026-10-08Commercial Press PROPOSAL49Bernardo Dominic
1046Kadeem Z AlbaresRussia2026-09-28Benton, John B Jr NEGOTIATION16Bernardo Dominic
1047Deepesh B FerenczUnited Kingdom2026-09-14King, Christopher A Esq QUALIFIED52Amy Elsner
1048Smith I RulapaughRussia2026-09-28Chanay, Jeffrey A Esq NEW25Stephen Shaw
1049Kaitlin S KolmetzUnited Kingdom2026-09-21Rousseaux, Michael Esq PROPOSAL52Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Wickens J MorascaItalyBernardo Dominic UNQUALIFIED
Izzy W VenereIndiaBernardo Dominic NEW
Maria S NickaUnited KingdomBernardo Dominic PROPOSAL
Julie N StensethSpainOnyama Limba NEW
Misaki Y PoquetteCanadaAsiya Javayant PROPOSAL
Isabel T VocelkaGermanyIvan Magalhaes QUALIFIED
Clifford K SergiFranceIvan Magalhaes RENEWAL
Faith P CaudyItalyAsiya Javayant NEW
Kadeem K OldroydIndiaElwin Sharvill PROPOSAL
Jefferson U SchemmerAustraliaXuxue Feng UNQUALIFIED
Alejandro L StensethCanadaOnyama Limba QUALIFIED
Munro T AlbaresUnited KingdomOnyama Limba NEW
Salvatore X TollnerCanadaXuxue Feng UNQUALIFIED
Antonio F GlickJapanIoni Bowcher NEGOTIATION
Nicolas G RutaSpainElwin Sharvill QUALIFIED
Ivar Q KuskoBrazilBernardo Dominic QUALIFIED
Greenwood O ShinkoRussiaStephen Shaw UNQUALIFIED
Morrow B MacleadJapanStephen Shaw QUALIFIED
Aruna J ButtIndiaIoni Bowcher UNQUALIFIED
Ashley U SaylorsIndiaAmy Elsner NEGOTIATION
Octavia S BologniaGermanyStephen Shaw NEW
Chavez O KolmetzFranceAsiya Javayant UNQUALIFIED
Arvin E StockhamGermanyIvan Magalhaes PROPOSAL
Julie C WaycottSpainBernardo Dominic QUALIFIED
Jeanfrancois R KuskoFranceStephen Shaw QUALIFIED
Wickens T CaudyArgentinaStephen Shaw RENEWAL
Octavia F MaletArgentinaAmy Elsner RENEWAL
Salvatore U CaudyUnited KingdomAmy Elsner QUALIFIED
Aika O PoquetteBrazilAnna Fali UNQUALIFIED
Murillo U MacleadBrazilAmy Elsner UNQUALIFIED
Wickens F GauchoIndiaBernardo Dominic NEGOTIATION
Maria P VocelkaIndiaAsiya Javayant NEW
Tony H RulapaughCanadaElwin Sharvill RENEWAL
Alejandro I VenereGermanyIvan Magalhaes PROPOSAL
Ivar H BriddickSpainStephen Shaw RENEWAL
Chavez H MarrierIndiaAmy Elsner PROPOSAL
Greenwood T AlbaresItalyElwin Sharvill QUALIFIED
Izzy S WhobreySpainStephen Shaw RENEWAL
Ivar Y StensethSpainStephen Shaw RENEWAL
Smith J PoquetteSpainAsiya Javayant NEGOTIATION
Nicolas A KolmetzItalyAmy Elsner NEW
David G FlosiUnited KingdomIvan Magalhaes NEW
Octavia G VocelkaIndiaAsiya Javayant RENEWAL
Greenwood E SlusarskiIndiaStephen Shaw PROPOSAL
Ashley U PaprockiJapanBernardo Dominic RENEWAL
Morrow K ButtArgentinaAmy Elsner NEGOTIATION
Nicolas C WieserUnited KingdomElwin Sharvill UNQUALIFIED
Ricardo E StockhamRussiaAsiya Javayant QUALIFIED
Arvin B WaycottIndiaAnna Fali NEGOTIATION
Tony U InouyeCanadaBernardo Dominic NEGOTIATION
Frozen Columns
Name
Wickens I Vocelka
Ivar H Stenseth
Jennifer C Gaucho
Juan C Chui
Smith V Royster
Jones G Royster
Arvin T Vocelka
James S Paprocki
Jeanfrancois E Slusarski
Leon M Briddick
Wickens Y Waycott
Kadeem H Garufi
Silvio U Caudy
Leon S Sergi
Julie S Waycott
Maisha P Inouye
Aditya F Figeroa
Chavez G Figeroa
Misaki Y Bolognia
James R Marrier
Greenwood O Nestle
Morrow I Gaucho
Costa X Stenseth
Antonio B Nicka
Juan S Bowley
Tony A Gillian
Jennifer A Gillian
Stacey Y Schemmer
Misaki J Chui
Darci S Briddick
Aruna V Ruta
Morrow B Rulapaugh
Maria V Saylors
Silvio N Schemmer
Leja K Oldroyd
Adams Y Gillian
Maria G Foller
Misaki B Stenseth
Misaki N Nestle
Mujtaba G Iturbide
Aika Q Garufi
Kadeem U Caldarera
Ashley A Gillian
Mayumi M Garufi
Cody T Ferencz
Izzy U Bowley
Wickens Q Albares
Octavia F Caldarera
Cody A Perin
Salvatore R Venere
IdCountryDate
1000Russia2026-10-08
1001Canada2026-10-09
1002Russia2026-09-23
1003Canada2026-10-09
1004France2026-09-17
1005United Kingdom2026-09-20
1006Spain2026-10-01
1007Argentina2026-09-30
1008United Kingdom2026-10-09
1009Spain2026-09-16
1010Russia2026-09-19
1011United Kingdom2026-10-01
1012United Kingdom2026-10-05
1013United Kingdom2026-09-19
1014Germany2026-09-27
1015Argentina2026-09-14
1016Japan2026-10-09
1017Spain2026-10-08
1018Canada2026-09-18
1019Russia2026-09-14
1020Spain2026-10-04
1021Russia2026-09-17
1022France2026-10-10
1023Spain2026-09-25
1024Australia2026-09-25
1025Germany2026-09-26
1026France2026-10-09
1027Brazil2026-09-25
1028India2026-10-01
1029Argentina2026-10-07
1030Brazil2026-09-17
1031India2026-09-18
1032Germany2026-10-06
1033Russia2026-09-19
1034Brazil2026-09-18
1035Canada2026-09-20
1036France2026-09-27
1037Italy2026-10-02
1038France2026-10-09
1039Germany2026-09-24
1040Japan2026-09-25
1041Brazil2026-09-28
1042Argentina2026-09-18
1043Germany2026-09-24
1044Argentina2026-09-29
1045Japan2026-10-01
1046United Kingdom2026-09-19
1047Brazil2026-09-23
1048India2026-09-28
1049United Kingdom2026-09-12

On-Demand Data

NameIdCountryDate
Johnson N Bolognia1000Canada2026-09-13
Jones V Doe1001Russia2026-09-20
Chavez X Malet1002Canada2026-09-26
Aruna A Caldarera1003Japan2026-09-15
Munro X Ferencz1004Japan2026-10-04
Mayumi X Schemmer1005India2026-10-02
Chavez J Marrier1006France2026-10-02
Greenwood Q Figeroa1007Italy2026-10-03
Jones U Gillian1008Australia2026-09-19
Kadeem H Venere1009United Kingdom2026-09-27
Nicolas M Venere1010Italy2026-09-13
Silvio R Kusko1011Brazil2026-09-17
Juan W Iturbide1012Germany2026-09-28
Misaki X Stockham1013Germany2026-10-07
Leja N Slusarski1014France2026-09-28
Aditya W Waycott1015Japan2026-10-02
Johnson W Maclead1016Brazil2026-10-05
Jennifer A Malet1017Argentina2026-09-29
Murillo J Oldroyd1018Brazil2026-09-19
Leon V Kusko1019United Kingdom2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi B WieserIndiaBernardo Dominic UNQUALIFIED
Costa D MorascaJapanElwin Sharvill NEGOTIATION
David F NestleUnited KingdomBernardo Dominic NEGOTIATION
Octavia B OldroydSpainIoni Bowcher UNQUALIFIED
Francesco J DarakjyJapanIvan Magalhaes QUALIFIED
Greenwood P StensethBrazilAnna Fali QUALIFIED
Faith G BowleyIndiaStephen Shaw PROPOSAL
Alejandro E WaycottAustraliaAsiya Javayant QUALIFIED
Chavez G DilliardFranceIvan Magalhaes NEW
Chavez M RimIndiaAsiya Javayant PROPOSAL
Smith E WhobreySpainAmy Elsner PROPOSAL
Aika M BologniaUnited KingdomAnna Fali NEW
Misaki M GillianGermanyIvan Magalhaes RENEWAL
Adams V FollerRussiaBernardo Dominic RENEWAL
Octavia S MorascaUnited KingdomOnyama Limba PROPOSAL
Chavez B AmigonSpainElwin Sharvill NEW
Ivar K RoysterGermanyXuxue Feng PROPOSAL
Smith F RoysterArgentinaAnna Fali RENEWAL
Silvio P CampainFranceAmy Elsner RENEWAL
Wickens U StockhamBrazilAsiya Javayant NEW
Aruna U MacleadBrazilIoni Bowcher NEW
Aruna G MacleadJapanBernardo Dominic QUALIFIED
Smith W PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
James P RulapaughAustraliaOnyama Limba PROPOSAL
Sinclair K GillianCanadaIvan Magalhaes PROPOSAL
Mujtaba Y BriddickAustraliaIvan Magalhaes PROPOSAL
Smith L WaycottItalyAsiya Javayant NEW
Arvin Q FlosiBrazilStephen Shaw NEGOTIATION
Leja V RutaBrazilAmy Elsner PROPOSAL
Faith U WaycottSpainIvan Magalhaes QUALIFIED
Leja A KuskoItalyOnyama Limba QUALIFIED
Nicolas K InouyeRussiaAmy Elsner UNQUALIFIED
Johnson I KuskoJapanElwin Sharvill RENEWAL
Emily D CampainSpainElwin Sharvill PROPOSAL
Emily K AlbaresIndiaBernardo Dominic NEW
Morrow G GauchoItalyIvan Magalhaes UNQUALIFIED
Morrow O PerinCanadaStephen Shaw RENEWAL
Sinclair U InouyeSpainAmy Elsner NEGOTIATION
Jeanfrancois E DoeSpainElwin Sharvill RENEWAL
Juan Z SaylorsItalyAnna Fali 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>