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
Alejandro R SergiSpainElwin Sharvill NEW
Ricardo X DoeSpainIvan Magalhaes UNQUALIFIED
Mayumi K KolmetzAustraliaBernardo Dominic NEW
Leja Y StockhamFranceStephen Shaw NEW
Faith J FerenczSpainAnna Fali UNQUALIFIED
Costa P RoysterCanadaXuxue Feng NEGOTIATION
Nicolas I StensethJapanStephen Shaw RENEWAL
Octavia Z GlickJapanStephen Shaw NEW
Ricardo V RimItalyAsiya Javayant PROPOSAL
Faith Q NickaUnited KingdomAsiya Javayant NEGOTIATION
Rodrigues T SchemmerRussiaAmy Elsner NEW
David E MacleadRussiaAnna Fali QUALIFIED
Kadeem J KuskoFranceStephen Shaw RENEWAL
Mayumi R NickaAustraliaAsiya Javayant NEW
Smith H VocelkaAustraliaXuxue Feng PROPOSAL
Mayumi R OstroskyJapanXuxue Feng PROPOSAL
Antonio B CaudyItalyXuxue Feng RENEWAL
Isabel O StensethCanadaAsiya Javayant RENEWAL
Sinclair N MaletSpainAnna Fali PROPOSAL
Aruna O AlbaresBrazilStephen Shaw QUALIFIED
Maria Y ShinkoRussiaBernardo Dominic UNQUALIFIED
Darci O BriddickArgentinaAmy Elsner RENEWAL
Kadeem R AlbaresSpainStephen Shaw NEGOTIATION
Isabel N ShinkoUnited KingdomAsiya Javayant NEW
Juan L RoysterIndiaAmy Elsner QUALIFIED
Tony I MaletArgentinaAmy Elsner PROPOSAL
Mayumi L NickaFranceAmy Elsner NEGOTIATION
Alejandro Q SaylorsJapanStephen Shaw UNQUALIFIED
James H MorascaBrazilIoni Bowcher UNQUALIFIED
Stacey Q BologniaBrazilOnyama Limba NEW
Kadeem D WieserGermanyStephen Shaw NEW
Munro S KuskoItalyElwin Sharvill UNQUALIFIED
Nicolas W GauchoRussiaAsiya Javayant RENEWAL
Jennifer Q ChuiSpainXuxue Feng PROPOSAL
Smith U CaudyFranceAnna Fali NEW
Kaitlin G KolmetzAustraliaBernardo Dominic NEW
Kaitlin W GillianBrazilOnyama Limba RENEWAL
David O CaldareraItalyAsiya Javayant QUALIFIED
Maria L MaletIndiaIoni Bowcher RENEWAL
Murillo D GarufiItalyStephen Shaw UNQUALIFIED
Arvin I AmigonFranceIoni Bowcher RENEWAL
Ricardo J RutaJapanOnyama Limba RENEWAL
Ricardo O MorascaRussiaAsiya Javayant QUALIFIED
Morrow R WieserFranceElwin Sharvill PROPOSAL
Greenwood W CaldareraFranceOnyama Limba PROPOSAL
Antonio T CaudyBrazilBernardo Dominic PROPOSAL
Julie Q CampainUnited KingdomXuxue Feng UNQUALIFIED
Mujtaba V SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Ashley Q ChuiBrazilAsiya Javayant RENEWAL
Cody M CaldareraArgentinaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams S SergiBrazilElwin Sharvill PROPOSAL
Faith M BologniaSpainElwin Sharvill QUALIFIED
Claire M TollnerItalyIoni Bowcher PROPOSAL
Kaitlin T FlosiJapanXuxue Feng RENEWAL
Claire D FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Darci E FollerJapanIvan Magalhaes PROPOSAL
Izzy G SlusarskiUnited KingdomStephen Shaw NEW
Julie M BriddickJapanAnna Fali RENEWAL
Stacey D MacleadItalyIoni Bowcher QUALIFIED
Aika X WaycottGermanyXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha R BologniaBrazil2026-07-11Feiner Bros NEW48Amy Elsner
1001Ricardo G SergiSpain2026-07-12Feiner Bros QUALIFIED20Onyama Limba
1002Jones B RutaIndia2026-07-11King, Christopher A Esq RENEWAL40Ioni Bowcher
1003Munro P InouyeIndia2026-07-21Chanay, Jeffrey A Esq PROPOSAL72Ivan Magalhaes
1004Jefferson T WieserFrance2026-07-24Benton, John B Jr NEW50Asiya Javayant
1005Mayumi J RoysterRussia2026-07-24Chemel, James L Cpa QUALIFIED65Ioni Bowcher
1006Misaki C GauchoRussia2026-07-09Chapman, Ross E Esq PROPOSAL91Elwin Sharvill
1007Clifford P OldroydItaly2026-07-05Feiner Bros PROPOSAL89Asiya Javayant
1008Faith C StensethAustralia2026-07-06Morlong Associates QUALIFIED47Xuxue Feng
1009Claire M StensethRussia2026-07-06Printing Dimensions PROPOSAL26Asiya Javayant
1010Ricardo H MacleadItaly2026-07-07Truhlar And Truhlar Attys NEGOTIATION23Ivan Magalhaes
1011Leon W ChuiBrazil2026-07-10Rangoni Of Florence PROPOSAL56Ivan Magalhaes
1012Francesco O CaldareraArgentina2026-07-09Dorl, James J Esq NEGOTIATION9Asiya Javayant
1013Isabel Y MacleadRussia2026-07-03King, Christopher A Esq NEGOTIATION14Amy Elsner
1014Mayumi P CaudyArgentina2026-07-03Feiner Bros RENEWAL83Ivan Magalhaes
1015Maisha S SlusarskiSpain2026-07-25Chanay, Jeffrey A Esq NEW96Amy Elsner
1016Mayumi F AlbaresArgentina2026-07-18Dorl, James J Esq QUALIFIED82Asiya Javayant
1017Adams D WaycottBrazil2026-07-18Commercial Press RENEWAL15Ivan Magalhaes
1018Morrow X RoysterArgentina2026-07-03Printing Dimensions NEGOTIATION87Onyama Limba
1019Kaitlin A BologniaSpain2026-07-20Rangoni Of Florence UNQUALIFIED32Elwin Sharvill
1020Rodrigues V CaldareraItaly2026-07-21Chanay, Jeffrey A Esq RENEWAL12Amy Elsner
1021Rodrigues L SchemmerFrance2026-07-23Dorl, James J Esq NEGOTIATION31Elwin Sharvill
1022Tony M SergiRussia2026-07-23Morlong Associates RENEWAL56Asiya Javayant
1023Claire P PoquetteUnited Kingdom2026-07-05Commercial Press PROPOSAL37Elwin Sharvill
1024Misaki H FerenczGermany2026-07-03Buckley Miller Wright PROPOSAL9Elwin Sharvill
1025Mujtaba K BologniaUnited Kingdom2026-07-02Chapman, Ross E Esq NEW64Asiya Javayant
1026Deepesh H BologniaUnited Kingdom2026-07-21Printing Dimensions PROPOSAL44Onyama Limba
1027Adams M FlosiUnited Kingdom2026-07-07Buckley Miller Wright PROPOSAL59Amy Elsner
1028Faith Y AmigonSpain2026-07-20Dorl, James J Esq UNQUALIFIED0Onyama Limba
1029Chavez X CaudyUnited Kingdom2026-07-22Rangoni Of Florence NEGOTIATION38Stephen Shaw
1030Juan A RimUnited Kingdom2026-06-28Commercial Press RENEWAL54Ioni Bowcher
1031Alejandro X StensethBrazil2026-07-07Morlong Associates UNQUALIFIED13Elwin Sharvill
1032Clifford N BologniaRussia2026-07-12Feltz Printing Service QUALIFIED78Stephen Shaw
1033Leja Q AmigonUnited Kingdom2026-07-12Rousseaux, Michael Esq RENEWAL28Asiya Javayant
1034Nicolas R BowleyCanada2026-07-09Morlong Associates PROPOSAL78Amy Elsner
1035Kaitlin T PaprockiIndia2026-07-13Feltz Printing Service QUALIFIED99Xuxue Feng
1036Maisha H IturbideCanada2026-07-10Commercial Press NEW36Amy Elsner
1037Jennifer M BologniaFrance2026-06-28Rangoni Of Florence NEGOTIATION67Anna Fali
1038Silvio Z NickaAustralia2026-07-03Buckley Miller Wright UNQUALIFIED75Ioni Bowcher
1039Claire P ShinkoCanada2026-07-19Chapman, Ross E Esq PROPOSAL70Ivan Magalhaes
1040Salvatore P NickaJapan2026-07-15Rousseaux, Michael Esq NEGOTIATION29Onyama Limba
1041Francesco G FlosiGermany2026-06-28Feiner Bros UNQUALIFIED71Xuxue Feng
1042Aruna U FlosiUnited Kingdom2026-06-29Commercial Press PROPOSAL83Ivan Magalhaes
1043Ivar M GauchoBrazil2026-07-03Truhlar And Truhlar Attys NEW0Amy Elsner
1044Ivar G PerinArgentina2026-07-04Rangoni Of Florence UNQUALIFIED96Onyama Limba
1045Deepesh B PerinIndia2026-07-03Dorl, James J Esq QUALIFIED62Bernardo Dominic
1046Ashley G CaudyItaly2026-07-07Chapman, Ross E Esq QUALIFIED85Xuxue Feng
1047Maria O DarakjyArgentina2026-07-01Rousseaux, Michael Esq NEGOTIATION27Xuxue Feng
1048Sinclair T StensethUnited Kingdom2026-06-26Truhlar And Truhlar Attys RENEWAL20Ivan Magalhaes
1049Izzy K KolmetzCanada2026-07-14Chanay, Jeffrey A Esq PROPOSAL97Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Isabel O FerenczBrazilOnyama Limba NEGOTIATION
Kadeem X GauchoArgentinaAsiya Javayant PROPOSAL
Rodrigues B FerenczRussiaAnna Fali RENEWAL
Francesco E AmigonArgentinaStephen Shaw UNQUALIFIED
Julie N ChuiIndiaOnyama Limba RENEWAL
Juan F DoeItalyAmy Elsner UNQUALIFIED
Costa Q FlosiBrazilAnna Fali UNQUALIFIED
Cody G VocelkaGermanyAnna Fali RENEWAL
Munro B MaletCanadaXuxue Feng QUALIFIED
Ricardo R SaylorsRussiaIvan Magalhaes NEW
Kadeem P PerinRussiaAmy Elsner UNQUALIFIED
Adams E GlickUnited KingdomStephen Shaw NEW
Maisha D CampainFranceAsiya Javayant UNQUALIFIED
Wickens V TollnerItalyXuxue Feng NEGOTIATION
Emily H MarrierFranceStephen Shaw QUALIFIED
Maisha Y SchemmerJapanBernardo Dominic PROPOSAL
Claire H BowleyBrazilAnna Fali NEW
Clifford Q CaudyItalyElwin Sharvill QUALIFIED
Nicolas L OstroskyUnited KingdomBernardo Dominic NEW
Aditya P FerenczItalyElwin Sharvill UNQUALIFIED
Rodrigues H DilliardIndiaXuxue Feng PROPOSAL
Stacey Y RutaBrazilIoni Bowcher RENEWAL
Kaitlin P FollerArgentinaStephen Shaw RENEWAL
Sinclair M CaldareraArgentinaIvan Magalhaes UNQUALIFIED
Cody J FerenczItalyOnyama Limba RENEWAL
Leja H PerinBrazilStephen Shaw QUALIFIED
Rodrigues P PerinIndiaAmy Elsner QUALIFIED
Ashley D StensethIndiaAnna Fali PROPOSAL
Claire W OldroydCanadaAmy Elsner NEW
Sinclair G StensethItalyBernardo Dominic NEGOTIATION
Ivar Q FollerFranceOnyama Limba UNQUALIFIED
Chavez Y SergiGermanyXuxue Feng PROPOSAL
Rodrigues L FigeroaJapanOnyama Limba UNQUALIFIED
Munro C ShinkoGermanyOnyama Limba RENEWAL
Salvatore U IturbideFranceIoni Bowcher NEGOTIATION
Arvin C CaudyBrazilIoni Bowcher NEGOTIATION
Wickens W RulapaughGermanyAmy Elsner PROPOSAL
Mujtaba P VocelkaFranceBernardo Dominic QUALIFIED
Faith M MaletBrazilStephen Shaw NEGOTIATION
Munro A RulapaughJapanStephen Shaw QUALIFIED
Arvin R FerenczItalyAnna Fali PROPOSAL
Sinclair W MaletFranceElwin Sharvill NEGOTIATION
Darci F PaprockiGermanyOnyama Limba NEW
Aika K GlickIndiaAmy Elsner PROPOSAL
Morrow U RoysterBrazilElwin Sharvill NEW
Aditya U OstroskyArgentinaAnna Fali PROPOSAL
Alejandro T RutaAustraliaOnyama Limba PROPOSAL
Faith B MarrierGermanyStephen Shaw PROPOSAL
Antonio V FerenczRussiaIoni Bowcher RENEWAL
Francesco H WaycottFranceElwin Sharvill RENEWAL
Frozen Columns
Name
Aika K Maclead
Aika L Foller
Jennifer Q Darakjy
Rodrigues W Venere
Aika S Garufi
Salvatore S Waycott
Antonio P Nicka
Arvin E Nicka
Jeanfrancois H Caldarera
Tony T Foller
Juan X Tollner
Emily Q Butt
Julie Q Gillian
Izzy Q Ruta
Ricardo I Gillian
Munro Q Rim
Juan G Shinko
Julie C Venere
Sinclair B Saylors
Aditya V Butt
Wickens Y Rulapaugh
Antonio J Campain
Ricardo Z Nestle
Stacey C Caldarera
James M Briddick
Jones F Ferencz
Misaki Y Bowley
Smith V Butt
Ashley N Royster
Chavez N Caldarera
Juan V Slusarski
Jones W Ostrosky
Costa G Slusarski
Julie M Stenseth
Clifford U Sergi
Jefferson N Darakjy
Cody C Kolmetz
Misaki U Kolmetz
Murillo F Kusko
Maria S Malet
Alejandro Z Nicka
Jones I Saylors
Adams E Albares
Cody B Butt
Greenwood D Iturbide
Tony W Butt
Wickens C Royster
Kadeem O Sergi
Chavez T Caudy
Izzy C Bowley
IdCountryDate
1000Australia2026-07-11
1001Spain2026-07-09
1002Australia2026-07-10
1003Spain2026-07-06
1004Spain2026-07-15
1005Spain2026-07-20
1006Argentina2026-07-16
1007Japan2026-07-11
1008Italy2026-07-15
1009Germany2026-07-18
1010Spain2026-07-13
1011Germany2026-06-27
1012Italy2026-07-10
1013Argentina2026-07-07
1014United Kingdom2026-07-02
1015Russia2026-07-03
1016Australia2026-07-16
1017Australia2026-07-03
1018India2026-06-29
1019United Kingdom2026-07-02
1020Argentina2026-07-21
1021Russia2026-07-12
1022Japan2026-07-10
1023Spain2026-07-03
1024Italy2026-07-04
1025Australia2026-07-25
1026Japan2026-07-19
1027Japan2026-07-01
1028Brazil2026-07-20
1029Germany2026-07-17
1030Russia2026-07-08
1031Japan2026-07-14
1032Canada2026-07-21
1033United Kingdom2026-07-15
1034Japan2026-07-14
1035Canada2026-07-24
1036Germany2026-07-09
1037Canada2026-07-25
1038Japan2026-07-03
1039Japan2026-07-17
1040France2026-07-09
1041Argentina2026-07-18
1042Australia2026-07-19
1043Argentina2026-07-24
1044Argentina2026-07-08
1045Canada2026-07-01
1046France2026-07-20
1047India2026-07-02
1048Germany2026-06-28
1049Russia2026-07-25

