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
Salvatore R DilliardBrazilAmy Elsner PROPOSAL
Izzy B VocelkaIndiaXuxue Feng NEW
Francesco Q FigeroaFranceAsiya Javayant QUALIFIED
Faith U NickaCanadaIvan Magalhaes NEW
Costa R MarrierIndiaAnna Fali RENEWAL
Antonio Y GillianSpainOnyama Limba QUALIFIED
Mayumi N ChuiBrazilIvan Magalhaes QUALIFIED
David O WhobreyAustraliaAnna Fali PROPOSAL
Mayumi D IturbideBrazilXuxue Feng QUALIFIED
Julie E WieserUnited KingdomIvan Magalhaes QUALIFIED
Jennifer O SergiSpainBernardo Dominic PROPOSAL
Claire X RutaSpainAmy Elsner PROPOSAL
Aditya Y GillianAustraliaOnyama Limba UNQUALIFIED
Greenwood I GarufiIndiaStephen Shaw NEGOTIATION
David R SchemmerGermanyAsiya Javayant QUALIFIED
Tony N FollerFranceIvan Magalhaes QUALIFIED
Smith N AlbaresIndiaIoni Bowcher QUALIFIED
Kadeem Z RoysterSpainStephen Shaw NEGOTIATION
Izzy V PaprockiFranceStephen Shaw NEW
Leja T MaletFranceOnyama Limba QUALIFIED
Octavia Q RulapaughGermanyXuxue Feng PROPOSAL
Wickens Q WieserFranceAsiya Javayant NEGOTIATION
Silvio A WieserFranceIvan Magalhaes NEGOTIATION
Darci K SlusarskiUnited KingdomBernardo Dominic NEW
Antonio I BowleyItalyXuxue Feng PROPOSAL
Ashley W RoysterCanadaOnyama Limba RENEWAL
Adams V MorascaUnited KingdomAmy Elsner RENEWAL
Claire C RulapaughSpainAnna Fali NEW
Costa U SchemmerSpainIoni Bowcher NEGOTIATION
Stacey V SchemmerJapanOnyama Limba QUALIFIED
Darci X SaylorsFranceOnyama Limba NEW
Clifford C PoquetteBrazilAnna Fali PROPOSAL
Faith J VenereArgentinaIvan Magalhaes NEGOTIATION
Claire F RimJapanIoni Bowcher NEGOTIATION
Ashley A SlusarskiBrazilAnna Fali RENEWAL
Morrow F PoquetteSpainAnna Fali NEW
Ivar M TollnerItalyIoni Bowcher NEW
Sinclair A OstroskyGermanyIvan Magalhaes UNQUALIFIED
Ricardo V PoquetteFranceOnyama Limba NEGOTIATION
Jennifer H RulapaughBrazilStephen Shaw NEW
Murillo Q WaycottGermanyAnna Fali QUALIFIED
Tony Z KolmetzBrazilIvan Magalhaes NEGOTIATION
Jennifer J PoquetteJapanElwin Sharvill QUALIFIED
Ricardo G SergiCanadaAnna Fali PROPOSAL
Costa O PoquetteRussiaAsiya Javayant NEGOTIATION
Smith Q SlusarskiSpainStephen Shaw UNQUALIFIED
Arvin V WieserAustraliaAsiya Javayant PROPOSAL
Silvio D WaycottJapanIoni Bowcher NEW
Izzy E WieserArgentinaOnyama Limba RENEWAL
Murillo P BologniaArgentinaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin K WhobreyGermanyXuxue Feng RENEWAL
Salvatore M SaylorsFranceXuxue Feng PROPOSAL
Munro Y RimGermanyOnyama Limba NEGOTIATION
Salvatore H RoysterUnited KingdomAmy Elsner RENEWAL
Kaitlin C RulapaughItalyBernardo Dominic NEW
Costa P KuskoItalyOnyama Limba NEGOTIATION
Smith Q VocelkaGermanyAmy Elsner PROPOSAL
Rodrigues U MorascaGermanyAmy Elsner PROPOSAL
Izzy Y FigeroaSpainElwin Sharvill NEGOTIATION
Johnson P CaudyBrazilElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna Q BriddickJapan2026-11-07Truhlar And Truhlar Attys QUALIFIED28Ioni Bowcher
1001Maria A MaletFrance2026-10-30Rousseaux, Michael Esq RENEWAL37Elwin Sharvill
1002Mujtaba O DilliardRussia2026-10-11Chemel, James L Cpa QUALIFIED96Elwin Sharvill
1003Rodrigues R VenereIndia2026-11-07Commercial Press NEGOTIATION52Xuxue Feng
1004Jones D CaldareraItaly2026-10-30Feiner Bros NEGOTIATION64Ioni Bowcher
1005Silvio Y OstroskyUnited Kingdom2026-10-17Benton, John B Jr NEW66Elwin Sharvill
1006Misaki L CaldareraSpain2026-10-21Rousseaux, Michael Esq QUALIFIED62Asiya Javayant
1007Salvatore Q InouyeAustralia2026-10-18Rousseaux, Michael Esq QUALIFIED39Xuxue Feng
1008Ivar R BowleyGermany2026-10-16Chanay, Jeffrey A Esq UNQUALIFIED35Asiya Javayant
1009Chavez G GlickUnited Kingdom2026-11-06Truhlar And Truhlar Attys UNQUALIFIED19Ioni Bowcher
1010Ashley G AlbaresJapan2026-10-31Buckley Miller Wright NEW35Xuxue Feng
1011Rodrigues N GauchoItaly2026-10-13Benton, John B Jr PROPOSAL4Ivan Magalhaes
1012Johnson K VenereAustralia2026-11-03Rousseaux, Michael Esq NEW6Asiya Javayant
1013Munro A MaletGermany2026-10-13Dorl, James J Esq QUALIFIED4Xuxue Feng
1014Chavez W CaldareraIndia2026-10-20Rangoni Of Florence QUALIFIED94Xuxue Feng
1015David D AlbaresSpain2026-10-26Feltz Printing Service RENEWAL68Ioni Bowcher
1016Ashley V ShinkoCanada2026-11-01Rousseaux, Michael Esq QUALIFIED8Xuxue Feng
1017Arvin T PoquetteFrance2026-11-08Chanay, Jeffrey A Esq QUALIFIED43Onyama Limba
1018Chavez Y FigeroaGermany2026-10-14Chemel, James L Cpa QUALIFIED26Bernardo Dominic
1019Mujtaba N VenereRussia2026-11-06Commercial Press UNQUALIFIED90Amy Elsner
1020Francesco Y MaletAustralia2026-11-07Commercial Press NEW22Onyama Limba
1021Cody D KuskoBrazil2026-10-11Feiner Bros PROPOSAL20Ioni Bowcher
1022Izzy A StensethCanada2026-11-06Dorl, James J Esq PROPOSAL89Elwin Sharvill
1023Arvin C KolmetzRussia2026-10-12Commercial Press QUALIFIED23Xuxue Feng
1024Leja F ShinkoFrance2026-10-26Benton, John B Jr NEW98Elwin Sharvill
1025Munro P StensethBrazil2026-11-02Feltz Printing Service NEW21Elwin Sharvill
1026Jeanfrancois M DarakjyFrance2026-10-11King, Christopher A Esq UNQUALIFIED23Amy Elsner
1027Kadeem U CampainCanada2026-10-31Chapman, Ross E Esq NEW98Stephen Shaw
1028Leja W OstroskyGermany2026-11-02Feiner Bros UNQUALIFIED10Ioni Bowcher
1029Murillo Z FigeroaSpain2026-10-27Feiner Bros UNQUALIFIED78Asiya Javayant
1030Jennifer G BologniaCanada2026-10-23Chapman, Ross E Esq NEGOTIATION38Bernardo Dominic
1031Cody I RutaFrance2026-10-29Rangoni Of Florence QUALIFIED95Asiya Javayant
1032Silvio W MaletUnited Kingdom2026-11-08Buckley Miller Wright RENEWAL67Asiya Javayant
1033Izzy R ButtArgentina2026-10-24Chanay, Jeffrey A Esq UNQUALIFIED93Anna Fali
1034Cody O VenereIndia2026-11-05Chanay, Jeffrey A Esq QUALIFIED76Bernardo Dominic
1035Aditya U StensethFrance2026-11-03Commercial Press PROPOSAL30Asiya Javayant
1036Mujtaba S MaletAustralia2026-11-05Chanay, Jeffrey A Esq NEGOTIATION36Xuxue Feng
1037Greenwood W VocelkaBrazil2026-10-12Truhlar And Truhlar Attys QUALIFIED31Anna Fali
1038Maria O TollnerAustralia2026-10-30Benton, John B Jr QUALIFIED73Anna Fali
1039Jefferson Y RimGermany2026-10-13Chapman, Ross E Esq UNQUALIFIED72Bernardo Dominic
1040Antonio A ButtItaly2026-10-18Printing Dimensions UNQUALIFIED68Anna Fali
1041Cody U DilliardGermany2026-10-16Rousseaux, Michael Esq QUALIFIED15Ivan Magalhaes
1042Adams X SergiCanada2026-11-07Chemel, James L Cpa NEGOTIATION99Ioni Bowcher
1043Aika Y OstroskyJapan2026-10-15Feiner Bros NEGOTIATION92Asiya Javayant
1044Wickens L NestleAustralia2026-10-18Chanay, Jeffrey A Esq RENEWAL28Ioni Bowcher
1045Darci O NickaJapan2026-10-27Truhlar And Truhlar Attys PROPOSAL46Onyama Limba
1046Alejandro T GauchoAustralia2026-10-17Printing Dimensions NEGOTIATION92Bernardo Dominic
1047Faith S SaylorsBrazil2026-10-27Rangoni Of Florence UNQUALIFIED30Ioni Bowcher
1048Maria F MorascaUnited Kingdom2026-10-13Chemel, James L Cpa RENEWAL67Xuxue Feng
1049Leja W CampainCanada2026-11-05Feltz Printing Service QUALIFIED94Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones V DoeItalyXuxue Feng UNQUALIFIED
Smith L PoquetteSpainOnyama Limba PROPOSAL
Maisha J DilliardArgentinaIvan Magalhaes UNQUALIFIED
Faith T KuskoCanadaIvan Magalhaes UNQUALIFIED
Leon M StockhamArgentinaAmy Elsner NEGOTIATION
Rodrigues T OstroskyAustraliaIvan Magalhaes RENEWAL
Sinclair C NestleItalyXuxue Feng NEW
Chavez M MaletUnited KingdomAmy Elsner RENEWAL
Tony K WhobreyFranceIoni Bowcher RENEWAL
Munro N DarakjyFranceOnyama Limba PROPOSAL
Cody X ChuiCanadaXuxue Feng NEW
Antonio N StensethFranceAnna Fali NEW
Aika C NickaUnited KingdomAmy Elsner NEW
Cody B NestleItalyAsiya Javayant UNQUALIFIED
Smith K SaylorsArgentinaElwin Sharvill NEW
Emily O VocelkaFranceOnyama Limba NEW
Kadeem L DoeItalyAsiya Javayant NEGOTIATION
Mayumi X ShinkoBrazilStephen Shaw RENEWAL
Isabel Q AlbaresFranceAnna Fali UNQUALIFIED
James L BowleyJapanXuxue Feng RENEWAL
Jennifer G WieserJapanElwin Sharvill QUALIFIED
Francesco F ShinkoAustraliaAsiya Javayant UNQUALIFIED
Julie Q MacleadBrazilIoni Bowcher QUALIFIED
Greenwood C GarufiSpainAmy Elsner UNQUALIFIED
Maria K DarakjyUnited KingdomXuxue Feng QUALIFIED
Morrow P GlickArgentinaXuxue Feng RENEWAL
Isabel U PaprockiIndiaIoni Bowcher QUALIFIED
Aika F TollnerFranceXuxue Feng NEGOTIATION
Octavia C MarrierJapanXuxue Feng RENEWAL
Emily Q KolmetzCanadaAsiya Javayant PROPOSAL
Jennifer X OstroskyUnited KingdomAnna Fali RENEWAL
Julie A ChuiBrazilIoni Bowcher RENEWAL
Costa H RoysterIndiaIvan Magalhaes RENEWAL
Francesco L DarakjyRussiaAmy Elsner NEGOTIATION
Ashley G VocelkaItalyOnyama Limba UNQUALIFIED
Munro G WieserArgentinaAsiya Javayant PROPOSAL
Wickens M KolmetzIndiaAsiya Javayant RENEWAL
Darci V ButtGermanyAsiya Javayant PROPOSAL
Stacey E ButtBrazilStephen Shaw RENEWAL
Stacey C SaylorsItalyStephen Shaw UNQUALIFIED
Aditya J MacleadFranceIoni Bowcher NEW
Jones H KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Darci S DilliardAustraliaElwin Sharvill UNQUALIFIED
Ashley E FigeroaBrazilAnna Fali NEGOTIATION
Octavia U NestleUnited KingdomStephen Shaw NEW
Cody H FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Aruna S NestleBrazilStephen Shaw UNQUALIFIED
Silvio I AlbaresArgentinaAmy Elsner UNQUALIFIED
Maria U OstroskyIndiaXuxue Feng UNQUALIFIED
Greenwood T MaletItalyAsiya Javayant RENEWAL
Frozen Columns
Name
Tony O Perin
Johnson I Bolognia
Silvio B Saylors
Johnson K Kolmetz
Misaki E Marrier
Aika R Campain
Juan T Perin
Deepesh S Whobrey
David Y Briddick
Aika H Chui
Munro Y Poquette
Misaki Y Glick
Francesco P Saylors
Maisha U Glick
Emily R Foller
Juan K Darakjy
Leon U Figeroa
Jefferson M Oldroyd
Sinclair Z Saylors
Arvin S Kolmetz
Kadeem G Oldroyd
Johnson A Darakjy
Mayumi T Poquette
Aika K Wieser
Silvio Y Perin
Leja G Morasca
Claire C Garufi
Faith V Perin
Alejandro A Ostrosky
Ivar R Marrier
Isabel F Ferencz
Morrow V Albares
Maria L Ruta
Alejandro P Caudy
Aruna J Garufi
Rodrigues J Gaucho
Chavez U Royster
Jefferson S Kusko
David G Bowley
Isabel C Foller
Leja A Kusko
Clifford M Ostrosky
Juan I Amigon
Silvio H Nestle
Jennifer N Oldroyd
Leon Y Poquette
Clifford M Whobrey
Jefferson Y Doe
James D Shinko
Stacey F Flosi
IdCountryDate
1000Italy2026-10-18
1001Spain2026-11-03
1002Canada2026-11-09
1003Italy2026-11-06
1004Spain2026-10-16
1005Brazil2026-11-01
1006Canada2026-10-20
1007Russia2026-10-21
1008Canada2026-10-25
1009India2026-10-16
1010Spain2026-11-08
1011Italy2026-10-13
1012Brazil2026-10-30
1013Germany2026-11-02
1014Canada2026-10-23
1015France2026-10-29
1016Japan2026-10-27
1017Germany2026-11-06
1018Russia2026-10-22
1019United Kingdom2026-10-28
1020Japan2026-10-17
1021Brazil2026-10-23
1022Australia2026-10-26
1023Germany2026-10-18
1024Spain2026-11-03
1025France2026-11-04
1026India2026-10-26
1027France2026-11-06
1028Australia2026-10-24
1029Argentina2026-11-08
1030Germany2026-10-13
1031India2026-10-15
1032Argentina2026-10-29
1033India2026-10-14
1034Italy2026-10-15
1035Argentina2026-10-16
1036Germany2026-10-18
1037France2026-10-25
1038Germany2026-10-27
1039France2026-10-30
1040France2026-10-29
1041India2026-10-18
1042France2026-11-02
1043United Kingdom2026-10-14
1044Japan2026-10-30
1045United Kingdom2026-10-24
1046Russia2026-10-15
1047Brazil2026-10-16
1048United Kingdom2026-11-02
1049Germany2026-10-28

