Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Ricardo M SaylorsBrazilBernardo Dominic RENEWAL
Nicolas Z MacleadJapanBernardo Dominic NEW
Deepesh Y ButtFranceAnna Fali NEW
Alejandro T BowleyCanadaIoni Bowcher NEGOTIATION
Clifford Z MaletSpainAmy Elsner RENEWAL
Smith Z ShinkoArgentinaOnyama Limba PROPOSAL
Kaitlin R PoquetteItalyAmy Elsner PROPOSAL
Rodrigues Q WhobreyItalyBernardo Dominic NEGOTIATION
Misaki R AmigonIndiaXuxue Feng NEGOTIATION
Greenwood K DoeIndiaAmy Elsner PROPOSAL
Antonio Z WhobreyBrazilOnyama Limba UNQUALIFIED
Octavia J BriddickArgentinaAnna Fali NEW
Kadeem V VocelkaJapanAsiya Javayant RENEWAL
Silvio T PoquetteSpainStephen Shaw NEGOTIATION
Alejandro J RulapaughBrazilBernardo Dominic NEW
Morrow L FerenczJapanIoni Bowcher QUALIFIED
Emily U BologniaJapanAnna Fali QUALIFIED
Cody M NickaUnited KingdomAnna Fali UNQUALIFIED
Aditya F GlickUnited KingdomXuxue Feng PROPOSAL
Stacey Y FollerUnited KingdomXuxue Feng UNQUALIFIED
Jennifer S VenereFranceXuxue Feng NEW
Kaitlin F OstroskyUnited KingdomStephen Shaw NEW
Maisha P PaprockiCanadaElwin Sharvill NEW
Ashley P WaycottUnited KingdomAsiya Javayant RENEWAL
Mujtaba H GauchoArgentinaAmy Elsner NEW
Murillo J BriddickGermanyIoni Bowcher PROPOSAL
Jones H TollnerCanadaIvan Magalhaes NEGOTIATION
Jennifer C GarufiIndiaAmy Elsner NEW
Kadeem Y SergiCanadaXuxue Feng PROPOSAL
Faith R InouyeRussiaOnyama Limba UNQUALIFIED
Aditya H SaylorsJapanIoni Bowcher UNQUALIFIED
Juan Q VenereJapanIvan Magalhaes NEW
Maria S MarrierArgentinaXuxue Feng NEGOTIATION
Costa B SaylorsRussiaElwin Sharvill NEGOTIATION
Mujtaba Q WieserGermanyElwin Sharvill RENEWAL
Emily S ButtArgentinaIvan Magalhaes RENEWAL
Aruna C MacleadArgentinaStephen Shaw NEGOTIATION
Aika E NestleUnited KingdomIvan Magalhaes QUALIFIED
Chavez D WieserItalyElwin Sharvill UNQUALIFIED
Misaki B RimGermanyXuxue Feng NEW
Mujtaba A FlosiUnited KingdomBernardo Dominic RENEWAL
Greenwood N SergiSpainIvan Magalhaes NEW
Mujtaba L SaylorsItalyXuxue Feng RENEWAL
Silvio W KuskoCanadaAsiya Javayant QUALIFIED
Claire N StockhamItalyAnna Fali QUALIFIED
Nicolas D RulapaughItalyBernardo Dominic NEGOTIATION
Cody C MaletSpainAnna Fali UNQUALIFIED
Emily W NestleFranceAmy Elsner NEGOTIATION
Emily V KuskoIndiaIoni Bowcher PROPOSAL
Juan W DarakjyArgentinaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
James D BologniaAustraliaBernardo Dominic QUALIFIED
Leon R RutaSpainBernardo Dominic NEGOTIATION
Maisha P CampainCanadaElwin Sharvill NEGOTIATION
Deepesh T IturbideBrazilXuxue Feng QUALIFIED
Cody R SergiItalyAnna Fali NEW
Aditya Q CaudyJapanStephen Shaw QUALIFIED
Kaitlin U KolmetzRussiaAsiya Javayant NEW
Deepesh M WaycottBrazilXuxue Feng NEW
Ivar B GarufiRussiaAsiya Javayant QUALIFIED
Aruna S RimAustraliaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba W FollerAustralia2025-08-03Commercial Press NEGOTIATION25Xuxue Feng
1001Murillo C DarakjyGermany2025-07-23Rangoni Of Florence QUALIFIED23Amy Elsner
1002James N MorascaAustralia2025-08-11Rousseaux, Michael Esq QUALIFIED90Elwin Sharvill
1003Octavia C NestleUnited Kingdom2025-08-16Morlong Associates NEW11Anna Fali
1004Stacey Q GarufiBrazil2025-07-27Dorl, James J Esq PROPOSAL89Elwin Sharvill
1005Sinclair K OldroydJapan2025-08-13King, Christopher A Esq NEGOTIATION90Asiya Javayant
1006Julie A MorascaFrance2025-07-24Truhlar And Truhlar Attys NEW22Onyama Limba
1007Rodrigues U AmigonBrazil2025-08-17Printing Dimensions PROPOSAL35Bernardo Dominic
1008Alejandro W WaycottAustralia2025-08-03Chanay, Jeffrey A Esq RENEWAL53Anna Fali
1009Emily J KuskoRussia2025-07-26King, Christopher A Esq QUALIFIED30Ioni Bowcher
1010Nicolas O CaudyBrazil2025-08-11Dorl, James J Esq UNQUALIFIED94Ioni Bowcher
1011Munro M NickaItaly2025-08-19Chapman, Ross E Esq UNQUALIFIED79Bernardo Dominic
1012Silvio J DilliardBrazil2025-07-30Chanay, Jeffrey A Esq QUALIFIED63Ioni Bowcher
1013Costa A StensethJapan2025-08-08Rousseaux, Michael Esq NEGOTIATION14Bernardo Dominic
1014Smith M SchemmerArgentina2025-08-17Dorl, James J Esq PROPOSAL30Anna Fali
1015Leja E GauchoItaly2025-07-31Printing Dimensions NEW3Ioni Bowcher
1016Ashley X RulapaughUnited Kingdom2025-07-23Dorl, James J Esq PROPOSAL52Xuxue Feng
1017Izzy P GlickArgentina2025-08-11Feltz Printing Service NEGOTIATION90Onyama Limba
1018Octavia R GillianBrazil2025-08-13Feltz Printing Service PROPOSAL40Asiya Javayant
1019David H WaycottSpain2025-07-24Commercial Press UNQUALIFIED68Onyama Limba
1020Jefferson N OstroskyJapan2025-08-02Chapman, Ross E Esq RENEWAL20Ioni Bowcher
1021Mujtaba Q TollnerSpain2025-08-18Morlong Associates NEGOTIATION79Anna Fali
1022Juan K BriddickRussia2025-08-09Morlong Associates QUALIFIED53Onyama Limba
1023Kadeem G WaycottFrance2025-08-02Truhlar And Truhlar Attys NEGOTIATION59Elwin Sharvill
1024Ricardo D SlusarskiItaly2025-08-19Chemel, James L Cpa NEW51Anna Fali
1025Cody V MaletAustralia2025-08-21Morlong Associates UNQUALIFIED3Ioni Bowcher
1026Morrow I FerenczFrance2025-08-15Printing Dimensions UNQUALIFIED86Asiya Javayant
1027Isabel X WieserIndia2025-08-13Rangoni Of Florence PROPOSAL89Asiya Javayant
1028Jennifer X PaprockiUnited Kingdom2025-08-05Buckley Miller Wright NEGOTIATION26Bernardo Dominic
1029Sinclair Z MorascaAustralia2025-08-15Morlong Associates RENEWAL22Anna Fali
1030Jeanfrancois Z NestleRussia2025-08-08Rangoni Of Florence RENEWAL61Ivan Magalhaes
1031Adams F StensethItaly2025-07-28Benton, John B Jr UNQUALIFIED22Anna Fali
1032Misaki U FlosiRussia2025-08-21Feltz Printing Service UNQUALIFIED20Ivan Magalhaes
1033Kadeem N SaylorsFrance2025-07-25Chapman, Ross E Esq NEGOTIATION71Amy Elsner
1034Misaki E CaudyAustralia2025-08-01Chanay, Jeffrey A Esq PROPOSAL24Anna Fali
1035Antonio T CaudySpain2025-08-03King, Christopher A Esq NEGOTIATION81Anna Fali
1036Faith P OldroydArgentina2025-08-03Feltz Printing Service QUALIFIED8Bernardo Dominic
1037Francesco U ChuiCanada2025-07-23Chapman, Ross E Esq NEGOTIATION70Onyama Limba
1038Arvin X CampainSpain2025-08-04Truhlar And Truhlar Attys RENEWAL35Anna Fali
1039Antonio R InouyeGermany2025-08-14Feiner Bros NEW22Stephen Shaw
1040Aika X InouyeGermany2025-08-12Chanay, Jeffrey A Esq RENEWAL41Onyama Limba
1041Julie B InouyeItaly2025-08-03Commercial Press PROPOSAL65Anna Fali
1042Costa E SergiIndia2025-08-08Chapman, Ross E Esq NEGOTIATION99Onyama Limba
1043Alejandro O RoysterBrazil2025-08-12Morlong Associates UNQUALIFIED65Asiya Javayant
1044Arvin N PoquetteGermany2025-08-08Commercial Press UNQUALIFIED19Ioni Bowcher
1045Cody A CampainGermany2025-08-04Chemel, James L Cpa RENEWAL59Ioni Bowcher
1046Aika D DarakjyItaly2025-08-09Benton, John B Jr UNQUALIFIED0Stephen Shaw
1047Izzy N MorascaIndia2025-08-20Feiner Bros PROPOSAL19Ioni Bowcher
1048Wickens S CampainCanada2025-08-15Chemel, James L Cpa QUALIFIED17Ivan Magalhaes
1049Kaitlin L GauchoBrazil2025-08-10Feiner Bros UNQUALIFIED78Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Costa L MaletJapanStephen Shaw NEW
Maisha P GlickUnited KingdomXuxue Feng RENEWAL
Claire H ButtRussiaIvan Magalhaes NEGOTIATION
Murillo T FerenczArgentinaAsiya Javayant QUALIFIED
Arvin K DilliardArgentinaAnna Fali QUALIFIED
Izzy S BowleyAustraliaAmy Elsner RENEWAL
Juan K ChuiGermanyOnyama Limba PROPOSAL
Ricardo Z FerenczFranceElwin Sharvill NEW
Jones S SlusarskiGermanyIvan Magalhaes PROPOSAL
Rodrigues V BowleyIndiaAsiya Javayant NEGOTIATION
Claire X SaylorsJapanElwin Sharvill UNQUALIFIED
Wickens U CaudySpainOnyama Limba NEW
Misaki I CaldareraFranceIvan Magalhaes UNQUALIFIED
Darci F RulapaughRussiaIoni Bowcher NEW
David D ChuiSpainOnyama Limba NEGOTIATION
Aditya X DarakjyGermanyAsiya Javayant RENEWAL
Morrow B WieserJapanBernardo Dominic PROPOSAL
Darci V VenereCanadaAnna Fali RENEWAL
Mayumi J WhobreyAustraliaAsiya Javayant NEW
Faith E DilliardItalyOnyama Limba NEGOTIATION
Julie W RutaRussiaAmy Elsner QUALIFIED
Johnson Y FerenczCanadaIoni Bowcher RENEWAL
Rodrigues J CampainRussiaIoni Bowcher RENEWAL
Leja P DilliardRussiaBernardo Dominic QUALIFIED
Aruna Y DarakjySpainAsiya Javayant NEW
Mayumi M KuskoSpainIoni Bowcher NEW
Arvin J SchemmerUnited KingdomIoni Bowcher NEW
James E StockhamSpainElwin Sharvill PROPOSAL
Cody V KuskoJapanStephen Shaw NEGOTIATION
Julie K OldroydBrazilXuxue Feng UNQUALIFIED
Kaitlin F VocelkaIndiaIoni Bowcher NEW
Emily Z InouyeArgentinaAmy Elsner QUALIFIED
Maria B BowleyIndiaAmy Elsner QUALIFIED
Alejandro V CaldareraSpainAnna Fali NEW
Aruna N CaldareraBrazilAmy Elsner PROPOSAL
Jones E GlickBrazilIvan Magalhaes QUALIFIED
Cody E VocelkaCanadaBernardo Dominic NEW
Ashley S FollerIndiaAsiya Javayant UNQUALIFIED
Alejandro Q NestleFranceAmy Elsner NEW
Jefferson P WhobreyAustraliaXuxue Feng RENEWAL
Morrow E RimCanadaStephen Shaw PROPOSAL
Alejandro Q KolmetzBrazilIvan Magalhaes UNQUALIFIED
Smith R BologniaGermanyIvan Magalhaes PROPOSAL
Ashley Z PerinItalyXuxue Feng UNQUALIFIED
Kaitlin F StensethSpainOnyama Limba QUALIFIED
Izzy B GillianRussiaElwin Sharvill PROPOSAL
Darci V SchemmerArgentinaElwin Sharvill QUALIFIED
Rodrigues O RulapaughBrazilBernardo Dominic UNQUALIFIED
Misaki R SchemmerFranceStephen Shaw NEW
Munro Y WhobreyCanadaElwin Sharvill RENEWAL
Frozen Columns
Name
Chavez E Malet
Ricardo Z Malet
Aditya M Dilliard
Alejandro I Kusko
Munro M Stenseth
Costa G Malet
James Z Gaucho
Francesco S Bowley
Greenwood U Rim
Stacey S Gillian
Aika A Darakjy
Isabel W Kolmetz
Octavia Q Figeroa
Francesco E Rulapaugh
Smith Y Dilliard
Darci Z Foller
David O Waycott
Kaitlin W Caudy
David V Doe
Jennifer H Albares
Kadeem R Kolmetz
Kaitlin Z Rulapaugh
Deepesh F Darakjy
Aika J Stenseth
Chavez Z Marrier
Ricardo G Gillian
Mayumi F Rim
Emily J Bowley
Munro I Glick
Maisha Y Campain
Maria S Whobrey
James N Kolmetz
Smith D Royster
Wickens V Paprocki
Jennifer T Saylors
Leja Q Saylors
Smith L Briddick
Izzy Y Briddick
Salvatore K Chui
Morrow I Caldarera
Cody O Marrier
Ricardo X Briddick
Aika Z Bolognia
Isabel I Marrier
Kaitlin F Butt
Leja Z Paprocki
Misaki C Schemmer
Francesco Y Caudy
Adams E Ostrosky
Alejandro W Paprocki
IdCountryDate
1000Australia2025-08-15
1001Australia2025-07-26
1002Canada2025-08-19
1003Japan2025-07-25
1004Argentina2025-07-23
1005Italy2025-08-12
1006Russia2025-08-19
1007Italy2025-08-05
1008Brazil2025-08-15
1009Brazil2025-08-18
1010Russia2025-08-19
1011Russia2025-08-03
1012Canada2025-08-03
1013Japan2025-08-17
1014Canada2025-07-31
1015Brazil2025-08-09
1016Brazil2025-08-14
1017Spain2025-08-14
1018Russia2025-08-05
1019Argentina2025-08-18
1020Argentina2025-08-12
1021Japan2025-08-15
1022Japan2025-07-31
1023Italy2025-08-11
1024Brazil2025-08-21
1025Brazil2025-07-31
1026Brazil2025-08-10
1027Argentina2025-08-16
1028Spain2025-08-14
1029United Kingdom2025-08-01
1030Brazil2025-08-04
1031Italy2025-08-01
1032Canada2025-08-15
1033Italy2025-08-13
1034Canada2025-07-26
1035Spain2025-08-04
1036Spain2025-08-09
1037France2025-07-26
1038Russia2025-08-12
1039Japan2025-07-25
1040India2025-07-27
1041India2025-08-17
1042India2025-08-16
1043Germany2025-07-28
1044United Kingdom2025-07-24
1045Canada2025-08-16
1046France2025-08-13
1047France2025-07-23
1048Spain2025-08-07
1049Germany2025-07-24

