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
Nicolas L MorascaAustraliaAsiya Javayant NEGOTIATION
Maria W OstroskyBrazilAmy Elsner UNQUALIFIED
Murillo P MaletJapanBernardo Dominic NEW
Darci O DilliardCanadaBernardo Dominic NEW
Leja A NestleSpainOnyama Limba NEGOTIATION
Alejandro S MaletIndiaOnyama Limba RENEWAL
Jefferson Y BowleyArgentinaStephen Shaw RENEWAL
Tony I FollerJapanIvan Magalhaes UNQUALIFIED
Jeanfrancois W DarakjyBrazilAnna Fali UNQUALIFIED
Jefferson Z PerinJapanAsiya Javayant PROPOSAL
Mayumi P IturbideFranceAnna Fali RENEWAL
Jones K TollnerItalyBernardo Dominic NEW
Julie E WaycottBrazilStephen Shaw PROPOSAL
Aika E MaletCanadaAnna Fali NEW
Antonio V GillianBrazilAnna Fali QUALIFIED
Kadeem Y GillianBrazilAmy Elsner NEW
Rodrigues G StockhamGermanyXuxue Feng QUALIFIED
Adams C AlbaresAustraliaAnna Fali UNQUALIFIED
Ivar Q BologniaSpainBernardo Dominic UNQUALIFIED
Aditya J SchemmerIndiaStephen Shaw QUALIFIED
Aruna T KuskoSpainAmy Elsner UNQUALIFIED
Mayumi G InouyeJapanIoni Bowcher UNQUALIFIED
Mayumi R KolmetzIndiaIoni Bowcher NEGOTIATION
Chavez W WhobreyUnited KingdomAmy Elsner UNQUALIFIED
Emily C MacleadAustraliaAnna Fali NEGOTIATION
Nicolas W ShinkoSpainElwin Sharvill NEGOTIATION
Misaki M RimJapanIvan Magalhaes NEW
Murillo S AmigonSpainStephen Shaw QUALIFIED
Claire B PaprockiAustraliaBernardo Dominic UNQUALIFIED
Maria U DilliardItalyIoni Bowcher PROPOSAL
Izzy L DarakjyAustraliaAmy Elsner PROPOSAL
Stacey V GlickIndiaIvan Magalhaes NEGOTIATION
Mujtaba F SergiJapanElwin Sharvill UNQUALIFIED
Costa B PaprockiUnited KingdomElwin Sharvill PROPOSAL
Claire H BriddickUnited KingdomAnna Fali UNQUALIFIED
Morrow A DilliardRussiaIoni Bowcher RENEWAL
Sinclair O ChuiGermanyStephen Shaw UNQUALIFIED
Salvatore Z WieserFranceElwin Sharvill NEW
Adams Q DarakjyIndiaIvan Magalhaes PROPOSAL
David W TollnerBrazilBernardo Dominic NEW
Silvio H RutaArgentinaElwin Sharvill QUALIFIED
Leon X StockhamGermanyXuxue Feng RENEWAL
Nicolas L RoysterCanadaBernardo Dominic NEW
Maria B ChuiJapanIoni Bowcher RENEWAL
Antonio B KolmetzRussiaBernardo Dominic PROPOSAL
Izzy Z GillianItalyElwin Sharvill PROPOSAL
Kaitlin U OstroskyItalyXuxue Feng QUALIFIED
Jefferson U AmigonArgentinaBernardo Dominic PROPOSAL
Chavez U MaletGermanyIvan Magalhaes NEW
Jeanfrancois Y GarufiCanadaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leja M PaprockiSpainStephen Shaw RENEWAL
Maria T ChuiBrazilIoni Bowcher RENEWAL
Izzy E VocelkaIndiaXuxue Feng PROPOSAL
Octavia P KolmetzSpainBernardo Dominic RENEWAL
Murillo N SaylorsCanadaOnyama Limba QUALIFIED
Ashley N ButtAustraliaAnna Fali QUALIFIED
Greenwood K BologniaIndiaElwin Sharvill NEW
Sinclair C SaylorsSpainIvan Magalhaes NEGOTIATION
Isabel U FlosiUnited KingdomStephen Shaw NEW
Tony H MarrierCanadaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair K BriddickItaly2024-05-29King, Christopher A Esq NEW97Onyama Limba
1001Clifford R DarakjyAustralia2024-06-18Feiner Bros PROPOSAL73Onyama Limba
1002Stacey F SlusarskiFrance2024-06-11Benton, John B Jr NEW69Asiya Javayant
1003Kadeem A WieserBrazil2024-06-07Benton, John B Jr UNQUALIFIED79Xuxue Feng
1004Aika T OstroskyUnited Kingdom2024-05-30Chapman, Ross E Esq RENEWAL95Onyama Limba
1005Murillo C WaycottFrance2024-06-24Commercial Press UNQUALIFIED5Anna Fali
1006Ivar F CampainIndia2024-06-01Buckley Miller Wright NEW67Elwin Sharvill
1007Greenwood O MacleadFrance2024-06-09Buckley Miller Wright PROPOSAL97Onyama Limba
1008Adams E InouyeItaly2024-06-10Morlong Associates UNQUALIFIED83Stephen Shaw
1009Mayumi D RoysterJapan2024-06-12Chemel, James L Cpa NEGOTIATION40Elwin Sharvill
1010Chavez O OldroydSpain2024-06-15Rousseaux, Michael Esq UNQUALIFIED6Elwin Sharvill
1011Leja M MarrierFrance2024-06-23Morlong Associates UNQUALIFIED63Bernardo Dominic
1012Salvatore B SergiJapan2024-06-13Feltz Printing Service NEW79Anna Fali
1013Emily D VenereSpain2024-06-04Truhlar And Truhlar Attys RENEWAL68Stephen Shaw
1014Faith K DilliardCanada2024-06-13Commercial Press NEW61Asiya Javayant
1015Ashley S AmigonBrazil2024-06-08Chapman, Ross E Esq PROPOSAL70Amy Elsner
1016Jefferson I PoquetteItaly2024-06-07Morlong Associates UNQUALIFIED5Ivan Magalhaes
1017Antonio S FollerSpain2024-06-02Feltz Printing Service NEGOTIATION30Xuxue Feng
1018Nicolas U DilliardSpain2024-06-23Chanay, Jeffrey A Esq RENEWAL80Onyama Limba
1019David T MacleadSpain2024-06-19Feiner Bros NEGOTIATION57Onyama Limba
1020Cody R WieserJapan2024-06-02Commercial Press NEGOTIATION20Bernardo Dominic
1021Aruna K GarufiRussia2024-06-20Rousseaux, Michael Esq RENEWAL79Stephen Shaw
1022David M GillianCanada2024-06-03Chanay, Jeffrey A Esq RENEWAL42Ioni Bowcher
1023Jennifer B MaletGermany2024-06-14Buckley Miller Wright RENEWAL89Elwin Sharvill
1024Rodrigues H ButtBrazil2024-06-12Chapman, Ross E Esq UNQUALIFIED80Elwin Sharvill
1025Mayumi V KuskoRussia2024-05-27Printing Dimensions UNQUALIFIED25Stephen Shaw
1026Ricardo W ChuiSpain2024-06-11Morlong Associates NEGOTIATION67Amy Elsner
1027Francesco O StockhamUnited Kingdom2024-06-20Chemel, James L Cpa QUALIFIED30Bernardo Dominic
1028Isabel J PerinRussia2024-05-27King, Christopher A Esq RENEWAL88Xuxue Feng
1029Murillo Z NickaBrazil2024-06-01Feltz Printing Service NEGOTIATION34Ioni Bowcher
1030Johnson P AmigonIndia2024-06-24Rousseaux, Michael Esq NEGOTIATION3Ioni Bowcher
1031Cody L CampainItaly2024-06-18Chemel, James L Cpa RENEWAL93Elwin Sharvill
1032Costa J InouyeItaly2024-06-02Dorl, James J Esq QUALIFIED50Asiya Javayant
1033Darci B BowleyRussia2024-06-01Rousseaux, Michael Esq NEW83Ivan Magalhaes
1034Jennifer O StensethRussia2024-06-16King, Christopher A Esq NEGOTIATION5Ivan Magalhaes
1035Salvatore M CampainSpain2024-06-11Dorl, James J Esq RENEWAL8Bernardo Dominic
1036Silvio T KolmetzGermany2024-06-08Rousseaux, Michael Esq QUALIFIED81Ivan Magalhaes
1037Mayumi A KuskoSpain2024-06-04Dorl, James J Esq UNQUALIFIED70Elwin Sharvill
1038Antonio W StensethFrance2024-06-06Truhlar And Truhlar Attys RENEWAL77Ioni Bowcher
1039Ricardo W CampainSpain2024-06-07Truhlar And Truhlar Attys UNQUALIFIED54Ioni Bowcher
1040Arvin E FerenczGermany2024-06-22Buckley Miller Wright NEW48Asiya Javayant
1041Alejandro S SchemmerGermany2024-06-02Printing Dimensions NEGOTIATION35Anna Fali
1042Ashley G GarufiSpain2024-06-18Rousseaux, Michael Esq PROPOSAL38Asiya Javayant
1043Jennifer M FollerCanada2024-06-08Rangoni Of Florence QUALIFIED16Ivan Magalhaes
1044Morrow B SaylorsFrance2024-06-18Truhlar And Truhlar Attys RENEWAL9Stephen Shaw
1045Murillo M FollerItaly2024-06-12Benton, John B Jr RENEWAL2Bernardo Dominic
1046Mayumi K WhobreySpain2024-06-10Feltz Printing Service PROPOSAL58Anna Fali
1047Faith Q FigeroaJapan2024-05-27Feiner Bros PROPOSAL53Ivan Magalhaes
1048Antonio H FigeroaArgentina2024-06-14Buckley Miller Wright RENEWAL83Ivan Magalhaes
1049Julie B MacleadAustralia2024-06-11Morlong Associates UNQUALIFIED93Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Darci L CaldareraSpainIvan Magalhaes QUALIFIED
Leja O ShinkoRussiaAmy Elsner QUALIFIED
Juan M CaldareraJapanXuxue Feng RENEWAL
Francesco L WhobreyGermanyOnyama Limba UNQUALIFIED
Mayumi Q OldroydItalyAmy Elsner NEGOTIATION
Ashley S PaprockiArgentinaIoni Bowcher NEGOTIATION
Ricardo M IturbideGermanyAsiya Javayant UNQUALIFIED
Kadeem J GlickRussiaStephen Shaw NEW
Chavez I PoquetteGermanyAmy Elsner RENEWAL
Isabel R DarakjyFranceXuxue Feng NEW
Maria R BologniaGermanyAnna Fali NEGOTIATION
Francesco S TollnerSpainXuxue Feng PROPOSAL
Nicolas C RulapaughCanadaOnyama Limba QUALIFIED
Rodrigues Q ButtUnited KingdomIvan Magalhaes PROPOSAL
Stacey C AlbaresAustraliaAmy Elsner NEW
Rodrigues D BowleyGermanyAsiya Javayant RENEWAL
Costa B RutaBrazilElwin Sharvill UNQUALIFIED
Costa N MacleadBrazilIvan Magalhaes UNQUALIFIED
Silvio N GauchoCanadaElwin Sharvill NEGOTIATION
Deepesh O GlickCanadaIoni Bowcher RENEWAL
Francesco L RimSpainXuxue Feng QUALIFIED
Wickens R KolmetzItalyAmy Elsner QUALIFIED
Nicolas F GlickJapanIvan Magalhaes PROPOSAL
Francesco F VenereGermanyOnyama Limba RENEWAL
Adams R MacleadIndiaBernardo Dominic UNQUALIFIED
Kadeem O MorascaGermanyIvan Magalhaes RENEWAL
Alejandro J WaycottUnited KingdomOnyama Limba NEGOTIATION
Faith L GarufiIndiaIvan Magalhaes NEGOTIATION
Izzy G FigeroaRussiaAsiya Javayant UNQUALIFIED
Tony N TollnerArgentinaElwin Sharvill NEW
Ashley C CaldareraJapanIoni Bowcher PROPOSAL
Arvin I GauchoItalyIoni Bowcher PROPOSAL
Ashley J SlusarskiFranceXuxue Feng NEGOTIATION
Rodrigues W MaletArgentinaAnna Fali NEW
Jones E KuskoBrazilElwin Sharvill PROPOSAL
Darci B CaudyIndiaAmy Elsner NEW
Aditya K GillianGermanyBernardo Dominic NEGOTIATION
Emily B PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Munro M NickaAustraliaIvan Magalhaes RENEWAL
Alejandro A RutaGermanyElwin Sharvill UNQUALIFIED
Ashley G RulapaughArgentinaAmy Elsner PROPOSAL
Jennifer T FollerBrazilAsiya Javayant PROPOSAL
Misaki C StockhamGermanyIvan Magalhaes PROPOSAL
Aruna L ChuiFranceAsiya Javayant PROPOSAL
Munro V AmigonIndiaIvan Magalhaes UNQUALIFIED
Nicolas Y InouyeArgentinaStephen Shaw RENEWAL
Stacey A PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Johnson H MacleadArgentinaXuxue Feng UNQUALIFIED
Julie M BologniaRussiaXuxue Feng NEW
Cody D GarufiBrazilAnna Fali RENEWAL
Frozen Columns
Name
Wickens F Kusko
Misaki V Malet
Ivar X Perin
Maria P Rulapaugh
Ricardo E Marrier
Emily Z Waycott
Arvin M Ferencz
Mayumi C Glick
Silvio E Campain
Aruna O Chui
Chavez H Royster
Tony B Malet
Munro B Saylors
David N Doe
Maisha J Schemmer
Salvatore P Venere
Munro U Campain
Jones V Foller
Ashley U Slusarski
Deepesh U Slusarski
Ashley E Stenseth
Alejandro N Bowley
Adams E Nicka
Jefferson A Ferencz
Mayumi O Butt
Arvin X Marrier
Francesco U Oldroyd
Ricardo F Nestle
Aditya M Amigon
Deepesh G Rulapaugh
Jeanfrancois M Perin
Chavez V Maclead
Leon I Malet
Mayumi U Nestle
Jones E Ostrosky
Silvio U Glick
Leja D Doe
Nicolas G Bowley
Antonio J Caldarera
Kaitlin D Morasca
Aditya L Iturbide
Leja R Nicka
Smith Z Foller
Silvio S Amigon
Emily X Royster
Octavia I Saylors
Clifford L Venere
Nicolas U Briddick
Jeanfrancois V Perin
Kadeem M Malet
IdCountryDate
1000France2024-06-03
1001Brazil2024-06-15
1002Argentina2024-05-29
1003United Kingdom2024-06-02
1004France2024-06-08
1005France2024-06-10
1006India2024-06-09
1007Italy2024-06-05
1008Italy2024-06-13
1009Germany2024-06-02
1010France2024-06-22
1011Brazil2024-06-10
1012France2024-05-28
1013Spain2024-05-28
1014Argentina2024-06-05
1015Russia2024-05-27
1016Russia2024-06-13
1017United Kingdom2024-06-13
1018France2024-05-30
1019Brazil2024-06-09
1020United Kingdom2024-06-22
1021Canada2024-05-26
1022Spain2024-06-06
1023Canada2024-06-22
1024Argentina2024-06-20
1025Canada2024-06-18
1026Germany2024-06-10
1027Germany2024-05-26
1028United Kingdom2024-06-10
1029India2024-06-09
1030Australia2024-06-07
1031Canada2024-05-27
1032Italy2024-06-13
1033Argentina2024-06-16
1034Canada2024-05-31
1035Spain2024-06-23
1036Canada2024-06-23
1037Germany2024-06-06
1038Brazil2024-06-12
1039Brazil2024-06-23
1040Spain2024-06-12
1041France2024-06-18
1042Canada2024-06-16
1043Brazil2024-06-16
1044Germany2024-06-23
1045Argentina2024-06-20
1046Canada2024-05-31
1047Russia2024-06-10
1048France2024-06-10
1049Germany2024-06-24

