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
Aruna U AlbaresFranceXuxue Feng RENEWAL
Adams O FigeroaCanadaStephen Shaw NEGOTIATION
Kadeem I StockhamCanadaXuxue Feng PROPOSAL
Alejandro J MacleadUnited KingdomOnyama Limba QUALIFIED
Misaki M FlosiBrazilIvan Magalhaes PROPOSAL
Kaitlin I GlickSpainBernardo Dominic NEGOTIATION
Faith G StockhamGermanyAnna Fali UNQUALIFIED
Mayumi N CampainCanadaAsiya Javayant UNQUALIFIED
David E DoeCanadaElwin Sharvill PROPOSAL
Aruna V RulapaughJapanXuxue Feng QUALIFIED
Isabel A MarrierAustraliaAmy Elsner QUALIFIED
James K ShinkoSpainOnyama Limba UNQUALIFIED
Alejandro T WhobreyRussiaIvan Magalhaes QUALIFIED
Jennifer H SlusarskiBrazilBernardo Dominic PROPOSAL
David Z NickaItalyXuxue Feng NEW
Izzy J RoysterJapanBernardo Dominic PROPOSAL
Chavez B OstroskyRussiaAnna Fali NEGOTIATION
Antonio R SaylorsGermanyAsiya Javayant NEW
Stacey P WaycottJapanAsiya Javayant NEGOTIATION
Mayumi I VocelkaSpainXuxue Feng QUALIFIED
Maria H WaycottBrazilIoni Bowcher UNQUALIFIED
Arvin F ChuiItalyIvan Magalhaes NEGOTIATION
Faith O ButtUnited KingdomStephen Shaw QUALIFIED
Murillo V DoeGermanyIoni Bowcher UNQUALIFIED
Ricardo U PerinSpainStephen Shaw NEGOTIATION
Rodrigues R CaldareraCanadaOnyama Limba UNQUALIFIED
Darci U FerenczRussiaIvan Magalhaes PROPOSAL
Chavez Y NickaAustraliaIvan Magalhaes NEW
Mujtaba H DilliardUnited KingdomStephen Shaw NEGOTIATION
Maisha Q FigeroaBrazilXuxue Feng PROPOSAL
Julie C OstroskyArgentinaAsiya Javayant UNQUALIFIED
Francesco F VenereItalyElwin Sharvill NEGOTIATION
Arvin K SaylorsSpainElwin Sharvill QUALIFIED
Darci Z SchemmerItalyBernardo Dominic NEW
Alejandro P DilliardSpainAsiya Javayant NEW
Murillo E RoysterGermanyOnyama Limba QUALIFIED
Cody K NestleCanadaAmy Elsner NEGOTIATION
Jeanfrancois E CampainIndiaStephen Shaw QUALIFIED
Stacey F AmigonBrazilAnna Fali PROPOSAL
Johnson L DilliardCanadaBernardo Dominic UNQUALIFIED
Aika X WaycottUnited KingdomOnyama Limba RENEWAL
Costa M WhobreyUnited KingdomBernardo Dominic QUALIFIED
Isabel T MacleadFranceAmy Elsner QUALIFIED
Greenwood T NestleItalyAsiya Javayant UNQUALIFIED
Nicolas F PerinBrazilIoni Bowcher QUALIFIED
Stacey N MacleadArgentinaOnyama Limba PROPOSAL
Mayumi W CaldareraBrazilXuxue Feng UNQUALIFIED
David K NickaItalyStephen Shaw NEGOTIATION
Greenwood G AmigonItalyIvan Magalhaes UNQUALIFIED
Antonio T OstroskyArgentinaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Faith X FerenczJapanAmy Elsner QUALIFIED
Ricardo R FigeroaCanadaXuxue Feng PROPOSAL
Munro N KolmetzUnited KingdomElwin Sharvill NEW
Octavia Z MorascaItalyIvan Magalhaes RENEWAL
Morrow T SchemmerFranceIvan Magalhaes RENEWAL
Jones Z FlosiItalyAsiya Javayant QUALIFIED
Juan K DarakjyAustraliaXuxue Feng NEGOTIATION
Claire U PerinRussiaXuxue Feng RENEWAL
Murillo O PaprockiBrazilAsiya Javayant NEW
Emily F WieserAustraliaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba U CaldareraGermany2026-10-31Chanay, Jeffrey A Esq PROPOSAL45Anna Fali
1001Mujtaba M GauchoSpain2026-10-17Morlong Associates RENEWAL32Ivan Magalhaes
1002Aruna G BowleyGermany2026-11-12Feiner Bros NEGOTIATION71Onyama Limba
1003Deepesh C FigeroaIndia2026-10-20Rousseaux, Michael Esq RENEWAL22Ioni Bowcher
1004Julie T VocelkaArgentina2026-10-24Printing Dimensions UNQUALIFIED19Ivan Magalhaes
1005Tony F SergiJapan2026-10-14Printing Dimensions RENEWAL8Amy Elsner
1006Arvin D StensethAustralia2026-10-28Chanay, Jeffrey A Esq NEGOTIATION90Amy Elsner
1007Tony R IturbideFrance2026-11-04Rousseaux, Michael Esq QUALIFIED66Bernardo Dominic
1008Leon K StensethUnited Kingdom2026-10-23Truhlar And Truhlar Attys RENEWAL12Amy Elsner
1009Izzy A GillianFrance2026-11-07Chemel, James L Cpa QUALIFIED56Xuxue Feng
1010Octavia S BowleyJapan2026-10-29Rousseaux, Michael Esq NEGOTIATION29Onyama Limba
1011Octavia B CaudyRussia2026-11-05Feiner Bros RENEWAL55Amy Elsner
1012Faith K DilliardCanada2026-11-02Benton, John B Jr NEW40Anna Fali
1013Leja R NestleFrance2026-10-19Benton, John B Jr QUALIFIED74Anna Fali
1014Smith T DarakjyItaly2026-10-14Rangoni Of Florence RENEWAL10Onyama Limba
1015David O MorascaCanada2026-10-18Truhlar And Truhlar Attys RENEWAL82Ioni Bowcher
1016Darci A RoysterAustralia2026-10-17Feiner Bros RENEWAL17Amy Elsner
1017Silvio M KuskoCanada2026-10-20Feltz Printing Service NEGOTIATION64Ioni Bowcher
1018Wickens F SaylorsBrazil2026-10-16Rangoni Of Florence PROPOSAL78Anna Fali
1019Alejandro H WieserBrazil2026-10-29Chapman, Ross E Esq NEGOTIATION85Bernardo Dominic
1020Wickens N AlbaresAustralia2026-10-24Dorl, James J Esq NEGOTIATION15Amy Elsner
1021Munro G NestleJapan2026-10-24Chapman, Ross E Esq RENEWAL60Stephen Shaw
1022Morrow E NickaRussia2026-11-02Chemel, James L Cpa RENEWAL68Asiya Javayant
1023Chavez J FollerArgentina2026-10-21Commercial Press RENEWAL1Anna Fali
1024Isabel M SchemmerBrazil2026-11-12Feiner Bros UNQUALIFIED24Bernardo Dominic
1025Wickens Z MacleadUnited Kingdom2026-11-06Rangoni Of Florence RENEWAL59Asiya Javayant
1026Misaki I OldroydGermany2026-11-10Feltz Printing Service RENEWAL39Stephen Shaw
1027Rodrigues G OldroydGermany2026-11-02Feltz Printing Service NEW58Elwin Sharvill
1028Julie O CaudySpain2026-11-09Feiner Bros RENEWAL49Bernardo Dominic
1029Maisha C DoeJapan2026-11-03Feltz Printing Service NEGOTIATION60Ioni Bowcher
1030David M FlosiGermany2026-10-23Chanay, Jeffrey A Esq RENEWAL39Bernardo Dominic
1031Ivar D VocelkaItaly2026-10-17Rangoni Of Florence UNQUALIFIED0Elwin Sharvill
1032Antonio C FlosiRussia2026-11-10Chemel, James L Cpa RENEWAL87Onyama Limba
1033Jennifer W MarrierIndia2026-10-20Printing Dimensions RENEWAL66Elwin Sharvill
1034Emily W DarakjyRussia2026-10-14Truhlar And Truhlar Attys QUALIFIED58Amy Elsner
1035Sinclair G SergiItaly2026-11-05Dorl, James J Esq UNQUALIFIED40Onyama Limba
1036James G StensethBrazil2026-11-05King, Christopher A Esq UNQUALIFIED31Elwin Sharvill
1037Isabel H ButtCanada2026-10-30Benton, John B Jr NEW36Amy Elsner
1038Cody S FerenczArgentina2026-11-07Buckley Miller Wright QUALIFIED11Asiya Javayant
1039Maisha P SlusarskiJapan2026-10-17Chapman, Ross E Esq RENEWAL73Xuxue Feng
1040Johnson O GauchoArgentina2026-10-16Feiner Bros RENEWAL57Anna Fali
1041Ricardo U PerinUnited Kingdom2026-10-20Morlong Associates NEGOTIATION0Ioni Bowcher
1042Isabel Z NickaIndia2026-11-10Chanay, Jeffrey A Esq UNQUALIFIED16Ioni Bowcher
1043Antonio B MaletRussia2026-10-23Commercial Press PROPOSAL36Anna Fali
1044Francesco D OldroydRussia2026-10-14Feiner Bros QUALIFIED48Ioni Bowcher
1045Misaki D BriddickAustralia2026-10-23Chemel, James L Cpa NEW52Onyama Limba
1046Ivar C GauchoArgentina2026-10-19Buckley Miller Wright PROPOSAL28Ivan Magalhaes
1047Isabel B ButtGermany2026-10-27Chanay, Jeffrey A Esq RENEWAL76Xuxue Feng
1048Nicolas D DoeCanada2026-10-19Commercial Press RENEWAL52Onyama Limba
1049Johnson L RoysterFrance2026-11-12King, Christopher A Esq UNQUALIFIED91Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Julie M DilliardFranceAmy Elsner RENEWAL
Mayumi L WieserItalyElwin Sharvill QUALIFIED
Octavia O PoquetteAustraliaStephen Shaw PROPOSAL
Mujtaba Z OstroskyCanadaAsiya Javayant NEW
Leja O DarakjyItalyIoni Bowcher NEGOTIATION
Misaki O IturbideBrazilAnna Fali NEGOTIATION
Munro G GillianGermanyAmy Elsner RENEWAL
Silvio I GarufiItalyIoni Bowcher PROPOSAL
Aditya K ShinkoSpainStephen Shaw PROPOSAL
Maisha N NestleJapanOnyama Limba NEGOTIATION
Kadeem J WhobreyBrazilOnyama Limba UNQUALIFIED
Julie U DilliardUnited KingdomXuxue Feng QUALIFIED
Greenwood M KuskoCanadaBernardo Dominic NEW
Leon L MorascaUnited KingdomXuxue Feng UNQUALIFIED
David X OldroydIndiaIvan Magalhaes RENEWAL
Mayumi R GarufiGermanyElwin Sharvill NEW
Julie Y NestleGermanyElwin Sharvill NEW
Nicolas H KolmetzSpainXuxue Feng RENEWAL
Francesco O KolmetzUnited KingdomAnna Fali RENEWAL
Costa S StensethUnited KingdomAsiya Javayant RENEWAL
Isabel U SaylorsGermanyAmy Elsner UNQUALIFIED
Antonio M WhobreyItalyIvan Magalhaes NEGOTIATION
Aika D OldroydRussiaOnyama Limba NEW
Antonio Y MorascaItalyIvan Magalhaes RENEWAL
Leon R ButtGermanyXuxue Feng QUALIFIED
Chavez B NickaFranceOnyama Limba NEGOTIATION
Ivar U MacleadSpainOnyama Limba NEW
Smith G RutaItalyBernardo Dominic QUALIFIED
Ashley A WieserUnited KingdomBernardo Dominic NEW
Izzy Z CampainIndiaOnyama Limba UNQUALIFIED
Clifford R MaletBrazilOnyama Limba PROPOSAL
Julie C PerinArgentinaIoni Bowcher RENEWAL
Darci Q StensethRussiaElwin Sharvill PROPOSAL
Rodrigues L BriddickFranceStephen Shaw RENEWAL
Jones Z BowleyIndiaIoni Bowcher NEGOTIATION
Aditya R FlosiFranceOnyama Limba PROPOSAL
Kadeem W FollerArgentinaElwin Sharvill PROPOSAL
Mayumi G RoysterBrazilOnyama Limba PROPOSAL
Claire X WhobreyCanadaAsiya Javayant UNQUALIFIED
Stacey R PaprockiArgentinaXuxue Feng RENEWAL
Isabel L MarrierRussiaAmy Elsner PROPOSAL
Alejandro B MorascaFranceStephen Shaw NEW
Jeanfrancois Z AmigonFranceStephen Shaw UNQUALIFIED
Alejandro I InouyeUnited KingdomStephen Shaw QUALIFIED
Kadeem T StockhamRussiaAnna Fali PROPOSAL
Munro O MaletArgentinaBernardo Dominic NEW
Wickens G RutaFranceXuxue Feng NEW
Claire J OldroydUnited KingdomAmy Elsner NEW
James Y MaletAustraliaAmy Elsner NEGOTIATION
Stacey A AmigonJapanIoni Bowcher UNQUALIFIED
Frozen Columns
Name
James J Inouye
Claire Q Nestle
Morrow F Nestle
Alejandro L Schemmer
Faith Z Waycott
Antonio L Stockham
Deepesh F Slusarski
Isabel I Gaucho
Antonio N Caudy
James K Albares
Adams W Poquette
Silvio W Nicka
Johnson P Rim
Arvin V Marrier
Claire T Nestle
Clifford E Kusko
Clifford L Venere
Jeanfrancois I Perin
Greenwood R Doe
Costa G Dilliard
Cody H Caldarera
Ricardo P Foller
Faith N Oldroyd
Ashley M Marrier
Jeanfrancois Y Vocelka
Isabel F Royster
Ricardo L Stockham
Aditya W Ferencz
Wickens I Kusko
Octavia X Caudy
Ashley Z Garufi
Stacey I Perin
Aruna A Malet
Morrow H Oldroyd
Mujtaba T Wieser
Leja S Ferencz
Chavez H Slusarski
Kadeem G Ferencz
Greenwood W Campain
Kaitlin P Ruta
Octavia V Darakjy
Salvatore H Darakjy
Aditya S Slusarski
Misaki T Morasca
Maisha C Rim
Kadeem T Campain
Nicolas Y Venere
Ashley B Bolognia
Alejandro G Wieser
Emily O Sergi
IdCountryDate
1000Argentina2026-10-15
1001Italy2026-10-23
1002Argentina2026-10-19
1003Canada2026-10-20
1004France2026-11-09
1005India2026-11-10
1006Canada2026-11-03
1007Australia2026-11-12
1008India2026-10-15
1009Italy2026-11-01
1010India2026-11-04
1011Germany2026-11-04
1012United Kingdom2026-10-20
1013France2026-10-26
1014Germany2026-11-10
1015Canada2026-10-19
1016Argentina2026-10-18
1017Russia2026-10-20
1018Japan2026-10-28
1019Russia2026-10-24
1020India2026-11-07
1021United Kingdom2026-10-15
1022Italy2026-11-08
1023Germany2026-11-10
1024Argentina2026-10-18
1025France2026-10-20
1026Germany2026-11-05
1027Australia2026-10-21
1028Italy2026-11-07
1029Brazil2026-11-09
1030Germany2026-11-05
1031Russia2026-10-18
1032Italy2026-10-25
1033Brazil2026-10-15
1034Russia2026-10-25
1035Brazil2026-10-15
1036Spain2026-10-24
1037Canada2026-10-30
1038Japan2026-10-22
1039Spain2026-10-18
1040Germany2026-11-06
1041Italy2026-11-07
1042Canada2026-10-29
1043Canada2026-10-18
1044Japan2026-11-04
1045Russia2026-11-05
1046United Kingdom2026-11-05
1047France2026-11-11
1048Italy2026-10-28
1049Argentina2026-10-28

