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
Kadeem Y DarakjyIndiaIvan Magalhaes QUALIFIED
Arvin Y RulapaughSpainOnyama Limba PROPOSAL
Izzy K RulapaughRussiaXuxue Feng PROPOSAL
Mujtaba C VenereBrazilAmy Elsner NEW
Octavia X FigeroaJapanAsiya Javayant UNQUALIFIED
Wickens T CaldareraCanadaStephen Shaw NEW
Claire Y CampainUnited KingdomElwin Sharvill PROPOSAL
Antonio P GarufiArgentinaAsiya Javayant PROPOSAL
Tony Z IturbideJapanXuxue Feng RENEWAL
Clifford R NickaBrazilStephen Shaw QUALIFIED
Mayumi Q SlusarskiFranceIoni Bowcher NEW
Costa X GlickGermanyXuxue Feng UNQUALIFIED
Faith S MarrierSpainBernardo Dominic NEGOTIATION
Antonio J ShinkoUnited KingdomOnyama Limba NEGOTIATION
Ivar R PaprockiArgentinaAsiya Javayant NEW
Jeanfrancois Z StensethBrazilStephen Shaw NEGOTIATION
Kadeem D SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Jones M ChuiBrazilElwin Sharvill QUALIFIED
Antonio C FollerAustraliaOnyama Limba UNQUALIFIED
Ashley S RoysterAustraliaIvan Magalhaes QUALIFIED
Claire H VenereJapanOnyama Limba NEW
Greenwood Y FigeroaArgentinaIvan Magalhaes NEW
Izzy M MacleadIndiaAnna Fali UNQUALIFIED
Morrow V FerenczSpainIvan Magalhaes PROPOSAL
Murillo X ShinkoItalyAnna Fali NEGOTIATION
Costa I WhobreyBrazilBernardo Dominic RENEWAL
Maria A PaprockiBrazilAmy Elsner UNQUALIFIED
Murillo C BologniaBrazilXuxue Feng UNQUALIFIED
Emily K FlosiSpainStephen Shaw NEW
Alejandro Y AmigonBrazilAsiya Javayant UNQUALIFIED
Jones L FerenczArgentinaIvan Magalhaes NEGOTIATION
Antonio T FollerItalyStephen Shaw RENEWAL
Jeanfrancois S RimGermanyStephen Shaw NEW
Faith M ShinkoGermanyAmy Elsner RENEWAL
Munro V CampainJapanAsiya Javayant RENEWAL
Maria I SchemmerBrazilOnyama Limba QUALIFIED
Maisha Y SchemmerGermanyXuxue Feng NEW
Cody S MaletRussiaAsiya Javayant NEGOTIATION
Claire T FollerCanadaAnna Fali PROPOSAL
Misaki N GarufiItalyOnyama Limba PROPOSAL
Maria Z FlosiArgentinaOnyama Limba UNQUALIFIED
Emily F MorascaJapanAmy Elsner QUALIFIED
Faith J VocelkaSpainAsiya Javayant NEW
Clifford Y CaldareraJapanStephen Shaw NEGOTIATION
Mujtaba E RoysterGermanyStephen Shaw PROPOSAL
Leon J OstroskyIndiaXuxue Feng NEGOTIATION
Murillo C NickaUnited KingdomAnna Fali RENEWAL
Tony E GauchoAustraliaElwin Sharvill QUALIFIED
Jones A NickaJapanAsiya Javayant NEW
Cody W CaldareraArgentinaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Salvatore I BologniaCanadaBernardo Dominic UNQUALIFIED
David K MacleadArgentinaBernardo Dominic PROPOSAL
Silvio U ChuiArgentinaBernardo Dominic NEGOTIATION
Izzy A SchemmerJapanAnna Fali UNQUALIFIED
Chavez C VocelkaAustraliaAsiya Javayant NEW
Antonio O GillianJapanStephen Shaw PROPOSAL
Claire I NestleIndiaBernardo Dominic NEW
Nicolas Z DoeCanadaIoni Bowcher RENEWAL
Munro K VenereFranceIoni Bowcher NEGOTIATION
Nicolas D KuskoSpainAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois R KolmetzCanada2025-08-26Rousseaux, Michael Esq QUALIFIED50Xuxue Feng
1001Sinclair M MacleadFrance2025-07-29Morlong Associates RENEWAL32Stephen Shaw
1002Clifford A VocelkaIndia2025-08-01Commercial Press NEW3Anna Fali
1003Smith H MacleadIndia2025-08-10Feltz Printing Service RENEWAL83Ivan Magalhaes
1004Julie H StensethAustralia2025-08-22Chanay, Jeffrey A Esq PROPOSAL55Asiya Javayant
1005Darci R FollerRussia2025-07-31Commercial Press UNQUALIFIED89Ioni Bowcher
1006Francesco F VocelkaBrazil2025-08-11Chemel, James L Cpa RENEWAL60Elwin Sharvill
1007Antonio Y DarakjyGermany2025-08-10Commercial Press NEW77Anna Fali
1008Stacey P InouyeAustralia2025-08-01Commercial Press NEGOTIATION27Asiya Javayant
1009Tony J BowleyUnited Kingdom2025-08-23Rangoni Of Florence PROPOSAL13Amy Elsner
1010Jefferson E WaycottCanada2025-08-01Dorl, James J Esq PROPOSAL61Amy Elsner
1011Johnson O RimCanada2025-08-18Buckley Miller Wright QUALIFIED86Bernardo Dominic
1012Aditya C PaprockiRussia2025-08-08Feiner Bros NEW36Ivan Magalhaes
1013Maria W InouyeCanada2025-08-20Chanay, Jeffrey A Esq NEW6Elwin Sharvill
1014Alejandro O VenereItaly2025-08-24Feltz Printing Service UNQUALIFIED29Elwin Sharvill
1015Jennifer Y MaletUnited Kingdom2025-08-07Chapman, Ross E Esq NEW39Bernardo Dominic
1016Jennifer M SlusarskiUnited Kingdom2025-08-23Printing Dimensions NEGOTIATION42Anna Fali
1017James A FlosiBrazil2025-08-10Dorl, James J Esq PROPOSAL38Ioni Bowcher
1018Salvatore D VocelkaFrance2025-08-10Dorl, James J Esq UNQUALIFIED23Stephen Shaw
1019Antonio M RimRussia2025-08-09Chapman, Ross E Esq UNQUALIFIED20Bernardo Dominic
1020Ashley Q RutaArgentina2025-08-09Rousseaux, Michael Esq NEGOTIATION80Stephen Shaw
1021Misaki Q IturbideFrance2025-08-10Feiner Bros QUALIFIED61Bernardo Dominic
1022Sinclair W BologniaBrazil2025-08-05Chemel, James L Cpa NEW83Ivan Magalhaes
1023Maisha R OstroskyArgentina2025-08-25King, Christopher A Esq PROPOSAL12Asiya Javayant
1024Jones N OldroydCanada2025-08-23King, Christopher A Esq NEGOTIATION1Ioni Bowcher
1025Morrow I BriddickAustralia2025-08-18Rousseaux, Michael Esq QUALIFIED79Bernardo Dominic
1026Jennifer E ButtRussia2025-08-14Benton, John B Jr UNQUALIFIED85Onyama Limba
1027Octavia G FlosiFrance2025-08-20Truhlar And Truhlar Attys PROPOSAL74Stephen Shaw
1028Greenwood D FigeroaRussia2025-08-04Printing Dimensions PROPOSAL3Xuxue Feng
1029Costa Y KolmetzSpain2025-08-23King, Christopher A Esq NEGOTIATION34Anna Fali
1030Claire D PerinJapan2025-08-23Dorl, James J Esq NEGOTIATION73Ioni Bowcher
1031Alejandro J FlosiJapan2025-08-24Dorl, James J Esq PROPOSAL55Anna Fali
1032Adams R WieserAustralia2025-08-11Commercial Press RENEWAL89Asiya Javayant
1033Alejandro R AmigonRussia2025-07-31Chapman, Ross E Esq PROPOSAL47Ivan Magalhaes
1034Jones R BriddickJapan2025-08-18Benton, John B Jr RENEWAL44Anna Fali
1035Smith E AmigonBrazil2025-08-16Printing Dimensions QUALIFIED11Stephen Shaw
1036Izzy I CampainJapan2025-08-13Morlong Associates UNQUALIFIED83Stephen Shaw
1037Misaki B FigeroaUnited Kingdom2025-08-16Rangoni Of Florence RENEWAL11Amy Elsner
1038Morrow S WhobreyItaly2025-08-10King, Christopher A Esq NEW86Bernardo Dominic
1039Tony K NestleArgentina2025-08-03Chapman, Ross E Esq RENEWAL13Anna Fali
1040Maria H SchemmerCanada2025-08-25Benton, John B Jr RENEWAL71Elwin Sharvill
1041Aika C OstroskyUnited Kingdom2025-08-21Truhlar And Truhlar Attys QUALIFIED49Stephen Shaw
1042Maisha E GarufiRussia2025-08-19Feiner Bros PROPOSAL99Stephen Shaw
1043Faith W WieserFrance2025-08-23Morlong Associates NEW78Xuxue Feng
1044Ivar M FerenczFrance2025-08-11Commercial Press PROPOSAL72Anna Fali
1045Aruna H ButtSpain2025-08-11Benton, John B Jr RENEWAL51Ivan Magalhaes
1046Emily K DarakjyCanada2025-07-31Chanay, Jeffrey A Esq QUALIFIED61Bernardo Dominic
1047Jennifer S RulapaughBrazil2025-08-07Morlong Associates PROPOSAL36Onyama Limba
1048Juan I FigeroaArgentina2025-08-07Rangoni Of Florence QUALIFIED10Bernardo Dominic
1049Nicolas H PoquetteBrazil2025-08-14King, Christopher A Esq NEGOTIATION66Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba K TollnerUnited KingdomIvan Magalhaes NEGOTIATION
Aruna L DarakjyFranceAnna Fali PROPOSAL
Juan O MacleadSpainIoni Bowcher RENEWAL
Jennifer Z AmigonRussiaBernardo Dominic UNQUALIFIED
Aditya U ShinkoAustraliaIoni Bowcher PROPOSAL
Adams A FerenczItalyAsiya Javayant RENEWAL
Murillo X GlickBrazilXuxue Feng RENEWAL
Isabel Z IturbideFranceStephen Shaw NEGOTIATION
Maisha Z GauchoFranceAmy Elsner RENEWAL
Aruna T DilliardArgentinaAsiya Javayant NEW
Aika A FigeroaGermanyIoni Bowcher QUALIFIED
Alejandro W WieserSpainOnyama Limba NEW
Leon X ShinkoIndiaIoni Bowcher RENEWAL
Claire L WhobreyArgentinaAmy Elsner NEW
Ricardo Q AmigonIndiaOnyama Limba UNQUALIFIED
Tony L WhobreyItalyStephen Shaw NEGOTIATION
Clifford G MarrierCanadaIvan Magalhaes QUALIFIED
Greenwood Y StensethSpainElwin Sharvill RENEWAL
Julie I GillianItalyAmy Elsner RENEWAL
Deepesh H ButtSpainIoni Bowcher QUALIFIED
Emily B GlickGermanyIoni Bowcher NEGOTIATION
Kaitlin N ChuiIndiaXuxue Feng PROPOSAL
Darci Z InouyeItalyIoni Bowcher NEW
Mujtaba A WaycottFranceAnna Fali NEGOTIATION
Izzy U InouyeUnited KingdomOnyama Limba NEGOTIATION
Smith M RutaArgentinaXuxue Feng QUALIFIED
Aruna C ButtCanadaAsiya Javayant UNQUALIFIED
Octavia H RoysterUnited KingdomElwin Sharvill QUALIFIED
Kadeem H ShinkoIndiaAmy Elsner RENEWAL
Johnson V MaletUnited KingdomElwin Sharvill PROPOSAL
Costa K NickaItalyBernardo Dominic UNQUALIFIED
Leon R WieserGermanyBernardo Dominic QUALIFIED
Ricardo F PoquetteJapanElwin Sharvill PROPOSAL
Johnson Q DilliardUnited KingdomElwin Sharvill RENEWAL
Munro O ChuiCanadaXuxue Feng UNQUALIFIED
Ivar Y OstroskyItalyXuxue Feng NEW
Misaki D KolmetzBrazilAnna Fali UNQUALIFIED
Leon E MarrierIndiaOnyama Limba PROPOSAL
Juan W BriddickSpainAmy Elsner PROPOSAL
Leon F MaletBrazilOnyama Limba PROPOSAL
Claire H FerenczItalyBernardo Dominic PROPOSAL
Jeanfrancois R MacleadArgentinaAmy Elsner UNQUALIFIED
Stacey R SergiAustraliaOnyama Limba RENEWAL
Adams P MaletRussiaElwin Sharvill UNQUALIFIED
Smith I NestleFranceAsiya Javayant PROPOSAL
Alejandro X MacleadFranceOnyama Limba UNQUALIFIED
Sinclair F RulapaughFranceAmy Elsner QUALIFIED
Leon V FollerFranceIvan Magalhaes NEGOTIATION
James Y MarrierUnited KingdomAnna Fali RENEWAL
Cody J CampainFranceStephen Shaw NEGOTIATION
Frozen Columns
Name
Octavia J Perin
Adams W Shinko
Francesco T Perin
Ricardo L Sergi
Julie X Marrier
Tony J Glick
Stacey L Paprocki
Ivar C Dilliard
Kaitlin M Marrier
Greenwood P Perin
Leja K Amigon
Jones J Venere
Aika C Rim
Adams D Poquette
Darci I Gaucho
Leon V Briddick
David T Ruta
Darci O Sergi
Murillo I Malet
Mayumi I Flosi
Aditya I Doe
Sinclair Q Rim
Juan A Malet
Maisha F Inouye
Izzy I Ostrosky
Francesco J Butt
Arvin P Maclead
Octavia I Albares
Maria R Malet
Maria X Caldarera
James G Sergi
Aika C Royster
Wickens J Inouye
Emily J Ruta
Leon B Saylors
Jeanfrancois C Caldarera
Izzy F Briddick
Ashley I Maclead
Juan Q Morasca
Smith I Caldarera
Murillo Z Marrier
Aditya S Glick
Isabel W Malet
Chavez M Glick
Jennifer N Perin
Rodrigues Y Venere
Rodrigues B Inouye
Murillo J Saylors
Maria X Inouye
Smith K Maclead
IdCountryDate
1000Spain2025-08-10
1001Brazil2025-08-08
1002Argentina2025-07-28
1003Canada2025-07-30
1004Japan2025-08-20
1005Brazil2025-08-25
1006Spain2025-08-23
1007Japan2025-08-15
1008Germany2025-08-19
1009Germany2025-08-14
1010Italy2025-08-07
1011Russia2025-08-04
1012Russia2025-08-25
1013India2025-08-04
1014Brazil2025-07-29
1015Brazil2025-08-21
1016Australia2025-08-19
1017Spain2025-08-22
1018Spain2025-08-26
1019Brazil2025-08-21
1020Brazil2025-08-10
1021Russia2025-08-09
1022France2025-08-26
1023France2025-08-13
1024Germany2025-08-08
1025Japan2025-08-13
1026Germany2025-08-10
1027Germany2025-08-01
1028Argentina2025-08-23
1029France2025-08-06
1030Japan2025-08-17
1031Italy2025-08-21
1032Brazil2025-08-07
1033United Kingdom2025-08-18
1034France2025-08-05
1035Canada2025-08-07
1036Spain2025-08-07
1037Germany2025-08-14
1038United Kingdom2025-08-05
1039Russia2025-08-22
1040Canada2025-08-09
1041Russia2025-08-07
1042Russia2025-08-12
1043Germany2025-08-04
1044Germany2025-08-02
1045Australia2025-08-06
1046France2025-08-11
1047Italy2025-08-23
1048Russia2025-08-02
1049United Kingdom2025-08-02

