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
Arvin A IturbideGermanyIvan Magalhaes QUALIFIED
Faith F NickaArgentinaXuxue Feng NEGOTIATION
Stacey G NestleRussiaAnna Fali PROPOSAL
Munro R GauchoItalyElwin Sharvill NEGOTIATION
Leja D GauchoIndiaAsiya Javayant NEW
Rodrigues F WaycottFranceElwin Sharvill UNQUALIFIED
Izzy M FerenczJapanElwin Sharvill UNQUALIFIED
Johnson O PoquetteIndiaBernardo Dominic UNQUALIFIED
Sinclair O FigeroaSpainOnyama Limba RENEWAL
Jeanfrancois T WieserCanadaXuxue Feng PROPOSAL
Juan Y WieserRussiaIoni Bowcher PROPOSAL
Claire N FerenczSpainOnyama Limba RENEWAL
Stacey K RimAustraliaAsiya Javayant NEW
Rodrigues C WieserBrazilBernardo Dominic UNQUALIFIED
Claire C SlusarskiArgentinaIvan Magalhaes RENEWAL
Ricardo M GauchoBrazilIoni Bowcher QUALIFIED
Octavia H CampainGermanyIoni Bowcher NEW
Deepesh C InouyeGermanyBernardo Dominic PROPOSAL
Julie T SaylorsItalyElwin Sharvill QUALIFIED
Maisha S BologniaAustraliaStephen Shaw UNQUALIFIED
Ashley J VocelkaAustraliaAmy Elsner PROPOSAL
Maisha G StensethAustraliaBernardo Dominic NEGOTIATION
David U PaprockiCanadaIoni Bowcher PROPOSAL
Munro S VenereUnited KingdomAsiya Javayant NEGOTIATION
Mujtaba S InouyeBrazilElwin Sharvill NEW
James P RulapaughJapanStephen Shaw QUALIFIED
Morrow R NickaAustraliaElwin Sharvill RENEWAL
Deepesh S MaletCanadaIvan Magalhaes UNQUALIFIED
Ivar B MarrierAustraliaXuxue Feng NEGOTIATION
Greenwood G MorascaGermanyIvan Magalhaes QUALIFIED
Maisha C NestleBrazilAnna Fali QUALIFIED
Mujtaba Y FerenczUnited KingdomBernardo Dominic NEW
Munro G SchemmerCanadaIvan Magalhaes UNQUALIFIED
Leja Q AmigonSpainAsiya Javayant NEGOTIATION
Francesco A KolmetzRussiaAnna Fali QUALIFIED
Kaitlin Q TollnerGermanyOnyama Limba NEGOTIATION
David T RulapaughArgentinaAnna Fali QUALIFIED
Darci S MarrierCanadaIvan Magalhaes RENEWAL
Ashley N NickaUnited KingdomAmy Elsner RENEWAL
Jeanfrancois I KuskoJapanBernardo Dominic QUALIFIED
James E VenereGermanyOnyama Limba QUALIFIED
Costa X ChuiBrazilAsiya Javayant QUALIFIED
Morrow A GarufiGermanyOnyama Limba NEGOTIATION
Rodrigues L MorascaCanadaAsiya Javayant RENEWAL
Ricardo D ButtJapanIoni Bowcher QUALIFIED
Rodrigues I OldroydFranceOnyama Limba PROPOSAL
Leja J BriddickRussiaAsiya Javayant UNQUALIFIED
Tony A WhobreyIndiaXuxue Feng QUALIFIED
Mujtaba P WhobreyItalyAnna Fali UNQUALIFIED
Mayumi K RoysterIndiaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Tony N DoeUnited KingdomAmy Elsner NEGOTIATION
Salvatore W IturbideJapanBernardo Dominic QUALIFIED
Aruna K TollnerArgentinaAnna Fali NEGOTIATION
Rodrigues A MorascaUnited KingdomXuxue Feng RENEWAL
Smith I FlosiIndiaIvan Magalhaes NEW
Silvio S SaylorsUnited KingdomStephen Shaw NEGOTIATION
Adams M PaprockiAustraliaBernardo Dominic NEGOTIATION
Maria R NestleItalyIvan Magalhaes NEW
Faith Q CaudyJapanAmy Elsner UNQUALIFIED
Faith B StensethCanadaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh R NestleUnited Kingdom2024-06-03Truhlar And Truhlar Attys UNQUALIFIED88Asiya Javayant
1001Aruna B BologniaAustralia2024-05-26Feltz Printing Service NEW63Bernardo Dominic
1002Claire X SergiAustralia2024-06-06Chemel, James L Cpa RENEWAL76Anna Fali
1003Morrow M WieserCanada2024-05-24Commercial Press RENEWAL81Onyama Limba
1004Costa H GauchoSpain2024-05-30Benton, John B Jr PROPOSAL46Bernardo Dominic
1005Leon F WhobreyCanada2024-05-24Rousseaux, Michael Esq NEW13Onyama Limba
1006Adams W IturbideIndia2024-06-12Printing Dimensions QUALIFIED90Anna Fali
1007Kadeem U AlbaresBrazil2024-05-26Commercial Press RENEWAL42Ioni Bowcher
1008Chavez A FlosiRussia2024-06-10Buckley Miller Wright RENEWAL79Xuxue Feng
1009Tony O VocelkaCanada2024-06-03Morlong Associates QUALIFIED8Amy Elsner
1010Faith D StensethBrazil2024-05-29Commercial Press PROPOSAL60Asiya Javayant
1011Murillo C VenereCanada2024-05-25Truhlar And Truhlar Attys RENEWAL79Amy Elsner
1012Silvio L CaudyFrance2024-05-25Morlong Associates NEGOTIATION42Elwin Sharvill
1013Silvio D KolmetzIndia2024-05-31Feltz Printing Service NEW10Anna Fali
1014Jennifer W TollnerCanada2024-06-06Printing Dimensions NEGOTIATION60Anna Fali
1015David G FollerSpain2024-06-14Rousseaux, Michael Esq QUALIFIED95Elwin Sharvill
1016Deepesh I FigeroaGermany2024-05-27Truhlar And Truhlar Attys RENEWAL52Bernardo Dominic
1017Jones U MarrierFrance2024-06-18Rousseaux, Michael Esq QUALIFIED67Asiya Javayant
1018Darci H BriddickSpain2024-06-02Rousseaux, Michael Esq NEW33Bernardo Dominic
1019Murillo M GauchoCanada2024-06-09Dorl, James J Esq NEGOTIATION25Onyama Limba
1020Maisha H AlbaresIndia2024-05-29Chanay, Jeffrey A Esq RENEWAL46Amy Elsner
1021Arvin R NickaJapan2024-06-18Morlong Associates NEW98Ioni Bowcher
1022Johnson H IturbideBrazil2024-06-13King, Christopher A Esq QUALIFIED99Ioni Bowcher
1023James O AlbaresItaly2024-06-20King, Christopher A Esq NEW58Ioni Bowcher
1024Jeanfrancois Z MacleadFrance2024-06-14Chapman, Ross E Esq RENEWAL58Xuxue Feng
1025Nicolas D RimRussia2024-06-19King, Christopher A Esq NEW85Asiya Javayant
1026Juan L WhobreyGermany2024-06-18Dorl, James J Esq NEGOTIATION1Ioni Bowcher
1027Arvin L MaletArgentina2024-06-17Morlong Associates UNQUALIFIED8Amy Elsner
1028Maria I TollnerJapan2024-06-10Chapman, Ross E Esq QUALIFIED63Anna Fali
1029Emily S OldroydArgentina2024-06-19Truhlar And Truhlar Attys QUALIFIED50Amy Elsner
1030Francesco M RulapaughIndia2024-06-15Printing Dimensions NEW24Bernardo Dominic
1031Costa J PaprockiRussia2024-06-15Buckley Miller Wright NEGOTIATION61Stephen Shaw
1032Kaitlin R RutaBrazil2024-06-19Buckley Miller Wright PROPOSAL71Xuxue Feng
1033Antonio O BriddickFrance2024-05-27Printing Dimensions RENEWAL91Ioni Bowcher
1034Stacey X StensethCanada2024-05-23Dorl, James J Esq QUALIFIED53Ioni Bowcher
1035Claire G DoeCanada2024-06-15Dorl, James J Esq NEGOTIATION98Asiya Javayant
1036Nicolas N KuskoSpain2024-06-03Rangoni Of Florence PROPOSAL52Ivan Magalhaes
1037Julie P ButtBrazil2024-05-30Chemel, James L Cpa QUALIFIED82Ioni Bowcher
1038Leon E WaycottBrazil2024-05-30Commercial Press NEW33Stephen Shaw
1039Leja I ButtBrazil2024-06-16Benton, John B Jr NEGOTIATION86Ioni Bowcher
1040Antonio Q CampainCanada2024-06-10Rangoni Of Florence NEW75Ioni Bowcher
1041Antonio Q CampainJapan2024-06-16Rangoni Of Florence QUALIFIED95Anna Fali
1042Jones Y StockhamJapan2024-05-29Chapman, Ross E Esq UNQUALIFIED42Bernardo Dominic
1043Sinclair A CaudyArgentina2024-06-05Printing Dimensions NEW38Elwin Sharvill
1044Mujtaba A FlosiAustralia2024-06-09Morlong Associates PROPOSAL80Stephen Shaw
1045Emily K OldroydIndia2024-06-13Chanay, Jeffrey A Esq QUALIFIED87Elwin Sharvill
1046Greenwood U VocelkaIndia2024-05-29Chapman, Ross E Esq NEW65Bernardo Dominic
1047Nicolas J SaylorsBrazil2024-06-02Printing Dimensions QUALIFIED12Elwin Sharvill
1048Cody N FollerCanada2024-06-10Chemel, James L Cpa PROPOSAL14Amy Elsner
1049Octavia C StockhamAustralia2024-05-26Morlong Associates PROPOSAL73Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Stacey Z CaldareraItalyAmy Elsner NEW
Ivar N CampainIndiaAmy Elsner RENEWAL
Kaitlin A MorascaArgentinaAnna Fali UNQUALIFIED
Wickens X GillianJapanElwin Sharvill RENEWAL
Leja J BologniaCanadaAsiya Javayant RENEWAL
Adams Y KolmetzGermanyIoni Bowcher NEW
Mayumi M MacleadSpainElwin Sharvill NEW
Claire A MacleadIndiaAnna Fali UNQUALIFIED
Ivar P NestleAustraliaXuxue Feng NEW
Mayumi G TollnerUnited KingdomAsiya Javayant RENEWAL
Mujtaba C OstroskyFranceXuxue Feng UNQUALIFIED
Isabel O PoquetteArgentinaAmy Elsner UNQUALIFIED
Kaitlin Z NestleItalyXuxue Feng QUALIFIED
Clifford T GauchoSpainIvan Magalhaes NEW
Smith D StensethUnited KingdomIoni Bowcher RENEWAL
Stacey U CaudyBrazilAmy Elsner UNQUALIFIED
Jones M SaylorsIndiaXuxue Feng PROPOSAL
Rodrigues V RulapaughGermanyElwin Sharvill NEW
Francesco Y FollerAustraliaOnyama Limba NEGOTIATION
James X KuskoItalyIvan Magalhaes QUALIFIED
Aruna P BologniaItalyXuxue Feng NEGOTIATION
Jeanfrancois K PoquetteItalyIoni Bowcher RENEWAL
Emily B GillianAustraliaXuxue Feng QUALIFIED
Greenwood W VocelkaArgentinaOnyama Limba NEGOTIATION
Francesco I CaldareraJapanXuxue Feng NEW
Jefferson T FigeroaCanadaElwin Sharvill RENEWAL
Nicolas T GillianUnited KingdomAsiya Javayant RENEWAL
Jeanfrancois T OstroskyUnited KingdomOnyama Limba NEW
Greenwood Y ButtRussiaOnyama Limba PROPOSAL
Chavez Y KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood U FerenczBrazilAmy Elsner QUALIFIED
Smith A OldroydJapanAnna Fali QUALIFIED
Adams W VocelkaGermanyAmy Elsner PROPOSAL
Aditya H MaletGermanyIvan Magalhaes PROPOSAL
Ashley G VocelkaUnited KingdomXuxue Feng PROPOSAL
Tony K IturbideIndiaIvan Magalhaes NEGOTIATION
Ricardo T RutaGermanyOnyama Limba NEW
Jones P RutaRussiaAsiya Javayant PROPOSAL
Johnson O GauchoGermanyAmy Elsner NEW
Claire L BologniaIndiaAsiya Javayant QUALIFIED
Tony W BowleyUnited KingdomIoni Bowcher NEW
Kadeem R RutaSpainAmy Elsner UNQUALIFIED
Darci R FlosiBrazilXuxue Feng PROPOSAL
Murillo R MaletCanadaXuxue Feng RENEWAL
Murillo Z NickaSpainXuxue Feng UNQUALIFIED
Mayumi V WaycottItalyBernardo Dominic UNQUALIFIED
Isabel B TollnerAustraliaStephen Shaw RENEWAL
Silvio W BowleyCanadaIvan Magalhaes NEGOTIATION
Ashley D NestleItalyAsiya Javayant NEGOTIATION
David Q StockhamItalyIoni Bowcher PROPOSAL
Frozen Columns
Name
Maisha F Doe
Morrow Q Rulapaugh
Chavez G Perin
Aditya Y Perin
Johnson Y Glick
Murillo S Butt
Morrow S Morasca
Deepesh I Sergi
Darci W Rulapaugh
Smith J Butt
Murillo B Dilliard
Jennifer N Nestle
Claire Q Inouye
Aditya R Kusko
Ashley Y Poquette
Mujtaba W Maclead
Morrow U Nestle
Emily S Figeroa
Adams C Foller
Maisha G Paprocki
Antonio C Morasca
Stacey S Gillian
James R Shinko
Jeanfrancois T Saylors
Deepesh S Oldroyd
Maria O Stockham
Aruna Q Ostrosky
Leon I Ferencz
Costa V Amigon
Tony C Gaucho
Chavez Q Flosi
Nicolas K Kolmetz
Leon I Vocelka
Aruna Q Kusko
Chavez P Tollner
Kaitlin H Rulapaugh
Sinclair T Rim
Adams Z Caldarera
Octavia J Bolognia
Leja M Garufi
Ricardo L Flosi
Deepesh J Ruta
Faith N Paprocki
Wickens I Slusarski
Wickens X Campain
Silvio M Briddick
Ricardo I Figeroa
Costa Z Albares
Silvio B Nestle
Clifford C Amigon
IdCountryDate
1000India2024-05-24
1001India2024-06-08
1002Germany2024-06-14
1003Russia2024-06-14
1004Spain2024-05-23
1005Russia2024-06-20
1006France2024-06-09
1007Russia2024-06-12
1008Russia2024-05-30
1009Canada2024-06-21
1010Russia2024-05-30
1011Australia2024-06-13
1012Brazil2024-06-01
1013Germany2024-06-13
1014Argentina2024-06-09
1015United Kingdom2024-06-19
1016Japan2024-06-21
1017Brazil2024-06-16
1018Australia2024-05-24
1019Germany2024-05-28
1020France2024-06-18
1021Italy2024-05-31
1022Italy2024-05-25
1023Germany2024-05-30
1024France2024-05-30
1025Brazil2024-05-27
1026Argentina2024-06-05
1027Argentina2024-06-04
1028France2024-05-28
1029Japan2024-06-02
1030Italy2024-06-15
1031France2024-06-13
1032Australia2024-05-25
1033India2024-06-05
1034France2024-06-06
1035Brazil2024-06-15
1036Russia2024-06-12
1037India2024-06-12
1038Germany2024-06-20
1039India2024-06-06
1040Spain2024-06-01
1041Australia2024-05-26
1042Italy2024-05-28
1043Germany2024-05-28
1044Spain2024-06-13
1045Japan2024-06-13
1046Spain2024-06-16
1047Germany2024-05-26
1048Japan2024-05-25
1049Russia2024-06-07

