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
Emily F ShinkoBrazilElwin Sharvill PROPOSAL
Wickens D PerinRussiaAsiya Javayant UNQUALIFIED
Maria B VenereSpainElwin Sharvill NEW
Leja A MaletJapanIvan Magalhaes QUALIFIED
Salvatore L FerenczItalyIoni Bowcher QUALIFIED
Antonio M WaycottFranceOnyama Limba UNQUALIFIED
Mujtaba Y GillianUnited KingdomStephen Shaw QUALIFIED
Francesco J ChuiUnited KingdomStephen Shaw PROPOSAL
Johnson D ChuiIndiaOnyama Limba RENEWAL
Jeanfrancois T WaycottGermanyAnna Fali RENEWAL
David Q BriddickIndiaBernardo Dominic NEW
Isabel V MacleadArgentinaAsiya Javayant NEW
Morrow L StockhamSpainOnyama Limba UNQUALIFIED
Stacey V KolmetzRussiaElwin Sharvill PROPOSAL
Tony F NickaUnited KingdomIvan Magalhaes RENEWAL
Clifford C KolmetzAustraliaXuxue Feng NEGOTIATION
Silvio K PaprockiUnited KingdomBernardo Dominic NEW
Ashley S BowleyCanadaAmy Elsner QUALIFIED
Leja A FigeroaRussiaXuxue Feng RENEWAL
Jennifer S ButtIndiaIvan Magalhaes UNQUALIFIED
David L FlosiRussiaIvan Magalhaes UNQUALIFIED
Aruna F DoeBrazilBernardo Dominic NEGOTIATION
Emily Q MaletSpainIoni Bowcher NEGOTIATION
Chavez H IturbideJapanAmy Elsner PROPOSAL
Greenwood C GarufiSpainXuxue Feng NEGOTIATION
Sinclair S KuskoSpainIoni Bowcher NEGOTIATION
Darci W CaudyItalyBernardo Dominic NEW
Sinclair H TollnerBrazilIoni Bowcher NEW
Juan T GillianCanadaBernardo Dominic PROPOSAL
Arvin P DilliardItalyBernardo Dominic RENEWAL
Sinclair P SergiItalyStephen Shaw NEGOTIATION
Wickens Y OstroskyAustraliaIoni Bowcher NEGOTIATION
Leja R ChuiRussiaXuxue Feng PROPOSAL
Mujtaba G NickaFranceOnyama Limba RENEWAL
Ricardo E AmigonUnited KingdomIoni Bowcher QUALIFIED
Wickens U DarakjyUnited KingdomAsiya Javayant RENEWAL
Maria D CampainArgentinaIoni Bowcher UNQUALIFIED
Julie U MaletArgentinaAnna Fali NEW
Adams V IturbideCanadaXuxue Feng PROPOSAL
Sinclair D BologniaIndiaOnyama Limba NEGOTIATION
Nicolas G SlusarskiGermanyAsiya Javayant NEW
Maria I NestleArgentinaStephen Shaw RENEWAL
Greenwood B PaprockiIndiaElwin Sharvill UNQUALIFIED
Aruna F PoquetteArgentinaIoni Bowcher UNQUALIFIED
Leon B FigeroaFranceIoni Bowcher PROPOSAL
Wickens S KolmetzArgentinaOnyama Limba NEGOTIATION
Chavez E BriddickIndiaAsiya Javayant PROPOSAL
Ivar N BologniaFranceOnyama Limba RENEWAL
Julie T StensethAustraliaIoni Bowcher PROPOSAL
Francesco P VocelkaIndiaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Morrow C BowleyFranceIoni Bowcher QUALIFIED
Emily C CampainItalyAsiya Javayant NEW
Aika K MacleadItalyAsiya Javayant UNQUALIFIED
Claire E SergiArgentinaStephen Shaw NEW
Kaitlin W IturbideCanadaAmy Elsner QUALIFIED
Silvio U CaldareraGermanyIvan Magalhaes QUALIFIED
Antonio S CaldareraGermanyAmy Elsner NEGOTIATION
Isabel O RoysterItalyAmy Elsner NEGOTIATION
Claire L GlickUnited KingdomIvan Magalhaes PROPOSAL
Greenwood U NestleSpainAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar M PerinUnited Kingdom2024-06-15Chemel, James L Cpa QUALIFIED75Ioni Bowcher
1001Kaitlin G FerenczRussia2024-06-05Chanay, Jeffrey A Esq RENEWAL9Xuxue Feng
1002Clifford Q ChuiCanada2024-05-29Dorl, James J Esq RENEWAL54Elwin Sharvill
1003Adams M MarrierJapan2024-06-02Feltz Printing Service QUALIFIED4Onyama Limba
1004Ricardo P IturbideFrance2024-06-10Morlong Associates PROPOSAL50Bernardo Dominic
1005Smith A RulapaughIndia2024-06-06Rousseaux, Michael Esq NEW28Stephen Shaw
1006Arvin G InouyeGermany2024-06-13Rousseaux, Michael Esq NEGOTIATION68Xuxue Feng
1007Chavez I ButtCanada2024-05-26King, Christopher A Esq PROPOSAL80Asiya Javayant
1008Jefferson H VocelkaFrance2024-06-06Commercial Press NEGOTIATION61Ioni Bowcher
1009Salvatore C CampainIndia2024-06-06Chapman, Ross E Esq PROPOSAL63Anna Fali
1010Mujtaba Q IturbideBrazil2024-06-09Morlong Associates RENEWAL96Elwin Sharvill
1011Aika I StensethJapan2024-06-19Printing Dimensions QUALIFIED12Onyama Limba
1012David U StockhamGermany2024-06-08Feiner Bros UNQUALIFIED30Ivan Magalhaes
1013Jones D BowleySpain2024-06-08Chemel, James L Cpa UNQUALIFIED6Asiya Javayant
1014Emily J StockhamGermany2024-06-14Chemel, James L Cpa PROPOSAL78Ioni Bowcher
1015Izzy A TollnerBrazil2024-05-29King, Christopher A Esq RENEWAL71Asiya Javayant
1016Isabel V FlosiCanada2024-06-24Commercial Press UNQUALIFIED64Ioni Bowcher
1017Deepesh L FlosiItaly2024-06-09Chapman, Ross E Esq NEW25Ioni Bowcher
1018Emily Z WhobreyUnited Kingdom2024-05-30Feiner Bros RENEWAL36Xuxue Feng
1019Morrow R ShinkoIndia2024-06-14Benton, John B Jr PROPOSAL50Asiya Javayant
1020Kaitlin F BologniaIndia2024-06-19Buckley Miller Wright UNQUALIFIED51Elwin Sharvill
1021Silvio V PaprockiArgentina2024-05-28Feltz Printing Service NEW35Ivan Magalhaes
1022Smith P NestleUnited Kingdom2024-06-03King, Christopher A Esq PROPOSAL33Anna Fali
1023Nicolas B GlickGermany2024-06-18King, Christopher A Esq PROPOSAL5Xuxue Feng
1024Smith Z InouyeJapan2024-05-31Truhlar And Truhlar Attys RENEWAL34Xuxue Feng
1025Izzy T SaylorsIndia2024-06-18King, Christopher A Esq QUALIFIED98Ivan Magalhaes
1026Julie F CaudyFrance2024-06-19Morlong Associates NEGOTIATION29Asiya Javayant
1027Munro N CampainIndia2024-06-01Chapman, Ross E Esq NEW43Anna Fali
1028Salvatore J PaprockiFrance2024-06-11Feltz Printing Service PROPOSAL51Ioni Bowcher
1029David T SchemmerFrance2024-06-14Commercial Press NEW10Amy Elsner
1030Maisha G PoquetteArgentina2024-06-16Dorl, James J Esq NEGOTIATION52Ivan Magalhaes
1031Julie O DoeIndia2024-05-26Benton, John B Jr QUALIFIED4Anna Fali
1032Claire L RimSpain2024-06-18Commercial Press RENEWAL79Ioni Bowcher
1033Jennifer L StockhamArgentina2024-06-02Printing Dimensions NEW54Asiya Javayant
1034Costa U ShinkoAustralia2024-06-01Feltz Printing Service NEGOTIATION56Onyama Limba
1035Jefferson Q PerinRussia2024-06-20King, Christopher A Esq NEW33Onyama Limba
1036Murillo I ChuiIndia2024-06-01Rousseaux, Michael Esq RENEWAL40Ioni Bowcher
1037Murillo R MaletGermany2024-05-30Morlong Associates NEW2Bernardo Dominic
1038Jeanfrancois J ButtBrazil2024-06-21Truhlar And Truhlar Attys NEW51Asiya Javayant
1039Salvatore P CampainRussia2024-06-20King, Christopher A Esq NEGOTIATION19Anna Fali
1040Greenwood I NickaCanada2024-06-20Benton, John B Jr RENEWAL50Amy Elsner
1041Salvatore X MaletAustralia2024-05-29Printing Dimensions QUALIFIED15Amy Elsner
1042Munro W PerinFrance2024-05-31Printing Dimensions RENEWAL2Xuxue Feng
1043Aruna H FerenczCanada2024-06-19Benton, John B Jr NEGOTIATION29Onyama Limba
1044Kadeem G VocelkaArgentina2024-06-02King, Christopher A Esq NEW6Asiya Javayant
1045Kadeem J NestleFrance2024-06-17Dorl, James J Esq NEGOTIATION36Anna Fali
1046Izzy Z ChuiSpain2024-06-05Dorl, James J Esq QUALIFIED38Bernardo Dominic
1047Izzy I ChuiGermany2024-06-21Rousseaux, Michael Esq QUALIFIED22Anna Fali
1048Arvin X GauchoGermany2024-06-01Benton, John B Jr PROPOSAL59Ioni Bowcher
1049Tony C SergiUnited Kingdom2024-06-18Commercial Press NEGOTIATION27Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Greenwood M StockhamFranceElwin Sharvill NEGOTIATION
Francesco Y AmigonArgentinaElwin Sharvill NEGOTIATION
Mayumi Q KuskoBrazilBernardo Dominic RENEWAL
Silvio H DilliardBrazilStephen Shaw PROPOSAL
Octavia V WaycottBrazilIvan Magalhaes NEGOTIATION
Clifford C CaudyGermanyXuxue Feng UNQUALIFIED
Aditya N CampainBrazilIvan Magalhaes RENEWAL
James F WieserAustraliaAmy Elsner QUALIFIED
Murillo V ShinkoFranceOnyama Limba NEGOTIATION
Aika L FlosiCanadaIoni Bowcher RENEWAL
Sinclair Q WhobreyFranceXuxue Feng RENEWAL
Antonio B IturbideItalyXuxue Feng QUALIFIED
James B OldroydBrazilBernardo Dominic RENEWAL
Rodrigues Y SaylorsAustraliaBernardo Dominic RENEWAL
Deepesh O FollerArgentinaOnyama Limba NEGOTIATION
Silvio E IturbideGermanyXuxue Feng NEGOTIATION
Alejandro C CaldareraFranceIvan Magalhaes NEW
Salvatore V RoysterGermanyBernardo Dominic NEGOTIATION
Ricardo K SlusarskiUnited KingdomXuxue Feng RENEWAL
Julie S SergiCanadaAnna Fali RENEWAL
Ivar R RulapaughFranceIvan Magalhaes QUALIFIED
Smith N SergiCanadaOnyama Limba NEGOTIATION
Isabel J FlosiCanadaBernardo Dominic NEW
Emily X StensethSpainIvan Magalhaes RENEWAL
Juan G MarrierFranceAsiya Javayant RENEWAL
Aditya R MorascaGermanyIoni Bowcher PROPOSAL
Faith A DoeCanadaAmy Elsner NEGOTIATION
Emily T CampainRussiaElwin Sharvill QUALIFIED
Leon Q PaprockiAustraliaIoni Bowcher NEW
Jones D WhobreyJapanAnna Fali PROPOSAL
Morrow N WhobreyRussiaStephen Shaw RENEWAL
Darci L BologniaUnited KingdomAmy Elsner UNQUALIFIED
Octavia D CaudyBrazilAnna Fali NEGOTIATION
Munro E BologniaItalyXuxue Feng RENEWAL
Alejandro Z FlosiCanadaIoni Bowcher NEW
Arvin B DilliardFranceXuxue Feng NEGOTIATION
Mayumi S AmigonAustraliaAnna Fali PROPOSAL
Ashley J SlusarskiBrazilAnna Fali UNQUALIFIED
Francesco A FigeroaCanadaIvan Magalhaes NEW
Leja W NestleIndiaBernardo Dominic NEW
Costa S FerenczFranceStephen Shaw QUALIFIED
Tony K RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Misaki D StensethGermanyStephen Shaw NEW
Stacey B GauchoJapanIoni Bowcher NEW
Mayumi S MacleadJapanAmy Elsner PROPOSAL
Maria G GlickGermanyIoni Bowcher NEGOTIATION
Francesco B FerenczCanadaAsiya Javayant UNQUALIFIED
Francesco P RutaUnited KingdomIvan Magalhaes PROPOSAL
Costa A KolmetzFranceAsiya Javayant QUALIFIED
Greenwood O MorascaUnited KingdomAmy Elsner PROPOSAL
Frozen Columns
Name
Kadeem M Dilliard
Aditya E Morasca
Adams D Malet
Johnson L Sergi
Silvio Y Iturbide
Salvatore T Nestle
Adams W Dilliard
Murillo F Butt
Jefferson G Ferencz
Leja N Caudy
Mayumi Z Ruta
Johnson U Bowley
Darci G Waycott
Julie P Marrier
Sinclair A Stockham
Juan F Amigon
Tony D Inouye
Kaitlin K Figeroa
Johnson C Glick
Kadeem V Ferencz
Clifford N Figeroa
Chavez U Ferencz
Kaitlin N Chui
Murillo G Paprocki
Jefferson P Albares
Maisha E Schemmer
Arvin K Slusarski
Clifford X Kolmetz
Ashley X Glick
Emily T Tollner
Maisha I Inouye
Kaitlin N Briddick
Cody A Rim
Maria R Inouye
Greenwood A Poquette
Johnson H Stockham
Deepesh N Bowley
Antonio F Bowley
Adams O Royster
Jennifer O Ruta
Juan Q Stockham
Jefferson N Glick
James N Oldroyd
Julie X Chui
Murillo T Stenseth
Wickens H Malet
Aruna M Figeroa
Rodrigues V Nestle
Nicolas A Rulapaugh
Wickens N Foller
IdCountryDate
1000Canada2024-05-31
1001France2024-06-23
1002Spain2024-06-16
1003Germany2024-06-11
1004Germany2024-06-22
1005Canada2024-06-19
1006Japan2024-06-11
1007Italy2024-06-20
1008Argentina2024-06-13
1009India2024-06-03
1010Spain2024-06-18
1011France2024-06-21
1012Italy2024-06-03
1013Japan2024-06-21
1014Italy2024-06-11
1015Spain2024-06-02
1016Australia2024-06-07
1017Brazil2024-05-31
1018Russia2024-05-29
1019Canada2024-06-23
1020India2024-06-05
1021Italy2024-05-29
1022France2024-05-30
1023Russia2024-05-30
1024Spain2024-06-14
1025Spain2024-05-28
1026Canada2024-05-29
1027Spain2024-06-24
1028Germany2024-06-17
1029Russia2024-06-03
1030France2024-06-17
1031Spain2024-06-20
1032Brazil2024-06-17
1033Germany2024-06-12
1034Canada2024-05-30
1035France2024-06-19
1036Spain2024-06-15
1037Germany2024-06-19
1038Japan2024-06-18
1039Canada2024-06-22
1040Australia2024-05-31
1041Japan2024-06-20
1042Italy2024-06-22
1043France2024-05-27
1044Germany2024-05-27
1045Italy2024-06-06
1046Australia2024-06-06
1047Argentina2024-05-30
1048Brazil2024-05-29
1049France2024-06-02

