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 K PerinBrazilAmy Elsner NEGOTIATION
Kadeem R InouyeItalyElwin Sharvill QUALIFIED
Misaki B AmigonRussiaStephen Shaw QUALIFIED
David Q FerenczUnited KingdomAsiya Javayant RENEWAL
Maisha B DoeSpainBernardo Dominic QUALIFIED
Johnson M BologniaBrazilXuxue Feng RENEWAL
Darci C DilliardFranceBernardo Dominic RENEWAL
Adams V CampainBrazilIvan Magalhaes NEW
Murillo K ShinkoFranceIvan Magalhaes NEGOTIATION
Leon O RoysterJapanIoni Bowcher RENEWAL
Jefferson F FlosiIndiaXuxue Feng NEGOTIATION
Darci B DarakjyGermanyAmy Elsner QUALIFIED
Arvin P WhobreyIndiaStephen Shaw RENEWAL
David W PoquetteUnited KingdomStephen Shaw QUALIFIED
Stacey N OldroydGermanyOnyama Limba NEGOTIATION
Nicolas D RutaItalyIvan Magalhaes RENEWAL
Salvatore E RulapaughRussiaAnna Fali PROPOSAL
Octavia X SchemmerUnited KingdomElwin Sharvill NEW
Alejandro B DarakjyCanadaXuxue Feng UNQUALIFIED
Rodrigues V TollnerAustraliaIoni Bowcher NEGOTIATION
Ivar X CaudyBrazilAnna Fali RENEWAL
Cody S SergiJapanAmy Elsner NEW
Octavia M StockhamAustraliaElwin Sharvill NEW
Izzy P KuskoIndiaAmy Elsner RENEWAL
Smith Q PerinRussiaXuxue Feng RENEWAL
Cody Z SlusarskiCanadaAnna Fali RENEWAL
Jones J RoysterJapanAmy Elsner UNQUALIFIED
Juan Y WhobreyUnited KingdomAmy Elsner NEW
Kadeem N MacleadSpainOnyama Limba PROPOSAL
Salvatore R WaycottBrazilBernardo Dominic QUALIFIED
Izzy Z MaletIndiaAnna Fali UNQUALIFIED
Salvatore K FerenczCanadaIoni Bowcher UNQUALIFIED
Murillo N AlbaresCanadaIoni Bowcher UNQUALIFIED
Arvin F AlbaresCanadaIoni Bowcher UNQUALIFIED
Mayumi U ButtArgentinaAnna Fali QUALIFIED
Cody X KolmetzRussiaBernardo Dominic UNQUALIFIED
Cody X BriddickBrazilOnyama Limba RENEWAL
Kadeem N PoquetteBrazilXuxue Feng RENEWAL
Ivar K NestleUnited KingdomElwin Sharvill PROPOSAL
Sinclair H WaycottGermanyOnyama Limba QUALIFIED
Juan R SlusarskiJapanElwin Sharvill NEW
Leja O MaletIndiaStephen Shaw NEW
Misaki F SlusarskiArgentinaStephen Shaw NEGOTIATION
Costa A RimFranceXuxue Feng QUALIFIED
Nicolas P WieserSpainOnyama Limba UNQUALIFIED
Ashley W BologniaJapanAsiya Javayant QUALIFIED
Misaki P MacleadItalyIvan Magalhaes QUALIFIED
Stacey I CaudyCanadaElwin Sharvill NEGOTIATION
Greenwood J GauchoGermanyOnyama Limba QUALIFIED
Adams U NickaItalyAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Nicolas V CaudyFranceIoni Bowcher UNQUALIFIED
Cody U GarufiItalyIoni Bowcher RENEWAL
Ivar S BologniaGermanyElwin Sharvill QUALIFIED
Tony R SaylorsRussiaOnyama Limba NEW
Kaitlin H ChuiAustraliaXuxue Feng PROPOSAL
Francesco B CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba A InouyeArgentinaStephen Shaw RENEWAL
Tony P ButtBrazilBernardo Dominic UNQUALIFIED
Silvio T FerenczItalyAnna Fali QUALIFIED
Mujtaba T AlbaresCanadaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio S WhobreyBrazil2026-10-14Feiner Bros NEW54Ioni Bowcher
1001Emily O TollnerAustralia2026-10-27Dorl, James J Esq UNQUALIFIED30Asiya Javayant
1002Julie B KolmetzFrance2026-10-17Rangoni Of Florence NEW74Asiya Javayant
1003Chavez T AmigonRussia2026-10-16Truhlar And Truhlar Attys RENEWAL8Onyama Limba
1004Darci Z OldroydBrazil2026-10-11Benton, John B Jr NEW76Xuxue Feng
1005Salvatore W DoeGermany2026-10-08Printing Dimensions QUALIFIED43Ivan Magalhaes
1006Jefferson J ChuiArgentina2026-10-12Rousseaux, Michael Esq PROPOSAL16Ivan Magalhaes
1007Ricardo W WaycottBrazil2026-10-03Chanay, Jeffrey A Esq RENEWAL25Onyama Limba
1008Claire C BowleyBrazil2026-10-03Rousseaux, Michael Esq PROPOSAL57Stephen Shaw
1009Aika P RutaGermany2026-10-08Printing Dimensions RENEWAL42Onyama Limba
1010Jefferson D NickaCanada2026-10-25Rangoni Of Florence QUALIFIED81Anna Fali
1011Murillo C MaletSpain2026-10-27Chapman, Ross E Esq NEW32Bernardo Dominic
1012Jeanfrancois D MorascaSpain2026-10-26Buckley Miller Wright QUALIFIED2Elwin Sharvill
1013Emily I PaprockiArgentina2026-10-16Buckley Miller Wright RENEWAL50Amy Elsner
1014Mayumi J FigeroaRussia2026-10-14Feiner Bros QUALIFIED94Bernardo Dominic
1015Aruna Y OldroydItaly2026-10-18Chemel, James L Cpa QUALIFIED77Bernardo Dominic
1016Aika G InouyeJapan2026-10-03Buckley Miller Wright QUALIFIED1Ioni Bowcher
1017Jeanfrancois M FlosiUnited Kingdom2026-10-11Feiner Bros NEGOTIATION71Anna Fali
1018Mayumi M OstroskyGermany2026-10-25Dorl, James J Esq QUALIFIED65Stephen Shaw
1019Silvio G DarakjyFrance2026-10-06Rousseaux, Michael Esq QUALIFIED34Anna Fali
1020Misaki U KuskoItaly2026-10-05Morlong Associates QUALIFIED65Bernardo Dominic
1021Aika T BologniaItaly2026-10-27Dorl, James J Esq RENEWAL11Amy Elsner
1022Nicolas T SergiCanada2026-10-17Truhlar And Truhlar Attys QUALIFIED34Stephen Shaw
1023Johnson E SergiCanada2026-10-19Rousseaux, Michael Esq NEGOTIATION4Bernardo Dominic
1024Jones T ButtUnited Kingdom2026-10-11Truhlar And Truhlar Attys PROPOSAL80Stephen Shaw
1025Francesco A WieserFrance2026-10-28Rangoni Of Florence QUALIFIED67Ivan Magalhaes
1026Ricardo T InouyeFrance2026-10-03Rousseaux, Michael Esq NEW24Anna Fali
1027Jennifer V CaldareraJapan2026-10-06Benton, John B Jr UNQUALIFIED96Asiya Javayant
1028Adams I SaylorsJapan2026-10-19Chanay, Jeffrey A Esq RENEWAL0Stephen Shaw
1029Juan D DoeItaly2026-10-05Benton, John B Jr QUALIFIED99Amy Elsner
1030Maria V CaldareraItaly2026-10-31Chanay, Jeffrey A Esq QUALIFIED57Amy Elsner
1031Alejandro J BriddickItaly2026-10-19Morlong Associates QUALIFIED65Ioni Bowcher
1032Faith R SlusarskiAustralia2026-10-15Dorl, James J Esq NEGOTIATION52Amy Elsner
1033David U MaletGermany2026-10-14Feiner Bros PROPOSAL35Stephen Shaw
1034Murillo S BowleyBrazil2026-10-12Rousseaux, Michael Esq PROPOSAL45Onyama Limba
1035James I PerinFrance2026-10-12Buckley Miller Wright NEW27Elwin Sharvill
1036Smith V PerinBrazil2026-10-10Benton, John B Jr RENEWAL3Elwin Sharvill
1037Wickens I AlbaresArgentina2026-10-15Commercial Press NEW33Xuxue Feng
1038Alejandro T MaletUnited Kingdom2026-10-21Rangoni Of Florence UNQUALIFIED75Stephen Shaw
1039Jones Z BologniaAustralia2026-10-22Buckley Miller Wright NEW42Xuxue Feng
1040Morrow J GlickGermany2026-10-13King, Christopher A Esq PROPOSAL68Elwin Sharvill
1041Murillo M RulapaughIndia2026-10-23King, Christopher A Esq PROPOSAL88Xuxue Feng
1042Ashley Y FlosiUnited Kingdom2026-10-21Dorl, James J Esq NEW67Onyama Limba
1043Deepesh R VenereItaly2026-10-30Feltz Printing Service NEGOTIATION35Ioni Bowcher
1044Salvatore H DilliardJapan2026-10-24Morlong Associates UNQUALIFIED51Ivan Magalhaes
1045Greenwood M FerenczUnited Kingdom2026-10-30Benton, John B Jr NEGOTIATION34Stephen Shaw
1046Chavez O CampainUnited Kingdom2026-10-09Chemel, James L Cpa NEGOTIATION93Amy Elsner
1047Aruna G KolmetzIndia2026-10-26Morlong Associates QUALIFIED8Stephen Shaw
1048Darci U SergiBrazil2026-10-29Morlong Associates NEGOTIATION89Elwin Sharvill
1049Mayumi X FerenczBrazil2026-10-25Benton, John B Jr UNQUALIFIED55Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Julie J CampainIndiaElwin Sharvill NEW
Emily S MaletBrazilAmy Elsner PROPOSAL
Alejandro R RutaIndiaAsiya Javayant UNQUALIFIED
Stacey Y IturbideGermanyXuxue Feng RENEWAL
Costa F IturbideIndiaElwin Sharvill QUALIFIED
Isabel X GarufiSpainBernardo Dominic RENEWAL
Ivar W MacleadFranceStephen Shaw PROPOSAL
Chavez F CaudyAustraliaXuxue Feng UNQUALIFIED
Johnson P DarakjyRussiaOnyama Limba RENEWAL
Salvatore Y CampainUnited KingdomBernardo Dominic UNQUALIFIED
Leon L DoeAustraliaIvan Magalhaes UNQUALIFIED
Wickens Y DoeFranceBernardo Dominic QUALIFIED
Misaki I WieserJapanOnyama Limba QUALIFIED
Smith H ChuiRussiaBernardo Dominic NEW
Deepesh B SergiUnited KingdomAmy Elsner PROPOSAL
Aditya N FlosiAustraliaIvan Magalhaes QUALIFIED
Cody B GillianUnited KingdomStephen Shaw RENEWAL
Mayumi F MaletFranceBernardo Dominic UNQUALIFIED
Mayumi W PoquetteUnited KingdomIoni Bowcher UNQUALIFIED
Ivar F InouyeGermanyStephen Shaw NEGOTIATION
Greenwood B DarakjyGermanyIoni Bowcher NEGOTIATION
Ivar R AlbaresAustraliaAmy Elsner NEGOTIATION
Jefferson N FerenczSpainXuxue Feng NEW
Smith Z GlickFranceStephen Shaw UNQUALIFIED
Alejandro K WhobreyRussiaIoni Bowcher UNQUALIFIED
Jones H DarakjyCanadaXuxue Feng QUALIFIED
Darci P RulapaughCanadaElwin Sharvill QUALIFIED
Maisha I RulapaughCanadaXuxue Feng UNQUALIFIED
Julie D TollnerCanadaAsiya Javayant QUALIFIED
Emily V NestleSpainIvan Magalhaes RENEWAL
Tony A ChuiFranceIvan Magalhaes QUALIFIED
Ashley C DilliardCanadaOnyama Limba NEW
Chavez K OldroydFranceElwin Sharvill UNQUALIFIED
Cody S RimAustraliaAmy Elsner PROPOSAL
Claire G FigeroaArgentinaAnna Fali NEW
Ricardo T PoquetteRussiaBernardo Dominic PROPOSAL
Octavia M StensethBrazilIvan Magalhaes NEW
Greenwood G TollnerCanadaIoni Bowcher NEGOTIATION
Leon I CampainUnited KingdomIoni Bowcher UNQUALIFIED
Aruna R SlusarskiFranceStephen Shaw UNQUALIFIED
Leja P GauchoRussiaAmy Elsner NEW
Adams H PoquetteCanadaAnna Fali PROPOSAL
James O CaldareraRussiaStephen Shaw PROPOSAL
Misaki I CaudyJapanAmy Elsner RENEWAL
Claire X FlosiUnited KingdomAmy Elsner NEGOTIATION
Darci B ChuiIndiaOnyama Limba NEGOTIATION
Faith C ChuiIndiaAnna Fali QUALIFIED
Sinclair F OldroydAustraliaBernardo Dominic PROPOSAL
Misaki J TollnerItalyBernardo Dominic PROPOSAL
Izzy T FigeroaArgentinaStephen Shaw PROPOSAL
Frozen Columns
Name
Octavia O Shinko
Greenwood L Chui
Munro U Garufi
Murillo Y Tollner
Johnson J Marrier
Kadeem Z Paprocki
Jeanfrancois D Darakjy
Greenwood L Rulapaugh
Silvio I Dilliard
Smith M Flosi
Aika H Morasca
Greenwood V Gillian
Tony O Dilliard
Leja L Briddick
Ashley K Ostrosky
Aika R Glick
Sinclair K Paprocki
Alejandro T Ruta
David H Bowley
Darci J Garufi
Leon C Flosi
Tony J Garufi
Maria W Perin
Aruna E Malet
Murillo G Vocelka
Wickens L Doe
Arvin C Poquette
Juan M Campain
Salvatore B Doe
Leja Y Garufi
Silvio J Gillian
Ashley S Rulapaugh
Jennifer C Darakjy
Adams R Butt
Ricardo K Chui
Leja H Tollner
Clifford P Shinko
Sinclair M Vocelka
Leja J Chui
Maria K Ferencz
Stacey R Iturbide
Jones C Whobrey
Julie G Inouye
Francesco P Campain
Silvio N Ostrosky
Emily M Garufi
Leja X Garufi
Ricardo Q Caudy
Adams U Figeroa
Silvio H Royster
IdCountryDate
1000Japan2026-10-27
1001Germany2026-10-05
1002Australia2026-10-21
1003Canada2026-10-10
1004Canada2026-10-07
1005Germany2026-10-23
1006Italy2026-10-16
1007United Kingdom2026-10-31
1008France2026-10-07
1009Canada2026-10-27
1010Germany2026-10-31
1011Argentina2026-10-15
1012Argentina2026-10-12
1013Brazil2026-10-13
1014Australia2026-10-29
1015Spain2026-10-26
1016India2026-10-16
1017Australia2026-10-09
1018Canada2026-10-10
1019Canada2026-10-30
1020Japan2026-10-07
1021Spain2026-10-13
1022Brazil2026-10-12
1023Spain2026-10-11
1024Germany2026-10-08
1025Spain2026-10-04
1026Italy2026-10-30
1027United Kingdom2026-10-07
1028Japan2026-10-03
1029Japan2026-10-18
1030Brazil2026-10-13
1031Canada2026-10-23
1032United Kingdom2026-10-16
1033United Kingdom2026-10-04
1034Canada2026-10-19
1035Brazil2026-10-31
1036Australia2026-10-08
1037Russia2026-10-08
1038Russia2026-10-22
1039India2026-10-26
1040Italy2026-10-10
1041Canada2026-10-28
1042Argentina2026-10-28
1043France2026-10-24
1044Australia2026-10-07
1045Argentina2026-10-18
1046Argentina2026-10-12
1047Russia2026-10-19
1048India2026-10-23
1049Japan2026-10-18

