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
Emily Y DoeSpainIvan Magalhaes UNQUALIFIED
Arvin H ShinkoRussiaOnyama Limba NEW
Julie X PerinUnited KingdomAnna Fali NEGOTIATION
Antonio D VocelkaRussiaStephen Shaw UNQUALIFIED
Ashley O StockhamBrazilBernardo Dominic NEW
Isabel S RoysterSpainAnna Fali PROPOSAL
Ricardo U GlickRussiaAnna Fali PROPOSAL
Ashley L GillianCanadaElwin Sharvill RENEWAL
Maisha K WhobreyUnited KingdomIvan Magalhaes UNQUALIFIED
Francesco A SchemmerUnited KingdomIoni Bowcher RENEWAL
Juan V DarakjyCanadaXuxue Feng PROPOSAL
Leja A StockhamSpainAmy Elsner RENEWAL
Arvin J MorascaAustraliaAsiya Javayant PROPOSAL
Tony N PoquetteCanadaXuxue Feng UNQUALIFIED
Adams M BriddickUnited KingdomStephen Shaw NEGOTIATION
Izzy H AlbaresGermanyBernardo Dominic UNQUALIFIED
Aika M BowleyRussiaIoni Bowcher PROPOSAL
Francesco S RimArgentinaAmy Elsner NEW
Mayumi R StensethUnited KingdomBernardo Dominic PROPOSAL
Jones X KolmetzSpainAmy Elsner PROPOSAL
Morrow W CaldareraGermanyBernardo Dominic QUALIFIED
Mayumi H MacleadRussiaXuxue Feng RENEWAL
Ashley E SergiFranceStephen Shaw PROPOSAL
Aruna J IturbideJapanElwin Sharvill UNQUALIFIED
Octavia D DoeUnited KingdomIvan Magalhaes NEW
Clifford B NickaFranceAmy Elsner RENEWAL
Adams F MorascaJapanAsiya Javayant QUALIFIED
Deepesh M CaudyFranceIvan Magalhaes NEGOTIATION
Stacey B BowleyFranceAmy Elsner PROPOSAL
James P DoeArgentinaXuxue Feng PROPOSAL
Emily V MarrierArgentinaBernardo Dominic NEW
Mujtaba C PerinItalyIvan Magalhaes UNQUALIFIED
Greenwood K CaldareraJapanElwin Sharvill NEW
Costa X SergiCanadaStephen Shaw NEW
James H FlosiCanadaStephen Shaw NEGOTIATION
Murillo Q NickaSpainAsiya Javayant PROPOSAL
Maisha O AmigonGermanyAsiya Javayant RENEWAL
Clifford U RutaAustraliaBernardo Dominic PROPOSAL
Aditya C DoeJapanIoni Bowcher QUALIFIED
Antonio O ShinkoArgentinaAnna Fali PROPOSAL
Aruna T GauchoIndiaIoni Bowcher NEW
Costa X GarufiJapanAmy Elsner NEGOTIATION
Adams U WieserUnited KingdomAmy Elsner NEGOTIATION
Mujtaba X NickaJapanAnna Fali NEGOTIATION
Isabel I MaletItalyIoni Bowcher NEW
Ivar X CampainRussiaIvan Magalhaes NEGOTIATION
Misaki G ChuiCanadaStephen Shaw UNQUALIFIED
Nicolas X RutaUnited KingdomStephen Shaw QUALIFIED
Ricardo U AlbaresUnited KingdomStephen Shaw QUALIFIED
Deepesh Q MaletBrazilStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford L MacleadRussiaAsiya Javayant PROPOSAL
Greenwood M GillianBrazilIoni Bowcher PROPOSAL
Izzy W AlbaresIndiaOnyama Limba QUALIFIED
Murillo N BologniaAustraliaOnyama Limba RENEWAL
Ivar R KolmetzJapanElwin Sharvill PROPOSAL
Johnson Y WieserIndiaXuxue Feng NEW
Leon Y SchemmerGermanyAsiya Javayant QUALIFIED
Jeanfrancois Z VenereSpainIoni Bowcher UNQUALIFIED
Leja A KolmetzRussiaOnyama Limba PROPOSAL
Aika J SergiFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro V GlickUnited Kingdom2026-10-09King, Christopher A Esq UNQUALIFIED36Xuxue Feng
1001Izzy I CampainUnited Kingdom2026-10-17Chapman, Ross E Esq RENEWAL90Xuxue Feng
1002Silvio W CaudySpain2026-10-11Chanay, Jeffrey A Esq QUALIFIED59Onyama Limba
1003Cody C IturbideIndia2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED84Onyama Limba
1004Antonio K SaylorsArgentina2026-09-19Chapman, Ross E Esq NEW77Xuxue Feng
1005Munro U IturbideSpain2026-09-24Buckley Miller Wright UNQUALIFIED44Stephen Shaw
1006Murillo Y VenereFrance2026-10-07Rangoni Of Florence PROPOSAL37Amy Elsner
1007James N CaldareraCanada2026-09-22Chapman, Ross E Esq PROPOSAL81Onyama Limba
1008Izzy P RulapaughIndia2026-10-08Commercial Press RENEWAL74Amy Elsner
1009Kadeem J ChuiSpain2026-10-05Feltz Printing Service NEW71Ioni Bowcher
1010Murillo Z DilliardIndia2026-10-07Rousseaux, Michael Esq NEGOTIATION10Amy Elsner
1011Izzy U SaylorsUnited Kingdom2026-10-03Truhlar And Truhlar Attys NEW6Stephen Shaw
1012Julie N ShinkoCanada2026-09-28Benton, John B Jr NEW43Ivan Magalhaes
1013Faith V MacleadIndia2026-10-02Commercial Press RENEWAL25Anna Fali
1014Munro W NestleJapan2026-09-23Chemel, James L Cpa PROPOSAL27Anna Fali
1015Izzy S GauchoAustralia2026-10-05Benton, John B Jr PROPOSAL86Anna Fali
1016Nicolas X OldroydRussia2026-10-10Morlong Associates PROPOSAL86Stephen Shaw
1017Ivar Z StockhamUnited Kingdom2026-09-30Chapman, Ross E Esq PROPOSAL72Anna Fali
1018Adams A TollnerFrance2026-10-16Morlong Associates QUALIFIED23Bernardo Dominic
1019Clifford N KuskoSpain2026-09-19Morlong Associates QUALIFIED90Stephen Shaw
1020Antonio X DarakjyUnited Kingdom2026-10-13Chanay, Jeffrey A Esq NEGOTIATION24Onyama Limba
1021Kaitlin E NickaRussia2026-10-10Rousseaux, Michael Esq NEW77Stephen Shaw
1022Maria D GlickRussia2026-09-25Chapman, Ross E Esq NEW76Amy Elsner
1023Adams B StockhamGermany2026-09-27Buckley Miller Wright NEW99Elwin Sharvill
1024Aika R KolmetzFrance2026-10-17Buckley Miller Wright NEGOTIATION68Elwin Sharvill
1025Aruna D GlickAustralia2026-10-14Morlong Associates NEGOTIATION18Bernardo Dominic
1026Leon W FlosiBrazil2026-09-22Feltz Printing Service PROPOSAL40Ioni Bowcher
1027Smith L CampainItaly2026-09-27Dorl, James J Esq NEGOTIATION1Ivan Magalhaes
1028Maria H CaldareraRussia2026-10-13Benton, John B Jr QUALIFIED69Ioni Bowcher
1029Kaitlin R PoquetteCanada2026-10-05Benton, John B Jr UNQUALIFIED57Stephen Shaw
1030Clifford G InouyeJapan2026-09-26Chanay, Jeffrey A Esq PROPOSAL58Stephen Shaw
1031Julie F FigeroaCanada2026-10-02Printing Dimensions NEW5Xuxue Feng
1032Maisha R FerenczArgentina2026-10-04King, Christopher A Esq UNQUALIFIED56Bernardo Dominic
1033Julie K CaldareraArgentina2026-10-08Feltz Printing Service NEW26Asiya Javayant
1034Deepesh F PaprockiItaly2026-10-03Commercial Press NEGOTIATION7Ivan Magalhaes
1035Aruna F GarufiCanada2026-10-07Truhlar And Truhlar Attys UNQUALIFIED53Onyama Limba
1036Mayumi Q RutaUnited Kingdom2026-10-11Dorl, James J Esq PROPOSAL0Xuxue Feng
1037Sinclair Y RimCanada2026-10-15Chanay, Jeffrey A Esq UNQUALIFIED63Anna Fali
1038Aika D RimGermany2026-10-06Feiner Bros NEW8Anna Fali
1039Francesco T DilliardGermany2026-10-02Feiner Bros NEGOTIATION15Anna Fali
1040Kadeem U PoquetteCanada2026-09-19Dorl, James J Esq RENEWAL59Onyama Limba
1041Munro H MorascaItaly2026-10-03Chanay, Jeffrey A Esq NEW45Elwin Sharvill
1042Murillo Z BowleyAustralia2026-10-10Chanay, Jeffrey A Esq PROPOSAL47Xuxue Feng
1043Alejandro Y CaldareraCanada2026-09-24Benton, John B Jr UNQUALIFIED21Xuxue Feng
1044Chavez B FerenczArgentina2026-09-30Benton, John B Jr QUALIFIED95Stephen Shaw
1045Octavia E MaletRussia2026-10-17Feltz Printing Service NEW56Ivan Magalhaes
1046Misaki X WieserFrance2026-09-23Benton, John B Jr QUALIFIED4Amy Elsner
1047James L OstroskyGermany2026-09-24Buckley Miller Wright QUALIFIED40Ioni Bowcher
1048Johnson Z FlosiItaly2026-09-27Rousseaux, Michael Esq RENEWAL48Anna Fali
1049Maisha H KolmetzFrance2026-10-16Rangoni Of Florence NEGOTIATION28Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Nicolas V CampainBrazilXuxue Feng NEW
Aruna J OldroydBrazilXuxue Feng NEW
Tony J FollerIndiaAnna Fali NEW
Ivar M MarrierFranceAmy Elsner PROPOSAL
Sinclair G NickaGermanyIvan Magalhaes UNQUALIFIED
Aditya G OstroskyAustraliaBernardo Dominic NEW
Salvatore X StockhamUnited KingdomBernardo Dominic PROPOSAL
Faith X RutaUnited KingdomAsiya Javayant UNQUALIFIED
Munro Q ButtJapanBernardo Dominic UNQUALIFIED
Faith C VocelkaGermanyIvan Magalhaes UNQUALIFIED
Ricardo U VocelkaFranceBernardo Dominic NEW
Tony A BologniaSpainXuxue Feng RENEWAL
Arvin E NestleJapanAnna Fali NEGOTIATION
Chavez X NickaItalyAnna Fali RENEWAL
Rodrigues O GlickCanadaXuxue Feng NEW
Misaki A OstroskyGermanyXuxue Feng RENEWAL
Mayumi T StensethAustraliaAnna Fali PROPOSAL
Adams Z AmigonUnited KingdomXuxue Feng QUALIFIED
Emily U NestleBrazilOnyama Limba UNQUALIFIED
Darci V FlosiSpainIvan Magalhaes NEGOTIATION
Murillo Y PaprockiJapanAsiya Javayant RENEWAL
Kaitlin N WieserFranceElwin Sharvill UNQUALIFIED
Maria K MaletUnited KingdomBernardo Dominic NEW
Jefferson B WhobreyCanadaStephen Shaw NEGOTIATION
Arvin T RoysterIndiaAsiya Javayant NEGOTIATION
Francesco O NestleItalyBernardo Dominic QUALIFIED
Francesco T GarufiGermanyBernardo Dominic UNQUALIFIED
Antonio V MaletJapanAsiya Javayant RENEWAL
Chavez N KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow M GarufiRussiaAsiya Javayant QUALIFIED
Antonio K GlickBrazilStephen Shaw NEW
Leja I SergiIndiaStephen Shaw QUALIFIED
Arvin B RoysterItalyAmy Elsner PROPOSAL
Ricardo Q OldroydRussiaXuxue Feng NEW
Rodrigues S DarakjyBrazilAmy Elsner QUALIFIED
Juan M WaycottArgentinaOnyama Limba PROPOSAL
Wickens U RutaItalyBernardo Dominic PROPOSAL
Nicolas Q BologniaItalyOnyama Limba PROPOSAL
Wickens Q IturbideUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson I SchemmerArgentinaAsiya Javayant NEW
Misaki Y WhobreyBrazilXuxue Feng UNQUALIFIED
Chavez F MaletArgentinaElwin Sharvill NEGOTIATION
Greenwood S KuskoJapanXuxue Feng NEGOTIATION
Ricardo X OstroskyIndiaAnna Fali RENEWAL
Mayumi B MorascaAustraliaOnyama Limba NEGOTIATION
Isabel E DilliardArgentinaAnna Fali NEGOTIATION
Kadeem D DilliardIndiaIoni Bowcher NEW
Alejandro Q IturbideSpainBernardo Dominic UNQUALIFIED
Ashley Y BowleyJapanAsiya Javayant RENEWAL
Kadeem B CaldareraSpainElwin Sharvill PROPOSAL
Frozen Columns
Name
Emily D Dilliard
Claire P Inouye
Clifford R Kusko
Silvio M Paprocki
Aruna R Marrier
Salvatore V Stockham
Salvatore X Oldroyd
Greenwood P Kusko
Salvatore X Figeroa
Alejandro Z Ruta
Nicolas A Figeroa
Leja V Albares
Aditya W Caudy
Kaitlin L Briddick
David L Saylors
Silvio S Perin
Stacey Q Rim
Rodrigues F Vocelka
Aika G Venere
Kaitlin P Bolognia
Munro T Maclead
Aika U Briddick
Aika J Poquette
Clifford D Tollner
Tony C Butt
Clifford N Caudy
Maisha B Bowley
Antonio K Whobrey
Alejandro H Doe
Silvio T Schemmer
Maisha N Stenseth
Costa Q Albares
Julie B Stenseth
Sinclair V Caudy
Sinclair Y Oldroyd
Tony P Gillian
Clifford Z Campain
Jeanfrancois R Glick
Ashley X Inouye
Leon Z Caldarera
Jeanfrancois U Albares
Mayumi O Campain
Maria C Schemmer
Misaki N Inouye
Francesco Q Darakjy
Deepesh E Bolognia
Emily A Schemmer
Octavia J Doe
Maria Z Caldarera
Mujtaba L Malet
IdCountryDate
1000Argentina2026-09-25
1001Canada2026-10-12
1002France2026-09-22
1003Australia2026-10-06
1004Spain2026-09-22
1005Canada2026-10-15
1006Spain2026-10-01
1007Brazil2026-10-04
1008Japan2026-10-13
1009Japan2026-10-03
1010Australia2026-09-24
1011France2026-10-08
1012Argentina2026-10-17
1013United Kingdom2026-10-14
1014Germany2026-10-02
1015Australia2026-09-24
1016Germany2026-09-20
1017United Kingdom2026-09-25
1018Canada2026-10-09
1019Germany2026-09-27
1020India2026-10-11
1021Germany2026-10-16
1022Japan2026-09-21
1023Australia2026-09-22
1024Argentina2026-09-22
1025Spain2026-10-03
1026Russia2026-10-04
1027France2026-09-24
1028Italy2026-10-09
1029Germany2026-10-01
1030United Kingdom2026-09-22
1031Russia2026-10-04
1032Spain2026-09-24
1033Spain2026-10-04
1034Japan2026-10-12
1035Canada2026-10-13
1036United Kingdom2026-09-20
1037Italy2026-09-28
1038Spain2026-10-17
1039Australia2026-10-09
1040Italy2026-09-23
1041Spain2026-09-24
1042Spain2026-10-04
1043Argentina2026-10-05
1044France2026-10-06
1045Argentina2026-10-14
1046Argentina2026-10-17
1047United Kingdom2026-10-05
1048Australia2026-09-28
1049Argentina2026-09-30

