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
Munro G OstroskyRussiaElwin Sharvill QUALIFIED
Chavez A RoysterSpainAsiya Javayant QUALIFIED
Adams H KuskoFranceOnyama Limba NEGOTIATION
Mayumi K KolmetzGermanyAsiya Javayant PROPOSAL
Ricardo Z KuskoCanadaXuxue Feng NEW
Ivar G ButtBrazilAmy Elsner NEGOTIATION
Kadeem Q TollnerGermanyOnyama Limba UNQUALIFIED
Kadeem N PaprockiItalyXuxue Feng NEW
Maisha Z RimBrazilElwin Sharvill NEGOTIATION
Nicolas Q ButtItalyAnna Fali NEW
Nicolas B GauchoGermanyXuxue Feng RENEWAL
Costa G AlbaresGermanyAmy Elsner RENEWAL
Alejandro T PoquetteJapanStephen Shaw RENEWAL
Munro Y NestleGermanyAnna Fali NEGOTIATION
Rodrigues N PoquetteIndiaStephen Shaw NEGOTIATION
Cody G PaprockiFranceElwin Sharvill NEGOTIATION
Jefferson Y SaylorsGermanyOnyama Limba NEW
Costa V MacleadIndiaIoni Bowcher PROPOSAL
Maria Z ShinkoAustraliaAsiya Javayant UNQUALIFIED
Emily M OstroskyIndiaAmy Elsner UNQUALIFIED
Rodrigues D AmigonCanadaOnyama Limba NEGOTIATION
Ivar G GauchoBrazilIoni Bowcher NEGOTIATION
Nicolas T SlusarskiIndiaIoni Bowcher NEGOTIATION
Julie F BologniaGermanyElwin Sharvill QUALIFIED
Juan D IturbideGermanyAmy Elsner UNQUALIFIED
Juan G BowleyGermanyElwin Sharvill NEW
Silvio P FigeroaIndiaAnna Fali NEGOTIATION
Adams I SchemmerSpainIoni Bowcher NEGOTIATION
Jefferson I FerenczAustraliaOnyama Limba QUALIFIED
James P PerinBrazilOnyama Limba UNQUALIFIED
Munro C WhobreyIndiaAmy Elsner RENEWAL
Misaki L VocelkaAustraliaIvan Magalhaes PROPOSAL
Cody K MarrierArgentinaBernardo Dominic RENEWAL
Octavia R BriddickArgentinaStephen Shaw NEW
Jefferson W NestleBrazilIvan Magalhaes PROPOSAL
Aruna A FigeroaIndiaBernardo Dominic QUALIFIED
Mujtaba Q NestleSpainAsiya Javayant UNQUALIFIED
Misaki H VocelkaAustraliaOnyama Limba QUALIFIED
Jeanfrancois N GlickFranceIvan Magalhaes PROPOSAL
Nicolas A WaycottRussiaOnyama Limba RENEWAL
Izzy H StensethItalyAnna Fali NEGOTIATION
Morrow V CaudyCanadaAsiya Javayant NEW
Claire G DilliardAustraliaAmy Elsner NEGOTIATION
Francesco N IturbideItalyOnyama Limba RENEWAL
Silvio J PaprockiGermanyIvan Magalhaes NEGOTIATION
Arvin V KuskoArgentinaAnna Fali PROPOSAL
Maisha Z BowleyCanadaBernardo Dominic NEW
Silvio U AmigonCanadaOnyama Limba PROPOSAL
Mayumi T VenereItalyAmy Elsner NEW
Alejandro I AlbaresSpainElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Francesco T OldroydFranceAnna Fali QUALIFIED
Isabel K NickaJapanAnna Fali PROPOSAL
Kaitlin P MorascaSpainBernardo Dominic QUALIFIED
Clifford S DarakjyItalyOnyama Limba NEGOTIATION
Francesco U VocelkaSpainAmy Elsner QUALIFIED
Emily Z GarufiCanadaStephen Shaw NEW
Kadeem G DarakjyJapanAnna Fali PROPOSAL
Smith X ButtUnited KingdomAsiya Javayant RENEWAL
Ivar Q BologniaCanadaStephen Shaw PROPOSAL
Jones O RoysterRussiaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith D WaycottIndia2026-07-12Printing Dimensions QUALIFIED16Stephen Shaw
1001Morrow P AmigonUnited Kingdom2026-06-30Chapman, Ross E Esq QUALIFIED41Asiya Javayant
1002Kadeem M StockhamArgentina2026-07-21Benton, John B Jr RENEWAL47Elwin Sharvill
1003Octavia F AlbaresGermany2026-07-14Feltz Printing Service NEGOTIATION28Ioni Bowcher
1004Jeanfrancois W NickaAustralia2026-07-27Feltz Printing Service RENEWAL80Onyama Limba
1005Antonio J PoquetteRussia2026-07-03Buckley Miller Wright PROPOSAL32Elwin Sharvill
1006Ricardo Z RoysterIndia2026-07-20Chapman, Ross E Esq PROPOSAL17Elwin Sharvill
1007Octavia M ButtFrance2026-07-28Morlong Associates QUALIFIED33Ioni Bowcher
1008Leja M PoquetteItaly2026-07-28Buckley Miller Wright QUALIFIED66Stephen Shaw
1009Sinclair V SergiUnited Kingdom2026-07-02Printing Dimensions UNQUALIFIED60Ioni Bowcher
1010Alejandro Q SchemmerUnited Kingdom2026-07-29Morlong Associates RENEWAL5Elwin Sharvill
1011Misaki T AmigonAustralia2026-07-07Feiner Bros PROPOSAL24Onyama Limba
1012Munro F GlickRussia2026-07-12Commercial Press UNQUALIFIED61Xuxue Feng
1013Johnson E BriddickBrazil2026-07-16Truhlar And Truhlar Attys PROPOSAL40Anna Fali
1014Faith Z KuskoRussia2026-07-04Feiner Bros NEGOTIATION73Elwin Sharvill
1015Maria U CaudyUnited Kingdom2026-07-01Benton, John B Jr UNQUALIFIED34Bernardo Dominic
1016Ricardo E ChuiRussia2026-07-17Rousseaux, Michael Esq QUALIFIED57Asiya Javayant
1017Mayumi Q SchemmerGermany2026-07-07Dorl, James J Esq NEW63Amy Elsner
1018Nicolas Q MaletBrazil2026-07-08Rangoni Of Florence NEGOTIATION77Bernardo Dominic
1019Kadeem Z SergiUnited Kingdom2026-07-09Rangoni Of Florence RENEWAL79Ioni Bowcher
1020Sinclair V GarufiFrance2026-07-16Chanay, Jeffrey A Esq NEW63Ioni Bowcher
1021Chavez V WieserJapan2026-07-13Chemel, James L Cpa NEW2Asiya Javayant
1022Rodrigues C CaudyIndia2026-07-18Feiner Bros RENEWAL43Asiya Javayant
1023Arvin Q SlusarskiJapan2026-07-01Commercial Press UNQUALIFIED1Onyama Limba
1024Deepesh F StensethItaly2026-07-20Chapman, Ross E Esq UNQUALIFIED8Bernardo Dominic
1025Wickens W DilliardJapan2026-07-26Buckley Miller Wright NEGOTIATION96Onyama Limba
1026Morrow L CaldareraGermany2026-07-23Chapman, Ross E Esq UNQUALIFIED92Amy Elsner
1027Silvio B KuskoUnited Kingdom2026-07-24Morlong Associates NEGOTIATION81Onyama Limba
1028Salvatore K DilliardCanada2026-07-27Benton, John B Jr NEW92Asiya Javayant
1029Antonio P MorascaAustralia2026-07-27Chapman, Ross E Esq RENEWAL86Anna Fali
1030Rodrigues E CaldareraIndia2026-07-24Printing Dimensions PROPOSAL94Onyama Limba
1031Octavia J SchemmerJapan2026-07-08King, Christopher A Esq UNQUALIFIED82Amy Elsner
1032Ricardo K GillianFrance2026-07-29Printing Dimensions QUALIFIED81Xuxue Feng
1033Adams E ChuiItaly2026-07-05Feiner Bros QUALIFIED56Xuxue Feng
1034Smith W GillianJapan2026-07-03Chapman, Ross E Esq RENEWAL39Onyama Limba
1035Kadeem U DarakjyGermany2026-07-13Printing Dimensions NEW73Asiya Javayant
1036Sinclair F MarrierJapan2026-07-21King, Christopher A Esq NEW73Ioni Bowcher
1037Misaki Y ShinkoUnited Kingdom2026-07-17Truhlar And Truhlar Attys NEW24Elwin Sharvill
1038Adams F NestleIndia2026-07-22Buckley Miller Wright RENEWAL17Amy Elsner
1039Jeanfrancois C SchemmerItaly2026-07-09King, Christopher A Esq NEW84Ivan Magalhaes
1040Sinclair G WieserAustralia2026-07-07Chemel, James L Cpa NEW56Elwin Sharvill
1041Tony U CaldareraAustralia2026-07-13Chapman, Ross E Esq NEW86Stephen Shaw
1042Ricardo A ShinkoCanada2026-07-25Truhlar And Truhlar Attys QUALIFIED19Amy Elsner
1043Aika I AlbaresJapan2026-07-19Commercial Press RENEWAL30Bernardo Dominic
1044Greenwood M MarrierUnited Kingdom2026-07-28Rangoni Of Florence QUALIFIED40Asiya Javayant
1045Mujtaba H NestleAustralia2026-07-23Rangoni Of Florence NEW70Anna Fali
1046Isabel L ButtUnited Kingdom2026-07-06King, Christopher A Esq QUALIFIED33Ioni Bowcher
1047Leon Z MacleadJapan2026-07-29Benton, John B Jr PROPOSAL29Stephen Shaw
1048Jeanfrancois C PerinCanada2026-07-24Chapman, Ross E Esq PROPOSAL87Elwin Sharvill
1049Stacey F ButtItaly2026-07-20Chanay, Jeffrey A Esq NEW58Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Mayumi O RoysterItalyIoni Bowcher UNQUALIFIED
Costa Q RimCanadaIvan Magalhaes NEGOTIATION
Alejandro C OldroydIndiaOnyama Limba UNQUALIFIED
Nicolas J GarufiArgentinaAnna Fali QUALIFIED
Leja I StensethItalyAsiya Javayant RENEWAL
Isabel F SlusarskiCanadaAnna Fali NEW
Stacey X FerenczRussiaIvan Magalhaes QUALIFIED
Jennifer Y RulapaughAustraliaOnyama Limba NEW
Maisha O GlickGermanyElwin Sharvill NEGOTIATION
Nicolas M RoysterArgentinaStephen Shaw QUALIFIED
Salvatore H ChuiFranceXuxue Feng PROPOSAL
Ivar J PoquetteFranceAmy Elsner RENEWAL
Nicolas G OstroskyItalyElwin Sharvill UNQUALIFIED
Nicolas G BriddickUnited KingdomAnna Fali NEW
Aika F PaprockiUnited KingdomAmy Elsner UNQUALIFIED
James K KolmetzGermanyAnna Fali NEGOTIATION
Mayumi S DilliardUnited KingdomIoni Bowcher RENEWAL
Mayumi S WieserItalyIvan Magalhaes QUALIFIED
Emily A WieserIndiaAmy Elsner NEW
Murillo D IturbideAustraliaXuxue Feng NEGOTIATION
Mujtaba G TollnerJapanStephen Shaw NEW
Stacey U NickaRussiaAsiya Javayant RENEWAL
Maria S WhobreyAustraliaStephen Shaw NEW
Wickens G FerenczBrazilElwin Sharvill RENEWAL
Leon B DilliardIndiaStephen Shaw RENEWAL
Maisha X CampainUnited KingdomBernardo Dominic UNQUALIFIED
Isabel A OldroydUnited KingdomElwin Sharvill NEGOTIATION
Darci V WieserIndiaIvan Magalhaes RENEWAL
Mujtaba N FollerFranceIoni Bowcher PROPOSAL
Mujtaba B DarakjyAustraliaIvan Magalhaes RENEWAL
Mujtaba E OstroskyFranceStephen Shaw NEGOTIATION
Morrow G BowleySpainAsiya Javayant NEGOTIATION
Octavia P CampainGermanyAsiya Javayant PROPOSAL
Kaitlin F StockhamAustraliaOnyama Limba PROPOSAL
Jones Y FerenczCanadaStephen Shaw QUALIFIED
Rodrigues Q BriddickItalyBernardo Dominic NEW
Cody M FigeroaSpainIoni Bowcher QUALIFIED
Aditya P SaylorsArgentinaElwin Sharvill RENEWAL
Aditya L BologniaIndiaAsiya Javayant UNQUALIFIED
Faith V BologniaJapanIoni Bowcher NEGOTIATION
Isabel J WhobreyFranceElwin Sharvill QUALIFIED
Nicolas H FigeroaArgentinaStephen Shaw NEGOTIATION
Tony X ChuiUnited KingdomElwin Sharvill QUALIFIED
Smith K BologniaSpainBernardo Dominic UNQUALIFIED
Stacey W PaprockiBrazilAmy Elsner RENEWAL
Adams K RimUnited KingdomElwin Sharvill NEW
Chavez L RoysterGermanyIvan Magalhaes PROPOSAL
Murillo G PerinIndiaOnyama Limba NEGOTIATION
Smith U IturbideFranceBernardo Dominic RENEWAL
Kaitlin E DilliardBrazilAnna Fali RENEWAL
Frozen Columns
Name
Misaki O Venere
Jeanfrancois W Royster
Antonio O Bolognia
Julie Z Albares
Wickens H Vocelka
Stacey I Garufi
Ashley K Stockham
Adams I Darakjy
Isabel A Bolognia
Salvatore W Albares
Munro J Flosi
Smith I Caldarera
Leja L Doe
Costa C Morasca
Izzy R Glick
Jones G Vocelka
Mujtaba W Kolmetz
Octavia Q Chui
Izzy L Caldarera
Octavia Y Royster
Leon C Wieser
Aruna J Doe
Kadeem O Malet
Clifford G Bowley
Misaki Q Sergi
Clifford V Campain
Chavez S Flosi
Murillo P Bowley
Adams E Nestle
Aika V Sergi
Rodrigues X Flosi
Jones B Amigon
Mujtaba G Garufi
Clifford B Nicka
Aruna U Marrier
Mujtaba G Schemmer
Aika E Stenseth
Jefferson E Kolmetz
Julie T Slusarski
Mayumi C Saylors
Jones E Morasca
Claire B Campain
Kaitlin U Perin
Kaitlin H Vocelka
Francesco T Vocelka
Maria C Ferencz
Mayumi M Butt
Jennifer P Bowley
Jeanfrancois X Malet
Aika X Flosi
IdCountryDate
1000Italy2026-07-20
1001Brazil2026-07-02
1002Japan2026-07-15
1003Russia2026-07-07
1004France2026-07-10
1005India2026-07-19
1006Japan2026-07-20
1007Russia2026-07-23
1008Italy2026-07-04
1009Argentina2026-07-27
1010Argentina2026-07-20
1011Russia2026-07-07
1012Argentina2026-07-21
1013Russia2026-07-06
1014Japan2026-07-15
1015Japan2026-07-14
1016Russia2026-07-10
1017Canada2026-07-22
1018United Kingdom2026-07-15
1019Spain2026-07-07
1020Brazil2026-07-23
1021Argentina2026-07-26
1022Japan2026-07-23
1023Germany2026-07-01
1024Brazil2026-07-02
1025India2026-06-30
1026Spain2026-07-28
1027Russia2026-07-20
1028Spain2026-07-17
1029Canada2026-07-23
1030Russia2026-07-18
1031United Kingdom2026-07-27
1032Canada2026-07-15
1033India2026-07-12
1034France2026-07-15
1035Spain2026-07-23
1036Italy2026-07-25
1037Russia2026-07-02
1038Japan2026-07-11
1039Brazil2026-07-15
1040Italy2026-07-20
1041France2026-07-26
1042Canada2026-07-25
1043Australia2026-07-13
1044Spain2026-07-24
1045India2026-07-23
1046Germany2026-07-06
1047Argentina2026-07-28
1048Russia2026-07-08
1049Japan2026-07-29

