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
Munro C NickaJapanBernardo Dominic UNQUALIFIED
Julie D BowleyCanadaElwin Sharvill PROPOSAL
Leja P RutaGermanyStephen Shaw NEGOTIATION
Costa N RulapaughArgentinaBernardo Dominic PROPOSAL
Jennifer S CaldareraSpainAmy Elsner NEW
Jeanfrancois R FlosiRussiaIoni Bowcher QUALIFIED
Wickens T AmigonGermanyIvan Magalhaes NEW
Mayumi B FerenczArgentinaXuxue Feng UNQUALIFIED
Jennifer J MaletAustraliaElwin Sharvill PROPOSAL
James B PaprockiSpainAsiya Javayant QUALIFIED
Jefferson R ShinkoBrazilIoni Bowcher RENEWAL
Kadeem K WieserBrazilXuxue Feng PROPOSAL
Alejandro O GlickIndiaIvan Magalhaes PROPOSAL
Rodrigues U GlickAustraliaAsiya Javayant RENEWAL
Salvatore K CaudyIndiaIoni Bowcher RENEWAL
Johnson A MorascaBrazilAsiya Javayant RENEWAL
Alejandro C AmigonIndiaXuxue Feng QUALIFIED
Kadeem Z DilliardBrazilOnyama Limba UNQUALIFIED
Smith U DilliardGermanyOnyama Limba PROPOSAL
Murillo K MaletItalyStephen Shaw NEW
Emily H DilliardFranceElwin Sharvill RENEWAL
Mujtaba Q MaletJapanStephen Shaw NEW
Aditya E MaletCanadaIvan Magalhaes NEW
Johnson Y VocelkaBrazilAsiya Javayant PROPOSAL
Clifford U ShinkoAustraliaBernardo Dominic NEGOTIATION
Emily Y RoysterItalyAnna Fali RENEWAL
Antonio Z VenereSpainAsiya Javayant NEW
Jones V InouyeFranceOnyama Limba NEGOTIATION
Munro I NickaGermanyAmy Elsner QUALIFIED
Jeanfrancois G FollerUnited KingdomStephen Shaw RENEWAL
Jeanfrancois S ButtRussiaStephen Shaw QUALIFIED
David S MacleadAustraliaIoni Bowcher RENEWAL
Stacey T MaletBrazilXuxue Feng RENEWAL
Alejandro S KolmetzItalyXuxue Feng UNQUALIFIED
Morrow X SergiFranceAmy Elsner NEW
David T ChuiItalyAnna Fali QUALIFIED
Clifford X MorascaBrazilBernardo Dominic NEW
Aditya K DoeBrazilElwin Sharvill NEW
Smith V MorascaItalyBernardo Dominic PROPOSAL
Jeanfrancois T CaudyArgentinaOnyama Limba NEGOTIATION
Jeanfrancois B KuskoUnited KingdomElwin Sharvill PROPOSAL
Jefferson S DoeRussiaAmy Elsner NEW
Aika A FollerFranceOnyama Limba NEW
Maisha R GauchoFranceElwin Sharvill NEW
Jones P BologniaBrazilXuxue Feng RENEWAL
Stacey T MarrierGermanyAnna Fali NEGOTIATION
Kadeem W NickaIndiaStephen Shaw NEGOTIATION
Maria Z CaldareraArgentinaElwin Sharvill UNQUALIFIED
Aditya U FollerGermanyStephen Shaw NEW
Tony M WaycottRussiaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria E FollerIndiaXuxue Feng NEGOTIATION
Sinclair G GarufiCanadaBernardo Dominic QUALIFIED
Juan E NestleRussiaBernardo Dominic PROPOSAL
Aditya Y PaprockiItalyAnna Fali UNQUALIFIED
Darci A OldroydRussiaAsiya Javayant PROPOSAL
Munro M MacleadJapanIoni Bowcher PROPOSAL
Leon T FigeroaUnited KingdomBernardo Dominic UNQUALIFIED
David E RimCanadaBernardo Dominic UNQUALIFIED
Jones E KuskoItalyAnna Fali NEGOTIATION
Juan W MarrierIndiaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna F DilliardRussia2024-06-08Chapman, Ross E Esq UNQUALIFIED20Ivan Magalhaes
1001David C DilliardCanada2024-05-25Chemel, James L Cpa NEW96Asiya Javayant
1002Claire B MarrierRussia2024-05-28Commercial Press UNQUALIFIED95Ioni Bowcher
1003Isabel H CaudyCanada2024-06-03Truhlar And Truhlar Attys QUALIFIED17Anna Fali
1004James H KolmetzRussia2024-06-14Commercial Press QUALIFIED73Onyama Limba
1005Silvio L BowleyBrazil2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED14Onyama Limba
1006Francesco P OldroydRussia2024-06-03Morlong Associates UNQUALIFIED91Stephen Shaw
1007Murillo R TollnerSpain2024-06-11Truhlar And Truhlar Attys NEGOTIATION84Ivan Magalhaes
1008Francesco U ChuiJapan2024-06-20Benton, John B Jr PROPOSAL38Amy Elsner
1009Antonio B WaycottArgentina2024-06-13Chapman, Ross E Esq RENEWAL85Bernardo Dominic
1010Costa A SaylorsFrance2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED74Anna Fali
1011James E WhobreyGermany2024-06-12Chapman, Ross E Esq PROPOSAL88Anna Fali
1012Wickens I VenereRussia2024-06-12Feiner Bros RENEWAL90Ivan Magalhaes
1013Murillo E OstroskyBrazil2024-06-06Commercial Press QUALIFIED96Anna Fali
1014Misaki I VocelkaJapan2024-06-07Rangoni Of Florence NEGOTIATION38Xuxue Feng
1015Ashley L CaldareraJapan2024-05-27Morlong Associates PROPOSAL67Ioni Bowcher
1016Jeanfrancois M FerenczArgentina2024-06-06Commercial Press NEGOTIATION73Ivan Magalhaes
1017Ashley O AlbaresFrance2024-06-19Dorl, James J Esq QUALIFIED40Bernardo Dominic
1018Ashley U PaprockiRussia2024-06-13Morlong Associates PROPOSAL18Stephen Shaw
1019Rodrigues E MaletAustralia2024-06-08Dorl, James J Esq RENEWAL53Amy Elsner
1020Julie V FerenczItaly2024-05-24Feltz Printing Service NEW97Bernardo Dominic
1021Clifford T RimFrance2024-06-06Morlong Associates PROPOSAL14Xuxue Feng
1022Greenwood Y GillianRussia2024-05-27Truhlar And Truhlar Attys NEGOTIATION96Xuxue Feng
1023Adams I MarrierAustralia2024-06-16Chemel, James L Cpa PROPOSAL88Asiya Javayant
1024Ricardo I CampainJapan2024-06-05Morlong Associates UNQUALIFIED61Xuxue Feng
1025Alejandro Q WaycottAustralia2024-06-17Buckley Miller Wright RENEWAL90Stephen Shaw
1026Johnson D CampainItaly2024-05-30King, Christopher A Esq UNQUALIFIED34Ioni Bowcher
1027Juan Y GlickFrance2024-06-02Feltz Printing Service QUALIFIED66Onyama Limba
1028Aika B VocelkaJapan2024-05-28Rousseaux, Michael Esq PROPOSAL96Elwin Sharvill
1029Adams P GillianGermany2024-06-19King, Christopher A Esq PROPOSAL84Xuxue Feng
1030Kaitlin A StockhamRussia2024-06-21King, Christopher A Esq PROPOSAL69Elwin Sharvill
1031James Z SchemmerGermany2024-05-30Truhlar And Truhlar Attys NEGOTIATION60Onyama Limba
1032Jefferson P GillianCanada2024-06-20Commercial Press NEW79Xuxue Feng
1033Deepesh P PaprockiArgentina2024-06-13Morlong Associates PROPOSAL35Amy Elsner
1034Leja B MorascaSpain2024-06-11Chapman, Ross E Esq NEGOTIATION39Amy Elsner
1035Sinclair B AlbaresBrazil2024-06-21Buckley Miller Wright QUALIFIED44Ivan Magalhaes
1036Adams S TollnerFrance2024-05-26Truhlar And Truhlar Attys UNQUALIFIED96Elwin Sharvill
1037Isabel Q SergiGermany2024-06-05Feltz Printing Service PROPOSAL61Bernardo Dominic
1038Kaitlin F FollerBrazil2024-06-10Printing Dimensions RENEWAL15Asiya Javayant
1039Mujtaba V MarrierIndia2024-06-20Commercial Press RENEWAL28Stephen Shaw
1040Maisha A SaylorsRussia2024-06-04Chanay, Jeffrey A Esq NEW79Stephen Shaw
1041Ricardo X CampainArgentina2024-05-23Morlong Associates RENEWAL89Elwin Sharvill
1042Munro F NestleCanada2024-06-16Truhlar And Truhlar Attys NEW96Onyama Limba
1043Clifford T RoysterFrance2024-05-30Buckley Miller Wright RENEWAL38Stephen Shaw
1044Leon O VenereRussia2024-05-28Rangoni Of Florence PROPOSAL51Anna Fali
1045Costa B KolmetzAustralia2024-06-17King, Christopher A Esq NEGOTIATION63Anna Fali
1046Darci V ButtJapan2024-06-13King, Christopher A Esq UNQUALIFIED52Xuxue Feng
1047Ivar I StockhamSpain2024-06-07Truhlar And Truhlar Attys QUALIFIED44Ioni Bowcher
1048Jefferson W StockhamIndia2024-06-06Buckley Miller Wright NEW94Xuxue Feng
1049Ivar Y MaletJapan2024-06-05Commercial Press NEW54Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Salvatore W MaletUnited KingdomIoni Bowcher PROPOSAL
Jennifer Q DarakjyUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh C NickaBrazilElwin Sharvill NEW
Isabel B FerenczUnited KingdomOnyama Limba PROPOSAL
Jones O KolmetzGermanyIoni Bowcher UNQUALIFIED
Arvin R StensethRussiaAnna Fali NEGOTIATION
Octavia B CaudyItalyIvan Magalhaes NEW
Mayumi Z GlickArgentinaAnna Fali PROPOSAL
Jefferson K DilliardGermanyStephen Shaw PROPOSAL
Greenwood V NestleAustraliaBernardo Dominic UNQUALIFIED
Rodrigues N BowleyIndiaXuxue Feng NEW
Julie M MaletAustraliaStephen Shaw NEGOTIATION
Munro V NickaCanadaXuxue Feng QUALIFIED
Faith Q KuskoSpainIvan Magalhaes NEW
Deepesh V GlickAustraliaIoni Bowcher RENEWAL
Johnson A MarrierSpainBernardo Dominic NEW
Izzy T VocelkaArgentinaXuxue Feng PROPOSAL
Maisha U NickaAustraliaAsiya Javayant QUALIFIED
Misaki B FollerAustraliaStephen Shaw NEGOTIATION
Wickens I PerinCanadaStephen Shaw UNQUALIFIED
Murillo M MorascaAustraliaAsiya Javayant RENEWAL
Francesco Z OldroydItalyIoni Bowcher PROPOSAL
Clifford P OstroskyFranceAmy Elsner UNQUALIFIED
Emily M PoquetteAustraliaStephen Shaw RENEWAL
Mayumi U OstroskyItalyStephen Shaw NEGOTIATION
Faith Z FlosiFranceBernardo Dominic PROPOSAL
Misaki S SchemmerGermanyBernardo Dominic NEW
Leja C ButtCanadaXuxue Feng QUALIFIED
Arvin A NestleSpainAnna Fali NEW
Kaitlin Z KolmetzSpainAmy Elsner NEW
Aika Y DoeRussiaOnyama Limba PROPOSAL
Izzy K MaletJapanBernardo Dominic PROPOSAL
Isabel U FollerAustraliaBernardo Dominic RENEWAL
Jeanfrancois Q ShinkoAustraliaStephen Shaw UNQUALIFIED
Ashley S StensethCanadaIoni Bowcher UNQUALIFIED
Tony E BriddickGermanyAsiya Javayant NEW
Emily W MaletBrazilAmy Elsner UNQUALIFIED
Kaitlin C SergiBrazilAmy Elsner RENEWAL
Julie F GillianRussiaStephen Shaw NEW
Maisha Y KolmetzFranceBernardo Dominic NEGOTIATION
Murillo Q AmigonFranceIvan Magalhaes PROPOSAL
Nicolas L StensethAustraliaBernardo Dominic QUALIFIED
David T RoysterRussiaBernardo Dominic QUALIFIED
Juan K WaycottCanadaBernardo Dominic QUALIFIED
Jefferson S CaudyArgentinaIoni Bowcher QUALIFIED
Aruna Z PerinSpainIoni Bowcher PROPOSAL
Mayumi L PaprockiBrazilIoni Bowcher UNQUALIFIED
Leja C StockhamAustraliaAnna Fali NEW
Cody K VocelkaRussiaStephen Shaw NEW
Jefferson V PaprockiFranceAmy Elsner PROPOSAL
Frozen Columns
Name
Jennifer P Whobrey
Leja U Whobrey
Juan I Malet
Emily K Caldarera
Maisha C Kusko
Stacey V Nicka
Julie H Butt
Adams N Rim
Misaki A Kusko
Smith V Chui
Jefferson G Tollner
Faith E Butt
Mujtaba A Iturbide
Mayumi K Bowley
Faith G Caudy
Darci E Caldarera
Greenwood W Figeroa
Mujtaba K Foller
Mujtaba B Waycott
Leon L Glick
Leon H Royster
Chavez U Ferencz
Johnson L Iturbide
Kadeem L Schemmer
Silvio P Kusko
Deepesh N Caudy
Munro T Kusko
Maisha M Tollner
Aika P Amigon
Leja J Inouye
Francesco A Wieser
Aditya O Poquette
Aika F Marrier
Jefferson T Ostrosky
David M Kusko
Tony C Waycott
Tony F Malet
Jennifer K Dilliard
Claire M Wieser
Aika W Royster
Rodrigues Y Flosi
Costa O Perin
Izzy W Glick
Salvatore T Tollner
Faith G Amigon
Sinclair C Gaucho
Antonio M Flosi
Cody T Morasca
Johnson B Rulapaugh
Jones X Gillian
IdCountryDate
1000Spain2024-05-26
1001Argentina2024-06-17
1002Australia2024-06-18
1003India2024-06-01
1004Russia2024-06-21
1005India2024-06-15
1006Australia2024-05-29
1007France2024-05-29
1008Brazil2024-05-24
1009United Kingdom2024-05-27
1010India2024-06-13
1011Canada2024-06-06
1012Spain2024-06-10
1013Italy2024-06-15
1014Spain2024-06-04
1015India2024-05-25
1016Germany2024-06-07
1017Brazil2024-05-23
1018France2024-06-13
1019India2024-06-03
1020United Kingdom2024-05-26
1021Spain2024-05-30
1022Spain2024-05-28
1023Spain2024-06-13
1024India2024-06-03
1025Australia2024-06-09
1026United Kingdom2024-06-13
1027Australia2024-06-14
1028United Kingdom2024-05-23
1029Japan2024-05-28
1030Japan2024-05-25
1031Spain2024-06-05
1032Germany2024-05-23
1033Spain2024-06-04
1034Canada2024-06-19
1035Brazil2024-06-18
1036Brazil2024-06-07
1037Russia2024-06-19
1038Canada2024-06-10
1039Italy2024-06-08
1040Italy2024-05-23
1041United Kingdom2024-06-07
1042Australia2024-06-17
1043Brazil2024-06-03
1044Germany2024-06-20
1045Spain2024-06-14
1046France2024-05-27
1047Brazil2024-06-16
1048United Kingdom2024-06-13
1049France2024-06-02

