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
Izzy V IturbideFranceAmy Elsner NEW
Greenwood W StockhamArgentinaElwin Sharvill PROPOSAL
Faith A SaylorsItalyBernardo Dominic UNQUALIFIED
Maisha M RoysterArgentinaOnyama Limba PROPOSAL
Ricardo S VenereAustraliaAmy Elsner UNQUALIFIED
Chavez X DilliardRussiaStephen Shaw UNQUALIFIED
Cody Q VenereSpainAsiya Javayant RENEWAL
Silvio J DarakjySpainXuxue Feng NEGOTIATION
Murillo V VenereGermanyBernardo Dominic RENEWAL
Nicolas U MacleadItalyAnna Fali NEGOTIATION
Darci E ButtUnited KingdomIoni Bowcher QUALIFIED
Wickens K StensethFranceAmy Elsner NEW
Octavia A TollnerBrazilElwin Sharvill UNQUALIFIED
Stacey C PerinUnited KingdomStephen Shaw PROPOSAL
Emily H DarakjySpainAsiya Javayant PROPOSAL
Ashley M WhobreyUnited KingdomAnna Fali NEGOTIATION
Salvatore U AmigonGermanyElwin Sharvill QUALIFIED
Stacey D VenereFranceXuxue Feng UNQUALIFIED
Morrow A RoysterRussiaStephen Shaw QUALIFIED
Munro C SchemmerArgentinaAnna Fali NEGOTIATION
Costa S FollerFranceAnna Fali RENEWAL
Greenwood Q WhobreyGermanyAnna Fali UNQUALIFIED
Rodrigues L GarufiAustraliaIoni Bowcher PROPOSAL
Isabel Y PaprockiJapanIoni Bowcher UNQUALIFIED
Jennifer W StensethIndiaOnyama Limba QUALIFIED
Silvio C CampainSpainStephen Shaw QUALIFIED
Aika U ShinkoAustraliaStephen Shaw NEW
Alejandro R FerenczFranceAsiya Javayant NEGOTIATION
Maria Y RulapaughGermanyXuxue Feng NEW
Rodrigues M DilliardRussiaAmy Elsner PROPOSAL
Jennifer U BowleyCanadaElwin Sharvill QUALIFIED
Julie P CaldareraJapanAnna Fali PROPOSAL
Arvin W InouyeJapanOnyama Limba QUALIFIED
Sinclair S WieserSpainIvan Magalhaes PROPOSAL
Jeanfrancois W SlusarskiFranceIoni Bowcher QUALIFIED
Leon S StensethCanadaElwin Sharvill NEGOTIATION
James Q RulapaughJapanBernardo Dominic UNQUALIFIED
Jennifer J MaletGermanyAnna Fali PROPOSAL
Greenwood P RoysterSpainElwin Sharvill RENEWAL
Leon X IturbideIndiaXuxue Feng NEW
Greenwood M MaletFranceIvan Magalhaes QUALIFIED
Costa D FollerUnited KingdomAsiya Javayant UNQUALIFIED
Costa P NestleBrazilAsiya Javayant NEW
Emily R FlosiRussiaElwin Sharvill UNQUALIFIED
Clifford D CampainSpainElwin Sharvill NEGOTIATION
Greenwood G WhobreyGermanyIvan Magalhaes UNQUALIFIED
David B RutaGermanyElwin Sharvill NEGOTIATION
Chavez C TollnerJapanXuxue Feng RENEWAL
David N MorascaBrazilIoni Bowcher QUALIFIED
Murillo W FerenczGermanyIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Munro V WieserRussiaIoni Bowcher NEW
Clifford D StensethItalyElwin Sharvill UNQUALIFIED
Jennifer L StensethRussiaAmy Elsner NEGOTIATION
Misaki E MorascaIndiaOnyama Limba PROPOSAL
Leon H MaletAustraliaAnna Fali QUALIFIED
Juan L WieserJapanIvan Magalhaes UNQUALIFIED
Faith M PaprockiFranceAnna Fali NEW
Francesco M WieserGermanyElwin Sharvill NEW
Arvin U GarufiArgentinaXuxue Feng NEGOTIATION
Chavez U BologniaSpainOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer V BriddickBrazil2024-06-11Printing Dimensions QUALIFIED51Elwin Sharvill
1001James N MacleadUnited Kingdom2024-06-02Feiner Bros PROPOSAL84Amy Elsner
1002Aika M PaprockiJapan2024-06-09Chanay, Jeffrey A Esq RENEWAL28Stephen Shaw
1003Jeanfrancois U PaprockiUnited Kingdom2024-05-26Morlong Associates PROPOSAL3Anna Fali
1004David D FlosiIndia2024-06-20Commercial Press PROPOSAL89Stephen Shaw
1005Nicolas J StockhamFrance2024-05-26Feltz Printing Service UNQUALIFIED72Anna Fali
1006Aika O ShinkoIndia2024-06-11King, Christopher A Esq NEW28Elwin Sharvill
1007Jefferson A BologniaIndia2024-06-14Chemel, James L Cpa PROPOSAL52Ivan Magalhaes
1008Greenwood K GarufiCanada2024-06-13Benton, John B Jr RENEWAL3Stephen Shaw
1009Silvio T DilliardArgentina2024-06-20King, Christopher A Esq NEW84Amy Elsner
1010Stacey Q SchemmerJapan2024-06-17Rousseaux, Michael Esq UNQUALIFIED54Onyama Limba
1011Jefferson L AmigonCanada2024-06-10Chapman, Ross E Esq NEGOTIATION76Amy Elsner
1012Jeanfrancois Q TollnerArgentina2024-05-26Chemel, James L Cpa RENEWAL30Stephen Shaw
1013Murillo V SergiCanada2024-05-27Benton, John B Jr RENEWAL37Anna Fali
1014Stacey N DilliardAustralia2024-06-12Printing Dimensions NEW81Onyama Limba
1015Maisha W ButtCanada2024-06-16Dorl, James J Esq NEGOTIATION57Ivan Magalhaes
1016Murillo P FerenczGermany2024-06-21Chemel, James L Cpa QUALIFIED7Onyama Limba
1017Chavez X DoeJapan2024-06-21Feltz Printing Service PROPOSAL62Xuxue Feng
1018Morrow L TollnerCanada2024-05-28Commercial Press QUALIFIED22Amy Elsner
1019Smith A NestleAustralia2024-05-27Buckley Miller Wright NEW58Xuxue Feng
1020Maisha E VocelkaArgentina2024-06-07Buckley Miller Wright NEGOTIATION50Amy Elsner
1021Arvin Q MaletSpain2024-05-28Commercial Press NEW37Onyama Limba
1022Salvatore N WhobreyRussia2024-06-21King, Christopher A Esq UNQUALIFIED75Ioni Bowcher
1023Francesco Q SchemmerItaly2024-05-29Dorl, James J Esq PROPOSAL65Elwin Sharvill
1024Juan F BowleyBrazil2024-06-12Benton, John B Jr PROPOSAL91Bernardo Dominic
1025Arvin N RutaBrazil2024-06-07Feiner Bros NEGOTIATION23Ivan Magalhaes
1026Francesco K NickaBrazil2024-05-31Chemel, James L Cpa NEW11Amy Elsner
1027Stacey N BologniaGermany2024-06-10Printing Dimensions QUALIFIED8Bernardo Dominic
1028Jones X MarrierFrance2024-05-24Rangoni Of Florence RENEWAL65Onyama Limba
1029Ricardo Z DarakjyJapan2024-06-22King, Christopher A Esq UNQUALIFIED58Bernardo Dominic
1030Isabel O FigeroaCanada2024-06-18Chanay, Jeffrey A Esq QUALIFIED9Anna Fali
1031Silvio L MarrierItaly2024-06-05Morlong Associates NEW98Stephen Shaw
1032Darci K SergiUnited Kingdom2024-05-29Truhlar And Truhlar Attys PROPOSAL51Bernardo Dominic
1033Aruna Y WaycottItaly2024-06-22King, Christopher A Esq NEW2Bernardo Dominic
1034Aruna I MorascaItaly2024-06-10Chapman, Ross E Esq PROPOSAL57Stephen Shaw
1035Darci K OldroydGermany2024-05-25Chemel, James L Cpa PROPOSAL92Ioni Bowcher
1036Darci W ChuiFrance2024-06-18Feiner Bros NEW72Stephen Shaw
1037Ivar C DilliardBrazil2024-06-11Dorl, James J Esq RENEWAL35Ioni Bowcher
1038Alejandro W DilliardGermany2024-06-17Benton, John B Jr QUALIFIED10Onyama Limba
1039Ricardo K CampainJapan2024-06-06Printing Dimensions NEGOTIATION23Anna Fali
1040Chavez I ButtAustralia2024-06-02Morlong Associates PROPOSAL85Amy Elsner
1041Morrow U IturbideCanada2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED61Onyama Limba
1042Leon P AmigonBrazil2024-06-07Rousseaux, Michael Esq PROPOSAL99Xuxue Feng
1043Maisha S MaletUnited Kingdom2024-06-13Feltz Printing Service NEGOTIATION55Ivan Magalhaes
1044Tony E RimArgentina2024-06-14Rousseaux, Michael Esq NEW27Ivan Magalhaes
1045Maisha U FigeroaJapan2024-06-09Buckley Miller Wright NEW66Xuxue Feng
1046Sinclair U OldroydFrance2024-06-20Feiner Bros PROPOSAL80Xuxue Feng
1047Claire J GarufiCanada2024-05-25Chapman, Ross E Esq PROPOSAL92Amy Elsner
1048Jefferson P RimUnited Kingdom2024-06-08Dorl, James J Esq PROPOSAL37Bernardo Dominic
1049Rodrigues F RutaBrazil2024-05-31Rousseaux, Michael Esq RENEWAL40Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Antonio N InouyeCanadaBernardo Dominic UNQUALIFIED
Adams N StockhamJapanIvan Magalhaes NEW
Francesco H ShinkoCanadaBernardo Dominic QUALIFIED
Salvatore E DilliardCanadaElwin Sharvill NEGOTIATION
Cody G VenereAustraliaBernardo Dominic QUALIFIED
Claire J WieserBrazilXuxue Feng QUALIFIED
Murillo D SergiIndiaAsiya Javayant NEW
Rodrigues F WaycottRussiaXuxue Feng UNQUALIFIED
Morrow G WieserIndiaAsiya Javayant NEGOTIATION
Rodrigues N MorascaFranceIoni Bowcher QUALIFIED
Jones O CampainBrazilXuxue Feng PROPOSAL
Misaki Q SergiFranceBernardo Dominic NEW
Jeanfrancois P NickaFranceElwin Sharvill QUALIFIED
Kaitlin Y FigeroaIndiaAnna Fali NEW
Izzy G FlosiRussiaIvan Magalhaes RENEWAL
Kadeem E VocelkaArgentinaStephen Shaw UNQUALIFIED
Jennifer E GarufiIndiaIvan Magalhaes RENEWAL
Emily X MaletCanadaIoni Bowcher QUALIFIED
Leon F WhobreyArgentinaXuxue Feng UNQUALIFIED
Arvin K CampainBrazilXuxue Feng UNQUALIFIED
Maisha I RulapaughIndiaBernardo Dominic NEW
Adams V CaudyGermanyXuxue Feng NEW
Maisha L GauchoArgentinaElwin Sharvill NEGOTIATION
Sinclair S WaycottIndiaIoni Bowcher RENEWAL
Maisha N ButtCanadaBernardo Dominic UNQUALIFIED
Kadeem G AmigonGermanyElwin Sharvill UNQUALIFIED
Darci B GlickIndiaAmy Elsner NEW
Julie P MaletBrazilIoni Bowcher NEW
Leon Z VenereCanadaStephen Shaw QUALIFIED
Maisha D WhobreyRussiaXuxue Feng QUALIFIED
Juan M RoysterJapanAmy Elsner UNQUALIFIED
Claire E TollnerSpainElwin Sharvill NEW
Leja P RulapaughFranceAmy Elsner NEGOTIATION
Claire U DoeUnited KingdomOnyama Limba PROPOSAL
Emily C RulapaughItalyStephen Shaw QUALIFIED
Emily L GillianUnited KingdomXuxue Feng RENEWAL
Maria O InouyeCanadaAsiya Javayant RENEWAL
Aruna G ChuiGermanyAmy Elsner RENEWAL
Jefferson T TollnerSpainBernardo Dominic NEGOTIATION
Isabel B CampainItalyBernardo Dominic NEW
Faith W RulapaughSpainOnyama Limba RENEWAL
Kaitlin T IturbideRussiaAnna Fali NEGOTIATION
Emily H KuskoCanadaXuxue Feng RENEWAL
Adams L StockhamCanadaOnyama Limba UNQUALIFIED
Munro N IturbideJapanAmy Elsner QUALIFIED
Morrow V WieserArgentinaElwin Sharvill NEW
Clifford F WhobreyBrazilStephen Shaw RENEWAL
Jefferson Q CampainAustraliaOnyama Limba PROPOSAL
Wickens Q MorascaGermanyBernardo Dominic UNQUALIFIED
James Y SchemmerJapanStephen Shaw RENEWAL
Frozen Columns
Name
Tony H Rim
Tony O Butt
Kaitlin B Nestle
Aruna F Bolognia
Ivar E Garufi
Salvatore S Inouye
Costa U Venere
Ivar M Shinko
Leon W Amigon
Arvin R Stenseth
Rodrigues J Royster
Emily G Caudy
Emily S Venere
Antonio F Bowley
Alejandro G Dilliard
Jefferson T Waycott
Tony U Nicka
David W Wieser
Aditya Y Sergi
Emily X Caudy
Tony Z Ruta
Johnson V Caldarera
Maisha X Rulapaugh
Misaki Y Oldroyd
Morrow M Garufi
Leja O Doe
Chavez H Slusarski
Aika I Marrier
Jeanfrancois Y Kusko
Arvin L Amigon
Greenwood B Darakjy
Rodrigues P Oldroyd
Emily C Briddick
Jones I Kusko
Morrow K Gillian
Salvatore F Rulapaugh
Munro B Bowley
Johnson B Nestle
Kadeem Y Rulapaugh
Stacey F Royster
Jennifer A Briddick
Juan T Malet
Adams N Rulapaugh
Mayumi C Dilliard
Cody W Saylors
Maisha B Caudy
Aditya T Rulapaugh
Salvatore Y Doe
Maisha S Nicka
Silvio X Ostrosky
IdCountryDate
1000Spain2024-05-28
1001Argentina2024-06-08
1002India2024-06-02
1003Germany2024-06-22
1004Argentina2024-05-25
1005Germany2024-05-30
1006Japan2024-06-06
1007Japan2024-05-31
1008Canada2024-05-31
1009Argentina2024-05-29
1010Australia2024-06-19
1011Spain2024-06-14
1012Brazil2024-05-25
1013Brazil2024-05-27
1014France2024-06-12
1015United Kingdom2024-06-01
1016Australia2024-06-18
1017United Kingdom2024-06-13
1018Argentina2024-06-10
1019India2024-05-26
1020Germany2024-06-22
1021Germany2024-06-17
1022France2024-06-01
1023Italy2024-05-29
1024Australia2024-06-02
1025Russia2024-06-16
1026Germany2024-06-14
1027Russia2024-06-20
1028Germany2024-06-04
1029France2024-06-04
1030Russia2024-06-03
1031India2024-05-29
1032Argentina2024-05-30
1033Australia2024-06-20
1034India2024-05-27
1035Spain2024-06-11
1036Canada2024-06-11
1037Australia2024-06-20
1038Russia2024-05-29
1039Japan2024-05-26
1040Australia2024-06-15
1041France2024-06-19
1042Australia2024-06-11
1043Argentina2024-06-20
1044Australia2024-06-17
1045Canada2024-05-30
1046Argentina2024-06-03
1047India2024-06-18
1048Canada2024-06-01
1049Italy2024-06-21

