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
Kadeem Z NestleArgentinaStephen Shaw UNQUALIFIED
Clifford W CaudyJapanAmy Elsner PROPOSAL
Morrow P DoeRussiaIvan Magalhaes UNQUALIFIED
Tony T CaudyArgentinaBernardo Dominic RENEWAL
Mujtaba O GauchoBrazilIvan Magalhaes NEGOTIATION
Antonio F NickaItalyAnna Fali NEW
Maria K TollnerItalyOnyama Limba UNQUALIFIED
Chavez L TollnerItalyAmy Elsner PROPOSAL
Kaitlin C InouyeAustraliaElwin Sharvill NEW
Leon B GauchoFranceAsiya Javayant NEW
Maria X WieserBrazilAmy Elsner NEGOTIATION
Emily X WhobreyUnited KingdomAmy Elsner QUALIFIED
Stacey I GarufiItalyIvan Magalhaes QUALIFIED
Clifford G RoysterAustraliaStephen Shaw QUALIFIED
Ashley D OldroydUnited KingdomIvan Magalhaes PROPOSAL
Darci A FigeroaCanadaAnna Fali QUALIFIED
Misaki D RimCanadaIoni Bowcher PROPOSAL
Leja R WieserItalyStephen Shaw NEGOTIATION
Jennifer Q MacleadUnited KingdomOnyama Limba NEGOTIATION
Leja B GillianArgentinaStephen Shaw RENEWAL
Darci L PerinSpainAmy Elsner NEGOTIATION
Isabel F SergiSpainAsiya Javayant PROPOSAL
Morrow M MaletRussiaBernardo Dominic NEW
Munro A DilliardGermanyXuxue Feng QUALIFIED
Rodrigues G RutaUnited KingdomAsiya Javayant PROPOSAL
Tony C GlickGermanyStephen Shaw QUALIFIED
Kadeem O FigeroaSpainXuxue Feng UNQUALIFIED
Jennifer Z WhobreyRussiaIoni Bowcher UNQUALIFIED
Izzy O FigeroaFranceAnna Fali RENEWAL
Salvatore L AlbaresCanadaBernardo Dominic NEGOTIATION
Juan Q PoquetteArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois S StockhamArgentinaOnyama Limba QUALIFIED
Deepesh C BowleyItalyOnyama Limba NEGOTIATION
Aruna B IturbideGermanyXuxue Feng NEGOTIATION
Chavez P ShinkoCanadaIoni Bowcher QUALIFIED
Greenwood J SchemmerRussiaStephen Shaw PROPOSAL
Cody C StockhamJapanAsiya Javayant NEW
Emily L KuskoRussiaIoni Bowcher NEW
Mujtaba H MarrierSpainAsiya Javayant UNQUALIFIED
Silvio E ButtArgentinaAsiya Javayant QUALIFIED
Deepesh D PoquetteIndiaIvan Magalhaes NEGOTIATION
Isabel E WhobreyUnited KingdomAmy Elsner RENEWAL
Aditya I NestleBrazilIvan Magalhaes NEGOTIATION
Aika N RimFranceAsiya Javayant NEGOTIATION
Johnson E FlosiFranceIoni Bowcher PROPOSAL
Jennifer J CaldareraIndiaXuxue Feng UNQUALIFIED
Emily P CampainAustraliaBernardo Dominic QUALIFIED
Kadeem H BriddickRussiaXuxue Feng QUALIFIED
Adams S WhobreyJapanElwin Sharvill RENEWAL
Aditya S AmigonBrazilIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Tony F StensethUnited KingdomIoni Bowcher NEW
Tony A SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Ivar Z DoeAustraliaBernardo Dominic PROPOSAL
Maisha C RimItalyIvan Magalhaes NEGOTIATION
Isabel V ChuiCanadaAsiya Javayant RENEWAL
Kaitlin M FollerItalyBernardo Dominic QUALIFIED
Aditya K BologniaGermanyXuxue Feng RENEWAL
Isabel R BologniaFranceXuxue Feng NEW
Jeanfrancois Z AmigonAustraliaAnna Fali UNQUALIFIED
Jennifer A BriddickItalyXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba C GlickIndia2024-06-14King, Christopher A Esq NEGOTIATION45Xuxue Feng
1001Aditya Q FigeroaAustralia2024-06-18Buckley Miller Wright NEGOTIATION33Anna Fali
1002Antonio H NestleArgentina2024-06-05Rangoni Of Florence PROPOSAL55Amy Elsner
1003Francesco G AlbaresSpain2024-06-24Rousseaux, Michael Esq UNQUALIFIED79Anna Fali
1004Rodrigues N SchemmerGermany2024-06-20Commercial Press RENEWAL97Ioni Bowcher
1005Salvatore H SaylorsBrazil2024-06-12Feiner Bros UNQUALIFIED66Onyama Limba
1006Ivar K NestleArgentina2024-06-20Rangoni Of Florence QUALIFIED56Anna Fali
1007Costa W DoeAustralia2024-06-06Rousseaux, Michael Esq NEGOTIATION70Anna Fali
1008Maisha O SchemmerUnited Kingdom2024-06-19Dorl, James J Esq NEGOTIATION53Ioni Bowcher
1009Francesco T AlbaresSpain2024-06-10Rangoni Of Florence PROPOSAL85Bernardo Dominic
1010Johnson Y OstroskySpain2024-06-08Dorl, James J Esq UNQUALIFIED70Elwin Sharvill
1011David U CampainSpain2024-06-08Dorl, James J Esq PROPOSAL25Ivan Magalhaes
1012Misaki O FollerRussia2024-06-20Morlong Associates NEW36Elwin Sharvill
1013Wickens R KolmetzJapan2024-06-12Morlong Associates NEW41Xuxue Feng
1014Leon O StockhamRussia2024-05-28Printing Dimensions NEW56Ioni Bowcher
1015Francesco A RimBrazil2024-05-26Rousseaux, Michael Esq NEGOTIATION96Asiya Javayant
1016Arvin R StensethSpain2024-06-14King, Christopher A Esq NEGOTIATION93Xuxue Feng
1017Emily D CampainBrazil2024-06-01Dorl, James J Esq NEW55Ioni Bowcher
1018Aruna O FerenczItaly2024-05-26Chemel, James L Cpa QUALIFIED99Amy Elsner
1019Jennifer I FigeroaJapan2024-06-08Truhlar And Truhlar Attys RENEWAL81Stephen Shaw
1020Leon D BologniaAustralia2024-06-02Truhlar And Truhlar Attys RENEWAL31Stephen Shaw
1021Greenwood I CampainIndia2024-06-15Chemel, James L Cpa UNQUALIFIED19Anna Fali
1022Aika G DoeBrazil2024-06-21Printing Dimensions NEW0Asiya Javayant
1023Juan V OstroskySpain2024-05-31King, Christopher A Esq QUALIFIED27Onyama Limba
1024Ashley F OldroydCanada2024-06-04Rousseaux, Michael Esq NEW13Ioni Bowcher
1025Maisha S PerinItaly2024-06-21Commercial Press NEW28Ivan Magalhaes
1026Mujtaba T PerinArgentina2024-06-02Chemel, James L Cpa PROPOSAL83Bernardo Dominic
1027Mayumi N GauchoSpain2024-06-03Dorl, James J Esq QUALIFIED48Onyama Limba
1028Mujtaba L MarrierItaly2024-06-17Commercial Press NEGOTIATION4Amy Elsner
1029Jones X MaletCanada2024-06-01Feiner Bros PROPOSAL85Anna Fali
1030Arvin J DoeAustralia2024-06-14Buckley Miller Wright NEW56Ioni Bowcher
1031Julie U WhobreyBrazil2024-06-15Chemel, James L Cpa QUALIFIED72Asiya Javayant
1032Silvio O RutaFrance2024-06-04Truhlar And Truhlar Attys QUALIFIED10Ioni Bowcher
1033Ashley X BologniaCanada2024-06-07Morlong Associates NEGOTIATION56Amy Elsner
1034Kadeem N PoquetteBrazil2024-06-16Chanay, Jeffrey A Esq PROPOSAL36Bernardo Dominic
1035Maria A DilliardUnited Kingdom2024-06-11Benton, John B Jr UNQUALIFIED87Bernardo Dominic
1036Wickens T FerenczBrazil2024-06-22Morlong Associates NEGOTIATION69Anna Fali
1037James R GarufiUnited Kingdom2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED12Amy Elsner
1038Smith L DarakjyJapan2024-06-05Truhlar And Truhlar Attys PROPOSAL96Asiya Javayant
1039Salvatore L FollerItaly2024-06-11Chapman, Ross E Esq QUALIFIED64Anna Fali
1040Kaitlin J MacleadArgentina2024-06-07Rangoni Of Florence NEW95Amy Elsner
1041Antonio O ChuiSpain2024-06-16Benton, John B Jr NEW13Onyama Limba
1042Misaki E GlickArgentina2024-06-02Chemel, James L Cpa RENEWAL19Stephen Shaw
1043Cody Z KuskoCanada2024-06-07Benton, John B Jr PROPOSAL61Anna Fali
1044Silvio W TollnerBrazil2024-06-09Chanay, Jeffrey A Esq NEGOTIATION38Xuxue Feng
1045Kaitlin J GlickItaly2024-05-31Feiner Bros NEW10Elwin Sharvill
1046Leja S PoquetteItaly2024-05-28Rousseaux, Michael Esq QUALIFIED28Onyama Limba
1047Mayumi C RulapaughBrazil2024-06-18Commercial Press QUALIFIED61Xuxue Feng
1048Greenwood T BologniaBrazil2024-06-22Feiner Bros PROPOSAL76Bernardo Dominic
1049Juan K SchemmerItaly2024-05-31Feiner Bros UNQUALIFIED13Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maria R RutaBrazilIvan Magalhaes NEW
Wickens U GarufiRussiaBernardo Dominic NEW
David R NestleBrazilStephen Shaw NEGOTIATION
Isabel H RulapaughCanadaBernardo Dominic QUALIFIED
Maria L AmigonArgentinaAsiya Javayant UNQUALIFIED
Tony K VocelkaSpainIvan Magalhaes RENEWAL
Aditya Z DoeArgentinaOnyama Limba NEW
Rodrigues F SaylorsAustraliaIoni Bowcher UNQUALIFIED
Cody P PerinBrazilIvan Magalhaes NEW
Deepesh A StensethIndiaElwin Sharvill QUALIFIED
Jefferson E CaldareraArgentinaIvan Magalhaes QUALIFIED
Silvio C GauchoIndiaAsiya Javayant PROPOSAL
Silvio O SchemmerBrazilOnyama Limba QUALIFIED
Faith P KuskoArgentinaIoni Bowcher UNQUALIFIED
Maisha B GarufiItalyAsiya Javayant NEW
Murillo Y WhobreyCanadaXuxue Feng UNQUALIFIED
Silvio C AmigonSpainAnna Fali RENEWAL
Munro U NestleUnited KingdomAnna Fali NEW
Aika C FerenczFranceElwin Sharvill RENEWAL
Salvatore E BologniaAustraliaElwin Sharvill PROPOSAL
David N SergiJapanAnna Fali NEGOTIATION
Costa C FerenczRussiaElwin Sharvill QUALIFIED
Aruna C InouyeItalyElwin Sharvill UNQUALIFIED
Aditya H VocelkaAustraliaAmy Elsner NEGOTIATION
Aditya H FerenczRussiaBernardo Dominic QUALIFIED
Emily H FigeroaGermanyXuxue Feng NEW
Leja M MaletItalyElwin Sharvill NEW
Izzy Y MacleadRussiaOnyama Limba QUALIFIED
Morrow S ShinkoRussiaStephen Shaw QUALIFIED
Jeanfrancois D GillianRussiaBernardo Dominic RENEWAL
Jennifer O CaudySpainStephen Shaw NEGOTIATION
Leja Q KolmetzSpainAnna Fali UNQUALIFIED
Deepesh H ChuiJapanBernardo Dominic UNQUALIFIED
Maria W FlosiCanadaOnyama Limba NEW
Darci X KolmetzFranceIvan Magalhaes PROPOSAL
Murillo Q GarufiJapanIvan Magalhaes PROPOSAL
Smith Y FerenczArgentinaOnyama Limba NEW
Silvio P RoysterUnited KingdomIoni Bowcher PROPOSAL
Alejandro I CampainCanadaIoni Bowcher PROPOSAL
Kaitlin A PerinRussiaIvan Magalhaes UNQUALIFIED
David A FollerUnited KingdomXuxue Feng UNQUALIFIED
Jennifer Z WieserRussiaAnna Fali RENEWAL
Rodrigues D VenereSpainIvan Magalhaes PROPOSAL
Salvatore F KolmetzFranceElwin Sharvill UNQUALIFIED
Smith W AmigonCanadaStephen Shaw NEGOTIATION
Ivar X KolmetzJapanIvan Magalhaes RENEWAL
Chavez G CaldareraIndiaAsiya Javayant QUALIFIED
Tony Z ButtGermanyOnyama Limba NEW
Jeanfrancois A InouyeGermanyIvan Magalhaes NEW
Cody P PoquetteJapanIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Stacey L Bowley
Ricardo G Maclead
Francesco O Wieser
Adams X Butt
Jeanfrancois P Morasca
Izzy J Nicka
Julie J Stockham
Misaki M Venere
Izzy G Venere
Stacey V Saylors
Aditya H Inouye
Aditya J Rim
Munro P Ruta
Misaki B Oldroyd
Ashley V Gaucho
Kaitlin X Malet
Juan S Iturbide
Arvin I Malet
Rodrigues B Shinko
Maria U Foller
Emily P Perin
Sinclair U Amigon
Deepesh U Iturbide
Jefferson Y Tollner
Jefferson K Perin
Clifford E Shinko
Munro M Gillian
Adams W Gaucho
Emily Y Royster
Emily J Malet
Kadeem X Ruta
Kadeem S Venere
Ricardo O Dilliard
Maisha T Malet
Sinclair T Kolmetz
Alejandro J Caudy
Adams X Malet
Aditya I Caldarera
Maisha E Ostrosky
Jennifer B Perin
Munro U Dilliard
Francesco U Venere
Tony B Rulapaugh
Izzy V Poquette
Darci M Schemmer
Adams I Figeroa
Aruna H Slusarski
Leja J Maclead
Aruna J Doe
Ivar M Darakjy
IdCountryDate
1000Brazil2024-06-24
1001France2024-06-02
1002France2024-06-19
1003Spain2024-06-12
1004Canada2024-06-13
1005Brazil2024-06-02
1006Spain2024-06-09
1007Russia2024-06-04
1008France2024-06-05
1009India2024-06-05
1010Canada2024-06-04
1011Canada2024-06-20
1012India2024-05-27
1013Japan2024-06-20
1014Australia2024-05-28
1015Italy2024-05-31
1016Russia2024-06-07
1017Italy2024-06-07
1018Canada2024-06-08
1019Spain2024-06-21
1020France2024-06-17
1021Italy2024-06-15
1022Spain2024-06-17
1023Spain2024-06-23
1024Brazil2024-06-07
1025Spain2024-06-13
1026Argentina2024-05-31
1027Japan2024-06-07
1028Germany2024-06-21
1029France2024-06-19
1030Germany2024-06-02
1031United Kingdom2024-05-31
1032France2024-05-27
1033France2024-06-16
1034Russia2024-06-05
1035Australia2024-05-31
1036Germany2024-06-17
1037Japan2024-06-07
1038Canada2024-06-05
1039Germany2024-05-27
1040Argentina2024-06-09
1041Japan2024-06-12
1042Australia2024-05-29
1043Spain2024-06-24
1044Argentina2024-05-29
1045Russia2024-06-24
1046Argentina2024-06-14
1047United Kingdom2024-05-30
1048Germany2024-06-01
1049Germany2024-05-30

