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
Jeanfrancois N IturbideGermanyIvan Magalhaes NEW
Tony G SergiAustraliaOnyama Limba UNQUALIFIED
Clifford Z FigeroaIndiaElwin Sharvill NEW
Morrow N MarrierGermanyIvan Magalhaes UNQUALIFIED
Johnson K SaylorsArgentinaBernardo Dominic NEW
Wickens D FlosiItalyAnna Fali QUALIFIED
Rodrigues A CaldareraFranceXuxue Feng NEW
Johnson H RulapaughAustraliaAsiya Javayant RENEWAL
Maisha E CaudyAustraliaAmy Elsner RENEWAL
Clifford T NestleUnited KingdomAmy Elsner PROPOSAL
Aruna Q InouyeArgentinaAsiya Javayant UNQUALIFIED
Octavia G NestleUnited KingdomStephen Shaw NEW
Arvin P GlickItalyOnyama Limba UNQUALIFIED
Aditya L NestleArgentinaAsiya Javayant RENEWAL
Silvio I StensethArgentinaIvan Magalhaes PROPOSAL
Isabel D BriddickFranceXuxue Feng NEGOTIATION
Costa I CampainItalyStephen Shaw PROPOSAL
Juan U BowleyIndiaIvan Magalhaes PROPOSAL
Maria W AmigonItalyIoni Bowcher NEW
Izzy S RulapaughRussiaAnna Fali NEGOTIATION
Octavia I VocelkaBrazilElwin Sharvill QUALIFIED
Maisha V RutaAustraliaAnna Fali RENEWAL
Mujtaba H FigeroaAustraliaBernardo Dominic PROPOSAL
Arvin Z CaudyIndiaXuxue Feng NEW
Antonio W FigeroaIndiaOnyama Limba QUALIFIED
Tony V OstroskySpainOnyama Limba QUALIFIED
Deepesh I FerenczUnited KingdomXuxue Feng QUALIFIED
Clifford B SergiCanadaAnna Fali NEW
Costa S RoysterUnited KingdomAnna Fali NEW
Leja Z OstroskyJapanBernardo Dominic RENEWAL
Salvatore F DoeIndiaElwin Sharvill QUALIFIED
Jones O BriddickRussiaXuxue Feng NEGOTIATION
Stacey J InouyeSpainBernardo Dominic QUALIFIED
Leon P CaldareraItalyIvan Magalhaes QUALIFIED
Juan B WhobreyCanadaAnna Fali PROPOSAL
Emily A SergiGermanyElwin Sharvill NEW
Leon D CaldareraUnited KingdomAmy Elsner NEW
Costa F MaletGermanyElwin Sharvill NEGOTIATION
Nicolas J RutaFranceStephen Shaw NEGOTIATION
Aruna E RutaBrazilOnyama Limba NEW
Misaki X CaudyGermanyXuxue Feng RENEWAL
Murillo N SchemmerUnited KingdomIoni Bowcher PROPOSAL
Wickens A WaycottSpainBernardo Dominic UNQUALIFIED
Mujtaba C SchemmerAustraliaIvan Magalhaes QUALIFIED
Maria N KolmetzArgentinaOnyama Limba NEW
Clifford G PerinJapanAmy Elsner PROPOSAL
Salvatore H MarrierSpainIvan Magalhaes UNQUALIFIED
Tony J KolmetzRussiaAsiya Javayant RENEWAL
Adams B MaletUnited KingdomIoni Bowcher RENEWAL
Faith M DoeIndiaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Alejandro R MaletBrazilAmy Elsner PROPOSAL
Leon F NestleFranceElwin Sharvill UNQUALIFIED
Faith M AlbaresRussiaAmy Elsner NEGOTIATION
Nicolas D SchemmerCanadaAmy Elsner NEW
Francesco I PaprockiBrazilIvan Magalhaes NEW
Adams Z DilliardUnited KingdomAsiya Javayant QUALIFIED
Rodrigues Y DarakjyCanadaIvan Magalhaes QUALIFIED
Kaitlin Z IturbideAustraliaXuxue Feng QUALIFIED
Leja X FlosiJapanAsiya Javayant RENEWAL
Ashley O IturbideBrazilOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez F MaletJapan2026-07-25Rangoni Of Florence NEGOTIATION36Xuxue Feng
1001Murillo R FlosiJapan2026-08-07Rangoni Of Florence NEW2Amy Elsner
1002Greenwood V BologniaSpain2026-08-06Feltz Printing Service PROPOSAL96Asiya Javayant
1003Aruna K WieserUnited Kingdom2026-08-02Commercial Press QUALIFIED77Amy Elsner
1004Leon X WhobreyArgentina2026-07-18Dorl, James J Esq NEGOTIATION72Anna Fali
1005Alejandro B RoysterJapan2026-08-14Chapman, Ross E Esq NEW31Anna Fali
1006Aika I AmigonCanada2026-07-24Feiner Bros QUALIFIED23Ioni Bowcher
1007Mujtaba O SaylorsJapan2026-08-01Dorl, James J Esq NEW43Elwin Sharvill
1008Chavez A BologniaBrazil2026-08-13Rousseaux, Michael Esq UNQUALIFIED4Anna Fali
1009Mujtaba I StockhamJapan2026-08-11Buckley Miller Wright UNQUALIFIED97Ivan Magalhaes
1010Mayumi P FigeroaArgentina2026-08-03Morlong Associates QUALIFIED90Stephen Shaw
1011Leon G PerinItaly2026-08-01Benton, John B Jr UNQUALIFIED75Asiya Javayant
1012Clifford K NestleRussia2026-07-29Benton, John B Jr QUALIFIED66Amy Elsner
1013Kadeem J AlbaresBrazil2026-07-26Chanay, Jeffrey A Esq PROPOSAL48Asiya Javayant
1014Jones O GauchoBrazil2026-08-12King, Christopher A Esq NEW20Asiya Javayant
1015Faith V FollerGermany2026-08-08Morlong Associates NEW57Ioni Bowcher
1016Julie K KolmetzIndia2026-08-06Printing Dimensions NEW68Onyama Limba
1017Faith I WieserBrazil2026-07-23Rousseaux, Michael Esq RENEWAL0Stephen Shaw
1018Clifford S CampainUnited Kingdom2026-07-29King, Christopher A Esq NEW80Ivan Magalhaes
1019Silvio Q ChuiCanada2026-08-06Buckley Miller Wright NEGOTIATION61Asiya Javayant
1020Maisha B NestleArgentina2026-08-06Chanay, Jeffrey A Esq RENEWAL8Ioni Bowcher
1021Johnson Z CampainArgentina2026-08-10Chemel, James L Cpa NEGOTIATION31Ioni Bowcher
1022Leon M SlusarskiBrazil2026-07-30Rangoni Of Florence RENEWAL49Onyama Limba
1023Ricardo G OldroydFrance2026-08-02Morlong Associates NEW8Amy Elsner
1024Cody Y FerenczAustralia2026-07-17Chanay, Jeffrey A Esq QUALIFIED63Stephen Shaw
1025Jennifer W BriddickArgentina2026-08-08Feiner Bros QUALIFIED56Onyama Limba
1026Greenwood Z MacleadJapan2026-07-20Rangoni Of Florence QUALIFIED94Amy Elsner
1027Jennifer U RulapaughGermany2026-07-25Benton, John B Jr PROPOSAL41Amy Elsner
1028Greenwood W GarufiRussia2026-08-08Truhlar And Truhlar Attys RENEWAL59Onyama Limba
1029Clifford L VenereJapan2026-07-26Dorl, James J Esq PROPOSAL84Xuxue Feng
1030Maria L WhobreyArgentina2026-08-11Chanay, Jeffrey A Esq UNQUALIFIED9Onyama Limba
1031Antonio U DarakjyCanada2026-08-09Buckley Miller Wright QUALIFIED12Stephen Shaw
1032Jefferson V PaprockiUnited Kingdom2026-07-22Morlong Associates RENEWAL86Onyama Limba
1033Morrow E NickaJapan2026-08-06Feltz Printing Service RENEWAL82Xuxue Feng
1034Claire X FerenczSpain2026-07-21Chemel, James L Cpa RENEWAL40Stephen Shaw
1035Leon F FollerJapan2026-08-04Chapman, Ross E Esq QUALIFIED11Stephen Shaw
1036Jones C SaylorsIndia2026-08-03Truhlar And Truhlar Attys PROPOSAL29Bernardo Dominic
1037Kadeem C NickaJapan2026-08-08Buckley Miller Wright UNQUALIFIED67Xuxue Feng
1038Leon V MaletJapan2026-08-09Feltz Printing Service UNQUALIFIED23Anna Fali
1039Leon Y FerenczIndia2026-07-22King, Christopher A Esq NEW44Elwin Sharvill
1040Ivar V BologniaBrazil2026-07-30Feiner Bros RENEWAL34Xuxue Feng
1041Chavez T GlickAustralia2026-08-01Benton, John B Jr NEW49Onyama Limba
1042Adams G CaudyGermany2026-07-30Benton, John B Jr QUALIFIED49Stephen Shaw
1043Murillo B IturbideFrance2026-08-10Dorl, James J Esq RENEWAL20Ivan Magalhaes
1044Julie B WaycottCanada2026-07-22Buckley Miller Wright RENEWAL61Bernardo Dominic
1045Mujtaba X MaletRussia2026-07-22Chapman, Ross E Esq NEW89Onyama Limba
1046Kadeem J TollnerRussia2026-07-25Buckley Miller Wright QUALIFIED35Bernardo Dominic
1047Aditya A PerinSpain2026-07-20Rangoni Of Florence NEGOTIATION99Ivan Magalhaes
1048Murillo V ButtBrazil2026-07-24Buckley Miller Wright RENEWAL28Xuxue Feng
1049Leon O OldroydIndia2026-07-30Feiner Bros RENEWAL85Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Murillo M CampainGermanyStephen Shaw PROPOSAL
Izzy Y ButtArgentinaAmy Elsner RENEWAL
Isabel Y RutaJapanOnyama Limba PROPOSAL
Tony F MacleadUnited KingdomXuxue Feng RENEWAL
Rodrigues R VenereBrazilStephen Shaw RENEWAL
Jefferson K GillianGermanyOnyama Limba RENEWAL
Morrow I BologniaAustraliaAsiya Javayant NEGOTIATION
Costa D WaycottSpainAnna Fali NEGOTIATION
Wickens T PaprockiCanadaStephen Shaw NEW
Mujtaba X FlosiAustraliaIvan Magalhaes NEGOTIATION
Costa I PoquetteGermanyAnna Fali PROPOSAL
Mujtaba N MaletGermanyAmy Elsner RENEWAL
Adams P AlbaresArgentinaAsiya Javayant RENEWAL
Greenwood B MacleadJapanStephen Shaw RENEWAL
Faith B VocelkaCanadaIvan Magalhaes PROPOSAL
Costa H DarakjyBrazilAsiya Javayant QUALIFIED
Julie L DarakjyJapanIvan Magalhaes QUALIFIED
Ivar O SaylorsArgentinaAmy Elsner QUALIFIED
Izzy D FlosiItalyAmy Elsner RENEWAL
Salvatore Q VocelkaAustraliaXuxue Feng QUALIFIED
Silvio P WhobreyRussiaAnna Fali UNQUALIFIED
Maisha Y OstroskyGermanyAnna Fali PROPOSAL
Johnson N GlickItalyElwin Sharvill UNQUALIFIED
Clifford P VocelkaRussiaAnna Fali NEW
Aruna A NickaRussiaElwin Sharvill UNQUALIFIED
Greenwood M MorascaSpainBernardo Dominic NEW
James A PaprockiAustraliaElwin Sharvill NEGOTIATION
Maisha A PaprockiUnited KingdomStephen Shaw NEGOTIATION
Arvin W CaudyFranceIvan Magalhaes QUALIFIED
Mayumi P CaldareraJapanAmy Elsner NEW
David J AlbaresUnited KingdomStephen Shaw PROPOSAL
Smith A WieserArgentinaElwin Sharvill PROPOSAL
Arvin H SergiGermanyIvan Magalhaes NEW
Faith X BowleyGermanyAnna Fali QUALIFIED
Emily N PerinGermanyXuxue Feng QUALIFIED
Kadeem F CaudyAustraliaAsiya Javayant UNQUALIFIED
Antonio O SaylorsFranceStephen Shaw QUALIFIED
Darci G MacleadCanadaAnna Fali NEW
Jennifer V FigeroaUnited KingdomAmy Elsner NEW
Chavez K VocelkaFranceAnna Fali QUALIFIED
Tony A SaylorsFranceAmy Elsner QUALIFIED
Smith A CaudyIndiaElwin Sharvill NEW
Maisha E ShinkoGermanyOnyama Limba RENEWAL
Greenwood S MaletBrazilAmy Elsner NEW
Claire S PoquetteSpainIoni Bowcher NEW
Jeanfrancois B PaprockiArgentinaOnyama Limba NEW
Johnson F RulapaughFranceStephen Shaw PROPOSAL
Octavia X MorascaAustraliaXuxue Feng NEGOTIATION
Isabel Z IturbideUnited KingdomAnna Fali RENEWAL
Kaitlin Z ShinkoGermanyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Salvatore Q Ostrosky
Isabel H Glick
Chavez O Briddick
Alejandro M Sergi
Mayumi J Malet
Smith Q Ostrosky
Tony C Marrier
Julie V Tollner
Costa Z Marrier
Francesco R Poquette
Aditya K Wieser
Adams R Bowley
Emily I Vocelka
Nicolas L Stenseth
James Q Gaucho
Jennifer L Ruta
Juan T Slusarski
Jennifer L Bolognia
Murillo G Oldroyd
Izzy M Nestle
Ashley K Foller
Jefferson U Flosi
Stacey B Albares
Izzy Q Chui
Johnson C Tollner
Aruna B Darakjy
Leon E Rulapaugh
Faith F Ferencz
Julie T Malet
Octavia P Gaucho
Johnson L Campain
Ricardo W Perin
Arvin U Ruta
Smith X Nicka
Maisha J Poquette
Jeanfrancois K Whobrey
Isabel F Foller
Greenwood T Waycott
Maria A Perin
Silvio I Foller
Octavia C Venere
Maisha H Stenseth
Aika H Ruta
Deepesh P Ostrosky
Francesco G Perin
Sinclair L Rulapaugh
Silvio Z Dilliard
Leon M Glick
Stacey V Shinko
Greenwood V Bolognia
IdCountryDate
1000Australia2026-07-28
1001Australia2026-08-04
1002India2026-08-05
1003Japan2026-08-11
1004Argentina2026-08-13
1005United Kingdom2026-07-31
1006Russia2026-08-06
1007Japan2026-07-17
1008India2026-07-18
1009United Kingdom2026-07-20
1010Germany2026-08-04
1011India2026-07-22
1012India2026-08-02
1013India2026-07-21
1014Argentina2026-08-06
1015United Kingdom2026-07-16
1016France2026-07-30
1017Japan2026-07-20
1018Germany2026-07-27
1019United Kingdom2026-07-24
1020France2026-08-02
1021Germany2026-07-18
1022Spain2026-08-06
1023Argentina2026-08-03
1024Brazil2026-07-16
1025France2026-07-23
1026Argentina2026-08-02
1027Japan2026-07-26
1028Japan2026-07-20
1029Australia2026-08-11
1030Japan2026-08-13
1031Australia2026-07-25
1032Russia2026-07-17
1033Australia2026-08-03
1034Germany2026-07-28
1035Brazil2026-07-24
1036Japan2026-07-30
1037Australia2026-07-27
1038India2026-07-25
1039Italy2026-07-26
1040Canada2026-08-03
1041Brazil2026-08-07
1042Spain2026-07-22
1043Japan2026-07-29
1044United Kingdom2026-08-09
1045United Kingdom2026-07-20
1046Russia2026-08-02
1047Argentina2026-08-07
1048Argentina2026-08-07
1049Japan2026-08-12

