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
Johnson S FigeroaGermanyElwin Sharvill UNQUALIFIED
Isabel M SlusarskiItalyIvan Magalhaes NEW
Mujtaba B AmigonArgentinaXuxue Feng UNQUALIFIED
Greenwood A FerenczJapanIvan Magalhaes QUALIFIED
Claire F SlusarskiFranceAmy Elsner PROPOSAL
Isabel Z MacleadIndiaAnna Fali NEW
Adams P VenereSpainAsiya Javayant UNQUALIFIED
Antonio X WaycottGermanyOnyama Limba RENEWAL
Tony S ShinkoCanadaXuxue Feng QUALIFIED
Mujtaba G FollerCanadaAsiya Javayant PROPOSAL
Maisha P PerinUnited KingdomElwin Sharvill RENEWAL
Johnson U SlusarskiIndiaIoni Bowcher NEGOTIATION
Juan F ChuiAustraliaAsiya Javayant NEGOTIATION
Salvatore H ChuiAustraliaBernardo Dominic NEGOTIATION
Izzy H ShinkoSpainAnna Fali NEGOTIATION
Arvin O DoeBrazilBernardo Dominic PROPOSAL
Alejandro D BologniaItalyXuxue Feng QUALIFIED
Isabel C RutaRussiaStephen Shaw UNQUALIFIED
Munro X MorascaItalyBernardo Dominic NEW
Kadeem W AlbaresGermanyIvan Magalhaes NEW
Clifford F CaldareraSpainAnna Fali QUALIFIED
Julie Z ChuiBrazilBernardo Dominic UNQUALIFIED
Antonio Z InouyeArgentinaBernardo Dominic NEW
Emily Q RulapaughItalyIvan Magalhaes NEW
Jeanfrancois U WieserAustraliaIoni Bowcher NEGOTIATION
Rodrigues L DoeRussiaAnna Fali NEGOTIATION
Clifford S MarrierBrazilAmy Elsner UNQUALIFIED
Maria P OldroydFranceStephen Shaw RENEWAL
Smith E KolmetzAustraliaOnyama Limba RENEWAL
Salvatore L GauchoArgentinaBernardo Dominic NEGOTIATION
Jefferson N DarakjySpainXuxue Feng RENEWAL
Jeanfrancois L SaylorsIndiaIvan Magalhaes QUALIFIED
Chavez F GauchoUnited KingdomAmy Elsner NEW
Munro I GillianJapanIvan Magalhaes QUALIFIED
Izzy B PoquetteAustraliaElwin Sharvill NEGOTIATION
Antonio U GauchoRussiaStephen Shaw RENEWAL
Leon U ShinkoArgentinaStephen Shaw UNQUALIFIED
Jefferson X RutaSpainOnyama Limba UNQUALIFIED
Darci K BriddickAustraliaElwin Sharvill RENEWAL
Silvio Q FerenczRussiaOnyama Limba NEGOTIATION
Francesco Q CaldareraArgentinaStephen Shaw NEGOTIATION
Mayumi N RimItalyAmy Elsner QUALIFIED
Nicolas C MaletRussiaIvan Magalhaes RENEWAL
Izzy H KuskoAustraliaAsiya Javayant UNQUALIFIED
Costa Q FigeroaItalyAnna Fali UNQUALIFIED
Johnson W MarrierAustraliaAsiya Javayant NEW
Leon S FlosiCanadaElwin Sharvill RENEWAL
Ashley N FerenczCanadaElwin Sharvill NEW
Morrow B ShinkoBrazilBernardo Dominic QUALIFIED
Julie P WieserRussiaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Misaki Q FollerArgentinaIoni Bowcher NEW
Antonio C TollnerCanadaOnyama Limba NEGOTIATION
Ivar R WhobreyArgentinaOnyama Limba RENEWAL
Juan A GlickItalyAmy Elsner NEW
Smith S ButtItalyStephen Shaw NEGOTIATION
Faith D DarakjyRussiaIoni Bowcher NEGOTIATION
Jefferson F VocelkaGermanyIoni Bowcher NEGOTIATION
Francesco V NestleJapanStephen Shaw NEW
Jones A MacleadSpainElwin Sharvill NEW
Cody V AmigonBrazilIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro V PerinAustralia2026-09-21Chanay, Jeffrey A Esq QUALIFIED3Stephen Shaw
1001Arvin T DoeJapan2026-09-29Chanay, Jeffrey A Esq NEW60Xuxue Feng
1002Maria A SchemmerJapan2026-10-02Morlong Associates RENEWAL0Bernardo Dominic
1003Salvatore S DoeArgentina2026-10-03Feiner Bros RENEWAL47Stephen Shaw
1004Salvatore X AmigonGermany2026-09-10Chemel, James L Cpa NEW70Onyama Limba
1005Jennifer K MorascaGermany2026-09-25Dorl, James J Esq UNQUALIFIED89Elwin Sharvill
1006Ashley J VenereGermany2026-09-13Chanay, Jeffrey A Esq PROPOSAL21Elwin Sharvill
1007Maisha G RimRussia2026-09-18Buckley Miller Wright QUALIFIED7Bernardo Dominic
1008Leon E KuskoCanada2026-09-12Truhlar And Truhlar Attys QUALIFIED45Ivan Magalhaes
1009Sinclair W InouyeIndia2026-09-21Chanay, Jeffrey A Esq QUALIFIED99Elwin Sharvill
1010Deepesh X BriddickItaly2026-10-04Rangoni Of Florence PROPOSAL29Asiya Javayant
1011Darci B RutaRussia2026-09-12Morlong Associates RENEWAL61Ivan Magalhaes
1012Cody F CaudyAustralia2026-09-12Printing Dimensions UNQUALIFIED87Elwin Sharvill
1013Claire T SlusarskiJapan2026-10-02King, Christopher A Esq QUALIFIED95Ioni Bowcher
1014James P KuskoIndia2026-09-22Chanay, Jeffrey A Esq NEGOTIATION81Onyama Limba
1015Faith D KolmetzItaly2026-10-06Rousseaux, Michael Esq RENEWAL44Ioni Bowcher
1016Kadeem P DoeArgentina2026-09-13Printing Dimensions NEGOTIATION57Elwin Sharvill
1017Ivar E GarufiIndia2026-09-23Chapman, Ross E Esq RENEWAL57Elwin Sharvill
1018Aika B SchemmerAustralia2026-10-02Feltz Printing Service RENEWAL11Ioni Bowcher
1019Chavez H OldroydIndia2026-09-18Buckley Miller Wright NEGOTIATION95Ioni Bowcher
1020Julie H MacleadJapan2026-09-28Chanay, Jeffrey A Esq PROPOSAL59Amy Elsner
1021Jennifer P GillianRussia2026-09-21Chapman, Ross E Esq PROPOSAL59Elwin Sharvill
1022Greenwood G CaldareraItaly2026-09-16Chemel, James L Cpa UNQUALIFIED58Asiya Javayant
1023Ricardo B WieserAustralia2026-09-20Commercial Press RENEWAL54Xuxue Feng
1024Antonio T OstroskyRussia2026-10-05Rousseaux, Michael Esq QUALIFIED24Amy Elsner
1025Nicolas M PerinGermany2026-10-06Feltz Printing Service UNQUALIFIED66Stephen Shaw
1026Morrow G VenereAustralia2026-09-19Chapman, Ross E Esq QUALIFIED33Bernardo Dominic
1027Mujtaba J NestleIndia2026-09-20Rousseaux, Michael Esq RENEWAL26Stephen Shaw
1028Juan E VenereItaly2026-10-01Feltz Printing Service UNQUALIFIED77Amy Elsner
1029Octavia A NestleJapan2026-09-22Commercial Press PROPOSAL58Xuxue Feng
1030Wickens C StensethArgentina2026-09-23Chemel, James L Cpa RENEWAL58Ivan Magalhaes
1031Darci Y GillianGermany2026-10-02Feltz Printing Service PROPOSAL67Stephen Shaw
1032Silvio J DoeBrazil2026-09-22Chemel, James L Cpa NEW27Ivan Magalhaes
1033Antonio V DarakjyCanada2026-09-12Morlong Associates NEW23Xuxue Feng
1034Morrow G RimSpain2026-09-18Commercial Press NEGOTIATION85Onyama Limba
1035Johnson O ShinkoUnited Kingdom2026-09-28King, Christopher A Esq UNQUALIFIED21Asiya Javayant
1036Arvin G GarufiBrazil2026-09-23Chapman, Ross E Esq UNQUALIFIED58Amy Elsner
1037Emily I NickaCanada2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED93Amy Elsner
1038Izzy H KolmetzArgentina2026-09-21Dorl, James J Esq QUALIFIED60Ivan Magalhaes
1039Antonio P MorascaItaly2026-09-12Rousseaux, Michael Esq UNQUALIFIED80Amy Elsner
1040Ashley L MorascaCanada2026-09-27Benton, John B Jr RENEWAL60Anna Fali
1041Johnson Z RimArgentina2026-09-21Benton, John B Jr RENEWAL85Asiya Javayant
1042Ashley B CaldareraCanada2026-09-14Commercial Press RENEWAL21Stephen Shaw
1043Alejandro C WaycottSpain2026-09-08Truhlar And Truhlar Attys NEW63Anna Fali
1044Maria E TollnerFrance2026-10-07Rangoni Of Florence QUALIFIED83Ioni Bowcher
1045Misaki M OldroydGermany2026-09-20Dorl, James J Esq PROPOSAL33Elwin Sharvill
1046Salvatore F InouyeArgentina2026-09-19Printing Dimensions NEW47Onyama Limba
1047Aruna T FlosiCanada2026-09-28Feltz Printing Service QUALIFIED19Bernardo Dominic
1048Jones B FigeroaRussia2026-09-11Chemel, James L Cpa NEW51Stephen Shaw
1049Leja C InouyeIndia2026-10-05King, Christopher A Esq NEW29Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Emily A ButtIndiaIoni Bowcher NEGOTIATION
Mayumi I SaylorsRussiaElwin Sharvill RENEWAL
Emily P FerenczFranceIvan Magalhaes RENEWAL
Cody C GlickRussiaIvan Magalhaes PROPOSAL
Kadeem I StockhamArgentinaBernardo Dominic RENEWAL
Silvio N DarakjyCanadaStephen Shaw PROPOSAL
Octavia E DoeAustraliaIvan Magalhaes QUALIFIED
Misaki B FollerIndiaAnna Fali PROPOSAL
Francesco R PaprockiAustraliaElwin Sharvill QUALIFIED
Salvatore B SlusarskiGermanyAsiya Javayant QUALIFIED
Maisha C MacleadUnited KingdomIoni Bowcher PROPOSAL
Jefferson W DoeCanadaIoni Bowcher NEGOTIATION
Adams H FollerArgentinaOnyama Limba QUALIFIED
Costa I StockhamJapanIvan Magalhaes NEW
Leon J ShinkoItalyAmy Elsner QUALIFIED
Julie F TollnerAustraliaIoni Bowcher QUALIFIED
Kaitlin G AmigonIndiaAmy Elsner NEGOTIATION
Rodrigues K IturbideSpainAnna Fali QUALIFIED
Darci N RulapaughRussiaElwin Sharvill PROPOSAL
Leon R PoquetteJapanAmy Elsner QUALIFIED
Ricardo J FerenczSpainOnyama Limba RENEWAL
Claire J InouyeRussiaStephen Shaw RENEWAL
Adams S PerinSpainIvan Magalhaes NEW
James Y VenereAustraliaIvan Magalhaes UNQUALIFIED
Isabel L KuskoCanadaAmy Elsner NEW
Faith M SlusarskiUnited KingdomOnyama Limba RENEWAL
Maria K MaletGermanyXuxue Feng QUALIFIED
Johnson U CaldareraSpainElwin Sharvill PROPOSAL
Octavia P MaletUnited KingdomAnna Fali PROPOSAL
Arvin N RoysterGermanyAsiya Javayant QUALIFIED
Aika D IturbideItalyStephen Shaw QUALIFIED
Mayumi G RulapaughUnited KingdomIvan Magalhaes PROPOSAL
Darci Y ShinkoAustraliaStephen Shaw QUALIFIED
Arvin U FollerUnited KingdomElwin Sharvill UNQUALIFIED
Murillo M PerinCanadaAsiya Javayant UNQUALIFIED
Jones T DarakjyGermanyBernardo Dominic PROPOSAL
Stacey E WieserAustraliaAnna Fali NEGOTIATION
Costa W WaycottJapanIvan Magalhaes NEW
David E FerenczCanadaOnyama Limba UNQUALIFIED
David Z DarakjyGermanyXuxue Feng QUALIFIED
Tony E NestleIndiaOnyama Limba QUALIFIED
Octavia C SergiIndiaBernardo Dominic RENEWAL
Isabel M WhobreyItalyStephen Shaw UNQUALIFIED
Maria K GarufiBrazilXuxue Feng UNQUALIFIED
Emily W ButtCanadaAnna Fali NEW
Murillo K SchemmerItalyElwin Sharvill UNQUALIFIED
Deepesh J KolmetzItalyIvan Magalhaes PROPOSAL
Aditya I SaylorsUnited KingdomAnna Fali QUALIFIED
Stacey R TollnerIndiaOnyama Limba UNQUALIFIED
Jeanfrancois P GillianFranceAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Jeanfrancois J Perin
Adams P Wieser
James E Rulapaugh
Greenwood L Slusarski
Kaitlin T Malet
Antonio G Vocelka
Francesco E Kusko
Mayumi K Butt
Maria P Rulapaugh
Emily T Glick
Claire X Doe
James S Darakjy
Emily B Vocelka
Deepesh Y Whobrey
Claire T Briddick
Aditya Y Gillian
Costa T Darakjy
Emily S Paprocki
Faith G Stenseth
Jennifer D Kolmetz
Antonio U Ostrosky
Johnson H Iturbide
Morrow C Rulapaugh
Kaitlin N Caudy
Murillo E Bowley
Leon J Inouye
Costa B Flosi
Mujtaba M Stenseth
Alejandro R Kolmetz
Claire I Perin
Greenwood Q Gillian
Misaki Y Rulapaugh
Aditya L Gillian
Cody Z Dilliard
Jennifer Y Butt
Aika N Nicka
Smith A Maclead
Julie K Inouye
Mayumi D Kolmetz
Faith Z Marrier
Jeanfrancois W Poquette
Isabel N Stenseth
Morrow N Royster
Leja H Royster
Misaki Y Dilliard
Deepesh B Kolmetz
Jeanfrancois N Slusarski
Izzy W Vocelka
Adams P Ferencz
Izzy D Malet
IdCountryDate
1000Australia2026-09-19
1001Japan2026-10-04
1002India2026-09-20
1003Australia2026-09-30
1004Italy2026-09-24
1005Brazil2026-09-26
1006Russia2026-09-28
1007Russia2026-09-11
1008India2026-09-21
1009Japan2026-09-14
1010India2026-10-02
1011United Kingdom2026-09-27
1012Italy2026-09-13
1013Italy2026-09-19
1014Brazil2026-10-02
1015Brazil2026-09-11
1016India2026-09-11
1017Australia2026-09-29
1018United Kingdom2026-10-06
1019Canada2026-09-09
1020Russia2026-09-17
1021India2026-10-03
1022Australia2026-09-28
1023United Kingdom2026-10-07
1024Russia2026-09-25
1025Germany2026-09-29
1026Germany2026-09-09
1027Argentina2026-09-20
1028Brazil2026-10-04
1029Australia2026-09-30
1030India2026-09-14
1031Spain2026-09-16
1032Australia2026-09-25
1033Argentina2026-09-17
1034United Kingdom2026-10-02
1035India2026-09-13
1036Canada2026-09-23
1037Japan2026-09-17
1038Germany2026-09-12
1039Australia2026-09-16
1040Argentina2026-09-11
1041Australia2026-09-17
1042Russia2026-09-08
1043Germany2026-09-14
1044Italy2026-09-24
1045United Kingdom2026-09-23
1046France2026-09-28
1047France2026-10-02
1048Russia2026-10-05
1049Argentina2026-09-11

