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
Juan Z ChuiRussiaAmy Elsner UNQUALIFIED
Leon Y TollnerGermanyAmy Elsner QUALIFIED
Alejandro I AmigonArgentinaElwin Sharvill NEGOTIATION
Aditya A PerinGermanyIvan Magalhaes NEW
Greenwood F RoysterGermanyStephen Shaw RENEWAL
Mayumi Y MacleadGermanyAsiya Javayant UNQUALIFIED
Maisha K MorascaItalyAmy Elsner QUALIFIED
Munro R KolmetzFranceOnyama Limba NEGOTIATION
Stacey Y BowleyItalyElwin Sharvill NEGOTIATION
Francesco Y DarakjyGermanyStephen Shaw UNQUALIFIED
Ashley G ShinkoGermanyAmy Elsner PROPOSAL
Johnson X WieserAustraliaXuxue Feng QUALIFIED
Ashley O ChuiSpainOnyama Limba PROPOSAL
Jennifer S PoquetteUnited KingdomBernardo Dominic PROPOSAL
Arvin I SaylorsUnited KingdomOnyama Limba PROPOSAL
Antonio F WaycottAustraliaBernardo Dominic UNQUALIFIED
Ashley W AlbaresGermanyIoni Bowcher NEGOTIATION
Clifford Q RulapaughRussiaStephen Shaw NEW
Kadeem T MacleadJapanAnna Fali NEGOTIATION
James T AlbaresItalyStephen Shaw UNQUALIFIED
Deepesh G BriddickGermanyAsiya Javayant UNQUALIFIED
Costa G RulapaughArgentinaIoni Bowcher NEW
Emily J FerenczUnited KingdomStephen Shaw RENEWAL
Sinclair E BologniaJapanStephen Shaw QUALIFIED
Adams Y MaletSpainIoni Bowcher QUALIFIED
Claire C CampainSpainAsiya Javayant NEGOTIATION
Sinclair F SergiArgentinaAnna Fali UNQUALIFIED
Ashley Z StensethFranceXuxue Feng UNQUALIFIED
Silvio K SergiIndiaBernardo Dominic QUALIFIED
Darci X NickaAustraliaAnna Fali UNQUALIFIED
Jeanfrancois U MorascaItalyIoni Bowcher UNQUALIFIED
Izzy Y SergiUnited KingdomIoni Bowcher QUALIFIED
Wickens N WaycottSpainElwin Sharvill PROPOSAL
Ivar W AlbaresAustraliaAnna Fali RENEWAL
Wickens R OstroskyArgentinaStephen Shaw QUALIFIED
David Y RimCanadaStephen Shaw UNQUALIFIED
Mayumi X MorascaCanadaStephen Shaw UNQUALIFIED
Isabel R ShinkoAustraliaBernardo Dominic QUALIFIED
Julie T FollerJapanAmy Elsner NEW
Francesco X NickaRussiaOnyama Limba NEW
Jefferson R ShinkoAustraliaOnyama Limba NEGOTIATION
Wickens I DarakjySpainBernardo Dominic NEW
Kadeem N WieserCanadaIvan Magalhaes NEW
Mujtaba K CaldareraGermanyBernardo Dominic NEW
Munro R NickaIndiaIoni Bowcher NEGOTIATION
Aika C NickaRussiaAmy Elsner QUALIFIED
Clifford V StockhamRussiaOnyama Limba UNQUALIFIED
David G PerinArgentinaAsiya Javayant PROPOSAL
Jennifer N WieserArgentinaStephen Shaw PROPOSAL
Chavez W FerenczIndiaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Wickens I SaylorsIndiaAmy Elsner NEGOTIATION
Kadeem B RoysterGermanyElwin Sharvill UNQUALIFIED
Smith H SaylorsJapanStephen Shaw RENEWAL
Mujtaba L RulapaughBrazilAmy Elsner UNQUALIFIED
Antonio R AmigonCanadaBernardo Dominic NEW
Greenwood C VocelkaCanadaXuxue Feng NEGOTIATION
Wickens M InouyeArgentinaIvan Magalhaes NEGOTIATION
Stacey G KuskoFranceElwin Sharvill RENEWAL
Sinclair U MacleadCanadaBernardo Dominic NEW
Clifford T SergiFranceIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens Q SchemmerRussia2024-05-29Feltz Printing Service QUALIFIED72Stephen Shaw
1001Nicolas Q VenereUnited Kingdom2024-05-29Rousseaux, Michael Esq UNQUALIFIED99Asiya Javayant
1002Juan N GlickBrazil2024-05-27Feiner Bros PROPOSAL79Onyama Limba
1003Adams H MaletUnited Kingdom2024-05-19Truhlar And Truhlar Attys NEW87Amy Elsner
1004Stacey G CaudyRussia2024-06-15Dorl, James J Esq NEGOTIATION13Elwin Sharvill
1005Murillo T SaylorsUnited Kingdom2024-05-25Dorl, James J Esq NEGOTIATION29Amy Elsner
1006Mujtaba C DarakjySpain2024-05-18Feltz Printing Service NEGOTIATION60Elwin Sharvill
1007Faith W KuskoBrazil2024-06-16Chanay, Jeffrey A Esq NEGOTIATION82Ioni Bowcher
1008Tony L RimSpain2024-06-03Morlong Associates QUALIFIED64Ivan Magalhaes
1009Chavez N ChuiSpain2024-05-26Printing Dimensions QUALIFIED6Asiya Javayant
1010Smith S RimUnited Kingdom2024-05-24Truhlar And Truhlar Attys RENEWAL79Ioni Bowcher
1011Alejandro A RulapaughUnited Kingdom2024-05-21Benton, John B Jr NEW85Onyama Limba
1012Nicolas C AmigonFrance2024-05-20Rousseaux, Michael Esq NEGOTIATION22Ioni Bowcher
1013Munro R RoysterUnited Kingdom2024-06-07Buckley Miller Wright PROPOSAL63Stephen Shaw
1014Mujtaba L StensethSpain2024-06-06Truhlar And Truhlar Attys PROPOSAL35Xuxue Feng
1015Smith E CaldareraAustralia2024-06-09Feiner Bros RENEWAL15Xuxue Feng
1016Kadeem N PerinSpain2024-06-04Chemel, James L Cpa UNQUALIFIED69Stephen Shaw
1017Kaitlin T BowleyRussia2024-06-10King, Christopher A Esq RENEWAL56Ioni Bowcher
1018Aditya I GlickAustralia2024-06-08Benton, John B Jr NEW10Elwin Sharvill
1019Alejandro U DarakjySpain2024-06-04Buckley Miller Wright UNQUALIFIED20Onyama Limba
1020Francesco B SlusarskiFrance2024-06-12Chanay, Jeffrey A Esq PROPOSAL58Anna Fali
1021Jennifer Q DoeUnited Kingdom2024-05-20Commercial Press NEW97Elwin Sharvill
1022Antonio E RoysterSpain2024-06-01Feiner Bros NEGOTIATION11Bernardo Dominic
1023Francesco C StensethJapan2024-05-31Rangoni Of Florence UNQUALIFIED10Asiya Javayant
1024Kaitlin U RutaItaly2024-06-01Rousseaux, Michael Esq PROPOSAL74Stephen Shaw
1025Aruna D DilliardIndia2024-05-18Buckley Miller Wright NEW45Elwin Sharvill
1026Mujtaba G KolmetzRussia2024-05-31Benton, John B Jr NEW6Ioni Bowcher
1027Ashley G KolmetzSpain2024-06-12Commercial Press UNQUALIFIED7Elwin Sharvill
1028Faith X StockhamItaly2024-05-19Chapman, Ross E Esq PROPOSAL35Onyama Limba
1029Alejandro K VenereFrance2024-06-11Rangoni Of Florence NEW97Stephen Shaw
1030Ashley Q GarufiUnited Kingdom2024-05-26Chapman, Ross E Esq RENEWAL84Elwin Sharvill
1031Faith T StensethItaly2024-06-14Morlong Associates NEW20Bernardo Dominic
1032Ricardo P RulapaughRussia2024-05-29Dorl, James J Esq NEW17Bernardo Dominic
1033Ricardo X VenereArgentina2024-06-13Printing Dimensions QUALIFIED26Elwin Sharvill
1034Stacey P GarufiItaly2024-06-11Printing Dimensions NEGOTIATION26Onyama Limba
1035Kadeem W PoquetteItaly2024-06-12Dorl, James J Esq RENEWAL34Bernardo Dominic
1036Isabel Z VenereRussia2024-05-18Feiner Bros QUALIFIED15Ioni Bowcher
1037Claire P InouyeItaly2024-06-14Buckley Miller Wright QUALIFIED21Elwin Sharvill
1038Stacey Q WieserCanada2024-06-11Feltz Printing Service NEW71Xuxue Feng
1039Costa I AmigonSpain2024-06-01Buckley Miller Wright NEGOTIATION32Amy Elsner
1040Jeanfrancois Y DilliardItaly2024-06-11Chemel, James L Cpa QUALIFIED36Ioni Bowcher
1041Isabel H StockhamUnited Kingdom2024-05-23Rousseaux, Michael Esq PROPOSAL93Bernardo Dominic
1042Leja W ButtUnited Kingdom2024-05-27Rousseaux, Michael Esq UNQUALIFIED44Elwin Sharvill
1043Faith L FigeroaFrance2024-05-25Chemel, James L Cpa QUALIFIED2Stephen Shaw
1044Faith X KolmetzSpain2024-06-05Morlong Associates QUALIFIED50Xuxue Feng
1045Maria Y SergiFrance2024-05-29Chanay, Jeffrey A Esq NEGOTIATION62Bernardo Dominic
1046Ashley G DarakjyArgentina2024-06-16Chemel, James L Cpa PROPOSAL9Bernardo Dominic
1047Francesco M OstroskyFrance2024-05-19King, Christopher A Esq UNQUALIFIED37Elwin Sharvill
1048Julie M GarufiFrance2024-06-03King, Christopher A Esq UNQUALIFIED28Ivan Magalhaes
1049Faith S VocelkaGermany2024-05-27Printing Dimensions UNQUALIFIED43Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Misaki T BriddickRussiaElwin Sharvill PROPOSAL
Chavez E MorascaItalyStephen Shaw QUALIFIED
Leon W StockhamRussiaStephen Shaw RENEWAL
Ivar P StockhamItalyBernardo Dominic RENEWAL
David A IturbideJapanAnna Fali RENEWAL
Antonio F AmigonUnited KingdomIvan Magalhaes QUALIFIED
Johnson V OldroydSpainXuxue Feng NEW
Julie J CampainAustraliaElwin Sharvill NEGOTIATION
Darci V PoquetteIndiaOnyama Limba PROPOSAL
Julie J SchemmerIndiaOnyama Limba RENEWAL
Tony X RoysterUnited KingdomOnyama Limba NEGOTIATION
Deepesh C MaletArgentinaAnna Fali PROPOSAL
Claire N OldroydArgentinaIvan Magalhaes PROPOSAL
Deepesh F VenereFranceAmy Elsner NEGOTIATION
Sinclair U FollerSpainAsiya Javayant UNQUALIFIED
Julie T RoysterUnited KingdomAmy Elsner RENEWAL
Jennifer K CaldareraArgentinaOnyama Limba UNQUALIFIED
Cody R StockhamSpainElwin Sharvill QUALIFIED
Claire S OstroskyJapanAnna Fali NEGOTIATION
Emily K MorascaSpainBernardo Dominic PROPOSAL
Misaki A PoquetteAustraliaAnna Fali NEGOTIATION
Clifford J FigeroaRussiaXuxue Feng NEW
Jones E WieserCanadaAnna Fali UNQUALIFIED
Mujtaba H KuskoSpainIvan Magalhaes NEGOTIATION
Ivar W DilliardRussiaAnna Fali RENEWAL
Kaitlin M InouyeFranceBernardo Dominic NEW
Murillo S StensethIndiaBernardo Dominic PROPOSAL
Greenwood A NickaRussiaAnna Fali NEGOTIATION
Silvio R DilliardItalyStephen Shaw NEGOTIATION
Morrow L GarufiSpainXuxue Feng NEGOTIATION
Kaitlin D NestleFranceBernardo Dominic RENEWAL
Darci O AmigonIndiaOnyama Limba QUALIFIED
Antonio E TollnerUnited KingdomStephen Shaw RENEWAL
Jefferson A BriddickAustraliaBernardo Dominic QUALIFIED
Ivar E CaldareraUnited KingdomBernardo Dominic QUALIFIED
Jones Q RoysterUnited KingdomAsiya Javayant NEW
Maria Z FigeroaItalyElwin Sharvill UNQUALIFIED
Mujtaba P FlosiItalyIvan Magalhaes UNQUALIFIED
Arvin S SchemmerGermanyAmy Elsner NEGOTIATION
Kadeem X FerenczSpainOnyama Limba QUALIFIED
James W MaletGermanyAnna Fali QUALIFIED
Francesco M BriddickIndiaOnyama Limba RENEWAL
Johnson W IturbideIndiaIvan Magalhaes NEW
Aika F KolmetzArgentinaStephen Shaw UNQUALIFIED
Julie L PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Adams J BriddickRussiaBernardo Dominic PROPOSAL
Mayumi A DoeFranceXuxue Feng QUALIFIED
Leon Y RoysterUnited KingdomIoni Bowcher PROPOSAL
Aruna L ChuiItalyAnna Fali NEW
Kaitlin T IturbideSpainBernardo Dominic NEGOTIATION
Frozen Columns
Name
Jeanfrancois D Briddick
Adams V Nestle
Izzy X Ruta
Munro D Tollner
Deepesh C Morasca
Tony V Briddick
Antonio T Briddick
Munro S Slusarski
Rodrigues H Chui
Nicolas Q Garufi
Cody Q Nicka
Johnson R Amigon
Emily D Stenseth
Adams W Maclead
Isabel D Waycott
Kadeem U Nestle
Antonio G Gaucho
Murillo D Shinko
Clifford P Sergi
Aika D Tollner
Johnson S Gaucho
Costa J Foller
Kaitlin F Ostrosky
Murillo M Doe
Aditya N Albares
Maria R Kusko
Cody E Bowley
David Y Campain
Murillo J Sergi
Antonio F Doe
Morrow C Ruta
Jeanfrancois L Nestle
Mayumi U Caudy
Faith X Kusko
Julie K Marrier
Ricardo X Butt
Ivar S Slusarski
Aruna E Rim
Octavia J Figeroa
Claire U Maclead
Kaitlin K Malet
Claire I Albares
Faith D Maclead
James N Wieser
Clifford L Malet
Greenwood Q Maclead
Kaitlin A Chui
Stacey V Poquette
Silvio D Inouye
Arvin O Ferencz
IdCountryDate
1000Italy2024-05-31
1001India2024-05-21
1002Argentina2024-05-23
1003Italy2024-05-27
1004India2024-06-16
1005Brazil2024-06-10
1006Australia2024-05-31
1007Italy2024-05-23
1008Russia2024-06-02
1009Russia2024-06-08
1010Spain2024-06-12
1011United Kingdom2024-06-07
1012Japan2024-05-29
1013India2024-05-24
1014Australia2024-05-26
1015Japan2024-05-25
1016India2024-06-01
1017France2024-05-24
1018Japan2024-05-21
1019Argentina2024-05-29
1020France2024-06-03
1021Canada2024-05-22
1022Spain2024-06-14
1023Canada2024-06-08
1024United Kingdom2024-06-09
1025Argentina2024-05-21
1026Italy2024-06-15
1027India2024-06-09
1028Brazil2024-05-21
1029Japan2024-05-31
1030United Kingdom2024-06-12
1031Japan2024-06-10
1032Japan2024-06-14
1033Germany2024-06-13
1034France2024-05-18
1035Argentina2024-06-14
1036Russia2024-05-28
1037Italy2024-06-05
1038Spain2024-05-19
1039Germany2024-05-25
1040Germany2024-05-30
1041Brazil2024-06-06
1042France2024-05-25
1043Germany2024-06-05
1044Spain2024-06-15
1045France2024-06-04
1046Germany2024-06-13
1047Japan2024-05-27
1048Australia2024-06-15
1049France2024-06-07

