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 T ShinkoRussiaOnyama Limba NEGOTIATION
Maria E RoysterRussiaOnyama Limba QUALIFIED
Costa D IturbideCanadaOnyama Limba PROPOSAL
Costa T NickaAustraliaElwin Sharvill UNQUALIFIED
Tony G CaldareraIndiaAmy Elsner NEGOTIATION
Juan D AlbaresSpainElwin Sharvill PROPOSAL
Leja E ShinkoBrazilIvan Magalhaes NEGOTIATION
Kadeem L ChuiFranceBernardo Dominic NEW
Adams F BowleyCanadaAmy Elsner RENEWAL
Morrow W SergiAustraliaIoni Bowcher UNQUALIFIED
Aika W ChuiUnited KingdomElwin Sharvill NEW
Juan O RulapaughJapanStephen Shaw RENEWAL
Aditya J GillianRussiaXuxue Feng NEW
Kadeem I VenereRussiaXuxue Feng NEW
Jones Q GarufiJapanXuxue Feng UNQUALIFIED
Silvio W SchemmerJapanAmy Elsner NEGOTIATION
James K CaudyItalyBernardo Dominic NEW
Jeanfrancois L AlbaresAustraliaAnna Fali QUALIFIED
Stacey S KuskoAustraliaOnyama Limba UNQUALIFIED
Darci V VenereGermanyIoni Bowcher PROPOSAL
Rodrigues B KolmetzAustraliaStephen Shaw NEW
Kaitlin J MacleadIndiaIoni Bowcher NEW
Darci P FerenczSpainIvan Magalhaes NEGOTIATION
Kadeem D AlbaresArgentinaIvan Magalhaes NEGOTIATION
Aika J AlbaresRussiaStephen Shaw RENEWAL
Johnson T BowleyBrazilOnyama Limba UNQUALIFIED
Nicolas Q FigeroaJapanAnna Fali UNQUALIFIED
Antonio K AlbaresSpainIoni Bowcher NEGOTIATION
Leja M FigeroaItalyAnna Fali RENEWAL
Jones N FlosiRussiaOnyama Limba PROPOSAL
Johnson D RimBrazilStephen Shaw PROPOSAL
Ivar G ButtFranceAsiya Javayant NEW
Jennifer V MaletUnited KingdomIvan Magalhaes PROPOSAL
David Z DoeAustraliaOnyama Limba RENEWAL
Jeanfrancois W RutaItalyStephen Shaw PROPOSAL
Smith B GillianAustraliaOnyama Limba RENEWAL
Darci I ChuiArgentinaElwin Sharvill NEW
Misaki C NestleCanadaElwin Sharvill NEW
Ricardo V PoquetteUnited KingdomBernardo Dominic QUALIFIED
Faith J MaletItalyIoni Bowcher NEW
Emily L SlusarskiGermanyStephen Shaw QUALIFIED
David Z InouyeUnited KingdomElwin Sharvill NEW
Cody M AmigonBrazilElwin Sharvill UNQUALIFIED
Deepesh Q TollnerFranceOnyama Limba RENEWAL
Greenwood V FerenczAustraliaIvan Magalhaes RENEWAL
Maisha H StockhamSpainStephen Shaw QUALIFIED
Ashley T GauchoItalyIvan Magalhaes RENEWAL
Jeanfrancois U RutaIndiaStephen Shaw RENEWAL
Tony W NickaRussiaAnna Fali PROPOSAL
Francesco N GarufiGermanyAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia A GlickArgentinaElwin Sharvill QUALIFIED
Deepesh X SlusarskiCanadaStephen Shaw NEW
Adams D MarrierIndiaXuxue Feng QUALIFIED
Johnson N RimIndiaXuxue Feng NEGOTIATION
Alejandro J FollerJapanBernardo Dominic NEW
Chavez G InouyeItalyAnna Fali QUALIFIED
Maisha F KuskoCanadaElwin Sharvill PROPOSAL
Ricardo V WhobreyItalyElwin Sharvill QUALIFIED
Cody U CampainFranceOnyama Limba RENEWAL
Julie D ChuiIndiaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa E RoysterItaly2024-05-27Commercial Press UNQUALIFIED65Elwin Sharvill
1001Aruna T NickaArgentina2024-06-04Chapman, Ross E Esq QUALIFIED66Anna Fali
1002Nicolas Y BowleyRussia2024-06-14Morlong Associates QUALIFIED64Ivan Magalhaes
1003Stacey Q MarrierUnited Kingdom2024-06-04Commercial Press PROPOSAL41Onyama Limba
1004Costa N ChuiArgentina2024-06-11Rangoni Of Florence QUALIFIED67Onyama Limba
1005Julie D FerenczArgentina2024-06-17Benton, John B Jr PROPOSAL1Stephen Shaw
1006Deepesh Q PoquetteIndia2024-06-11King, Christopher A Esq NEGOTIATION50Stephen Shaw
1007Darci X RoysterAustralia2024-06-01Dorl, James J Esq QUALIFIED55Anna Fali
1008Greenwood J StensethCanada2024-06-14Chanay, Jeffrey A Esq QUALIFIED86Stephen Shaw
1009Morrow C ShinkoCanada2024-06-22Buckley Miller Wright PROPOSAL63Anna Fali
1010Alejandro U BriddickRussia2024-05-30Printing Dimensions NEGOTIATION2Onyama Limba
1011Leon J OstroskyArgentina2024-06-22Chemel, James L Cpa UNQUALIFIED97Xuxue Feng
1012Morrow U WieserItaly2024-06-21Printing Dimensions RENEWAL27Stephen Shaw
1013Isabel L ButtArgentina2024-05-28Dorl, James J Esq NEGOTIATION72Asiya Javayant
1014Chavez L DilliardCanada2024-05-31Truhlar And Truhlar Attys PROPOSAL58Asiya Javayant
1015Rodrigues X VocelkaGermany2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED12Onyama Limba
1016Johnson Z SaylorsSpain2024-06-16Truhlar And Truhlar Attys QUALIFIED50Xuxue Feng
1017Ivar H GauchoAustralia2024-05-25Commercial Press NEW80Stephen Shaw
1018Jefferson G RoysterUnited Kingdom2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED89Ioni Bowcher
1019Nicolas Z ChuiUnited Kingdom2024-06-05Chapman, Ross E Esq PROPOSAL25Stephen Shaw
1020James E NestleItaly2024-05-31Chapman, Ross E Esq PROPOSAL83Xuxue Feng
1021Octavia S DilliardItaly2024-06-07Printing Dimensions NEGOTIATION48Elwin Sharvill
1022Greenwood E IturbideBrazil2024-06-08Dorl, James J Esq UNQUALIFIED87Onyama Limba
1023Julie P ShinkoItaly2024-06-04Chanay, Jeffrey A Esq PROPOSAL13Onyama Limba
1024Antonio E InouyeBrazil2024-06-07Rangoni Of Florence UNQUALIFIED80Elwin Sharvill
1025Greenwood C KuskoArgentina2024-05-28Printing Dimensions RENEWAL83Asiya Javayant
1026Adams G OstroskySpain2024-06-12King, Christopher A Esq UNQUALIFIED32Bernardo Dominic
1027Rodrigues S CaudyAustralia2024-05-25Benton, John B Jr UNQUALIFIED82Ivan Magalhaes
1028Wickens X MorascaUnited Kingdom2024-06-05Chanay, Jeffrey A Esq QUALIFIED74Anna Fali
1029Johnson R SaylorsAustralia2024-06-21Commercial Press PROPOSAL79Xuxue Feng
1030Deepesh J DoeFrance2024-05-25Truhlar And Truhlar Attys NEW94Elwin Sharvill
1031Cody X ButtUnited Kingdom2024-06-10Rangoni Of Florence QUALIFIED16Elwin Sharvill
1032Johnson G SergiGermany2024-05-26Feiner Bros PROPOSAL66Anna Fali
1033Munro L OstroskyCanada2024-06-14Benton, John B Jr UNQUALIFIED48Xuxue Feng
1034Mayumi W GarufiUnited Kingdom2024-06-06Buckley Miller Wright NEW60Onyama Limba
1035Adams L NickaAustralia2024-05-31Buckley Miller Wright NEGOTIATION94Onyama Limba
1036Francesco A CampainIndia2024-06-03Morlong Associates RENEWAL14Elwin Sharvill
1037Smith U RulapaughAustralia2024-05-25Dorl, James J Esq UNQUALIFIED85Amy Elsner
1038Octavia L PoquetteAustralia2024-06-19Printing Dimensions NEW74Ivan Magalhaes
1039Stacey R MaletBrazil2024-06-19Feiner Bros NEW27Stephen Shaw
1040Chavez A OstroskySpain2024-05-25Buckley Miller Wright NEW26Bernardo Dominic
1041Maria H FlosiUnited Kingdom2024-06-17Chemel, James L Cpa QUALIFIED2Ivan Magalhaes
1042Rodrigues Y StensethFrance2024-05-31King, Christopher A Esq NEGOTIATION7Stephen Shaw
1043Jeanfrancois H PerinRussia2024-06-03Truhlar And Truhlar Attys RENEWAL62Xuxue Feng
1044Morrow E PaprockiBrazil2024-06-03Feiner Bros QUALIFIED27Onyama Limba
1045Ivar V RutaIndia2024-06-10Feiner Bros UNQUALIFIED15Stephen Shaw
1046Salvatore A MaletArgentina2024-06-01Benton, John B Jr QUALIFIED57Onyama Limba
1047Tony W InouyeBrazil2024-06-08Dorl, James J Esq PROPOSAL31Stephen Shaw
1048Stacey O StockhamSpain2024-06-13Feltz Printing Service PROPOSAL84Stephen Shaw
1049Deepesh C FerenczJapan2024-06-11Chemel, James L Cpa QUALIFIED13Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Izzy J NestleGermanyAnna Fali QUALIFIED
Aika J RimAustraliaOnyama Limba NEW
Izzy M MacleadArgentinaIoni Bowcher UNQUALIFIED
Stacey U RimGermanyIvan Magalhaes NEGOTIATION
Maisha G NestleBrazilAsiya Javayant QUALIFIED
James K DilliardJapanXuxue Feng NEW
Cody L GauchoIndiaStephen Shaw NEGOTIATION
Tony K SaylorsSpainAmy Elsner NEGOTIATION
David F MarrierJapanAnna Fali PROPOSAL
Antonio K PerinAustraliaAsiya Javayant PROPOSAL
Ricardo U OldroydCanadaStephen Shaw NEW
Clifford N KuskoFranceIvan Magalhaes NEGOTIATION
Ivar T FollerFranceStephen Shaw QUALIFIED
Isabel Z KuskoUnited KingdomStephen Shaw PROPOSAL
Costa B StensethCanadaXuxue Feng RENEWAL
Francesco U VocelkaArgentinaIoni Bowcher NEW
Antonio P FigeroaBrazilAmy Elsner QUALIFIED
Salvatore T PaprockiCanadaIvan Magalhaes QUALIFIED
Faith B CaldareraUnited KingdomAnna Fali PROPOSAL
Leon B OstroskyRussiaBernardo Dominic RENEWAL
Leon B GillianBrazilBernardo Dominic QUALIFIED
Ashley O CaudyBrazilElwin Sharvill QUALIFIED
Jennifer C FlosiArgentinaBernardo Dominic NEGOTIATION
Jones W ChuiGermanyAsiya Javayant UNQUALIFIED
Emily N FlosiBrazilBernardo Dominic QUALIFIED
Maria X VenereAustraliaIoni Bowcher UNQUALIFIED
Rodrigues P OldroydBrazilStephen Shaw UNQUALIFIED
Izzy X NickaIndiaBernardo Dominic QUALIFIED
Sinclair T SaylorsBrazilXuxue Feng UNQUALIFIED
Silvio Y PerinGermanyAnna Fali PROPOSAL
Mayumi F SergiIndiaAmy Elsner RENEWAL
Deepesh M ButtArgentinaAsiya Javayant RENEWAL
Aditya N PoquetteAustraliaAnna Fali NEGOTIATION
Isabel G StockhamAustraliaAmy Elsner RENEWAL
Izzy E RoysterFranceAsiya Javayant QUALIFIED
Aruna O WhobreyBrazilElwin Sharvill QUALIFIED
Rodrigues J BriddickRussiaBernardo Dominic NEW
Faith U CampainJapanAsiya Javayant RENEWAL
Morrow T CaudyJapanAsiya Javayant QUALIFIED
Deepesh S PerinJapanAnna Fali NEGOTIATION
Julie C PoquetteSpainAmy Elsner PROPOSAL
Darci X WhobreyFranceOnyama Limba PROPOSAL
Francesco D WieserUnited KingdomAsiya Javayant RENEWAL
Octavia T DoeSpainStephen Shaw NEW
Mayumi K GlickIndiaOnyama Limba NEGOTIATION
Maisha R DoeArgentinaIvan Magalhaes QUALIFIED
Costa Y PerinBrazilAnna Fali NEW
Octavia O DoeCanadaIoni Bowcher NEGOTIATION
Adams K TollnerRussiaOnyama Limba NEGOTIATION
Costa E BriddickSpainAnna Fali QUALIFIED
Frozen Columns
Name
Rodrigues E Rulapaugh
Antonio I Shinko
Emily V Caldarera
Rodrigues B Sergi
Smith J Perin
Claire U Malet
Mujtaba L Stockham
David J Vocelka
Costa Y Perin
Mayumi U Briddick
Smith F Wieser
Greenwood N Nestle
Leon G Vocelka
Morrow C Tollner
Chavez F Shinko
Smith B Vocelka
Costa T Gaucho
Greenwood J Wieser
Darci Q Venere
Morrow Z Oldroyd
Deepesh W Butt
Antonio H Campain
Alejandro M Figeroa
Johnson N Bowley
Leja A Morasca
Ivar F Perin
Mujtaba L Caudy
Morrow D Flosi
Aika Y Sergi
Rodrigues Z Iturbide
Jennifer S Gillian
Stacey N Nicka
Isabel K Maclead
Stacey H Slusarski
Nicolas H Wieser
Arvin Q Rulapaugh
Johnson Z Flosi
Aditya O Figeroa
Leja X Schemmer
Jefferson A Waycott
Izzy Y Dilliard
Jones C Maclead
Kadeem X Campain
Nicolas M Stenseth
Kaitlin R Bolognia
James B Marrier
James S Garufi
Mayumi D Amigon
Munro O Royster
Jefferson J Flosi
IdCountryDate
1000Germany2024-06-18
1001Italy2024-06-03
1002United Kingdom2024-06-16
1003Argentina2024-05-25
1004Germany2024-06-07
1005Italy2024-06-11
1006Russia2024-06-10
1007Italy2024-06-09
1008France2024-05-29
1009France2024-05-24
1010India2024-06-20
1011Argentina2024-05-29
1012Spain2024-06-14
1013Russia2024-05-29
1014Australia2024-06-06
1015Germany2024-06-09
1016Russia2024-06-09
1017Australia2024-06-20
1018Japan2024-05-31
1019Argentina2024-06-06
1020Spain2024-06-17
1021India2024-06-10
1022India2024-06-03
1023Germany2024-06-06
1024Argentina2024-06-08
1025Australia2024-06-06
1026United Kingdom2024-06-16
1027Russia2024-06-22
1028India2024-06-09
1029Australia2024-06-21
1030Argentina2024-06-01
1031France2024-06-12
1032Russia2024-05-30
1033Italy2024-06-01
1034Japan2024-06-20
1035Brazil2024-06-11
1036Argentina2024-05-27
1037Japan2024-06-04
1038Australia2024-06-16
1039United Kingdom2024-06-08
1040France2024-06-22
1041Canada2024-06-10
1042Russia2024-06-21
1043Italy2024-05-26
1044Canada2024-06-19
1045Russia2024-06-20
1046Japan2024-06-05
1047Canada2024-06-04
1048Spain2024-06-10
1049Brazil2024-06-07

