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
Ricardo M FollerFranceStephen Shaw NEGOTIATION
Izzy A ShinkoUnited KingdomAnna Fali NEW
Aika T BologniaFranceAmy Elsner NEGOTIATION
Misaki M InouyeFranceElwin Sharvill QUALIFIED
Chavez F FollerFranceAnna Fali QUALIFIED
Morrow Z PerinArgentinaAmy Elsner NEGOTIATION
James X InouyeJapanBernardo Dominic QUALIFIED
Leja S FollerSpainAnna Fali NEW
Costa X FerenczGermanyAmy Elsner NEGOTIATION
Murillo Z TollnerCanadaAnna Fali NEW
Ashley R GillianAustraliaAmy Elsner NEGOTIATION
Deepesh J VocelkaArgentinaXuxue Feng NEW
Rodrigues P DoeSpainIoni Bowcher NEGOTIATION
Misaki B ButtBrazilIoni Bowcher NEW
Maisha Q WhobreyFranceBernardo Dominic NEW
Maisha Z PaprockiRussiaAsiya Javayant NEW
Deepesh C RulapaughFranceIoni Bowcher QUALIFIED
Chavez E OldroydAustraliaStephen Shaw PROPOSAL
Salvatore Q SchemmerArgentinaOnyama Limba RENEWAL
Ricardo P NestleIndiaXuxue Feng NEGOTIATION
Maria C BologniaFranceXuxue Feng NEW
Ashley X SaylorsSpainIoni Bowcher UNQUALIFIED
Emily Q SchemmerGermanyBernardo Dominic NEGOTIATION
Jeanfrancois B WaycottIndiaAmy Elsner PROPOSAL
Chavez E PoquetteUnited KingdomElwin Sharvill PROPOSAL
Aika D OldroydGermanyAnna Fali QUALIFIED
Mayumi S RulapaughAustraliaAnna Fali NEW
Leon E OstroskyAustraliaIoni Bowcher UNQUALIFIED
Julie H NickaGermanyAmy Elsner RENEWAL
Salvatore X DarakjyJapanAmy Elsner RENEWAL
Izzy A RutaIndiaIvan Magalhaes QUALIFIED
Kaitlin C GauchoCanadaStephen Shaw RENEWAL
Deepesh S StensethSpainOnyama Limba QUALIFIED
Misaki C WieserUnited KingdomIvan Magalhaes NEGOTIATION
Misaki K SlusarskiIndiaIvan Magalhaes PROPOSAL
Sinclair X MaletFranceIoni Bowcher NEW
Alejandro B MacleadFranceAnna Fali PROPOSAL
Deepesh Y SchemmerFranceElwin Sharvill NEGOTIATION
Costa N IturbideItalyIvan Magalhaes NEW
Mayumi R OldroydGermanyIvan Magalhaes QUALIFIED
Tony V SlusarskiCanadaStephen Shaw NEGOTIATION
Arvin H TollnerUnited KingdomOnyama Limba UNQUALIFIED
Aika B StockhamCanadaBernardo Dominic NEGOTIATION
Clifford N WieserIndiaAsiya Javayant QUALIFIED
Ivar X VocelkaIndiaIoni Bowcher QUALIFIED
David V TollnerSpainIoni Bowcher NEW
Julie D GillianGermanyStephen Shaw NEW
Octavia P CaudyJapanIoni Bowcher NEGOTIATION
Kadeem I WieserFranceIvan Magalhaes QUALIFIED
Wickens J GarufiAustraliaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
James Q GauchoArgentinaXuxue Feng NEW
Greenwood Q SchemmerBrazilIoni Bowcher NEW
Emily A VocelkaCanadaStephen Shaw PROPOSAL
Johnson U MarrierGermanyBernardo Dominic PROPOSAL
Johnson H PaprockiArgentinaStephen Shaw NEGOTIATION
Kadeem W StockhamGermanyIvan Magalhaes NEGOTIATION
Kaitlin M MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Aditya Y KuskoBrazilBernardo Dominic NEW
Munro C PoquetteFranceBernardo Dominic NEGOTIATION
Aditya B PaprockiGermanyIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie B VocelkaAustralia2025-04-08Buckley Miller Wright QUALIFIED4Bernardo Dominic
1001Rodrigues J DarakjyRussia2025-04-07Feiner Bros PROPOSAL84Ivan Magalhaes
1002Jennifer J BriddickGermany2025-04-28Rousseaux, Michael Esq PROPOSAL23Anna Fali
1003Jeanfrancois F RoysterGermany2025-04-06Feltz Printing Service NEW37Ioni Bowcher
1004Maisha H GauchoFrance2025-04-24Dorl, James J Esq NEW39Ioni Bowcher
1005Sinclair M PerinSpain2025-04-07Dorl, James J Esq PROPOSAL93Onyama Limba
1006Izzy Z MorascaRussia2025-04-22Feltz Printing Service NEGOTIATION31Onyama Limba
1007Deepesh W FollerAustralia2025-04-16Chanay, Jeffrey A Esq NEW69Xuxue Feng
1008Maisha P GlickBrazil2025-04-22Chemel, James L Cpa NEW73Bernardo Dominic
1009Kadeem F ButtItaly2025-04-25Feiner Bros RENEWAL90Ivan Magalhaes
1010Salvatore Q MaletCanada2025-04-23Chanay, Jeffrey A Esq NEW10Anna Fali
1011Mayumi F AmigonRussia2025-04-09Chapman, Ross E Esq NEGOTIATION37Onyama Limba
1012Claire N StockhamArgentina2025-04-28Printing Dimensions NEW64Amy Elsner
1013Francesco J ShinkoIndia2025-04-11Morlong Associates NEW28Elwin Sharvill
1014Jefferson L RimArgentina2025-04-09Benton, John B Jr NEW83Elwin Sharvill
1015Chavez D MarrierCanada2025-04-08Benton, John B Jr NEGOTIATION81Ioni Bowcher
1016Claire K OldroydBrazil2025-04-08Buckley Miller Wright QUALIFIED43Elwin Sharvill
1017Munro S IturbideGermany2025-04-25Rousseaux, Michael Esq NEW84Bernardo Dominic
1018Wickens X RimBrazil2025-04-20King, Christopher A Esq UNQUALIFIED90Bernardo Dominic
1019Clifford E BriddickUnited Kingdom2025-04-09Buckley Miller Wright NEGOTIATION47Ivan Magalhaes
1020Stacey H AlbaresItaly2025-04-27Morlong Associates RENEWAL72Ivan Magalhaes
1021Ivar S AlbaresBrazil2025-04-30Dorl, James J Esq QUALIFIED61Ioni Bowcher
1022Darci L TollnerItaly2025-04-20Commercial Press RENEWAL42Amy Elsner
1023Faith Y BriddickJapan2025-04-02Buckley Miller Wright NEW70Elwin Sharvill
1024Isabel S DoeGermany2025-04-13Chapman, Ross E Esq RENEWAL5Elwin Sharvill
1025Nicolas L VenereGermany2025-04-14Printing Dimensions QUALIFIED87Amy Elsner
1026Aditya R CaudyFrance2025-04-20Chapman, Ross E Esq NEW35Stephen Shaw
1027Antonio E MacleadArgentina2025-04-22King, Christopher A Esq RENEWAL92Ioni Bowcher
1028Costa N MarrierRussia2025-04-18Chanay, Jeffrey A Esq UNQUALIFIED94Ioni Bowcher
1029Darci Z MaletBrazil2025-04-18Morlong Associates UNQUALIFIED37Onyama Limba
1030Rodrigues R DarakjyJapan2025-04-04Dorl, James J Esq QUALIFIED97Ioni Bowcher
1031Tony E CampainGermany2025-04-17Feltz Printing Service QUALIFIED36Xuxue Feng
1032Leon V RimSpain2025-04-28Chanay, Jeffrey A Esq RENEWAL41Xuxue Feng
1033Mujtaba V MaletGermany2025-04-19Feiner Bros UNQUALIFIED58Ivan Magalhaes
1034Claire G MorascaCanada2025-04-06Rangoni Of Florence NEGOTIATION16Anna Fali
1035Aditya T DoeCanada2025-04-09Chanay, Jeffrey A Esq RENEWAL36Elwin Sharvill
1036Silvio Q RulapaughAustralia2025-04-16Dorl, James J Esq RENEWAL25Onyama Limba
1037Izzy W GauchoArgentina2025-04-19Buckley Miller Wright PROPOSAL98Ivan Magalhaes
1038David L RulapaughArgentina2025-04-15Morlong Associates RENEWAL14Amy Elsner
1039Darci Q TollnerUnited Kingdom2025-04-19Commercial Press QUALIFIED25Ivan Magalhaes
1040Murillo J MacleadAustralia2025-04-15Rangoni Of Florence QUALIFIED17Onyama Limba
1041Murillo S ButtIndia2025-04-09Rangoni Of Florence RENEWAL22Onyama Limba
1042Julie W BologniaArgentina2025-04-26Feltz Printing Service NEW57Elwin Sharvill
1043Clifford F DilliardItaly2025-04-25Printing Dimensions QUALIFIED46Bernardo Dominic
1044Greenwood K RutaUnited Kingdom2025-04-23Rousseaux, Michael Esq UNQUALIFIED13Xuxue Feng
1045Greenwood P PaprockiGermany2025-04-21Commercial Press PROPOSAL31Asiya Javayant
1046Greenwood G IturbideUnited Kingdom2025-04-02Rangoni Of Florence NEW9Onyama Limba
1047Antonio S AmigonSpain2025-04-19Dorl, James J Esq UNQUALIFIED33Asiya Javayant
1048Claire X NestleSpain2025-04-02Buckley Miller Wright NEGOTIATION47Elwin Sharvill
1049Ivar F RimItaly2025-04-23Commercial Press QUALIFIED94Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Salvatore I PerinFranceAnna Fali UNQUALIFIED
Clifford N RutaBrazilAnna Fali QUALIFIED
Jones L InouyeBrazilXuxue Feng NEGOTIATION
James Q GarufiJapanElwin Sharvill NEW
Julie D MaletArgentinaOnyama Limba NEW
Leja A ButtCanadaAsiya Javayant UNQUALIFIED
Murillo O RoysterIndiaAmy Elsner RENEWAL
Cody Y BowleyRussiaOnyama Limba NEGOTIATION
Misaki V DarakjyAustraliaOnyama Limba QUALIFIED
David X GillianAustraliaElwin Sharvill RENEWAL
David L KuskoIndiaIoni Bowcher UNQUALIFIED
Francesco Y DoeUnited KingdomAsiya Javayant PROPOSAL
Murillo C MorascaJapanIvan Magalhaes RENEWAL
Octavia L TollnerItalyAsiya Javayant PROPOSAL
Ivar V SlusarskiBrazilBernardo Dominic NEGOTIATION
Aditya P PaprockiSpainBernardo Dominic NEW
Leja C MaletAustraliaOnyama Limba RENEWAL
Murillo T FlosiBrazilAmy Elsner QUALIFIED
Greenwood F BowleyArgentinaIvan Magalhaes RENEWAL
Maisha D MorascaSpainIvan Magalhaes UNQUALIFIED
Adams U GarufiGermanyStephen Shaw RENEWAL
Misaki S CaldareraArgentinaAnna Fali PROPOSAL
Wickens H RoysterCanadaXuxue Feng RENEWAL
Julie H FlosiJapanAmy Elsner RENEWAL
Deepesh I DoeIndiaAmy Elsner NEW
Salvatore R SaylorsRussiaElwin Sharvill PROPOSAL
Antonio C SchemmerFranceAmy Elsner RENEWAL
Deepesh Y SergiAustraliaAnna Fali NEW
Maria F DarakjyArgentinaXuxue Feng UNQUALIFIED
Aditya Y RutaGermanyAsiya Javayant NEW
Murillo V StockhamFranceStephen Shaw QUALIFIED
Aditya U DilliardSpainBernardo Dominic PROPOSAL
Adams E ShinkoCanadaXuxue Feng UNQUALIFIED
Smith X RimJapanAmy Elsner RENEWAL
Costa K KuskoItalyXuxue Feng NEW
Julie R SaylorsFranceAsiya Javayant NEW
Smith C VocelkaFranceElwin Sharvill RENEWAL
Leja Z PaprockiSpainAmy Elsner RENEWAL
Silvio S DoeIndiaAsiya Javayant NEW
David L ButtUnited KingdomAsiya Javayant NEW
Johnson V FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Leja Q SergiArgentinaAsiya Javayant NEGOTIATION
Ricardo Z InouyeArgentinaAsiya Javayant QUALIFIED
Costa H FlosiIndiaXuxue Feng RENEWAL
Jennifer Y MarrierAustraliaBernardo Dominic PROPOSAL
Faith K KolmetzRussiaIvan Magalhaes PROPOSAL
Ashley T FerenczArgentinaBernardo Dominic UNQUALIFIED
Deepesh F ChuiUnited KingdomBernardo Dominic PROPOSAL
Ricardo M NestleUnited KingdomAsiya Javayant NEGOTIATION
Smith V FerenczAustraliaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Silvio U Nicka
Jones O Garufi
Jones B Waycott
Chavez J Sergi
Jennifer I Oldroyd
Mujtaba R Foller
Kadeem U Oldroyd
Aika M Darakjy
Deepesh E Bolognia
Julie K Vocelka
Jones R Iturbide
Claire D Wieser
Clifford H Paprocki
Antonio C Tollner
Greenwood D Ferencz
Chavez L Stenseth
Isabel V Nicka
Leon X Garufi
Ivar D Tollner
Clifford U Flosi
Smith J Whobrey
Maria P Shinko
Sinclair G Stenseth
James H Caldarera
Alejandro P Ruta
Sinclair O Shinko
Aruna R Caudy
Ashley K Inouye
Chavez B Waycott
Aditya U Venere
Stacey W Vocelka
Adams A Morasca
Julie F Garufi
Leon A Perin
Leja F Tollner
Leon M Poquette
Morrow T Kusko
Jefferson V Albares
Johnson C Flosi
Claire S Sergi
Aditya W Glick
Aika Q Albares
Cody U Butt
Misaki B Chui
Misaki P Venere
Adams C Chui
Misaki K Venere
Ashley R Kusko
Munro C Shinko
Deepesh Y Inouye
IdCountryDate
1000Spain2025-04-24
1001India2025-04-29
1002India2025-04-20
1003Germany2025-04-27
1004Japan2025-04-14
1005France2025-04-27
1006Russia2025-04-24
1007Canada2025-04-23
1008Canada2025-04-02
1009Australia2025-04-18
1010Italy2025-04-02
1011Italy2025-04-17
1012Japan2025-04-02
1013Spain2025-04-30
1014Germany2025-04-03
1015India2025-04-22
1016Spain2025-04-21
1017Italy2025-04-14
1018Japan2025-04-04
1019Italy2025-04-27
1020Canada2025-04-09
1021Argentina2025-04-08
1022Australia2025-04-16
1023France2025-04-21
1024Russia2025-04-20
1025Australia2025-04-30
1026United Kingdom2025-04-17
1027Japan2025-04-25
1028India2025-04-24
1029France2025-04-25
1030United Kingdom2025-04-11
1031Italy2025-04-17
1032Germany2025-04-03
1033Italy2025-04-13
1034United Kingdom2025-04-24
1035India2025-04-09
1036France2025-04-02
1037Germany2025-04-02
1038Argentina2025-04-11
1039Germany2025-04-14
1040Argentina2025-04-08
1041Brazil2025-04-07
1042France2025-04-03
1043Germany2025-04-16
1044Australia2025-04-16
1045Argentina2025-04-16
1046India2025-04-10
1047France2025-04-09
1048India2025-04-27
1049Spain2025-04-04

