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 P SaylorsGermanyIoni Bowcher NEGOTIATION
Julie B AmigonJapanIvan Magalhaes RENEWAL
Nicolas D VenereArgentinaElwin Sharvill UNQUALIFIED
Aruna U OldroydCanadaBernardo Dominic UNQUALIFIED
Stacey G SchemmerItalyStephen Shaw NEGOTIATION
Deepesh Y IturbideAustraliaIvan Magalhaes NEW
Emily F GillianArgentinaElwin Sharvill NEGOTIATION
Chavez C MarrierArgentinaAsiya Javayant QUALIFIED
Darci K MacleadArgentinaIvan Magalhaes UNQUALIFIED
Julie Y KolmetzItalyXuxue Feng NEGOTIATION
Munro Z PaprockiGermanyElwin Sharvill QUALIFIED
Deepesh Y KuskoGermanyBernardo Dominic NEW
Morrow R CaudyFranceIoni Bowcher RENEWAL
Morrow R PoquetteUnited KingdomAnna Fali UNQUALIFIED
Jefferson L AmigonArgentinaStephen Shaw RENEWAL
Costa O DoeCanadaElwin Sharvill QUALIFIED
Alejandro N StockhamItalyBernardo Dominic QUALIFIED
Sinclair V KolmetzIndiaXuxue Feng NEGOTIATION
David X ChuiFranceStephen Shaw PROPOSAL
Johnson Q WieserFranceAnna Fali UNQUALIFIED
Faith F PerinRussiaAmy Elsner NEW
Arvin X GarufiBrazilElwin Sharvill UNQUALIFIED
Clifford N PerinRussiaAmy Elsner PROPOSAL
Costa U SaylorsRussiaAmy Elsner NEGOTIATION
Aika W NickaArgentinaIoni Bowcher NEGOTIATION
Alejandro G FlosiArgentinaStephen Shaw UNQUALIFIED
Munro F NickaBrazilIoni Bowcher UNQUALIFIED
Jennifer Z AmigonRussiaElwin Sharvill UNQUALIFIED
Aditya P NickaAustraliaXuxue Feng NEW
Claire U RutaAustraliaBernardo Dominic PROPOSAL
Faith J MarrierBrazilOnyama Limba NEW
Darci V RutaGermanyAnna Fali NEGOTIATION
Clifford X BriddickUnited KingdomXuxue Feng NEGOTIATION
Darci M MacleadUnited KingdomXuxue Feng UNQUALIFIED
Salvatore H MorascaItalyXuxue Feng UNQUALIFIED
Octavia D ShinkoBrazilBernardo Dominic QUALIFIED
Nicolas V TollnerIndiaBernardo Dominic PROPOSAL
Murillo Y FlosiItalyIvan Magalhaes QUALIFIED
Smith Y WhobreySpainXuxue Feng NEW
James P GillianItalyIvan Magalhaes QUALIFIED
Cody Y InouyeItalyOnyama Limba QUALIFIED
Darci O AmigonRussiaAsiya Javayant RENEWAL
Greenwood E SaylorsItalyIvan Magalhaes QUALIFIED
James N InouyeJapanAsiya Javayant RENEWAL
Leon P VenereCanadaElwin Sharvill NEW
Juan D SlusarskiFranceStephen Shaw QUALIFIED
Johnson N RimGermanyBernardo Dominic QUALIFIED
Claire Y VenereFranceXuxue Feng RENEWAL
Kaitlin W MarrierAustraliaAnna Fali PROPOSAL
Murillo X KuskoArgentinaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Leja Y WaycottGermanyXuxue Feng NEGOTIATION
Rodrigues F NickaItalyElwin Sharvill PROPOSAL
Nicolas L FlosiCanadaBernardo Dominic RENEWAL
Julie K WieserUnited KingdomAnna Fali NEW
Aruna H ShinkoBrazilElwin Sharvill NEW
Rodrigues L SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Tony S MaletAustraliaIoni Bowcher PROPOSAL
Cody G PaprockiArgentinaOnyama Limba RENEWAL
Claire C FigeroaGermanyXuxue Feng UNQUALIFIED
Jennifer P WhobreyItalyAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa Y ShinkoBrazil2026-10-25Chemel, James L Cpa PROPOSAL0Ivan Magalhaes
1001Julie V MorascaGermany2026-10-31Truhlar And Truhlar Attys NEW47Onyama Limba
1002Darci W PoquetteFrance2026-10-15Benton, John B Jr QUALIFIED68Ioni Bowcher
1003Julie Q DarakjyUnited Kingdom2026-10-15Feltz Printing Service NEGOTIATION39Elwin Sharvill
1004Faith W DarakjyBrazil2026-11-05Printing Dimensions NEGOTIATION62Ioni Bowcher
1005Jones W WaycottBrazil2026-11-02Dorl, James J Esq PROPOSAL43Amy Elsner
1006Salvatore T NickaIndia2026-10-17Feltz Printing Service QUALIFIED70Ioni Bowcher
1007Costa Y VocelkaItaly2026-11-04Rangoni Of Florence RENEWAL76Anna Fali
1008Maisha L RoysterRussia2026-11-03Truhlar And Truhlar Attys NEGOTIATION59Stephen Shaw
1009Mujtaba O BologniaIndia2026-11-05Dorl, James J Esq QUALIFIED71Stephen Shaw
1010Misaki V ButtRussia2026-10-24Printing Dimensions NEGOTIATION90Ioni Bowcher
1011Juan Q DarakjyCanada2026-10-24Chemel, James L Cpa PROPOSAL60Xuxue Feng
1012Tony W KolmetzSpain2026-11-04Chapman, Ross E Esq PROPOSAL34Ivan Magalhaes
1013Octavia R CaldareraRussia2026-10-09Feiner Bros UNQUALIFIED19Anna Fali
1014Juan D IturbideCanada2026-10-31Chemel, James L Cpa RENEWAL94Amy Elsner
1015Ricardo M CaldareraRussia2026-10-08Truhlar And Truhlar Attys RENEWAL61Anna Fali
1016Isabel K FlosiUnited Kingdom2026-10-15Rousseaux, Michael Esq QUALIFIED0Amy Elsner
1017Ashley A StockhamJapan2026-10-09Commercial Press QUALIFIED24Onyama Limba
1018Jeanfrancois E GarufiItaly2026-10-20Truhlar And Truhlar Attys NEGOTIATION19Elwin Sharvill
1019Greenwood O CampainArgentina2026-10-12King, Christopher A Esq NEGOTIATION66Stephen Shaw
1020Morrow Z RimArgentina2026-10-22Commercial Press NEW49Asiya Javayant
1021Nicolas T MaletUnited Kingdom2026-10-09Feltz Printing Service NEGOTIATION28Bernardo Dominic
1022David Z RulapaughItaly2026-10-16Benton, John B Jr UNQUALIFIED66Ioni Bowcher
1023Aruna M AmigonItaly2026-10-31Feiner Bros UNQUALIFIED98Anna Fali
1024Emily J MaletFrance2026-10-20Morlong Associates RENEWAL89Bernardo Dominic
1025Smith S TollnerBrazil2026-10-23Feltz Printing Service QUALIFIED77Anna Fali
1026Isabel J VenereGermany2026-10-14Chanay, Jeffrey A Esq QUALIFIED84Bernardo Dominic
1027Deepesh X ButtGermany2026-10-10Chemel, James L Cpa NEW47Elwin Sharvill
1028Jeanfrancois N SergiRussia2026-10-23Feiner Bros NEGOTIATION15Stephen Shaw
1029Rodrigues T FigeroaSpain2026-10-18Dorl, James J Esq PROPOSAL15Xuxue Feng
1030Julie Q WieserAustralia2026-10-16Chemel, James L Cpa RENEWAL66Ioni Bowcher
1031Sinclair J PerinAustralia2026-11-03Buckley Miller Wright RENEWAL15Elwin Sharvill
1032Emily F WieserSpain2026-10-16Chemel, James L Cpa NEGOTIATION81Ivan Magalhaes
1033Mayumi G TollnerItaly2026-10-30Chanay, Jeffrey A Esq UNQUALIFIED66Xuxue Feng
1034Aruna W SlusarskiUnited Kingdom2026-10-26Feiner Bros QUALIFIED23Asiya Javayant
1035Clifford K SergiAustralia2026-10-24Truhlar And Truhlar Attys UNQUALIFIED96Anna Fali
1036Cody J WieserJapan2026-10-30Feltz Printing Service NEGOTIATION36Ivan Magalhaes
1037Jefferson H StockhamIndia2026-10-22Dorl, James J Esq RENEWAL13Ivan Magalhaes
1038Ashley J MaletFrance2026-10-29Rangoni Of Florence NEW78Stephen Shaw
1039Stacey O DoeItaly2026-10-31Truhlar And Truhlar Attys NEGOTIATION58Asiya Javayant
1040Ricardo L MaletJapan2026-11-05Dorl, James J Esq NEGOTIATION95Ivan Magalhaes
1041Claire J StockhamBrazil2026-10-28Chapman, Ross E Esq NEGOTIATION64Xuxue Feng
1042Johnson Y SaylorsArgentina2026-10-08Benton, John B Jr NEGOTIATION40Onyama Limba
1043Chavez D MaletCanada2026-10-21Printing Dimensions PROPOSAL80Xuxue Feng
1044Wickens R KolmetzItaly2026-10-25Truhlar And Truhlar Attys UNQUALIFIED70Asiya Javayant
1045Salvatore U BowleyBrazil2026-10-20Morlong Associates PROPOSAL20Elwin Sharvill
1046Munro Q RulapaughFrance2026-10-30Buckley Miller Wright PROPOSAL50Ivan Magalhaes
1047Alejandro L GauchoGermany2026-11-03Dorl, James J Esq UNQUALIFIED84Stephen Shaw
1048Arvin T ChuiGermany2026-10-20Rousseaux, Michael Esq NEW12Ioni Bowcher
1049Mayumi Z MaletArgentina2026-11-04Truhlar And Truhlar Attys UNQUALIFIED74Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aditya V PoquetteSpainOnyama Limba NEGOTIATION
Adams I StockhamCanadaElwin Sharvill RENEWAL
David H AmigonRussiaBernardo Dominic UNQUALIFIED
Nicolas C SlusarskiGermanyAnna Fali QUALIFIED
Francesco U MaletUnited KingdomAnna Fali NEGOTIATION
Nicolas I RutaBrazilElwin Sharvill NEGOTIATION
Salvatore P OldroydFranceOnyama Limba PROPOSAL
Chavez Y RimJapanIoni Bowcher PROPOSAL
Johnson K OldroydJapanAmy Elsner NEW
Salvatore F CaudyArgentinaOnyama Limba UNQUALIFIED
Octavia Q DoeItalyIoni Bowcher QUALIFIED
Antonio I DoeItalyOnyama Limba QUALIFIED
David X GarufiItalyIoni Bowcher NEW
Isabel Q GlickCanadaStephen Shaw NEGOTIATION
Jeanfrancois G GauchoBrazilStephen Shaw NEW
Antonio V RimUnited KingdomStephen Shaw NEGOTIATION
Clifford A PoquetteFranceOnyama Limba NEW
Arvin U SaylorsUnited KingdomOnyama Limba QUALIFIED
Clifford O MorascaFranceAnna Fali NEW
Maisha O GarufiRussiaIoni Bowcher NEGOTIATION
Adams J DarakjyFranceAmy Elsner NEW
Francesco I FigeroaCanadaIvan Magalhaes PROPOSAL
Jennifer Y KolmetzIndiaIoni Bowcher RENEWAL
Misaki G ButtJapanAsiya Javayant RENEWAL
Alejandro X BowleyItalyStephen Shaw NEW
Emily Y RimSpainAsiya Javayant RENEWAL
Ricardo X GillianCanadaElwin Sharvill PROPOSAL
Jennifer M AlbaresRussiaStephen Shaw NEGOTIATION
Darci Y IturbideAustraliaXuxue Feng NEW
Mayumi L DarakjyRussiaBernardo Dominic PROPOSAL
Juan W WieserArgentinaOnyama Limba QUALIFIED
Julie L RimFranceAsiya Javayant RENEWAL
Ricardo S SaylorsFranceXuxue Feng RENEWAL
Leja T BriddickBrazilAmy Elsner PROPOSAL
Ashley B IturbideIndiaOnyama Limba UNQUALIFIED
Aruna N AlbaresItalyIvan Magalhaes QUALIFIED
Jeanfrancois T PoquetteItalyStephen Shaw PROPOSAL
Aditya B OldroydSpainAmy Elsner QUALIFIED
Jennifer S ButtGermanyAmy Elsner PROPOSAL
Cody N GarufiBrazilXuxue Feng PROPOSAL
Ivar U IturbideAustraliaAmy Elsner QUALIFIED
Octavia Q FollerAustraliaAmy Elsner RENEWAL
Cody B MorascaGermanyElwin Sharvill NEGOTIATION
Silvio I VenereRussiaBernardo Dominic QUALIFIED
Juan T SergiSpainOnyama Limba RENEWAL
Costa C MaletItalyIoni Bowcher PROPOSAL
Costa A SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Jefferson Y BriddickRussiaOnyama Limba RENEWAL
James L SlusarskiGermanyOnyama Limba PROPOSAL
Stacey E RoysterUnited KingdomBernardo Dominic NEW
Frozen Columns
Name
Kaitlin W Royster
Costa K Malet
Greenwood W Rulapaugh
Antonio F Darakjy
Jeanfrancois U Amigon
Emily N Royster
Chavez R Iturbide
Izzy E Gillian
Antonio N Saylors
Darci M Nestle
Aruna M Albares
Nicolas F Whobrey
Claire L Caudy
Costa M Dilliard
Mujtaba Q Ostrosky
Salvatore I Ostrosky
Ivar M Garufi
James Q Glick
Nicolas J Glick
Octavia L Rulapaugh
Mujtaba Z Stenseth
Isabel E Glick
Johnson V Royster
Morrow Y Chui
Munro P Dilliard
Faith Z Dilliard
Ricardo E Iturbide
James W Butt
Munro C Rim
Clifford L Figeroa
Clifford Z Ostrosky
Tony E Sergi
Aika F Kolmetz
Claire D Rulapaugh
Julie S Venere
Johnson U Ostrosky
Darci G Perin
Silvio B Stenseth
Isabel V Stockham
Greenwood G Venere
Clifford K Stockham
Cody L Iturbide
Rodrigues W Whobrey
Faith Z Saylors
Chavez Z Flosi
Tony B Nicka
Izzy T Malet
Darci X Foller
Greenwood F Nicka
Aika Q Waycott
IdCountryDate
1000India2026-11-06
1001Brazil2026-10-31
1002Japan2026-10-08
1003Russia2026-10-28
1004United Kingdom2026-10-16
1005Japan2026-10-18
1006Italy2026-11-05
1007Germany2026-10-09
1008Canada2026-10-27
1009Brazil2026-11-06
1010Italy2026-10-20
1011Brazil2026-11-06
1012Japan2026-10-15
1013Japan2026-11-06
1014France2026-10-08
1015Japan2026-10-10
1016Canada2026-10-08
1017India2026-11-04
1018Argentina2026-10-23
1019Canada2026-10-23
1020Italy2026-10-28
1021France2026-10-20
1022Canada2026-10-09
1023Australia2026-10-08
1024Argentina2026-10-14
1025Germany2026-10-25
1026Canada2026-10-15
1027Canada2026-11-06
1028Spain2026-11-04
1029India2026-11-04
1030France2026-10-16
1031India2026-10-30
1032Spain2026-10-26
1033Canada2026-10-31
1034United Kingdom2026-10-08
1035United Kingdom2026-10-21
1036Japan2026-10-09
1037Brazil2026-10-10
1038Japan2026-10-23
1039France2026-10-14
1040India2026-10-21
1041France2026-10-19
1042Argentina2026-11-03
1043Italy2026-10-16
1044United Kingdom2026-10-09
1045Italy2026-10-31
1046Russia2026-10-24
1047India2026-10-17
1048France2026-11-01
1049Spain2026-10-13