On-Demand Data

NameIdCountryDate
Ricardo E Schemmer1000Germany2024-06-11
Morrow X Wieser1001Russia2024-06-02
Misaki H Ferencz1002Russia2024-06-04
Nicolas K Malet1003United Kingdom2024-06-10
Julie I Saylors1004Argentina2024-06-10
James W Amigon1005Australia2024-06-05
Costa X Waycott1006Canada2024-05-24
Chavez B Flosi1007Spain2024-05-25
Ashley V Campain1008United Kingdom2024-06-03
Claire K Wieser1009Italy2024-05-25
Jones T Royster1010Italy2024-06-11
Greenwood H Foller1011Spain2024-06-13
Morrow R Venere1012Brazil2024-06-04
Maria D Ferencz1013United Kingdom2024-05-25
Kadeem M Poquette1014France2024-05-24
Alejandro A Vocelka1015Canada2024-06-05
Adams H Saylors1016Spain2024-06-09
Munro G Poquette1017Russia2024-06-11
Salvatore Q Vocelka1018Russia2024-06-22
Mayumi B Paprocki1019India2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas P GarufiFranceXuxue Feng NEGOTIATION
Mayumi X VenereCanadaAmy Elsner UNQUALIFIED
Faith X MarrierBrazilStephen Shaw UNQUALIFIED
Alejandro U CampainBrazilAmy Elsner NEW
Morrow Y MaletIndiaIvan Magalhaes PROPOSAL
Maisha Q SergiUnited KingdomAsiya Javayant NEW
Julie I DilliardRussiaOnyama Limba PROPOSAL
Maisha U OstroskyRussiaBernardo Dominic NEW
Emily I PoquetteIndiaStephen Shaw UNQUALIFIED
Silvio Q CampainRussiaAsiya Javayant RENEWAL
Octavia L ChuiUnited KingdomOnyama Limba NEW
Juan B AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Francesco Y MaletBrazilOnyama Limba NEW
Antonio T DoeItalyXuxue Feng PROPOSAL
Ivar E RimUnited KingdomOnyama Limba UNQUALIFIED
Alejandro W GarufiCanadaOnyama Limba NEGOTIATION
Munro T RulapaughItalyIoni Bowcher NEGOTIATION
Juan J ChuiBrazilAsiya Javayant RENEWAL
Stacey P CaldareraFranceIvan Magalhaes QUALIFIED
Ivar D GillianIndiaXuxue Feng QUALIFIED
Jefferson P ChuiFranceAmy Elsner RENEWAL
James J CaldareraArgentinaAmy Elsner QUALIFIED
Julie F ButtSpainBernardo Dominic NEGOTIATION
Arvin P MaletFranceStephen Shaw UNQUALIFIED
David N MaletGermanyIvan Magalhaes QUALIFIED
Misaki D CampainBrazilOnyama Limba NEGOTIATION
James B VocelkaSpainOnyama Limba NEW
Cody W GillianGermanyIvan Magalhaes NEGOTIATION
Stacey V WieserUnited KingdomElwin Sharvill NEGOTIATION
Silvio N BriddickCanadaElwin Sharvill RENEWAL
Francesco T PoquetteIndiaIvan Magalhaes NEGOTIATION
Mujtaba E PerinRussiaAsiya Javayant NEGOTIATION
Leja W CampainUnited KingdomBernardo Dominic NEW
Munro B KuskoJapanXuxue Feng NEW
Antonio U IturbideBrazilIvan Magalhaes NEW
Nicolas V MorascaBrazilElwin Sharvill RENEWAL
Jefferson A StockhamItalyOnyama Limba NEGOTIATION
Tony U TollnerBrazilXuxue Feng UNQUALIFIED
Cody S MorascaBrazilOnyama Limba NEGOTIATION
Julie W InouyeUnited KingdomXuxue Feng NEGOTIATION

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