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
Aruna U ShinkoRussiaElwin Sharvill NEGOTIATION
Cody C StensethBrazilAnna Fali NEGOTIATION
James L MorascaGermanyIoni Bowcher NEGOTIATION
Mayumi H BowleyUnited KingdomAsiya Javayant NEW
Silvio A StockhamUnited KingdomXuxue Feng PROPOSAL
Ashley C FerenczBrazilAsiya Javayant QUALIFIED
Deepesh W RimSpainIvan Magalhaes PROPOSAL
Jeanfrancois G BowleyIndiaAnna Fali QUALIFIED
James Q CaldareraCanadaIvan Magalhaes PROPOSAL
Morrow R MarrierCanadaBernardo Dominic RENEWAL
Aditya W VenereFranceIoni Bowcher NEGOTIATION
Faith F MarrierCanadaAsiya Javayant UNQUALIFIED
Mujtaba C KuskoCanadaAnna Fali QUALIFIED
Jeanfrancois O WieserJapanStephen Shaw PROPOSAL
Salvatore R WhobreyRussiaStephen Shaw QUALIFIED
Faith E CampainJapanIvan Magalhaes RENEWAL
Mujtaba N SaylorsIndiaXuxue Feng UNQUALIFIED
Ivar W PoquetteUnited KingdomBernardo Dominic RENEWAL
Silvio C AmigonItalyOnyama Limba NEW
Sinclair N RoysterIndiaIvan Magalhaes QUALIFIED
Aruna A MaletUnited KingdomAnna Fali NEW
Ivar Y FlosiIndiaOnyama Limba PROPOSAL
Ivar C FerenczRussiaAsiya Javayant QUALIFIED
Murillo B GauchoRussiaElwin Sharvill RENEWAL
Misaki M CaudyJapanAnna Fali QUALIFIED
Morrow S RoysterIndiaIvan Magalhaes NEGOTIATION
Salvatore K BologniaFranceXuxue Feng RENEWAL
Stacey K WhobreyFranceIoni Bowcher RENEWAL
Johnson W OldroydGermanyIvan Magalhaes NEW
Chavez J OstroskyRussiaAnna Fali NEGOTIATION
Deepesh L CampainBrazilXuxue Feng QUALIFIED
Darci Y OstroskyIndiaIoni Bowcher PROPOSAL
Ricardo E WieserCanadaOnyama Limba UNQUALIFIED
Tony P ChuiFranceIvan Magalhaes NEGOTIATION
James G NestleGermanyOnyama Limba NEW
Stacey C FollerIndiaBernardo Dominic QUALIFIED
Octavia W GillianBrazilIvan Magalhaes NEW
Ashley J CaldareraGermanyAmy Elsner NEW
Alejandro W OstroskyItalyAnna Fali NEW
Octavia F KuskoCanadaIoni Bowcher QUALIFIED
Jennifer T RoysterBrazilXuxue Feng NEW
Antonio X CaudyFranceIvan Magalhaes UNQUALIFIED
Julie T FollerSpainAnna Fali PROPOSAL
Isabel E BologniaGermanyIvan Magalhaes RENEWAL
Alejandro F WhobreyJapanIvan Magalhaes UNQUALIFIED
Maria K FollerJapanStephen Shaw UNQUALIFIED
Smith I SchemmerIndiaIvan Magalhaes RENEWAL
Antonio U RutaItalyXuxue Feng QUALIFIED
Leon S BowleyBrazilIvan Magalhaes PROPOSAL
Sinclair L RimRussiaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ashley D BowleyUnited KingdomOnyama Limba QUALIFIED
Ivar N KuskoItalyBernardo Dominic PROPOSAL
Tony O StockhamSpainXuxue Feng PROPOSAL
Aika O RutaSpainElwin Sharvill NEW
Kaitlin R MaletFranceIoni Bowcher RENEWAL
Jones T RoysterArgentinaAmy Elsner PROPOSAL
James E SaylorsArgentinaStephen Shaw NEGOTIATION
Stacey U StockhamGermanyAmy Elsner NEGOTIATION
Leon W KuskoSpainStephen Shaw RENEWAL
Cody N MorascaFranceElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody T BriddickArgentina2026-10-27Commercial Press UNQUALIFIED28Stephen Shaw
1001Maisha Y KolmetzCanada2026-10-26Feiner Bros RENEWAL30Stephen Shaw
1002Kaitlin G FerenczGermany2026-10-10Dorl, James J Esq RENEWAL56Elwin Sharvill
1003Murillo Y MarrierRussia2026-10-01Chapman, Ross E Esq UNQUALIFIED42Stephen Shaw
1004Adams P MacleadBrazil2026-10-13Feiner Bros NEW14Amy Elsner
1005James W NickaArgentina2026-10-03Buckley Miller Wright QUALIFIED75Bernardo Dominic
1006Jones P ButtJapan2026-10-20Morlong Associates QUALIFIED20Stephen Shaw
1007Aika F TollnerRussia2026-10-23Chanay, Jeffrey A Esq QUALIFIED0Onyama Limba
1008Kaitlin R DarakjySpain2026-10-24Rangoni Of Florence QUALIFIED32Anna Fali
1009Aditya K KolmetzSpain2026-10-25Feltz Printing Service RENEWAL40Ivan Magalhaes
1010Jeanfrancois W AmigonItaly2026-09-30Rangoni Of Florence NEW91Anna Fali
1011Jennifer U MorascaFrance2026-10-14Dorl, James J Esq NEGOTIATION6Ioni Bowcher
1012Ricardo J KuskoFrance2026-09-30Printing Dimensions RENEWAL1Onyama Limba
1013Wickens D PaprockiGermany2026-09-28Benton, John B Jr PROPOSAL86Stephen Shaw
1014Sinclair E PoquetteAustralia2026-10-26Commercial Press QUALIFIED97Elwin Sharvill
1015Jefferson D PoquetteBrazil2026-10-19Rangoni Of Florence PROPOSAL36Bernardo Dominic
1016Claire M RoysterAustralia2026-10-04Chanay, Jeffrey A Esq NEGOTIATION90Amy Elsner
1017Chavez R GlickUnited Kingdom2026-10-27Morlong Associates NEGOTIATION68Asiya Javayant
1018Maria T MorascaUnited Kingdom2026-10-17Commercial Press UNQUALIFIED96Stephen Shaw
1019Costa N MarrierGermany2026-10-23Feltz Printing Service QUALIFIED87Stephen Shaw
1020Maria J FigeroaItaly2026-10-14Benton, John B Jr NEGOTIATION37Ioni Bowcher
1021Juan A CampainJapan2026-10-21Truhlar And Truhlar Attys NEW97Bernardo Dominic
1022Alejandro V WhobreyItaly2026-10-09Chemel, James L Cpa QUALIFIED52Ivan Magalhaes
1023Jefferson O DoeUnited Kingdom2026-10-10Dorl, James J Esq PROPOSAL25Stephen Shaw
1024Rodrigues I StockhamIndia2026-09-29Feltz Printing Service NEGOTIATION0Amy Elsner
1025Juan X ButtJapan2026-09-29Feltz Printing Service PROPOSAL62Ioni Bowcher
1026Wickens H CampainUnited Kingdom2026-10-27Chemel, James L Cpa RENEWAL89Ivan Magalhaes
1027Mayumi R OldroydBrazil2026-10-26Rangoni Of Florence NEGOTIATION76Elwin Sharvill
1028Jennifer S StockhamArgentina2026-10-04Truhlar And Truhlar Attys NEW90Ioni Bowcher
1029Arvin Z SchemmerFrance2026-10-10Commercial Press NEW82Elwin Sharvill
1030Cody P MacleadRussia2026-10-17Benton, John B Jr RENEWAL83Xuxue Feng
1031Faith D ShinkoCanada2026-10-10Morlong Associates RENEWAL9Anna Fali
1032Juan R FlosiSpain2026-10-15Feiner Bros NEW96Ioni Bowcher
1033Leja I GillianAustralia2026-10-20Rousseaux, Michael Esq PROPOSAL82Bernardo Dominic
1034Mujtaba I WieserArgentina2026-09-29Feiner Bros NEW48Anna Fali
1035Wickens B RulapaughRussia2026-10-18Benton, John B Jr QUALIFIED27Elwin Sharvill
1036Juan Z BriddickCanada2026-10-25Dorl, James J Esq UNQUALIFIED2Elwin Sharvill
1037Maisha F OldroydRussia2026-10-06Feiner Bros NEW7Onyama Limba
1038Maria P FerenczGermany2026-10-17Rangoni Of Florence RENEWAL8Ioni Bowcher
1039Maria F SchemmerCanada2026-10-20Feiner Bros UNQUALIFIED56Asiya Javayant
1040Greenwood C VocelkaItaly2026-10-10Chapman, Ross E Esq UNQUALIFIED36Anna Fali
1041Smith F WieserUnited Kingdom2026-10-15Truhlar And Truhlar Attys UNQUALIFIED34Anna Fali
1042David W NestleItaly2026-10-24Printing Dimensions RENEWAL73Stephen Shaw
1043Jefferson Q ChuiJapan2026-10-13Morlong Associates PROPOSAL41Amy Elsner
1044Jeanfrancois T GauchoRussia2026-10-27Benton, John B Jr NEW45Anna Fali
1045Kadeem A MorascaAustralia2026-10-22Buckley Miller Wright PROPOSAL14Anna Fali
1046Ricardo Z NestleFrance2026-10-08Rangoni Of Florence NEW47Stephen Shaw
1047Ricardo U KuskoGermany2026-10-13Rangoni Of Florence PROPOSAL17Bernardo Dominic
1048Mayumi I IturbideSpain2026-10-02Rangoni Of Florence QUALIFIED77Xuxue Feng
1049Deepesh P DilliardIndia2026-10-02Printing Dimensions NEGOTIATION79Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Leon R DarakjyGermanyIoni Bowcher NEW
Maria W PerinUnited KingdomIoni Bowcher NEW
Mujtaba Z BriddickArgentinaXuxue Feng RENEWAL
Rodrigues X CaldareraCanadaOnyama Limba RENEWAL
Aruna I BriddickBrazilOnyama Limba RENEWAL
Claire Z ButtRussiaElwin Sharvill RENEWAL
Munro I PaprockiCanadaElwin Sharvill PROPOSAL
Jefferson B OstroskyRussiaIvan Magalhaes PROPOSAL
Stacey R OstroskyGermanyAsiya Javayant NEW
Isabel B DilliardRussiaOnyama Limba NEW
Jeanfrancois L SergiUnited KingdomXuxue Feng PROPOSAL
Munro A RoysterRussiaBernardo Dominic RENEWAL
Alejandro T PoquetteSpainStephen Shaw PROPOSAL
Chavez F AmigonArgentinaIoni Bowcher NEGOTIATION
Maisha S MorascaItalyAnna Fali QUALIFIED
Izzy G DilliardArgentinaAmy Elsner NEW
Jennifer Z SlusarskiSpainOnyama Limba RENEWAL
Salvatore B FlosiUnited KingdomOnyama Limba UNQUALIFIED
Chavez Z VocelkaBrazilIoni Bowcher NEGOTIATION
Kaitlin G DilliardCanadaAmy Elsner RENEWAL
Francesco L WieserGermanyElwin Sharvill QUALIFIED
Ricardo O VocelkaJapanAnna Fali NEW
Aika U ShinkoFranceIvan Magalhaes RENEWAL
Aruna H FigeroaSpainIoni Bowcher UNQUALIFIED
Chavez B PaprockiArgentinaBernardo Dominic PROPOSAL
Francesco L FlosiBrazilElwin Sharvill RENEWAL
Maria K BologniaUnited KingdomStephen Shaw NEGOTIATION
Kaitlin M DoeIndiaAnna Fali QUALIFIED
Jennifer L NestleItalyIoni Bowcher RENEWAL
Claire E WhobreyFranceOnyama Limba PROPOSAL
Aruna V WaycottArgentinaIvan Magalhaes QUALIFIED
Ivar M ChuiAustraliaAsiya Javayant PROPOSAL
Octavia C CaldareraGermanyIoni Bowcher UNQUALIFIED
Ricardo S StensethFranceOnyama Limba UNQUALIFIED
Octavia O CaudyFranceXuxue Feng NEGOTIATION
Rodrigues Z BologniaRussiaAsiya Javayant NEGOTIATION
Cody P SchemmerAustraliaOnyama Limba QUALIFIED
Isabel E OstroskyIndiaBernardo Dominic UNQUALIFIED
Ashley B PoquetteItalyIvan Magalhaes UNQUALIFIED
Mujtaba M StensethCanadaAmy Elsner PROPOSAL
Morrow R SchemmerUnited KingdomXuxue Feng NEW
Stacey V WhobreyArgentinaXuxue Feng UNQUALIFIED
Nicolas D StockhamRussiaAnna Fali RENEWAL
Francesco V GauchoAustraliaStephen Shaw UNQUALIFIED
Deepesh C OstroskyItalyAsiya Javayant QUALIFIED
Rodrigues F RoysterCanadaStephen Shaw PROPOSAL
Johnson N WieserItalyAnna Fali UNQUALIFIED
Emily C CaldareraBrazilElwin Sharvill PROPOSAL
David N MorascaUnited KingdomAmy Elsner NEGOTIATION
Jefferson Q MorascaSpainXuxue Feng PROPOSAL
Frozen Columns
Name
Morrow M Royster
Chavez N Inouye
Cody T Whobrey
Smith B Gillian
Mujtaba H Ruta
Kaitlin W Iturbide
Silvio V Vocelka
Maria P Whobrey
Smith Q Kolmetz
Octavia X Garufi
Kaitlin E Vocelka
Greenwood B Morasca
Cody Y Butt
Nicolas X Amigon
Mayumi H Caldarera
Rodrigues J Morasca
Kadeem V Paprocki
Murillo B Stenseth
Juan H Amigon
Adams A Stenseth
Jeanfrancois F Shinko
Francesco N Kusko
Maria A Sergi
Darci W Malet
Maria D Kusko
Murillo T Inouye
Kadeem A Sergi
Rodrigues S Nicka
Jeanfrancois J Oldroyd
Johnson H Inouye
Stacey A Darakjy
Johnson N Marrier
Cody Y Caudy
Alejandro J Nestle
Smith D Morasca
Alejandro I Sergi
Faith B Nestle
Rodrigues W Garufi
Francesco C Gillian
Rodrigues I Oldroyd
David G Nicka
Mujtaba S Bowley
Ashley P Oldroyd
Stacey G Briddick
Antonio S Saylors
Ricardo H Foller
Costa Y Royster
Jeanfrancois L Gaucho
Costa R Schemmer
Adams Z Ruta
IdCountryDate
1000Italy2026-10-23
1001Spain2026-10-13
1002Spain2026-10-21
1003Brazil2026-10-15
1004Australia2026-10-26
1005Argentina2026-10-09
1006India2026-10-17
1007Canada2026-10-23
1008India2026-10-10
1009Germany2026-10-21
1010Australia2026-10-18
1011Canada2026-10-08
1012Australia2026-09-28
1013Spain2026-09-29
1014France2026-10-12
1015Canada2026-10-23
1016France2026-10-08
1017Germany2026-10-19
1018Canada2026-10-11
1019Argentina2026-10-14
1020Spain2026-10-13
1021United Kingdom2026-10-11
1022Japan2026-10-21
1023Canada2026-10-10
1024Argentina2026-10-11
1025Spain2026-10-04
1026Australia2026-10-08
1027Canada2026-10-18
1028Argentina2026-10-02
1029United Kingdom2026-10-04
1030Russia2026-10-17
1031Russia2026-10-25
1032Russia2026-10-16
1033Canada2026-09-29
1034Argentina2026-10-27
1035France2026-10-02
1036Italy2026-09-29
1037Italy2026-10-20
1038Russia2026-10-06
1039Italy2026-10-15
1040Russia2026-10-08
1041Australia2026-09-30
1042India2026-10-14
1043Argentina2026-10-16
1044Italy2026-10-15
1045Argentina2026-09-28
1046United Kingdom2026-10-25
1047Spain2026-10-13
1048Argentina2026-10-17
1049Germany2026-10-25

