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
Munro X BologniaAustraliaAmy Elsner UNQUALIFIED
Darci L GauchoSpainElwin Sharvill NEGOTIATION
Tony C MaletRussiaBernardo Dominic NEW
Arvin N SergiGermanyBernardo Dominic PROPOSAL
Leja S CaldareraGermanyXuxue Feng UNQUALIFIED
Munro R IturbideSpainXuxue Feng PROPOSAL
Leja J CaldareraUnited KingdomElwin Sharvill RENEWAL
Antonio B SergiBrazilAsiya Javayant UNQUALIFIED
Aruna A KuskoUnited KingdomBernardo Dominic QUALIFIED
David K DilliardFranceOnyama Limba PROPOSAL
Munro C CampainRussiaIoni Bowcher UNQUALIFIED
Johnson Y AmigonItalyXuxue Feng PROPOSAL
Sinclair A NestleFranceElwin Sharvill QUALIFIED
Mayumi Y StensethFranceAsiya Javayant UNQUALIFIED
Jeanfrancois Q MaletSpainOnyama Limba NEW
David I RimArgentinaAmy Elsner NEGOTIATION
Antonio R BriddickSpainIvan Magalhaes UNQUALIFIED
Smith Z GillianItalyIoni Bowcher QUALIFIED
James K BowleyRussiaAnna Fali QUALIFIED
Antonio O SchemmerJapanStephen Shaw NEW
Deepesh V FlosiRussiaIoni Bowcher RENEWAL
Arvin Q IturbideGermanyAnna Fali QUALIFIED
Juan W WaycottIndiaAmy Elsner PROPOSAL
Aruna K RimSpainElwin Sharvill UNQUALIFIED
Isabel A SergiUnited KingdomAsiya Javayant NEW
Alejandro Y ChuiCanadaAsiya Javayant QUALIFIED
Costa B NickaRussiaIvan Magalhaes PROPOSAL
Murillo D SaylorsJapanXuxue Feng NEGOTIATION
James I GillianGermanyStephen Shaw RENEWAL
Morrow Q PaprockiSpainElwin Sharvill RENEWAL
Costa W StockhamIndiaElwin Sharvill RENEWAL
Smith N GauchoFranceBernardo Dominic NEW
Tony I GarufiGermanyBernardo Dominic NEW
Aruna U SergiItalyXuxue Feng NEW
Mayumi K AlbaresIndiaBernardo Dominic UNQUALIFIED
Cody B RutaIndiaIvan Magalhaes UNQUALIFIED
Alejandro N AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Juan Z DarakjyRussiaAnna Fali QUALIFIED
Claire Z KuskoUnited KingdomAnna Fali QUALIFIED
Costa T GlickCanadaAsiya Javayant NEW
Leon Z CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Leon L CaldareraSpainAmy Elsner QUALIFIED
Kadeem Y GillianFranceAnna Fali UNQUALIFIED
Jefferson K FollerItalyAmy Elsner PROPOSAL
Mujtaba U DilliardRussiaBernardo Dominic RENEWAL
Jennifer R WieserJapanAmy Elsner NEGOTIATION
Mujtaba Z VocelkaItalyXuxue Feng NEW
Emily Y StockhamArgentinaBernardo Dominic UNQUALIFIED
Costa A NestleBrazilOnyama Limba QUALIFIED
Maisha X OstroskyBrazilBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maria I GlickItalyAmy Elsner PROPOSAL
Alejandro T DilliardUnited KingdomIoni Bowcher PROPOSAL
Deepesh Q GillianBrazilBernardo Dominic RENEWAL
Emily R OldroydItalyOnyama Limba UNQUALIFIED
Silvio Y CaldareraFranceStephen Shaw UNQUALIFIED
Smith W AlbaresSpainOnyama Limba QUALIFIED
Clifford F MorascaSpainOnyama Limba UNQUALIFIED
Kadeem T SlusarskiFranceAsiya Javayant RENEWAL
Maisha C SaylorsGermanyIoni Bowcher NEGOTIATION
Silvio S TollnerAustraliaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones Z ChuiIndia2025-04-21Feltz Printing Service NEW69Xuxue Feng
1001Jeanfrancois X ShinkoSpain2025-04-17Dorl, James J Esq QUALIFIED38Stephen Shaw
1002Morrow A WieserArgentina2025-04-14Benton, John B Jr QUALIFIED48Xuxue Feng
1003Isabel J KolmetzAustralia2025-04-29Chapman, Ross E Esq PROPOSAL99Amy Elsner
1004Kaitlin B RimGermany2025-04-06Chanay, Jeffrey A Esq QUALIFIED60Ivan Magalhaes
1005Kaitlin C MarrierItaly2025-04-07Rousseaux, Michael Esq QUALIFIED23Onyama Limba
1006Mayumi A StockhamFrance2025-04-13Benton, John B Jr RENEWAL74Anna Fali
1007Nicolas V RimIndia2025-04-07Chemel, James L Cpa PROPOSAL62Asiya Javayant
1008Faith S KuskoUnited Kingdom2025-04-20Truhlar And Truhlar Attys PROPOSAL12Stephen Shaw
1009Salvatore T BriddickItaly2025-04-30Chapman, Ross E Esq NEW73Amy Elsner
1010Mayumi F RimGermany2025-04-18Rousseaux, Michael Esq NEGOTIATION35Ivan Magalhaes
1011Murillo N WaycottJapan2025-04-25Chanay, Jeffrey A Esq NEGOTIATION39Ivan Magalhaes
1012Aditya X RulapaughRussia2025-04-10Printing Dimensions NEW80Ioni Bowcher
1013Mayumi W StockhamIndia2025-04-22Benton, John B Jr QUALIFIED87Bernardo Dominic
1014Kaitlin M VenereFrance2025-04-29Printing Dimensions UNQUALIFIED7Stephen Shaw
1015Sinclair W FigeroaUnited Kingdom2025-04-04Feltz Printing Service PROPOSAL57Amy Elsner
1016Antonio O ChuiJapan2025-04-19Feiner Bros QUALIFIED36Onyama Limba
1017Munro W VocelkaArgentina2025-04-09Feltz Printing Service NEGOTIATION69Anna Fali
1018Francesco D IturbideItaly2025-04-24Feiner Bros NEGOTIATION79Anna Fali
1019Sinclair E PoquetteSpain2025-04-08Feltz Printing Service PROPOSAL48Xuxue Feng
1020Murillo V GlickArgentina2025-04-09Feltz Printing Service NEW64Anna Fali
1021Ivar T TollnerGermany2025-04-26Benton, John B Jr UNQUALIFIED4Amy Elsner
1022Leja G VenereSpain2025-04-18Morlong Associates RENEWAL41Bernardo Dominic
1023Julie Z FerenczItaly2025-04-02Rousseaux, Michael Esq UNQUALIFIED23Onyama Limba
1024Nicolas V RoysterIndia2025-04-08Feiner Bros QUALIFIED9Onyama Limba
1025Aika F VocelkaItaly2025-04-19Truhlar And Truhlar Attys UNQUALIFIED33Amy Elsner
1026Ricardo X TollnerBrazil2025-04-24Rangoni Of Florence NEGOTIATION13Ivan Magalhaes
1027Darci T StensethCanada2025-04-08Dorl, James J Esq PROPOSAL13Xuxue Feng
1028Adams A PerinJapan2025-04-25Commercial Press UNQUALIFIED46Xuxue Feng
1029Emily Z DarakjyBrazil2025-04-19King, Christopher A Esq RENEWAL81Asiya Javayant
1030Ivar T FollerRussia2025-04-01Dorl, James J Esq RENEWAL93Asiya Javayant
1031Jennifer N PaprockiCanada2025-04-17Rousseaux, Michael Esq RENEWAL51Amy Elsner
1032Adams U ShinkoUnited Kingdom2025-04-30Printing Dimensions RENEWAL26Xuxue Feng
1033Morrow Y BologniaSpain2025-04-28Dorl, James J Esq NEW22Elwin Sharvill
1034Jeanfrancois S FigeroaGermany2025-04-08Rousseaux, Michael Esq RENEWAL86Onyama Limba
1035Smith A AlbaresRussia2025-04-26Feltz Printing Service QUALIFIED28Onyama Limba
1036Chavez Q AlbaresGermany2025-04-09Printing Dimensions NEGOTIATION81Onyama Limba
1037Maisha W ButtItaly2025-04-28Commercial Press UNQUALIFIED77Ivan Magalhaes
1038Izzy H IturbideArgentina2025-04-19Feiner Bros RENEWAL76Ioni Bowcher
1039Darci Z PerinRussia2025-04-11King, Christopher A Esq UNQUALIFIED49Xuxue Feng
1040Aruna N SaylorsUnited Kingdom2025-04-27Buckley Miller Wright PROPOSAL16Xuxue Feng
1041Silvio K CaudyUnited Kingdom2025-04-19King, Christopher A Esq NEW72Amy Elsner
1042James N RimSpain2025-04-23Feiner Bros UNQUALIFIED31Elwin Sharvill
1043Juan S ButtBrazil2025-04-25Feiner Bros UNQUALIFIED92Onyama Limba
1044Mujtaba B MorascaUnited Kingdom2025-04-22Feiner Bros PROPOSAL22Ioni Bowcher
1045Rodrigues D WieserFrance2025-04-12Feiner Bros UNQUALIFIED52Ivan Magalhaes
1046Greenwood M InouyeArgentina2025-04-09Benton, John B Jr NEGOTIATION58Asiya Javayant
1047Misaki F FerenczItaly2025-04-08Dorl, James J Esq PROPOSAL94Ioni Bowcher
1048Ashley T OstroskyItaly2025-04-29Chanay, Jeffrey A Esq PROPOSAL24Xuxue Feng
1049Sinclair Z BowleyFrance2025-04-24Morlong Associates RENEWAL26Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Clifford U DoeBrazilAmy Elsner UNQUALIFIED
Wickens L StensethArgentinaOnyama Limba UNQUALIFIED
Antonio B FlosiJapanAsiya Javayant NEGOTIATION
Aika P IturbideUnited KingdomStephen Shaw RENEWAL
Antonio V ShinkoArgentinaAsiya Javayant PROPOSAL
Cody A KuskoGermanyAmy Elsner RENEWAL
Jones S CaudySpainStephen Shaw NEGOTIATION
Chavez C SergiArgentinaAmy Elsner NEGOTIATION
Darci D SchemmerCanadaAnna Fali PROPOSAL
Mayumi J CaldareraCanadaAsiya Javayant NEGOTIATION
Octavia Q PerinFranceXuxue Feng RENEWAL
Arvin K SergiAustraliaStephen Shaw PROPOSAL
Mayumi G RoysterBrazilOnyama Limba NEW
Darci H RimItalyAmy Elsner PROPOSAL
Jeanfrancois C FigeroaJapanElwin Sharvill NEGOTIATION
Kadeem F MacleadItalyAnna Fali RENEWAL
Maisha V ShinkoCanadaStephen Shaw RENEWAL
Leon O WhobreyAustraliaIoni Bowcher RENEWAL
Murillo O SaylorsSpainOnyama Limba NEW
Jones U RimJapanElwin Sharvill QUALIFIED
Octavia N IturbideUnited KingdomOnyama Limba UNQUALIFIED
Costa B WhobreyCanadaOnyama Limba QUALIFIED
Claire L GlickCanadaBernardo Dominic QUALIFIED
Salvatore E BowleyFranceBernardo Dominic UNQUALIFIED
Kadeem T DoeJapanAnna Fali NEW
Arvin Y ChuiBrazilBernardo Dominic UNQUALIFIED
Jefferson R GlickArgentinaElwin Sharvill NEW
Octavia D RutaCanadaAnna Fali RENEWAL
Johnson P CaldareraGermanyBernardo Dominic NEGOTIATION
Maria F OstroskyBrazilIvan Magalhaes QUALIFIED
Johnson B SaylorsGermanyIvan Magalhaes QUALIFIED
Silvio F PoquetteJapanElwin Sharvill UNQUALIFIED
Aruna C VenereCanadaElwin Sharvill UNQUALIFIED
Leja F DoeCanadaBernardo Dominic PROPOSAL
Smith B RutaGermanyOnyama Limba PROPOSAL
Misaki E PoquetteFranceAmy Elsner NEGOTIATION
David K RimCanadaElwin Sharvill PROPOSAL
Clifford A DilliardArgentinaAsiya Javayant NEGOTIATION
Greenwood V MaletArgentinaOnyama Limba NEGOTIATION
Francesco Q RulapaughRussiaElwin Sharvill NEW
Claire N DarakjyJapanElwin Sharvill RENEWAL
Maria I VocelkaBrazilElwin Sharvill NEGOTIATION
Aika G RoysterSpainXuxue Feng NEGOTIATION
Smith J ChuiJapanIvan Magalhaes NEW
Sinclair Q PerinSpainElwin Sharvill NEGOTIATION
Emily L BologniaItalyOnyama Limba PROPOSAL
Clifford X RimUnited KingdomOnyama Limba RENEWAL
Kaitlin I FerenczIndiaAnna Fali RENEWAL
Chavez J MaletItalyOnyama Limba NEW
Kaitlin E RulapaughArgentinaAnna Fali RENEWAL
Frozen Columns
Name
James M Briddick
Kadeem W Kusko
Greenwood Q Amigon
Aruna H Schemmer
Claire T Kusko
Ricardo W Albares
Emily G Glick
Darci M Glick
Jefferson A Caudy
Chavez W Tollner
Clifford F Doe
Ivar J Doe
Ivar S Inouye
Rodrigues Q Venere
Maisha V Foller
Kaitlin S Shinko
Nicolas W Dilliard
Chavez M Flosi
Costa X Oldroyd
Emily D Nicka
Johnson K Perin
Tony M Albares
Octavia D Dilliard
Mayumi D Briddick
Stacey P Gillian
Jefferson C Schemmer
Cody J Vocelka
Leja P Kusko
Emily E Whobrey
Maria Z Stenseth
Ashley N Gaucho
Silvio C Sergi
Misaki R Ruta
Munro G Whobrey
Kadeem E Campain
Chavez A Chui
Kaitlin W Butt
Chavez K Marrier
Ashley Y Shinko
Claire M Kolmetz
Nicolas Q Foller
Faith G Royster
Izzy I Venere
Mujtaba E Gillian
Misaki E Morasca
Maisha M Glick
Salvatore Y Campain
Salvatore W Sergi
Smith E Sergi
Aruna D Nestle
IdCountryDate
1000India2025-04-25
1001Germany2025-04-20
1002Canada2025-04-11
1003United Kingdom2025-04-15
1004Russia2025-04-16
1005United Kingdom2025-04-21
1006France2025-04-10
1007Italy2025-04-23
1008Argentina2025-04-02
1009United Kingdom2025-04-18
1010Japan2025-04-16
1011Spain2025-04-09
1012Canada2025-04-09
1013France2025-04-17
1014Argentina2025-04-26
1015France2025-04-25
1016Australia2025-04-22
1017United Kingdom2025-04-13
1018India2025-04-16
1019India2025-04-03
1020India2025-04-12
1021France2025-04-05
1022Japan2025-04-24
1023Spain2025-04-20
1024Australia2025-04-17
1025Brazil2025-04-23
1026Argentina2025-04-05
1027Italy2025-04-15
1028United Kingdom2025-04-09
1029France2025-04-10
1030Spain2025-04-23
1031Russia2025-04-10
1032India2025-04-29
1033India2025-04-23
1034Brazil2025-04-22
1035Germany2025-04-15
1036Germany2025-04-07
1037Spain2025-04-24
1038France2025-04-10
1039Italy2025-04-26
1040France2025-04-12
1041India2025-04-30
1042Russia2025-04-24
1043Canada2025-04-06
1044Canada2025-04-01
1045Germany2025-04-05
1046Brazil2025-04-23
1047Italy2025-04-27
1048Canada2025-04-27
1049Russia2025-04-28

