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
Cody N AmigonCanadaElwin Sharvill PROPOSAL
Chavez P OldroydUnited KingdomAmy Elsner PROPOSAL
Salvatore B BriddickAustraliaAnna Fali NEGOTIATION
Jeanfrancois U MacleadBrazilIvan Magalhaes PROPOSAL
Leja S RimArgentinaIvan Magalhaes RENEWAL
Costa N SergiCanadaBernardo Dominic UNQUALIFIED
Salvatore P ButtCanadaOnyama Limba PROPOSAL
Tony U MacleadIndiaAsiya Javayant NEW
Deepesh M CampainBrazilXuxue Feng QUALIFIED
Aditya G RutaRussiaAnna Fali PROPOSAL
Aditya F GauchoBrazilIoni Bowcher NEGOTIATION
Ricardo I MaletFranceAsiya Javayant QUALIFIED
Alejandro L MacleadUnited KingdomAnna Fali UNQUALIFIED
Mujtaba B RulapaughItalyStephen Shaw RENEWAL
Tony E FigeroaSpainElwin Sharvill QUALIFIED
Emily C NickaCanadaAnna Fali UNQUALIFIED
Arvin C MorascaJapanAsiya Javayant UNQUALIFIED
Aika W ShinkoIndiaOnyama Limba NEGOTIATION
Salvatore M SaylorsJapanElwin Sharvill NEGOTIATION
David Y OldroydFranceAmy Elsner NEGOTIATION
Murillo P AlbaresFranceStephen Shaw QUALIFIED
Aditya A SlusarskiFranceAnna Fali RENEWAL
Aditya V NestleIndiaBernardo Dominic RENEWAL
Izzy P ChuiCanadaElwin Sharvill NEGOTIATION
Izzy Y CaldareraRussiaIoni Bowcher RENEWAL
Leon E VenereGermanyXuxue Feng NEW
Maisha F ButtBrazilStephen Shaw NEW
Greenwood V MarrierFranceOnyama Limba UNQUALIFIED
Salvatore J ButtFranceElwin Sharvill QUALIFIED
Ivar B KuskoJapanXuxue Feng QUALIFIED
Jennifer M PerinJapanAsiya Javayant NEW
James V PoquetteSpainIoni Bowcher QUALIFIED
Ashley R AmigonCanadaOnyama Limba UNQUALIFIED
Misaki S KolmetzFranceXuxue Feng NEW
Rodrigues T PaprockiIndiaIoni Bowcher UNQUALIFIED
Darci V RimIndiaXuxue Feng NEW
Leon W BowleyIndiaXuxue Feng NEGOTIATION
Kaitlin D SchemmerJapanAsiya Javayant UNQUALIFIED
Maria S MaletArgentinaAmy Elsner QUALIFIED
Emily Q DoeJapanXuxue Feng QUALIFIED
Antonio P OldroydRussiaIoni Bowcher PROPOSAL
Salvatore G MacleadBrazilIvan Magalhaes QUALIFIED
Ivar I VenereAustraliaOnyama Limba PROPOSAL
Claire M MaletGermanyElwin Sharvill NEW
Deepesh D StensethBrazilXuxue Feng NEW
Morrow F BriddickGermanyStephen Shaw UNQUALIFIED
Ricardo X NestleIndiaAmy Elsner RENEWAL
Silvio H OldroydUnited KingdomAmy Elsner PROPOSAL
Salvatore N StockhamItalyStephen Shaw RENEWAL
Jeanfrancois F MaletSpainXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Costa V DoeSpainBernardo Dominic NEGOTIATION
Alejandro L FlosiItalyOnyama Limba QUALIFIED
James F GillianArgentinaStephen Shaw RENEWAL
Chavez J InouyeGermanyAnna Fali RENEWAL
Emily L DilliardFranceIvan Magalhaes NEGOTIATION
Morrow M MarrierGermanyElwin Sharvill UNQUALIFIED
Greenwood T GillianArgentinaOnyama Limba RENEWAL
Ivar J FollerBrazilAnna Fali UNQUALIFIED
Aruna E RoysterCanadaAsiya Javayant RENEWAL
Emily R DoeFranceAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues B VocelkaIndia2024-06-04Feiner Bros RENEWAL11Ioni Bowcher
1001Cody W CampainAustralia2024-06-12Rangoni Of Florence NEGOTIATION65Asiya Javayant
1002Nicolas G SlusarskiCanada2024-05-28Rangoni Of Florence PROPOSAL22Elwin Sharvill
1003Maria J VocelkaFrance2024-06-19Buckley Miller Wright NEGOTIATION90Stephen Shaw
1004Julie H FigeroaFrance2024-05-29Benton, John B Jr QUALIFIED98Onyama Limba
1005Kadeem B FollerCanada2024-05-30Rangoni Of Florence PROPOSAL93Bernardo Dominic
1006Mayumi Y DoeBrazil2024-06-22Benton, John B Jr UNQUALIFIED88Elwin Sharvill
1007Stacey T DilliardBrazil2024-06-14Benton, John B Jr RENEWAL47Xuxue Feng
1008Mayumi P VenereIndia2024-05-26King, Christopher A Esq NEW79Ivan Magalhaes
1009Deepesh X DarakjyJapan2024-06-17Commercial Press UNQUALIFIED52Onyama Limba
1010Kaitlin N PaprockiRussia2024-06-12Printing Dimensions NEW77Stephen Shaw
1011Maisha A FigeroaCanada2024-06-07Benton, John B Jr UNQUALIFIED12Ivan Magalhaes
1012Greenwood I AmigonAustralia2024-06-06Rangoni Of Florence PROPOSAL63Stephen Shaw
1013Chavez U BriddickRussia2024-06-07Chanay, Jeffrey A Esq NEW93Xuxue Feng
1014Arvin P BowleyItaly2024-06-09Rangoni Of Florence NEW67Ivan Magalhaes
1015Alejandro L ShinkoSpain2024-06-04Rousseaux, Michael Esq QUALIFIED19Stephen Shaw
1016Alejandro F RoysterIndia2024-06-01Buckley Miller Wright RENEWAL67Elwin Sharvill
1017Cody B MacleadFrance2024-06-10Printing Dimensions NEW69Elwin Sharvill
1018Deepesh W SergiBrazil2024-05-30Feiner Bros UNQUALIFIED4Asiya Javayant
1019Leon R PerinUnited Kingdom2024-06-04Truhlar And Truhlar Attys RENEWAL1Bernardo Dominic
1020Silvio H MacleadCanada2024-06-14Chapman, Ross E Esq PROPOSAL10Ivan Magalhaes
1021Greenwood D SlusarskiFrance2024-05-29Chemel, James L Cpa QUALIFIED55Anna Fali
1022Deepesh A RimAustralia2024-06-19Rousseaux, Michael Esq PROPOSAL7Stephen Shaw
1023Kadeem Z FerenczItaly2024-05-30Morlong Associates QUALIFIED30Onyama Limba
1024Misaki H PaprockiItaly2024-06-04Feltz Printing Service UNQUALIFIED42Ivan Magalhaes
1025Julie X DarakjyUnited Kingdom2024-06-21King, Christopher A Esq QUALIFIED89Ivan Magalhaes
1026Stacey U SaylorsItaly2024-06-05Printing Dimensions NEGOTIATION99Bernardo Dominic
1027Maria Y WhobreyGermany2024-06-10Buckley Miller Wright RENEWAL36Asiya Javayant
1028Aika Q RimJapan2024-06-03Dorl, James J Esq RENEWAL38Ivan Magalhaes
1029Mayumi S ChuiSpain2024-06-04Feiner Bros PROPOSAL23Anna Fali
1030Deepesh V StockhamUnited Kingdom2024-06-12Dorl, James J Esq PROPOSAL78Xuxue Feng
1031Costa J StensethItaly2024-06-20Commercial Press UNQUALIFIED20Asiya Javayant
1032Aruna M DoeCanada2024-06-10Chemel, James L Cpa NEGOTIATION53Elwin Sharvill
1033Misaki U BriddickUnited Kingdom2024-06-01Feiner Bros QUALIFIED10Stephen Shaw
1034Arvin U GillianJapan2024-06-22Rangoni Of Florence RENEWAL6Amy Elsner
1035Aruna M BologniaRussia2024-06-11Dorl, James J Esq NEGOTIATION25Anna Fali
1036Alejandro D VocelkaAustralia2024-06-06Feltz Printing Service RENEWAL53Ivan Magalhaes
1037Stacey X PerinSpain2024-06-15Feltz Printing Service PROPOSAL34Ioni Bowcher
1038Jennifer B StensethBrazil2024-06-17Chemel, James L Cpa RENEWAL56Elwin Sharvill
1039Leja Y MacleadArgentina2024-06-11King, Christopher A Esq NEGOTIATION35Ioni Bowcher
1040Antonio O WieserAustralia2024-06-09Chemel, James L Cpa PROPOSAL85Onyama Limba
1041Juan Z MarrierUnited Kingdom2024-06-21Rangoni Of Florence NEGOTIATION99Bernardo Dominic
1042Kadeem M VenereItaly2024-06-21Dorl, James J Esq QUALIFIED9Anna Fali
1043Maisha E TollnerFrance2024-06-07Feltz Printing Service QUALIFIED93Asiya Javayant
1044David D OstroskyJapan2024-06-11Chemel, James L Cpa NEGOTIATION75Onyama Limba
1045Salvatore D SergiArgentina2024-06-20Morlong Associates QUALIFIED93Elwin Sharvill
1046Kaitlin I BriddickBrazil2024-05-27King, Christopher A Esq RENEWAL66Asiya Javayant
1047Julie K CaldareraIndia2024-06-19Feltz Printing Service PROPOSAL17Amy Elsner
1048Antonio Q RimFrance2024-06-03Morlong Associates NEGOTIATION37Ivan Magalhaes
1049Antonio I WhobreyIndia2024-06-11Printing Dimensions NEGOTIATION34Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leon F FlosiSpainIvan Magalhaes RENEWAL
James I GarufiGermanyStephen Shaw NEGOTIATION
Kaitlin Z BologniaIndiaAsiya Javayant NEW
Jeanfrancois P TollnerAustraliaElwin Sharvill NEW
Antonio H DoeSpainAnna Fali UNQUALIFIED
Francesco I FigeroaCanadaStephen Shaw UNQUALIFIED
Misaki U AmigonItalyOnyama Limba RENEWAL
Tony Q MacleadJapanXuxue Feng UNQUALIFIED
Octavia K CaudyArgentinaOnyama Limba PROPOSAL
Aditya F GauchoBrazilBernardo Dominic NEGOTIATION
Faith N CampainAustraliaIvan Magalhaes NEGOTIATION
Costa V ChuiJapanIvan Magalhaes NEGOTIATION
Salvatore S WaycottSpainOnyama Limba RENEWAL
Emily J StensethRussiaAsiya Javayant RENEWAL
Morrow R VocelkaItalyElwin Sharvill QUALIFIED
Francesco B CaudyBrazilIvan Magalhaes UNQUALIFIED
Munro S KuskoBrazilXuxue Feng NEW
Kadeem E FollerIndiaOnyama Limba NEW
Julie H FlosiCanadaXuxue Feng NEW
Mujtaba V AlbaresSpainIvan Magalhaes NEGOTIATION
Johnson H BologniaUnited KingdomIoni Bowcher RENEWAL
Mujtaba X FollerGermanyAmy Elsner QUALIFIED
Nicolas B StockhamCanadaOnyama Limba QUALIFIED
Aika R TollnerCanadaAsiya Javayant UNQUALIFIED
Morrow Z ChuiAustraliaXuxue Feng NEGOTIATION
Mayumi N RimItalyBernardo Dominic PROPOSAL
Greenwood K SaylorsSpainIoni Bowcher NEGOTIATION
Isabel I WieserBrazilIoni Bowcher UNQUALIFIED
Jones Y CaudyBrazilIvan Magalhaes RENEWAL
Kaitlin C FlosiUnited KingdomStephen Shaw RENEWAL
Leja X PerinSpainAsiya Javayant PROPOSAL
Francesco C MacleadUnited KingdomXuxue Feng RENEWAL
Misaki L MacleadAustraliaAmy Elsner PROPOSAL
Claire P AmigonBrazilIoni Bowcher QUALIFIED
Maisha R GauchoJapanAmy Elsner PROPOSAL
Julie C RutaArgentinaStephen Shaw NEGOTIATION
Claire U IturbideFranceBernardo Dominic UNQUALIFIED
Maria A VocelkaFranceAsiya Javayant QUALIFIED
Faith E SlusarskiArgentinaAnna Fali NEGOTIATION
Jennifer J MacleadSpainBernardo Dominic NEW
Isabel F DarakjyArgentinaAnna Fali NEW
Misaki A CaldareraSpainIoni Bowcher NEGOTIATION
Aika T WaycottJapanAmy Elsner RENEWAL
Octavia J VenereCanadaAsiya Javayant PROPOSAL
Cody S FlosiSpainBernardo Dominic NEGOTIATION
Arvin J AmigonIndiaAmy Elsner PROPOSAL
Clifford H GauchoBrazilAmy Elsner QUALIFIED
Faith W BowleyCanadaIoni Bowcher NEW
Munro Y ChuiSpainOnyama Limba PROPOSAL
Ashley W WaycottCanadaElwin Sharvill RENEWAL
Frozen Columns
Name
David Y Amigon
Kadeem K Doe
Maisha X Figeroa
Leja L Figeroa
Arvin W Gaucho
Morrow W Wieser
Wickens N Ostrosky
Maria A Malet
Rodrigues E Waycott
Jennifer D Schemmer
Leja L Stenseth
Jones U Rulapaugh
Ashley G Butt
Julie G Perin
Alejandro A Foller
Darci A Saylors
Kaitlin T Dilliard
Johnson D Glick
Johnson Q Figeroa
Octavia F Marrier
Adams P Malet
Francesco R Kolmetz
Maria P Sergi
Greenwood S Ferencz
Silvio V Whobrey
Murillo G Maclead
Faith J Paprocki
Leja L Waycott
Francesco S Paprocki
Jennifer M Glick
Jefferson X Venere
Alejandro J Vocelka
Murillo F Briddick
Maisha S Waycott
Aruna U Caudy
Mujtaba H Morasca
Deepesh E Ferencz
Francesco S Vocelka
Chavez T Kusko
Mayumi A Butt
Smith T Butt
Ivar V Bolognia
Salvatore T Waycott
Kaitlin Y Sergi
Mujtaba C Figeroa
Stacey F Perin
Juan D Caldarera
Ashley U Ferencz
Misaki K Caudy
Octavia W Dilliard
IdCountryDate
1000Italy2024-05-25
1001Australia2024-05-28
1002India2024-06-12
1003Canada2024-06-17
1004United Kingdom2024-06-16
1005Australia2024-05-28
1006Germany2024-05-27
1007Argentina2024-06-11
1008Argentina2024-06-08
1009Italy2024-06-08
1010France2024-05-26
1011Argentina2024-06-20
1012Italy2024-06-15
1013France2024-05-31
1014France2024-06-01
1015Brazil2024-05-24
1016Italy2024-05-31
1017India2024-05-31
1018Spain2024-05-27
1019Germany2024-05-24
1020India2024-06-05
1021Brazil2024-05-24
1022Germany2024-05-25
1023Germany2024-06-22
1024France2024-06-15
1025France2024-06-22
1026Germany2024-06-05
1027Russia2024-05-30
1028Russia2024-06-17
1029Russia2024-06-11
1030Italy2024-06-08
1031Canada2024-05-30
1032Russia2024-06-16
1033Canada2024-06-22
1034United Kingdom2024-05-27
1035Germany2024-06-16
1036Australia2024-06-08
1037India2024-05-26
1038Russia2024-06-02
1039Australia2024-06-20
1040France2024-06-05
1041United Kingdom2024-06-03
1042Brazil2024-06-05
1043Canada2024-06-14
1044Brazil2024-06-19
1045Australia2024-06-11
1046Australia2024-06-08
1047Japan2024-06-16
1048Japan2024-05-31
1049India2024-06-12

