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
Smith F PerinJapanBernardo Dominic PROPOSAL
Misaki M OldroydIndiaStephen Shaw UNQUALIFIED
Claire Q StockhamItalyBernardo Dominic NEW
Ivar Q BologniaItalyElwin Sharvill UNQUALIFIED
Emily L BowleyRussiaAnna Fali NEW
Maria L ButtJapanOnyama Limba NEGOTIATION
Tony X IturbideCanadaElwin Sharvill QUALIFIED
Costa Q WaycottBrazilBernardo Dominic QUALIFIED
Costa L FigeroaRussiaIvan Magalhaes QUALIFIED
Alejandro S PerinAustraliaBernardo Dominic UNQUALIFIED
Cody N ButtJapanXuxue Feng UNQUALIFIED
Deepesh Y CaudyItalyStephen Shaw UNQUALIFIED
Wickens K MacleadBrazilAmy Elsner NEW
Aditya Z DilliardUnited KingdomOnyama Limba UNQUALIFIED
Smith C RoysterIndiaOnyama Limba RENEWAL
Cody O BowleyBrazilAmy Elsner PROPOSAL
Isabel U SchemmerItalyIvan Magalhaes PROPOSAL
Sinclair R SchemmerCanadaBernardo Dominic RENEWAL
Maisha G StockhamFranceAnna Fali UNQUALIFIED
Misaki L FerenczFranceIvan Magalhaes UNQUALIFIED
Jones Q SchemmerCanadaXuxue Feng UNQUALIFIED
Maria I BriddickIndiaIvan Magalhaes PROPOSAL
Aika R WieserGermanyXuxue Feng UNQUALIFIED
Silvio C DarakjySpainStephen Shaw UNQUALIFIED
James C BriddickCanadaAmy Elsner QUALIFIED
Jennifer W SaylorsFranceIvan Magalhaes NEGOTIATION
Stacey I FollerGermanyAmy Elsner NEW
Julie B RimBrazilElwin Sharvill RENEWAL
Adams L ButtCanadaAmy Elsner PROPOSAL
Nicolas I DoeJapanAnna Fali QUALIFIED
Ricardo I PerinIndiaAsiya Javayant NEGOTIATION
Sinclair Y RoysterUnited KingdomXuxue Feng NEW
Silvio I DilliardSpainOnyama Limba NEGOTIATION
Darci N IturbideAustraliaIoni Bowcher RENEWAL
Maria O OldroydItalyAmy Elsner RENEWAL
Arvin C NestleRussiaXuxue Feng NEGOTIATION
Octavia H KuskoBrazilAnna Fali PROPOSAL
Ricardo P StensethAustraliaAsiya Javayant PROPOSAL
Wickens C RoysterArgentinaIvan Magalhaes QUALIFIED
Stacey E StockhamGermanyStephen Shaw PROPOSAL
Emily Z PerinFranceIoni Bowcher NEW
Maria M BowleyAustraliaIvan Magalhaes NEGOTIATION
Claire N CampainJapanAsiya Javayant PROPOSAL
Kaitlin F PerinItalyBernardo Dominic RENEWAL
Clifford G MaletAustraliaElwin Sharvill QUALIFIED
Greenwood C RutaBrazilBernardo Dominic NEW
Cody G CaldareraJapanBernardo Dominic RENEWAL
Jones H StensethJapanIvan Magalhaes NEGOTIATION
Stacey B KolmetzIndiaAnna Fali QUALIFIED
Claire P DarakjyCanadaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Chavez P AlbaresItalyXuxue Feng RENEWAL
James H RimCanadaIvan Magalhaes RENEWAL
Izzy S RoysterCanadaXuxue Feng NEGOTIATION
Leja R SergiSpainOnyama Limba RENEWAL
Costa Y NickaItalyXuxue Feng QUALIFIED
Leon Y FollerIndiaStephen Shaw NEW
Salvatore C GauchoCanadaIoni Bowcher NEW
Adams T ButtRussiaBernardo Dominic PROPOSAL
Jeanfrancois V ShinkoItalyIoni Bowcher QUALIFIED
Antonio J FerenczGermanyOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio R CaudyBrazil2024-06-12Printing Dimensions NEW64Xuxue Feng
1001Leon Y GauchoAustralia2024-06-11Rousseaux, Michael Esq NEW4Ivan Magalhaes
1002Arvin F SaylorsJapan2024-06-02Feltz Printing Service NEW93Elwin Sharvill
1003Antonio J GillianArgentina2024-06-16Feiner Bros RENEWAL50Ioni Bowcher
1004Costa R GlickRussia2024-06-02Buckley Miller Wright QUALIFIED1Elwin Sharvill
1005Mujtaba O NestleRussia2024-05-21Rangoni Of Florence NEW77Asiya Javayant
1006Tony J VenereFrance2024-06-16Rousseaux, Michael Esq NEW91Xuxue Feng
1007Francesco A SchemmerSpain2024-06-13Truhlar And Truhlar Attys UNQUALIFIED41Ivan Magalhaes
1008Octavia F WaycottSpain2024-06-10Buckley Miller Wright NEW90Asiya Javayant
1009James Y RimAustralia2024-06-02Commercial Press UNQUALIFIED16Ivan Magalhaes
1010Misaki S MaletFrance2024-05-29Rousseaux, Michael Esq QUALIFIED16Asiya Javayant
1011Jennifer D ButtBrazil2024-05-30Rangoni Of Florence RENEWAL96Anna Fali
1012Aditya T StockhamIndia2024-05-29Buckley Miller Wright PROPOSAL93Bernardo Dominic
1013Morrow B MarrierIndia2024-05-31Chemel, James L Cpa RENEWAL35Amy Elsner
1014Ashley S PerinItaly2024-06-06Rangoni Of Florence PROPOSAL86Elwin Sharvill
1015Jefferson A TollnerRussia2024-06-06Buckley Miller Wright NEGOTIATION89Asiya Javayant
1016Deepesh E NickaArgentina2024-05-24Chapman, Ross E Esq QUALIFIED80Onyama Limba
1017Aruna Q InouyeFrance2024-05-27Feltz Printing Service UNQUALIFIED23Amy Elsner
1018Aruna W InouyeGermany2024-06-15Chanay, Jeffrey A Esq PROPOSAL4Bernardo Dominic
1019Smith A GlickGermany2024-06-09Feiner Bros NEGOTIATION98Bernardo Dominic
1020Greenwood H GarufiCanada2024-06-11Chemel, James L Cpa NEW9Amy Elsner
1021Francesco N StockhamFrance2024-05-28Chemel, James L Cpa QUALIFIED43Onyama Limba
1022Johnson P CampainIndia2024-05-28Printing Dimensions UNQUALIFIED21Amy Elsner
1023Claire M MorascaFrance2024-06-09Dorl, James J Esq UNQUALIFIED33Ivan Magalhaes
1024Darci I ButtArgentina2024-05-27Morlong Associates NEW49Xuxue Feng
1025Jeanfrancois P FigeroaItaly2024-06-07Dorl, James J Esq PROPOSAL98Ivan Magalhaes
1026Smith E GauchoItaly2024-05-22Feiner Bros UNQUALIFIED65Anna Fali
1027Nicolas X AlbaresGermany2024-06-09Chapman, Ross E Esq NEW99Stephen Shaw
1028Nicolas X PoquetteGermany2024-06-12Feltz Printing Service RENEWAL93Bernardo Dominic
1029Darci H TollnerArgentina2024-05-22Commercial Press QUALIFIED31Asiya Javayant
1030Chavez T RoysterUnited Kingdom2024-06-04Chapman, Ross E Esq NEW36Elwin Sharvill
1031Claire B MorascaArgentina2024-06-08Commercial Press QUALIFIED80Anna Fali
1032Leja Z MarrierIndia2024-05-27Chapman, Ross E Esq PROPOSAL96Amy Elsner
1033Aika G RulapaughArgentina2024-06-18Printing Dimensions NEW95Ivan Magalhaes
1034Wickens Q BowleyUnited Kingdom2024-06-12Chemel, James L Cpa NEW91Bernardo Dominic
1035Juan A GillianCanada2024-05-30Rangoni Of Florence NEW51Onyama Limba
1036Stacey G SchemmerJapan2024-06-01Buckley Miller Wright NEGOTIATION18Onyama Limba
1037Antonio X MaletJapan2024-05-30Printing Dimensions QUALIFIED69Ioni Bowcher
1038Aditya W GarufiFrance2024-06-02Rangoni Of Florence NEW12Xuxue Feng
1039Munro E ShinkoRussia2024-06-11Chanay, Jeffrey A Esq PROPOSAL30Amy Elsner
1040Emily U GlickIndia2024-05-25Feltz Printing Service NEW8Elwin Sharvill
1041Antonio I PerinSpain2024-06-05Truhlar And Truhlar Attys QUALIFIED53Xuxue Feng
1042Nicolas W CampainIndia2024-06-03Buckley Miller Wright PROPOSAL71Amy Elsner
1043Faith G SchemmerCanada2024-06-03Dorl, James J Esq QUALIFIED51Onyama Limba
1044Emily T SaylorsRussia2024-05-31Chapman, Ross E Esq QUALIFIED62Asiya Javayant
1045Ricardo O FlosiSpain2024-06-05Buckley Miller Wright QUALIFIED14Onyama Limba
1046Kaitlin H FollerBrazil2024-05-23Buckley Miller Wright UNQUALIFIED14Bernardo Dominic
1047Morrow T PaprockiRussia2024-05-30Rangoni Of Florence RENEWAL96Amy Elsner
1048Octavia Y OstroskyItaly2024-06-09Commercial Press NEW38Elwin Sharvill
1049Leja K MaletItaly2024-06-17Chanay, Jeffrey A Esq RENEWAL94Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois F TollnerSpainBernardo Dominic QUALIFIED
Adams H CampainItalyXuxue Feng NEW
Aika D PaprockiItalyIvan Magalhaes QUALIFIED
Jefferson P StensethUnited KingdomElwin Sharvill NEGOTIATION
Costa N CampainBrazilAsiya Javayant UNQUALIFIED
James O ButtArgentinaBernardo Dominic RENEWAL
Johnson U CampainIndiaXuxue Feng UNQUALIFIED
Ashley A AlbaresIndiaElwin Sharvill NEGOTIATION
Juan C RoysterJapanIoni Bowcher RENEWAL
Deepesh X SaylorsIndiaAnna Fali PROPOSAL
Aika I KuskoIndiaElwin Sharvill QUALIFIED
Sinclair C GarufiBrazilAnna Fali UNQUALIFIED
Arvin A TollnerUnited KingdomAmy Elsner UNQUALIFIED
Salvatore K CaldareraArgentinaAsiya Javayant PROPOSAL
Kaitlin Y PerinAustraliaIoni Bowcher UNQUALIFIED
James I OstroskyGermanyOnyama Limba PROPOSAL
Silvio C TollnerItalyAnna Fali PROPOSAL
Aditya C ShinkoGermanyIoni Bowcher UNQUALIFIED
Clifford P FlosiArgentinaElwin Sharvill NEW
Faith Z WieserBrazilBernardo Dominic PROPOSAL
Clifford T IturbideSpainIoni Bowcher QUALIFIED
Jefferson C DoeArgentinaXuxue Feng RENEWAL
Darci P RulapaughSpainAmy Elsner PROPOSAL
Silvio W NestleCanadaStephen Shaw PROPOSAL
Clifford I ShinkoAustraliaElwin Sharvill QUALIFIED
Kaitlin H DilliardAustraliaXuxue Feng RENEWAL
Antonio Q DarakjyAustraliaAsiya Javayant UNQUALIFIED
Mayumi M GillianSpainIvan Magalhaes RENEWAL
Aditya T KolmetzCanadaOnyama Limba NEW
David E FerenczItalyIoni Bowcher PROPOSAL
Jeanfrancois N PerinRussiaOnyama Limba NEGOTIATION
Francesco A RulapaughIndiaElwin Sharvill NEGOTIATION
Maria Z WhobreyRussiaXuxue Feng RENEWAL
Morrow F BowleyRussiaAnna Fali PROPOSAL
Antonio I SergiRussiaOnyama Limba RENEWAL
Cody L BriddickSpainStephen Shaw NEW
Isabel J SaylorsSpainAsiya Javayant RENEWAL
Cody D FerenczSpainAsiya Javayant UNQUALIFIED
Tony H SchemmerArgentinaIvan Magalhaes QUALIFIED
Mayumi U StockhamUnited KingdomXuxue Feng RENEWAL
Silvio J DoeArgentinaXuxue Feng PROPOSAL
Claire O PerinCanadaIvan Magalhaes PROPOSAL
Morrow Y DilliardAustraliaXuxue Feng UNQUALIFIED
Silvio C RoysterJapanAsiya Javayant NEW
Jeanfrancois C RoysterUnited KingdomAmy Elsner RENEWAL
Johnson P PoquetteSpainBernardo Dominic QUALIFIED
Cody W BologniaBrazilAsiya Javayant UNQUALIFIED
Antonio O SchemmerRussiaAnna Fali UNQUALIFIED
Smith C PoquetteJapanAnna Fali PROPOSAL
Jeanfrancois I GillianItalyOnyama Limba QUALIFIED
Frozen Columns
Name
David Q Dilliard
Izzy Z Caudy
Sinclair X Ruta
Smith Y Morasca
Maria U Saylors
James J Stockham
Jones Z Gillian
Aditya R Waycott
Francesco N Marrier
Sinclair Y Waycott
Jeanfrancois H Stockham
Johnson Y Caldarera
Emily D Paprocki
Aditya D Sergi
Maria J Chui
Ivar H Gillian
Deepesh Y Poquette
Ivar B Stockham
Jeanfrancois Y Chui
Adams E Kolmetz
Rodrigues D Gaucho
Clifford I Stockham
Francesco T Nestle
Faith T Foller
Leon J Oldroyd
Mayumi P Malet
Murillo K Caldarera
Ashley D Nestle
Costa B Ostrosky
Maisha U Bowley
Claire H Ferencz
Claire G Sergi
Darci W Sergi
Silvio V Glick
Smith Z Schemmer
Mayumi W Kolmetz
Greenwood P Stenseth
Misaki M Tollner
Smith K Ostrosky
Murillo V Poquette
Rodrigues R Whobrey
Stacey Y Bolognia
Jones C Gaucho
Chavez K Albares
Rodrigues L Maclead
Adams M Garufi
James J Saylors
Wickens J Glick
Costa J Flosi
Darci F Caldarera
IdCountryDate
1000Argentina2024-06-15
1001Canada2024-06-02
1002Japan2024-06-17
1003France2024-06-09
1004Brazil2024-05-22
1005India2024-06-03
1006Russia2024-06-13
1007Australia2024-05-23
1008Germany2024-05-24
1009Spain2024-05-26
1010France2024-06-10
1011Brazil2024-06-15
1012Russia2024-05-20
1013France2024-06-12
1014Australia2024-06-05
1015India2024-05-29
1016Russia2024-05-20
1017Germany2024-05-24
1018Canada2024-06-05
1019Italy2024-06-18
1020Argentina2024-05-23
1021France2024-06-05
1022Japan2024-06-08
1023Argentina2024-06-18
1024Australia2024-06-07
1025Canada2024-06-18
1026Canada2024-06-10
1027France2024-05-26
1028Brazil2024-06-09
1029Spain2024-05-21
1030Germany2024-06-12
1031Japan2024-06-12
1032United Kingdom2024-06-13
1033Italy2024-05-24
1034Australia2024-05-20
1035Japan2024-06-14
1036Germany2024-06-15
1037Japan2024-06-05
1038United Kingdom2024-06-03
1039Spain2024-06-03
1040Argentina2024-06-12
1041India2024-05-26
1042France2024-05-25
1043Italy2024-05-26
1044India2024-06-12
1045Argentina2024-05-29
1046Italy2024-06-02
1047Canada2024-05-26
1048Italy2024-06-07
1049Japan2024-05-23

