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
Claire L GlickSpainXuxue Feng PROPOSAL
Faith H CaudyIndiaAnna Fali PROPOSAL
Kadeem X BologniaSpainIvan Magalhaes NEW
Octavia H MaletItalyXuxue Feng NEW
Maisha Y StensethSpainIvan Magalhaes RENEWAL
James K GlickGermanyOnyama Limba RENEWAL
Greenwood V OstroskyArgentinaStephen Shaw NEGOTIATION
Adams U WieserJapanElwin Sharvill PROPOSAL
Costa G NickaIndiaAnna Fali RENEWAL
Wickens B DarakjySpainElwin Sharvill RENEWAL
Chavez J MacleadGermanyXuxue Feng RENEWAL
Leja L StockhamUnited KingdomStephen Shaw QUALIFIED
Jones L CaldareraGermanyIvan Magalhaes QUALIFIED
Claire B MaletBrazilOnyama Limba PROPOSAL
Smith D AlbaresItalyBernardo Dominic UNQUALIFIED
Misaki J FollerFranceIvan Magalhaes QUALIFIED
Mujtaba R VenereSpainAmy Elsner QUALIFIED
Alejandro W WieserArgentinaAnna Fali RENEWAL
Faith L WieserRussiaStephen Shaw UNQUALIFIED
Darci C SchemmerCanadaOnyama Limba NEGOTIATION
Greenwood W GarufiCanadaBernardo Dominic QUALIFIED
Smith G GlickFranceElwin Sharvill RENEWAL
Sinclair G FlosiFranceAsiya Javayant NEW
Chavez J WaycottRussiaIvan Magalhaes RENEWAL
Tony P GauchoCanadaAmy Elsner PROPOSAL
Alejandro H AmigonBrazilElwin Sharvill NEW
Clifford R FlosiAustraliaBernardo Dominic NEGOTIATION
James J AmigonArgentinaOnyama Limba PROPOSAL
Julie W DilliardItalyAmy Elsner PROPOSAL
Jeanfrancois D SchemmerArgentinaAmy Elsner NEW
Francesco F VocelkaGermanyAmy Elsner RENEWAL
Aika E MarrierFranceAsiya Javayant PROPOSAL
Aditya H PaprockiJapanElwin Sharvill NEGOTIATION
Munro Z MorascaRussiaOnyama Limba NEGOTIATION
Jeanfrancois J MaletUnited KingdomXuxue Feng NEW
Johnson S PerinSpainOnyama Limba NEW
Rodrigues X FollerArgentinaXuxue Feng QUALIFIED
Sinclair A ButtCanadaIvan Magalhaes NEW
Isabel C MarrierGermanyElwin Sharvill NEW
Silvio X SaylorsBrazilOnyama Limba UNQUALIFIED
Chavez F AlbaresJapanIvan Magalhaes UNQUALIFIED
Wickens H PoquetteFranceOnyama Limba PROPOSAL
Murillo P RulapaughSpainOnyama Limba UNQUALIFIED
Aika D MacleadAustraliaOnyama Limba PROPOSAL
Ivar K BriddickAustraliaAmy Elsner PROPOSAL
Arvin J StensethGermanyElwin Sharvill QUALIFIED
Mayumi W StockhamRussiaBernardo Dominic UNQUALIFIED
Adams F SergiFranceBernardo Dominic NEGOTIATION
Julie F NestleGermanyBernardo Dominic NEW
Kadeem A CaudyFranceElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Stacey R PoquetteUnited KingdomAnna Fali PROPOSAL
Jeanfrancois X KuskoItalyElwin Sharvill PROPOSAL
Alejandro F CaldareraGermanyAsiya Javayant RENEWAL
Darci E AlbaresAustraliaOnyama Limba NEW
Francesco R DoeItalyIvan Magalhaes QUALIFIED
Ashley H VocelkaIndiaXuxue Feng UNQUALIFIED
Darci O WaycottCanadaAmy Elsner NEW
Claire N GillianCanadaIoni Bowcher PROPOSAL
Costa Y NickaJapanBernardo Dominic QUALIFIED
David R BologniaJapanOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna F GarufiAustralia2025-04-04Truhlar And Truhlar Attys QUALIFIED7Amy Elsner
1001Jefferson W TollnerGermany2025-04-30King, Christopher A Esq QUALIFIED37Xuxue Feng
1002Stacey C DoeAustralia2025-04-12King, Christopher A Esq NEW50Asiya Javayant
1003Tony Y OldroydRussia2025-05-01Chanay, Jeffrey A Esq QUALIFIED46Stephen Shaw
1004Leja P BologniaIndia2025-04-18Rousseaux, Michael Esq NEGOTIATION45Ioni Bowcher
1005Izzy U MarrierIndia2025-04-22Chapman, Ross E Esq UNQUALIFIED91Amy Elsner
1006Silvio K BriddickGermany2025-04-10Rousseaux, Michael Esq UNQUALIFIED98Onyama Limba
1007Mujtaba D MaletRussia2025-04-14Chemel, James L Cpa NEGOTIATION39Xuxue Feng
1008Wickens E RimSpain2025-04-09Chemel, James L Cpa PROPOSAL63Anna Fali
1009Leja N KolmetzBrazil2025-04-18Chanay, Jeffrey A Esq RENEWAL9Ioni Bowcher
1010Sinclair Q RutaRussia2025-04-17Truhlar And Truhlar Attys PROPOSAL82Onyama Limba
1011Kadeem Q StensethItaly2025-04-09Truhlar And Truhlar Attys QUALIFIED82Asiya Javayant
1012Izzy D AlbaresUnited Kingdom2025-04-18Commercial Press PROPOSAL46Bernardo Dominic
1013Johnson I KolmetzSpain2025-04-19Morlong Associates NEGOTIATION90Anna Fali
1014Rodrigues J DoeGermany2025-04-08Chapman, Ross E Esq RENEWAL13Ivan Magalhaes
1015Salvatore F RoysterCanada2025-05-01Truhlar And Truhlar Attys PROPOSAL47Xuxue Feng
1016Jeanfrancois I GlickItaly2025-04-06Commercial Press NEGOTIATION99Anna Fali
1017Sinclair V WhobreyRussia2025-04-28Rangoni Of Florence QUALIFIED40Ivan Magalhaes
1018Nicolas J GillianArgentina2025-04-08Feiner Bros NEGOTIATION34Elwin Sharvill
1019Deepesh S WaycottAustralia2025-05-01Dorl, James J Esq NEW29Stephen Shaw
1020Adams R WhobreyGermany2025-04-08Feiner Bros NEGOTIATION51Bernardo Dominic
1021Wickens Z FollerJapan2025-04-27Feltz Printing Service RENEWAL47Elwin Sharvill
1022Darci Y VenereUnited Kingdom2025-04-05Rangoni Of Florence UNQUALIFIED79Bernardo Dominic
1023Mayumi J SergiJapan2025-04-07Printing Dimensions RENEWAL80Anna Fali
1024Francesco F RimSpain2025-04-25Benton, John B Jr NEGOTIATION90Anna Fali
1025Salvatore C SaylorsAustralia2025-04-03Morlong Associates NEW13Amy Elsner
1026Mayumi W RimCanada2025-04-08Chemel, James L Cpa RENEWAL96Xuxue Feng
1027Johnson G KolmetzFrance2025-04-30Chapman, Ross E Esq NEW70Xuxue Feng
1028Smith S AlbaresArgentina2025-04-20Rangoni Of Florence RENEWAL36Anna Fali
1029Silvio X FerenczIndia2025-04-04Commercial Press NEGOTIATION49Bernardo Dominic
1030Antonio F PaprockiIndia2025-04-17Morlong Associates RENEWAL24Amy Elsner
1031Chavez C GlickUnited Kingdom2025-04-07Benton, John B Jr RENEWAL17Ioni Bowcher
1032Alejandro H PoquetteItaly2025-04-27Feiner Bros NEGOTIATION21Stephen Shaw
1033Isabel G OstroskyUnited Kingdom2025-04-12Rousseaux, Michael Esq PROPOSAL35Bernardo Dominic
1034David V MaletJapan2025-04-05King, Christopher A Esq QUALIFIED41Stephen Shaw
1035Emily B GlickJapan2025-04-21Rousseaux, Michael Esq NEGOTIATION41Xuxue Feng
1036Silvio D RutaIndia2025-04-10Chemel, James L Cpa NEW95Ioni Bowcher
1037Alejandro V InouyeAustralia2025-04-17Printing Dimensions RENEWAL30Stephen Shaw
1038Deepesh E DilliardBrazil2025-04-18Commercial Press UNQUALIFIED27Xuxue Feng
1039Jones V FigeroaAustralia2025-04-15Chanay, Jeffrey A Esq UNQUALIFIED70Amy Elsner
1040Nicolas U RulapaughSpain2025-04-26Benton, John B Jr NEW83Asiya Javayant
1041Aditya R SaylorsArgentina2025-04-09Feiner Bros PROPOSAL28Asiya Javayant
1042Greenwood J RutaIndia2025-04-08Chanay, Jeffrey A Esq RENEWAL72Onyama Limba
1043Francesco Y FigeroaRussia2025-04-19Feltz Printing Service UNQUALIFIED5Elwin Sharvill
1044Costa Y RoysterSpain2025-04-29Benton, John B Jr QUALIFIED10Stephen Shaw
1045Adams J BowleyRussia2025-04-21Buckley Miller Wright NEGOTIATION79Stephen Shaw
1046Antonio D MaletSpain2025-04-09Buckley Miller Wright UNQUALIFIED69Stephen Shaw
1047Jones N DarakjyAustralia2025-04-10Printing Dimensions RENEWAL72Elwin Sharvill
1048Deepesh M AmigonSpain2025-04-28Chemel, James L Cpa QUALIFIED37Xuxue Feng
1049Rodrigues L BriddickUnited Kingdom2025-04-30Chemel, James L Cpa NEW74Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Antonio W SaylorsAustraliaXuxue Feng PROPOSAL
Darci B GarufiCanadaOnyama Limba NEW
Jeanfrancois N StockhamItalyAsiya Javayant QUALIFIED
Kaitlin J MaletBrazilXuxue Feng NEW
Maria K CaudyFranceElwin Sharvill PROPOSAL
Smith Q WhobreyItalyXuxue Feng PROPOSAL
Munro M MaletAustraliaOnyama Limba NEGOTIATION
Greenwood L ShinkoArgentinaElwin Sharvill NEGOTIATION
Maria N MarrierGermanyXuxue Feng PROPOSAL
Deepesh S RoysterSpainBernardo Dominic UNQUALIFIED
Ivar R ButtSpainStephen Shaw RENEWAL
Munro I WieserArgentinaAsiya Javayant PROPOSAL
Wickens R MarrierGermanyElwin Sharvill UNQUALIFIED
Clifford V FollerRussiaIoni Bowcher PROPOSAL
Emily K SchemmerIndiaOnyama Limba RENEWAL
Deepesh M RutaBrazilIvan Magalhaes UNQUALIFIED
Munro M RulapaughBrazilOnyama Limba PROPOSAL
Ashley P SergiUnited KingdomOnyama Limba RENEWAL
Nicolas Q OstroskyBrazilIoni Bowcher NEW
Costa A WaycottUnited KingdomElwin Sharvill QUALIFIED
Nicolas D MacleadItalyIoni Bowcher UNQUALIFIED
Arvin K FlosiGermanyAnna Fali NEW
Munro L StockhamCanadaStephen Shaw RENEWAL
Chavez S WieserItalyAmy Elsner QUALIFIED
Ashley H MaletGermanyAsiya Javayant NEW
Leja Z NestleSpainAsiya Javayant NEW
Aruna I DilliardAustraliaIvan Magalhaes NEW
Adams Y GauchoIndiaStephen Shaw QUALIFIED
Leja Z DilliardItalyAmy Elsner NEGOTIATION
Jeanfrancois N ChuiFranceBernardo Dominic PROPOSAL
Aruna O OldroydAustraliaAsiya Javayant NEGOTIATION
James Z ShinkoArgentinaAmy Elsner UNQUALIFIED
Sinclair L DilliardItalyIvan Magalhaes UNQUALIFIED
Silvio V NickaArgentinaBernardo Dominic NEW
Emily Q WieserUnited KingdomAnna Fali PROPOSAL
Claire N CaldareraFranceIoni Bowcher UNQUALIFIED
Aruna W SlusarskiFranceOnyama Limba PROPOSAL
Kadeem D OldroydSpainStephen Shaw NEW
Mujtaba B FigeroaBrazilIoni Bowcher RENEWAL
Mayumi C PoquetteIndiaElwin Sharvill NEW
Aruna L SaylorsCanadaAsiya Javayant NEW
Jennifer A BologniaArgentinaXuxue Feng PROPOSAL
Emily Y ButtBrazilAnna Fali NEGOTIATION
Leon H MarrierJapanOnyama Limba QUALIFIED
Wickens S SergiUnited KingdomBernardo Dominic NEGOTIATION
Wickens J StensethBrazilElwin Sharvill PROPOSAL
Octavia E OstroskyCanadaXuxue Feng PROPOSAL
Arvin R OstroskyGermanyIoni Bowcher RENEWAL
Juan Z GillianArgentinaOnyama Limba NEGOTIATION
Rodrigues P StockhamArgentinaBernardo Dominic RENEWAL
Frozen Columns
Name
Francesco P Albares
Julie F Shinko
Jones M Inouye
Johnson L Dilliard
Salvatore P Royster
Leon N Caldarera
Arvin W Royster
Aditya X Oldroyd
Silvio G Amigon
Munro L Tollner
Jennifer X Saylors
Jones S Briddick
Adams N Poquette
Misaki N Oldroyd
Sinclair Q Whobrey
Maria L Figeroa
Jennifer P Whobrey
Morrow F Ferencz
Tony R Foller
Nicolas I Ferencz
Antonio C Perin
Ricardo R Nicka
Faith N Sergi
Izzy H Iturbide
Rodrigues W Ostrosky
Aruna W Glick
Francesco M Royster
Johnson E Caudy
Murillo O Vocelka
Salvatore D Saylors
Ashley D Campain
Ivar H Amigon
Stacey T Inouye
Wickens J Nicka
Jefferson Q Kusko
Ivar C Campain
Clifford G Glick
Octavia T Poquette
James U Stenseth
Aruna O Kolmetz
Julie V Stenseth
Jeanfrancois Q Royster
Aruna H Whobrey
Morrow O Gillian
Chavez I Gillian
James T Garufi
Wickens F Chui
Francesco Z Nicka
Leja N Morasca
Tony K Doe
IdCountryDate
1000Australia2025-04-18
1001Russia2025-04-22
1002Germany2025-04-23
1003Spain2025-05-01
1004Australia2025-04-19
1005Germany2025-04-11
1006Australia2025-04-09
1007Germany2025-04-06
1008Australia2025-04-02
1009Germany2025-04-26
1010Brazil2025-04-27
1011Argentina2025-04-09
1012Italy2025-04-10
1013Japan2025-04-28
1014France2025-04-30
1015Brazil2025-04-10
1016Argentina2025-04-19
1017Brazil2025-04-30
1018Japan2025-05-01
1019Canada2025-04-28
1020Japan2025-04-17
1021Brazil2025-04-22
1022Argentina2025-04-21
1023Russia2025-04-06
1024India2025-04-30
1025France2025-04-04
1026United Kingdom2025-04-20
1027Spain2025-04-09
1028Argentina2025-04-27
1029Australia2025-04-21
1030India2025-04-06
1031India2025-04-25
1032Australia2025-04-04
1033Germany2025-04-29
1034United Kingdom2025-04-24
1035United Kingdom2025-04-04
1036Germany2025-04-09
1037United Kingdom2025-04-23
1038India2025-04-12
1039Canada2025-04-24
1040Spain2025-04-16
1041Germany2025-04-14
1042Japan2025-04-20
1043Italy2025-04-12
1044Germany2025-04-05
1045Argentina2025-04-04
1046United Kingdom2025-04-05
1047Brazil2025-04-17
1048Canada2025-04-29
1049Russia2025-04-14

