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 E AlbaresJapanOnyama Limba NEGOTIATION
Maisha E PoquetteFranceIvan Magalhaes NEGOTIATION
Ivar U AmigonIndiaAsiya Javayant UNQUALIFIED
Cody L RimBrazilIoni Bowcher UNQUALIFIED
Aika G RulapaughIndiaAnna Fali UNQUALIFIED
Adams W FigeroaCanadaIoni Bowcher QUALIFIED
Mayumi U SchemmerCanadaAmy Elsner UNQUALIFIED
Murillo G MorascaIndiaAsiya Javayant UNQUALIFIED
Nicolas F GarufiRussiaAmy Elsner QUALIFIED
Julie C WieserJapanBernardo Dominic NEGOTIATION
Costa W VenereBrazilAmy Elsner PROPOSAL
Morrow F ShinkoUnited KingdomStephen Shaw NEW
Costa N BologniaIndiaXuxue Feng PROPOSAL
Morrow R DoeFranceElwin Sharvill NEGOTIATION
Faith P WaycottJapanIvan Magalhaes QUALIFIED
Maisha K BologniaFranceBernardo Dominic NEGOTIATION
Morrow L BriddickGermanyStephen Shaw NEGOTIATION
Tony A TollnerArgentinaAmy Elsner RENEWAL
Misaki T OldroydAustraliaAsiya Javayant NEGOTIATION
Chavez B PoquetteFranceXuxue Feng NEGOTIATION
Chavez F PoquetteIndiaXuxue Feng NEGOTIATION
Izzy Z TollnerItalyAnna Fali NEGOTIATION
Isabel O IturbideJapanIvan Magalhaes NEGOTIATION
Leon V BowleyGermanyOnyama Limba NEGOTIATION
Leja V PoquetteSpainAsiya Javayant NEW
Julie T StockhamItalyIoni Bowcher NEGOTIATION
Salvatore H InouyeItalyStephen Shaw NEW
Julie A FigeroaIndiaOnyama Limba NEW
Jeanfrancois J AlbaresArgentinaStephen Shaw QUALIFIED
Isabel U BowleyUnited KingdomIoni Bowcher NEGOTIATION
Aditya F NickaIndiaXuxue Feng NEW
Smith S GarufiFranceXuxue Feng PROPOSAL
Aruna G DarakjyJapanOnyama Limba RENEWAL
Johnson Q CampainBrazilBernardo Dominic NEW
Claire A MacleadAustraliaIoni Bowcher QUALIFIED
Wickens G FollerSpainIvan Magalhaes NEGOTIATION
Wickens Z StockhamGermanyOnyama Limba PROPOSAL
Izzy Z FerenczSpainElwin Sharvill NEW
Juan K RutaFranceAmy Elsner NEW
Mujtaba T CampainFranceIoni Bowcher PROPOSAL
Morrow F KuskoArgentinaXuxue Feng QUALIFIED
Alejandro W AlbaresAustraliaXuxue Feng UNQUALIFIED
Maria O AlbaresSpainAsiya Javayant NEGOTIATION
Julie T RoysterSpainIoni Bowcher PROPOSAL
Ivar Y BowleyIndiaXuxue Feng QUALIFIED
Tony Q MaletFranceIoni Bowcher RENEWAL
Murillo A IturbideFranceOnyama Limba NEGOTIATION
Francesco N DarakjySpainAnna Fali UNQUALIFIED
Chavez E DoeSpainOnyama Limba UNQUALIFIED
Wickens O SergiAustraliaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Izzy V CaudyFranceAsiya Javayant UNQUALIFIED
Aruna Y PoquetteBrazilAmy Elsner NEW
Mayumi B PerinSpainOnyama Limba NEW
Smith Y GlickSpainElwin Sharvill NEW
Francesco H CampainBrazilIvan Magalhaes RENEWAL
Julie A GillianBrazilXuxue Feng RENEWAL
Francesco W OldroydIndiaStephen Shaw PROPOSAL
Sinclair L MaletJapanStephen Shaw NEGOTIATION
Aika N KolmetzJapanXuxue Feng UNQUALIFIED
Jones A CampainItalyIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair V RulapaughGermany2025-05-29Printing Dimensions UNQUALIFIED18Anna Fali
1001Clifford L VocelkaCanada2025-05-19Dorl, James J Esq NEGOTIATION21Asiya Javayant
1002Aika E AlbaresBrazil2025-05-21Printing Dimensions QUALIFIED43Xuxue Feng
1003Jefferson S FollerItaly2025-05-25Morlong Associates RENEWAL14Elwin Sharvill
1004Emily P CampainRussia2025-05-23Morlong Associates UNQUALIFIED23Stephen Shaw
1005Kaitlin D CaudyJapan2025-05-26Feiner Bros QUALIFIED31Xuxue Feng
1006Mayumi S SchemmerIndia2025-06-16Printing Dimensions QUALIFIED56Onyama Limba
1007Sinclair D RutaAustralia2025-06-06Buckley Miller Wright NEGOTIATION59Asiya Javayant
1008Ricardo A KolmetzArgentina2025-06-04Printing Dimensions NEGOTIATION55Amy Elsner
1009Ivar R TollnerFrance2025-06-04Chapman, Ross E Esq PROPOSAL19Bernardo Dominic
1010Aditya T AmigonItaly2025-05-30Feltz Printing Service QUALIFIED39Xuxue Feng
1011Clifford R MaletCanada2025-06-05Printing Dimensions QUALIFIED69Asiya Javayant
1012Deepesh H TollnerSpain2025-06-07Buckley Miller Wright UNQUALIFIED51Ioni Bowcher
1013Jeanfrancois D FlosiGermany2025-06-03King, Christopher A Esq PROPOSAL58Elwin Sharvill
1014James W AmigonFrance2025-06-09Printing Dimensions NEW29Amy Elsner
1015Cody B RutaRussia2025-06-09Feltz Printing Service PROPOSAL32Ioni Bowcher
1016Johnson H FlosiCanada2025-05-30Benton, John B Jr NEGOTIATION2Xuxue Feng
1017Misaki N StensethFrance2025-05-28Morlong Associates PROPOSAL28Ivan Magalhaes
1018Aditya V RutaSpain2025-05-28Chanay, Jeffrey A Esq RENEWAL1Xuxue Feng
1019Adams F FlosiFrance2025-06-02Truhlar And Truhlar Attys UNQUALIFIED47Elwin Sharvill
1020Sinclair H SergiSpain2025-06-07Commercial Press NEW21Anna Fali
1021Cody D MaletIndia2025-06-10Rousseaux, Michael Esq QUALIFIED83Amy Elsner
1022Emily Y BowleyJapan2025-06-07Dorl, James J Esq NEGOTIATION72Asiya Javayant
1023Mayumi T SchemmerArgentina2025-06-09Buckley Miller Wright UNQUALIFIED51Ioni Bowcher
1024Maria O OstroskyAustralia2025-06-05Feltz Printing Service NEGOTIATION60Amy Elsner
1025Ricardo U FollerIndia2025-06-12Chanay, Jeffrey A Esq PROPOSAL37Anna Fali
1026Morrow O WieserBrazil2025-06-09Truhlar And Truhlar Attys QUALIFIED64Asiya Javayant
1027Izzy I DoeJapan2025-06-01Chapman, Ross E Esq RENEWAL75Asiya Javayant
1028Tony H PerinIndia2025-05-28Feltz Printing Service QUALIFIED53Ioni Bowcher
1029Jones E SaylorsRussia2025-05-21Buckley Miller Wright PROPOSAL70Ivan Magalhaes
1030Francesco Q RulapaughGermany2025-06-12Rangoni Of Florence NEGOTIATION60Stephen Shaw
1031Claire T CaldareraCanada2025-05-24Commercial Press RENEWAL57Ioni Bowcher
1032Sinclair Z RimAustralia2025-06-05Benton, John B Jr UNQUALIFIED49Onyama Limba
1033Johnson R ButtJapan2025-06-02Truhlar And Truhlar Attys NEGOTIATION27Onyama Limba
1034Antonio G SchemmerFrance2025-05-23Chanay, Jeffrey A Esq PROPOSAL79Xuxue Feng
1035Claire D BriddickIndia2025-06-09Commercial Press RENEWAL58Elwin Sharvill
1036Mayumi I TollnerArgentina2025-05-27Chanay, Jeffrey A Esq PROPOSAL71Elwin Sharvill
1037Jones E GauchoRussia2025-05-22Feltz Printing Service NEGOTIATION92Stephen Shaw
1038James K MaletUnited Kingdom2025-05-23Morlong Associates PROPOSAL99Onyama Limba
1039Munro I PaprockiFrance2025-05-19Feltz Printing Service RENEWAL13Onyama Limba
1040Deepesh U OstroskyFrance2025-05-30Rangoni Of Florence QUALIFIED75Ioni Bowcher
1041Kaitlin R GauchoAustralia2025-06-13Benton, John B Jr UNQUALIFIED48Elwin Sharvill
1042Aruna L KolmetzFrance2025-06-04Benton, John B Jr NEGOTIATION79Onyama Limba
1043Maisha D TollnerIndia2025-06-03Dorl, James J Esq QUALIFIED39Bernardo Dominic
1044Isabel J NestleJapan2025-06-08Feiner Bros UNQUALIFIED58Elwin Sharvill
1045Misaki Y FigeroaAustralia2025-06-02Benton, John B Jr QUALIFIED79Onyama Limba
1046Morrow I RimCanada2025-06-06Benton, John B Jr NEGOTIATION15Anna Fali
1047Maria O NestleCanada2025-06-05Feltz Printing Service RENEWAL8Anna Fali
1048Aruna W MaletFrance2025-06-14Feltz Printing Service RENEWAL50Onyama Limba
1049Aika X VenereFrance2025-05-20Commercial Press RENEWAL47Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Greenwood C PaprockiSpainAsiya Javayant PROPOSAL
Antonio I MarrierSpainIvan Magalhaes UNQUALIFIED
Jefferson G OstroskyRussiaAnna Fali QUALIFIED
Alejandro D OldroydFranceOnyama Limba NEW
Leon Z KuskoSpainIoni Bowcher UNQUALIFIED
Faith E BologniaIndiaOnyama Limba NEW
Cody H RulapaughFranceOnyama Limba NEGOTIATION
Leja T RutaJapanAmy Elsner QUALIFIED
Stacey Z ButtRussiaElwin Sharvill NEW
Aika E RulapaughGermanyAsiya Javayant PROPOSAL
Jefferson Z PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Jones I DilliardFranceAmy Elsner RENEWAL
Leon W FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Arvin V DilliardItalyBernardo Dominic NEGOTIATION
Deepesh B SchemmerGermanyAnna Fali RENEWAL
Kaitlin H BriddickJapanXuxue Feng NEGOTIATION
Morrow P NestleIndiaXuxue Feng PROPOSAL
Silvio I MaletRussiaAmy Elsner NEGOTIATION
Mujtaba P WieserArgentinaAnna Fali NEW
Misaki M CampainIndiaAnna Fali RENEWAL
Jones R AlbaresJapanBernardo Dominic PROPOSAL
Leon F BowleySpainStephen Shaw NEW
Maria X RoysterFranceOnyama Limba NEW
Julie H MorascaCanadaOnyama Limba RENEWAL
Francesco R GlickItalyOnyama Limba NEW
Izzy Y VocelkaItalyBernardo Dominic UNQUALIFIED
Jones B KuskoUnited KingdomBernardo Dominic NEGOTIATION
Costa H CampainAustraliaXuxue Feng RENEWAL
Francesco N CaudyCanadaIoni Bowcher PROPOSAL
Emily S ChuiAustraliaAsiya Javayant RENEWAL
Leon D SaylorsIndiaStephen Shaw PROPOSAL
Morrow P WhobreyRussiaStephen Shaw UNQUALIFIED
Octavia K ShinkoSpainAmy Elsner PROPOSAL
Greenwood L CaudyUnited KingdomStephen Shaw RENEWAL
Johnson J GillianAustraliaXuxue Feng NEGOTIATION
Juan Y BologniaItalyElwin Sharvill QUALIFIED
Munro H WaycottSpainBernardo Dominic NEW
Chavez F CampainGermanyBernardo Dominic PROPOSAL
Deepesh L RulapaughJapanBernardo Dominic RENEWAL
Maisha W NestleGermanyAmy Elsner PROPOSAL
Ashley L SlusarskiFranceOnyama Limba NEW
Murillo R WaycottUnited KingdomStephen Shaw NEW
Izzy M MorascaFranceXuxue Feng NEGOTIATION
Ashley K GauchoJapanAsiya Javayant RENEWAL
Smith L FollerUnited KingdomOnyama Limba NEW
Jefferson I BowleyIndiaElwin Sharvill UNQUALIFIED
Sinclair Q WieserGermanyIvan Magalhaes QUALIFIED
Sinclair Q PaprockiAustraliaAnna Fali QUALIFIED
Wickens M IturbideFranceStephen Shaw NEGOTIATION
Darci L ShinkoSpainXuxue Feng RENEWAL
Frozen Columns
Name
Morrow C Paprocki
Jennifer N Nicka
Jefferson N Nestle
Clifford Q Ostrosky
Sinclair U Bowley
Deepesh J Butt
Adams B Campain
Munro Z Glick
Kaitlin K Oldroyd
Deepesh B Malet
Leon B Foller
Clifford H Vocelka
Jennifer L Kolmetz
Izzy F Caudy
Emily J Chui
Emily D Oldroyd
Alejandro U Kolmetz
Silvio C Marrier
Mujtaba F Inouye
Jennifer R Maclead
Salvatore X Albares
Darci A Marrier
Kadeem H Briddick
Tony X Butt
Aika Z Poquette
Ricardo P Stockham
Greenwood C Shinko
Murillo Q Kolmetz
Darci T Vocelka
Juan S Chui
David D Sergi
Jeanfrancois Z Morasca
Nicolas E Perin
Ricardo H Waycott
James G Bolognia
Ricardo J Morasca
Claire A Amigon
Maisha V Marrier
Ashley E Caudy
Aditya J Vocelka
Morrow R Foller
Misaki I Venere
Francesco U Rulapaugh
Clifford V Darakjy
Smith W Inouye
Wickens T Gillian
Isabel K Caldarera
Chavez D Maclead
Costa F Venere
Jeanfrancois D Doe
IdCountryDate
1000France2025-05-27
1001Russia2025-06-05
1002Canada2025-06-09
1003Canada2025-06-09
1004Brazil2025-06-03
1005Argentina2025-06-12
1006Spain2025-06-13
1007Australia2025-06-03
1008France2025-06-03
1009Japan2025-06-05
1010Brazil2025-06-05
1011Italy2025-06-13
1012Australia2025-06-13
1013Australia2025-05-29
1014France2025-05-31
1015United Kingdom2025-06-08
1016Russia2025-06-04
1017Brazil2025-05-31
1018Japan2025-06-09
1019Spain2025-05-21
1020Canada2025-05-22
1021Italy2025-06-14
1022Argentina2025-05-22
1023Italy2025-05-19
1024Germany2025-06-01
1025Brazil2025-05-31
1026Italy2025-06-03
1027Australia2025-06-13
1028Australia2025-05-24
1029Spain2025-05-20
1030Australia2025-05-20
1031Canada2025-06-12
1032Japan2025-05-19
1033Australia2025-05-27
1034Brazil2025-06-04
1035Italy2025-06-08
1036Germany2025-06-01
1037Germany2025-06-10
1038Australia2025-05-22
1039Argentina2025-05-26
1040France2025-05-30
1041Argentina2025-05-31
1042Brazil2025-05-18
1043India2025-05-25
1044France2025-06-11
1045Spain2025-06-02
1046Italy2025-05-30
1047Italy2025-06-06
1048United Kingdom2025-05-21
1049Germany2025-05-23

