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
Jeanfrancois E WieserJapanBernardo Dominic QUALIFIED
Maria Y InouyeSpainAmy Elsner RENEWAL
Kaitlin I CampainArgentinaIvan Magalhaes PROPOSAL
Alejandro I KolmetzJapanAsiya Javayant QUALIFIED
Wickens C SchemmerGermanyBernardo Dominic NEGOTIATION
Antonio J KuskoCanadaStephen Shaw RENEWAL
Wickens H OstroskyFranceOnyama Limba PROPOSAL
Ricardo S PaprockiAustraliaAmy Elsner UNQUALIFIED
Jones P MarrierFranceOnyama Limba NEGOTIATION
Chavez U MaletArgentinaAmy Elsner UNQUALIFIED
Ricardo E AmigonCanadaIoni Bowcher NEGOTIATION
Adams B WieserUnited KingdomOnyama Limba QUALIFIED
Izzy N GauchoSpainElwin Sharvill UNQUALIFIED
Arvin I CampainUnited KingdomAnna Fali UNQUALIFIED
Kadeem I MorascaGermanyOnyama Limba PROPOSAL
Stacey V SchemmerRussiaBernardo Dominic NEW
Arvin Y ShinkoUnited KingdomIvan Magalhaes NEW
Darci K DarakjyFranceStephen Shaw RENEWAL
Stacey U BriddickFranceOnyama Limba QUALIFIED
Octavia D FigeroaAustraliaBernardo Dominic RENEWAL
Claire Q WieserCanadaXuxue Feng PROPOSAL
Ashley Y CaudyRussiaOnyama Limba QUALIFIED
Ivar E NestleJapanIvan Magalhaes NEW
Emily Z ChuiItalyXuxue Feng UNQUALIFIED
Octavia S SchemmerArgentinaXuxue Feng QUALIFIED
Greenwood W FerenczAustraliaXuxue Feng NEGOTIATION
Mujtaba N MacleadJapanStephen Shaw QUALIFIED
Maisha X VenereIndiaStephen Shaw PROPOSAL
Tony S OstroskyItalyAmy Elsner UNQUALIFIED
Jones W TollnerRussiaAsiya Javayant UNQUALIFIED
Deepesh Z FerenczArgentinaAmy Elsner RENEWAL
Octavia K BologniaBrazilOnyama Limba RENEWAL
Leja H OldroydFranceIvan Magalhaes QUALIFIED
Jefferson I GauchoFranceOnyama Limba PROPOSAL
Tony L TollnerCanadaElwin Sharvill NEGOTIATION
Maisha C FollerItalyAmy Elsner RENEWAL
Chavez M MarrierSpainStephen Shaw NEGOTIATION
Smith X GlickGermanyAnna Fali RENEWAL
Darci O MaletRussiaElwin Sharvill QUALIFIED
Jones P MacleadRussiaXuxue Feng RENEWAL
Salvatore F CaldareraGermanyAmy Elsner NEW
Deepesh X MaletGermanyIoni Bowcher PROPOSAL
Faith Y FerenczUnited KingdomAsiya Javayant RENEWAL
Costa J CaldareraFranceOnyama Limba PROPOSAL
Aruna L KolmetzJapanElwin Sharvill PROPOSAL
Morrow X CaldareraFranceStephen Shaw QUALIFIED
Izzy R SergiJapanXuxue Feng PROPOSAL
Greenwood J MacleadSpainXuxue Feng NEGOTIATION
Alejandro S WieserArgentinaIvan Magalhaes QUALIFIED
Faith X WhobreyArgentinaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith Y BologniaUnited KingdomOnyama Limba RENEWAL
Claire M IturbideRussiaXuxue Feng QUALIFIED
Kaitlin H FerenczSpainAsiya Javayant NEGOTIATION
Munro R MarrierCanadaXuxue Feng NEGOTIATION
Mujtaba N PoquetteGermanyAsiya Javayant PROPOSAL
Juan N FerenczGermanyStephen Shaw QUALIFIED
Johnson Q KolmetzItalyBernardo Dominic QUALIFIED
Costa K DarakjyItalyIvan Magalhaes PROPOSAL
Jennifer D RimSpainAmy Elsner QUALIFIED
Aruna V SergiCanadaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro Z DoeItaly2024-05-30King, Christopher A Esq RENEWAL8Onyama Limba
1001Morrow L KolmetzBrazil2024-05-20Feiner Bros PROPOSAL4Ivan Magalhaes
1002Rodrigues S DilliardJapan2024-05-29Truhlar And Truhlar Attys RENEWAL61Anna Fali
1003Deepesh W TollnerGermany2024-05-25Buckley Miller Wright PROPOSAL32Asiya Javayant
1004Deepesh J KolmetzFrance2024-06-07Rangoni Of Florence UNQUALIFIED65Onyama Limba
1005Alejandro R PoquetteJapan2024-06-12Commercial Press RENEWAL45Amy Elsner
1006Costa T DoeGermany2024-06-14Dorl, James J Esq UNQUALIFIED48Amy Elsner
1007Antonio C AmigonItaly2024-06-04Benton, John B Jr RENEWAL2Asiya Javayant
1008Isabel L InouyeArgentina2024-06-06Printing Dimensions NEW20Elwin Sharvill
1009Johnson D SergiItaly2024-05-24Chapman, Ross E Esq QUALIFIED84Bernardo Dominic
1010Greenwood W NestleRussia2024-05-31Feiner Bros RENEWAL35Elwin Sharvill
1011Johnson A WaycottIndia2024-05-27Rousseaux, Michael Esq PROPOSAL89Elwin Sharvill
1012Ricardo C FlosiGermany2024-06-12Benton, John B Jr NEGOTIATION88Xuxue Feng
1013Isabel V RoysterRussia2024-05-27Rousseaux, Michael Esq QUALIFIED79Asiya Javayant
1014Faith S ButtRussia2024-06-07Rousseaux, Michael Esq RENEWAL31Anna Fali
1015Ashley T NickaGermany2024-05-23Feltz Printing Service NEGOTIATION0Amy Elsner
1016Aika O TollnerArgentina2024-05-27Chemel, James L Cpa RENEWAL88Onyama Limba
1017Wickens G SchemmerGermany2024-06-01Benton, John B Jr QUALIFIED41Ivan Magalhaes
1018Ashley G AmigonItaly2024-05-22Chapman, Ross E Esq RENEWAL83Bernardo Dominic
1019Maria P DoeGermany2024-05-26Feltz Printing Service QUALIFIED86Elwin Sharvill
1020Mayumi E NestleIndia2024-05-30Chemel, James L Cpa NEW28Anna Fali
1021Ricardo X RoysterAustralia2024-06-12King, Christopher A Esq QUALIFIED8Xuxue Feng
1022Kadeem O KolmetzArgentina2024-06-02Buckley Miller Wright RENEWAL19Stephen Shaw
1023Darci R GillianAustralia2024-06-11Printing Dimensions QUALIFIED29Xuxue Feng
1024Clifford O BriddickArgentina2024-05-31Chanay, Jeffrey A Esq UNQUALIFIED15Anna Fali
1025Aika S MarrierBrazil2024-06-04Chapman, Ross E Esq PROPOSAL79Ivan Magalhaes
1026Claire Z GillianRussia2024-06-12Chapman, Ross E Esq QUALIFIED76Amy Elsner
1027Johnson W DarakjyBrazil2024-06-04Rousseaux, Michael Esq NEGOTIATION76Bernardo Dominic
1028Chavez O PaprockiSpain2024-05-26Chanay, Jeffrey A Esq NEGOTIATION79Asiya Javayant
1029Kadeem O CaudyFrance2024-06-13Chapman, Ross E Esq NEGOTIATION14Anna Fali
1030Leon S MorascaArgentina2024-06-02Chapman, Ross E Esq NEGOTIATION44Ioni Bowcher
1031Izzy J MaletCanada2024-06-13Rousseaux, Michael Esq UNQUALIFIED55Elwin Sharvill
1032Greenwood B RoysterItaly2024-05-21Commercial Press RENEWAL47Ioni Bowcher
1033Deepesh M SlusarskiJapan2024-05-17King, Christopher A Esq RENEWAL88Ivan Magalhaes
1034Faith F BologniaCanada2024-06-10Commercial Press QUALIFIED48Onyama Limba
1035Rodrigues B GillianSpain2024-05-21Feiner Bros PROPOSAL62Elwin Sharvill
1036Maisha Q MarrierCanada2024-06-08Feiner Bros NEGOTIATION79Elwin Sharvill
1037David D GlickBrazil2024-05-28Rousseaux, Michael Esq NEGOTIATION77Stephen Shaw
1038Arvin E DoeItaly2024-05-22Truhlar And Truhlar Attys PROPOSAL72Asiya Javayant
1039Juan N BowleyRussia2024-05-27Rangoni Of Florence UNQUALIFIED61Ioni Bowcher
1040Deepesh R PerinJapan2024-06-11Benton, John B Jr NEW72Bernardo Dominic
1041Julie U BologniaFrance2024-06-14Chanay, Jeffrey A Esq RENEWAL99Ioni Bowcher
1042Costa C PaprockiJapan2024-05-16Rousseaux, Michael Esq QUALIFIED6Amy Elsner
1043Smith L WieserItaly2024-05-23Buckley Miller Wright NEW1Ioni Bowcher
1044Emily R OldroydGermany2024-05-23Benton, John B Jr RENEWAL86Xuxue Feng
1045Nicolas F RulapaughGermany2024-06-07Benton, John B Jr NEGOTIATION4Ioni Bowcher
1046Darci Q StockhamSpain2024-05-22Feiner Bros NEGOTIATION86Ivan Magalhaes
1047Ashley J TollnerArgentina2024-06-07Rousseaux, Michael Esq RENEWAL57Xuxue Feng
1048Maria O SchemmerRussia2024-05-25Dorl, James J Esq UNQUALIFIED14Xuxue Feng
1049Alejandro O MarrierFrance2024-05-18Rousseaux, Michael Esq QUALIFIED14Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Arvin K MacleadGermanyIoni Bowcher NEGOTIATION
Stacey J PoquetteItalyXuxue Feng QUALIFIED
Misaki F SlusarskiArgentinaIoni Bowcher NEW
Deepesh I SergiUnited KingdomAsiya Javayant NEGOTIATION
Salvatore O MorascaSpainOnyama Limba NEW
Cody S MacleadIndiaOnyama Limba PROPOSAL
Ashley S MaletBrazilElwin Sharvill QUALIFIED
Aruna H SergiUnited KingdomIoni Bowcher RENEWAL
Clifford C BologniaUnited KingdomAsiya Javayant RENEWAL
Murillo C WieserArgentinaIvan Magalhaes UNQUALIFIED
Costa E DarakjyRussiaBernardo Dominic NEGOTIATION
Johnson R GauchoBrazilAsiya Javayant PROPOSAL
Murillo J RulapaughUnited KingdomOnyama Limba NEGOTIATION
Silvio P RoysterArgentinaStephen Shaw NEW
Ashley E BowleyGermanyAmy Elsner NEW
Ashley E NickaCanadaXuxue Feng UNQUALIFIED
Silvio N SchemmerBrazilBernardo Dominic NEW
Mujtaba P RoysterItalyElwin Sharvill RENEWAL
Stacey F BriddickSpainIoni Bowcher NEGOTIATION
Mayumi O RutaJapanBernardo Dominic UNQUALIFIED
Munro R RimSpainBernardo Dominic QUALIFIED
Darci P GlickIndiaIoni Bowcher UNQUALIFIED
Jones D PerinBrazilIvan Magalhaes RENEWAL
Rodrigues C RulapaughJapanAmy Elsner PROPOSAL
Stacey W DilliardAustraliaElwin Sharvill RENEWAL
Chavez V CaldareraGermanyOnyama Limba QUALIFIED
Julie T WaycottBrazilIoni Bowcher PROPOSAL
Misaki Y IturbideFranceAnna Fali QUALIFIED
Jefferson X MaletAustraliaBernardo Dominic UNQUALIFIED
Aika A FollerRussiaOnyama Limba QUALIFIED
Antonio E RimGermanyElwin Sharvill RENEWAL
Chavez P MorascaItalyStephen Shaw NEGOTIATION
Kaitlin O WieserAustraliaAmy Elsner NEGOTIATION
Smith H RutaCanadaStephen Shaw PROPOSAL
Jeanfrancois Z FigeroaUnited KingdomBernardo Dominic PROPOSAL
Sinclair G FlosiRussiaElwin Sharvill UNQUALIFIED
Faith R DilliardCanadaIvan Magalhaes QUALIFIED
Leja H PerinRussiaXuxue Feng RENEWAL
Claire U RutaItalyAnna Fali NEW
Kadeem R DoeGermanyBernardo Dominic NEGOTIATION
Mujtaba E NickaFranceAsiya Javayant PROPOSAL
Cody Q DoeArgentinaOnyama Limba PROPOSAL
Tony N KuskoCanadaAmy Elsner QUALIFIED
Kaitlin J ButtFranceElwin Sharvill QUALIFIED
Mayumi T WhobreyItalyIvan Magalhaes UNQUALIFIED
Emily K CampainSpainAnna Fali QUALIFIED
Antonio N GauchoAustraliaIvan Magalhaes NEW
Aruna X SergiCanadaAmy Elsner RENEWAL
Murillo N GlickGermanyElwin Sharvill UNQUALIFIED
Aika L TollnerIndiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Mujtaba H Malet
Wickens Y Rim
Wickens Y Inouye
Maisha M Gillian
Murillo U Briddick
Greenwood G Ruta
Mujtaba I Vocelka
Antonio E Darakjy
Aditya B Sergi
Aruna K Butt
Johnson X Poquette
Salvatore S Bolognia
Johnson X Butt
Izzy K Perin
Ricardo K Amigon
Deepesh J Paprocki
Misaki E Maclead
Munro C Figeroa
Julie P Saylors
Juan X Inouye
Jeanfrancois R Royster
Johnson E Gillian
Julie I Vocelka
Munro U Schemmer
Wickens C Ostrosky
Kadeem W Rim
Sinclair H Venere
Chavez Z Caldarera
Isabel L Shinko
Nicolas W Amigon
Kaitlin Z Rulapaugh
Wickens E Kolmetz
Ivar L Ostrosky
Claire M Caldarera
Francesco I Waycott
Octavia H Waycott
Maisha V Butt
Jones F Glick
Adams M Nicka
Octavia N Darakjy
Leja V Caldarera
Costa U Rulapaugh
Arvin Q Gaucho
Faith X Glick
Ashley X Glick
Stacey M Butt
Octavia W Briddick
Ivar O Slusarski
Costa W Gaucho
Maisha Z Ruta
IdCountryDate
1000France2024-05-21
1001Spain2024-05-25
1002Italy2024-05-24
1003Japan2024-06-04
1004Brazil2024-05-31
1005Argentina2024-06-14
1006Canada2024-06-06
1007Brazil2024-05-27
1008Russia2024-06-10
1009Brazil2024-06-14
1010United Kingdom2024-05-21
1011India2024-06-02
1012Italy2024-05-27
1013Australia2024-06-07
1014Argentina2024-06-02
1015United Kingdom2024-05-31
1016Canada2024-05-18
1017Brazil2024-05-28
1018Japan2024-05-24
1019Argentina2024-05-20
1020Australia2024-05-29
1021Brazil2024-05-19
1022United Kingdom2024-05-22
1023Germany2024-05-28
1024Japan2024-05-31
1025Argentina2024-05-27
1026Germany2024-05-21
1027France2024-06-14
1028India2024-06-11
1029Canada2024-05-21
1030Spain2024-06-11
1031Spain2024-05-20
1032United Kingdom2024-05-25
1033United Kingdom2024-05-19
1034France2024-06-13
1035France2024-05-22
1036Japan2024-05-20
1037Spain2024-05-31
1038France2024-05-24
1039Brazil2024-06-07
1040Russia2024-05-17
1041Canada2024-06-04
1042Canada2024-06-05
1043Italy2024-06-05
1044Canada2024-05-27
1045Spain2024-06-09
1046Japan2024-05-20
1047Canada2024-05-31
1048United Kingdom2024-06-13
1049Brazil2024-05-29

