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
Octavia K SergiIndiaXuxue Feng NEGOTIATION
Maria T MacleadSpainStephen Shaw UNQUALIFIED
Juan V NestleCanadaXuxue Feng NEGOTIATION
Wickens F AmigonRussiaElwin Sharvill RENEWAL
Greenwood S IturbideBrazilIvan Magalhaes NEW
Murillo C StockhamRussiaAsiya Javayant PROPOSAL
Chavez D MorascaIndiaIvan Magalhaes PROPOSAL
Aika H PaprockiItalyStephen Shaw NEW
Julie W SergiItalyStephen Shaw RENEWAL
Kaitlin G OstroskyBrazilAsiya Javayant UNQUALIFIED
Maisha F FigeroaAustraliaXuxue Feng QUALIFIED
Stacey I MaletAustraliaAmy Elsner NEGOTIATION
Juan M InouyeCanadaXuxue Feng RENEWAL
Deepesh S MarrierAustraliaXuxue Feng NEGOTIATION
Emily S GarufiSpainBernardo Dominic RENEWAL
Nicolas V RimAustraliaXuxue Feng NEGOTIATION
Murillo A PoquetteFranceIoni Bowcher NEW
Alejandro G StensethFranceAsiya Javayant PROPOSAL
Aditya C ChuiFranceOnyama Limba NEGOTIATION
Rodrigues K StockhamItalyElwin Sharvill QUALIFIED
Ivar Y CaudyGermanyAsiya Javayant QUALIFIED
Sinclair V RoysterCanadaXuxue Feng NEW
Maisha F BowleyJapanAmy Elsner NEGOTIATION
James E FlosiBrazilXuxue Feng NEGOTIATION
Alejandro E StensethJapanAmy Elsner QUALIFIED
Mayumi W CaudyRussiaXuxue Feng RENEWAL
Mayumi J RimAustraliaIoni Bowcher NEW
Aruna J FollerGermanyXuxue Feng PROPOSAL
Clifford L GarufiIndiaIvan Magalhaes NEGOTIATION
Darci G RulapaughUnited KingdomAmy Elsner NEGOTIATION
Emily A BriddickBrazilIoni Bowcher UNQUALIFIED
Ashley C VenereUnited KingdomIoni Bowcher PROPOSAL
Alejandro Z ShinkoJapanElwin Sharvill RENEWAL
Emily D MorascaItalyOnyama Limba NEW
Aika A SlusarskiBrazilXuxue Feng PROPOSAL
Stacey D GauchoBrazilIvan Magalhaes NEGOTIATION
Cody S InouyeAustraliaOnyama Limba RENEWAL
Antonio P GlickItalyIoni Bowcher NEGOTIATION
Jones A DoeAustraliaAmy Elsner RENEWAL
Leja S VenereAustraliaIoni Bowcher PROPOSAL
Kaitlin G FerenczArgentinaXuxue Feng NEGOTIATION
Clifford K CampainItalyXuxue Feng QUALIFIED
Murillo Y OldroydAustraliaIoni Bowcher QUALIFIED
Kadeem M BologniaBrazilIoni Bowcher UNQUALIFIED
Murillo T GarufiGermanyAnna Fali NEGOTIATION
Misaki N BriddickAustraliaAnna Fali NEGOTIATION
Salvatore C GillianIndiaAnna Fali QUALIFIED
Jeanfrancois A DilliardIndiaElwin Sharvill NEW
Kaitlin F CaldareraBrazilAnna Fali NEGOTIATION
Emily X OldroydBrazilAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria J RutaAustraliaElwin Sharvill PROPOSAL
Aruna K MaletUnited KingdomElwin Sharvill PROPOSAL
Rodrigues K BriddickArgentinaIoni Bowcher RENEWAL
Claire V RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Stacey X DarakjyUnited KingdomAsiya Javayant QUALIFIED
Tony Z RoysterFranceAnna Fali NEGOTIATION
Smith D CaldareraGermanyXuxue Feng UNQUALIFIED
Greenwood I InouyeArgentinaOnyama Limba RENEWAL
Nicolas K BologniaCanadaAmy Elsner NEW
Isabel P WaycottCanadaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki L OldroydBrazil2025-05-21Buckley Miller Wright RENEWAL54Xuxue Feng
1001Antonio U BologniaIndia2025-05-21Rousseaux, Michael Esq NEW95Bernardo Dominic
1002Deepesh Q MarrierItaly2025-05-20Commercial Press UNQUALIFIED70Asiya Javayant
1003Kadeem F RoysterCanada2025-06-08Rousseaux, Michael Esq RENEWAL54Ivan Magalhaes
1004Claire V MacleadFrance2025-05-26Feiner Bros RENEWAL1Asiya Javayant
1005Leon H SaylorsUnited Kingdom2025-06-08Commercial Press NEW35Bernardo Dominic
1006Adams V InouyeJapan2025-06-01Morlong Associates UNQUALIFIED47Stephen Shaw
1007James C SchemmerJapan2025-05-27Chemel, James L Cpa NEW53Amy Elsner
1008Aditya J GillianAustralia2025-05-26Benton, John B Jr UNQUALIFIED86Anna Fali
1009Johnson F VenereBrazil2025-05-21Benton, John B Jr NEGOTIATION84Asiya Javayant
1010Jennifer X GlickArgentina2025-06-10Feltz Printing Service QUALIFIED78Xuxue Feng
1011Jones S MaletCanada2025-06-08Truhlar And Truhlar Attys NEGOTIATION48Anna Fali
1012Jefferson Q RoysterCanada2025-05-16Truhlar And Truhlar Attys NEW59Amy Elsner
1013James G FigeroaRussia2025-05-29Chemel, James L Cpa NEW69Xuxue Feng
1014Mujtaba N StockhamCanada2025-05-17King, Christopher A Esq QUALIFIED72Onyama Limba
1015Darci K FerenczIndia2025-06-13Commercial Press PROPOSAL77Anna Fali
1016Izzy I SlusarskiRussia2025-05-22Benton, John B Jr PROPOSAL61Anna Fali
1017Deepesh A FigeroaGermany2025-05-21Printing Dimensions NEW75Ivan Magalhaes
1018Maisha J CaudyIndia2025-05-29Chapman, Ross E Esq UNQUALIFIED22Amy Elsner
1019Ricardo Z FollerArgentina2025-06-10Commercial Press PROPOSAL78Stephen Shaw
1020Sinclair N BologniaAustralia2025-06-02Feltz Printing Service PROPOSAL86Bernardo Dominic
1021Smith M MaletArgentina2025-05-24Dorl, James J Esq QUALIFIED20Bernardo Dominic
1022Aika X SlusarskiBrazil2025-06-10Benton, John B Jr NEGOTIATION93Anna Fali
1023Silvio Q CampainAustralia2025-05-17Printing Dimensions UNQUALIFIED60Stephen Shaw
1024Jeanfrancois T DilliardBrazil2025-05-17Buckley Miller Wright NEGOTIATION76Elwin Sharvill
1025Darci N CaldareraUnited Kingdom2025-05-16King, Christopher A Esq UNQUALIFIED14Xuxue Feng
1026Rodrigues V FollerItaly2025-06-08Rousseaux, Michael Esq NEW86Bernardo Dominic
1027Maisha C GlickRussia2025-06-08Benton, John B Jr UNQUALIFIED11Ioni Bowcher
1028Aika T ButtGermany2025-05-31King, Christopher A Esq NEW71Stephen Shaw
1029Izzy D SaylorsItaly2025-05-21Truhlar And Truhlar Attys NEW79Ivan Magalhaes
1030Maria P PerinJapan2025-06-09Chanay, Jeffrey A Esq UNQUALIFIED66Ivan Magalhaes
1031Murillo H ShinkoGermany2025-06-04King, Christopher A Esq UNQUALIFIED4Ivan Magalhaes
1032Aditya S FerenczSpain2025-05-28Feiner Bros UNQUALIFIED32Ivan Magalhaes
1033Nicolas L PaprockiAustralia2025-05-23Morlong Associates RENEWAL92Stephen Shaw
1034Jeanfrancois G AlbaresRussia2025-05-25King, Christopher A Esq QUALIFIED2Ioni Bowcher
1035Maria K DilliardIndia2025-06-05Chapman, Ross E Esq UNQUALIFIED47Bernardo Dominic
1036Johnson O WhobreyIndia2025-06-02Chapman, Ross E Esq PROPOSAL63Elwin Sharvill
1037Jeanfrancois V MorascaUnited Kingdom2025-06-11Dorl, James J Esq RENEWAL89Bernardo Dominic
1038James W DilliardUnited Kingdom2025-05-28Commercial Press PROPOSAL15Xuxue Feng
1039Izzy E FlosiSpain2025-06-09Truhlar And Truhlar Attys UNQUALIFIED32Xuxue Feng
1040Clifford W RulapaughSpain2025-06-01Buckley Miller Wright RENEWAL4Asiya Javayant
1041Kaitlin F RimItaly2025-05-24King, Christopher A Esq UNQUALIFIED49Elwin Sharvill
1042Julie B NestleIndia2025-06-08Rangoni Of Florence PROPOSAL24Anna Fali
1043Adams K KolmetzGermany2025-05-25Buckley Miller Wright QUALIFIED37Stephen Shaw
1044Emily L ButtJapan2025-05-27Feltz Printing Service PROPOSAL49Asiya Javayant
1045Tony Y FlosiCanada2025-06-13Morlong Associates NEW60Elwin Sharvill
1046Maria Q ChuiSpain2025-05-27Benton, John B Jr NEW25Ivan Magalhaes
1047Claire D IturbideBrazil2025-05-18Dorl, James J Esq NEW16Elwin Sharvill
1048Julie O ButtItaly2025-05-30Chanay, Jeffrey A Esq NEW3Stephen Shaw
1049Misaki D MorascaRussia2025-06-02Truhlar And Truhlar Attys QUALIFIED45Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
David C WaycottUnited KingdomIvan Magalhaes PROPOSAL
Cody Y WhobreyItalyAsiya Javayant PROPOSAL
Deepesh B OldroydBrazilElwin Sharvill PROPOSAL
Silvio E GillianUnited KingdomBernardo Dominic NEGOTIATION
Mayumi F NestleUnited KingdomIvan Magalhaes UNQUALIFIED
Juan N FerenczSpainIoni Bowcher PROPOSAL
Greenwood Q CampainFranceBernardo Dominic PROPOSAL
Stacey F SlusarskiAustraliaIoni Bowcher PROPOSAL
Jones U WaycottIndiaIvan Magalhaes QUALIFIED
Murillo E PaprockiRussiaAsiya Javayant NEW
Salvatore U DoeAustraliaIvan Magalhaes QUALIFIED
Alejandro F FerenczCanadaAnna Fali QUALIFIED
Smith V OldroydCanadaXuxue Feng QUALIFIED
Munro F FigeroaItalyBernardo Dominic QUALIFIED
Alejandro Z PoquetteGermanyXuxue Feng UNQUALIFIED
Morrow W PaprockiCanadaXuxue Feng UNQUALIFIED
Morrow C StensethFranceStephen Shaw QUALIFIED
Aika U MaletBrazilBernardo Dominic NEW
Faith H KuskoFranceAmy Elsner NEW
Mayumi Y SlusarskiAustraliaXuxue Feng UNQUALIFIED
Emily H SaylorsItalyXuxue Feng QUALIFIED
Adams M KuskoCanadaAmy Elsner NEGOTIATION
Faith Z SaylorsAustraliaStephen Shaw QUALIFIED
Alejandro F CampainFranceElwin Sharvill PROPOSAL
Ashley A RoysterRussiaOnyama Limba UNQUALIFIED
Alejandro A FlosiFranceAnna Fali QUALIFIED
Francesco Y RoysterCanadaElwin Sharvill NEW
Isabel C BowleySpainStephen Shaw QUALIFIED
Adams U CampainBrazilXuxue Feng UNQUALIFIED
Leon F ChuiSpainBernardo Dominic PROPOSAL
Wickens F SchemmerIndiaAnna Fali NEGOTIATION
Juan I MaletAustraliaIvan Magalhaes RENEWAL
Ashley W ButtBrazilXuxue Feng RENEWAL
James S PerinIndiaBernardo Dominic QUALIFIED
Jones H MorascaCanadaIoni Bowcher NEW
Munro Y PerinRussiaAnna Fali RENEWAL
Rodrigues O ButtIndiaIvan Magalhaes NEGOTIATION
Aditya R SaylorsFranceAmy Elsner QUALIFIED
Murillo A CaldareraRussiaAsiya Javayant QUALIFIED
Mujtaba G IturbideUnited KingdomElwin Sharvill QUALIFIED
Smith J MarrierItalyElwin Sharvill NEW
Rodrigues V PerinItalyOnyama Limba NEGOTIATION
Deepesh Z RoysterRussiaAnna Fali RENEWAL
Salvatore R MarrierItalyAmy Elsner PROPOSAL
Chavez Q PerinItalyAsiya Javayant NEW
Kaitlin L StensethGermanyAmy Elsner NEGOTIATION
Tony Z GillianItalyIoni Bowcher QUALIFIED
James Y NickaCanadaAnna Fali NEW
Kaitlin O RoysterSpainAsiya Javayant NEW
Julie W SaylorsItalyOnyama Limba UNQUALIFIED
Frozen Columns
Name
Morrow O Ferencz
Francesco J Vocelka
Misaki L Perin
Adams P Doe
Greenwood O Ostrosky
Emily A Vocelka
Alejandro C Campain
Silvio A Malet
Juan R Chui
Leja D Caldarera
Emily M Darakjy
Smith W Whobrey
Silvio T Morasca
Ivar K Saylors
Antonio I Morasca
Clifford X Sergi
Sinclair G Campain
Mujtaba J Glick
Morrow B Paprocki
Mayumi D Stockham
Antonio C Saylors
Ashley F Darakjy
Jennifer V Doe
Misaki W Nestle
Jeanfrancois G Nestle
Munro F Ferencz
Munro T Morasca
Juan J Foller
Aditya O Nicka
Cody F Flosi
Jefferson A Darakjy
Clifford J Flosi
Morrow Q Bolognia
Mujtaba N Malet
Ashley Z Whobrey
Antonio U Shinko
Faith C Stockham
Jennifer J Caudy
Deepesh C Briddick
Aditya H Kolmetz
Sinclair M Slusarski
Kadeem C Briddick
Leja K Flosi
Octavia W Darakjy
Jones V Nestle
Deepesh R Caudy
Isabel J Ferencz
Chavez N Darakjy
Johnson D Albares
Morrow K Ostrosky
IdCountryDate
1000Australia2025-05-24
1001Australia2025-05-22
1002Canada2025-06-09
1003France2025-05-18
1004Brazil2025-06-06
1005Spain2025-05-24
1006Canada2025-05-29
1007Spain2025-05-27
1008United Kingdom2025-05-23
1009Argentina2025-05-27
1010Canada2025-05-31
1011Spain2025-06-12
1012India2025-05-31
1013Australia2025-05-20
1014Canada2025-05-27
1015India2025-06-03
1016France2025-05-29
1017Germany2025-06-07
1018Australia2025-05-30
1019Argentina2025-06-05
1020Argentina2025-05-20
1021United Kingdom2025-06-14
1022Australia2025-05-17
1023Brazil2025-05-22
1024Germany2025-05-19
1025France2025-06-14
1026Argentina2025-06-14
1027Russia2025-05-28
1028Canada2025-05-17
1029Germany2025-05-22
1030Australia2025-06-06
1031Japan2025-06-03
1032Spain2025-05-21
1033Canada2025-06-05
1034United Kingdom2025-05-19
1035Brazil2025-05-28
1036Brazil2025-06-01
1037Argentina2025-06-10
1038United Kingdom2025-05-28
1039Brazil2025-05-19
1040Brazil2025-05-27
1041Canada2025-05-22
1042Russia2025-05-31
1043India2025-05-21
1044Italy2025-05-29
1045India2025-05-23
1046Italy2025-06-14
1047Spain2025-05-21
1048United Kingdom2025-05-21
1049France2025-06-02

