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 V ButtCanadaElwin Sharvill QUALIFIED
Julie U FollerItalyIvan Magalhaes QUALIFIED
Arvin R MacleadFranceAnna Fali NEW
Mayumi C WaycottItalyAmy Elsner QUALIFIED
Darci V DilliardIndiaAsiya Javayant UNQUALIFIED
Tony U MorascaSpainBernardo Dominic PROPOSAL
Misaki G FigeroaFranceBernardo Dominic PROPOSAL
Mayumi H MacleadItalyXuxue Feng NEW
Octavia O OstroskyGermanyStephen Shaw UNQUALIFIED
Ashley F MaletJapanElwin Sharvill PROPOSAL
Morrow R InouyeGermanyXuxue Feng UNQUALIFIED
Jennifer W ChuiRussiaIoni Bowcher PROPOSAL
Sinclair R NestleAustraliaXuxue Feng NEGOTIATION
Isabel S GlickFranceBernardo Dominic NEW
Antonio N DarakjyArgentinaIoni Bowcher UNQUALIFIED
Aruna J AlbaresCanadaBernardo Dominic UNQUALIFIED
Francesco W ChuiFranceStephen Shaw PROPOSAL
Claire B ButtUnited KingdomElwin Sharvill QUALIFIED
Adams F RoysterIndiaIvan Magalhaes PROPOSAL
Jefferson K FlosiUnited KingdomBernardo Dominic QUALIFIED
Emily Y TollnerBrazilIvan Magalhaes NEW
Adams E VocelkaGermanyAmy Elsner NEW
Octavia X GillianArgentinaStephen Shaw NEW
Adams C BologniaSpainOnyama Limba PROPOSAL
Murillo I WieserAustraliaAmy Elsner PROPOSAL
Adams D DarakjyRussiaBernardo Dominic NEW
Sinclair U GauchoUnited KingdomIvan Magalhaes PROPOSAL
Antonio L MaletGermanyIoni Bowcher UNQUALIFIED
Alejandro Z VenereJapanIoni Bowcher PROPOSAL
Aika H GillianJapanOnyama Limba PROPOSAL
James N RulapaughFranceAmy Elsner RENEWAL
Jefferson B OldroydItalyAmy Elsner UNQUALIFIED
Silvio U DarakjyRussiaAnna Fali NEGOTIATION
Chavez A OldroydCanadaElwin Sharvill PROPOSAL
Deepesh B FlosiRussiaIoni Bowcher UNQUALIFIED
Izzy Q BriddickUnited KingdomAmy Elsner NEW
Jeanfrancois J VocelkaJapanXuxue Feng NEW
Leja W OstroskyRussiaOnyama Limba NEGOTIATION
Tony O WieserArgentinaBernardo Dominic NEW
Cody W VocelkaBrazilElwin Sharvill UNQUALIFIED
Ivar X NickaUnited KingdomAmy Elsner PROPOSAL
Aruna A MacleadItalyAnna Fali NEGOTIATION
Salvatore F GillianUnited KingdomStephen Shaw NEW
Jennifer W GlickRussiaAnna Fali UNQUALIFIED
Isabel J RulapaughRussiaOnyama Limba QUALIFIED
Salvatore R VocelkaArgentinaAsiya Javayant QUALIFIED
Munro W InouyeRussiaAnna Fali UNQUALIFIED
Tony G StockhamSpainStephen Shaw RENEWAL
Mujtaba H DoeGermanyOnyama Limba NEGOTIATION
Nicolas F ShinkoCanadaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Octavia J DoeGermanyAsiya Javayant NEW
Misaki E SergiUnited KingdomIoni Bowcher PROPOSAL
Claire C FerenczIndiaBernardo Dominic UNQUALIFIED
Chavez A FollerFranceStephen Shaw PROPOSAL
Maisha M RutaAustraliaBernardo Dominic PROPOSAL
Stacey N TollnerFranceOnyama Limba RENEWAL
David M DoeItalyXuxue Feng UNQUALIFIED
Octavia J RimSpainAsiya Javayant PROPOSAL
Misaki E RoysterFranceAmy Elsner PROPOSAL
Jeanfrancois Q NestleGermanyAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson L WhobreyArgentina2024-06-21Dorl, James J Esq UNQUALIFIED66Ivan Magalhaes
1001Jones Q KolmetzIndia2024-05-30Chanay, Jeffrey A Esq RENEWAL6Stephen Shaw
1002Francesco W CaldareraCanada2024-06-19Feltz Printing Service UNQUALIFIED4Onyama Limba
1003Silvio C MaletSpain2024-05-28Morlong Associates RENEWAL65Elwin Sharvill
1004Darci P ShinkoFrance2024-05-24Buckley Miller Wright NEGOTIATION26Elwin Sharvill
1005James B MaletFrance2024-06-15Morlong Associates UNQUALIFIED6Stephen Shaw
1006Nicolas N MarrierFrance2024-06-09Commercial Press QUALIFIED53Ivan Magalhaes
1007Sinclair E FerenczUnited Kingdom2024-06-10Buckley Miller Wright NEGOTIATION53Xuxue Feng
1008Sinclair B IturbideRussia2024-05-27Truhlar And Truhlar Attys QUALIFIED16Stephen Shaw
1009Murillo Y WaycottIndia2024-05-27Benton, John B Jr RENEWAL60Asiya Javayant
1010Faith W DarakjyJapan2024-05-30King, Christopher A Esq PROPOSAL28Onyama Limba
1011Smith Q MarrierAustralia2024-06-12Benton, John B Jr QUALIFIED13Anna Fali
1012Cody P DilliardUnited Kingdom2024-05-29Rangoni Of Florence PROPOSAL1Asiya Javayant
1013Ricardo Z CaudyAustralia2024-06-19Truhlar And Truhlar Attys NEGOTIATION28Asiya Javayant
1014Greenwood P FlosiArgentina2024-06-12Rangoni Of Florence RENEWAL44Amy Elsner
1015Clifford X CampainItaly2024-05-31Chapman, Ross E Esq NEW68Elwin Sharvill
1016Faith Y CaudyFrance2024-06-06Buckley Miller Wright PROPOSAL93Onyama Limba
1017Emily Y WieserCanada2024-06-21Rangoni Of Florence QUALIFIED54Elwin Sharvill
1018Nicolas W FerenczAustralia2024-06-13Morlong Associates NEW82Onyama Limba
1019David V SlusarskiJapan2024-05-30Rousseaux, Michael Esq UNQUALIFIED50Anna Fali
1020Darci Z RoysterIndia2024-05-24Chapman, Ross E Esq RENEWAL59Elwin Sharvill
1021Munro F MaletSpain2024-06-15Printing Dimensions RENEWAL54Ivan Magalhaes
1022Claire E ShinkoItaly2024-06-07Feltz Printing Service NEGOTIATION13Ivan Magalhaes
1023Kadeem M OldroydFrance2024-06-19Commercial Press QUALIFIED49Bernardo Dominic
1024Emily I BowleyBrazil2024-05-24Chapman, Ross E Esq NEW91Onyama Limba
1025Aika R KolmetzArgentina2024-06-04Dorl, James J Esq PROPOSAL50Bernardo Dominic
1026Kadeem W RoysterCanada2024-06-11Chapman, Ross E Esq QUALIFIED79Anna Fali
1027Johnson C IturbideUnited Kingdom2024-06-18Dorl, James J Esq NEGOTIATION48Amy Elsner
1028Isabel F BowleyCanada2024-06-10Rousseaux, Michael Esq NEGOTIATION42Bernardo Dominic
1029Aditya H DilliardCanada2024-06-09Morlong Associates RENEWAL4Ivan Magalhaes
1030Chavez I AlbaresSpain2024-05-25Commercial Press UNQUALIFIED74Ioni Bowcher
1031Johnson X FollerItaly2024-05-31Morlong Associates NEGOTIATION61Elwin Sharvill
1032Smith S GillianUnited Kingdom2024-06-06Dorl, James J Esq RENEWAL90Ioni Bowcher
1033Juan W MarrierSpain2024-06-09Chemel, James L Cpa QUALIFIED46Elwin Sharvill
1034Juan B RulapaughIndia2024-06-03Buckley Miller Wright NEGOTIATION18Amy Elsner
1035Arvin C BowleyItaly2024-06-12King, Christopher A Esq QUALIFIED30Xuxue Feng
1036Leja P BowleyRussia2024-06-12Printing Dimensions UNQUALIFIED55Xuxue Feng
1037Ashley B PaprockiIndia2024-06-09Dorl, James J Esq PROPOSAL1Stephen Shaw
1038Ricardo D OstroskyGermany2024-06-06King, Christopher A Esq RENEWAL22Ioni Bowcher
1039Ivar J RulapaughUnited Kingdom2024-06-17Chanay, Jeffrey A Esq QUALIFIED59Bernardo Dominic
1040Clifford J RulapaughFrance2024-06-15Truhlar And Truhlar Attys QUALIFIED39Xuxue Feng
1041Stacey Q SlusarskiGermany2024-06-20Printing Dimensions PROPOSAL68Onyama Limba
1042Costa K StensethFrance2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED46Ioni Bowcher
1043Antonio C MaletRussia2024-06-16Buckley Miller Wright QUALIFIED48Amy Elsner
1044Greenwood P BowleyAustralia2024-06-05Chanay, Jeffrey A Esq PROPOSAL16Asiya Javayant
1045Wickens H PaprockiCanada2024-06-08Feltz Printing Service RENEWAL96Bernardo Dominic
1046Cody T WhobreyRussia2024-06-17Chemel, James L Cpa NEGOTIATION87Ioni Bowcher
1047Cody B PerinBrazil2024-06-12Rousseaux, Michael Esq NEGOTIATION39Amy Elsner
1048Juan B BriddickJapan2024-06-02Morlong Associates QUALIFIED2Bernardo Dominic
1049Sinclair W RutaArgentina2024-05-29Benton, John B Jr UNQUALIFIED92Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Antonio K NestleGermanyAmy Elsner NEW
Faith E RoysterFranceAmy Elsner NEW
Ashley I NestleUnited KingdomElwin Sharvill NEGOTIATION
Ashley Z AmigonFranceBernardo Dominic NEW
Darci M TollnerBrazilAmy Elsner RENEWAL
Isabel C FlosiJapanElwin Sharvill UNQUALIFIED
Munro J NickaFranceElwin Sharvill RENEWAL
Ashley N AmigonBrazilAmy Elsner QUALIFIED
Wickens I OstroskyGermanyIvan Magalhaes UNQUALIFIED
Arvin E BologniaItalyElwin Sharvill QUALIFIED
David B OstroskyArgentinaStephen Shaw PROPOSAL
Izzy Z PaprockiGermanyIoni Bowcher NEGOTIATION
Aditya I RimAustraliaAnna Fali QUALIFIED
Emily E NestleCanadaOnyama Limba NEGOTIATION
Smith P GauchoRussiaAmy Elsner UNQUALIFIED
Adams A RimUnited KingdomAnna Fali RENEWAL
Mayumi W AlbaresGermanyStephen Shaw PROPOSAL
Isabel R WhobreyArgentinaAsiya Javayant NEW
Mujtaba U InouyeArgentinaStephen Shaw NEW
Morrow T GillianIndiaAnna Fali RENEWAL
Francesco K WieserJapanIoni Bowcher UNQUALIFIED
Chavez F MorascaGermanyBernardo Dominic RENEWAL
Octavia M AmigonGermanyBernardo Dominic NEW
Mujtaba X KolmetzArgentinaElwin Sharvill QUALIFIED
Tony U CaldareraGermanyIoni Bowcher NEW
Isabel C VocelkaItalyBernardo Dominic PROPOSAL
Greenwood E KolmetzUnited KingdomXuxue Feng NEW
Jennifer Y SaylorsFranceAsiya Javayant UNQUALIFIED
Cody J VocelkaIndiaXuxue Feng UNQUALIFIED
Jeanfrancois J TollnerArgentinaOnyama Limba PROPOSAL
Leja X GarufiAustraliaOnyama Limba UNQUALIFIED
Francesco H MorascaAustraliaOnyama Limba RENEWAL
David T BologniaArgentinaIoni Bowcher RENEWAL
Kadeem D MorascaFranceAsiya Javayant NEGOTIATION
Greenwood F VenereIndiaAsiya Javayant NEGOTIATION
Jones W SaylorsIndiaXuxue Feng PROPOSAL
Aditya E GillianAustraliaXuxue Feng PROPOSAL
Claire U NestleBrazilOnyama Limba PROPOSAL
Kadeem C NestleRussiaIvan Magalhaes PROPOSAL
Julie A InouyeCanadaAnna Fali PROPOSAL
David E PerinItalyXuxue Feng NEGOTIATION
Aditya J MacleadItalyElwin Sharvill QUALIFIED
Leon J ShinkoBrazilStephen Shaw NEW
Munro S RulapaughFranceOnyama Limba PROPOSAL
Costa T FlosiRussiaIoni Bowcher UNQUALIFIED
Sinclair B PoquetteCanadaElwin Sharvill NEGOTIATION
Ricardo Z RoysterBrazilAmy Elsner NEGOTIATION
Tony M OldroydCanadaStephen Shaw NEGOTIATION
Aditya E MacleadSpainOnyama Limba PROPOSAL
Mujtaba I SchemmerJapanXuxue Feng QUALIFIED
Frozen Columns
Name
Aruna W Schemmer
Kadeem F Flosi
Emily D Rim
Misaki T Oldroyd
David D Stenseth
Munro A Perin
Izzy P Caldarera
Claire Y Paprocki
Greenwood L Figeroa
Morrow G Dilliard
Cody Q Maclead
Jones N Figeroa
Mayumi Y Amigon
Francesco K Sergi
Adams X Bolognia
Costa R Campain
Julie K Glick
Johnson G Whobrey
Leja C Ruta
Salvatore A Foller
Silvio E Ferencz
Misaki F Paprocki
Jeanfrancois U Ostrosky
Nicolas V Vocelka
Arvin H Caldarera
Deepesh I Doe
Juan N Figeroa
Chavez S Kusko
Salvatore M Nicka
Jeanfrancois J Vocelka
Alejandro A Malet
Julie G Nicka
Jeanfrancois J Flosi
Smith B Malet
Cody R Maclead
Ivar R Slusarski
Octavia M Shinko
Deepesh H Campain
Tony J Schemmer
Mayumi W Ostrosky
Cody V Kusko
Kadeem I Nestle
Adams E Doe
Mujtaba V Ferencz
Aruna K Rim
Francesco L Briddick
Izzy K Nestle
James C Butt
Emily U Marrier
Sinclair G Butt
IdCountryDate
1000Spain2024-06-18
1001Canada2024-06-17
1002Italy2024-05-30
1003India2024-06-05
1004Germany2024-05-24
1005India2024-06-02
1006Italy2024-05-28
1007United Kingdom2024-06-06
1008France2024-06-13
1009Russia2024-06-15
1010Canada2024-06-20
1011United Kingdom2024-05-27
1012Russia2024-05-24
1013United Kingdom2024-06-07
1014Spain2024-06-12
1015India2024-06-04
1016Italy2024-06-20
1017Brazil2024-05-31
1018Brazil2024-06-10
1019India2024-06-16
1020Argentina2024-06-20
1021Japan2024-05-24
1022Argentina2024-06-20
1023Canada2024-06-03
1024Australia2024-06-14
1025Spain2024-06-06
1026Russia2024-06-18
1027Spain2024-06-05
1028United Kingdom2024-06-02
1029United Kingdom2024-06-15
1030United Kingdom2024-06-11
1031Argentina2024-05-23
1032Canada2024-06-04
1033Russia2024-06-06
1034United Kingdom2024-06-19
1035Brazil2024-06-06
1036Brazil2024-06-05
1037India2024-05-31
1038Italy2024-06-15
1039Brazil2024-06-04
1040Italy2024-05-23
1041Spain2024-06-02
1042Canada2024-06-09
1043Canada2024-06-04
1044India2024-06-08
1045Brazil2024-06-08
1046Italy2024-06-11
1047Canada2024-06-15
1048Russia2024-06-12
1049Argentina2024-05-23

