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
Greenwood B MorascaGermanyAmy Elsner QUALIFIED
Aruna B BriddickAustraliaStephen Shaw RENEWAL
Tony R PaprockiCanadaIoni Bowcher NEW
Jennifer E CaldareraAustraliaAnna Fali RENEWAL
Clifford K FerenczItalyXuxue Feng NEW
James J FigeroaBrazilOnyama Limba QUALIFIED
Octavia G SergiGermanyIoni Bowcher NEW
Mayumi P CaudyJapanXuxue Feng NEGOTIATION
Deepesh A TollnerAustraliaAnna Fali UNQUALIFIED
Nicolas K OldroydFranceIvan Magalhaes NEGOTIATION
Stacey J FigeroaArgentinaAnna Fali PROPOSAL
Deepesh O MaletCanadaBernardo Dominic NEGOTIATION
Leon H FollerItalyBernardo Dominic QUALIFIED
Mujtaba J SergiIndiaElwin Sharvill NEGOTIATION
Kadeem S WieserJapanBernardo Dominic NEGOTIATION
Kadeem D TollnerFranceStephen Shaw RENEWAL
Claire U MaletCanadaAmy Elsner QUALIFIED
Alejandro R RimRussiaAnna Fali RENEWAL
Cody N RulapaughGermanyBernardo Dominic RENEWAL
Jefferson C WhobreyBrazilAnna Fali NEGOTIATION
Rodrigues V RutaJapanBernardo Dominic NEGOTIATION
Wickens Z StockhamCanadaElwin Sharvill NEGOTIATION
Smith M GarufiArgentinaAmy Elsner NEGOTIATION
Francesco Z InouyeGermanyOnyama Limba QUALIFIED
Adams T TollnerGermanyAmy Elsner RENEWAL
Faith F OstroskyBrazilElwin Sharvill QUALIFIED
Jeanfrancois Z CaldareraItalyBernardo Dominic NEW
Aika U DoeGermanyIoni Bowcher NEGOTIATION
David P DarakjyIndiaElwin Sharvill NEGOTIATION
Arvin V GarufiSpainElwin Sharvill QUALIFIED
Maisha Z SchemmerCanadaStephen Shaw NEGOTIATION
Ashley C FerenczRussiaElwin Sharvill QUALIFIED
Murillo J ShinkoRussiaIoni Bowcher RENEWAL
Nicolas W BologniaIndiaXuxue Feng NEGOTIATION
Adams P InouyeIndiaAsiya Javayant UNQUALIFIED
Octavia I WaycottBrazilOnyama Limba UNQUALIFIED
Chavez K ButtGermanyAsiya Javayant QUALIFIED
Ivar W IturbideItalyBernardo Dominic NEW
Octavia Q DoeAustraliaAsiya Javayant UNQUALIFIED
Stacey I SchemmerRussiaXuxue Feng RENEWAL
Faith Z NestleFranceOnyama Limba QUALIFIED
Smith O PerinJapanAnna Fali RENEWAL
Arvin K FerenczGermanyAmy Elsner RENEWAL
Munro U FigeroaFranceOnyama Limba PROPOSAL
Mayumi S CampainCanadaXuxue Feng NEGOTIATION
Smith R ShinkoItalyElwin Sharvill PROPOSAL
Claire K CampainGermanyStephen Shaw NEGOTIATION
Greenwood G CaldareraFranceAmy Elsner UNQUALIFIED
James N GlickArgentinaXuxue Feng NEW
Leja R BologniaRussiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith C OldroydSpainElwin Sharvill QUALIFIED
Claire G OstroskyCanadaStephen Shaw RENEWAL
Maisha O PoquetteJapanStephen Shaw NEW
Munro E DilliardUnited KingdomElwin Sharvill PROPOSAL
Cody G SlusarskiGermanyAsiya Javayant RENEWAL
Munro U NestleAustraliaIoni Bowcher QUALIFIED
Kadeem I ChuiSpainOnyama Limba UNQUALIFIED
Costa Y RutaIndiaElwin Sharvill NEW
Mujtaba G StensethItalyBernardo Dominic NEW
Stacey K CampainUnited KingdomIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci P InouyeCanada2026-10-31Rousseaux, Michael Esq NEGOTIATION5Anna Fali
1001Aditya X ShinkoIndia2026-10-20Printing Dimensions NEGOTIATION48Amy Elsner
1002Salvatore Y RutaFrance2026-10-30Benton, John B Jr UNQUALIFIED97Stephen Shaw
1003Murillo N RutaCanada2026-10-21Buckley Miller Wright NEGOTIATION75Elwin Sharvill
1004Adams W OldroydBrazil2026-10-14Commercial Press QUALIFIED95Bernardo Dominic
1005Cody S PaprockiFrance2026-10-17Commercial Press UNQUALIFIED38Stephen Shaw
1006Murillo L FerenczAustralia2026-10-06Truhlar And Truhlar Attys NEGOTIATION93Amy Elsner
1007Jones N PaprockiUnited Kingdom2026-10-30King, Christopher A Esq UNQUALIFIED6Onyama Limba
1008Murillo S AmigonGermany2026-10-14Chemel, James L Cpa UNQUALIFIED88Xuxue Feng
1009David X BowleySpain2026-10-17Printing Dimensions UNQUALIFIED0Onyama Limba
1010Smith H OldroydRussia2026-10-14Chapman, Ross E Esq QUALIFIED24Onyama Limba
1011Rodrigues Y NestleSpain2026-10-23Printing Dimensions RENEWAL90Asiya Javayant
1012Misaki H AlbaresSpain2026-10-22Feiner Bros UNQUALIFIED71Anna Fali
1013Antonio D GarufiAustralia2026-10-26Truhlar And Truhlar Attys QUALIFIED62Anna Fali
1014Sinclair C OstroskyArgentina2026-10-26Chemel, James L Cpa RENEWAL65Xuxue Feng
1015Misaki R RimAustralia2026-10-25Rangoni Of Florence UNQUALIFIED13Asiya Javayant
1016Octavia R PaprockiIndia2026-10-23Commercial Press QUALIFIED63Amy Elsner
1017Aditya Z SlusarskiFrance2026-10-29King, Christopher A Esq QUALIFIED64Asiya Javayant
1018Francesco W GillianItaly2026-10-24Dorl, James J Esq UNQUALIFIED89Ivan Magalhaes
1019Kadeem W FerenczItaly2026-10-24Chemel, James L Cpa NEGOTIATION87Xuxue Feng
1020Izzy G WaycottBrazil2026-10-16Printing Dimensions QUALIFIED30Onyama Limba
1021Izzy H ChuiRussia2026-10-29Feiner Bros PROPOSAL60Onyama Limba
1022Octavia W ButtArgentina2026-10-26Chemel, James L Cpa UNQUALIFIED71Amy Elsner
1023Darci X OstroskySpain2026-10-24Feiner Bros PROPOSAL44Onyama Limba
1024Murillo N BologniaBrazil2026-10-24Rangoni Of Florence UNQUALIFIED9Anna Fali
1025Mujtaba U CaldareraIndia2026-10-08Printing Dimensions NEGOTIATION42Stephen Shaw
1026Misaki K VenereJapan2026-11-03Benton, John B Jr QUALIFIED39Stephen Shaw
1027Jennifer X RulapaughCanada2026-10-28Feltz Printing Service QUALIFIED65Amy Elsner
1028Sinclair W SlusarskiFrance2026-10-30Dorl, James J Esq PROPOSAL53Anna Fali
1029Faith M BowleyRussia2026-10-27Rangoni Of Florence NEW35Ioni Bowcher
1030Mujtaba R BologniaIndia2026-10-14Commercial Press PROPOSAL20Ivan Magalhaes
1031Octavia J CaldareraSpain2026-10-15Buckley Miller Wright QUALIFIED8Ivan Magalhaes
1032Isabel E WhobreyItaly2026-10-12Rangoni Of Florence RENEWAL5Ioni Bowcher
1033Rodrigues R IturbideItaly2026-10-23Truhlar And Truhlar Attys QUALIFIED73Ioni Bowcher
1034Julie R TollnerRussia2026-10-17Buckley Miller Wright RENEWAL91Onyama Limba
1035Clifford L PaprockiItaly2026-10-15Chapman, Ross E Esq NEGOTIATION98Anna Fali
1036Greenwood B BologniaAustralia2026-10-12King, Christopher A Esq RENEWAL14Bernardo Dominic
1037Rodrigues O ButtBrazil2026-10-05Printing Dimensions QUALIFIED82Elwin Sharvill
1038Deepesh C FlosiJapan2026-10-13King, Christopher A Esq NEW78Asiya Javayant
1039Maria U GarufiJapan2026-10-30Chapman, Ross E Esq PROPOSAL96Xuxue Feng
1040Rodrigues S CampainIndia2026-10-24Morlong Associates UNQUALIFIED65Anna Fali
1041Aruna D StensethBrazil2026-10-15Truhlar And Truhlar Attys RENEWAL26Elwin Sharvill
1042Octavia K TollnerIndia2026-10-13Rangoni Of Florence NEGOTIATION77Stephen Shaw
1043Ricardo H GlickJapan2026-10-25Chemel, James L Cpa NEW22Elwin Sharvill
1044Johnson M WieserBrazil2026-10-16Chapman, Ross E Esq NEW56Onyama Limba
1045Murillo V WieserRussia2026-10-20Chanay, Jeffrey A Esq RENEWAL25Bernardo Dominic
1046Greenwood E CaldareraBrazil2026-10-28Dorl, James J Esq NEGOTIATION19Bernardo Dominic
1047Rodrigues B RulapaughCanada2026-10-08Rousseaux, Michael Esq NEGOTIATION18Bernardo Dominic
1048Smith W FerenczFrance2026-11-02Dorl, James J Esq NEW7Anna Fali
1049Misaki F DarakjyFrance2026-10-06Commercial Press NEW83Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Wickens X OstroskyIndiaElwin Sharvill RENEWAL
Arvin B GillianFranceAsiya Javayant QUALIFIED
Clifford L FlosiRussiaElwin Sharvill UNQUALIFIED
Adams B DoeBrazilStephen Shaw NEGOTIATION
Rodrigues M BologniaAustraliaStephen Shaw NEW
Arvin V AlbaresItalyAsiya Javayant NEGOTIATION
Mayumi Q KuskoSpainStephen Shaw QUALIFIED
Juan C WhobreySpainIoni Bowcher RENEWAL
Rodrigues K OstroskyIndiaBernardo Dominic RENEWAL
Maisha U FigeroaGermanyIoni Bowcher NEGOTIATION
Faith E FerenczCanadaAmy Elsner QUALIFIED
Jeanfrancois G IturbideUnited KingdomBernardo Dominic QUALIFIED
Wickens X InouyeJapanAnna Fali NEW
Mujtaba O PoquetteArgentinaIvan Magalhaes PROPOSAL
Isabel Z NestleIndiaXuxue Feng PROPOSAL
Misaki D CaudyRussiaIoni Bowcher QUALIFIED
Octavia U DilliardSpainAmy Elsner UNQUALIFIED
Nicolas Y KuskoCanadaIvan Magalhaes UNQUALIFIED
Leja R GauchoSpainOnyama Limba NEW
Adams O OstroskyUnited KingdomIvan Magalhaes NEGOTIATION
Silvio K CaldareraGermanyOnyama Limba PROPOSAL
Nicolas S OstroskyArgentinaBernardo Dominic QUALIFIED
Claire D VocelkaAustraliaAmy Elsner UNQUALIFIED
Silvio S InouyeArgentinaOnyama Limba NEW
Morrow W OldroydUnited KingdomAmy Elsner UNQUALIFIED
Maisha S SergiCanadaIoni Bowcher UNQUALIFIED
Adams A MacleadUnited KingdomXuxue Feng RENEWAL
Kaitlin C FigeroaSpainAsiya Javayant NEW
Johnson I CaldareraFranceXuxue Feng UNQUALIFIED
Arvin H GarufiGermanyIoni Bowcher UNQUALIFIED
Ivar E PoquetteArgentinaOnyama Limba NEW
Morrow J AlbaresBrazilStephen Shaw NEGOTIATION
Munro Q RulapaughSpainBernardo Dominic NEW
Maisha T PoquetteBrazilIoni Bowcher PROPOSAL
Tony O BowleyGermanyXuxue Feng NEW
Emily H GarufiUnited KingdomAmy Elsner NEW
Munro C InouyeAustraliaIoni Bowcher NEGOTIATION
Silvio I GarufiGermanyXuxue Feng PROPOSAL
Jeanfrancois A MaletGermanyIoni Bowcher NEGOTIATION
Wickens I KuskoSpainStephen Shaw QUALIFIED
Leon G BriddickArgentinaBernardo Dominic NEW
Leon C AlbaresAustraliaIvan Magalhaes PROPOSAL
Clifford L StockhamFranceAnna Fali NEGOTIATION
Clifford N KolmetzJapanIoni Bowcher UNQUALIFIED
Deepesh T ShinkoAustraliaBernardo Dominic UNQUALIFIED
Octavia M StensethCanadaBernardo Dominic RENEWAL
Jennifer R FollerCanadaBernardo Dominic UNQUALIFIED
Aika Y BriddickJapanXuxue Feng RENEWAL
Wickens Q CaldareraItalyStephen Shaw QUALIFIED
Ashley X FlosiCanadaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Aditya U Shinko
Cody Q Gillian
Morrow S Nicka
Wickens G Ruta
Arvin E Royster
Wickens R Ostrosky
Maisha E Waycott
Jennifer A Wieser
Rodrigues T Iturbide
Kadeem F Darakjy
Wickens H Ostrosky
Aika X Malet
Costa W Tollner
Jefferson J Darakjy
Jennifer X Flosi
Murillo S Garufi
Salvatore E Perin
Nicolas S Shinko
Salvatore B Iturbide
Maisha U Figeroa
Alejandro T Shinko
Jennifer M Nestle
Isabel X Glick
Ricardo L Dilliard
Kaitlin K Whobrey
Arvin O Malet
Darci U Perin
Ashley M Kolmetz
Juan F Caudy
Costa P Perin
Adams O Kolmetz
Munro B Stenseth
Octavia C Glick
Jeanfrancois W Tollner
Alejandro G Ruta
Aruna V Flosi
Alejandro Z Caudy
Jennifer S Darakjy
Greenwood V Ferencz
Ricardo F Ruta
Munro D Royster
Costa N Oldroyd
Juan F Doe
Jennifer R Flosi
Antonio V Stockham
Kadeem C Ostrosky
Alejandro C Ferencz
Rodrigues O Malet
Murillo M Rim
Rodrigues J Nestle
IdCountryDate
1000Australia2026-10-06
1001Australia2026-10-08
1002France2026-10-11
1003Italy2026-10-26
1004Canada2026-10-28
1005Australia2026-10-25
1006Japan2026-10-25
1007United Kingdom2026-10-28
1008United Kingdom2026-10-28
1009France2026-10-27
1010Australia2026-10-18
1011France2026-10-11
1012Russia2026-10-08
1013Japan2026-10-18
1014Japan2026-10-30
1015Italy2026-10-07
1016France2026-10-13
1017Australia2026-11-03
1018Canada2026-10-05
1019France2026-10-17
1020Germany2026-10-29
1021France2026-10-12
1022Spain2026-10-21
1023Spain2026-10-11
1024Argentina2026-10-23
1025Italy2026-10-06
1026United Kingdom2026-10-13
1027Russia2026-10-14
1028India2026-10-31
1029Japan2026-10-29
1030Germany2026-10-06
1031Russia2026-10-27
1032Argentina2026-10-05
1033Russia2026-10-20
1034India2026-10-29
1035Canada2026-10-26
1036India2026-10-30
1037France2026-10-27
1038Brazil2026-10-31
1039Argentina2026-10-12
1040Spain2026-10-25
1041Argentina2026-10-15
1042Canada2026-11-02
1043Italy2026-10-26
1044Germany2026-10-17
1045Brazil2026-10-11
1046Italy2026-10-08
1047Japan2026-10-22
1048France2026-10-05
1049Australia2026-10-21

