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
Jennifer W BologniaFranceBernardo Dominic NEGOTIATION
Chavez G NickaUnited KingdomAnna Fali QUALIFIED
Morrow M FollerBrazilXuxue Feng QUALIFIED
Juan I GauchoIndiaAmy Elsner PROPOSAL
Mayumi F MacleadSpainElwin Sharvill PROPOSAL
Adams R FlosiUnited KingdomStephen Shaw QUALIFIED
Francesco P BowleyItalyXuxue Feng QUALIFIED
Wickens B AmigonUnited KingdomAsiya Javayant QUALIFIED
Costa H DoeJapanStephen Shaw RENEWAL
Smith T StensethIndiaXuxue Feng RENEWAL
Jones C WieserSpainXuxue Feng PROPOSAL
Jeanfrancois U CaudyArgentinaElwin Sharvill NEGOTIATION
Greenwood O FollerItalyXuxue Feng UNQUALIFIED
Costa O RulapaughArgentinaElwin Sharvill RENEWAL
Ivar M MaletGermanyElwin Sharvill RENEWAL
Rodrigues N GarufiAustraliaBernardo Dominic NEW
Mayumi Z PerinBrazilIvan Magalhaes QUALIFIED
Clifford H FerenczFranceBernardo Dominic PROPOSAL
David W MaletUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas Z MorascaCanadaAsiya Javayant UNQUALIFIED
Jones F AlbaresUnited KingdomBernardo Dominic RENEWAL
Kadeem S WaycottSpainAmy Elsner UNQUALIFIED
Aika R MaletAustraliaBernardo Dominic UNQUALIFIED
Isabel J MorascaArgentinaAmy Elsner UNQUALIFIED
Silvio X AmigonBrazilIvan Magalhaes QUALIFIED
Chavez K DarakjyRussiaIvan Magalhaes QUALIFIED
Leon S DoeAustraliaXuxue Feng NEW
Munro M WieserArgentinaOnyama Limba PROPOSAL
Ashley W MaletArgentinaAnna Fali NEW
David A InouyeJapanXuxue Feng NEW
Octavia I FerenczIndiaOnyama Limba UNQUALIFIED
Stacey C CampainIndiaBernardo Dominic QUALIFIED
Izzy E GlickItalyAmy Elsner NEGOTIATION
David E SaylorsAustraliaAnna Fali PROPOSAL
Mujtaba O StockhamRussiaIoni Bowcher NEW
Francesco C FigeroaCanadaAsiya Javayant RENEWAL
Faith J GarufiRussiaAmy Elsner PROPOSAL
Smith B SchemmerArgentinaElwin Sharvill NEGOTIATION
Aika F RulapaughArgentinaStephen Shaw UNQUALIFIED
Chavez E GillianIndiaAsiya Javayant NEGOTIATION
Octavia R BowleyCanadaAmy Elsner QUALIFIED
Izzy P KuskoAustraliaIvan Magalhaes PROPOSAL
Arvin T ChuiCanadaIoni Bowcher NEW
Antonio T RimAustraliaAsiya Javayant UNQUALIFIED
Jefferson F RulapaughUnited KingdomElwin Sharvill RENEWAL
Johnson D RoysterJapanBernardo Dominic PROPOSAL
David Z SergiUnited KingdomAnna Fali NEW
Ricardo M FlosiUnited KingdomBernardo Dominic NEGOTIATION
Darci X MarrierRussiaAsiya Javayant QUALIFIED
Maria E KuskoJapanAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leja L AlbaresCanadaAnna Fali UNQUALIFIED
Ricardo S RimGermanyAnna Fali UNQUALIFIED
Mujtaba K AmigonIndiaStephen Shaw NEW
Julie W RulapaughArgentinaBernardo Dominic RENEWAL
Faith X IturbideSpainIoni Bowcher RENEWAL
Wickens D VenereSpainElwin Sharvill RENEWAL
Kaitlin M AmigonGermanyIvan Magalhaes UNQUALIFIED
Maria Q ButtFranceElwin Sharvill NEGOTIATION
Maisha P DarakjyCanadaIoni Bowcher PROPOSAL
Jones H VenereAustraliaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood Q CaldareraFrance2024-05-02Rangoni Of Florence PROPOSAL56Ivan Magalhaes
1001Chavez E VocelkaIndia2024-05-23Chapman, Ross E Esq NEW93Amy Elsner
1002Clifford S GarufiRussia2024-04-29Truhlar And Truhlar Attys QUALIFIED41Anna Fali
1003Jennifer S MarrierSpain2024-05-02Buckley Miller Wright NEGOTIATION88Bernardo Dominic
1004Cody E IturbideGermany2024-05-21Truhlar And Truhlar Attys PROPOSAL48Anna Fali
1005Alejandro A BologniaGermany2024-05-09Printing Dimensions NEW66Xuxue Feng
1006David R AlbaresUnited Kingdom2024-05-02Printing Dimensions UNQUALIFIED83Onyama Limba
1007Faith H RutaUnited Kingdom2024-05-05Chapman, Ross E Esq NEW84Stephen Shaw
1008Morrow I SchemmerItaly2024-05-07King, Christopher A Esq PROPOSAL87Amy Elsner
1009Adams T GlickRussia2024-04-29Dorl, James J Esq PROPOSAL1Elwin Sharvill
1010Chavez B GillianItaly2024-05-05Printing Dimensions NEGOTIATION50Stephen Shaw
1011Cody K FlosiJapan2024-05-19Chapman, Ross E Esq PROPOSAL79Asiya Javayant
1012Faith E KuskoJapan2024-05-12Rangoni Of Florence RENEWAL68Ioni Bowcher
1013Maria J WieserArgentina2024-04-24Buckley Miller Wright PROPOSAL72Xuxue Feng
1014Isabel W DoeRussia2024-05-22Morlong Associates QUALIFIED12Elwin Sharvill
1015Aditya P SergiBrazil2024-05-22Dorl, James J Esq QUALIFIED40Onyama Limba
1016Kadeem F ChuiUnited Kingdom2024-05-17Morlong Associates RENEWAL96Asiya Javayant
1017Antonio E WaycottArgentina2024-05-13Commercial Press RENEWAL64Stephen Shaw
1018Jennifer Q InouyeArgentina2024-05-10Buckley Miller Wright QUALIFIED8Ioni Bowcher
1019Murillo O WaycottArgentina2024-05-16Feiner Bros RENEWAL96Ioni Bowcher
1020Emily M GillianJapan2024-05-16Rousseaux, Michael Esq NEGOTIATION72Onyama Limba
1021Wickens F ButtSpain2024-05-18Rousseaux, Michael Esq PROPOSAL66Bernardo Dominic
1022Costa Q PoquetteUnited Kingdom2024-05-05Rangoni Of Florence UNQUALIFIED76Xuxue Feng
1023Aruna D CaudyJapan2024-05-13Rousseaux, Michael Esq NEGOTIATION33Asiya Javayant
1024David V PoquetteSpain2024-05-14Benton, John B Jr RENEWAL31Amy Elsner
1025Silvio B MaletCanada2024-05-22Rousseaux, Michael Esq RENEWAL0Elwin Sharvill
1026Francesco T ChuiItaly2024-04-25Chapman, Ross E Esq NEW13Ioni Bowcher
1027Ashley V BologniaArgentina2024-05-23Buckley Miller Wright RENEWAL30Elwin Sharvill
1028Aditya A KolmetzArgentina2024-05-03King, Christopher A Esq NEGOTIATION81Bernardo Dominic
1029Emily L FollerAustralia2024-04-25Chemel, James L Cpa PROPOSAL55Ivan Magalhaes
1030Leja Z BologniaSpain2024-05-19Feiner Bros QUALIFIED20Asiya Javayant
1031Jeanfrancois L KuskoSpain2024-05-06Chemel, James L Cpa NEGOTIATION41Ivan Magalhaes
1032Chavez B AlbaresRussia2024-05-07King, Christopher A Esq QUALIFIED99Ioni Bowcher
1033Munro S KolmetzGermany2024-05-22Feiner Bros QUALIFIED65Amy Elsner
1034Darci M SaylorsBrazil2024-04-30Feltz Printing Service NEGOTIATION22Xuxue Feng
1035Silvio Q StensethUnited Kingdom2024-05-06Printing Dimensions QUALIFIED14Anna Fali
1036Darci M IturbideItaly2024-05-10Truhlar And Truhlar Attys PROPOSAL35Elwin Sharvill
1037Darci Y SchemmerSpain2024-05-14King, Christopher A Esq UNQUALIFIED67Ivan Magalhaes
1038Morrow P NestleIndia2024-05-15Chanay, Jeffrey A Esq UNQUALIFIED35Asiya Javayant
1039Arvin H VocelkaBrazil2024-04-28Chemel, James L Cpa PROPOSAL87Ioni Bowcher
1040Darci H GillianItaly2024-05-06Chapman, Ross E Esq NEGOTIATION72Onyama Limba
1041Antonio Y GlickGermany2024-04-29Buckley Miller Wright NEGOTIATION41Amy Elsner
1042Ivar G MacleadJapan2024-05-02Dorl, James J Esq RENEWAL63Amy Elsner
1043Mujtaba W BowleyJapan2024-05-16King, Christopher A Esq NEGOTIATION68Elwin Sharvill
1044Arvin Z IturbideRussia2024-05-21Feltz Printing Service NEGOTIATION31Ivan Magalhaes
1045Greenwood R DoeGermany2024-05-16Morlong Associates RENEWAL63Anna Fali
1046Johnson F DarakjyUnited Kingdom2024-05-20Feiner Bros UNQUALIFIED19Anna Fali
1047Faith P FerenczSpain2024-05-21Feltz Printing Service UNQUALIFIED8Bernardo Dominic
1048Julie S StensethGermany2024-04-25Printing Dimensions RENEWAL28Bernardo Dominic
1049Aditya J GillianAustralia2024-05-03Morlong Associates NEGOTIATION45Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Misaki Q FerenczRussiaIoni Bowcher NEW
Francesco J CaudyAustraliaAmy Elsner RENEWAL
Antonio Y BowleyJapanAsiya Javayant RENEWAL
Maisha N MorascaAustraliaAnna Fali UNQUALIFIED
Leon A VocelkaArgentinaIoni Bowcher NEW
Maisha K SaylorsBrazilIoni Bowcher RENEWAL
Maria P FollerAustraliaXuxue Feng UNQUALIFIED
Ivar E WhobreyGermanyBernardo Dominic PROPOSAL
Izzy Z NickaIndiaOnyama Limba PROPOSAL
Smith O PoquetteSpainElwin Sharvill NEW
Cody W DarakjySpainAmy Elsner PROPOSAL
Chavez J SaylorsRussiaAsiya Javayant NEGOTIATION
Aika X RutaBrazilOnyama Limba NEW
Aditya R IturbideAustraliaAmy Elsner RENEWAL
Clifford G RimSpainIoni Bowcher NEGOTIATION
Murillo Q VenereJapanOnyama Limba RENEWAL
Leja L RulapaughArgentinaAmy Elsner NEGOTIATION
Alejandro M BriddickRussiaIvan Magalhaes NEW
Isabel O RimCanadaAmy Elsner NEW
Aditya J PaprockiFranceOnyama Limba NEW
Juan M CaudyIndiaAmy Elsner QUALIFIED
Aditya I MorascaGermanyOnyama Limba PROPOSAL
Maisha P GlickCanadaElwin Sharvill NEGOTIATION
Murillo O PaprockiRussiaAmy Elsner RENEWAL
Adams Q KolmetzSpainIvan Magalhaes NEW
Deepesh H CaldareraAustraliaElwin Sharvill QUALIFIED
Isabel N OldroydJapanOnyama Limba UNQUALIFIED
Mujtaba X BologniaSpainAmy Elsner NEGOTIATION
Jones D GauchoRussiaAnna Fali RENEWAL
Smith D ChuiFranceIoni Bowcher NEGOTIATION
Murillo M WhobreyBrazilAmy Elsner RENEWAL
Darci N VocelkaSpainIvan Magalhaes RENEWAL
Aika C OstroskyArgentinaXuxue Feng NEW
Munro O StockhamRussiaIvan Magalhaes QUALIFIED
Ashley X ChuiRussiaBernardo Dominic RENEWAL
Silvio T MaletRussiaAnna Fali NEGOTIATION
Sinclair L BriddickAustraliaIoni Bowcher RENEWAL
Octavia D DarakjyFranceAnna Fali UNQUALIFIED
Kaitlin L MarrierJapanXuxue Feng NEGOTIATION
Maria C NickaJapanIvan Magalhaes NEGOTIATION
Octavia A RulapaughCanadaIvan Magalhaes NEW
Stacey S ShinkoJapanXuxue Feng QUALIFIED
Ivar L MaletIndiaIvan Magalhaes UNQUALIFIED
Juan X RimSpainIvan Magalhaes QUALIFIED
Rodrigues U AlbaresIndiaIoni Bowcher QUALIFIED
Kaitlin S KolmetzIndiaAsiya Javayant NEW
Sinclair O SlusarskiSpainIoni Bowcher NEW
Misaki J BriddickBrazilAnna Fali QUALIFIED
Leon Y PerinItalyStephen Shaw RENEWAL
Isabel B IturbideUnited KingdomAnna Fali NEGOTIATION
Frozen Columns
Name
Smith P Flosi
Tony B Bowley
Kaitlin O Wieser
Deepesh S Tollner
Cody I Iturbide
Ivar B Doe
Leja D Garufi
Clifford U Kusko
Silvio Y Kolmetz
Darci W Flosi
Maria K Inouye
Leja Q Rulapaugh
Greenwood Z Nestle
Kaitlin O Rulapaugh
Claire N Poquette
Rodrigues Y Morasca
Kaitlin X Ostrosky
Claire B Ferencz
Morrow Q Perin
Leon H Albares
Darci S Doe
Octavia X Poquette
Leja B Nicka
Cody C Poquette
Tony B Garufi
Ashley U Ruta
Arvin C Sergi
Costa N Ferencz
Aditya J Nestle
Salvatore C Kusko
Juan H Royster
Jennifer V Saylors
Ricardo Y Iturbide
Aruna P Malet
Leja A Maclead
Clifford S Schemmer
Jennifer D Garufi
David U Waycott
Jeanfrancois C Slusarski
Maria R Whobrey
Maisha K Venere
Leja N Briddick
Maria M Nestle
Jefferson K Foller
Cody F Glick
Deepesh P Vocelka
Misaki Z Sergi
Sinclair Q Caldarera
Salvatore D Garufi
Tony H Figeroa
IdCountryDate
1000France2024-04-25
1001France2024-05-18
1002France2024-05-01
1003Germany2024-04-30
1004Japan2024-05-22
1005Australia2024-05-14
1006Brazil2024-04-28
1007Russia2024-05-18
1008Japan2024-05-10
1009Canada2024-05-10
1010Brazil2024-04-27
1011France2024-05-02
1012Argentina2024-05-09
1013Canada2024-05-12
1014Argentina2024-05-10
1015India2024-05-11
1016Italy2024-04-29
1017Brazil2024-05-12
1018Germany2024-05-21
1019United Kingdom2024-05-04
1020Brazil2024-05-23
1021Argentina2024-05-06
1022Spain2024-05-08
1023Japan2024-04-28
1024Spain2024-05-06
1025Spain2024-05-12
1026Brazil2024-05-01
1027Germany2024-05-04
1028Japan2024-04-25
1029Japan2024-04-25
1030France2024-04-29
1031Spain2024-04-30
1032Argentina2024-05-11
1033India2024-05-03
1034Spain2024-04-27
1035Italy2024-04-25
1036Italy2024-05-13
1037Germany2024-05-23
1038Spain2024-05-16
1039Russia2024-04-30
1040Italy2024-05-14
1041India2024-05-06
1042Argentina2024-05-16
1043Italy2024-05-05
1044Japan2024-05-01
1045Australia2024-05-12
1046India2024-04-24
1047Canada2024-04-30
1048Canada2024-04-30
1049United Kingdom2024-05-03