On-Demand Data

NameIdCountryDate
Julie J Perin1000United Kingdom2024-05-24
Clifford R Butt1001Australia2024-06-22
Juan B Bolognia1002Argentina2024-06-13
Stacey I Nicka1003Germany2024-06-09
Claire H Chui1004Argentina2024-05-26
Jones I Kusko1005United Kingdom2024-06-08
Kaitlin H Flosi1006France2024-05-24
Kadeem N Ostrosky1007Brazil2024-06-07
Mayumi I Slusarski1008Japan2024-06-06
Emily P Waycott1009Germany2024-06-08
Octavia A Ostrosky1010Italy2024-06-18
Emily P Glick1011Japan2024-06-19
Costa K Marrier1012Spain2024-05-25
Morrow J Malet1013United Kingdom2024-06-21
Maisha Z Caldarera1014France2024-05-25
Jeanfrancois Q Kusko1015Italy2024-06-07
Maria I Sergi1016France2024-05-28
Maisha T Tollner1017Brazil2024-06-14
Antonio N Bowley1018Brazil2024-06-07
Misaki I Venere1019Germany2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones O CaldareraGermanyBernardo Dominic PROPOSAL
Johnson T GlickIndiaElwin Sharvill RENEWAL
Clifford R MaletIndiaOnyama Limba NEW
Francesco V GillianIndiaStephen Shaw UNQUALIFIED
Arvin M FollerItalyAnna Fali PROPOSAL
Murillo K FerenczAustraliaOnyama Limba UNQUALIFIED
Octavia J CaudySpainXuxue Feng PROPOSAL
Smith I MorascaFranceOnyama Limba PROPOSAL
Maisha S GlickArgentinaAnna Fali NEW
Clifford U NestleCanadaOnyama Limba NEW
Antonio Q CaudyGermanyIvan Magalhaes RENEWAL
Johnson Y OstroskyArgentinaAsiya Javayant PROPOSAL
Johnson A SaylorsAustraliaAnna Fali NEGOTIATION
Ivar A PoquetteSpainIoni Bowcher UNQUALIFIED
Silvio B KolmetzIndiaElwin Sharvill QUALIFIED
Mujtaba D FollerItalyIvan Magalhaes RENEWAL
Silvio T DarakjyItalyOnyama Limba UNQUALIFIED
Deepesh S SergiAustraliaOnyama Limba UNQUALIFIED
Arvin M VocelkaJapanIvan Magalhaes RENEWAL
Jennifer P CaldareraFranceAmy Elsner UNQUALIFIED
Antonio D ChuiArgentinaBernardo Dominic PROPOSAL
Silvio D InouyeArgentinaOnyama Limba NEW
Smith G NestleSpainAnna Fali PROPOSAL
Wickens Y GlickGermanyStephen Shaw NEW
Maisha B TollnerIndiaBernardo Dominic NEGOTIATION
Misaki J WieserSpainIoni Bowcher NEW
Jones M BologniaIndiaIvan Magalhaes RENEWAL
Cody J MaletBrazilIvan Magalhaes NEGOTIATION
David P WaycottUnited KingdomXuxue Feng UNQUALIFIED
Smith D ChuiFranceAsiya Javayant RENEWAL
James N MaletAustraliaIvan Magalhaes QUALIFIED
Claire L AmigonSpainAsiya Javayant PROPOSAL
Jeanfrancois R NickaSpainAmy Elsner NEGOTIATION
Leon G MaletRussiaOnyama Limba RENEWAL
Jefferson J VenereItalyIvan Magalhaes UNQUALIFIED
Claire O DarakjyUnited KingdomIoni Bowcher QUALIFIED
Mujtaba V PerinFranceAmy Elsner PROPOSAL
Ivar D GauchoCanadaStephen Shaw UNQUALIFIED
Jennifer N DilliardIndiaAsiya Javayant NEGOTIATION
Jeanfrancois N SaylorsIndiaIoni 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>