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
Aruna U FollerCanadaIvan Magalhaes UNQUALIFIED
Aditya W RutaBrazilAmy Elsner PROPOSAL
Claire I OstroskyFranceAsiya Javayant NEW
Clifford P OldroydItalyStephen Shaw RENEWAL
Aditya Z GillianCanadaStephen Shaw NEW
Deepesh E CaldareraSpainIoni Bowcher UNQUALIFIED
Leon T SlusarskiBrazilElwin Sharvill PROPOSAL
Morrow Z BologniaRussiaStephen Shaw QUALIFIED
Salvatore V CampainItalyElwin Sharvill RENEWAL
Jennifer Y FollerRussiaAsiya Javayant NEGOTIATION
Morrow H FerenczArgentinaXuxue Feng PROPOSAL
Chavez D KuskoSpainIvan Magalhaes PROPOSAL
Aika F WhobreyBrazilBernardo Dominic NEGOTIATION
Francesco R ShinkoGermanyAsiya Javayant UNQUALIFIED
Mayumi D MarrierIndiaXuxue Feng UNQUALIFIED
David M OldroydIndiaIoni Bowcher QUALIFIED
Kaitlin L MacleadJapanAnna Fali NEGOTIATION
Costa O VenereJapanAsiya Javayant NEW
Aika A GarufiAustraliaIoni Bowcher NEW
Munro O GauchoRussiaAmy Elsner UNQUALIFIED
Claire N VocelkaSpainAnna Fali UNQUALIFIED
David B ChuiJapanAsiya Javayant NEW
Jones V RoysterFranceStephen Shaw NEW
Silvio Q IturbideBrazilXuxue Feng NEW
Jennifer Z FerenczFranceIoni Bowcher PROPOSAL
James C VocelkaFranceAmy Elsner NEW
Morrow E KuskoSpainStephen Shaw NEGOTIATION
Murillo W PoquetteBrazilAnna Fali UNQUALIFIED
Cody L RutaGermanyIoni Bowcher NEW
Alejandro K SlusarskiGermanyIoni Bowcher UNQUALIFIED
Claire S StockhamSpainIvan Magalhaes UNQUALIFIED
Misaki C FigeroaJapanIoni Bowcher NEW
Wickens F StockhamRussiaOnyama Limba RENEWAL
Greenwood N GarufiRussiaIoni Bowcher NEGOTIATION
Aditya M FigeroaJapanIoni Bowcher QUALIFIED
Nicolas P FollerFranceStephen Shaw NEGOTIATION
Claire H GillianUnited KingdomIoni Bowcher UNQUALIFIED
Ivar J KolmetzFranceAnna Fali RENEWAL
Aika O ButtIndiaElwin Sharvill NEW
Claire D NickaItalyAsiya Javayant PROPOSAL
James V RutaFranceAmy Elsner NEW
Darci P PerinIndiaAmy Elsner PROPOSAL
Clifford C WieserBrazilAmy Elsner PROPOSAL
Antonio Y CaudyFranceOnyama Limba QUALIFIED
Morrow J CaldareraAustraliaXuxue Feng PROPOSAL
Smith V MarrierArgentinaAmy Elsner QUALIFIED
Clifford Q RutaSpainIoni Bowcher QUALIFIED
Munro P DoeItalyXuxue Feng RENEWAL
Arvin P SchemmerItalyBernardo Dominic QUALIFIED
Antonio Q CaudyJapanAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James N ShinkoAustraliaIvan Magalhaes PROPOSAL
Deepesh T SchemmerBrazilStephen Shaw NEW
Stacey R MacleadAustraliaAmy Elsner UNQUALIFIED
Darci Z DoeIndiaIvan Magalhaes QUALIFIED
Ivar N DoeRussiaStephen Shaw QUALIFIED
Darci H RoysterIndiaAsiya Javayant NEW
Rodrigues U RoysterGermanyIvan Magalhaes PROPOSAL
Mujtaba Q GlickItalyAsiya Javayant PROPOSAL
Jefferson I NickaJapanBernardo Dominic PROPOSAL
Clifford C CaldareraAustraliaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James I DarakjyRussia2024-09-12Chanay, Jeffrey A Esq NEGOTIATION20Onyama Limba
1001Ashley F RutaItaly2024-09-22Morlong Associates PROPOSAL25Elwin Sharvill
1002Murillo K DoeArgentina2024-09-20Chemel, James L Cpa NEGOTIATION15Amy Elsner
1003Ivar Y PoquetteArgentina2024-09-05Rousseaux, Michael Esq UNQUALIFIED78Ivan Magalhaes
1004Costa V RoysterGermany2024-09-04Chapman, Ross E Esq PROPOSAL37Anna Fali
1005Kadeem D CaldareraBrazil2024-09-10Rangoni Of Florence NEW97Onyama Limba
1006Morrow P KolmetzRussia2024-09-04Chanay, Jeffrey A Esq PROPOSAL36Amy Elsner
1007Aika A SaylorsCanada2024-08-31Benton, John B Jr RENEWAL57Ioni Bowcher
1008Johnson P MacleadSpain2024-08-28Benton, John B Jr NEW25Ioni Bowcher
1009Isabel K NestleFrance2024-09-24Chemel, James L Cpa PROPOSAL57Stephen Shaw
1010Darci S WaycottItaly2024-09-04Chanay, Jeffrey A Esq UNQUALIFIED97Ioni Bowcher
1011Maria G RimRussia2024-09-16King, Christopher A Esq PROPOSAL13Anna Fali
1012Izzy G StensethUnited Kingdom2024-08-31Commercial Press QUALIFIED88Bernardo Dominic
1013Ashley G KuskoCanada2024-09-05Printing Dimensions QUALIFIED49Ioni Bowcher
1014Cody F CaudyAustralia2024-09-23Rangoni Of Florence QUALIFIED94Asiya Javayant
1015Kaitlin Q PaprockiItaly2024-09-03Buckley Miller Wright RENEWAL3Ioni Bowcher
1016Maria J NestleGermany2024-09-14Chapman, Ross E Esq UNQUALIFIED44Onyama Limba
1017Greenwood Z CaldareraRussia2024-09-06Chemel, James L Cpa QUALIFIED44Onyama Limba
1018Nicolas G NestleFrance2024-09-10Benton, John B Jr NEGOTIATION91Amy Elsner
1019Jeanfrancois N DarakjyAustralia2024-09-26Dorl, James J Esq RENEWAL99Amy Elsner
1020Murillo Y TollnerRussia2024-09-12Rousseaux, Michael Esq NEW50Xuxue Feng
1021Ricardo D FlosiAustralia2024-09-01Commercial Press RENEWAL50Anna Fali
1022Misaki P MarrierGermany2024-08-28Buckley Miller Wright UNQUALIFIED14Anna Fali
1023Jeanfrancois E KuskoBrazil2024-09-24King, Christopher A Esq NEGOTIATION68Ivan Magalhaes
1024Octavia Q ButtRussia2024-08-30Buckley Miller Wright NEGOTIATION74Ioni Bowcher
1025Cody O SergiUnited Kingdom2024-09-16Commercial Press PROPOSAL22Anna Fali
1026Maria R SergiArgentina2024-09-15Printing Dimensions UNQUALIFIED59Elwin Sharvill
1027Sinclair I MorascaJapan2024-09-19Chemel, James L Cpa PROPOSAL73Stephen Shaw
1028Antonio C SlusarskiJapan2024-08-31Morlong Associates QUALIFIED66Ioni Bowcher
1029Munro V VocelkaGermany2024-09-15Benton, John B Jr NEW48Ioni Bowcher
1030Aika L FigeroaFrance2024-09-17Truhlar And Truhlar Attys NEW41Xuxue Feng
1031Darci X BologniaSpain2024-09-19Commercial Press NEGOTIATION24Amy Elsner
1032Darci A ShinkoBrazil2024-09-05Buckley Miller Wright NEGOTIATION52Bernardo Dominic
1033Kadeem M PerinUnited Kingdom2024-09-05Chapman, Ross E Esq NEW16Xuxue Feng
1034Wickens W ButtFrance2024-08-29Benton, John B Jr NEGOTIATION78Stephen Shaw
1035Wickens I MorascaUnited Kingdom2024-09-10Benton, John B Jr NEGOTIATION64Amy Elsner
1036Deepesh X MarrierFrance2024-09-17King, Christopher A Esq PROPOSAL51Asiya Javayant
1037Clifford H MarrierCanada2024-09-21Printing Dimensions RENEWAL84Asiya Javayant
1038Jennifer S AmigonUnited Kingdom2024-09-06Chapman, Ross E Esq NEW94Elwin Sharvill
1039Ricardo K WieserBrazil2024-08-30Buckley Miller Wright NEW48Ivan Magalhaes
1040Misaki Q RutaJapan2024-08-29Feltz Printing Service NEGOTIATION5Bernardo Dominic
1041Greenwood E AlbaresUnited Kingdom2024-09-11Rousseaux, Michael Esq UNQUALIFIED33Ivan Magalhaes
1042Kadeem Z ButtItaly2024-09-05Benton, John B Jr PROPOSAL64Ioni Bowcher
1043Johnson O IturbideJapan2024-08-29Commercial Press NEW35Amy Elsner
1044Isabel O TollnerGermany2024-09-12Morlong Associates QUALIFIED24Stephen Shaw
1045Leon A CaldareraItaly2024-09-13King, Christopher A Esq QUALIFIED87Amy Elsner
1046Octavia Y PerinFrance2024-09-12Morlong Associates PROPOSAL30Xuxue Feng
1047Cody A AmigonFrance2024-09-18Feiner Bros QUALIFIED50Asiya Javayant
1048Isabel X ButtJapan2024-09-26Chemel, James L Cpa RENEWAL94Anna Fali
1049Kaitlin Y RutaIndia2024-08-29Benton, John B Jr NEW62Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Aika V StensethItalyOnyama Limba NEGOTIATION
Kaitlin H GarufiJapanAsiya Javayant NEGOTIATION
Leon R KolmetzIndiaAsiya Javayant QUALIFIED
David V MaletSpainAsiya Javayant RENEWAL
Tony L PerinAustraliaIoni Bowcher UNQUALIFIED
Ashley K WaycottJapanAnna Fali NEGOTIATION
Jefferson H BologniaItalyAsiya Javayant NEGOTIATION
Sinclair A SaylorsIndiaOnyama Limba NEW
Ivar T SlusarskiSpainAnna Fali NEGOTIATION
James C FollerUnited KingdomAmy Elsner NEW
Chavez P DilliardBrazilStephen Shaw NEGOTIATION
Maria O PoquetteSpainAnna Fali NEW
Deepesh M VenereFranceAmy Elsner UNQUALIFIED
Julie U CaudyAustraliaAmy Elsner RENEWAL
Clifford M PerinItalyOnyama Limba PROPOSAL
Ricardo R AlbaresSpainAnna Fali NEGOTIATION
Maria H OldroydArgentinaBernardo Dominic NEW
Murillo I MaletBrazilStephen Shaw QUALIFIED
Julie C DilliardBrazilXuxue Feng NEW
Rodrigues S KolmetzGermanyBernardo Dominic RENEWAL
Jeanfrancois W WaycottGermanyElwin Sharvill RENEWAL
Aditya Z RutaIndiaAnna Fali QUALIFIED
Mayumi M IturbideGermanyIoni Bowcher RENEWAL
David S WhobreyItalyAsiya Javayant QUALIFIED
Kaitlin U WaycottArgentinaStephen Shaw NEGOTIATION
Greenwood C InouyeBrazilXuxue Feng NEW
David A BologniaFranceIvan Magalhaes RENEWAL
Izzy A InouyeCanadaIvan Magalhaes NEW
James S AmigonJapanAmy Elsner QUALIFIED
Octavia P SchemmerSpainOnyama Limba QUALIFIED
Aditya C CaudyJapanAmy Elsner RENEWAL
Arvin E NickaRussiaOnyama Limba QUALIFIED
Munro E DilliardCanadaAmy Elsner QUALIFIED
Jefferson K PerinSpainAmy Elsner UNQUALIFIED
Arvin E MaletJapanStephen Shaw RENEWAL
Emily X MarrierGermanyXuxue Feng QUALIFIED
Jones I PoquetteGermanyBernardo Dominic RENEWAL
Ashley D ShinkoBrazilElwin Sharvill PROPOSAL
Izzy Y SlusarskiAustraliaAnna Fali UNQUALIFIED
Munro Q FlosiCanadaXuxue Feng UNQUALIFIED
Jones C MarrierItalyStephen Shaw QUALIFIED
Cody G FollerRussiaIvan Magalhaes UNQUALIFIED
Chavez O RoysterCanadaElwin Sharvill QUALIFIED
Julie Z DoeRussiaStephen Shaw UNQUALIFIED
James O IturbideFranceStephen Shaw PROPOSAL
Greenwood F FollerArgentinaStephen Shaw NEW
Murillo C IturbideUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues F FigeroaFranceElwin Sharvill QUALIFIED
Jeanfrancois O GlickJapanAsiya Javayant UNQUALIFIED
Darci N RutaUnited KingdomAsiya Javayant NEW
Frozen Columns
Name
Salvatore T Ferencz
Jones G Venere
Johnson O Foller
Chavez B Briddick
Julie D Royster
Ricardo K Saylors
Leon A Glick
Emily P Slusarski
Mayumi O Ferencz
Kadeem U Dilliard
Murillo D Ostrosky
Stacey S Butt
Aika V Vocelka
Clifford O Dilliard
Silvio Q Royster
Faith J Waycott
David L Ferencz
Chavez I Amigon
Maria Q Venere
Leja W Stenseth
Faith B Iturbide
Sinclair N Kolmetz
Antonio P Whobrey
Julie B Darakjy
Jones T Malet
Kaitlin T Ferencz
David J Stockham
Greenwood D Inouye
Stacey E Campain
Maria I Flosi
Costa C Amigon
Kadeem M Poquette
Adams U Kolmetz
Ricardo O Kusko
Costa B Vocelka
Aika L Vocelka
Wickens L Kusko
Rodrigues G Poquette
Aditya O Glick
David F Bowley
Chavez Q Whobrey
Jones O Ferencz
Julie W Stenseth
Salvatore Y Maclead
Izzy Y Malet
Adams D Ferencz
Greenwood B Perin
Isabel U Vocelka
Jones T Kolmetz
Morrow S Saylors
IdCountryDate
1000Italy2024-09-08
1001India2024-09-03
1002Germany2024-09-26
1003Russia2024-09-24
1004India2024-09-23
1005France2024-09-14
1006Australia2024-09-17
1007Australia2024-09-21
1008Argentina2024-09-19
1009Germany2024-09-14
1010India2024-08-29
1011Italy2024-09-04
1012Brazil2024-09-11
1013Australia2024-09-22
1014France2024-09-06
1015France2024-09-25
1016Russia2024-09-21
1017Russia2024-08-31
1018India2024-09-14
1019Australia2024-09-18
1020Russia2024-08-30
1021Canada2024-09-22
1022France2024-09-20
1023Argentina2024-09-23
1024Germany2024-09-16
1025Brazil2024-09-15
1026Argentina2024-08-30
1027Argentina2024-09-13
1028United Kingdom2024-09-17
1029France2024-09-20
1030Italy2024-09-26
1031Japan2024-09-24
1032Spain2024-09-03
1033Canada2024-09-05
1034India2024-09-06
1035India2024-09-02
1036France2024-09-16
1037Brazil2024-08-29
1038Australia2024-09-14
1039United Kingdom2024-08-31
1040Canada2024-09-04
1041Canada2024-09-18
1042Italy2024-08-28
1043Brazil2024-09-25
1044France2024-09-06
1045Brazil2024-09-17
1046Australia2024-09-19
1047Australia2024-08-31
1048India2024-09-23
1049Spain2024-09-01

