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
Aditya F CaldareraRussiaXuxue Feng PROPOSAL
Ivar B DoeSpainOnyama Limba UNQUALIFIED
Alejandro I CampainBrazilElwin Sharvill PROPOSAL
Jeanfrancois K IturbideIndiaOnyama Limba NEGOTIATION
Mayumi H OstroskyJapanStephen Shaw QUALIFIED
Nicolas P SchemmerArgentinaAnna Fali QUALIFIED
Clifford B RoysterItalyIoni Bowcher NEGOTIATION
Francesco K MarrierGermanyXuxue Feng QUALIFIED
Salvatore S OldroydAustraliaIvan Magalhaes QUALIFIED
Costa S PoquetteIndiaAmy Elsner NEW
Faith X ButtCanadaIoni Bowcher RENEWAL
Leja M InouyeFranceOnyama Limba NEGOTIATION
Jefferson Y GauchoJapanIoni Bowcher PROPOSAL
Francesco P GarufiItalyXuxue Feng NEGOTIATION
Juan D AmigonJapanXuxue Feng UNQUALIFIED
Misaki Z FerenczItalyElwin Sharvill UNQUALIFIED
Aika B GlickFranceOnyama Limba PROPOSAL
Tony E MaletAustraliaElwin Sharvill NEW
Aruna G ChuiJapanAmy Elsner QUALIFIED
Ivar U GauchoArgentinaXuxue Feng UNQUALIFIED
Julie M NestleIndiaXuxue Feng RENEWAL
Stacey A WhobreyJapanOnyama Limba QUALIFIED
Adams S WieserFranceIvan Magalhaes RENEWAL
Silvio W GlickJapanAnna Fali UNQUALIFIED
Jefferson L CampainGermanyStephen Shaw NEGOTIATION
Kaitlin O RulapaughAustraliaAmy Elsner PROPOSAL
Claire T TollnerJapanAmy Elsner UNQUALIFIED
Jeanfrancois G GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Cody G TollnerUnited KingdomAmy Elsner NEGOTIATION
Maria H StockhamItalyBernardo Dominic RENEWAL
Stacey N FlosiJapanIvan Magalhaes PROPOSAL
Arvin J PaprockiIndiaStephen Shaw NEW
James D KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Arvin V PerinUnited KingdomAnna Fali NEGOTIATION
Jones J InouyeUnited KingdomIvan Magalhaes PROPOSAL
David T DilliardCanadaStephen Shaw NEW
Nicolas J RulapaughSpainIvan Magalhaes NEGOTIATION
Faith F BologniaArgentinaAnna Fali NEGOTIATION
Claire M RoysterGermanyOnyama Limba NEGOTIATION
Francesco D CampainAustraliaAsiya Javayant UNQUALIFIED
Izzy C WaycottBrazilAmy Elsner NEGOTIATION
Johnson C SchemmerCanadaAsiya Javayant NEW
Rodrigues X OldroydUnited KingdomBernardo Dominic NEGOTIATION
Octavia E VenereBrazilAsiya Javayant QUALIFIED
Mujtaba H CaudyRussiaStephen Shaw NEGOTIATION
Julie H GlickSpainAnna Fali NEW
Salvatore V RulapaughItalyXuxue Feng RENEWAL
Adams F CaudyArgentinaElwin Sharvill RENEWAL
Tony N GauchoIndiaIoni Bowcher UNQUALIFIED
Aika D FlosiBrazilBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Stacey Y GlickRussiaAmy Elsner UNQUALIFIED
Faith P CaldareraIndiaOnyama Limba PROPOSAL
Juan D BowleyRussiaAsiya Javayant QUALIFIED
Clifford U ChuiAustraliaIoni Bowcher NEW
Francesco K OstroskySpainOnyama Limba NEGOTIATION
Claire O ChuiCanadaAsiya Javayant UNQUALIFIED
Misaki Z FerenczItalyAsiya Javayant QUALIFIED
Morrow Q MacleadRussiaStephen Shaw RENEWAL
Chavez G MaletAustraliaIoni Bowcher UNQUALIFIED
Cody A AmigonRussiaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair F MaletGermany2024-05-11Benton, John B Jr RENEWAL24Asiya Javayant
1001Mayumi Q OldroydUnited Kingdom2024-05-27Feiner Bros NEW94Bernardo Dominic
1002Jeanfrancois Q FigeroaItaly2024-05-14Chemel, James L Cpa QUALIFIED78Stephen Shaw
1003Maria X MacleadFrance2024-05-22Dorl, James J Esq PROPOSAL63Anna Fali
1004Alejandro U FigeroaIndia2024-05-09Chapman, Ross E Esq PROPOSAL93Ioni Bowcher
1005Aika L PerinAustralia2024-05-06Chemel, James L Cpa RENEWAL93Xuxue Feng
1006Leja R ShinkoArgentina2024-05-11Chemel, James L Cpa QUALIFIED21Ivan Magalhaes
1007Maisha H MacleadJapan2024-05-07Benton, John B Jr PROPOSAL71Anna Fali
1008Arvin L SaylorsGermany2024-05-06Chanay, Jeffrey A Esq RENEWAL66Stephen Shaw
1009Stacey M OldroydBrazil2024-06-01Buckley Miller Wright QUALIFIED77Bernardo Dominic
1010David G WieserFrance2024-05-18Chapman, Ross E Esq QUALIFIED65Onyama Limba
1011Wickens Z KolmetzJapan2024-05-20Chemel, James L Cpa RENEWAL81Stephen Shaw
1012Julie A PaprockiJapan2024-05-05Rousseaux, Michael Esq QUALIFIED67Anna Fali
1013Tony Y KolmetzItaly2024-06-01Benton, John B Jr NEGOTIATION3Bernardo Dominic
1014Morrow W WieserItaly2024-05-28Buckley Miller Wright NEGOTIATION67Elwin Sharvill
1015Sinclair G WieserFrance2024-05-21Buckley Miller Wright PROPOSAL75Ioni Bowcher
1016Maisha C OstroskyUnited Kingdom2024-05-21King, Christopher A Esq QUALIFIED80Anna Fali
1017Leon E NestleGermany2024-05-25Buckley Miller Wright NEGOTIATION6Xuxue Feng
1018Mayumi L VocelkaRussia2024-05-11Commercial Press UNQUALIFIED42Ioni Bowcher
1019Smith Z KolmetzRussia2024-05-17Printing Dimensions PROPOSAL24Stephen Shaw
1020James W MaletAustralia2024-05-18Chanay, Jeffrey A Esq RENEWAL17Amy Elsner
1021Misaki U RoysterItaly2024-05-29Rousseaux, Michael Esq RENEWAL27Onyama Limba
1022Greenwood W IturbideRussia2024-05-08Commercial Press NEGOTIATION86Asiya Javayant
1023Juan Z AmigonJapan2024-05-31Truhlar And Truhlar Attys UNQUALIFIED33Bernardo Dominic
1024Ricardo W ShinkoAustralia2024-05-31Morlong Associates NEW85Elwin Sharvill
1025Juan R OstroskyGermany2024-05-12Feltz Printing Service NEW21Asiya Javayant
1026Ricardo C SaylorsJapan2024-05-18Dorl, James J Esq UNQUALIFIED9Ivan Magalhaes
1027Greenwood H RulapaughUnited Kingdom2024-05-24Morlong Associates NEGOTIATION38Xuxue Feng
1028Leja P PerinAustralia2024-05-19Chapman, Ross E Esq PROPOSAL57Ivan Magalhaes
1029Jefferson V DarakjyGermany2024-05-30Buckley Miller Wright PROPOSAL80Ivan Magalhaes
1030Ashley K GlickArgentina2024-05-30Benton, John B Jr NEW12Amy Elsner
1031Jones P RulapaughCanada2024-05-06Chanay, Jeffrey A Esq QUALIFIED26Stephen Shaw
1032Jefferson C ShinkoArgentina2024-05-15Chemel, James L Cpa NEGOTIATION13Anna Fali
1033Clifford U DoeUnited Kingdom2024-05-08Rousseaux, Michael Esq UNQUALIFIED69Stephen Shaw
1034Costa H FigeroaJapan2024-05-23Chapman, Ross E Esq UNQUALIFIED67Amy Elsner
1035Nicolas K NickaItaly2024-05-05Morlong Associates QUALIFIED75Anna Fali
1036Isabel B MaletArgentina2024-05-24Feiner Bros NEGOTIATION95Ioni Bowcher
1037Silvio G MacleadItaly2024-05-22Truhlar And Truhlar Attys RENEWAL11Stephen Shaw
1038Isabel K PoquetteJapan2024-05-31Chemel, James L Cpa UNQUALIFIED89Xuxue Feng
1039Kaitlin H RutaAustralia2024-06-03Feltz Printing Service QUALIFIED79Amy Elsner
1040Smith O TollnerAustralia2024-05-30Buckley Miller Wright RENEWAL24Xuxue Feng
1041Leon G NickaFrance2024-05-14Rangoni Of Florence QUALIFIED80Asiya Javayant
1042Adams H RutaAustralia2024-05-17King, Christopher A Esq UNQUALIFIED34Bernardo Dominic
1043David Y StockhamGermany2024-05-08Morlong Associates UNQUALIFIED82Elwin Sharvill
1044Costa L BologniaFrance2024-05-19Feltz Printing Service NEW38Ioni Bowcher
1045Isabel X VocelkaAustralia2024-05-05Rousseaux, Michael Esq PROPOSAL13Ivan Magalhaes
1046Octavia T ChuiGermany2024-05-24Morlong Associates NEGOTIATION26Asiya Javayant
1047Mujtaba J RutaSpain2024-05-08Commercial Press PROPOSAL56Stephen Shaw
1048Cody Y SchemmerItaly2024-05-20Morlong Associates RENEWAL24Amy Elsner
1049Misaki I MorascaIndia2024-05-19King, Christopher A Esq NEW20Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ivar J MarrierBrazilAmy Elsner NEW
Deepesh Q FigeroaSpainElwin Sharvill NEGOTIATION
Tony J ChuiArgentinaIvan Magalhaes NEW
Julie T StockhamJapanAmy Elsner NEW
Ricardo X RimAustraliaIvan Magalhaes UNQUALIFIED
Murillo Y ChuiAustraliaIvan Magalhaes UNQUALIFIED
Smith E NestleJapanStephen Shaw PROPOSAL
Salvatore O ChuiGermanyStephen Shaw NEW
Rodrigues E AmigonSpainAnna Fali PROPOSAL
Leja J CaudyRussiaXuxue Feng UNQUALIFIED
Aika S BologniaIndiaOnyama Limba PROPOSAL
Ricardo N DarakjyJapanOnyama Limba NEW
Cody X DarakjyAustraliaBernardo Dominic NEGOTIATION
Nicolas T AmigonGermanyAmy Elsner UNQUALIFIED
Octavia P DarakjyGermanyBernardo Dominic UNQUALIFIED
James N KolmetzArgentinaBernardo Dominic RENEWAL
Adams B KuskoSpainIvan Magalhaes QUALIFIED
Wickens R WhobreyBrazilAnna Fali PROPOSAL
Smith S KuskoFranceStephen Shaw QUALIFIED
Jennifer W FerenczArgentinaBernardo Dominic NEGOTIATION
Aika E MaletGermanyIvan Magalhaes RENEWAL
Mujtaba I GlickFranceElwin Sharvill NEW
Francesco R BriddickSpainAnna Fali NEW
Salvatore B PaprockiSpainAmy Elsner UNQUALIFIED
Ricardo E GillianIndiaIoni Bowcher UNQUALIFIED
Deepesh E SlusarskiIndiaIoni Bowcher QUALIFIED
Mayumi S NestleSpainAmy Elsner PROPOSAL
Antonio W FlosiCanadaIvan Magalhaes PROPOSAL
Misaki C CampainItalyAmy Elsner NEW
Juan F BriddickIndiaIvan Magalhaes UNQUALIFIED
Morrow C TollnerFranceAnna Fali RENEWAL
Leon J NickaSpainIoni Bowcher RENEWAL
Emily S FlosiCanadaBernardo Dominic NEW
Aditya K GauchoAustraliaIoni Bowcher NEGOTIATION
Silvio E TollnerSpainStephen Shaw RENEWAL
Juan S WieserArgentinaAsiya Javayant NEW
Ashley A RoysterAustraliaIoni Bowcher PROPOSAL
Izzy S StockhamSpainStephen Shaw QUALIFIED
Octavia T OstroskyArgentinaIoni Bowcher PROPOSAL
Jeanfrancois P CampainGermanyIvan Magalhaes PROPOSAL
Octavia K FollerFranceStephen Shaw NEW
Salvatore V WaycottJapanOnyama Limba UNQUALIFIED
Munro H WaycottRussiaElwin Sharvill UNQUALIFIED
Leja T InouyeGermanyElwin Sharvill QUALIFIED
Jones A PerinBrazilXuxue Feng RENEWAL
Aditya P MarrierGermanyElwin Sharvill NEW
Aditya Y PoquetteJapanElwin Sharvill NEW
Ricardo L StockhamJapanStephen Shaw RENEWAL
Stacey E FlosiRussiaIvan Magalhaes RENEWAL
Deepesh R FollerGermanyBernardo Dominic NEW
Frozen Columns
Name
Kaitlin S Vocelka
Sinclair F Perin
Nicolas M Bowley
Tony Z Gillian
Deepesh T Shinko
Arvin U Kolmetz
Deepesh A Stenseth
Arvin U Gaucho
Cody F Bolognia
Leja Y Malet
Clifford P Wieser
Stacey S Paprocki
Leja Q Caldarera
Adams A Nicka
Aditya M Flosi
Octavia D Nicka
Octavia O Garufi
Wickens K Schemmer
Stacey L Ferencz
Ashley X Kolmetz
Stacey O Paprocki
Isabel F Garufi
Jennifer Q Ruta
Tony U Paprocki
Salvatore C Kusko
Wickens T Shinko
Cody H Maclead
Costa C Foller
Claire Y Dilliard
Rodrigues F Wieser
Misaki Q Maclead
Tony R Wieser
Isabel X Briddick
Clifford T Inouye
Murillo W Bowley
Octavia Y Tollner
Jeanfrancois I Bowley
Cody E Oldroyd
Kaitlin T Schemmer
Leon O Kusko
Ricardo P Whobrey
Munro Y Vocelka
Morrow R Perin
Antonio Z Stockham
Octavia K Nicka
Chavez N Stockham
Alejandro J Waycott
Julie J Rulapaugh
Maria J Paprocki
Francesco F Malet
IdCountryDate
1000Italy2024-06-03
1001Spain2024-05-05
1002Argentina2024-05-25
1003Russia2024-05-13
1004India2024-05-28
1005United Kingdom2024-06-01
1006Brazil2024-05-29
1007Russia2024-05-16
1008Canada2024-05-10
1009Japan2024-05-22
1010United Kingdom2024-05-07
1011Italy2024-05-24
1012United Kingdom2024-05-09
1013India2024-06-02
1014Canada2024-05-17
1015Japan2024-05-24
1016Australia2024-05-09
1017United Kingdom2024-06-03
1018Argentina2024-05-05
1019Russia2024-05-26
1020Germany2024-05-29
1021Spain2024-05-28
1022Japan2024-05-16
1023France2024-05-31
1024France2024-05-17
1025India2024-05-25
1026Brazil2024-05-22
1027Italy2024-05-07
1028France2024-05-28
1029Australia2024-05-18
1030India2024-05-28
1031United Kingdom2024-06-03
1032Russia2024-05-16
1033India2024-05-07
1034Argentina2024-05-25
1035Canada2024-05-09
1036India2024-05-20
1037Brazil2024-05-25
1038Germany2024-05-05
1039Australia2024-06-02
1040United Kingdom2024-05-05
1041Brazil2024-05-12
1042Canada2024-05-16
1043India2024-05-11
1044Japan2024-05-09
1045India2024-05-10
1046Germany2024-05-13
1047Canada2024-05-22
1048India2024-05-30
1049Spain2024-05-15

