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
Kadeem J ChuiGermanyOnyama Limba NEGOTIATION
Nicolas V WaycottRussiaAsiya Javayant NEW
Misaki F DoeAustraliaAnna Fali QUALIFIED
Chavez X VenereItalyAnna Fali RENEWAL
Cody W ButtBrazilAsiya Javayant RENEWAL
Misaki E BologniaIndiaBernardo Dominic NEGOTIATION
Murillo Y IturbideItalyXuxue Feng NEGOTIATION
Wickens D MaletSpainBernardo Dominic NEW
Greenwood K KolmetzIndiaIvan Magalhaes QUALIFIED
Ricardo M IturbideRussiaElwin Sharvill QUALIFIED
Greenwood F RimSpainAnna Fali UNQUALIFIED
Murillo T NestleRussiaBernardo Dominic RENEWAL
Antonio O NestleRussiaAmy Elsner NEGOTIATION
Aditya N FollerGermanyAsiya Javayant NEW
Ivar Y GlickFranceAsiya Javayant RENEWAL
Octavia X StensethRussiaStephen Shaw PROPOSAL
Cody A AlbaresBrazilElwin Sharvill QUALIFIED
Murillo A WhobreyIndiaIvan Magalhaes UNQUALIFIED
Arvin J VenereUnited KingdomXuxue Feng NEW
Wickens B KuskoGermanyXuxue Feng PROPOSAL
Stacey P GlickCanadaXuxue Feng QUALIFIED
Sinclair L BriddickItalyXuxue Feng NEGOTIATION
Claire X MaletJapanIvan Magalhaes NEW
Jennifer U VocelkaFranceXuxue Feng NEGOTIATION
Chavez P MarrierJapanIvan Magalhaes UNQUALIFIED
Jeanfrancois F DarakjyIndiaAmy Elsner QUALIFIED
Leon F NestleItalyStephen Shaw UNQUALIFIED
Silvio K CaudyIndiaXuxue Feng NEGOTIATION
Murillo O ChuiAustraliaOnyama Limba RENEWAL
Sinclair J AmigonRussiaAmy Elsner NEW
Mayumi U TollnerUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois O VocelkaJapanOnyama Limba RENEWAL
Maisha S SchemmerUnited KingdomAmy Elsner NEW
Leon S RulapaughSpainBernardo Dominic NEGOTIATION
Arvin J ButtJapanXuxue Feng UNQUALIFIED
Jeanfrancois K DoeArgentinaAsiya Javayant QUALIFIED
Maria D FigeroaCanadaBernardo Dominic UNQUALIFIED
Maria W TollnerSpainAnna Fali NEGOTIATION
Jeanfrancois X PerinJapanIvan Magalhaes QUALIFIED
Jennifer D NickaGermanyElwin Sharvill QUALIFIED
Jones J ShinkoCanadaIvan Magalhaes RENEWAL
Mujtaba R OstroskyRussiaIoni Bowcher NEW
Maria S MaletGermanyIvan Magalhaes RENEWAL
James O FerenczAustraliaAnna Fali NEW
Morrow U NestleItalyBernardo Dominic RENEWAL
Arvin M OldroydFranceOnyama Limba QUALIFIED
Ashley K PoquetteGermanyIoni Bowcher RENEWAL
Juan D InouyeGermanyElwin Sharvill PROPOSAL
Maisha F OldroydJapanAmy Elsner RENEWAL
Octavia R FlosiIndiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer W BowleySpainAmy Elsner RENEWAL
Julie M ChuiAustraliaStephen Shaw RENEWAL
Greenwood U NestleUnited KingdomBernardo Dominic NEGOTIATION
Alejandro S OstroskyIndiaIoni Bowcher RENEWAL
Jefferson G InouyeIndiaXuxue Feng QUALIFIED
Salvatore L KolmetzRussiaIoni Bowcher NEW
Alejandro O IturbideAustraliaAnna Fali RENEWAL
Maisha R BologniaGermanyAsiya Javayant PROPOSAL
Aruna W DarakjyCanadaBernardo Dominic PROPOSAL
Mayumi F WieserIndiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams J PoquetteRussia2024-06-14Feiner Bros QUALIFIED11Anna Fali
1001Misaki U DilliardRussia2024-05-28Rangoni Of Florence UNQUALIFIED53Elwin Sharvill
1002Rodrigues X WieserItaly2024-06-13Chemel, James L Cpa NEW91Elwin Sharvill
1003Morrow M RulapaughItaly2024-06-03Chapman, Ross E Esq NEW88Stephen Shaw
1004Smith H MacleadSpain2024-05-28King, Christopher A Esq UNQUALIFIED86Ivan Magalhaes
1005Octavia E ShinkoIndia2024-06-06Buckley Miller Wright UNQUALIFIED20Xuxue Feng
1006Murillo J StensethBrazil2024-05-24Feiner Bros UNQUALIFIED32Asiya Javayant
1007Ivar V WhobreySpain2024-06-03Rousseaux, Michael Esq QUALIFIED84Anna Fali
1008Murillo B DarakjySpain2024-06-01Chemel, James L Cpa QUALIFIED44Stephen Shaw
1009Kadeem L IturbideIndia2024-06-07Morlong Associates UNQUALIFIED49Xuxue Feng
1010Kaitlin F RoysterArgentina2024-05-28Feltz Printing Service RENEWAL32Stephen Shaw
1011James M MacleadAustralia2024-06-05Printing Dimensions RENEWAL33Bernardo Dominic
1012Costa R SergiCanada2024-06-14Dorl, James J Esq NEW26Stephen Shaw
1013Faith F GlickUnited Kingdom2024-06-16Chapman, Ross E Esq PROPOSAL28Elwin Sharvill
1014Tony H GlickRussia2024-05-24Truhlar And Truhlar Attys UNQUALIFIED7Amy Elsner
1015Jefferson T CaldareraBrazil2024-06-08Buckley Miller Wright NEW95Anna Fali
1016Isabel C ChuiBrazil2024-05-27Truhlar And Truhlar Attys NEGOTIATION27Anna Fali
1017Emily X PaprockiJapan2024-06-01Commercial Press QUALIFIED43Onyama Limba
1018Octavia D VocelkaSpain2024-06-12King, Christopher A Esq RENEWAL53Asiya Javayant
1019Smith C GarufiFrance2024-06-07Chemel, James L Cpa RENEWAL30Ivan Magalhaes
1020Clifford Y VenereUnited Kingdom2024-06-17Benton, John B Jr PROPOSAL68Elwin Sharvill
1021Ashley D FlosiItaly2024-06-06Rousseaux, Michael Esq PROPOSAL51Onyama Limba
1022Izzy K StensethItaly2024-05-29Chemel, James L Cpa NEGOTIATION5Elwin Sharvill
1023Jeanfrancois K GauchoItaly2024-06-15Truhlar And Truhlar Attys NEGOTIATION42Ioni Bowcher
1024Nicolas J MaletJapan2024-06-05Rousseaux, Michael Esq PROPOSAL16Bernardo Dominic
1025Alejandro X OstroskyJapan2024-06-11Rangoni Of Florence RENEWAL33Stephen Shaw
1026Clifford U BowleyFrance2024-06-01Chanay, Jeffrey A Esq NEGOTIATION50Ivan Magalhaes
1027Jeanfrancois I FerenczSpain2024-06-07Dorl, James J Esq UNQUALIFIED18Anna Fali
1028Isabel G FollerUnited Kingdom2024-05-27Chemel, James L Cpa PROPOSAL94Anna Fali
1029Costa G WhobreyGermany2024-06-18Feiner Bros NEW94Ioni Bowcher
1030Nicolas Y OldroydJapan2024-06-03Rangoni Of Florence UNQUALIFIED67Anna Fali
1031Costa Y FigeroaJapan2024-06-01King, Christopher A Esq PROPOSAL24Elwin Sharvill
1032Kadeem V CaudyBrazil2024-06-13Buckley Miller Wright RENEWAL31Anna Fali
1033Ivar B AmigonAustralia2024-06-21Printing Dimensions QUALIFIED51Ivan Magalhaes
1034Aika T DoeBrazil2024-05-26Printing Dimensions NEGOTIATION66Onyama Limba
1035Deepesh D CaldareraAustralia2024-06-10Dorl, James J Esq RENEWAL30Bernardo Dominic
1036Jefferson V MacleadJapan2024-06-05Feiner Bros RENEWAL85Stephen Shaw
1037Smith K SchemmerFrance2024-05-29Chemel, James L Cpa PROPOSAL71Onyama Limba
1038Maisha A StockhamArgentina2024-06-04Dorl, James J Esq QUALIFIED49Bernardo Dominic
1039Arvin Z KolmetzRussia2024-06-12Chanay, Jeffrey A Esq NEW65Onyama Limba
1040Aika N KolmetzIndia2024-06-20Chapman, Ross E Esq NEGOTIATION22Asiya Javayant
1041Clifford V WaycottItaly2024-06-18Benton, John B Jr UNQUALIFIED50Onyama Limba
1042Clifford F MacleadJapan2024-06-08Dorl, James J Esq RENEWAL15Ivan Magalhaes
1043Francesco Z StensethFrance2024-06-13Rangoni Of Florence PROPOSAL62Elwin Sharvill
1044Faith K ShinkoGermany2024-06-17Chanay, Jeffrey A Esq NEGOTIATION11Bernardo Dominic
1045Deepesh S WieserCanada2024-05-29Rousseaux, Michael Esq PROPOSAL97Asiya Javayant
1046Sinclair P TollnerCanada2024-06-01Chanay, Jeffrey A Esq PROPOSAL95Xuxue Feng
1047Ashley T BologniaArgentina2024-06-18Chanay, Jeffrey A Esq PROPOSAL45Ioni Bowcher
1048David S MacleadIndia2024-06-11Dorl, James J Esq RENEWAL67Xuxue Feng
1049Morrow G MaletRussia2024-05-28Dorl, James J Esq QUALIFIED63Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Morrow Q RimSpainAnna Fali NEW
Nicolas W KolmetzBrazilAsiya Javayant QUALIFIED
Sinclair Y GarufiJapanXuxue Feng UNQUALIFIED
Munro F IturbideFranceElwin Sharvill QUALIFIED
Ivar L GauchoFranceAnna Fali NEW
Arvin O GauchoBrazilIoni Bowcher UNQUALIFIED
Wickens L PerinSpainIoni Bowcher UNQUALIFIED
Izzy Q SaylorsJapanIoni Bowcher NEW
Mayumi Q GillianItalyAnna Fali QUALIFIED
Julie D OldroydFranceStephen Shaw PROPOSAL
Julie C RutaJapanBernardo Dominic UNQUALIFIED
Silvio L GauchoIndiaIvan Magalhaes QUALIFIED
Kadeem J TollnerArgentinaXuxue Feng PROPOSAL
David W SergiSpainAnna Fali NEW
Alejandro Z WaycottRussiaElwin Sharvill PROPOSAL
Kadeem I DoeAustraliaAsiya Javayant RENEWAL
Kadeem M OstroskySpainBernardo Dominic NEW
Nicolas M IturbideAustraliaAmy Elsner QUALIFIED
Rodrigues I MorascaRussiaBernardo Dominic PROPOSAL
Kaitlin L MaletUnited KingdomElwin Sharvill QUALIFIED
Ricardo F InouyeRussiaAnna Fali NEGOTIATION
Faith B VenereJapanAnna Fali NEGOTIATION
Wickens F IturbideIndiaBernardo Dominic NEW
Cody W OstroskyRussiaAsiya Javayant QUALIFIED
Jefferson H FigeroaAustraliaBernardo Dominic UNQUALIFIED
Arvin R FerenczItalyIvan Magalhaes NEGOTIATION
Maisha A InouyeItalyXuxue Feng UNQUALIFIED
Juan J VenereJapanOnyama Limba UNQUALIFIED
Mayumi I KuskoItalyAmy Elsner NEGOTIATION
Morrow T ShinkoFranceIoni Bowcher QUALIFIED
Claire V InouyeSpainAnna Fali QUALIFIED
Julie S SlusarskiAustraliaXuxue Feng UNQUALIFIED
Clifford Q BowleyItalyOnyama Limba QUALIFIED
Aruna F WhobreyCanadaIvan Magalhaes UNQUALIFIED
Ivar F DoeSpainIoni Bowcher QUALIFIED
Isabel E AlbaresJapanAsiya Javayant NEW
Ashley R RoysterBrazilAsiya Javayant PROPOSAL
Munro H RulapaughItalyAsiya Javayant UNQUALIFIED
Jefferson P MorascaUnited KingdomXuxue Feng RENEWAL
Mayumi A RoysterIndiaAmy Elsner NEGOTIATION
Juan A ShinkoGermanyStephen Shaw RENEWAL
Leon D GillianBrazilStephen Shaw NEW
Chavez I SlusarskiGermanyIvan Magalhaes PROPOSAL
Chavez C ChuiJapanIoni Bowcher NEW
James N MarrierAustraliaIvan Magalhaes UNQUALIFIED
Munro V SlusarskiSpainXuxue Feng RENEWAL
Izzy A WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Deepesh V WhobreyFranceAnna Fali PROPOSAL
Johnson F KolmetzUnited KingdomXuxue Feng NEGOTIATION
Stacey U CampainBrazilOnyama Limba RENEWAL
Frozen Columns
Name
Emily O Paprocki
Tony Q Ruta
Salvatore B Rim
Ivar N Darakjy
Izzy D Glick
Munro B Maclead
Wickens K Kusko
Alejandro X Amigon
Juan W Doe
David M Chui
Jennifer P Nestle
Ivar D Butt
Juan M Royster
Murillo S Whobrey
Salvatore Q Albares
Julie U Poquette
Emily B Inouye
Morrow F Sergi
Cody O Saylors
Ivar T Doe
Stacey I Doe
Antonio Q Perin
Leja Y Oldroyd
Arvin W Ostrosky
Salvatore N Briddick
Juan T Doe
Wickens A Royster
Julie O Kusko
Misaki F Iturbide
Tony P Chui
Juan P Perin
Chavez W Caudy
Costa I Paprocki
Octavia Q Tollner
Francesco K Albares
James M Briddick
Misaki R Schemmer
Aika B Figeroa
Johnson D Perin
Jones U Tollner
Arvin L Malet
Antonio H Venere
Johnson C Glick
Ashley K Figeroa
Alejandro K Rulapaugh
Leon I Stenseth
Silvio Z Marrier
Juan E Vocelka
Emily L Marrier
Salvatore D Tollner
IdCountryDate
1000Brazil2024-05-24
1001Australia2024-06-22
1002India2024-06-06
1003Russia2024-06-12
1004Argentina2024-05-29
1005Canada2024-06-21
1006Canada2024-05-24
1007Australia2024-05-29
1008Argentina2024-06-17
1009Japan2024-06-12
1010Italy2024-06-11
1011Russia2024-06-01
1012Japan2024-05-31
1013Australia2024-06-09
1014France2024-06-14
1015Italy2024-06-17
1016Argentina2024-06-14
1017Canada2024-05-29
1018Australia2024-05-25
1019Brazil2024-06-07
1020Russia2024-05-24
1021United Kingdom2024-06-21
1022Argentina2024-06-08
1023Japan2024-06-05
1024Russia2024-06-08
1025Germany2024-06-08
1026Brazil2024-06-17
1027Spain2024-05-25
1028Australia2024-05-29
1029Argentina2024-06-06
1030Canada2024-05-26
1031Germany2024-06-01
1032United Kingdom2024-05-30
1033Canada2024-05-25
1034Spain2024-06-03
1035Brazil2024-06-10
1036United Kingdom2024-06-03
1037Brazil2024-06-18
1038India2024-06-05
1039United Kingdom2024-06-11
1040Russia2024-06-04
1041Japan2024-06-06
1042Russia2024-06-13
1043Australia2024-06-14
1044Canada2024-06-07
1045United Kingdom2024-05-30
1046Spain2024-06-12
1047India2024-06-22
1048Japan2024-05-27
1049Spain2024-05-29

