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
Aruna W SaylorsArgentinaIvan Magalhaes NEW
Jefferson O BriddickBrazilOnyama Limba PROPOSAL
Leon L SaylorsRussiaXuxue Feng NEGOTIATION
Mayumi T FerenczUnited KingdomBernardo Dominic PROPOSAL
Costa Z PaprockiRussiaAnna Fali PROPOSAL
Smith N InouyeUnited KingdomBernardo Dominic QUALIFIED
Morrow Q CampainSpainAmy Elsner UNQUALIFIED
Nicolas T BriddickSpainXuxue Feng QUALIFIED
Ivar P SaylorsCanadaAmy Elsner NEGOTIATION
Greenwood Y FlosiGermanyIvan Magalhaes UNQUALIFIED
Claire A RoysterBrazilElwin Sharvill NEW
Murillo D GarufiArgentinaIoni Bowcher RENEWAL
Aika P VenereSpainAnna Fali UNQUALIFIED
Munro H BowleyBrazilIvan Magalhaes UNQUALIFIED
Rodrigues Z RulapaughIndiaAsiya Javayant NEW
Aditya I MaletItalyOnyama Limba RENEWAL
Emily O FlosiJapanBernardo Dominic NEW
Sinclair H DilliardFranceStephen Shaw UNQUALIFIED
Darci X RimUnited KingdomBernardo Dominic NEW
Maria W AmigonSpainIoni Bowcher PROPOSAL
Cody I CampainItalyIoni Bowcher UNQUALIFIED
Misaki Y SaylorsItalyStephen Shaw UNQUALIFIED
Francesco G InouyeCanadaIoni Bowcher NEGOTIATION
Alejandro Y FigeroaUnited KingdomStephen Shaw QUALIFIED
Arvin T FollerSpainIoni Bowcher NEGOTIATION
Deepesh S ButtJapanAmy Elsner QUALIFIED
David M ChuiRussiaXuxue Feng PROPOSAL
Kadeem E CampainRussiaOnyama Limba UNQUALIFIED
Sinclair U BriddickBrazilAmy Elsner NEGOTIATION
Misaki P DarakjySpainIoni Bowcher PROPOSAL
Jones D SergiUnited KingdomAsiya Javayant NEW
Juan A VenereRussiaXuxue Feng NEW
Aditya U DoeSpainXuxue Feng NEGOTIATION
Leon P RoysterGermanyOnyama Limba NEGOTIATION
Arvin U StensethCanadaElwin Sharvill NEW
Sinclair G MarrierSpainStephen Shaw UNQUALIFIED
Jennifer F PerinArgentinaStephen Shaw NEW
Ivar M IturbideSpainOnyama Limba NEGOTIATION
Johnson G FerenczArgentinaAmy Elsner QUALIFIED
Antonio U IturbideIndiaStephen Shaw RENEWAL
Aditya L NestleCanadaElwin Sharvill NEW
Murillo H GlickUnited KingdomXuxue Feng NEW
Tony R GauchoUnited KingdomAnna Fali QUALIFIED
Aruna N MacleadCanadaStephen Shaw NEW
Ivar U PerinBrazilAnna Fali QUALIFIED
Ivar D ChuiSpainAnna Fali NEGOTIATION
Deepesh A RimArgentinaElwin Sharvill QUALIFIED
Smith X WaycottGermanyAmy Elsner RENEWAL
David E VocelkaUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh S SchemmerJapanElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams D MaletBrazilXuxue Feng NEW
Aruna T SchemmerUnited KingdomAnna Fali QUALIFIED
Munro I WieserBrazilElwin Sharvill UNQUALIFIED
Jeanfrancois G BriddickAustraliaIoni Bowcher UNQUALIFIED
Greenwood N SchemmerGermanyAmy Elsner RENEWAL
Nicolas G OstroskySpainBernardo Dominic RENEWAL
Deepesh Q DilliardGermanyBernardo Dominic PROPOSAL
James K PerinAustraliaOnyama Limba NEW
Julie W ChuiArgentinaAnna Fali NEW
Adams E GauchoFranceAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja G OldroydFrance2024-06-22Chapman, Ross E Esq NEW5Anna Fali
1001Kadeem G DarakjyGermany2024-06-19Feltz Printing Service NEW51Onyama Limba
1002Isabel G BowleySpain2024-05-25Morlong Associates PROPOSAL6Xuxue Feng
1003Antonio T TollnerIndia2024-06-05Rousseaux, Michael Esq QUALIFIED29Ioni Bowcher
1004Nicolas L StockhamRussia2024-06-21Commercial Press NEW7Anna Fali
1005Ivar M RulapaughBrazil2024-06-02Morlong Associates NEGOTIATION11Ioni Bowcher
1006Juan E SchemmerSpain2024-06-10Rangoni Of Florence QUALIFIED46Onyama Limba
1007Silvio A RoysterJapan2024-06-14King, Christopher A Esq PROPOSAL0Ioni Bowcher
1008Salvatore F WieserGermany2024-06-17Rousseaux, Michael Esq NEW11Anna Fali
1009Morrow T TollnerUnited Kingdom2024-06-22Rousseaux, Michael Esq QUALIFIED91Elwin Sharvill
1010Wickens U MaletCanada2024-06-23Morlong Associates QUALIFIED26Stephen Shaw
1011Rodrigues Z StensethRussia2024-06-21Printing Dimensions UNQUALIFIED81Xuxue Feng
1012Izzy I AlbaresItaly2024-06-23Rangoni Of Florence QUALIFIED1Amy Elsner
1013Mujtaba T StensethCanada2024-06-13Dorl, James J Esq NEW52Onyama Limba
1014Ivar B KuskoUnited Kingdom2024-06-02Buckley Miller Wright QUALIFIED74Ioni Bowcher
1015Francesco V RutaItaly2024-06-01Buckley Miller Wright PROPOSAL17Bernardo Dominic
1016Julie I TollnerCanada2024-06-20Buckley Miller Wright NEGOTIATION4Elwin Sharvill
1017Izzy T MorascaAustralia2024-05-31Chemel, James L Cpa QUALIFIED74Amy Elsner
1018Munro E AmigonCanada2024-06-02Dorl, James J Esq NEW93Stephen Shaw
1019Claire G OldroydArgentina2024-06-23Chapman, Ross E Esq UNQUALIFIED16Amy Elsner
1020James Z KuskoJapan2024-06-07Printing Dimensions QUALIFIED84Amy Elsner
1021Jennifer R AmigonSpain2024-06-02Rangoni Of Florence QUALIFIED75Onyama Limba
1022Claire Z OstroskyFrance2024-06-03Morlong Associates PROPOSAL36Ioni Bowcher
1023Antonio Y SaylorsBrazil2024-06-09Rousseaux, Michael Esq UNQUALIFIED60Ioni Bowcher
1024Arvin L ButtArgentina2024-06-15Buckley Miller Wright PROPOSAL40Amy Elsner
1025Julie H FigeroaRussia2024-06-18King, Christopher A Esq NEW82Xuxue Feng
1026Faith G RimSpain2024-06-15Chapman, Ross E Esq RENEWAL0Ivan Magalhaes
1027Isabel H GauchoSpain2024-06-10Buckley Miller Wright RENEWAL57Anna Fali
1028Mayumi W MorascaIndia2024-06-13Buckley Miller Wright NEW55Amy Elsner
1029Octavia K SergiIndia2024-06-13Truhlar And Truhlar Attys PROPOSAL51Elwin Sharvill
1030Maria C TollnerRussia2024-06-21Printing Dimensions NEGOTIATION79Xuxue Feng
1031Aika I DilliardBrazil2024-06-07Truhlar And Truhlar Attys UNQUALIFIED66Xuxue Feng
1032Faith Q WhobreyGermany2024-06-04Chapman, Ross E Esq RENEWAL61Anna Fali
1033Leja Z KolmetzAustralia2024-06-18Feltz Printing Service NEW62Stephen Shaw
1034Julie O CaudyItaly2024-06-10Buckley Miller Wright QUALIFIED58Onyama Limba
1035Izzy D MaletIndia2024-06-07Rousseaux, Michael Esq UNQUALIFIED62Stephen Shaw
1036Isabel X GauchoBrazil2024-06-05Truhlar And Truhlar Attys QUALIFIED36Ioni Bowcher
1037Munro F GlickJapan2024-05-29Commercial Press NEGOTIATION39Xuxue Feng
1038Ricardo H GauchoGermany2024-06-07Printing Dimensions UNQUALIFIED82Stephen Shaw
1039Ashley H DilliardBrazil2024-06-23Commercial Press NEW0Xuxue Feng
1040Johnson H KuskoGermany2024-06-19Buckley Miller Wright UNQUALIFIED51Amy Elsner
1041Ivar E WhobreyIndia2024-05-30Chemel, James L Cpa UNQUALIFIED26Ioni Bowcher
1042Octavia O FigeroaFrance2024-06-06Feiner Bros NEGOTIATION5Amy Elsner
1043James B RutaCanada2024-06-18Chanay, Jeffrey A Esq RENEWAL49Elwin Sharvill
1044Murillo H PaprockiJapan2024-05-27Commercial Press UNQUALIFIED18Xuxue Feng
1045Izzy W CaudyCanada2024-06-14Morlong Associates NEW16Ioni Bowcher
1046Johnson I MaletItaly2024-06-18Feltz Printing Service NEW54Bernardo Dominic
1047Munro O AlbaresArgentina2024-06-22Chapman, Ross E Esq QUALIFIED46Amy Elsner
1048Clifford S MorascaAustralia2024-05-31Feiner Bros NEW90Elwin Sharvill
1049Salvatore O FerenczUnited Kingdom2024-06-18Truhlar And Truhlar Attys UNQUALIFIED93Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow B FerenczFranceElwin Sharvill NEW
Aditya R GauchoGermanyElwin Sharvill PROPOSAL
Antonio T VenereArgentinaBernardo Dominic UNQUALIFIED
Murillo L FerenczBrazilStephen Shaw UNQUALIFIED
Ricardo P MacleadIndiaBernardo Dominic RENEWAL
Morrow V CaldareraRussiaIvan Magalhaes RENEWAL
Adams V DarakjyGermanyStephen Shaw QUALIFIED
Johnson N PoquetteIndiaStephen Shaw NEW
Maisha X MaletGermanyOnyama Limba NEW
Jennifer B DilliardFranceAnna Fali UNQUALIFIED
Faith M OldroydFranceElwin Sharvill PROPOSAL
Misaki X MorascaFranceElwin Sharvill NEW
Cody I GarufiGermanyXuxue Feng NEGOTIATION
Kadeem Z StensethArgentinaXuxue Feng NEGOTIATION
Sinclair W BriddickArgentinaIvan Magalhaes NEW
Jones A FollerUnited KingdomOnyama Limba RENEWAL
Mayumi W FerenczArgentinaAnna Fali RENEWAL
Claire C BowleyArgentinaIvan Magalhaes NEGOTIATION
Francesco X FollerBrazilXuxue Feng NEGOTIATION
Kaitlin Q CampainSpainAsiya Javayant UNQUALIFIED
Kadeem I BologniaGermanyIvan Magalhaes NEGOTIATION
Stacey U WaycottCanadaIoni Bowcher UNQUALIFIED
Morrow L KuskoFranceAsiya Javayant NEGOTIATION
Smith Z SaylorsJapanAsiya Javayant RENEWAL
Rodrigues O SaylorsItalyAsiya Javayant QUALIFIED
Julie O CaldareraArgentinaIoni Bowcher QUALIFIED
Salvatore K RoysterItalyXuxue Feng NEGOTIATION
Izzy X OstroskyCanadaAnna Fali UNQUALIFIED
Arvin V CaldareraAustraliaAmy Elsner NEGOTIATION
Maisha K RimArgentinaIoni Bowcher RENEWAL
Sinclair V MaletSpainBernardo Dominic QUALIFIED
Leja O DilliardIndiaStephen Shaw NEW
Clifford E VocelkaCanadaStephen Shaw NEGOTIATION
Johnson U StensethJapanIoni Bowcher UNQUALIFIED
Kaitlin D MorascaBrazilAsiya Javayant PROPOSAL
Maria F MaletAustraliaOnyama Limba PROPOSAL
Francesco V FerenczArgentinaStephen Shaw PROPOSAL
Cody S AmigonGermanyElwin Sharvill RENEWAL
Nicolas F GillianIndiaAmy Elsner PROPOSAL
Smith D BriddickItalyBernardo Dominic UNQUALIFIED
Stacey E OstroskyCanadaStephen Shaw UNQUALIFIED
Alejandro X StockhamGermanyXuxue Feng UNQUALIFIED
Aika U InouyeItalyIoni Bowcher QUALIFIED
Aditya S SergiBrazilElwin Sharvill RENEWAL
Costa T PaprockiBrazilBernardo Dominic NEGOTIATION
Tony F RimFranceAnna Fali UNQUALIFIED
Jones W FlosiCanadaAsiya Javayant UNQUALIFIED
Antonio S KuskoIndiaXuxue Feng PROPOSAL
Tony Q SchemmerJapanBernardo Dominic NEGOTIATION
Adams P MarrierGermanyElwin Sharvill NEW
Frozen Columns
Name
Maria M Darakjy
Kadeem Z Maclead
Aika I Paprocki
Clifford K Caldarera
Smith O Waycott
Aika P Saylors
Jones C Perin
Aika O Doe
Ashley G Darakjy
Jennifer Y Albares
Isabel F Morasca
Jefferson S Malet
Leon D Briddick
Morrow L Caldarera
Arvin Q Inouye
Jones Y Shinko
Ivar M Bolognia
Salvatore W Gillian
Maria Y Saylors
Rodrigues I Dilliard
Morrow H Caudy
Darci J Marrier
Jennifer R Malet
Octavia H Vocelka
Julie T Caldarera
James V Campain
Munro U Darakjy
Francesco M Gaucho
Kaitlin R Foller
Ivar Z Bolognia
Aika B Darakjy
Aditya G Iturbide
Aditya Y Caldarera
Ricardo Q Ruta
Jones X Ruta
Maisha B Stenseth
Claire H Doe
Ricardo M Vocelka
Salvatore K Caldarera
Faith B Wieser
Adams P Waycott
Juan Q Schemmer
Ivar P Dilliard
Misaki D Sergi
Alejandro X Kolmetz
Mayumi N Waycott
Jeanfrancois T Waycott
James S Dilliard
Murillo I Perin
Julie N Paprocki
IdCountryDate
1000Japan2024-06-07
1001Germany2024-06-19
1002India2024-06-19
1003Russia2024-06-17
1004Canada2024-06-02
1005Australia2024-06-07
1006Japan2024-06-16
1007Germany2024-06-17
1008United Kingdom2024-06-15
1009Germany2024-06-19
1010United Kingdom2024-06-18
1011Russia2024-05-27
1012Argentina2024-06-07
1013Brazil2024-06-20
1014Spain2024-06-08
1015Germany2024-06-21
1016Australia2024-06-11
1017Italy2024-06-22
1018Argentina2024-06-07
1019Australia2024-05-27
1020United Kingdom2024-06-14
1021Argentina2024-05-25
1022Canada2024-06-18
1023United Kingdom2024-05-29
1024Italy2024-06-19
1025Russia2024-06-09
1026Brazil2024-06-22
1027Italy2024-06-09
1028India2024-06-15
1029Brazil2024-06-07
1030Germany2024-06-22
1031Canada2024-06-06
1032Argentina2024-06-11
1033Japan2024-06-22
1034Japan2024-06-03
1035United Kingdom2024-06-01
1036Germany2024-06-09
1037Australia2024-06-08
1038Brazil2024-05-30
1039Russia2024-06-10
1040Spain2024-06-23
1041Japan2024-06-04
1042Brazil2024-05-28
1043Italy2024-06-06
1044Australia2024-05-29
1045Australia2024-06-15
1046Brazil2024-06-22
1047Argentina2024-06-12
1048India2024-06-18
1049Italy2024-06-12

