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
Izzy M StensethCanadaBernardo Dominic QUALIFIED
Ricardo C BriddickJapanAsiya Javayant NEW
Greenwood H SlusarskiIndiaElwin Sharvill PROPOSAL
Faith S FollerUnited KingdomBernardo Dominic RENEWAL
Leon V RoysterJapanIoni Bowcher NEW
Kaitlin T MarrierAustraliaStephen Shaw RENEWAL
Aika N KolmetzBrazilAsiya Javayant RENEWAL
Aditya Z GillianIndiaXuxue Feng QUALIFIED
Maria U RoysterRussiaAnna Fali QUALIFIED
Wickens P FigeroaJapanOnyama Limba PROPOSAL
Maisha D FigeroaGermanyStephen Shaw QUALIFIED
Salvatore J SaylorsCanadaBernardo Dominic NEGOTIATION
Costa B DarakjyJapanAsiya Javayant QUALIFIED
Jennifer Q FerenczArgentinaAmy Elsner PROPOSAL
Munro D RimJapanXuxue Feng UNQUALIFIED
Chavez G WieserGermanyXuxue Feng QUALIFIED
David N GarufiRussiaIoni Bowcher UNQUALIFIED
Leon P FigeroaCanadaOnyama Limba RENEWAL
Kadeem K CaudySpainAnna Fali PROPOSAL
Octavia M MacleadIndiaAnna Fali RENEWAL
Ivar B GauchoBrazilElwin Sharvill UNQUALIFIED
Mayumi G PoquetteIndiaStephen Shaw NEGOTIATION
Arvin U WieserBrazilBernardo Dominic QUALIFIED
Alejandro U SergiRussiaXuxue Feng RENEWAL
Jeanfrancois W PaprockiIndiaIoni Bowcher PROPOSAL
Aika T MarrierRussiaAsiya Javayant UNQUALIFIED
Costa X CaldareraItalyAsiya Javayant UNQUALIFIED
Aditya K SlusarskiFranceIoni Bowcher PROPOSAL
Sinclair X GlickJapanStephen Shaw UNQUALIFIED
Johnson R GlickFranceAsiya Javayant UNQUALIFIED
Isabel V OstroskyBrazilAnna Fali NEGOTIATION
Clifford F VenereGermanyAmy Elsner NEW
Kaitlin J MarrierFranceAmy Elsner PROPOSAL
Rodrigues E FollerArgentinaBernardo Dominic NEGOTIATION
Antonio C ShinkoJapanIoni Bowcher NEGOTIATION
Chavez R WieserCanadaBernardo Dominic NEW
Munro C IturbideRussiaStephen Shaw UNQUALIFIED
Silvio I ChuiItalyStephen Shaw NEW
Jeanfrancois Q RoysterCanadaAmy Elsner PROPOSAL
Maisha X RulapaughRussiaIoni Bowcher QUALIFIED
Alejandro Q PoquetteArgentinaAsiya Javayant NEGOTIATION
Emily O WieserArgentinaStephen Shaw QUALIFIED
Aditya D WhobreyGermanyAnna Fali NEGOTIATION
Arvin D RulapaughItalyBernardo Dominic NEGOTIATION
Jennifer N FollerGermanyAnna Fali RENEWAL
Jefferson T PoquetteRussiaElwin Sharvill UNQUALIFIED
Ashley C RulapaughIndiaAnna Fali PROPOSAL
Juan F WhobreyArgentinaAnna Fali RENEWAL
Costa K SlusarskiFranceElwin Sharvill RENEWAL
Jones B PoquetteItalyAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Ivar X InouyeCanadaOnyama Limba QUALIFIED
Smith U VocelkaItalyIvan Magalhaes RENEWAL
Ricardo S SergiFranceBernardo Dominic NEW
Darci W RulapaughIndiaIoni Bowcher UNQUALIFIED
Maria M MaletBrazilElwin Sharvill QUALIFIED
Wickens P GarufiSpainXuxue Feng UNQUALIFIED
Chavez X RulapaughRussiaIvan Magalhaes UNQUALIFIED
Smith Y VocelkaItalyBernardo Dominic QUALIFIED
Greenwood U MaletAustraliaAmy Elsner QUALIFIED
David R FigeroaJapanOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo R VocelkaItaly2024-05-27Rousseaux, Michael Esq NEGOTIATION46Ioni Bowcher
1001Mayumi X PerinBrazil2024-05-25Rangoni Of Florence PROPOSAL22Ioni Bowcher
1002Jennifer Z MarrierRussia2024-05-30Buckley Miller Wright PROPOSAL3Xuxue Feng
1003Aika Y NestleCanada2024-06-08Commercial Press UNQUALIFIED5Onyama Limba
1004Deepesh E OstroskyItaly2024-05-25Rousseaux, Michael Esq QUALIFIED82Onyama Limba
1005Cody R AlbaresIndia2024-06-12Buckley Miller Wright NEGOTIATION1Asiya Javayant
1006Izzy P IturbideJapan2024-06-21Commercial Press UNQUALIFIED98Ivan Magalhaes
1007Juan Y SchemmerUnited Kingdom2024-06-11Printing Dimensions NEW76Ivan Magalhaes
1008Antonio N ChuiArgentina2024-05-26Chapman, Ross E Esq NEW80Onyama Limba
1009Kaitlin E WieserCanada2024-06-04Chapman, Ross E Esq QUALIFIED19Elwin Sharvill
1010Chavez I KolmetzUnited Kingdom2024-06-06Feiner Bros NEGOTIATION89Ioni Bowcher
1011Isabel U SchemmerItaly2024-06-16Morlong Associates PROPOSAL55Stephen Shaw
1012Jones T NestleJapan2024-05-23Feiner Bros RENEWAL57Bernardo Dominic
1013Aika M BowleySpain2024-05-24Buckley Miller Wright NEGOTIATION88Bernardo Dominic
1014Arvin S AlbaresArgentina2024-05-31Buckley Miller Wright RENEWAL19Onyama Limba
1015Jennifer U RutaRussia2024-06-14Chanay, Jeffrey A Esq NEW53Bernardo Dominic
1016Mayumi Y VenereUnited Kingdom2024-05-24King, Christopher A Esq UNQUALIFIED46Anna Fali
1017Silvio I ChuiIndia2024-05-23Rousseaux, Michael Esq RENEWAL20Amy Elsner
1018Ivar M CaldareraJapan2024-05-25Dorl, James J Esq UNQUALIFIED77Ivan Magalhaes
1019Claire C SaylorsItaly2024-06-10Chanay, Jeffrey A Esq NEGOTIATION35Amy Elsner
1020Salvatore T MarrierBrazil2024-06-01Rousseaux, Michael Esq NEGOTIATION42Asiya Javayant
1021Maisha J SergiRussia2024-06-10Morlong Associates NEGOTIATION54Ioni Bowcher
1022Faith Z WhobreyFrance2024-06-09Printing Dimensions QUALIFIED30Asiya Javayant
1023Misaki T FerenczUnited Kingdom2024-06-05Rousseaux, Michael Esq NEGOTIATION11Onyama Limba
1024Chavez B DilliardRussia2024-06-20Chemel, James L Cpa NEW99Amy Elsner
1025Jennifer X OldroydAustralia2024-05-25King, Christopher A Esq NEGOTIATION98Stephen Shaw
1026Costa O CaudyCanada2024-06-01Dorl, James J Esq PROPOSAL50Stephen Shaw
1027Maisha P FlosiGermany2024-05-28Rousseaux, Michael Esq NEW9Ivan Magalhaes
1028Aika E MorascaJapan2024-05-23Printing Dimensions RENEWAL64Amy Elsner
1029Rodrigues O CampainFrance2024-06-08Dorl, James J Esq NEGOTIATION57Anna Fali
1030Kadeem N SergiFrance2024-06-03King, Christopher A Esq NEGOTIATION70Stephen Shaw
1031Johnson N SchemmerRussia2024-06-03Benton, John B Jr RENEWAL65Ioni Bowcher
1032James F ChuiIndia2024-05-26Feiner Bros UNQUALIFIED65Ivan Magalhaes
1033Murillo H DoeBrazil2024-05-27Chanay, Jeffrey A Esq QUALIFIED82Elwin Sharvill
1034Jeanfrancois B FollerRussia2024-06-15King, Christopher A Esq NEGOTIATION15Anna Fali
1035Aika H RimArgentina2024-06-10Commercial Press NEGOTIATION64Asiya Javayant
1036Mujtaba E AmigonCanada2024-06-01Feltz Printing Service NEW92Anna Fali
1037Sinclair P CampainArgentina2024-06-08Morlong Associates RENEWAL39Bernardo Dominic
1038Rodrigues H AlbaresJapan2024-06-20Chapman, Ross E Esq RENEWAL81Asiya Javayant
1039Octavia E SchemmerFrance2024-06-03Morlong Associates NEW10Asiya Javayant
1040Salvatore A StensethUnited Kingdom2024-06-16Feiner Bros PROPOSAL64Stephen Shaw
1041Faith J KuskoCanada2024-06-14Feiner Bros NEGOTIATION7Stephen Shaw
1042Smith O MaletSpain2024-06-03Benton, John B Jr QUALIFIED28Onyama Limba
1043Francesco N RoysterUnited Kingdom2024-05-30Chapman, Ross E Esq QUALIFIED88Amy Elsner
1044Mujtaba M FlosiFrance2024-06-20Dorl, James J Esq NEGOTIATION41Bernardo Dominic
1045Jones B VocelkaItaly2024-06-04Benton, John B Jr UNQUALIFIED81Elwin Sharvill
1046Mayumi F WieserItaly2024-06-21Feiner Bros PROPOSAL28Ioni Bowcher
1047Aditya P WaycottIndia2024-06-07Chapman, Ross E Esq RENEWAL95Asiya Javayant
1048Kaitlin U DarakjySpain2024-06-16Chemel, James L Cpa UNQUALIFIED85Stephen Shaw
1049Leon A VenereCanada2024-06-09Rousseaux, Michael Esq PROPOSAL39Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Octavia Q MarrierRussiaElwin Sharvill QUALIFIED
Salvatore T GauchoCanadaStephen Shaw NEGOTIATION
Ashley N BriddickJapanIvan Magalhaes PROPOSAL
Kadeem E BowleyCanadaOnyama Limba QUALIFIED
Antonio J VocelkaFranceXuxue Feng PROPOSAL
Francesco A FlosiRussiaStephen Shaw UNQUALIFIED
Maisha K FlosiUnited KingdomAnna Fali RENEWAL
Costa R NickaIndiaXuxue Feng QUALIFIED
Ricardo Y NestleJapanBernardo Dominic UNQUALIFIED
Silvio V DilliardSpainElwin Sharvill NEGOTIATION
James K MaletUnited KingdomAnna Fali UNQUALIFIED
Leja B WhobreyIndiaAnna Fali RENEWAL
Jennifer Q FlosiItalyAmy Elsner RENEWAL
Clifford W ShinkoGermanyAmy Elsner RENEWAL
Aditya F BriddickFranceIoni Bowcher PROPOSAL
Aruna T PoquetteIndiaIoni Bowcher NEW
Sinclair P VocelkaJapanXuxue Feng UNQUALIFIED
Ivar R SergiUnited KingdomStephen Shaw NEW
David H WhobreyCanadaXuxue Feng UNQUALIFIED
Aruna L MaletUnited KingdomAnna Fali NEW
Maisha Q StensethArgentinaElwin Sharvill QUALIFIED
Tony Y GillianArgentinaElwin Sharvill NEGOTIATION
Rodrigues Y WaycottIndiaBernardo Dominic RENEWAL
Izzy R KolmetzArgentinaBernardo Dominic PROPOSAL
Antonio C BologniaItalyBernardo Dominic PROPOSAL
Deepesh J BowleyRussiaStephen Shaw UNQUALIFIED
Maria O MarrierBrazilAmy Elsner QUALIFIED
Leon I TollnerArgentinaIoni Bowcher UNQUALIFIED
Mayumi P SchemmerSpainAmy Elsner RENEWAL
Leon I RoysterFranceBernardo Dominic UNQUALIFIED
David W MaletFranceStephen Shaw QUALIFIED
Mujtaba L IturbideCanadaAnna Fali RENEWAL
Costa U SergiFranceAnna Fali NEW
Kadeem Z VenereAustraliaIoni Bowcher NEW
Murillo H GillianIndiaAmy Elsner RENEWAL
Emily R CaldareraArgentinaStephen Shaw UNQUALIFIED
Wickens B GauchoIndiaBernardo Dominic RENEWAL
Izzy G MacleadJapanElwin Sharvill UNQUALIFIED
Ivar E CampainJapanAnna Fali UNQUALIFIED
Darci M KuskoUnited KingdomIvan Magalhaes RENEWAL
Kadeem R RoysterSpainAmy Elsner NEW
Ivar C RutaGermanyAmy Elsner NEGOTIATION
Salvatore O InouyeSpainOnyama Limba RENEWAL
Rodrigues P CampainIndiaIvan Magalhaes PROPOSAL
Darci L RimArgentinaStephen Shaw NEW
Morrow R MaletItalyBernardo Dominic UNQUALIFIED
Octavia Q StensethSpainOnyama Limba UNQUALIFIED
Maisha I ChuiItalyXuxue Feng NEW
Greenwood B FerenczGermanyElwin Sharvill NEW
Jeanfrancois G FollerJapanXuxue Feng UNQUALIFIED
Frozen Columns
Name
Antonio L Maclead
Mujtaba R Kusko
Stacey F Flosi
Arvin K Oldroyd
Kadeem T Campain
Smith Y Foller
Julie O Ostrosky
Juan M Amigon
Leon N Vocelka
Tony R Poquette
David U Kusko
Izzy I Amigon
Cody U Dilliard
Mayumi J Malet
Rodrigues H Albares
Aditya I Ostrosky
David C Whobrey
Cody Z Perin
Deepesh D Butt
Aruna H Nestle
Jennifer A Caldarera
Misaki F Nicka
Silvio C Whobrey
Morrow Y Garufi
Smith P Schemmer
Ivar C Ruta
Misaki R Wieser
Isabel T Kolmetz
Clifford D Ferencz
Ashley G Darakjy
Kadeem N Slusarski
Tony Y Tollner
Cody C Gaucho
Emily D Nicka
Murillo U Shinko
Maria U Doe
Izzy L Kolmetz
James J Ferencz
Juan V Chui
James P Kusko
Mujtaba T Marrier
Maisha Q Garufi
Ivar Z Gillian
Sinclair H Shinko
Maisha G Venere
Juan C Waycott
Darci X Bowley
Morrow F Bowley
Salvatore F Ferencz
Greenwood A Malet
IdCountryDate
1000Canada2024-06-08
1001Argentina2024-06-04
1002Brazil2024-05-28
1003Australia2024-06-20
1004Brazil2024-06-05
1005Japan2024-06-17
1006Brazil2024-06-01
1007Russia2024-06-18
1008Argentina2024-06-07
1009Japan2024-06-02
1010Italy2024-05-24
1011Italy2024-06-08
1012Russia2024-05-26
1013Russia2024-06-10
1014Spain2024-06-05
1015France2024-06-13
1016Italy2024-06-21
1017Italy2024-05-28
1018Canada2024-06-12
1019India2024-06-12
1020Brazil2024-05-31
1021Italy2024-05-28
1022Argentina2024-05-26
1023Canada2024-06-13
1024Australia2024-06-01
1025Russia2024-06-07
1026Italy2024-06-15
1027India2024-05-26
1028France2024-05-28
1029Japan2024-06-20
1030India2024-05-26
1031Japan2024-06-10
1032Australia2024-06-18
1033Canada2024-06-03
1034Spain2024-06-06
1035Australia2024-06-02
1036Argentina2024-06-08
1037Germany2024-05-26
1038Canada2024-06-07
1039Russia2024-05-31
1040Russia2024-06-12
1041France2024-06-19
1042Australia2024-05-23
1043Italy2024-06-10
1044Canada2024-06-10
1045Brazil2024-05-29
1046Japan2024-05-24
1047Spain2024-05-26
1048Russia2024-06-12
1049India2024-06-02

