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
Arvin J SaylorsJapanXuxue Feng NEW
Maisha N SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Kadeem W MaletBrazilIvan Magalhaes RENEWAL
Rodrigues H SergiGermanyBernardo Dominic UNQUALIFIED
Aika N CaldareraBrazilXuxue Feng QUALIFIED
Antonio T ChuiAustraliaBernardo Dominic NEW
Greenwood L PaprockiAustraliaAsiya Javayant QUALIFIED
Aditya S NickaAustraliaBernardo Dominic NEGOTIATION
Cody F MacleadJapanAmy Elsner UNQUALIFIED
Jefferson J SergiUnited KingdomIoni Bowcher NEGOTIATION
Emily S FerenczItalyElwin Sharvill RENEWAL
James H AlbaresArgentinaIoni Bowcher QUALIFIED
Ashley X InouyeGermanyXuxue Feng NEGOTIATION
Juan F DoeSpainAsiya Javayant PROPOSAL
Antonio X RimBrazilIoni Bowcher PROPOSAL
Munro X CaldareraArgentinaOnyama Limba UNQUALIFIED
Stacey G ButtIndiaIvan Magalhaes UNQUALIFIED
Silvio D RimFranceXuxue Feng QUALIFIED
Ivar U StockhamBrazilAsiya Javayant QUALIFIED
Deepesh T ChuiFranceXuxue Feng NEGOTIATION
Maisha A ChuiItalyIvan Magalhaes RENEWAL
Jeanfrancois X SchemmerArgentinaAmy Elsner PROPOSAL
Ricardo T SchemmerFranceOnyama Limba UNQUALIFIED
Wickens G MaletFranceXuxue Feng NEGOTIATION
Jefferson J NickaJapanElwin Sharvill NEGOTIATION
Octavia M NickaItalyElwin Sharvill PROPOSAL
Costa C MorascaJapanIvan Magalhaes PROPOSAL
Aditya E SergiBrazilStephen Shaw NEW
Ricardo X SaylorsJapanAmy Elsner QUALIFIED
Leja C KuskoRussiaOnyama Limba PROPOSAL
Antonio R GauchoFranceStephen Shaw PROPOSAL
Francesco I SaylorsFranceAsiya Javayant NEGOTIATION
Rodrigues J FerenczSpainAnna Fali QUALIFIED
Jennifer M WieserFranceIvan Magalhaes RENEWAL
Misaki Q RoysterUnited KingdomBernardo Dominic UNQUALIFIED
Adams D WieserFranceAmy Elsner PROPOSAL
Tony A WaycottRussiaIvan Magalhaes NEGOTIATION
Stacey U FlosiCanadaAmy Elsner NEW
Darci E OstroskyAustraliaAsiya Javayant NEW
Stacey X ChuiItalyElwin Sharvill NEW
Murillo S KuskoRussiaAnna Fali QUALIFIED
Clifford Y SlusarskiBrazilAsiya Javayant NEGOTIATION
Tony C InouyeAustraliaStephen Shaw QUALIFIED
Alejandro C StensethBrazilBernardo Dominic RENEWAL
Misaki L IturbideUnited KingdomBernardo Dominic PROPOSAL
Mayumi H BowleyArgentinaIoni Bowcher PROPOSAL
Salvatore Q SlusarskiBrazilStephen Shaw RENEWAL
Jefferson R PerinJapanAmy Elsner UNQUALIFIED
Francesco M ShinkoSpainIoni Bowcher NEW
Aditya I ShinkoFranceElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Wickens B KolmetzIndiaElwin Sharvill UNQUALIFIED
Munro F StockhamGermanyAsiya Javayant NEW
Emily Q VenereJapanAsiya Javayant NEGOTIATION
Ivar S IturbideBrazilBernardo Dominic QUALIFIED
Aika T BriddickCanadaAsiya Javayant QUALIFIED
Stacey N KolmetzGermanyXuxue Feng UNQUALIFIED
Juan I PoquetteIndiaOnyama Limba QUALIFIED
Emily T MorascaRussiaXuxue Feng RENEWAL
Aika M PaprockiGermanyXuxue Feng NEW
Mayumi A BologniaRussiaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo Q DarakjyRussia2024-06-09Feiner Bros NEGOTIATION15Amy Elsner
1001Aruna W FerenczBrazil2024-06-10Truhlar And Truhlar Attys UNQUALIFIED73Elwin Sharvill
1002Adams Z SchemmerAustralia2024-06-20Feltz Printing Service QUALIFIED54Onyama Limba
1003Aruna U OldroydSpain2024-05-27Feiner Bros NEW62Onyama Limba
1004Ricardo J SergiSpain2024-06-16Rousseaux, Michael Esq QUALIFIED3Bernardo Dominic
1005Jones H SchemmerSpain2024-06-03Chanay, Jeffrey A Esq NEW23Bernardo Dominic
1006Clifford R FigeroaArgentina2024-06-18Truhlar And Truhlar Attys QUALIFIED67Amy Elsner
1007Maria G SergiRussia2024-06-17Chapman, Ross E Esq NEW25Xuxue Feng
1008Octavia C ShinkoBrazil2024-06-10Chanay, Jeffrey A Esq NEW11Elwin Sharvill
1009Faith H NestleGermany2024-06-19Rangoni Of Florence UNQUALIFIED16Ivan Magalhaes
1010Antonio E FerenczSpain2024-05-27Rangoni Of Florence QUALIFIED94Ivan Magalhaes
1011Jefferson Y CaudyCanada2024-05-28Printing Dimensions UNQUALIFIED93Xuxue Feng
1012Adams A WhobreyUnited Kingdom2024-06-09Printing Dimensions NEW66Onyama Limba
1013Arvin W SchemmerBrazil2024-05-29Morlong Associates UNQUALIFIED97Ioni Bowcher
1014Aruna E CaldareraArgentina2024-06-15Benton, John B Jr RENEWAL86Stephen Shaw
1015Johnson T ChuiJapan2024-06-15Truhlar And Truhlar Attys NEGOTIATION49Xuxue Feng
1016Francesco E FollerUnited Kingdom2024-06-05Feltz Printing Service UNQUALIFIED77Elwin Sharvill
1017Maisha A TollnerUnited Kingdom2024-05-25Benton, John B Jr NEGOTIATION45Ivan Magalhaes
1018Antonio L SchemmerSpain2024-06-03Chemel, James L Cpa UNQUALIFIED98Bernardo Dominic
1019Cody V WaycottCanada2024-06-08Benton, John B Jr PROPOSAL74Onyama Limba
1020Adams C CampainBrazil2024-06-07Feiner Bros NEGOTIATION55Amy Elsner
1021Emily R RulapaughJapan2024-06-12King, Christopher A Esq RENEWAL38Asiya Javayant
1022Emily K OldroydIndia2024-06-17Printing Dimensions QUALIFIED2Onyama Limba
1023Leja K CaudyCanada2024-06-13Dorl, James J Esq NEW37Asiya Javayant
1024Ivar D CampainArgentina2024-06-12Printing Dimensions NEGOTIATION55Asiya Javayant
1025Mujtaba W MaletSpain2024-06-21Buckley Miller Wright RENEWAL69Bernardo Dominic
1026Smith T RoysterGermany2024-05-25Dorl, James J Esq NEW98Elwin Sharvill
1027Juan R BowleyCanada2024-05-23Feltz Printing Service NEW22Ioni Bowcher
1028Ivar X RutaFrance2024-05-31Rangoni Of Florence PROPOSAL49Stephen Shaw
1029Salvatore G CaudyArgentina2024-06-08Feiner Bros QUALIFIED70Onyama Limba
1030Tony W GillianItaly2024-06-06Chanay, Jeffrey A Esq NEGOTIATION46Asiya Javayant
1031Octavia X ChuiBrazil2024-05-31Chemel, James L Cpa RENEWAL78Elwin Sharvill
1032Juan C StockhamAustralia2024-06-15Chemel, James L Cpa QUALIFIED94Elwin Sharvill
1033Jones J OstroskyBrazil2024-06-03Rangoni Of Florence NEGOTIATION53Ivan Magalhaes
1034Jeanfrancois P WaycottFrance2024-06-11Rangoni Of Florence PROPOSAL43Amy Elsner
1035Ricardo S MorascaGermany2024-06-19Truhlar And Truhlar Attys RENEWAL39Bernardo Dominic
1036Smith D ChuiJapan2024-06-20Buckley Miller Wright PROPOSAL18Anna Fali
1037Cody F KolmetzUnited Kingdom2024-05-29Rousseaux, Michael Esq QUALIFIED86Amy Elsner
1038Clifford Y WieserArgentina2024-05-30Chapman, Ross E Esq QUALIFIED39Amy Elsner
1039Ricardo M MaletRussia2024-05-26Chemel, James L Cpa QUALIFIED54Amy Elsner
1040Ashley G FigeroaArgentina2024-06-16Printing Dimensions NEGOTIATION4Ivan Magalhaes
1041Leon U DarakjyUnited Kingdom2024-05-30Dorl, James J Esq UNQUALIFIED35Stephen Shaw
1042Jefferson T VocelkaFrance2024-06-06Commercial Press QUALIFIED16Stephen Shaw
1043Stacey P NestleJapan2024-06-09Buckley Miller Wright NEGOTIATION65Amy Elsner
1044Jennifer H GillianItaly2024-06-18Rangoni Of Florence RENEWAL34Bernardo Dominic
1045Silvio Z ButtGermany2024-06-18Buckley Miller Wright UNQUALIFIED13Anna Fali
1046Salvatore R ChuiBrazil2024-06-16Feltz Printing Service RENEWAL0Amy Elsner
1047Costa J DilliardRussia2024-05-23Rousseaux, Michael Esq RENEWAL83Amy Elsner
1048Jeanfrancois A BowleyCanada2024-06-14King, Christopher A Esq NEGOTIATION54Elwin Sharvill
1049David B FigeroaFrance2024-06-02Morlong Associates RENEWAL19Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Alejandro L SchemmerBrazilIoni Bowcher NEW
Mayumi H GillianArgentinaXuxue Feng QUALIFIED
Antonio F WaycottIndiaIoni Bowcher PROPOSAL
Nicolas G FerenczFranceOnyama Limba UNQUALIFIED
Claire H TollnerJapanAsiya Javayant PROPOSAL
Ivar B GillianGermanyStephen Shaw NEGOTIATION
Arvin J StockhamIndiaOnyama Limba UNQUALIFIED
Jones V RutaItalyBernardo Dominic QUALIFIED
Morrow F GillianRussiaAsiya Javayant QUALIFIED
Nicolas N InouyeIndiaAnna Fali RENEWAL
Murillo Q GlickAustraliaIoni Bowcher UNQUALIFIED
Faith U TollnerCanadaOnyama Limba QUALIFIED
Adams D WieserItalyBernardo Dominic NEW
Deepesh C VenereGermanyBernardo Dominic NEGOTIATION
Ricardo U DarakjyRussiaStephen Shaw PROPOSAL
Kadeem O OstroskyRussiaXuxue Feng PROPOSAL
Clifford F StensethAustraliaIvan Magalhaes PROPOSAL
Izzy I DarakjyIndiaAmy Elsner RENEWAL
Chavez S GillianSpainBernardo Dominic RENEWAL
Misaki X PaprockiJapanXuxue Feng UNQUALIFIED
Murillo N BowleyBrazilOnyama Limba PROPOSAL
Izzy T GlickRussiaOnyama Limba NEW
Smith O OstroskySpainBernardo Dominic PROPOSAL
Ivar C StensethItalyIvan Magalhaes RENEWAL
Maria P SergiSpainIvan Magalhaes PROPOSAL
James K MarrierJapanStephen Shaw UNQUALIFIED
Cody M OstroskyRussiaAnna Fali QUALIFIED
Greenwood G ShinkoJapanAsiya Javayant UNQUALIFIED
Sinclair Y TollnerCanadaElwin Sharvill PROPOSAL
Ashley Z FerenczAustraliaOnyama Limba PROPOSAL
Maisha O CaldareraFranceAmy Elsner PROPOSAL
Johnson P AmigonArgentinaAmy Elsner UNQUALIFIED
Mujtaba G InouyeGermanyIoni Bowcher UNQUALIFIED
Tony Q FigeroaSpainOnyama Limba UNQUALIFIED
Misaki V VenereArgentinaElwin Sharvill UNQUALIFIED
Kaitlin S MorascaUnited KingdomStephen Shaw UNQUALIFIED
Isabel J OldroydBrazilStephen Shaw NEGOTIATION
Clifford M StensethArgentinaBernardo Dominic QUALIFIED
Morrow K GarufiJapanXuxue Feng RENEWAL
Emily L NestleSpainOnyama Limba RENEWAL
Deepesh A GillianRussiaElwin Sharvill NEGOTIATION
Tony E GlickItalyAmy Elsner RENEWAL
Chavez A MacleadAustraliaBernardo Dominic PROPOSAL
Julie B MaletUnited KingdomOnyama Limba UNQUALIFIED
Jefferson B SergiSpainIvan Magalhaes RENEWAL
Kaitlin T RulapaughArgentinaElwin Sharvill RENEWAL
Aditya O OldroydJapanIvan Magalhaes RENEWAL
Mujtaba M MaletIndiaXuxue Feng UNQUALIFIED
Leja Z StensethUnited KingdomElwin Sharvill PROPOSAL
Leja V MaletAustraliaXuxue Feng NEW
Frozen Columns
Name
Jefferson X Waycott
Jones C Slusarski
Antonio P Caldarera
Ricardo R Nestle
Smith C Flosi
Maria Q Sergi
Faith V Nicka
Wickens B Wieser
Stacey X Dilliard
Jefferson Z Venere
David T Caldarera
Isabel E Venere
Cody E Caldarera
Aika H Figeroa
Wickens Q Malet
David Y Foller
Jefferson Z Stockham
James T Malet
David D Butt
Clifford I Sergi
Arvin J Dilliard
Johnson H Maclead
Francesco G Caudy
Emily U Garufi
Sinclair N Campain
Johnson A Paprocki
Salvatore N Glick
Darci I Butt
Chavez F Glick
Francesco O Poquette
Emily T Nestle
James N Garufi
Jeanfrancois E Ostrosky
Kaitlin Y Campain
Jennifer Y Sergi
Morrow Q Saylors
Aruna Y Vocelka
David W Chui
Adams Z Whobrey
Emily O Malet
Munro A Briddick
Jefferson Q Perin
Leja Z Caldarera
Ashley V Foller
Murillo F Glick
Emily W Oldroyd
Jefferson A Waycott
Salvatore Q Shinko
Misaki H Rim
Kadeem J Ostrosky
IdCountryDate
1000Italy2024-06-05
1001Canada2024-05-24
1002Italy2024-06-07
1003Argentina2024-06-07
1004United Kingdom2024-06-21
1005Italy2024-06-07
1006Spain2024-06-18
1007United Kingdom2024-05-28
1008France2024-06-08
1009Italy2024-06-19
1010Canada2024-06-04
1011Canada2024-05-29
1012Germany2024-05-28
1013Italy2024-06-16
1014Spain2024-06-19
1015Russia2024-06-18
1016Germany2024-06-16
1017Brazil2024-06-13
1018Italy2024-06-01
1019France2024-06-15
1020Australia2024-06-20
1021India2024-06-06
1022India2024-06-10
1023Brazil2024-05-27
1024Argentina2024-06-05
1025Brazil2024-06-05
1026Italy2024-05-26
1027Brazil2024-06-11
1028Australia2024-06-14
1029United Kingdom2024-05-29
1030Australia2024-06-03
1031Italy2024-06-15
1032France2024-05-28
1033Germany2024-06-11
1034Argentina2024-06-09
1035Italy2024-06-05
1036Russia2024-06-14
1037Canada2024-05-26
1038Canada2024-06-09
1039Argentina2024-06-07
1040Canada2024-06-12
1041Canada2024-06-07
1042Canada2024-06-07
1043Canada2024-06-10
1044Australia2024-06-01
1045Germany2024-05-30
1046Germany2024-06-08
1047India2024-06-01
1048Japan2024-05-26
1049Argentina2024-05-30

