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
Mayumi H TollnerFranceAmy Elsner QUALIFIED
Juan P MacleadJapanAmy Elsner PROPOSAL
Alejandro O AmigonAustraliaAmy Elsner PROPOSAL
Izzy Z VenereArgentinaIvan Magalhaes NEGOTIATION
Kaitlin W SergiItalyIoni Bowcher NEGOTIATION
Cody W SlusarskiAustraliaOnyama Limba RENEWAL
Maria J FerenczGermanyOnyama Limba UNQUALIFIED
Munro H OldroydAustraliaAmy Elsner QUALIFIED
Ashley W CaudyAustraliaStephen Shaw UNQUALIFIED
Misaki B NestleUnited KingdomOnyama Limba QUALIFIED
Misaki W FollerGermanyOnyama Limba QUALIFIED
Claire U IturbideJapanAsiya Javayant QUALIFIED
Ashley P BowleyIndiaIoni Bowcher PROPOSAL
Smith W VenereGermanyStephen Shaw NEW
Emily E CaldareraItalyElwin Sharvill NEGOTIATION
Leon E PaprockiRussiaIvan Magalhaes UNQUALIFIED
Stacey Y NestleAustraliaBernardo Dominic NEW
Smith X PerinBrazilAmy Elsner PROPOSAL
Sinclair J RimArgentinaOnyama Limba QUALIFIED
Chavez H DilliardGermanyElwin Sharvill NEGOTIATION
Deepesh O VenereSpainStephen Shaw PROPOSAL
Morrow L StockhamAustraliaStephen Shaw NEW
Kaitlin J WieserAustraliaAnna Fali PROPOSAL
Leon N InouyeCanadaXuxue Feng UNQUALIFIED
Silvio I CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Stacey J ChuiRussiaBernardo Dominic UNQUALIFIED
Juan N MarrierJapanBernardo Dominic NEW
Jeanfrancois X SchemmerUnited KingdomBernardo Dominic NEGOTIATION
Deepesh Y ChuiIndiaStephen Shaw PROPOSAL
Octavia J RoysterRussiaAmy Elsner NEGOTIATION
Jefferson H FlosiCanadaAnna Fali UNQUALIFIED
Johnson C OldroydSpainIoni Bowcher QUALIFIED
Smith L NestleRussiaBernardo Dominic UNQUALIFIED
Kaitlin H RimArgentinaStephen Shaw PROPOSAL
Sinclair X NestleItalyElwin Sharvill NEGOTIATION
Izzy B CaudyFranceXuxue Feng PROPOSAL
Ivar T WhobreyUnited KingdomAmy Elsner RENEWAL
Alejandro Z MaletCanadaXuxue Feng PROPOSAL
Nicolas U CaudyAustraliaAnna Fali PROPOSAL
Octavia P SaylorsAustraliaAsiya Javayant PROPOSAL
Adams X FerenczSpainAmy Elsner NEGOTIATION
Tony I BriddickUnited KingdomOnyama Limba RENEWAL
Mayumi E RutaBrazilStephen Shaw NEW
James B KolmetzIndiaAsiya Javayant QUALIFIED
David S BriddickItalyIvan Magalhaes RENEWAL
Kadeem T SchemmerArgentinaXuxue Feng QUALIFIED
Izzy F ChuiArgentinaXuxue Feng PROPOSAL
Faith O MaletItalyOnyama Limba UNQUALIFIED
Murillo F DarakjyItalyAnna Fali UNQUALIFIED
Adams B VocelkaCanadaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Darci O MarrierCanadaXuxue Feng PROPOSAL
Kaitlin G WhobreyFranceBernardo Dominic PROPOSAL
Isabel I MarrierFranceAmy Elsner UNQUALIFIED
Aika A SchemmerRussiaIoni Bowcher NEW
Misaki I WhobreyUnited KingdomStephen Shaw QUALIFIED
David Y GarufiAustraliaIvan Magalhaes RENEWAL
Maria T AlbaresAustraliaXuxue Feng NEGOTIATION
Jefferson G AlbaresFranceOnyama Limba NEGOTIATION
Silvio K GauchoRussiaStephen Shaw NEGOTIATION
Jefferson X OstroskyCanadaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco Z RutaJapan2024-05-29Commercial Press UNQUALIFIED31Ivan Magalhaes
1001Maisha C AlbaresJapan2024-05-31Buckley Miller Wright RENEWAL75Elwin Sharvill
1002James P IturbideFrance2024-06-01Truhlar And Truhlar Attys RENEWAL30Elwin Sharvill
1003Costa Q CampainIndia2024-06-19Buckley Miller Wright QUALIFIED91Elwin Sharvill
1004David P AmigonCanada2024-06-08Rousseaux, Michael Esq NEW97Bernardo Dominic
1005Mujtaba L FerenczBrazil2024-06-12Rousseaux, Michael Esq QUALIFIED58Amy Elsner
1006Emily K MaletSpain2024-05-28Buckley Miller Wright NEGOTIATION50Xuxue Feng
1007Wickens R MarrierRussia2024-05-31Rangoni Of Florence QUALIFIED52Onyama Limba
1008Nicolas M OldroydSpain2024-06-22Morlong Associates UNQUALIFIED90Anna Fali
1009Morrow F GauchoFrance2024-06-03Dorl, James J Esq PROPOSAL38Elwin Sharvill
1010Isabel L ChuiItaly2024-06-14Chemel, James L Cpa PROPOSAL64Elwin Sharvill
1011Leon X VocelkaArgentina2024-06-07Commercial Press NEW32Onyama Limba
1012Emily X BologniaItaly2024-06-18Chemel, James L Cpa QUALIFIED29Ivan Magalhaes
1013Deepesh A ShinkoUnited Kingdom2024-06-06Chemel, James L Cpa PROPOSAL30Ivan Magalhaes
1014Ivar L DilliardGermany2024-06-07Feiner Bros PROPOSAL79Stephen Shaw
1015Octavia U SlusarskiBrazil2024-05-31Truhlar And Truhlar Attys UNQUALIFIED25Stephen Shaw
1016Cody B VocelkaUnited Kingdom2024-05-28Rangoni Of Florence UNQUALIFIED25Anna Fali
1017Murillo F SlusarskiItaly2024-06-19Feltz Printing Service NEGOTIATION2Asiya Javayant
1018Aditya V RulapaughCanada2024-06-22Commercial Press QUALIFIED96Anna Fali
1019Adams B PerinIndia2024-06-07Chemel, James L Cpa UNQUALIFIED90Ivan Magalhaes
1020Costa C DilliardArgentina2024-06-09Chapman, Ross E Esq NEW52Onyama Limba
1021Maisha K RutaItaly2024-06-18Buckley Miller Wright UNQUALIFIED58Anna Fali
1022Costa P KolmetzCanada2024-06-02Commercial Press NEW8Anna Fali
1023Jeanfrancois U MarrierJapan2024-06-19Printing Dimensions PROPOSAL22Onyama Limba
1024Isabel N MaletFrance2024-06-04Feltz Printing Service PROPOSAL1Anna Fali
1025Sinclair S CaldareraRussia2024-05-26Chemel, James L Cpa RENEWAL89Asiya Javayant
1026Claire M SergiGermany2024-06-21Commercial Press NEW98Elwin Sharvill
1027Jones K RutaJapan2024-06-06King, Christopher A Esq UNQUALIFIED18Anna Fali
1028Mujtaba D RimArgentina2024-06-17Printing Dimensions PROPOSAL46Bernardo Dominic
1029Juan H SaylorsAustralia2024-06-04Truhlar And Truhlar Attys UNQUALIFIED10Ivan Magalhaes
1030Jennifer O WieserUnited Kingdom2024-06-05Dorl, James J Esq QUALIFIED62Xuxue Feng
1031Munro T FerenczCanada2024-06-14Dorl, James J Esq RENEWAL60Amy Elsner
1032Johnson R FigeroaGermany2024-06-10Printing Dimensions QUALIFIED18Amy Elsner
1033Mujtaba Q DarakjyFrance2024-06-11Morlong Associates UNQUALIFIED90Xuxue Feng
1034Isabel U VenereAustralia2024-06-01Truhlar And Truhlar Attys NEGOTIATION39Anna Fali
1035Jennifer E MarrierJapan2024-06-21Chanay, Jeffrey A Esq NEW63Elwin Sharvill
1036Murillo F BowleyAustralia2024-06-11Printing Dimensions QUALIFIED71Anna Fali
1037Ashley Y WaycottItaly2024-05-31Printing Dimensions NEW4Onyama Limba
1038Jeanfrancois D SlusarskiSpain2024-05-28Rousseaux, Michael Esq UNQUALIFIED57Bernardo Dominic
1039Mayumi F FigeroaBrazil2024-06-05Dorl, James J Esq RENEWAL13Ioni Bowcher
1040Maisha V FollerItaly2024-06-08King, Christopher A Esq PROPOSAL28Onyama Limba
1041Salvatore N CaudyCanada2024-06-20Buckley Miller Wright NEW63Asiya Javayant
1042Nicolas J GillianRussia2024-05-26Chemel, James L Cpa UNQUALIFIED7Asiya Javayant
1043Mayumi Q FollerSpain2024-05-29Dorl, James J Esq PROPOSAL64Elwin Sharvill
1044Kaitlin S AlbaresItaly2024-06-03Buckley Miller Wright PROPOSAL68Anna Fali
1045Cody V PerinSpain2024-06-22Feiner Bros NEGOTIATION66Elwin Sharvill
1046Faith Y AmigonBrazil2024-06-24Chanay, Jeffrey A Esq PROPOSAL90Asiya Javayant
1047Clifford M CaudySpain2024-05-30Feltz Printing Service PROPOSAL38Stephen Shaw
1048Izzy J OldroydAustralia2024-06-21Printing Dimensions RENEWAL11Stephen Shaw
1049Mayumi R KuskoGermany2024-05-26Commercial Press PROPOSAL49Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leja G VenereItalyBernardo Dominic QUALIFIED
Munro N DoeAustraliaXuxue Feng NEW
Arvin Y KuskoArgentinaOnyama Limba QUALIFIED
Aruna B KolmetzFranceIvan Magalhaes UNQUALIFIED
Adams C StensethFranceElwin Sharvill QUALIFIED
Jeanfrancois U InouyeAustraliaAnna Fali UNQUALIFIED
Aika G MaletBrazilAnna Fali NEW
Tony B GillianRussiaIoni Bowcher RENEWAL
Jennifer T CampainBrazilAmy Elsner QUALIFIED
Aruna D SlusarskiFranceAnna Fali NEW
Ricardo L AlbaresCanadaStephen Shaw RENEWAL
Costa X SergiAustraliaAnna Fali PROPOSAL
Ivar L MacleadItalyIoni Bowcher PROPOSAL
Mujtaba L WieserAustraliaStephen Shaw RENEWAL
Mujtaba K SergiJapanElwin Sharvill NEW
Greenwood G RimGermanyIvan Magalhaes NEGOTIATION
Faith D VocelkaRussiaIvan Magalhaes QUALIFIED
Munro Y FollerRussiaAmy Elsner NEW
Darci T WaycottArgentinaStephen Shaw QUALIFIED
Wickens F GlickRussiaOnyama Limba NEGOTIATION
Salvatore F FigeroaArgentinaXuxue Feng UNQUALIFIED
Izzy Q KuskoGermanyStephen Shaw RENEWAL
Misaki P OldroydIndiaStephen Shaw PROPOSAL
Ivar C DoeGermanyIvan Magalhaes RENEWAL
Murillo G RutaRussiaOnyama Limba UNQUALIFIED
James Y KolmetzJapanAsiya Javayant PROPOSAL
Misaki Y IturbideRussiaOnyama Limba PROPOSAL
Salvatore T PaprockiItalyAsiya Javayant PROPOSAL
Rodrigues M OstroskyItalyXuxue Feng NEW
Aruna Z MaletCanadaOnyama Limba NEW
Aditya R BriddickUnited KingdomAmy Elsner QUALIFIED
Johnson O VocelkaUnited KingdomAsiya Javayant NEW
Leja J CaldareraFranceIoni Bowcher NEW
Nicolas D MarrierBrazilOnyama Limba RENEWAL
Sinclair J FigeroaBrazilIoni Bowcher NEW
Smith L RoysterSpainAmy Elsner NEW
Claire B GarufiJapanXuxue Feng NEW
Deepesh W StockhamSpainAnna Fali NEGOTIATION
Mujtaba K PoquetteIndiaAsiya Javayant QUALIFIED
Salvatore N RoysterCanadaXuxue Feng PROPOSAL
Isabel A StockhamJapanElwin Sharvill UNQUALIFIED
Izzy K BologniaRussiaXuxue Feng PROPOSAL
Adams N CaudyRussiaElwin Sharvill NEW
Silvio X RoysterCanadaAmy Elsner PROPOSAL
Leja N FerenczSpainElwin Sharvill RENEWAL
Misaki Y MaletBrazilStephen Shaw NEW
Jeanfrancois N InouyeAustraliaStephen Shaw RENEWAL
Julie J DarakjyArgentinaIvan Magalhaes NEW
Izzy S CaudyCanadaOnyama Limba RENEWAL
Isabel Q ButtUnited KingdomIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Arvin I Campain
Francesco C Foller
Nicolas N Chui
Mujtaba K Rulapaugh
Ricardo L Nestle
Leja P Ferencz
Wickens R Butt
Emily K Malet
Ashley D Royster
Smith G Tollner
Munro Y Slusarski
Maisha S Nicka
Isabel N Gaucho
Maisha A Whobrey
Isabel V Waycott
Silvio C Malet
David W Gillian
Silvio C Bowley
Mujtaba Q Sergi
Wickens J Foller
Morrow I Butt
James D Marrier
Leon Q Stenseth
Mayumi X Morasca
Sinclair S Kolmetz
Jeanfrancois F Inouye
Adams J Malet
Smith G Foller
Costa Y Iturbide
Adams S Darakjy
Darci K Briddick
Claire M Dilliard
Greenwood G Kolmetz
Ivar K Flosi
Alejandro X Saylors
Alejandro F Chui
Greenwood H Caldarera
Johnson W Morasca
Kaitlin N Foller
Darci G Rim
Maisha W Doe
Munro B Saylors
James F Nestle
Octavia M Caudy
Faith M Ostrosky
Adams T Malet
Isabel U Ruta
Izzy R Iturbide
Julie H Foller
Leja S Malet
IdCountryDate
1000Russia2024-05-28
1001Italy2024-06-07
1002Canada2024-06-11
1003United Kingdom2024-06-13
1004Spain2024-06-06
1005Germany2024-06-08
1006France2024-06-16
1007Spain2024-06-23
1008Argentina2024-06-12
1009Italy2024-06-19
1010Spain2024-06-03
1011Spain2024-06-14
1012Australia2024-06-01
1013France2024-06-20
1014Japan2024-06-22
1015Spain2024-05-27
1016Canada2024-05-28
1017Australia2024-06-14
1018India2024-06-19
1019Australia2024-06-22
1020Brazil2024-05-26
1021Australia2024-05-26
1022Brazil2024-06-12
1023Canada2024-06-23
1024United Kingdom2024-06-04
1025United Kingdom2024-05-28
1026Spain2024-06-06
1027France2024-05-26
1028Brazil2024-06-10
1029Germany2024-06-10
1030Australia2024-06-02
1031Canada2024-06-12
1032Argentina2024-06-06
1033France2024-05-29
1034Italy2024-05-28
1035India2024-06-18
1036United Kingdom2024-06-10
1037Canada2024-06-15
1038Italy2024-06-23
1039Canada2024-06-24
1040Brazil2024-06-19
1041Australia2024-05-29
1042Germany2024-06-22
1043Germany2024-06-19
1044Argentina2024-06-08
1045Germany2024-05-29
1046Argentina2024-06-22
1047Argentina2024-06-06
1048Argentina2024-06-09
1049India2024-06-21

