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
Mayumi R MarrierSpainAsiya Javayant NEGOTIATION
Maisha F ChuiUnited KingdomAmy Elsner UNQUALIFIED
Leon R SlusarskiRussiaAsiya Javayant RENEWAL
Claire Y OstroskyGermanyOnyama Limba UNQUALIFIED
Jones E CaudyCanadaIvan Magalhaes RENEWAL
Jennifer M OstroskyAustraliaIoni Bowcher NEW
James K ShinkoRussiaBernardo Dominic RENEWAL
Maria S PaprockiGermanyElwin Sharvill PROPOSAL
Costa F FigeroaItalyBernardo Dominic NEW
Murillo F SaylorsJapanAsiya Javayant NEW
Chavez A RulapaughSpainIvan Magalhaes NEW
Sinclair C MaletGermanyElwin Sharvill QUALIFIED
Kaitlin P GarufiIndiaIoni Bowcher NEGOTIATION
Ashley E RutaRussiaAsiya Javayant QUALIFIED
Munro O FollerFranceOnyama Limba NEW
Clifford R OldroydArgentinaBernardo Dominic QUALIFIED
Jones L PoquetteBrazilAmy Elsner PROPOSAL
Wickens N NestleAustraliaElwin Sharvill PROPOSAL
Cody A MacleadIndiaXuxue Feng PROPOSAL
Arvin Z AmigonSpainAsiya Javayant NEW
Mujtaba H FerenczBrazilXuxue Feng NEGOTIATION
Stacey B VenereUnited KingdomAsiya Javayant UNQUALIFIED
Smith F BowleyFranceAmy Elsner NEW
Tony J SergiCanadaBernardo Dominic NEW
Isabel R StensethArgentinaXuxue Feng NEW
Sinclair C WaycottJapanElwin Sharvill NEGOTIATION
Morrow V TollnerItalyBernardo Dominic RENEWAL
Alejandro J NickaAustraliaIoni Bowcher NEW
Stacey Z CampainCanadaAsiya Javayant NEW
Rodrigues O VenereIndiaIvan Magalhaes UNQUALIFIED
Clifford S AlbaresSpainXuxue Feng RENEWAL
Greenwood M RoysterCanadaAsiya Javayant QUALIFIED
Mayumi I PoquetteCanadaOnyama Limba RENEWAL
Juan T PoquetteAustraliaAnna Fali PROPOSAL
Munro G GillianAustraliaAnna Fali NEW
Leon E FigeroaSpainAmy Elsner RENEWAL
Leja Y AmigonSpainElwin Sharvill UNQUALIFIED
David K KolmetzGermanyBernardo Dominic UNQUALIFIED
Cody Q CampainGermanyIoni Bowcher PROPOSAL
Darci E RulapaughArgentinaElwin Sharvill UNQUALIFIED
Jennifer Z ChuiArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois E GillianGermanyIvan Magalhaes NEGOTIATION
Mayumi A FigeroaJapanOnyama Limba QUALIFIED
Silvio I NestleItalyAmy Elsner NEW
Greenwood X BowleyFranceAmy Elsner RENEWAL
Jeanfrancois Y MacleadIndiaElwin Sharvill UNQUALIFIED
Greenwood K KuskoItalyXuxue Feng RENEWAL
Leja D OstroskyCanadaBernardo Dominic NEW
Ivar P KolmetzSpainIvan Magalhaes UNQUALIFIED
Rodrigues L PoquetteAustraliaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Juan H ShinkoItalyAsiya Javayant UNQUALIFIED
Alejandro T RutaRussiaOnyama Limba RENEWAL
Octavia J BriddickFranceIoni Bowcher PROPOSAL
Claire W GlickGermanyStephen Shaw NEW
Julie Z GillianJapanXuxue Feng RENEWAL
Smith S GlickUnited KingdomAsiya Javayant PROPOSAL
Alejandro W RimUnited KingdomStephen Shaw NEW
Clifford L DoeAustraliaStephen Shaw PROPOSAL
Jones L ButtItalyBernardo Dominic PROPOSAL
Arvin G DarakjyItalyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez W SchemmerRussia2026-06-27Rousseaux, Michael Esq PROPOSAL79Onyama Limba
1001Jeanfrancois E RulapaughSpain2026-07-05King, Christopher A Esq QUALIFIED49Bernardo Dominic
1002Kaitlin Y GillianBrazil2026-07-11Morlong Associates NEGOTIATION15Elwin Sharvill
1003Salvatore J WaycottAustralia2026-06-17Chapman, Ross E Esq NEW40Stephen Shaw
1004Tony Y CaldareraBrazil2026-06-15Dorl, James J Esq RENEWAL95Asiya Javayant
1005Deepesh F FlosiIndia2026-07-10Morlong Associates UNQUALIFIED14Elwin Sharvill
1006Isabel M FigeroaBrazil2026-06-24Rangoni Of Florence NEGOTIATION62Ivan Magalhaes
1007Nicolas V FollerCanada2026-06-15Chanay, Jeffrey A Esq UNQUALIFIED81Xuxue Feng
1008Arvin U OldroydRussia2026-06-20King, Christopher A Esq NEW55Ioni Bowcher
1009Salvatore X RulapaughFrance2026-06-30Commercial Press PROPOSAL8Bernardo Dominic
1010Deepesh G MarrierJapan2026-06-17King, Christopher A Esq RENEWAL38Ivan Magalhaes
1011Tony Q MaletArgentina2026-06-12Feiner Bros UNQUALIFIED88Ivan Magalhaes
1012Maisha D MorascaJapan2026-07-09Rangoni Of Florence QUALIFIED63Anna Fali
1013Antonio M CaldareraItaly2026-06-17Truhlar And Truhlar Attys QUALIFIED85Elwin Sharvill
1014Aditya Z GillianUnited Kingdom2026-06-19Buckley Miller Wright RENEWAL49Elwin Sharvill
1015Mujtaba P WhobreyBrazil2026-07-06Chanay, Jeffrey A Esq NEGOTIATION95Stephen Shaw
1016Isabel W KolmetzSpain2026-06-16Morlong Associates NEW7Onyama Limba
1017Jones U FigeroaArgentina2026-06-27Dorl, James J Esq QUALIFIED56Elwin Sharvill
1018Mujtaba I WaycottUnited Kingdom2026-07-08Printing Dimensions NEW81Onyama Limba
1019Chavez U FigeroaAustralia2026-07-08Morlong Associates RENEWAL18Ioni Bowcher
1020Murillo H SlusarskiFrance2026-06-19Feltz Printing Service UNQUALIFIED98Bernardo Dominic
1021Nicolas X OldroydFrance2026-06-28Feiner Bros QUALIFIED15Xuxue Feng
1022Sinclair V PaprockiCanada2026-07-01Feltz Printing Service NEW49Anna Fali
1023Darci S TollnerUnited Kingdom2026-06-19Chanay, Jeffrey A Esq NEW24Xuxue Feng
1024David U CampainUnited Kingdom2026-06-19Chemel, James L Cpa RENEWAL87Onyama Limba
1025Mujtaba L MacleadJapan2026-07-09Rangoni Of Florence UNQUALIFIED41Anna Fali
1026Salvatore N DarakjyGermany2026-06-24Printing Dimensions UNQUALIFIED34Anna Fali
1027Wickens C PerinGermany2026-06-25Feltz Printing Service PROPOSAL93Onyama Limba
1028Ashley U DoeIndia2026-06-15Rangoni Of Florence NEGOTIATION35Ivan Magalhaes
1029Johnson F OstroskyIndia2026-07-04Commercial Press UNQUALIFIED89Amy Elsner
1030Kadeem R MaletFrance2026-07-08Benton, John B Jr PROPOSAL89Ivan Magalhaes
1031Mujtaba S CaldareraJapan2026-06-15Feltz Printing Service NEW67Ivan Magalhaes
1032Costa W KuskoRussia2026-06-13Morlong Associates NEGOTIATION95Xuxue Feng
1033Silvio D PaprockiRussia2026-06-18Buckley Miller Wright PROPOSAL61Ivan Magalhaes
1034Stacey Y SaylorsGermany2026-07-07Benton, John B Jr RENEWAL36Asiya Javayant
1035Julie F KolmetzBrazil2026-06-16Printing Dimensions PROPOSAL85Xuxue Feng
1036Smith V ChuiBrazil2026-07-01King, Christopher A Esq QUALIFIED54Anna Fali
1037Claire H StensethAustralia2026-07-05Chanay, Jeffrey A Esq UNQUALIFIED10Xuxue Feng
1038Antonio G RulapaughArgentina2026-07-04Truhlar And Truhlar Attys NEW71Stephen Shaw
1039Ricardo T GarufiItaly2026-07-10Truhlar And Truhlar Attys NEW12Elwin Sharvill
1040Jones Q InouyeIndia2026-06-21Benton, John B Jr PROPOSAL33Amy Elsner
1041Rodrigues R BriddickIndia2026-07-01Feltz Printing Service PROPOSAL69Asiya Javayant
1042Maria S GlickRussia2026-06-28Dorl, James J Esq NEW45Xuxue Feng
1043Greenwood H CampainItaly2026-06-12Feltz Printing Service QUALIFIED71Elwin Sharvill
1044Tony H RoysterJapan2026-07-11Rangoni Of Florence NEGOTIATION70Xuxue Feng
1045Mujtaba H NestleAustralia2026-06-13Rangoni Of Florence NEGOTIATION31Bernardo Dominic
1046Leja Y SergiItaly2026-06-20Feiner Bros RENEWAL8Bernardo Dominic
1047Sinclair N RoysterArgentina2026-06-17Chanay, Jeffrey A Esq QUALIFIED64Elwin Sharvill
1048Maria D DilliardCanada2026-06-28Feltz Printing Service PROPOSAL54Amy Elsner
1049Maria J InouyeJapan2026-06-21Feiner Bros UNQUALIFIED16Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Clifford E WaycottGermanyBernardo Dominic RENEWAL
Maisha U ChuiGermanyAnna Fali RENEWAL
Greenwood F VenereIndiaStephen Shaw UNQUALIFIED
Julie R AlbaresFranceOnyama Limba RENEWAL
Antonio R ButtSpainAmy Elsner PROPOSAL
Maisha C TollnerCanadaIoni Bowcher RENEWAL
Ivar H CampainItalyStephen Shaw QUALIFIED
Juan R DilliardItalyIoni Bowcher PROPOSAL
Maria L RimAustraliaBernardo Dominic NEW
Izzy U StensethSpainElwin Sharvill RENEWAL
Mayumi I WieserJapanAmy Elsner NEGOTIATION
Kaitlin K SlusarskiSpainXuxue Feng NEW
Faith Q SlusarskiIndiaAnna Fali UNQUALIFIED
Octavia M RulapaughJapanAsiya Javayant NEW
Aditya C InouyeCanadaAmy Elsner RENEWAL
Stacey T KolmetzArgentinaIoni Bowcher QUALIFIED
Wickens H KolmetzIndiaAnna Fali UNQUALIFIED
Isabel B MaletItalyElwin Sharvill QUALIFIED
Mayumi H DarakjyArgentinaOnyama Limba QUALIFIED
Jefferson B MacleadBrazilAmy Elsner UNQUALIFIED
Salvatore X ChuiGermanyAmy Elsner PROPOSAL
Ricardo E OldroydGermanyAnna Fali RENEWAL
Aditya V DilliardUnited KingdomIvan Magalhaes PROPOSAL
Aditya P VocelkaRussiaAsiya Javayant PROPOSAL
Chavez U GarufiGermanyXuxue Feng NEW
Faith Q AlbaresItalyIvan Magalhaes UNQUALIFIED
Tony M StensethUnited KingdomAnna Fali PROPOSAL
Wickens O OstroskyAustraliaIoni Bowcher QUALIFIED
Mayumi T GillianAustraliaBernardo Dominic PROPOSAL
Octavia O MarrierIndiaIvan Magalhaes NEGOTIATION
Wickens A SergiFranceAnna Fali UNQUALIFIED
Julie C StockhamArgentinaAmy Elsner NEGOTIATION
David M FollerUnited KingdomBernardo Dominic NEGOTIATION
Izzy E OstroskyArgentinaAnna Fali NEGOTIATION
Antonio J PerinIndiaAsiya Javayant NEGOTIATION
Jefferson E AlbaresCanadaElwin Sharvill UNQUALIFIED
Leon Y VocelkaAustraliaAnna Fali NEW
Darci F SergiBrazilElwin Sharvill NEGOTIATION
Mayumi U BriddickItalyAmy Elsner PROPOSAL
Deepesh F CaudyRussiaAsiya Javayant QUALIFIED
Juan O OstroskyRussiaAnna Fali NEW
Francesco J GauchoFranceStephen Shaw UNQUALIFIED
Rodrigues Q MaletFranceIvan Magalhaes PROPOSAL
Smith N GillianFranceIoni Bowcher RENEWAL
Leja A SergiItalyAnna Fali UNQUALIFIED
Nicolas J CaldareraArgentinaXuxue Feng PROPOSAL
Salvatore B GauchoBrazilAsiya Javayant QUALIFIED
Silvio I VenereUnited KingdomAsiya Javayant PROPOSAL
Murillo S CampainAustraliaAsiya Javayant UNQUALIFIED
Leja J IturbideItalyIvan Magalhaes NEW
Frozen Columns
Name
Salvatore O Iturbide
Misaki O Wieser
Mujtaba I Poquette
Ashley G Butt
Faith P Amigon
Leja M Chui
Claire P Kolmetz
Mujtaba S Chui
Wickens Y Stenseth
Stacey J Rim
Ricardo U Poquette
Rodrigues G Shinko
Morrow D Nestle
Mayumi B Stockham
Morrow W Figeroa
Aditya O Wieser
Johnson L Flosi
Misaki Z Amigon
Antonio G Marrier
Clifford A Caldarera
Smith Q Ferencz
Tony U Royster
Munro W Gillian
Rodrigues S Albares
Morrow E Morasca
Tony Q Oldroyd
Jeanfrancois K Chui
Isabel V Rim
Alejandro V Nicka
Ivar Q Nestle
Antonio D Ferencz
Antonio L Wieser
David Z Tollner
Aruna T Malet
David N Schemmer
Jeanfrancois C Royster
Clifford A Malet
Izzy E Kusko
Deepesh U Malet
Nicolas Q Malet
Salvatore L Campain
Munro L Doe
Emily R Dilliard
Chavez U Albares
Ivar L Albares
Aika B Ruta
Maria C Perin
Darci Q Caldarera
Faith X Nestle
Greenwood S Kusko
IdCountryDate
1000Canada2026-06-29
1001Argentina2026-06-26
1002Japan2026-07-10
1003Russia2026-06-15
1004Spain2026-06-19
1005Canada2026-06-27
1006Italy2026-06-24
1007United Kingdom2026-06-22
1008United Kingdom2026-06-26
1009India2026-06-29
1010Spain2026-06-26
1011Spain2026-06-28
1012India2026-06-22
1013Italy2026-06-17
1014Italy2026-07-06
1015Spain2026-06-13
1016France2026-06-22
1017India2026-06-16
1018Germany2026-06-18
1019France2026-06-28
1020France2026-07-06
1021United Kingdom2026-07-07
1022United Kingdom2026-06-12
1023India2026-07-11
1024Italy2026-06-16
1025Canada2026-07-09
1026Italy2026-06-28
1027India2026-07-01
1028Brazil2026-07-02
1029Germany2026-07-07
1030Canada2026-07-10
1031Argentina2026-07-10
1032Russia2026-06-17
1033France2026-06-27
1034Australia2026-06-23
1035Brazil2026-07-02
1036Brazil2026-07-01
1037Argentina2026-07-03
1038Germany2026-06-22
1039Spain2026-07-07
1040Spain2026-07-04
1041Argentina2026-06-12
1042India2026-06-28
1043Argentina2026-06-29
1044United Kingdom2026-07-11
1045Argentina2026-06-22
1046Japan2026-06-25
1047Italy2026-06-15
1048India2026-06-24
1049Spain2026-07-11

