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
Maisha W GlickFranceXuxue Feng PROPOSAL
Isabel P DoeRussiaAsiya Javayant PROPOSAL
Leja N NestleGermanyBernardo Dominic QUALIFIED
Jeanfrancois H KolmetzJapanAsiya Javayant RENEWAL
Jones P IturbideCanadaAnna Fali QUALIFIED
Sinclair L BowleyBrazilIoni Bowcher NEW
Nicolas M RulapaughSpainAnna Fali QUALIFIED
Kadeem Z IturbideArgentinaElwin Sharvill UNQUALIFIED
Costa X FlosiRussiaStephen Shaw NEGOTIATION
Izzy P MarrierItalyAsiya Javayant UNQUALIFIED
Stacey F ButtIndiaIvan Magalhaes RENEWAL
Misaki B KuskoSpainElwin Sharvill QUALIFIED
Arvin U BowleySpainElwin Sharvill UNQUALIFIED
Smith D CampainItalyIoni Bowcher NEGOTIATION
Emily E TollnerAustraliaAsiya Javayant PROPOSAL
Morrow T FerenczIndiaAsiya Javayant NEW
Adams I WieserSpainIvan Magalhaes PROPOSAL
Nicolas B WaycottArgentinaIoni Bowcher QUALIFIED
Maria M GarufiAustraliaIvan Magalhaes PROPOSAL
Julie C ChuiCanadaBernardo Dominic NEW
Maisha L OldroydBrazilXuxue Feng RENEWAL
Alejandro M KuskoSpainOnyama Limba RENEWAL
Wickens W InouyeItalyAnna Fali NEW
Wickens X ShinkoRussiaIvan Magalhaes PROPOSAL
Leja E NickaGermanyStephen Shaw RENEWAL
Smith L FollerFranceIoni Bowcher QUALIFIED
Johnson K ChuiIndiaAsiya Javayant RENEWAL
Kadeem N KuskoCanadaBernardo Dominic QUALIFIED
Mayumi X SergiJapanStephen Shaw RENEWAL
Deepesh K MacleadSpainIoni Bowcher QUALIFIED
Munro R RulapaughGermanyOnyama Limba NEGOTIATION
Aruna T KuskoFranceElwin Sharvill NEGOTIATION
Ivar S DoeJapanIvan Magalhaes UNQUALIFIED
Deepesh G NickaRussiaOnyama Limba UNQUALIFIED
Aditya T WhobreySpainXuxue Feng UNQUALIFIED
Jennifer X CampainJapanAmy Elsner NEW
Aruna C TollnerSpainElwin Sharvill NEGOTIATION
Rodrigues H OldroydIndiaIvan Magalhaes QUALIFIED
Deepesh Q MaletUnited KingdomOnyama Limba NEW
Isabel L DilliardIndiaAsiya Javayant NEGOTIATION
Maisha I PaprockiIndiaIoni Bowcher PROPOSAL
Jefferson I BologniaFranceOnyama Limba NEW
Faith T SchemmerBrazilOnyama Limba RENEWAL
Chavez S FlosiFranceAsiya Javayant RENEWAL
Faith H FerenczArgentinaIvan Magalhaes NEGOTIATION
Greenwood U SchemmerArgentinaBernardo Dominic QUALIFIED
Maisha P ShinkoBrazilBernardo Dominic NEGOTIATION
Johnson V WieserCanadaAnna Fali UNQUALIFIED
Aditya W FlosiItalyAnna Fali QUALIFIED
Chavez G DilliardAustraliaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maria R DilliardItalyOnyama Limba RENEWAL
Johnson L InouyeIndiaIoni Bowcher QUALIFIED
Antonio N CampainRussiaAmy Elsner RENEWAL
Munro X StensethUnited KingdomStephen Shaw NEW
Deepesh I BowleyRussiaOnyama Limba PROPOSAL
Rodrigues F InouyeSpainElwin Sharvill PROPOSAL
Mayumi N CaudyArgentinaXuxue Feng NEGOTIATION
Ashley L WhobreyArgentinaAnna Fali UNQUALIFIED
Misaki D FigeroaItalyXuxue Feng QUALIFIED
Misaki S NickaJapanAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria M VocelkaIndia2025-04-12Buckley Miller Wright PROPOSAL99Asiya Javayant
1001Alejandro L AlbaresIndia2025-04-24King, Christopher A Esq NEW7Onyama Limba
1002Faith O MaletJapan2025-04-21Benton, John B Jr NEGOTIATION41Anna Fali
1003Deepesh Q PoquetteUnited Kingdom2025-04-25Truhlar And Truhlar Attys QUALIFIED72Ioni Bowcher
1004Emily L CaldareraBrazil2025-04-25Truhlar And Truhlar Attys PROPOSAL73Onyama Limba
1005Leja X OldroydIndia2025-04-28Rangoni Of Florence NEGOTIATION97Bernardo Dominic
1006Costa B RoysterArgentina2025-04-21Dorl, James J Esq UNQUALIFIED69Anna Fali
1007Juan F MacleadGermany2025-04-06Benton, John B Jr RENEWAL84Stephen Shaw
1008Sinclair X GlickFrance2025-04-17Feltz Printing Service UNQUALIFIED75Anna Fali
1009Silvio E FollerIndia2025-04-17Buckley Miller Wright PROPOSAL31Bernardo Dominic
1010Stacey C DoeJapan2025-04-05Rousseaux, Michael Esq UNQUALIFIED61Asiya Javayant
1011Mujtaba J BriddickCanada2025-04-02Chapman, Ross E Esq PROPOSAL88Asiya Javayant
1012Aruna J PerinIndia2025-04-24Feiner Bros RENEWAL78Amy Elsner
1013Morrow Q RoysterGermany2025-04-16King, Christopher A Esq UNQUALIFIED58Bernardo Dominic
1014Salvatore B VenereSpain2025-04-08Benton, John B Jr QUALIFIED95Elwin Sharvill
1015Jennifer L ChuiJapan2025-04-23Dorl, James J Esq QUALIFIED4Stephen Shaw
1016Sinclair T GarufiAustralia2025-04-13Chemel, James L Cpa PROPOSAL93Onyama Limba
1017Costa M InouyeBrazil2025-04-21King, Christopher A Esq UNQUALIFIED95Ioni Bowcher
1018Ashley T SaylorsAustralia2025-04-24Buckley Miller Wright NEW24Xuxue Feng
1019Antonio L DarakjySpain2025-04-02Feiner Bros NEW48Elwin Sharvill
1020Mayumi A VenereUnited Kingdom2025-04-09Benton, John B Jr PROPOSAL47Asiya Javayant
1021Wickens H ButtGermany2025-04-11Truhlar And Truhlar Attys RENEWAL70Amy Elsner
1022Octavia R PoquetteAustralia2025-04-12Commercial Press RENEWAL93Anna Fali
1023Leja S ChuiArgentina2025-04-11Dorl, James J Esq NEW11Anna Fali
1024James S MaletJapan2025-04-29Rousseaux, Michael Esq PROPOSAL95Xuxue Feng
1025Munro X GillianCanada2025-04-04Feltz Printing Service QUALIFIED97Elwin Sharvill
1026Claire G CaudyFrance2025-04-11Feltz Printing Service NEGOTIATION58Ioni Bowcher
1027Alejandro A AlbaresItaly2025-04-29King, Christopher A Esq QUALIFIED30Stephen Shaw
1028Isabel O CampainBrazil2025-04-25Dorl, James J Esq NEW81Xuxue Feng
1029Julie Y CampainSpain2025-04-25Feltz Printing Service PROPOSAL19Elwin Sharvill
1030Munro Y MaletAustralia2025-04-21Chanay, Jeffrey A Esq NEGOTIATION21Anna Fali
1031Isabel Y BriddickArgentina2025-04-29Morlong Associates PROPOSAL52Stephen Shaw
1032Greenwood W MarrierIndia2025-04-13Rousseaux, Michael Esq NEW64Onyama Limba
1033Aruna M DilliardRussia2025-04-09Chapman, Ross E Esq UNQUALIFIED51Stephen Shaw
1034Murillo E BowleySpain2025-04-29Rangoni Of Florence RENEWAL15Elwin Sharvill
1035Leon B TollnerAustralia2025-04-07King, Christopher A Esq UNQUALIFIED78Bernardo Dominic
1036Mayumi Q FollerJapan2025-04-07King, Christopher A Esq NEW49Asiya Javayant
1037Faith U RimFrance2025-04-17Dorl, James J Esq NEGOTIATION65Onyama Limba
1038Johnson B BowleyRussia2025-04-30Feltz Printing Service UNQUALIFIED64Elwin Sharvill
1039Salvatore O DilliardArgentina2025-04-29Chanay, Jeffrey A Esq UNQUALIFIED12Xuxue Feng
1040Claire M FlosiJapan2025-04-22Rangoni Of Florence NEW89Amy Elsner
1041Ivar H GarufiIndia2025-04-22Printing Dimensions PROPOSAL10Asiya Javayant
1042Faith S DilliardArgentina2025-04-20Feiner Bros NEW7Ivan Magalhaes
1043Maria S FlosiArgentina2025-04-08Rousseaux, Michael Esq RENEWAL58Onyama Limba
1044Isabel L AlbaresSpain2025-04-04Morlong Associates UNQUALIFIED66Onyama Limba
1045Clifford F PaprockiItaly2025-04-29Printing Dimensions NEGOTIATION8Asiya Javayant
1046Chavez P ShinkoArgentina2025-04-20Printing Dimensions NEGOTIATION20Elwin Sharvill
1047Kaitlin H RutaJapan2025-04-12Printing Dimensions NEGOTIATION0Amy Elsner
1048Greenwood M BowleyUnited Kingdom2025-04-05Rousseaux, Michael Esq NEW97Anna Fali
1049Leja Q StockhamRussia2025-04-20Chapman, Ross E Esq NEW46Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois Z NickaAustraliaAmy Elsner UNQUALIFIED
Kaitlin N TollnerRussiaAmy Elsner RENEWAL
Aruna M InouyeGermanyXuxue Feng NEGOTIATION
Jones Q SchemmerAustraliaAnna Fali PROPOSAL
Mujtaba V StockhamJapanElwin Sharvill UNQUALIFIED
Aditya Z KolmetzGermanyAnna Fali NEW
Antonio C KolmetzCanadaIvan Magalhaes QUALIFIED
Julie K GauchoFranceAmy Elsner NEW
David U KuskoJapanXuxue Feng PROPOSAL
Johnson R PoquetteUnited KingdomStephen Shaw NEGOTIATION
Tony U WaycottAustraliaXuxue Feng NEGOTIATION
David N FerenczGermanyBernardo Dominic QUALIFIED
Adams W MaletUnited KingdomIvan Magalhaes UNQUALIFIED
James M FigeroaArgentinaIoni Bowcher QUALIFIED
Francesco I PoquetteGermanyElwin Sharvill NEW
Izzy D GlickBrazilIoni Bowcher UNQUALIFIED
Murillo V PoquetteArgentinaBernardo Dominic PROPOSAL
Ivar N NickaArgentinaAsiya Javayant QUALIFIED
Kaitlin C MorascaUnited KingdomIvan Magalhaes NEGOTIATION
David H RimRussiaStephen Shaw UNQUALIFIED
Chavez W FerenczFranceBernardo Dominic NEW
Kadeem W WaycottFranceAnna Fali NEW
Kaitlin Y MacleadItalyAmy Elsner PROPOSAL
Ivar T NestleArgentinaStephen Shaw RENEWAL
Leon J StockhamFranceBernardo Dominic NEGOTIATION
Claire X StensethAustraliaXuxue Feng NEW
Sinclair H FlosiFranceIoni Bowcher RENEWAL
Juan W MorascaUnited KingdomAmy Elsner RENEWAL
Jeanfrancois G SaylorsAustraliaAnna Fali NEW
Ricardo J InouyeCanadaOnyama Limba NEW
Munro Q WieserBrazilIvan Magalhaes NEW
Murillo P DilliardArgentinaIvan Magalhaes NEW
Cody I FlosiJapanAmy Elsner NEGOTIATION
Jefferson P RimCanadaXuxue Feng PROPOSAL
Smith I AlbaresBrazilXuxue Feng NEW
Jefferson J AlbaresUnited KingdomOnyama Limba NEGOTIATION
David V PaprockiArgentinaXuxue Feng QUALIFIED
Antonio B PerinGermanyAsiya Javayant NEGOTIATION
Kaitlin U CaudyUnited KingdomIoni Bowcher NEW
Leja I OstroskyCanadaAnna Fali QUALIFIED
Ricardo O StockhamArgentinaXuxue Feng PROPOSAL
Claire Y MaletGermanyAnna Fali RENEWAL
Sinclair Q CaudyJapanAsiya Javayant PROPOSAL
Arvin Z SaylorsIndiaElwin Sharvill PROPOSAL
Ashley A MorascaUnited KingdomBernardo Dominic QUALIFIED
Salvatore N FollerFranceBernardo Dominic QUALIFIED
Aruna O StockhamArgentinaAmy Elsner NEW
Stacey F ChuiBrazilOnyama Limba UNQUALIFIED
Smith N BowleyArgentinaStephen Shaw NEGOTIATION
Maisha G DoeArgentinaOnyama Limba RENEWAL
Frozen Columns
Name
Leon A Rim
Sinclair X Darakjy
Kaitlin K Caudy
Aruna U Royster
Emily J Schemmer
Morrow S Garufi
Nicolas S Kolmetz
Ivar G Maclead
Nicolas P Stockham
Clifford M Maclead
Murillo Q Nestle
Stacey N Stenseth
Munro N Maclead
Ashley E Albares
Octavia B Iturbide
Maria I Perin
Ivar B Gaucho
Ricardo Q Ruta
Ricardo Q Ostrosky
Kadeem H Ostrosky
Greenwood R Bolognia
Costa Y Bowley
Clifford R Malet
Antonio I Ostrosky
Adams Q Dilliard
Deepesh V Oldroyd
Rodrigues D Gaucho
Murillo Q Sergi
Maria S Royster
Jones Z Royster
Izzy F Tollner
Francesco O Figeroa
Salvatore M Butt
Aditya C Oldroyd
Smith X Malet
Chavez Q Bolognia
Maria S Caudy
Aruna L Caudy
Stacey T Doe
Juan D Malet
Costa M Schemmer
Darci M Chui
Deepesh R Shinko
Julie O Caldarera
Octavia S Foller
Jefferson X Venere
Isabel M Campain
Julie N Butt
Maria P Nicka
Jeanfrancois Q Morasca
IdCountryDate
1000Spain2025-04-29
1001Russia2025-04-10
1002Russia2025-04-25
1003France2025-04-04
1004Brazil2025-04-29
1005Canada2025-04-07
1006France2025-04-08
1007Germany2025-04-19
1008Canada2025-04-28
1009India2025-04-23
1010Italy2025-04-06
1011Spain2025-04-08
1012Italy2025-04-08
1013Brazil2025-04-19
1014Italy2025-04-28
1015Russia2025-04-19
1016France2025-04-16
1017India2025-04-23
1018Italy2025-04-02
1019Australia2025-04-25
1020Germany2025-04-22
1021Spain2025-04-17
1022Canada2025-04-04
1023Italy2025-04-27
1024Australia2025-04-05
1025United Kingdom2025-04-04
1026India2025-04-01
1027Brazil2025-04-15
1028Germany2025-04-30
1029United Kingdom2025-04-17
1030India2025-04-16
1031Spain2025-04-23
1032Germany2025-04-22
1033Spain2025-04-08
1034Brazil2025-04-09
1035Australia2025-04-23
1036Germany2025-04-21
1037Spain2025-04-21
1038Spain2025-04-17
1039Spain2025-04-12
1040Russia2025-04-28
1041Russia2025-04-06
1042Australia2025-04-15
1043Japan2025-04-27
1044Italy2025-04-05
1045France2025-04-02
1046United Kingdom2025-04-07
1047Argentina2025-04-19
1048Brazil2025-04-22
1049Brazil2025-04-13