On-Demand Data

NameIdCountryDate
Sinclair S Iturbide1000Japan2024-06-05
Leon M Chui1001Argentina2024-05-31
Adams E Slusarski1002Spain2024-05-27
Chavez O Caudy1003Brazil2024-06-21
Aruna Z Royster1004Japan2024-06-16
Jennifer H Royster1005Spain2024-06-07
Sinclair T Glick1006Canada2024-06-01
Deepesh N Inouye1007Germany2024-06-20
Antonio Z Bolognia1008Canada2024-06-04
Rodrigues T Stenseth1009Spain2024-05-30
Chavez D Whobrey1010Brazil2024-05-27
Chavez D Chui1011Canada2024-06-17
David C Stenseth1012Spain2024-05-26
Sinclair M Campain1013Japan2024-06-14
Cody S Ostrosky1014Japan2024-05-29
Kaitlin U Malet1015United Kingdom2024-06-10
David X Dilliard1016India2024-06-18
Costa N Paprocki1017Brazil2024-06-15
Munro I Glick1018United Kingdom2024-06-05
Antonio B Maclead1019Russia2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro G VenereRussiaBernardo Dominic QUALIFIED
Jefferson K PerinGermanyIoni Bowcher PROPOSAL
Arvin O ChuiJapanAmy Elsner PROPOSAL
Kaitlin U DilliardAustraliaElwin Sharvill NEGOTIATION
Sinclair C DarakjyBrazilXuxue Feng PROPOSAL
Clifford J FigeroaSpainAsiya Javayant NEGOTIATION
Stacey B MaletJapanStephen Shaw RENEWAL
Ricardo J VocelkaSpainAsiya Javayant PROPOSAL
Jones T AmigonIndiaAsiya Javayant UNQUALIFIED
Salvatore B StockhamBrazilIvan Magalhaes NEW
Juan U DilliardAustraliaIoni Bowcher PROPOSAL
Jefferson T RimRussiaStephen Shaw RENEWAL
Deepesh M WaycottArgentinaBernardo Dominic QUALIFIED
Jeanfrancois K OstroskyIndiaElwin Sharvill UNQUALIFIED
Aditya Y MaletIndiaElwin Sharvill RENEWAL
Emily G NestleJapanBernardo Dominic QUALIFIED
Ivar Z SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Francesco A MaletUnited KingdomBernardo Dominic NEGOTIATION
Adams V NickaCanadaIvan Magalhaes QUALIFIED
Kaitlin L OldroydArgentinaElwin Sharvill RENEWAL
Jones Z OldroydFranceXuxue Feng NEGOTIATION
Faith B SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Aika K FlosiAustraliaAmy Elsner RENEWAL
Clifford L DilliardSpainOnyama Limba RENEWAL
Mayumi T WieserJapanOnyama Limba UNQUALIFIED
Antonio J StensethJapanStephen Shaw NEW
Octavia C DarakjyRussiaXuxue Feng NEGOTIATION
Morrow T VocelkaFranceOnyama Limba QUALIFIED
Faith R CampainFranceAmy Elsner QUALIFIED
Johnson Z IturbideJapanStephen Shaw UNQUALIFIED
Stacey W SchemmerBrazilAsiya Javayant NEGOTIATION
Munro S FlosiAustraliaOnyama Limba RENEWAL
Kaitlin T BriddickCanadaXuxue Feng QUALIFIED
Emily Q MaletFranceElwin Sharvill QUALIFIED
Izzy Z VocelkaIndiaIvan Magalhaes RENEWAL
Greenwood U StockhamArgentinaStephen Shaw QUALIFIED
Silvio I MaletIndiaIvan Magalhaes UNQUALIFIED
Sinclair E FlosiCanadaIvan Magalhaes NEGOTIATION
Aditya E BriddickRussiaAmy Elsner PROPOSAL
Misaki S MaletRussiaAmy Elsner 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>