On-Demand Data

NameIdCountryDate
Smith J Kolmetz1000Spain2024-06-06
Tony Z Flosi1001Italy2024-06-18
Maisha D Oldroyd1002France2024-05-28
Rodrigues S Rim1003United Kingdom2024-06-20
Salvatore T Wieser1004Russia2024-06-10
Ivar Y Flosi1005United Kingdom2024-06-14
Alejandro A Saylors1006France2024-06-08
Maria V Shinko1007Italy2024-06-03
Juan M Bowley1008Germany2024-05-23
Sinclair I Venere1009Japan2024-06-07
Arvin L Shinko1010Russia2024-06-08
Misaki C Caldarera1011India2024-05-31
Adams P Stockham1012France2024-06-08
Chavez I Dilliard1013Spain2024-05-24
Ivar V Kolmetz1014Argentina2024-05-25
Aditya C Sergi1015Canada2024-06-19
Aika O Vocelka1016United Kingdom2024-06-17
Mayumi Y Tollner1017Canada2024-06-10
Aika F Dilliard1018United Kingdom2024-05-23
Jefferson C Ostrosky1019Germany2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois X AlbaresSpainElwin Sharvill NEGOTIATION
Emily Q FerenczJapanIvan Magalhaes NEGOTIATION
Maisha N FerenczRussiaIvan Magalhaes NEW
Darci G FerenczJapanElwin Sharvill RENEWAL
Claire Q SchemmerBrazilAnna Fali RENEWAL
Leja K FigeroaFranceIoni Bowcher NEW
Octavia K ButtCanadaOnyama Limba RENEWAL
Sinclair J CampainCanadaXuxue Feng NEGOTIATION
Chavez B FlosiRussiaElwin Sharvill RENEWAL
Maria N StockhamCanadaElwin Sharvill NEGOTIATION
Chavez T FigeroaJapanOnyama Limba PROPOSAL
Izzy E ChuiSpainOnyama Limba UNQUALIFIED
Aditya G NestleArgentinaAnna Fali QUALIFIED
Misaki U BowleyItalyElwin Sharvill PROPOSAL
Julie Z FigeroaBrazilBernardo Dominic RENEWAL
Johnson Q SaylorsBrazilIoni Bowcher RENEWAL
Aditya K SergiBrazilIoni Bowcher NEGOTIATION
Chavez Y BriddickGermanyBernardo Dominic PROPOSAL
Deepesh N StensethAustraliaXuxue Feng RENEWAL
Maisha F VocelkaRussiaOnyama Limba NEW
Leja Z MaletUnited KingdomOnyama Limba UNQUALIFIED
Adams O SlusarskiBrazilAmy Elsner NEW
Aruna V OldroydBrazilStephen Shaw NEW
Chavez S CampainAustraliaElwin Sharvill QUALIFIED
Johnson X OstroskyRussiaElwin Sharvill NEW
Julie F MarrierFranceAsiya Javayant RENEWAL
Leon R WhobreyCanadaXuxue Feng NEGOTIATION
Kadeem P InouyeRussiaAmy Elsner UNQUALIFIED
Jeanfrancois R RoysterIndiaStephen Shaw PROPOSAL
Stacey P GauchoAustraliaBernardo Dominic PROPOSAL
Aruna M StockhamFranceIvan Magalhaes UNQUALIFIED
Wickens W WaycottRussiaOnyama Limba QUALIFIED
Salvatore E WieserRussiaIoni Bowcher RENEWAL
Morrow K OstroskyCanadaAnna Fali QUALIFIED
Francesco D DarakjyItalyXuxue Feng QUALIFIED
Leon P GlickFranceAmy Elsner RENEWAL
Jennifer G VenereCanadaAmy Elsner RENEWAL
Ricardo Z RutaAustraliaAmy Elsner NEW
Murillo H DilliardFranceAmy Elsner RENEWAL
Maria S VocelkaItalyElwin Sharvill 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>