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
Jones Y ShinkoSpainStephen Shaw RENEWAL
Jones A NickaBrazilIvan Magalhaes NEGOTIATION
Ivar A VocelkaUnited KingdomBernardo Dominic RENEWAL
Faith E RutaRussiaAsiya Javayant UNQUALIFIED
Stacey F NickaGermanyAnna Fali PROPOSAL
Silvio J StockhamFranceOnyama Limba UNQUALIFIED
Alejandro D RutaAustraliaIoni Bowcher UNQUALIFIED
Wickens A NickaArgentinaIoni Bowcher PROPOSAL
Mujtaba L FlosiIndiaIvan Magalhaes NEGOTIATION
Alejandro M WhobreyFranceIvan Magalhaes RENEWAL
Juan L ShinkoGermanyXuxue Feng NEGOTIATION
Deepesh P DarakjyGermanyBernardo Dominic RENEWAL
Aika S PerinUnited KingdomElwin Sharvill RENEWAL
Jones O SlusarskiAustraliaIvan Magalhaes NEW
Julie D PaprockiRussiaAnna Fali RENEWAL
Morrow M RutaCanadaAmy Elsner QUALIFIED
Munro Z AmigonGermanyIvan Magalhaes PROPOSAL
Julie W OstroskyGermanyStephen Shaw PROPOSAL
Clifford Q KolmetzFranceXuxue Feng RENEWAL
Murillo L ShinkoAustraliaElwin Sharvill QUALIFIED
Aika F DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Aditya X MarrierBrazilAnna Fali RENEWAL
Clifford N TollnerJapanOnyama Limba PROPOSAL
Jeanfrancois V WaycottJapanAsiya Javayant NEGOTIATION
Costa O WhobreySpainXuxue Feng NEW
Munro P BowleyCanadaAnna Fali PROPOSAL
Johnson A GauchoBrazilXuxue Feng NEW
Julie R StensethSpainAsiya Javayant PROPOSAL
Morrow J DilliardArgentinaStephen Shaw NEW
Salvatore C ButtGermanyAmy Elsner QUALIFIED
Maisha Q IturbideRussiaBernardo Dominic RENEWAL
Juan X BowleyFranceAmy Elsner UNQUALIFIED
Morrow W IturbideJapanAsiya Javayant PROPOSAL
Kadeem C StensethBrazilAnna Fali QUALIFIED
Arvin N DoeBrazilXuxue Feng RENEWAL
Stacey Z CaudyUnited KingdomAnna Fali RENEWAL
Adams W GillianJapanStephen Shaw QUALIFIED
Isabel D ChuiItalyStephen Shaw PROPOSAL
Isabel A VocelkaGermanyAnna Fali QUALIFIED
Munro W WaycottBrazilStephen Shaw NEGOTIATION
David N BriddickGermanyIoni Bowcher QUALIFIED
Chavez D RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Leja F OstroskyItalyElwin Sharvill QUALIFIED
Johnson C BologniaJapanIvan Magalhaes NEW
Arvin R GarufiUnited KingdomStephen Shaw NEW
Munro S GlickBrazilAsiya Javayant PROPOSAL
Mayumi N FlosiUnited KingdomIvan Magalhaes RENEWAL
Tony D MorascaRussiaAnna Fali NEW
Aditya W CampainAustraliaOnyama Limba NEW
Claire D FigeroaRussiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith R KuskoCanadaAsiya Javayant QUALIFIED
Claire M MaletAustraliaStephen Shaw QUALIFIED
Rodrigues M GlickBrazilAnna Fali PROPOSAL
Isabel U PoquetteBrazilOnyama Limba NEGOTIATION
Jennifer G DarakjyBrazilAsiya Javayant RENEWAL
David S MaletBrazilStephen Shaw QUALIFIED
Misaki I FlosiIndiaAmy Elsner QUALIFIED
Isabel O MarrierSpainAnna Fali NEGOTIATION
Greenwood J InouyeItalyIoni Bowcher PROPOSAL
Mujtaba X GlickIndiaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie U DoeFrance2024-06-03Chanay, Jeffrey A Esq NEGOTIATION18Stephen Shaw
1001Aika X CaudyBrazil2024-05-31Rousseaux, Michael Esq NEGOTIATION56Ivan Magalhaes
1002Octavia K AlbaresGermany2024-05-25Chanay, Jeffrey A Esq QUALIFIED14Amy Elsner
1003Juan E DoeFrance2024-06-01Buckley Miller Wright QUALIFIED74Onyama Limba
1004Sinclair K TollnerBrazil2024-05-31Rousseaux, Michael Esq PROPOSAL79Stephen Shaw
1005Juan A FigeroaJapan2024-06-07Benton, John B Jr NEGOTIATION99Amy Elsner
1006Adams I BriddickGermany2024-06-16Chemel, James L Cpa NEGOTIATION36Anna Fali
1007Ashley Y MaletFrance2024-05-25Printing Dimensions NEGOTIATION87Xuxue Feng
1008Kadeem W RimFrance2024-06-09Printing Dimensions QUALIFIED82Asiya Javayant
1009Silvio B StockhamItaly2024-05-31Commercial Press NEGOTIATION34Ivan Magalhaes
1010Ivar W PaprockiBrazil2024-06-08Chapman, Ross E Esq NEW17Elwin Sharvill
1011Jeanfrancois W FigeroaSpain2024-05-24Feltz Printing Service PROPOSAL93Asiya Javayant
1012Isabel W ButtAustralia2024-05-29Truhlar And Truhlar Attys PROPOSAL71Amy Elsner
1013Aruna Q WhobreyArgentina2024-05-30Chanay, Jeffrey A Esq RENEWAL57Ioni Bowcher
1014Ashley G CaudyGermany2024-06-19Printing Dimensions QUALIFIED31Amy Elsner
1015Jefferson N MacleadGermany2024-06-18Truhlar And Truhlar Attys UNQUALIFIED16Xuxue Feng
1016Nicolas C WhobreyAustralia2024-06-22Benton, John B Jr NEW51Elwin Sharvill
1017Claire R WaycottBrazil2024-05-29Commercial Press NEGOTIATION19Asiya Javayant
1018Jones J RulapaughBrazil2024-06-08Rangoni Of Florence PROPOSAL74Stephen Shaw
1019Aditya A MarrierFrance2024-06-05Printing Dimensions PROPOSAL99Ivan Magalhaes
1020Isabel N DarakjyCanada2024-06-05Feltz Printing Service NEGOTIATION62Onyama Limba
1021Ivar D RulapaughSpain2024-05-26Commercial Press NEW55Stephen Shaw
1022Adams V PerinGermany2024-06-05Chapman, Ross E Esq UNQUALIFIED69Ivan Magalhaes
1023Claire S MorascaJapan2024-06-22Rousseaux, Michael Esq NEW57Anna Fali
1024Octavia N BriddickItaly2024-06-02Feiner Bros PROPOSAL65Amy Elsner
1025David Y RutaCanada2024-05-30Rousseaux, Michael Esq UNQUALIFIED88Onyama Limba
1026Darci S SchemmerBrazil2024-06-05Feltz Printing Service RENEWAL8Ioni Bowcher
1027Munro K SlusarskiAustralia2024-06-05Dorl, James J Esq PROPOSAL5Asiya Javayant
1028Murillo J SlusarskiUnited Kingdom2024-05-25Chemel, James L Cpa QUALIFIED28Asiya Javayant
1029Maisha H GillianFrance2024-06-09Chemel, James L Cpa QUALIFIED55Amy Elsner
1030Izzy H CampainRussia2024-05-31Truhlar And Truhlar Attys RENEWAL0Amy Elsner
1031Deepesh Y VocelkaCanada2024-06-01Dorl, James J Esq NEW42Stephen Shaw
1032Kaitlin H MaletArgentina2024-06-03Printing Dimensions NEW85Bernardo Dominic
1033Clifford Q SchemmerFrance2024-06-18Dorl, James J Esq NEW11Ioni Bowcher
1034Ricardo X CaldareraBrazil2024-05-31Chanay, Jeffrey A Esq RENEWAL0Elwin Sharvill
1035Smith B SergiUnited Kingdom2024-06-12Dorl, James J Esq PROPOSAL26Elwin Sharvill
1036Maisha J WieserJapan2024-06-15Morlong Associates PROPOSAL86Ioni Bowcher
1037Mujtaba A OldroydAustralia2024-05-27Feiner Bros PROPOSAL40Amy Elsner
1038Rodrigues C MaletArgentina2024-06-19Dorl, James J Esq RENEWAL89Stephen Shaw
1039Sinclair R KolmetzCanada2024-06-09Morlong Associates RENEWAL32Elwin Sharvill
1040Sinclair U SlusarskiItaly2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED21Onyama Limba
1041Leja H RimSpain2024-06-07Commercial Press NEW66Amy Elsner
1042Costa O SaylorsArgentina2024-05-24Dorl, James J Esq UNQUALIFIED70Onyama Limba
1043Juan N MaletItaly2024-05-28Chanay, Jeffrey A Esq PROPOSAL96Bernardo Dominic
1044Alejandro Q StensethItaly2024-06-01Commercial Press NEGOTIATION52Bernardo Dominic
1045Jones C RutaAustralia2024-06-06Chemel, James L Cpa NEGOTIATION22Amy Elsner
1046Antonio P VenereGermany2024-06-21Feiner Bros RENEWAL83Bernardo Dominic
1047Izzy M SchemmerJapan2024-05-29Rangoni Of Florence PROPOSAL11Xuxue Feng
1048Jennifer B WaycottUnited Kingdom2024-06-01Morlong Associates UNQUALIFIED49Bernardo Dominic
1049Leon H BowleyRussia2024-05-31Chanay, Jeffrey A Esq NEW59Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Leja A BologniaSpainBernardo Dominic RENEWAL
Aruna M WhobreySpainAmy Elsner NEGOTIATION
Mujtaba T IturbideFranceBernardo Dominic NEGOTIATION
Juan V MaletItalyAmy Elsner NEGOTIATION
Julie D SlusarskiIndiaBernardo Dominic NEGOTIATION
Antonio P DoeRussiaElwin Sharvill NEGOTIATION
Julie U AmigonIndiaXuxue Feng NEW
Cody B RimItalyOnyama Limba PROPOSAL
Jones N PerinBrazilElwin Sharvill RENEWAL
Cody M WaycottJapanBernardo Dominic NEW
Maisha L SlusarskiAustraliaElwin Sharvill NEGOTIATION
Jennifer G MaletCanadaStephen Shaw RENEWAL
Misaki Q MaletJapanAsiya Javayant UNQUALIFIED
Adams F MorascaItalyAsiya Javayant QUALIFIED
Kaitlin A ShinkoUnited KingdomAnna Fali RENEWAL
Aditya N MaletArgentinaIoni Bowcher RENEWAL
Munro C StockhamFranceOnyama Limba QUALIFIED
David V AmigonItalyAsiya Javayant NEW
Wickens A OstroskyUnited KingdomAmy Elsner RENEWAL
Aruna I WaycottCanadaAsiya Javayant PROPOSAL
Juan M MorascaArgentinaXuxue Feng UNQUALIFIED
Chavez O RutaFranceBernardo Dominic NEW
Silvio O ChuiGermanyStephen Shaw PROPOSAL
Alejandro L StockhamArgentinaXuxue Feng PROPOSAL
Adams K NickaCanadaStephen Shaw QUALIFIED
Aruna O BriddickSpainElwin Sharvill RENEWAL
Jennifer G AlbaresRussiaXuxue Feng RENEWAL
Jones T NestleSpainIvan Magalhaes RENEWAL
Francesco H GarufiUnited KingdomIoni Bowcher RENEWAL
Costa P FerenczItalyAmy Elsner NEW
Ricardo Z StensethBrazilXuxue Feng NEW
Isabel K BologniaArgentinaIvan Magalhaes QUALIFIED
Salvatore F ChuiArgentinaIvan Magalhaes NEW
Darci R DoeSpainOnyama Limba NEW
Mayumi J GlickFranceAnna Fali QUALIFIED
Ivar I RutaAustraliaAnna Fali RENEWAL
Julie M SchemmerIndiaAsiya Javayant NEW
Clifford M BowleyUnited KingdomIoni Bowcher NEW
Mujtaba V CaudyFranceAnna Fali NEGOTIATION
Deepesh V StensethCanadaOnyama Limba NEW
Juan R BowleyGermanyXuxue Feng PROPOSAL
James C SaylorsFranceAmy Elsner UNQUALIFIED
Jeanfrancois K BriddickItalyXuxue Feng UNQUALIFIED
Smith V VenereAustraliaOnyama Limba PROPOSAL
Munro S CaldareraRussiaStephen Shaw NEW
Maisha U VocelkaAustraliaAmy Elsner NEW
Antonio Y NickaIndiaXuxue Feng RENEWAL
Aditya I AlbaresFranceIvan Magalhaes NEW
Jeanfrancois M KuskoGermanyIvan Magalhaes NEW
Rodrigues K ButtIndiaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Stacey U Flosi
Munro G Kusko
Emily T Royster
Clifford C Caldarera
Aruna E Oldroyd
Isabel G Glick
Faith M Iturbide
Leon K Marrier
Mujtaba P Royster
Jennifer F Rulapaugh
Greenwood L Butt
Murillo H Butt
Jefferson N Maclead
Aika F Ruta
Smith S Royster
Julie A Ruta
Tony R Briddick
Chavez V Amigon
Tony B Caldarera
Aruna P Flosi
Aruna I Nicka
Arvin E Stenseth
Faith Y Bolognia
Jeanfrancois Z Waycott
James L Garufi
Alejandro P Sergi
Leja B Caldarera
Morrow C Flosi
Rodrigues F Kusko
Deepesh E Tollner
Nicolas Y Maclead
Johnson N Rulapaugh
Kaitlin A Malet
Wickens F Rim
James M Rim
James F Iturbide
Ashley U Marrier
Mayumi V Amigon
Jeanfrancois H Chui
Antonio C Ruta
Jennifer L Stenseth
Jeanfrancois Q Royster
Costa O Shinko
Silvio F Amigon
Morrow H Figeroa
Arvin M Garufi
Mayumi J Sergi
David J Bowley
Faith N Malet
Alejandro T Oldroyd
IdCountryDate
1000United Kingdom2024-06-06
1001Brazil2024-06-02
1002Italy2024-06-12
1003Spain2024-06-12
1004Brazil2024-06-11
1005France2024-06-16
1006Brazil2024-06-22
1007United Kingdom2024-05-29
1008Argentina2024-05-25
1009Russia2024-06-10
1010Italy2024-06-16
1011Italy2024-06-17
1012Italy2024-05-25
1013Canada2024-06-18
1014United Kingdom2024-06-12
1015United Kingdom2024-05-30
1016Brazil2024-05-24
1017France2024-05-24
1018France2024-05-31
1019Brazil2024-06-11
1020India2024-05-25
1021Germany2024-05-24
1022Australia2024-06-09
1023Brazil2024-06-10
1024Argentina2024-06-20
1025Germany2024-06-21
1026Japan2024-05-31
1027Spain2024-06-02
1028Australia2024-05-29
1029Russia2024-06-11
1030Italy2024-06-02
1031India2024-05-31
1032Australia2024-06-14
1033France2024-06-17
1034Canada2024-06-06
1035India2024-06-11
1036Australia2024-06-20
1037United Kingdom2024-06-14
1038Italy2024-05-29
1039India2024-06-02
1040Canada2024-05-28
1041Canada2024-06-03
1042Canada2024-06-14
1043Brazil2024-05-27
1044Japan2024-06-09
1045France2024-06-07
1046Germany2024-05-28
1047Spain2024-06-22
1048Germany2024-06-19
1049Germany2024-06-02

