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
Jones V DarakjyFranceAmy Elsner PROPOSAL
Faith D PaprockiItalyElwin Sharvill NEGOTIATION
Octavia T BologniaIndiaAsiya Javayant UNQUALIFIED
Misaki X SlusarskiBrazilElwin Sharvill NEW
Stacey Q CaldareraRussiaOnyama Limba UNQUALIFIED
Sinclair A ButtJapanStephen Shaw NEW
Octavia F SchemmerIndiaBernardo Dominic NEGOTIATION
Silvio V SaylorsUnited KingdomStephen Shaw PROPOSAL
Mujtaba P DoeFranceXuxue Feng QUALIFIED
Francesco S TollnerJapanElwin Sharvill NEGOTIATION
Silvio X RoysterRussiaXuxue Feng PROPOSAL
Greenwood O PoquetteUnited KingdomBernardo Dominic RENEWAL
Alejandro G RutaIndiaAsiya Javayant RENEWAL
Chavez J BologniaIndiaElwin Sharvill NEW
Aditya J RutaIndiaStephen Shaw UNQUALIFIED
Ricardo E DilliardFranceBernardo Dominic UNQUALIFIED
Aruna I BowleyFranceAnna Fali RENEWAL
Smith H MacleadItalyBernardo Dominic QUALIFIED
Salvatore G WhobreySpainOnyama Limba QUALIFIED
Tony Q WieserBrazilIvan Magalhaes NEW
Julie U TollnerArgentinaXuxue Feng PROPOSAL
Wickens P AlbaresJapanElwin Sharvill QUALIFIED
Ricardo O DarakjyJapanAnna Fali QUALIFIED
Munro A SaylorsGermanyAmy Elsner UNQUALIFIED
Nicolas N RulapaughRussiaAsiya Javayant PROPOSAL
Deepesh F BriddickGermanyAmy Elsner QUALIFIED
Faith E MacleadSpainAnna Fali RENEWAL
Juan B KuskoAustraliaBernardo Dominic NEGOTIATION
Arvin W SaylorsArgentinaAnna Fali UNQUALIFIED
Silvio R SchemmerUnited KingdomIoni Bowcher UNQUALIFIED
Claire I OldroydSpainAnna Fali PROPOSAL
David V GillianRussiaStephen Shaw NEW
Maisha N DoeFranceBernardo Dominic UNQUALIFIED
Maria C WaycottGermanyElwin Sharvill NEW
Octavia F StockhamUnited KingdomOnyama Limba QUALIFIED
Greenwood U CampainUnited KingdomBernardo Dominic PROPOSAL
Juan C SlusarskiSpainIoni Bowcher QUALIFIED
Jones Q StensethFranceIvan Magalhaes RENEWAL
Costa T NestleCanadaIvan Magalhaes UNQUALIFIED
Jeanfrancois H SlusarskiUnited KingdomIvan Magalhaes PROPOSAL
David M OstroskyJapanIoni Bowcher NEW
Stacey N AmigonItalyIvan Magalhaes NEGOTIATION
Jeanfrancois V WieserAustraliaElwin Sharvill UNQUALIFIED
Murillo M MacleadFranceAsiya Javayant NEW
Adams K FlosiJapanXuxue Feng UNQUALIFIED
Leon R AlbaresJapanAsiya Javayant NEW
Ivar N WieserJapanStephen Shaw PROPOSAL
Aditya L ChuiCanadaAsiya Javayant PROPOSAL
Salvatore C CaudyAustraliaAnna Fali RENEWAL
Aruna V ChuiCanadaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
David I DilliardIndiaXuxue Feng NEW
Sinclair G RutaAustraliaAsiya Javayant PROPOSAL
Leon Q WieserUnited KingdomElwin Sharvill QUALIFIED
David V ButtGermanyAsiya Javayant NEGOTIATION
Adams L MaletSpainBernardo Dominic NEW
Munro V PaprockiJapanIoni Bowcher NEGOTIATION
Juan T FlosiBrazilAnna Fali NEW
Ricardo N StensethCanadaBernardo Dominic UNQUALIFIED
James K RimJapanAnna Fali PROPOSAL
Salvatore O StensethRussiaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh B WhobreyUnited Kingdom2024-06-05King, Christopher A Esq NEW6Anna Fali
1001Adams Z NestleJapan2024-06-03Dorl, James J Esq RENEWAL4Onyama Limba
1002Stacey P AlbaresIndia2024-06-16Feltz Printing Service PROPOSAL7Anna Fali
1003Darci J StensethSpain2024-06-09Chemel, James L Cpa NEW40Elwin Sharvill
1004Aika Z NickaBrazil2024-06-13King, Christopher A Esq RENEWAL70Onyama Limba
1005Leja Q ChuiFrance2024-06-04Rousseaux, Michael Esq QUALIFIED72Anna Fali
1006Morrow A BologniaRussia2024-06-11Rangoni Of Florence PROPOSAL13Ioni Bowcher
1007David B SchemmerGermany2024-05-26Morlong Associates UNQUALIFIED41Bernardo Dominic
1008Maisha A InouyeJapan2024-06-08Chemel, James L Cpa RENEWAL59Amy Elsner
1009Nicolas G ButtItaly2024-06-08Printing Dimensions UNQUALIFIED80Elwin Sharvill
1010Maisha H FlosiAustralia2024-05-31Rangoni Of Florence UNQUALIFIED78Ivan Magalhaes
1011Wickens Q SergiSpain2024-06-19Buckley Miller Wright PROPOSAL22Ivan Magalhaes
1012Izzy A BowleyIndia2024-06-22Benton, John B Jr NEGOTIATION15Stephen Shaw
1013Alejandro N SchemmerAustralia2024-06-19Commercial Press RENEWAL11Ioni Bowcher
1014Leja H MorascaFrance2024-06-02Morlong Associates UNQUALIFIED46Asiya Javayant
1015Chavez P MaletCanada2024-06-09Truhlar And Truhlar Attys UNQUALIFIED63Stephen Shaw
1016Sinclair Y SaylorsUnited Kingdom2024-05-31Feltz Printing Service QUALIFIED64Ivan Magalhaes
1017Leon S FollerIndia2024-06-02Chanay, Jeffrey A Esq NEGOTIATION19Elwin Sharvill
1018Aruna O CampainCanada2024-06-14Buckley Miller Wright NEW41Bernardo Dominic
1019Chavez L NickaCanada2024-06-22Chemel, James L Cpa RENEWAL56Ioni Bowcher
1020Jones X WaycottGermany2024-05-29Rousseaux, Michael Esq RENEWAL97Stephen Shaw
1021Faith H DoeItaly2024-06-22Feltz Printing Service NEGOTIATION54Onyama Limba
1022Ricardo J GlickCanada2024-05-27Printing Dimensions NEGOTIATION82Onyama Limba
1023Mujtaba L OstroskyRussia2024-06-07Dorl, James J Esq NEGOTIATION57Stephen Shaw
1024Aika V GauchoAustralia2024-06-12Printing Dimensions PROPOSAL99Xuxue Feng
1025Claire U TollnerRussia2024-06-13Buckley Miller Wright PROPOSAL20Asiya Javayant
1026Nicolas M ChuiArgentina2024-06-21Feiner Bros NEGOTIATION39Amy Elsner
1027Maria Q AlbaresRussia2024-05-27Chemel, James L Cpa QUALIFIED52Anna Fali
1028Izzy Y SchemmerJapan2024-05-29Chanay, Jeffrey A Esq RENEWAL87Anna Fali
1029Jeanfrancois Z DoeFrance2024-05-29Commercial Press PROPOSAL78Elwin Sharvill
1030Leja G WieserCanada2024-05-24Feiner Bros QUALIFIED72Onyama Limba
1031Kaitlin E AmigonAustralia2024-06-07Chanay, Jeffrey A Esq PROPOSAL99Asiya Javayant
1032Johnson R KolmetzArgentina2024-06-18King, Christopher A Esq NEGOTIATION82Amy Elsner
1033Munro M RimBrazil2024-06-09Feltz Printing Service UNQUALIFIED70Bernardo Dominic
1034Darci L NestleArgentina2024-06-19Dorl, James J Esq RENEWAL46Amy Elsner
1035Ricardo H GarufiUnited Kingdom2024-06-08Commercial Press PROPOSAL76Stephen Shaw
1036Jennifer B WhobreyFrance2024-06-06Feiner Bros RENEWAL20Ivan Magalhaes
1037Nicolas U BriddickRussia2024-06-11Benton, John B Jr PROPOSAL28Anna Fali
1038Kadeem X PerinAustralia2024-06-04Buckley Miller Wright PROPOSAL53Asiya Javayant
1039Antonio G OstroskyFrance2024-06-17Buckley Miller Wright QUALIFIED9Amy Elsner
1040James T PerinIndia2024-06-02Chanay, Jeffrey A Esq PROPOSAL56Anna Fali
1041Alejandro D FigeroaArgentina2024-05-25Rangoni Of Florence NEW38Stephen Shaw
1042Kaitlin F ChuiAustralia2024-05-27Benton, John B Jr PROPOSAL16Asiya Javayant
1043Aruna T NestleGermany2024-05-25Feltz Printing Service PROPOSAL80Ioni Bowcher
1044Leon F WhobreyUnited Kingdom2024-06-22Feltz Printing Service QUALIFIED66Xuxue Feng
1045Octavia L DoeItaly2024-06-12Rangoni Of Florence RENEWAL44Bernardo Dominic
1046Leon C RulapaughRussia2024-06-09Buckley Miller Wright NEW99Elwin Sharvill
1047Chavez U CampainJapan2024-06-12Feltz Printing Service RENEWAL27Onyama Limba
1048Francesco E PerinAustralia2024-06-11Chanay, Jeffrey A Esq QUALIFIED62Xuxue Feng
1049Murillo N SlusarskiItaly2024-06-07Buckley Miller Wright UNQUALIFIED18Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Clifford E NickaJapanBernardo Dominic UNQUALIFIED
Juan J NestleFranceXuxue Feng RENEWAL
Costa T MacleadCanadaOnyama Limba RENEWAL
Misaki P KolmetzGermanyAnna Fali NEW
Clifford A StensethIndiaAmy Elsner PROPOSAL
Smith Z StockhamArgentinaStephen Shaw QUALIFIED
Costa Q ChuiRussiaOnyama Limba NEW
Mujtaba V GlickAustraliaBernardo Dominic QUALIFIED
Munro R BriddickIndiaIvan Magalhaes NEW
Adams C TollnerItalyIvan Magalhaes NEW
Alejandro Q ChuiCanadaElwin Sharvill RENEWAL
Kaitlin S MaletAustraliaXuxue Feng PROPOSAL
Jones Z DilliardJapanIvan Magalhaes QUALIFIED
Nicolas T IturbideAustraliaElwin Sharvill NEGOTIATION
Alejandro U PaprockiUnited KingdomIvan Magalhaes RENEWAL
Arvin N StockhamGermanyXuxue Feng UNQUALIFIED
Mayumi N DilliardFranceElwin Sharvill UNQUALIFIED
James S CaudyAustraliaIoni Bowcher NEW
Clifford Q RutaAustraliaAsiya Javayant NEGOTIATION
Arvin Q WieserUnited KingdomAmy Elsner NEGOTIATION
Alejandro Y BowleyJapanBernardo Dominic RENEWAL
Sinclair P OstroskyJapanIoni Bowcher NEW
Antonio Q VocelkaFranceOnyama Limba UNQUALIFIED
Greenwood Z GarufiAustraliaAmy Elsner UNQUALIFIED
Leon Q NestleItalyXuxue Feng RENEWAL
Cody A VocelkaFranceAsiya Javayant QUALIFIED
Aruna V GarufiUnited KingdomAnna Fali UNQUALIFIED
Sinclair K IturbideAustraliaOnyama Limba UNQUALIFIED
Aditya I WaycottBrazilIoni Bowcher QUALIFIED
Ricardo B BologniaGermanyElwin Sharvill QUALIFIED
Juan Q MacleadArgentinaIoni Bowcher NEGOTIATION
Munro O WieserIndiaAsiya Javayant PROPOSAL
Faith K VenereItalyIvan Magalhaes QUALIFIED
Ivar J MorascaBrazilXuxue Feng PROPOSAL
Maria D GillianFranceXuxue Feng PROPOSAL
Leon Q FlosiAustraliaOnyama Limba PROPOSAL
Morrow B FerenczGermanyIoni Bowcher NEW
Maria E MarrierArgentinaElwin Sharvill QUALIFIED
Cody V WhobreyCanadaOnyama Limba PROPOSAL
Mujtaba I IturbideGermanyAmy Elsner RENEWAL
Ricardo T TollnerUnited KingdomStephen Shaw NEW
Aika O PoquetteUnited KingdomIvan Magalhaes NEW
Isabel E GlickUnited KingdomIoni Bowcher QUALIFIED
Aika Q InouyeAustraliaAsiya Javayant UNQUALIFIED
Leon Q BowleyCanadaIvan Magalhaes NEW
Jones V RulapaughBrazilIvan Magalhaes RENEWAL
Sinclair G CampainIndiaAmy Elsner QUALIFIED
Leja H ShinkoUnited KingdomAmy Elsner RENEWAL
Aditya W IturbideGermanyIoni Bowcher NEGOTIATION
Izzy L ButtCanadaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Darci W Schemmer
Murillo V Dilliard
James Y Rulapaugh
Chavez U Sergi
Munro F Maclead
Ashley N Gaucho
Johnson R Chui
Nicolas G Rulapaugh
Julie Q Garufi
Jones U Chui
Murillo J Venere
Jones J Nicka
Faith T Stockham
Greenwood A Paprocki
Izzy L Gaucho
Clifford D Butt
Faith U Kusko
Sinclair V Nicka
Darci X Wieser
James S Malet
Cody C Marrier
Maisha O Butt
Aditya D Royster
Faith F Nestle
Jennifer G Schemmer
Ricardo U Stockham
Nicolas Y Foller
Ivar A Garufi
Francesco I Briddick
Octavia X Campain
Mujtaba C Wieser
Leon M Shinko
Ivar E Waycott
Ricardo N Ruta
Jennifer V Slusarski
Deepesh C Glick
Aditya X Bowley
Alejandro R Chui
Stacey F Gaucho
Maria Z Ferencz
James Z Malet
Silvio D Chui
Tony G Dilliard
Clifford A Butt
Faith B Ruta
Claire R Flosi
Leon U Malet
Munro O Tollner
Claire M Ostrosky
Faith X Briddick
IdCountryDate
1000Russia2024-06-07
1001Australia2024-06-13
1002Germany2024-05-30
1003Italy2024-06-16
1004Brazil2024-06-15
1005Argentina2024-06-04
1006India2024-06-07
1007Japan2024-05-24
1008Italy2024-06-05
1009Canada2024-06-03
1010Argentina2024-06-15
1011Italy2024-06-16
1012Canada2024-06-20
1013United Kingdom2024-06-04
1014Spain2024-06-13
1015India2024-06-22
1016Canada2024-06-18
1017Russia2024-06-06
1018Germany2024-06-14
1019France2024-06-17
1020Russia2024-06-17
1021Japan2024-05-31
1022United Kingdom2024-06-15
1023Japan2024-05-29
1024Japan2024-06-21
1025Canada2024-06-15
1026Russia2024-05-29
1027Russia2024-06-22
1028Germany2024-06-09
1029Argentina2024-05-24
1030Spain2024-06-15
1031India2024-06-19
1032Germany2024-06-08
1033Japan2024-06-08
1034Brazil2024-06-04
1035Japan2024-06-08
1036Italy2024-06-07
1037Italy2024-06-10
1038India2024-06-18
1039Canada2024-06-08
1040Canada2024-06-08
1041Germany2024-06-15
1042Germany2024-06-12
1043United Kingdom2024-06-13
1044Spain2024-05-24
1045France2024-06-03
1046Italy2024-06-14
1047United Kingdom2024-06-18
1048Italy2024-06-01
1049France2024-06-18