On-Demand Data

NameIdCountryDate
Faith X Vocelka1000Argentina2024-05-19
Rodrigues N Morasca1001United Kingdom2024-06-02
Jones T Glick1002Australia2024-05-23
Faith U Campain1003Japan2024-05-30
Antonio K Glick1004United Kingdom2024-05-05
Juan F Flosi1005Australia2024-05-12
Rodrigues B Stenseth1006Brazil2024-05-25
Claire I Nestle1007Japan2024-05-24
Aika K Caudy1008France2024-05-12
Greenwood F Perin1009Canada2024-05-11
Kadeem P Saylors1010Australia2024-05-19
Jefferson H Caudy1011Argentina2024-05-27
Izzy N Iturbide1012Argentina2024-05-12
Jeanfrancois P Gillian1013France2024-05-23
Sinclair K Tollner1014Japan2024-06-02
James I Slusarski1015Italy2024-05-08
Jefferson P Wieser1016India2024-05-30
Arvin M Rulapaugh1017India2024-06-03
Antonio I Darakjy1018India2024-05-19
Julie O Vocelka1019Russia2024-05-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio H WaycottAustraliaAnna Fali QUALIFIED
Johnson V RimIndiaXuxue Feng RENEWAL
Ashley P GillianFranceIvan Magalhaes UNQUALIFIED
Francesco W GauchoSpainAsiya Javayant QUALIFIED
Arvin S BologniaArgentinaElwin Sharvill PROPOSAL
Deepesh J MorascaCanadaAnna Fali UNQUALIFIED
Costa T GarufiJapanIvan Magalhaes QUALIFIED
Adams M RoysterJapanBernardo Dominic QUALIFIED
Aruna T OldroydJapanIoni Bowcher NEW
Adams S RoysterRussiaIvan Magalhaes PROPOSAL
Ashley O SaylorsFranceAnna Fali QUALIFIED
Leon G GillianSpainAmy Elsner NEGOTIATION
Ivar K GarufiGermanyOnyama Limba UNQUALIFIED
Izzy V DoeSpainOnyama Limba NEW
Ivar M ShinkoFranceOnyama Limba QUALIFIED
Adams U DoeUnited KingdomOnyama Limba NEGOTIATION
Johnson U TollnerItalyOnyama Limba RENEWAL
Smith J StockhamFranceStephen Shaw NEW
Maria B DarakjySpainAmy Elsner QUALIFIED
Jeanfrancois E SlusarskiGermanyIoni Bowcher PROPOSAL
Adams F KuskoCanadaBernardo Dominic UNQUALIFIED
Misaki L ShinkoIndiaAsiya Javayant QUALIFIED
Francesco C BologniaAustraliaBernardo Dominic NEW
Maria L KolmetzRussiaElwin Sharvill RENEWAL
Maisha B RimSpainStephen Shaw NEGOTIATION
Kadeem K MaletRussiaElwin Sharvill UNQUALIFIED
Nicolas E SaylorsArgentinaIoni Bowcher PROPOSAL
Stacey Y AlbaresJapanAsiya Javayant UNQUALIFIED
Nicolas G RulapaughUnited KingdomStephen Shaw RENEWAL
Costa C FigeroaUnited KingdomAnna Fali RENEWAL
Costa Q SchemmerItalyStephen Shaw NEGOTIATION
Sinclair O RutaJapanAnna Fali NEGOTIATION
Kadeem E GillianBrazilStephen Shaw PROPOSAL
Deepesh J VocelkaBrazilElwin Sharvill QUALIFIED
Izzy J RulapaughGermanyAmy Elsner UNQUALIFIED
David Y SergiIndiaAmy Elsner UNQUALIFIED
Izzy Q SaylorsJapanBernardo Dominic UNQUALIFIED
Darci M FigeroaBrazilElwin Sharvill QUALIFIED
Morrow N ShinkoCanadaIoni Bowcher PROPOSAL
Mayumi K FollerIndiaAsiya Javayant 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>