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
Munro B PoquetteFranceBernardo Dominic RENEWAL
Mujtaba M FigeroaFranceAmy Elsner PROPOSAL
Julie A PaprockiAustraliaAnna Fali NEW
Maisha C BowleyCanadaStephen Shaw UNQUALIFIED
Maria U WieserJapanAnna Fali NEGOTIATION
Wickens L ChuiFranceOnyama Limba PROPOSAL
Emily N VocelkaUnited KingdomElwin Sharvill RENEWAL
James P BriddickFranceStephen Shaw UNQUALIFIED
Ivar S MorascaIndiaAmy Elsner QUALIFIED
Jennifer I MacleadIndiaIvan Magalhaes RENEWAL
Aditya V BriddickGermanyAnna Fali NEGOTIATION
Faith S FerenczJapanOnyama Limba NEW
Smith C WieserGermanyAmy Elsner UNQUALIFIED
Maria P NickaItalyIvan Magalhaes UNQUALIFIED
Mayumi V GlickCanadaAnna Fali QUALIFIED
Julie E ButtRussiaIvan Magalhaes NEW
Nicolas P CaudyRussiaIvan Magalhaes PROPOSAL
Arvin W SchemmerRussiaAnna Fali UNQUALIFIED
Mayumi F NickaUnited KingdomIvan Magalhaes NEW
Costa Y AmigonIndiaIoni Bowcher NEW
Julie Z VenereGermanyAmy Elsner NEGOTIATION
Jennifer D ShinkoSpainElwin Sharvill QUALIFIED
Murillo E MorascaUnited KingdomIoni Bowcher NEW
Chavez C PoquetteCanadaAsiya Javayant NEW
Ashley T NickaArgentinaOnyama Limba NEW
Mayumi K FollerArgentinaIvan Magalhaes RENEWAL
Kadeem I InouyeFranceElwin Sharvill PROPOSAL
Arvin I CampainRussiaBernardo Dominic PROPOSAL
Arvin W MaletRussiaIoni Bowcher QUALIFIED
Emily K NestleCanadaXuxue Feng PROPOSAL
Clifford Y CaudyArgentinaIvan Magalhaes RENEWAL
Claire H KuskoBrazilXuxue Feng NEW
Leja I FigeroaIndiaAnna Fali NEGOTIATION
Salvatore I BologniaBrazilXuxue Feng UNQUALIFIED
Kaitlin Y StockhamItalyAmy Elsner PROPOSAL
James D GlickCanadaBernardo Dominic PROPOSAL
Aika H GauchoJapanOnyama Limba QUALIFIED
Ivar X OldroydRussiaAnna Fali RENEWAL
Deepesh J VocelkaBrazilBernardo Dominic QUALIFIED
Izzy T MarrierAustraliaOnyama Limba NEGOTIATION
Ricardo U RulapaughCanadaIvan Magalhaes PROPOSAL
Mujtaba S WieserRussiaIvan Magalhaes QUALIFIED
Sinclair O FlosiUnited KingdomIoni Bowcher UNQUALIFIED
Faith O CampainJapanElwin Sharvill PROPOSAL
Ricardo S ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Costa Q NestleBrazilStephen Shaw UNQUALIFIED
Tony V RoysterRussiaIoni Bowcher NEW
Alejandro N RulapaughBrazilIvan Magalhaes NEGOTIATION
Faith V VocelkaFranceAsiya Javayant NEGOTIATION
Emily G CampainItalyStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Murillo D FigeroaIndiaElwin Sharvill NEGOTIATION
Leja M SergiFranceIoni Bowcher NEGOTIATION
Greenwood I GillianRussiaAsiya Javayant QUALIFIED
Johnson H DoeRussiaAmy Elsner QUALIFIED
Arvin J OldroydIndiaAnna Fali UNQUALIFIED
Francesco O MorascaArgentinaAmy Elsner NEW
Emily Y PoquetteAustraliaAnna Fali NEW
Ricardo V FlosiSpainStephen Shaw QUALIFIED
Ricardo K ChuiCanadaXuxue Feng RENEWAL
Salvatore X VenereAustraliaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore O GauchoSpain2024-06-01Morlong Associates QUALIFIED34Onyama Limba
1001Julie J RutaJapan2024-06-20Chanay, Jeffrey A Esq NEGOTIATION84Elwin Sharvill
1002Nicolas A KolmetzCanada2024-06-02Dorl, James J Esq RENEWAL35Ivan Magalhaes
1003Smith P OstroskySpain2024-06-13King, Christopher A Esq NEGOTIATION0Onyama Limba
1004Ivar X BriddickFrance2024-06-19Feltz Printing Service QUALIFIED19Asiya Javayant
1005Clifford H RimCanada2024-05-30Feiner Bros NEGOTIATION28Onyama Limba
1006Antonio K StensethCanada2024-05-25Morlong Associates QUALIFIED74Xuxue Feng
1007Ashley S CampainBrazil2024-05-24Printing Dimensions UNQUALIFIED74Xuxue Feng
1008Arvin Y OldroydJapan2024-06-13Dorl, James J Esq PROPOSAL39Ioni Bowcher
1009Rodrigues H StensethIndia2024-05-26Benton, John B Jr NEGOTIATION9Amy Elsner
1010James Y FlosiRussia2024-06-08Rangoni Of Florence NEGOTIATION71Bernardo Dominic
1011Ashley R MorascaIndia2024-06-15Chanay, Jeffrey A Esq NEW40Stephen Shaw
1012Francesco L SaylorsCanada2024-06-08Chanay, Jeffrey A Esq NEW78Anna Fali
1013Mujtaba I MacleadGermany2024-06-19Dorl, James J Esq QUALIFIED41Anna Fali
1014Aditya Y MaletJapan2024-05-26Printing Dimensions UNQUALIFIED40Bernardo Dominic
1015Arvin V ShinkoAustralia2024-06-03Commercial Press NEW23Stephen Shaw
1016Aditya U DilliardAustralia2024-06-11Chanay, Jeffrey A Esq NEGOTIATION55Ioni Bowcher
1017Cody T MacleadUnited Kingdom2024-06-15Feltz Printing Service NEGOTIATION24Ioni Bowcher
1018Izzy W IturbideFrance2024-06-12Buckley Miller Wright NEGOTIATION76Anna Fali
1019Faith F WieserRussia2024-06-08Feiner Bros QUALIFIED38Xuxue Feng
1020Mujtaba O BowleySpain2024-06-20Chapman, Ross E Esq PROPOSAL63Bernardo Dominic
1021Johnson R MarrierItaly2024-06-03Benton, John B Jr RENEWAL88Elwin Sharvill
1022Maria V RulapaughGermany2024-06-18Feltz Printing Service PROPOSAL60Onyama Limba
1023Mujtaba T SlusarskiSpain2024-05-25Chanay, Jeffrey A Esq QUALIFIED30Ioni Bowcher
1024Arvin U NestleJapan2024-06-14Commercial Press PROPOSAL30Anna Fali
1025Adams L GarufiSpain2024-06-08King, Christopher A Esq RENEWAL94Onyama Limba
1026Mujtaba Z WaycottIndia2024-06-21Buckley Miller Wright NEGOTIATION81Xuxue Feng
1027Leon R VenereIndia2024-05-23Rousseaux, Michael Esq QUALIFIED60Onyama Limba
1028Clifford N VocelkaArgentina2024-06-19Rangoni Of Florence NEW14Stephen Shaw
1029Francesco Z InouyeCanada2024-05-23Commercial Press UNQUALIFIED88Bernardo Dominic
1030Jefferson Z VenereCanada2024-05-26Chapman, Ross E Esq QUALIFIED83Onyama Limba
1031Misaki O RutaAustralia2024-06-13King, Christopher A Esq QUALIFIED64Elwin Sharvill
1032Jefferson H DarakjyItaly2024-05-26Commercial Press QUALIFIED91Xuxue Feng
1033Darci O GarufiIndia2024-05-27Chapman, Ross E Esq NEGOTIATION80Bernardo Dominic
1034Mujtaba W WhobreyJapan2024-06-06Feltz Printing Service NEW29Elwin Sharvill
1035Antonio W BriddickAustralia2024-06-05Chapman, Ross E Esq RENEWAL86Asiya Javayant
1036Aditya Q DoeRussia2024-06-16King, Christopher A Esq QUALIFIED44Ioni Bowcher
1037James K FlosiSpain2024-06-05Feltz Printing Service QUALIFIED66Xuxue Feng
1038Jefferson M MorascaCanada2024-06-02Commercial Press RENEWAL36Asiya Javayant
1039Leon T KolmetzUnited Kingdom2024-06-17Chemel, James L Cpa QUALIFIED64Anna Fali
1040Julie G OstroskyArgentina2024-05-25King, Christopher A Esq NEW55Stephen Shaw
1041Sinclair N SlusarskiCanada2024-06-15Buckley Miller Wright RENEWAL51Asiya Javayant
1042Maisha O RoysterArgentina2024-06-12Chanay, Jeffrey A Esq NEGOTIATION72Stephen Shaw
1043Darci M RutaFrance2024-06-01Feltz Printing Service NEGOTIATION44Onyama Limba
1044Costa X MaletRussia2024-06-17Feiner Bros RENEWAL17Ivan Magalhaes
1045Mujtaba B AmigonIndia2024-05-26Benton, John B Jr QUALIFIED70Elwin Sharvill
1046Emily W MaletBrazil2024-06-14Benton, John B Jr NEGOTIATION62Stephen Shaw
1047Wickens Q IturbideBrazil2024-05-29Feiner Bros UNQUALIFIED81Stephen Shaw
1048Greenwood E DilliardGermany2024-06-08Morlong Associates PROPOSAL64Asiya Javayant
1049Smith A ShinkoSpain2024-06-19Rousseaux, Michael Esq UNQUALIFIED32Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Murillo I InouyeFranceAsiya Javayant PROPOSAL
Adams P SchemmerSpainAsiya Javayant NEW
Nicolas Z AlbaresArgentinaStephen Shaw QUALIFIED
Alejandro M CaldareraAustraliaAsiya Javayant NEW
Juan S AmigonIndiaAsiya Javayant PROPOSAL
Chavez O BowleyFranceStephen Shaw NEGOTIATION
Ivar D InouyeFranceIoni Bowcher UNQUALIFIED
Smith T BriddickIndiaOnyama Limba PROPOSAL
Murillo D StockhamJapanAnna Fali NEW
Chavez Y MorascaFranceAnna Fali UNQUALIFIED
Misaki V SchemmerBrazilOnyama Limba PROPOSAL
Juan A KuskoArgentinaIvan Magalhaes PROPOSAL
Ivar H DoeGermanyElwin Sharvill PROPOSAL
Cody Y FollerIndiaElwin Sharvill UNQUALIFIED
Aruna B FlosiCanadaIvan Magalhaes NEW
Tony C GarufiGermanyStephen Shaw UNQUALIFIED
Misaki P VocelkaCanadaIvan Magalhaes NEW
Munro I ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Maisha T SchemmerFranceElwin Sharvill RENEWAL
David I ShinkoUnited KingdomIoni Bowcher PROPOSAL
Morrow Y GillianItalyXuxue Feng NEW
Ivar E FigeroaUnited KingdomXuxue Feng RENEWAL
Ashley U MorascaGermanyStephen Shaw NEGOTIATION
Ricardo L ChuiUnited KingdomOnyama Limba UNQUALIFIED
Antonio T GarufiAustraliaBernardo Dominic NEGOTIATION
Francesco X ButtGermanyIoni Bowcher QUALIFIED
Antonio Z PerinUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba Y AlbaresFranceAsiya Javayant PROPOSAL
Jennifer Y IturbideIndiaIvan Magalhaes PROPOSAL
Leon X BriddickGermanyOnyama Limba QUALIFIED
Clifford H MaletIndiaOnyama Limba QUALIFIED
Ashley I MacleadItalyOnyama Limba UNQUALIFIED
David F StockhamFranceIvan Magalhaes PROPOSAL
Mujtaba O DilliardIndiaElwin Sharvill QUALIFIED
Antonio N NickaRussiaOnyama Limba NEW
Francesco J ButtUnited KingdomAsiya Javayant NEW
Aika O CaldareraIndiaStephen Shaw UNQUALIFIED
Jones L BologniaCanadaOnyama Limba UNQUALIFIED
Juan G ShinkoCanadaAsiya Javayant NEGOTIATION
Juan F GarufiBrazilAnna Fali QUALIFIED
Faith I FollerJapanBernardo Dominic PROPOSAL
Costa H GarufiIndiaOnyama Limba NEGOTIATION
Leon J MarrierRussiaAsiya Javayant NEGOTIATION
James I DilliardFranceElwin Sharvill NEW
Stacey E NestleSpainIoni Bowcher QUALIFIED
Ricardo V GarufiIndiaAmy Elsner PROPOSAL
Greenwood T OstroskyCanadaBernardo Dominic PROPOSAL
Francesco Z InouyeBrazilBernardo Dominic RENEWAL
Jones K OldroydSpainBernardo Dominic PROPOSAL
Clifford X KolmetzJapanXuxue Feng QUALIFIED
Frozen Columns
Name
Clifford U Bolognia
Nicolas A Chui
Misaki Z Glick
David Q Albares
Nicolas Z Venere
James B Chui
Deepesh R Ostrosky
Leon K Dilliard
Maria M Tollner
Sinclair P Saylors
David L Ostrosky
Jones Y Stockham
Adams G Shinko
Arvin E Saylors
Rodrigues C Kusko
Izzy L Garufi
Faith O Glick
Misaki M Schemmer
Aditya B Maclead
Aika C Darakjy
Kaitlin I Slusarski
Chavez F Bolognia
Aika D Malet
Clifford N Nicka
Aditya U Paprocki
Cody L Kusko
David P Kusko
Maria W Poquette
David V Darakjy
Aditya S Perin
Mujtaba C Ruta
Leon U Wieser
Leon N Glick
Kadeem Y Morasca
Aika R Poquette
Mayumi Z Paprocki
Octavia E Ostrosky
Maria N Saylors
Adams H Inouye
Emily E Iturbide
Silvio F Albares
Nicolas J Bolognia
Rodrigues P Ostrosky
Jones Q Vocelka
Costa T Kolmetz
Julie Q Morasca
Silvio W Garufi
Leja O Iturbide
Aika H Poquette
Ricardo S Chui
IdCountryDate
1000France2024-06-06
1001France2024-05-23
1002Japan2024-05-23
1003Argentina2024-05-24
1004Spain2024-05-27
1005France2024-06-20
1006Italy2024-05-29
1007France2024-06-06
1008France2024-06-02
1009France2024-06-01
1010France2024-06-20
1011Argentina2024-06-01
1012Canada2024-06-14
1013Germany2024-05-31
1014United Kingdom2024-06-06
1015Australia2024-05-30
1016United Kingdom2024-06-16
1017Italy2024-05-31
1018Canada2024-06-01
1019Japan2024-05-26
1020Canada2024-05-29
1021Spain2024-06-14
1022Germany2024-06-06
1023Russia2024-06-12
1024Argentina2024-05-25
1025Italy2024-06-03
1026Argentina2024-06-17
1027Japan2024-05-26
1028Argentina2024-06-06
1029Spain2024-06-02
1030Spain2024-06-07
1031Australia2024-06-01
1032Japan2024-06-06
1033Germany2024-05-26
1034France2024-06-04
1035France2024-06-13
1036Argentina2024-06-20
1037Germany2024-05-29
1038Russia2024-06-08
1039Argentina2024-06-08
1040Germany2024-06-20
1041United Kingdom2024-06-02
1042Spain2024-05-31
1043Russia2024-06-14
1044Italy2024-06-17
1045Australia2024-06-13
1046Japan2024-06-01
1047Argentina2024-05-24
1048Australia2024-05-27
1049Japan2024-06-21

