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
Sinclair Z RimAustraliaIoni Bowcher UNQUALIFIED
Chavez O PaprockiArgentinaBernardo Dominic PROPOSAL
Greenwood S FollerFranceAmy Elsner NEW
Mujtaba J ButtRussiaAnna Fali RENEWAL
Maisha J PoquetteBrazilAsiya Javayant PROPOSAL
Aditya C KolmetzGermanyAnna Fali NEW
Stacey H MacleadAustraliaXuxue Feng QUALIFIED
Costa Z GarufiRussiaIoni Bowcher RENEWAL
Salvatore C PoquetteRussiaXuxue Feng RENEWAL
Alejandro H CaudyAustraliaXuxue Feng NEGOTIATION
Chavez U PoquetteArgentinaIvan Magalhaes RENEWAL
Arvin P KolmetzFranceElwin Sharvill NEGOTIATION
Claire H GarufiIndiaIvan Magalhaes UNQUALIFIED
Jefferson S PoquetteJapanAmy Elsner NEGOTIATION
Wickens I IturbideAustraliaBernardo Dominic NEGOTIATION
Costa X AlbaresItalyIvan Magalhaes RENEWAL
Johnson A BriddickFranceAmy Elsner UNQUALIFIED
Greenwood L MarrierArgentinaOnyama Limba UNQUALIFIED
Octavia I MaletItalyIvan Magalhaes RENEWAL
Johnson M StockhamGermanyXuxue Feng QUALIFIED
Munro M GlickIndiaAnna Fali QUALIFIED
Arvin C PaprockiItalyOnyama Limba UNQUALIFIED
Isabel O MarrierRussiaOnyama Limba NEGOTIATION
Deepesh K VocelkaGermanyBernardo Dominic NEW
Jennifer D RoysterBrazilAnna Fali PROPOSAL
Stacey N BologniaUnited KingdomXuxue Feng UNQUALIFIED
Stacey T RutaUnited KingdomOnyama Limba UNQUALIFIED
Stacey G VenereArgentinaOnyama Limba NEGOTIATION
Wickens I GillianItalyStephen Shaw PROPOSAL
Smith M InouyeArgentinaOnyama Limba QUALIFIED
Mujtaba L GlickArgentinaStephen Shaw UNQUALIFIED
Morrow G PaprockiSpainXuxue Feng RENEWAL
Maria W CaldareraItalyOnyama Limba QUALIFIED
Claire G DarakjyRussiaXuxue Feng RENEWAL
Isabel Y ChuiUnited KingdomElwin Sharvill NEGOTIATION
Isabel N RulapaughRussiaOnyama Limba UNQUALIFIED
Nicolas U AmigonGermanyIoni Bowcher RENEWAL
Morrow K TollnerArgentinaXuxue Feng PROPOSAL
Wickens H FlosiJapanStephen Shaw QUALIFIED
Octavia I KuskoFranceOnyama Limba UNQUALIFIED
Aruna G MacleadItalyElwin Sharvill UNQUALIFIED
Murillo C VenereCanadaElwin Sharvill UNQUALIFIED
Mayumi T ShinkoGermanyXuxue Feng UNQUALIFIED
Mujtaba W DilliardIndiaOnyama Limba RENEWAL
Sinclair H OstroskyArgentinaStephen Shaw RENEWAL
Julie Y DilliardAustraliaAnna Fali NEW
Antonio L AmigonJapanXuxue Feng UNQUALIFIED
Julie O AmigonRussiaXuxue Feng NEW
Kaitlin O InouyeAustraliaBernardo Dominic NEW
Stacey Z PerinArgentinaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Isabel W DilliardFranceIvan Magalhaes NEW
Izzy V MaletSpainAmy Elsner NEW
Costa Y DoeItalyIoni Bowcher NEGOTIATION
Morrow Y DoeFranceAsiya Javayant NEW
Faith L FigeroaCanadaIoni Bowcher NEW
Ashley Z InouyeBrazilIvan Magalhaes NEGOTIATION
Claire O CampainRussiaIvan Magalhaes QUALIFIED
Tony F DilliardCanadaAsiya Javayant NEW
Ivar Q AlbaresIndiaOnyama Limba RENEWAL
Johnson T WhobreyRussiaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford F NestleJapan2024-06-13Buckley Miller Wright NEW76Stephen Shaw
1001Julie T StensethItaly2024-05-23Feltz Printing Service UNQUALIFIED58Xuxue Feng
1002Antonio Q FigeroaRussia2024-05-15Commercial Press UNQUALIFIED31Ioni Bowcher
1003Aditya K RimItaly2024-06-05Rangoni Of Florence RENEWAL66Onyama Limba
1004Antonio Y InouyeRussia2024-05-20Chanay, Jeffrey A Esq QUALIFIED99Stephen Shaw
1005Nicolas T RutaGermany2024-06-04Benton, John B Jr QUALIFIED32Elwin Sharvill
1006Cody V SaylorsUnited Kingdom2024-06-02Feltz Printing Service PROPOSAL24Ioni Bowcher
1007Aditya V FigeroaIndia2024-05-31Printing Dimensions NEW50Asiya Javayant
1008David J MarrierUnited Kingdom2024-06-11Printing Dimensions NEW80Xuxue Feng
1009Maisha T SchemmerBrazil2024-05-21Rangoni Of Florence NEGOTIATION74Elwin Sharvill
1010Nicolas J FlosiUnited Kingdom2024-06-04Feiner Bros NEW90Bernardo Dominic
1011Tony A GlickSpain2024-05-30Truhlar And Truhlar Attys PROPOSAL82Ivan Magalhaes
1012Johnson P SchemmerArgentina2024-06-06Dorl, James J Esq UNQUALIFIED32Onyama Limba
1013Costa I OldroydBrazil2024-06-01Buckley Miller Wright UNQUALIFIED39Asiya Javayant
1014Deepesh G KolmetzGermany2024-06-12Buckley Miller Wright UNQUALIFIED91Onyama Limba
1015Stacey R WieserSpain2024-06-09Feltz Printing Service RENEWAL68Onyama Limba
1016Ricardo J SlusarskiJapan2024-06-11Chapman, Ross E Esq QUALIFIED58Xuxue Feng
1017Silvio F BriddickCanada2024-05-29Commercial Press NEW48Amy Elsner
1018Kaitlin K CaudyItaly2024-05-26Truhlar And Truhlar Attys QUALIFIED96Onyama Limba
1019Deepesh O SchemmerAustralia2024-05-18King, Christopher A Esq NEGOTIATION28Amy Elsner
1020Leon D NickaBrazil2024-06-01Commercial Press UNQUALIFIED76Elwin Sharvill
1021Costa Q AlbaresRussia2024-06-04Chanay, Jeffrey A Esq NEGOTIATION77Bernardo Dominic
1022Isabel Z WieserJapan2024-05-29King, Christopher A Esq QUALIFIED0Asiya Javayant
1023Alejandro H KolmetzGermany2024-06-04Buckley Miller Wright UNQUALIFIED66Anna Fali
1024Cody E SaylorsSpain2024-05-23Buckley Miller Wright NEGOTIATION64Amy Elsner
1025Maria C FollerBrazil2024-06-11Buckley Miller Wright UNQUALIFIED21Amy Elsner
1026Rodrigues D WaycottRussia2024-05-21Benton, John B Jr RENEWAL26Elwin Sharvill
1027Darci C GarufiGermany2024-05-20Morlong Associates QUALIFIED97Anna Fali
1028Mayumi U BowleyJapan2024-06-11Buckley Miller Wright QUALIFIED64Asiya Javayant
1029Rodrigues U ShinkoAustralia2024-05-26Buckley Miller Wright QUALIFIED29Xuxue Feng
1030James P RutaFrance2024-05-17Rangoni Of Florence QUALIFIED24Amy Elsner
1031Maria R PoquetteAustralia2024-05-28Rangoni Of Florence QUALIFIED3Ivan Magalhaes
1032Leon L DarakjySpain2024-06-13Benton, John B Jr PROPOSAL95Ioni Bowcher
1033Jones P ShinkoSpain2024-06-07Feiner Bros RENEWAL18Xuxue Feng
1034Sinclair D BowleyCanada2024-06-05Rousseaux, Michael Esq UNQUALIFIED33Ivan Magalhaes
1035Stacey N CaudyRussia2024-06-09Rangoni Of Florence QUALIFIED35Xuxue Feng
1036Isabel G BowleyIndia2024-05-16Rangoni Of Florence PROPOSAL38Asiya Javayant
1037Mujtaba H RoysterCanada2024-06-06Buckley Miller Wright RENEWAL57Elwin Sharvill
1038Faith A KolmetzRussia2024-05-27Rangoni Of Florence UNQUALIFIED90Elwin Sharvill
1039Emily P InouyeRussia2024-05-30Feiner Bros PROPOSAL86Asiya Javayant
1040Silvio Y CaldareraCanada2024-05-30Chemel, James L Cpa UNQUALIFIED81Elwin Sharvill
1041Morrow S WaycottIndia2024-05-16Truhlar And Truhlar Attys PROPOSAL92Xuxue Feng
1042David R InouyeIndia2024-05-26Chanay, Jeffrey A Esq QUALIFIED97Bernardo Dominic
1043Mayumi Z OstroskyRussia2024-05-16Truhlar And Truhlar Attys NEGOTIATION55Anna Fali
1044James R DarakjyRussia2024-06-03King, Christopher A Esq UNQUALIFIED83Ioni Bowcher
1045Octavia I IturbideBrazil2024-06-08Truhlar And Truhlar Attys PROPOSAL95Xuxue Feng
1046Smith T ShinkoJapan2024-05-29Truhlar And Truhlar Attys QUALIFIED92Xuxue Feng
1047Jefferson R BologniaCanada2024-06-12Feiner Bros NEGOTIATION42Elwin Sharvill
1048Jones F PerinIndia2024-05-29Feiner Bros QUALIFIED77Onyama Limba
1049Kaitlin S AmigonBrazil2024-05-20Chemel, James L Cpa PROPOSAL54Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Julie O SlusarskiSpainAsiya Javayant RENEWAL
Deepesh M AmigonBrazilElwin Sharvill UNQUALIFIED
David X BriddickRussiaStephen Shaw UNQUALIFIED
Cody N AmigonSpainAsiya Javayant UNQUALIFIED
Juan F FerenczIndiaXuxue Feng RENEWAL
Mayumi A BriddickJapanBernardo Dominic UNQUALIFIED
Izzy O OstroskyCanadaAmy Elsner PROPOSAL
Aika C SchemmerJapanAsiya Javayant RENEWAL
Juan F GarufiAustraliaIvan Magalhaes UNQUALIFIED
Isabel N FollerJapanIoni Bowcher NEW
Smith K DoeUnited KingdomAsiya Javayant QUALIFIED
James Q InouyeSpainXuxue Feng QUALIFIED
Alejandro W DilliardFranceBernardo Dominic NEW
Nicolas V RoysterItalyIoni Bowcher NEW
Morrow V BologniaUnited KingdomAnna Fali RENEWAL
Juan T StensethFranceAsiya Javayant RENEWAL
Maisha F CaudyFranceAnna Fali PROPOSAL
Ricardo V FerenczUnited KingdomElwin Sharvill QUALIFIED
Mujtaba Q CaldareraRussiaAnna Fali QUALIFIED
Darci W TollnerItalyIvan Magalhaes QUALIFIED
Morrow L CaudyBrazilIoni Bowcher NEW
Munro Y ShinkoBrazilIoni Bowcher QUALIFIED
Munro D PoquetteUnited KingdomXuxue Feng RENEWAL
Munro U MarrierArgentinaAnna Fali UNQUALIFIED
Adams X WhobreyGermanyOnyama Limba RENEWAL
Deepesh O WieserSpainStephen Shaw PROPOSAL
Faith V VocelkaIndiaBernardo Dominic UNQUALIFIED
Tony E RoysterJapanOnyama Limba NEGOTIATION
Smith E WaycottUnited KingdomStephen Shaw PROPOSAL
Jefferson U CampainItalyIvan Magalhaes NEW
Mujtaba B CaudyFranceStephen Shaw RENEWAL
Ricardo Z BologniaUnited KingdomIoni Bowcher NEW
Emily Q NickaRussiaIoni Bowcher UNQUALIFIED
Faith O SchemmerGermanyElwin Sharvill RENEWAL
Clifford M NickaSpainAnna Fali PROPOSAL
Costa X VenereCanadaAmy Elsner UNQUALIFIED
Faith Q GillianFranceXuxue Feng NEW
Leja F SergiBrazilXuxue Feng RENEWAL
Tony N MorascaBrazilAnna Fali PROPOSAL
Isabel G MaletGermanyBernardo Dominic QUALIFIED
Alejandro T IturbideArgentinaXuxue Feng UNQUALIFIED
Misaki I WhobreyBrazilIvan Magalhaes RENEWAL
Emily W BowleyBrazilIoni Bowcher NEW
Greenwood K ShinkoUnited KingdomStephen Shaw RENEWAL
Morrow E SchemmerBrazilIoni Bowcher NEGOTIATION
Clifford N DilliardArgentinaElwin Sharvill PROPOSAL
Costa N RoysterSpainElwin Sharvill NEW
Ricardo K MaletArgentinaBernardo Dominic RENEWAL
Salvatore A FerenczBrazilIoni Bowcher NEW
Maisha E GlickBrazilAnna Fali NEGOTIATION
Frozen Columns
Name
Salvatore S Kusko
Jeanfrancois W Ostrosky
Jennifer Z Albares
Adams O Caldarera
Nicolas Z Malet
Jefferson F Doe
Deepesh X Waycott
Silvio Q Shinko
Aruna K Tollner
Jeanfrancois T Tollner
Nicolas O Albares
Julie Y Whobrey
Greenwood H Ferencz
Juan F Shinko
Morrow M Ferencz
Stacey O Venere
Munro H Shinko
Cody P Rulapaugh
Arvin L Morasca
Tony Z Paprocki
Munro F Inouye
Adams B Dilliard
James N Doe
Emily V Albares
Clifford V Flosi
Leja W Sergi
Ivar X Kolmetz
Greenwood A Venere
Francesco M Glick
Arvin O Garufi
Darci V Garufi
Maria D Malet
Jennifer P Glick
Aruna M Nicka
Murillo B Gaucho
Smith S Kusko
Francesco U Albares
James W Malet
Jefferson U Poquette
Cody N Rim
Jefferson H Ferencz
Francesco I Darakjy
Aika P Amigon
Ivar S Amigon
Juan Q Sergi
Maria Y Dilliard
Jefferson O Rim
Jefferson X Stenseth
Francesco E Garufi
Sinclair J Glick
IdCountryDate
1000Brazil2024-05-27
1001Spain2024-05-24
1002Russia2024-06-12
1003Argentina2024-06-12
1004Germany2024-05-20
1005Australia2024-06-11
1006Australia2024-05-21
1007Canada2024-06-01
1008India2024-06-03
1009Argentina2024-05-15
1010Russia2024-05-29
1011Brazil2024-06-05
1012Japan2024-06-10
1013Australia2024-05-18
1014Australia2024-06-08
1015Spain2024-06-12
1016France2024-06-04
1017Brazil2024-05-28
1018Russia2024-05-21
1019United Kingdom2024-06-08
1020Argentina2024-05-27
1021Australia2024-06-07
1022United Kingdom2024-05-26
1023Germany2024-05-27
1024Japan2024-06-12
1025Russia2024-06-13
1026Italy2024-06-12
1027Australia2024-05-24
1028Japan2024-05-24
1029France2024-06-02
1030Canada2024-05-16
1031Japan2024-05-19
1032Germany2024-05-27
1033Japan2024-06-08
1034India2024-05-22
1035Australia2024-06-03
1036Argentina2024-06-09
1037Germany2024-06-07
1038Japan2024-06-03
1039India2024-06-08
1040United Kingdom2024-06-06
1041Italy2024-05-17
1042Argentina2024-06-13
1043Germany2024-05-27
1044Russia2024-05-21
1045France2024-06-06
1046Canada2024-05-16
1047Australia2024-05-17
1048United Kingdom2024-06-13
1049Japan2024-06-06

