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 W RulapaughSpainBernardo Dominic NEW
Silvio Z ButtAustraliaOnyama Limba UNQUALIFIED
Mujtaba P RulapaughAustraliaBernardo Dominic NEW
Ivar T GlickJapanAnna Fali PROPOSAL
Claire M ChuiArgentinaBernardo Dominic RENEWAL
Jefferson Z WieserUnited KingdomAsiya Javayant RENEWAL
David N WaycottRussiaAnna Fali NEGOTIATION
Murillo J ShinkoCanadaOnyama Limba QUALIFIED
Ivar E GauchoAustraliaStephen Shaw RENEWAL
Salvatore D InouyeIndiaBernardo Dominic RENEWAL
Rodrigues B MaletJapanBernardo Dominic UNQUALIFIED
Wickens C TollnerCanadaOnyama Limba RENEWAL
Aditya Z BowleyJapanElwin Sharvill QUALIFIED
Deepesh Z WieserJapanOnyama Limba NEW
Kaitlin G BowleyFranceOnyama Limba RENEWAL
Jefferson M BowleySpainAmy Elsner QUALIFIED
Izzy D CaldareraAustraliaIoni Bowcher NEGOTIATION
Ashley D ShinkoRussiaOnyama Limba RENEWAL
Chavez E StockhamSpainOnyama Limba UNQUALIFIED
Johnson X BowleySpainIoni Bowcher PROPOSAL
Darci X ButtIndiaIvan Magalhaes NEGOTIATION
Maria H FollerAustraliaIoni Bowcher NEW
Stacey E DarakjyArgentinaXuxue Feng PROPOSAL
Greenwood D NickaFranceIoni Bowcher NEW
Jeanfrancois F GillianCanadaIvan Magalhaes NEW
Deepesh H RimItalyAmy Elsner QUALIFIED
Darci T TollnerUnited KingdomElwin Sharvill QUALIFIED
Wickens A VocelkaJapanBernardo Dominic QUALIFIED
Tony S SchemmerGermanyOnyama Limba QUALIFIED
Maria F MaletIndiaElwin Sharvill NEGOTIATION
Claire M DilliardGermanyBernardo Dominic QUALIFIED
Isabel Y DarakjyBrazilIoni Bowcher QUALIFIED
Murillo P InouyeRussiaBernardo Dominic UNQUALIFIED
Deepesh R BowleyCanadaAnna Fali QUALIFIED
Claire F NestleIndiaIvan Magalhaes PROPOSAL
Greenwood P NickaSpainIvan Magalhaes UNQUALIFIED
Kaitlin Q BologniaSpainBernardo Dominic NEW
Clifford O ButtItalyAmy Elsner QUALIFIED
Aika J FerenczFranceAmy Elsner RENEWAL
Jennifer J RulapaughIndiaAnna Fali NEGOTIATION
Ricardo U DilliardRussiaIoni Bowcher RENEWAL
Jones G AlbaresJapanOnyama Limba RENEWAL
Clifford W StockhamArgentinaIoni Bowcher PROPOSAL
Darci C GauchoGermanyAnna Fali PROPOSAL
Izzy N AmigonUnited KingdomIvan Magalhaes PROPOSAL
Claire I GarufiItalyElwin Sharvill NEW
Emily Q RutaItalyStephen Shaw NEW
Tony E KolmetzFranceAmy Elsner UNQUALIFIED
Kadeem C SaylorsRussiaIvan Magalhaes QUALIFIED
Ivar H CaldareraFranceIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Johnson C CaldareraCanadaXuxue Feng PROPOSAL
Chavez R BologniaIndiaIoni Bowcher UNQUALIFIED
David P VocelkaItalyStephen Shaw RENEWAL
Chavez H MaletSpainOnyama Limba NEW
Claire H TollnerUnited KingdomXuxue Feng UNQUALIFIED
Francesco O InouyeRussiaOnyama Limba NEW
Clifford Y BowleyItalyBernardo Dominic PROPOSAL
David L MacleadCanadaIoni Bowcher PROPOSAL
Nicolas Z FigeroaRussiaElwin Sharvill RENEWAL
Jeanfrancois F SlusarskiAustraliaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood C WieserBrazil2026-10-24Chapman, Ross E Esq QUALIFIED58Stephen Shaw
1001Isabel R KuskoAustralia2026-10-12Feiner Bros RENEWAL79Onyama Limba
1002Faith F RimGermany2026-10-09Rousseaux, Michael Esq PROPOSAL4Onyama Limba
1003Darci E SaylorsFrance2026-10-17Rangoni Of Florence QUALIFIED61Stephen Shaw
1004Jeanfrancois S FollerRussia2026-10-26Morlong Associates UNQUALIFIED43Xuxue Feng
1005James N ShinkoItaly2026-10-21Buckley Miller Wright UNQUALIFIED56Amy Elsner
1006Morrow U InouyeUnited Kingdom2026-10-15Printing Dimensions RENEWAL86Anna Fali
1007Ricardo R OstroskyArgentina2026-10-07Printing Dimensions QUALIFIED14Ioni Bowcher
1008Isabel S MarrierUnited Kingdom2026-10-11Chapman, Ross E Esq QUALIFIED42Ivan Magalhaes
1009Salvatore W OldroydRussia2026-10-08Chapman, Ross E Esq NEGOTIATION5Xuxue Feng
1010Maria F PerinIndia2026-10-31Rangoni Of Florence QUALIFIED32Amy Elsner
1011Kaitlin F SergiArgentina2026-10-28Chapman, Ross E Esq NEW42Ioni Bowcher
1012Morrow H StockhamGermany2026-10-31Dorl, James J Esq RENEWAL61Anna Fali
1013David Z NickaAustralia2026-10-08Morlong Associates NEGOTIATION93Elwin Sharvill
1014Maria O GlickUnited Kingdom2026-10-12King, Christopher A Esq PROPOSAL42Xuxue Feng
1015David P NickaItaly2026-10-21Dorl, James J Esq PROPOSAL40Elwin Sharvill
1016Arvin U VocelkaJapan2026-10-15Rangoni Of Florence RENEWAL64Elwin Sharvill
1017Maisha R GauchoBrazil2026-10-29Feiner Bros NEW15Asiya Javayant
1018Greenwood Q TollnerCanada2026-10-26Chapman, Ross E Esq PROPOSAL20Anna Fali
1019Johnson I FollerArgentina2026-11-01Dorl, James J Esq NEGOTIATION62Asiya Javayant
1020Jefferson V GillianBrazil2026-10-06Chapman, Ross E Esq NEW66Amy Elsner
1021Ivar R ButtArgentina2026-10-22Commercial Press PROPOSAL55Elwin Sharvill
1022Ashley E VocelkaCanada2026-10-14Benton, John B Jr RENEWAL29Bernardo Dominic
1023Aruna S PerinIndia2026-10-19Buckley Miller Wright PROPOSAL1Bernardo Dominic
1024Ivar H FlosiGermany2026-10-27Chanay, Jeffrey A Esq RENEWAL78Elwin Sharvill
1025Morrow V MarrierRussia2026-10-30Chapman, Ross E Esq RENEWAL50Xuxue Feng
1026Ivar F CampainFrance2026-10-18Dorl, James J Esq PROPOSAL59Xuxue Feng
1027Francesco Y RoysterItaly2026-10-20Commercial Press PROPOSAL91Anna Fali
1028Munro E FlosiCanada2026-10-07Buckley Miller Wright NEW69Stephen Shaw
1029Aika K SaylorsRussia2026-10-22King, Christopher A Esq NEGOTIATION30Stephen Shaw
1030Mujtaba I AlbaresBrazil2026-10-31Chanay, Jeffrey A Esq RENEWAL67Stephen Shaw
1031Aditya Z MaletRussia2026-10-17Rangoni Of Florence NEGOTIATION47Xuxue Feng
1032Smith Q VocelkaBrazil2026-11-02Feiner Bros RENEWAL41Onyama Limba
1033Nicolas J PaprockiJapan2026-11-02Commercial Press QUALIFIED76Ioni Bowcher
1034Chavez U MarrierArgentina2026-10-07Feltz Printing Service QUALIFIED47Stephen Shaw
1035Jones E VocelkaUnited Kingdom2026-10-12Dorl, James J Esq NEW14Onyama Limba
1036Maisha R StensethCanada2026-10-16Chanay, Jeffrey A Esq RENEWAL75Ioni Bowcher
1037Salvatore K ShinkoJapan2026-11-02Chemel, James L Cpa NEGOTIATION86Elwin Sharvill
1038Emily S KolmetzCanada2026-10-08Chanay, Jeffrey A Esq QUALIFIED84Ivan Magalhaes
1039Leja J OldroydUnited Kingdom2026-10-13Buckley Miller Wright RENEWAL39Bernardo Dominic
1040Aditya T KolmetzGermany2026-10-15King, Christopher A Esq NEGOTIATION99Ivan Magalhaes
1041Darci B VocelkaJapan2026-10-16Rousseaux, Michael Esq QUALIFIED90Bernardo Dominic
1042Stacey O KuskoSpain2026-10-22Chapman, Ross E Esq RENEWAL78Onyama Limba
1043Jennifer L FigeroaSpain2026-10-22Feltz Printing Service NEGOTIATION30Asiya Javayant
1044Ricardo P RimCanada2026-10-12Benton, John B Jr RENEWAL55Amy Elsner
1045Nicolas U SlusarskiRussia2026-10-14Dorl, James J Esq UNQUALIFIED89Xuxue Feng
1046Aika O FlosiCanada2026-10-06Commercial Press QUALIFIED36Onyama Limba
1047Johnson P SchemmerCanada2026-10-18Feltz Printing Service NEGOTIATION23Ioni Bowcher
1048Jefferson V MarrierRussia2026-10-13Feltz Printing Service NEGOTIATION69Asiya Javayant
1049Rodrigues V KuskoUnited Kingdom2026-10-12Chemel, James L Cpa RENEWAL66Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Antonio O BriddickJapanAnna Fali RENEWAL
Maria D BologniaItalyAmy Elsner UNQUALIFIED
Izzy H FigeroaJapanAmy Elsner NEW
Jennifer V RutaUnited KingdomAsiya Javayant NEGOTIATION
Francesco Z DarakjyArgentinaAsiya Javayant NEW
Silvio H MacleadAustraliaXuxue Feng UNQUALIFIED
Ashley L OldroydCanadaElwin Sharvill NEW
Ivar A CaldareraUnited KingdomElwin Sharvill NEW
Chavez E CampainItalyElwin Sharvill NEGOTIATION
Clifford B CaudyUnited KingdomAnna Fali UNQUALIFIED
Jennifer U DarakjyUnited KingdomAnna Fali NEW
Greenwood V ChuiArgentinaStephen Shaw NEW
Johnson Z RimFranceElwin Sharvill NEGOTIATION
Morrow I ShinkoItalyIoni Bowcher NEGOTIATION
Jefferson F CaldareraArgentinaOnyama Limba NEGOTIATION
Aika V MaletFranceBernardo Dominic PROPOSAL
Octavia O VocelkaAustraliaIvan Magalhaes UNQUALIFIED
Greenwood C FlosiAustraliaXuxue Feng RENEWAL
Wickens A GauchoUnited KingdomBernardo Dominic NEGOTIATION
Johnson K VocelkaBrazilStephen Shaw NEGOTIATION
Arvin J NickaSpainOnyama Limba PROPOSAL
Izzy D GlickIndiaStephen Shaw NEW
Aika G GlickUnited KingdomElwin Sharvill NEGOTIATION
Tony D VocelkaJapanIvan Magalhaes RENEWAL
Kaitlin W SaylorsUnited KingdomBernardo Dominic PROPOSAL
Ricardo U OstroskyArgentinaAnna Fali PROPOSAL
Costa W RutaJapanElwin Sharvill UNQUALIFIED
Munro H OstroskyItalyIoni Bowcher PROPOSAL
Arvin X NestleSpainStephen Shaw QUALIFIED
Cody S DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Sinclair V CaldareraIndiaAsiya Javayant NEW
Rodrigues K KuskoGermanyAmy Elsner PROPOSAL
Izzy R OstroskyBrazilAsiya Javayant RENEWAL
Arvin H SergiUnited KingdomBernardo Dominic UNQUALIFIED
Juan P AlbaresAustraliaAsiya Javayant QUALIFIED
Izzy Y BologniaBrazilAmy Elsner NEGOTIATION
Jones U WieserJapanBernardo Dominic NEGOTIATION
Sinclair M OstroskyIndiaIvan Magalhaes NEW
David P WhobreyIndiaBernardo Dominic NEW
Stacey U SchemmerFranceAmy Elsner NEGOTIATION
Deepesh L GillianUnited KingdomStephen Shaw UNQUALIFIED
Mayumi B StockhamSpainElwin Sharvill QUALIFIED
Adams Y CampainArgentinaIoni Bowcher UNQUALIFIED
Salvatore R GlickRussiaAmy Elsner UNQUALIFIED
Darci Y RutaRussiaIoni Bowcher RENEWAL
Munro R BologniaGermanyAnna Fali PROPOSAL
Octavia K OstroskyRussiaIvan Magalhaes RENEWAL
Aruna N MorascaArgentinaBernardo Dominic QUALIFIED
Alejandro J RulapaughJapanIoni Bowcher QUALIFIED
Francesco X AmigonSpainOnyama Limba QUALIFIED
Frozen Columns
Name
Johnson K Amigon
Kadeem B Doe
Salvatore T Oldroyd
Mayumi C Kolmetz
Jones M Foller
Arvin G Oldroyd
Leon U Campain
Adams M Saylors
Leon U Bolognia
Mujtaba N Chui
Aditya L Poquette
Cody H Inouye
Greenwood P Nicka
Aika Y Slusarski
Arvin D Kusko
Rodrigues K Garufi
Juan I Stockham
Aruna O Stockham
Salvatore Z Kusko
Jefferson S Shinko
Murillo Z Gaucho
Francesco V Sergi
Rodrigues G Iturbide
Jones X Caldarera
Jeanfrancois X Campain
Maisha E Stockham
Octavia P Gillian
Aruna E Stenseth
Mayumi B Caudy
Kaitlin F Ostrosky
Tony Q Chui
Silvio V Ruta
Adams X Waycott
Izzy I Whobrey
Aika I Sergi
Julie V Malet
Silvio F Amigon
Izzy M Slusarski
Chavez O Oldroyd
Aika W Garufi
Chavez L Iturbide
Mayumi D Glick
Alejandro N Dilliard
Deepesh Q Bolognia
Munro Y Glick
Alejandro M Albares
Mujtaba N Glick
Ricardo Z Marrier
Greenwood R Ferencz
Emily O Waycott
IdCountryDate
1000Japan2026-10-31
1001Spain2026-10-11
1002Australia2026-10-30
1003Japan2026-10-12
1004Spain2026-10-19
1005United Kingdom2026-10-31
1006Spain2026-10-21
1007Argentina2026-10-20
1008Russia2026-10-24
1009Germany2026-10-15
1010Japan2026-10-22
1011India2026-10-20
1012Germany2026-10-25
1013Russia2026-10-26
1014Canada2026-10-29
1015France2026-10-10
1016Japan2026-10-30
1017Spain2026-10-29
1018France2026-10-19
1019India2026-10-31
1020Germany2026-10-12
1021Argentina2026-10-30
1022Japan2026-10-23
1023India2026-10-19
1024India2026-10-18
1025Argentina2026-10-19
1026Germany2026-10-20
1027Spain2026-10-07
1028Italy2026-10-22
1029Brazil2026-10-05
1030United Kingdom2026-10-27
1031France2026-10-25
1032Germany2026-10-17
1033Russia2026-11-03
1034Canada2026-10-24
1035United Kingdom2026-10-26
1036Japan2026-10-29
1037Brazil2026-10-17
1038Germany2026-11-01
1039Brazil2026-11-02
1040Russia2026-11-01
1041Russia2026-10-30
1042United Kingdom2026-10-23
1043Germany2026-10-18
1044India2026-10-14
1045India2026-10-14
1046Japan2026-10-21
1047Argentina2026-10-09
1048Russia2026-10-12
1049Russia2026-10-30

