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
Isabel Q ChuiItalyBernardo Dominic NEW
David P PaprockiCanadaOnyama Limba QUALIFIED
Leja W FigeroaSpainOnyama Limba RENEWAL
Clifford U SchemmerBrazilXuxue Feng PROPOSAL
James U PerinFranceElwin Sharvill QUALIFIED
Jefferson Z RutaCanadaOnyama Limba RENEWAL
Izzy V AmigonAustraliaIvan Magalhaes UNQUALIFIED
Silvio D ButtAustraliaAmy Elsner PROPOSAL
Morrow R TollnerFranceElwin Sharvill QUALIFIED
Jones H IturbideGermanyIvan Magalhaes PROPOSAL
Munro X WhobreyGermanyAmy Elsner RENEWAL
Ivar I MaletAustraliaElwin Sharvill UNQUALIFIED
Nicolas Y AlbaresFranceElwin Sharvill RENEWAL
Smith G PoquetteIndiaAsiya Javayant RENEWAL
Izzy M WieserIndiaAmy Elsner PROPOSAL
Maria G GarufiBrazilIvan Magalhaes QUALIFIED
Aika B RimFranceOnyama Limba UNQUALIFIED
Isabel E FerenczUnited KingdomAmy Elsner NEW
Morrow Y BologniaIndiaIvan Magalhaes PROPOSAL
Jennifer O ShinkoFranceAsiya Javayant NEW
Mujtaba T MacleadSpainAsiya Javayant RENEWAL
Murillo V ShinkoBrazilAnna Fali UNQUALIFIED
Ivar D VenereUnited KingdomIvan Magalhaes RENEWAL
Maisha S VenereUnited KingdomXuxue Feng NEW
Arvin M CampainBrazilAsiya Javayant NEGOTIATION
Faith T RutaJapanIoni Bowcher RENEWAL
Wickens T GlickRussiaAsiya Javayant NEGOTIATION
Kadeem V MaletFranceOnyama Limba QUALIFIED
Ashley D WaycottSpainElwin Sharvill PROPOSAL
Salvatore Q ShinkoJapanAmy Elsner NEGOTIATION
Wickens C OldroydJapanAnna Fali QUALIFIED
Munro A SaylorsJapanBernardo Dominic QUALIFIED
Isabel H OldroydBrazilElwin Sharvill RENEWAL
Wickens E CaldareraUnited KingdomIoni Bowcher QUALIFIED
Alejandro V StockhamUnited KingdomAmy Elsner NEGOTIATION
Alejandro Y BowleyArgentinaOnyama Limba NEGOTIATION
Aditya H DoeSpainIvan Magalhaes RENEWAL
Kadeem V OldroydUnited KingdomStephen Shaw RENEWAL
Nicolas M KolmetzAustraliaAnna Fali PROPOSAL
Francesco C SergiSpainAnna Fali NEW
Jefferson G SchemmerSpainOnyama Limba PROPOSAL
Mayumi T OldroydGermanyIvan Magalhaes RENEWAL
Ivar U CampainUnited KingdomAmy Elsner QUALIFIED
Tony C DoeFranceAmy Elsner UNQUALIFIED
Misaki S MarrierRussiaAmy Elsner QUALIFIED
James M DilliardFranceAsiya Javayant NEGOTIATION
Greenwood D MarrierBrazilXuxue Feng RENEWAL
Kaitlin K RimUnited KingdomAmy Elsner PROPOSAL
Aruna P FollerGermanyAmy Elsner RENEWAL
Jeanfrancois E MorascaAustraliaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Aruna C SergiCanadaBernardo Dominic QUALIFIED
Claire T ShinkoIndiaStephen Shaw UNQUALIFIED
Misaki X DarakjyBrazilAmy Elsner NEGOTIATION
Rodrigues J OstroskyJapanIvan Magalhaes UNQUALIFIED
Arvin F StensethJapanAsiya Javayant NEW
Emily E WaycottGermanyAsiya Javayant UNQUALIFIED
Aruna I WieserItalyIvan Magalhaes NEW
Izzy U FollerCanadaIoni Bowcher PROPOSAL
Munro U GlickItalyBernardo Dominic PROPOSAL
Maisha R IturbideJapanIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin L BriddickAustralia2026-08-08Commercial Press PROPOSAL61Asiya Javayant
1001Antonio O BowleyAustralia2026-08-04Commercial Press UNQUALIFIED2Ioni Bowcher
1002Silvio H PoquetteIndia2026-07-13Rangoni Of Florence NEW77Anna Fali
1003Emily W SaylorsUnited Kingdom2026-08-02Benton, John B Jr UNQUALIFIED64Elwin Sharvill
1004Kadeem K RimBrazil2026-07-22Feiner Bros QUALIFIED47Bernardo Dominic
1005Darci H InouyeIndia2026-07-29Benton, John B Jr UNQUALIFIED71Asiya Javayant
1006Darci O GillianCanada2026-08-08Rangoni Of Florence QUALIFIED54Elwin Sharvill
1007Darci P NickaSpain2026-07-24Buckley Miller Wright QUALIFIED31Ivan Magalhaes
1008Nicolas U CaudyBrazil2026-07-19Printing Dimensions NEW91Ivan Magalhaes
1009James M IturbideBrazil2026-07-29Printing Dimensions UNQUALIFIED25Anna Fali
1010Claire C NestleCanada2026-08-01Dorl, James J Esq UNQUALIFIED56Bernardo Dominic
1011Misaki X DoeIndia2026-08-06Morlong Associates UNQUALIFIED76Asiya Javayant
1012Deepesh T KolmetzRussia2026-08-06Truhlar And Truhlar Attys PROPOSAL63Bernardo Dominic
1013Clifford A StockhamUnited Kingdom2026-08-08King, Christopher A Esq QUALIFIED40Asiya Javayant
1014Francesco L VocelkaJapan2026-07-29Dorl, James J Esq UNQUALIFIED93Onyama Limba
1015James G OldroydBrazil2026-07-17Morlong Associates QUALIFIED73Asiya Javayant
1016Cody M OldroydFrance2026-07-30Truhlar And Truhlar Attys NEW92Bernardo Dominic
1017Misaki Z StensethGermany2026-08-09Commercial Press RENEWAL47Bernardo Dominic
1018Alejandro U DoeItaly2026-08-07Printing Dimensions RENEWAL22Asiya Javayant
1019Nicolas A ShinkoJapan2026-07-19Feltz Printing Service NEGOTIATION72Elwin Sharvill
1020Ashley C WhobreyIndia2026-07-29Chanay, Jeffrey A Esq PROPOSAL80Ivan Magalhaes
1021Izzy F OldroydFrance2026-07-25Feltz Printing Service UNQUALIFIED68Stephen Shaw
1022Johnson A PoquetteIndia2026-07-30Feltz Printing Service NEW53Xuxue Feng
1023David G MorascaArgentina2026-07-16Chanay, Jeffrey A Esq NEW68Xuxue Feng
1024Aika K PoquetteJapan2026-07-28Commercial Press NEW86Bernardo Dominic
1025Greenwood H WieserFrance2026-07-30Feiner Bros QUALIFIED22Bernardo Dominic
1026Murillo F MarrierArgentina2026-07-16Truhlar And Truhlar Attys NEW15Xuxue Feng
1027David F GlickRussia2026-07-12Truhlar And Truhlar Attys NEGOTIATION23Anna Fali
1028Ashley K WaycottRussia2026-08-01Chapman, Ross E Esq UNQUALIFIED97Ioni Bowcher
1029Jefferson D RutaGermany2026-08-04Morlong Associates NEGOTIATION76Ioni Bowcher
1030Munro B SaylorsJapan2026-08-01Benton, John B Jr UNQUALIFIED22Onyama Limba
1031Sinclair F RulapaughSpain2026-07-13Printing Dimensions NEW62Asiya Javayant
1032Aika Q DoeCanada2026-07-31Truhlar And Truhlar Attys NEW99Ivan Magalhaes
1033Julie L DoeItaly2026-07-11Chapman, Ross E Esq QUALIFIED73Bernardo Dominic
1034Munro W MarrierBrazil2026-08-09Printing Dimensions NEW63Stephen Shaw
1035David Z FerenczAustralia2026-08-07Feltz Printing Service QUALIFIED28Anna Fali
1036Costa Q MorascaItaly2026-07-13Commercial Press PROPOSAL50Elwin Sharvill
1037Mayumi T MaletSpain2026-07-17Dorl, James J Esq QUALIFIED76Ioni Bowcher
1038Izzy K PerinIndia2026-07-21King, Christopher A Esq QUALIFIED17Elwin Sharvill
1039Clifford U MarrierItaly2026-08-07Truhlar And Truhlar Attys PROPOSAL45Xuxue Feng
1040Francesco B CaudyRussia2026-07-29Feltz Printing Service PROPOSAL37Asiya Javayant
1041Maisha X BowleyItaly2026-07-25Chanay, Jeffrey A Esq NEGOTIATION72Bernardo Dominic
1042Murillo F SchemmerFrance2026-07-23Rousseaux, Michael Esq PROPOSAL61Ioni Bowcher
1043Kaitlin U NickaArgentina2026-07-20Buckley Miller Wright NEW66Ioni Bowcher
1044Chavez O ShinkoBrazil2026-08-05Chapman, Ross E Esq RENEWAL28Amy Elsner
1045Faith A BologniaFrance2026-07-26Feltz Printing Service PROPOSAL71Ioni Bowcher
1046Costa Z ButtUnited Kingdom2026-07-25Feiner Bros RENEWAL55Anna Fali
1047Isabel V RutaFrance2026-07-20Chapman, Ross E Esq RENEWAL33Ioni Bowcher
1048Alejandro F CaldareraIndia2026-08-09Rousseaux, Michael Esq UNQUALIFIED27Asiya Javayant
1049Smith Y TollnerGermany2026-08-01Rangoni Of Florence UNQUALIFIED47Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Faith W CaldareraGermanyXuxue Feng PROPOSAL
Juan H GarufiCanadaAnna Fali NEGOTIATION
Clifford Q ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Munro N ButtSpainXuxue Feng UNQUALIFIED
Aditya R ButtJapanAmy Elsner NEW
Leja Z DoeAustraliaStephen Shaw PROPOSAL
Aika X MaletArgentinaIoni Bowcher NEW
Claire X RulapaughAustraliaIoni Bowcher NEW
Chavez Y PerinFranceAnna Fali PROPOSAL
Leon I WieserUnited KingdomAmy Elsner NEW
Leon T GlickIndiaXuxue Feng NEW
Leja Q KuskoFranceOnyama Limba RENEWAL
Faith L BologniaGermanyAsiya Javayant NEGOTIATION
Mujtaba A VocelkaGermanyOnyama Limba NEW
Maisha F MacleadRussiaAnna Fali QUALIFIED
Costa S DilliardUnited KingdomXuxue Feng PROPOSAL
Sinclair T DarakjyAustraliaElwin Sharvill QUALIFIED
Maria L KuskoArgentinaElwin Sharvill UNQUALIFIED
Jefferson I CampainSpainAsiya Javayant QUALIFIED
Aruna E WhobreySpainAnna Fali NEW
Leja A GlickGermanyIoni Bowcher UNQUALIFIED
Aruna N NestleBrazilIoni Bowcher PROPOSAL
James F CaudyJapanStephen Shaw NEW
Francesco Q InouyeAustraliaAsiya Javayant QUALIFIED
Morrow A DoeUnited KingdomStephen Shaw RENEWAL
Claire N SaylorsArgentinaBernardo Dominic NEW
Antonio Z StockhamUnited KingdomXuxue Feng QUALIFIED
Mujtaba B RimJapanAnna Fali NEGOTIATION
Clifford S MaletCanadaBernardo Dominic NEW
Tony H WhobreyBrazilAmy Elsner PROPOSAL
Morrow Z BowleyFranceBernardo Dominic RENEWAL
Kadeem C IturbideArgentinaAsiya Javayant QUALIFIED
Leon Y PerinCanadaXuxue Feng QUALIFIED
Octavia Z GauchoAustraliaAnna Fali PROPOSAL
Alejandro P PoquetteJapanAmy Elsner QUALIFIED
Chavez E DarakjyRussiaIvan Magalhaes RENEWAL
Darci R CaudyRussiaAsiya Javayant UNQUALIFIED
Chavez Z InouyeSpainIvan Magalhaes UNQUALIFIED
Mujtaba X CaldareraCanadaIvan Magalhaes NEW
Clifford A BologniaGermanyIoni Bowcher NEW
Isabel K GauchoJapanIoni Bowcher NEGOTIATION
Ivar T PerinFranceXuxue Feng NEGOTIATION
Kadeem O FlosiCanadaBernardo Dominic PROPOSAL
Rodrigues K BriddickCanadaIvan Magalhaes UNQUALIFIED
Jennifer K CaudyBrazilIvan Magalhaes RENEWAL
Cody N KuskoAustraliaElwin Sharvill QUALIFIED
Isabel L DoeCanadaAnna Fali QUALIFIED
Deepesh E SergiItalyXuxue Feng UNQUALIFIED
Leon U RimAustraliaOnyama Limba NEGOTIATION
Aditya N VocelkaBrazilXuxue Feng NEW
Frozen Columns
Name
Deepesh D Sergi
Jennifer E Waycott
Juan G Stockham
Wickens L Figeroa
Silvio O Rulapaugh
Smith L Caldarera
Sinclair H Ostrosky
Darci M Slusarski
Costa A Maclead
Tony C Caldarera
Greenwood B Iturbide
Morrow C Whobrey
Clifford R Malet
James M Glick
Smith P Whobrey
James H Darakjy
Nicolas Z Inouye
Silvio Q Gillian
Izzy Q Perin
Smith C Venere
Claire R Gillian
Francesco Z Campain
Costa K Nestle
Faith A Bolognia
Aruna P Flosi
Deepesh X Poquette
Morrow T Whobrey
Maria C Foller
Johnson N Shinko
Ashley W Perin
Munro F Saylors
Aika Q Venere
Cody Q Tollner
Julie R Royster
Francesco S Doe
Adams V Amigon
Murillo C Oldroyd
Murillo O Nicka
Aruna Z Marrier
Jones W Maclead
Maisha Q Saylors
Smith P Glick
Juan M Maclead
Octavia H Rulapaugh
Aruna D Doe
Emily G Perin
Smith W Nicka
Ashley L Butt
Ashley W Iturbide
David G Dilliard
IdCountryDate
1000Russia2026-07-15
1001Argentina2026-08-05
1002Argentina2026-07-17
1003Germany2026-08-02
1004Italy2026-07-27
1005Argentina2026-07-31
1006Italy2026-08-01
1007Japan2026-07-19
1008Japan2026-07-27
1009Brazil2026-08-09
1010Spain2026-07-31
1011India2026-07-16
1012Japan2026-07-25
1013Spain2026-08-03
1014Japan2026-08-05
1015Argentina2026-07-27
1016Spain2026-07-30
1017Germany2026-07-27
1018Argentina2026-07-29
1019Argentina2026-07-28
1020Japan2026-08-06
1021Spain2026-08-05
1022Germany2026-08-04
1023Russia2026-07-15
1024France2026-07-29
1025India2026-07-28
1026Argentina2026-07-12
1027Australia2026-07-27
1028Japan2026-07-27
1029Spain2026-07-11
1030India2026-07-14
1031United Kingdom2026-07-25
1032Russia2026-07-19
1033India2026-07-15
1034Japan2026-07-11
1035Japan2026-07-25
1036India2026-07-31
1037Brazil2026-07-20
1038India2026-07-31
1039Japan2026-07-23
1040Italy2026-07-16
1041Italy2026-07-17
1042Italy2026-07-29
1043United Kingdom2026-07-29
1044Russia2026-08-08
1045Russia2026-07-14
1046Canada2026-08-03
1047Argentina2026-07-19
1048Germany2026-07-17
1049Italy2026-07-18