On-Demand Data

NameIdCountryDate
Aruna K Doe1000France2024-09-23
Aditya S Marrier1001Brazil2024-09-08
Johnson I Foller1002Argentina2024-09-14
Kadeem L Oldroyd1003Spain2024-09-20
David M Waycott1004Germany2024-09-12
Octavia N Nicka1005Canada2024-08-29
Mujtaba O Ostrosky1006Italy2024-09-20
Ivar O Figeroa1007Argentina2024-09-10
Wickens F Saylors1008Russia2024-09-12
Jefferson X Malet1009Germany2024-09-21
Aika P Perin1010Spain2024-08-31
Jones L Morasca1011Japan2024-09-01
Stacey H Bowley1012France2024-09-13
Isabel M Ruta1013Spain2024-09-17
Julie B Bowley1014France2024-09-11
Stacey A Nestle1015Australia2024-09-26
Murillo G Flosi1016Canada2024-09-23
Antonio H Poquette1017Spain2024-09-21
Kaitlin V Poquette1018Russia2024-09-06
Alejandro H Kusko1019Spain2024-09-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro U RimRussiaOnyama Limba NEGOTIATION
Wickens U RulapaughSpainIvan Magalhaes QUALIFIED
James H RoysterGermanyXuxue Feng UNQUALIFIED
Munro G WhobreyGermanyAmy Elsner RENEWAL
Jefferson D SaylorsCanadaElwin Sharvill QUALIFIED
Arvin C MorascaUnited KingdomOnyama Limba RENEWAL
Ivar Y CaldareraJapanAnna Fali NEW
Kadeem N FerenczFranceOnyama Limba NEGOTIATION
Greenwood G TollnerAustraliaStephen Shaw QUALIFIED
Mujtaba Z VocelkaIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois M KuskoFranceAmy Elsner UNQUALIFIED
James Q StensethArgentinaIvan Magalhaes UNQUALIFIED
Francesco M RimJapanOnyama Limba QUALIFIED
Darci J OstroskyBrazilBernardo Dominic NEGOTIATION
Morrow A RulapaughRussiaOnyama Limba NEGOTIATION
Claire F PaprockiGermanyOnyama Limba PROPOSAL
Deepesh X GauchoArgentinaOnyama Limba NEGOTIATION
Jefferson D StensethBrazilAmy Elsner PROPOSAL
Tony Z GauchoGermanyAsiya Javayant QUALIFIED
Jefferson H GauchoIndiaXuxue Feng QUALIFIED
Ivar F SaylorsBrazilIvan Magalhaes RENEWAL
Claire S GarufiGermanyStephen Shaw UNQUALIFIED
Silvio G CampainFranceIoni Bowcher PROPOSAL
Leon T GillianJapanAsiya Javayant NEGOTIATION
Kadeem H GarufiUnited KingdomIvan Magalhaes NEW
Smith J PoquetteGermanyIoni Bowcher PROPOSAL
Munro Z OldroydArgentinaXuxue Feng PROPOSAL
Jefferson J GauchoBrazilXuxue Feng NEGOTIATION
Chavez L VenereArgentinaBernardo Dominic UNQUALIFIED
Aruna R RoysterArgentinaAnna Fali RENEWAL
Cody V WaycottIndiaOnyama Limba RENEWAL
Alejandro M SaylorsIndiaIoni Bowcher QUALIFIED
Julie N GlickItalyAsiya Javayant UNQUALIFIED
Faith S KuskoJapanXuxue Feng NEGOTIATION
Jennifer T ButtArgentinaXuxue Feng NEGOTIATION
Juan P MarrierUnited KingdomIvan Magalhaes PROPOSAL
Alejandro F OstroskyRussiaStephen Shaw NEW
Ashley D OldroydItalyXuxue Feng NEW
Juan X GlickGermanyAmy Elsner NEW
Isabel V MacleadGermanyBernardo Dominic UNQUALIFIED

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