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
Morrow J SergiUnited KingdomBernardo Dominic NEGOTIATION
Ashley F GarufiRussiaBernardo Dominic UNQUALIFIED
Mayumi M WhobreyIndiaOnyama Limba NEGOTIATION
Isabel C ChuiUnited KingdomIoni Bowcher QUALIFIED
Deepesh Z RimGermanyElwin Sharvill RENEWAL
Nicolas Y MaletUnited KingdomIoni Bowcher PROPOSAL
Aditya Y WieserJapanAmy Elsner PROPOSAL
Adams X FerenczJapanAmy Elsner NEW
Aditya V StensethUnited KingdomXuxue Feng UNQUALIFIED
Tony I MaletAustraliaBernardo Dominic RENEWAL
Munro Q FlosiSpainElwin Sharvill NEGOTIATION
Claire D MaletUnited KingdomAnna Fali NEGOTIATION
Kaitlin R CaldareraGermanyOnyama Limba PROPOSAL
Adams R InouyeBrazilStephen Shaw QUALIFIED
Greenwood P WieserCanadaAmy Elsner QUALIFIED
Adams J AmigonUnited KingdomBernardo Dominic QUALIFIED
Smith I FigeroaCanadaElwin Sharvill UNQUALIFIED
Cody R NestleItalyIvan Magalhaes QUALIFIED
Maisha L GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Deepesh K MaletBrazilOnyama Limba PROPOSAL
Salvatore W FollerUnited KingdomElwin Sharvill NEW
Nicolas E OstroskyAustraliaXuxue Feng NEW
Aruna S RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Kadeem X MacleadGermanyAmy Elsner PROPOSAL
Rodrigues L ButtJapanXuxue Feng PROPOSAL
Clifford J StockhamUnited KingdomAnna Fali QUALIFIED
Ivar E IturbideSpainIvan Magalhaes NEGOTIATION
Jones V GarufiFranceOnyama Limba RENEWAL
Chavez J SchemmerUnited KingdomIvan Magalhaes RENEWAL
Maisha S OldroydCanadaStephen Shaw NEGOTIATION
Alejandro B NestleRussiaAmy Elsner QUALIFIED
Smith N StockhamCanadaIvan Magalhaes PROPOSAL
Nicolas C NestleCanadaIvan Magalhaes NEW
Jones F SchemmerAustraliaBernardo Dominic QUALIFIED
Deepesh F StensethUnited KingdomBernardo Dominic PROPOSAL
Salvatore B VenereCanadaElwin Sharvill NEW
Ashley P MorascaBrazilXuxue Feng NEGOTIATION
Salvatore D OldroydCanadaBernardo Dominic RENEWAL
Julie G NestleAustraliaIvan Magalhaes UNQUALIFIED
Morrow O RimAustraliaAmy Elsner PROPOSAL
Claire N FigeroaUnited KingdomXuxue Feng QUALIFIED
Cody G PerinGermanyIvan Magalhaes QUALIFIED
Maisha I BologniaGermanyXuxue Feng QUALIFIED
Stacey D MacleadGermanyAsiya Javayant PROPOSAL
Cody B AmigonAustraliaStephen Shaw RENEWAL
Maria F NickaJapanXuxue Feng NEW
Jeanfrancois L CaldareraAustraliaAsiya Javayant NEW
Ashley I DilliardItalyElwin Sharvill RENEWAL
Ricardo M StensethJapanIoni Bowcher NEGOTIATION
Johnson H GauchoJapanAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kaitlin O MaletFranceElwin Sharvill PROPOSAL
Kadeem R WhobreyRussiaAmy Elsner UNQUALIFIED
Octavia N RimGermanyAnna Fali QUALIFIED
Alejandro Z CaldareraItalyOnyama Limba UNQUALIFIED
Jones E OstroskyUnited KingdomIoni Bowcher RENEWAL
Stacey P SchemmerCanadaIvan Magalhaes QUALIFIED
Arvin T SaylorsAustraliaAsiya Javayant UNQUALIFIED
Isabel R SaylorsIndiaIoni Bowcher NEGOTIATION
David Y RoysterArgentinaStephen Shaw UNQUALIFIED
Aditya P IturbideGermanyElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore J MarrierIndia2024-05-22Rangoni Of Florence NEW19Stephen Shaw
1001Mayumi B StockhamSpain2024-05-29Feltz Printing Service RENEWAL50Anna Fali
1002Jones U CampainRussia2024-05-27Feltz Printing Service UNQUALIFIED78Amy Elsner
1003Deepesh P BowleySpain2024-06-12Morlong Associates NEGOTIATION47Asiya Javayant
1004Mujtaba M WaycottJapan2024-06-05Chemel, James L Cpa NEGOTIATION26Amy Elsner
1005Greenwood J BriddickFrance2024-05-30Printing Dimensions UNQUALIFIED53Amy Elsner
1006Leon F ShinkoBrazil2024-05-28Buckley Miller Wright NEW74Asiya Javayant
1007Claire S BologniaBrazil2024-05-26Feiner Bros UNQUALIFIED73Onyama Limba
1008Clifford B InouyeArgentina2024-05-30Truhlar And Truhlar Attys PROPOSAL68Stephen Shaw
1009Julie W BowleyItaly2024-06-09Dorl, James J Esq NEW36Onyama Limba
1010Izzy G InouyeAustralia2024-05-31Benton, John B Jr NEGOTIATION76Amy Elsner
1011Munro I ButtJapan2024-06-08Commercial Press QUALIFIED43Amy Elsner
1012Aika E CampainJapan2024-06-10Chapman, Ross E Esq UNQUALIFIED78Bernardo Dominic
1013Greenwood H StockhamArgentina2024-06-17Chapman, Ross E Esq UNQUALIFIED51Elwin Sharvill
1014Kadeem Q AmigonSpain2024-06-05Dorl, James J Esq RENEWAL23Anna Fali
1015Sinclair Y OstroskyRussia2024-05-25Morlong Associates NEW93Anna Fali
1016Emily P KolmetzFrance2024-06-10King, Christopher A Esq RENEWAL36Asiya Javayant
1017Misaki K FerenczIndia2024-05-26Chapman, Ross E Esq NEGOTIATION69Ioni Bowcher
1018Mujtaba M BriddickUnited Kingdom2024-06-09Truhlar And Truhlar Attys QUALIFIED38Onyama Limba
1019Leon L AlbaresJapan2024-05-21Feiner Bros PROPOSAL35Ivan Magalhaes
1020James H MacleadItaly2024-06-12Morlong Associates NEGOTIATION75Stephen Shaw
1021Darci V GarufiJapan2024-06-11Truhlar And Truhlar Attys UNQUALIFIED60Stephen Shaw
1022Wickens D NestleItaly2024-06-15Chapman, Ross E Esq NEGOTIATION69Anna Fali
1023Sinclair V InouyeFrance2024-05-25Chapman, Ross E Esq QUALIFIED31Stephen Shaw
1024Mujtaba D KuskoUnited Kingdom2024-05-25Feiner Bros NEW91Ioni Bowcher
1025Tony X PaprockiUnited Kingdom2024-06-08Feiner Bros PROPOSAL50Ioni Bowcher
1026Maisha Q VocelkaRussia2024-06-17King, Christopher A Esq QUALIFIED86Bernardo Dominic
1027Maisha N DoeItaly2024-06-16Feiner Bros NEGOTIATION68Ivan Magalhaes
1028Nicolas L FigeroaAustralia2024-06-15Chanay, Jeffrey A Esq NEGOTIATION5Amy Elsner
1029Aruna S NickaRussia2024-06-04Commercial Press PROPOSAL52Stephen Shaw
1030Mayumi P BologniaRussia2024-06-17Morlong Associates NEGOTIATION59Bernardo Dominic
1031Maria W KolmetzIndia2024-06-07Benton, John B Jr UNQUALIFIED15Bernardo Dominic
1032Aruna W FigeroaCanada2024-05-27Rangoni Of Florence QUALIFIED11Bernardo Dominic
1033Antonio L RutaGermany2024-06-04Printing Dimensions RENEWAL84Xuxue Feng
1034Faith T AmigonCanada2024-05-20Rangoni Of Florence QUALIFIED80Asiya Javayant
1035Claire L KuskoIndia2024-05-25Rousseaux, Michael Esq NEW84Asiya Javayant
1036Smith G NestleJapan2024-06-10Rangoni Of Florence NEGOTIATION19Anna Fali
1037Faith X RulapaughRussia2024-06-11Rousseaux, Michael Esq NEGOTIATION45Asiya Javayant
1038Aruna W NickaRussia2024-05-24Dorl, James J Esq RENEWAL9Asiya Javayant
1039Cody Q DoeSpain2024-06-09Printing Dimensions NEW62Anna Fali
1040Munro O BowleyCanada2024-05-20Rangoni Of Florence UNQUALIFIED45Onyama Limba
1041Jeanfrancois I PaprockiArgentina2024-06-07Buckley Miller Wright RENEWAL80Anna Fali
1042Leja R NickaSpain2024-06-18Chapman, Ross E Esq PROPOSAL86Elwin Sharvill
1043Octavia F DilliardAustralia2024-06-15Rousseaux, Michael Esq NEGOTIATION99Ivan Magalhaes
1044Isabel D RulapaughIndia2024-06-03Rangoni Of Florence PROPOSAL35Anna Fali
1045Leja M CaldareraRussia2024-06-17Chapman, Ross E Esq PROPOSAL15Ioni Bowcher
1046Adams C AlbaresJapan2024-05-20Commercial Press NEW56Elwin Sharvill
1047Cody C ButtFrance2024-06-16Feltz Printing Service NEW24Bernardo Dominic
1048Jefferson D CampainGermany2024-06-18Rangoni Of Florence RENEWAL60Stephen Shaw
1049Aika Q TollnerCanada2024-06-11Printing Dimensions UNQUALIFIED44Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aditya R PaprockiJapanOnyama Limba NEW
Julie A WaycottItalyStephen Shaw PROPOSAL
Jeanfrancois L SchemmerGermanyStephen Shaw PROPOSAL
Leon H KuskoJapanElwin Sharvill RENEWAL
Ricardo X FigeroaItalyAnna Fali QUALIFIED
Smith N OldroydRussiaBernardo Dominic QUALIFIED
Murillo K GarufiSpainAmy Elsner NEW
Ivar C RutaSpainAmy Elsner QUALIFIED
Faith O KuskoSpainAsiya Javayant RENEWAL
Kaitlin C OldroydJapanOnyama Limba NEGOTIATION
Rodrigues O SchemmerFranceOnyama Limba UNQUALIFIED
Jones Q CaldareraCanadaIoni Bowcher PROPOSAL
Aditya K MorascaJapanAsiya Javayant PROPOSAL
Ashley G MaletSpainBernardo Dominic PROPOSAL
Jefferson V PerinArgentinaOnyama Limba RENEWAL
Munro I OstroskyIndiaXuxue Feng RENEWAL
Clifford L VenereGermanyElwin Sharvill QUALIFIED
Octavia Q GarufiGermanyElwin Sharvill RENEWAL
Smith B SergiGermanyAnna Fali NEW
Isabel K TollnerBrazilXuxue Feng NEW
Ivar V StensethFranceXuxue Feng NEW
Murillo L WhobreyUnited KingdomIvan Magalhaes NEGOTIATION
Maisha B KuskoBrazilXuxue Feng RENEWAL
Jones P MaletGermanyOnyama Limba PROPOSAL
Mujtaba M PaprockiItalyAmy Elsner NEGOTIATION
Misaki C GillianIndiaElwin Sharvill QUALIFIED
James C KuskoSpainAmy Elsner NEGOTIATION
Aditya X BowleyItalyAmy Elsner QUALIFIED
Wickens Q CampainArgentinaAmy Elsner RENEWAL
Aruna V MacleadAustraliaOnyama Limba PROPOSAL
Ricardo Q MarrierItalyXuxue Feng PROPOSAL
Rodrigues U FollerItalyAnna Fali RENEWAL
Wickens H CaldareraJapanElwin Sharvill RENEWAL
Emily O StockhamRussiaElwin Sharvill NEW
James D FollerRussiaIoni Bowcher NEGOTIATION
Jefferson U BowleyAustraliaXuxue Feng UNQUALIFIED
Jennifer I MaletRussiaAsiya Javayant RENEWAL
Maria E PerinUnited KingdomAnna Fali RENEWAL
Adams E DarakjyIndiaStephen Shaw UNQUALIFIED
Octavia C CaudyBrazilOnyama Limba UNQUALIFIED
Chavez L RoysterBrazilAnna Fali QUALIFIED
Leon O RimJapanBernardo Dominic UNQUALIFIED
Deepesh V PaprockiUnited KingdomAmy Elsner UNQUALIFIED
Deepesh F PaprockiFranceElwin Sharvill NEW
Nicolas J CaldareraAustraliaAnna Fali UNQUALIFIED
Cody C FerenczJapanAmy Elsner QUALIFIED
Octavia Z GauchoBrazilElwin Sharvill NEGOTIATION
Jones R RoysterGermanyAsiya Javayant QUALIFIED
Jefferson Z MarrierIndiaBernardo Dominic QUALIFIED
Aditya B DoeArgentinaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Deepesh G Maclead
Tony M Venere
Kaitlin K Flosi
Arvin T Kusko
Arvin F Butt
Isabel A Nicka
Faith B Chui
Octavia K Royster
Ricardo J Venere
Tony D Gillian
Claire B Glick
Ricardo N Garufi
Rodrigues D Doe
Deepesh Y Doe
Leon O Garufi
Ashley O Doe
Adams F Stenseth
Ivar P Oldroyd
Silvio X Paprocki
Murillo P Amigon
Jefferson K Rim
Mayumi W Darakjy
Jeanfrancois N Foller
Mayumi M Figeroa
Tony E Rim
Smith M Morasca
Kadeem K Rulapaugh
Clifford E Sergi
Sinclair G Sergi
Morrow W Maclead
Costa D Glick
Aika W Poquette
Francesco Z Tollner
Chavez H Malet
Aditya N Whobrey
James F Malet
Jones L Rulapaugh
Stacey M Chui
Nicolas P Wieser
Antonio T Rim
Ivar X Paprocki
Maisha B Malet
Antonio I Kusko
Salvatore B Venere
Arvin I Albares
Arvin M Rulapaugh
Francesco Z Wieser
Stacey M Flosi
Izzy A Ruta
Jones K Rim
IdCountryDate
1000France2024-06-12
1001United Kingdom2024-05-31
1002Spain2024-06-07
1003Spain2024-06-18
1004India2024-06-10
1005Canada2024-05-20
1006Germany2024-06-14
1007Australia2024-05-28
1008Brazil2024-05-21
1009Germany2024-05-26
1010France2024-06-18
1011Argentina2024-06-13
1012France2024-06-11
1013India2024-06-08
1014Japan2024-06-09
1015Spain2024-06-07
1016Argentina2024-06-18
1017Argentina2024-05-24
1018Brazil2024-05-27
1019Japan2024-06-03
1020Russia2024-06-03
1021Argentina2024-05-24
1022Canada2024-05-24
1023Canada2024-06-04
1024Italy2024-06-13
1025United Kingdom2024-05-27
1026Germany2024-06-09
1027Brazil2024-06-13
1028France2024-06-03
1029United Kingdom2024-06-08
1030Canada2024-06-12
1031India2024-05-29
1032Italy2024-06-17
1033Canada2024-06-15
1034India2024-06-07
1035Japan2024-05-25
1036Spain2024-06-14
1037India2024-06-11
1038France2024-06-04
1039Japan2024-05-23
1040France2024-05-29
1041Spain2024-06-01
1042Australia2024-05-23
1043Italy2024-06-01
1044United Kingdom2024-06-15
1045Japan2024-05-30
1046Spain2024-06-09
1047Germany2024-05-23
1048Italy2024-06-02
1049Australia2024-06-06

