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
Julie W PaprockiIndiaIoni Bowcher NEGOTIATION
Juan H ChuiAustraliaAmy Elsner QUALIFIED
Aika Z DarakjyIndiaXuxue Feng NEW
Ivar X MacleadJapanAmy Elsner UNQUALIFIED
Arvin V GillianCanadaStephen Shaw NEW
Misaki N SlusarskiJapanXuxue Feng NEGOTIATION
Jefferson A FigeroaCanadaElwin Sharvill NEGOTIATION
Kadeem J CampainIndiaElwin Sharvill NEGOTIATION
Francesco V SchemmerBrazilElwin Sharvill UNQUALIFIED
Jennifer Y BriddickFranceAnna Fali UNQUALIFIED
Mujtaba O MaletIndiaAmy Elsner QUALIFIED
Ashley J OldroydUnited KingdomOnyama Limba NEW
Morrow O OldroydItalyOnyama Limba PROPOSAL
Morrow V ShinkoJapanStephen Shaw UNQUALIFIED
Maria P RulapaughSpainIvan Magalhaes PROPOSAL
Sinclair P MaletCanadaAnna Fali NEW
Clifford Z SaylorsJapanAsiya Javayant NEW
Chavez F OldroydCanadaAnna Fali NEGOTIATION
Maria K StensethIndiaAnna Fali NEW
Costa B KuskoUnited KingdomAsiya Javayant UNQUALIFIED
Francesco W KolmetzAustraliaOnyama Limba NEW
Morrow X OstroskyGermanyIvan Magalhaes NEGOTIATION
Ivar C RulapaughGermanyXuxue Feng NEW
Juan T RimJapanAsiya Javayant NEW
Julie D CaudyBrazilXuxue Feng RENEWAL
Jeanfrancois N DoeBrazilBernardo Dominic QUALIFIED
Jones J DilliardCanadaBernardo Dominic NEW
Nicolas D BriddickCanadaAnna Fali UNQUALIFIED
Alejandro E TollnerGermanyStephen Shaw PROPOSAL
Leja R NestleSpainOnyama Limba RENEWAL
Arvin F TollnerCanadaAmy Elsner NEW
Stacey I CaudyCanadaAmy Elsner UNQUALIFIED
Arvin V OstroskyCanadaOnyama Limba UNQUALIFIED
Morrow O FollerArgentinaIvan Magalhaes RENEWAL
Julie N BowleyGermanyOnyama Limba RENEWAL
Jefferson X DarakjyArgentinaXuxue Feng RENEWAL
Faith F MaletIndiaElwin Sharvill NEW
Jefferson R DilliardFranceElwin Sharvill QUALIFIED
Alejandro F IturbideIndiaAmy Elsner UNQUALIFIED
Aruna U PaprockiSpainIvan Magalhaes NEW
Salvatore R GarufiItalyBernardo Dominic RENEWAL
Mujtaba Z VocelkaSpainAnna Fali PROPOSAL
Isabel J FerenczCanadaElwin Sharvill NEW
Francesco S StockhamCanadaBernardo Dominic NEW
David L IturbideJapanOnyama Limba NEW
Chavez C MarrierJapanAsiya Javayant QUALIFIED
Ricardo X CaudyBrazilXuxue Feng RENEWAL
Izzy X RimBrazilAnna Fali NEGOTIATION
Sinclair J OldroydCanadaXuxue Feng RENEWAL
David D OstroskyArgentinaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Chavez E AmigonCanadaStephen Shaw NEGOTIATION
Kadeem C MarrierIndiaStephen Shaw NEW
Isabel T VenereRussiaOnyama Limba NEGOTIATION
Julie K FerenczSpainXuxue Feng QUALIFIED
Nicolas S FigeroaCanadaAmy Elsner QUALIFIED
Stacey A SchemmerCanadaIvan Magalhaes NEW
Silvio Y GlickJapanAsiya Javayant NEGOTIATION
Nicolas X VocelkaItalyIoni Bowcher NEGOTIATION
Aruna K ChuiJapanBernardo Dominic QUALIFIED
Greenwood Q MaletRussiaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh D InouyeRussia2025-06-03Chemel, James L Cpa NEGOTIATION35Onyama Limba
1001Leon W GillianFrance2025-05-26Morlong Associates RENEWAL59Asiya Javayant
1002Deepesh B WhobreyIndia2025-05-31Dorl, James J Esq RENEWAL54Amy Elsner
1003Aditya W SaylorsItaly2025-05-31Feiner Bros PROPOSAL5Elwin Sharvill
1004Ivar E CaudySpain2025-05-31Buckley Miller Wright QUALIFIED43Elwin Sharvill
1005Deepesh Z FollerAustralia2025-05-26Printing Dimensions PROPOSAL31Elwin Sharvill
1006David D VenereBrazil2025-05-18Buckley Miller Wright UNQUALIFIED10Ivan Magalhaes
1007Rodrigues G OstroskyCanada2025-06-08Commercial Press UNQUALIFIED54Onyama Limba
1008Ricardo Z WhobreySpain2025-05-18Buckley Miller Wright NEGOTIATION6Stephen Shaw
1009Ivar W NestleUnited Kingdom2025-05-18Commercial Press RENEWAL75Ivan Magalhaes
1010Sinclair M VenereItaly2025-06-15Rousseaux, Michael Esq NEGOTIATION69Elwin Sharvill
1011Maria A RutaIndia2025-05-19Chanay, Jeffrey A Esq NEW44Stephen Shaw
1012Isabel H OldroydRussia2025-05-19Chemel, James L Cpa PROPOSAL8Asiya Javayant
1013Maisha T BologniaCanada2025-06-12King, Christopher A Esq NEW54Onyama Limba
1014Jeanfrancois F DilliardAustralia2025-05-25Chapman, Ross E Esq NEW89Asiya Javayant
1015Costa D OldroydIndia2025-05-25Chanay, Jeffrey A Esq PROPOSAL21Amy Elsner
1016Ivar Q FigeroaFrance2025-05-19Chapman, Ross E Esq QUALIFIED87Asiya Javayant
1017David I SchemmerRussia2025-06-13Printing Dimensions UNQUALIFIED37Stephen Shaw
1018Smith Q RimAustralia2025-05-24Feltz Printing Service NEW14Ioni Bowcher
1019Smith Y MaletRussia2025-06-15King, Christopher A Esq PROPOSAL45Ioni Bowcher
1020Francesco Q SergiArgentina2025-05-30Truhlar And Truhlar Attys UNQUALIFIED67Stephen Shaw
1021Rodrigues G BologniaJapan2025-05-28Printing Dimensions NEGOTIATION38Ivan Magalhaes
1022Octavia F RimSpain2025-06-03Buckley Miller Wright PROPOSAL97Ivan Magalhaes
1023Jeanfrancois W MaletUnited Kingdom2025-06-10Truhlar And Truhlar Attys NEGOTIATION36Ioni Bowcher
1024Clifford D RulapaughSpain2025-06-09Chapman, Ross E Esq NEW18Onyama Limba
1025Juan N ChuiJapan2025-05-31Dorl, James J Esq NEGOTIATION71Anna Fali
1026Jones U MorascaRussia2025-05-29Chapman, Ross E Esq NEW23Amy Elsner
1027Aika P MarrierIndia2025-05-31Rousseaux, Michael Esq NEGOTIATION69Anna Fali
1028Faith L OldroydJapan2025-05-19Feiner Bros NEW2Stephen Shaw
1029Johnson P AlbaresBrazil2025-05-20Morlong Associates QUALIFIED38Bernardo Dominic
1030Rodrigues T DarakjyIndia2025-06-03Dorl, James J Esq UNQUALIFIED51Bernardo Dominic
1031Antonio Y SlusarskiItaly2025-06-10Chemel, James L Cpa NEW95Ivan Magalhaes
1032Maisha W MacleadCanada2025-05-18Dorl, James J Esq RENEWAL68Ivan Magalhaes
1033Aika W StockhamFrance2025-05-30Dorl, James J Esq QUALIFIED66Anna Fali
1034David U PoquetteAustralia2025-06-02Commercial Press RENEWAL74Ivan Magalhaes
1035David K RulapaughArgentina2025-06-12Feltz Printing Service NEW66Elwin Sharvill
1036Kadeem N CaldareraIndia2025-05-28Feiner Bros RENEWAL11Anna Fali
1037Aditya P CampainAustralia2025-05-18Feltz Printing Service NEGOTIATION73Elwin Sharvill
1038Smith T MaletCanada2025-05-21Commercial Press PROPOSAL72Bernardo Dominic
1039Claire L CampainJapan2025-05-22Morlong Associates NEW48Anna Fali
1040Deepesh O GarufiItaly2025-06-10Buckley Miller Wright RENEWAL7Stephen Shaw
1041James K MorascaRussia2025-06-11Chanay, Jeffrey A Esq PROPOSAL2Elwin Sharvill
1042Johnson U GauchoRussia2025-05-18Printing Dimensions RENEWAL54Onyama Limba
1043Murillo U VocelkaFrance2025-06-02Feiner Bros NEW57Xuxue Feng
1044Kadeem R KolmetzGermany2025-06-05Buckley Miller Wright PROPOSAL98Asiya Javayant
1045Nicolas E WhobreyCanada2025-05-19Rangoni Of Florence PROPOSAL35Amy Elsner
1046Clifford D GillianAustralia2025-06-05Chemel, James L Cpa RENEWAL87Ivan Magalhaes
1047Wickens Y FigeroaArgentina2025-05-21Printing Dimensions PROPOSAL86Ioni Bowcher
1048Claire T MacleadItaly2025-05-30King, Christopher A Esq NEGOTIATION60Ioni Bowcher
1049Arvin H BriddickRussia2025-06-14Buckley Miller Wright NEW11Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Deepesh M WaycottItalyAnna Fali RENEWAL
Misaki S WhobreyJapanAnna Fali NEGOTIATION
Chavez N AlbaresItalyAnna Fali UNQUALIFIED
Izzy C FigeroaBrazilIoni Bowcher PROPOSAL
Ivar Q KolmetzArgentinaOnyama Limba UNQUALIFIED
Leja R NickaUnited KingdomAsiya Javayant RENEWAL
Izzy Q DoeRussiaBernardo Dominic PROPOSAL
Salvatore X KolmetzSpainAmy Elsner QUALIFIED
Mujtaba M IturbideSpainElwin Sharvill NEW
Mujtaba Q BowleyGermanyAmy Elsner PROPOSAL
David U MaletSpainElwin Sharvill PROPOSAL
Johnson R BowleyGermanyAsiya Javayant QUALIFIED
Octavia F RoysterSpainAsiya Javayant RENEWAL
Leon X CampainGermanyOnyama Limba UNQUALIFIED
Francesco B CampainGermanyIvan Magalhaes NEW
Jeanfrancois X DoeSpainOnyama Limba PROPOSAL
Jefferson B RoysterSpainBernardo Dominic PROPOSAL
Sinclair T WaycottIndiaAnna Fali QUALIFIED
Julie A DoeBrazilIvan Magalhaes NEGOTIATION
Kaitlin F InouyeBrazilXuxue Feng PROPOSAL
Izzy Y VenereCanadaElwin Sharvill QUALIFIED
David O ChuiFranceElwin Sharvill UNQUALIFIED
Costa Y BowleySpainIvan Magalhaes QUALIFIED
Faith Q ShinkoBrazilAnna Fali PROPOSAL
Claire T MacleadArgentinaStephen Shaw NEGOTIATION
Darci W PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Adams G PaprockiGermanyAmy Elsner NEW
Mujtaba Z GauchoItalyAnna Fali UNQUALIFIED
Arvin V RutaItalyAsiya Javayant PROPOSAL
Mayumi U FigeroaJapanElwin Sharvill QUALIFIED
Darci C PoquetteArgentinaXuxue Feng QUALIFIED
Morrow N MaletArgentinaIoni Bowcher QUALIFIED
Misaki A PoquetteBrazilAmy Elsner NEW
Aruna V InouyeRussiaIoni Bowcher RENEWAL
Izzy M AlbaresRussiaAsiya Javayant UNQUALIFIED
Julie X ShinkoJapanXuxue Feng RENEWAL
Jones I BriddickSpainElwin Sharvill PROPOSAL
Greenwood W ShinkoRussiaAnna Fali RENEWAL
Alejandro F RutaJapanAsiya Javayant RENEWAL
Aika Q InouyeSpainIvan Magalhaes RENEWAL
Cody K CampainItalyAmy Elsner PROPOSAL
Ivar M StensethArgentinaElwin Sharvill NEGOTIATION
Ricardo Y FerenczArgentinaIvan Magalhaes UNQUALIFIED
James F WaycottRussiaAsiya Javayant NEGOTIATION
Maisha R BologniaSpainAsiya Javayant PROPOSAL
Ricardo T InouyeItalyBernardo Dominic QUALIFIED
Izzy H WieserAustraliaStephen Shaw NEW
Tony P CaldareraBrazilIvan Magalhaes NEGOTIATION
Alejandro T FigeroaGermanyAsiya Javayant QUALIFIED
Jones E CampainIndiaAsiya Javayant RENEWAL
Frozen Columns
Name
Ivar U Doe
Aika A Whobrey
Misaki E Ruta
Darci T Slusarski
Julie M Chui
Morrow P Gillian
Octavia L Tollner
Aika R Morasca
Murillo Y Saylors
Jones O Garufi
Aditya I Bowley
Aika W Iturbide
Antonio K Caudy
Aika Z Stockham
James I Paprocki
Adams U Inouye
Salvatore Z Kolmetz
Mayumi H Briddick
Jennifer F Perin
Julie I Doe
Leja T Oldroyd
Smith A Morasca
Juan L Whobrey
Maisha Z Foller
Faith V Caudy
Nicolas Z Ruta
Alejandro X Whobrey
Antonio Y Figeroa
Misaki P Caldarera
Aruna J Butt
Sinclair U Royster
Cody B Darakjy
Rodrigues F Kolmetz
Chavez H Kolmetz
Francesco D Ruta
Cody M Paprocki
Maria B Stenseth
Jefferson W Royster
Munro I Ostrosky
Maria R Doe
Jefferson D Royster
Octavia D Chui
Morrow W Campain
Ivar X Doe
Silvio D Amigon
Jennifer P Butt
Silvio H Dilliard
Arvin A Iturbide
Ivar Q Campain
Darci D Stenseth
IdCountryDate
1000Australia2025-05-31
1001United Kingdom2025-05-28
1002Australia2025-06-15
1003Russia2025-06-10
1004Canada2025-06-05
1005Australia2025-06-03
1006Brazil2025-05-23
1007Brazil2025-06-01
1008Brazil2025-06-06
1009Brazil2025-05-22
1010Canada2025-05-25
1011Germany2025-05-20
1012Italy2025-06-10
1013Spain2025-06-02
1014Russia2025-06-09
1015Russia2025-06-10
1016Italy2025-05-23
1017Brazil2025-06-15
1018Brazil2025-06-05
1019Germany2025-05-26
1020Canada2025-06-04
1021Brazil2025-06-06
1022Japan2025-05-28
1023France2025-06-07
1024Australia2025-06-11
1025India2025-05-18
1026Australia2025-06-03
1027Japan2025-06-13
1028Spain2025-06-05
1029France2025-05-24
1030India2025-05-25
1031Italy2025-06-07
1032Brazil2025-06-03
1033Brazil2025-06-10
1034Australia2025-05-27
1035Australia2025-06-16
1036France2025-05-29
1037Germany2025-06-11
1038Brazil2025-06-15
1039France2025-05-25
1040Germany2025-05-26
1041Spain2025-05-21
1042France2025-06-03
1043Brazil2025-06-15
1044Japan2025-06-14
1045India2025-06-05
1046Italy2025-05-22
1047Italy2025-06-08
1048Germany2025-05-19
1049Canada2025-06-16

