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
Jones E GarufiAustraliaIoni Bowcher PROPOSAL
Munro C StensethCanadaElwin Sharvill PROPOSAL
Mayumi V OldroydUnited KingdomStephen Shaw NEW
Leon R VenereFranceIvan Magalhaes PROPOSAL
Morrow T SchemmerFranceAmy Elsner RENEWAL
Leon T SaylorsFranceBernardo Dominic NEGOTIATION
Morrow O CaudyJapanElwin Sharvill NEW
Rodrigues J KuskoRussiaBernardo Dominic QUALIFIED
Mujtaba B FerenczBrazilAnna Fali NEW
Juan T MaletAustraliaStephen Shaw UNQUALIFIED
Ashley L BriddickCanadaAmy Elsner NEGOTIATION
Alejandro G NickaUnited KingdomAnna Fali NEGOTIATION
Ivar L DarakjyAustraliaXuxue Feng RENEWAL
Morrow V FlosiItalyBernardo Dominic NEW
Sinclair M RimUnited KingdomAmy Elsner NEGOTIATION
Jones O IturbideRussiaAsiya Javayant NEGOTIATION
Costa W AlbaresUnited KingdomBernardo Dominic PROPOSAL
Wickens R IturbideGermanyElwin Sharvill QUALIFIED
Misaki B FerenczCanadaAsiya Javayant QUALIFIED
Emily M KolmetzUnited KingdomXuxue Feng RENEWAL
James E MorascaFranceAsiya Javayant UNQUALIFIED
Silvio M FlosiCanadaAmy Elsner UNQUALIFIED
Chavez E CampainGermanyStephen Shaw UNQUALIFIED
Juan R BriddickRussiaAmy Elsner QUALIFIED
Costa U SergiBrazilAsiya Javayant UNQUALIFIED
Aditya U BriddickIndiaIvan Magalhaes UNQUALIFIED
Munro B KuskoAustraliaElwin Sharvill RENEWAL
Munro F RutaFranceIvan Magalhaes NEGOTIATION
Ivar L StockhamItalyAmy Elsner NEW
Leja J NickaAustraliaOnyama Limba NEGOTIATION
Kaitlin W SlusarskiIndiaIvan Magalhaes NEW
Munro Q ShinkoArgentinaBernardo Dominic NEGOTIATION
Clifford H MarrierJapanIvan Magalhaes NEGOTIATION
Deepesh X NestleItalyElwin Sharvill RENEWAL
Costa B StockhamIndiaAmy Elsner QUALIFIED
Morrow Y PoquetteCanadaIvan Magalhaes NEW
Salvatore G GillianRussiaAmy Elsner PROPOSAL
Chavez W InouyeArgentinaBernardo Dominic QUALIFIED
Johnson P BologniaItalyBernardo Dominic NEGOTIATION
Izzy X RoysterJapanStephen Shaw QUALIFIED
Sinclair Q WaycottRussiaBernardo Dominic QUALIFIED
Izzy C BowleyIndiaAsiya Javayant NEGOTIATION
Chavez U BowleyUnited KingdomAnna Fali UNQUALIFIED
Francesco Y OldroydJapanAmy Elsner NEGOTIATION
Munro M BriddickUnited KingdomAsiya Javayant QUALIFIED
Kaitlin W BologniaBrazilOnyama Limba NEW
Julie H RimGermanyIvan Magalhaes NEGOTIATION
Isabel A VenereRussiaStephen Shaw RENEWAL
Jeanfrancois Z WieserJapanBernardo Dominic NEGOTIATION
Smith B WhobreyAustraliaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi X RutaUnited KingdomXuxue Feng QUALIFIED
Murillo Y FigeroaFranceStephen Shaw UNQUALIFIED
Ricardo Y FerenczBrazilBernardo Dominic QUALIFIED
Octavia H InouyeCanadaStephen Shaw QUALIFIED
Sinclair X SlusarskiSpainOnyama Limba QUALIFIED
Jeanfrancois Z NestleItalyBernardo Dominic RENEWAL
Clifford S MaletArgentinaOnyama Limba QUALIFIED
Darci I StensethGermanyStephen Shaw UNQUALIFIED
Isabel Z SaylorsBrazilElwin Sharvill NEGOTIATION
Rodrigues M RutaCanadaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas M ShinkoIndia2025-04-16King, Christopher A Esq NEGOTIATION46Anna Fali
1001James A WhobreyGermany2025-04-03Printing Dimensions RENEWAL57Stephen Shaw
1002Jefferson T GillianGermany2025-04-12Chemel, James L Cpa NEW53Ioni Bowcher
1003Johnson M FigeroaBrazil2025-04-08Benton, John B Jr RENEWAL55Stephen Shaw
1004James N BriddickItaly2025-04-29Chemel, James L Cpa NEW8Onyama Limba
1005Jefferson W StensethGermany2025-04-13Buckley Miller Wright PROPOSAL94Elwin Sharvill
1006Maria Y RoysterIndia2025-04-22Feltz Printing Service NEW35Xuxue Feng
1007Costa P MaletItaly2025-04-01Dorl, James J Esq UNQUALIFIED5Bernardo Dominic
1008Ashley X CampainUnited Kingdom2025-04-22Morlong Associates PROPOSAL35Amy Elsner
1009Sinclair F FollerCanada2025-04-09Printing Dimensions RENEWAL24Stephen Shaw
1010Darci S AlbaresUnited Kingdom2025-04-28King, Christopher A Esq RENEWAL48Asiya Javayant
1011Emily B BologniaFrance2025-04-17Feiner Bros NEGOTIATION19Ioni Bowcher
1012Isabel R CaldareraBrazil2025-04-19Benton, John B Jr QUALIFIED95Elwin Sharvill
1013Juan T IturbideIndia2025-04-07Rangoni Of Florence UNQUALIFIED91Anna Fali
1014Costa U TollnerBrazil2025-04-09Benton, John B Jr UNQUALIFIED33Asiya Javayant
1015Isabel L FerenczRussia2025-04-28Chapman, Ross E Esq RENEWAL63Asiya Javayant
1016Faith Y ShinkoUnited Kingdom2025-04-12Rousseaux, Michael Esq NEW98Stephen Shaw
1017Alejandro A TollnerArgentina2025-04-02Truhlar And Truhlar Attys QUALIFIED95Amy Elsner
1018Morrow C SergiBrazil2025-04-22King, Christopher A Esq PROPOSAL48Onyama Limba
1019Maisha I NestleSpain2025-04-25Commercial Press RENEWAL79Xuxue Feng
1020Isabel X AmigonSpain2025-04-06Chemel, James L Cpa RENEWAL81Asiya Javayant
1021Kadeem H BologniaIndia2025-04-09Chanay, Jeffrey A Esq NEGOTIATION40Anna Fali
1022Smith Y PoquetteArgentina2025-04-27Commercial Press PROPOSAL67Xuxue Feng
1023Chavez W WieserFrance2025-04-16Feiner Bros RENEWAL45Ioni Bowcher
1024Julie J ChuiFrance2025-04-18Commercial Press PROPOSAL55Elwin Sharvill
1025Isabel L StensethBrazil2025-04-21Feltz Printing Service RENEWAL23Anna Fali
1026Claire H FlosiArgentina2025-04-25Feiner Bros NEGOTIATION94Ioni Bowcher
1027Smith L CampainFrance2025-04-25Truhlar And Truhlar Attys NEW98Stephen Shaw
1028Leon R ShinkoFrance2025-04-15Dorl, James J Esq PROPOSAL26Bernardo Dominic
1029Cody L RutaCanada2025-04-19Feiner Bros UNQUALIFIED79Asiya Javayant
1030Julie W GlickAustralia2025-04-23King, Christopher A Esq UNQUALIFIED8Ivan Magalhaes
1031Deepesh T WhobreyFrance2025-04-28Rousseaux, Michael Esq RENEWAL69Ioni Bowcher
1032James M PoquetteUnited Kingdom2025-04-02Feltz Printing Service QUALIFIED84Onyama Limba
1033Johnson G MaletBrazil2025-04-04Buckley Miller Wright PROPOSAL17Stephen Shaw
1034Adams Y MaletGermany2025-04-25Chanay, Jeffrey A Esq PROPOSAL36Stephen Shaw
1035Leon Y NickaArgentina2025-04-24Truhlar And Truhlar Attys NEGOTIATION33Stephen Shaw
1036Ricardo O WaycottIndia2025-04-19Chemel, James L Cpa PROPOSAL87Bernardo Dominic
1037Aika I RulapaughIndia2025-04-03Chapman, Ross E Esq RENEWAL81Bernardo Dominic
1038Aditya R CaudyGermany2025-04-26Chanay, Jeffrey A Esq NEGOTIATION15Ioni Bowcher
1039Alejandro Y MaletFrance2025-04-09Morlong Associates UNQUALIFIED92Asiya Javayant
1040Leon M SergiIndia2025-04-24Rousseaux, Michael Esq RENEWAL97Amy Elsner
1041Sinclair J WaycottIndia2025-04-11Rangoni Of Florence QUALIFIED87Ivan Magalhaes
1042Jennifer H BowleyBrazil2025-04-01Feltz Printing Service QUALIFIED5Anna Fali
1043Clifford X StockhamItaly2025-04-04Printing Dimensions NEW6Elwin Sharvill
1044Stacey F MaletAustralia2025-04-30King, Christopher A Esq NEGOTIATION7Onyama Limba
1045Murillo J GarufiGermany2025-04-10Chapman, Ross E Esq QUALIFIED92Ivan Magalhaes
1046Adams A GillianGermany2025-04-27Feltz Printing Service NEW20Bernardo Dominic
1047Greenwood E BowleyCanada2025-04-10Chemel, James L Cpa PROPOSAL16Bernardo Dominic
1048Julie J FollerUnited Kingdom2025-04-29King, Christopher A Esq RENEWAL92Asiya Javayant
1049Silvio V SaylorsGermany2025-04-20King, Christopher A Esq UNQUALIFIED49Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Emily E WaycottUnited KingdomIvan Magalhaes QUALIFIED
Cody D RoysterArgentinaElwin Sharvill NEW
Stacey X SaylorsBrazilBernardo Dominic NEW
Aditya R StockhamItalyAmy Elsner QUALIFIED
Antonio G MarrierUnited KingdomAsiya Javayant RENEWAL
Adams B PaprockiFranceIoni Bowcher QUALIFIED
Aruna J FigeroaBrazilBernardo Dominic QUALIFIED
Francesco V ShinkoItalyOnyama Limba UNQUALIFIED
Claire W MarrierAustraliaStephen Shaw NEGOTIATION
Deepesh J CampainGermanyIvan Magalhaes QUALIFIED
Maria K SaylorsUnited KingdomAsiya Javayant NEGOTIATION
Maria J BriddickAustraliaXuxue Feng PROPOSAL
Ricardo I RulapaughIndiaAnna Fali PROPOSAL
Maisha Z AlbaresIndiaStephen Shaw QUALIFIED
Tony H OldroydBrazilIoni Bowcher NEW
Izzy H IturbideFranceXuxue Feng RENEWAL
Deepesh P WhobreyFranceXuxue Feng NEW
Francesco V OstroskyFranceIvan Magalhaes QUALIFIED
Octavia E StensethRussiaIvan Magalhaes NEGOTIATION
Stacey K CampainBrazilOnyama Limba NEW
Greenwood Z SlusarskiArgentinaStephen Shaw QUALIFIED
Stacey P OstroskyGermanyBernardo Dominic QUALIFIED
Adams L MaletJapanStephen Shaw RENEWAL
Rodrigues Y KuskoItalyStephen Shaw UNQUALIFIED
Stacey O GarufiJapanOnyama Limba NEGOTIATION
Jennifer B GarufiSpainXuxue Feng PROPOSAL
Misaki F SchemmerAustraliaIoni Bowcher PROPOSAL
Leon D StensethArgentinaOnyama Limba NEGOTIATION
Kadeem H RulapaughIndiaBernardo Dominic UNQUALIFIED
Costa F WaycottFranceXuxue Feng QUALIFIED
Morrow M ShinkoJapanAsiya Javayant UNQUALIFIED
James J AmigonFranceIvan Magalhaes QUALIFIED
Emily Z ButtCanadaAmy Elsner QUALIFIED
Izzy H IturbideItalyAsiya Javayant NEW
Cody M BologniaCanadaAmy Elsner PROPOSAL
Francesco E VenereUnited KingdomAnna Fali NEGOTIATION
Emily V SlusarskiAustraliaStephen Shaw RENEWAL
Maisha G GauchoUnited KingdomOnyama Limba PROPOSAL
Antonio K TollnerSpainBernardo Dominic QUALIFIED
Leon I BriddickIndiaAnna Fali NEW
Faith G ShinkoCanadaAnna Fali PROPOSAL
Chavez F GauchoBrazilBernardo Dominic UNQUALIFIED
Claire W FlosiJapanAmy Elsner UNQUALIFIED
Ashley U VocelkaRussiaAnna Fali NEGOTIATION
Wickens H FerenczArgentinaStephen Shaw NEW
Jeanfrancois M GauchoGermanyBernardo Dominic RENEWAL
Claire Z SlusarskiIndiaOnyama Limba NEW
Johnson Q IturbideAustraliaIoni Bowcher RENEWAL
Jefferson J DilliardArgentinaAnna Fali UNQUALIFIED
Johnson R KuskoAustraliaStephen Shaw NEGOTIATION
Frozen Columns
Name
Deepesh T Rulapaugh
Claire S Morasca
James R Saylors
Juan S Stenseth
Mayumi S Gaucho
Kaitlin F Figeroa
Jennifer Q Ostrosky
Chavez D Gillian
Munro P Foller
Jones E Sergi
Costa C Nestle
Johnson H Waycott
Octavia L Malet
Misaki X Perin
Aruna K Ostrosky
Antonio B Poquette
Cody W Flosi
Darci L Ferencz
Murillo C Iturbide
Octavia C Venere
Johnson M Doe
Aika D Rulapaugh
Izzy V Waycott
Leon I Ferencz
Aika M Foller
Costa Y Darakjy
Juan K Rulapaugh
Isabel C Nestle
Izzy E Oldroyd
Morrow G Whobrey
Claire G Iturbide
Jefferson M Caudy
Johnson X Briddick
Octavia X Briddick
James F Shinko
Isabel J Ostrosky
Kadeem U Schemmer
Maisha K Vocelka
Ricardo N Doe
Clifford N Gillian
Aruna F Glick
Misaki W Dilliard
Murillo T Ferencz
Salvatore H Nicka
Clifford M Chui
David Z Kolmetz
Juan A Dilliard
Kaitlin F Gillian
Jones S Darakjy
Smith W Gaucho
IdCountryDate
1000India2025-04-13
1001Italy2025-04-21
1002India2025-04-11
1003Spain2025-04-20
1004Brazil2025-04-10
1005Italy2025-04-27
1006Japan2025-04-30
1007India2025-04-01
1008Japan2025-04-12
1009Russia2025-04-29
1010Argentina2025-04-24
1011Brazil2025-04-12
1012Brazil2025-04-15
1013Canada2025-04-08
1014Spain2025-04-02
1015Argentina2025-04-01
1016Germany2025-04-26
1017Argentina2025-04-13
1018France2025-04-14
1019Japan2025-04-08
1020Italy2025-04-04
1021Russia2025-04-03
1022Canada2025-04-12
1023Argentina2025-04-24
1024Japan2025-04-25
1025India2025-04-12
1026Russia2025-04-01
1027Russia2025-04-13
1028Russia2025-04-08
1029Japan2025-04-13
1030Germany2025-04-17
1031Italy2025-04-26
1032Italy2025-04-01
1033Japan2025-04-07
1034Canada2025-04-17
1035France2025-04-10
1036France2025-04-11
1037Argentina2025-04-19
1038United Kingdom2025-04-20
1039France2025-04-05
1040Russia2025-04-24
1041India2025-04-19
1042Spain2025-04-19
1043Spain2025-04-17
1044Japan2025-04-09
1045Brazil2025-04-16
1046Australia2025-04-09
1047Japan2025-04-21
1048Brazil2025-04-10
1049Russia2025-04-14

