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
Aruna A DoeRussiaStephen Shaw PROPOSAL
Julie A KolmetzJapanOnyama Limba NEGOTIATION
Mayumi P InouyeUnited KingdomElwin Sharvill NEGOTIATION
Chavez D PerinFranceStephen Shaw QUALIFIED
Maria E GlickGermanyBernardo Dominic UNQUALIFIED
Leon G WieserRussiaAmy Elsner PROPOSAL
Jones Z VocelkaRussiaIvan Magalhaes NEGOTIATION
Silvio Y GauchoArgentinaAnna Fali UNQUALIFIED
Salvatore X VenereArgentinaStephen Shaw NEGOTIATION
Leja Q MarrierItalyIoni Bowcher UNQUALIFIED
Claire O GarufiUnited KingdomStephen Shaw NEW
Antonio W MaletAustraliaStephen Shaw RENEWAL
Deepesh H ButtGermanyStephen Shaw RENEWAL
Kadeem O FerenczArgentinaOnyama Limba QUALIFIED
Maria B GarufiUnited KingdomBernardo Dominic PROPOSAL
Wickens I CaldareraGermanyOnyama Limba NEGOTIATION
Aika K WieserGermanyAnna Fali NEW
Aruna H RutaItalyElwin Sharvill NEW
Murillo Y AmigonAustraliaStephen Shaw NEW
Deepesh Z NickaJapanIvan Magalhaes QUALIFIED
Deepesh Y IturbideFranceXuxue Feng QUALIFIED
Costa G CaldareraArgentinaIoni Bowcher NEGOTIATION
Jennifer N PoquetteArgentinaStephen Shaw RENEWAL
Wickens S OldroydSpainStephen Shaw NEGOTIATION
Julie K ButtItalyBernardo Dominic NEGOTIATION
Aruna Q RimArgentinaXuxue Feng QUALIFIED
Darci B NickaJapanIoni Bowcher UNQUALIFIED
Misaki B PerinRussiaIvan Magalhaes NEW
Aika C PoquetteCanadaIvan Magalhaes QUALIFIED
Sinclair P AmigonGermanyOnyama Limba UNQUALIFIED
David D BologniaArgentinaStephen Shaw UNQUALIFIED
Jones W FollerUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin K RulapaughJapanOnyama Limba PROPOSAL
Faith O GauchoFranceStephen Shaw NEW
Julie S GarufiJapanXuxue Feng PROPOSAL
Ashley E DarakjyIndiaAnna Fali UNQUALIFIED
Jefferson H BowleyAustraliaElwin Sharvill RENEWAL
Francesco P DilliardSpainOnyama Limba QUALIFIED
James I SaylorsIndiaAsiya Javayant NEW
Antonio J CampainFranceAmy Elsner PROPOSAL
Leon J MaletJapanStephen Shaw UNQUALIFIED
David K RulapaughCanadaOnyama Limba UNQUALIFIED
Leon Z BriddickFranceOnyama Limba NEGOTIATION
Cody D PoquetteCanadaIoni Bowcher NEW
Morrow R ButtJapanIvan Magalhaes PROPOSAL
Faith N DilliardBrazilIoni Bowcher NEW
Juan D OldroydArgentinaXuxue Feng QUALIFIED
Adams V OstroskyJapanBernardo Dominic NEGOTIATION
Misaki E MacleadArgentinaAmy Elsner NEGOTIATION
Jones M NestleItalyAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Smith Q StensethArgentinaElwin Sharvill PROPOSAL
Kaitlin W DoeIndiaAsiya Javayant QUALIFIED
Jeanfrancois J NestleBrazilStephen Shaw PROPOSAL
Murillo R SaylorsIndiaAnna Fali NEGOTIATION
Jones R FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo G PerinSpainBernardo Dominic UNQUALIFIED
Tony F TollnerRussiaAsiya Javayant UNQUALIFIED
Maria G GillianAustraliaAmy Elsner UNQUALIFIED
Munro T FigeroaSpainIoni Bowcher UNQUALIFIED
Chavez U AlbaresCanadaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi Z DilliardAustralia2024-05-04Truhlar And Truhlar Attys NEGOTIATION26Asiya Javayant
1001Antonio P RulapaughIndia2024-05-25Chemel, James L Cpa PROPOSAL94Bernardo Dominic
1002Francesco S SchemmerArgentina2024-05-20King, Christopher A Esq RENEWAL56Ioni Bowcher
1003Octavia T DilliardItaly2024-05-27King, Christopher A Esq RENEWAL93Xuxue Feng
1004Ricardo I ButtAustralia2024-05-09Morlong Associates UNQUALIFIED93Ivan Magalhaes
1005Maisha Q ChuiBrazil2024-05-15Rousseaux, Michael Esq PROPOSAL28Xuxue Feng
1006Leon S BologniaGermany2024-05-21Feltz Printing Service NEW44Xuxue Feng
1007Clifford F MaletGermany2024-05-06Rousseaux, Michael Esq NEGOTIATION66Asiya Javayant
1008Rodrigues K GlickAustralia2024-05-20Rousseaux, Michael Esq QUALIFIED22Stephen Shaw
1009Octavia V SergiGermany2024-05-18King, Christopher A Esq UNQUALIFIED94Xuxue Feng
1010Jones F CaldareraBrazil2024-05-06Rousseaux, Michael Esq PROPOSAL16Stephen Shaw
1011Jefferson L MorascaFrance2024-05-02Chapman, Ross E Esq RENEWAL78Stephen Shaw
1012Nicolas G RimBrazil2024-05-24Commercial Press PROPOSAL78Onyama Limba
1013Wickens G SergiJapan2024-05-10Printing Dimensions QUALIFIED83Anna Fali
1014Julie B RoysterSpain2024-05-27King, Christopher A Esq NEGOTIATION70Ioni Bowcher
1015Mujtaba G PerinSpain2024-05-01Rangoni Of Florence UNQUALIFIED94Ivan Magalhaes
1016Ivar Z GillianJapan2024-05-14Buckley Miller Wright RENEWAL68Xuxue Feng
1017Kaitlin H VenereItaly2024-05-14Chapman, Ross E Esq UNQUALIFIED99Asiya Javayant
1018Francesco K VenereItaly2024-05-08Commercial Press NEGOTIATION76Asiya Javayant
1019Kadeem L FlosiFrance2024-05-16Rangoni Of Florence NEW1Bernardo Dominic
1020Juan X FollerUnited Kingdom2024-05-21Rousseaux, Michael Esq RENEWAL71Onyama Limba
1021Isabel Y SaylorsItaly2024-05-13Rangoni Of Florence NEW91Anna Fali
1022Misaki N FlosiBrazil2024-05-27Rangoni Of Florence UNQUALIFIED52Asiya Javayant
1023Clifford E BologniaJapan2024-05-06Dorl, James J Esq NEW42Anna Fali
1024Morrow Y FerenczArgentina2024-05-21Chanay, Jeffrey A Esq QUALIFIED56Ioni Bowcher
1025Deepesh C GarufiBrazil2024-05-17Chanay, Jeffrey A Esq NEW59Ioni Bowcher
1026Francesco P RutaItaly2024-05-06Chanay, Jeffrey A Esq RENEWAL15Ioni Bowcher
1027Leon L BologniaArgentina2024-05-06Feiner Bros UNQUALIFIED65Stephen Shaw
1028Claire Y GarufiSpain2024-05-12Feiner Bros UNQUALIFIED60Xuxue Feng
1029Leja P FigeroaRussia2024-04-30Chapman, Ross E Esq UNQUALIFIED47Asiya Javayant
1030Kadeem T PerinAustralia2024-05-06Truhlar And Truhlar Attys NEW70Xuxue Feng
1031Nicolas M MorascaJapan2024-04-30Rangoni Of Florence QUALIFIED51Stephen Shaw
1032James N DilliardRussia2024-05-23Truhlar And Truhlar Attys QUALIFIED59Stephen Shaw
1033Ivar J TollnerBrazil2024-05-13Buckley Miller Wright NEGOTIATION23Stephen Shaw
1034Jones H OldroydSpain2024-05-09Feltz Printing Service NEW56Ioni Bowcher
1035Rodrigues R DoeItaly2024-05-17Commercial Press QUALIFIED58Elwin Sharvill
1036James O BriddickUnited Kingdom2024-05-15Feltz Printing Service RENEWAL73Stephen Shaw
1037Octavia H KolmetzAustralia2024-05-02Commercial Press QUALIFIED50Onyama Limba
1038Claire H NestleBrazil2024-05-09Feiner Bros PROPOSAL76Ioni Bowcher
1039Greenwood V NestleItaly2024-05-18Morlong Associates RENEWAL56Elwin Sharvill
1040Juan O OstroskySpain2024-05-21Buckley Miller Wright PROPOSAL42Xuxue Feng
1041Ricardo M OstroskyRussia2024-05-16Chapman, Ross E Esq NEW54Amy Elsner
1042Juan Q ShinkoFrance2024-05-01Commercial Press QUALIFIED87Stephen Shaw
1043Darci U MaletArgentina2024-05-19Chapman, Ross E Esq NEGOTIATION45Elwin Sharvill
1044Kaitlin K KuskoCanada2024-05-11Truhlar And Truhlar Attys NEGOTIATION10Xuxue Feng
1045Jones J VocelkaIndia2024-05-24Chanay, Jeffrey A Esq RENEWAL79Asiya Javayant
1046David J SergiSpain2024-05-08King, Christopher A Esq NEGOTIATION6Elwin Sharvill
1047Clifford K DoeSpain2024-05-09Feiner Bros NEW56Ioni Bowcher
1048Johnson B CaldareraSpain2024-05-07Benton, John B Jr NEW55Stephen Shaw
1049Jones H SaylorsBrazil2024-05-10King, Christopher A Esq QUALIFIED7Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Octavia Y SergiCanadaXuxue Feng RENEWAL
Kaitlin P AlbaresAustraliaIoni Bowcher PROPOSAL
David S SchemmerCanadaElwin Sharvill NEGOTIATION
Munro P SaylorsGermanyAmy Elsner PROPOSAL
Deepesh H PerinArgentinaBernardo Dominic RENEWAL
Rodrigues E StockhamJapanAnna Fali UNQUALIFIED
Greenwood B SchemmerSpainAmy Elsner NEW
Greenwood E MaletJapanOnyama Limba RENEWAL
Faith M AmigonJapanElwin Sharvill NEGOTIATION
Isabel Y BriddickGermanyStephen Shaw QUALIFIED
Stacey B OstroskyArgentinaStephen Shaw NEGOTIATION
Faith K WhobreyCanadaAmy Elsner NEW
Jones O ButtSpainElwin Sharvill QUALIFIED
Adams V WaycottItalyAsiya Javayant PROPOSAL
Tony Z WhobreyAustraliaAnna Fali UNQUALIFIED
Leon L MacleadCanadaAmy Elsner RENEWAL
Costa M OldroydAustraliaAsiya Javayant NEGOTIATION
Arvin D GillianArgentinaOnyama Limba QUALIFIED
Antonio R MarrierGermanyAmy Elsner NEW
Greenwood E KuskoFranceOnyama Limba NEW
Kaitlin B GauchoAustraliaStephen Shaw QUALIFIED
Clifford J NickaCanadaOnyama Limba NEGOTIATION
Izzy C StockhamBrazilAmy Elsner QUALIFIED
Jennifer H MorascaSpainAnna Fali QUALIFIED
Darci X MorascaSpainAmy Elsner RENEWAL
Claire F FlosiRussiaIoni Bowcher QUALIFIED
Octavia J DarakjyIndiaBernardo Dominic UNQUALIFIED
Munro V DarakjyCanadaIvan Magalhaes NEGOTIATION
Tony H CaldareraJapanOnyama Limba NEGOTIATION
Jefferson N PaprockiIndiaAsiya Javayant PROPOSAL
Juan L CaudyGermanyIvan Magalhaes UNQUALIFIED
Jefferson Q WieserJapanAsiya Javayant NEW
Izzy J GlickUnited KingdomElwin Sharvill QUALIFIED
Chavez R RulapaughIndiaIvan Magalhaes PROPOSAL
Kaitlin T MacleadSpainBernardo Dominic UNQUALIFIED
Ricardo O PerinIndiaAmy Elsner UNQUALIFIED
Jeanfrancois S CaudyArgentinaIoni Bowcher PROPOSAL
Maria E BowleyAustraliaAmy Elsner NEGOTIATION
Claire C CaudyGermanyXuxue Feng NEGOTIATION
Tony A DarakjyBrazilAmy Elsner NEW
Greenwood O FollerAustraliaElwin Sharvill NEW
Greenwood Q SaylorsRussiaIvan Magalhaes QUALIFIED
Salvatore S WhobreyGermanyIvan Magalhaes PROPOSAL
Salvatore F SlusarskiSpainStephen Shaw NEW
Salvatore B BowleyAustraliaAsiya Javayant NEW
Faith P NickaIndiaElwin Sharvill UNQUALIFIED
Mayumi C WaycottGermanyXuxue Feng QUALIFIED
Francesco N DarakjyRussiaAnna Fali NEW
Ivar R GillianBrazilElwin Sharvill UNQUALIFIED
Arvin A AmigonBrazilElwin Sharvill RENEWAL
Frozen Columns
Name
Izzy U Kolmetz
Arvin B Malet
Claire R Malet
Aditya J Ferencz
Deepesh A Marrier
Aika U Wieser
Antonio G Marrier
Sinclair P Iturbide
Smith N Gillian
Aruna N Ostrosky
Octavia U Figeroa
Stacey X Venere
Jennifer Z Perin
Alejandro A Iturbide
Deepesh I Sergi
Jennifer E Flosi
Jefferson K Flosi
Faith G Chui
Greenwood M Bolognia
Sinclair J Darakjy
Alejandro A Vocelka
Ricardo I Amigon
Murillo J Figeroa
Ivar Y Figeroa
Kaitlin K Caldarera
Darci I Poquette
Morrow S Bolognia
Silvio S Malet
Aika L Figeroa
Ricardo D Bowley
Jeanfrancois N Dilliard
Julie L Bolognia
Wickens T Marrier
Stacey K Venere
Alejandro E Marrier
Jennifer D Glick
Wickens L Dilliard
Tony T Ruta
Misaki G Chui
Stacey F Tollner
Faith W Butt
David Y Venere
Smith S Venere
Maisha R Paprocki
Jeanfrancois H Maclead
Maria J Gillian
Adams E Amigon
Morrow A Vocelka
Kadeem S Stenseth
Murillo V Doe
IdCountryDate
1000Spain2024-05-17
1001Japan2024-05-16
1002Japan2024-05-25
1003Brazil2024-05-12
1004Argentina2024-05-06
1005France2024-05-15
1006Russia2024-05-02
1007Spain2024-04-30
1008Spain2024-05-13
1009United Kingdom2024-05-26
1010India2024-05-23
1011Australia2024-05-01
1012Germany2024-04-29
1013Spain2024-05-21
1014Argentina2024-05-26
1015India2024-05-16
1016Germany2024-05-13
1017Argentina2024-05-23
1018United Kingdom2024-05-04
1019Australia2024-05-13
1020India2024-04-28
1021Brazil2024-05-27
1022Russia2024-05-09
1023Japan2024-05-05
1024United Kingdom2024-04-29
1025Germany2024-05-20
1026Canada2024-05-11
1027Germany2024-05-13
1028Germany2024-05-19
1029Germany2024-04-28
1030Russia2024-05-15
1031Germany2024-05-08
1032Spain2024-05-11
1033France2024-04-30
1034Canada2024-05-18
1035Spain2024-05-16
1036Canada2024-05-11
1037France2024-05-01
1038Argentina2024-04-30
1039France2024-05-19
1040Spain2024-05-21
1041Australia2024-04-29
1042France2024-04-28
1043Canada2024-05-17
1044France2024-05-25
1045Brazil2024-05-14
1046Australia2024-05-06
1047India2024-05-09
1048Argentina2024-05-26
1049Brazil2024-05-06

