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
Mujtaba B FerenczFranceOnyama Limba PROPOSAL
Stacey L PoquetteIndiaXuxue Feng PROPOSAL
Wickens Y RoysterAustraliaAmy Elsner UNQUALIFIED
Misaki J GillianJapanOnyama Limba NEW
David R ShinkoGermanyIvan Magalhaes NEW
Arvin O DarakjyAustraliaXuxue Feng NEW
Francesco F StockhamAustraliaElwin Sharvill UNQUALIFIED
Juan Q FigeroaRussiaIoni Bowcher UNQUALIFIED
Alejandro R GauchoRussiaAnna Fali NEGOTIATION
Adams E TollnerUnited KingdomIvan Magalhaes RENEWAL
Silvio K WaycottRussiaXuxue Feng QUALIFIED
Salvatore W CaldareraJapanAnna Fali PROPOSAL
Salvatore M FerenczRussiaAmy Elsner UNQUALIFIED
Ashley G DarakjyIndiaIoni Bowcher PROPOSAL
Ricardo U BologniaItalyElwin Sharvill QUALIFIED
Darci R FlosiJapanStephen Shaw UNQUALIFIED
Francesco I GlickIndiaStephen Shaw NEW
Antonio O MaletJapanIvan Magalhaes NEW
Izzy F RulapaughArgentinaAsiya Javayant PROPOSAL
Deepesh R StensethCanadaXuxue Feng PROPOSAL
Mujtaba H IturbideFranceAsiya Javayant UNQUALIFIED
Rodrigues D OldroydIndiaAnna Fali NEW
Claire K MarrierAustraliaIvan Magalhaes UNQUALIFIED
Izzy M PerinUnited KingdomAmy Elsner PROPOSAL
Salvatore V MarrierIndiaStephen Shaw UNQUALIFIED
Aruna S CaldareraBrazilAmy Elsner RENEWAL
Isabel G StensethFranceElwin Sharvill NEGOTIATION
Ivar V RutaSpainIvan Magalhaes PROPOSAL
David M RoysterCanadaOnyama Limba QUALIFIED
Leon N IturbideFranceOnyama Limba NEW
Antonio Y OldroydArgentinaElwin Sharvill NEGOTIATION
Cody O CaudyUnited KingdomXuxue Feng RENEWAL
Tony N BriddickUnited KingdomBernardo Dominic UNQUALIFIED
Octavia S DilliardAustraliaElwin Sharvill PROPOSAL
Jennifer W WieserArgentinaOnyama Limba NEW
Rodrigues Z MarrierIndiaAmy Elsner RENEWAL
Darci F GillianAustraliaAnna Fali NEW
Johnson K MaletItalyAmy Elsner UNQUALIFIED
Cody I MaletIndiaBernardo Dominic NEW
Ricardo O CampainIndiaStephen Shaw QUALIFIED
Izzy H CampainIndiaIvan Magalhaes NEW
Arvin L WieserSpainXuxue Feng QUALIFIED
Izzy I CaldareraUnited KingdomElwin Sharvill PROPOSAL
Maria B OldroydCanadaElwin Sharvill NEGOTIATION
Tony A PerinAustraliaIoni Bowcher QUALIFIED
Smith L MarrierCanadaElwin Sharvill NEGOTIATION
Arvin O InouyeRussiaStephen Shaw NEW
Deepesh W WaycottArgentinaBernardo Dominic RENEWAL
Misaki U DilliardSpainAnna Fali RENEWAL
Darci V SaylorsArgentinaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba V TollnerIndiaElwin Sharvill PROPOSAL
Salvatore Q PoquetteItalyAnna Fali RENEWAL
Darci W DoeBrazilAsiya Javayant PROPOSAL
Munro K NestleAustraliaIvan Magalhaes PROPOSAL
Ashley T ShinkoSpainElwin Sharvill RENEWAL
Tony F PoquetteUnited KingdomIoni Bowcher QUALIFIED
Darci D RulapaughRussiaStephen Shaw RENEWAL
Costa I PaprockiCanadaStephen Shaw UNQUALIFIED
Nicolas V ShinkoUnited KingdomBernardo Dominic QUALIFIED
Ivar E FerenczItalyStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco Y ChuiArgentina2025-05-07Feltz Printing Service RENEWAL6Anna Fali
1001Smith C RulapaughItaly2025-04-22Rangoni Of Florence PROPOSAL37Stephen Shaw
1002Jennifer H FollerGermany2025-05-10Dorl, James J Esq PROPOSAL24Amy Elsner
1003Stacey J CaldareraGermany2025-04-24Chapman, Ross E Esq NEGOTIATION81Anna Fali
1004Nicolas A BowleyIndia2025-05-09Printing Dimensions NEGOTIATION13Onyama Limba
1005Sinclair R NickaFrance2025-04-26Truhlar And Truhlar Attys NEW69Amy Elsner
1006Deepesh E OldroydSpain2025-05-03Buckley Miller Wright RENEWAL10Anna Fali
1007Jones A MaletUnited Kingdom2025-04-18Chemel, James L Cpa NEGOTIATION12Ivan Magalhaes
1008Izzy Z WieserCanada2025-04-21Rousseaux, Michael Esq QUALIFIED11Ivan Magalhaes
1009Clifford W ShinkoUnited Kingdom2025-05-02Benton, John B Jr RENEWAL54Anna Fali
1010Stacey P BowleyAustralia2025-05-07Buckley Miller Wright PROPOSAL7Ioni Bowcher
1011Greenwood K FlosiAustralia2025-04-23Feiner Bros RENEWAL89Anna Fali
1012Claire Q RimAustralia2025-05-03Feltz Printing Service UNQUALIFIED28Bernardo Dominic
1013Aditya F KuskoIndia2025-04-13Buckley Miller Wright RENEWAL85Ivan Magalhaes
1014Julie R CampainJapan2025-04-24Morlong Associates NEGOTIATION65Anna Fali
1015Smith L KolmetzFrance2025-04-29Rousseaux, Michael Esq QUALIFIED0Amy Elsner
1016Murillo S MaletRussia2025-04-28Chapman, Ross E Esq NEW12Bernardo Dominic
1017Chavez H RutaArgentina2025-04-16Chanay, Jeffrey A Esq NEGOTIATION0Bernardo Dominic
1018Ivar P ShinkoArgentina2025-04-26Feiner Bros QUALIFIED74Asiya Javayant
1019Mayumi O PaprockiItaly2025-04-26Morlong Associates NEGOTIATION26Elwin Sharvill
1020Smith Y NestleJapan2025-04-23Chemel, James L Cpa PROPOSAL85Asiya Javayant
1021Nicolas J SaylorsArgentina2025-05-12Benton, John B Jr RENEWAL98Ioni Bowcher
1022Octavia F FerenczSpain2025-04-23Morlong Associates UNQUALIFIED42Bernardo Dominic
1023Costa S GlickRussia2025-04-16Chemel, James L Cpa QUALIFIED2Stephen Shaw
1024Jennifer I ShinkoIndia2025-04-17Dorl, James J Esq PROPOSAL73Onyama Limba
1025Mayumi A SlusarskiArgentina2025-05-02Chapman, Ross E Esq UNQUALIFIED52Amy Elsner
1026Chavez E BriddickUnited Kingdom2025-05-11Feltz Printing Service NEGOTIATION31Amy Elsner
1027Jeanfrancois E OldroydCanada2025-05-08Chanay, Jeffrey A Esq RENEWAL28Asiya Javayant
1028Alejandro C PaprockiAustralia2025-04-21Benton, John B Jr PROPOSAL68Xuxue Feng
1029Leon B InouyeRussia2025-05-10Benton, John B Jr UNQUALIFIED28Amy Elsner
1030Tony M BologniaAustralia2025-05-02Chapman, Ross E Esq NEGOTIATION81Elwin Sharvill
1031Clifford B StockhamItaly2025-04-14Truhlar And Truhlar Attys UNQUALIFIED52Stephen Shaw
1032Kadeem Y DilliardFrance2025-04-16Chanay, Jeffrey A Esq UNQUALIFIED48Ioni Bowcher
1033Munro E GarufiAustralia2025-04-19Dorl, James J Esq NEGOTIATION64Asiya Javayant
1034Smith U NestleGermany2025-05-11Truhlar And Truhlar Attys UNQUALIFIED87Anna Fali
1035Aditya W SaylorsArgentina2025-05-08Commercial Press PROPOSAL28Asiya Javayant
1036Misaki R SergiCanada2025-05-11Chanay, Jeffrey A Esq UNQUALIFIED5Elwin Sharvill
1037Octavia V CaudyArgentina2025-04-28Printing Dimensions NEW58Asiya Javayant
1038Morrow M OstroskyRussia2025-04-30Chemel, James L Cpa UNQUALIFIED14Elwin Sharvill
1039Jefferson J FigeroaRussia2025-05-11Chapman, Ross E Esq NEW46Onyama Limba
1040James E ButtItaly2025-04-15Benton, John B Jr NEW72Anna Fali
1041Arvin S ShinkoFrance2025-04-28Chapman, Ross E Esq UNQUALIFIED45Bernardo Dominic
1042Silvio T GauchoSpain2025-05-06Rangoni Of Florence QUALIFIED24Asiya Javayant
1043Emily P ButtCanada2025-04-21Chemel, James L Cpa QUALIFIED5Xuxue Feng
1044Morrow N DarakjyGermany2025-05-10Buckley Miller Wright QUALIFIED45Ioni Bowcher
1045Sinclair S OstroskySpain2025-05-11King, Christopher A Esq UNQUALIFIED56Bernardo Dominic
1046Octavia Q SaylorsJapan2025-05-09Rousseaux, Michael Esq NEW31Xuxue Feng
1047Leon R VenereUnited Kingdom2025-05-12Commercial Press NEW69Xuxue Feng
1048Leja L VenereJapan2025-05-10Chanay, Jeffrey A Esq NEGOTIATION15Bernardo Dominic
1049Murillo O RoysterAustralia2025-04-19Dorl, James J Esq NEGOTIATION54Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aika M MorascaSpainIvan Magalhaes PROPOSAL
Johnson N FigeroaRussiaIoni Bowcher QUALIFIED
Claire P AmigonAustraliaBernardo Dominic PROPOSAL
Leon K SlusarskiBrazilAmy Elsner QUALIFIED
Cody S BowleyGermanyOnyama Limba NEW
Aruna U CampainFranceXuxue Feng UNQUALIFIED
Kaitlin M TollnerBrazilXuxue Feng RENEWAL
Maria V CampainAustraliaOnyama Limba NEW
Johnson K KuskoUnited KingdomIvan Magalhaes NEW
Isabel K RimRussiaXuxue Feng QUALIFIED
Jeanfrancois W VenereArgentinaBernardo Dominic NEGOTIATION
Johnson A AmigonSpainIoni Bowcher PROPOSAL
Isabel O OstroskyJapanXuxue Feng QUALIFIED
Morrow Z WieserRussiaIoni Bowcher QUALIFIED
Leja Y GlickSpainIoni Bowcher UNQUALIFIED
Faith Q FigeroaGermanyXuxue Feng NEW
Jeanfrancois M RutaGermanyAmy Elsner QUALIFIED
Leon F DilliardItalyIoni Bowcher PROPOSAL
Aika E MarrierSpainBernardo Dominic QUALIFIED
Julie I WieserFranceXuxue Feng UNQUALIFIED
Maria M OstroskyAustraliaIvan Magalhaes QUALIFIED
Jeanfrancois T ButtBrazilOnyama Limba PROPOSAL
Ivar R RulapaughIndiaAsiya Javayant NEGOTIATION
Octavia S ChuiGermanyIoni Bowcher NEGOTIATION
Kaitlin O WhobreyFranceOnyama Limba UNQUALIFIED
Aditya Z IturbideAustraliaStephen Shaw PROPOSAL
Juan V PaprockiRussiaAsiya Javayant NEGOTIATION
Kaitlin S BriddickArgentinaIoni Bowcher UNQUALIFIED
Jennifer G RoysterCanadaAmy Elsner NEGOTIATION
Julie D DarakjyFranceXuxue Feng UNQUALIFIED
Nicolas Z DarakjyRussiaXuxue Feng NEGOTIATION
Mayumi Y ChuiUnited KingdomElwin Sharvill UNQUALIFIED
David J FerenczUnited KingdomAmy Elsner RENEWAL
Jefferson W ShinkoFranceAsiya Javayant NEW
Johnson S ShinkoFranceOnyama Limba NEW
Salvatore Q CampainFranceAsiya Javayant UNQUALIFIED
Smith H GlickCanadaAmy Elsner RENEWAL
Silvio W ChuiUnited KingdomIoni Bowcher QUALIFIED
Adams V MaletSpainIvan Magalhaes QUALIFIED
Francesco N SaylorsFranceAmy Elsner NEGOTIATION
Aruna A PoquetteIndiaElwin Sharvill NEW
Maisha D StockhamCanadaOnyama Limba QUALIFIED
Johnson I RoysterAustraliaIoni Bowcher QUALIFIED
Cody L SaylorsRussiaAsiya Javayant QUALIFIED
Johnson Q BowleyCanadaAmy Elsner UNQUALIFIED
Kaitlin B StensethFranceAmy Elsner PROPOSAL
Antonio D KuskoIndiaBernardo Dominic RENEWAL
Stacey W NestleAustraliaBernardo Dominic QUALIFIED
Silvio C BriddickSpainStephen Shaw QUALIFIED
Costa B RutaRussiaElwin Sharvill RENEWAL
Frozen Columns
Name
Darci A Shinko
Julie P Rim
Munro G Doe
Ashley G Caudy
Aruna U Chui
Alejandro G Nicka
Aruna E Nestle
Alejandro F Schemmer
Antonio P Schemmer
Maria R Ostrosky
Juan A Albares
Mujtaba K Poquette
Johnson V Schemmer
Izzy R Whobrey
Alejandro B Maclead
Julie T Rulapaugh
Claire I Whobrey
Aditya W Maclead
Kaitlin C Butt
Francesco C Campain
Leon H Albares
Costa X Schemmer
Morrow H Saylors
Juan O Figeroa
Johnson G Briddick
Izzy M Amigon
Alejandro U Briddick
Mayumi N Garufi
Silvio B Perin
Jeanfrancois W Royster
Ivar G Kusko
Morrow F Ferencz
Misaki M Kolmetz
Tony H Chui
Francesco M Campain
Clifford O Ostrosky
Cody J Schemmer
Adams T Figeroa
Deepesh F Whobrey
Kaitlin E Kolmetz
Francesco V Venere
Morrow D Poquette
Leja P Royster
Izzy G Caudy
Deepesh D Foller
Isabel V Venere
Alejandro K Briddick
Ricardo F Figeroa
Munro S Maclead
Morrow M Morasca
IdCountryDate
1000Australia2025-05-09
1001Germany2025-04-22
1002Argentina2025-04-18
1003Germany2025-05-11
1004India2025-04-18
1005Germany2025-05-01
1006Germany2025-04-22
1007Argentina2025-04-21
1008India2025-05-12
1009Brazil2025-05-11
1010Australia2025-04-23
1011India2025-05-06
1012United Kingdom2025-05-12
1013Argentina2025-04-25
1014Spain2025-05-09
1015Brazil2025-04-25
1016France2025-05-08
1017France2025-04-22
1018Germany2025-05-01
1019France2025-04-28
1020Japan2025-05-04
1021Japan2025-05-09
1022United Kingdom2025-04-14
1023Brazil2025-05-06
1024Australia2025-04-28
1025France2025-05-08
1026France2025-05-01
1027Germany2025-04-14
1028Argentina2025-04-28
1029Canada2025-04-13
1030Australia2025-04-14
1031Canada2025-05-02
1032France2025-04-20
1033Spain2025-05-12
1034Australia2025-04-24
1035Japan2025-04-14
1036Australia2025-04-27
1037Australia2025-04-15
1038Russia2025-04-18
1039Canada2025-05-08
1040Japan2025-04-20
1041United Kingdom2025-05-10
1042Japan2025-04-23
1043Japan2025-04-28
1044Australia2025-04-19
1045United Kingdom2025-04-22
1046Spain2025-05-04
1047Japan2025-04-20
1048Argentina2025-05-03
1049India2025-05-07