On-Demand Data

NameIdCountryDate
Octavia A Schemmer1000Canada2026-09-27
Clifford W Royster1001United Kingdom2026-10-07
Maria Z Saylors1002India2026-10-04
Adams O Inouye1003United Kingdom2026-10-08
Octavia S Marrier1004Argentina2026-09-24
Aditya D Sergi1005Spain2026-10-10
Francesco Z Iturbide1006Brazil2026-09-19
Johnson Y Stockham1007Russia2026-09-26
Ricardo K Chui1008Japan2026-09-28
Jeanfrancois D Ruta1009Italy2026-09-27
Silvio K Campain1010Australia2026-09-26
Kadeem O Albares1011Brazil2026-09-30
Deepesh F Gillian1012Australia2026-10-16
Mayumi W Amigon1013Brazil2026-09-23
Murillo Z Bowley1014India2026-10-06
Wickens Q Nicka1015Australia2026-10-11
Leja Z Kusko1016Spain2026-10-17
Adams B Kolmetz1017India2026-09-26
Costa R Stenseth1018Italy2026-10-07
Costa X Figeroa1019India2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens C FlosiUnited KingdomElwin Sharvill NEGOTIATION
Ashley X StockhamRussiaStephen Shaw QUALIFIED
Johnson O MorascaSpainIoni Bowcher UNQUALIFIED
Ashley G RoysterArgentinaAsiya Javayant NEW
Deepesh T RimIndiaOnyama Limba RENEWAL
Chavez M RimUnited KingdomElwin Sharvill PROPOSAL
Emily Y MarrierIndiaStephen Shaw QUALIFIED
Ivar V RimRussiaAsiya Javayant UNQUALIFIED
Emily C WhobreySpainIoni Bowcher QUALIFIED
Rodrigues E GillianCanadaXuxue Feng PROPOSAL
Tony T BriddickIndiaAsiya Javayant QUALIFIED
Misaki B CaldareraRussiaBernardo Dominic QUALIFIED
Costa J RoysterFranceBernardo Dominic PROPOSAL
Leja E VocelkaJapanIvan Magalhaes NEW
Izzy Z FerenczIndiaIvan Magalhaes PROPOSAL
Maria B IturbideUnited KingdomElwin Sharvill RENEWAL
Sinclair Q MaletSpainIvan Magalhaes RENEWAL
Octavia A SchemmerRussiaOnyama Limba NEGOTIATION
Morrow J StockhamCanadaIvan Magalhaes QUALIFIED
David U NestleJapanBernardo Dominic NEGOTIATION
Julie J GarufiGermanyAnna Fali QUALIFIED
Stacey I MorascaItalyIoni Bowcher UNQUALIFIED
Alejandro A StensethArgentinaIvan Magalhaes NEGOTIATION
Mujtaba F AlbaresJapanBernardo Dominic UNQUALIFIED
Darci R KuskoFranceXuxue Feng RENEWAL
Johnson Q BologniaUnited KingdomXuxue Feng QUALIFIED
Isabel J NickaCanadaXuxue Feng RENEWAL
Kaitlin E FlosiBrazilAmy Elsner NEGOTIATION
Rodrigues W BologniaCanadaXuxue Feng PROPOSAL
Aditya Z StockhamArgentinaAmy Elsner RENEWAL
Silvio K KuskoArgentinaOnyama Limba RENEWAL
Ivar V BologniaItalyAnna Fali RENEWAL
Chavez O FollerRussiaAnna Fali PROPOSAL
Maria Z ButtAustraliaElwin Sharvill RENEWAL
Clifford B KolmetzGermanyAnna Fali UNQUALIFIED
Leon T IturbideFranceElwin Sharvill NEGOTIATION
Costa Y WaycottUnited KingdomStephen Shaw QUALIFIED
Jennifer P AlbaresGermanyBernardo Dominic QUALIFIED
Izzy J MarrierGermanyOnyama Limba QUALIFIED
Alejandro J DilliardJapanAsiya 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>