On-Demand Data

NameIdCountryDate
Claire J Shinko1000United Kingdom2025-05-19
Wickens P Stockham1001Brazil2025-05-18
Morrow F Garufi1002Canada2025-05-30
Chavez Y Poquette1003Argentina2025-05-18
Ivar P Schemmer1004Canada2025-06-07
Claire Q Albares1005Germany2025-06-10
Juan P Venere1006Germany2025-06-06
Aruna I Bowley1007Japan2025-05-22
Jones I Garufi1008France2025-05-25
Jeanfrancois Q Whobrey1009Japan2025-06-04
Julie E Stenseth1010Argentina2025-05-25
Jefferson I Sergi1011Spain2025-05-21
Aika K Foller1012Brazil2025-05-24
Munro U Venere1013India2025-05-22
Chavez X Garufi1014United Kingdom2025-05-26
Darci P Perin1015Germany2025-05-29
Aika X Briddick1016Japan2025-06-09
Ashley K Gaucho1017United Kingdom2025-06-03
Wickens Z Caldarera1018Russia2025-06-12
Johnson H Nicka1019India2025-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer I KolmetzFranceAsiya Javayant UNQUALIFIED
Mujtaba D GarufiJapanAsiya Javayant NEW
Jeanfrancois O TollnerArgentinaElwin Sharvill NEGOTIATION
Deepesh I TollnerArgentinaIvan Magalhaes UNQUALIFIED
Julie F WhobreyArgentinaAnna Fali NEW
Tony Y DilliardFranceAmy Elsner NEW
Leon Y ChuiAustraliaAnna Fali UNQUALIFIED
Kadeem O KuskoJapanAnna Fali QUALIFIED
Izzy N DoeJapanBernardo Dominic UNQUALIFIED
Aruna A RulapaughGermanyStephen Shaw PROPOSAL
Munro G KolmetzGermanyAnna Fali QUALIFIED
Kaitlin I KolmetzBrazilAsiya Javayant NEW
Claire Y OstroskyIndiaOnyama Limba UNQUALIFIED
Octavia S WhobreyIndiaAnna Fali NEGOTIATION
Ashley B AmigonArgentinaXuxue Feng QUALIFIED
Francesco E ButtGermanyElwin Sharvill NEW
Kadeem A GauchoGermanyAnna Fali UNQUALIFIED
Greenwood D VenereGermanyAmy Elsner NEW
Ivar O GarufiItalyOnyama Limba UNQUALIFIED
Rodrigues Q MacleadJapanAnna Fali UNQUALIFIED
Wickens G BriddickGermanyAnna Fali PROPOSAL
Salvatore Y AlbaresItalyAmy Elsner RENEWAL
Antonio N VocelkaSpainOnyama Limba NEGOTIATION
Kadeem U AmigonSpainIvan Magalhaes NEGOTIATION
Rodrigues W BriddickRussiaIvan Magalhaes RENEWAL
Clifford P MaletFranceAmy Elsner UNQUALIFIED
Sinclair L SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Cody V SergiCanadaIvan Magalhaes PROPOSAL
Izzy A BowleyUnited KingdomIoni Bowcher NEGOTIATION
Emily H ChuiItalyElwin Sharvill PROPOSAL
Francesco V MaletAustraliaOnyama Limba PROPOSAL
Wickens N OstroskyIndiaAnna Fali NEW
Aika E MaletAustraliaElwin Sharvill PROPOSAL
Juan J WieserItalyOnyama Limba RENEWAL
Aditya P KolmetzFranceOnyama Limba QUALIFIED
Murillo A RimAustraliaIvan Magalhaes RENEWAL
Francesco E BriddickCanadaAmy Elsner QUALIFIED
Deepesh D BologniaArgentinaXuxue Feng QUALIFIED
Ricardo A FerenczCanadaAsiya Javayant QUALIFIED
Claire K PaprockiFranceAsiya Javayant 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>