On-Demand Data

NameIdCountryDate
Arvin T Malet1000Italy2025-04-13
Leon M Maclead1001Spain2025-04-30
Antonio Q Waycott1002France2025-05-02
Greenwood R Kusko1003Italy2025-04-28
Aika Z Chui1004Canada2025-04-16
Johnson U Albares1005Canada2025-05-09
Francesco E Stockham1006Italy2025-05-11
Darci S Venere1007Russia2025-05-11
Octavia L Vocelka1008Australia2025-04-24
Darci X Iturbide1009Australia2025-04-24
Mayumi X Venere1010India2025-05-12
Tony X Sergi1011Brazil2025-05-12
Costa A Rulapaugh1012United Kingdom2025-04-20
Stacey Q Caldarera1013India2025-04-25
Morrow Z Dilliard1014Italy2025-05-05
Mayumi A Glick1015Japan2025-05-10
Murillo J Albares1016Canada2025-05-11
Ivar K Kusko1017France2025-05-01
Rodrigues N Darakjy1018Brazil2025-04-23
Aika T Glick1019Spain2025-05-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens X OstroskyCanadaStephen Shaw PROPOSAL
Jeanfrancois L InouyeAustraliaOnyama Limba UNQUALIFIED
Jones Q FigeroaFranceXuxue Feng QUALIFIED
Jefferson R IturbideSpainOnyama Limba UNQUALIFIED
Maisha G SergiSpainOnyama Limba NEGOTIATION
Alejandro U GauchoBrazilOnyama Limba PROPOSAL
Jones Q StockhamCanadaAsiya Javayant PROPOSAL
Kadeem T KolmetzIndiaAsiya Javayant PROPOSAL
Mayumi D CaudyFranceBernardo Dominic UNQUALIFIED
Aditya V OstroskyGermanyAsiya Javayant QUALIFIED
Nicolas A GauchoFranceBernardo Dominic UNQUALIFIED
Darci F StockhamSpainIoni Bowcher PROPOSAL
Ivar X AmigonItalyAnna Fali NEW
Rodrigues R DilliardGermanyAsiya Javayant NEGOTIATION
Aruna C FlosiRussiaBernardo Dominic QUALIFIED
Jennifer S WaycottAustraliaIoni Bowcher NEGOTIATION
Morrow D RulapaughBrazilIvan Magalhaes RENEWAL
Emily Q WhobreyUnited KingdomIvan Magalhaes PROPOSAL
Arvin N PoquetteJapanIoni Bowcher UNQUALIFIED
Faith M SergiUnited KingdomAmy Elsner NEGOTIATION
Stacey X InouyeItalyAmy Elsner UNQUALIFIED
Ashley C NickaAustraliaIvan Magalhaes UNQUALIFIED
Stacey Z MorascaSpainIvan Magalhaes RENEWAL
Octavia B GauchoArgentinaIvan Magalhaes PROPOSAL
Sinclair U MorascaCanadaXuxue Feng NEW
Johnson N WaycottUnited KingdomIoni Bowcher PROPOSAL
Johnson L MarrierUnited KingdomXuxue Feng NEW
Chavez M WhobreyAustraliaAsiya Javayant RENEWAL
Cody Z WhobreyCanadaAsiya Javayant RENEWAL
Antonio S GlickArgentinaXuxue Feng RENEWAL
Nicolas K OldroydAustraliaXuxue Feng PROPOSAL
Ricardo O SaylorsItalyOnyama Limba PROPOSAL
Jefferson P SaylorsAustraliaOnyama Limba QUALIFIED
Emily X CaudyFranceBernardo Dominic PROPOSAL
Darci B TollnerIndiaIoni Bowcher RENEWAL
Mujtaba W DilliardSpainIoni Bowcher RENEWAL
Greenwood V ChuiGermanyXuxue Feng NEW
Izzy W FigeroaFranceAnna Fali NEW
Alejandro F PerinBrazilAmy Elsner NEW
David A GarufiArgentinaIoni Bowcher QUALIFIED

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