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
Jeanfrancois O InouyeFranceIvan Magalhaes NEGOTIATION
Stacey P CaldareraFranceAsiya Javayant QUALIFIED
Jones D OldroydUnited KingdomStephen Shaw PROPOSAL
Jones J AlbaresSpainStephen Shaw RENEWAL
Rodrigues S CampainBrazilBernardo Dominic QUALIFIED
Aika U GlickBrazilIoni Bowcher QUALIFIED
Ivar W RimRussiaAnna Fali NEGOTIATION
Ricardo A FollerFranceIoni Bowcher QUALIFIED
Leja N CaudyItalyBernardo Dominic NEW
Arvin V InouyeBrazilAnna Fali PROPOSAL
Misaki R SergiRussiaElwin Sharvill NEGOTIATION
Tony O MorascaIndiaElwin Sharvill QUALIFIED
Kadeem E StensethCanadaXuxue Feng UNQUALIFIED
Ivar O OstroskyGermanyIvan Magalhaes NEGOTIATION
Aika E MacleadJapanXuxue Feng QUALIFIED
Cody J RoysterArgentinaAsiya Javayant NEW
Julie C RoysterAustraliaAmy Elsner UNQUALIFIED
Silvio N SergiSpainXuxue Feng NEW
Greenwood S MarrierIndiaIoni Bowcher NEW
Ricardo S GarufiRussiaStephen Shaw UNQUALIFIED
Juan O RoysterJapanAsiya Javayant RENEWAL
Leja A WhobreyBrazilIoni Bowcher UNQUALIFIED
Wickens Z GarufiArgentinaAsiya Javayant PROPOSAL
Aika C GlickGermanyXuxue Feng NEW
Sinclair O CaudyFranceIoni Bowcher UNQUALIFIED
Aruna N ChuiSpainAmy Elsner NEGOTIATION
Morrow E FlosiJapanXuxue Feng NEGOTIATION
Faith K BriddickUnited KingdomIoni Bowcher UNQUALIFIED
Cody P WhobreyAustraliaIvan Magalhaes NEW
Ashley K MaletCanadaOnyama Limba NEGOTIATION
Francesco T WaycottAustraliaElwin Sharvill UNQUALIFIED
Jennifer G StensethFranceBernardo Dominic RENEWAL
Arvin I CampainIndiaElwin Sharvill RENEWAL
Faith X ButtUnited KingdomElwin Sharvill RENEWAL
Silvio M RoysterFranceElwin Sharvill PROPOSAL
Smith N FollerIndiaXuxue Feng PROPOSAL
Mayumi Y InouyeItalyAsiya Javayant RENEWAL
Johnson T CampainFranceStephen Shaw PROPOSAL
Costa T DoeCanadaAnna Fali PROPOSAL
Julie R DarakjyJapanElwin Sharvill NEW
Mujtaba G StensethIndiaStephen Shaw NEW
Cody I CampainIndiaIvan Magalhaes RENEWAL
Octavia W KolmetzRussiaIvan Magalhaes NEW
Jeanfrancois O AmigonAustraliaAmy Elsner RENEWAL
Francesco B RutaBrazilAnna Fali PROPOSAL
Johnson K MorascaAustraliaXuxue Feng NEGOTIATION
Ivar F PerinItalyAnna Fali PROPOSAL
Ricardo G NickaGermanyAsiya Javayant RENEWAL
Rodrigues F MarrierFranceOnyama Limba UNQUALIFIED
Deepesh Z PerinSpainElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Salvatore K StockhamBrazilBernardo Dominic UNQUALIFIED
Tony C StensethUnited KingdomAmy Elsner UNQUALIFIED
Jeanfrancois J KolmetzAustraliaOnyama Limba QUALIFIED
Leja I ButtSpainXuxue Feng QUALIFIED
Nicolas B GillianArgentinaIvan Magalhaes RENEWAL
Costa A ShinkoJapanStephen Shaw RENEWAL
Jennifer L RutaBrazilAmy Elsner NEGOTIATION
Misaki H BologniaIndiaElwin Sharvill PROPOSAL
Claire Q KuskoArgentinaAnna Fali NEW
James W InouyeCanadaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna W StensethBrazil2026-10-18Commercial Press NEW65Anna Fali
1001Alejandro P FigeroaAustralia2026-09-29Commercial Press UNQUALIFIED35Xuxue Feng
1002Darci R SaylorsAustralia2026-09-26Chanay, Jeffrey A Esq RENEWAL48Ioni Bowcher
1003Alejandro W PaprockiUnited Kingdom2026-10-03Morlong Associates UNQUALIFIED3Amy Elsner
1004Salvatore N PoquetteArgentina2026-10-18King, Christopher A Esq PROPOSAL49Ioni Bowcher
1005Wickens X RutaIndia2026-10-17Rousseaux, Michael Esq RENEWAL66Asiya Javayant
1006Nicolas M InouyeUnited Kingdom2026-09-27Buckley Miller Wright NEGOTIATION58Stephen Shaw
1007Munro W GlickJapan2026-10-13Dorl, James J Esq NEW37Elwin Sharvill
1008Maisha S StensethJapan2026-10-01Rousseaux, Michael Esq PROPOSAL57Bernardo Dominic
1009Deepesh D ChuiGermany2026-10-16Morlong Associates NEW98Stephen Shaw
1010Wickens F MorascaArgentina2026-09-27Morlong Associates QUALIFIED41Bernardo Dominic
1011Clifford T MacleadSpain2026-09-29King, Christopher A Esq RENEWAL9Amy Elsner
1012Johnson N FigeroaArgentina2026-10-05Chapman, Ross E Esq UNQUALIFIED60Stephen Shaw
1013Leja A FlosiJapan2026-09-22Feltz Printing Service NEW95Stephen Shaw
1014Nicolas I DilliardItaly2026-09-22Buckley Miller Wright QUALIFIED81Anna Fali
1015Leja L TollnerRussia2026-10-17Dorl, James J Esq UNQUALIFIED38Onyama Limba
1016Chavez Z TollnerGermany2026-10-06King, Christopher A Esq QUALIFIED95Amy Elsner
1017Aditya B MaletIndia2026-10-19Commercial Press PROPOSAL73Ioni Bowcher
1018Morrow L CampainItaly2026-10-09Chanay, Jeffrey A Esq QUALIFIED13Ivan Magalhaes
1019Maisha H BriddickArgentina2026-10-20Rangoni Of Florence QUALIFIED36Onyama Limba
1020Smith G GarufiIndia2026-10-02Commercial Press NEGOTIATION56Elwin Sharvill
1021Morrow A BowleyIndia2026-10-15Rangoni Of Florence QUALIFIED26Bernardo Dominic
1022Deepesh P AmigonFrance2026-10-07Rousseaux, Michael Esq RENEWAL93Onyama Limba
1023James E FigeroaGermany2026-10-03Feiner Bros NEW40Amy Elsner
1024Smith L DilliardIndia2026-09-29Feiner Bros QUALIFIED11Onyama Limba
1025Juan O BowleyRussia2026-09-27Truhlar And Truhlar Attys QUALIFIED14Xuxue Feng
1026Ricardo V OldroydSpain2026-09-29Chemel, James L Cpa RENEWAL8Xuxue Feng
1027Jefferson O AmigonUnited Kingdom2026-10-07Rousseaux, Michael Esq QUALIFIED35Amy Elsner
1028Mayumi X MaletSpain2026-09-25Feiner Bros QUALIFIED72Anna Fali
1029Francesco Q BologniaRussia2026-10-21Morlong Associates NEW29Amy Elsner
1030Antonio E MaletGermany2026-09-26Morlong Associates QUALIFIED6Ivan Magalhaes
1031Jennifer S NestleIndia2026-10-19Chapman, Ross E Esq RENEWAL85Ivan Magalhaes
1032Mujtaba A WhobreyBrazil2026-09-28Buckley Miller Wright RENEWAL42Asiya Javayant
1033Jefferson T NickaGermany2026-10-12Dorl, James J Esq UNQUALIFIED58Amy Elsner
1034Morrow U PaprockiUnited Kingdom2026-09-28Morlong Associates QUALIFIED13Bernardo Dominic
1035Tony V GauchoArgentina2026-10-08Truhlar And Truhlar Attys UNQUALIFIED48Bernardo Dominic
1036Jeanfrancois A TollnerUnited Kingdom2026-10-11Benton, John B Jr NEGOTIATION49Anna Fali
1037Alejandro C MorascaIndia2026-09-27Dorl, James J Esq RENEWAL44Ivan Magalhaes
1038Adams U CaldareraIndia2026-10-06Buckley Miller Wright PROPOSAL82Ioni Bowcher
1039Stacey L MorascaIndia2026-10-17Chemel, James L Cpa RENEWAL7Asiya Javayant
1040James G AmigonIndia2026-10-13Chapman, Ross E Esq QUALIFIED29Elwin Sharvill
1041Chavez X BologniaCanada2026-09-22Feiner Bros NEGOTIATION35Elwin Sharvill
1042Ashley N VenereFrance2026-10-08Benton, John B Jr PROPOSAL18Ioni Bowcher
1043Cody K ChuiIndia2026-10-07Chemel, James L Cpa UNQUALIFIED87Ivan Magalhaes
1044Salvatore N ChuiRussia2026-10-12Rousseaux, Michael Esq QUALIFIED33Ivan Magalhaes
1045James T SlusarskiBrazil2026-09-30Chanay, Jeffrey A Esq UNQUALIFIED25Anna Fali
1046Sinclair J WhobreyRussia2026-10-07Printing Dimensions UNQUALIFIED68Elwin Sharvill
1047Antonio H DarakjyBrazil2026-09-27King, Christopher A Esq QUALIFIED14Ivan Magalhaes
1048Ricardo C CaldareraArgentina2026-10-14Chapman, Ross E Esq QUALIFIED2Elwin Sharvill
1049Antonio Y RulapaughItaly2026-10-20Chapman, Ross E Esq UNQUALIFIED9Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Johnson R MaletSpainXuxue Feng PROPOSAL
Alejandro O GauchoFranceBernardo Dominic NEGOTIATION
Juan M DarakjyJapanAmy Elsner UNQUALIFIED
Chavez U DarakjyJapanAmy Elsner PROPOSAL
Johnson P SlusarskiSpainBernardo Dominic RENEWAL
Aditya Y GauchoCanadaIoni Bowcher UNQUALIFIED
Maria E NickaRussiaXuxue Feng QUALIFIED
Mayumi G MaletRussiaElwin Sharvill UNQUALIFIED
Mayumi S NickaRussiaBernardo Dominic NEW
Aditya X WaycottIndiaIvan Magalhaes PROPOSAL
Smith R InouyeArgentinaBernardo Dominic NEGOTIATION
Costa U MaletCanadaAmy Elsner UNQUALIFIED
Tony H MarrierIndiaOnyama Limba RENEWAL
Murillo X MarrierFranceBernardo Dominic NEGOTIATION
Jones A KolmetzIndiaOnyama Limba RENEWAL
Izzy A AlbaresRussiaIoni Bowcher QUALIFIED
Mujtaba V AmigonAustraliaAmy Elsner NEW
Tony B FerenczIndiaStephen Shaw NEW
Jones G MaletUnited KingdomBernardo Dominic PROPOSAL
Chavez S InouyeJapanOnyama Limba NEGOTIATION
Tony V VenereAustraliaAsiya Javayant PROPOSAL
Arvin P FigeroaFranceIvan Magalhaes NEGOTIATION
Claire W RutaIndiaAmy Elsner NEW
Silvio E WhobreyIndiaStephen Shaw RENEWAL
James Z TollnerAustraliaBernardo Dominic QUALIFIED
Costa S MaletItalyStephen Shaw QUALIFIED
David E MaletJapanIvan Magalhaes NEGOTIATION
Mujtaba J ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Leja L ShinkoSpainXuxue Feng RENEWAL
Jeanfrancois A StensethArgentinaIvan Magalhaes UNQUALIFIED
Arvin S PerinBrazilIvan Magalhaes NEW
Aika V IturbideFranceAmy Elsner PROPOSAL
Jennifer W SergiCanadaAmy Elsner PROPOSAL
Clifford F DoeIndiaElwin Sharvill PROPOSAL
Mujtaba N PaprockiGermanyAnna Fali RENEWAL
Johnson F DilliardItalyIoni Bowcher NEGOTIATION
Cody H PoquetteRussiaOnyama Limba QUALIFIED
Chavez F DoeSpainStephen Shaw RENEWAL
Deepesh C BologniaIndiaAnna Fali NEW
Nicolas F CampainCanadaAmy Elsner PROPOSAL
Julie S InouyeItalyAnna Fali QUALIFIED
Leon W GillianRussiaStephen Shaw UNQUALIFIED
Aika P NickaFranceAnna Fali QUALIFIED
Jones B BowleyFranceStephen Shaw QUALIFIED
Claire Y DarakjyFranceAsiya Javayant NEW
Maisha N StockhamCanadaBernardo Dominic UNQUALIFIED
Murillo O BowleyGermanyAmy Elsner UNQUALIFIED
James N AlbaresSpainIoni Bowcher RENEWAL
Isabel Z PerinGermanyBernardo Dominic NEGOTIATION
Murillo V AlbaresArgentinaStephen Shaw PROPOSAL
Frozen Columns
Name
Clifford R Maclead
Chavez Y Whobrey
Misaki W Paprocki
Murillo J Shinko
Greenwood P Kusko
Darci E Inouye
Rodrigues M Venere
Izzy K Chui
Salvatore X Chui
Julie Q Slusarski
Rodrigues X Tollner
Murillo X Doe
David B Campain
Tony N Malet
Aditya B Butt
Mujtaba E Ostrosky
James F Rulapaugh
Johnson V Marrier
Cody U Figeroa
Francesco O Foller
Jennifer O Malet
Cody P Marrier
Deepesh J Butt
Nicolas U Kolmetz
David C Royster
Arvin E Inouye
Smith F Campain
Nicolas R Malet
Chavez P Ostrosky
Sinclair B Schemmer
Emily T Glick
Darci T Albares
Isabel E Slusarski
Silvio U Caudy
Ashley L Malet
Rodrigues Q Poquette
Chavez S Sergi
Ivar B Shinko
Chavez D Whobrey
Costa G Garufi
Silvio O Nestle
Maisha V Ferencz
Adams V Marrier
Ricardo C Paprocki
Cody V Paprocki
Rodrigues G Nicka
Mayumi X Bowley
Murillo T Venere
James K Perin
Munro X Flosi
IdCountryDate
1000Italy2026-10-16
1001United Kingdom2026-10-06
1002Brazil2026-10-05
1003Italy2026-10-20
1004United Kingdom2026-10-13
1005Brazil2026-09-22
1006Russia2026-09-27
1007Germany2026-09-24
1008Brazil2026-09-24
1009Italy2026-10-02
1010Spain2026-10-16
1011Australia2026-10-02
1012Russia2026-10-07
1013Argentina2026-10-12
1014Argentina2026-09-29
1015India2026-09-24
1016Russia2026-10-03
1017Brazil2026-09-29
1018Australia2026-10-14
1019Russia2026-09-22
1020Argentina2026-10-11
1021Germany2026-10-21
1022Germany2026-09-25
1023Italy2026-10-12
1024Brazil2026-09-25
1025Argentina2026-09-28
1026United Kingdom2026-09-26
1027United Kingdom2026-10-05
1028Italy2026-10-14
1029Canada2026-10-04
1030Argentina2026-10-17
1031Russia2026-09-24
1032Australia2026-10-04
1033Russia2026-09-27
1034Australia2026-09-27
1035France2026-09-23
1036United Kingdom2026-09-29
1037Spain2026-10-17
1038Russia2026-10-05
1039United Kingdom2026-09-28
1040Brazil2026-10-15
1041Brazil2026-10-15
1042France2026-09-24
1043Canada2026-10-04
1044Brazil2026-10-11
1045Argentina2026-10-01
1046Canada2026-10-06
1047Australia2026-10-03
1048Spain2026-09-28
1049Canada2026-10-16

