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
Aika D MaletJapanStephen Shaw UNQUALIFIED
Leon J GauchoRussiaAmy Elsner QUALIFIED
Wickens T ButtFranceXuxue Feng NEGOTIATION
Juan K BriddickCanadaAmy Elsner QUALIFIED
Morrow M FollerItalyXuxue Feng PROPOSAL
Isabel M GillianItalyAnna Fali UNQUALIFIED
Ricardo X GarufiCanadaIoni Bowcher NEW
Deepesh S VocelkaJapanAmy Elsner NEW
Ashley X MorascaSpainStephen Shaw PROPOSAL
Julie N KolmetzGermanyStephen Shaw UNQUALIFIED
Morrow S RulapaughCanadaAsiya Javayant QUALIFIED
Leon O MacleadArgentinaXuxue Feng NEGOTIATION
Stacey H MorascaJapanXuxue Feng NEGOTIATION
Aika R FollerAustraliaXuxue Feng RENEWAL
Nicolas L DilliardAustraliaOnyama Limba PROPOSAL
Jones X SchemmerSpainElwin Sharvill PROPOSAL
Johnson A SchemmerGermanyXuxue Feng NEW
Ricardo H MarrierBrazilStephen Shaw NEGOTIATION
James C NestleFranceOnyama Limba RENEWAL
Darci S NestleItalyIvan Magalhaes RENEWAL
Kaitlin V TollnerJapanStephen Shaw PROPOSAL
Mayumi C NestleArgentinaIvan Magalhaes PROPOSAL
Greenwood Q GauchoFranceElwin Sharvill RENEWAL
Johnson G BowleyItalyXuxue Feng NEW
Johnson Y NestleUnited KingdomBernardo Dominic RENEWAL
Jennifer T NickaIndiaOnyama Limba NEW
Ivar Z SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba W CaudyItalyIvan Magalhaes NEGOTIATION
Mayumi U FerenczBrazilStephen Shaw PROPOSAL
Aruna P FlosiIndiaElwin Sharvill NEGOTIATION
Smith U KolmetzIndiaAsiya Javayant PROPOSAL
Jeanfrancois Y MaletItalyXuxue Feng RENEWAL
Ivar Y KolmetzArgentinaIoni Bowcher NEW
Mayumi E MaletCanadaAmy Elsner PROPOSAL
Octavia T SchemmerAustraliaAnna Fali QUALIFIED
Jefferson B MarrierJapanIoni Bowcher UNQUALIFIED
Nicolas Y GauchoArgentinaAsiya Javayant QUALIFIED
Clifford R FollerGermanyXuxue Feng QUALIFIED
Mayumi I IturbideItalyXuxue Feng UNQUALIFIED
Johnson N FerenczItalyAsiya Javayant RENEWAL
Stacey F WhobreyBrazilAmy Elsner RENEWAL
Rodrigues A StockhamArgentinaAsiya Javayant PROPOSAL
Munro Y ButtFranceBernardo Dominic QUALIFIED
Silvio M KolmetzBrazilAmy Elsner NEGOTIATION
Adams A WieserGermanyAnna Fali UNQUALIFIED
Morrow R PaprockiRussiaIvan Magalhaes QUALIFIED
David U InouyeBrazilAnna Fali PROPOSAL
Smith A FlosiUnited KingdomElwin Sharvill NEW
Kadeem W MaletGermanyElwin Sharvill NEGOTIATION
James E CampainSpainBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio M MarrierSpainStephen Shaw QUALIFIED
Francesco Q SergiFranceStephen Shaw NEW
Leon Z ButtAustraliaStephen Shaw NEGOTIATION
Francesco N OstroskyUnited KingdomBernardo Dominic NEGOTIATION
Murillo L DarakjyRussiaBernardo Dominic UNQUALIFIED
Smith W NickaUnited KingdomXuxue Feng NEGOTIATION
Izzy X RulapaughSpainOnyama Limba QUALIFIED
Jennifer R BowleySpainElwin Sharvill RENEWAL
Nicolas Y NestleJapanOnyama Limba NEGOTIATION
Deepesh J AlbaresSpainBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David V SchemmerBrazil2026-06-13Morlong Associates NEW4Amy Elsner
1001Misaki Q RutaBrazil2026-06-29Morlong Associates NEW1Stephen Shaw
1002Morrow L GauchoIndia2026-06-22Truhlar And Truhlar Attys PROPOSAL11Amy Elsner
1003Leja G PaprockiFrance2026-06-21Printing Dimensions NEGOTIATION45Stephen Shaw
1004Rodrigues K PoquetteAustralia2026-06-11Chapman, Ross E Esq NEGOTIATION3Ioni Bowcher
1005Stacey Y MorascaArgentina2026-06-16Rangoni Of Florence RENEWAL36Ioni Bowcher
1006James C GarufiFrance2026-06-10Chapman, Ross E Esq PROPOSAL9Ivan Magalhaes
1007Kadeem T KuskoAustralia2026-06-23Chapman, Ross E Esq NEGOTIATION38Asiya Javayant
1008Misaki P GlickBrazil2026-06-15Rousseaux, Michael Esq NEW74Bernardo Dominic
1009Julie V SaylorsUnited Kingdom2026-06-14Benton, John B Jr NEW31Stephen Shaw
1010Aditya P KuskoJapan2026-06-14Morlong Associates NEGOTIATION25Stephen Shaw
1011Mujtaba T InouyeFrance2026-06-23Printing Dimensions PROPOSAL5Elwin Sharvill
1012David H OldroydBrazil2026-06-14Truhlar And Truhlar Attys QUALIFIED26Ivan Magalhaes
1013Octavia Q StockhamJapan2026-06-16Morlong Associates RENEWAL8Bernardo Dominic
1014Adams D FigeroaFrance2026-06-28Chanay, Jeffrey A Esq NEW63Ivan Magalhaes
1015Claire G MorascaUnited Kingdom2026-06-30Morlong Associates PROPOSAL93Stephen Shaw
1016Murillo W AmigonAustralia2026-06-19Rangoni Of Florence NEGOTIATION39Ioni Bowcher
1017Alejandro A OstroskyJapan2026-06-10Chapman, Ross E Esq QUALIFIED12Asiya Javayant
1018Clifford W WaycottArgentina2026-06-15Dorl, James J Esq PROPOSAL8Ioni Bowcher
1019Isabel V FollerFrance2026-06-25Rangoni Of Florence QUALIFIED75Onyama Limba
1020Leja P DoeAustralia2026-06-13Feiner Bros NEW91Xuxue Feng
1021Claire O ButtSpain2026-06-15Truhlar And Truhlar Attys NEW84Anna Fali
1022Adams F PerinAustralia2026-06-23Dorl, James J Esq NEGOTIATION9Asiya Javayant
1023Silvio U BriddickFrance2026-07-07Truhlar And Truhlar Attys QUALIFIED48Amy Elsner
1024Leja K VocelkaItaly2026-06-21Truhlar And Truhlar Attys UNQUALIFIED4Stephen Shaw
1025Tony V GarufiUnited Kingdom2026-06-16Buckley Miller Wright UNQUALIFIED75Ivan Magalhaes
1026Jennifer O RulapaughIndia2026-06-30Chapman, Ross E Esq NEW55Elwin Sharvill
1027Kadeem A ChuiItaly2026-06-14Rousseaux, Michael Esq PROPOSAL16Anna Fali
1028Darci W NestleIndia2026-07-05Dorl, James J Esq NEW87Stephen Shaw
1029Deepesh K MaletIndia2026-06-18King, Christopher A Esq NEGOTIATION14Xuxue Feng
1030Misaki Z BologniaFrance2026-06-19King, Christopher A Esq RENEWAL50Ivan Magalhaes
1031Kadeem H ChuiIndia2026-07-03Rangoni Of Florence QUALIFIED16Ivan Magalhaes
1032Arvin K BriddickArgentina2026-06-26Feiner Bros QUALIFIED5Ioni Bowcher
1033Jefferson L PaprockiArgentina2026-06-23Rousseaux, Michael Esq NEW65Ivan Magalhaes
1034James Y PoquetteGermany2026-07-07Chapman, Ross E Esq NEGOTIATION63Amy Elsner
1035Alejandro K MorascaSpain2026-06-20Morlong Associates PROPOSAL48Onyama Limba
1036Costa V PaprockiArgentina2026-06-18Rangoni Of Florence RENEWAL23Bernardo Dominic
1037Rodrigues W TollnerUnited Kingdom2026-06-24Feltz Printing Service QUALIFIED11Stephen Shaw
1038Rodrigues Z PoquetteBrazil2026-06-29Feltz Printing Service NEW83Onyama Limba
1039Ashley Y OstroskyGermany2026-06-27Rousseaux, Michael Esq NEGOTIATION82Ivan Magalhaes
1040Rodrigues M RimGermany2026-06-22Chapman, Ross E Esq RENEWAL55Xuxue Feng
1041Octavia G ShinkoArgentina2026-06-12Chemel, James L Cpa QUALIFIED0Bernardo Dominic
1042Juan S WaycottJapan2026-06-28Dorl, James J Esq NEGOTIATION62Asiya Javayant
1043Nicolas H TollnerGermany2026-06-18King, Christopher A Esq PROPOSAL67Asiya Javayant
1044Cody Y BowleyCanada2026-06-28Chemel, James L Cpa RENEWAL42Elwin Sharvill
1045Clifford Z NestleBrazil2026-06-10Rousseaux, Michael Esq RENEWAL70Ioni Bowcher
1046Silvio G CaudyItaly2026-07-08Chemel, James L Cpa PROPOSAL51Bernardo Dominic
1047Munro T MorascaGermany2026-06-13Printing Dimensions QUALIFIED26Bernardo Dominic
1048Claire A DilliardJapan2026-06-26Rangoni Of Florence QUALIFIED39Amy Elsner
1049Ashley R WhobreyBrazil2026-06-11Buckley Miller Wright NEGOTIATION17Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Octavia V OldroydSpainIvan Magalhaes RENEWAL
Emily O OstroskyItalyXuxue Feng QUALIFIED
Francesco D DoeGermanyElwin Sharvill PROPOSAL
Misaki R SaylorsRussiaAmy Elsner UNQUALIFIED
Ricardo Y MarrierSpainAnna Fali NEW
Leon Z IturbideAustraliaXuxue Feng QUALIFIED
Jones F KuskoRussiaOnyama Limba UNQUALIFIED
Rodrigues D RoysterJapanAsiya Javayant NEW
Misaki F KolmetzSpainIvan Magalhaes UNQUALIFIED
Julie H BriddickSpainStephen Shaw RENEWAL
Aditya O ButtRussiaElwin Sharvill NEGOTIATION
Mujtaba N CaudyBrazilIvan Magalhaes NEGOTIATION
Rodrigues O FigeroaJapanIvan Magalhaes QUALIFIED
Sinclair D FlosiUnited KingdomIvan Magalhaes NEW
Deepesh H NestleAustraliaIoni Bowcher NEGOTIATION
Aika B WhobreySpainIvan Magalhaes QUALIFIED
Antonio W MaletRussiaXuxue Feng NEGOTIATION
Ricardo X ChuiIndiaElwin Sharvill QUALIFIED
Aruna Q RoysterIndiaIoni Bowcher NEGOTIATION
Aditya K BowleyArgentinaAmy Elsner NEW
Maria D SergiJapanOnyama Limba QUALIFIED
Cody Z SergiItalyXuxue Feng QUALIFIED
Maisha X NickaGermanyAsiya Javayant QUALIFIED
Nicolas U GauchoCanadaStephen Shaw QUALIFIED
Tony J RutaAustraliaAnna Fali UNQUALIFIED
Leon F CampainUnited KingdomElwin Sharvill QUALIFIED
Aruna M AlbaresArgentinaOnyama Limba QUALIFIED
Salvatore Y GauchoIndiaBernardo Dominic QUALIFIED
Nicolas Q CaldareraGermanyAsiya Javayant RENEWAL
Ashley Z BriddickItalyAsiya Javayant NEGOTIATION
Wickens Q MorascaBrazilXuxue Feng NEGOTIATION
Octavia F MacleadGermanyOnyama Limba QUALIFIED
Misaki X GauchoUnited KingdomIoni Bowcher RENEWAL
Faith X SergiIndiaXuxue Feng NEGOTIATION
Chavez K StockhamUnited KingdomIoni Bowcher NEW
Mujtaba E FollerGermanyAnna Fali UNQUALIFIED
Jefferson B CaldareraFranceStephen Shaw QUALIFIED
Greenwood B BologniaIndiaAmy Elsner QUALIFIED
Isabel X PaprockiGermanyIvan Magalhaes NEGOTIATION
Murillo U DilliardBrazilElwin Sharvill PROPOSAL
Faith Z NickaFranceIvan Magalhaes PROPOSAL
Kaitlin F BologniaUnited KingdomBernardo Dominic RENEWAL
Francesco X AmigonUnited KingdomElwin Sharvill PROPOSAL
Costa H VocelkaUnited KingdomAnna Fali RENEWAL
Jones K ButtIndiaAmy Elsner PROPOSAL
Faith K WieserUnited KingdomAmy Elsner RENEWAL
Ivar K PaprockiArgentinaElwin Sharvill QUALIFIED
Emily F WieserIndiaXuxue Feng PROPOSAL
Munro X WaycottBrazilAsiya Javayant PROPOSAL
Leon I GillianFranceAmy Elsner RENEWAL
Frozen Columns
Name
Emily T Venere
Leja L Gaucho
Murillo X Bolognia
Kadeem T Paprocki
Alejandro M Venere
Cody C Doe
Silvio Q Maclead
Octavia D Morasca
Salvatore N Marrier
Nicolas C Nicka
Octavia O Ruta
Johnson Q Iturbide
Faith Z Flosi
Faith U Chui
Morrow M Schemmer
Juan N Caldarera
Munro Q Tollner
Leon B Whobrey
Aditya G Nestle
Aditya Z Flosi
Arvin D Bolognia
Emily A Briddick
Izzy Z Paprocki
Rodrigues G Dilliard
Maisha W Perin
Johnson M Campain
Maisha J Nestle
Smith N Oldroyd
Kadeem J Albares
Faith V Bolognia
Aruna O Poquette
Salvatore O Malet
Jennifer J Tollner
Munro N Caldarera
Stacey C Nestle
Antonio W Saylors
Stacey K Poquette
Clifford H Nestle
Chavez P Schemmer
James Y Butt
Stacey T Shinko
Jefferson U Vocelka
Claire S Glick
Adams U Nestle
Silvio K Iturbide
Isabel H Paprocki
Leon V Darakjy
Leja C Malet
Maria B Morasca
Chavez I Malet
IdCountryDate
1000Argentina2026-06-29
1001France2026-06-29
1002United Kingdom2026-06-29
1003Russia2026-06-26
1004Japan2026-06-30
1005Brazil2026-06-26
1006Brazil2026-07-08
1007Australia2026-06-12
1008Canada2026-07-07
1009Australia2026-06-16
1010France2026-06-18
1011India2026-07-06
1012Russia2026-06-19
1013Australia2026-06-25
1014Russia2026-06-10
1015Japan2026-06-30
1016Italy2026-07-05
1017France2026-06-30
1018Japan2026-06-25
1019Italy2026-06-23
1020Italy2026-06-24
1021India2026-06-11
1022Germany2026-07-03
1023Spain2026-06-30
1024Brazil2026-07-06
1025Russia2026-06-16
1026Australia2026-06-19
1027India2026-07-01
1028Australia2026-06-27
1029Argentina2026-06-11
1030United Kingdom2026-06-29
1031Italy2026-06-23
1032Russia2026-07-07
1033Germany2026-06-29
1034Spain2026-07-08
1035Japan2026-07-05
1036India2026-06-18
1037Argentina2026-06-23
1038Spain2026-06-12
1039Italy2026-07-04
1040Italy2026-06-10
1041France2026-06-11
1042Germany2026-06-23
1043United Kingdom2026-06-23
1044Canada2026-06-14
1045Germany2026-06-22
1046Brazil2026-06-19
1047Spain2026-07-01
1048Argentina2026-06-15
1049Italy2026-07-05

