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 L PerinGermanyXuxue Feng NEW
Ricardo Z GillianIndiaAmy Elsner UNQUALIFIED
Jefferson J WaycottIndiaAnna Fali UNQUALIFIED
Ashley W AmigonIndiaAmy Elsner NEW
Izzy M RoysterCanadaXuxue Feng NEGOTIATION
Emily D StockhamCanadaAnna Fali QUALIFIED
Munro C PoquetteUnited KingdomAsiya Javayant QUALIFIED
Misaki V BriddickAustraliaIoni Bowcher NEW
Julie R WhobreyBrazilOnyama Limba NEGOTIATION
Silvio W KuskoUnited KingdomIoni Bowcher NEGOTIATION
Arvin Y WaycottCanadaBernardo Dominic RENEWAL
Maria U SlusarskiCanadaAnna Fali QUALIFIED
Leja Q MacleadAustraliaElwin Sharvill NEGOTIATION
Greenwood F BriddickFranceAmy Elsner UNQUALIFIED
Maisha H AlbaresBrazilOnyama Limba NEGOTIATION
Darci U SaylorsArgentinaStephen Shaw NEW
Smith X BriddickRussiaBernardo Dominic PROPOSAL
Ricardo E MorascaSpainXuxue Feng PROPOSAL
Adams N FlosiArgentinaAnna Fali RENEWAL
Kadeem X TollnerGermanyOnyama Limba QUALIFIED
Wickens L PaprockiIndiaStephen Shaw NEGOTIATION
Clifford Y RoysterGermanyIvan Magalhaes PROPOSAL
Adams W WieserGermanyStephen Shaw RENEWAL
Wickens P GauchoRussiaXuxue Feng RENEWAL
Leja B WhobreyArgentinaOnyama Limba PROPOSAL
Smith Z MarrierGermanyXuxue Feng UNQUALIFIED
Sinclair K KuskoJapanIoni Bowcher NEW
Francesco J WaycottArgentinaXuxue Feng NEGOTIATION
Ricardo U FerenczBrazilBernardo Dominic NEGOTIATION
Antonio N OstroskyItalyAmy Elsner QUALIFIED
Jeanfrancois I NestleRussiaAmy Elsner NEW
Stacey Q PerinSpainAnna Fali NEGOTIATION
Aditya P FollerJapanIvan Magalhaes QUALIFIED
Tony O ChuiCanadaAnna Fali QUALIFIED
Sinclair F NestleGermanyXuxue Feng RENEWAL
Sinclair J GarufiUnited KingdomXuxue Feng NEGOTIATION
Clifford A GlickFranceElwin Sharvill RENEWAL
Kaitlin D NestleItalyOnyama Limba NEGOTIATION
Jones E SlusarskiAustraliaAsiya Javayant UNQUALIFIED
Kadeem G SergiJapanBernardo Dominic NEW
Alejandro C FigeroaUnited KingdomAmy Elsner QUALIFIED
Arvin W KolmetzAustraliaIoni Bowcher NEW
Emily N BowleyUnited KingdomBernardo Dominic NEW
Clifford J BowleyJapanXuxue Feng QUALIFIED
Leja U SergiFranceAsiya Javayant QUALIFIED
Stacey I NickaUnited KingdomElwin Sharvill QUALIFIED
Jefferson Y MaletSpainXuxue Feng PROPOSAL
Kaitlin F MaletFranceAsiya Javayant RENEWAL
Jefferson M MaletAustraliaAmy Elsner RENEWAL
Isabel X FlosiRussiaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Greenwood W CaudyItalyAsiya Javayant RENEWAL
Aditya V DilliardJapanAnna Fali NEW
Salvatore K InouyeItalyXuxue Feng RENEWAL
Juan W PoquetteGermanyElwin Sharvill PROPOSAL
Salvatore A StockhamFranceIvan Magalhaes NEGOTIATION
Emily P FigeroaFranceIoni Bowcher RENEWAL
Morrow R FlosiIndiaStephen Shaw QUALIFIED
Mayumi I StockhamIndiaAsiya Javayant NEGOTIATION
Aditya A PaprockiRussiaAnna Fali RENEWAL
Arvin N OstroskyAustraliaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem H VocelkaFrance2026-09-14Feiner Bros NEGOTIATION29Amy Elsner
1001Antonio C DilliardRussia2026-09-26Benton, John B Jr NEGOTIATION85Ivan Magalhaes
1002Tony I ShinkoGermany2026-09-02Rangoni Of Florence UNQUALIFIED71Onyama Limba
1003Maria V FollerArgentina2026-09-18Chemel, James L Cpa UNQUALIFIED74Ivan Magalhaes
1004Aditya A SlusarskiItaly2026-09-08Feltz Printing Service NEGOTIATION19Onyama Limba
1005Ashley H PerinJapan2026-08-28Feltz Printing Service UNQUALIFIED20Asiya Javayant
1006Darci V RutaRussia2026-08-30Chanay, Jeffrey A Esq NEW14Asiya Javayant
1007Morrow W TollnerGermany2026-09-20Dorl, James J Esq RENEWAL53Bernardo Dominic
1008Kaitlin J VocelkaJapan2026-09-10Dorl, James J Esq PROPOSAL36Anna Fali
1009Maria D RulapaughBrazil2026-09-23Rousseaux, Michael Esq NEGOTIATION66Bernardo Dominic
1010Rodrigues L MacleadCanada2026-09-01Rousseaux, Michael Esq NEGOTIATION41Xuxue Feng
1011Johnson Z SchemmerArgentina2026-09-05Morlong Associates RENEWAL83Stephen Shaw
1012Jefferson E FigeroaArgentina2026-09-09Benton, John B Jr NEGOTIATION87Elwin Sharvill
1013Jefferson R VenereFrance2026-09-25Morlong Associates NEGOTIATION60Ivan Magalhaes
1014Mayumi J CampainGermany2026-09-20Rousseaux, Michael Esq RENEWAL60Asiya Javayant
1015Leon Q InouyeCanada2026-09-08Chemel, James L Cpa UNQUALIFIED18Ivan Magalhaes
1016Emily V MaletAustralia2026-09-25Morlong Associates NEW44Elwin Sharvill
1017Ivar M GlickUnited Kingdom2026-09-10Feiner Bros NEW17Stephen Shaw
1018Maria W DilliardSpain2026-09-13Commercial Press UNQUALIFIED2Ioni Bowcher
1019Ashley G NickaGermany2026-09-10Morlong Associates RENEWAL62Elwin Sharvill
1020Greenwood M GlickSpain2026-09-17Feltz Printing Service UNQUALIFIED29Xuxue Feng
1021Julie G CampainArgentina2026-09-15Chemel, James L Cpa NEW46Asiya Javayant
1022Jones R WaycottUnited Kingdom2026-08-31Benton, John B Jr UNQUALIFIED34Ioni Bowcher
1023Jennifer U MorascaItaly2026-09-07Buckley Miller Wright RENEWAL59Stephen Shaw
1024Salvatore V IturbideCanada2026-09-13Chapman, Ross E Esq NEGOTIATION67Elwin Sharvill
1025Misaki S FlosiBrazil2026-09-24Chapman, Ross E Esq QUALIFIED95Onyama Limba
1026Claire G SaylorsFrance2026-09-24King, Christopher A Esq NEGOTIATION40Ivan Magalhaes
1027Jennifer W IturbideIndia2026-09-18Dorl, James J Esq NEGOTIATION2Asiya Javayant
1028Arvin G AlbaresItaly2026-09-13Morlong Associates QUALIFIED30Onyama Limba
1029Ivar V GauchoItaly2026-09-10Chapman, Ross E Esq RENEWAL86Onyama Limba
1030Deepesh G DarakjyFrance2026-09-07Benton, John B Jr PROPOSAL35Asiya Javayant
1031Aditya C InouyeGermany2026-08-29Chapman, Ross E Esq QUALIFIED42Ioni Bowcher
1032Murillo A NickaCanada2026-08-31Benton, John B Jr NEW58Stephen Shaw
1033Leja V MaletItaly2026-09-11Chapman, Ross E Esq QUALIFIED5Asiya Javayant
1034Jones N MorascaUnited Kingdom2026-09-25Commercial Press UNQUALIFIED6Asiya Javayant
1035Rodrigues U KuskoIndia2026-09-26Feltz Printing Service PROPOSAL42Asiya Javayant
1036Darci B ChuiCanada2026-08-30Chanay, Jeffrey A Esq PROPOSAL92Bernardo Dominic
1037Emily X PaprockiSpain2026-09-17Chanay, Jeffrey A Esq RENEWAL80Ivan Magalhaes
1038David P CaldareraJapan2026-08-29Chanay, Jeffrey A Esq QUALIFIED60Amy Elsner
1039Jones W MaletGermany2026-09-01Dorl, James J Esq UNQUALIFIED81Elwin Sharvill
1040James I StensethArgentina2026-09-20Feltz Printing Service NEW7Bernardo Dominic
1041Costa L PaprockiBrazil2026-09-06Dorl, James J Esq PROPOSAL20Ivan Magalhaes
1042Claire W PerinRussia2026-08-30Rousseaux, Michael Esq PROPOSAL13Stephen Shaw
1043Smith Q BowleyJapan2026-09-03Feiner Bros NEW48Ivan Magalhaes
1044Aditya C SergiRussia2026-09-15Rousseaux, Michael Esq UNQUALIFIED25Asiya Javayant
1045Nicolas W WaycottUnited Kingdom2026-09-17Chanay, Jeffrey A Esq NEGOTIATION62Anna Fali
1046Murillo U PaprockiBrazil2026-08-31Chemel, James L Cpa PROPOSAL51Ivan Magalhaes
1047Jennifer E ChuiCanada2026-09-25King, Christopher A Esq NEGOTIATION92Amy Elsner
1048Alejandro A MaletGermany2026-09-05Commercial Press QUALIFIED1Ioni Bowcher
1049Juan M ButtJapan2026-09-13Dorl, James J Esq QUALIFIED12Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Smith J BologniaCanadaXuxue Feng NEGOTIATION
Salvatore F StensethFranceXuxue Feng PROPOSAL
Deepesh Q DarakjySpainElwin Sharvill QUALIFIED
Salvatore Q FollerRussiaStephen Shaw RENEWAL
Ivar G InouyeCanadaBernardo Dominic PROPOSAL
Leon P MacleadSpainAmy Elsner NEW
Wickens G BowleyBrazilAmy Elsner PROPOSAL
Maria X RimFranceOnyama Limba RENEWAL
Ivar R CampainFranceElwin Sharvill PROPOSAL
Morrow U NestleBrazilIvan Magalhaes NEGOTIATION
Greenwood K TollnerJapanIoni Bowcher NEGOTIATION
Ivar T AlbaresSpainIoni Bowcher RENEWAL
Wickens L MarrierBrazilBernardo Dominic QUALIFIED
Juan J MaletFranceElwin Sharvill NEGOTIATION
Arvin K ShinkoSpainAsiya Javayant QUALIFIED
Aika W OldroydGermanyStephen Shaw RENEWAL
Aika Z SaylorsIndiaStephen Shaw RENEWAL
Jeanfrancois P IturbideGermanyAsiya Javayant NEW
Emily J MaletFranceBernardo Dominic NEW
Antonio R GillianArgentinaXuxue Feng UNQUALIFIED
Wickens O GauchoRussiaAsiya Javayant NEGOTIATION
Kadeem R KolmetzFranceIvan Magalhaes NEW
Kaitlin F BologniaRussiaAnna Fali NEW
Misaki F GillianFranceAmy Elsner NEGOTIATION
Mujtaba W ButtArgentinaOnyama Limba PROPOSAL
Cody T AlbaresUnited KingdomIvan Magalhaes QUALIFIED
Salvatore E AmigonJapanBernardo Dominic PROPOSAL
Faith Y InouyeCanadaOnyama Limba QUALIFIED
David P BowleyArgentinaElwin Sharvill NEGOTIATION
Antonio K MarrierBrazilBernardo Dominic QUALIFIED
Salvatore H SchemmerJapanAsiya Javayant RENEWAL
Aditya K GillianItalyAmy Elsner PROPOSAL
Stacey M CaldareraJapanAsiya Javayant NEGOTIATION
Clifford K InouyeItalyAmy Elsner QUALIFIED
Leon O NestleSpainBernardo Dominic PROPOSAL
Darci A BriddickSpainOnyama Limba RENEWAL
Darci I SchemmerJapanIoni Bowcher RENEWAL
Wickens V MaletAustraliaIoni Bowcher NEW
Ivar R RimAustraliaXuxue Feng NEW
Morrow U SchemmerCanadaOnyama Limba QUALIFIED
David O SlusarskiUnited KingdomBernardo Dominic NEGOTIATION
Murillo T PaprockiBrazilBernardo Dominic UNQUALIFIED
Chavez M OldroydRussiaElwin Sharvill NEW
Adams V VenereAustraliaElwin Sharvill PROPOSAL
Darci L MaletFranceElwin Sharvill RENEWAL
Aruna Z SergiGermanyXuxue Feng RENEWAL
Leon P ButtFranceElwin Sharvill NEGOTIATION
Jefferson U FerenczRussiaXuxue Feng NEW
Octavia D KuskoSpainBernardo Dominic NEW
Maria H StockhamJapanAsiya Javayant NEGOTIATION
Frozen Columns
Name
Cody B Campain
Ivar D Rim
Cody W Gaucho
Jeanfrancois E Darakjy
Kadeem B Bolognia
Mayumi E Nestle
Johnson G Rulapaugh
Mujtaba Z Nestle
Stacey X Sergi
Jefferson N Kusko
Maria X Gaucho
Faith Q Venere
Aruna R Bolognia
Sinclair P Ferencz
Isabel E Caldarera
Emily N Maclead
Johnson V Ferencz
Isabel Q Inouye
Aditya L Saylors
Ricardo Q Shinko
Tony Q Malet
Murillo K Rulapaugh
Jeanfrancois T Albares
Jennifer Y Royster
Kadeem Y Bowley
Salvatore I Marrier
Deepesh T Whobrey
Cody P Briddick
Leon K Figeroa
Aditya H Maclead
Mayumi Z Dilliard
Misaki J Darakjy
Juan R Vocelka
James X Briddick
Ashley J Vocelka
Chavez Z Bowley
Juan K Bowley
Maisha R Doe
Julie F Briddick
Ashley D Paprocki
Kadeem X Butt
Morrow F Ferencz
Juan K Doe
Stacey J Gillian
Antonio Y Morasca
Jones U Butt
Jennifer O Slusarski
Leon K Shinko
Antonio F Nestle
Stacey T Glick
IdCountryDate
1000Canada2026-09-09
1001Canada2026-09-02
1002Japan2026-09-23
1003Argentina2026-09-17
1004Australia2026-09-11
1005Spain2026-09-17
1006Japan2026-09-06
1007Japan2026-09-22
1008Brazil2026-09-06
1009Australia2026-09-22
1010Argentina2026-09-21
1011Japan2026-08-28
1012Canada2026-09-23
1013United Kingdom2026-09-02
1014Brazil2026-09-13
1015Russia2026-09-04
1016Australia2026-09-18
1017Germany2026-08-28
1018Japan2026-09-06
1019India2026-08-31
1020Germany2026-09-23
1021United Kingdom2026-09-10
1022Spain2026-09-22
1023Spain2026-09-02
1024Brazil2026-09-10
1025Spain2026-09-02
1026Germany2026-09-07
1027United Kingdom2026-09-07
1028United Kingdom2026-08-31
1029France2026-09-14
1030Australia2026-09-03
1031Italy2026-09-06
1032India2026-09-20
1033Russia2026-09-10
1034Japan2026-08-28
1035India2026-09-01
1036Russia2026-09-20
1037France2026-09-12
1038United Kingdom2026-09-08
1039Japan2026-09-18
1040Germany2026-09-14
1041India2026-09-05
1042Germany2026-09-25
1043Japan2026-09-14
1044India2026-09-24
1045Russia2026-09-16
1046Argentina2026-09-26
1047Russia2026-09-12
1048Italy2026-09-22
1049Argentina2026-09-25