On-Demand Data

NameIdCountryDate
Arvin O Foller1000Argentina2026-11-06
Emily T Bowley1001Australia2026-11-02
Stacey Z Schemmer1002Australia2026-10-24
Faith F Ostrosky1003Italy2026-10-29
Darci P Shinko1004Russia2026-11-08
Deepesh E Ruta1005Argentina2026-11-05
Antonio K Caudy1006Spain2026-11-10
Izzy M Sergi1007Russia2026-11-07
Jones R Flosi1008Brazil2026-10-26
Emily L Marrier1009France2026-11-06
Aruna C Ruta1010Australia2026-11-11
Deepesh R Wieser1011Argentina2026-10-17
Ashley A Chui1012France2026-11-05
Johnson G Caldarera1013Argentina2026-10-28
Wickens G Butt1014France2026-11-07
Kadeem A Vocelka1015Russia2026-10-20
Alejandro E Rim1016Brazil2026-10-21
Ivar Y Doe1017Brazil2026-10-22
Nicolas S Inouye1018Spain2026-10-31
Juan V Nicka1019France2026-11-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James R KuskoRussiaBernardo Dominic QUALIFIED
Emily K FigeroaUnited KingdomAnna Fali RENEWAL
Munro W GlickIndiaAsiya Javayant QUALIFIED
Juan G FerenczAustraliaAnna Fali UNQUALIFIED
Aditya J RimCanadaIoni Bowcher PROPOSAL
Aditya D OldroydUnited KingdomAsiya Javayant QUALIFIED
Morrow U MacleadItalyBernardo Dominic NEW
Leja Q RulapaughIndiaIoni Bowcher NEW
Kaitlin Z StensethItalyIoni Bowcher NEGOTIATION
Octavia E WhobreyGermanyOnyama Limba NEGOTIATION
Francesco T RutaUnited KingdomAmy Elsner RENEWAL
Greenwood B SergiGermanyIvan Magalhaes PROPOSAL
Octavia P DilliardCanadaAmy Elsner NEGOTIATION
Izzy X PaprockiAustraliaOnyama Limba QUALIFIED
Murillo A VenereRussiaAmy Elsner PROPOSAL
Jefferson C OstroskyJapanAsiya Javayant RENEWAL
Nicolas A FlosiArgentinaAmy Elsner RENEWAL
Mujtaba G DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Jones Z DilliardFranceStephen Shaw QUALIFIED
Ashley P RimBrazilElwin Sharvill PROPOSAL
Mayumi N WhobreyUnited KingdomElwin Sharvill QUALIFIED
David W RimSpainIoni Bowcher QUALIFIED
Jones V MaletUnited KingdomIvan Magalhaes NEGOTIATION
Adams Q PaprockiJapanBernardo Dominic NEW
Antonio O PerinSpainStephen Shaw NEW
Jennifer E PerinSpainIvan Magalhaes UNQUALIFIED
Leon U CaudyIndiaIoni Bowcher UNQUALIFIED
Aika H AlbaresUnited KingdomIoni Bowcher QUALIFIED
Adams G KolmetzItalyAmy Elsner UNQUALIFIED
Jennifer H FigeroaSpainBernardo Dominic UNQUALIFIED
Cody R InouyeGermanyOnyama Limba UNQUALIFIED
Leon K PerinSpainAsiya Javayant PROPOSAL
James Q BriddickFranceStephen Shaw RENEWAL
Kaitlin R AmigonCanadaXuxue Feng UNQUALIFIED
Izzy A PerinGermanyBernardo Dominic UNQUALIFIED
Johnson K PerinItalyXuxue Feng NEGOTIATION
Darci R AmigonBrazilAmy Elsner NEW
Aruna Z RimAustraliaAnna Fali PROPOSAL
Costa P AmigonArgentinaAmy Elsner QUALIFIED
Emily F BriddickJapanStephen Shaw 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>