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
Adams N DilliardGermanyXuxue Feng RENEWAL
Jones P AlbaresAustraliaBernardo Dominic RENEWAL
Mujtaba P NestleFranceXuxue Feng NEGOTIATION
David Z GauchoItalyAnna Fali PROPOSAL
Jefferson V AmigonCanadaBernardo Dominic NEGOTIATION
Leja W DilliardAustraliaAnna Fali NEGOTIATION
Munro B RimSpainIvan Magalhaes RENEWAL
Morrow R StensethFranceAnna Fali RENEWAL
Rodrigues P RutaCanadaIoni Bowcher RENEWAL
David Z SaylorsUnited KingdomAsiya Javayant RENEWAL
Mayumi A SergiSpainAmy Elsner PROPOSAL
Salvatore O SlusarskiItalyAnna Fali UNQUALIFIED
Darci Z RoysterFranceOnyama Limba RENEWAL
Clifford A ChuiGermanyAmy Elsner QUALIFIED
Kaitlin U MorascaIndiaStephen Shaw NEW
Kaitlin U RulapaughIndiaAsiya Javayant RENEWAL
Ivar Y SlusarskiSpainElwin Sharvill RENEWAL
Arvin X SergiJapanBernardo Dominic NEGOTIATION
Mayumi L DilliardCanadaBernardo Dominic NEGOTIATION
Cody A ChuiCanadaAnna Fali QUALIFIED
Maria V BologniaAustraliaAsiya Javayant NEW
James F FerenczGermanyIoni Bowcher NEGOTIATION
Ivar Z GarufiUnited KingdomAnna Fali NEGOTIATION
Cody N MorascaIndiaIvan Magalhaes PROPOSAL
Arvin B SlusarskiArgentinaAmy Elsner NEGOTIATION
Johnson C RutaCanadaIvan Magalhaes QUALIFIED
Darci A FigeroaGermanyElwin Sharvill NEW
Sinclair R RoysterSpainAsiya Javayant PROPOSAL
Juan L FerenczItalyIoni Bowcher NEW
Leja D OstroskyIndiaElwin Sharvill PROPOSAL
Tony J MaletRussiaAnna Fali QUALIFIED
Stacey N InouyeGermanyBernardo Dominic UNQUALIFIED
Leja G SchemmerAustraliaAnna Fali NEGOTIATION
Greenwood M KuskoCanadaStephen Shaw UNQUALIFIED
Jefferson W VocelkaAustraliaElwin Sharvill NEGOTIATION
Claire V WhobreyCanadaAmy Elsner RENEWAL
Aruna C MaletRussiaIoni Bowcher PROPOSAL
Smith P VocelkaItalyXuxue Feng NEW
Silvio U MaletJapanAmy Elsner PROPOSAL
Jennifer J MarrierJapanAsiya Javayant RENEWAL
Morrow N RoysterJapanAsiya Javayant PROPOSAL
Jeanfrancois Y OstroskyFranceIvan Magalhaes PROPOSAL
Jeanfrancois S FollerSpainAsiya Javayant NEW
Jones T TollnerJapanBernardo Dominic PROPOSAL
Clifford Y DilliardArgentinaXuxue Feng QUALIFIED
Mayumi P MaletRussiaElwin Sharvill UNQUALIFIED
Munro Q GauchoFranceXuxue Feng QUALIFIED
Jeanfrancois A RulapaughArgentinaOnyama Limba QUALIFIED
Rodrigues Y KolmetzIndiaAmy Elsner NEW
Sinclair X VocelkaJapanAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Aika X ShinkoIndiaStephen Shaw NEW
Jones F StockhamRussiaIoni Bowcher RENEWAL
Leon O MaletBrazilAnna Fali RENEWAL
Maria G BowleySpainStephen Shaw NEGOTIATION
Alejandro V InouyeUnited KingdomStephen Shaw NEGOTIATION
Wickens S VenereSpainIvan Magalhaes PROPOSAL
Faith N WaycottAustraliaIvan Magalhaes RENEWAL
Aditya U PoquetteBrazilAnna Fali UNQUALIFIED
Misaki X PaprockiBrazilIoni Bowcher UNQUALIFIED
Smith S BowleyArgentinaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily N BowleyJapan2024-05-31Rangoni Of Florence RENEWAL79Asiya Javayant
1001Munro X BologniaFrance2024-06-08Morlong Associates NEGOTIATION9Bernardo Dominic
1002Kaitlin G ChuiSpain2024-06-10Feltz Printing Service RENEWAL87Anna Fali
1003Murillo T VenereSpain2024-06-14Feltz Printing Service NEGOTIATION9Asiya Javayant
1004Jeanfrancois T MacleadAustralia2024-06-24Truhlar And Truhlar Attys NEGOTIATION27Asiya Javayant
1005Aruna Z GauchoIndia2024-06-06Benton, John B Jr PROPOSAL39Asiya Javayant
1006Salvatore B VocelkaRussia2024-06-19Chapman, Ross E Esq NEGOTIATION53Asiya Javayant
1007Salvatore Q VocelkaSpain2024-06-02Dorl, James J Esq NEGOTIATION51Xuxue Feng
1008David U MaletFrance2024-06-03Feltz Printing Service UNQUALIFIED95Onyama Limba
1009Leon K SlusarskiRussia2024-06-22Rangoni Of Florence RENEWAL8Ivan Magalhaes
1010Costa M TollnerArgentina2024-06-24Chapman, Ross E Esq NEGOTIATION97Amy Elsner
1011Aruna K GlickIndia2024-06-14Benton, John B Jr RENEWAL12Ivan Magalhaes
1012Kadeem F CaudyItaly2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED59Anna Fali
1013Sinclair M GillianUnited Kingdom2024-06-09Chanay, Jeffrey A Esq PROPOSAL83Asiya Javayant
1014Adams G MarrierUnited Kingdom2024-06-22Commercial Press QUALIFIED31Stephen Shaw
1015Francesco W SlusarskiUnited Kingdom2024-06-20Printing Dimensions NEW46Amy Elsner
1016Antonio P InouyeItaly2024-06-20Buckley Miller Wright UNQUALIFIED81Amy Elsner
1017Ivar Z FerenczBrazil2024-06-09Dorl, James J Esq PROPOSAL52Ivan Magalhaes
1018James I SaylorsJapan2024-06-15Truhlar And Truhlar Attys NEGOTIATION28Anna Fali
1019Tony I OldroydGermany2024-06-24Chapman, Ross E Esq QUALIFIED98Ioni Bowcher
1020Juan Z RimGermany2024-05-31Printing Dimensions RENEWAL97Xuxue Feng
1021Mujtaba A AmigonArgentina2024-06-18Feiner Bros NEGOTIATION14Stephen Shaw
1022Smith Q CaudyIndia2024-06-11Dorl, James J Esq RENEWAL72Stephen Shaw
1023Julie T AlbaresGermany2024-06-07Buckley Miller Wright PROPOSAL20Stephen Shaw
1024Aruna V BologniaFrance2024-06-23King, Christopher A Esq PROPOSAL10Ivan Magalhaes
1025Cody C MaletRussia2024-05-31Feiner Bros UNQUALIFIED21Bernardo Dominic
1026Maisha I FlosiFrance2024-06-23Chemel, James L Cpa PROPOSAL27Anna Fali
1027Clifford S RoysterArgentina2024-06-17Feiner Bros QUALIFIED26Ioni Bowcher
1028Leja V RoysterGermany2024-06-22Commercial Press NEGOTIATION12Bernardo Dominic
1029Ivar L InouyeCanada2024-06-06King, Christopher A Esq NEW48Xuxue Feng
1030Cody I RulapaughItaly2024-06-16Rousseaux, Michael Esq NEW35Elwin Sharvill
1031Jones F DarakjyItaly2024-06-03Morlong Associates PROPOSAL5Xuxue Feng
1032Munro N FlosiGermany2024-06-18Truhlar And Truhlar Attys RENEWAL11Xuxue Feng
1033James X PaprockiRussia2024-06-07Truhlar And Truhlar Attys NEGOTIATION97Ivan Magalhaes
1034Adams K GauchoItaly2024-06-22Chemel, James L Cpa NEGOTIATION27Bernardo Dominic
1035Sinclair X FigeroaFrance2024-06-12Printing Dimensions UNQUALIFIED66Asiya Javayant
1036Darci N WhobreyAustralia2024-06-04Buckley Miller Wright QUALIFIED73Ioni Bowcher
1037Deepesh X DarakjyGermany2024-06-02Chemel, James L Cpa PROPOSAL31Xuxue Feng
1038Julie X GlickIndia2024-06-11Morlong Associates NEGOTIATION56Onyama Limba
1039Claire A KuskoJapan2024-06-18Truhlar And Truhlar Attys NEGOTIATION14Xuxue Feng
1040Salvatore R CampainAustralia2024-06-22Truhlar And Truhlar Attys NEGOTIATION33Anna Fali
1041Smith P MaletUnited Kingdom2024-06-13Dorl, James J Esq NEGOTIATION57Amy Elsner
1042Jeanfrancois E SergiSpain2024-06-14King, Christopher A Esq UNQUALIFIED75Ivan Magalhaes
1043Izzy U IturbideFrance2024-06-11Feltz Printing Service NEW44Xuxue Feng
1044Jones Z PoquetteArgentina2024-06-16Buckley Miller Wright QUALIFIED35Amy Elsner
1045Kadeem T SchemmerUnited Kingdom2024-06-20Benton, John B Jr RENEWAL92Amy Elsner
1046Faith J TollnerSpain2024-06-24Chanay, Jeffrey A Esq UNQUALIFIED16Onyama Limba
1047Chavez I TollnerIndia2024-06-23Rangoni Of Florence QUALIFIED76Xuxue Feng
1048Adams V OstroskyRussia2024-06-19Feiner Bros NEGOTIATION33Onyama Limba
1049Rodrigues Z VocelkaItaly2024-05-30Morlong Associates QUALIFIED50Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Greenwood G WieserGermanyOnyama Limba QUALIFIED
Chavez V KolmetzArgentinaAmy Elsner NEW
Julie N SaylorsArgentinaAmy Elsner RENEWAL
Sinclair D InouyeCanadaIvan Magalhaes PROPOSAL
Sinclair P KuskoGermanyBernardo Dominic RENEWAL
Darci L ChuiItalyBernardo Dominic UNQUALIFIED
Morrow S TollnerJapanIvan Magalhaes NEGOTIATION
Nicolas A WaycottBrazilIvan Magalhaes RENEWAL
Maria U SergiJapanIvan Magalhaes PROPOSAL
Isabel B PoquetteGermanyIoni Bowcher QUALIFIED
Darci I ButtGermanyOnyama Limba PROPOSAL
Aditya Q SchemmerSpainIoni Bowcher UNQUALIFIED
Francesco N SaylorsIndiaIoni Bowcher UNQUALIFIED
Johnson Y KolmetzBrazilIoni Bowcher PROPOSAL
Leja L FollerJapanBernardo Dominic NEW
Wickens Z NickaAustraliaIvan Magalhaes UNQUALIFIED
Mujtaba J PoquetteCanadaAnna Fali QUALIFIED
Kadeem H StockhamJapanBernardo Dominic PROPOSAL
Aditya S GauchoJapanAmy Elsner PROPOSAL
Stacey K TollnerUnited KingdomStephen Shaw QUALIFIED
Aika I DilliardGermanyAmy Elsner RENEWAL
James D BowleyIndiaIvan Magalhaes NEGOTIATION
Deepesh V BriddickUnited KingdomAnna Fali NEGOTIATION
Maria V NestleSpainIvan Magalhaes RENEWAL
Faith I MaletBrazilAmy Elsner NEW
Jones A GillianJapanAmy Elsner UNQUALIFIED
Mujtaba E KuskoBrazilXuxue Feng UNQUALIFIED
Sinclair V SlusarskiAustraliaStephen Shaw UNQUALIFIED
Adams U IturbideBrazilIvan Magalhaes UNQUALIFIED
Aruna S WaycottBrazilXuxue Feng PROPOSAL
Isabel J PerinItalyIoni Bowcher QUALIFIED
Mujtaba Q RutaCanadaIoni Bowcher PROPOSAL
Rodrigues H StensethJapanBernardo Dominic NEW
Mayumi I OldroydIndiaAnna Fali QUALIFIED
Leja Z RulapaughJapanXuxue Feng UNQUALIFIED
Faith Z MorascaBrazilIvan Magalhaes QUALIFIED
Emily P GillianArgentinaAnna Fali PROPOSAL
Aruna U GauchoArgentinaAmy Elsner QUALIFIED
Emily D ButtItalyAmy Elsner UNQUALIFIED
Mayumi T ButtBrazilAnna Fali UNQUALIFIED
Antonio O MarrierArgentinaAnna Fali NEW
Greenwood E IturbideUnited KingdomAsiya Javayant PROPOSAL
Wickens R GauchoAustraliaAsiya Javayant RENEWAL
Ivar A SlusarskiSpainOnyama Limba UNQUALIFIED
Ivar Q GlickIndiaIvan Magalhaes NEW
Izzy Y DilliardCanadaElwin Sharvill PROPOSAL
Alejandro P BriddickAustraliaIoni Bowcher NEW
Ivar K BriddickArgentinaAnna Fali RENEWAL
Munro R BriddickBrazilAnna Fali NEW
Mujtaba B AlbaresRussiaOnyama Limba QUALIFIED
Frozen Columns
Name
Leja C Malet
Octavia G Albares
Leja Y Saylors
Mujtaba H Marrier
Leja S Shinko
Aditya Z Slusarski
Tony E Kolmetz
Leon W Figeroa
Jeanfrancois V Gillian
Emily M Malet
Aditya W Venere
David E Waycott
Isabel K Foller
Francesco Y Saylors
Salvatore Y Oldroyd
Stacey T Bolognia
David M Slusarski
Kaitlin E Doe
Aruna K Foller
Maria J Campain
Silvio U Campain
Francesco N Nicka
Kadeem W Malet
Costa P Gillian
Claire G Ostrosky
Aditya N Butt
Maisha S Rim
Ivar A Paprocki
Silvio C Malet
Munro T Malet
Adams V Bolognia
Julie E Marrier
Maisha E Nicka
Julie Z Waycott
Greenwood V Rulapaugh
Wickens Q Butt
Smith P Kusko
Ashley F Kusko
Alejandro B Kusko
Maria B Glick
Sinclair K Whobrey
Rodrigues H Iturbide
Darci K Royster
Nicolas P Rulapaugh
Claire F Oldroyd
Maisha U Rulapaugh
Mayumi R Venere
Antonio I Iturbide
Deepesh U Wieser
Ashley Y Marrier
IdCountryDate
1000India2024-06-01
1001Italy2024-06-20
1002United Kingdom2024-06-23
1003Spain2024-06-08
1004Russia2024-06-21
1005Canada2024-06-14
1006Germany2024-06-05
1007Argentina2024-05-30
1008Italy2024-06-12
1009France2024-06-19
1010Japan2024-06-07
1011France2024-06-13
1012Brazil2024-05-29
1013Japan2024-05-26
1014United Kingdom2024-06-17
1015Russia2024-06-06
1016Spain2024-06-07
1017Germany2024-05-27
1018Spain2024-06-23
1019India2024-06-16
1020Italy2024-06-01
1021India2024-06-17
1022India2024-06-08
1023Canada2024-06-21
1024Italy2024-06-06
1025Russia2024-06-05
1026Canada2024-06-03
1027Japan2024-05-29
1028Russia2024-06-16
1029Brazil2024-06-09
1030Germany2024-06-12
1031Canada2024-06-17
1032Canada2024-05-26
1033Japan2024-06-04
1034United Kingdom2024-06-08
1035Japan2024-06-20
1036Spain2024-06-02
1037Canada2024-06-07
1038Brazil2024-06-20
1039Japan2024-06-14
1040Russia2024-06-21
1041Brazil2024-06-11
1042France2024-06-15
1043United Kingdom2024-06-16
1044Spain2024-06-21
1045Argentina2024-06-20
1046Italy2024-06-22
1047Spain2024-06-24
1048Italy2024-06-11
1049France2024-06-05

