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
Stacey O RimUnited KingdomAnna Fali NEGOTIATION
Ashley C IturbideArgentinaIvan Magalhaes RENEWAL
Mujtaba R CaudyGermanyAsiya Javayant QUALIFIED
Francesco S BriddickItalyAnna Fali PROPOSAL
Leon R OldroydBrazilAsiya Javayant QUALIFIED
Mayumi Y ButtBrazilAnna Fali QUALIFIED
Leja T AmigonJapanAsiya Javayant PROPOSAL
Silvio I GlickFranceIvan Magalhaes NEW
Leon E NickaItalyBernardo Dominic PROPOSAL
Greenwood T RoysterJapanAsiya Javayant NEGOTIATION
Johnson K OldroydCanadaAsiya Javayant NEW
Aditya V RoysterIndiaIvan Magalhaes QUALIFIED
Kaitlin R MorascaCanadaIvan Magalhaes RENEWAL
Ivar V BologniaJapanXuxue Feng NEGOTIATION
Clifford O ChuiIndiaAmy Elsner RENEWAL
Kaitlin Q PoquetteCanadaAsiya Javayant QUALIFIED
Darci X ShinkoIndiaBernardo Dominic PROPOSAL
Aika H IturbideJapanIvan Magalhaes QUALIFIED
Tony A StensethJapanElwin Sharvill QUALIFIED
Smith B AlbaresAustraliaAsiya Javayant PROPOSAL
Aruna R BriddickItalyElwin Sharvill RENEWAL
Ashley Y DarakjyIndiaIoni Bowcher NEW
Jones A BriddickSpainAmy Elsner QUALIFIED
Chavez T KolmetzUnited KingdomIvan Magalhaes RENEWAL
Misaki F ChuiUnited KingdomIvan Magalhaes NEGOTIATION
Silvio X SchemmerRussiaStephen Shaw RENEWAL
Clifford J InouyeBrazilOnyama Limba RENEWAL
Aditya Q ChuiBrazilAsiya Javayant UNQUALIFIED
Cody L SlusarskiArgentinaBernardo Dominic QUALIFIED
Murillo W BowleyFranceElwin Sharvill NEW
Costa M InouyeUnited KingdomBernardo Dominic NEW
James G WieserFranceElwin Sharvill NEGOTIATION
Arvin X KuskoFranceAmy Elsner QUALIFIED
Morrow L MarrierFranceIoni Bowcher NEGOTIATION
Aika X RutaIndiaElwin Sharvill NEGOTIATION
Kaitlin X MaletRussiaAsiya Javayant QUALIFIED
Costa D GlickBrazilOnyama Limba NEW
Johnson K OldroydItalyStephen Shaw NEGOTIATION
Jones D GarufiSpainIoni Bowcher RENEWAL
Sinclair C CaudyGermanyIvan Magalhaes NEW
Darci H ButtAustraliaOnyama Limba UNQUALIFIED
Aruna Y TollnerRussiaAsiya Javayant UNQUALIFIED
Claire P TollnerCanadaAmy Elsner PROPOSAL
Munro S KuskoCanadaAmy Elsner UNQUALIFIED
Darci R InouyeRussiaOnyama Limba NEGOTIATION
Wickens O RulapaughArgentinaAmy Elsner NEW
Morrow G BowleyUnited KingdomBernardo Dominic NEW
Rodrigues F GauchoCanadaOnyama Limba NEW
Costa K VocelkaSpainOnyama Limba UNQUALIFIED
Leon G GarufiFranceElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones V PerinIndiaStephen Shaw PROPOSAL
James H CaldareraBrazilXuxue Feng QUALIFIED
Morrow D RoysterArgentinaStephen Shaw PROPOSAL
Ashley R PaprockiAustraliaOnyama Limba PROPOSAL
Isabel B StensethJapanAmy Elsner QUALIFIED
Kadeem X StensethRussiaIoni Bowcher RENEWAL
Silvio F MaletFranceOnyama Limba NEGOTIATION
David Q StensethJapanIoni Bowcher NEW
Adams K VocelkaJapanElwin Sharvill QUALIFIED
Salvatore Y KolmetzUnited KingdomIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James U ChuiAustralia2024-06-08Chapman, Ross E Esq UNQUALIFIED27Stephen Shaw
1001Aruna A MorascaBrazil2024-06-16King, Christopher A Esq RENEWAL17Onyama Limba
1002Darci P AlbaresUnited Kingdom2024-05-24Chemel, James L Cpa UNQUALIFIED14Ioni Bowcher
1003Munro G VocelkaArgentina2024-06-08Dorl, James J Esq UNQUALIFIED17Onyama Limba
1004Rodrigues H KolmetzBrazil2024-05-23Truhlar And Truhlar Attys NEGOTIATION62Stephen Shaw
1005Smith P ChuiFrance2024-06-08Rangoni Of Florence QUALIFIED49Onyama Limba
1006Isabel Q GlickJapan2024-06-12Benton, John B Jr PROPOSAL90Onyama Limba
1007Arvin S KuskoJapan2024-06-09Chanay, Jeffrey A Esq QUALIFIED35Amy Elsner
1008Nicolas D BowleyGermany2024-06-18Dorl, James J Esq RENEWAL65Ioni Bowcher
1009Clifford Y BriddickIndia2024-06-07Rousseaux, Michael Esq UNQUALIFIED40Amy Elsner
1010Arvin B MaletUnited Kingdom2024-05-28King, Christopher A Esq UNQUALIFIED12Stephen Shaw
1011Juan H RutaIndia2024-06-10Chemel, James L Cpa NEW87Stephen Shaw
1012Jeanfrancois J GlickArgentina2024-06-18Chanay, Jeffrey A Esq QUALIFIED78Ivan Magalhaes
1013Antonio N PaprockiRussia2024-06-05Chapman, Ross E Esq RENEWAL45Bernardo Dominic
1014Jennifer F SlusarskiSpain2024-06-18Commercial Press NEW68Xuxue Feng
1015Aika O PaprockiArgentina2024-06-11Rangoni Of Florence NEGOTIATION28Onyama Limba
1016Aditya P RimGermany2024-06-14Benton, John B Jr NEW32Stephen Shaw
1017Jefferson L IturbideJapan2024-05-24King, Christopher A Esq NEGOTIATION76Ivan Magalhaes
1018Greenwood N SchemmerRussia2024-06-17Rousseaux, Michael Esq NEW20Onyama Limba
1019Leon N IturbideGermany2024-06-15Chanay, Jeffrey A Esq PROPOSAL45Bernardo Dominic
1020Isabel B MacleadJapan2024-06-13Chapman, Ross E Esq UNQUALIFIED92Onyama Limba
1021Faith N VocelkaIndia2024-06-05Feiner Bros UNQUALIFIED47Elwin Sharvill
1022Alejandro H AmigonAustralia2024-06-05Feltz Printing Service NEW73Asiya Javayant
1023David U CaudyJapan2024-06-08Feltz Printing Service NEGOTIATION60Stephen Shaw
1024Antonio Y VocelkaGermany2024-05-25Dorl, James J Esq NEW90Amy Elsner
1025Jefferson B GarufiItaly2024-06-18King, Christopher A Esq RENEWAL35Xuxue Feng
1026Jennifer B CaldareraItaly2024-06-10Chemel, James L Cpa QUALIFIED38Bernardo Dominic
1027Kadeem K MaletArgentina2024-06-21Rangoni Of Florence NEW73Amy Elsner
1028Aika Z ChuiFrance2024-06-14Dorl, James J Esq NEW35Onyama Limba
1029Claire Y BologniaIndia2024-06-16Buckley Miller Wright RENEWAL91Asiya Javayant
1030Johnson M OstroskyCanada2024-06-05Chapman, Ross E Esq PROPOSAL64Asiya Javayant
1031Izzy Z WieserJapan2024-05-31Morlong Associates QUALIFIED34Amy Elsner
1032Octavia H NestleSpain2024-06-06Chemel, James L Cpa UNQUALIFIED77Ivan Magalhaes
1033Juan G NickaAustralia2024-06-21Feiner Bros UNQUALIFIED68Bernardo Dominic
1034Ashley N MorascaRussia2024-05-31King, Christopher A Esq RENEWAL66Ioni Bowcher
1035Murillo W SergiBrazil2024-06-12Dorl, James J Esq UNQUALIFIED95Ioni Bowcher
1036Arvin W ChuiSpain2024-06-17Benton, John B Jr UNQUALIFIED34Xuxue Feng
1037Faith Q GillianGermany2024-06-18Rangoni Of Florence UNQUALIFIED61Xuxue Feng
1038Isabel G CampainIndia2024-06-16Chanay, Jeffrey A Esq RENEWAL87Bernardo Dominic
1039Ricardo O SergiArgentina2024-06-15Buckley Miller Wright QUALIFIED33Elwin Sharvill
1040Francesco A PaprockiCanada2024-06-06Buckley Miller Wright RENEWAL94Anna Fali
1041Kaitlin G PaprockiUnited Kingdom2024-05-28Dorl, James J Esq NEW0Asiya Javayant
1042Jefferson W FlosiCanada2024-06-08Truhlar And Truhlar Attys RENEWAL66Amy Elsner
1043Munro B NickaRussia2024-06-20Truhlar And Truhlar Attys NEGOTIATION3Elwin Sharvill
1044Leja V InouyeGermany2024-06-16Feltz Printing Service QUALIFIED59Ioni Bowcher
1045Faith D ShinkoFrance2024-06-19Benton, John B Jr RENEWAL40Anna Fali
1046Juan D ButtCanada2024-06-07Chanay, Jeffrey A Esq QUALIFIED0Asiya Javayant
1047Stacey E RulapaughIndia2024-06-18Buckley Miller Wright QUALIFIED22Asiya Javayant
1048Munro V StockhamJapan2024-06-05Rousseaux, Michael Esq NEGOTIATION12Onyama Limba
1049Claire E VenereUnited Kingdom2024-06-08Feiner Bros NEGOTIATION92Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Emily Z MacleadAustraliaIoni Bowcher PROPOSAL
Antonio W WieserFranceAsiya Javayant UNQUALIFIED
Clifford L RimIndiaAmy Elsner UNQUALIFIED
Octavia U ShinkoFranceAsiya Javayant NEGOTIATION
Salvatore A OldroydAustraliaStephen Shaw NEGOTIATION
Ashley I PerinIndiaIoni Bowcher PROPOSAL
Aruna S WhobreyRussiaIoni Bowcher NEGOTIATION
Aika S MaletBrazilIvan Magalhaes RENEWAL
Kaitlin G RoysterJapanXuxue Feng QUALIFIED
Kaitlin W NickaAustraliaAmy Elsner NEGOTIATION
Ricardo Q GarufiItalyAnna Fali QUALIFIED
Octavia V RutaGermanyStephen Shaw NEGOTIATION
Munro S RoysterRussiaElwin Sharvill RENEWAL
Alejandro I AlbaresAustraliaBernardo Dominic UNQUALIFIED
Sinclair G SchemmerBrazilIoni Bowcher RENEWAL
James H BowleyGermanyAsiya Javayant UNQUALIFIED
Silvio F MaletAustraliaStephen Shaw NEGOTIATION
Costa F TollnerUnited KingdomAnna Fali RENEWAL
Ashley R KolmetzCanadaBernardo Dominic QUALIFIED
Munro J RoysterCanadaIvan Magalhaes UNQUALIFIED
Mayumi I OstroskyFranceIoni Bowcher PROPOSAL
Chavez I GlickGermanyIvan Magalhaes RENEWAL
Jeanfrancois B CampainBrazilStephen Shaw NEGOTIATION
Mayumi C GillianFranceIoni Bowcher RENEWAL
Murillo Z DarakjyItalyStephen Shaw UNQUALIFIED
Aditya O FerenczCanadaIoni Bowcher PROPOSAL
Salvatore F InouyeUnited KingdomElwin Sharvill NEGOTIATION
Leja Y AmigonSpainStephen Shaw UNQUALIFIED
Aruna N FigeroaFranceAmy Elsner UNQUALIFIED
Munro A StensethRussiaStephen Shaw NEW
Costa A ButtItalyAsiya Javayant NEW
Leja S PaprockiItalyElwin Sharvill NEW
James S RulapaughArgentinaXuxue Feng QUALIFIED
Julie Y MarrierJapanAmy Elsner UNQUALIFIED
Jeanfrancois N GillianSpainIoni Bowcher NEW
Ivar T PoquetteCanadaAmy Elsner NEW
Chavez L OldroydFranceAmy Elsner RENEWAL
Silvio T StensethAustraliaBernardo Dominic NEW
Aruna Z AmigonItalyAnna Fali PROPOSAL
Julie N PoquetteRussiaXuxue Feng QUALIFIED
Tony R AmigonAustraliaAmy Elsner QUALIFIED
Ricardo P OldroydGermanyBernardo Dominic NEW
Jeanfrancois Z DilliardIndiaAsiya Javayant QUALIFIED
Kadeem S ButtArgentinaElwin Sharvill QUALIFIED
Mayumi U CampainItalyOnyama Limba RENEWAL
Izzy U BowleyBrazilBernardo Dominic QUALIFIED
Emily M IturbideFranceOnyama Limba NEW
Johnson M RutaCanadaIoni Bowcher NEW
Claire O ButtBrazilAmy Elsner UNQUALIFIED
Mujtaba U RutaRussiaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Antonio T Flosi
Juan W Flosi
Antonio E Saylors
Leon F Amigon
Aditya J Glick
Julie J Marrier
Faith H Flosi
Stacey K Bolognia
David H Doe
Emily Y Inouye
Cody Q Darakjy
Leja G Malet
Ricardo H Ruta
Antonio L Stenseth
Izzy F Sergi
Mayumi D Perin
Nicolas V Marrier
Nicolas I Perin
Murillo Q Schemmer
Emily L Bowley
Francesco E Maclead
Mayumi T Shinko
Aika A Campain
Jones O Paprocki
Smith Y Rim
Rodrigues R Inouye
Rodrigues Z Maclead
Jones B Albares
Chavez Q Schemmer
Maisha B Iturbide
Cody T Briddick
Mayumi Y Campain
Kaitlin X Kolmetz
Adams V Butt
Morrow K Caudy
Chavez J Malet
Silvio X Nicka
Ivar G Wieser
Maisha E Kusko
Ashley E Bolognia
Aditya D Nicka
Izzy T Oldroyd
Deepesh Q Royster
Chavez V Whobrey
Tony E Bowley
Murillo V Whobrey
Arvin P Malet
Octavia C Oldroyd
Isabel M Stockham
Ivar F Briddick
IdCountryDate
1000Australia2024-06-11
1001Australia2024-05-30
1002Australia2024-06-08
1003Brazil2024-06-20
1004Russia2024-06-03
1005Australia2024-06-10
1006Germany2024-06-02
1007Russia2024-06-15
1008Russia2024-05-27
1009Germany2024-05-24
1010France2024-06-05
1011Russia2024-06-17
1012France2024-06-07
1013Russia2024-06-05
1014Germany2024-06-17
1015Canada2024-06-10
1016Russia2024-06-14
1017Spain2024-06-06
1018Australia2024-06-19
1019Argentina2024-05-31
1020Brazil2024-05-31
1021India2024-06-16
1022France2024-06-03
1023United Kingdom2024-06-21
1024Australia2024-06-10
1025Italy2024-06-21
1026United Kingdom2024-06-10
1027Germany2024-06-07
1028Italy2024-05-30
1029Spain2024-05-29
1030Russia2024-06-19
1031Russia2024-05-29
1032United Kingdom2024-06-11
1033Argentina2024-06-05
1034Brazil2024-06-08
1035Italy2024-06-15
1036Germany2024-06-12
1037Russia2024-06-17
1038Argentina2024-06-21
1039Argentina2024-06-09
1040Spain2024-06-17
1041Germany2024-06-07
1042United Kingdom2024-06-20
1043Japan2024-06-07
1044India2024-06-03
1045Australia2024-06-15
1046Japan2024-06-19
1047Spain2024-06-15
1048Canada2024-05-27
1049Argentina2024-06-10