On-Demand Data

NameIdCountryDate
Wickens S Inouye1000United Kingdom2026-10-17
Ricardo T Tollner1001France2026-10-22
Leon Y Butt1002United Kingdom2026-10-11
Deepesh T Stenseth1003Italy2026-10-25
Murillo S Ruta1004France2026-10-30
Ricardo I Ostrosky1005Russia2026-10-25
Jones D Rulapaugh1006Italy2026-10-09
Isabel H Rulapaugh1007Brazil2026-10-18
Ricardo E Butt1008France2026-10-17
Juan G Flosi1009India2026-10-07
Aditya W Darakjy1010France2026-10-17
Adams U Shinko1011Canada2026-10-10
Sinclair T Malet1012France2026-11-01
Arvin L Ostrosky1013United Kingdom2026-10-28
Adams Z Doe1014Argentina2026-10-27
Aruna X Paprocki1015United Kingdom2026-10-28
Jennifer D Stenseth1016Japan2026-10-25
Maisha D Tollner1017Canada2026-10-09
Aditya A Shinko1018Spain2026-10-24
Misaki C Waycott1019Japan2026-10-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel H MorascaJapanAsiya Javayant NEGOTIATION
Silvio N DoeRussiaOnyama Limba RENEWAL
Leon Z FollerSpainAsiya Javayant UNQUALIFIED
Nicolas F SaylorsJapanElwin Sharvill NEW
Costa B VenereCanadaAsiya Javayant QUALIFIED
Faith H InouyeCanadaAsiya Javayant PROPOSAL
Stacey A PoquetteBrazilStephen Shaw UNQUALIFIED
Smith R MarrierGermanyAnna Fali UNQUALIFIED
Aruna T RulapaughIndiaElwin Sharvill PROPOSAL
Greenwood B StockhamAustraliaIvan Magalhaes RENEWAL
Tony D DilliardItalyXuxue Feng QUALIFIED
Costa K StensethAustraliaAmy Elsner NEGOTIATION
Faith I FlosiItalyIoni Bowcher QUALIFIED
Jones T SlusarskiBrazilXuxue Feng NEW
Ashley X GauchoSpainBernardo Dominic NEGOTIATION
Tony K ShinkoIndiaOnyama Limba RENEWAL
Wickens O IturbideArgentinaAmy Elsner RENEWAL
Darci M FerenczBrazilIvan Magalhaes NEGOTIATION
Ashley P ShinkoSpainOnyama Limba QUALIFIED
Darci J SergiArgentinaAmy Elsner RENEWAL
Leja S KolmetzRussiaIvan Magalhaes PROPOSAL
Adams U RimSpainOnyama Limba NEGOTIATION
Sinclair S VenereIndiaBernardo Dominic PROPOSAL
Ashley P MacleadSpainOnyama Limba NEW
Mujtaba P DilliardAustraliaOnyama Limba PROPOSAL
Smith N OldroydJapanIvan Magalhaes RENEWAL
Darci P PoquetteFranceOnyama Limba NEW
Aruna L RimRussiaOnyama Limba RENEWAL
Cody H KolmetzBrazilStephen Shaw PROPOSAL
Tony S SchemmerGermanyElwin Sharvill NEGOTIATION
Ivar D TollnerBrazilIoni Bowcher QUALIFIED
Ricardo H PoquetteIndiaBernardo Dominic QUALIFIED
Costa T PaprockiGermanyAmy Elsner NEW
Octavia C SaylorsJapanBernardo Dominic UNQUALIFIED
Mayumi E GarufiUnited KingdomXuxue Feng PROPOSAL
Chavez N SlusarskiJapanOnyama Limba NEGOTIATION
Arvin L KolmetzItalyIvan Magalhaes NEW
Mayumi O WhobreyRussiaAsiya Javayant NEW
Greenwood F DarakjyItalyAmy Elsner NEGOTIATION
Clifford J SaylorsGermanyAnna Fali 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>