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
James M BowleyItalyIvan Magalhaes NEGOTIATION
Ashley E IturbideBrazilBernardo Dominic QUALIFIED
Jeanfrancois Y StockhamFranceOnyama Limba NEW
Jones L ShinkoBrazilIoni Bowcher RENEWAL
James S NickaAustraliaStephen Shaw UNQUALIFIED
Adams I GarufiFranceAmy Elsner QUALIFIED
Kaitlin F MorascaUnited KingdomIvan Magalhaes PROPOSAL
Arvin A KolmetzCanadaIoni Bowcher RENEWAL
Salvatore R PaprockiBrazilAsiya Javayant NEGOTIATION
Salvatore D PoquetteIndiaIvan Magalhaes QUALIFIED
Jefferson J SaylorsItalyBernardo Dominic NEGOTIATION
Isabel A RoysterBrazilOnyama Limba NEGOTIATION
Greenwood A NestleItalyElwin Sharvill UNQUALIFIED
Misaki R PerinArgentinaElwin Sharvill NEGOTIATION
Clifford A GauchoBrazilIvan Magalhaes NEW
Munro U MarrierSpainElwin Sharvill RENEWAL
Julie X GarufiSpainOnyama Limba RENEWAL
Salvatore Z FigeroaItalyIvan Magalhaes QUALIFIED
Jones G CaudyBrazilAmy Elsner RENEWAL
Aditya C ChuiArgentinaStephen Shaw NEW
Rodrigues X MacleadRussiaIoni Bowcher RENEWAL
Octavia W ShinkoBrazilAmy Elsner NEGOTIATION
Aditya D CampainFranceIoni Bowcher NEGOTIATION
Rodrigues F OstroskyIndiaStephen Shaw UNQUALIFIED
Stacey S GauchoAustraliaOnyama Limba RENEWAL
Ricardo T PaprockiSpainElwin Sharvill UNQUALIFIED
Tony O StensethAustraliaXuxue Feng NEW
Francesco U CampainAustraliaXuxue Feng UNQUALIFIED
Murillo O BriddickItalyStephen Shaw NEGOTIATION
Deepesh V GillianFranceIvan Magalhaes RENEWAL
Leja L BriddickJapanXuxue Feng NEGOTIATION
Antonio U RoysterSpainBernardo Dominic UNQUALIFIED
Chavez N AmigonItalyXuxue Feng UNQUALIFIED
Rodrigues N MaletAustraliaBernardo Dominic NEW
Sinclair A GillianIndiaXuxue Feng NEGOTIATION
Kadeem W PoquetteGermanyOnyama Limba QUALIFIED
Nicolas F FlosiUnited KingdomIvan Magalhaes PROPOSAL
Juan T FlosiArgentinaAmy Elsner PROPOSAL
Johnson V MarrierSpainXuxue Feng NEW
Ricardo S SchemmerGermanyAnna Fali UNQUALIFIED
Salvatore B SchemmerSpainIoni Bowcher UNQUALIFIED
Isabel O WaycottGermanyBernardo Dominic QUALIFIED
Leja G PoquetteRussiaOnyama Limba NEGOTIATION
Octavia K BowleyAustraliaAmy Elsner NEGOTIATION
Emily W BriddickJapanAmy Elsner RENEWAL
Antonio S FigeroaArgentinaXuxue Feng RENEWAL
James M InouyeUnited KingdomIoni Bowcher PROPOSAL
Rodrigues M FigeroaSpainStephen Shaw QUALIFIED
Rodrigues G NickaRussiaElwin Sharvill NEW
Leon X MacleadArgentinaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria W TollnerGermanyIvan Magalhaes UNQUALIFIED
Julie Q StensethFranceElwin Sharvill UNQUALIFIED
Aditya V ShinkoFranceAnna Fali NEW
Maisha Y DarakjySpainOnyama Limba PROPOSAL
Murillo F RutaCanadaIoni Bowcher UNQUALIFIED
Aika S RutaFranceElwin Sharvill NEGOTIATION
Morrow H AmigonSpainBernardo Dominic RENEWAL
Antonio U WaycottArgentinaStephen Shaw NEGOTIATION
Cody N CaudyBrazilOnyama Limba PROPOSAL
Aditya Q FollerJapanElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues R InouyeSpain2026-11-04Rousseaux, Michael Esq NEGOTIATION5Stephen Shaw
1001James P CaudyAustralia2026-11-06Chapman, Ross E Esq QUALIFIED84Stephen Shaw
1002Faith C GauchoJapan2026-10-15Commercial Press RENEWAL1Ioni Bowcher
1003Silvio E PaprockiArgentina2026-10-17Morlong Associates RENEWAL77Elwin Sharvill
1004Clifford R NestleSpain2026-10-29Morlong Associates UNQUALIFIED84Elwin Sharvill
1005Stacey Z OstroskyRussia2026-10-16Rousseaux, Michael Esq UNQUALIFIED27Elwin Sharvill
1006Munro V GarufiUnited Kingdom2026-10-29Truhlar And Truhlar Attys UNQUALIFIED95Elwin Sharvill
1007Octavia Z TollnerAustralia2026-10-17Chapman, Ross E Esq PROPOSAL20Bernardo Dominic
1008Costa Y StensethUnited Kingdom2026-11-05Feiner Bros QUALIFIED52Ivan Magalhaes
1009Isabel N StockhamJapan2026-10-31Feltz Printing Service RENEWAL82Xuxue Feng
1010Francesco C AlbaresAustralia2026-11-01Feiner Bros PROPOSAL46Anna Fali
1011Kadeem F GarufiRussia2026-11-05Chanay, Jeffrey A Esq UNQUALIFIED12Ivan Magalhaes
1012Munro M GauchoAustralia2026-11-01Buckley Miller Wright PROPOSAL81Onyama Limba
1013Morrow F MacleadArgentina2026-11-10Truhlar And Truhlar Attys NEGOTIATION99Anna Fali
1014David W FlosiItaly2026-11-02Rangoni Of Florence PROPOSAL62Ioni Bowcher
1015Ivar R WhobreyIndia2026-11-06Truhlar And Truhlar Attys NEW63Ioni Bowcher
1016Alejandro O MaletJapan2026-10-24Feltz Printing Service NEW19Stephen Shaw
1017Maisha C WhobreyFrance2026-10-25Rangoni Of Florence NEW55Asiya Javayant
1018David D ChuiJapan2026-11-12Chapman, Ross E Esq UNQUALIFIED11Bernardo Dominic
1019Wickens M RoysterAustralia2026-11-04Morlong Associates RENEWAL66Bernardo Dominic
1020James K StensethUnited Kingdom2026-10-24Feiner Bros PROPOSAL61Elwin Sharvill
1021Julie S AlbaresSpain2026-10-24Feltz Printing Service NEGOTIATION70Ioni Bowcher
1022Maria T NestleSpain2026-10-23Feiner Bros RENEWAL67Bernardo Dominic
1023Mujtaba M SaylorsGermany2026-11-05King, Christopher A Esq NEW84Elwin Sharvill
1024Kadeem R GlickAustralia2026-10-26Buckley Miller Wright RENEWAL87Amy Elsner
1025Faith B MaletArgentina2026-10-20Truhlar And Truhlar Attys QUALIFIED75Bernardo Dominic
1026Mujtaba X ChuiGermany2026-11-11Chanay, Jeffrey A Esq UNQUALIFIED97Bernardo Dominic
1027Jeanfrancois Y WhobreyJapan2026-10-15Feltz Printing Service UNQUALIFIED69Bernardo Dominic
1028Smith H SergiSpain2026-11-12Chapman, Ross E Esq UNQUALIFIED64Ivan Magalhaes
1029Ashley P SergiSpain2026-10-17King, Christopher A Esq RENEWAL77Asiya Javayant
1030Jeanfrancois F BologniaFrance2026-10-14Chapman, Ross E Esq UNQUALIFIED92Stephen Shaw
1031Cody U VocelkaFrance2026-10-17Buckley Miller Wright RENEWAL80Amy Elsner
1032Rodrigues F MaletItaly2026-11-04Dorl, James J Esq RENEWAL6Elwin Sharvill
1033Maria B WaycottItaly2026-11-04Truhlar And Truhlar Attys NEW34Ivan Magalhaes
1034Alejandro H SaylorsFrance2026-10-23Truhlar And Truhlar Attys PROPOSAL59Xuxue Feng
1035Leon V PerinSpain2026-10-26Chemel, James L Cpa NEW6Xuxue Feng
1036Salvatore I WhobreyGermany2026-10-27Truhlar And Truhlar Attys QUALIFIED56Anna Fali
1037Francesco V KolmetzBrazil2026-10-30Commercial Press UNQUALIFIED84Bernardo Dominic
1038Aditya R InouyeIndia2026-11-02Feltz Printing Service PROPOSAL72Ivan Magalhaes
1039Julie J StockhamRussia2026-10-30Commercial Press NEW77Xuxue Feng
1040Tony W SlusarskiRussia2026-10-31Chanay, Jeffrey A Esq PROPOSAL48Amy Elsner
1041Ashley Y WhobreyCanada2026-10-23Rangoni Of Florence PROPOSAL49Asiya Javayant
1042Tony N DoeCanada2026-11-01Feiner Bros QUALIFIED68Asiya Javayant
1043Julie Z MaletAustralia2026-11-02Buckley Miller Wright NEGOTIATION20Anna Fali
1044Octavia N GillianAustralia2026-10-14King, Christopher A Esq UNQUALIFIED77Stephen Shaw
1045Johnson P MorascaAustralia2026-11-04Chemel, James L Cpa UNQUALIFIED61Anna Fali
1046Arvin C FollerUnited Kingdom2026-10-25Printing Dimensions NEGOTIATION20Bernardo Dominic
1047Salvatore V SergiItaly2026-11-10Rangoni Of Florence NEW42Anna Fali
1048Deepesh A DilliardRussia2026-10-27Buckley Miller Wright UNQUALIFIED42Bernardo Dominic
1049Julie G InouyeCanada2026-11-01Truhlar And Truhlar Attys RENEWAL5Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Salvatore U FlosiAustraliaIvan Magalhaes NEW
Juan N DarakjyUnited KingdomBernardo Dominic NEW
David F GauchoItalyIoni Bowcher UNQUALIFIED
Arvin J GlickItalyAsiya Javayant UNQUALIFIED
Faith W TollnerRussiaOnyama Limba UNQUALIFIED
Johnson Q RoysterCanadaIvan Magalhaes PROPOSAL
Antonio R KolmetzUnited KingdomAnna Fali NEW
Munro C PaprockiRussiaIoni Bowcher UNQUALIFIED
Aditya D MaletRussiaAmy Elsner QUALIFIED
Jones O OstroskyArgentinaIoni Bowcher PROPOSAL
Julie A InouyeGermanyElwin Sharvill NEGOTIATION
Jefferson G CaldareraUnited KingdomIoni Bowcher NEGOTIATION
James L MaletAustraliaAnna Fali QUALIFIED
Francesco J NickaAustraliaAmy Elsner RENEWAL
Kaitlin A AlbaresGermanyBernardo Dominic NEW
Tony O KuskoBrazilXuxue Feng NEW
Jennifer G ChuiCanadaElwin Sharvill UNQUALIFIED
Izzy Z CampainGermanyIoni Bowcher UNQUALIFIED
Jennifer D MaletSpainBernardo Dominic NEW
Kaitlin Q PoquetteBrazilAsiya Javayant RENEWAL
Izzy W ButtBrazilIvan Magalhaes QUALIFIED
Alejandro U WieserBrazilIoni Bowcher NEW
Jefferson G ShinkoRussiaIoni Bowcher PROPOSAL
Salvatore U PoquetteItalyXuxue Feng UNQUALIFIED
Jeanfrancois W OldroydIndiaElwin Sharvill QUALIFIED
Mayumi C MaletIndiaElwin Sharvill PROPOSAL
Francesco S RutaItalyBernardo Dominic RENEWAL
Chavez O RimSpainXuxue Feng QUALIFIED
Antonio R NestleGermanyAsiya Javayant QUALIFIED
Deepesh E SchemmerFranceAnna Fali QUALIFIED
Misaki F DoeItalyXuxue Feng UNQUALIFIED
Jones I OstroskyUnited KingdomAnna Fali QUALIFIED
Morrow L VenereBrazilIoni Bowcher RENEWAL
Jones H FerenczIndiaAnna Fali NEGOTIATION
Adams L OldroydUnited KingdomElwin Sharvill PROPOSAL
Tony B MaletSpainBernardo Dominic RENEWAL
Salvatore J DilliardCanadaAsiya Javayant QUALIFIED
Francesco D MaletAustraliaOnyama Limba NEW
Stacey M DilliardGermanyAsiya Javayant PROPOSAL
Murillo W KuskoSpainAnna Fali RENEWAL
Salvatore Z GlickFranceAnna Fali UNQUALIFIED
Antonio G ButtUnited KingdomElwin Sharvill QUALIFIED
Arvin J IturbideItalyIoni Bowcher RENEWAL
Maisha U DarakjyUnited KingdomAmy Elsner RENEWAL
Francesco R GarufiFranceAsiya Javayant QUALIFIED
Sinclair Q KolmetzSpainAmy Elsner PROPOSAL
Aruna E CampainBrazilStephen Shaw UNQUALIFIED
Francesco H PerinCanadaIvan Magalhaes QUALIFIED
Munro B KolmetzRussiaStephen Shaw PROPOSAL
James Q MaletArgentinaIoni Bowcher RENEWAL
Frozen Columns
Name
Stacey G Nestle
Kaitlin T Rim
Morrow Q Sergi
Aruna M Maclead
Deepesh U Venere
Julie I Schemmer
Aditya B Briddick
Salvatore D Chui
Jennifer C Waycott
Adams K Foller
Cody P Schemmer
Alejandro N Foller
Aruna Q Campain
David K Amigon
Stacey M Stockham
Julie Q Doe
Smith K Saylors
Mayumi V Malet
Mayumi O Royster
Deepesh G Flosi
Deepesh Z Wieser
Leja P Foller
Murillo O Caldarera
Costa N Oldroyd
Jones S Malet
Misaki O Malet
Mayumi N Paprocki
David A Bowley
Jefferson Y Stockham
Morrow Z Inouye
James T Morasca
Aika L Gillian
Chavez K Ruta
Tony Q Oldroyd
Julie Z Caudy
Munro O Flosi
Murillo J Albares
Arvin D Malet
James D Royster
Nicolas K Garufi
Claire Z Stenseth
Leon O Caldarera
Deepesh X Sergi
Emily N Campain
Nicolas Y Whobrey
Adams F Wieser
Darci N Butt
Silvio A Vocelka
Jeanfrancois W Wieser
Julie N Albares
IdCountryDate
1000Russia2026-10-14
1001Australia2026-11-12
1002Argentina2026-11-07
1003United Kingdom2026-10-20
1004Spain2026-11-04
1005India2026-10-22
1006Japan2026-10-18
1007Italy2026-11-06
1008Brazil2026-11-02
1009Italy2026-10-28
1010Germany2026-11-02
1011France2026-11-10
1012Japan2026-11-01
1013Japan2026-11-09
1014Japan2026-11-07
1015Australia2026-10-27
1016Japan2026-10-14
1017Italy2026-11-02
1018Argentina2026-11-04
1019Argentina2026-10-14
1020United Kingdom2026-11-01
1021Germany2026-10-27
1022Japan2026-11-09
1023Australia2026-11-06
1024Australia2026-10-22
1025Germany2026-10-24
1026Japan2026-10-27
1027Japan2026-11-05
1028Canada2026-10-30
1029Japan2026-10-18
1030Spain2026-10-16
1031India2026-11-03
1032Argentina2026-10-21
1033Germany2026-11-01
1034France2026-11-04
1035Spain2026-11-03
1036Canada2026-10-14
1037Brazil2026-10-18
1038France2026-10-14
1039Russia2026-10-26
1040Argentina2026-10-29
1041Italy2026-10-27
1042Italy2026-10-26
1043Spain2026-10-29
1044Spain2026-11-10
1045Argentina2026-11-04
1046Brazil2026-10-18
1047Canada2026-10-29
1048Spain2026-11-12
1049Argentina2026-11-09

