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
Murillo G GauchoJapanIvan Magalhaes UNQUALIFIED
Juan B RimJapanBernardo Dominic RENEWAL
Ashley Q FollerArgentinaAnna Fali NEGOTIATION
Francesco Y SlusarskiAustraliaAnna Fali QUALIFIED
Faith O GauchoAustraliaStephen Shaw UNQUALIFIED
Octavia I BologniaIndiaBernardo Dominic QUALIFIED
Darci F PerinArgentinaBernardo Dominic PROPOSAL
Leja W SaylorsAustraliaAsiya Javayant UNQUALIFIED
Ivar D OstroskyArgentinaXuxue Feng QUALIFIED
Chavez R CaldareraGermanyIoni Bowcher NEW
Adams W StockhamCanadaXuxue Feng UNQUALIFIED
Leon C FollerRussiaIvan Magalhaes RENEWAL
Emily B AmigonJapanIoni Bowcher PROPOSAL
Munro W MacleadFranceElwin Sharvill QUALIFIED
Claire Z BriddickBrazilIoni Bowcher QUALIFIED
Mujtaba W NestleGermanyXuxue Feng NEW
Ashley C WaycottGermanyBernardo Dominic UNQUALIFIED
Jennifer J BowleyJapanAnna Fali NEGOTIATION
Juan T SchemmerJapanIoni Bowcher NEGOTIATION
Greenwood S BologniaGermanyAmy Elsner UNQUALIFIED
Aika M AmigonRussiaIoni Bowcher RENEWAL
Faith I RoysterItalyStephen Shaw QUALIFIED
Smith E FigeroaItalyXuxue Feng PROPOSAL
Isabel W AmigonIndiaStephen Shaw NEW
Munro Z VocelkaJapanAsiya Javayant UNQUALIFIED
Claire H AlbaresIndiaIoni Bowcher NEW
Leon X SergiArgentinaIoni Bowcher NEGOTIATION
Ashley Y WieserUnited KingdomBernardo Dominic PROPOSAL
Deepesh Z OstroskyAustraliaXuxue Feng PROPOSAL
Greenwood J BowleySpainOnyama Limba UNQUALIFIED
Greenwood R SlusarskiBrazilAnna Fali RENEWAL
Adams A FollerFranceIoni Bowcher QUALIFIED
Munro F InouyeIndiaAmy Elsner UNQUALIFIED
Johnson V FlosiAustraliaIvan Magalhaes NEGOTIATION
Ricardo K MaletFranceAmy Elsner PROPOSAL
Murillo A StockhamItalyAnna Fali QUALIFIED
Leon T MorascaArgentinaOnyama Limba NEW
Mujtaba Z FlosiArgentinaIvan Magalhaes PROPOSAL
Izzy M FlosiArgentinaAmy Elsner NEW
Leja W RimCanadaAnna Fali QUALIFIED
Ashley H MarrierUnited KingdomXuxue Feng PROPOSAL
Claire I DilliardFranceAsiya Javayant NEGOTIATION
Maria B KolmetzBrazilIvan Magalhaes QUALIFIED
Wickens D ChuiAustraliaXuxue Feng NEGOTIATION
Kadeem A DoeGermanyIoni Bowcher NEGOTIATION
Johnson B MacleadSpainIoni Bowcher PROPOSAL
Mujtaba C GlickRussiaAnna Fali UNQUALIFIED
Ivar B RimArgentinaIvan Magalhaes NEW
Jeanfrancois B FlosiFranceIvan Magalhaes PROPOSAL
Antonio C FigeroaJapanElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ivar I OstroskyItalyOnyama Limba QUALIFIED
Aditya A GillianUnited KingdomAsiya Javayant QUALIFIED
Costa Z BologniaItalyBernardo Dominic QUALIFIED
Morrow N ButtJapanIvan Magalhaes NEW
Emily R CampainArgentinaBernardo Dominic QUALIFIED
Salvatore J WieserJapanOnyama Limba QUALIFIED
Mujtaba M WhobreyJapanAmy Elsner NEW
Aika X FigeroaUnited KingdomIvan Magalhaes QUALIFIED
Johnson I VenereCanadaElwin Sharvill QUALIFIED
Wickens T VenereGermanyIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro A InouyeBrazil2025-04-16Chemel, James L Cpa RENEWAL34Elwin Sharvill
1001Kaitlin L WieserRussia2025-04-28Printing Dimensions NEW67Bernardo Dominic
1002Murillo E OldroydItaly2025-04-24Chemel, James L Cpa NEGOTIATION94Asiya Javayant
1003Clifford P OldroydArgentina2025-04-25Morlong Associates NEGOTIATION24Bernardo Dominic
1004Alejandro J AmigonBrazil2025-05-01Rangoni Of Florence QUALIFIED39Elwin Sharvill
1005Johnson O RutaFrance2025-04-26Feiner Bros RENEWAL37Ioni Bowcher
1006Leja H MacleadArgentina2025-05-08Chanay, Jeffrey A Esq NEGOTIATION57Xuxue Feng
1007Kaitlin U NickaJapan2025-04-21Feltz Printing Service NEW80Xuxue Feng
1008Munro I NickaGermany2025-04-29Rousseaux, Michael Esq NEW36Ioni Bowcher
1009Leon T GarufiBrazil2025-04-24Rangoni Of Florence PROPOSAL18Xuxue Feng
1010Ashley X RimIndia2025-04-21Feiner Bros RENEWAL80Ioni Bowcher
1011Mayumi Q WieserItaly2025-04-19Chapman, Ross E Esq NEGOTIATION4Xuxue Feng
1012Mayumi H FollerIndia2025-05-04Rangoni Of Florence RENEWAL64Asiya Javayant
1013Johnson U OldroydRussia2025-04-21Truhlar And Truhlar Attys QUALIFIED99Amy Elsner
1014Octavia B FigeroaIndia2025-04-24Chemel, James L Cpa PROPOSAL59Elwin Sharvill
1015Mujtaba D DoeAustralia2025-05-05Morlong Associates NEGOTIATION54Ivan Magalhaes
1016Octavia G OldroydCanada2025-04-13Feltz Printing Service NEGOTIATION62Onyama Limba
1017Chavez W RimIndia2025-04-26Truhlar And Truhlar Attys UNQUALIFIED86Amy Elsner
1018Francesco H CaldareraCanada2025-05-04Chemel, James L Cpa QUALIFIED13Ioni Bowcher
1019Silvio G OstroskyCanada2025-04-14Rangoni Of Florence UNQUALIFIED70Amy Elsner
1020Izzy A FerenczArgentina2025-04-22Morlong Associates RENEWAL1Elwin Sharvill
1021Leja C BowleyItaly2025-04-10Chemel, James L Cpa NEGOTIATION54Onyama Limba
1022James T RutaArgentina2025-04-19Dorl, James J Esq NEW61Xuxue Feng
1023Aditya L PaprockiFrance2025-04-09Rangoni Of Florence RENEWAL38Ivan Magalhaes
1024Aika P RimItaly2025-04-17Morlong Associates RENEWAL57Xuxue Feng
1025Faith A FigeroaUnited Kingdom2025-04-10Benton, John B Jr NEGOTIATION70Elwin Sharvill
1026Ivar U KolmetzCanada2025-04-19Rousseaux, Michael Esq RENEWAL35Anna Fali
1027Leja X DilliardArgentina2025-05-07Commercial Press NEGOTIATION11Asiya Javayant
1028Jefferson X SlusarskiItaly2025-04-11Truhlar And Truhlar Attys RENEWAL90Onyama Limba
1029Nicolas O DarakjyBrazil2025-04-30Chemel, James L Cpa QUALIFIED71Amy Elsner
1030Costa S PaprockiItaly2025-05-07Rousseaux, Michael Esq QUALIFIED81Ioni Bowcher
1031Jennifer U DoeGermany2025-05-05Printing Dimensions NEGOTIATION59Bernardo Dominic
1032Darci A FigeroaJapan2025-04-27Benton, John B Jr QUALIFIED79Xuxue Feng
1033Costa F PoquetteUnited Kingdom2025-04-26Commercial Press RENEWAL37Asiya Javayant
1034Darci X MaletCanada2025-04-13Feiner Bros RENEWAL89Ioni Bowcher
1035Tony Q MarrierRussia2025-04-25Benton, John B Jr PROPOSAL79Anna Fali
1036Sinclair V RoysterRussia2025-05-01Rousseaux, Michael Esq RENEWAL69Onyama Limba
1037Nicolas P OstroskyItaly2025-05-02Chapman, Ross E Esq QUALIFIED2Elwin Sharvill
1038Aditya M WhobreyAustralia2025-05-02Morlong Associates NEGOTIATION39Asiya Javayant
1039Maria V OstroskyGermany2025-04-12King, Christopher A Esq NEGOTIATION89Amy Elsner
1040Izzy Y BologniaUnited Kingdom2025-04-09Rangoni Of Florence RENEWAL7Stephen Shaw
1041Greenwood P StockhamAustralia2025-04-26Rousseaux, Michael Esq UNQUALIFIED13Xuxue Feng
1042Chavez B CampainItaly2025-04-22Commercial Press NEW10Bernardo Dominic
1043Costa J ShinkoBrazil2025-04-15Feiner Bros UNQUALIFIED83Elwin Sharvill
1044Nicolas Z RoysterJapan2025-04-26Buckley Miller Wright UNQUALIFIED47Anna Fali
1045Aika F CampainUnited Kingdom2025-04-13Benton, John B Jr PROPOSAL56Anna Fali
1046Stacey U AlbaresFrance2025-05-05Rangoni Of Florence NEW61Elwin Sharvill
1047Jones X FlosiFrance2025-05-06Benton, John B Jr NEW57Anna Fali
1048Aruna I FerenczBrazil2025-04-29Chanay, Jeffrey A Esq RENEWAL5Bernardo Dominic
1049Arvin M GlickUnited Kingdom2025-04-28Chanay, Jeffrey A Esq UNQUALIFIED33Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Julie R OldroydIndiaBernardo Dominic UNQUALIFIED
Stacey P GillianAustraliaXuxue Feng NEGOTIATION
Maisha E RutaFranceBernardo Dominic RENEWAL
Munro R DilliardJapanXuxue Feng NEW
Maisha X PaprockiUnited KingdomAmy Elsner NEW
Adams F RutaFranceIoni Bowcher NEGOTIATION
Stacey F SergiUnited KingdomAmy Elsner PROPOSAL
Emily F BriddickItalyOnyama Limba UNQUALIFIED
Greenwood N AlbaresIndiaIvan Magalhaes RENEWAL
Tony N IturbideBrazilAnna Fali RENEWAL
Maisha M VenereBrazilIvan Magalhaes RENEWAL
David I DilliardItalyOnyama Limba QUALIFIED
Cody S MaletFranceStephen Shaw RENEWAL
Francesco U VenereBrazilOnyama Limba UNQUALIFIED
Misaki D PerinRussiaAsiya Javayant QUALIFIED
Kadeem O InouyeCanadaXuxue Feng UNQUALIFIED
James C SchemmerCanadaBernardo Dominic NEW
Cody B GillianFranceAsiya Javayant NEW
Aditya R StensethArgentinaStephen Shaw UNQUALIFIED
Murillo D CampainRussiaStephen Shaw NEW
Smith S SlusarskiSpainAnna Fali PROPOSAL
Ivar M ChuiRussiaIoni Bowcher NEW
Maisha P WieserGermanyIvan Magalhaes QUALIFIED
Rodrigues W KuskoIndiaIvan Magalhaes UNQUALIFIED
Leja C CaudyCanadaAsiya Javayant RENEWAL
Ivar S DilliardFranceAmy Elsner NEW
Maria K IturbideAustraliaIvan Magalhaes QUALIFIED
Cody I SlusarskiJapanXuxue Feng UNQUALIFIED
Izzy V BologniaItalyAsiya Javayant NEGOTIATION
Silvio P SchemmerBrazilAnna Fali RENEWAL
Salvatore N CaudyJapanIoni Bowcher RENEWAL
Morrow E FigeroaIndiaIvan Magalhaes RENEWAL
Juan Z FollerRussiaAsiya Javayant UNQUALIFIED
Izzy Z StockhamCanadaAmy Elsner RENEWAL
Juan U BriddickCanadaXuxue Feng NEGOTIATION
Deepesh M InouyeCanadaBernardo Dominic QUALIFIED
Antonio H WhobreyItalyAmy Elsner QUALIFIED
Isabel W PerinRussiaAmy Elsner UNQUALIFIED
Johnson Q PoquetteRussiaAsiya Javayant RENEWAL
Smith V RimRussiaStephen Shaw RENEWAL
Greenwood Z VenereIndiaAsiya Javayant QUALIFIED
Darci J KuskoGermanyIvan Magalhaes QUALIFIED
Stacey S MorascaArgentinaIoni Bowcher PROPOSAL
Jeanfrancois K ChuiFranceStephen Shaw NEGOTIATION
Isabel W ButtSpainIvan Magalhaes RENEWAL
Greenwood I RutaItalyElwin Sharvill NEGOTIATION
Wickens H KuskoSpainBernardo Dominic RENEWAL
Cody K RimArgentinaAmy Elsner RENEWAL
Kaitlin N IturbideRussiaOnyama Limba PROPOSAL
Ricardo X MaletRussiaOnyama Limba RENEWAL
Frozen Columns
Name
Mayumi P Albares
Kaitlin P Royster
Stacey U Nestle
Isabel N Campain
Arvin T Amigon
Leja I Kolmetz
Rodrigues L Morasca
Rodrigues J Kolmetz
Clifford C Royster
Faith U Ostrosky
David G Perin
Wickens S Vocelka
Greenwood P Schemmer
Greenwood S Shinko
Salvatore F Marrier
Francesco L Kolmetz
Greenwood B Shinko
Izzy R Sergi
Mujtaba A Amigon
Juan E Caudy
Chavez M Inouye
Claire K Inouye
Chavez S Nicka
Aditya W Gillian
Aika H Kolmetz
Jennifer A Marrier
Costa S Sergi
Izzy S Stenseth
Mayumi F Rim
Maria Q Garufi
Alejandro M Figeroa
Rodrigues L Sergi
Chavez M Nestle
Kadeem O Whobrey
Murillo X Nestle
Cody J Butt
Cody J Albares
Clifford F Gillian
David A Schemmer
Ashley G Ruta
Maisha F Schemmer
Smith P Wieser
Morrow R Stenseth
Isabel Z Amigon
Jones I Tollner
Munro D Gaucho
Aika K Perin
Alejandro H Rulapaugh
Chavez G Whobrey
Arvin J Ruta
IdCountryDate
1000Canada2025-04-17
1001India2025-05-02
1002France2025-04-26
1003India2025-04-28
1004Australia2025-04-28
1005Australia2025-04-15
1006France2025-05-06
1007United Kingdom2025-04-16
1008Russia2025-04-27
1009Spain2025-04-09
1010Russia2025-05-08
1011France2025-04-10
1012Germany2025-04-27
1013Australia2025-04-17
1014Argentina2025-04-29
1015Italy2025-04-22
1016Russia2025-05-07
1017Spain2025-04-25
1018Argentina2025-04-27
1019Germany2025-04-29
1020Russia2025-04-17
1021Australia2025-04-19
1022Australia2025-05-01
1023Spain2025-04-26
1024Argentina2025-05-01
1025Australia2025-04-09
1026Spain2025-04-13
1027Spain2025-04-15
1028France2025-04-20
1029Argentina2025-04-11
1030Australia2025-05-01
1031Russia2025-04-30
1032Germany2025-04-19
1033Spain2025-04-18
1034Russia2025-04-30
1035Canada2025-04-10
1036Canada2025-04-12
1037United Kingdom2025-04-10
1038Argentina2025-04-09
1039India2025-05-05
1040Argentina2025-04-28
1041Italy2025-04-27
1042Japan2025-04-20
1043United Kingdom2025-04-23
1044United Kingdom2025-04-22
1045Italy2025-04-24
1046Japan2025-04-28
1047France2025-04-11
1048Brazil2025-05-06
1049Italy2025-05-04