On-Demand Data

NameIdCountryDate
Emily A Bolognia1000Canada2024-06-13
Antonio N Venere1001France2024-06-18
Maria Z Inouye1002Italy2024-06-21
Salvatore D Kusko1003Canada2024-06-07
Darci G Oldroyd1004Argentina2024-06-14
Juan Y Gaucho1005Australia2024-06-11
Emily J Caldarera1006Australia2024-06-14
Julie W Foller1007India2024-05-29
Johnson E Ferencz1008Russia2024-05-30
Arvin Q Tollner1009Brazil2024-05-28
Alejandro M Caudy1010Italy2024-06-07
Adams S Flosi1011Germany2024-06-03
Aruna M Dilliard1012Argentina2024-06-11
Kadeem L Gaucho1013Spain2024-05-28
David D Inouye1014Russia2024-06-24
Costa R Waycott1015Japan2024-05-26
Claire C Bowley1016Italy2024-05-30
Faith U Tollner1017France2024-05-28
Kadeem T Ferencz1018Spain2024-06-01
Darci A Oldroyd1019India2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo X BologniaUnited KingdomAsiya Javayant QUALIFIED
Deepesh T MarrierArgentinaStephen Shaw RENEWAL
Faith F ChuiIndiaAnna Fali PROPOSAL
Ashley L IturbideUnited KingdomXuxue Feng UNQUALIFIED
Ivar P FollerRussiaOnyama Limba NEW
Smith O BowleyBrazilStephen Shaw UNQUALIFIED
Murillo K ShinkoArgentinaOnyama Limba UNQUALIFIED
Munro W FigeroaAustraliaElwin Sharvill QUALIFIED
Sinclair X WaycottGermanyElwin Sharvill PROPOSAL
Arvin Y RutaUnited KingdomBernardo Dominic NEW
Morrow J FlosiSpainOnyama Limba NEW
Johnson X OstroskyArgentinaXuxue Feng QUALIFIED
Smith C DilliardItalyIoni Bowcher NEGOTIATION
Arvin G MaletAustraliaXuxue Feng NEW
Adams N KuskoIndiaIoni Bowcher QUALIFIED
Munro G MarrierRussiaXuxue Feng NEGOTIATION
Aditya V WhobreyBrazilAnna Fali PROPOSAL
Julie O FlosiAustraliaXuxue Feng PROPOSAL
Greenwood C MorascaSpainBernardo Dominic QUALIFIED
Costa D AmigonFranceBernardo Dominic PROPOSAL
Francesco J VocelkaAustraliaBernardo Dominic RENEWAL
Aika K CampainRussiaOnyama Limba RENEWAL
Aika L GauchoGermanyStephen Shaw NEGOTIATION
Maisha H GarufiUnited KingdomOnyama Limba QUALIFIED
Mujtaba E SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Sinclair H PoquetteItalyXuxue Feng UNQUALIFIED
Kaitlin D TollnerJapanIoni Bowcher PROPOSAL
Aruna G PoquetteIndiaAsiya Javayant UNQUALIFIED
Johnson P PaprockiJapanBernardo Dominic NEW
Aika O WaycottSpainOnyama Limba UNQUALIFIED
Deepesh R TollnerItalyAsiya Javayant PROPOSAL
Silvio W FlosiBrazilAmy Elsner NEGOTIATION
Julie X SergiIndiaIoni Bowcher PROPOSAL
Nicolas K RulapaughBrazilAnna Fali RENEWAL
Faith B GillianArgentinaAnna Fali RENEWAL
Smith C GauchoCanadaXuxue Feng NEW
Silvio M CaudySpainAmy Elsner RENEWAL
Aditya Y GauchoBrazilIoni Bowcher NEGOTIATION
Jennifer V WhobreySpainXuxue Feng NEW
Adams J WhobreyUnited KingdomStephen Shaw 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>