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
Mujtaba X DilliardRussiaStephen Shaw QUALIFIED
Jefferson X PerinArgentinaAnna Fali NEGOTIATION
Cody O VocelkaSpainAsiya Javayant NEW
Cody O VocelkaBrazilXuxue Feng RENEWAL
Adams G KolmetzArgentinaOnyama Limba QUALIFIED
Jeanfrancois V VenereJapanAmy Elsner PROPOSAL
Darci O InouyeFranceAsiya Javayant PROPOSAL
Misaki I FlosiRussiaBernardo Dominic RENEWAL
Aika U GauchoIndiaElwin Sharvill NEW
Maria K GillianUnited KingdomAmy Elsner NEW
Murillo C TollnerIndiaElwin Sharvill UNQUALIFIED
Francesco B FollerSpainIoni Bowcher RENEWAL
Kadeem K KuskoBrazilAnna Fali UNQUALIFIED
Jefferson Q OstroskyIndiaAmy Elsner QUALIFIED
Faith R OstroskyBrazilIvan Magalhaes QUALIFIED
Kaitlin T ButtFranceXuxue Feng QUALIFIED
Leja X ChuiAustraliaIvan Magalhaes NEW
Maisha B PaprockiIndiaIvan Magalhaes PROPOSAL
Greenwood X MaletJapanIoni Bowcher PROPOSAL
Ivar W BowleyArgentinaIoni Bowcher RENEWAL
Sinclair L NickaFranceAsiya Javayant NEGOTIATION
David D BowleyCanadaElwin Sharvill NEGOTIATION
Kadeem D StensethFranceOnyama Limba UNQUALIFIED
Stacey O OldroydCanadaBernardo Dominic PROPOSAL
Smith R RutaBrazilAsiya Javayant QUALIFIED
Isabel Z CaldareraSpainIoni Bowcher QUALIFIED
Rodrigues Y ShinkoFranceIoni Bowcher UNQUALIFIED
James O MacleadItalyElwin Sharvill NEW
Aditya V GlickRussiaIoni Bowcher NEGOTIATION
Arvin M SaylorsGermanyAmy Elsner NEGOTIATION
Claire H GarufiAustraliaBernardo Dominic PROPOSAL
Ashley G WaycottBrazilAmy Elsner NEGOTIATION
Izzy C InouyeBrazilXuxue Feng NEW
David W VenereBrazilAnna Fali NEGOTIATION
Leja A BriddickGermanyBernardo Dominic UNQUALIFIED
Clifford E DarakjyAustraliaAnna Fali QUALIFIED
Greenwood Q StockhamRussiaStephen Shaw UNQUALIFIED
Ashley W StensethCanadaAmy Elsner NEGOTIATION
Clifford I KolmetzItalyIoni Bowcher QUALIFIED
Ricardo T SchemmerFranceXuxue Feng NEW
Arvin I ChuiRussiaXuxue Feng NEGOTIATION
Mayumi F MarrierArgentinaElwin Sharvill NEGOTIATION
Stacey V PerinJapanIoni Bowcher PROPOSAL
Aditya Y StockhamGermanyAsiya Javayant UNQUALIFIED
Costa D PaprockiRussiaIvan Magalhaes NEGOTIATION
Aika B VenereItalyAmy Elsner NEGOTIATION
Morrow D SergiGermanyAmy Elsner PROPOSAL
Nicolas M GauchoArgentinaIvan Magalhaes PROPOSAL
Chavez I NickaBrazilStephen Shaw QUALIFIED
Leja H MacleadIndiaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh G SaylorsRussiaAnna Fali UNQUALIFIED
Ashley R AmigonUnited KingdomStephen Shaw UNQUALIFIED
Nicolas S SergiAustraliaElwin Sharvill NEGOTIATION
Octavia F RulapaughFranceBernardo Dominic PROPOSAL
Cody W ShinkoFranceAnna Fali NEW
Ashley C SchemmerAustraliaAsiya Javayant NEGOTIATION
Emily M WaycottJapanAmy Elsner NEW
Chavez H VocelkaFranceStephen Shaw RENEWAL
Maisha I AmigonJapanXuxue Feng RENEWAL
Silvio P MarrierIndiaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel Y RoysterUnited Kingdom2024-05-10Feiner Bros NEGOTIATION38Amy Elsner
1001Morrow X StensethItaly2024-05-11Rousseaux, Michael Esq QUALIFIED9Amy Elsner
1002Kaitlin R KuskoBrazil2024-04-28Feiner Bros QUALIFIED28Anna Fali
1003Leja M BowleyArgentina2024-05-19Chemel, James L Cpa RENEWAL1Xuxue Feng
1004Francesco W FollerAustralia2024-05-23Commercial Press QUALIFIED35Bernardo Dominic
1005Smith X MacleadJapan2024-05-20Feiner Bros NEGOTIATION49Asiya Javayant
1006Antonio C BologniaUnited Kingdom2024-05-17Feltz Printing Service UNQUALIFIED85Elwin Sharvill
1007Costa D NickaArgentina2024-05-08King, Christopher A Esq RENEWAL17Asiya Javayant
1008Alejandro J BowleyAustralia2024-04-28Chemel, James L Cpa RENEWAL82Stephen Shaw
1009Jennifer D GlickJapan2024-05-08Dorl, James J Esq UNQUALIFIED95Amy Elsner
1010Mayumi X TollnerJapan2024-05-15Chanay, Jeffrey A Esq UNQUALIFIED34Amy Elsner
1011Aika R RulapaughSpain2024-05-08Dorl, James J Esq NEW9Elwin Sharvill
1012Jeanfrancois N GarufiItaly2024-05-24Morlong Associates UNQUALIFIED28Elwin Sharvill
1013Morrow N RimRussia2024-04-29Chapman, Ross E Esq NEGOTIATION89Asiya Javayant
1014Darci O PoquetteCanada2024-05-01Morlong Associates UNQUALIFIED50Onyama Limba
1015Salvatore M MaletCanada2024-05-14Dorl, James J Esq UNQUALIFIED86Amy Elsner
1016Julie Y BologniaArgentina2024-04-30Feltz Printing Service RENEWAL51Asiya Javayant
1017Kadeem P PoquetteUnited Kingdom2024-05-11Rangoni Of Florence RENEWAL48Stephen Shaw
1018Leja O GillianBrazil2024-05-07Chapman, Ross E Esq RENEWAL50Elwin Sharvill
1019Adams V StensethCanada2024-05-19King, Christopher A Esq NEGOTIATION59Asiya Javayant
1020Ricardo M AmigonIndia2024-04-26Morlong Associates PROPOSAL71Amy Elsner
1021Faith Z SergiAustralia2024-05-16Commercial Press UNQUALIFIED59Stephen Shaw
1022Leon M PaprockiBrazil2024-05-23Dorl, James J Esq QUALIFIED33Xuxue Feng
1023Wickens C CaudyIndia2024-05-14Printing Dimensions NEGOTIATION69Amy Elsner
1024Costa D CaudyIndia2024-05-01Buckley Miller Wright NEW46Amy Elsner
1025Juan M BriddickRussia2024-05-04Rousseaux, Michael Esq RENEWAL6Ioni Bowcher
1026Greenwood V FerenczSpain2024-05-15Printing Dimensions NEGOTIATION88Asiya Javayant
1027Costa G GillianIndia2024-05-14Benton, John B Jr UNQUALIFIED66Stephen Shaw
1028Julie D BowleyCanada2024-04-27Benton, John B Jr PROPOSAL4Xuxue Feng
1029Smith Q MaletIndia2024-05-02Morlong Associates PROPOSAL95Xuxue Feng
1030Misaki G OldroydCanada2024-05-15Morlong Associates PROPOSAL68Stephen Shaw
1031Julie P SergiCanada2024-05-14Chapman, Ross E Esq RENEWAL2Onyama Limba
1032Rodrigues H PoquetteGermany2024-05-05Commercial Press NEW14Stephen Shaw
1033Johnson A MaletRussia2024-05-09Commercial Press QUALIFIED37Ioni Bowcher
1034Adams U BologniaSpain2024-04-25Chanay, Jeffrey A Esq PROPOSAL24Ivan Magalhaes
1035Julie K FigeroaItaly2024-05-24Dorl, James J Esq QUALIFIED92Ioni Bowcher
1036Aika V AlbaresSpain2024-05-18Dorl, James J Esq NEGOTIATION7Asiya Javayant
1037David R BriddickCanada2024-05-05Benton, John B Jr NEGOTIATION23Elwin Sharvill
1038Francesco V SlusarskiJapan2024-05-04Feltz Printing Service NEGOTIATION66Ivan Magalhaes
1039Chavez A RutaIndia2024-05-21Truhlar And Truhlar Attys PROPOSAL31Amy Elsner
1040Silvio B FlosiIndia2024-04-30Rousseaux, Michael Esq NEGOTIATION4Anna Fali
1041Aruna C FollerCanada2024-04-27Morlong Associates UNQUALIFIED38Ivan Magalhaes
1042Misaki D PoquetteJapan2024-05-17Chapman, Ross E Esq QUALIFIED49Anna Fali
1043Mayumi L KolmetzFrance2024-05-02Rousseaux, Michael Esq QUALIFIED92Stephen Shaw
1044Jefferson F InouyeJapan2024-04-25Dorl, James J Esq UNQUALIFIED10Stephen Shaw
1045David C BologniaFrance2024-05-07Truhlar And Truhlar Attys PROPOSAL85Anna Fali
1046Jones M PerinItaly2024-04-27Commercial Press RENEWAL51Ioni Bowcher
1047Silvio D DoeBrazil2024-04-26Rangoni Of Florence NEW49Elwin Sharvill
1048Arvin R DarakjyIndia2024-05-09Dorl, James J Esq QUALIFIED79Elwin Sharvill
1049Murillo T FollerAustralia2024-05-19Rangoni Of Florence PROPOSAL6Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues O RimFranceBernardo Dominic NEW
Aruna J BologniaArgentinaIvan Magalhaes UNQUALIFIED
Sinclair V KuskoJapanAsiya Javayant QUALIFIED
Silvio X KolmetzSpainBernardo Dominic PROPOSAL
James X FlosiFranceOnyama Limba QUALIFIED
Nicolas T FerenczCanadaAsiya Javayant NEW
Silvio K GillianIndiaAsiya Javayant NEW
Murillo G FerenczJapanAmy Elsner NEW
Maria B SchemmerFranceAnna Fali NEGOTIATION
Aditya U PerinJapanAsiya Javayant NEW
Faith X MorascaSpainAmy Elsner NEGOTIATION
Ricardo Z BriddickCanadaXuxue Feng RENEWAL
Juan M KolmetzUnited KingdomXuxue Feng NEGOTIATION
Morrow O OstroskyFranceXuxue Feng PROPOSAL
Maisha R WaycottBrazilStephen Shaw RENEWAL
Sinclair H RoysterRussiaAnna Fali PROPOSAL
Kadeem F DoeUnited KingdomIvan Magalhaes NEW
Greenwood T DarakjyCanadaAsiya Javayant QUALIFIED
Rodrigues N VocelkaIndiaIvan Magalhaes NEGOTIATION
Munro Y AlbaresJapanStephen Shaw QUALIFIED
Maisha H GarufiItalyElwin Sharvill QUALIFIED
Jeanfrancois H VocelkaCanadaXuxue Feng PROPOSAL
Octavia E SaylorsAustraliaStephen Shaw NEGOTIATION
Wickens I CampainUnited KingdomAsiya Javayant RENEWAL
Juan I PoquetteBrazilAmy Elsner QUALIFIED
Maisha G WaycottBrazilElwin Sharvill PROPOSAL
Chavez G FigeroaJapanAmy Elsner UNQUALIFIED
Octavia S AmigonGermanyIoni Bowcher NEGOTIATION
Deepesh U KuskoSpainIoni Bowcher NEGOTIATION
Clifford Q MorascaAustraliaOnyama Limba NEW
Faith R GillianJapanOnyama Limba NEW
Claire E NickaSpainIoni Bowcher PROPOSAL
Jeanfrancois S BologniaRussiaElwin Sharvill QUALIFIED
Aditya L CaldareraFranceAmy Elsner QUALIFIED
James U OstroskyJapanAsiya Javayant QUALIFIED
Mujtaba U RutaAustraliaStephen Shaw UNQUALIFIED
Sinclair E PerinFranceAmy Elsner QUALIFIED
Francesco X VenereFranceBernardo Dominic QUALIFIED
Aruna B VocelkaAustraliaOnyama Limba UNQUALIFIED
Emily I RimAustraliaOnyama Limba QUALIFIED
Faith Z RulapaughArgentinaIvan Magalhaes RENEWAL
Antonio O CaldareraCanadaIoni Bowcher NEGOTIATION
Adams N FerenczCanadaIoni Bowcher NEGOTIATION
Jennifer F NickaSpainAmy Elsner PROPOSAL
Sinclair D CaldareraRussiaStephen Shaw RENEWAL
David X MacleadItalyElwin Sharvill UNQUALIFIED
Jeanfrancois L KolmetzAustraliaAnna Fali NEW
Claire M GlickAustraliaStephen Shaw NEGOTIATION
Kaitlin G RulapaughJapanAmy Elsner NEW
Jennifer R IturbideAustraliaAnna Fali PROPOSAL
Frozen Columns
Name
Stacey S Iturbide
Antonio R Dilliard
Ashley A Amigon
Mujtaba F Stockham
Octavia C Tollner
Aditya M Chui
Emily V Royster
Greenwood L Nicka
Sinclair L Foller
David Y Venere
Faith P Venere
Arvin R Whobrey
Clifford Z Kolmetz
Greenwood T Perin
Jennifer C Glick
Mujtaba B Caldarera
Rodrigues I Vocelka
Tony B Albares
Wickens C Bowley
Alejandro O Gillian
Johnson W Ostrosky
Johnson V Stenseth
Antonio K Darakjy
Mayumi K Glick
Kadeem H Waycott
Sinclair F Gaucho
Jeanfrancois U Dilliard
Jennifer L Marrier
David U Royster
Kadeem J Garufi
Maria E Garufi
Jeanfrancois Z Bolognia
Jones P Malet
Murillo I Foller
Rodrigues D Bolognia
Morrow A Tollner
Tony E Amigon
Ivar M Dilliard
Costa D Iturbide
Nicolas V Caldarera
Antonio H Darakjy
Octavia O Garufi
Morrow G Butt
Antonio X Stockham
Johnson E Briddick
Nicolas W Malet
Sinclair E Dilliard
Adams K Amigon
Antonio K Maclead
Ashley B Garufi
IdCountryDate
1000India2024-05-23
1001Spain2024-04-28
1002Brazil2024-05-19
1003Italy2024-04-26
1004Brazil2024-05-06
1005Brazil2024-05-02
1006France2024-05-07
1007Canada2024-04-25
1008Brazil2024-05-03
1009United Kingdom2024-05-07
1010Argentina2024-05-14
1011Japan2024-04-27
1012Canada2024-05-22
1013Japan2024-05-03
1014United Kingdom2024-04-28
1015United Kingdom2024-04-29
1016Argentina2024-05-06
1017Canada2024-05-06
1018United Kingdom2024-04-28
1019Japan2024-05-03
1020Japan2024-05-17
1021Brazil2024-05-15
1022Germany2024-05-20
1023Argentina2024-05-02
1024France2024-05-17
1025United Kingdom2024-05-13
1026United Kingdom2024-05-01
1027Brazil2024-05-12
1028Canada2024-05-23
1029France2024-05-20
1030Germany2024-05-18
1031Canada2024-05-19
1032Brazil2024-05-08
1033Argentina2024-05-23
1034Argentina2024-05-10
1035Italy2024-05-08
1036United Kingdom2024-04-25
1037Argentina2024-04-25
1038Russia2024-04-26
1039Italy2024-05-19
1040Spain2024-05-06
1041United Kingdom2024-05-13
1042France2024-05-12
1043Russia2024-04-26
1044Russia2024-05-02
1045Canada2024-05-20
1046Japan2024-05-07
1047Japan2024-05-10
1048Italy2024-05-10
1049Japan2024-05-10

