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
Maisha G StockhamGermanyBernardo Dominic RENEWAL
Jennifer R BriddickItalyXuxue Feng NEGOTIATION
Aditya E RimBrazilOnyama Limba NEW
Maisha W IturbideItalyStephen Shaw RENEWAL
Adams M InouyeIndiaAsiya Javayant PROPOSAL
Alejandro O ChuiRussiaIoni Bowcher NEGOTIATION
Mayumi S BologniaAustraliaIvan Magalhaes RENEWAL
Juan H MorascaUnited KingdomAsiya Javayant QUALIFIED
James L RimUnited KingdomStephen Shaw PROPOSAL
Smith Z NickaSpainXuxue Feng RENEWAL
Juan Q CaudyRussiaAmy Elsner NEGOTIATION
Antonio A RutaArgentinaElwin Sharvill UNQUALIFIED
Izzy X BowleyAustraliaOnyama Limba UNQUALIFIED
Tony O ChuiUnited KingdomAsiya Javayant NEW
Aruna B FollerFranceAnna Fali PROPOSAL
Aika A SlusarskiFranceAmy Elsner NEW
Faith F GlickAustraliaElwin Sharvill RENEWAL
Jeanfrancois K GillianGermanyElwin Sharvill NEW
Morrow H RimBrazilElwin Sharvill NEW
Ricardo S SchemmerJapanAmy Elsner NEW
Jones R OldroydJapanAnna Fali PROPOSAL
Leon T OldroydFranceAnna Fali NEW
Mujtaba R BowleyBrazilStephen Shaw PROPOSAL
Francesco W SchemmerCanadaBernardo Dominic NEW
Deepesh K AlbaresCanadaBernardo Dominic NEW
Darci N SergiIndiaAsiya Javayant QUALIFIED
Costa U MacleadAustraliaBernardo Dominic NEW
Leja L WieserIndiaAmy Elsner RENEWAL
Izzy H BriddickBrazilBernardo Dominic NEW
James D NickaItalyAnna Fali NEW
Tony O GlickArgentinaIvan Magalhaes QUALIFIED
Adams L BologniaArgentinaAmy Elsner QUALIFIED
Leon J BriddickCanadaOnyama Limba NEW
James V RimSpainElwin Sharvill PROPOSAL
Adams N FlosiRussiaXuxue Feng RENEWAL
Leon K MarrierRussiaElwin Sharvill RENEWAL
Smith E FollerBrazilIvan Magalhaes NEGOTIATION
Francesco J BowleyAustraliaOnyama Limba UNQUALIFIED
Izzy F OldroydBrazilAsiya Javayant UNQUALIFIED
Julie P RimAustraliaElwin Sharvill QUALIFIED
Smith C CampainIndiaIoni Bowcher UNQUALIFIED
Silvio U InouyeAustraliaIoni Bowcher PROPOSAL
Emily N AlbaresBrazilIvan Magalhaes UNQUALIFIED
Greenwood F MarrierSpainBernardo Dominic QUALIFIED
Jones Y MaletGermanyStephen Shaw NEW
Rodrigues M WaycottBrazilXuxue Feng NEW
Salvatore Y CaudyGermanyOnyama Limba NEW
Juan L ChuiSpainIvan Magalhaes NEW
Ivar H PoquetteGermanyAnna Fali QUALIFIED
Octavia Z BologniaRussiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues M MaletRussiaElwin Sharvill PROPOSAL
Maria L GauchoIndiaElwin Sharvill UNQUALIFIED
Mayumi K ChuiAustraliaBernardo Dominic NEW
Izzy T AmigonIndiaAnna Fali NEGOTIATION
Stacey B ShinkoCanadaAmy Elsner QUALIFIED
Mayumi I TollnerItalyAnna Fali RENEWAL
Nicolas V ButtSpainOnyama Limba NEW
Jones Y InouyeRussiaOnyama Limba RENEWAL
Adams S StensethArgentinaIoni Bowcher NEW
Munro T CampainBrazilOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki G NestleAustralia2026-07-03Rangoni Of Florence NEGOTIATION34Amy Elsner
1001Silvio E VocelkaAustralia2026-07-16Morlong Associates PROPOSAL79Ioni Bowcher
1002Smith A FigeroaRussia2026-07-08King, Christopher A Esq RENEWAL84Xuxue Feng
1003Morrow K PaprockiRussia2026-07-16Chapman, Ross E Esq NEW21Ivan Magalhaes
1004Jeanfrancois K DoeArgentina2026-07-11Rousseaux, Michael Esq QUALIFIED14Elwin Sharvill
1005Claire G IturbideBrazil2026-07-05Feiner Bros UNQUALIFIED45Stephen Shaw
1006Misaki L PaprockiFrance2026-07-19King, Christopher A Esq NEW72Amy Elsner
1007Maisha L MacleadArgentina2026-07-27Chanay, Jeffrey A Esq RENEWAL5Xuxue Feng
1008Rodrigues Q MaletGermany2026-07-12King, Christopher A Esq NEW22Asiya Javayant
1009Antonio J WieserCanada2026-07-19Chapman, Ross E Esq UNQUALIFIED50Anna Fali
1010Sinclair J DilliardItaly2026-07-24Chemel, James L Cpa QUALIFIED22Asiya Javayant
1011Salvatore A SergiFrance2026-07-19Commercial Press UNQUALIFIED20Ioni Bowcher
1012Izzy C RulapaughGermany2026-07-16Chapman, Ross E Esq NEGOTIATION4Anna Fali
1013Emily B RimBrazil2026-07-06Rousseaux, Michael Esq QUALIFIED92Amy Elsner
1014Faith G GlickIndia2026-07-16Chemel, James L Cpa RENEWAL67Xuxue Feng
1015Arvin D MaletGermany2026-07-06Chapman, Ross E Esq NEW1Ivan Magalhaes
1016Julie H DarakjyArgentina2026-07-21Chanay, Jeffrey A Esq PROPOSAL80Amy Elsner
1017Aika P OstroskyJapan2026-07-24Rousseaux, Michael Esq RENEWAL62Asiya Javayant
1018Misaki D FerenczArgentina2026-06-30Printing Dimensions NEW19Xuxue Feng
1019Ashley S MorascaIndia2026-07-22Chapman, Ross E Esq PROPOSAL31Bernardo Dominic
1020Maisha J MarrierIndia2026-07-25Chemel, James L Cpa UNQUALIFIED35Elwin Sharvill
1021Alejandro F StensethArgentina2026-07-13Truhlar And Truhlar Attys QUALIFIED27Stephen Shaw
1022Kadeem U AlbaresRussia2026-07-28Buckley Miller Wright QUALIFIED25Stephen Shaw
1023Octavia V AlbaresAustralia2026-07-17Rousseaux, Michael Esq QUALIFIED85Asiya Javayant
1024Aditya Q FlosiArgentina2026-07-03Chanay, Jeffrey A Esq NEW83Xuxue Feng
1025Octavia I AlbaresBrazil2026-07-14Rangoni Of Florence RENEWAL88Stephen Shaw
1026Izzy O KuskoBrazil2026-07-20Chapman, Ross E Esq UNQUALIFIED81Ivan Magalhaes
1027Aditya Y VocelkaSpain2026-07-19Buckley Miller Wright UNQUALIFIED58Asiya Javayant
1028Maria V PoquetteSpain2026-07-13Morlong Associates UNQUALIFIED4Asiya Javayant
1029Mujtaba C DoeUnited Kingdom2026-07-06Morlong Associates PROPOSAL26Ivan Magalhaes
1030Maria P NestleBrazil2026-07-03Rousseaux, Michael Esq PROPOSAL48Asiya Javayant
1031Darci D PerinSpain2026-07-07Printing Dimensions NEW57Onyama Limba
1032Rodrigues H WieserUnited Kingdom2026-07-04Printing Dimensions NEGOTIATION30Asiya Javayant
1033Costa W DarakjyJapan2026-07-20Chanay, Jeffrey A Esq NEW52Amy Elsner
1034Aika N KuskoSpain2026-07-10Truhlar And Truhlar Attys RENEWAL51Onyama Limba
1035Jones Y PerinJapan2026-07-17Buckley Miller Wright RENEWAL22Xuxue Feng
1036Kadeem D WhobreyBrazil2026-07-27Morlong Associates RENEWAL55Ivan Magalhaes
1037Jennifer G StensethIndia2026-07-05King, Christopher A Esq UNQUALIFIED42Stephen Shaw
1038Munro B CampainIndia2026-07-26Dorl, James J Esq PROPOSAL10Ioni Bowcher
1039Aruna W OldroydFrance2026-07-11Truhlar And Truhlar Attys UNQUALIFIED33Anna Fali
1040Antonio V GauchoUnited Kingdom2026-07-21Feiner Bros NEW6Bernardo Dominic
1041Kaitlin U FerenczGermany2026-06-29Dorl, James J Esq NEW82Ivan Magalhaes
1042Juan J MaletFrance2026-07-04Commercial Press QUALIFIED6Onyama Limba
1043Nicolas Q SchemmerCanada2026-07-28Printing Dimensions NEW11Amy Elsner
1044Murillo X StockhamAustralia2026-07-07Rousseaux, Michael Esq RENEWAL83Onyama Limba
1045Juan Y BowleyJapan2026-07-07Chapman, Ross E Esq PROPOSAL53Elwin Sharvill
1046Isabel K MaletCanada2026-06-30Morlong Associates QUALIFIED97Elwin Sharvill
1047Tony Z ChuiFrance2026-07-14Benton, John B Jr UNQUALIFIED80Amy Elsner
1048Nicolas D SaylorsIndia2026-06-30Benton, John B Jr PROPOSAL2Bernardo Dominic
1049Adams T MaletSpain2026-07-15Morlong Associates NEW4Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Julie D GlickBrazilAnna Fali UNQUALIFIED
Darci Z WhobreyGermanyElwin Sharvill NEGOTIATION
Adams L KolmetzCanadaIvan Magalhaes PROPOSAL
Cody A SaylorsRussiaAnna Fali NEW
Ricardo J KolmetzAustraliaAsiya Javayant QUALIFIED
Rodrigues O SlusarskiAustraliaStephen Shaw NEGOTIATION
Aika H RutaBrazilIvan Magalhaes UNQUALIFIED
Silvio Q CampainSpainOnyama Limba QUALIFIED
Darci A FerenczUnited KingdomAmy Elsner PROPOSAL
James B MorascaIndiaAmy Elsner NEW
Isabel P NestleSpainStephen Shaw NEW
Kaitlin G ButtFranceIoni Bowcher PROPOSAL
Aditya F StensethCanadaElwin Sharvill RENEWAL
Jones Q PoquetteItalyAsiya Javayant QUALIFIED
Maisha M KuskoGermanyIvan Magalhaes NEW
Antonio P BriddickUnited KingdomIvan Magalhaes NEW
Arvin V ButtIndiaIoni Bowcher RENEWAL
Antonio V DarakjyRussiaXuxue Feng UNQUALIFIED
Juan G ButtRussiaOnyama Limba RENEWAL
Deepesh B GillianUnited KingdomStephen Shaw NEW
David O KuskoJapanAnna Fali RENEWAL
Salvatore I OldroydSpainIoni Bowcher NEGOTIATION
Cody G RulapaughCanadaAsiya Javayant NEW
Ashley N RoysterJapanElwin Sharvill UNQUALIFIED
Salvatore P GauchoItalyAnna Fali NEGOTIATION
Aruna E PerinArgentinaStephen Shaw QUALIFIED
Maria Z StensethJapanBernardo Dominic NEW
Ricardo V DilliardArgentinaIvan Magalhaes RENEWAL
Deepesh W GillianSpainElwin Sharvill QUALIFIED
Ivar F KolmetzRussiaBernardo Dominic QUALIFIED
Jefferson Y MorascaJapanAsiya Javayant QUALIFIED
Tony N WaycottRussiaAsiya Javayant QUALIFIED
Jones J GillianFranceXuxue Feng UNQUALIFIED
Greenwood L GlickItalyXuxue Feng NEGOTIATION
Silvio M ChuiUnited KingdomAsiya Javayant NEGOTIATION
Morrow F GillianSpainAmy Elsner NEGOTIATION
Deepesh L SaylorsGermanyOnyama Limba NEW
Sinclair L SaylorsArgentinaIoni Bowcher NEGOTIATION
Aditya T SergiFranceStephen Shaw NEGOTIATION
Kadeem P BologniaFranceAmy Elsner RENEWAL
Tony W FlosiSpainOnyama Limba RENEWAL
Mujtaba P OldroydRussiaBernardo Dominic QUALIFIED
Jefferson X SaylorsSpainElwin Sharvill QUALIFIED
Isabel R VocelkaCanadaIvan Magalhaes NEW
Clifford R FollerRussiaXuxue Feng QUALIFIED
Wickens Q SergiCanadaOnyama Limba QUALIFIED
Morrow W GarufiCanadaStephen Shaw QUALIFIED
Sinclair K FollerArgentinaIvan Magalhaes RENEWAL
Antonio M RoysterItalyIoni Bowcher NEGOTIATION
Wickens Z RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Frozen Columns
Name
Adams I Waycott
Arvin R Butt
Cody X Tollner
Julie G Chui
Maria U Morasca
Murillo S Bolognia
Stacey G Poquette
Faith V Saylors
Johnson T Nestle
David U Kolmetz
Adams Q Gillian
Arvin H Darakjy
Ricardo X Kusko
Mujtaba T Tollner
Kadeem J Whobrey
Misaki Y Stenseth
Smith W Inouye
Nicolas P Nicka
Cody P Malet
Arvin I Tollner
Julie O Caldarera
Johnson V Waycott
Francesco L Rim
Octavia D Glick
Darci Z Marrier
Nicolas T Nestle
Cody H Foller
Jones R Dilliard
Chavez W Marrier
Isabel G Waycott
Isabel V Schemmer
Cody K Stenseth
Emily S Tollner
Darci R Rim
Antonio Q Waycott
Adams M Dilliard
Salvatore E Malet
Maria U Gillian
Greenwood S Maclead
Tony N Iturbide
Mujtaba N Saylors
Julie D Whobrey
Jones N Paprocki
Antonio N Gaucho
Jefferson X Nicka
Kaitlin I Doe
Isabel E Glick
Arvin E Darakjy
Faith C Perin
Maria N Sergi
IdCountryDate
1000Australia2026-07-06
1001United Kingdom2026-07-12
1002Japan2026-07-21
1003Japan2026-07-28
1004Germany2026-07-07
1005Brazil2026-07-28
1006Canada2026-07-26
1007Japan2026-07-01
1008Argentina2026-07-20
1009India2026-07-16
1010Canada2026-07-25
1011Argentina2026-07-28
1012Canada2026-07-14
1013India2026-07-02
1014India2026-07-13
1015United Kingdom2026-07-14
1016Russia2026-07-28
1017United Kingdom2026-07-11
1018Japan2026-07-27
1019Australia2026-07-13
1020India2026-07-11
1021India2026-07-02
1022Argentina2026-06-30
1023Japan2026-07-08
1024France2026-07-21
1025Italy2026-07-01
1026Australia2026-07-06
1027Argentina2026-06-29
1028Italy2026-07-18
1029Spain2026-07-18
1030Canada2026-06-29
1031France2026-07-20
1032United Kingdom2026-07-17
1033France2026-07-17
1034Germany2026-07-18
1035India2026-06-30
1036Germany2026-07-11
1037United Kingdom2026-06-30
1038Japan2026-07-06
1039United Kingdom2026-07-20
1040India2026-07-12
1041Spain2026-07-03
1042Australia2026-07-27
1043Japan2026-07-24
1044Brazil2026-07-04
1045India2026-07-02
1046Japan2026-07-24
1047Brazil2026-07-05
1048Germany2026-07-13
1049Spain2026-07-03

