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
Jefferson C SlusarskiSpainAsiya Javayant NEGOTIATION
Johnson Y KuskoRussiaOnyama Limba RENEWAL
Mayumi Z DilliardJapanIoni Bowcher RENEWAL
Johnson P FlosiCanadaIoni Bowcher NEGOTIATION
Johnson M MorascaArgentinaAnna Fali RENEWAL
Mayumi Y ShinkoFranceOnyama Limba QUALIFIED
Adams Z MaletAustraliaAnna Fali RENEWAL
Aditya P TollnerAustraliaXuxue Feng NEGOTIATION
Maisha J BriddickItalyAsiya Javayant QUALIFIED
Antonio W DarakjyGermanyIvan Magalhaes RENEWAL
Johnson N WhobreyUnited KingdomAnna Fali QUALIFIED
David K KolmetzRussiaBernardo Dominic PROPOSAL
Jefferson S PaprockiUnited KingdomAmy Elsner NEGOTIATION
Francesco G InouyeSpainOnyama Limba QUALIFIED
Morrow J BowleyRussiaAsiya Javayant NEW
Emily I SlusarskiBrazilXuxue Feng UNQUALIFIED
Nicolas B FigeroaUnited KingdomElwin Sharvill RENEWAL
Misaki I SergiJapanAnna Fali NEGOTIATION
Wickens G ShinkoAustraliaAnna Fali RENEWAL
Murillo S FigeroaCanadaAmy Elsner NEW
Silvio J PaprockiUnited KingdomAnna Fali NEW
Aika O KuskoAustraliaAmy Elsner NEGOTIATION
Arvin K FigeroaIndiaBernardo Dominic RENEWAL
Mayumi R OstroskyJapanXuxue Feng PROPOSAL
Salvatore B VocelkaCanadaAnna Fali RENEWAL
Tony C AmigonJapanIoni Bowcher NEGOTIATION
Antonio V RoysterBrazilBernardo Dominic RENEWAL
Kaitlin N FigeroaSpainAnna Fali NEGOTIATION
Antonio H MarrierFranceIoni Bowcher NEGOTIATION
Wickens N CaldareraJapanStephen Shaw NEGOTIATION
Johnson Q GlickGermanyOnyama Limba NEW
Ricardo X ButtItalyStephen Shaw UNQUALIFIED
Deepesh X ButtIndiaElwin Sharvill UNQUALIFIED
Leon Z DoeBrazilXuxue Feng NEW
Jeanfrancois J WieserRussiaOnyama Limba PROPOSAL
Jones K DoeJapanAmy Elsner UNQUALIFIED
Adams J RulapaughBrazilAsiya Javayant PROPOSAL
Ricardo J GillianSpainAmy Elsner QUALIFIED
Nicolas V RimArgentinaAnna Fali QUALIFIED
Misaki O AmigonSpainIvan Magalhaes NEGOTIATION
Jones K SchemmerCanadaIvan Magalhaes QUALIFIED
Deepesh K NestleCanadaStephen Shaw NEGOTIATION
Deepesh Y MarrierIndiaAnna Fali NEW
Ricardo K RimSpainXuxue Feng UNQUALIFIED
Morrow R WhobreyGermanyAsiya Javayant NEW
Stacey Q SaylorsIndiaIvan Magalhaes PROPOSAL
Deepesh F MaletRussiaElwin Sharvill QUALIFIED
Juan Y CampainJapanAsiya Javayant RENEWAL
Kaitlin M SchemmerFranceBernardo Dominic PROPOSAL
Leon A StockhamJapanAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Antonio P CaldareraUnited KingdomIvan Magalhaes NEW
James L PerinArgentinaXuxue Feng PROPOSAL
Adams N RulapaughBrazilStephen Shaw RENEWAL
Ricardo E MorascaAustraliaIvan Magalhaes NEW
Ivar F WaycottArgentinaAmy Elsner NEGOTIATION
Kaitlin S MaletRussiaAnna Fali UNQUALIFIED
Mayumi Z CaldareraJapanOnyama Limba QUALIFIED
Smith U PoquetteFranceElwin Sharvill QUALIFIED
Johnson E WaycottAustraliaAsiya Javayant QUALIFIED
Aditya G VocelkaUnited KingdomIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow A GlickBrazil2024-05-10Feltz Printing Service NEGOTIATION21Anna Fali
1001Jefferson L KolmetzRussia2024-05-22Truhlar And Truhlar Attys NEGOTIATION90Bernardo Dominic
1002Kaitlin L OldroydUnited Kingdom2024-05-26Printing Dimensions UNQUALIFIED1Asiya Javayant
1003Octavia M SchemmerIndia2024-05-13Chanay, Jeffrey A Esq UNQUALIFIED67Amy Elsner
1004Mujtaba R FlosiFrance2024-05-18Rousseaux, Michael Esq UNQUALIFIED28Anna Fali
1005Clifford E IturbideSpain2024-05-12Dorl, James J Esq QUALIFIED31Bernardo Dominic
1006Johnson R CaldareraArgentina2024-05-09Printing Dimensions NEW89Amy Elsner
1007James V PaprockiAustralia2024-05-14Truhlar And Truhlar Attys QUALIFIED26Stephen Shaw
1008Jeanfrancois U ButtArgentina2024-05-05Benton, John B Jr PROPOSAL73Anna Fali
1009Faith I GlickRussia2024-05-25Chapman, Ross E Esq NEGOTIATION56Elwin Sharvill
1010Isabel C WaycottSpain2024-05-01Rousseaux, Michael Esq PROPOSAL37Elwin Sharvill
1011Sinclair V GillianArgentina2024-05-15Printing Dimensions NEW47Xuxue Feng
1012Tony J StockhamItaly2024-05-14Benton, John B Jr NEW29Ivan Magalhaes
1013Isabel Q CaudyFrance2024-05-25Morlong Associates RENEWAL1Bernardo Dominic
1014Wickens R RimGermany2024-05-17Rousseaux, Michael Esq NEGOTIATION97Onyama Limba
1015Adams D PerinArgentina2024-05-17Rousseaux, Michael Esq UNQUALIFIED94Xuxue Feng
1016Ivar L StockhamSpain2024-05-07Dorl, James J Esq RENEWAL52Amy Elsner
1017Adams M WieserUnited Kingdom2024-05-06Truhlar And Truhlar Attys QUALIFIED8Elwin Sharvill
1018Cody D ShinkoUnited Kingdom2024-05-29Printing Dimensions NEGOTIATION39Onyama Limba
1019Maisha D VocelkaFrance2024-05-05Rousseaux, Michael Esq PROPOSAL74Anna Fali
1020Costa T SergiItaly2024-05-04Benton, John B Jr NEGOTIATION98Elwin Sharvill
1021David W StensethArgentina2024-05-11Benton, John B Jr PROPOSAL38Anna Fali
1022Octavia Q FlosiRussia2024-05-18Benton, John B Jr RENEWAL3Onyama Limba
1023Smith C RoysterItaly2024-05-25King, Christopher A Esq PROPOSAL76Onyama Limba
1024Antonio O NickaCanada2024-05-27King, Christopher A Esq NEGOTIATION69Elwin Sharvill
1025Leja K NickaJapan2024-05-07King, Christopher A Esq PROPOSAL83Ivan Magalhaes
1026Adams X BriddickIndia2024-05-15Chapman, Ross E Esq UNQUALIFIED53Asiya Javayant
1027Jeanfrancois V GlickFrance2024-05-27Rangoni Of Florence QUALIFIED67Amy Elsner
1028Jefferson K CaudyItaly2024-05-09King, Christopher A Esq NEW71Stephen Shaw
1029Ricardo I GlickIndia2024-05-02Rangoni Of Florence NEGOTIATION86Ioni Bowcher
1030Arvin I MarrierIndia2024-05-07Feiner Bros RENEWAL96Bernardo Dominic
1031Ivar Z DarakjyIndia2024-05-07Chemel, James L Cpa NEGOTIATION3Elwin Sharvill
1032Nicolas S CampainSpain2024-05-02Rousseaux, Michael Esq NEGOTIATION42Xuxue Feng
1033Jefferson W IturbideUnited Kingdom2024-05-26Printing Dimensions QUALIFIED98Ivan Magalhaes
1034Salvatore U WaycottRussia2024-05-16Rangoni Of Florence PROPOSAL19Ivan Magalhaes
1035Alejandro Q RimCanada2024-05-30Feiner Bros QUALIFIED56Asiya Javayant
1036Arvin H AmigonRussia2024-05-02Chanay, Jeffrey A Esq NEW12Asiya Javayant
1037Rodrigues J ChuiGermany2024-05-05Printing Dimensions PROPOSAL52Asiya Javayant
1038Greenwood K SergiIndia2024-05-18Printing Dimensions QUALIFIED12Onyama Limba
1039Munro X CaldareraIndia2024-05-09Printing Dimensions PROPOSAL96Anna Fali
1040Julie V TollnerFrance2024-05-03King, Christopher A Esq PROPOSAL6Asiya Javayant
1041Silvio O SchemmerCanada2024-05-21Feiner Bros RENEWAL74Bernardo Dominic
1042Leon H GlickBrazil2024-05-19Chanay, Jeffrey A Esq NEGOTIATION68Asiya Javayant
1043Salvatore O SlusarskiGermany2024-05-28Truhlar And Truhlar Attys NEW14Amy Elsner
1044Silvio F FerenczUnited Kingdom2024-05-16Rangoni Of Florence NEGOTIATION68Onyama Limba
1045Maisha M ChuiUnited Kingdom2024-05-04Chapman, Ross E Esq RENEWAL54Stephen Shaw
1046Costa H RulapaughSpain2024-05-19King, Christopher A Esq UNQUALIFIED8Asiya Javayant
1047Ricardo D ButtGermany2024-05-20Commercial Press UNQUALIFIED57Stephen Shaw
1048Faith V VocelkaArgentina2024-05-18Chapman, Ross E Esq RENEWAL81Elwin Sharvill
1049Leja Q AlbaresBrazil2024-05-19Chanay, Jeffrey A Esq RENEWAL24Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
James S TollnerSpainOnyama Limba RENEWAL
Francesco W SergiAustraliaXuxue Feng RENEWAL
Ivar Z RulapaughIndiaAsiya Javayant QUALIFIED
Francesco P BologniaSpainOnyama Limba PROPOSAL
Aruna V OstroskyIndiaStephen Shaw NEGOTIATION
Nicolas G GillianItalyStephen Shaw UNQUALIFIED
Murillo I ButtCanadaOnyama Limba PROPOSAL
Maria C RimIndiaXuxue Feng NEGOTIATION
Munro V VenereSpainIvan Magalhaes QUALIFIED
Salvatore O GauchoJapanAnna Fali QUALIFIED
Smith S WieserBrazilElwin Sharvill QUALIFIED
Morrow X PoquetteUnited KingdomStephen Shaw QUALIFIED
Mayumi G KolmetzGermanyIoni Bowcher PROPOSAL
David K VenereIndiaElwin Sharvill QUALIFIED
Isabel G RulapaughArgentinaElwin Sharvill RENEWAL
Ricardo Y CaudyFranceIoni Bowcher NEW
Wickens N NestleBrazilAmy Elsner NEGOTIATION
Maisha V PaprockiIndiaIoni Bowcher PROPOSAL
Misaki X SlusarskiJapanAmy Elsner NEGOTIATION
Jones W FigeroaJapanAsiya Javayant QUALIFIED
Isabel V PaprockiJapanXuxue Feng QUALIFIED
Adams W GauchoCanadaIvan Magalhaes RENEWAL
Chavez L RoysterSpainOnyama Limba NEGOTIATION
Cody M BologniaIndiaAnna Fali UNQUALIFIED
David D DoeCanadaXuxue Feng NEGOTIATION
Emily R MaletSpainIoni Bowcher UNQUALIFIED
Kaitlin E WieserBrazilStephen Shaw NEGOTIATION
Isabel P RulapaughGermanyIoni Bowcher RENEWAL
Isabel Q StensethUnited KingdomIoni Bowcher NEW
Munro Y AmigonGermanyIvan Magalhaes RENEWAL
Misaki R FollerIndiaBernardo Dominic NEGOTIATION
Jeanfrancois F DilliardUnited KingdomIoni Bowcher PROPOSAL
Kaitlin N BologniaItalyIoni Bowcher NEW
Costa S VocelkaFranceElwin Sharvill PROPOSAL
Aruna B NestleItalyAnna Fali PROPOSAL
Mayumi U SchemmerArgentinaIvan Magalhaes UNQUALIFIED
Aditya Z StensethUnited KingdomXuxue Feng QUALIFIED
Emily U RulapaughFranceBernardo Dominic NEGOTIATION
Ricardo X SaylorsGermanyOnyama Limba PROPOSAL
Francesco X KuskoArgentinaIvan Magalhaes NEGOTIATION
Izzy X DilliardAustraliaElwin Sharvill NEGOTIATION
Alejandro W DarakjyUnited KingdomBernardo Dominic QUALIFIED
Mayumi C DoeAustraliaAmy Elsner UNQUALIFIED
Stacey M PaprockiIndiaElwin Sharvill PROPOSAL
Jeanfrancois K FigeroaItalyStephen Shaw UNQUALIFIED
Chavez X WieserBrazilOnyama Limba RENEWAL
Leon B StensethJapanOnyama Limba UNQUALIFIED
Smith Z WhobreyBrazilBernardo Dominic PROPOSAL
Ricardo N OstroskyJapanOnyama Limba NEW
Faith J DoeCanadaAnna Fali RENEWAL
Frozen Columns
Name
David Y Iturbide
Deepesh L Schemmer
Salvatore B Sergi
Francesco E Slusarski
Juan A Briddick
Izzy D Glick
Ashley I Gillian
Leon F Ruta
Jennifer B Chui
Ashley Y Chui
Morrow C Ostrosky
Antonio Q Dilliard
Adams O Paprocki
Rodrigues L Albares
Alejandro C Ruta
Wickens S Maclead
Emily S Morasca
Maria S Shinko
Juan R Morasca
James Y Butt
Kadeem S Nestle
Costa T Chui
Aika I Campain
Misaki K Morasca
Cody Z Doe
Silvio N Malet
Morrow N Shinko
Alejandro T Figeroa
Ashley T Gaucho
Salvatore G Caudy
Aruna Q Stenseth
Smith K Vocelka
Aruna X Briddick
Jeanfrancois M Darakjy
Francesco Z Morasca
Wickens T Garufi
Faith A Ruta
Jefferson L Kusko
Ivar Z Slusarski
Cody L Morasca
Tony O Perin
Morrow A Doe
Arvin K Albares
Mujtaba X Waycott
Faith O Campain
Leja M Inouye
Octavia A Wieser
Rodrigues V Nestle
Stacey S Waycott
Darci Y Dilliard
IdCountryDate
1000Australia2024-05-18
1001Russia2024-05-29
1002Spain2024-05-04
1003Germany2024-05-03
1004France2024-05-19
1005United Kingdom2024-05-17
1006Australia2024-05-20
1007Australia2024-05-06
1008India2024-05-26
1009Japan2024-05-07
1010Spain2024-05-06
1011Australia2024-05-03
1012Japan2024-05-17
1013Russia2024-05-06
1014Australia2024-05-10
1015India2024-05-07
1016Spain2024-05-27
1017Japan2024-05-26
1018Japan2024-05-10
1019France2024-05-29
1020India2024-05-01
1021Argentina2024-05-02
1022Argentina2024-05-16
1023France2024-05-09
1024France2024-05-14
1025Canada2024-05-13
1026Spain2024-05-11
1027Germany2024-05-11
1028France2024-05-23
1029Russia2024-05-28
1030Italy2024-05-01
1031United Kingdom2024-05-13
1032Italy2024-05-14
1033United Kingdom2024-05-12
1034Brazil2024-05-29
1035India2024-05-29
1036Canada2024-05-28
1037United Kingdom2024-05-05
1038Canada2024-05-25
1039Canada2024-05-28
1040Germany2024-05-03
1041France2024-05-19
1042Canada2024-05-25
1043Canada2024-05-18
1044United Kingdom2024-05-21
1045United Kingdom2024-05-22
1046France2024-05-29
1047Argentina2024-05-25
1048United Kingdom2024-05-27
1049Russia2024-05-22