On-Demand Data

NameIdCountryDate
Maisha T Bolognia1000Spain2024-05-23
Antonio L Perin1001Japan2024-05-30
Adams B Ferencz1002Italy2024-05-24
Octavia S Stenseth1003Spain2024-05-31
Misaki M Wieser1004United Kingdom2024-05-27
Alejandro J Flosi1005India2024-05-29
Alejandro Y Briddick1006Japan2024-05-28
Costa P Wieser1007Italy2024-06-10
Arvin I Waycott1008Germany2024-06-06
Tony C Ruta1009Spain2024-06-21
Ivar B Nicka1010Japan2024-06-01
Deepesh B Ruta1011Italy2024-06-05
Emily I Shinko1012Russia2024-06-16
Adams O Amigon1013Brazil2024-06-08
David S Schemmer1014Italy2024-06-20
Claire I Gillian1015Italy2024-06-01
Silvio R Glick1016France2024-06-13
Greenwood T Rim1017Japan2024-05-28
Julie M Caudy1018Italy2024-06-01
Johnson H Caudy1019France2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel Q AlbaresRussiaElwin Sharvill NEW
Greenwood M BowleyArgentinaIvan Magalhaes NEW
Julie P VocelkaIndiaIoni Bowcher NEGOTIATION
Isabel K OldroydItalyStephen Shaw NEW
Alejandro F RoysterIndiaStephen Shaw NEGOTIATION
Deepesh T AlbaresItalyAmy Elsner UNQUALIFIED
Costa Q OldroydUnited KingdomIoni Bowcher NEGOTIATION
Octavia S IturbideBrazilBernardo Dominic UNQUALIFIED
Ricardo X GillianRussiaAmy Elsner UNQUALIFIED
Stacey J GauchoItalyAnna Fali NEGOTIATION
Rodrigues U MaletSpainAnna Fali NEGOTIATION
Emily H MorascaJapanOnyama Limba UNQUALIFIED
Octavia K PerinFranceAnna Fali QUALIFIED
Stacey X CaldareraCanadaAsiya Javayant NEW
Aika C FerenczBrazilOnyama Limba RENEWAL
Aditya F SergiItalyAmy Elsner NEGOTIATION
Claire E InouyeArgentinaIvan Magalhaes PROPOSAL
Maisha P PoquetteRussiaIvan Magalhaes NEGOTIATION
Francesco N RoysterItalyIoni Bowcher NEGOTIATION
Munro Q ShinkoSpainElwin Sharvill UNQUALIFIED
Chavez O FigeroaRussiaAnna Fali PROPOSAL
Cody D ButtSpainAsiya Javayant RENEWAL
Francesco R FerenczSpainStephen Shaw UNQUALIFIED
Nicolas Q FigeroaJapanIvan Magalhaes QUALIFIED
Jones E WieserJapanBernardo Dominic QUALIFIED
Jeanfrancois N FerenczFranceAsiya Javayant QUALIFIED
Kadeem Q CampainIndiaStephen Shaw PROPOSAL
Maisha I DarakjyBrazilStephen Shaw PROPOSAL
Morrow V KuskoItalyAsiya Javayant NEW
Julie W PaprockiItalyAnna Fali PROPOSAL
Costa C AlbaresRussiaAnna Fali PROPOSAL
Mayumi H DoeArgentinaIoni Bowcher QUALIFIED
Ivar C NickaItalyOnyama Limba RENEWAL
Johnson J RutaFranceIvan Magalhaes UNQUALIFIED
Costa S ShinkoGermanyIvan Magalhaes PROPOSAL
Jeanfrancois G RoysterCanadaIvan Magalhaes QUALIFIED
Maisha A BologniaBrazilBernardo Dominic PROPOSAL
Rodrigues I DarakjyJapanBernardo Dominic UNQUALIFIED
Ashley D RimCanadaXuxue Feng PROPOSAL
Aika H PaprockiRussiaIoni Bowcher 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>