On-Demand Data

NameIdCountryDate
Ivar X Malet1000Australia2025-05-24
Stacey T Briddick1001United Kingdom2025-06-07
Salvatore L Ferencz1002India2025-05-30
Mujtaba D Caldarera1003Japan2025-05-23
Mujtaba Y Butt1004India2025-05-22
Mayumi R Iturbide1005Argentina2025-05-16
Arvin K Malet1006Canada2025-06-12
Stacey Q Albares1007Germany2025-05-31
Jennifer W Malet1008Japan2025-06-13
Darci E Flosi1009Argentina2025-05-21
Leja C Stenseth1010Spain2025-06-02
David L Nestle1011Brazil2025-06-01
Jones W Vocelka1012Germany2025-05-27
Deepesh Q Caldarera1013Spain2025-06-14
Deepesh G Marrier1014India2025-06-10
Nicolas B Stockham1015Argentina2025-06-12
Silvio D Morasca1016Germany2025-05-29
Tony X Bolognia1017Australia2025-06-03
Leon Z Flosi1018Germany2025-05-24
Sinclair Y Slusarski1019United Kingdom2025-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey Y DarakjyIndiaStephen Shaw RENEWAL
Munro S SergiArgentinaAnna Fali PROPOSAL
David P SaylorsSpainBernardo Dominic RENEWAL
Mayumi O RulapaughRussiaBernardo Dominic NEGOTIATION
Smith R CaudyFranceStephen Shaw UNQUALIFIED
Tony Y RoysterBrazilAsiya Javayant PROPOSAL
Cody N ShinkoSpainElwin Sharvill NEW
Leja E ChuiSpainIoni Bowcher RENEWAL
Tony K BriddickArgentinaIvan Magalhaes PROPOSAL
Maria J DilliardSpainOnyama Limba QUALIFIED
Sinclair N CaldareraArgentinaElwin Sharvill UNQUALIFIED
Aditya C DilliardBrazilBernardo Dominic RENEWAL
Ivar J MaletUnited KingdomXuxue Feng QUALIFIED
Mujtaba V FollerItalyXuxue Feng RENEWAL
Costa L MarrierGermanyIvan Magalhaes NEW
Aruna R GlickItalyBernardo Dominic PROPOSAL
Silvio E RutaGermanyIoni Bowcher QUALIFIED
Salvatore R SaylorsIndiaAnna Fali RENEWAL
Francesco W PoquetteAustraliaXuxue Feng NEGOTIATION
Chavez G WieserIndiaAsiya Javayant UNQUALIFIED
Jeanfrancois A RimUnited KingdomAsiya Javayant UNQUALIFIED
Octavia N OldroydItalyXuxue Feng PROPOSAL
Clifford L BologniaBrazilAmy Elsner NEW
Sinclair A BologniaSpainAmy Elsner PROPOSAL
Aika F MaletAustraliaXuxue Feng NEW
Maisha G AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi W AmigonJapanStephen Shaw UNQUALIFIED
Johnson Q RutaIndiaAmy Elsner RENEWAL
Kaitlin Z ChuiUnited KingdomBernardo Dominic NEW
Claire L BowleyArgentinaBernardo Dominic NEW
Jeanfrancois Y ButtItalyOnyama Limba QUALIFIED
Ivar S GillianCanadaStephen Shaw UNQUALIFIED
Costa K SchemmerUnited KingdomXuxue Feng NEW
Greenwood O MaletIndiaXuxue Feng UNQUALIFIED
Munro K CaldareraArgentinaAnna Fali NEW
Leja F KuskoJapanElwin Sharvill NEW
Johnson D ButtCanadaStephen Shaw NEGOTIATION
Francesco O CaldareraIndiaBernardo Dominic PROPOSAL
Jefferson O CaldareraCanadaAnna Fali PROPOSAL
Ricardo K RutaGermanyXuxue Feng 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>