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
Aditya I SergiBrazilBernardo Dominic NEW
Ashley K SlusarskiSpainXuxue Feng UNQUALIFIED
Kadeem K NickaFranceOnyama Limba UNQUALIFIED
Izzy V WaycottUnited KingdomBernardo Dominic NEGOTIATION
Deepesh O OldroydUnited KingdomBernardo Dominic RENEWAL
Munro M TollnerJapanStephen Shaw NEW
James V AlbaresJapanXuxue Feng NEW
Maisha L NickaIndiaOnyama Limba QUALIFIED
Murillo J StockhamSpainBernardo Dominic NEW
Tony K StockhamCanadaBernardo Dominic PROPOSAL
Kaitlin P KolmetzArgentinaAnna Fali QUALIFIED
Salvatore Z PaprockiIndiaBernardo Dominic NEGOTIATION
Maria A KolmetzGermanyOnyama Limba NEGOTIATION
Chavez Q VenereIndiaIvan Magalhaes NEW
Octavia F CaudyRussiaOnyama Limba NEGOTIATION
Ashley L OldroydAustraliaStephen Shaw NEGOTIATION
Darci M TollnerRussiaAmy Elsner PROPOSAL
Sinclair K PaprockiSpainAmy Elsner NEW
Ashley K MorascaSpainIvan Magalhaes UNQUALIFIED
Johnson V PerinArgentinaAmy Elsner UNQUALIFIED
Murillo U DilliardGermanyAnna Fali NEGOTIATION
Stacey N ButtSpainAmy Elsner UNQUALIFIED
Aditya W CampainFranceIoni Bowcher UNQUALIFIED
Aika V CampainCanadaBernardo Dominic UNQUALIFIED
Emily F DilliardArgentinaIvan Magalhaes UNQUALIFIED
Salvatore D SergiCanadaBernardo Dominic NEGOTIATION
Chavez D MacleadSpainStephen Shaw PROPOSAL
Wickens M OldroydItalyAmy Elsner NEGOTIATION
Alejandro F ChuiArgentinaIoni Bowcher QUALIFIED
Julie D MaletItalyAnna Fali NEGOTIATION
Smith V CaudyUnited KingdomElwin Sharvill UNQUALIFIED
Sinclair O KolmetzRussiaAnna Fali QUALIFIED
Ivar X FerenczIndiaIoni Bowcher NEGOTIATION
James K PoquetteAustraliaAnna Fali NEGOTIATION
Claire F DoeBrazilElwin Sharvill RENEWAL
Francesco N BowleyIndiaBernardo Dominic PROPOSAL
Kaitlin Z DarakjyGermanyBernardo Dominic NEW
Aditya M MorascaAustraliaElwin Sharvill RENEWAL
Stacey B BriddickArgentinaStephen Shaw NEGOTIATION
Darci D IturbideBrazilElwin Sharvill NEGOTIATION
Julie U MorascaItalyAnna Fali NEGOTIATION
Cody Y ChuiAustraliaBernardo Dominic NEGOTIATION
Francesco D ButtFranceAnna Fali RENEWAL
Kaitlin M GarufiIndiaAnna Fali QUALIFIED
Silvio W IturbideArgentinaIvan Magalhaes PROPOSAL
Morrow Q WhobreyGermanyXuxue Feng NEGOTIATION
Jones D AlbaresBrazilAsiya Javayant NEGOTIATION
Murillo T DilliardUnited KingdomAnna Fali UNQUALIFIED
Stacey Z GlickSpainXuxue Feng PROPOSAL
Smith J PoquetteAustraliaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Antonio I MaletUnited KingdomIoni Bowcher PROPOSAL
Isabel I DoeAustraliaAsiya Javayant NEW
Jones N GlickFranceXuxue Feng NEGOTIATION
Murillo H WieserItalyXuxue Feng NEGOTIATION
Maria P GauchoArgentinaAsiya Javayant UNQUALIFIED
Aika O WaycottAustraliaElwin Sharvill UNQUALIFIED
Octavia S WieserItalyBernardo Dominic PROPOSAL
Aika D GlickBrazilXuxue Feng NEGOTIATION
Emily D ShinkoFranceAnna Fali RENEWAL
Jones U CaudyBrazilAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey D GarufiGermany2024-05-24Chanay, Jeffrey A Esq NEGOTIATION83Elwin Sharvill
1001Clifford T AlbaresUnited Kingdom2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED2Elwin Sharvill
1002Salvatore I RoysterJapan2024-06-18Chapman, Ross E Esq PROPOSAL70Stephen Shaw
1003Alejandro E DoeBrazil2024-05-27Chemel, James L Cpa QUALIFIED34Ivan Magalhaes
1004Sinclair V StockhamArgentina2024-06-17Commercial Press NEGOTIATION72Amy Elsner
1005Darci T PaprockiAustralia2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED44Onyama Limba
1006Faith V SergiAustralia2024-06-15Buckley Miller Wright PROPOSAL45Asiya Javayant
1007Nicolas B StockhamIndia2024-06-08Printing Dimensions PROPOSAL91Ivan Magalhaes
1008Wickens X RoysterCanada2024-06-16Chemel, James L Cpa NEW91Anna Fali
1009Emily I WaycottRussia2024-06-19Chemel, James L Cpa PROPOSAL25Ioni Bowcher
1010Ivar I DoeArgentina2024-06-13Benton, John B Jr NEW90Elwin Sharvill
1011Maria J StensethArgentina2024-05-24King, Christopher A Esq NEGOTIATION68Amy Elsner
1012Faith R SergiGermany2024-06-09Chanay, Jeffrey A Esq QUALIFIED24Anna Fali
1013Leja W PaprockiGermany2024-05-26Rangoni Of Florence NEGOTIATION13Xuxue Feng
1014Darci O MacleadGermany2024-06-03King, Christopher A Esq PROPOSAL14Anna Fali
1015Alejandro Q KuskoArgentina2024-05-29Feiner Bros RENEWAL17Onyama Limba
1016Ricardo P FerenczArgentina2024-06-15Benton, John B Jr UNQUALIFIED87Xuxue Feng
1017Stacey X GillianJapan2024-06-12Morlong Associates QUALIFIED40Ioni Bowcher
1018Wickens W BowleyIndia2024-05-31Printing Dimensions QUALIFIED70Xuxue Feng
1019Ashley S ButtFrance2024-06-19Dorl, James J Esq NEGOTIATION72Ivan Magalhaes
1020Ivar B MacleadRussia2024-06-10Morlong Associates QUALIFIED12Elwin Sharvill
1021Isabel I RimIndia2024-05-31Feltz Printing Service RENEWAL1Anna Fali
1022David C ChuiArgentina2024-05-29King, Christopher A Esq NEGOTIATION88Asiya Javayant
1023Arvin R SlusarskiUnited Kingdom2024-06-03King, Christopher A Esq QUALIFIED39Ivan Magalhaes
1024Johnson S BriddickSpain2024-06-04Commercial Press UNQUALIFIED53Amy Elsner
1025Deepesh V TollnerFrance2024-06-16King, Christopher A Esq NEGOTIATION5Asiya Javayant
1026Munro Q VocelkaGermany2024-06-01Chanay, Jeffrey A Esq RENEWAL17Ivan Magalhaes
1027Juan R MaletFrance2024-06-20Morlong Associates PROPOSAL68Onyama Limba
1028Aditya S RimArgentina2024-05-25Morlong Associates NEGOTIATION82Asiya Javayant
1029James G OldroydAustralia2024-06-07Chapman, Ross E Esq UNQUALIFIED57Asiya Javayant
1030Sinclair N PaprockiCanada2024-06-10Dorl, James J Esq UNQUALIFIED35Ioni Bowcher
1031Munro T FollerItaly2024-06-15Printing Dimensions QUALIFIED36Ioni Bowcher
1032Jefferson S MacleadItaly2024-05-31Benton, John B Jr NEW27Amy Elsner
1033Isabel Q StensethSpain2024-05-26Printing Dimensions QUALIFIED66Onyama Limba
1034Stacey A BriddickCanada2024-05-30Morlong Associates NEGOTIATION15Anna Fali
1035Francesco W WaycottUnited Kingdom2024-05-26King, Christopher A Esq UNQUALIFIED50Onyama Limba
1036Clifford P CampainSpain2024-05-25Morlong Associates PROPOSAL98Bernardo Dominic
1037Aika V DarakjyJapan2024-06-18Rangoni Of Florence NEW1Asiya Javayant
1038James Y StockhamIndia2024-06-03Truhlar And Truhlar Attys NEW2Asiya Javayant
1039Murillo J SergiIndia2024-06-01Feiner Bros NEW10Bernardo Dominic
1040Costa U PerinIndia2024-06-02Dorl, James J Esq NEW3Xuxue Feng
1041Mayumi D PerinSpain2024-06-14Benton, John B Jr UNQUALIFIED57Onyama Limba
1042Leja K MacleadUnited Kingdom2024-06-21Rangoni Of Florence NEW56Onyama Limba
1043Greenwood W RutaBrazil2024-05-27Feltz Printing Service QUALIFIED3Xuxue Feng
1044Kadeem Q SchemmerFrance2024-06-13Printing Dimensions RENEWAL89Asiya Javayant
1045Juan T TollnerIndia2024-05-30Feltz Printing Service NEW93Elwin Sharvill
1046Johnson W TollnerCanada2024-06-04Benton, John B Jr NEGOTIATION2Amy Elsner
1047Costa R GillianAustralia2024-06-18Rousseaux, Michael Esq UNQUALIFIED40Stephen Shaw
1048Jefferson Y FigeroaFrance2024-06-11Benton, John B Jr RENEWAL54Asiya Javayant
1049Murillo Q CaudyIndia2024-06-03Chanay, Jeffrey A Esq PROPOSAL71Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mayumi M MaletSpainAsiya Javayant RENEWAL
Juan U VenereUnited KingdomElwin Sharvill QUALIFIED
Claire H PerinUnited KingdomIoni Bowcher QUALIFIED
Adams T MaletIndiaBernardo Dominic RENEWAL
Maria H FigeroaJapanAsiya Javayant NEGOTIATION
Kadeem V NestleBrazilAnna Fali PROPOSAL
Emily V PerinAustraliaAsiya Javayant PROPOSAL
Jones H PerinCanadaAsiya Javayant PROPOSAL
David M KuskoRussiaOnyama Limba NEGOTIATION
Faith Z VocelkaGermanyElwin Sharvill QUALIFIED
Misaki Y FollerBrazilIvan Magalhaes NEW
Emily O StockhamUnited KingdomAnna Fali QUALIFIED
Aditya P BologniaAustraliaAnna Fali NEGOTIATION
Arvin H NestleArgentinaStephen Shaw NEGOTIATION
Misaki H MacleadItalyIoni Bowcher QUALIFIED
Maisha M DilliardFranceOnyama Limba NEGOTIATION
Leon H MarrierArgentinaBernardo Dominic PROPOSAL
Silvio R AlbaresBrazilBernardo Dominic NEGOTIATION
Leja O GauchoSpainAnna Fali PROPOSAL
Leja I OstroskyAustraliaIoni Bowcher UNQUALIFIED
Silvio D FigeroaFranceElwin Sharvill UNQUALIFIED
Isabel S GauchoFranceElwin Sharvill QUALIFIED
Jennifer F StensethJapanIvan Magalhaes UNQUALIFIED
Jefferson V MacleadBrazilXuxue Feng NEW
Ashley E DarakjyCanadaXuxue Feng NEW
Ricardo U KolmetzFranceBernardo Dominic NEW
Stacey B MaletItalyAsiya Javayant RENEWAL
Mujtaba X GillianCanadaIoni Bowcher RENEWAL
Sinclair S SchemmerArgentinaAsiya Javayant QUALIFIED
Nicolas W NestleCanadaAsiya Javayant NEW
Leon I PaprockiArgentinaOnyama Limba PROPOSAL
Jeanfrancois T SaylorsFranceBernardo Dominic QUALIFIED
Darci J PoquetteArgentinaIvan Magalhaes QUALIFIED
Claire C RimCanadaIvan Magalhaes NEGOTIATION
Murillo G DilliardBrazilAmy Elsner QUALIFIED
Silvio G BriddickAustraliaAnna Fali QUALIFIED
Munro E FerenczAustraliaXuxue Feng QUALIFIED
Sinclair E TollnerRussiaIoni Bowcher QUALIFIED
Misaki M PerinUnited KingdomBernardo Dominic RENEWAL
Ricardo O SlusarskiUnited KingdomStephen Shaw NEGOTIATION
Murillo A IturbideArgentinaStephen Shaw RENEWAL
Munro E ShinkoItalyBernardo Dominic NEW
Ricardo F SaylorsFranceAsiya Javayant NEGOTIATION
Kaitlin X SaylorsArgentinaStephen Shaw QUALIFIED
Ricardo N FollerIndiaOnyama Limba QUALIFIED
James Y OstroskyJapanXuxue Feng PROPOSAL
Jeanfrancois C SergiGermanyOnyama Limba UNQUALIFIED
Clifford M BriddickSpainOnyama Limba PROPOSAL
Isabel U MaletJapanBernardo Dominic QUALIFIED
Silvio R FlosiItalyIoni Bowcher RENEWAL
Frozen Columns
Name
Emily Y Foller
Ashley O Saylors
Jeanfrancois N Wieser
Salvatore I Butt
Jones S Bolognia
Emily D Ostrosky
Mayumi D Bowley
Alejandro T Kolmetz
Ricardo F Dilliard
Claire C Malet
Darci K Caudy
Ivar Z Marrier
Aditya L Ferencz
Cody P Tollner
James R Maclead
Salvatore E Slusarski
Ivar X Nicka
Octavia V Dilliard
Francesco Q Ostrosky
Faith Z Kolmetz
Maria B Inouye
Aditya S Iturbide
Salvatore K Dilliard
Ivar V Malet
Ivar U Ostrosky
Deepesh B Caudy
Salvatore W Rulapaugh
Tony A Marrier
Greenwood I Whobrey
Deepesh S Flosi
Emily S Iturbide
Octavia P Gillian
Aika Z Darakjy
Jefferson H Nicka
Tony N Venere
Cody U Tollner
Cody L Poquette
Wickens B Sergi
Ashley C Schemmer
Isabel N Garufi
Mayumi G Doe
Emily Y Poquette
Salvatore X Marrier
Leja P Ruta
Smith S Sergi
Aditya S Bolognia
Aruna M Paprocki
Darci R Dilliard
Clifford I Figeroa
Aditya A Venere
IdCountryDate
1000United Kingdom2024-05-24
1001Argentina2024-05-30
1002France2024-06-21
1003Russia2024-06-12
1004Japan2024-06-02
1005Germany2024-05-31
1006Argentina2024-05-25
1007Argentina2024-06-12
1008Italy2024-06-12
1009Russia2024-06-10
1010France2024-06-04
1011Germany2024-06-07
1012United Kingdom2024-06-02
1013Germany2024-05-31
1014Canada2024-06-04
1015Spain2024-06-02
1016India2024-06-02
1017Brazil2024-06-20
1018United Kingdom2024-06-20
1019Spain2024-06-21
1020United Kingdom2024-06-08
1021Brazil2024-06-21
1022Argentina2024-06-15
1023Australia2024-06-13
1024India2024-05-27
1025Italy2024-06-04
1026Brazil2024-06-03
1027Italy2024-05-25
1028Australia2024-05-30
1029Germany2024-06-11
1030Spain2024-06-02
1031Italy2024-05-31
1032India2024-05-31
1033Brazil2024-06-13
1034Italy2024-06-21
1035France2024-05-24
1036Spain2024-06-11
1037Italy2024-05-28
1038Brazil2024-06-20
1039Brazil2024-06-07
1040France2024-05-29
1041France2024-06-06
1042Russia2024-06-06
1043France2024-06-14
1044Australia2024-06-12
1045France2024-06-02
1046Canada2024-06-12
1047Australia2024-06-16
1048Russia2024-05-25
1049Italy2024-05-31

