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
Isabel E OldroydGermanyAnna Fali UNQUALIFIED
Sinclair U DarakjyIndiaAnna Fali QUALIFIED
Kaitlin G BowleyJapanAnna Fali PROPOSAL
Cody F VocelkaSpainOnyama Limba RENEWAL
Stacey I InouyeBrazilStephen Shaw RENEWAL
Aditya Z StockhamUnited KingdomXuxue Feng PROPOSAL
Faith T ButtIndiaOnyama Limba NEGOTIATION
Alejandro I VocelkaJapanBernardo Dominic PROPOSAL
Wickens C WhobreyItalyAmy Elsner NEW
Ashley P GlickCanadaElwin Sharvill NEGOTIATION
Isabel I MaletIndiaIoni Bowcher UNQUALIFIED
Mayumi D IturbideRussiaAsiya Javayant NEW
Murillo W NestleItalyAsiya Javayant UNQUALIFIED
Murillo W MorascaCanadaIoni Bowcher NEGOTIATION
Maisha K NestleItalyBernardo Dominic UNQUALIFIED
Faith A FollerIndiaBernardo Dominic UNQUALIFIED
Stacey J OstroskyBrazilAmy Elsner PROPOSAL
Jeanfrancois L FollerGermanyAsiya Javayant NEGOTIATION
Smith R NestleGermanyXuxue Feng NEGOTIATION
Johnson R SlusarskiAustraliaStephen Shaw NEW
Izzy G NickaUnited KingdomStephen Shaw QUALIFIED
Chavez B BriddickRussiaStephen Shaw UNQUALIFIED
Francesco T TollnerUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson B BologniaSpainIvan Magalhaes UNQUALIFIED
Julie O OstroskyBrazilOnyama Limba RENEWAL
Emily A KuskoArgentinaAnna Fali PROPOSAL
Aika F CaldareraFranceStephen Shaw NEW
Misaki X RutaRussiaIvan Magalhaes NEGOTIATION
Arvin H GarufiJapanBernardo Dominic UNQUALIFIED
Darci M VenereAustraliaOnyama Limba QUALIFIED
Izzy R VenereUnited KingdomElwin Sharvill PROPOSAL
Ivar H FigeroaAustraliaAnna Fali NEW
Nicolas C PoquetteRussiaStephen Shaw NEW
Jennifer F StensethAustraliaAnna Fali NEW
Silvio K NestleUnited KingdomXuxue Feng QUALIFIED
Clifford V PaprockiIndiaStephen Shaw NEW
Izzy H KolmetzArgentinaElwin Sharvill PROPOSAL
Ashley E FlosiRussiaAsiya Javayant NEGOTIATION
Jennifer D FollerRussiaStephen Shaw UNQUALIFIED
Salvatore E DarakjyCanadaOnyama Limba UNQUALIFIED
Murillo Q RulapaughUnited KingdomXuxue Feng RENEWAL
Jefferson J SergiItalyStephen Shaw UNQUALIFIED
Misaki J KolmetzFranceAsiya Javayant PROPOSAL
Alejandro V RoysterRussiaAmy Elsner RENEWAL
Octavia P PaprockiRussiaAmy Elsner RENEWAL
Clifford J VenereIndiaXuxue Feng RENEWAL
Adams I GlickUnited KingdomStephen Shaw NEGOTIATION
Aika M WhobreySpainIvan Magalhaes UNQUALIFIED
Francesco Y FollerCanadaAmy Elsner UNQUALIFIED
Mujtaba I GauchoSpainIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez S FerenczCanadaOnyama Limba NEW
Isabel V MaletRussiaIoni Bowcher QUALIFIED
Ivar Z ShinkoRussiaElwin Sharvill NEW
Kaitlin A MaletItalyStephen Shaw PROPOSAL
Johnson M CampainUnited KingdomBernardo Dominic RENEWAL
Claire Y SergiJapanStephen Shaw NEGOTIATION
Darci M CaldareraCanadaAnna Fali PROPOSAL
Salvatore P BriddickSpainIvan Magalhaes RENEWAL
Adams P NickaGermanyElwin Sharvill QUALIFIED
Johnson A GarufiItalyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha P RulapaughArgentina2024-06-11Chanay, Jeffrey A Esq QUALIFIED48Amy Elsner
1001Ashley I ShinkoFrance2024-06-12Feiner Bros NEGOTIATION74Stephen Shaw
1002Alejandro L SaylorsAustralia2024-06-10Feltz Printing Service QUALIFIED28Bernardo Dominic
1003Antonio N SlusarskiArgentina2024-06-07Benton, John B Jr NEGOTIATION94Ioni Bowcher
1004Murillo K VenereArgentina2024-05-30Feltz Printing Service NEGOTIATION28Anna Fali
1005Aika L FlosiItaly2024-06-11Commercial Press QUALIFIED23Xuxue Feng
1006Darci C GillianCanada2024-05-26King, Christopher A Esq UNQUALIFIED52Onyama Limba
1007Silvio R MorascaCanada2024-06-18Benton, John B Jr PROPOSAL71Stephen Shaw
1008Smith X FigeroaItaly2024-06-09Feiner Bros QUALIFIED40Elwin Sharvill
1009Octavia F RutaCanada2024-05-31Buckley Miller Wright QUALIFIED30Stephen Shaw
1010Darci T RimRussia2024-06-11King, Christopher A Esq PROPOSAL47Ioni Bowcher
1011Munro J SchemmerSpain2024-05-26Feltz Printing Service NEGOTIATION26Xuxue Feng
1012Antonio H AmigonCanada2024-06-12Rousseaux, Michael Esq PROPOSAL76Asiya Javayant
1013Sinclair U SlusarskiRussia2024-05-26Chapman, Ross E Esq UNQUALIFIED12Onyama Limba
1014Aruna O ButtArgentina2024-06-08Commercial Press NEGOTIATION4Bernardo Dominic
1015Ricardo M ButtArgentina2024-06-08Commercial Press NEW68Anna Fali
1016Nicolas T OstroskyItaly2024-06-08Feiner Bros RENEWAL63Ioni Bowcher
1017Octavia P DarakjyItaly2024-06-10Commercial Press PROPOSAL13Asiya Javayant
1018Smith L IturbideItaly2024-05-24Chapman, Ross E Esq RENEWAL9Bernardo Dominic
1019Kaitlin S SchemmerItaly2024-06-22Rangoni Of Florence NEW18Ioni Bowcher
1020Nicolas Z IturbideGermany2024-06-14Rangoni Of Florence QUALIFIED98Amy Elsner
1021James R OldroydItaly2024-06-12Benton, John B Jr QUALIFIED37Stephen Shaw
1022Izzy Z IturbideGermany2024-06-04Printing Dimensions QUALIFIED20Asiya Javayant
1023Mujtaba R StockhamArgentina2024-05-28Truhlar And Truhlar Attys UNQUALIFIED13Bernardo Dominic
1024Juan T GarufiIndia2024-05-24Feltz Printing Service UNQUALIFIED87Asiya Javayant
1025Salvatore C WaycottUnited Kingdom2024-05-30Morlong Associates QUALIFIED27Ioni Bowcher
1026David A PoquetteGermany2024-06-07Printing Dimensions NEW38Anna Fali
1027Morrow R AmigonArgentina2024-06-01Chapman, Ross E Esq QUALIFIED10Ioni Bowcher
1028Leon R FollerSpain2024-05-26Feltz Printing Service UNQUALIFIED51Anna Fali
1029David R ShinkoBrazil2024-05-27King, Christopher A Esq NEGOTIATION95Stephen Shaw
1030Maisha D OldroydItaly2024-06-09Rousseaux, Michael Esq PROPOSAL80Xuxue Feng
1031Ricardo U VocelkaItaly2024-05-25Feltz Printing Service UNQUALIFIED51Amy Elsner
1032Aditya R VenereFrance2024-06-19Feltz Printing Service NEW66Onyama Limba
1033Maria H MorascaItaly2024-05-28Rousseaux, Michael Esq NEW35Anna Fali
1034Tony N FerenczGermany2024-05-30Chemel, James L Cpa QUALIFIED38Onyama Limba
1035Julie N InouyeIndia2024-06-10Chanay, Jeffrey A Esq NEW45Xuxue Feng
1036Sinclair S CaudyGermany2024-06-02Chapman, Ross E Esq NEGOTIATION97Anna Fali
1037Jefferson U NickaGermany2024-06-05Printing Dimensions PROPOSAL10Amy Elsner
1038Greenwood K RoysterUnited Kingdom2024-05-25Rangoni Of Florence NEGOTIATION82Bernardo Dominic
1039Darci I RimBrazil2024-05-24Rousseaux, Michael Esq UNQUALIFIED58Ivan Magalhaes
1040Alejandro M KuskoRussia2024-06-01Dorl, James J Esq NEGOTIATION55Anna Fali
1041Costa I MarrierGermany2024-06-02Chemel, James L Cpa UNQUALIFIED82Onyama Limba
1042Mayumi B CampainItaly2024-06-09Benton, John B Jr PROPOSAL55Bernardo Dominic
1043Leja D RulapaughSpain2024-05-27Feiner Bros PROPOSAL27Onyama Limba
1044Ashley T FollerUnited Kingdom2024-05-29King, Christopher A Esq NEGOTIATION54Ioni Bowcher
1045David N FollerBrazil2024-06-02Printing Dimensions NEW99Stephen Shaw
1046David D BowleyCanada2024-05-24Feiner Bros PROPOSAL23Xuxue Feng
1047Stacey X IturbideUnited Kingdom2024-05-31Chapman, Ross E Esq PROPOSAL13Onyama Limba
1048Jones O GillianUnited Kingdom2024-06-18Truhlar And Truhlar Attys NEW10Xuxue Feng
1049Aruna Y RoysterArgentina2024-05-25Printing Dimensions NEGOTIATION10Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba V PaprockiArgentinaBernardo Dominic NEGOTIATION
Mayumi S RulapaughIndiaXuxue Feng RENEWAL
Maria G KolmetzGermanyXuxue Feng RENEWAL
Maria L RoysterGermanyOnyama Limba RENEWAL
Antonio M SlusarskiBrazilXuxue Feng PROPOSAL
Johnson F FlosiRussiaXuxue Feng PROPOSAL
Aditya C IturbideItalyAmy Elsner NEW
Aruna I NickaBrazilIvan Magalhaes PROPOSAL
Faith P IturbideBrazilAnna Fali NEW
Kadeem C BologniaCanadaAmy Elsner RENEWAL
Octavia N SergiIndiaXuxue Feng PROPOSAL
Johnson R KuskoIndiaBernardo Dominic QUALIFIED
Aruna D WaycottCanadaStephen Shaw QUALIFIED
Ricardo F ShinkoUnited KingdomBernardo Dominic NEW
Arvin N BowleyItalyBernardo Dominic UNQUALIFIED
Morrow W CaudyAustraliaAmy Elsner RENEWAL
Costa A PoquetteJapanXuxue Feng RENEWAL
Alejandro A FerenczItalyAnna Fali NEW
Maria L WhobreyArgentinaOnyama Limba QUALIFIED
Greenwood C RutaSpainAnna Fali NEW
Adams Y MorascaCanadaAnna Fali NEW
Isabel M DilliardItalyStephen Shaw NEGOTIATION
Izzy T SergiItalyAmy Elsner RENEWAL
Stacey G StensethFranceAsiya Javayant UNQUALIFIED
Mujtaba N StensethIndiaOnyama Limba UNQUALIFIED
James C CaudyUnited KingdomAsiya Javayant NEGOTIATION
Cody X DarakjyGermanyAnna Fali NEGOTIATION
Jefferson P RoysterSpainIvan Magalhaes PROPOSAL
Ashley O TollnerRussiaBernardo Dominic PROPOSAL
David Q WieserUnited KingdomAsiya Javayant QUALIFIED
Julie K MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Costa I AlbaresFranceOnyama Limba NEW
Leja E MaletIndiaElwin Sharvill RENEWAL
Ivar A DilliardGermanyXuxue Feng PROPOSAL
Misaki E MacleadCanadaAnna Fali QUALIFIED
Jeanfrancois B MacleadUnited KingdomAnna Fali NEGOTIATION
Juan E AlbaresBrazilAnna Fali QUALIFIED
Aika H MarrierBrazilXuxue Feng RENEWAL
Kaitlin M DarakjyUnited KingdomIvan Magalhaes PROPOSAL
Jennifer T SlusarskiSpainOnyama Limba NEGOTIATION
Alejandro H BologniaIndiaStephen Shaw NEGOTIATION
Jeanfrancois P StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Ivar C VenereSpainBernardo Dominic QUALIFIED
David O FigeroaCanadaOnyama Limba NEW
Leja S BriddickAustraliaOnyama Limba NEW
Ashley S RimArgentinaOnyama Limba RENEWAL
Aika N RutaUnited KingdomBernardo Dominic RENEWAL
Costa U CaldareraFranceAnna Fali NEW
Clifford G TollnerRussiaXuxue Feng NEGOTIATION
Stacey J SchemmerUnited KingdomOnyama Limba NEW
Frozen Columns
Name
Chavez J Foller
Misaki W Tollner
Octavia N Kusko
Murillo T Waycott
Tony S Venere
Mujtaba E Kusko
Aruna E Chui
Ashley X Stenseth
Wickens U Sergi
Faith Q Maclead
Clifford E Chui
James A Figeroa
Faith P Nestle
Smith M Flosi
Leja B Whobrey
Francesco F Oldroyd
Aika A Saylors
Johnson V Ruta
Arvin Q Stenseth
Costa H Royster
Leon H Nestle
Julie L Wieser
Misaki I Maclead
Leon R Darakjy
Alejandro N Rim
Kadeem O Figeroa
Aika B Morasca
Ivar U Shinko
Murillo D Rim
Jones W Maclead
Salvatore Q Marrier
Isabel Z Garufi
Adams O Royster
Sinclair R Ruta
Antonio C Gillian
Aika P Flosi
Deepesh H Darakjy
Smith T Tollner
Jefferson O Kusko
Francesco F Glick
Leon F Paprocki
Leon Z Bolognia
Adams D Nestle
Munro U Dilliard
Sinclair K Maclead
Ashley V Morasca
Stacey P Glick
Adams R Albares
Maria F Ostrosky
Greenwood D Rulapaugh
IdCountryDate
1000Germany2024-06-17
1001Russia2024-05-27
1002Russia2024-06-11
1003Argentina2024-06-21
1004Canada2024-06-07
1005Russia2024-05-26
1006Japan2024-06-10
1007Italy2024-05-31
1008Germany2024-06-21
1009Australia2024-06-12
1010India2024-06-20
1011France2024-06-11
1012Italy2024-05-30
1013India2024-06-04
1014Germany2024-06-08
1015Brazil2024-06-13
1016India2024-06-16
1017France2024-05-28
1018India2024-06-08
1019United Kingdom2024-06-12
1020Canada2024-05-24
1021France2024-06-18
1022Canada2024-06-06
1023Italy2024-06-16
1024India2024-06-03
1025France2024-06-18
1026India2024-06-14
1027Australia2024-05-24
1028Canada2024-06-17
1029Spain2024-05-31
1030Australia2024-06-03
1031Australia2024-05-31
1032Germany2024-06-08
1033Russia2024-06-20
1034France2024-06-15
1035United Kingdom2024-06-10
1036Argentina2024-06-19
1037India2024-06-22
1038Russia2024-06-12
1039Spain2024-06-14
1040France2024-06-04
1041Russia2024-05-31
1042Italy2024-06-22
1043Italy2024-06-07
1044India2024-05-24
1045Germany2024-05-28
1046Canada2024-06-04
1047Italy2024-06-18
1048Australia2024-05-27
1049Australia2024-05-24

