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 U FerenczSpainStephen Shaw RENEWAL
Jefferson D DilliardBrazilAmy Elsner UNQUALIFIED
Sinclair Q MarrierBrazilOnyama Limba NEW
Cody B MaletAustraliaIoni Bowcher QUALIFIED
Darci I FollerUnited KingdomBernardo Dominic QUALIFIED
Johnson S AmigonItalyAnna Fali NEGOTIATION
Tony R DarakjyArgentinaElwin Sharvill PROPOSAL
Jefferson K VenereCanadaIvan Magalhaes QUALIFIED
Kadeem U VocelkaGermanyStephen Shaw RENEWAL
Misaki D NestleRussiaAnna Fali UNQUALIFIED
Jennifer I AlbaresRussiaXuxue Feng QUALIFIED
Claire X FlosiSpainAsiya Javayant RENEWAL
Antonio T GarufiUnited KingdomIvan Magalhaes QUALIFIED
Octavia C SlusarskiFranceXuxue Feng QUALIFIED
Kadeem B SergiRussiaIvan Magalhaes QUALIFIED
Kadeem I RutaAustraliaIoni Bowcher NEGOTIATION
Sinclair T ChuiJapanIoni Bowcher PROPOSAL
Juan T MorascaJapanElwin Sharvill NEW
Johnson U ChuiAustraliaAmy Elsner NEW
Julie R DarakjyAustraliaXuxue Feng PROPOSAL
Smith I FollerAustraliaIvan Magalhaes NEW
Claire O StockhamIndiaXuxue Feng NEGOTIATION
Deepesh F OldroydRussiaElwin Sharvill QUALIFIED
Silvio D RoysterIndiaBernardo Dominic PROPOSAL
Octavia I SergiAustraliaAsiya Javayant NEGOTIATION
Maria L InouyeSpainAmy Elsner QUALIFIED
Ivar V RimJapanIoni Bowcher NEW
Leja N OstroskyCanadaXuxue Feng PROPOSAL
Murillo D KolmetzItalyXuxue Feng UNQUALIFIED
Aruna X VenereBrazilStephen Shaw UNQUALIFIED
Tony G SchemmerArgentinaIoni Bowcher UNQUALIFIED
Greenwood Y MacleadBrazilOnyama Limba UNQUALIFIED
Smith S FollerSpainXuxue Feng QUALIFIED
Johnson O RulapaughFranceStephen Shaw UNQUALIFIED
Ashley G AlbaresCanadaAnna Fali NEW
Nicolas V FigeroaArgentinaAmy Elsner NEW
Greenwood N KolmetzArgentinaOnyama Limba PROPOSAL
Jefferson G OstroskyIndiaAnna Fali PROPOSAL
Rodrigues V MorascaIndiaIvan Magalhaes RENEWAL
Leon A FerenczRussiaIvan Magalhaes NEGOTIATION
Antonio Q GillianAustraliaOnyama Limba PROPOSAL
Murillo W PoquetteAustraliaStephen Shaw NEW
Costa G VocelkaRussiaStephen Shaw UNQUALIFIED
Johnson X WieserRussiaIoni Bowcher UNQUALIFIED
Maisha Y PerinAustraliaAnna Fali QUALIFIED
Deepesh I RulapaughGermanyAsiya Javayant RENEWAL
Jefferson N SaylorsArgentinaIvan Magalhaes RENEWAL
Misaki E GarufiArgentinaIoni Bowcher RENEWAL
Sinclair I AmigonFranceAmy Elsner NEW
Jennifer I SlusarskiRussiaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Kadeem R StensethUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood U MorascaFranceStephen Shaw UNQUALIFIED
Ivar X WaycottRussiaOnyama Limba NEW
Jones B CaudyArgentinaStephen Shaw NEGOTIATION
Morrow T DilliardRussiaIvan Magalhaes NEW
Silvio C MorascaAustraliaIoni Bowcher NEW
Tony T WieserUnited KingdomXuxue Feng NEGOTIATION
Murillo X CaldareraFranceXuxue Feng RENEWAL
Misaki Z RutaUnited KingdomAmy Elsner UNQUALIFIED
Tony A WhobreyAustraliaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci A BriddickFrance2026-10-22Chapman, Ross E Esq NEW83Ivan Magalhaes
1001Alejandro V AmigonIndia2026-10-19Feiner Bros NEW56Amy Elsner
1002Tony M RoysterRussia2026-10-04Truhlar And Truhlar Attys QUALIFIED58Ioni Bowcher
1003Deepesh V KuskoArgentina2026-10-06Printing Dimensions NEGOTIATION28Amy Elsner
1004Kaitlin R IturbideAustralia2026-10-04Chanay, Jeffrey A Esq UNQUALIFIED71Anna Fali
1005Antonio L TollnerUnited Kingdom2026-10-30Buckley Miller Wright RENEWAL11Bernardo Dominic
1006Antonio A GillianCanada2026-10-30Benton, John B Jr PROPOSAL61Anna Fali
1007Julie N RoysterFrance2026-10-09Dorl, James J Esq RENEWAL64Asiya Javayant
1008Chavez T RoysterGermany2026-10-20Feltz Printing Service RENEWAL21Bernardo Dominic
1009Jefferson O MarrierIndia2026-10-27Buckley Miller Wright PROPOSAL7Bernardo Dominic
1010Greenwood N InouyeRussia2026-10-17Buckley Miller Wright NEW5Bernardo Dominic
1011Deepesh L SlusarskiBrazil2026-10-31Dorl, James J Esq NEW21Onyama Limba
1012Johnson K DoeArgentina2026-10-07Feltz Printing Service NEGOTIATION31Ioni Bowcher
1013Wickens Y ButtRussia2026-10-20Chapman, Ross E Esq UNQUALIFIED45Amy Elsner
1014Darci L GillianArgentina2026-10-06Benton, John B Jr UNQUALIFIED81Stephen Shaw
1015Francesco J GillianItaly2026-10-12Buckley Miller Wright NEGOTIATION65Ioni Bowcher
1016Francesco S FerenczSpain2026-10-22Rangoni Of Florence UNQUALIFIED17Amy Elsner
1017Tony E KolmetzIndia2026-10-17Morlong Associates QUALIFIED65Bernardo Dominic
1018Arvin N MacleadBrazil2026-10-06Chanay, Jeffrey A Esq QUALIFIED75Stephen Shaw
1019Johnson M NickaGermany2026-10-11Feiner Bros UNQUALIFIED93Bernardo Dominic
1020Johnson I FollerIndia2026-10-31Dorl, James J Esq QUALIFIED86Onyama Limba
1021Morrow Q FollerCanada2026-10-04Chanay, Jeffrey A Esq NEGOTIATION7Anna Fali
1022Wickens S OstroskyRussia2026-10-28Commercial Press NEW14Bernardo Dominic
1023Mujtaba K FlosiUnited Kingdom2026-10-21Buckley Miller Wright RENEWAL33Xuxue Feng
1024Costa U MaletAustralia2026-10-24Chemel, James L Cpa RENEWAL38Stephen Shaw
1025Silvio X BowleySpain2026-10-30Feiner Bros NEW88Stephen Shaw
1026Aruna D VenereCanada2026-10-17Buckley Miller Wright QUALIFIED47Amy Elsner
1027Maria J GarufiRussia2026-10-18Dorl, James J Esq NEGOTIATION61Elwin Sharvill
1028Aruna M SergiGermany2026-10-14Rangoni Of Florence NEGOTIATION19Onyama Limba
1029Octavia J MorascaArgentina2026-10-24Feiner Bros PROPOSAL53Anna Fali
1030Cody O DarakjyArgentina2026-10-25Feltz Printing Service NEW95Anna Fali
1031Munro J NickaBrazil2026-10-09Benton, John B Jr NEGOTIATION79Stephen Shaw
1032Greenwood R RimGermany2026-10-04Feiner Bros NEGOTIATION31Ivan Magalhaes
1033Jeanfrancois B TollnerGermany2026-10-23King, Christopher A Esq NEW61Anna Fali
1034Izzy A CampainUnited Kingdom2026-10-20Feltz Printing Service NEGOTIATION6Stephen Shaw
1035Silvio P KuskoArgentina2026-10-29Commercial Press NEW90Amy Elsner
1036Kaitlin P WaycottGermany2026-10-15Benton, John B Jr QUALIFIED37Ivan Magalhaes
1037Mayumi W FlosiItaly2026-10-06Rangoni Of Florence NEW7Elwin Sharvill
1038Aruna Z StensethUnited Kingdom2026-10-09Chanay, Jeffrey A Esq UNQUALIFIED88Ioni Bowcher
1039Munro X DarakjyIndia2026-10-26Chapman, Ross E Esq PROPOSAL15Amy Elsner
1040Mujtaba P GauchoBrazil2026-10-25Dorl, James J Esq NEW45Bernardo Dominic
1041Alejandro O RoysterSpain2026-10-28Chemel, James L Cpa NEW62Bernardo Dominic
1042Salvatore N IturbideCanada2026-10-14Rousseaux, Michael Esq NEW36Asiya Javayant
1043Murillo F KolmetzRussia2026-10-11Chemel, James L Cpa UNQUALIFIED8Ivan Magalhaes
1044Mujtaba B MorascaSpain2026-10-02Buckley Miller Wright RENEWAL61Ivan Magalhaes
1045Greenwood R GlickBrazil2026-10-21Buckley Miller Wright RENEWAL33Xuxue Feng
1046Ricardo T PaprockiAustralia2026-10-02Printing Dimensions RENEWAL56Elwin Sharvill
1047Clifford M StensethCanada2026-10-15Chapman, Ross E Esq QUALIFIED67Amy Elsner
1048Sinclair V RimJapan2026-10-31Dorl, James J Esq PROPOSAL85Ivan Magalhaes
1049Greenwood H FigeroaGermany2026-10-28Buckley Miller Wright NEGOTIATION5Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Stacey H KuskoAustraliaElwin Sharvill RENEWAL
Morrow F GauchoGermanyAsiya Javayant NEW
Jennifer J MorascaFranceIvan Magalhaes RENEWAL
Mayumi L NestleItalyStephen Shaw NEW
Jeanfrancois X OstroskyArgentinaStephen Shaw PROPOSAL
Leja O GarufiCanadaIvan Magalhaes PROPOSAL
Juan Q MacleadFranceXuxue Feng NEW
Misaki H BowleyGermanyAnna Fali UNQUALIFIED
Wickens N VocelkaBrazilBernardo Dominic PROPOSAL
Tony Y SchemmerJapanIvan Magalhaes PROPOSAL
James X VocelkaArgentinaAnna Fali NEW
Octavia I AlbaresArgentinaAmy Elsner NEW
Aditya Y NickaItalyElwin Sharvill PROPOSAL
Mayumi W KolmetzIndiaOnyama Limba NEGOTIATION
Maria U VenereJapanOnyama Limba QUALIFIED
Morrow Q ChuiJapanElwin Sharvill NEGOTIATION
Maria B RimArgentinaOnyama Limba NEW
Clifford O DarakjyBrazilAmy Elsner RENEWAL
Morrow L FollerSpainBernardo Dominic NEGOTIATION
Leja S ButtAustraliaAnna Fali NEW
Alejandro D MarrierAustraliaElwin Sharvill NEGOTIATION
Ivar Q WhobreyJapanAsiya Javayant NEW
Emily D DarakjyRussiaStephen Shaw UNQUALIFIED
Maisha C GauchoAustraliaAmy Elsner NEW
Arvin N NestleCanadaAnna Fali PROPOSAL
Isabel V CampainGermanyBernardo Dominic QUALIFIED
Clifford D KolmetzIndiaAsiya Javayant RENEWAL
Rodrigues O MaletArgentinaOnyama Limba PROPOSAL
David H AlbaresFranceAsiya Javayant NEW
James H BriddickIndiaIvan Magalhaes PROPOSAL
Misaki J WaycottAustraliaIvan Magalhaes NEW
Jones I MacleadGermanyAmy Elsner NEW
Claire Y NickaUnited KingdomIvan Magalhaes NEGOTIATION
Aika K MaletJapanBernardo Dominic PROPOSAL
Clifford L KolmetzUnited KingdomIoni Bowcher NEW
Aruna Z FerenczCanadaXuxue Feng QUALIFIED
Jeanfrancois S FigeroaArgentinaXuxue Feng RENEWAL
Nicolas L RulapaughRussiaXuxue Feng NEGOTIATION
Ricardo N MaletCanadaBernardo Dominic PROPOSAL
Octavia R RutaCanadaAnna Fali NEGOTIATION
Sinclair P KuskoFranceBernardo Dominic RENEWAL
Clifford C InouyeItalyAnna Fali UNQUALIFIED
Morrow U RoysterGermanyIoni Bowcher QUALIFIED
Octavia U PoquetteUnited KingdomAnna Fali NEGOTIATION
Leon Z CaudyArgentinaIoni Bowcher UNQUALIFIED
Izzy F WieserGermanyIoni Bowcher RENEWAL
Mujtaba Z ButtIndiaIoni Bowcher NEW
Maisha U ChuiItalyAmy Elsner NEW
Sinclair I OldroydItalyAsiya Javayant QUALIFIED
James R VenereJapanElwin Sharvill QUALIFIED
Frozen Columns
Name
Sinclair Y Albares
Isabel T Campain
Murillo B Nicka
Aditya T Wieser
Ivar O Morasca
Leon Z Oldroyd
Murillo V Briddick
Murillo B Butt
Darci G Gaucho
Greenwood Q Nicka
Antonio B Morasca
Darci L Marrier
Misaki T Wieser
Tony W Gaucho
Costa M Morasca
Octavia B Caudy
Greenwood K Foller
Greenwood N Glick
Kadeem L Bolognia
Ivar R Butt
Izzy I Dilliard
Morrow V Tollner
Aruna I Caldarera
Maisha C Caudy
Aditya J Gaucho
Ricardo F Albares
Stacey F Paprocki
Aruna Y Gillian
Isabel V Doe
Wickens V Whobrey
Leja D Ostrosky
Nicolas J Butt
Mayumi T Doe
Emily A Saylors
Darci X Oldroyd
Cody J Nestle
Clifford W Iturbide
Claire Q Briddick
Mayumi E Amigon
Juan U Saylors
Octavia M Glick
Antonio Q Caudy
Greenwood Z Paprocki
Salvatore H Figeroa
James G Sergi
Mujtaba W Sergi
Jeanfrancois D Schemmer
Leon Z Iturbide
Morrow K Ostrosky
David V Figeroa
IdCountryDate
1000Germany2026-10-31
1001Argentina2026-10-04
1002India2026-10-05
1003Italy2026-10-17
1004Argentina2026-10-02
1005Japan2026-10-13
1006Brazil2026-10-05
1007Australia2026-10-31
1008Canada2026-10-04
1009Spain2026-10-04
1010United Kingdom2026-10-08
1011France2026-10-05
1012India2026-10-14
1013Japan2026-10-12
1014Australia2026-10-20
1015Argentina2026-10-03
1016Germany2026-10-08
1017Russia2026-10-25
1018France2026-10-11
1019Russia2026-10-08
1020Australia2026-10-12
1021Italy2026-10-07
1022Australia2026-10-12
1023Russia2026-10-03
1024Japan2026-10-17
1025Spain2026-10-03
1026Italy2026-10-07
1027Germany2026-10-27
1028Canada2026-10-12
1029Canada2026-10-06
1030Russia2026-10-07
1031Brazil2026-10-05
1032Japan2026-10-07
1033Japan2026-10-28
1034Canada2026-10-07
1035Spain2026-10-25
1036United Kingdom2026-10-28
1037Argentina2026-10-22
1038Brazil2026-10-29
1039Japan2026-10-03
1040Japan2026-10-31
1041Canada2026-10-03
1042Australia2026-10-18
1043Brazil2026-10-25
1044Brazil2026-10-07
1045United Kingdom2026-10-11
1046Germany2026-10-22
1047Canada2026-10-20
1048Italy2026-10-28
1049Italy2026-10-24

