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
Francesco N MaletUnited KingdomAsiya Javayant RENEWAL
Faith B TollnerCanadaAmy Elsner PROPOSAL
Kadeem R CaudyFranceAnna Fali PROPOSAL
Cody Z StockhamAustraliaIvan Magalhaes NEGOTIATION
Francesco Z RutaGermanyAnna Fali QUALIFIED
Stacey S SlusarskiItalyIvan Magalhaes QUALIFIED
Munro D KuskoJapanStephen Shaw PROPOSAL
Ivar M ChuiGermanyBernardo Dominic UNQUALIFIED
Emily V AlbaresBrazilXuxue Feng NEW
Antonio O SlusarskiArgentinaAnna Fali NEW
Kadeem S SlusarskiIndiaOnyama Limba QUALIFIED
Leon M AlbaresBrazilBernardo Dominic UNQUALIFIED
Jones O RutaArgentinaAmy Elsner PROPOSAL
Chavez Y GarufiItalyIoni Bowcher RENEWAL
Smith R BriddickJapanOnyama Limba QUALIFIED
Leja S DoeRussiaOnyama Limba UNQUALIFIED
Francesco Q WhobreyItalyIvan Magalhaes RENEWAL
Emily S AlbaresRussiaElwin Sharvill QUALIFIED
Faith O WieserItalyStephen Shaw NEW
Juan Y MarrierGermanyIoni Bowcher NEGOTIATION
Greenwood M KolmetzAustraliaOnyama Limba NEGOTIATION
Leja I RulapaughRussiaAsiya Javayant PROPOSAL
Julie Z RulapaughFranceXuxue Feng QUALIFIED
Mayumi I FigeroaCanadaOnyama Limba UNQUALIFIED
Maisha E PoquetteRussiaOnyama Limba PROPOSAL
Silvio B BriddickRussiaIvan Magalhaes UNQUALIFIED
Salvatore S BologniaCanadaAsiya Javayant QUALIFIED
David U SlusarskiCanadaBernardo Dominic NEW
Faith N RoysterUnited KingdomAnna Fali QUALIFIED
Cody H OldroydGermanyXuxue Feng NEW
Alejandro H OstroskyArgentinaIvan Magalhaes RENEWAL
Mujtaba B InouyeGermanyXuxue Feng NEGOTIATION
Leja N CaldareraAustraliaBernardo Dominic PROPOSAL
Nicolas P SchemmerUnited KingdomAsiya Javayant NEW
Arvin H GauchoBrazilIoni Bowcher PROPOSAL
Johnson T ButtSpainStephen Shaw PROPOSAL
Jeanfrancois P WieserArgentinaAsiya Javayant PROPOSAL
Murillo H OldroydBrazilAsiya Javayant NEGOTIATION
Mujtaba Q GarufiSpainStephen Shaw NEGOTIATION
Francesco V KuskoAustraliaXuxue Feng NEGOTIATION
Mujtaba D TollnerSpainIoni Bowcher NEW
Kadeem N KuskoBrazilBernardo Dominic QUALIFIED
Aditya S DarakjyBrazilElwin Sharvill NEGOTIATION
David K OstroskyJapanIvan Magalhaes NEW
Julie Z NestleSpainIoni Bowcher QUALIFIED
Sinclair I RulapaughJapanIoni Bowcher NEW
Ricardo W MorascaBrazilAmy Elsner UNQUALIFIED
Julie W FigeroaBrazilBernardo Dominic NEW
Jeanfrancois A RulapaughIndiaOnyama Limba RENEWAL
Jones R MarrierFranceStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley E VenereBrazilIoni Bowcher UNQUALIFIED
Francesco H KuskoRussiaXuxue Feng NEW
Deepesh K FlosiCanadaBernardo Dominic NEGOTIATION
Maisha K TollnerArgentinaOnyama Limba PROPOSAL
Aditya Z VenereGermanyStephen Shaw PROPOSAL
Stacey D FerenczBrazilXuxue Feng UNQUALIFIED
Deepesh X GlickUnited KingdomIvan Magalhaes NEGOTIATION
Misaki P KuskoIndiaOnyama Limba PROPOSAL
Stacey Y KuskoFranceStephen Shaw QUALIFIED
Leon O BriddickAustraliaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem V CaudyIndia2026-09-27Benton, John B Jr QUALIFIED16Amy Elsner
1001Jones Y VocelkaUnited Kingdom2026-09-09Dorl, James J Esq NEW34Asiya Javayant
1002Claire Q VocelkaItaly2026-09-23Truhlar And Truhlar Attys NEGOTIATION75Amy Elsner
1003Greenwood M AmigonFrance2026-09-17Buckley Miller Wright NEW47Elwin Sharvill
1004Chavez C DilliardCanada2026-09-20Feltz Printing Service NEGOTIATION39Bernardo Dominic
1005Rodrigues P VocelkaUnited Kingdom2026-09-24Chemel, James L Cpa RENEWAL83Anna Fali
1006Francesco P RimFrance2026-09-17Chapman, Ross E Esq PROPOSAL58Onyama Limba
1007Maria Q ButtIndia2026-09-30Dorl, James J Esq NEGOTIATION26Stephen Shaw
1008James U FlosiGermany2026-09-25King, Christopher A Esq PROPOSAL69Onyama Limba
1009Morrow I RulapaughBrazil2026-09-12Chapman, Ross E Esq UNQUALIFIED80Bernardo Dominic
1010Chavez M MaletArgentina2026-09-27Benton, John B Jr QUALIFIED72Ivan Magalhaes
1011Aika W ButtBrazil2026-09-24Truhlar And Truhlar Attys UNQUALIFIED94Asiya Javayant
1012Maisha H ButtAustralia2026-09-20Rangoni Of Florence NEGOTIATION43Xuxue Feng
1013Cody X GauchoBrazil2026-10-01King, Christopher A Esq RENEWAL10Ioni Bowcher
1014Maisha K PerinItaly2026-09-25Rousseaux, Michael Esq QUALIFIED8Bernardo Dominic
1015Costa Y FigeroaSpain2026-09-20Chemel, James L Cpa RENEWAL39Anna Fali
1016Jones G SergiJapan2026-09-07Feiner Bros PROPOSAL19Amy Elsner
1017Darci C SlusarskiArgentina2026-10-02Chapman, Ross E Esq QUALIFIED49Stephen Shaw
1018Juan C MorascaItaly2026-09-07Rousseaux, Michael Esq PROPOSAL28Onyama Limba
1019Alejandro G MaletCanada2026-09-27Dorl, James J Esq QUALIFIED68Bernardo Dominic
1020Ashley S DoeJapan2026-09-09Benton, John B Jr NEW58Asiya Javayant
1021Isabel Y BriddickRussia2026-09-25Benton, John B Jr PROPOSAL45Ivan Magalhaes
1022James R BriddickArgentina2026-09-11Benton, John B Jr NEGOTIATION49Onyama Limba
1023Jones V InouyeRussia2026-09-16Buckley Miller Wright NEGOTIATION21Amy Elsner
1024Maria E WaycottItaly2026-09-08Rangoni Of Florence NEGOTIATION71Xuxue Feng
1025Jeanfrancois M ShinkoIndia2026-09-19Chapman, Ross E Esq QUALIFIED41Onyama Limba
1026Faith C PaprockiUnited Kingdom2026-10-03Buckley Miller Wright QUALIFIED88Ivan Magalhaes
1027Murillo V RoysterFrance2026-09-15Benton, John B Jr UNQUALIFIED48Amy Elsner
1028Silvio A PerinUnited Kingdom2026-09-24Benton, John B Jr UNQUALIFIED15Anna Fali
1029Chavez D PerinBrazil2026-09-19Chanay, Jeffrey A Esq NEW17Elwin Sharvill
1030David N DilliardJapan2026-09-17Benton, John B Jr NEW47Ioni Bowcher
1031Stacey N ShinkoArgentina2026-09-27Rousseaux, Michael Esq UNQUALIFIED82Asiya Javayant
1032Ashley L RulapaughRussia2026-09-15Morlong Associates NEGOTIATION10Onyama Limba
1033Octavia D RutaJapan2026-10-01Commercial Press RENEWAL23Asiya Javayant
1034Aika R FlosiBrazil2026-10-01Commercial Press UNQUALIFIED79Anna Fali
1035Morrow L CaldareraIndia2026-09-09Buckley Miller Wright PROPOSAL61Ioni Bowcher
1036Rodrigues T PerinIndia2026-09-23Morlong Associates UNQUALIFIED20Asiya Javayant
1037Jones V ButtFrance2026-09-15Commercial Press UNQUALIFIED41Onyama Limba
1038Alejandro Y MaletBrazil2026-09-15Chemel, James L Cpa PROPOSAL23Amy Elsner
1039Claire E ChuiJapan2026-09-28Printing Dimensions QUALIFIED16Asiya Javayant
1040Ivar S WhobreyBrazil2026-09-20Commercial Press QUALIFIED99Elwin Sharvill
1041Kadeem C AmigonJapan2026-09-27Printing Dimensions NEGOTIATION92Asiya Javayant
1042Salvatore N CaldareraUnited Kingdom2026-09-19Chanay, Jeffrey A Esq PROPOSAL37Ioni Bowcher
1043Isabel U CaudyGermany2026-09-27Printing Dimensions NEGOTIATION97Asiya Javayant
1044Sinclair O DarakjyFrance2026-09-09Feiner Bros PROPOSAL81Amy Elsner
1045David F MorascaBrazil2026-09-22Chanay, Jeffrey A Esq NEW18Xuxue Feng
1046Izzy B MaletItaly2026-09-18Morlong Associates PROPOSAL55Bernardo Dominic
1047Maria V StockhamSpain2026-09-10Chanay, Jeffrey A Esq NEW54Amy Elsner
1048Francesco P FigeroaGermany2026-09-09Chapman, Ross E Esq PROPOSAL12Xuxue Feng
1049Chavez V OstroskyItaly2026-09-15Printing Dimensions QUALIFIED71Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Izzy M SaylorsCanadaXuxue Feng QUALIFIED
Misaki X FollerFranceElwin Sharvill UNQUALIFIED
Clifford N ChuiArgentinaIvan Magalhaes NEW
Aditya C GillianItalyXuxue Feng RENEWAL
Stacey B MorascaIndiaAnna Fali QUALIFIED
Smith P IturbideArgentinaStephen Shaw NEW
Nicolas Z OldroydUnited KingdomIvan Magalhaes NEW
Darci Q BologniaIndiaIoni Bowcher QUALIFIED
Greenwood N TollnerIndiaStephen Shaw QUALIFIED
Isabel V DarakjyJapanStephen Shaw UNQUALIFIED
Jefferson H RutaAustraliaOnyama Limba NEW
Darci Y RoysterFranceBernardo Dominic PROPOSAL
Wickens I ButtFranceAmy Elsner RENEWAL
Deepesh I CampainJapanIvan Magalhaes RENEWAL
Aditya Q GauchoJapanOnyama Limba NEGOTIATION
Cody C KolmetzJapanXuxue Feng RENEWAL
Tony O RoysterRussiaAnna Fali RENEWAL
Nicolas V TollnerGermanyAmy Elsner PROPOSAL
Jefferson S WieserGermanyBernardo Dominic UNQUALIFIED
Darci S ChuiRussiaXuxue Feng PROPOSAL
Aruna Q PerinCanadaXuxue Feng QUALIFIED
Rodrigues T RutaArgentinaXuxue Feng NEGOTIATION
Antonio D TollnerCanadaAsiya Javayant NEGOTIATION
Francesco Q GauchoSpainIoni Bowcher RENEWAL
Adams J AmigonUnited KingdomIoni Bowcher PROPOSAL
Munro V RulapaughJapanStephen Shaw NEGOTIATION
Rodrigues S StensethGermanyAnna Fali NEGOTIATION
Adams I GillianSpainXuxue Feng RENEWAL
Aika B MaletIndiaBernardo Dominic NEW
Izzy Z SchemmerCanadaIvan Magalhaes QUALIFIED
Claire P PoquetteSpainElwin Sharvill UNQUALIFIED
Deepesh A BologniaSpainIoni Bowcher RENEWAL
Maisha Y StensethUnited KingdomBernardo Dominic RENEWAL
Ricardo E FlosiJapanXuxue Feng RENEWAL
Rodrigues M ButtAustraliaAnna Fali QUALIFIED
Ashley A SlusarskiJapanElwin Sharvill QUALIFIED
Stacey F WaycottGermanyOnyama Limba UNQUALIFIED
Ricardo D PaprockiUnited KingdomOnyama Limba PROPOSAL
Octavia D RoysterBrazilAsiya Javayant QUALIFIED
Ivar T ButtArgentinaAmy Elsner UNQUALIFIED
Silvio B WhobreyJapanStephen Shaw RENEWAL
Ivar G AlbaresSpainIoni Bowcher UNQUALIFIED
Antonio F MorascaBrazilAsiya Javayant PROPOSAL
Sinclair T VenereRussiaIvan Magalhaes NEW
Jennifer A VocelkaAustraliaXuxue Feng PROPOSAL
Misaki G RoysterGermanyAnna Fali PROPOSAL
Juan Y TollnerArgentinaXuxue Feng NEW
Mayumi Y KolmetzItalyBernardo Dominic PROPOSAL
Morrow X SergiRussiaAsiya Javayant PROPOSAL
Silvio P MarrierSpainBernardo Dominic PROPOSAL
Frozen Columns
Name
Murillo F Gaucho
Isabel G Butt
Emily K Rulapaugh
Stacey J Dilliard
Tony G Gaucho
James S Sergi
Kaitlin J Darakjy
Jefferson G Flosi
Greenwood C Bolognia
Nicolas E Glick
Alejandro Q Wieser
Darci T Saylors
Wickens E Caldarera
Ivar K Rulapaugh
Kaitlin M Whobrey
Antonio O Shinko
Costa L Darakjy
Greenwood X Bowley
Misaki G Darakjy
Chavez L Campain
Cody L Tollner
David X Iturbide
Ashley M Rim
Johnson X Darakjy
Tony A Marrier
Darci F Malet
Aditya H Rim
Arvin M Albares
Jeanfrancois C Gillian
Aditya O Poquette
Nicolas R Wieser
James A Sergi
Johnson M Royster
Aditya Z Foller
Arvin Q Poquette
Deepesh F Wieser
Wickens B Foller
Leon N Maclead
Salvatore F Kolmetz
Salvatore W Gaucho
Cody K Amigon
Leon X Darakjy
Johnson U Royster
Francesco X Ruta
Jennifer S Wieser
Mujtaba P Inouye
David L Saylors
Rodrigues T Caldarera
Kadeem U Iturbide
Maisha S Rim
IdCountryDate
1000India2026-10-01
1001Australia2026-10-01
1002United Kingdom2026-09-25
1003India2026-09-19
1004Germany2026-09-29
1005France2026-09-15
1006Russia2026-09-20
1007Russia2026-10-01
1008Canada2026-09-13
1009Australia2026-10-06
1010Japan2026-09-07
1011Argentina2026-09-16
1012Brazil2026-09-29
1013Japan2026-09-29
1014Italy2026-10-04
1015Brazil2026-09-19
1016Japan2026-09-07
1017Australia2026-10-03
1018Australia2026-09-17
1019Italy2026-09-18
1020India2026-09-12
1021Spain2026-09-28
1022Argentina2026-10-05
1023Australia2026-09-17
1024India2026-10-03
1025Canada2026-10-06
1026India2026-09-30
1027Brazil2026-09-21
1028Australia2026-09-10
1029Italy2026-09-18
1030Australia2026-09-16
1031Brazil2026-09-14
1032Germany2026-09-26
1033Canada2026-09-19
1034Italy2026-09-19
1035France2026-09-27
1036Australia2026-09-26
1037Canada2026-09-25
1038Australia2026-09-30
1039Argentina2026-09-19
1040Spain2026-09-11
1041Brazil2026-09-21
1042France2026-09-10
1043Canada2026-09-27
1044Japan2026-10-05
1045Spain2026-09-25
1046India2026-09-12
1047India2026-09-14
1048Australia2026-09-10
1049Germany2026-09-20

