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 Y SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Darci R PoquetteGermanyOnyama Limba UNQUALIFIED
Cody B NestleArgentinaIoni Bowcher NEW
Johnson Q DoeUnited KingdomAmy Elsner QUALIFIED
David P GauchoRussiaElwin Sharvill RENEWAL
Jeanfrancois Y MarrierBrazilElwin Sharvill RENEWAL
Morrow O KolmetzRussiaBernardo Dominic PROPOSAL
Nicolas N BologniaSpainIvan Magalhaes NEGOTIATION
Cody K CaldareraIndiaXuxue Feng UNQUALIFIED
David Z AlbaresAustraliaBernardo Dominic NEW
Jeanfrancois L BologniaArgentinaAmy Elsner NEGOTIATION
Julie M KolmetzSpainAmy Elsner PROPOSAL
Alejandro M FlosiJapanAmy Elsner NEW
Jeanfrancois T RoysterUnited KingdomOnyama Limba QUALIFIED
Murillo Z ShinkoJapanIoni Bowcher QUALIFIED
Clifford K TollnerUnited KingdomAmy Elsner NEGOTIATION
Adams T SlusarskiGermanyElwin Sharvill PROPOSAL
Smith Q WhobreyUnited KingdomAmy Elsner RENEWAL
Arvin Z MarrierSpainStephen Shaw UNQUALIFIED
Ricardo P FigeroaJapanStephen Shaw PROPOSAL
Claire B GarufiGermanyBernardo Dominic NEW
Alejandro K CampainIndiaBernardo Dominic NEW
Jones H AlbaresUnited KingdomBernardo Dominic UNQUALIFIED
Johnson X VocelkaAustraliaAmy Elsner PROPOSAL
Salvatore X CampainCanadaElwin Sharvill NEW
Clifford A RoysterCanadaAmy Elsner NEW
Morrow J IturbideFranceXuxue Feng QUALIFIED
Jennifer O FerenczSpainXuxue Feng RENEWAL
Ricardo I KuskoSpainIvan Magalhaes RENEWAL
Silvio F TollnerGermanyAnna Fali UNQUALIFIED
Ivar T PaprockiUnited KingdomXuxue Feng RENEWAL
Kaitlin Z PaprockiSpainElwin Sharvill RENEWAL
David Q IturbideCanadaBernardo Dominic NEGOTIATION
Maria A OldroydItalyAmy Elsner NEGOTIATION
James W BowleyIndiaOnyama Limba UNQUALIFIED
Costa Y CaldareraJapanXuxue Feng NEW
Antonio M FigeroaItalyXuxue Feng QUALIFIED
Jennifer Q CaudyUnited KingdomIvan Magalhaes PROPOSAL
Stacey M BriddickIndiaXuxue Feng UNQUALIFIED
Claire W KuskoSpainBernardo Dominic NEGOTIATION
Francesco D GlickAustraliaXuxue Feng UNQUALIFIED
Alejandro R CampainIndiaXuxue Feng PROPOSAL
Aika C FerenczIndiaAsiya Javayant PROPOSAL
Antonio G PaprockiArgentinaIvan Magalhaes NEGOTIATION
Silvio O OldroydBrazilIoni Bowcher NEGOTIATION
Julie O ChuiBrazilBernardo Dominic RENEWAL
Juan Z AlbaresGermanyAmy Elsner NEW
Smith W NestleRussiaAnna Fali PROPOSAL
Juan S StockhamSpainBernardo Dominic NEW
Greenwood H FerenczSpainXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois D VocelkaBrazilXuxue Feng PROPOSAL
Munro P RimSpainXuxue Feng UNQUALIFIED
Maisha N ButtAustraliaStephen Shaw PROPOSAL
Juan E RoysterFranceOnyama Limba QUALIFIED
Salvatore W WhobreyBrazilElwin Sharvill NEW
Faith S IturbideArgentinaBernardo Dominic NEW
Leja D ChuiCanadaBernardo Dominic NEW
Murillo A DoeCanadaAsiya Javayant NEW
Ivar N OldroydItalyElwin Sharvill UNQUALIFIED
Nicolas H VenereBrazilIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar N PerinBrazil2024-05-31Rousseaux, Michael Esq RENEWAL80Amy Elsner
1001Costa J NestleAustralia2024-06-08Printing Dimensions RENEWAL42Onyama Limba
1002James W MarrierArgentina2024-05-18Feiner Bros PROPOSAL15Bernardo Dominic
1003Claire N GauchoIndia2024-05-26Feltz Printing Service NEW1Stephen Shaw
1004Ricardo Q GarufiSpain2024-06-12Chapman, Ross E Esq NEGOTIATION79Amy Elsner
1005Clifford C WaycottCanada2024-06-16Commercial Press UNQUALIFIED56Onyama Limba
1006Greenwood S NickaUnited Kingdom2024-06-08Chanay, Jeffrey A Esq NEGOTIATION92Ivan Magalhaes
1007Stacey W NickaJapan2024-05-30Morlong Associates PROPOSAL9Bernardo Dominic
1008Jones W FerenczBrazil2024-05-24Rangoni Of Florence RENEWAL66Amy Elsner
1009Arvin S DoeBrazil2024-06-02Truhlar And Truhlar Attys PROPOSAL57Amy Elsner
1010Mayumi T KuskoBrazil2024-05-30Chanay, Jeffrey A Esq NEGOTIATION54Xuxue Feng
1011Adams V SlusarskiGermany2024-06-15Morlong Associates NEGOTIATION36Amy Elsner
1012Costa X InouyeCanada2024-06-15Dorl, James J Esq QUALIFIED24Amy Elsner
1013Aika B DilliardJapan2024-05-31Chapman, Ross E Esq NEGOTIATION3Asiya Javayant
1014Deepesh V PaprockiRussia2024-06-16Rousseaux, Michael Esq NEGOTIATION76Onyama Limba
1015Wickens R MarrierUnited Kingdom2024-06-12Printing Dimensions NEW89Onyama Limba
1016Faith R CaldareraUnited Kingdom2024-05-25King, Christopher A Esq QUALIFIED27Amy Elsner
1017Greenwood N MarrierRussia2024-05-31Chemel, James L Cpa QUALIFIED54Ioni Bowcher
1018Cody Y SlusarskiCanada2024-06-03King, Christopher A Esq NEW83Anna Fali
1019Jones N FigeroaBrazil2024-05-23Printing Dimensions NEGOTIATION7Ivan Magalhaes
1020Murillo D SchemmerRussia2024-05-24Chapman, Ross E Esq RENEWAL14Ivan Magalhaes
1021Claire J BriddickSpain2024-05-29Benton, John B Jr RENEWAL32Ivan Magalhaes
1022Jones L SergiGermany2024-06-16Feltz Printing Service QUALIFIED74Elwin Sharvill
1023Julie D OstroskyCanada2024-05-29Benton, John B Jr PROPOSAL70Ioni Bowcher
1024Jeanfrancois Y SergiIndia2024-06-15Truhlar And Truhlar Attys RENEWAL85Anna Fali
1025Leon M VenereSpain2024-05-22Truhlar And Truhlar Attys PROPOSAL80Ioni Bowcher
1026Jones C RimFrance2024-06-13King, Christopher A Esq UNQUALIFIED13Bernardo Dominic
1027Darci R WhobreyUnited Kingdom2024-06-15Truhlar And Truhlar Attys NEGOTIATION49Ioni Bowcher
1028David Q StensethArgentina2024-05-20Rangoni Of Florence NEGOTIATION2Asiya Javayant
1029Juan V RulapaughBrazil2024-05-22Rangoni Of Florence NEGOTIATION62Amy Elsner
1030Jefferson C SchemmerBrazil2024-05-19Benton, John B Jr NEGOTIATION98Anna Fali
1031Ivar P RimArgentina2024-06-04Buckley Miller Wright RENEWAL43Ivan Magalhaes
1032Chavez C InouyeJapan2024-06-03King, Christopher A Esq NEGOTIATION36Asiya Javayant
1033Munro G GarufiArgentina2024-06-09Truhlar And Truhlar Attys NEW82Elwin Sharvill
1034Juan P NestleArgentina2024-06-06Morlong Associates NEW97Anna Fali
1035Maisha F SaylorsFrance2024-06-10Buckley Miller Wright UNQUALIFIED71Elwin Sharvill
1036Arvin M SaylorsGermany2024-05-25Morlong Associates RENEWAL81Ivan Magalhaes
1037Costa M AmigonBrazil2024-05-18Rangoni Of Florence PROPOSAL0Asiya Javayant
1038Jennifer C MorascaSpain2024-06-13Printing Dimensions RENEWAL41Amy Elsner
1039Chavez N FlosiBrazil2024-05-19Benton, John B Jr RENEWAL30Ioni Bowcher
1040Chavez W WhobreyItaly2024-06-04Benton, John B Jr QUALIFIED39Asiya Javayant
1041Wickens R BowleySpain2024-05-30Rangoni Of Florence RENEWAL63Onyama Limba
1042Jones Z GlickJapan2024-06-09Chapman, Ross E Esq NEW81Stephen Shaw
1043Isabel V ButtRussia2024-06-09Rousseaux, Michael Esq RENEWAL11Ivan Magalhaes
1044David Q GillianAustralia2024-05-19Truhlar And Truhlar Attys PROPOSAL67Onyama Limba
1045Claire B CampainFrance2024-06-01Dorl, James J Esq QUALIFIED19Xuxue Feng
1046Julie J OldroydRussia2024-05-28Chapman, Ross E Esq UNQUALIFIED30Bernardo Dominic
1047Emily B AlbaresIndia2024-06-04Chemel, James L Cpa NEW30Asiya Javayant
1048Clifford Q PaprockiBrazil2024-05-24Rangoni Of Florence QUALIFIED60Ivan Magalhaes
1049Smith I PaprockiSpain2024-05-30Benton, John B Jr UNQUALIFIED6Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ivar D KolmetzSpainXuxue Feng UNQUALIFIED
Sinclair V StockhamIndiaBernardo Dominic NEGOTIATION
Jeanfrancois L FlosiSpainIvan Magalhaes NEW
Maisha X RoysterItalyAnna Fali RENEWAL
Jeanfrancois Z RimGermanyElwin Sharvill UNQUALIFIED
Salvatore U GillianJapanElwin Sharvill PROPOSAL
Ricardo G CaudyAustraliaAsiya Javayant NEW
Adams Q MorascaFranceXuxue Feng RENEWAL
Misaki I PaprockiUnited KingdomBernardo Dominic PROPOSAL
Johnson J DoeGermanyAmy Elsner NEW
Greenwood F CampainFranceAnna Fali NEGOTIATION
Francesco A NestleIndiaAnna Fali PROPOSAL
Cody W NestleBrazilElwin Sharvill RENEWAL
Rodrigues U WieserJapanStephen Shaw NEW
Costa B TollnerBrazilXuxue Feng PROPOSAL
Jones G RoysterIndiaAsiya Javayant NEW
Cody B SlusarskiAustraliaIoni Bowcher RENEWAL
Aruna I RulapaughSpainIoni Bowcher UNQUALIFIED
Murillo W CaudySpainIoni Bowcher PROPOSAL
Smith P FerenczCanadaAsiya Javayant PROPOSAL
Jefferson A OldroydJapanIvan Magalhaes QUALIFIED
James E AlbaresGermanyAsiya Javayant RENEWAL
Tony B NestleSpainAsiya Javayant RENEWAL
Kadeem T CaudyBrazilAsiya Javayant RENEWAL
Stacey T RulapaughGermanyBernardo Dominic UNQUALIFIED
Rodrigues U FlosiItalyAnna Fali QUALIFIED
Isabel D RulapaughAustraliaAmy Elsner PROPOSAL
Chavez F WaycottIndiaAsiya Javayant UNQUALIFIED
Costa N BologniaUnited KingdomIvan Magalhaes NEGOTIATION
Octavia T StensethArgentinaBernardo Dominic NEGOTIATION
Jefferson N BologniaBrazilOnyama Limba QUALIFIED
Rodrigues F RutaUnited KingdomAmy Elsner NEW
Wickens O SergiSpainIvan Magalhaes NEW
Claire W RoysterAustraliaAmy Elsner PROPOSAL
Julie P NestleArgentinaElwin Sharvill NEGOTIATION
Nicolas R AmigonArgentinaBernardo Dominic QUALIFIED
Darci G SaylorsRussiaAsiya Javayant UNQUALIFIED
Johnson H BowleyIndiaAsiya Javayant NEW
Maria I CampainItalyIoni Bowcher RENEWAL
Izzy N OstroskyJapanAmy Elsner NEGOTIATION
Jeanfrancois P NickaUnited KingdomOnyama Limba UNQUALIFIED
Ivar V NestleItalyIvan Magalhaes NEW
Octavia Y WieserSpainXuxue Feng NEW
Octavia Z FigeroaArgentinaAnna Fali NEGOTIATION
Izzy G MorascaUnited KingdomXuxue Feng UNQUALIFIED
Smith G GlickRussiaOnyama Limba RENEWAL
Nicolas G FigeroaAustraliaStephen Shaw NEW
Jefferson U FlosiCanadaElwin Sharvill UNQUALIFIED
Stacey L DarakjyIndiaBernardo Dominic NEGOTIATION
Ricardo J InouyeArgentinaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Chavez F Saylors
Alejandro H Chui
Claire N Ostrosky
Murillo B Briddick
Claire F Rulapaugh
Smith H Caudy
Morrow G Garufi
Stacey K Ferencz
Arvin T Garufi
Mayumi K Glick
Johnson N Morasca
Mayumi C Venere
Deepesh R Kusko
Stacey S Chui
Claire Q Stockham
Adams L Briddick
Julie C Waycott
Darci D Slusarski
Greenwood J Waycott
Aika V Wieser
Octavia A Glick
Rodrigues Y Tollner
Jefferson G Tollner
Tony Y Garufi
Mujtaba W Flosi
Maria A Tollner
Antonio Y Caudy
Alejandro K Stenseth
Aditya N Caudy
Mayumi D Saylors
David S Bowley
Nicolas F Oldroyd
Isabel D Ruta
Silvio J Vocelka
Kaitlin W Figeroa
Clifford H Saylors
Isabel M Gillian
Jones W Saylors
Emily N Caudy
Nicolas D Tollner
Octavia E Poquette
James L Dilliard
Sinclair K Malet
Maisha E Stockham
Leja W Morasca
Murillo K Rulapaugh
Tony S Poquette
Adams X Glick
Julie E Inouye
Ashley G Oldroyd
IdCountryDate
1000Russia2024-06-09
1001France2024-06-11
1002United Kingdom2024-06-13
1003Argentina2024-05-28
1004Russia2024-06-01
1005France2024-05-25
1006Canada2024-06-04
1007Canada2024-05-29
1008Argentina2024-06-09
1009France2024-06-02
1010France2024-05-22
1011Russia2024-06-14
1012Brazil2024-05-18
1013Canada2024-06-16
1014Argentina2024-06-12
1015Australia2024-06-16
1016France2024-05-24
1017Brazil2024-06-15
1018Russia2024-06-03
1019Argentina2024-05-22
1020Australia2024-05-29
1021Russia2024-05-20
1022United Kingdom2024-05-29
1023Argentina2024-06-08
1024Spain2024-05-30
1025Australia2024-05-25
1026France2024-06-09
1027Brazil2024-05-26
1028India2024-06-01
1029Japan2024-05-18
1030Japan2024-05-19
1031United Kingdom2024-05-30
1032Japan2024-05-20
1033Australia2024-06-14
1034Argentina2024-05-25
1035India2024-05-20
1036France2024-06-14
1037Australia2024-05-22
1038United Kingdom2024-06-16
1039Germany2024-05-25
1040India2024-06-15
1041France2024-06-02
1042Australia2024-06-05
1043Italy2024-05-19
1044Australia2024-06-13
1045India2024-05-31
1046Germany2024-06-15
1047Brazil2024-06-08
1048Australia2024-06-05
1049Japan2024-06-12

