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
Adams O GillianJapanIvan Magalhaes NEGOTIATION
Sinclair W CaudyFranceOnyama Limba UNQUALIFIED
Arvin K OstroskyUnited KingdomIoni Bowcher RENEWAL
Wickens K TollnerArgentinaBernardo Dominic NEGOTIATION
Ashley X GarufiJapanOnyama Limba NEW
Munro E GarufiItalyAsiya Javayant PROPOSAL
Izzy G TollnerGermanyIvan Magalhaes QUALIFIED
Jeanfrancois Z AmigonUnited KingdomAmy Elsner PROPOSAL
Ivar V VocelkaItalyAmy Elsner UNQUALIFIED
Leja N FollerCanadaAmy Elsner RENEWAL
Greenwood N AlbaresAustraliaOnyama Limba RENEWAL
Francesco A FollerGermanyElwin Sharvill UNQUALIFIED
Aika Q KolmetzUnited KingdomBernardo Dominic QUALIFIED
Greenwood P AlbaresSpainIoni Bowcher UNQUALIFIED
Jeanfrancois T MaletArgentinaOnyama Limba RENEWAL
Octavia A FlosiRussiaElwin Sharvill RENEWAL
Jones B CampainRussiaIvan Magalhaes RENEWAL
Aditya U VenereIndiaBernardo Dominic QUALIFIED
Chavez T WieserFranceIvan Magalhaes RENEWAL
Aditya R MorascaAustraliaElwin Sharvill RENEWAL
Misaki O DilliardIndiaIvan Magalhaes PROPOSAL
Clifford H AlbaresUnited KingdomElwin Sharvill PROPOSAL
Salvatore J KuskoArgentinaElwin Sharvill RENEWAL
Misaki I GauchoFranceOnyama Limba NEGOTIATION
Cody F IturbideJapanXuxue Feng NEW
Cody C SlusarskiJapanAsiya Javayant RENEWAL
Faith S WhobreyUnited KingdomStephen Shaw PROPOSAL
Silvio W NestleRussiaElwin Sharvill QUALIFIED
Clifford M KuskoItalyXuxue Feng UNQUALIFIED
Aika U DilliardCanadaXuxue Feng UNQUALIFIED
Murillo G CaudyRussiaElwin Sharvill QUALIFIED
Alejandro J VenereJapanAnna Fali UNQUALIFIED
Salvatore R PaprockiCanadaElwin Sharvill RENEWAL
Mujtaba L RutaRussiaAsiya Javayant RENEWAL
Silvio B PerinCanadaElwin Sharvill PROPOSAL
Jones F InouyeAustraliaXuxue Feng PROPOSAL
Kadeem I RimSpainOnyama Limba PROPOSAL
Chavez R MorascaIndiaIoni Bowcher NEW
Ricardo V ChuiIndiaAmy Elsner RENEWAL
Johnson L SchemmerAustraliaAmy Elsner QUALIFIED
Maisha E OstroskyJapanElwin Sharvill PROPOSAL
Jefferson Y PaprockiCanadaAsiya Javayant NEW
Adams K MorascaAustraliaAmy Elsner RENEWAL
Tony Q MaletUnited KingdomXuxue Feng NEGOTIATION
Greenwood N CaudyFranceAsiya Javayant QUALIFIED
Tony H AmigonJapanStephen Shaw PROPOSAL
Kadeem H CaldareraGermanyAmy Elsner RENEWAL
Mayumi F MacleadIndiaBernardo Dominic UNQUALIFIED
Murillo N GauchoUnited KingdomStephen Shaw NEGOTIATION
Ashley W StockhamRussiaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya D MaletGermanyAnna Fali RENEWAL
Costa U NestleUnited KingdomXuxue Feng PROPOSAL
Jefferson U GillianCanadaAsiya Javayant NEGOTIATION
Tony J FigeroaArgentinaAsiya Javayant NEW
Salvatore Y SergiIndiaStephen Shaw PROPOSAL
Munro U InouyeGermanyStephen Shaw NEW
Rodrigues W StockhamRussiaIoni Bowcher RENEWAL
Arvin U MaletIndiaElwin Sharvill NEGOTIATION
James D OldroydRussiaXuxue Feng NEW
Morrow E FerenczIndiaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin E FigeroaBrazil2024-05-16Printing Dimensions QUALIFIED53Bernardo Dominic
1001Aika T MaletIndia2024-05-26Rousseaux, Michael Esq QUALIFIED52Anna Fali
1002Izzy X RoysterGermany2024-06-07Truhlar And Truhlar Attys UNQUALIFIED71Xuxue Feng
1003Ashley M StensethArgentina2024-05-22Rousseaux, Michael Esq QUALIFIED83Anna Fali
1004Izzy B WieserArgentina2024-05-24Feiner Bros NEGOTIATION46Amy Elsner
1005Julie K WieserItaly2024-06-05Rangoni Of Florence NEGOTIATION53Elwin Sharvill
1006Leon I CaudyCanada2024-06-06Feltz Printing Service UNQUALIFIED65Asiya Javayant
1007Misaki E DoeRussia2024-05-23Buckley Miller Wright QUALIFIED15Stephen Shaw
1008Deepesh Y PerinRussia2024-06-04Buckley Miller Wright PROPOSAL11Stephen Shaw
1009Ricardo L FerenczCanada2024-05-22Feiner Bros NEW6Anna Fali
1010Isabel Z MarrierItaly2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED52Ivan Magalhaes
1011Isabel V PaprockiSpain2024-05-26Feiner Bros QUALIFIED21Amy Elsner
1012Jones G FollerGermany2024-05-21Chemel, James L Cpa NEGOTIATION15Bernardo Dominic
1013Arvin N VocelkaFrance2024-05-17Morlong Associates NEGOTIATION0Elwin Sharvill
1014Ivar L DarakjyCanada2024-05-21Benton, John B Jr PROPOSAL10Ivan Magalhaes
1015Aditya S CaudyAustralia2024-05-16Feltz Printing Service RENEWAL75Onyama Limba
1016Johnson T DarakjyCanada2024-06-13Printing Dimensions QUALIFIED58Ivan Magalhaes
1017David L KuskoUnited Kingdom2024-05-16Benton, John B Jr NEGOTIATION83Stephen Shaw
1018Greenwood M CaudySpain2024-05-15Feltz Printing Service UNQUALIFIED48Bernardo Dominic
1019Munro I CaudyIndia2024-05-21Chemel, James L Cpa NEGOTIATION75Anna Fali
1020Leja M RulapaughRussia2024-06-04Rangoni Of Florence RENEWAL75Onyama Limba
1021Isabel D InouyeItaly2024-05-22Dorl, James J Esq NEGOTIATION23Ioni Bowcher
1022David T WieserJapan2024-05-29Commercial Press UNQUALIFIED86Asiya Javayant
1023Maria A DarakjyAustralia2024-06-13King, Christopher A Esq RENEWAL51Xuxue Feng
1024David W SchemmerItaly2024-05-23Rousseaux, Michael Esq UNQUALIFIED40Amy Elsner
1025Kadeem J MaletRussia2024-06-09King, Christopher A Esq NEGOTIATION38Asiya Javayant
1026Jennifer I DilliardArgentina2024-05-24Chemel, James L Cpa PROPOSAL36Elwin Sharvill
1027Johnson U InouyeBrazil2024-05-17Buckley Miller Wright NEGOTIATION5Onyama Limba
1028Sinclair R OldroydGermany2024-05-26Buckley Miller Wright PROPOSAL10Anna Fali
1029Isabel M TollnerBrazil2024-05-22Benton, John B Jr UNQUALIFIED21Bernardo Dominic
1030Johnson Q ButtBrazil2024-05-15Rousseaux, Michael Esq NEGOTIATION48Ivan Magalhaes
1031Jeanfrancois J GillianItaly2024-06-10Rousseaux, Michael Esq UNQUALIFIED21Ivan Magalhaes
1032Isabel R GlickArgentina2024-05-31Rousseaux, Michael Esq NEW17Elwin Sharvill
1033Emily R RutaArgentina2024-05-19Chanay, Jeffrey A Esq QUALIFIED22Onyama Limba
1034Rodrigues F MarrierBrazil2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED56Onyama Limba
1035Leja U GarufiUnited Kingdom2024-05-17Morlong Associates QUALIFIED15Stephen Shaw
1036Jones M CaudyUnited Kingdom2024-06-12Feiner Bros NEGOTIATION54Anna Fali
1037James B WieserSpain2024-06-06Rangoni Of Florence NEGOTIATION86Ivan Magalhaes
1038Julie B AmigonRussia2024-05-22Chemel, James L Cpa RENEWAL36Elwin Sharvill
1039Francesco G StockhamCanada2024-05-22Chemel, James L Cpa NEGOTIATION48Ioni Bowcher
1040Faith V FerenczIndia2024-06-04Morlong Associates RENEWAL27Stephen Shaw
1041Morrow L KuskoJapan2024-06-02Dorl, James J Esq RENEWAL82Asiya Javayant
1042Chavez A PoquetteIndia2024-05-16Chemel, James L Cpa NEGOTIATION54Stephen Shaw
1043Faith A BologniaItaly2024-05-22Rousseaux, Michael Esq RENEWAL47Ivan Magalhaes
1044Emily E SlusarskiIndia2024-06-07Truhlar And Truhlar Attys UNQUALIFIED21Anna Fali
1045Deepesh Q KolmetzCanada2024-05-30Truhlar And Truhlar Attys NEGOTIATION75Asiya Javayant
1046Octavia C FollerSpain2024-05-25Buckley Miller Wright RENEWAL50Xuxue Feng
1047Octavia G PaprockiGermany2024-06-06Buckley Miller Wright NEW3Elwin Sharvill
1048Cody O RulapaughArgentina2024-06-09Chapman, Ross E Esq RENEWAL85Stephen Shaw
1049Maria H RutaRussia2024-05-19Feiner Bros UNQUALIFIED69Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aditya N TollnerCanadaOnyama Limba PROPOSAL
Aruna D WieserItalyAsiya Javayant QUALIFIED
Johnson Q BologniaGermanyStephen Shaw QUALIFIED
Isabel E OstroskyFranceAnna Fali NEGOTIATION
Antonio W KolmetzRussiaAsiya Javayant NEW
Stacey U CaldareraIndiaElwin Sharvill NEGOTIATION
Faith H SaylorsCanadaBernardo Dominic PROPOSAL
Mujtaba G IturbideJapanAsiya Javayant NEW
Johnson W StensethJapanAnna Fali RENEWAL
Ashley Y PerinGermanyAmy Elsner UNQUALIFIED
Aika N StockhamAustraliaIvan Magalhaes QUALIFIED
Izzy V MarrierBrazilXuxue Feng NEGOTIATION
Isabel H KolmetzGermanyXuxue Feng QUALIFIED
Ivar Q DoeUnited KingdomXuxue Feng QUALIFIED
Jones V FerenczAustraliaBernardo Dominic NEGOTIATION
Rodrigues H MaletSpainStephen Shaw PROPOSAL
Ricardo T VenereGermanyStephen Shaw PROPOSAL
Johnson Q BologniaArgentinaAmy Elsner PROPOSAL
Chavez Q DarakjyIndiaBernardo Dominic NEGOTIATION
Ivar O CampainUnited KingdomElwin Sharvill QUALIFIED
Jones R CaudyItalyIoni Bowcher UNQUALIFIED
Misaki A DilliardJapanAmy Elsner PROPOSAL
Salvatore X VenereSpainIoni Bowcher RENEWAL
Kadeem F OldroydUnited KingdomIoni Bowcher NEW
Rodrigues C BologniaGermanyOnyama Limba QUALIFIED
Johnson Z GarufiGermanyAsiya Javayant QUALIFIED
Stacey M StensethBrazilElwin Sharvill NEW
Wickens E DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Morrow O AmigonUnited KingdomAmy Elsner QUALIFIED
Morrow D MaletItalyAnna Fali QUALIFIED
Mujtaba J IturbideArgentinaStephen Shaw NEGOTIATION
Claire X NickaCanadaStephen Shaw RENEWAL
Aika N KuskoRussiaIvan Magalhaes RENEWAL
Sinclair X FollerCanadaIvan Magalhaes UNQUALIFIED
Adams W SaylorsItalyAmy Elsner NEGOTIATION
Octavia U IturbideRussiaAmy Elsner UNQUALIFIED
David E AlbaresBrazilOnyama Limba NEGOTIATION
Jennifer L MacleadJapanElwin Sharvill QUALIFIED
Antonio N FigeroaItalyAnna Fali PROPOSAL
Ashley F DarakjyFranceXuxue Feng NEW
Clifford S PaprockiJapanAsiya Javayant RENEWAL
Clifford D ButtSpainAnna Fali QUALIFIED
Alejandro W VenereRussiaBernardo Dominic QUALIFIED
Jones U NestleArgentinaStephen Shaw NEW
Misaki C TollnerSpainAnna Fali NEGOTIATION
Maria Z VenereJapanAmy Elsner QUALIFIED
Maisha P StockhamRussiaOnyama Limba RENEWAL
Leon Q RulapaughItalyOnyama Limba PROPOSAL
Maisha F VenereGermanyElwin Sharvill UNQUALIFIED
Izzy O RutaBrazilStephen Shaw QUALIFIED
Frozen Columns
Name
Jeanfrancois I Garufi
Ashley A Stenseth
Smith G Gaucho
Juan E Ruta
Salvatore C Saylors
Smith C Venere
Ashley J Shinko
Deepesh F Inouye
Chavez H Stenseth
Murillo J Albares
Julie W Glick
Jeanfrancois C Stockham
Isabel P Rim
Alejandro Y Amigon
Nicolas B Foller
David B Ostrosky
Rodrigues G Briddick
Faith R Briddick
Nicolas Q Gaucho
Maisha Z Nicka
Mujtaba T Venere
Jones K Briddick
Maisha L Oldroyd
Maria C Doe
Alejandro H Maclead
Claire L Waycott
Clifford I Dilliard
Deepesh F Nicka
Leja X Caudy
Jeanfrancois D Paprocki
Antonio E Dilliard
Leja T Flosi
Jefferson Q Poquette
Chavez V Royster
Johnson Y Garufi
Tony U Gaucho
Morrow T Nestle
Chavez B Poquette
Tony D Kolmetz
Stacey O Ruta
James X Stockham
Leon M Ruta
Jones T Paprocki
Ivar G Bowley
Salvatore E Oldroyd
Aruna Y Glick
Octavia U Perin
Leja R Bowley
Ashley P Campain
Rodrigues H Foller
IdCountryDate
1000Italy2024-06-03
1001Australia2024-05-29
1002Canada2024-06-03
1003France2024-05-20
1004Italy2024-05-19
1005France2024-05-31
1006Germany2024-05-21
1007Japan2024-06-01
1008Spain2024-05-18
1009Italy2024-06-01
1010Brazil2024-05-20
1011Spain2024-05-24
1012France2024-06-09
1013Australia2024-05-17
1014India2024-06-10
1015Spain2024-05-29
1016Germany2024-05-18
1017Argentina2024-05-20
1018Russia2024-06-06
1019Russia2024-05-26
1020France2024-06-05
1021India2024-06-10
1022Australia2024-05-25
1023France2024-05-20
1024Russia2024-06-10
1025United Kingdom2024-06-04
1026Japan2024-05-22
1027Argentina2024-06-05
1028Argentina2024-05-31
1029Australia2024-05-27
1030Japan2024-05-31
1031United Kingdom2024-06-11
1032Russia2024-06-03
1033Germany2024-05-21
1034Australia2024-05-19
1035Canada2024-05-23
1036Italy2024-05-24
1037France2024-06-02
1038India2024-06-09
1039Japan2024-06-01
1040Argentina2024-06-05
1041France2024-06-05
1042Australia2024-06-04
1043Japan2024-06-11
1044Japan2024-05-22
1045Italy2024-06-13
1046Germany2024-06-07
1047Spain2024-05-22
1048Australia2024-05-24
1049France2024-06-03

