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
Salvatore D ShinkoSpainOnyama Limba UNQUALIFIED
Ashley H DilliardItalyAmy Elsner QUALIFIED
Faith F SlusarskiCanadaElwin Sharvill QUALIFIED
Maisha C PerinItalyAmy Elsner NEW
Clifford K RutaRussiaAmy Elsner NEGOTIATION
Mayumi J StensethSpainAsiya Javayant NEW
Misaki W SaylorsFranceIvan Magalhaes UNQUALIFIED
Arvin N DoeIndiaIoni Bowcher UNQUALIFIED
Alejandro I StockhamRussiaElwin Sharvill NEW
Ricardo J GarufiGermanyAsiya Javayant PROPOSAL
Mayumi D GillianArgentinaXuxue Feng PROPOSAL
Kaitlin Z StensethSpainAnna Fali RENEWAL
Jones U CaudySpainIoni Bowcher NEGOTIATION
Octavia Q RoysterAustraliaAmy Elsner NEGOTIATION
Jones H GarufiJapanXuxue Feng UNQUALIFIED
Leon S ShinkoAustraliaAmy Elsner RENEWAL
Leja I CaldareraUnited KingdomAsiya Javayant NEGOTIATION
Mujtaba J MarrierRussiaIvan Magalhaes NEW
Jones A MarrierUnited KingdomIoni Bowcher RENEWAL
Rodrigues G VenereCanadaXuxue Feng NEW
Smith G AmigonRussiaOnyama Limba NEW
Antonio Y OldroydCanadaStephen Shaw NEGOTIATION
Tony U CaldareraJapanStephen Shaw QUALIFIED
Stacey T PerinFranceIvan Magalhaes RENEWAL
Ricardo O CaldareraUnited KingdomElwin Sharvill NEW
Aika Y FollerSpainBernardo Dominic QUALIFIED
Ivar O WieserArgentinaOnyama Limba NEGOTIATION
Claire O DoeAustraliaStephen Shaw RENEWAL
Aruna G PoquetteJapanAnna Fali NEW
Ashley A FigeroaUnited KingdomIoni Bowcher NEW
Murillo I ButtUnited KingdomOnyama Limba NEW
Leon Y DoeAustraliaOnyama Limba UNQUALIFIED
James C SlusarskiAustraliaOnyama Limba QUALIFIED
Clifford S InouyeSpainAnna Fali PROPOSAL
Mayumi K MacleadGermanyIoni Bowcher UNQUALIFIED
Wickens J MaletJapanStephen Shaw PROPOSAL
Cody W GauchoSpainAmy Elsner NEW
Francesco O VenereJapanXuxue Feng UNQUALIFIED
Octavia I WieserJapanAmy Elsner UNQUALIFIED
Ricardo S MacleadGermanyOnyama Limba PROPOSAL
Ricardo Q FigeroaGermanyIvan Magalhaes QUALIFIED
James S MacleadIndiaAsiya Javayant QUALIFIED
Maria B TollnerRussiaXuxue Feng QUALIFIED
Leja W VocelkaItalyAmy Elsner PROPOSAL
Leon G ShinkoJapanIvan Magalhaes NEGOTIATION
Cody Q PaprockiFranceElwin Sharvill RENEWAL
Mujtaba G NickaSpainAnna Fali NEW
Maisha N SlusarskiIndiaBernardo Dominic UNQUALIFIED
Adams G BowleyAustraliaAmy Elsner QUALIFIED
Ivar P ButtRussiaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Isabel P MacleadBrazilStephen Shaw PROPOSAL
Mujtaba M InouyeAustraliaXuxue Feng UNQUALIFIED
Costa Q StensethFranceStephen Shaw QUALIFIED
Maisha I PoquetteJapanIoni Bowcher UNQUALIFIED
Rodrigues L WhobreyArgentinaIoni Bowcher UNQUALIFIED
Silvio V SchemmerAustraliaXuxue Feng RENEWAL
Alejandro R ChuiFranceAmy Elsner NEW
Jeanfrancois E InouyeJapanXuxue Feng NEGOTIATION
Morrow Q WhobreyArgentinaAmy Elsner NEGOTIATION
Aditya G RimCanadaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel H BriddickItaly2024-05-18Feiner Bros QUALIFIED40Asiya Javayant
1001Arvin A VenereGermany2024-05-10Morlong Associates NEW39Xuxue Feng
1002Leon G WieserBrazil2024-05-05Feltz Printing Service NEW98Bernardo Dominic
1003Clifford W BologniaItaly2024-05-23Rousseaux, Michael Esq UNQUALIFIED1Anna Fali
1004Ivar V BriddickRussia2024-05-12King, Christopher A Esq PROPOSAL93Anna Fali
1005Jeanfrancois M NestleSpain2024-05-31Chapman, Ross E Esq PROPOSAL63Elwin Sharvill
1006Faith Z DoeBrazil2024-05-30Rousseaux, Michael Esq NEW32Ivan Magalhaes
1007Greenwood B FerenczGermany2024-05-29King, Christopher A Esq QUALIFIED15Bernardo Dominic
1008Salvatore C IturbideArgentina2024-05-15Rangoni Of Florence NEGOTIATION43Asiya Javayant
1009Aditya W MorascaGermany2024-05-24Rangoni Of Florence QUALIFIED34Anna Fali
1010Cody A DoeSpain2024-05-19Buckley Miller Wright UNQUALIFIED89Asiya Javayant
1011Munro J MacleadItaly2024-05-26Morlong Associates QUALIFIED50Xuxue Feng
1012Isabel L WieserFrance2024-05-16Rousseaux, Michael Esq NEW60Amy Elsner
1013Stacey K MorascaIndia2024-05-13Feiner Bros NEW89Xuxue Feng
1014Emily L FerenczIndia2024-05-25Commercial Press UNQUALIFIED20Ioni Bowcher
1015Misaki F MorascaItaly2024-05-11Feiner Bros NEGOTIATION26Onyama Limba
1016Claire X StensethAustralia2024-05-30Chapman, Ross E Esq UNQUALIFIED95Xuxue Feng
1017Aditya Q OstroskyCanada2024-05-11Commercial Press NEGOTIATION46Xuxue Feng
1018Julie E WieserFrance2024-05-20Morlong Associates UNQUALIFIED6Bernardo Dominic
1019Isabel E MarrierUnited Kingdom2024-05-15Benton, John B Jr UNQUALIFIED24Stephen Shaw
1020Alejandro S SaylorsArgentina2024-05-11Buckley Miller Wright PROPOSAL70Amy Elsner
1021Faith O SergiIndia2024-05-22Dorl, James J Esq UNQUALIFIED25Amy Elsner
1022Kaitlin O PaprockiIndia2024-05-12Chanay, Jeffrey A Esq NEGOTIATION25Ioni Bowcher
1023Rodrigues O ChuiUnited Kingdom2024-05-08Rousseaux, Michael Esq PROPOSAL11Anna Fali
1024Francesco I PoquetteSpain2024-05-13Chanay, Jeffrey A Esq RENEWAL76Onyama Limba
1025Antonio P SaylorsFrance2024-05-22Feiner Bros NEW49Ivan Magalhaes
1026Leon R StensethSpain2024-05-05Commercial Press NEW53Amy Elsner
1027Morrow D ShinkoBrazil2024-05-13Morlong Associates QUALIFIED70Amy Elsner
1028Faith S FlosiAustralia2024-05-30King, Christopher A Esq UNQUALIFIED45Ivan Magalhaes
1029Murillo V DarakjyCanada2024-05-13Rangoni Of Florence NEGOTIATION36Ivan Magalhaes
1030Kadeem A FollerBrazil2024-05-06Commercial Press NEW51Elwin Sharvill
1031Jennifer L NestleIndia2024-05-05Chapman, Ross E Esq NEW55Onyama Limba
1032Aruna X FerenczGermany2024-05-04Chanay, Jeffrey A Esq QUALIFIED42Stephen Shaw
1033Leon V AlbaresSpain2024-05-11Chapman, Ross E Esq PROPOSAL94Stephen Shaw
1034Izzy Q SaylorsAustralia2024-05-22Buckley Miller Wright PROPOSAL15Ioni Bowcher
1035Julie K WieserBrazil2024-05-07Chemel, James L Cpa QUALIFIED92Anna Fali
1036Kaitlin Z BowleySpain2024-05-31Buckley Miller Wright PROPOSAL23Xuxue Feng
1037Murillo H FigeroaUnited Kingdom2024-06-01Chemel, James L Cpa NEW70Ivan Magalhaes
1038Salvatore U KuskoAustralia2024-05-04Morlong Associates UNQUALIFIED88Amy Elsner
1039Rodrigues Q SchemmerIndia2024-05-15Feltz Printing Service NEGOTIATION16Anna Fali
1040Jeanfrancois N ButtRussia2024-06-01Rousseaux, Michael Esq NEGOTIATION26Elwin Sharvill
1041Adams Z WhobreyUnited Kingdom2024-05-14Truhlar And Truhlar Attys NEW65Xuxue Feng
1042Ashley T RulapaughRussia2024-05-11Morlong Associates NEGOTIATION98Elwin Sharvill
1043Morrow C DilliardAustralia2024-05-21Benton, John B Jr NEGOTIATION40Onyama Limba
1044Tony U DoeUnited Kingdom2024-05-15King, Christopher A Esq UNQUALIFIED55Bernardo Dominic
1045Julie S FigeroaFrance2024-05-12Rousseaux, Michael Esq QUALIFIED73Asiya Javayant
1046Aditya E InouyeCanada2024-05-22Truhlar And Truhlar Attys UNQUALIFIED2Xuxue Feng
1047Izzy G PaprockiGermany2024-05-14Commercial Press UNQUALIFIED64Stephen Shaw
1048Sinclair F DilliardBrazil2024-05-17Rousseaux, Michael Esq NEGOTIATION99Ioni Bowcher
1049Sinclair I BologniaFrance2024-05-13Morlong Associates UNQUALIFIED36Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Antonio C NickaRussiaIvan Magalhaes UNQUALIFIED
Emily A MacleadAustraliaAnna Fali QUALIFIED
Clifford A WhobreyGermanyIvan Magalhaes NEGOTIATION
David Q WhobreyJapanAnna Fali NEGOTIATION
Izzy B DarakjyRussiaElwin Sharvill RENEWAL
Maria L GarufiSpainAsiya Javayant UNQUALIFIED
Aruna Z BologniaRussiaAsiya Javayant PROPOSAL
Rodrigues G InouyeFranceBernardo Dominic UNQUALIFIED
Munro X NestleCanadaIvan Magalhaes QUALIFIED
Claire P KolmetzFranceElwin Sharvill RENEWAL
Kaitlin C KuskoIndiaIvan Magalhaes UNQUALIFIED
Julie R VocelkaBrazilAsiya Javayant QUALIFIED
David Z WieserItalyAsiya Javayant PROPOSAL
Wickens L IturbideAustraliaXuxue Feng NEGOTIATION
Jefferson U MarrierIndiaOnyama Limba PROPOSAL
Ricardo G PoquetteUnited KingdomStephen Shaw RENEWAL
Silvio A BriddickGermanyElwin Sharvill UNQUALIFIED
Morrow M CaudyBrazilIvan Magalhaes NEW
Jennifer K FerenczSpainAsiya Javayant PROPOSAL
Francesco I VocelkaIndiaAmy Elsner NEW
Jefferson H PerinFranceXuxue Feng QUALIFIED
Octavia N PerinCanadaIvan Magalhaes NEGOTIATION
Salvatore L WieserUnited KingdomIoni Bowcher NEW
Deepesh Y MarrierAustraliaBernardo Dominic NEGOTIATION
Silvio V KolmetzSpainIoni Bowcher QUALIFIED
Aditya T FerenczArgentinaElwin Sharvill NEGOTIATION
Nicolas S OstroskyItalyIvan Magalhaes NEGOTIATION
Ricardo G WieserIndiaOnyama Limba UNQUALIFIED
Jeanfrancois S KuskoArgentinaElwin Sharvill PROPOSAL
Izzy F MacleadGermanyAnna Fali PROPOSAL
Kaitlin T FerenczArgentinaAmy Elsner UNQUALIFIED
Aditya E WhobreyFranceAmy Elsner UNQUALIFIED
Maisha Z MaletIndiaStephen Shaw NEW
Maria J VocelkaBrazilAmy Elsner RENEWAL
Sinclair M IturbideBrazilAnna Fali NEW
Greenwood L FollerArgentinaIoni Bowcher QUALIFIED
Silvio G WaycottArgentinaAsiya Javayant NEW
Smith A GarufiUnited KingdomElwin Sharvill RENEWAL
Antonio F MacleadItalyXuxue Feng PROPOSAL
Kadeem Q OstroskySpainIvan Magalhaes PROPOSAL
Francesco G BowleyAustraliaIoni Bowcher RENEWAL
Nicolas Y WhobreyFranceStephen Shaw QUALIFIED
Cody Q PerinUnited KingdomElwin Sharvill NEW
Wickens Y CampainRussiaBernardo Dominic NEGOTIATION
Jennifer T BowleyFranceIvan Magalhaes RENEWAL
Smith L ShinkoArgentinaBernardo Dominic UNQUALIFIED
Clifford B GauchoIndiaElwin Sharvill PROPOSAL
Mayumi V StensethCanadaElwin Sharvill QUALIFIED
Maria H FlosiUnited KingdomIvan Magalhaes QUALIFIED
David N PerinSpainXuxue Feng NEGOTIATION
Frozen Columns
Name
Isabel L Gaucho
Morrow W Poquette
Alejandro K Dilliard
Munro H Shinko
Aruna G Ruta
David G Nestle
Munro E Butt
Salvatore D Malet
Rodrigues D Kusko
Alejandro Z Albares
Jeanfrancois D Garufi
Salvatore K Kolmetz
Salvatore D Schemmer
Arvin E Briddick
Antonio E Morasca
Isabel Q Caldarera
Sinclair A Gillian
Mujtaba V Campain
Isabel O Royster
Silvio Y Bowley
Alejandro X Garufi
Sinclair Y Caudy
Francesco W Marrier
Morrow Q Dilliard
Ashley J Campain
David T Royster
Silvio E Kusko
Ashley W Kolmetz
Alejandro H Ostrosky
Francesco S Sergi
Octavia P Bowley
Mujtaba A Waycott
Chavez X Caudy
Maisha J Stenseth
Ivar Z Shinko
Nicolas D Shinko
Salvatore R Foller
Misaki M Inouye
Ashley N Kusko
Adams L Darakjy
Francesco K Venere
Smith X Poquette
Francesco L Oldroyd
Antonio W Vocelka
Deepesh X Gaucho
Aruna H Kolmetz
Aditya J Gillian
Jeanfrancois U Ruta
Sinclair H Kusko
Juan K Butt
IdCountryDate
1000Japan2024-05-18
1001Germany2024-05-18
1002Argentina2024-05-20
1003Argentina2024-05-15
1004Spain2024-05-12
1005Russia2024-05-29
1006Argentina2024-05-20
1007United Kingdom2024-05-13
1008Russia2024-06-02
1009United Kingdom2024-05-19
1010France2024-05-05
1011India2024-05-19
1012Canada2024-05-21
1013Spain2024-05-19
1014France2024-05-11
1015United Kingdom2024-05-24
1016Italy2024-05-26
1017Brazil2024-05-10
1018Canada2024-05-10
1019Australia2024-06-01
1020India2024-05-11
1021Australia2024-05-31
1022Argentina2024-05-13
1023Russia2024-06-02
1024Italy2024-05-23
1025Russia2024-05-18
1026Japan2024-05-28
1027Russia2024-05-29
1028India2024-05-18
1029Brazil2024-05-24
1030Germany2024-05-28
1031Brazil2024-05-16
1032United Kingdom2024-05-16
1033Germany2024-06-02
1034Spain2024-05-18
1035Canada2024-06-02
1036Canada2024-05-20
1037Argentina2024-05-10
1038Canada2024-05-07
1039Russia2024-05-20
1040Japan2024-05-22
1041Italy2024-05-24
1042Brazil2024-05-09
1043Russia2024-05-06
1044Russia2024-05-23
1045Spain2024-05-30
1046Spain2024-05-15
1047Canada2024-05-11
1048Germany2024-05-04
1049United Kingdom2024-05-23

