Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Kadeem A MarrierRussiaAnna Fali QUALIFIED
Smith A MorascaUnited KingdomAsiya Javayant RENEWAL
Jones A WieserAustraliaAnna Fali RENEWAL
Morrow B PoquetteItalyElwin Sharvill UNQUALIFIED
Ivar E WieserAustraliaIoni Bowcher NEW
Isabel A StensethRussiaStephen Shaw NEW
Arvin M CaldareraFranceOnyama Limba QUALIFIED
Smith B MorascaIndiaBernardo Dominic UNQUALIFIED
Isabel J SchemmerItalyElwin Sharvill NEW
Jennifer G PerinFranceElwin Sharvill PROPOSAL
Leon G WhobreyIndiaXuxue Feng NEW
Jennifer G InouyeIndiaElwin Sharvill NEGOTIATION
Murillo F CampainArgentinaElwin Sharvill QUALIFIED
Munro G KuskoFranceAnna Fali PROPOSAL
Emily J MaletJapanIoni Bowcher RENEWAL
Rodrigues K MarrierGermanyIvan Magalhaes NEGOTIATION
Munro A RimRussiaIoni Bowcher NEGOTIATION
Octavia V StockhamFranceIvan Magalhaes NEW
Emily H MaletCanadaAsiya Javayant PROPOSAL
Ricardo J FigeroaJapanIvan Magalhaes UNQUALIFIED
Salvatore X MorascaGermanyOnyama Limba QUALIFIED
Stacey G AlbaresIndiaOnyama Limba QUALIFIED
Arvin T VocelkaCanadaXuxue Feng NEW
Morrow E WaycottRussiaIoni Bowcher RENEWAL
Juan W AlbaresAustraliaOnyama Limba NEGOTIATION
Murillo U WieserSpainXuxue Feng UNQUALIFIED
Jeanfrancois F BriddickFranceElwin Sharvill QUALIFIED
Tony W CaldareraCanadaAnna Fali NEW
Ashley B VocelkaIndiaIoni Bowcher UNQUALIFIED
Isabel P RimFranceXuxue Feng NEGOTIATION
Sinclair V SaylorsJapanIvan Magalhaes NEW
Izzy S BowleyJapanElwin Sharvill NEW
Alejandro N CaldareraItalyAmy Elsner QUALIFIED
Maria C KuskoSpainElwin Sharvill NEGOTIATION
Mujtaba F CaudyArgentinaXuxue Feng UNQUALIFIED
Stacey Z FlosiAustraliaBernardo Dominic PROPOSAL
Leja F MacleadFranceElwin Sharvill NEW
Salvatore I PerinGermanyXuxue Feng QUALIFIED
Ricardo I WhobreyCanadaIoni Bowcher QUALIFIED
Jones Q StensethIndiaBernardo Dominic NEGOTIATION
Misaki U SlusarskiFranceAnna Fali NEW
Silvio Z WhobreyItalyElwin Sharvill NEGOTIATION
Ricardo X NickaItalyAmy Elsner PROPOSAL
Sinclair O SaylorsIndiaAnna Fali NEGOTIATION
Stacey S GillianCanadaXuxue Feng UNQUALIFIED
Clifford E FerenczGermanyOnyama Limba PROPOSAL
Ashley V BowleyRussiaOnyama Limba RENEWAL
Salvatore S RulapaughRussiaAnna Fali NEW
Octavia Y OldroydJapanOnyama Limba NEGOTIATION
Costa E StockhamItalyIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Juan T SchemmerIndiaIvan Magalhaes UNQUALIFIED
Jennifer Y CaudyFranceBernardo Dominic UNQUALIFIED
Morrow B ButtGermanyOnyama Limba NEGOTIATION
Maisha I MaletBrazilXuxue Feng UNQUALIFIED
Cody R KolmetzUnited KingdomIoni Bowcher NEW
Munro Q SchemmerGermanyElwin Sharvill NEGOTIATION
Ashley Z CaldareraItalyAsiya Javayant NEW
Kaitlin Y DilliardCanadaBernardo Dominic UNQUALIFIED
Aruna Q InouyeSpainElwin Sharvill QUALIFIED
Aruna V FerenczIndiaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel P SlusarskiCanada2025-07-17Morlong Associates PROPOSAL20Xuxue Feng
1001Leon U PerinUnited Kingdom2025-07-14Truhlar And Truhlar Attys NEGOTIATION82Onyama Limba
1002Claire J GillianBrazil2025-07-10Chanay, Jeffrey A Esq PROPOSAL97Bernardo Dominic
1003Smith E DilliardUnited Kingdom2025-07-21Truhlar And Truhlar Attys UNQUALIFIED26Stephen Shaw
1004Maisha I StensethItaly2025-07-13Chapman, Ross E Esq UNQUALIFIED15Elwin Sharvill
1005Kadeem Y VenereUnited Kingdom2025-08-03Chapman, Ross E Esq PROPOSAL3Onyama Limba
1006Adams T MaletAustralia2025-07-25Chapman, Ross E Esq UNQUALIFIED54Anna Fali
1007Cody N FigeroaFrance2025-07-26King, Christopher A Esq RENEWAL27Ivan Magalhaes
1008Adams M FollerUnited Kingdom2025-07-25Truhlar And Truhlar Attys UNQUALIFIED96Ioni Bowcher
1009Adams H MaletCanada2025-07-10Truhlar And Truhlar Attys NEGOTIATION12Elwin Sharvill
1010Adams T ButtSpain2025-08-01Rousseaux, Michael Esq QUALIFIED26Onyama Limba
1011Leon V RimItaly2025-07-21Rousseaux, Michael Esq QUALIFIED37Onyama Limba
1012David Q GauchoBrazil2025-08-03Feiner Bros NEW43Onyama Limba
1013Misaki K ButtUnited Kingdom2025-07-29Rousseaux, Michael Esq NEW44Ioni Bowcher
1014Johnson F TollnerSpain2025-07-27Chapman, Ross E Esq NEW36Ivan Magalhaes
1015Arvin L SergiUnited Kingdom2025-07-31Benton, John B Jr NEGOTIATION17Amy Elsner
1016Rodrigues V OstroskyJapan2025-08-03King, Christopher A Esq NEGOTIATION92Amy Elsner
1017Rodrigues T DilliardCanada2025-07-19Buckley Miller Wright QUALIFIED87Xuxue Feng
1018Ashley N MaletIndia2025-07-26Feltz Printing Service PROPOSAL40Ivan Magalhaes
1019Greenwood B PerinSpain2025-07-15Dorl, James J Esq PROPOSAL17Xuxue Feng
1020Cody I OstroskyIndia2025-07-17Chanay, Jeffrey A Esq PROPOSAL80Stephen Shaw
1021Jennifer H CampainCanada2025-08-03Chemel, James L Cpa NEW58Elwin Sharvill
1022Adams E SaylorsGermany2025-07-17Commercial Press QUALIFIED9Elwin Sharvill
1023Johnson O PoquetteAustralia2025-07-25Chapman, Ross E Esq NEW12Asiya Javayant
1024Sinclair R OstroskyFrance2025-07-29Chapman, Ross E Esq QUALIFIED23Onyama Limba
1025Isabel A VocelkaFrance2025-07-23Chemel, James L Cpa RENEWAL0Stephen Shaw
1026Jennifer W BriddickSpain2025-07-30Rousseaux, Michael Esq NEW82Xuxue Feng
1027Tony F CaldareraUnited Kingdom2025-07-08Printing Dimensions NEW61Stephen Shaw
1028Greenwood O RoysterItaly2025-07-24Truhlar And Truhlar Attys UNQUALIFIED65Anna Fali
1029Maria J DilliardGermany2025-07-14King, Christopher A Esq QUALIFIED70Stephen Shaw
1030Stacey G RutaArgentina2025-07-17Chapman, Ross E Esq NEGOTIATION86Amy Elsner
1031Jefferson M BowleyGermany2025-07-30Chanay, Jeffrey A Esq UNQUALIFIED87Onyama Limba
1032Ivar I SaylorsGermany2025-07-08Chanay, Jeffrey A Esq PROPOSAL75Ioni Bowcher
1033Salvatore P AlbaresRussia2025-07-16Rangoni Of Florence UNQUALIFIED84Asiya Javayant
1034Salvatore D StensethItaly2025-07-31Chanay, Jeffrey A Esq QUALIFIED89Ivan Magalhaes
1035Izzy C FlosiGermany2025-07-18Dorl, James J Esq NEGOTIATION48Elwin Sharvill
1036Alejandro W WhobreyAustralia2025-07-18Printing Dimensions NEW9Elwin Sharvill
1037Munro G DarakjyJapan2025-07-05Buckley Miller Wright RENEWAL48Stephen Shaw
1038Jeanfrancois Q BowleyIndia2025-07-11Benton, John B Jr UNQUALIFIED21Amy Elsner
1039Ashley G InouyeJapan2025-07-17Chapman, Ross E Esq RENEWAL87Asiya Javayant
1040Nicolas F InouyeUnited Kingdom2025-07-25Buckley Miller Wright NEGOTIATION77Onyama Limba
1041Isabel Y RimGermany2025-07-12Feltz Printing Service PROPOSAL98Bernardo Dominic
1042Ricardo N MacleadUnited Kingdom2025-07-25Truhlar And Truhlar Attys NEW54Bernardo Dominic
1043Costa X AmigonUnited Kingdom2025-07-24Feltz Printing Service PROPOSAL50Amy Elsner
1044Ricardo M FerenczAustralia2025-07-30Morlong Associates RENEWAL86Anna Fali
1045Sinclair N AlbaresUnited Kingdom2025-08-03Feltz Printing Service RENEWAL35Xuxue Feng
1046Jeanfrancois A OldroydArgentina2025-07-06Chanay, Jeffrey A Esq NEGOTIATION43Bernardo Dominic
1047Faith L SergiArgentina2025-07-09Chemel, James L Cpa PROPOSAL18Ioni Bowcher
1048Silvio V DilliardItaly2025-07-20Feiner Bros NEW38Elwin Sharvill
1049Ivar T InouyeItaly2025-07-25Chemel, James L Cpa NEW79Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jones C FollerIndiaAsiya Javayant UNQUALIFIED
Mayumi R KuskoFranceIoni Bowcher UNQUALIFIED
Isabel Z GlickBrazilXuxue Feng RENEWAL
Johnson L MaletIndiaAmy Elsner RENEWAL
David O BowleyItalyAmy Elsner UNQUALIFIED
Salvatore B WhobreyItalyXuxue Feng QUALIFIED
James P FerenczUnited KingdomIvan Magalhaes RENEWAL
Aika H MorascaItalyStephen Shaw NEGOTIATION
Isabel C ButtGermanyElwin Sharvill PROPOSAL
Chavez X BologniaIndiaXuxue Feng QUALIFIED
Salvatore Y TollnerIndiaAnna Fali NEGOTIATION
Isabel L FollerRussiaBernardo Dominic PROPOSAL
Jennifer D GauchoGermanyOnyama Limba QUALIFIED
James X ShinkoJapanBernardo Dominic NEW
Nicolas T SaylorsArgentinaXuxue Feng NEGOTIATION
Emily E StensethCanadaStephen Shaw NEW
Ricardo N MacleadAustraliaAnna Fali NEW
James S MaletSpainStephen Shaw NEGOTIATION
Murillo O MaletAustraliaAsiya Javayant PROPOSAL
Wickens L DoeAustraliaBernardo Dominic QUALIFIED
Mujtaba N FollerItalyAsiya Javayant QUALIFIED
Rodrigues I AlbaresGermanyBernardo Dominic UNQUALIFIED
Jennifer Q FigeroaAustraliaXuxue Feng PROPOSAL
Darci K KolmetzFranceIvan Magalhaes RENEWAL
Stacey O MaletBrazilBernardo Dominic PROPOSAL
Adams K AlbaresRussiaStephen Shaw PROPOSAL
Octavia W ButtBrazilBernardo Dominic NEW
Greenwood E DarakjyJapanBernardo Dominic QUALIFIED
Clifford G RoysterCanadaAnna Fali PROPOSAL
Izzy U PaprockiUnited KingdomIvan Magalhaes RENEWAL
Munro B BowleyJapanXuxue Feng UNQUALIFIED
Greenwood J FerenczAustraliaAmy Elsner QUALIFIED
Jeanfrancois R OstroskySpainOnyama Limba UNQUALIFIED
Emily I ChuiCanadaIoni Bowcher UNQUALIFIED
Kaitlin Q DoeCanadaIvan Magalhaes UNQUALIFIED
Greenwood Y WhobreyIndiaIvan Magalhaes NEGOTIATION
Mujtaba F ChuiArgentinaStephen Shaw PROPOSAL
Darci O ButtAustraliaXuxue Feng NEW
Kadeem M CampainItalyStephen Shaw NEGOTIATION
Mayumi E RutaSpainBernardo Dominic UNQUALIFIED
Faith K BriddickCanadaIoni Bowcher NEW
Jefferson G MorascaIndiaOnyama Limba NEGOTIATION
Juan U WaycottGermanyElwin Sharvill QUALIFIED
Leon B DoeJapanAsiya Javayant NEW
Claire O PoquetteUnited KingdomXuxue Feng QUALIFIED
Jefferson C StensethBrazilBernardo Dominic RENEWAL
Salvatore K MorascaSpainAsiya Javayant QUALIFIED
Alejandro G MaletCanadaAsiya Javayant QUALIFIED
Mayumi Q VocelkaIndiaIvan Magalhaes NEGOTIATION
Clifford H AlbaresArgentinaBernardo Dominic NEW
Frozen Columns
Name
Emily C Ostrosky
Johnson G Maclead
Kaitlin U Amigon
Johnson I Whobrey
Aruna S Nestle
Claire H Vocelka
Arvin F Albares
Kadeem G Schemmer
Ivar M Figeroa
Octavia Q Marrier
Mayumi U Glick
Darci D Shinko
Nicolas W Campain
Antonio L Paprocki
Emily W Oldroyd
David W Amigon
Deepesh X Caudy
David K Rulapaugh
Clifford M Stenseth
Morrow C Chui
Wickens K Poquette
Francesco G Iturbide
Mayumi D Ostrosky
Deepesh V Amigon
Ricardo J Sergi
Rodrigues L Venere
James G Malet
Sinclair H Shinko
Chavez Y Ostrosky
Ashley G Albares
Arvin B Tollner
Maisha O Marrier
Juan Z Iturbide
James K Tollner
Murillo Z Iturbide
Mujtaba I Gaucho
Stacey X Figeroa
James U Caldarera
Juan B Albares
Mayumi A Nicka
Isabel N Maclead
Greenwood Q Perin
Adams F Poquette
Maria W Schemmer
Salvatore C Ferencz
Ricardo T Perin
Jones Y Shinko
Francesco J Oldroyd
Salvatore N Vocelka
Mujtaba G Dilliard
IdCountryDate
1000United Kingdom2025-07-05
1001Canada2025-07-10
1002Brazil2025-07-17
1003Japan2025-07-27
1004France2025-07-17
1005Australia2025-07-29
1006Brazil2025-07-20
1007Spain2025-07-20
1008Spain2025-07-25
1009Canada2025-07-24
1010Germany2025-07-12
1011India2025-07-30
1012Australia2025-07-22
1013Argentina2025-07-22
1014Canada2025-07-30
1015Brazil2025-07-16
1016Australia2025-08-03
1017United Kingdom2025-07-09
1018Spain2025-07-15
1019United Kingdom2025-07-13
1020India2025-07-25
1021Argentina2025-08-03
1022Germany2025-07-15
1023Russia2025-07-14
1024Russia2025-07-29
1025Brazil2025-07-10
1026France2025-07-11
1027Canada2025-07-05
1028Germany2025-07-11
1029Canada2025-07-12
1030India2025-08-03
1031Argentina2025-07-23
1032Spain2025-07-14
1033France2025-07-27
1034Germany2025-07-06
1035Canada2025-07-19
1036Italy2025-07-23
1037Argentina2025-08-01
1038Germany2025-07-15
1039Canada2025-07-21
1040Russia2025-07-07
1041Spain2025-08-02
1042Italy2025-07-09
1043Brazil2025-07-21
1044Brazil2025-07-30
1045France2025-07-28
1046Canada2025-07-06
1047India2025-07-12
1048Spain2025-07-24
1049Brazil2025-07-31