On-Demand Data

NameIdCountryDate
Julie N Kusko1000United Kingdom2024-05-23
Ricardo Z Dilliard1001Japan2024-05-28
Faith Z Flosi1002Germany2024-05-13
Smith A Flosi1003Argentina2024-05-10
Morrow L Campain1004Canada2024-05-21
Nicolas H Stockham1005India2024-05-09
Ricardo I Ferencz1006Japan2024-05-12
Mujtaba B Malet1007Argentina2024-05-09
Antonio G Flosi1008Russia2024-05-19
Aika I Foller1009Italy2024-05-02
Chavez V Gaucho1010Spain2024-05-24
Greenwood D Gaucho1011Spain2024-05-20
Claire Y Gaucho1012France2024-05-20
Jefferson P Ostrosky1013United Kingdom2024-05-20
Jennifer Y Shinko1014United Kingdom2024-05-06
Wickens N Iturbide1015France2024-05-15
Maria L Stockham1016Japan2024-05-25
Juan E Maclead1017Brazil2024-05-19
Cody O Schemmer1018Spain2024-05-20
Misaki L Flosi1019Japan2024-05-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David A RutaSpainIoni Bowcher QUALIFIED
Wickens O TollnerBrazilBernardo Dominic UNQUALIFIED
Rodrigues W BriddickJapanXuxue Feng QUALIFIED
Silvio V CampainArgentinaBernardo Dominic QUALIFIED
Juan E PerinCanadaElwin Sharvill RENEWAL
Deepesh G PoquetteCanadaStephen Shaw NEGOTIATION
Antonio C SergiItalyAnna Fali NEGOTIATION
Greenwood H KuskoBrazilOnyama Limba NEW
Jones U FigeroaItalyIoni Bowcher UNQUALIFIED
Costa P SaylorsItalyIvan Magalhaes RENEWAL
Francesco B PoquetteGermanyAnna Fali PROPOSAL
Juan Z BologniaUnited KingdomAnna Fali NEGOTIATION
Murillo Y CampainJapanElwin Sharvill RENEWAL
Greenwood T KuskoBrazilIvan Magalhaes UNQUALIFIED
James U KolmetzAustraliaAnna Fali QUALIFIED
Ricardo U BowleyFranceOnyama Limba NEW
Emily B CaldareraJapanAnna Fali QUALIFIED
Deepesh E CampainBrazilIoni Bowcher UNQUALIFIED
Johnson O GauchoBrazilAnna Fali UNQUALIFIED
Aika A SergiArgentinaAsiya Javayant UNQUALIFIED
Isabel Y InouyeGermanyOnyama Limba NEW
Nicolas J DilliardSpainAsiya Javayant PROPOSAL
Isabel S FerenczFranceElwin Sharvill RENEWAL
Tony A NestleUnited KingdomAsiya Javayant NEW
Johnson K AlbaresIndiaElwin Sharvill NEW
Stacey P SaylorsIndiaAsiya Javayant QUALIFIED
Jennifer U NestleFranceIoni Bowcher NEGOTIATION
Aruna C MaletArgentinaOnyama Limba NEGOTIATION
Ashley T SlusarskiUnited KingdomElwin Sharvill RENEWAL
Misaki B NestleArgentinaAmy Elsner RENEWAL
Francesco W MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Faith O CaudyJapanIvan Magalhaes RENEWAL
Claire W RimUnited KingdomElwin Sharvill NEW
Jennifer P KolmetzAustraliaOnyama Limba NEGOTIATION
Leja D DarakjyIndiaElwin Sharvill RENEWAL
Costa S SchemmerIndiaIoni Bowcher QUALIFIED
Deepesh K NickaGermanyAmy Elsner QUALIFIED
Munro F GlickJapanOnyama Limba NEW
Maisha D BriddickSpainStephen Shaw NEW
Arvin S WhobreyRussiaXuxue Feng 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>