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
Costa J RoysterGermanyAmy Elsner RENEWAL
Octavia D RutaUnited KingdomIoni Bowcher RENEWAL
Aditya X InouyeCanadaXuxue Feng RENEWAL
Izzy S RulapaughIndiaAnna Fali NEGOTIATION
Mujtaba K MarrierGermanyIvan Magalhaes NEW
Julie B RoysterRussiaIvan Magalhaes QUALIFIED
Mayumi U FerenczArgentinaOnyama Limba PROPOSAL
Sinclair J PaprockiArgentinaElwin Sharvill NEW
Munro X ChuiBrazilOnyama Limba RENEWAL
Alejandro X VocelkaBrazilAnna Fali UNQUALIFIED
Stacey C DarakjyAustraliaStephen Shaw QUALIFIED
Sinclair F ButtAustraliaBernardo Dominic PROPOSAL
Juan S GlickAustraliaIoni Bowcher RENEWAL
Rodrigues G MarrierFranceIoni Bowcher NEGOTIATION
Rodrigues W StockhamItalyOnyama Limba RENEWAL
Aditya H GarufiArgentinaIoni Bowcher UNQUALIFIED
Tony G ButtIndiaAsiya Javayant NEGOTIATION
James D FlosiAustraliaElwin Sharvill QUALIFIED
Kaitlin O VocelkaFranceAnna Fali PROPOSAL
David G MarrierSpainOnyama Limba NEGOTIATION
Deepesh Y VocelkaCanadaAmy Elsner RENEWAL
Johnson N FerenczAustraliaAmy Elsner UNQUALIFIED
Tony C MorascaCanadaAsiya Javayant QUALIFIED
Aika X OstroskyArgentinaStephen Shaw UNQUALIFIED
Nicolas R VocelkaUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin V SergiGermanyStephen Shaw RENEWAL
Cody T ButtAustraliaStephen Shaw RENEWAL
Octavia L RulapaughFranceIvan Magalhaes NEW
Izzy U SergiAustraliaIvan Magalhaes NEGOTIATION
Kadeem A MarrierSpainIoni Bowcher UNQUALIFIED
Munro B VenereFranceIoni Bowcher RENEWAL
Stacey B StockhamSpainIvan Magalhaes PROPOSAL
Leja X RutaUnited KingdomXuxue Feng QUALIFIED
Mayumi M WieserRussiaAsiya Javayant RENEWAL
Stacey W CaldareraIndiaElwin Sharvill RENEWAL
Isabel M PoquetteJapanAmy Elsner UNQUALIFIED
Mujtaba C RimBrazilOnyama Limba UNQUALIFIED
Smith Y SergiIndiaAmy Elsner UNQUALIFIED
Nicolas K MorascaRussiaXuxue Feng PROPOSAL
Antonio G FerenczAustraliaElwin Sharvill UNQUALIFIED
Arvin N NickaCanadaXuxue Feng RENEWAL
Julie V GillianIndiaAnna Fali PROPOSAL
Darci L VocelkaArgentinaAsiya Javayant NEGOTIATION
Mujtaba G DarakjyJapanIoni Bowcher UNQUALIFIED
Izzy V MaletRussiaAsiya Javayant RENEWAL
Smith F CaldareraAustraliaAmy Elsner UNQUALIFIED
Izzy E StockhamItalyIvan Magalhaes NEGOTIATION
Aditya W RimSpainElwin Sharvill RENEWAL
Costa F BowleyUnited KingdomAmy Elsner UNQUALIFIED
Juan O DoeBrazilElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Greenwood V PerinArgentinaAmy Elsner RENEWAL
Greenwood I RulapaughUnited KingdomIvan Magalhaes RENEWAL
David A FerenczRussiaIvan Magalhaes NEGOTIATION
Juan R FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Jones N KuskoArgentinaOnyama Limba NEGOTIATION
Clifford S PerinItalyOnyama Limba PROPOSAL
Ricardo R KolmetzJapanAnna Fali PROPOSAL
Leon V MaletSpainStephen Shaw PROPOSAL
Isabel T PaprockiGermanyIvan Magalhaes RENEWAL
Faith Z ChuiGermanyElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire D TollnerAustralia2026-09-11Chemel, James L Cpa UNQUALIFIED58Stephen Shaw
1001Aika U FigeroaGermany2026-09-16Chapman, Ross E Esq UNQUALIFIED74Onyama Limba
1002James W MarrierItaly2026-08-20Chemel, James L Cpa UNQUALIFIED46Bernardo Dominic
1003Maria G RimRussia2026-09-02King, Christopher A Esq UNQUALIFIED21Elwin Sharvill
1004Tony U AmigonIndia2026-08-22Printing Dimensions QUALIFIED49Stephen Shaw
1005Juan X PaprockiRussia2026-09-12Chemel, James L Cpa UNQUALIFIED70Elwin Sharvill
1006Silvio C RutaBrazil2026-09-04Dorl, James J Esq PROPOSAL80Onyama Limba
1007Claire J PoquetteGermany2026-09-13Morlong Associates UNQUALIFIED77Onyama Limba
1008Ashley I WaycottUnited Kingdom2026-08-24Benton, John B Jr NEGOTIATION81Anna Fali
1009Francesco J VocelkaItaly2026-08-31Chapman, Ross E Esq QUALIFIED98Asiya Javayant
1010Tony X StockhamFrance2026-09-04Morlong Associates QUALIFIED26Xuxue Feng
1011Aika Y SergiJapan2026-09-07Rousseaux, Michael Esq UNQUALIFIED95Ivan Magalhaes
1012Nicolas Z MarrierJapan2026-09-04King, Christopher A Esq RENEWAL62Stephen Shaw
1013Greenwood U WaycottIndia2026-09-07Truhlar And Truhlar Attys QUALIFIED66Onyama Limba
1014Chavez K MacleadFrance2026-08-21Rangoni Of Florence UNQUALIFIED69Xuxue Feng
1015Adams U SergiUnited Kingdom2026-09-07Rousseaux, Michael Esq RENEWAL13Amy Elsner
1016Jeanfrancois L RoysterBrazil2026-08-20Rangoni Of Florence NEW17Elwin Sharvill
1017Munro H FigeroaRussia2026-09-03Feiner Bros NEW39Stephen Shaw
1018Wickens A OldroydRussia2026-08-25Dorl, James J Esq NEW1Asiya Javayant
1019Ashley J PoquetteArgentina2026-09-04King, Christopher A Esq QUALIFIED33Bernardo Dominic
1020Silvio I DoeItaly2026-09-12King, Christopher A Esq RENEWAL84Elwin Sharvill
1021Jones L IturbideCanada2026-09-04Rangoni Of Florence RENEWAL88Xuxue Feng
1022David E ShinkoJapan2026-08-28Chanay, Jeffrey A Esq PROPOSAL26Ivan Magalhaes
1023Antonio X MorascaGermany2026-08-20Chanay, Jeffrey A Esq QUALIFIED24Ioni Bowcher
1024Munro Z WhobreySpain2026-09-15Feiner Bros NEGOTIATION95Onyama Limba
1025Clifford E NickaUnited Kingdom2026-09-12Commercial Press RENEWAL21Ioni Bowcher
1026Ivar L DilliardBrazil2026-09-11Rousseaux, Michael Esq QUALIFIED88Ioni Bowcher
1027Leja D MaletRussia2026-08-23Buckley Miller Wright QUALIFIED52Asiya Javayant
1028Chavez J SlusarskiCanada2026-09-06Feiner Bros NEGOTIATION57Amy Elsner
1029Adams J FlosiAustralia2026-08-31Morlong Associates UNQUALIFIED6Asiya Javayant
1030Aditya Z BologniaBrazil2026-08-22Truhlar And Truhlar Attys NEGOTIATION44Onyama Limba
1031David L MaletAustralia2026-08-28Chanay, Jeffrey A Esq NEGOTIATION12Ioni Bowcher
1032Isabel Z StensethAustralia2026-08-22Feltz Printing Service NEGOTIATION30Onyama Limba
1033Maisha H VenereCanada2026-09-10Commercial Press NEW34Elwin Sharvill
1034Mujtaba O TollnerBrazil2026-08-23Commercial Press NEGOTIATION54Onyama Limba
1035Cody X VenereSpain2026-09-01Commercial Press UNQUALIFIED27Elwin Sharvill
1036Silvio Q BologniaCanada2026-09-09Benton, John B Jr QUALIFIED76Amy Elsner
1037Costa I IturbideAustralia2026-09-06King, Christopher A Esq NEW48Ioni Bowcher
1038Darci V PerinRussia2026-08-27Feltz Printing Service QUALIFIED20Ioni Bowcher
1039Juan I SchemmerIndia2026-08-29King, Christopher A Esq RENEWAL49Anna Fali
1040Aruna W TollnerAustralia2026-08-26Feiner Bros UNQUALIFIED32Bernardo Dominic
1041Jennifer U RimSpain2026-08-19Printing Dimensions RENEWAL90Onyama Limba
1042Clifford K MacleadIndia2026-08-22Feltz Printing Service QUALIFIED58Anna Fali
1043Faith J MaletUnited Kingdom2026-08-21Printing Dimensions UNQUALIFIED18Asiya Javayant
1044Leja K GlickFrance2026-09-04Chapman, Ross E Esq RENEWAL95Stephen Shaw
1045Chavez E DoeIndia2026-09-17Dorl, James J Esq PROPOSAL4Onyama Limba
1046Darci K DoeIndia2026-09-02Rangoni Of Florence QUALIFIED39Xuxue Feng
1047Silvio B SchemmerItaly2026-08-21Commercial Press UNQUALIFIED24Onyama Limba
1048Isabel P SaylorsBrazil2026-08-28Chapman, Ross E Esq RENEWAL86Asiya Javayant
1049Darci N ChuiIndia2026-08-20Benton, John B Jr QUALIFIED1Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Leon T WieserSpainIvan Magalhaes QUALIFIED
James X GauchoIndiaIvan Magalhaes NEGOTIATION
Izzy K FerenczRussiaBernardo Dominic QUALIFIED
Kadeem Q KuskoRussiaAsiya Javayant UNQUALIFIED
Darci W NickaItalyStephen Shaw NEGOTIATION
Wickens H StockhamFranceOnyama Limba PROPOSAL
Misaki I CampainCanadaElwin Sharvill UNQUALIFIED
Mayumi X VocelkaGermanyBernardo Dominic PROPOSAL
Alejandro A RoysterAustraliaElwin Sharvill NEGOTIATION
Salvatore K VenereBrazilAmy Elsner NEW
Wickens N KolmetzCanadaOnyama Limba NEGOTIATION
Leon T BologniaArgentinaBernardo Dominic NEGOTIATION
Leon D SlusarskiArgentinaAsiya Javayant RENEWAL
Deepesh I IturbideSpainIoni Bowcher NEGOTIATION
Ashley P GlickCanadaAnna Fali QUALIFIED
Kadeem N FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Johnson W OstroskyUnited KingdomStephen Shaw UNQUALIFIED
Leja Q MarrierBrazilBernardo Dominic RENEWAL
Isabel B MorascaCanadaOnyama Limba QUALIFIED
James S TollnerJapanAnna Fali RENEWAL
Murillo L BologniaItalyAnna Fali RENEWAL
Stacey Y SchemmerUnited KingdomOnyama Limba NEGOTIATION
Mujtaba J FollerIndiaOnyama Limba RENEWAL
Izzy D FerenczArgentinaStephen Shaw NEW
Jones W FerenczUnited KingdomIvan Magalhaes NEW
Rodrigues O GarufiUnited KingdomAnna Fali NEW
Francesco F PoquetteRussiaStephen Shaw PROPOSAL
Chavez B CaldareraArgentinaAnna Fali QUALIFIED
Maisha N CampainArgentinaBernardo Dominic NEW
Tony J AmigonSpainAmy Elsner UNQUALIFIED
Isabel X AlbaresAustraliaXuxue Feng QUALIFIED
Rodrigues G BologniaSpainAsiya Javayant PROPOSAL
Cody P CampainJapanOnyama Limba NEW
David T MarrierItalyElwin Sharvill UNQUALIFIED
Cody K CaudyArgentinaBernardo Dominic QUALIFIED
James N PerinRussiaOnyama Limba UNQUALIFIED
Alejandro P FollerRussiaIoni Bowcher PROPOSAL
Mayumi V RulapaughAustraliaAsiya Javayant RENEWAL
Isabel Z WieserCanadaStephen Shaw RENEWAL
Aditya Z OstroskyGermanyElwin Sharvill RENEWAL
Sinclair P BowleyItalyIoni Bowcher RENEWAL
Octavia J StensethAustraliaIvan Magalhaes NEGOTIATION
Ricardo P AmigonUnited KingdomIvan Magalhaes RENEWAL
Izzy P ShinkoBrazilAmy Elsner RENEWAL
Jones N TollnerCanadaAnna Fali NEGOTIATION
Sinclair H PaprockiCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois P WhobreyIndiaXuxue Feng NEW
Leon Y PerinUnited KingdomAmy Elsner UNQUALIFIED
Leja J OldroydFranceBernardo Dominic NEGOTIATION
Sinclair H MaletCanadaAmy Elsner NEW
Frozen Columns
Name
Mayumi T Malet
Claire D Stenseth
Ivar F Campain
Jeanfrancois P Saylors
Claire U Foller
Silvio U Nestle
Jennifer W Chui
Mujtaba U Flosi
Maria F Rim
Emily C Schemmer
James T Caudy
Mujtaba K Poquette
Kaitlin R Flosi
Misaki Q Figeroa
Nicolas O Dilliard
Francesco E Slusarski
Francesco U Slusarski
Kadeem N Foller
Rodrigues B Oldroyd
Arvin J Briddick
Adams H Saylors
Mujtaba B Whobrey
Silvio D Whobrey
David V Kolmetz
Darci K Glick
Deepesh V Wieser
Faith N Rim
Silvio J Inouye
Smith I Gillian
Jones J Sergi
Mayumi W Tollner
Kadeem V Morasca
Izzy L Bolognia
Octavia I Caldarera
Francesco W Amigon
Munro M Caldarera
Silvio N Rulapaugh
Wickens K Caldarera
Francesco D Gillian
Isabel O Oldroyd
Chavez P Glick
Kaitlin L Bowley
Cody B Saylors
Julie H Slusarski
Jennifer T Vocelka
Ivar B Kusko
Aika V Morasca
Silvio X Vocelka
Darci Q Maclead
David C Inouye
IdCountryDate
1000Russia2026-09-17
1001Spain2026-08-22
1002Germany2026-09-03
1003United Kingdom2026-08-19
1004Spain2026-09-15
1005Germany2026-09-15
1006Canada2026-09-05
1007Japan2026-08-23
1008Canada2026-09-07
1009United Kingdom2026-09-02
1010Canada2026-09-02
1011Canada2026-09-06
1012United Kingdom2026-08-25
1013Russia2026-09-04
1014United Kingdom2026-08-20
1015Japan2026-08-21
1016Spain2026-09-17
1017United Kingdom2026-09-14
1018Japan2026-08-25
1019Spain2026-09-06
1020France2026-09-07
1021Italy2026-09-13
1022India2026-08-29
1023Japan2026-09-14
1024Japan2026-09-06
1025United Kingdom2026-08-23
1026Canada2026-08-20
1027Spain2026-09-04
1028Japan2026-08-28
1029Australia2026-09-14
1030India2026-08-21
1031France2026-09-03
1032Australia2026-09-04
1033Italy2026-08-21
1034Australia2026-08-23
1035Canada2026-08-29
1036Brazil2026-09-08
1037Japan2026-09-14
1038Germany2026-09-17
1039Spain2026-09-06
1040United Kingdom2026-08-31
1041Brazil2026-09-02
1042India2026-08-21
1043Canada2026-09-09
1044Spain2026-08-27
1045United Kingdom2026-09-07
1046Russia2026-09-17
1047Canada2026-09-07
1048Australia2026-08-30
1049United Kingdom2026-09-10

