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 J RoysterUnited KingdomIvan Magalhaes NEW
Ashley T OstroskyIndiaAnna Fali NEGOTIATION
Arvin V FlosiCanadaOnyama Limba QUALIFIED
Leon N PoquetteAustraliaAnna Fali QUALIFIED
Jeanfrancois D GlickAustraliaIoni Bowcher UNQUALIFIED
James A StensethCanadaAmy Elsner PROPOSAL
Darci P SlusarskiItalyIvan Magalhaes RENEWAL
Jeanfrancois Q FerenczGermanyAsiya Javayant QUALIFIED
Wickens E MaletItalyAsiya Javayant NEGOTIATION
Mayumi K OldroydIndiaOnyama Limba NEW
Rodrigues E MaletGermanyStephen Shaw RENEWAL
Munro O WaycottUnited KingdomIoni Bowcher QUALIFIED
Salvatore K ChuiGermanyIoni Bowcher QUALIFIED
Emily V KuskoJapanAsiya Javayant PROPOSAL
Costa Z NickaFranceElwin Sharvill UNQUALIFIED
David U VenereAustraliaAmy Elsner NEGOTIATION
Stacey P WhobreyAustraliaIoni Bowcher QUALIFIED
Sinclair D WaycottAustraliaIoni Bowcher PROPOSAL
Faith Y PerinFranceXuxue Feng RENEWAL
Silvio B RoysterGermanyOnyama Limba UNQUALIFIED
Emily L RutaArgentinaIoni Bowcher UNQUALIFIED
James K CaudyBrazilElwin Sharvill QUALIFIED
Clifford L GauchoCanadaAsiya Javayant PROPOSAL
Claire K SaylorsSpainAmy Elsner PROPOSAL
Jennifer R DarakjyUnited KingdomAsiya Javayant RENEWAL
Jeanfrancois U FerenczJapanIoni Bowcher NEGOTIATION
James B PaprockiAustraliaAnna Fali RENEWAL
Wickens Q SaylorsUnited KingdomAnna Fali QUALIFIED
Munro H NestleIndiaElwin Sharvill UNQUALIFIED
Nicolas G GillianFranceAnna Fali PROPOSAL
Ricardo W WaycottArgentinaIoni Bowcher UNQUALIFIED
Jennifer M ChuiGermanyStephen Shaw QUALIFIED
Isabel F CaudyArgentinaElwin Sharvill NEGOTIATION
Aditya S IturbideAustraliaXuxue Feng QUALIFIED
Leja J BologniaItalyAnna Fali NEGOTIATION
James J MaletAustraliaXuxue Feng UNQUALIFIED
Costa H MacleadItalyIoni Bowcher RENEWAL
Aika W StensethBrazilIvan Magalhaes UNQUALIFIED
Adams O SergiSpainAnna Fali NEW
Faith X DarakjyItalyAsiya Javayant QUALIFIED
Maria M IturbideRussiaAsiya Javayant QUALIFIED
Arvin U OldroydRussiaAmy Elsner NEW
Maisha M RoysterCanadaIvan Magalhaes RENEWAL
Sinclair S DarakjyFranceAsiya Javayant UNQUALIFIED
Ivar I FerenczGermanyStephen Shaw RENEWAL
Claire L BowleyFranceOnyama Limba NEGOTIATION
Greenwood P DilliardUnited KingdomBernardo Dominic RENEWAL
Faith V WieserCanadaXuxue Feng UNQUALIFIED
Salvatore T MaletSpainXuxue Feng RENEWAL
Ivar N KolmetzArgentinaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily C WaycottIndiaStephen Shaw QUALIFIED
Morrow O RoysterUnited KingdomAsiya Javayant NEW
Alejandro G RulapaughRussiaOnyama Limba QUALIFIED
Stacey B DoeCanadaElwin Sharvill NEGOTIATION
Claire P WhobreyCanadaBernardo Dominic RENEWAL
Alejandro I ChuiItalyStephen Shaw NEGOTIATION
Jennifer E WhobreyCanadaBernardo Dominic NEGOTIATION
Izzy A RulapaughIndiaIvan Magalhaes PROPOSAL
Faith Q GarufiCanadaBernardo Dominic PROPOSAL
Izzy U SchemmerCanadaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody M VenereIndia2026-10-03Rousseaux, Michael Esq NEGOTIATION54Asiya Javayant
1001Chavez H CampainUnited Kingdom2026-10-30Feltz Printing Service NEW29Anna Fali
1002Misaki N StensethFrance2026-10-17Rangoni Of Florence NEW96Ioni Bowcher
1003Jennifer K MaletFrance2026-10-14Truhlar And Truhlar Attys NEW41Onyama Limba
1004Darci N NickaCanada2026-10-25Buckley Miller Wright UNQUALIFIED98Elwin Sharvill
1005Ivar P ButtItaly2026-10-07Chanay, Jeffrey A Esq QUALIFIED25Ivan Magalhaes
1006Kadeem D PoquetteArgentina2026-10-23Rangoni Of Florence NEGOTIATION31Stephen Shaw
1007Octavia F PerinGermany2026-10-21Dorl, James J Esq UNQUALIFIED67Anna Fali
1008Deepesh L FlosiJapan2026-10-22Truhlar And Truhlar Attys NEGOTIATION61Bernardo Dominic
1009Misaki Y CaldareraBrazil2026-10-07Morlong Associates NEGOTIATION18Xuxue Feng
1010Julie T VocelkaUnited Kingdom2026-10-25Chanay, Jeffrey A Esq NEW59Stephen Shaw
1011Sinclair K NickaGermany2026-10-29Truhlar And Truhlar Attys RENEWAL25Asiya Javayant
1012Francesco K PerinRussia2026-10-03Benton, John B Jr QUALIFIED21Asiya Javayant
1013Kaitlin P CaldareraUnited Kingdom2026-10-24Printing Dimensions UNQUALIFIED10Stephen Shaw
1014David D SergiBrazil2026-10-20Rousseaux, Michael Esq QUALIFIED11Amy Elsner
1015Alejandro M PoquetteFrance2026-10-30Chapman, Ross E Esq PROPOSAL92Xuxue Feng
1016Cody L PaprockiJapan2026-10-04Chemel, James L Cpa PROPOSAL71Xuxue Feng
1017Johnson J BowleyBrazil2026-10-20Buckley Miller Wright RENEWAL62Ivan Magalhaes
1018David M SergiBrazil2026-10-21King, Christopher A Esq NEW61Onyama Limba
1019Jones X MaletSpain2026-10-14Chapman, Ross E Esq NEGOTIATION26Onyama Limba
1020Ivar P SlusarskiCanada2026-10-30King, Christopher A Esq NEGOTIATION82Elwin Sharvill
1021Smith L VocelkaArgentina2026-10-26Dorl, James J Esq UNQUALIFIED19Elwin Sharvill
1022Kadeem E CaldareraItaly2026-10-29Chemel, James L Cpa NEW96Elwin Sharvill
1023Jefferson E BriddickSpain2026-10-20Buckley Miller Wright PROPOSAL67Xuxue Feng
1024Jeanfrancois T WaycottCanada2026-10-29Chapman, Ross E Esq RENEWAL10Bernardo Dominic
1025Isabel J PaprockiSpain2026-10-28Commercial Press NEGOTIATION63Xuxue Feng
1026Ashley P AmigonUnited Kingdom2026-10-15Rousseaux, Michael Esq QUALIFIED64Anna Fali
1027Sinclair U GillianBrazil2026-10-24Rousseaux, Michael Esq PROPOSAL57Ivan Magalhaes
1028Faith M RutaArgentina2026-10-26Morlong Associates NEGOTIATION59Anna Fali
1029Arvin J NickaFrance2026-10-18King, Christopher A Esq QUALIFIED4Onyama Limba
1030Aika Z DoeGermany2026-10-16Chapman, Ross E Esq NEGOTIATION92Bernardo Dominic
1031Mujtaba S RimSpain2026-10-07King, Christopher A Esq UNQUALIFIED41Amy Elsner
1032Smith F MaletArgentina2026-10-10King, Christopher A Esq NEW91Anna Fali
1033Francesco D InouyeBrazil2026-10-26Chapman, Ross E Esq NEW51Ivan Magalhaes
1034Aditya X RutaArgentina2026-10-22King, Christopher A Esq QUALIFIED32Ivan Magalhaes
1035Aika V FlosiCanada2026-10-28Dorl, James J Esq RENEWAL94Ivan Magalhaes
1036Ivar T FigeroaArgentina2026-10-25King, Christopher A Esq UNQUALIFIED4Amy Elsner
1037David S VenereCanada2026-10-16Feltz Printing Service NEW33Ivan Magalhaes
1038Stacey B SlusarskiGermany2026-10-23Dorl, James J Esq NEW16Bernardo Dominic
1039Mujtaba M SchemmerSpain2026-10-22Commercial Press NEW36Asiya Javayant
1040Mujtaba Y WhobreyRussia2026-10-08Benton, John B Jr UNQUALIFIED86Amy Elsner
1041Smith O DilliardAustralia2026-10-19Benton, John B Jr RENEWAL8Onyama Limba
1042Leon Y PoquetteAustralia2026-10-24Chapman, Ross E Esq PROPOSAL34Xuxue Feng
1043Tony U GlickFrance2026-10-06Printing Dimensions UNQUALIFIED76Ioni Bowcher
1044Maisha M BologniaBrazil2026-10-19Rousseaux, Michael Esq NEW15Asiya Javayant
1045Francesco G CampainCanada2026-10-13Rangoni Of Florence UNQUALIFIED42Bernardo Dominic
1046Juan C IturbideUnited Kingdom2026-10-30Commercial Press UNQUALIFIED32Stephen Shaw
1047Jeanfrancois C OldroydUnited Kingdom2026-10-06Buckley Miller Wright PROPOSAL74Ioni Bowcher
1048Nicolas C StensethIndia2026-10-23Chemel, James L Cpa NEGOTIATION64Ivan Magalhaes
1049Julie S InouyeGermany2026-10-31Chapman, Ross E Esq PROPOSAL13Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois P AlbaresCanadaIoni Bowcher PROPOSAL
Johnson X NestleUnited KingdomAsiya Javayant NEW
Wickens Z WaycottGermanyBernardo Dominic NEGOTIATION
Mayumi Q KuskoUnited KingdomAnna Fali PROPOSAL
Tony F AmigonFranceOnyama Limba NEW
David D FlosiRussiaIvan Magalhaes PROPOSAL
Stacey V RulapaughSpainXuxue Feng QUALIFIED
Adams B RulapaughGermanyXuxue Feng RENEWAL
Alejandro J MorascaArgentinaXuxue Feng RENEWAL
Wickens K CaudyGermanyAmy Elsner QUALIFIED
James N StensethBrazilElwin Sharvill NEGOTIATION
Claire V BriddickSpainIoni Bowcher NEW
Salvatore N CaudyCanadaStephen Shaw UNQUALIFIED
Greenwood D VenereUnited KingdomAmy Elsner UNQUALIFIED
Costa P PaprockiAustraliaIoni Bowcher NEW
Munro J SergiJapanBernardo Dominic NEW
Leon L NestleAustraliaOnyama Limba RENEWAL
Kadeem D MarrierBrazilAmy Elsner NEGOTIATION
Stacey W RimAustraliaIoni Bowcher PROPOSAL
Nicolas Q BowleyJapanIvan Magalhaes NEGOTIATION
Alejandro A FerenczBrazilAnna Fali NEW
Cody J SaylorsGermanyStephen Shaw RENEWAL
Jefferson X StensethJapanOnyama Limba RENEWAL
Arvin R MacleadUnited KingdomXuxue Feng RENEWAL
Morrow K DilliardAustraliaAmy Elsner UNQUALIFIED
Jones S OldroydFranceIvan Magalhaes NEW
Izzy Z MarrierArgentinaIvan Magalhaes RENEWAL
Kaitlin O VenereFranceAnna Fali NEW
Julie E WieserBrazilAmy Elsner UNQUALIFIED
Julie K KuskoBrazilXuxue Feng QUALIFIED
Arvin N RoysterJapanIvan Magalhaes PROPOSAL
Sinclair A CaldareraAustraliaElwin Sharvill NEGOTIATION
Maria W SaylorsItalyOnyama Limba UNQUALIFIED
Jeanfrancois B SlusarskiAustraliaIvan Magalhaes QUALIFIED
Cody Q GlickUnited KingdomIoni Bowcher PROPOSAL
Misaki K WieserBrazilAmy Elsner NEGOTIATION
Alejandro A OstroskySpainOnyama Limba UNQUALIFIED
Leon E MaletCanadaOnyama Limba PROPOSAL
Wickens D ButtJapanAmy Elsner NEGOTIATION
Aika C MorascaItalyAmy Elsner QUALIFIED
Izzy N SergiItalyAsiya Javayant PROPOSAL
Jeanfrancois M BologniaItalyStephen Shaw PROPOSAL
Izzy F StensethUnited KingdomXuxue Feng NEGOTIATION
Johnson Z ShinkoAustraliaXuxue Feng PROPOSAL
Alejandro T BologniaBrazilOnyama Limba RENEWAL
Silvio X SaylorsAustraliaBernardo Dominic QUALIFIED
Rodrigues F WhobreyArgentinaAnna Fali QUALIFIED
Cody L GlickItalyIvan Magalhaes RENEWAL
Antonio U CaudyGermanyAnna Fali QUALIFIED
Julie B RulapaughCanadaIvan Magalhaes RENEWAL
Frozen Columns
Name
Nicolas S Caldarera
Jones T Slusarski
Misaki C Kolmetz
Murillo W Figeroa
Kaitlin N Figeroa
Ashley A Rim
Claire Z Rulapaugh
Maria J Morasca
Claire T Gillian
Arvin A Chui
Maisha E Maclead
Munro C Albares
Antonio H Caudy
Tony W Gaucho
Leja Q Perin
Nicolas E Poquette
Clifford I Ferencz
Aika M Maclead
Alejandro H Poquette
Leja L Garufi
Claire B Wieser
Rodrigues Y Butt
James A Ruta
Izzy X Bowley
Deepesh Q Briddick
Emily T Kusko
Juan A Malet
Aditya V Briddick
Johnson N Nicka
Julie I Marrier
Leja W Morasca
Mayumi Z Darakjy
Munro Y Chui
Nicolas R Gaucho
Leon X Caldarera
Rodrigues L Iturbide
Jones S Foller
Misaki L Briddick
Aditya M Butt
Silvio R Doe
Leon K Stockham
Ashley V Inouye
Aruna B Chui
Chavez D Campain
Maria M Bolognia
Deepesh E Royster
Stacey N Caldarera
Clifford E Oldroyd
Ricardo G Chui
Ashley Y Glick
IdCountryDate
1000Canada2026-10-12
1001India2026-10-18
1002Canada2026-10-20
1003Brazil2026-10-09
1004Brazil2026-10-18
1005Germany2026-10-15
1006Germany2026-10-25
1007Germany2026-10-09
1008Russia2026-10-16
1009Spain2026-10-23
1010Japan2026-10-17
1011Brazil2026-10-04
1012France2026-10-14
1013France2026-10-28
1014India2026-10-13
1015France2026-10-27
1016Argentina2026-10-29
1017Australia2026-10-26
1018Spain2026-10-05
1019Spain2026-10-14
1020Japan2026-10-10
1021Italy2026-10-25
1022India2026-10-12
1023Spain2026-10-03
1024United Kingdom2026-10-07
1025United Kingdom2026-10-29
1026Canada2026-10-13
1027Japan2026-10-02
1028Japan2026-10-19
1029Germany2026-10-31
1030India2026-10-12
1031Russia2026-10-08
1032United Kingdom2026-10-08
1033Japan2026-10-25
1034Russia2026-10-02
1035Spain2026-10-07
1036Germany2026-10-22
1037Australia2026-10-25
1038Brazil2026-10-25
1039United Kingdom2026-10-30
1040Canada2026-10-05
1041Japan2026-10-10
1042India2026-10-14
1043Russia2026-10-09
1044Russia2026-10-24
1045France2026-10-15
1046Japan2026-10-24
1047Australia2026-10-09
1048France2026-10-26
1049Russia2026-10-22