On-Demand Data

NameIdCountryDate
Munro X Oldroyd1000India2024-06-08
Chavez P Slusarski1001Brazil2024-06-16
Juan V Sergi1002Brazil2024-05-26
Aruna B Stockham1003Spain2024-05-24
Sinclair V Saylors1004Russia2024-05-21
Stacey C Sergi1005Japan2024-06-16
Isabel Q Schemmer1006Spain2024-05-18
Johnson A Nicka1007Germany2024-05-31
Jones J Iturbide1008Canada2024-05-25
Maisha D Bowley1009Brazil2024-05-19
Antonio L Flosi1010France2024-05-24
Smith I Sergi1011India2024-05-23
Costa E Perin1012Russia2024-06-02
Adams F Campain1013Russia2024-06-08
Arvin D Marrier1014France2024-05-21
Ashley W Figeroa1015Australia2024-05-26
Kadeem A Inouye1016Argentina2024-06-12
Aika S Ferencz1017Argentina2024-06-06
Tony X Doe1018Canada2024-05-19
Arvin C Shinko1019Canada2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki P FollerBrazilAnna Fali PROPOSAL
Kadeem J FerenczItalyBernardo Dominic QUALIFIED
Arvin T FollerAustraliaAmy Elsner PROPOSAL
Johnson G ShinkoGermanyXuxue Feng NEGOTIATION
Silvio D RoysterArgentinaOnyama Limba NEW
Arvin M MacleadArgentinaAsiya Javayant RENEWAL
David Z VocelkaUnited KingdomAmy Elsner RENEWAL
Clifford L CampainCanadaAmy Elsner RENEWAL
Johnson X IturbideJapanXuxue Feng NEGOTIATION
Misaki H MorascaAustraliaAsiya Javayant UNQUALIFIED
Silvio L SaylorsFranceElwin Sharvill NEW
Clifford Y FlosiUnited KingdomStephen Shaw PROPOSAL
Maria D CampainRussiaStephen Shaw UNQUALIFIED
Leja V BowleyFranceAsiya Javayant RENEWAL
Kaitlin V PaprockiAustraliaXuxue Feng UNQUALIFIED
Jones I FigeroaCanadaAsiya Javayant NEW
Izzy H StockhamAustraliaIoni Bowcher UNQUALIFIED
Aditya I GlickArgentinaIvan Magalhaes UNQUALIFIED
Jefferson F NestleArgentinaXuxue Feng NEGOTIATION
Alejandro E IturbideCanadaIoni Bowcher QUALIFIED
Emily Q PoquetteGermanyAnna Fali NEGOTIATION
Murillo P BowleyItalyAsiya Javayant RENEWAL
David F MorascaAustraliaAsiya Javayant RENEWAL
Misaki L WieserBrazilAsiya Javayant UNQUALIFIED
David I StensethAustraliaAsiya Javayant RENEWAL
Morrow Q WieserBrazilAmy Elsner UNQUALIFIED
Aruna J CampainArgentinaOnyama Limba QUALIFIED
Sinclair M SlusarskiArgentinaIvan Magalhaes QUALIFIED
Octavia S VocelkaAustraliaStephen Shaw NEGOTIATION
Munro X IturbideJapanIvan Magalhaes RENEWAL
Leja O DarakjyGermanyAsiya Javayant UNQUALIFIED
Kadeem E SergiCanadaAmy Elsner RENEWAL
Faith C VenereBrazilXuxue Feng NEW
Chavez F NestleArgentinaOnyama Limba NEW
James C VocelkaRussiaOnyama Limba QUALIFIED
David F RimFranceIvan Magalhaes PROPOSAL
Wickens D StockhamAustraliaStephen Shaw NEW
Nicolas A OldroydItalyBernardo Dominic NEW
Julie X PaprockiIndiaIoni Bowcher QUALIFIED
Greenwood G CaudySpainAnna Fali 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>