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
Ricardo H IturbideIndiaIvan Magalhaes PROPOSAL
Aika E ShinkoGermanyAnna Fali QUALIFIED
Antonio G ButtAustraliaIvan Magalhaes QUALIFIED
Leja F AlbaresSpainOnyama Limba PROPOSAL
Emily J CaudyUnited KingdomIoni Bowcher QUALIFIED
Misaki V GarufiFranceBernardo Dominic PROPOSAL
Rodrigues E StockhamIndiaAnna Fali NEGOTIATION
Chavez O MorascaIndiaIvan Magalhaes UNQUALIFIED
Izzy I MarrierRussiaAsiya Javayant QUALIFIED
Nicolas N SaylorsAustraliaStephen Shaw RENEWAL
Tony I InouyeBrazilElwin Sharvill NEW
Arvin V KolmetzRussiaIoni Bowcher RENEWAL
Chavez K RoysterAustraliaOnyama Limba RENEWAL
Aditya U StensethGermanyOnyama Limba QUALIFIED
Francesco G DoeItalyXuxue Feng RENEWAL
Izzy A CaldareraGermanyElwin Sharvill QUALIFIED
Ivar P BriddickFranceBernardo Dominic RENEWAL
Leja A MacleadFranceElwin Sharvill PROPOSAL
Kaitlin M PoquetteIndiaIvan Magalhaes QUALIFIED
Jefferson M TollnerArgentinaAmy Elsner UNQUALIFIED
Aruna B TollnerFranceIoni Bowcher NEGOTIATION
Salvatore O ButtSpainIvan Magalhaes NEGOTIATION
Jennifer E AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Ashley Z CampainFranceAmy Elsner RENEWAL
Maisha A OstroskyArgentinaElwin Sharvill NEW
Costa L KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Arvin L OstroskySpainBernardo Dominic PROPOSAL
Francesco V MarrierFranceBernardo Dominic QUALIFIED
Nicolas B OstroskyJapanOnyama Limba QUALIFIED
David E SergiSpainStephen Shaw QUALIFIED
Munro L ChuiCanadaAsiya Javayant RENEWAL
Mayumi I BriddickIndiaStephen Shaw QUALIFIED
Clifford D DarakjyCanadaIoni Bowcher PROPOSAL
Murillo Z SlusarskiJapanBernardo Dominic QUALIFIED
Rodrigues N ShinkoIndiaAsiya Javayant RENEWAL
Antonio Q AlbaresBrazilStephen Shaw QUALIFIED
Mayumi P TollnerCanadaIoni Bowcher PROPOSAL
Arvin J SergiBrazilAsiya Javayant NEGOTIATION
Ivar G AlbaresSpainIoni Bowcher NEGOTIATION
Salvatore S CaudyBrazilBernardo Dominic PROPOSAL
Stacey S RulapaughFranceAsiya Javayant NEW
Aditya L OstroskyBrazilAmy Elsner NEGOTIATION
Kadeem A PerinFranceAmy Elsner NEGOTIATION
Isabel J CampainBrazilBernardo Dominic NEGOTIATION
Arvin I MorascaBrazilStephen Shaw QUALIFIED
David G DoeSpainAnna Fali PROPOSAL
Jefferson R FlosiSpainIvan Magalhaes RENEWAL
Antonio A PerinIndiaAnna Fali RENEWAL
David N OstroskyIndiaXuxue Feng NEW
Salvatore M GarufiJapanIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore Z BriddickIndiaBernardo Dominic RENEWAL
Misaki T SlusarskiAustraliaIoni Bowcher NEW
Claire Y IturbideGermanyOnyama Limba NEGOTIATION
Antonio M GauchoItalyIoni Bowcher RENEWAL
Claire B NickaItalyOnyama Limba NEW
Darci S KolmetzArgentinaAsiya Javayant NEGOTIATION
Izzy I AmigonGermanyAmy Elsner NEGOTIATION
Faith M GillianGermanyIoni Bowcher QUALIFIED
Izzy G RulapaughGermanyBernardo Dominic NEW
Jefferson H VocelkaIndiaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin Q MarrierUnited Kingdom2026-10-02Chapman, Ross E Esq NEW3Onyama Limba
1001Mayumi O MaletBrazil2026-10-07Buckley Miller Wright UNQUALIFIED16Bernardo Dominic
1002Aika X RoysterGermany2026-10-06Commercial Press UNQUALIFIED6Xuxue Feng
1003Darci D MacleadRussia2026-10-27Rousseaux, Michael Esq QUALIFIED18Anna Fali
1004Costa S DoeSpain2026-10-17Chanay, Jeffrey A Esq NEW41Ivan Magalhaes
1005Adams A NestleIndia2026-10-26King, Christopher A Esq NEGOTIATION29Ivan Magalhaes
1006Smith N IturbideSpain2026-10-19Chemel, James L Cpa UNQUALIFIED14Asiya Javayant
1007Arvin E OstroskyGermany2026-10-29Commercial Press UNQUALIFIED65Ivan Magalhaes
1008Tony K KolmetzFrance2026-10-22Chapman, Ross E Esq RENEWAL24Ioni Bowcher
1009Faith B OldroydSpain2026-10-24Dorl, James J Esq PROPOSAL12Stephen Shaw
1010Ivar N MorascaFrance2026-10-22Rousseaux, Michael Esq NEGOTIATION11Ivan Magalhaes
1011Costa Z ShinkoRussia2026-10-10Printing Dimensions NEW93Ivan Magalhaes
1012Isabel Z MacleadGermany2026-10-14Printing Dimensions NEW8Bernardo Dominic
1013Jefferson A AmigonItaly2026-10-27Rangoni Of Florence PROPOSAL68Anna Fali
1014Greenwood I FollerAustralia2026-10-16Chemel, James L Cpa PROPOSAL58Ioni Bowcher
1015Octavia Q PaprockiAustralia2026-10-31King, Christopher A Esq RENEWAL10Ivan Magalhaes
1016Murillo J BologniaSpain2026-10-10Chanay, Jeffrey A Esq NEGOTIATION58Asiya Javayant
1017Wickens Z NickaGermany2026-10-29Feiner Bros NEW23Amy Elsner
1018Salvatore P GlickUnited Kingdom2026-10-05Rangoni Of Florence QUALIFIED66Elwin Sharvill
1019Francesco Y FerenczJapan2026-10-20Feltz Printing Service PROPOSAL37Ioni Bowcher
1020David O FollerCanada2026-10-17Rousseaux, Michael Esq NEW29Amy Elsner
1021Johnson K RutaFrance2026-10-15Morlong Associates NEGOTIATION26Xuxue Feng
1022Jones C VocelkaBrazil2026-10-19Printing Dimensions QUALIFIED80Bernardo Dominic
1023Mujtaba P OstroskyGermany2026-10-18Chanay, Jeffrey A Esq PROPOSAL88Xuxue Feng
1024Misaki L MacleadJapan2026-10-09Chemel, James L Cpa NEW70Ivan Magalhaes
1025James V FlosiUnited Kingdom2026-10-31Rousseaux, Michael Esq NEGOTIATION31Ioni Bowcher
1026Juan D SlusarskiFrance2026-10-30Chapman, Ross E Esq QUALIFIED89Elwin Sharvill
1027Jefferson O OstroskyBrazil2026-10-13Rousseaux, Michael Esq PROPOSAL38Elwin Sharvill
1028David C PerinUnited Kingdom2026-10-13Truhlar And Truhlar Attys NEGOTIATION78Stephen Shaw
1029Adams X FerenczAustralia2026-10-21Rangoni Of Florence QUALIFIED94Amy Elsner
1030Darci Y PoquetteArgentina2026-10-29Benton, John B Jr NEGOTIATION3Ioni Bowcher
1031Darci R GauchoCanada2026-10-05Benton, John B Jr UNQUALIFIED36Bernardo Dominic
1032Stacey Q GillianFrance2026-10-11Rousseaux, Michael Esq NEGOTIATION4Asiya Javayant
1033Silvio C TollnerItaly2026-10-28Feltz Printing Service NEGOTIATION60Ivan Magalhaes
1034Aruna L AmigonItaly2026-10-20Benton, John B Jr RENEWAL35Asiya Javayant
1035Aruna D StockhamSpain2026-10-30Buckley Miller Wright NEGOTIATION47Stephen Shaw
1036Mayumi A KuskoJapan2026-10-12King, Christopher A Esq RENEWAL32Elwin Sharvill
1037Ashley D FigeroaSpain2026-10-31King, Christopher A Esq PROPOSAL30Ioni Bowcher
1038Alejandro N WieserBrazil2026-10-07Feltz Printing Service NEW70Onyama Limba
1039Adams G DilliardFrance2026-10-06Printing Dimensions UNQUALIFIED7Onyama Limba
1040Juan R OstroskyCanada2026-10-21Feltz Printing Service RENEWAL67Xuxue Feng
1041Izzy V AlbaresSpain2026-10-29Chemel, James L Cpa NEGOTIATION28Xuxue Feng
1042Ashley G MorascaArgentina2026-10-31Dorl, James J Esq UNQUALIFIED40Bernardo Dominic
1043Aruna Q DoeBrazil2026-10-04Dorl, James J Esq NEGOTIATION66Amy Elsner
1044Johnson P FigeroaItaly2026-10-02Rangoni Of Florence NEW93Onyama Limba
1045Leon D VocelkaFrance2026-10-06Chanay, Jeffrey A Esq QUALIFIED22Asiya Javayant
1046Juan Q CaldareraFrance2026-10-16Morlong Associates NEGOTIATION28Bernardo Dominic
1047Aika C NickaUnited Kingdom2026-10-10Morlong Associates QUALIFIED40Amy Elsner
1048Alejandro I ButtFrance2026-10-04Feltz Printing Service PROPOSAL94Xuxue Feng
1049Emily H KuskoAustralia2026-10-11Chemel, James L Cpa UNQUALIFIED84Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Smith W MorascaUnited KingdomElwin Sharvill UNQUALIFIED
James R FigeroaSpainElwin Sharvill PROPOSAL
Ricardo M ShinkoSpainStephen Shaw UNQUALIFIED
Faith V PerinItalyIoni Bowcher UNQUALIFIED
Arvin E WaycottRussiaAmy Elsner UNQUALIFIED
Claire U IturbideAustraliaAmy Elsner PROPOSAL
Munro T NestleFranceAnna Fali NEW
Kadeem E PaprockiIndiaXuxue Feng UNQUALIFIED
Leon N MaletArgentinaIoni Bowcher UNQUALIFIED
Mujtaba E SlusarskiCanadaAmy Elsner RENEWAL
Kadeem G FigeroaAustraliaStephen Shaw RENEWAL
Aika D NickaGermanyAsiya Javayant RENEWAL
Deepesh G RulapaughCanadaAnna Fali NEGOTIATION
Murillo X SaylorsRussiaAnna Fali QUALIFIED
Leon D MacleadRussiaAmy Elsner UNQUALIFIED
Rodrigues U RoysterBrazilAmy Elsner RENEWAL
Antonio K DilliardRussiaBernardo Dominic NEGOTIATION
Misaki T StensethItalyOnyama Limba QUALIFIED
Sinclair L PaprockiUnited KingdomAnna Fali NEW
Julie J NickaFranceOnyama Limba QUALIFIED
Kaitlin S FollerIndiaAmy Elsner NEGOTIATION
Misaki Q ChuiFranceOnyama Limba RENEWAL
Kaitlin N OstroskyAustraliaBernardo Dominic PROPOSAL
Misaki N AmigonGermanyIvan Magalhaes UNQUALIFIED
Aika K GillianGermanyXuxue Feng NEW
Jennifer F WaycottSpainIvan Magalhaes NEW
Cody I RimAustraliaAnna Fali NEW
Salvatore T GauchoJapanAnna Fali PROPOSAL
Deepesh J FigeroaSpainAnna Fali NEW
Jeanfrancois Z MacleadItalyStephen Shaw NEW
Nicolas B RutaFranceAsiya Javayant QUALIFIED
Maisha H GauchoSpainStephen Shaw PROPOSAL
Morrow P OldroydJapanAmy Elsner UNQUALIFIED
Isabel O GauchoRussiaStephen Shaw UNQUALIFIED
Isabel I FerenczFranceAsiya Javayant PROPOSAL
Adams S RoysterCanadaElwin Sharvill UNQUALIFIED
Isabel P CaldareraJapanXuxue Feng NEGOTIATION
Jefferson Q CampainCanadaOnyama Limba PROPOSAL
Kaitlin C VocelkaCanadaStephen Shaw RENEWAL
Misaki R WaycottFranceIoni Bowcher UNQUALIFIED
Kaitlin I RulapaughSpainAsiya Javayant NEGOTIATION
Adams H KolmetzUnited KingdomXuxue Feng QUALIFIED
Darci Y RoysterBrazilXuxue Feng QUALIFIED
Nicolas Q TollnerFranceIvan Magalhaes UNQUALIFIED
Smith Q StensethGermanyOnyama Limba RENEWAL
Nicolas O FollerCanadaIoni Bowcher RENEWAL
Johnson N ButtSpainAmy Elsner RENEWAL
Leja M PoquetteItalyBernardo Dominic PROPOSAL
Morrow M MarrierIndiaBernardo Dominic PROPOSAL
Darci A CampainJapanIvan Magalhaes QUALIFIED
Frozen Columns
Name
David N Albares
Arvin X Dilliard
Darci N Doe
Octavia N Schemmer
Stacey V Rulapaugh
Munro U Chui
Kadeem Q Malet
Morrow P Wieser
Munro Z Oldroyd
Francesco B Bolognia
Ashley Y Morasca
Smith S Nicka
Octavia V Iturbide
Tony K Venere
Rodrigues O Perin
David U Nestle
Morrow F Bolognia
Francesco Z Stockham
Misaki J Whobrey
Octavia C Garufi
Julie G Vocelka
Johnson T Royster
Ivar U Malet
Smith N Shinko
Chavez O Ruta
Stacey H Chui
Jefferson T Wieser
Maisha W Gaucho
Juan C Briddick
Cody F Gillian
Nicolas Y Chui
Juan E Morasca
Rodrigues T Garufi
Francesco K Briddick
Greenwood G Saylors
Ashley E Royster
Julie M Gaucho
Francesco U Doe
Claire U Darakjy
Ashley H Malet
Maisha O Amigon
Izzy B Figeroa
Antonio U Saylors
Jeanfrancois Q Amigon
Silvio C Ruta
Salvatore D Caldarera
James C Morasca
Nicolas T Perin
Morrow S Stockham
Maisha G Malet
IdCountryDate
1000Canada2026-10-05
1001Spain2026-10-18
1002Argentina2026-10-08
1003Germany2026-10-16
1004Spain2026-10-30
1005France2026-10-07
1006Canada2026-10-30
1007India2026-10-26
1008Spain2026-10-09
1009Australia2026-10-31
1010India2026-10-10
1011Italy2026-10-15
1012Brazil2026-10-22
1013Brazil2026-10-15
1014Germany2026-10-28
1015Australia2026-10-15
1016Canada2026-10-14
1017Russia2026-10-21
1018Germany2026-10-30
1019India2026-10-26
1020Japan2026-10-05
1021Germany2026-10-14
1022Germany2026-10-15
1023France2026-10-25
1024Spain2026-10-31
1025Russia2026-10-29
1026Australia2026-10-05
1027Australia2026-10-31
1028Russia2026-10-13
1029France2026-10-07
1030Japan2026-10-22
1031Germany2026-10-12
1032Japan2026-10-22
1033France2026-10-23
1034Japan2026-10-08
1035France2026-10-26
1036Brazil2026-10-27
1037Brazil2026-10-30
1038Spain2026-10-24
1039United Kingdom2026-10-05
1040Germany2026-10-15
1041Australia2026-10-26
1042Russia2026-10-08
1043Japan2026-10-03
1044Italy2026-10-02
1045United Kingdom2026-10-14
1046France2026-10-22
1047Russia2026-10-25
1048India2026-10-12
1049United Kingdom2026-10-26

