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
Octavia J DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Kaitlin S WhobreyRussiaIoni Bowcher NEW
Francesco W NickaSpainElwin Sharvill NEW
Mujtaba N ButtJapanElwin Sharvill NEGOTIATION
Maria H ChuiRussiaStephen Shaw PROPOSAL
Ashley H InouyeArgentinaAmy Elsner PROPOSAL
Stacey T DilliardIndiaAmy Elsner PROPOSAL
Juan M CaldareraGermanyStephen Shaw PROPOSAL
Ashley S TollnerArgentinaAsiya Javayant PROPOSAL
Leon X OldroydSpainIvan Magalhaes PROPOSAL
James K TollnerItalyOnyama Limba NEGOTIATION
Francesco M PerinFranceXuxue Feng PROPOSAL
Maria I CaldareraArgentinaStephen Shaw NEGOTIATION
Jefferson Y GlickIndiaAsiya Javayant QUALIFIED
Rodrigues F MaletItalyOnyama Limba PROPOSAL
Ricardo O OstroskyIndiaAnna Fali NEW
Francesco K DoeCanadaElwin Sharvill QUALIFIED
Octavia B PoquetteJapanBernardo Dominic PROPOSAL
Arvin A PoquetteUnited KingdomXuxue Feng RENEWAL
Munro M SergiSpainAnna Fali UNQUALIFIED
Aruna S KolmetzIndiaBernardo Dominic PROPOSAL
Ivar L NestleAustraliaAnna Fali NEW
Francesco E GarufiBrazilAsiya Javayant NEW
Smith L ShinkoAustraliaElwin Sharvill NEGOTIATION
Aika L RutaJapanIvan Magalhaes NEGOTIATION
Jefferson V MaletJapanAmy Elsner NEGOTIATION
Darci A RulapaughGermanyOnyama Limba NEGOTIATION
Jennifer I GillianItalyAnna Fali RENEWAL
Murillo R PerinBrazilBernardo Dominic PROPOSAL
Mayumi Z MarrierUnited KingdomAmy Elsner NEW
Octavia M BologniaCanadaOnyama Limba PROPOSAL
Silvio J SchemmerBrazilStephen Shaw PROPOSAL
Tony O BowleyCanadaIoni Bowcher RENEWAL
Munro G OstroskyItalyXuxue Feng QUALIFIED
Nicolas N DoeGermanyXuxue Feng UNQUALIFIED
Stacey Y DilliardRussiaBernardo Dominic RENEWAL
Leja Z CaldareraArgentinaOnyama Limba RENEWAL
Maisha A NestleCanadaElwin Sharvill NEW
Rodrigues L MacleadUnited KingdomStephen Shaw NEGOTIATION
Francesco Q RoysterRussiaIoni Bowcher RENEWAL
Aika K RulapaughJapanAmy Elsner QUALIFIED
Leja U StensethUnited KingdomAnna Fali PROPOSAL
Nicolas Y SergiCanadaAmy Elsner RENEWAL
Juan H TollnerFranceStephen Shaw QUALIFIED
Munro L ChuiFranceElwin Sharvill RENEWAL
Nicolas P SergiGermanyIoni Bowcher QUALIFIED
Darci U StensethUnited KingdomXuxue Feng UNQUALIFIED
Tony G MacleadJapanStephen Shaw UNQUALIFIED
Ivar G MorascaItalyIvan Magalhaes PROPOSAL
Deepesh X MorascaFranceXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio A WaycottSpainAnna Fali RENEWAL
David M BriddickJapanElwin Sharvill PROPOSAL
Faith O KuskoArgentinaBernardo Dominic QUALIFIED
Kaitlin N CampainGermanyAmy Elsner RENEWAL
Francesco E StensethRussiaAsiya Javayant QUALIFIED
Costa A WaycottIndiaBernardo Dominic PROPOSAL
James O VenereJapanIvan Magalhaes PROPOSAL
Maria R MacleadAustraliaXuxue Feng NEW
Claire K KolmetzGermanyIvan Magalhaes NEGOTIATION
Aruna A ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow R RutaItaly2024-05-23Chapman, Ross E Esq NEW4Onyama Limba
1001Aruna S StensethGermany2024-05-20Benton, John B Jr UNQUALIFIED60Stephen Shaw
1002Isabel P SaylorsRussia2024-04-28Benton, John B Jr UNQUALIFIED44Asiya Javayant
1003Jennifer H BologniaIndia2024-05-12Feiner Bros NEW45Amy Elsner
1004Cody T StockhamUnited Kingdom2024-05-13Truhlar And Truhlar Attys NEW18Ivan Magalhaes
1005Ashley X SergiCanada2024-05-05Feltz Printing Service NEW93Amy Elsner
1006Cody X PoquetteCanada2024-05-05Truhlar And Truhlar Attys PROPOSAL15Amy Elsner
1007Izzy Z WhobreyArgentina2024-04-28Printing Dimensions NEGOTIATION33Amy Elsner
1008Wickens S BowleyBrazil2024-05-12King, Christopher A Esq PROPOSAL10Ivan Magalhaes
1009Maisha I VenereArgentina2024-05-24Benton, John B Jr PROPOSAL33Stephen Shaw
1010Antonio B BologniaCanada2024-05-11King, Christopher A Esq RENEWAL61Asiya Javayant
1011Ricardo W SchemmerFrance2024-05-02Benton, John B Jr QUALIFIED14Asiya Javayant
1012Smith W FigeroaIndia2024-05-07Morlong Associates RENEWAL15Xuxue Feng
1013Adams H AlbaresUnited Kingdom2024-05-18Commercial Press PROPOSAL58Anna Fali
1014Rodrigues O OstroskyJapan2024-05-20Rousseaux, Michael Esq NEW56Ioni Bowcher
1015Costa R PoquetteItaly2024-05-18Morlong Associates QUALIFIED34Onyama Limba
1016James Y BowleyCanada2024-05-14Chemel, James L Cpa QUALIFIED19Onyama Limba
1017Greenwood O CaldareraItaly2024-05-17Chapman, Ross E Esq PROPOSAL76Amy Elsner
1018Francesco A FerenczJapan2024-05-17Buckley Miller Wright NEGOTIATION81Anna Fali
1019Jeanfrancois V StensethBrazil2024-05-15Chemel, James L Cpa NEGOTIATION44Elwin Sharvill
1020Smith B KuskoFrance2024-04-29Printing Dimensions NEGOTIATION74Onyama Limba
1021Aika U StensethUnited Kingdom2024-05-14Commercial Press QUALIFIED51Asiya Javayant
1022Juan G NickaBrazil2024-05-14Printing Dimensions RENEWAL84Xuxue Feng
1023Deepesh V IturbideUnited Kingdom2024-05-11Chemel, James L Cpa NEGOTIATION75Asiya Javayant
1024Sinclair U DoeBrazil2024-05-06Printing Dimensions PROPOSAL38Elwin Sharvill
1025Mujtaba T BologniaRussia2024-05-10Rangoni Of Florence PROPOSAL94Onyama Limba
1026Murillo X WieserGermany2024-05-18King, Christopher A Esq PROPOSAL69Asiya Javayant
1027Mujtaba L CaudyFrance2024-05-20Chemel, James L Cpa RENEWAL76Anna Fali
1028Clifford I VocelkaUnited Kingdom2024-05-14Printing Dimensions PROPOSAL68Onyama Limba
1029Claire I VenereItaly2024-05-25Chapman, Ross E Esq QUALIFIED27Stephen Shaw
1030Alejandro J AmigonAustralia2024-05-25Rangoni Of Florence UNQUALIFIED27Amy Elsner
1031Arvin S FollerArgentina2024-05-09Dorl, James J Esq PROPOSAL84Ioni Bowcher
1032Cody K FlosiGermany2024-05-02Feltz Printing Service QUALIFIED65Ioni Bowcher
1033Murillo L MacleadBrazil2024-05-04Buckley Miller Wright PROPOSAL8Elwin Sharvill
1034Clifford D WhobreyJapan2024-05-11Printing Dimensions PROPOSAL80Anna Fali
1035Emily O FollerItaly2024-05-11Chapman, Ross E Esq QUALIFIED22Ivan Magalhaes
1036Maria D InouyeJapan2024-04-29Benton, John B Jr NEW13Stephen Shaw
1037Rodrigues U TollnerCanada2024-05-25Buckley Miller Wright UNQUALIFIED75Amy Elsner
1038Costa F StockhamRussia2024-05-01Feiner Bros NEGOTIATION23Ioni Bowcher
1039Rodrigues N CaudyAustralia2024-05-25Morlong Associates UNQUALIFIED67Asiya Javayant
1040Johnson S DilliardBrazil2024-05-14Chemel, James L Cpa NEGOTIATION2Ivan Magalhaes
1041Francesco F CaldareraJapan2024-05-20Printing Dimensions RENEWAL86Onyama Limba
1042Francesco K VenereJapan2024-05-24Printing Dimensions QUALIFIED88Ivan Magalhaes
1043David M GillianJapan2024-05-25Truhlar And Truhlar Attys PROPOSAL3Amy Elsner
1044Emily F MacleadGermany2024-05-12Truhlar And Truhlar Attys NEGOTIATION18Onyama Limba
1045Faith W GillianBrazil2024-05-26Chapman, Ross E Esq NEW87Ioni Bowcher
1046Isabel M ButtRussia2024-05-22Chanay, Jeffrey A Esq QUALIFIED37Anna Fali
1047Misaki Y VenereBrazil2024-05-10Truhlar And Truhlar Attys NEW44Bernardo Dominic
1048Smith Y WieserSpain2024-05-07Commercial Press RENEWAL73Onyama Limba
1049Stacey N WaycottSpain2024-05-02Chanay, Jeffrey A Esq PROPOSAL10Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Francesco W OldroydGermanyAmy Elsner NEGOTIATION
Darci J KolmetzRussiaOnyama Limba RENEWAL
Johnson B ChuiAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois E WieserRussiaXuxue Feng NEGOTIATION
Cody R IturbideAustraliaAmy Elsner QUALIFIED
Jones N StockhamUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin K KuskoRussiaIoni Bowcher RENEWAL
Jeanfrancois X OldroydGermanyElwin Sharvill QUALIFIED
James O PerinFranceAsiya Javayant QUALIFIED
Murillo N NickaCanadaBernardo Dominic NEW
Juan H AlbaresAustraliaXuxue Feng NEGOTIATION
Francesco K RutaFranceStephen Shaw NEW
Sinclair M MacleadGermanyAnna Fali UNQUALIFIED
Kaitlin Q BologniaBrazilElwin Sharvill QUALIFIED
Aditya T DarakjyBrazilBernardo Dominic QUALIFIED
Adams H FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Julie F WaycottRussiaIoni Bowcher RENEWAL
Cody B RoysterUnited KingdomOnyama Limba NEW
Darci H KuskoJapanIvan Magalhaes RENEWAL
Misaki N PerinArgentinaIvan Magalhaes NEGOTIATION
Leon B RimItalyElwin Sharvill UNQUALIFIED
Aditya P OstroskyItalyOnyama Limba UNQUALIFIED
Izzy X KolmetzRussiaIoni Bowcher NEW
Darci Q OldroydItalyElwin Sharvill UNQUALIFIED
Johnson K StockhamBrazilAmy Elsner QUALIFIED
Salvatore P MaletAustraliaElwin Sharvill QUALIFIED
Maisha N VenereBrazilElwin Sharvill PROPOSAL
Tony V FollerRussiaAmy Elsner RENEWAL
Jefferson Z ButtRussiaIoni Bowcher RENEWAL
Ricardo U GlickJapanAmy Elsner RENEWAL
Greenwood T KuskoGermanyAmy Elsner UNQUALIFIED
Jeanfrancois M InouyeAustraliaOnyama Limba RENEWAL
Chavez I PerinIndiaAsiya Javayant QUALIFIED
Jefferson Y KolmetzJapanAsiya Javayant UNQUALIFIED
Jennifer C MacleadAustraliaAmy Elsner PROPOSAL
Kadeem C MaletBrazilAsiya Javayant PROPOSAL
Izzy B CampainGermanyXuxue Feng UNQUALIFIED
Adams B VocelkaItalyAmy Elsner QUALIFIED
Mayumi J BowleyGermanyBernardo Dominic PROPOSAL
Deepesh Z SchemmerCanadaAmy Elsner NEW
Sinclair Q MarrierCanadaAsiya Javayant QUALIFIED
Leja J TollnerItalyBernardo Dominic UNQUALIFIED
Ashley G StensethJapanStephen Shaw NEGOTIATION
Salvatore A OstroskyGermanyXuxue Feng UNQUALIFIED
Salvatore E FigeroaCanadaElwin Sharvill NEGOTIATION
Maisha M StensethCanadaXuxue Feng NEW
Mujtaba N WhobreyFranceXuxue Feng RENEWAL
Salvatore Z AlbaresSpainIoni Bowcher PROPOSAL
Leja Q CampainFranceAnna Fali PROPOSAL
James Z MaletItalyXuxue Feng PROPOSAL
Frozen Columns
Name
Arvin O Saylors
Antonio Z Gillian
Silvio W Briddick
Julie O Saylors
Adams M Perin
Aika I Doe
Smith Q Foller
Greenwood N Schemmer
Johnson G Saylors
Wickens H Kusko
Maria Z Malet
Aika Z Paprocki
Emily Q Foller
Nicolas T Nestle
Misaki W Schemmer
Morrow Q Campain
Ashley R Paprocki
Isabel G Gaucho
Rodrigues K Nestle
Izzy X Amigon
Jones V Butt
Stacey Q Marrier
Salvatore I Darakjy
Faith G Waycott
Aditya Q Wieser
Ivar E Ostrosky
James Z Foller
Arvin P Iturbide
Ricardo T Malet
Maisha O Slusarski
David C Bolognia
Maria E Slusarski
Adams J Royster
Clifford Y Doe
Darci G Butt
Greenwood F Venere
Leja H Rim
Adams C Gaucho
Emily L Iturbide
Arvin X Wieser
Mujtaba Q Venere
Leja F Ruta
Julie E Stenseth
Morrow L Bowley
Misaki L Sergi
Jeanfrancois W Inouye
Ivar L Malet
Jefferson B Royster
Greenwood I Wieser
Julie K Amigon
IdCountryDate
1000Canada2024-05-13
1001Canada2024-05-08
1002Japan2024-05-18
1003Canada2024-04-28
1004United Kingdom2024-05-11
1005United Kingdom2024-05-23
1006Argentina2024-05-12
1007Germany2024-05-24
1008Argentina2024-05-09
1009Canada2024-05-13
1010Brazil2024-05-11
1011Germany2024-05-13
1012Germany2024-05-05
1013Argentina2024-04-28
1014Argentina2024-05-23
1015Russia2024-05-02
1016Australia2024-05-08
1017Germany2024-05-05
1018Japan2024-05-03
1019Canada2024-05-23
1020Japan2024-05-03
1021United Kingdom2024-05-02
1022Italy2024-05-08
1023Russia2024-05-18
1024Italy2024-05-27
1025Brazil2024-04-28
1026France2024-05-16
1027Australia2024-05-17
1028Germany2024-05-06
1029Italy2024-05-18
1030France2024-05-17
1031Canada2024-05-17
1032Canada2024-04-29
1033Italy2024-05-12
1034Australia2024-05-20
1035Russia2024-05-01
1036Canada2024-05-03
1037India2024-05-15
1038Argentina2024-05-13
1039Argentina2024-05-15
1040Argentina2024-05-14
1041Brazil2024-05-06
1042Germany2024-05-09
1043Italy2024-05-05
1044Brazil2024-04-28
1045Italy2024-05-09
1046India2024-05-07
1047Russia2024-04-30
1048Japan2024-05-11
1049India2024-04-30

