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 W AlbaresBrazilXuxue Feng NEW
Adams O AlbaresUnited KingdomAmy Elsner QUALIFIED
Faith G WhobreyArgentinaOnyama Limba NEGOTIATION
Izzy G WieserJapanBernardo Dominic QUALIFIED
Johnson R OstroskyBrazilOnyama Limba NEGOTIATION
Rodrigues M BologniaArgentinaElwin Sharvill PROPOSAL
Jennifer P PoquetteItalyOnyama Limba RENEWAL
Emily Z OstroskyRussiaAsiya Javayant NEW
Cody A VocelkaItalyIvan Magalhaes QUALIFIED
Wickens I SlusarskiJapanIvan Magalhaes RENEWAL
Octavia B PoquetteSpainIvan Magalhaes QUALIFIED
Misaki S VocelkaSpainStephen Shaw RENEWAL
Ricardo N MaletSpainElwin Sharvill NEGOTIATION
Mujtaba Q PerinGermanyElwin Sharvill PROPOSAL
Antonio F MarrierBrazilAsiya Javayant QUALIFIED
Greenwood F DilliardArgentinaIoni Bowcher RENEWAL
Sinclair H RimArgentinaAmy Elsner PROPOSAL
Mujtaba U AlbaresJapanBernardo Dominic PROPOSAL
Kaitlin H MaletSpainStephen Shaw RENEWAL
Chavez G GillianSpainStephen Shaw PROPOSAL
Juan E OldroydCanadaAmy Elsner UNQUALIFIED
Juan O MaletUnited KingdomAnna Fali NEGOTIATION
Cody G KuskoUnited KingdomXuxue Feng NEGOTIATION
Juan H FlosiUnited KingdomElwin Sharvill NEW
Ricardo I KolmetzFranceStephen Shaw PROPOSAL
Tony O FollerGermanyAnna Fali QUALIFIED
Smith U NickaAustraliaAnna Fali PROPOSAL
David L NickaItalyBernardo Dominic NEGOTIATION
Misaki Y IturbideCanadaAnna Fali RENEWAL
Aika L DilliardGermanyIoni Bowcher QUALIFIED
Ricardo N KuskoUnited KingdomElwin Sharvill NEGOTIATION
Jones B PerinItalyAmy Elsner NEW
Jones Y CampainAustraliaElwin Sharvill UNQUALIFIED
Chavez B KuskoAustraliaElwin Sharvill RENEWAL
Francesco N NickaJapanAmy Elsner PROPOSAL
Stacey M StensethItalyElwin Sharvill RENEWAL
Julie I MaletArgentinaIoni Bowcher QUALIFIED
Sinclair E GlickSpainAmy Elsner NEW
Deepesh U ButtGermanyIoni Bowcher NEGOTIATION
Maria H BowleyAustraliaAnna Fali PROPOSAL
Morrow G StockhamRussiaIoni Bowcher NEGOTIATION
Cody O VenereBrazilAnna Fali NEW
Costa T ChuiJapanAnna Fali NEW
Izzy C FigeroaUnited KingdomBernardo Dominic RENEWAL
Sinclair P BologniaAustraliaIvan Magalhaes UNQUALIFIED
Deepesh X ButtAustraliaIoni Bowcher QUALIFIED
Jones Z TollnerCanadaAmy Elsner QUALIFIED
David H SlusarskiAustraliaElwin Sharvill NEW
Sinclair J ChuiJapanAmy Elsner RENEWAL
Isabel J ShinkoJapanAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon R StockhamSpainBernardo Dominic PROPOSAL
Julie T TollnerBrazilIoni Bowcher NEW
Ashley L BologniaItalyIvan Magalhaes NEGOTIATION
Morrow P DilliardUnited KingdomAnna Fali NEGOTIATION
Munro I SergiBrazilXuxue Feng NEW
Izzy R MaletItalyOnyama Limba NEW
Munro Y IturbideJapanIoni Bowcher RENEWAL
Darci K GlickFranceElwin Sharvill RENEWAL
Morrow U RutaGermanyIvan Magalhaes NEW
Johnson B PoquetteArgentinaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo G GauchoCanada2025-06-06Morlong Associates QUALIFIED33Xuxue Feng
1001Murillo Q RutaGermany2025-06-12Benton, John B Jr QUALIFIED98Ioni Bowcher
1002Munro P RutaIndia2025-05-30Feltz Printing Service QUALIFIED15Onyama Limba
1003Greenwood R FerenczAustralia2025-05-30Rangoni Of Florence NEW41Onyama Limba
1004Aruna Y PerinRussia2025-06-16Commercial Press QUALIFIED15Xuxue Feng
1005Ashley P AlbaresRussia2025-06-11Dorl, James J Esq NEGOTIATION85Stephen Shaw
1006Izzy N RutaArgentina2025-06-11Benton, John B Jr NEW8Ioni Bowcher
1007Octavia C TollnerSpain2025-06-01Chapman, Ross E Esq NEGOTIATION7Bernardo Dominic
1008David F OstroskyRussia2025-05-30Chanay, Jeffrey A Esq RENEWAL70Elwin Sharvill
1009Jones P InouyeRussia2025-05-30Benton, John B Jr UNQUALIFIED92Stephen Shaw
1010Nicolas I CaudyJapan2025-06-13Dorl, James J Esq RENEWAL79Anna Fali
1011Maisha H RulapaughJapan2025-05-19Rangoni Of Florence UNQUALIFIED22Onyama Limba
1012Johnson V WhobreyRussia2025-06-01Rangoni Of Florence RENEWAL14Bernardo Dominic
1013Francesco C FigeroaUnited Kingdom2025-05-18Rangoni Of Florence RENEWAL20Xuxue Feng
1014Costa W NestleBrazil2025-06-09Buckley Miller Wright NEW86Ioni Bowcher
1015David S PoquetteSpain2025-05-23Rousseaux, Michael Esq QUALIFIED71Ivan Magalhaes
1016Clifford U RulapaughCanada2025-06-03King, Christopher A Esq PROPOSAL22Onyama Limba
1017Deepesh F GarufiJapan2025-05-28Chapman, Ross E Esq PROPOSAL17Amy Elsner
1018Nicolas A SergiItaly2025-05-20Commercial Press NEGOTIATION63Elwin Sharvill
1019Jennifer A ButtUnited Kingdom2025-06-13Morlong Associates QUALIFIED76Xuxue Feng
1020Mayumi L CaudyCanada2025-05-24Feiner Bros RENEWAL2Bernardo Dominic
1021Greenwood Y VocelkaUnited Kingdom2025-06-14Dorl, James J Esq RENEWAL27Anna Fali
1022Maria T AlbaresAustralia2025-06-09Dorl, James J Esq RENEWAL97Elwin Sharvill
1023Deepesh K DarakjyRussia2025-06-14Commercial Press QUALIFIED61Onyama Limba
1024Jennifer T RulapaughAustralia2025-05-25Feltz Printing Service NEGOTIATION15Anna Fali
1025Smith Q KuskoAustralia2025-06-16Morlong Associates UNQUALIFIED18Onyama Limba
1026Arvin R VenereCanada2025-06-03Commercial Press NEGOTIATION61Stephen Shaw
1027Kadeem S FollerArgentina2025-05-24Printing Dimensions NEW89Amy Elsner
1028Jennifer H FlosiFrance2025-05-18Buckley Miller Wright RENEWAL26Ioni Bowcher
1029Octavia S NickaGermany2025-06-03King, Christopher A Esq NEW41Ivan Magalhaes
1030Aditya V GillianArgentina2025-06-10Truhlar And Truhlar Attys NEGOTIATION48Ivan Magalhaes
1031Silvio J TollnerArgentina2025-06-13King, Christopher A Esq PROPOSAL68Ioni Bowcher
1032Chavez E MaletJapan2025-06-13Rousseaux, Michael Esq QUALIFIED93Ivan Magalhaes
1033Cody H MarrierAustralia2025-06-11Chanay, Jeffrey A Esq NEW93Bernardo Dominic
1034Maria A FollerCanada2025-06-08Morlong Associates QUALIFIED24Onyama Limba
1035Salvatore X ShinkoCanada2025-06-13Feltz Printing Service RENEWAL3Anna Fali
1036Antonio D MorascaAustralia2025-06-05Rangoni Of Florence NEW44Ivan Magalhaes
1037Murillo W ChuiBrazil2025-05-19Rousseaux, Michael Esq NEGOTIATION73Stephen Shaw
1038Johnson A RutaUnited Kingdom2025-05-24Chapman, Ross E Esq RENEWAL62Xuxue Feng
1039Aditya Q NickaIndia2025-06-06Rousseaux, Michael Esq UNQUALIFIED17Stephen Shaw
1040Claire K CampainAustralia2025-05-22Rousseaux, Michael Esq NEW49Elwin Sharvill
1041Arvin P MaletItaly2025-05-20Truhlar And Truhlar Attys NEW36Ioni Bowcher
1042Johnson Z WhobreyCanada2025-06-03Feiner Bros PROPOSAL11Stephen Shaw
1043Silvio H RulapaughFrance2025-05-18Feiner Bros QUALIFIED28Asiya Javayant
1044Murillo W AmigonRussia2025-06-05Rangoni Of Florence UNQUALIFIED24Anna Fali
1045James B SaylorsCanada2025-05-30Feltz Printing Service NEW24Xuxue Feng
1046Misaki L MaletIndia2025-06-13Chapman, Ross E Esq PROPOSAL14Bernardo Dominic
1047Leja J CaudyFrance2025-06-15Rangoni Of Florence RENEWAL41Xuxue Feng
1048Jennifer X SchemmerItaly2025-05-25Buckley Miller Wright QUALIFIED6Xuxue Feng
1049Cody Z WaycottIndia2025-05-21Feltz Printing Service NEGOTIATION41Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois Q GlickUnited KingdomStephen Shaw RENEWAL
Wickens D RoysterJapanElwin Sharvill UNQUALIFIED
Salvatore J FollerItalyAsiya Javayant RENEWAL
Julie R StockhamIndiaXuxue Feng UNQUALIFIED
Isabel P TollnerIndiaBernardo Dominic RENEWAL
Kaitlin K BologniaGermanyOnyama Limba NEGOTIATION
Aditya N MacleadItalyElwin Sharvill PROPOSAL
Deepesh C DoeUnited KingdomBernardo Dominic NEGOTIATION
Aika E ShinkoSpainXuxue Feng NEGOTIATION
Salvatore A SchemmerUnited KingdomXuxue Feng NEGOTIATION
Adams C SchemmerJapanElwin Sharvill UNQUALIFIED
Kaitlin N RutaIndiaAnna Fali PROPOSAL
Faith N DarakjyArgentinaAnna Fali NEGOTIATION
Francesco V BriddickArgentinaAsiya Javayant NEW
Octavia T IturbideBrazilBernardo Dominic NEGOTIATION
Adams L BologniaGermanyIvan Magalhaes NEW
Jennifer B GlickBrazilIvan Magalhaes QUALIFIED
Ricardo Q SlusarskiItalyStephen Shaw RENEWAL
Leja M ChuiRussiaAmy Elsner RENEWAL
Ivar N CaudyGermanyIoni Bowcher UNQUALIFIED
Izzy L MarrierRussiaIoni Bowcher UNQUALIFIED
Claire M DarakjyAustraliaXuxue Feng QUALIFIED
Isabel W InouyeSpainAmy Elsner NEGOTIATION
Deepesh K GarufiFranceElwin Sharvill RENEWAL
Ashley B RulapaughGermanyAnna Fali RENEWAL
Maria Q MorascaBrazilAsiya Javayant PROPOSAL
Murillo Y SaylorsArgentinaElwin Sharvill PROPOSAL
Misaki N GauchoRussiaAmy Elsner PROPOSAL
Jeanfrancois J TollnerAustraliaStephen Shaw NEGOTIATION
Aruna C AlbaresBrazilAsiya Javayant NEGOTIATION
Rodrigues B FlosiArgentinaAsiya Javayant NEW
Clifford D DarakjyRussiaXuxue Feng PROPOSAL
David N IturbideArgentinaAmy Elsner PROPOSAL
Mayumi E BriddickItalyXuxue Feng NEW
Aruna F FerenczUnited KingdomIvan Magalhaes RENEWAL
Rodrigues V DarakjyItalyIoni Bowcher RENEWAL
Silvio B KuskoAustraliaIoni Bowcher RENEWAL
Mayumi I StensethJapanStephen Shaw NEW
Smith W ChuiIndiaAsiya Javayant NEW
Costa Y CampainFranceAmy Elsner NEW
Alejandro H CaudyRussiaAmy Elsner UNQUALIFIED
Maria A MaletFranceElwin Sharvill NEW
Maria E KolmetzCanadaAnna Fali RENEWAL
Silvio P VenereArgentinaAsiya Javayant NEGOTIATION
Deepesh S OstroskyFranceIvan Magalhaes RENEWAL
Misaki M CampainFranceIoni Bowcher RENEWAL
Aika R SchemmerJapanIoni Bowcher RENEWAL
Cody G DarakjyAustraliaAnna Fali UNQUALIFIED
Mayumi P KuskoBrazilBernardo Dominic QUALIFIED
Ricardo T ButtAustraliaAnna Fali RENEWAL
Frozen Columns
Name
Misaki D Nicka
Costa G Ostrosky
Jefferson E Garufi
Murillo N Amigon
Maisha C Whobrey
Ivar X Butt
Silvio F Caudy
Jeanfrancois A Inouye
Aruna F Foller
Darci K Vocelka
Sinclair Q Briddick
Mujtaba D Marrier
Aditya Y Amigon
Adams E Whobrey
Stacey P Paprocki
Arvin Z Stockham
Rodrigues X Campain
Leja H Chui
Izzy B Venere
Salvatore U Perin
Murillo Z Inouye
Maria Z Campain
Faith B Glick
Nicolas O Rulapaugh
Ivar N Ferencz
Smith A Amigon
Claire A Garufi
Leja V Butt
Greenwood J Butt
Isabel K Doe
Murillo R Glick
Izzy T Bolognia
Jennifer C Morasca
Smith S Schemmer
Juan S Venere
Johnson C Butt
Wickens Y Nestle
Claire T Ferencz
Jennifer U Nestle
Munro F Rulapaugh
Costa E Stenseth
Morrow W Doe
James M Oldroyd
Wickens K Oldroyd
James W Stenseth
Wickens F Bowley
James X Paprocki
Ricardo X Foller
Munro J Iturbide
Ashley V Malet
IdCountryDate
1000Spain2025-05-30
1001India2025-05-29
1002Australia2025-06-07
1003Italy2025-06-12
1004Argentina2025-05-18
1005Argentina2025-06-02
1006India2025-06-02
1007Germany2025-06-05
1008France2025-05-24
1009Japan2025-06-15
1010Russia2025-05-21
1011Russia2025-05-30
1012Russia2025-05-25
1013Canada2025-05-18
1014Russia2025-05-18
1015Spain2025-06-02
1016Italy2025-05-29
1017Spain2025-06-08
1018Canada2025-06-05
1019Italy2025-06-06
1020Spain2025-05-27
1021Italy2025-06-13
1022Italy2025-06-10
1023Russia2025-06-03
1024United Kingdom2025-05-27
1025Canada2025-05-26
1026France2025-06-13
1027Russia2025-06-16
1028Germany2025-05-21
1029Australia2025-05-28
1030United Kingdom2025-05-18
1031Argentina2025-06-08
1032Australia2025-06-08
1033Japan2025-06-02
1034Australia2025-06-09
1035Brazil2025-05-24
1036Australia2025-06-01
1037France2025-05-29
1038Spain2025-06-04
1039India2025-05-28
1040Canada2025-06-01
1041Italy2025-05-27
1042Japan2025-05-25
1043Japan2025-05-30
1044Russia2025-05-24
1045Canada2025-06-02
1046Italy2025-05-27
1047Italy2025-05-29
1048Japan2025-05-22
1049Japan2025-06-15

