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
Ivar D CampainUnited KingdomIvan Magalhaes QUALIFIED
Nicolas T FlosiBrazilStephen Shaw PROPOSAL
Antonio A MarrierRussiaAnna Fali UNQUALIFIED
Murillo C SaylorsUnited KingdomIvan Magalhaes RENEWAL
Murillo F VocelkaItalyIvan Magalhaes PROPOSAL
Maria M SaylorsArgentinaOnyama Limba RENEWAL
Kaitlin W FerenczGermanyElwin Sharvill NEW
Silvio W MaletItalyIvan Magalhaes NEGOTIATION
Rodrigues K BologniaJapanElwin Sharvill PROPOSAL
Salvatore B GlickCanadaIoni Bowcher NEGOTIATION
Aruna J GauchoBrazilStephen Shaw PROPOSAL
Wickens U TollnerIndiaIvan Magalhaes PROPOSAL
Chavez D DoeItalyAnna Fali NEW
Emily E FlosiCanadaBernardo Dominic NEGOTIATION
Aruna B NickaItalyStephen Shaw NEW
Leon L StockhamRussiaAnna Fali NEGOTIATION
Murillo Y DilliardIndiaAsiya Javayant PROPOSAL
Darci R PaprockiGermanyAmy Elsner PROPOSAL
Nicolas Y OldroydArgentinaBernardo Dominic UNQUALIFIED
Julie U VocelkaSpainAmy Elsner NEW
Julie E StockhamFranceIoni Bowcher QUALIFIED
Nicolas B StensethFranceStephen Shaw UNQUALIFIED
Isabel B RoysterItalyElwin Sharvill NEW
Salvatore Z WaycottSpainOnyama Limba QUALIFIED
Jeanfrancois G FigeroaIndiaStephen Shaw RENEWAL
David S TollnerUnited KingdomIvan Magalhaes UNQUALIFIED
Izzy S DarakjySpainAsiya Javayant NEGOTIATION
Ashley J GauchoAustraliaOnyama Limba NEGOTIATION
Leon W NickaJapanStephen Shaw QUALIFIED
Aditya U AlbaresSpainOnyama Limba RENEWAL
Claire E ShinkoFranceOnyama Limba PROPOSAL
Costa E OldroydCanadaAmy Elsner PROPOSAL
Mayumi T RoysterBrazilAnna Fali NEGOTIATION
Sinclair S MacleadUnited KingdomXuxue Feng UNQUALIFIED
Stacey W StockhamUnited KingdomXuxue Feng NEW
Aruna H GillianJapanOnyama Limba QUALIFIED
Wickens O NestleAustraliaAmy Elsner UNQUALIFIED
Munro M RimRussiaBernardo Dominic RENEWAL
Aika V SergiSpainXuxue Feng QUALIFIED
Maisha C SergiGermanyXuxue Feng RENEWAL
Ashley L FlosiJapanAnna Fali RENEWAL
Isabel F DarakjyBrazilAnna Fali NEGOTIATION
Alejandro R MaletArgentinaElwin Sharvill NEGOTIATION
Cody Y MarrierArgentinaElwin Sharvill PROPOSAL
Claire K BriddickBrazilIoni Bowcher QUALIFIED
Jones R TollnerUnited KingdomAmy Elsner UNQUALIFIED
Maisha O SchemmerRussiaAsiya Javayant UNQUALIFIED
Alejandro B RulapaughIndiaIoni Bowcher PROPOSAL
Arvin I ShinkoBrazilIvan Magalhaes NEGOTIATION
Arvin L FerenczAustraliaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio C MaletRussiaOnyama Limba PROPOSAL
David G SlusarskiGermanyXuxue Feng RENEWAL
Darci J SchemmerIndiaOnyama Limba NEGOTIATION
Arvin I SchemmerIndiaIoni Bowcher UNQUALIFIED
Jefferson S GarufiIndiaStephen Shaw QUALIFIED
Jeanfrancois R GauchoGermanyOnyama Limba UNQUALIFIED
Izzy V InouyeArgentinaAnna Fali PROPOSAL
Wickens K CampainGermanyXuxue Feng QUALIFIED
Sinclair W MaletSpainBernardo Dominic NEW
Jeanfrancois C ShinkoRussiaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow R AmigonArgentina2026-07-19Commercial Press UNQUALIFIED86Elwin Sharvill
1001Cody M VenereRussia2026-07-15Dorl, James J Esq NEGOTIATION1Xuxue Feng
1002Maisha W CaudyBrazil2026-07-14Rousseaux, Michael Esq UNQUALIFIED39Ioni Bowcher
1003Morrow R AlbaresItaly2026-07-08King, Christopher A Esq NEW78Ioni Bowcher
1004Cody F SchemmerUnited Kingdom2026-07-28Morlong Associates RENEWAL97Asiya Javayant
1005Smith V MacleadUnited Kingdom2026-07-04Chemel, James L Cpa RENEWAL49Amy Elsner
1006Munro S PaprockiJapan2026-07-15Chemel, James L Cpa RENEWAL91Amy Elsner
1007Jennifer Y SergiIndia2026-07-07Dorl, James J Esq QUALIFIED18Elwin Sharvill
1008Antonio Y NestleGermany2026-07-27Dorl, James J Esq NEW38Onyama Limba
1009Leja T RulapaughBrazil2026-07-27Rangoni Of Florence UNQUALIFIED14Anna Fali
1010Alejandro A StensethUnited Kingdom2026-07-17Rousseaux, Michael Esq UNQUALIFIED68Anna Fali
1011Salvatore B PerinArgentina2026-07-15Dorl, James J Esq QUALIFIED67Elwin Sharvill
1012Antonio S GarufiIndia2026-07-31Commercial Press QUALIFIED65Stephen Shaw
1013Darci A MorascaBrazil2026-07-10King, Christopher A Esq RENEWAL22Stephen Shaw
1014Emily D BriddickArgentina2026-07-17Rousseaux, Michael Esq QUALIFIED75Elwin Sharvill
1015Costa D DoeFrance2026-07-09Feltz Printing Service RENEWAL27Xuxue Feng
1016Jennifer Q WieserAustralia2026-07-05Buckley Miller Wright RENEWAL80Stephen Shaw
1017Kadeem U PoquetteItaly2026-07-13Morlong Associates RENEWAL94Ioni Bowcher
1018Greenwood M SaylorsAustralia2026-07-21Benton, John B Jr PROPOSAL9Asiya Javayant
1019Sinclair E InouyeIndia2026-07-06Morlong Associates QUALIFIED68Onyama Limba
1020Stacey M WieserUnited Kingdom2026-07-16Feiner Bros PROPOSAL22Onyama Limba
1021Maria R NickaUnited Kingdom2026-07-08Rangoni Of Florence NEW45Onyama Limba
1022Aditya Z FerenczSpain2026-07-28Feiner Bros NEW47Onyama Limba
1023Aruna J BowleyCanada2026-07-20Chapman, Ross E Esq NEW26Asiya Javayant
1024Wickens K RutaArgentina2026-07-31Rousseaux, Michael Esq PROPOSAL56Ivan Magalhaes
1025Francesco P MorascaAustralia2026-07-03Chanay, Jeffrey A Esq NEW79Elwin Sharvill
1026Jennifer A PaprockiCanada2026-07-16Morlong Associates NEGOTIATION77Xuxue Feng
1027Sinclair L CaldareraArgentina2026-07-26Rousseaux, Michael Esq NEW65Ivan Magalhaes
1028Claire K MarrierIndia2026-08-01Chemel, James L Cpa NEGOTIATION64Stephen Shaw
1029Cody Y RimRussia2026-07-15King, Christopher A Esq NEGOTIATION93Anna Fali
1030Leon R GarufiSpain2026-07-16Commercial Press RENEWAL38Ioni Bowcher
1031Kaitlin K RoysterRussia2026-07-20Feltz Printing Service UNQUALIFIED50Ivan Magalhaes
1032Mayumi V PoquetteBrazil2026-07-17Chapman, Ross E Esq RENEWAL82Elwin Sharvill
1033Salvatore F AlbaresIndia2026-07-20Chemel, James L Cpa NEGOTIATION86Bernardo Dominic
1034Chavez F VocelkaAustralia2026-07-30Morlong Associates NEGOTIATION23Amy Elsner
1035Leon J TollnerJapan2026-07-17King, Christopher A Esq QUALIFIED87Ioni Bowcher
1036Faith K GarufiJapan2026-07-18Dorl, James J Esq PROPOSAL16Ivan Magalhaes
1037Julie Z DilliardIndia2026-07-25Rousseaux, Michael Esq NEGOTIATION50Elwin Sharvill
1038Maria S InouyeRussia2026-07-16Chemel, James L Cpa NEGOTIATION28Amy Elsner
1039Aditya Y FerenczGermany2026-07-14Chapman, Ross E Esq NEGOTIATION39Ioni Bowcher
1040Greenwood C TollnerRussia2026-07-18Buckley Miller Wright QUALIFIED90Bernardo Dominic
1041Nicolas N NickaSpain2026-07-11Benton, John B Jr PROPOSAL35Onyama Limba
1042Greenwood Y PerinFrance2026-07-16Chemel, James L Cpa PROPOSAL80Bernardo Dominic
1043Sinclair W GillianGermany2026-07-08Chanay, Jeffrey A Esq NEW49Amy Elsner
1044Deepesh F GillianFrance2026-07-14Buckley Miller Wright NEGOTIATION91Onyama Limba
1045Sinclair S VocelkaAustralia2026-07-07Printing Dimensions QUALIFIED84Bernardo Dominic
1046James E GlickBrazil2026-07-31Buckley Miller Wright NEGOTIATION4Amy Elsner
1047Julie Y AlbaresIndia2026-07-11Truhlar And Truhlar Attys PROPOSAL27Anna Fali
1048Juan K ButtFrance2026-07-18Feiner Bros NEW82Stephen Shaw
1049Julie I MaletCanada2026-07-21Rangoni Of Florence NEW15Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Juan S NickaArgentinaElwin Sharvill UNQUALIFIED
Maisha U MaletAustraliaAmy Elsner PROPOSAL
Mayumi P ChuiItalyElwin Sharvill UNQUALIFIED
Leon A OldroydArgentinaOnyama Limba NEW
Darci H MaletArgentinaIvan Magalhaes RENEWAL
Darci E KuskoArgentinaAsiya Javayant UNQUALIFIED
Kadeem Y RutaBrazilElwin Sharvill UNQUALIFIED
Deepesh O CaldareraAustraliaAnna Fali RENEWAL
Rodrigues E VocelkaJapanOnyama Limba PROPOSAL
Jennifer E KolmetzItalyOnyama Limba NEGOTIATION
Claire H RoysterFranceAmy Elsner UNQUALIFIED
Isabel Z NestleCanadaStephen Shaw RENEWAL
Mayumi I GlickBrazilAsiya Javayant RENEWAL
Maria Y GarufiCanadaElwin Sharvill NEGOTIATION
Aika D FlosiCanadaXuxue Feng UNQUALIFIED
Salvatore D MaletIndiaAmy Elsner NEGOTIATION
Emily H PaprockiAustraliaOnyama Limba QUALIFIED
Chavez T SlusarskiBrazilXuxue Feng UNQUALIFIED
Emily I BowleyCanadaAmy Elsner UNQUALIFIED
James S GillianFranceIvan Magalhaes RENEWAL
Misaki H OstroskyBrazilXuxue Feng PROPOSAL
Salvatore X MaletGermanyAmy Elsner NEW
Leon D MorascaJapanIoni Bowcher QUALIFIED
Julie S IturbideSpainStephen Shaw NEW
Izzy P KolmetzGermanyXuxue Feng QUALIFIED
Octavia D StensethRussiaAsiya Javayant PROPOSAL
Nicolas G GillianSpainAnna Fali UNQUALIFIED
Morrow S GillianAustraliaIvan Magalhaes NEGOTIATION
Aditya T CaldareraArgentinaOnyama Limba QUALIFIED
Deepesh O AlbaresItalyAmy Elsner RENEWAL
Aika H NestleGermanyXuxue Feng QUALIFIED
Maria P DoeAustraliaXuxue Feng NEW
Smith K InouyeJapanStephen Shaw UNQUALIFIED
Tony G MacleadItalyElwin Sharvill UNQUALIFIED
Aika S VenereItalyStephen Shaw NEW
Juan W AlbaresItalyOnyama Limba UNQUALIFIED
Arvin M FollerCanadaOnyama Limba NEGOTIATION
Mujtaba Q DarakjyRussiaAnna Fali UNQUALIFIED
Jeanfrancois W OldroydItalyIoni Bowcher PROPOSAL
Jefferson Q MaletCanadaAmy Elsner UNQUALIFIED
Clifford B CampainSpainAmy Elsner RENEWAL
Murillo T SaylorsRussiaIvan Magalhaes PROPOSAL
Stacey Y WaycottGermanyStephen Shaw RENEWAL
Maisha A OldroydArgentinaIoni Bowcher RENEWAL
Cody Z VenereItalyOnyama Limba NEGOTIATION
Isabel T RoysterGermanyAsiya Javayant NEW
Jefferson R RutaFranceAnna Fali RENEWAL
Kadeem I SaylorsBrazilBernardo Dominic RENEWAL
Aditya R SchemmerBrazilElwin Sharvill UNQUALIFIED
Rodrigues G ShinkoCanadaIoni Bowcher NEW
Frozen Columns
Name
Wickens D Darakjy
Sinclair C Inouye
Octavia G Butt
Salvatore K Waycott
Arvin H Morasca
David V Caldarera
Mujtaba W Marrier
Chavez Z Tollner
Izzy R Inouye
Emily L Morasca
Ricardo P Kusko
Wickens A Maclead
Wickens Q Stockham
Leon W Venere
Ivar E Kolmetz
Jefferson W Dilliard
James E Ferencz
Misaki F Shinko
Costa J Oldroyd
Jones G Royster
Stacey P Stockham
Jeanfrancois I Bowley
Alejandro M Ferencz
Wickens M Bolognia
Mayumi U Wieser
Wickens R Marrier
Darci G Rulapaugh
Izzy S Doe
Aditya J Sergi
Silvio H Malet
Misaki B Glick
Silvio S Ruta
Jeanfrancois R Briddick
Arvin J Paprocki
Leon V Flosi
Kaitlin K Foller
Arvin I Malet
Maria F Sergi
Isabel W Whobrey
Izzy G Bolognia
Costa P Maclead
Ricardo R Campain
Rodrigues A Bolognia
Deepesh G Glick
Francesco L Glick
Maria T Whobrey
Leon G Royster
Francesco V Tollner
Deepesh E Wieser
James H Venere
IdCountryDate
1000Germany2026-07-03
1001Argentina2026-07-26
1002Australia2026-07-08
1003Argentina2026-07-25
1004Canada2026-07-30
1005Brazil2026-08-01
1006United Kingdom2026-07-31
1007India2026-07-03
1008Germany2026-07-10
1009Canada2026-07-27
1010Australia2026-07-04
1011Canada2026-07-20
1012Germany2026-07-27
1013United Kingdom2026-07-25
1014France2026-07-11
1015Italy2026-07-20
1016Argentina2026-07-09
1017Spain2026-07-15
1018India2026-07-27
1019Italy2026-07-06
1020Italy2026-07-20
1021Argentina2026-07-22
1022Australia2026-07-19
1023United Kingdom2026-07-22
1024Brazil2026-07-24
1025Australia2026-08-01
1026India2026-07-09
1027India2026-07-16
1028United Kingdom2026-07-22
1029Australia2026-07-26
1030France2026-07-24
1031Canada2026-07-28
1032Spain2026-07-09
1033Russia2026-07-09
1034Brazil2026-07-12
1035Australia2026-07-04
1036Canada2026-07-08
1037Canada2026-07-07
1038France2026-07-22
1039India2026-07-12
1040Brazil2026-07-09
1041France2026-07-05
1042India2026-07-27
1043Argentina2026-07-31
1044Russia2026-07-19
1045India2026-07-13
1046Japan2026-07-15
1047Germany2026-07-30
1048Russia2026-08-01
1049Germany2026-07-20

