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
Leja I OldroydFranceStephen Shaw NEW
Maria R SlusarskiBrazilXuxue Feng NEGOTIATION
Aditya L CampainBrazilAsiya Javayant NEGOTIATION
Arvin F DilliardFranceAnna Fali NEGOTIATION
Aruna X CaldareraSpainStephen Shaw UNQUALIFIED
James A WieserAustraliaIvan Magalhaes UNQUALIFIED
Claire L PerinIndiaElwin Sharvill RENEWAL
Maria Q BriddickGermanyElwin Sharvill RENEWAL
Aditya R OstroskyUnited KingdomXuxue Feng NEGOTIATION
Greenwood V FerenczIndiaBernardo Dominic QUALIFIED
Clifford K DilliardBrazilXuxue Feng NEGOTIATION
Arvin S PaprockiCanadaStephen Shaw RENEWAL
Arvin A GarufiBrazilIvan Magalhaes RENEWAL
Misaki X StockhamFranceStephen Shaw NEW
Murillo I BologniaRussiaOnyama Limba RENEWAL
Arvin O RimSpainXuxue Feng QUALIFIED
Stacey O StockhamFranceIvan Magalhaes UNQUALIFIED
Francesco J FigeroaGermanyAnna Fali UNQUALIFIED
Darci C MarrierAustraliaIoni Bowcher PROPOSAL
David H FlosiArgentinaElwin Sharvill UNQUALIFIED
Adams H DarakjyCanadaOnyama Limba PROPOSAL
Maisha F BowleyAustraliaAmy Elsner PROPOSAL
David Q VocelkaAustraliaAmy Elsner PROPOSAL
Jefferson B AlbaresJapanIvan Magalhaes RENEWAL
Johnson S BologniaRussiaAnna Fali PROPOSAL
Julie D MaletArgentinaAsiya Javayant PROPOSAL
Ricardo G FigeroaAustraliaAsiya Javayant QUALIFIED
Jones S StensethJapanOnyama Limba PROPOSAL
Munro F OldroydIndiaAnna Fali UNQUALIFIED
Clifford D GauchoBrazilOnyama Limba PROPOSAL
Leon G FerenczItalyStephen Shaw NEW
Jones D BologniaRussiaAmy Elsner NEW
Arvin W FigeroaArgentinaElwin Sharvill QUALIFIED
Maria G VenereArgentinaIvan Magalhaes NEW
Isabel U KolmetzUnited KingdomBernardo Dominic NEGOTIATION
Octavia F PaprockiFranceAnna Fali PROPOSAL
David K KolmetzJapanAsiya Javayant PROPOSAL
Mayumi S DoeFranceStephen Shaw NEW
Costa V OldroydSpainElwin Sharvill QUALIFIED
Emily H PaprockiJapanAnna Fali RENEWAL
Salvatore K KuskoCanadaXuxue Feng NEGOTIATION
Sinclair G ShinkoAustraliaAsiya Javayant UNQUALIFIED
Darci P WaycottGermanyElwin Sharvill QUALIFIED
Maria P FerenczGermanyElwin Sharvill NEW
Tony L InouyeFranceOnyama Limba UNQUALIFIED
Sinclair J BologniaFranceBernardo Dominic RENEWAL
Ricardo J StockhamArgentinaIvan Magalhaes NEGOTIATION
Aruna K ButtSpainAnna Fali PROPOSAL
Chavez B CaudyFranceStephen Shaw NEW
Adams X RoysterItalyAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire X GauchoSpainIvan Magalhaes NEGOTIATION
Wickens A FlosiFranceStephen Shaw NEW
Darci G GillianArgentinaOnyama Limba PROPOSAL
Chavez U FigeroaSpainAnna Fali UNQUALIFIED
Julie Q FollerGermanyXuxue Feng UNQUALIFIED
Izzy W ShinkoArgentinaAsiya Javayant NEW
Jones R MaletRussiaElwin Sharvill PROPOSAL
Juan V WhobreyRussiaOnyama Limba QUALIFIED
Aditya L PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Tony H DilliardItalyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja N AmigonJapan2025-05-27Chanay, Jeffrey A Esq NEW11Asiya Javayant
1001James F GillianAustralia2025-05-21Printing Dimensions RENEWAL68Anna Fali
1002Aditya F FollerGermany2025-06-07Rousseaux, Michael Esq NEGOTIATION76Amy Elsner
1003Faith M MacleadRussia2025-06-02Rangoni Of Florence QUALIFIED94Onyama Limba
1004Kaitlin V GarufiFrance2025-06-16Buckley Miller Wright NEGOTIATION29Bernardo Dominic
1005Kadeem J DarakjyRussia2025-05-20Feiner Bros NEGOTIATION32Anna Fali
1006Darci M StensethArgentina2025-05-18Benton, John B Jr UNQUALIFIED60Bernardo Dominic
1007Aruna E GillianArgentina2025-06-04Buckley Miller Wright NEW64Ivan Magalhaes
1008Stacey A ButtBrazil2025-06-01Benton, John B Jr RENEWAL31Ivan Magalhaes
1009Izzy H MaletArgentina2025-05-21Morlong Associates QUALIFIED23Amy Elsner
1010David H VocelkaItaly2025-05-27Chemel, James L Cpa QUALIFIED43Stephen Shaw
1011Jones E KolmetzCanada2025-06-15Feiner Bros UNQUALIFIED79Xuxue Feng
1012Leon T CampainUnited Kingdom2025-05-19Feltz Printing Service QUALIFIED28Amy Elsner
1013Arvin F PaprockiAustralia2025-05-31Rangoni Of Florence UNQUALIFIED96Ivan Magalhaes
1014Isabel T DarakjyItaly2025-06-15Dorl, James J Esq NEGOTIATION33Ivan Magalhaes
1015Aditya V OstroskyItaly2025-06-12King, Christopher A Esq UNQUALIFIED63Ivan Magalhaes
1016Stacey P BowleyFrance2025-06-05Truhlar And Truhlar Attys UNQUALIFIED33Ivan Magalhaes
1017Francesco E OldroydFrance2025-06-16Rousseaux, Michael Esq QUALIFIED77Stephen Shaw
1018Darci M RimAustralia2025-06-02Benton, John B Jr RENEWAL92Asiya Javayant
1019Greenwood B WieserBrazil2025-06-12Chanay, Jeffrey A Esq QUALIFIED65Xuxue Feng
1020Murillo S SergiJapan2025-05-24Rousseaux, Michael Esq QUALIFIED88Ioni Bowcher
1021Chavez C TollnerUnited Kingdom2025-06-15Truhlar And Truhlar Attys PROPOSAL19Asiya Javayant
1022Misaki C BowleyFrance2025-06-08Feltz Printing Service QUALIFIED64Asiya Javayant
1023Darci F SlusarskiCanada2025-05-30Feltz Printing Service QUALIFIED4Stephen Shaw
1024Jennifer W VenereRussia2025-06-05Printing Dimensions NEW64Ioni Bowcher
1025Isabel J StensethBrazil2025-05-25Truhlar And Truhlar Attys RENEWAL26Stephen Shaw
1026Aditya O SlusarskiFrance2025-06-15Chapman, Ross E Esq QUALIFIED12Xuxue Feng
1027Morrow C KuskoGermany2025-06-02Truhlar And Truhlar Attys PROPOSAL62Xuxue Feng
1028Johnson Z FerenczFrance2025-06-04Printing Dimensions PROPOSAL10Elwin Sharvill
1029Juan M AmigonIndia2025-05-24Buckley Miller Wright PROPOSAL32Elwin Sharvill
1030Claire M RulapaughBrazil2025-05-19Truhlar And Truhlar Attys NEGOTIATION51Stephen Shaw
1031Stacey J SchemmerCanada2025-06-15Chemel, James L Cpa PROPOSAL42Ivan Magalhaes
1032Deepesh S NickaItaly2025-06-07King, Christopher A Esq NEW37Xuxue Feng
1033Francesco H BologniaCanada2025-05-27Morlong Associates UNQUALIFIED73Anna Fali
1034Julie H RulapaughFrance2025-06-14Dorl, James J Esq RENEWAL89Stephen Shaw
1035Octavia P FlosiItaly2025-06-05Morlong Associates UNQUALIFIED87Xuxue Feng
1036Kaitlin U KuskoGermany2025-05-28Rousseaux, Michael Esq RENEWAL69Ivan Magalhaes
1037Deepesh F RutaFrance2025-06-13Printing Dimensions RENEWAL10Anna Fali
1038Aruna C RutaFrance2025-05-20Buckley Miller Wright QUALIFIED32Bernardo Dominic
1039Deepesh S MacleadIndia2025-06-10King, Christopher A Esq RENEWAL86Amy Elsner
1040Costa E VenereIndia2025-06-10King, Christopher A Esq NEW21Stephen Shaw
1041Faith V GauchoUnited Kingdom2025-05-18Dorl, James J Esq RENEWAL30Stephen Shaw
1042Kadeem E MacleadBrazil2025-06-15Buckley Miller Wright RENEWAL87Elwin Sharvill
1043Misaki T DoeIndia2025-06-16Chapman, Ross E Esq UNQUALIFIED34Elwin Sharvill
1044David U SergiCanada2025-06-03Feiner Bros RENEWAL94Anna Fali
1045Maisha M KuskoSpain2025-05-26Buckley Miller Wright QUALIFIED63Stephen Shaw
1046Leja F NickaAustralia2025-05-18Feiner Bros UNQUALIFIED38Elwin Sharvill
1047Maisha F RulapaughItaly2025-06-10Chemel, James L Cpa PROPOSAL33Elwin Sharvill
1048James N MorascaIndia2025-06-02Commercial Press NEGOTIATION50Asiya Javayant
1049Aika M AmigonArgentina2025-05-30Rangoni Of Florence QUALIFIED92Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maisha A StensethFranceAmy Elsner RENEWAL
Darci A GillianCanadaOnyama Limba RENEWAL
Jennifer J KuskoFranceXuxue Feng PROPOSAL
Leon C BriddickGermanyBernardo Dominic RENEWAL
Isabel L MacleadIndiaElwin Sharvill QUALIFIED
Wickens B BologniaArgentinaOnyama Limba PROPOSAL
Mayumi W FerenczJapanAnna Fali QUALIFIED
Salvatore O BowleyJapanAsiya Javayant UNQUALIFIED
Julie O SergiGermanyAnna Fali RENEWAL
Izzy Z SchemmerJapanXuxue Feng UNQUALIFIED
Salvatore D ButtCanadaOnyama Limba NEGOTIATION
Greenwood A SchemmerBrazilBernardo Dominic RENEWAL
Johnson T VocelkaRussiaXuxue Feng UNQUALIFIED
Murillo S SlusarskiGermanyBernardo Dominic RENEWAL
Leja B GarufiSpainElwin Sharvill UNQUALIFIED
Isabel H MacleadBrazilStephen Shaw NEGOTIATION
Morrow Z DilliardFranceBernardo Dominic RENEWAL
Leon Q FlosiBrazilXuxue Feng PROPOSAL
Kadeem S FerenczSpainBernardo Dominic QUALIFIED
Ashley J MarrierJapanStephen Shaw UNQUALIFIED
Aruna P TollnerCanadaOnyama Limba RENEWAL
Aditya M NestleUnited KingdomIoni Bowcher QUALIFIED
Antonio R TollnerArgentinaStephen Shaw NEGOTIATION
Munro I FerenczRussiaAnna Fali RENEWAL
Arvin T CaldareraIndiaAmy Elsner QUALIFIED
Kaitlin J NickaGermanyElwin Sharvill QUALIFIED
Rodrigues T VocelkaCanadaBernardo Dominic NEGOTIATION
Deepesh M MarrierAustraliaIoni Bowcher UNQUALIFIED
Sinclair V ShinkoSpainAmy Elsner PROPOSAL
Kadeem Y CampainAustraliaBernardo Dominic QUALIFIED
Ricardo O StensethArgentinaAmy Elsner QUALIFIED
Adams D AlbaresAustraliaBernardo Dominic QUALIFIED
Jefferson J RoysterItalyElwin Sharvill QUALIFIED
Darci F StensethCanadaAsiya Javayant UNQUALIFIED
Aika N SaylorsJapanAmy Elsner UNQUALIFIED
David S SergiGermanyIoni Bowcher NEGOTIATION
Claire Z FerenczCanadaOnyama Limba RENEWAL
Jones A GillianFranceElwin Sharvill RENEWAL
Silvio O SaylorsRussiaElwin Sharvill UNQUALIFIED
Antonio B MaletBrazilAmy Elsner RENEWAL
Jeanfrancois J VocelkaBrazilElwin Sharvill RENEWAL
Claire Y InouyeFranceOnyama Limba NEGOTIATION
Kaitlin Y SergiUnited KingdomOnyama Limba NEW
Arvin R RutaGermanyOnyama Limba NEW
Smith V SaylorsIndiaOnyama Limba UNQUALIFIED
Johnson L IturbideSpainElwin Sharvill QUALIFIED
Darci B ButtUnited KingdomAmy Elsner NEW
Julie Z NestleRussiaIvan Magalhaes NEW
Stacey P FlosiJapanAnna Fali PROPOSAL
Izzy X NickaGermanyIoni Bowcher PROPOSAL
Frozen Columns
Name
Francesco A Rim
Morrow J Bowley
Faith A Ferencz
Nicolas P Dilliard
Ashley L Albares
Aruna C Albares
Rodrigues H Stockham
Octavia B Caudy
Ivar Y Sergi
Adams C Whobrey
Jefferson H Maclead
Aditya H Saylors
Jeanfrancois X Inouye
Isabel O Marrier
Johnson K Iturbide
Chavez W Malet
Alejandro X Wieser
David H Ruta
Stacey A Rim
Jeanfrancois U Caudy
Alejandro K Kolmetz
Ricardo V Bowley
James U Kolmetz
Wickens K Tollner
Octavia E Oldroyd
Alejandro W Rim
Clifford G Tollner
Smith L Malet
Maisha R Rim
Antonio L Vocelka
Mayumi Q Wieser
Aruna M Foller
Mayumi W Stockham
Adams I Caldarera
Octavia K Waycott
Francesco A Poquette
Isabel P Perin
Cody J Gillian
James N Doe
Francesco O Iturbide
Mayumi B Poquette
Rodrigues M Darakjy
Mayumi J Darakjy
Izzy J Sergi
Salvatore M Tollner
Ashley S Marrier
Costa E Rim
Isabel L Bolognia
Wickens A Ostrosky
Jefferson G Malet
IdCountryDate
1000Germany2025-06-16
1001Russia2025-06-07
1002United Kingdom2025-05-25
1003Germany2025-05-29
1004Germany2025-05-28
1005Russia2025-06-04
1006India2025-06-11
1007Australia2025-06-07
1008Italy2025-05-19
1009Canada2025-05-28
1010Brazil2025-05-22
1011India2025-06-12
1012Spain2025-05-21
1013India2025-05-27
1014India2025-06-07
1015Brazil2025-06-09
1016Spain2025-06-16
1017Spain2025-05-22
1018Spain2025-06-06
1019Australia2025-05-26
1020Brazil2025-05-31
1021Italy2025-06-16
1022Spain2025-06-05
1023Germany2025-06-07
1024Argentina2025-06-04
1025Australia2025-05-24
1026Japan2025-06-02
1027France2025-05-26
1028India2025-06-04
1029Russia2025-06-12
1030Canada2025-06-14
1031Italy2025-05-25
1032United Kingdom2025-05-23
1033Australia2025-06-15
1034Argentina2025-05-20
1035United Kingdom2025-06-16
1036Canada2025-05-30
1037France2025-05-31
1038India2025-05-31
1039Japan2025-06-07
1040Canada2025-06-15
1041Germany2025-05-28
1042Australia2025-05-26
1043Brazil2025-06-10
1044Russia2025-05-24
1045United Kingdom2025-06-02
1046Germany2025-06-03
1047Spain2025-06-05
1048Australia2025-06-16
1049Australia2025-05-25