On-Demand Data

NameIdCountryDate
Maisha N Inouye1000Argentina2024-06-18
Silvio S Campain1001Brazil2024-06-01
Wickens S Bolognia1002Argentina2024-06-18
Antonio D Doe1003United Kingdom2024-05-23
Stacey L Ruta1004India2024-05-29
Maisha T Stockham1005France2024-06-08
Kaitlin H Whobrey1006Japan2024-05-30
Wickens Z Ruta1007Australia2024-06-08
David M Sergi1008Italy2024-06-10
Kadeem M Stockham1009Spain2024-06-08
Stacey X Slusarski1010Canada2024-06-17
Salvatore H Paprocki1011Canada2024-06-16
Mayumi P Campain1012France2024-06-15
Jeanfrancois M Royster1013Japan2024-05-27
Jeanfrancois A Garufi1014Italy2024-06-08
Tony V Malet1015Canada2024-05-28
Smith F Gillian1016Australia2024-06-01
Leon F Doe1017Italy2024-06-01
James T Nicka1018United Kingdom2024-06-20
Aika D Flosi1019Canada2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy F GlickJapanOnyama Limba NEGOTIATION
Isabel X VenereAustraliaIvan Magalhaes UNQUALIFIED
Faith T MorascaAustraliaAsiya Javayant PROPOSAL
Jennifer H FigeroaJapanIoni Bowcher NEGOTIATION
Aika K PerinGermanyElwin Sharvill PROPOSAL
Chavez E ButtArgentinaAnna Fali NEW
Mayumi A MarrierArgentinaAnna Fali NEGOTIATION
Leja N WieserGermanyElwin Sharvill NEGOTIATION
Aditya N DilliardArgentinaElwin Sharvill NEGOTIATION
Izzy U GillianArgentinaXuxue Feng RENEWAL
Salvatore V CaldareraJapanAsiya Javayant NEW
Emily X StensethIndiaIoni Bowcher PROPOSAL
Juan J BowleyUnited KingdomIvan Magalhaes RENEWAL
Antonio D FerenczIndiaIoni Bowcher NEGOTIATION
Sinclair M RutaSpainIvan Magalhaes PROPOSAL
Octavia P GarufiBrazilOnyama Limba UNQUALIFIED
Sinclair F MorascaFranceAnna Fali UNQUALIFIED
Jeanfrancois F ChuiArgentinaStephen Shaw RENEWAL
Munro D ShinkoFranceOnyama Limba QUALIFIED
Ricardo W VocelkaIndiaOnyama Limba RENEWAL
Munro Y AmigonCanadaAsiya Javayant QUALIFIED
Rodrigues B GarufiFranceStephen Shaw QUALIFIED
Deepesh E KuskoBrazilAmy Elsner UNQUALIFIED
Julie C PerinArgentinaAsiya Javayant RENEWAL
Aruna E ShinkoRussiaIoni Bowcher NEW
Aditya D SaylorsJapanIoni Bowcher QUALIFIED
Ricardo F PoquetteSpainStephen Shaw PROPOSAL
Jennifer L SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Nicolas C OldroydAustraliaAsiya Javayant QUALIFIED
Aruna R BriddickUnited KingdomBernardo Dominic NEW
Silvio E GarufiItalyAsiya Javayant PROPOSAL
Clifford G VocelkaJapanIoni Bowcher RENEWAL
Ricardo F MaletBrazilAsiya Javayant RENEWAL
Mayumi L PoquetteItalyXuxue Feng NEW
Octavia G MacleadGermanyAsiya Javayant NEW
Antonio C FlosiUnited KingdomOnyama Limba UNQUALIFIED
Jefferson Y CaldareraJapanStephen Shaw NEGOTIATION
Faith O MaletUnited KingdomElwin Sharvill UNQUALIFIED
Juan H FerenczGermanyAnna Fali UNQUALIFIED
Greenwood L BologniaCanadaIoni Bowcher PROPOSAL

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