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
Silvio T SaylorsItalyOnyama Limba NEW
Julie O MarrierJapanIvan Magalhaes NEW
Rodrigues N DilliardFranceAnna Fali NEGOTIATION
Claire R WhobreyArgentinaIoni Bowcher RENEWAL
Julie Q StensethCanadaIvan Magalhaes NEW
Faith E RulapaughSpainXuxue Feng RENEWAL
Jeanfrancois X CaldareraRussiaAmy Elsner QUALIFIED
Antonio Y SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Nicolas M KolmetzSpainIvan Magalhaes UNQUALIFIED
Antonio B MarrierSpainXuxue Feng UNQUALIFIED
Jennifer E WhobreyRussiaAnna Fali QUALIFIED
Misaki O VocelkaArgentinaOnyama Limba NEGOTIATION
Maisha I VocelkaArgentinaOnyama Limba UNQUALIFIED
Claire Q MarrierSpainAsiya Javayant NEGOTIATION
Aruna J GauchoUnited KingdomIoni Bowcher QUALIFIED
Kadeem L CaldareraAustraliaAsiya Javayant UNQUALIFIED
Jefferson L SaylorsItalyIoni Bowcher NEW
Misaki F InouyeUnited KingdomOnyama Limba RENEWAL
Antonio P DarakjyBrazilXuxue Feng PROPOSAL
Tony J MaletSpainAsiya Javayant RENEWAL
Faith M WhobreyArgentinaIoni Bowcher PROPOSAL
Juan F BologniaArgentinaBernardo Dominic NEGOTIATION
Aditya W PaprockiIndiaStephen Shaw QUALIFIED
Johnson M GlickRussiaAsiya Javayant RENEWAL
Johnson I FollerFranceOnyama Limba QUALIFIED
Mujtaba O CampainArgentinaBernardo Dominic PROPOSAL
Kaitlin G RimRussiaXuxue Feng PROPOSAL
Maria O KuskoUnited KingdomAsiya Javayant UNQUALIFIED
Isabel Q MarrierGermanyOnyama Limba PROPOSAL
Ashley R RimFranceAmy Elsner PROPOSAL
Ricardo D FlosiJapanBernardo Dominic QUALIFIED
Octavia X MaletUnited KingdomBernardo Dominic NEGOTIATION
Izzy D CaldareraCanadaOnyama Limba QUALIFIED
Leon A MacleadUnited KingdomAnna Fali UNQUALIFIED
Jefferson X ButtAustraliaOnyama Limba PROPOSAL
Clifford J CaudyArgentinaBernardo Dominic NEW
Stacey N NestleJapanOnyama Limba QUALIFIED
Silvio E GlickArgentinaIvan Magalhaes UNQUALIFIED
Maisha P DoeItalyAsiya Javayant PROPOSAL
Juan B BowleyArgentinaAsiya Javayant QUALIFIED
Leon N BowleyAustraliaOnyama Limba NEGOTIATION
Aditya N MacleadAustraliaAmy Elsner PROPOSAL
Munro B BowleyUnited KingdomOnyama Limba PROPOSAL
Jennifer Q OstroskyIndiaIvan Magalhaes QUALIFIED
Sinclair U BowleyIndiaXuxue Feng UNQUALIFIED
Cody L MaletFranceBernardo Dominic PROPOSAL
Octavia W FlosiBrazilBernardo Dominic NEW
Adams A SchemmerUnited KingdomXuxue Feng NEW
David M SaylorsIndiaIvan Magalhaes QUALIFIED
David I RutaIndiaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Clifford O ChuiFranceAnna Fali UNQUALIFIED
Claire I DoeGermanyOnyama Limba NEGOTIATION
Aruna F OstroskyCanadaIvan Magalhaes UNQUALIFIED
Tony X SaylorsSpainXuxue Feng QUALIFIED
Francesco L TollnerFranceBernardo Dominic NEGOTIATION
Kadeem T GauchoRussiaAsiya Javayant QUALIFIED
Cody V WaycottCanadaAnna Fali RENEWAL
Adams M RoysterFranceAmy Elsner UNQUALIFIED
David X GauchoUnited KingdomStephen Shaw NEW
Tony R GarufiCanadaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro L CampainUnited Kingdom2024-06-22Rangoni Of Florence RENEWAL25Xuxue Feng
1001Deepesh F AmigonRussia2024-06-17Dorl, James J Esq PROPOSAL29Elwin Sharvill
1002Morrow R SchemmerItaly2024-06-14Morlong Associates PROPOSAL92Bernardo Dominic
1003Ivar R IturbideSpain2024-06-08King, Christopher A Esq RENEWAL61Bernardo Dominic
1004Smith F WaycottCanada2024-06-03King, Christopher A Esq PROPOSAL3Xuxue Feng
1005Johnson L BowleyRussia2024-06-01Morlong Associates NEGOTIATION32Elwin Sharvill
1006Sinclair F MaletItaly2024-06-23Benton, John B Jr UNQUALIFIED34Bernardo Dominic
1007Rodrigues X MacleadArgentina2024-06-01Feiner Bros PROPOSAL88Amy Elsner
1008Tony F ShinkoAustralia2024-06-21Chemel, James L Cpa QUALIFIED11Bernardo Dominic
1009Johnson B FlosiAustralia2024-06-04Benton, John B Jr QUALIFIED57Elwin Sharvill
1010Chavez Y AlbaresArgentina2024-05-27Morlong Associates PROPOSAL60Bernardo Dominic
1011Jefferson K MaletCanada2024-06-10Rangoni Of Florence QUALIFIED68Asiya Javayant
1012Murillo X StensethCanada2024-05-28Buckley Miller Wright NEGOTIATION54Ioni Bowcher
1013Johnson M MaletUnited Kingdom2024-05-28Printing Dimensions PROPOSAL4Elwin Sharvill
1014Jefferson N BriddickBrazil2024-06-07Dorl, James J Esq NEW73Anna Fali
1015Mujtaba U KuskoGermany2024-06-02Dorl, James J Esq UNQUALIFIED59Asiya Javayant
1016Murillo G CaudyItaly2024-06-03Feiner Bros UNQUALIFIED24Elwin Sharvill
1017Greenwood S FollerRussia2024-06-02Printing Dimensions NEGOTIATION50Ioni Bowcher
1018Johnson Y SlusarskiRussia2024-06-10Morlong Associates PROPOSAL57Stephen Shaw
1019Maisha P CampainSpain2024-05-27Rousseaux, Michael Esq RENEWAL47Ioni Bowcher
1020Cody J MorascaJapan2024-06-06Chanay, Jeffrey A Esq NEW77Anna Fali
1021Aditya C VenereFrance2024-06-07Truhlar And Truhlar Attys PROPOSAL3Anna Fali
1022Stacey A AmigonRussia2024-06-01Dorl, James J Esq NEW95Asiya Javayant
1023Silvio Z SergiGermany2024-06-02Truhlar And Truhlar Attys QUALIFIED74Amy Elsner
1024Aditya H DilliardBrazil2024-06-14Buckley Miller Wright NEW28Asiya Javayant
1025Octavia P StensethArgentina2024-06-14Dorl, James J Esq NEW22Amy Elsner
1026Rodrigues W FlosiUnited Kingdom2024-05-27Rangoni Of Florence RENEWAL52Stephen Shaw
1027Deepesh F FigeroaJapan2024-05-30Chanay, Jeffrey A Esq RENEWAL79Bernardo Dominic
1028Isabel W PaprockiUnited Kingdom2024-06-14Buckley Miller Wright NEW88Amy Elsner
1029Arvin C RulapaughSpain2024-05-27Benton, John B Jr UNQUALIFIED72Elwin Sharvill
1030Octavia G MacleadAustralia2024-05-25Chapman, Ross E Esq NEW5Ivan Magalhaes
1031Juan J FollerRussia2024-06-18Feltz Printing Service NEGOTIATION8Bernardo Dominic
1032Costa R IturbideUnited Kingdom2024-05-31Chapman, Ross E Esq PROPOSAL8Ivan Magalhaes
1033Jennifer W RutaFrance2024-06-11Rousseaux, Michael Esq RENEWAL0Ivan Magalhaes
1034Darci Q MaletUnited Kingdom2024-06-11Feltz Printing Service NEW34Onyama Limba
1035Ricardo F NickaIndia2024-05-27Rousseaux, Michael Esq QUALIFIED11Elwin Sharvill
1036Wickens F MaletArgentina2024-06-15Dorl, James J Esq NEGOTIATION90Ioni Bowcher
1037Izzy X CaudyAustralia2024-06-08King, Christopher A Esq PROPOSAL61Elwin Sharvill
1038Maria T DoeArgentina2024-06-19Chanay, Jeffrey A Esq NEW76Asiya Javayant
1039Julie B BowleyRussia2024-06-11Morlong Associates QUALIFIED70Elwin Sharvill
1040Isabel G TollnerRussia2024-05-27Printing Dimensions NEW41Asiya Javayant
1041Leja F VenereSpain2024-06-20King, Christopher A Esq RENEWAL28Anna Fali
1042Misaki R SlusarskiCanada2024-06-23Chemel, James L Cpa PROPOSAL43Onyama Limba
1043Aruna X RulapaughGermany2024-06-11Dorl, James J Esq PROPOSAL38Onyama Limba
1044David W ButtIndia2024-05-29Chanay, Jeffrey A Esq RENEWAL64Ivan Magalhaes
1045Maisha E MorascaItaly2024-06-18Chemel, James L Cpa NEW93Xuxue Feng
1046Sinclair U SergiAustralia2024-06-18Dorl, James J Esq NEGOTIATION46Asiya Javayant
1047Rodrigues A GarufiIndia2024-05-27Feltz Printing Service UNQUALIFIED73Asiya Javayant
1048Kaitlin C WhobreyUnited Kingdom2024-06-10Rangoni Of Florence UNQUALIFIED55Stephen Shaw
1049Octavia X NickaFrance2024-06-02Feiner Bros PROPOSAL89Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Emily X ChuiJapanIvan Magalhaes NEGOTIATION
Claire H BriddickBrazilIvan Magalhaes RENEWAL
Emily U SchemmerIndiaAnna Fali QUALIFIED
Morrow D StensethJapanElwin Sharvill QUALIFIED
Mayumi G AmigonGermanyBernardo Dominic RENEWAL
Leja D KolmetzFranceOnyama Limba UNQUALIFIED
Leja S CaudyCanadaStephen Shaw PROPOSAL
Greenwood J RulapaughCanadaOnyama Limba RENEWAL
Misaki G VocelkaCanadaStephen Shaw NEGOTIATION
Aruna D MacleadAustraliaAmy Elsner QUALIFIED
Maisha P GauchoAustraliaStephen Shaw RENEWAL
Octavia L NickaArgentinaAmy Elsner UNQUALIFIED
Darci E BriddickIndiaAsiya Javayant NEGOTIATION
Darci X InouyeAustraliaAnna Fali NEGOTIATION
Nicolas Y ShinkoBrazilOnyama Limba NEW
Leon X MorascaSpainStephen Shaw NEW
Jennifer V MaletArgentinaBernardo Dominic QUALIFIED
Salvatore S ChuiRussiaIoni Bowcher UNQUALIFIED
Leon C PoquetteGermanyXuxue Feng RENEWAL
Francesco C WieserFranceAnna Fali QUALIFIED
Leon O StockhamUnited KingdomOnyama Limba RENEWAL
Juan T SlusarskiIndiaAmy Elsner UNQUALIFIED
Faith Q VenereAustraliaIoni Bowcher PROPOSAL
David S KolmetzAustraliaIoni Bowcher NEW
Johnson A InouyeRussiaStephen Shaw QUALIFIED
Emily H RutaFranceAnna Fali NEW
Aruna T StockhamCanadaElwin Sharvill UNQUALIFIED
Adams V MaletIndiaElwin Sharvill NEGOTIATION
Isabel M MacleadIndiaAmy Elsner NEW
Jefferson G RutaItalyAmy Elsner NEGOTIATION
Jennifer Z VocelkaAustraliaXuxue Feng UNQUALIFIED
Leja F GlickFranceStephen Shaw NEW
Alejandro Z CampainArgentinaOnyama Limba NEGOTIATION
Smith T InouyeItalyIoni Bowcher PROPOSAL
Maisha I GauchoItalyAsiya Javayant UNQUALIFIED
Aika W AlbaresBrazilAsiya Javayant PROPOSAL
Izzy A SaylorsCanadaAmy Elsner RENEWAL
Julie O OldroydJapanElwin Sharvill PROPOSAL
Jennifer U KuskoItalyOnyama Limba PROPOSAL
Leja A GlickBrazilOnyama Limba NEGOTIATION
Deepesh G VenereRussiaIoni Bowcher NEGOTIATION
Claire G GillianCanadaAmy Elsner NEW
Isabel Y MorascaArgentinaBernardo Dominic NEGOTIATION
Aika B GlickUnited KingdomBernardo Dominic NEW
Adams A MorascaArgentinaIvan Magalhaes NEW
Maisha W CampainUnited KingdomStephen Shaw UNQUALIFIED
Kadeem C TollnerBrazilElwin Sharvill QUALIFIED
Munro N AlbaresRussiaXuxue Feng PROPOSAL
Deepesh K GauchoUnited KingdomXuxue Feng PROPOSAL
Maria S MorascaFranceXuxue Feng PROPOSAL
Frozen Columns
Name
Arvin C Malet
Aditya A Briddick
Cody B Whobrey
Ivar O Glick
Antonio V Paprocki
Kadeem X Ruta
Deepesh R Slusarski
Octavia U Vocelka
Jones A Figeroa
Isabel C Nicka
Octavia G Nicka
Costa U Wieser
Kadeem F Gaucho
Costa T Glick
Claire B Morasca
Wickens R Stockham
Aditya V Poquette
Faith Q Maclead
Johnson P Vocelka
Mujtaba B Caudy
Ashley C Butt
Sinclair W Caldarera
Ivar T Maclead
Smith S Kusko
Faith M Marrier
Maria C Flosi
Silvio B Slusarski
James K Albares
Francesco I Royster
Mayumi G Dilliard
Julie Z Malet
Jones K Nicka
Sinclair L Nicka
Misaki R Kolmetz
Aditya T Chui
Stacey A Foller
Smith X Ferencz
Greenwood N Rulapaugh
Arvin N Caldarera
Kaitlin J Rulapaugh
Aditya E Glick
Munro I Vocelka
Ashley W Inouye
Leon I Shinko
Clifford P Stockham
Alejandro C Butt
Silvio W Amigon
Ricardo E Tollner
Jeanfrancois S Garufi
Jones A Glick
IdCountryDate
1000Japan2024-06-02
1001Spain2024-06-21
1002Russia2024-06-16
1003Italy2024-05-30
1004India2024-06-15
1005Canada2024-06-02
1006Russia2024-06-11
1007Russia2024-06-16
1008Spain2024-05-28
1009Argentina2024-06-18
1010Argentina2024-06-12
1011Japan2024-06-23
1012United Kingdom2024-06-10
1013Japan2024-06-17
1014Brazil2024-06-15
1015United Kingdom2024-05-25
1016Argentina2024-05-30
1017India2024-05-28
1018United Kingdom2024-06-02
1019United Kingdom2024-06-16
1020France2024-06-22
1021Brazil2024-06-03
1022Canada2024-06-12
1023India2024-06-20
1024Russia2024-05-26
1025France2024-05-27
1026France2024-05-30
1027Japan2024-05-29
1028Germany2024-06-13
1029Spain2024-06-13
1030Canada2024-05-29
1031Russia2024-05-31
1032India2024-06-12
1033Argentina2024-06-16
1034India2024-06-05
1035Spain2024-06-13
1036Russia2024-06-20
1037France2024-05-25
1038Canada2024-05-29
1039Argentina2024-06-22
1040Spain2024-05-31
1041Italy2024-06-02
1042Spain2024-06-23
1043Germany2024-06-10
1044France2024-06-21
1045Spain2024-06-21
1046Australia2024-06-01
1047Argentina2024-06-03
1048Japan2024-06-19
1049Argentina2024-06-05

