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
Leja J KolmetzUnited KingdomBernardo Dominic RENEWAL
Wickens X ChuiBrazilStephen Shaw UNQUALIFIED
Antonio B FollerIndiaAnna Fali QUALIFIED
Sinclair X MaletCanadaStephen Shaw UNQUALIFIED
Johnson M NestleIndiaIoni Bowcher NEW
Leon T RimJapanElwin Sharvill QUALIFIED
Julie B BriddickItalyXuxue Feng QUALIFIED
Costa C NestleSpainOnyama Limba UNQUALIFIED
Maisha E StockhamBrazilAmy Elsner NEW
Ivar I VocelkaSpainAnna Fali QUALIFIED
Silvio X DarakjySpainElwin Sharvill QUALIFIED
Sinclair R StensethSpainElwin Sharvill UNQUALIFIED
Salvatore Q WhobreyRussiaAmy Elsner UNQUALIFIED
Francesco F MacleadFranceElwin Sharvill NEGOTIATION
Isabel K ButtBrazilOnyama Limba RENEWAL
Rodrigues V ShinkoJapanXuxue Feng NEGOTIATION
Salvatore D MorascaJapanAnna Fali QUALIFIED
Maria F FollerItalyStephen Shaw UNQUALIFIED
Leja G SlusarskiUnited KingdomXuxue Feng RENEWAL
Mayumi B SaylorsSpainBernardo Dominic QUALIFIED
Jennifer Z FollerArgentinaXuxue Feng RENEWAL
Ashley J CaudyRussiaAsiya Javayant NEGOTIATION
Tony F NestleItalyIoni Bowcher UNQUALIFIED
Nicolas D VocelkaItalyOnyama Limba NEGOTIATION
Wickens P FlosiAustraliaXuxue Feng RENEWAL
Mujtaba N GarufiSpainAnna Fali PROPOSAL
Clifford D MorascaFranceIoni Bowcher RENEWAL
Silvio D PoquetteRussiaAnna Fali UNQUALIFIED
Darci H KuskoSpainIoni Bowcher NEGOTIATION
Clifford N GarufiSpainOnyama Limba PROPOSAL
Isabel A MacleadItalyAmy Elsner QUALIFIED
Ricardo X FigeroaCanadaBernardo Dominic RENEWAL
Salvatore L BowleyJapanElwin Sharvill QUALIFIED
Misaki O OldroydBrazilOnyama Limba PROPOSAL
Ricardo P CampainSpainAmy Elsner PROPOSAL
Francesco N StensethBrazilIoni Bowcher PROPOSAL
Morrow O GlickSpainIoni Bowcher NEGOTIATION
Mujtaba F MaletGermanyStephen Shaw RENEWAL
Maria G VenereFranceAmy Elsner QUALIFIED
Adams A SlusarskiRussiaIvan Magalhaes QUALIFIED
Francesco U PaprockiFranceOnyama Limba PROPOSAL
Mayumi X MacleadGermanyXuxue Feng NEGOTIATION
Juan S NickaCanadaXuxue Feng NEW
Ashley Z GauchoFranceAnna Fali RENEWAL
Antonio R BowleyBrazilAnna Fali PROPOSAL
Octavia O InouyeFranceXuxue Feng PROPOSAL
Maria Q MaletCanadaBernardo Dominic UNQUALIFIED
Ivar V OstroskyItalyStephen Shaw RENEWAL
Maisha Z BologniaIndiaAsiya Javayant QUALIFIED
Johnson I SchemmerItalyXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ashley V CaldareraBrazilAmy Elsner RENEWAL
Leja P FlosiAustraliaXuxue Feng UNQUALIFIED
Leja W AmigonGermanyIoni Bowcher UNQUALIFIED
Francesco H FigeroaIndiaAmy Elsner UNQUALIFIED
Sinclair A IturbideCanadaAsiya Javayant QUALIFIED
Tony C DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Ashley W CaldareraFranceOnyama Limba NEW
Cody K InouyeRussiaIvan Magalhaes NEGOTIATION
Maisha X RoysterCanadaIvan Magalhaes NEW
Tony V FlosiArgentinaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio G NestleRussia2026-11-11Commercial Press QUALIFIED78Ioni Bowcher
1001Stacey Y SaylorsArgentina2026-11-04Benton, John B Jr NEW71Anna Fali
1002Juan W RimAustralia2026-10-20Rousseaux, Michael Esq NEGOTIATION73Ioni Bowcher
1003Izzy D BriddickAustralia2026-10-20Truhlar And Truhlar Attys RENEWAL25Asiya Javayant
1004Salvatore Y SergiAustralia2026-10-16Printing Dimensions PROPOSAL62Bernardo Dominic
1005Leja G BowleyArgentina2026-10-28Benton, John B Jr RENEWAL17Elwin Sharvill
1006Tony V FollerUnited Kingdom2026-10-20Chemel, James L Cpa NEGOTIATION99Ivan Magalhaes
1007Costa D OldroydIndia2026-10-16Rousseaux, Michael Esq UNQUALIFIED89Ivan Magalhaes
1008Misaki O OldroydSpain2026-10-17Rangoni Of Florence RENEWAL18Asiya Javayant
1009Greenwood A MarrierAustralia2026-11-04Printing Dimensions PROPOSAL67Ivan Magalhaes
1010Chavez Z GauchoRussia2026-11-10Chanay, Jeffrey A Esq RENEWAL46Asiya Javayant
1011Emily U MorascaAustralia2026-11-01Printing Dimensions QUALIFIED25Onyama Limba
1012Maisha W ButtGermany2026-10-21Commercial Press PROPOSAL14Asiya Javayant
1013Stacey I RulapaughIndia2026-10-28Printing Dimensions NEGOTIATION48Xuxue Feng
1014Alejandro O GlickGermany2026-11-09Dorl, James J Esq PROPOSAL0Amy Elsner
1015Maria I RoysterAustralia2026-10-27Chemel, James L Cpa UNQUALIFIED95Asiya Javayant
1016Chavez J RimRussia2026-10-21Feiner Bros NEGOTIATION83Stephen Shaw
1017Costa I AlbaresAustralia2026-10-29King, Christopher A Esq QUALIFIED35Bernardo Dominic
1018Ivar Q InouyeUnited Kingdom2026-11-13Truhlar And Truhlar Attys UNQUALIFIED20Bernardo Dominic
1019Sinclair B InouyeItaly2026-11-04Chapman, Ross E Esq PROPOSAL30Xuxue Feng
1020Morrow E DilliardCanada2026-11-01Morlong Associates QUALIFIED44Elwin Sharvill
1021Antonio X CaudyArgentina2026-11-10Chapman, Ross E Esq NEW25Xuxue Feng
1022James F SaylorsArgentina2026-10-24Benton, John B Jr PROPOSAL67Bernardo Dominic
1023Clifford Y KolmetzIndia2026-11-02Truhlar And Truhlar Attys UNQUALIFIED37Anna Fali
1024Mayumi J GauchoGermany2026-11-11Feiner Bros NEGOTIATION83Xuxue Feng
1025Izzy I PaprockiAustralia2026-11-07Feiner Bros RENEWAL28Ioni Bowcher
1026Clifford F OstroskyRussia2026-11-12Benton, John B Jr UNQUALIFIED47Bernardo Dominic
1027Mayumi U BriddickRussia2026-11-06Commercial Press NEW49Xuxue Feng
1028Cody Z GlickItaly2026-11-11Commercial Press QUALIFIED99Xuxue Feng
1029Faith F MarrierGermany2026-11-08Rangoni Of Florence UNQUALIFIED84Ivan Magalhaes
1030Adams B PoquetteArgentina2026-10-30Truhlar And Truhlar Attys QUALIFIED33Ioni Bowcher
1031Izzy A SchemmerFrance2026-11-03Rangoni Of Florence NEGOTIATION56Stephen Shaw
1032David V OldroydSpain2026-11-08Rousseaux, Michael Esq NEW35Onyama Limba
1033Maisha F NickaRussia2026-10-24Morlong Associates UNQUALIFIED93Onyama Limba
1034Tony E MarrierItaly2026-10-23Rangoni Of Florence UNQUALIFIED93Anna Fali
1035Misaki F GillianSpain2026-11-12Benton, John B Jr NEW49Amy Elsner
1036Cody Y InouyeIndia2026-10-15Benton, John B Jr NEGOTIATION38Ivan Magalhaes
1037Maria L MaletCanada2026-11-11Rangoni Of Florence UNQUALIFIED49Bernardo Dominic
1038Aditya X FigeroaJapan2026-10-21Chemel, James L Cpa NEW29Amy Elsner
1039Kaitlin V GauchoUnited Kingdom2026-10-30Printing Dimensions UNQUALIFIED2Elwin Sharvill
1040Ashley E DarakjyIndia2026-10-22King, Christopher A Esq RENEWAL34Ioni Bowcher
1041Francesco S GarufiFrance2026-11-03Dorl, James J Esq PROPOSAL65Anna Fali
1042Jeanfrancois B WieserJapan2026-11-08Morlong Associates NEW70Asiya Javayant
1043Greenwood W OstroskyArgentina2026-10-16Rangoni Of Florence QUALIFIED9Amy Elsner
1044Jennifer D TollnerArgentina2026-11-05Commercial Press NEW49Stephen Shaw
1045Deepesh R MorascaArgentina2026-10-31Chapman, Ross E Esq PROPOSAL68Ivan Magalhaes
1046Stacey Y StensethUnited Kingdom2026-11-10Buckley Miller Wright QUALIFIED65Ioni Bowcher
1047Deepesh X FlosiJapan2026-11-05Morlong Associates UNQUALIFIED94Asiya Javayant
1048Nicolas M GauchoBrazil2026-10-25King, Christopher A Esq NEW79Onyama Limba
1049Izzy Z IturbideGermany2026-11-02Morlong Associates NEGOTIATION89Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Clifford A SaylorsIndiaBernardo Dominic NEGOTIATION
Jones Y FerenczBrazilOnyama Limba RENEWAL
Ivar E SlusarskiFranceStephen Shaw PROPOSAL
Claire T FlosiArgentinaIoni Bowcher QUALIFIED
Ricardo J AlbaresJapanBernardo Dominic RENEWAL
Darci U NestleAustraliaIoni Bowcher UNQUALIFIED
Izzy E GlickAustraliaAnna Fali UNQUALIFIED
Cody K SlusarskiCanadaElwin Sharvill UNQUALIFIED
Salvatore W ChuiItalyStephen Shaw NEW
Wickens T NestleAustraliaBernardo Dominic NEGOTIATION
Jones B FlosiSpainAmy Elsner RENEWAL
Johnson I ChuiGermanyAmy Elsner QUALIFIED
Adams U ShinkoIndiaIvan Magalhaes NEGOTIATION
Emily S WhobreyAustraliaIvan Magalhaes PROPOSAL
Greenwood T ChuiUnited KingdomBernardo Dominic PROPOSAL
Smith H RutaRussiaStephen Shaw UNQUALIFIED
Ricardo P FollerFranceStephen Shaw QUALIFIED
Costa A VocelkaItalyIvan Magalhaes QUALIFIED
Misaki J GauchoUnited KingdomIoni Bowcher QUALIFIED
Tony G KuskoAustraliaBernardo Dominic UNQUALIFIED
Smith Y TollnerRussiaAmy Elsner PROPOSAL
Kaitlin S DarakjyUnited KingdomXuxue Feng QUALIFIED
Misaki K PoquetteArgentinaElwin Sharvill UNQUALIFIED
Clifford Y RoysterGermanyIvan Magalhaes RENEWAL
Deepesh Q RulapaughRussiaOnyama Limba NEGOTIATION
Greenwood R MacleadBrazilAmy Elsner PROPOSAL
Greenwood Y StensethJapanAmy Elsner UNQUALIFIED
Stacey X SaylorsJapanBernardo Dominic NEW
Murillo O MarrierArgentinaXuxue Feng PROPOSAL
Octavia F GillianSpainAmy Elsner NEGOTIATION
Alejandro S RoysterArgentinaStephen Shaw NEW
Kaitlin H MaletItalyXuxue Feng QUALIFIED
Tony X AlbaresCanadaAmy Elsner NEGOTIATION
Cody P SaylorsUnited KingdomXuxue Feng RENEWAL
Claire K WhobreyGermanyElwin Sharvill UNQUALIFIED
Smith N GlickGermanyStephen Shaw NEGOTIATION
Misaki Z ShinkoArgentinaIvan Magalhaes PROPOSAL
Kaitlin E PaprockiArgentinaIvan Magalhaes QUALIFIED
Greenwood E SaylorsBrazilAmy Elsner PROPOSAL
Salvatore D WieserIndiaAsiya Javayant PROPOSAL
Chavez W SlusarskiIndiaXuxue Feng PROPOSAL
Juan N RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Misaki H FollerItalyStephen Shaw NEW
Leon Y RulapaughRussiaElwin Sharvill QUALIFIED
Leja A MaletJapanBernardo Dominic RENEWAL
Aika W PoquetteUnited KingdomStephen Shaw NEGOTIATION
Leja I BologniaItalyElwin Sharvill RENEWAL
Mayumi Q AmigonItalyAsiya Javayant NEW
Murillo Z MaletGermanyAnna Fali NEGOTIATION
Johnson V PoquetteRussiaIoni Bowcher QUALIFIED
Frozen Columns
Name
Maria N Figeroa
Sinclair B Albares
Chavez H Albares
Julie L Malet
Leja K Slusarski
Wickens U Shinko
Wickens E Bolognia
Jefferson D Paprocki
Arvin Y Iturbide
Leja W Nestle
Stacey K Bolognia
Aruna Z Darakjy
Leon S Doe
Darci I Gaucho
Greenwood C Whobrey
Claire X Slusarski
Kaitlin V Oldroyd
Darci T Figeroa
Ivar G Shinko
Claire O Marrier
Faith P Kusko
Salvatore D Venere
Alejandro B Perin
James R Marrier
Deepesh I Bowley
Adams P Foller
Nicolas D Stenseth
Leon C Paprocki
Claire R Campain
Murillo K Chui
Ivar K Whobrey
Smith K Darakjy
David J Kolmetz
Francesco G Poquette
Aika J Ferencz
Aditya M Flosi
Juan R Gaucho
Jennifer F Albares
Cody M Poquette
Aruna Z Amigon
Julie H Iturbide
Ivar J Paprocki
Maria K Poquette
Greenwood N Gillian
Alejandro G Gaucho
Jennifer E Vocelka
Jefferson S Doe
Kadeem Y Campain
Leja B Waycott
Izzy R Nicka
IdCountryDate
1000France2026-10-28
1001Japan2026-11-09
1002Australia2026-11-10
1003Germany2026-10-15
1004Canada2026-11-11
1005Brazil2026-10-22
1006Spain2026-10-29
1007Russia2026-10-31
1008Australia2026-11-02
1009Australia2026-10-30
1010United Kingdom2026-11-03
1011Argentina2026-10-16
1012France2026-10-31
1013France2026-11-06
1014Spain2026-11-07
1015United Kingdom2026-10-23
1016Germany2026-10-16
1017Brazil2026-11-05
1018Brazil2026-10-24
1019Germany2026-10-19
1020Russia2026-10-17
1021Argentina2026-10-24
1022Japan2026-11-09
1023Japan2026-11-03
1024Italy2026-10-29
1025Australia2026-10-20
1026Brazil2026-10-28
1027Argentina2026-10-29
1028Canada2026-10-24
1029Japan2026-11-03
1030Russia2026-10-30
1031Japan2026-10-24
1032Germany2026-10-22
1033France2026-11-12
1034Russia2026-10-20
1035Canada2026-10-23
1036Russia2026-10-26
1037Russia2026-10-19
1038Russia2026-10-18
1039Argentina2026-10-31
1040Argentina2026-11-03
1041Australia2026-11-11
1042India2026-11-13
1043Russia2026-10-27
1044Canada2026-11-06
1045France2026-10-31
1046Argentina2026-11-08
1047United Kingdom2026-10-28
1048Russia2026-10-26
1049Canada2026-11-13

