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
Jennifer V BriddickUnited KingdomElwin Sharvill RENEWAL
Greenwood S RoysterCanadaIoni Bowcher PROPOSAL
Wickens F CampainItalyAsiya Javayant NEGOTIATION
Cody J StensethItalyIvan Magalhaes RENEWAL
Ricardo I FollerAustraliaElwin Sharvill NEW
Jefferson E KuskoSpainElwin Sharvill QUALIFIED
Antonio C DilliardJapanOnyama Limba RENEWAL
Silvio L StockhamGermanyBernardo Dominic PROPOSAL
Adams Q FlosiCanadaBernardo Dominic NEW
David N BowleyArgentinaIoni Bowcher QUALIFIED
Tony B WhobreyRussiaIvan Magalhaes NEW
Leon M InouyeSpainBernardo Dominic RENEWAL
Jeanfrancois K SlusarskiRussiaAnna Fali NEGOTIATION
Greenwood N RimGermanyAsiya Javayant UNQUALIFIED
Claire A KuskoCanadaIoni Bowcher NEGOTIATION
Aruna J DoeArgentinaXuxue Feng UNQUALIFIED
Emily T DoeFranceElwin Sharvill RENEWAL
Salvatore C KolmetzCanadaAsiya Javayant RENEWAL
Johnson V SaylorsGermanyStephen Shaw PROPOSAL
Murillo S WaycottGermanyAmy Elsner QUALIFIED
Wickens Y WhobreyIndiaStephen Shaw NEW
Clifford Z ButtJapanXuxue Feng NEGOTIATION
James D MaletItalyAsiya Javayant PROPOSAL
Sinclair Y BowleySpainOnyama Limba NEGOTIATION
Chavez D WhobreyRussiaBernardo Dominic QUALIFIED
Johnson R RutaItalyIoni Bowcher QUALIFIED
Tony J CaldareraArgentinaIvan Magalhaes NEGOTIATION
Deepesh J BowleyCanadaStephen Shaw PROPOSAL
Leja Y GarufiGermanyAsiya Javayant NEGOTIATION
Cody X StensethCanadaAnna Fali PROPOSAL
Greenwood Q FlosiItalyIvan Magalhaes QUALIFIED
Munro J StockhamUnited KingdomAsiya Javayant NEGOTIATION
Costa S DoeItalyAnna Fali NEGOTIATION
Silvio C TollnerJapanAmy Elsner NEW
Isabel N PoquetteArgentinaOnyama Limba RENEWAL
Aruna W AlbaresArgentinaAnna Fali NEGOTIATION
Isabel K NickaItalyIvan Magalhaes NEW
Aruna L FollerCanadaAmy Elsner RENEWAL
Alejandro E FlosiBrazilElwin Sharvill PROPOSAL
Nicolas M RulapaughIndiaOnyama Limba PROPOSAL
Ricardo K DoeRussiaIvan Magalhaes UNQUALIFIED
Aika Z KolmetzCanadaAsiya Javayant QUALIFIED
Izzy N FollerFranceElwin Sharvill NEGOTIATION
Munro I CaudyGermanyBernardo Dominic NEGOTIATION
Cody B MaletFranceAnna Fali QUALIFIED
Mayumi U RoysterCanadaAnna Fali UNQUALIFIED
Aika J DoeFranceAnna Fali NEGOTIATION
Faith R StensethSpainAnna Fali PROPOSAL
Costa N InouyeBrazilOnyama Limba PROPOSAL
Adams T FlosiItalyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith Z CaldareraCanadaElwin Sharvill RENEWAL
Izzy Q IturbideArgentinaIvan Magalhaes RENEWAL
Jeanfrancois T RulapaughFranceIoni Bowcher UNQUALIFIED
Murillo T GillianUnited KingdomIvan Magalhaes PROPOSAL
Faith U WhobreyBrazilAmy Elsner PROPOSAL
Mujtaba F ShinkoAustraliaXuxue Feng PROPOSAL
Sinclair E SaylorsFranceXuxue Feng PROPOSAL
Jeanfrancois E BriddickJapanAmy Elsner PROPOSAL
Tony E FigeroaFranceAnna Fali QUALIFIED
Claire H WieserJapanStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro M RimAustralia2026-09-24Rangoni Of Florence PROPOSAL7Xuxue Feng
1001Smith D CaudyRussia2026-10-10Commercial Press PROPOSAL85Onyama Limba
1002Faith O CaudyBrazil2026-09-29Feiner Bros NEW22Xuxue Feng
1003Darci Z NestleCanada2026-09-28Feiner Bros UNQUALIFIED41Xuxue Feng
1004Darci J OstroskyIndia2026-10-13Printing Dimensions QUALIFIED28Ioni Bowcher
1005Aditya H MaletRussia2026-10-18Commercial Press NEW77Amy Elsner
1006Aruna R WieserFrance2026-10-13Rangoni Of Florence UNQUALIFIED43Elwin Sharvill
1007Kaitlin K FlosiBrazil2026-09-29Feiner Bros NEGOTIATION10Bernardo Dominic
1008Francesco T VenereBrazil2026-09-24Rangoni Of Florence NEGOTIATION20Stephen Shaw
1009Darci A CaudyAustralia2026-10-08Buckley Miller Wright NEW3Ivan Magalhaes
1010Munro J TollnerArgentina2026-10-17Printing Dimensions UNQUALIFIED57Ivan Magalhaes
1011Julie I IturbideUnited Kingdom2026-09-23King, Christopher A Esq RENEWAL81Bernardo Dominic
1012Munro C StockhamGermany2026-10-08Commercial Press NEW65Bernardo Dominic
1013Emily D ShinkoSpain2026-09-24Chemel, James L Cpa UNQUALIFIED20Anna Fali
1014Darci V DoeFrance2026-10-03Chapman, Ross E Esq NEGOTIATION42Xuxue Feng
1015Maria K WieserGermany2026-10-21King, Christopher A Esq NEGOTIATION82Stephen Shaw
1016Faith A FollerRussia2026-09-29Feltz Printing Service RENEWAL73Stephen Shaw
1017Adams P MaletItaly2026-09-27Chemel, James L Cpa RENEWAL83Asiya Javayant
1018Aruna L PerinFrance2026-09-30Chanay, Jeffrey A Esq NEW22Bernardo Dominic
1019Arvin N SaylorsUnited Kingdom2026-10-02Chapman, Ross E Esq NEW55Bernardo Dominic
1020James T CaudyCanada2026-10-08Benton, John B Jr QUALIFIED9Xuxue Feng
1021Salvatore U AlbaresBrazil2026-10-01Dorl, James J Esq NEGOTIATION99Anna Fali
1022Greenwood Y SaylorsFrance2026-09-28Commercial Press NEW52Asiya Javayant
1023Kadeem A KolmetzBrazil2026-10-21Benton, John B Jr RENEWAL46Xuxue Feng
1024Stacey L RimCanada2026-10-02Commercial Press PROPOSAL67Bernardo Dominic
1025Aruna K RoysterRussia2026-10-14King, Christopher A Esq UNQUALIFIED45Anna Fali
1026Ashley J SaylorsBrazil2026-10-08King, Christopher A Esq QUALIFIED87Elwin Sharvill
1027Francesco P MaletFrance2026-10-04Commercial Press NEGOTIATION56Ioni Bowcher
1028Alejandro I KolmetzSpain2026-09-24Chanay, Jeffrey A Esq QUALIFIED55Anna Fali
1029Jefferson Y FollerCanada2026-10-06Buckley Miller Wright QUALIFIED75Elwin Sharvill
1030Deepesh G RutaFrance2026-10-07Benton, John B Jr NEW32Xuxue Feng
1031Antonio N PerinFrance2026-10-05Chapman, Ross E Esq RENEWAL13Anna Fali
1032Alejandro Y WieserBrazil2026-10-18Chemel, James L Cpa NEGOTIATION52Onyama Limba
1033Stacey B BowleyRussia2026-10-05Chanay, Jeffrey A Esq UNQUALIFIED53Ivan Magalhaes
1034Jones S PerinUnited Kingdom2026-10-18Truhlar And Truhlar Attys PROPOSAL35Onyama Limba
1035Isabel X VocelkaIndia2026-09-30Truhlar And Truhlar Attys PROPOSAL63Asiya Javayant
1036Wickens A MarrierGermany2026-10-09Benton, John B Jr PROPOSAL88Bernardo Dominic
1037Tony A BriddickFrance2026-10-17Chanay, Jeffrey A Esq QUALIFIED52Ivan Magalhaes
1038Maisha F StensethSpain2026-10-09Rousseaux, Michael Esq NEGOTIATION22Anna Fali
1039Silvio C GauchoCanada2026-10-11Commercial Press NEW41Ioni Bowcher
1040Cody M TollnerAustralia2026-10-01Chapman, Ross E Esq UNQUALIFIED51Bernardo Dominic
1041Octavia T ShinkoBrazil2026-10-14Chapman, Ross E Esq NEGOTIATION66Stephen Shaw
1042Emily X ChuiBrazil2026-10-05King, Christopher A Esq NEGOTIATION25Xuxue Feng
1043Emily Q InouyeIndia2026-09-29Morlong Associates UNQUALIFIED93Ioni Bowcher
1044Jeanfrancois T SchemmerArgentina2026-10-08Printing Dimensions UNQUALIFIED40Amy Elsner
1045Aika J GlickBrazil2026-10-12Rangoni Of Florence NEW86Elwin Sharvill
1046Aditya X KolmetzItaly2026-10-03King, Christopher A Esq PROPOSAL4Onyama Limba
1047Octavia Y FlosiArgentina2026-10-05Buckley Miller Wright QUALIFIED59Amy Elsner
1048Cody G KolmetzArgentina2026-10-21Dorl, James J Esq NEGOTIATION38Asiya Javayant
1049Jeanfrancois A MarrierCanada2026-09-24Printing Dimensions RENEWAL57Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jones R MacleadItalyAmy Elsner NEGOTIATION
Salvatore W StensethCanadaXuxue Feng PROPOSAL
Misaki J NickaRussiaOnyama Limba RENEWAL
Julie B ShinkoAustraliaAsiya Javayant UNQUALIFIED
Isabel E ChuiCanadaIvan Magalhaes RENEWAL
Arvin F WhobreyGermanyAnna Fali UNQUALIFIED
Salvatore P FollerCanadaStephen Shaw PROPOSAL
Silvio J InouyeGermanyIvan Magalhaes NEGOTIATION
Ashley X CampainSpainOnyama Limba QUALIFIED
Juan S IturbideGermanyOnyama Limba RENEWAL
Morrow L KuskoAustraliaXuxue Feng QUALIFIED
Ricardo H FerenczFranceXuxue Feng UNQUALIFIED
Nicolas S WaycottUnited KingdomStephen Shaw RENEWAL
Silvio Y ButtIndiaIvan Magalhaes NEW
Clifford H MacleadJapanElwin Sharvill NEW
Ashley Q MorascaBrazilXuxue Feng NEW
Wickens O GarufiUnited KingdomAnna Fali PROPOSAL
Francesco A PaprockiCanadaBernardo Dominic NEW
Greenwood K AmigonRussiaAmy Elsner QUALIFIED
Maria I MaletItalyAnna Fali QUALIFIED
Adams A AlbaresAustraliaXuxue Feng NEGOTIATION
Aika M GauchoCanadaElwin Sharvill PROPOSAL
Ricardo D MaletUnited KingdomAnna Fali QUALIFIED
Kaitlin N VocelkaGermanyIoni Bowcher RENEWAL
Tony T RimIndiaIoni Bowcher NEGOTIATION
Wickens F PaprockiBrazilAmy Elsner NEW
Jeanfrancois Z SchemmerItalyOnyama Limba UNQUALIFIED
Misaki Y BologniaJapanAsiya Javayant RENEWAL
Aika X MarrierItalyElwin Sharvill RENEWAL
Octavia F InouyeCanadaAmy Elsner RENEWAL
Maisha M FlosiUnited KingdomAsiya Javayant PROPOSAL
Tony O StockhamBrazilElwin Sharvill QUALIFIED
Julie H SchemmerIndiaAnna Fali RENEWAL
Maisha J MarrierItalyAmy Elsner UNQUALIFIED
Maisha X ChuiBrazilAnna Fali NEW
Darci I RoysterJapanXuxue Feng RENEWAL
Salvatore U KuskoJapanOnyama Limba NEGOTIATION
David A RulapaughCanadaIoni Bowcher RENEWAL
Misaki S SaylorsUnited KingdomAmy Elsner QUALIFIED
Faith K RimCanadaIvan Magalhaes NEGOTIATION
Julie G GillianCanadaAnna Fali UNQUALIFIED
Aditya C MarrierBrazilBernardo Dominic UNQUALIFIED
Isabel Y PoquetteRussiaAnna Fali PROPOSAL
Wickens C RulapaughItalyBernardo Dominic RENEWAL
Julie T RutaJapanStephen Shaw RENEWAL
Octavia I GarufiRussiaAmy Elsner PROPOSAL
Francesco A StockhamCanadaAsiya Javayant QUALIFIED
Alejandro C PerinCanadaElwin Sharvill RENEWAL
Chavez O FigeroaCanadaOnyama Limba NEGOTIATION
Aika H WieserArgentinaIoni Bowcher NEW
Frozen Columns
Name
Aditya Y Briddick
Nicolas I Gaucho
Ricardo D Ostrosky
Rodrigues T Glick
Johnson P Caudy
Octavia A Vocelka
Munro Y Paprocki
Claire J Malet
Darci H Royster
Leja Y Whobrey
Aika W Butt
Jefferson M Saylors
Kaitlin T Bolognia
Aditya Q Caldarera
James M Slusarski
Cody L Slusarski
Isabel F Sergi
Aruna E Morasca
Greenwood G Slusarski
Jefferson Y Ferencz
Clifford G Campain
Kadeem H Ferencz
Ashley U Gaucho
Ashley F Stockham
Johnson A Bowley
Francesco N Maclead
Arvin N Waycott
Murillo D Oldroyd
Francesco H Albares
Kadeem S Gillian
Alejandro W Wieser
Arvin B Wieser
Jeanfrancois P Saylors
Juan A Schemmer
Rodrigues J Doe
Ivar U Chui
Julie V Ruta
Jefferson G Glick
Emily J Saylors
Ricardo Y Venere
Aditya E Garufi
Ricardo B Ruta
Greenwood Y Foller
Jones G Venere
Johnson C Kusko
Tony M Venere
Smith B Figeroa
Clifford Z Marrier
Costa R Gaucho
Ashley H Bowley
IdCountryDate
1000Australia2026-10-14
1001Italy2026-10-03
1002Spain2026-09-28
1003Russia2026-09-29
1004France2026-10-18
1005Spain2026-10-19
1006Italy2026-10-13
1007Argentina2026-10-13
1008Russia2026-09-23
1009Brazil2026-10-18
1010Spain2026-10-06
1011Spain2026-09-28
1012Russia2026-10-04
1013United Kingdom2026-10-14
1014Canada2026-09-23
1015Brazil2026-09-23
1016France2026-10-17
1017Australia2026-10-18
1018Australia2026-10-07
1019Brazil2026-10-13
1020Canada2026-10-01
1021Canada2026-10-20
1022Brazil2026-10-18
1023Japan2026-10-17
1024Argentina2026-10-08
1025Spain2026-10-14
1026Japan2026-10-03
1027Australia2026-10-17
1028Brazil2026-09-30
1029Brazil2026-10-13
1030India2026-09-24
1031Spain2026-10-01
1032Brazil2026-10-12
1033Russia2026-09-25
1034Russia2026-10-04
1035Germany2026-10-20
1036Russia2026-10-18
1037Australia2026-10-09
1038United Kingdom2026-10-08
1039Germany2026-10-20
1040France2026-10-03
1041France2026-10-02
1042India2026-10-05
1043France2026-10-21
1044India2026-09-25
1045Russia2026-10-17
1046Argentina2026-10-12
1047Japan2026-09-25
1048Japan2026-10-02
1049Canada2026-09-25