On-Demand Data

NameIdCountryDate
Aika I Malet1000Australia2026-10-07
Deepesh S Vocelka1001Argentina2026-10-04
Morrow E Dilliard1002France2026-10-29
Murillo W Malet1003Japan2026-10-22
Aruna N Perin1004Germany2026-10-25
Silvio H Dilliard1005Russia2026-10-21
Cody O Flosi1006Germany2026-10-23
Wickens W Amigon1007Japan2026-10-06
Deepesh W Malet1008India2026-10-24
Darci B Wieser1009United Kingdom2026-10-27
Ashley K Amigon1010India2026-10-21
Costa V Bolognia1011Japan2026-10-12
Greenwood R Morasca1012Spain2026-10-25
Adams Y Briddick1013Italy2026-10-02
Faith R Bowley1014Canada2026-10-11
Jeanfrancois D Sergi1015Brazil2026-10-06
Sinclair L Oldroyd1016Canada2026-10-24
Aika R Rulapaugh1017Canada2026-10-18
Rodrigues W Perin1018Japan2026-10-10
Julie A Marrier1019France2026-10-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson F GauchoBrazilIvan Magalhaes RENEWAL
Leja L CaudyCanadaIvan Magalhaes UNQUALIFIED
Salvatore K StensethAustraliaStephen Shaw RENEWAL
Salvatore G RulapaughAustraliaOnyama Limba QUALIFIED
Isabel Y MarrierItalyStephen Shaw NEW
Octavia L WieserIndiaAnna Fali UNQUALIFIED
Stacey K WieserItalyIoni Bowcher PROPOSAL
David T MacleadIndiaOnyama Limba NEW
Julie Y DoeItalyAsiya Javayant QUALIFIED
Clifford S FlosiCanadaBernardo Dominic QUALIFIED
David K FollerFranceXuxue Feng NEW
Mujtaba K WaycottGermanyStephen Shaw NEGOTIATION
Maisha U BologniaBrazilElwin Sharvill QUALIFIED
Julie T MaletSpainAsiya Javayant RENEWAL
Cody Y ButtGermanyAmy Elsner PROPOSAL
Jeanfrancois D OstroskyBrazilAmy Elsner RENEWAL
Nicolas O MarrierGermanyIvan Magalhaes NEGOTIATION
Misaki G StensethFranceStephen Shaw UNQUALIFIED
Chavez O VenereArgentinaAnna Fali RENEWAL
Mujtaba S AlbaresItalyIvan Magalhaes QUALIFIED
Smith E BologniaFranceAnna Fali PROPOSAL
Jeanfrancois E MarrierIndiaAmy Elsner NEGOTIATION
Costa W GauchoJapanOnyama Limba UNQUALIFIED
Rodrigues S PaprockiItalyXuxue Feng NEW
Tony N WieserFranceAnna Fali NEGOTIATION
Ivar E PerinAustraliaIoni Bowcher PROPOSAL
Arvin G ChuiIndiaBernardo Dominic PROPOSAL
Jefferson L OstroskyItalyXuxue Feng UNQUALIFIED
Jeanfrancois N CaldareraIndiaIvan Magalhaes NEW
Rodrigues Q StensethGermanyOnyama Limba NEGOTIATION
Isabel B SaylorsBrazilAnna Fali PROPOSAL
Juan C BowleyItalyXuxue Feng PROPOSAL
Deepesh H RulapaughBrazilIvan Magalhaes NEW
Smith R KolmetzIndiaAsiya Javayant UNQUALIFIED
Misaki S RoysterUnited KingdomIoni Bowcher RENEWAL
Aditya Y PaprockiJapanIoni Bowcher RENEWAL
Juan C AlbaresRussiaAsiya Javayant NEGOTIATION
Rodrigues K SlusarskiFranceBernardo Dominic RENEWAL
Ricardo S RutaAustraliaBernardo Dominic NEGOTIATION
Leja Q PerinArgentinaAsiya Javayant RENEWAL

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