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
Misaki D MaletCanadaStephen Shaw PROPOSAL
Aika M PerinAustraliaStephen Shaw UNQUALIFIED
Costa V RutaJapanAsiya Javayant RENEWAL
Maria W OldroydAustraliaAmy Elsner PROPOSAL
Wickens Q SergiRussiaXuxue Feng NEW
Jones A KuskoIndiaAnna Fali UNQUALIFIED
Isabel S NickaSpainStephen Shaw QUALIFIED
Jefferson U DilliardArgentinaXuxue Feng NEW
Smith P SaylorsBrazilXuxue Feng QUALIFIED
Claire H VocelkaIndiaBernardo Dominic NEW
Kaitlin Q AmigonAustraliaElwin Sharvill NEW
Jeanfrancois K CampainFranceElwin Sharvill RENEWAL
Ivar T GarufiGermanyAmy Elsner PROPOSAL
Jennifer P KuskoJapanXuxue Feng QUALIFIED
Arvin G FerenczJapanAnna Fali UNQUALIFIED
Nicolas J CaldareraBrazilBernardo Dominic QUALIFIED
Ivar H ChuiArgentinaIvan Magalhaes NEGOTIATION
Aditya C IturbideBrazilStephen Shaw PROPOSAL
Octavia Z AmigonUnited KingdomBernardo Dominic NEGOTIATION
Sinclair K MaletCanadaIoni Bowcher UNQUALIFIED
Mujtaba R DoeUnited KingdomOnyama Limba NEW
Jones P PerinRussiaElwin Sharvill NEGOTIATION
Mujtaba S VocelkaBrazilXuxue Feng RENEWAL
Rodrigues D VocelkaGermanyAsiya Javayant NEW
Jeanfrancois X PerinGermanyAmy Elsner RENEWAL
Ivar A RulapaughCanadaOnyama Limba RENEWAL
Smith A FerenczAustraliaAnna Fali RENEWAL
Adams B OstroskyAustraliaIoni Bowcher UNQUALIFIED
Aruna H GarufiGermanyAsiya Javayant NEW
Ashley D GlickUnited KingdomBernardo Dominic RENEWAL
Murillo Q PerinIndiaStephen Shaw QUALIFIED
Rodrigues V FigeroaGermanyAnna Fali NEW
Arvin B DarakjyItalyElwin Sharvill RENEWAL
Isabel P FollerUnited KingdomXuxue Feng NEW
David C SaylorsUnited KingdomAmy Elsner NEGOTIATION
Claire I MaletBrazilBernardo Dominic NEGOTIATION
Wickens B GauchoIndiaIvan Magalhaes NEW
Nicolas L RoysterRussiaOnyama Limba UNQUALIFIED
Kadeem Q FlosiArgentinaAmy Elsner NEW
Antonio Y GauchoFranceXuxue Feng NEW
Emily O KuskoIndiaAmy Elsner NEGOTIATION
Stacey H GauchoAustraliaAnna Fali QUALIFIED
Leon M FerenczItalyAsiya Javayant PROPOSAL
Deepesh W PoquetteUnited KingdomAsiya Javayant RENEWAL
Silvio G NestleFranceStephen Shaw QUALIFIED
Emily H InouyeBrazilAsiya Javayant QUALIFIED
Deepesh Z DilliardSpainIvan Magalhaes NEW
Rodrigues M SaylorsFranceIvan Magalhaes RENEWAL
Deepesh Q OldroydGermanyXuxue Feng NEW
Jefferson J KuskoAustraliaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia K SergiAustraliaIoni Bowcher UNQUALIFIED
Stacey R CampainFranceStephen Shaw PROPOSAL
Morrow U WhobreyItalyAnna Fali QUALIFIED
Jefferson C FollerArgentinaXuxue Feng QUALIFIED
James D ChuiGermanyStephen Shaw NEGOTIATION
Costa N MacleadArgentinaStephen Shaw UNQUALIFIED
Maisha O SchemmerItalyIoni Bowcher NEW
Kaitlin D FerenczSpainAmy Elsner NEW
Faith B OstroskyUnited KingdomAsiya Javayant PROPOSAL
Chavez Y KolmetzIndiaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa V ButtRussia2026-07-25Feltz Printing Service UNQUALIFIED36Stephen Shaw
1001Darci X InouyeBrazil2026-07-02Rangoni Of Florence NEGOTIATION82Bernardo Dominic
1002Francesco I PerinCanada2026-06-30Chapman, Ross E Esq UNQUALIFIED53Ivan Magalhaes
1003Juan J AlbaresItaly2026-07-13Morlong Associates RENEWAL5Elwin Sharvill
1004Darci J KolmetzBrazil2026-07-01Morlong Associates RENEWAL6Xuxue Feng
1005Tony O MaletJapan2026-07-12Buckley Miller Wright NEW89Onyama Limba
1006Leon B RoysterJapan2026-07-12Rangoni Of Florence NEW4Ioni Bowcher
1007Juan A AmigonCanada2026-07-11Feiner Bros NEW22Anna Fali
1008Munro X FerenczUnited Kingdom2026-07-17Printing Dimensions NEW89Ivan Magalhaes
1009Smith B SlusarskiItaly2026-07-16Feltz Printing Service NEGOTIATION28Anna Fali
1010Costa Q ChuiAustralia2026-06-29King, Christopher A Esq NEW43Bernardo Dominic
1011Isabel M IturbideSpain2026-07-01Feiner Bros QUALIFIED20Elwin Sharvill
1012David D MorascaArgentina2026-07-16Morlong Associates PROPOSAL11Amy Elsner
1013Kaitlin F AmigonSpain2026-07-05King, Christopher A Esq PROPOSAL69Ivan Magalhaes
1014Salvatore S RulapaughBrazil2026-07-19Printing Dimensions UNQUALIFIED72Elwin Sharvill
1015Smith W PaprockiFrance2026-07-04Chanay, Jeffrey A Esq RENEWAL81Asiya Javayant
1016Murillo K MacleadItaly2026-07-04Commercial Press NEGOTIATION18Elwin Sharvill
1017Antonio H OstroskyItaly2026-07-10Buckley Miller Wright UNQUALIFIED96Asiya Javayant
1018Arvin Z MarrierSpain2026-07-19Morlong Associates RENEWAL34Xuxue Feng
1019Costa C FollerBrazil2026-06-27Chemel, James L Cpa QUALIFIED80Onyama Limba
1020Ricardo L RoysterSpain2026-06-27Rangoni Of Florence QUALIFIED52Stephen Shaw
1021Darci P OstroskyCanada2026-07-07Buckley Miller Wright QUALIFIED61Anna Fali
1022Mayumi K BriddickIndia2026-07-14Truhlar And Truhlar Attys PROPOSAL31Anna Fali
1023Clifford P NestleCanada2026-07-21Printing Dimensions QUALIFIED12Bernardo Dominic
1024Ricardo U VocelkaRussia2026-07-02Dorl, James J Esq QUALIFIED38Ivan Magalhaes
1025Aruna T ChuiAustralia2026-07-14Printing Dimensions NEGOTIATION0Elwin Sharvill
1026Kaitlin J FlosiAustralia2026-07-25Chapman, Ross E Esq NEGOTIATION62Amy Elsner
1027Salvatore C AlbaresGermany2026-07-10Feltz Printing Service RENEWAL6Onyama Limba
1028Izzy V ShinkoRussia2026-07-15Printing Dimensions PROPOSAL85Elwin Sharvill
1029Deepesh V GlickGermany2026-07-20Feiner Bros NEW77Ivan Magalhaes
1030Silvio L MarrierJapan2026-07-25Benton, John B Jr RENEWAL7Xuxue Feng
1031Kadeem W RoysterIndia2026-07-06Benton, John B Jr NEW38Amy Elsner
1032James Z StensethJapan2026-07-25Dorl, James J Esq QUALIFIED37Asiya Javayant
1033Juan L RimJapan2026-07-12Buckley Miller Wright RENEWAL69Elwin Sharvill
1034Sinclair T FollerBrazil2026-06-30Chemel, James L Cpa NEW45Asiya Javayant
1035Octavia H KuskoJapan2026-07-15Buckley Miller Wright PROPOSAL39Onyama Limba
1036Silvio D GillianAustralia2026-07-17Chanay, Jeffrey A Esq UNQUALIFIED89Ioni Bowcher
1037Misaki F RimIndia2026-07-11Chapman, Ross E Esq NEW20Asiya Javayant
1038Salvatore O ButtRussia2026-07-16Chanay, Jeffrey A Esq NEW90Ivan Magalhaes
1039Costa Q PerinItaly2026-07-10Buckley Miller Wright RENEWAL1Bernardo Dominic
1040Leon A KuskoSpain2026-07-09Dorl, James J Esq RENEWAL10Ioni Bowcher
1041Aika K MaletAustralia2026-07-04Feiner Bros NEW71Ioni Bowcher
1042Emily Z OstroskyGermany2026-07-03Truhlar And Truhlar Attys NEW53Anna Fali
1043Murillo X RimAustralia2026-07-08Rousseaux, Michael Esq NEGOTIATION33Stephen Shaw
1044David D WhobreyCanada2026-06-29Dorl, James J Esq QUALIFIED82Xuxue Feng
1045Alejandro M FerenczBrazil2026-07-07Rangoni Of Florence QUALIFIED3Xuxue Feng
1046Emily A BowleyUnited Kingdom2026-07-10Morlong Associates NEW38Ioni Bowcher
1047Alejandro S KolmetzBrazil2026-07-08Truhlar And Truhlar Attys NEW56Ioni Bowcher
1048Isabel X WhobreyBrazil2026-07-19Chanay, Jeffrey A Esq NEGOTIATION45Ioni Bowcher
1049Isabel V CampainBrazil2026-07-03Rangoni Of Florence PROPOSAL89Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mayumi H PoquetteSpainAsiya Javayant QUALIFIED
Johnson I MorascaItalyAnna Fali NEGOTIATION
Adams V GarufiAustraliaIvan Magalhaes NEW
Kaitlin O RulapaughArgentinaBernardo Dominic NEGOTIATION
Mujtaba M RulapaughJapanIvan Magalhaes NEW
Ashley N DilliardArgentinaElwin Sharvill NEGOTIATION
Francesco S RulapaughGermanyAsiya Javayant PROPOSAL
Octavia M MaletRussiaIvan Magalhaes PROPOSAL
Alejandro T VenereSpainBernardo Dominic NEGOTIATION
Ivar A RutaGermanyIvan Magalhaes UNQUALIFIED
Claire Y FlosiJapanAnna Fali NEW
Munro N DoeCanadaAsiya Javayant PROPOSAL
Tony K FlosiArgentinaIvan Magalhaes NEGOTIATION
Aditya K InouyeCanadaAnna Fali QUALIFIED
Claire T RoysterGermanyAmy Elsner QUALIFIED
James M VocelkaGermanyAmy Elsner PROPOSAL
Sinclair A TollnerBrazilAmy Elsner UNQUALIFIED
Isabel X WhobreyFranceIoni Bowcher UNQUALIFIED
Francesco R FerenczArgentinaOnyama Limba QUALIFIED
Greenwood R GlickItalyAmy Elsner PROPOSAL
Rodrigues D DarakjyAustraliaAnna Fali NEW
Wickens S RulapaughItalyStephen Shaw RENEWAL
Munro Q GillianItalyOnyama Limba UNQUALIFIED
Aika C GarufiCanadaAmy Elsner NEW
Johnson G BologniaGermanyOnyama Limba NEW
Faith U ButtCanadaAnna Fali RENEWAL
Adams B CampainIndiaElwin Sharvill NEW
Aditya U GarufiAustraliaElwin Sharvill QUALIFIED
Octavia Q IturbideItalyAnna Fali NEGOTIATION
Aditya C DoeBrazilXuxue Feng NEW
Adams O StockhamArgentinaAmy Elsner RENEWAL
Sinclair S SchemmerRussiaXuxue Feng NEW
Juan D OstroskyGermanyIvan Magalhaes UNQUALIFIED
Maria J CaldareraItalyXuxue Feng NEGOTIATION
Octavia P SergiIndiaAmy Elsner UNQUALIFIED
Aruna J PaprockiRussiaAmy Elsner PROPOSAL
Nicolas N ChuiArgentinaAmy Elsner PROPOSAL
Aruna A SergiRussiaElwin Sharvill NEGOTIATION
Stacey Q WieserArgentinaStephen Shaw NEW
Leon I GlickFranceStephen Shaw PROPOSAL
Jeanfrancois Q RimGermanyOnyama Limba UNQUALIFIED
Adams V FigeroaUnited KingdomIvan Magalhaes NEW
Ashley F MorascaAustraliaIvan Magalhaes RENEWAL
Salvatore Y FigeroaItalyOnyama Limba NEW
Rodrigues D SlusarskiArgentinaAnna Fali UNQUALIFIED
Misaki E BologniaSpainXuxue Feng QUALIFIED
Tony M ShinkoFranceAsiya Javayant PROPOSAL
Leja P RimFranceIoni Bowcher UNQUALIFIED
Ivar Z InouyeGermanyStephen Shaw RENEWAL
Francesco R DarakjyFranceAnna Fali QUALIFIED
Frozen Columns
Name
Nicolas L Ostrosky
Francesco L Garufi
Leon C Inouye
Mujtaba Y Albares
Claire K Inouye
Aditya A Doe
Aditya R Wieser
Mujtaba T Gaucho
Claire Z Ostrosky
Ricardo S Saylors
Leja H Kusko
Chavez J Ostrosky
Greenwood L Tollner
Francesco A Morasca
Costa R Royster
Faith H Ferencz
Morrow H Foller
Adams S Sergi
Octavia V Kusko
Juan E Briddick
Deepesh N Amigon
Mayumi O Nestle
Aditya O Darakjy
Ricardo Q Dilliard
Arvin K Nestle
Mayumi Y Venere
Silvio K Sergi
Chavez F Caudy
Smith I Amigon
Octavia S Marrier
Johnson U Flosi
Arvin S Malet
Claire O Schemmer
Murillo D Sergi
Rodrigues M Venere
Octavia M Sergi
Murillo R Foller
Isabel Z Whobrey
Costa P Ferencz
Munro O Slusarski
Kadeem R Gaucho
Costa U Albares
Juan A Bowley
Sinclair O Ostrosky
Kadeem L Venere
Ashley Y Campain
Jones H Shinko
Nicolas N Butt
Mayumi C Ferencz
Maisha K Slusarski
IdCountryDate
1000France2026-07-19
1001Canada2026-07-22
1002Spain2026-07-03
1003Brazil2026-07-03
1004Germany2026-07-04
1005India2026-07-06
1006Germany2026-07-11
1007Argentina2026-07-16
1008Russia2026-07-15
1009Argentina2026-07-03
1010Japan2026-07-24
1011Germany2026-07-25
1012Argentina2026-07-25
1013Spain2026-07-23
1014Brazil2026-07-11
1015Russia2026-07-23
1016India2026-07-02
1017Germany2026-07-07
1018Japan2026-07-13
1019France2026-07-24
1020Argentina2026-07-03
1021Canada2026-07-16
1022United Kingdom2026-07-22
1023United Kingdom2026-07-04
1024Italy2026-07-06
1025United Kingdom2026-07-24
1026Japan2026-07-10
1027Canada2026-07-10
1028Russia2026-07-23
1029Brazil2026-07-12
1030Canada2026-07-08
1031Italy2026-07-18
1032Japan2026-07-03
1033India2026-07-24
1034Australia2026-07-04
1035Spain2026-07-24
1036Russia2026-07-20
1037United Kingdom2026-07-10
1038Russia2026-07-06
1039Germany2026-07-03
1040Canada2026-07-01
1041Japan2026-07-26
1042India2026-07-16
1043Canada2026-07-06
1044Brazil2026-07-22
1045Germany2026-06-29
1046Australia2026-07-07
1047Russia2026-06-29
1048France2026-06-27
1049Brazil2026-07-11

