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
Aruna O StockhamGermanyAmy Elsner PROPOSAL
Isabel T PerinUnited KingdomStephen Shaw RENEWAL
Cody C BriddickArgentinaElwin Sharvill QUALIFIED
Ivar K RutaBrazilXuxue Feng QUALIFIED
Izzy V DoeCanadaOnyama Limba UNQUALIFIED
Deepesh B IturbideFranceIvan Magalhaes QUALIFIED
Francesco T GlickGermanyAnna Fali NEGOTIATION
Jefferson Z GarufiFranceIvan Magalhaes NEW
Silvio N ShinkoAustraliaIoni Bowcher NEW
Mujtaba K NickaRussiaIvan Magalhaes QUALIFIED
Izzy A GillianJapanElwin Sharvill RENEWAL
Nicolas V BologniaAustraliaOnyama Limba UNQUALIFIED
Kaitlin X AmigonAustraliaOnyama Limba QUALIFIED
Aditya T VocelkaJapanIvan Magalhaes NEGOTIATION
Aika C AmigonArgentinaAmy Elsner NEGOTIATION
Alejandro B BologniaJapanIvan Magalhaes RENEWAL
Leon V MaletAustraliaIvan Magalhaes NEGOTIATION
Aditya K WhobreyAustraliaStephen Shaw NEGOTIATION
Isabel H ChuiJapanAmy Elsner NEW
Aditya K AmigonArgentinaAsiya Javayant RENEWAL
Mayumi A NestleArgentinaIoni Bowcher PROPOSAL
Leja Y FlosiItalyXuxue Feng RENEWAL
Ashley Q WhobreyArgentinaAsiya Javayant NEW
Jennifer M AlbaresAustraliaOnyama Limba PROPOSAL
Chavez A GauchoJapanOnyama Limba NEGOTIATION
Ricardo W GlickAustraliaIvan Magalhaes RENEWAL
Silvio G NickaAustraliaXuxue Feng QUALIFIED
Aditya Y BriddickGermanyStephen Shaw RENEWAL
Clifford T SaylorsFranceElwin Sharvill RENEWAL
Wickens T BowleyBrazilIvan Magalhaes PROPOSAL
Julie L GarufiFranceXuxue Feng QUALIFIED
Misaki I FerenczArgentinaXuxue Feng NEGOTIATION
Munro L IturbideIndiaOnyama Limba NEW
Isabel V WaycottCanadaAmy Elsner UNQUALIFIED
Chavez S ButtBrazilStephen Shaw RENEWAL
Adams R SchemmerArgentinaAmy Elsner NEW
Izzy B PerinFranceAnna Fali NEGOTIATION
Maria Z SlusarskiCanadaXuxue Feng UNQUALIFIED
Johnson W StensethFranceAsiya Javayant RENEWAL
Aruna E FollerItalyIoni Bowcher NEGOTIATION
Chavez B NestleBrazilAnna Fali PROPOSAL
Octavia A WhobreyJapanIvan Magalhaes PROPOSAL
Mujtaba H WieserItalyAmy Elsner UNQUALIFIED
Darci V GillianAustraliaXuxue Feng NEW
Arvin F CampainIndiaAsiya Javayant RENEWAL
Stacey S NickaIndiaAmy Elsner NEW
Ivar J MaletRussiaElwin Sharvill NEW
Julie B RutaSpainBernardo Dominic UNQUALIFIED
Clifford T OstroskyAustraliaIvan Magalhaes PROPOSAL
Murillo Y RoysterIndiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie E MarrierFranceAmy Elsner QUALIFIED
Francesco P WieserUnited KingdomElwin Sharvill PROPOSAL
Stacey T FollerGermanyAsiya Javayant NEGOTIATION
Ashley A DoeUnited KingdomOnyama Limba QUALIFIED
Aruna T StockhamArgentinaElwin Sharvill NEGOTIATION
Antonio H BriddickRussiaBernardo Dominic UNQUALIFIED
Mujtaba W FollerSpainBernardo Dominic UNQUALIFIED
Costa M SergiItalyElwin Sharvill NEGOTIATION
Aika E MacleadSpainAsiya Javayant NEW
Izzy H IturbideGermanyIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco J PoquetteBrazil2026-10-03Benton, John B Jr PROPOSAL47Ivan Magalhaes
1001Jones V WieserFrance2026-10-26Chapman, Ross E Esq NEW6Amy Elsner
1002Mayumi Y StockhamUnited Kingdom2026-10-12Rousseaux, Michael Esq NEGOTIATION37Ivan Magalhaes
1003Jennifer D VocelkaCanada2026-10-11Chapman, Ross E Esq PROPOSAL64Onyama Limba
1004Jefferson M PaprockiCanada2026-10-19Chemel, James L Cpa RENEWAL0Amy Elsner
1005Mujtaba A MaletArgentina2026-10-09Dorl, James J Esq NEGOTIATION51Asiya Javayant
1006Munro U RulapaughUnited Kingdom2026-10-28Printing Dimensions QUALIFIED72Ioni Bowcher
1007Smith P PerinAustralia2026-10-14Commercial Press NEW30Ioni Bowcher
1008Salvatore Y FigeroaArgentina2026-10-27Rousseaux, Michael Esq RENEWAL41Stephen Shaw
1009Jennifer S PaprockiRussia2026-10-20Benton, John B Jr QUALIFIED76Amy Elsner
1010Morrow Z RimUnited Kingdom2026-10-24Feiner Bros PROPOSAL62Ivan Magalhaes
1011Izzy C DarakjyBrazil2026-10-24Feiner Bros QUALIFIED0Stephen Shaw
1012David Y DoeCanada2026-10-29Chemel, James L Cpa PROPOSAL36Xuxue Feng
1013Sinclair N GauchoArgentina2026-10-22Dorl, James J Esq RENEWAL84Bernardo Dominic
1014Aditya E BriddickIndia2026-10-03Dorl, James J Esq RENEWAL41Xuxue Feng
1015Aika Y SergiJapan2026-10-28King, Christopher A Esq PROPOSAL94Stephen Shaw
1016Ashley D TollnerSpain2026-10-22Chanay, Jeffrey A Esq NEGOTIATION79Onyama Limba
1017Stacey M PaprockiIndia2026-10-03Rousseaux, Michael Esq NEGOTIATION0Ivan Magalhaes
1018Jones P PaprockiUnited Kingdom2026-10-03Morlong Associates QUALIFIED99Xuxue Feng
1019Ivar M PerinGermany2026-10-04Chanay, Jeffrey A Esq UNQUALIFIED21Anna Fali
1020Kadeem W NickaIndia2026-10-10Feiner Bros RENEWAL10Amy Elsner
1021Kaitlin O BowleyCanada2026-10-16Benton, John B Jr PROPOSAL11Ivan Magalhaes
1022Adams X KuskoCanada2026-10-08Feltz Printing Service NEGOTIATION80Ioni Bowcher
1023Munro T BologniaAustralia2026-10-16King, Christopher A Esq QUALIFIED94Elwin Sharvill
1024Antonio Q KolmetzItaly2026-10-12Morlong Associates RENEWAL45Ioni Bowcher
1025Nicolas I GarufiGermany2026-10-08Truhlar And Truhlar Attys UNQUALIFIED88Onyama Limba
1026Tony U GauchoAustralia2026-10-04Dorl, James J Esq UNQUALIFIED22Asiya Javayant
1027Faith F GillianUnited Kingdom2026-10-19Chanay, Jeffrey A Esq NEW49Amy Elsner
1028Jeanfrancois Y CampainUnited Kingdom2026-10-23Chemel, James L Cpa RENEWAL7Asiya Javayant
1029Silvio D DoeItaly2026-10-12Commercial Press UNQUALIFIED29Elwin Sharvill
1030Emily V CaudyFrance2026-10-18Rousseaux, Michael Esq PROPOSAL3Bernardo Dominic
1031Maisha P MarrierFrance2026-10-17Feiner Bros RENEWAL36Ivan Magalhaes
1032Arvin Y DoeRussia2026-10-23Chemel, James L Cpa UNQUALIFIED64Ioni Bowcher
1033Morrow W KuskoGermany2026-10-27Printing Dimensions UNQUALIFIED30Bernardo Dominic
1034Izzy U VocelkaBrazil2026-10-08Commercial Press RENEWAL79Ivan Magalhaes
1035Faith T BowleyUnited Kingdom2026-10-08Printing Dimensions PROPOSAL21Ioni Bowcher
1036Alejandro Q NestleUnited Kingdom2026-10-18King, Christopher A Esq NEW86Elwin Sharvill
1037Rodrigues D SergiCanada2026-10-19Chapman, Ross E Esq NEGOTIATION48Asiya Javayant
1038Stacey Q OstroskyUnited Kingdom2026-10-18Rousseaux, Michael Esq PROPOSAL71Anna Fali
1039Stacey N NickaSpain2026-10-20Truhlar And Truhlar Attys NEW37Anna Fali
1040David N WhobreyFrance2026-10-27Benton, John B Jr UNQUALIFIED47Anna Fali
1041Deepesh R PerinArgentina2026-10-05Commercial Press RENEWAL92Ioni Bowcher
1042Leon B OldroydRussia2026-10-29Chemel, James L Cpa NEW6Amy Elsner
1043David S PerinUnited Kingdom2026-10-26Chemel, James L Cpa NEGOTIATION12Stephen Shaw
1044Faith R FollerRussia2026-10-30Chanay, Jeffrey A Esq NEGOTIATION51Bernardo Dominic
1045Maria R MaletSpain2026-10-07Rousseaux, Michael Esq NEW98Onyama Limba
1046Johnson E GarufiIndia2026-10-09Commercial Press QUALIFIED49Asiya Javayant
1047Mayumi J SaylorsJapan2026-10-03Dorl, James J Esq QUALIFIED52Stephen Shaw
1048Octavia Z ButtRussia2026-10-22Truhlar And Truhlar Attys PROPOSAL10Ivan Magalhaes
1049Adams F RutaCanada2026-10-26Rangoni Of Florence PROPOSAL6Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ashley D InouyeItalyStephen Shaw NEW
Murillo T BologniaFranceElwin Sharvill PROPOSAL
Aika S SchemmerRussiaAsiya Javayant QUALIFIED
Aruna Q SergiUnited KingdomAmy Elsner PROPOSAL
Aika B FlosiRussiaIoni Bowcher QUALIFIED
Deepesh S SaylorsItalyAsiya Javayant RENEWAL
Murillo V NestleJapanStephen Shaw PROPOSAL
Rodrigues U GillianBrazilOnyama Limba PROPOSAL
Chavez Z GillianBrazilAmy Elsner UNQUALIFIED
Smith O PoquetteIndiaXuxue Feng NEW
Sinclair E BowleyRussiaOnyama Limba PROPOSAL
Claire W SergiBrazilAmy Elsner RENEWAL
Aika Z CaudyArgentinaStephen Shaw NEGOTIATION
Deepesh R SlusarskiIndiaXuxue Feng RENEWAL
Faith D DoeBrazilIvan Magalhaes RENEWAL
Ricardo T FollerGermanyElwin Sharvill QUALIFIED
Rodrigues Y ChuiSpainAsiya Javayant NEW
Izzy P MaletIndiaElwin Sharvill UNQUALIFIED
Smith W RutaGermanyIoni Bowcher UNQUALIFIED
Alejandro I RulapaughSpainIoni Bowcher PROPOSAL
Johnson U SlusarskiItalyAmy Elsner NEW
Emily O FigeroaIndiaElwin Sharvill UNQUALIFIED
Aruna Q TollnerBrazilIoni Bowcher PROPOSAL
Greenwood A WieserArgentinaIoni Bowcher NEGOTIATION
Emily S GauchoFranceIvan Magalhaes UNQUALIFIED
Misaki N GauchoRussiaOnyama Limba RENEWAL
Adams N AlbaresIndiaAsiya Javayant QUALIFIED
Izzy P PoquetteAustraliaAmy Elsner NEGOTIATION
Silvio B BologniaIndiaBernardo Dominic UNQUALIFIED
Julie W WhobreyCanadaAnna Fali NEGOTIATION
Claire L WaycottFranceBernardo Dominic RENEWAL
Ivar R RutaJapanStephen Shaw NEW
Rodrigues E MacleadRussiaStephen Shaw UNQUALIFIED
Salvatore Y GauchoArgentinaIvan Magalhaes NEW
Smith I RutaRussiaElwin Sharvill QUALIFIED
Chavez I ChuiFranceAmy Elsner QUALIFIED
Kaitlin J BowleyJapanStephen Shaw NEW
Misaki Q AmigonArgentinaAsiya Javayant PROPOSAL
Jennifer L DilliardSpainOnyama Limba UNQUALIFIED
Costa H GauchoIndiaOnyama Limba RENEWAL
Alejandro U VocelkaSpainAmy Elsner NEW
Wickens K NickaItalyStephen Shaw NEGOTIATION
Morrow I ShinkoSpainIvan Magalhaes NEW
Greenwood F OstroskyRussiaOnyama Limba NEGOTIATION
Claire H AmigonUnited KingdomAmy Elsner QUALIFIED
Leja K DilliardIndiaAnna Fali PROPOSAL
Arvin L PaprockiFranceElwin Sharvill NEW
Stacey N WieserJapanIvan Magalhaes QUALIFIED
Jones Y FigeroaIndiaOnyama Limba PROPOSAL
Silvio Y VenereFranceAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Salvatore E Albares
Ricardo W Ruta
Kaitlin Z Bowley
Leja I Sergi
Murillo F Bolognia
Alejandro F Glick
Jeanfrancois R Dilliard
James F Foller
Ashley X Caldarera
Sinclair G Glick
Leja X Maclead
Kadeem A Briddick
Salvatore B Rulapaugh
Mayumi J Ferencz
Jennifer J Vocelka
Leja B Venere
Costa S Whobrey
Silvio U Inouye
Ricardo G Rim
Aditya J Whobrey
Jefferson M Caudy
Julie J Bowley
Nicolas P Malet
David J Royster
James O Maclead
Nicolas J Chui
Izzy F Gaucho
Misaki N Ferencz
Ivar B Rim
Aruna M Shinko
Rodrigues B Ferencz
Mujtaba O Inouye
Maisha S Oldroyd
Munro W Kolmetz
Ricardo Y Venere
Clifford V Sergi
Jones R Oldroyd
Misaki S Slusarski
Jones Z Rim
Greenwood C Tollner
Silvio A Slusarski
Faith P Tollner
Rodrigues H Butt
Stacey J Rulapaugh
Stacey V Venere
Cody Y Ostrosky
Ashley E Campain
Maria D Inouye
Aika S Albares
Salvatore Y Inouye
IdCountryDate
1000Japan2026-10-07
1001Argentina2026-10-27
1002Italy2026-10-17
1003Italy2026-10-27
1004Argentina2026-10-09
1005India2026-10-12
1006Japan2026-10-05
1007France2026-10-05
1008Germany2026-10-04
1009Spain2026-10-31
1010Australia2026-10-29
1011India2026-10-07
1012Australia2026-10-21
1013Canada2026-10-27
1014Argentina2026-10-08
1015Canada2026-10-03
1016Japan2026-10-10
1017Japan2026-10-28
1018Russia2026-10-14
1019Canada2026-11-01
1020Germany2026-10-09
1021Brazil2026-10-22
1022Canada2026-10-20
1023Germany2026-10-04
1024Russia2026-10-10
1025United Kingdom2026-10-28
1026United Kingdom2026-10-21
1027Germany2026-10-13
1028Japan2026-10-23
1029Germany2026-10-13
1030Italy2026-10-04
1031Russia2026-10-12
1032Argentina2026-10-30
1033Germany2026-10-03
1034Japan2026-10-27
1035Brazil2026-10-11
1036Spain2026-10-18
1037Germany2026-10-15
1038Canada2026-10-30
1039Japan2026-10-11
1040Spain2026-10-25
1041Spain2026-10-28
1042Germany2026-10-29
1043Japan2026-10-15
1044Russia2026-10-23
1045United Kingdom2026-10-20
1046Italy2026-10-14
1047Canada2026-10-22
1048Germany2026-10-10
1049Japan2026-10-28