On-Demand Data

NameIdCountryDate
Antonio V Schemmer1000Russia2025-04-22
Alejandro U Stenseth1001United Kingdom2025-04-20
Morrow T Bolognia1002France2025-04-29
Francesco N Morasca1003Argentina2025-04-20
Munro A Vocelka1004Italy2025-04-04
Jennifer P Ostrosky1005Russia2025-04-01
Mayumi X Campain1006India2025-04-18
Misaki E Venere1007Germany2025-04-04
Julie A Bolognia1008Argentina2025-04-16
Smith Q Oldroyd1009Japan2025-04-20
Tony O Inouye1010Italy2025-04-29
Jones G Saylors1011India2025-04-10
Salvatore P Nestle1012Italy2025-04-18
Leja J Bolognia1013Brazil2025-04-16
Ivar M Stenseth1014Spain2025-04-24
Aditya Q Sergi1015Australia2025-04-19
Francesco X Tollner1016Australia2025-04-22
Sinclair L Royster1017Brazil2025-04-12
Julie M Stockham1018Brazil2025-04-15
Salvatore Z Schemmer1019Canada2025-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin S AlbaresRussiaOnyama Limba QUALIFIED
Stacey A WieserCanadaOnyama Limba RENEWAL
Kaitlin C FollerItalyIoni Bowcher PROPOSAL
Maisha K ButtAustraliaAnna Fali UNQUALIFIED
Adams O AlbaresBrazilStephen Shaw PROPOSAL
Costa S PaprockiIndiaXuxue Feng NEGOTIATION
Faith L VocelkaItalyStephen Shaw RENEWAL
Izzy C FigeroaFranceIoni Bowcher UNQUALIFIED
Murillo K WieserCanadaOnyama Limba QUALIFIED
Stacey H MaletIndiaAmy Elsner NEW
Silvio P ButtRussiaOnyama Limba PROPOSAL
Claire W KolmetzGermanyOnyama Limba NEGOTIATION
Adams N ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Ricardo A SlusarskiGermanyXuxue Feng NEGOTIATION
Munro R BologniaItalyAnna Fali NEGOTIATION
Mayumi I MarrierItalyBernardo Dominic UNQUALIFIED
Mujtaba X PaprockiJapanStephen Shaw NEW
Ivar S FerenczIndiaBernardo Dominic RENEWAL
Leon W RutaSpainIoni Bowcher UNQUALIFIED
Silvio J OstroskyJapanOnyama Limba NEW
Mayumi S SergiCanadaAsiya Javayant RENEWAL
Aditya M OstroskySpainAsiya Javayant NEW
Leja N DoeSpainXuxue Feng QUALIFIED
Alejandro J MaletBrazilXuxue Feng RENEWAL
Aditya F ShinkoItalyAnna Fali RENEWAL
Faith R DoeUnited KingdomIoni Bowcher UNQUALIFIED
Francesco D FigeroaRussiaAmy Elsner RENEWAL
Julie N VenereArgentinaOnyama Limba RENEWAL
Misaki M RimItalyIvan Magalhaes RENEWAL
Jennifer X RimBrazilIoni Bowcher NEGOTIATION
Cody R RimIndiaOnyama Limba NEW
Jennifer N CaldareraItalyBernardo Dominic QUALIFIED
Arvin G MacleadAustraliaIoni Bowcher NEGOTIATION
Misaki L SchemmerRussiaAmy Elsner UNQUALIFIED
Rodrigues E VenereCanadaBernardo Dominic NEGOTIATION
Emily N FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Munro Z MacleadGermanyAnna Fali RENEWAL
Izzy C GillianBrazilBernardo Dominic UNQUALIFIED
Stacey G VocelkaBrazilIvan Magalhaes NEW
Adams U MacleadItalyAsiya 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>