On-Demand Data

NameIdCountryDate
Izzy C Ruta1000Brazil2024-05-26
Kaitlin G Inouye1001Brazil2024-05-23
Jennifer Q Wieser1002Australia2024-05-26
Maria A Rulapaugh1003Canada2024-05-19
Darci V Caldarera1004Russia2024-05-26
Chavez O Rim1005Brazil2024-06-14
Smith K Caudy1006United Kingdom2024-05-25
Nicolas N Whobrey1007Brazil2024-05-20
Clifford X Ferencz1008Spain2024-05-22
Silvio S Ruta1009Spain2024-05-28
Izzy N Iturbide1010Canada2024-05-30
Izzy G Glick1011Russia2024-06-02
Deepesh L Butt1012Russia2024-06-05
Tony J Iturbide1013Russia2024-05-28
Jefferson O Whobrey1014India2024-06-09
Juan W Inouye1015Australia2024-05-19
Misaki R Garufi1016United Kingdom2024-05-18
Aika P Marrier1017France2024-05-22
Aruna H Vocelka1018Italy2024-06-02
Ivar B Malet1019India2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer I BologniaRussiaXuxue Feng PROPOSAL
Octavia Z RimFranceIvan Magalhaes RENEWAL
Sinclair H PoquetteBrazilXuxue Feng QUALIFIED
Antonio F BowleyIndiaElwin Sharvill NEW
Ivar E CaldareraItalyAnna Fali NEGOTIATION
Morrow X GlickItalyOnyama Limba QUALIFIED
Arvin E NestleRussiaAnna Fali UNQUALIFIED
Chavez K MaletGermanyElwin Sharvill UNQUALIFIED
Ivar S TollnerArgentinaXuxue Feng PROPOSAL
Ashley P BowleyFranceAsiya Javayant UNQUALIFIED
Clifford D MaletAustraliaStephen Shaw NEGOTIATION
Wickens K CaldareraFranceIoni Bowcher UNQUALIFIED
Smith S AlbaresIndiaOnyama Limba NEW
David V BriddickFranceAmy Elsner UNQUALIFIED
Misaki U MaletGermanyAmy Elsner PROPOSAL
Aruna B NickaAustraliaBernardo Dominic RENEWAL
Faith F SaylorsArgentinaOnyama Limba NEGOTIATION
Maria F StockhamIndiaXuxue Feng UNQUALIFIED
Izzy V KolmetzUnited KingdomElwin Sharvill PROPOSAL
Ricardo L MaletAustraliaStephen Shaw RENEWAL
Leon Z AlbaresGermanyStephen Shaw UNQUALIFIED
Jefferson U PoquetteIndiaAsiya Javayant QUALIFIED
Darci Q BriddickBrazilAmy Elsner NEGOTIATION
Aruna P FerenczRussiaXuxue Feng QUALIFIED
Arvin U FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Leja H MaletArgentinaOnyama Limba PROPOSAL
Maisha P TollnerFranceStephen Shaw PROPOSAL
Tony R MacleadGermanyAsiya Javayant NEGOTIATION
Ivar T SergiItalyAmy Elsner NEW
Jefferson E IturbideSpainAmy Elsner NEGOTIATION
Izzy J GauchoAustraliaBernardo Dominic PROPOSAL
Maria X SchemmerIndiaElwin Sharvill RENEWAL
Ricardo L ChuiIndiaStephen Shaw UNQUALIFIED
Chavez R FollerCanadaElwin Sharvill UNQUALIFIED
Maisha B WhobreyArgentinaAmy Elsner NEGOTIATION
Deepesh O RoysterArgentinaXuxue Feng PROPOSAL
Smith E MorascaSpainAmy Elsner PROPOSAL
Tony F PerinUnited KingdomElwin Sharvill NEGOTIATION
Silvio H MorascaAustraliaXuxue Feng UNQUALIFIED
Ricardo C StensethIndiaIvan Magalhaes 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>