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
David N StensethCanadaElwin Sharvill UNQUALIFIED
Smith C FlosiArgentinaOnyama Limba NEGOTIATION
Maisha Z SergiArgentinaElwin Sharvill QUALIFIED
Octavia R ButtIndiaAnna Fali QUALIFIED
Maria J PerinJapanXuxue Feng UNQUALIFIED
Kaitlin I VocelkaIndiaIvan Magalhaes UNQUALIFIED
Ivar F ShinkoItalyAmy Elsner RENEWAL
Jeanfrancois J FerenczFranceAmy Elsner RENEWAL
Wickens E VocelkaFranceAsiya Javayant QUALIFIED
Misaki G DilliardItalyXuxue Feng PROPOSAL
Claire I MaletRussiaAmy Elsner NEGOTIATION
Aditya D BologniaJapanOnyama Limba QUALIFIED
Kadeem M TollnerArgentinaAmy Elsner NEGOTIATION
Morrow N MaletArgentinaBernardo Dominic NEGOTIATION
Jennifer A GlickCanadaAmy Elsner UNQUALIFIED
Smith R NickaCanadaIoni Bowcher QUALIFIED
Maisha D MorascaBrazilElwin Sharvill NEGOTIATION
Izzy B DarakjyBrazilIoni Bowcher RENEWAL
Deepesh K FigeroaGermanyBernardo Dominic UNQUALIFIED
Aruna Z OstroskySpainOnyama Limba UNQUALIFIED
Morrow I ShinkoRussiaElwin Sharvill NEGOTIATION
Mayumi L GillianAustraliaAmy Elsner NEGOTIATION
Sinclair Y KolmetzAustraliaXuxue Feng UNQUALIFIED
Sinclair Z ButtArgentinaBernardo Dominic UNQUALIFIED
Wickens O BologniaGermanyAnna Fali NEGOTIATION
David J NickaUnited KingdomAmy Elsner NEW
Claire M StockhamRussiaIoni Bowcher UNQUALIFIED
Arvin H PerinRussiaXuxue Feng NEGOTIATION
Ivar T ShinkoFranceAnna Fali QUALIFIED
Munro U FerenczBrazilXuxue Feng UNQUALIFIED
Francesco J PerinJapanIoni Bowcher NEGOTIATION
Juan T NickaUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues E GlickArgentinaStephen Shaw NEGOTIATION
Stacey U KuskoAustraliaAnna Fali UNQUALIFIED
Costa K OstroskyIndiaXuxue Feng UNQUALIFIED
Misaki Y RutaGermanyAsiya Javayant UNQUALIFIED
Nicolas Y TollnerGermanyIoni Bowcher UNQUALIFIED
Cody H StockhamJapanElwin Sharvill UNQUALIFIED
Wickens R SaylorsItalyIoni Bowcher NEW
Leon C DarakjyJapanAsiya Javayant UNQUALIFIED
Aruna P GarufiJapanAsiya Javayant QUALIFIED
Claire S AlbaresFranceOnyama Limba UNQUALIFIED
Misaki B WhobreyFranceBernardo Dominic NEW
Smith F AmigonAustraliaIvan Magalhaes NEW
Jeanfrancois P InouyeSpainOnyama Limba NEW
Morrow I PoquetteSpainStephen Shaw NEGOTIATION
Octavia G MarrierArgentinaOnyama Limba PROPOSAL
Smith D CaldareraIndiaAnna Fali PROPOSAL
Aditya W AlbaresRussiaStephen Shaw NEGOTIATION
Claire G ChuiIndiaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin V DarakjyRussiaXuxue Feng NEW
Jones V PerinFranceBernardo Dominic PROPOSAL
Ashley C OldroydItalyXuxue Feng PROPOSAL
Aditya X NickaSpainIoni Bowcher NEGOTIATION
Rodrigues I VocelkaBrazilIvan Magalhaes NEGOTIATION
Maisha S ShinkoBrazilBernardo Dominic NEW
Aruna O BologniaBrazilBernardo Dominic PROPOSAL
James S PaprockiAustraliaOnyama Limba UNQUALIFIED
Tony V DilliardCanadaAmy Elsner NEW
Jones Z ChuiSpainAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues B MaletFrance2026-09-06Benton, John B Jr UNQUALIFIED0Amy Elsner
1001Jeanfrancois B DilliardArgentina2026-08-31Commercial Press PROPOSAL44Ioni Bowcher
1002Aditya U BriddickUnited Kingdom2026-08-23Commercial Press NEW86Ivan Magalhaes
1003Rodrigues G StockhamUnited Kingdom2026-09-04Feiner Bros QUALIFIED37Stephen Shaw
1004Aruna E GarufiGermany2026-09-03Dorl, James J Esq RENEWAL20Stephen Shaw
1005Jefferson B GauchoFrance2026-08-28Chapman, Ross E Esq NEW35Bernardo Dominic
1006Tony G StensethArgentina2026-08-28Rangoni Of Florence NEW10Asiya Javayant
1007Misaki Q WaycottIndia2026-09-13Chanay, Jeffrey A Esq UNQUALIFIED57Asiya Javayant
1008Silvio V RutaUnited Kingdom2026-09-17Buckley Miller Wright PROPOSAL61Anna Fali
1009Mayumi Z RutaArgentina2026-08-19Morlong Associates NEGOTIATION67Ivan Magalhaes
1010Nicolas T CaldareraUnited Kingdom2026-08-27Feiner Bros QUALIFIED64Elwin Sharvill
1011Ricardo G SlusarskiArgentina2026-09-13Benton, John B Jr PROPOSAL81Ivan Magalhaes
1012Cody Q BriddickUnited Kingdom2026-08-24Buckley Miller Wright NEGOTIATION23Ioni Bowcher
1013Ivar E PaprockiGermany2026-09-16Morlong Associates UNQUALIFIED75Xuxue Feng
1014Darci P GillianIndia2026-09-14Chemel, James L Cpa NEW14Asiya Javayant
1015Alejandro X SlusarskiJapan2026-09-17Benton, John B Jr PROPOSAL46Onyama Limba
1016Ricardo S CampainArgentina2026-08-27Morlong Associates RENEWAL83Bernardo Dominic
1017Julie Y OstroskyBrazil2026-08-19Chapman, Ross E Esq RENEWAL27Asiya Javayant
1018Kaitlin K DarakjyCanada2026-09-01Rousseaux, Michael Esq QUALIFIED14Elwin Sharvill
1019Faith P SaylorsItaly2026-08-25Benton, John B Jr PROPOSAL97Amy Elsner
1020Octavia B MaletCanada2026-09-13Chanay, Jeffrey A Esq NEGOTIATION97Amy Elsner
1021Cody A FollerGermany2026-08-26Rangoni Of Florence NEGOTIATION77Ivan Magalhaes
1022Faith J PerinItaly2026-09-01Rangoni Of Florence PROPOSAL91Bernardo Dominic
1023Costa J MaletFrance2026-09-10Morlong Associates QUALIFIED91Onyama Limba
1024Cody C CaldareraJapan2026-08-30Truhlar And Truhlar Attys RENEWAL84Stephen Shaw
1025David G WhobreyArgentina2026-09-02Rangoni Of Florence UNQUALIFIED89Amy Elsner
1026Francesco S InouyeRussia2026-09-10Dorl, James J Esq NEW89Xuxue Feng
1027Morrow R SlusarskiItaly2026-08-23Rousseaux, Michael Esq NEGOTIATION43Anna Fali
1028Murillo S CaudySpain2026-08-29Dorl, James J Esq UNQUALIFIED85Xuxue Feng
1029Wickens M RutaFrance2026-08-26Chanay, Jeffrey A Esq UNQUALIFIED40Xuxue Feng
1030Octavia M PoquetteJapan2026-09-17Printing Dimensions NEGOTIATION56Stephen Shaw
1031Adams O BowleySpain2026-09-10Chanay, Jeffrey A Esq UNQUALIFIED56Xuxue Feng
1032Deepesh Z PaprockiRussia2026-08-29King, Christopher A Esq NEGOTIATION77Anna Fali
1033Munro D CampainGermany2026-09-12Dorl, James J Esq RENEWAL81Asiya Javayant
1034Deepesh Z GarufiJapan2026-08-25King, Christopher A Esq QUALIFIED16Elwin Sharvill
1035Octavia Q SergiRussia2026-08-25Chemel, James L Cpa RENEWAL0Stephen Shaw
1036Jones J WhobreyIndia2026-09-01Dorl, James J Esq NEGOTIATION88Ioni Bowcher
1037Nicolas X MaletRussia2026-09-10Feiner Bros RENEWAL94Ioni Bowcher
1038Julie D FollerJapan2026-09-12Chapman, Ross E Esq QUALIFIED79Bernardo Dominic
1039Chavez I AlbaresAustralia2026-08-25Dorl, James J Esq QUALIFIED95Elwin Sharvill
1040Faith B DarakjyUnited Kingdom2026-09-16Commercial Press RENEWAL29Ioni Bowcher
1041Arvin A CaudyBrazil2026-08-31Morlong Associates UNQUALIFIED19Asiya Javayant
1042Aruna Q OstroskyAustralia2026-08-19Benton, John B Jr NEGOTIATION98Xuxue Feng
1043Stacey M SlusarskiJapan2026-08-23King, Christopher A Esq NEW91Onyama Limba
1044Costa P StensethIndia2026-08-30Chanay, Jeffrey A Esq QUALIFIED94Xuxue Feng
1045Silvio K FigeroaGermany2026-09-11Commercial Press QUALIFIED68Bernardo Dominic
1046Claire R GarufiGermany2026-09-04Feiner Bros UNQUALIFIED46Ioni Bowcher
1047Cody P DilliardIndia2026-08-24Morlong Associates PROPOSAL26Amy Elsner
1048Adams P GarufiCanada2026-09-08Commercial Press QUALIFIED81Anna Fali
1049Juan O KolmetzArgentina2026-09-12Chanay, Jeffrey A Esq PROPOSAL70Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Smith B MaletFranceOnyama Limba NEW
Izzy L OldroydFranceIvan Magalhaes NEGOTIATION
Arvin O InouyeSpainOnyama Limba PROPOSAL
Chavez O VenereRussiaAmy Elsner NEW
Kadeem E AmigonIndiaAmy Elsner NEW
Maria U NestleItalyIoni Bowcher QUALIFIED
Munro C OstroskyUnited KingdomBernardo Dominic NEW
Mujtaba L GarufiJapanIoni Bowcher NEGOTIATION
Maria E StockhamIndiaElwin Sharvill UNQUALIFIED
Jennifer F DilliardAustraliaElwin Sharvill QUALIFIED
Nicolas M RimArgentinaOnyama Limba RENEWAL
David V MorascaUnited KingdomBernardo Dominic NEW
Isabel N BowleyCanadaBernardo Dominic QUALIFIED
Aruna J StensethSpainElwin Sharvill NEGOTIATION
Maisha S BriddickBrazilIoni Bowcher RENEWAL
Morrow V MaletAustraliaXuxue Feng RENEWAL
Claire G RutaUnited KingdomIoni Bowcher NEW
Darci E CaudySpainAnna Fali QUALIFIED
Salvatore T ButtUnited KingdomIoni Bowcher PROPOSAL
Leon V DilliardGermanyXuxue Feng PROPOSAL
Salvatore A FerenczFranceElwin Sharvill UNQUALIFIED
Tony B MorascaAustraliaStephen Shaw QUALIFIED
Ivar C GarufiSpainBernardo Dominic QUALIFIED
Maria C WhobreySpainBernardo Dominic UNQUALIFIED
Wickens I ChuiCanadaAmy Elsner RENEWAL
Ricardo S DoeFranceIoni Bowcher NEW
Isabel G ChuiAustraliaXuxue Feng RENEWAL
Johnson V InouyeArgentinaBernardo Dominic NEW
Wickens Z MarrierAustraliaBernardo Dominic UNQUALIFIED
Smith B FollerBrazilAnna Fali RENEWAL
Leon V OldroydItalyIoni Bowcher UNQUALIFIED
Kaitlin N WaycottCanadaIvan Magalhaes UNQUALIFIED
Stacey M WaycottCanadaIoni Bowcher PROPOSAL
David A PerinIndiaIvan Magalhaes QUALIFIED
Arvin X TollnerRussiaAnna Fali RENEWAL
Munro H WaycottRussiaAsiya Javayant NEGOTIATION
Johnson F VocelkaArgentinaBernardo Dominic PROPOSAL
Maisha Q MaletAustraliaIvan Magalhaes RENEWAL
Costa P PaprockiSpainOnyama Limba NEW
Octavia J FerenczIndiaOnyama Limba NEW
Deepesh X DilliardItalyIvan Magalhaes QUALIFIED
Smith W IturbideItalyXuxue Feng QUALIFIED
Faith H PerinCanadaElwin Sharvill UNQUALIFIED
Claire Q WieserUnited KingdomElwin Sharvill QUALIFIED
Sinclair G IturbideJapanIoni Bowcher NEGOTIATION
Tony R DoeBrazilAsiya Javayant UNQUALIFIED
Juan P VenereUnited KingdomIoni Bowcher PROPOSAL
Sinclair V DarakjyBrazilIvan Magalhaes NEGOTIATION
Wickens T WieserItalyIoni Bowcher NEGOTIATION
Isabel Z PoquetteRussiaOnyama Limba RENEWAL
Frozen Columns
Name
Mujtaba I Slusarski
Darci A Schemmer
Alejandro O Slusarski
Leja Z Ruta
Julie N Slusarski
Wickens T Caudy
Mujtaba Y Albares
Jones Z Vocelka
Antonio E Royster
Rodrigues G Perin
Tony D Stenseth
David F Flosi
Ivar N Morasca
Kaitlin C Caldarera
Antonio F Glick
Aruna M Stenseth
Mayumi T Morasca
Jennifer Z Shinko
Aruna T Ruta
Juan N Marrier
Darci J Morasca
Smith X Schemmer
Maria X Malet
Sinclair G Venere
Izzy R Venere
James V Venere
Mayumi L Waycott
Stacey Z Ruta
Leja A Butt
Jefferson R Gillian
Nicolas V Maclead
Aditya K Dilliard
Juan I Whobrey
Costa J Slusarski
Jeanfrancois G Royster
Kaitlin K Flosi
Nicolas Q Briddick
Munro Z Vocelka
Kaitlin H Glick
Darci X Chui
Morrow K Gillian
Wickens N Paprocki
Ricardo W Gaucho
Claire Z Darakjy
Julie X Slusarski
Greenwood H Kolmetz
Rodrigues Q Inouye
Leon G Gillian
Smith D Garufi
Nicolas I Campain
IdCountryDate
1000Canada2026-09-01
1001India2026-09-12
1002Brazil2026-09-11
1003Spain2026-08-24
1004Brazil2026-08-29
1005Japan2026-08-31
1006Argentina2026-09-04
1007Brazil2026-08-27
1008Brazil2026-09-12
1009Germany2026-09-11
1010Australia2026-08-21
1011France2026-08-24
1012India2026-08-23
1013Canada2026-08-24
1014Japan2026-08-19
1015Brazil2026-09-02
1016France2026-09-16
1017France2026-09-07
1018Russia2026-09-10
1019Spain2026-08-24
1020Japan2026-08-25
1021France2026-09-06
1022Italy2026-09-12
1023Germany2026-08-30
1024Japan2026-09-06
1025Japan2026-09-07
1026United Kingdom2026-09-17
1027Argentina2026-08-27
1028Australia2026-09-09
1029United Kingdom2026-08-31
1030Brazil2026-08-23
1031Spain2026-09-14
1032United Kingdom2026-08-27
1033Brazil2026-08-30
1034Russia2026-09-13
1035Canada2026-09-08
1036Germany2026-09-01
1037Germany2026-09-12
1038France2026-08-20
1039India2026-09-07
1040Canada2026-09-10
1041Italy2026-08-25
1042Japan2026-08-25
1043France2026-08-31
1044Italy2026-09-05
1045Japan2026-09-06
1046Brazil2026-09-10
1047Japan2026-09-15
1048Russia2026-08-28
1049Canada2026-08-28

