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
David B DilliardSpainIvan Magalhaes NEGOTIATION
Julie H MorascaUnited KingdomXuxue Feng RENEWAL
Rodrigues I RoysterAustraliaAsiya Javayant PROPOSAL
Murillo W BriddickFranceAsiya Javayant NEW
Stacey B StensethIndiaXuxue Feng PROPOSAL
Ivar Y RulapaughCanadaAmy Elsner QUALIFIED
Antonio G FigeroaCanadaXuxue Feng NEW
Izzy A FigeroaBrazilStephen Shaw NEGOTIATION
Mujtaba A DoeBrazilXuxue Feng NEW
David K StensethUnited KingdomAnna Fali UNQUALIFIED
Aika L KolmetzItalyBernardo Dominic UNQUALIFIED
Ricardo X KuskoItalyAsiya Javayant PROPOSAL
Johnson V PaprockiArgentinaIvan Magalhaes NEW
Wickens K StockhamAustraliaIvan Magalhaes UNQUALIFIED
Deepesh M GillianItalyAnna Fali NEGOTIATION
Chavez F DilliardJapanBernardo Dominic UNQUALIFIED
Johnson J RulapaughItalyAsiya Javayant NEGOTIATION
Kaitlin V SaylorsJapanAmy Elsner NEW
Claire N VocelkaItalyIoni Bowcher QUALIFIED
Johnson V FlosiItalyAmy Elsner UNQUALIFIED
Arvin B KuskoFranceAnna Fali PROPOSAL
Claire R AmigonUnited KingdomElwin Sharvill QUALIFIED
Greenwood U PerinRussiaAmy Elsner NEGOTIATION
Aruna Z OldroydArgentinaAnna Fali NEW
Aika H VenereIndiaAmy Elsner UNQUALIFIED
Juan L VenereSpainIvan Magalhaes QUALIFIED
Maisha R CampainItalyOnyama Limba UNQUALIFIED
Antonio N MorascaArgentinaStephen Shaw PROPOSAL
Silvio C WhobreyItalyOnyama Limba QUALIFIED
Juan Q ShinkoRussiaIoni Bowcher UNQUALIFIED
Francesco S GauchoGermanyElwin Sharvill PROPOSAL
Ricardo F TollnerUnited KingdomAmy Elsner QUALIFIED
Aditya K DarakjyFranceIvan Magalhaes RENEWAL
Kaitlin V BowleyCanadaStephen Shaw UNQUALIFIED
Misaki P NickaFranceBernardo Dominic RENEWAL
Morrow Z PoquetteBrazilIoni Bowcher RENEWAL
Antonio I GauchoSpainAsiya Javayant QUALIFIED
Faith M FlosiIndiaAmy Elsner RENEWAL
Munro E RutaBrazilAsiya Javayant NEGOTIATION
Cody B GauchoJapanOnyama Limba NEGOTIATION
Munro N StockhamCanadaAmy Elsner NEW
Salvatore V CaudyBrazilXuxue Feng QUALIFIED
Mujtaba R BowleyArgentinaElwin Sharvill PROPOSAL
Greenwood P GarufiCanadaAsiya Javayant RENEWAL
Arvin F MacleadJapanAmy Elsner PROPOSAL
Misaki V StockhamItalyIoni Bowcher UNQUALIFIED
Costa A StockhamUnited KingdomAsiya Javayant NEGOTIATION
Sinclair A AmigonFranceAnna Fali PROPOSAL
Murillo B WaycottCanadaAsiya Javayant PROPOSAL
Aditya I OstroskyArgentinaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ivar N MaletGermanyStephen Shaw QUALIFIED
Isabel G RutaItalyXuxue Feng UNQUALIFIED
Francesco K CaldareraIndiaBernardo Dominic UNQUALIFIED
Rodrigues G SchemmerGermanyAnna Fali PROPOSAL
Octavia M StensethCanadaAsiya Javayant NEW
Emily F FerenczBrazilXuxue Feng QUALIFIED
Ivar D CaldareraCanadaAmy Elsner PROPOSAL
Chavez W StockhamFranceStephen Shaw RENEWAL
Jones L ShinkoAustraliaBernardo Dominic UNQUALIFIED
Alejandro Q SaylorsJapanXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James Y BriddickUnited Kingdom2026-10-05Commercial Press PROPOSAL30Elwin Sharvill
1001Claire N BowleyUnited Kingdom2026-10-07Truhlar And Truhlar Attys RENEWAL60Elwin Sharvill
1002David U NestleBrazil2026-09-22Chapman, Ross E Esq QUALIFIED28Stephen Shaw
1003Arvin T KuskoArgentina2026-09-29Feltz Printing Service PROPOSAL1Elwin Sharvill
1004Adams E ChuiJapan2026-10-09Chapman, Ross E Esq QUALIFIED76Ioni Bowcher
1005Ivar M RulapaughItaly2026-10-13Chanay, Jeffrey A Esq RENEWAL70Amy Elsner
1006Alejandro Q AmigonFrance2026-10-13Feiner Bros QUALIFIED0Onyama Limba
1007Ricardo R BologniaRussia2026-10-14Chemel, James L Cpa QUALIFIED70Amy Elsner
1008Mayumi I WieserUnited Kingdom2026-09-23Chanay, Jeffrey A Esq NEGOTIATION85Ivan Magalhaes
1009Johnson Q SlusarskiIndia2026-09-25Feiner Bros UNQUALIFIED45Elwin Sharvill
1010Morrow Z MacleadRussia2026-10-04Chanay, Jeffrey A Esq PROPOSAL58Anna Fali
1011Murillo M SlusarskiSpain2026-09-27Buckley Miller Wright UNQUALIFIED67Bernardo Dominic
1012Leja G FigeroaSpain2026-10-14Benton, John B Jr NEGOTIATION51Onyama Limba
1013Smith R BowleyRussia2026-10-14Buckley Miller Wright UNQUALIFIED47Xuxue Feng
1014Cody F CaldareraGermany2026-10-09Rangoni Of Florence NEW45Onyama Limba
1015Emily J DarakjyRussia2026-10-06Rousseaux, Michael Esq RENEWAL20Ivan Magalhaes
1016Wickens R MacleadSpain2026-10-14Feltz Printing Service QUALIFIED56Bernardo Dominic
1017Julie Y FlosiItaly2026-10-09Rousseaux, Michael Esq NEGOTIATION63Stephen Shaw
1018Nicolas B AlbaresSpain2026-09-28Commercial Press UNQUALIFIED67Bernardo Dominic
1019Jeanfrancois U ShinkoJapan2026-10-06Feltz Printing Service NEW14Onyama Limba
1020Kadeem C MaletArgentina2026-10-08Morlong Associates QUALIFIED83Elwin Sharvill
1021Kadeem R CaudyArgentina2026-09-26Chemel, James L Cpa QUALIFIED27Asiya Javayant
1022Greenwood G StensethSpain2026-10-09Buckley Miller Wright QUALIFIED86Ivan Magalhaes
1023Emily W ShinkoBrazil2026-10-02Chapman, Ross E Esq PROPOSAL52Asiya Javayant
1024Ivar F SergiCanada2026-09-24King, Christopher A Esq PROPOSAL7Onyama Limba
1025Jeanfrancois N SlusarskiGermany2026-10-02Feiner Bros PROPOSAL75Anna Fali
1026Johnson U StensethJapan2026-10-15Benton, John B Jr RENEWAL51Ivan Magalhaes
1027Nicolas M DoeIndia2026-10-19Morlong Associates QUALIFIED95Amy Elsner
1028Ashley Y GlickSpain2026-10-07Truhlar And Truhlar Attys QUALIFIED98Xuxue Feng
1029Juan X GauchoSpain2026-09-27Chemel, James L Cpa UNQUALIFIED6Ioni Bowcher
1030Morrow W DilliardCanada2026-10-20Commercial Press NEGOTIATION19Onyama Limba
1031Ivar G CaldareraCanada2026-10-06Feltz Printing Service QUALIFIED4Xuxue Feng
1032Arvin U BologniaGermany2026-10-17Rousseaux, Michael Esq RENEWAL52Bernardo Dominic
1033Morrow N RulapaughUnited Kingdom2026-10-05Commercial Press NEW47Stephen Shaw
1034Isabel X VocelkaJapan2026-10-18Benton, John B Jr NEGOTIATION24Ioni Bowcher
1035Kaitlin K RulapaughBrazil2026-10-09Benton, John B Jr UNQUALIFIED90Stephen Shaw
1036Wickens H ChuiAustralia2026-10-12Feiner Bros QUALIFIED47Ioni Bowcher
1037Faith A SaylorsRussia2026-09-28Commercial Press NEW28Onyama Limba
1038Faith O BowleyUnited Kingdom2026-09-30Rousseaux, Michael Esq NEGOTIATION81Bernardo Dominic
1039Darci R MacleadAustralia2026-10-18Commercial Press PROPOSAL7Asiya Javayant
1040Salvatore N BriddickArgentina2026-10-08Benton, John B Jr NEW26Ivan Magalhaes
1041Leja G MaletRussia2026-10-04Buckley Miller Wright UNQUALIFIED60Stephen Shaw
1042Stacey L CaudyUnited Kingdom2026-10-13Rangoni Of Florence PROPOSAL43Anna Fali
1043Julie F AmigonItaly2026-10-02Buckley Miller Wright PROPOSAL9Ioni Bowcher
1044Clifford L BologniaAustralia2026-10-07Printing Dimensions RENEWAL53Bernardo Dominic
1045Aditya I RoysterJapan2026-10-14Chemel, James L Cpa PROPOSAL20Amy Elsner
1046Aika F GarufiItaly2026-09-25Chapman, Ross E Esq PROPOSAL11Elwin Sharvill
1047Tony G WaycottRussia2026-10-04Dorl, James J Esq NEGOTIATION5Asiya Javayant
1048Deepesh B MorascaIndia2026-10-19Printing Dimensions RENEWAL75Ioni Bowcher
1049Antonio A SlusarskiCanada2026-10-16Printing Dimensions RENEWAL77Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jennifer I IturbideUnited KingdomElwin Sharvill QUALIFIED
Francesco B CampainSpainAnna Fali QUALIFIED
Cody T WaycottSpainAmy Elsner NEGOTIATION
Adams U AmigonCanadaElwin Sharvill NEW
Rodrigues E DarakjySpainAmy Elsner PROPOSAL
Jefferson T SlusarskiBrazilStephen Shaw UNQUALIFIED
Mujtaba G SchemmerAustraliaStephen Shaw PROPOSAL
Aditya K SlusarskiAustraliaElwin Sharvill RENEWAL
Juan L MaletGermanyAsiya Javayant UNQUALIFIED
Isabel I MaletAustraliaXuxue Feng NEW
James N CaldareraUnited KingdomBernardo Dominic PROPOSAL
James V KolmetzItalyIvan Magalhaes NEGOTIATION
Maisha K NickaAustraliaAmy Elsner NEW
Maria W DoeAustraliaIoni Bowcher NEGOTIATION
Alejandro J PerinCanadaIoni Bowcher UNQUALIFIED
Misaki C KuskoRussiaIoni Bowcher QUALIFIED
Alejandro W DilliardGermanyElwin Sharvill NEGOTIATION
Aika O MarrierArgentinaAsiya Javayant PROPOSAL
James G OstroskyArgentinaXuxue Feng PROPOSAL
Wickens P VocelkaUnited KingdomXuxue Feng QUALIFIED
Mayumi I VocelkaGermanyStephen Shaw UNQUALIFIED
Sinclair L SlusarskiGermanyIoni Bowcher PROPOSAL
James C MarrierGermanyIvan Magalhaes NEW
Morrow V VocelkaAustraliaStephen Shaw UNQUALIFIED
Jones T NickaJapanAnna Fali NEW
Jennifer P RulapaughItalyIvan Magalhaes RENEWAL
Maisha F DarakjyItalyStephen Shaw UNQUALIFIED
Wickens C WhobreyAustraliaXuxue Feng RENEWAL
Kaitlin B GillianSpainXuxue Feng RENEWAL
Francesco I DoeArgentinaIvan Magalhaes QUALIFIED
Claire V GarufiAustraliaAnna Fali UNQUALIFIED
Jefferson B TollnerFranceAsiya Javayant RENEWAL
Ivar D CaudyGermanyOnyama Limba QUALIFIED
Arvin M ChuiBrazilAmy Elsner NEW
Mayumi E WaycottSpainXuxue Feng NEGOTIATION
Murillo Q BriddickJapanAnna Fali PROPOSAL
Juan C DoeBrazilIoni Bowcher UNQUALIFIED
Greenwood H PoquetteGermanyAmy Elsner NEGOTIATION
James Y KolmetzCanadaOnyama Limba RENEWAL
Francesco V WieserRussiaXuxue Feng PROPOSAL
Jones D NickaAustraliaStephen Shaw UNQUALIFIED
Stacey P VocelkaIndiaXuxue Feng NEGOTIATION
Deepesh S SergiBrazilOnyama Limba UNQUALIFIED
Leja T DoeRussiaIoni Bowcher RENEWAL
Ashley F MorascaRussiaOnyama Limba UNQUALIFIED
Greenwood N ChuiJapanOnyama Limba NEGOTIATION
Maisha O RutaRussiaXuxue Feng RENEWAL
Costa A FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Leon T KuskoIndiaOnyama Limba QUALIFIED
Chavez I VenereJapanAmy Elsner QUALIFIED
Frozen Columns
Name
Tony B Slusarski
Sinclair I Morasca
Munro G Saylors
Jeanfrancois S Stenseth
Johnson A Oldroyd
Rodrigues Z Vocelka
Clifford C Marrier
Cody W Foller
Jeanfrancois I Bolognia
Ricardo Y Waycott
Misaki N Flosi
Stacey K Royster
Juan Y Garufi
Misaki Q Glick
Darci V Ostrosky
Clifford H Inouye
Morrow B Venere
Alejandro C Chui
Ricardo X Waycott
Mujtaba S Kusko
Rodrigues A Iturbide
Mayumi U Nestle
Chavez R Doe
Leja M Marrier
Silvio Q Tollner
Chavez J Waycott
Jefferson N Shinko
Mujtaba P Sergi
Johnson K Dilliard
Emily Z Foller
Costa U Ruta
Clifford M Venere
Stacey G Gillian
Leja L Ferencz
Izzy Q Whobrey
Faith G Nicka
Mayumi I Kusko
Leja B Ruta
Rodrigues L Caldarera
Aika R Paprocki
Juan X Saylors
Claire Z Perin
Aruna B Whobrey
Misaki Y Paprocki
Leja T Bolognia
Morrow K Glick
Nicolas V Campain
Johnson E Saylors
Francesco M Kusko
Morrow X Vocelka
IdCountryDate
1000Australia2026-09-24
1001Japan2026-10-05
1002France2026-09-22
1003Spain2026-10-09
1004Germany2026-09-25
1005Japan2026-10-11
1006Argentina2026-09-23
1007Japan2026-10-04
1008Germany2026-10-05
1009United Kingdom2026-10-06
1010Italy2026-10-12
1011United Kingdom2026-10-15
1012Australia2026-09-28
1013Brazil2026-10-01
1014India2026-09-24
1015Canada2026-10-18
1016Argentina2026-09-22
1017India2026-09-30
1018France2026-10-04
1019Brazil2026-09-26
1020Canada2026-10-07
1021France2026-09-26
1022Japan2026-10-09
1023Spain2026-10-18
1024Canada2026-10-19
1025Japan2026-10-09
1026Brazil2026-10-11
1027United Kingdom2026-09-21
1028France2026-09-24
1029Japan2026-10-03
1030France2026-10-07
1031Japan2026-10-10
1032Japan2026-09-26
1033Argentina2026-10-04
1034Japan2026-10-02
1035Brazil2026-10-14
1036Canada2026-10-04
1037Japan2026-10-10
1038Italy2026-10-11
1039France2026-10-04
1040United Kingdom2026-09-25
1041France2026-09-25
1042Japan2026-09-29
1043France2026-10-07
1044Germany2026-10-10
1045Spain2026-09-23
1046Canada2026-10-03
1047Argentina2026-10-02
1048Argentina2026-10-15
1049Brazil2026-10-05