On-Demand Data

NameIdCountryDate
Kadeem R Tollner1000Russia2024-05-14
Salvatore J Bolognia1001Spain2024-05-04
Clifford M Vocelka1002Canada2024-05-24
Silvio K Vocelka1003Canada2024-05-07
Jeanfrancois V Amigon1004Canada2024-05-06
Jennifer A Paprocki1005Italy2024-05-01
Greenwood P Schemmer1006Russia2024-05-11
Maisha V Schemmer1007Argentina2024-05-25
Ashley C Caudy1008Argentina2024-05-11
Mayumi D Marrier1009Canada2024-05-09
Faith Y Foller1010Brazil2024-05-09
Jennifer L Amigon1011India2024-05-22
Leja K Bowley1012Spain2024-05-04
Salvatore M Chui1013Australia2024-04-30
Kaitlin M Bowley1014India2024-05-14
Faith T Caldarera1015Russia2024-05-10
Julie X Bowley1016India2024-05-06
Nicolas J Wieser1017Germany2024-05-06
Stacey R Saylors1018India2024-05-11
Claire C Vocelka1019Canada2024-05-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem H VenereSpainBernardo Dominic QUALIFIED
Aika I RutaItalyAmy Elsner UNQUALIFIED
Aditya A VocelkaArgentinaAmy Elsner UNQUALIFIED
Ivar X TollnerGermanyIoni Bowcher PROPOSAL
Aika B WieserArgentinaAsiya Javayant PROPOSAL
Kadeem Q CaudyIndiaAsiya Javayant RENEWAL
Claire B ShinkoFranceBernardo Dominic PROPOSAL
Aika P DarakjyAustraliaIvan Magalhaes QUALIFIED
Adams Q GillianGermanyIvan Magalhaes NEW
Arvin N CaudyRussiaStephen Shaw NEW
Kaitlin D RimFranceIoni Bowcher QUALIFIED
Munro R WaycottArgentinaAsiya Javayant RENEWAL
Stacey H SlusarskiUnited KingdomElwin Sharvill NEW
Silvio V OldroydArgentinaOnyama Limba PROPOSAL
Munro Q BologniaFranceIvan Magalhaes NEGOTIATION
Alejandro C TollnerUnited KingdomXuxue Feng PROPOSAL
Ivar H MaletRussiaAmy Elsner UNQUALIFIED
Mujtaba N MorascaJapanBernardo Dominic NEGOTIATION
Emily S FigeroaFranceXuxue Feng PROPOSAL
Misaki M RutaItalyOnyama Limba RENEWAL
Antonio S MarrierBrazilBernardo Dominic NEW
Greenwood J RoysterItalyBernardo Dominic RENEWAL
Arvin B PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Ashley C SaylorsAustraliaAmy Elsner QUALIFIED
Morrow X ChuiArgentinaAmy Elsner QUALIFIED
Izzy O SlusarskiFranceAmy Elsner NEGOTIATION
Isabel S MarrierUnited KingdomOnyama Limba PROPOSAL
Aruna Q TollnerCanadaElwin Sharvill RENEWAL
Tony W GlickBrazilAnna Fali PROPOSAL
Adams R MorascaGermanyOnyama Limba NEW
Deepesh S AmigonFranceElwin Sharvill UNQUALIFIED
Faith P MaletIndiaStephen Shaw UNQUALIFIED
Mujtaba G ShinkoFranceIvan Magalhaes NEW
Mujtaba B RimCanadaBernardo Dominic PROPOSAL
Rodrigues F AmigonIndiaXuxue Feng NEGOTIATION
Ivar V CaldareraGermanyStephen Shaw RENEWAL
Alejandro Z WhobreyArgentinaIvan Magalhaes NEW
Octavia Z PaprockiCanadaAmy Elsner NEGOTIATION
Sinclair D OldroydRussiaAmy Elsner NEGOTIATION
Octavia O GarufiGermanyAmy Elsner 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>