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
Deepesh F WhobreyFranceAsiya Javayant NEGOTIATION
Isabel J WhobreyCanadaIoni Bowcher PROPOSAL
Cody D InouyeCanadaIoni Bowcher NEW
Munro S BowleyItalyXuxue Feng NEGOTIATION
Misaki Z PerinUnited KingdomStephen Shaw QUALIFIED
Ricardo B SlusarskiGermanyBernardo Dominic PROPOSAL
Jefferson V PerinRussiaIoni Bowcher NEGOTIATION
Claire C TollnerBrazilAmy Elsner NEW
Aika A RimAustraliaIoni Bowcher QUALIFIED
Ashley E AlbaresIndiaAmy Elsner UNQUALIFIED
Ricardo N SergiFranceElwin Sharvill NEGOTIATION
Faith L ShinkoAustraliaAmy Elsner NEW
Aika W CaudyArgentinaOnyama Limba NEW
Greenwood L OstroskyIndiaAnna Fali RENEWAL
Munro M GlickAustraliaIoni Bowcher NEGOTIATION
Morrow L ChuiSpainBernardo Dominic UNQUALIFIED
Jones C CaldareraJapanElwin Sharvill RENEWAL
Ashley Y GlickSpainBernardo Dominic UNQUALIFIED
Ivar O VocelkaJapanAnna Fali RENEWAL
Faith T ChuiSpainBernardo Dominic UNQUALIFIED
Ricardo Q BologniaArgentinaElwin Sharvill RENEWAL
Kadeem P MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Sinclair F CaudySpainBernardo Dominic NEGOTIATION
Stacey V RimBrazilAsiya Javayant PROPOSAL
Jennifer T ChuiJapanAsiya Javayant QUALIFIED
Jeanfrancois T CaudyGermanyElwin Sharvill QUALIFIED
Aruna Y NestleAustraliaBernardo Dominic RENEWAL
Claire Z GillianArgentinaIoni Bowcher NEGOTIATION
Smith E ShinkoItalyAnna Fali PROPOSAL
Rodrigues J PoquetteItalyStephen Shaw NEGOTIATION
James I NestleItalyAmy Elsner NEW
Maria G ShinkoUnited KingdomAnna Fali RENEWAL
Emily H RimRussiaElwin Sharvill UNQUALIFIED
Jefferson K NestleSpainAmy Elsner NEGOTIATION
Aditya P NickaBrazilXuxue Feng PROPOSAL
Costa B MarrierFranceStephen Shaw QUALIFIED
Isabel L RutaGermanyAsiya Javayant NEW
Kadeem F DilliardItalyAmy Elsner NEW
Francesco H CaudyRussiaStephen Shaw NEGOTIATION
Maria Q PoquetteItalyXuxue Feng UNQUALIFIED
Maria S BologniaBrazilStephen Shaw NEGOTIATION
Smith T AlbaresRussiaAnna Fali PROPOSAL
Stacey C SaylorsRussiaAnna Fali QUALIFIED
Clifford W VenereJapanIoni Bowcher NEGOTIATION
Costa V SchemmerItalyElwin Sharvill NEW
Jennifer K MacleadArgentinaXuxue Feng QUALIFIED
Darci M BowleyUnited KingdomBernardo Dominic QUALIFIED
Nicolas V MacleadRussiaBernardo Dominic NEW
Antonio V StensethAustraliaStephen Shaw NEW
Wickens L BowleyGermanyAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi B OldroydIndiaElwin Sharvill PROPOSAL
Maria A OldroydBrazilAsiya Javayant PROPOSAL
Arvin N MorascaUnited KingdomOnyama Limba NEGOTIATION
Kaitlin O GillianGermanyXuxue Feng RENEWAL
Claire J CaudyAustraliaAnna Fali PROPOSAL
Juan J RutaIndiaOnyama Limba QUALIFIED
Morrow F MarrierItalyOnyama Limba UNQUALIFIED
Mujtaba A GillianUnited KingdomStephen Shaw UNQUALIFIED
Kaitlin W RimItalyIvan Magalhaes NEGOTIATION
Aditya L PaprockiFranceXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues I MarrierArgentina2024-05-29King, Christopher A Esq PROPOSAL54Stephen Shaw
1001Arvin L SlusarskiSpain2024-05-28Feiner Bros RENEWAL44Onyama Limba
1002Maisha C FollerAustralia2024-05-26Buckley Miller Wright NEGOTIATION68Bernardo Dominic
1003Mujtaba E MacleadJapan2024-06-05Morlong Associates NEW59Amy Elsner
1004Morrow F VocelkaArgentina2024-05-26Rangoni Of Florence NEW3Xuxue Feng
1005Isabel E GillianJapan2024-06-20Feltz Printing Service QUALIFIED39Elwin Sharvill
1006Misaki C StensethSpain2024-05-31Rousseaux, Michael Esq PROPOSAL83Amy Elsner
1007Murillo K NestleRussia2024-06-05Feltz Printing Service NEW17Elwin Sharvill
1008James P GillianCanada2024-06-11Rousseaux, Michael Esq PROPOSAL34Ivan Magalhaes
1009Greenwood B InouyeCanada2024-06-13Feltz Printing Service QUALIFIED77Bernardo Dominic
1010Aditya X IturbideItaly2024-06-15Rousseaux, Michael Esq UNQUALIFIED91Ivan Magalhaes
1011Jennifer K WieserCanada2024-06-23Morlong Associates NEW14Xuxue Feng
1012Alejandro Z RoysterArgentina2024-05-28Buckley Miller Wright RENEWAL27Elwin Sharvill
1013Alejandro N MacleadArgentina2024-06-14Feltz Printing Service PROPOSAL96Bernardo Dominic
1014Tony K OldroydItaly2024-06-14King, Christopher A Esq RENEWAL65Ivan Magalhaes
1015Johnson S FollerAustralia2024-05-30Chemel, James L Cpa QUALIFIED42Amy Elsner
1016Chavez P VocelkaAustralia2024-06-01Feltz Printing Service RENEWAL89Onyama Limba
1017Alejandro T OstroskyAustralia2024-06-06Dorl, James J Esq RENEWAL61Onyama Limba
1018Maria C WieserBrazil2024-05-28Commercial Press PROPOSAL4Bernardo Dominic
1019Aruna V DoeArgentina2024-06-15Chapman, Ross E Esq NEGOTIATION85Ivan Magalhaes
1020Mayumi N PoquetteSpain2024-06-08Chemel, James L Cpa UNQUALIFIED40Asiya Javayant
1021Alejandro V CaldareraArgentina2024-06-24Benton, John B Jr QUALIFIED49Ioni Bowcher
1022Sinclair E RulapaughIndia2024-06-24Benton, John B Jr QUALIFIED82Ioni Bowcher
1023Clifford V SlusarskiItaly2024-06-01Feltz Printing Service QUALIFIED51Ioni Bowcher
1024Rodrigues G CampainItaly2024-06-05Benton, John B Jr UNQUALIFIED22Elwin Sharvill
1025Morrow B IturbideSpain2024-06-07Commercial Press UNQUALIFIED20Ioni Bowcher
1026Smith B DoeAustralia2024-06-23Chemel, James L Cpa QUALIFIED30Bernardo Dominic
1027Mujtaba D StensethItaly2024-05-31Feltz Printing Service PROPOSAL8Amy Elsner
1028Jones X FlosiJapan2024-06-10Chemel, James L Cpa RENEWAL9Xuxue Feng
1029Stacey Q FlosiJapan2024-05-30Buckley Miller Wright QUALIFIED17Amy Elsner
1030Murillo S RoysterAustralia2024-06-15Chanay, Jeffrey A Esq RENEWAL87Bernardo Dominic
1031Jefferson G RutaJapan2024-06-10Chapman, Ross E Esq UNQUALIFIED82Asiya Javayant
1032Antonio Y FigeroaUnited Kingdom2024-06-09Feiner Bros UNQUALIFIED96Amy Elsner
1033Cody H NestleSpain2024-06-23Rangoni Of Florence PROPOSAL56Amy Elsner
1034Ivar F RimBrazil2024-06-19Rangoni Of Florence RENEWAL95Xuxue Feng
1035Rodrigues Q FollerGermany2024-06-16Rangoni Of Florence NEW0Xuxue Feng
1036Leon N NickaIndia2024-06-09Rousseaux, Michael Esq QUALIFIED73Amy Elsner
1037Jeanfrancois I OldroydSpain2024-05-31Dorl, James J Esq PROPOSAL23Bernardo Dominic
1038Kadeem X FigeroaGermany2024-06-17Feltz Printing Service RENEWAL23Elwin Sharvill
1039Francesco F SergiArgentina2024-06-11King, Christopher A Esq PROPOSAL66Bernardo Dominic
1040Jones F MorascaIndia2024-06-18Feltz Printing Service UNQUALIFIED9Ioni Bowcher
1041Cody C WhobreyFrance2024-06-16Dorl, James J Esq QUALIFIED99Stephen Shaw
1042Jefferson T VenereUnited Kingdom2024-06-11Commercial Press PROPOSAL87Stephen Shaw
1043Emily F CampainAustralia2024-06-16King, Christopher A Esq QUALIFIED43Xuxue Feng
1044Jefferson L MorascaFrance2024-06-23Dorl, James J Esq UNQUALIFIED32Ivan Magalhaes
1045Leon A FollerItaly2024-06-10Rangoni Of Florence NEGOTIATION62Ioni Bowcher
1046Octavia J GillianItaly2024-06-22Dorl, James J Esq NEGOTIATION79Bernardo Dominic
1047Kadeem F RulapaughCanada2024-06-13Commercial Press RENEWAL90Ioni Bowcher
1048Ricardo Q CaudyCanada2024-06-22Feiner Bros NEGOTIATION68Elwin Sharvill
1049Stacey M RimUnited Kingdom2024-06-23Chapman, Ross E Esq QUALIFIED30Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jefferson Q MaletItalyAsiya Javayant NEGOTIATION
Greenwood I MaletIndiaElwin Sharvill UNQUALIFIED
Antonio G PoquetteItalyAnna Fali NEGOTIATION
Jennifer Q TollnerAustraliaAnna Fali RENEWAL
Johnson V KolmetzAustraliaAmy Elsner NEGOTIATION
Juan L PaprockiFranceAnna Fali RENEWAL
Kaitlin S InouyeJapanIvan Magalhaes NEGOTIATION
Misaki H ButtUnited KingdomOnyama Limba QUALIFIED
Antonio I VenereItalyBernardo Dominic NEGOTIATION
Jefferson O SlusarskiFranceIvan Magalhaes NEW
Smith R ShinkoUnited KingdomAsiya Javayant NEGOTIATION
Maisha W MarrierAustraliaXuxue Feng RENEWAL
Izzy S KuskoArgentinaOnyama Limba PROPOSAL
Arvin E DarakjyCanadaIvan Magalhaes NEGOTIATION
Kadeem E SergiBrazilIvan Magalhaes PROPOSAL
Costa W DarakjyRussiaOnyama Limba RENEWAL
Munro R MorascaBrazilStephen Shaw UNQUALIFIED
Ricardo K MorascaSpainIvan Magalhaes RENEWAL
Arvin T MaletUnited KingdomIoni Bowcher NEGOTIATION
Adams D PoquetteGermanyAmy Elsner UNQUALIFIED
Leja B OldroydUnited KingdomAmy Elsner RENEWAL
Salvatore U DarakjyRussiaAnna Fali QUALIFIED
Misaki E FerenczBrazilElwin Sharvill RENEWAL
Smith G RulapaughItalyAmy Elsner NEW
Maria X SchemmerUnited KingdomIvan Magalhaes RENEWAL
James B FlosiArgentinaBernardo Dominic PROPOSAL
Jones Q RoysterJapanIoni Bowcher NEGOTIATION
James M DilliardItalyAnna Fali NEGOTIATION
Juan V GlickRussiaAmy Elsner PROPOSAL
Aruna E DoeCanadaOnyama Limba RENEWAL
Tony L SlusarskiArgentinaAmy Elsner NEW
Leon P GillianGermanyXuxue Feng NEGOTIATION
Leja X TollnerSpainAnna Fali RENEWAL
Jefferson P WaycottGermanyXuxue Feng RENEWAL
Munro W MacleadArgentinaXuxue Feng PROPOSAL
Aruna H RoysterItalyAmy Elsner RENEWAL
Juan H KuskoBrazilAmy Elsner NEW
Antonio S AmigonUnited KingdomIoni Bowcher NEW
Stacey N PaprockiUnited KingdomOnyama Limba QUALIFIED
James G GlickFranceAnna Fali NEW
Murillo W PoquetteAustraliaAsiya Javayant PROPOSAL
Rodrigues R RimArgentinaAmy Elsner NEW
Johnson N DoeJapanAmy Elsner QUALIFIED
Clifford Z DarakjyArgentinaAsiya Javayant RENEWAL
Isabel E NestleIndiaAsiya Javayant NEGOTIATION
Chavez R MorascaItalyXuxue Feng NEGOTIATION
Ashley D OldroydCanadaIoni Bowcher NEW
Mujtaba X OldroydSpainXuxue Feng NEW
Adams D FlosiArgentinaOnyama Limba PROPOSAL
Sinclair I CaldareraJapanBernardo Dominic RENEWAL
Frozen Columns
Name
Cody Q Paprocki
Cody J Malet
Emily I Bowley
Kaitlin G Inouye
Mujtaba R Nicka
Costa N Campain
Maria E Ostrosky
Faith J Slusarski
Juan N Amigon
Deepesh Y Waycott
Juan V Nicka
Costa O Figeroa
Jeanfrancois U Wieser
Juan R Flosi
Kadeem D Morasca
Rodrigues P Kolmetz
Misaki R Doe
Emily F Albares
Misaki Y Flosi
Murillo Y Flosi
Kadeem K Gaucho
Aditya A Ostrosky
Octavia X Stockham
Smith H Malet
Leja M Vocelka
Izzy G Maclead
Mujtaba N Saylors
Nicolas W Iturbide
Silvio B Bowley
David R Kolmetz
Adams T Ferencz
Salvatore M Whobrey
Smith R Oldroyd
Aruna I Malet
Chavez N Caldarera
Nicolas R Inouye
Mujtaba A Caudy
Greenwood X Slusarski
Nicolas N Inouye
Alejandro I Malet
Maria N Nicka
Jeanfrancois X Butt
Julie E Foller
Stacey L Foller
Izzy Q Stenseth
Leja W Vocelka
Wickens B Briddick
Claire M Schemmer
Nicolas Y Nestle
Sinclair T Maclead
IdCountryDate
1000France2024-06-08
1001Argentina2024-06-15
1002Argentina2024-06-22
1003Argentina2024-06-24
1004Australia2024-06-14
1005United Kingdom2024-06-05
1006Australia2024-06-10
1007Argentina2024-06-11
1008Australia2024-06-06
1009Spain2024-06-12
1010United Kingdom2024-05-27
1011Italy2024-05-29
1012India2024-05-27
1013Germany2024-06-03
1014France2024-06-20
1015France2024-06-16
1016Brazil2024-06-21
1017Spain2024-06-20
1018United Kingdom2024-05-31
1019India2024-06-16
1020Germany2024-06-04
1021Brazil2024-06-20
1022France2024-05-26
1023Canada2024-06-12
1024Italy2024-06-10
1025Brazil2024-05-31
1026Spain2024-05-30
1027Italy2024-06-17
1028Brazil2024-05-30
1029France2024-06-12
1030Italy2024-06-05
1031Italy2024-06-15
1032United Kingdom2024-06-19
1033Spain2024-06-20
1034United Kingdom2024-05-26
1035Spain2024-06-13
1036United Kingdom2024-06-21
1037Japan2024-06-20
1038United Kingdom2024-05-29
1039Spain2024-06-05
1040Spain2024-06-19
1041India2024-05-30
1042United Kingdom2024-06-09
1043Russia2024-06-18
1044Australia2024-06-22
1045Germany2024-06-11
1046Japan2024-06-14
1047Italy2024-06-24
1048India2024-06-21
1049Japan2024-06-03

