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
Julie E CampainUnited KingdomBernardo Dominic NEW
Juan T ChuiSpainBernardo Dominic QUALIFIED
Aruna G PoquetteAustraliaAnna Fali NEW
Johnson Q WhobreySpainIvan Magalhaes RENEWAL
Mayumi B DarakjyFranceElwin Sharvill QUALIFIED
Faith H TollnerAustraliaOnyama Limba NEGOTIATION
Jefferson F TollnerAustraliaAmy Elsner PROPOSAL
Darci L CaudySpainXuxue Feng RENEWAL
Clifford G NickaSpainAsiya Javayant PROPOSAL
Nicolas V BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Leon X RoysterCanadaElwin Sharvill UNQUALIFIED
Silvio R InouyeCanadaStephen Shaw RENEWAL
Smith V SlusarskiSpainAmy Elsner RENEWAL
Arvin E BriddickFranceIvan Magalhaes NEW
Julie B StockhamItalyBernardo Dominic UNQUALIFIED
Claire Q MaletRussiaAmy Elsner RENEWAL
Izzy N InouyeSpainElwin Sharvill UNQUALIFIED
Clifford U ChuiArgentinaIvan Magalhaes UNQUALIFIED
Antonio J CaudyArgentinaBernardo Dominic QUALIFIED
Mujtaba C MaletGermanyAnna Fali NEW
Deepesh Z IturbideRussiaAsiya Javayant RENEWAL
James K BologniaItalyElwin Sharvill PROPOSAL
Murillo J PaprockiUnited KingdomIoni Bowcher QUALIFIED
Izzy T IturbideUnited KingdomElwin Sharvill RENEWAL
Jones I PoquetteIndiaOnyama Limba NEW
Julie N CampainCanadaAsiya Javayant RENEWAL
Aika A MaletGermanyAsiya Javayant NEGOTIATION
Mujtaba V StensethFranceStephen Shaw PROPOSAL
Mujtaba L PaprockiCanadaIoni Bowcher NEW
Juan C CaldareraRussiaAsiya Javayant UNQUALIFIED
Greenwood T MaletUnited KingdomIoni Bowcher NEGOTIATION
Clifford X OldroydAustraliaAmy Elsner NEGOTIATION
Murillo L DarakjyCanadaElwin Sharvill NEGOTIATION
Wickens O FlosiBrazilOnyama Limba RENEWAL
Leja F GillianItalyBernardo Dominic PROPOSAL
Sinclair D KuskoArgentinaOnyama Limba UNQUALIFIED
Jones Q RoysterIndiaElwin Sharvill NEW
Morrow T FigeroaCanadaAnna Fali NEGOTIATION
Izzy X SchemmerCanadaElwin Sharvill NEGOTIATION
Chavez Z PoquetteRussiaAsiya Javayant QUALIFIED
Sinclair U OstroskyRussiaStephen Shaw NEW
Tony F PaprockiUnited KingdomBernardo Dominic RENEWAL
James U GillianGermanyAsiya Javayant RENEWAL
Mujtaba A BowleySpainOnyama Limba NEW
Greenwood R StensethJapanAsiya Javayant PROPOSAL
Salvatore G NickaCanadaStephen Shaw PROPOSAL
Octavia O GarufiArgentinaBernardo Dominic PROPOSAL
Misaki K MorascaCanadaStephen Shaw NEW
Salvatore B WhobreySpainIvan Magalhaes QUALIFIED
Arvin W NickaRussiaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody M TollnerBrazilStephen Shaw NEGOTIATION
Kadeem D AmigonBrazilIoni Bowcher QUALIFIED
Juan K OldroydGermanyXuxue Feng RENEWAL
Francesco J SaylorsSpainElwin Sharvill NEW
Aruna H WaycottUnited KingdomXuxue Feng NEGOTIATION
Adams Z ButtSpainIoni Bowcher UNQUALIFIED
Adams L ChuiIndiaAmy Elsner UNQUALIFIED
Maria K AmigonIndiaStephen Shaw PROPOSAL
Alejandro H MorascaBrazilOnyama Limba NEGOTIATION
Juan L BowleyAustraliaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois W KuskoIndia2026-09-29Feltz Printing Service QUALIFIED83Ivan Magalhaes
1001Faith Q FigeroaArgentina2026-09-19Chemel, James L Cpa RENEWAL36Xuxue Feng
1002Costa Z DoeJapan2026-09-15Morlong Associates UNQUALIFIED35Stephen Shaw
1003Leon F MorascaGermany2026-09-17Rangoni Of Florence RENEWAL8Bernardo Dominic
1004Octavia X ButtRussia2026-10-09Morlong Associates UNQUALIFIED29Bernardo Dominic
1005Leon F VenereJapan2026-09-28Chemel, James L Cpa NEW99Bernardo Dominic
1006Faith V MarrierCanada2026-09-30Chanay, Jeffrey A Esq PROPOSAL79Amy Elsner
1007Jones F ShinkoJapan2026-09-15Chemel, James L Cpa QUALIFIED53Stephen Shaw
1008Wickens F MaletAustralia2026-09-13Printing Dimensions UNQUALIFIED44Asiya Javayant
1009Ricardo Y VenereRussia2026-10-11Commercial Press UNQUALIFIED23Anna Fali
1010Rodrigues V SergiRussia2026-10-04Rangoni Of Florence RENEWAL23Bernardo Dominic
1011Ricardo X CaudyItaly2026-09-14Chemel, James L Cpa RENEWAL36Anna Fali
1012Alejandro G GlickCanada2026-10-08Truhlar And Truhlar Attys RENEWAL29Amy Elsner
1013Jennifer E PerinArgentina2026-10-08Rangoni Of Florence NEGOTIATION60Asiya Javayant
1014Deepesh Q RutaUnited Kingdom2026-10-05King, Christopher A Esq NEGOTIATION62Stephen Shaw
1015Faith B PerinAustralia2026-09-28Chanay, Jeffrey A Esq QUALIFIED69Bernardo Dominic
1016Ricardo A AmigonAustralia2026-09-20Rangoni Of Florence PROPOSAL2Onyama Limba
1017Costa Z MacleadRussia2026-09-30Printing Dimensions NEW83Onyama Limba
1018Octavia J PerinUnited Kingdom2026-09-16Chapman, Ross E Esq UNQUALIFIED42Anna Fali
1019Costa V KolmetzCanada2026-09-24Dorl, James J Esq RENEWAL95Ioni Bowcher
1020Clifford A CaldareraRussia2026-09-17Commercial Press QUALIFIED58Anna Fali
1021Claire G BowleyFrance2026-09-13Feltz Printing Service NEW26Xuxue Feng
1022Jones S RoysterArgentina2026-09-21Truhlar And Truhlar Attys PROPOSAL48Asiya Javayant
1023Darci C KolmetzFrance2026-09-19Buckley Miller Wright RENEWAL67Bernardo Dominic
1024Francesco W WhobreyAustralia2026-10-12Truhlar And Truhlar Attys NEW42Amy Elsner
1025Ivar I InouyeArgentina2026-09-24Chemel, James L Cpa UNQUALIFIED8Elwin Sharvill
1026Munro B PerinAustralia2026-10-07Dorl, James J Esq NEGOTIATION62Onyama Limba
1027Isabel T NickaUnited Kingdom2026-09-29Truhlar And Truhlar Attys QUALIFIED10Ioni Bowcher
1028Julie M KuskoArgentina2026-09-19Commercial Press UNQUALIFIED35Xuxue Feng
1029Arvin S ShinkoArgentina2026-10-11Feltz Printing Service NEGOTIATION90Xuxue Feng
1030Leon Q RutaBrazil2026-09-13Rangoni Of Florence UNQUALIFIED68Onyama Limba
1031Ricardo W GlickRussia2026-09-30Printing Dimensions QUALIFIED44Ioni Bowcher
1032Kadeem F SlusarskiJapan2026-09-27Chemel, James L Cpa RENEWAL55Ioni Bowcher
1033Maria N ButtAustralia2026-09-16Benton, John B Jr UNQUALIFIED18Onyama Limba
1034Stacey N GauchoCanada2026-09-17Buckley Miller Wright PROPOSAL30Xuxue Feng
1035Ricardo K MacleadFrance2026-09-24Chemel, James L Cpa RENEWAL37Asiya Javayant
1036Izzy A GarufiIndia2026-10-07Feiner Bros NEGOTIATION40Xuxue Feng
1037Leja U ShinkoGermany2026-09-24Chanay, Jeffrey A Esq UNQUALIFIED16Anna Fali
1038Morrow G NickaFrance2026-10-05Commercial Press NEW10Ivan Magalhaes
1039Jefferson E NestleItaly2026-10-09Printing Dimensions NEGOTIATION19Onyama Limba
1040Nicolas C AmigonFrance2026-10-04Buckley Miller Wright NEGOTIATION96Ioni Bowcher
1041Kaitlin Y AmigonRussia2026-09-14Feltz Printing Service RENEWAL96Xuxue Feng
1042David Z WieserUnited Kingdom2026-09-16Chanay, Jeffrey A Esq RENEWAL92Onyama Limba
1043Isabel H WhobreyBrazil2026-09-25Morlong Associates UNQUALIFIED36Anna Fali
1044Claire P StockhamItaly2026-09-23Printing Dimensions QUALIFIED8Bernardo Dominic
1045Claire V SlusarskiAustralia2026-10-07Truhlar And Truhlar Attys UNQUALIFIED89Ioni Bowcher
1046Ricardo I SaylorsAustralia2026-10-03Commercial Press QUALIFIED2Ioni Bowcher
1047Francesco G FerenczRussia2026-10-07Feltz Printing Service QUALIFIED92Bernardo Dominic
1048Octavia U KolmetzUnited Kingdom2026-10-01Rousseaux, Michael Esq PROPOSAL30Amy Elsner
1049Claire H CampainItaly2026-09-20Feltz Printing Service NEGOTIATION82Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Silvio V GlickJapanAsiya Javayant RENEWAL
Faith N WhobreyFranceAsiya Javayant PROPOSAL
Aika L NickaGermanyBernardo Dominic PROPOSAL
Mayumi E StockhamIndiaIvan Magalhaes RENEWAL
Claire D BriddickUnited KingdomAnna Fali NEGOTIATION
Kaitlin R RimArgentinaBernardo Dominic NEGOTIATION
Jennifer C FollerIndiaOnyama Limba UNQUALIFIED
David S MorascaBrazilAsiya Javayant QUALIFIED
Francesco H GlickSpainElwin Sharvill RENEWAL
Francesco E CaudySpainBernardo Dominic NEW
Octavia Z OstroskyCanadaAnna Fali QUALIFIED
Chavez L SlusarskiJapanStephen Shaw RENEWAL
Faith L IturbideBrazilAnna Fali UNQUALIFIED
Ricardo U MaletGermanyStephen Shaw NEW
Arvin F CampainIndiaElwin Sharvill UNQUALIFIED
Isabel C GillianRussiaStephen Shaw QUALIFIED
Darci J VenereFranceElwin Sharvill UNQUALIFIED
Misaki N TollnerSpainIvan Magalhaes UNQUALIFIED
Silvio E SlusarskiRussiaAsiya Javayant NEW
Darci L WhobreyCanadaOnyama Limba PROPOSAL
Deepesh R OldroydFranceAsiya Javayant NEW
Octavia F SaylorsGermanyIvan Magalhaes RENEWAL
James R KuskoSpainElwin Sharvill PROPOSAL
Antonio G PerinArgentinaIvan Magalhaes NEGOTIATION
Cody U ButtSpainIvan Magalhaes NEW
James E AmigonIndiaAmy Elsner UNQUALIFIED
Smith T WieserIndiaStephen Shaw UNQUALIFIED
Cody A IturbideRussiaElwin Sharvill RENEWAL
Arvin Z CaudyCanadaBernardo Dominic NEGOTIATION
David X AlbaresCanadaElwin Sharvill NEGOTIATION
Jefferson Q GillianJapanAsiya Javayant NEW
Sinclair G NickaCanadaBernardo Dominic NEGOTIATION
Clifford F WaycottFranceOnyama Limba PROPOSAL
Misaki I SergiGermanyIoni Bowcher NEGOTIATION
Faith O ShinkoIndiaIoni Bowcher RENEWAL
Clifford Q SchemmerJapanXuxue Feng PROPOSAL
Aika M GlickBrazilXuxue Feng NEGOTIATION
Murillo K SergiGermanyXuxue Feng QUALIFIED
Mayumi U CaldareraBrazilOnyama Limba UNQUALIFIED
Aika U RulapaughBrazilStephen Shaw PROPOSAL
Chavez Z SergiFranceIoni Bowcher UNQUALIFIED
Silvio D MacleadArgentinaXuxue Feng NEW
Jennifer J SlusarskiAustraliaIoni Bowcher NEGOTIATION
Emily A OstroskyArgentinaAsiya Javayant PROPOSAL
Wickens U RulapaughAustraliaOnyama Limba RENEWAL
Faith D InouyeArgentinaIvan Magalhaes PROPOSAL
David K OstroskyGermanyAsiya Javayant NEGOTIATION
Greenwood U InouyeGermanyElwin Sharvill RENEWAL
Antonio B WaycottSpainElwin Sharvill QUALIFIED
Chavez D StockhamSpainAmy Elsner QUALIFIED
Frozen Columns
Name
Rodrigues X Malet
Kaitlin M Butt
Jeanfrancois K Perin
Sinclair U Schemmer
Greenwood K Iturbide
Silvio B Poquette
Aruna J Royster
Leja T Caudy
Francesco I Ostrosky
Maisha T Sergi
Arvin R Nicka
Munro D Ostrosky
Isabel T Ruta
Adams B Amigon
Aditya M Rulapaugh
David D Rim
Arvin H Garufi
Deepesh H Vocelka
Alejandro G Nestle
Leon M Vocelka
Cody F Wieser
Arvin Z Albares
Chavez T Wieser
Juan U Nestle
Aika D Garufi
Mayumi E Gillian
Arvin W Sergi
Chavez F Schemmer
Ivar Y Oldroyd
Leja N Perin
Isabel N Iturbide
Wickens Q Figeroa
Jennifer S Rim
Arvin Y Flosi
Aruna O Whobrey
Ivar M Royster
Cody D Dilliard
Greenwood A Gaucho
Isabel I Stenseth
Smith K Chui
Jennifer B Slusarski
Kadeem D Iturbide
Aika L Waycott
Mayumi L Ferencz
Salvatore G Malet
Wickens E Bolognia
Izzy Q Schemmer
Faith X Inouye
Isabel T Butt
Alejandro N Bolognia
IdCountryDate
1000United Kingdom2026-09-20
1001Russia2026-10-01
1002France2026-09-17
1003Russia2026-10-04
1004Russia2026-09-29
1005United Kingdom2026-10-10
1006Canada2026-09-30
1007India2026-10-12
1008Brazil2026-10-08
1009Japan2026-09-22
1010India2026-10-07
1011France2026-09-30
1012Russia2026-10-06
1013India2026-09-25
1014Italy2026-10-08
1015United Kingdom2026-10-09
1016India2026-10-10
1017Brazil2026-09-29
1018Brazil2026-09-30
1019Japan2026-09-30
1020Canada2026-10-02
1021India2026-09-24
1022Russia2026-09-28
1023Brazil2026-09-17
1024India2026-10-09
1025India2026-09-29
1026Germany2026-09-19
1027Germany2026-09-23
1028Germany2026-09-26
1029France2026-09-23
1030India2026-09-18
1031Spain2026-10-10
1032Italy2026-09-18
1033Japan2026-09-27
1034Germany2026-09-21
1035India2026-10-01
1036United Kingdom2026-09-28
1037Spain2026-09-17
1038France2026-10-07
1039Spain2026-10-01
1040Argentina2026-10-03
1041France2026-09-14
1042Japan2026-09-27
1043United Kingdom2026-09-25
1044Russia2026-09-24
1045Brazil2026-10-09
1046Brazil2026-09-22
1047Argentina2026-09-21
1048United Kingdom2026-10-04
1049France2026-10-08

