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
Claire A SaylorsRussiaElwin Sharvill RENEWAL
Jones B AmigonCanadaXuxue Feng QUALIFIED
Leja K FerenczSpainElwin Sharvill UNQUALIFIED
Isabel R GlickGermanyXuxue Feng UNQUALIFIED
Aditya A SergiBrazilStephen Shaw NEW
Jennifer V AlbaresJapanStephen Shaw QUALIFIED
Ashley A IturbideJapanXuxue Feng PROPOSAL
Nicolas X VocelkaFranceOnyama Limba NEGOTIATION
Leja V DilliardIndiaAnna Fali QUALIFIED
Antonio P ShinkoJapanIvan Magalhaes UNQUALIFIED
Munro O MorascaBrazilAmy Elsner QUALIFIED
Kaitlin S DoeFranceElwin Sharvill UNQUALIFIED
Jefferson N InouyeJapanXuxue Feng PROPOSAL
Jones G NickaGermanyOnyama Limba NEW
Johnson Z FerenczSpainAsiya Javayant NEGOTIATION
Cody P BriddickIndiaXuxue Feng NEGOTIATION
Ricardo L SaylorsItalyAnna Fali UNQUALIFIED
Juan G FlosiJapanAnna Fali QUALIFIED
Salvatore N OstroskyIndiaIvan Magalhaes NEW
Jeanfrancois A RimIndiaAsiya Javayant NEW
Smith D CaldareraBrazilIoni Bowcher UNQUALIFIED
Aditya U SaylorsArgentinaOnyama Limba NEGOTIATION
Aditya S RimUnited KingdomElwin Sharvill QUALIFIED
Claire Z PerinArgentinaIvan Magalhaes PROPOSAL
Leon K CampainItalyAmy Elsner QUALIFIED
Jennifer Z MorascaArgentinaOnyama Limba RENEWAL
Jennifer G StensethRussiaElwin Sharvill RENEWAL
Alejandro T OldroydRussiaAmy Elsner RENEWAL
James M CaudyAustraliaStephen Shaw NEGOTIATION
Munro Q WieserBrazilIvan Magalhaes PROPOSAL
Adams H NestleAustraliaAnna Fali RENEWAL
Jennifer Q VocelkaJapanIvan Magalhaes RENEWAL
Darci D BowleyItalyAsiya Javayant PROPOSAL
Tony R FlosiItalyXuxue Feng RENEWAL
Ricardo H SchemmerUnited KingdomAmy Elsner NEW
Aruna T BowleyJapanBernardo Dominic NEW
Tony B SchemmerUnited KingdomAsiya Javayant PROPOSAL
Jefferson F BriddickUnited KingdomStephen Shaw QUALIFIED
Salvatore D BriddickRussiaOnyama Limba NEGOTIATION
James R FigeroaIndiaStephen Shaw NEGOTIATION
Leja P ButtFranceBernardo Dominic UNQUALIFIED
James L SlusarskiBrazilElwin Sharvill NEGOTIATION
Greenwood Q GlickCanadaAnna Fali UNQUALIFIED
James T DoeGermanyElwin Sharvill QUALIFIED
Ricardo Y CampainUnited KingdomXuxue Feng NEGOTIATION
Aika Q AmigonGermanyIvan Magalhaes QUALIFIED
Misaki V SaylorsCanadaBernardo Dominic UNQUALIFIED
Greenwood M DarakjyRussiaXuxue Feng QUALIFIED
Aditya B ChuiItalyXuxue Feng PROPOSAL
Kaitlin C StockhamAustraliaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Tony M WieserUnited KingdomXuxue Feng RENEWAL
Cody P NestleFranceStephen Shaw NEW
Aruna Z KolmetzArgentinaStephen Shaw QUALIFIED
Isabel U ShinkoSpainIoni Bowcher PROPOSAL
Silvio N OldroydRussiaOnyama Limba PROPOSAL
Salvatore G NestleItalyStephen Shaw RENEWAL
Jefferson F ChuiIndiaAnna Fali QUALIFIED
Tony X OstroskyAustraliaAmy Elsner PROPOSAL
Ashley X AlbaresArgentinaElwin Sharvill PROPOSAL
Kaitlin K NestleIndiaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja A WieserBrazil2024-05-23Morlong Associates RENEWAL42Elwin Sharvill
1001Stacey A KolmetzRussia2024-06-12Rousseaux, Michael Esq RENEWAL58Elwin Sharvill
1002Aruna T CaudyGermany2024-05-24Morlong Associates NEGOTIATION57Elwin Sharvill
1003Chavez I WhobreyFrance2024-06-20Morlong Associates QUALIFIED87Onyama Limba
1004Aditya P VenereCanada2024-06-17Rousseaux, Michael Esq PROPOSAL76Ioni Bowcher
1005Arvin R ShinkoJapan2024-06-04Chemel, James L Cpa NEGOTIATION85Amy Elsner
1006Arvin V IturbideJapan2024-06-15Dorl, James J Esq PROPOSAL84Anna Fali
1007Aditya H KolmetzJapan2024-06-14Rousseaux, Michael Esq NEGOTIATION67Asiya Javayant
1008Rodrigues V RoysterSpain2024-06-07Buckley Miller Wright PROPOSAL96Xuxue Feng
1009Mayumi V SlusarskiCanada2024-06-10Chanay, Jeffrey A Esq NEW23Asiya Javayant
1010Misaki F PoquetteJapan2024-06-14Rousseaux, Michael Esq NEW93Onyama Limba
1011Isabel R AmigonAustralia2024-06-16King, Christopher A Esq PROPOSAL41Xuxue Feng
1012Leon B ChuiBrazil2024-05-28Rousseaux, Michael Esq UNQUALIFIED78Stephen Shaw
1013Jones C MacleadCanada2024-06-10Dorl, James J Esq PROPOSAL77Onyama Limba
1014Claire S RutaAustralia2024-06-10Chemel, James L Cpa NEW39Ioni Bowcher
1015Jones F GlickArgentina2024-06-20Chemel, James L Cpa NEW76Asiya Javayant
1016Jones B PerinCanada2024-06-17Chemel, James L Cpa NEW71Asiya Javayant
1017Faith F BriddickCanada2024-06-20Chemel, James L Cpa NEGOTIATION63Elwin Sharvill
1018Leja V MacleadCanada2024-06-05Dorl, James J Esq PROPOSAL81Onyama Limba
1019Salvatore G VenereItaly2024-06-09King, Christopher A Esq UNQUALIFIED50Amy Elsner
1020Tony L GauchoRussia2024-05-30Morlong Associates NEW7Amy Elsner
1021Cody Q VenereCanada2024-06-03Rangoni Of Florence NEGOTIATION84Ivan Magalhaes
1022Morrow C CampainItaly2024-06-09Truhlar And Truhlar Attys NEW16Ivan Magalhaes
1023Jennifer T KolmetzJapan2024-06-20Printing Dimensions RENEWAL69Xuxue Feng
1024Faith R KuskoAustralia2024-06-20Feiner Bros UNQUALIFIED85Amy Elsner
1025Silvio F ShinkoUnited Kingdom2024-06-04Chanay, Jeffrey A Esq NEGOTIATION53Bernardo Dominic
1026Jennifer J MarrierAustralia2024-06-14Feltz Printing Service NEW14Amy Elsner
1027Nicolas R KuskoUnited Kingdom2024-06-09Feiner Bros NEW27Stephen Shaw
1028Salvatore Q SchemmerFrance2024-05-24Chemel, James L Cpa RENEWAL62Onyama Limba
1029Salvatore B RutaJapan2024-05-25Morlong Associates RENEWAL20Anna Fali
1030Chavez G NestleAustralia2024-06-14Chapman, Ross E Esq NEGOTIATION4Amy Elsner
1031Munro D GlickItaly2024-05-24Feiner Bros UNQUALIFIED82Ioni Bowcher
1032James J VenereRussia2024-05-23Feiner Bros NEW2Onyama Limba
1033Aditya M IturbideIndia2024-06-07Rangoni Of Florence NEGOTIATION68Ivan Magalhaes
1034Aruna I MacleadSpain2024-06-09Chapman, Ross E Esq RENEWAL71Amy Elsner
1035Mujtaba H ChuiIndia2024-06-21Chapman, Ross E Esq NEGOTIATION9Onyama Limba
1036Sinclair Z IturbideAustralia2024-06-12Commercial Press QUALIFIED31Amy Elsner
1037Faith Z DoeAustralia2024-05-26Chanay, Jeffrey A Esq NEW27Anna Fali
1038Leja S IturbideItaly2024-06-03Buckley Miller Wright NEGOTIATION70Ioni Bowcher
1039Alejandro W AlbaresGermany2024-06-19Truhlar And Truhlar Attys NEW89Ivan Magalhaes
1040Maisha Y ChuiIndia2024-06-11Benton, John B Jr NEW16Onyama Limba
1041Jefferson Q BriddickUnited Kingdom2024-06-10Feltz Printing Service PROPOSAL16Onyama Limba
1042Mujtaba E RulapaughRussia2024-06-20Rousseaux, Michael Esq PROPOSAL90Bernardo Dominic
1043Adams K DarakjyBrazil2024-06-17Dorl, James J Esq NEGOTIATION67Asiya Javayant
1044David Z MaletFrance2024-06-12Truhlar And Truhlar Attys QUALIFIED46Xuxue Feng
1045Maria X WaycottJapan2024-06-20Chemel, James L Cpa NEGOTIATION85Bernardo Dominic
1046Rodrigues G MaletBrazil2024-06-09Dorl, James J Esq RENEWAL34Stephen Shaw
1047Antonio A WieserArgentina2024-06-21Printing Dimensions PROPOSAL72Ioni Bowcher
1048Ricardo C CaudyArgentina2024-06-18Truhlar And Truhlar Attys UNQUALIFIED69Xuxue Feng
1049Silvio D NestleRussia2024-05-24Printing Dimensions RENEWAL28Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Cody B FigeroaGermanyAmy Elsner UNQUALIFIED
Ashley U MarrierArgentinaIoni Bowcher UNQUALIFIED
Stacey R WhobreyIndiaXuxue Feng QUALIFIED
Smith F WaycottCanadaBernardo Dominic PROPOSAL
Jeanfrancois Q ButtUnited KingdomStephen Shaw UNQUALIFIED
Claire A StockhamBrazilIoni Bowcher QUALIFIED
Isabel C PerinUnited KingdomBernardo Dominic NEW
Alejandro O WhobreyArgentinaElwin Sharvill PROPOSAL
Aditya O FigeroaIndiaElwin Sharvill NEW
Stacey B CaudyArgentinaIvan Magalhaes NEGOTIATION
Francesco A ChuiBrazilBernardo Dominic NEW
Nicolas Z TollnerItalyElwin Sharvill NEGOTIATION
Kadeem H KuskoFranceIoni Bowcher PROPOSAL
Alejandro Y CaldareraRussiaBernardo Dominic NEGOTIATION
Faith O ButtItalyElwin Sharvill NEGOTIATION
Faith X RimUnited KingdomElwin Sharvill RENEWAL
Smith C GarufiSpainAsiya Javayant NEGOTIATION
Jefferson H WaycottUnited KingdomIoni Bowcher NEGOTIATION
Darci P WaycottCanadaAmy Elsner QUALIFIED
Nicolas U GlickIndiaAsiya Javayant PROPOSAL
Silvio Y DoeIndiaAmy Elsner QUALIFIED
Tony A MaletCanadaAsiya Javayant RENEWAL
Munro S AmigonJapanIoni Bowcher QUALIFIED
Greenwood L AlbaresJapanIoni Bowcher QUALIFIED
Clifford F BologniaRussiaBernardo Dominic RENEWAL
Ashley L MorascaBrazilOnyama Limba QUALIFIED
Salvatore I DoeFranceAmy Elsner PROPOSAL
Maria A KolmetzRussiaIvan Magalhaes PROPOSAL
Morrow W BriddickAustraliaXuxue Feng RENEWAL
Julie T WaycottCanadaIoni Bowcher PROPOSAL
Aika P DarakjyCanadaIoni Bowcher RENEWAL
Francesco U DarakjyIndiaOnyama Limba NEGOTIATION
Isabel C DoeAustraliaElwin Sharvill RENEWAL
Emily C PaprockiBrazilStephen Shaw NEW
Deepesh U StensethUnited KingdomAsiya Javayant UNQUALIFIED
Ashley S DilliardArgentinaBernardo Dominic RENEWAL
Johnson O AmigonBrazilAnna Fali UNQUALIFIED
Kadeem B MaletArgentinaIvan Magalhaes RENEWAL
Leon P CaudyFranceIvan Magalhaes RENEWAL
Maria R CaudyIndiaStephen Shaw PROPOSAL
Tony Q RimAustraliaIoni Bowcher NEGOTIATION
Francesco E MarrierFranceBernardo Dominic UNQUALIFIED
Adams M BriddickGermanyAsiya Javayant QUALIFIED
Tony C NestleSpainIvan Magalhaes RENEWAL
Claire U GlickFranceAnna Fali UNQUALIFIED
Salvatore Q MacleadAustraliaElwin Sharvill PROPOSAL
Jefferson W WieserRussiaXuxue Feng RENEWAL
Aika F RulapaughJapanElwin Sharvill RENEWAL
Tony W WieserFranceStephen Shaw NEW
Ashley J WaycottRussiaOnyama Limba QUALIFIED
Frozen Columns
Name
Tony S Gaucho
Mayumi G Butt
Jones V Darakjy
Clifford J Garufi
Aruna W Waycott
Izzy M Garufi
Aika F Briddick
Silvio L Ferencz
Antonio H Caudy
Faith Z Morasca
Claire M Nestle
Emily D Morasca
Stacey R Chui
Smith U Wieser
Clifford T Chui
Maisha F Rulapaugh
Misaki Y Oldroyd
Juan A Oldroyd
Ricardo R Bolognia
Leja V Caldarera
Leja W Wieser
Chavez Y Ruta
Adams Y Tollner
Juan X Doe
Izzy P Vocelka
Misaki N Paprocki
Maria U Malet
Costa I Morasca
Johnson L Garufi
Maria M Foller
James G Nestle
Juan A Flosi
Kadeem X Chui
Faith U Chui
Ricardo N Doe
Kaitlin R Albares
James J Dilliard
Aditya H Tollner
Maisha R Bolognia
Julie T Doe
Faith C Venere
Mujtaba M Flosi
Ashley L Vocelka
Wickens Q Ferencz
Cody I Darakjy
Ashley P Shinko
Leja M Shinko
Costa T Slusarski
Jefferson G Caudy
Aruna S Stockham
IdCountryDate
1000Brazil2024-06-02
1001France2024-06-18
1002Russia2024-05-26
1003Argentina2024-05-26
1004France2024-06-13
1005Canada2024-06-04
1006Canada2024-06-05
1007France2024-06-03
1008Germany2024-06-05
1009Brazil2024-06-16
1010Australia2024-06-14
1011Spain2024-05-27
1012Japan2024-06-19
1013Argentina2024-06-14
1014Germany2024-05-23
1015Brazil2024-05-24
1016Germany2024-06-08
1017Australia2024-05-23
1018Brazil2024-05-24
1019Brazil2024-05-25
1020Japan2024-06-07
1021Germany2024-06-09
1022Germany2024-05-24
1023France2024-06-17
1024Australia2024-06-20
1025India2024-06-06
1026India2024-05-31
1027Canada2024-06-04
1028Germany2024-05-26
1029Brazil2024-05-24
1030Brazil2024-05-31
1031Brazil2024-06-20
1032Brazil2024-06-06
1033Russia2024-06-01
1034Russia2024-05-31
1035United Kingdom2024-06-15
1036France2024-05-25
1037Argentina2024-05-27
1038United Kingdom2024-05-24
1039Spain2024-05-28
1040Argentina2024-06-07
1041India2024-06-02
1042Brazil2024-05-23
1043Spain2024-06-05
1044Australia2024-06-19
1045Argentina2024-06-20
1046Canada2024-06-18
1047Russia2024-06-14
1048Japan2024-06-21
1049Canada2024-05-27

