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
Salvatore O SergiSpainOnyama Limba NEW
Leja G BriddickUnited KingdomAsiya Javayant NEW
Murillo G PoquetteRussiaAmy Elsner RENEWAL
Emily B BologniaItalyIvan Magalhaes UNQUALIFIED
Aika C BologniaArgentinaAsiya Javayant NEGOTIATION
Maisha Q RoysterRussiaStephen Shaw UNQUALIFIED
Aruna P AlbaresFranceXuxue Feng RENEWAL
Jeanfrancois K GarufiItalyAmy Elsner RENEWAL
Mayumi H RutaCanadaStephen Shaw UNQUALIFIED
Stacey V WaycottJapanElwin Sharvill QUALIFIED
Ivar F RulapaughGermanyElwin Sharvill QUALIFIED
Deepesh P ButtAustraliaStephen Shaw PROPOSAL
Mujtaba O FollerSpainElwin Sharvill NEW
Kaitlin H PoquetteAustraliaAnna Fali RENEWAL
Adams S VenereUnited KingdomAnna Fali RENEWAL
James D TollnerFranceIvan Magalhaes NEW
Costa P DilliardBrazilAnna Fali QUALIFIED
Murillo F OstroskyBrazilBernardo Dominic NEGOTIATION
Costa J GlickAustraliaAnna Fali UNQUALIFIED
Alejandro F CaldareraIndiaXuxue Feng QUALIFIED
Munro E VocelkaIndiaBernardo Dominic UNQUALIFIED
Nicolas V PoquetteArgentinaXuxue Feng NEGOTIATION
David D ChuiItalyXuxue Feng RENEWAL
Salvatore K PoquetteJapanOnyama Limba NEGOTIATION
Deepesh R GlickGermanyOnyama Limba QUALIFIED
Clifford K FlosiSpainIoni Bowcher NEW
Misaki D MaletItalyAsiya Javayant NEGOTIATION
Izzy K MaletJapanIoni Bowcher PROPOSAL
Cody A RutaBrazilBernardo Dominic PROPOSAL
Misaki G MaletArgentinaBernardo Dominic QUALIFIED
Alejandro N MaletRussiaAsiya Javayant NEW
Morrow J GarufiFranceXuxue Feng NEGOTIATION
Julie U SchemmerAustraliaOnyama Limba QUALIFIED
Izzy R NickaArgentinaOnyama Limba PROPOSAL
Ivar Z SchemmerJapanStephen Shaw RENEWAL
Smith L AmigonGermanyAmy Elsner RENEWAL
Maisha H PoquetteArgentinaAmy Elsner PROPOSAL
Leon Q WieserUnited KingdomAmy Elsner NEW
Isabel P SergiBrazilXuxue Feng RENEWAL
Francesco A RoysterFranceAmy Elsner RENEWAL
Sinclair S OstroskyUnited KingdomBernardo Dominic PROPOSAL
Adams M VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Francesco N ShinkoItalyOnyama Limba PROPOSAL
Darci N MacleadUnited KingdomStephen Shaw NEGOTIATION
Maria H OldroydArgentinaBernardo Dominic PROPOSAL
Munro K StensethIndiaAmy Elsner QUALIFIED
Darci L GlickGermanyElwin Sharvill NEW
Ivar A MacleadUnited KingdomAnna Fali QUALIFIED
Francesco F NickaRussiaAnna Fali PROPOSAL
Jefferson K DilliardAustraliaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio E BologniaIndiaElwin Sharvill QUALIFIED
Aditya O GarufiJapanAmy Elsner PROPOSAL
Darci A PerinUnited KingdomIoni Bowcher PROPOSAL
Morrow R SaylorsSpainIvan Magalhaes NEW
Aruna X IturbideFranceIvan Magalhaes QUALIFIED
Jones H MaletIndiaAnna Fali PROPOSAL
Emily H CaldareraUnited KingdomElwin Sharvill RENEWAL
Francesco Y SchemmerJapanBernardo Dominic UNQUALIFIED
Mujtaba P SchemmerSpainAsiya Javayant RENEWAL
Mujtaba G CaudyArgentinaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh O ChuiItaly2024-05-29Dorl, James J Esq NEW33Elwin Sharvill
1001Darci R InouyeRussia2024-06-04King, Christopher A Esq PROPOSAL47Asiya Javayant
1002Rodrigues H CaldareraIndia2024-05-25Rangoni Of Florence NEGOTIATION34Amy Elsner
1003Clifford N MorascaArgentina2024-05-27Feltz Printing Service UNQUALIFIED68Xuxue Feng
1004Francesco U VocelkaAustralia2024-06-10Feiner Bros RENEWAL6Bernardo Dominic
1005Isabel J RimFrance2024-05-27King, Christopher A Esq PROPOSAL7Bernardo Dominic
1006Costa Z OstroskyUnited Kingdom2024-06-17Rousseaux, Michael Esq RENEWAL50Ioni Bowcher
1007Clifford H RoysterItaly2024-06-08Commercial Press QUALIFIED13Ivan Magalhaes
1008Ricardo T FigeroaItaly2024-06-17Chapman, Ross E Esq PROPOSAL40Xuxue Feng
1009Silvio C KolmetzUnited Kingdom2024-05-31Printing Dimensions UNQUALIFIED72Anna Fali
1010Aika J ChuiUnited Kingdom2024-06-08Benton, John B Jr UNQUALIFIED47Ivan Magalhaes
1011Wickens P PoquetteIndia2024-05-31Buckley Miller Wright RENEWAL41Elwin Sharvill
1012Octavia L RulapaughSpain2024-06-19Morlong Associates QUALIFIED42Elwin Sharvill
1013Alejandro W FerenczBrazil2024-05-28Dorl, James J Esq UNQUALIFIED76Elwin Sharvill
1014Antonio W WieserUnited Kingdom2024-05-27Dorl, James J Esq NEGOTIATION45Ivan Magalhaes
1015Ricardo X OstroskyGermany2024-06-14Chemel, James L Cpa PROPOSAL68Ioni Bowcher
1016Deepesh Y MacleadJapan2024-06-03Chapman, Ross E Esq QUALIFIED0Anna Fali
1017Clifford C GillianArgentina2024-06-20Chanay, Jeffrey A Esq RENEWAL48Onyama Limba
1018Greenwood E SergiIndia2024-05-28Benton, John B Jr NEW77Bernardo Dominic
1019Alejandro M WieserUnited Kingdom2024-06-06Morlong Associates RENEWAL77Asiya Javayant
1020Claire N ShinkoCanada2024-06-14Benton, John B Jr QUALIFIED75Xuxue Feng
1021Maria R FollerGermany2024-06-13Feltz Printing Service PROPOSAL18Bernardo Dominic
1022Aika U MaletBrazil2024-06-20Feiner Bros UNQUALIFIED86Bernardo Dominic
1023Clifford T InouyeAustralia2024-06-21Printing Dimensions NEGOTIATION82Elwin Sharvill
1024Murillo B GlickGermany2024-06-09King, Christopher A Esq RENEWAL53Bernardo Dominic
1025Mujtaba F NickaSpain2024-06-19Chemel, James L Cpa NEW39Ioni Bowcher
1026Munro Z NickaArgentina2024-06-19Chapman, Ross E Esq RENEWAL81Stephen Shaw
1027Salvatore Z WhobreyItaly2024-06-19Feiner Bros NEW49Amy Elsner
1028Jeanfrancois O MacleadUnited Kingdom2024-06-08Morlong Associates RENEWAL20Stephen Shaw
1029Misaki C FollerGermany2024-06-03Feiner Bros NEGOTIATION69Bernardo Dominic
1030Stacey Y SaylorsFrance2024-05-26Benton, John B Jr PROPOSAL40Ivan Magalhaes
1031Claire M RimIndia2024-06-03Dorl, James J Esq UNQUALIFIED51Amy Elsner
1032Francesco O WhobreyGermany2024-06-01Feiner Bros PROPOSAL79Amy Elsner
1033Emily N SaylorsSpain2024-06-06Commercial Press NEW63Xuxue Feng
1034Munro Z MaletFrance2024-06-18Benton, John B Jr NEW78Asiya Javayant
1035Aruna Q ButtIndia2024-06-18Chanay, Jeffrey A Esq NEW12Elwin Sharvill
1036Jeanfrancois U FlosiFrance2024-06-09King, Christopher A Esq RENEWAL96Ioni Bowcher
1037Leon T BowleyFrance2024-06-02King, Christopher A Esq UNQUALIFIED11Stephen Shaw
1038Maria N VenereAustralia2024-06-11Feiner Bros RENEWAL53Xuxue Feng
1039Juan C PaprockiIndia2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED19Xuxue Feng
1040Ivar A OldroydCanada2024-06-15Chapman, Ross E Esq QUALIFIED39Xuxue Feng
1041Stacey C ButtAustralia2024-05-24King, Christopher A Esq NEGOTIATION29Onyama Limba
1042Isabel T PerinRussia2024-06-16Morlong Associates NEW53Amy Elsner
1043Rodrigues D CampainCanada2024-06-03Benton, John B Jr UNQUALIFIED29Onyama Limba
1044Sinclair N SaylorsCanada2024-06-08Truhlar And Truhlar Attys NEW86Elwin Sharvill
1045Faith V SlusarskiRussia2024-06-03Chemel, James L Cpa QUALIFIED70Xuxue Feng
1046Jones O KolmetzFrance2024-05-30Feiner Bros NEW63Amy Elsner
1047Maisha G GillianAustralia2024-06-11Buckley Miller Wright NEW93Elwin Sharvill
1048Ricardo X CaldareraRussia2024-06-10Benton, John B Jr PROPOSAL41Ioni Bowcher
1049Silvio Q OstroskyItaly2024-06-18Rangoni Of Florence NEW3Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aruna Q PaprockiIndiaAmy Elsner RENEWAL
Faith R OldroydItalyStephen Shaw NEW
Jefferson M BowleyJapanAnna Fali RENEWAL
Misaki C FerenczCanadaIoni Bowcher PROPOSAL
Octavia K SchemmerBrazilIvan Magalhaes UNQUALIFIED
Alejandro S NestleFranceAnna Fali UNQUALIFIED
Mayumi C AmigonSpainOnyama Limba UNQUALIFIED
Murillo U GlickAustraliaStephen Shaw UNQUALIFIED
Francesco X RutaRussiaAnna Fali QUALIFIED
Mujtaba X RutaSpainStephen Shaw NEGOTIATION
Costa R MacleadBrazilAnna Fali QUALIFIED
Kaitlin Z CampainRussiaAmy Elsner RENEWAL
Jeanfrancois Z RimItalyOnyama Limba PROPOSAL
Isabel D SaylorsItalyOnyama Limba QUALIFIED
Wickens W SergiCanadaAmy Elsner PROPOSAL
Antonio D AlbaresArgentinaAnna Fali NEGOTIATION
Alejandro M RulapaughRussiaAsiya Javayant RENEWAL
Ricardo D AmigonItalyElwin Sharvill QUALIFIED
Aika W PerinItalyAnna Fali UNQUALIFIED
Ricardo W DilliardSpainAsiya Javayant RENEWAL
Octavia X PoquetteBrazilElwin Sharvill PROPOSAL
Aika O KolmetzIndiaIoni Bowcher NEW
Leon G SchemmerIndiaIvan Magalhaes QUALIFIED
Wickens C RimJapanElwin Sharvill PROPOSAL
Greenwood H VenereIndiaElwin Sharvill UNQUALIFIED
Leja Z StockhamIndiaOnyama Limba RENEWAL
Mayumi E StockhamSpainAsiya Javayant NEGOTIATION
Leja N RulapaughArgentinaAnna Fali PROPOSAL
Nicolas N MorascaItalyStephen Shaw NEGOTIATION
Morrow D InouyeBrazilAnna Fali NEGOTIATION
Aditya Q RutaUnited KingdomElwin Sharvill QUALIFIED
Octavia T OldroydIndiaBernardo Dominic NEGOTIATION
Stacey Z SchemmerFranceIvan Magalhaes PROPOSAL
Mujtaba Z TollnerFranceAmy Elsner UNQUALIFIED
Kaitlin M MorascaFranceElwin Sharvill PROPOSAL
Jeanfrancois V SlusarskiJapanAsiya Javayant QUALIFIED
Octavia F DilliardIndiaAmy Elsner QUALIFIED
Ricardo T GlickAustraliaAsiya Javayant RENEWAL
Ashley O MaletIndiaElwin Sharvill NEW
Leja C RoysterCanadaIvan Magalhaes PROPOSAL
Silvio A FollerCanadaOnyama Limba PROPOSAL
Ricardo Q RimRussiaElwin Sharvill RENEWAL
Francesco P MaletUnited KingdomStephen Shaw QUALIFIED
Arvin I WaycottIndiaAsiya Javayant PROPOSAL
Greenwood S MorascaArgentinaAmy Elsner NEGOTIATION
Stacey S AmigonGermanyAsiya Javayant RENEWAL
Maria A OldroydArgentinaIoni Bowcher NEGOTIATION
Arvin M BowleyCanadaAmy Elsner PROPOSAL
Jones A GillianAustraliaOnyama Limba NEGOTIATION
James E RulapaughItalyAmy Elsner QUALIFIED
Frozen Columns
Name
Ivar R Figeroa
Maria Q Campain
Claire X Foller
Kadeem Q Kolmetz
Maria R Stockham
Tony F Malet
Mayumi A Garufi
Greenwood Q Kusko
Mayumi K Gillian
Alejandro E Oldroyd
Cody G Dilliard
Juan X Glick
Faith O Shinko
Smith W Dilliard
Maisha T Malet
Kadeem E Ferencz
Johnson R Foller
Isabel Y Wieser
Francesco P Darakjy
Adams K Gillian
Cody G Dilliard
Leja H Malet
James X Rulapaugh
Ivar B Bolognia
Johnson S Malet
Salvatore Q Flosi
Leja C Stenseth
Faith F Nicka
Kaitlin B Rulapaugh
Greenwood Z Paprocki
Munro E Nestle
Maisha I Ostrosky
Arvin B Stenseth
Munro X Figeroa
Tony Y Sergi
Darci N Wieser
Nicolas L Doe
Claire Z Sergi
David Z Chui
Alejandro K Figeroa
Nicolas N Tollner
David L Schemmer
Izzy T Morasca
Kaitlin N Stenseth
Ashley O Maclead
Isabel M Ruta
Kadeem A Perin
Ivar B Glick
Antonio J Sergi
David A Maclead
IdCountryDate
1000Australia2024-06-05
1001Australia2024-06-22
1002India2024-05-25
1003Australia2024-06-10
1004Russia2024-06-16
1005Brazil2024-06-07
1006Russia2024-06-06
1007France2024-05-25
1008Germany2024-06-08
1009India2024-06-05
1010France2024-06-08
1011India2024-06-03
1012Brazil2024-06-01
1013India2024-06-21
1014France2024-06-03
1015Spain2024-06-20
1016Canada2024-06-22
1017Germany2024-06-02
1018Spain2024-06-18
1019Spain2024-06-15
1020France2024-06-07
1021France2024-06-05
1022India2024-06-02
1023Canada2024-06-22
1024Australia2024-05-24
1025Canada2024-06-07
1026France2024-06-18
1027France2024-06-09
1028Argentina2024-06-09
1029Australia2024-05-30
1030Russia2024-06-12
1031France2024-06-14
1032Germany2024-06-05
1033India2024-06-07
1034Italy2024-06-15
1035France2024-05-24
1036United Kingdom2024-06-13
1037Russia2024-06-07
1038Brazil2024-06-06
1039Italy2024-06-07
1040Italy2024-06-04
1041Italy2024-05-30
1042Japan2024-05-27
1043Germany2024-06-06
1044India2024-06-14
1045Japan2024-05-24
1046United Kingdom2024-05-26
1047Australia2024-06-05
1048Spain2024-06-15
1049Argentina2024-05-31

