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
Silvio F MaletCanadaAsiya Javayant PROPOSAL
Jones Y DoeBrazilAmy Elsner UNQUALIFIED
Juan S OstroskyUnited KingdomXuxue Feng UNQUALIFIED
Francesco Q SaylorsRussiaAmy Elsner NEW
Octavia O NickaJapanIvan Magalhaes QUALIFIED
Arvin J BologniaGermanyOnyama Limba PROPOSAL
Wickens Y PerinSpainIvan Magalhaes PROPOSAL
Jones Q SlusarskiFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois E PaprockiArgentinaStephen Shaw RENEWAL
Darci V ShinkoRussiaIoni Bowcher UNQUALIFIED
Aditya N ChuiAustraliaIoni Bowcher UNQUALIFIED
Munro G CampainIndiaAnna Fali UNQUALIFIED
Juan A RimAustraliaBernardo Dominic NEGOTIATION
Francesco T MacleadAustraliaXuxue Feng NEW
Francesco S ShinkoArgentinaElwin Sharvill UNQUALIFIED
Jennifer O MarrierItalyOnyama Limba PROPOSAL
Claire Q OstroskyAustraliaXuxue Feng NEW
Aruna B GarufiItalyAmy Elsner QUALIFIED
Ricardo C InouyeItalyAsiya Javayant RENEWAL
Adams B OstroskyUnited KingdomIoni Bowcher PROPOSAL
Jennifer O DilliardJapanElwin Sharvill NEW
Clifford W PaprockiUnited KingdomAnna Fali QUALIFIED
Izzy I FlosiGermanyAmy Elsner QUALIFIED
Ricardo G FerenczIndiaElwin Sharvill NEGOTIATION
Silvio U SlusarskiRussiaStephen Shaw PROPOSAL
Tony E DilliardUnited KingdomBernardo Dominic NEGOTIATION
Jennifer G InouyeCanadaAsiya Javayant PROPOSAL
Costa Y VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
Sinclair S MacleadSpainOnyama Limba PROPOSAL
Leon C DilliardArgentinaOnyama Limba QUALIFIED
Izzy L BriddickSpainIoni Bowcher RENEWAL
Munro Y ShinkoItalyIvan Magalhaes QUALIFIED
Julie A MacleadCanadaAnna Fali QUALIFIED
Rodrigues U OstroskyRussiaIoni Bowcher NEGOTIATION
Jones G TollnerIndiaXuxue Feng NEGOTIATION
Nicolas O IturbideIndiaAnna Fali NEGOTIATION
Ricardo I WieserCanadaIvan Magalhaes NEGOTIATION
Juan N PerinJapanIvan Magalhaes QUALIFIED
Wickens Z GarufiRussiaAnna Fali PROPOSAL
Sinclair X WieserUnited KingdomIvan Magalhaes QUALIFIED
Jefferson Z VenereRussiaOnyama Limba NEW
Johnson V VocelkaArgentinaAsiya Javayant UNQUALIFIED
Izzy Y SaylorsUnited KingdomIvan Magalhaes NEGOTIATION
Antonio T CaldareraArgentinaIoni Bowcher QUALIFIED
Izzy R BowleyItalyIoni Bowcher RENEWAL
Antonio D StensethBrazilXuxue Feng RENEWAL
Munro C RoysterItalyBernardo Dominic NEGOTIATION
Munro A RimArgentinaAmy Elsner NEGOTIATION
Jefferson Z FlosiFranceStephen Shaw PROPOSAL
James G DoeGermanyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Morrow A MaletBrazilIvan Magalhaes UNQUALIFIED
Munro O DarakjySpainAsiya Javayant UNQUALIFIED
Nicolas D KuskoUnited KingdomIoni Bowcher PROPOSAL
Jeanfrancois O RutaJapanStephen Shaw NEGOTIATION
Maisha T RulapaughFranceIvan Magalhaes UNQUALIFIED
Faith O DilliardAustraliaXuxue Feng QUALIFIED
Antonio O CaldareraRussiaOnyama Limba RENEWAL
Rodrigues L MorascaCanadaStephen Shaw QUALIFIED
Adams X PoquetteSpainIvan Magalhaes UNQUALIFIED
Salvatore E WieserUnited KingdomElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro U OldroydJapan2026-09-09Dorl, James J Esq PROPOSAL51Onyama Limba
1001Ashley K SlusarskiSpain2026-10-01King, Christopher A Esq UNQUALIFIED4Onyama Limba
1002Julie F RimItaly2026-09-14Commercial Press UNQUALIFIED37Onyama Limba
1003Chavez M FigeroaFrance2026-09-14Feiner Bros NEGOTIATION37Bernardo Dominic
1004Ivar S MaletRussia2026-09-26Buckley Miller Wright RENEWAL31Asiya Javayant
1005Tony K FigeroaGermany2026-09-24Truhlar And Truhlar Attys NEW16Ioni Bowcher
1006Nicolas M SlusarskiGermany2026-10-05Printing Dimensions NEW35Bernardo Dominic
1007Costa A StockhamFrance2026-09-13Truhlar And Truhlar Attys NEW28Ivan Magalhaes
1008Cody Z InouyeCanada2026-10-04Rousseaux, Michael Esq RENEWAL60Bernardo Dominic
1009Mujtaba R GlickIndia2026-09-21Dorl, James J Esq QUALIFIED10Xuxue Feng
1010Clifford R PerinGermany2026-09-14Feltz Printing Service NEW93Ivan Magalhaes
1011Juan V MaletArgentina2026-10-04Chanay, Jeffrey A Esq UNQUALIFIED27Stephen Shaw
1012Kaitlin G WhobreyUnited Kingdom2026-10-03Feltz Printing Service RENEWAL23Anna Fali
1013Murillo P KuskoFrance2026-10-06Dorl, James J Esq RENEWAL19Xuxue Feng
1014Ashley J RutaBrazil2026-09-28Dorl, James J Esq NEGOTIATION47Ioni Bowcher
1015Johnson W OldroydIndia2026-09-28Morlong Associates NEW96Asiya Javayant
1016Salvatore A WhobreyItaly2026-10-01Commercial Press QUALIFIED5Xuxue Feng
1017Morrow U PaprockiArgentina2026-09-25Chemel, James L Cpa UNQUALIFIED62Elwin Sharvill
1018Kaitlin M BriddickJapan2026-09-14Rangoni Of Florence NEW75Elwin Sharvill
1019Jefferson B NickaArgentina2026-10-08Morlong Associates NEW65Bernardo Dominic
1020David C MaletAustralia2026-09-26Chanay, Jeffrey A Esq QUALIFIED79Elwin Sharvill
1021Octavia K ShinkoGermany2026-09-19Feltz Printing Service UNQUALIFIED1Amy Elsner
1022Aika H BologniaRussia2026-09-19Dorl, James J Esq NEGOTIATION44Asiya Javayant
1023Darci M KolmetzIndia2026-10-08Printing Dimensions UNQUALIFIED71Stephen Shaw
1024Darci U FigeroaAustralia2026-10-01Chapman, Ross E Esq NEW43Onyama Limba
1025Mayumi W BriddickSpain2026-09-28Feltz Printing Service QUALIFIED58Ioni Bowcher
1026James R NickaFrance2026-09-23Benton, John B Jr PROPOSAL49Elwin Sharvill
1027Sinclair L OstroskyRussia2026-09-29Benton, John B Jr UNQUALIFIED17Xuxue Feng
1028Tony T RutaSpain2026-10-03Feltz Printing Service NEGOTIATION49Asiya Javayant
1029Alejandro N SlusarskiRussia2026-09-26Chemel, James L Cpa RENEWAL3Elwin Sharvill
1030Claire G NestleArgentina2026-09-20Feiner Bros RENEWAL92Onyama Limba
1031Darci C DilliardJapan2026-09-13Feltz Printing Service UNQUALIFIED92Xuxue Feng
1032Aditya W MaletJapan2026-09-17Chanay, Jeffrey A Esq NEGOTIATION94Elwin Sharvill
1033Cody X NestleRussia2026-09-19Truhlar And Truhlar Attys PROPOSAL86Ivan Magalhaes
1034Costa U InouyeRussia2026-09-28Truhlar And Truhlar Attys NEW4Amy Elsner
1035Munro G StensethUnited Kingdom2026-09-20Feiner Bros NEGOTIATION4Elwin Sharvill
1036Leja T DoeUnited Kingdom2026-10-06Feltz Printing Service NEGOTIATION0Xuxue Feng
1037Morrow L FlosiRussia2026-09-11Chemel, James L Cpa NEW82Xuxue Feng
1038Izzy G MarrierBrazil2026-09-10Feltz Printing Service NEGOTIATION63Ivan Magalhaes
1039Murillo Z BowleyCanada2026-09-11Rousseaux, Michael Esq UNQUALIFIED61Onyama Limba
1040Isabel S FollerRussia2026-09-18Printing Dimensions PROPOSAL78Asiya Javayant
1041Ashley K CaudyFrance2026-09-11Printing Dimensions NEGOTIATION73Ioni Bowcher
1042Ashley W FigeroaIndia2026-09-28Truhlar And Truhlar Attys RENEWAL37Ioni Bowcher
1043Aditya T MorascaCanada2026-09-11Chemel, James L Cpa QUALIFIED61Ioni Bowcher
1044Silvio L SlusarskiJapan2026-09-30Rousseaux, Michael Esq UNQUALIFIED93Xuxue Feng
1045Emily J WaycottArgentina2026-09-18Printing Dimensions NEW28Ioni Bowcher
1046Kaitlin P SergiArgentina2026-09-19Chemel, James L Cpa PROPOSAL17Onyama Limba
1047Jeanfrancois O TollnerFrance2026-09-30Commercial Press PROPOSAL27Stephen Shaw
1048David F PaprockiSpain2026-10-08Commercial Press UNQUALIFIED14Onyama Limba
1049Francesco H NestleRussia2026-10-03King, Christopher A Esq QUALIFIED55Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Costa B WhobreyBrazilIoni Bowcher UNQUALIFIED
Ivar G NickaFranceStephen Shaw NEW
Izzy D PoquetteUnited KingdomElwin Sharvill PROPOSAL
Juan K DarakjyCanadaOnyama Limba QUALIFIED
Costa T MarrierRussiaIoni Bowcher NEGOTIATION
James F RulapaughSpainIoni Bowcher PROPOSAL
Johnson C TollnerUnited KingdomAmy Elsner NEGOTIATION
Costa S KuskoUnited KingdomElwin Sharvill NEW
Leja U WhobreyUnited KingdomAsiya Javayant QUALIFIED
Maisha T MaletCanadaIoni Bowcher NEGOTIATION
Chavez P KuskoJapanIvan Magalhaes QUALIFIED
Maria Q GlickSpainAmy Elsner PROPOSAL
Clifford W SlusarskiCanadaAnna Fali NEW
Julie D StockhamItalyXuxue Feng NEGOTIATION
Arvin Z StensethRussiaStephen Shaw NEW
Mayumi L ButtAustraliaOnyama Limba PROPOSAL
Cody P GauchoRussiaBernardo Dominic RENEWAL
Izzy J FlosiCanadaBernardo Dominic PROPOSAL
Morrow W CampainAustraliaStephen Shaw UNQUALIFIED
Clifford I NickaAustraliaXuxue Feng UNQUALIFIED
Adams F GillianGermanyBernardo Dominic PROPOSAL
Leon T CampainBrazilAmy Elsner UNQUALIFIED
Jennifer X MaletRussiaAmy Elsner RENEWAL
Morrow F KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Leon Y VocelkaGermanyBernardo Dominic QUALIFIED
Murillo Y RimFranceIvan Magalhaes PROPOSAL
Chavez O PaprockiGermanyAsiya Javayant QUALIFIED
Arvin G MaletItalyAsiya Javayant NEW
Clifford P RutaBrazilElwin Sharvill NEGOTIATION
Tony Z CaudyRussiaAnna Fali NEGOTIATION
Greenwood D GlickGermanyAmy Elsner NEW
Darci P WieserIndiaXuxue Feng RENEWAL
Jennifer P RimUnited KingdomIoni Bowcher UNQUALIFIED
Leon E DarakjyCanadaOnyama Limba PROPOSAL
Stacey N SchemmerJapanIoni Bowcher UNQUALIFIED
Mujtaba R ButtArgentinaBernardo Dominic PROPOSAL
Deepesh J RutaFranceAmy Elsner NEGOTIATION
Sinclair O CaldareraSpainAsiya Javayant QUALIFIED
Tony S NickaArgentinaElwin Sharvill PROPOSAL
Ashley P AmigonItalyXuxue Feng NEW
Costa Y ShinkoArgentinaIvan Magalhaes NEW
Octavia H AmigonItalyStephen Shaw UNQUALIFIED
Isabel F PerinBrazilElwin Sharvill NEW
Darci X DoeRussiaAnna Fali PROPOSAL
Smith G InouyeItalyOnyama Limba PROPOSAL
Antonio F WieserItalyAsiya Javayant NEW
Francesco M MorascaSpainXuxue Feng PROPOSAL
Emily L FollerArgentinaElwin Sharvill UNQUALIFIED
Alejandro B SlusarskiItalyAsiya Javayant RENEWAL
Alejandro T DilliardJapanAmy Elsner QUALIFIED
Frozen Columns
Name
Maisha L Dilliard
Antonio S Campain
Rodrigues W Vocelka
Darci N Nestle
Deepesh D Bowley
Johnson N Kolmetz
Jeanfrancois L Vocelka
Antonio P Ferencz
Maria K Whobrey
Juan G Malet
Ricardo R Gillian
Ashley R Gillian
Jones X Dilliard
Darci Z Bolognia
Emily Q Schemmer
Salvatore E Poquette
Izzy L Perin
Jeanfrancois Y Malet
Aika D Butt
James G Wieser
Mayumi O Malet
Wickens Z Saylors
Greenwood T Garufi
Silvio D Ruta
Rodrigues I Shinko
Leja U Ostrosky
Tony W Darakjy
Jennifer U Kolmetz
Arvin R Nestle
Salvatore F Rulapaugh
Chavez J Perin
Darci P Bowley
Salvatore V Albares
Emily Z Nestle
Jones P Foller
Cody G Campain
Jennifer L Kusko
Sinclair I Stockham
Claire X Glick
Claire H Caudy
Salvatore F Marrier
Rodrigues A Kolmetz
Arvin P Darakjy
Ivar F Butt
Nicolas B Caldarera
Isabel P Oldroyd
Alejandro K Stenseth
Claire N Figeroa
Darci L Nicka
Deepesh K Doe
IdCountryDate
1000United Kingdom2026-09-20
1001United Kingdom2026-09-19
1002Japan2026-09-14
1003India2026-09-13
1004Australia2026-09-09
1005United Kingdom2026-09-29
1006United Kingdom2026-09-29
1007Australia2026-10-03
1008Argentina2026-09-26
1009Japan2026-09-27
1010Spain2026-10-07
1011Russia2026-10-02
1012Italy2026-09-23
1013France2026-09-20
1014Japan2026-09-28
1015Germany2026-09-17
1016France2026-09-18
1017Russia2026-10-06
1018Argentina2026-09-24
1019Japan2026-09-20
1020France2026-09-26
1021India2026-09-27
1022Australia2026-09-27
1023Canada2026-09-14
1024India2026-10-06
1025Russia2026-09-21
1026Spain2026-10-02
1027United Kingdom2026-09-21
1028Argentina2026-09-30
1029Australia2026-10-07
1030Italy2026-10-08
1031Brazil2026-10-03
1032Germany2026-09-13
1033Canada2026-09-20
1034India2026-09-09
1035Germany2026-09-30
1036Canada2026-10-08
1037India2026-10-06
1038Australia2026-09-15
1039Argentina2026-09-14
1040United Kingdom2026-10-03
1041Germany2026-10-03
1042India2026-09-12
1043Japan2026-09-14
1044India2026-09-09
1045United Kingdom2026-09-22
1046India2026-10-05
1047Canada2026-10-03
1048India2026-09-15
1049Canada2026-09-23