On-Demand Data

NameIdCountryDate
Deepesh K Glick1000Germany2024-06-18
Wickens B Campain1001Australia2024-05-29
Izzy B Waycott1002Japan2024-05-25
Francesco M Ruta1003Italy2024-06-07
Leon U Saylors1004Russia2024-06-04
Aika H Darakjy1005India2024-06-20
James K Slusarski1006Russia2024-06-08
Leon A Garufi1007United Kingdom2024-06-14
Jeanfrancois T Garufi1008Canada2024-06-10
Morrow A Rulapaugh1009United Kingdom2024-05-26
Smith U Glick1010Spain2024-06-04
Julie F Vocelka1011France2024-06-17
Misaki K Gaucho1012United Kingdom2024-06-07
Claire U Vocelka1013Argentina2024-06-01
Stacey U Inouye1014Canada2024-05-30
Faith M Venere1015France2024-06-06
Maisha W Nestle1016United Kingdom2024-06-08
James D Maclead1017Spain2024-06-09
Ricardo O Nestle1018Canada2024-06-17
Julie D Morasca1019Italy2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon R FerenczRussiaAsiya Javayant RENEWAL
Deepesh H RutaRussiaElwin Sharvill NEW
Tony O FigeroaItalyAsiya Javayant RENEWAL
Aika Z SaylorsAustraliaIoni Bowcher NEW
Johnson I RoysterSpainElwin Sharvill QUALIFIED
Maria J DoeRussiaOnyama Limba NEW
Octavia I MaletUnited KingdomAmy Elsner UNQUALIFIED
Morrow Q FlosiItalyOnyama Limba NEGOTIATION
Murillo V ShinkoIndiaAmy Elsner QUALIFIED
Claire O AlbaresArgentinaOnyama Limba RENEWAL
Izzy M AlbaresUnited KingdomOnyama Limba NEW
Stacey Y PoquetteSpainIvan Magalhaes UNQUALIFIED
Nicolas S RimCanadaAmy Elsner RENEWAL
Salvatore Q SlusarskiItalyXuxue Feng NEGOTIATION
Ivar R CaudyFranceAmy Elsner UNQUALIFIED
Maria G GillianItalyAsiya Javayant NEW
Maisha W MarrierRussiaOnyama Limba RENEWAL
Salvatore V OldroydGermanyXuxue Feng NEGOTIATION
Salvatore V PoquetteItalyXuxue Feng QUALIFIED
Wickens L KolmetzBrazilAsiya Javayant QUALIFIED
Munro Y InouyeCanadaStephen Shaw UNQUALIFIED
Juan B MarrierBrazilElwin Sharvill QUALIFIED
Arvin N NickaBrazilXuxue Feng PROPOSAL
Stacey E RutaItalyStephen Shaw NEW
Isabel V MarrierCanadaOnyama Limba NEGOTIATION
Darci O GillianBrazilIvan Magalhaes NEGOTIATION
Misaki Q DarakjyIndiaOnyama Limba UNQUALIFIED
Misaki P MorascaFranceOnyama Limba RENEWAL
Sinclair H SaylorsJapanOnyama Limba NEW
Jeanfrancois A CampainFranceStephen Shaw NEGOTIATION
Octavia Z BriddickArgentinaElwin Sharvill RENEWAL
Jeanfrancois G OldroydCanadaAmy Elsner UNQUALIFIED
Rodrigues C IturbideItalyAsiya Javayant PROPOSAL
Misaki Z CaudyIndiaAmy Elsner UNQUALIFIED
Arvin T FerenczArgentinaXuxue Feng NEW
Antonio K NestleRussiaElwin Sharvill NEW
Juan D FollerJapanAnna Fali RENEWAL
Aditya U PoquetteIndiaIvan Magalhaes NEGOTIATION
Deepesh G DarakjyItalyAmy Elsner UNQUALIFIED
Jennifer Q NickaCanadaIvan Magalhaes 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>