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
Aditya E RutaAustraliaAsiya Javayant NEGOTIATION
Kaitlin S FerenczRussiaIvan Magalhaes NEW
Leja N VenereRussiaAsiya Javayant NEGOTIATION
Kaitlin D AlbaresUnited KingdomXuxue Feng QUALIFIED
Maria L StockhamBrazilStephen Shaw UNQUALIFIED
Smith W MaletIndiaAnna Fali QUALIFIED
Kadeem Q PoquetteGermanyOnyama Limba RENEWAL
Darci V GillianBrazilElwin Sharvill NEGOTIATION
Kaitlin S OstroskyIndiaAmy Elsner PROPOSAL
Jeanfrancois Z ChuiBrazilBernardo Dominic UNQUALIFIED
Jefferson Q MarrierSpainElwin Sharvill RENEWAL
Jeanfrancois I PoquetteArgentinaAsiya Javayant NEW
Isabel F InouyeCanadaStephen Shaw UNQUALIFIED
Izzy Q StockhamUnited KingdomIvan Magalhaes QUALIFIED
Alejandro S ButtRussiaAsiya Javayant UNQUALIFIED
Aditya X SchemmerGermanyXuxue Feng RENEWAL
Tony D KuskoCanadaAmy Elsner NEW
James E BowleyArgentinaOnyama Limba PROPOSAL
Aruna I AlbaresBrazilXuxue Feng PROPOSAL
Greenwood B StensethBrazilElwin Sharvill RENEWAL
Costa R AmigonGermanyStephen Shaw NEGOTIATION
Murillo T SergiGermanyStephen Shaw NEGOTIATION
Deepesh Z AlbaresRussiaIoni Bowcher NEGOTIATION
Misaki U RoysterFranceElwin Sharvill RENEWAL
Mayumi U FlosiAustraliaAmy Elsner UNQUALIFIED
Wickens M BriddickGermanyXuxue Feng PROPOSAL
Wickens X KuskoUnited KingdomBernardo Dominic QUALIFIED
Jefferson C RimFranceBernardo Dominic NEW
Smith R TollnerIndiaIoni Bowcher RENEWAL
Darci Q RulapaughArgentinaBernardo Dominic QUALIFIED
Kadeem S AlbaresGermanyAmy Elsner NEW
Aditya J FigeroaUnited KingdomElwin Sharvill UNQUALIFIED
Clifford B GauchoUnited KingdomAsiya Javayant NEGOTIATION
Francesco P InouyeJapanIvan Magalhaes RENEWAL
Emily Y IturbideUnited KingdomElwin Sharvill QUALIFIED
Jeanfrancois X NestleSpainAnna Fali NEW
Emily Z SchemmerSpainAmy Elsner UNQUALIFIED
Greenwood Y SlusarskiFranceXuxue Feng NEGOTIATION
Izzy J RutaBrazilBernardo Dominic NEGOTIATION
Leon C StockhamJapanIvan Magalhaes NEW
Emily Q ChuiUnited KingdomAmy Elsner RENEWAL
Leon Q SergiItalyOnyama Limba PROPOSAL
Jones G WhobreyGermanyIoni Bowcher UNQUALIFIED
Tony X ShinkoAustraliaXuxue Feng NEGOTIATION
Octavia S GauchoIndiaIvan Magalhaes NEGOTIATION
Murillo K GarufiFranceAsiya Javayant UNQUALIFIED
Murillo P IturbideGermanyAnna Fali QUALIFIED
Tony R AlbaresGermanyAsiya Javayant PROPOSAL
Ashley R WhobreyCanadaElwin Sharvill NEGOTIATION
Ashley W DarakjyIndiaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon N RulapaughCanadaAmy Elsner NEGOTIATION
Murillo Q GauchoJapanOnyama Limba RENEWAL
Antonio C PoquetteAustraliaElwin Sharvill QUALIFIED
Claire I BologniaBrazilOnyama Limba UNQUALIFIED
Costa N RutaJapanElwin Sharvill NEW
Ricardo C VocelkaArgentinaAmy Elsner NEW
Misaki K KolmetzRussiaOnyama Limba UNQUALIFIED
Juan B TollnerItalyAnna Fali PROPOSAL
Darci Y CaldareraUnited KingdomStephen Shaw NEGOTIATION
Deepesh Q VocelkaGermanyElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily K DoeJapan2026-11-04Rangoni Of Florence UNQUALIFIED58Onyama Limba
1001Chavez D WaycottItaly2026-11-04Buckley Miller Wright NEW6Anna Fali
1002Julie J StockhamFrance2026-10-29Chapman, Ross E Esq PROPOSAL7Stephen Shaw
1003Rodrigues C GauchoBrazil2026-10-24Printing Dimensions RENEWAL2Stephen Shaw
1004Aditya I ButtArgentina2026-10-20Chapman, Ross E Esq UNQUALIFIED57Elwin Sharvill
1005Tony G InouyeBrazil2026-10-21King, Christopher A Esq NEGOTIATION50Asiya Javayant
1006Leon C IturbideBrazil2026-10-31Chapman, Ross E Esq UNQUALIFIED63Ioni Bowcher
1007Izzy U DoeSpain2026-10-12Chemel, James L Cpa UNQUALIFIED36Anna Fali
1008Jeanfrancois A FigeroaBrazil2026-10-27Chemel, James L Cpa PROPOSAL73Stephen Shaw
1009Izzy G SchemmerItaly2026-11-03Feiner Bros QUALIFIED62Bernardo Dominic
1010Juan E GillianUnited Kingdom2026-11-02Benton, John B Jr UNQUALIFIED73Onyama Limba
1011Costa T PerinArgentina2026-10-09Chemel, James L Cpa NEW82Asiya Javayant
1012Jennifer S RimItaly2026-10-25Buckley Miller Wright NEW9Anna Fali
1013Francesco Q IturbideBrazil2026-10-27Rousseaux, Michael Esq QUALIFIED86Elwin Sharvill
1014Mujtaba H TollnerArgentina2026-10-13Truhlar And Truhlar Attys NEGOTIATION78Onyama Limba
1015Nicolas J FigeroaJapan2026-10-20Rousseaux, Michael Esq RENEWAL13Amy Elsner
1016Deepesh Z ChuiSpain2026-10-14Feiner Bros NEGOTIATION52Anna Fali
1017Munro H BriddickUnited Kingdom2026-11-06Chapman, Ross E Esq NEW51Bernardo Dominic
1018Salvatore Z AmigonBrazil2026-11-03Truhlar And Truhlar Attys PROPOSAL51Ivan Magalhaes
1019Jones N DarakjySpain2026-10-20Dorl, James J Esq NEW33Elwin Sharvill
1020Izzy G BologniaAustralia2026-10-13Rangoni Of Florence RENEWAL58Amy Elsner
1021Munro C CaudyGermany2026-10-30Feiner Bros NEW60Stephen Shaw
1022Antonio Q BologniaUnited Kingdom2026-10-16Commercial Press NEGOTIATION73Ivan Magalhaes
1023Salvatore F WhobreyIndia2026-11-07Chemel, James L Cpa NEW80Ioni Bowcher
1024Mayumi Z RulapaughCanada2026-10-30Truhlar And Truhlar Attys PROPOSAL67Anna Fali
1025Maisha C PoquetteGermany2026-10-26Truhlar And Truhlar Attys NEW10Asiya Javayant
1026Kaitlin K PoquetteItaly2026-10-17King, Christopher A Esq NEW95Stephen Shaw
1027Johnson A CampainIndia2026-10-09Buckley Miller Wright NEW19Onyama Limba
1028Francesco Z DilliardUnited Kingdom2026-11-04Chapman, Ross E Esq QUALIFIED84Bernardo Dominic
1029Alejandro C GlickArgentina2026-10-12Commercial Press NEGOTIATION7Anna Fali
1030Arvin B NickaFrance2026-10-23Commercial Press RENEWAL92Amy Elsner
1031Emily F CaudyArgentina2026-10-31Printing Dimensions NEGOTIATION75Onyama Limba
1032Jefferson H DoeAustralia2026-10-31Commercial Press RENEWAL5Anna Fali
1033Morrow E FigeroaIndia2026-10-23Feiner Bros NEW19Onyama Limba
1034Johnson Y FerenczUnited Kingdom2026-10-21Feltz Printing Service UNQUALIFIED78Bernardo Dominic
1035Octavia A VocelkaFrance2026-10-26King, Christopher A Esq NEGOTIATION17Ioni Bowcher
1036Aruna N RulapaughIndia2026-11-03Morlong Associates NEW68Stephen Shaw
1037Cody N ButtBrazil2026-11-04Feiner Bros NEW5Xuxue Feng
1038Mayumi X NickaAustralia2026-10-09Dorl, James J Esq RENEWAL94Bernardo Dominic
1039Johnson R KolmetzArgentina2026-11-06Chanay, Jeffrey A Esq NEW84Xuxue Feng
1040Rodrigues K TollnerRussia2026-10-25Rangoni Of Florence NEW68Ivan Magalhaes
1041Mayumi K SchemmerFrance2026-10-21Rangoni Of Florence UNQUALIFIED54Ivan Magalhaes
1042Johnson H ShinkoIndia2026-11-07Chapman, Ross E Esq NEW80Ioni Bowcher
1043Leon P VenereAustralia2026-10-20Feltz Printing Service UNQUALIFIED23Ivan Magalhaes
1044Salvatore M BriddickRussia2026-10-21Rangoni Of Florence PROPOSAL81Xuxue Feng
1045Izzy S FlosiGermany2026-11-02Rousseaux, Michael Esq PROPOSAL42Elwin Sharvill
1046Silvio X MacleadSpain2026-10-15Rousseaux, Michael Esq QUALIFIED79Xuxue Feng
1047Silvio Q KuskoAustralia2026-10-19Dorl, James J Esq PROPOSAL59Amy Elsner
1048Clifford V MorascaSpain2026-10-31Chapman, Ross E Esq NEW17Amy Elsner
1049Aditya U CampainItaly2026-10-09Commercial Press RENEWAL66Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues U RutaArgentinaIvan Magalhaes NEGOTIATION
Nicolas J FlosiCanadaStephen Shaw NEW
Arvin C BriddickArgentinaXuxue Feng NEW
Chavez L MacleadFranceStephen Shaw RENEWAL
Claire X RulapaughSpainIvan Magalhaes UNQUALIFIED
Jefferson E KolmetzAustraliaXuxue Feng UNQUALIFIED
David B VocelkaAustraliaIoni Bowcher PROPOSAL
Jones Y CampainUnited KingdomAsiya Javayant RENEWAL
Jones V MorascaIndiaIvan Magalhaes UNQUALIFIED
Misaki V WhobreyAustraliaAmy Elsner UNQUALIFIED
Silvio T FlosiJapanAnna Fali NEGOTIATION
Ivar M RutaSpainAmy Elsner NEGOTIATION
Jefferson R FerenczIndiaStephen Shaw PROPOSAL
Johnson S VenereBrazilAsiya Javayant UNQUALIFIED
Murillo U PoquetteFranceAmy Elsner UNQUALIFIED
Greenwood Y NickaRussiaXuxue Feng NEGOTIATION
Cody L OstroskyIndiaXuxue Feng PROPOSAL
Greenwood W DilliardItalyElwin Sharvill UNQUALIFIED
Claire W NickaJapanAnna Fali UNQUALIFIED
Darci I PaprockiCanadaBernardo Dominic RENEWAL
Costa G AlbaresIndiaBernardo Dominic RENEWAL
Emily Q OstroskyIndiaAmy Elsner NEGOTIATION
Jeanfrancois C SlusarskiGermanyOnyama Limba QUALIFIED
Alejandro P RulapaughFranceIvan Magalhaes NEW
Smith K StockhamBrazilAmy Elsner QUALIFIED
Tony J SaylorsRussiaBernardo Dominic RENEWAL
Antonio J FigeroaSpainElwin Sharvill NEGOTIATION
Maria B ShinkoUnited KingdomStephen Shaw NEW
Izzy U ShinkoRussiaBernardo Dominic NEGOTIATION
Izzy N MacleadFranceAnna Fali RENEWAL
Kadeem M ShinkoBrazilBernardo Dominic RENEWAL
Octavia B NickaBrazilAnna Fali NEGOTIATION
Clifford G MaletCanadaAmy Elsner PROPOSAL
Smith D PoquetteItalyAsiya Javayant QUALIFIED
Darci C CaldareraFranceAmy Elsner QUALIFIED
Antonio Y BriddickAustraliaIoni Bowcher NEGOTIATION
Juan K MorascaArgentinaAsiya Javayant PROPOSAL
Deepesh A SaylorsUnited KingdomStephen Shaw NEGOTIATION
Greenwood T FlosiArgentinaBernardo Dominic QUALIFIED
Juan J FlosiAustraliaAnna Fali UNQUALIFIED
Jones H ButtRussiaIvan Magalhaes QUALIFIED
Ricardo M NickaJapanBernardo Dominic PROPOSAL
Claire Y GauchoCanadaBernardo Dominic QUALIFIED
Tony L MacleadBrazilXuxue Feng PROPOSAL
Kaitlin F GillianArgentinaIvan Magalhaes UNQUALIFIED
Salvatore M WieserSpainIoni Bowcher NEGOTIATION
Mujtaba T RulapaughAustraliaXuxue Feng PROPOSAL
Ricardo F CaudyArgentinaAsiya Javayant QUALIFIED
Antonio Z MaletCanadaElwin Sharvill NEGOTIATION
Aruna C RulapaughItalyBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Tony A Morasca
Kadeem J Malet
Aika H Albares
David Z Whobrey
Nicolas M Kolmetz
Salvatore L Bowley
Silvio Q Caudy
Juan Z Albares
Kaitlin Y Iturbide
Antonio L Ruta
Deepesh R Amigon
Leja B Venere
Claire Q Garufi
Mujtaba Z Garufi
Alejandro Y Amigon
Leja T Butt
Deepesh U Ferencz
Claire Z Iturbide
Greenwood B Kusko
Aika E Tollner
Mujtaba G Wieser
Murillo W Stockham
Emily K Amigon
Chavez T Flosi
Emily P Darakjy
Maria N Schemmer
Alejandro U Chui
Izzy I Marrier
Jennifer U Ostrosky
Murillo E Inouye
Mayumi P Gaucho
Maria F Nestle
Octavia D Inouye
Mujtaba W Saylors
Chavez B Dilliard
Darci M Vocelka
Greenwood Y Rulapaugh
Deepesh D Marrier
Aruna U Foller
Mayumi F Wieser
Silvio B Iturbide
Isabel O Ostrosky
Julie I Slusarski
Jennifer O Rim
James A Foller
Aika R Maclead
Kaitlin H Stenseth
Aruna C Dilliard
Aruna K Inouye
Maria P Flosi
IdCountryDate
1000Canada2026-10-11
1001Argentina2026-10-24
1002Argentina2026-10-18
1003Japan2026-11-04
1004France2026-10-10
1005Canada2026-10-30
1006Australia2026-10-16
1007Spain2026-11-06
1008Brazil2026-10-10
1009Australia2026-11-05
1010India2026-10-31
1011Australia2026-10-21
1012Argentina2026-10-13
1013Argentina2026-10-30
1014Canada2026-10-19
1015United Kingdom2026-11-05
1016Australia2026-10-30
1017Argentina2026-10-17
1018Japan2026-10-13
1019United Kingdom2026-10-18
1020Australia2026-10-26
1021France2026-10-17
1022Japan2026-10-20
1023Spain2026-11-01
1024Japan2026-10-23
1025France2026-11-06
1026France2026-10-09
1027France2026-11-07
1028United Kingdom2026-10-15
1029Brazil2026-10-18
1030Russia2026-10-30
1031Japan2026-10-16
1032Germany2026-11-06
1033India2026-10-23
1034Brazil2026-10-18
1035Germany2026-10-29
1036Argentina2026-10-19
1037Argentina2026-10-16
1038Brazil2026-10-11
1039Brazil2026-10-27
1040France2026-10-09
1041Australia2026-10-25
1042Brazil2026-10-21
1043Germany2026-10-29
1044United Kingdom2026-10-30
1045France2026-10-14
1046France2026-10-23
1047India2026-10-14
1048Canada2026-10-16
1049Brazil2026-10-29

