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
Alejandro Q MarrierCanadaOnyama Limba NEW
Alejandro W CaldareraUnited KingdomAnna Fali RENEWAL
Isabel N FerenczUnited KingdomStephen Shaw RENEWAL
Munro L MarrierBrazilAmy Elsner PROPOSAL
Aditya K PaprockiRussiaBernardo Dominic NEGOTIATION
Munro B SergiJapanAsiya Javayant QUALIFIED
James K DoeGermanyOnyama Limba RENEWAL
Izzy S VenereAustraliaAmy Elsner NEGOTIATION
Isabel P WhobreyBrazilIvan Magalhaes RENEWAL
Octavia O BriddickItalyAsiya Javayant UNQUALIFIED
Mujtaba K GlickIndiaElwin Sharvill UNQUALIFIED
Munro E NickaGermanyBernardo Dominic NEGOTIATION
Clifford K MorascaUnited KingdomStephen Shaw PROPOSAL
Misaki C VocelkaFranceAmy Elsner RENEWAL
Clifford Z BologniaItalyBernardo Dominic QUALIFIED
Cody A BologniaJapanBernardo Dominic UNQUALIFIED
Morrow J KolmetzFranceElwin Sharvill NEGOTIATION
Juan G WieserArgentinaAsiya Javayant RENEWAL
Salvatore C VenereArgentinaStephen Shaw UNQUALIFIED
Ashley W StockhamItalyIvan Magalhaes NEW
Wickens S SlusarskiIndiaIvan Magalhaes NEW
Ashley Q NickaSpainOnyama Limba RENEWAL
Aika P SergiItalyAnna Fali NEW
Julie E PerinItalyIvan Magalhaes QUALIFIED
Smith Q MaletCanadaStephen Shaw RENEWAL
Ricardo B KuskoBrazilAmy Elsner PROPOSAL
Kadeem D MaletArgentinaBernardo Dominic RENEWAL
James W DarakjySpainIvan Magalhaes RENEWAL
Aditya N MacleadAustraliaAsiya Javayant RENEWAL
Mujtaba Z MaletGermanyXuxue Feng QUALIFIED
Darci M BologniaItalyElwin Sharvill PROPOSAL
Maisha B BowleyIndiaAsiya Javayant PROPOSAL
Leja F FollerBrazilIoni Bowcher QUALIFIED
Clifford H RulapaughSpainXuxue Feng PROPOSAL
Costa L MaletCanadaOnyama Limba RENEWAL
Costa J KolmetzJapanIoni Bowcher NEGOTIATION
Clifford X MarrierArgentinaStephen Shaw NEGOTIATION
Juan I KuskoIndiaAnna Fali QUALIFIED
Mayumi M FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas B KuskoRussiaOnyama Limba UNQUALIFIED
Rodrigues M StockhamBrazilStephen Shaw NEW
Antonio V BologniaJapanAmy Elsner NEGOTIATION
Rodrigues Q IturbideAustraliaAsiya Javayant RENEWAL
Mujtaba M FerenczIndiaIvan Magalhaes QUALIFIED
Aditya P GauchoAustraliaStephen Shaw QUALIFIED
Greenwood R OstroskyJapanIvan Magalhaes PROPOSAL
Claire T AlbaresAustraliaAsiya Javayant NEGOTIATION
Rodrigues K BowleySpainElwin Sharvill NEGOTIATION
Murillo M FollerArgentinaIoni Bowcher UNQUALIFIED
Aditya R FerenczGermanyIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois V BologniaFranceOnyama Limba PROPOSAL
Murillo N OldroydArgentinaStephen Shaw NEGOTIATION
Alejandro G KolmetzItalyIoni Bowcher UNQUALIFIED
Jeanfrancois W RoysterBrazilAmy Elsner QUALIFIED
Darci C GarufiAustraliaElwin Sharvill UNQUALIFIED
Claire E VocelkaArgentinaBernardo Dominic QUALIFIED
Clifford M PaprockiGermanyAmy Elsner NEGOTIATION
Alejandro W RimUnited KingdomXuxue Feng QUALIFIED
Kaitlin C GillianBrazilAsiya Javayant RENEWAL
Misaki J DoeBrazilBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith B StockhamArgentina2026-09-08Buckley Miller Wright PROPOSAL18Onyama Limba
1001James A CampainCanada2026-09-07Rangoni Of Florence RENEWAL29Stephen Shaw
1002Murillo H AlbaresIndia2026-08-31Printing Dimensions NEW79Ivan Magalhaes
1003Claire D WieserJapan2026-09-13Buckley Miller Wright RENEWAL53Asiya Javayant
1004Murillo V ButtIndia2026-09-12Rangoni Of Florence NEGOTIATION78Elwin Sharvill
1005Misaki A MorascaRussia2026-09-25Commercial Press UNQUALIFIED22Elwin Sharvill
1006Julie N ShinkoArgentina2026-09-11Rousseaux, Michael Esq QUALIFIED22Xuxue Feng
1007Mayumi T SlusarskiArgentina2026-09-24Chapman, Ross E Esq RENEWAL22Stephen Shaw
1008Sinclair B GarufiItaly2026-09-25Commercial Press NEW11Bernardo Dominic
1009Francesco E GillianItaly2026-09-01Chemel, James L Cpa QUALIFIED87Asiya Javayant
1010Maria R DoeArgentina2026-09-11Feiner Bros QUALIFIED76Elwin Sharvill
1011Alejandro M CaudyBrazil2026-09-12Chapman, Ross E Esq RENEWAL73Bernardo Dominic
1012Claire I SchemmerRussia2026-09-17Chapman, Ross E Esq PROPOSAL96Xuxue Feng
1013Salvatore J MaletArgentina2026-09-15Chanay, Jeffrey A Esq QUALIFIED72Anna Fali
1014Isabel X RoysterItaly2026-08-30Feltz Printing Service NEW15Ivan Magalhaes
1015Johnson S GlickCanada2026-09-16Chapman, Ross E Esq RENEWAL15Xuxue Feng
1016Deepesh I SergiArgentina2026-09-22King, Christopher A Esq RENEWAL22Bernardo Dominic
1017Aika T MaletJapan2026-09-10Rousseaux, Michael Esq RENEWAL48Elwin Sharvill
1018Octavia P SchemmerBrazil2026-09-04Feiner Bros QUALIFIED27Elwin Sharvill
1019Costa Q InouyeSpain2026-09-18Feiner Bros PROPOSAL73Asiya Javayant
1020Morrow B BriddickAustralia2026-09-10Chemel, James L Cpa NEGOTIATION16Anna Fali
1021Jeanfrancois L GillianAustralia2026-09-01Chapman, Ross E Esq NEW15Asiya Javayant
1022Ivar A SaylorsSpain2026-09-11Dorl, James J Esq PROPOSAL17Onyama Limba
1023Morrow R FollerFrance2026-08-29Feiner Bros RENEWAL19Asiya Javayant
1024Kadeem G WaycottJapan2026-09-14Morlong Associates NEGOTIATION20Ioni Bowcher
1025Isabel C MaletArgentina2026-09-15Feiner Bros UNQUALIFIED89Elwin Sharvill
1026Izzy J ShinkoRussia2026-09-20Rousseaux, Michael Esq NEW96Xuxue Feng
1027Johnson U BriddickFrance2026-09-20Printing Dimensions NEW61Asiya Javayant
1028Smith N MaletSpain2026-09-01Rousseaux, Michael Esq PROPOSAL62Asiya Javayant
1029David P ButtUnited Kingdom2026-08-29Rangoni Of Florence UNQUALIFIED46Ivan Magalhaes
1030Munro Q GlickRussia2026-09-11Truhlar And Truhlar Attys UNQUALIFIED1Ivan Magalhaes
1031Adams O SlusarskiArgentina2026-08-31Feltz Printing Service NEGOTIATION44Asiya Javayant
1032Ivar A NickaJapan2026-09-16Dorl, James J Esq NEGOTIATION14Onyama Limba
1033Aditya U ChuiRussia2026-09-08Chemel, James L Cpa NEGOTIATION8Amy Elsner
1034Jennifer K MaletFrance2026-09-23Chemel, James L Cpa UNQUALIFIED53Elwin Sharvill
1035Stacey G KolmetzJapan2026-09-22King, Christopher A Esq RENEWAL18Anna Fali
1036Tony F BriddickCanada2026-09-27Buckley Miller Wright UNQUALIFIED92Onyama Limba
1037Mayumi S MarrierSpain2026-09-09Commercial Press NEW73Anna Fali
1038Darci M MacleadArgentina2026-09-27Dorl, James J Esq QUALIFIED74Xuxue Feng
1039David U WaycottUnited Kingdom2026-09-11Printing Dimensions PROPOSAL19Elwin Sharvill
1040Cody X FerenczUnited Kingdom2026-09-23Commercial Press RENEWAL81Amy Elsner
1041Kadeem V PerinArgentina2026-08-31Benton, John B Jr NEW73Ivan Magalhaes
1042Leja J OldroydSpain2026-08-31King, Christopher A Esq NEW97Onyama Limba
1043Johnson N OldroydBrazil2026-09-04Feiner Bros UNQUALIFIED13Ivan Magalhaes
1044Cody U OstroskyRussia2026-09-09Rangoni Of Florence NEW43Amy Elsner
1045Misaki V SchemmerJapan2026-09-10King, Christopher A Esq QUALIFIED82Amy Elsner
1046Chavez Y PaprockiIndia2026-09-02Chapman, Ross E Esq PROPOSAL83Onyama Limba
1047Maria N CaldareraFrance2026-09-17Morlong Associates UNQUALIFIED56Bernardo Dominic
1048Misaki R SlusarskiArgentina2026-09-16Chemel, James L Cpa NEW32Asiya Javayant
1049Maisha U WieserAustralia2026-09-20Feiner Bros PROPOSAL63Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Mayumi A BologniaFranceElwin Sharvill PROPOSAL
Arvin C FlosiAustraliaOnyama Limba PROPOSAL
Misaki U CaldareraArgentinaIvan Magalhaes QUALIFIED
Chavez F CaldareraArgentinaAsiya Javayant UNQUALIFIED
Johnson V MaletJapanAsiya Javayant NEGOTIATION
Kadeem I DarakjyGermanyIvan Magalhaes NEGOTIATION
James V FlosiGermanyXuxue Feng QUALIFIED
Silvio U MaletRussiaAnna Fali QUALIFIED
Wickens D RoysterItalyOnyama Limba PROPOSAL
Ivar S CaudyGermanyBernardo Dominic PROPOSAL
Misaki J AlbaresFranceBernardo Dominic NEGOTIATION
Kaitlin V MaletJapanXuxue Feng PROPOSAL
Jennifer U MorascaUnited KingdomOnyama Limba NEW
Antonio G RutaSpainAmy Elsner RENEWAL
Aditya G FerenczJapanOnyama Limba QUALIFIED
Octavia Q CaudyIndiaOnyama Limba RENEWAL
Leja Y RoysterAustraliaXuxue Feng RENEWAL
Ashley R KolmetzFranceIvan Magalhaes NEGOTIATION
Kadeem P VenereArgentinaAsiya Javayant RENEWAL
Greenwood R WieserItalyIoni Bowcher UNQUALIFIED
Octavia X WhobreyArgentinaStephen Shaw QUALIFIED
Leon U WhobreyBrazilAmy Elsner NEGOTIATION
Johnson M RulapaughBrazilStephen Shaw RENEWAL
Johnson Y BologniaGermanyIvan Magalhaes NEW
Aruna W SaylorsJapanStephen Shaw RENEWAL
Leon I FerenczGermanyElwin Sharvill QUALIFIED
Kaitlin K MorascaFranceAmy Elsner UNQUALIFIED
Jennifer X SergiAustraliaAsiya Javayant QUALIFIED
Tony K GarufiAustraliaAsiya Javayant NEGOTIATION
Ashley Q CaudyArgentinaIvan Magalhaes QUALIFIED
Darci J GauchoJapanElwin Sharvill NEW
Murillo I ChuiCanadaAsiya Javayant NEW
Francesco H MaletUnited KingdomElwin Sharvill NEGOTIATION
Mujtaba A PoquetteGermanyAmy Elsner UNQUALIFIED
Costa K FerenczAustraliaBernardo Dominic NEGOTIATION
Deepesh D CaudyFranceIvan Magalhaes QUALIFIED
Alejandro T RimAustraliaXuxue Feng PROPOSAL
Smith D CampainItalyBernardo Dominic QUALIFIED
Silvio R BriddickGermanyBernardo Dominic RENEWAL
Adams V PoquetteGermanyIoni Bowcher NEW
Nicolas P SchemmerItalyAmy Elsner NEW
Mujtaba Z AmigonGermanyXuxue Feng NEGOTIATION
Antonio M VocelkaBrazilBernardo Dominic PROPOSAL
Kadeem U BologniaItalyXuxue Feng UNQUALIFIED
Ricardo W MaletJapanAnna Fali UNQUALIFIED
Costa R InouyeCanadaAnna Fali NEGOTIATION
Adams Q DoeRussiaStephen Shaw RENEWAL
David D CampainGermanyAsiya Javayant UNQUALIFIED
Maria H ShinkoAustraliaIvan Magalhaes RENEWAL
Aruna F BologniaAustraliaIoni Bowcher NEW
Frozen Columns
Name
Cody C Whobrey
Tony D Nicka
Adams Y Nestle
Nicolas U Bolognia
Antonio W Morasca
Kadeem G Dilliard
Kadeem K Caldarera
Silvio I Marrier
Arvin P Nestle
Faith A Tollner
Jeanfrancois R Wieser
Salvatore X Figeroa
Nicolas P Garufi
Mayumi L Venere
Leja Z Schemmer
Darci H Dilliard
Kadeem Z Kusko
Antonio H Wieser
Adams M Inouye
Chavez N Rim
Jeanfrancois R Stockham
Clifford O Gaucho
Tony A Malet
Morrow I Campain
Cody M Ruta
Faith I Albares
Izzy G Marrier
Juan P Glick
Johnson R Oldroyd
Octavia F Nestle
Leon M Shinko
Deepesh S Bowley
Jones P Ostrosky
Sinclair Q Waycott
Jennifer J Kolmetz
Antonio L Gillian
Darci F Briddick
Smith Y Poquette
Mujtaba J Wieser
Misaki D Shinko
Darci E Ruta
Francesco D Sergi
Kadeem N Glick
Nicolas X Amigon
Faith E Rulapaugh
Kaitlin J Briddick
Julie O Kusko
Morrow M Briddick
Antonio M Albares
Aditya I Doe
IdCountryDate
1000Germany2026-09-22
1001Spain2026-09-06
1002Argentina2026-09-03
1003Russia2026-09-19
1004Italy2026-09-04
1005Australia2026-09-15
1006France2026-09-04
1007Canada2026-08-29
1008United Kingdom2026-09-19
1009Spain2026-09-24
1010Japan2026-09-09
1011India2026-09-27
1012Canada2026-09-07
1013Brazil2026-09-24
1014Canada2026-09-21
1015Russia2026-08-30
1016India2026-09-26
1017France2026-09-14
1018Germany2026-09-07
1019Germany2026-09-03
1020United Kingdom2026-09-21
1021France2026-09-18
1022United Kingdom2026-09-22
1023India2026-09-11
1024Germany2026-09-11
1025Japan2026-09-18
1026United Kingdom2026-09-18
1027Brazil2026-09-07
1028France2026-09-05
1029Italy2026-09-13
1030Australia2026-09-21
1031United Kingdom2026-09-16
1032Australia2026-09-08
1033United Kingdom2026-09-02
1034Italy2026-09-23
1035Germany2026-08-30
1036Spain2026-09-18
1037Brazil2026-09-26
1038Spain2026-09-16
1039Canada2026-09-06
1040Italy2026-09-09
1041Japan2026-09-22
1042Canada2026-08-31
1043United Kingdom2026-09-09
1044Argentina2026-09-19
1045Argentina2026-09-18
1046Argentina2026-09-17
1047Spain2026-09-27
1048France2026-09-17
1049Brazil2026-09-11

