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
Arvin G GillianUnited KingdomStephen Shaw UNQUALIFIED
Salvatore G ShinkoArgentinaElwin Sharvill PROPOSAL
Mayumi N WaycottUnited KingdomIoni Bowcher PROPOSAL
Ricardo E RoysterIndiaIoni Bowcher PROPOSAL
Juan B IturbideSpainIoni Bowcher PROPOSAL
Misaki C MacleadRussiaXuxue Feng NEW
Claire B BriddickJapanAnna Fali UNQUALIFIED
Leja V TollnerBrazilOnyama Limba UNQUALIFIED
Jennifer G WaycottBrazilBernardo Dominic NEGOTIATION
Juan F AmigonSpainXuxue Feng NEW
Kadeem O ButtAustraliaElwin Sharvill PROPOSAL
Isabel R GauchoFranceStephen Shaw NEGOTIATION
Clifford E ChuiCanadaBernardo Dominic QUALIFIED
Wickens N SchemmerGermanyStephen Shaw UNQUALIFIED
Johnson V ButtArgentinaElwin Sharvill UNQUALIFIED
Mujtaba C NestleArgentinaXuxue Feng QUALIFIED
Ivar Y BriddickIndiaStephen Shaw RENEWAL
Francesco U WieserGermanyBernardo Dominic RENEWAL
Murillo V GarufiJapanAmy Elsner NEW
Salvatore H KuskoUnited KingdomIvan Magalhaes RENEWAL
Isabel T VocelkaIndiaOnyama Limba PROPOSAL
Darci T DarakjyJapanAnna Fali PROPOSAL
Morrow M WaycottSpainAnna Fali NEGOTIATION
Stacey X CampainAustraliaAmy Elsner UNQUALIFIED
Smith J BriddickItalyXuxue Feng NEW
Mujtaba F RutaAustraliaAnna Fali RENEWAL
Arvin O WieserAustraliaStephen Shaw UNQUALIFIED
Aruna T VenereUnited KingdomOnyama Limba NEW
Jennifer H GarufiIndiaIvan Magalhaes NEGOTIATION
Salvatore Q MarrierRussiaElwin Sharvill NEGOTIATION
Darci O ChuiUnited KingdomOnyama Limba QUALIFIED
Mayumi U IturbideUnited KingdomBernardo Dominic NEW
Francesco A GlickGermanyElwin Sharvill NEW
Tony J InouyeGermanyAmy Elsner QUALIFIED
Mayumi F WaycottUnited KingdomStephen Shaw PROPOSAL
Izzy V PerinBrazilIoni Bowcher RENEWAL
Aruna C InouyeRussiaXuxue Feng NEW
Faith W ChuiJapanAmy Elsner QUALIFIED
Alejandro V OldroydItalyAsiya Javayant NEW
Isabel M RoysterBrazilOnyama Limba NEGOTIATION
Costa S SchemmerCanadaIvan Magalhaes UNQUALIFIED
Maisha Y FlosiAustraliaIvan Magalhaes NEGOTIATION
Francesco L AmigonSpainAsiya Javayant QUALIFIED
Costa C FlosiUnited KingdomStephen Shaw PROPOSAL
Juan M IturbideGermanyAmy Elsner NEGOTIATION
Kaitlin D BowleyBrazilAsiya Javayant QUALIFIED
Silvio Z CaldareraItalyIvan Magalhaes NEW
Stacey P VocelkaJapanIoni Bowcher NEW
Deepesh W OstroskyBrazilAnna Fali UNQUALIFIED
Claire I DilliardSpainOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire S WhobreyGermanyAnna Fali NEGOTIATION
Julie U BologniaUnited KingdomXuxue Feng PROPOSAL
Jones G IturbideRussiaAsiya Javayant NEW
Costa N KolmetzRussiaOnyama Limba QUALIFIED
Aruna C FigeroaAustraliaAsiya Javayant RENEWAL
Julie H FerenczSpainElwin Sharvill UNQUALIFIED
Antonio D MacleadItalyAmy Elsner NEGOTIATION
Jones Q PoquetteArgentinaIoni Bowcher NEW
Faith I RulapaughRussiaIoni Bowcher PROPOSAL
Adams B RoysterJapanAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba W RutaIndia2026-08-31King, Christopher A Esq QUALIFIED86Anna Fali
1001Chavez W RoysterCanada2026-09-14Buckley Miller Wright NEW63Bernardo Dominic
1002Nicolas R GarufiFrance2026-09-02Printing Dimensions NEGOTIATION4Elwin Sharvill
1003Smith O IturbideCanada2026-09-10Feltz Printing Service RENEWAL94Asiya Javayant
1004Greenwood C GarufiSpain2026-08-31Morlong Associates QUALIFIED65Bernardo Dominic
1005Kaitlin H SlusarskiFrance2026-08-29Chapman, Ross E Esq QUALIFIED3Anna Fali
1006Clifford I RutaIndia2026-09-16Chanay, Jeffrey A Esq NEW6Bernardo Dominic
1007Kaitlin A SlusarskiJapan2026-09-08Feiner Bros QUALIFIED39Onyama Limba
1008Johnson V FigeroaBrazil2026-09-15Buckley Miller Wright NEGOTIATION27Asiya Javayant
1009Clifford K PerinJapan2026-08-30Commercial Press NEW39Onyama Limba
1010Chavez R ChuiUnited Kingdom2026-08-30Truhlar And Truhlar Attys NEGOTIATION75Ivan Magalhaes
1011Jeanfrancois R GlickSpain2026-09-11Rousseaux, Michael Esq NEW69Stephen Shaw
1012Aditya Y DarakjyFrance2026-08-24Morlong Associates UNQUALIFIED78Amy Elsner
1013James L FollerUnited Kingdom2026-09-12Truhlar And Truhlar Attys RENEWAL10Ioni Bowcher
1014Aika S BriddickJapan2026-08-24Buckley Miller Wright QUALIFIED93Stephen Shaw
1015Mayumi B WhobreyArgentina2026-08-26Rangoni Of Florence RENEWAL18Amy Elsner
1016Wickens X MarrierJapan2026-09-15Benton, John B Jr QUALIFIED88Bernardo Dominic
1017Deepesh B ChuiFrance2026-09-05Chemel, James L Cpa QUALIFIED79Anna Fali
1018Johnson Y StensethUnited Kingdom2026-09-20Chemel, James L Cpa RENEWAL89Onyama Limba
1019Wickens Z MaletBrazil2026-09-13Rangoni Of Florence QUALIFIED18Ivan Magalhaes
1020Kaitlin Z RutaRussia2026-08-24Morlong Associates NEW17Anna Fali
1021Faith D VenereRussia2026-08-30Morlong Associates PROPOSAL60Amy Elsner
1022Emily O SchemmerGermany2026-09-11Morlong Associates NEGOTIATION6Ivan Magalhaes
1023Leon Z KuskoCanada2026-09-13Feiner Bros PROPOSAL47Ioni Bowcher
1024Jennifer G SlusarskiAustralia2026-09-10Chemel, James L Cpa PROPOSAL20Anna Fali
1025Misaki S PerinArgentina2026-09-22Chapman, Ross E Esq NEGOTIATION35Ioni Bowcher
1026Mayumi B CaudyJapan2026-09-02Truhlar And Truhlar Attys NEW34Ioni Bowcher
1027Munro I DarakjyGermany2026-08-27Truhlar And Truhlar Attys UNQUALIFIED95Ioni Bowcher
1028Kaitlin Z KuskoItaly2026-09-05Rangoni Of Florence QUALIFIED80Bernardo Dominic
1029James Q GauchoCanada2026-09-20Chapman, Ross E Esq UNQUALIFIED79Elwin Sharvill
1030Emily V StockhamSpain2026-08-28Rousseaux, Michael Esq PROPOSAL49Ioni Bowcher
1031Leja P MorascaUnited Kingdom2026-09-04Rangoni Of Florence NEGOTIATION39Stephen Shaw
1032Isabel N OldroydAustralia2026-09-21Rangoni Of Florence QUALIFIED88Ivan Magalhaes
1033Silvio F GillianArgentina2026-09-16Chanay, Jeffrey A Esq PROPOSAL13Ivan Magalhaes
1034Isabel E SchemmerGermany2026-09-14Truhlar And Truhlar Attys RENEWAL89Asiya Javayant
1035Sinclair S PaprockiUnited Kingdom2026-09-17Chanay, Jeffrey A Esq NEW63Ivan Magalhaes
1036Morrow A TollnerItaly2026-08-26Chemel, James L Cpa PROPOSAL36Ivan Magalhaes
1037Aditya R FerenczFrance2026-09-16King, Christopher A Esq UNQUALIFIED79Stephen Shaw
1038Stacey F GillianUnited Kingdom2026-09-08Feltz Printing Service PROPOSAL8Bernardo Dominic
1039Murillo G GlickAustralia2026-09-04Rangoni Of Florence UNQUALIFIED7Anna Fali
1040Deepesh G SergiRussia2026-09-12Benton, John B Jr NEGOTIATION3Xuxue Feng
1041Francesco J OstroskyAustralia2026-09-08King, Christopher A Esq UNQUALIFIED76Onyama Limba
1042Ricardo W SchemmerUnited Kingdom2026-09-01Chapman, Ross E Esq PROPOSAL32Asiya Javayant
1043Mayumi Y InouyeUnited Kingdom2026-09-11Chemel, James L Cpa NEGOTIATION91Ivan Magalhaes
1044Greenwood Y SaylorsSpain2026-09-18Printing Dimensions PROPOSAL53Stephen Shaw
1045Juan T StockhamJapan2026-09-08Feiner Bros NEGOTIATION78Ioni Bowcher
1046Maria T TollnerItaly2026-09-21Chanay, Jeffrey A Esq PROPOSAL39Xuxue Feng
1047Octavia L CampainGermany2026-09-21Chemel, James L Cpa PROPOSAL55Onyama Limba
1048Cody B VenereGermany2026-08-30King, Christopher A Esq PROPOSAL97Elwin Sharvill
1049Morrow N DoeArgentina2026-08-29Rangoni Of Florence PROPOSAL94Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mayumi Y GarufiUnited KingdomAsiya Javayant UNQUALIFIED
Sinclair X FigeroaItalyXuxue Feng NEW
Leja Q PaprockiAustraliaAsiya Javayant RENEWAL
Greenwood E MarrierRussiaElwin Sharvill RENEWAL
Jones U GarufiRussiaBernardo Dominic PROPOSAL
Cody J GauchoIndiaIvan Magalhaes QUALIFIED
Silvio C GlickUnited KingdomIvan Magalhaes NEGOTIATION
Arvin O KuskoAustraliaElwin Sharvill RENEWAL
Jones D StockhamBrazilBernardo Dominic NEW
Aditya H CampainItalyStephen Shaw NEW
Stacey S RutaAustraliaXuxue Feng QUALIFIED
Smith H RulapaughItalyIoni Bowcher UNQUALIFIED
Emily Q MarrierItalyAsiya Javayant PROPOSAL
Kaitlin D MaletBrazilIoni Bowcher NEGOTIATION
Wickens A OstroskyGermanyAnna Fali UNQUALIFIED
Cody W FlosiFranceAmy Elsner PROPOSAL
Ricardo X FerenczRussiaIvan Magalhaes NEGOTIATION
Smith A SchemmerUnited KingdomAsiya Javayant QUALIFIED
Leon G DoeUnited KingdomIvan Magalhaes NEW
Leja S DarakjyArgentinaXuxue Feng PROPOSAL
Munro C RulapaughFranceOnyama Limba RENEWAL
Juan L StockhamCanadaBernardo Dominic QUALIFIED
Francesco D VocelkaGermanyIvan Magalhaes NEW
Jeanfrancois F PaprockiAustraliaIoni Bowcher PROPOSAL
Ashley J RutaItalyIvan Magalhaes PROPOSAL
Nicolas Y WieserRussiaIoni Bowcher UNQUALIFIED
Tony N AmigonIndiaStephen Shaw QUALIFIED
Munro Y AmigonAustraliaIvan Magalhaes NEW
Tony P VocelkaIndiaAnna Fali UNQUALIFIED
Adams G SaylorsItalyAmy Elsner PROPOSAL
Morrow I SchemmerGermanyElwin Sharvill UNQUALIFIED
Nicolas N DilliardBrazilAsiya Javayant PROPOSAL
Munro H InouyeRussiaAmy Elsner RENEWAL
Ivar B FigeroaAustraliaAsiya Javayant UNQUALIFIED
Clifford E CaldareraCanadaIoni Bowcher RENEWAL
Deepesh S AlbaresJapanAmy Elsner PROPOSAL
Maria J MaletCanadaElwin Sharvill UNQUALIFIED
Jefferson A BologniaItalyAsiya Javayant QUALIFIED
Aditya L SlusarskiItalyIvan Magalhaes NEW
Arvin J RutaBrazilAmy Elsner RENEWAL
Leon D MaletGermanyIvan Magalhaes RENEWAL
Mujtaba W GauchoCanadaIoni Bowcher NEW
Costa V BriddickSpainBernardo Dominic PROPOSAL
Misaki T GarufiRussiaAmy Elsner NEGOTIATION
Izzy K StensethBrazilAsiya Javayant NEW
Isabel E RulapaughCanadaOnyama Limba NEGOTIATION
Sinclair V AmigonAustraliaOnyama Limba NEW
Jeanfrancois H NickaGermanyAnna Fali QUALIFIED
Ricardo E BriddickJapanAsiya Javayant QUALIFIED
Wickens C TollnerItalyIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Stacey C Bolognia
Jefferson F Flosi
Ricardo Y Garufi
Wickens M Nicka
Nicolas L Schemmer
Silvio S Rim
Kadeem W Malet
Izzy I Ostrosky
Juan E Dilliard
Sinclair B Figeroa
Juan Q Albares
Jeanfrancois I Tollner
Deepesh V Albares
Jones K Glick
Alejandro K Stenseth
Ricardo B Rulapaugh
Nicolas G Sergi
Clifford O Shinko
James P Shinko
Wickens X Figeroa
Sinclair B Morasca
Misaki Q Albares
Faith A Venere
David M Nicka
Mujtaba P Butt
Isabel L Shinko
Salvatore F Bowley
Adams F Saylors
Morrow X Maclead
Octavia G Glick
Jones W Briddick
Maria W Slusarski
Alejandro C Ferencz
Isabel H Ferencz
Leja N Chui
Chavez H Malet
Kaitlin Q Whobrey
Ashley Z Kolmetz
David O Foller
Izzy R Albares
David E Wieser
Ashley Z Tollner
Leon G Nestle
Jennifer R Marrier
Maria R Darakjy
Francesco D Rim
Jennifer V Gillian
Clifford B Poquette
Murillo R Bowley
Leja G Malet
IdCountryDate
1000Argentina2026-09-13
1001Australia2026-09-17
1002Italy2026-09-10
1003Italy2026-09-16
1004Japan2026-09-10
1005Japan2026-08-24
1006Italy2026-09-18
1007Australia2026-09-01
1008Spain2026-09-04
1009France2026-08-31
1010Italy2026-09-17
1011Brazil2026-09-01
1012Italy2026-08-29
1013Canada2026-09-14
1014Japan2026-09-09
1015Argentina2026-08-24
1016Russia2026-09-22
1017France2026-09-18
1018Germany2026-09-06
1019Germany2026-08-30
1020United Kingdom2026-09-03
1021France2026-09-20
1022Canada2026-09-20
1023Canada2026-09-04
1024United Kingdom2026-09-16
1025France2026-09-22
1026Brazil2026-09-07
1027Argentina2026-09-02
1028Argentina2026-08-30
1029Australia2026-09-01
1030Spain2026-09-16
1031Argentina2026-09-06
1032Canada2026-08-28
1033United Kingdom2026-09-03
1034Spain2026-09-17
1035Germany2026-09-07
1036Germany2026-08-27
1037India2026-09-15
1038India2026-09-04
1039Japan2026-09-10
1040United Kingdom2026-09-07
1041Italy2026-08-26
1042France2026-08-24
1043Germany2026-09-03
1044Russia2026-09-19
1045Germany2026-09-08
1046Spain2026-08-26
1047Brazil2026-09-19
1048India2026-09-19
1049Australia2026-08-26