On-Demand Data

NameIdCountryDate
Antonio X Maclead1000Canada2024-04-30
Arvin X Poquette1001Canada2024-04-26
Salvatore X Wieser1002France2024-05-02
Juan Y Tollner1003United Kingdom2024-05-04
Darci R Royster1004Japan2024-05-07
Kaitlin E Figeroa1005Canada2024-05-07
Misaki U Foller1006Italy2024-05-17
Munro Y Inouye1007Canada2024-05-04
Sinclair R Foller1008Russia2024-04-29
Arvin B Vocelka1009Germany2024-04-30
Johnson Y Sergi1010Russia2024-05-04
Greenwood C Ruta1011Germany2024-04-30
Greenwood W Inouye1012Spain2024-04-29
Clifford Y Garufi1013Russia2024-04-28
Jeanfrancois S Whobrey1014France2024-05-19
Antonio X Gillian1015France2024-05-06
Ricardo E Flosi1016United Kingdom2024-05-10
Wickens S Sergi1017Canada2024-04-27
Rodrigues K Caudy1018Brazil2024-05-06
Ivar V Waycott1019Argentina2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio G SchemmerAustraliaAnna Fali NEW
Leja K SaylorsUnited KingdomAnna Fali UNQUALIFIED
Sinclair C BriddickBrazilAmy Elsner RENEWAL
Munro W StensethArgentinaStephen Shaw NEW
Isabel N GillianGermanyAsiya Javayant PROPOSAL
Smith G FigeroaCanadaIoni Bowcher QUALIFIED
James M FigeroaUnited KingdomStephen Shaw RENEWAL
Smith D SlusarskiGermanyAnna Fali QUALIFIED
Claire E ShinkoGermanyAsiya Javayant NEGOTIATION
Maria C PoquetteBrazilElwin Sharvill NEGOTIATION
Sinclair A SergiItalyOnyama Limba NEGOTIATION
Rodrigues T StensethJapanIvan Magalhaes RENEWAL
Aika U MorascaRussiaAnna Fali RENEWAL
Faith S CaldareraJapanIoni Bowcher NEW
Aditya D OldroydGermanyIvan Magalhaes NEGOTIATION
Jones Q StensethArgentinaIoni Bowcher NEW
Rodrigues D GlickJapanStephen Shaw NEW
Johnson W RoysterFranceAnna Fali NEW
Francesco F RulapaughArgentinaBernardo Dominic NEGOTIATION
Leon O NickaFranceStephen Shaw NEW
Octavia U StockhamFranceAsiya Javayant UNQUALIFIED
Faith K KolmetzIndiaIoni Bowcher QUALIFIED
David Z BologniaUnited KingdomBernardo Dominic NEW
Ivar P AmigonCanadaAsiya Javayant PROPOSAL
Isabel N StensethArgentinaAmy Elsner QUALIFIED
Johnson U FerenczGermanyIoni Bowcher UNQUALIFIED
Jones F ChuiAustraliaElwin Sharvill RENEWAL
Alejandro D WaycottIndiaIvan Magalhaes RENEWAL
David M NestleGermanyIoni Bowcher PROPOSAL
Francesco W CampainRussiaAnna Fali QUALIFIED
Munro X PerinFranceOnyama Limba RENEWAL
Isabel Y MaletIndiaBernardo Dominic QUALIFIED
Arvin W GillianItalyIoni Bowcher NEGOTIATION
Mujtaba N ButtUnited KingdomAnna Fali NEW
Emily T GarufiSpainIvan Magalhaes RENEWAL
Leja B VenereGermanyElwin Sharvill NEGOTIATION
Emily Y PaprockiFranceXuxue Feng NEGOTIATION
Arvin R AmigonIndiaAsiya Javayant QUALIFIED
Leja F TollnerGermanyElwin Sharvill UNQUALIFIED
Jones B MorascaUnited KingdomBernardo Dominic RENEWAL

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