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
Greenwood K SergiArgentinaStephen Shaw QUALIFIED
Claire D MorascaRussiaBernardo Dominic QUALIFIED
Octavia H StensethSpainAmy Elsner NEW
Leon Y MaletArgentinaAmy Elsner NEGOTIATION
Jeanfrancois L KuskoItalyIoni Bowcher NEGOTIATION
Francesco A MaletRussiaStephen Shaw NEW
Rodrigues W ChuiUnited KingdomBernardo Dominic QUALIFIED
Johnson I RulapaughFranceXuxue Feng UNQUALIFIED
Izzy R VenereAustraliaElwin Sharvill UNQUALIFIED
Alejandro L GarufiItalyAsiya Javayant NEGOTIATION
Maria R TollnerJapanAmy Elsner PROPOSAL
Silvio Q BologniaSpainStephen Shaw PROPOSAL
Aruna N BriddickJapanAsiya Javayant RENEWAL
Leon T GauchoBrazilXuxue Feng RENEWAL
Julie E GlickGermanyBernardo Dominic PROPOSAL
Octavia F FerenczBrazilElwin Sharvill NEGOTIATION
Jefferson Q BriddickAustraliaBernardo Dominic UNQUALIFIED
Ashley X GauchoJapanAsiya Javayant PROPOSAL
Izzy V FerenczFranceIoni Bowcher UNQUALIFIED
Jeanfrancois G OldroydIndiaAnna Fali NEW
Ashley C SergiGermanyElwin Sharvill UNQUALIFIED
Costa L MaletUnited KingdomXuxue Feng UNQUALIFIED
Francesco Y IturbideArgentinaAmy Elsner QUALIFIED
Wickens W FollerItalyIvan Magalhaes NEGOTIATION
Jones N KolmetzIndiaOnyama Limba QUALIFIED
Alejandro M StensethGermanyIoni Bowcher NEGOTIATION
Cody L ShinkoBrazilAsiya Javayant PROPOSAL
Wickens V MorascaCanadaAsiya Javayant PROPOSAL
Antonio Z SergiItalyOnyama Limba RENEWAL
Aditya H OstroskyIndiaOnyama Limba NEGOTIATION
Costa S NestleGermanyAsiya Javayant NEGOTIATION
Smith N MaletRussiaOnyama Limba UNQUALIFIED
Emily S KolmetzJapanIvan Magalhaes QUALIFIED
Francesco J RoysterAustraliaElwin Sharvill UNQUALIFIED
James T GlickArgentinaIvan Magalhaes QUALIFIED
Aditya G BriddickCanadaStephen Shaw QUALIFIED
Arvin C BriddickGermanyXuxue Feng PROPOSAL
Jefferson A AmigonItalyElwin Sharvill NEW
Mayumi W OldroydAustraliaAnna Fali NEW
Faith L BologniaGermanyElwin Sharvill RENEWAL
Murillo Z ChuiBrazilIvan Magalhaes RENEWAL
Greenwood L SaylorsSpainBernardo Dominic RENEWAL
Kadeem Y SergiItalyAmy Elsner NEGOTIATION
Wickens N RoysterArgentinaOnyama Limba RENEWAL
Misaki O ButtAustraliaAsiya Javayant QUALIFIED
Octavia S AlbaresSpainXuxue Feng UNQUALIFIED
Maria X StockhamCanadaIvan Magalhaes QUALIFIED
Aika A TollnerJapanAmy Elsner UNQUALIFIED
Maria T GauchoItalyAnna Fali NEW
Maria K SlusarskiFranceOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa M KuskoArgentinaXuxue Feng NEW
Aditya A BologniaArgentinaStephen Shaw RENEWAL
Aruna Q GauchoItalyAmy Elsner NEGOTIATION
Munro Q AmigonCanadaXuxue Feng RENEWAL
Isabel T SergiRussiaIvan Magalhaes UNQUALIFIED
David Z GlickArgentinaBernardo Dominic NEW
Arvin H BowleyJapanBernardo Dominic QUALIFIED
Claire G WieserBrazilAsiya Javayant RENEWAL
Silvio R GauchoCanadaIoni Bowcher NEGOTIATION
Smith F VenereIndiaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow R RimSpain2024-06-19Chapman, Ross E Esq RENEWAL69Bernardo Dominic
1001Ivar E ShinkoSpain2024-05-30Morlong Associates PROPOSAL6Xuxue Feng
1002Wickens W MaletArgentina2024-05-31Chanay, Jeffrey A Esq QUALIFIED61Onyama Limba
1003Aruna X InouyeCanada2024-06-15Chemel, James L Cpa PROPOSAL2Xuxue Feng
1004Rodrigues F FerenczArgentina2024-06-05Morlong Associates UNQUALIFIED49Ivan Magalhaes
1005Stacey I DilliardFrance2024-06-15Dorl, James J Esq UNQUALIFIED56Bernardo Dominic
1006Jefferson V VocelkaBrazil2024-06-02Chemel, James L Cpa UNQUALIFIED33Bernardo Dominic
1007Izzy B MarrierFrance2024-05-27Truhlar And Truhlar Attys UNQUALIFIED59Asiya Javayant
1008Mujtaba H BriddickGermany2024-06-20Dorl, James J Esq NEW26Ivan Magalhaes
1009Kaitlin G GlickUnited Kingdom2024-06-07Feltz Printing Service NEGOTIATION49Bernardo Dominic
1010Francesco W BowleySpain2024-06-14Chemel, James L Cpa NEGOTIATION67Ioni Bowcher
1011Kadeem O GarufiAustralia2024-06-13Rousseaux, Michael Esq UNQUALIFIED88Onyama Limba
1012Aditya Z MacleadItaly2024-06-03Printing Dimensions NEGOTIATION89Ivan Magalhaes
1013Ivar T MarrierArgentina2024-05-31Truhlar And Truhlar Attys NEW84Stephen Shaw
1014Francesco Q GillianSpain2024-06-19Chapman, Ross E Esq NEGOTIATION46Ivan Magalhaes
1015Ivar J ButtIndia2024-06-07Chemel, James L Cpa NEW95Amy Elsner
1016Sinclair L KolmetzFrance2024-06-19Buckley Miller Wright NEGOTIATION66Bernardo Dominic
1017Cody T TollnerRussia2024-06-23Feiner Bros NEW71Stephen Shaw
1018Wickens N WhobreyArgentina2024-05-29Chemel, James L Cpa NEGOTIATION12Elwin Sharvill
1019Alejandro X BriddickGermany2024-06-23Buckley Miller Wright PROPOSAL71Ivan Magalhaes
1020Maria A CaldareraJapan2024-05-31Truhlar And Truhlar Attys NEGOTIATION72Ivan Magalhaes
1021Chavez X DarakjySpain2024-05-29Buckley Miller Wright NEW95Anna Fali
1022David Z MacleadRussia2024-06-12Printing Dimensions UNQUALIFIED33Bernardo Dominic
1023Nicolas U SlusarskiIndia2024-06-16Rangoni Of Florence QUALIFIED6Ivan Magalhaes
1024Claire L MacleadCanada2024-05-26Commercial Press RENEWAL43Ioni Bowcher
1025Johnson N RutaGermany2024-06-17Benton, John B Jr NEW92Asiya Javayant
1026Chavez P RulapaughBrazil2024-06-16Chapman, Ross E Esq PROPOSAL6Anna Fali
1027Alejandro K PerinIndia2024-06-24Benton, John B Jr PROPOSAL85Xuxue Feng
1028Silvio Q SaylorsArgentina2024-06-08Rangoni Of Florence QUALIFIED78Asiya Javayant
1029Claire U RutaUnited Kingdom2024-06-04Buckley Miller Wright NEGOTIATION48Xuxue Feng
1030Cody I SaylorsArgentina2024-06-04Feiner Bros NEGOTIATION49Xuxue Feng
1031Mujtaba Q VenereIndia2024-05-27King, Christopher A Esq PROPOSAL99Ivan Magalhaes
1032Munro U MorascaItaly2024-06-14Chapman, Ross E Esq NEGOTIATION74Xuxue Feng
1033Darci Z FlosiGermany2024-06-16Dorl, James J Esq NEGOTIATION11Bernardo Dominic
1034Emily L StensethBrazil2024-05-30Dorl, James J Esq PROPOSAL93Anna Fali
1035Stacey Y GillianCanada2024-05-31Morlong Associates PROPOSAL53Anna Fali
1036Chavez F ChuiSpain2024-06-23Chapman, Ross E Esq NEGOTIATION17Onyama Limba
1037Cody V BriddickUnited Kingdom2024-06-06Feiner Bros QUALIFIED54Ivan Magalhaes
1038Mujtaba G DilliardFrance2024-06-15Feiner Bros NEW30Onyama Limba
1039Emily I NestleUnited Kingdom2024-06-09Feltz Printing Service QUALIFIED74Bernardo Dominic
1040Munro T CaudyJapan2024-06-04Chemel, James L Cpa RENEWAL22Anna Fali
1041Antonio G AlbaresItaly2024-05-30Morlong Associates RENEWAL60Ioni Bowcher
1042Wickens D KolmetzIndia2024-06-14Chemel, James L Cpa NEGOTIATION37Amy Elsner
1043Murillo A ChuiBrazil2024-06-03Chemel, James L Cpa QUALIFIED98Asiya Javayant
1044Deepesh Z WhobreyJapan2024-06-05Commercial Press QUALIFIED15Ivan Magalhaes
1045Silvio P IturbideGermany2024-05-26Chapman, Ross E Esq PROPOSAL0Onyama Limba
1046Costa J VenereSpain2024-06-03King, Christopher A Esq NEGOTIATION4Anna Fali
1047Aditya Q FigeroaCanada2024-06-22Rousseaux, Michael Esq UNQUALIFIED77Asiya Javayant
1048Darci N NickaSpain2024-06-02Commercial Press RENEWAL39Asiya Javayant
1049Deepesh R ChuiBrazil2024-06-14Feiner Bros RENEWAL43Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Misaki B WieserArgentinaIvan Magalhaes RENEWAL
Claire S MaletBrazilAnna Fali UNQUALIFIED
Stacey F WhobreyJapanIvan Magalhaes QUALIFIED
Johnson P MarrierJapanStephen Shaw UNQUALIFIED
Isabel K MacleadJapanAmy Elsner RENEWAL
Rodrigues E WhobreyJapanStephen Shaw RENEWAL
Juan T DoeFranceStephen Shaw QUALIFIED
Isabel Y RimArgentinaXuxue Feng UNQUALIFIED
Salvatore P PaprockiCanadaBernardo Dominic UNQUALIFIED
Aditya H StensethIndiaOnyama Limba QUALIFIED
Mujtaba U WieserItalyAnna Fali UNQUALIFIED
Maisha Q FollerItalyIoni Bowcher RENEWAL
Claire G SaylorsFranceXuxue Feng NEW
Silvio O MarrierAustraliaAnna Fali PROPOSAL
David Q ChuiBrazilXuxue Feng RENEWAL
Adams H AmigonArgentinaAmy Elsner QUALIFIED
Greenwood H MorascaItalyOnyama Limba UNQUALIFIED
Johnson P PerinArgentinaOnyama Limba QUALIFIED
Chavez X PaprockiItalyIvan Magalhaes NEGOTIATION
Ivar F WhobreyAustraliaOnyama Limba RENEWAL
Mujtaba U BowleyBrazilElwin Sharvill PROPOSAL
Jefferson L ChuiBrazilAnna Fali RENEWAL
David G MacleadCanadaXuxue Feng PROPOSAL
Nicolas N BriddickGermanyOnyama Limba PROPOSAL
Mayumi F PaprockiIndiaStephen Shaw NEW
Kadeem O VenereSpainAsiya Javayant UNQUALIFIED
Morrow V GlickUnited KingdomAmy Elsner RENEWAL
Mujtaba M MaletBrazilIvan Magalhaes RENEWAL
Aika T DoeAustraliaXuxue Feng UNQUALIFIED
Nicolas U PoquetteBrazilAmy Elsner UNQUALIFIED
Aika P RutaRussiaIoni Bowcher QUALIFIED
Arvin Z VocelkaUnited KingdomAnna Fali PROPOSAL
Sinclair Q PerinBrazilAmy Elsner NEGOTIATION
Deepesh V MarrierArgentinaBernardo Dominic NEGOTIATION
Izzy L GillianJapanXuxue Feng NEW
James D FollerCanadaBernardo Dominic PROPOSAL
Izzy K OldroydUnited KingdomOnyama Limba NEGOTIATION
Mayumi D DarakjyArgentinaStephen Shaw RENEWAL
Juan P IturbideAustraliaAsiya Javayant QUALIFIED
Leja J GlickFranceStephen Shaw QUALIFIED
Juan A ChuiUnited KingdomAsiya Javayant PROPOSAL
Kadeem D OstroskySpainOnyama Limba NEGOTIATION
Wickens G RulapaughCanadaBernardo Dominic NEGOTIATION
Claire G MorascaUnited KingdomAsiya Javayant PROPOSAL
Rodrigues A GauchoSpainXuxue Feng QUALIFIED
Juan Y StensethArgentinaStephen Shaw UNQUALIFIED
Jeanfrancois I OstroskyArgentinaOnyama Limba QUALIFIED
Johnson S BowleyIndiaElwin Sharvill PROPOSAL
Antonio G ShinkoArgentinaAnna Fali PROPOSAL
Smith V KolmetzUnited KingdomIoni Bowcher NEW
Frozen Columns
Name
Ivar M Vocelka
Johnson Z Malet
Munro V Perin
Chavez G Inouye
Rodrigues N Glick
Ashley N Vocelka
Antonio O Stenseth
Leon W Rulapaugh
Cody B Bowley
Salvatore Z Rulapaugh
Rodrigues D Kusko
Francesco P Foller
Ricardo Z Sergi
Rodrigues V Royster
Kadeem Z Figeroa
Silvio P Kusko
Darci Y Rulapaugh
Faith F Perin
Jones U Nicka
Maisha Y Ostrosky
Cody M Rim
Maisha D Campain
Alejandro D Chui
Alejandro F Kolmetz
Cody M Ruta
Leon O Sergi
Ivar V Wieser
Octavia W Stenseth
Clifford C Stockham
Chavez Q Bowley
Octavia D Dilliard
Nicolas D Maclead
James H Ostrosky
Ivar O Rulapaugh
James F Oldroyd
Wickens T Foller
Smith M Inouye
Aruna W Iturbide
Arvin R Chui
Clifford V Inouye
Jennifer P Bolognia
Greenwood H Foller
Aruna O Briddick
Francesco M Venere
David Q Maclead
Aika X Nestle
Munro I Briddick
Aika J Marrier
Jones X Caldarera
Clifford X Marrier
IdCountryDate
1000Germany2024-06-22
1001Spain2024-06-05
1002Russia2024-05-31
1003India2024-06-24
1004Australia2024-06-03
1005France2024-06-07
1006Italy2024-06-22
1007Germany2024-05-29
1008India2024-06-08
1009Canada2024-06-15
1010India2024-06-19
1011Canada2024-06-02
1012India2024-06-06
1013Argentina2024-06-24
1014Spain2024-06-20
1015United Kingdom2024-05-27
1016India2024-06-01
1017Italy2024-05-29
1018Russia2024-06-23
1019Italy2024-06-21
1020Canada2024-06-04
1021Spain2024-05-29
1022France2024-06-07
1023Australia2024-05-31
1024Brazil2024-05-31
1025Japan2024-06-07
1026Spain2024-05-28
1027Germany2024-06-02
1028Brazil2024-06-09
1029France2024-06-15
1030Australia2024-05-30
1031Germany2024-06-19
1032Spain2024-05-31
1033France2024-06-04
1034France2024-06-05
1035Brazil2024-06-13
1036Spain2024-06-20
1037India2024-05-26
1038France2024-06-13
1039Australia2024-06-05
1040France2024-06-06
1041Russia2024-05-31
1042Canada2024-06-12
1043India2024-06-06
1044Japan2024-06-19
1045Argentina2024-06-11
1046India2024-05-29
1047Argentina2024-06-15
1048Argentina2024-06-14
1049Italy2024-06-19

