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 T FollerFranceAmy Elsner PROPOSAL
Clifford Z FlosiBrazilOnyama Limba RENEWAL
Jefferson K AlbaresCanadaStephen Shaw QUALIFIED
Juan A RimArgentinaAmy Elsner NEGOTIATION
Jones B FigeroaGermanyIvan Magalhaes PROPOSAL
Jones E ShinkoRussiaAsiya Javayant RENEWAL
Nicolas W KolmetzJapanStephen Shaw RENEWAL
Jennifer J StockhamRussiaAmy Elsner NEW
James Y CaldareraArgentinaXuxue Feng NEW
Leon I WieserArgentinaIoni Bowcher QUALIFIED
Jennifer E CampainJapanOnyama Limba NEW
Francesco Q DoeAustraliaStephen Shaw QUALIFIED
Sinclair Y PaprockiItalyBernardo Dominic RENEWAL
Chavez D VocelkaArgentinaBernardo Dominic QUALIFIED
Julie Q GauchoSpainBernardo Dominic NEGOTIATION
Leja Z StensethRussiaAsiya Javayant QUALIFIED
Jeanfrancois T MarrierFranceXuxue Feng NEGOTIATION
Octavia Q MarrierItalyBernardo Dominic RENEWAL
Kadeem W PerinArgentinaAmy Elsner NEGOTIATION
Chavez A RoysterFranceAnna Fali NEGOTIATION
Adams C DarakjyJapanElwin Sharvill NEGOTIATION
David A FlosiAustraliaIvan Magalhaes UNQUALIFIED
Jefferson X ShinkoCanadaAnna Fali NEGOTIATION
Aditya A PoquetteBrazilStephen Shaw RENEWAL
Morrow B MorascaIndiaElwin Sharvill UNQUALIFIED
Chavez O RimGermanyAmy Elsner NEW
Claire N FigeroaRussiaElwin Sharvill UNQUALIFIED
Tony P MorascaItalyBernardo Dominic UNQUALIFIED
Ricardo K PoquetteCanadaIoni Bowcher NEGOTIATION
Johnson R WieserJapanIvan Magalhaes NEGOTIATION
Maisha C StockhamUnited KingdomAmy Elsner RENEWAL
Rodrigues U OstroskySpainAnna Fali UNQUALIFIED
Rodrigues L MarrierFranceAmy Elsner NEGOTIATION
Salvatore B KuskoRussiaBernardo Dominic NEGOTIATION
Silvio Q RulapaughFranceStephen Shaw RENEWAL
Isabel F KuskoUnited KingdomIoni Bowcher NEW
Sinclair Q GarufiBrazilAnna Fali NEGOTIATION
Octavia E IturbideBrazilAnna Fali QUALIFIED
Kadeem H RoysterItalyXuxue Feng NEW
Arvin O CaudyIndiaIoni Bowcher RENEWAL
Jefferson R KolmetzBrazilOnyama Limba NEW
Aika Q BriddickItalyIoni Bowcher RENEWAL
Juan D StensethJapanBernardo Dominic UNQUALIFIED
Octavia Y WhobreySpainStephen Shaw NEW
Smith F DilliardRussiaXuxue Feng NEW
Cody I MaletFranceAsiya Javayant NEW
Aruna M RimFranceXuxue Feng NEW
James Q MarrierArgentinaAsiya Javayant QUALIFIED
Jones R WhobreyUnited KingdomStephen Shaw QUALIFIED
Mayumi T StockhamJapanXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar O NestleBrazilXuxue Feng NEGOTIATION
Rodrigues M SlusarskiCanadaIvan Magalhaes NEW
Stacey X WhobreyRussiaIoni Bowcher UNQUALIFIED
Greenwood Y PoquetteArgentinaElwin Sharvill QUALIFIED
Kadeem R WaycottGermanyXuxue Feng NEW
Munro H FlosiArgentinaAmy Elsner NEGOTIATION
Misaki S RutaJapanStephen Shaw UNQUALIFIED
Murillo U MorascaAustraliaXuxue Feng PROPOSAL
David G RimGermanyAnna Fali NEW
Nicolas J MarrierGermanyAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair Q KolmetzUnited Kingdom2026-07-08Rousseaux, Michael Esq NEW88Ivan Magalhaes
1001James E WieserCanada2026-07-11Feiner Bros QUALIFIED64Elwin Sharvill
1002Silvio G WieserGermany2026-07-19Dorl, James J Esq PROPOSAL89Bernardo Dominic
1003Murillo K BriddickFrance2026-07-20Commercial Press NEW68Asiya Javayant
1004Julie G VenereCanada2026-07-15Benton, John B Jr NEW53Ivan Magalhaes
1005Izzy D InouyeGermany2026-07-29Feltz Printing Service RENEWAL80Bernardo Dominic
1006Jefferson A FerenczJapan2026-07-31Buckley Miller Wright NEGOTIATION39Ivan Magalhaes
1007Claire I FerenczIndia2026-07-08Chapman, Ross E Esq RENEWAL52Anna Fali
1008Kadeem P MaletArgentina2026-07-15Feltz Printing Service UNQUALIFIED84Asiya Javayant
1009Juan F IturbideUnited Kingdom2026-07-17Feiner Bros NEGOTIATION89Onyama Limba
1010Arvin Y ShinkoItaly2026-07-20Truhlar And Truhlar Attys NEGOTIATION87Elwin Sharvill
1011Octavia Y PerinSpain2026-08-03Chapman, Ross E Esq QUALIFIED9Stephen Shaw
1012Leon E CampainGermany2026-07-26Chanay, Jeffrey A Esq QUALIFIED36Onyama Limba
1013Johnson B TollnerRussia2026-07-10Benton, John B Jr PROPOSAL8Ioni Bowcher
1014Mujtaba T TollnerCanada2026-07-23Morlong Associates NEGOTIATION17Bernardo Dominic
1015Leja T KolmetzBrazil2026-07-14Chanay, Jeffrey A Esq QUALIFIED89Onyama Limba
1016Costa H StensethArgentina2026-07-09Truhlar And Truhlar Attys RENEWAL20Ivan Magalhaes
1017Juan K MaletUnited Kingdom2026-07-31Rangoni Of Florence NEW11Stephen Shaw
1018Maisha H VocelkaSpain2026-07-14Commercial Press NEW1Ivan Magalhaes
1019Faith I ChuiRussia2026-07-27Rangoni Of Florence PROPOSAL78Asiya Javayant
1020Greenwood E GillianFrance2026-07-11Chanay, Jeffrey A Esq QUALIFIED37Xuxue Feng
1021Aditya N MaletSpain2026-07-07Commercial Press PROPOSAL31Ioni Bowcher
1022Jefferson D KolmetzSpain2026-07-31Chanay, Jeffrey A Esq QUALIFIED45Anna Fali
1023David T DoeIndia2026-07-24Buckley Miller Wright UNQUALIFIED69Elwin Sharvill
1024Jones R GarufiRussia2026-07-30Feiner Bros UNQUALIFIED53Elwin Sharvill
1025Stacey L SlusarskiFrance2026-08-03Printing Dimensions NEW76Ivan Magalhaes
1026Ivar T GillianJapan2026-07-22Chemel, James L Cpa PROPOSAL17Ioni Bowcher
1027Jefferson E GlickSpain2026-07-12Benton, John B Jr QUALIFIED57Anna Fali
1028Ricardo Y SergiSpain2026-07-17Benton, John B Jr UNQUALIFIED81Onyama Limba
1029Mujtaba T IturbideIndia2026-07-31Truhlar And Truhlar Attys NEGOTIATION23Onyama Limba
1030Isabel K DoeUnited Kingdom2026-07-16Printing Dimensions UNQUALIFIED19Elwin Sharvill
1031Ricardo V PerinIndia2026-08-02Truhlar And Truhlar Attys PROPOSAL48Ioni Bowcher
1032Adams V OstroskyFrance2026-07-18Buckley Miller Wright RENEWAL63Elwin Sharvill
1033Salvatore F RimUnited Kingdom2026-07-31Chapman, Ross E Esq NEW95Ioni Bowcher
1034Jones T GillianBrazil2026-07-30Chemel, James L Cpa RENEWAL73Bernardo Dominic
1035Octavia J NickaCanada2026-08-03Chanay, Jeffrey A Esq QUALIFIED52Ivan Magalhaes
1036Morrow P GlickSpain2026-07-05King, Christopher A Esq PROPOSAL74Xuxue Feng
1037Munro Y WhobreyItaly2026-07-11Truhlar And Truhlar Attys UNQUALIFIED80Onyama Limba
1038Salvatore M InouyeAustralia2026-07-28Dorl, James J Esq RENEWAL71Stephen Shaw
1039Smith S PaprockiRussia2026-07-21Printing Dimensions NEW2Elwin Sharvill
1040Leon W StockhamFrance2026-07-31King, Christopher A Esq NEW97Xuxue Feng
1041Leja X IturbideIndia2026-07-25Rousseaux, Michael Esq PROPOSAL89Stephen Shaw
1042Tony L BriddickArgentina2026-07-26Rangoni Of Florence UNQUALIFIED64Ioni Bowcher
1043Jones G CaudyArgentina2026-07-20Feiner Bros UNQUALIFIED78Ivan Magalhaes
1044Sinclair F WhobreyUnited Kingdom2026-07-30Printing Dimensions UNQUALIFIED17Asiya Javayant
1045Julie F MorascaFrance2026-07-30Dorl, James J Esq QUALIFIED47Xuxue Feng
1046Leon N DilliardGermany2026-07-16Chanay, Jeffrey A Esq QUALIFIED78Anna Fali
1047Claire S FlosiAustralia2026-07-22Rangoni Of Florence UNQUALIFIED24Onyama Limba
1048Aika L KolmetzArgentina2026-07-18Truhlar And Truhlar Attys RENEWAL75Ivan Magalhaes
1049Kadeem V AlbaresJapan2026-07-29Chemel, James L Cpa QUALIFIED6Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mayumi V WieserFranceIvan Magalhaes PROPOSAL
Munro P NestleAustraliaBernardo Dominic NEGOTIATION
Julie O GlickUnited KingdomIvan Magalhaes NEW
Ricardo V RutaIndiaIvan Magalhaes NEW
Stacey C OstroskySpainAmy Elsner UNQUALIFIED
Cody H GauchoSpainElwin Sharvill QUALIFIED
Costa P VenereGermanyAmy Elsner UNQUALIFIED
Juan B BowleyJapanElwin Sharvill QUALIFIED
Deepesh D KolmetzArgentinaIvan Magalhaes NEGOTIATION
Maria E MaletSpainBernardo Dominic NEW
Costa A InouyeJapanAnna Fali RENEWAL
Murillo L GlickCanadaAmy Elsner RENEWAL
Octavia E RutaUnited KingdomAnna Fali RENEWAL
Tony C SaylorsSpainIoni Bowcher UNQUALIFIED
Aditya D MaletAustraliaBernardo Dominic NEGOTIATION
Wickens K PoquetteJapanAmy Elsner NEW
Kaitlin F FlosiItalyXuxue Feng NEW
Darci G VenereIndiaElwin Sharvill PROPOSAL
Cody L MaletUnited KingdomOnyama Limba NEW
Leja C WaycottBrazilOnyama Limba NEW
Morrow T CaldareraCanadaElwin Sharvill PROPOSAL
Jennifer H NestleGermanyXuxue Feng RENEWAL
Mujtaba J CaudySpainAnna Fali RENEWAL
Costa Q ShinkoRussiaElwin Sharvill RENEWAL
Silvio S RutaJapanAmy Elsner QUALIFIED
Antonio N MacleadGermanyBernardo Dominic RENEWAL
Murillo N BowleyFranceBernardo Dominic UNQUALIFIED
Munro M NestleRussiaIoni Bowcher RENEWAL
Jeanfrancois L GillianArgentinaStephen Shaw RENEWAL
Leja S KolmetzSpainStephen Shaw NEW
Arvin M NestleSpainAmy Elsner RENEWAL
Ricardo R DilliardGermanyAnna Fali NEGOTIATION
Aika K PerinArgentinaAnna Fali RENEWAL
Tony U RimSpainIoni Bowcher UNQUALIFIED
James E FerenczItalyAsiya Javayant NEW
Chavez S BowleyArgentinaStephen Shaw NEGOTIATION
Silvio S SergiFranceElwin Sharvill RENEWAL
Greenwood L RoysterRussiaAnna Fali QUALIFIED
Ivar X InouyeBrazilIvan Magalhaes UNQUALIFIED
Tony E ChuiItalyOnyama Limba NEGOTIATION
Ivar A FollerArgentinaStephen Shaw NEW
Morrow J MorascaSpainStephen Shaw QUALIFIED
Chavez E FerenczFranceStephen Shaw RENEWAL
Smith F DilliardBrazilXuxue Feng RENEWAL
Claire B GlickBrazilAnna Fali UNQUALIFIED
Kadeem W ButtRussiaAnna Fali NEGOTIATION
Greenwood Y MacleadUnited KingdomElwin Sharvill NEW
Misaki D RimJapanStephen Shaw PROPOSAL
Jefferson K FlosiAustraliaAnna Fali RENEWAL
Maisha T ChuiRussiaBernardo Dominic RENEWAL
Frozen Columns
Name
Aditya D Gillian
Aditya Q Gillian
Mayumi J Foller
Mujtaba V Slusarski
Francesco V Kusko
Isabel X Flosi
Izzy A Saylors
Silvio J Kolmetz
James B Darakjy
Jones U Dilliard
Greenwood S Doe
Ivar Z Sergi
Jeanfrancois L Royster
Misaki B Morasca
Morrow I Gillian
Adams H Bolognia
Izzy E Stenseth
Claire N Oldroyd
Silvio B Glick
Emily P Royster
Adams G Flosi
Cody R Sergi
Ivar I Rulapaugh
Adams W Slusarski
Ivar E Caudy
Kadeem Q Waycott
Leja N Albares
Costa D Briddick
David Q Nicka
Rodrigues I Rim
Deepesh Q Royster
Salvatore G Gaucho
Leon W Perin
Juan O Chui
Juan Q Waycott
Alejandro W Doe
Salvatore V Kusko
Clifford S Malet
Stacey R Flosi
Aditya P Poquette
Johnson A Rim
Munro J Schemmer
Greenwood K Bolognia
Isabel A Shinko
Munro Y Nestle
Juan C Stenseth
Julie V Albares
Antonio O Nicka
Leja Y Rim
Julie V Malet
IdCountryDate
1000Argentina2026-07-19
1001Germany2026-07-10
1002Japan2026-07-14
1003Germany2026-07-06
1004France2026-07-17
1005Italy2026-07-10
1006Australia2026-07-27
1007Russia2026-07-26
1008Brazil2026-07-19
1009Australia2026-07-10
1010Canada2026-07-26
1011Brazil2026-07-30
1012Australia2026-07-16
1013Italy2026-07-10
1014Italy2026-07-24
1015France2026-07-29
1016Australia2026-07-26
1017Italy2026-07-31
1018Argentina2026-07-28
1019Argentina2026-08-01
1020Canada2026-07-09
1021Canada2026-07-17
1022United Kingdom2026-07-10
1023Brazil2026-07-20
1024Canada2026-07-31
1025Germany2026-07-26
1026United Kingdom2026-07-30
1027Italy2026-07-08
1028France2026-07-15
1029United Kingdom2026-07-21
1030France2026-07-26
1031Italy2026-07-11
1032India2026-07-19
1033Russia2026-07-21
1034Italy2026-07-17
1035Argentina2026-08-01
1036Brazil2026-07-18
1037United Kingdom2026-07-27
1038Germany2026-07-16
1039Japan2026-07-22
1040Canada2026-07-05
1041Russia2026-07-10
1042Argentina2026-07-17
1043Germany2026-07-21
1044France2026-07-05
1045Brazil2026-07-20
1046Spain2026-07-13
1047Brazil2026-08-01
1048United Kingdom2026-07-16
1049Italy2026-07-20

