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
Mayumi E StockhamIndiaStephen Shaw NEGOTIATION
Jefferson E WhobreyJapanBernardo Dominic PROPOSAL
Francesco E StensethJapanElwin Sharvill QUALIFIED
Aika L OstroskyRussiaAnna Fali QUALIFIED
Adams W StensethBrazilIoni Bowcher NEGOTIATION
Misaki D BowleyGermanyXuxue Feng NEW
Munro E MarrierBrazilStephen Shaw NEW
Cody Q GarufiIndiaAsiya Javayant UNQUALIFIED
Jones V InouyeAustraliaIoni Bowcher PROPOSAL
Emily K ButtSpainBernardo Dominic QUALIFIED
Silvio U TollnerCanadaElwin Sharvill UNQUALIFIED
Munro V ShinkoSpainIvan Magalhaes QUALIFIED
Arvin F SaylorsCanadaAmy Elsner NEGOTIATION
Munro V InouyeItalyXuxue Feng UNQUALIFIED
Murillo B WhobreyCanadaAsiya Javayant QUALIFIED
Jones U BologniaGermanyOnyama Limba NEW
Misaki X CaldareraArgentinaOnyama Limba NEGOTIATION
Wickens O GlickJapanAmy Elsner NEGOTIATION
Jeanfrancois J MaletRussiaOnyama Limba PROPOSAL
Morrow N TollnerArgentinaAmy Elsner PROPOSAL
Darci C AlbaresIndiaXuxue Feng QUALIFIED
Francesco L AlbaresAustraliaXuxue Feng NEGOTIATION
James L MaletSpainElwin Sharvill QUALIFIED
Antonio R SlusarskiGermanyAnna Fali UNQUALIFIED
Nicolas U InouyeIndiaXuxue Feng QUALIFIED
Adams X SlusarskiCanadaBernardo Dominic PROPOSAL
Izzy J OstroskyJapanIoni Bowcher RENEWAL
Leon S BriddickIndiaIvan Magalhaes UNQUALIFIED
Ivar S BriddickSpainElwin Sharvill UNQUALIFIED
Cody T InouyeArgentinaElwin Sharvill PROPOSAL
Mujtaba D AlbaresFranceAmy Elsner NEW
Salvatore T RimJapanOnyama Limba UNQUALIFIED
Greenwood O KuskoBrazilXuxue Feng NEGOTIATION
Greenwood U ButtBrazilStephen Shaw NEW
Claire A MaletBrazilBernardo Dominic UNQUALIFIED
Mayumi N KuskoJapanAmy Elsner UNQUALIFIED
Jennifer R MarrierItalyIoni Bowcher UNQUALIFIED
Sinclair C KolmetzGermanyAmy Elsner QUALIFIED
Leon X GarufiUnited KingdomAmy Elsner NEW
Faith P GarufiUnited KingdomIvan Magalhaes NEW
Jones Z ButtArgentinaXuxue Feng QUALIFIED
Jones W InouyeIndiaBernardo Dominic UNQUALIFIED
Darci V FigeroaItalyIvan Magalhaes NEGOTIATION
Octavia P SchemmerAustraliaXuxue Feng PROPOSAL
Jennifer E MacleadAustraliaAnna Fali QUALIFIED
Jefferson O FlosiRussiaAmy Elsner NEGOTIATION
Clifford Z WhobreyAustraliaIvan Magalhaes PROPOSAL
Rodrigues M RulapaughArgentinaIoni Bowcher UNQUALIFIED
James K FollerJapanStephen Shaw PROPOSAL
Stacey I MorascaFranceBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues B OstroskyItalyBernardo Dominic NEGOTIATION
Jeanfrancois M AmigonFranceStephen Shaw PROPOSAL
Octavia R SergiCanadaElwin Sharvill RENEWAL
Costa A BowleyJapanAsiya Javayant QUALIFIED
Adams M CaldareraSpainXuxue Feng NEW
Misaki T WaycottItalyAnna Fali RENEWAL
Aika F CampainUnited KingdomBernardo Dominic PROPOSAL
Claire Z GlickRussiaElwin Sharvill PROPOSAL
Jeanfrancois I RimUnited KingdomStephen Shaw RENEWAL
Aruna N BowleyCanadaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie R GarufiArgentina2026-10-21Benton, John B Jr UNQUALIFIED32Onyama Limba
1001Ashley F AlbaresIndia2026-10-07Feiner Bros UNQUALIFIED65Anna Fali
1002Francesco Q WaycottGermany2026-10-09Rangoni Of Florence PROPOSAL77Xuxue Feng
1003Claire G CaldareraUnited Kingdom2026-10-21Dorl, James J Esq PROPOSAL73Ivan Magalhaes
1004Arvin P AlbaresGermany2026-10-28Rousseaux, Michael Esq RENEWAL14Xuxue Feng
1005Ricardo Z DilliardJapan2026-10-08Feltz Printing Service PROPOSAL79Ioni Bowcher
1006Smith Q RoysterGermany2026-10-14Chanay, Jeffrey A Esq PROPOSAL49Ivan Magalhaes
1007Morrow Q MarrierJapan2026-10-18Buckley Miller Wright RENEWAL63Stephen Shaw
1008Johnson P PaprockiArgentina2026-10-16Feltz Printing Service PROPOSAL78Ioni Bowcher
1009Kaitlin S MacleadArgentina2026-10-10Buckley Miller Wright PROPOSAL5Stephen Shaw
1010Nicolas Y NestleItaly2026-11-04Feltz Printing Service RENEWAL58Anna Fali
1011Darci T RutaArgentina2026-10-28Rousseaux, Michael Esq UNQUALIFIED9Anna Fali
1012Chavez J VocelkaItaly2026-10-11Truhlar And Truhlar Attys NEGOTIATION55Ivan Magalhaes
1013Jeanfrancois H AmigonUnited Kingdom2026-10-21King, Christopher A Esq QUALIFIED79Stephen Shaw
1014Mayumi J RoysterIndia2026-10-30Feltz Printing Service QUALIFIED48Stephen Shaw
1015Isabel C PerinItaly2026-10-14King, Christopher A Esq PROPOSAL41Asiya Javayant
1016Kaitlin T CaudyRussia2026-10-09Truhlar And Truhlar Attys NEGOTIATION13Onyama Limba
1017Kaitlin D CaldareraArgentina2026-11-05Commercial Press PROPOSAL25Onyama Limba
1018Morrow L FollerIndia2026-10-13Chanay, Jeffrey A Esq NEGOTIATION34Ivan Magalhaes
1019Nicolas R AmigonSpain2026-10-25Truhlar And Truhlar Attys RENEWAL63Ivan Magalhaes
1020Murillo B SchemmerItaly2026-10-24Feiner Bros QUALIFIED9Bernardo Dominic
1021Aruna E ButtCanada2026-10-31Chapman, Ross E Esq RENEWAL61Bernardo Dominic
1022Clifford M GauchoArgentina2026-10-10Buckley Miller Wright QUALIFIED29Xuxue Feng
1023Alejandro W RulapaughAustralia2026-10-12Feiner Bros UNQUALIFIED15Elwin Sharvill
1024Ivar G PoquetteSpain2026-10-30Morlong Associates UNQUALIFIED12Ivan Magalhaes
1025Ricardo C SlusarskiJapan2026-10-20Benton, John B Jr PROPOSAL6Onyama Limba
1026Leon L SchemmerFrance2026-10-23Commercial Press QUALIFIED83Bernardo Dominic
1027Deepesh T ShinkoIndia2026-10-15Printing Dimensions UNQUALIFIED32Bernardo Dominic
1028Munro E GillianAustralia2026-10-24King, Christopher A Esq NEW76Xuxue Feng
1029Leon Z SergiIndia2026-11-04Printing Dimensions NEGOTIATION39Stephen Shaw
1030Juan Y NickaBrazil2026-10-28Chemel, James L Cpa UNQUALIFIED96Ioni Bowcher
1031Francesco J PerinSpain2026-10-30Chanay, Jeffrey A Esq NEGOTIATION13Ioni Bowcher
1032Leon J RimJapan2026-10-25Printing Dimensions RENEWAL96Bernardo Dominic
1033Ricardo N MorascaRussia2026-10-15Feltz Printing Service UNQUALIFIED87Stephen Shaw
1034Munro W InouyeBrazil2026-10-15Benton, John B Jr NEW29Asiya Javayant
1035Kaitlin Q ButtCanada2026-10-30Dorl, James J Esq RENEWAL51Asiya Javayant
1036Juan J ChuiItaly2026-10-24Chanay, Jeffrey A Esq QUALIFIED81Ioni Bowcher
1037Sinclair V FollerGermany2026-10-11Dorl, James J Esq NEGOTIATION65Ioni Bowcher
1038David P OldroydSpain2026-11-02Feltz Printing Service QUALIFIED75Anna Fali
1039Stacey F FollerArgentina2026-10-07King, Christopher A Esq NEGOTIATION51Elwin Sharvill
1040Izzy A MarrierJapan2026-10-20Feltz Printing Service PROPOSAL39Bernardo Dominic
1041Antonio S FerenczIndia2026-10-21Rangoni Of Florence RENEWAL18Ioni Bowcher
1042Octavia N PaprockiFrance2026-10-20Buckley Miller Wright QUALIFIED79Elwin Sharvill
1043David P SchemmerIndia2026-10-10Printing Dimensions QUALIFIED19Ivan Magalhaes
1044Alejandro L MorascaCanada2026-10-08Chanay, Jeffrey A Esq NEGOTIATION98Amy Elsner
1045Maisha W MaletBrazil2026-10-11Commercial Press NEW84Asiya Javayant
1046Clifford U WaycottRussia2026-10-09Printing Dimensions RENEWAL14Ioni Bowcher
1047Mujtaba L StockhamAustralia2026-10-26Rousseaux, Michael Esq RENEWAL73Elwin Sharvill
1048Juan B IturbideCanada2026-10-14Dorl, James J Esq UNQUALIFIED22Stephen Shaw
1049Izzy K GlickAustralia2026-10-22Printing Dimensions NEGOTIATION53Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Smith O SlusarskiJapanStephen Shaw QUALIFIED
Octavia L WieserItalyElwin Sharvill QUALIFIED
Maria K PerinJapanElwin Sharvill NEGOTIATION
Darci R SchemmerArgentinaAnna Fali PROPOSAL
Faith Y OstroskyItalyIoni Bowcher PROPOSAL
Kaitlin D TollnerItalyIvan Magalhaes UNQUALIFIED
Ivar V WieserUnited KingdomBernardo Dominic NEGOTIATION
Aika T AlbaresBrazilStephen Shaw PROPOSAL
Wickens Y KolmetzSpainElwin Sharvill NEGOTIATION
Murillo J SlusarskiCanadaIvan Magalhaes UNQUALIFIED
Maria O WaycottRussiaAnna Fali PROPOSAL
Darci H ChuiArgentinaAsiya Javayant RENEWAL
Cody E SlusarskiBrazilIvan Magalhaes NEW
Jones Y CaudyFranceAnna Fali NEGOTIATION
Juan C BowleyGermanyAmy Elsner QUALIFIED
Cody J VocelkaAustraliaElwin Sharvill QUALIFIED
Jennifer U StensethCanadaOnyama Limba UNQUALIFIED
Kaitlin Q CaudyBrazilAnna Fali PROPOSAL
Isabel S FigeroaItalyBernardo Dominic NEGOTIATION
Aika N MorascaUnited KingdomOnyama Limba UNQUALIFIED
Kadeem F DarakjySpainStephen Shaw NEW
Izzy R GlickItalyStephen Shaw RENEWAL
Kaitlin C PerinFranceAnna Fali PROPOSAL
Antonio U StockhamUnited KingdomXuxue Feng NEW
David Q StensethBrazilIoni Bowcher QUALIFIED
Jefferson M OldroydArgentinaIoni Bowcher QUALIFIED
Nicolas M GarufiIndiaAnna Fali NEW
James Z BriddickSpainAnna Fali QUALIFIED
Julie P SaylorsGermanyIoni Bowcher QUALIFIED
Antonio M MacleadItalyIoni Bowcher QUALIFIED
Aditya N WaycottRussiaOnyama Limba UNQUALIFIED
Maria C CaudyRussiaAnna Fali UNQUALIFIED
Chavez R DilliardRussiaAsiya Javayant NEGOTIATION
Kadeem X WieserJapanXuxue Feng RENEWAL
Ivar L VenereFranceOnyama Limba NEW
Silvio L NestleBrazilAnna Fali UNQUALIFIED
Morrow I WieserArgentinaElwin Sharvill UNQUALIFIED
Mayumi Q SergiAustraliaElwin Sharvill PROPOSAL
Juan C ShinkoIndiaOnyama Limba PROPOSAL
Jones V GarufiJapanBernardo Dominic UNQUALIFIED
Arvin K AmigonFranceIvan Magalhaes PROPOSAL
James P RulapaughCanadaOnyama Limba RENEWAL
Salvatore E FigeroaJapanXuxue Feng RENEWAL
Aika H CaldareraItalyIoni Bowcher NEGOTIATION
Darci J SlusarskiJapanStephen Shaw NEW
Salvatore C RimAustraliaOnyama Limba PROPOSAL
Maisha Q PerinIndiaIvan Magalhaes PROPOSAL
Alejandro L FerenczUnited KingdomBernardo Dominic PROPOSAL
Ivar B DilliardAustraliaElwin Sharvill RENEWAL
Juan D CampainUnited KingdomStephen Shaw NEGOTIATION
Frozen Columns
Name
Stacey F Sergi
Costa F Ruta
Misaki U Gaucho
Maria M Kusko
Morrow H Saylors
Antonio J Nestle
Juan E Flosi
Isabel S Figeroa
Rodrigues H Garufi
Alejandro O Chui
Nicolas Q Dilliard
Julie A Rim
Aruna H Rim
Adams O Vocelka
Murillo P Figeroa
Darci L Gillian
Mujtaba T Figeroa
Aditya X Waycott
Ivar L Ruta
Jeanfrancois I Caudy
Alejandro I Inouye
Aruna X Caldarera
Francesco Z Ruta
Clifford H Stenseth
David N Malet
Mujtaba W Kolmetz
Juan B Morasca
Chavez A Nicka
Sinclair M Gaucho
Cody A Shinko
Smith V Oldroyd
Maisha G Figeroa
Maria K Saylors
Kaitlin Q Gaucho
Morrow K Gillian
Kadeem M Kusko
Leon Q Rulapaugh
Leja W Darakjy
Darci H Briddick
Maria D Iturbide
Julie F Garufi
Smith E Gillian
Claire G Iturbide
Johnson I Rim
Kadeem W Foller
Kaitlin Z Inouye
Octavia R Chui
Kaitlin U Flosi
Jeanfrancois Z Campain
Antonio X Glick
IdCountryDate
1000Japan2026-10-07
1001Germany2026-10-29
1002Argentina2026-10-12
1003India2026-10-08
1004Germany2026-10-17
1005Italy2026-10-14
1006France2026-10-14
1007Italy2026-10-21
1008Brazil2026-10-29
1009India2026-11-01
1010Argentina2026-10-24
1011Germany2026-10-22
1012Germany2026-10-10
1013Australia2026-11-02
1014Brazil2026-10-31
1015Spain2026-10-10
1016Italy2026-10-27
1017Argentina2026-10-21
1018Canada2026-10-23
1019France2026-10-31
1020Italy2026-10-10
1021France2026-10-23
1022Germany2026-10-19
1023Italy2026-10-27
1024Argentina2026-10-19
1025Japan2026-10-31
1026Italy2026-10-27
1027India2026-10-12
1028France2026-11-01
1029Canada2026-10-24
1030India2026-11-05
1031Germany2026-10-26
1032Australia2026-11-01
1033Italy2026-10-22
1034Italy2026-10-21
1035Germany2026-11-03
1036Brazil2026-10-27
1037Australia2026-10-07
1038Australia2026-10-26
1039Brazil2026-10-26
1040Russia2026-10-25
1041Japan2026-10-29
1042India2026-11-04
1043France2026-11-02
1044Russia2026-10-31
1045Germany2026-10-09
1046Italy2026-11-04
1047United Kingdom2026-10-12
1048Germany2026-10-10
1049Italy2026-10-10