On-Demand Data

NameIdCountryDate
Ivar D Campain1000Argentina2026-10-25
Aruna M Oldroyd1001Russia2026-10-15
Mayumi P Oldroyd1002France2026-10-14
Jones W Butt1003Brazil2026-10-19
Maria L Stockham1004United Kingdom2026-10-18
Aruna D Morasca1005France2026-10-23
Maisha Z Gaucho1006Japan2026-10-25
Ivar N Inouye1007Spain2026-10-19
Mujtaba Q Sergi1008Japan2026-10-25
Morrow Z Saylors1009Argentina2026-10-17
David V Dilliard1010Japan2026-11-06
Claire Y Malet1011Germany2026-10-18
Jefferson J Nestle1012Russia2026-10-31
Leja U Sergi1013Brazil2026-11-06
Maisha H Shinko1014Germany2026-11-07
Maria A Waycott1015India2026-10-23
Maisha L Iturbide1016Italy2026-10-31
Chavez I Perin1017India2026-11-02
Alejandro K Vocelka1018Canada2026-10-19
Maisha W Ostrosky1019France2026-10-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan K FerenczRussiaAmy Elsner UNQUALIFIED
Costa Z WhobreyFranceOnyama Limba QUALIFIED
Leon K SlusarskiItalyElwin Sharvill RENEWAL
Adams M WaycottItalyIoni Bowcher RENEWAL
Kaitlin P MarrierRussiaIvan Magalhaes UNQUALIFIED
Leja X RoysterCanadaStephen Shaw UNQUALIFIED
James O FigeroaAustraliaBernardo Dominic QUALIFIED
Kadeem H NestleJapanBernardo Dominic PROPOSAL
David A TollnerFranceAmy Elsner RENEWAL
Johnson H BologniaArgentinaIvan Magalhaes RENEWAL
Octavia M FerenczUnited KingdomElwin Sharvill NEW
Greenwood T MorascaSpainStephen Shaw UNQUALIFIED
Claire U WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro T BologniaRussiaIvan Magalhaes UNQUALIFIED
Aika K SchemmerFranceIoni Bowcher UNQUALIFIED
Aditya O VenereJapanAnna Fali RENEWAL
Sinclair A WaycottSpainAmy Elsner NEW
Alejandro O VenereJapanElwin Sharvill RENEWAL
Smith Y MacleadGermanyAmy Elsner RENEWAL
Munro U BriddickArgentinaXuxue Feng RENEWAL
Chavez B FigeroaArgentinaOnyama Limba RENEWAL
Tony Y WieserJapanAmy Elsner QUALIFIED
Rodrigues E MarrierItalyBernardo Dominic QUALIFIED
Jeanfrancois M SaylorsGermanyAsiya Javayant PROPOSAL
Ivar I WieserAustraliaAmy Elsner NEGOTIATION
Salvatore X PaprockiItalyIoni Bowcher PROPOSAL
Stacey R MacleadIndiaBernardo Dominic QUALIFIED
Nicolas T MarrierItalyStephen Shaw RENEWAL
Murillo G FollerJapanOnyama Limba QUALIFIED
Maisha L MorascaFranceElwin Sharvill UNQUALIFIED
Arvin O TollnerSpainIoni Bowcher QUALIFIED
Smith F SaylorsSpainStephen Shaw UNQUALIFIED
Cody F SchemmerItalyStephen Shaw NEGOTIATION
Aditya R GillianUnited KingdomBernardo Dominic RENEWAL
Leja H SaylorsCanadaAmy Elsner RENEWAL
Jefferson Q FlosiIndiaXuxue Feng PROPOSAL
Cody Y IturbideRussiaAnna Fali RENEWAL
Ashley G GauchoUnited KingdomElwin Sharvill NEW
Costa H DoeUnited KingdomXuxue Feng NEW
Tony F DarakjyBrazilStephen Shaw 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>