On-Demand Data

NameIdCountryDate
James P Morasca1000United Kingdom2026-07-14
Juan R Saylors1001India2026-07-04
David W Ruta1002Germany2026-07-29
Chavez R Royster1003Japan2026-07-18
David V Oldroyd1004Canada2026-07-09
Arvin Q Paprocki1005Germany2026-07-26
Izzy M Chui1006Argentina2026-07-09
Alejandro S Malet1007Russia2026-07-11
Emily X Ostrosky1008Italy2026-07-18
Stacey L Figeroa1009Russia2026-07-20
Francesco C Dilliard1010Argentina2026-07-07
Tony J Caldarera1011Japan2026-07-04
Juan K Marrier1012India2026-07-01
Jennifer M Rulapaugh1013Spain2026-07-01
Maria E Garufi1014India2026-07-03
Arvin T Glick1015Brazil2026-07-27
Rodrigues D Figeroa1016India2026-07-17
Murillo P Perin1017United Kingdom2026-07-17
David C Stockham1018Germany2026-07-23
Darci E Rim1019France2026-07-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith X FlosiFranceAmy Elsner PROPOSAL
Munro K PoquetteAustraliaIvan Magalhaes NEW
Jefferson C DoeSpainAsiya Javayant PROPOSAL
Claire Q OstroskyFranceAsiya Javayant UNQUALIFIED
Costa U PoquetteJapanIvan Magalhaes QUALIFIED
Ashley X FlosiSpainBernardo Dominic QUALIFIED
Murillo S RimArgentinaIoni Bowcher QUALIFIED
Leja K BriddickArgentinaAsiya Javayant NEGOTIATION
Leja C PaprockiAustraliaXuxue Feng UNQUALIFIED
Maisha U GillianBrazilXuxue Feng NEW
Aruna P NickaSpainBernardo Dominic PROPOSAL
James B WaycottAustraliaAnna Fali PROPOSAL
Sinclair A AmigonArgentinaAsiya Javayant QUALIFIED
Munro Z ButtSpainAnna Fali RENEWAL
Maria O StensethSpainElwin Sharvill PROPOSAL
Aruna Q SergiUnited KingdomElwin Sharvill QUALIFIED
Smith H BowleyUnited KingdomAnna Fali PROPOSAL
Juan J TollnerBrazilAsiya Javayant UNQUALIFIED
James J FerenczGermanyElwin Sharvill UNQUALIFIED
Ivar T IturbideBrazilAsiya Javayant NEGOTIATION
Clifford G KuskoArgentinaOnyama Limba NEW
Tony H ShinkoIndiaIvan Magalhaes NEGOTIATION
Silvio V AmigonFranceBernardo Dominic PROPOSAL
Julie O IturbideIndiaAsiya Javayant RENEWAL
Maisha E StockhamBrazilAmy Elsner NEW
Morrow T PerinItalyAsiya Javayant RENEWAL
Ashley O RutaArgentinaBernardo Dominic NEW
Mayumi F SlusarskiArgentinaOnyama Limba QUALIFIED
James E CaudyIndiaElwin Sharvill QUALIFIED
Aika Z OldroydIndiaXuxue Feng NEW
Aruna T CaldareraCanadaIoni Bowcher RENEWAL
Silvio N RoysterSpainXuxue Feng UNQUALIFIED
Isabel V FerenczUnited KingdomAnna Fali PROPOSAL
Deepesh C DoeFranceAnna Fali UNQUALIFIED
Wickens O FigeroaFranceStephen Shaw UNQUALIFIED
Tony I KolmetzUnited KingdomAsiya Javayant QUALIFIED
Ricardo I GlickIndiaAnna Fali PROPOSAL
James F BowleyCanadaBernardo Dominic QUALIFIED
Mayumi G RoysterCanadaStephen Shaw QUALIFIED
James U OstroskyFranceBernardo Dominic 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>