On-Demand Data

NameIdCountryDate
Mayumi Q Poquette1000Japan2026-10-03
Smith Q Malet1001India2026-10-07
Claire Y Ferencz1002Italy2026-09-09
Leon F Garufi1003Brazil2026-10-05
Wickens R Caudy1004Japan2026-09-13
Deepesh O Iturbide1005Argentina2026-10-07
Chavez J Perin1006Brazil2026-09-23
Octavia Z Gaucho1007Italy2026-09-20
Aruna W Flosi1008Japan2026-10-04
Alejandro O Stockham1009Japan2026-09-25
Leja I Oldroyd1010Argentina2026-09-24
Kadeem B Doe1011Japan2026-09-27
Sinclair N Doe1012France2026-09-23
Deepesh A Rim1013Argentina2026-09-14
Aruna N Poquette1014Australia2026-09-29
Antonio D Rim1015France2026-10-05
Maria W Stockham1016Germany2026-09-16
Maria R Venere1017Germany2026-09-17
Jones H Iturbide1018United Kingdom2026-10-07
Rodrigues P Maclead1019Germany2026-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar V GillianGermanyIoni Bowcher NEW
Faith H TollnerCanadaAnna Fali RENEWAL
Isabel K TollnerSpainAnna Fali UNQUALIFIED
Julie S MorascaIndiaIvan Magalhaes NEW
Deepesh Q PoquetteSpainAsiya Javayant NEGOTIATION
Mujtaba Q OstroskyItalyIvan Magalhaes NEGOTIATION
Ivar A RoysterSpainIvan Magalhaes NEGOTIATION
Sinclair E PaprockiSpainIoni Bowcher UNQUALIFIED
Kadeem E DoeCanadaStephen Shaw QUALIFIED
Ricardo Y StensethJapanIvan Magalhaes PROPOSAL
Antonio X CampainFranceXuxue Feng NEGOTIATION
Costa W SchemmerSpainIoni Bowcher NEW
Aruna E GlickJapanIoni Bowcher RENEWAL
Adams W AlbaresBrazilElwin Sharvill UNQUALIFIED
Ashley K RoysterArgentinaAsiya Javayant UNQUALIFIED
Faith X KuskoBrazilAnna Fali PROPOSAL
Faith S KuskoRussiaIvan Magalhaes QUALIFIED
Mujtaba B OstroskyUnited KingdomElwin Sharvill NEW
Mujtaba E GlickGermanyAmy Elsner QUALIFIED
Jeanfrancois J AmigonUnited KingdomAnna Fali UNQUALIFIED
Ivar R GillianAustraliaAsiya Javayant NEW
Salvatore H MorascaUnited KingdomXuxue Feng QUALIFIED
Maisha L FlosiUnited KingdomAnna Fali NEW
Claire A NestleGermanyIvan Magalhaes NEGOTIATION
Munro T WhobreyRussiaOnyama Limba UNQUALIFIED
Ivar I ShinkoJapanAsiya Javayant RENEWAL
Munro M FollerJapanXuxue Feng QUALIFIED
Darci G KuskoSpainIoni Bowcher QUALIFIED
Smith S StensethCanadaStephen Shaw PROPOSAL
James U RulapaughFranceElwin Sharvill RENEWAL
Mayumi J AlbaresGermanyIoni Bowcher PROPOSAL
Silvio G RimSpainAmy Elsner QUALIFIED
Kaitlin O GarufiItalyElwin Sharvill RENEWAL
Jefferson R WaycottCanadaXuxue Feng RENEWAL
Tony O MorascaJapanIoni Bowcher NEW
Clifford P OldroydJapanXuxue Feng RENEWAL
Aika Q DoeRussiaBernardo Dominic NEGOTIATION
Maria L WhobreyIndiaAsiya Javayant UNQUALIFIED
Faith P NestleBrazilIoni Bowcher RENEWAL
Mujtaba U OstroskyArgentinaIoni Bowcher PROPOSAL

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