On-Demand Data

NameIdCountryDate
Aruna W Ostrosky1000Italy2025-08-01
Wickens O Foller1001France2025-07-29
Morrow E Shinko1002Italy2025-08-07
Maria E Kusko1003Russia2025-07-26
Sinclair H Royster1004Argentina2025-08-06
James H Marrier1005Spain2025-07-30
Greenwood W Kolmetz1006Germany2025-08-19
Leon K Sergi1007Japan2025-08-20
Leja K Marrier1008Russia2025-07-28
Costa B Amigon1009Germany2025-08-15
Sinclair C Maclead1010Spain2025-08-10
Stacey S Sergi1011Spain2025-08-05
Deepesh J Amigon1012Spain2025-08-18
Claire I Caudy1013Argentina2025-08-10
Costa G Kusko1014Japan2025-08-15
Emily A Saylors1015United Kingdom2025-07-28
Leja O Malet1016United Kingdom2025-08-09
Munro L Shinko1017Russia2025-08-09
Ivar Q Whobrey1018India2025-08-12
Morrow C Morasca1019Germany2025-07-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy W CaudyJapanAsiya Javayant PROPOSAL
Greenwood G BologniaCanadaXuxue Feng QUALIFIED
Ivar L NestleSpainElwin Sharvill UNQUALIFIED
Rodrigues I PaprockiBrazilAmy Elsner PROPOSAL
Isabel O RoysterIndiaXuxue Feng PROPOSAL
James L MarrierSpainElwin Sharvill QUALIFIED
Stacey L BowleyItalyIvan Magalhaes NEGOTIATION
Ricardo O VenereAustraliaAnna Fali PROPOSAL
Jennifer J FlosiIndiaIvan Magalhaes RENEWAL
Leon J FigeroaIndiaElwin Sharvill UNQUALIFIED
Munro Y MorascaJapanAmy Elsner RENEWAL
Maria K VocelkaJapanAmy Elsner QUALIFIED
Munro W KuskoRussiaIoni Bowcher NEGOTIATION
Silvio Q PerinBrazilIvan Magalhaes QUALIFIED
Misaki C RoysterJapanAsiya Javayant NEW
Jefferson F NestleSpainXuxue Feng NEGOTIATION
Kadeem L CaudyUnited KingdomXuxue Feng UNQUALIFIED
Misaki W GarufiArgentinaBernardo Dominic PROPOSAL
Adams H DarakjyFranceXuxue Feng RENEWAL
Ivar Y PoquetteCanadaAnna Fali QUALIFIED
Julie H InouyeRussiaAsiya Javayant NEGOTIATION
Isabel F MacleadArgentinaAmy Elsner UNQUALIFIED
Mujtaba P NestleJapanElwin Sharvill RENEWAL
Jefferson Z SchemmerIndiaAsiya Javayant RENEWAL
Nicolas A SergiGermanyOnyama Limba RENEWAL
Silvio J CampainArgentinaAsiya Javayant UNQUALIFIED
Juan Z CaudyCanadaStephen Shaw PROPOSAL
Sinclair J AlbaresCanadaXuxue Feng NEGOTIATION
Jennifer W RulapaughBrazilBernardo Dominic NEW
Emily J StockhamCanadaAsiya Javayant PROPOSAL
Murillo D SaylorsIndiaIoni Bowcher RENEWAL
Isabel A DoeSpainIvan Magalhaes UNQUALIFIED
Aika E FlosiCanadaElwin Sharvill UNQUALIFIED
Rodrigues L BologniaItalyElwin Sharvill RENEWAL
Francesco W TollnerAustraliaBernardo Dominic RENEWAL
Antonio A ChuiCanadaIoni Bowcher RENEWAL
Aika Q NestleFranceBernardo Dominic NEW
Darci L CaldareraAustraliaAsiya Javayant UNQUALIFIED
Costa I FerenczSpainAnna Fali UNQUALIFIED
Smith L WhobreyRussiaBernardo Dominic 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>