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 T BologniaAustraliaXuxue Feng NEW
Arvin N GillianUnited KingdomXuxue Feng NEGOTIATION
Ivar I BriddickCanadaAmy Elsner QUALIFIED
Salvatore W CaudyItalyIvan Magalhaes QUALIFIED
Kaitlin N MacleadAustraliaIoni Bowcher RENEWAL
Cody Y BriddickRussiaAsiya Javayant QUALIFIED
Murillo B PoquetteAustraliaXuxue Feng PROPOSAL
Kaitlin V PoquetteArgentinaAnna Fali RENEWAL
Wickens V PaprockiItalyAnna Fali PROPOSAL
Darci Z ChuiIndiaElwin Sharvill UNQUALIFIED
Munro F FerenczArgentinaBernardo Dominic NEGOTIATION
Francesco T RimCanadaStephen Shaw PROPOSAL
Alejandro D AlbaresItalyIoni Bowcher PROPOSAL
Julie D BowleyAustraliaAmy Elsner NEW
Cody X VocelkaFranceAmy Elsner PROPOSAL
Morrow L WaycottFranceBernardo Dominic NEW
Maria P CampainCanadaIoni Bowcher NEGOTIATION
Aika J SergiAustraliaXuxue Feng NEW
Cody U KolmetzFranceBernardo Dominic PROPOSAL
Munro Z WhobreyBrazilOnyama Limba NEGOTIATION
Emily Y CampainUnited KingdomStephen Shaw QUALIFIED
Faith E PerinArgentinaBernardo Dominic PROPOSAL
Greenwood I KuskoFranceOnyama Limba NEGOTIATION
Murillo B SaylorsSpainAnna Fali PROPOSAL
James X FollerArgentinaAsiya Javayant RENEWAL
Aika X AlbaresSpainIoni Bowcher PROPOSAL
Aditya K ShinkoFranceBernardo Dominic PROPOSAL
James B ShinkoArgentinaAmy Elsner QUALIFIED
Alejandro L GlickArgentinaOnyama Limba NEGOTIATION
Ivar F ShinkoUnited KingdomIvan Magalhaes NEW
Deepesh I ChuiAustraliaAmy Elsner NEGOTIATION
Faith K GarufiBrazilAmy Elsner NEW
Nicolas Y ButtIndiaXuxue Feng NEW
Maisha Y SergiAustraliaBernardo Dominic NEGOTIATION
Izzy S MarrierJapanXuxue Feng PROPOSAL
Jennifer N BologniaAustraliaBernardo Dominic UNQUALIFIED
Ricardo W SergiUnited KingdomIvan Magalhaes PROPOSAL
Silvio M DilliardItalyXuxue Feng RENEWAL
Ashley Q VocelkaItalyAnna Fali NEW
David D CaudyFranceAnna Fali QUALIFIED
Izzy K DilliardJapanXuxue Feng PROPOSAL
Izzy Y CaldareraBrazilXuxue Feng UNQUALIFIED
Julie L SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Smith R CampainIndiaStephen Shaw NEGOTIATION
Leja I VocelkaAustraliaXuxue Feng QUALIFIED
Ashley W MarrierBrazilAsiya Javayant QUALIFIED
Murillo A MaletSpainElwin Sharvill PROPOSAL
Leon E MorascaSpainIvan Magalhaes NEGOTIATION
Darci P GauchoFranceXuxue Feng UNQUALIFIED
Emily L GarufiIndiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika Q BowleyAustraliaAsiya Javayant RENEWAL
Salvatore R CampainSpainAsiya Javayant PROPOSAL
Francesco D AlbaresRussiaAsiya Javayant UNQUALIFIED
Nicolas I RulapaughSpainAsiya Javayant RENEWAL
Cody S VocelkaBrazilElwin Sharvill NEGOTIATION
Stacey D OstroskyAustraliaOnyama Limba UNQUALIFIED
Aruna U AmigonArgentinaXuxue Feng RENEWAL
Jones X SergiJapanXuxue Feng RENEWAL
Aditya I BologniaBrazilOnyama Limba NEGOTIATION
Mujtaba E ButtJapanXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David L RimSpain2024-09-09Rangoni Of Florence PROPOSAL35Xuxue Feng
1001Claire L MaletGermany2024-09-22Rousseaux, Michael Esq QUALIFIED65Bernardo Dominic
1002Nicolas E GarufiRussia2024-09-24Chanay, Jeffrey A Esq QUALIFIED3Onyama Limba
1003Francesco I GillianIndia2024-09-02Chanay, Jeffrey A Esq UNQUALIFIED31Ivan Magalhaes
1004Izzy P ShinkoAustralia2024-08-28Feltz Printing Service UNQUALIFIED78Elwin Sharvill
1005Mayumi S SlusarskiAustralia2024-09-11Feltz Printing Service RENEWAL16Elwin Sharvill
1006Stacey Y FollerCanada2024-09-22Benton, John B Jr QUALIFIED58Anna Fali
1007James Y GarufiUnited Kingdom2024-09-20Rangoni Of Florence PROPOSAL31Xuxue Feng
1008Sinclair M VenereFrance2024-09-07Truhlar And Truhlar Attys NEGOTIATION94Stephen Shaw
1009Misaki O ChuiJapan2024-09-20Truhlar And Truhlar Attys QUALIFIED89Amy Elsner
1010Julie K WaycottGermany2024-09-18Chemel, James L Cpa UNQUALIFIED92Anna Fali
1011Costa D CaudyAustralia2024-09-05Chemel, James L Cpa NEGOTIATION27Stephen Shaw
1012Ricardo N IturbideGermany2024-09-05Dorl, James J Esq PROPOSAL67Amy Elsner
1013Jones M PoquetteUnited Kingdom2024-09-02Rousseaux, Michael Esq UNQUALIFIED68Ivan Magalhaes
1014Kaitlin W FlosiArgentina2024-09-08Benton, John B Jr PROPOSAL44Ioni Bowcher
1015Johnson E BologniaArgentina2024-09-03Rousseaux, Michael Esq NEW66Elwin Sharvill
1016Kaitlin L MacleadArgentina2024-09-04Chemel, James L Cpa UNQUALIFIED52Onyama Limba
1017Stacey A MarrierUnited Kingdom2024-09-01Benton, John B Jr QUALIFIED70Stephen Shaw
1018Julie X PoquetteAustralia2024-09-03Chapman, Ross E Esq PROPOSAL76Ioni Bowcher
1019Arvin T TollnerUnited Kingdom2024-09-05Feiner Bros UNQUALIFIED99Ioni Bowcher
1020Mayumi B GlickArgentina2024-09-11Commercial Press NEW21Anna Fali
1021Smith K PerinUnited Kingdom2024-09-19Printing Dimensions RENEWAL32Ivan Magalhaes
1022Salvatore S KolmetzAustralia2024-08-29Rousseaux, Michael Esq RENEWAL88Ivan Magalhaes
1023James L KolmetzAustralia2024-09-14Buckley Miller Wright RENEWAL97Onyama Limba
1024Jennifer Q RutaCanada2024-09-01Rousseaux, Michael Esq RENEWAL83Xuxue Feng
1025Faith V GauchoJapan2024-09-06Rangoni Of Florence RENEWAL58Asiya Javayant
1026Rodrigues O SaylorsGermany2024-09-03Commercial Press PROPOSAL2Anna Fali
1027Kaitlin V TollnerUnited Kingdom2024-09-15Commercial Press NEW65Ivan Magalhaes
1028Silvio C NickaGermany2024-09-03Dorl, James J Esq NEGOTIATION80Ivan Magalhaes
1029Antonio N StensethRussia2024-09-08King, Christopher A Esq RENEWAL73Stephen Shaw
1030Arvin E FlosiGermany2024-09-24King, Christopher A Esq QUALIFIED10Stephen Shaw
1031Mayumi P GauchoArgentina2024-09-19King, Christopher A Esq PROPOSAL72Bernardo Dominic
1032Misaki V WaycottRussia2024-09-11Buckley Miller Wright UNQUALIFIED36Ioni Bowcher
1033Octavia L WhobreyGermany2024-09-10Printing Dimensions RENEWAL76Ioni Bowcher
1034Adams H VenereItaly2024-09-07Chemel, James L Cpa RENEWAL9Elwin Sharvill
1035Octavia V RoysterUnited Kingdom2024-09-05Truhlar And Truhlar Attys NEW86Bernardo Dominic
1036Stacey H NestleGermany2024-09-15Commercial Press UNQUALIFIED32Ivan Magalhaes
1037Stacey Z FerenczFrance2024-09-14Morlong Associates PROPOSAL8Ivan Magalhaes
1038Ricardo Q WhobreyCanada2024-09-17Feltz Printing Service UNQUALIFIED64Amy Elsner
1039Salvatore E ChuiJapan2024-08-26Benton, John B Jr RENEWAL35Elwin Sharvill
1040Leon M BriddickJapan2024-09-03Morlong Associates RENEWAL97Amy Elsner
1041Arvin E StensethIndia2024-09-03Feltz Printing Service NEGOTIATION77Ivan Magalhaes
1042Izzy I OstroskyIndia2024-08-26Chanay, Jeffrey A Esq NEGOTIATION53Ioni Bowcher
1043Rodrigues G AlbaresArgentina2024-09-12Buckley Miller Wright RENEWAL75Bernardo Dominic
1044Jefferson K FerenczIndia2024-09-06Chanay, Jeffrey A Esq QUALIFIED65Asiya Javayant
1045Jennifer G CaldareraCanada2024-09-14Dorl, James J Esq NEW23Asiya Javayant
1046Costa O VocelkaRussia2024-09-10Morlong Associates QUALIFIED46Elwin Sharvill
1047Leon Q FollerUnited Kingdom2024-08-29Morlong Associates RENEWAL45Anna Fali
1048Jefferson M BologniaUnited Kingdom2024-09-14Buckley Miller Wright PROPOSAL88Elwin Sharvill
1049Juan J SlusarskiJapan2024-09-14Feiner Bros QUALIFIED56Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Deepesh G SergiRussiaElwin Sharvill PROPOSAL
Murillo O PerinItalyBernardo Dominic RENEWAL
Alejandro S CampainCanadaElwin Sharvill NEGOTIATION
Octavia N StockhamArgentinaIvan Magalhaes QUALIFIED
Julie K GauchoArgentinaAnna Fali NEGOTIATION
Francesco I ButtRussiaIoni Bowcher NEGOTIATION
Morrow K GlickGermanyAmy Elsner NEGOTIATION
Alejandro E OldroydIndiaAsiya Javayant QUALIFIED
Tony Y SchemmerCanadaAsiya Javayant RENEWAL
Faith O KuskoCanadaIoni Bowcher QUALIFIED
Munro S RoysterCanadaAnna Fali RENEWAL
Smith E StockhamItalyAmy Elsner RENEWAL
Adams J NestleSpainAsiya Javayant QUALIFIED
Adams J BologniaAustraliaBernardo Dominic RENEWAL
Chavez Y MaletJapanAsiya Javayant UNQUALIFIED
Tony P InouyeAustraliaAnna Fali NEW
Juan O GlickJapanIvan Magalhaes QUALIFIED
Cody R DarakjyJapanOnyama Limba NEGOTIATION
Cody X GauchoItalyAmy Elsner UNQUALIFIED
Julie L StensethItalyXuxue Feng RENEWAL
Arvin K ButtFranceBernardo Dominic NEW
James B CaudyArgentinaXuxue Feng UNQUALIFIED
Aika F StensethUnited KingdomAnna Fali NEGOTIATION
Emily S RoysterArgentinaBernardo Dominic UNQUALIFIED
Aika L GauchoSpainAmy Elsner PROPOSAL
Cody H PoquetteBrazilStephen Shaw NEW
Munro U GarufiFranceBernardo Dominic NEGOTIATION
James C SergiJapanIoni Bowcher NEGOTIATION
Maisha L ButtCanadaAmy Elsner NEW
Maria Y BowleyItalyStephen Shaw QUALIFIED
Faith H RimArgentinaStephen Shaw PROPOSAL
Ashley J RulapaughItalyXuxue Feng RENEWAL
Darci W RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Mayumi N StockhamGermanyAmy Elsner QUALIFIED
Murillo V DilliardAustraliaOnyama Limba PROPOSAL
James K ShinkoSpainAsiya Javayant RENEWAL
Alejandro K FigeroaAustraliaAsiya Javayant RENEWAL
Misaki X DoeBrazilBernardo Dominic NEW
Octavia K CampainUnited KingdomStephen Shaw NEW
Kaitlin D CaudyRussiaIoni Bowcher QUALIFIED
Antonio C KuskoGermanyStephen Shaw RENEWAL
Leon V MorascaFranceStephen Shaw UNQUALIFIED
Kadeem I OldroydFranceIoni Bowcher UNQUALIFIED
Nicolas I MorascaRussiaXuxue Feng UNQUALIFIED
Jennifer U CampainItalyBernardo Dominic UNQUALIFIED
Silvio A MarrierItalyAsiya Javayant NEGOTIATION
Silvio K CampainBrazilIvan Magalhaes RENEWAL
Ivar X GillianFranceXuxue Feng QUALIFIED
Salvatore C FlosiGermanyOnyama Limba NEW
Julie H RulapaughArgentinaStephen Shaw NEGOTIATION
Frozen Columns
Name
Greenwood H Glick
Octavia L Rim
Leon Y Ruta
Alejandro O Maclead
Mayumi X Saylors
Chavez J Sergi
Jefferson V Bowley
Costa J Tollner
Chavez C Waycott
Rodrigues N Albares
Kaitlin M Gillian
Aruna Y Malet
Rodrigues A Flosi
Sinclair R Nicka
Aruna J Royster
Clifford O Amigon
Alejandro P Malet
Kadeem O Venere
Johnson C Caldarera
Munro U Ruta
Cody A Figeroa
Izzy L Darakjy
Emily R Briddick
Leon I Kusko
Mayumi O Albares
Arvin G Bowley
James S Caldarera
Misaki X Paprocki
Salvatore D Vocelka
Izzy H Maclead
Ashley Q Bowley
Morrow B Albares
Kadeem T Caldarera
Juan W Glick
Rodrigues X Wieser
Clifford E Campain
Francesco R Gaucho
Salvatore P Glick
Jennifer P Nestle
Munro W Nestle
Leon O Kusko
Francesco D Kolmetz
Smith U Poquette
Cody F Albares
Aika Y Caldarera
Francesco U Doe
Deepesh J Ruta
Greenwood X Caudy
Maisha A Saylors
Johnson T Shinko
IdCountryDate
1000Japan2024-08-29
1001Canada2024-09-05
1002Spain2024-09-22
1003Germany2024-08-31
1004Argentina2024-08-30
1005Russia2024-09-03
1006Germany2024-09-23
1007Australia2024-09-13
1008United Kingdom2024-08-29
1009Germany2024-08-28
1010Russia2024-08-31
1011Russia2024-09-20
1012France2024-09-09
1013India2024-09-19
1014Canada2024-09-05
1015France2024-09-20
1016Argentina2024-09-01
1017Brazil2024-09-06
1018Russia2024-09-23
1019Italy2024-09-04
1020United Kingdom2024-09-18
1021Argentina2024-09-10
1022Argentina2024-09-03
1023India2024-09-22
1024Italy2024-08-29
1025Australia2024-09-09
1026Argentina2024-09-03
1027Argentina2024-09-20
1028Spain2024-09-15
1029Spain2024-09-12
1030Canada2024-09-19
1031Brazil2024-09-01
1032Australia2024-09-07
1033United Kingdom2024-09-19
1034United Kingdom2024-09-21
1035Argentina2024-08-30
1036France2024-08-27
1037Argentina2024-09-20
1038France2024-09-11
1039Germany2024-09-04
1040Spain2024-09-24
1041Russia2024-09-11
1042Germany2024-09-04
1043Russia2024-09-04
1044Italy2024-09-24
1045Australia2024-09-10
1046Japan2024-09-12
1047France2024-09-01
1048Germany2024-09-22
1049Japan2024-08-29