On-Demand Data

NameIdCountryDate
Kaitlin U Maclead1000Italy2024-06-15
Tony C Maclead1001Brazil2024-06-01
Misaki V Ostrosky1002Japan2024-05-31
David H Flosi1003Spain2024-06-20
Alejandro P Slusarski1004Australia2024-06-09
Sinclair I Darakjy1005Japan2024-06-19
Mayumi R Darakjy1006Canada2024-05-30
Murillo E Schemmer1007Canada2024-06-19
Morrow T Doe1008Brazil2024-06-01
Tony T Shinko1009Australia2024-06-17
Smith C Bolognia1010India2024-06-18
Morrow X Saylors1011France2024-05-29
Emily P Flosi1012Russia2024-06-05
Jennifer R Rulapaugh1013France2024-06-03
Chavez Q Malet1014Brazil2024-06-21
Murillo X Ostrosky1015Italy2024-06-20
Aditya G Sergi1016Spain2024-06-19
Maria I Rulapaugh1017Australia2024-06-21
Smith F Flosi1018Russia2024-06-02
Murillo G Wieser1019Brazil2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley S NestleArgentinaAnna Fali QUALIFIED
Johnson X DilliardFranceElwin Sharvill NEGOTIATION
Leon V TollnerGermanyAnna Fali NEW
Alejandro W FollerRussiaIoni Bowcher NEW
Leja G GarufiItalyElwin Sharvill PROPOSAL
Ivar J StensethJapanIvan Magalhaes RENEWAL
Ricardo R FigeroaIndiaAsiya Javayant UNQUALIFIED
Sinclair E ButtAustraliaXuxue Feng PROPOSAL
Morrow V ButtSpainXuxue Feng PROPOSAL
Aditya P SaylorsIndiaIvan Magalhaes NEW
Darci P KuskoSpainAmy Elsner RENEWAL
Chavez J OldroydIndiaElwin Sharvill QUALIFIED
Murillo J PerinJapanAnna Fali QUALIFIED
Tony N GarufiJapanXuxue Feng NEW
Stacey A FerenczSpainStephen Shaw RENEWAL
Isabel B DarakjyBrazilAnna Fali RENEWAL
Sinclair T WhobreyUnited KingdomBernardo Dominic PROPOSAL
Mujtaba S FollerUnited KingdomXuxue Feng RENEWAL
Isabel I DilliardArgentinaElwin Sharvill QUALIFIED
Izzy Q MorascaJapanOnyama Limba RENEWAL
Clifford D OldroydGermanyBernardo Dominic PROPOSAL
Ricardo A RimCanadaBernardo Dominic RENEWAL
Octavia I NickaAustraliaStephen Shaw RENEWAL
Murillo H MacleadItalyAmy Elsner PROPOSAL
Aika W RulapaughArgentinaAmy Elsner QUALIFIED
Kadeem B KuskoRussiaBernardo Dominic UNQUALIFIED
Darci D DilliardJapanAnna Fali PROPOSAL
Francesco Z MarrierAustraliaIvan Magalhaes NEW
Faith J FigeroaGermanyXuxue Feng RENEWAL
James L BologniaUnited KingdomOnyama Limba PROPOSAL
Francesco N OstroskySpainElwin Sharvill UNQUALIFIED
James R PaprockiGermanyStephen Shaw NEGOTIATION
Arvin X CaudyArgentinaIvan Magalhaes RENEWAL
Jeanfrancois Q WieserAustraliaStephen Shaw UNQUALIFIED
Kaitlin Z SchemmerIndiaAnna Fali NEW
Jefferson R BologniaCanadaAmy Elsner RENEWAL
Clifford X CaldareraFranceAmy Elsner QUALIFIED
Ivar Z FigeroaFranceStephen Shaw NEW
Misaki C SergiGermanyBernardo Dominic NEW
Nicolas J FollerFranceIvan Magalhaes 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>