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 D CampainArgentinaAsiya Javayant RENEWAL
Munro P SergiIndiaAnna Fali NEGOTIATION
Aika W BowleySpainAmy Elsner QUALIFIED
Chavez M NickaIndiaBernardo Dominic UNQUALIFIED
Jennifer W AlbaresGermanyAnna Fali RENEWAL
Leon U ChuiFranceXuxue Feng RENEWAL
David U MaletFranceAnna Fali QUALIFIED
Morrow X GauchoGermanyIvan Magalhaes UNQUALIFIED
Maisha Z BowleyUnited KingdomAmy Elsner NEW
Wickens U InouyeAustraliaXuxue Feng NEGOTIATION
Misaki E NickaCanadaAmy Elsner PROPOSAL
Misaki D ShinkoUnited KingdomAnna Fali UNQUALIFIED
Murillo H GillianArgentinaXuxue Feng UNQUALIFIED
Chavez J MorascaUnited KingdomElwin Sharvill NEGOTIATION
Leja T PoquetteCanadaIoni Bowcher UNQUALIFIED
David B BologniaItalyBernardo Dominic NEW
Clifford Y GauchoRussiaAsiya Javayant RENEWAL
Costa A CampainJapanIoni Bowcher RENEWAL
Chavez R PaprockiSpainXuxue Feng RENEWAL
Munro I MorascaItalyAmy Elsner NEW
Sinclair B CaldareraGermanyIvan Magalhaes UNQUALIFIED
Izzy L SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Maisha X DilliardCanadaIoni Bowcher QUALIFIED
Mujtaba N WieserUnited KingdomStephen Shaw PROPOSAL
Clifford M FlosiAustraliaIoni Bowcher UNQUALIFIED
Smith I CaldareraCanadaAmy Elsner UNQUALIFIED
Kadeem Z WhobreyGermanyOnyama Limba QUALIFIED
Sinclair O BriddickUnited KingdomAnna Fali PROPOSAL
Isabel P FlosiBrazilXuxue Feng RENEWAL
Darci F DilliardIndiaAmy Elsner RENEWAL
Kaitlin O DoeIndiaStephen Shaw RENEWAL
Octavia N MarrierSpainOnyama Limba NEW
Darci O InouyeItalyIoni Bowcher RENEWAL
Aditya R OldroydRussiaOnyama Limba UNQUALIFIED
Jennifer N MarrierFranceIvan Magalhaes NEW
Salvatore H DoeFranceAsiya Javayant RENEWAL
Leja M KolmetzAustraliaIvan Magalhaes RENEWAL
Aditya Z SlusarskiRussiaIvan Magalhaes PROPOSAL
Cody M SchemmerIndiaOnyama Limba PROPOSAL
Ashley U CaldareraSpainStephen Shaw NEW
Claire M RulapaughSpainAsiya Javayant QUALIFIED
Kaitlin R KuskoGermanyXuxue Feng NEW
Jeanfrancois V TollnerBrazilAnna Fali NEGOTIATION
Adams Q FollerRussiaStephen Shaw QUALIFIED
James K SlusarskiJapanAsiya Javayant PROPOSAL
Tony G FerenczFranceElwin Sharvill NEW
Ivar B IturbideIndiaIoni Bowcher UNQUALIFIED
Octavia W RimSpainAnna Fali QUALIFIED
Misaki P GlickUnited KingdomIoni Bowcher NEGOTIATION
Jones T FollerArgentinaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar G VocelkaBrazilAmy Elsner RENEWAL
Rodrigues N IturbideIndiaElwin Sharvill NEGOTIATION
Aika U FerenczGermanyAnna Fali RENEWAL
Kadeem G ShinkoGermanyIvan Magalhaes PROPOSAL
Alejandro Y SchemmerItalyBernardo Dominic NEW
James C MorascaBrazilElwin Sharvill PROPOSAL
Murillo J InouyeRussiaIoni Bowcher UNQUALIFIED
Izzy P WieserItalyIvan Magalhaes PROPOSAL
Ivar I VenereBrazilXuxue Feng NEGOTIATION
Darci R FerenczArgentinaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith P PaprockiJapan2024-05-24Dorl, James J Esq NEGOTIATION74Asiya Javayant
1001Wickens Y CaudyAustralia2024-05-23Rousseaux, Michael Esq PROPOSAL18Amy Elsner
1002Murillo X NestleItaly2024-06-08Rousseaux, Michael Esq NEW56Stephen Shaw
1003Salvatore Y OstroskyFrance2024-05-28Morlong Associates PROPOSAL83Asiya Javayant
1004Rodrigues N ShinkoJapan2024-06-06Benton, John B Jr NEGOTIATION29Onyama Limba
1005Aika Q CampainUnited Kingdom2024-06-20Benton, John B Jr PROPOSAL56Xuxue Feng
1006Johnson E FollerAustralia2024-06-05Rangoni Of Florence NEW51Asiya Javayant
1007Deepesh H CaudyIndia2024-06-14Morlong Associates UNQUALIFIED12Bernardo Dominic
1008Kaitlin K PaprockiItaly2024-06-18Rangoni Of Florence NEW58Ioni Bowcher
1009Misaki W GillianIndia2024-06-20Feltz Printing Service NEGOTIATION81Stephen Shaw
1010Morrow O AlbaresIndia2024-05-22Chemel, James L Cpa RENEWAL2Amy Elsner
1011Deepesh F GlickGermany2024-06-07Buckley Miller Wright NEW92Bernardo Dominic
1012Octavia H OstroskyIndia2024-06-02Buckley Miller Wright RENEWAL48Bernardo Dominic
1013Jeanfrancois K PaprockiItaly2024-05-31King, Christopher A Esq UNQUALIFIED83Amy Elsner
1014Misaki A DoeAustralia2024-06-12Dorl, James J Esq QUALIFIED22Ioni Bowcher
1015Clifford Z MaletArgentina2024-06-15Buckley Miller Wright UNQUALIFIED32Onyama Limba
1016Jeanfrancois S DoeCanada2024-06-15Chemel, James L Cpa NEGOTIATION48Amy Elsner
1017Smith X BowleyIndia2024-06-01Morlong Associates QUALIFIED3Elwin Sharvill
1018Wickens T StockhamBrazil2024-05-27Feiner Bros UNQUALIFIED53Ioni Bowcher
1019David Y RimItaly2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED22Elwin Sharvill
1020Octavia E GauchoRussia2024-05-22Rangoni Of Florence RENEWAL72Anna Fali
1021Nicolas C PaprockiSpain2024-06-10Commercial Press NEGOTIATION3Xuxue Feng
1022Tony G VenereJapan2024-05-26Chapman, Ross E Esq RENEWAL3Ioni Bowcher
1023Greenwood Q ButtBrazil2024-05-27Chanay, Jeffrey A Esq RENEWAL55Xuxue Feng
1024Costa A ChuiRussia2024-06-19Feltz Printing Service NEGOTIATION25Asiya Javayant
1025Stacey S NestleJapan2024-06-19Commercial Press QUALIFIED49Onyama Limba
1026Octavia W RutaSpain2024-06-18Chapman, Ross E Esq NEW84Bernardo Dominic
1027Jefferson Z KuskoBrazil2024-05-23Chapman, Ross E Esq UNQUALIFIED26Ioni Bowcher
1028Rodrigues R GillianCanada2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED29Elwin Sharvill
1029Costa X WaycottFrance2024-05-25Dorl, James J Esq PROPOSAL65Anna Fali
1030Smith J MacleadAustralia2024-06-11Rousseaux, Michael Esq PROPOSAL46Amy Elsner
1031Faith X BowleyCanada2024-05-28Rangoni Of Florence PROPOSAL70Anna Fali
1032Mujtaba D ChuiRussia2024-06-06Chapman, Ross E Esq UNQUALIFIED20Asiya Javayant
1033Sinclair Z CampainSpain2024-06-10Commercial Press PROPOSAL92Anna Fali
1034Mujtaba X KuskoJapan2024-06-04Chapman, Ross E Esq RENEWAL66Amy Elsner
1035Munro D MacleadSpain2024-06-20Feiner Bros NEW12Amy Elsner
1036Costa L MaletGermany2024-05-27Benton, John B Jr NEGOTIATION74Amy Elsner
1037Misaki X MaletFrance2024-06-05Truhlar And Truhlar Attys UNQUALIFIED84Bernardo Dominic
1038Munro T FollerSpain2024-06-05Chapman, Ross E Esq UNQUALIFIED0Ivan Magalhaes
1039Jeanfrancois R FollerJapan2024-06-08Rangoni Of Florence QUALIFIED13Ioni Bowcher
1040Salvatore I MacleadGermany2024-06-08Rangoni Of Florence NEW90Elwin Sharvill
1041Aditya B AlbaresCanada2024-05-28Buckley Miller Wright PROPOSAL66Ioni Bowcher
1042Tony D NickaRussia2024-06-20Morlong Associates NEW57Onyama Limba
1043Ricardo I BriddickAustralia2024-06-06Commercial Press UNQUALIFIED51Bernardo Dominic
1044Silvio J CaudyIndia2024-06-16Morlong Associates PROPOSAL50Bernardo Dominic
1045Francesco F GillianJapan2024-06-01Dorl, James J Esq PROPOSAL4Xuxue Feng
1046Izzy O FollerIndia2024-06-08Feiner Bros UNQUALIFIED41Anna Fali
1047Aditya S FlosiItaly2024-05-26Benton, John B Jr UNQUALIFIED32Bernardo Dominic
1048Arvin Q KolmetzFrance2024-06-12Chanay, Jeffrey A Esq PROPOSAL4Amy Elsner
1049Kadeem T BowleyFrance2024-05-27Benton, John B Jr QUALIFIED78Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Salvatore G RutaFranceOnyama Limba UNQUALIFIED
Jones U BriddickFranceXuxue Feng NEGOTIATION
Francesco Y GarufiBrazilOnyama Limba RENEWAL
Munro N RutaRussiaAmy Elsner UNQUALIFIED
Maisha M MacleadRussiaIvan Magalhaes RENEWAL
Adams Q MacleadIndiaOnyama Limba RENEWAL
Stacey C BowleyArgentinaBernardo Dominic UNQUALIFIED
Ashley Y RutaFranceAsiya Javayant QUALIFIED
Jennifer L GauchoCanadaIvan Magalhaes PROPOSAL
Cody T RimJapanIoni Bowcher RENEWAL
Kadeem T FollerBrazilIoni Bowcher QUALIFIED
Sinclair Y ShinkoGermanyAsiya Javayant NEGOTIATION
Isabel H ShinkoFranceStephen Shaw UNQUALIFIED
Octavia K RoysterJapanIoni Bowcher UNQUALIFIED
Stacey S NestleRussiaIvan Magalhaes NEW
Ricardo D CaudyIndiaAnna Fali PROPOSAL
Leon W MaletItalyOnyama Limba PROPOSAL
Kaitlin Y CampainSpainXuxue Feng RENEWAL
Juan G WaycottAustraliaAsiya Javayant UNQUALIFIED
Izzy D FlosiCanadaStephen Shaw NEW
Rodrigues Z VocelkaAustraliaStephen Shaw NEW
Stacey I DarakjyJapanAsiya Javayant PROPOSAL
Deepesh M BologniaSpainOnyama Limba PROPOSAL
Jeanfrancois S WaycottFranceBernardo Dominic NEGOTIATION
Aditya Q CaldareraBrazilElwin Sharvill NEW
Leja V RoysterItalyStephen Shaw UNQUALIFIED
Aditya F MaletCanadaIvan Magalhaes UNQUALIFIED
David C IturbideGermanyXuxue Feng NEW
Aika E SchemmerRussiaIvan Magalhaes NEW
Johnson I NestleSpainElwin Sharvill NEW
Emily W StensethBrazilXuxue Feng QUALIFIED
Cody F BriddickGermanyAsiya Javayant NEW
Octavia H AmigonGermanyElwin Sharvill RENEWAL
Aruna Q VocelkaIndiaAmy Elsner UNQUALIFIED
Wickens Y BologniaIndiaStephen Shaw PROPOSAL
Adams I GarufiFranceAsiya Javayant PROPOSAL
Costa L InouyeUnited KingdomIoni Bowcher UNQUALIFIED
David T PerinCanadaStephen Shaw NEGOTIATION
Aruna Q RimJapanIvan Magalhaes PROPOSAL
Aruna X KuskoJapanXuxue Feng PROPOSAL
Juan X SaylorsGermanyStephen Shaw UNQUALIFIED
Maisha S MarrierBrazilStephen Shaw UNQUALIFIED
Kaitlin Q OldroydSpainStephen Shaw RENEWAL
Alejandro Z PaprockiFranceOnyama Limba PROPOSAL
David T PoquetteJapanBernardo Dominic NEW
Jennifer X NestleAustraliaXuxue Feng PROPOSAL
Maria V BriddickJapanIoni Bowcher RENEWAL
Morrow F RimJapanIoni Bowcher RENEWAL
Ashley I ButtBrazilXuxue Feng UNQUALIFIED
Kaitlin Z GauchoUnited KingdomAnna Fali NEGOTIATION
Frozen Columns
Name
Arvin T Shinko
Johnson G Ostrosky
Antonio Z Gaucho
Jefferson D Venere
Kaitlin I Morasca
Leja F Nestle
Claire Q Bolognia
Izzy D Briddick
Adams J Butt
Johnson V Garufi
Tony R Kusko
James U Albares
Mayumi D Oldroyd
James I Rim
Jefferson R Nestle
Greenwood U Nestle
Juan C Gaucho
Stacey B Foller
Rodrigues K Albares
Claire Y Rulapaugh
James I Malet
Costa F Caudy
Jones I Maclead
Morrow A Morasca
Misaki K Caldarera
Munro I Saylors
Morrow U Maclead
James C Tollner
Maisha G Amigon
Deepesh S Kolmetz
Juan T Iturbide
Izzy U Gaucho
Morrow X Amigon
Ivar X Maclead
Murillo I Butt
Munro B Marrier
Alejandro L Marrier
Francesco I Morasca
Wickens L Maclead
Darci L Ferencz
Juan E Bolognia
Ashley B Sergi
Emily L Shinko
Deepesh W Foller
Salvatore P Poquette
Greenwood M Royster
Darci S Nicka
Antonio F Caudy
Francesco C Campain
David C Malet
IdCountryDate
1000Germany2024-06-12
1001United Kingdom2024-05-31
1002Brazil2024-05-27
1003Brazil2024-06-03
1004Japan2024-06-05
1005Spain2024-05-29
1006Brazil2024-05-23
1007Spain2024-06-07
1008United Kingdom2024-06-20
1009Germany2024-05-30
1010Australia2024-05-28
1011Australia2024-06-10
1012Japan2024-06-10
1013United Kingdom2024-05-26
1014Australia2024-05-27
1015United Kingdom2024-06-07
1016United Kingdom2024-06-02
1017Germany2024-05-22
1018Germany2024-06-20
1019Spain2024-06-20
1020United Kingdom2024-06-19
1021Argentina2024-06-17
1022Russia2024-06-08
1023United Kingdom2024-06-19
1024Spain2024-06-14
1025Japan2024-06-14
1026Italy2024-05-26
1027Italy2024-06-08
1028Argentina2024-05-30
1029Canada2024-06-16
1030Italy2024-06-01
1031Australia2024-06-05
1032Russia2024-06-11
1033Germany2024-06-06
1034Argentina2024-06-03
1035Russia2024-05-29
1036Japan2024-05-30
1037Germany2024-05-29
1038Spain2024-06-05
1039Australia2024-06-09
1040Italy2024-06-02
1041Germany2024-06-06
1042Brazil2024-06-17
1043Australia2024-06-02
1044Spain2024-05-31
1045Canada2024-06-20
1046Australia2024-06-20
1047Brazil2024-05-24
1048Germany2024-06-13
1049Russia2024-05-24