On-Demand Data

NameIdCountryDate
Isabel P Tollner1000Spain2024-05-29
Ivar N Butt1001France2024-05-28
Salvatore O Shinko1002Germany2024-06-01
Arvin M Iturbide1003Spain2024-05-25
Leon R Ruta1004Russia2024-06-17
Cody A Iturbide1005India2024-05-28
Maria S Flosi1006Australia2024-06-18
Kadeem F Morasca1007Japan2024-06-09
Greenwood N Rim1008Germany2024-06-01
Johnson F Saylors1009Russia2024-06-13
Octavia L Flosi1010Russia2024-06-08
Greenwood T Poquette1011Australia2024-06-03
Izzy P Rim1012Canada2024-06-01
Kadeem X Venere1013Germany2024-06-05
Ashley R Stockham1014Spain2024-06-05
Stacey Q Flosi1015France2024-06-06
Maisha L Nicka1016Germany2024-06-19
Ricardo X Bolognia1017Argentina2024-06-13
Deepesh M Oldroyd1018Argentina2024-06-19
Francesco A Venere1019Argentina2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire I AmigonItalyIoni Bowcher PROPOSAL
Kaitlin D BowleyGermanyIoni Bowcher NEW
Morrow C KolmetzSpainAnna Fali NEGOTIATION
Morrow U ChuiArgentinaOnyama Limba QUALIFIED
Chavez C NickaCanadaOnyama Limba RENEWAL
Munro P MaletAustraliaXuxue Feng NEW
Chavez C ButtIndiaXuxue Feng PROPOSAL
Tony H PaprockiUnited KingdomAnna Fali RENEWAL
Costa E NestleBrazilXuxue Feng UNQUALIFIED
Emily Q PaprockiItalyAmy Elsner NEGOTIATION
Silvio L BologniaFranceIoni Bowcher QUALIFIED
Munro G MorascaGermanyXuxue Feng UNQUALIFIED
Silvio P MorascaArgentinaOnyama Limba QUALIFIED
Julie I RulapaughBrazilAnna Fali NEW
Adams V GillianRussiaAsiya Javayant PROPOSAL
Tony T PoquetteJapanAmy Elsner QUALIFIED
Chavez Y FollerItalyAmy Elsner NEGOTIATION
Octavia O SergiJapanOnyama Limba QUALIFIED
David E StockhamSpainAsiya Javayant QUALIFIED
Johnson O SergiRussiaXuxue Feng QUALIFIED
Johnson X BologniaGermanyOnyama Limba NEW
Kaitlin B OldroydItalyIoni Bowcher UNQUALIFIED
James P WhobreyFranceAmy Elsner QUALIFIED
Ricardo D BowleyAustraliaBernardo Dominic NEGOTIATION
Aika Y GarufiFranceIvan Magalhaes RENEWAL
Deepesh G ShinkoRussiaStephen Shaw NEW
Darci T IturbideRussiaBernardo Dominic QUALIFIED
Silvio S PerinJapanIvan Magalhaes UNQUALIFIED
David F InouyeArgentinaXuxue Feng RENEWAL
Izzy Q CampainRussiaElwin Sharvill RENEWAL
Johnson W GillianAustraliaStephen Shaw RENEWAL
Smith J CaldareraArgentinaAsiya Javayant PROPOSAL
Octavia A FerenczGermanyStephen Shaw NEW
Leja F BologniaIndiaAmy Elsner UNQUALIFIED
Aika S FerenczGermanyIoni Bowcher UNQUALIFIED
Adams E RulapaughRussiaAnna Fali NEW
Juan A FollerArgentinaStephen Shaw NEGOTIATION
Rodrigues B BriddickCanadaOnyama Limba RENEWAL
Leon A WieserCanadaBernardo Dominic PROPOSAL
Chavez R RoysterFranceBernardo Dominic PROPOSAL

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