On-Demand Data

NameIdCountryDate
Jeanfrancois L Campain1000Russia2024-06-16
Faith X Sergi1001Russia2024-06-08
Maria I Iturbide1002Japan2024-06-16
Leja E Ostrosky1003Germany2024-06-20
Munro M Slusarski1004Germany2024-06-03
Misaki A Ruta1005Australia2024-06-05
Salvatore E Malet1006Italy2024-06-16
Aditya P Paprocki1007Australia2024-05-30
Smith W Rim1008Japan2024-06-03
Costa Y Wieser1009Argentina2024-06-20
Morrow P Maclead1010Spain2024-06-02
Salvatore Y Amigon1011France2024-06-11
Jennifer O Bolognia1012Canada2024-05-28
Adams Z Gillian1013Russia2024-06-19
Arvin Q Garufi1014Russia2024-05-27
Deepesh S Ostrosky1015Italy2024-06-02
Ivar X Albares1016Spain2024-06-11
Ashley B Waycott1017Italy2024-06-14
Emily X Doe1018Italy2024-05-28
Silvio E Iturbide1019Russia2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy I NickaUnited KingdomBernardo Dominic PROPOSAL
Octavia Z NestleUnited KingdomAmy Elsner UNQUALIFIED
Jeanfrancois W PerinAustraliaBernardo Dominic PROPOSAL
Arvin C WhobreyFranceIvan Magalhaes NEGOTIATION
Isabel Y WieserItalyStephen Shaw NEW
Alejandro L MarrierUnited KingdomAnna Fali PROPOSAL
Ivar Z BowleyRussiaOnyama Limba NEGOTIATION
Jeanfrancois R NestleBrazilIvan Magalhaes PROPOSAL
Jeanfrancois P BowleyCanadaIvan Magalhaes NEW
Leja K GillianGermanyXuxue Feng NEGOTIATION
Antonio O KuskoIndiaXuxue Feng RENEWAL
David R PaprockiIndiaOnyama Limba QUALIFIED
Misaki J OstroskyRussiaOnyama Limba PROPOSAL
Adams I ButtRussiaXuxue Feng UNQUALIFIED
Jones P PaprockiCanadaAmy Elsner NEGOTIATION
Francesco L AlbaresCanadaOnyama Limba QUALIFIED
Arvin Q SchemmerCanadaStephen Shaw RENEWAL
Smith D SaylorsItalyXuxue Feng PROPOSAL
Silvio Q BologniaCanadaStephen Shaw NEW
Francesco J OstroskyGermanyXuxue Feng QUALIFIED
Salvatore H WaycottJapanElwin Sharvill NEW
Chavez Q OstroskyJapanOnyama Limba NEGOTIATION
Ivar A RutaRussiaIvan Magalhaes UNQUALIFIED
Stacey N BriddickItalyAsiya Javayant PROPOSAL
Tony E FerenczItalyIvan Magalhaes PROPOSAL
Leja V CaudyArgentinaAnna Fali UNQUALIFIED
Octavia J RutaFranceXuxue Feng PROPOSAL
Darci U AlbaresArgentinaOnyama Limba PROPOSAL
Kaitlin M AmigonItalyAmy Elsner PROPOSAL
Greenwood A NickaCanadaIvan Magalhaes NEGOTIATION
Ivar T WaycottArgentinaElwin Sharvill QUALIFIED
Mujtaba I TollnerJapanStephen Shaw RENEWAL
Aika S OldroydItalyIvan Magalhaes NEW
Octavia G PerinArgentinaIvan Magalhaes UNQUALIFIED
Costa F KuskoUnited KingdomStephen Shaw RENEWAL
Kaitlin M StockhamRussiaAmy Elsner QUALIFIED
Leja R BowleyBrazilIvan Magalhaes UNQUALIFIED
Faith K IturbideCanadaAmy Elsner QUALIFIED
Kaitlin P RulapaughFranceAsiya Javayant QUALIFIED
Izzy R SlusarskiRussiaXuxue 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>