On-Demand Data

NameIdCountryDate
Mujtaba M Paprocki1000India2026-09-13
Juan B Nicka1001Germany2026-10-06
Chavez P Albares1002Australia2026-09-27
Tony G Paprocki1003Spain2026-10-01
Morrow O Venere1004Japan2026-09-29
Sinclair S Chui1005Argentina2026-10-03
Leja M Rulapaugh1006Russia2026-09-30
Morrow R Doe1007Russia2026-10-02
Aika M Ferencz1008France2026-09-26
Mayumi A Dilliard1009United Kingdom2026-09-21
Clifford K Gaucho1010United Kingdom2026-09-17
Morrow H Kolmetz1011Spain2026-10-02
Antonio E Maclead1012Argentina2026-09-30
Clifford Q Darakjy1013Italy2026-09-27
Antonio G Nicka1014Germany2026-10-10
Silvio U Darakjy1015Brazil2026-10-10
Darci F Waycott1016United Kingdom2026-10-11
Misaki X Vocelka1017Canada2026-10-08
Clifford Z Paprocki1018United Kingdom2026-10-06
Sinclair N Ruta1019Australia2026-09-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio K RoysterSpainIvan Magalhaes QUALIFIED
Faith G RulapaughArgentinaXuxue Feng NEW
Rodrigues K GarufiBrazilAmy Elsner NEGOTIATION
Jeanfrancois Y ChuiFranceAsiya Javayant NEGOTIATION
Kadeem N RutaFranceIvan Magalhaes NEW
Emily L BologniaAustraliaAnna Fali NEGOTIATION
Chavez T FlosiSpainAmy Elsner QUALIFIED
Rodrigues K GauchoJapanOnyama Limba PROPOSAL
Francesco M RimIndiaStephen Shaw PROPOSAL
Jeanfrancois Q MacleadUnited KingdomXuxue Feng NEW
Alejandro J NickaGermanyXuxue Feng PROPOSAL
Jennifer L BologniaFranceIvan Magalhaes RENEWAL
Aditya Z BologniaIndiaBernardo Dominic QUALIFIED
Deepesh M BriddickGermanyElwin Sharvill NEW
Stacey V BologniaJapanAnna Fali QUALIFIED
Faith B BowleyCanadaAsiya Javayant QUALIFIED
Salvatore V NickaArgentinaBernardo Dominic NEGOTIATION
Kadeem B IturbideCanadaOnyama Limba NEGOTIATION
Julie I FlosiFranceIvan Magalhaes NEGOTIATION
James E SlusarskiBrazilIvan Magalhaes NEGOTIATION
Murillo C DoeRussiaAnna Fali QUALIFIED
Jeanfrancois P BowleyUnited KingdomAnna Fali PROPOSAL
Jefferson B CaldareraJapanIoni Bowcher PROPOSAL
Jones O ButtBrazilIvan Magalhaes UNQUALIFIED
Stacey N TollnerFranceXuxue Feng QUALIFIED
Claire F FigeroaUnited KingdomXuxue Feng UNQUALIFIED
Emily Z KolmetzBrazilIvan Magalhaes PROPOSAL
Sinclair W ChuiItalyOnyama Limba UNQUALIFIED
Antonio G VenereJapanAsiya Javayant NEGOTIATION
Clifford T BologniaJapanStephen Shaw PROPOSAL
Silvio P CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Jefferson I SlusarskiJapanBernardo Dominic UNQUALIFIED
Kaitlin M MarrierFranceOnyama Limba UNQUALIFIED
Adams B MaletIndiaStephen Shaw NEGOTIATION
Chavez M TollnerCanadaXuxue Feng NEW
Maisha L ShinkoJapanBernardo Dominic RENEWAL
Morrow P GauchoIndiaAsiya Javayant NEW
David T BologniaSpainXuxue Feng RENEWAL
Cody F KuskoIndiaAnna Fali QUALIFIED
Faith E WieserUnited KingdomAsiya Javayant 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>