On-Demand Data

NameIdCountryDate
Deepesh U Poquette1000Spain2024-05-30
Sinclair T Doe1001Germany2024-06-14
Izzy T Schemmer1002Canada2024-06-16
Maisha W Foller1003United Kingdom2024-06-18
Aruna H Ruta1004Russia2024-06-09
Maria O Figeroa1005France2024-06-09
Tony J Whobrey1006Germany2024-06-15
James L Sergi1007Spain2024-06-20
Isabel H Malet1008India2024-06-15
Johnson Z Slusarski1009Italy2024-06-15
Nicolas A Wieser1010Germany2024-06-08
Misaki C Malet1011Australia2024-06-06
Faith J Briddick1012Russia2024-06-11
Deepesh Y Slusarski1013India2024-06-17
Salvatore Y Oldroyd1014Brazil2024-06-13
Jefferson J Paprocki1015France2024-06-07
Costa W Dilliard1016Germany2024-05-29
David H Ruta1017Canada2024-06-23
Juan B Rulapaugh1018Germany2024-06-18
Julie K Saylors1019Russia2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria L KuskoCanadaOnyama Limba NEW
Arvin Z FigeroaIndiaXuxue Feng RENEWAL
Ashley Z ButtGermanyXuxue Feng PROPOSAL
Wickens L PerinRussiaStephen Shaw UNQUALIFIED
Antonio I NestleIndiaBernardo Dominic PROPOSAL
Kadeem O RoysterIndiaAnna Fali QUALIFIED
Cody A PaprockiAustraliaAnna Fali PROPOSAL
Francesco P MorascaIndiaElwin Sharvill PROPOSAL
Silvio L RutaFranceAmy Elsner PROPOSAL
Leja O FollerSpainElwin Sharvill NEW
Nicolas M FlosiUnited KingdomIoni Bowcher QUALIFIED
Aika C ShinkoArgentinaXuxue Feng UNQUALIFIED
Stacey V RulapaughGermanyIvan Magalhaes RENEWAL
Mayumi P BowleyBrazilBernardo Dominic RENEWAL
Juan Z BriddickItalyIvan Magalhaes UNQUALIFIED
Tony R IturbideCanadaXuxue Feng UNQUALIFIED
Salvatore S AmigonItalyAnna Fali PROPOSAL
James T AlbaresCanadaXuxue Feng QUALIFIED
David M MaletItalyXuxue Feng NEW
Julie B FlosiJapanAmy Elsner PROPOSAL
Salvatore Z OldroydFranceElwin Sharvill RENEWAL
Chavez U MaletArgentinaIvan Magalhaes RENEWAL
Kadeem H FerenczRussiaIvan Magalhaes QUALIFIED
Deepesh F CaldareraArgentinaIoni Bowcher NEGOTIATION
Maisha U FlosiFranceAsiya Javayant UNQUALIFIED
Juan L AmigonFranceIoni Bowcher UNQUALIFIED
Sinclair P MarrierGermanyBernardo Dominic NEW
Kadeem F WhobreyUnited KingdomOnyama Limba UNQUALIFIED
Adams A BowleyFranceIvan Magalhaes PROPOSAL
Salvatore M FollerJapanAsiya Javayant UNQUALIFIED
Morrow M KolmetzItalyIvan Magalhaes NEGOTIATION
Salvatore P RoysterBrazilAmy Elsner UNQUALIFIED
Faith O ShinkoBrazilAnna Fali QUALIFIED
Costa R DarakjyRussiaAsiya Javayant QUALIFIED
Isabel G KolmetzGermanyIvan Magalhaes NEW
Izzy Y GlickIndiaOnyama Limba NEW
Octavia K SaylorsCanadaAnna Fali NEW
Johnson H GarufiIndiaStephen Shaw UNQUALIFIED
Morrow J PaprockiIndiaXuxue Feng UNQUALIFIED
Izzy N RoysterIndiaBernardo Dominic NEW

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