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
James F OstroskyItalyAnna Fali RENEWAL
Aditya G BriddickCanadaAmy Elsner RENEWAL
Darci I PoquetteRussiaIoni Bowcher PROPOSAL
Wickens L GlickUnited KingdomXuxue Feng NEGOTIATION
Morrow Q GlickArgentinaAmy Elsner RENEWAL
Jefferson O KolmetzIndiaAmy Elsner NEGOTIATION
Leon D VocelkaFranceAnna Fali PROPOSAL
Chavez H DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Faith Y OldroydAustraliaAmy Elsner RENEWAL
Salvatore X WieserIndiaBernardo Dominic NEGOTIATION
Maria Z ButtUnited KingdomOnyama Limba PROPOSAL
Ashley X CampainUnited KingdomIvan Magalhaes NEGOTIATION
Juan P MaletAustraliaOnyama Limba PROPOSAL
Izzy G StockhamGermanyIoni Bowcher RENEWAL
Antonio P SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Maisha C SchemmerFranceAsiya Javayant PROPOSAL
Leon R ButtItalyXuxue Feng NEGOTIATION
Antonio U AlbaresIndiaBernardo Dominic NEGOTIATION
Greenwood V NickaJapanIoni Bowcher UNQUALIFIED
Claire D BologniaSpainOnyama Limba UNQUALIFIED
Isabel X SchemmerArgentinaAmy Elsner PROPOSAL
Leja B CaudyUnited KingdomOnyama Limba NEGOTIATION
Mujtaba H CaldareraIndiaOnyama Limba PROPOSAL
Deepesh D MaletCanadaOnyama Limba NEGOTIATION
Sinclair G RulapaughRussiaAmy Elsner PROPOSAL
Salvatore U GlickAustraliaOnyama Limba NEGOTIATION
Silvio G SergiFranceOnyama Limba NEW
Wickens M BriddickItalyIoni Bowcher PROPOSAL
Leja L NestleUnited KingdomStephen Shaw NEGOTIATION
Deepesh F VocelkaArgentinaAmy Elsner NEW
Juan G InouyeUnited KingdomAmy Elsner NEW
Jefferson F GlickJapanOnyama Limba NEW
Aditya F FollerUnited KingdomAnna Fali RENEWAL
Aruna F OldroydGermanyIoni Bowcher NEW
Mujtaba Z GauchoItalyAmy Elsner PROPOSAL
Nicolas T ButtCanadaIvan Magalhaes NEGOTIATION
Smith Q FollerSpainStephen Shaw PROPOSAL
Juan Z StockhamAustraliaAmy Elsner RENEWAL
Clifford Q SlusarskiFranceElwin Sharvill NEW
Alejandro G FerenczSpainIoni Bowcher UNQUALIFIED
Clifford F NestleCanadaIvan Magalhaes PROPOSAL
Jeanfrancois T SchemmerItalyStephen Shaw UNQUALIFIED
Clifford H InouyeUnited KingdomAsiya Javayant NEW
Aruna D SaylorsFranceOnyama Limba NEW
Darci Q RoysterGermanyAsiya Javayant PROPOSAL
Leon L FlosiIndiaIvan Magalhaes UNQUALIFIED
Clifford S PerinRussiaOnyama Limba UNQUALIFIED
Antonio K SchemmerCanadaBernardo Dominic UNQUALIFIED
Misaki F MaletItalyAnna Fali QUALIFIED
Arvin V BriddickAustraliaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Cody T MaletRussiaXuxue Feng NEW
Rodrigues S DarakjyIndiaAnna Fali UNQUALIFIED
Faith T IturbideAustraliaStephen Shaw PROPOSAL
Jeanfrancois R DilliardItalyIoni Bowcher NEGOTIATION
Mayumi W NickaItalyBernardo Dominic UNQUALIFIED
Julie A OstroskyGermanyStephen Shaw PROPOSAL
Leon Y MacleadGermanyBernardo Dominic PROPOSAL
David N MacleadJapanAsiya Javayant NEGOTIATION
Leon O PoquetteSpainAnna Fali NEW
Nicolas K MorascaRussiaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore H PaprockiArgentina2025-05-22Morlong Associates RENEWAL41Onyama Limba
1001Jones T CampainFrance2025-05-24Chanay, Jeffrey A Esq RENEWAL30Ivan Magalhaes
1002Cody B CampainFrance2025-05-25Chemel, James L Cpa PROPOSAL73Amy Elsner
1003Jennifer M ButtJapan2025-06-02Feiner Bros RENEWAL22Ioni Bowcher
1004Kadeem P GauchoGermany2025-05-26Feiner Bros QUALIFIED90Asiya Javayant
1005Antonio E VenereCanada2025-05-20Commercial Press UNQUALIFIED8Asiya Javayant
1006Misaki K MaletArgentina2025-06-12Rousseaux, Michael Esq UNQUALIFIED62Elwin Sharvill
1007Arvin I InouyeRussia2025-06-06Chemel, James L Cpa PROPOSAL22Stephen Shaw
1008Jennifer C PaprockiFrance2025-05-26Feltz Printing Service RENEWAL29Elwin Sharvill
1009Leon M RutaJapan2025-06-03Dorl, James J Esq UNQUALIFIED3Stephen Shaw
1010Deepesh O OldroydAustralia2025-06-10King, Christopher A Esq QUALIFIED38Anna Fali
1011Antonio Z WhobreyBrazil2025-06-01Chapman, Ross E Esq NEW97Stephen Shaw
1012Mayumi D MaletBrazil2025-05-29Chanay, Jeffrey A Esq NEGOTIATION78Ivan Magalhaes
1013Aditya E NestleSpain2025-05-30Benton, John B Jr QUALIFIED60Amy Elsner
1014Deepesh E DarakjyUnited Kingdom2025-05-20King, Christopher A Esq NEGOTIATION1Asiya Javayant
1015Munro N BowleyJapan2025-05-26Commercial Press NEGOTIATION81Stephen Shaw
1016Francesco E WieserGermany2025-06-10Commercial Press NEGOTIATION12Stephen Shaw
1017Maisha D CaldareraUnited Kingdom2025-05-24Printing Dimensions NEGOTIATION76Bernardo Dominic
1018Maisha D StensethJapan2025-06-02Printing Dimensions PROPOSAL31Xuxue Feng
1019Sinclair L VenereRussia2025-06-15Rousseaux, Michael Esq QUALIFIED83Onyama Limba
1020Wickens Z MacleadArgentina2025-06-02Rousseaux, Michael Esq UNQUALIFIED64Amy Elsner
1021Aditya E AmigonBrazil2025-06-14Chapman, Ross E Esq QUALIFIED68Asiya Javayant
1022James R RutaUnited Kingdom2025-06-05Chapman, Ross E Esq QUALIFIED71Anna Fali
1023Ivar Z MaletJapan2025-05-30Feltz Printing Service QUALIFIED99Ioni Bowcher
1024Maria P AlbaresAustralia2025-05-27Feltz Printing Service RENEWAL27Elwin Sharvill
1025Adams P BologniaFrance2025-05-27Chanay, Jeffrey A Esq NEGOTIATION50Ivan Magalhaes
1026Adams K NickaItaly2025-06-07Morlong Associates NEW57Xuxue Feng
1027Tony N GillianBrazil2025-05-26Chemel, James L Cpa QUALIFIED37Stephen Shaw
1028Costa O DarakjyJapan2025-05-26King, Christopher A Esq QUALIFIED7Elwin Sharvill
1029Arvin A MaletGermany2025-05-19Commercial Press NEGOTIATION27Elwin Sharvill
1030James H GlickIndia2025-06-09Printing Dimensions QUALIFIED81Anna Fali
1031Leon U MaletJapan2025-06-11King, Christopher A Esq UNQUALIFIED35Amy Elsner
1032Antonio B DilliardCanada2025-06-12Dorl, James J Esq NEGOTIATION56Elwin Sharvill
1033Darci F StockhamAustralia2025-05-27Feiner Bros RENEWAL17Ivan Magalhaes
1034Darci A AmigonIndia2025-05-22Feiner Bros QUALIFIED84Ioni Bowcher
1035Claire Q WieserBrazil2025-05-22Buckley Miller Wright QUALIFIED1Asiya Javayant
1036James T SaylorsUnited Kingdom2025-06-07Rousseaux, Michael Esq NEW56Bernardo Dominic
1037Mayumi N FigeroaItaly2025-06-04Feltz Printing Service NEW20Bernardo Dominic
1038James P GauchoRussia2025-06-10Rousseaux, Michael Esq NEW55Amy Elsner
1039Wickens R GarufiCanada2025-06-11Commercial Press QUALIFIED77Xuxue Feng
1040Wickens G MaletUnited Kingdom2025-06-05Truhlar And Truhlar Attys PROPOSAL32Bernardo Dominic
1041Jones F CaudyArgentina2025-05-23Chapman, Ross E Esq NEW2Asiya Javayant
1042Mayumi U GarufiItaly2025-05-29Feltz Printing Service QUALIFIED60Ivan Magalhaes
1043Murillo Z OstroskyArgentina2025-05-26Benton, John B Jr NEW52Stephen Shaw
1044Costa F GauchoArgentina2025-05-19Commercial Press NEGOTIATION63Asiya Javayant
1045Rodrigues O FerenczSpain2025-05-25King, Christopher A Esq PROPOSAL42Stephen Shaw
1046Izzy A FollerItaly2025-06-13Printing Dimensions UNQUALIFIED97Ioni Bowcher
1047Leon T CaudyGermany2025-06-03Feiner Bros NEGOTIATION38Stephen Shaw
1048Misaki E CaldareraFrance2025-06-16Morlong Associates RENEWAL22Bernardo Dominic
1049Aruna E SlusarskiUnited Kingdom2025-06-10Buckley Miller Wright UNQUALIFIED53Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Chavez Z AmigonCanadaAmy Elsner NEW
Ashley Z BriddickAustraliaBernardo Dominic UNQUALIFIED
James K NickaUnited KingdomStephen Shaw UNQUALIFIED
Octavia X StockhamGermanyAnna Fali RENEWAL
Isabel B GlickArgentinaAsiya Javayant RENEWAL
Juan I CaudyRussiaAnna Fali PROPOSAL
Aruna S MaletJapanAsiya Javayant UNQUALIFIED
Francesco X PaprockiArgentinaAmy Elsner NEGOTIATION
Jeanfrancois S FollerGermanyOnyama Limba QUALIFIED
Ashley S SlusarskiCanadaAsiya Javayant RENEWAL
Johnson X MorascaAustraliaIvan Magalhaes NEGOTIATION
Alejandro B SergiUnited KingdomAmy Elsner QUALIFIED
Munro J ButtSpainElwin Sharvill NEGOTIATION
Claire E WhobreyCanadaStephen Shaw UNQUALIFIED
Silvio Q DarakjySpainXuxue Feng NEGOTIATION
Isabel P FollerItalyElwin Sharvill NEGOTIATION
Jennifer T AmigonCanadaBernardo Dominic UNQUALIFIED
Mayumi Q OldroydIndiaStephen Shaw QUALIFIED
Ricardo E MorascaFranceIoni Bowcher NEW
Adams L ButtBrazilAmy Elsner NEW
Chavez P BriddickArgentinaBernardo Dominic NEGOTIATION
Aika M GillianRussiaBernardo Dominic PROPOSAL
Greenwood Q PerinFranceBernardo Dominic QUALIFIED
Costa U FlosiIndiaBernardo Dominic RENEWAL
Tony S GauchoSpainIvan Magalhaes RENEWAL
Morrow D MorascaArgentinaAsiya Javayant QUALIFIED
Emily R PoquetteRussiaOnyama Limba NEW
Kadeem E PaprockiSpainAmy Elsner NEW
Misaki C KuskoBrazilXuxue Feng QUALIFIED
Silvio F RoysterRussiaElwin Sharvill NEW
Juan J VenereRussiaAmy Elsner PROPOSAL
Kadeem J NestleAustraliaIvan Magalhaes NEGOTIATION
Silvio L FigeroaJapanXuxue Feng PROPOSAL
Aika H GarufiGermanyAnna Fali RENEWAL
Nicolas S BowleyCanadaOnyama Limba NEGOTIATION
Silvio L KuskoFranceIoni Bowcher UNQUALIFIED
Arvin P PerinGermanyAsiya Javayant RENEWAL
Darci Y WhobreyIndiaAsiya Javayant NEGOTIATION
Aditya A CaudySpainOnyama Limba PROPOSAL
Faith U VenereBrazilAnna Fali NEW
Kadeem L AmigonBrazilOnyama Limba RENEWAL
Faith U MaletUnited KingdomOnyama Limba UNQUALIFIED
Johnson P NestleCanadaIvan Magalhaes QUALIFIED
Jeanfrancois T InouyeIndiaIoni Bowcher QUALIFIED
Smith A RulapaughJapanXuxue Feng UNQUALIFIED
Ricardo E WieserUnited KingdomAnna Fali UNQUALIFIED
Izzy R FerenczGermanyAmy Elsner NEW
Munro P PerinBrazilXuxue Feng QUALIFIED
Darci H RutaIndiaOnyama Limba RENEWAL
Cody H MarrierAustraliaAsiya Javayant PROPOSAL
Frozen Columns
Name
Sinclair L Bolognia
Claire D Dilliard
David Z Rulapaugh
Arvin S Garufi
Arvin Z Darakjy
Mayumi L Tollner
Juan M Marrier
Antonio A Briddick
Ricardo R Tollner
Antonio D Doe
Faith P Wieser
Wickens D Nestle
Claire I Rim
Morrow Q Maclead
Jones B Doe
Jennifer J Whobrey
Ashley I Foller
Nicolas Q Perin
Munro Y Bolognia
Octavia B Kolmetz
Ashley I Sergi
Emily G Ferencz
Silvio B Marrier
Emily W Dilliard
Emily B Garufi
Smith H Schemmer
Adams D Sergi
Silvio H Garufi
Leon A Foller
Alejandro R Gaucho
Claire Z Oldroyd
Jefferson C Schemmer
Maria D Malet
Salvatore C Garufi
James U Caldarera
Murillo U Saylors
Kaitlin I Malet
Mayumi P Saylors
Jeanfrancois H Nicka
Salvatore S Chui
Nicolas E Vocelka
Jefferson Q Butt
Sinclair C Rim
Misaki D Royster
Sinclair M Darakjy
Ivar T Darakjy
Maisha A Chui
Jones O Campain
Murillo O Albares
Aditya Z Kolmetz
IdCountryDate
1000Spain2025-05-21
1001Russia2025-06-04
1002Germany2025-05-26
1003Spain2025-06-15
1004Canada2025-05-29
1005Argentina2025-06-09
1006Argentina2025-06-12
1007Argentina2025-06-11
1008United Kingdom2025-06-02
1009Japan2025-06-14
1010Russia2025-06-12
1011United Kingdom2025-05-21
1012Italy2025-06-16
1013Italy2025-05-25
1014France2025-06-10
1015India2025-05-19
1016Italy2025-06-12
1017Australia2025-05-28
1018France2025-05-20
1019Italy2025-05-25
1020Argentina2025-05-31
1021Argentina2025-05-26
1022Germany2025-06-11
1023Russia2025-05-23
1024Japan2025-06-02
1025Russia2025-06-05
1026Spain2025-06-14
1027France2025-05-22
1028Germany2025-06-06
1029Canada2025-06-01
1030Russia2025-05-21
1031Australia2025-06-01
1032Germany2025-06-03
1033Japan2025-05-18
1034Brazil2025-06-08
1035United Kingdom2025-05-23
1036Canada2025-06-02
1037Italy2025-05-31
1038Russia2025-05-20
1039France2025-06-08
1040Canada2025-06-01
1041Canada2025-06-09
1042Australia2025-05-25
1043United Kingdom2025-05-21
1044France2025-05-27
1045Italy2025-05-31
1046Brazil2025-06-01
1047Italy2025-05-31
1048France2025-05-19
1049Brazil2025-06-07

