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
Maisha Q MorascaFranceAnna Fali NEGOTIATION
Rodrigues I GillianGermanyIoni Bowcher NEGOTIATION
Faith Z VenereRussiaAsiya Javayant UNQUALIFIED
Chavez E MorascaIndiaAnna Fali UNQUALIFIED
Jones L OstroskyIndiaAsiya Javayant PROPOSAL
Wickens F TollnerIndiaAsiya Javayant UNQUALIFIED
Ashley H ShinkoSpainBernardo Dominic RENEWAL
Isabel Y KolmetzAustraliaElwin Sharvill NEGOTIATION
Murillo S VocelkaAustraliaIvan Magalhaes RENEWAL
Greenwood Q OstroskySpainBernardo Dominic UNQUALIFIED
Jeanfrancois B ChuiArgentinaIoni Bowcher NEGOTIATION
Jefferson T CaudyUnited KingdomAmy Elsner QUALIFIED
Silvio T MaletIndiaIoni Bowcher NEGOTIATION
Aruna Q OstroskyRussiaXuxue Feng NEW
Nicolas K FigeroaArgentinaOnyama Limba QUALIFIED
Juan P PoquetteAustraliaIoni Bowcher PROPOSAL
Maria K KuskoJapanBernardo Dominic RENEWAL
Juan Z RimCanadaOnyama Limba UNQUALIFIED
Adams T SchemmerRussiaStephen Shaw NEGOTIATION
Emily X SaylorsFranceXuxue Feng NEW
Kaitlin Y GlickCanadaXuxue Feng RENEWAL
Chavez P KolmetzUnited KingdomOnyama Limba NEGOTIATION
Morrow Z GlickGermanyIoni Bowcher PROPOSAL
Jennifer P ShinkoBrazilAmy Elsner NEW
Maisha N SergiAustraliaElwin Sharvill NEGOTIATION
Faith P AlbaresGermanyIvan Magalhaes NEGOTIATION
Nicolas G NickaJapanAmy Elsner RENEWAL
Ashley L BologniaRussiaAnna Fali UNQUALIFIED
Jeanfrancois F FlosiBrazilXuxue Feng QUALIFIED
Silvio A MarrierBrazilIoni Bowcher UNQUALIFIED
Wickens U PoquetteBrazilIoni Bowcher NEGOTIATION
David H OldroydUnited KingdomXuxue Feng PROPOSAL
Tony K InouyeRussiaIvan Magalhaes UNQUALIFIED
Claire Y KuskoRussiaStephen Shaw UNQUALIFIED
Sinclair J AlbaresRussiaIvan Magalhaes PROPOSAL
Antonio M StensethUnited KingdomAnna Fali RENEWAL
Alejandro A RulapaughGermanyOnyama Limba QUALIFIED
Smith R FollerAustraliaAsiya Javayant UNQUALIFIED
Munro F KuskoAustraliaIvan Magalhaes NEGOTIATION
Kadeem T WhobreyUnited KingdomAnna Fali QUALIFIED
Alejandro X DarakjyCanadaXuxue Feng NEW
Ashley X SaylorsUnited KingdomAmy Elsner QUALIFIED
Isabel X CaudyFranceAmy Elsner RENEWAL
Izzy W AmigonItalyIvan Magalhaes RENEWAL
Aditya A SchemmerRussiaIoni Bowcher QUALIFIED
Murillo P GillianFranceStephen Shaw NEW
Maisha K RimUnited KingdomAsiya Javayant NEGOTIATION
Misaki A FollerGermanyStephen Shaw QUALIFIED
Mayumi P NickaCanadaIoni Bowcher UNQUALIFIED
Ivar D OldroydFranceAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Ivar A WieserSpainStephen Shaw PROPOSAL
Jeanfrancois R CampainSpainAsiya Javayant UNQUALIFIED
Chavez Q InouyeUnited KingdomBernardo Dominic PROPOSAL
Costa B NestleBrazilIoni Bowcher PROPOSAL
Aruna R StockhamJapanAmy Elsner NEW
Silvio Q SaylorsSpainAsiya Javayant PROPOSAL
Kaitlin M CaldareraJapanXuxue Feng NEW
Darci N MacleadAustraliaOnyama Limba RENEWAL
James Q NestleJapanIoni Bowcher PROPOSAL
Antonio D IturbideArgentinaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria D DilliardAustralia2024-06-09Feltz Printing Service QUALIFIED21Bernardo Dominic
1001Nicolas H DilliardJapan2024-06-22Truhlar And Truhlar Attys PROPOSAL6Onyama Limba
1002Silvio K SergiCanada2024-05-28Benton, John B Jr NEGOTIATION38Elwin Sharvill
1003Ivar H SlusarskiJapan2024-06-22Feiner Bros NEW50Xuxue Feng
1004Greenwood D FerenczIndia2024-06-07Feltz Printing Service UNQUALIFIED61Stephen Shaw
1005Sinclair Q MacleadItaly2024-05-27King, Christopher A Esq UNQUALIFIED51Bernardo Dominic
1006Murillo X StensethIndia2024-06-15Buckley Miller Wright NEW35Elwin Sharvill
1007Ashley X InouyeJapan2024-05-26Chemel, James L Cpa RENEWAL66Elwin Sharvill
1008Costa A IturbideAustralia2024-06-14Morlong Associates RENEWAL9Elwin Sharvill
1009Julie I RulapaughFrance2024-06-17Commercial Press QUALIFIED23Amy Elsner
1010Ricardo C AmigonUnited Kingdom2024-05-31Rangoni Of Florence NEGOTIATION8Asiya Javayant
1011Ricardo Q OldroydArgentina2024-06-13Buckley Miller Wright NEW38Asiya Javayant
1012Murillo T IturbideGermany2024-06-21Feiner Bros PROPOSAL95Ivan Magalhaes
1013David T WhobreySpain2024-06-22Buckley Miller Wright QUALIFIED25Ioni Bowcher
1014Ashley K CaudyArgentina2024-06-08Feltz Printing Service RENEWAL60Xuxue Feng
1015Stacey H MarrierCanada2024-06-02Chanay, Jeffrey A Esq NEGOTIATION41Onyama Limba
1016Morrow T SchemmerBrazil2024-06-17King, Christopher A Esq UNQUALIFIED15Anna Fali
1017Clifford H PaprockiJapan2024-06-05Benton, John B Jr PROPOSAL32Ioni Bowcher
1018Kadeem E PoquetteFrance2024-06-09Rousseaux, Michael Esq NEW95Amy Elsner
1019Chavez G GillianRussia2024-06-11Rangoni Of Florence NEGOTIATION17Elwin Sharvill
1020Tony E BologniaSpain2024-06-08Commercial Press NEGOTIATION45Elwin Sharvill
1021Costa G OstroskyItaly2024-06-05Rangoni Of Florence RENEWAL18Amy Elsner
1022Costa W AmigonUnited Kingdom2024-06-22Morlong Associates UNQUALIFIED20Bernardo Dominic
1023Maria H VocelkaBrazil2024-06-24Morlong Associates QUALIFIED59Xuxue Feng
1024Aditya L KolmetzItaly2024-06-22Feltz Printing Service RENEWAL84Elwin Sharvill
1025Juan J IturbideUnited Kingdom2024-06-12Dorl, James J Esq QUALIFIED69Ioni Bowcher
1026Claire A MarrierUnited Kingdom2024-06-03Rangoni Of Florence RENEWAL42Elwin Sharvill
1027Salvatore J GauchoFrance2024-06-10Morlong Associates UNQUALIFIED84Amy Elsner
1028Francesco X IturbideGermany2024-06-21Rousseaux, Michael Esq UNQUALIFIED22Asiya Javayant
1029Claire P MaletFrance2024-06-18Chanay, Jeffrey A Esq PROPOSAL57Stephen Shaw
1030Deepesh F KuskoArgentina2024-06-12King, Christopher A Esq UNQUALIFIED9Onyama Limba
1031Wickens K OstroskySpain2024-06-17Feltz Printing Service NEGOTIATION35Elwin Sharvill
1032Costa G KolmetzSpain2024-05-31Rangoni Of Florence QUALIFIED95Onyama Limba
1033Tony Z ButtGermany2024-06-24Feltz Printing Service QUALIFIED8Onyama Limba
1034Aika V GlickItaly2024-06-20Rangoni Of Florence PROPOSAL62Elwin Sharvill
1035Wickens P MarrierSpain2024-05-26Printing Dimensions RENEWAL33Ioni Bowcher
1036Wickens W SchemmerAustralia2024-06-10Chemel, James L Cpa NEGOTIATION43Amy Elsner
1037Salvatore T GillianCanada2024-06-10Chemel, James L Cpa UNQUALIFIED36Asiya Javayant
1038Francesco R DarakjyFrance2024-05-30Feltz Printing Service NEGOTIATION6Asiya Javayant
1039James B RutaJapan2024-06-05King, Christopher A Esq NEGOTIATION18Ioni Bowcher
1040Maria S AlbaresJapan2024-06-21Dorl, James J Esq RENEWAL50Bernardo Dominic
1041Emily N OldroydCanada2024-06-18Rousseaux, Michael Esq QUALIFIED64Xuxue Feng
1042Kaitlin I NestleArgentina2024-06-14Chanay, Jeffrey A Esq NEW98Asiya Javayant
1043Smith R SchemmerCanada2024-06-11Commercial Press QUALIFIED73Ivan Magalhaes
1044Claire F CampainRussia2024-06-13Buckley Miller Wright RENEWAL21Elwin Sharvill
1045Rodrigues O MacleadItaly2024-05-29Chemel, James L Cpa RENEWAL21Amy Elsner
1046Aditya R ShinkoRussia2024-06-23Morlong Associates UNQUALIFIED21Asiya Javayant
1047Julie U MarrierFrance2024-06-13Printing Dimensions PROPOSAL39Anna Fali
1048Munro P RimIndia2024-05-26Feltz Printing Service QUALIFIED34Anna Fali
1049Jennifer Q BologniaIndia2024-05-29King, Christopher A Esq NEGOTIATION81Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mayumi P VenereAustraliaElwin Sharvill PROPOSAL
Costa I GarufiRussiaIvan Magalhaes RENEWAL
Murillo W NickaSpainOnyama Limba RENEWAL
Faith D CaldareraJapanOnyama Limba RENEWAL
Antonio D CaudyItalyAmy Elsner NEW
Jennifer A ShinkoBrazilIvan Magalhaes NEW
Leja O CaudyAustraliaIoni Bowcher RENEWAL
Nicolas B WhobreyCanadaAnna Fali RENEWAL
Julie C DilliardGermanyIoni Bowcher QUALIFIED
Salvatore O StensethArgentinaXuxue Feng NEGOTIATION
Maisha G BologniaGermanyIvan Magalhaes RENEWAL
Leja U StensethArgentinaAmy Elsner RENEWAL
Johnson M StensethSpainBernardo Dominic RENEWAL
Mujtaba K StensethRussiaAnna Fali PROPOSAL
Sinclair E GarufiUnited KingdomBernardo Dominic NEGOTIATION
Morrow N MarrierArgentinaAsiya Javayant PROPOSAL
Aditya G AlbaresItalyAsiya Javayant UNQUALIFIED
Faith W CampainRussiaOnyama Limba PROPOSAL
Julie F RulapaughSpainBernardo Dominic PROPOSAL
Greenwood N PaprockiUnited KingdomAmy Elsner NEGOTIATION
Kaitlin D FerenczBrazilBernardo Dominic NEGOTIATION
Arvin G MorascaFranceOnyama Limba NEGOTIATION
Emily Y MacleadFranceIoni Bowcher UNQUALIFIED
Salvatore I CaudyIndiaBernardo Dominic UNQUALIFIED
Chavez D GillianBrazilBernardo Dominic QUALIFIED
Francesco D DarakjyRussiaAnna Fali UNQUALIFIED
Smith D KuskoFranceStephen Shaw NEW
Mayumi Z GlickFranceElwin Sharvill RENEWAL
Morrow K VenereItalyAnna Fali NEW
Faith F FlosiUnited KingdomXuxue Feng NEGOTIATION
Johnson G MacleadCanadaAsiya Javayant QUALIFIED
Nicolas Z PerinIndiaAnna Fali PROPOSAL
Isabel V SlusarskiItalyBernardo Dominic RENEWAL
Jeanfrancois I CampainItalyOnyama Limba UNQUALIFIED
Juan I OstroskyUnited KingdomElwin Sharvill NEW
Aika V KuskoUnited KingdomAnna Fali PROPOSAL
Aditya H StensethGermanyXuxue Feng NEGOTIATION
Octavia J ShinkoJapanStephen Shaw RENEWAL
Maisha E MorascaGermanyElwin Sharvill RENEWAL
Johnson U GlickItalyXuxue Feng PROPOSAL
Alejandro K FigeroaSpainBernardo Dominic NEGOTIATION
Izzy Z FollerJapanAmy Elsner NEW
Jennifer C RimArgentinaIvan Magalhaes NEGOTIATION
Murillo L IturbideRussiaAmy Elsner NEW
Aruna M OldroydArgentinaXuxue Feng RENEWAL
Munro T CaldareraItalyIvan Magalhaes UNQUALIFIED
Greenwood T MarrierBrazilIoni Bowcher NEGOTIATION
Costa S NestleItalyXuxue Feng RENEWAL
Clifford A MaletJapanXuxue Feng NEW
Ivar M KuskoCanadaAsiya Javayant RENEWAL
Frozen Columns
Name
Sinclair G Saylors
Smith O Darakjy
Alejandro A Wieser
Jennifer U Vocelka
Leon O Saylors
Ashley G Doe
Juan J Waycott
Ivar M Campain
Clifford U Stockham
Jeanfrancois V Sergi
Leja V Gaucho
Leon O Oldroyd
Jennifer E Wieser
Adams B Kolmetz
Jefferson I Shinko
Isabel X Vocelka
Ivar G Malet
Antonio C Paprocki
Leon B Nicka
Faith Y Amigon
Jeanfrancois C Tollner
Kaitlin A Nestle
Jennifer Z Ruta
Misaki F Saylors
Emily O Malet
Aruna I Vocelka
Smith Q Malet
Costa V Ostrosky
Kadeem G Slusarski
Maisha J Glick
Munro K Chui
Alejandro W Rulapaugh
Darci S Ruta
Izzy B Malet
Wickens L Stenseth
Aika E Perin
Munro Q Waycott
Ricardo V Malet
Smith W Schemmer
Cody C Sergi
Izzy Z Doe
Claire S Iturbide
Aditya W Slusarski
Smith D Nicka
Ivar C Poquette
Munro C Flosi
Leja B Gaucho
Costa K Albares
Leja P Schemmer
Clifford T Caudy
IdCountryDate
1000Japan2024-05-28
1001Russia2024-06-18
1002Spain2024-06-11
1003Japan2024-05-27
1004Canada2024-06-19
1005Brazil2024-06-13
1006Brazil2024-05-30
1007Argentina2024-06-20
1008Russia2024-06-01
1009Australia2024-06-06
1010Brazil2024-06-24
1011India2024-06-07
1012Russia2024-06-19
1013Argentina2024-06-22
1014Canada2024-06-07
1015Japan2024-05-26
1016United Kingdom2024-06-24
1017United Kingdom2024-06-08
1018Argentina2024-06-02
1019Canada2024-06-03
1020Germany2024-06-06
1021Australia2024-06-14
1022Australia2024-06-05
1023United Kingdom2024-06-06
1024Russia2024-05-27
1025Japan2024-06-01
1026Russia2024-06-19
1027Argentina2024-06-12
1028Japan2024-06-09
1029Spain2024-06-04
1030Germany2024-06-01
1031Germany2024-06-07
1032India2024-06-07
1033Canada2024-06-22
1034Spain2024-06-05
1035India2024-05-27
1036Japan2024-05-27
1037France2024-06-02
1038United Kingdom2024-06-22
1039Germany2024-06-17
1040United Kingdom2024-05-26
1041Germany2024-06-24
1042Italy2024-06-10
1043Spain2024-06-03
1044Spain2024-06-16
1045Japan2024-06-08
1046Australia2024-06-19
1047Italy2024-06-08
1048Canada2024-05-30
1049Japan2024-05-27