On-Demand Data

NameIdCountryDate
Jefferson A Malet1000Argentina2024-06-01
Ivar X Ferencz1001France2024-05-25
Darci U Doe1002Russia2024-06-07
Mujtaba Y Glick1003Germany2024-06-02
Munro C Chui1004Spain2024-06-20
Adams G Doe1005Brazil2024-06-14
Mayumi U Rim1006Canada2024-06-12
Isabel W Malet1007Germany2024-06-19
David O Nestle1008Italy2024-05-23
Faith N Slusarski1009Spain2024-06-12
Sinclair B Sergi1010Canada2024-05-25
Greenwood B Iturbide1011Spain2024-06-10
Isabel U Marrier1012Italy2024-05-28
Clifford V Wieser1013Germany2024-05-23
Morrow W Slusarski1014Australia2024-06-16
Jennifer M Nicka1015Canada2024-06-14
Julie Y Gillian1016Argentina2024-06-08
Maria O Inouye1017France2024-05-27
Misaki X Rim1018United Kingdom2024-05-25
Kaitlin E Stockham1019Canada2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily T PerinIndiaBernardo Dominic NEW
Izzy C GauchoCanadaOnyama Limba NEGOTIATION
Aika T CaldareraFranceXuxue Feng RENEWAL
Mujtaba T SaylorsArgentinaStephen Shaw NEGOTIATION
David I RulapaughRussiaAmy Elsner NEGOTIATION
Emily P SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Isabel M VocelkaFranceIoni Bowcher QUALIFIED
Munro B MarrierAustraliaXuxue Feng RENEWAL
Wickens N ShinkoBrazilIvan Magalhaes PROPOSAL
Tony S GarufiGermanyOnyama Limba PROPOSAL
Jeanfrancois N NestleArgentinaOnyama Limba NEGOTIATION
Jeanfrancois T NestleBrazilAmy Elsner PROPOSAL
Cody P KuskoCanadaStephen Shaw PROPOSAL
Leja G MaletAustraliaBernardo Dominic UNQUALIFIED
Isabel O KuskoBrazilIoni Bowcher UNQUALIFIED
Ricardo X VocelkaAustraliaXuxue Feng UNQUALIFIED
Ricardo K SlusarskiSpainXuxue Feng NEW
Isabel O MorascaBrazilAsiya Javayant RENEWAL
James Q PerinItalyElwin Sharvill PROPOSAL
Wickens Q GillianGermanyXuxue Feng RENEWAL
Aruna V FollerBrazilStephen Shaw RENEWAL
Greenwood Z CaldareraJapanStephen Shaw NEGOTIATION
Chavez S MaletCanadaIvan Magalhaes PROPOSAL
Rodrigues W FerenczArgentinaIvan Magalhaes PROPOSAL
Aditya Z FerenczFranceAmy Elsner RENEWAL
Kadeem P MarrierIndiaOnyama Limba PROPOSAL
David P PerinRussiaBernardo Dominic RENEWAL
Jeanfrancois D FigeroaJapanStephen Shaw UNQUALIFIED
Aika K OldroydBrazilAmy Elsner NEGOTIATION
Aika Y MorascaBrazilOnyama Limba UNQUALIFIED
Aditya X SlusarskiUnited KingdomIvan Magalhaes PROPOSAL
Jones D OldroydAustraliaIvan Magalhaes QUALIFIED
Leja A MaletArgentinaAmy Elsner NEGOTIATION
Jennifer B MaletCanadaStephen Shaw PROPOSAL
Juan Y FerenczIndiaAnna Fali RENEWAL
Maria Y RulapaughArgentinaAnna Fali NEW
David M MacleadArgentinaIvan Magalhaes NEGOTIATION
Ivar U StockhamAustraliaIvan Magalhaes QUALIFIED
Ricardo A BriddickGermanyBernardo Dominic NEGOTIATION
Clifford R BologniaSpainBernardo Dominic 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>