On-Demand Data

NameIdCountryDate
Jeanfrancois T Slusarski1000Italy2026-10-23
Chavez M Kolmetz1001Spain2026-10-31
Silvio M Inouye1002Italy2026-11-02
Greenwood V Dilliard1003Germany2026-10-23
Antonio E Saylors1004Italy2026-10-18
Maria W Morasca1005Argentina2026-10-10
Costa X Briddick1006Australia2026-10-27
Johnson A Saylors1007United Kingdom2026-10-05
Sinclair T Glick1008Russia2026-10-05
Kadeem C Paprocki1009Germany2026-10-26
Costa G Caldarera1010United Kingdom2026-10-16
Misaki O Doe1011Argentina2026-10-11
Aruna J Rulapaugh1012Russia2026-10-28
Maria V Stenseth1013France2026-10-31
Francesco J Nestle1014Japan2026-10-06
Chavez P Iturbide1015Argentina2026-10-22
Stacey Q Caudy1016France2026-10-28
Cody Y Inouye1017Germany2026-11-02
Ivar T Bowley1018Germany2026-11-01
Mayumi L Oldroyd1019Argentina2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily Y TollnerJapanXuxue Feng QUALIFIED
Rodrigues V BologniaGermanyBernardo Dominic UNQUALIFIED
Costa B FerenczUnited KingdomStephen Shaw QUALIFIED
Jefferson Z NickaAustraliaBernardo Dominic QUALIFIED
Greenwood O ShinkoSpainXuxue Feng UNQUALIFIED
Murillo H MaletFranceOnyama Limba PROPOSAL
Arvin C BologniaFranceOnyama Limba NEGOTIATION
Aditya K ChuiSpainBernardo Dominic QUALIFIED
Jefferson F BowleyGermanyXuxue Feng NEW
Octavia K CaldareraFranceAnna Fali UNQUALIFIED
Leja D MarrierUnited KingdomOnyama Limba UNQUALIFIED
Murillo N VocelkaBrazilIvan Magalhaes NEGOTIATION
Rodrigues W GarufiRussiaAsiya Javayant NEW
Johnson M CaldareraJapanOnyama Limba UNQUALIFIED
Isabel S ShinkoBrazilBernardo Dominic RENEWAL
Kaitlin V BowleyJapanStephen Shaw QUALIFIED
Morrow W KuskoGermanyAmy Elsner RENEWAL
Stacey E IturbideSpainStephen Shaw UNQUALIFIED
Mayumi A RulapaughBrazilAmy Elsner NEGOTIATION
Juan M PaprockiUnited KingdomOnyama Limba RENEWAL
Johnson G SergiIndiaXuxue Feng NEGOTIATION
Jones Y MaletArgentinaOnyama Limba UNQUALIFIED
Arvin S NestleFranceIvan Magalhaes RENEWAL
Rodrigues S CaldareraCanadaAsiya Javayant QUALIFIED
Adams J ShinkoFranceAsiya Javayant PROPOSAL
Ashley L OstroskyArgentinaElwin Sharvill PROPOSAL
Ricardo D StockhamAustraliaAnna Fali UNQUALIFIED
Tony Z TollnerRussiaAsiya Javayant NEW
Rodrigues U InouyeAustraliaAnna Fali NEW
Misaki A BriddickIndiaAsiya Javayant UNQUALIFIED
Aruna V OldroydBrazilOnyama Limba NEW
Clifford A AmigonUnited KingdomIoni Bowcher PROPOSAL
Claire R OstroskyJapanAmy Elsner PROPOSAL
Ivar Y GillianSpainAnna Fali NEGOTIATION
Rodrigues E PaprockiItalyBernardo Dominic QUALIFIED
Antonio E OstroskyRussiaElwin Sharvill QUALIFIED
Leon K TollnerItalyStephen Shaw PROPOSAL
Izzy J OldroydGermanyIvan Magalhaes PROPOSAL
Darci R FlosiJapanElwin Sharvill UNQUALIFIED
Jefferson G WaycottSpainAnna Fali UNQUALIFIED

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