On-Demand Data

NameIdCountryDate
Darci J Foller1000Japan2026-07-26
Antonio S Figeroa1001Russia2026-08-05
Arvin O Tollner1002Argentina2026-07-23
Ivar B Garufi1003Italy2026-07-19
Rodrigues Y Tollner1004France2026-07-19
Jefferson Z Ostrosky1005United Kingdom2026-07-22
James H Schemmer1006United Kingdom2026-07-29
Greenwood Z Shinko1007Australia2026-08-03
Ricardo B Ruta1008Canada2026-08-02
Sinclair M Venere1009Germany2026-08-13
Murillo H Marrier1010India2026-08-08
Juan S Saylors1011Japan2026-07-23
Octavia H Malet1012United Kingdom2026-07-29
Ricardo L Albares1013Spain2026-08-04
Aditya U Poquette1014Germany2026-08-02
Ricardo X Caudy1015Spain2026-07-25
Mayumi F Shinko1016Argentina2026-08-04
Chavez E Amigon1017Argentina2026-08-11
Jones X Gaucho1018Argentina2026-08-03
Aika R Tollner1019Spain2026-07-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro S OstroskyIndiaOnyama Limba QUALIFIED
Jones E OldroydSpainIoni Bowcher RENEWAL
Tony Y GauchoSpainStephen Shaw QUALIFIED
David G SergiUnited KingdomIoni Bowcher PROPOSAL
Jeanfrancois A ShinkoCanadaAmy Elsner UNQUALIFIED
Greenwood W ButtArgentinaBernardo Dominic QUALIFIED
Maisha B ChuiAustraliaIvan Magalhaes NEGOTIATION
Faith C StockhamIndiaStephen Shaw QUALIFIED
Aika C VocelkaArgentinaAnna Fali NEGOTIATION
Munro L MacleadCanadaAsiya Javayant QUALIFIED
Murillo M GarufiJapanElwin Sharvill RENEWAL
Francesco O GlickCanadaAmy Elsner NEGOTIATION
Leja C NickaSpainAnna Fali NEW
Kadeem F DarakjyBrazilStephen Shaw UNQUALIFIED
Jennifer X OldroydArgentinaAmy Elsner PROPOSAL
Jones P MacleadItalyBernardo Dominic RENEWAL
Costa G RoysterUnited KingdomAmy Elsner NEW
Juan S KolmetzGermanyBernardo Dominic NEGOTIATION
Aika L WhobreyCanadaAsiya Javayant NEW
Clifford F GlickGermanyAnna Fali NEGOTIATION
Aika Q InouyeItalyElwin Sharvill PROPOSAL
Faith F AmigonAustraliaElwin Sharvill RENEWAL
Adams N PoquetteCanadaAmy Elsner PROPOSAL
Adams R NickaSpainAnna Fali UNQUALIFIED
Murillo R SaylorsBrazilBernardo Dominic UNQUALIFIED
Cody Q FollerFranceStephen Shaw UNQUALIFIED
Stacey Z TollnerCanadaBernardo Dominic PROPOSAL
Wickens H BowleyBrazilAmy Elsner RENEWAL
Alejandro D FlosiBrazilElwin Sharvill QUALIFIED
Izzy F FigeroaBrazilBernardo Dominic PROPOSAL
Faith M BologniaFranceAsiya Javayant PROPOSAL
Silvio N IturbideBrazilXuxue Feng NEGOTIATION
Adams X GarufiFranceAsiya Javayant PROPOSAL
Maria F DilliardUnited KingdomAsiya Javayant RENEWAL
Salvatore W NickaItalyIvan Magalhaes NEW
Tony K KolmetzIndiaAmy Elsner UNQUALIFIED
Francesco L AlbaresCanadaXuxue Feng PROPOSAL
Juan C ChuiSpainAsiya Javayant UNQUALIFIED
Faith P SlusarskiItalyXuxue Feng NEGOTIATION
Aditya M FigeroaGermanyAsiya 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>