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
Maria H IturbideIndiaIoni Bowcher PROPOSAL
Aika E FlosiJapanIoni Bowcher RENEWAL
Darci E NickaAustraliaIvan Magalhaes UNQUALIFIED
Arvin B PaprockiUnited KingdomXuxue Feng PROPOSAL
Kadeem T CampainAustraliaElwin Sharvill QUALIFIED
Deepesh Y BowleyUnited KingdomXuxue Feng QUALIFIED
Ashley I RulapaughAustraliaAsiya Javayant UNQUALIFIED
Maria I RimIndiaIvan Magalhaes RENEWAL
Juan B SchemmerBrazilAmy Elsner RENEWAL
Julie G WieserBrazilAmy Elsner NEGOTIATION
Smith R AmigonRussiaAnna Fali PROPOSAL
Murillo Z WieserFranceAnna Fali UNQUALIFIED
Aruna F IturbideSpainAsiya Javayant PROPOSAL
Kaitlin V DoeJapanIvan Magalhaes NEGOTIATION
Misaki Y BowleySpainIvan Magalhaes NEGOTIATION
Chavez E WhobreyCanadaElwin Sharvill RENEWAL
Wickens F GillianAustraliaStephen Shaw NEW
Maria Z MacleadSpainIoni Bowcher NEGOTIATION
Mujtaba Z BologniaArgentinaOnyama Limba NEGOTIATION
Arvin I SchemmerIndiaOnyama Limba RENEWAL
Salvatore W MarrierFranceOnyama Limba RENEWAL
Ashley Y BowleyRussiaIvan Magalhaes PROPOSAL
Salvatore E GillianGermanyBernardo Dominic RENEWAL
Maisha K AmigonAustraliaIoni Bowcher RENEWAL
Leja S RoysterArgentinaAnna Fali RENEWAL
Misaki G InouyeSpainAmy Elsner PROPOSAL
Jeanfrancois F ChuiGermanyBernardo Dominic NEW
Salvatore M GauchoRussiaStephen Shaw PROPOSAL
Aditya F KolmetzIndiaBernardo Dominic NEGOTIATION
Munro G MaletFranceBernardo Dominic NEW
Adams Q RutaSpainBernardo Dominic UNQUALIFIED
Jeanfrancois W ShinkoRussiaXuxue Feng NEW
Kaitlin L AlbaresIndiaIoni Bowcher NEGOTIATION
Munro G ButtSpainAnna Fali NEGOTIATION
Juan Q PoquetteRussiaIoni Bowcher UNQUALIFIED
Aditya U MarrierItalyElwin Sharvill QUALIFIED
Alejandro Y StockhamUnited KingdomAmy Elsner QUALIFIED
Darci F MaletFranceElwin Sharvill NEGOTIATION
Kadeem Y VocelkaIndiaElwin Sharvill NEW
Costa B FlosiSpainStephen Shaw RENEWAL
Chavez J RoysterItalyAmy Elsner NEW
Juan B VocelkaJapanOnyama Limba QUALIFIED
Mayumi E CaudyAustraliaOnyama Limba RENEWAL
Aditya U PerinUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois G WhobreyArgentinaBernardo Dominic UNQUALIFIED
Maisha J DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Nicolas N VocelkaCanadaAnna Fali QUALIFIED
Murillo A MarrierJapanStephen Shaw UNQUALIFIED
Antonio C SaylorsRussiaIoni Bowcher QUALIFIED
Izzy S FerenczFranceAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Darci R RutaAustraliaXuxue Feng RENEWAL
Wickens H FlosiItalyBernardo Dominic NEW
Clifford J GlickJapanStephen Shaw PROPOSAL
Wickens Q AlbaresRussiaXuxue Feng NEW
Johnson X DarakjyUnited KingdomAmy Elsner RENEWAL
Aruna R DoeCanadaIvan Magalhaes NEGOTIATION
Greenwood E PerinSpainStephen Shaw RENEWAL
Kadeem K IturbideIndiaAsiya Javayant UNQUALIFIED
Isabel K VenereAustraliaXuxue Feng NEW
Julie V RutaItalyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow H PerinRussia2024-06-07King, Christopher A Esq NEGOTIATION46Asiya Javayant
1001Salvatore B RoysterArgentina2024-05-20Chemel, James L Cpa PROPOSAL64Stephen Shaw
1002Nicolas N GauchoRussia2024-05-18Rangoni Of Florence NEW18Onyama Limba
1003Cody L AlbaresRussia2024-06-04Rangoni Of Florence QUALIFIED98Bernardo Dominic
1004Arvin W IturbideAustralia2024-06-06Rangoni Of Florence NEGOTIATION64Bernardo Dominic
1005David A KuskoBrazil2024-06-09Rousseaux, Michael Esq QUALIFIED13Onyama Limba
1006Isabel I FlosiJapan2024-05-25Dorl, James J Esq UNQUALIFIED12Asiya Javayant
1007Morrow T BowleyArgentina2024-06-13Rangoni Of Florence UNQUALIFIED77Bernardo Dominic
1008Jones V KolmetzItaly2024-05-26Chanay, Jeffrey A Esq PROPOSAL7Amy Elsner
1009Mayumi U BologniaItaly2024-06-06Commercial Press PROPOSAL85Bernardo Dominic
1010Costa F MacleadIndia2024-05-16Chemel, James L Cpa RENEWAL16Elwin Sharvill
1011Leon P WaycottUnited Kingdom2024-05-29Chapman, Ross E Esq PROPOSAL45Anna Fali
1012Arvin J IturbideAustralia2024-05-27Dorl, James J Esq UNQUALIFIED64Anna Fali
1013Leja B PoquetteArgentina2024-05-20Morlong Associates NEGOTIATION39Bernardo Dominic
1014Cody W CampainSpain2024-06-08Chemel, James L Cpa NEW10Asiya Javayant
1015Wickens Q VocelkaUnited Kingdom2024-05-15Rousseaux, Michael Esq RENEWAL4Onyama Limba
1016David X DarakjyItaly2024-06-08Rousseaux, Michael Esq QUALIFIED6Amy Elsner
1017Faith X VocelkaJapan2024-05-23Morlong Associates RENEWAL28Onyama Limba
1018Alejandro J OldroydFrance2024-06-02Truhlar And Truhlar Attys QUALIFIED18Ioni Bowcher
1019Faith F CaldareraGermany2024-05-31Rousseaux, Michael Esq RENEWAL38Onyama Limba
1020Smith B ButtUnited Kingdom2024-06-04Feiner Bros NEGOTIATION48Amy Elsner
1021Jennifer N NestleBrazil2024-05-23Chapman, Ross E Esq QUALIFIED74Ioni Bowcher
1022Aditya A OldroydGermany2024-05-23Rangoni Of Florence QUALIFIED29Ivan Magalhaes
1023David V FerenczJapan2024-05-20Chapman, Ross E Esq NEW36Asiya Javayant
1024Ivar P FlosiUnited Kingdom2024-06-02Feltz Printing Service RENEWAL11Ioni Bowcher
1025Chavez S PoquetteGermany2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED86Stephen Shaw
1026Juan A NickaItaly2024-06-06Printing Dimensions RENEWAL10Ioni Bowcher
1027Rodrigues Z OstroskyItaly2024-05-28Rangoni Of Florence NEGOTIATION40Stephen Shaw
1028Juan U FollerGermany2024-06-03Benton, John B Jr UNQUALIFIED85Bernardo Dominic
1029James S SergiIndia2024-06-11Chemel, James L Cpa RENEWAL97Asiya Javayant
1030Juan Y MaletFrance2024-06-08Chanay, Jeffrey A Esq NEW53Anna Fali
1031James T GauchoBrazil2024-05-31Chemel, James L Cpa PROPOSAL3Stephen Shaw
1032Murillo K MaletJapan2024-05-22Truhlar And Truhlar Attys PROPOSAL96Ioni Bowcher
1033Maria Y TollnerCanada2024-06-04Chanay, Jeffrey A Esq QUALIFIED14Bernardo Dominic
1034Juan E MacleadRussia2024-06-12Rangoni Of Florence RENEWAL17Anna Fali
1035Cody B CaldareraRussia2024-06-12Chapman, Ross E Esq NEGOTIATION92Elwin Sharvill
1036Leja G DoeJapan2024-06-10Rangoni Of Florence RENEWAL57Anna Fali
1037Greenwood T AmigonBrazil2024-06-07Benton, John B Jr RENEWAL51Onyama Limba
1038Francesco O NestleJapan2024-05-27Commercial Press NEW8Stephen Shaw
1039Isabel O FigeroaCanada2024-06-04Feiner Bros NEGOTIATION95Ivan Magalhaes
1040Isabel N BriddickBrazil2024-06-13Chanay, Jeffrey A Esq NEGOTIATION20Elwin Sharvill
1041Izzy V AlbaresAustralia2024-06-12Feltz Printing Service QUALIFIED64Onyama Limba
1042Salvatore U FigeroaItaly2024-05-19King, Christopher A Esq UNQUALIFIED81Amy Elsner
1043Cody U RimIndia2024-06-01Chapman, Ross E Esq NEGOTIATION90Stephen Shaw
1044Ivar W KolmetzBrazil2024-05-22Chapman, Ross E Esq NEW72Ioni Bowcher
1045Salvatore P SchemmerUnited Kingdom2024-05-17Morlong Associates UNQUALIFIED98Amy Elsner
1046David E RutaJapan2024-06-08Dorl, James J Esq RENEWAL3Xuxue Feng
1047Francesco Z GarufiJapan2024-06-07King, Christopher A Esq NEW81Ioni Bowcher
1048Kadeem E BologniaAustralia2024-06-05Chemel, James L Cpa UNQUALIFIED85Elwin Sharvill
1049Nicolas W GauchoBrazil2024-06-12Truhlar And Truhlar Attys PROPOSAL25Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Adams Y GauchoAustraliaBernardo Dominic NEW
Isabel A StockhamItalyAsiya Javayant NEGOTIATION
Mujtaba G RulapaughCanadaIoni Bowcher NEW
Aika C WhobreyCanadaBernardo Dominic NEW
Maria A NickaItalyXuxue Feng NEW
Kaitlin D DoeArgentinaOnyama Limba RENEWAL
Leja K OldroydAustraliaIvan Magalhaes RENEWAL
Alejandro B FigeroaUnited KingdomAsiya Javayant QUALIFIED
Jefferson E WhobreyUnited KingdomIoni Bowcher RENEWAL
Jones O IturbideRussiaStephen Shaw QUALIFIED
Juan M KolmetzArgentinaXuxue Feng UNQUALIFIED
Alejandro O FollerItalyIvan Magalhaes NEW
Aruna M RulapaughItalyIoni Bowcher QUALIFIED
Aika M WaycottRussiaElwin Sharvill NEGOTIATION
Aika S FlosiUnited KingdomStephen Shaw PROPOSAL
Jones H StensethJapanIoni Bowcher QUALIFIED
Jennifer D RimJapanAsiya Javayant NEGOTIATION
Leon G SaylorsRussiaIoni Bowcher RENEWAL
Jeanfrancois D RulapaughAustraliaAmy Elsner NEGOTIATION
Jones N CaudyIndiaAnna Fali QUALIFIED
Juan S BowleyGermanyIoni Bowcher NEGOTIATION
Antonio Z ShinkoJapanElwin Sharvill NEGOTIATION
Johnson O RoysterRussiaIvan Magalhaes NEGOTIATION
Ivar S ButtGermanyStephen Shaw NEGOTIATION
Smith V MarrierGermanyXuxue Feng NEGOTIATION
Rodrigues L WieserRussiaStephen Shaw NEGOTIATION
Maisha F FigeroaSpainAnna Fali NEW
Leja O PaprockiGermanyXuxue Feng PROPOSAL
Aditya K ButtIndiaIoni Bowcher RENEWAL
Francesco X CaldareraItalyAsiya Javayant PROPOSAL
Salvatore B NestleItalyAnna Fali RENEWAL
Mujtaba T SchemmerAustraliaAsiya Javayant NEGOTIATION
Jefferson A WieserItalyAsiya Javayant UNQUALIFIED
Leja V OldroydItalyBernardo Dominic UNQUALIFIED
Kaitlin N WaycottUnited KingdomElwin Sharvill QUALIFIED
Jennifer Y MorascaBrazilAsiya Javayant PROPOSAL
Faith Q SlusarskiArgentinaElwin Sharvill NEW
Silvio N ButtCanadaStephen Shaw NEGOTIATION
Tony U MaletArgentinaElwin Sharvill UNQUALIFIED
Antonio W WaycottArgentinaIoni Bowcher NEGOTIATION
Darci U DoeAustraliaStephen Shaw NEGOTIATION
Costa K RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Kaitlin G PoquetteFranceOnyama Limba RENEWAL
David A StensethRussiaAmy Elsner NEGOTIATION
Juan R CampainUnited KingdomXuxue Feng UNQUALIFIED
Morrow R VocelkaIndiaAmy Elsner UNQUALIFIED
Salvatore E DilliardJapanIvan Magalhaes UNQUALIFIED
Kadeem F SergiArgentinaElwin Sharvill NEGOTIATION
David N OldroydJapanStephen Shaw NEW
James D VenereAustraliaIoni Bowcher RENEWAL
Frozen Columns
Name
Leon W Albares
Isabel Z Briddick
Murillo S Gillian
Wickens E Kusko
Deepesh F Flosi
Izzy H Waycott
Munro A Paprocki
Deepesh R Bowley
Chavez Y Caudy
Adams F Kolmetz
Ashley C Darakjy
Aditya T Figeroa
Kaitlin I Rim
Munro P Gaucho
James V Venere
Deepesh T Albares
Aika G Gaucho
Ivar N Maclead
Jeanfrancois P Stockham
Wickens V Whobrey
Octavia R Garufi
Tony Q Stenseth
Mujtaba W Foller
Emily M Saylors
Chavez S Glick
Smith W Bowley
Claire B Sergi
Cody J Campain
Isabel A Bolognia
Nicolas Z Doe
Izzy W Ostrosky
Octavia G Shinko
Ivar U Tollner
David X Stenseth
Maisha P Perin
Jefferson O Slusarski
Sinclair K Ruta
Salvatore E Wieser
Leon H Doe
Maria Z Rim
Clifford I Caudy
Greenwood S Garufi
Arvin Y Doe
Ricardo K Bolognia
James Q Iturbide
Faith J Caldarera
Sinclair O Kusko
Silvio N Kolmetz
Deepesh L Amigon
Kaitlin K Dilliard
IdCountryDate
1000Brazil2024-06-06
1001Australia2024-05-26
1002France2024-05-21
1003Brazil2024-05-20
1004Germany2024-06-06
1005United Kingdom2024-05-20
1006Spain2024-06-13
1007India2024-05-16
1008Brazil2024-05-30
1009India2024-06-06
1010Canada2024-05-16
1011Argentina2024-05-28
1012Brazil2024-06-02
1013Canada2024-05-25
1014Germany2024-05-15
1015India2024-05-29
1016Canada2024-05-23
1017United Kingdom2024-05-16
1018India2024-05-19
1019Brazil2024-05-17
1020Spain2024-06-09
1021India2024-05-20
1022Italy2024-05-28
1023Spain2024-06-12
1024Canada2024-05-18
1025Germany2024-05-26
1026France2024-05-15
1027Italy2024-06-03
1028Argentina2024-06-07
1029Italy2024-05-23
1030Italy2024-06-10
1031Japan2024-06-07
1032Spain2024-06-05
1033Spain2024-05-27
1034Germany2024-05-29
1035Brazil2024-05-17
1036Germany2024-05-17
1037Russia2024-05-18
1038Argentina2024-05-28
1039Canada2024-06-03
1040United Kingdom2024-06-09
1041France2024-05-18
1042Russia2024-05-23
1043Canada2024-05-19
1044Spain2024-05-30
1045Japan2024-06-02
1046United Kingdom2024-06-05
1047Japan2024-06-08
1048Australia2024-05-30
1049Spain2024-05-27

