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
Ricardo Q OstroskyJapanXuxue Feng QUALIFIED
Maisha C WieserArgentinaStephen Shaw UNQUALIFIED
Francesco Q NestleBrazilOnyama Limba PROPOSAL
Stacey Z MaletArgentinaAnna Fali QUALIFIED
Munro U IturbideGermanyOnyama Limba QUALIFIED
Julie X DarakjyItalyAmy Elsner NEW
Isabel C FlosiAustraliaElwin Sharvill RENEWAL
Smith E PoquetteAustraliaStephen Shaw PROPOSAL
Sinclair O StockhamAustraliaBernardo Dominic RENEWAL
Jefferson D FlosiItalyElwin Sharvill PROPOSAL
Murillo Y RimItalyElwin Sharvill PROPOSAL
Isabel B NickaIndiaXuxue Feng NEW
Emily A ButtFranceXuxue Feng NEGOTIATION
Chavez F WhobreyCanadaIoni Bowcher PROPOSAL
Jefferson R CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Emily Z FigeroaSpainIvan Magalhaes UNQUALIFIED
Smith V FollerIndiaBernardo Dominic QUALIFIED
Isabel T IturbideAustraliaStephen Shaw PROPOSAL
Leja A IturbideArgentinaAnna Fali QUALIFIED
James U MorascaBrazilIoni Bowcher NEW
Maisha T ShinkoBrazilXuxue Feng NEW
Wickens W VocelkaArgentinaXuxue Feng QUALIFIED
Faith N FigeroaArgentinaBernardo Dominic PROPOSAL
Ivar H FlosiAustraliaAmy Elsner NEGOTIATION
Jeanfrancois G FigeroaSpainStephen Shaw RENEWAL
Wickens D MarrierBrazilIoni Bowcher RENEWAL
Claire Q VenereIndiaXuxue Feng NEGOTIATION
Deepesh P NestleSpainIvan Magalhaes RENEWAL
Sinclair L IturbideSpainBernardo Dominic UNQUALIFIED
Octavia J CaudyItalyAmy Elsner QUALIFIED
Juan S FerenczIndiaStephen Shaw RENEWAL
Aditya K BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh V TollnerIndiaBernardo Dominic RENEWAL
Ivar D StockhamCanadaAmy Elsner RENEWAL
Smith L BologniaBrazilAsiya Javayant PROPOSAL
Misaki I GauchoArgentinaAmy Elsner PROPOSAL
Greenwood R RimJapanElwin Sharvill NEW
Jeanfrancois Z FigeroaItalyAnna Fali QUALIFIED
Julie U ShinkoJapanAnna Fali NEGOTIATION
Cody G IturbideAustraliaIoni Bowcher NEGOTIATION
Sinclair T BologniaArgentinaAmy Elsner PROPOSAL
Mujtaba R IturbideJapanAsiya Javayant NEW
Kadeem R MarrierItalyAmy Elsner UNQUALIFIED
Alejandro I VenereCanadaAnna Fali PROPOSAL
Kadeem R WieserArgentinaAmy Elsner QUALIFIED
Munro L DoeBrazilIoni Bowcher UNQUALIFIED
Chavez G WaycottFranceIvan Magalhaes PROPOSAL
Maria A CampainItalyIoni Bowcher RENEWAL
Mujtaba A SaylorsUnited KingdomAmy Elsner NEW
Tony E GillianSpainAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Wickens X MacleadCanadaBernardo Dominic UNQUALIFIED
Murillo Y StensethArgentinaIvan Magalhaes NEW
Isabel W IturbideItalyXuxue Feng UNQUALIFIED
Faith P CampainRussiaAsiya Javayant PROPOSAL
Greenwood Z GarufiAustraliaAnna Fali RENEWAL
Darci H FollerArgentinaXuxue Feng UNQUALIFIED
Mujtaba G MacleadItalyElwin Sharvill UNQUALIFIED
Claire R GlickFranceAsiya Javayant RENEWAL
Claire Y GillianUnited KingdomAnna Fali RENEWAL
Mayumi M WhobreyJapanIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore C PaprockiIndia2024-06-05Printing Dimensions NEW64Ivan Magalhaes
1001David E ButtIndia2024-05-28Benton, John B Jr PROPOSAL25Elwin Sharvill
1002Rodrigues H PerinRussia2024-05-30King, Christopher A Esq NEGOTIATION39Amy Elsner
1003Emily J GillianItaly2024-05-31King, Christopher A Esq RENEWAL4Amy Elsner
1004Smith C PerinBrazil2024-05-29Buckley Miller Wright PROPOSAL27Amy Elsner
1005Nicolas I SchemmerBrazil2024-06-01Feltz Printing Service NEGOTIATION82Anna Fali
1006Izzy K GlickRussia2024-05-24Printing Dimensions QUALIFIED62Xuxue Feng
1007Munro W RimItaly2024-06-21Chapman, Ross E Esq RENEWAL65Elwin Sharvill
1008Ricardo F FerenczGermany2024-06-21Chemel, James L Cpa NEGOTIATION15Amy Elsner
1009Adams B WaycottJapan2024-05-24Feiner Bros UNQUALIFIED30Elwin Sharvill
1010Sinclair A MorascaIndia2024-05-24Rangoni Of Florence NEW8Xuxue Feng
1011Leja U MacleadUnited Kingdom2024-06-07King, Christopher A Esq PROPOSAL17Ioni Bowcher
1012Jeanfrancois M OldroydAustralia2024-06-20Commercial Press RENEWAL57Elwin Sharvill
1013Emily E CaldareraCanada2024-06-06Truhlar And Truhlar Attys RENEWAL44Bernardo Dominic
1014Maria I StensethGermany2024-06-14Chanay, Jeffrey A Esq NEGOTIATION0Amy Elsner
1015Aika A FollerItaly2024-05-28Morlong Associates RENEWAL95Elwin Sharvill
1016Tony G VenereArgentina2024-06-16Buckley Miller Wright QUALIFIED39Ivan Magalhaes
1017Leja L AmigonRussia2024-06-20Benton, John B Jr UNQUALIFIED33Elwin Sharvill
1018Kaitlin F KuskoArgentina2024-05-24Commercial Press RENEWAL10Ivan Magalhaes
1019Kaitlin K GarufiUnited Kingdom2024-05-30Chapman, Ross E Esq PROPOSAL68Onyama Limba
1020Cody P RutaJapan2024-06-16Commercial Press UNQUALIFIED38Onyama Limba
1021Alejandro M IturbideFrance2024-06-12Dorl, James J Esq UNQUALIFIED57Bernardo Dominic
1022Kaitlin I PoquetteIndia2024-05-23Morlong Associates QUALIFIED77Amy Elsner
1023Leon S MorascaFrance2024-06-19Rousseaux, Michael Esq NEW63Stephen Shaw
1024Faith G CaudyUnited Kingdom2024-06-02King, Christopher A Esq RENEWAL96Xuxue Feng
1025Sinclair N CaldareraSpain2024-06-03Chanay, Jeffrey A Esq PROPOSAL13Stephen Shaw
1026Johnson Y DilliardRussia2024-06-12Truhlar And Truhlar Attys QUALIFIED24Elwin Sharvill
1027David Q KuskoUnited Kingdom2024-06-16Feltz Printing Service UNQUALIFIED97Xuxue Feng
1028Stacey C OstroskyGermany2024-05-23Benton, John B Jr NEGOTIATION8Elwin Sharvill
1029Leja U DarakjyIndia2024-05-24King, Christopher A Esq UNQUALIFIED39Ioni Bowcher
1030Mayumi V OstroskyFrance2024-06-17Commercial Press QUALIFIED37Xuxue Feng
1031Jeanfrancois T BowleyBrazil2024-05-31Truhlar And Truhlar Attys UNQUALIFIED43Anna Fali
1032Mayumi M MacleadFrance2024-06-07Dorl, James J Esq NEGOTIATION69Amy Elsner
1033Ashley H VenereIndia2024-05-26Benton, John B Jr UNQUALIFIED79Bernardo Dominic
1034Ricardo M FlosiBrazil2024-05-24Commercial Press PROPOSAL99Ivan Magalhaes
1035Greenwood H IturbideFrance2024-05-25Truhlar And Truhlar Attys NEGOTIATION48Onyama Limba
1036Chavez U NickaAustralia2024-05-30Chemel, James L Cpa NEGOTIATION14Bernardo Dominic
1037Chavez C IturbideItaly2024-06-07Truhlar And Truhlar Attys RENEWAL14Elwin Sharvill
1038Octavia R CaldareraUnited Kingdom2024-06-04Rangoni Of Florence NEGOTIATION58Ivan Magalhaes
1039Antonio T FerenczAustralia2024-06-17Commercial Press NEW8Bernardo Dominic
1040Jones M BowleyItaly2024-05-28Feiner Bros QUALIFIED9Bernardo Dominic
1041Stacey N KolmetzFrance2024-06-15Printing Dimensions UNQUALIFIED17Onyama Limba
1042Rodrigues H OldroydBrazil2024-06-10Buckley Miller Wright NEGOTIATION98Bernardo Dominic
1043Isabel J PerinRussia2024-06-01Morlong Associates NEW26Elwin Sharvill
1044Leon Y RimUnited Kingdom2024-05-24Morlong Associates NEW70Elwin Sharvill
1045Ivar J AmigonFrance2024-06-17Commercial Press NEGOTIATION44Elwin Sharvill
1046Misaki T SchemmerBrazil2024-06-01Rousseaux, Michael Esq PROPOSAL79Elwin Sharvill
1047Faith V GlickFrance2024-06-14Truhlar And Truhlar Attys NEW65Stephen Shaw
1048Aruna L ButtFrance2024-06-18Printing Dimensions NEGOTIATION76Onyama Limba
1049Alejandro G AlbaresUnited Kingdom2024-06-08King, Christopher A Esq RENEWAL99Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Johnson K WhobreySpainIvan Magalhaes RENEWAL
Aika B CampainRussiaIvan Magalhaes RENEWAL
Smith O GlickJapanIoni Bowcher QUALIFIED
Julie B ShinkoArgentinaAmy Elsner QUALIFIED
Tony B PerinAustraliaElwin Sharvill UNQUALIFIED
Wickens T BriddickRussiaIoni Bowcher RENEWAL
Costa R VenereAustraliaElwin Sharvill UNQUALIFIED
Aika H DoeAustraliaAmy Elsner QUALIFIED
Maria Q MorascaFranceStephen Shaw PROPOSAL
Sinclair K SlusarskiCanadaIvan Magalhaes NEGOTIATION
David M AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Maria H FigeroaRussiaBernardo Dominic NEW
Mayumi U SchemmerJapanIoni Bowcher QUALIFIED
Ivar V AmigonItalyIoni Bowcher QUALIFIED
Adams P RulapaughIndiaAmy Elsner RENEWAL
Greenwood G GarufiIndiaAsiya Javayant RENEWAL
Maria X PoquetteFranceAsiya Javayant RENEWAL
Salvatore O RutaIndiaStephen Shaw QUALIFIED
Aruna K CampainBrazilIoni Bowcher RENEWAL
Nicolas G StockhamGermanyAnna Fali NEW
Deepesh Q WaycottGermanyBernardo Dominic RENEWAL
Jennifer V SergiSpainXuxue Feng NEGOTIATION
David Y MaletAustraliaXuxue Feng RENEWAL
Nicolas F StensethJapanElwin Sharvill UNQUALIFIED
Mayumi L PoquetteAustraliaAsiya Javayant RENEWAL
Leon U DarakjyFranceIvan Magalhaes PROPOSAL
Deepesh U MacleadIndiaBernardo Dominic RENEWAL
Aditya Q AlbaresBrazilXuxue Feng NEGOTIATION
Jeanfrancois C PaprockiUnited KingdomBernardo Dominic QUALIFIED
Juan N FigeroaFranceIoni Bowcher UNQUALIFIED
Alejandro O OstroskyBrazilAnna Fali RENEWAL
Jones R SaylorsJapanIoni Bowcher QUALIFIED
Izzy T SaylorsGermanyStephen Shaw QUALIFIED
Izzy W OstroskyJapanBernardo Dominic PROPOSAL
Morrow C BologniaFranceOnyama Limba UNQUALIFIED
Faith H GarufiUnited KingdomOnyama Limba NEW
Wickens O NickaJapanAmy Elsner QUALIFIED
Jefferson N BowleyGermanyAsiya Javayant PROPOSAL
Claire T KuskoRussiaElwin Sharvill QUALIFIED
Aditya Q CaldareraJapanIoni Bowcher UNQUALIFIED
Sinclair L IturbideSpainAsiya Javayant NEW
Chavez Z GauchoArgentinaStephen Shaw NEW
Greenwood Y RulapaughUnited KingdomIvan Magalhaes RENEWAL
Wickens V KuskoRussiaAnna Fali QUALIFIED
Aika G RutaUnited KingdomAnna Fali QUALIFIED
Jones H StockhamAustraliaAnna Fali RENEWAL
Juan T CaldareraGermanyXuxue Feng NEW
Maria O GauchoBrazilBernardo Dominic RENEWAL
Clifford L MaletItalyXuxue Feng NEW
Jones M DilliardArgentinaXuxue Feng NEW
Frozen Columns
Name
Jones O Doe
Alejandro V Morasca
Wickens T Saylors
James O Bolognia
Faith K Darakjy
Jennifer B Nestle
Leja E Vocelka
Munro P Albares
Greenwood P Perin
Ricardo Z Rim
Mayumi M Stockham
Maisha D Malet
Cody H Briddick
Aika H Schemmer
Munro T Perin
Tony H Inouye
Stacey V Ruta
Octavia V Maclead
Tony L Malet
Deepesh B Inouye
Ricardo E Gillian
Ivar E Ferencz
Nicolas C Briddick
Maria Q Tollner
Octavia J Figeroa
Leja T Iturbide
Isabel D Rim
Aika P Nicka
Leja Q Glick
Julie Z Paprocki
Maisha W Glick
Octavia X Maclead
Emily I Slusarski
Misaki O Slusarski
Silvio R Schemmer
Greenwood P Slusarski
Kadeem Z Schemmer
Leon W Amigon
Smith E Sergi
Ashley V Caudy
Izzy S Stockham
Isabel N Kusko
Leon E Doe
Clifford D Oldroyd
Leja T Stenseth
Alejandro D Darakjy
Rodrigues W Ferencz
Antonio S Garufi
Clifford Q Garufi
Faith C Amigon
IdCountryDate
1000Russia2024-06-05
1001India2024-05-27
1002Brazil2024-06-17
1003Japan2024-05-23
1004Argentina2024-06-07
1005Brazil2024-05-29
1006United Kingdom2024-05-31
1007Japan2024-06-12
1008Argentina2024-06-03
1009Spain2024-05-23
1010Spain2024-06-21
1011Australia2024-06-17
1012Germany2024-06-16
1013Canada2024-06-09
1014Brazil2024-06-16
1015India2024-06-05
1016Canada2024-05-31
1017Spain2024-06-01
1018Australia2024-05-28
1019India2024-06-10
1020Brazil2024-05-23
1021Canada2024-06-10
1022France2024-05-24
1023Russia2024-06-17
1024Australia2024-06-12
1025United Kingdom2024-05-27
1026Germany2024-06-05
1027Russia2024-06-08
1028India2024-06-16
1029Italy2024-06-01
1030Russia2024-06-21
1031France2024-05-24
1032Brazil2024-06-08
1033Japan2024-06-04
1034Russia2024-06-14
1035Italy2024-06-12
1036Spain2024-06-19
1037France2024-05-28
1038Russia2024-06-20
1039Australia2024-06-10
1040France2024-06-01
1041Italy2024-06-18
1042Italy2024-06-18
1043Brazil2024-06-04
1044Canada2024-05-29
1045Australia2024-05-29
1046Canada2024-06-04
1047Brazil2024-05-26
1048Spain2024-05-27
1049United Kingdom2024-05-29

