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
Francesco X ChuiUnited KingdomElwin Sharvill NEW
Greenwood B FollerItalyXuxue Feng RENEWAL
Greenwood R ChuiCanadaAmy Elsner NEW
Jennifer S OldroydAustraliaStephen Shaw QUALIFIED
Adams F GarufiSpainXuxue Feng RENEWAL
Aditya N AlbaresArgentinaIvan Magalhaes QUALIFIED
Johnson S ChuiIndiaOnyama Limba PROPOSAL
Kaitlin T OldroydSpainAmy Elsner QUALIFIED
Maisha W GarufiFranceIvan Magalhaes UNQUALIFIED
Sinclair K VocelkaArgentinaAnna Fali RENEWAL
Emily J ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Ivar D NickaIndiaElwin Sharvill RENEWAL
Morrow T StensethCanadaAsiya Javayant NEGOTIATION
Maria Z RimIndiaXuxue Feng PROPOSAL
Faith S WhobreyCanadaStephen Shaw NEGOTIATION
Aditya C WaycottItalyIvan Magalhaes QUALIFIED
Aditya O ChuiAustraliaStephen Shaw RENEWAL
Chavez E NickaIndiaIoni Bowcher RENEWAL
Isabel T GarufiBrazilOnyama Limba UNQUALIFIED
Francesco C StockhamIndiaElwin Sharvill NEGOTIATION
Kadeem Y OstroskySpainElwin Sharvill PROPOSAL
Emily M NestleCanadaIvan Magalhaes RENEWAL
Jeanfrancois R SaylorsArgentinaOnyama Limba PROPOSAL
Mayumi B VocelkaBrazilOnyama Limba QUALIFIED
Smith R WaycottUnited KingdomIvan Magalhaes PROPOSAL
Antonio H StensethRussiaElwin Sharvill NEGOTIATION
James Z IturbideGermanyAnna Fali NEW
Darci E CampainItalyIvan Magalhaes PROPOSAL
David S WhobreyArgentinaAsiya Javayant PROPOSAL
Claire P FigeroaIndiaIvan Magalhaes NEGOTIATION
Adams N MacleadAustraliaIvan Magalhaes UNQUALIFIED
Silvio H OldroydItalyIvan Magalhaes RENEWAL
Stacey U CaldareraJapanAsiya Javayant NEW
Misaki L StockhamArgentinaStephen Shaw QUALIFIED
Misaki G MaletCanadaBernardo Dominic NEW
Johnson T NickaJapanElwin Sharvill NEGOTIATION
Murillo Q NestleCanadaOnyama Limba QUALIFIED
Francesco F BriddickUnited KingdomIoni Bowcher NEGOTIATION
Claire V OstroskyFranceStephen Shaw NEW
David Y RoysterGermanyIoni Bowcher RENEWAL
Johnson Z WaycottAustraliaAmy Elsner QUALIFIED
Ricardo S RutaUnited KingdomOnyama Limba PROPOSAL
Sinclair T CaldareraAustraliaOnyama Limba NEGOTIATION
Deepesh M StockhamArgentinaElwin Sharvill RENEWAL
Aditya I GillianCanadaElwin Sharvill PROPOSAL
Silvio S WaycottCanadaAnna Fali RENEWAL
Julie H StockhamRussiaBernardo Dominic NEW
Juan X SchemmerJapanElwin Sharvill UNQUALIFIED
Wickens F DarakjyArgentinaElwin Sharvill QUALIFIED
Faith P RulapaughBrazilXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio P IturbideGermanyStephen Shaw NEW
Antonio N KolmetzJapanAmy Elsner QUALIFIED
Deepesh V ChuiSpainIvan Magalhaes QUALIFIED
Izzy Y NestleSpainIoni Bowcher PROPOSAL
Murillo X DarakjyAustraliaAmy Elsner NEGOTIATION
Misaki J NickaFranceAsiya Javayant UNQUALIFIED
David X FollerFranceElwin Sharvill UNQUALIFIED
Arvin U KuskoArgentinaElwin Sharvill RENEWAL
Misaki G RimSpainStephen Shaw QUALIFIED
Darci Y ShinkoSpainBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie Z GauchoGermany2026-07-12Dorl, James J Esq QUALIFIED44Amy Elsner
1001Ashley P RimAustralia2026-07-21Chapman, Ross E Esq QUALIFIED54Bernardo Dominic
1002Silvio X WaycottIndia2026-06-28Chanay, Jeffrey A Esq QUALIFIED17Anna Fali
1003Francesco E MarrierFrance2026-07-07Morlong Associates NEW46Amy Elsner
1004Chavez F SlusarskiCanada2026-07-22Rangoni Of Florence RENEWAL32Bernardo Dominic
1005Octavia P DilliardCanada2026-06-27Feiner Bros QUALIFIED12Ivan Magalhaes
1006Emily P KolmetzFrance2026-07-10King, Christopher A Esq RENEWAL70Stephen Shaw
1007Jeanfrancois T RutaSpain2026-07-13Dorl, James J Esq NEGOTIATION4Xuxue Feng
1008Silvio V KuskoGermany2026-07-23Benton, John B Jr NEW6Amy Elsner
1009Johnson P VenereItaly2026-07-04King, Christopher A Esq RENEWAL41Amy Elsner
1010Morrow H GillianIndia2026-07-06Commercial Press NEW63Anna Fali
1011Aruna G FigeroaArgentina2026-07-06Chanay, Jeffrey A Esq NEW74Onyama Limba
1012Morrow H BriddickJapan2026-07-15Feltz Printing Service PROPOSAL86Xuxue Feng
1013Maria N SlusarskiRussia2026-07-02Feltz Printing Service PROPOSAL60Anna Fali
1014Arvin N CaudyJapan2026-07-01Printing Dimensions RENEWAL62Anna Fali
1015Silvio D OstroskyItaly2026-07-04Commercial Press RENEWAL37Bernardo Dominic
1016Smith U PaprockiBrazil2026-07-04Commercial Press QUALIFIED13Stephen Shaw
1017Cody B StensethBrazil2026-07-09Dorl, James J Esq NEW53Xuxue Feng
1018Mujtaba Z AmigonBrazil2026-07-01Feiner Bros NEGOTIATION88Amy Elsner
1019Chavez M SaylorsGermany2026-07-23Benton, John B Jr RENEWAL8Onyama Limba
1020Clifford X DarakjyItaly2026-07-02Rangoni Of Florence NEGOTIATION20Onyama Limba
1021Juan R NickaAustralia2026-07-12Feltz Printing Service RENEWAL27Elwin Sharvill
1022Costa H SchemmerCanada2026-07-22Chapman, Ross E Esq NEW3Anna Fali
1023Salvatore U ButtArgentina2026-07-19Chanay, Jeffrey A Esq UNQUALIFIED74Xuxue Feng
1024Aditya P StensethItaly2026-07-13Morlong Associates NEGOTIATION45Ivan Magalhaes
1025Arvin L AmigonSpain2026-07-11Rangoni Of Florence NEW15Asiya Javayant
1026Isabel D RulapaughRussia2026-07-11Chanay, Jeffrey A Esq UNQUALIFIED46Ivan Magalhaes
1027Adams B FerenczFrance2026-07-23Benton, John B Jr NEW42Stephen Shaw
1028Julie D OldroydSpain2026-07-22King, Christopher A Esq RENEWAL20Xuxue Feng
1029Kaitlin G DoeFrance2026-07-07Printing Dimensions RENEWAL44Anna Fali
1030Kaitlin Y VocelkaCanada2026-07-13Dorl, James J Esq QUALIFIED56Xuxue Feng
1031Claire B NickaItaly2026-07-15Printing Dimensions PROPOSAL26Onyama Limba
1032Izzy D CaldareraAustralia2026-07-13Rangoni Of Florence QUALIFIED66Amy Elsner
1033Adams C RutaJapan2026-07-12Chanay, Jeffrey A Esq QUALIFIED17Onyama Limba
1034Smith O WaycottBrazil2026-07-11Chemel, James L Cpa UNQUALIFIED57Ioni Bowcher
1035Mayumi M CampainBrazil2026-07-01Rangoni Of Florence PROPOSAL98Onyama Limba
1036Jefferson W GauchoItaly2026-06-28Morlong Associates NEW67Anna Fali
1037Smith Y WieserArgentina2026-07-23Chemel, James L Cpa NEGOTIATION62Anna Fali
1038Arvin H MorascaItaly2026-06-29Commercial Press PROPOSAL17Ivan Magalhaes
1039Maria N MaletJapan2026-07-14Buckley Miller Wright PROPOSAL72Amy Elsner
1040Mayumi Y VocelkaCanada2026-07-13Morlong Associates QUALIFIED46Ioni Bowcher
1041Emily Q NestleIndia2026-06-28Feltz Printing Service PROPOSAL71Stephen Shaw
1042Deepesh A BowleyItaly2026-06-26Buckley Miller Wright QUALIFIED48Anna Fali
1043Darci G PerinAustralia2026-07-25King, Christopher A Esq PROPOSAL59Onyama Limba
1044Adams P VocelkaBrazil2026-07-12Chapman, Ross E Esq UNQUALIFIED47Ioni Bowcher
1045James E ChuiSpain2026-07-07Buckley Miller Wright NEW31Asiya Javayant
1046Jefferson D MaletIndia2026-07-23Printing Dimensions RENEWAL38Ioni Bowcher
1047Rodrigues Z BriddickItaly2026-07-20Dorl, James J Esq NEW44Bernardo Dominic
1048Faith B OldroydIndia2026-07-14Rangoni Of Florence RENEWAL97Ivan Magalhaes
1049Costa M BriddickCanada2026-07-15Truhlar And Truhlar Attys PROPOSAL84Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Aruna H BriddickBrazilIoni Bowcher PROPOSAL
Tony B CampainRussiaOnyama Limba QUALIFIED
Leja B GlickFranceBernardo Dominic RENEWAL
Leon U VocelkaIndiaOnyama Limba PROPOSAL
Leon C VocelkaGermanyAmy Elsner QUALIFIED
Sinclair K PaprockiBrazilOnyama Limba UNQUALIFIED
Kaitlin G ChuiRussiaIvan Magalhaes NEGOTIATION
Alejandro A RutaItalyAsiya Javayant UNQUALIFIED
Greenwood Y SergiBrazilElwin Sharvill QUALIFIED
Misaki D WaycottItalyBernardo Dominic PROPOSAL
Jones O WaycottSpainStephen Shaw QUALIFIED
Jones Z WhobreyUnited KingdomBernardo Dominic PROPOSAL
Emily B IturbideFranceBernardo Dominic PROPOSAL
Kaitlin N AlbaresIndiaOnyama Limba RENEWAL
Faith Z FlosiFranceIvan Magalhaes NEGOTIATION
Claire R SlusarskiSpainXuxue Feng PROPOSAL
Munro B AmigonArgentinaAsiya Javayant RENEWAL
Kadeem U MacleadUnited KingdomIvan Magalhaes PROPOSAL
Murillo W NestleFranceStephen Shaw NEGOTIATION
Mayumi D RimIndiaAmy Elsner UNQUALIFIED
Emily Q MaletAustraliaBernardo Dominic QUALIFIED
Cody W OldroydGermanyOnyama Limba NEW
Kadeem C MaletCanadaAmy Elsner QUALIFIED
Juan J StockhamBrazilIoni Bowcher UNQUALIFIED
Izzy F PoquetteItalyElwin Sharvill PROPOSAL
Maisha Y OstroskyIndiaAmy Elsner NEGOTIATION
Smith J MaletArgentinaAmy Elsner QUALIFIED
Kadeem Q GauchoGermanyBernardo Dominic RENEWAL
Clifford X MaletSpainAsiya Javayant RENEWAL
Chavez I PoquetteRussiaElwin Sharvill NEW
Ivar L ShinkoIndiaBernardo Dominic PROPOSAL
Antonio U KuskoFranceAsiya Javayant PROPOSAL
Stacey T SergiJapanElwin Sharvill PROPOSAL
Wickens U AmigonUnited KingdomXuxue Feng NEW
Johnson C KolmetzFranceOnyama Limba NEGOTIATION
Emily S StockhamSpainOnyama Limba NEW
Jones P MaletItalyStephen Shaw UNQUALIFIED
Jeanfrancois G NickaCanadaElwin Sharvill QUALIFIED
Isabel W PoquetteAustraliaOnyama Limba RENEWAL
Murillo B MorascaSpainAnna Fali RENEWAL
Cody F InouyeSpainElwin Sharvill UNQUALIFIED
Costa H ShinkoItalyXuxue Feng PROPOSAL
Tony Q AmigonJapanElwin Sharvill UNQUALIFIED
Alejandro Z VocelkaRussiaStephen Shaw UNQUALIFIED
Maria D TollnerBrazilAnna Fali NEW
Ashley S WaycottFranceBernardo Dominic RENEWAL
Mujtaba R IturbideRussiaElwin Sharvill NEGOTIATION
Murillo C SergiArgentinaOnyama Limba NEGOTIATION
Aditya M FlosiRussiaIoni Bowcher NEGOTIATION
Deepesh H DilliardArgentinaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Leja A Malet
Munro U Albares
Ricardo W Kusko
Ashley N Caudy
Nicolas K Doe
Johnson P Amigon
David F Venere
Darci Y Waycott
Maria N Albares
Rodrigues N Stenseth
David M Malet
Morrow L Caudy
Ashley Q Glick
Claire E Iturbide
Chavez Y Stockham
Kaitlin L Sergi
James F Kusko
Jeanfrancois F Iturbide
Jones X Malet
Adams Y Vocelka
Costa F Bolognia
Julie D Marrier
Jones G Iturbide
Deepesh V Glick
Mujtaba K Glick
Maisha J Glick
Tony B Butt
Aruna V Campain
Munro B Albares
Wickens W Darakjy
Ricardo O Doe
Johnson G Rulapaugh
Chavez P Ferencz
Sinclair N Paprocki
Alejandro T Saylors
David H Ostrosky
Smith V Figeroa
Leon P Whobrey
Sinclair V Venere
Arvin Y Darakjy
Greenwood H Saylors
Kadeem K Morasca
Isabel S Tollner
Izzy G Ruta
Misaki G Nestle
Antonio F Flosi
Arvin N Shinko
Isabel A Tollner
Izzy G Stockham
Misaki Z Inouye
IdCountryDate
1000United Kingdom2026-07-17
1001Brazil2026-07-25
1002Canada2026-07-02
1003Australia2026-07-16
1004Germany2026-06-27
1005Russia2026-06-26
1006Italy2026-07-16
1007India2026-07-15
1008France2026-07-20
1009United Kingdom2026-06-29
1010United Kingdom2026-07-17
1011Spain2026-07-17
1012Brazil2026-07-24
1013Brazil2026-07-25
1014Brazil2026-07-10
1015Spain2026-07-23
1016Italy2026-07-24
1017Argentina2026-07-01
1018Japan2026-07-25
1019Argentina2026-07-17
1020France2026-07-07
1021Italy2026-07-25
1022Russia2026-07-23
1023France2026-07-05
1024Australia2026-07-08
1025Canada2026-07-22
1026Brazil2026-07-13
1027Argentina2026-06-30
1028Italy2026-07-13
1029France2026-07-17
1030Germany2026-07-19
1031Russia2026-07-11
1032Brazil2026-07-09
1033Germany2026-07-16
1034France2026-07-11
1035Spain2026-07-13
1036Canada2026-07-18
1037Argentina2026-07-18
1038Argentina2026-07-05
1039Germany2026-06-29
1040Australia2026-07-06
1041Japan2026-07-11
1042Italy2026-06-29
1043India2026-07-12
1044Argentina2026-07-25
1045Italy2026-07-02
1046Canada2026-07-07
1047United Kingdom2026-07-02
1048Canada2026-07-02
1049Brazil2026-07-14

