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
Ashley Q WaycottItalyIvan Magalhaes NEGOTIATION
Munro D PerinCanadaXuxue Feng QUALIFIED
Smith Z RoysterUnited KingdomAsiya Javayant NEGOTIATION
Jefferson J FlosiUnited KingdomIoni Bowcher NEGOTIATION
Deepesh H SaylorsFranceOnyama Limba UNQUALIFIED
Juan T GauchoRussiaIvan Magalhaes NEW
Mujtaba N PoquetteJapanAsiya Javayant PROPOSAL
Ashley O PoquetteJapanIvan Magalhaes QUALIFIED
David Q KuskoGermanyIoni Bowcher RENEWAL
Wickens K ShinkoItalyOnyama Limba UNQUALIFIED
Murillo N KuskoRussiaIoni Bowcher UNQUALIFIED
Silvio Q FerenczItalyAnna Fali NEGOTIATION
Darci M GarufiCanadaIoni Bowcher PROPOSAL
Stacey M OstroskyFranceOnyama Limba UNQUALIFIED
Morrow Y WieserJapanElwin Sharvill NEGOTIATION
Adams T AlbaresRussiaXuxue Feng QUALIFIED
Munro V PaprockiAustraliaIoni Bowcher QUALIFIED
Murillo K NickaCanadaAsiya Javayant UNQUALIFIED
Munro R RimGermanyIoni Bowcher NEW
Cody B ChuiIndiaElwin Sharvill RENEWAL
Misaki L VenereJapanAmy Elsner UNQUALIFIED
James C InouyeAustraliaElwin Sharvill QUALIFIED
Francesco C TollnerFranceXuxue Feng UNQUALIFIED
Ivar J BologniaFranceAnna Fali QUALIFIED
Faith Q VenereAustraliaAnna Fali PROPOSAL
Kadeem R OstroskyFranceXuxue Feng NEW
Jennifer I BriddickIndiaBernardo Dominic QUALIFIED
Antonio N DarakjyFranceAmy Elsner UNQUALIFIED
Nicolas V ShinkoAustraliaStephen Shaw RENEWAL
Ivar C AlbaresAustraliaOnyama Limba UNQUALIFIED
Silvio M FlosiJapanStephen Shaw NEGOTIATION
Jeanfrancois O SergiJapanAsiya Javayant NEW
Nicolas U VocelkaSpainStephen Shaw NEW
Julie F NickaCanadaElwin Sharvill RENEWAL
Izzy I BowleyRussiaStephen Shaw UNQUALIFIED
Stacey S TollnerBrazilStephen Shaw PROPOSAL
Octavia N DoeSpainIoni Bowcher NEW
Jennifer O RutaJapanAsiya Javayant UNQUALIFIED
Arvin U PoquetteJapanIvan Magalhaes PROPOSAL
Ashley F MaletIndiaOnyama Limba UNQUALIFIED
Morrow N VenereAustraliaAnna Fali RENEWAL
Ivar D BologniaFranceXuxue Feng UNQUALIFIED
Aika J FollerItalyAnna Fali NEW
Jefferson M OldroydRussiaAnna Fali PROPOSAL
Izzy L RimBrazilXuxue Feng PROPOSAL
Wickens X MaletFranceElwin Sharvill QUALIFIED
Antonio U BowleyFranceIvan Magalhaes NEGOTIATION
Deepesh H BowleyItalyAsiya Javayant NEGOTIATION
Leon F MacleadRussiaOnyama Limba PROPOSAL
Costa S StockhamAustraliaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
David N MaletIndiaXuxue Feng RENEWAL
Jefferson N MaletCanadaIoni Bowcher RENEWAL
Octavia P SaylorsArgentinaBernardo Dominic RENEWAL
Kaitlin U KuskoItalyAsiya Javayant QUALIFIED
Isabel R BriddickItalyAnna Fali RENEWAL
Francesco C WhobreyCanadaBernardo Dominic NEW
Kadeem L BowleyCanadaOnyama Limba NEGOTIATION
Isabel I WhobreyBrazilBernardo Dominic QUALIFIED
Octavia O DarakjyAustraliaElwin Sharvill UNQUALIFIED
Aika Z NickaCanadaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams B FlosiAustralia2026-07-30Benton, John B Jr UNQUALIFIED38Ioni Bowcher
1001Johnson L FigeroaArgentina2026-08-03Benton, John B Jr QUALIFIED68Asiya Javayant
1002Smith U StockhamSpain2026-07-20Buckley Miller Wright RENEWAL92Ivan Magalhaes
1003Silvio G SaylorsUnited Kingdom2026-07-23Rousseaux, Michael Esq UNQUALIFIED54Amy Elsner
1004Cody P PaprockiIndia2026-07-21King, Christopher A Esq QUALIFIED48Elwin Sharvill
1005Antonio F RulapaughItaly2026-07-24Benton, John B Jr NEGOTIATION42Ivan Magalhaes
1006Salvatore W FollerArgentina2026-07-13Rousseaux, Michael Esq NEGOTIATION13Elwin Sharvill
1007Isabel C BriddickCanada2026-08-01Printing Dimensions PROPOSAL62Ioni Bowcher
1008Smith Z MaletBrazil2026-08-02Feltz Printing Service NEW68Ivan Magalhaes
1009Kadeem O FigeroaGermany2026-08-04Rousseaux, Michael Esq NEW0Stephen Shaw
1010Kadeem W PerinUnited Kingdom2026-08-05Chanay, Jeffrey A Esq RENEWAL70Elwin Sharvill
1011Chavez F OldroydSpain2026-07-22Buckley Miller Wright UNQUALIFIED23Anna Fali
1012Nicolas H DoeFrance2026-07-24Benton, John B Jr UNQUALIFIED41Stephen Shaw
1013Rodrigues F RutaRussia2026-07-23Feltz Printing Service RENEWAL33Amy Elsner
1014Rodrigues D NestleItaly2026-07-15Chanay, Jeffrey A Esq UNQUALIFIED42Amy Elsner
1015Munro S FlosiFrance2026-08-07Chapman, Ross E Esq UNQUALIFIED2Elwin Sharvill
1016Isabel I IturbideArgentina2026-07-12Chemel, James L Cpa NEGOTIATION67Elwin Sharvill
1017Maisha V CaudyFrance2026-07-25Buckley Miller Wright RENEWAL30Elwin Sharvill
1018Francesco S CaldareraItaly2026-08-06Feltz Printing Service QUALIFIED7Asiya Javayant
1019Nicolas X SaylorsFrance2026-07-28Chemel, James L Cpa UNQUALIFIED61Xuxue Feng
1020Jones V ShinkoUnited Kingdom2026-07-29Rousseaux, Michael Esq NEGOTIATION95Ivan Magalhaes
1021Salvatore P VenereIndia2026-08-06Feiner Bros PROPOSAL15Ivan Magalhaes
1022Claire H GillianJapan2026-08-08Benton, John B Jr QUALIFIED20Anna Fali
1023Stacey A RulapaughBrazil2026-07-14Chemel, James L Cpa NEW68Onyama Limba
1024Silvio K BriddickIndia2026-08-04Chemel, James L Cpa UNQUALIFIED12Ioni Bowcher
1025Faith I WhobreyRussia2026-07-12Truhlar And Truhlar Attys QUALIFIED74Stephen Shaw
1026Cody U RutaJapan2026-07-26Feiner Bros QUALIFIED50Bernardo Dominic
1027Nicolas J FlosiFrance2026-07-23Dorl, James J Esq NEW38Xuxue Feng
1028Stacey M PerinIndia2026-07-24Feiner Bros RENEWAL38Asiya Javayant
1029Misaki L NickaJapan2026-08-06Rangoni Of Florence PROPOSAL84Xuxue Feng
1030Salvatore T BologniaGermany2026-08-03Feltz Printing Service PROPOSAL17Amy Elsner
1031James T PoquetteJapan2026-08-08Feltz Printing Service PROPOSAL67Bernardo Dominic
1032Julie H NestleBrazil2026-07-20Dorl, James J Esq NEGOTIATION64Elwin Sharvill
1033Aika A SaylorsGermany2026-07-11Morlong Associates QUALIFIED63Anna Fali
1034Deepesh N WhobreyArgentina2026-08-06Morlong Associates PROPOSAL72Elwin Sharvill
1035Ricardo C RoysterGermany2026-07-28Feltz Printing Service QUALIFIED63Onyama Limba
1036Stacey D ButtBrazil2026-07-26Rousseaux, Michael Esq NEGOTIATION56Onyama Limba
1037Sinclair R MacleadArgentina2026-07-15Feiner Bros NEW79Anna Fali
1038Kaitlin I WieserJapan2026-07-10Feltz Printing Service RENEWAL91Xuxue Feng
1039Jeanfrancois D ButtIndia2026-07-12Benton, John B Jr RENEWAL1Ivan Magalhaes
1040Tony S SaylorsFrance2026-07-16Printing Dimensions QUALIFIED48Xuxue Feng
1041Mujtaba W VenereItaly2026-07-27Commercial Press RENEWAL15Xuxue Feng
1042Tony N BowleyRussia2026-07-11King, Christopher A Esq NEGOTIATION18Amy Elsner
1043Maria I RoysterArgentina2026-07-17Chapman, Ross E Esq NEGOTIATION33Ioni Bowcher
1044Jefferson Q VenereFrance2026-07-31Buckley Miller Wright NEGOTIATION9Onyama Limba
1045Darci C TollnerBrazil2026-08-02Buckley Miller Wright UNQUALIFIED93Anna Fali
1046Cody V CaudyUnited Kingdom2026-08-03Buckley Miller Wright RENEWAL63Asiya Javayant
1047Nicolas F PaprockiRussia2026-08-01Rousseaux, Michael Esq PROPOSAL24Bernardo Dominic
1048David G GillianSpain2026-08-06Morlong Associates PROPOSAL68Ivan Magalhaes
1049Chavez H IturbideJapan2026-07-16Truhlar And Truhlar Attys PROPOSAL41Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Nicolas X AmigonBrazilAmy Elsner NEGOTIATION
James P FlosiAustraliaAnna Fali RENEWAL
Munro J VenereUnited KingdomIoni Bowcher NEGOTIATION
Mayumi D IturbideCanadaAnna Fali PROPOSAL
Stacey J RimIndiaAnna Fali QUALIFIED
Octavia H AlbaresRussiaIoni Bowcher PROPOSAL
Adams K CampainRussiaIoni Bowcher PROPOSAL
Salvatore Z WaycottIndiaAsiya Javayant PROPOSAL
David T FigeroaCanadaStephen Shaw PROPOSAL
Isabel H NestleGermanyIvan Magalhaes NEGOTIATION
Ashley S SaylorsIndiaBernardo Dominic RENEWAL
Izzy F FigeroaItalyXuxue Feng NEGOTIATION
Jeanfrancois L StensethCanadaXuxue Feng NEW
Maria D GlickRussiaIvan Magalhaes RENEWAL
Rodrigues X InouyeRussiaXuxue Feng UNQUALIFIED
Deepesh P AlbaresCanadaOnyama Limba UNQUALIFIED
Emily G KuskoFranceAsiya Javayant UNQUALIFIED
Stacey W BriddickBrazilXuxue Feng RENEWAL
Leja F AmigonSpainBernardo Dominic QUALIFIED
Nicolas X KuskoSpainIvan Magalhaes RENEWAL
Cody G MaletJapanIvan Magalhaes UNQUALIFIED
Wickens Z NestleRussiaAsiya Javayant QUALIFIED
Faith Y SaylorsSpainAnna Fali PROPOSAL
Darci C CaudyAustraliaBernardo Dominic QUALIFIED
Cody N RulapaughUnited KingdomXuxue Feng PROPOSAL
David A CaldareraArgentinaStephen Shaw RENEWAL
Johnson R DoeItalyXuxue Feng UNQUALIFIED
Munro Z GlickIndiaIoni Bowcher PROPOSAL
Kadeem H TollnerCanadaAnna Fali PROPOSAL
Alejandro E RutaUnited KingdomXuxue Feng UNQUALIFIED
Morrow K MaletArgentinaIvan Magalhaes RENEWAL
Costa U WieserBrazilElwin Sharvill NEW
Chavez Y GarufiJapanOnyama Limba QUALIFIED
Arvin Y WhobreyFranceBernardo Dominic RENEWAL
Isabel I MaletBrazilBernardo Dominic NEGOTIATION
Misaki D KuskoItalyAsiya Javayant NEGOTIATION
Claire G TollnerIndiaElwin Sharvill RENEWAL
Johnson Y BowleyRussiaIoni Bowcher PROPOSAL
Antonio K OldroydUnited KingdomStephen Shaw RENEWAL
Arvin K SergiArgentinaXuxue Feng QUALIFIED
Smith T RimItalyIvan Magalhaes PROPOSAL
Maisha F BriddickGermanyBernardo Dominic NEGOTIATION
James N MaletItalyAsiya Javayant RENEWAL
Francesco G NestleCanadaElwin Sharvill PROPOSAL
Octavia T MarrierBrazilIoni Bowcher UNQUALIFIED
Aika W VocelkaSpainAmy Elsner PROPOSAL
Maria R WaycottBrazilBernardo Dominic PROPOSAL
Mujtaba M PaprockiJapanIvan Magalhaes UNQUALIFIED
Nicolas D CaldareraFranceIoni Bowcher NEW
Claire V WieserCanadaStephen Shaw NEGOTIATION
Frozen Columns
Name
Munro V Foller
Claire K Foller
Jefferson H Briddick
Rodrigues I Dilliard
Chavez D Foller
Misaki T Stenseth
Cody M Ruta
Smith V Bowley
Leon V Garufi
Aditya F Gillian
Maria U Slusarski
Johnson O Gaucho
Leja P Venere
Faith J Saylors
Jones M Doe
Smith G Schemmer
Wickens E Paprocki
Greenwood F Gillian
Julie N Royster
Tony Y Gaucho
Francesco L Schemmer
Mujtaba Q Vocelka
Ashley U Wieser
Darci C Paprocki
Jeanfrancois O Wieser
Wickens K Wieser
Maria K Ruta
Murillo M Inouye
Morrow S Inouye
Greenwood P Darakjy
Mayumi N Nicka
Nicolas M Stenseth
Mujtaba O Tollner
Octavia Z Waycott
Jefferson I Kolmetz
Leon W Tollner
Jeanfrancois U Whobrey
Jones E Albares
Darci R Doe
Tony V Doe
Aruna Z Kolmetz
David L Royster
Cody N Figeroa
Darci Q Stenseth
Wickens N Iturbide
Cody D Ruta
Wickens Q Nicka
Ashley L Poquette
Deepesh O Chui
Antonio I Rulapaugh
IdCountryDate
1000Canada2026-07-21
1001Japan2026-07-20
1002Russia2026-08-05
1003Russia2026-08-05
1004Germany2026-08-02
1005Italy2026-07-19
1006India2026-07-26
1007France2026-07-12
1008Germany2026-08-02
1009Japan2026-07-16
1010France2026-07-27
1011Canada2026-07-18
1012Germany2026-08-08
1013Argentina2026-08-04
1014Australia2026-08-08
1015Germany2026-08-02
1016India2026-08-03
1017Russia2026-07-20
1018Germany2026-07-25
1019Japan2026-07-25
1020Brazil2026-07-18
1021France2026-08-07
1022Argentina2026-07-20
1023Germany2026-07-26
1024Australia2026-07-23
1025India2026-07-17
1026Spain2026-08-08
1027India2026-08-03
1028Germany2026-07-22
1029France2026-07-30
1030Brazil2026-07-24
1031Argentina2026-07-10
1032Argentina2026-08-07
1033Japan2026-07-26
1034Italy2026-07-18
1035Spain2026-07-10
1036India2026-07-11
1037Brazil2026-07-16
1038Japan2026-08-07
1039Argentina2026-07-24
1040Canada2026-07-30
1041Spain2026-07-23
1042India2026-07-18
1043Spain2026-07-15
1044Russia2026-08-07
1045Australia2026-07-28
1046India2026-07-11
1047Germany2026-07-16
1048Australia2026-07-21
1049United Kingdom2026-07-20

