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
Darci F FlosiIndiaElwin Sharvill UNQUALIFIED
Maisha I ChuiRussiaStephen Shaw UNQUALIFIED
Isabel J GillianRussiaStephen Shaw NEW
James E OstroskyGermanyStephen Shaw UNQUALIFIED
Emily K SlusarskiAustraliaElwin Sharvill PROPOSAL
Izzy O GillianRussiaElwin Sharvill NEW
Jennifer W MaletItalyXuxue Feng NEW
Antonio L SergiCanadaAmy Elsner NEW
Adams Z DilliardFranceBernardo Dominic NEGOTIATION
Kaitlin O FlosiJapanIoni Bowcher RENEWAL
Darci G StockhamRussiaXuxue Feng QUALIFIED
Smith F MaletIndiaBernardo Dominic NEGOTIATION
Faith X MorascaArgentinaIoni Bowcher RENEWAL
Jennifer N OstroskyFranceStephen Shaw QUALIFIED
Jefferson H IturbideUnited KingdomBernardo Dominic RENEWAL
Julie K FollerJapanAnna Fali RENEWAL
Darci K MarrierUnited KingdomStephen Shaw RENEWAL
Silvio L SergiUnited KingdomStephen Shaw PROPOSAL
Tony G CampainCanadaOnyama Limba NEW
Leon D DilliardIndiaXuxue Feng RENEWAL
Stacey G GlickBrazilOnyama Limba UNQUALIFIED
Francesco B CaudySpainAmy Elsner PROPOSAL
Aruna E SaylorsJapanBernardo Dominic PROPOSAL
Claire Z BriddickSpainBernardo Dominic NEW
Morrow B RulapaughArgentinaAnna Fali QUALIFIED
Rodrigues Y StensethUnited KingdomElwin Sharvill RENEWAL
Adams N RutaSpainElwin Sharvill PROPOSAL
Aika G DilliardAustraliaIvan Magalhaes UNQUALIFIED
Costa Z InouyeGermanyElwin Sharvill NEGOTIATION
Adams O BowleyJapanAmy Elsner UNQUALIFIED
Darci F CampainIndiaAmy Elsner NEGOTIATION
Tony F MaletUnited KingdomAnna Fali QUALIFIED
Silvio A PaprockiAustraliaAmy Elsner QUALIFIED
Mujtaba Q MaletGermanyBernardo Dominic PROPOSAL
Alejandro Z ChuiRussiaIvan Magalhaes RENEWAL
Maria X SaylorsBrazilBernardo Dominic PROPOSAL
Smith O PaprockiRussiaBernardo Dominic UNQUALIFIED
Murillo Y ShinkoRussiaXuxue Feng QUALIFIED
Nicolas I GarufiBrazilAnna Fali PROPOSAL
Kadeem Z FollerSpainIoni Bowcher UNQUALIFIED
James L PaprockiArgentinaIoni Bowcher NEGOTIATION
Tony J SaylorsAustraliaXuxue Feng NEW
Mujtaba Y GarufiCanadaOnyama Limba RENEWAL
Izzy B CampainAustraliaAsiya Javayant RENEWAL
Leon T ShinkoGermanyOnyama Limba PROPOSAL
Costa L FollerIndiaAmy Elsner NEW
Octavia Y SlusarskiFranceOnyama Limba UNQUALIFIED
Octavia A CaldareraAustraliaXuxue Feng PROPOSAL
Johnson K GauchoItalyXuxue Feng RENEWAL
Alejandro Y GauchoBrazilXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika T RulapaughGermanyBernardo Dominic NEGOTIATION
Munro Z DoeJapanBernardo Dominic PROPOSAL
Ashley L CaldareraArgentinaIoni Bowcher QUALIFIED
Faith C InouyeSpainAsiya Javayant QUALIFIED
Cody Y NestleRussiaIoni Bowcher NEGOTIATION
Aruna O CaudySpainIoni Bowcher PROPOSAL
Izzy Q BowleyUnited KingdomIoni Bowcher QUALIFIED
Ivar V AmigonGermanyXuxue Feng QUALIFIED
Claire U KolmetzArgentinaOnyama Limba RENEWAL
Silvio B KuskoArgentinaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley B CaldareraUnited Kingdom2025-04-26Dorl, James J Esq UNQUALIFIED23Bernardo Dominic
1001Arvin W WhobreyBrazil2025-04-09Dorl, James J Esq UNQUALIFIED67Elwin Sharvill
1002Maisha C KolmetzIndia2025-04-15Rousseaux, Michael Esq NEGOTIATION86Asiya Javayant
1003Aditya M BriddickBrazil2025-04-17Printing Dimensions PROPOSAL88Bernardo Dominic
1004Emily M StensethGermany2025-04-27Dorl, James J Esq UNQUALIFIED91Ivan Magalhaes
1005Arvin E MaletBrazil2025-04-09Commercial Press NEW93Bernardo Dominic
1006Mujtaba B MacleadItaly2025-04-13Rangoni Of Florence NEGOTIATION21Onyama Limba
1007Murillo L MorascaAustralia2025-04-14Chapman, Ross E Esq QUALIFIED88Ivan Magalhaes
1008Wickens V KuskoItaly2025-04-08Commercial Press QUALIFIED77Ivan Magalhaes
1009Rodrigues A ChuiSpain2025-04-27Chemel, James L Cpa QUALIFIED83Onyama Limba
1010Chavez V OstroskyItaly2025-04-13Rangoni Of Florence NEW79Bernardo Dominic
1011Tony A RulapaughItaly2025-04-24Chanay, Jeffrey A Esq QUALIFIED57Ioni Bowcher
1012Sinclair I KuskoSpain2025-04-10Chanay, Jeffrey A Esq UNQUALIFIED67Elwin Sharvill
1013Jennifer A BriddickRussia2025-04-06Chanay, Jeffrey A Esq NEGOTIATION19Asiya Javayant
1014Jefferson X SaylorsCanada2025-04-12Truhlar And Truhlar Attys UNQUALIFIED48Asiya Javayant
1015Aika Q AlbaresItaly2025-04-13Commercial Press PROPOSAL25Bernardo Dominic
1016Munro E WaycottAustralia2025-04-25Truhlar And Truhlar Attys UNQUALIFIED58Ioni Bowcher
1017Misaki B NestleRussia2025-04-24Commercial Press RENEWAL81Elwin Sharvill
1018Antonio G TollnerBrazil2025-04-16Buckley Miller Wright RENEWAL26Asiya Javayant
1019Nicolas O BowleyUnited Kingdom2025-04-26Chanay, Jeffrey A Esq NEW27Bernardo Dominic
1020Aditya S BologniaSpain2025-04-06Rangoni Of Florence RENEWAL14Stephen Shaw
1021Emily S VenereBrazil2025-04-23Dorl, James J Esq UNQUALIFIED14Bernardo Dominic
1022Emily Z MarrierGermany2025-04-15Chanay, Jeffrey A Esq RENEWAL14Xuxue Feng
1023Julie A GarufiBrazil2025-04-17Buckley Miller Wright RENEWAL22Bernardo Dominic
1024Silvio R GlickAustralia2025-04-03Chanay, Jeffrey A Esq RENEWAL13Ioni Bowcher
1025Clifford R OldroydSpain2025-04-26Truhlar And Truhlar Attys PROPOSAL2Amy Elsner
1026Nicolas E MarrierGermany2025-04-14Commercial Press QUALIFIED62Elwin Sharvill
1027Morrow Y GarufiItaly2025-04-17Chapman, Ross E Esq RENEWAL76Onyama Limba
1028Jefferson I WaycottIndia2025-04-07Benton, John B Jr UNQUALIFIED52Anna Fali
1029Ricardo M GillianJapan2025-04-19King, Christopher A Esq QUALIFIED85Xuxue Feng
1030Aika V KuskoRussia2025-04-18Feltz Printing Service UNQUALIFIED77Asiya Javayant
1031David T RutaIndia2025-04-03Truhlar And Truhlar Attys NEGOTIATION9Stephen Shaw
1032Salvatore J FlosiBrazil2025-04-30Feiner Bros NEW14Ioni Bowcher
1033Costa Q FigeroaAustralia2025-04-27Printing Dimensions UNQUALIFIED50Elwin Sharvill
1034Juan B SlusarskiFrance2025-04-24Printing Dimensions NEGOTIATION26Bernardo Dominic
1035Wickens Z WieserBrazil2025-04-24Truhlar And Truhlar Attys RENEWAL19Asiya Javayant
1036David P MaletAustralia2025-04-30Buckley Miller Wright NEGOTIATION3Asiya Javayant
1037Juan O FigeroaUnited Kingdom2025-04-06Morlong Associates NEW88Onyama Limba
1038Ricardo A CaudySpain2025-04-29Commercial Press RENEWAL80Asiya Javayant
1039Misaki Q RulapaughRussia2025-04-09King, Christopher A Esq QUALIFIED1Elwin Sharvill
1040Faith W DilliardAustralia2025-04-23Benton, John B Jr NEW91Xuxue Feng
1041Alejandro L WieserGermany2025-04-07Benton, John B Jr NEGOTIATION54Elwin Sharvill
1042Kaitlin D VenereAustralia2025-04-06Feltz Printing Service NEGOTIATION34Ivan Magalhaes
1043Salvatore I VocelkaRussia2025-04-21Feiner Bros NEW36Anna Fali
1044Stacey I InouyeRussia2025-04-23Chemel, James L Cpa RENEWAL76Anna Fali
1045Smith D GarufiArgentina2025-04-14Chanay, Jeffrey A Esq NEGOTIATION15Elwin Sharvill
1046Ashley H NickaItaly2025-04-23Printing Dimensions PROPOSAL1Bernardo Dominic
1047Claire L GarufiItaly2025-04-08Chapman, Ross E Esq QUALIFIED14Amy Elsner
1048Clifford X AlbaresFrance2025-04-16Truhlar And Truhlar Attys RENEWAL13Bernardo Dominic
1049Costa H MaletItaly2025-04-29Feiner Bros NEGOTIATION42Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Deepesh Z ChuiArgentinaAmy Elsner QUALIFIED
Rodrigues H PaprockiArgentinaIvan Magalhaes QUALIFIED
Kaitlin P MarrierBrazilAsiya Javayant NEGOTIATION
Greenwood Z PerinItalyAsiya Javayant UNQUALIFIED
Smith M KolmetzUnited KingdomIvan Magalhaes RENEWAL
Francesco P KolmetzJapanStephen Shaw QUALIFIED
James R RimItalyXuxue Feng QUALIFIED
Maria J PoquetteGermanyAsiya Javayant UNQUALIFIED
Cody D FerenczIndiaIvan Magalhaes QUALIFIED
Nicolas X GarufiRussiaXuxue Feng NEW
Emily R GillianUnited KingdomElwin Sharvill NEGOTIATION
James L KuskoIndiaIoni Bowcher UNQUALIFIED
Octavia J FerenczArgentinaOnyama Limba RENEWAL
Maria W GillianSpainStephen Shaw NEW
David Y SlusarskiCanadaAmy Elsner NEGOTIATION
Tony J OldroydItalyBernardo Dominic PROPOSAL
Tony B RutaJapanBernardo Dominic PROPOSAL
Adams V FigeroaSpainAmy Elsner PROPOSAL
Kadeem B SlusarskiCanadaXuxue Feng NEW
Sinclair H CampainCanadaElwin Sharvill QUALIFIED
Francesco S BriddickIndiaAsiya Javayant NEGOTIATION
Munro I MacleadJapanOnyama Limba QUALIFIED
David H MacleadItalyAnna Fali QUALIFIED
Leja U GauchoUnited KingdomAsiya Javayant PROPOSAL
James R BriddickAustraliaElwin Sharvill NEW
David U ButtUnited KingdomOnyama Limba RENEWAL
Francesco C AmigonRussiaIvan Magalhaes RENEWAL
Munro A MorascaJapanXuxue Feng NEW
Izzy U PaprockiAustraliaOnyama Limba UNQUALIFIED
Isabel H WaycottUnited KingdomStephen Shaw QUALIFIED
Clifford J FollerItalyStephen Shaw NEGOTIATION
Maria Y FigeroaItalyIoni Bowcher PROPOSAL
Leja G KuskoAustraliaOnyama Limba QUALIFIED
Tony C ShinkoCanadaBernardo Dominic PROPOSAL
Nicolas E WieserItalyIvan Magalhaes RENEWAL
Rodrigues A ButtFranceOnyama Limba PROPOSAL
Francesco X TollnerBrazilIoni Bowcher UNQUALIFIED
Octavia Y FollerItalyXuxue Feng PROPOSAL
Munro J FollerUnited KingdomElwin Sharvill NEGOTIATION
Sinclair Q RulapaughUnited KingdomXuxue Feng QUALIFIED
Wickens Q PerinCanadaOnyama Limba NEGOTIATION
Leja E InouyeRussiaXuxue Feng NEW
Emily B GlickJapanXuxue Feng NEW
Ashley P BowleyJapanAnna Fali PROPOSAL
Tony W NestleIndiaIoni Bowcher UNQUALIFIED
Alejandro W SlusarskiArgentinaAnna Fali PROPOSAL
Greenwood P PaprockiCanadaAmy Elsner UNQUALIFIED
Ricardo R ButtGermanyXuxue Feng RENEWAL
Jefferson K OstroskyIndiaBernardo Dominic RENEWAL
Ivar C KuskoAustraliaXuxue Feng QUALIFIED
Frozen Columns
Name
Faith C Butt
Isabel I Dilliard
Misaki K Doe
Misaki V Nestle
Leon R Kusko
Chavez F Shinko
Misaki P Stenseth
Juan M Rim
Juan F Kusko
Maria R Sergi
Greenwood Y Dilliard
Jones N Wieser
Tony P Gaucho
Arvin V Garufi
Clifford H Bowley
Adams V Ferencz
Clifford W Malet
Kaitlin D Garufi
Murillo B Bowley
Emily Q Caldarera
Sinclair Y Gillian
Wickens D Iturbide
Nicolas G Gillian
Antonio E Ostrosky
Murillo B Perin
Francesco H Foller
Maria I Gillian
Darci J Venere
Costa P Ruta
Aika G Rim
Adams W Waycott
Leja X Glick
Misaki D Kusko
Maria O Malet
Greenwood X Garufi
Mayumi G Wieser
Aditya F Gillian
Nicolas E Malet
Adams V Caudy
Mayumi H Marrier
Antonio U Morasca
Mujtaba Y Dilliard
Silvio T Doe
Aika E Maclead
Emily R Albares
Chavez W Garufi
Nicolas Q Bowley
Greenwood G Bolognia
Aruna H Malet
Smith B Morasca
IdCountryDate
1000Japan2025-04-19
1001Russia2025-04-18
1002Australia2025-04-14
1003United Kingdom2025-04-19
1004Canada2025-04-01
1005Italy2025-04-25
1006Italy2025-04-02
1007Italy2025-04-23
1008Japan2025-04-02
1009Germany2025-04-22
1010India2025-04-05
1011India2025-04-29
1012Canada2025-04-26
1013Canada2025-04-30
1014India2025-04-25
1015Russia2025-04-20
1016Spain2025-04-21
1017Russia2025-04-22
1018United Kingdom2025-04-24
1019Russia2025-04-17
1020France2025-04-16
1021Japan2025-04-26
1022Brazil2025-04-21
1023Argentina2025-04-17
1024Argentina2025-04-12
1025United Kingdom2025-04-27
1026United Kingdom2025-04-18
1027Argentina2025-04-16
1028Spain2025-04-22
1029Italy2025-04-22
1030Brazil2025-04-27
1031United Kingdom2025-04-11
1032India2025-04-09
1033United Kingdom2025-04-25
1034Japan2025-04-26
1035France2025-04-12
1036Australia2025-04-19
1037Japan2025-04-28
1038Brazil2025-04-10
1039Germany2025-04-01
1040United Kingdom2025-04-24
1041Australia2025-04-22
1042Argentina2025-04-01
1043India2025-04-29
1044Canada2025-04-18
1045Japan2025-04-15
1046United Kingdom2025-04-16
1047Russia2025-04-18
1048Argentina2025-04-02
1049Argentina2025-04-27