On-Demand Data

NameIdCountryDate
Jennifer W Bowley1000Russia2024-06-11
Wickens E Glick1001United Kingdom2024-05-26
Smith M Garufi1002India2024-06-06
Claire X Oldroyd1003India2024-05-23
Chavez L Saylors1004Canada2024-06-06
Munro Y Amigon1005Italy2024-05-22
Ivar R Schemmer1006Brazil2024-06-08
Silvio E Stenseth1007Brazil2024-06-18
Tony A Perin1008Germany2024-05-23
Maria J Wieser1009Spain2024-06-04
Maria V Kusko1010Italy2024-06-12
Leon Q Darakjy1011Canada2024-06-14
Ivar T Waycott1012Italy2024-06-07
Ashley K Sergi1013United Kingdom2024-05-26
Faith Y Doe1014Canada2024-06-19
Isabel U Slusarski1015Argentina2024-06-16
Munro Z Butt1016Germany2024-06-08
Ivar M Bowley1017Germany2024-06-11
Claire J Schemmer1018Brazil2024-05-29
Salvatore L Paprocki1019India2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan Q SchemmerRussiaElwin Sharvill NEGOTIATION
Claire D GauchoCanadaElwin Sharvill RENEWAL
Octavia V RulapaughJapanStephen Shaw UNQUALIFIED
Aruna U VenereUnited KingdomIvan Magalhaes RENEWAL
Greenwood F PerinItalyStephen Shaw RENEWAL
Sinclair D AlbaresArgentinaAsiya Javayant UNQUALIFIED
Leon S OldroydFranceElwin Sharvill RENEWAL
Stacey T RimBrazilAmy Elsner NEGOTIATION
Claire R AlbaresBrazilAsiya Javayant QUALIFIED
Silvio L MaletIndiaStephen Shaw UNQUALIFIED
Murillo L WieserSpainAmy Elsner QUALIFIED
Darci I FerenczUnited KingdomStephen Shaw RENEWAL
Maria V DoeCanadaElwin Sharvill RENEWAL
James H AlbaresSpainAsiya Javayant NEGOTIATION
Ivar Z RutaGermanyIoni Bowcher RENEWAL
Chavez J SaylorsCanadaElwin Sharvill NEW
Kaitlin L InouyeAustraliaAsiya Javayant PROPOSAL
Aditya J CampainItalyIoni Bowcher PROPOSAL
Aika K StensethItalyAmy Elsner QUALIFIED
Aika I KolmetzCanadaElwin Sharvill RENEWAL
Munro T CaudyGermanyXuxue Feng NEGOTIATION
Clifford H OldroydRussiaBernardo Dominic NEGOTIATION
Jeanfrancois C RutaItalyIoni Bowcher PROPOSAL
Faith C MaletFranceAsiya Javayant PROPOSAL
Nicolas I FigeroaIndiaBernardo Dominic NEW
Murillo X VocelkaIndiaAnna Fali PROPOSAL
Wickens G SchemmerUnited KingdomAmy Elsner NEGOTIATION
Wickens C PaprockiArgentinaXuxue Feng NEW
Aika O MarrierUnited KingdomAsiya Javayant NEGOTIATION
Aruna U CaldareraRussiaOnyama Limba NEGOTIATION
Adams R ChuiAustraliaXuxue Feng RENEWAL
Mayumi A FlosiAustraliaIvan Magalhaes NEGOTIATION
Nicolas L InouyeSpainElwin Sharvill PROPOSAL
Maria I WaycottSpainAmy Elsner UNQUALIFIED
Alejandro L MarrierRussiaXuxue Feng UNQUALIFIED
Aditya G AmigonBrazilIvan Magalhaes NEGOTIATION
Murillo D GarufiItalyStephen Shaw PROPOSAL
Maria M DilliardSpainBernardo Dominic NEW
Silvio A SergiFranceIoni Bowcher PROPOSAL
Francesco N NestleIndiaStephen Shaw 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>