On-Demand Data

NameIdCountryDate
Smith T Glick1000Canada2025-06-06
Costa B Iturbide1001Spain2025-05-30
Maisha Q Garufi1002Russia2025-06-12
Ricardo K Venere1003United Kingdom2025-05-27
David C Slusarski1004United Kingdom2025-05-19
Misaki H Stockham1005France2025-05-25
Johnson Z Shinko1006Australia2025-05-18
Costa L Royster1007Canada2025-06-13
Ricardo F Oldroyd1008Russia2025-05-27
Ashley D Stockham1009France2025-06-07
Aditya X Whobrey1010United Kingdom2025-05-25
Maria R Venere1011Russia2025-06-09
Ricardo M Rim1012Russia2025-06-10
Isabel D Paprocki1013France2025-06-10
Deepesh K Garufi1014Germany2025-06-08
Ashley F Foller1015Russia2025-06-09
Nicolas L Caudy1016Spain2025-05-29
Antonio Z Shinko1017Italy2025-06-12
David N Royster1018India2025-05-20
Octavia F Royster1019Italy2025-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore X PaprockiJapanBernardo Dominic UNQUALIFIED
Salvatore W StockhamJapanElwin Sharvill NEW
Kadeem M GauchoUnited KingdomAnna Fali NEW
Morrow U RoysterArgentinaIoni Bowcher RENEWAL
Salvatore N FlosiSpainIoni Bowcher NEGOTIATION
Aditya Z DilliardRussiaStephen Shaw NEGOTIATION
Francesco E AlbaresBrazilIvan Magalhaes UNQUALIFIED
Isabel F WaycottBrazilElwin Sharvill NEW
David P KolmetzAustraliaAnna Fali PROPOSAL
Alejandro B AmigonArgentinaStephen Shaw QUALIFIED
Ashley F GlickArgentinaElwin Sharvill NEW
Deepesh C MacleadCanadaIvan Magalhaes NEGOTIATION
Greenwood D GillianCanadaIvan Magalhaes QUALIFIED
Wickens E PerinBrazilBernardo Dominic QUALIFIED
James I PoquetteRussiaBernardo Dominic UNQUALIFIED
Kaitlin C CaudyUnited KingdomIoni Bowcher RENEWAL
Arvin K InouyeIndiaElwin Sharvill UNQUALIFIED
Maisha D MarrierJapanAnna Fali PROPOSAL
Chavez P StockhamGermanyAmy Elsner PROPOSAL
Tony P SaylorsRussiaXuxue Feng QUALIFIED
Costa P FerenczCanadaXuxue Feng RENEWAL
Munro F DarakjyAustraliaIvan Magalhaes NEGOTIATION
Munro K PaprockiBrazilXuxue Feng QUALIFIED
Ivar M InouyeIndiaAmy Elsner PROPOSAL
Izzy R DoeArgentinaElwin Sharvill PROPOSAL
Jennifer N FigeroaArgentinaAmy Elsner NEW
Arvin R VocelkaIndiaXuxue Feng NEGOTIATION
Sinclair V MaletUnited KingdomElwin Sharvill RENEWAL
Mujtaba I ButtUnited KingdomIoni Bowcher NEGOTIATION
David J FollerGermanyElwin Sharvill RENEWAL
Juan J OldroydBrazilXuxue Feng UNQUALIFIED
Adams D FollerArgentinaIvan Magalhaes RENEWAL
Juan Y InouyeSpainIvan Magalhaes PROPOSAL
Aditya G CaudyJapanAnna Fali RENEWAL
Morrow G KolmetzIndiaElwin Sharvill QUALIFIED
Izzy P GlickBrazilIvan Magalhaes NEGOTIATION
Mujtaba T SlusarskiGermanyBernardo Dominic QUALIFIED
Julie Z FollerJapanIvan Magalhaes RENEWAL
James T PoquetteRussiaOnyama Limba NEW
Darci O GarufiCanadaXuxue Feng 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>