On-Demand Data

NameIdCountryDate
Ivar V Doe1000Russia2026-10-16
Izzy K Maclead1001France2026-10-30
Leja R Whobrey1002Japan2026-10-31
Jones N Caldarera1003United Kingdom2026-10-26
Salvatore W Butt1004Germany2026-10-04
Mayumi U Gillian1005Brazil2026-10-29
Leon M Paprocki1006Japan2026-10-29
Alejandro H Paprocki1007France2026-10-22
Izzy L Inouye1008Russia2026-10-06
Clifford D Shinko1009Italy2026-10-18
Wickens G Slusarski1010Argentina2026-10-04
Izzy F Stenseth1011Italy2026-10-28
Aditya B Butt1012Canada2026-10-07
Antonio P Glick1013India2026-10-09
Jennifer H Figeroa1014United Kingdom2026-10-20
Izzy E Shinko1015France2026-10-25
David J Paprocki1016Canada2026-10-25
Misaki T Iturbide1017Italy2026-10-18
Mujtaba H Paprocki1018United Kingdom2026-10-23
Juan C Whobrey1019France2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair Y DilliardUnited KingdomStephen Shaw UNQUALIFIED
Munro F StockhamFranceStephen Shaw PROPOSAL
Tony S KolmetzIndiaOnyama Limba RENEWAL
Claire P RutaItalyElwin Sharvill PROPOSAL
Jeanfrancois I PerinCanadaIvan Magalhaes QUALIFIED
Cody X RulapaughItalyAmy Elsner QUALIFIED
Jones C VenereGermanyAnna Fali RENEWAL
Greenwood I DarakjyUnited KingdomStephen Shaw NEW
Kaitlin D BologniaArgentinaIvan Magalhaes RENEWAL
David X MarrierItalyIvan Magalhaes NEGOTIATION
Aditya Z WhobreyUnited KingdomOnyama Limba PROPOSAL
Jeanfrancois Y MaletGermanyIoni Bowcher NEW
Jefferson A DoeCanadaElwin Sharvill QUALIFIED
Alejandro W RutaItalyIoni Bowcher NEGOTIATION
Aika N MaletIndiaAsiya Javayant QUALIFIED
Johnson F DoeItalyOnyama Limba QUALIFIED
Leon Y StensethJapanXuxue Feng PROPOSAL
Morrow D RutaRussiaXuxue Feng NEW
Antonio W BowleyRussiaStephen Shaw QUALIFIED
Misaki B MorascaGermanyIvan Magalhaes UNQUALIFIED
Aruna T ButtSpainAsiya Javayant RENEWAL
Jones J RutaUnited KingdomBernardo Dominic NEGOTIATION
Jefferson H OldroydIndiaElwin Sharvill RENEWAL
Stacey V CaldareraAustraliaAmy Elsner NEW
Costa L GauchoItalyAmy Elsner NEW
Ivar C MaletArgentinaStephen Shaw RENEWAL
Kaitlin D WaycottAustraliaAsiya Javayant UNQUALIFIED
Tony B KolmetzJapanOnyama Limba QUALIFIED
Arvin B ShinkoSpainElwin Sharvill NEGOTIATION
Kadeem R OstroskyIndiaXuxue Feng NEGOTIATION
Kaitlin P MorascaGermanyIvan Magalhaes QUALIFIED
Juan B StockhamArgentinaXuxue Feng QUALIFIED
Jeanfrancois W GarufiBrazilXuxue Feng PROPOSAL
Ricardo B TollnerGermanyBernardo Dominic PROPOSAL
Smith Q FerenczFranceBernardo Dominic NEW
Jones D RutaUnited KingdomXuxue Feng PROPOSAL
Munro N VocelkaArgentinaAsiya Javayant UNQUALIFIED
Ashley R PaprockiGermanyAmy Elsner UNQUALIFIED
Jeanfrancois Z BriddickBrazilElwin Sharvill NEGOTIATION
Izzy K KolmetzArgentinaOnyama 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>