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 P CampainIndiaIvan Magalhaes PROPOSAL
Claire T DoeArgentinaIoni Bowcher RENEWAL
Greenwood W VenereItalyBernardo Dominic NEGOTIATION
Isabel Q FlosiGermanyXuxue Feng UNQUALIFIED
David K MorascaArgentinaIoni Bowcher UNQUALIFIED
Silvio S NickaItalyElwin Sharvill PROPOSAL
Costa V PerinFranceAnna Fali NEW
Ivar O FollerArgentinaElwin Sharvill NEW
Jefferson C SlusarskiBrazilIoni Bowcher NEGOTIATION
Silvio Y NickaUnited KingdomOnyama Limba PROPOSAL
Mayumi L MacleadIndiaElwin Sharvill NEGOTIATION
Smith Y SlusarskiBrazilAmy Elsner NEGOTIATION
Emily D RimSpainOnyama Limba RENEWAL
David L GlickAustraliaAsiya Javayant NEW
Francesco S SchemmerItalyIoni Bowcher RENEWAL
Leja W PaprockiArgentinaXuxue Feng UNQUALIFIED
Arvin P DilliardCanadaAnna Fali QUALIFIED
Aditya G SergiJapanIoni Bowcher NEGOTIATION
Juan W AlbaresCanadaIoni Bowcher QUALIFIED
Aika K CampainItalyIvan Magalhaes RENEWAL
Octavia Q SergiIndiaBernardo Dominic PROPOSAL
Ashley A SlusarskiAustraliaAnna Fali UNQUALIFIED
Ivar B TollnerCanadaIvan Magalhaes UNQUALIFIED
Murillo K ShinkoUnited KingdomStephen Shaw PROPOSAL
Silvio R CaudyArgentinaIoni Bowcher NEGOTIATION
Faith N OstroskyUnited KingdomOnyama Limba UNQUALIFIED
Aditya M MaletAustraliaStephen Shaw QUALIFIED
Aika T MacleadAustraliaXuxue Feng NEW
Misaki T VocelkaArgentinaAmy Elsner UNQUALIFIED
Greenwood M GlickCanadaStephen Shaw UNQUALIFIED
Darci O FlosiArgentinaAnna Fali NEGOTIATION
Julie M CaldareraUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois P BriddickCanadaAnna Fali QUALIFIED
Munro N ShinkoItalyIoni Bowcher RENEWAL
Ricardo O SergiFranceAsiya Javayant PROPOSAL
Jefferson Y MarrierRussiaIvan Magalhaes QUALIFIED
Antonio K StockhamFranceAsiya Javayant UNQUALIFIED
Juan R SchemmerBrazilXuxue Feng RENEWAL
Mayumi F NestleArgentinaBernardo Dominic RENEWAL
Aruna T RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Izzy F OldroydGermanyIoni Bowcher NEGOTIATION
Sinclair K WaycottArgentinaAnna Fali QUALIFIED
Aika K CaudyAustraliaAnna Fali QUALIFIED
Adams Z SaylorsSpainAmy Elsner NEGOTIATION
Deepesh G SchemmerBrazilAnna Fali RENEWAL
Arvin X NickaArgentinaStephen Shaw NEGOTIATION
Rodrigues S StockhamSpainXuxue Feng QUALIFIED
Morrow H CaldareraArgentinaAmy Elsner UNQUALIFIED
Tony U VenereGermanyIoni Bowcher NEW
Maria I ButtCanadaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford C SaylorsJapanAsiya Javayant NEGOTIATION
Cody J ChuiGermanyBernardo Dominic NEGOTIATION
Juan T PerinIndiaElwin Sharvill RENEWAL
Johnson J RimFranceOnyama Limba UNQUALIFIED
Juan E DilliardJapanAsiya Javayant QUALIFIED
Isabel T GlickRussiaAsiya Javayant NEGOTIATION
Sinclair X AmigonUnited KingdomIvan Magalhaes RENEWAL
Nicolas J TollnerJapanIvan Magalhaes QUALIFIED
Ivar H WaycottIndiaXuxue Feng NEW
Jennifer D GarufiJapanXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood R ShinkoArgentina2026-09-13Benton, John B Jr QUALIFIED76Ivan Magalhaes
1001Cody P KuskoItaly2026-09-23Chanay, Jeffrey A Esq RENEWAL47Elwin Sharvill
1002Silvio D NickaUnited Kingdom2026-09-23Chapman, Ross E Esq RENEWAL34Stephen Shaw
1003Ivar Z DilliardUnited Kingdom2026-09-25Chapman, Ross E Esq NEW52Anna Fali
1004Jennifer J BriddickUnited Kingdom2026-09-21Morlong Associates RENEWAL33Xuxue Feng
1005Misaki U StockhamAustralia2026-09-20Feiner Bros PROPOSAL58Anna Fali
1006Leja D GillianJapan2026-09-24Truhlar And Truhlar Attys NEGOTIATION18Ivan Magalhaes
1007Arvin M MaletAustralia2026-09-22Truhlar And Truhlar Attys PROPOSAL27Bernardo Dominic
1008David I KuskoJapan2026-09-05Buckley Miller Wright RENEWAL93Xuxue Feng
1009Greenwood B RulapaughCanada2026-09-08King, Christopher A Esq QUALIFIED35Xuxue Feng
1010Leon O BologniaIndia2026-09-22Dorl, James J Esq PROPOSAL88Xuxue Feng
1011Tony T KuskoItaly2026-09-04Chapman, Ross E Esq RENEWAL62Bernardo Dominic
1012Rodrigues V ChuiAustralia2026-09-12King, Christopher A Esq RENEWAL56Elwin Sharvill
1013Clifford H FigeroaAustralia2026-09-30Feiner Bros RENEWAL21Anna Fali
1014Aditya G WieserJapan2026-09-20Printing Dimensions NEW98Ivan Magalhaes
1015Wickens H FlosiGermany2026-09-29Feiner Bros NEW36Bernardo Dominic
1016Mayumi P NestleJapan2026-09-13Benton, John B Jr UNQUALIFIED86Anna Fali
1017David U SchemmerIndia2026-09-24Chanay, Jeffrey A Esq UNQUALIFIED70Ioni Bowcher
1018Juan J RulapaughArgentina2026-09-30Chanay, Jeffrey A Esq RENEWAL13Amy Elsner
1019Francesco Y WieserAustralia2026-09-30King, Christopher A Esq QUALIFIED29Elwin Sharvill
1020Silvio U DilliardJapan2026-09-24Morlong Associates QUALIFIED61Ivan Magalhaes
1021Adams S GarufiGermany2026-09-15Commercial Press NEW95Onyama Limba
1022Morrow Z KuskoIndia2026-09-19Dorl, James J Esq UNQUALIFIED69Ivan Magalhaes
1023Emily W VocelkaIndia2026-09-13Benton, John B Jr QUALIFIED85Amy Elsner
1024Nicolas E GauchoSpain2026-09-30Feiner Bros NEGOTIATION18Ioni Bowcher
1025Aika O GillianSpain2026-09-06Printing Dimensions UNQUALIFIED15Ioni Bowcher
1026Arvin I MarrierCanada2026-09-28Buckley Miller Wright RENEWAL86Stephen Shaw
1027Aruna Y RulapaughIndia2026-09-09Morlong Associates NEGOTIATION50Onyama Limba
1028Clifford H AlbaresArgentina2026-09-25King, Christopher A Esq NEW98Amy Elsner
1029Clifford X WhobreyGermany2026-09-30Chanay, Jeffrey A Esq NEGOTIATION45Asiya Javayant
1030Cody N TollnerFrance2026-09-09Feiner Bros NEGOTIATION53Asiya Javayant
1031Emily G OstroskyAustralia2026-09-08King, Christopher A Esq UNQUALIFIED70Bernardo Dominic
1032Leja D PoquetteBrazil2026-09-18King, Christopher A Esq PROPOSAL44Amy Elsner
1033Ashley S CaudyGermany2026-09-23Chemel, James L Cpa NEW43Bernardo Dominic
1034Misaki A InouyeFrance2026-09-22Feiner Bros RENEWAL69Xuxue Feng
1035Aruna N StockhamIndia2026-09-23Feltz Printing Service PROPOSAL45Bernardo Dominic
1036Deepesh C GauchoAustralia2026-09-19Chapman, Ross E Esq NEGOTIATION28Asiya Javayant
1037Cody K WhobreyGermany2026-09-22Printing Dimensions PROPOSAL13Anna Fali
1038Mujtaba O PaprockiFrance2026-09-06Chapman, Ross E Esq QUALIFIED57Anna Fali
1039Francesco A VocelkaFrance2026-10-01Feiner Bros NEW45Ivan Magalhaes
1040Darci Z StensethCanada2026-09-14Chemel, James L Cpa RENEWAL29Stephen Shaw
1041Ivar Z FlosiFrance2026-09-11Chemel, James L Cpa QUALIFIED45Ioni Bowcher
1042Deepesh H DilliardJapan2026-09-16Rousseaux, Michael Esq PROPOSAL24Asiya Javayant
1043Mayumi O StensethItaly2026-09-26Morlong Associates UNQUALIFIED28Onyama Limba
1044Clifford H PerinUnited Kingdom2026-09-18Chemel, James L Cpa UNQUALIFIED95Ivan Magalhaes
1045Arvin D SergiArgentina2026-10-01King, Christopher A Esq QUALIFIED51Ioni Bowcher
1046Octavia F RulapaughGermany2026-10-02Dorl, James J Esq QUALIFIED14Asiya Javayant
1047Murillo C FollerUnited Kingdom2026-09-24Rangoni Of Florence UNQUALIFIED33Ivan Magalhaes
1048Darci R AlbaresSpain2026-09-24Truhlar And Truhlar Attys NEGOTIATION69Elwin Sharvill
1049Chavez J DoeGermany2026-09-23King, Christopher A Esq UNQUALIFIED13Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
David D FollerSpainIvan Magalhaes PROPOSAL
Aruna D WhobreyItalyIoni Bowcher UNQUALIFIED
Darci R FlosiFranceAnna Fali NEW
Kaitlin W VenereArgentinaStephen Shaw UNQUALIFIED
Maria I OstroskyUnited KingdomOnyama Limba NEW
Ricardo Q DilliardIndiaXuxue Feng RENEWAL
Claire Y ButtFranceAsiya Javayant RENEWAL
Clifford T StockhamSpainBernardo Dominic NEGOTIATION
Arvin Y BriddickBrazilIoni Bowcher NEW
Leja M FigeroaRussiaIoni Bowcher NEGOTIATION
Adams L GlickJapanAnna Fali NEW
Jones N ChuiAustraliaOnyama Limba UNQUALIFIED
Silvio P VenereItalyXuxue Feng NEGOTIATION
Nicolas R GauchoItalyElwin Sharvill NEW
Jones E BologniaBrazilOnyama Limba UNQUALIFIED
Nicolas E IturbideIndiaIoni Bowcher NEW
Ivar O KuskoGermanyIoni Bowcher QUALIFIED
Morrow N RulapaughSpainOnyama Limba NEGOTIATION
Julie P AlbaresUnited KingdomOnyama Limba UNQUALIFIED
Ricardo I ButtSpainAsiya Javayant QUALIFIED
Jefferson U SchemmerFranceStephen Shaw PROPOSAL
Stacey B FlosiAustraliaAnna Fali UNQUALIFIED
Aditya T WaycottJapanIoni Bowcher UNQUALIFIED
Maria O WhobreyGermanyAmy Elsner RENEWAL
Clifford E AmigonItalyStephen Shaw PROPOSAL
Clifford M MorascaBrazilAsiya Javayant PROPOSAL
Leja I NickaSpainOnyama Limba UNQUALIFIED
Izzy A SergiGermanyXuxue Feng RENEWAL
Leja K DilliardJapanBernardo Dominic QUALIFIED
Claire R GarufiRussiaIoni Bowcher UNQUALIFIED
Juan X FerenczAustraliaAmy Elsner UNQUALIFIED
Mujtaba A SaylorsCanadaAsiya Javayant QUALIFIED
Francesco E FollerItalyAnna Fali RENEWAL
Smith G SchemmerFranceAnna Fali QUALIFIED
Mujtaba H KolmetzArgentinaAsiya Javayant PROPOSAL
Leon N KuskoSpainElwin Sharvill QUALIFIED
Kadeem Q NickaCanadaIvan Magalhaes RENEWAL
Costa V PoquetteBrazilOnyama Limba PROPOSAL
James T RoysterIndiaOnyama Limba PROPOSAL
Wickens L OstroskySpainStephen Shaw UNQUALIFIED
Murillo H CaldareraItalyIvan Magalhaes RENEWAL
Salvatore Y MaletJapanStephen Shaw NEW
Isabel A SlusarskiIndiaAnna Fali PROPOSAL
Aruna S KuskoItalyOnyama Limba RENEWAL
Jeanfrancois J InouyeArgentinaIvan Magalhaes QUALIFIED
Ashley M AlbaresIndiaOnyama Limba NEW
Jennifer W RoysterCanadaAnna Fali PROPOSAL
Murillo J MacleadItalyStephen Shaw RENEWAL
Claire F MaletJapanAsiya Javayant NEGOTIATION
Morrow U AmigonAustraliaIoni Bowcher RENEWAL
Frozen Columns
Name
Johnson K Wieser
Cody A Campain
Salvatore S Doe
Tony Q Gaucho
Jennifer K Nicka
Tony Y Gaucho
Aruna Y Stenseth
Johnson T Bowley
Nicolas M Albares
Jones L Ruta
Nicolas T Stenseth
Cody O Sergi
Leja G Kusko
Deepesh B Ruta
Mayumi Z Kolmetz
Morrow I Doe
Octavia M Waycott
Ashley T Vocelka
Cody V Butt
Greenwood V Dilliard
Claire I Glick
Maisha D Albares
Faith X Nestle
Ivar T Darakjy
Claire V Iturbide
Kaitlin L Butt
Mayumi B Malet
Costa A Darakjy
Tony A Shinko
Arvin C Waycott
David L Royster
Adams V Schemmer
Cody B Rulapaugh
Juan L Caldarera
Aruna H Doe
Aruna G Caudy
Johnson O Sergi
Munro P Chui
Izzy B Slusarski
Juan P Morasca
Izzy O Ruta
Misaki F Albares
Kaitlin D Morasca
Aditya G Chui
Faith F Kusko
Izzy O Nicka
Costa Z Royster
Faith E Sergi
Clifford A Ferencz
Cody P Nicka
IdCountryDate
1000France2026-09-11
1001France2026-09-04
1002Germany2026-09-18
1003Australia2026-09-06
1004Italy2026-09-07
1005Italy2026-10-02
1006Italy2026-09-23
1007Australia2026-09-25
1008Canada2026-09-06
1009India2026-10-03
1010Russia2026-09-20
1011Brazil2026-09-29
1012Canada2026-09-18
1013Japan2026-09-10
1014Spain2026-09-16
1015Japan2026-09-20
1016Japan2026-09-30
1017Australia2026-09-09
1018Australia2026-09-18
1019Australia2026-09-09
1020Spain2026-09-23
1021Australia2026-09-29
1022Brazil2026-09-13
1023Germany2026-09-18
1024Spain2026-09-26
1025Spain2026-09-26
1026Argentina2026-09-18
1027India2026-09-20
1028Canada2026-09-11
1029United Kingdom2026-09-17
1030United Kingdom2026-09-13
1031Australia2026-09-20
1032Argentina2026-09-15
1033Japan2026-09-13
1034India2026-09-13
1035Germany2026-09-12
1036France2026-09-24
1037Japan2026-09-18
1038Germany2026-10-01
1039Germany2026-09-26
1040Brazil2026-09-16
1041India2026-09-09
1042France2026-09-17
1043Argentina2026-09-24
1044Brazil2026-09-16
1045Russia2026-09-13
1046Canada2026-09-27
1047Canada2026-09-21
1048Australia2026-09-18
1049Italy2026-09-24

