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
Aika H SlusarskiItalyIvan Magalhaes NEW
Misaki N NestleFranceStephen Shaw UNQUALIFIED
Darci J WieserItalyAmy Elsner NEGOTIATION
Ashley Q GillianItalyElwin Sharvill NEW
Arvin P SchemmerGermanyAnna Fali QUALIFIED
Ashley O VenereFranceBernardo Dominic RENEWAL
Tony Y RoysterUnited KingdomStephen Shaw UNQUALIFIED
Ashley C DarakjyGermanyAsiya Javayant NEGOTIATION
Murillo D FerenczArgentinaAmy Elsner UNQUALIFIED
Alejandro W RoysterSpainAnna Fali RENEWAL
Jefferson S MaletGermanyIoni Bowcher NEGOTIATION
Maisha T SlusarskiSpainAsiya Javayant NEGOTIATION
Johnson H ShinkoItalyAsiya Javayant NEGOTIATION
Misaki O MarrierGermanyXuxue Feng QUALIFIED
Kaitlin T ChuiAustraliaAnna Fali UNQUALIFIED
Arvin F FollerBrazilXuxue Feng PROPOSAL
Mujtaba B NickaUnited KingdomBernardo Dominic QUALIFIED
Isabel D DoeCanadaIoni Bowcher NEGOTIATION
Costa M PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Misaki C DoeUnited KingdomOnyama Limba RENEWAL
Faith Y SergiAustraliaAsiya Javayant NEW
Julie V RimSpainBernardo Dominic NEGOTIATION
Smith N WaycottArgentinaBernardo Dominic PROPOSAL
Kadeem C WhobreyGermanyBernardo Dominic UNQUALIFIED
Julie Y CaldareraGermanyIoni Bowcher QUALIFIED
Juan E VocelkaUnited KingdomAnna Fali PROPOSAL
Smith F VenereAustraliaIvan Magalhaes NEGOTIATION
Antonio R RutaSpainStephen Shaw QUALIFIED
Leja I CampainJapanAmy Elsner NEGOTIATION
Maria A FlosiBrazilAsiya Javayant UNQUALIFIED
Cody N FollerBrazilElwin Sharvill QUALIFIED
David O RimRussiaOnyama Limba NEW
Ricardo W AmigonBrazilXuxue Feng NEW
Kaitlin B ButtRussiaIvan Magalhaes NEGOTIATION
Tony K SergiSpainIvan Magalhaes QUALIFIED
Claire T NestleGermanyXuxue Feng UNQUALIFIED
Ricardo C SchemmerIndiaBernardo Dominic QUALIFIED
Izzy P KuskoFranceAnna Fali QUALIFIED
Chavez G WhobreyGermanyXuxue Feng NEGOTIATION
Emily R TollnerIndiaIvan Magalhaes QUALIFIED
Jefferson V TollnerArgentinaStephen Shaw UNQUALIFIED
Jefferson A CaudyGermanyAnna Fali RENEWAL
Deepesh D StensethSpainAsiya Javayant NEGOTIATION
Kaitlin V MaletUnited KingdomIoni Bowcher RENEWAL
Ashley S DarakjyItalyElwin Sharvill NEGOTIATION
Deepesh S KolmetzJapanIvan Magalhaes RENEWAL
Juan T SaylorsSpainStephen Shaw QUALIFIED
Stacey I VenereFranceStephen Shaw QUALIFIED
Mayumi B PoquetteGermanyOnyama Limba UNQUALIFIED
Johnson S RulapaughCanadaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Smith E FerenczBrazilAmy Elsner PROPOSAL
Darci T StensethIndiaIvan Magalhaes NEGOTIATION
Juan L KuskoGermanyIoni Bowcher QUALIFIED
Aditya D VenereRussiaStephen Shaw QUALIFIED
Costa T TollnerFranceBernardo Dominic PROPOSAL
Emily K AmigonCanadaXuxue Feng UNQUALIFIED
Munro F SlusarskiGermanyElwin Sharvill PROPOSAL
Mujtaba U PaprockiJapanBernardo Dominic UNQUALIFIED
Mujtaba T TollnerUnited KingdomBernardo Dominic NEGOTIATION
Chavez F GauchoItalyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie B ChuiJapan2025-04-13Dorl, James J Esq QUALIFIED62Amy Elsner
1001Faith M BowleyGermany2025-04-01Chanay, Jeffrey A Esq UNQUALIFIED33Asiya Javayant
1002Johnson T GauchoUnited Kingdom2025-04-30Commercial Press NEGOTIATION28Xuxue Feng
1003Darci D GillianGermany2025-04-11Buckley Miller Wright QUALIFIED50Ivan Magalhaes
1004Juan X MarrierAustralia2025-04-16Feltz Printing Service NEGOTIATION66Ioni Bowcher
1005Johnson O NickaAustralia2025-04-23Chemel, James L Cpa UNQUALIFIED49Anna Fali
1006Octavia N KuskoAustralia2025-04-03King, Christopher A Esq QUALIFIED63Ivan Magalhaes
1007Leon A WaycottArgentina2025-04-07Feltz Printing Service UNQUALIFIED28Elwin Sharvill
1008Alejandro K KolmetzBrazil2025-04-02Chanay, Jeffrey A Esq QUALIFIED0Bernardo Dominic
1009Emily U WhobreyUnited Kingdom2025-04-10Chapman, Ross E Esq NEGOTIATION81Elwin Sharvill
1010Mayumi T BologniaCanada2025-04-13Chapman, Ross E Esq PROPOSAL95Onyama Limba
1011Octavia J WhobreyJapan2025-04-16Rangoni Of Florence QUALIFIED32Asiya Javayant
1012Nicolas M MacleadJapan2025-04-04Morlong Associates NEGOTIATION79Asiya Javayant
1013Julie Z ChuiBrazil2025-04-11Benton, John B Jr PROPOSAL13Onyama Limba
1014Costa A MaletJapan2025-04-18Commercial Press NEGOTIATION12Bernardo Dominic
1015Kaitlin M ShinkoItaly2025-04-05Printing Dimensions NEGOTIATION5Amy Elsner
1016Sinclair G TollnerArgentina2025-04-13Benton, John B Jr PROPOSAL20Asiya Javayant
1017Cody E KolmetzGermany2025-04-20Benton, John B Jr UNQUALIFIED38Onyama Limba
1018Leja N PerinGermany2025-04-04Chanay, Jeffrey A Esq QUALIFIED86Stephen Shaw
1019Jeanfrancois B WieserUnited Kingdom2025-04-29Commercial Press PROPOSAL85Xuxue Feng
1020Aditya E IturbideCanada2025-04-02Chemel, James L Cpa NEGOTIATION84Elwin Sharvill
1021Sinclair B VocelkaRussia2025-04-10Buckley Miller Wright UNQUALIFIED40Stephen Shaw
1022Isabel U FerenczFrance2025-04-21Printing Dimensions UNQUALIFIED23Asiya Javayant
1023Chavez K PerinFrance2025-04-19Printing Dimensions UNQUALIFIED75Onyama Limba
1024Costa C RulapaughGermany2025-04-12Truhlar And Truhlar Attys NEGOTIATION33Asiya Javayant
1025Leon L SergiRussia2025-04-03Feiner Bros PROPOSAL57Xuxue Feng
1026Mujtaba W RimJapan2025-04-18Rousseaux, Michael Esq RENEWAL26Ivan Magalhaes
1027Cody S StensethUnited Kingdom2025-04-21Rousseaux, Michael Esq RENEWAL86Xuxue Feng
1028Jones X DoeJapan2025-04-14Printing Dimensions NEGOTIATION23Asiya Javayant
1029Aruna I OldroydGermany2025-04-29Benton, John B Jr RENEWAL90Ivan Magalhaes
1030Tony Y ChuiArgentina2025-04-17Benton, John B Jr UNQUALIFIED30Bernardo Dominic
1031Rodrigues N CampainRussia2025-04-10Chanay, Jeffrey A Esq UNQUALIFIED23Amy Elsner
1032Aika H SchemmerUnited Kingdom2025-04-12Commercial Press UNQUALIFIED21Onyama Limba
1033Claire M NestleCanada2025-04-09Morlong Associates PROPOSAL96Anna Fali
1034Jefferson Y SlusarskiSpain2025-04-02Benton, John B Jr UNQUALIFIED56Xuxue Feng
1035Sinclair Z GillianSpain2025-04-07Commercial Press RENEWAL35Stephen Shaw
1036Kadeem T BowleyArgentina2025-04-09Printing Dimensions NEGOTIATION89Bernardo Dominic
1037Maisha F VocelkaItaly2025-04-12Dorl, James J Esq PROPOSAL55Xuxue Feng
1038Stacey J SaylorsFrance2025-04-07Printing Dimensions PROPOSAL38Onyama Limba
1039Costa I SaylorsJapan2025-04-12Feltz Printing Service QUALIFIED51Bernardo Dominic
1040Munro V WhobreyArgentina2025-04-29Chanay, Jeffrey A Esq PROPOSAL41Stephen Shaw
1041Misaki D RimFrance2025-04-11Chanay, Jeffrey A Esq NEW62Xuxue Feng
1042Jeanfrancois D FlosiCanada2025-04-18Truhlar And Truhlar Attys PROPOSAL32Amy Elsner
1043Faith I CaudyGermany2025-04-25Benton, John B Jr RENEWAL18Ivan Magalhaes
1044Jeanfrancois H GarufiAustralia2025-04-24Buckley Miller Wright NEW61Ioni Bowcher
1045Kadeem X ChuiGermany2025-04-30Feiner Bros NEW67Anna Fali
1046Julie O PerinItaly2025-04-07Truhlar And Truhlar Attys RENEWAL82Ivan Magalhaes
1047Isabel J CaldareraIndia2025-04-14Buckley Miller Wright NEW35Anna Fali
1048Darci L SaylorsBrazil2025-04-21Benton, John B Jr RENEWAL14Amy Elsner
1049Stacey N ButtBrazil2025-04-02Chanay, Jeffrey A Esq NEGOTIATION38Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jones G MorascaRussiaXuxue Feng PROPOSAL
Francesco M ShinkoGermanyIvan Magalhaes QUALIFIED
Ricardo Q BriddickCanadaIoni Bowcher NEGOTIATION
Johnson E SergiAustraliaOnyama Limba QUALIFIED
Mujtaba Q VocelkaSpainIoni Bowcher NEW
Jones A GillianAustraliaAnna Fali UNQUALIFIED
Francesco V MorascaCanadaIvan Magalhaes RENEWAL
Adams R MaletUnited KingdomXuxue Feng RENEWAL
Misaki V SergiFranceAsiya Javayant PROPOSAL
Mujtaba P SlusarskiRussiaElwin Sharvill NEW
Julie L StensethJapanAmy Elsner RENEWAL
Aruna H MorascaSpainAmy Elsner NEW
Emily E CampainArgentinaOnyama Limba QUALIFIED
Leja A DilliardRussiaXuxue Feng PROPOSAL
Tony O OldroydFranceBernardo Dominic NEGOTIATION
Ricardo V AmigonArgentinaAsiya Javayant QUALIFIED
Stacey V StockhamItalyElwin Sharvill UNQUALIFIED
Emily N BriddickAustraliaAnna Fali QUALIFIED
Adams Q KuskoBrazilAmy Elsner QUALIFIED
Tony K GlickJapanStephen Shaw NEGOTIATION
Smith C StockhamBrazilIvan Magalhaes QUALIFIED
Deepesh B GlickFranceOnyama Limba PROPOSAL
Arvin C MorascaArgentinaOnyama Limba NEW
Chavez N ButtBrazilXuxue Feng UNQUALIFIED
Morrow P NickaCanadaIvan Magalhaes QUALIFIED
Aika Z PerinJapanAsiya Javayant UNQUALIFIED
Chavez P MacleadAustraliaXuxue Feng NEGOTIATION
Johnson J DarakjyAustraliaStephen Shaw UNQUALIFIED
Faith W RimSpainIvan Magalhaes NEGOTIATION
Juan B StensethGermanyAnna Fali UNQUALIFIED
Arvin P FerenczJapanBernardo Dominic NEW
Maria M WieserGermanyOnyama Limba NEW
Adams N SlusarskiFranceStephen Shaw RENEWAL
Juan A ShinkoArgentinaXuxue Feng RENEWAL
Arvin A DilliardRussiaIoni Bowcher QUALIFIED
Leon T IturbideItalyXuxue Feng QUALIFIED
Murillo R AlbaresCanadaOnyama Limba RENEWAL
Adams E RutaFranceOnyama Limba UNQUALIFIED
David D NickaUnited KingdomXuxue Feng PROPOSAL
Smith F InouyeJapanBernardo Dominic PROPOSAL
James A KuskoJapanStephen Shaw RENEWAL
Deepesh A StockhamJapanElwin Sharvill NEW
Aika X SaylorsGermanyAnna Fali PROPOSAL
Cody I StockhamJapanOnyama Limba RENEWAL
Francesco R OstroskyAustraliaIvan Magalhaes UNQUALIFIED
James N StensethUnited KingdomAsiya Javayant RENEWAL
Ricardo J DoeArgentinaElwin Sharvill NEW
Ashley E RutaUnited KingdomAnna Fali NEW
Jones P SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Cody R VenereJapanXuxue Feng RENEWAL
Frozen Columns
Name
Wickens R Oldroyd
James D Garufi
Mujtaba R Royster
Claire X Schemmer
Jeanfrancois V Kolmetz
Munro L Tollner
Cody J Malet
Morrow U Stockham
Arvin U Stenseth
Adams K Butt
Julie A Maclead
Jennifer V Perin
Munro D Morasca
Alejandro G Dilliard
Isabel N Paprocki
Francesco W Vocelka
David C Waycott
Antonio U Slusarski
Munro X Ruta
Jefferson Z Waycott
Alejandro Q Amigon
David Y Paprocki
James S Doe
Maria P Perin
Emily P Darakjy
Jennifer N Venere
David E Campain
Nicolas P Nicka
James P Malet
Salvatore N Rim
Wickens Y Shinko
Octavia Q Stockham
Emily N Kolmetz
Aruna O Schemmer
Deepesh J Nicka
Faith Z Marrier
Morrow O Ferencz
Emily E Stenseth
Darci Z Chui
Octavia T Royster
Ricardo F Royster
Salvatore M Gaucho
Octavia O Gaucho
Antonio T Garufi
Nicolas Q Rulapaugh
Octavia S Dilliard
Juan W Waycott
Darci H Royster
Adams X Saylors
Francesco K Bowley
IdCountryDate
1000India2025-04-17
1001Argentina2025-04-05
1002Germany2025-04-27
1003Italy2025-04-02
1004Australia2025-04-12
1005Brazil2025-04-17
1006Italy2025-04-09
1007Italy2025-04-25
1008India2025-04-30
1009Argentina2025-04-12
1010Australia2025-04-05
1011France2025-04-15
1012Russia2025-04-01
1013Italy2025-04-11
1014Japan2025-04-05
1015Canada2025-04-30
1016Germany2025-04-23
1017France2025-04-21
1018Spain2025-04-12
1019Japan2025-04-17
1020France2025-04-05
1021Canada2025-04-21
1022Japan2025-04-06
1023Germany2025-04-28
1024Brazil2025-04-23
1025Japan2025-04-04
1026India2025-04-30
1027Italy2025-04-02
1028Japan2025-04-20
1029United Kingdom2025-04-28
1030Russia2025-04-03
1031Australia2025-04-09
1032Canada2025-04-23
1033Canada2025-04-17
1034India2025-04-06
1035Argentina2025-04-30
1036Argentina2025-04-20
1037Argentina2025-04-28
1038Australia2025-04-12
1039India2025-04-18
1040Canada2025-04-30
1041Spain2025-04-02
1042Russia2025-04-30
1043Argentina2025-04-23
1044France2025-04-15
1045Argentina2025-04-01
1046Japan2025-04-24
1047Spain2025-04-29
1048Spain2025-04-27
1049Australia2025-04-01

