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 U OstroskyBrazilAnna Fali QUALIFIED
Salvatore G GillianSpainIvan Magalhaes NEGOTIATION
Sinclair P MaletUnited KingdomElwin Sharvill UNQUALIFIED
Sinclair Y RutaCanadaAnna Fali UNQUALIFIED
Stacey L WaycottSpainAnna Fali PROPOSAL
Leon D CampainRussiaBernardo Dominic PROPOSAL
Munro G CampainJapanXuxue Feng UNQUALIFIED
Greenwood M FlosiArgentinaOnyama Limba PROPOSAL
Chavez S BowleyItalyIoni Bowcher PROPOSAL
Julie W GauchoJapanAnna Fali UNQUALIFIED
Aika F GauchoArgentinaBernardo Dominic RENEWAL
Stacey U AmigonFranceOnyama Limba PROPOSAL
Kadeem F FollerIndiaAmy Elsner NEW
Salvatore J WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Wickens Q MacleadFranceAsiya Javayant RENEWAL
Ricardo W CampainCanadaIoni Bowcher QUALIFIED
Jeanfrancois J NestleBrazilAnna Fali NEGOTIATION
Adams L MarrierSpainAmy Elsner PROPOSAL
Aditya L WieserItalyStephen Shaw NEGOTIATION
Salvatore P SergiArgentinaElwin Sharvill PROPOSAL
Leja N GauchoSpainAmy Elsner NEGOTIATION
Mujtaba T GlickSpainStephen Shaw UNQUALIFIED
Jones H MaletIndiaOnyama Limba UNQUALIFIED
Salvatore R MorascaAustraliaOnyama Limba NEW
Smith B BologniaArgentinaBernardo Dominic RENEWAL
Johnson S FerenczUnited KingdomAmy Elsner RENEWAL
Leon H OldroydRussiaElwin Sharvill NEGOTIATION
Johnson V KolmetzSpainElwin Sharvill QUALIFIED
Clifford C ButtUnited KingdomXuxue Feng UNQUALIFIED
Costa V DoeBrazilStephen Shaw RENEWAL
Chavez Y BriddickArgentinaStephen Shaw UNQUALIFIED
Leja I WieserSpainOnyama Limba RENEWAL
Smith X FigeroaFranceStephen Shaw NEGOTIATION
Isabel R CampainIndiaXuxue Feng NEGOTIATION
Izzy W RimSpainElwin Sharvill NEGOTIATION
Claire O GillianCanadaElwin Sharvill NEW
Aditya X WaycottCanadaAnna Fali NEW
Morrow A DilliardJapanIvan Magalhaes NEW
Greenwood N SaylorsJapanOnyama Limba UNQUALIFIED
Leja C PoquetteCanadaStephen Shaw NEW
Faith N FerenczJapanAsiya Javayant RENEWAL
Leja A CaldareraRussiaBernardo Dominic PROPOSAL
Maisha I CampainUnited KingdomIoni Bowcher RENEWAL
Ivar Q GarufiSpainIvan Magalhaes NEGOTIATION
Octavia H ShinkoItalyAnna Fali QUALIFIED
Ricardo U GlickSpainIoni Bowcher RENEWAL
Chavez F BowleyAustraliaXuxue Feng RENEWAL
Mayumi S CampainIndiaAmy Elsner NEGOTIATION
Ricardo F DoeCanadaAmy Elsner RENEWAL
Clifford W OstroskyBrazilStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan R RutaJapanIoni Bowcher NEW
Leja U SlusarskiBrazilIvan Magalhaes NEGOTIATION
Jefferson N CampainFranceXuxue Feng RENEWAL
Mayumi D PerinRussiaOnyama Limba RENEWAL
Francesco Y FerenczSpainBernardo Dominic QUALIFIED
Arvin L KuskoCanadaAnna Fali NEGOTIATION
Jeanfrancois D PerinBrazilIvan Magalhaes PROPOSAL
Ashley Y WhobreyBrazilBernardo Dominic QUALIFIED
Leja H RulapaughItalyAnna Fali NEGOTIATION
Aika P CampainAustraliaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh W MaletCanada2024-05-30Dorl, James J Esq UNQUALIFIED17Anna Fali
1001Cody Q FerenczSpain2024-06-03Buckley Miller Wright NEGOTIATION65Xuxue Feng
1002Costa J SaylorsSpain2024-05-23Buckley Miller Wright UNQUALIFIED82Anna Fali
1003Kaitlin G MaletItaly2024-06-21Rangoni Of Florence PROPOSAL52Xuxue Feng
1004Cody T DilliardCanada2024-06-11Commercial Press UNQUALIFIED24Amy Elsner
1005Octavia V OldroydIndia2024-06-11Dorl, James J Esq PROPOSAL0Onyama Limba
1006Salvatore E RoysterSpain2024-06-14Benton, John B Jr NEW93Ivan Magalhaes
1007Chavez G WhobreyItaly2024-05-26Benton, John B Jr PROPOSAL85Xuxue Feng
1008Emily P GlickCanada2024-06-10Rousseaux, Michael Esq QUALIFIED84Amy Elsner
1009Kadeem C CaldareraAustralia2024-06-15Commercial Press QUALIFIED56Ioni Bowcher
1010Juan A GillianAustralia2024-06-04Chapman, Ross E Esq NEGOTIATION63Amy Elsner
1011Mujtaba I ChuiIndia2024-06-13Chanay, Jeffrey A Esq NEW76Ivan Magalhaes
1012Stacey C InouyeCanada2024-06-20Truhlar And Truhlar Attys NEGOTIATION60Asiya Javayant
1013Leon N NestleArgentina2024-06-16Rousseaux, Michael Esq NEW5Amy Elsner
1014Rodrigues G CaldareraRussia2024-06-14Rousseaux, Michael Esq RENEWAL44Ivan Magalhaes
1015Ivar D IturbideItaly2024-06-17Printing Dimensions PROPOSAL40Ivan Magalhaes
1016Octavia L KolmetzGermany2024-06-18Chanay, Jeffrey A Esq NEW62Xuxue Feng
1017Maria A ChuiFrance2024-06-18Truhlar And Truhlar Attys UNQUALIFIED16Anna Fali
1018Julie B DoeBrazil2024-05-23Chapman, Ross E Esq RENEWAL9Anna Fali
1019Chavez K CaudyRussia2024-05-30Rousseaux, Michael Esq UNQUALIFIED24Onyama Limba
1020Misaki N RulapaughItaly2024-06-19Rousseaux, Michael Esq PROPOSAL94Anna Fali
1021Mayumi C WieserRussia2024-06-01Buckley Miller Wright RENEWAL73Xuxue Feng
1022Greenwood W WhobreyCanada2024-05-23Commercial Press UNQUALIFIED16Ivan Magalhaes
1023Claire T SaylorsSpain2024-06-09Morlong Associates NEGOTIATION68Bernardo Dominic
1024Jefferson Y OstroskySpain2024-06-07Chapman, Ross E Esq NEGOTIATION18Anna Fali
1025Cody I KuskoArgentina2024-05-31Chemel, James L Cpa UNQUALIFIED20Onyama Limba
1026Kaitlin X AlbaresUnited Kingdom2024-06-11Chemel, James L Cpa QUALIFIED45Stephen Shaw
1027Kadeem M DilliardGermany2024-05-27Chapman, Ross E Esq NEGOTIATION99Xuxue Feng
1028Emily L MaletJapan2024-06-03King, Christopher A Esq UNQUALIFIED85Elwin Sharvill
1029Maria A RoysterAustralia2024-05-26Rangoni Of Florence PROPOSAL84Elwin Sharvill
1030Murillo O CampainItaly2024-05-23Chapman, Ross E Esq NEGOTIATION67Ioni Bowcher
1031Cody J GillianUnited Kingdom2024-06-04Feltz Printing Service QUALIFIED57Anna Fali
1032Aruna Q WieserGermany2024-06-15Chapman, Ross E Esq NEGOTIATION25Stephen Shaw
1033Silvio X KolmetzJapan2024-06-20Chapman, Ross E Esq RENEWAL23Ivan Magalhaes
1034Faith C CaudyUnited Kingdom2024-05-24King, Christopher A Esq NEW61Amy Elsner
1035Deepesh D WieserSpain2024-05-25Chapman, Ross E Esq UNQUALIFIED74Onyama Limba
1036Antonio X RimFrance2024-06-06Buckley Miller Wright RENEWAL8Bernardo Dominic
1037Clifford U VenereIndia2024-06-02Truhlar And Truhlar Attys NEW74Amy Elsner
1038James E MarrierAustralia2024-06-14Feltz Printing Service QUALIFIED46Xuxue Feng
1039Izzy Y NickaBrazil2024-06-16Feiner Bros UNQUALIFIED60Bernardo Dominic
1040Francesco G FollerAustralia2024-06-13Commercial Press RENEWAL66Anna Fali
1041Faith Q PaprockiUnited Kingdom2024-05-27King, Christopher A Esq RENEWAL51Amy Elsner
1042Chavez H KolmetzRussia2024-06-20King, Christopher A Esq NEW11Anna Fali
1043Mujtaba W FollerRussia2024-06-16Morlong Associates QUALIFIED97Ioni Bowcher
1044Antonio T DilliardArgentina2024-06-08Dorl, James J Esq NEW76Bernardo Dominic
1045Aika G NestleJapan2024-05-26Rangoni Of Florence RENEWAL32Anna Fali
1046Aditya N MacleadSpain2024-06-16King, Christopher A Esq RENEWAL42Elwin Sharvill
1047Julie X WaycottBrazil2024-06-16Buckley Miller Wright NEW79Ioni Bowcher
1048Jennifer W NickaArgentina2024-06-03Benton, John B Jr NEW11Stephen Shaw
1049Juan B WieserIndia2024-06-03Dorl, James J Esq RENEWAL73Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Chavez K WaycottJapanElwin Sharvill NEW
Salvatore W DilliardIndiaIoni Bowcher QUALIFIED
Smith S FollerCanadaAnna Fali PROPOSAL
Murillo I MorascaGermanyIoni Bowcher NEW
Kaitlin T FerenczSpainBernardo Dominic NEGOTIATION
Maria L WhobreySpainOnyama Limba UNQUALIFIED
Rodrigues I FlosiBrazilStephen Shaw UNQUALIFIED
Tony W StockhamAustraliaIoni Bowcher PROPOSAL
Murillo D BowleyCanadaIoni Bowcher NEW
Ashley N KuskoAustraliaElwin Sharvill UNQUALIFIED
Arvin L OldroydCanadaIvan Magalhaes QUALIFIED
Greenwood A FigeroaCanadaAsiya Javayant RENEWAL
Isabel J NestleFranceIvan Magalhaes RENEWAL
Darci Y RoysterRussiaXuxue Feng NEW
Chavez G OldroydJapanAmy Elsner PROPOSAL
Johnson E BologniaJapanXuxue Feng QUALIFIED
Ashley I WhobreyCanadaBernardo Dominic RENEWAL
Ricardo U FollerSpainIoni Bowcher QUALIFIED
Munro C KolmetzCanadaBernardo Dominic QUALIFIED
Arvin C RimUnited KingdomIvan Magalhaes NEW
Morrow L RimUnited KingdomAsiya Javayant NEW
Maria A DoeFranceAmy Elsner NEW
Sinclair R RimBrazilIoni Bowcher NEGOTIATION
Aditya Y FerenczItalyAsiya Javayant PROPOSAL
Kaitlin P GlickSpainAsiya Javayant NEW
Clifford W StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba F GlickJapanAsiya Javayant NEW
Aruna K PoquetteSpainIoni Bowcher PROPOSAL
James T PerinArgentinaBernardo Dominic NEGOTIATION
Misaki I RutaUnited KingdomElwin Sharvill QUALIFIED
Claire H VenereAustraliaBernardo Dominic RENEWAL
James C SaylorsSpainBernardo Dominic NEW
Ashley P PerinGermanyBernardo Dominic QUALIFIED
Faith X GlickBrazilXuxue Feng QUALIFIED
Izzy V RulapaughRussiaStephen Shaw NEW
Cody N MaletFranceOnyama Limba RENEWAL
Octavia B OldroydRussiaIvan Magalhaes UNQUALIFIED
Tony Z DilliardArgentinaAnna Fali QUALIFIED
Nicolas E InouyeRussiaIvan Magalhaes NEGOTIATION
Jennifer U RutaSpainBernardo Dominic RENEWAL
Sinclair B CampainJapanIvan Magalhaes UNQUALIFIED
Rodrigues T PerinSpainBernardo Dominic RENEWAL
Clifford S WaycottJapanElwin Sharvill QUALIFIED
Izzy Q SaylorsFranceElwin Sharvill QUALIFIED
Jennifer M PerinSpainXuxue Feng PROPOSAL
Ricardo P GauchoGermanyIvan Magalhaes RENEWAL
Munro D InouyeIndiaAnna Fali PROPOSAL
Deepesh R RutaFranceBernardo Dominic PROPOSAL
Greenwood Z SergiIndiaXuxue Feng NEGOTIATION
Tony F MarrierFranceXuxue Feng RENEWAL
Frozen Columns
Name
Cody X Kolmetz
Faith I Ferencz
Izzy U Darakjy
Alejandro Y Flosi
Jennifer G Maclead
Mujtaba A Sergi
Jennifer Q Garufi
Aruna F Slusarski
Octavia Q Campain
Smith S Poquette
Tony K Ruta
Antonio Y Oldroyd
Arvin U Venere
Ivar K Marrier
Isabel U Ruta
Tony C Venere
Maria R Glick
Ivar X Saylors
Clifford R Nestle
Ivar X Iturbide
Ricardo L Bolognia
Aruna G Royster
Silvio T Garufi
Jones L Inouye
Jefferson Y Perin
Kadeem P Morasca
Nicolas Z Stenseth
Octavia A Inouye
Leja B Stockham
Leon C Caldarera
Ashley I Caudy
Arvin B Waycott
Jones A Morasca
Antonio N Garufi
Julie C Darakjy
Smith U Amigon
Antonio P Paprocki
Aditya D Chui
Ricardo W Kolmetz
Jones V Morasca
Smith K Whobrey
Ricardo W Nicka
Aika V Iturbide
Juan W Dilliard
Johnson Z Flosi
Rodrigues I Briddick
Kaitlin U Inouye
Salvatore P Saylors
Chavez W Perin
Izzy X Darakjy
IdCountryDate
1000Japan2024-06-09
1001India2024-06-20
1002Italy2024-05-30
1003United Kingdom2024-06-12
1004France2024-06-19
1005United Kingdom2024-05-28
1006France2024-05-24
1007India2024-06-12
1008Russia2024-05-27
1009Australia2024-06-01
1010Italy2024-05-31
1011India2024-05-27
1012Australia2024-06-11
1013India2024-06-15
1014Argentina2024-05-26
1015Brazil2024-06-08
1016Japan2024-06-16
1017Canada2024-06-08
1018Russia2024-06-09
1019Russia2024-05-25
1020Canada2024-05-31
1021Italy2024-06-14
1022Germany2024-06-10
1023India2024-06-09
1024Russia2024-05-30
1025Canada2024-05-29
1026France2024-05-29
1027Italy2024-06-20
1028Japan2024-06-07
1029Japan2024-06-08
1030Spain2024-06-01
1031Spain2024-06-10
1032Spain2024-06-02
1033Italy2024-06-17
1034Spain2024-05-31
1035Spain2024-06-08
1036Russia2024-06-12
1037France2024-06-07
1038Russia2024-05-30
1039Russia2024-05-28
1040Australia2024-06-18
1041Canada2024-06-20
1042Italy2024-06-10
1043Germany2024-05-31
1044France2024-06-13
1045Argentina2024-05-28
1046Germany2024-06-10
1047Australia2024-05-28
1048Italy2024-06-01
1049Australia2024-06-15