On-Demand Data

NameIdCountryDate
Faith K Waycott1000Russia2026-10-25
Misaki W Tollner1001Japan2026-10-22
Leja X Amigon1002Russia2026-10-03
Sinclair Y Kusko1003United Kingdom2026-10-12
Juan J Rim1004Australia2026-10-29
Faith U Whobrey1005Spain2026-10-14
Murillo T Garufi1006United Kingdom2026-10-19
Kaitlin G Glick1007Spain2026-10-10
Morrow D Iturbide1008Germany2026-10-29
Aditya Q Campain1009Russia2026-10-17
Leja W Flosi1010Germany2026-10-23
Mayumi H Waycott1011Germany2026-10-31
Ashley A Foller1012Australia2026-10-15
Salvatore D Nicka1013France2026-10-11
Rodrigues K Vocelka1014Argentina2026-10-06
Claire O Poquette1015Japan2026-10-25
Salvatore L Dilliard1016Australia2026-10-09
Julie O Waycott1017Japan2026-10-08
Chavez Z Stenseth1018Japan2026-10-28
Emily W Nicka1019France2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha S KuskoRussiaOnyama Limba NEGOTIATION
Munro D WieserGermanyAsiya Javayant RENEWAL
Faith K InouyeJapanElwin Sharvill QUALIFIED
Munro W IturbideUnited KingdomAsiya Javayant PROPOSAL
Ivar F MaletGermanyIoni Bowcher QUALIFIED
Clifford M MaletUnited KingdomXuxue Feng UNQUALIFIED
Jefferson H PerinJapanBernardo Dominic RENEWAL
Cody Y InouyeItalyStephen Shaw QUALIFIED
Antonio G FlosiAustraliaElwin Sharvill NEGOTIATION
Kaitlin I ShinkoJapanXuxue Feng UNQUALIFIED
Costa K VenereAustraliaIoni Bowcher RENEWAL
David I AmigonIndiaAnna Fali NEW
Leon J KolmetzIndiaElwin Sharvill PROPOSAL
Kaitlin V StockhamArgentinaAmy Elsner UNQUALIFIED
Murillo M WaycottRussiaIoni Bowcher NEW
Maisha M NestleItalyAmy Elsner NEGOTIATION
Nicolas B BowleyBrazilIvan Magalhaes PROPOSAL
Leon V StockhamSpainAsiya Javayant NEGOTIATION
Jones N IturbideUnited KingdomBernardo Dominic QUALIFIED
Juan A MacleadRussiaXuxue Feng NEW
Rodrigues O ChuiFranceAnna Fali PROPOSAL
Aditya K InouyeFranceAnna Fali UNQUALIFIED
Sinclair W GlickCanadaIvan Magalhaes UNQUALIFIED
Julie X StensethRussiaXuxue Feng NEGOTIATION
Arvin C MarrierJapanStephen Shaw NEW
Maisha T MacleadAustraliaIvan Magalhaes RENEWAL
Rodrigues J RoysterRussiaIoni Bowcher NEGOTIATION
Isabel N OldroydGermanyElwin Sharvill PROPOSAL
Darci S WieserItalyAsiya Javayant UNQUALIFIED
Emily D IturbideCanadaAmy Elsner RENEWAL
Morrow W SchemmerItalyStephen Shaw PROPOSAL
Francesco R WaycottFranceAmy Elsner PROPOSAL
Munro F GillianUnited KingdomAsiya Javayant QUALIFIED
Faith M CaldareraBrazilAsiya Javayant UNQUALIFIED
Emily H WhobreyUnited KingdomXuxue Feng RENEWAL
Mujtaba K FlosiIndiaAsiya Javayant NEGOTIATION
Mayumi B PerinGermanyIoni Bowcher PROPOSAL
Mujtaba C OldroydAustraliaAmy Elsner NEW
David Y WieserAustraliaStephen Shaw NEGOTIATION
Izzy M InouyeGermanyAsiya Javayant 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>