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
Octavia F RoysterGermanyAsiya Javayant UNQUALIFIED
Jennifer H FerenczFranceOnyama Limba NEGOTIATION
Antonio X RimArgentinaAsiya Javayant UNQUALIFIED
Leja P WhobreyItalyAmy Elsner NEGOTIATION
Isabel K StensethIndiaOnyama Limba UNQUALIFIED
Ashley X GillianGermanyStephen Shaw NEW
Jeanfrancois X GillianBrazilIoni Bowcher UNQUALIFIED
Maisha A GauchoItalyAnna Fali PROPOSAL
David C KuskoIndiaElwin Sharvill RENEWAL
Morrow T StensethJapanAmy Elsner RENEWAL
Morrow S WaycottRussiaAsiya Javayant UNQUALIFIED
Claire W DarakjyFranceElwin Sharvill RENEWAL
Jones K KuskoBrazilOnyama Limba RENEWAL
Kadeem Z MaletJapanAnna Fali NEGOTIATION
Clifford L FollerBrazilElwin Sharvill QUALIFIED
Mayumi O GarufiCanadaStephen Shaw UNQUALIFIED
Jones A SchemmerUnited KingdomAnna Fali RENEWAL
Aruna G ButtUnited KingdomStephen Shaw RENEWAL
Maisha G NestleSpainIoni Bowcher PROPOSAL
Jennifer B MaletCanadaXuxue Feng NEGOTIATION
Emily X NestleItalyAsiya Javayant RENEWAL
Julie T TollnerAustraliaIoni Bowcher QUALIFIED
Izzy Q AlbaresBrazilXuxue Feng NEGOTIATION
Julie Z NestleGermanyElwin Sharvill NEGOTIATION
Octavia C PerinAustraliaStephen Shaw QUALIFIED
Murillo I NickaAustraliaOnyama Limba QUALIFIED
Rodrigues P OstroskyGermanyBernardo Dominic UNQUALIFIED
Clifford D KolmetzBrazilStephen Shaw NEW
Leon M BowleyCanadaAnna Fali PROPOSAL
Johnson Q RoysterCanadaOnyama Limba NEW
Jones A RutaUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois I IturbideIndiaAnna Fali QUALIFIED
Antonio K SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem J VocelkaGermanyAsiya Javayant NEW
Isabel D FigeroaRussiaXuxue Feng RENEWAL
Izzy J SlusarskiFranceXuxue Feng RENEWAL
Johnson O OldroydFranceStephen Shaw NEGOTIATION
Greenwood Z ShinkoBrazilAnna Fali PROPOSAL
Ricardo K VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey D KuskoCanadaXuxue Feng UNQUALIFIED
Leon Q RoysterRussiaOnyama Limba NEW
James Z KolmetzAustraliaAmy Elsner PROPOSAL
Chavez J CampainCanadaIoni Bowcher QUALIFIED
Aditya B DoeRussiaAnna Fali NEGOTIATION
Kadeem W MaletJapanOnyama Limba QUALIFIED
Ivar M GlickRussiaAmy Elsner NEGOTIATION
Francesco Q RulapaughSpainIvan Magalhaes NEW
Adams K ShinkoCanadaStephen Shaw RENEWAL
Mayumi U KuskoCanadaAnna Fali PROPOSAL
Maisha N BowleyRussiaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Rodrigues U MaletUnited KingdomAnna Fali PROPOSAL
Misaki C GauchoGermanyAsiya Javayant NEW
David V StockhamRussiaAmy Elsner QUALIFIED
Darci B GlickUnited KingdomElwin Sharvill NEGOTIATION
Smith T FerenczBrazilOnyama Limba NEW
Kaitlin Y StensethRussiaXuxue Feng UNQUALIFIED
Faith Y AmigonCanadaOnyama Limba NEGOTIATION
Silvio V FlosiRussiaElwin Sharvill PROPOSAL
Costa H MacleadUnited KingdomOnyama Limba NEGOTIATION
Ivar C AlbaresFranceIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco O FollerFrance2026-07-31King, Christopher A Esq RENEWAL36Bernardo Dominic
1001Juan N MorascaIndia2026-07-07Feltz Printing Service UNQUALIFIED67Xuxue Feng
1002David O FigeroaUnited Kingdom2026-07-15Chapman, Ross E Esq NEGOTIATION73Bernardo Dominic
1003Alejandro M PoquetteAustralia2026-07-07Chemel, James L Cpa UNQUALIFIED46Onyama Limba
1004Chavez W CampainBrazil2026-07-31Rangoni Of Florence NEGOTIATION31Asiya Javayant
1005James W KolmetzRussia2026-07-06Buckley Miller Wright PROPOSAL60Anna Fali
1006James X NickaItaly2026-07-23Benton, John B Jr NEGOTIATION70Stephen Shaw
1007Salvatore A SergiAustralia2026-07-25Chemel, James L Cpa NEW18Amy Elsner
1008Maisha Y IturbideSpain2026-07-06Rousseaux, Michael Esq UNQUALIFIED80Xuxue Feng
1009Salvatore B FerenczAustralia2026-07-10King, Christopher A Esq PROPOSAL73Ivan Magalhaes
1010Smith L MorascaRussia2026-08-01Chapman, Ross E Esq PROPOSAL32Anna Fali
1011Ricardo A WaycottCanada2026-07-31Morlong Associates RENEWAL7Ioni Bowcher
1012Aditya B BowleyItaly2026-07-20Chemel, James L Cpa RENEWAL20Anna Fali
1013Leja S RulapaughItaly2026-08-03Feltz Printing Service UNQUALIFIED27Asiya Javayant
1014Octavia M VenereJapan2026-07-22Rousseaux, Michael Esq UNQUALIFIED39Onyama Limba
1015Ivar P SaylorsArgentina2026-07-12Chanay, Jeffrey A Esq RENEWAL43Xuxue Feng
1016Deepesh Y ButtSpain2026-07-18Printing Dimensions NEGOTIATION70Xuxue Feng
1017Tony E RimRussia2026-07-17Feiner Bros PROPOSAL55Elwin Sharvill
1018Adams R KolmetzCanada2026-08-02Truhlar And Truhlar Attys RENEWAL59Onyama Limba
1019Adams W MaletUnited Kingdom2026-07-30King, Christopher A Esq UNQUALIFIED69Ivan Magalhaes
1020Leja N GauchoIndia2026-07-13Feltz Printing Service UNQUALIFIED92Stephen Shaw
1021Maria T GillianAustralia2026-07-06Feiner Bros NEGOTIATION4Onyama Limba
1022Juan E SaylorsUnited Kingdom2026-07-15Printing Dimensions UNQUALIFIED44Onyama Limba
1023Misaki Y MacleadSpain2026-07-05Truhlar And Truhlar Attys UNQUALIFIED4Amy Elsner
1024Leja B RoysterBrazil2026-07-18Chanay, Jeffrey A Esq NEW36Ioni Bowcher
1025Leja B ShinkoGermany2026-07-18Chapman, Ross E Esq NEGOTIATION19Bernardo Dominic
1026Clifford P NickaItaly2026-07-31Buckley Miller Wright NEGOTIATION27Amy Elsner
1027Izzy Z DoeItaly2026-07-09Feiner Bros NEW61Elwin Sharvill
1028Mujtaba L InouyeGermany2026-07-27Truhlar And Truhlar Attys QUALIFIED20Onyama Limba
1029Johnson H NestleRussia2026-07-12Morlong Associates PROPOSAL87Amy Elsner
1030Leja A DilliardUnited Kingdom2026-07-15Benton, John B Jr NEW25Onyama Limba
1031Ricardo C KolmetzArgentina2026-07-28Buckley Miller Wright NEGOTIATION6Ioni Bowcher
1032Greenwood N NickaBrazil2026-08-02Benton, John B Jr NEW87Elwin Sharvill
1033Jones W BowleyAustralia2026-07-20Buckley Miller Wright PROPOSAL74Ivan Magalhaes
1034Arvin O ChuiCanada2026-07-25King, Christopher A Esq NEW21Asiya Javayant
1035Antonio X NestleFrance2026-07-29Feiner Bros RENEWAL2Ivan Magalhaes
1036Stacey L BriddickFrance2026-07-15Chemel, James L Cpa NEW3Amy Elsner
1037Wickens P WhobreyAustralia2026-07-12Chemel, James L Cpa NEW5Bernardo Dominic
1038Maisha K MorascaGermany2026-07-18Dorl, James J Esq QUALIFIED31Amy Elsner
1039Aruna J MorascaRussia2026-07-08Morlong Associates UNQUALIFIED81Onyama Limba
1040Octavia F KuskoUnited Kingdom2026-07-26Rangoni Of Florence NEW86Stephen Shaw
1041Emily D RulapaughArgentina2026-07-08Buckley Miller Wright PROPOSAL46Xuxue Feng
1042Ricardo P MarrierGermany2026-07-17Feltz Printing Service PROPOSAL99Ioni Bowcher
1043Adams T ChuiItaly2026-07-25King, Christopher A Esq NEW3Ivan Magalhaes
1044Kadeem K VenereUnited Kingdom2026-08-01Printing Dimensions NEW15Bernardo Dominic
1045Arvin X AlbaresIndia2026-07-05Feiner Bros NEGOTIATION78Asiya Javayant
1046Leon K FlosiUnited Kingdom2026-07-20Truhlar And Truhlar Attys RENEWAL98Anna Fali
1047Cody N RulapaughAustralia2026-07-10Morlong Associates PROPOSAL82Anna Fali
1048Salvatore S MarrierAustralia2026-07-29Rousseaux, Michael Esq RENEWAL83Ivan Magalhaes
1049Munro L GauchoUnited Kingdom2026-07-31Buckley Miller Wright QUALIFIED85Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Munro L NestleArgentinaXuxue Feng PROPOSAL
Julie L PoquetteGermanyIvan Magalhaes RENEWAL
Mujtaba W GillianIndiaAmy Elsner UNQUALIFIED
Juan T TollnerBrazilAnna Fali NEW
Aika U FlosiCanadaAsiya Javayant NEGOTIATION
Murillo H BowleyItalyBernardo Dominic PROPOSAL
Arvin P FlosiCanadaAsiya Javayant NEW
Adams A CaldareraJapanBernardo Dominic QUALIFIED
Kadeem N NestleAustraliaIvan Magalhaes NEGOTIATION
Adams H RoysterCanadaStephen Shaw RENEWAL
Claire A CaldareraAustraliaAmy Elsner QUALIFIED
Murillo V ButtJapanIoni Bowcher QUALIFIED
Mujtaba S OstroskyIndiaIoni Bowcher NEGOTIATION
David H RulapaughUnited KingdomAnna Fali UNQUALIFIED
David S MorascaBrazilAsiya Javayant QUALIFIED
Clifford V GlickJapanAnna Fali NEGOTIATION
Maisha Z ShinkoCanadaOnyama Limba NEW
Isabel U OstroskyJapanXuxue Feng QUALIFIED
Leon W AlbaresUnited KingdomXuxue Feng NEW
Ivar A BologniaUnited KingdomIvan Magalhaes QUALIFIED
Maisha U VenereItalyBernardo Dominic UNQUALIFIED
Jennifer H NickaArgentinaAnna Fali UNQUALIFIED
Kaitlin I ChuiUnited KingdomXuxue Feng PROPOSAL
Maisha B VocelkaItalyIvan Magalhaes UNQUALIFIED
Claire Q DarakjySpainIvan Magalhaes QUALIFIED
Emily K VocelkaGermanyBernardo Dominic QUALIFIED
Jeanfrancois Y InouyeUnited KingdomIoni Bowcher UNQUALIFIED
Jones E StensethGermanyElwin Sharvill NEW
Jefferson M NickaBrazilAsiya Javayant NEW
Wickens A OstroskyRussiaElwin Sharvill UNQUALIFIED
Antonio F SaylorsAustraliaStephen Shaw UNQUALIFIED
Stacey E AlbaresIndiaAnna Fali NEGOTIATION
Silvio G FollerItalyAmy Elsner UNQUALIFIED
Munro I ChuiAustraliaAsiya Javayant RENEWAL
Ivar N CampainSpainXuxue Feng PROPOSAL
Wickens Z AmigonJapanAmy Elsner NEW
Salvatore B AmigonAustraliaAsiya Javayant NEGOTIATION
Jones L GarufiBrazilAnna Fali RENEWAL
Mujtaba Z PerinJapanStephen Shaw UNQUALIFIED
Rodrigues N KuskoFranceXuxue Feng NEW
Silvio P BowleyArgentinaAnna Fali UNQUALIFIED
Stacey D RutaAustraliaAnna Fali RENEWAL
Morrow W GillianUnited KingdomAsiya Javayant NEGOTIATION
Ivar P CampainRussiaXuxue Feng PROPOSAL
Salvatore D AmigonArgentinaOnyama Limba QUALIFIED
Mujtaba N RutaArgentinaStephen Shaw PROPOSAL
Stacey Q FollerUnited KingdomIvan Magalhaes NEW
Munro A CaudySpainBernardo Dominic QUALIFIED
Leon S BologniaAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin Y FlosiCanadaBernardo Dominic QUALIFIED
Frozen Columns
Name
Kadeem E Bolognia
Aditya N Saylors
Stacey B Shinko
Leja M Tollner
Misaki G Stockham
Ricardo L Doe
Aditya A Ostrosky
Kadeem O Garufi
Deepesh L Glick
Julie Q Caldarera
Tony I Doe
Johnson X Amigon
Francesco R Butt
Arvin E Chui
Leja Y Nicka
Maria O Caldarera
Smith R Oldroyd
Chavez V Butt
Maria V Waycott
Antonio M Maclead
Johnson O Iturbide
Claire W Kusko
Adams J Garufi
Mayumi F Oldroyd
Maisha Z Campain
James Q Garufi
Arvin E Malet
Octavia C Caldarera
Clifford K Kusko
Sinclair Q Royster
James N Shinko
Rodrigues W Chui
Greenwood L Stenseth
Octavia A Doe
Kaitlin C Gaucho
Murillo D Slusarski
Deepesh N Poquette
Jeanfrancois M Gaucho
Mayumi R Shinko
Murillo K Malet
Johnson Y Darakjy
David E Waycott
Wickens P Bowley
Rodrigues V Foller
Aruna D Bolognia
Tony A Ostrosky
Mujtaba J Caldarera
Silvio T Stockham
Aika L Briddick
Mayumi H Iturbide
IdCountryDate
1000Russia2026-07-06
1001Japan2026-07-16
1002Japan2026-07-12
1003Australia2026-07-09
1004Japan2026-08-02
1005Australia2026-07-23
1006Canada2026-07-06
1007United Kingdom2026-07-23
1008Germany2026-07-23
1009Australia2026-07-30
1010Italy2026-07-12
1011United Kingdom2026-07-29
1012Russia2026-07-18
1013Australia2026-07-18
1014United Kingdom2026-07-07
1015United Kingdom2026-08-03
1016Germany2026-07-17
1017Russia2026-07-14
1018France2026-07-15
1019Germany2026-07-10
1020Argentina2026-07-13
1021India2026-07-19
1022Argentina2026-07-23
1023Brazil2026-07-15
1024Canada2026-07-18
1025Brazil2026-07-22
1026Germany2026-07-18
1027United Kingdom2026-07-16
1028Germany2026-07-05
1029United Kingdom2026-07-17
1030Canada2026-08-02
1031Russia2026-08-02
1032United Kingdom2026-07-22
1033Italy2026-07-11
1034Russia2026-07-05
1035Spain2026-07-05
1036India2026-08-02
1037France2026-07-28
1038Spain2026-07-30
1039United Kingdom2026-07-25
1040India2026-07-26
1041Australia2026-07-20
1042Germany2026-07-05
1043India2026-07-17
1044Germany2026-07-15
1045Russia2026-08-01
1046Australia2026-07-22
1047Canada2026-07-11
1048United Kingdom2026-07-27
1049Japan2026-08-02