On-Demand Data

NameIdCountryDate
Johnson L Rulapaugh1000Japan2026-09-29
Clifford C Ferencz1001France2026-10-07
Stacey G Bolognia1002Canada2026-09-28
Claire K Gaucho1003United Kingdom2026-10-05
Chavez N Kusko1004Japan2026-09-15
Smith L Inouye1005United Kingdom2026-09-27
Juan I Venere1006Brazil2026-09-30
Stacey Q Poquette1007France2026-10-02
Smith F Royster1008Australia2026-09-16
Jennifer G Bowley1009Canada2026-10-07
Sinclair L Chui1010Canada2026-10-05
Sinclair T Inouye1011Australia2026-09-16
Greenwood D Malet1012Russia2026-10-05
Ivar Q Schemmer1013Brazil2026-09-23
Darci D Paprocki1014Brazil2026-09-26
Aika B Caudy1015Australia2026-09-25
Chavez N Wieser1016United Kingdom2026-09-17
Wickens M Shinko1017United Kingdom2026-09-15
Rodrigues E Saylors1018Italy2026-09-08
Jeanfrancois W Doe1019Spain2026-09-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens V RutaIndiaElwin Sharvill UNQUALIFIED
Chavez G GlickSpainIvan Magalhaes RENEWAL
Maisha W WaycottIndiaBernardo Dominic NEGOTIATION
Kaitlin Y RutaRussiaOnyama Limba PROPOSAL
Aruna D MarrierRussiaElwin Sharvill PROPOSAL
Johnson I StensethIndiaStephen Shaw QUALIFIED
Julie A TollnerIndiaIoni Bowcher PROPOSAL
Greenwood U InouyeSpainAsiya Javayant QUALIFIED
Jones B RutaArgentinaIvan Magalhaes NEGOTIATION
Jennifer F MaletAustraliaStephen Shaw UNQUALIFIED
Leja G MacleadCanadaBernardo Dominic PROPOSAL
Aika L KuskoUnited KingdomXuxue Feng NEW
Maisha V NickaIndiaIoni Bowcher RENEWAL
Isabel Y RulapaughBrazilOnyama Limba NEGOTIATION
Maisha A MorascaSpainAnna Fali RENEWAL
Darci K RimGermanyXuxue Feng NEW
Jennifer Q DilliardSpainAnna Fali RENEWAL
Sinclair J KolmetzGermanyAsiya Javayant PROPOSAL
Wickens O ChuiBrazilStephen Shaw PROPOSAL
Octavia Q MorascaArgentinaXuxue Feng PROPOSAL
Antonio J WhobreyBrazilElwin Sharvill QUALIFIED
Aditya F GauchoArgentinaIvan Magalhaes RENEWAL
Cody F GillianArgentinaBernardo Dominic UNQUALIFIED
Aruna V OldroydIndiaStephen Shaw QUALIFIED
Maisha T MaletIndiaIoni Bowcher UNQUALIFIED
Maisha E RutaCanadaAmy Elsner UNQUALIFIED
Tony Q SchemmerBrazilXuxue Feng NEW
Johnson W StockhamRussiaStephen Shaw RENEWAL
Francesco M PaprockiArgentinaAmy Elsner NEW
Juan R StensethRussiaIoni Bowcher UNQUALIFIED
Juan Y SlusarskiBrazilIoni Bowcher RENEWAL
Sinclair L CampainGermanyBernardo Dominic RENEWAL
Ricardo W CaudyFranceAnna Fali NEGOTIATION
Cody N PoquetteItalyIvan Magalhaes NEGOTIATION
Octavia N AlbaresSpainAmy Elsner PROPOSAL
Leon E WaycottBrazilAnna Fali PROPOSAL
Jennifer F ButtUnited KingdomAsiya Javayant NEGOTIATION
Isabel P MacleadCanadaBernardo Dominic NEW
Salvatore Q NickaItalyStephen Shaw RENEWAL
Maria B StockhamUnited KingdomXuxue Feng PROPOSAL

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