On-Demand Data

NameIdCountryDate
James N Perin1000India2024-06-02
Sinclair U Marrier1001Canada2024-06-03
Wickens L Rulapaugh1002France2024-06-04
Francesco M Flosi1003France2024-06-08
Stacey A Gaucho1004Japan2024-06-14
Aika A Chui1005Brazil2024-06-20
Stacey F Kusko1006Germany2024-05-27
James V Marrier1007France2024-06-18
Chavez C Bowley1008Canada2024-05-28
Aditya T Caldarera1009Russia2024-06-11
Jeanfrancois M Waycott1010Spain2024-06-17
Clifford Y Whobrey1011Russia2024-06-10
Tony Q Nicka1012Russia2024-06-04
Johnson F Venere1013Germany2024-05-29
Tony H Schemmer1014Italy2024-06-04
Aika C Maclead1015Japan2024-06-06
Aika M Rulapaugh1016United Kingdom2024-05-31
Sinclair I Chui1017Japan2024-05-26
Stacey G Gaucho1018United Kingdom2024-06-17
Cody F Morasca1019India2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin X MarrierUnited KingdomStephen Shaw PROPOSAL
Morrow S ShinkoBrazilIoni Bowcher QUALIFIED
Ashley Q KuskoRussiaXuxue Feng RENEWAL
Juan Y MaletRussiaAmy Elsner UNQUALIFIED
Aditya B NickaCanadaAnna Fali NEGOTIATION
Mayumi L VocelkaAustraliaStephen Shaw NEW
Stacey H FerenczAustraliaOnyama Limba UNQUALIFIED
Chavez G RutaBrazilAnna Fali UNQUALIFIED
Stacey A BriddickSpainXuxue Feng NEGOTIATION
Munro J MaletIndiaStephen Shaw UNQUALIFIED
David E NickaItalyXuxue Feng NEGOTIATION
Ivar H ShinkoSpainAmy Elsner RENEWAL
Kadeem P OldroydSpainIoni Bowcher NEW
Leja E TollnerBrazilXuxue Feng NEGOTIATION
David Q OldroydArgentinaAnna Fali RENEWAL
Francesco R OstroskyArgentinaAmy Elsner NEGOTIATION
Kaitlin P CaldareraAustraliaBernardo Dominic NEW
Rodrigues Y PoquetteUnited KingdomElwin Sharvill QUALIFIED
Adams G PaprockiFranceBernardo Dominic RENEWAL
Silvio L CaldareraItalyOnyama Limba PROPOSAL
Kadeem P RutaArgentinaBernardo Dominic PROPOSAL
Adams N NestleSpainAsiya Javayant RENEWAL
Ashley Z CaldareraBrazilBernardo Dominic PROPOSAL
Kaitlin E SchemmerUnited KingdomAnna Fali PROPOSAL
Maria Y RimCanadaOnyama Limba PROPOSAL
Leon W ChuiAustraliaIvan Magalhaes NEW
Octavia Y MarrierGermanyElwin Sharvill RENEWAL
Jones E FlosiUnited KingdomBernardo Dominic NEGOTIATION
Darci P NickaUnited KingdomStephen Shaw UNQUALIFIED
Leon A DarakjyGermanyBernardo Dominic UNQUALIFIED
Costa F StockhamAustraliaAnna Fali UNQUALIFIED
Rodrigues U ButtUnited KingdomXuxue Feng PROPOSAL
Chavez A KuskoUnited KingdomStephen Shaw NEGOTIATION
Juan U FlosiJapanElwin Sharvill UNQUALIFIED
Ricardo L FollerCanadaAnna Fali NEW
Leja Q RulapaughIndiaAsiya Javayant PROPOSAL
Munro E SchemmerArgentinaBernardo Dominic QUALIFIED
Aruna C ShinkoFranceOnyama Limba UNQUALIFIED
Julie L MorascaSpainOnyama Limba NEGOTIATION
Izzy B FerenczItalyIoni Bowcher QUALIFIED

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