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
James H MorascaAustraliaIvan Magalhaes QUALIFIED
Chavez O ButtCanadaXuxue Feng UNQUALIFIED
Tony D SaylorsUnited KingdomAmy Elsner NEW
Silvio B GauchoFranceXuxue Feng UNQUALIFIED
Morrow F InouyeBrazilIvan Magalhaes UNQUALIFIED
Izzy V MaletUnited KingdomAsiya Javayant NEW
Octavia R NestleJapanElwin Sharvill UNQUALIFIED
Isabel D NestleFranceElwin Sharvill QUALIFIED
Francesco J MaletSpainElwin Sharvill NEW
David Y RimCanadaAsiya Javayant QUALIFIED
Chavez S CampainGermanyIoni Bowcher NEGOTIATION
Misaki V WieserSpainAmy Elsner QUALIFIED
Sinclair L WaycottJapanOnyama Limba NEW
Stacey V CampainSpainElwin Sharvill NEGOTIATION
Chavez I WhobreyGermanyAnna Fali UNQUALIFIED
Munro W AlbaresArgentinaOnyama Limba NEGOTIATION
Salvatore D KuskoSpainAsiya Javayant QUALIFIED
Juan F RimSpainAnna Fali UNQUALIFIED
Cody S KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Nicolas Z MaletRussiaStephen Shaw NEGOTIATION
Darci J StensethArgentinaIvan Magalhaes UNQUALIFIED
Greenwood G WhobreyAustraliaAsiya Javayant NEGOTIATION
David C FigeroaUnited KingdomAsiya Javayant NEGOTIATION
Tony N AmigonIndiaAmy Elsner NEW
Ivar F BologniaArgentinaElwin Sharvill PROPOSAL
Leon V BologniaArgentinaIoni Bowcher RENEWAL
Tony K NickaBrazilAsiya Javayant NEW
Julie C WieserCanadaStephen Shaw QUALIFIED
Costa V WhobreyBrazilXuxue Feng QUALIFIED
Ashley U FlosiSpainElwin Sharvill RENEWAL
Nicolas K IturbideRussiaOnyama Limba PROPOSAL
Jeanfrancois D StockhamAustraliaIvan Magalhaes QUALIFIED
Mujtaba L BowleyAustraliaXuxue Feng UNQUALIFIED
Arvin R TollnerArgentinaIoni Bowcher UNQUALIFIED
Maria D MaletBrazilXuxue Feng NEGOTIATION
Jeanfrancois Q FigeroaItalyAnna Fali PROPOSAL
Chavez D MarrierJapanOnyama Limba PROPOSAL
Salvatore F FerenczFranceElwin Sharvill QUALIFIED
Isabel G MacleadUnited KingdomBernardo Dominic NEW
Deepesh M WaycottGermanyIoni Bowcher QUALIFIED
Jones X BologniaBrazilIoni Bowcher NEW
Jennifer A OldroydUnited KingdomOnyama Limba NEGOTIATION
Ashley F CaldareraRussiaElwin Sharvill RENEWAL
Juan P PaprockiJapanAsiya Javayant NEW
Juan X OldroydSpainBernardo Dominic NEW
Aditya L MarrierFranceStephen Shaw QUALIFIED
Aditya S KuskoSpainElwin Sharvill NEGOTIATION
David D DilliardAustraliaElwin Sharvill UNQUALIFIED
Salvatore F InouyeFranceXuxue Feng QUALIFIED
Faith G GillianFranceAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith Z TollnerRussiaStephen Shaw RENEWAL
Wickens P CaldareraArgentinaElwin Sharvill PROPOSAL
Smith D MacleadJapanOnyama Limba NEGOTIATION
Darci O VenereArgentinaElwin Sharvill UNQUALIFIED
Chavez K ButtBrazilElwin Sharvill UNQUALIFIED
Juan K MacleadFranceXuxue Feng UNQUALIFIED
Munro I InouyeUnited KingdomXuxue Feng NEW
Adams N OldroydGermanyIvan Magalhaes QUALIFIED
Rodrigues Y StockhamGermanyStephen Shaw NEGOTIATION
Adams O MaletAustraliaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro A GillianFrance2024-06-01Chanay, Jeffrey A Esq NEW92Elwin Sharvill
1001Alejandro C KolmetzGermany2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED61Asiya Javayant
1002Kaitlin E SlusarskiCanada2024-06-13King, Christopher A Esq QUALIFIED20Anna Fali
1003Murillo A GillianSpain2024-06-01Rangoni Of Florence UNQUALIFIED29Asiya Javayant
1004Octavia I RutaItaly2024-06-05Chemel, James L Cpa NEGOTIATION31Stephen Shaw
1005Silvio D IturbideSpain2024-06-08Commercial Press UNQUALIFIED2Ivan Magalhaes
1006Jeanfrancois L FlosiUnited Kingdom2024-06-01Commercial Press NEW14Amy Elsner
1007Silvio E InouyeItaly2024-06-07Commercial Press PROPOSAL48Ivan Magalhaes
1008Smith U StockhamArgentina2024-06-12Buckley Miller Wright NEGOTIATION6Ioni Bowcher
1009Kaitlin X CampainBrazil2024-05-30Chanay, Jeffrey A Esq PROPOSAL74Anna Fali
1010Tony G SergiAustralia2024-06-11Buckley Miller Wright PROPOSAL75Elwin Sharvill
1011Jeanfrancois V GillianBrazil2024-05-18Rangoni Of Florence QUALIFIED43Anna Fali
1012Maisha T FollerGermany2024-05-27Feltz Printing Service PROPOSAL16Asiya Javayant
1013Wickens O DarakjyIndia2024-05-21Chapman, Ross E Esq PROPOSAL13Anna Fali
1014Darci P FlosiAustralia2024-06-15Chanay, Jeffrey A Esq NEW72Anna Fali
1015Ashley I DarakjyFrance2024-05-30Feltz Printing Service NEGOTIATION67Stephen Shaw
1016Sinclair F PerinIndia2024-06-09Commercial Press QUALIFIED1Asiya Javayant
1017Ivar T SaylorsFrance2024-06-07Chapman, Ross E Esq PROPOSAL31Elwin Sharvill
1018Octavia Q GarufiItaly2024-06-06Chanay, Jeffrey A Esq NEGOTIATION25Amy Elsner
1019Aruna Y NickaBrazil2024-05-30King, Christopher A Esq PROPOSAL51Bernardo Dominic
1020Arvin R FigeroaRussia2024-06-09Rangoni Of Florence UNQUALIFIED31Onyama Limba
1021Johnson P BriddickJapan2024-05-17Printing Dimensions UNQUALIFIED47Ivan Magalhaes
1022Jeanfrancois Z FollerGermany2024-05-21King, Christopher A Esq RENEWAL85Xuxue Feng
1023Greenwood M OldroydUnited Kingdom2024-05-30Chapman, Ross E Esq RENEWAL93Asiya Javayant
1024Maria P FlosiItaly2024-06-11Buckley Miller Wright PROPOSAL55Stephen Shaw
1025Izzy J DilliardUnited Kingdom2024-05-29Feiner Bros RENEWAL50Bernardo Dominic
1026Morrow T VenereUnited Kingdom2024-05-29King, Christopher A Esq UNQUALIFIED41Elwin Sharvill
1027Julie R ButtJapan2024-05-20Chanay, Jeffrey A Esq UNQUALIFIED65Asiya Javayant
1028Emily Z ShinkoAustralia2024-05-31Chemel, James L Cpa NEGOTIATION58Ioni Bowcher
1029Ricardo P MorascaGermany2024-06-15Morlong Associates QUALIFIED3Onyama Limba
1030Aditya L KolmetzCanada2024-05-19Commercial Press NEGOTIATION13Onyama Limba
1031Wickens T KuskoArgentina2024-05-30Rangoni Of Florence UNQUALIFIED34Asiya Javayant
1032Jefferson H DoeBrazil2024-05-29Chanay, Jeffrey A Esq QUALIFIED21Anna Fali
1033Arvin Z BologniaItaly2024-06-03Chapman, Ross E Esq NEW67Stephen Shaw
1034Aika I MaletIndia2024-06-15Benton, John B Jr QUALIFIED84Asiya Javayant
1035Maria M BriddickRussia2024-06-10Benton, John B Jr NEW17Amy Elsner
1036Cody K CaudyItaly2024-05-22Dorl, James J Esq PROPOSAL36Elwin Sharvill
1037Mujtaba E SlusarskiAustralia2024-06-04Rousseaux, Michael Esq NEW90Xuxue Feng
1038Cody E BriddickAustralia2024-05-18Chemel, James L Cpa QUALIFIED74Ivan Magalhaes
1039Francesco P MorascaIndia2024-06-14Rangoni Of Florence RENEWAL6Ioni Bowcher
1040Deepesh O StensethArgentina2024-05-31Chanay, Jeffrey A Esq PROPOSAL84Xuxue Feng
1041Isabel W BologniaGermany2024-06-02Dorl, James J Esq NEW83Onyama Limba
1042Emily I PerinIndia2024-05-24Feiner Bros PROPOSAL4Elwin Sharvill
1043Wickens T IturbideItaly2024-05-29King, Christopher A Esq PROPOSAL98Stephen Shaw
1044Tony D FollerIndia2024-06-12Truhlar And Truhlar Attys NEW25Bernardo Dominic
1045Murillo B DilliardArgentina2024-05-31Feltz Printing Service RENEWAL78Elwin Sharvill
1046James R OldroydUnited Kingdom2024-06-10Dorl, James J Esq NEW72Bernardo Dominic
1047Emily B MaletArgentina2024-06-01Benton, John B Jr UNQUALIFIED96Asiya Javayant
1048Misaki W SergiSpain2024-05-18Chapman, Ross E Esq NEW20Bernardo Dominic
1049Arvin X SchemmerCanada2024-05-24Morlong Associates PROPOSAL78Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Leon U AlbaresItalyIvan Magalhaes PROPOSAL
Aruna K ShinkoBrazilOnyama Limba NEW
Jefferson U NickaJapanOnyama Limba UNQUALIFIED
James N FigeroaArgentinaIoni Bowcher PROPOSAL
Wickens A PaprockiBrazilBernardo Dominic NEW
Jones I OldroydUnited KingdomAsiya Javayant NEW
Jones C WaycottUnited KingdomAsiya Javayant PROPOSAL
Ivar P OldroydCanadaOnyama Limba UNQUALIFIED
Mayumi I FerenczBrazilIoni Bowcher UNQUALIFIED
Juan E VocelkaUnited KingdomAnna Fali PROPOSAL
Ivar L PoquetteGermanyElwin Sharvill PROPOSAL
Maisha G SchemmerIndiaXuxue Feng PROPOSAL
Deepesh H VenereIndiaStephen Shaw NEGOTIATION
Darci F CaldareraUnited KingdomXuxue Feng NEW
Murillo A AmigonBrazilIvan Magalhaes NEGOTIATION
Aditya R ButtRussiaAsiya Javayant RENEWAL
Faith N PerinRussiaElwin Sharvill QUALIFIED
Kadeem I CaldareraItalyIoni Bowcher QUALIFIED
Mayumi A FollerAustraliaAmy Elsner UNQUALIFIED
Jennifer W DoeUnited KingdomStephen Shaw PROPOSAL
Maisha A InouyeSpainIvan Magalhaes NEGOTIATION
Aika E GarufiItalyAsiya Javayant RENEWAL
Francesco G PerinAustraliaXuxue Feng RENEWAL
Stacey J AlbaresItalyIoni Bowcher RENEWAL
Kadeem Z CaldareraGermanyElwin Sharvill UNQUALIFIED
Leon E NickaRussiaStephen Shaw RENEWAL
Darci X StockhamCanadaXuxue Feng NEGOTIATION
Cody Q BologniaAustraliaAsiya Javayant PROPOSAL
Murillo M OldroydRussiaXuxue Feng NEW
Alejandro M InouyeCanadaAnna Fali QUALIFIED
Stacey D RoysterGermanyIvan Magalhaes QUALIFIED
Julie E KolmetzUnited KingdomIoni Bowcher PROPOSAL
Clifford Z OstroskySpainAmy Elsner QUALIFIED
Isabel Y InouyeRussiaOnyama Limba UNQUALIFIED
Aditya K PaprockiSpainOnyama Limba QUALIFIED
Maisha S MaletIndiaIvan Magalhaes UNQUALIFIED
Smith X WieserArgentinaAnna Fali QUALIFIED
Kaitlin G MaletCanadaAsiya Javayant QUALIFIED
Aditya V SlusarskiFranceIoni Bowcher PROPOSAL
Aditya V WhobreyRussiaOnyama Limba NEW
Salvatore P OldroydItalyStephen Shaw RENEWAL
Alejandro U FollerRussiaIoni Bowcher NEGOTIATION
Ivar G FollerAustraliaBernardo Dominic NEW
Kaitlin B MarrierGermanyIvan Magalhaes PROPOSAL
Julie P ButtRussiaBernardo Dominic NEW
Aika T BowleyItalyStephen Shaw UNQUALIFIED
Ricardo R FlosiGermanyAmy Elsner UNQUALIFIED
Jefferson Z ButtSpainStephen Shaw NEGOTIATION
Arvin P BriddickRussiaIoni Bowcher NEGOTIATION
Octavia O RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Frozen Columns
Name
Darci R Figeroa
Ashley V Doe
Salvatore J Marrier
Tony H Doe
Maria A Shinko
Ricardo L Ostrosky
Murillo B Malet
Aika I Waycott
Jefferson D Garufi
Ivar V Oldroyd
Ricardo L Kolmetz
Emily O Nicka
Claire C Nicka
Aditya H Stenseth
Antonio A Caldarera
Alejandro T Tollner
Deepesh Y Iturbide
James T Amigon
Wickens Y Vocelka
Antonio O Sergi
Costa O Saylors
Ivar I Flosi
Salvatore P Rim
Maria W Saylors
Faith O Shinko
Izzy R Dilliard
Emily H Nestle
Kaitlin K Royster
Faith K Shinko
Ashley K Inouye
Ashley Q Foller
Adams X Albares
Jeanfrancois M Butt
Arvin E Dilliard
Aruna Q Gillian
Jefferson S Flosi
Kadeem S Rulapaugh
Cody C Kolmetz
Faith U Chui
Jones M Malet
James E Venere
Emily E Dilliard
Faith F Paprocki
Nicolas I Figeroa
Juan F Slusarski
Misaki O Saylors
Julie K Briddick
David E Maclead
Clifford E Ostrosky
Izzy V Sergi
IdCountryDate
1000United Kingdom2024-05-22
1001India2024-06-04
1002Spain2024-06-01
1003Argentina2024-06-10
1004Australia2024-06-10
1005France2024-06-03
1006Canada2024-06-10
1007Italy2024-06-12
1008Spain2024-06-01
1009France2024-05-25
1010Spain2024-05-18
1011United Kingdom2024-06-14
1012United Kingdom2024-06-08
1013Canada2024-05-19
1014Australia2024-06-07
1015United Kingdom2024-06-06
1016Italy2024-06-05
1017Japan2024-06-01
1018Germany2024-05-20
1019Russia2024-05-22
1020Italy2024-05-24
1021Russia2024-06-01
1022United Kingdom2024-05-29
1023United Kingdom2024-05-29
1024Spain2024-05-18
1025Germany2024-06-10
1026Germany2024-06-06
1027India2024-05-18
1028Italy2024-06-15
1029India2024-05-20
1030Italy2024-06-08
1031India2024-05-18
1032Australia2024-05-26
1033Russia2024-05-30
1034Russia2024-05-24
1035France2024-06-09
1036Italy2024-06-04
1037Italy2024-05-29
1038Australia2024-06-14
1039Japan2024-05-23
1040Australia2024-05-29
1041Canada2024-06-02
1042Canada2024-06-05
1043Spain2024-05-25
1044Russia2024-05-20
1045Brazil2024-05-26
1046Spain2024-06-15
1047France2024-05-31
1048United Kingdom2024-06-05
1049Brazil2024-06-14