On-Demand Data

NameIdCountryDate
Johnson I Doe1000Australia2026-10-10
Sinclair Q Slusarski1001France2026-10-24
Jefferson F Rulapaugh1002Canada2026-10-29
Johnson F Iturbide1003Russia2026-10-31
Jones O Stenseth1004United Kingdom2026-10-22
Jeanfrancois V Gillian1005India2026-11-03
Faith Y Malet1006Australia2026-11-03
Cody P Inouye1007Italy2026-10-20
Greenwood K Saylors1008Russia2026-10-13
Leja F Vocelka1009Germany2026-11-02
Sinclair Y Albares1010India2026-10-24
Deepesh L Royster1011France2026-10-11
Mujtaba N Garufi1012India2026-10-25
Leon D Amigon1013United Kingdom2026-10-22
Misaki A Saylors1014Canada2026-11-05
Rodrigues Y Gillian1015Brazil2026-10-07
Morrow Q Bolognia1016United Kingdom2026-10-17
Faith G Schemmer1017Italy2026-11-05
Darci C Sergi1018Canada2026-10-30
Aditya F Nestle1019Brazil2026-10-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas Q WaycottIndiaOnyama Limba QUALIFIED
Alejandro M BriddickJapanIvan Magalhaes QUALIFIED
Misaki L StensethSpainXuxue Feng PROPOSAL
Alejandro S CaldareraSpainIvan Magalhaes PROPOSAL
Jennifer J KuskoGermanyIoni Bowcher UNQUALIFIED
Leja O FlosiArgentinaAnna Fali PROPOSAL
Morrow I RulapaughSpainStephen Shaw PROPOSAL
Francesco M GarufiIndiaElwin Sharvill NEW
Faith L StensethSpainStephen Shaw NEGOTIATION
Wickens M WaycottBrazilIoni Bowcher RENEWAL
Julie U WaycottJapanAsiya Javayant PROPOSAL
Kaitlin K MacleadIndiaIoni Bowcher RENEWAL
Wickens U ButtArgentinaOnyama Limba QUALIFIED
Maisha V PoquetteGermanyBernardo Dominic QUALIFIED
Aika V MorascaFranceIoni Bowcher PROPOSAL
Ivar X RutaUnited KingdomXuxue Feng QUALIFIED
Francesco W WaycottCanadaStephen Shaw QUALIFIED
Chavez N GauchoItalyIoni Bowcher NEW
Salvatore X WieserItalyOnyama Limba QUALIFIED
Jefferson S OstroskyGermanyIvan Magalhaes UNQUALIFIED
Murillo S CaudyJapanOnyama Limba RENEWAL
Munro X MarrierUnited KingdomAmy Elsner NEGOTIATION
Octavia Q RutaFranceStephen Shaw NEW
Francesco K PaprockiFranceAsiya Javayant PROPOSAL
Jennifer Z InouyeSpainIoni Bowcher NEW
Morrow C OldroydCanadaAnna Fali NEW
Claire Q StensethUnited KingdomAmy Elsner RENEWAL
Misaki B VocelkaUnited KingdomIoni Bowcher QUALIFIED
Stacey Z DarakjyJapanAsiya Javayant QUALIFIED
Francesco B MorascaArgentinaElwin Sharvill UNQUALIFIED
Costa M VocelkaSpainAnna Fali PROPOSAL
Isabel G StockhamRussiaAmy Elsner NEGOTIATION
Claire Y PaprockiItalyAsiya Javayant PROPOSAL
Salvatore C SchemmerUnited KingdomIvan Magalhaes NEGOTIATION
Alejandro K SergiArgentinaOnyama Limba QUALIFIED
Johnson H BowleyItalyStephen Shaw RENEWAL
David A NickaCanadaElwin Sharvill RENEWAL
Greenwood E AlbaresRussiaAnna Fali UNQUALIFIED
Sinclair M GauchoSpainXuxue Feng PROPOSAL
Maria U SlusarskiRussiaIoni Bowcher 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>