On-Demand Data

NameIdCountryDate
James N Bolognia1000France2024-06-15
Isabel T Albares1001Spain2024-06-12
Johnson W Oldroyd1002Germany2024-05-27
Jeanfrancois D Poquette1003United Kingdom2024-06-13
Aika N Saylors1004Spain2024-06-13
Clifford E Schemmer1005Spain2024-05-29
Clifford O Paprocki1006Brazil2024-05-29
Jennifer E Albares1007India2024-06-09
Costa M Glick1008Germany2024-05-30
Claire G Albares1009Spain2024-06-05
Jefferson J Chui1010France2024-06-01
Julie K Kusko1011Russia2024-06-17
Sinclair X Nicka1012France2024-06-09
Nicolas X Venere1013Spain2024-05-25
Ashley T Ostrosky1014Japan2024-06-08
Ivar U Stenseth1015Japan2024-05-26
Sinclair A Oldroyd1016France2024-06-20
Maria B Rulapaugh1017Argentina2024-06-16
Maria L Figeroa1018Australia2024-05-24
David W Sergi1019France2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow D FollerFranceStephen Shaw QUALIFIED
Smith E OstroskyGermanyBernardo Dominic NEGOTIATION
Leon N GillianFranceAnna Fali NEW
Darci B AlbaresUnited KingdomIoni Bowcher UNQUALIFIED
Clifford V FollerSpainXuxue Feng RENEWAL
Claire T BologniaBrazilBernardo Dominic NEGOTIATION
David L MorascaJapanAnna Fali RENEWAL
Ashley Z FlosiArgentinaAnna Fali NEGOTIATION
Darci O SlusarskiArgentinaBernardo Dominic NEW
Jennifer B GillianArgentinaBernardo Dominic QUALIFIED
Aika K PoquetteJapanIvan Magalhaes NEGOTIATION
Leja F RoysterCanadaAsiya Javayant NEGOTIATION
Stacey J RulapaughItalyOnyama Limba NEGOTIATION
Isabel R VenereItalyIoni Bowcher NEGOTIATION
Aditya B TollnerArgentinaIvan Magalhaes QUALIFIED
Jefferson D StensethAustraliaStephen Shaw UNQUALIFIED
Jones J BriddickUnited KingdomIoni Bowcher NEW
Rodrigues V CaldareraItalyBernardo Dominic NEW
Kadeem K VocelkaSpainIvan Magalhaes QUALIFIED
Wickens D MaletGermanyBernardo Dominic UNQUALIFIED
Jennifer J MacleadFranceAnna Fali RENEWAL
Murillo K RoysterRussiaAnna Fali NEW
Kadeem B WaycottJapanElwin Sharvill NEW
Aika H RulapaughCanadaElwin Sharvill PROPOSAL
Aditya H CampainCanadaAmy Elsner PROPOSAL
Leja G StockhamFranceIvan Magalhaes PROPOSAL
Emily B CampainJapanElwin Sharvill NEW
Mayumi L WaycottSpainXuxue Feng UNQUALIFIED
Mayumi W FollerUnited KingdomElwin Sharvill QUALIFIED
Silvio M AlbaresSpainElwin Sharvill UNQUALIFIED
Silvio V BowleyGermanyElwin Sharvill NEW
Silvio V MaletItalyXuxue Feng NEW
Clifford C NickaFranceOnyama Limba PROPOSAL
Arvin U KolmetzBrazilElwin Sharvill UNQUALIFIED
Tony O RulapaughArgentinaStephen Shaw QUALIFIED
Jeanfrancois H PerinArgentinaIoni Bowcher QUALIFIED
Arvin A BriddickUnited KingdomOnyama Limba QUALIFIED
Isabel X RutaFranceStephen Shaw QUALIFIED
Jones T MarrierGermanyBernardo Dominic NEW
Salvatore O FollerCanadaAsiya Javayant 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>