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
Jeanfrancois F PerinBrazilOnyama Limba PROPOSAL
Johnson W AmigonItalyAnna Fali NEW
Deepesh Z FlosiJapanAnna Fali QUALIFIED
Mayumi A CampainRussiaAmy Elsner NEW
Maria X VenereAustraliaIvan Magalhaes UNQUALIFIED
Mayumi P WieserRussiaAsiya Javayant NEGOTIATION
Mujtaba L OldroydBrazilAsiya Javayant QUALIFIED
Clifford A SergiFranceAmy Elsner NEGOTIATION
Arvin Q BologniaIndiaIoni Bowcher UNQUALIFIED
Rodrigues M PerinArgentinaOnyama Limba QUALIFIED
Rodrigues Q GillianUnited KingdomAmy Elsner NEGOTIATION
Faith M IturbideArgentinaXuxue Feng UNQUALIFIED
Aruna Y CaldareraCanadaAsiya Javayant NEW
Stacey K BowleyBrazilAnna Fali PROPOSAL
Alejandro E RutaFranceStephen Shaw UNQUALIFIED
Stacey I GlickAustraliaStephen Shaw RENEWAL
Emily Q IturbideGermanyIvan Magalhaes PROPOSAL
Silvio O ButtItalyXuxue Feng UNQUALIFIED
Sinclair O BriddickCanadaElwin Sharvill NEGOTIATION
Deepesh L StockhamArgentinaStephen Shaw NEW
Antonio U OldroydIndiaAnna Fali NEGOTIATION
Smith Y PerinBrazilStephen Shaw UNQUALIFIED
Octavia V MaletBrazilStephen Shaw RENEWAL
Jefferson F PaprockiAustraliaIoni Bowcher NEW
Arvin B IturbideSpainIoni Bowcher NEW
Wickens G ShinkoRussiaBernardo Dominic QUALIFIED
Ashley Z KolmetzFranceStephen Shaw UNQUALIFIED
Jeanfrancois I BologniaGermanyStephen Shaw UNQUALIFIED
Stacey F MaletJapanIvan Magalhaes QUALIFIED
Darci Y GarufiRussiaOnyama Limba RENEWAL
Juan S RutaIndiaAsiya Javayant RENEWAL
Aruna X VenereItalyAmy Elsner RENEWAL
Rodrigues P CaudyJapanStephen Shaw UNQUALIFIED
Misaki P KuskoJapanElwin Sharvill RENEWAL
Leja Q MacleadCanadaStephen Shaw PROPOSAL
Salvatore N VenereRussiaOnyama Limba NEGOTIATION
Stacey E DoeIndiaElwin Sharvill RENEWAL
Francesco O WieserJapanAmy Elsner UNQUALIFIED
Tony L AlbaresSpainBernardo Dominic QUALIFIED
Isabel B OstroskyFranceXuxue Feng UNQUALIFIED
Aditya U RimCanadaStephen Shaw NEGOTIATION
James U NickaArgentinaAsiya Javayant RENEWAL
Murillo M NickaBrazilElwin Sharvill QUALIFIED
Francesco F InouyeCanadaAsiya Javayant PROPOSAL
James I IturbideGermanyAnna Fali NEGOTIATION
Kadeem M DarakjyAustraliaAsiya Javayant UNQUALIFIED
Emily D StockhamIndiaAsiya Javayant PROPOSAL
Cody Y PoquetteUnited KingdomAsiya Javayant PROPOSAL
Smith P IturbideRussiaAnna Fali RENEWAL
Juan S NickaJapanElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire Y BologniaArgentinaXuxue Feng NEW
Isabel V OstroskyJapanIoni Bowcher RENEWAL
Alejandro S AlbaresCanadaAnna Fali PROPOSAL
Tony F GauchoAustraliaIvan Magalhaes UNQUALIFIED
Silvio V OldroydCanadaAmy Elsner NEGOTIATION
Rodrigues U KolmetzUnited KingdomAmy Elsner NEW
Silvio C CampainCanadaElwin Sharvill NEW
Cody O BriddickSpainAsiya Javayant NEGOTIATION
Jones J RoysterRussiaXuxue Feng PROPOSAL
Greenwood L MorascaItalyElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones H DoeRussia2024-05-30Truhlar And Truhlar Attys RENEWAL72Ivan Magalhaes
1001Silvio C GarufiFrance2024-05-14Morlong Associates PROPOSAL86Anna Fali
1002Kaitlin E BriddickItaly2024-05-16Chapman, Ross E Esq UNQUALIFIED78Ioni Bowcher
1003David V InouyeCanada2024-05-08Feltz Printing Service PROPOSAL42Xuxue Feng
1004Leon D NickaJapan2024-05-07Chemel, James L Cpa NEW83Xuxue Feng
1005Cody J TollnerFrance2024-05-13Chanay, Jeffrey A Esq PROPOSAL22Xuxue Feng
1006Julie D PerinJapan2024-05-16Chapman, Ross E Esq PROPOSAL92Onyama Limba
1007Leon M GillianBrazil2024-05-28Printing Dimensions QUALIFIED4Elwin Sharvill
1008Deepesh A AlbaresSpain2024-05-19Benton, John B Jr RENEWAL29Stephen Shaw
1009Greenwood W FollerUnited Kingdom2024-06-03Printing Dimensions RENEWAL54Asiya Javayant
1010Nicolas E MorascaCanada2024-05-10King, Christopher A Esq RENEWAL5Asiya Javayant
1011Isabel W AlbaresBrazil2024-05-12Feiner Bros QUALIFIED0Onyama Limba
1012Kaitlin M VocelkaArgentina2024-06-01Truhlar And Truhlar Attys PROPOSAL16Xuxue Feng
1013Jeanfrancois E DarakjyUnited Kingdom2024-05-16Chemel, James L Cpa UNQUALIFIED10Asiya Javayant
1014Smith A GarufiUnited Kingdom2024-05-24Rangoni Of Florence UNQUALIFIED2Amy Elsner
1015Ricardo P RimJapan2024-05-29Feltz Printing Service RENEWAL97Elwin Sharvill
1016Salvatore V IturbideUnited Kingdom2024-05-09Benton, John B Jr RENEWAL88Asiya Javayant
1017Johnson K FigeroaArgentina2024-05-28Rousseaux, Michael Esq QUALIFIED15Elwin Sharvill
1018Claire A StockhamCanada2024-05-24Chemel, James L Cpa NEW98Amy Elsner
1019Leja U OldroydItaly2024-05-24Morlong Associates NEGOTIATION49Ivan Magalhaes
1020Adams Q BologniaRussia2024-05-14Chanay, Jeffrey A Esq QUALIFIED97Asiya Javayant
1021Claire D SaylorsFrance2024-05-28Truhlar And Truhlar Attys PROPOSAL51Onyama Limba
1022Darci Q CampainBrazil2024-05-28Rousseaux, Michael Esq UNQUALIFIED73Bernardo Dominic
1023Izzy N SchemmerItaly2024-05-24Morlong Associates NEW71Anna Fali
1024Misaki N PaprockiItaly2024-05-25Truhlar And Truhlar Attys QUALIFIED63Onyama Limba
1025Rodrigues T FerenczJapan2024-05-17Benton, John B Jr PROPOSAL92Ivan Magalhaes
1026Murillo G WieserSpain2024-05-24Truhlar And Truhlar Attys NEW98Bernardo Dominic
1027Wickens U InouyeUnited Kingdom2024-05-16Dorl, James J Esq NEW13Xuxue Feng
1028Sinclair D FerenczCanada2024-05-28Feiner Bros NEGOTIATION90Xuxue Feng
1029Claire A NickaBrazil2024-05-15Feltz Printing Service UNQUALIFIED76Anna Fali
1030Maisha U RoysterIndia2024-05-31Chemel, James L Cpa QUALIFIED98Stephen Shaw
1031Maisha Q DoeCanada2024-05-14Chemel, James L Cpa UNQUALIFIED43Stephen Shaw
1032Rodrigues W WieserFrance2024-05-08Chapman, Ross E Esq NEW22Elwin Sharvill
1033Mayumi K KolmetzRussia2024-05-17Printing Dimensions NEGOTIATION90Bernardo Dominic
1034Cody T SchemmerSpain2024-05-17Feltz Printing Service NEW21Elwin Sharvill
1035Adams A PerinAustralia2024-05-22Commercial Press UNQUALIFIED70Anna Fali
1036Morrow V AlbaresFrance2024-05-11Chemel, James L Cpa QUALIFIED0Ivan Magalhaes
1037Smith Q InouyeFrance2024-05-25Chemel, James L Cpa QUALIFIED77Onyama Limba
1038Kaitlin P GauchoItaly2024-06-02Benton, John B Jr PROPOSAL63Elwin Sharvill
1039Deepesh C FollerRussia2024-05-21Chapman, Ross E Esq UNQUALIFIED3Anna Fali
1040Sinclair B StensethAustralia2024-05-05Chapman, Ross E Esq QUALIFIED71Elwin Sharvill
1041Aditya W PerinGermany2024-05-21Truhlar And Truhlar Attys PROPOSAL4Elwin Sharvill
1042Deepesh M SlusarskiGermany2024-05-17Printing Dimensions QUALIFIED76Ioni Bowcher
1043Kadeem Z IturbideGermany2024-05-22Commercial Press RENEWAL50Ivan Magalhaes
1044Aditya T PerinArgentina2024-05-29Dorl, James J Esq PROPOSAL92Onyama Limba
1045Darci R IturbideArgentina2024-05-27Feltz Printing Service NEW54Asiya Javayant
1046Nicolas C BowleyGermany2024-06-02Chemel, James L Cpa NEGOTIATION11Stephen Shaw
1047Darci Y DarakjyRussia2024-06-03Printing Dimensions QUALIFIED52Onyama Limba
1048Ivar S SergiFrance2024-05-25Rousseaux, Michael Esq QUALIFIED76Onyama Limba
1049Misaki L MarrierAustralia2024-05-16Morlong Associates NEGOTIATION45Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Morrow B RutaRussiaAmy Elsner PROPOSAL
Darci R VenereUnited KingdomAnna Fali NEW
Mujtaba V BologniaAustraliaOnyama Limba QUALIFIED
Chavez E DoeUnited KingdomStephen Shaw NEGOTIATION
Ashley Y WaycottCanadaAsiya Javayant UNQUALIFIED
Izzy G AmigonItalyElwin Sharvill RENEWAL
Maisha E MaletJapanBernardo Dominic PROPOSAL
Jennifer L GlickJapanIoni Bowcher QUALIFIED
Maria Z PoquetteIndiaElwin Sharvill UNQUALIFIED
Maria F BowleyRussiaIoni Bowcher NEW
Silvio X BowleyArgentinaStephen Shaw NEW
Stacey P CaudyBrazilAnna Fali QUALIFIED
Ivar S RulapaughIndiaIvan Magalhaes UNQUALIFIED
Izzy D CaudyArgentinaIvan Magalhaes RENEWAL
Jeanfrancois Y SchemmerIndiaXuxue Feng PROPOSAL
Jones N AlbaresRussiaXuxue Feng UNQUALIFIED
Murillo W DarakjySpainOnyama Limba QUALIFIED
Sinclair C CaldareraJapanOnyama Limba NEW
Arvin T FlosiGermanyIvan Magalhaes NEW
Julie S MaletBrazilXuxue Feng NEW
Francesco G RulapaughSpainBernardo Dominic PROPOSAL
Aruna R AmigonGermanyIvan Magalhaes NEGOTIATION
Mayumi E CampainIndiaBernardo Dominic UNQUALIFIED
Leon D BowleyGermanyAnna Fali QUALIFIED
Nicolas E MaletCanadaBernardo Dominic UNQUALIFIED
Claire I VenereJapanBernardo Dominic UNQUALIFIED
Costa B NestleSpainIoni Bowcher PROPOSAL
Greenwood F VenereSpainAsiya Javayant NEW
Cody F DarakjySpainIoni Bowcher PROPOSAL
Silvio E StockhamGermanyAnna Fali QUALIFIED
Arvin A InouyeAustraliaAnna Fali RENEWAL
Aika S CaldareraSpainStephen Shaw NEW
Ricardo B VenereAustraliaXuxue Feng QUALIFIED
Aruna E RimGermanyAsiya Javayant RENEWAL
Arvin T VocelkaGermanyAsiya Javayant UNQUALIFIED
Darci K MorascaUnited KingdomStephen Shaw NEGOTIATION
Isabel C InouyeAustraliaBernardo Dominic PROPOSAL
Munro C WieserUnited KingdomBernardo Dominic NEW
Faith N SchemmerBrazilStephen Shaw PROPOSAL
Smith K TollnerCanadaAmy Elsner NEGOTIATION
Stacey E RoysterJapanBernardo Dominic QUALIFIED
Greenwood P CampainUnited KingdomElwin Sharvill UNQUALIFIED
Aika D ShinkoCanadaXuxue Feng PROPOSAL
Isabel D GauchoFranceStephen Shaw QUALIFIED
Antonio V KolmetzBrazilOnyama Limba NEGOTIATION
Nicolas L RimCanadaAnna Fali QUALIFIED
Aika I FollerBrazilElwin Sharvill UNQUALIFIED
Sinclair C RutaUnited KingdomAmy Elsner QUALIFIED
Costa R TollnerGermanyAsiya Javayant QUALIFIED
Octavia V PaprockiAustraliaOnyama Limba NEW
Frozen Columns
Name
Aruna W Caudy
Izzy C Kusko
Tony C Saylors
Octavia R Malet
Maisha N Darakjy
Octavia G Figeroa
Izzy Y Poquette
Clifford K Glick
Smith F Nicka
Ivar W Dilliard
Juan A Paprocki
Ricardo O Flosi
Octavia G Garufi
Smith R Campain
Francesco E Bolognia
Tony Z Waycott
Smith K Ferencz
Chavez U Butt
Kaitlin C Bowley
Nicolas A Marrier
Johnson W Amigon
Sinclair M Caldarera
Mayumi E Chui
Aruna J Saylors
Mayumi S Bolognia
Julie F Ostrosky
Francesco K Perin
Izzy Y Shinko
Cody F Butt
Mujtaba M Bolognia
Francesco W Ferencz
Kadeem P Amigon
Jeanfrancois A Caudy
Francesco M Kolmetz
Julie V Darakjy
Deepesh L Iturbide
Salvatore P Gillian
Ivar V Paprocki
Nicolas A Ferencz
Leja F Amigon
Misaki G Flosi
Greenwood I Ferencz
Costa T Waycott
Stacey N Gillian
Leja D Slusarski
Maisha H Sergi
Faith A Caldarera
Jennifer Z Garufi
Wickens J Stenseth
James X Figeroa
IdCountryDate
1000Brazil2024-05-27
1001Germany2024-05-14
1002Australia2024-06-01
1003Brazil2024-05-26
1004France2024-05-08
1005India2024-05-05
1006Russia2024-05-20
1007Italy2024-06-03
1008Argentina2024-05-19
1009Japan2024-05-19
1010United Kingdom2024-05-20
1011Japan2024-05-13
1012Germany2024-05-12
1013India2024-05-22
1014Germany2024-05-12
1015India2024-05-05
1016Argentina2024-05-27
1017Russia2024-05-12
1018United Kingdom2024-06-03
1019Canada2024-05-09
1020Russia2024-05-13
1021Brazil2024-05-10
1022Italy2024-05-30
1023Brazil2024-05-19
1024India2024-06-01
1025Australia2024-05-13
1026Australia2024-05-26
1027Italy2024-05-07
1028Spain2024-05-09
1029Argentina2024-05-16
1030Canada2024-05-08
1031United Kingdom2024-05-25
1032France2024-05-17
1033Germany2024-05-18
1034Germany2024-05-30
1035India2024-05-17
1036Argentina2024-05-25
1037Japan2024-05-17
1038Spain2024-05-09
1039Brazil2024-05-16
1040Argentina2024-05-24
1041Germany2024-05-31
1042Argentina2024-05-05
1043Argentina2024-05-14
1044Australia2024-06-03
1045Japan2024-05-07
1046Argentina2024-05-31
1047Japan2024-05-22
1048Spain2024-05-31
1049Japan2024-05-28

