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
Aditya H OldroydAustraliaOnyama Limba RENEWAL
Silvio U PerinAustraliaIvan Magalhaes NEW
Jones B StensethAustraliaElwin Sharvill UNQUALIFIED
Kadeem M NickaItalyAmy Elsner NEW
Antonio Y KuskoIndiaAnna Fali UNQUALIFIED
Alejandro P DoeGermanyOnyama Limba NEW
Jeanfrancois R SchemmerCanadaIoni Bowcher NEW
Emily T PerinRussiaAnna Fali QUALIFIED
Kaitlin O FerenczIndiaAmy Elsner PROPOSAL
Murillo V PaprockiJapanXuxue Feng QUALIFIED
Tony W VenereCanadaXuxue Feng NEW
Leja V FerenczAustraliaIvan Magalhaes NEGOTIATION
David W TollnerIndiaElwin Sharvill NEGOTIATION
Tony J ButtIndiaElwin Sharvill NEGOTIATION
Alejandro E CampainGermanyXuxue Feng NEGOTIATION
Murillo P SchemmerCanadaXuxue Feng UNQUALIFIED
Kadeem E KuskoFranceStephen Shaw NEGOTIATION
Antonio T FerenczJapanIvan Magalhaes PROPOSAL
Deepesh U ShinkoBrazilXuxue Feng UNQUALIFIED
Greenwood O VenereUnited KingdomXuxue Feng NEGOTIATION
Ricardo Y SchemmerIndiaOnyama Limba NEW
Smith Z NickaUnited KingdomXuxue Feng NEW
Clifford P SaylorsRussiaXuxue Feng PROPOSAL
Jones C FigeroaCanadaIoni Bowcher NEW
Jeanfrancois Q PaprockiSpainIvan Magalhaes QUALIFIED
Ricardo L RimJapanAnna Fali NEW
Maisha V CampainFranceAmy Elsner RENEWAL
Claire U IturbideJapanAnna Fali QUALIFIED
Johnson R WieserAustraliaAmy Elsner NEW
Sinclair A RulapaughIndiaElwin Sharvill NEW
Claire U SlusarskiJapanAsiya Javayant QUALIFIED
Chavez O MaletAustraliaAnna Fali QUALIFIED
Faith D StensethFranceBernardo Dominic RENEWAL
Cody K SaylorsAustraliaXuxue Feng NEGOTIATION
Murillo B StensethItalyAsiya Javayant QUALIFIED
Faith K BologniaRussiaAnna Fali QUALIFIED
Chavez X NestleJapanAmy Elsner NEGOTIATION
Mujtaba B AmigonJapanIvan Magalhaes NEGOTIATION
Chavez F FigeroaBrazilXuxue Feng PROPOSAL
Jones O GauchoAustraliaBernardo Dominic UNQUALIFIED
Izzy F NestleBrazilElwin Sharvill PROPOSAL
Juan S TollnerSpainElwin Sharvill NEW
Mujtaba X FollerGermanyAsiya Javayant PROPOSAL
Aditya U FlosiBrazilAnna Fali UNQUALIFIED
Aika P PerinCanadaAnna Fali UNQUALIFIED
Jeanfrancois O PerinBrazilOnyama Limba UNQUALIFIED
Aruna O MorascaIndiaIoni Bowcher PROPOSAL
Chavez L TollnerArgentinaIoni Bowcher UNQUALIFIED
Jefferson Z NickaAustraliaElwin Sharvill NEW
Claire G SergiGermanyElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Stacey W FerenczArgentinaElwin Sharvill QUALIFIED
David N FlosiBrazilElwin Sharvill NEW
Adams A GlickGermanyStephen Shaw RENEWAL
Maria O SlusarskiSpainElwin Sharvill RENEWAL
Chavez I MaletGermanyAnna Fali PROPOSAL
Julie G RimAustraliaAnna Fali RENEWAL
Antonio V FollerBrazilBernardo Dominic NEGOTIATION
Costa F DoeArgentinaAsiya Javayant NEW
Salvatore N DoeBrazilStephen Shaw QUALIFIED
Johnson H ChuiItalyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley A ChuiCanada2024-05-10Feltz Printing Service QUALIFIED56Ioni Bowcher
1001Deepesh H PaprockiItaly2024-05-09Benton, John B Jr PROPOSAL89Ioni Bowcher
1002Antonio C SlusarskiItaly2024-05-21Chanay, Jeffrey A Esq PROPOSAL0Xuxue Feng
1003Costa G DilliardAustralia2024-04-30Morlong Associates QUALIFIED28Stephen Shaw
1004Alejandro T FlosiGermany2024-04-29Rangoni Of Florence PROPOSAL84Bernardo Dominic
1005Stacey E RulapaughUnited Kingdom2024-05-06Morlong Associates NEW98Amy Elsner
1006Mayumi G FlosiGermany2024-05-14Rangoni Of Florence NEW4Onyama Limba
1007Tony Z ChuiGermany2024-05-22Commercial Press PROPOSAL78Asiya Javayant
1008Leja N RimJapan2024-05-15King, Christopher A Esq NEW79Anna Fali
1009David Y BologniaGermany2024-05-26Rangoni Of Florence RENEWAL62Bernardo Dominic
1010Aditya F OstroskySpain2024-05-22King, Christopher A Esq UNQUALIFIED95Amy Elsner
1011Francesco P GarufiBrazil2024-05-15Buckley Miller Wright RENEWAL66Onyama Limba
1012Sinclair Q VocelkaFrance2024-05-25King, Christopher A Esq QUALIFIED89Xuxue Feng
1013Arvin W DoeGermany2024-04-30Feltz Printing Service QUALIFIED41Elwin Sharvill
1014Ashley L RimIndia2024-05-06Chemel, James L Cpa QUALIFIED38Ioni Bowcher
1015Ashley S DarakjyUnited Kingdom2024-05-10Rangoni Of Florence PROPOSAL91Elwin Sharvill
1016Deepesh N GillianUnited Kingdom2024-05-20Chemel, James L Cpa PROPOSAL35Bernardo Dominic
1017Aditya W MorascaArgentina2024-05-21King, Christopher A Esq RENEWAL80Elwin Sharvill
1018Ashley T NickaFrance2024-05-05Chapman, Ross E Esq UNQUALIFIED67Stephen Shaw
1019Ivar M PoquetteArgentina2024-05-23King, Christopher A Esq QUALIFIED14Bernardo Dominic
1020Faith P GillianBrazil2024-05-21Dorl, James J Esq NEGOTIATION99Amy Elsner
1021Silvio X CampainFrance2024-05-03Chapman, Ross E Esq UNQUALIFIED15Ioni Bowcher
1022Octavia J MacleadFrance2024-05-01Benton, John B Jr UNQUALIFIED30Anna Fali
1023Julie P SlusarskiFrance2024-05-23Buckley Miller Wright UNQUALIFIED98Stephen Shaw
1024Antonio F DarakjySpain2024-05-21Dorl, James J Esq NEGOTIATION34Ivan Magalhaes
1025Adams W AlbaresArgentina2024-05-16Rangoni Of Florence PROPOSAL83Stephen Shaw
1026Greenwood X IturbideJapan2024-05-17Printing Dimensions RENEWAL76Xuxue Feng
1027Maisha D BologniaCanada2024-05-24Rousseaux, Michael Esq RENEWAL50Anna Fali
1028Claire X WaycottCanada2024-05-04Printing Dimensions NEGOTIATION28Stephen Shaw
1029Adams H RoysterUnited Kingdom2024-05-05Chapman, Ross E Esq NEGOTIATION88Anna Fali
1030Jefferson L RutaFrance2024-05-21King, Christopher A Esq RENEWAL62Elwin Sharvill
1031Arvin O ShinkoSpain2024-05-20Chemel, James L Cpa RENEWAL62Asiya Javayant
1032Emily F RoysterIndia2024-05-06Commercial Press UNQUALIFIED60Anna Fali
1033Ricardo G MacleadUnited Kingdom2024-05-21Commercial Press UNQUALIFIED13Ivan Magalhaes
1034Ashley H CaldareraUnited Kingdom2024-04-30Chanay, Jeffrey A Esq NEGOTIATION93Ioni Bowcher
1035Isabel V BologniaSpain2024-05-04Chapman, Ross E Esq NEGOTIATION87Elwin Sharvill
1036Alejandro S WieserFrance2024-05-03King, Christopher A Esq NEGOTIATION69Anna Fali
1037Misaki C DarakjyCanada2024-05-03Printing Dimensions PROPOSAL98Ioni Bowcher
1038Jeanfrancois U PerinCanada2024-05-04Benton, John B Jr RENEWAL15Elwin Sharvill
1039Izzy Q WaycottUnited Kingdom2024-05-13Truhlar And Truhlar Attys PROPOSAL84Onyama Limba
1040Francesco F SchemmerRussia2024-05-06Morlong Associates NEW66Ioni Bowcher
1041Misaki R WhobreyIndia2024-05-12Truhlar And Truhlar Attys UNQUALIFIED87Asiya Javayant
1042Leon T WhobreyArgentina2024-05-02Rousseaux, Michael Esq NEW89Bernardo Dominic
1043Claire J MarrierJapan2024-05-21Rousseaux, Michael Esq RENEWAL86Bernardo Dominic
1044Arvin H AlbaresCanada2024-04-30Benton, John B Jr NEW24Ivan Magalhaes
1045Misaki I WieserSpain2024-05-16Chanay, Jeffrey A Esq NEGOTIATION89Onyama Limba
1046Antonio W DarakjyJapan2024-05-15Rangoni Of Florence PROPOSAL34Ivan Magalhaes
1047Arvin G GarufiAustralia2024-05-23Feltz Printing Service NEW1Amy Elsner
1048Ashley J AmigonGermany2024-05-21Truhlar And Truhlar Attys NEW7Ivan Magalhaes
1049Julie K RulapaughItaly2024-05-08Rangoni Of Florence PROPOSAL95Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Munro P SlusarskiJapanStephen Shaw UNQUALIFIED
Costa L WieserSpainOnyama Limba UNQUALIFIED
Deepesh C FerenczCanadaAnna Fali UNQUALIFIED
Costa Q PoquetteArgentinaIoni Bowcher RENEWAL
Octavia W MaletIndiaElwin Sharvill QUALIFIED
Kadeem N OstroskySpainIoni Bowcher NEGOTIATION
David Z MaletItalyAsiya Javayant NEW
Kaitlin C PaprockiAustraliaAnna Fali PROPOSAL
Aditya V ButtRussiaOnyama Limba UNQUALIFIED
Emily Y AmigonFranceXuxue Feng NEW
Chavez G DilliardCanadaAsiya Javayant NEGOTIATION
Kadeem D GarufiRussiaIoni Bowcher RENEWAL
Arvin C MorascaRussiaXuxue Feng UNQUALIFIED
Munro C SlusarskiItalyIvan Magalhaes NEGOTIATION
Cody I ShinkoBrazilOnyama Limba NEW
Leja K RoysterCanadaAsiya Javayant UNQUALIFIED
Misaki E NestleJapanAnna Fali PROPOSAL
Aditya H FlosiBrazilBernardo Dominic QUALIFIED
Munro E TollnerAustraliaOnyama Limba PROPOSAL
David S AmigonSpainIoni Bowcher RENEWAL
Ricardo C CaudyBrazilIvan Magalhaes PROPOSAL
Faith V BriddickItalyAmy Elsner QUALIFIED
Morrow Q OstroskyCanadaStephen Shaw NEW
Deepesh P InouyeArgentinaBernardo Dominic UNQUALIFIED
Clifford I BowleyArgentinaIoni Bowcher NEGOTIATION
Tony A SlusarskiIndiaElwin Sharvill RENEWAL
Cody E VocelkaJapanElwin Sharvill UNQUALIFIED
Ivar G NestleJapanStephen Shaw NEW
Aruna R BriddickJapanAnna Fali PROPOSAL
Jeanfrancois A DilliardRussiaIvan Magalhaes NEGOTIATION
Tony P KolmetzItalyIvan Magalhaes RENEWAL
Sinclair U MorascaArgentinaIvan Magalhaes NEGOTIATION
Nicolas F DilliardAustraliaIvan Magalhaes QUALIFIED
Arvin C FerenczUnited KingdomXuxue Feng RENEWAL
Munro T BriddickRussiaIoni Bowcher NEW
Jefferson E ChuiIndiaIvan Magalhaes RENEWAL
Aika J CampainItalyElwin Sharvill PROPOSAL
Antonio Q BowleyItalyElwin Sharvill UNQUALIFIED
Jefferson Z MacleadGermanyAmy Elsner NEW
Wickens F GarufiAustraliaOnyama Limba PROPOSAL
Faith S OldroydItalyAnna Fali RENEWAL
David C FollerFranceAnna Fali UNQUALIFIED
Kaitlin H DarakjyIndiaXuxue Feng NEGOTIATION
Juan O VocelkaFranceAmy Elsner QUALIFIED
Deepesh W FigeroaArgentinaOnyama Limba UNQUALIFIED
Mujtaba U StockhamFranceAmy Elsner UNQUALIFIED
Rodrigues S VenereAustraliaIvan Magalhaes PROPOSAL
Kaitlin U PerinUnited KingdomAsiya Javayant NEGOTIATION
Costa W MacleadJapanIvan Magalhaes UNQUALIFIED
Claire K InouyeArgentinaOnyama Limba NEGOTIATION
Frozen Columns
Name
Smith C Wieser
Misaki L Bowley
Jeanfrancois Q Kolmetz
Aruna E Caudy
Wickens Z Perin
Aruna E Kolmetz
Silvio B Caudy
Ricardo E Sergi
Adams F Wieser
Aditya M Kusko
James J Ostrosky
David B Tollner
Isabel V Gillian
Rodrigues A Schemmer
Smith J Figeroa
Ivar C Glick
Deepesh M Flosi
Morrow R Kusko
Izzy H Inouye
Alejandro R Gillian
Antonio I Glick
Murillo I Kusko
Jones D Kolmetz
Faith P Schemmer
Maria Q Albares
Ricardo U Nestle
Ivar C Perin
Ricardo J Dilliard
Rodrigues Q Nicka
Ivar T Iturbide
Aika F Ferencz
Johnson Z Ostrosky
Claire J Albares
Tony C Venere
Adams H Malet
David M Glick
Ashley Z Chui
Tony C Paprocki
Darci B Vocelka
Faith F Vocelka
Kaitlin M Albares
Kaitlin O Butt
Salvatore L Albares
Maria K Saylors
Wickens V Bolognia
Alejandro S Whobrey
Leon H Darakjy
Antonio B Foller
Morrow A Iturbide
Chavez Z Glick
IdCountryDate
1000Japan2024-05-22
1001France2024-05-04
1002France2024-05-14
1003Canada2024-05-25
1004Argentina2024-05-05
1005France2024-05-12
1006Spain2024-05-14
1007India2024-04-29
1008Italy2024-04-30
1009India2024-05-09
1010Argentina2024-05-26
1011India2024-05-05
1012India2024-05-06
1013Germany2024-04-28
1014Brazil2024-05-24
1015Russia2024-05-07
1016France2024-05-09
1017India2024-05-21
1018Canada2024-05-23
1019Russia2024-05-14
1020Russia2024-05-09
1021Spain2024-04-30
1022Brazil2024-05-19
1023Russia2024-05-12
1024Canada2024-05-13
1025Brazil2024-05-19
1026Russia2024-04-29
1027Russia2024-05-01
1028India2024-04-28
1029Russia2024-05-03
1030Australia2024-05-11
1031Spain2024-05-08
1032Japan2024-05-12
1033Canada2024-04-30
1034France2024-05-03
1035United Kingdom2024-04-28
1036Germany2024-05-11
1037France2024-04-28
1038Germany2024-05-16
1039Australia2024-05-25
1040Russia2024-05-26
1041India2024-05-01
1042Japan2024-05-22
1043Argentina2024-05-25
1044Brazil2024-05-27
1045Russia2024-05-24
1046Italy2024-05-08
1047France2024-05-24
1048Argentina2024-05-02
1049France2024-05-02