On-Demand Data

NameIdCountryDate
Munro E Poquette1000Italy2026-07-20
Ivar E Sergi1001Spain2026-07-15
Adams U Dilliard1002Canada2026-07-20
Kaitlin B Marrier1003United Kingdom2026-07-12
James O Stenseth1004Italy2026-08-07
Maisha R Morasca1005Italy2026-07-26
Claire V Kusko1006Spain2026-07-15
Cody F Darakjy1007France2026-07-10
Leon O Malet1008Russia2026-08-04
Adams C Sergi1009France2026-07-20
Francesco V Maclead1010Spain2026-08-03
Mayumi F Caudy1011Italy2026-07-13
Aika A Bowley1012United Kingdom2026-08-01
Cody M Poquette1013India2026-07-25
Aika P Caldarera1014Japan2026-07-16
Greenwood U Dilliard1015Brazil2026-07-22
Deepesh G Stenseth1016France2026-07-14
Claire B Shinko1017France2026-07-28
Deepesh P Ferencz1018Argentina2026-08-02
Jennifer R Poquette1019Spain2026-08-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones Y SlusarskiArgentinaIoni Bowcher QUALIFIED
Julie E ShinkoFranceElwin Sharvill PROPOSAL
Sinclair Q RimCanadaAnna Fali NEW
Deepesh Y MacleadArgentinaAmy Elsner RENEWAL
Salvatore G WieserUnited KingdomStephen Shaw PROPOSAL
Sinclair V GarufiArgentinaStephen Shaw PROPOSAL
Morrow C VocelkaFranceElwin Sharvill UNQUALIFIED
Stacey Z MaletSpainAnna Fali RENEWAL
Deepesh B BriddickBrazilAmy Elsner NEGOTIATION
Maisha Q BowleyJapanXuxue Feng NEGOTIATION
Ashley U ChuiGermanyStephen Shaw QUALIFIED
Aruna R SchemmerJapanIoni Bowcher QUALIFIED
Maisha S NestleAustraliaIvan Magalhaes NEW
Francesco Y GauchoRussiaBernardo Dominic UNQUALIFIED
James U BriddickCanadaAmy Elsner PROPOSAL
Rodrigues P StockhamArgentinaOnyama Limba QUALIFIED
Faith G CaldareraCanadaAnna Fali PROPOSAL
Faith K MorascaSpainAnna Fali QUALIFIED
Aruna V ChuiArgentinaElwin Sharvill PROPOSAL
Aruna J GauchoBrazilOnyama Limba PROPOSAL
Tony P ChuiSpainStephen Shaw NEGOTIATION
Arvin V CaldareraJapanBernardo Dominic NEW
Izzy J WhobreyIndiaAmy Elsner PROPOSAL
Munro D CaldareraIndiaAsiya Javayant UNQUALIFIED
Alejandro J NestleRussiaXuxue Feng NEGOTIATION
Ricardo I DoeArgentinaXuxue Feng QUALIFIED
Juan X RoysterGermanyOnyama Limba NEW
Octavia D StensethIndiaElwin Sharvill NEW
Johnson Q FlosiSpainAnna Fali PROPOSAL
Juan I SchemmerCanadaXuxue Feng NEGOTIATION
Ashley G BriddickIndiaXuxue Feng QUALIFIED
Alejandro R WaycottAustraliaXuxue Feng UNQUALIFIED
Francesco A MaletJapanElwin Sharvill NEW
Claire S AmigonRussiaBernardo Dominic QUALIFIED
Adams S RulapaughBrazilElwin Sharvill NEW
Leon H BologniaGermanyOnyama Limba PROPOSAL
Kadeem V GarufiBrazilIvan Magalhaes RENEWAL
Salvatore B PaprockiRussiaAnna Fali QUALIFIED
Darci H FlosiItalyElwin Sharvill RENEWAL
Rodrigues Z DarakjyFranceIoni Bowcher NEW

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