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 I PerinGermanyOnyama Limba UNQUALIFIED
Silvio I RulapaughGermanyAnna Fali PROPOSAL
Jones D SchemmerCanadaXuxue Feng RENEWAL
Francesco A GauchoUnited KingdomAnna Fali UNQUALIFIED
Jeanfrancois A RulapaughCanadaElwin Sharvill UNQUALIFIED
Costa V SaylorsSpainOnyama Limba QUALIFIED
Arvin P MarrierUnited KingdomIvan Magalhaes QUALIFIED
Isabel B FigeroaJapanAnna Fali PROPOSAL
Darci Q KolmetzCanadaIoni Bowcher PROPOSAL
Munro S AlbaresCanadaBernardo Dominic NEGOTIATION
Juan C BologniaRussiaAnna Fali NEW
Nicolas H PoquetteJapanXuxue Feng NEW
James D NestleIndiaElwin Sharvill NEGOTIATION
Deepesh S FerenczGermanyIvan Magalhaes QUALIFIED
Stacey P RutaGermanyAnna Fali PROPOSAL
Claire Z PoquetteJapanAnna Fali PROPOSAL
Mujtaba S PerinAustraliaOnyama Limba NEW
Murillo W DoeArgentinaElwin Sharvill PROPOSAL
Aika K FerenczUnited KingdomBernardo Dominic PROPOSAL
Chavez J DarakjyAustraliaAnna Fali QUALIFIED
Rodrigues S NestleCanadaOnyama Limba RENEWAL
Ivar H CaudyItalyBernardo Dominic RENEWAL
Cody J SaylorsIndiaAnna Fali NEGOTIATION
Murillo B IturbideSpainElwin Sharvill UNQUALIFIED
Aditya L OldroydCanadaAnna Fali RENEWAL
Ivar D DoeCanadaAmy Elsner QUALIFIED
Aika V NickaSpainIoni Bowcher RENEWAL
Isabel Q GauchoIndiaAmy Elsner QUALIFIED
Leon X KolmetzSpainAnna Fali PROPOSAL
Octavia N WaycottRussiaAnna Fali UNQUALIFIED
Sinclair A NestleArgentinaBernardo Dominic RENEWAL
Morrow A CaudyRussiaElwin Sharvill PROPOSAL
Octavia W VocelkaGermanyAsiya Javayant UNQUALIFIED
Tony H GlickBrazilIoni Bowcher UNQUALIFIED
Wickens Y BologniaFranceXuxue Feng PROPOSAL
David Z CaldareraCanadaElwin Sharvill UNQUALIFIED
Smith K OstroskySpainXuxue Feng RENEWAL
Aika N PerinSpainAmy Elsner NEGOTIATION
Faith V NickaArgentinaIoni Bowcher UNQUALIFIED
Jefferson W SaylorsRussiaAsiya Javayant RENEWAL
Octavia X BriddickSpainAmy Elsner UNQUALIFIED
Rodrigues F ShinkoBrazilStephen Shaw UNQUALIFIED
Greenwood Q KolmetzGermanyAsiya Javayant RENEWAL
Tony S PaprockiGermanyXuxue Feng UNQUALIFIED
Wickens D GarufiBrazilStephen Shaw RENEWAL
Jennifer T RimCanadaElwin Sharvill PROPOSAL
Deepesh D PerinBrazilStephen Shaw PROPOSAL
Stacey J MarrierJapanAnna Fali PROPOSAL
Murillo M CaldareraRussiaOnyama Limba PROPOSAL
Jeanfrancois X CaldareraIndiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Chavez M FerenczRussiaAmy Elsner NEW
Rodrigues L BriddickSpainAmy Elsner PROPOSAL
Aruna Y RutaRussiaElwin Sharvill NEW
Octavia S CampainFranceBernardo Dominic QUALIFIED
Aruna U RoysterFranceAsiya Javayant QUALIFIED
Salvatore X IturbideSpainXuxue Feng QUALIFIED
Maisha D IturbideSpainIvan Magalhaes NEW
Jones Z DilliardIndiaOnyama Limba NEGOTIATION
Nicolas M SchemmerCanadaIoni Bowcher NEW
Johnson O WaycottArgentinaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues D WaycottArgentina2025-05-29Chemel, James L Cpa NEGOTIATION22Bernardo Dominic
1001David X MorascaRussia2025-05-24Rangoni Of Florence PROPOSAL16Elwin Sharvill
1002Greenwood K NestleAustralia2025-05-27Feiner Bros UNQUALIFIED21Elwin Sharvill
1003Clifford R DoeFrance2025-05-18Commercial Press PROPOSAL40Stephen Shaw
1004Costa L InouyeFrance2025-06-03Rousseaux, Michael Esq NEW60Asiya Javayant
1005Ivar O MaletCanada2025-06-03Rousseaux, Michael Esq QUALIFIED39Amy Elsner
1006Greenwood W GillianJapan2025-05-31King, Christopher A Esq PROPOSAL3Amy Elsner
1007Tony J VocelkaIndia2025-05-27Rousseaux, Michael Esq QUALIFIED18Anna Fali
1008Costa L OstroskyAustralia2025-06-06Chanay, Jeffrey A Esq PROPOSAL35Ioni Bowcher
1009Arvin Y GarufiUnited Kingdom2025-05-31Benton, John B Jr NEGOTIATION8Amy Elsner
1010Octavia Q WhobreyArgentina2025-06-06Rousseaux, Michael Esq NEGOTIATION58Ivan Magalhaes
1011Jennifer H AmigonIndia2025-06-11Commercial Press NEGOTIATION11Onyama Limba
1012Rodrigues E FigeroaCanada2025-05-25Commercial Press PROPOSAL53Asiya Javayant
1013Morrow K DarakjyRussia2025-06-02Printing Dimensions UNQUALIFIED51Ivan Magalhaes
1014Adams U CaudyBrazil2025-05-22Printing Dimensions QUALIFIED80Asiya Javayant
1015Tony V KuskoItaly2025-05-28Benton, John B Jr PROPOSAL87Stephen Shaw
1016Aruna Z DoeJapan2025-06-12Morlong Associates UNQUALIFIED24Elwin Sharvill
1017Arvin I IturbideSpain2025-05-26Commercial Press NEGOTIATION60Ioni Bowcher
1018Greenwood Y WieserItaly2025-06-02Printing Dimensions NEW56Ioni Bowcher
1019James J SlusarskiIndia2025-05-18Chemel, James L Cpa QUALIFIED82Onyama Limba
1020Jones Q BriddickFrance2025-06-14Rousseaux, Michael Esq PROPOSAL62Asiya Javayant
1021Ivar O CaldareraGermany2025-05-18Chemel, James L Cpa RENEWAL89Onyama Limba
1022Rodrigues X AlbaresJapan2025-06-15Dorl, James J Esq PROPOSAL76Elwin Sharvill
1023Leon T GillianCanada2025-06-03Benton, John B Jr RENEWAL23Xuxue Feng
1024Leon O DilliardBrazil2025-06-12Chanay, Jeffrey A Esq UNQUALIFIED37Onyama Limba
1025Chavez Z AmigonSpain2025-06-12Feiner Bros PROPOSAL5Stephen Shaw
1026Aika R RoysterUnited Kingdom2025-06-02Dorl, James J Esq UNQUALIFIED72Xuxue Feng
1027Leon N IturbideGermany2025-06-04Feiner Bros RENEWAL16Xuxue Feng
1028Nicolas D FerenczCanada2025-06-03Dorl, James J Esq NEW50Asiya Javayant
1029David L VenereGermany2025-06-11Printing Dimensions RENEWAL63Bernardo Dominic
1030Alejandro W NestleCanada2025-06-14Benton, John B Jr NEW66Xuxue Feng
1031Clifford M PerinRussia2025-05-18Chapman, Ross E Esq UNQUALIFIED53Amy Elsner
1032Munro O MaletItaly2025-06-02Dorl, James J Esq RENEWAL74Stephen Shaw
1033Silvio L NickaFrance2025-06-14Rangoni Of Florence PROPOSAL46Onyama Limba
1034Morrow P FigeroaJapan2025-06-10Feiner Bros UNQUALIFIED7Elwin Sharvill
1035Clifford V IturbideRussia2025-05-24Rangoni Of Florence RENEWAL70Onyama Limba
1036Octavia F SergiRussia2025-06-06Rangoni Of Florence NEGOTIATION51Anna Fali
1037Nicolas M GauchoCanada2025-05-23Chapman, Ross E Esq RENEWAL27Ioni Bowcher
1038Morrow M OstroskyItaly2025-05-20Buckley Miller Wright PROPOSAL0Elwin Sharvill
1039Mayumi I MorascaIndia2025-06-13Chapman, Ross E Esq PROPOSAL64Stephen Shaw
1040Juan X CampainJapan2025-06-15Truhlar And Truhlar Attys PROPOSAL53Asiya Javayant
1041Tony X ButtUnited Kingdom2025-05-23Morlong Associates NEGOTIATION59Asiya Javayant
1042Ivar I AmigonUnited Kingdom2025-05-23Morlong Associates NEGOTIATION27Amy Elsner
1043Jefferson Q BowleyUnited Kingdom2025-05-30Rousseaux, Michael Esq NEW63Onyama Limba
1044Francesco P PaprockiGermany2025-06-07Printing Dimensions NEW60Anna Fali
1045Clifford T GarufiFrance2025-05-30Chemel, James L Cpa NEGOTIATION31Asiya Javayant
1046Clifford W InouyeJapan2025-06-05Dorl, James J Esq PROPOSAL62Elwin Sharvill
1047Nicolas G KolmetzIndia2025-06-02Truhlar And Truhlar Attys QUALIFIED92Asiya Javayant
1048Maisha X IturbideArgentina2025-06-01Truhlar And Truhlar Attys PROPOSAL4Stephen Shaw
1049Arvin A InouyeItaly2025-06-06Chemel, James L Cpa NEW35Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Emily O StockhamIndiaAsiya Javayant UNQUALIFIED
Nicolas L CampainSpainStephen Shaw RENEWAL
Greenwood U BologniaGermanyElwin Sharvill RENEWAL
Jones G StockhamJapanElwin Sharvill QUALIFIED
James X RimSpainIoni Bowcher NEGOTIATION
Emily Y InouyeRussiaAsiya Javayant NEGOTIATION
Francesco T ButtJapanElwin Sharvill PROPOSAL
Tony T VocelkaAustraliaAnna Fali NEGOTIATION
Greenwood A FigeroaFranceIoni Bowcher PROPOSAL
Ashley A SlusarskiAustraliaElwin Sharvill RENEWAL
Morrow D TollnerItalyIoni Bowcher QUALIFIED
Ricardo F DilliardFranceOnyama Limba RENEWAL
Stacey E GauchoBrazilAnna Fali UNQUALIFIED
Silvio Y StensethCanadaElwin Sharvill UNQUALIFIED
Sinclair E RulapaughBrazilXuxue Feng QUALIFIED
Darci Q CaldareraArgentinaOnyama Limba UNQUALIFIED
Ricardo Y FigeroaCanadaAnna Fali PROPOSAL
Tony M BriddickAustraliaIoni Bowcher PROPOSAL
Ricardo Y StensethArgentinaXuxue Feng PROPOSAL
Silvio J StockhamSpainAmy Elsner UNQUALIFIED
Nicolas R MaletRussiaElwin Sharvill UNQUALIFIED
Emily A GillianIndiaAnna Fali QUALIFIED
Deepesh V WieserCanadaXuxue Feng QUALIFIED
Rodrigues V RulapaughCanadaXuxue Feng NEGOTIATION
Antonio T PerinCanadaAmy Elsner NEGOTIATION
Jeanfrancois U MaletJapanAmy Elsner PROPOSAL
Aika H WieserIndiaIoni Bowcher NEGOTIATION
Izzy Z SergiSpainAsiya Javayant NEW
Aditya A AmigonRussiaBernardo Dominic NEW
Chavez X CaldareraCanadaIvan Magalhaes NEGOTIATION
Antonio G WhobreyAustraliaXuxue Feng NEGOTIATION
James M GlickSpainXuxue Feng NEW
Alejandro J PoquetteItalyOnyama Limba QUALIFIED
Smith H FollerCanadaBernardo Dominic NEW
Mujtaba X MorascaItalyIoni Bowcher QUALIFIED
Mujtaba L SaylorsSpainIoni Bowcher QUALIFIED
Jefferson L GillianItalyStephen Shaw NEW
Aditya X FigeroaJapanIoni Bowcher NEW
Claire S SchemmerSpainElwin Sharvill RENEWAL
Leon U ChuiCanadaStephen Shaw UNQUALIFIED
Ivar N SaylorsIndiaElwin Sharvill NEGOTIATION
Cody C GarufiArgentinaAnna Fali UNQUALIFIED
Stacey W RutaFranceAnna Fali RENEWAL
Maisha F AmigonJapanXuxue Feng QUALIFIED
Juan U OstroskyJapanAnna Fali UNQUALIFIED
Jeanfrancois R FollerArgentinaOnyama Limba PROPOSAL
Greenwood X FerenczArgentinaIoni Bowcher QUALIFIED
Leja T OldroydSpainAmy Elsner UNQUALIFIED
Kadeem V SlusarskiJapanStephen Shaw NEW
Mujtaba X KuskoItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Costa F Waycott
Jennifer B Kolmetz
Deepesh I Garufi
Jennifer T Foller
Stacey G Tollner
Mujtaba F Waycott
Aditya Z Amigon
Juan Z Slusarski
Murillo D Tollner
Leja Z Perin
Francesco O Ostrosky
Murillo K Perin
Darci Q Doe
Antonio W Saylors
Misaki U Paprocki
Jefferson L Caudy
Murillo L Nestle
Maisha L Briddick
Maisha C Ostrosky
Isabel P Butt
Clifford H Malet
Julie J Marrier
Sinclair G Schemmer
Stacey V Poquette
Morrow N Paprocki
Kaitlin R Venere
Octavia Z Foller
Morrow A Campain
Johnson F Foller
Stacey Q Glick
Chavez X Malet
Murillo K Royster
Nicolas H Oldroyd
Munro X Marrier
Francesco O Ruta
Izzy A Briddick
Aditya L Ruta
Nicolas A Oldroyd
Aika O Slusarski
Stacey S Figeroa
Tony P Stenseth
Greenwood V Darakjy
Darci C Iturbide
Aruna R Malet
Jennifer I Perin
Morrow R Albares
Juan V Gaucho
Mujtaba N Darakjy
Darci M Ruta
Morrow P Figeroa
IdCountryDate
1000Japan2025-05-20
1001Japan2025-06-04
1002Argentina2025-06-14
1003France2025-06-03
1004Japan2025-06-10
1005Brazil2025-06-02
1006Japan2025-05-29
1007Japan2025-05-26
1008Spain2025-06-07
1009Spain2025-05-30
1010United Kingdom2025-05-28
1011India2025-05-20
1012Italy2025-05-31
1013France2025-05-26
1014Spain2025-06-04
1015Russia2025-05-28
1016United Kingdom2025-05-19
1017Brazil2025-06-11
1018Japan2025-06-11
1019Argentina2025-06-15
1020Argentina2025-06-07
1021United Kingdom2025-06-02
1022Argentina2025-05-30
1023France2025-06-10
1024Brazil2025-05-24
1025Italy2025-06-16
1026Brazil2025-06-13
1027Spain2025-05-25
1028Canada2025-05-29
1029Italy2025-06-04
1030India2025-05-24
1031Japan2025-05-26
1032Spain2025-05-20
1033Australia2025-06-15
1034Canada2025-05-21
1035France2025-05-20
1036Italy2025-06-04
1037United Kingdom2025-06-11
1038India2025-06-05
1039Italy2025-06-01
1040Spain2025-06-10
1041Australia2025-05-19
1042Germany2025-06-08
1043United Kingdom2025-06-01
1044Brazil2025-05-28
1045Russia2025-06-01
1046Spain2025-06-02
1047Italy2025-06-09
1048India2025-06-05
1049Germany2025-06-07