On-Demand Data

NameIdCountryDate
Darci L Darakjy1000Japan2026-07-06
Munro X Garufi1001Argentina2026-07-25
James O Briddick1002United Kingdom2026-07-30
Mayumi I Nestle1003Italy2026-07-12
Maria S Briddick1004Russia2026-07-17
Francesco B Nicka1005Russia2026-07-28
Stacey L Vocelka1006Canada2026-07-19
Octavia M Marrier1007India2026-07-19
Faith H Doe1008United Kingdom2026-07-17
Misaki S Doe1009Argentina2026-07-26
Mujtaba C Inouye1010Japan2026-07-12
Murillo J Bolognia1011Japan2026-07-31
Faith N Waycott1012Germany2026-07-05
Antonio G Oldroyd1013Italy2026-07-15
Arvin K Doe1014Italy2026-07-16
Stacey S Malet1015India2026-07-06
Clifford P Venere1016Germany2026-07-18
Clifford U Wieser1017Japan2026-07-12
Aditya A Chui1018Japan2026-07-16
Octavia P Malet1019Brazil2026-07-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas Q VocelkaCanadaXuxue Feng UNQUALIFIED
Isabel V NickaArgentinaIvan Magalhaes RENEWAL
Antonio R BowleyGermanyAmy Elsner NEGOTIATION
Jennifer O KuskoBrazilIoni Bowcher NEGOTIATION
Antonio R RimUnited KingdomStephen Shaw RENEWAL
Chavez E SergiJapanBernardo Dominic NEW
Johnson D NickaSpainAmy Elsner NEGOTIATION
Jeanfrancois M SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
James F RoysterIndiaStephen Shaw NEGOTIATION
Ashley O SaylorsGermanyIoni Bowcher QUALIFIED
Chavez C SchemmerRussiaAnna Fali NEGOTIATION
James Q PerinJapanIvan Magalhaes QUALIFIED
Johnson P ButtBrazilElwin Sharvill NEW
Octavia P WieserArgentinaStephen Shaw PROPOSAL
Antonio C WaycottAustraliaXuxue Feng PROPOSAL
Sinclair L PerinGermanyAnna Fali PROPOSAL
Greenwood L MaletUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois D WhobreySpainAnna Fali RENEWAL
Jennifer W WaycottJapanAnna Fali NEW
Salvatore X FlosiJapanOnyama Limba QUALIFIED
Maria G AlbaresJapanIoni Bowcher RENEWAL
Aruna W OstroskyUnited KingdomAmy Elsner RENEWAL
Rodrigues V SlusarskiCanadaStephen Shaw NEW
Cody M MaletCanadaXuxue Feng PROPOSAL
Cody I RimIndiaIvan Magalhaes PROPOSAL
Jeanfrancois F OstroskyFranceBernardo Dominic NEGOTIATION
Arvin W DoeUnited KingdomBernardo Dominic QUALIFIED
Salvatore U SaylorsRussiaAmy Elsner NEGOTIATION
Stacey D GillianBrazilAmy Elsner PROPOSAL
Francesco B GillianBrazilOnyama Limba PROPOSAL
Deepesh B BologniaSpainElwin Sharvill PROPOSAL
Leja N StensethUnited KingdomElwin Sharvill NEW
Alejandro W ButtIndiaStephen Shaw NEW
Silvio L BowleyIndiaAmy Elsner NEW
Rodrigues M FigeroaCanadaIoni Bowcher NEW
Cody X MarrierBrazilXuxue Feng QUALIFIED
Clifford S GauchoBrazilAsiya Javayant NEGOTIATION
Jefferson U WaycottUnited KingdomXuxue Feng PROPOSAL
Maisha B AlbaresBrazilAnna Fali UNQUALIFIED
Aika P FlosiUnited KingdomXuxue Feng UNQUALIFIED

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