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
Deepesh H PerinSpainOnyama Limba UNQUALIFIED
Salvatore J PaprockiIndiaStephen Shaw UNQUALIFIED
Morrow E PerinJapanElwin Sharvill UNQUALIFIED
Maria F StockhamGermanyBernardo Dominic RENEWAL
Francesco P RutaFranceAnna Fali PROPOSAL
Claire N MorascaFranceIoni Bowcher PROPOSAL
Julie P AlbaresItalyAmy Elsner QUALIFIED
Maisha D ChuiGermanyStephen Shaw NEW
Stacey S SaylorsCanadaOnyama Limba PROPOSAL
Arvin H AmigonGermanyAmy Elsner NEGOTIATION
Leon C MorascaItalyElwin Sharvill QUALIFIED
Emily E AlbaresCanadaStephen Shaw RENEWAL
Nicolas I ButtIndiaElwin Sharvill NEGOTIATION
Salvatore X DarakjyAustraliaXuxue Feng UNQUALIFIED
Salvatore U MaletItalyElwin Sharvill UNQUALIFIED
Wickens D NestleRussiaOnyama Limba QUALIFIED
Rodrigues C KolmetzArgentinaAsiya Javayant QUALIFIED
Greenwood U CaudyAustraliaAsiya Javayant NEGOTIATION
Cody O RulapaughJapanAmy Elsner RENEWAL
David Z RutaItalyIoni Bowcher RENEWAL
Julie A FerenczGermanyAnna Fali NEGOTIATION
Juan P RoysterRussiaOnyama Limba PROPOSAL
Mujtaba S WieserIndiaAnna Fali UNQUALIFIED
Salvatore E DilliardItalyElwin Sharvill NEGOTIATION
Greenwood A StensethJapanStephen Shaw QUALIFIED
Costa X ChuiAustraliaElwin Sharvill QUALIFIED
Morrow V BriddickCanadaAmy Elsner NEGOTIATION
Ricardo Q OldroydJapanAsiya Javayant NEGOTIATION
Ricardo R VocelkaIndiaStephen Shaw PROPOSAL
David N KolmetzCanadaStephen Shaw NEGOTIATION
Jefferson L KuskoFranceAnna Fali QUALIFIED
Aditya M RulapaughItalyXuxue Feng RENEWAL
Aruna Z BowleyBrazilAnna Fali NEGOTIATION
Ricardo M CaudySpainStephen Shaw QUALIFIED
Faith S TollnerBrazilBernardo Dominic PROPOSAL
Arvin Z MorascaJapanAmy Elsner UNQUALIFIED
Jennifer A PaprockiJapanBernardo Dominic QUALIFIED
Darci H MorascaUnited KingdomAnna Fali QUALIFIED
Emily E SlusarskiBrazilAnna Fali PROPOSAL
Johnson E AmigonItalyXuxue Feng RENEWAL
Antonio N BologniaUnited KingdomStephen Shaw NEW
Mujtaba F CampainIndiaElwin Sharvill RENEWAL
Johnson R KuskoIndiaAnna Fali RENEWAL
Emily C GarufiItalyStephen Shaw UNQUALIFIED
Maisha W AmigonFranceIvan Magalhaes NEW
Maisha Y MarrierArgentinaOnyama Limba QUALIFIED
Faith I MarrierItalyOnyama Limba UNQUALIFIED
Jones D SaylorsItalyBernardo Dominic NEGOTIATION
Sinclair E PaprockiFranceAmy Elsner RENEWAL
Ashley O NickaBrazilStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Stacey K TollnerBrazilIvan Magalhaes NEW
Darci K WieserFranceStephen Shaw NEW
Greenwood X FlosiIndiaOnyama Limba NEW
Jones X SergiFranceIvan Magalhaes QUALIFIED
Rodrigues C WaycottFranceStephen Shaw NEW
Juan C RulapaughSpainAmy Elsner NEGOTIATION
Costa E PaprockiBrazilElwin Sharvill PROPOSAL
Aruna I RulapaughArgentinaXuxue Feng UNQUALIFIED
Maria F TollnerCanadaXuxue Feng NEW
Aditya V SergiItalyElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon Y GarufiUnited Kingdom2024-06-06Truhlar And Truhlar Attys NEW20Anna Fali
1001Tony U ShinkoRussia2024-06-03Printing Dimensions UNQUALIFIED34Stephen Shaw
1002Isabel V FigeroaSpain2024-06-13Feiner Bros PROPOSAL57Amy Elsner
1003Silvio M NestleGermany2024-06-04Printing Dimensions NEW26Onyama Limba
1004Faith L SergiAustralia2024-06-11Benton, John B Jr QUALIFIED28Ivan Magalhaes
1005Clifford D OstroskyJapan2024-06-05King, Christopher A Esq NEGOTIATION28Onyama Limba
1006Sinclair S ShinkoBrazil2024-05-20Chanay, Jeffrey A Esq RENEWAL3Stephen Shaw
1007Mujtaba R MacleadItaly2024-06-15Benton, John B Jr PROPOSAL21Asiya Javayant
1008Octavia F TollnerFrance2024-05-28Truhlar And Truhlar Attys PROPOSAL9Ioni Bowcher
1009Mayumi K CaudyFrance2024-06-12Chanay, Jeffrey A Esq PROPOSAL55Ioni Bowcher
1010Adams K RimCanada2024-05-20Commercial Press QUALIFIED25Anna Fali
1011Jefferson A WaycottAustralia2024-05-20Commercial Press QUALIFIED59Ioni Bowcher
1012Rodrigues R OldroydItaly2024-06-18Feltz Printing Service NEW35Ivan Magalhaes
1013Costa T VenereAustralia2024-05-21Truhlar And Truhlar Attys QUALIFIED64Xuxue Feng
1014Octavia M FigeroaGermany2024-06-08Truhlar And Truhlar Attys QUALIFIED85Ioni Bowcher
1015Aruna A AmigonCanada2024-05-21Chanay, Jeffrey A Esq PROPOSAL69Asiya Javayant
1016Silvio D DilliardArgentina2024-06-18Benton, John B Jr QUALIFIED44Anna Fali
1017Leja B GillianRussia2024-06-11Truhlar And Truhlar Attys NEW45Anna Fali
1018Misaki L VenereArgentina2024-06-02Chapman, Ross E Esq NEGOTIATION24Elwin Sharvill
1019Leja V KuskoUnited Kingdom2024-05-27Printing Dimensions UNQUALIFIED47Ioni Bowcher
1020Mayumi H RoysterIndia2024-05-31Benton, John B Jr RENEWAL42Onyama Limba
1021Wickens R ChuiUnited Kingdom2024-06-10Printing Dimensions QUALIFIED67Xuxue Feng
1022Ricardo O MorascaUnited Kingdom2024-06-04Chanay, Jeffrey A Esq QUALIFIED53Ivan Magalhaes
1023Octavia W FigeroaFrance2024-06-05Rangoni Of Florence QUALIFIED31Stephen Shaw
1024Arvin C KuskoFrance2024-05-28Commercial Press NEGOTIATION79Asiya Javayant
1025Munro W RutaSpain2024-06-12Buckley Miller Wright PROPOSAL44Stephen Shaw
1026Aditya S SchemmerBrazil2024-06-03Benton, John B Jr RENEWAL37Ivan Magalhaes
1027Salvatore F GarufiCanada2024-05-30Commercial Press NEGOTIATION41Elwin Sharvill
1028Octavia V WaycottSpain2024-05-25Truhlar And Truhlar Attys UNQUALIFIED55Asiya Javayant
1029Faith D FlosiItaly2024-06-12Dorl, James J Esq QUALIFIED72Amy Elsner
1030Julie Y FerenczJapan2024-06-10Feiner Bros PROPOSAL3Xuxue Feng
1031Leon J FollerRussia2024-05-26Rousseaux, Michael Esq PROPOSAL75Onyama Limba
1032Rodrigues M MarrierRussia2024-05-25Truhlar And Truhlar Attys NEGOTIATION21Amy Elsner
1033Darci A CaudyBrazil2024-05-23Buckley Miller Wright NEGOTIATION40Bernardo Dominic
1034Darci R InouyeCanada2024-06-08Chapman, Ross E Esq QUALIFIED87Asiya Javayant
1035Sinclair N RulapaughItaly2024-06-01Chapman, Ross E Esq NEGOTIATION14Stephen Shaw
1036Darci K NestleSpain2024-06-02Feiner Bros RENEWAL66Amy Elsner
1037Sinclair I RimUnited Kingdom2024-05-26Feltz Printing Service QUALIFIED57Asiya Javayant
1038Jennifer B FlosiArgentina2024-06-03Truhlar And Truhlar Attys UNQUALIFIED13Ioni Bowcher
1039Jones W IturbideBrazil2024-06-07Chanay, Jeffrey A Esq PROPOSAL78Elwin Sharvill
1040Ashley V FerenczGermany2024-06-06Morlong Associates PROPOSAL72Xuxue Feng
1041Adams E DoeBrazil2024-06-02Chapman, Ross E Esq NEW68Onyama Limba
1042Morrow O DarakjyGermany2024-06-09Chapman, Ross E Esq RENEWAL37Xuxue Feng
1043Jones O PerinBrazil2024-05-21Morlong Associates PROPOSAL59Elwin Sharvill
1044Claire D AlbaresBrazil2024-06-16Dorl, James J Esq RENEWAL17Asiya Javayant
1045Izzy P StensethCanada2024-06-10Feiner Bros RENEWAL84Xuxue Feng
1046Mayumi B RulapaughUnited Kingdom2024-06-12Chanay, Jeffrey A Esq NEW76Ioni Bowcher
1047Stacey K MarrierSpain2024-05-24King, Christopher A Esq UNQUALIFIED38Ivan Magalhaes
1048Octavia U StockhamBrazil2024-06-02Buckley Miller Wright RENEWAL76Elwin Sharvill
1049Alejandro C PaprockiGermany2024-06-08Printing Dimensions QUALIFIED91Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Salvatore Y ButtSpainAsiya Javayant QUALIFIED
Munro I MorascaCanadaOnyama Limba NEGOTIATION
Darci K TollnerIndiaAsiya Javayant QUALIFIED
Mujtaba J MaletCanadaElwin Sharvill UNQUALIFIED
Mayumi U SchemmerItalyIvan Magalhaes NEW
Ivar I ChuiIndiaXuxue Feng RENEWAL
Greenwood M GlickAustraliaAsiya Javayant UNQUALIFIED
Ricardo C OldroydRussiaBernardo Dominic QUALIFIED
Kaitlin W FigeroaRussiaAsiya Javayant PROPOSAL
Mayumi L VenereRussiaAmy Elsner QUALIFIED
Leja N RimItalyBernardo Dominic NEW
David K WhobreyItalyIvan Magalhaes PROPOSAL
Leja H WaycottUnited KingdomXuxue Feng NEW
Jefferson B NestleRussiaXuxue Feng NEGOTIATION
Salvatore B RoysterItalyOnyama Limba QUALIFIED
Kadeem N WieserJapanBernardo Dominic PROPOSAL
Smith C FlosiIndiaElwin Sharvill QUALIFIED
Leja Z FerenczItalyAmy Elsner UNQUALIFIED
Emily N PoquetteFranceXuxue Feng NEW
Mayumi Y StensethArgentinaIoni Bowcher NEGOTIATION
Arvin F VenereCanadaXuxue Feng RENEWAL
Silvio V SchemmerFranceAmy Elsner NEGOTIATION
Greenwood E MacleadCanadaIoni Bowcher PROPOSAL
Emily E ChuiUnited KingdomStephen Shaw RENEWAL
Clifford A CaldareraIndiaStephen Shaw NEGOTIATION
Aditya E AlbaresFranceXuxue Feng QUALIFIED
Mayumi Z RutaFranceAnna Fali QUALIFIED
Leon L RimRussiaAsiya Javayant NEW
Murillo T MaletArgentinaElwin Sharvill UNQUALIFIED
Chavez H KuskoJapanElwin Sharvill NEW
Adams C MorascaFranceIvan Magalhaes UNQUALIFIED
Rodrigues V WieserGermanyIoni Bowcher PROPOSAL
Chavez X FollerFranceAsiya Javayant QUALIFIED
David E MorascaIndiaIoni Bowcher PROPOSAL
Munro H GlickArgentinaAnna Fali NEW
Maria V SlusarskiFranceAsiya Javayant RENEWAL
Antonio T GillianArgentinaIvan Magalhaes RENEWAL
Jeanfrancois P ShinkoFranceBernardo Dominic NEW
Octavia U GillianIndiaAnna Fali RENEWAL
Johnson X RoysterFranceXuxue Feng QUALIFIED
David X WieserCanadaAsiya Javayant NEW
Maisha L NickaFranceIvan Magalhaes UNQUALIFIED
Murillo P StensethRussiaBernardo Dominic NEW
Jefferson V FlosiSpainAnna Fali QUALIFIED
Tony I SaylorsAustraliaStephen Shaw RENEWAL
Antonio I MaletSpainXuxue Feng NEW
Aika F RimFranceStephen Shaw NEGOTIATION
Julie G OstroskyCanadaOnyama Limba NEGOTIATION
Aruna Y InouyeJapanXuxue Feng PROPOSAL
James A BowleyIndiaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Morrow K Waycott
Rodrigues C Butt
Chavez E Paprocki
Rodrigues G Royster
Jeanfrancois R Kolmetz
Tony R Whobrey
Alejandro E Ruta
Chavez H Gaucho
Aruna X Waycott
Stacey G Dilliard
Ashley N Schemmer
Aika U Royster
Claire M Glick
Francesco A Caudy
Misaki H Flosi
Cody D Kusko
Silvio T Amigon
Tony Y Maclead
Murillo J Morasca
Stacey L Ostrosky
Jones H Saylors
Aditya S Oldroyd
Jennifer X Whobrey
Silvio U Slusarski
Jennifer Q Gillian
Silvio A Paprocki
Leon O Nicka
Alejandro T Caldarera
Julie P Caldarera
Jefferson U Caldarera
Claire S Ostrosky
Clifford G Garufi
Maisha F Vocelka
Octavia G Inouye
Juan T Figeroa
Morrow L Amigon
Misaki R Foller
Morrow N Poquette
Alejandro A Ruta
Kadeem K Poquette
Wickens R Nestle
Faith N Butt
Leja K Oldroyd
Salvatore V Flosi
Alejandro O Chui
Maisha U Caldarera
Emily B Foller
Greenwood D Waycott
Smith V Stockham
Octavia X Saylors
IdCountryDate
1000India2024-05-25
1001Italy2024-06-12
1002Russia2024-05-20
1003Russia2024-06-12
1004Canada2024-05-24
1005Brazil2024-06-18
1006India2024-06-17
1007Brazil2024-05-27
1008Spain2024-06-18
1009Canada2024-05-26
1010Argentina2024-05-27
1011Canada2024-06-15
1012India2024-06-10
1013Australia2024-06-02
1014Brazil2024-06-17
1015Argentina2024-06-14
1016India2024-06-18
1017United Kingdom2024-05-27
1018Brazil2024-05-21
1019Canada2024-06-02
1020United Kingdom2024-06-01
1021Argentina2024-06-07
1022Australia2024-06-08
1023Brazil2024-05-27
1024Australia2024-05-20
1025Japan2024-06-07
1026Spain2024-05-21
1027India2024-05-29
1028Spain2024-05-20
1029Italy2024-06-10
1030Australia2024-06-15
1031Australia2024-05-27
1032Australia2024-06-04
1033Germany2024-05-24
1034Canada2024-06-04
1035Spain2024-06-08
1036Spain2024-05-20
1037Germany2024-06-07
1038Spain2024-05-28
1039Argentina2024-06-04
1040Canada2024-05-25
1041Russia2024-06-10
1042Japan2024-05-22
1043Japan2024-06-03
1044Canada2024-05-21
1045Russia2024-06-15
1046Japan2024-06-07
1047India2024-06-16
1048Brazil2024-06-15
1049Spain2024-05-31

