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
Antonio Z MarrierUnited KingdomStephen Shaw NEGOTIATION
Ivar X MaletCanadaAsiya Javayant QUALIFIED
Maisha O BriddickBrazilOnyama Limba QUALIFIED
Emily T BologniaCanadaAnna Fali QUALIFIED
Morrow D VocelkaUnited KingdomOnyama Limba PROPOSAL
Emily Y RimAustraliaXuxue Feng RENEWAL
Nicolas U CampainJapanAnna Fali QUALIFIED
Greenwood Z GillianGermanyIvan Magalhaes QUALIFIED
Jennifer B OstroskyArgentinaOnyama Limba RENEWAL
Emily I KuskoItalyStephen Shaw QUALIFIED
Francesco H OldroydAustraliaXuxue Feng NEW
Francesco G PerinIndiaAnna Fali NEW
Deepesh A PaprockiIndiaXuxue Feng QUALIFIED
Nicolas A KolmetzGermanyAsiya Javayant RENEWAL
Kaitlin O AmigonItalyElwin Sharvill NEGOTIATION
Faith T IturbideIndiaAsiya Javayant PROPOSAL
Sinclair O PoquetteIndiaIvan Magalhaes PROPOSAL
Sinclair L FigeroaAustraliaBernardo Dominic NEGOTIATION
Julie G FigeroaUnited KingdomAsiya Javayant PROPOSAL
Silvio P ButtGermanyStephen Shaw NEW
Ivar E VocelkaFranceIvan Magalhaes UNQUALIFIED
Mayumi H PoquetteUnited KingdomStephen Shaw PROPOSAL
Smith G DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Morrow U SchemmerAustraliaIoni Bowcher NEW
Claire L GillianArgentinaIoni Bowcher UNQUALIFIED
Salvatore B MarrierJapanStephen Shaw PROPOSAL
Aruna J WieserGermanyOnyama Limba UNQUALIFIED
Nicolas W StockhamRussiaXuxue Feng PROPOSAL
Antonio O GlickJapanAnna Fali NEW
Ivar F RulapaughFranceBernardo Dominic NEGOTIATION
Maria B RimAustraliaIoni Bowcher PROPOSAL
Aditya L BologniaArgentinaXuxue Feng NEW
Wickens F WhobreyFranceAsiya Javayant RENEWAL
Salvatore E PoquetteFranceAsiya Javayant UNQUALIFIED
Leon A FerenczBrazilIoni Bowcher PROPOSAL
Emily B CaudyBrazilOnyama Limba UNQUALIFIED
Mujtaba X FollerBrazilXuxue Feng PROPOSAL
Adams I DoeSpainIvan Magalhaes QUALIFIED
Aditya M SchemmerIndiaElwin Sharvill RENEWAL
Adams Y CaudyItalyOnyama Limba PROPOSAL
Jennifer J AlbaresJapanAmy Elsner UNQUALIFIED
Darci X OstroskySpainBernardo Dominic PROPOSAL
Johnson I CaudyCanadaIvan Magalhaes RENEWAL
Murillo D KuskoUnited KingdomAnna Fali QUALIFIED
Ricardo B BologniaRussiaAsiya Javayant QUALIFIED
Tony Z FollerJapanAmy Elsner QUALIFIED
Adams E RutaGermanyIoni Bowcher PROPOSAL
Jennifer U GlickItalyBernardo Dominic QUALIFIED
Alejandro B BologniaGermanyElwin Sharvill NEW
Maria N GauchoSpainAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams D InouyeUnited KingdomIvan Magalhaes NEGOTIATION
Misaki U KuskoFranceStephen Shaw PROPOSAL
Mujtaba T MacleadBrazilIvan Magalhaes PROPOSAL
Leon T VenereBrazilStephen Shaw UNQUALIFIED
Leon S AmigonItalyElwin Sharvill NEW
Rodrigues U CaldareraItalyIvan Magalhaes UNQUALIFIED
James A MaletJapanIoni Bowcher PROPOSAL
Claire I BriddickItalyStephen Shaw QUALIFIED
Morrow G StensethUnited KingdomXuxue Feng RENEWAL
Wickens Z SchemmerGermanyIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa U DarakjyCanada2024-04-29Chemel, James L Cpa NEW46Elwin Sharvill
1001Emily L KolmetzArgentina2024-05-09Chapman, Ross E Esq PROPOSAL35Elwin Sharvill
1002Ivar P RulapaughFrance2024-05-20Feiner Bros RENEWAL17Elwin Sharvill
1003Aika U FerenczJapan2024-05-03Truhlar And Truhlar Attys UNQUALIFIED70Bernardo Dominic
1004Morrow I PaprockiAustralia2024-05-02Commercial Press NEW32Amy Elsner
1005Chavez Y BowleyGermany2024-05-20Feiner Bros NEW6Bernardo Dominic
1006Smith K AlbaresJapan2024-05-23Printing Dimensions PROPOSAL56Onyama Limba
1007Alejandro O DilliardItaly2024-05-03King, Christopher A Esq QUALIFIED18Ioni Bowcher
1008Adams B BowleyCanada2024-05-25Feltz Printing Service RENEWAL39Onyama Limba
1009Greenwood L OstroskyUnited Kingdom2024-05-24King, Christopher A Esq QUALIFIED44Amy Elsner
1010Stacey F GarufiIndia2024-05-21Rangoni Of Florence NEGOTIATION88Ioni Bowcher
1011Darci R MorascaGermany2024-05-25Morlong Associates PROPOSAL94Asiya Javayant
1012Maria A DarakjyIndia2024-05-22Rousseaux, Michael Esq NEGOTIATION92Xuxue Feng
1013Maisha X ShinkoItaly2024-05-07Morlong Associates RENEWAL56Ivan Magalhaes
1014Morrow V WhobreySpain2024-05-27Chemel, James L Cpa NEW77Xuxue Feng
1015Jeanfrancois O KuskoJapan2024-04-30Morlong Associates NEW73Stephen Shaw
1016Stacey W FlosiRussia2024-05-07Commercial Press QUALIFIED60Elwin Sharvill
1017Wickens G KuskoCanada2024-05-17King, Christopher A Esq UNQUALIFIED97Stephen Shaw
1018Kaitlin Y PoquetteItaly2024-05-22Feiner Bros NEGOTIATION14Xuxue Feng
1019Ashley Y AmigonJapan2024-05-01Rangoni Of Florence UNQUALIFIED4Amy Elsner
1020Jefferson M CampainSpain2024-05-02Truhlar And Truhlar Attys NEGOTIATION37Bernardo Dominic
1021Adams A SlusarskiUnited Kingdom2024-05-18Rousseaux, Michael Esq RENEWAL72Asiya Javayant
1022Munro H SaylorsIndia2024-05-04Commercial Press NEW31Elwin Sharvill
1023Leon W BowleyUnited Kingdom2024-05-25Chemel, James L Cpa PROPOSAL68Ioni Bowcher
1024Nicolas U MarrierSpain2024-04-30Truhlar And Truhlar Attys RENEWAL29Onyama Limba
1025Maisha M FlosiRussia2024-05-08Printing Dimensions NEGOTIATION57Anna Fali
1026Costa A PerinJapan2024-05-17Chanay, Jeffrey A Esq NEGOTIATION58Asiya Javayant
1027Maisha V NickaAustralia2024-05-05Chanay, Jeffrey A Esq PROPOSAL33Elwin Sharvill
1028Greenwood L AlbaresGermany2024-05-01Chemel, James L Cpa NEW30Stephen Shaw
1029Clifford Z GarufiGermany2024-05-11Rousseaux, Michael Esq NEW71Bernardo Dominic
1030Faith D OldroydRussia2024-05-06Buckley Miller Wright UNQUALIFIED44Ivan Magalhaes
1031Mayumi T FigeroaCanada2024-05-21Truhlar And Truhlar Attys UNQUALIFIED7Ivan Magalhaes
1032Claire L PerinArgentina2024-05-21Morlong Associates RENEWAL38Stephen Shaw
1033Jennifer G ChuiRussia2024-04-28Printing Dimensions NEGOTIATION9Elwin Sharvill
1034Wickens A DilliardRussia2024-05-26Commercial Press RENEWAL83Ivan Magalhaes
1035Octavia G MacleadAustralia2024-05-04Printing Dimensions NEW32Stephen Shaw
1036Aditya W ChuiJapan2024-05-22Chapman, Ross E Esq NEGOTIATION47Xuxue Feng
1037Isabel U FollerRussia2024-05-27Chapman, Ross E Esq QUALIFIED53Onyama Limba
1038Kaitlin Y RoysterFrance2024-05-13Rousseaux, Michael Esq NEW67Stephen Shaw
1039Smith O PerinSpain2024-05-21King, Christopher A Esq PROPOSAL68Amy Elsner
1040Stacey E PoquetteJapan2024-05-15Rousseaux, Michael Esq UNQUALIFIED95Ioni Bowcher
1041Julie X AmigonRussia2024-05-18Dorl, James J Esq QUALIFIED84Ivan Magalhaes
1042Mujtaba U InouyeUnited Kingdom2024-05-18Commercial Press UNQUALIFIED44Ioni Bowcher
1043Faith W FerenczItaly2024-05-22Rousseaux, Michael Esq RENEWAL42Xuxue Feng
1044Aruna O WieserArgentina2024-05-03Benton, John B Jr NEW6Onyama Limba
1045Leon A SergiBrazil2024-04-29Truhlar And Truhlar Attys NEGOTIATION52Bernardo Dominic
1046Francesco A AmigonUnited Kingdom2024-04-28Chanay, Jeffrey A Esq NEW25Xuxue Feng
1047Julie E RimBrazil2024-05-01Buckley Miller Wright UNQUALIFIED92Onyama Limba
1048Johnson H CaudyUnited Kingdom2024-05-21Morlong Associates UNQUALIFIED81Xuxue Feng
1049Ashley W CampainSpain2024-05-16Printing Dimensions UNQUALIFIED94Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Maisha O DoeArgentinaAmy Elsner RENEWAL
Chavez T DarakjyBrazilOnyama Limba RENEWAL
James P FerenczAustraliaAmy Elsner PROPOSAL
Costa I OldroydBrazilElwin Sharvill NEGOTIATION
Ricardo W OstroskyJapanStephen Shaw UNQUALIFIED
Darci B DarakjyUnited KingdomAsiya Javayant QUALIFIED
Tony I InouyeUnited KingdomOnyama Limba NEGOTIATION
Mayumi D MaletBrazilAmy Elsner NEW
Claire Q StensethCanadaAnna Fali QUALIFIED
Antonio M MarrierUnited KingdomAmy Elsner NEW
Ashley F KuskoGermanyAsiya Javayant NEW
Juan J DarakjyRussiaOnyama Limba RENEWAL
Mujtaba Q CaudyJapanIvan Magalhaes NEW
Sinclair Z BowleyGermanyElwin Sharvill NEW
Silvio N PaprockiAustraliaOnyama Limba QUALIFIED
Leon K MaletJapanElwin Sharvill NEW
Misaki C AmigonCanadaIvan Magalhaes PROPOSAL
Isabel P PaprockiFranceAnna Fali UNQUALIFIED
Nicolas N NestleBrazilAmy Elsner NEGOTIATION
Deepesh E InouyeJapanBernardo Dominic QUALIFIED
Aditya D BowleySpainOnyama Limba PROPOSAL
Kaitlin R WaycottGermanyAmy Elsner QUALIFIED
Clifford A OstroskyRussiaStephen Shaw UNQUALIFIED
Alejandro P SaylorsSpainBernardo Dominic NEGOTIATION
Izzy X PoquetteRussiaBernardo Dominic PROPOSAL
Juan T ShinkoCanadaIvan Magalhaes PROPOSAL
Antonio V WieserBrazilOnyama Limba QUALIFIED
Ashley G GlickRussiaAsiya Javayant RENEWAL
Deepesh B WhobreyJapanAnna Fali NEGOTIATION
Misaki K VenereRussiaXuxue Feng NEGOTIATION
Julie W MorascaJapanXuxue Feng QUALIFIED
Silvio A WieserItalyAsiya Javayant RENEWAL
Julie V CaudyRussiaAsiya Javayant NEGOTIATION
Jefferson S WaycottArgentinaStephen Shaw NEGOTIATION
Faith H WhobreyItalyBernardo Dominic RENEWAL
Claire X VocelkaIndiaIvan Magalhaes UNQUALIFIED
David O VocelkaCanadaAnna Fali PROPOSAL
Izzy S MorascaCanadaOnyama Limba NEGOTIATION
Nicolas O CampainRussiaIoni Bowcher NEGOTIATION
Silvio M SaylorsFranceStephen Shaw UNQUALIFIED
James J CaldareraJapanXuxue Feng NEW
Wickens D DilliardRussiaBernardo Dominic RENEWAL
Stacey U OldroydBrazilBernardo Dominic QUALIFIED
Francesco X GillianGermanyElwin Sharvill NEGOTIATION
Izzy S BowleyAustraliaIoni Bowcher UNQUALIFIED
Adams N NestleArgentinaOnyama Limba PROPOSAL
David H CaldareraJapanOnyama Limba PROPOSAL
David L PerinGermanyElwin Sharvill NEGOTIATION
Kaitlin X BowleySpainXuxue Feng NEW
Ricardo V RutaItalyAsiya Javayant NEGOTIATION
Frozen Columns
Name
Deepesh V Caudy
Tony J Amigon
Antonio O Doe
Francesco Z Doe
Jones A Amigon
Ricardo L Morasca
Leja H Inouye
Izzy Y Kusko
Mujtaba E Amigon
Tony S Paprocki
Octavia K Iturbide
Costa H Rim
Juan W Waycott
Stacey G Schemmer
Munro I Dilliard
Isabel R Kusko
Smith L Maclead
James B Kolmetz
Aditya Z Iturbide
Leja Q Whobrey
Deepesh U Morasca
Claire D Saylors
Silvio H Paprocki
Misaki Z Glick
Claire Q Tollner
Isabel Y Rulapaugh
Costa I Ruta
Silvio A Gaucho
Maisha X Whobrey
Aika B Doe
Greenwood C Shinko
Costa V Ferencz
Faith W Perin
James T Waycott
Chavez W Nestle
Adams O Dilliard
Izzy T Bowley
Rodrigues V Perin
Silvio S Maclead
Smith Q Rulapaugh
Leja U Gillian
Claire C Schemmer
Darci M Stockham
Johnson A Inouye
Greenwood Y Shinko
Aika T Rim
Izzy T Doe
James C Amigon
Greenwood O Kusko
Ricardo D Malet
IdCountryDate
1000France2024-05-07
1001Australia2024-05-18
1002United Kingdom2024-05-20
1003Argentina2024-05-25
1004Australia2024-05-04
1005Canada2024-05-06
1006Spain2024-05-19
1007Argentina2024-05-12
1008Russia2024-05-03
1009Australia2024-05-05
1010France2024-05-09
1011Germany2024-04-30
1012Brazil2024-05-04
1013United Kingdom2024-05-26
1014Argentina2024-05-27
1015Australia2024-05-04
1016United Kingdom2024-05-20
1017India2024-05-17
1018Australia2024-05-24
1019France2024-04-30
1020France2024-05-23
1021Canada2024-05-15
1022Argentina2024-05-12
1023Germany2024-05-09
1024Argentina2024-05-18
1025France2024-05-16
1026Japan2024-05-25
1027India2024-05-16
1028Australia2024-04-28
1029India2024-05-13
1030Russia2024-05-20
1031Russia2024-05-14
1032Russia2024-05-05
1033Russia2024-05-16
1034Japan2024-05-01
1035Germany2024-05-22
1036Canada2024-04-28
1037Italy2024-05-23
1038United Kingdom2024-05-22
1039France2024-05-22
1040France2024-04-29
1041Russia2024-05-16
1042Germany2024-05-14
1043United Kingdom2024-05-27
1044Spain2024-05-16
1045Spain2024-05-23
1046Argentina2024-05-26
1047Australia2024-05-16
1048Canada2024-05-10
1049India2024-05-08

