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
Silvio Q CaudyCanadaAnna Fali QUALIFIED
Stacey E FollerAustraliaBernardo Dominic QUALIFIED
Maisha U BowleyGermanyIoni Bowcher PROPOSAL
Jefferson G FigeroaUnited KingdomAmy Elsner QUALIFIED
Antonio B KuskoArgentinaOnyama Limba RENEWAL
Mujtaba B VocelkaCanadaOnyama Limba NEW
Wickens Q IturbideJapanAnna Fali NEGOTIATION
Rodrigues Z PerinBrazilIoni Bowcher UNQUALIFIED
Jennifer X PoquetteAustraliaStephen Shaw RENEWAL
Smith L RutaGermanyIvan Magalhaes NEW
Munro T PerinIndiaOnyama Limba UNQUALIFIED
James U SchemmerSpainAmy Elsner UNQUALIFIED
Arvin F TollnerCanadaIvan Magalhaes QUALIFIED
Ivar A SaylorsItalyAmy Elsner NEW
Smith E DilliardBrazilAsiya Javayant QUALIFIED
Francesco J WaycottBrazilAsiya Javayant PROPOSAL
Murillo C MorascaRussiaElwin Sharvill NEGOTIATION
Rodrigues P SlusarskiRussiaElwin Sharvill PROPOSAL
Salvatore G DilliardSpainAmy Elsner QUALIFIED
Faith F GillianIndiaIoni Bowcher PROPOSAL
Claire O MorascaUnited KingdomIvan Magalhaes QUALIFIED
Jefferson D MorascaGermanyAsiya Javayant QUALIFIED
Faith V VocelkaIndiaIvan Magalhaes RENEWAL
Adams U WaycottSpainXuxue Feng QUALIFIED
Sinclair V MacleadSpainBernardo Dominic PROPOSAL
David O CaudySpainBernardo Dominic UNQUALIFIED
Rodrigues F AmigonJapanStephen Shaw NEGOTIATION
Murillo R WhobreyRussiaXuxue Feng NEGOTIATION
Rodrigues E PoquetteArgentinaAsiya Javayant QUALIFIED
Mujtaba L RulapaughArgentinaBernardo Dominic RENEWAL
Morrow K TollnerIndiaXuxue Feng NEGOTIATION
Jones D BowleyJapanAnna Fali QUALIFIED
Tony K DoeJapanOnyama Limba NEGOTIATION
Murillo W FerenczJapanAsiya Javayant QUALIFIED
Aruna Y ChuiFranceStephen Shaw NEW
Darci C NickaCanadaAmy Elsner NEGOTIATION
Julie K TollnerRussiaAmy Elsner PROPOSAL
Antonio L KolmetzSpainIvan Magalhaes NEW
Misaki C PoquetteItalyStephen Shaw PROPOSAL
Costa K RulapaughAustraliaAmy Elsner RENEWAL
Wickens V GarufiAustraliaBernardo Dominic UNQUALIFIED
Antonio R VenereSpainIoni Bowcher RENEWAL
Antonio U WieserItalyElwin Sharvill QUALIFIED
Emily C ChuiFranceXuxue Feng RENEWAL
Ashley T RulapaughUnited KingdomAsiya Javayant QUALIFIED
Rodrigues P GarufiUnited KingdomAsiya Javayant RENEWAL
Clifford M NickaUnited KingdomAsiya Javayant NEGOTIATION
Octavia B OldroydAustraliaIvan Magalhaes PROPOSAL
Costa X GauchoAustraliaAnna Fali PROPOSAL
Sinclair E KolmetzUnited KingdomAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Alejandro G BowleyArgentinaStephen Shaw PROPOSAL
James U ChuiSpainBernardo Dominic PROPOSAL
Kadeem N KuskoItalyIvan Magalhaes QUALIFIED
Leja Y OstroskyArgentinaAnna Fali NEW
Greenwood U TollnerGermanyAnna Fali NEGOTIATION
Sinclair G WieserGermanyBernardo Dominic NEGOTIATION
Sinclair G GlickIndiaOnyama Limba PROPOSAL
Smith E StockhamAustraliaIvan Magalhaes PROPOSAL
David H PoquetteItalyAmy Elsner PROPOSAL
Adams L KolmetzJapanIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci S ShinkoIndia2024-05-27Commercial Press NEGOTIATION51Bernardo Dominic
1001Jones G GauchoJapan2024-05-27Chanay, Jeffrey A Esq NEGOTIATION59Elwin Sharvill
1002David L SaylorsIndia2024-05-27Benton, John B Jr PROPOSAL58Asiya Javayant
1003Salvatore C TollnerItaly2024-05-18Benton, John B Jr NEW60Bernardo Dominic
1004Leja F AmigonGermany2024-05-05Commercial Press QUALIFIED58Ioni Bowcher
1005Jeanfrancois K IturbideIndia2024-05-05Chemel, James L Cpa QUALIFIED14Ivan Magalhaes
1006Jennifer H MacleadArgentina2024-05-18Truhlar And Truhlar Attys QUALIFIED14Anna Fali
1007Greenwood O MaletBrazil2024-05-14Truhlar And Truhlar Attys RENEWAL70Elwin Sharvill
1008Murillo G DilliardAustralia2024-05-03Benton, John B Jr NEW40Xuxue Feng
1009Arvin P FollerArgentina2024-05-05Dorl, James J Esq NEW9Amy Elsner
1010Rodrigues R SchemmerArgentina2024-04-28Buckley Miller Wright NEGOTIATION18Stephen Shaw
1011Misaki W MacleadIndia2024-05-04Printing Dimensions QUALIFIED64Ivan Magalhaes
1012Greenwood S GauchoIndia2024-05-04Morlong Associates NEGOTIATION78Anna Fali
1013Munro G SchemmerItaly2024-05-03Rangoni Of Florence NEGOTIATION89Asiya Javayant
1014Misaki O KuskoArgentina2024-05-03Chanay, Jeffrey A Esq PROPOSAL84Bernardo Dominic
1015Faith J TollnerBrazil2024-05-24Dorl, James J Esq QUALIFIED0Onyama Limba
1016Arvin P StockhamArgentina2024-05-19Feiner Bros NEGOTIATION26Elwin Sharvill
1017Kaitlin B MaletUnited Kingdom2024-05-11Chemel, James L Cpa NEW33Asiya Javayant
1018Kaitlin I SergiArgentina2024-05-18Rousseaux, Michael Esq NEGOTIATION61Asiya Javayant
1019Faith P WaycottJapan2024-05-14Printing Dimensions RENEWAL30Amy Elsner
1020Adams I GarufiSpain2024-05-21Feltz Printing Service PROPOSAL73Anna Fali
1021Francesco H StensethBrazil2024-05-08King, Christopher A Esq RENEWAL21Elwin Sharvill
1022Mayumi F VocelkaArgentina2024-05-13King, Christopher A Esq UNQUALIFIED42Anna Fali
1023Aruna B MacleadCanada2024-05-15Benton, John B Jr PROPOSAL1Onyama Limba
1024Salvatore U GillianGermany2024-05-10Rangoni Of Florence QUALIFIED11Onyama Limba
1025Ivar Q FlosiCanada2024-05-24Commercial Press NEW20Bernardo Dominic
1026Silvio W FlosiSpain2024-05-03Chanay, Jeffrey A Esq NEGOTIATION56Xuxue Feng
1027Nicolas A PaprockiJapan2024-05-06Morlong Associates NEW19Xuxue Feng
1028Rodrigues R WieserAustralia2024-05-04Chemel, James L Cpa NEGOTIATION83Ioni Bowcher
1029Jones U MarrierGermany2024-05-05Morlong Associates NEW40Asiya Javayant
1030Rodrigues B SchemmerBrazil2024-05-03Dorl, James J Esq PROPOSAL6Bernardo Dominic
1031Leon R CampainRussia2024-05-21Chapman, Ross E Esq NEGOTIATION36Anna Fali
1032Misaki R BologniaFrance2024-05-21Printing Dimensions UNQUALIFIED96Stephen Shaw
1033Octavia C KuskoArgentina2024-05-23Rangoni Of Florence UNQUALIFIED43Elwin Sharvill
1034Alejandro B PoquetteFrance2024-05-07Dorl, James J Esq QUALIFIED7Bernardo Dominic
1035Greenwood R VenereBrazil2024-05-15Printing Dimensions UNQUALIFIED89Ioni Bowcher
1036Jefferson B FerenczUnited Kingdom2024-05-23Buckley Miller Wright UNQUALIFIED7Elwin Sharvill
1037Ivar K MorascaUnited Kingdom2024-05-27Morlong Associates NEGOTIATION30Asiya Javayant
1038Nicolas C RutaUnited Kingdom2024-05-27Truhlar And Truhlar Attys RENEWAL22Elwin Sharvill
1039Costa E WieserSpain2024-05-09Chemel, James L Cpa QUALIFIED66Onyama Limba
1040Silvio B SchemmerFrance2024-05-08Feltz Printing Service QUALIFIED58Ioni Bowcher
1041Cody F CampainBrazil2024-05-03Chapman, Ross E Esq NEGOTIATION29Asiya Javayant
1042Juan H MaletItaly2024-05-25Buckley Miller Wright NEW83Anna Fali
1043Misaki F SaylorsArgentina2024-05-27Truhlar And Truhlar Attys QUALIFIED54Stephen Shaw
1044Jennifer W VocelkaBrazil2024-05-24Chapman, Ross E Esq UNQUALIFIED56Onyama Limba
1045Cody C ButtCanada2024-05-19Printing Dimensions NEW35Onyama Limba
1046Kadeem Z VenereRussia2024-04-28Printing Dimensions NEGOTIATION81Ioni Bowcher
1047Julie J SaylorsGermany2024-04-29Chapman, Ross E Esq PROPOSAL60Onyama Limba
1048Costa R AmigonItaly2024-05-18Feiner Bros PROPOSAL43Amy Elsner
1049Ivar F FerenczItaly2024-05-07Chemel, James L Cpa NEGOTIATION44Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Alejandro L RoysterUnited KingdomAnna Fali UNQUALIFIED
Isabel E SergiAustraliaIvan Magalhaes RENEWAL
David T MaletGermanyOnyama Limba NEGOTIATION
Arvin P TollnerGermanyStephen Shaw UNQUALIFIED
Murillo U DoeIndiaStephen Shaw RENEWAL
Aditya Q WaycottBrazilIvan Magalhaes RENEWAL
Chavez M FollerIndiaXuxue Feng UNQUALIFIED
Isabel B RoysterCanadaIoni Bowcher QUALIFIED
Arvin C FlosiAustraliaElwin Sharvill NEW
Aika D DarakjyRussiaStephen Shaw PROPOSAL
Maisha A AlbaresSpainIoni Bowcher QUALIFIED
Chavez K RimUnited KingdomStephen Shaw NEW
Mujtaba W MorascaFranceAnna Fali QUALIFIED
Kaitlin R InouyeIndiaOnyama Limba QUALIFIED
Alejandro V WieserCanadaAmy Elsner NEW
Leon O NestleSpainElwin Sharvill RENEWAL
Adams I NestleFranceAnna Fali QUALIFIED
Juan C SaylorsItalyXuxue Feng PROPOSAL
Faith X SaylorsSpainBernardo Dominic RENEWAL
Jennifer B MacleadBrazilAnna Fali UNQUALIFIED
Salvatore R ButtCanadaIvan Magalhaes PROPOSAL
James Q RoysterIndiaOnyama Limba QUALIFIED
Munro Y MorascaArgentinaAsiya Javayant PROPOSAL
Antonio S WieserAustraliaBernardo Dominic UNQUALIFIED
Francesco H PoquetteUnited KingdomElwin Sharvill RENEWAL
Jefferson L InouyeSpainIvan Magalhaes RENEWAL
Antonio D RulapaughUnited KingdomElwin Sharvill QUALIFIED
Mujtaba Q CaudyCanadaBernardo Dominic NEGOTIATION
Aditya Z BowleySpainStephen Shaw NEGOTIATION
Isabel U DoeBrazilAnna Fali PROPOSAL
Sinclair H CampainFranceXuxue Feng NEGOTIATION
Murillo C PoquetteItalyXuxue Feng PROPOSAL
Jones U MorascaRussiaOnyama Limba PROPOSAL
Ivar Y KolmetzIndiaBernardo Dominic QUALIFIED
Cody M WieserJapanElwin Sharvill UNQUALIFIED
Izzy L GarufiItalyElwin Sharvill PROPOSAL
Clifford Z DarakjyAustraliaAsiya Javayant PROPOSAL
Juan U GillianRussiaBernardo Dominic QUALIFIED
Silvio J SchemmerRussiaXuxue Feng QUALIFIED
James V PoquetteItalyXuxue Feng PROPOSAL
Deepesh X SchemmerFranceAsiya Javayant NEGOTIATION
Emily G AmigonUnited KingdomBernardo Dominic RENEWAL
Arvin G TollnerIndiaStephen Shaw RENEWAL
Faith D FlosiFranceAsiya Javayant NEW
Ivar C FigeroaUnited KingdomIoni Bowcher RENEWAL
Smith S FerenczCanadaElwin Sharvill NEGOTIATION
Cody G StensethBrazilXuxue Feng QUALIFIED
Kadeem C CaudyAustraliaXuxue Feng NEGOTIATION
Izzy U MaletRussiaAmy Elsner NEGOTIATION
Kaitlin T ButtItalyBernardo Dominic NEW
Frozen Columns
Name
Smith I Darakjy
Stacey H Bolognia
Sinclair Q Venere
Izzy W Perin
Ricardo B Darakjy
Faith J Foller
Wickens V Schemmer
Ivar Z Gaucho
Mayumi F Stenseth
Faith X Rulapaugh
Smith P Bowley
Adams W Kolmetz
Rodrigues H Saylors
Sinclair K Darakjy
Darci V Rim
Costa J Kolmetz
Faith R Royster
Greenwood G Garufi
Munro P Whobrey
Kadeem C Poquette
Wickens D Garufi
Cody N Paprocki
Jeanfrancois Q Doe
Aruna H Doe
Claire A Shinko
Smith A Albares
Darci U Morasca
Misaki N Schemmer
Morrow H Slusarski
Salvatore X Stenseth
Jennifer T Venere
Clifford X Ferencz
Ashley V Figeroa
Stacey Y Saylors
Darci N Campain
Maria L Caudy
Munro V Inouye
Darci P Glick
Adams L Paprocki
Salvatore H Iturbide
Ashley C Doe
Wickens F Wieser
Julie P Flosi
Juan S Campain
Morrow C Rulapaugh
Maisha X Bowley
Claire S Inouye
Maria L Glick
Wickens Z Whobrey
Ricardo A Whobrey
IdCountryDate
1000Canada2024-05-02
1001Canada2024-04-29
1002India2024-05-19
1003Italy2024-05-01
1004Australia2024-05-21
1005Russia2024-05-21
1006India2024-05-05
1007Russia2024-05-19
1008Germany2024-05-14
1009Spain2024-05-21
1010France2024-05-05
1011Australia2024-05-16
1012Argentina2024-05-06
1013Brazil2024-05-07
1014India2024-04-28
1015Canada2024-05-02
1016Italy2024-04-28
1017France2024-05-03
1018India2024-05-06
1019India2024-05-04
1020India2024-05-02
1021France2024-04-29
1022India2024-05-14
1023Canada2024-05-09
1024Argentina2024-05-01
1025Canada2024-05-11
1026United Kingdom2024-05-10
1027Japan2024-05-09
1028Brazil2024-05-27
1029Australia2024-04-28
1030France2024-05-25
1031India2024-05-12
1032Brazil2024-05-07
1033France2024-05-07
1034Canada2024-04-29
1035Argentina2024-05-16
1036Australia2024-05-09
1037Spain2024-05-11
1038Italy2024-05-02
1039Spain2024-05-06
1040France2024-05-16
1041Germany2024-05-05
1042Australia2024-05-10
1043Brazil2024-05-12
1044Brazil2024-04-29
1045United Kingdom2024-05-21
1046India2024-05-27
1047Australia2024-05-08
1048Japan2024-05-27
1049Argentina2024-05-27