On-Demand Data

NameIdCountryDate
Izzy E Vocelka1000Australia2024-05-21
Smith G Ruta1001Brazil2024-05-23
Misaki A Kolmetz1002Italy2024-05-25
Arvin T Waycott1003France2024-06-14
Wickens A Albares1004Australia2024-06-14
Isabel K Caldarera1005Japan2024-06-01
Munro D Malet1006Germany2024-06-17
Jones U Nicka1007United Kingdom2024-06-18
Leja J Ruta1008Spain2024-05-23
Salvatore F Shinko1009United Kingdom2024-05-26
Rodrigues V Glick1010United Kingdom2024-05-26
Mujtaba Q Foller1011France2024-05-25
Chavez J Oldroyd1012United Kingdom2024-06-03
Leon S Malet1013Argentina2024-06-16
Kadeem W Schemmer1014France2024-06-12
Leon T Slusarski1015Argentina2024-06-16
Jones J Garufi1016Spain2024-06-02
Jeanfrancois E Maclead1017Brazil2024-05-21
Misaki H Stenseth1018Canada2024-05-24
Darci O Glick1019France2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci J DilliardFranceElwin Sharvill UNQUALIFIED
Sinclair T OldroydItalyIvan Magalhaes NEGOTIATION
Juan A GauchoArgentinaIoni Bowcher PROPOSAL
Chavez O KuskoArgentinaStephen Shaw RENEWAL
Stacey Q MaletJapanOnyama Limba PROPOSAL
Smith K MorascaJapanIoni Bowcher QUALIFIED
Antonio Y FerenczSpainOnyama Limba RENEWAL
Chavez V StensethSpainAsiya Javayant NEW
Greenwood B SergiRussiaIoni Bowcher RENEWAL
Wickens U BologniaGermanyAnna Fali NEGOTIATION
Faith W StockhamSpainIvan Magalhaes PROPOSAL
Greenwood D DoeIndiaAmy Elsner NEW
Adams D AmigonJapanAnna Fali UNQUALIFIED
Claire B NickaAustraliaOnyama Limba UNQUALIFIED
Jones A SlusarskiArgentinaElwin Sharvill PROPOSAL
Jones Q KuskoFranceAmy Elsner UNQUALIFIED
Misaki Y RoysterIndiaIoni Bowcher RENEWAL
Kaitlin P KolmetzFranceAnna Fali QUALIFIED
Claire R RutaFranceElwin Sharvill NEW
Antonio Y KolmetzBrazilAsiya Javayant PROPOSAL
Adams W DarakjyArgentinaAnna Fali PROPOSAL
Mujtaba D OstroskyUnited KingdomBernardo Dominic RENEWAL
Kadeem X PerinUnited KingdomStephen Shaw QUALIFIED
Jennifer I MarrierItalyOnyama Limba QUALIFIED
Mayumi G ChuiIndiaElwin Sharvill PROPOSAL
Jeanfrancois A SaylorsArgentinaBernardo Dominic NEW
Aruna R MorascaArgentinaAsiya Javayant PROPOSAL
Johnson O CampainItalyElwin Sharvill QUALIFIED
Emily P MacleadArgentinaXuxue Feng QUALIFIED
Leon S DilliardCanadaStephen Shaw UNQUALIFIED
Mujtaba K WhobreyRussiaAsiya Javayant PROPOSAL
Arvin M RulapaughFranceAmy Elsner RENEWAL
Rodrigues L AlbaresFranceOnyama Limba PROPOSAL
Jones T DarakjySpainAsiya Javayant UNQUALIFIED
Aika E SergiBrazilIoni Bowcher NEW
Ricardo N NickaFranceAmy Elsner PROPOSAL
Stacey Y CaldareraItalyOnyama Limba RENEWAL
Aruna G FollerUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois K GillianFranceOnyama Limba QUALIFIED
Ricardo F BologniaAustraliaStephen Shaw RENEWAL

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