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
Murillo X NestleItalyBernardo Dominic NEGOTIATION
Salvatore Q BowleyCanadaIoni Bowcher RENEWAL
Adams W OldroydCanadaElwin Sharvill PROPOSAL
Costa E AmigonBrazilOnyama Limba NEGOTIATION
Tony Q MorascaUnited KingdomXuxue Feng UNQUALIFIED
Murillo Y IturbideAustraliaOnyama Limba NEGOTIATION
Antonio S GauchoRussiaXuxue Feng QUALIFIED
Juan J ButtFranceBernardo Dominic QUALIFIED
Greenwood D PerinGermanyStephen Shaw RENEWAL
Mujtaba B NestleCanadaBernardo Dominic QUALIFIED
Ivar T RulapaughGermanyStephen Shaw UNQUALIFIED
Ivar P ChuiAustraliaStephen Shaw NEGOTIATION
Salvatore T WhobreyFranceXuxue Feng UNQUALIFIED
Jefferson R MaletRussiaBernardo Dominic PROPOSAL
Arvin E MarrierGermanyXuxue Feng UNQUALIFIED
Rodrigues Y InouyeBrazilIoni Bowcher NEGOTIATION
Murillo F PerinJapanStephen Shaw RENEWAL
Cody G NickaIndiaBernardo Dominic NEW
Smith Y IturbideAustraliaAsiya Javayant NEW
Munro E AmigonIndiaIvan Magalhaes UNQUALIFIED
Jefferson I RoysterCanadaIvan Magalhaes RENEWAL
Izzy J CaudySpainElwin Sharvill NEW
Ashley F NickaGermanyOnyama Limba QUALIFIED
Misaki I TollnerItalyBernardo Dominic NEGOTIATION
Wickens O GauchoUnited KingdomElwin Sharvill PROPOSAL
Leja C CaudyItalyAmy Elsner RENEWAL
Clifford I ButtBrazilXuxue Feng RENEWAL
Clifford A AmigonJapanBernardo Dominic RENEWAL
Cody E PaprockiItalyIoni Bowcher PROPOSAL
Arvin H SchemmerSpainElwin Sharvill UNQUALIFIED
Tony S SchemmerArgentinaOnyama Limba NEW
Stacey P CampainJapanAnna Fali NEGOTIATION
Johnson Q DarakjyGermanyIoni Bowcher RENEWAL
Adams T RulapaughUnited KingdomStephen Shaw NEGOTIATION
Johnson C PaprockiFranceAsiya Javayant RENEWAL
Wickens X CaldareraRussiaOnyama Limba UNQUALIFIED
Aruna T FigeroaArgentinaXuxue Feng NEGOTIATION
Deepesh M RutaJapanAmy Elsner NEW
Nicolas N DilliardRussiaStephen Shaw NEW
Leja P GlickItalyXuxue Feng NEW
Darci S MacleadBrazilIvan Magalhaes NEGOTIATION
Jones X PerinCanadaElwin Sharvill QUALIFIED
Adams Z OldroydFranceOnyama Limba NEGOTIATION
Jennifer K CampainGermanyIvan Magalhaes PROPOSAL
Murillo E RulapaughFranceXuxue Feng UNQUALIFIED
Emily P OldroydBrazilXuxue Feng NEW
Maisha S RutaItalyOnyama Limba NEW
Costa D DarakjyUnited KingdomXuxue Feng NEGOTIATION
Sinclair N CaldareraAustraliaIvan Magalhaes NEW
Leon B GauchoIndiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon K CaldareraArgentinaIoni Bowcher UNQUALIFIED
Jennifer L NestleItalyAmy Elsner NEGOTIATION
Arvin P KuskoBrazilElwin Sharvill UNQUALIFIED
Cody E RimJapanXuxue Feng NEGOTIATION
Maria O MaletRussiaAsiya Javayant QUALIFIED
Isabel R VenereRussiaStephen Shaw NEGOTIATION
Antonio J RulapaughGermanyAsiya Javayant NEGOTIATION
Izzy E SaylorsCanadaIoni Bowcher RENEWAL
Alejandro L SlusarskiCanadaIoni Bowcher RENEWAL
Faith F VocelkaBrazilElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas T MaletBrazil2024-06-10Rangoni Of Florence NEGOTIATION81Ivan Magalhaes
1001Greenwood H FollerGermany2024-06-14King, Christopher A Esq UNQUALIFIED0Asiya Javayant
1002Smith A GauchoAustralia2024-06-14Commercial Press NEW94Anna Fali
1003Isabel A OldroydCanada2024-06-02Rangoni Of Florence RENEWAL13Ivan Magalhaes
1004Johnson N DilliardArgentina2024-06-03Truhlar And Truhlar Attys NEW67Elwin Sharvill
1005Mayumi P MaletFrance2024-05-30Buckley Miller Wright NEGOTIATION87Anna Fali
1006James V SchemmerAustralia2024-06-22Rangoni Of Florence QUALIFIED82Elwin Sharvill
1007Clifford C ChuiItaly2024-05-31Rousseaux, Michael Esq NEGOTIATION99Ivan Magalhaes
1008Nicolas B RulapaughArgentina2024-06-19Chapman, Ross E Esq QUALIFIED96Bernardo Dominic
1009Darci H PerinItaly2024-05-28Dorl, James J Esq NEGOTIATION88Asiya Javayant
1010Juan C SlusarskiIndia2024-06-08Printing Dimensions PROPOSAL32Elwin Sharvill
1011Murillo N SlusarskiBrazil2024-06-08Rousseaux, Michael Esq UNQUALIFIED41Bernardo Dominic
1012Jennifer G IturbideCanada2024-06-19Benton, John B Jr PROPOSAL75Anna Fali
1013Jennifer K SchemmerGermany2024-06-04Feiner Bros NEW97Asiya Javayant
1014Darci L ShinkoSpain2024-06-06Truhlar And Truhlar Attys UNQUALIFIED61Amy Elsner
1015Izzy O StensethBrazil2024-05-26Rangoni Of Florence NEGOTIATION10Amy Elsner
1016Cody M ChuiUnited Kingdom2024-06-09Commercial Press NEW64Xuxue Feng
1017Jeanfrancois J IturbideAustralia2024-06-02Chanay, Jeffrey A Esq RENEWAL99Ivan Magalhaes
1018Julie F BowleyRussia2024-06-22Buckley Miller Wright NEW9Bernardo Dominic
1019Aditya C FollerItaly2024-05-29Chemel, James L Cpa PROPOSAL41Ivan Magalhaes
1020Munro B DarakjyCanada2024-06-15Buckley Miller Wright UNQUALIFIED29Onyama Limba
1021Darci Y ButtAustralia2024-06-21Buckley Miller Wright NEGOTIATION58Ivan Magalhaes
1022David C VocelkaArgentina2024-06-19Morlong Associates QUALIFIED88Ivan Magalhaes
1023Claire P BowleyUnited Kingdom2024-06-04Chanay, Jeffrey A Esq PROPOSAL69Ivan Magalhaes
1024Francesco L GauchoArgentina2024-05-28Chapman, Ross E Esq RENEWAL54Ivan Magalhaes
1025Arvin R AlbaresAustralia2024-06-16Feiner Bros UNQUALIFIED53Amy Elsner
1026Antonio M OldroydIndia2024-05-30Benton, John B Jr NEGOTIATION56Stephen Shaw
1027Cody Q DarakjySpain2024-06-03Rangoni Of Florence NEW94Ivan Magalhaes
1028Jennifer H NickaIndia2024-06-11King, Christopher A Esq UNQUALIFIED19Elwin Sharvill
1029Leja D WhobreyBrazil2024-05-31Benton, John B Jr PROPOSAL96Amy Elsner
1030Octavia S SergiUnited Kingdom2024-06-19Rangoni Of Florence PROPOSAL87Elwin Sharvill
1031Alejandro G SchemmerIndia2024-05-30Chapman, Ross E Esq NEW3Stephen Shaw
1032Ricardo Z RutaArgentina2024-06-20Benton, John B Jr RENEWAL99Ioni Bowcher
1033Ashley A NickaGermany2024-06-20Benton, John B Jr RENEWAL71Xuxue Feng
1034Salvatore F StensethCanada2024-06-04Rangoni Of Florence UNQUALIFIED80Amy Elsner
1035Nicolas G ChuiIndia2024-05-27Chapman, Ross E Esq PROPOSAL85Asiya Javayant
1036Jefferson V GillianBrazil2024-06-18Feiner Bros RENEWAL69Elwin Sharvill
1037Emily G VocelkaArgentina2024-05-28Printing Dimensions UNQUALIFIED92Amy Elsner
1038Mujtaba G KolmetzUnited Kingdom2024-05-27Feltz Printing Service UNQUALIFIED97Asiya Javayant
1039Stacey J GillianGermany2024-05-31Dorl, James J Esq QUALIFIED6Amy Elsner
1040Aditya C MaletBrazil2024-05-28Dorl, James J Esq RENEWAL97Anna Fali
1041Murillo R NestleRussia2024-06-16Buckley Miller Wright NEW49Bernardo Dominic
1042Mujtaba A KuskoAustralia2024-06-15Feiner Bros NEGOTIATION11Stephen Shaw
1043Maisha T IturbideJapan2024-05-31Chemel, James L Cpa QUALIFIED22Asiya Javayant
1044Jennifer K KuskoArgentina2024-05-28Dorl, James J Esq UNQUALIFIED11Stephen Shaw
1045Salvatore Y SlusarskiSpain2024-05-27Dorl, James J Esq UNQUALIFIED11Amy Elsner
1046Greenwood S GauchoJapan2024-05-29Rousseaux, Michael Esq PROPOSAL31Onyama Limba
1047James C WieserJapan2024-06-05Feltz Printing Service PROPOSAL22Amy Elsner
1048Morrow X SlusarskiAustralia2024-05-25Chapman, Ross E Esq RENEWAL52Ivan Magalhaes
1049Emily K IturbideRussia2024-05-30Printing Dimensions NEW67Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Leon X BriddickJapanElwin Sharvill PROPOSAL
Murillo L NestleUnited KingdomIoni Bowcher RENEWAL
Izzy O StockhamIndiaElwin Sharvill QUALIFIED
Francesco I CaldareraGermanyAnna Fali NEGOTIATION
Adams E SaylorsJapanStephen Shaw UNQUALIFIED
Antonio Z BowleyJapanOnyama Limba UNQUALIFIED
Maisha W ShinkoAustraliaBernardo Dominic NEGOTIATION
Kaitlin F MarrierCanadaElwin Sharvill NEGOTIATION
Tony Q StensethGermanyAnna Fali NEW
Misaki E OstroskyBrazilXuxue Feng RENEWAL
Rodrigues Q RutaSpainBernardo Dominic RENEWAL
Aditya V GarufiItalyAmy Elsner RENEWAL
Chavez N MacleadFranceOnyama Limba NEW
Darci S MaletFranceOnyama Limba PROPOSAL
Cody K RoysterRussiaIvan Magalhaes NEW
Kadeem A VenereUnited KingdomBernardo Dominic NEW
Adams A SchemmerBrazilOnyama Limba QUALIFIED
Sinclair U FigeroaGermanyAmy Elsner NEGOTIATION
Aditya H NestleGermanyStephen Shaw NEGOTIATION
Munro L GlickCanadaBernardo Dominic UNQUALIFIED
Morrow H StensethAustraliaAnna Fali NEGOTIATION
Munro O DilliardBrazilAsiya Javayant NEGOTIATION
Jones M FerenczJapanXuxue Feng PROPOSAL
Aika T OstroskyBrazilAnna Fali NEW
Darci Q SchemmerItalyAsiya Javayant PROPOSAL
Aruna J ShinkoBrazilStephen Shaw PROPOSAL
Smith D NestleCanadaIvan Magalhaes RENEWAL
Stacey O CaldareraCanadaOnyama Limba UNQUALIFIED
Adams Q KolmetzFranceBernardo Dominic NEW
Ricardo L PoquetteRussiaElwin Sharvill UNQUALIFIED
Alejandro V AmigonIndiaAsiya Javayant UNQUALIFIED
Ricardo B MaletUnited KingdomBernardo Dominic RENEWAL
Francesco B PaprockiRussiaElwin Sharvill PROPOSAL
Kaitlin Z SaylorsBrazilAmy Elsner UNQUALIFIED
Maisha J GlickItalyAmy Elsner UNQUALIFIED
Johnson G CampainJapanIoni Bowcher PROPOSAL
Emily S VenereFranceStephen Shaw PROPOSAL
Maisha D PoquetteAustraliaElwin Sharvill NEGOTIATION
Nicolas W ShinkoSpainIvan Magalhaes RENEWAL
Murillo M BowleyUnited KingdomOnyama Limba NEW
Emily M RoysterUnited KingdomElwin Sharvill QUALIFIED
Salvatore V SchemmerAustraliaAmy Elsner UNQUALIFIED
Silvio F CaudySpainOnyama Limba NEGOTIATION
Cody J InouyeBrazilAsiya Javayant RENEWAL
Aika W RutaItalyIvan Magalhaes NEW
Mujtaba A SlusarskiFranceIoni Bowcher RENEWAL
Morrow K CampainRussiaAsiya Javayant RENEWAL
Izzy V ShinkoBrazilElwin Sharvill QUALIFIED
Emily F GauchoJapanStephen Shaw NEW
Johnson O IturbideGermanyAsiya Javayant NEW
Frozen Columns
Name
Mayumi E Tollner
Maisha O Malet
Maisha E Nicka
Greenwood H Dilliard
Leon Z Glick
Jefferson R Garufi
Murillo E Chui
Faith A Amigon
Maria W Caudy
Cody A Oldroyd
Nicolas R Marrier
Octavia P Kolmetz
Ashley O Tollner
Aditya F Iturbide
Morrow W Saylors
Deepesh K Vocelka
Aika S Waycott
Johnson H Glick
Maisha F Maclead
Tony Y Nestle
Maria R Perin
Isabel H Waycott
Alejandro L Foller
Jones N Saylors
Greenwood Y Malet
Jones U Chui
Aruna K Wieser
Aika B Flosi
Adams O Vocelka
David E Malet
Ashley V Marrier
Nicolas Q Rulapaugh
Izzy S Schemmer
Julie J Iturbide
Munro O Shinko
Mayumi S Whobrey
Leon T Slusarski
Mayumi Y Nicka
Arvin J Royster
Aika Y Vocelka
Morrow Q Venere
Arvin R Kusko
Ivar W Caudy
Faith Z Doe
Ricardo G Sergi
Maisha F Perin
Maisha L Bowley
Sinclair R Saylors
Greenwood E Briddick
Smith Q Stenseth
IdCountryDate
1000Spain2024-06-08
1001Canada2024-06-18
1002Argentina2024-06-01
1003France2024-06-11
1004Canada2024-06-21
1005Italy2024-06-23
1006Japan2024-05-28
1007Japan2024-06-18
1008Italy2024-05-31
1009France2024-05-31
1010Canada2024-06-13
1011United Kingdom2024-06-23
1012United Kingdom2024-06-03
1013Germany2024-06-03
1014Spain2024-06-13
1015France2024-06-20
1016Brazil2024-06-08
1017Russia2024-06-14
1018India2024-05-28
1019Japan2024-05-30
1020Spain2024-05-27
1021Germany2024-06-11
1022Russia2024-06-02
1023Russia2024-06-16
1024Italy2024-06-01
1025Spain2024-06-12
1026Japan2024-05-27
1027Japan2024-06-08
1028Brazil2024-06-23
1029Brazil2024-06-11
1030Italy2024-06-02
1031Brazil2024-05-27
1032Germany2024-06-18
1033United Kingdom2024-06-04
1034Germany2024-06-12
1035France2024-06-06
1036United Kingdom2024-06-18
1037Spain2024-05-25
1038Australia2024-06-23
1039Italy2024-05-29
1040Canada2024-06-13
1041United Kingdom2024-06-10
1042Italy2024-05-28
1043Japan2024-06-11
1044Japan2024-06-12
1045Germany2024-06-19
1046France2024-06-05
1047India2024-06-09
1048Russia2024-06-17
1049Germany2024-06-10

