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
Jones L GauchoSpainAmy Elsner NEW
Sinclair M SergiItalyAnna Fali UNQUALIFIED
Stacey C KuskoSpainIoni Bowcher PROPOSAL
Darci P SergiAustraliaElwin Sharvill NEGOTIATION
David B MarrierIndiaXuxue Feng NEGOTIATION
Isabel S MaletGermanyIvan Magalhaes UNQUALIFIED
Chavez H StockhamFranceIvan Magalhaes NEGOTIATION
Wickens D BriddickRussiaIvan Magalhaes RENEWAL
Antonio A PaprockiArgentinaOnyama Limba QUALIFIED
Mujtaba E DilliardArgentinaIoni Bowcher QUALIFIED
Smith K MorascaCanadaAnna Fali UNQUALIFIED
Wickens S OldroydIndiaAmy Elsner NEW
Aditya H GauchoJapanAmy Elsner RENEWAL
Johnson Y OldroydSpainXuxue Feng UNQUALIFIED
Maisha U GauchoIndiaAnna Fali QUALIFIED
Costa O GarufiCanadaIoni Bowcher QUALIFIED
Mayumi J ChuiBrazilStephen Shaw UNQUALIFIED
Maisha Y MorascaJapanAmy Elsner NEGOTIATION
Costa Z SchemmerArgentinaBernardo Dominic UNQUALIFIED
Deepesh H VocelkaItalyOnyama Limba QUALIFIED
Silvio J SergiCanadaIvan Magalhaes UNQUALIFIED
Smith N DilliardSpainElwin Sharvill PROPOSAL
Francesco K StensethUnited KingdomBernardo Dominic NEW
Ricardo V MarrierUnited KingdomElwin Sharvill NEGOTIATION
Francesco V MarrierGermanyOnyama Limba QUALIFIED
Leon X SchemmerSpainIoni Bowcher NEW
Alejandro Q NestleAustraliaXuxue Feng UNQUALIFIED
Maisha F FerenczAustraliaStephen Shaw RENEWAL
Costa P MarrierBrazilElwin Sharvill PROPOSAL
Aruna S FigeroaItalyBernardo Dominic QUALIFIED
Izzy H SergiGermanyIoni Bowcher RENEWAL
Aruna S ShinkoGermanyElwin Sharvill UNQUALIFIED
Greenwood I TollnerUnited KingdomOnyama Limba PROPOSAL
Cody S ShinkoFranceStephen Shaw PROPOSAL
Chavez S SaylorsArgentinaAmy Elsner RENEWAL
James B CaldareraBrazilAmy Elsner RENEWAL
Juan L SaylorsGermanyBernardo Dominic NEGOTIATION
Costa E DilliardArgentinaAsiya Javayant NEW
Darci Q DoeIndiaOnyama Limba PROPOSAL
Tony K StockhamArgentinaOnyama Limba QUALIFIED
Mujtaba M InouyeJapanIvan Magalhaes NEW
Kadeem H CaudyAustraliaIvan Magalhaes RENEWAL
Alejandro M WhobreyGermanyBernardo Dominic NEGOTIATION
Ivar K DoeIndiaAsiya Javayant NEGOTIATION
Adams Z WieserGermanyOnyama Limba NEGOTIATION
Aruna F DilliardCanadaAnna Fali NEGOTIATION
Francesco U AlbaresSpainXuxue Feng RENEWAL
Adams H AmigonJapanAnna Fali NEGOTIATION
David H RimCanadaIoni Bowcher QUALIFIED
Johnson K BologniaUnited KingdomXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio N StockhamSpainStephen Shaw NEW
Sinclair J WaycottArgentinaAnna Fali QUALIFIED
Izzy Y SchemmerBrazilAnna Fali PROPOSAL
Jones E KolmetzRussiaAsiya Javayant UNQUALIFIED
Kadeem T WhobreyJapanElwin Sharvill UNQUALIFIED
Mayumi R AlbaresItalyOnyama Limba NEW
Julie P RoysterUnited KingdomAmy Elsner PROPOSAL
Munro S WaycottIndiaOnyama Limba UNQUALIFIED
Smith V AlbaresGermanyXuxue Feng RENEWAL
Jefferson V MorascaSpainAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio H OstroskyIndia2026-10-02Feiner Bros QUALIFIED24Elwin Sharvill
1001Alejandro T TollnerBrazil2026-09-29Morlong Associates UNQUALIFIED97Elwin Sharvill
1002Emily E GillianUnited Kingdom2026-09-29Chemel, James L Cpa RENEWAL90Bernardo Dominic
1003Aruna F KolmetzCanada2026-09-18Chapman, Ross E Esq RENEWAL65Stephen Shaw
1004Salvatore P MaletBrazil2026-09-09Printing Dimensions PROPOSAL79Stephen Shaw
1005Maisha A DoeBrazil2026-09-25Chapman, Ross E Esq UNQUALIFIED61Ioni Bowcher
1006Arvin K SlusarskiAustralia2026-10-01Printing Dimensions NEGOTIATION56Elwin Sharvill
1007Clifford C StensethUnited Kingdom2026-09-19Chemel, James L Cpa PROPOSAL45Stephen Shaw
1008Jones N StensethJapan2026-10-04Buckley Miller Wright NEW43Elwin Sharvill
1009Aika N AmigonSpain2026-09-14Morlong Associates PROPOSAL47Stephen Shaw
1010Greenwood O RoysterGermany2026-09-10Chapman, Ross E Esq RENEWAL3Bernardo Dominic
1011Mujtaba I FigeroaJapan2026-09-06Benton, John B Jr NEW55Ioni Bowcher
1012Ricardo I FollerIndia2026-09-21Feiner Bros PROPOSAL48Xuxue Feng
1013Francesco Y AmigonUnited Kingdom2026-09-27Benton, John B Jr NEGOTIATION92Onyama Limba
1014Juan Z MacleadJapan2026-09-22Feiner Bros UNQUALIFIED38Bernardo Dominic
1015Silvio X MorascaSpain2026-10-01Printing Dimensions NEW32Bernardo Dominic
1016Jeanfrancois D CampainSpain2026-09-11Rangoni Of Florence NEW91Anna Fali
1017Juan X BriddickItaly2026-09-23Commercial Press QUALIFIED78Stephen Shaw
1018Jefferson U NestleArgentina2026-09-26Truhlar And Truhlar Attys UNQUALIFIED41Bernardo Dominic
1019Mujtaba V SchemmerArgentina2026-10-02Feltz Printing Service QUALIFIED74Anna Fali
1020Mayumi G WaycottBrazil2026-09-18Feiner Bros NEGOTIATION44Stephen Shaw
1021Chavez U TollnerItaly2026-09-29King, Christopher A Esq NEGOTIATION27Ioni Bowcher
1022Francesco F WaycottArgentina2026-10-03Buckley Miller Wright NEW89Xuxue Feng
1023Clifford Z OstroskyArgentina2026-09-21Printing Dimensions NEW67Bernardo Dominic
1024Ashley N FigeroaAustralia2026-09-22King, Christopher A Esq QUALIFIED82Amy Elsner
1025Ricardo B SergiJapan2026-10-03Rangoni Of Florence NEGOTIATION98Ivan Magalhaes
1026Nicolas C FigeroaIndia2026-09-11Chanay, Jeffrey A Esq NEGOTIATION77Elwin Sharvill
1027Alejandro K PoquetteGermany2026-10-03Feiner Bros UNQUALIFIED70Ioni Bowcher
1028Jennifer U PaprockiSpain2026-09-17Chanay, Jeffrey A Esq RENEWAL88Stephen Shaw
1029Jennifer U SergiGermany2026-09-24Chapman, Ross E Esq NEGOTIATION17Stephen Shaw
1030Leon T MacleadAustralia2026-09-07Feltz Printing Service RENEWAL18Bernardo Dominic
1031Nicolas O DoeCanada2026-09-14Feiner Bros NEW38Ivan Magalhaes
1032Jones G KolmetzSpain2026-09-25Feltz Printing Service QUALIFIED77Elwin Sharvill
1033Maria G DoeIndia2026-09-29Chanay, Jeffrey A Esq QUALIFIED78Xuxue Feng
1034Costa V MorascaArgentina2026-09-18Rousseaux, Michael Esq NEW32Onyama Limba
1035Stacey A TollnerBrazil2026-09-10Buckley Miller Wright QUALIFIED74Xuxue Feng
1036Clifford Z DilliardSpain2026-09-08King, Christopher A Esq QUALIFIED35Xuxue Feng
1037Antonio G VocelkaSpain2026-09-12Feltz Printing Service RENEWAL3Onyama Limba
1038Nicolas I SlusarskiFrance2026-09-06Chanay, Jeffrey A Esq NEGOTIATION66Onyama Limba
1039Faith X AmigonArgentina2026-09-07Dorl, James J Esq QUALIFIED7Ioni Bowcher
1040Isabel C RulapaughIndia2026-09-11Feltz Printing Service NEGOTIATION17Amy Elsner
1041Jones L CampainBrazil2026-09-11Printing Dimensions QUALIFIED40Elwin Sharvill
1042James U DoeItaly2026-09-25Chemel, James L Cpa NEGOTIATION79Onyama Limba
1043Jennifer K FigeroaGermany2026-09-15Truhlar And Truhlar Attys UNQUALIFIED5Ioni Bowcher
1044Ivar J PaprockiIndia2026-09-14Benton, John B Jr UNQUALIFIED67Bernardo Dominic
1045Munro W StockhamItaly2026-09-15King, Christopher A Esq NEGOTIATION64Amy Elsner
1046Isabel A VenereJapan2026-09-06Chapman, Ross E Esq PROPOSAL77Ivan Magalhaes
1047Izzy S MorascaCanada2026-09-12Benton, John B Jr PROPOSAL49Elwin Sharvill
1048Jennifer P SlusarskiFrance2026-09-29Feltz Printing Service PROPOSAL12Asiya Javayant
1049Adams G WhobreyJapan2026-09-14Chapman, Ross E Esq NEW19Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Emily I RoysterUnited KingdomElwin Sharvill NEGOTIATION
Leja H CampainSpainAsiya Javayant NEGOTIATION
David J TollnerFranceIoni Bowcher NEW
Aditya S IturbideArgentinaAmy Elsner QUALIFIED
Alejandro S ButtIndiaOnyama Limba NEGOTIATION
Smith T BriddickJapanElwin Sharvill QUALIFIED
Octavia B GlickFranceIoni Bowcher UNQUALIFIED
Johnson D IturbideIndiaIvan Magalhaes RENEWAL
Jennifer X FollerSpainIvan Magalhaes NEGOTIATION
Kadeem X NickaUnited KingdomIoni Bowcher NEGOTIATION
Aditya T RulapaughAustraliaAnna Fali RENEWAL
Johnson Q NestleArgentinaXuxue Feng PROPOSAL
Leja W GarufiFranceIoni Bowcher RENEWAL
Aruna S AlbaresRussiaIvan Magalhaes QUALIFIED
Silvio G DoeGermanyElwin Sharvill RENEWAL
Deepesh Y RulapaughItalyElwin Sharvill NEGOTIATION
Ricardo G NestleGermanyXuxue Feng QUALIFIED
Mujtaba B VenereSpainIoni Bowcher UNQUALIFIED
Alejandro P CampainUnited KingdomIvan Magalhaes QUALIFIED
Morrow T AlbaresJapanBernardo Dominic NEGOTIATION
Salvatore F NestleIndiaAmy Elsner NEW
Aditya R FigeroaIndiaIvan Magalhaes NEW
Arvin U StockhamBrazilAnna Fali UNQUALIFIED
Nicolas D BriddickAustraliaOnyama Limba NEGOTIATION
Murillo G FigeroaBrazilBernardo Dominic QUALIFIED
Greenwood B DarakjyItalyOnyama Limba NEGOTIATION
Arvin Q SlusarskiAustraliaAnna Fali UNQUALIFIED
Morrow O ChuiFranceAmy Elsner QUALIFIED
David U AlbaresGermanyOnyama Limba QUALIFIED
Maria W VocelkaGermanyStephen Shaw NEW
Francesco F FerenczIndiaBernardo Dominic UNQUALIFIED
Kadeem J SchemmerSpainIvan Magalhaes PROPOSAL
Jennifer C MaletFranceOnyama Limba PROPOSAL
Octavia E DarakjyGermanyIoni Bowcher NEGOTIATION
Maisha V GlickGermanyAsiya Javayant NEGOTIATION
Leja T GarufiCanadaElwin Sharvill UNQUALIFIED
Nicolas G AlbaresGermanyAsiya Javayant RENEWAL
Alejandro Z ChuiRussiaAnna Fali UNQUALIFIED
Morrow C GauchoGermanyAmy Elsner RENEWAL
Stacey O AlbaresGermanyBernardo Dominic PROPOSAL
Silvio K BologniaAustraliaStephen Shaw NEGOTIATION
Sinclair H KuskoGermanyAmy Elsner UNQUALIFIED
Emily S DoeSpainAnna Fali QUALIFIED
Aruna R MacleadBrazilStephen Shaw PROPOSAL
Faith Q VenereGermanyIoni Bowcher QUALIFIED
Clifford F GillianGermanyXuxue Feng NEW
Morrow Y StockhamJapanAsiya Javayant NEW
Ivar O BriddickItalyXuxue Feng NEW
Munro R AlbaresBrazilBernardo Dominic UNQUALIFIED
Jefferson Z FerenczUnited KingdomXuxue Feng RENEWAL
Frozen Columns
Name
Adams A Nestle
Morrow B Slusarski
David U Morasca
Nicolas M Glick
Morrow Q Perin
Munro I Garufi
Jennifer M Vocelka
Rodrigues G Inouye
Arvin X Slusarski
Tony D Nicka
Isabel R Kolmetz
Jennifer M Venere
Clifford R Whobrey
Ricardo C Amigon
Arvin K Paprocki
Tony G Glick
Tony E Stenseth
Alejandro L Nestle
Greenwood A Chui
Isabel K Marrier
Jones C Nicka
Ashley S Nicka
Mayumi X Maclead
Octavia Y Albares
Ashley F Caldarera
Aika G Campain
Maisha N Royster
Johnson G Poquette
Johnson W Caudy
Mayumi V Wieser
Claire C Flosi
Francesco D Royster
Greenwood J Vocelka
Salvatore Z Waycott
David V Saylors
Arvin Q Oldroyd
Cody I Gaucho
Octavia Y Bolognia
Costa T Kusko
Jeanfrancois F Campain
Alejandro J Foller
Wickens S Ostrosky
Murillo K Maclead
Leon V Rim
Murillo B Dilliard
Cody C Ferencz
Leon E Flosi
Adams Z Maclead
Jennifer K Maclead
Faith Z Poquette
IdCountryDate
1000Germany2026-09-26
1001Spain2026-09-26
1002Argentina2026-09-27
1003United Kingdom2026-09-24
1004France2026-09-17
1005India2026-09-10
1006Australia2026-09-26
1007India2026-09-27
1008United Kingdom2026-09-10
1009Australia2026-09-29
1010Brazil2026-09-23
1011France2026-10-03
1012France2026-09-23
1013Russia2026-09-18
1014Japan2026-09-11
1015India2026-09-26
1016Brazil2026-09-29
1017Argentina2026-09-22
1018Canada2026-09-27
1019India2026-09-29
1020Australia2026-09-12
1021Australia2026-09-18
1022Brazil2026-09-11
1023Italy2026-09-26
1024Spain2026-09-21
1025Italy2026-09-22
1026Russia2026-09-14
1027Germany2026-09-14
1028Russia2026-09-27
1029Canada2026-09-29
1030India2026-09-19
1031France2026-09-06
1032United Kingdom2026-09-20
1033Russia2026-09-25
1034Argentina2026-09-06
1035Brazil2026-09-13
1036Spain2026-10-02
1037Germany2026-10-02
1038Brazil2026-09-15
1039United Kingdom2026-09-23
1040Brazil2026-09-09
1041Brazil2026-09-15
1042France2026-09-29
1043Japan2026-10-02
1044United Kingdom2026-09-19
1045Brazil2026-09-13
1046Canada2026-09-27
1047Spain2026-09-17
1048Brazil2026-09-07
1049Spain2026-09-09

