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
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
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Clifford J MarrierCanadaIvan Magalhaes NEW
Tony X MarrierBrazilIoni Bowcher UNQUALIFIED
Morrow L AlbaresSpainBernardo Dominic NEGOTIATION
Leon C RimArgentinaBernardo Dominic RENEWAL
Faith H GlickBrazilOnyama Limba NEGOTIATION
Leon F DarakjyItalyOnyama Limba RENEWAL
Sinclair X GlickArgentinaStephen Shaw NEW
Izzy N DilliardIndiaXuxue Feng PROPOSAL
Rodrigues K FlosiSpainAsiya Javayant NEGOTIATION
Francesco J MorascaSpainIvan Magalhaes RENEWAL
Costa W FlosiSpainAnna Fali QUALIFIED
Ricardo C ShinkoFranceIvan Magalhaes QUALIFIED
Misaki Y SlusarskiIndiaStephen Shaw PROPOSAL
Costa I WhobreyUnited KingdomIvan Magalhaes RENEWAL
Johnson Y DilliardIndiaIoni Bowcher NEGOTIATION
Octavia F ShinkoFranceOnyama Limba NEW
Leon Y MarrierIndiaOnyama Limba NEW
James R SergiCanadaBernardo Dominic RENEWAL
Claire F GillianAustraliaAsiya Javayant NEGOTIATION
Juan X SaylorsJapanAnna Fali NEW
Tony L InouyeCanadaAsiya Javayant UNQUALIFIED
Leja V BologniaFranceOnyama Limba RENEWAL
Aruna W FerenczFranceBernardo Dominic UNQUALIFIED
Isabel O KolmetzRussiaIoni Bowcher UNQUALIFIED
Nicolas R WieserFranceAsiya Javayant RENEWAL
Maria C GarufiSpainAnna Fali NEGOTIATION
Jefferson H VocelkaBrazilAmy Elsner QUALIFIED
Faith N SchemmerCanadaStephen Shaw QUALIFIED
Leja E OldroydUnited KingdomXuxue Feng NEW
Juan I SaylorsSpainIoni Bowcher NEW
Tony E SlusarskiItalyIoni Bowcher RENEWAL
Clifford F AlbaresCanadaElwin Sharvill QUALIFIED
Murillo N ShinkoAustraliaAnna Fali NEGOTIATION
Aditya M CampainJapanAsiya Javayant NEW
Aditya G OldroydRussiaBernardo Dominic NEW
Francesco Q RoysterAustraliaIvan Magalhaes NEW
Nicolas I WaycottArgentinaIoni Bowcher PROPOSAL
Wickens D OldroydSpainOnyama Limba NEW
Ivar K MaletIndiaAsiya Javayant NEGOTIATION
Leon L ChuiIndiaStephen Shaw QUALIFIED
Chavez B BologniaArgentinaStephen Shaw NEGOTIATION
Izzy S WhobreyUnited KingdomOnyama Limba NEGOTIATION
Octavia L GauchoItalyStephen Shaw NEW
Leon K WieserBrazilAsiya Javayant PROPOSAL
Murillo V CaudyUnited KingdomIoni Bowcher RENEWAL
Jeanfrancois D WieserRussiaAsiya Javayant RENEWAL
Murillo Z FollerFranceStephen Shaw PROPOSAL
Silvio Y InouyeGermanyBernardo Dominic NEGOTIATION
Deepesh L CaldareraFranceIvan Magalhaes RENEWAL
Aruna U SergiCanadaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith C DoeCanadaOnyama Limba UNQUALIFIED
Greenwood Z MacleadCanadaBernardo Dominic NEW
Antonio I PoquetteCanadaAsiya Javayant NEGOTIATION
Arvin N InouyeFranceAmy Elsner NEGOTIATION
Tony G FerenczIndiaElwin Sharvill NEW
Deepesh O DilliardUnited KingdomStephen Shaw UNQUALIFIED
Izzy B DarakjyItalyIoni Bowcher RENEWAL
Leon R MacleadFranceAsiya Javayant QUALIFIED
Stacey F FollerArgentinaIoni Bowcher NEW
Mujtaba G BriddickUnited KingdomAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David G MacleadJapan2024-06-21Rousseaux, Michael Esq UNQUALIFIED25Ivan Magalhaes
1001Faith C AlbaresJapan2024-05-27Chemel, James L Cpa PROPOSAL20Ivan Magalhaes
1002Darci R VocelkaUnited Kingdom2024-05-30Commercial Press PROPOSAL45Amy Elsner
1003Darci W BowleyCanada2024-06-06Dorl, James J Esq UNQUALIFIED73Anna Fali
1004James Q AlbaresRussia2024-06-11Chapman, Ross E Esq RENEWAL45Bernardo Dominic
1005Murillo A GillianCanada2024-06-02Chemel, James L Cpa NEGOTIATION90Anna Fali
1006Arvin W MacleadCanada2024-06-06Chemel, James L Cpa NEGOTIATION92Amy Elsner
1007Aditya Y GauchoCanada2024-06-17Commercial Press UNQUALIFIED46Ioni Bowcher
1008Misaki R OstroskyUnited Kingdom2024-05-28Benton, John B Jr RENEWAL66Elwin Sharvill
1009Francesco D GauchoItaly2024-05-27King, Christopher A Esq NEW56Amy Elsner
1010Isabel L OldroydIndia2024-06-12Truhlar And Truhlar Attys PROPOSAL16Bernardo Dominic
1011Smith P OldroydUnited Kingdom2024-06-19Rousseaux, Michael Esq QUALIFIED52Ivan Magalhaes
1012Maisha R SlusarskiArgentina2024-05-30Commercial Press NEGOTIATION82Onyama Limba
1013Leja W MaletFrance2024-06-07Feltz Printing Service NEW92Elwin Sharvill
1014Salvatore P FigeroaArgentina2024-06-13Buckley Miller Wright UNQUALIFIED39Ivan Magalhaes
1015Rodrigues T NestleJapan2024-06-20Printing Dimensions PROPOSAL12Elwin Sharvill
1016Jeanfrancois M FerenczFrance2024-06-17Chanay, Jeffrey A Esq NEGOTIATION8Xuxue Feng
1017Tony F ShinkoArgentina2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED1Anna Fali
1018Juan C RulapaughRussia2024-06-19Rousseaux, Michael Esq RENEWAL17Ioni Bowcher
1019Costa G PoquetteFrance2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED89Asiya Javayant
1020Mayumi L SlusarskiJapan2024-06-16Chapman, Ross E Esq UNQUALIFIED18Anna Fali
1021Ricardo J PerinJapan2024-06-06King, Christopher A Esq NEW94Ioni Bowcher
1022Clifford Z ShinkoAustralia2024-05-31Morlong Associates UNQUALIFIED49Anna Fali
1023Tony C VocelkaIndia2024-06-03Chemel, James L Cpa NEW99Ivan Magalhaes
1024Kadeem C RulapaughCanada2024-05-30Commercial Press RENEWAL73Anna Fali
1025David Q GarufiSpain2024-06-07Chanay, Jeffrey A Esq NEGOTIATION24Amy Elsner
1026Jones F VocelkaIndia2024-05-24Dorl, James J Esq UNQUALIFIED50Xuxue Feng
1027Juan A BriddickSpain2024-06-18King, Christopher A Esq RENEWAL54Stephen Shaw
1028Salvatore Z PaprockiJapan2024-05-30King, Christopher A Esq UNQUALIFIED74Ivan Magalhaes
1029Jeanfrancois J GillianUnited Kingdom2024-06-06Morlong Associates NEW62Amy Elsner
1030Claire O RulapaughItaly2024-05-23Morlong Associates NEW75Stephen Shaw
1031Kadeem R WhobreyGermany2024-06-12Chanay, Jeffrey A Esq QUALIFIED43Onyama Limba
1032Nicolas Y OstroskyItaly2024-05-31Feltz Printing Service UNQUALIFIED94Asiya Javayant
1033Morrow G PerinBrazil2024-05-31Feltz Printing Service NEW71Bernardo Dominic
1034Maisha S FerenczJapan2024-06-15Rangoni Of Florence RENEWAL16Xuxue Feng
1035Alejandro J RulapaughBrazil2024-06-03Morlong Associates NEGOTIATION99Stephen Shaw
1036Faith Z CaudySpain2024-06-10Chanay, Jeffrey A Esq RENEWAL11Xuxue Feng
1037Emily T PoquetteUnited Kingdom2024-06-02Feltz Printing Service NEGOTIATION64Onyama Limba
1038Aika K MaletCanada2024-06-02Rousseaux, Michael Esq RENEWAL30Ioni Bowcher
1039Nicolas P OstroskyJapan2024-06-12Rangoni Of Florence NEW18Anna Fali
1040Faith E DilliardAustralia2024-06-07Chapman, Ross E Esq NEGOTIATION73Ivan Magalhaes
1041Francesco L SergiArgentina2024-05-29Feltz Printing Service RENEWAL90Amy Elsner
1042Claire Y GlickAustralia2024-06-16Printing Dimensions NEGOTIATION76Ioni Bowcher
1043Greenwood R NickaAustralia2024-06-13Buckley Miller Wright RENEWAL0Elwin Sharvill
1044Francesco Z TollnerUnited Kingdom2024-06-08Benton, John B Jr UNQUALIFIED43Xuxue Feng
1045Claire B ShinkoAustralia2024-06-14Morlong Associates NEGOTIATION57Amy Elsner
1046Emily P SergiCanada2024-06-06Chanay, Jeffrey A Esq NEGOTIATION23Elwin Sharvill
1047Misaki U RoysterItaly2024-06-07Rangoni Of Florence UNQUALIFIED29Xuxue Feng
1048Darci Q ButtIndia2024-05-29King, Christopher A Esq QUALIFIED20Stephen Shaw
1049Juan H KolmetzBrazil2024-06-14Feltz Printing Service QUALIFIED98Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Kadeem Q BriddickAustraliaElwin Sharvill NEW
Tony V IturbideItalyIvan Magalhaes RENEWAL
Misaki H TollnerJapanAsiya Javayant UNQUALIFIED
Julie T FerenczGermanyIoni Bowcher RENEWAL
Costa Z CaldareraItalyStephen Shaw QUALIFIED
Deepesh C GlickUnited KingdomIvan Magalhaes RENEWAL
Darci X PoquetteBrazilStephen Shaw QUALIFIED
Aruna X FollerFranceBernardo Dominic NEGOTIATION
Leon G RoysterRussiaIvan Magalhaes NEGOTIATION
Nicolas T CaudyBrazilOnyama Limba NEW
Faith S GillianFranceBernardo Dominic RENEWAL
Jennifer J RutaArgentinaXuxue Feng RENEWAL
Nicolas F RulapaughAustraliaXuxue Feng PROPOSAL
Nicolas Z IturbideAustraliaStephen Shaw UNQUALIFIED
Leja K VenereSpainIvan Magalhaes RENEWAL
Octavia F ChuiAustraliaAsiya Javayant NEGOTIATION
Ashley K AmigonRussiaIoni Bowcher UNQUALIFIED
Johnson C WhobreyBrazilElwin Sharvill NEW
Ashley C CaudySpainXuxue Feng UNQUALIFIED
Adams V RulapaughGermanyAsiya Javayant UNQUALIFIED
Ivar Z IturbideBrazilElwin Sharvill NEGOTIATION
Ashley S BowleyFranceXuxue Feng QUALIFIED
Rodrigues P WhobreyUnited KingdomAmy Elsner QUALIFIED
James K RimIndiaOnyama Limba RENEWAL
Smith O SchemmerGermanyAsiya Javayant PROPOSAL
Kaitlin H DilliardArgentinaIvan Magalhaes NEGOTIATION
Misaki J ShinkoSpainElwin Sharvill UNQUALIFIED
James S WaycottItalyBernardo Dominic UNQUALIFIED
Maisha O KolmetzArgentinaElwin Sharvill UNQUALIFIED
Sinclair H InouyeCanadaAmy Elsner RENEWAL
Octavia Q FlosiGermanyAsiya Javayant NEW
Jones T BowleyGermanyIvan Magalhaes RENEWAL
Emily E MorascaJapanOnyama Limba RENEWAL
Aika S CaudyUnited KingdomIvan Magalhaes RENEWAL
Antonio A MorascaJapanBernardo Dominic NEGOTIATION
Morrow B FlosiJapanElwin Sharvill RENEWAL
Cody O GillianCanadaAsiya Javayant PROPOSAL
Juan R FigeroaCanadaAmy Elsner UNQUALIFIED
Sinclair P WieserItalyAnna Fali RENEWAL
Wickens J InouyeRussiaAsiya Javayant NEGOTIATION
Rodrigues K PaprockiItalyAsiya Javayant NEW
Murillo I WieserFranceIoni Bowcher QUALIFIED
Ricardo H RimRussiaAsiya Javayant UNQUALIFIED
Wickens O IturbideRussiaIvan Magalhaes PROPOSAL
Emily B VenereBrazilBernardo Dominic UNQUALIFIED
Isabel V MaletRussiaBernardo Dominic UNQUALIFIED
Deepesh M CampainBrazilXuxue Feng UNQUALIFIED
Smith G AlbaresArgentinaAsiya Javayant RENEWAL
Claire F InouyeCanadaStephen Shaw PROPOSAL
Deepesh L OldroydFranceElwin Sharvill NEGOTIATION
Frozen Columns
Name
Greenwood I Royster
Jones E Chui
Kadeem O Glick
Ivar Y Ruta
Cody D Waycott
Murillo Z Stenseth
Stacey H Glick
Nicolas Y Stenseth
Alejandro M Poquette
Emily U Schemmer
Greenwood F Rulapaugh
Jones D Rim
Kadeem T Stenseth
Sinclair J Rim
Nicolas X Schemmer
Izzy G Doe
Jefferson B Marrier
Juan I Rulapaugh
Maria F Darakjy
Maisha B Dilliard
Maria T Foller
Mujtaba T Nestle
Misaki D Ostrosky
Arvin M Iturbide
Julie W Briddick
Aditya W Rulapaugh
Octavia V Marrier
Munro R Vocelka
Tony U Schemmer
Jeanfrancois P Nicka
Emily N Bolognia
Maisha P Poquette
Clifford Y Butt
Emily Q Sergi
Adams E Kolmetz
Claire O Figeroa
Tony X Bowley
Nicolas S Shinko
Mayumi Z Oldroyd
Silvio T Gillian
Kadeem K Butt
Stacey B Nicka
Greenwood O Shinko
Arvin P Dilliard
Maisha P Garufi
Aditya J Rim
Mayumi V Vocelka
Arvin I Tollner
Salvatore L Malet
Kaitlin S Perin
IdCountryDate
1000Spain2024-06-08
1001Italy2024-05-27
1002Spain2024-06-02
1003United Kingdom2024-06-12
1004Russia2024-06-04
1005Russia2024-06-06
1006Brazil2024-06-01
1007India2024-06-20
1008India2024-06-05
1009France2024-06-21
1010France2024-06-12
1011Germany2024-06-15
1012Russia2024-06-12
1013Russia2024-06-04
1014Italy2024-06-08
1015Russia2024-06-14
1016United Kingdom2024-06-07
1017Brazil2024-05-23
1018Japan2024-06-07
1019Germany2024-05-30
1020Russia2024-05-25
1021Germany2024-06-12
1022Japan2024-06-17
1023United Kingdom2024-06-12
1024Japan2024-06-02
1025France2024-05-30
1026Brazil2024-05-31
1027France2024-06-01
1028Brazil2024-06-05
1029Russia2024-05-27
1030United Kingdom2024-06-05
1031Spain2024-05-25
1032Canada2024-06-02
1033Italy2024-06-17
1034India2024-06-07
1035United Kingdom2024-06-11
1036India2024-05-25
1037United Kingdom2024-05-24
1038Canada2024-06-14
1039United Kingdom2024-06-06
1040India2024-06-19
1041France2024-05-24
1042Germany2024-06-06
1043Japan2024-06-12
1044Japan2024-06-19
1045Japan2024-06-14
1046Canada2024-06-21
1047Brazil2024-05-28
1048Australia2024-05-24
1049Brazil2024-06-12