On-Demand Data

NameIdCountryDate
Aruna M Saylors1000Germany2026-10-23
Emily I Foller1001United Kingdom2026-10-02
Jones U Slusarski1002Argentina2026-10-23
Jeanfrancois D Gaucho1003Brazil2026-10-24
Stacey O Stockham1004Russia2026-10-02
Julie M Rulapaugh1005Italy2026-10-28
Jennifer Z Shinko1006Canada2026-10-10
Misaki U Tollner1007Argentina2026-10-06
Leon T Foller1008Italy2026-10-12
Smith L Malet1009United Kingdom2026-10-03
Munro Q Amigon1010Japan2026-10-19
Morrow H Malet1011Canada2026-10-10
Clifford L Bowley1012Spain2026-10-29
Smith P Maclead1013Australia2026-10-12
Silvio X Butt1014France2026-10-13
Sinclair L Butt1015Germany2026-10-04
Francesco Q Caldarera1016Germany2026-10-26
Faith P Malet1017France2026-10-29
Silvio U Stenseth1018Russia2026-10-11
Misaki N Vocelka1019Russia2026-10-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa D DilliardArgentinaAsiya Javayant RENEWAL
Kaitlin V CampainFranceBernardo Dominic NEGOTIATION
Leja T DilliardGermanyIvan Magalhaes QUALIFIED
Leja R IturbideArgentinaBernardo Dominic RENEWAL
Stacey I ButtArgentinaIoni Bowcher NEW
Isabel D KuskoAustraliaBernardo Dominic RENEWAL
Stacey E MaletSpainAmy Elsner PROPOSAL
Mujtaba M WieserRussiaIoni Bowcher NEW
Antonio G FlosiJapanIoni Bowcher PROPOSAL
Emily J ButtUnited KingdomXuxue Feng PROPOSAL
Chavez Z WaycottGermanyElwin Sharvill NEGOTIATION
Ivar V VocelkaFranceAsiya Javayant NEW
Chavez X RulapaughAustraliaBernardo Dominic PROPOSAL
Smith F BologniaSpainXuxue Feng NEW
Smith I ShinkoCanadaBernardo Dominic PROPOSAL
Aika J RoysterArgentinaStephen Shaw QUALIFIED
Aditya Z DoeUnited KingdomIvan Magalhaes PROPOSAL
Johnson X ShinkoAustraliaElwin Sharvill NEGOTIATION
Julie J RulapaughAustraliaIvan Magalhaes RENEWAL
Ricardo Y MorascaGermanyElwin Sharvill NEW
Munro S AmigonGermanyAsiya Javayant QUALIFIED
Aditya Y ShinkoIndiaIoni Bowcher PROPOSAL
Deepesh E ChuiFranceIvan Magalhaes QUALIFIED
Mujtaba P CampainJapanIvan Magalhaes UNQUALIFIED
Chavez N PoquetteJapanAnna Fali RENEWAL
Munro Q PoquetteArgentinaIoni Bowcher PROPOSAL
Aditya J MaletFranceXuxue Feng RENEWAL
Maisha I InouyeGermanyStephen Shaw PROPOSAL
Deepesh X BriddickCanadaStephen Shaw UNQUALIFIED
Cody C AlbaresJapanBernardo Dominic NEW
Nicolas Q StockhamIndiaBernardo Dominic NEGOTIATION
Darci B StensethItalyXuxue Feng NEGOTIATION
Aika Z DarakjySpainAsiya Javayant NEGOTIATION
Greenwood T NestleArgentinaBernardo Dominic PROPOSAL
Munro N BriddickGermanyAnna Fali QUALIFIED
Sinclair Z GillianCanadaStephen Shaw UNQUALIFIED
Arvin I SaylorsItalyIvan Magalhaes PROPOSAL
Johnson U RimCanadaAmy Elsner RENEWAL
Julie F CaldareraUnited KingdomIoni Bowcher NEW
Maria K ChuiSpainXuxue Feng 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>