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 J NickaCanadaIoni Bowcher PROPOSAL
Wickens R MarrierUnited KingdomXuxue Feng NEW
Stacey O AlbaresUnited KingdomAnna Fali UNQUALIFIED
Cody X MorascaArgentinaIoni Bowcher RENEWAL
Morrow C OldroydSpainAnna Fali UNQUALIFIED
Johnson N DilliardBrazilAsiya Javayant PROPOSAL
Jeanfrancois Q DoeRussiaXuxue Feng PROPOSAL
Aika C ShinkoAustraliaXuxue Feng RENEWAL
Aruna I ChuiGermanyAnna Fali NEW
Leon Y OstroskyCanadaOnyama Limba NEGOTIATION
Kadeem T SchemmerIndiaOnyama Limba NEW
Misaki G GauchoSpainAmy Elsner PROPOSAL
Mujtaba Z InouyeGermanyOnyama Limba RENEWAL
Chavez T AmigonItalyStephen Shaw NEW
Mayumi P InouyeAustraliaOnyama Limba NEW
Jones Q ChuiRussiaBernardo Dominic RENEWAL
Chavez T SchemmerIndiaBernardo Dominic QUALIFIED
Jefferson K PaprockiRussiaOnyama Limba UNQUALIFIED
Smith N KolmetzRussiaIvan Magalhaes NEGOTIATION
Mayumi C RimIndiaAnna Fali PROPOSAL
Greenwood U SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Misaki M CampainRussiaAsiya Javayant RENEWAL
Adams K SlusarskiArgentinaElwin Sharvill UNQUALIFIED
Leja H WieserRussiaOnyama Limba PROPOSAL
Misaki S OldroydItalyOnyama Limba UNQUALIFIED
Isabel W StensethBrazilStephen Shaw NEW
Jennifer E ShinkoRussiaIvan Magalhaes PROPOSAL
Silvio C WaycottRussiaOnyama Limba UNQUALIFIED
Stacey N MaletFranceIvan Magalhaes NEW
Kadeem K AlbaresItalyIvan Magalhaes NEGOTIATION
Jefferson V FerenczUnited KingdomOnyama Limba UNQUALIFIED
Aika G GarufiUnited KingdomAmy Elsner NEGOTIATION
Wickens V WieserFranceElwin Sharvill NEGOTIATION
Deepesh A GillianIndiaElwin Sharvill UNQUALIFIED
Mayumi G WieserJapanAmy Elsner NEGOTIATION
Jones G ChuiItalyIvan Magalhaes PROPOSAL
Rodrigues D VenereJapanOnyama Limba PROPOSAL
Jeanfrancois D StensethArgentinaAmy Elsner PROPOSAL
Tony N GarufiJapanIvan Magalhaes NEW
Cody L DilliardBrazilXuxue Feng RENEWAL
Clifford P PoquetteRussiaIvan Magalhaes NEW
Kadeem F WaycottUnited KingdomAnna Fali NEW
Jones W WaycottItalyAnna Fali PROPOSAL
Rodrigues V StensethUnited KingdomAsiya Javayant NEGOTIATION
Antonio F DilliardGermanyOnyama Limba NEGOTIATION
Isabel N PerinBrazilXuxue Feng NEW
Juan B PaprockiItalyIvan Magalhaes NEGOTIATION
Cody P PerinItalyAnna Fali PROPOSAL
Emily Y CaudyItalyAnna Fali UNQUALIFIED
Cody P KolmetzCanadaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Izzy A GlickBrazilAsiya Javayant QUALIFIED
Claire G GauchoSpainAsiya Javayant PROPOSAL
Mujtaba J BriddickSpainBernardo Dominic PROPOSAL
Wickens H MarrierIndiaXuxue Feng RENEWAL
Munro B DilliardAustraliaAmy Elsner NEGOTIATION
Tony P DilliardBrazilIvan Magalhaes RENEWAL
Jeanfrancois T PoquetteJapanElwin Sharvill NEW
Kadeem U WaycottArgentinaBernardo Dominic RENEWAL
Jennifer H RoysterCanadaIoni Bowcher UNQUALIFIED
Aruna W RimBrazilIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones L ChuiArgentina2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED84Xuxue Feng
1001Adams G MaletRussia2024-05-26Morlong Associates QUALIFIED89Bernardo Dominic
1002Sinclair N StockhamJapan2024-06-06Dorl, James J Esq RENEWAL53Bernardo Dominic
1003Tony Z SlusarskiFrance2024-06-06Dorl, James J Esq PROPOSAL78Amy Elsner
1004Arvin Q NestleGermany2024-05-29Chemel, James L Cpa QUALIFIED11Elwin Sharvill
1005Aditya A CampainBrazil2024-05-26Printing Dimensions RENEWAL2Elwin Sharvill
1006Izzy N FollerCanada2024-05-20Buckley Miller Wright NEGOTIATION65Onyama Limba
1007Misaki W SaylorsRussia2024-05-21King, Christopher A Esq NEGOTIATION20Amy Elsner
1008Adams T CaudyArgentina2024-05-31Truhlar And Truhlar Attys QUALIFIED43Elwin Sharvill
1009Chavez J SergiItaly2024-05-19Printing Dimensions NEW72Bernardo Dominic
1010Aika S SchemmerAustralia2024-06-12Printing Dimensions NEW82Xuxue Feng
1011Leja J BologniaUnited Kingdom2024-06-03Benton, John B Jr QUALIFIED20Xuxue Feng
1012James L SaylorsBrazil2024-05-19Buckley Miller Wright PROPOSAL65Ivan Magalhaes
1013Jones A MacleadRussia2024-05-22King, Christopher A Esq QUALIFIED6Ioni Bowcher
1014Aika M ShinkoItaly2024-05-26Buckley Miller Wright QUALIFIED64Amy Elsner
1015Johnson R BriddickSpain2024-05-28Rangoni Of Florence RENEWAL33Elwin Sharvill
1016David G KolmetzSpain2024-06-09Commercial Press NEW80Anna Fali
1017Costa S AlbaresAustralia2024-06-14Feltz Printing Service NEGOTIATION87Anna Fali
1018Ricardo V AmigonBrazil2024-06-08Truhlar And Truhlar Attys NEGOTIATION83Bernardo Dominic
1019Johnson K SlusarskiFrance2024-05-18Dorl, James J Esq NEW85Xuxue Feng
1020Munro G MorascaUnited Kingdom2024-05-22Printing Dimensions UNQUALIFIED26Ivan Magalhaes
1021Misaki C NickaGermany2024-06-14Truhlar And Truhlar Attys UNQUALIFIED31Xuxue Feng
1022Sinclair C MacleadArgentina2024-05-23King, Christopher A Esq QUALIFIED73Stephen Shaw
1023Cody L MarrierGermany2024-06-08Chanay, Jeffrey A Esq RENEWAL97Stephen Shaw
1024Maria K BriddickGermany2024-06-10Rangoni Of Florence NEGOTIATION34Xuxue Feng
1025Kadeem W CaudyUnited Kingdom2024-05-21Rangoni Of Florence NEGOTIATION53Onyama Limba
1026Isabel H MaletBrazil2024-05-19Feiner Bros RENEWAL81Anna Fali
1027Aika O WhobreyJapan2024-06-05Rousseaux, Michael Esq PROPOSAL86Amy Elsner
1028Rodrigues Z VenereIndia2024-06-01Dorl, James J Esq NEGOTIATION88Ivan Magalhaes
1029Darci I StockhamBrazil2024-06-01Feltz Printing Service RENEWAL65Amy Elsner
1030Mujtaba H OldroydCanada2024-05-31Chemel, James L Cpa NEW12Amy Elsner
1031Emily F GarufiAustralia2024-06-12Printing Dimensions NEW14Stephen Shaw
1032Cody Q FigeroaBrazil2024-06-11Feiner Bros NEGOTIATION71Amy Elsner
1033Kadeem L GillianIndia2024-05-20Chanay, Jeffrey A Esq RENEWAL33Ioni Bowcher
1034Aditya K FlosiArgentina2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED80Anna Fali
1035Wickens T AmigonFrance2024-05-20Rangoni Of Florence QUALIFIED99Anna Fali
1036Darci U OstroskyUnited Kingdom2024-06-11Morlong Associates UNQUALIFIED47Anna Fali
1037Misaki B FerenczGermany2024-05-21Printing Dimensions QUALIFIED20Asiya Javayant
1038Wickens W CaldareraJapan2024-05-21Commercial Press PROPOSAL66Bernardo Dominic
1039Sinclair Y MaletBrazil2024-06-08Printing Dimensions NEW20Stephen Shaw
1040Sinclair F NestleUnited Kingdom2024-06-14Truhlar And Truhlar Attys UNQUALIFIED65Xuxue Feng
1041Octavia L DoeSpain2024-05-28Feltz Printing Service NEW50Anna Fali
1042Costa K FlosiRussia2024-06-13Chapman, Ross E Esq RENEWAL81Xuxue Feng
1043Darci W CampainCanada2024-05-28Buckley Miller Wright QUALIFIED73Elwin Sharvill
1044Clifford M RimFrance2024-06-09Chemel, James L Cpa RENEWAL56Onyama Limba
1045Greenwood U MorascaFrance2024-06-10Benton, John B Jr RENEWAL89Onyama Limba
1046Wickens Z PoquetteItaly2024-06-09Commercial Press QUALIFIED4Xuxue Feng
1047Ashley J SchemmerArgentina2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED81Amy Elsner
1048Mayumi S SchemmerBrazil2024-05-31Truhlar And Truhlar Attys RENEWAL84Bernardo Dominic
1049Kaitlin F AlbaresJapan2024-05-21Printing Dimensions QUALIFIED6Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Arvin L FlosiArgentinaElwin Sharvill UNQUALIFIED
Ashley X PaprockiArgentinaAsiya Javayant NEGOTIATION
Silvio Z OstroskyCanadaElwin Sharvill NEGOTIATION
Ashley G CaudyIndiaIvan Magalhaes PROPOSAL
Stacey V NickaBrazilOnyama Limba NEW
Smith R GlickGermanyOnyama Limba UNQUALIFIED
Adams O PerinBrazilElwin Sharvill RENEWAL
Aika X ButtAustraliaBernardo Dominic PROPOSAL
Ivar X RimAustraliaIvan Magalhaes NEGOTIATION
Leja S OldroydIndiaIoni Bowcher PROPOSAL
Jones E CaudyRussiaBernardo Dominic PROPOSAL
Murillo G SergiIndiaBernardo Dominic NEW
Tony G GarufiArgentinaIoni Bowcher RENEWAL
Jennifer K ButtFranceAnna Fali QUALIFIED
Kadeem Y StockhamJapanAnna Fali UNQUALIFIED
Izzy K MaletFranceOnyama Limba QUALIFIED
Juan I ChuiIndiaBernardo Dominic QUALIFIED
Faith W OldroydUnited KingdomIvan Magalhaes QUALIFIED
Maria G FollerArgentinaStephen Shaw NEGOTIATION
Maisha G NickaArgentinaAnna Fali NEW
Sinclair T FollerGermanyXuxue Feng PROPOSAL
Julie W InouyeSpainAsiya Javayant NEW
Jennifer A FlosiRussiaAmy Elsner RENEWAL
Aruna B GlickUnited KingdomOnyama Limba NEW
Maria A CaldareraJapanXuxue Feng QUALIFIED
Ivar W StensethAustraliaIoni Bowcher QUALIFIED
Mujtaba S MorascaAustraliaXuxue Feng PROPOSAL
Francesco N OldroydRussiaAsiya Javayant NEW
Aditya M PoquetteJapanXuxue Feng NEGOTIATION
Sinclair P RoysterRussiaOnyama Limba NEGOTIATION
Sinclair Z MarrierIndiaAmy Elsner UNQUALIFIED
Ricardo F PerinUnited KingdomAsiya Javayant PROPOSAL
Aika P OstroskyCanadaStephen Shaw QUALIFIED
Johnson P FlosiIndiaBernardo Dominic PROPOSAL
Darci K RoysterArgentinaAsiya Javayant PROPOSAL
Julie E ButtFranceElwin Sharvill NEGOTIATION
Murillo D VocelkaJapanStephen Shaw NEGOTIATION
Mayumi D InouyeBrazilXuxue Feng NEW
Aruna I DarakjyUnited KingdomAmy Elsner NEW
Johnson T ShinkoArgentinaXuxue Feng UNQUALIFIED
Murillo R MaletItalyAnna Fali NEW
Aruna M MarrierRussiaXuxue Feng PROPOSAL
Leja R TollnerJapanIoni Bowcher NEGOTIATION
Deepesh Z SergiJapanAmy Elsner NEGOTIATION
Murillo K FigeroaJapanAsiya Javayant UNQUALIFIED
Emily E PoquetteFranceOnyama Limba RENEWAL
Johnson L ButtGermanyBernardo Dominic NEW
Ricardo O DoeFranceXuxue Feng UNQUALIFIED
Emily F MarrierItalyXuxue Feng NEW
Ivar I MarrierIndiaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Jeanfrancois F Ostrosky
Sinclair O Rim
Morrow O Ferencz
Smith H Tollner
Mujtaba F Poquette
Johnson C Foller
Adams B Poquette
Alejandro O Ferencz
Ricardo V Rulapaugh
Emily Z Ruta
Costa N Morasca
Silvio C Kolmetz
Octavia R Campain
Chavez F Caudy
Murillo O Butt
Johnson H Bolognia
David Y Sergi
Sinclair T Nicka
Tony L Marrier
Silvio C Figeroa
Emily S Chui
Julie V Flosi
Jones S Stenseth
Smith I Kolmetz
Ivar C Sergi
Isabel D Rim
Emily F Iturbide
Antonio N Kolmetz
Ricardo X Iturbide
Maisha H Gaucho
Wickens M Morasca
Aditya P Marrier
Juan F Foller
Faith K Figeroa
Arvin S Butt
James Q Iturbide
Rodrigues F Kusko
James B Waycott
Arvin E Gaucho
Misaki P Chui
Arvin F Amigon
Jefferson D Flosi
Tony J Bolognia
Claire A Schemmer
Mujtaba E Ferencz
Mayumi W Maclead
Julie K Oldroyd
Alejandro Q Amigon
Antonio V Amigon
Misaki Q Inouye
IdCountryDate
1000Germany2024-05-25
1001France2024-06-06
1002Russia2024-05-21
1003France2024-06-09
1004Japan2024-06-08
1005Australia2024-06-12
1006Brazil2024-06-12
1007India2024-06-16
1008United Kingdom2024-05-22
1009Argentina2024-06-02
1010France2024-05-23
1011Japan2024-06-09
1012Canada2024-05-31
1013Italy2024-06-14
1014Japan2024-06-11
1015Australia2024-06-04
1016Spain2024-06-01
1017Japan2024-06-02
1018Australia2024-06-16
1019Canada2024-06-03
1020Brazil2024-05-20
1021Italy2024-06-15
1022Spain2024-06-04
1023India2024-05-29
1024Japan2024-06-01
1025Germany2024-06-05
1026United Kingdom2024-05-31
1027France2024-05-29
1028Japan2024-05-31
1029Australia2024-06-05
1030Russia2024-05-31
1031France2024-05-29
1032Japan2024-06-13
1033India2024-06-13
1034United Kingdom2024-05-21
1035Japan2024-06-08
1036United Kingdom2024-05-31
1037Italy2024-06-16
1038India2024-05-31
1039India2024-06-07
1040United Kingdom2024-06-10
1041India2024-06-05
1042Germany2024-06-13
1043Japan2024-05-30
1044Spain2024-06-01
1045Canada2024-05-27
1046Spain2024-05-26
1047Australia2024-06-06
1048United Kingdom2024-05-31
1049Russia2024-05-18