On-Demand Data

NameIdCountryDate
Wickens T Royster1000Russia2024-06-04
David U Kusko1001Italy2024-05-30
Faith S Kusko1002Australia2024-05-28
Aruna H Venere1003Argentina2024-06-10
Nicolas U Albares1004Canada2024-06-12
Antonio H Whobrey1005Brazil2024-06-14
Jones N Inouye1006Germany2024-06-01
Juan P Perin1007Spain2024-06-16
Silvio J Slusarski1008Germany2024-05-28
Smith Q Amigon1009Argentina2024-06-07
Wickens H Oldroyd1010Japan2024-06-11
Johnson W Poquette1011Australia2024-06-15
Nicolas F Iturbide1012United Kingdom2024-05-29
Jones Y Campain1013Spain2024-06-19
Wickens F Perin1014Spain2024-06-03
Clifford S Nestle1015Russia2024-06-15
Kaitlin G Briddick1016Brazil2024-06-03
Izzy B Marrier1017Japan2024-06-13
Aika A Briddick1018Canada2024-05-25
Aika B Doe1019Canada2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja V MorascaUnited KingdomOnyama Limba NEGOTIATION
Claire B StockhamSpainIoni Bowcher NEW
Nicolas F VenereUnited KingdomAsiya Javayant RENEWAL
Costa V NickaGermanyAmy Elsner QUALIFIED
Smith G SchemmerItalyAsiya Javayant UNQUALIFIED
Alejandro D RimAustraliaElwin Sharvill NEW
Aruna V OstroskyBrazilIoni Bowcher PROPOSAL
Ashley K KuskoAustraliaIvan Magalhaes UNQUALIFIED
Munro X CaudyJapanXuxue Feng NEGOTIATION
Aika K RoysterSpainOnyama Limba PROPOSAL
Cody Q FerenczBrazilAmy Elsner NEGOTIATION
Wickens O CampainArgentinaBernardo Dominic PROPOSAL
Alejandro O MaletItalyXuxue Feng UNQUALIFIED
Julie A WaycottSpainIvan Magalhaes QUALIFIED
Aditya B GarufiItalyBernardo Dominic QUALIFIED
Jennifer B GlickIndiaAsiya Javayant RENEWAL
Isabel J SlusarskiSpainOnyama Limba PROPOSAL
Ashley O BologniaItalyStephen Shaw QUALIFIED
Kaitlin N FlosiAustraliaElwin Sharvill NEW
Misaki F WieserGermanyOnyama Limba PROPOSAL
Antonio H DilliardRussiaStephen Shaw QUALIFIED
Antonio O StockhamAustraliaAsiya Javayant RENEWAL
Julie V RutaGermanyOnyama Limba RENEWAL
Costa C DarakjyItalyAsiya Javayant RENEWAL
Isabel C GlickSpainIvan Magalhaes PROPOSAL
Izzy W ShinkoRussiaIoni Bowcher UNQUALIFIED
Jones M KolmetzGermanyStephen Shaw QUALIFIED
Francesco G FollerFranceStephen Shaw NEW
Mujtaba F CaldareraFranceAnna Fali UNQUALIFIED
Adams I NickaAustraliaAsiya Javayant NEW
Salvatore T PoquetteSpainIvan Magalhaes NEW
Leon I CaudyItalyIoni Bowcher NEGOTIATION
Isabel U GlickRussiaIvan Magalhaes UNQUALIFIED
Sinclair E IturbideCanadaAmy Elsner RENEWAL
Sinclair X KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Silvio A BowleyItalyBernardo Dominic UNQUALIFIED
Mayumi H FerenczJapanAsiya Javayant QUALIFIED
David Z TollnerRussiaAmy Elsner UNQUALIFIED
Nicolas T OstroskyGermanyOnyama Limba PROPOSAL
Aika D OstroskyUnited KingdomAmy Elsner 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">
            <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>