On-Demand Data

NameIdCountryDate
Costa A Dilliard1000Germany2026-10-04
Mujtaba H Stockham1001France2026-10-19
Octavia E Iturbide1002Japan2026-10-22
Kaitlin X Malet1003Australia2026-10-22
Jones R Chui1004Japan2026-10-05
Munro B Ruta1005Australia2026-10-12
Aruna X Paprocki1006Japan2026-10-11
Alejandro H Amigon1007Australia2026-09-23
Chavez H Bolognia1008Brazil2026-09-23
Mayumi N Stenseth1009India2026-09-29
Cody J Shinko1010Russia2026-10-06
Maria H Iturbide1011France2026-10-15
Smith N Morasca1012Italy2026-10-02
Maria B Gaucho1013Brazil2026-10-22
James E Waycott1014Canada2026-10-08
Ashley D Rim1015France2026-10-15
Maria L Gillian1016United Kingdom2026-09-29
Mujtaba S Foller1017Brazil2026-10-18
Jeanfrancois H Wieser1018Russia2026-09-25
Wickens L Kolmetz1019India2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams K MaletSpainXuxue Feng UNQUALIFIED
Adams U RutaIndiaXuxue Feng PROPOSAL
Mayumi R RoysterJapanOnyama Limba PROPOSAL
Misaki G KuskoBrazilBernardo Dominic PROPOSAL
Darci Y PerinAustraliaElwin Sharvill NEW
Greenwood U BologniaRussiaBernardo Dominic NEW
Adams C CampainItalyIoni Bowcher QUALIFIED
Mujtaba W WaycottCanadaStephen Shaw QUALIFIED
Munro V RoysterIndiaElwin Sharvill UNQUALIFIED
Alejandro K ChuiAustraliaIvan Magalhaes NEGOTIATION
Johnson E RimAustraliaOnyama Limba PROPOSAL
Deepesh Z CaldareraSpainStephen Shaw NEGOTIATION
Clifford D CampainUnited KingdomAmy Elsner RENEWAL
Darci B StockhamAustraliaElwin Sharvill UNQUALIFIED
Emily N WaycottAustraliaStephen Shaw UNQUALIFIED
Aruna H GarufiBrazilIoni Bowcher RENEWAL
Aruna K FerenczAustraliaIoni Bowcher NEGOTIATION
Faith T DilliardSpainIoni Bowcher QUALIFIED
David T GauchoItalyElwin Sharvill NEGOTIATION
Aditya G ButtArgentinaXuxue Feng RENEWAL
Kadeem C RoysterCanadaAmy Elsner QUALIFIED
Wickens T RutaUnited KingdomOnyama Limba RENEWAL
Misaki O TollnerAustraliaStephen Shaw NEW
Arvin N MacleadBrazilXuxue Feng RENEWAL
Darci T MorascaIndiaStephen Shaw QUALIFIED
Misaki J FerenczFranceIoni Bowcher NEGOTIATION
Salvatore W RulapaughGermanyAnna Fali NEGOTIATION
Aditya L NickaGermanyAmy Elsner NEGOTIATION
Nicolas U DoeUnited KingdomBernardo Dominic NEW
Silvio O VocelkaBrazilAmy Elsner PROPOSAL
Nicolas P MaletFranceStephen Shaw NEW
Maria G PoquetteFranceIoni Bowcher NEW
Octavia V CampainJapanAmy Elsner QUALIFIED
Isabel I IturbideGermanyBernardo Dominic QUALIFIED
Aruna J DarakjyAustraliaAsiya Javayant NEGOTIATION
Jefferson B DoeRussiaIoni Bowcher NEGOTIATION
Stacey O BowleyAustraliaOnyama Limba RENEWAL
Smith A MaletAustraliaIoni Bowcher QUALIFIED
Antonio U WaycottBrazilBernardo Dominic PROPOSAL
Mayumi M SchemmerIndiaAsiya 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>