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
Ivar H NickaItalyAnna Fali NEGOTIATION
Octavia F AlbaresIndiaOnyama Limba PROPOSAL
Nicolas O BriddickRussiaStephen Shaw QUALIFIED
Rodrigues I VenereJapanIvan Magalhaes RENEWAL
Darci U SlusarskiGermanyElwin Sharvill PROPOSAL
Leon W VenereIndiaXuxue Feng UNQUALIFIED
Julie N GauchoFranceIvan Magalhaes RENEWAL
Aruna Z StockhamItalyAmy Elsner PROPOSAL
Ivar T CampainBrazilElwin Sharvill QUALIFIED
Ivar S SergiAustraliaOnyama Limba RENEWAL
Tony W GillianFranceAsiya Javayant NEGOTIATION
Mayumi S SlusarskiArgentinaAmy Elsner PROPOSAL
Stacey F FerenczUnited KingdomAnna Fali NEGOTIATION
Costa Q KolmetzUnited KingdomElwin Sharvill PROPOSAL
Aditya Z PoquetteBrazilAsiya Javayant UNQUALIFIED
Octavia T InouyeJapanElwin Sharvill NEGOTIATION
Costa L CaudyJapanOnyama Limba RENEWAL
Ashley I VenereCanadaAmy Elsner PROPOSAL
Chavez Q PerinJapanAmy Elsner UNQUALIFIED
Mujtaba S BologniaCanadaAnna Fali NEW
Adams Q MorascaCanadaIvan Magalhaes UNQUALIFIED
Antonio Z NickaRussiaAsiya Javayant RENEWAL
Sinclair K FollerBrazilElwin Sharvill NEGOTIATION
Jones U ChuiAustraliaIvan Magalhaes NEW
Munro L AlbaresIndiaIoni Bowcher PROPOSAL
Jones B CaudyItalyAsiya Javayant QUALIFIED
Darci G ChuiItalyAnna Fali QUALIFIED
Isabel Z PerinIndiaBernardo Dominic QUALIFIED
Jones C FigeroaItalyIvan Magalhaes PROPOSAL
Rodrigues Z MarrierGermanyOnyama Limba RENEWAL
Clifford M DilliardBrazilXuxue Feng QUALIFIED
Maisha V ShinkoJapanElwin Sharvill RENEWAL
Cody R BologniaBrazilOnyama Limba NEW
Ricardo A WaycottRussiaElwin Sharvill NEGOTIATION
Tony E TollnerArgentinaStephen Shaw QUALIFIED
Deepesh O ChuiUnited KingdomOnyama Limba QUALIFIED
Claire H StockhamItalyStephen Shaw NEW
Francesco T FigeroaBrazilAnna Fali RENEWAL
Leon A SlusarskiItalyStephen Shaw NEGOTIATION
Murillo X PaprockiBrazilBernardo Dominic NEGOTIATION
Clifford D MacleadCanadaStephen Shaw RENEWAL
Ashley F ButtJapanStephen Shaw PROPOSAL
Jefferson Z RimFranceIvan Magalhaes PROPOSAL
Deepesh V StensethCanadaAnna Fali UNQUALIFIED
Mayumi D ShinkoItalyAnna Fali RENEWAL
Cody Z NestleAustraliaAmy Elsner NEGOTIATION
Salvatore G FigeroaIndiaIoni Bowcher UNQUALIFIED
Emily T RoysterRussiaAmy Elsner UNQUALIFIED
James Y VocelkaGermanyXuxue Feng UNQUALIFIED
Ashley I GlickBrazilIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire F WieserCanadaXuxue Feng UNQUALIFIED
Izzy P StensethSpainAmy Elsner UNQUALIFIED
Rodrigues J MaletBrazilOnyama Limba UNQUALIFIED
Mujtaba V DoeItalyAsiya Javayant RENEWAL
Jefferson X ChuiArgentinaBernardo Dominic UNQUALIFIED
Kadeem X AmigonSpainAnna Fali RENEWAL
Misaki Q ChuiRussiaIvan Magalhaes PROPOSAL
Octavia V GarufiFranceAnna Fali NEW
Aruna R PoquetteJapanAsiya Javayant QUALIFIED
Jeanfrancois O NickaItalyIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois Q GillianUnited Kingdom2024-05-29Chapman, Ross E Esq QUALIFIED1Amy Elsner
1001Jones P CaldareraGermany2024-06-05Commercial Press NEW84Anna Fali
1002Nicolas T BologniaIndia2024-05-27Printing Dimensions NEGOTIATION26Bernardo Dominic
1003Mayumi Y TollnerFrance2024-06-17Rangoni Of Florence RENEWAL43Stephen Shaw
1004Misaki T RutaAustralia2024-06-03Chemel, James L Cpa RENEWAL34Ioni Bowcher
1005Maria C ShinkoCanada2024-06-20Feltz Printing Service NEGOTIATION99Amy Elsner
1006Nicolas U CampainBrazil2024-06-11Morlong Associates UNQUALIFIED57Xuxue Feng
1007Jefferson Z IturbideRussia2024-06-24Feiner Bros UNQUALIFIED19Stephen Shaw
1008Faith W MorascaItaly2024-06-11Chemel, James L Cpa QUALIFIED22Stephen Shaw
1009Nicolas Z ShinkoAustralia2024-06-12Rangoni Of Florence PROPOSAL84Onyama Limba
1010Faith E CaudyCanada2024-06-20Feltz Printing Service UNQUALIFIED36Ivan Magalhaes
1011Misaki I DilliardArgentina2024-06-08Dorl, James J Esq PROPOSAL9Anna Fali
1012Wickens G PerinAustralia2024-05-30Feltz Printing Service RENEWAL5Asiya Javayant
1013Jeanfrancois Q MacleadRussia2024-06-24Benton, John B Jr NEGOTIATION85Amy Elsner
1014Jefferson M AlbaresUnited Kingdom2024-06-12Dorl, James J Esq QUALIFIED45Ioni Bowcher
1015Salvatore P GauchoBrazil2024-06-05Feiner Bros UNQUALIFIED1Ioni Bowcher
1016Misaki J NestleAustralia2024-06-11Feiner Bros RENEWAL93Ivan Magalhaes
1017Tony L PaprockiRussia2024-06-07Commercial Press UNQUALIFIED58Asiya Javayant
1018Francesco M SergiIndia2024-06-03Chapman, Ross E Esq RENEWAL66Xuxue Feng
1019Smith V InouyeJapan2024-06-21Truhlar And Truhlar Attys NEGOTIATION21Bernardo Dominic
1020Salvatore U SergiJapan2024-06-01King, Christopher A Esq QUALIFIED78Ivan Magalhaes
1021Julie G AmigonSpain2024-06-05Chapman, Ross E Esq PROPOSAL10Stephen Shaw
1022Emily P VocelkaSpain2024-06-17Chemel, James L Cpa NEGOTIATION60Xuxue Feng
1023Salvatore K OstroskyArgentina2024-06-09King, Christopher A Esq PROPOSAL31Xuxue Feng
1024Emily Q TollnerUnited Kingdom2024-06-09Truhlar And Truhlar Attys UNQUALIFIED79Anna Fali
1025Isabel X RoysterGermany2024-06-11Benton, John B Jr UNQUALIFIED33Onyama Limba
1026Sinclair E MaletArgentina2024-05-28King, Christopher A Esq NEW53Ivan Magalhaes
1027Misaki E MorascaJapan2024-05-29Morlong Associates QUALIFIED47Ioni Bowcher
1028Misaki F InouyeArgentina2024-06-07Commercial Press QUALIFIED56Elwin Sharvill
1029Nicolas C GlickUnited Kingdom2024-05-26Chanay, Jeffrey A Esq RENEWAL39Asiya Javayant
1030Tony E GauchoAustralia2024-06-03Printing Dimensions RENEWAL80Asiya Javayant
1031Smith Q MacleadAustralia2024-06-22Benton, John B Jr RENEWAL93Xuxue Feng
1032Aruna T MarrierSpain2024-06-20Feiner Bros NEW24Anna Fali
1033Nicolas O CampainGermany2024-06-01Commercial Press NEGOTIATION23Ioni Bowcher
1034Jefferson T StensethIndia2024-06-08Feltz Printing Service RENEWAL89Amy Elsner
1035Emily N WieserIndia2024-05-30Dorl, James J Esq QUALIFIED37Bernardo Dominic
1036Kaitlin Q FerenczSpain2024-06-10Commercial Press PROPOSAL15Ioni Bowcher
1037Adams Z RoysterRussia2024-06-14Printing Dimensions UNQUALIFIED82Anna Fali
1038Johnson E IturbideSpain2024-05-30Feltz Printing Service PROPOSAL7Bernardo Dominic
1039Arvin F FlosiCanada2024-06-05Dorl, James J Esq RENEWAL73Anna Fali
1040Antonio W RulapaughCanada2024-06-08King, Christopher A Esq RENEWAL7Bernardo Dominic
1041Stacey P FerenczArgentina2024-05-31Buckley Miller Wright NEGOTIATION18Ioni Bowcher
1042Jeanfrancois D MorascaSpain2024-06-22Dorl, James J Esq NEGOTIATION21Ivan Magalhaes
1043Clifford Y InouyeSpain2024-05-31Truhlar And Truhlar Attys NEGOTIATION20Elwin Sharvill
1044Deepesh V ShinkoArgentina2024-06-06Chemel, James L Cpa PROPOSAL37Stephen Shaw
1045Murillo J NestleSpain2024-05-30Printing Dimensions QUALIFIED78Ivan Magalhaes
1046Stacey A DilliardFrance2024-06-14Rangoni Of Florence RENEWAL41Xuxue Feng
1047Nicolas S NestleFrance2024-06-11Morlong Associates NEGOTIATION85Onyama Limba
1048Emily N AmigonFrance2024-06-09Dorl, James J Esq RENEWAL66Onyama Limba
1049Antonio X OldroydGermany2024-06-21Benton, John B Jr RENEWAL4Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jefferson B MaletCanadaAnna Fali UNQUALIFIED
Sinclair Y CampainUnited KingdomOnyama Limba QUALIFIED
Johnson L MaletSpainStephen Shaw RENEWAL
Julie N ChuiUnited KingdomAmy Elsner RENEWAL
Jones S MarrierAustraliaAsiya Javayant NEGOTIATION
Francesco X IturbideArgentinaXuxue Feng RENEWAL
Jefferson I ShinkoSpainAmy Elsner RENEWAL
Jennifer G InouyeRussiaAmy Elsner NEW
David K NestleAustraliaIoni Bowcher NEGOTIATION
Johnson S DoeSpainBernardo Dominic NEW
Jeanfrancois N BowleyCanadaXuxue Feng NEW
Leja K MacleadUnited KingdomStephen Shaw QUALIFIED
Juan X NickaArgentinaBernardo Dominic RENEWAL
Mujtaba R StockhamIndiaElwin Sharvill QUALIFIED
Clifford I FigeroaCanadaAsiya Javayant NEGOTIATION
Nicolas U KolmetzSpainStephen Shaw NEW
Jones L NestleGermanyAsiya Javayant PROPOSAL
Adams C MaletArgentinaXuxue Feng NEGOTIATION
Jones V RulapaughIndiaElwin Sharvill NEGOTIATION
Leja M ButtAustraliaAsiya Javayant NEGOTIATION
Sinclair C NickaArgentinaAsiya Javayant NEGOTIATION
Smith Y RutaCanadaIoni Bowcher PROPOSAL
Rodrigues W InouyeCanadaAsiya Javayant PROPOSAL
Jones P SaylorsGermanyBernardo Dominic NEW
James I DoeAustraliaStephen Shaw QUALIFIED
Claire T BriddickRussiaBernardo Dominic QUALIFIED
Stacey M SergiIndiaAmy Elsner PROPOSAL
Darci H ChuiBrazilXuxue Feng UNQUALIFIED
Johnson M NickaAustraliaIoni Bowcher PROPOSAL
Clifford K ButtItalyAsiya Javayant QUALIFIED
Isabel U DoeIndiaElwin Sharvill UNQUALIFIED
Izzy J PerinGermanyXuxue Feng RENEWAL
Kaitlin E CaldareraBrazilIoni Bowcher QUALIFIED
Alejandro Q StockhamFranceIoni Bowcher RENEWAL
Octavia C AlbaresSpainIvan Magalhaes RENEWAL
Cody L SaylorsAustraliaXuxue Feng NEW
Ashley Y OstroskyCanadaBernardo Dominic UNQUALIFIED
Silvio L KuskoFranceElwin Sharvill UNQUALIFIED
Jennifer J MacleadRussiaXuxue Feng UNQUALIFIED
Maisha K SaylorsJapanStephen Shaw RENEWAL
Jennifer F BowleyRussiaElwin Sharvill NEGOTIATION
Octavia N FigeroaAustraliaBernardo Dominic NEGOTIATION
Mujtaba A StockhamJapanStephen Shaw RENEWAL
Emily V OstroskyCanadaStephen Shaw RENEWAL
Ivar O NestleUnited KingdomAsiya Javayant RENEWAL
Cody Z MarrierGermanyIoni Bowcher QUALIFIED
Ashley E DoeCanadaAnna Fali QUALIFIED
Aditya I AmigonSpainXuxue Feng RENEWAL
Morrow C MorascaFranceXuxue Feng UNQUALIFIED
Kadeem J DoeJapanBernardo Dominic RENEWAL
Frozen Columns
Name
Clifford M Perin
Cody S Venere
Kadeem E Ferencz
Aditya D Garufi
Munro L Stenseth
Aika B Kusko
Tony L Caldarera
Smith L Schemmer
Nicolas B Chui
Antonio E Iturbide
Emily K Briddick
Juan N Rim
Francesco M Rim
Stacey N Chui
Jones F Stenseth
Alejandro X Shinko
Claire E Butt
Arvin N Gillian
Leon W Morasca
Clifford X Campain
Chavez O Royster
Izzy R Whobrey
Kaitlin R Bowley
Adams S Malet
Stacey S Oldroyd
Octavia Q Butt
Johnson Y Whobrey
Johnson G Oldroyd
Munro T Oldroyd
Octavia P Gillian
Leja D Ruta
Kadeem E Slusarski
Claire W Saylors
Aika I Nestle
Darci S Paprocki
Ashley G Poquette
Aditya O Dilliard
Clifford L Malet
Salvatore O Nicka
Aika U Foller
Ricardo B Glick
Deepesh M Saylors
Emily Z Campain
Smith M Tollner
Aika C Briddick
Arvin S Caldarera
Silvio U Kusko
Leja F Briddick
Octavia Z Bolognia
Aruna Y Gillian
IdCountryDate
1000India2024-05-27
1001Italy2024-06-13
1002Italy2024-06-10
1003Japan2024-05-28
1004United Kingdom2024-06-09
1005India2024-06-06
1006Argentina2024-06-24
1007Germany2024-06-09
1008India2024-05-28
1009United Kingdom2024-06-24
1010Argentina2024-05-27
1011Germany2024-06-06
1012India2024-06-03
1013Japan2024-05-30
1014Australia2024-05-30
1015Italy2024-06-11
1016France2024-06-06
1017Russia2024-06-01
1018United Kingdom2024-06-10
1019Spain2024-06-22
1020Brazil2024-06-13
1021Spain2024-05-28
1022Australia2024-05-27
1023Italy2024-05-30
1024Spain2024-06-09
1025Germany2024-06-01
1026India2024-05-29
1027Australia2024-06-18
1028Spain2024-05-31
1029Canada2024-06-10
1030Australia2024-06-19
1031United Kingdom2024-05-28
1032United Kingdom2024-06-23
1033United Kingdom2024-06-19
1034United Kingdom2024-06-16
1035Italy2024-06-07
1036Japan2024-05-28
1037Spain2024-06-17
1038India2024-06-01
1039Germany2024-06-14
1040France2024-05-28
1041Japan2024-06-04
1042Argentina2024-06-16
1043Japan2024-06-09
1044Germany2024-06-11
1045Brazil2024-06-06
1046Brazil2024-06-16
1047Canada2024-06-01
1048Canada2024-05-30
1049Italy2024-06-23

