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
Kaitlin F NestleSpainAnna Fali RENEWAL
Aruna K ButtUnited KingdomOnyama Limba NEW
Smith J MacleadCanadaAmy Elsner RENEWAL
Johnson H PoquetteItalyStephen Shaw NEW
Claire R BowleyIndiaIoni Bowcher QUALIFIED
Aditya C MaletAustraliaOnyama Limba NEGOTIATION
Stacey H NestleRussiaBernardo Dominic PROPOSAL
David F ChuiSpainAnna Fali QUALIFIED
Faith N RoysterRussiaAmy Elsner RENEWAL
Julie R SergiCanadaAnna Fali PROPOSAL
Mayumi N DoeGermanyOnyama Limba UNQUALIFIED
Cody J VocelkaJapanStephen Shaw NEGOTIATION
Jennifer Q SaylorsCanadaAnna Fali QUALIFIED
Jones J FigeroaBrazilBernardo Dominic QUALIFIED
Wickens I DarakjyGermanyOnyama Limba NEGOTIATION
Stacey N GillianJapanBernardo Dominic NEGOTIATION
Arvin Q DoeRussiaStephen Shaw RENEWAL
Misaki X AmigonFranceIoni Bowcher RENEWAL
Rodrigues R SlusarskiItalyAmy Elsner QUALIFIED
Juan D PaprockiCanadaAmy Elsner QUALIFIED
Jeanfrancois S BriddickGermanyIoni Bowcher RENEWAL
Darci V OldroydItalyXuxue Feng UNQUALIFIED
Misaki H FollerIndiaIvan Magalhaes RENEWAL
Stacey A RimSpainAmy Elsner NEW
David B OstroskyItalyBernardo Dominic PROPOSAL
Maria V FerenczArgentinaOnyama Limba PROPOSAL
Arvin Z BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Salvatore V OldroydJapanAmy Elsner PROPOSAL
Alejandro B FollerUnited KingdomOnyama Limba NEGOTIATION
Juan R KuskoCanadaStephen Shaw QUALIFIED
Johnson O SergiIndiaAmy Elsner UNQUALIFIED
David S RoysterUnited KingdomElwin Sharvill QUALIFIED
Maria N GlickBrazilStephen Shaw QUALIFIED
Costa J ShinkoGermanyAmy Elsner NEGOTIATION
Rodrigues V SlusarskiBrazilBernardo Dominic RENEWAL
Ricardo U AlbaresCanadaAnna Fali NEGOTIATION
Sinclair C GlickGermanyIvan Magalhaes QUALIFIED
Antonio J KolmetzAustraliaStephen Shaw QUALIFIED
Sinclair A DilliardAustraliaAmy Elsner NEW
Rodrigues P WhobreyFranceXuxue Feng UNQUALIFIED
Munro K SchemmerArgentinaAsiya Javayant PROPOSAL
Johnson Z FlosiSpainElwin Sharvill PROPOSAL
Kaitlin Q NestleItalyOnyama Limba QUALIFIED
Ricardo M BologniaFranceAnna Fali QUALIFIED
Murillo Q WhobreyJapanAsiya Javayant NEGOTIATION
Misaki T PaprockiItalyOnyama Limba RENEWAL
Clifford K OldroydArgentinaIoni Bowcher NEGOTIATION
James P BologniaGermanyElwin Sharvill PROPOSAL
Smith K AmigonSpainElwin Sharvill NEGOTIATION
Leja J OstroskyAustraliaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo M FlosiArgentinaAmy Elsner RENEWAL
Izzy T SlusarskiBrazilIvan Magalhaes UNQUALIFIED
Ricardo F FollerJapanIoni Bowcher UNQUALIFIED
Wickens J FigeroaFranceIoni Bowcher UNQUALIFIED
Juan V NickaItalyIvan Magalhaes NEGOTIATION
Faith B SlusarskiUnited KingdomAnna Fali NEW
Leja X MorascaGermanyAsiya Javayant QUALIFIED
Misaki L MacleadIndiaBernardo Dominic QUALIFIED
Maisha J GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Rodrigues E WaycottFranceIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie F RulapaughArgentina2026-10-30Feiner Bros NEGOTIATION62Anna Fali
1001Silvio R ShinkoGermany2026-11-12Printing Dimensions NEW57Ivan Magalhaes
1002Arvin T RoysterAustralia2026-10-31Morlong Associates NEGOTIATION79Bernardo Dominic
1003Emily Q MarrierGermany2026-11-13Morlong Associates UNQUALIFIED86Bernardo Dominic
1004Julie P MaletAustralia2026-11-06Benton, John B Jr PROPOSAL63Ioni Bowcher
1005Stacey Z PaprockiUnited Kingdom2026-11-09Chanay, Jeffrey A Esq RENEWAL82Elwin Sharvill
1006Mayumi W MorascaIndia2026-11-01Rousseaux, Michael Esq QUALIFIED21Elwin Sharvill
1007Jennifer D RimArgentina2026-10-21Buckley Miller Wright QUALIFIED81Anna Fali
1008Leon J BologniaJapan2026-11-01Chanay, Jeffrey A Esq PROPOSAL35Ioni Bowcher
1009Ivar G CaudyBrazil2026-11-09Morlong Associates RENEWAL26Asiya Javayant
1010Adams X BriddickArgentina2026-10-22Rousseaux, Michael Esq NEGOTIATION33Onyama Limba
1011Darci Z OldroydJapan2026-11-12Chemel, James L Cpa UNQUALIFIED84Amy Elsner
1012Alejandro U KuskoIndia2026-10-16Feiner Bros NEW26Elwin Sharvill
1013Munro M DoeGermany2026-10-18Dorl, James J Esq NEW57Anna Fali
1014Mayumi Z MaletSpain2026-10-18Chemel, James L Cpa RENEWAL86Bernardo Dominic
1015Morrow M PoquetteGermany2026-11-10Chapman, Ross E Esq PROPOSAL98Bernardo Dominic
1016Faith H FlosiBrazil2026-10-22Chapman, Ross E Esq UNQUALIFIED67Elwin Sharvill
1017Murillo P MaletCanada2026-10-23Buckley Miller Wright NEW82Stephen Shaw
1018Mujtaba N TollnerAustralia2026-10-22Feiner Bros NEGOTIATION31Asiya Javayant
1019Silvio P NestleJapan2026-11-11Feiner Bros NEGOTIATION78Elwin Sharvill
1020David U ShinkoAustralia2026-10-30King, Christopher A Esq QUALIFIED3Xuxue Feng
1021Izzy I MacleadSpain2026-11-09Rousseaux, Michael Esq PROPOSAL54Xuxue Feng
1022Clifford Q WieserGermany2026-10-25Chanay, Jeffrey A Esq PROPOSAL83Amy Elsner
1023Ashley U DoeArgentina2026-11-09Chapman, Ross E Esq NEGOTIATION52Xuxue Feng
1024Leon M TollnerBrazil2026-11-06Benton, John B Jr NEW46Stephen Shaw
1025Nicolas A GlickSpain2026-11-06Truhlar And Truhlar Attys UNQUALIFIED48Ioni Bowcher
1026Mujtaba B MaletItaly2026-11-02Chemel, James L Cpa PROPOSAL53Stephen Shaw
1027Leja P SlusarskiArgentina2026-10-26Chanay, Jeffrey A Esq UNQUALIFIED42Stephen Shaw
1028Isabel N MaletUnited Kingdom2026-11-03Rousseaux, Michael Esq NEGOTIATION63Onyama Limba
1029Jeanfrancois Z WhobreyIndia2026-11-01Truhlar And Truhlar Attys PROPOSAL4Bernardo Dominic
1030Munro G PerinRussia2026-11-05Morlong Associates NEGOTIATION60Bernardo Dominic
1031Clifford A KuskoItaly2026-11-04Buckley Miller Wright PROPOSAL44Amy Elsner
1032Rodrigues I KuskoArgentina2026-11-11Truhlar And Truhlar Attys PROPOSAL65Elwin Sharvill
1033Arvin L MorascaBrazil2026-10-27Truhlar And Truhlar Attys NEW22Onyama Limba
1034Silvio R ShinkoBrazil2026-10-29Benton, John B Jr NEW70Anna Fali
1035Chavez T NickaFrance2026-11-01Dorl, James J Esq UNQUALIFIED87Asiya Javayant
1036Jones D RimCanada2026-11-07Truhlar And Truhlar Attys RENEWAL61Xuxue Feng
1037Mayumi Q SaylorsAustralia2026-11-12Feltz Printing Service NEW9Amy Elsner
1038Francesco S PoquetteJapan2026-10-19Morlong Associates NEW0Asiya Javayant
1039Silvio L OstroskyAustralia2026-10-27Chapman, Ross E Esq RENEWAL42Bernardo Dominic
1040Emily R BriddickUnited Kingdom2026-10-18Truhlar And Truhlar Attys RENEWAL66Ivan Magalhaes
1041Claire H GarufiUnited Kingdom2026-10-30King, Christopher A Esq NEW96Onyama Limba
1042Faith E PoquetteGermany2026-10-21Morlong Associates PROPOSAL60Xuxue Feng
1043Greenwood E DilliardJapan2026-11-11Truhlar And Truhlar Attys NEW50Ioni Bowcher
1044Claire Q GarufiItaly2026-11-06Truhlar And Truhlar Attys RENEWAL68Onyama Limba
1045Wickens O ChuiGermany2026-11-02Chanay, Jeffrey A Esq UNQUALIFIED7Bernardo Dominic
1046Ricardo P BriddickRussia2026-10-26Benton, John B Jr PROPOSAL23Ivan Magalhaes
1047Jefferson H RoysterFrance2026-10-21Printing Dimensions UNQUALIFIED96Onyama Limba
1048Wickens X MaletBrazil2026-10-23Commercial Press NEGOTIATION96Ivan Magalhaes
1049Jennifer X PoquetteFrance2026-11-07Chanay, Jeffrey A Esq NEW60Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Salvatore X FerenczBrazilAnna Fali UNQUALIFIED
Arvin D WaycottRussiaStephen Shaw PROPOSAL
Jennifer I ChuiFranceXuxue Feng RENEWAL
Murillo N MacleadArgentinaIvan Magalhaes UNQUALIFIED
Francesco Y FerenczGermanyAmy Elsner UNQUALIFIED
Leja E KuskoCanadaElwin Sharvill NEGOTIATION
Aditya V SlusarskiItalyAnna Fali RENEWAL
Ivar P InouyeJapanBernardo Dominic RENEWAL
Ashley V IturbideGermanyIvan Magalhaes UNQUALIFIED
Maria J OstroskySpainAsiya Javayant UNQUALIFIED
Jennifer I WieserBrazilElwin Sharvill QUALIFIED
Chavez S BowleyRussiaAsiya Javayant UNQUALIFIED
Leon S PoquetteUnited KingdomBernardo Dominic RENEWAL
Greenwood F GlickItalyElwin Sharvill RENEWAL
Jeanfrancois X PoquetteBrazilElwin Sharvill NEGOTIATION
Faith X MacleadGermanyIvan Magalhaes NEW
Faith V MorascaSpainElwin Sharvill PROPOSAL
Salvatore I BologniaCanadaAsiya Javayant UNQUALIFIED
Maisha C RoysterCanadaIvan Magalhaes QUALIFIED
Smith F MaletBrazilIoni Bowcher RENEWAL
Misaki H ButtUnited KingdomIoni Bowcher NEW
Leja U KuskoCanadaIvan Magalhaes UNQUALIFIED
Ricardo W GauchoArgentinaAmy Elsner PROPOSAL
Faith Q MaletJapanIoni Bowcher NEW
Mujtaba Q OldroydJapanOnyama Limba NEW
Antonio C KolmetzJapanElwin Sharvill UNQUALIFIED
Kadeem P RutaItalyStephen Shaw QUALIFIED
Francesco O StensethAustraliaAmy Elsner RENEWAL
Greenwood I BowleyRussiaStephen Shaw RENEWAL
Morrow L PaprockiCanadaIvan Magalhaes QUALIFIED
Ashley K AmigonUnited KingdomAnna Fali NEW
Jones M SaylorsBrazilStephen Shaw NEGOTIATION
Izzy B KuskoJapanIvan Magalhaes QUALIFIED
Octavia Q MarrierJapanStephen Shaw NEW
Rodrigues N RoysterIndiaAnna Fali NEW
Aruna A MorascaRussiaIvan Magalhaes RENEWAL
Adams L VocelkaFranceAmy Elsner NEGOTIATION
Wickens X FollerCanadaAsiya Javayant PROPOSAL
Jones L DoeAustraliaIoni Bowcher UNQUALIFIED
Kaitlin R AmigonSpainStephen Shaw RENEWAL
James K GlickItalyStephen Shaw NEGOTIATION
Francesco F RulapaughSpainAsiya Javayant QUALIFIED
Sinclair Z PerinSpainIoni Bowcher PROPOSAL
Darci Z PerinSpainXuxue Feng RENEWAL
Rodrigues A OstroskyCanadaOnyama Limba NEW
Nicolas Y MaletAustraliaAsiya Javayant RENEWAL
Ricardo Z RimRussiaIvan Magalhaes UNQUALIFIED
Ashley A MarrierIndiaOnyama Limba NEW
Francesco F OldroydSpainIoni Bowcher QUALIFIED
Aruna S DarakjyGermanyXuxue Feng QUALIFIED
Frozen Columns
Name
Darci Y Bowley
Francesco O Nicka
Salvatore N Gaucho
Antonio U Butt
Aika V Royster
Deepesh A Campain
Morrow V Darakjy
Juan K Butt
Mayumi E Marrier
Deepesh A Briddick
Salvatore I Schemmer
Kaitlin N Briddick
Aruna F Vocelka
Claire A Kolmetz
Darci I Dilliard
Jeanfrancois T Flosi
Julie M Garufi
Nicolas R Kolmetz
Francesco B Paprocki
Murillo E Campain
Mayumi E Glick
Costa L Kusko
Munro X Wieser
Claire J Bowley
Izzy Y Poquette
Cody T Flosi
Arvin K Paprocki
Silvio U Iturbide
Wickens N Foller
Ricardo N Albares
Johnson D Schemmer
Cody J Sergi
Emily C Garufi
Jeanfrancois D Ostrosky
Octavia H Vocelka
Chavez S Tollner
Johnson G Ferencz
Juan H Schemmer
Faith E Nicka
Octavia D Caudy
Claire A Iturbide
Jennifer S Oldroyd
Nicolas P Caudy
Isabel T Caudy
Arvin Z Figeroa
Adams Z Garufi
Isabel U Wieser
Leon T Maclead
Deepesh H Rulapaugh
Jones Y Sergi
IdCountryDate
1000Germany2026-11-04
1001Argentina2026-10-19
1002United Kingdom2026-10-16
1003Argentina2026-10-20
1004United Kingdom2026-11-08
1005Japan2026-10-16
1006Russia2026-10-30
1007Spain2026-10-22
1008Japan2026-11-04
1009Australia2026-11-11
1010Germany2026-11-13
1011India2026-10-27
1012India2026-11-05
1013Canada2026-10-27
1014Canada2026-10-30
1015Argentina2026-11-06
1016France2026-10-29
1017Russia2026-10-28
1018Australia2026-11-02
1019Germany2026-11-13
1020Japan2026-10-28
1021Brazil2026-11-04
1022Japan2026-11-06
1023Argentina2026-11-14
1024United Kingdom2026-10-25
1025Spain2026-11-08
1026United Kingdom2026-11-01
1027United Kingdom2026-11-10
1028Brazil2026-10-23
1029Russia2026-10-16
1030Germany2026-10-29
1031Brazil2026-11-01
1032Australia2026-10-19
1033Argentina2026-11-11
1034Australia2026-11-12
1035Italy2026-10-16
1036Australia2026-10-23
1037United Kingdom2026-11-09
1038Italy2026-11-06
1039Brazil2026-11-09
1040Spain2026-11-13
1041Australia2026-11-10
1042Russia2026-10-21
1043Japan2026-11-05
1044India2026-10-28
1045Japan2026-11-05
1046France2026-11-07
1047Japan2026-10-18
1048Germany2026-11-06
1049Australia2026-10-23