On-Demand Data

NameIdCountryDate
Izzy K Ostrosky1000France2025-06-04
Darci G Shinko1001Germany2025-06-09
Wickens U Flosi1002Japan2025-06-08
Ivar W Malet1003Brazil2025-06-01
Murillo R Malet1004Germany2025-06-08
Alejandro G Briddick1005Australia2025-06-12
Octavia V Rim1006France2025-06-09
David J Rim1007Argentina2025-05-20
Smith M Rim1008India2025-05-26
Izzy N Tollner1009Canada2025-05-31
Kadeem B Dilliard1010France2025-05-29
Mayumi L Gaucho1011Canada2025-06-05
Mayumi W Ostrosky1012United Kingdom2025-05-18
Misaki X Saylors1013Spain2025-05-30
James D Whobrey1014Australia2025-05-23
Sinclair K Bowley1015Canada2025-05-27
Wickens J Caudy1016Spain2025-06-15
Aika C Albares1017Russia2025-05-31
Chavez P Stockham1018France2025-05-30
Julie V Garufi1019Argentina2025-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin W GarufiSpainAmy Elsner RENEWAL
Kadeem Q KolmetzArgentinaBernardo Dominic NEW
Misaki M VenereRussiaOnyama Limba RENEWAL
David H MaletBrazilXuxue Feng PROPOSAL
Ivar M CaldareraSpainBernardo Dominic QUALIFIED
Greenwood H MaletFranceStephen Shaw PROPOSAL
Nicolas J PaprockiRussiaAnna Fali QUALIFIED
Adams Y CaudyAustraliaAsiya Javayant QUALIFIED
David L DarakjyGermanyIoni Bowcher NEW
Jeanfrancois P RimGermanyStephen Shaw NEW
Darci D PoquetteFranceBernardo Dominic RENEWAL
James X RutaRussiaIvan Magalhaes QUALIFIED
Costa U MorascaRussiaAnna Fali RENEWAL
Clifford A PerinItalyOnyama Limba NEW
Silvio C FigeroaRussiaAmy Elsner NEGOTIATION
Francesco N WhobreyItalyIvan Magalhaes NEGOTIATION
Ricardo P BriddickRussiaElwin Sharvill UNQUALIFIED
Misaki T AlbaresBrazilStephen Shaw UNQUALIFIED
Ricardo J DarakjyItalyAmy Elsner QUALIFIED
Octavia Z BowleyFranceAsiya Javayant NEGOTIATION
Jeanfrancois X SchemmerUnited KingdomAsiya Javayant QUALIFIED
Murillo J TollnerBrazilXuxue Feng NEW
Rodrigues D VocelkaIndiaAmy Elsner NEW
Faith F PerinBrazilXuxue Feng NEGOTIATION
Sinclair Q NestleFranceElwin Sharvill QUALIFIED
Chavez O KuskoFranceStephen Shaw QUALIFIED
Ashley T PaprockiItalyStephen Shaw NEGOTIATION
Mayumi G DilliardFranceIoni Bowcher NEW
Silvio R DilliardIndiaXuxue Feng UNQUALIFIED
Leon K MorascaUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois U RimSpainElwin Sharvill RENEWAL
Faith E KolmetzItalyStephen Shaw NEW
Sinclair M FollerBrazilElwin Sharvill PROPOSAL
Ivar B StockhamCanadaXuxue Feng QUALIFIED
Misaki A FlosiRussiaIvan Magalhaes NEW
Jeanfrancois S NestleUnited KingdomAnna Fali NEW
Rodrigues K AlbaresJapanAmy Elsner NEW
Chavez V RoysterJapanAmy Elsner PROPOSAL
Darci E KuskoAustraliaIoni Bowcher NEW
Mayumi F InouyeItalyIvan Magalhaes 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>