On-Demand Data

NameIdCountryDate
Kaitlin G Ruta1000Spain2024-05-12
Morrow M Tollner1001Germany2024-05-09
Munro A Nestle1002Brazil2024-04-29
Arvin P Venere1003Italy2024-05-27
Alejandro F Tollner1004Japan2024-05-01
Leon Q Campain1005Brazil2024-05-03
Ivar M Ruta1006United Kingdom2024-05-13
Antonio Z Butt1007India2024-05-05
Mujtaba O Bowley1008United Kingdom2024-05-20
Wickens E Bolognia1009Brazil2024-05-22
Francesco P Whobrey1010Germany2024-05-26
Arvin I Paprocki1011Russia2024-05-04
Kadeem V Malet1012Australia2024-05-09
Mujtaba B Marrier1013Canada2024-05-18
Izzy F Ostrosky1014Russia2024-05-22
Antonio X Butt1015Japan2024-05-20
Aditya M Doe1016Argentina2024-05-27
Isabel X Paprocki1017Italy2024-05-13
Rodrigues Y Stockham1018Canada2024-05-23
Francesco H Maclead1019India2024-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem S FlosiBrazilBernardo Dominic NEGOTIATION
Johnson S SergiAustraliaXuxue Feng NEGOTIATION
Rodrigues G StockhamSpainAmy Elsner QUALIFIED
David Z VocelkaArgentinaOnyama Limba QUALIFIED
James V CaldareraSpainAsiya Javayant NEGOTIATION
Aruna S BologniaFranceXuxue Feng NEGOTIATION
Claire B CaudyGermanyAmy Elsner QUALIFIED
Arvin O TollnerCanadaIvan Magalhaes NEGOTIATION
Julie Q PoquetteRussiaAsiya Javayant QUALIFIED
David A CaldareraCanadaOnyama Limba NEGOTIATION
Antonio O NickaItalyXuxue Feng NEGOTIATION
Wickens Y VenereJapanBernardo Dominic RENEWAL
Ricardo S FigeroaCanadaAnna Fali NEGOTIATION
Smith R FollerFranceAnna Fali NEGOTIATION
Deepesh T FollerIndiaAmy Elsner PROPOSAL
James K TollnerGermanyAmy Elsner NEW
Octavia Z GlickAustraliaStephen Shaw QUALIFIED
Emily O MaletBrazilAnna Fali QUALIFIED
Greenwood Y DilliardGermanyIvan Magalhaes PROPOSAL
Jeanfrancois J AlbaresRussiaXuxue Feng RENEWAL
Wickens S NickaCanadaXuxue Feng RENEWAL
Claire R GlickUnited KingdomStephen Shaw NEGOTIATION
Morrow F GillianArgentinaIvan Magalhaes PROPOSAL
Arvin E ShinkoRussiaOnyama Limba NEGOTIATION
Francesco T DilliardCanadaElwin Sharvill NEGOTIATION
Maria B IturbideIndiaAmy Elsner QUALIFIED
Isabel S MaletItalyIvan Magalhaes NEGOTIATION
Adams P KuskoItalyAmy Elsner NEGOTIATION
Sinclair F GauchoFranceStephen Shaw PROPOSAL
Antonio F GillianFranceIvan Magalhaes UNQUALIFIED
Adams M BowleyRussiaElwin Sharvill PROPOSAL
Nicolas W PoquetteItalyBernardo Dominic QUALIFIED
Deepesh S RutaJapanElwin Sharvill RENEWAL
Morrow G DilliardArgentinaAsiya Javayant QUALIFIED
Deepesh U GauchoItalyIoni Bowcher NEGOTIATION
Julie R CaudyGermanyXuxue Feng RENEWAL
Rodrigues Z NestleArgentinaBernardo Dominic NEGOTIATION
Nicolas Y StensethRussiaBernardo Dominic PROPOSAL
Izzy N BologniaIndiaIvan Magalhaes RENEWAL
Kadeem O DilliardJapanOnyama Limba PROPOSAL

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