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
Johnson K InouyeItalyAsiya Javayant UNQUALIFIED
Ricardo Z AmigonBrazilOnyama Limba UNQUALIFIED
Stacey D SchemmerRussiaStephen Shaw UNQUALIFIED
Wickens P KolmetzFranceIoni Bowcher RENEWAL
Jones N RutaFranceIoni Bowcher QUALIFIED
Smith I BologniaJapanIoni Bowcher NEW
Kaitlin X FerenczItalyIvan Magalhaes NEGOTIATION
Johnson P RulapaughItalyIvan Magalhaes NEW
Adams H WhobreyAustraliaXuxue Feng UNQUALIFIED
Julie O SlusarskiCanadaIvan Magalhaes RENEWAL
Jeanfrancois H ShinkoBrazilIvan Magalhaes QUALIFIED
Wickens F PoquetteSpainAsiya Javayant PROPOSAL
Greenwood C IturbideBrazilOnyama Limba QUALIFIED
Arvin S MaletGermanyIoni Bowcher PROPOSAL
James U FlosiRussiaIvan Magalhaes UNQUALIFIED
Ivar Z GarufiFranceBernardo Dominic NEGOTIATION
Deepesh Y KuskoRussiaIoni Bowcher RENEWAL
Jennifer Z BriddickBrazilOnyama Limba NEW
James I VenereJapanAsiya Javayant NEGOTIATION
Costa L KuskoSpainAnna Fali NEW
Ashley V GarufiGermanyAsiya Javayant UNQUALIFIED
Darci R MaletFranceAmy Elsner NEGOTIATION
Leon D BologniaRussiaAnna Fali NEW
Salvatore K GarufiSpainBernardo Dominic RENEWAL
David X KolmetzJapanAnna Fali NEGOTIATION
Antonio X PerinRussiaXuxue Feng PROPOSAL
Izzy W BologniaUnited KingdomIvan Magalhaes RENEWAL
Alejandro I KuskoArgentinaElwin Sharvill UNQUALIFIED
Juan V DilliardFranceXuxue Feng RENEWAL
Emily C WieserJapanStephen Shaw UNQUALIFIED
Emily V GauchoBrazilAnna Fali QUALIFIED
Emily L StockhamBrazilBernardo Dominic QUALIFIED
Kaitlin K GlickItalyIoni Bowcher NEW
Kaitlin E OldroydCanadaIvan Magalhaes QUALIFIED
Kadeem S GauchoAustraliaIoni Bowcher RENEWAL
Adams U CampainGermanyBernardo Dominic NEGOTIATION
Maisha K GarufiCanadaIvan Magalhaes NEGOTIATION
Ashley B ButtRussiaStephen Shaw UNQUALIFIED
Isabel M WhobreyCanadaAsiya Javayant UNQUALIFIED
Maisha B DoeUnited KingdomStephen Shaw NEGOTIATION
Clifford U BriddickUnited KingdomBernardo Dominic NEGOTIATION
Claire N MacleadArgentinaIoni Bowcher PROPOSAL
Kaitlin K TollnerFranceElwin Sharvill NEGOTIATION
David T SaylorsUnited KingdomAsiya Javayant UNQUALIFIED
Deepesh X MaletUnited KingdomIvan Magalhaes NEW
Silvio A GlickUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin T MaletFranceStephen Shaw NEW
Johnson P SaylorsGermanyElwin Sharvill RENEWAL
Antonio U DoeAustraliaAnna Fali NEW
Salvatore O TollnerFranceIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
David R WhobreyIndiaAnna Fali NEW
Morrow Y GillianGermanyBernardo Dominic QUALIFIED
Antonio V BriddickUnited KingdomAmy Elsner PROPOSAL
Kadeem F IturbideAustraliaStephen Shaw NEGOTIATION
Faith Y CampainIndiaBernardo Dominic PROPOSAL
Sinclair T SlusarskiFranceIoni Bowcher QUALIFIED
Cody O NickaCanadaIoni Bowcher PROPOSAL
Jeanfrancois P RimBrazilOnyama Limba UNQUALIFIED
Maria Z TollnerUnited KingdomAmy Elsner QUALIFIED
Sinclair O SaylorsSpainAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair X ChuiRussia2026-09-13Rousseaux, Michael Esq RENEWAL78Ivan Magalhaes
1001Johnson A PerinItaly2026-09-11Feiner Bros QUALIFIED68Asiya Javayant
1002Jeanfrancois U BologniaItaly2026-08-30King, Christopher A Esq UNQUALIFIED44Elwin Sharvill
1003Sinclair A KuskoCanada2026-09-03Rangoni Of Florence UNQUALIFIED67Ioni Bowcher
1004Costa D NestleSpain2026-09-19Commercial Press NEGOTIATION66Bernardo Dominic
1005Juan M MacleadUnited Kingdom2026-08-27Feltz Printing Service PROPOSAL59Onyama Limba
1006Kaitlin Z RimIndia2026-09-14Benton, John B Jr UNQUALIFIED87Ioni Bowcher
1007Alejandro X PaprockiUnited Kingdom2026-08-24Printing Dimensions PROPOSAL42Ioni Bowcher
1008Deepesh Y DilliardAustralia2026-09-16Morlong Associates NEGOTIATION24Ivan Magalhaes
1009Misaki D DilliardGermany2026-08-26Truhlar And Truhlar Attys NEW0Ivan Magalhaes
1010Chavez K DilliardAustralia2026-09-01Chapman, Ross E Esq NEW17Onyama Limba
1011Misaki A ChuiFrance2026-09-10Morlong Associates RENEWAL9Asiya Javayant
1012Smith B RoysterAustralia2026-08-31Chapman, Ross E Esq UNQUALIFIED21Xuxue Feng
1013Octavia R FigeroaRussia2026-09-16Feltz Printing Service UNQUALIFIED12Stephen Shaw
1014Jones T SergiFrance2026-09-15Chemel, James L Cpa RENEWAL97Ivan Magalhaes
1015Greenwood E KolmetzAustralia2026-08-28Chanay, Jeffrey A Esq UNQUALIFIED37Elwin Sharvill
1016Misaki X CaudyUnited Kingdom2026-09-07Feiner Bros NEW28Asiya Javayant
1017Claire M BriddickAustralia2026-09-11King, Christopher A Esq NEW0Ivan Magalhaes
1018Kaitlin T SlusarskiCanada2026-08-26Buckley Miller Wright NEW13Elwin Sharvill
1019Smith W AmigonFrance2026-09-12Commercial Press UNQUALIFIED99Ivan Magalhaes
1020Sinclair T RulapaughUnited Kingdom2026-09-02Rangoni Of Florence PROPOSAL14Stephen Shaw
1021Maisha M ButtItaly2026-09-11Buckley Miller Wright UNQUALIFIED8Xuxue Feng
1022Francesco V FollerCanada2026-09-06Feiner Bros PROPOSAL38Asiya Javayant
1023Ashley Z DilliardFrance2026-09-19Truhlar And Truhlar Attys PROPOSAL17Onyama Limba
1024Claire B GauchoAustralia2026-09-11Rangoni Of Florence NEGOTIATION31Elwin Sharvill
1025Johnson H StensethArgentina2026-09-09Chanay, Jeffrey A Esq QUALIFIED6Anna Fali
1026Leja W RulapaughUnited Kingdom2026-08-29Dorl, James J Esq PROPOSAL80Bernardo Dominic
1027Clifford Z VocelkaFrance2026-08-29Chapman, Ross E Esq RENEWAL84Ioni Bowcher
1028Arvin Y SlusarskiRussia2026-09-04Dorl, James J Esq QUALIFIED31Xuxue Feng
1029Munro U SlusarskiArgentina2026-09-15Truhlar And Truhlar Attys RENEWAL75Asiya Javayant
1030Jennifer T FerenczSpain2026-08-24Printing Dimensions UNQUALIFIED46Onyama Limba
1031Arvin Y RulapaughGermany2026-09-11King, Christopher A Esq RENEWAL0Amy Elsner
1032Faith U WaycottFrance2026-08-30Morlong Associates UNQUALIFIED55Anna Fali
1033Wickens Q BologniaGermany2026-09-21Chemel, James L Cpa RENEWAL87Stephen Shaw
1034Johnson P CaudyRussia2026-09-19Buckley Miller Wright QUALIFIED32Xuxue Feng
1035Murillo P KolmetzFrance2026-09-05Feiner Bros PROPOSAL56Stephen Shaw
1036Jones B AmigonIndia2026-08-27Chanay, Jeffrey A Esq UNQUALIFIED77Ivan Magalhaes
1037Deepesh Z FigeroaUnited Kingdom2026-08-25Buckley Miller Wright NEW37Elwin Sharvill
1038Jefferson K FollerJapan2026-09-15Benton, John B Jr NEW55Asiya Javayant
1039Misaki I MarrierItaly2026-09-10Rousseaux, Michael Esq NEGOTIATION55Onyama Limba
1040Stacey U MarrierRussia2026-08-31Truhlar And Truhlar Attys NEGOTIATION35Xuxue Feng
1041Nicolas H ShinkoSpain2026-09-04Morlong Associates PROPOSAL25Onyama Limba
1042Kaitlin J ButtJapan2026-09-17Printing Dimensions UNQUALIFIED53Anna Fali
1043Clifford L ChuiCanada2026-08-28Chapman, Ross E Esq QUALIFIED91Stephen Shaw
1044Costa G WieserRussia2026-09-07Rangoni Of Florence NEW95Bernardo Dominic
1045Isabel I MorascaCanada2026-08-23Chemel, James L Cpa PROPOSAL70Onyama Limba
1046Izzy V KuskoArgentina2026-08-26Printing Dimensions UNQUALIFIED52Amy Elsner
1047Darci P IturbideGermany2026-09-17Rousseaux, Michael Esq PROPOSAL1Bernardo Dominic
1048Claire T NestleUnited Kingdom2026-08-30King, Christopher A Esq NEW29Bernardo Dominic
1049Rodrigues Z OldroydArgentina2026-09-09Feltz Printing Service RENEWAL37Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Izzy E DarakjyArgentinaAmy Elsner NEW
Kaitlin Q GlickFranceAnna Fali RENEWAL
Jones P CaldareraArgentinaIoni Bowcher NEW
Arvin C DilliardUnited KingdomAsiya Javayant NEGOTIATION
Adams Z BriddickItalyIvan Magalhaes QUALIFIED
Jefferson R TollnerArgentinaAsiya Javayant QUALIFIED
Kadeem K RimUnited KingdomElwin Sharvill RENEWAL
Tony A AlbaresArgentinaAmy Elsner NEW
Adams W ButtArgentinaAnna Fali QUALIFIED
Costa M CampainFranceAnna Fali RENEWAL
Ivar B MorascaCanadaXuxue Feng NEW
Mujtaba P PerinBrazilAnna Fali NEW
Chavez E CampainSpainElwin Sharvill NEW
Emily S GauchoRussiaElwin Sharvill NEW
Francesco T MarrierJapanStephen Shaw PROPOSAL
Wickens Y VocelkaUnited KingdomBernardo Dominic RENEWAL
Nicolas K CaudyRussiaXuxue Feng UNQUALIFIED
Aditya M OldroydSpainIvan Magalhaes NEW
Adams O BowleyArgentinaElwin Sharvill NEW
Alejandro B WhobreyJapanBernardo Dominic PROPOSAL
Sinclair P FigeroaSpainStephen Shaw QUALIFIED
Silvio Z DarakjyRussiaXuxue Feng NEGOTIATION
Greenwood T ChuiArgentinaAmy Elsner PROPOSAL
Wickens L GauchoCanadaAsiya Javayant PROPOSAL
Leon L NestleGermanyAnna Fali QUALIFIED
Aruna G AmigonCanadaStephen Shaw NEGOTIATION
Juan S KuskoBrazilBernardo Dominic QUALIFIED
Stacey H ShinkoCanadaAmy Elsner NEW
Jefferson S OstroskyFranceXuxue Feng NEGOTIATION
Misaki M IturbideItalyAsiya Javayant NEW
Mayumi C TollnerIndiaOnyama Limba PROPOSAL
Kaitlin T PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Smith H PerinRussiaAsiya Javayant NEGOTIATION
Ashley R CaldareraCanadaIvan Magalhaes QUALIFIED
Darci J VenereUnited KingdomXuxue Feng QUALIFIED
Octavia U CaldareraBrazilIvan Magalhaes NEW
Izzy S MarrierRussiaAmy Elsner UNQUALIFIED
Nicolas I FlosiArgentinaElwin Sharvill UNQUALIFIED
Antonio V CampainUnited KingdomOnyama Limba QUALIFIED
Leon K KolmetzGermanyBernardo Dominic NEW
Jennifer P GlickSpainElwin Sharvill PROPOSAL
Jeanfrancois X CaudyItalyIvan Magalhaes QUALIFIED
Stacey I CampainGermanyXuxue Feng RENEWAL
Mayumi G MaletJapanIvan Magalhaes PROPOSAL
Morrow D MaletGermanyStephen Shaw UNQUALIFIED
Octavia G NestleSpainIoni Bowcher NEW
Kaitlin P StockhamAustraliaAsiya Javayant QUALIFIED
Salvatore G MorascaSpainAmy Elsner RENEWAL
Faith N TollnerIndiaIoni Bowcher UNQUALIFIED
Smith C RulapaughSpainAnna Fali RENEWAL
Frozen Columns
Name
Munro F Amigon
Salvatore F Oldroyd
Claire K Stockham
Smith A Wieser
Claire G Venere
Morrow H Butt
Kadeem F Marrier
Jeanfrancois U Malet
Darci H Malet
Rodrigues N Gaucho
Misaki R Slusarski
Wickens L Schemmer
Salvatore U Sergi
Darci C Ruta
Morrow E Bowley
Morrow N Bowley
Deepesh J Gillian
Leon F Oldroyd
Leon K Inouye
Aruna O Inouye
Morrow X Maclead
Salvatore W Rim
Aruna Q Iturbide
James G Kolmetz
Isabel F Rim
Sinclair W Rim
Murillo V Paprocki
Salvatore C Gaucho
Silvio Y Briddick
Kaitlin V Maclead
Aika T Gillian
Silvio W Stockham
Alejandro Y Kusko
Murillo I Paprocki
Jeanfrancois M Inouye
Salvatore Z Foller
Aika B Venere
Johnson K Briddick
Julie S Shinko
Deepesh K Perin
Sinclair J Slusarski
Arvin S Saylors
Misaki B Rim
Rodrigues V Caudy
Murillo Y Glick
Sinclair V Amigon
Munro D Maclead
Rodrigues F Marrier
Jennifer T Malet
Sinclair D Kusko
IdCountryDate
1000India2026-08-24
1001Australia2026-09-16
1002United Kingdom2026-09-19
1003France2026-08-23
1004Brazil2026-09-12
1005United Kingdom2026-08-29
1006Australia2026-09-08
1007Japan2026-08-26
1008Italy2026-09-19
1009France2026-08-26
1010Brazil2026-09-06
1011Japan2026-08-28
1012Russia2026-09-21
1013India2026-09-14
1014Russia2026-08-30
1015Argentina2026-09-13
1016Australia2026-09-01
1017France2026-09-01
1018Brazil2026-09-11
1019Australia2026-09-20
1020Russia2026-08-26
1021Italy2026-08-31
1022Australia2026-09-01
1023Canada2026-09-02
1024Australia2026-09-03
1025Italy2026-09-12
1026India2026-09-13
1027Russia2026-09-07
1028Australia2026-09-03
1029Argentina2026-09-18
1030Japan2026-09-20
1031Brazil2026-09-13
1032France2026-09-13
1033Canada2026-09-06
1034France2026-08-26
1035Canada2026-09-06
1036Australia2026-09-02
1037Australia2026-09-02
1038Australia2026-09-04
1039Brazil2026-09-08
1040Italy2026-08-29
1041Russia2026-09-10
1042Italy2026-09-17
1043United Kingdom2026-09-15
1044United Kingdom2026-09-08
1045Spain2026-08-24
1046Japan2026-09-17
1047Russia2026-09-03
1048France2026-09-08
1049Brazil2026-08-25