On-Demand Data

NameIdCountryDate
Tony F Glick1000United Kingdom2025-06-08
Deepesh E Sergi1001Germany2025-05-24
Aruna R Marrier1002Argentina2025-05-18
Aruna C Bolognia1003Japan2025-06-13
Jefferson I Oldroyd1004Australia2025-06-10
Jeanfrancois Z Caudy1005Russia2025-06-15
Faith W Ostrosky1006India2025-06-09
Mayumi O Ruta1007Russia2025-05-18
Clifford L Royster1008India2025-05-31
Greenwood U Tollner1009Germany2025-05-27
Maisha G Garufi1010Canada2025-06-02
Clifford F Foller1011Italy2025-06-12
Munro R Kusko1012France2025-05-26
Adams C Oldroyd1013Germany2025-05-21
Maisha I Nicka1014Russia2025-06-11
Leja L Doe1015Russia2025-05-28
Munro Y Malet1016Canada2025-06-10
Kadeem O Kolmetz1017India2025-06-04
Aruna I Oldroyd1018Spain2025-05-22
Faith L Paprocki1019Russia2025-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo X DilliardAustraliaXuxue Feng PROPOSAL
Aruna J FerenczJapanXuxue Feng RENEWAL
Munro M CaudyIndiaStephen Shaw NEGOTIATION
Morrow U RoysterArgentinaBernardo Dominic NEW
Johnson V RimFranceAmy Elsner QUALIFIED
Clifford P FerenczItalyBernardo Dominic PROPOSAL
Ricardo P DarakjyArgentinaIoni Bowcher NEW
Aditya T WhobreyRussiaXuxue Feng RENEWAL
Leja F OstroskyJapanAmy Elsner QUALIFIED
Salvatore F CaudyItalyXuxue Feng UNQUALIFIED
Mayumi Z GillianBrazilAsiya Javayant RENEWAL
Julie A NestleGermanyAsiya Javayant NEW
Emily Z RulapaughFranceStephen Shaw RENEWAL
Octavia P OstroskyItalyAnna Fali NEGOTIATION
Darci J FollerUnited KingdomAnna Fali NEW
Jones P FerenczArgentinaAmy Elsner QUALIFIED
James N SlusarskiFranceAnna Fali RENEWAL
Silvio M MarrierItalyOnyama Limba NEW
Deepesh X RutaUnited KingdomIoni Bowcher PROPOSAL
Antonio G PoquetteItalyAsiya Javayant RENEWAL
Antonio W FlosiGermanyIvan Magalhaes UNQUALIFIED
Kadeem U RimBrazilOnyama Limba PROPOSAL
Jefferson W StockhamCanadaAnna Fali NEW
Mayumi Y RoysterGermanyElwin Sharvill UNQUALIFIED
Darci G CampainItalyAsiya Javayant NEW
Mayumi K StensethJapanIvan Magalhaes QUALIFIED
Morrow Z RimFranceXuxue Feng NEGOTIATION
Aditya F CaudyArgentinaAnna Fali UNQUALIFIED
James D RoysterCanadaAmy Elsner UNQUALIFIED
Silvio S IturbideBrazilAmy Elsner NEGOTIATION
Izzy V MorascaGermanyBernardo Dominic NEGOTIATION
Alejandro B ButtIndiaBernardo Dominic NEW
Julie H GauchoArgentinaAsiya Javayant RENEWAL
Emily C RimGermanyBernardo Dominic UNQUALIFIED
Aditya Q RimIndiaAsiya Javayant RENEWAL
Ashley J CampainGermanyXuxue Feng RENEWAL
Sinclair B VenereSpainBernardo Dominic NEGOTIATION
Mayumi T WieserFranceIvan Magalhaes PROPOSAL
Deepesh I VocelkaFranceElwin Sharvill UNQUALIFIED
Kadeem P AmigonJapanOnyama Limba RENEWAL

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