On-Demand Data

NameIdCountryDate
Alejandro Q Paprocki1000India2024-05-01
Jeanfrancois K Malet1001India2024-05-03
Munro M Ostrosky1002France2024-05-15
Kaitlin C Whobrey1003India2024-05-07
Isabel W Sergi1004Italy2024-05-07
Jeanfrancois C Butt1005India2024-05-10
Ashley B Rulapaugh1006Australia2024-05-20
Ivar J Ruta1007United Kingdom2024-05-03
Silvio R Bolognia1008Canada2024-04-26
Maisha A Slusarski1009India2024-04-29
Adams F Paprocki1010Canada2024-05-01
Morrow T Stenseth1011Spain2024-04-25
Nicolas A Figeroa1012Italy2024-05-22
David T Whobrey1013Argentina2024-05-10
Mayumi M Malet1014Spain2024-05-23
Rodrigues U Ostrosky1015Japan2024-05-01
Jefferson V Butt1016France2024-05-10
Claire Z Iturbide1017Italy2024-05-21
Stacey C Waycott1018Canada2024-05-21
Deepesh J Shinko1019Canada2024-05-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar S SlusarskiBrazilElwin Sharvill NEW
Ashley R WieserCanadaAnna Fali NEGOTIATION
Stacey W SchemmerFranceIvan Magalhaes NEGOTIATION
Antonio X AmigonUnited KingdomAnna Fali RENEWAL
Ivar M AmigonJapanIvan Magalhaes PROPOSAL
Isabel X NickaArgentinaAnna Fali UNQUALIFIED
Claire F MaletRussiaIvan Magalhaes UNQUALIFIED
Ricardo N ButtGermanyAsiya Javayant RENEWAL
Misaki X WhobreyGermanyElwin Sharvill NEGOTIATION
Munro L DoeSpainAnna Fali UNQUALIFIED
Johnson T MacleadAustraliaIoni Bowcher UNQUALIFIED
Aika C MaletIndiaIvan Magalhaes PROPOSAL
Rodrigues X TollnerCanadaStephen Shaw NEGOTIATION
Cody M MarrierFranceAsiya Javayant UNQUALIFIED
Emily S GlickJapanIoni Bowcher QUALIFIED
Maisha T OldroydAustraliaBernardo Dominic NEW
Alejandro E GlickGermanyAnna Fali RENEWAL
Wickens Q BowleyBrazilStephen Shaw NEGOTIATION
Jefferson L BriddickFranceIvan Magalhaes UNQUALIFIED
Aika X DarakjyItalyOnyama Limba RENEWAL
Stacey A MacleadSpainIvan Magalhaes UNQUALIFIED
Ricardo J MaletGermanyAmy Elsner RENEWAL
David V FerenczBrazilXuxue Feng PROPOSAL
Jeanfrancois R BriddickRussiaStephen Shaw UNQUALIFIED
Costa J KuskoCanadaAmy Elsner NEGOTIATION
Arvin W KuskoArgentinaAnna Fali PROPOSAL
Aditya J WaycottItalyIvan Magalhaes UNQUALIFIED
Aruna Q TollnerUnited KingdomIoni Bowcher RENEWAL
Juan O RutaSpainIoni Bowcher NEW
Ashley B MorascaBrazilElwin Sharvill UNQUALIFIED
Costa M MacleadFranceOnyama Limba RENEWAL
Jeanfrancois Z GlickItalyStephen Shaw RENEWAL
Ricardo V WhobreyFranceXuxue Feng NEGOTIATION
Mayumi F TollnerGermanyElwin Sharvill RENEWAL
Salvatore Z ButtIndiaBernardo Dominic UNQUALIFIED
Aika K CaudyBrazilBernardo Dominic UNQUALIFIED
Costa Y ButtGermanyXuxue Feng PROPOSAL
Morrow Y DarakjyGermanyAnna Fali NEGOTIATION
Wickens S ShinkoRussiaAmy Elsner NEGOTIATION
Cody O DilliardGermanyAsiya Javayant QUALIFIED

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