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
Ivar C CaldareraJapanAnna Fali PROPOSAL
Jeanfrancois T CaudyGermanyAnna Fali PROPOSAL
Misaki F BriddickJapanIvan Magalhaes QUALIFIED
David T DoeRussiaElwin Sharvill RENEWAL
James B MacleadIndiaOnyama Limba UNQUALIFIED
Ricardo J CaudySpainAmy Elsner NEW
Leon B FerenczCanadaIoni Bowcher QUALIFIED
Adams Q GillianAustraliaIoni Bowcher QUALIFIED
Isabel J CaldareraAustraliaStephen Shaw QUALIFIED
Salvatore K SaylorsRussiaIvan Magalhaes QUALIFIED
Ivar H IturbideJapanIvan Magalhaes NEGOTIATION
Emily C StockhamJapanOnyama Limba UNQUALIFIED
Murillo Y KuskoRussiaOnyama Limba UNQUALIFIED
Emily J StockhamAustraliaXuxue Feng QUALIFIED
Morrow O GarufiCanadaStephen Shaw PROPOSAL
Maria V PoquetteFranceBernardo Dominic RENEWAL
Aika H RutaIndiaIoni Bowcher QUALIFIED
Claire R MorascaArgentinaAnna Fali NEGOTIATION
Aruna Y AlbaresFranceAsiya Javayant NEW
Clifford S PerinUnited KingdomStephen Shaw QUALIFIED
Mujtaba G BowleyItalyIoni Bowcher UNQUALIFIED
Ivar S TollnerBrazilXuxue Feng UNQUALIFIED
Julie L IturbideSpainIvan Magalhaes PROPOSAL
Octavia Z MaletArgentinaAmy Elsner NEGOTIATION
Deepesh K CaudyAustraliaXuxue Feng RENEWAL
Sinclair X RimBrazilStephen Shaw UNQUALIFIED
Aditya B DilliardAustraliaBernardo Dominic RENEWAL
Ivar Z CampainGermanyIvan Magalhaes NEW
Costa B SlusarskiSpainIvan Magalhaes RENEWAL
Aditya I BologniaCanadaXuxue Feng PROPOSAL
Maria V GarufiSpainXuxue Feng NEGOTIATION
Ricardo L MarrierGermanyIoni Bowcher QUALIFIED
Deepesh N WieserArgentinaElwin Sharvill NEW
Morrow G CampainIndiaElwin Sharvill UNQUALIFIED
Silvio I WhobreyAustraliaElwin Sharvill UNQUALIFIED
Tony C OstroskyBrazilIoni Bowcher RENEWAL
Greenwood K GillianAustraliaAmy Elsner NEGOTIATION
Maria P SergiItalyOnyama Limba NEW
Murillo M RoysterIndiaElwin Sharvill PROPOSAL
Nicolas R WaycottUnited KingdomAmy Elsner UNQUALIFIED
David T DoeIndiaBernardo Dominic NEW
Darci U MorascaBrazilAsiya Javayant QUALIFIED
Aika F MaletAustraliaAmy Elsner NEGOTIATION
Munro E AlbaresArgentinaElwin Sharvill QUALIFIED
Mujtaba T BologniaCanadaAmy Elsner NEW
Wickens T PoquetteGermanyStephen Shaw NEW
Juan W AmigonCanadaElwin Sharvill NEW
Jones E PoquetteBrazilOnyama Limba UNQUALIFIED
Jones A CaudyGermanyIoni Bowcher NEGOTIATION
Jefferson J GarufiCanadaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey A RoysterSpainStephen Shaw NEW
Antonio N InouyeCanadaOnyama Limba PROPOSAL
Ivar K GillianCanadaIvan Magalhaes QUALIFIED
Julie W VocelkaGermanyStephen Shaw PROPOSAL
Isabel J PaprockiArgentinaIvan Magalhaes QUALIFIED
Johnson B KuskoAustraliaAmy Elsner UNQUALIFIED
Arvin N NickaUnited KingdomXuxue Feng NEGOTIATION
Aruna X FigeroaJapanElwin Sharvill QUALIFIED
Claire C BologniaGermanyAsiya Javayant PROPOSAL
Leon R CaldareraBrazilIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer D FlosiGermany2026-10-09Rangoni Of Florence NEW72Stephen Shaw
1001Claire Y ShinkoIndia2026-09-20Rangoni Of Florence PROPOSAL4Bernardo Dominic
1002Kaitlin D FollerUnited Kingdom2026-09-26King, Christopher A Esq PROPOSAL87Elwin Sharvill
1003Nicolas B NestleSpain2026-10-03Printing Dimensions QUALIFIED36Onyama Limba
1004Faith Q RimArgentina2026-09-28Feltz Printing Service QUALIFIED44Elwin Sharvill
1005Mayumi P StensethBrazil2026-10-01Benton, John B Jr RENEWAL72Ivan Magalhaes
1006Leja C RimArgentina2026-10-18Feiner Bros QUALIFIED10Anna Fali
1007Deepesh J MarrierGermany2026-10-05Printing Dimensions QUALIFIED96Elwin Sharvill
1008Tony F FerenczArgentina2026-09-24Chapman, Ross E Esq NEGOTIATION77Asiya Javayant
1009Jennifer C InouyeRussia2026-10-03King, Christopher A Esq NEGOTIATION91Stephen Shaw
1010Costa K FollerArgentina2026-09-26Printing Dimensions PROPOSAL63Elwin Sharvill
1011Jones X PoquetteAustralia2026-10-01Rousseaux, Michael Esq NEW21Elwin Sharvill
1012Chavez I StensethArgentina2026-09-24Rousseaux, Michael Esq NEGOTIATION89Amy Elsner
1013Costa N MarrierJapan2026-09-19Chanay, Jeffrey A Esq RENEWAL82Bernardo Dominic
1014Leon N MaletAustralia2026-09-30Buckley Miller Wright NEGOTIATION50Xuxue Feng
1015Jeanfrancois O SergiUnited Kingdom2026-09-28King, Christopher A Esq QUALIFIED74Elwin Sharvill
1016Faith P DoeAustralia2026-10-05Truhlar And Truhlar Attys RENEWAL54Asiya Javayant
1017Arvin U AlbaresGermany2026-09-30Commercial Press QUALIFIED6Anna Fali
1018Clifford P RutaBrazil2026-10-06Morlong Associates RENEWAL78Ivan Magalhaes
1019Tony L WieserUnited Kingdom2026-09-23Truhlar And Truhlar Attys RENEWAL72Asiya Javayant
1020Mujtaba Z PaprockiGermany2026-10-10Feiner Bros NEGOTIATION37Xuxue Feng
1021David K DarakjyIndia2026-10-04Benton, John B Jr NEW24Asiya Javayant
1022Smith U StockhamUnited Kingdom2026-10-01Chanay, Jeffrey A Esq QUALIFIED43Stephen Shaw
1023Silvio O FlosiRussia2026-10-16Chapman, Ross E Esq PROPOSAL59Anna Fali
1024James G OldroydItaly2026-10-08Dorl, James J Esq NEW69Asiya Javayant
1025Darci G SlusarskiRussia2026-09-27Chanay, Jeffrey A Esq QUALIFIED97Anna Fali
1026Octavia T SchemmerRussia2026-09-29Printing Dimensions QUALIFIED18Onyama Limba
1027James I ChuiSpain2026-09-30Morlong Associates QUALIFIED80Asiya Javayant
1028Alejandro X MaletBrazil2026-10-16Dorl, James J Esq PROPOSAL85Bernardo Dominic
1029Tony Z GauchoJapan2026-10-05King, Christopher A Esq PROPOSAL45Xuxue Feng
1030Izzy Z MaletUnited Kingdom2026-10-15Truhlar And Truhlar Attys PROPOSAL16Xuxue Feng
1031Greenwood M GillianIndia2026-10-05Buckley Miller Wright UNQUALIFIED29Bernardo Dominic
1032Antonio J ButtItaly2026-09-21Rangoni Of Florence PROPOSAL30Xuxue Feng
1033Maria D VenereCanada2026-09-30Chemel, James L Cpa NEGOTIATION87Stephen Shaw
1034Leja H MaletArgentina2026-10-05Rousseaux, Michael Esq UNQUALIFIED81Amy Elsner
1035Ashley W NestleIndia2026-09-25Printing Dimensions UNQUALIFIED62Elwin Sharvill
1036Adams A FigeroaAustralia2026-10-13Dorl, James J Esq RENEWAL97Asiya Javayant
1037Rodrigues A SaylorsIndia2026-09-24Chapman, Ross E Esq NEW70Bernardo Dominic
1038Chavez E CaldareraJapan2026-10-08Commercial Press QUALIFIED92Anna Fali
1039Claire D BriddickAustralia2026-09-27Buckley Miller Wright RENEWAL91Amy Elsner
1040Izzy B GauchoUnited Kingdom2026-10-17Dorl, James J Esq PROPOSAL27Xuxue Feng
1041Jefferson P NestleUnited Kingdom2026-09-20Chanay, Jeffrey A Esq QUALIFIED20Onyama Limba
1042Jennifer C WieserGermany2026-10-11Feltz Printing Service NEGOTIATION78Ivan Magalhaes
1043Octavia D VenereUnited Kingdom2026-09-30Dorl, James J Esq PROPOSAL30Asiya Javayant
1044Adams I AlbaresUnited Kingdom2026-10-06Chemel, James L Cpa NEW83Anna Fali
1045Aika A GauchoAustralia2026-09-29Chapman, Ross E Esq PROPOSAL35Amy Elsner
1046Adams V BologniaFrance2026-09-25Dorl, James J Esq NEW64Xuxue Feng
1047Johnson K WaycottArgentina2026-10-15Rangoni Of Florence PROPOSAL25Stephen Shaw
1048Wickens C PoquetteFrance2026-09-29Rousseaux, Michael Esq PROPOSAL61Xuxue Feng
1049Jennifer L BriddickCanada2026-09-24Printing Dimensions NEW52Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leja P WhobreyRussiaAmy Elsner RENEWAL
Stacey O IturbideSpainIoni Bowcher NEGOTIATION
Ashley I BologniaCanadaXuxue Feng RENEWAL
Leja A TollnerCanadaAnna Fali NEGOTIATION
Deepesh V PerinCanadaIoni Bowcher NEW
Julie P AmigonArgentinaOnyama Limba QUALIFIED
Smith M AlbaresBrazilAmy Elsner NEGOTIATION
Costa A MarrierBrazilOnyama Limba NEGOTIATION
Kadeem R RimIndiaIvan Magalhaes QUALIFIED
Ashley W PerinUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba B GillianCanadaStephen Shaw PROPOSAL
Jefferson W StensethSpainOnyama Limba UNQUALIFIED
Silvio Y PaprockiAustraliaOnyama Limba PROPOSAL
Mujtaba I FerenczIndiaOnyama Limba PROPOSAL
Leja M SchemmerBrazilIoni Bowcher NEW
Sinclair I MarrierJapanAsiya Javayant PROPOSAL
Rodrigues E KolmetzGermanyIoni Bowcher RENEWAL
Mayumi V GarufiArgentinaAmy Elsner PROPOSAL
Misaki Y KuskoJapanIvan Magalhaes RENEWAL
Darci Z GillianBrazilIvan Magalhaes NEW
Smith S AmigonFranceAsiya Javayant RENEWAL
Kaitlin V SaylorsRussiaAsiya Javayant UNQUALIFIED
Deepesh Z MorascaSpainAsiya Javayant RENEWAL
Izzy E PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens T PoquetteGermanyAnna Fali UNQUALIFIED
Leja Y DoeRussiaBernardo Dominic QUALIFIED
Tony F FollerSpainAsiya Javayant UNQUALIFIED
Munro L SlusarskiSpainAsiya Javayant NEW
Salvatore B GarufiItalyXuxue Feng UNQUALIFIED
Arvin E GillianRussiaIoni Bowcher UNQUALIFIED
Antonio M PoquetteSpainAsiya Javayant UNQUALIFIED
Jefferson V BowleyIndiaIoni Bowcher RENEWAL
Juan B WhobreyItalyIvan Magalhaes QUALIFIED
David B DoeUnited KingdomAsiya Javayant UNQUALIFIED
Deepesh R GillianRussiaXuxue Feng QUALIFIED
Murillo B PerinBrazilIoni Bowcher UNQUALIFIED
Alejandro L CaldareraArgentinaIoni Bowcher QUALIFIED
Rodrigues W NestleItalyAnna Fali UNQUALIFIED
Jeanfrancois B TollnerSpainIoni Bowcher QUALIFIED
Kadeem T StensethJapanStephen Shaw NEGOTIATION
Ashley G SaylorsIndiaAsiya Javayant NEGOTIATION
Nicolas N KolmetzItalyAnna Fali RENEWAL
Faith E CaudyRussiaOnyama Limba RENEWAL
Darci D MarrierSpainIvan Magalhaes RENEWAL
Ashley M KuskoBrazilAnna Fali UNQUALIFIED
Jeanfrancois W GillianRussiaBernardo Dominic RENEWAL
Tony S WaycottIndiaAnna Fali RENEWAL
Antonio D GauchoAustraliaStephen Shaw NEGOTIATION
Juan D ShinkoRussiaStephen Shaw NEW
Arvin Y WhobreyJapanAnna Fali QUALIFIED
Frozen Columns
Name
Silvio G Campain
Deepesh U Darakjy
Clifford N Shinko
Kadeem Z Caudy
Tony C Perin
Izzy N Vocelka
Arvin J Ruta
Kaitlin X Rim
Mujtaba T Stenseth
Aditya S Schemmer
Aika T Glick
Deepesh A Doe
Aruna E Flosi
Cody U Ruta
Jeanfrancois Z Marrier
Johnson T Whobrey
Leon D Vocelka
Morrow D Chui
Kadeem H Flosi
Darci M Doe
Leon K Shinko
Antonio J Rulapaugh
Ricardo Q Slusarski
Ivar B Gaucho
Deepesh Q Flosi
Tony C Dilliard
Adams X Glick
Claire T Amigon
Aditya S Campain
Jefferson L Ostrosky
Claire C Butt
Nicolas O Chui
Jeanfrancois Z Dilliard
Misaki B Gillian
Rodrigues N Poquette
Aruna Q Chui
Kaitlin K Figeroa
Juan K Tollner
Ivar C Sergi
Clifford Z Dilliard
Stacey V Saylors
Kadeem S Morasca
Alejandro N Rim
Stacey Y Whobrey
Juan E Rim
Octavia W Nestle
James Z Inouye
Leon C Caudy
Aruna A Amigon
Sinclair Q Nicka
IdCountryDate
1000Japan2026-10-15
1001Japan2026-09-30
1002United Kingdom2026-10-06
1003Spain2026-10-15
1004Argentina2026-09-30
1005Russia2026-10-14
1006Spain2026-10-03
1007Argentina2026-09-22
1008Italy2026-10-10
1009Spain2026-09-25
1010France2026-10-11
1011Argentina2026-10-12
1012United Kingdom2026-09-22
1013India2026-09-25
1014Brazil2026-09-19
1015France2026-10-03
1016Russia2026-10-18
1017France2026-09-29
1018United Kingdom2026-10-09
1019India2026-10-02
1020Argentina2026-10-02
1021Brazil2026-10-10
1022Italy2026-09-27
1023Germany2026-10-18
1024Australia2026-10-07
1025United Kingdom2026-10-16
1026Russia2026-10-16
1027Australia2026-09-20
1028France2026-10-02
1029Italy2026-10-11
1030Germany2026-10-14
1031Argentina2026-09-27
1032France2026-09-30
1033Italy2026-10-16
1034Australia2026-10-13
1035Brazil2026-10-11
1036India2026-10-13
1037Brazil2026-10-17
1038Australia2026-09-30
1039Australia2026-09-29
1040France2026-09-29
1041Brazil2026-10-09
1042Canada2026-10-14
1043Australia2026-10-15
1044Brazil2026-10-17
1045Japan2026-10-02
1046United Kingdom2026-09-30
1047Japan2026-10-17
1048Germany2026-09-25
1049Argentina2026-10-07

