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
Stacey L MarrierFranceIvan Magalhaes QUALIFIED
Ricardo T ButtRussiaIoni Bowcher RENEWAL
Adams K CampainArgentinaXuxue Feng NEW
Greenwood Z AmigonArgentinaAsiya Javayant UNQUALIFIED
Morrow D VenereRussiaOnyama Limba UNQUALIFIED
Izzy Y MaletAustraliaAnna Fali RENEWAL
Aika C MaletAustraliaXuxue Feng QUALIFIED
Aika W RulapaughArgentinaAmy Elsner QUALIFIED
Silvio M RutaItalyIvan Magalhaes NEGOTIATION
Maria S MaletGermanyAnna Fali NEW
Jones X FerenczRussiaAnna Fali QUALIFIED
Darci S BologniaRussiaIoni Bowcher UNQUALIFIED
Francesco C MacleadRussiaOnyama Limba QUALIFIED
Clifford Y OstroskySpainAsiya Javayant PROPOSAL
Murillo F DarakjyFranceBernardo Dominic PROPOSAL
Stacey U SlusarskiUnited KingdomIoni Bowcher NEGOTIATION
Juan W CaldareraBrazilBernardo Dominic UNQUALIFIED
Mayumi Q InouyeCanadaIoni Bowcher RENEWAL
Nicolas Z CaldareraIndiaOnyama Limba PROPOSAL
Adams H GarufiGermanyAmy Elsner NEW
Isabel I DilliardCanadaIvan Magalhaes UNQUALIFIED
Aruna B KolmetzUnited KingdomIoni Bowcher PROPOSAL
Murillo V KolmetzFranceBernardo Dominic QUALIFIED
Claire K WieserBrazilIvan Magalhaes RENEWAL
Aika L NestleItalyStephen Shaw NEGOTIATION
Maisha C WieserFranceAmy Elsner QUALIFIED
Aruna L ButtBrazilIoni Bowcher RENEWAL
Leon N FollerUnited KingdomBernardo Dominic NEGOTIATION
Kadeem V GlickItalyOnyama Limba NEW
Aruna H WaycottSpainIvan Magalhaes NEGOTIATION
Johnson L GlickUnited KingdomAsiya Javayant QUALIFIED
Tony V RulapaughJapanAnna Fali QUALIFIED
Costa F FollerItalyIvan Magalhaes UNQUALIFIED
Ricardo C CampainAustraliaOnyama Limba NEW
James M CampainIndiaBernardo Dominic UNQUALIFIED
Wickens H CampainArgentinaBernardo Dominic NEGOTIATION
Ricardo O SlusarskiRussiaAsiya Javayant QUALIFIED
Juan M ButtUnited KingdomElwin Sharvill RENEWAL
Leja A TollnerJapanStephen Shaw QUALIFIED
Greenwood X OldroydBrazilXuxue Feng NEGOTIATION
Kadeem J FollerItalyAsiya Javayant NEGOTIATION
Emily Z OstroskyBrazilIoni Bowcher UNQUALIFIED
Alejandro J AlbaresUnited KingdomXuxue Feng NEW
Maria X WaycottJapanBernardo Dominic UNQUALIFIED
Adams R DoeBrazilElwin Sharvill NEGOTIATION
Maria W MaletArgentinaBernardo Dominic UNQUALIFIED
Rodrigues J SaylorsIndiaAnna Fali NEW
Silvio H MaletCanadaAmy Elsner UNQUALIFIED
Maisha S RoysterSpainIoni Bowcher QUALIFIED
Francesco C OldroydSpainAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson M GarufiUnited KingdomAsiya Javayant PROPOSAL
Maisha P OldroydRussiaStephen Shaw RENEWAL
Jeanfrancois H PaprockiCanadaIoni Bowcher RENEWAL
Munro S GillianArgentinaIoni Bowcher PROPOSAL
Cody N FollerIndiaIoni Bowcher NEGOTIATION
Morrow G PoquetteFranceIvan Magalhaes QUALIFIED
Arvin A RutaSpainIvan Magalhaes RENEWAL
Darci P SlusarskiRussiaXuxue Feng NEGOTIATION
Octavia G InouyeGermanyXuxue Feng NEW
Murillo E FerenczCanadaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony A PoquetteRussia2024-06-21Chanay, Jeffrey A Esq PROPOSAL51Amy Elsner
1001Nicolas S ChuiIndia2024-05-25Morlong Associates NEGOTIATION9Ioni Bowcher
1002Jefferson L VocelkaSpain2024-06-18Printing Dimensions QUALIFIED70Amy Elsner
1003Stacey G CaldareraCanada2024-06-21King, Christopher A Esq QUALIFIED73Anna Fali
1004Murillo F StockhamGermany2024-05-25King, Christopher A Esq RENEWAL7Amy Elsner
1005Alejandro K BriddickRussia2024-06-03Printing Dimensions UNQUALIFIED69Bernardo Dominic
1006Kadeem E CaudyBrazil2024-05-29Commercial Press PROPOSAL0Asiya Javayant
1007Arvin A MaletJapan2024-05-23Commercial Press UNQUALIFIED56Elwin Sharvill
1008Chavez Y CaldareraRussia2024-06-09Chanay, Jeffrey A Esq PROPOSAL45Bernardo Dominic
1009Jennifer Z BologniaFrance2024-06-12Truhlar And Truhlar Attys RENEWAL2Ivan Magalhaes
1010Jeanfrancois U CampainIndia2024-06-16Printing Dimensions UNQUALIFIED47Amy Elsner
1011Antonio F CampainFrance2024-06-15Rousseaux, Michael Esq NEW50Anna Fali
1012James B VocelkaArgentina2024-06-12Benton, John B Jr QUALIFIED65Ioni Bowcher
1013David K StockhamItaly2024-06-17Feltz Printing Service RENEWAL31Anna Fali
1014Juan Z DarakjyBrazil2024-05-27Chanay, Jeffrey A Esq PROPOSAL40Ivan Magalhaes
1015Jeanfrancois C FlosiCanada2024-06-15Commercial Press PROPOSAL1Xuxue Feng
1016Mujtaba J BologniaAustralia2024-06-09Truhlar And Truhlar Attys NEGOTIATION51Elwin Sharvill
1017Francesco U CaudyUnited Kingdom2024-05-24Benton, John B Jr UNQUALIFIED48Ioni Bowcher
1018Jeanfrancois Z PaprockiIndia2024-05-29Benton, John B Jr NEW25Xuxue Feng
1019Misaki J GlickUnited Kingdom2024-06-11Chapman, Ross E Esq RENEWAL66Amy Elsner
1020Emily S RimUnited Kingdom2024-05-30Buckley Miller Wright UNQUALIFIED38Onyama Limba
1021Mayumi G FigeroaCanada2024-06-11Truhlar And Truhlar Attys UNQUALIFIED80Ivan Magalhaes
1022Ivar Z FlosiIndia2024-06-18Chanay, Jeffrey A Esq RENEWAL71Elwin Sharvill
1023Maria M StensethUnited Kingdom2024-05-31Printing Dimensions NEGOTIATION58Ioni Bowcher
1024Kaitlin K IturbideArgentina2024-05-28Dorl, James J Esq NEW76Onyama Limba
1025Jefferson W FollerItaly2024-06-05Buckley Miller Wright RENEWAL19Onyama Limba
1026Julie Y VenereArgentina2024-06-05Commercial Press RENEWAL75Elwin Sharvill
1027Jefferson W SaylorsUnited Kingdom2024-06-15Commercial Press NEGOTIATION47Amy Elsner
1028Morrow Y RimCanada2024-05-27Rousseaux, Michael Esq UNQUALIFIED98Asiya Javayant
1029Julie V DilliardRussia2024-06-02Benton, John B Jr PROPOSAL55Xuxue Feng
1030Juan V IturbideAustralia2024-06-11Rangoni Of Florence QUALIFIED49Asiya Javayant
1031Munro S StensethItaly2024-06-02Dorl, James J Esq NEW90Xuxue Feng
1032Antonio Y PerinGermany2024-06-21Chemel, James L Cpa NEGOTIATION8Elwin Sharvill
1033Emily P BologniaUnited Kingdom2024-06-07Buckley Miller Wright PROPOSAL17Xuxue Feng
1034Jones U PerinGermany2024-06-04Truhlar And Truhlar Attys UNQUALIFIED62Asiya Javayant
1035James I NestleSpain2024-06-04Rousseaux, Michael Esq PROPOSAL6Amy Elsner
1036Antonio R NickaArgentina2024-05-23Feiner Bros UNQUALIFIED1Asiya Javayant
1037Sinclair N DilliardIndia2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED43Amy Elsner
1038Kaitlin G IturbideFrance2024-06-15Morlong Associates NEW15Asiya Javayant
1039Jones L CaldareraSpain2024-05-31Truhlar And Truhlar Attys NEW41Ivan Magalhaes
1040Misaki J BowleyAustralia2024-05-28Morlong Associates NEW75Xuxue Feng
1041Greenwood H GillianSpain2024-06-03Chanay, Jeffrey A Esq QUALIFIED48Elwin Sharvill
1042Aditya I VenereGermany2024-06-18Dorl, James J Esq QUALIFIED90Onyama Limba
1043Ivar U GauchoSpain2024-06-06Dorl, James J Esq UNQUALIFIED21Ivan Magalhaes
1044Mayumi P IturbideAustralia2024-06-20Chemel, James L Cpa QUALIFIED9Anna Fali
1045Jennifer C AmigonSpain2024-06-13Chanay, Jeffrey A Esq PROPOSAL95Stephen Shaw
1046Faith O TollnerRussia2024-05-23Chapman, Ross E Esq UNQUALIFIED46Elwin Sharvill
1047Izzy P TollnerFrance2024-06-14Buckley Miller Wright RENEWAL89Elwin Sharvill
1048Kadeem B ChuiBrazil2024-06-09Commercial Press NEW28Elwin Sharvill
1049Adams V SchemmerAustralia2024-06-05Dorl, James J Esq NEGOTIATION94Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues H NestleGermanyIoni Bowcher RENEWAL
Johnson U RimBrazilXuxue Feng NEW
Salvatore I WieserSpainOnyama Limba QUALIFIED
Alejandro L FollerBrazilIoni Bowcher NEW
Nicolas C StockhamJapanXuxue Feng NEGOTIATION
Maisha W VenereIndiaOnyama Limba QUALIFIED
Arvin I DoeFranceElwin Sharvill UNQUALIFIED
Ivar O CampainRussiaIoni Bowcher NEGOTIATION
Jones L VocelkaJapanStephen Shaw UNQUALIFIED
Munro O BriddickArgentinaAnna Fali RENEWAL
Maisha X PerinUnited KingdomOnyama Limba UNQUALIFIED
Aika I PerinGermanyStephen Shaw NEGOTIATION
Silvio A ButtIndiaElwin Sharvill NEGOTIATION
Claire D BologniaRussiaBernardo Dominic UNQUALIFIED
Isabel H AlbaresJapanBernardo Dominic QUALIFIED
Kaitlin T OldroydFranceBernardo Dominic RENEWAL
Ashley T RulapaughJapanAsiya Javayant NEGOTIATION
Leon D DilliardRussiaStephen Shaw PROPOSAL
Jennifer R PerinUnited KingdomStephen Shaw NEGOTIATION
David O StockhamSpainIoni Bowcher QUALIFIED
Ivar K AlbaresItalyIoni Bowcher NEGOTIATION
Ivar N WieserArgentinaIvan Magalhaes QUALIFIED
Nicolas A OldroydItalyIvan Magalhaes PROPOSAL
Ivar I MacleadBrazilStephen Shaw UNQUALIFIED
Misaki C PaprockiBrazilElwin Sharvill UNQUALIFIED
Jennifer A VocelkaSpainStephen Shaw NEGOTIATION
Smith I KolmetzFranceElwin Sharvill NEGOTIATION
Morrow U CaldareraItalyIoni Bowcher PROPOSAL
Salvatore O StensethRussiaXuxue Feng NEW
Antonio G PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Maria I RoysterBrazilOnyama Limba UNQUALIFIED
Faith H StensethCanadaOnyama Limba UNQUALIFIED
Jefferson V BowleyIndiaElwin Sharvill UNQUALIFIED
Jennifer U MacleadUnited KingdomBernardo Dominic PROPOSAL
Silvio K StensethRussiaAsiya Javayant QUALIFIED
Aditya C MaletAustraliaOnyama Limba NEGOTIATION
Rodrigues E KolmetzSpainXuxue Feng NEW
Stacey Q KuskoFranceAnna Fali NEGOTIATION
Morrow Y MaletArgentinaIvan Magalhaes RENEWAL
Tony Z CampainGermanyXuxue Feng PROPOSAL
Sinclair X RutaFranceElwin Sharvill UNQUALIFIED
David F CaldareraRussiaAsiya Javayant RENEWAL
Cody U MarrierAustraliaAnna Fali PROPOSAL
Alejandro M TollnerBrazilAsiya Javayant RENEWAL
Ashley B GlickJapanIvan Magalhaes QUALIFIED
Claire A WieserJapanBernardo Dominic NEGOTIATION
Kadeem Z RutaAustraliaAsiya Javayant UNQUALIFIED
Silvio N VocelkaFranceStephen Shaw RENEWAL
Aruna D MarrierArgentinaElwin Sharvill NEW
Sinclair G FigeroaRussiaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Ricardo I Butt
Aditya F Schemmer
Costa J Chui
Maisha N Slusarski
Darci F Flosi
Munro F Bowley
Maria A Malet
Jefferson V Ruta
Julie L Campain
Alejandro K Chui
Adams N Venere
Darci F Schemmer
Greenwood L Rulapaugh
James Z Campain
Claire U Sergi
Stacey P Rim
Jefferson Q Poquette
Juan Q Garufi
Leon S Wieser
Smith C Perin
Munro O Poquette
Darci D Venere
Aditya P Marrier
Costa S Saylors
Morrow D Malet
Greenwood I Poquette
Sinclair S Doe
Tony W Rulapaugh
Smith P Marrier
Ricardo Q Nicka
Silvio Q Vocelka
Alejandro V Chui
Jennifer W Glick
Arvin A Poquette
Smith G Dilliard
Silvio Z Darakjy
Jefferson P Gaucho
Clifford R Stockham
Costa K Perin
Smith G Maclead
Sinclair I Ferencz
Kaitlin U Poquette
Adams N Gaucho
Ivar S Rulapaugh
Aditya V Rulapaugh
Emily T Amigon
Johnson U Amigon
Aika T Caldarera
Murillo X Stockham
Nicolas M Amigon
IdCountryDate
1000France2024-06-13
1001Japan2024-06-12
1002Argentina2024-06-10
1003United Kingdom2024-06-09
1004Brazil2024-06-18
1005Japan2024-06-13
1006Brazil2024-05-31
1007Argentina2024-06-04
1008Canada2024-06-11
1009United Kingdom2024-06-07
1010Germany2024-06-18
1011United Kingdom2024-05-31
1012Italy2024-06-06
1013Canada2024-05-24
1014Italy2024-05-23
1015Argentina2024-05-29
1016India2024-06-09
1017Spain2024-06-02
1018Spain2024-05-23
1019India2024-06-11
1020India2024-05-30
1021Canada2024-06-01
1022Russia2024-05-25
1023India2024-06-07
1024India2024-06-13
1025India2024-06-01
1026Italy2024-06-03
1027Russia2024-06-01
1028Japan2024-05-24
1029Japan2024-06-08
1030France2024-06-01
1031United Kingdom2024-05-28
1032France2024-06-19
1033India2024-05-27
1034Germany2024-05-27
1035Australia2024-05-23
1036Canada2024-05-31
1037France2024-06-01
1038Japan2024-05-25
1039Argentina2024-06-12
1040Argentina2024-05-30
1041Germany2024-06-06
1042Canada2024-05-31
1043Italy2024-06-09
1044Russia2024-06-15
1045Italy2024-06-05
1046Japan2024-05-28
1047Brazil2024-05-29
1048Italy2024-06-21
1049Argentina2024-05-30