On-Demand Data

NameIdCountryDate
Clifford D Sergi1000Canada2024-06-21
Alejandro M Gaucho1001United Kingdom2024-06-09
Morrow K Ostrosky1002Italy2024-05-29
Faith L Caudy1003Argentina2024-06-08
Jeanfrancois A Doe1004India2024-05-24
Maisha W Campain1005United Kingdom2024-05-24
Darci F Nestle1006Japan2024-05-31
Francesco F Stenseth1007Brazil2024-06-14
Deepesh T Butt1008India2024-05-26
Ricardo L Nestle1009Russia2024-06-20
Ivar Q Foller1010Germany2024-05-25
Greenwood K Dilliard1011Russia2024-06-02
Jennifer O Shinko1012Russia2024-05-24
Murillo X Iturbide1013Germany2024-06-14
Greenwood T Perin1014France2024-05-25
Misaki B Chui1015Canada2024-06-13
Misaki U Garufi1016Australia2024-06-09
James M Nicka1017Italy2024-05-25
Ricardo P Briddick1018Italy2024-06-09
Jones M Chui1019Canada2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco X GillianFranceAmy Elsner QUALIFIED
Ashley Q MacleadBrazilAsiya Javayant NEGOTIATION
Adams T RutaGermanyAmy Elsner NEGOTIATION
Misaki R RoysterSpainOnyama Limba NEW
Tony U RimIndiaXuxue Feng QUALIFIED
Maria P SaylorsJapanAnna Fali RENEWAL
Alejandro I VenereCanadaElwin Sharvill RENEWAL
Tony J StockhamUnited KingdomOnyama Limba PROPOSAL
Octavia G DilliardCanadaIoni Bowcher NEW
Nicolas J VocelkaBrazilBernardo Dominic UNQUALIFIED
Mayumi I StockhamSpainXuxue Feng NEW
Jones Z WaycottBrazilAnna Fali NEGOTIATION
Leon B StockhamRussiaElwin Sharvill PROPOSAL
Morrow I NickaFranceIvan Magalhaes NEW
Stacey I PaprockiUnited KingdomXuxue Feng PROPOSAL
Aditya U GillianAustraliaAmy Elsner UNQUALIFIED
Silvio M GlickCanadaAsiya Javayant NEGOTIATION
Smith O MaletRussiaOnyama Limba QUALIFIED
Leon D TollnerFranceAnna Fali PROPOSAL
Tony O FigeroaFranceAmy Elsner RENEWAL
Salvatore X BowleyAustraliaStephen Shaw NEGOTIATION
Antonio B NestleIndiaBernardo Dominic NEGOTIATION
Ivar L SergiSpainAsiya Javayant NEW
Maria R StockhamItalyAsiya Javayant UNQUALIFIED
Izzy X NickaJapanElwin Sharvill RENEWAL
Clifford B ChuiArgentinaAmy Elsner NEW
Mayumi W WhobreyArgentinaIvan Magalhaes NEGOTIATION
Deepesh M PaprockiSpainBernardo Dominic NEW
Jones C ButtAustraliaIvan Magalhaes UNQUALIFIED
David E SergiCanadaIvan Magalhaes QUALIFIED
Mayumi V TollnerItalyStephen Shaw QUALIFIED
Alejandro U WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Arvin U IturbideBrazilIoni Bowcher RENEWAL
Kaitlin W IturbideJapanXuxue Feng NEW
Munro M FollerCanadaAsiya Javayant QUALIFIED
Leja O OldroydRussiaAsiya Javayant RENEWAL
Emily X StockhamCanadaOnyama Limba RENEWAL
Ricardo M TollnerBrazilAnna Fali UNQUALIFIED
Maisha Q NickaArgentinaAnna Fali RENEWAL
Mujtaba P ButtJapanIoni Bowcher 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>