On-Demand Data

NameIdCountryDate
Cody E Foller1000United Kingdom2026-09-05
Misaki L Ferencz1001Canada2026-09-21
David U Bolognia1002India2026-09-20
Johnson V Vocelka1003India2026-09-20
Aditya O Kolmetz1004Canada2026-09-02
Mujtaba H Dilliard1005Canada2026-08-28
Adams O Caldarera1006United Kingdom2026-09-03
Faith P Ostrosky1007Italy2026-09-07
Nicolas I Marrier1008Russia2026-09-10
Clifford H Bolognia1009Italy2026-08-23
Sinclair O Perin1010Japan2026-09-15
Murillo U Rulapaugh1011Australia2026-09-03
Munro N Figeroa1012India2026-09-09
James G Nestle1013Japan2026-09-21
Arvin A Bolognia1014Brazil2026-09-12
Costa O Glick1015Argentina2026-08-23
James K Gaucho1016Japan2026-09-18
Francesco B Poquette1017Italy2026-09-14
Octavia J Campain1018Spain2026-09-01
Darci B Marrier1019Spain2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba U GlickJapanStephen Shaw UNQUALIFIED
Maisha A FlosiGermanyBernardo Dominic UNQUALIFIED
Greenwood S DarakjyBrazilStephen Shaw NEGOTIATION
Aruna K WhobreyArgentinaElwin Sharvill NEW
Julie C ChuiAustraliaElwin Sharvill PROPOSAL
Tony C WaycottAustraliaAsiya Javayant NEW
Jones U PaprockiCanadaAmy Elsner QUALIFIED
Emily N MaletFranceIvan Magalhaes NEW
Smith S AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Costa H BowleyGermanyOnyama Limba PROPOSAL
Adams H MaletCanadaElwin Sharvill RENEWAL
Izzy X PaprockiJapanOnyama Limba UNQUALIFIED
Izzy Z WhobreyArgentinaStephen Shaw QUALIFIED
Darci B WhobreyRussiaElwin Sharvill NEGOTIATION
Costa O WaycottArgentinaAmy Elsner QUALIFIED
Ivar X RimIndiaAnna Fali QUALIFIED
Greenwood S MaletIndiaXuxue Feng NEGOTIATION
Maria Y MaletSpainElwin Sharvill RENEWAL
Kadeem J BowleyRussiaAmy Elsner NEW
Greenwood W ChuiGermanyBernardo Dominic PROPOSAL
Nicolas V NestleGermanyElwin Sharvill NEGOTIATION
Maria B SaylorsArgentinaOnyama Limba NEGOTIATION
Munro S DilliardAustraliaAmy Elsner NEW
Francesco I ButtJapanAsiya Javayant NEW
Alejandro H GarufiSpainIoni Bowcher NEW
Aditya Z PerinRussiaAmy Elsner RENEWAL
Nicolas Y BowleyItalyBernardo Dominic QUALIFIED
Tony N MaletFranceElwin Sharvill PROPOSAL
Cody V InouyeAustraliaIoni Bowcher NEW
Darci A OldroydCanadaAsiya Javayant PROPOSAL
Francesco X RimIndiaOnyama Limba UNQUALIFIED
Misaki W KuskoSpainXuxue Feng PROPOSAL
Ricardo D GarufiUnited KingdomElwin Sharvill NEGOTIATION
Julie A BologniaJapanAsiya Javayant QUALIFIED
Maria E FlosiGermanyAsiya Javayant RENEWAL
Silvio U RulapaughIndiaElwin Sharvill PROPOSAL
Claire W KolmetzCanadaOnyama Limba UNQUALIFIED
Alejandro M KuskoFranceAmy Elsner UNQUALIFIED
Kaitlin E FollerIndiaAnna Fali UNQUALIFIED
Ricardo I RutaFranceOnyama Limba RENEWAL

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