On-Demand Data

NameIdCountryDate
Wickens V Caudy1000Japan2024-06-23
Adams I Perin1001India2024-06-13
James A Nicka1002Japan2024-06-20
Wickens B Nicka1003Japan2024-06-11
Maria T Tollner1004Canada2024-06-14
Stacey Z Gaucho1005Japan2024-06-03
Silvio C Butt1006Canada2024-05-31
Jeanfrancois X Caudy1007India2024-06-12
Darci U Flosi1008India2024-06-05
Cody F Butt1009India2024-06-09
Octavia G Waycott1010Australia2024-06-22
Francesco E Tollner1011Australia2024-06-10
Octavia V Nestle1012France2024-06-20
Jennifer F Inouye1013Spain2024-06-15
Faith W Bowley1014India2024-06-01
Darci H Schemmer1015India2024-06-07
Faith V Rim1016Canada2024-06-10
Sinclair K Rulapaugh1017Canada2024-06-22
Arvin K Garufi1018Russia2024-05-27
Leja L Inouye1019Argentina2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro I IturbideGermanyAsiya Javayant NEW
Aditya S BriddickItalyIvan Magalhaes UNQUALIFIED
Tony P AlbaresSpainAsiya Javayant NEGOTIATION
Nicolas G RimSpainOnyama Limba QUALIFIED
Alejandro B PoquetteIndiaBernardo Dominic PROPOSAL
Deepesh R TollnerRussiaIoni Bowcher NEGOTIATION
Jones T CampainItalyIoni Bowcher PROPOSAL
Francesco I CampainItalyAnna Fali UNQUALIFIED
Kaitlin F RutaArgentinaBernardo Dominic PROPOSAL
Emily U ChuiGermanyXuxue Feng UNQUALIFIED
Jefferson L BriddickCanadaAsiya Javayant NEW
Antonio S KolmetzUnited KingdomIvan Magalhaes RENEWAL
Adams Q KolmetzBrazilXuxue Feng PROPOSAL
Jeanfrancois E WhobreyArgentinaElwin Sharvill PROPOSAL
Cody C NestleGermanyIvan Magalhaes UNQUALIFIED
Jefferson W AlbaresSpainOnyama Limba NEW
Chavez L NickaArgentinaOnyama Limba UNQUALIFIED
Adams D ButtUnited KingdomBernardo Dominic QUALIFIED
Silvio N MaletArgentinaOnyama Limba NEW
Mayumi M RimRussiaElwin Sharvill QUALIFIED
Claire F MaletAustraliaAsiya Javayant NEGOTIATION
Alejandro B ButtArgentinaBernardo Dominic QUALIFIED
Arvin P AlbaresFranceAsiya Javayant RENEWAL
Mayumi K SergiBrazilStephen Shaw QUALIFIED
Maisha N NickaItalyOnyama Limba NEGOTIATION
Morrow K SergiRussiaElwin Sharvill UNQUALIFIED
Misaki F OstroskyIndiaAsiya Javayant NEGOTIATION
Emily S DoeBrazilAmy Elsner UNQUALIFIED
Octavia Z GarufiJapanStephen Shaw NEW
Morrow U NestleCanadaIvan Magalhaes NEW
Mujtaba L BowleyRussiaXuxue Feng PROPOSAL
David U NickaIndiaBernardo Dominic PROPOSAL
James J StensethFranceIoni Bowcher UNQUALIFIED
Aruna W MaletItalyAmy Elsner UNQUALIFIED
Wickens Q FlosiJapanIoni Bowcher PROPOSAL
Sinclair A WhobreyBrazilIoni Bowcher PROPOSAL
Darci Q PerinGermanyStephen Shaw QUALIFIED
Adams Q MorascaItalyStephen Shaw NEGOTIATION
Juan G OstroskyCanadaIvan Magalhaes NEW
Jeanfrancois C CampainIndiaXuxue Feng 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>