On-Demand Data

NameIdCountryDate
Aruna J Ostrosky1000Germany2026-09-26
Kaitlin Y Darakjy1001Germany2026-10-03
Ricardo K Ruta1002Australia2026-10-01
Adams X Ruta1003Japan2026-10-11
Isabel Z Tollner1004France2026-09-29
Alejandro O Stockham1005India2026-09-28
Jennifer G Flosi1006Russia2026-09-27
Silvio M Kolmetz1007Russia2026-10-01
Maisha E Kolmetz1008India2026-09-30
Francesco V Caldarera1009France2026-10-14
Adams R Saylors1010Canada2026-10-13
Clifford L Dilliard1011Japan2026-10-14
Kadeem N Slusarski1012United Kingdom2026-10-01
Mayumi Y Whobrey1013Australia2026-10-19
Emily L Perin1014Australia2026-10-05
Aruna A Paprocki1015Australia2026-10-07
Nicolas E Saylors1016Australia2026-09-29
Ricardo I Bowley1017Russia2026-10-05
Isabel Z Rim1018United Kingdom2026-10-08
Juan N Gaucho1019Canada2026-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody G OstroskyItalyIvan Magalhaes PROPOSAL
Misaki J ButtRussiaIoni Bowcher UNQUALIFIED
Aditya W GlickArgentinaIvan Magalhaes RENEWAL
Faith O OstroskyJapanXuxue Feng UNQUALIFIED
Stacey E DoeCanadaAsiya Javayant RENEWAL
Salvatore S GarufiItalyAmy Elsner QUALIFIED
James Q WieserItalyIvan Magalhaes QUALIFIED
James C SergiGermanyAmy Elsner NEGOTIATION
Julie J FlosiSpainXuxue Feng RENEWAL
Alejandro Z IturbideSpainAmy Elsner UNQUALIFIED
Juan R KuskoArgentinaAmy Elsner PROPOSAL
Chavez Y SchemmerArgentinaElwin Sharvill QUALIFIED
Francesco Z MorascaBrazilBernardo Dominic UNQUALIFIED
Clifford Q OstroskyBrazilBernardo Dominic NEGOTIATION
Salvatore N WieserAustraliaIoni Bowcher QUALIFIED
Leon M PoquetteJapanAsiya Javayant RENEWAL
Aruna D CampainSpainIoni Bowcher NEW
Ricardo J ChuiJapanElwin Sharvill NEW
Silvio V FlosiSpainIoni Bowcher RENEWAL
David G CampainJapanAnna Fali UNQUALIFIED
Adams F KolmetzGermanyOnyama Limba RENEWAL
Juan Y ButtCanadaOnyama Limba RENEWAL
Greenwood Z NestleItalyXuxue Feng QUALIFIED
Munro V ShinkoCanadaStephen Shaw NEW
Aika S ShinkoUnited KingdomAnna Fali NEGOTIATION
James G OstroskyFranceAsiya Javayant QUALIFIED
Emily I FollerIndiaOnyama Limba PROPOSAL
Maria Q WhobreyArgentinaAnna Fali QUALIFIED
Salvatore X GauchoAustraliaBernardo Dominic UNQUALIFIED
Mujtaba P PerinGermanyElwin Sharvill QUALIFIED
Johnson J CampainUnited KingdomAsiya Javayant QUALIFIED
Clifford K FlosiUnited KingdomAsiya Javayant NEGOTIATION
Greenwood U PoquetteCanadaAnna Fali UNQUALIFIED
Faith W ChuiSpainXuxue Feng NEW
Izzy V DilliardCanadaOnyama Limba RENEWAL
Leja E IturbideGermanyAnna Fali QUALIFIED
James J PaprockiAustraliaIvan Magalhaes QUALIFIED
Ivar Y NestleJapanOnyama Limba NEW
Leon W KolmetzSpainStephen Shaw NEW
Antonio F GarufiSpainAsiya Javayant 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>