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
Alejandro O BriddickGermanyElwin Sharvill UNQUALIFIED
David L InouyeIndiaIvan Magalhaes NEW
Nicolas M DoeRussiaStephen Shaw QUALIFIED
Jeanfrancois S FlosiIndiaAsiya Javayant PROPOSAL
Maisha Y MaletArgentinaElwin Sharvill UNQUALIFIED
Tony W ShinkoRussiaAnna Fali PROPOSAL
Leja U DarakjyAustraliaElwin Sharvill UNQUALIFIED
Kadeem K DoeUnited KingdomStephen Shaw RENEWAL
Claire P PoquetteJapanXuxue Feng NEGOTIATION
Maria W BriddickBrazilXuxue Feng UNQUALIFIED
Izzy B FlosiUnited KingdomXuxue Feng QUALIFIED
Darci T OstroskySpainAnna Fali RENEWAL
Salvatore N NickaArgentinaAmy Elsner QUALIFIED
Maria I GillianUnited KingdomAsiya Javayant PROPOSAL
Faith A SaylorsSpainOnyama Limba RENEWAL
Kaitlin N PoquetteFranceAmy Elsner NEGOTIATION
Chavez I WieserFranceIvan Magalhaes QUALIFIED
Costa F ButtIndiaOnyama Limba NEW
Octavia P AlbaresRussiaAnna Fali PROPOSAL
Chavez P IturbideAustraliaBernardo Dominic NEGOTIATION
Aika H SlusarskiAustraliaBernardo Dominic NEGOTIATION
Wickens T ButtIndiaAnna Fali RENEWAL
Maisha S SlusarskiItalyStephen Shaw RENEWAL
Aruna V BriddickJapanOnyama Limba QUALIFIED
Juan V AlbaresSpainIoni Bowcher NEGOTIATION
Leon S AlbaresGermanyAsiya Javayant UNQUALIFIED
Adams C TollnerJapanIvan Magalhaes NEGOTIATION
Kadeem K CaudyBrazilStephen Shaw NEW
Izzy H TollnerIndiaAsiya Javayant RENEWAL
Misaki Z CaldareraBrazilAsiya Javayant RENEWAL
Greenwood L VocelkaSpainOnyama Limba RENEWAL
Emily A GarufiFranceElwin Sharvill NEW
Julie I GillianGermanyAsiya Javayant RENEWAL
David C MacleadFranceAnna Fali NEGOTIATION
Mujtaba Q MaletItalyAnna Fali PROPOSAL
Francesco L KolmetzRussiaAsiya Javayant PROPOSAL
Leja I ShinkoArgentinaOnyama Limba QUALIFIED
Jeanfrancois B DilliardItalyAnna Fali RENEWAL
Octavia W TollnerFranceElwin Sharvill NEGOTIATION
Mayumi C BowleyIndiaAnna Fali PROPOSAL
Aika W PaprockiRussiaStephen Shaw PROPOSAL
Misaki X FollerIndiaAsiya Javayant NEW
Emily O WaycottCanadaStephen Shaw PROPOSAL
Arvin O BowleyJapanAmy Elsner NEGOTIATION
Munro B FollerCanadaXuxue Feng UNQUALIFIED
Jennifer Y AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
Ricardo M FerenczJapanElwin Sharvill PROPOSAL
Francesco K MarrierUnited KingdomElwin Sharvill RENEWAL
Chavez D GillianJapanAmy Elsner UNQUALIFIED
Claire Y MorascaFranceIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Nicolas U DoeIndiaElwin Sharvill NEW
Leja F IturbideRussiaElwin Sharvill PROPOSAL
Juan G ChuiArgentinaBernardo Dominic QUALIFIED
Munro N CaldareraArgentinaBernardo Dominic RENEWAL
Ivar T PoquetteIndiaAsiya Javayant UNQUALIFIED
Ricardo T SlusarskiFranceAnna Fali UNQUALIFIED
Silvio Z MarrierJapanIvan Magalhaes NEW
Ivar E NickaBrazilIvan Magalhaes UNQUALIFIED
Antonio A FigeroaSpainAnna Fali QUALIFIED
Greenwood Y GarufiSpainStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith R CampainFrance2024-06-07Commercial Press RENEWAL16Bernardo Dominic
1001Emily Y FerenczFrance2024-05-23Commercial Press PROPOSAL76Anna Fali
1002Silvio Z WieserRussia2024-05-26Commercial Press UNQUALIFIED15Anna Fali
1003James N BowleyCanada2024-05-19Printing Dimensions UNQUALIFIED84Stephen Shaw
1004James K SaylorsFrance2024-06-12Feiner Bros RENEWAL17Ivan Magalhaes
1005Ivar H NickaRussia2024-06-02Dorl, James J Esq QUALIFIED51Elwin Sharvill
1006Mayumi P BologniaIndia2024-05-28Commercial Press NEGOTIATION93Elwin Sharvill
1007Jeanfrancois F CaudyUnited Kingdom2024-05-28Rousseaux, Michael Esq UNQUALIFIED73Stephen Shaw
1008Jones L PerinBrazil2024-05-16Chanay, Jeffrey A Esq NEGOTIATION13Ivan Magalhaes
1009Juan F CampainArgentina2024-06-01Buckley Miller Wright NEW76Stephen Shaw
1010Misaki S DilliardIndia2024-06-11Rousseaux, Michael Esq NEW33Amy Elsner
1011Smith D DoeArgentina2024-05-29Rousseaux, Michael Esq QUALIFIED97Onyama Limba
1012Izzy G GillianUnited Kingdom2024-05-24Buckley Miller Wright NEGOTIATION47Ioni Bowcher
1013Alejandro P StensethArgentina2024-06-01Rousseaux, Michael Esq PROPOSAL74Elwin Sharvill
1014Isabel M FlosiBrazil2024-05-15Benton, John B Jr QUALIFIED59Ioni Bowcher
1015Kaitlin Z MaletBrazil2024-06-02Benton, John B Jr RENEWAL84Ivan Magalhaes
1016Silvio D GillianFrance2024-05-31Chapman, Ross E Esq UNQUALIFIED40Xuxue Feng
1017Leja S ShinkoArgentina2024-06-03Printing Dimensions QUALIFIED55Anna Fali
1018Clifford B BowleyJapan2024-06-07Commercial Press RENEWAL97Asiya Javayant
1019Leja G CaudyGermany2024-05-26Commercial Press RENEWAL42Stephen Shaw
1020Morrow J DarakjyGermany2024-06-10Dorl, James J Esq NEW12Amy Elsner
1021Ricardo I BologniaAustralia2024-06-12Rousseaux, Michael Esq NEGOTIATION28Bernardo Dominic
1022Smith I ButtIndia2024-05-15Rangoni Of Florence PROPOSAL61Elwin Sharvill
1023Octavia B BologniaSpain2024-06-11Printing Dimensions RENEWAL77Anna Fali
1024James Z RimAustralia2024-06-10Printing Dimensions QUALIFIED91Anna Fali
1025Nicolas F StockhamBrazil2024-05-30Dorl, James J Esq QUALIFIED40Elwin Sharvill
1026Ricardo C GarufiArgentina2024-06-01Chanay, Jeffrey A Esq NEGOTIATION90Stephen Shaw
1027Aruna A DarakjyFrance2024-05-21King, Christopher A Esq NEW74Onyama Limba
1028Kadeem L RimJapan2024-06-07Chemel, James L Cpa UNQUALIFIED89Xuxue Feng
1029Adams W StockhamFrance2024-05-18Chemel, James L Cpa RENEWAL83Bernardo Dominic
1030Julie P StockhamUnited Kingdom2024-06-04Dorl, James J Esq PROPOSAL63Xuxue Feng
1031Jones Y RoysterFrance2024-05-21Rousseaux, Michael Esq PROPOSAL32Ivan Magalhaes
1032Costa E MaletItaly2024-05-21Chemel, James L Cpa QUALIFIED65Stephen Shaw
1033Mayumi Y VenereJapan2024-05-18Morlong Associates NEGOTIATION6Bernardo Dominic
1034Wickens H DilliardArgentina2024-06-06Chanay, Jeffrey A Esq NEW43Xuxue Feng
1035Francesco Q ChuiAustralia2024-05-29Benton, John B Jr PROPOSAL61Ioni Bowcher
1036Salvatore F GarufiJapan2024-06-04Printing Dimensions NEGOTIATION82Onyama Limba
1037David J KolmetzArgentina2024-05-21Chapman, Ross E Esq UNQUALIFIED24Elwin Sharvill
1038Wickens L DarakjyCanada2024-06-03Chemel, James L Cpa QUALIFIED43Ioni Bowcher
1039Darci P CaldareraGermany2024-05-20Printing Dimensions UNQUALIFIED5Xuxue Feng
1040Mayumi Y GlickCanada2024-06-01Chemel, James L Cpa UNQUALIFIED8Stephen Shaw
1041Misaki Y PoquetteItaly2024-05-31Dorl, James J Esq QUALIFIED84Stephen Shaw
1042Kadeem I RutaRussia2024-05-19Rangoni Of Florence UNQUALIFIED75Elwin Sharvill
1043Greenwood P SaylorsFrance2024-05-25King, Christopher A Esq QUALIFIED8Asiya Javayant
1044Smith P IturbideCanada2024-05-26Buckley Miller Wright QUALIFIED55Ivan Magalhaes
1045Greenwood N FerenczJapan2024-06-01Truhlar And Truhlar Attys NEW41Amy Elsner
1046James Y WaycottItaly2024-06-01Chemel, James L Cpa NEGOTIATION31Onyama Limba
1047Aika W CaudyArgentina2024-05-28Morlong Associates UNQUALIFIED69Amy Elsner
1048Nicolas P StensethJapan2024-05-15Buckley Miller Wright RENEWAL51Stephen Shaw
1049Julie J KolmetzGermany2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED28Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Clifford L WieserFranceXuxue Feng NEGOTIATION
Tony Z RutaGermanyAsiya Javayant QUALIFIED
Juan S BowleyGermanyBernardo Dominic PROPOSAL
Faith I AlbaresSpainIoni Bowcher NEGOTIATION
Johnson N DoeUnited KingdomAmy Elsner QUALIFIED
Ricardo O GarufiFranceAnna Fali RENEWAL
Misaki V DilliardRussiaAnna Fali PROPOSAL
Arvin W StensethUnited KingdomStephen Shaw PROPOSAL
Misaki B SchemmerArgentinaBernardo Dominic NEGOTIATION
Misaki T BriddickIndiaAsiya Javayant NEGOTIATION
Aditya A OstroskyArgentinaElwin Sharvill QUALIFIED
Salvatore E OldroydRussiaStephen Shaw QUALIFIED
Jefferson U MarrierItalyBernardo Dominic NEW
Aika D TollnerBrazilElwin Sharvill PROPOSAL
Nicolas P InouyeIndiaXuxue Feng RENEWAL
Maisha N DoeRussiaElwin Sharvill RENEWAL
Ivar R AmigonAustraliaAsiya Javayant PROPOSAL
Tony U BowleySpainElwin Sharvill NEGOTIATION
Julie P CampainIndiaAsiya Javayant PROPOSAL
Johnson M CaldareraArgentinaAmy Elsner RENEWAL
Nicolas J PaprockiAustraliaIvan Magalhaes NEGOTIATION
Izzy Z OstroskyItalyOnyama Limba NEW
Faith A MaletArgentinaIoni Bowcher PROPOSAL
Antonio B RimItalyXuxue Feng PROPOSAL
Cody H GarufiRussiaIoni Bowcher QUALIFIED
Munro U NestleFranceStephen Shaw PROPOSAL
Jennifer X SaylorsBrazilXuxue Feng QUALIFIED
Darci Y IturbideFranceAsiya Javayant NEGOTIATION
Greenwood Y DarakjyJapanIoni Bowcher PROPOSAL
Octavia M SaylorsSpainXuxue Feng PROPOSAL
Emily D MarrierRussiaAnna Fali QUALIFIED
Salvatore O NestleJapanAmy Elsner RENEWAL
Nicolas L PoquetteGermanyOnyama Limba UNQUALIFIED
Izzy H MorascaSpainElwin Sharvill UNQUALIFIED
Maisha D GillianJapanElwin Sharvill UNQUALIFIED
Nicolas W SergiItalyXuxue Feng UNQUALIFIED
Mujtaba W TollnerArgentinaXuxue Feng UNQUALIFIED
Stacey J CaudyBrazilXuxue Feng UNQUALIFIED
Antonio B WieserFranceAsiya Javayant PROPOSAL
Johnson W StensethJapanIvan Magalhaes UNQUALIFIED
Aika V TollnerBrazilAnna Fali NEGOTIATION
Mujtaba N StockhamSpainOnyama Limba UNQUALIFIED
Julie O KolmetzUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba D MacleadFranceElwin Sharvill UNQUALIFIED
Mayumi T OldroydArgentinaXuxue Feng PROPOSAL
Sinclair X SaylorsAustraliaAmy Elsner NEW
Leon I MacleadCanadaOnyama Limba RENEWAL
Faith K NickaRussiaAnna Fali PROPOSAL
Maisha M KolmetzFranceAsiya Javayant UNQUALIFIED
Jones B MarrierGermanyElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Francesco Y Campain
Salvatore L Bowley
Izzy S Ruta
Munro K Caudy
Morrow T Venere
Munro F Saylors
Francesco C Oldroyd
Clifford A Campain
Juan R Ferencz
Jones T Saylors
Kadeem D Gaucho
Ivar T Nicka
Ricardo Z Albares
Munro B Vocelka
Ivar E Doe
David D Maclead
Francesco G Gillian
Morrow D Chui
Emily J Tollner
Leon L Ostrosky
Deepesh Y Waycott
Aika P Garufi
Nicolas S Albares
Jeanfrancois S Figeroa
Julie D Stockham
Kadeem W Ruta
Jennifer L Waycott
Munro J Briddick
Tony D Glick
Leja L Albares
Ricardo L Flosi
Greenwood H Nicka
Aditya D Venere
Ricardo R Flosi
Deepesh B Foller
Maisha M Malet
Murillo G Kusko
Arvin T Wieser
Murillo Z Kolmetz
Morrow S Glick
Emily I Malet
Jefferson F Poquette
Mayumi V Albares
Claire Z Caudy
Maisha X Schemmer
Jennifer V Wieser
Juan A Waycott
Alejandro G Ferencz
Johnson A Paprocki
Aditya G Bolognia
IdCountryDate
1000Australia2024-05-20
1001Italy2024-05-19
1002Germany2024-05-22
1003Brazil2024-06-06
1004Brazil2024-06-10
1005Germany2024-05-24
1006Japan2024-05-29
1007Germany2024-05-31
1008France2024-05-31
1009Russia2024-05-25
1010Russia2024-05-17
1011Brazil2024-06-05
1012United Kingdom2024-05-25
1013France2024-05-14
1014Brazil2024-06-09
1015Spain2024-05-14
1016Spain2024-05-26
1017Italy2024-06-12
1018Germany2024-06-09
1019Canada2024-06-07
1020Argentina2024-06-06
1021Argentina2024-05-28
1022Germany2024-06-03
1023Spain2024-05-27
1024Spain2024-06-08
1025Australia2024-06-02
1026France2024-06-06
1027Australia2024-05-18
1028India2024-06-08
1029France2024-05-26
1030Brazil2024-05-18
1031United Kingdom2024-05-16
1032Spain2024-05-14
1033United Kingdom2024-05-22
1034Brazil2024-05-15
1035Russia2024-06-09
1036Russia2024-06-06
1037Russia2024-06-12
1038India2024-05-17
1039United Kingdom2024-06-04
1040India2024-05-23
1041United Kingdom2024-06-06
1042Italy2024-05-28
1043Spain2024-06-10
1044France2024-05-31
1045Russia2024-05-21
1046Brazil2024-05-20
1047Spain2024-06-11
1048Australia2024-05-24
1049Australia2024-05-17