On-Demand Data

NameIdCountryDate
Ivar M Marrier1000France2026-07-31
Aruna U Iturbide1001Japan2026-07-15
Morrow K Amigon1002Germany2026-07-17
Darci Q Ferencz1003Spain2026-07-18
Jeanfrancois U Waycott1004Australia2026-07-15
Kadeem Y Kusko1005Italy2026-07-14
Kadeem P Briddick1006Canada2026-07-17
David P Briddick1007United Kingdom2026-08-01
Wickens B Darakjy1008Spain2026-07-12
Aditya T Doe1009Germany2026-07-26
Rodrigues A Whobrey1010India2026-07-19
Leja N Figeroa1011Russia2026-08-08
Ashley W Amigon1012Brazil2026-08-08
Ricardo J Caldarera1013Canada2026-08-02
Rodrigues R Tollner1014Japan2026-07-20
Antonio A Garufi1015United Kingdom2026-07-21
Wickens S Butt1016France2026-08-05
Jeanfrancois G Foller1017Russia2026-07-19
Arvin J Caudy1018Italy2026-07-11
Leon W Foller1019Germany2026-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith Z GillianIndiaElwin Sharvill PROPOSAL
Chavez L OldroydIndiaOnyama Limba QUALIFIED
Jones V CampainFranceIoni Bowcher NEW
Costa H TollnerSpainAmy Elsner PROPOSAL
Mayumi O CampainItalyIoni Bowcher UNQUALIFIED
Jennifer A VocelkaCanadaAmy Elsner NEW
Mujtaba V NestleCanadaIvan Magalhaes NEGOTIATION
Costa R CaldareraAustraliaOnyama Limba PROPOSAL
Kaitlin K InouyeRussiaBernardo Dominic UNQUALIFIED
Leja C OstroskyUnited KingdomAmy Elsner NEW
Alejandro L PoquetteAustraliaAsiya Javayant PROPOSAL
Salvatore H MarrierAustraliaAmy Elsner NEGOTIATION
Juan Q GlickBrazilIoni Bowcher QUALIFIED
Arvin L PoquetteGermanyElwin Sharvill NEGOTIATION
Ashley V MarrierItalyStephen Shaw RENEWAL
Chavez C DilliardJapanIoni Bowcher NEW
Aditya W SchemmerRussiaElwin Sharvill NEGOTIATION
Nicolas V CaudySpainAnna Fali NEW
Leja E RutaSpainAsiya Javayant PROPOSAL
Julie C RimFranceOnyama Limba NEGOTIATION
Adams H RutaGermanyOnyama Limba NEW
Maria S BowleyRussiaStephen Shaw NEGOTIATION
Izzy T ChuiArgentinaOnyama Limba PROPOSAL
Salvatore W PerinRussiaAsiya Javayant UNQUALIFIED
Francesco Q GauchoArgentinaBernardo Dominic QUALIFIED
Izzy A ShinkoArgentinaOnyama Limba NEGOTIATION
Munro J IturbideRussiaAmy Elsner NEW
Antonio K FerenczGermanyAnna Fali RENEWAL
Octavia O ShinkoRussiaXuxue Feng NEGOTIATION
James U AmigonSpainStephen Shaw QUALIFIED
Darci Z RutaBrazilOnyama Limba NEGOTIATION
Murillo F GauchoIndiaAsiya Javayant QUALIFIED
Maria P PerinAustraliaStephen Shaw NEW
Juan K OldroydSpainOnyama Limba PROPOSAL
Ashley Y RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Alejandro Z StockhamJapanOnyama Limba UNQUALIFIED
Alejandro T BowleyUnited KingdomAsiya Javayant QUALIFIED
Antonio R MaletSpainStephen Shaw PROPOSAL
Kaitlin R BriddickUnited KingdomIoni Bowcher RENEWAL
Aditya I DarakjyBrazilOnyama Limba NEW

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