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
Deepesh O PoquetteBrazilIoni Bowcher NEW
Smith E MorascaCanadaOnyama Limba NEW
Alejandro T VocelkaJapanAnna Fali NEGOTIATION
Johnson S InouyeArgentinaIvan Magalhaes UNQUALIFIED
Jeanfrancois K FigeroaUnited KingdomBernardo Dominic QUALIFIED
Darci C WieserBrazilStephen Shaw NEGOTIATION
Arvin N MaletBrazilIvan Magalhaes QUALIFIED
Clifford T DoeJapanAmy Elsner NEW
Claire T PaprockiFranceAmy Elsner RENEWAL
David J FlosiSpainAmy Elsner NEGOTIATION
Arvin K BowleyItalyIoni Bowcher UNQUALIFIED
Mayumi H RimGermanyBernardo Dominic NEGOTIATION
Faith R KuskoBrazilIoni Bowcher PROPOSAL
Jones C DarakjyUnited KingdomOnyama Limba QUALIFIED
Silvio X GlickAustraliaAnna Fali NEGOTIATION
Ashley H GlickIndiaBernardo Dominic QUALIFIED
Tony F NickaFranceElwin Sharvill NEGOTIATION
Antonio I GauchoRussiaElwin Sharvill PROPOSAL
Kaitlin W StockhamBrazilXuxue Feng UNQUALIFIED
Faith Y RimArgentinaIvan Magalhaes NEGOTIATION
Leon M BologniaJapanStephen Shaw PROPOSAL
Smith X OldroydAustraliaIoni Bowcher RENEWAL
Deepesh J NickaItalyAsiya Javayant RENEWAL
Alejandro G ButtAustraliaStephen Shaw PROPOSAL
Jefferson J TollnerBrazilBernardo Dominic NEW
Octavia Z CampainItalyIvan Magalhaes NEGOTIATION
Leon N ChuiUnited KingdomIoni Bowcher NEGOTIATION
Sinclair P RoysterArgentinaAmy Elsner NEW
Jones P RulapaughRussiaStephen Shaw RENEWAL
Costa U OstroskyIndiaOnyama Limba NEGOTIATION
Sinclair F KolmetzCanadaOnyama Limba NEW
Izzy K GarufiCanadaXuxue Feng RENEWAL
Morrow M RutaRussiaAsiya Javayant UNQUALIFIED
Alejandro N DarakjyJapanOnyama Limba NEGOTIATION
Clifford G VenereUnited KingdomStephen Shaw RENEWAL
Jefferson B MacleadGermanyIvan Magalhaes NEW
Smith U GauchoUnited KingdomBernardo Dominic PROPOSAL
Leon C DarakjyGermanyAsiya Javayant NEGOTIATION
Antonio J OldroydSpainAnna Fali NEW
Clifford K WieserGermanyElwin Sharvill NEW
Stacey X AlbaresCanadaIvan Magalhaes UNQUALIFIED
Adams D GarufiFranceAmy Elsner PROPOSAL
Julie E BologniaGermanyAsiya Javayant NEGOTIATION
Cody P KuskoCanadaAmy Elsner NEW
Jennifer D IturbideFranceXuxue Feng UNQUALIFIED
Sinclair P InouyeIndiaElwin Sharvill NEGOTIATION
Rodrigues X RulapaughBrazilAnna Fali QUALIFIED
Emily D RoysterSpainStephen Shaw NEGOTIATION
Arvin S MorascaArgentinaXuxue Feng PROPOSAL
Chavez M KolmetzSpainAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba Y SergiRussiaIoni Bowcher QUALIFIED
David L StockhamFranceIvan Magalhaes UNQUALIFIED
Julie Q ChuiCanadaBernardo Dominic PROPOSAL
David O PoquetteItalyAnna Fali QUALIFIED
Darci G AlbaresCanadaXuxue Feng PROPOSAL
Aika N OstroskyCanadaIvan Magalhaes UNQUALIFIED
Octavia F NickaUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois H SchemmerSpainAnna Fali QUALIFIED
Morrow Y FigeroaFranceIoni Bowcher NEGOTIATION
David C CaldareraFranceXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco R NestleAustralia2026-10-11Dorl, James J Esq PROPOSAL37Elwin Sharvill
1001Smith C MaletIndia2026-10-16Truhlar And Truhlar Attys RENEWAL87Bernardo Dominic
1002Morrow L BowleyIndia2026-10-11King, Christopher A Esq NEGOTIATION22Ioni Bowcher
1003Maisha B KuskoUnited Kingdom2026-10-13Rousseaux, Michael Esq RENEWAL8Elwin Sharvill
1004Maria I CampainSpain2026-10-04Truhlar And Truhlar Attys NEW8Anna Fali
1005Morrow H VocelkaSpain2026-09-30Feiner Bros NEGOTIATION0Ivan Magalhaes
1006Misaki E StensethIndia2026-10-08Chapman, Ross E Esq NEGOTIATION50Ioni Bowcher
1007Wickens E StensethArgentina2026-09-22Dorl, James J Esq NEGOTIATION38Xuxue Feng
1008Greenwood Y SlusarskiUnited Kingdom2026-10-03Dorl, James J Esq NEW0Elwin Sharvill
1009Arvin O MarrierAustralia2026-09-29Benton, John B Jr PROPOSAL59Asiya Javayant
1010Chavez P KuskoFrance2026-10-19Truhlar And Truhlar Attys QUALIFIED59Asiya Javayant
1011Darci I AlbaresArgentina2026-09-28Feltz Printing Service PROPOSAL49Anna Fali
1012Darci E PaprockiGermany2026-10-16Commercial Press QUALIFIED88Bernardo Dominic
1013Jennifer G GarufiArgentina2026-09-29Chanay, Jeffrey A Esq NEGOTIATION26Amy Elsner
1014Jefferson A FigeroaIndia2026-10-03King, Christopher A Esq NEW57Elwin Sharvill
1015Jefferson P BowleyGermany2026-10-09Printing Dimensions NEGOTIATION70Asiya Javayant
1016Emily X MorascaIndia2026-10-08Benton, John B Jr NEGOTIATION89Asiya Javayant
1017Morrow D MacleadUnited Kingdom2026-10-11Morlong Associates UNQUALIFIED15Anna Fali
1018Munro T StensethGermany2026-10-08Feltz Printing Service PROPOSAL14Asiya Javayant
1019Ashley N IturbideBrazil2026-10-18King, Christopher A Esq QUALIFIED27Ioni Bowcher
1020Jones F WhobreyRussia2026-10-20Chanay, Jeffrey A Esq NEGOTIATION12Ivan Magalhaes
1021Johnson X GlickGermany2026-10-14Morlong Associates QUALIFIED1Amy Elsner
1022James T SchemmerIndia2026-09-23Chemel, James L Cpa PROPOSAL64Bernardo Dominic
1023Wickens E FerenczIndia2026-10-02Feiner Bros QUALIFIED93Xuxue Feng
1024Octavia C OldroydJapan2026-10-14Chapman, Ross E Esq NEGOTIATION55Xuxue Feng
1025Jefferson U PaprockiGermany2026-09-23Buckley Miller Wright PROPOSAL50Amy Elsner
1026Ricardo C CaudyJapan2026-10-16Truhlar And Truhlar Attys NEW41Elwin Sharvill
1027Adams T ButtGermany2026-10-17Feltz Printing Service UNQUALIFIED60Stephen Shaw
1028Nicolas Q CampainFrance2026-10-10Chemel, James L Cpa NEW1Asiya Javayant
1029Deepesh Z VocelkaUnited Kingdom2026-10-03Morlong Associates QUALIFIED29Anna Fali
1030Alejandro E MaletAustralia2026-10-04Buckley Miller Wright PROPOSAL81Bernardo Dominic
1031Mujtaba Z FollerUnited Kingdom2026-10-04Morlong Associates QUALIFIED69Bernardo Dominic
1032Stacey U DilliardCanada2026-09-25Commercial Press UNQUALIFIED71Asiya Javayant
1033David F RutaJapan2026-10-07Rangoni Of Florence UNQUALIFIED78Xuxue Feng
1034Sinclair E PaprockiUnited Kingdom2026-09-30Morlong Associates NEW73Ivan Magalhaes
1035Stacey V StensethBrazil2026-09-25Commercial Press NEGOTIATION99Xuxue Feng
1036Ricardo G FigeroaJapan2026-09-22Rangoni Of Florence NEW62Xuxue Feng
1037Octavia Y CaudySpain2026-09-26Commercial Press RENEWAL49Ivan Magalhaes
1038Izzy P KolmetzRussia2026-10-06Truhlar And Truhlar Attys PROPOSAL45Onyama Limba
1039Misaki L MacleadAustralia2026-10-13Printing Dimensions PROPOSAL81Xuxue Feng
1040Kaitlin M RutaArgentina2026-09-26Benton, John B Jr NEGOTIATION73Stephen Shaw
1041Stacey S OldroydGermany2026-10-01Rangoni Of Florence RENEWAL32Asiya Javayant
1042Chavez D RoysterAustralia2026-09-28Truhlar And Truhlar Attys NEW0Bernardo Dominic
1043Maria Q BologniaJapan2026-10-03King, Christopher A Esq RENEWAL83Ioni Bowcher
1044Izzy W CaudyJapan2026-10-21Commercial Press QUALIFIED47Elwin Sharvill
1045Antonio J BologniaCanada2026-10-09Feltz Printing Service RENEWAL45Ivan Magalhaes
1046Arvin G GarufiJapan2026-10-13King, Christopher A Esq QUALIFIED56Anna Fali
1047Tony H MorascaBrazil2026-09-27Dorl, James J Esq PROPOSAL49Ioni Bowcher
1048Jeanfrancois I RutaJapan2026-10-01Dorl, James J Esq QUALIFIED9Onyama Limba
1049Silvio B RutaArgentina2026-10-05Chapman, Ross E Esq RENEWAL69Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Nicolas T PoquetteBrazilIvan Magalhaes QUALIFIED
Morrow W GlickGermanyElwin Sharvill UNQUALIFIED
Ricardo Z NestleSpainAsiya Javayant QUALIFIED
Munro Z ShinkoCanadaAsiya Javayant PROPOSAL
Chavez G PerinBrazilIoni Bowcher NEW
Jones B WhobreyIndiaAmy Elsner NEGOTIATION
Chavez P FerenczItalyIvan Magalhaes PROPOSAL
Maria P FlosiItalyIvan Magalhaes UNQUALIFIED
Costa L OstroskyCanadaElwin Sharvill PROPOSAL
Murillo G RoysterFranceAnna Fali QUALIFIED
Mayumi J PaprockiIndiaStephen Shaw RENEWAL
Aditya I GauchoSpainAnna Fali PROPOSAL
Cody E IturbideIndiaIvan Magalhaes NEGOTIATION
Aditya Y WieserFranceStephen Shaw RENEWAL
Antonio D InouyeIndiaAmy Elsner RENEWAL
Clifford N MacleadJapanStephen Shaw NEW
Arvin M GauchoArgentinaElwin Sharvill QUALIFIED
Cody J FigeroaBrazilXuxue Feng PROPOSAL
Munro W GauchoArgentinaStephen Shaw UNQUALIFIED
Alejandro V PaprockiUnited KingdomStephen Shaw RENEWAL
Francesco T FollerAustraliaStephen Shaw NEGOTIATION
Jones Q KolmetzBrazilStephen Shaw UNQUALIFIED
Smith Z GillianFranceOnyama Limba QUALIFIED
Rodrigues E WhobreyIndiaOnyama Limba UNQUALIFIED
Silvio U SchemmerUnited KingdomXuxue Feng NEGOTIATION
Clifford W ShinkoGermanyOnyama Limba QUALIFIED
Mujtaba F GillianCanadaAsiya Javayant NEW
Stacey S KolmetzFranceOnyama Limba PROPOSAL
Smith A DarakjyFranceAmy Elsner NEGOTIATION
Julie X PoquetteCanadaIvan Magalhaes PROPOSAL
Jefferson G WaycottGermanyStephen Shaw NEW
Faith U NestleJapanIoni Bowcher UNQUALIFIED
Mujtaba U RoysterSpainStephen Shaw RENEWAL
Arvin X GauchoUnited KingdomIoni Bowcher RENEWAL
Alejandro A WhobreyRussiaIoni Bowcher PROPOSAL
Kaitlin M BowleyJapanAmy Elsner NEGOTIATION
Isabel I MorascaAustraliaIoni Bowcher UNQUALIFIED
Aika P WieserCanadaIoni Bowcher UNQUALIFIED
Smith G SchemmerUnited KingdomOnyama Limba RENEWAL
Murillo I BowleyRussiaElwin Sharvill RENEWAL
Aruna H AlbaresSpainAmy Elsner RENEWAL
Kadeem L RoysterBrazilAnna Fali NEGOTIATION
Nicolas N BologniaItalyStephen Shaw PROPOSAL
Murillo Z SaylorsAustraliaAmy Elsner NEGOTIATION
Jefferson M MorascaUnited KingdomAnna Fali RENEWAL
Jones F CampainCanadaElwin Sharvill UNQUALIFIED
Isabel G FollerGermanyBernardo Dominic QUALIFIED
Leja M FigeroaBrazilBernardo Dominic QUALIFIED
Costa X GillianAustraliaStephen Shaw PROPOSAL
Arvin M MorascaUnited KingdomStephen Shaw RENEWAL
Frozen Columns
Name
Juan E Kolmetz
Mujtaba P Bolognia
Costa L Caudy
Kaitlin T Darakjy
Alejandro A Bolognia
Cody M Darakjy
Chavez U Caudy
Claire T Shinko
Ricardo F Darakjy
David H Stenseth
Arvin D Briddick
Alejandro C Gaucho
Kaitlin T Poquette
Ashley H Ferencz
Jeanfrancois W Nicka
Antonio Y Morasca
Kaitlin D Shinko
Jefferson Q Nicka
Mayumi P Perin
Mayumi Z Poquette
Munro J Amigon
Julie V Ruta
Izzy I Marrier
Mayumi P Ferencz
Ivar G Bolognia
Emily H Iturbide
Darci H Inouye
Isabel Z Wieser
Emily D Malet
Nicolas Y Wieser
Aika F Sergi
Maria L Oldroyd
Leon L Briddick
Ashley G Amigon
Octavia P Nicka
Jeanfrancois X Gillian
David W Paprocki
Leja K Rulapaugh
Silvio V Gaucho
Salvatore Z Nicka
Salvatore O Ruta
Tony T Slusarski
Wickens F Inouye
Ashley W Amigon
Morrow H Ruta
Cody W Paprocki
Sinclair L Chui
Ricardo G Poquette
Darci D Schemmer
Isabel V Saylors
IdCountryDate
1000Germany2026-10-17
1001Germany2026-10-01
1002Germany2026-10-13
1003United Kingdom2026-10-13
1004India2026-09-29
1005Germany2026-10-15
1006Spain2026-10-13
1007Canada2026-09-29
1008Argentina2026-10-11
1009Spain2026-09-24
1010Brazil2026-10-02
1011Russia2026-10-12
1012Russia2026-10-03
1013Spain2026-10-15
1014Australia2026-10-11
1015India2026-09-28
1016Russia2026-09-27
1017France2026-10-13
1018Spain2026-10-10
1019Russia2026-10-20
1020India2026-10-14
1021United Kingdom2026-09-27
1022Canada2026-10-20
1023Italy2026-09-27
1024Russia2026-10-03
1025Russia2026-09-22
1026Japan2026-10-18
1027France2026-10-02
1028Japan2026-10-13
1029United Kingdom2026-09-29
1030India2026-10-10
1031France2026-10-19
1032Japan2026-10-05
1033Germany2026-10-17
1034Spain2026-10-03
1035Italy2026-10-18
1036Japan2026-09-23
1037Russia2026-10-11
1038Germany2026-10-12
1039Argentina2026-10-14
1040India2026-10-19
1041Canada2026-10-13
1042Spain2026-10-08
1043Brazil2026-09-25
1044Spain2026-09-23
1045Canada2026-09-25
1046Spain2026-09-25
1047Germany2026-10-20
1048France2026-09-30
1049United Kingdom2026-09-23

