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
Smith K BowleyIndiaIvan Magalhaes NEW
Greenwood V IturbideGermanyAmy Elsner PROPOSAL
Octavia T StensethJapanOnyama Limba UNQUALIFIED
Cody P KuskoArgentinaAsiya Javayant QUALIFIED
Silvio A DilliardUnited KingdomElwin Sharvill QUALIFIED
Smith X DoeCanadaXuxue Feng RENEWAL
Maria N FigeroaItalyAmy Elsner UNQUALIFIED
Octavia C MaletItalyIvan Magalhaes RENEWAL
Smith F NestleJapanIvan Magalhaes NEW
Jefferson X GillianUnited KingdomAnna Fali NEW
Sinclair F VocelkaArgentinaElwin Sharvill UNQUALIFIED
Aditya P TollnerSpainBernardo Dominic PROPOSAL
Arvin W MaletJapanXuxue Feng UNQUALIFIED
Darci U MaletCanadaAnna Fali QUALIFIED
Sinclair V CampainCanadaStephen Shaw QUALIFIED
Leja N StensethGermanyIvan Magalhaes RENEWAL
Morrow I WaycottAustraliaIoni Bowcher NEW
Alejandro L ChuiItalyIoni Bowcher RENEWAL
Deepesh F FigeroaIndiaAsiya Javayant UNQUALIFIED
Aditya J VocelkaBrazilStephen Shaw NEGOTIATION
Alejandro S StockhamBrazilIoni Bowcher NEGOTIATION
James U SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Arvin E GlickFranceAnna Fali UNQUALIFIED
Jeanfrancois Q GlickItalyAnna Fali QUALIFIED
Sinclair Y ButtUnited KingdomAmy Elsner RENEWAL
Deepesh W OstroskyFranceOnyama Limba QUALIFIED
Misaki O WhobreyItalyElwin Sharvill QUALIFIED
Faith Y RutaIndiaIoni Bowcher PROPOSAL
Faith T GillianCanadaIoni Bowcher UNQUALIFIED
Greenwood H VenereAustraliaAnna Fali NEW
Johnson M RoysterItalyAmy Elsner NEGOTIATION
Tony I VenereGermanyXuxue Feng QUALIFIED
Octavia Q MacleadArgentinaIvan Magalhaes NEGOTIATION
Mujtaba Z OldroydBrazilStephen Shaw QUALIFIED
Ivar T SlusarskiSpainOnyama Limba UNQUALIFIED
Darci V DoeUnited KingdomElwin Sharvill NEGOTIATION
Leon U FerenczJapanIoni Bowcher QUALIFIED
David L VocelkaUnited KingdomIoni Bowcher PROPOSAL
Jeanfrancois T GauchoAustraliaElwin Sharvill RENEWAL
Costa O VocelkaCanadaAsiya Javayant RENEWAL
Emily T StensethGermanyIvan Magalhaes UNQUALIFIED
Aditya S PerinJapanElwin Sharvill UNQUALIFIED
Emily Z FollerArgentinaIvan Magalhaes UNQUALIFIED
Cody R RutaSpainAmy Elsner PROPOSAL
Costa O SaylorsSpainAmy Elsner NEW
Aika T MaletAustraliaElwin Sharvill RENEWAL
Julie O TollnerBrazilIvan Magalhaes NEGOTIATION
Greenwood B SlusarskiItalyIoni Bowcher PROPOSAL
Sinclair X BologniaBrazilAnna Fali QUALIFIED
Julie E IturbideBrazilAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
David P DarakjyFranceAnna Fali NEGOTIATION
James D WhobreyRussiaStephen Shaw QUALIFIED
Nicolas V FollerJapanAmy Elsner RENEWAL
Munro K SlusarskiJapanElwin Sharvill NEGOTIATION
Aditya H VocelkaAustraliaBernardo Dominic UNQUALIFIED
Emily V GlickJapanElwin Sharvill UNQUALIFIED
Greenwood C DoeIndiaElwin Sharvill PROPOSAL
Maisha D GillianJapanXuxue Feng NEGOTIATION
Alejandro D DilliardSpainIvan Magalhaes PROPOSAL
Murillo O StockhamRussiaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika G CampainUnited Kingdom2024-05-24Commercial Press QUALIFIED60Anna Fali
1001Faith B GarufiArgentina2024-05-19Feiner Bros UNQUALIFIED16Asiya Javayant
1002Juan T RoysterRussia2024-06-10Dorl, James J Esq QUALIFIED28Stephen Shaw
1003Jefferson E OldroydBrazil2024-05-31Rangoni Of Florence PROPOSAL50Ioni Bowcher
1004Arvin L MaletArgentina2024-06-06Chapman, Ross E Esq QUALIFIED96Bernardo Dominic
1005Octavia A FerenczIndia2024-05-31Rousseaux, Michael Esq RENEWAL69Stephen Shaw
1006Isabel N ButtAustralia2024-06-06Dorl, James J Esq UNQUALIFIED0Amy Elsner
1007Darci V DarakjyUnited Kingdom2024-06-02Printing Dimensions QUALIFIED19Stephen Shaw
1008Leja V AlbaresIndia2024-05-27Chapman, Ross E Esq QUALIFIED35Xuxue Feng
1009Stacey G PoquetteArgentina2024-05-22King, Christopher A Esq NEW9Ioni Bowcher
1010Tony H IturbideIndia2024-06-14Feltz Printing Service NEW84Stephen Shaw
1011Stacey A KolmetzUnited Kingdom2024-05-19Truhlar And Truhlar Attys QUALIFIED53Asiya Javayant
1012Mayumi B AmigonArgentina2024-05-22Rousseaux, Michael Esq QUALIFIED79Elwin Sharvill
1013Costa D AlbaresJapan2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED67Ioni Bowcher
1014Murillo N PoquetteIndia2024-06-12Buckley Miller Wright NEGOTIATION23Bernardo Dominic
1015Smith G FollerCanada2024-05-28Commercial Press UNQUALIFIED93Stephen Shaw
1016Alejandro N SlusarskiIndia2024-06-05King, Christopher A Esq UNQUALIFIED39Elwin Sharvill
1017Jeanfrancois B PoquetteBrazil2024-05-17Truhlar And Truhlar Attys NEW1Elwin Sharvill
1018Leja B MaletBrazil2024-05-22Benton, John B Jr NEGOTIATION51Ioni Bowcher
1019Salvatore K NestleAustralia2024-06-12Truhlar And Truhlar Attys UNQUALIFIED13Stephen Shaw
1020Maria I CaudyFrance2024-06-01Dorl, James J Esq UNQUALIFIED17Elwin Sharvill
1021Juan Z DarakjyBrazil2024-05-18Feltz Printing Service NEW5Asiya Javayant
1022Darci R RimIndia2024-06-07Chemel, James L Cpa RENEWAL93Elwin Sharvill
1023Deepesh R SlusarskiBrazil2024-06-04Chemel, James L Cpa UNQUALIFIED55Amy Elsner
1024Kadeem T IturbideRussia2024-06-13King, Christopher A Esq RENEWAL36Elwin Sharvill
1025Jefferson U GarufiRussia2024-06-04Printing Dimensions NEW23Stephen Shaw
1026Julie B StensethAustralia2024-06-07Rangoni Of Florence PROPOSAL3Anna Fali
1027David O DilliardCanada2024-06-13King, Christopher A Esq QUALIFIED14Onyama Limba
1028Sinclair L DarakjyGermany2024-06-03Rousseaux, Michael Esq QUALIFIED7Stephen Shaw
1029Antonio B RoysterArgentina2024-06-04Benton, John B Jr PROPOSAL42Stephen Shaw
1030Mayumi L WhobreyUnited Kingdom2024-06-01Chemel, James L Cpa NEGOTIATION30Elwin Sharvill
1031Kaitlin K AlbaresGermany2024-06-14King, Christopher A Esq PROPOSAL68Anna Fali
1032Stacey O GauchoIndia2024-06-10Chapman, Ross E Esq QUALIFIED41Stephen Shaw
1033Stacey K BowleyCanada2024-06-09Truhlar And Truhlar Attys QUALIFIED56Ioni Bowcher
1034Sinclair N ButtItaly2024-06-09Dorl, James J Esq PROPOSAL85Amy Elsner
1035Maisha Q ShinkoItaly2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED21Xuxue Feng
1036Octavia I GillianIndia2024-05-24Truhlar And Truhlar Attys QUALIFIED33Xuxue Feng
1037Jones Y GauchoArgentina2024-06-14Buckley Miller Wright QUALIFIED56Bernardo Dominic
1038Salvatore S ChuiAustralia2024-05-26Feltz Printing Service PROPOSAL82Elwin Sharvill
1039Jones K PaprockiFrance2024-06-05Rangoni Of Florence QUALIFIED79Xuxue Feng
1040Salvatore W FlosiSpain2024-06-05Rousseaux, Michael Esq UNQUALIFIED25Amy Elsner
1041Mujtaba Y OstroskyIndia2024-06-14Feltz Printing Service PROPOSAL70Amy Elsner
1042Francesco I BowleyItaly2024-05-18Feiner Bros NEGOTIATION0Ivan Magalhaes
1043Misaki T PerinCanada2024-06-05Rousseaux, Michael Esq NEW17Ivan Magalhaes
1044Arvin C KolmetzGermany2024-05-31Truhlar And Truhlar Attys UNQUALIFIED61Onyama Limba
1045Faith F GauchoUnited Kingdom2024-06-05Commercial Press RENEWAL15Stephen Shaw
1046Adams X FollerRussia2024-05-22Chemel, James L Cpa UNQUALIFIED92Ioni Bowcher
1047Cody I VocelkaGermany2024-05-26Morlong Associates NEW30Ioni Bowcher
1048Darci J SlusarskiRussia2024-05-19Rangoni Of Florence UNQUALIFIED46Stephen Shaw
1049Jennifer U SlusarskiArgentina2024-06-11Chanay, Jeffrey A Esq QUALIFIED36Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Maria F GauchoBrazilStephen Shaw NEGOTIATION
Ricardo T ShinkoUnited KingdomXuxue Feng PROPOSAL
Aika P MorascaCanadaOnyama Limba UNQUALIFIED
Juan R AmigonJapanAmy Elsner NEGOTIATION
Cody B CaldareraIndiaIvan Magalhaes NEW
Rodrigues X BriddickUnited KingdomOnyama Limba UNQUALIFIED
Jennifer W StensethFranceBernardo Dominic UNQUALIFIED
Rodrigues M GlickAustraliaElwin Sharvill RENEWAL
Smith I SlusarskiUnited KingdomOnyama Limba NEW
Leon X MarrierJapanStephen Shaw NEGOTIATION
Aika B VenereItalyAmy Elsner QUALIFIED
Greenwood C ShinkoRussiaIoni Bowcher NEGOTIATION
Cody Z VocelkaBrazilAmy Elsner UNQUALIFIED
Jefferson Q GillianArgentinaXuxue Feng NEW
Johnson N StensethIndiaElwin Sharvill RENEWAL
Tony S AlbaresSpainOnyama Limba RENEWAL
Misaki U PaprockiArgentinaAsiya Javayant QUALIFIED
Aruna H MorascaAustraliaXuxue Feng NEW
Kadeem U ButtRussiaAmy Elsner RENEWAL
Antonio B StockhamCanadaAnna Fali QUALIFIED
Isabel O PerinItalyXuxue Feng PROPOSAL
Chavez D WaycottSpainOnyama Limba RENEWAL
Chavez R BologniaIndiaBernardo Dominic UNQUALIFIED
Tony N PaprockiJapanAmy Elsner PROPOSAL
Francesco A GillianJapanStephen Shaw NEGOTIATION
Wickens L PaprockiItalyBernardo Dominic QUALIFIED
Jeanfrancois V FollerCanadaIoni Bowcher QUALIFIED
Costa B GillianJapanIoni Bowcher NEW
Morrow S KolmetzFranceIoni Bowcher NEW
Morrow Y ChuiRussiaXuxue Feng RENEWAL
Kadeem M BowleyItalyAnna Fali NEW
Antonio J CampainUnited KingdomAmy Elsner UNQUALIFIED
Stacey T KolmetzAustraliaIvan Magalhaes NEGOTIATION
Smith F WieserIndiaAmy Elsner PROPOSAL
Sinclair V BologniaItalyIoni Bowcher NEGOTIATION
Aruna H GlickItalyIoni Bowcher UNQUALIFIED
Adams D VocelkaAustraliaBernardo Dominic RENEWAL
Johnson J WieserGermanyStephen Shaw UNQUALIFIED
Kadeem C StockhamCanadaStephen Shaw QUALIFIED
Nicolas Z DarakjyRussiaIvan Magalhaes NEGOTIATION
Rodrigues Z StockhamJapanOnyama Limba RENEWAL
Maria R WhobreyFranceAsiya Javayant NEGOTIATION
Leon R TollnerFranceStephen Shaw PROPOSAL
Murillo A GauchoRussiaXuxue Feng QUALIFIED
Jones I MorascaFranceXuxue Feng RENEWAL
Jefferson K DilliardArgentinaAsiya Javayant NEGOTIATION
Wickens M CampainArgentinaStephen Shaw PROPOSAL
Julie F SaylorsUnited KingdomBernardo Dominic NEW
Silvio A BowleyJapanBernardo Dominic NEGOTIATION
Adams C OldroydCanadaIoni Bowcher QUALIFIED
Frozen Columns
Name
Arvin A Inouye
Costa G Dilliard
Aruna W Morasca
Jones E Ferencz
Isabel Q Malet
Maisha G Whobrey
Kadeem A Caudy
Ricardo L Doe
Munro C Wieser
Chavez R Saylors
Stacey Y Ostrosky
David K Glick
Adams Y Venere
Cody R Shinko
Tony A Nicka
Ashley H Royster
Tony A Ruta
Jeanfrancois L Marrier
Aika T Albares
Octavia J Chui
Izzy M Campain
Ivar R Paprocki
Kadeem R Morasca
Kadeem N Bolognia
Rodrigues D Poquette
Leon I Stockham
Leja V Amigon
Costa O Flosi
Clifford N Darakjy
Ricardo B Whobrey
Isabel S Rim
Alejandro Z Bolognia
Mujtaba C Nicka
James M Kolmetz
Claire C Gillian
Izzy Q Albares
Aika L Rim
Smith V Figeroa
Aika V Briddick
Antonio N Ruta
Juan H Oldroyd
Ashley M Flosi
Kadeem K Marrier
Leja N Slusarski
Morrow R Malet
Smith N Flosi
Alejandro M Kolmetz
Greenwood O Perin
Jeanfrancois T Rim
Aika Z Gaucho
IdCountryDate
1000Argentina2024-06-03
1001Australia2024-06-06
1002France2024-06-08
1003Argentina2024-05-19
1004Germany2024-05-19
1005Japan2024-06-04
1006Germany2024-05-16
1007Argentina2024-06-13
1008Italy2024-06-08
1009Canada2024-05-19
1010Australia2024-06-06
1011India2024-05-26
1012Germany2024-05-29
1013Germany2024-05-31
1014Argentina2024-06-05
1015United Kingdom2024-06-05
1016Brazil2024-06-07
1017Canada2024-05-31
1018India2024-06-14
1019India2024-05-29
1020United Kingdom2024-06-13
1021Australia2024-05-28
1022Australia2024-06-09
1023Spain2024-06-06
1024Canada2024-05-25
1025United Kingdom2024-06-10
1026United Kingdom2024-06-14
1027Australia2024-05-18
1028Spain2024-05-20
1029Argentina2024-06-02
1030Spain2024-06-14
1031United Kingdom2024-05-19
1032France2024-05-28
1033Spain2024-05-24
1034Argentina2024-05-31
1035Argentina2024-06-04
1036Russia2024-06-12
1037Canada2024-06-04
1038Italy2024-05-30
1039Australia2024-06-03
1040United Kingdom2024-05-25
1041Argentina2024-06-05
1042Canada2024-06-05
1043Brazil2024-06-08
1044Japan2024-05-28
1045Australia2024-05-30
1046France2024-06-12
1047United Kingdom2024-05-22
1048Australia2024-05-28
1049Brazil2024-05-28