On-Demand Data

NameIdCountryDate
Clifford L Briddick1000Brazil2024-06-07
Deepesh T Paprocki1001India2024-06-08
Johnson Q Waycott1002United Kingdom2024-06-08
Jennifer S Whobrey1003Italy2024-06-04
Greenwood S Saylors1004Argentina2024-05-22
Kaitlin S Shinko1005Spain2024-06-09
Salvatore E Ostrosky1006United Kingdom2024-06-02
Juan G Ferencz1007Japan2024-06-11
David I Flosi1008France2024-06-03
Tony E Albares1009Argentina2024-06-17
Alejandro O Foller1010Italy2024-06-05
Ricardo Y Oldroyd1011Spain2024-05-23
Misaki G Figeroa1012Italy2024-06-01
Costa Y Nicka1013Canada2024-05-30
Greenwood M Briddick1014Argentina2024-05-22
Maria S Venere1015Russia2024-05-25
Greenwood N Saylors1016Japan2024-06-13
Nicolas O Foller1017Australia2024-06-05
Jennifer L Nicka1018India2024-05-23
Juan E Doe1019France2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci Z NestleIndiaAsiya Javayant RENEWAL
Tony R KolmetzRussiaOnyama Limba PROPOSAL
Faith Y FlosiGermanyOnyama Limba UNQUALIFIED
Jeanfrancois O BriddickRussiaAnna Fali RENEWAL
James G MaletAustraliaAnna Fali QUALIFIED
Maria K WhobreyUnited KingdomAmy Elsner PROPOSAL
Salvatore T SlusarskiRussiaElwin Sharvill PROPOSAL
Adams H OstroskyIndiaAsiya Javayant NEGOTIATION
Sinclair E WaycottSpainAmy Elsner UNQUALIFIED
Salvatore H VocelkaJapanOnyama Limba NEW
Octavia Z KuskoJapanOnyama Limba RENEWAL
Jones V GlickGermanyIvan Magalhaes UNQUALIFIED
Isabel T MaletUnited KingdomIvan Magalhaes QUALIFIED
Adams S BowleyArgentinaElwin Sharvill NEGOTIATION
Faith L DarakjyArgentinaAsiya Javayant NEGOTIATION
Murillo V RutaSpainOnyama Limba PROPOSAL
Francesco G NickaRussiaAsiya Javayant QUALIFIED
Wickens N OldroydFranceElwin Sharvill NEW
Antonio P VenereRussiaXuxue Feng NEW
Rodrigues W OldroydIndiaBernardo Dominic QUALIFIED
Jeanfrancois J IturbideItalyOnyama Limba UNQUALIFIED
Maria M WaycottRussiaXuxue Feng UNQUALIFIED
Johnson Y FerenczArgentinaStephen Shaw NEW
Adams P TollnerArgentinaAsiya Javayant RENEWAL
Leja L AlbaresBrazilStephen Shaw NEGOTIATION
Aika D DilliardItalyIoni Bowcher NEGOTIATION
Greenwood G FlosiJapanBernardo Dominic RENEWAL
Clifford Z ChuiAustraliaOnyama Limba UNQUALIFIED
Stacey D FollerAustraliaOnyama Limba UNQUALIFIED
Claire W AlbaresAustraliaXuxue Feng QUALIFIED
Rodrigues P IturbideFranceAnna Fali UNQUALIFIED
Ricardo S OstroskyBrazilBernardo Dominic UNQUALIFIED
James P OstroskyGermanyAsiya Javayant UNQUALIFIED
Kadeem A BriddickRussiaStephen Shaw PROPOSAL
Aika X StensethUnited KingdomXuxue Feng QUALIFIED
Isabel U GarufiItalyIvan Magalhaes RENEWAL
Juan K FlosiAustraliaBernardo Dominic RENEWAL
Aika G ButtRussiaXuxue Feng PROPOSAL
Clifford M DilliardGermanyElwin Sharvill NEW
Francesco I WaycottIndiaAsiya Javayant 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>