On-Demand Data

NameIdCountryDate
Juan U Slusarski1000Argentina2026-09-23
Izzy Y Briddick1001India2026-09-07
Chavez V Marrier1002United Kingdom2026-09-26
Costa M Campain1003Spain2026-09-18
Julie R Oldroyd1004Russia2026-09-15
Sinclair L Gillian1005Canada2026-09-20
Jeanfrancois Z Paprocki1006Canada2026-09-28
Ivar V Royster1007Argentina2026-09-09
Aditya U Chui1008France2026-09-22
Misaki B Rulapaugh1009Japan2026-09-18
Jennifer J Ferencz1010Australia2026-09-11
Morrow R Waycott1011Brazil2026-10-06
Maisha B Caldarera1012Germany2026-09-13
Stacey C Wieser1013Brazil2026-09-20
Rodrigues B Poquette1014France2026-09-19
Nicolas V Figeroa1015Russia2026-10-02
Ivar X Venere1016Spain2026-09-10
Maisha C Paprocki1017Germany2026-09-25
Jennifer Y Nicka1018Australia2026-09-30
Ashley F Kolmetz1019France2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow T MacleadCanadaBernardo Dominic NEGOTIATION
Ivar P MaletJapanAmy Elsner RENEWAL
Chavez I TollnerJapanAsiya Javayant NEW
Kadeem N NestleUnited KingdomAsiya Javayant QUALIFIED
Aditya F VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Claire O StockhamAustraliaIoni Bowcher RENEWAL
Sinclair C BowleyBrazilBernardo Dominic PROPOSAL
Smith V OstroskyGermanyOnyama Limba QUALIFIED
Johnson L ShinkoIndiaElwin Sharvill UNQUALIFIED
Alejandro T BologniaIndiaXuxue Feng NEGOTIATION
Alejandro M RulapaughBrazilAmy Elsner RENEWAL
Juan L SchemmerCanadaIoni Bowcher UNQUALIFIED
Maisha Q FerenczRussiaStephen Shaw QUALIFIED
Emily M KolmetzCanadaBernardo Dominic NEW
Mayumi V MaletIndiaStephen Shaw UNQUALIFIED
Stacey Y StockhamSpainIvan Magalhaes UNQUALIFIED
Julie N SaylorsBrazilAnna Fali RENEWAL
Claire B FlosiFranceElwin Sharvill PROPOSAL
Isabel G ChuiItalyIvan Magalhaes UNQUALIFIED
Isabel S NestleCanadaStephen Shaw NEGOTIATION
Octavia F DoeIndiaStephen Shaw UNQUALIFIED
Alejandro J FollerArgentinaStephen Shaw QUALIFIED
Kadeem L DilliardAustraliaIvan Magalhaes PROPOSAL
Aika Y CaldareraRussiaAmy Elsner PROPOSAL
Tony V MaletUnited KingdomAmy Elsner UNQUALIFIED
Jefferson L InouyeFranceAsiya Javayant NEGOTIATION
Misaki J SaylorsCanadaAmy Elsner UNQUALIFIED
Misaki T CampainItalyBernardo Dominic QUALIFIED
Jeanfrancois L SchemmerCanadaAsiya Javayant NEGOTIATION
Clifford T RimSpainAsiya Javayant NEGOTIATION
Maisha K BowleyUnited KingdomXuxue Feng RENEWAL
Smith W SlusarskiFranceElwin Sharvill QUALIFIED
Leja G DilliardIndiaAmy Elsner PROPOSAL
Jefferson T StockhamCanadaAnna Fali NEW
Faith Z AmigonCanadaAmy Elsner PROPOSAL
Nicolas A FollerArgentinaAnna Fali RENEWAL
Deepesh R GauchoItalyStephen Shaw RENEWAL
Johnson S GauchoBrazilStephen Shaw PROPOSAL
Ivar X SchemmerSpainAnna Fali NEW
Alejandro P MaletAustraliaIoni Bowcher NEGOTIATION

<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>