On-Demand Data

NameIdCountryDate
Mujtaba D Gaucho1000Australia2026-10-15
Kadeem S Figeroa1001Japan2026-11-01
Octavia W Caldarera1002France2026-11-04
Ivar V Butt1003Italy2026-11-04
Salvatore X Ostrosky1004Canada2026-10-28
Smith Z Flosi1005Brazil2026-11-04
Ashley C Stockham1006Russia2026-10-25
Aika Z Nicka1007Japan2026-11-03
Aika Y Garufi1008United Kingdom2026-11-09
Ricardo N Amigon1009Russia2026-11-08
Wickens D Stenseth1010Argentina2026-10-30
Leja S Sergi1011Brazil2026-10-19
Jennifer V Darakjy1012Australia2026-11-01
Johnson K Stenseth1013Japan2026-10-11
Munro P Ostrosky1014Italy2026-10-22
Jones S Butt1015United Kingdom2026-10-26
Jennifer V Shinko1016Brazil2026-10-25
Leja Z Briddick1017Argentina2026-10-21
Antonio A Malet1018United Kingdom2026-10-13
Mujtaba Q Saylors1019Japan2026-10-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika A StockhamUnited KingdomOnyama Limba PROPOSAL
James W SergiArgentinaBernardo Dominic QUALIFIED
Misaki E KuskoIndiaStephen Shaw NEW
David O BriddickItalyIvan Magalhaes PROPOSAL
Mayumi N PaprockiUnited KingdomBernardo Dominic NEW
Stacey J ChuiArgentinaAsiya Javayant RENEWAL
Deepesh S ButtAustraliaBernardo Dominic NEW
Maria C InouyeCanadaStephen Shaw PROPOSAL
Jeanfrancois U MacleadSpainIoni Bowcher UNQUALIFIED
Octavia G BologniaJapanXuxue Feng NEW
Tony F SergiRussiaAmy Elsner NEW
Jones M DarakjyCanadaAnna Fali QUALIFIED
Aditya C ShinkoCanadaOnyama Limba PROPOSAL
Claire R MaletUnited KingdomStephen Shaw PROPOSAL
Morrow Y IturbideRussiaElwin Sharvill UNQUALIFIED
Francesco D StockhamJapanIvan Magalhaes QUALIFIED
Leon T GlickIndiaIvan Magalhaes UNQUALIFIED
Antonio B VocelkaBrazilAnna Fali NEGOTIATION
Arvin R MarrierRussiaAmy Elsner QUALIFIED
Jeanfrancois Z InouyeJapanIoni Bowcher UNQUALIFIED
Arvin Y BologniaGermanyAmy Elsner RENEWAL
Misaki M FerenczSpainElwin Sharvill QUALIFIED
James H MorascaArgentinaAnna Fali UNQUALIFIED
Leja Y MacleadFranceXuxue Feng QUALIFIED
Maisha K WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Claire N OldroydArgentinaStephen Shaw QUALIFIED
Morrow G DilliardFranceIvan Magalhaes UNQUALIFIED
Claire I KuskoRussiaAsiya Javayant RENEWAL
Clifford N KolmetzArgentinaAsiya Javayant PROPOSAL
Emily I CampainAustraliaAsiya Javayant RENEWAL
Stacey M VocelkaUnited KingdomOnyama Limba PROPOSAL
Silvio L ButtCanadaOnyama Limba QUALIFIED
Jennifer M TollnerBrazilIvan Magalhaes NEGOTIATION
James X SergiArgentinaBernardo Dominic RENEWAL
Claire Z MorascaAustraliaElwin Sharvill NEGOTIATION
Cody M SaylorsItalyAsiya Javayant QUALIFIED
Francesco I AlbaresRussiaXuxue Feng RENEWAL
Silvio G OldroydJapanXuxue Feng QUALIFIED
Smith H SchemmerUnited KingdomBernardo Dominic NEGOTIATION
Arvin F StockhamArgentinaBernardo Dominic 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>