On-Demand Data

NameIdCountryDate
Salvatore A Chui1000France2024-06-06
Rodrigues V Garufi1001Argentina2024-05-22
Octavia N Morasca1002France2024-05-30
Maisha D Waycott1003Argentina2024-05-18
Octavia S Perin1004Germany2024-05-26
Leja T Caldarera1005Brazil2024-06-06
Izzy Q Shinko1006Brazil2024-06-07
Faith G Kusko1007Brazil2024-06-02
Silvio T Campain1008Russia2024-05-18
Jeanfrancois S Chui1009Brazil2024-05-18
Maisha M Nestle1010Australia2024-05-22
Claire B Stockham1011Germany2024-06-02
Greenwood D Caldarera1012Italy2024-05-25
Greenwood I Shinko1013Canada2024-06-13
David H Figeroa1014Brazil2024-05-19
James K Caldarera1015United Kingdom2024-06-10
Kaitlin M Gillian1016Japan2024-05-21
David I Briddick1017France2024-06-05
Aditya A Morasca1018United Kingdom2024-05-27
Octavia X Chui1019Italy2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith N VenereUnited KingdomAnna Fali QUALIFIED
Cody I GauchoUnited KingdomElwin Sharvill RENEWAL
Mujtaba G SergiGermanyXuxue Feng RENEWAL
Octavia F CaudyIndiaAsiya Javayant QUALIFIED
Silvio Q RutaBrazilAnna Fali NEW
Kadeem B IturbideCanadaBernardo Dominic PROPOSAL
Aditya L BologniaJapanIoni Bowcher NEGOTIATION
Stacey C NickaAustraliaAsiya Javayant NEGOTIATION
Faith K DoeBrazilOnyama Limba PROPOSAL
Morrow O BriddickUnited KingdomAmy Elsner NEGOTIATION
Deepesh T MacleadItalyElwin Sharvill RENEWAL
Chavez S KuskoAustraliaStephen Shaw PROPOSAL
Emily C RimBrazilAmy Elsner NEGOTIATION
Johnson J StensethAustraliaIvan Magalhaes QUALIFIED
Octavia N MaletAustraliaStephen Shaw RENEWAL
Kadeem C ShinkoJapanAsiya Javayant NEW
Sinclair G KuskoGermanyStephen Shaw NEGOTIATION
Izzy M BologniaCanadaStephen Shaw NEW
Misaki D ShinkoIndiaXuxue Feng RENEWAL
Murillo P FollerUnited KingdomIoni Bowcher RENEWAL
Smith C KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Adams S BowleyJapanStephen Shaw RENEWAL
Kadeem Y RimCanadaIoni Bowcher QUALIFIED
Izzy L VenereIndiaIvan Magalhaes NEW
Maisha O OldroydBrazilXuxue Feng PROPOSAL
Antonio S InouyeIndiaAmy Elsner RENEWAL
Ivar L GarufiBrazilStephen Shaw RENEWAL
Mayumi V MacleadItalyIvan Magalhaes NEW
Aruna C GillianGermanyBernardo Dominic NEGOTIATION
Salvatore O MorascaGermanyAsiya Javayant NEW
Silvio P AlbaresAustraliaAsiya Javayant UNQUALIFIED
Claire D SlusarskiJapanBernardo Dominic PROPOSAL
Alejandro F MarrierRussiaBernardo Dominic NEW
Silvio H PerinBrazilAmy Elsner NEGOTIATION
Isabel L MacleadSpainOnyama Limba NEW
Ashley W DoeSpainAmy Elsner UNQUALIFIED
Wickens J OstroskySpainOnyama Limba RENEWAL
Mayumi I RulapaughJapanAmy Elsner NEW
Misaki O RoysterFranceAmy Elsner PROPOSAL
Faith C FlosiItalyAsiya Javayant NEW

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