On-Demand Data

NameIdCountryDate
Morrow K Malet1000Spain2026-09-20
Maisha D Ostrosky1001Australia2026-09-23
Costa D Kusko1002Spain2026-10-02
Wickens Y Garufi1003Japan2026-10-08
Kadeem F Chui1004Argentina2026-09-23
Ivar F Saylors1005France2026-09-30
Smith I Waycott1006Australia2026-10-10
Faith I Caldarera1007France2026-10-16
Octavia J Bolognia1008Germany2026-10-18
Rodrigues N Chui1009Japan2026-10-16
Murillo G Rulapaugh1010United Kingdom2026-10-14
Faith S Wieser1011Brazil2026-09-23
Mujtaba P Nicka1012United Kingdom2026-10-12
Wickens Z Perin1013United Kingdom2026-09-22
Jones Q Flosi1014India2026-10-09
Darci U Ruta1015Australia2026-09-28
Stacey E Kolmetz1016France2026-10-18
Juan C Sergi1017Australia2026-09-25
Francesco L Malet1018Argentina2026-10-07
Jefferson L Malet1019Canada2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy A MarrierAustraliaIoni Bowcher UNQUALIFIED
Faith X VocelkaCanadaAmy Elsner PROPOSAL
Adams B FlosiFranceBernardo Dominic UNQUALIFIED
Darci J BologniaBrazilStephen Shaw UNQUALIFIED
Rodrigues E NickaItalyOnyama Limba UNQUALIFIED
Cody A SchemmerItalyElwin Sharvill NEW
Munro Z KuskoBrazilIvan Magalhaes UNQUALIFIED
Greenwood A RutaRussiaIvan Magalhaes PROPOSAL
Johnson T WaycottAustraliaOnyama Limba PROPOSAL
Chavez A TollnerAustraliaAsiya Javayant NEGOTIATION
Aika J StockhamIndiaAnna Fali RENEWAL
Jennifer Y OldroydSpainElwin Sharvill NEGOTIATION
Sinclair F FigeroaSpainBernardo Dominic QUALIFIED
Izzy J RutaAustraliaStephen Shaw NEGOTIATION
David P SchemmerRussiaBernardo Dominic NEGOTIATION
Leja S DoeSpainXuxue Feng NEW
Maria Q NestleGermanyAsiya Javayant RENEWAL
Maisha L RoysterArgentinaAnna Fali UNQUALIFIED
Greenwood U WhobreyArgentinaAnna Fali RENEWAL
Kadeem M GlickRussiaIoni Bowcher RENEWAL
Jones U CampainUnited KingdomAnna Fali PROPOSAL
Smith G BologniaJapanAsiya Javayant UNQUALIFIED
Octavia O FollerCanadaAsiya Javayant PROPOSAL
Cody Y BriddickCanadaBernardo Dominic PROPOSAL
Francesco U WhobreyArgentinaIvan Magalhaes RENEWAL
Faith C CaudyBrazilAsiya Javayant PROPOSAL
Alejandro X RoysterGermanyXuxue Feng RENEWAL
Arvin K FigeroaCanadaXuxue Feng QUALIFIED
Juan T WhobreyAustraliaAmy Elsner QUALIFIED
Greenwood I WhobreyJapanIvan Magalhaes PROPOSAL
Morrow Q GlickUnited KingdomStephen Shaw NEW
Izzy V RulapaughFranceOnyama Limba NEGOTIATION
Smith K IturbideCanadaBernardo Dominic NEW
Ivar Q MarrierUnited KingdomIoni Bowcher QUALIFIED
Ricardo N WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Maria A WieserIndiaStephen Shaw PROPOSAL
Stacey D MaletArgentinaIoni Bowcher NEW
Wickens G KuskoAustraliaIoni Bowcher NEW
Faith U TollnerArgentinaOnyama Limba NEGOTIATION
Julie E KolmetzFranceBernardo Dominic 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>