On-Demand Data

NameIdCountryDate
Mujtaba B Garufi1000Canada2026-10-07
Juan J Morasca1001India2026-10-12
Costa P Slusarski1002Germany2026-10-04
Cody C Chui1003Russia2026-10-30
Adams U Chui1004Argentina2026-10-05
Nicolas F Nicka1005Brazil2026-10-19
Izzy S Campain1006Russia2026-10-07
Smith E Albares1007Australia2026-10-10
Octavia N Briddick1008Argentina2026-10-25
Jennifer U Darakjy1009Germany2026-10-21
Alejandro A Garufi1010United Kingdom2026-10-10
Murillo J Albares1011Brazil2026-10-03
Jeanfrancois I Malet1012United Kingdom2026-10-06
Aruna T Ruta1013India2026-10-18
Ashley K Perin1014Russia2026-10-09
Julie R Butt1015Brazil2026-10-28
Jefferson X Chui1016Argentina2026-10-16
Salvatore V Malet1017Canada2026-10-05
Isabel A Inouye1018Spain2026-10-26
Greenwood W Kusko1019Brazil2026-10-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria C VocelkaFranceAsiya Javayant NEW
James N PaprockiItalyBernardo Dominic NEGOTIATION
Morrow V CaudyUnited KingdomIvan Magalhaes QUALIFIED
Sinclair I KuskoArgentinaIvan Magalhaes RENEWAL
Octavia G OstroskyJapanStephen Shaw PROPOSAL
Munro O KolmetzIndiaAsiya Javayant PROPOSAL
Rodrigues N KuskoAustraliaBernardo Dominic RENEWAL
Stacey E GauchoCanadaAnna Fali RENEWAL
Greenwood M WieserArgentinaXuxue Feng UNQUALIFIED
Johnson E OldroydArgentinaOnyama Limba PROPOSAL
Maisha D NickaItalyXuxue Feng NEGOTIATION
Leon X WhobreySpainStephen Shaw UNQUALIFIED
Mayumi P CampainUnited KingdomIvan Magalhaes PROPOSAL
Octavia D VocelkaRussiaAsiya Javayant UNQUALIFIED
James N IturbideSpainIoni Bowcher UNQUALIFIED
Darci J MorascaSpainOnyama Limba NEGOTIATION
James N PaprockiCanadaStephen Shaw QUALIFIED
Murillo R GauchoAustraliaElwin Sharvill UNQUALIFIED
Leon O IturbideUnited KingdomAmy Elsner UNQUALIFIED
Jeanfrancois A GarufiFranceAsiya Javayant NEW
Aditya S VenereIndiaIoni Bowcher NEGOTIATION
Faith E PaprockiAustraliaElwin Sharvill QUALIFIED
Faith W CaudyArgentinaAmy Elsner UNQUALIFIED
Maisha Q NickaAustraliaBernardo Dominic PROPOSAL
Cody S MorascaGermanyAnna Fali PROPOSAL
Jones L FerenczJapanAnna Fali PROPOSAL
Adams W BowleyGermanyIoni Bowcher UNQUALIFIED
Cody W SaylorsFranceElwin Sharvill NEGOTIATION
Sinclair C WaycottSpainOnyama Limba NEW
Mayumi R StensethJapanXuxue Feng NEW
Jennifer G NestleArgentinaIoni Bowcher PROPOSAL
Cody W FerenczItalyIoni Bowcher NEGOTIATION
Cody H VenereRussiaStephen Shaw NEW
Adams K PerinIndiaElwin Sharvill NEW
James Q MaletSpainXuxue Feng QUALIFIED
Francesco T WhobreyAustraliaIvan Magalhaes QUALIFIED
Maria A StockhamRussiaIoni Bowcher RENEWAL
Cody O VenereUnited KingdomAnna Fali UNQUALIFIED
Aika I FerenczJapanIvan Magalhaes QUALIFIED
Leon N BowleyRussiaStephen 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>