On-Demand Data

NameIdCountryDate
Jones E Flosi1000Australia2025-06-07
Faith V Stenseth1001United Kingdom2025-05-27
Munro G Stockham1002Spain2025-05-31
Greenwood H Nestle1003Japan2025-05-27
Jefferson N Caudy1004Germany2025-05-29
Munro X Bolognia1005Brazil2025-05-27
Misaki G Gaucho1006India2025-05-31
Costa Q Royster1007Canada2025-06-09
Deepesh H Royster1008Brazil2025-06-03
Nicolas B Waycott1009Japan2025-06-15
Antonio J Amigon1010Brazil2025-05-29
Jones S Bowley1011Brazil2025-06-06
Mayumi N Inouye1012Japan2025-06-16
Juan K Gaucho1013Spain2025-05-27
Francesco D Doe1014Australia2025-06-16
David X Whobrey1015Russia2025-05-24
Johnson U Wieser1016Australia2025-06-06
David J Flosi1017Australia2025-05-29
Ricardo M Nicka1018Spain2025-06-13
Juan T Dilliard1019Japan2025-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi L FigeroaJapanIvan Magalhaes NEGOTIATION
Jefferson Q ButtRussiaStephen Shaw NEGOTIATION
Ashley C IturbideIndiaStephen Shaw NEGOTIATION
Antonio I GillianJapanIvan Magalhaes PROPOSAL
Munro D DilliardIndiaBernardo Dominic NEGOTIATION
Claire X WaycottArgentinaAnna Fali PROPOSAL
Kadeem F MaletJapanStephen Shaw QUALIFIED
Jennifer R DarakjyRussiaStephen Shaw QUALIFIED
Johnson M GauchoUnited KingdomAnna Fali NEGOTIATION
Ivar W MacleadRussiaStephen Shaw NEGOTIATION
Greenwood R RimAustraliaBernardo Dominic UNQUALIFIED
Jones Z SlusarskiArgentinaBernardo Dominic QUALIFIED
Izzy U IturbideJapanOnyama Limba UNQUALIFIED
Rodrigues F MaletCanadaOnyama Limba PROPOSAL
Ivar Y RimItalyElwin Sharvill UNQUALIFIED
Jones C ShinkoBrazilIvan Magalhaes NEW
Mayumi S PerinBrazilAsiya Javayant UNQUALIFIED
Murillo V SchemmerIndiaXuxue Feng QUALIFIED
Deepesh F RoysterBrazilElwin Sharvill NEW
David M CampainArgentinaAsiya Javayant PROPOSAL
Aika Y BowleyUnited KingdomElwin Sharvill NEGOTIATION
Mayumi L MorascaGermanyBernardo Dominic PROPOSAL
Maisha D NestleUnited KingdomIoni Bowcher UNQUALIFIED
Cody V WhobreyRussiaAnna Fali NEW
Claire C WieserBrazilAmy Elsner NEGOTIATION
Munro H VocelkaSpainBernardo Dominic QUALIFIED
Smith I AlbaresFranceOnyama Limba NEW
Mayumi N OstroskyUnited KingdomIoni Bowcher PROPOSAL
Leon K BowleyIndiaStephen Shaw NEGOTIATION
Antonio H SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Izzy M NickaArgentinaIoni Bowcher RENEWAL
Aditya H DarakjySpainAmy Elsner RENEWAL
Misaki B GlickAustraliaAnna Fali UNQUALIFIED
Emily R FlosiCanadaIvan Magalhaes UNQUALIFIED
Ashley N BologniaJapanIvan Magalhaes UNQUALIFIED
Jeanfrancois T FollerSpainAmy Elsner NEW
Adams H IturbideCanadaOnyama Limba PROPOSAL
Greenwood J FerenczFranceElwin Sharvill RENEWAL
Ricardo R OldroydBrazilElwin Sharvill RENEWAL
Isabel M NestleItalyAnna Fali NEGOTIATION

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