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
Costa O ShinkoJapanIvan Magalhaes NEW
Jeanfrancois P GlickRussiaAsiya Javayant PROPOSAL
Maisha V FlosiFranceIvan Magalhaes QUALIFIED
Munro A StockhamSpainElwin Sharvill NEGOTIATION
Adams M OldroydIndiaAnna Fali QUALIFIED
Antonio E VenereFranceIvan Magalhaes NEGOTIATION
Faith X OldroydRussiaAnna Fali QUALIFIED
Deepesh F DoeIndiaStephen Shaw QUALIFIED
Arvin S MarrierIndiaAsiya Javayant NEW
Morrow I PerinBrazilStephen Shaw QUALIFIED
Faith V MacleadJapanElwin Sharvill NEW
Izzy N VenereItalyBernardo Dominic NEGOTIATION
Darci Y GillianItalyStephen Shaw QUALIFIED
Jefferson S BologniaUnited KingdomElwin Sharvill NEGOTIATION
Claire K PerinSpainXuxue Feng RENEWAL
Aika L RoysterFranceXuxue Feng PROPOSAL
Leon W StockhamFranceOnyama Limba PROPOSAL
Leon I TollnerIndiaIoni Bowcher NEW
Johnson J VenereAustraliaIoni Bowcher PROPOSAL
Misaki G GillianArgentinaOnyama Limba RENEWAL
Stacey Q GarufiUnited KingdomStephen Shaw NEW
Silvio S StensethIndiaIoni Bowcher QUALIFIED
Kadeem U FlosiCanadaAmy Elsner QUALIFIED
Ashley C GauchoIndiaOnyama Limba PROPOSAL
Murillo R WaycottSpainXuxue Feng UNQUALIFIED
Greenwood H TollnerSpainAsiya Javayant RENEWAL
Jefferson X VocelkaAustraliaElwin Sharvill RENEWAL
Salvatore E GlickArgentinaBernardo Dominic QUALIFIED
Aditya A BologniaSpainIoni Bowcher QUALIFIED
Murillo C RutaArgentinaAmy Elsner PROPOSAL
Aruna S TollnerJapanOnyama Limba NEGOTIATION
Mayumi W VocelkaItalyStephen Shaw NEGOTIATION
Julie G StensethCanadaBernardo Dominic QUALIFIED
Jeanfrancois V SchemmerArgentinaStephen Shaw UNQUALIFIED
Ivar W NestleSpainAsiya Javayant RENEWAL
Julie R SergiGermanyIoni Bowcher UNQUALIFIED
Morrow V FollerItalyElwin Sharvill RENEWAL
David P MacleadAustraliaAnna Fali PROPOSAL
Maisha T AlbaresUnited KingdomIvan Magalhaes RENEWAL
Claire P GauchoGermanyOnyama Limba NEW
Stacey P TollnerItalyElwin Sharvill RENEWAL
Morrow O KolmetzJapanStephen Shaw PROPOSAL
Juan C PaprockiArgentinaBernardo Dominic QUALIFIED
Darci M FerenczArgentinaAnna Fali RENEWAL
Aruna Y BologniaUnited KingdomElwin Sharvill PROPOSAL
Leja I CaudyGermanyStephen Shaw NEGOTIATION
Leon T IturbideJapanIoni Bowcher QUALIFIED
Darci H MorascaAustraliaIvan Magalhaes NEW
Jeanfrancois A BowleyIndiaIoni Bowcher NEW
Stacey V OldroydArgentinaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Silvio R PerinCanadaAmy Elsner PROPOSAL
Mayumi L NestleBrazilStephen Shaw NEW
Sinclair H MaletRussiaIvan Magalhaes PROPOSAL
Claire Y OstroskyJapanAsiya Javayant QUALIFIED
Maria E DilliardIndiaAsiya Javayant UNQUALIFIED
Sinclair J ShinkoJapanXuxue Feng NEW
Faith F MaletIndiaBernardo Dominic NEW
Clifford Q ShinkoRussiaXuxue Feng UNQUALIFIED
Mayumi T StockhamCanadaAsiya Javayant QUALIFIED
Wickens B SchemmerArgentinaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki A WaycottArgentina2025-04-25Dorl, James J Esq NEW91Ivan Magalhaes
1001Wickens R MarrierJapan2025-04-18Rangoni Of Florence NEGOTIATION3Elwin Sharvill
1002Leon V WaycottFrance2025-04-14Chanay, Jeffrey A Esq RENEWAL7Ioni Bowcher
1003Arvin C FigeroaCanada2025-04-04Commercial Press NEW3Xuxue Feng
1004Kaitlin V SchemmerSpain2025-04-27Buckley Miller Wright NEGOTIATION23Stephen Shaw
1005Faith F FollerArgentina2025-04-09Chanay, Jeffrey A Esq UNQUALIFIED88Anna Fali
1006Claire V InouyeSpain2025-04-22Rousseaux, Michael Esq RENEWAL17Anna Fali
1007Isabel B RimIndia2025-04-17Chanay, Jeffrey A Esq PROPOSAL70Onyama Limba
1008Kaitlin Y PaprockiGermany2025-04-28Dorl, James J Esq QUALIFIED13Stephen Shaw
1009Stacey X ChuiItaly2025-04-18Dorl, James J Esq NEGOTIATION82Ioni Bowcher
1010Sinclair P RimAustralia2025-04-03Dorl, James J Esq UNQUALIFIED35Asiya Javayant
1011Silvio R GillianBrazil2025-04-25Chemel, James L Cpa UNQUALIFIED36Onyama Limba
1012Kaitlin V TollnerIndia2025-04-14King, Christopher A Esq RENEWAL79Ioni Bowcher
1013Aika R RulapaughRussia2025-04-23Chemel, James L Cpa PROPOSAL23Asiya Javayant
1014Deepesh X RulapaughIndia2025-04-06King, Christopher A Esq NEW98Bernardo Dominic
1015Antonio R InouyeItaly2025-04-10Chemel, James L Cpa PROPOSAL36Asiya Javayant
1016Maria X TollnerFrance2025-04-16Rousseaux, Michael Esq PROPOSAL94Elwin Sharvill
1017Aika U ShinkoJapan2025-04-25Printing Dimensions RENEWAL98Onyama Limba
1018Stacey M PaprockiItaly2025-04-01Chemel, James L Cpa QUALIFIED53Stephen Shaw
1019Jones Y FigeroaRussia2025-04-07Benton, John B Jr UNQUALIFIED54Ioni Bowcher
1020Mujtaba J WieserFrance2025-04-24Feltz Printing Service NEGOTIATION3Anna Fali
1021Salvatore J FigeroaAustralia2025-04-11Printing Dimensions NEGOTIATION40Ivan Magalhaes
1022Aruna M PoquetteRussia2025-04-02Commercial Press RENEWAL83Bernardo Dominic
1023James U MorascaIndia2025-04-25Benton, John B Jr NEW95Xuxue Feng
1024Costa I PerinItaly2025-04-21Printing Dimensions NEW42Stephen Shaw
1025Chavez X CaldareraArgentina2025-04-24Commercial Press NEW84Anna Fali
1026Julie R StockhamBrazil2025-04-08Benton, John B Jr QUALIFIED88Onyama Limba
1027Greenwood R ShinkoFrance2025-04-10Commercial Press PROPOSAL45Anna Fali
1028Francesco F KuskoGermany2025-04-10Chemel, James L Cpa PROPOSAL65Stephen Shaw
1029Leja Z IturbideRussia2025-04-24Chapman, Ross E Esq PROPOSAL10Onyama Limba
1030Emily Z WaycottAustralia2025-04-23Chapman, Ross E Esq QUALIFIED95Ivan Magalhaes
1031Morrow A KuskoFrance2025-04-20Benton, John B Jr RENEWAL39Elwin Sharvill
1032Alejandro C ChuiAustralia2025-04-10Rousseaux, Michael Esq RENEWAL18Ioni Bowcher
1033Rodrigues E ShinkoItaly2025-04-10Commercial Press QUALIFIED46Ioni Bowcher
1034Ashley D VenereArgentina2025-04-06Commercial Press RENEWAL79Xuxue Feng
1035Kaitlin D SaylorsIndia2025-04-11Feiner Bros NEW55Onyama Limba
1036Salvatore I RutaRussia2025-04-06Dorl, James J Esq QUALIFIED2Ivan Magalhaes
1037Mayumi U FollerBrazil2025-04-17Chanay, Jeffrey A Esq PROPOSAL34Ivan Magalhaes
1038Isabel L VocelkaCanada2025-04-23Printing Dimensions UNQUALIFIED89Onyama Limba
1039Jennifer I FerenczGermany2025-04-27Truhlar And Truhlar Attys UNQUALIFIED49Asiya Javayant
1040Mayumi V FerenczUnited Kingdom2025-04-26Truhlar And Truhlar Attys QUALIFIED79Xuxue Feng
1041Chavez C FlosiCanada2025-04-27Commercial Press QUALIFIED3Ivan Magalhaes
1042Munro Z OstroskyCanada2025-04-30Chapman, Ross E Esq NEW74Amy Elsner
1043Francesco C DoeSpain2025-04-12Feltz Printing Service NEGOTIATION1Xuxue Feng
1044Francesco A MaletArgentina2025-04-30Dorl, James J Esq RENEWAL46Asiya Javayant
1045Morrow M AmigonUnited Kingdom2025-04-06Truhlar And Truhlar Attys PROPOSAL6Xuxue Feng
1046Ivar Z BriddickFrance2025-04-22Rangoni Of Florence NEGOTIATION58Anna Fali
1047Maria N MaletBrazil2025-04-01Morlong Associates RENEWAL43Onyama Limba
1048Claire B BowleyAustralia2025-04-25Dorl, James J Esq RENEWAL97Bernardo Dominic
1049Jefferson H VocelkaRussia2025-04-02Rousseaux, Michael Esq QUALIFIED80Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Adams C IturbideGermanyStephen Shaw QUALIFIED
Aika A SergiFranceAsiya Javayant NEW
Murillo N AmigonAustraliaStephen Shaw QUALIFIED
Isabel T MarrierBrazilIoni Bowcher UNQUALIFIED
Salvatore F BowleyItalyIvan Magalhaes NEGOTIATION
Kadeem V SergiUnited KingdomAsiya Javayant RENEWAL
Leja E SlusarskiIndiaElwin Sharvill UNQUALIFIED
David A SlusarskiIndiaAmy Elsner NEGOTIATION
Octavia R GlickUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin V SaylorsSpainAnna Fali QUALIFIED
Aditya U MaletJapanIoni Bowcher NEW
Jeanfrancois E NestleBrazilStephen Shaw PROPOSAL
David Q ButtIndiaElwin Sharvill UNQUALIFIED
Izzy D MaletAustraliaStephen Shaw RENEWAL
Munro U FlosiAustraliaXuxue Feng UNQUALIFIED
Faith V WaycottItalyOnyama Limba NEW
Kadeem K WieserGermanyAsiya Javayant QUALIFIED
James R MarrierCanadaElwin Sharvill QUALIFIED
Izzy J SaylorsRussiaElwin Sharvill QUALIFIED
Morrow H AlbaresIndiaIvan Magalhaes QUALIFIED
Jeanfrancois V KolmetzRussiaAsiya Javayant NEW
Isabel P InouyeBrazilAsiya Javayant UNQUALIFIED
Nicolas T DilliardAustraliaAmy Elsner NEW
Tony E OstroskySpainXuxue Feng RENEWAL
Isabel P InouyeArgentinaIoni Bowcher UNQUALIFIED
Kadeem E MaletCanadaAnna Fali QUALIFIED
Chavez S DilliardSpainElwin Sharvill UNQUALIFIED
Jennifer K RutaCanadaAmy Elsner PROPOSAL
Isabel L FlosiSpainAnna Fali QUALIFIED
Mayumi K DarakjyIndiaAnna Fali UNQUALIFIED
Maria W GarufiUnited KingdomAnna Fali QUALIFIED
Tony W StockhamSpainBernardo Dominic UNQUALIFIED
Smith R MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Murillo K DoeIndiaAmy Elsner QUALIFIED
Deepesh M VocelkaFranceElwin Sharvill QUALIFIED
Darci M WieserGermanyElwin Sharvill RENEWAL
Mujtaba B OstroskyRussiaIoni Bowcher PROPOSAL
Clifford C WhobreyUnited KingdomStephen Shaw RENEWAL
David I DoeIndiaAmy Elsner QUALIFIED
James I CampainJapanIvan Magalhaes NEW
Stacey Z KolmetzItalyBernardo Dominic NEW
Munro C DoeRussiaAnna Fali NEW
Mujtaba Q OstroskyArgentinaAmy Elsner PROPOSAL
Francesco D TollnerAustraliaXuxue Feng UNQUALIFIED
Maria E BologniaJapanIoni Bowcher QUALIFIED
Ricardo F VenereItalyStephen Shaw NEGOTIATION
Antonio C MaletFranceStephen Shaw RENEWAL
Faith N CampainCanadaStephen Shaw NEW
Salvatore U StockhamIndiaAmy Elsner NEW
Silvio Y MaletJapanAsiya Javayant QUALIFIED
Frozen Columns
Name
Adams T Malet
Jennifer N Figeroa
Greenwood F Vocelka
Rodrigues D Butt
Rodrigues W Oldroyd
Faith E Garufi
Emily U Whobrey
Jefferson T Malet
Sinclair V Schemmer
Johnson K Doe
Clifford F Saylors
Francesco N Butt
Maisha C Kusko
Misaki D Ostrosky
Tony I Flosi
Nicolas S Nestle
Octavia Y Nestle
Aditya O Paprocki
Alejandro V Ferencz
Aika S Albares
Francesco L Maclead
Juan D Nicka
Aika U Chui
Francesco Z Malet
Nicolas I Amigon
Alejandro N Flosi
Maria O Garufi
Kadeem K Waycott
Aika K Saylors
Antonio O Amigon
Kaitlin N Kusko
Rodrigues K Oldroyd
Izzy D Campain
Mujtaba Y Malet
Rodrigues A Foller
Aika F Shinko
Octavia H Slusarski
Mujtaba P Poquette
Morrow R Rulapaugh
Jefferson L Vocelka
Deepesh V Saylors
Faith P Briddick
Ricardo F Malet
Ricardo G Gillian
Salvatore D Gaucho
Smith E Foller
Greenwood W Rulapaugh
Izzy J Briddick
Kadeem E Bowley
Maria W Oldroyd
IdCountryDate
1000Spain2025-04-08
1001Argentina2025-04-14
1002Brazil2025-04-29
1003Italy2025-04-30
1004Japan2025-04-29
1005India2025-04-20
1006Argentina2025-04-16
1007France2025-04-28
1008Germany2025-04-10
1009India2025-04-16
1010Spain2025-04-13
1011Brazil2025-04-26
1012Russia2025-04-17
1013United Kingdom2025-04-07
1014Canada2025-04-04
1015Japan2025-04-29
1016Russia2025-04-19
1017Brazil2025-04-27
1018Germany2025-04-15
1019Australia2025-04-24
1020Canada2025-04-09
1021Canada2025-04-15
1022Russia2025-04-25
1023Spain2025-04-30
1024Russia2025-04-01
1025Germany2025-04-05
1026India2025-04-15
1027Italy2025-04-26
1028Japan2025-04-02
1029Germany2025-04-08
1030Russia2025-04-03
1031Brazil2025-04-19
1032India2025-04-07
1033Australia2025-04-29
1034Italy2025-04-18
1035United Kingdom2025-04-26
1036Japan2025-04-01
1037Canada2025-04-10
1038Italy2025-04-07
1039France2025-04-18
1040France2025-04-23
1041United Kingdom2025-04-23
1042United Kingdom2025-04-30
1043Japan2025-04-25
1044Germany2025-04-13
1045Brazil2025-04-03
1046India2025-04-22
1047Australia2025-04-01
1048Japan2025-04-22
1049Australia2025-04-27