On-Demand Data

NameIdCountryDate
Rodrigues G Ruta1000Japan2024-05-29
Ashley C Iturbide1001Brazil2024-06-04
Wickens F Vocelka1002India2024-06-10
Smith G Campain1003Spain2024-06-19
Leja B Kolmetz1004Spain2024-06-09
Francesco S Sergi1005Italy2024-06-10
Julie A Iturbide1006Australia2024-06-07
Izzy G Campain1007Japan2024-06-13
Munro M Flosi1008Japan2024-06-02
Ricardo Q Iturbide1009United Kingdom2024-06-05
Silvio G Darakjy1010Italy2024-06-16
Greenwood B Iturbide1011Germany2024-06-09
Wickens Y Stockham1012United Kingdom2024-06-15
Clifford P Nicka1013France2024-06-04
Leja F Kusko1014Argentina2024-05-26
Wickens H Darakjy1015United Kingdom2024-06-23
Mujtaba O Ruta1016Canada2024-05-27
Greenwood P Bowley1017Spain2024-06-14
Sinclair I Maclead1018Australia2024-06-11
Emily Y Shinko1019Germany2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel T KuskoCanadaIvan Magalhaes QUALIFIED
Octavia N ShinkoIndiaElwin Sharvill RENEWAL
Misaki L KolmetzSpainAmy Elsner PROPOSAL
Maisha U PoquetteItalyXuxue Feng RENEWAL
Alejandro K MaletBrazilAsiya Javayant NEW
Francesco S VenereRussiaOnyama Limba NEGOTIATION
Aika I MorascaIndiaAsiya Javayant PROPOSAL
Misaki I FlosiSpainAnna Fali UNQUALIFIED
Johnson C AmigonSpainStephen Shaw UNQUALIFIED
Emily S PoquetteIndiaXuxue Feng QUALIFIED
Ricardo F TollnerSpainAmy Elsner QUALIFIED
Claire W FlosiJapanXuxue Feng NEW
Jones R ChuiFranceXuxue Feng UNQUALIFIED
Jefferson T BologniaArgentinaXuxue Feng RENEWAL
Greenwood G MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Aditya O SergiGermanyStephen Shaw RENEWAL
Francesco V CaldareraRussiaAmy Elsner UNQUALIFIED
Wickens I BowleyArgentinaAsiya Javayant NEGOTIATION
Rodrigues D CampainIndiaAmy Elsner UNQUALIFIED
Francesco X GarufiSpainIoni Bowcher UNQUALIFIED
Murillo B BologniaUnited KingdomAnna Fali NEW
Aditya Y CaudyUnited KingdomStephen Shaw NEW
Emily R WaycottFranceAnna Fali NEW
Leon X MorascaGermanyXuxue Feng RENEWAL
Juan U StensethAustraliaXuxue Feng PROPOSAL
Jeanfrancois R AlbaresItalyOnyama Limba QUALIFIED
Leja E CaldareraUnited KingdomIoni Bowcher UNQUALIFIED
Munro O ShinkoItalyBernardo Dominic RENEWAL
Maisha F OldroydGermanyAnna Fali PROPOSAL
Francesco Z DilliardAustraliaAmy Elsner UNQUALIFIED
Emily R PerinCanadaElwin Sharvill PROPOSAL
Mujtaba E FigeroaArgentinaBernardo Dominic PROPOSAL
Isabel E SaylorsUnited KingdomElwin Sharvill PROPOSAL
Leja N WhobreyJapanAnna Fali NEGOTIATION
Aika K GlickIndiaOnyama Limba UNQUALIFIED
Maisha A OstroskySpainOnyama Limba QUALIFIED
Francesco M DoeBrazilXuxue Feng QUALIFIED
Maria L WieserIndiaIvan Magalhaes NEGOTIATION
Morrow I ShinkoSpainOnyama Limba UNQUALIFIED
Misaki F StockhamCanadaIvan Magalhaes 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>