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
Aruna U PerinAustraliaBernardo Dominic RENEWAL
Darci W OstroskyIndiaXuxue Feng NEW
David N DarakjyAustraliaAsiya Javayant QUALIFIED
Costa J RimRussiaXuxue Feng UNQUALIFIED
Silvio R DarakjyIndiaAsiya Javayant NEW
Nicolas G VenereJapanOnyama Limba NEW
Misaki Q NestleSpainIvan Magalhaes NEGOTIATION
Aruna O IturbideIndiaElwin Sharvill RENEWAL
Francesco M ButtItalyXuxue Feng QUALIFIED
Wickens A CaudyFranceElwin Sharvill QUALIFIED
Alejandro Z VocelkaItalyOnyama Limba UNQUALIFIED
James Q StensethItalyAmy Elsner NEGOTIATION
Juan C InouyeFranceStephen Shaw RENEWAL
Cody U SaylorsBrazilStephen Shaw NEGOTIATION
Wickens A OstroskyUnited KingdomOnyama Limba QUALIFIED
Jefferson J NestleFranceAsiya Javayant PROPOSAL
Rodrigues A RutaAustraliaIvan Magalhaes UNQUALIFIED
Nicolas B PoquetteJapanStephen Shaw PROPOSAL
David G VocelkaArgentinaOnyama Limba RENEWAL
Jones A DilliardJapanElwin Sharvill RENEWAL
Arvin H BriddickFranceAmy Elsner NEW
Jeanfrancois Q RimUnited KingdomStephen Shaw PROPOSAL
David D PoquetteGermanyAnna Fali QUALIFIED
Salvatore A MorascaUnited KingdomBernardo Dominic NEGOTIATION
Murillo L SaylorsArgentinaBernardo Dominic NEW
Sinclair E GlickGermanyIvan Magalhaes RENEWAL
David W TollnerUnited KingdomIoni Bowcher PROPOSAL
Mujtaba C GauchoArgentinaStephen Shaw QUALIFIED
Leja A BologniaGermanyIvan Magalhaes QUALIFIED
Aika L BriddickRussiaAmy Elsner RENEWAL
Salvatore I ShinkoItalyAmy Elsner QUALIFIED
Ricardo Y FollerAustraliaXuxue Feng QUALIFIED
Francesco O WhobreyGermanyXuxue Feng NEGOTIATION
Leja D BowleyGermanyOnyama Limba NEGOTIATION
Izzy Y WieserFranceAmy Elsner RENEWAL
Isabel G WhobreyUnited KingdomXuxue Feng NEW
Octavia Y CaudySpainIoni Bowcher NEW
Adams O GillianBrazilXuxue Feng PROPOSAL
James O WaycottBrazilAsiya Javayant UNQUALIFIED
Kadeem E VenereRussiaAmy Elsner RENEWAL
Kaitlin I SlusarskiIndiaAsiya Javayant PROPOSAL
Munro B FollerSpainBernardo Dominic UNQUALIFIED
Aruna T AmigonGermanyIoni Bowcher QUALIFIED
Jefferson E WieserUnited KingdomOnyama Limba QUALIFIED
Nicolas Z MorascaIndiaXuxue Feng UNQUALIFIED
Murillo G DilliardGermanyIoni Bowcher NEGOTIATION
Ashley M AmigonRussiaIvan Magalhaes RENEWAL
Chavez Z IturbideUnited KingdomElwin Sharvill RENEWAL
Maisha K PerinAustraliaElwin Sharvill QUALIFIED
David E SergiBrazilBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Antonio U GauchoGermanyBernardo Dominic RENEWAL
Jones Z MarrierIndiaBernardo Dominic NEW
Alejandro O StensethAustraliaAnna Fali RENEWAL
Smith Q MacleadItalyOnyama Limba RENEWAL
Leja V MorascaArgentinaBernardo Dominic QUALIFIED
Costa H SaylorsCanadaElwin Sharvill RENEWAL
Ivar W SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Cody W SaylorsArgentinaIoni Bowcher RENEWAL
Johnson A FigeroaSpainAmy Elsner NEW
Claire R StensethAustraliaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro B SergiBrazil2024-06-03Feltz Printing Service PROPOSAL62Stephen Shaw
1001Maisha G DarakjyGermany2024-06-13Rangoni Of Florence NEW29Ivan Magalhaes
1002Aika M PaprockiAustralia2024-06-17Chanay, Jeffrey A Esq RENEWAL10Anna Fali
1003Clifford V DoeIndia2024-06-10Printing Dimensions PROPOSAL84Elwin Sharvill
1004Jennifer X WaycottFrance2024-06-05Morlong Associates PROPOSAL68Ivan Magalhaes
1005Costa M GarufiCanada2024-05-28Feiner Bros QUALIFIED14Stephen Shaw
1006Isabel L StockhamGermany2024-05-29Dorl, James J Esq PROPOSAL92Stephen Shaw
1007Alejandro T SchemmerCanada2024-05-23Dorl, James J Esq NEW2Ivan Magalhaes
1008Claire T VenereSpain2024-06-06King, Christopher A Esq UNQUALIFIED60Asiya Javayant
1009Cody X CaldareraCanada2024-05-28King, Christopher A Esq QUALIFIED58Ivan Magalhaes
1010Mujtaba L BologniaCanada2024-05-29Buckley Miller Wright UNQUALIFIED6Stephen Shaw
1011Aika A StensethArgentina2024-06-02Printing Dimensions UNQUALIFIED95Ioni Bowcher
1012Rodrigues C RimIndia2024-06-13Printing Dimensions RENEWAL1Anna Fali
1013Mujtaba E DilliardAustralia2024-06-09Commercial Press UNQUALIFIED38Bernardo Dominic
1014Antonio Y ButtBrazil2024-05-29Truhlar And Truhlar Attys QUALIFIED64Asiya Javayant
1015Jones L ButtItaly2024-05-23Printing Dimensions UNQUALIFIED84Elwin Sharvill
1016Smith U GlickArgentina2024-05-21Dorl, James J Esq QUALIFIED33Ioni Bowcher
1017Kaitlin K GlickFrance2024-05-20Printing Dimensions QUALIFIED91Ioni Bowcher
1018Ashley I DarakjyCanada2024-05-23Rangoni Of Florence PROPOSAL83Anna Fali
1019Cody X VenereArgentina2024-05-27Rousseaux, Michael Esq QUALIFIED90Ioni Bowcher
1020Kadeem K VenereFrance2024-06-02Dorl, James J Esq RENEWAL27Onyama Limba
1021Francesco R IturbideAustralia2024-06-03Commercial Press RENEWAL71Bernardo Dominic
1022Jennifer D OldroydBrazil2024-06-09Benton, John B Jr QUALIFIED74Asiya Javayant
1023Wickens Q MacleadFrance2024-05-23Buckley Miller Wright QUALIFIED91Stephen Shaw
1024Antonio N GillianCanada2024-05-23Chemel, James L Cpa NEGOTIATION20Onyama Limba
1025Nicolas A DilliardIndia2024-06-09Printing Dimensions RENEWAL51Xuxue Feng
1026Aruna D MarrierGermany2024-06-06King, Christopher A Esq NEW11Elwin Sharvill
1027Sinclair Z MacleadUnited Kingdom2024-05-24Benton, John B Jr RENEWAL75Stephen Shaw
1028Aruna X BologniaGermany2024-06-12Chapman, Ross E Esq PROPOSAL13Onyama Limba
1029Alejandro V VenereAustralia2024-06-05Chemel, James L Cpa UNQUALIFIED38Asiya Javayant
1030Aditya S GlickAustralia2024-06-16Dorl, James J Esq QUALIFIED95Bernardo Dominic
1031Nicolas X BowleyUnited Kingdom2024-06-08Feltz Printing Service RENEWAL27Amy Elsner
1032Darci X IturbideItaly2024-05-20Rousseaux, Michael Esq QUALIFIED26Asiya Javayant
1033Maisha M OldroydIndia2024-06-15Chemel, James L Cpa UNQUALIFIED57Onyama Limba
1034Jennifer O OldroydCanada2024-06-12Morlong Associates NEGOTIATION76Anna Fali
1035Juan E StensethAustralia2024-06-14Rangoni Of Florence NEW35Anna Fali
1036Isabel S GlickArgentina2024-06-12King, Christopher A Esq NEW7Elwin Sharvill
1037Mayumi J StockhamUnited Kingdom2024-05-31Feiner Bros UNQUALIFIED63Bernardo Dominic
1038Isabel J RutaFrance2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED39Onyama Limba
1039Deepesh B FlosiIndia2024-06-10Rangoni Of Florence NEGOTIATION92Asiya Javayant
1040Maria T RutaAustralia2024-05-21Chemel, James L Cpa PROPOSAL62Ivan Magalhaes
1041Salvatore L CampainArgentina2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED41Elwin Sharvill
1042Emily U FerenczItaly2024-06-07Feltz Printing Service NEW42Ivan Magalhaes
1043Octavia X PerinItaly2024-06-12Chemel, James L Cpa QUALIFIED74Bernardo Dominic
1044Silvio A VenereArgentina2024-06-09Morlong Associates NEW7Anna Fali
1045Faith J FollerSpain2024-06-15Feltz Printing Service RENEWAL66Anna Fali
1046Kadeem W SchemmerRussia2024-06-06Printing Dimensions NEGOTIATION80Anna Fali
1047Claire E FigeroaIndia2024-06-05Dorl, James J Esq NEW76Bernardo Dominic
1048Greenwood P IturbideAustralia2024-05-24Rangoni Of Florence QUALIFIED70Stephen Shaw
1049Jennifer H BowleyArgentina2024-06-16Chemel, James L Cpa PROPOSAL75Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois M SaylorsItalyOnyama Limba NEGOTIATION
Mayumi V KuskoJapanStephen Shaw NEW
Antonio I WieserRussiaAnna Fali PROPOSAL
Nicolas Z MarrierArgentinaIvan Magalhaes UNQUALIFIED
Mayumi H ButtRussiaIoni Bowcher NEW
Arvin Q MaletRussiaBernardo Dominic UNQUALIFIED
Tony M ShinkoRussiaIoni Bowcher NEW
Nicolas S MarrierArgentinaXuxue Feng QUALIFIED
Aditya A CaudyRussiaIoni Bowcher QUALIFIED
Juan I SlusarskiBrazilOnyama Limba NEW
Jefferson C NestleFranceIvan Magalhaes QUALIFIED
Leja M MaletBrazilElwin Sharvill PROPOSAL
Sinclair Y VocelkaFranceAsiya Javayant UNQUALIFIED
Munro K KuskoIndiaIvan Magalhaes NEGOTIATION
Ivar I FigeroaCanadaElwin Sharvill NEW
Mujtaba Q AlbaresBrazilAnna Fali PROPOSAL
Antonio M RimCanadaIoni Bowcher NEGOTIATION
Octavia E NestleSpainIvan Magalhaes PROPOSAL
Octavia G KuskoJapanAnna Fali NEGOTIATION
Julie Q AlbaresGermanyXuxue Feng PROPOSAL
Silvio Z SaylorsItalyAmy Elsner UNQUALIFIED
Salvatore K VocelkaArgentinaElwin Sharvill QUALIFIED
Jefferson Y VocelkaSpainAnna Fali NEGOTIATION
Ashley E KolmetzIndiaIvan Magalhaes NEGOTIATION
Darci N FerenczIndiaAnna Fali PROPOSAL
Mayumi R WaycottItalyBernardo Dominic NEGOTIATION
Ricardo J WhobreyArgentinaStephen Shaw PROPOSAL
Johnson Y WaycottIndiaBernardo Dominic NEGOTIATION
Clifford N WieserJapanBernardo Dominic NEGOTIATION
Julie T SlusarskiArgentinaBernardo Dominic PROPOSAL
Darci F ShinkoCanadaAmy Elsner PROPOSAL
Aika X MorascaGermanyOnyama Limba QUALIFIED
Cody N PerinArgentinaIvan Magalhaes RENEWAL
Alejandro C RutaBrazilAmy Elsner PROPOSAL
Aditya T BriddickCanadaXuxue Feng UNQUALIFIED
Sinclair T WhobreyFranceAmy Elsner PROPOSAL
Nicolas W RulapaughSpainIoni Bowcher NEGOTIATION
Ivar M GillianFranceIoni Bowcher QUALIFIED
Mujtaba O BologniaCanadaBernardo Dominic NEW
Mayumi N KolmetzArgentinaAmy Elsner NEW
Morrow O GarufiFranceBernardo Dominic RENEWAL
Ivar S BriddickBrazilXuxue Feng PROPOSAL
Sinclair B MaletUnited KingdomStephen Shaw QUALIFIED
Tony X GlickCanadaXuxue Feng NEW
Smith Z MacleadBrazilIvan Magalhaes PROPOSAL
Cody P FigeroaCanadaAsiya Javayant NEGOTIATION
Mujtaba E WaycottSpainBernardo Dominic QUALIFIED
Izzy J CaudyGermanyAnna Fali UNQUALIFIED
Costa U ButtSpainElwin Sharvill QUALIFIED
Claire L FlosiUnited KingdomAnna Fali PROPOSAL
Frozen Columns
Name
Isabel M Bowley
Costa M Caudy
Octavia C Iturbide
Munro I Perin
Emily Z Garufi
Julie A Campain
David E Shinko
James R Dilliard
Johnson G Ostrosky
Sinclair Z Bolognia
Faith Y Flosi
Silvio J Wieser
Morrow L Caldarera
Wickens Y Campain
Leon C Butt
Ricardo R Garufi
Sinclair A Nicka
Jeanfrancois I Royster
James M Shinko
Ashley X Poquette
Misaki E Gaucho
Munro O Royster
Mayumi I Foller
Sinclair Y Caudy
Antonio W Tollner
Octavia D Oldroyd
Murillo J Nestle
Stacey I Venere
Greenwood B Slusarski
Silvio O Albares
Rodrigues R Campain
Morrow B Glick
Claire C Malet
Ivar U Schemmer
Stacey X Whobrey
Silvio F Bolognia
Antonio M Chui
Morrow R Stockham
Claire X Oldroyd
Juan F Vocelka
Julie K Wieser
Misaki Z Kolmetz
Octavia Z Kolmetz
Octavia B Kusko
Leon V Gillian
Clifford G Perin
Murillo E Marrier
Ashley D Kolmetz
Johnson R Garufi
Chavez R Tollner
IdCountryDate
1000Italy2024-05-19
1001France2024-05-19
1002Germany2024-06-03
1003Canada2024-06-11
1004Japan2024-05-29
1005United Kingdom2024-06-11
1006France2024-06-11
1007Spain2024-06-03
1008Japan2024-06-09
1009India2024-06-17
1010Spain2024-06-10
1011Germany2024-06-06
1012Brazil2024-06-06
1013Brazil2024-05-31
1014Argentina2024-05-19
1015France2024-06-05
1016Italy2024-06-07
1017Australia2024-05-26
1018Germany2024-05-24
1019France2024-06-16
1020Russia2024-05-20
1021India2024-05-21
1022Australia2024-06-16
1023India2024-05-27
1024Italy2024-06-16
1025Spain2024-06-17
1026India2024-06-07
1027United Kingdom2024-05-26
1028Argentina2024-06-03
1029Brazil2024-06-05
1030France2024-05-31
1031Italy2024-06-16
1032India2024-05-27
1033United Kingdom2024-06-04
1034Argentina2024-06-10
1035Germany2024-06-03
1036France2024-06-11
1037United Kingdom2024-05-23
1038United Kingdom2024-06-12
1039Italy2024-06-06
1040Germany2024-06-16
1041Germany2024-06-06
1042Italy2024-05-26
1043Italy2024-05-22
1044Spain2024-06-12
1045Australia2024-06-03
1046Australia2024-06-13
1047Canada2024-06-11
1048Australia2024-05-27
1049Brazil2024-05-28