On-Demand Data

NameIdCountryDate
Munro K Darakjy1000Spain2026-06-23
Cody J Stockham1001Brazil2026-06-30
Nicolas L Paprocki1002France2026-07-07
Leon I Marrier1003United Kingdom2026-07-07
Faith N Flosi1004Italy2026-07-06
Greenwood Z Bowley1005France2026-06-18
Antonio U Stenseth1006Brazil2026-07-07
Jennifer T Ostrosky1007Russia2026-06-26
Ashley T Inouye1008United Kingdom2026-06-28
Salvatore P Poquette1009United Kingdom2026-07-03
Juan A Amigon1010India2026-06-15
Murillo D Amigon1011Canada2026-06-30
Ivar X Gillian1012Argentina2026-06-12
Maisha X Stenseth1013Argentina2026-07-03
Ivar U Slusarski1014Argentina2026-06-21
Darci L Chui1015Japan2026-06-26
Jennifer J Vocelka1016Brazil2026-06-19
Leon D Rim1017Australia2026-06-18
Aika J Ostrosky1018Italy2026-06-11
Smith U Caudy1019United Kingdom2026-07-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika J MaletAustraliaBernardo Dominic PROPOSAL
Morrow D MaletSpainOnyama Limba NEGOTIATION
Jones E NickaRussiaAsiya Javayant NEGOTIATION
Darci A MaletItalyStephen Shaw NEGOTIATION
Arvin U VocelkaFranceIvan Magalhaes PROPOSAL
Faith I KolmetzFranceAsiya Javayant NEW
Clifford V ButtCanadaAnna Fali QUALIFIED
Francesco Z BologniaArgentinaAsiya Javayant PROPOSAL
Sinclair K BriddickRussiaAmy Elsner NEW
Misaki K OstroskyIndiaOnyama Limba NEGOTIATION
Clifford N WaycottArgentinaOnyama Limba QUALIFIED
Chavez Y DoeArgentinaOnyama Limba RENEWAL
Cody J PaprockiCanadaStephen Shaw NEGOTIATION
Julie P RutaRussiaStephen Shaw RENEWAL
Murillo I FollerUnited KingdomAnna Fali PROPOSAL
Leon B NickaAustraliaElwin Sharvill PROPOSAL
Jennifer I GarufiBrazilAnna Fali QUALIFIED
Ricardo X MaletRussiaElwin Sharvill PROPOSAL
Aika Q RutaItalyAsiya Javayant QUALIFIED
Ivar H StensethRussiaAnna Fali NEW
Misaki A MacleadGermanyStephen Shaw UNQUALIFIED
Murillo G KuskoJapanXuxue Feng NEGOTIATION
Sinclair M WaycottAustraliaBernardo Dominic QUALIFIED
Wickens A RoysterArgentinaBernardo Dominic PROPOSAL
Clifford L VocelkaJapanStephen Shaw NEW
Arvin P NestleIndiaAsiya Javayant QUALIFIED
Arvin D WieserIndiaAmy Elsner NEW
Darci S VenereAustraliaOnyama Limba QUALIFIED
Leja E CaudyIndiaAsiya Javayant PROPOSAL
Juan N GarufiIndiaXuxue Feng NEGOTIATION
Isabel S OstroskyFranceAsiya Javayant RENEWAL
Maria F WaycottArgentinaAnna Fali NEW
Jeanfrancois V ShinkoJapanAsiya Javayant NEW
Claire J CaldareraUnited KingdomAnna Fali PROPOSAL
James E VocelkaJapanAsiya Javayant PROPOSAL
Arvin C TollnerArgentinaOnyama Limba NEGOTIATION
Salvatore J RutaCanadaAmy Elsner QUALIFIED
Johnson D GarufiGermanyAnna Fali PROPOSAL
Juan K StensethItalyStephen Shaw NEW
Deepesh X CampainUnited KingdomXuxue Feng PROPOSAL

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