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
Mayumi A FlosiAustraliaOnyama Limba RENEWAL
Smith V MaletItalyOnyama Limba QUALIFIED
Mayumi F SchemmerArgentinaXuxue Feng NEGOTIATION
Mayumi H MaletAustraliaAmy Elsner PROPOSAL
Morrow E DilliardItalyOnyama Limba NEGOTIATION
Arvin Z OldroydIndiaAsiya Javayant PROPOSAL
Smith D MaletItalyXuxue Feng NEGOTIATION
Kadeem V MorascaSpainAmy Elsner PROPOSAL
Juan C FigeroaArgentinaBernardo Dominic PROPOSAL
Antonio X RutaIndiaAmy Elsner RENEWAL
Faith J RimAustraliaBernardo Dominic NEGOTIATION
Stacey R SlusarskiJapanIvan Magalhaes NEW
Salvatore Q PerinIndiaElwin Sharvill NEW
Alejandro M RutaCanadaBernardo Dominic PROPOSAL
Aditya F CaldareraAustraliaXuxue Feng PROPOSAL
Misaki J SaylorsSpainIvan Magalhaes UNQUALIFIED
Murillo Y RulapaughFranceAmy Elsner NEGOTIATION
Ivar Y BriddickItalyBernardo Dominic RENEWAL
Mujtaba R MorascaCanadaAmy Elsner NEGOTIATION
Kaitlin T OldroydUnited KingdomStephen Shaw NEGOTIATION
James L ButtFranceIvan Magalhaes UNQUALIFIED
Isabel J VocelkaIndiaXuxue Feng PROPOSAL
Stacey L WaycottRussiaIvan Magalhaes UNQUALIFIED
Clifford I SergiFranceElwin Sharvill QUALIFIED
Maria E TollnerBrazilAsiya Javayant PROPOSAL
Deepesh F ShinkoFranceIoni Bowcher PROPOSAL
Chavez Z CaldareraUnited KingdomElwin Sharvill QUALIFIED
Antonio X DilliardJapanAnna Fali QUALIFIED
Clifford K NestleSpainStephen Shaw QUALIFIED
Kadeem K OstroskyAustraliaAmy Elsner NEGOTIATION
Francesco P StockhamItalyBernardo Dominic PROPOSAL
Claire W NickaRussiaElwin Sharvill NEGOTIATION
Wickens P OstroskyArgentinaElwin Sharvill UNQUALIFIED
Costa P BowleyBrazilAmy Elsner PROPOSAL
Francesco D ButtBrazilIvan Magalhaes NEW
Jefferson Y StensethFranceOnyama Limba QUALIFIED
Mayumi V CaudyAustraliaElwin Sharvill NEW
Kaitlin Z OstroskyGermanyIvan Magalhaes PROPOSAL
Julie J StensethBrazilElwin Sharvill QUALIFIED
Greenwood V StockhamArgentinaIoni Bowcher QUALIFIED
Claire T PaprockiIndiaStephen Shaw NEW
Munro N StensethIndiaOnyama Limba RENEWAL
Adams G ButtIndiaIoni Bowcher PROPOSAL
Greenwood Y DarakjyIndiaAsiya Javayant NEGOTIATION
Leja K CaudyCanadaIvan Magalhaes PROPOSAL
Kadeem E KuskoGermanyXuxue Feng RENEWAL
Johnson G KolmetzBrazilAsiya Javayant NEGOTIATION
Darci U FollerIndiaXuxue Feng RENEWAL
Mujtaba M SergiRussiaElwin Sharvill PROPOSAL
Salvatore M PerinJapanIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas T SaylorsAustraliaIvan Magalhaes NEGOTIATION
Faith F PaprockiBrazilIoni Bowcher RENEWAL
Costa R AmigonUnited KingdomIoni Bowcher PROPOSAL
Sinclair G GillianSpainAnna Fali NEGOTIATION
Aruna A RutaArgentinaIoni Bowcher PROPOSAL
Adams X FigeroaAustraliaAsiya Javayant UNQUALIFIED
Ricardo F RoysterJapanAmy Elsner RENEWAL
Wickens O ButtArgentinaElwin Sharvill UNQUALIFIED
Murillo G FerenczIndiaOnyama Limba QUALIFIED
Aditya P ButtSpainStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar Z IturbideGermany2024-05-25Feiner Bros RENEWAL71Xuxue Feng
1001Ashley P PaprockiIndia2024-05-24Rangoni Of Florence PROPOSAL42Stephen Shaw
1002Faith P TollnerSpain2024-06-14Rousseaux, Michael Esq RENEWAL90Asiya Javayant
1003Deepesh B BowleyUnited Kingdom2024-05-27Rangoni Of Florence QUALIFIED89Xuxue Feng
1004Kaitlin Z OldroydSpain2024-06-14Rousseaux, Michael Esq PROPOSAL99Elwin Sharvill
1005Nicolas K StockhamBrazil2024-06-18Truhlar And Truhlar Attys NEW21Xuxue Feng
1006Leja F GillianJapan2024-06-10Truhlar And Truhlar Attys NEGOTIATION24Ivan Magalhaes
1007Antonio P SaylorsArgentina2024-06-12Chemel, James L Cpa NEW26Ioni Bowcher
1008Antonio K ButtRussia2024-05-30Rousseaux, Michael Esq NEGOTIATION84Bernardo Dominic
1009Faith R ChuiFrance2024-06-03Buckley Miller Wright NEW46Amy Elsner
1010Aruna S OldroydRussia2024-06-14Commercial Press NEGOTIATION13Onyama Limba
1011Alejandro Q WaycottUnited Kingdom2024-06-16Rousseaux, Michael Esq PROPOSAL42Amy Elsner
1012Morrow I WhobreyJapan2024-06-10Commercial Press NEW37Anna Fali
1013Alejandro K TollnerCanada2024-06-19Benton, John B Jr PROPOSAL47Stephen Shaw
1014Antonio H BriddickGermany2024-06-12King, Christopher A Esq NEGOTIATION40Stephen Shaw
1015Faith L PaprockiUnited Kingdom2024-06-07Rousseaux, Michael Esq PROPOSAL82Onyama Limba
1016David T RoysterSpain2024-06-05King, Christopher A Esq PROPOSAL74Amy Elsner
1017Kaitlin H InouyeJapan2024-06-09Chanay, Jeffrey A Esq PROPOSAL15Ioni Bowcher
1018James B SaylorsRussia2024-06-14Commercial Press NEW51Elwin Sharvill
1019Clifford N RimIndia2024-06-18Chemel, James L Cpa NEW4Ioni Bowcher
1020Murillo Z MaletSpain2024-06-04Buckley Miller Wright UNQUALIFIED55Xuxue Feng
1021Aditya Y GlickSpain2024-05-30Feltz Printing Service QUALIFIED50Bernardo Dominic
1022Tony Y DilliardAustralia2024-06-15King, Christopher A Esq NEGOTIATION3Bernardo Dominic
1023Octavia N DarakjyIndia2024-05-26Rangoni Of Florence QUALIFIED3Xuxue Feng
1024Aditya U NestleBrazil2024-06-05Truhlar And Truhlar Attys UNQUALIFIED12Amy Elsner
1025Nicolas V RimSpain2024-06-03Printing Dimensions QUALIFIED55Elwin Sharvill
1026Smith H IturbideItaly2024-05-31Dorl, James J Esq PROPOSAL56Asiya Javayant
1027Alejandro F GarufiFrance2024-06-12Rangoni Of Florence RENEWAL35Ioni Bowcher
1028Adams X VenereSpain2024-06-01Truhlar And Truhlar Attys NEGOTIATION37Onyama Limba
1029Aika B GillianJapan2024-06-13Feltz Printing Service PROPOSAL19Xuxue Feng
1030Jones P GlickAustralia2024-05-25Dorl, James J Esq PROPOSAL41Xuxue Feng
1031Julie C PoquetteCanada2024-05-30Dorl, James J Esq PROPOSAL31Amy Elsner
1032Morrow N GarufiUnited Kingdom2024-06-16Rangoni Of Florence UNQUALIFIED44Asiya Javayant
1033Leja E AlbaresArgentina2024-06-21Rangoni Of Florence NEGOTIATION93Asiya Javayant
1034Jennifer R ShinkoArgentina2024-05-26Feltz Printing Service UNQUALIFIED0Ivan Magalhaes
1035Aruna F SaylorsRussia2024-06-12Buckley Miller Wright RENEWAL67Bernardo Dominic
1036Morrow A DoeJapan2024-06-19Rangoni Of Florence NEGOTIATION15Ioni Bowcher
1037Salvatore J RulapaughArgentina2024-05-24Chemel, James L Cpa UNQUALIFIED89Xuxue Feng
1038Arvin I AlbaresFrance2024-06-20King, Christopher A Esq QUALIFIED25Amy Elsner
1039Silvio N RulapaughIndia2024-05-27Commercial Press PROPOSAL30Elwin Sharvill
1040Antonio R GarufiJapan2024-06-11Chapman, Ross E Esq UNQUALIFIED21Ivan Magalhaes
1041Aruna W StensethAustralia2024-06-14Chapman, Ross E Esq NEGOTIATION25Onyama Limba
1042Tony Z PoquetteUnited Kingdom2024-06-14Benton, John B Jr NEGOTIATION94Amy Elsner
1043David O MaletRussia2024-06-08Morlong Associates NEGOTIATION87Amy Elsner
1044Ashley B SlusarskiUnited Kingdom2024-06-17Buckley Miller Wright RENEWAL73Ioni Bowcher
1045Claire O RulapaughSpain2024-06-02Printing Dimensions NEGOTIATION90Amy Elsner
1046Kaitlin K WaycottCanada2024-06-20Benton, John B Jr PROPOSAL53Anna Fali
1047Chavez N FerenczCanada2024-05-28King, Christopher A Esq RENEWAL78Anna Fali
1048Francesco M DilliardArgentina2024-05-27Chemel, James L Cpa UNQUALIFIED68Elwin Sharvill
1049Silvio U SaylorsUnited Kingdom2024-06-18Feltz Printing Service PROPOSAL77Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
David K GillianGermanyElwin Sharvill PROPOSAL
Clifford U WaycottBrazilAmy Elsner PROPOSAL
Sinclair T RoysterFranceElwin Sharvill UNQUALIFIED
Nicolas L BriddickIndiaOnyama Limba NEW
Jennifer S CaldareraGermanyOnyama Limba NEGOTIATION
Tony X FigeroaCanadaBernardo Dominic PROPOSAL
Greenwood B NestleItalyOnyama Limba RENEWAL
Jefferson G FlosiBrazilIvan Magalhaes NEW
Jones Y GauchoBrazilXuxue Feng NEW
Silvio J DarakjyAustraliaIoni Bowcher RENEWAL
Deepesh X OstroskyBrazilIvan Magalhaes NEW
Chavez T GillianAustraliaBernardo Dominic NEW
Leon Y SlusarskiCanadaIvan Magalhaes NEGOTIATION
Julie K GillianJapanIoni Bowcher UNQUALIFIED
Octavia P RoysterJapanStephen Shaw NEW
Maisha V NestleRussiaBernardo Dominic UNQUALIFIED
Stacey T GauchoGermanyXuxue Feng QUALIFIED
Ashley F OldroydSpainOnyama Limba NEW
Rodrigues X WieserGermanyAnna Fali RENEWAL
Francesco B RimArgentinaAnna Fali RENEWAL
Leja M FerenczItalyAsiya Javayant NEGOTIATION
Kaitlin S AlbaresJapanStephen Shaw NEGOTIATION
Rodrigues S WhobreyBrazilStephen Shaw NEGOTIATION
Aditya G FigeroaGermanyIvan Magalhaes NEGOTIATION
Emily M FigeroaArgentinaElwin Sharvill NEW
Mujtaba A GarufiRussiaAnna Fali NEW
Aruna D DoeUnited KingdomOnyama Limba UNQUALIFIED
Octavia G RutaSpainIvan Magalhaes QUALIFIED
Cody Q DoeUnited KingdomElwin Sharvill RENEWAL
Aditya I AmigonAustraliaIoni Bowcher RENEWAL
Morrow P InouyeSpainIvan Magalhaes PROPOSAL
Aditya A OstroskyArgentinaStephen Shaw QUALIFIED
Claire M FigeroaGermanyAsiya Javayant NEW
Jennifer K InouyeBrazilXuxue Feng UNQUALIFIED
Murillo S DarakjySpainAnna Fali RENEWAL
Jeanfrancois I DarakjyFranceAmy Elsner QUALIFIED
Jefferson I GauchoUnited KingdomAnna Fali NEW
Deepesh R ButtBrazilXuxue Feng QUALIFIED
Mayumi H SchemmerArgentinaIvan Magalhaes PROPOSAL
Emily S FigeroaCanadaAsiya Javayant PROPOSAL
Salvatore U FlosiGermanyAmy Elsner NEGOTIATION
Smith Q FlosiBrazilOnyama Limba UNQUALIFIED
Cody E NestleAustraliaOnyama Limba RENEWAL
Octavia O FigeroaGermanyXuxue Feng RENEWAL
Johnson W DilliardJapanOnyama Limba NEGOTIATION
Morrow H VocelkaUnited KingdomIvan Magalhaes RENEWAL
Nicolas C GauchoFranceIoni Bowcher PROPOSAL
Jones G KuskoItalyOnyama Limba RENEWAL
Darci P AmigonUnited KingdomStephen Shaw PROPOSAL
Faith Q ShinkoIndiaOnyama Limba QUALIFIED
Frozen Columns
Name
Kaitlin P Venere
Nicolas R Gillian
Octavia U Bolognia
Costa U Ferencz
Julie H Nestle
Aruna L Rim
Leja L Malet
Chavez Q Doe
Emily T Caldarera
Francesco L Shinko
Smith Z Ferencz
Izzy G Shinko
James D Perin
Claire W Figeroa
Aruna B Albares
Ricardo P Rulapaugh
Claire U Rim
Aditya D Marrier
Aika I Sergi
Antonio C Garufi
Rodrigues A Foller
Kadeem H Darakjy
Kaitlin C Rulapaugh
Wickens J Campain
Adams W Kolmetz
Claire S Schemmer
Mujtaba C Darakjy
David O Foller
Morrow S Glick
David J Tollner
Ashley S Ferencz
Sinclair H Waycott
Faith V Amigon
Leja Z Tollner
Munro W Whobrey
Francesco Y Kusko
Juan U Chui
Leja P Dilliard
Faith Q Briddick
Francesco D Kolmetz
Claire C Butt
Murillo Q Vocelka
Claire P Vocelka
Octavia V Nicka
Clifford F Ruta
Faith U Maclead
Arvin B Caudy
Emily W Waycott
Maisha S Malet
Jennifer C Amigon
IdCountryDate
1000United Kingdom2024-06-21
1001Australia2024-06-13
1002Canada2024-06-13
1003Japan2024-06-14
1004Canada2024-05-26
1005Australia2024-05-27
1006United Kingdom2024-06-14
1007Brazil2024-06-08
1008Japan2024-06-01
1009Spain2024-05-29
1010United Kingdom2024-06-03
1011Germany2024-05-31
1012France2024-06-15
1013Canada2024-06-21
1014Argentina2024-05-24
1015India2024-06-21
1016Italy2024-06-10
1017Canada2024-06-15
1018Brazil2024-06-08
1019France2024-06-19
1020Japan2024-05-31
1021Canada2024-06-17
1022France2024-06-15
1023France2024-06-12
1024Argentina2024-06-14
1025India2024-05-30
1026Australia2024-06-04
1027Italy2024-06-18
1028United Kingdom2024-06-07
1029Germany2024-05-28
1030Argentina2024-06-21
1031Canada2024-06-04
1032France2024-06-09
1033Argentina2024-06-19
1034France2024-06-05
1035India2024-05-25
1036Argentina2024-06-19
1037India2024-05-31
1038Russia2024-06-07
1039Germany2024-05-24
1040United Kingdom2024-06-01
1041Russia2024-06-10
1042Italy2024-06-02
1043India2024-05-26
1044France2024-05-31
1045Germany2024-06-14
1046Spain2024-06-16
1047India2024-06-03
1048Spain2024-05-30
1049India2024-06-10