On-Demand Data

NameIdCountryDate
James Q Ostrosky1000Canada2026-09-25
Maria A Figeroa1001Italy2026-10-02
Ricardo F Ostrosky1002United Kingdom2026-09-16
David Q Kusko1003Japan2026-09-15
Adams D Malet1004Japan2026-10-01
Kadeem J Figeroa1005Spain2026-09-05
Munro H Ferencz1006Canada2026-09-23
Leja L Bolognia1007India2026-09-18
Juan C Kusko1008France2026-09-21
Jennifer W Iturbide1009India2026-09-19
Sinclair G Figeroa1010Argentina2026-09-26
Maisha B Garufi1011Russia2026-09-06
Johnson P Inouye1012Italy2026-09-17
Faith F Nicka1013Japan2026-09-05
Aruna O Sergi1014France2026-10-03
Alejandro H Perin1015France2026-10-04
Jeanfrancois B Rim1016Italy2026-09-21
Salvatore W Maclead1017India2026-09-19
Smith V Maclead1018Germany2026-09-20
Wickens R Bowley1019France2026-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily G StockhamIndiaIoni Bowcher NEGOTIATION
Maria Z SchemmerGermanyAmy Elsner PROPOSAL
Chavez S SchemmerBrazilIoni Bowcher RENEWAL
Morrow I MarrierBrazilOnyama Limba PROPOSAL
Mujtaba L NickaRussiaXuxue Feng RENEWAL
Mayumi U ButtAustraliaAmy Elsner QUALIFIED
Sinclair E MacleadRussiaBernardo Dominic QUALIFIED
Ricardo Y VocelkaIndiaStephen Shaw PROPOSAL
James F GlickBrazilOnyama Limba PROPOSAL
Octavia E OldroydGermanyAmy Elsner NEGOTIATION
Misaki T MorascaRussiaOnyama Limba PROPOSAL
Francesco E KolmetzSpainBernardo Dominic UNQUALIFIED
Ivar L KolmetzUnited KingdomBernardo Dominic UNQUALIFIED
Arvin R WaycottJapanStephen Shaw RENEWAL
Faith K RimUnited KingdomAsiya Javayant RENEWAL
Deepesh R DilliardBrazilElwin Sharvill PROPOSAL
Ricardo K SchemmerGermanyIvan Magalhaes NEW
Kaitlin Z OldroydGermanyBernardo Dominic RENEWAL
Claire T CampainAustraliaIvan Magalhaes NEGOTIATION
Kaitlin E OldroydJapanAsiya Javayant UNQUALIFIED
Emily C DoeRussiaElwin Sharvill NEGOTIATION
Arvin E DarakjyUnited KingdomAsiya Javayant NEW
James D PoquetteGermanyIvan Magalhaes NEW
Emily E WhobreyJapanBernardo Dominic RENEWAL
Arvin X MacleadGermanyAsiya Javayant RENEWAL
Kadeem F FigeroaSpainAnna Fali PROPOSAL
Julie C WieserSpainElwin Sharvill QUALIFIED
Stacey Y InouyeSpainElwin Sharvill PROPOSAL
Emily U NestleCanadaElwin Sharvill UNQUALIFIED
Antonio Y WhobreyGermanyBernardo Dominic RENEWAL
Silvio R BriddickUnited KingdomStephen Shaw NEW
Alejandro M SaylorsBrazilStephen Shaw UNQUALIFIED
Nicolas I CaudyAustraliaOnyama Limba PROPOSAL
Arvin E CaudyGermanyElwin Sharvill QUALIFIED
Leja J VenereUnited KingdomAnna Fali RENEWAL
Aruna B SchemmerJapanIoni Bowcher PROPOSAL
Adams M DilliardFranceIvan Magalhaes UNQUALIFIED
Adams M ChuiArgentinaAnna Fali NEW
Maisha A ShinkoUnited KingdomAsiya Javayant UNQUALIFIED
Stacey J KuskoRussiaXuxue Feng 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>