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
Greenwood B MaletJapanIoni Bowcher NEW
Wickens N StockhamSpainAsiya Javayant RENEWAL
Ivar M InouyeArgentinaIoni Bowcher NEW
Ricardo E MaletAustraliaAsiya Javayant PROPOSAL
Murillo J CaudyJapanXuxue Feng NEGOTIATION
Arvin T AlbaresRussiaIoni Bowcher QUALIFIED
Jennifer U WaycottUnited KingdomIoni Bowcher QUALIFIED
Darci F VocelkaArgentinaElwin Sharvill PROPOSAL
Emily K BowleyAustraliaOnyama Limba QUALIFIED
Kadeem G PaprockiSpainOnyama Limba PROPOSAL
Izzy C OldroydFranceOnyama Limba RENEWAL
Arvin H FerenczGermanyIvan Magalhaes RENEWAL
Jones M PerinRussiaAsiya Javayant RENEWAL
Greenwood R RulapaughUnited KingdomStephen Shaw NEW
Maria Q NestleArgentinaAmy Elsner NEGOTIATION
James R BowleyFranceIoni Bowcher NEW
Emily G ShinkoArgentinaIoni Bowcher NEW
Francesco R AlbaresCanadaBernardo Dominic NEW
Arvin R StockhamArgentinaAmy Elsner PROPOSAL
Emily T FollerGermanyXuxue Feng QUALIFIED
Greenwood Y GarufiGermanyXuxue Feng NEGOTIATION
Aruna N RoysterBrazilStephen Shaw PROPOSAL
Johnson Q RutaBrazilIvan Magalhaes NEGOTIATION
Smith N RoysterBrazilAnna Fali NEW
Ivar K CaldareraBrazilIvan Magalhaes NEW
Jefferson U ChuiIndiaElwin Sharvill NEW
Maria A RimBrazilStephen Shaw PROPOSAL
Jefferson X StockhamFranceAnna Fali NEGOTIATION
Chavez Q MacleadFranceAsiya Javayant RENEWAL
Jeanfrancois B WaycottAustraliaAsiya Javayant PROPOSAL
Jones U CampainFranceAsiya Javayant UNQUALIFIED
Kadeem C VenereCanadaBernardo Dominic NEW
Deepesh H FerenczSpainStephen Shaw NEGOTIATION
Stacey B MacleadSpainXuxue Feng QUALIFIED
Faith X StockhamArgentinaIvan Magalhaes NEW
Aika H RoysterArgentinaAsiya Javayant QUALIFIED
Nicolas N BriddickSpainIvan Magalhaes NEGOTIATION
Kadeem I SchemmerBrazilBernardo Dominic NEGOTIATION
Misaki H ButtRussiaElwin Sharvill PROPOSAL
Deepesh Q StensethGermanyOnyama Limba PROPOSAL
Mayumi X CaldareraUnited KingdomAmy Elsner NEW
Costa T GillianArgentinaAmy Elsner PROPOSAL
Murillo H FlosiJapanStephen Shaw PROPOSAL
Aruna A MaletFranceIoni Bowcher NEGOTIATION
Nicolas G MorascaCanadaXuxue Feng PROPOSAL
Juan H KolmetzArgentinaAmy Elsner UNQUALIFIED
Arvin M BowleyJapanOnyama Limba QUALIFIED
Jennifer C AmigonRussiaAmy Elsner RENEWAL
Morrow O KolmetzAustraliaAmy Elsner NEW
Arvin H IturbideJapanStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens R RoysterGermanyBernardo Dominic NEW
James A MacleadArgentinaXuxue Feng RENEWAL
Alejandro C OldroydSpainIoni Bowcher NEW
Alejandro Q TollnerCanadaIoni Bowcher QUALIFIED
Nicolas R SaylorsSpainElwin Sharvill NEGOTIATION
Jennifer E CampainAustraliaAmy Elsner RENEWAL
Rodrigues Y GlickUnited KingdomAnna Fali QUALIFIED
Aika S StockhamCanadaIvan Magalhaes QUALIFIED
Isabel D CaudyRussiaStephen Shaw RENEWAL
Darci W SergiSpainXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo Y OldroydArgentina2024-04-29Feltz Printing Service NEW3Ivan Magalhaes
1001Greenwood B WaycottRussia2024-05-09Rousseaux, Michael Esq PROPOSAL91Ioni Bowcher
1002Maisha K OldroydRussia2024-05-22Feiner Bros PROPOSAL27Xuxue Feng
1003Jones I SlusarskiIndia2024-05-17Dorl, James J Esq RENEWAL67Onyama Limba
1004Smith N GlickArgentina2024-05-26Buckley Miller Wright UNQUALIFIED39Asiya Javayant
1005Greenwood U FollerSpain2024-05-04Chemel, James L Cpa PROPOSAL79Ioni Bowcher
1006Alejandro B GarufiRussia2024-05-22Commercial Press NEW41Stephen Shaw
1007Tony H ChuiUnited Kingdom2024-05-14Commercial Press PROPOSAL54Amy Elsner
1008Munro K SaylorsUnited Kingdom2024-05-01Feiner Bros NEGOTIATION60Asiya Javayant
1009Antonio N MaletRussia2024-05-05Benton, John B Jr QUALIFIED50Bernardo Dominic
1010Clifford H GarufiUnited Kingdom2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED30Elwin Sharvill
1011Leja Y SlusarskiAustralia2024-05-08Chapman, Ross E Esq UNQUALIFIED44Asiya Javayant
1012Aditya M CaudyArgentina2024-05-19Chemel, James L Cpa NEW23Xuxue Feng
1013Maria R OldroydCanada2024-05-17Printing Dimensions UNQUALIFIED49Ivan Magalhaes
1014Munro Z MorascaItaly2024-05-18Rangoni Of Florence UNQUALIFIED57Anna Fali
1015Mujtaba L SchemmerSpain2024-05-24Feiner Bros NEGOTIATION17Amy Elsner
1016Salvatore A BowleyAustralia2024-05-18King, Christopher A Esq UNQUALIFIED68Asiya Javayant
1017Jennifer T RoysterAustralia2024-05-05Rousseaux, Michael Esq PROPOSAL82Asiya Javayant
1018Clifford S CaldareraAustralia2024-05-22Chemel, James L Cpa NEGOTIATION50Anna Fali
1019Aika Z SergiGermany2024-05-22Dorl, James J Esq QUALIFIED84Stephen Shaw
1020Sinclair H SaylorsRussia2024-05-24Morlong Associates NEGOTIATION90Stephen Shaw
1021Stacey R PaprockiBrazil2024-05-18Dorl, James J Esq RENEWAL80Elwin Sharvill
1022Munro Z ShinkoFrance2024-05-23Rangoni Of Florence NEW66Onyama Limba
1023Ashley M KolmetzSpain2024-05-03Chapman, Ross E Esq RENEWAL93Amy Elsner
1024Morrow A VenereArgentina2024-05-15Benton, John B Jr NEW31Stephen Shaw
1025Smith K RulapaughCanada2024-04-29Buckley Miller Wright UNQUALIFIED81Elwin Sharvill
1026Tony O MorascaGermany2024-05-11Chemel, James L Cpa RENEWAL76Anna Fali
1027Rodrigues K StensethUnited Kingdom2024-05-01Chapman, Ross E Esq NEW76Ioni Bowcher
1028Mayumi D KuskoArgentina2024-05-07Feiner Bros NEGOTIATION47Onyama Limba
1029Munro J InouyeUnited Kingdom2024-05-03Dorl, James J Esq RENEWAL72Xuxue Feng
1030Misaki J InouyeArgentina2024-05-21Truhlar And Truhlar Attys QUALIFIED54Ivan Magalhaes
1031Ricardo C GarufiAustralia2024-05-19Rangoni Of Florence NEGOTIATION77Onyama Limba
1032Arvin O FigeroaRussia2024-05-09Truhlar And Truhlar Attys NEGOTIATION43Onyama Limba
1033Misaki K CaudyFrance2024-05-14Morlong Associates QUALIFIED78Anna Fali
1034Deepesh Q RutaJapan2024-05-14Commercial Press NEW76Onyama Limba
1035Alejandro G WaycottAustralia2024-05-25Commercial Press QUALIFIED66Stephen Shaw
1036Aika H FlosiSpain2024-05-07Truhlar And Truhlar Attys UNQUALIFIED11Elwin Sharvill
1037Nicolas D NickaSpain2024-05-19Commercial Press PROPOSAL49Ivan Magalhaes
1038Nicolas G TollnerBrazil2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED1Ioni Bowcher
1039Maisha X CaldareraJapan2024-04-28Buckley Miller Wright UNQUALIFIED79Amy Elsner
1040Darci B PerinItaly2024-05-13Commercial Press PROPOSAL9Amy Elsner
1041Kadeem B MacleadAustralia2024-05-09Rousseaux, Michael Esq RENEWAL63Ioni Bowcher
1042Silvio S WaycottAustralia2024-05-03Printing Dimensions NEGOTIATION32Stephen Shaw
1043Wickens Q FlosiAustralia2024-05-20Chemel, James L Cpa QUALIFIED66Ioni Bowcher
1044Tony O CaudyAustralia2024-04-28King, Christopher A Esq QUALIFIED18Amy Elsner
1045Ashley X WhobreyBrazil2024-05-14Benton, John B Jr NEW73Asiya Javayant
1046Emily R CampainItaly2024-05-07Chanay, Jeffrey A Esq NEGOTIATION29Xuxue Feng
1047Claire B SergiSpain2024-05-20Benton, John B Jr RENEWAL60Asiya Javayant
1048Johnson I NickaGermany2024-05-17Rousseaux, Michael Esq QUALIFIED11Asiya Javayant
1049Leon F KuskoCanada2024-05-25Chemel, James L Cpa NEW96Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Murillo Q SaylorsIndiaBernardo Dominic QUALIFIED
Isabel J SaylorsCanadaAmy Elsner NEGOTIATION
Juan X KuskoSpainAnna Fali UNQUALIFIED
Leja G RoysterGermanyStephen Shaw NEW
Arvin Q FigeroaGermanyOnyama Limba UNQUALIFIED
Antonio C BowleyItalyIoni Bowcher QUALIFIED
Juan L GlickGermanyXuxue Feng RENEWAL
Nicolas R SlusarskiRussiaOnyama Limba QUALIFIED
Salvatore L CaudyRussiaBernardo Dominic QUALIFIED
Deepesh K InouyeGermanyAsiya Javayant RENEWAL
Kaitlin I VocelkaArgentinaStephen Shaw PROPOSAL
Aditya K WaycottSpainStephen Shaw QUALIFIED
Julie T TollnerJapanElwin Sharvill RENEWAL
Ashley Z RulapaughFranceXuxue Feng RENEWAL
Jones O KolmetzGermanyBernardo Dominic RENEWAL
Ricardo M RutaUnited KingdomIoni Bowcher QUALIFIED
Sinclair F DoeJapanIoni Bowcher PROPOSAL
Ivar F GauchoBrazilStephen Shaw NEGOTIATION
Antonio A OldroydSpainElwin Sharvill QUALIFIED
Adams H SchemmerRussiaIoni Bowcher PROPOSAL
Chavez U WaycottRussiaAnna Fali PROPOSAL
Jeanfrancois O NickaSpainStephen Shaw PROPOSAL
Emily P BologniaUnited KingdomAsiya Javayant RENEWAL
Isabel A StensethSpainXuxue Feng NEGOTIATION
Murillo Z WieserUnited KingdomOnyama Limba NEW
David E ButtUnited KingdomAnna Fali QUALIFIED
Maisha W VenereRussiaBernardo Dominic NEGOTIATION
Misaki Z MacleadCanadaAsiya Javayant PROPOSAL
Emily D NestleBrazilAsiya Javayant QUALIFIED
Ashley R DoeSpainIoni Bowcher NEW
Cody U NestleSpainStephen Shaw UNQUALIFIED
Cody H OldroydArgentinaStephen Shaw NEW
James N NestleCanadaAnna Fali QUALIFIED
Kadeem A FerenczItalyXuxue Feng RENEWAL
Francesco N RimItalyAsiya Javayant RENEWAL
Jeanfrancois T GlickAustraliaAmy Elsner PROPOSAL
Wickens J FollerArgentinaOnyama Limba UNQUALIFIED
Wickens T FlosiAustraliaXuxue Feng UNQUALIFIED
Wickens J RulapaughUnited KingdomIoni Bowcher NEW
Nicolas O OstroskyCanadaAnna Fali NEW
Nicolas J StensethGermanyElwin Sharvill RENEWAL
Juan U InouyeSpainBernardo Dominic UNQUALIFIED
Ivar F SchemmerRussiaOnyama Limba PROPOSAL
Jeanfrancois R VocelkaFranceAsiya Javayant UNQUALIFIED
Julie Y BologniaAustraliaXuxue Feng NEGOTIATION
Aruna I BowleyGermanyAmy Elsner UNQUALIFIED
Chavez H AlbaresArgentinaAmy Elsner UNQUALIFIED
Claire P CaudyUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois K ChuiAustraliaStephen Shaw UNQUALIFIED
Chavez F DarakjyJapanOnyama Limba UNQUALIFIED
Frozen Columns
Name
Aditya L Nestle
Chavez X Stenseth
Juan E Garufi
Aditya J Kusko
Jefferson M Malet
Chavez Z Ferencz
Aditya N Albares
Sinclair A Venere
Arvin F Amigon
Maria V Campain
Ivar Q Doe
Stacey T Waycott
Mayumi B Tollner
Munro M Marrier
Silvio A Whobrey
Julie P Stockham
Aditya H Vocelka
Stacey Z Malet
Faith L Briddick
Ashley J Figeroa
Leon C Vocelka
Darci B Doe
Jennifer U Caldarera
Francesco X Morasca
Francesco R Marrier
Juan F Vocelka
Ashley O Poquette
Adams L Bolognia
Wickens K Ruta
Julie P Darakjy
Chavez K Bolognia
Maria X Ostrosky
Octavia R Saylors
Maisha W Butt
Jones C Nicka
Claire R Tollner
Alejandro X Bowley
Antonio N Bolognia
Greenwood R Venere
Stacey A Butt
Maisha W Nestle
Ashley K Figeroa
Octavia J Nicka
Nicolas P Gaucho
Cody D Inouye
Adams P Bolognia
Ashley E Saylors
Costa L Oldroyd
Jennifer K Gillian
Arvin U Kolmetz
IdCountryDate
1000Australia2024-04-28
1001Japan2024-05-18
1002Spain2024-05-26
1003Argentina2024-05-09
1004Spain2024-04-30
1005United Kingdom2024-05-11
1006Canada2024-05-27
1007Spain2024-05-17
1008Japan2024-05-26
1009France2024-05-05
1010Germany2024-05-20
1011Brazil2024-05-06
1012Spain2024-05-11
1013France2024-05-21
1014Italy2024-05-23
1015Spain2024-05-02
1016India2024-05-05
1017Australia2024-05-21
1018Russia2024-05-05
1019Japan2024-05-21
1020India2024-05-21
1021United Kingdom2024-04-28
1022France2024-05-20
1023Germany2024-05-10
1024France2024-05-27
1025Italy2024-05-24
1026India2024-05-02
1027Spain2024-05-17
1028Spain2024-05-11
1029Argentina2024-05-06
1030Argentina2024-05-15
1031France2024-05-26
1032Italy2024-05-27
1033Argentina2024-05-19
1034Japan2024-05-14
1035Germany2024-05-01
1036France2024-05-19
1037Germany2024-05-14
1038Russia2024-04-29
1039India2024-05-23
1040Germany2024-05-12
1041Argentina2024-05-27
1042France2024-05-12
1043Germany2024-05-25
1044Spain2024-05-09
1045Canada2024-05-08
1046Australia2024-05-03
1047Brazil2024-05-21
1048Germany2024-05-18
1049Germany2024-05-19