On-Demand Data

NameIdCountryDate
Arvin W Vocelka1000France2024-06-13
Jones V Ferencz1001India2024-06-01
Smith Z Butt1002Japan2024-06-09
Jones W Butt1003Brazil2024-06-01
Cody Y Doe1004Canada2024-05-26
Murillo T Malet1005France2024-06-03
Murillo B Slusarski1006France2024-05-31
Nicolas L Morasca1007Australia2024-06-23
Misaki Y Royster1008Australia2024-06-16
Sinclair Z Slusarski1009Canada2024-05-31
Isabel L Kolmetz1010Italy2024-06-18
Jennifer N Rim1011Japan2024-06-01
Mayumi Z Butt1012Argentina2024-05-31
Greenwood E Butt1013India2024-06-03
Maria X Rulapaugh1014United Kingdom2024-06-12
Ivar P Butt1015Italy2024-06-20
Adams V Slusarski1016India2024-06-07
Morrow I Waycott1017France2024-05-30
Misaki A Glick1018Japan2024-06-04
Mujtaba Y Glick1019Spain2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin R PaprockiUnited KingdomAsiya Javayant QUALIFIED
Claire I PaprockiGermanyStephen Shaw RENEWAL
Juan W CampainItalyIoni Bowcher QUALIFIED
Aditya V TollnerItalyBernardo Dominic PROPOSAL
Murillo Z CampainJapanIoni Bowcher NEGOTIATION
Greenwood K NickaBrazilElwin Sharvill NEW
Adams S RutaGermanyOnyama Limba NEW
Mayumi V FollerBrazilAmy Elsner QUALIFIED
Clifford T ShinkoUnited KingdomOnyama Limba QUALIFIED
Johnson F WieserCanadaBernardo Dominic NEW
Deepesh G DarakjyAustraliaAsiya Javayant NEW
Izzy M GillianCanadaOnyama Limba QUALIFIED
Jefferson W ShinkoIndiaElwin Sharvill NEGOTIATION
Chavez G RulapaughArgentinaAmy Elsner UNQUALIFIED
Salvatore H ChuiJapanIoni Bowcher NEGOTIATION
Morrow A FlosiUnited KingdomXuxue Feng UNQUALIFIED
Leon P ButtGermanyIoni Bowcher UNQUALIFIED
Costa W MorascaRussiaAsiya Javayant UNQUALIFIED
James P DarakjyRussiaAmy Elsner RENEWAL
Jeanfrancois M SchemmerSpainOnyama Limba PROPOSAL
Chavez K PaprockiCanadaXuxue Feng QUALIFIED
Emily A MorascaGermanyAnna Fali NEW
Emily C PerinCanadaOnyama Limba RENEWAL
Maisha R CaldareraFranceAsiya Javayant NEGOTIATION
Emily I WhobreyJapanAsiya Javayant NEGOTIATION
Emily T SergiGermanyElwin Sharvill PROPOSAL
Leja D OldroydAustraliaAmy Elsner NEW
Isabel L BologniaJapanXuxue Feng NEGOTIATION
Aditya S RutaItalyIvan Magalhaes QUALIFIED
Morrow Q ShinkoJapanXuxue Feng NEGOTIATION
Jefferson H CaudyItalyAnna Fali RENEWAL
Kaitlin Z VenereAustraliaAnna Fali RENEWAL
Jones X OldroydArgentinaAnna Fali QUALIFIED
Jeanfrancois S PerinJapanElwin Sharvill NEGOTIATION
Kaitlin W GauchoUnited KingdomIvan Magalhaes NEW
Francesco H MaletAustraliaIoni Bowcher UNQUALIFIED
Adams Y MarrierArgentinaOnyama Limba RENEWAL
Antonio B GarufiBrazilAsiya Javayant QUALIFIED
Misaki S SchemmerRussiaAnna Fali QUALIFIED
Maisha B TollnerArgentinaElwin Sharvill 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">
            <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>