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
Rodrigues A NickaRussiaBernardo Dominic NEGOTIATION
James X GillianArgentinaXuxue Feng RENEWAL
Adams Y FollerCanadaXuxue Feng NEGOTIATION
James A KuskoJapanElwin Sharvill NEW
Izzy R BriddickIndiaIvan Magalhaes NEW
Salvatore Y MacleadIndiaOnyama Limba RENEWAL
Aruna H InouyeArgentinaBernardo Dominic UNQUALIFIED
Maria S PaprockiItalyElwin Sharvill QUALIFIED
Jennifer X ShinkoSpainAsiya Javayant NEW
Izzy D GlickGermanyIoni Bowcher RENEWAL
Francesco B SergiCanadaIvan Magalhaes UNQUALIFIED
Jones Z SlusarskiFranceAsiya Javayant QUALIFIED
Kadeem D VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Arvin A GillianArgentinaBernardo Dominic PROPOSAL
Jeanfrancois K FerenczCanadaAnna Fali QUALIFIED
Juan N NestleGermanyElwin Sharvill RENEWAL
Morrow L CampainRussiaAsiya Javayant PROPOSAL
Juan A MorascaAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois N PerinArgentinaStephen Shaw QUALIFIED
Jeanfrancois R ButtItalyElwin Sharvill UNQUALIFIED
Johnson Z GarufiCanadaStephen Shaw NEGOTIATION
Jennifer T BriddickBrazilAsiya Javayant RENEWAL
Jefferson M PerinItalyIoni Bowcher PROPOSAL
Salvatore B FlosiArgentinaXuxue Feng NEGOTIATION
Aruna Z DoeBrazilXuxue Feng UNQUALIFIED
Aika Q PerinAustraliaBernardo Dominic NEGOTIATION
Arvin B IturbideArgentinaBernardo Dominic NEGOTIATION
Silvio G MarrierIndiaIoni Bowcher QUALIFIED
Rodrigues K MaletBrazilAsiya Javayant QUALIFIED
Alejandro T IturbideArgentinaStephen Shaw UNQUALIFIED
Clifford Z GillianIndiaAsiya Javayant PROPOSAL
Cody U MarrierBrazilElwin Sharvill QUALIFIED
Isabel J TollnerArgentinaIvan Magalhaes PROPOSAL
Tony H MorascaBrazilStephen Shaw NEW
Faith L VocelkaItalyStephen Shaw QUALIFIED
Jeanfrancois K RimUnited KingdomAsiya Javayant NEGOTIATION
Costa H VenereBrazilElwin Sharvill UNQUALIFIED
Ivar H ShinkoCanadaStephen Shaw NEW
Cody J SergiFranceOnyama Limba UNQUALIFIED
Rodrigues L CampainIndiaAmy Elsner PROPOSAL
Mujtaba O CampainBrazilElwin Sharvill RENEWAL
Silvio U BologniaItalyElwin Sharvill RENEWAL
Isabel D MaletRussiaXuxue Feng PROPOSAL
Cody B FigeroaAustraliaElwin Sharvill RENEWAL
Silvio V MorascaBrazilOnyama Limba NEGOTIATION
Jefferson U ChuiAustraliaIvan Magalhaes NEW
Jefferson D SergiSpainAnna Fali PROPOSAL
Sinclair H BowleySpainAmy Elsner PROPOSAL
James B ChuiItalyStephen Shaw RENEWAL
Murillo B RoysterSpainAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Johnson S OldroydGermanyAnna Fali UNQUALIFIED
Tony G DilliardGermanyBernardo Dominic RENEWAL
Aditya Q FigeroaArgentinaIvan Magalhaes PROPOSAL
David D MacleadCanadaAsiya Javayant QUALIFIED
Jennifer P MorascaFranceIvan Magalhaes PROPOSAL
Jefferson Z RutaIndiaAsiya Javayant RENEWAL
Smith R DilliardBrazilBernardo Dominic QUALIFIED
Aika I FigeroaJapanAsiya Javayant UNQUALIFIED
Morrow E RutaGermanyStephen Shaw NEW
Maisha I RoysterJapanAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy J VenereSpain2024-06-10Feiner Bros RENEWAL29Ioni Bowcher
1001Faith J ChuiSpain2024-06-05Chemel, James L Cpa QUALIFIED8Anna Fali
1002Munro P GlickIndia2024-05-28Truhlar And Truhlar Attys NEW14Ivan Magalhaes
1003Mayumi A BowleyArgentina2024-06-04Chapman, Ross E Esq PROPOSAL73Ioni Bowcher
1004Izzy I MorascaGermany2024-06-06Benton, John B Jr RENEWAL91Elwin Sharvill
1005Smith K StockhamRussia2024-06-05Rousseaux, Michael Esq NEGOTIATION98Ivan Magalhaes
1006Ivar M ShinkoFrance2024-06-17Feiner Bros NEW13Onyama Limba
1007Kaitlin L AlbaresBrazil2024-06-09Feltz Printing Service QUALIFIED42Xuxue Feng
1008Salvatore Y WhobreyAustralia2024-06-12Rousseaux, Michael Esq UNQUALIFIED14Ivan Magalhaes
1009Octavia Z OstroskyFrance2024-06-05Feiner Bros PROPOSAL11Xuxue Feng
1010Kaitlin C PaprockiCanada2024-05-27Benton, John B Jr UNQUALIFIED73Xuxue Feng
1011Ashley R GlickRussia2024-06-09King, Christopher A Esq PROPOSAL30Onyama Limba
1012Mujtaba H CaudyCanada2024-06-21Dorl, James J Esq UNQUALIFIED58Bernardo Dominic
1013Cody N NestleJapan2024-06-18Chapman, Ross E Esq RENEWAL75Elwin Sharvill
1014Mayumi I SchemmerArgentina2024-06-11Truhlar And Truhlar Attys NEW7Amy Elsner
1015Salvatore Y RulapaughIndia2024-06-10Morlong Associates NEGOTIATION46Xuxue Feng
1016Julie R RutaAustralia2024-06-04Chapman, Ross E Esq PROPOSAL24Bernardo Dominic
1017Ivar C IturbideSpain2024-06-02Rousseaux, Michael Esq NEGOTIATION52Xuxue Feng
1018Salvatore X GillianAustralia2024-06-07Chapman, Ross E Esq QUALIFIED43Stephen Shaw
1019Aruna P RimAustralia2024-06-08Feltz Printing Service UNQUALIFIED42Ivan Magalhaes
1020Smith W SergiUnited Kingdom2024-05-29Chapman, Ross E Esq UNQUALIFIED64Anna Fali
1021Antonio G PerinCanada2024-06-01Rangoni Of Florence RENEWAL16Onyama Limba
1022Munro H SergiIndia2024-06-24Printing Dimensions UNQUALIFIED42Ivan Magalhaes
1023Emily S WieserJapan2024-06-14Rangoni Of Florence UNQUALIFIED21Anna Fali
1024Cody G GlickArgentina2024-06-08Dorl, James J Esq NEGOTIATION87Elwin Sharvill
1025Antonio I PaprockiArgentina2024-06-15Rangoni Of Florence PROPOSAL71Bernardo Dominic
1026Ricardo R SchemmerCanada2024-06-23Dorl, James J Esq RENEWAL47Amy Elsner
1027Julie U BowleyArgentina2024-06-01Chemel, James L Cpa NEGOTIATION64Asiya Javayant
1028Murillo F PoquetteItaly2024-06-22Buckley Miller Wright PROPOSAL64Anna Fali
1029Faith S GillianIndia2024-05-31Printing Dimensions NEGOTIATION4Amy Elsner
1030Munro L CaldareraGermany2024-06-22Buckley Miller Wright UNQUALIFIED4Asiya Javayant
1031Chavez G PoquetteGermany2024-06-15Feiner Bros NEGOTIATION4Xuxue Feng
1032Kadeem S BowleyItaly2024-06-16Rangoni Of Florence RENEWAL90Elwin Sharvill
1033Faith H DilliardFrance2024-06-08Benton, John B Jr QUALIFIED57Ivan Magalhaes
1034Izzy E MaletGermany2024-06-18Rousseaux, Michael Esq QUALIFIED58Stephen Shaw
1035Izzy B KolmetzFrance2024-06-16Chapman, Ross E Esq PROPOSAL68Asiya Javayant
1036Izzy D GlickFrance2024-06-12King, Christopher A Esq QUALIFIED52Anna Fali
1037David T DilliardRussia2024-06-15Feiner Bros RENEWAL53Xuxue Feng
1038Alejandro R BriddickAustralia2024-06-22Chapman, Ross E Esq UNQUALIFIED21Elwin Sharvill
1039Francesco Z BowleyFrance2024-05-31Chanay, Jeffrey A Esq QUALIFIED64Bernardo Dominic
1040Tony K AlbaresIndia2024-05-28Chemel, James L Cpa QUALIFIED73Ivan Magalhaes
1041Salvatore E OstroskyArgentina2024-06-22Truhlar And Truhlar Attys NEGOTIATION92Bernardo Dominic
1042Stacey W BowleyAustralia2024-06-17Rousseaux, Michael Esq QUALIFIED6Elwin Sharvill
1043Ivar F DilliardGermany2024-06-11Buckley Miller Wright NEGOTIATION94Asiya Javayant
1044Octavia N PerinRussia2024-06-22Morlong Associates PROPOSAL55Amy Elsner
1045Smith J SergiAustralia2024-06-04Rangoni Of Florence PROPOSAL20Anna Fali
1046Silvio R TollnerGermany2024-05-26Chanay, Jeffrey A Esq QUALIFIED46Anna Fali
1047Greenwood V DoeIndia2024-06-01Chanay, Jeffrey A Esq NEGOTIATION0Amy Elsner
1048Sinclair Y PaprockiIndia2024-05-31Feltz Printing Service QUALIFIED51Xuxue Feng
1049Francesco K PaprockiBrazil2024-06-14Feiner Bros RENEWAL1Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Munro W VocelkaGermanyAsiya Javayant QUALIFIED
Sinclair D WhobreyItalyXuxue Feng NEGOTIATION
Morrow H MaletIndiaAsiya Javayant RENEWAL
Arvin O VocelkaGermanyElwin Sharvill NEGOTIATION
Aditya P GarufiAustraliaOnyama Limba PROPOSAL
Octavia R SergiAustraliaIoni Bowcher NEGOTIATION
Morrow C GlickGermanyBernardo Dominic RENEWAL
Julie A GillianSpainOnyama Limba NEW
Ashley I WaycottBrazilBernardo Dominic NEW
Jeanfrancois M DarakjyItalyAsiya Javayant RENEWAL
Jefferson E CaldareraFranceStephen Shaw UNQUALIFIED
Octavia F ChuiAustraliaElwin Sharvill UNQUALIFIED
Ivar G AlbaresItalyXuxue Feng NEW
Antonio T GarufiItalyAnna Fali QUALIFIED
Kadeem R RimFranceIvan Magalhaes NEW
Antonio G KuskoAustraliaIvan Magalhaes RENEWAL
Silvio G BriddickAustraliaOnyama Limba NEGOTIATION
David Z FigeroaItalyOnyama Limba NEW
Sinclair J FerenczItalyIoni Bowcher NEGOTIATION
Juan S NickaBrazilIoni Bowcher PROPOSAL
Munro T OstroskyJapanBernardo Dominic NEGOTIATION
Tony M AmigonUnited KingdomOnyama Limba QUALIFIED
Ashley Z MaletUnited KingdomAnna Fali QUALIFIED
Kadeem I GarufiUnited KingdomOnyama Limba QUALIFIED
Johnson X ShinkoUnited KingdomStephen Shaw QUALIFIED
Deepesh R SergiIndiaAmy Elsner UNQUALIFIED
Aditya I ShinkoArgentinaStephen Shaw NEGOTIATION
Arvin J BriddickAustraliaAmy Elsner UNQUALIFIED
Kadeem N KuskoAustraliaOnyama Limba NEGOTIATION
Jones F NestleBrazilIoni Bowcher NEW
Murillo H GillianIndiaOnyama Limba PROPOSAL
Isabel T DilliardArgentinaOnyama Limba PROPOSAL
Ashley B VocelkaIndiaAnna Fali NEGOTIATION
Silvio T MarrierUnited KingdomIoni Bowcher PROPOSAL
Nicolas K RulapaughFranceXuxue Feng NEGOTIATION
Aditya E AmigonIndiaStephen Shaw NEW
Juan H StockhamJapanStephen Shaw NEGOTIATION
Cody I KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Morrow L ChuiCanadaIoni Bowcher UNQUALIFIED
Stacey U VenereSpainOnyama Limba UNQUALIFIED
Sinclair E PaprockiCanadaXuxue Feng NEGOTIATION
Mayumi L StockhamItalyBernardo Dominic PROPOSAL
Antonio S StockhamBrazilOnyama Limba RENEWAL
Kadeem I BriddickArgentinaOnyama Limba UNQUALIFIED
Alejandro S MaletGermanyAnna Fali RENEWAL
Silvio I WhobreyUnited KingdomIvan Magalhaes PROPOSAL
Faith X MorascaFranceOnyama Limba UNQUALIFIED
Rodrigues O WaycottArgentinaXuxue Feng QUALIFIED
Johnson M MacleadUnited KingdomXuxue Feng NEGOTIATION
Aruna P ButtBrazilIvan Magalhaes NEW
Frozen Columns
Name
Jennifer M Vocelka
Smith V Tollner
Aditya Y Stockham
Darci D Figeroa
Ivar J Vocelka
Clifford I Royster
Izzy U Perin
Johnson G Amigon
Deepesh R Royster
Morrow Z Albares
Stacey G Whobrey
Tony K Nicka
Kadeem S Kolmetz
Jefferson C Waycott
Munro F Foller
Ivar T Waycott
Jennifer T Bowley
Darci X Gillian
Smith Q Perin
Kadeem V Maclead
Silvio O Marrier
Munro Z Maclead
Arvin J Bowley
Kaitlin J Darakjy
Wickens L Gillian
Emily W Garufi
Leja R Ruta
Misaki Z Bolognia
Rodrigues B Whobrey
Faith I Amigon
Leja H Dilliard
Isabel B Stenseth
Octavia X Morasca
Stacey Q Ruta
Greenwood A Whobrey
Mayumi K Nestle
Isabel C Venere
David B Marrier
Juan Q Kusko
Ashley V Sergi
Salvatore U Rim
Aruna Z Caldarera
Silvio P Shinko
Clifford T Nicka
James M Nicka
Salvatore D Nicka
Cody F Ruta
Munro B Shinko
James J Shinko
Salvatore C Doe
IdCountryDate
1000United Kingdom2024-06-21
1001Canada2024-05-31
1002Brazil2024-05-28
1003Japan2024-06-14
1004India2024-06-24
1005Canada2024-05-26
1006Italy2024-06-18
1007Russia2024-06-02
1008Russia2024-05-27
1009France2024-05-30
1010Australia2024-06-01
1011Australia2024-06-02
1012India2024-06-22
1013Spain2024-06-06
1014Italy2024-06-10
1015Germany2024-06-11
1016India2024-06-16
1017Spain2024-06-20
1018Germany2024-05-30
1019Argentina2024-06-15
1020Germany2024-05-30
1021Brazil2024-06-01
1022Germany2024-06-01
1023United Kingdom2024-05-28
1024Canada2024-05-28
1025United Kingdom2024-06-02
1026Canada2024-06-10
1027United Kingdom2024-06-22
1028Japan2024-06-09
1029United Kingdom2024-06-04
1030Spain2024-06-01
1031Argentina2024-06-05
1032Germany2024-06-03
1033Brazil2024-06-09
1034Australia2024-05-28
1035Brazil2024-06-09
1036Japan2024-06-07
1037Argentina2024-06-06
1038Russia2024-06-22
1039United Kingdom2024-06-02
1040Germany2024-05-28
1041Italy2024-06-23
1042Italy2024-06-15
1043Argentina2024-05-30
1044India2024-06-10
1045Japan2024-05-31
1046Spain2024-06-07
1047Italy2024-06-21
1048Brazil2024-06-23
1049Japan2024-06-07