On-Demand Data

NameIdCountryDate
Jennifer F Saylors1000India2026-10-20
Emily B Caldarera1001Argentina2026-10-27
Leja N Ruta1002Spain2026-10-24
Greenwood L Waycott1003Japan2026-11-05
Ivar W Slusarski1004Australia2026-10-29
Sinclair X Sergi1005Japan2026-10-29
Juan N Chui1006Canada2026-11-11
Faith K Schemmer1007Japan2026-10-17
Octavia H Amigon1008Brazil2026-11-02
Kaitlin R Albares1009United Kingdom2026-11-04
Jones N Flosi1010Canada2026-11-03
Munro U Bolognia1011Spain2026-10-25
Ricardo Z Flosi1012Australia2026-11-12
Adams D Kusko1013Australia2026-10-28
Ricardo T Malet1014Germany2026-10-26
Ashley L Morasca1015United Kingdom2026-11-12
Darci B Kusko1016Italy2026-10-19
Clifford V Glick1017France2026-10-26
Morrow Q Butt1018Russia2026-10-16
Jones M Perin1019Germany2026-10-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy O MarrierAustraliaIoni Bowcher NEGOTIATION
Izzy G ShinkoCanadaAmy Elsner NEW
Jeanfrancois T MaletAustraliaBernardo Dominic RENEWAL
Cody Y CaudyBrazilElwin Sharvill QUALIFIED
Deepesh P FigeroaBrazilElwin Sharvill PROPOSAL
Francesco V FlosiArgentinaBernardo Dominic RENEWAL
Faith U InouyeGermanyElwin Sharvill RENEWAL
Stacey G RutaJapanIvan Magalhaes NEGOTIATION
Arvin C CaudyAustraliaAnna Fali NEW
Alejandro E MaletSpainElwin Sharvill PROPOSAL
Murillo V RulapaughRussiaBernardo Dominic NEGOTIATION
Munro Z InouyeAustraliaXuxue Feng QUALIFIED
Chavez D BowleyAustraliaBernardo Dominic QUALIFIED
Arvin M KuskoRussiaXuxue Feng UNQUALIFIED
Octavia F CaldareraRussiaXuxue Feng UNQUALIFIED
Jones A SaylorsBrazilAsiya Javayant NEW
Ashley S DarakjyArgentinaOnyama Limba NEW
Leja L MaletJapanElwin Sharvill UNQUALIFIED
Darci T CaudyGermanyIvan Magalhaes QUALIFIED
Izzy Y NickaItalyStephen Shaw RENEWAL
Silvio B MaletRussiaXuxue Feng QUALIFIED
Rodrigues M OldroydGermanyElwin Sharvill NEGOTIATION
Jeanfrancois N GlickBrazilAnna Fali NEW
Arvin Q FollerArgentinaAsiya Javayant QUALIFIED
Ivar S CaudyItalyStephen Shaw UNQUALIFIED
Julie Y MaletSpainOnyama Limba PROPOSAL
Ivar P DilliardBrazilIvan Magalhaes UNQUALIFIED
Stacey D KolmetzUnited KingdomIoni Bowcher NEW
Kadeem Q CaudyBrazilBernardo Dominic NEGOTIATION
Salvatore O AlbaresJapanAnna Fali RENEWAL
Jones H MorascaSpainBernardo Dominic PROPOSAL
Francesco J StockhamJapanXuxue Feng PROPOSAL
Ivar P WieserCanadaAnna Fali NEGOTIATION
Aika H NickaBrazilBernardo Dominic QUALIFIED
Nicolas L ButtGermanyIvan Magalhaes NEGOTIATION
Cody X VocelkaSpainXuxue Feng NEW
Mayumi C CaldareraFranceIoni Bowcher NEGOTIATION
Jeanfrancois O BowleyIndiaAnna Fali NEW
Clifford B NestleBrazilAnna Fali QUALIFIED
Leja K BowleyArgentinaAmy Elsner 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>