On-Demand Data

NameIdCountryDate
Isabel O Wieser1000Spain2026-11-09
Octavia V Morasca1001Italy2026-11-06
Faith S Marrier1002Russia2026-11-05
Cody W Saylors1003Italy2026-11-03
Munro X Wieser1004Canada2026-10-17
Silvio Y Garufi1005Italy2026-11-01
Kaitlin X Venere1006Italy2026-10-28
Greenwood A Schemmer1007Italy2026-10-19
Alejandro P Morasca1008Spain2026-10-28
Morrow E Rim1009United Kingdom2026-11-13
Misaki T Tollner1010France2026-10-21
Johnson D Malet1011Japan2026-10-30
Aruna W Kusko1012India2026-10-27
Aruna Y Gillian1013Japan2026-11-06
Isabel V Foller1014Spain2026-10-19
Octavia V Schemmer1015Canada2026-11-13
Clifford Y Slusarski1016Argentina2026-11-14
Greenwood M Nicka1017Spain2026-11-05
David B Caudy1018Argentina2026-10-18
James Z Campain1019France2026-10-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams X VocelkaArgentinaXuxue Feng NEGOTIATION
Adams R SlusarskiBrazilAmy Elsner RENEWAL
Jefferson N PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Jefferson Q KuskoArgentinaElwin Sharvill UNQUALIFIED
Leon D KolmetzIndiaAmy Elsner UNQUALIFIED
Ricardo K MorascaArgentinaStephen Shaw NEGOTIATION
David V PerinItalyElwin Sharvill QUALIFIED
Nicolas B PoquetteUnited KingdomBernardo Dominic UNQUALIFIED
Kaitlin L KuskoFranceOnyama Limba UNQUALIFIED
Emily H KuskoItalyAsiya Javayant PROPOSAL
Maria K GarufiGermanyAmy Elsner PROPOSAL
Salvatore K MorascaItalyOnyama Limba RENEWAL
Arvin A PoquetteItalyIvan Magalhaes NEGOTIATION
Faith L StensethFranceOnyama Limba PROPOSAL
Clifford M VenereArgentinaAmy Elsner NEGOTIATION
Cody T NestleBrazilAmy Elsner NEW
Octavia J PerinGermanyAnna Fali NEGOTIATION
Deepesh D KolmetzFranceElwin Sharvill PROPOSAL
Jefferson R KolmetzSpainIvan Magalhaes UNQUALIFIED
Chavez J FollerGermanyAmy Elsner RENEWAL
Nicolas S RimUnited KingdomOnyama Limba QUALIFIED
Tony U OldroydGermanyElwin Sharvill RENEWAL
Emily W GillianCanadaAmy Elsner UNQUALIFIED
Alejandro M OstroskyIndiaBernardo Dominic UNQUALIFIED
Mujtaba N GarufiSpainIoni Bowcher UNQUALIFIED
Aika R ButtAustraliaAnna Fali QUALIFIED
Aruna W SchemmerSpainStephen Shaw RENEWAL
Tony G PerinAustraliaAnna Fali RENEWAL
Octavia C RimBrazilAnna Fali RENEWAL
Mujtaba Q KuskoArgentinaIvan Magalhaes PROPOSAL
Nicolas V NestleItalyXuxue Feng UNQUALIFIED
Costa S GauchoSpainOnyama Limba NEGOTIATION
Jeanfrancois V FlosiRussiaStephen Shaw NEGOTIATION
Wickens A DilliardCanadaIoni Bowcher RENEWAL
Kadeem T PoquetteIndiaElwin Sharvill UNQUALIFIED
Leja E IturbideFranceAsiya Javayant PROPOSAL
Cody Z SergiBrazilAmy Elsner NEGOTIATION
Murillo H GarufiAustraliaIvan Magalhaes PROPOSAL
Julie Y StockhamCanadaXuxue Feng QUALIFIED
Jennifer H ChuiCanadaAmy Elsner NEW

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