On-Demand Data

NameIdCountryDate
Ashley Y Slusarski1000India2024-06-20
Stacey G Slusarski1001France2024-06-13
Adams S Saylors1002United Kingdom2024-06-13
Arvin Z Foller1003United Kingdom2024-06-15
Stacey Y Kolmetz1004France2024-06-21
Jones U Gaucho1005Germany2024-06-07
Deepesh Z Butt1006Germany2024-06-19
Octavia E Caudy1007France2024-05-30
Kaitlin V Amigon1008Russia2024-06-20
David J Waycott1009Canada2024-06-12
Jones A Caldarera1010United Kingdom2024-05-28
Ashley H Maclead1011Italy2024-06-15
Smith T Schemmer1012India2024-06-09
Maisha K Rulapaugh1013Italy2024-06-17
Wickens D Ferencz1014Argentina2024-06-07
Mujtaba I Amigon1015India2024-06-22
Aditya S Shinko1016India2024-06-08
Munro O Briddick1017Germany2024-06-20
Murillo U Kolmetz1018Brazil2024-06-02
Octavia W Butt1019France2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin V RutaArgentinaOnyama Limba QUALIFIED
Wickens P BriddickFranceIoni Bowcher RENEWAL
Misaki M MarrierCanadaXuxue Feng RENEWAL
Claire R SchemmerCanadaXuxue Feng QUALIFIED
Silvio W RulapaughBrazilElwin Sharvill QUALIFIED
Tony S StockhamAustraliaStephen Shaw UNQUALIFIED
Clifford E NestleCanadaXuxue Feng QUALIFIED
Mujtaba I InouyeJapanElwin Sharvill PROPOSAL
Aruna V FigeroaItalyElwin Sharvill NEW
Mujtaba G CampainItalyXuxue Feng UNQUALIFIED
Costa V NickaSpainStephen Shaw PROPOSAL
Salvatore S WhobreyBrazilAnna Fali PROPOSAL
Emily N ShinkoSpainAnna Fali RENEWAL
Wickens S SlusarskiBrazilAnna Fali NEGOTIATION
Jeanfrancois O AmigonJapanOnyama Limba NEGOTIATION
Sinclair H MacleadIndiaAnna Fali RENEWAL
Salvatore A InouyeBrazilAmy Elsner RENEWAL
Clifford J VenereCanadaAmy Elsner PROPOSAL
Leon J ShinkoBrazilAmy Elsner NEGOTIATION
Murillo A WieserJapanXuxue Feng QUALIFIED
Octavia M SaylorsBrazilOnyama Limba NEGOTIATION
Alejandro H DoeRussiaBernardo Dominic PROPOSAL
Morrow T BowleyFranceAmy Elsner QUALIFIED
Faith U InouyeArgentinaIoni Bowcher UNQUALIFIED
Wickens Q GillianIndiaAmy Elsner UNQUALIFIED
Kadeem X ShinkoIndiaAmy Elsner NEGOTIATION
Leon V MarrierRussiaXuxue Feng UNQUALIFIED
Darci G OldroydRussiaBernardo Dominic PROPOSAL
Juan Q NestleAustraliaStephen Shaw NEW
Smith T CampainJapanOnyama Limba NEGOTIATION
Ashley D TollnerJapanAmy Elsner UNQUALIFIED
Clifford J AmigonUnited KingdomBernardo Dominic PROPOSAL
Arvin Y SergiJapanOnyama Limba UNQUALIFIED
Kadeem M PaprockiItalyStephen Shaw NEGOTIATION
Mujtaba L MaletAustraliaElwin Sharvill NEW
Aruna Q GlickFranceStephen Shaw PROPOSAL
Aruna T AlbaresArgentinaAmy Elsner NEGOTIATION
Aika P MaletBrazilIoni Bowcher NEW
Antonio F DoeBrazilOnyama Limba NEGOTIATION
Tony W InouyeIndiaXuxue Feng 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>