On-Demand Data

NameIdCountryDate
Octavia N Stenseth1000Australia2026-09-05
Wickens G Bowley1001United Kingdom2026-09-22
Misaki K Wieser1002Japan2026-09-19
Jennifer K Amigon1003Russia2026-09-24
Clifford T Stockham1004Russia2026-09-15
Nicolas T Nestle1005Japan2026-09-08
Salvatore O Schemmer1006Germany2026-09-21
Sinclair N Morasca1007Russia2026-10-01
Aditya Z Nestle1008Russia2026-09-19
Adams A Caudy1009Spain2026-09-19
Aika Z Venere1010United Kingdom2026-09-08
Mayumi F Bowley1011Argentina2026-09-16
Clifford C Iturbide1012Russia2026-09-07
James V Nestle1013Germany2026-09-16
Aika W Maclead1014Japan2026-09-29
Silvio X Sergi1015Japan2026-10-03
Aditya P Wieser1016Italy2026-09-13
Ivar U Garufi1017United Kingdom2026-09-25
Ricardo Z Dilliard1018United Kingdom2026-09-14
Darci V Sergi1019India2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria N BowleyBrazilOnyama Limba RENEWAL
Smith U StensethFranceBernardo Dominic RENEWAL
Costa S OldroydUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba H InouyeAustraliaStephen Shaw NEW
Maisha C DilliardUnited KingdomBernardo Dominic NEGOTIATION
Juan S TollnerCanadaAsiya Javayant NEGOTIATION
Morrow K FigeroaIndiaXuxue Feng PROPOSAL
Stacey G NestleAustraliaXuxue Feng RENEWAL
Tony G ChuiUnited KingdomAmy Elsner UNQUALIFIED
Munro L WhobreyFranceAsiya Javayant PROPOSAL
Izzy H MaletGermanyAnna Fali PROPOSAL
Cody G AlbaresSpainOnyama Limba UNQUALIFIED
Deepesh C DoeItalyXuxue Feng UNQUALIFIED
Kaitlin S WieserGermanyIvan Magalhaes QUALIFIED
Cody Z FigeroaArgentinaAnna Fali RENEWAL
Leja N PaprockiRussiaIoni Bowcher NEGOTIATION
Darci R GillianJapanElwin Sharvill UNQUALIFIED
Johnson L GarufiRussiaElwin Sharvill NEGOTIATION
Cody H CaldareraAustraliaStephen Shaw NEGOTIATION
Adams E GauchoSpainElwin Sharvill UNQUALIFIED
Juan K PaprockiSpainAnna Fali RENEWAL
Johnson K AlbaresCanadaIvan Magalhaes NEW
Ashley C StensethFranceBernardo Dominic QUALIFIED
Antonio B SaylorsSpainAsiya Javayant QUALIFIED
Kadeem R FigeroaFranceIoni Bowcher QUALIFIED
Jennifer R VocelkaFranceAmy Elsner PROPOSAL
Adams S RimArgentinaElwin Sharvill NEGOTIATION
Tony A OldroydBrazilIoni Bowcher PROPOSAL
Sinclair X CaudySpainIoni Bowcher NEW
Arvin J ChuiIndiaBernardo Dominic UNQUALIFIED
Munro T CaldareraUnited KingdomBernardo Dominic UNQUALIFIED
Julie K IturbideBrazilIoni Bowcher PROPOSAL
Leja Z CaldareraIndiaAsiya Javayant NEGOTIATION
Jeanfrancois X BologniaJapanIvan Magalhaes NEGOTIATION
Clifford O CaudySpainBernardo Dominic QUALIFIED
Murillo K VocelkaAustraliaAnna Fali QUALIFIED
Salvatore G OldroydIndiaAmy Elsner RENEWAL
Kadeem Q BriddickBrazilAnna Fali NEW
Stacey E GarufiBrazilStephen Shaw NEGOTIATION
Nicolas P MaletBrazilOnyama Limba NEGOTIATION

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