On-Demand Data

NameIdCountryDate
Alejandro E Gaucho1000Brazil2026-10-23
Tony Q Flosi1001Brazil2026-10-21
Aika I Amigon1002United Kingdom2026-10-23
Chavez E Albares1003Japan2026-10-20
Aruna H Doe1004India2026-10-18
Clifford D Nicka1005Spain2026-10-05
Antonio W Caldarera1006Russia2026-10-25
Leja P Morasca1007Italy2026-10-16
Ricardo S Stenseth1008Canada2026-10-03
Francesco N Flosi1009Argentina2026-10-04
Costa A Briddick1010Brazil2026-10-13
Costa K Kusko1011Argentina2026-10-08
Stacey F Malet1012United Kingdom2026-10-21
Isabel X Morasca1013Argentina2026-10-14
James O Gillian1014France2026-09-30
Maisha U Marrier1015Italy2026-10-13
Aika X Bolognia1016Russia2026-10-16
Cody R Glick1017Japan2026-10-05
Stacey R Schemmer1018United Kingdom2026-10-12
Ricardo A Amigon1019Spain2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David V SaylorsUnited KingdomStephen Shaw NEGOTIATION
Johnson Z StockhamArgentinaOnyama Limba RENEWAL
Aditya Q StensethUnited KingdomElwin Sharvill NEGOTIATION
Tony H WaycottBrazilAnna Fali RENEWAL
Costa Y StensethUnited KingdomXuxue Feng NEW
Salvatore B KuskoIndiaAmy Elsner UNQUALIFIED
Salvatore J SlusarskiFranceOnyama Limba QUALIFIED
Francesco W FollerArgentinaStephen Shaw UNQUALIFIED
Greenwood R VocelkaCanadaOnyama Limba NEW
Antonio H PaprockiRussiaStephen Shaw UNQUALIFIED
Octavia P ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo I DilliardItalyIoni Bowcher RENEWAL
Costa X ShinkoBrazilIvan Magalhaes QUALIFIED
Aruna T PoquetteIndiaAmy Elsner QUALIFIED
James J GauchoSpainOnyama Limba UNQUALIFIED
Leja I SergiBrazilIoni Bowcher QUALIFIED
Stacey F SchemmerArgentinaIvan Magalhaes NEW
Stacey X FerenczItalyOnyama Limba RENEWAL
Johnson F MacleadBrazilXuxue Feng NEW
Leon I IturbideUnited KingdomOnyama Limba QUALIFIED
Misaki C OldroydArgentinaAmy Elsner PROPOSAL
Murillo F ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Jennifer P BriddickIndiaElwin Sharvill PROPOSAL
Wickens D ShinkoGermanyIoni Bowcher RENEWAL
Claire O CampainGermanyStephen Shaw NEGOTIATION
Leja F PoquetteAustraliaElwin Sharvill UNQUALIFIED
Adams N NestleArgentinaBernardo Dominic UNQUALIFIED
Cody N PerinArgentinaXuxue Feng NEGOTIATION
Juan J PerinJapanBernardo Dominic NEW
Isabel U DilliardJapanOnyama Limba UNQUALIFIED
Nicolas Q AlbaresSpainXuxue Feng PROPOSAL
Nicolas P MaletCanadaBernardo Dominic QUALIFIED
Leon Z BriddickArgentinaAnna Fali PROPOSAL
Munro R VocelkaArgentinaStephen Shaw RENEWAL
Rodrigues T PoquetteCanadaStephen Shaw RENEWAL
Mayumi Z AlbaresGermanyIvan Magalhaes NEGOTIATION
Arvin Y PerinCanadaStephen Shaw UNQUALIFIED
Arvin A ButtUnited KingdomElwin Sharvill UNQUALIFIED
Maria W SergiAustraliaAmy Elsner QUALIFIED
Octavia V MorascaSpainElwin Sharvill 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>