On-Demand Data

NameIdCountryDate
Jones Y Doe1000Australia2026-09-09
Ashley E Gillian1001Australia2026-08-24
Clifford C Schemmer1002Germany2026-09-14
Silvio X Glick1003Japan2026-09-04
Leja Q Poquette1004United Kingdom2026-08-27
Nicolas N Chui1005Japan2026-08-25
Mujtaba X Marrier1006Germany2026-09-17
Murillo X Foller1007Russia2026-09-10
Ashley P Dilliard1008Argentina2026-09-02
Aruna W Stenseth1009India2026-08-24
Emily J Ferencz1010France2026-09-17
Clifford W Gaucho1011Australia2026-09-04
Wickens J Paprocki1012Italy2026-09-12
Leon I Saylors1013Japan2026-09-14
Adams Q Darakjy1014France2026-09-02
James B Schemmer1015Canada2026-08-29
Cody E Maclead1016Argentina2026-08-22
Morrow F Vocelka1017Australia2026-09-05
Claire Z Malet1018Australia2026-09-07
Maria X Waycott1019Spain2026-09-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson F FlosiRussiaAnna Fali RENEWAL
Mujtaba L GauchoRussiaOnyama Limba QUALIFIED
Deepesh J FollerSpainAsiya Javayant NEW
Mayumi P AlbaresJapanAnna Fali QUALIFIED
Octavia W PoquetteSpainAnna Fali QUALIFIED
Clifford F ButtAustraliaXuxue Feng NEGOTIATION
Kadeem L ChuiCanadaAnna Fali UNQUALIFIED
Mayumi N RimAustraliaStephen Shaw UNQUALIFIED
Octavia I PerinBrazilIoni Bowcher UNQUALIFIED
Izzy C DoeUnited KingdomIvan Magalhaes QUALIFIED
Maria P VocelkaCanadaElwin Sharvill QUALIFIED
Isabel E SergiJapanIoni Bowcher UNQUALIFIED
Aruna P WieserAustraliaAsiya Javayant PROPOSAL
Antonio N RimBrazilOnyama Limba NEW
Leon E NickaCanadaAnna Fali NEGOTIATION
Rodrigues J SaylorsItalyElwin Sharvill UNQUALIFIED
Jennifer P PaprockiArgentinaOnyama Limba QUALIFIED
Cody U DarakjyCanadaIoni Bowcher UNQUALIFIED
Clifford S WieserArgentinaAmy Elsner NEGOTIATION
Maisha Y MaletSpainBernardo Dominic UNQUALIFIED
Jefferson B CaudySpainOnyama Limba PROPOSAL
James N VocelkaJapanAsiya Javayant QUALIFIED
Darci X SaylorsUnited KingdomElwin Sharvill UNQUALIFIED
Ricardo X OldroydJapanAsiya Javayant PROPOSAL
Stacey B PaprockiCanadaAmy Elsner NEGOTIATION
Aruna Q IturbideRussiaXuxue Feng RENEWAL
Misaki H AmigonGermanyBernardo Dominic NEW
Morrow C CaudySpainAnna Fali RENEWAL
Jefferson M OstroskyCanadaElwin Sharvill NEW
Mayumi P ChuiGermanyIoni Bowcher RENEWAL
David G GillianCanadaAnna Fali NEGOTIATION
Ivar O KuskoGermanyAnna Fali NEGOTIATION
Wickens E OldroydRussiaElwin Sharvill QUALIFIED
Ricardo R DoeFranceAmy Elsner QUALIFIED
Silvio A RulapaughGermanyIvan Magalhaes PROPOSAL
Rodrigues F AlbaresSpainIvan Magalhaes NEGOTIATION
Kadeem V GillianBrazilOnyama Limba NEW
Jeanfrancois K CampainCanadaIvan Magalhaes NEGOTIATION
Alejandro I FollerCanadaIoni Bowcher UNQUALIFIED
Ivar B SlusarskiIndiaBernardo Dominic UNQUALIFIED

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