On-Demand Data

NameIdCountryDate
David D Maclead1000Germany2025-08-13
Francesco O Maclead1001Australia2025-08-08
James D Wieser1002France2025-07-29
Izzy T Rulapaugh1003Brazil2025-08-05
Faith O Schemmer1004Spain2025-08-10
Misaki U Gillian1005Brazil2025-08-18
Aika O Oldroyd1006United Kingdom2025-08-10
Antonio E Nestle1007France2025-08-19
Salvatore P Paprocki1008Spain2025-08-10
Wickens I Garufi1009Canada2025-08-04
Costa M Garufi1010Brazil2025-08-11
Kaitlin P Caldarera1011Italy2025-08-02
Greenwood N Flosi1012France2025-08-12
Jefferson X Whobrey1013Japan2025-08-19
Rodrigues X Caudy1014Spain2025-07-29
Leon B Oldroyd1015France2025-08-04
Isabel H Royster1016Japan2025-08-24
Octavia D Malet1017Brazil2025-08-07
Greenwood L Campain1018Spain2025-08-03
Kadeem T Shinko1019United Kingdom2025-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson C GillianBrazilOnyama Limba NEGOTIATION
Claire U AmigonArgentinaXuxue Feng QUALIFIED
Julie T WieserIndiaElwin Sharvill NEW
Stacey M DarakjyItalyStephen Shaw PROPOSAL
Tony E NestleAustraliaStephen Shaw QUALIFIED
Smith U TollnerUnited KingdomElwin Sharvill NEW
Aruna I SchemmerJapanAsiya Javayant NEGOTIATION
Deepesh P PoquetteBrazilIvan Magalhaes NEGOTIATION
Morrow O IturbideSpainAmy Elsner RENEWAL
Mujtaba Q DilliardCanadaAmy Elsner UNQUALIFIED
James O DoeRussiaElwin Sharvill QUALIFIED
James J SaylorsRussiaAmy Elsner NEW
Silvio T DoeBrazilStephen Shaw UNQUALIFIED
Sinclair C CampainBrazilXuxue Feng RENEWAL
James G GarufiUnited KingdomAnna Fali UNQUALIFIED
Isabel B MorascaBrazilXuxue Feng UNQUALIFIED
Morrow V WhobreyCanadaAnna Fali NEW
James F SergiGermanyXuxue Feng QUALIFIED
Antonio R WaycottFranceStephen Shaw QUALIFIED
Claire K KuskoRussiaBernardo Dominic QUALIFIED
Juan N VenereBrazilXuxue Feng PROPOSAL
Ivar V SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Juan O PaprockiArgentinaBernardo Dominic NEW
Rodrigues I RoysterArgentinaIoni Bowcher UNQUALIFIED
Jefferson U SergiArgentinaOnyama Limba UNQUALIFIED
Francesco W IturbideRussiaElwin Sharvill NEGOTIATION
Francesco Z FlosiIndiaOnyama Limba QUALIFIED
Aditya G CampainArgentinaXuxue Feng UNQUALIFIED
Chavez C SaylorsItalyXuxue Feng UNQUALIFIED
Jones S RutaIndiaIoni Bowcher NEW
Maisha V StockhamItalyOnyama Limba NEGOTIATION
Stacey Y ButtBrazilIoni Bowcher UNQUALIFIED
Smith D ShinkoIndiaIoni Bowcher QUALIFIED
Stacey Y GlickFranceAsiya Javayant UNQUALIFIED
Greenwood S RimIndiaStephen Shaw RENEWAL
Aditya V MaletIndiaBernardo Dominic NEW
Morrow K BriddickAustraliaXuxue Feng NEW
Leja K GauchoAustraliaAsiya Javayant NEW
Smith I WaycottUnited KingdomAmy Elsner UNQUALIFIED
Smith M OldroydGermanyAmy Elsner 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>