On-Demand Data

NameIdCountryDate
Morrow H Bowley1000Spain2024-05-30
Maria A Gillian1001India2024-05-26
Aika C Vocelka1002Spain2024-05-16
Maisha Y Wieser1003Spain2024-05-23
Maria W Kusko1004Italy2024-06-05
Ivar J Sergi1005Canada2024-05-30
Jones R Slusarski1006France2024-06-07
Silvio L Wieser1007Japan2024-05-16
Morrow P Dilliard1008France2024-06-09
Clifford Z Stockham1009India2024-05-25
Maria W Paprocki1010Germany2024-05-16
Nicolas Y Nicka1011Spain2024-06-14
Faith A Oldroyd1012Australia2024-06-14
Greenwood Q Briddick1013Italy2024-05-19
Munro A Maclead1014United Kingdom2024-06-01
Wickens V Morasca1015Argentina2024-06-14
Darci Z Vocelka1016Brazil2024-06-12
Murillo L Maclead1017Argentina2024-05-27
Misaki T Darakjy1018Italy2024-05-30
Tony K Wieser1019Germany2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie U SlusarskiItalyElwin Sharvill UNQUALIFIED
Smith D PerinFranceAnna Fali NEGOTIATION
Munro F RimGermanyIoni Bowcher NEW
Maisha U FigeroaFranceIvan Magalhaes QUALIFIED
Sinclair R DilliardArgentinaIoni Bowcher RENEWAL
Darci S WaycottSpainIvan Magalhaes RENEWAL
Octavia I DarakjyFranceStephen Shaw NEGOTIATION
Juan P NickaFranceAnna Fali NEGOTIATION
Ivar P NickaSpainElwin Sharvill RENEWAL
Juan K NestleBrazilIvan Magalhaes PROPOSAL
Isabel E SchemmerArgentinaBernardo Dominic QUALIFIED
Munro T ButtArgentinaBernardo Dominic NEGOTIATION
James P BowleyGermanyElwin Sharvill QUALIFIED
Claire N SchemmerFranceIvan Magalhaes RENEWAL
Adams Q ShinkoSpainAsiya Javayant NEW
Darci K NestleIndiaOnyama Limba UNQUALIFIED
Ivar D StockhamRussiaIoni Bowcher RENEWAL
Tony H IturbideFranceStephen Shaw UNQUALIFIED
Leon Y SchemmerSpainAmy Elsner PROPOSAL
Kaitlin G MarrierJapanOnyama Limba NEGOTIATION
Alejandro A MacleadCanadaXuxue Feng NEGOTIATION
Stacey N NickaUnited KingdomElwin Sharvill NEGOTIATION
Claire Q OstroskyIndiaAsiya Javayant RENEWAL
Antonio D MarrierFranceIvan Magalhaes QUALIFIED
Arvin L MaletItalyAsiya Javayant PROPOSAL
Clifford U GarufiCanadaAsiya Javayant NEGOTIATION
Arvin T RimBrazilElwin Sharvill PROPOSAL
Aika V OldroydJapanBernardo Dominic QUALIFIED
Isabel C PoquetteCanadaAsiya Javayant RENEWAL
Jefferson S BologniaItalyAsiya Javayant NEW
Aruna V ButtIndiaBernardo Dominic QUALIFIED
Jeanfrancois A ChuiUnited KingdomOnyama Limba PROPOSAL
Alejandro K DilliardSpainXuxue Feng NEGOTIATION
Deepesh X RutaIndiaOnyama Limba NEGOTIATION
Aditya E WaycottGermanyStephen Shaw QUALIFIED
Claire T VocelkaSpainXuxue Feng NEW
Leon L FlosiRussiaElwin Sharvill QUALIFIED
Murillo P ButtArgentinaAnna Fali NEW
Costa U ButtBrazilOnyama Limba UNQUALIFIED
Greenwood Y InouyeAustraliaElwin 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>