On-Demand Data

NameIdCountryDate
David K Stenseth1000India2024-06-03
Mayumi Q Campain1001Canada2024-06-02
Julie O Rim1002Australia2024-06-07
Leja V Poquette1003Germany2024-06-04
Tony W Ferencz1004Argentina2024-06-18
Costa D Figeroa1005Russia2024-06-14
Mayumi B Briddick1006India2024-06-17
Jeanfrancois J Ferencz1007United Kingdom2024-05-31
Nicolas B Bowley1008Brazil2024-06-03
Francesco B Nestle1009Japan2024-06-07
James K Vocelka1010Japan2024-06-23
Mujtaba B Glick1011France2024-06-01
Maisha C Whobrey1012Brazil2024-06-16
Izzy A Saylors1013Italy2024-06-15
David H Flosi1014United Kingdom2024-05-26
Aika R Shinko1015India2024-06-23
Tony H Marrier1016Spain2024-06-24
Chavez Z Paprocki1017Argentina2024-05-27
Julie R Saylors1018Russia2024-05-31
Emily M Venere1019Argentina2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin K DoeUnited KingdomBernardo Dominic RENEWAL
Ivar I CaudyUnited KingdomBernardo Dominic RENEWAL
Ashley B NestleSpainAnna Fali NEW
Adams H GarufiFranceAnna Fali RENEWAL
Jeanfrancois X CaudyFranceIoni Bowcher PROPOSAL
Clifford O StensethJapanBernardo Dominic NEGOTIATION
James S StockhamSpainStephen Shaw NEGOTIATION
Silvio G SergiSpainAmy Elsner QUALIFIED
Claire J OstroskyAustraliaXuxue Feng UNQUALIFIED
Deepesh X DilliardArgentinaBernardo Dominic NEGOTIATION
Isabel R VenereAustraliaOnyama Limba NEGOTIATION
Greenwood L GarufiIndiaAsiya Javayant NEGOTIATION
Emily J NickaArgentinaBernardo Dominic UNQUALIFIED
Stacey W RutaUnited KingdomXuxue Feng UNQUALIFIED
Munro I GauchoFranceAmy Elsner UNQUALIFIED
Antonio Z MacleadIndiaXuxue Feng NEGOTIATION
Francesco L SchemmerGermanyOnyama Limba NEGOTIATION
Adams U VocelkaArgentinaXuxue Feng PROPOSAL
Darci C RimSpainIoni Bowcher QUALIFIED
Mujtaba T IturbideSpainOnyama Limba QUALIFIED
Jennifer S KolmetzItalyAmy Elsner PROPOSAL
Mayumi D CaldareraCanadaBernardo Dominic QUALIFIED
Tony B RulapaughItalyStephen Shaw NEGOTIATION
Aika B DoeAustraliaIvan Magalhaes RENEWAL
Murillo A NestleFranceXuxue Feng RENEWAL
Kaitlin X GarufiUnited KingdomStephen Shaw PROPOSAL
James T InouyeBrazilAmy Elsner NEW
Jennifer Q WaycottGermanyAmy Elsner NEGOTIATION
Jeanfrancois F FerenczGermanyXuxue Feng UNQUALIFIED
Aditya O RoysterItalyBernardo Dominic QUALIFIED
Juan T VocelkaRussiaAmy Elsner NEW
Sinclair Z MacleadJapanAmy Elsner QUALIFIED
Faith Z NickaFranceOnyama Limba UNQUALIFIED
Leon Y CaldareraRussiaOnyama Limba NEGOTIATION
Murillo H DilliardUnited KingdomStephen Shaw UNQUALIFIED
Isabel L DilliardUnited KingdomAsiya Javayant PROPOSAL
Adams U ShinkoItalyElwin Sharvill UNQUALIFIED
Kadeem K CaudyRussiaAmy Elsner RENEWAL
Nicolas N FollerRussiaOnyama Limba NEW
Jones E FigeroaIndiaAnna Fali 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>