On-Demand Data

NameIdCountryDate
Silvio A Flosi1000Australia2024-05-21
Silvio U Glick1001Russia2024-05-21
Julie N Rim1002Argentina2024-05-22
Smith L Waycott1003India2024-05-26
Jennifer Y Waycott1004Australia2024-05-24
Jefferson J Oldroyd1005United Kingdom2024-05-06
Nicolas Q Campain1006Spain2024-05-17
Faith B Stockham1007Spain2024-05-12
Maria Y Gaucho1008Germany2024-05-12
Murillo E Ruta1009Russia2024-05-18
Julie C Whobrey1010Italy2024-05-08
Rodrigues E Marrier1011Germany2024-05-07
Alejandro M Slusarski1012United Kingdom2024-05-19
Smith P Dilliard1013Australia2024-05-15
Aika E Albares1014Italy2024-05-10
Sinclair R Paprocki1015Canada2024-05-04
James C Shinko1016Germany2024-04-30
Tony B Tollner1017Russia2024-05-10
David R Venere1018France2024-05-24
Alejandro Y Briddick1019Russia2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba T RulapaughFranceAnna Fali NEGOTIATION
Stacey O SlusarskiCanadaOnyama Limba UNQUALIFIED
Aditya C OstroskyJapanXuxue Feng NEW
Munro M SlusarskiIndiaXuxue Feng QUALIFIED
Misaki I RutaUnited KingdomAmy Elsner QUALIFIED
Octavia M FerenczSpainStephen Shaw RENEWAL
Clifford W KolmetzCanadaAsiya Javayant QUALIFIED
Aditya R OldroydRussiaIoni Bowcher QUALIFIED
Darci D GauchoAustraliaAnna Fali NEW
Aruna R TollnerCanadaXuxue Feng NEGOTIATION
Aruna K CaudyGermanyIvan Magalhaes PROPOSAL
Juan G PerinSpainBernardo Dominic RENEWAL
Darci Y FlosiBrazilElwin Sharvill UNQUALIFIED
Wickens P WieserUnited KingdomAmy Elsner PROPOSAL
Misaki R RutaIndiaAsiya Javayant NEGOTIATION
Leon P SlusarskiAustraliaAnna Fali NEGOTIATION
Claire W CaldareraRussiaOnyama Limba NEW
Aika H TollnerRussiaIvan Magalhaes PROPOSAL
Morrow T BowleyCanadaXuxue Feng QUALIFIED
Izzy Z CampainArgentinaStephen Shaw RENEWAL
Salvatore L CampainAustraliaAsiya Javayant NEGOTIATION
Jefferson M StockhamJapanElwin Sharvill NEW
Aditya F RoysterArgentinaBernardo Dominic RENEWAL
David E DilliardGermanyAmy Elsner QUALIFIED
Isabel F SchemmerSpainBernardo Dominic UNQUALIFIED
Aika I PerinUnited KingdomStephen Shaw NEGOTIATION
David L ButtUnited KingdomElwin Sharvill UNQUALIFIED
Ivar J RoysterGermanyStephen Shaw NEGOTIATION
Deepesh G PoquetteGermanyBernardo Dominic QUALIFIED
Antonio V GillianCanadaIoni Bowcher UNQUALIFIED
Izzy U ButtAustraliaElwin Sharvill QUALIFIED
Murillo N NickaArgentinaBernardo Dominic PROPOSAL
Faith O DilliardJapanStephen Shaw UNQUALIFIED
Jeanfrancois J GauchoIndiaOnyama Limba NEW
Kadeem C MaletItalyXuxue Feng NEGOTIATION
Aruna M ShinkoUnited KingdomXuxue Feng NEGOTIATION
Aditya I ShinkoUnited KingdomAnna Fali PROPOSAL
Tony P GlickIndiaStephen Shaw QUALIFIED
Alejandro W MaletJapanStephen Shaw PROPOSAL
Jennifer M FerenczJapanXuxue Feng 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>