On-Demand Data

NameIdCountryDate
Maria O Perin1000India2025-04-25
Darci G Rim1001Russia2025-04-06
Sinclair B Marrier1002Brazil2025-04-24
Julie M Amigon1003Canada2025-04-27
Costa Z Glick1004Argentina2025-04-29
Isabel O Morasca1005India2025-04-24
Darci A Paprocki1006India2025-04-12
Murillo U Waycott1007Russia2025-04-20
Darci U Darakjy1008France2025-04-18
Sinclair C Vocelka1009Canada2025-04-23
Silvio L Gillian1010Australia2025-04-11
Izzy T Flosi1011Russia2025-04-15
Jennifer H Saylors1012United Kingdom2025-04-04
Sinclair C Whobrey1013Japan2025-04-15
Darci L Vocelka1014Australia2025-04-28
Isabel T Dilliard1015Australia2025-04-18
Izzy I Figeroa1016Germany2025-04-29
Murillo V Waycott1017Spain2025-04-26
Munro F Oldroyd1018Germany2025-04-18
Faith E Amigon1019Italy2025-04-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan W MacleadJapanAnna Fali RENEWAL
Ricardo S ChuiUnited KingdomBernardo Dominic RENEWAL
Misaki W SergiItalyAsiya Javayant QUALIFIED
Clifford P SaylorsGermanyAsiya Javayant UNQUALIFIED
Rodrigues A ButtBrazilXuxue Feng NEGOTIATION
Jennifer I MorascaBrazilXuxue Feng QUALIFIED
Munro Y SergiGermanyIoni Bowcher QUALIFIED
Murillo L RutaCanadaAmy Elsner RENEWAL
Silvio O PerinIndiaOnyama Limba NEGOTIATION
Antonio Y VocelkaBrazilStephen Shaw NEW
Arvin F VenereSpainIoni Bowcher NEW
Izzy F GarufiGermanyIoni Bowcher NEW
Alejandro T RutaBrazilXuxue Feng NEW
Julie H NickaUnited KingdomIoni Bowcher RENEWAL
Jefferson X ShinkoCanadaAmy Elsner QUALIFIED
Ricardo D FollerBrazilAmy Elsner RENEWAL
Emily Z RulapaughCanadaOnyama Limba NEGOTIATION
Kadeem Y PaprockiRussiaXuxue Feng PROPOSAL
Octavia P ButtBrazilXuxue Feng PROPOSAL
Jefferson M PerinFranceAmy Elsner PROPOSAL
Kadeem P MorascaGermanyStephen Shaw UNQUALIFIED
Claire H SaylorsArgentinaAsiya Javayant RENEWAL
Alejandro N MarrierAustraliaAnna Fali NEW
Morrow P AlbaresFranceElwin Sharvill PROPOSAL
Izzy N ButtJapanAsiya Javayant NEGOTIATION
Maisha P VocelkaGermanyOnyama Limba PROPOSAL
Sinclair R MorascaFranceOnyama Limba QUALIFIED
Silvio W MaletFranceIoni Bowcher NEW
Jennifer C DilliardAustraliaIoni Bowcher NEW
Alejandro H StensethUnited KingdomBernardo Dominic QUALIFIED
Stacey Q RimAustraliaIvan Magalhaes QUALIFIED
Claire O VocelkaAustraliaOnyama Limba QUALIFIED
Wickens S StensethIndiaStephen Shaw QUALIFIED
Johnson M SergiCanadaIvan Magalhaes PROPOSAL
David X SaylorsItalyIoni Bowcher NEGOTIATION
Ivar Y IturbideSpainXuxue Feng RENEWAL
Antonio J PaprockiGermanyStephen Shaw UNQUALIFIED
Ivar A CaudyUnited KingdomOnyama Limba NEGOTIATION
Maria P KuskoSpainOnyama Limba RENEWAL
Mujtaba P GarufiCanadaIoni Bowcher UNQUALIFIED

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