On-Demand Data

NameIdCountryDate
Chavez G Darakjy1000Japan2024-05-27
Arvin N Waycott1001Australia2024-05-30
Julie T Campain1002Australia2024-06-11
David Y Campain1003France2024-06-14
James B Slusarski1004Brazil2024-06-07
Aika I Paprocki1005Canada2024-06-19
Octavia K Iturbide1006Spain2024-05-28
Misaki F Campain1007Russia2024-06-01
Deepesh C Malet1008Argentina2024-06-02
Arvin V Flosi1009Australia2024-06-21
Maisha Y Kusko1010Japan2024-05-24
Kaitlin N Ruta1011Germany2024-05-30
Rodrigues V Ferencz1012Argentina2024-05-28
Antonio F Gaucho1013France2024-06-06
Darci Z Whobrey1014India2024-06-21
David Q Gaucho1015Germany2024-06-14
Clifford M Malet1016France2024-06-06
Deepesh B Gillian1017India2024-06-07
Misaki O Ruta1018France2024-06-01
Misaki Z Shinko1019Argentina2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci I CampainArgentinaAnna Fali RENEWAL
Chavez C FerenczRussiaStephen Shaw QUALIFIED
Julie S PoquetteIndiaIoni Bowcher NEW
Ivar V KolmetzArgentinaXuxue Feng UNQUALIFIED
Tony F CaudySpainAmy Elsner RENEWAL
Cody U SergiIndiaIvan Magalhaes NEW
Adams J AmigonRussiaStephen Shaw PROPOSAL
Greenwood Q NickaJapanOnyama Limba NEW
Jefferson Y BriddickAustraliaStephen Shaw NEGOTIATION
Cody X BologniaSpainXuxue Feng QUALIFIED
Alejandro F MacleadAustraliaElwin Sharvill PROPOSAL
Octavia K WaycottItalyIoni Bowcher NEW
David V KuskoItalyStephen Shaw QUALIFIED
Ivar Z WaycottIndiaAmy Elsner PROPOSAL
Jennifer R KuskoUnited KingdomStephen Shaw QUALIFIED
Nicolas L DarakjyAustraliaElwin Sharvill PROPOSAL
Isabel F FlosiCanadaElwin Sharvill NEGOTIATION
Ivar E MacleadFranceXuxue Feng RENEWAL
Johnson O BowleySpainAsiya Javayant QUALIFIED
Sinclair X MacleadRussiaIvan Magalhaes UNQUALIFIED
Emily G StockhamJapanAsiya Javayant PROPOSAL
Munro F PerinUnited KingdomAnna Fali NEW
Wickens H TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh G PoquetteSpainAsiya Javayant PROPOSAL
Cody B CaudyBrazilElwin Sharvill PROPOSAL
Claire S StensethCanadaIoni Bowcher UNQUALIFIED
Ricardo I RoysterArgentinaStephen Shaw QUALIFIED
Maisha M FlosiFranceStephen Shaw UNQUALIFIED
Jeanfrancois M SergiUnited KingdomElwin Sharvill PROPOSAL
Chavez R BowleySpainIvan Magalhaes PROPOSAL
Jones R GauchoUnited KingdomBernardo Dominic NEGOTIATION
Juan O FigeroaArgentinaOnyama Limba PROPOSAL
David B PoquetteCanadaXuxue Feng NEW
Mayumi S GillianSpainAsiya Javayant RENEWAL
Antonio C BowleyJapanOnyama Limba PROPOSAL
Deepesh G BologniaAustraliaElwin Sharvill NEW
Kadeem T WhobreyCanadaStephen Shaw PROPOSAL
Adams Z PaprockiBrazilBernardo Dominic QUALIFIED
Salvatore M SlusarskiUnited KingdomStephen Shaw PROPOSAL
Aruna G DilliardArgentinaStephen Shaw NEGOTIATION

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