On-Demand Data

NameIdCountryDate
David Q Amigon1000Spain2025-04-02
Chavez F Chui1001Russia2025-04-09
Ashley X Waycott1002Russia2025-04-08
Greenwood T Darakjy1003Russia2025-04-22
Octavia P Stockham1004Germany2025-05-01
Aika Z Morasca1005Italy2025-04-29
Adams O Ostrosky1006India2025-05-01
James L Caldarera1007Brazil2025-04-02
David C Saylors1008Australia2025-04-09
Jones M Perin1009United Kingdom2025-04-24
Arvin N Venere1010Australia2025-04-13
Stacey C Kolmetz1011France2025-04-25
Faith I Royster1012Canada2025-04-27
Izzy P Albares1013United Kingdom2025-04-13
Adams V Sergi1014Germany2025-04-23
Isabel M Ferencz1015Brazil2025-04-16
Kaitlin A Whobrey1016Brazil2025-04-04
Ivar H Oldroyd1017United Kingdom2025-04-25
Kadeem B Gaucho1018Canada2025-04-09
Maria S Malet1019Argentina2025-04-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois P NickaJapanBernardo Dominic NEW
Jefferson T SchemmerAustraliaAsiya Javayant NEGOTIATION
Antonio W DarakjyRussiaIvan Magalhaes UNQUALIFIED
Silvio A NestleUnited KingdomIoni Bowcher UNQUALIFIED
Stacey X FerenczBrazilBernardo Dominic RENEWAL
Izzy N SchemmerCanadaAsiya Javayant QUALIFIED
Faith C SaylorsIndiaStephen Shaw QUALIFIED
Leon F KuskoSpainIoni Bowcher NEW
Octavia A InouyeGermanyBernardo Dominic UNQUALIFIED
Mujtaba N FlosiIndiaStephen Shaw QUALIFIED
Antonio G RoysterAustraliaElwin Sharvill NEGOTIATION
James A SchemmerSpainAmy Elsner PROPOSAL
Faith S DarakjyRussiaAmy Elsner QUALIFIED
Morrow M DilliardUnited KingdomElwin Sharvill NEGOTIATION
Nicolas I FollerUnited KingdomElwin Sharvill UNQUALIFIED
Sinclair D AmigonItalyIoni Bowcher NEW
Antonio N ButtBrazilOnyama Limba QUALIFIED
Arvin A WieserItalyBernardo Dominic UNQUALIFIED
Isabel K MacleadJapanOnyama Limba RENEWAL
Mayumi D GarufiJapanElwin Sharvill PROPOSAL
Munro T VocelkaUnited KingdomIoni Bowcher QUALIFIED
Claire W SaylorsJapanAnna Fali QUALIFIED
Arvin R WaycottBrazilXuxue Feng PROPOSAL
Julie F MaletCanadaStephen Shaw NEW
Jefferson I ButtItalyBernardo Dominic NEW
Clifford L RulapaughArgentinaAnna Fali QUALIFIED
Izzy D OstroskyRussiaOnyama Limba PROPOSAL
Isabel S NickaUnited KingdomAnna Fali NEW
Darci E RimGermanyBernardo Dominic UNQUALIFIED
Arvin Z DoeItalyAnna Fali RENEWAL
Nicolas B SergiItalyStephen Shaw RENEWAL
Salvatore C StensethBrazilAnna Fali QUALIFIED
Johnson V VocelkaItalyAmy Elsner NEW
Emily S RimArgentinaIoni Bowcher UNQUALIFIED
Kadeem H SergiCanadaXuxue Feng UNQUALIFIED
Maria L SchemmerSpainIvan Magalhaes NEGOTIATION
Chavez I FerenczIndiaIvan Magalhaes RENEWAL
Izzy E ShinkoArgentinaAmy Elsner PROPOSAL
Chavez S FerenczSpainAnna Fali RENEWAL
Kadeem I RoysterCanadaStephen Shaw PROPOSAL

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