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 K AlbaresSpainStephen Shaw PROPOSAL
Stacey S RutaFranceAsiya Javayant NEW
Juan G NickaArgentinaIoni Bowcher QUALIFIED
Maisha E StockhamFranceAmy Elsner PROPOSAL
Julie D VenereUnited KingdomIvan Magalhaes QUALIFIED
Johnson R MacleadJapanIoni Bowcher NEW
Munro N StockhamGermanyAnna Fali RENEWAL
Nicolas K SlusarskiCanadaAsiya Javayant NEGOTIATION
Kaitlin Z PerinSpainOnyama Limba PROPOSAL
Antonio N BowleyUnited KingdomStephen Shaw QUALIFIED
Nicolas Y WaycottJapanStephen Shaw PROPOSAL
Deepesh Z OstroskyGermanyIvan Magalhaes RENEWAL
Maisha Q ButtRussiaStephen Shaw UNQUALIFIED
Octavia K OldroydIndiaAmy Elsner UNQUALIFIED
Munro W IturbideJapanAmy Elsner QUALIFIED
Johnson Y PaprockiFranceStephen Shaw UNQUALIFIED
Sinclair U SaylorsIndiaElwin Sharvill NEW
Aruna L SergiFranceAsiya Javayant RENEWAL
Ashley S MarrierIndiaBernardo Dominic RENEWAL
Isabel B FerenczSpainBernardo Dominic PROPOSAL
Deepesh G GarufiBrazilIoni Bowcher PROPOSAL
Jeanfrancois B DarakjyAustraliaStephen Shaw QUALIFIED
Greenwood Y StensethIndiaAsiya Javayant RENEWAL
Costa D CaldareraRussiaIvan Magalhaes QUALIFIED
Misaki P MorascaIndiaAsiya Javayant UNQUALIFIED
Jennifer U GlickAustraliaBernardo Dominic RENEWAL
Izzy C GarufiSpainIvan Magalhaes NEGOTIATION
Mujtaba T InouyeArgentinaAnna Fali NEGOTIATION
Maisha I VenereSpainBernardo Dominic PROPOSAL
Costa C MacleadArgentinaAsiya Javayant RENEWAL
Leon M BriddickRussiaBernardo Dominic PROPOSAL
James K BowleyAustraliaAmy Elsner RENEWAL
Deepesh Y BowleyRussiaElwin Sharvill NEGOTIATION
Nicolas L MacleadJapanStephen Shaw NEGOTIATION
Francesco R SaylorsCanadaAmy Elsner UNQUALIFIED
Ricardo Y CampainBrazilIvan Magalhaes PROPOSAL
Isabel B MaletIndiaAmy Elsner UNQUALIFIED
Jefferson I VenereGermanyElwin Sharvill UNQUALIFIED
Leon K CaldareraBrazilAsiya Javayant NEGOTIATION
Rodrigues F OstroskyItalyStephen Shaw UNQUALIFIED
Murillo N DarakjyItalyStephen Shaw PROPOSAL
Isabel I AmigonItalyAnna Fali NEW
Darci W SlusarskiIndiaAnna Fali UNQUALIFIED
Adams R WhobreyItalyXuxue Feng NEW
Misaki F GlickSpainAsiya Javayant NEW
Cody S GauchoArgentinaStephen Shaw PROPOSAL
Aika A CampainAustraliaAnna Fali PROPOSAL
James P OstroskyBrazilBernardo Dominic NEW
Claire F FollerGermanyBernardo Dominic UNQUALIFIED
Aditya I DarakjyArgentinaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Antonio C KolmetzArgentinaIoni Bowcher QUALIFIED
Juan B SchemmerUnited KingdomBernardo Dominic QUALIFIED
Munro N ShinkoBrazilIoni Bowcher NEW
Jones V MaletItalyIvan Magalhaes RENEWAL
Aditya E SlusarskiGermanyIvan Magalhaes NEW
Octavia I DilliardSpainAsiya Javayant RENEWAL
Kaitlin K ChuiUnited KingdomBernardo Dominic RENEWAL
Greenwood A ButtCanadaElwin Sharvill NEGOTIATION
Juan N StensethRussiaAmy Elsner RENEWAL
Ivar Y DarakjyUnited KingdomIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio S RoysterFrance2024-05-12Truhlar And Truhlar Attys UNQUALIFIED3Ioni Bowcher
1001Chavez N IturbideJapan2024-05-08Rangoni Of Florence NEW75Xuxue Feng
1002Munro H RulapaughArgentina2024-05-06Rangoni Of Florence NEGOTIATION71Bernardo Dominic
1003Maria G OstroskySpain2024-05-10Chemel, James L Cpa QUALIFIED13Anna Fali
1004Ricardo A RimBrazil2024-05-03Commercial Press QUALIFIED85Amy Elsner
1005Salvatore N GauchoCanada2024-05-21King, Christopher A Esq UNQUALIFIED69Amy Elsner
1006Munro R WaycottSpain2024-04-27Rangoni Of Florence RENEWAL3Xuxue Feng
1007Aruna C RutaIndia2024-05-21Feiner Bros RENEWAL23Amy Elsner
1008Julie N StensethAustralia2024-05-06Morlong Associates NEGOTIATION86Amy Elsner
1009Jennifer D RulapaughGermany2024-04-27Truhlar And Truhlar Attys NEW55Ivan Magalhaes
1010Johnson P StensethUnited Kingdom2024-04-27Chanay, Jeffrey A Esq RENEWAL33Elwin Sharvill
1011Kadeem N RutaBrazil2024-05-22Chanay, Jeffrey A Esq RENEWAL73Onyama Limba
1012Jones R GauchoArgentina2024-05-19Chemel, James L Cpa NEGOTIATION41Asiya Javayant
1013Juan D SaylorsIndia2024-05-16Morlong Associates NEW59Amy Elsner
1014Misaki O AlbaresBrazil2024-05-15Commercial Press PROPOSAL86Asiya Javayant
1015Morrow Y KuskoBrazil2024-05-13Chapman, Ross E Esq NEW46Ioni Bowcher
1016Francesco Z StensethCanada2024-05-26Rangoni Of Florence RENEWAL47Ioni Bowcher
1017Maria R WieserFrance2024-05-17Morlong Associates RENEWAL15Amy Elsner
1018Smith L SlusarskiBrazil2024-05-19Chanay, Jeffrey A Esq RENEWAL4Xuxue Feng
1019Clifford N SlusarskiIndia2024-05-19Rangoni Of Florence NEGOTIATION63Onyama Limba
1020Jones D WhobreyFrance2024-05-14Buckley Miller Wright PROPOSAL78Stephen Shaw
1021Claire Q KolmetzJapan2024-05-11Benton, John B Jr NEW27Ivan Magalhaes
1022Aditya M CaldareraGermany2024-05-24Commercial Press QUALIFIED5Ivan Magalhaes
1023Mayumi L NestleItaly2024-05-17Rousseaux, Michael Esq QUALIFIED46Ioni Bowcher
1024Arvin G AmigonBrazil2024-05-19Commercial Press PROPOSAL29Xuxue Feng
1025Stacey A PoquetteSpain2024-05-09Dorl, James J Esq PROPOSAL31Amy Elsner
1026Tony O MaletArgentina2024-05-07Dorl, James J Esq QUALIFIED5Elwin Sharvill
1027Costa O KolmetzItaly2024-05-26Printing Dimensions RENEWAL35Onyama Limba
1028Stacey Z GillianJapan2024-05-03Morlong Associates UNQUALIFIED14Ioni Bowcher
1029Isabel L AlbaresGermany2024-05-11Commercial Press NEGOTIATION29Xuxue Feng
1030Mayumi W OstroskyBrazil2024-04-30Chemel, James L Cpa PROPOSAL8Ioni Bowcher
1031Aika A CaudyArgentina2024-05-09Buckley Miller Wright QUALIFIED90Amy Elsner
1032Isabel S MarrierIndia2024-05-10King, Christopher A Esq QUALIFIED82Stephen Shaw
1033Darci S MaletBrazil2024-04-28Printing Dimensions QUALIFIED28Bernardo Dominic
1034Antonio F DoeFrance2024-05-24Printing Dimensions UNQUALIFIED90Amy Elsner
1035Chavez O WieserItaly2024-05-25Printing Dimensions RENEWAL64Ioni Bowcher
1036Adams C FerenczIndia2024-05-03Morlong Associates NEGOTIATION80Ivan Magalhaes
1037Greenwood H BowleyFrance2024-05-08Chemel, James L Cpa UNQUALIFIED77Anna Fali
1038Deepesh V GillianIndia2024-04-27Dorl, James J Esq UNQUALIFIED24Asiya Javayant
1039Arvin X WhobreyGermany2024-05-03Chanay, Jeffrey A Esq RENEWAL67Asiya Javayant
1040Munro Q MarrierFrance2024-05-13Printing Dimensions RENEWAL54Ivan Magalhaes
1041Smith F SergiJapan2024-05-23Chemel, James L Cpa UNQUALIFIED55Amy Elsner
1042Faith A GillianItaly2024-04-27Buckley Miller Wright NEGOTIATION11Ivan Magalhaes
1043Julie Y MaletUnited Kingdom2024-05-25Commercial Press NEGOTIATION63Amy Elsner
1044Mujtaba Q SergiUnited Kingdom2024-05-16Benton, John B Jr NEGOTIATION32Onyama Limba
1045Mujtaba D GarufiBrazil2024-05-23Chanay, Jeffrey A Esq NEW52Bernardo Dominic
1046Jones Q PoquetteBrazil2024-04-29Dorl, James J Esq QUALIFIED11Asiya Javayant
1047Ashley F RulapaughJapan2024-05-23Rangoni Of Florence NEW58Amy Elsner
1048Mayumi D CaudyJapan2024-05-12Feiner Bros PROPOSAL29Amy Elsner
1049Ashley L RoysterItaly2024-05-19Dorl, James J Esq RENEWAL28Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aditya Y TollnerAustraliaBernardo Dominic NEGOTIATION
Aika H GarufiRussiaXuxue Feng PROPOSAL
Smith O RoysterBrazilAsiya Javayant RENEWAL
David O OldroydItalyStephen Shaw NEGOTIATION
Rodrigues Z ShinkoSpainAsiya Javayant UNQUALIFIED
Ivar D DilliardJapanAnna Fali NEW
Sinclair P TollnerFranceElwin Sharvill PROPOSAL
Morrow N FollerCanadaStephen Shaw UNQUALIFIED
Faith B StensethFranceStephen Shaw UNQUALIFIED
Ivar R BowleyUnited KingdomAmy Elsner RENEWAL
Tony V NickaAustraliaIvan Magalhaes QUALIFIED
Stacey S MaletItalyAsiya Javayant NEW
Francesco J WhobreySpainBernardo Dominic RENEWAL
Maisha Z BriddickIndiaIvan Magalhaes NEGOTIATION
Ricardo Y NickaAustraliaAsiya Javayant PROPOSAL
Julie M InouyeJapanXuxue Feng PROPOSAL
Misaki V GarufiFranceOnyama Limba RENEWAL
Mayumi V CampainItalyAmy Elsner RENEWAL
Mayumi F ShinkoBrazilIvan Magalhaes QUALIFIED
Izzy V IturbideSpainAsiya Javayant RENEWAL
Aditya Y DarakjyBrazilIvan Magalhaes UNQUALIFIED
Leja G WieserRussiaAmy Elsner PROPOSAL
Chavez F CaudyGermanyIoni Bowcher RENEWAL
Ivar R OldroydCanadaAsiya Javayant NEW
Chavez F OldroydJapanStephen Shaw UNQUALIFIED
Aruna N WieserBrazilElwin Sharvill UNQUALIFIED
Maisha S MarrierJapanIoni Bowcher NEGOTIATION
Wickens W VocelkaRussiaOnyama Limba PROPOSAL
Claire F CaldareraJapanBernardo Dominic RENEWAL
Salvatore R CaldareraRussiaOnyama Limba NEGOTIATION
Kaitlin P SchemmerRussiaAsiya Javayant PROPOSAL
Izzy E MaletBrazilAmy Elsner RENEWAL
Claire I DilliardAustraliaOnyama Limba PROPOSAL
Sinclair T GlickSpainAmy Elsner RENEWAL
Antonio F DoeItalyStephen Shaw UNQUALIFIED
Misaki X DilliardIndiaIoni Bowcher QUALIFIED
Emily V GillianItalyBernardo Dominic NEGOTIATION
Maisha M VocelkaItalyBernardo Dominic NEGOTIATION
Claire C VocelkaCanadaAmy Elsner NEW
Izzy Q RimSpainIoni Bowcher NEGOTIATION
Murillo V RulapaughAustraliaXuxue Feng NEW
Mayumi I KolmetzArgentinaIvan Magalhaes RENEWAL
Aditya B SaylorsSpainAsiya Javayant NEGOTIATION
Rodrigues A CampainJapanIvan Magalhaes RENEWAL
Adams K CaldareraArgentinaXuxue Feng QUALIFIED
Maisha J KuskoJapanAmy Elsner NEW
Octavia V FlosiJapanStephen Shaw PROPOSAL
Julie F FlosiJapanOnyama Limba RENEWAL
Nicolas T NestleIndiaIoni Bowcher PROPOSAL
Jennifer D MaletAustraliaBernardo Dominic RENEWAL
Frozen Columns
Name
Francesco W Marrier
Aika Z Schemmer
Isabel C Malet
Ivar F Glick
Jefferson F Nestle
Greenwood B Kolmetz
Murillo M Chui
Silvio N Whobrey
Deepesh C Malet
Rodrigues V Gillian
Nicolas Z Butt
Ivar B Vocelka
Jennifer M Bolognia
Jennifer H Rim
Leon I Kolmetz
Izzy F Stenseth
Claire X Nicka
Leja W Dilliard
Leja I Glick
Alejandro D Bowley
Jones O Marrier
Wickens V Sergi
Mayumi L Briddick
Wickens P Butt
Deepesh Y Slusarski
Misaki O Stockham
Ricardo X Tollner
Johnson Z Bolognia
Rodrigues D Bowley
Claire W Shinko
Deepesh Q Morasca
Arvin M Maclead
Maria I Morasca
Darci A Stockham
Wickens I Paprocki
Murillo D Bowley
Salvatore H Rim
Chavez V Venere
Aruna F Poquette
Leja E Campain
Faith J Venere
Jeanfrancois N Chui
Mujtaba W Malet
Darci K Gillian
Chavez I Gillian
Izzy H Malet
Maisha O Nicka
Jones H Stockham
Salvatore E Marrier
Rodrigues J Glick
IdCountryDate
1000Argentina2024-05-06
1001France2024-04-28
1002Italy2024-05-14
1003United Kingdom2024-05-25
1004Germany2024-05-26
1005Russia2024-05-15
1006Italy2024-05-22
1007France2024-05-14
1008Australia2024-05-07
1009Russia2024-05-13
1010Argentina2024-05-26
1011Italy2024-05-23
1012Japan2024-05-14
1013France2024-04-27
1014Italy2024-05-07
1015Japan2024-05-18
1016Japan2024-05-07
1017Russia2024-05-21
1018Germany2024-05-11
1019Australia2024-05-20
1020Brazil2024-05-10
1021Brazil2024-05-21
1022Japan2024-05-23
1023United Kingdom2024-05-22
1024Brazil2024-05-23
1025Italy2024-05-02
1026Germany2024-05-19
1027Brazil2024-04-28
1028Russia2024-05-14
1029Japan2024-05-06
1030Germany2024-04-30
1031Spain2024-05-23
1032India2024-04-28
1033Germany2024-05-04
1034Italy2024-05-17
1035Germany2024-05-05
1036Argentina2024-04-30
1037Canada2024-05-19
1038Argentina2024-04-28
1039Japan2024-05-17
1040Argentina2024-04-27
1041India2024-05-21
1042Argentina2024-05-17
1043Japan2024-05-06
1044Russia2024-05-07
1045India2024-05-12
1046Germany2024-05-14
1047Spain2024-05-10
1048France2024-05-19
1049Brazil2024-05-05