On-Demand Data

NameIdCountryDate
Jennifer J Caudy1000Germany2024-05-23
Silvio N Bowley1001Japan2024-06-15
Isabel O Malet1002Australia2024-06-11
Claire P Inouye1003Russia2024-06-14
Ivar T Glick1004Germany2024-06-10
Morrow E Inouye1005Spain2024-06-04
Aditya B Glick1006Germany2024-06-05
Antonio T Tollner1007Spain2024-06-09
Alejandro O Butt1008Canada2024-05-27
Morrow V Malet1009Australia2024-05-30
Smith C Whobrey1010India2024-05-26
Chavez B Glick1011France2024-06-14
Jeanfrancois F Gillian1012United Kingdom2024-06-05
Smith I Caudy1013Russia2024-06-04
Faith B Royster1014Brazil2024-06-06
Costa S Kusko1015Japan2024-05-21
Kaitlin N Stockham1016Brazil2024-06-13
Maria J Ferencz1017United Kingdom2024-05-22
Kaitlin Z Kolmetz1018Japan2024-05-29
Clifford P Maclead1019Canada2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci A FigeroaArgentinaAmy Elsner UNQUALIFIED
Clifford N NickaCanadaAsiya Javayant PROPOSAL
Maisha G MarrierFranceAmy Elsner NEW
Stacey X OstroskyRussiaElwin Sharvill QUALIFIED
Morrow Y RutaSpainXuxue Feng QUALIFIED
Cody P RulapaughBrazilXuxue Feng RENEWAL
Kaitlin R RutaArgentinaAmy Elsner NEGOTIATION
Maisha G WhobreyGermanyElwin Sharvill PROPOSAL
Munro L AmigonItalyIoni Bowcher RENEWAL
Mayumi C NestleAustraliaIoni Bowcher UNQUALIFIED
Murillo D RoysterUnited KingdomAnna Fali QUALIFIED
Jeanfrancois K RutaJapanOnyama Limba QUALIFIED
Morrow A NickaJapanElwin Sharvill UNQUALIFIED
Salvatore A OstroskyFranceAmy Elsner PROPOSAL
Ashley K PerinRussiaStephen Shaw PROPOSAL
Juan T SlusarskiGermanyXuxue Feng NEW
Mujtaba J FerenczAustraliaIvan Magalhaes QUALIFIED
Claire B TollnerFranceXuxue Feng PROPOSAL
Nicolas B ButtRussiaAmy Elsner UNQUALIFIED
Leja H VenereUnited KingdomXuxue Feng NEGOTIATION
Aditya Q InouyeUnited KingdomAmy Elsner NEW
Mujtaba L DarakjyAustraliaXuxue Feng NEGOTIATION
Mujtaba N SchemmerAustraliaAsiya Javayant UNQUALIFIED
Aditya Z RoysterRussiaOnyama Limba PROPOSAL
Leja S DoeArgentinaAnna Fali QUALIFIED
Stacey M DoeIndiaStephen Shaw NEW
Salvatore O OldroydGermanyBernardo Dominic NEW
Aruna J SlusarskiIndiaElwin Sharvill PROPOSAL
Jeanfrancois T BriddickFranceIoni Bowcher RENEWAL
Darci E NickaRussiaAsiya Javayant NEW
Greenwood B AmigonFranceIoni Bowcher PROPOSAL
Misaki V InouyeFranceIoni Bowcher RENEWAL
Mujtaba B PaprockiIndiaIoni Bowcher NEW
Clifford M WhobreyRussiaXuxue Feng NEW
Chavez A RoysterJapanStephen Shaw QUALIFIED
Faith W RulapaughBrazilAmy Elsner RENEWAL
Jennifer W CaldareraJapanOnyama Limba NEGOTIATION
Stacey J ShinkoItalyBernardo Dominic QUALIFIED
Jones M GarufiGermanyElwin Sharvill QUALIFIED
Tony Z OstroskyRussiaXuxue Feng 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>