On-Demand Data

NameIdCountryDate
Jones G Amigon1000Russia2024-05-26
Maisha T Briddick1001Brazil2024-05-27
James P Garufi1002Germany2024-06-06
Greenwood L Schemmer1003Russia2024-05-30
Maria E Amigon1004France2024-05-23
Misaki L Waycott1005Argentina2024-06-05
Adams M Nicka1006Spain2024-05-21
Claire F Caldarera1007Brazil2024-05-19
Emily I Perin1008United Kingdom2024-05-31
Smith Y Iturbide1009Russia2024-05-25
Deepesh A Rim1010Italy2024-06-05
Arvin B Vocelka1011India2024-06-02
Misaki N Butt1012Brazil2024-06-15
Kadeem C Saylors1013Brazil2024-05-23
Izzy E Flosi1014Germany2024-06-11
Aruna O Schemmer1015France2024-05-24
Maria G Maclead1016Russia2024-05-26
Aditya K Inouye1017Italy2024-06-02
Munro K Dilliard1018Germany2024-06-11
Costa F Malet1019Japan2024-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony G BriddickJapanXuxue Feng UNQUALIFIED
Leja T MorascaFranceOnyama Limba NEW
Alejandro M AlbaresSpainAnna Fali PROPOSAL
Kadeem V WaycottGermanyOnyama Limba UNQUALIFIED
Jefferson P SchemmerArgentinaXuxue Feng PROPOSAL
Juan B MacleadUnited KingdomBernardo Dominic NEGOTIATION
Aditya E CampainIndiaOnyama Limba PROPOSAL
Claire S NestleItalyAnna Fali RENEWAL
Adams T SlusarskiCanadaBernardo Dominic PROPOSAL
Ashley B AmigonItalyXuxue Feng UNQUALIFIED
Juan W ChuiIndiaXuxue Feng NEW
Costa B DoeRussiaElwin Sharvill UNQUALIFIED
Arvin U GarufiSpainAmy Elsner UNQUALIFIED
Morrow Y WhobreyFranceAmy Elsner NEW
Jennifer Y KolmetzGermanyAsiya Javayant RENEWAL
Kadeem R CaldareraFranceAnna Fali UNQUALIFIED
Deepesh A GauchoSpainAmy Elsner NEGOTIATION
Maria T FerenczGermanyBernardo Dominic UNQUALIFIED
Cody L WaycottAustraliaAnna Fali NEW
Kadeem W CampainJapanIvan Magalhaes RENEWAL
David X DoeBrazilXuxue Feng QUALIFIED
Stacey H RimUnited KingdomOnyama Limba NEGOTIATION
Arvin G RimItalyIvan Magalhaes QUALIFIED
Julie Y ShinkoRussiaAmy Elsner PROPOSAL
Claire Y DilliardAustraliaOnyama Limba NEGOTIATION
Greenwood N PoquetteFranceAsiya Javayant UNQUALIFIED
Octavia W StockhamUnited KingdomIoni Bowcher NEGOTIATION
Morrow S TollnerArgentinaElwin Sharvill RENEWAL
Mujtaba G RulapaughItalyIvan Magalhaes UNQUALIFIED
Kaitlin Q PerinJapanIvan Magalhaes UNQUALIFIED
Jefferson Q TollnerBrazilAmy Elsner QUALIFIED
Mayumi A OstroskyRussiaIvan Magalhaes NEGOTIATION
Leon G BologniaJapanBernardo Dominic RENEWAL
Isabel W ShinkoSpainAsiya Javayant PROPOSAL
Alejandro A BowleyItalyAmy Elsner UNQUALIFIED
Cody P ChuiItalyXuxue Feng NEW
Arvin F WaycottCanadaIoni Bowcher UNQUALIFIED
Arvin F WaycottBrazilAmy Elsner RENEWAL
Cody X TollnerUnited KingdomAnna Fali NEW
Ricardo G GlickSpainIoni Bowcher NEW

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