On-Demand Data

NameIdCountryDate
Murillo C Inouye1000Italy2026-09-13
Juan L Garufi1001Spain2026-09-21
Aruna V Iturbide1002India2026-08-29
Jones H Perin1003Argentina2026-09-02
Mayumi A Foller1004France2026-09-11
Juan B Butt1005India2026-08-30
Jones M Iturbide1006Brazil2026-09-16
Sinclair V Bolognia1007Canada2026-08-30
Francesco X Slusarski1008Italy2026-09-16
Silvio J Shinko1009Canada2026-09-21
Izzy F Maclead1010France2026-09-15
Kadeem X Dilliard1011France2026-09-02
Leon D Stenseth1012United Kingdom2026-09-16
Tony F Malet1013Germany2026-09-22
Jennifer O Flosi1014United Kingdom2026-09-22
Maisha Z Ostrosky1015Spain2026-08-29
Juan B Poquette1016Japan2026-08-31
Murillo S Flosi1017Germany2026-09-21
Salvatore Z Glick1018Germany2026-09-24
Jefferson Q Malet1019Brazil2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya H AlbaresUnited KingdomAnna Fali NEGOTIATION
Smith Q RimArgentinaAsiya Javayant QUALIFIED
Izzy U KolmetzItalyElwin Sharvill PROPOSAL
James F RoysterCanadaElwin Sharvill NEW
Mujtaba Q MaletAustraliaElwin Sharvill NEGOTIATION
Aditya Y SchemmerItalyAsiya Javayant NEGOTIATION
Octavia L ShinkoItalyStephen Shaw PROPOSAL
Jefferson D MacleadArgentinaIoni Bowcher NEW
David K NestleSpainIoni Bowcher PROPOSAL
Deepesh I GillianAustraliaXuxue Feng QUALIFIED
Jones R KuskoItalyAsiya Javayant RENEWAL
Jennifer U ChuiFranceBernardo Dominic NEGOTIATION
Munro C SergiArgentinaElwin Sharvill RENEWAL
Kaitlin Z MarrierArgentinaStephen Shaw QUALIFIED
Silvio P RoysterCanadaAmy Elsner RENEWAL
Kadeem R ShinkoItalyElwin Sharvill RENEWAL
Munro W VenereBrazilIvan Magalhaes PROPOSAL
David N ChuiBrazilOnyama Limba NEW
Tony K MaletJapanBernardo Dominic QUALIFIED
Johnson B ChuiBrazilIoni Bowcher NEGOTIATION
Cody F AmigonCanadaAmy Elsner PROPOSAL
Leja B KolmetzBrazilBernardo Dominic NEGOTIATION
Ashley Q BriddickJapanBernardo Dominic PROPOSAL
Faith C FerenczJapanAsiya Javayant QUALIFIED
Silvio V SaylorsJapanAsiya Javayant NEW
David S VenereCanadaAsiya Javayant NEW
Murillo B FollerIndiaXuxue Feng QUALIFIED
Octavia N RoysterSpainIvan Magalhaes PROPOSAL
Leja K OldroydAustraliaAmy Elsner RENEWAL
Jefferson T MarrierSpainAnna Fali UNQUALIFIED
Juan K SaylorsCanadaAsiya Javayant UNQUALIFIED
Ashley E TollnerItalyIvan Magalhaes UNQUALIFIED
Octavia N GauchoRussiaAnna Fali QUALIFIED
Faith M RimSpainAmy Elsner UNQUALIFIED
Izzy I AmigonIndiaElwin Sharvill RENEWAL
Salvatore J VocelkaCanadaBernardo Dominic RENEWAL
Deepesh R DoeCanadaAmy Elsner RENEWAL
Darci X GauchoArgentinaOnyama Limba QUALIFIED
Emily E BowleyGermanyAnna Fali NEGOTIATION
Octavia H WaycottIndiaAnna Fali 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>