On-Demand Data

NameIdCountryDate
Leja J Iturbide1000Germany2026-07-09
Alejandro I Ruta1001Italy2026-07-21
Smith V Stenseth1002Germany2026-07-01
Greenwood H Slusarski1003India2026-07-03
Clifford Q Whobrey1004Australia2026-07-07
Greenwood R Ostrosky1005Spain2026-07-03
Leja N Bolognia1006Germany2026-07-10
Misaki X Briddick1007Canada2026-06-27
Emily Y Dilliard1008Canada2026-07-02
Emily Z Vocelka1009Canada2026-07-11
Alejandro K Paprocki1010Brazil2026-07-17
Jefferson D Vocelka1011Italy2026-07-07
Arvin W Morasca1012Australia2026-07-14
Jefferson U Campain1013Australia2026-07-13
Arvin R Stockham1014Argentina2026-07-11
Silvio V Flosi1015Japan2026-07-15
Tony D Ostrosky1016Brazil2026-07-17
James Q Inouye1017United Kingdom2026-06-27
Wickens H Figeroa1018Japan2026-07-22
Ricardo F Caldarera1019Argentina2026-07-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel Z WieserIndiaIvan Magalhaes NEGOTIATION
Jefferson R VenereSpainAnna Fali NEGOTIATION
Clifford S GarufiBrazilAnna Fali PROPOSAL
Juan U MacleadFranceIoni Bowcher NEGOTIATION
Mujtaba G ChuiJapanXuxue Feng QUALIFIED
Aruna T SergiIndiaAmy Elsner QUALIFIED
Johnson J BologniaCanadaAnna Fali RENEWAL
Claire O FollerFranceAsiya Javayant QUALIFIED
Jefferson N InouyeArgentinaAnna Fali RENEWAL
Antonio E SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Claire A StockhamIndiaAsiya Javayant UNQUALIFIED
Salvatore O TollnerRussiaIoni Bowcher UNQUALIFIED
Mujtaba P VenereItalyBernardo Dominic NEW
Misaki F OstroskyFranceAsiya Javayant NEGOTIATION
Nicolas U SergiGermanyIoni Bowcher PROPOSAL
Aditya V PerinUnited KingdomXuxue Feng NEW
Leja X IturbideFranceAsiya Javayant PROPOSAL
Murillo L RulapaughBrazilIoni Bowcher QUALIFIED
Kadeem Z FigeroaFranceAnna Fali PROPOSAL
Mayumi B DoeUnited KingdomBernardo Dominic NEGOTIATION
Clifford T DilliardSpainElwin Sharvill RENEWAL
Francesco R SchemmerArgentinaBernardo Dominic NEGOTIATION
Chavez Z AmigonAustraliaAmy Elsner PROPOSAL
Maria V GlickFranceXuxue Feng QUALIFIED
Costa U KolmetzItalyXuxue Feng QUALIFIED
Kadeem H NickaFranceElwin Sharvill UNQUALIFIED
Sinclair Q MorascaCanadaIoni Bowcher RENEWAL
Wickens U FigeroaFranceIvan Magalhaes QUALIFIED
Emily P MorascaAustraliaIoni Bowcher UNQUALIFIED
Isabel A PoquetteBrazilAnna Fali UNQUALIFIED
Leja W GauchoBrazilAnna Fali RENEWAL
Jennifer O StockhamItalyBernardo Dominic PROPOSAL
Maria D MaletFranceIoni Bowcher UNQUALIFIED
Ivar O MarrierGermanyAsiya Javayant QUALIFIED
Octavia X ShinkoJapanXuxue Feng UNQUALIFIED
Kaitlin V DoeSpainAnna Fali RENEWAL
Ashley D SaylorsItalyAnna Fali PROPOSAL
Antonio W BologniaIndiaXuxue Feng RENEWAL
Alejandro P VenereFranceXuxue Feng QUALIFIED
Rodrigues O BologniaJapanOnyama Limba NEW

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