On-Demand Data

NameIdCountryDate
Aruna V Saylors1000Germany2026-10-05
Maria I Malet1001India2026-10-20
Morrow B Venere1002Brazil2026-10-21
Jefferson B Sergi1003Germany2026-10-06
Julie Z Caldarera1004Canada2026-10-15
Stacey R Morasca1005Germany2026-09-25
Sinclair H Schemmer1006Italy2026-10-11
Ivar B Darakjy1007Argentina2026-10-06
Ivar R Bowley1008Italy2026-10-07
Jefferson I Venere1009Germany2026-09-29
Rodrigues E Tollner1010Germany2026-10-14
Smith Y Whobrey1011India2026-10-09
Munro J Slusarski1012Spain2026-09-28
Aika R Vocelka1013Germany2026-10-07
Ivar E Glick1014Australia2026-10-13
Clifford Q Malet1015Brazil2026-10-02
Jones P Foller1016Japan2026-10-15
James U Rim1017Germany2026-10-15
Antonio L Foller1018France2026-10-06
Wickens X Butt1019Australia2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David N CampainIndiaBernardo Dominic RENEWAL
Rodrigues E PerinGermanyAsiya Javayant NEW
Isabel Q MaletItalyAnna Fali PROPOSAL
Sinclair N FerenczFranceXuxue Feng RENEWAL
Costa E MaletJapanIvan Magalhaes PROPOSAL
Misaki D NestleItalyIoni Bowcher RENEWAL
Silvio N WhobreySpainXuxue Feng RENEWAL
Costa H StockhamCanadaIoni Bowcher QUALIFIED
Mayumi B RimBrazilAmy Elsner PROPOSAL
Misaki D ChuiArgentinaAmy Elsner NEGOTIATION
Isabel O BowleyIndiaStephen Shaw PROPOSAL
Salvatore N NestleArgentinaBernardo Dominic RENEWAL
Antonio V DilliardItalyOnyama Limba QUALIFIED
Kadeem P GarufiGermanyOnyama Limba PROPOSAL
Clifford F RimAustraliaOnyama Limba RENEWAL
Jones R PoquetteSpainElwin Sharvill UNQUALIFIED
Nicolas L NickaGermanyAsiya Javayant RENEWAL
Rodrigues K BriddickRussiaBernardo Dominic UNQUALIFIED
Faith Q FollerUnited KingdomAmy Elsner PROPOSAL
Jennifer R OldroydIndiaOnyama Limba RENEWAL
Morrow Y CaldareraArgentinaStephen Shaw UNQUALIFIED
Maria E FerenczAustraliaAsiya Javayant RENEWAL
Maisha H VenereBrazilIvan Magalhaes RENEWAL
Salvatore O SchemmerBrazilOnyama Limba RENEWAL
Ivar X BowleyRussiaIoni Bowcher UNQUALIFIED
Isabel P CaudyAustraliaElwin Sharvill NEGOTIATION
Mujtaba L StockhamItalyXuxue Feng QUALIFIED
Leon X CaldareraJapanOnyama Limba PROPOSAL
Clifford D GarufiFranceStephen Shaw RENEWAL
Maria V GauchoJapanStephen Shaw UNQUALIFIED
Aika I CaldareraCanadaElwin Sharvill QUALIFIED
Jennifer E NickaBrazilStephen Shaw UNQUALIFIED
Mayumi B CampainItalyBernardo Dominic QUALIFIED
Nicolas A DarakjySpainAsiya Javayant UNQUALIFIED
Murillo O FollerAustraliaIvan Magalhaes UNQUALIFIED
Silvio P MorascaArgentinaXuxue Feng NEW
Smith F ChuiSpainAsiya Javayant RENEWAL
Aika V BriddickAustraliaAmy Elsner UNQUALIFIED
Francesco C GarufiSpainAnna Fali PROPOSAL
Aika N VenereJapanBernardo Dominic 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>