On-Demand Data

NameIdCountryDate
Greenwood X Vocelka1000Russia2024-05-10
Murillo S Rim1001Australia2024-05-14
Morrow L Oldroyd1002Russia2024-05-05
Aruna W Caudy1003India2024-05-08
Morrow U Gillian1004Argentina2024-04-29
Ashley X Butt1005United Kingdom2024-05-16
Octavia N Darakjy1006Australia2024-05-06
Kadeem L Kolmetz1007United Kingdom2024-05-02
Sinclair I Darakjy1008Canada2024-04-29
Munro M Sergi1009Spain2024-05-16
Tony J Flosi1010India2024-05-03
Antonio Z Albares1011Argentina2024-05-14
Juan W Bowley1012Argentina2024-04-30
Aruna Q Glick1013United Kingdom2024-05-09
Octavia G Iturbide1014Germany2024-05-09
Maria H Poquette1015Italy2024-05-27
Nicolas M Vocelka1016Australia2024-05-22
Tony Q Poquette1017Argentina2024-05-05
Stacey R Butt1018Russia2024-05-20
Stacey A Iturbide1019Russia2024-05-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey Q NestleFranceOnyama Limba NEGOTIATION
Johnson O FigeroaItalyElwin Sharvill RENEWAL
Antonio A MaletRussiaXuxue Feng UNQUALIFIED
Kadeem F GauchoIndiaXuxue Feng NEGOTIATION
Izzy J BowleyRussiaBernardo Dominic RENEWAL
Darci U WieserItalyBernardo Dominic NEW
Izzy B VenereUnited KingdomElwin Sharvill NEGOTIATION
Clifford M MorascaFranceBernardo Dominic UNQUALIFIED
Greenwood B ChuiIndiaXuxue Feng QUALIFIED
Rodrigues O AmigonSpainAnna Fali UNQUALIFIED
James A FlosiJapanIvan Magalhaes QUALIFIED
Jefferson F ShinkoItalyIoni Bowcher RENEWAL
Leja E MorascaArgentinaBernardo Dominic PROPOSAL
Greenwood F CampainCanadaIoni Bowcher RENEWAL
Maria O RoysterItalyStephen Shaw RENEWAL
Aruna T ShinkoRussiaOnyama Limba RENEWAL
Clifford W FerenczFranceAsiya Javayant RENEWAL
Antonio O PoquetteUnited KingdomOnyama Limba QUALIFIED
Ricardo V BriddickCanadaStephen Shaw UNQUALIFIED
Faith T SchemmerBrazilAmy Elsner NEW
Julie X DoeItalyIoni Bowcher UNQUALIFIED
Francesco Q SlusarskiBrazilBernardo Dominic PROPOSAL
Jefferson O DilliardRussiaIoni Bowcher UNQUALIFIED
Mayumi P GauchoFranceXuxue Feng NEGOTIATION
Ashley W GillianIndiaIoni Bowcher QUALIFIED
Antonio X BriddickRussiaOnyama Limba NEGOTIATION
Aika V PoquetteCanadaIoni Bowcher NEW
Tony Z StockhamRussiaBernardo Dominic NEGOTIATION
Greenwood X VocelkaArgentinaAmy Elsner NEGOTIATION
Emily R RimAustraliaXuxue Feng NEW
Juan J DoeRussiaOnyama Limba NEW
Emily C WaycottArgentinaOnyama Limba QUALIFIED
Kaitlin B MorascaArgentinaOnyama Limba NEW
Chavez N BowleySpainAmy Elsner QUALIFIED
Morrow P WieserGermanyAmy Elsner NEGOTIATION
Ashley R MaletJapanAnna Fali NEGOTIATION
Octavia G FlosiIndiaIoni Bowcher RENEWAL
Nicolas Z TollnerItalyIvan Magalhaes PROPOSAL
Isabel X CaldareraGermanyOnyama Limba NEGOTIATION
Wickens L MarrierSpainAnna Fali 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>