On-Demand Data

NameIdCountryDate
Johnson I Inouye1000India2024-06-07
Adams R Perin1001Australia2024-05-19
Rodrigues X Morasca1002Spain2024-06-02
Darci T Figeroa1003France2024-06-09
Aika K Perin1004Canada2024-06-01
Emily H Rim1005Italy2024-05-22
Mayumi C Bolognia1006Spain2024-05-21
Octavia K Amigon1007Brazil2024-05-30
Francesco T Royster1008Spain2024-05-22
Sinclair D Morasca1009Argentina2024-06-06
Izzy P Slusarski1010Brazil2024-06-01
David V Dilliard1011Spain2024-05-28
Julie P Briddick1012Australia2024-05-23
Tony O Royster1013United Kingdom2024-06-07
Antonio F Iturbide1014Canada2024-06-13
Jeanfrancois A Waycott1015Japan2024-05-23
Cody H Paprocki1016Spain2024-06-02
Maria F Rim1017Canada2024-05-22
Wickens A Garufi1018Russia2024-05-30
Ricardo V Stockham1019United Kingdom2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy H ChuiAustraliaElwin Sharvill PROPOSAL
Antonio C MarrierAustraliaIvan Magalhaes NEW
Emily L AmigonUnited KingdomOnyama Limba QUALIFIED
Tony Y MacleadJapanAmy Elsner NEW
Aika P VenereArgentinaAsiya Javayant NEW
Kaitlin Q SergiIndiaAsiya Javayant PROPOSAL
Jones P MarrierItalyIvan Magalhaes NEGOTIATION
Isabel M TollnerUnited KingdomAnna Fali PROPOSAL
Francesco D BowleyFranceIvan Magalhaes PROPOSAL
Izzy P GlickGermanyIoni Bowcher NEGOTIATION
Mujtaba V MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh A RulapaughGermanyOnyama Limba NEW
Murillo A PaprockiJapanAnna Fali QUALIFIED
Alejandro S SchemmerUnited KingdomXuxue Feng RENEWAL
Maria E KolmetzSpainXuxue Feng NEGOTIATION
Deepesh R AmigonIndiaIoni Bowcher PROPOSAL
Stacey K InouyeBrazilIvan Magalhaes PROPOSAL
Kadeem A SchemmerFranceAmy Elsner PROPOSAL
Silvio V PerinJapanXuxue Feng UNQUALIFIED
Faith N AlbaresUnited KingdomIoni Bowcher QUALIFIED
Jefferson H MacleadSpainAnna Fali NEGOTIATION
Maria T MorascaSpainAnna Fali PROPOSAL
Juan S RoysterGermanyAmy Elsner PROPOSAL
Jeanfrancois L RoysterJapanAsiya Javayant QUALIFIED
Leon M OldroydFranceStephen Shaw RENEWAL
James Q DarakjyUnited KingdomOnyama Limba PROPOSAL
Antonio K DoeAustraliaOnyama Limba QUALIFIED
Jeanfrancois J WaycottFranceAnna Fali NEW
Leon D GillianItalyOnyama Limba PROPOSAL
Octavia X CampainUnited KingdomBernardo Dominic UNQUALIFIED
Izzy M IturbideUnited KingdomIoni Bowcher NEGOTIATION
Murillo A IturbideRussiaOnyama Limba QUALIFIED
Johnson E FigeroaJapanAsiya Javayant RENEWAL
Kaitlin S GarufiIndiaIvan Magalhaes NEW
Alejandro P NickaItalyIoni Bowcher QUALIFIED
Murillo K KuskoBrazilBernardo Dominic QUALIFIED
Claire Y StockhamRussiaOnyama Limba QUALIFIED
Jeanfrancois E ChuiFranceElwin Sharvill UNQUALIFIED
David A FlosiIndiaElwin Sharvill RENEWAL
Leja D RulapaughGermanyStephen Shaw QUALIFIED

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