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
James P VenereBrazilIvan Magalhaes NEGOTIATION
Maria V FlosiGermanyStephen Shaw RENEWAL
Leja Y AmigonIndiaAsiya Javayant PROPOSAL
Jeanfrancois B StensethFranceAsiya Javayant RENEWAL
Clifford L MaletArgentinaAnna Fali PROPOSAL
Jeanfrancois P FlosiSpainAsiya Javayant RENEWAL
Aruna Y SlusarskiIndiaAmy Elsner PROPOSAL
Chavez V WaycottArgentinaElwin Sharvill PROPOSAL
Tony U MorascaCanadaIoni Bowcher RENEWAL
Murillo J KuskoBrazilElwin Sharvill NEGOTIATION
Morrow L ButtCanadaIvan Magalhaes RENEWAL
Misaki I SchemmerGermanyIoni Bowcher NEW
Murillo Q BriddickAustraliaElwin Sharvill PROPOSAL
Claire F OstroskyAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois V WieserUnited KingdomElwin Sharvill PROPOSAL
Emily Q DilliardItalyStephen Shaw UNQUALIFIED
Silvio P FigeroaFranceStephen Shaw RENEWAL
Nicolas H GauchoRussiaOnyama Limba UNQUALIFIED
Isabel G BowleyFranceOnyama Limba PROPOSAL
Isabel W CaldareraGermanyXuxue Feng PROPOSAL
David W KolmetzArgentinaOnyama Limba PROPOSAL
Octavia B FollerItalyIvan Magalhaes PROPOSAL
Sinclair O InouyeArgentinaAnna Fali QUALIFIED
Deepesh K MorascaItalyOnyama Limba NEGOTIATION
Chavez S FigeroaJapanAnna Fali UNQUALIFIED
Jones O OldroydRussiaIoni Bowcher UNQUALIFIED
Silvio N OldroydGermanyXuxue Feng PROPOSAL
Stacey P CaudyJapanXuxue Feng NEGOTIATION
Silvio C VocelkaIndiaXuxue Feng RENEWAL
Juan P WhobreyIndiaOnyama Limba RENEWAL
Clifford W GillianRussiaOnyama Limba UNQUALIFIED
Cody E AlbaresBrazilIoni Bowcher UNQUALIFIED
Clifford B WaycottItalyIvan Magalhaes QUALIFIED
Silvio U AlbaresSpainIoni Bowcher PROPOSAL
Silvio F ShinkoAustraliaAmy Elsner UNQUALIFIED
Ivar U MaletGermanyOnyama Limba NEGOTIATION
Maria T AlbaresFranceAsiya Javayant NEW
Kadeem M RulapaughAustraliaAsiya Javayant RENEWAL
Cody S FerenczItalyIoni Bowcher NEW
Mujtaba X SlusarskiCanadaStephen Shaw RENEWAL
Octavia Y GauchoUnited KingdomAsiya Javayant NEGOTIATION
Ricardo M WieserBrazilBernardo Dominic PROPOSAL
Murillo A IturbideBrazilIoni Bowcher NEW
Darci F StockhamFranceAsiya Javayant NEW
Cody Q TollnerUnited KingdomOnyama Limba RENEWAL
Cody N DoeUnited KingdomXuxue Feng QUALIFIED
Aruna X WieserIndiaIvan Magalhaes NEW
Claire L SergiSpainElwin Sharvill RENEWAL
Ricardo U ChuiFranceIvan Magalhaes NEGOTIATION
Emily M GauchoRussiaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Tony Q FollerArgentinaIoni Bowcher RENEWAL
Jeanfrancois O FlosiCanadaXuxue Feng QUALIFIED
Kaitlin J CaudyJapanAsiya Javayant NEGOTIATION
Murillo A IturbideGermanyElwin Sharvill RENEWAL
Mujtaba U DilliardItalyElwin Sharvill NEGOTIATION
Kadeem H CampainUnited KingdomAmy Elsner UNQUALIFIED
Munro B GillianArgentinaXuxue Feng NEGOTIATION
Emily X VocelkaIndiaXuxue Feng NEGOTIATION
Nicolas I PoquetteSpainOnyama Limba NEGOTIATION
Jefferson B VocelkaBrazilStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan K FerenczArgentina2026-10-12Chanay, Jeffrey A Esq UNQUALIFIED12Stephen Shaw
1001Ivar B FlosiRussia2026-10-02Truhlar And Truhlar Attys NEGOTIATION92Ioni Bowcher
1002Rodrigues F MorascaCanada2026-10-28Printing Dimensions QUALIFIED77Stephen Shaw
1003Julie P RulapaughIndia2026-10-15Rangoni Of Florence NEGOTIATION73Xuxue Feng
1004Greenwood P DoeArgentina2026-10-04Dorl, James J Esq QUALIFIED67Asiya Javayant
1005Jennifer I OstroskyFrance2026-10-08Rousseaux, Michael Esq RENEWAL91Anna Fali
1006Julie E FigeroaCanada2026-10-28Feiner Bros QUALIFIED92Asiya Javayant
1007Mayumi F PerinJapan2026-10-25Morlong Associates PROPOSAL94Onyama Limba
1008Adams J BowleyAustralia2026-10-27Benton, John B Jr RENEWAL98Anna Fali
1009Wickens S InouyeIndia2026-10-10Chanay, Jeffrey A Esq QUALIFIED23Xuxue Feng
1010Claire I AmigonArgentina2026-10-06King, Christopher A Esq NEGOTIATION64Asiya Javayant
1011Ashley G PaprockiRussia2026-10-19King, Christopher A Esq UNQUALIFIED31Amy Elsner
1012James R NickaIndia2026-10-07Chapman, Ross E Esq NEW10Anna Fali
1013Emily A MorascaCanada2026-10-28Chemel, James L Cpa PROPOSAL78Bernardo Dominic
1014Jefferson E BriddickBrazil2026-10-19Benton, John B Jr RENEWAL41Xuxue Feng
1015Octavia N FollerCanada2026-10-23Benton, John B Jr NEW25Xuxue Feng
1016Salvatore M DarakjyBrazil2026-10-17Chemel, James L Cpa NEW83Anna Fali
1017Arvin Y BriddickIndia2026-10-31Printing Dimensions NEGOTIATION8Ioni Bowcher
1018Maisha Z GillianRussia2026-10-06Chapman, Ross E Esq RENEWAL24Ioni Bowcher
1019Julie A WhobreyItaly2026-10-22Feiner Bros UNQUALIFIED11Xuxue Feng
1020Munro S BologniaItaly2026-10-03Morlong Associates PROPOSAL59Bernardo Dominic
1021Kaitlin E WaycottRussia2026-10-23Dorl, James J Esq UNQUALIFIED66Xuxue Feng
1022Mayumi P SchemmerArgentina2026-10-26Morlong Associates PROPOSAL35Onyama Limba
1023Ivar O AlbaresRussia2026-10-19Benton, John B Jr QUALIFIED54Amy Elsner
1024James O OldroydJapan2026-10-07Chapman, Ross E Esq UNQUALIFIED14Onyama Limba
1025Jennifer Z FlosiItaly2026-10-05Truhlar And Truhlar Attys NEW92Ivan Magalhaes
1026Mujtaba S WhobreyBrazil2026-10-06Feiner Bros QUALIFIED4Elwin Sharvill
1027Jefferson T NickaFrance2026-10-17Rangoni Of Florence QUALIFIED80Amy Elsner
1028Kadeem A InouyeJapan2026-10-30Rousseaux, Michael Esq PROPOSAL67Bernardo Dominic
1029Mayumi J CampainArgentina2026-10-31Chanay, Jeffrey A Esq PROPOSAL94Ivan Magalhaes
1030Chavez V RimAustralia2026-10-23Truhlar And Truhlar Attys PROPOSAL31Ioni Bowcher
1031Ashley V GauchoSpain2026-10-24Dorl, James J Esq QUALIFIED48Asiya Javayant
1032Julie Z GauchoUnited Kingdom2026-10-03Rousseaux, Michael Esq QUALIFIED75Bernardo Dominic
1033Juan I MarrierUnited Kingdom2026-10-26Commercial Press PROPOSAL47Ioni Bowcher
1034Tony T RulapaughGermany2026-10-29Morlong Associates RENEWAL38Ivan Magalhaes
1035Stacey T OldroydArgentina2026-10-29Truhlar And Truhlar Attys RENEWAL58Elwin Sharvill
1036Isabel D MaletUnited Kingdom2026-10-19Morlong Associates PROPOSAL85Elwin Sharvill
1037Murillo P MacleadFrance2026-10-30Rangoni Of Florence NEGOTIATION62Xuxue Feng
1038Cody U InouyeItaly2026-10-21Rousseaux, Michael Esq QUALIFIED66Xuxue Feng
1039Ricardo J FerenczIndia2026-10-19King, Christopher A Esq NEW4Asiya Javayant
1040Ivar Q RutaIndia2026-10-12Printing Dimensions QUALIFIED87Anna Fali
1041Murillo O StockhamBrazil2026-10-30Rousseaux, Michael Esq UNQUALIFIED0Ivan Magalhaes
1042Sinclair J DilliardFrance2026-10-30King, Christopher A Esq QUALIFIED87Ioni Bowcher
1043Francesco R AlbaresItaly2026-10-16Truhlar And Truhlar Attys QUALIFIED33Ioni Bowcher
1044Deepesh Q SlusarskiRussia2026-10-29Feltz Printing Service PROPOSAL64Ivan Magalhaes
1045Stacey L OldroydAustralia2026-10-20Chapman, Ross E Esq UNQUALIFIED96Ivan Magalhaes
1046Stacey Z WhobreyBrazil2026-10-08Printing Dimensions UNQUALIFIED26Bernardo Dominic
1047Munro J SergiFrance2026-10-28Benton, John B Jr RENEWAL64Stephen Shaw
1048Smith H BriddickJapan2026-10-18Buckley Miller Wright NEW77Asiya Javayant
1049Wickens Y RoysterAustralia2026-10-30Chemel, James L Cpa UNQUALIFIED24Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Sinclair E MaletCanadaBernardo Dominic RENEWAL
Arvin Y GarufiAustraliaBernardo Dominic RENEWAL
Wickens G CaudyRussiaElwin Sharvill NEW
Aditya I SchemmerJapanBernardo Dominic NEGOTIATION
Greenwood G MorascaAustraliaIoni Bowcher NEGOTIATION
Alejandro I MaletUnited KingdomStephen Shaw QUALIFIED
Ricardo F RulapaughRussiaAnna Fali NEGOTIATION
Smith Q GarufiJapanAnna Fali PROPOSAL
Ashley Y CaudyArgentinaAmy Elsner NEW
Rodrigues I InouyeJapanIvan Magalhaes RENEWAL
Jeanfrancois L DoeArgentinaAnna Fali UNQUALIFIED
James C WaycottRussiaAsiya Javayant NEW
Izzy G MarrierRussiaOnyama Limba PROPOSAL
Misaki W FerenczAustraliaAmy Elsner UNQUALIFIED
Adams O MacleadArgentinaAsiya Javayant NEGOTIATION
Leja E MaletFranceAnna Fali NEW
Rodrigues R SchemmerRussiaIvan Magalhaes NEGOTIATION
Misaki Y KuskoGermanyStephen Shaw QUALIFIED
Jennifer W ShinkoCanadaIoni Bowcher NEGOTIATION
Jeanfrancois C PerinIndiaIoni Bowcher NEGOTIATION
James C NestleFranceAmy Elsner UNQUALIFIED
Isabel I OldroydAustraliaOnyama Limba QUALIFIED
David R FlosiGermanyBernardo Dominic RENEWAL
Aruna P MacleadAustraliaAnna Fali NEGOTIATION
Aditya V FerenczSpainAnna Fali PROPOSAL
Aditya J VenereSpainXuxue Feng NEGOTIATION
Costa R CampainAustraliaAsiya Javayant NEGOTIATION
Alejandro D SchemmerItalyStephen Shaw PROPOSAL
Arvin H WhobreyRussiaAmy Elsner RENEWAL
Deepesh T InouyeAustraliaBernardo Dominic QUALIFIED
Johnson I BowleyIndiaIvan Magalhaes RENEWAL
Greenwood R OldroydIndiaBernardo Dominic PROPOSAL
Ashley K TollnerIndiaAmy Elsner QUALIFIED
Jones C RimUnited KingdomIoni Bowcher RENEWAL
Maria Z GillianGermanyAsiya Javayant NEW
Ivar N KolmetzBrazilAmy Elsner QUALIFIED
Sinclair V OldroydGermanyElwin Sharvill NEGOTIATION
Munro J AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Clifford D KolmetzUnited KingdomOnyama Limba NEGOTIATION
Chavez B BologniaFranceBernardo Dominic RENEWAL
Aditya L SlusarskiGermanyXuxue Feng NEW
Ashley Z InouyeArgentinaOnyama Limba QUALIFIED
Jefferson F MarrierCanadaIoni Bowcher RENEWAL
Aruna D AmigonSpainIvan Magalhaes NEGOTIATION
Leja E FlosiFranceAmy Elsner NEGOTIATION
Costa Q BriddickCanadaAmy Elsner NEGOTIATION
David E AmigonSpainBernardo Dominic QUALIFIED
Clifford S DarakjyItalyAsiya Javayant QUALIFIED
Leon T SlusarskiBrazilAmy Elsner NEW
Wickens O MaletAustraliaElwin Sharvill RENEWAL
Frozen Columns
Name
Misaki Q Albares
Stacey Q Foller
Aruna I Stockham
Clifford A Perin
Ivar H Albares
Jennifer S Figeroa
Darci X Nicka
Stacey O Campain
Leon P Poquette
Murillo T Shinko
Greenwood G Darakjy
Adams N Vocelka
Leon D Inouye
Smith Y Caldarera
Deepesh U Ruta
James T Paprocki
Nicolas E Bowley
Maisha F Briddick
Munro U Darakjy
Kadeem F Poquette
Isabel K Venere
Ivar B Waycott
Jeanfrancois O Dilliard
Isabel N Waycott
Stacey F Bolognia
Faith J Figeroa
Isabel F Caldarera
Claire V Saylors
Jones B Stockham
Leja T Flosi
Silvio C Whobrey
Rodrigues E Perin
Stacey F Saylors
Maisha D Poquette
Ricardo R Iturbide
Aika Q Morasca
Antonio S Rim
Jennifer F Poquette
Ricardo K Stenseth
Rodrigues L Gillian
Leon Z Tollner
Leon D Iturbide
Octavia S Campain
Kadeem D Malet
Julie R Maclead
Antonio R Shinko
Sinclair E Iturbide
Jones C Morasca
Octavia Q Vocelka
Alejandro R Dilliard
IdCountryDate
1000Japan2026-10-15
1001Russia2026-10-16
1002Japan2026-10-16
1003Brazil2026-10-20
1004India2026-10-23
1005Japan2026-10-17
1006Italy2026-10-02
1007Brazil2026-10-19
1008France2026-10-11
1009Italy2026-10-29
1010France2026-10-19
1011Japan2026-10-15
1012India2026-10-28
1013United Kingdom2026-10-15
1014Italy2026-10-29
1015Brazil2026-10-29
1016Spain2026-10-11
1017Germany2026-10-04
1018Spain2026-10-09
1019Canada2026-10-08
1020India2026-10-04
1021Canada2026-10-24
1022Argentina2026-10-23
1023Italy2026-10-29
1024United Kingdom2026-10-20
1025United Kingdom2026-10-12
1026United Kingdom2026-10-06
1027Italy2026-10-03
1028Argentina2026-10-24
1029Spain2026-10-26
1030Canada2026-10-13
1031Japan2026-10-02
1032Brazil2026-10-05
1033France2026-10-31
1034Italy2026-10-05
1035Australia2026-10-04
1036Russia2026-10-20
1037Spain2026-10-19
1038France2026-10-26
1039France2026-10-07
1040India2026-10-11
1041Japan2026-10-25
1042Russia2026-10-02
1043Italy2026-10-14
1044Russia2026-10-23
1045France2026-10-20
1046Japan2026-10-26
1047Italy2026-10-27
1048Australia2026-10-23
1049India2026-10-14

