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
Antonio T BowleyCanadaElwin Sharvill RENEWAL
Ashley D BriddickIndiaAmy Elsner QUALIFIED
Deepesh T WhobreyArgentinaAmy Elsner QUALIFIED
Johnson C BowleyItalyBernardo Dominic PROPOSAL
Francesco N PoquetteRussiaIvan Magalhaes PROPOSAL
Claire J OldroydCanadaAmy Elsner QUALIFIED
Octavia M MorascaIndiaAmy Elsner PROPOSAL
Leja N ShinkoCanadaXuxue Feng NEW
Smith R PoquetteRussiaOnyama Limba UNQUALIFIED
Kadeem E PerinGermanyElwin Sharvill QUALIFIED
Johnson L MaletBrazilXuxue Feng RENEWAL
Morrow S FerenczBrazilElwin Sharvill RENEWAL
Jefferson A WhobreyBrazilBernardo Dominic RENEWAL
Faith N SergiJapanElwin Sharvill NEGOTIATION
Silvio U VocelkaArgentinaStephen Shaw UNQUALIFIED
Alejandro P SchemmerSpainIoni Bowcher UNQUALIFIED
Alejandro T InouyeArgentinaIvan Magalhaes UNQUALIFIED
Deepesh G CaldareraGermanyAnna Fali NEGOTIATION
Leon W CampainJapanStephen Shaw NEGOTIATION
Francesco V SchemmerSpainXuxue Feng NEGOTIATION
Leon B ShinkoFranceAmy Elsner UNQUALIFIED
Jones B KolmetzSpainAsiya Javayant NEGOTIATION
Isabel S DilliardBrazilIoni Bowcher PROPOSAL
Morrow M NickaJapanAnna Fali PROPOSAL
Faith R ChuiUnited KingdomStephen Shaw QUALIFIED
Kaitlin O BowleyItalyOnyama Limba QUALIFIED
Kaitlin T GarufiRussiaBernardo Dominic RENEWAL
James J AmigonGermanyOnyama Limba PROPOSAL
David R FollerIndiaAnna Fali RENEWAL
Jones U RoysterArgentinaIoni Bowcher NEW
Aditya M CampainSpainIoni Bowcher PROPOSAL
Greenwood E MaletIndiaOnyama Limba PROPOSAL
Costa R WieserGermanyElwin Sharvill PROPOSAL
Emily T OstroskyItalyAsiya Javayant NEW
Johnson U WaycottAustraliaStephen Shaw PROPOSAL
Chavez B ShinkoSpainIvan Magalhaes RENEWAL
Aika V OldroydGermanyElwin Sharvill NEGOTIATION
Alejandro M SchemmerUnited KingdomStephen Shaw PROPOSAL
Darci J TollnerRussiaIvan Magalhaes NEGOTIATION
Ivar P SaylorsRussiaStephen Shaw NEGOTIATION
Faith S KuskoJapanElwin Sharvill RENEWAL
Cody J ChuiGermanyStephen Shaw RENEWAL
Aditya T WhobreyCanadaAnna Fali NEW
Ricardo C ButtGermanyOnyama Limba UNQUALIFIED
Silvio A ButtSpainXuxue Feng NEW
Juan I RutaFranceIoni Bowcher NEW
Maria N KolmetzBrazilBernardo Dominic NEGOTIATION
David R ShinkoUnited KingdomIvan Magalhaes RENEWAL
Octavia I SlusarskiAustraliaAnna Fali UNQUALIFIED
Ashley O NestleAustraliaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Cody V ShinkoGermanyAmy Elsner RENEWAL
Juan R StensethArgentinaElwin Sharvill NEW
Ricardo I PaprockiItalyXuxue Feng PROPOSAL
Tony L BowleyIndiaIoni Bowcher UNQUALIFIED
Salvatore E RoysterBrazilIvan Magalhaes RENEWAL
Maria L RutaArgentinaOnyama Limba NEW
Deepesh S CaudyUnited KingdomOnyama Limba NEW
Jefferson F SchemmerAustraliaAnna Fali UNQUALIFIED
Chavez X TollnerBrazilIvan Magalhaes NEW
Mujtaba L MarrierCanadaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh I BowleyIndia2025-05-22Truhlar And Truhlar Attys NEGOTIATION46Ioni Bowcher
1001David S StockhamArgentina2025-06-08Rangoni Of Florence QUALIFIED49Ivan Magalhaes
1002Arvin V CampainRussia2025-06-09Dorl, James J Esq NEW36Amy Elsner
1003Alejandro J VocelkaSpain2025-05-23Chanay, Jeffrey A Esq RENEWAL95Asiya Javayant
1004Johnson N BologniaItaly2025-05-22Printing Dimensions PROPOSAL27Amy Elsner
1005Alejandro M StockhamItaly2025-05-23Morlong Associates RENEWAL13Xuxue Feng
1006Arvin C NestleAustralia2025-05-22Commercial Press PROPOSAL96Amy Elsner
1007Adams K AmigonUnited Kingdom2025-05-27Rousseaux, Michael Esq RENEWAL10Amy Elsner
1008Mayumi N ChuiItaly2025-06-02Commercial Press QUALIFIED47Elwin Sharvill
1009Smith V OldroydAustralia2025-05-31Rangoni Of Florence UNQUALIFIED31Amy Elsner
1010Misaki W RimGermany2025-05-28Rousseaux, Michael Esq NEW37Asiya Javayant
1011Rodrigues Y WaycottAustralia2025-06-16Rangoni Of Florence NEW37Stephen Shaw
1012Jefferson Q DilliardAustralia2025-05-28Truhlar And Truhlar Attys PROPOSAL70Ivan Magalhaes
1013Silvio M ButtRussia2025-06-08Chanay, Jeffrey A Esq RENEWAL59Asiya Javayant
1014Johnson P InouyeIndia2025-06-13Printing Dimensions NEGOTIATION76Ivan Magalhaes
1015Emily U NestleJapan2025-05-18Benton, John B Jr NEGOTIATION99Onyama Limba
1016Johnson R StockhamFrance2025-05-27Dorl, James J Esq UNQUALIFIED39Anna Fali
1017Aditya P BriddickArgentina2025-05-22Feltz Printing Service PROPOSAL42Xuxue Feng
1018Juan V AmigonGermany2025-06-12Feltz Printing Service PROPOSAL59Stephen Shaw
1019Silvio P RulapaughGermany2025-05-18Printing Dimensions PROPOSAL20Xuxue Feng
1020Murillo H BowleyGermany2025-06-01Truhlar And Truhlar Attys UNQUALIFIED89Stephen Shaw
1021Chavez A SaylorsIndia2025-06-09King, Christopher A Esq NEW6Elwin Sharvill
1022Wickens I OstroskyJapan2025-05-21Feltz Printing Service UNQUALIFIED65Xuxue Feng
1023Wickens O PaprockiRussia2025-05-20Printing Dimensions NEGOTIATION5Asiya Javayant
1024Sinclair P AlbaresAustralia2025-06-05Chapman, Ross E Esq UNQUALIFIED2Stephen Shaw
1025Juan L KuskoAustralia2025-05-22Printing Dimensions UNQUALIFIED39Xuxue Feng
1026Ashley X BriddickAustralia2025-05-24Dorl, James J Esq UNQUALIFIED26Bernardo Dominic
1027Sinclair T VenereSpain2025-05-24Feiner Bros RENEWAL45Elwin Sharvill
1028Maria Y ButtCanada2025-05-26Chapman, Ross E Esq UNQUALIFIED97Asiya Javayant
1029Tony Y WhobreyJapan2025-05-22Truhlar And Truhlar Attys NEGOTIATION81Amy Elsner
1030Nicolas U SergiUnited Kingdom2025-06-03Feiner Bros PROPOSAL57Ioni Bowcher
1031Antonio P BologniaBrazil2025-06-07Rousseaux, Michael Esq RENEWAL96Asiya Javayant
1032Arvin Z VenereSpain2025-06-04Chanay, Jeffrey A Esq UNQUALIFIED71Amy Elsner
1033Ivar K ButtIndia2025-05-28Feltz Printing Service PROPOSAL74Asiya Javayant
1034Tony G OldroydFrance2025-06-10Chapman, Ross E Esq PROPOSAL13Ivan Magalhaes
1035David H MorascaGermany2025-06-09Morlong Associates RENEWAL35Ioni Bowcher
1036Leja L MacleadSpain2025-06-04Benton, John B Jr PROPOSAL63Xuxue Feng
1037Octavia T RoysterIndia2025-06-02Truhlar And Truhlar Attys PROPOSAL64Elwin Sharvill
1038Mujtaba M CaldareraGermany2025-06-16Truhlar And Truhlar Attys NEW2Xuxue Feng
1039Aruna Y GarufiItaly2025-06-06Chapman, Ross E Esq NEGOTIATION75Onyama Limba
1040Jennifer Y RulapaughCanada2025-06-04Printing Dimensions RENEWAL40Bernardo Dominic
1041Rodrigues U VenereFrance2025-06-14Buckley Miller Wright PROPOSAL92Onyama Limba
1042Emily O FlosiBrazil2025-06-09Feltz Printing Service RENEWAL51Stephen Shaw
1043Maria U WaycottFrance2025-06-05Chanay, Jeffrey A Esq NEW82Onyama Limba
1044Leon H ButtFrance2025-06-03Buckley Miller Wright PROPOSAL72Onyama Limba
1045Greenwood X ShinkoGermany2025-06-07Rangoni Of Florence PROPOSAL70Ioni Bowcher
1046Ivar F TollnerIndia2025-05-24Chanay, Jeffrey A Esq PROPOSAL53Elwin Sharvill
1047Jefferson Y WieserIndia2025-05-29Buckley Miller Wright NEW14Asiya Javayant
1048Stacey G StockhamJapan2025-05-31Rangoni Of Florence RENEWAL91Onyama Limba
1049David B PaprockiFrance2025-05-21Morlong Associates QUALIFIED55Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Izzy L WaycottJapanBernardo Dominic UNQUALIFIED
Arvin X SchemmerItalyStephen Shaw UNQUALIFIED
Claire D PaprockiIndiaIoni Bowcher PROPOSAL
Jefferson L OstroskyGermanyElwin Sharvill QUALIFIED
Jones Y AmigonArgentinaOnyama Limba PROPOSAL
Faith F VenereAustraliaStephen Shaw UNQUALIFIED
Kadeem T WhobreyArgentinaElwin Sharvill UNQUALIFIED
David J DilliardAustraliaBernardo Dominic RENEWAL
Stacey I TollnerCanadaOnyama Limba NEW
Julie S WaycottCanadaStephen Shaw UNQUALIFIED
Aditya G OldroydIndiaIoni Bowcher NEW
Jefferson C SchemmerUnited KingdomAnna Fali UNQUALIFIED
Emily O VocelkaBrazilBernardo Dominic NEGOTIATION
Sinclair P GillianGermanyXuxue Feng QUALIFIED
Jeanfrancois Z RulapaughSpainBernardo Dominic RENEWAL
Sinclair S WhobreyUnited KingdomXuxue Feng PROPOSAL
Jones W ButtUnited KingdomBernardo Dominic UNQUALIFIED
Emily O OldroydArgentinaAmy Elsner QUALIFIED
Wickens R AmigonCanadaBernardo Dominic PROPOSAL
Stacey L DarakjyCanadaAsiya Javayant QUALIFIED
Jeanfrancois G SergiUnited KingdomStephen Shaw UNQUALIFIED
James K BriddickFranceAmy Elsner PROPOSAL
Chavez H OstroskyGermanyStephen Shaw PROPOSAL
Murillo Y FollerAustraliaXuxue Feng PROPOSAL
Johnson F BowleyUnited KingdomBernardo Dominic RENEWAL
Julie H GlickRussiaAsiya Javayant QUALIFIED
Leja E VenereArgentinaAmy Elsner NEW
Smith X OstroskyRussiaIoni Bowcher RENEWAL
Kaitlin N FlosiGermanyXuxue Feng QUALIFIED
Tony U SlusarskiItalyElwin Sharvill RENEWAL
Adams O MacleadArgentinaAsiya Javayant QUALIFIED
Salvatore K RutaIndiaAsiya Javayant PROPOSAL
Isabel F AmigonBrazilAnna Fali NEW
Tony Z RimSpainIoni Bowcher PROPOSAL
Cody A SaylorsCanadaStephen Shaw PROPOSAL
Kaitlin Q OldroydSpainAnna Fali QUALIFIED
Ricardo Z VenereRussiaAsiya Javayant RENEWAL
Mujtaba Q NestleItalyIoni Bowcher UNQUALIFIED
Munro W PaprockiSpainIoni Bowcher NEGOTIATION
James M AlbaresRussiaStephen Shaw NEW
Murillo V ChuiAustraliaAsiya Javayant QUALIFIED
Aruna A PaprockiSpainBernardo Dominic NEGOTIATION
Cody M CaudySpainAsiya Javayant NEGOTIATION
Salvatore Z MacleadBrazilAsiya Javayant NEW
Leja M NestleBrazilIoni Bowcher NEW
Kadeem N InouyeGermanyElwin Sharvill NEW
Johnson H FlosiJapanAmy Elsner QUALIFIED
Clifford B IturbideArgentinaBernardo Dominic RENEWAL
Kadeem K WaycottJapanIoni Bowcher NEW
Ricardo R WaycottCanadaOnyama Limba NEGOTIATION
Frozen Columns
Name
Leja X Paprocki
Adams T Ferencz
Alejandro Q Nicka
David V Morasca
Francesco Z Chui
Francesco O Slusarski
Maisha Q Gillian
Emily M Poquette
Munro L Bolognia
Morrow U Maclead
Faith E Maclead
Costa G Malet
Emily S Bowley
Adams K Darakjy
David I Schemmer
Kaitlin H Darakjy
Salvatore Y Kolmetz
Izzy C Albares
Izzy V Bowley
Jones B Tollner
Jeanfrancois Y Chui
Greenwood Y Rim
Maria K Shinko
Jefferson R Gillian
Mujtaba D Waycott
Jones P Poquette
Munro G Maclead
Aditya J Malet
Ivar X Darakjy
Arvin V Ferencz
Aika Z Ostrosky
Mujtaba O Caldarera
Darci X Darakjy
Aika P Butt
Mujtaba S Ostrosky
Francesco I Darakjy
Johnson P Doe
Julie S Tollner
David V Briddick
Ricardo T Poquette
Aruna Y Morasca
Aruna F Perin
Silvio G Royster
Tony M Gillian
Greenwood J Malet
Emily T Whobrey
Cody R Gaucho
Silvio L Iturbide
Ricardo V Chui
Arvin D Malet
IdCountryDate
1000Japan2025-05-21
1001France2025-05-25
1002Italy2025-06-02
1003Germany2025-06-03
1004Argentina2025-06-12
1005Argentina2025-06-15
1006United Kingdom2025-06-13
1007Australia2025-05-20
1008India2025-05-31
1009Russia2025-06-07
1010France2025-06-05
1011Germany2025-05-21
1012Australia2025-05-18
1013India2025-05-31
1014Argentina2025-05-25
1015Spain2025-06-02
1016Australia2025-06-16
1017Spain2025-05-19
1018Italy2025-06-10
1019France2025-05-28
1020Spain2025-06-10
1021Japan2025-05-21
1022Italy2025-06-16
1023Australia2025-06-14
1024Italy2025-06-12
1025Brazil2025-05-26
1026Russia2025-06-14
1027Italy2025-06-04
1028Germany2025-05-23
1029United Kingdom2025-06-16
1030Japan2025-06-12
1031Brazil2025-05-30
1032Brazil2025-05-22
1033Brazil2025-05-18
1034India2025-05-31
1035Argentina2025-06-02
1036Germany2025-06-16
1037Australia2025-05-31
1038Spain2025-05-27
1039Australia2025-06-04
1040Russia2025-06-12
1041Canada2025-05-28
1042Brazil2025-05-29
1043Russia2025-06-13
1044Argentina2025-05-19
1045Italy2025-05-23
1046Brazil2025-05-19
1047Spain2025-05-27
1048India2025-06-08
1049Japan2025-06-09