On-Demand Data

NameIdCountryDate
Claire B Flosi1000Germany2025-04-29
Jeanfrancois Y Gaucho1001Argentina2025-04-19
Greenwood K Albares1002Germany2025-04-29
Ricardo V Amigon1003Germany2025-04-15
Darci H Malet1004Germany2025-04-23
Octavia U Ruta1005Brazil2025-04-18
Juan Z Nestle1006Spain2025-04-02
Misaki L Butt1007Russia2025-04-06
Francesco A Sergi1008Argentina2025-04-11
Mayumi Y Campain1009Italy2025-04-06
Ashley K Caudy1010Australia2025-04-05
Costa J Sergi1011Italy2025-04-08
Jefferson G Caudy1012Italy2025-04-07
Izzy N Stockham1013United Kingdom2025-04-29
Jefferson Q Gaucho1014India2025-04-14
Ashley V Stenseth1015Germany2025-04-01
Kadeem H Campain1016Japan2025-04-04
Stacey H Paprocki1017Italy2025-04-18
Johnson S Stockham1018France2025-04-09
Leon Y Albares1019Argentina2025-04-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson Z GlickJapanStephen Shaw QUALIFIED
Stacey G StockhamAustraliaOnyama Limba RENEWAL
Juan X SergiIndiaAnna Fali RENEWAL
Rodrigues A ShinkoIndiaAnna Fali NEW
Claire M TollnerGermanyXuxue Feng NEGOTIATION
Julie X OstroskyIndiaBernardo Dominic NEW
Kadeem S PerinItalyAnna Fali NEGOTIATION
Octavia I ShinkoSpainOnyama Limba NEW
Mujtaba S AlbaresRussiaAmy Elsner NEGOTIATION
Deepesh V WaycottArgentinaAnna Fali PROPOSAL
Alejandro P MarrierFranceIoni Bowcher QUALIFIED
Maisha Q CaudyCanadaBernardo Dominic PROPOSAL
Emily U WaycottUnited KingdomAsiya Javayant RENEWAL
Arvin N StockhamRussiaAmy Elsner PROPOSAL
Smith P GarufiJapanIvan Magalhaes NEW
Kaitlin U BriddickBrazilIvan Magalhaes PROPOSAL
Juan Y MacleadAustraliaIvan Magalhaes PROPOSAL
Smith Q ChuiBrazilAsiya Javayant NEW
Aika L RulapaughBrazilAsiya Javayant QUALIFIED
Francesco G WieserAustraliaAmy Elsner PROPOSAL
Chavez K MarrierCanadaElwin Sharvill QUALIFIED
Antonio Q RoysterAustraliaIoni Bowcher UNQUALIFIED
Maisha X TollnerRussiaAsiya Javayant RENEWAL
Tony I SchemmerUnited KingdomBernardo Dominic NEW
Juan J FollerRussiaIvan Magalhaes RENEWAL
Emily W FollerRussiaElwin Sharvill RENEWAL
Kadeem P SchemmerFranceBernardo Dominic NEW
Costa O VocelkaIndiaOnyama Limba RENEWAL
Rodrigues J FlosiAustraliaIoni Bowcher RENEWAL
Greenwood J GillianUnited KingdomAmy Elsner NEGOTIATION
Francesco T FlosiArgentinaAnna Fali UNQUALIFIED
Julie U DilliardItalyBernardo Dominic UNQUALIFIED
Stacey R NestleRussiaIoni Bowcher UNQUALIFIED
Maisha E GlickJapanAsiya Javayant NEGOTIATION
Wickens S IturbideUnited KingdomXuxue Feng NEGOTIATION
Mayumi F WaycottAustraliaAnna Fali NEW
Greenwood T SergiSpainAsiya Javayant RENEWAL
Julie A RulapaughBrazilStephen Shaw UNQUALIFIED
Clifford Q WhobreyJapanAnna Fali QUALIFIED
Chavez K KolmetzFranceElwin Sharvill NEW

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