On-Demand Data

NameIdCountryDate
Izzy W Rulapaugh1000Italy2024-05-08
Octavia Q Malet1001Australia2024-05-31
Jeanfrancois I Campain1002Russia2024-06-02
Emily Z Flosi1003France2024-05-25
Jeanfrancois K Bolognia1004France2024-05-30
Misaki I Bowley1005Australia2024-05-21
Tony A Inouye1006Spain2024-05-29
Tony J Slusarski1007Australia2024-05-23
Adams Q Kolmetz1008United Kingdom2024-05-18
Alejandro I Doe1009Italy2024-05-14
Faith P Butt1010Spain2024-05-31
Faith B Sergi1011Argentina2024-05-25
Leon X Bolognia1012Spain2024-05-05
Costa B Schemmer1013Japan2024-05-21
Ricardo O Malet1014Spain2024-05-30
Munro G Malet1015Brazil2024-05-17
Claire S Poquette1016Russia2024-06-01
Antonio Q Caudy1017Italy2024-05-16
Aika P Ruta1018Brazil2024-05-26
Smith R Figeroa1019France2024-05-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie G KolmetzJapanXuxue Feng NEW
Adams L TollnerIndiaElwin Sharvill PROPOSAL
Jennifer N PaprockiJapanAnna Fali NEW
Antonio K SergiIndiaIvan Magalhaes PROPOSAL
Arvin B MaletItalyStephen Shaw NEW
Mujtaba P NickaIndiaXuxue Feng RENEWAL
Costa D MarrierCanadaIoni Bowcher QUALIFIED
Costa K FigeroaSpainStephen Shaw NEW
Ashley G MorascaBrazilAmy Elsner QUALIFIED
Leon B IturbideIndiaIvan Magalhaes PROPOSAL
Nicolas R ShinkoUnited KingdomIoni Bowcher NEGOTIATION
Emily O MarrierRussiaElwin Sharvill RENEWAL
Mujtaba J BriddickUnited KingdomElwin Sharvill NEW
Julie D GauchoRussiaAmy Elsner QUALIFIED
Ivar G BologniaFranceAsiya Javayant NEW
Jones W PerinFranceBernardo Dominic UNQUALIFIED
Johnson H WaycottGermanyAnna Fali RENEWAL
Smith S DilliardGermanyXuxue Feng UNQUALIFIED
Jefferson I ChuiGermanyAmy Elsner NEW
Ivar A GauchoSpainStephen Shaw RENEWAL
Izzy Y NickaBrazilXuxue Feng RENEWAL
Alejandro B CaldareraGermanyIvan Magalhaes PROPOSAL
Jeanfrancois M TollnerFranceIoni Bowcher QUALIFIED
Greenwood K AlbaresGermanyBernardo Dominic PROPOSAL
Jennifer Y WhobreyAustraliaIoni Bowcher QUALIFIED
David Z FlosiArgentinaIvan Magalhaes UNQUALIFIED
Greenwood M BowleyGermanyIvan Magalhaes PROPOSAL
James C FlosiRussiaAsiya Javayant RENEWAL
Munro E MarrierIndiaXuxue Feng NEW
Ricardo D KolmetzJapanStephen Shaw PROPOSAL
Juan E GillianArgentinaBernardo Dominic UNQUALIFIED
Sinclair X AmigonJapanStephen Shaw RENEWAL
Rodrigues J VocelkaIndiaXuxue Feng QUALIFIED
Greenwood C DilliardBrazilXuxue Feng NEGOTIATION
Alejandro U FlosiAustraliaIoni Bowcher NEGOTIATION
Emily Z DoeItalyStephen Shaw RENEWAL
Izzy P IturbideItalyElwin Sharvill QUALIFIED
Mujtaba C SergiArgentinaStephen Shaw RENEWAL
Nicolas P StockhamCanadaAsiya Javayant RENEWAL
Ricardo H GarufiFranceAsiya Javayant UNQUALIFIED

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