On-Demand Data

NameIdCountryDate
Jennifer F Glick1000Canada2026-07-09
Greenwood J Rulapaugh1001India2026-07-20
Ivar Y Flosi1002Germany2026-07-08
Ricardo F Inouye1003Spain2026-07-31
Arvin E Doe1004Canada2026-07-24
Francesco B Caldarera1005Germany2026-07-29
Jones M Chui1006India2026-07-25
Arvin W Glick1007Canada2026-07-05
Silvio X Bowley1008Argentina2026-07-13
Darci X Bolognia1009Russia2026-07-24
Greenwood W Caudy1010Spain2026-07-06
Wickens T Bowley1011Russia2026-07-25
Deepesh H Schemmer1012Argentina2026-07-29
Maisha T Briddick1013Germany2026-07-24
Ashley Q Albares1014Germany2026-07-16
David N Stenseth1015Australia2026-07-07
Stacey V Paprocki1016United Kingdom2026-07-28
Ashley K Garufi1017Italy2026-07-03
Ivar T Nestle1018Japan2026-07-29
Mujtaba M Royster1019Australia2026-07-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya U MaletFranceIvan Magalhaes UNQUALIFIED
Silvio D OldroydSpainIvan Magalhaes PROPOSAL
Francesco R PoquetteAustraliaStephen Shaw UNQUALIFIED
Nicolas D AmigonArgentinaAnna Fali NEW
Salvatore L AlbaresCanadaStephen Shaw NEW
Deepesh Z CampainJapanStephen Shaw NEW
Juan D RoysterItalyAmy Elsner NEGOTIATION
Rodrigues G RulapaughRussiaElwin Sharvill RENEWAL
Leja A OldroydItalyAsiya Javayant NEGOTIATION
Murillo C GlickCanadaIoni Bowcher RENEWAL
Ivar R WhobreyCanadaIvan Magalhaes NEGOTIATION
Antonio A MarrierIndiaElwin Sharvill RENEWAL
Stacey D KuskoItalyIvan Magalhaes PROPOSAL
Alejandro S GauchoSpainAsiya Javayant NEGOTIATION
Aika O WieserJapanAnna Fali QUALIFIED
Leja A WieserUnited KingdomBernardo Dominic QUALIFIED
Clifford B GillianFranceBernardo Dominic PROPOSAL
Francesco W DarakjyIndiaAnna Fali UNQUALIFIED
Cody I AmigonRussiaAmy Elsner NEGOTIATION
Kaitlin M MarrierJapanBernardo Dominic PROPOSAL
Ricardo H GauchoAustraliaBernardo Dominic UNQUALIFIED
Maisha B MaletIndiaBernardo Dominic PROPOSAL
Greenwood R DilliardIndiaBernardo Dominic UNQUALIFIED
Maria Y AlbaresItalyAnna Fali QUALIFIED
Isabel M ChuiGermanyAmy Elsner PROPOSAL
Darci N StensethGermanyBernardo Dominic QUALIFIED
Emily C OldroydIndiaAsiya Javayant QUALIFIED
Deepesh Y DilliardAustraliaStephen Shaw PROPOSAL
Munro D CaudyBrazilOnyama Limba RENEWAL
Julie S StockhamCanadaOnyama Limba UNQUALIFIED
Maria I MacleadBrazilElwin Sharvill UNQUALIFIED
Emily S GauchoBrazilIoni Bowcher RENEWAL
Munro F DoeBrazilXuxue Feng QUALIFIED
Julie K CampainSpainStephen Shaw RENEWAL
Alejandro I KolmetzBrazilXuxue Feng QUALIFIED
Clifford Y BowleyArgentinaIvan Magalhaes QUALIFIED
Salvatore E GarufiSpainIoni Bowcher QUALIFIED
Stacey B BriddickJapanElwin Sharvill PROPOSAL
Ricardo Y PoquetteSpainBernardo Dominic RENEWAL
Cody P FlosiGermanyIvan Magalhaes PROPOSAL

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