On-Demand Data

NameIdCountryDate
David N Garufi1000Argentina2024-05-31
Salvatore N Waycott1001Russia2024-06-10
Jones I Bowley1002Argentina2024-05-25
Ashley C Slusarski1003Spain2024-05-28
Arvin X Gaucho1004Australia2024-06-08
Leja Q Figeroa1005Spain2024-05-17
Rodrigues H Foller1006Brazil2024-06-01
Leja I Bowley1007Brazil2024-05-28
Jefferson H Albares1008Canada2024-05-28
Jeanfrancois D Dilliard1009Canada2024-06-01
Mujtaba E Saylors1010Italy2024-06-13
Julie O Flosi1011Japan2024-06-02
Jefferson W Inouye1012Canada2024-06-03
Jones W Oldroyd1013Japan2024-06-08
Misaki Z Albares1014Argentina2024-06-04
Tony H Venere1015India2024-06-11
Adams B Poquette1016Australia2024-05-16
Salvatore T Stockham1017Canada2024-06-05
Costa U Whobrey1018Argentina2024-06-08
Juan O Briddick1019Canada2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan J CaudyGermanyXuxue Feng PROPOSAL
Octavia F FerenczBrazilAnna Fali RENEWAL
Alejandro P RoysterSpainIvan Magalhaes RENEWAL
Murillo N VenereJapanOnyama Limba PROPOSAL
Jeanfrancois Z InouyeArgentinaIoni Bowcher PROPOSAL
Cody N PaprockiCanadaBernardo Dominic UNQUALIFIED
Ivar O DilliardArgentinaAmy Elsner NEGOTIATION
Aika D VocelkaBrazilAsiya Javayant NEW
Julie O RoysterIndiaBernardo Dominic NEW
Costa T AlbaresCanadaOnyama Limba NEW
Jefferson Q BowleySpainAmy Elsner UNQUALIFIED
Aditya H RutaIndiaStephen Shaw QUALIFIED
Ashley B SchemmerItalyIoni Bowcher QUALIFIED
Julie B PerinJapanElwin Sharvill UNQUALIFIED
Aika Q InouyeAustraliaIvan Magalhaes RENEWAL
Aditya A ChuiArgentinaXuxue Feng NEGOTIATION
Isabel E OldroydIndiaAmy Elsner QUALIFIED
Maisha Z NestleCanadaAsiya Javayant QUALIFIED
David H ShinkoJapanAnna Fali NEW
Mujtaba U BologniaItalyElwin Sharvill NEGOTIATION
Ricardo V DarakjyGermanyIoni Bowcher PROPOSAL
Greenwood F ChuiJapanXuxue Feng UNQUALIFIED
Mayumi J PaprockiItalyOnyama Limba UNQUALIFIED
Adams F RimUnited KingdomOnyama Limba RENEWAL
Sinclair V RimBrazilOnyama Limba QUALIFIED
Alejandro P BologniaArgentinaIvan Magalhaes NEW
Alejandro E FlosiJapanIvan Magalhaes RENEWAL
Salvatore Z MaletSpainBernardo Dominic NEW
Ricardo G BriddickSpainBernardo Dominic PROPOSAL
Misaki X StockhamJapanAsiya Javayant PROPOSAL
Julie H CaudyFranceStephen Shaw NEGOTIATION
Kaitlin M PaprockiFranceIoni Bowcher NEGOTIATION
Munro Y FigeroaArgentinaAnna Fali NEGOTIATION
Arvin E PerinFranceAsiya Javayant QUALIFIED
Aika B BowleyItalyXuxue Feng NEGOTIATION
Jennifer Q VenereFranceBernardo Dominic NEW
Clifford C KuskoRussiaAnna Fali PROPOSAL
Chavez X ButtJapanAmy Elsner NEGOTIATION
Clifford P InouyeSpainElwin Sharvill RENEWAL
Octavia N WaycottFranceAsiya Javayant 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>