On-Demand Data

NameIdCountryDate
Cody L Kolmetz1000Russia2026-09-29
Jones G Garufi1001United Kingdom2026-09-23
Ricardo H Marrier1002Australia2026-10-16
Murillo L Garufi1003United Kingdom2026-10-09
Adams X Schemmer1004Canada2026-10-14
Jeanfrancois N Shinko1005Australia2026-10-18
David T Ostrosky1006United Kingdom2026-10-21
Julie G Royster1007Spain2026-10-03
Costa U Ferencz1008Russia2026-10-14
Jones N Vocelka1009Japan2026-10-12
Julie H Rim1010Russia2026-10-15
Mayumi Y Iturbide1011Canada2026-09-23
Julie I Marrier1012Germany2026-10-09
Greenwood P Nestle1013India2026-10-07
Francesco O Kusko1014Brazil2026-10-04
Leon D Figeroa1015Italy2026-09-28
Maisha L Vocelka1016India2026-09-25
Silvio I Malet1017Argentina2026-10-20
Chavez U Kolmetz1018Spain2026-09-27
Kaitlin U Oldroyd1019Italy2026-10-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro G WieserIndiaStephen Shaw QUALIFIED
Arvin S TollnerAustraliaStephen Shaw UNQUALIFIED
Salvatore C CaudyItalyIoni Bowcher NEW
Chavez Q RulapaughSpainIoni Bowcher QUALIFIED
Smith B ShinkoBrazilXuxue Feng NEGOTIATION
Morrow F SaylorsBrazilStephen Shaw UNQUALIFIED
Stacey O TollnerItalyAnna Fali UNQUALIFIED
Aruna X RulapaughAustraliaAsiya Javayant NEGOTIATION
Kaitlin O MaletArgentinaOnyama Limba UNQUALIFIED
Jones H IturbideAustraliaBernardo Dominic PROPOSAL
Jefferson V ShinkoAustraliaAnna Fali QUALIFIED
Kadeem X AlbaresJapanElwin Sharvill RENEWAL
Aruna W MacleadItalyOnyama Limba NEW
Jeanfrancois Q GlickBrazilAmy Elsner QUALIFIED
Nicolas G SaylorsItalyBernardo Dominic NEGOTIATION
Adams E PaprockiItalyStephen Shaw NEW
Faith K DarakjyCanadaElwin Sharvill NEGOTIATION
Jeanfrancois H KolmetzArgentinaElwin Sharvill NEW
Jones A BriddickBrazilXuxue Feng PROPOSAL
Aruna L RoysterSpainAmy Elsner PROPOSAL
Antonio J SaylorsGermanyIvan Magalhaes RENEWAL
Aika F AlbaresBrazilElwin Sharvill NEW
David P StockhamItalyIvan Magalhaes RENEWAL
Chavez O NickaFranceElwin Sharvill UNQUALIFIED
Greenwood E GauchoAustraliaAsiya Javayant NEW
Leja M MaletAustraliaIvan Magalhaes RENEWAL
Rodrigues D GlickIndiaElwin Sharvill NEW
Ricardo M WaycottIndiaBernardo Dominic NEGOTIATION
Misaki B VocelkaItalyAsiya Javayant UNQUALIFIED
David U SlusarskiItalyIoni Bowcher QUALIFIED
Maisha M TollnerItalyIoni Bowcher NEW
Izzy T WaycottUnited KingdomAnna Fali NEW
Mayumi R FigeroaBrazilAsiya Javayant NEW
Cody J PerinItalyElwin Sharvill UNQUALIFIED
James N SlusarskiJapanElwin Sharvill NEGOTIATION
Jefferson C NestleAustraliaIoni Bowcher UNQUALIFIED
Cody I OldroydCanadaStephen Shaw RENEWAL
Nicolas F DilliardAustraliaOnyama Limba RENEWAL
Aruna X GlickFranceXuxue Feng NEGOTIATION
Jefferson H TollnerFranceOnyama Limba 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>