On-Demand Data

NameIdCountryDate
Leja Z Tollner1000Argentina2024-08-29
Johnson K Vocelka1001Italy2024-09-20
Aditya W Slusarski1002Germany2024-08-28
Darci Q Tollner1003Spain2024-09-10
Wickens L Tollner1004Canada2024-09-17
Adams A Perin1005Brazil2024-09-24
Izzy V Foller1006Canada2024-09-18
Juan T Royster1007Japan2024-09-02
Johnson G Foller1008Canada2024-09-06
Aditya U Figeroa1009France2024-09-13
Aika Y Inouye1010France2024-09-02
Misaki A Slusarski1011Brazil2024-08-30
Kaitlin K Garufi1012United Kingdom2024-09-22
Cody Q Caldarera1013Russia2024-09-17
Antonio T Gillian1014France2024-09-06
Smith M Albares1015Australia2024-08-30
Kadeem E Oldroyd1016Italy2024-09-19
Silvio G Amigon1017Spain2024-09-01
Izzy Y Rim1018France2024-09-03
Kaitlin R Caldarera1019Germany2024-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci V BowleyAustraliaOnyama Limba PROPOSAL
Mujtaba P SchemmerIndiaStephen Shaw UNQUALIFIED
Kadeem J KuskoItalyBernardo Dominic QUALIFIED
Greenwood E PaprockiCanadaIvan Magalhaes UNQUALIFIED
Antonio J PerinAustraliaBernardo Dominic NEGOTIATION
Salvatore K CampainFranceAsiya Javayant NEW
Sinclair X BologniaGermanyIvan Magalhaes NEGOTIATION
Wickens P MaletIndiaOnyama Limba UNQUALIFIED
Murillo E SergiBrazilOnyama Limba QUALIFIED
Ashley V CaldareraSpainOnyama Limba NEW
Darci O FigeroaIndiaAnna Fali NEW
Cody O FollerCanadaOnyama Limba NEW
Stacey R OldroydSpainAnna Fali NEW
Mujtaba N NestleGermanyElwin Sharvill PROPOSAL
Arvin W WhobreyUnited KingdomElwin Sharvill NEW
Sinclair U StensethAustraliaStephen Shaw QUALIFIED
Arvin W WaycottArgentinaAnna Fali PROPOSAL
Misaki F RutaItalyAmy Elsner UNQUALIFIED
Leon A OstroskyItalyAmy Elsner NEW
Salvatore Q MaletUnited KingdomAsiya Javayant NEGOTIATION
Claire A VenereJapanXuxue Feng UNQUALIFIED
Julie H VenereJapanOnyama Limba RENEWAL
James G GauchoJapanAnna Fali PROPOSAL
Silvio U BowleyItalyIoni Bowcher UNQUALIFIED
Chavez W ShinkoBrazilAsiya Javayant UNQUALIFIED
Johnson I TollnerBrazilIvan Magalhaes PROPOSAL
Isabel C AlbaresSpainOnyama Limba NEGOTIATION
Mayumi Y RutaAustraliaOnyama Limba QUALIFIED
Faith K FollerUnited KingdomOnyama Limba PROPOSAL
Izzy P FigeroaIndiaXuxue Feng UNQUALIFIED
Izzy R VenereCanadaOnyama Limba NEW
Leon W SergiBrazilIoni Bowcher RENEWAL
David F MarrierBrazilAmy Elsner RENEWAL
Darci J FollerBrazilElwin Sharvill RENEWAL
Octavia V RutaGermanyAnna Fali QUALIFIED
Deepesh I RoysterIndiaStephen Shaw RENEWAL
Murillo M GauchoJapanAnna Fali NEGOTIATION
Juan E PerinFranceIvan Magalhaes PROPOSAL
Ricardo J RutaRussiaElwin Sharvill PROPOSAL
Mujtaba F ButtUnited KingdomAsiya Javayant 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>