On-Demand Data

NameIdCountryDate
Adams H Stockham1000Russia2024-06-16
Misaki D Albares1001Germany2024-06-07
Cody N Wieser1002Brazil2024-05-30
Leja L Maclead1003Brazil2024-06-15
Sinclair M Ostrosky1004Japan2024-06-11
Maisha C Tollner1005Australia2024-05-23
Julie E Doe1006Spain2024-05-26
Octavia F Figeroa1007Argentina2024-05-25
Faith A Venere1008Canada2024-06-05
Adams P Garufi1009Canada2024-06-20
Jeanfrancois F Vocelka1010Argentina2024-06-14
Claire D Malet1011Brazil2024-06-10
Jones I Vocelka1012Argentina2024-05-30
Ashley N Stockham1013Germany2024-05-24
Morrow B Vocelka1014India2024-06-06
Juan M Sergi1015Canada2024-06-21
Misaki R Briddick1016Spain2024-06-03
Sinclair W Amigon1017Canada2024-06-15
Darci Q Malet1018Russia2024-05-29
Kaitlin H Chui1019Japan2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James Q SaylorsUnited KingdomIvan Magalhaes RENEWAL
Francesco E BriddickItalyAnna Fali NEGOTIATION
Arvin H RutaRussiaOnyama Limba PROPOSAL
Greenwood T OstroskyUnited KingdomStephen Shaw UNQUALIFIED
Julie J StockhamIndiaAnna Fali UNQUALIFIED
Kadeem O OldroydRussiaAmy Elsner NEW
David Y CaldareraRussiaIoni Bowcher RENEWAL
Stacey T FerenczFranceAmy Elsner NEW
Maria E PerinSpainStephen Shaw RENEWAL
Aika E NestleGermanyAsiya Javayant NEGOTIATION
Emily T StockhamItalyIvan Magalhaes NEGOTIATION
Darci J SaylorsIndiaBernardo Dominic NEW
Alejandro Z FollerBrazilAnna Fali PROPOSAL
Munro A CaudyItalyStephen Shaw UNQUALIFIED
David H ShinkoSpainOnyama Limba UNQUALIFIED
Jennifer K FigeroaBrazilXuxue Feng NEW
Jefferson M TollnerGermanyOnyama Limba PROPOSAL
Ivar A KolmetzFranceOnyama Limba UNQUALIFIED
James W GlickFranceAmy Elsner NEGOTIATION
Aruna U WaycottBrazilOnyama Limba QUALIFIED
Sinclair A DilliardUnited KingdomStephen Shaw QUALIFIED
Jones V SlusarskiSpainOnyama Limba NEW
Aika M SergiAustraliaAnna Fali UNQUALIFIED
Deepesh Z CampainItalyIoni Bowcher NEGOTIATION
Faith F DoeAustraliaAmy Elsner QUALIFIED
Cody R GauchoArgentinaStephen Shaw NEW
Sinclair Q VenereAustraliaAnna Fali NEGOTIATION
Morrow N RulapaughUnited KingdomIvan Magalhaes RENEWAL
Leja Z WaycottBrazilElwin Sharvill NEW
Aika I NestleFranceAnna Fali QUALIFIED
Izzy R NickaFranceIoni Bowcher NEGOTIATION
Murillo Q AmigonFranceIoni Bowcher UNQUALIFIED
Morrow R VocelkaIndiaElwin Sharvill NEW
Juan P FlosiUnited KingdomIvan Magalhaes QUALIFIED
Adams G ButtItalyStephen Shaw NEGOTIATION
Jennifer I BowleyIndiaElwin Sharvill UNQUALIFIED
Octavia B PoquetteBrazilElwin Sharvill NEW
Francesco O RimCanadaElwin Sharvill QUALIFIED
Ivar J WhobreyItalyElwin Sharvill RENEWAL
Ashley I ButtIndiaStephen Shaw UNQUALIFIED

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