On-Demand Data

NameIdCountryDate
Costa E Maclead1000Brazil2025-04-05
Chavez U Foller1001Argentina2025-04-25
Ricardo M Perin1002Australia2025-04-24
Ivar I Rulapaugh1003Australia2025-04-02
Kadeem P Darakjy1004Germany2025-04-23
Stacey C Royster1005Argentina2025-04-26
Mayumi M Nestle1006Russia2025-04-17
Ivar W Poquette1007Italy2025-04-02
Deepesh W Caldarera1008Russia2025-04-13
Tony Y Wieser1009France2025-04-22
Nicolas T Dilliard1010Japan2025-04-24
Octavia Q Perin1011Canada2025-04-23
Aruna T Caudy1012Australia2025-04-29
Wickens N Doe1013Spain2025-04-06
Izzy F Paprocki1014Australia2025-04-19
Munro Y Perin1015Argentina2025-04-23
Maisha Y Poquette1016Brazil2025-04-19
Wickens F Iturbide1017Spain2025-04-22
James N Darakjy1018France2025-04-15
Murillo E Morasca1019Italy2025-04-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja G SergiJapanAsiya Javayant NEW
Deepesh I NickaJapanBernardo Dominic NEW
Claire X FerenczItalyAnna Fali PROPOSAL
Maria N RulapaughUnited KingdomStephen Shaw NEGOTIATION
Mayumi I FollerItalyStephen Shaw QUALIFIED
David X MaletJapanIoni Bowcher NEGOTIATION
David D TollnerItalyIoni Bowcher QUALIFIED
Chavez U CaldareraFranceAsiya Javayant QUALIFIED
Deepesh S TollnerUnited KingdomAnna Fali QUALIFIED
Jefferson O BologniaBrazilAsiya Javayant RENEWAL
Julie J RulapaughJapanStephen Shaw QUALIFIED
Claire V NestleItalyAnna Fali NEW
Kadeem O PerinJapanStephen Shaw QUALIFIED
Jones J TollnerArgentinaBernardo Dominic UNQUALIFIED
Silvio W PerinFranceStephen Shaw QUALIFIED
Clifford L ButtUnited KingdomIoni Bowcher NEW
Francesco S StockhamRussiaXuxue Feng UNQUALIFIED
Adams B TollnerAustraliaAmy Elsner UNQUALIFIED
James Z RimGermanyAmy Elsner UNQUALIFIED
Juan G PoquetteJapanXuxue Feng NEW
Rodrigues A MaletFranceElwin Sharvill RENEWAL
Ashley H SaylorsAustraliaBernardo Dominic UNQUALIFIED
Kadeem X GillianSpainAnna Fali QUALIFIED
Arvin O WaycottGermanyIoni Bowcher RENEWAL
Morrow Z DilliardItalyOnyama Limba UNQUALIFIED
Darci H FollerUnited KingdomBernardo Dominic PROPOSAL
Faith H SergiRussiaElwin Sharvill UNQUALIFIED
Emily N WieserBrazilBernardo Dominic QUALIFIED
Costa T OstroskyIndiaAnna Fali UNQUALIFIED
Mayumi D DilliardBrazilStephen Shaw QUALIFIED
Julie K CaudyRussiaElwin Sharvill NEGOTIATION
James N OldroydUnited KingdomStephen Shaw NEW
Aditya N AlbaresIndiaAsiya Javayant NEGOTIATION
Johnson J BowleyArgentinaAsiya Javayant QUALIFIED
Stacey W TollnerJapanIoni Bowcher QUALIFIED
Tony J DoeCanadaOnyama Limba QUALIFIED
Nicolas F OstroskyAustraliaElwin Sharvill UNQUALIFIED
Wickens C WieserBrazilBernardo Dominic UNQUALIFIED
Aika V BologniaAustraliaBernardo Dominic UNQUALIFIED
James C GarufiSpainStephen Shaw 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>