On-Demand Data

NameIdCountryDate
Chavez A Dilliard1000United Kingdom2026-10-23
Rodrigues C Shinko1001Argentina2026-11-01
Kadeem L Saylors1002France2026-11-01
Costa T Ruta1003Russia2026-10-26
Claire T Figeroa1004Canada2026-10-11
Jennifer Y Wieser1005India2026-10-30
Stacey Y Butt1006Spain2026-10-11
Leja R Ferencz1007United Kingdom2026-10-11
James R Schemmer1008Argentina2026-10-22
Maisha I Gaucho1009United Kingdom2026-11-05
Kaitlin Y Chui1010Argentina2026-11-05
Clifford E Ostrosky1011Brazil2026-11-02
Isabel D Waycott1012Spain2026-10-26
Aruna X Iturbide1013France2026-10-26
Alejandro Q Venere1014France2026-10-28
Isabel K Whobrey1015Italy2026-10-23
Aruna D Malet1016United Kingdom2026-10-09
Darci K Iturbide1017India2026-10-17
Adams R Maclead1018Australia2026-11-05
Aruna U Rulapaugh1019India2026-10-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio C MaletCanadaStephen Shaw PROPOSAL
Isabel S GillianFranceXuxue Feng UNQUALIFIED
Salvatore O MaletRussiaStephen Shaw PROPOSAL
Kaitlin T WhobreyAustraliaStephen Shaw NEW
Sinclair S MacleadGermanyAsiya Javayant QUALIFIED
Claire F RoysterFranceAsiya Javayant QUALIFIED
Maria J FigeroaArgentinaXuxue Feng RENEWAL
Nicolas Y CaudySpainXuxue Feng PROPOSAL
Isabel K ButtItalyXuxue Feng UNQUALIFIED
Wickens L ShinkoIndiaIoni Bowcher NEGOTIATION
Darci L DilliardUnited KingdomOnyama Limba NEGOTIATION
Emily S FerenczFranceIoni Bowcher UNQUALIFIED
Ricardo P OstroskyIndiaElwin Sharvill RENEWAL
Cody Y VenereCanadaBernardo Dominic PROPOSAL
Wickens T IturbideRussiaAsiya Javayant NEGOTIATION
Izzy R StensethJapanOnyama Limba RENEWAL
Leon U FollerUnited KingdomAsiya Javayant UNQUALIFIED
Claire N StensethIndiaAnna Fali RENEWAL
Clifford B CaldareraSpainAmy Elsner NEGOTIATION
Maisha G GlickIndiaOnyama Limba QUALIFIED
Juan V BriddickUnited KingdomElwin Sharvill QUALIFIED
Maria J GlickBrazilIoni Bowcher UNQUALIFIED
Jones C GillianArgentinaBernardo Dominic UNQUALIFIED
Stacey Z PoquetteAustraliaIoni Bowcher NEW
Munro I BriddickItalyElwin Sharvill PROPOSAL
Adams M RulapaughIndiaAsiya Javayant RENEWAL
Isabel A RimArgentinaIoni Bowcher PROPOSAL
Aditya N FerenczArgentinaAnna Fali NEW
Misaki C CaldareraGermanyBernardo Dominic UNQUALIFIED
Smith G FlosiJapanIoni Bowcher NEGOTIATION
Faith W MacleadCanadaXuxue Feng QUALIFIED
Stacey U FlosiAustraliaBernardo Dominic NEGOTIATION
Nicolas M MacleadFranceXuxue Feng NEGOTIATION
Clifford J FigeroaFranceIoni Bowcher NEW
David Z OstroskyItalyIvan Magalhaes PROPOSAL
Costa K ShinkoUnited KingdomElwin Sharvill PROPOSAL
Stacey L FerenczAustraliaElwin Sharvill UNQUALIFIED
Kadeem P DarakjySpainAsiya Javayant QUALIFIED
Sinclair T PaprockiIndiaOnyama Limba QUALIFIED
Emily R KolmetzJapanStephen Shaw 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>