On-Demand Data

NameIdCountryDate
Deepesh M Caudy1000Germany2026-06-30
Kaitlin E Paprocki1001Australia2026-06-29
Jeanfrancois M Perin1002United Kingdom2026-07-04
James G Rim1003India2026-06-27
Chavez Z Iturbide1004Russia2026-07-06
Cody Y Gillian1005Brazil2026-06-30
Izzy N Gillian1006Brazil2026-07-01
Leja W Marrier1007Argentina2026-07-03
Johnson F Doe1008Japan2026-07-23
Munro K Bolognia1009Italy2026-07-22
Cody W Amigon1010Italy2026-07-16
Jones K Garufi1011Australia2026-07-23
Murillo I Caudy1012Italy2026-07-16
Munro S Paprocki1013Russia2026-07-14
Tony Y Albares1014Brazil2026-07-12
Kadeem W Ruta1015Germany2026-07-25
Salvatore K Darakjy1016Australia2026-06-29
David O Iturbide1017Spain2026-07-17
Adams O Morasca1018United Kingdom2026-07-14
Leja Q Nestle1019Australia2026-07-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar L OldroydArgentinaElwin Sharvill PROPOSAL
Stacey R VocelkaRussiaAsiya Javayant UNQUALIFIED
Munro V GillianItalyXuxue Feng RENEWAL
Maria J DarakjyItalyAmy Elsner RENEWAL
James P GillianCanadaIoni Bowcher NEW
Julie V VocelkaArgentinaAnna Fali PROPOSAL
Adams Y PaprockiBrazilBernardo Dominic NEW
Jeanfrancois G TollnerIndiaIvan Magalhaes RENEWAL
Aditya G ChuiBrazilAnna Fali RENEWAL
Darci A FlosiArgentinaIvan Magalhaes NEGOTIATION
Cody Q FollerIndiaOnyama Limba RENEWAL
Silvio E CampainJapanBernardo Dominic PROPOSAL
Isabel C MaletSpainOnyama Limba QUALIFIED
Aditya Y RimJapanAmy Elsner QUALIFIED
Rodrigues K ShinkoAustraliaBernardo Dominic PROPOSAL
Jones G FollerArgentinaAmy Elsner QUALIFIED
Rodrigues E CampainAustraliaOnyama Limba NEW
Ivar I TollnerIndiaXuxue Feng UNQUALIFIED
Deepesh P DilliardGermanyIoni Bowcher NEW
Izzy N NestleIndiaAmy Elsner QUALIFIED
Morrow V GillianCanadaOnyama Limba UNQUALIFIED
Jeanfrancois R AlbaresAustraliaBernardo Dominic RENEWAL
Leja X PerinFranceXuxue Feng RENEWAL
James H RulapaughSpainAnna Fali PROPOSAL
Kadeem D PoquetteItalyElwin Sharvill NEW
Octavia C GarufiCanadaAmy Elsner NEGOTIATION
Ashley F BowleyBrazilIvan Magalhaes QUALIFIED
Chavez S MorascaArgentinaElwin Sharvill RENEWAL
Maria C GarufiUnited KingdomAmy Elsner NEGOTIATION
Jefferson P CaudyItalyElwin Sharvill NEW
Tony C ChuiRussiaAsiya Javayant PROPOSAL
Mayumi U DoeItalyElwin Sharvill QUALIFIED
David L MaletArgentinaXuxue Feng RENEWAL
Antonio S ChuiArgentinaStephen Shaw RENEWAL
Arvin O WieserRussiaIoni Bowcher QUALIFIED
Aika E MacleadBrazilXuxue Feng PROPOSAL
Kaitlin U DoeArgentinaOnyama Limba PROPOSAL
Faith E MorascaCanadaXuxue Feng PROPOSAL
Sinclair N MorascaJapanIoni Bowcher NEW
Isabel K SchemmerUnited KingdomBernardo Dominic 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>