On-Demand Data

NameIdCountryDate
Mujtaba Q Marrier1000Canada2024-06-10
Maisha G Foller1001India2024-06-06
Johnson O Kusko1002Australia2024-06-08
Nicolas Y Maclead1003Germany2024-05-31
Morrow O Ostrosky1004Russia2024-05-25
Stacey B Caudy1005Argentina2024-05-27
Alejandro A Bowley1006Argentina2024-05-26
Francesco X Saylors1007Russia2024-06-17
Johnson L Campain1008Argentina2024-06-13
Stacey Z Slusarski1009Argentina2024-06-04
Johnson J Caldarera1010France2024-06-21
Sinclair E Chui1011United Kingdom2024-06-05
Mayumi I Ruta1012Argentina2024-05-23
Johnson Q Perin1013Russia2024-06-16
Maria C Slusarski1014Russia2024-06-08
Jefferson L Kolmetz1015United Kingdom2024-06-07
Maisha N Rulapaugh1016France2024-06-18
Nicolas Y Saylors1017Germany2024-06-18
Maisha O Gillian1018Italy2024-06-11
Kaitlin V Kusko1019Russia2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones T FerenczCanadaAmy Elsner UNQUALIFIED
Alejandro I RutaRussiaOnyama Limba NEW
Stacey Y ShinkoBrazilAnna Fali RENEWAL
Sinclair O IturbideJapanIoni Bowcher UNQUALIFIED
Johnson H AmigonIndiaAmy Elsner QUALIFIED
Costa C SchemmerJapanIoni Bowcher PROPOSAL
Nicolas W ButtBrazilAmy Elsner UNQUALIFIED
Jones B IturbideAustraliaAsiya Javayant NEGOTIATION
Aditya V AmigonAustraliaBernardo Dominic NEGOTIATION
Ashley E StockhamArgentinaIoni Bowcher PROPOSAL
Sinclair M SaylorsAustraliaIvan Magalhaes QUALIFIED
Clifford D PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Silvio M InouyeRussiaXuxue Feng UNQUALIFIED
Emily T SlusarskiUnited KingdomAsiya Javayant NEW
Jeanfrancois W VenereUnited KingdomAnna Fali PROPOSAL
Maisha X PoquetteBrazilAnna Fali NEW
Silvio C PaprockiSpainIoni Bowcher NEGOTIATION
Nicolas I BologniaGermanyElwin Sharvill PROPOSAL
Sinclair B DoeAustraliaAmy Elsner UNQUALIFIED
Nicolas I InouyeUnited KingdomBernardo Dominic NEGOTIATION
Ivar N BriddickCanadaAsiya Javayant NEGOTIATION
Chavez Q BologniaItalyIvan Magalhaes UNQUALIFIED
Alejandro K CaldareraGermanyElwin Sharvill NEW
Sinclair J InouyeSpainStephen Shaw UNQUALIFIED
Ashley K VocelkaSpainAmy Elsner NEGOTIATION
Maisha A StockhamItalyElwin Sharvill RENEWAL
Kadeem K SlusarskiSpainElwin Sharvill NEW
Aditya I WieserFranceOnyama Limba RENEWAL
Costa W InouyeSpainAsiya Javayant NEGOTIATION
Kaitlin S MaletIndiaIoni Bowcher UNQUALIFIED
Juan V FerenczItalyIvan Magalhaes UNQUALIFIED
Francesco H StockhamIndiaOnyama Limba NEW
Smith Q ShinkoUnited KingdomIvan Magalhaes RENEWAL
Sinclair D SaylorsGermanyXuxue Feng RENEWAL
Adams L BriddickJapanIoni Bowcher RENEWAL
Adams T InouyeRussiaAsiya Javayant NEW
Munro G GlickCanadaAmy Elsner RENEWAL
Emily X NestleCanadaIoni Bowcher NEW
Aika Q RulapaughFranceBernardo Dominic QUALIFIED
Ricardo K FigeroaAustraliaIoni Bowcher RENEWAL

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