On-Demand Data

NameIdCountryDate
Francesco K Gillian1000Canada2024-06-03
Aika W Perin1001Spain2024-06-13
Aditya U Albares1002Brazil2024-06-23
Julie X Whobrey1003Argentina2024-06-21
Misaki H Gillian1004France2024-06-15
Emily Y Caudy1005United Kingdom2024-06-10
Jeanfrancois H Campain1006Canada2024-06-14
Smith X Morasca1007United Kingdom2024-06-03
Kadeem Z Kusko1008France2024-06-17
Smith B Tollner1009Spain2024-06-13
Wickens L Caudy1010Italy2024-06-15
Ashley O Garufi1011Italy2024-06-22
Cody X Caldarera1012Argentina2024-06-13
Maisha I Gillian1013Italy2024-06-13
Johnson P Vocelka1014Germany2024-05-26
Morrow K Nestle1015Italy2024-06-07
Faith G Saylors1016Germany2024-05-30
Antonio W Caudy1017Brazil2024-05-27
Jeanfrancois G Schemmer1018India2024-06-17
David F Gaucho1019France2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio U ShinkoAustraliaAsiya Javayant RENEWAL
Morrow W MaletRussiaOnyama Limba QUALIFIED
Emily F DilliardRussiaBernardo Dominic UNQUALIFIED
Greenwood W AlbaresFranceBernardo Dominic RENEWAL
James G SaylorsItalyAmy Elsner RENEWAL
James X ChuiRussiaAsiya Javayant QUALIFIED
Murillo K TollnerAustraliaAsiya Javayant RENEWAL
Ivar D BowleyIndiaOnyama Limba PROPOSAL
Cody V GarufiRussiaAmy Elsner QUALIFIED
Aruna U SaylorsGermanyElwin Sharvill RENEWAL
Darci M DilliardItalyBernardo Dominic NEW
Jeanfrancois C MorascaRussiaIoni Bowcher PROPOSAL
Wickens G FlosiIndiaIvan Magalhaes PROPOSAL
Johnson C GauchoSpainXuxue Feng RENEWAL
Cody V RimBrazilAnna Fali RENEWAL
Deepesh O KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Maisha Z PerinIndiaXuxue Feng UNQUALIFIED
Nicolas I OldroydFranceOnyama Limba NEW
Aika W OldroydItalyOnyama Limba NEW
Francesco D RulapaughGermanyIvan Magalhaes NEGOTIATION
Clifford N DarakjyUnited KingdomAmy Elsner QUALIFIED
Francesco O KuskoAustraliaBernardo Dominic PROPOSAL
Antonio E SchemmerSpainBernardo Dominic PROPOSAL
Ricardo D KolmetzSpainIoni Bowcher NEGOTIATION
Julie Z RulapaughCanadaAmy Elsner NEGOTIATION
Francesco A OstroskyArgentinaAnna Fali NEGOTIATION
Morrow A OstroskyItalyStephen Shaw UNQUALIFIED
Juan N PaprockiUnited KingdomIoni Bowcher RENEWAL
Maisha H BriddickJapanIoni Bowcher PROPOSAL
Alejandro V WaycottAustraliaAmy Elsner NEW
Jeanfrancois W RoysterRussiaIvan Magalhaes NEW
Antonio H PerinUnited KingdomXuxue Feng PROPOSAL
Costa E CampainRussiaAmy Elsner RENEWAL
Aika V RutaItalyBernardo Dominic UNQUALIFIED
Costa X CaudySpainIoni Bowcher NEGOTIATION
Aruna Q ShinkoFranceOnyama Limba UNQUALIFIED
Stacey D MarrierGermanyXuxue Feng NEW
Alejandro P GillianIndiaIoni Bowcher QUALIFIED
Isabel N StockhamCanadaStephen Shaw NEGOTIATION
Aruna B FerenczSpainAnna Fali NEGOTIATION

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