On-Demand Data

NameIdCountryDate
Jeanfrancois J Flosi1000Canada2026-09-26
Jeanfrancois M Morasca1001Canada2026-09-21
Salvatore L Saylors1002Spain2026-08-30
Aika A Bowley1003Australia2026-09-15
Jennifer L Gaucho1004Spain2026-09-27
Chavez Y Whobrey1005India2026-09-16
Juan F Chui1006Russia2026-09-19
Johnson A Iturbide1007Brazil2026-09-21
David C Glick1008Canada2026-09-13
Aika D Tollner1009Brazil2026-09-24
Juan Q Inouye1010Australia2026-09-11
Leon W Bolognia1011Brazil2026-09-25
David W Morasca1012Australia2026-09-07
Claire F Malet1013France2026-09-06
Octavia T Albares1014India2026-09-11
Mayumi B Maclead1015Australia2026-09-08
Izzy K Venere1016United Kingdom2026-09-08
Jefferson Y Garufi1017India2026-09-26
Kadeem Z Caldarera1018Brazil2026-09-17
Claire N Albares1019India2026-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy O CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Leon Y MaletFranceBernardo Dominic QUALIFIED
Jefferson C WaycottUnited KingdomElwin Sharvill NEW
Ashley C WhobreyBrazilIvan Magalhaes QUALIFIED
Nicolas W BriddickSpainBernardo Dominic RENEWAL
Jennifer Q OstroskyGermanyAsiya Javayant QUALIFIED
Juan W MaletArgentinaElwin Sharvill NEGOTIATION
Arvin P GlickRussiaElwin Sharvill NEGOTIATION
Ivar B BriddickIndiaXuxue Feng NEGOTIATION
Jeanfrancois J RutaArgentinaIvan Magalhaes NEW
Isabel E DoeGermanyIvan Magalhaes RENEWAL
Darci W AlbaresAustraliaBernardo Dominic NEGOTIATION
Stacey P MaletItalyOnyama Limba NEW
Darci F PaprockiJapanStephen Shaw RENEWAL
Octavia A BriddickRussiaStephen Shaw PROPOSAL
Aika I GillianGermanyAsiya Javayant PROPOSAL
Johnson N FerenczJapanElwin Sharvill NEGOTIATION
Julie W SaylorsSpainIvan Magalhaes UNQUALIFIED
Ashley V GillianRussiaXuxue Feng PROPOSAL
Greenwood V MacleadSpainXuxue Feng NEGOTIATION
Aruna V KuskoArgentinaIoni Bowcher QUALIFIED
Isabel G SlusarskiArgentinaIvan Magalhaes NEGOTIATION
Tony J TollnerIndiaIvan Magalhaes QUALIFIED
Jeanfrancois H RoysterBrazilXuxue Feng QUALIFIED
Tony T ButtIndiaBernardo Dominic NEGOTIATION
Claire G GarufiAustraliaAsiya Javayant NEGOTIATION
James L WieserItalyAmy Elsner UNQUALIFIED
Jennifer H DarakjyJapanBernardo Dominic QUALIFIED
Tony V CampainIndiaStephen Shaw PROPOSAL
Maisha M GauchoUnited KingdomStephen Shaw RENEWAL
Munro S DilliardArgentinaElwin Sharvill PROPOSAL
Aruna F InouyeRussiaXuxue Feng NEGOTIATION
Munro A WhobreyFranceStephen Shaw PROPOSAL
Salvatore C FigeroaSpainElwin Sharvill UNQUALIFIED
Munro F VocelkaAustraliaElwin Sharvill QUALIFIED
Smith L VocelkaArgentinaIvan Magalhaes QUALIFIED
Mayumi B KolmetzAustraliaIoni Bowcher UNQUALIFIED
Ivar L IturbideArgentinaAnna Fali QUALIFIED
Tony L OstroskyJapanIoni Bowcher UNQUALIFIED
David B BologniaCanadaAsiya Javayant NEW

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