On-Demand Data

NameIdCountryDate
Antonio Z Inouye1000Italy2024-05-19
Octavia U Doe1001Brazil2024-06-04
Aditya O Ferencz1002Argentina2024-05-18
Leon I Slusarski1003Australia2024-05-20
Clifford S Rim1004Argentina2024-06-06
Misaki Z Tollner1005Australia2024-05-24
Ivar X Stockham1006Australia2024-05-19
Julie B Rim1007Russia2024-06-05
Maisha C Tollner1008United Kingdom2024-05-23
Misaki E Nicka1009Japan2024-05-30
Emily F Venere1010Italy2024-06-04
Aika A Rim1011France2024-06-13
Cody T Poquette1012Germany2024-05-25
Leon A Chui1013Canada2024-05-20
Kadeem F Tollner1014Italy2024-05-22
Isabel C Iturbide1015Brazil2024-05-27
Alejandro M Wieser1016Germany2024-05-19
Rodrigues D Royster1017Spain2024-06-04
Munro C Royster1018France2024-05-25
Morrow S Wieser1019India2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya Z FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson R DarakjyIndiaIoni Bowcher UNQUALIFIED
David K IturbideJapanAsiya Javayant UNQUALIFIED
Arvin C FlosiGermanyBernardo Dominic RENEWAL
Antonio J InouyeRussiaXuxue Feng UNQUALIFIED
Ivar C SlusarskiRussiaStephen Shaw RENEWAL
David S BriddickArgentinaXuxue Feng QUALIFIED
Jefferson C VenereRussiaAmy Elsner PROPOSAL
Aditya J RoysterFranceIvan Magalhaes NEGOTIATION
Faith X FollerSpainXuxue Feng NEW
David M VocelkaItalyXuxue Feng RENEWAL
Costa V KuskoUnited KingdomBernardo Dominic NEW
Costa K RulapaughAustraliaIoni Bowcher PROPOSAL
Morrow M SergiAustraliaXuxue Feng UNQUALIFIED
Arvin H BriddickItalyAmy Elsner NEGOTIATION
Ricardo B StensethUnited KingdomIvan Magalhaes NEW
Kadeem J FigeroaAustraliaIoni Bowcher NEW
Adams X FollerArgentinaAnna Fali QUALIFIED
Maria T MorascaGermanyBernardo Dominic QUALIFIED
Leon B AlbaresArgentinaXuxue Feng NEW
Cody N GauchoSpainAmy Elsner UNQUALIFIED
Stacey H MacleadItalyXuxue Feng NEW
Cody R MacleadAustraliaIoni Bowcher UNQUALIFIED
Tony T WhobreyCanadaStephen Shaw UNQUALIFIED
Francesco G FerenczFranceBernardo Dominic RENEWAL
Leja G ButtFranceBernardo Dominic UNQUALIFIED
Clifford L MarrierGermanyAnna Fali RENEWAL
Arvin N PaprockiRussiaAmy Elsner UNQUALIFIED
Misaki W CaudyItalyIoni Bowcher QUALIFIED
Jones E MacleadCanadaStephen Shaw PROPOSAL
Ricardo Q CaldareraCanadaAnna Fali PROPOSAL
Maisha L NickaRussiaAmy Elsner PROPOSAL
Kadeem Q CaudyArgentinaElwin Sharvill NEW
Jones R SchemmerAustraliaOnyama Limba PROPOSAL
Wickens S WhobreyAustraliaAmy Elsner QUALIFIED
Julie S AmigonAustraliaAnna Fali PROPOSAL
Costa A BriddickIndiaStephen Shaw UNQUALIFIED
Jones G BologniaAustraliaElwin Sharvill NEW
Jones B OldroydCanadaElwin Sharvill RENEWAL
Juan W VocelkaFranceAnna Fali 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>