On-Demand Data

NameIdCountryDate
Ashley H Slusarski1000United Kingdom2024-06-20
Jefferson F Kolmetz1001Italy2024-06-11
Mayumi B Waycott1002Spain2024-06-14
Smith I Waycott1003Brazil2024-05-31
Emily J Sergi1004Italy2024-05-30
David S Gillian1005Brazil2024-05-30
Wickens Y Saylors1006United Kingdom2024-06-07
Cody W Caldarera1007Brazil2024-06-18
Adams R Garufi1008Japan2024-05-29
Wickens X Poquette1009Japan2024-06-12
Jones I Ruta1010India2024-06-11
Silvio N Kolmetz1011United Kingdom2024-05-24
Ricardo N Inouye1012France2024-06-04
Octavia K Kolmetz1013Italy2024-06-04
Jefferson E Saylors1014United Kingdom2024-06-09
Johnson S Gaucho1015France2024-06-11
Ashley Q Stenseth1016United Kingdom2024-05-27
Adams L Wieser1017India2024-05-27
Salvatore P Kolmetz1018Brazil2024-06-19
Clifford W Maclead1019Argentina2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois Y DoeItalyOnyama Limba UNQUALIFIED
Izzy V SlusarskiItalyAsiya Javayant PROPOSAL
Ricardo T AmigonSpainAnna Fali QUALIFIED
Smith Z PoquetteSpainAsiya Javayant QUALIFIED
James Z SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Jones V MaletJapanXuxue Feng PROPOSAL
Munro K StensethAustraliaAsiya Javayant QUALIFIED
Rodrigues K ButtRussiaAsiya Javayant QUALIFIED
Leon I BologniaJapanXuxue Feng UNQUALIFIED
Mayumi Y ShinkoBrazilOnyama Limba UNQUALIFIED
Maisha K BowleyFranceIvan Magalhaes PROPOSAL
Jefferson C WieserAustraliaAmy Elsner NEW
Isabel V GauchoSpainOnyama Limba NEW
Alejandro H CaldareraArgentinaOnyama Limba QUALIFIED
Leja L KolmetzFranceIvan Magalhaes PROPOSAL
Faith L WaycottRussiaIoni Bowcher QUALIFIED
Johnson B PoquetteGermanyAmy Elsner NEGOTIATION
Isabel P DarakjyFranceAnna Fali NEW
Misaki X SaylorsAustraliaBernardo Dominic NEW
Johnson G MaletIndiaXuxue Feng NEGOTIATION
Jefferson J WhobreyItalyStephen Shaw UNQUALIFIED
Munro A PoquetteSpainAsiya Javayant RENEWAL
Kaitlin F BriddickCanadaStephen Shaw RENEWAL
Smith G ButtArgentinaAnna Fali PROPOSAL
Jeanfrancois Z StensethIndiaStephen Shaw NEW
Rodrigues N DarakjyIndiaBernardo Dominic RENEWAL
Ashley F KolmetzAustraliaAnna Fali NEW
Wickens R DoeUnited KingdomIoni Bowcher RENEWAL
Faith D SergiFranceIoni Bowcher UNQUALIFIED
Aditya U GlickAustraliaXuxue Feng NEW
Maria L OstroskyArgentinaStephen Shaw RENEWAL
Silvio V CaldareraFranceStephen Shaw QUALIFIED
Morrow D InouyeRussiaBernardo Dominic NEGOTIATION
Sinclair R ButtRussiaStephen Shaw QUALIFIED
Smith Z NickaAustraliaIoni Bowcher PROPOSAL
Clifford E FigeroaAustraliaAmy Elsner NEW
Ashley Z BologniaGermanyStephen Shaw NEW
Smith L FigeroaGermanyXuxue Feng NEW
Cody M AlbaresArgentinaElwin Sharvill PROPOSAL
Costa Y MorascaCanadaStephen Shaw NEGOTIATION

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