On-Demand Data

NameIdCountryDate
Julie I Sergi1000Japan2026-09-02
Leon A Caldarera1001Brazil2026-09-20
Juan D Gillian1002Japan2026-09-17
Chavez A Caudy1003India2026-09-08
Nicolas H Foller1004Argentina2026-09-21
Johnson E Perin1005Brazil2026-08-31
Ricardo T Schemmer1006France2026-09-02
Darci G Gillian1007Canada2026-09-17
Chavez J Oldroyd1008Australia2026-09-11
Clifford H Inouye1009France2026-09-14
Munro X Perin1010Australia2026-09-16
Johnson P Paprocki1011Japan2026-08-26
Kadeem S Chui1012Canada2026-09-02
Deepesh P Royster1013Japan2026-08-30
Ricardo T Ruta1014Russia2026-09-15
Stacey L Figeroa1015Spain2026-09-21
Sinclair Q Ruta1016Japan2026-09-18
Rodrigues O Dilliard1017Japan2026-09-13
Aika W Caudy1018Italy2026-09-22
Greenwood X Bowley1019India2026-09-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo I PerinArgentinaIoni Bowcher NEW
Mayumi C MaletArgentinaElwin Sharvill PROPOSAL
Maria C DarakjySpainXuxue Feng PROPOSAL
Claire I VenereBrazilElwin Sharvill NEGOTIATION
Morrow X DoeFranceAnna Fali NEW
Aditya H ShinkoCanadaAsiya Javayant NEW
Murillo H RoysterArgentinaOnyama Limba NEW
Clifford V BowleySpainXuxue Feng PROPOSAL
Johnson Z SlusarskiSpainIvan Magalhaes NEW
Mayumi Q PaprockiGermanyXuxue Feng QUALIFIED
Salvatore R WaycottUnited KingdomStephen Shaw RENEWAL
Jennifer G VocelkaSpainAmy Elsner RENEWAL
Jeanfrancois Z VenereRussiaXuxue Feng PROPOSAL
Kaitlin G RulapaughIndiaStephen Shaw PROPOSAL
Misaki S BriddickGermanyAnna Fali PROPOSAL
Isabel V IturbideAustraliaBernardo Dominic NEGOTIATION
Leja S SchemmerRussiaOnyama Limba NEGOTIATION
Clifford G ChuiArgentinaStephen Shaw NEGOTIATION
Mujtaba H CaudySpainElwin Sharvill QUALIFIED
Mayumi U FollerBrazilElwin Sharvill UNQUALIFIED
Isabel S SaylorsGermanyAsiya Javayant UNQUALIFIED
Julie G IturbideFranceIoni Bowcher NEW
Sinclair R GauchoCanadaAnna Fali RENEWAL
Octavia O VenereItalyStephen Shaw NEW
Jeanfrancois D WieserIndiaAmy Elsner RENEWAL
Aika J PaprockiArgentinaElwin Sharvill PROPOSAL
Greenwood O MacleadRussiaOnyama Limba RENEWAL
Rodrigues F WhobreyIndiaAmy Elsner UNQUALIFIED
Kaitlin N VenereSpainAsiya Javayant NEW
Salvatore S WaycottRussiaElwin Sharvill NEW
Jones H GlickGermanyStephen Shaw NEW
Darci Z MarrierJapanIoni Bowcher QUALIFIED
Adams V PerinItalyIvan Magalhaes NEGOTIATION
Ricardo X WieserBrazilBernardo Dominic NEGOTIATION
Jefferson B ButtRussiaElwin Sharvill NEGOTIATION
Munro H NickaAustraliaAmy Elsner QUALIFIED
David Q OstroskyIndiaAsiya Javayant QUALIFIED
Ashley S MaletUnited KingdomOnyama Limba NEGOTIATION
Ricardo G MaletRussiaXuxue Feng UNQUALIFIED
Mayumi F VenereUnited KingdomAnna Fali NEW

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