On-Demand Data

NameIdCountryDate
Maria O Maclead1000Russia2026-10-13
Silvio I Slusarski1001Australia2026-10-18
Julie J Caldarera1002Spain2026-10-30
Claire F Maclead1003Brazil2026-10-23
Faith B Vocelka1004Italy2026-10-29
Ashley N Briddick1005Russia2026-10-22
Kadeem I Malet1006France2026-10-12
Ivar D Glick1007France2026-10-05
Emily I Doe1008Argentina2026-10-15
Munro R Schemmer1009Australia2026-10-10
Darci G Morasca1010Germany2026-10-04
Johnson N Caudy1011Australia2026-10-02
Julie J Ruta1012Germany2026-10-02
Jeanfrancois A Morasca1013Canada2026-10-22
Nicolas B Royster1014India2026-10-24
Emily A Iturbide1015Brazil2026-10-05
Leon S Malet1016Germany2026-10-03
Ivar M Butt1017Brazil2026-10-07
Darci F Iturbide1018France2026-10-11
Rodrigues C Ferencz1019Russia2026-10-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna R WhobreyItalyXuxue Feng PROPOSAL
Alejandro O MacleadBrazilBernardo Dominic UNQUALIFIED
Francesco S MacleadItalyIoni Bowcher QUALIFIED
Faith B SaylorsCanadaAsiya Javayant UNQUALIFIED
Greenwood S PoquetteArgentinaAnna Fali NEGOTIATION
Maisha C DoeRussiaAnna Fali PROPOSAL
Wickens C FerenczUnited KingdomXuxue Feng NEGOTIATION
Sinclair S ButtUnited KingdomAsiya Javayant QUALIFIED
Costa I PaprockiSpainAsiya Javayant PROPOSAL
Silvio X GarufiGermanyAnna Fali NEW
Jeanfrancois F MacleadJapanElwin Sharvill UNQUALIFIED
Morrow O BriddickSpainOnyama Limba UNQUALIFIED
Izzy I OstroskySpainAmy Elsner NEGOTIATION
Costa T FlosiIndiaOnyama Limba PROPOSAL
Maria C ChuiGermanyAnna Fali NEW
Ashley T BowleyArgentinaXuxue Feng QUALIFIED
Mayumi D SchemmerArgentinaBernardo Dominic RENEWAL
Isabel R MacleadAustraliaElwin Sharvill UNQUALIFIED
Jones J OldroydGermanyStephen Shaw NEGOTIATION
Isabel J StensethFranceElwin Sharvill QUALIFIED
Maisha E NestleAustraliaIvan Magalhaes PROPOSAL
Faith M BowleyRussiaAsiya Javayant UNQUALIFIED
Aditya S VocelkaGermanyElwin Sharvill PROPOSAL
Darci K MorascaRussiaStephen Shaw NEW
Clifford S GlickIndiaStephen Shaw NEW
Leon D VenereRussiaOnyama Limba QUALIFIED
Mayumi N GauchoGermanyAnna Fali UNQUALIFIED
Greenwood B GauchoGermanyIvan Magalhaes UNQUALIFIED
Emily U StockhamSpainIvan Magalhaes PROPOSAL
Faith S PerinAustraliaElwin Sharvill PROPOSAL
Smith K RimItalyElwin Sharvill UNQUALIFIED
Izzy G VenereJapanXuxue Feng RENEWAL
Isabel Y OstroskyArgentinaIoni Bowcher UNQUALIFIED
Isabel A CaldareraSpainAmy Elsner PROPOSAL
Misaki K MaletIndiaXuxue Feng UNQUALIFIED
Aika W CaldareraArgentinaAsiya Javayant UNQUALIFIED
Rodrigues T DoeArgentinaXuxue Feng RENEWAL
Maisha I MacleadRussiaAmy Elsner QUALIFIED
David M CaudyItalyXuxue Feng QUALIFIED
Nicolas G RulapaughItalyAsiya Javayant 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>