On-Demand Data

NameIdCountryDate
Misaki T Rim1000Spain2024-06-19
Aika O Whobrey1001Canada2024-06-02
Mujtaba O Rim1002Russia2024-06-02
Greenwood E Maclead1003Australia2024-05-28
Juan J Perin1004Canada2024-06-12
Tony W Kolmetz1005Argentina2024-06-15
Aruna I Bowley1006India2024-06-22
Chavez D Inouye1007Canada2024-05-26
James G Tollner1008Spain2024-06-11
Kadeem T Vocelka1009United Kingdom2024-06-11
Jones U Royster1010Brazil2024-06-02
Stacey H Darakjy1011Canada2024-06-15
Arvin D Poquette1012Brazil2024-06-14
Chavez N Gaucho1013Argentina2024-06-13
Arvin W Figeroa1014Germany2024-06-14
Silvio P Rim1015Russia2024-06-13
Salvatore C Ruta1016United Kingdom2024-06-11
Deepesh M Marrier1017France2024-06-12
Wickens Q Morasca1018Japan2024-06-18
Kadeem B Gaucho1019Australia2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson X PaprockiGermanyAmy Elsner UNQUALIFIED
Aditya S NestleFranceXuxue Feng NEW
Aruna J KuskoFranceAsiya Javayant PROPOSAL
Antonio Q MarrierCanadaIvan Magalhaes QUALIFIED
Chavez R TollnerArgentinaIoni Bowcher NEW
Francesco L StockhamBrazilXuxue Feng NEGOTIATION
Jeanfrancois Y RulapaughJapanStephen Shaw NEGOTIATION
Greenwood S ShinkoCanadaOnyama Limba PROPOSAL
Izzy C SaylorsJapanXuxue Feng NEW
Alejandro Q DoeJapanOnyama Limba QUALIFIED
Julie K VocelkaIndiaAnna Fali PROPOSAL
Rodrigues K AlbaresArgentinaIvan Magalhaes QUALIFIED
Ashley K SaylorsIndiaStephen Shaw QUALIFIED
Nicolas Y CampainIndiaBernardo Dominic NEW
Leja K WaycottBrazilIoni Bowcher NEW
Jeanfrancois J ButtArgentinaAsiya Javayant UNQUALIFIED
Darci B VenereSpainBernardo Dominic RENEWAL
Rodrigues R SchemmerGermanyAsiya Javayant QUALIFIED
Kaitlin H DoeCanadaIoni Bowcher NEGOTIATION
James M OstroskyJapanOnyama Limba NEW
Nicolas L FigeroaIndiaIoni Bowcher PROPOSAL
Deepesh R OstroskyRussiaAnna Fali UNQUALIFIED
Aika Q SergiAustraliaIoni Bowcher QUALIFIED
Cody B GauchoFranceBernardo Dominic NEW
Francesco M ShinkoJapanElwin Sharvill QUALIFIED
Deepesh B AmigonAustraliaAnna Fali UNQUALIFIED
Octavia Y RutaIndiaAmy Elsner PROPOSAL
Smith S VocelkaCanadaAsiya Javayant UNQUALIFIED
Claire O CaldareraFranceOnyama Limba RENEWAL
Aditya R MarrierSpainAsiya Javayant NEW
Johnson R MorascaJapanAnna Fali QUALIFIED
Kadeem I NestleRussiaStephen Shaw NEW
Jones E BologniaItalyOnyama Limba PROPOSAL
Salvatore C GauchoJapanXuxue Feng PROPOSAL
Greenwood Q CampainIndiaStephen Shaw UNQUALIFIED
Izzy Q ShinkoJapanElwin Sharvill PROPOSAL
Aika Z RimAustraliaElwin Sharvill NEW
Francesco Q DilliardFranceBernardo Dominic PROPOSAL
Faith D FigeroaRussiaStephen Shaw PROPOSAL
Isabel Y PoquetteGermanyElwin Sharvill 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>