On-Demand Data

NameIdCountryDate
Faith J Rim1000Germany2025-04-03
Maria V Briddick1001United Kingdom2025-04-03
Maria Q Venere1002Italy2025-04-25
Mayumi N Briddick1003Spain2025-04-14
Deepesh Z Malet1004Brazil2025-04-17
Ricardo R Ostrosky1005France2025-04-28
Adams A Slusarski1006United Kingdom2025-04-28
Misaki N Caudy1007France2025-04-16
Wickens M Butt1008Germany2025-04-29
Jennifer E Bowley1009Russia2025-04-14
Rodrigues K Flosi1010France2025-04-20
Silvio C Oldroyd1011Brazil2025-04-05
Jefferson Q Schemmer1012Australia2025-04-08
David K Stockham1013Canada2025-04-11
Sinclair J Stockham1014Spain2025-04-05
Wickens S Gaucho1015Russia2025-04-28
David K Nestle1016Argentina2025-04-22
Darci V Venere1017Spain2025-04-17
Jennifer P Tollner1018France2025-04-21
Greenwood U Venere1019Spain2025-04-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie P SlusarskiIndiaStephen Shaw QUALIFIED
Ashley G BowleyFranceOnyama Limba UNQUALIFIED
Misaki R ChuiSpainAmy Elsner RENEWAL
Aditya J VocelkaIndiaAsiya Javayant NEGOTIATION
Salvatore V IturbideGermanyOnyama Limba QUALIFIED
Munro Z PoquetteSpainStephen Shaw RENEWAL
Emily F GarufiSpainBernardo Dominic QUALIFIED
Antonio M CaldareraGermanyAnna Fali UNQUALIFIED
Julie F SaylorsCanadaElwin Sharvill NEGOTIATION
Jones F AmigonItalyAnna Fali QUALIFIED
Misaki B CaldareraJapanOnyama Limba QUALIFIED
Ivar G DoeItalyAmy Elsner PROPOSAL
Munro Q GillianUnited KingdomStephen Shaw RENEWAL
Misaki N FlosiGermanyAnna Fali QUALIFIED
Ricardo O PerinJapanBernardo Dominic PROPOSAL
Maria I MorascaFranceElwin Sharvill NEW
Mayumi Q FigeroaRussiaBernardo Dominic UNQUALIFIED
David U CaldareraBrazilAmy Elsner UNQUALIFIED
Nicolas B BriddickIndiaIvan Magalhaes NEW
Francesco B MaletAustraliaStephen Shaw NEW
James R CampainGermanyAmy Elsner UNQUALIFIED
Chavez E PerinFranceAnna Fali NEW
Emily B FerenczAustraliaXuxue Feng NEGOTIATION
Faith O OstroskySpainIvan Magalhaes NEGOTIATION
Cody P GauchoCanadaIoni Bowcher NEGOTIATION
Sinclair K ButtGermanyIoni Bowcher RENEWAL
Darci F SchemmerItalyStephen Shaw QUALIFIED
Rodrigues C GlickIndiaIvan Magalhaes QUALIFIED
Smith U GarufiUnited KingdomIvan Magalhaes QUALIFIED
Murillo S MorascaBrazilBernardo Dominic QUALIFIED
Maria M RulapaughIndiaAmy Elsner RENEWAL
Aditya X InouyeUnited KingdomOnyama Limba PROPOSAL
Faith C DarakjyUnited KingdomIvan Magalhaes NEW
Johnson Z AmigonGermanyIoni Bowcher PROPOSAL
Emily M CaldareraIndiaXuxue Feng RENEWAL
Stacey S CaudyFranceIvan Magalhaes QUALIFIED
Jennifer U GauchoCanadaBernardo Dominic RENEWAL
Arvin X DoeUnited KingdomBernardo Dominic QUALIFIED
Leon T RoysterIndiaIoni Bowcher UNQUALIFIED
Deepesh I PoquetteSpainXuxue 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>