On-Demand Data

NameIdCountryDate
Misaki O Garufi1000Spain2024-06-24
Jefferson O Shinko1001India2024-06-12
Jefferson W Nestle1002Spain2024-06-21
Wickens Y Garufi1003Brazil2024-06-19
Ricardo O Whobrey1004India2024-06-10
Leon Q Doe1005Germany2024-06-14
Silvio I Saylors1006Australia2024-05-30
Nicolas Z Sergi1007Japan2024-05-31
Clifford H Morasca1008India2024-06-20
Izzy T Stenseth1009United Kingdom2024-06-12
Sinclair Q Malet1010Argentina2024-06-03
Ivar M Figeroa1011Australia2024-06-20
Morrow H Wieser1012Italy2024-06-16
David J Dilliard1013Germany2024-06-02
Chavez F Saylors1014Japan2024-06-03
Octavia F Maclead1015Argentina2024-06-07
James I Chui1016Japan2024-06-05
Deepesh C Chui1017Spain2024-06-23
Octavia R Tollner1018France2024-06-04
Ivar Z Ruta1019Argentina2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey S FerenczBrazilIoni Bowcher UNQUALIFIED
Clifford V GillianGermanyOnyama Limba UNQUALIFIED
Ivar W ShinkoCanadaBernardo Dominic QUALIFIED
Leja A RimBrazilIoni Bowcher NEW
Salvatore P KolmetzCanadaElwin Sharvill NEGOTIATION
Mujtaba V RimGermanyStephen Shaw NEW
Claire X OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Costa S BriddickRussiaIoni Bowcher NEW
Costa X RutaIndiaIvan Magalhaes NEW
James V MorascaItalyIoni Bowcher PROPOSAL
Ricardo P FlosiGermanyAmy Elsner NEW
Clifford G CaldareraAustraliaXuxue Feng UNQUALIFIED
Octavia G WaycottArgentinaIvan Magalhaes NEW
Munro Y MaletBrazilIoni Bowcher UNQUALIFIED
Julie L ChuiSpainOnyama Limba NEGOTIATION
James D PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Jennifer K ChuiCanadaIoni Bowcher RENEWAL
Wickens D ButtIndiaXuxue Feng UNQUALIFIED
Silvio U StockhamSpainXuxue Feng PROPOSAL
Izzy J OstroskyArgentinaBernardo Dominic UNQUALIFIED
Jennifer Y BologniaJapanOnyama Limba UNQUALIFIED
David K WhobreyIndiaIoni Bowcher NEW
Izzy J NestleFranceAnna Fali NEW
Chavez E PaprockiGermanyBernardo Dominic QUALIFIED
Silvio F InouyeBrazilAnna Fali PROPOSAL
Jennifer U FerenczFranceOnyama Limba NEW
Isabel M AmigonIndiaOnyama Limba RENEWAL
Silvio X OstroskyAustraliaAnna Fali RENEWAL
Arvin O InouyeIndiaStephen Shaw UNQUALIFIED
Wickens M InouyeGermanyBernardo Dominic NEW
Francesco F PoquetteAustraliaIvan Magalhaes QUALIFIED
Kadeem V CampainIndiaIoni Bowcher QUALIFIED
Aruna U TollnerFranceAsiya Javayant UNQUALIFIED
Alejandro D ShinkoAustraliaXuxue Feng PROPOSAL
Isabel R ShinkoIndiaStephen Shaw QUALIFIED
Salvatore E ButtJapanOnyama Limba QUALIFIED
Isabel Q AmigonIndiaIvan Magalhaes QUALIFIED
Misaki P PaprockiIndiaIoni Bowcher PROPOSAL
Costa F MarrierJapanStephen Shaw QUALIFIED
Nicolas Z PaprockiUnited KingdomIvan Magalhaes 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>