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
Mujtaba Y SlusarskiUnited KingdomXuxue Feng RENEWAL
Chavez E StockhamUnited KingdomXuxue Feng PROPOSAL
Leon X VenereFranceOnyama Limba NEGOTIATION
Leon G DarakjyJapanIvan Magalhaes NEW
Maisha E BowleyBrazilXuxue Feng NEW
Johnson G RoysterAustraliaElwin Sharvill NEW
Clifford Z InouyeCanadaAnna Fali QUALIFIED
Munro C FigeroaJapanOnyama Limba NEW
Juan H InouyeAustraliaXuxue Feng UNQUALIFIED
Aruna J FollerSpainBernardo Dominic UNQUALIFIED
Juan S MacleadIndiaIvan Magalhaes PROPOSAL
Darci A InouyeBrazilAmy Elsner NEGOTIATION
Kaitlin X SchemmerFranceStephen Shaw NEGOTIATION
Adams J BriddickIndiaAmy Elsner QUALIFIED
Stacey D GauchoArgentinaXuxue Feng NEW
Leja B AlbaresJapanAmy Elsner PROPOSAL
Misaki F MacleadBrazilAnna Fali UNQUALIFIED
Claire N FigeroaGermanyAmy Elsner NEW
Isabel X FerenczUnited KingdomAsiya Javayant QUALIFIED
Francesco G NickaItalyXuxue Feng QUALIFIED
Aditya H CampainSpainAmy Elsner QUALIFIED
Faith T SergiItalyXuxue Feng NEGOTIATION
David L FerenczSpainIoni Bowcher PROPOSAL
Jones Y ButtFranceOnyama Limba NEW
Antonio Q StockhamBrazilIoni Bowcher PROPOSAL
Francesco W DarakjyArgentinaBernardo Dominic UNQUALIFIED
Mujtaba L PaprockiArgentinaOnyama Limba PROPOSAL
Faith S ShinkoBrazilStephen Shaw NEGOTIATION
Deepesh W FigeroaSpainIoni Bowcher QUALIFIED
Johnson M RimAustraliaIoni Bowcher NEW
Morrow N MaletIndiaAnna Fali PROPOSAL
Isabel E MacleadFranceAmy Elsner NEGOTIATION
Leon O VocelkaGermanyIvan Magalhaes RENEWAL
Arvin J MacleadBrazilAmy Elsner PROPOSAL
Clifford Z TollnerUnited KingdomXuxue Feng PROPOSAL
Jennifer X VocelkaArgentinaAmy Elsner QUALIFIED
Murillo D DoeUnited KingdomIvan Magalhaes QUALIFIED
Chavez W MaletAustraliaStephen Shaw PROPOSAL
Izzy E GlickGermanyStephen Shaw NEGOTIATION
Emily C NickaFranceElwin Sharvill PROPOSAL
Misaki L BriddickSpainAmy Elsner NEW
Octavia N SlusarskiRussiaOnyama Limba RENEWAL
Stacey S SaylorsFranceXuxue Feng PROPOSAL
Antonio L NickaBrazilAnna Fali RENEWAL
Emily Z OldroydItalyBernardo Dominic QUALIFIED
Morrow I SlusarskiJapanAmy Elsner PROPOSAL
Julie I GauchoCanadaAsiya Javayant QUALIFIED
Ashley L MacleadRussiaXuxue Feng RENEWAL
Mayumi Z GlickArgentinaIvan Magalhaes RENEWAL
Kadeem S ChuiBrazilBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel O BowleyBrazilOnyama Limba PROPOSAL
Clifford N CampainAustraliaAnna Fali PROPOSAL
Mayumi I SlusarskiSpainAnna Fali NEGOTIATION
Salvatore X AlbaresAustraliaIvan Magalhaes PROPOSAL
Alejandro E MacleadItalyIvan Magalhaes NEW
Octavia P VocelkaCanadaElwin Sharvill NEGOTIATION
Chavez D NickaUnited KingdomAnna Fali PROPOSAL
Costa O MaletBrazilElwin Sharvill RENEWAL
David D AmigonSpainAsiya Javayant NEGOTIATION
Emily R WieserUnited KingdomAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith Y OldroydSpain2024-05-23Chemel, James L Cpa PROPOSAL20Ivan Magalhaes
1001Maisha G MarrierUnited Kingdom2024-05-19Buckley Miller Wright PROPOSAL76Ioni Bowcher
1002Nicolas B MaletJapan2024-05-21Chapman, Ross E Esq NEGOTIATION5Bernardo Dominic
1003Maisha W FollerArgentina2024-05-19Truhlar And Truhlar Attys UNQUALIFIED90Bernardo Dominic
1004Aika S MarrierJapan2024-06-03Feltz Printing Service NEW26Asiya Javayant
1005James X SergiIndia2024-05-29King, Christopher A Esq UNQUALIFIED45Anna Fali
1006Smith Y DarakjyJapan2024-06-01Benton, John B Jr PROPOSAL12Bernardo Dominic
1007Maria U FlosiGermany2024-05-16Chanay, Jeffrey A Esq NEW98Ioni Bowcher
1008Claire K SlusarskiSpain2024-06-13Benton, John B Jr UNQUALIFIED67Elwin Sharvill
1009Sinclair V BriddickRussia2024-06-03Morlong Associates RENEWAL18Ioni Bowcher
1010David U InouyeArgentina2024-05-29Feiner Bros PROPOSAL86Ivan Magalhaes
1011Kadeem R FigeroaSpain2024-06-05Feltz Printing Service PROPOSAL56Amy Elsner
1012Francesco R MaletSpain2024-06-04Dorl, James J Esq QUALIFIED85Xuxue Feng
1013Deepesh F NestleSpain2024-05-24Chemel, James L Cpa PROPOSAL50Amy Elsner
1014Octavia G ShinkoFrance2024-06-03Dorl, James J Esq NEGOTIATION16Onyama Limba
1015Arvin H MacleadRussia2024-05-23Chemel, James L Cpa NEW65Elwin Sharvill
1016Aditya Y NickaAustralia2024-05-17Buckley Miller Wright NEW21Onyama Limba
1017Arvin Y FigeroaItaly2024-05-16Commercial Press QUALIFIED90Xuxue Feng
1018Francesco B BowleySpain2024-06-12Truhlar And Truhlar Attys UNQUALIFIED41Stephen Shaw
1019Sinclair F OstroskyUnited Kingdom2024-05-31Dorl, James J Esq QUALIFIED37Amy Elsner
1020Leja U NickaRussia2024-05-19Chemel, James L Cpa NEGOTIATION12Asiya Javayant
1021Murillo J RoysterRussia2024-06-07Rangoni Of Florence QUALIFIED49Ioni Bowcher
1022Misaki N VenereFrance2024-05-22Rangoni Of Florence UNQUALIFIED21Anna Fali
1023Mujtaba T PoquetteUnited Kingdom2024-06-11Commercial Press UNQUALIFIED32Bernardo Dominic
1024Ricardo E StensethFrance2024-06-13Buckley Miller Wright NEGOTIATION46Anna Fali
1025Octavia B FlosiRussia2024-05-27Morlong Associates QUALIFIED97Asiya Javayant
1026Adams Y FerenczSpain2024-05-29Chapman, Ross E Esq PROPOSAL82Anna Fali
1027Stacey G MorascaCanada2024-05-30Commercial Press QUALIFIED81Bernardo Dominic
1028Jones L ChuiRussia2024-05-29Chemel, James L Cpa UNQUALIFIED84Anna Fali
1029Chavez V RimGermany2024-05-19Commercial Press RENEWAL47Ivan Magalhaes
1030Julie J VocelkaGermany2024-06-08Chapman, Ross E Esq PROPOSAL79Onyama Limba
1031Maria Q RutaAustralia2024-06-09Morlong Associates NEGOTIATION51Elwin Sharvill
1032Costa Q WhobreyCanada2024-05-27Rousseaux, Michael Esq RENEWAL30Ivan Magalhaes
1033Izzy B FollerRussia2024-05-25Morlong Associates RENEWAL12Anna Fali
1034Jefferson Z GauchoGermany2024-06-04Feltz Printing Service NEGOTIATION14Elwin Sharvill
1035Silvio E StockhamSpain2024-06-04Commercial Press PROPOSAL49Onyama Limba
1036Jeanfrancois U MaletUnited Kingdom2024-06-13Chapman, Ross E Esq NEW76Onyama Limba
1037Clifford J SchemmerSpain2024-05-19Rangoni Of Florence QUALIFIED45Elwin Sharvill
1038Julie D OstroskyArgentina2024-06-13Feltz Printing Service NEGOTIATION80Onyama Limba
1039Aruna X BriddickJapan2024-05-29Feiner Bros QUALIFIED33Ivan Magalhaes
1040Aruna C FigeroaSpain2024-06-03Chanay, Jeffrey A Esq QUALIFIED70Amy Elsner
1041Adams A KolmetzCanada2024-05-22Dorl, James J Esq NEW74Asiya Javayant
1042Clifford Y DoeUnited Kingdom2024-05-21Buckley Miller Wright NEGOTIATION93Xuxue Feng
1043Julie Q CaldareraGermany2024-05-29Feltz Printing Service RENEWAL51Ivan Magalhaes
1044Cody A OstroskyArgentina2024-06-10Printing Dimensions NEW80Elwin Sharvill
1045Ricardo M TollnerSpain2024-06-10Feltz Printing Service NEGOTIATION44Asiya Javayant
1046Aditya H KuskoCanada2024-06-01Feiner Bros NEGOTIATION80Anna Fali
1047Jefferson Y ShinkoCanada2024-06-02Chapman, Ross E Esq QUALIFIED77Ivan Magalhaes
1048Claire J MaletUnited Kingdom2024-06-01Rousseaux, Michael Esq PROPOSAL19Elwin Sharvill
1049Ivar L RulapaughBrazil2024-06-11Truhlar And Truhlar Attys QUALIFIED94Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Tony V WieserIndiaAnna Fali NEGOTIATION
Nicolas R FlosiItalyAmy Elsner NEW
Aika R SchemmerGermanyStephen Shaw NEW
Jeanfrancois B SergiRussiaAnna Fali NEW
Arvin K CaldareraSpainAmy Elsner QUALIFIED
Mayumi F MaletAustraliaAnna Fali NEGOTIATION
Izzy O CampainUnited KingdomAmy Elsner PROPOSAL
Adams H CampainAustraliaElwin Sharvill QUALIFIED
Maria C StensethRussiaIvan Magalhaes UNQUALIFIED
Jones G RimAustraliaElwin Sharvill NEGOTIATION
Antonio J ShinkoSpainStephen Shaw PROPOSAL
Faith F FigeroaUnited KingdomElwin Sharvill RENEWAL
Aditya T BologniaCanadaAmy Elsner PROPOSAL
Kaitlin P FigeroaSpainAsiya Javayant NEGOTIATION
Johnson D WhobreyArgentinaIvan Magalhaes NEW
Ricardo U FlosiCanadaIvan Magalhaes NEGOTIATION
Julie J VenereRussiaXuxue Feng PROPOSAL
Chavez F VocelkaItalyIvan Magalhaes NEW
Mujtaba U MaletUnited KingdomElwin Sharvill PROPOSAL
Alejandro E OstroskyAustraliaBernardo Dominic NEGOTIATION
Leon L ChuiUnited KingdomAmy Elsner NEW
Costa L MaletCanadaElwin Sharvill NEGOTIATION
Antonio U TollnerCanadaIvan Magalhaes QUALIFIED
Ashley K InouyeUnited KingdomOnyama Limba PROPOSAL
Julie W KolmetzBrazilStephen Shaw UNQUALIFIED
James C ButtRussiaAnna Fali NEGOTIATION
Aruna A VocelkaJapanBernardo Dominic UNQUALIFIED
Munro T WhobreyRussiaAnna Fali PROPOSAL
Maisha A GillianFranceIoni Bowcher NEW
Faith A CampainCanadaOnyama Limba NEGOTIATION
Cody E ButtRussiaXuxue Feng NEW
Jones Y PoquetteIndiaStephen Shaw RENEWAL
Leon L FerenczArgentinaOnyama Limba NEW
Juan Q GillianIndiaOnyama Limba QUALIFIED
Rodrigues C RutaIndiaAmy Elsner UNQUALIFIED
Aruna K DilliardArgentinaAsiya Javayant RENEWAL
Chavez X RoysterFranceAnna Fali NEW
David G DarakjyJapanBernardo Dominic RENEWAL
Ivar L BowleyCanadaXuxue Feng RENEWAL
Francesco Y RulapaughFranceIvan Magalhaes QUALIFIED
Antonio L AmigonIndiaIvan Magalhaes RENEWAL
Alejandro W PaprockiUnited KingdomAmy Elsner PROPOSAL
Arvin V StockhamGermanyAsiya Javayant QUALIFIED
Mujtaba T CaudyFranceOnyama Limba QUALIFIED
Maria E GarufiItalyIoni Bowcher PROPOSAL
Aruna D StockhamAustraliaAsiya Javayant PROPOSAL
Smith E StockhamBrazilIvan Magalhaes UNQUALIFIED
Deepesh R GlickArgentinaIoni Bowcher QUALIFIED
Jones A MarrierBrazilElwin Sharvill NEGOTIATION
Ivar V AlbaresBrazilIoni Bowcher PROPOSAL
Frozen Columns
Name
Juan Z Doe
Adams P Saylors
Jennifer B Tollner
Adams X Inouye
David E Briddick
Nicolas N Bowley
Misaki G Inouye
Costa G Gaucho
Julie S Ruta
Cody R Royster
Sinclair U Maclead
Aruna W Dilliard
Morrow T Rulapaugh
Jeanfrancois R Briddick
Mujtaba Z Malet
Deepesh X Paprocki
Arvin Y Briddick
Rodrigues V Stenseth
Greenwood H Vocelka
Juan I Waycott
Johnson D Sergi
Morrow K Doe
Maria Q Glick
Aika E Foller
Isabel A Perin
Izzy K Butt
Ivar X Marrier
Jeanfrancois R Oldroyd
David Y Rim
Juan X Caudy
Faith E Darakjy
Deepesh S Poquette
Darci K Caldarera
Johnson M Malet
Francesco P Kolmetz
Francesco W Gillian
Ivar Z Dilliard
Faith V Flosi
Faith X Royster
Kaitlin F Nestle
Johnson W Flosi
James W Stockham
Smith S Morasca
Stacey Z Nestle
Morrow S Kusko
Arvin F Kusko
Darci Q Tollner
Alejandro O Flosi
Morrow P Nicka
Deepesh L Kolmetz
IdCountryDate
1000Russia2024-06-13
1001Canada2024-06-11
1002Australia2024-06-12
1003Russia2024-06-11
1004Japan2024-05-25
1005Japan2024-05-21
1006France2024-05-16
1007France2024-05-25
1008Japan2024-05-16
1009Germany2024-05-27
1010France2024-05-15
1011India2024-05-24
1012Australia2024-06-08
1013India2024-05-31
1014Spain2024-05-30
1015Italy2024-06-02
1016India2024-05-25
1017Argentina2024-05-29
1018Japan2024-05-26
1019Germany2024-05-23
1020Germany2024-06-07
1021Russia2024-05-25
1022Russia2024-06-11
1023Argentina2024-05-20
1024Argentina2024-06-02
1025Australia2024-05-27
1026Japan2024-06-07
1027United Kingdom2024-05-18
1028Russia2024-05-24
1029Argentina2024-05-22
1030Spain2024-05-30
1031Australia2024-06-02
1032Japan2024-05-23
1033Japan2024-05-29
1034France2024-05-26
1035Spain2024-06-05
1036Spain2024-06-13
1037Canada2024-05-24
1038Spain2024-05-19
1039Australia2024-05-27
1040Spain2024-05-31
1041Italy2024-05-21
1042France2024-06-09
1043Canada2024-05-17
1044Japan2024-06-07
1045India2024-05-22
1046Australia2024-05-16
1047Russia2024-06-07
1048Japan2024-05-28
1049Germany2024-05-25