On-Demand Data

NameIdCountryDate
Nicolas Z Marrier1000Japan2024-05-05
Nicolas G Venere1001Australia2024-05-16
Rodrigues L Caudy1002Germany2024-05-04
Leja E Briddick1003Spain2024-06-01
Chavez M Nestle1004Italy2024-05-31
Ricardo T Maclead1005Australia2024-05-20
Rodrigues N Kusko1006India2024-05-07
Johnson P Foller1007Italy2024-05-13
Isabel C Stockham1008United Kingdom2024-05-27
Leon K Iturbide1009United Kingdom2024-05-24
Silvio J Saylors1010Argentina2024-05-28
Ivar X Dilliard1011Germany2024-05-12
Salvatore R Kusko1012Germany2024-05-22
Tony F Figeroa1013United Kingdom2024-05-05
Aika J Glick1014Argentina2024-05-05
Costa L Poquette1015France2024-05-18
Juan H Flosi1016Canada2024-05-27
Mujtaba W Whobrey1017United Kingdom2024-05-31
Julie H Kolmetz1018Argentina2024-05-14
Sinclair I Ostrosky1019Spain2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin O StockhamArgentinaElwin Sharvill QUALIFIED
Leja A WieserAustraliaXuxue Feng PROPOSAL
Silvio P PoquetteArgentinaXuxue Feng RENEWAL
Wickens F RulapaughIndiaIvan Magalhaes NEGOTIATION
Johnson Z ShinkoItalyBernardo Dominic PROPOSAL
Aika U InouyeSpainStephen Shaw NEW
Aika E VocelkaGermanyAnna Fali RENEWAL
Mayumi Q GauchoAustraliaOnyama Limba NEW
Smith J InouyeArgentinaAnna Fali RENEWAL
Silvio Q InouyeArgentinaXuxue Feng NEW
Aika Y WaycottJapanIoni Bowcher NEGOTIATION
Maria O CaldareraAustraliaAsiya Javayant NEW
Francesco V MaletFranceElwin Sharvill UNQUALIFIED
Sinclair C RoysterItalyAsiya Javayant QUALIFIED
Chavez I NickaRussiaAsiya Javayant PROPOSAL
Munro Q FlosiBrazilAnna Fali QUALIFIED
Sinclair I NestleIndiaAsiya Javayant NEGOTIATION
Ivar J WaycottSpainElwin Sharvill NEW
James C StensethFranceXuxue Feng NEW
Rodrigues I FlosiUnited KingdomElwin Sharvill RENEWAL
Costa Z ChuiCanadaIvan Magalhaes NEGOTIATION
Ashley D RimIndiaStephen Shaw QUALIFIED
Deepesh O RoysterCanadaXuxue Feng NEW
Claire Z RutaGermanyAnna Fali QUALIFIED
Costa Z StockhamCanadaAsiya Javayant RENEWAL
Smith J PerinFranceIoni Bowcher UNQUALIFIED
Salvatore V WhobreyUnited KingdomElwin Sharvill NEW
Julie Z BriddickRussiaXuxue Feng NEGOTIATION
Maria Y CaldareraUnited KingdomAnna Fali PROPOSAL
Silvio M GauchoSpainOnyama Limba RENEWAL
Jefferson G SergiIndiaOnyama Limba UNQUALIFIED
Octavia K OstroskyGermanyXuxue Feng RENEWAL
Antonio O VenereBrazilAsiya Javayant QUALIFIED
Mujtaba J MaletSpainIoni Bowcher NEGOTIATION
Clifford S DarakjySpainOnyama Limba NEGOTIATION
Isabel A FigeroaArgentinaOnyama Limba NEW
Greenwood F PerinUnited KingdomElwin Sharvill PROPOSAL
Ivar V MacleadAustraliaAnna Fali NEGOTIATION
Antonio K BriddickBrazilIoni Bowcher RENEWAL
Tony I MaletJapanIvan Magalhaes 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>