On-Demand Data

NameIdCountryDate
Sinclair V Schemmer1000Spain2024-06-14
Alejandro A Whobrey1001Germany2024-06-06
Stacey K Inouye1002Australia2024-06-06
Isabel H Maclead1003United Kingdom2024-05-31
Ricardo Y Figeroa1004Canada2024-05-25
Kaitlin S Darakjy1005Brazil2024-05-25
Stacey O Ostrosky1006Brazil2024-05-31
Munro R Sergi1007India2024-06-21
Tony O Iturbide1008Canada2024-05-25
Greenwood W Tollner1009United Kingdom2024-05-24
Johnson M Inouye1010Argentina2024-06-14
Sinclair E Vocelka1011India2024-05-28
Nicolas J Venere1012Italy2024-05-29
Aditya N Poquette1013Argentina2024-06-13
Faith F Paprocki1014Argentina2024-06-02
Jeanfrancois Y Caldarera1015Spain2024-06-03
Aruna N Bowley1016Canada2024-05-30
Maisha B Flosi1017United Kingdom2024-06-07
Mayumi Q Caldarera1018Argentina2024-05-31
Rodrigues Q Poquette1019United Kingdom2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh G OldroydSpainIoni Bowcher RENEWAL
Salvatore U SchemmerCanadaXuxue Feng NEGOTIATION
Morrow H SchemmerArgentinaStephen Shaw NEW
Faith U MarrierItalyIvan Magalhaes NEGOTIATION
Maria S SergiIndiaAsiya Javayant UNQUALIFIED
Murillo P SchemmerFranceStephen Shaw NEGOTIATION
Tony E BriddickSpainStephen Shaw RENEWAL
Adams H SchemmerAustraliaAnna Fali QUALIFIED
Salvatore Q BologniaItalyIoni Bowcher NEGOTIATION
Jeanfrancois Z RoysterItalyXuxue Feng RENEWAL
Cody B RimItalyIvan Magalhaes PROPOSAL
Leja Q SergiBrazilOnyama Limba PROPOSAL
Aika Y FigeroaCanadaIoni Bowcher QUALIFIED
David H WaycottBrazilOnyama Limba PROPOSAL
Salvatore S RimAustraliaAmy Elsner UNQUALIFIED
Wickens F MaletArgentinaOnyama Limba PROPOSAL
Johnson H CaldareraItalyOnyama Limba UNQUALIFIED
Aika K ChuiArgentinaOnyama Limba UNQUALIFIED
Kadeem K NestleUnited KingdomIoni Bowcher UNQUALIFIED
Stacey Y OstroskyIndiaBernardo Dominic NEGOTIATION
Izzy O PoquetteIndiaBernardo Dominic PROPOSAL
David U MarrierRussiaAnna Fali PROPOSAL
Octavia T KolmetzCanadaAsiya Javayant QUALIFIED
Ricardo S WieserGermanyIoni Bowcher PROPOSAL
Mujtaba F RoysterBrazilElwin Sharvill RENEWAL
Leja B MacleadRussiaAmy Elsner NEW
Francesco E PerinJapanIvan Magalhaes NEW
Aika U MacleadJapanStephen Shaw NEGOTIATION
David Q TollnerFranceAsiya Javayant QUALIFIED
Sinclair G RulapaughAustraliaStephen Shaw RENEWAL
Silvio D CampainGermanyIoni Bowcher PROPOSAL
Wickens V GlickFranceBernardo Dominic PROPOSAL
Jones Y FerenczArgentinaStephen Shaw QUALIFIED
Clifford B RoysterGermanyAsiya Javayant PROPOSAL
Clifford M GauchoArgentinaAmy Elsner QUALIFIED
Murillo N MacleadSpainIvan Magalhaes UNQUALIFIED
Silvio O MaletIndiaXuxue Feng UNQUALIFIED
Leon C MarrierArgentinaAnna Fali NEGOTIATION
Maisha V ChuiAustraliaAmy Elsner UNQUALIFIED
Izzy A GillianBrazilAnna Fali 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>