On-Demand Data

NameIdCountryDate
Francesco X Sergi1000United Kingdom2024-05-29
Aditya G Darakjy1001Brazil2024-06-17
Leon C Chui1002Australia2024-06-07
Greenwood L Briddick1003Italy2024-06-06
Ashley Z Nicka1004Russia2024-06-16
Salvatore H Paprocki1005United Kingdom2024-05-28
Kadeem Y Caudy1006Australia2024-06-21
Salvatore W Nestle1007Australia2024-06-03
Faith R Stockham1008United Kingdom2024-06-10
Murillo T Kolmetz1009India2024-06-13
Adams J Tollner1010Brazil2024-06-11
Chavez R Rim1011Spain2024-05-30
Johnson B Garufi1012Canada2024-05-25
Chavez U Marrier1013Germany2024-06-04
Kaitlin H Briddick1014United Kingdom2024-06-03
Juan W Saylors1015India2024-06-06
Isabel E Rim1016Japan2024-06-02
Aditya Z Dilliard1017France2024-05-30
Sinclair A Bolognia1018Germany2024-05-26
Kadeem W Butt1019Brazil2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio T PaprockiGermanyBernardo Dominic UNQUALIFIED
Jones S OstroskyIndiaAsiya Javayant RENEWAL
Cody L FigeroaGermanyIoni Bowcher RENEWAL
Jefferson U SaylorsCanadaBernardo Dominic NEGOTIATION
Maisha I MaletSpainOnyama Limba QUALIFIED
Ivar Z IturbideBrazilAmy Elsner QUALIFIED
Emily S AmigonArgentinaXuxue Feng PROPOSAL
Chavez M BriddickCanadaElwin Sharvill NEW
Faith X WhobreyCanadaStephen Shaw NEGOTIATION
Johnson E DilliardJapanIoni Bowcher NEW
James M IturbideAustraliaIoni Bowcher NEW
Deepesh F StockhamArgentinaStephen Shaw NEGOTIATION
Kaitlin Q ShinkoBrazilAsiya Javayant PROPOSAL
Aika O BowleyIndiaAsiya Javayant PROPOSAL
Juan A DilliardArgentinaIoni Bowcher NEW
Silvio R OstroskyRussiaElwin Sharvill PROPOSAL
Clifford V VenereFranceIoni Bowcher UNQUALIFIED
Maisha A FlosiJapanBernardo Dominic PROPOSAL
Ivar W StockhamJapanBernardo Dominic RENEWAL
Munro A KuskoSpainAsiya Javayant NEW
Alejandro N GlickJapanAmy Elsner PROPOSAL
Costa N VenereSpainAnna Fali QUALIFIED
Leja G ShinkoAustraliaOnyama Limba NEW
Ricardo W PerinRussiaOnyama Limba RENEWAL
Morrow P PaprockiArgentinaOnyama Limba UNQUALIFIED
Maisha A CaudyBrazilAnna Fali UNQUALIFIED
Sinclair M PaprockiCanadaAmy Elsner NEGOTIATION
Silvio B FollerRussiaIvan Magalhaes NEW
Maria Y ShinkoRussiaAmy Elsner RENEWAL
Mayumi J RutaUnited KingdomAsiya Javayant QUALIFIED
Silvio S FlosiCanadaStephen Shaw NEGOTIATION
Antonio H ButtArgentinaAsiya Javayant RENEWAL
Alejandro R RulapaughBrazilXuxue Feng NEW
Misaki B CampainRussiaIvan Magalhaes RENEWAL
Maisha Q SchemmerAustraliaOnyama Limba PROPOSAL
Francesco G OldroydBrazilAsiya Javayant PROPOSAL
Adams U NickaSpainBernardo Dominic NEW
Maria D VocelkaFranceElwin Sharvill PROPOSAL
Arvin E KuskoUnited KingdomBernardo Dominic NEW
Aika I RutaIndiaBernardo Dominic QUALIFIED

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