On-Demand Data

NameIdCountryDate
Stacey E Saylors1000United Kingdom2026-09-17
Aika J Stockham1001Australia2026-08-26
Claire R Darakjy1002Spain2026-08-31
Ashley I Whobrey1003Spain2026-08-22
Tony W Sergi1004Canada2026-08-26
James D Figeroa1005Spain2026-08-24
Nicolas G Maclead1006Brazil2026-08-27
Jones T Vocelka1007Russia2026-09-08
Costa S Bolognia1008Japan2026-08-24
Darci K Ruta1009United Kingdom2026-09-01
Clifford O Briddick1010Germany2026-09-14
Ivar G Nestle1011Japan2026-09-07
Clifford G Ostrosky1012France2026-09-03
Francesco U Figeroa1013Germany2026-09-02
Johnson Q Butt1014Japan2026-08-27
Maria U Paprocki1015Canada2026-08-31
Jones S Shinko1016Spain2026-09-06
Francesco Y Whobrey1017Germany2026-08-24
Costa K Amigon1018France2026-09-03
Smith Z Whobrey1019Japan2026-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens G ShinkoJapanIoni Bowcher NEGOTIATION
Johnson N FollerIndiaXuxue Feng QUALIFIED
Antonio J PaprockiAustraliaStephen Shaw RENEWAL
Jones S MaletAustraliaXuxue Feng UNQUALIFIED
Jefferson M MaletRussiaOnyama Limba QUALIFIED
Mayumi T GillianSpainIoni Bowcher UNQUALIFIED
Jefferson X IturbideRussiaIvan Magalhaes PROPOSAL
Greenwood K BologniaIndiaIoni Bowcher NEGOTIATION
Alejandro Y AmigonJapanAsiya Javayant UNQUALIFIED
Rodrigues T AlbaresIndiaStephen Shaw NEGOTIATION
Maisha P RimUnited KingdomStephen Shaw PROPOSAL
Jennifer S CaudyCanadaElwin Sharvill NEGOTIATION
Munro R FlosiRussiaAnna Fali PROPOSAL
Murillo T InouyeRussiaAsiya Javayant RENEWAL
James I BowleyIndiaAsiya Javayant RENEWAL
Arvin W MarrierUnited KingdomAmy Elsner RENEWAL
Juan J BologniaIndiaIvan Magalhaes UNQUALIFIED
Emily B FollerJapanXuxue Feng RENEWAL
Ricardo D DilliardItalyAnna Fali NEGOTIATION
Octavia J DarakjyBrazilAnna Fali NEW
Smith Z NickaFranceAnna Fali QUALIFIED
Leon B MaletJapanAsiya Javayant NEGOTIATION
Antonio N PaprockiFranceOnyama Limba NEW
Costa X MaletArgentinaElwin Sharvill NEW
Silvio U PaprockiUnited KingdomStephen Shaw RENEWAL
Stacey T DarakjyRussiaElwin Sharvill NEGOTIATION
Clifford C SchemmerBrazilElwin Sharvill QUALIFIED
Ricardo E InouyeCanadaElwin Sharvill PROPOSAL
Rodrigues X SergiArgentinaAsiya Javayant NEW
Stacey A KolmetzArgentinaAsiya Javayant QUALIFIED
Mayumi S TollnerItalyBernardo Dominic QUALIFIED
Cody J CaudyAustraliaAsiya Javayant UNQUALIFIED
Rodrigues S CampainGermanyAmy Elsner UNQUALIFIED
Isabel J MorascaFranceIoni Bowcher PROPOSAL
Jeanfrancois B ButtBrazilXuxue Feng NEW
Salvatore N GillianAustraliaAsiya Javayant QUALIFIED
Francesco P FigeroaJapanStephen Shaw RENEWAL
Chavez E CampainCanadaOnyama Limba RENEWAL
David M NickaSpainIvan Magalhaes RENEWAL
Jones O ButtUnited KingdomAnna Fali 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>