On-Demand Data

NameIdCountryDate
Costa R Darakjy1000Japan2024-05-27
Johnson P Gaucho1001Spain2024-06-16
Jeanfrancois V Flosi1002Spain2024-06-16
Adams R Maclead1003Canada2024-06-19
Aditya H Foller1004Japan2024-06-20
Silvio K Bowley1005Russia2024-06-08
Sinclair P Caldarera1006Brazil2024-06-14
Jennifer A Caudy1007Russia2024-06-01
Claire Z Sergi1008Italy2024-06-19
Jeanfrancois J Inouye1009Canada2024-05-28
Arvin S Stockham1010Australia2024-06-12
Munro V Venere1011Brazil2024-06-16
Tony G Iturbide1012United Kingdom2024-06-20
Maisha V Rulapaugh1013India2024-06-08
Francesco Q Gaucho1014United Kingdom2024-06-11
Darci T Oldroyd1015Australia2024-06-13
Kadeem W Kolmetz1016Canada2024-05-23
Cody Z Flosi1017United Kingdom2024-05-27
Wickens V Darakjy1018Spain2024-06-19
Smith B Slusarski1019Canada2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley K StockhamSpainStephen Shaw NEGOTIATION
Aditya N MaletFranceXuxue Feng QUALIFIED
Mujtaba U SlusarskiBrazilAmy Elsner NEGOTIATION
Aruna X OldroydUnited KingdomOnyama Limba RENEWAL
Juan L FigeroaFranceOnyama Limba UNQUALIFIED
Stacey B BowleyGermanyAsiya Javayant RENEWAL
Juan K CaldareraItalyAmy Elsner NEGOTIATION
Jeanfrancois D StockhamUnited KingdomIvan Magalhaes PROPOSAL
Murillo N WaycottBrazilAsiya Javayant NEGOTIATION
Silvio F WieserFranceXuxue Feng NEGOTIATION
Antonio J InouyeFranceIvan Magalhaes RENEWAL
Aika O SchemmerCanadaXuxue Feng QUALIFIED
Sinclair B NestleArgentinaAnna Fali PROPOSAL
Kaitlin Y ChuiAustraliaElwin Sharvill QUALIFIED
Silvio R KuskoGermanyOnyama Limba QUALIFIED
Tony Q FollerBrazilAmy Elsner UNQUALIFIED
Silvio X FollerRussiaElwin Sharvill NEGOTIATION
Jeanfrancois H RulapaughCanadaElwin Sharvill NEGOTIATION
Murillo V InouyeSpainStephen Shaw NEGOTIATION
Murillo K WaycottBrazilAsiya Javayant RENEWAL
David P OldroydFranceAnna Fali RENEWAL
Greenwood S AmigonBrazilIvan Magalhaes RENEWAL
Munro E WieserIndiaAmy Elsner RENEWAL
Julie L SaylorsSpainOnyama Limba PROPOSAL
Kaitlin F ButtUnited KingdomStephen Shaw NEW
Juan U VenereCanadaElwin Sharvill UNQUALIFIED
Aditya H MaletAustraliaBernardo Dominic NEGOTIATION
Morrow W TollnerItalyIoni Bowcher PROPOSAL
Julie T FerenczFranceAmy Elsner NEGOTIATION
Ashley L MaletFranceIvan Magalhaes RENEWAL
Misaki Y SaylorsGermanyBernardo Dominic NEGOTIATION
Emily V GlickJapanOnyama Limba PROPOSAL
Munro L DarakjySpainAmy Elsner QUALIFIED
Chavez S FerenczJapanAsiya Javayant PROPOSAL
Jeanfrancois D SaylorsItalyAnna Fali QUALIFIED
Aruna C SaylorsArgentinaStephen Shaw UNQUALIFIED
Clifford Y StensethSpainAsiya Javayant NEW
Munro I OldroydItalyIvan Magalhaes UNQUALIFIED
Cody U InouyeAustraliaBernardo Dominic NEW
Morrow L IturbideRussiaAnna Fali NEGOTIATION

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