On-Demand Data

NameIdCountryDate
Leon Z Poquette1000Brazil2024-06-08
Salvatore N Iturbide1001Brazil2024-06-04
Johnson F Ferencz1002Argentina2024-05-24
Juan V Campain1003India2024-05-24
Smith Q Nestle1004Germany2024-05-26
Octavia A Poquette1005France2024-06-12
Juan U Gillian1006Australia2024-05-30
Sinclair Y Amigon1007Germany2024-06-04
Sinclair Y Sergi1008Russia2024-05-22
Nicolas U Darakjy1009Italy2024-05-21
Isabel U Doe1010Spain2024-05-26
Juan X Glick1011Argentina2024-05-28
Arvin K Kusko1012Italy2024-06-15
Jeanfrancois C Rim1013India2024-06-11
Leon M Butt1014United Kingdom2024-05-24
Jeanfrancois T Inouye1015Canada2024-06-11
Silvio H Ruta1016Germany2024-05-30
David O Bowley1017Brazil2024-06-16
Julie J Stenseth1018United Kingdom2024-06-04
Johnson I Wieser1019Russia2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa W FerenczAustraliaOnyama Limba PROPOSAL
Deepesh M WaycottBrazilStephen Shaw NEW
Maria W WaycottCanadaXuxue Feng PROPOSAL
Izzy L CampainBrazilXuxue Feng PROPOSAL
Stacey J GarufiIndiaIoni Bowcher PROPOSAL
Rodrigues Y BowleyFranceElwin Sharvill QUALIFIED
Aruna E MaletItalyBernardo Dominic UNQUALIFIED
Isabel Z SchemmerUnited KingdomIoni Bowcher NEW
Emily S DarakjyUnited KingdomIvan Magalhaes NEW
Aruna L KolmetzBrazilXuxue Feng NEW
Aruna Z SaylorsFranceIvan Magalhaes RENEWAL
Costa A StensethJapanIvan Magalhaes NEGOTIATION
Isabel V TollnerCanadaAmy Elsner UNQUALIFIED
Munro O RimUnited KingdomStephen Shaw QUALIFIED
Julie C BowleyAustraliaBernardo Dominic UNQUALIFIED
Jefferson J DoeSpainAnna Fali PROPOSAL
Aruna H PaprockiSpainBernardo Dominic QUALIFIED
Cody H TollnerUnited KingdomAsiya Javayant NEW
Mayumi X WhobreyAustraliaBernardo Dominic QUALIFIED
Kadeem X TollnerArgentinaAsiya Javayant RENEWAL
Chavez S MacleadBrazilIvan Magalhaes NEW
Rodrigues P RulapaughFranceStephen Shaw QUALIFIED
Francesco A RulapaughFranceIoni Bowcher NEW
Kadeem V KuskoUnited KingdomXuxue Feng RENEWAL
Cody M FerenczAustraliaBernardo Dominic UNQUALIFIED
Johnson S PerinItalyAnna Fali QUALIFIED
Munro Z KuskoGermanyXuxue Feng NEGOTIATION
Darci V VenereItalyOnyama Limba NEGOTIATION
David E StockhamIndiaAnna Fali NEW
Juan J SaylorsFranceAnna Fali PROPOSAL
Emily J FollerIndiaOnyama Limba PROPOSAL
Jeanfrancois G VenereArgentinaBernardo Dominic QUALIFIED
Ashley U FollerBrazilIoni Bowcher NEW
Leon T TollnerAustraliaXuxue Feng NEW
Morrow A SlusarskiIndiaXuxue Feng PROPOSAL
Tony A SchemmerFranceBernardo Dominic NEGOTIATION
Tony T NestleIndiaXuxue Feng PROPOSAL
Jefferson R MorascaItalyStephen Shaw QUALIFIED
Adams E CaldareraItalyElwin Sharvill PROPOSAL
Stacey P NickaIndiaElwin Sharvill NEGOTIATION

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