On-Demand Data

NameIdCountryDate
Julie F Albares1000Brazil2025-06-10
Greenwood S Rulapaugh1001Brazil2025-05-29
Isabel R Malet1002Australia2025-06-15
Ivar W Slusarski1003United Kingdom2025-06-16
Emily S Bolognia1004Canada2025-05-18
Claire L Paprocki1005Italy2025-06-15
Adams Z Slusarski1006Australia2025-05-18
Faith E Saylors1007Argentina2025-05-21
Morrow I Ruta1008Italy2025-05-24
Sinclair J Waycott1009Spain2025-06-15
Silvio T Darakjy1010Italy2025-06-04
Claire W Sergi1011Australia2025-06-10
Aika U Ferencz1012Germany2025-06-01
Leja M Marrier1013Canada2025-06-04
Kadeem K Kolmetz1014Germany2025-06-14
Johnson S Gaucho1015United Kingdom2025-06-04
Chavez W Nestle1016United Kingdom2025-06-11
Maria G Vocelka1017Italy2025-06-14
Jefferson H Marrier1018Australia2025-05-31
Leon L Morasca1019Russia2025-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony N MaletArgentinaBernardo Dominic NEW
Ivar D ShinkoBrazilElwin Sharvill PROPOSAL
Octavia G NickaGermanyXuxue Feng QUALIFIED
Deepesh S BriddickUnited KingdomStephen Shaw NEW
Munro G AlbaresJapanAnna Fali NEW
Jennifer C ButtSpainBernardo Dominic NEGOTIATION
Ivar G DoeAustraliaIvan Magalhaes PROPOSAL
Tony J RoysterRussiaBernardo Dominic UNQUALIFIED
Clifford D RutaBrazilIoni Bowcher UNQUALIFIED
Claire X CaudyJapanAnna Fali PROPOSAL
Morrow U PerinBrazilElwin Sharvill UNQUALIFIED
Maria K AlbaresSpainIoni Bowcher RENEWAL
Nicolas U OldroydCanadaAnna Fali QUALIFIED
Ashley W SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Emily G StockhamAustraliaStephen Shaw RENEWAL
Kaitlin J VenereFranceAsiya Javayant UNQUALIFIED
Arvin F PoquetteUnited KingdomOnyama Limba RENEWAL
Maisha I FigeroaAustraliaBernardo Dominic RENEWAL
Ivar W GlickGermanyAnna Fali RENEWAL
Johnson P SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Jeanfrancois L OldroydUnited KingdomAmy Elsner RENEWAL
Aruna B WaycottRussiaBernardo Dominic NEW
Rodrigues X StensethCanadaOnyama Limba UNQUALIFIED
Morrow U SchemmerIndiaBernardo Dominic UNQUALIFIED
Smith F DarakjyGermanyStephen Shaw NEGOTIATION
Leon W StockhamArgentinaAmy Elsner PROPOSAL
Jefferson A VocelkaItalyIoni Bowcher RENEWAL
Juan P StockhamArgentinaStephen Shaw NEGOTIATION
Faith P StensethArgentinaIvan Magalhaes NEGOTIATION
Ivar Z WhobreyJapanIoni Bowcher RENEWAL
Emily U BriddickArgentinaXuxue Feng QUALIFIED
Aditya S AmigonFranceXuxue Feng UNQUALIFIED
Tony Y AlbaresAustraliaIoni Bowcher PROPOSAL
Juan R PoquetteBrazilAnna Fali RENEWAL
Adams O SlusarskiSpainElwin Sharvill RENEWAL
Clifford B NickaJapanElwin Sharvill PROPOSAL
Isabel G IturbideSpainAsiya Javayant QUALIFIED
Silvio J VenereIndiaBernardo Dominic NEGOTIATION
Ivar M TollnerUnited KingdomIoni Bowcher NEGOTIATION
Sinclair I DoeUnited KingdomOnyama Limba PROPOSAL

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