On-Demand Data

NameIdCountryDate
Faith W Gillian1000Australia2026-07-07
Rodrigues W Flosi1001Russia2026-07-15
Mujtaba A Ferencz1002Australia2026-07-27
Maria E Butt1003Russia2026-07-22
Faith A Whobrey1004Australia2026-07-09
Francesco K Bolognia1005Australia2026-07-06
Alejandro H Malet1006United Kingdom2026-07-15
Darci N Gillian1007Japan2026-07-22
Leon G Doe1008Russia2026-08-03
Ricardo C Nestle1009Brazil2026-07-14
Rodrigues N Slusarski1010Canada2026-07-13
Wickens X Morasca1011Australia2026-07-30
Julie L Figeroa1012Japan2026-07-29
Jennifer C Caldarera1013Brazil2026-08-03
Leja D Kolmetz1014Italy2026-07-08
Mujtaba S Campain1015France2026-07-18
Tony X Kolmetz1016Canada2026-07-06
Leon A Darakjy1017Australia2026-07-11
Ivar T Perin1018Russia2026-07-09
Salvatore X Schemmer1019Russia2026-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith Y CaudyJapanOnyama Limba NEGOTIATION
Julie I StockhamArgentinaIoni Bowcher NEW
Cody J AlbaresRussiaStephen Shaw NEGOTIATION
Maisha H MarrierCanadaAnna Fali NEW
Smith P InouyeRussiaIoni Bowcher QUALIFIED
Chavez L SergiGermanyIoni Bowcher RENEWAL
Darci T KuskoIndiaIvan Magalhaes PROPOSAL
Izzy L GillianArgentinaOnyama Limba PROPOSAL
Octavia H StockhamArgentinaAsiya Javayant NEGOTIATION
Julie F ButtRussiaElwin Sharvill UNQUALIFIED
David B SchemmerGermanyOnyama Limba RENEWAL
Jennifer V OldroydRussiaIvan Magalhaes QUALIFIED
Greenwood J FollerArgentinaStephen Shaw NEGOTIATION
Maisha J NestleFranceAsiya Javayant QUALIFIED
Mujtaba Z FollerSpainStephen Shaw UNQUALIFIED
Julie I FerenczIndiaBernardo Dominic NEGOTIATION
Arvin S RutaSpainIvan Magalhaes QUALIFIED
Aditya C DoeIndiaOnyama Limba NEGOTIATION
Antonio M SchemmerSpainIvan Magalhaes NEGOTIATION
Maria J SaylorsFranceXuxue Feng NEGOTIATION
Maria P StensethRussiaAmy Elsner NEGOTIATION
Julie L MaletArgentinaIoni Bowcher NEW
Mayumi D KolmetzGermanyAnna Fali PROPOSAL
James P RulapaughAustraliaStephen Shaw NEGOTIATION
Alejandro K StockhamFranceAsiya Javayant QUALIFIED
Chavez Q FerenczUnited KingdomStephen Shaw NEW
Jennifer Z ButtIndiaStephen Shaw NEW
Costa F OldroydItalyOnyama Limba UNQUALIFIED
Jeanfrancois V BriddickSpainOnyama Limba NEGOTIATION
Deepesh Y ChuiIndiaAsiya Javayant NEW
Arvin Y OstroskyItalyIoni Bowcher QUALIFIED
Jefferson R SchemmerUnited KingdomIoni Bowcher PROPOSAL
Mujtaba W RulapaughAustraliaBernardo Dominic QUALIFIED
Leja S PerinArgentinaAmy Elsner RENEWAL
Jefferson P PoquetteIndiaXuxue Feng PROPOSAL
Mayumi B KolmetzRussiaElwin Sharvill RENEWAL
Mayumi D MarrierCanadaAnna Fali PROPOSAL
Maria Q RoysterCanadaAnna Fali UNQUALIFIED
Jefferson Q CampainJapanIoni Bowcher RENEWAL
Wickens D FerenczSpainIoni Bowcher QUALIFIED

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