On-Demand Data

NameIdCountryDate
David H Sergi1000Russia2024-06-21
Antonio N Chui1001Russia2024-05-30
Adams V Nestle1002Canada2024-06-20
Faith W Saylors1003India2024-06-17
Arvin U Stockham1004Canada2024-05-26
Chavez F Marrier1005Russia2024-06-20
Kadeem D Bowley1006Argentina2024-05-27
Tony N Wieser1007Germany2024-05-28
Juan G Morasca1008Germany2024-06-11
Mayumi E Darakjy1009Italy2024-06-13
Ricardo X Campain1010Canada2024-06-02
Ivar T Albares1011Russia2024-06-17
Deepesh O Briddick1012Russia2024-06-22
Deepesh I Morasca1013United Kingdom2024-06-07
Darci Q Vocelka1014France2024-06-07
Alejandro B Briddick1015Canada2024-05-30
Ivar F Chui1016Argentina2024-06-02
Jones E Kolmetz1017Japan2024-05-30
Jones G Vocelka1018United Kingdom2024-06-21
Kaitlin S Schemmer1019Germany2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood N BowleyGermanyIoni Bowcher RENEWAL
Munro W FlosiGermanyAsiya Javayant NEGOTIATION
Aika K VenereJapanBernardo Dominic PROPOSAL
Francesco T OldroydUnited KingdomIoni Bowcher RENEWAL
Rodrigues Y PoquetteIndiaAmy Elsner NEW
Tony W TollnerRussiaIvan Magalhaes RENEWAL
Misaki M GlickArgentinaAnna Fali NEGOTIATION
Mayumi G RimAustraliaBernardo Dominic NEW
Julie U TollnerGermanyBernardo Dominic NEW
Jeanfrancois L GarufiSpainXuxue Feng NEGOTIATION
Greenwood U FlosiFranceAmy Elsner RENEWAL
Smith W CaudyArgentinaAnna Fali NEW
Misaki H BowleyJapanAsiya Javayant PROPOSAL
Nicolas O GauchoAustraliaBernardo Dominic NEW
Sinclair P StensethIndiaIvan Magalhaes PROPOSAL
Isabel K FerenczJapanBernardo Dominic RENEWAL
Cody H GlickIndiaAsiya Javayant RENEWAL
Kaitlin M DarakjyFranceAmy Elsner RENEWAL
Munro K RoysterGermanyStephen Shaw QUALIFIED
Cody D BriddickUnited KingdomAsiya Javayant PROPOSAL
Johnson W DoeUnited KingdomElwin Sharvill NEGOTIATION
Mayumi B RimSpainOnyama Limba NEW
Julie Q FlosiCanadaStephen Shaw QUALIFIED
Silvio Y MarrierItalyAsiya Javayant NEGOTIATION
Misaki D MacleadIndiaIoni Bowcher QUALIFIED
James Q AlbaresArgentinaAsiya Javayant NEGOTIATION
Silvio R DoeJapanAsiya Javayant RENEWAL
Kaitlin H RutaUnited KingdomElwin Sharvill NEGOTIATION
Johnson Z GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Chavez Z RulapaughSpainOnyama Limba QUALIFIED
Wickens D RulapaughCanadaOnyama Limba NEW
Sinclair U VenereAustraliaIvan Magalhaes RENEWAL
Aika N BologniaBrazilBernardo Dominic NEGOTIATION
Darci Q WieserUnited KingdomAmy Elsner UNQUALIFIED
Murillo L VenereUnited KingdomAmy Elsner RENEWAL
Kadeem I AmigonIndiaXuxue Feng NEW
Rodrigues X SchemmerFranceIvan Magalhaes QUALIFIED
Ricardo F ButtJapanElwin Sharvill RENEWAL
Wickens J InouyeArgentinaIoni Bowcher QUALIFIED
Adams E MorascaCanadaElwin Sharvill PROPOSAL

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