On-Demand Data

NameIdCountryDate
James D Darakjy1000Russia2024-06-15
David O Briddick1001United Kingdom2024-06-12
Deepesh A Foller1002Brazil2024-05-27
Leja N Royster1003France2024-05-31
Greenwood Q Doe1004France2024-05-27
Maisha T Malet1005Brazil2024-06-10
Francesco B Ostrosky1006Japan2024-06-09
Rodrigues Q Oldroyd1007Spain2024-06-06
Jones U Ruta1008Germany2024-06-14
Aruna I Stockham1009Italy2024-06-17
Kadeem H Tollner1010France2024-05-30
Claire Y Ferencz1011Canada2024-05-30
Faith V Bolognia1012Brazil2024-05-31
Ashley K Stenseth1013Russia2024-06-03
Ricardo F Rulapaugh1014Spain2024-06-14
Jefferson Z Oldroyd1015Brazil2024-05-24
Tony D Stenseth1016Australia2024-06-20
Darci B Garufi1017Argentina2024-05-29
Johnson M Albares1018Brazil2024-05-30
Francesco N Bolognia1019Canada2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh U TollnerFranceIvan Magalhaes NEGOTIATION
Salvatore B VocelkaUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois H PaprockiUnited KingdomXuxue Feng RENEWAL
Isabel C WieserSpainAmy Elsner QUALIFIED
Salvatore U ButtGermanyIoni Bowcher NEGOTIATION
Antonio M OldroydBrazilAnna Fali NEW
Tony F MarrierUnited KingdomAsiya Javayant RENEWAL
Tony I PaprockiSpainAmy Elsner NEW
Maria X CampainCanadaAsiya Javayant QUALIFIED
Francesco G IturbideBrazilElwin Sharvill QUALIFIED
Deepesh D WaycottSpainElwin Sharvill PROPOSAL
Sinclair V MaletBrazilStephen Shaw NEW
Silvio X InouyeGermanyAsiya Javayant QUALIFIED
Aika J WhobreyBrazilXuxue Feng PROPOSAL
Mujtaba W BologniaGermanyIvan Magalhaes QUALIFIED
Adams W RulapaughUnited KingdomIvan Magalhaes NEW
Claire Z VenereJapanAmy Elsner UNQUALIFIED
Costa J GauchoIndiaElwin Sharvill UNQUALIFIED
Leon Y ChuiJapanBernardo Dominic UNQUALIFIED
Darci T PerinCanadaAmy Elsner UNQUALIFIED
Jefferson M GauchoFranceAnna Fali UNQUALIFIED
Francesco G FollerArgentinaIoni Bowcher UNQUALIFIED
Sinclair Y PaprockiIndiaStephen Shaw PROPOSAL
Sinclair R AlbaresBrazilOnyama Limba NEGOTIATION
Claire A RulapaughUnited KingdomOnyama Limba PROPOSAL
James J GauchoAustraliaIoni Bowcher NEGOTIATION
Emily R CaldareraSpainElwin Sharvill RENEWAL
Darci F FigeroaRussiaXuxue Feng UNQUALIFIED
Adams K RutaSpainAsiya Javayant PROPOSAL
David D AlbaresUnited KingdomBernardo Dominic UNQUALIFIED
Izzy D MorascaAustraliaAmy Elsner RENEWAL
Jefferson D MorascaRussiaAnna Fali RENEWAL
Morrow A GlickFranceIvan Magalhaes PROPOSAL
Aika M IturbideJapanAnna Fali RENEWAL
Salvatore A StockhamFranceBernardo Dominic UNQUALIFIED
Murillo M DoeFranceIvan Magalhaes UNQUALIFIED
Tony Q AlbaresRussiaAnna Fali PROPOSAL
Murillo O RulapaughUnited KingdomBernardo Dominic PROPOSAL
Leon R RimCanadaIvan Magalhaes NEW
Tony M StockhamGermanyOnyama Limba UNQUALIFIED

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