On-Demand Data

NameIdCountryDate
Jeanfrancois R Rim1000Italy2024-06-21
Deepesh Z Saylors1001Russia2024-06-08
Adams Q Kolmetz1002Canada2024-06-21
Jennifer D Doe1003Germany2024-06-03
Ivar P Bolognia1004United Kingdom2024-06-04
Cody K Venere1005Brazil2024-06-01
Izzy D Venere1006India2024-06-07
Julie O Stockham1007India2024-06-20
Rodrigues G Nestle1008Brazil2024-06-17
Wickens B Foller1009Italy2024-06-05
Maisha X Glick1010Argentina2024-05-31
Aruna W Gillian1011Brazil2024-06-19
Ivar O Sergi1012Italy2024-06-03
Smith F Inouye1013Italy2024-05-31
Maisha Y Doe1014Russia2024-06-09
Claire Q Gaucho1015Japan2024-05-29
Izzy U Butt1016Russia2024-06-22
Smith L Nestle1017Italy2024-06-02
Alejandro Z Sergi1018Spain2024-06-01
Ricardo M Morasca1019Argentina2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair D GillianRussiaIoni Bowcher RENEWAL
Adams N BologniaJapanIvan Magalhaes UNQUALIFIED
Clifford D MaletFranceIvan Magalhaes UNQUALIFIED
Salvatore S FigeroaGermanyIoni Bowcher QUALIFIED
Maisha J InouyeIndiaElwin Sharvill UNQUALIFIED
Alejandro E MaletArgentinaAnna Fali PROPOSAL
Aika O RimAustraliaAsiya Javayant NEW
Jefferson K RulapaughFranceAmy Elsner QUALIFIED
Smith L MaletCanadaIvan Magalhaes NEGOTIATION
Isabel A FerenczRussiaAnna Fali NEW
Antonio M FigeroaJapanBernardo Dominic NEGOTIATION
James K GauchoArgentinaAnna Fali NEGOTIATION
Mayumi N RoysterIndiaAsiya Javayant PROPOSAL
Emily I GillianSpainBernardo Dominic QUALIFIED
Stacey H GauchoJapanBernardo Dominic QUALIFIED
Alejandro X WaycottGermanyAmy Elsner RENEWAL
Darci W CaudyCanadaAmy Elsner NEGOTIATION
Octavia R StockhamAustraliaOnyama Limba QUALIFIED
Greenwood X GillianSpainIvan Magalhaes NEGOTIATION
Jefferson L OldroydBrazilIvan Magalhaes RENEWAL
Octavia B FollerFranceStephen Shaw NEW
Juan W IturbideGermanyAsiya Javayant PROPOSAL
Tony A DilliardFranceStephen Shaw RENEWAL
Kadeem Y StensethUnited KingdomBernardo Dominic PROPOSAL
Leja Q BriddickUnited KingdomAmy Elsner RENEWAL
Sinclair O PerinItalyAmy Elsner NEW
Maria U BriddickSpainIoni Bowcher UNQUALIFIED
Kaitlin T OldroydItalyAmy Elsner QUALIFIED
Arvin I SaylorsItalyAsiya Javayant QUALIFIED
Silvio C RulapaughSpainIvan Magalhaes PROPOSAL
Costa O FlosiGermanyAnna Fali RENEWAL
Silvio C PaprockiSpainBernardo Dominic QUALIFIED
Rodrigues Q MarrierArgentinaIvan Magalhaes RENEWAL
Jeanfrancois Q DoeCanadaIvan Magalhaes NEW
Alejandro P DilliardItalyBernardo Dominic RENEWAL
Arvin R VocelkaGermanyElwin Sharvill NEGOTIATION
Arvin P WaycottJapanIoni Bowcher RENEWAL
Emily X RulapaughIndiaStephen Shaw UNQUALIFIED
Julie Z TollnerAustraliaAsiya Javayant RENEWAL
Emily A KolmetzBrazilIoni Bowcher 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>