On-Demand Data

NameIdCountryDate
Jeanfrancois K Flosi1000United Kingdom2026-07-25
David W Shinko1001Italy2026-07-19
Smith P Shinko1002Italy2026-07-20
Izzy J Stockham1003United Kingdom2026-07-21
Costa P Darakjy1004Canada2026-06-26
Leon Z Amigon1005Germany2026-07-18
Deepesh F Dilliard1006United Kingdom2026-07-23
Julie Q Doe1007Australia2026-07-01
Mujtaba S Paprocki1008Japan2026-07-05
Antonio E Albares1009Australia2026-07-22
Jones B Ferencz1010Japan2026-07-04
Juan V Nestle1011Argentina2026-07-24
Emily Q Sergi1012Canada2026-07-05
Maisha U Tollner1013Argentina2026-07-23
Morrow L Ferencz1014Spain2026-07-20
Sinclair R Amigon1015France2026-07-17
Johnson L Albares1016Canada2026-07-07
Octavia N Darakjy1017Germany2026-07-23
Darci Q Iturbide1018Russia2026-07-22
Tony W Whobrey1019Canada2026-07-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin K TollnerGermanyAnna Fali PROPOSAL
David V StensethItalyIoni Bowcher UNQUALIFIED
Aika U RulapaughAustraliaOnyama Limba RENEWAL
Chavez R WaycottGermanyOnyama Limba NEGOTIATION
Johnson J MaletSpainIvan Magalhaes UNQUALIFIED
Jones Y SlusarskiFranceBernardo Dominic QUALIFIED
Kaitlin E KuskoCanadaOnyama Limba NEW
Faith T FigeroaIndiaAnna Fali NEGOTIATION
Rodrigues V RutaIndiaOnyama Limba RENEWAL
Sinclair J MacleadGermanyAnna Fali NEW
Salvatore S MacleadJapanAnna Fali UNQUALIFIED
Misaki K ShinkoUnited KingdomAmy Elsner RENEWAL
Deepesh A NickaItalyAsiya Javayant QUALIFIED
Isabel E GillianIndiaIvan Magalhaes RENEWAL
Leja D GarufiAustraliaAsiya Javayant RENEWAL
Kaitlin P PerinUnited KingdomAmy Elsner RENEWAL
Ashley S MarrierCanadaStephen Shaw RENEWAL
Jones J NestleBrazilAsiya Javayant NEW
Francesco S CaudyIndiaBernardo Dominic PROPOSAL
Misaki X DilliardItalyBernardo Dominic QUALIFIED
Adams U WhobreyJapanXuxue Feng RENEWAL
Octavia B BriddickCanadaIoni Bowcher QUALIFIED
Leja B ChuiJapanAnna Fali PROPOSAL
Wickens O MarrierSpainAmy Elsner NEGOTIATION
Jones D PaprockiFranceAmy Elsner NEGOTIATION
Chavez U FlosiUnited KingdomIvan Magalhaes NEW
Clifford I TollnerArgentinaXuxue Feng NEGOTIATION
Adams J StensethAustraliaAsiya Javayant NEW
Alejandro Z BriddickFranceIvan Magalhaes NEGOTIATION
Jones F GauchoFranceAsiya Javayant PROPOSAL
Aditya A RulapaughIndiaIoni Bowcher NEW
Isabel L ShinkoIndiaXuxue Feng PROPOSAL
Emily R FlosiGermanyAmy Elsner UNQUALIFIED
Smith O DilliardJapanIoni Bowcher NEGOTIATION
Greenwood I VocelkaCanadaIvan Magalhaes QUALIFIED
Smith F FollerRussiaIoni Bowcher UNQUALIFIED
Aditya P PaprockiFranceIvan Magalhaes NEW
Ivar Q MarrierArgentinaElwin Sharvill UNQUALIFIED
Costa W IturbideItalyIvan Magalhaes QUALIFIED
Claire W VocelkaJapanAnna Fali 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>