On-Demand Data

NameIdCountryDate
Ivar T Caudy1000Spain2024-06-04
Stacey W Chui1001India2024-06-09
Jennifer K Bolognia1002Australia2024-05-16
Mayumi G Nestle1003Japan2024-05-25
Jennifer S Oldroyd1004Argentina2024-06-07
Munro I Ferencz1005Russia2024-05-15
Ivar E Malet1006Italy2024-06-03
Morrow H Perin1007United Kingdom2024-06-12
Nicolas B Iturbide1008Japan2024-06-06
Claire H Caldarera1009Australia2024-05-26
Stacey K Whobrey1010Italy2024-05-30
Izzy J Shinko1011Canada2024-05-18
Deepesh Z Royster1012Argentina2024-05-20
Julie S Rim1013Australia2024-06-12
Silvio J Venere1014Spain2024-05-17
Alejandro J Doe1015Canada2024-06-02
Arvin X Wieser1016Argentina2024-05-23
Emily W Kusko1017Italy2024-06-06
Antonio L Sergi1018Spain2024-06-06
Rodrigues U Doe1019Australia2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro I TollnerIndiaBernardo Dominic QUALIFIED
Adams Y DarakjyAustraliaIoni Bowcher RENEWAL
Clifford W KolmetzIndiaIoni Bowcher RENEWAL
Nicolas E DilliardGermanyXuxue Feng NEGOTIATION
Adams K ChuiCanadaIvan Magalhaes NEGOTIATION
Silvio J RimIndiaBernardo Dominic RENEWAL
James X MacleadCanadaAsiya Javayant UNQUALIFIED
Johnson D SlusarskiGermanyAnna Fali NEGOTIATION
Smith M SergiBrazilIvan Magalhaes UNQUALIFIED
Sinclair E CaudyIndiaOnyama Limba RENEWAL
Aika A FigeroaBrazilBernardo Dominic QUALIFIED
Ivar H OldroydCanadaBernardo Dominic QUALIFIED
Mujtaba Y PerinJapanIvan Magalhaes RENEWAL
Francesco N VenereItalyBernardo Dominic PROPOSAL
Salvatore B BologniaBrazilBernardo Dominic QUALIFIED
Leon T StockhamSpainIoni Bowcher NEW
Jones U StensethUnited KingdomStephen Shaw PROPOSAL
Cody F RoysterCanadaAnna Fali RENEWAL
Cody P RoysterIndiaStephen Shaw NEW
Claire J BologniaItalyXuxue Feng RENEWAL
Salvatore T CaudyJapanIoni Bowcher NEW
Adams N InouyeBrazilElwin Sharvill NEGOTIATION
Arvin V WhobreyJapanAnna Fali PROPOSAL
James D SchemmerUnited KingdomIvan Magalhaes NEW
Arvin N WhobreySpainStephen Shaw RENEWAL
Francesco E ChuiSpainAnna Fali PROPOSAL
Jefferson H SlusarskiUnited KingdomElwin Sharvill NEW
Julie B GarufiAustraliaAnna Fali QUALIFIED
Clifford T DoeIndiaElwin Sharvill NEGOTIATION
Aditya Y MarrierFranceAsiya Javayant PROPOSAL
Aruna I GarufiBrazilIvan Magalhaes QUALIFIED
Aditya V WhobreyUnited KingdomOnyama Limba QUALIFIED
Darci U CaudyJapanIoni Bowcher PROPOSAL
Wickens F PaprockiGermanyIvan Magalhaes NEGOTIATION
Antonio C FollerAustraliaStephen Shaw UNQUALIFIED
Smith Y KolmetzFranceStephen Shaw RENEWAL
Jeanfrancois M SergiCanadaAsiya Javayant RENEWAL
Aditya B SaylorsUnited KingdomAsiya Javayant QUALIFIED
Adams X ChuiBrazilElwin Sharvill UNQUALIFIED
Leon S KolmetzItalyIoni 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>