On-Demand Data

NameIdCountryDate
Adams H Ruta1000Italy2025-05-03
Francesco T Stenseth1001Argentina2025-04-21
Juan U Waycott1002Italy2025-04-10
Maisha E Darakjy1003France2025-04-11
Leon M Saylors1004Italy2025-04-11
Tony I Albares1005Russia2025-04-21
Nicolas E Rulapaugh1006France2025-04-21
Arvin O Nestle1007Australia2025-04-16
David D Chui1008Italy2025-04-16
Tony B Nestle1009Germany2025-05-08
Ashley D Bolognia1010United Kingdom2025-04-14
Ricardo S Stenseth1011India2025-04-18
Nicolas H Saylors1012Spain2025-04-20
Leon P Marrier1013Germany2025-05-04
Arvin J Morasca1014United Kingdom2025-04-18
Octavia F Iturbide1015Canada2025-04-22
Leon E Vocelka1016Argentina2025-04-10
Adams R Schemmer1017Japan2025-04-26
Izzy F Bolognia1018Canada2025-04-21
Juan M Gillian1019Brazil2025-05-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith Y InouyeArgentinaBernardo Dominic NEGOTIATION
Johnson I DoeArgentinaAmy Elsner NEGOTIATION
Aika A SlusarskiSpainBernardo Dominic NEW
Juan Z KuskoSpainIvan Magalhaes PROPOSAL
Ashley F MaletGermanyStephen Shaw NEW
Salvatore R RulapaughRussiaBernardo Dominic UNQUALIFIED
Adams R AlbaresAustraliaStephen Shaw PROPOSAL
David J BriddickBrazilAmy Elsner PROPOSAL
Rodrigues Q WieserRussiaElwin Sharvill QUALIFIED
Mayumi Z PoquetteCanadaIoni Bowcher QUALIFIED
Clifford M FerenczBrazilBernardo Dominic PROPOSAL
Sinclair G GarufiAustraliaIoni Bowcher PROPOSAL
Kadeem N WieserBrazilBernardo Dominic NEW
Johnson F FerenczJapanIoni Bowcher NEGOTIATION
Leja C VocelkaCanadaIoni Bowcher RENEWAL
Darci S PerinItalyAmy Elsner NEW
Emily Z RoysterUnited KingdomOnyama Limba NEW
Aika Y TollnerRussiaBernardo Dominic NEGOTIATION
Juan N IturbideJapanAmy Elsner PROPOSAL
Claire E RutaItalyStephen Shaw RENEWAL
Wickens K KolmetzGermanyIoni Bowcher NEW
Jennifer B ChuiFranceElwin Sharvill UNQUALIFIED
Alejandro Z BologniaBrazilXuxue Feng QUALIFIED
David K MaletCanadaIoni Bowcher NEW
Aditya E SchemmerArgentinaOnyama Limba PROPOSAL
Morrow C ButtUnited KingdomAmy Elsner NEGOTIATION
Emily B CaudyFranceElwin Sharvill PROPOSAL
Izzy L BologniaSpainIvan Magalhaes NEW
Mujtaba Q GarufiItalyXuxue Feng UNQUALIFIED
Jones U MaletIndiaIoni Bowcher RENEWAL
Greenwood B MorascaJapanBernardo Dominic NEGOTIATION
Aditya H WaycottGermanyAmy Elsner QUALIFIED
Ashley K KolmetzArgentinaOnyama Limba UNQUALIFIED
Murillo O CampainCanadaStephen Shaw NEW
Darci D TollnerJapanXuxue Feng NEW
Sinclair T AlbaresJapanElwin Sharvill RENEWAL
Juan S KuskoSpainIvan Magalhaes PROPOSAL
Faith V BriddickAustraliaIvan Magalhaes PROPOSAL
James V CampainSpainOnyama Limba UNQUALIFIED
Salvatore J CaldareraItalyXuxue Feng 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>