On-Demand Data

NameIdCountryDate
Tony V Iturbide1000Spain2025-04-15
Leon N Flosi1001France2025-04-27
Munro L Glick1002Japan2025-04-17
Wickens P Sergi1003Spain2025-04-13
Ashley O Royster1004Japan2025-04-01
Kadeem X Iturbide1005Brazil2025-04-05
Jefferson D Bolognia1006Russia2025-04-23
Ivar R Maclead1007Italy2025-04-10
Aruna E Perin1008Canada2025-04-29
Darci Q Nestle1009United Kingdom2025-04-14
Johnson V Inouye1010Germany2025-04-02
Greenwood F Wieser1011Brazil2025-04-21
Julie K Shinko1012Germany2025-04-17
Juan U Waycott1013United Kingdom2025-04-17
Ashley L Darakjy1014Germany2025-04-14
Arvin A Malet1015Canada2025-04-03
Aditya N Ferencz1016India2025-04-07
David K Butt1017Canada2025-04-10
Deepesh T Flosi1018Japan2025-04-04
Ashley A Caudy1019Spain2025-04-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood C MaletArgentinaIvan Magalhaes UNQUALIFIED
Murillo U SergiUnited KingdomIvan Magalhaes QUALIFIED
Sinclair B OstroskyBrazilElwin Sharvill NEW
Kadeem S SergiItalyXuxue Feng UNQUALIFIED
Leon J SlusarskiRussiaAmy Elsner QUALIFIED
Aika E BologniaItalyAsiya Javayant QUALIFIED
Mayumi V MacleadAustraliaXuxue Feng NEGOTIATION
Sinclair W FerenczIndiaAnna Fali UNQUALIFIED
Maisha L OldroydItalyOnyama Limba RENEWAL
Aika X BologniaRussiaStephen Shaw NEGOTIATION
Maria L ButtBrazilElwin Sharvill RENEWAL
James B RimItalyOnyama Limba RENEWAL
Mayumi O GarufiJapanIoni Bowcher RENEWAL
Arvin K SlusarskiFranceAnna Fali QUALIFIED
Smith X NestleBrazilAsiya Javayant RENEWAL
Emily Q NickaIndiaAsiya Javayant NEW
Mujtaba F StockhamIndiaOnyama Limba QUALIFIED
Izzy Z BriddickItalyElwin Sharvill PROPOSAL
Leon H BowleyUnited KingdomIoni Bowcher QUALIFIED
Chavez J RulapaughJapanOnyama Limba QUALIFIED
Julie N ShinkoAustraliaStephen Shaw NEW
Maisha U WaycottGermanyBernardo Dominic RENEWAL
Costa E RulapaughSpainStephen Shaw RENEWAL
Jefferson J DoeArgentinaOnyama Limba PROPOSAL
Morrow W GauchoFranceBernardo Dominic NEGOTIATION
Aruna T DilliardIndiaIoni Bowcher NEW
Leja F MaletCanadaXuxue Feng NEW
Adams E BologniaUnited KingdomAsiya Javayant QUALIFIED
Sinclair V RimItalyAsiya Javayant QUALIFIED
Sinclair G MaletBrazilIoni Bowcher RENEWAL
Morrow M GillianUnited KingdomAmy Elsner QUALIFIED
Johnson V VocelkaIndiaAmy Elsner NEGOTIATION
Munro L MacleadGermanyIvan Magalhaes NEGOTIATION
Adams F OstroskyAustraliaAmy Elsner RENEWAL
Leon V GauchoSpainXuxue Feng QUALIFIED
Silvio S MaletUnited KingdomAnna Fali NEGOTIATION
Faith I MaletBrazilAmy Elsner QUALIFIED
Francesco X CampainJapanXuxue Feng PROPOSAL
Mujtaba C WieserJapanAmy Elsner UNQUALIFIED
Claire T BowleyItalyStephen Shaw 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>