On-Demand Data

NameIdCountryDate
Isabel K Schemmer1000Australia2024-05-18
Darci Q Malet1001Canada2024-05-05
Kadeem L Stenseth1002Australia2024-05-01
Munro W Briddick1003Australia2024-05-20
Tony U Saylors1004France2024-05-15
Misaki A Butt1005Canada2024-05-09
Munro G Doe1006Germany2024-05-20
Aditya F Dilliard1007Japan2024-05-06
Kaitlin W Venere1008Russia2024-05-25
Octavia Q Stockham1009Spain2024-04-30
Jeanfrancois P Butt1010Spain2024-05-10
Juan D Royster1011Germany2024-04-30
Isabel X Schemmer1012France2024-05-11
Claire H Oldroyd1013India2024-05-01
Ricardo U Saylors1014Argentina2024-05-24
Adams V Chui1015Germany2024-05-01
James L Schemmer1016Germany2024-04-28
Murillo E Albares1017Russia2024-05-20
Francesco X Iturbide1018Argentina2024-05-08
Ashley D Tollner1019France2024-05-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan G PoquetteArgentinaOnyama Limba QUALIFIED
Smith H GlickItalyAsiya Javayant RENEWAL
Murillo P WaycottCanadaElwin Sharvill PROPOSAL
Greenwood N FerenczIndiaStephen Shaw PROPOSAL
Arvin M DoeArgentinaAsiya Javayant NEW
Nicolas I BowleyAustraliaStephen Shaw QUALIFIED
Salvatore F PoquetteGermanyXuxue Feng QUALIFIED
Morrow T WhobreySpainElwin Sharvill NEGOTIATION
Kaitlin T RutaJapanXuxue Feng PROPOSAL
Darci N PerinRussiaIoni Bowcher UNQUALIFIED
Aruna W CampainGermanyAmy Elsner UNQUALIFIED
Mayumi Z BowleyUnited KingdomAsiya Javayant RENEWAL
Stacey J GillianCanadaOnyama Limba NEGOTIATION
Stacey Q RutaBrazilAmy Elsner PROPOSAL
Kaitlin X ButtRussiaXuxue Feng UNQUALIFIED
Leja B NickaItalyAsiya Javayant NEW
Nicolas U CaldareraCanadaAnna Fali RENEWAL
Ricardo G SlusarskiUnited KingdomIoni Bowcher RENEWAL
Isabel L StockhamArgentinaAsiya Javayant QUALIFIED
Murillo R ShinkoAustraliaXuxue Feng NEGOTIATION
Isabel Z DilliardUnited KingdomIoni Bowcher NEW
Munro X FigeroaItalyXuxue Feng QUALIFIED
Aruna E MaletFranceElwin Sharvill QUALIFIED
Adams Y FigeroaItalyElwin Sharvill NEGOTIATION
Francesco C CampainIndiaStephen Shaw NEGOTIATION
Aditya A FerenczJapanIoni Bowcher NEGOTIATION
Rodrigues H DarakjyFranceAmy Elsner RENEWAL
Maria E ShinkoRussiaOnyama Limba UNQUALIFIED
Munro G IturbideArgentinaElwin Sharvill NEGOTIATION
Johnson Y PerinSpainAsiya Javayant PROPOSAL
Izzy Y VocelkaUnited KingdomIoni Bowcher PROPOSAL
Kaitlin D GauchoAustraliaBernardo Dominic NEGOTIATION
Ashley C TollnerArgentinaXuxue Feng PROPOSAL
Jefferson N MacleadUnited KingdomBernardo Dominic QUALIFIED
Murillo M NestleSpainStephen Shaw UNQUALIFIED
Juan M NestleIndiaAmy Elsner RENEWAL
Jeanfrancois O FerenczIndiaXuxue Feng UNQUALIFIED
Wickens P AlbaresJapanAmy Elsner RENEWAL
Ivar H OstroskyItalyStephen Shaw RENEWAL
Faith B SchemmerSpainAmy Elsner 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>