On-Demand Data

NameIdCountryDate
Izzy R Briddick1000India2024-05-06
Stacey G Waycott1001Germany2024-05-01
Arvin W Albares1002United Kingdom2024-04-30
Alejandro Z Bowley1003Brazil2024-05-05
Costa R Saylors1004Argentina2024-05-25
Octavia H Nicka1005Brazil2024-05-14
Morrow N Bowley1006Argentina2024-05-14
Cody Z Maclead1007Spain2024-05-02
Adams U Slusarski1008India2024-04-27
Octavia S Caldarera1009India2024-05-03
Murillo E Malet1010Brazil2024-05-10
Octavia Z Butt1011Argentina2024-05-16
Antonio B Caldarera1012Brazil2024-04-27
Aditya I Malet1013Germany2024-05-20
David W Campain1014United Kingdom2024-05-04
Izzy S Glick1015France2024-05-05
Julie M Morasca1016Australia2024-05-22
Leja N Oldroyd1017Germany2024-05-21
Faith A Bolognia1018Germany2024-05-08
Greenwood X Saylors1019Argentina2024-05-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues B OstroskyGermanyOnyama Limba NEGOTIATION
Deepesh K DilliardSpainAnna Fali QUALIFIED
Faith E StockhamFranceAmy Elsner QUALIFIED
Alejandro U FerenczAustraliaIvan Magalhaes PROPOSAL
Leja O StockhamSpainIoni Bowcher RENEWAL
Alejandro M MacleadUnited KingdomAsiya Javayant RENEWAL
Claire Y TollnerJapanAsiya Javayant RENEWAL
Maria N GauchoJapanXuxue Feng NEW
Johnson N InouyeRussiaBernardo Dominic QUALIFIED
Jefferson S FollerFranceAmy Elsner QUALIFIED
Tony K AlbaresFranceStephen Shaw NEGOTIATION
Aditya G AmigonAustraliaIoni Bowcher UNQUALIFIED
Alejandro P MarrierCanadaStephen Shaw UNQUALIFIED
Maisha V IturbideBrazilBernardo Dominic UNQUALIFIED
Ricardo R StensethGermanyIvan Magalhaes PROPOSAL
Greenwood P SlusarskiSpainXuxue Feng QUALIFIED
Izzy N RutaSpainIoni Bowcher PROPOSAL
Rodrigues L DilliardItalyOnyama Limba NEW
Claire O OldroydItalyAmy Elsner UNQUALIFIED
Leon N AmigonAustraliaElwin Sharvill NEW
Salvatore S BologniaRussiaElwin Sharvill PROPOSAL
Misaki W OldroydAustraliaAnna Fali QUALIFIED
Francesco E WhobreyBrazilOnyama Limba NEW
Munro W GillianUnited KingdomAmy Elsner UNQUALIFIED
Clifford H BowleyRussiaOnyama Limba UNQUALIFIED
Octavia K GlickJapanAmy Elsner UNQUALIFIED
Isabel P InouyeSpainAnna Fali UNQUALIFIED
Emily W MorascaBrazilAnna Fali RENEWAL
Tony I StensethFranceIvan Magalhaes PROPOSAL
Isabel V CampainFranceAnna Fali RENEWAL
Jefferson X SlusarskiBrazilXuxue Feng PROPOSAL
Chavez P FollerBrazilElwin Sharvill NEW
Rodrigues F SlusarskiArgentinaIvan Magalhaes NEW
Rodrigues Y SergiGermanyIvan Magalhaes UNQUALIFIED
Costa G CaldareraCanadaStephen Shaw UNQUALIFIED
Jones M NickaArgentinaAmy Elsner RENEWAL
Misaki W CampainBrazilElwin Sharvill NEW
Munro L WieserIndiaStephen Shaw PROPOSAL
Francesco U CaudyFranceIvan Magalhaes QUALIFIED
Jefferson D NickaAustraliaXuxue Feng 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>