On-Demand Data

NameIdCountryDate
Jones E Glick1000Japan2025-04-28
Greenwood G Vocelka1001Russia2025-04-09
Clifford C Garufi1002Canada2025-05-01
Deepesh S Nestle1003Germany2025-04-17
Tony U Chui1004India2025-04-09
Alejandro C Glick1005France2025-04-30
James L Nicka1006Argentina2025-04-05
Johnson B Dilliard1007Spain2025-04-07
Salvatore P Butt1008Japan2025-04-29
Juan F Amigon1009Brazil2025-04-20
Smith U Whobrey1010Japan2025-04-23
Johnson D Caudy1011Russia2025-04-14
Chavez E Rulapaugh1012Germany2025-04-07
Murillo P Gaucho1013Argentina2025-04-26
Leon P Sergi1014Germany2025-04-05
David N Marrier1015Argentina2025-04-22
Claire F Doe1016France2025-04-18
Jefferson V Caudy1017Brazil2025-05-01
Silvio I Chui1018Germany2025-04-13
Faith C Inouye1019Germany2025-04-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair Q GarufiGermanyAsiya Javayant UNQUALIFIED
Leon S InouyeGermanyAnna Fali NEGOTIATION
Silvio X FigeroaRussiaXuxue Feng QUALIFIED
Sinclair R NestleArgentinaStephen Shaw NEGOTIATION
Jeanfrancois V BowleyGermanyXuxue Feng NEGOTIATION
Isabel M ShinkoIndiaIvan Magalhaes NEW
Cody R NestleItalyIoni Bowcher QUALIFIED
Leon A RimFranceOnyama Limba RENEWAL
Arvin N FollerIndiaAsiya Javayant PROPOSAL
Antonio N OstroskySpainAnna Fali NEGOTIATION
Ivar O PaprockiRussiaStephen Shaw NEW
Clifford E PerinUnited KingdomAmy Elsner RENEWAL
Rodrigues R BriddickIndiaElwin Sharvill PROPOSAL
Smith D SergiAustraliaElwin Sharvill PROPOSAL
Murillo E NestleGermanyAsiya Javayant RENEWAL
Chavez W AlbaresSpainElwin Sharvill PROPOSAL
Claire M PerinRussiaIvan Magalhaes QUALIFIED
Munro X SchemmerSpainAmy Elsner NEW
Ashley U BriddickAustraliaIvan Magalhaes NEW
Claire N CampainSpainAsiya Javayant RENEWAL
Maria H WaycottIndiaElwin Sharvill RENEWAL
Ivar P MaletUnited KingdomBernardo Dominic UNQUALIFIED
Darci T CaudyRussiaIoni Bowcher RENEWAL
Maria D FigeroaIndiaAsiya Javayant PROPOSAL
Munro M OldroydArgentinaIoni Bowcher NEGOTIATION
Antonio A GarufiFranceIoni Bowcher NEW
Leon R InouyeBrazilStephen Shaw NEW
Antonio Q CaldareraItalyOnyama Limba NEW
Salvatore A InouyeCanadaBernardo Dominic NEGOTIATION
Julie Z OldroydArgentinaXuxue Feng RENEWAL
Deepesh K GillianGermanyOnyama Limba UNQUALIFIED
Mujtaba U RulapaughItalyOnyama Limba UNQUALIFIED
Francesco P PoquetteIndiaAsiya Javayant RENEWAL
Mujtaba M SchemmerUnited KingdomXuxue Feng QUALIFIED
Emily D DoeItalyOnyama Limba PROPOSAL
Wickens V ShinkoCanadaAsiya Javayant UNQUALIFIED
Faith W FlosiIndiaElwin Sharvill NEGOTIATION
Octavia N DilliardJapanStephen Shaw QUALIFIED
Sinclair E SlusarskiArgentinaXuxue Feng QUALIFIED
Mujtaba E FerenczGermanyAsiya Javayant 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">
            <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>