On-Demand Data

NameIdCountryDate
Rodrigues T Glick1000Italy2026-10-23
Deepesh D Iturbide1001Russia2026-11-07
Antonio K Maclead1002Argentina2026-10-31
Aruna P Foller1003Russia2026-10-16
Chavez J Ruta1004India2026-11-05
Misaki U Iturbide1005Italy2026-11-02
Octavia O Darakjy1006United Kingdom2026-11-05
Francesco M Malet1007India2026-11-02
Stacey X Foller1008France2026-10-30
Wickens M Perin1009Australia2026-10-28
Deepesh F Iturbide1010Germany2026-10-29
Jefferson K Gillian1011Russia2026-10-17
Greenwood Y Oldroyd1012Germany2026-10-23
Morrow E Albares1013India2026-10-28
Aruna K Butt1014France2026-10-16
Leon Y Kolmetz1015Germany2026-10-25
Munro O Vocelka1016United Kingdom2026-11-12
Morrow J Perin1017Spain2026-11-06
Emily X Kusko1018Spain2026-10-18
Kadeem U Slusarski1019Germany2026-10-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood A RimAustraliaAmy Elsner NEGOTIATION
Silvio B MaletArgentinaStephen Shaw UNQUALIFIED
Alejandro R MaletCanadaAmy Elsner NEGOTIATION
Aditya E BowleySpainBernardo Dominic NEW
Maria Y GarufiRussiaIvan Magalhaes QUALIFIED
Darci V GauchoGermanyStephen Shaw NEGOTIATION
Misaki N NestleArgentinaAmy Elsner NEW
Aruna M GauchoUnited KingdomBernardo Dominic QUALIFIED
Alejandro N MacleadCanadaBernardo Dominic PROPOSAL
Ivar J KolmetzGermanyStephen Shaw UNQUALIFIED
Aditya D CampainSpainAmy Elsner NEW
Ashley A RulapaughIndiaAnna Fali NEW
Cody X ChuiGermanyXuxue Feng UNQUALIFIED
Nicolas H WieserJapanBernardo Dominic NEGOTIATION
Isabel U CampainJapanElwin Sharvill PROPOSAL
Wickens Y BowleyAustraliaElwin Sharvill PROPOSAL
Claire D NestleCanadaAsiya Javayant NEGOTIATION
Jeanfrancois Q SchemmerArgentinaAmy Elsner NEGOTIATION
Antonio V FlosiSpainIvan Magalhaes RENEWAL
Adams N WaycottCanadaAmy Elsner NEW
Cody W NestleAustraliaBernardo Dominic QUALIFIED
Ivar L DarakjyFranceOnyama Limba UNQUALIFIED
Aika I RimGermanyIoni Bowcher NEGOTIATION
Aditya M IturbideArgentinaAmy Elsner UNQUALIFIED
Wickens Q GauchoItalyAnna Fali PROPOSAL
Faith N FigeroaAustraliaOnyama Limba UNQUALIFIED
Nicolas Q WieserGermanyAnna Fali UNQUALIFIED
Smith D CaldareraArgentinaBernardo Dominic QUALIFIED
Julie F DoeJapanIoni Bowcher UNQUALIFIED
Murillo Q MorascaCanadaAnna Fali PROPOSAL
Claire H CaldareraItalyIoni Bowcher NEGOTIATION
Izzy F GillianBrazilStephen Shaw PROPOSAL
Ricardo Y NickaGermanyAsiya Javayant RENEWAL
Nicolas O MorascaCanadaStephen Shaw UNQUALIFIED
Morrow R SaylorsBrazilIoni Bowcher QUALIFIED
Ivar L KuskoUnited KingdomBernardo Dominic RENEWAL
Misaki C GillianJapanAmy Elsner UNQUALIFIED
Misaki G CaldareraUnited KingdomIoni Bowcher NEW
Wickens M DoeBrazilStephen Shaw QUALIFIED
Ashley Z GlickUnited KingdomElwin Sharvill 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>