On-Demand Data

NameIdCountryDate
Juan R Darakjy1000Spain2024-05-28
Cody K Sergi1001Japan2024-06-05
Izzy K Inouye1002Italy2024-06-01
Leon T Maclead1003France2024-06-08
Arvin T Sergi1004Italy2024-05-25
Darci X Schemmer1005Spain2024-05-25
Mayumi X Doe1006India2024-06-11
Leja I Malet1007United Kingdom2024-06-09
Leja E Kolmetz1008France2024-05-30
Julie G Stockham1009Germany2024-06-12
Kaitlin P Venere1010Brazil2024-06-02
Alejandro S Bolognia1011Australia2024-05-26
Juan T Darakjy1012Canada2024-06-01
Isabel Z Marrier1013Japan2024-05-23
Francesco A Caldarera1014Australia2024-05-29
Tony H Foller1015Russia2024-05-28
Faith P Butt1016France2024-06-05
Wickens M Slusarski1017Australia2024-06-08
Salvatore H Iturbide1018Canada2024-05-28
Izzy R Bolognia1019Italy2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson Y FerenczIndiaAsiya Javayant NEGOTIATION
Aditya N GauchoRussiaAmy Elsner NEW
David Z MaletAustraliaIvan Magalhaes NEGOTIATION
Aditya Y BowleyBrazilAnna Fali NEW
Mayumi X MacleadBrazilElwin Sharvill NEGOTIATION
Smith J FerenczIndiaXuxue Feng NEGOTIATION
Mayumi R RulapaughSpainOnyama Limba NEGOTIATION
Mujtaba I IturbideFranceAsiya Javayant PROPOSAL
Adams U RulapaughBrazilAsiya Javayant NEGOTIATION
Francesco C SaylorsCanadaXuxue Feng RENEWAL
Francesco H PerinItalyElwin Sharvill RENEWAL
Isabel W AlbaresSpainAmy Elsner NEW
Johnson G MaletBrazilAsiya Javayant NEGOTIATION
Alejandro B WaycottArgentinaOnyama Limba QUALIFIED
Sinclair R FigeroaJapanStephen Shaw RENEWAL
Kadeem E WieserBrazilBernardo Dominic PROPOSAL
Smith Z DilliardRussiaOnyama Limba QUALIFIED
Jefferson U MaletSpainElwin Sharvill PROPOSAL
Johnson T StockhamJapanAmy Elsner NEW
Cody R MaletFranceAmy Elsner QUALIFIED
Johnson M FollerUnited KingdomAsiya Javayant UNQUALIFIED
Maria P StockhamAustraliaAsiya Javayant NEGOTIATION
Alejandro L RulapaughUnited KingdomAnna Fali NEW
Isabel D CaldareraItalyOnyama Limba NEW
Johnson Y FigeroaAustraliaStephen Shaw PROPOSAL
Ivar H MacleadBrazilAmy Elsner PROPOSAL
Francesco V PerinAustraliaXuxue Feng PROPOSAL
Jones P GauchoGermanyAmy Elsner PROPOSAL
Chavez X AlbaresRussiaXuxue Feng PROPOSAL
Maisha T FollerUnited KingdomXuxue Feng RENEWAL
Jones I InouyeJapanElwin Sharvill NEGOTIATION
Clifford G RimJapanBernardo Dominic NEGOTIATION
Alejandro B BriddickGermanyAnna Fali RENEWAL
Sinclair S ChuiRussiaBernardo Dominic NEW
Kadeem C PoquetteSpainXuxue Feng NEGOTIATION
Tony M SaylorsSpainBernardo Dominic QUALIFIED
Morrow T OstroskyGermanyIoni Bowcher QUALIFIED
Mayumi H WaycottFranceXuxue Feng UNQUALIFIED
Julie X SlusarskiGermanyStephen Shaw RENEWAL
Francesco L BowleyCanadaIoni Bowcher QUALIFIED

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