On-Demand Data

NameIdCountryDate
Aditya Z Schemmer1000Japan2025-06-11
Julie C Caudy1001Canada2025-06-12
Silvio H Bowley1002France2025-05-19
Claire E Stockham1003Russia2025-06-08
Munro G Bowley1004Canada2025-06-08
Arvin P Vocelka1005India2025-06-09
Arvin W Stenseth1006Spain2025-06-11
David Z Dilliard1007Italy2025-06-05
Rodrigues Z Stockham1008Argentina2025-05-29
Izzy K Kusko1009Italy2025-05-28
Izzy L Flosi1010India2025-06-12
Emily N Ferencz1011Spain2025-06-08
Kaitlin F Flosi1012Japan2025-06-15
Kadeem M Saylors1013Argentina2025-05-24
Ivar Z Inouye1014Germany2025-06-10
Izzy X Kusko1015Italy2025-06-16
Salvatore C Iturbide1016United Kingdom2025-05-20
Faith C Whobrey1017Australia2025-05-27
Mujtaba B Flosi1018Japan2025-06-07
Cody T Maclead1019Italy2025-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa D SaylorsBrazilAmy Elsner QUALIFIED
Aika K FerenczFranceElwin Sharvill UNQUALIFIED
Izzy T KuskoJapanAsiya Javayant NEGOTIATION
Arvin H AmigonItalyIoni Bowcher PROPOSAL
Aika T StockhamFranceAsiya Javayant NEGOTIATION
Greenwood Q SlusarskiGermanyBernardo Dominic RENEWAL
Octavia U MacleadGermanyIvan Magalhaes UNQUALIFIED
David X RimRussiaStephen Shaw NEW
Mayumi M FlosiJapanBernardo Dominic NEGOTIATION
Salvatore B RulapaughIndiaIvan Magalhaes NEGOTIATION
Smith M MaletBrazilIoni Bowcher NEW
Alejandro A KolmetzRussiaStephen Shaw QUALIFIED
Clifford B SchemmerRussiaIvan Magalhaes NEW
Francesco V WieserArgentinaAsiya Javayant PROPOSAL
Arvin P DarakjySpainIoni Bowcher UNQUALIFIED
Morrow F KuskoIndiaIoni Bowcher PROPOSAL
Costa K FigeroaFranceBernardo Dominic UNQUALIFIED
Cody Z TollnerBrazilOnyama Limba NEW
Johnson K VocelkaItalyAsiya Javayant NEW
Jennifer J PoquetteAustraliaAsiya Javayant RENEWAL
Tony X WieserItalyIoni Bowcher PROPOSAL
Claire P KuskoGermanyStephen Shaw RENEWAL
Aditya M AlbaresGermanyBernardo Dominic PROPOSAL
Leon L MaletIndiaIoni Bowcher RENEWAL
Maria Z SaylorsRussiaAsiya Javayant RENEWAL
Greenwood B DarakjyBrazilIvan Magalhaes NEW
Smith T NickaItalyAnna Fali QUALIFIED
Jeanfrancois Y RimSpainStephen Shaw PROPOSAL
Mayumi O FlosiUnited KingdomBernardo Dominic NEW
Octavia T TollnerSpainAnna Fali NEW
James D WieserBrazilAsiya Javayant NEW
Claire E WaycottIndiaIvan Magalhaes NEGOTIATION
Darci R FlosiCanadaIvan Magalhaes UNQUALIFIED
Izzy P PaprockiArgentinaAnna Fali PROPOSAL
Chavez P OstroskyArgentinaXuxue Feng NEGOTIATION
Cody E RutaSpainElwin Sharvill QUALIFIED
Mayumi R FlosiGermanyStephen Shaw NEGOTIATION
Leja Z StockhamIndiaBernardo Dominic NEW
Jones X FollerJapanAmy Elsner NEW
Chavez B DoeRussiaBernardo Dominic NEGOTIATION

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