On-Demand Data

NameIdCountryDate
Leon Q Stockham1000Australia2025-07-08
Adams Q Amigon1001Canada2025-07-31
Clifford A Briddick1002Argentina2025-07-17
Johnson Z Chui1003United Kingdom2025-07-30
Tony R Inouye1004Russia2025-07-10
Chavez Z Glick1005Spain2025-07-26
Munro B Butt1006Russia2025-07-24
Jones D Kolmetz1007United Kingdom2025-08-03
Leja V Foller1008Brazil2025-07-12
Adams A Caldarera1009Japan2025-07-15
James W Wieser1010Spain2025-08-02
Claire C Stockham1011Spain2025-07-31
Isabel Z Marrier1012Japan2025-07-21
Mujtaba M Paprocki1013Italy2025-07-27
Silvio S Oldroyd1014Germany2025-07-25
Deepesh W Stenseth1015Germany2025-07-10
Jones W Briddick1016Australia2025-07-13
Claire I Garufi1017Italy2025-07-24
Jones C Saylors1018Australia2025-07-07
Claire H Garufi1019Brazil2025-07-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria W CaldareraIndiaXuxue Feng RENEWAL
Emily C BologniaBrazilElwin Sharvill UNQUALIFIED
Isabel P PaprockiBrazilAmy Elsner UNQUALIFIED
Smith S StensethRussiaAnna Fali UNQUALIFIED
Johnson M MacleadJapanOnyama Limba NEW
Mujtaba Z PaprockiItalyStephen Shaw RENEWAL
Izzy O NickaSpainAmy Elsner NEGOTIATION
Francesco G BologniaSpainAsiya Javayant RENEWAL
James E ShinkoArgentinaXuxue Feng PROPOSAL
Smith M CaldareraRussiaAmy Elsner UNQUALIFIED
Jones N TollnerGermanyOnyama Limba NEW
Isabel D OldroydGermanyAsiya Javayant NEGOTIATION
Emily Q VocelkaBrazilStephen Shaw UNQUALIFIED
Mayumi P StensethRussiaStephen Shaw NEW
Aika G TollnerSpainAmy Elsner NEGOTIATION
Isabel K FollerUnited KingdomBernardo Dominic NEW
Julie K TollnerAustraliaIoni Bowcher RENEWAL
Smith K WieserItalyBernardo Dominic QUALIFIED
Maria E CampainBrazilOnyama Limba QUALIFIED
Murillo V FlosiCanadaXuxue Feng UNQUALIFIED
Maisha H IturbideUnited KingdomXuxue Feng NEW
Kadeem B NestleSpainAsiya Javayant RENEWAL
Mujtaba P CaldareraItalyElwin Sharvill UNQUALIFIED
Faith F KolmetzUnited KingdomOnyama Limba PROPOSAL
Misaki Q MaletBrazilXuxue Feng PROPOSAL
Stacey D FigeroaCanadaAnna Fali UNQUALIFIED
Antonio D IturbideRussiaAnna Fali QUALIFIED
Greenwood A PerinIndiaXuxue Feng UNQUALIFIED
Clifford C RutaFranceAsiya Javayant QUALIFIED
Alejandro P KolmetzRussiaOnyama Limba UNQUALIFIED
James E MorascaJapanBernardo Dominic PROPOSAL
James T ButtRussiaOnyama Limba PROPOSAL
Antonio X FerenczFranceStephen Shaw PROPOSAL
Emily M GauchoAustraliaBernardo Dominic UNQUALIFIED
Tony S RutaSpainStephen Shaw NEW
Kadeem S GarufiCanadaIvan Magalhaes RENEWAL
Adams I StockhamGermanyXuxue Feng NEW
Stacey P StockhamSpainIvan Magalhaes RENEWAL
Costa V VocelkaArgentinaIoni Bowcher PROPOSAL
Nicolas F DilliardFranceAsiya Javayant QUALIFIED

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