On-Demand Data

NameIdCountryDate
Aditya R Caudy1000United Kingdom2026-07-11
Adams T Paprocki1001Argentina2026-06-20
David O Inouye1002India2026-06-26
Maisha Y Ruta1003India2026-06-16
Morrow R Morasca1004India2026-06-26
Maria M Whobrey1005Germany2026-06-16
Jefferson P Albares1006France2026-06-21
Aika F Iturbide1007Australia2026-06-15
Jennifer Z Caudy1008Russia2026-06-16
Mayumi V Kusko1009Japan2026-07-11
Darci Q Perin1010Spain2026-06-22
Ricardo L Wieser1011Italy2026-07-06
Claire I Saylors1012Canada2026-06-24
Alejandro Q Flosi1013Russia2026-06-15
Leja H Kusko1014Italy2026-07-06
Faith V Gillian1015United Kingdom2026-06-22
Kaitlin U Caldarera1016Italy2026-07-11
Aika U Malet1017Japan2026-06-27
Alejandro K Royster1018Australia2026-06-29
Darci M Iturbide1019Argentina2026-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna C SergiFranceAmy Elsner UNQUALIFIED
Chavez U KolmetzUnited KingdomStephen Shaw RENEWAL
Kaitlin J InouyeAustraliaStephen Shaw NEW
Kadeem X GlickJapanAnna Fali UNQUALIFIED
Jennifer R WieserCanadaAnna Fali NEW
Munro Z BowleyItalyAmy Elsner QUALIFIED
Leja R RulapaughIndiaAnna Fali QUALIFIED
Johnson G InouyeArgentinaXuxue Feng NEW
Munro H ButtBrazilIvan Magalhaes QUALIFIED
Leja U KuskoJapanAsiya Javayant NEGOTIATION
Maisha R AmigonItalyOnyama Limba QUALIFIED
Ricardo Q StensethAustraliaIvan Magalhaes NEW
Sinclair D GillianCanadaIvan Magalhaes RENEWAL
Antonio E NestleUnited KingdomIoni Bowcher QUALIFIED
Octavia Y KolmetzIndiaStephen Shaw NEGOTIATION
Mujtaba Q BriddickArgentinaOnyama Limba RENEWAL
Aditya H PerinRussiaElwin Sharvill NEW
Jennifer N SaylorsGermanyAmy Elsner UNQUALIFIED
Emily Z InouyeJapanIvan Magalhaes UNQUALIFIED
Smith H CaldareraItalyOnyama Limba NEGOTIATION
Leja H DilliardSpainAmy Elsner UNQUALIFIED
Antonio F RoysterCanadaOnyama Limba NEW
Kaitlin T FigeroaArgentinaElwin Sharvill QUALIFIED
Silvio H GarufiIndiaAsiya Javayant PROPOSAL
Izzy H DilliardRussiaAnna Fali NEGOTIATION
Jefferson P GarufiGermanyStephen Shaw RENEWAL
Costa N RutaFranceAnna Fali NEGOTIATION
Arvin R MacleadSpainAnna Fali NEW
Maria M DarakjyUnited KingdomIvan Magalhaes RENEWAL
Greenwood M ChuiItalyXuxue Feng QUALIFIED
Stacey K CaudyIndiaIvan Magalhaes QUALIFIED
Deepesh F CaudyUnited KingdomAsiya Javayant PROPOSAL
Kadeem H DoeIndiaXuxue Feng NEW
Greenwood J FerenczBrazilIvan Magalhaes NEGOTIATION
Deepesh H KolmetzIndiaIoni Bowcher UNQUALIFIED
Costa G WaycottJapanIvan Magalhaes NEGOTIATION
Maria E RimArgentinaAnna Fali PROPOSAL
Emily X CaldareraBrazilStephen Shaw NEGOTIATION
Aditya U KolmetzJapanStephen Shaw PROPOSAL
Smith K GlickGermanyElwin Sharvill 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>