On-Demand Data

NameIdCountryDate
Juan H Ostrosky1000India2024-04-29
Nicolas E Butt1001Spain2024-05-19
Aditya W Gillian1002Canada2024-05-22
Juan X Slusarski1003Australia2024-05-21
Aditya C Figeroa1004Italy2024-05-15
Leja U Stenseth1005Italy2024-05-23
Jefferson B Nicka1006Russia2024-05-23
Murillo Z Flosi1007Canada2024-05-11
Mujtaba X Albares1008Argentina2024-05-02
Maria Z Whobrey1009Argentina2024-05-13
Stacey U Caudy1010Italy2024-05-07
Chavez B Saylors1011Brazil2024-05-16
Aruna G Shinko1012United Kingdom2024-05-20
Misaki A Kolmetz1013Spain2024-05-11
Antonio Z Caudy1014Spain2024-05-24
Morrow F Malet1015Australia2024-05-24
James C Garufi1016France2024-05-06
Chavez E Wieser1017Japan2024-05-08
Murillo J Stockham1018Italy2024-05-06
Aruna R Rim1019Russia2024-05-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams B CaudyAustraliaAnna Fali PROPOSAL
Ashley H NestleBrazilAnna Fali RENEWAL
Chavez I GillianJapanXuxue Feng PROPOSAL
Darci C BriddickFranceAnna Fali NEGOTIATION
Ricardo O StensethAustraliaElwin Sharvill UNQUALIFIED
Izzy O RimBrazilElwin Sharvill UNQUALIFIED
Adams I IturbideGermanyStephen Shaw NEGOTIATION
Juan C CampainUnited KingdomStephen Shaw UNQUALIFIED
Salvatore J GlickItalyIvan Magalhaes NEW
Greenwood J StensethSpainIoni Bowcher PROPOSAL
Aika K FlosiRussiaStephen Shaw RENEWAL
Ashley Q DarakjyBrazilBernardo Dominic NEGOTIATION
Claire Z MaletIndiaIoni Bowcher PROPOSAL
Julie B InouyeItalyAsiya Javayant NEW
Chavez F KolmetzSpainAmy Elsner QUALIFIED
Jeanfrancois B BowleyFranceStephen Shaw QUALIFIED
Greenwood J TollnerRussiaAmy Elsner NEW
Deepesh N RulapaughArgentinaAsiya Javayant UNQUALIFIED
Cody T DarakjyAustraliaAnna Fali NEGOTIATION
Wickens I RutaUnited KingdomBernardo Dominic PROPOSAL
Tony P KolmetzAustraliaXuxue Feng PROPOSAL
Francesco H RutaIndiaAmy Elsner RENEWAL
Claire U WhobreyRussiaOnyama Limba RENEWAL
Stacey O StensethItalyOnyama Limba NEGOTIATION
Costa U FollerJapanBernardo Dominic PROPOSAL
Francesco N ShinkoIndiaAnna Fali RENEWAL
Ivar J ButtFranceIoni Bowcher UNQUALIFIED
Murillo B BowleyIndiaBernardo Dominic PROPOSAL
Nicolas Z DilliardFranceIvan Magalhaes UNQUALIFIED
Kaitlin B IturbideAustraliaOnyama Limba RENEWAL
Greenwood J SchemmerArgentinaXuxue Feng PROPOSAL
Kaitlin V PaprockiJapanIvan Magalhaes UNQUALIFIED
Aika L BologniaGermanyIoni Bowcher PROPOSAL
Jeanfrancois W BologniaItalyXuxue Feng PROPOSAL
Aruna K FlosiCanadaIoni Bowcher UNQUALIFIED
Isabel K MarrierArgentinaStephen Shaw QUALIFIED
Mayumi S PaprockiUnited KingdomIoni Bowcher PROPOSAL
Julie G VocelkaFranceOnyama Limba RENEWAL
Arvin F OstroskyCanadaAsiya Javayant UNQUALIFIED
Jones U KuskoAustraliaAmy Elsner 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>