On-Demand Data

NameIdCountryDate
Cody F Chui1000Australia2026-07-19
Misaki O Schemmer1001Japan2026-06-30
Juan U Whobrey1002France2026-07-25
Claire C Foller1003France2026-07-26
Clifford G Maclead1004India2026-07-27
Adams I Maclead1005Argentina2026-07-20
Darci S Chui1006India2026-07-09
Clifford M Whobrey1007Canada2026-06-29
Kaitlin P Slusarski1008United Kingdom2026-07-15
Deepesh I Malet1009India2026-07-25
Clifford F Royster1010Spain2026-07-06
Salvatore M Tollner1011France2026-06-30
Octavia O Kusko1012Japan2026-07-18
Ashley L Stenseth1013France2026-07-25
Jeanfrancois D Kusko1014Italy2026-07-15
Ricardo X Kolmetz1015Australia2026-07-14
Sinclair G Kusko1016Australia2026-07-18
Claire Z Gaucho1017Brazil2026-07-23
Emily R Morasca1018Germany2026-07-07
Stacey B Tollner1019Brazil2026-07-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro T GarufiCanadaAnna Fali PROPOSAL
Ricardo B BriddickSpainIvan Magalhaes RENEWAL
Arvin C MorascaBrazilOnyama Limba RENEWAL
Johnson T CaudyJapanAnna Fali NEW
David Y BologniaArgentinaIoni Bowcher RENEWAL
Maria A RutaAustraliaStephen Shaw QUALIFIED
Isabel X VocelkaRussiaElwin Sharvill QUALIFIED
Octavia Z KolmetzGermanyElwin Sharvill RENEWAL
Ashley S SaylorsArgentinaStephen Shaw QUALIFIED
Leon I IturbideSpainIvan Magalhaes PROPOSAL
Adams X ChuiBrazilIvan Magalhaes NEW
Alejandro F PoquetteFranceBernardo Dominic NEW
Mujtaba Y ChuiFranceOnyama Limba UNQUALIFIED
Jones J InouyeCanadaStephen Shaw UNQUALIFIED
Rodrigues Y MarrierFranceIvan Magalhaes UNQUALIFIED
Francesco D MacleadCanadaAnna Fali UNQUALIFIED
Leja Y WieserIndiaAmy Elsner PROPOSAL
Ricardo H ShinkoFranceElwin Sharvill NEW
Darci G AlbaresGermanyAsiya Javayant RENEWAL
Mayumi K FollerJapanAsiya Javayant NEW
Stacey M BriddickItalyElwin Sharvill QUALIFIED
Kaitlin I GillianIndiaStephen Shaw PROPOSAL
Izzy H RutaSpainOnyama Limba UNQUALIFIED
Aika U TollnerAustraliaXuxue Feng UNQUALIFIED
Kaitlin M FlosiJapanIoni Bowcher UNQUALIFIED
Faith C FerenczSpainOnyama Limba UNQUALIFIED
Johnson N GlickFranceStephen Shaw NEW
Jennifer K VenereCanadaElwin Sharvill UNQUALIFIED
Octavia Q GauchoItalyElwin Sharvill RENEWAL
Juan E WaycottAustraliaAmy Elsner QUALIFIED
Izzy T BriddickSpainAsiya Javayant NEGOTIATION
Jefferson T KuskoIndiaAnna Fali RENEWAL
Ivar E ButtItalyAmy Elsner NEW
Chavez X CaldareraSpainElwin Sharvill UNQUALIFIED
David L CaldareraItalyXuxue Feng PROPOSAL
Morrow T GillianItalyBernardo Dominic RENEWAL
Mujtaba P SlusarskiRussiaIvan Magalhaes NEW
Arvin B NestleIndiaIvan Magalhaes QUALIFIED
Aditya Y InouyeAustraliaElwin Sharvill NEW
Murillo G CaldareraItalyElwin Sharvill 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>