On-Demand Data

NameIdCountryDate
Claire S Dilliard1000Brazil2024-05-25
Claire V Marrier1001Germany2024-05-31
Silvio D Nicka1002France2024-06-06
Mujtaba B Marrier1003Germany2024-06-06
Faith E Vocelka1004Canada2024-05-18
Ashley F Gaucho1005Germany2024-06-08
Ivar H Figeroa1006Italy2024-05-26
Isabel Z Poquette1007Japan2024-06-12
Adams D Malet1008Australia2024-05-19
Smith P Morasca1009Japan2024-06-06
Juan E Whobrey1010Canada2024-05-30
Greenwood Q Schemmer1011Spain2024-05-30
Silvio E Kusko1012Germany2024-05-28
Murillo Y Sergi1013Germany2024-05-19
Ashley L Butt1014Italy2024-06-09
Leja Q Glick1015Italy2024-06-03
Antonio L Butt1016Germany2024-06-10
Leon R Gillian1017Russia2024-06-02
Jefferson D Caldarera1018Russia2024-06-06
Chavez F Slusarski1019United Kingdom2024-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith Y ButtAustraliaAnna Fali NEGOTIATION
Kaitlin S RimIndiaAsiya Javayant PROPOSAL
Clifford N GauchoBrazilAsiya Javayant QUALIFIED
Jennifer D MaletIndiaElwin Sharvill PROPOSAL
Mayumi W CaudyAustraliaXuxue Feng UNQUALIFIED
Aruna K OstroskyArgentinaOnyama Limba RENEWAL
Jones F PaprockiBrazilXuxue Feng UNQUALIFIED
Claire P BriddickCanadaStephen Shaw RENEWAL
Aruna O AmigonJapanBernardo Dominic RENEWAL
Sinclair T ButtCanadaIvan Magalhaes RENEWAL
Francesco Z DoeRussiaOnyama Limba NEGOTIATION
Octavia W BologniaItalyIvan Magalhaes QUALIFIED
Darci E FlosiSpainOnyama Limba RENEWAL
Rodrigues K MaletIndiaAmy Elsner RENEWAL
Adams U GlickFranceStephen Shaw NEW
Leja G SergiRussiaAmy Elsner NEW
James G ShinkoGermanyOnyama Limba QUALIFIED
Jefferson Y ShinkoGermanyBernardo Dominic NEGOTIATION
Mujtaba U MacleadBrazilOnyama Limba NEGOTIATION
Chavez M MarrierJapanAnna Fali UNQUALIFIED
Chavez B PaprockiRussiaElwin Sharvill PROPOSAL
Julie Z ShinkoIndiaXuxue Feng QUALIFIED
Chavez C BowleyGermanyOnyama Limba NEGOTIATION
Costa C FerenczAustraliaAnna Fali PROPOSAL
Emily X NestleRussiaAmy Elsner QUALIFIED
Maria I ShinkoItalyBernardo Dominic PROPOSAL
Kaitlin D AmigonArgentinaAsiya Javayant RENEWAL
Sinclair Q FigeroaJapanAsiya Javayant RENEWAL
Isabel E CaudyFranceAsiya Javayant UNQUALIFIED
Arvin Q AlbaresJapanXuxue Feng NEGOTIATION
Jefferson S MacleadCanadaOnyama Limba NEW
Murillo W MorascaItalyOnyama Limba QUALIFIED
Nicolas F GlickGermanyIvan Magalhaes NEGOTIATION
Alejandro X MaletBrazilElwin Sharvill QUALIFIED
Darci I MorascaGermanyAmy Elsner UNQUALIFIED
Maria R AlbaresIndiaBernardo Dominic RENEWAL
Greenwood T InouyeBrazilXuxue Feng QUALIFIED
Munro Z SlusarskiRussiaOnyama Limba RENEWAL
Alejandro B VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Clifford L OstroskyArgentinaBernardo Dominic UNQUALIFIED

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