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
Kadeem Y FollerSpainIoni Bowcher QUALIFIED
Julie T SergiItalyOnyama Limba NEW
Leja J VenereCanadaAnna Fali RENEWAL
Ricardo P PoquetteFranceElwin Sharvill UNQUALIFIED
Kadeem H StensethItalyStephen Shaw QUALIFIED
Jones H FollerJapanStephen Shaw UNQUALIFIED
Francesco X TollnerGermanyStephen Shaw RENEWAL
Jones I WieserIndiaElwin Sharvill UNQUALIFIED
Jefferson G RimUnited KingdomStephen Shaw RENEWAL
Jeanfrancois Q ShinkoItalyBernardo Dominic PROPOSAL
Darci J ShinkoIndiaXuxue Feng QUALIFIED
Julie L OstroskyCanadaElwin Sharvill PROPOSAL
Juan S BologniaUnited KingdomAmy Elsner PROPOSAL
Silvio Q NickaUnited KingdomIoni Bowcher PROPOSAL
Kadeem D KuskoRussiaOnyama Limba QUALIFIED
Clifford I WieserIndiaStephen Shaw RENEWAL
Mujtaba C CampainAustraliaOnyama Limba QUALIFIED
Aika L SlusarskiFranceXuxue Feng NEGOTIATION
Chavez Q MarrierItalyOnyama Limba PROPOSAL
Isabel C SergiCanadaStephen Shaw PROPOSAL
Rodrigues M KuskoBrazilAmy Elsner PROPOSAL
Darci A DarakjyItalyXuxue Feng QUALIFIED
Sinclair W DilliardFranceAmy Elsner QUALIFIED
Ivar K DilliardIndiaAsiya Javayant PROPOSAL
Isabel O DoeArgentinaStephen Shaw NEW
Kaitlin L InouyeSpainOnyama Limba UNQUALIFIED
Ivar L WaycottArgentinaAmy Elsner NEW
Smith W ShinkoFranceAsiya Javayant QUALIFIED
Aditya X PerinUnited KingdomStephen Shaw UNQUALIFIED
Isabel V WaycottJapanStephen Shaw UNQUALIFIED
Leja H TollnerFranceAsiya Javayant NEW
Morrow E BriddickFranceIvan Magalhaes RENEWAL
Aditya X AlbaresGermanyIoni Bowcher RENEWAL
Deepesh S DilliardUnited KingdomOnyama Limba RENEWAL
Kadeem C OstroskyGermanyAmy Elsner NEW
Jones L VocelkaBrazilIvan Magalhaes UNQUALIFIED
Greenwood N GillianJapanAmy Elsner RENEWAL
Juan A StockhamGermanyAsiya Javayant QUALIFIED
Maisha R RulapaughJapanAmy Elsner NEGOTIATION
Mayumi A GillianFranceElwin Sharvill PROPOSAL
Maria F NestleRussiaBernardo Dominic NEW
Deepesh H FerenczUnited KingdomAnna Fali PROPOSAL
Wickens Q AmigonJapanBernardo Dominic NEGOTIATION
Izzy G RutaArgentinaIoni Bowcher RENEWAL
Jefferson X CaldareraRussiaOnyama Limba NEW
James V MacleadCanadaBernardo Dominic NEW
Aruna F KolmetzFranceIoni Bowcher UNQUALIFIED
Jennifer J MarrierCanadaStephen Shaw NEGOTIATION
Murillo G FlosiJapanIoni Bowcher RENEWAL
Juan J RimSpainIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leja P FigeroaBrazilAsiya Javayant QUALIFIED
Costa X ChuiUnited KingdomIoni Bowcher NEW
Francesco V MaletCanadaOnyama Limba RENEWAL
Rodrigues K VocelkaCanadaOnyama Limba NEGOTIATION
Misaki X FlosiAustraliaIvan Magalhaes UNQUALIFIED
Maria B BowleyItalyOnyama Limba QUALIFIED
Juan F NickaArgentinaStephen Shaw RENEWAL
Aditya H FollerCanadaIvan Magalhaes QUALIFIED
Chavez G PoquetteArgentinaElwin Sharvill PROPOSAL
Misaki T DilliardRussiaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues Z PerinGermany2024-06-14Chanay, Jeffrey A Esq PROPOSAL63Ioni Bowcher
1001Maisha G VocelkaUnited Kingdom2024-05-28King, Christopher A Esq NEGOTIATION62Ioni Bowcher
1002Ricardo N KuskoCanada2024-05-30Chapman, Ross E Esq RENEWAL33Onyama Limba
1003Faith W PaprockiFrance2024-06-02Feltz Printing Service NEGOTIATION95Elwin Sharvill
1004Wickens C AlbaresSpain2024-06-24Chapman, Ross E Esq PROPOSAL61Anna Fali
1005Arvin G NickaSpain2024-06-09Rangoni Of Florence NEGOTIATION52Onyama Limba
1006Tony T KolmetzJapan2024-05-30Chemel, James L Cpa PROPOSAL57Bernardo Dominic
1007Jennifer F StensethItaly2024-05-30Rousseaux, Michael Esq NEW66Ivan Magalhaes
1008Jennifer T RimSpain2024-05-28Buckley Miller Wright NEGOTIATION78Asiya Javayant
1009David P FerenczItaly2024-06-18Chemel, James L Cpa QUALIFIED11Elwin Sharvill
1010James Q WhobreyFrance2024-06-17King, Christopher A Esq QUALIFIED37Anna Fali
1011Arvin I NickaCanada2024-06-05Chapman, Ross E Esq UNQUALIFIED74Xuxue Feng
1012Greenwood M FigeroaCanada2024-05-28Rousseaux, Michael Esq UNQUALIFIED48Bernardo Dominic
1013Nicolas C GillianUnited Kingdom2024-05-27Feiner Bros NEW88Xuxue Feng
1014Maria A ButtGermany2024-05-26Commercial Press RENEWAL12Xuxue Feng
1015Leon D GauchoBrazil2024-06-15Chapman, Ross E Esq PROPOSAL31Xuxue Feng
1016Octavia B BologniaAustralia2024-05-28Truhlar And Truhlar Attys QUALIFIED73Elwin Sharvill
1017Salvatore H MacleadAustralia2024-06-17Rousseaux, Michael Esq QUALIFIED85Onyama Limba
1018Misaki M FollerFrance2024-06-07Commercial Press PROPOSAL82Amy Elsner
1019Leon L PaprockiJapan2024-06-20Rangoni Of Florence QUALIFIED41Xuxue Feng
1020Silvio W SlusarskiAustralia2024-05-31Feltz Printing Service UNQUALIFIED65Bernardo Dominic
1021Emily W RutaIndia2024-06-23Commercial Press NEGOTIATION29Stephen Shaw
1022Johnson P RulapaughUnited Kingdom2024-06-07Rousseaux, Michael Esq QUALIFIED98Onyama Limba
1023Ricardo F PaprockiItaly2024-06-05Buckley Miller Wright NEGOTIATION54Asiya Javayant
1024Francesco U InouyeCanada2024-06-22Rousseaux, Michael Esq RENEWAL92Anna Fali
1025Alejandro L PaprockiUnited Kingdom2024-05-28Chemel, James L Cpa UNQUALIFIED22Anna Fali
1026Jones F StockhamUnited Kingdom2024-06-04Buckley Miller Wright PROPOSAL98Onyama Limba
1027Murillo V SergiSpain2024-05-28Chemel, James L Cpa UNQUALIFIED51Amy Elsner
1028Murillo C MarrierItaly2024-06-01Printing Dimensions UNQUALIFIED1Anna Fali
1029Cody H SaylorsCanada2024-06-14King, Christopher A Esq QUALIFIED64Elwin Sharvill
1030Juan G SchemmerArgentina2024-06-01Chapman, Ross E Esq RENEWAL75Ivan Magalhaes
1031Murillo R WieserItaly2024-06-06Commercial Press RENEWAL83Ioni Bowcher
1032Murillo T CampainGermany2024-06-01Buckley Miller Wright UNQUALIFIED82Stephen Shaw
1033Claire O WaycottUnited Kingdom2024-06-04Commercial Press NEGOTIATION74Bernardo Dominic
1034Deepesh B FollerItaly2024-06-09Dorl, James J Esq QUALIFIED26Stephen Shaw
1035Maisha Q FollerArgentina2024-06-11Buckley Miller Wright RENEWAL19Asiya Javayant
1036Izzy N ButtBrazil2024-05-27Morlong Associates NEW70Bernardo Dominic
1037Greenwood P VenereItaly2024-06-04Chemel, James L Cpa NEGOTIATION88Bernardo Dominic
1038Munro R BologniaUnited Kingdom2024-06-01Chanay, Jeffrey A Esq NEW3Xuxue Feng
1039Sinclair U AmigonJapan2024-06-10Rangoni Of Florence RENEWAL98Bernardo Dominic
1040James T CaudyRussia2024-06-22Chemel, James L Cpa NEGOTIATION96Onyama Limba
1041Murillo H RoysterItaly2024-05-27Benton, John B Jr NEW8Amy Elsner
1042David O BowleyBrazil2024-06-02King, Christopher A Esq NEGOTIATION3Elwin Sharvill
1043Tony N MaletSpain2024-05-30Feltz Printing Service NEW64Anna Fali
1044Jeanfrancois D ShinkoSpain2024-06-18Feltz Printing Service NEW43Xuxue Feng
1045Francesco E VocelkaItaly2024-06-20Truhlar And Truhlar Attys PROPOSAL26Ioni Bowcher
1046Murillo S SchemmerJapan2024-05-27Chanay, Jeffrey A Esq QUALIFIED73Xuxue Feng
1047Costa H MacleadArgentina2024-06-10Benton, John B Jr NEW21Elwin Sharvill
1048Juan T RutaUnited Kingdom2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED58Onyama Limba
1049Wickens N BowleyUnited Kingdom2024-05-26Chemel, James L Cpa RENEWAL53Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Clifford N MorascaItalyBernardo Dominic UNQUALIFIED
Murillo X TollnerIndiaOnyama Limba PROPOSAL
Misaki P WhobreyRussiaElwin Sharvill QUALIFIED
Emily O OldroydBrazilIvan Magalhaes UNQUALIFIED
Octavia K StockhamUnited KingdomIvan Magalhaes QUALIFIED
Antonio V ShinkoBrazilOnyama Limba NEW
Aruna Z PoquetteJapanIoni Bowcher QUALIFIED
Stacey M TollnerBrazilIoni Bowcher NEW
Cody K InouyeAustraliaAmy Elsner QUALIFIED
Izzy E GillianAustraliaIoni Bowcher NEGOTIATION
Kadeem O ChuiSpainElwin Sharvill NEW
Tony U RoysterUnited KingdomAsiya Javayant PROPOSAL
Jefferson R BologniaJapanElwin Sharvill RENEWAL
Isabel H RutaFranceStephen Shaw RENEWAL
Munro Q CaldareraAustraliaXuxue Feng NEGOTIATION
Jefferson L PerinUnited KingdomAsiya Javayant QUALIFIED
Ricardo E ChuiIndiaAmy Elsner RENEWAL
Chavez B AmigonAustraliaAmy Elsner PROPOSAL
Leon F VocelkaArgentinaStephen Shaw NEGOTIATION
Murillo B CampainBrazilXuxue Feng RENEWAL
Izzy Z FollerUnited KingdomAsiya Javayant NEGOTIATION
Alejandro N FollerArgentinaElwin Sharvill PROPOSAL
Octavia A NickaRussiaElwin Sharvill QUALIFIED
Leja Q NickaCanadaAnna Fali RENEWAL
Darci R CampainJapanElwin Sharvill NEW
Kadeem Z RulapaughIndiaIoni Bowcher NEW
James N VocelkaGermanyBernardo Dominic QUALIFIED
Mayumi Q ChuiArgentinaXuxue Feng UNQUALIFIED
Rodrigues T OldroydIndiaElwin Sharvill PROPOSAL
Maisha A TollnerJapanIoni Bowcher RENEWAL
Alejandro A KolmetzBrazilOnyama Limba QUALIFIED
Jeanfrancois B CaldareraJapanIoni Bowcher QUALIFIED
Maria Q FerenczAustraliaAmy Elsner RENEWAL
Emily W RoysterBrazilBernardo Dominic QUALIFIED
Claire E SchemmerFranceAmy Elsner UNQUALIFIED
Wickens I InouyeFranceBernardo Dominic NEW
Antonio Z SaylorsFranceBernardo Dominic NEW
Leon T KuskoRussiaIvan Magalhaes UNQUALIFIED
Stacey R ChuiGermanyOnyama Limba RENEWAL
James M FerenczArgentinaElwin Sharvill NEW
Antonio O ChuiJapanAsiya Javayant QUALIFIED
Emily L StockhamIndiaAnna Fali QUALIFIED
Stacey R AlbaresCanadaOnyama Limba QUALIFIED
Octavia W WaycottItalyElwin Sharvill NEW
Aditya F InouyeJapanStephen Shaw QUALIFIED
Jefferson U CampainGermanyStephen Shaw NEW
Jones B SergiArgentinaAsiya Javayant UNQUALIFIED
Wickens H NestleUnited KingdomAsiya Javayant NEGOTIATION
Ricardo L AlbaresJapanAsiya Javayant NEGOTIATION
Leon F CaldareraAustraliaAnna Fali QUALIFIED
Frozen Columns
Name
Aika D Gaucho
Darci W Perin
Stacey R Bolognia
Kaitlin N Rulapaugh
Chavez F Oldroyd
Aruna H Chui
Wickens H Inouye
Stacey R Flosi
Octavia L Chui
Munro C Oldroyd
Leja X Garufi
Leon A Whobrey
Isabel F Whobrey
Stacey N Bowley
Kaitlin G Malet
Kaitlin Z Morasca
Morrow K Paprocki
Rodrigues K Albares
Chavez N Shinko
Adams G Malet
Misaki B Dilliard
Maria Y Waycott
Cody P Poquette
Sinclair N Stockham
Silvio U Glick
Arvin M Ostrosky
Nicolas K Glick
Aika J Morasca
Sinclair K Sergi
Smith E Caudy
Kadeem A Garufi
Maria L Oldroyd
Leon B Nicka
Octavia W Oldroyd
Jeanfrancois U Nicka
Aditya I Dilliard
Stacey K Shinko
David K Stenseth
Rodrigues N Gillian
Octavia M Amigon
Costa S Shinko
Nicolas I Poquette
Jefferson P Glick
Morrow I Slusarski
Ivar L Rim
Tony E Schemmer
Arvin J Nicka
Emily F Glick
Mayumi B Whobrey
Greenwood E Gillian
IdCountryDate
1000Australia2024-06-18
1001Argentina2024-06-20
1002Germany2024-05-31
1003Canada2024-06-16
1004United Kingdom2024-06-21
1005Germany2024-06-04
1006Brazil2024-05-27
1007Russia2024-06-16
1008Spain2024-06-06
1009United Kingdom2024-05-31
1010Japan2024-06-03
1011Argentina2024-06-07
1012Italy2024-06-06
1013Canada2024-06-18
1014United Kingdom2024-06-18
1015United Kingdom2024-06-07
1016Italy2024-06-08
1017Germany2024-06-01
1018United Kingdom2024-06-09
1019Spain2024-06-08
1020Canada2024-05-26
1021Germany2024-06-23
1022Brazil2024-06-12
1023Japan2024-06-03
1024Russia2024-05-28
1025India2024-05-28
1026India2024-06-02
1027Canada2024-06-19
1028Germany2024-05-27
1029Germany2024-06-18
1030France2024-05-27
1031Australia2024-05-30
1032Canada2024-06-17
1033Italy2024-06-23
1034Japan2024-06-17
1035Russia2024-06-04
1036Germany2024-05-28
1037United Kingdom2024-06-07
1038United Kingdom2024-06-21
1039Russia2024-05-26
1040Germany2024-05-27
1041Brazil2024-05-28
1042Australia2024-06-23
1043Russia2024-06-20
1044France2024-05-29
1045United Kingdom2024-06-10
1046Brazil2024-06-10
1047Spain2024-06-18
1048Russia2024-05-27
1049Spain2024-05-30

On-Demand Data

NameIdCountryDate
Alejandro V Iturbide1000Japan2024-06-19
Antonio R Royster1001Japan2024-05-31
Ivar X Bowley1002Brazil2024-06-10
Smith Z Ruta1003Japan2024-06-13
Greenwood I Paprocki1004Germany2024-06-10
Alejandro H Gillian1005Italy2024-06-22
Aditya Q Rulapaugh1006Russia2024-06-08
Mayumi P Tollner1007Brazil2024-06-04
Clifford Z Ruta1008India2024-06-10
Claire S Malet1009Spain2024-06-17
James X Kolmetz1010Russia2024-06-12
Julie H Inouye1011Argentina2024-06-10
Mujtaba J Campain1012France2024-06-17
Julie A Royster1013Germany2024-06-06
Kadeem O Royster1014Japan2024-06-13
Ricardo N Saylors1015India2024-05-28
Arvin P Rim1016Australia2024-06-16
Kadeem Q Bolognia1017Canada2024-05-29
Munro S Nicka1018Argentina2024-05-29
David L Rulapaugh1019Japan2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro M RimJapanIvan Magalhaes QUALIFIED
Wickens I GauchoRussiaAnna Fali UNQUALIFIED
Julie R ShinkoGermanyOnyama Limba NEGOTIATION
Emily E BologniaIndiaElwin Sharvill NEGOTIATION
Clifford V GlickJapanXuxue Feng NEGOTIATION
Jefferson T MarrierJapanIoni Bowcher PROPOSAL
Tony F IturbideIndiaOnyama Limba NEW
David J IturbideArgentinaAmy Elsner NEGOTIATION
Clifford V GarufiCanadaAsiya Javayant RENEWAL
Octavia C WhobreyUnited KingdomStephen Shaw UNQUALIFIED
Jefferson Z SlusarskiIndiaIoni Bowcher PROPOSAL
Smith R KuskoRussiaOnyama Limba RENEWAL
Mujtaba E RoysterUnited KingdomAnna Fali PROPOSAL
Rodrigues N SergiUnited KingdomOnyama Limba NEW
Costa O TollnerJapanAsiya Javayant NEGOTIATION
Mayumi V SchemmerIndiaElwin Sharvill PROPOSAL
Deepesh Z FigeroaItalyElwin Sharvill PROPOSAL
Murillo W StockhamArgentinaOnyama Limba RENEWAL
Jefferson J DoeUnited KingdomOnyama Limba UNQUALIFIED
Ricardo E WaycottIndiaAsiya Javayant PROPOSAL
Greenwood D DoeUnited KingdomAsiya Javayant NEGOTIATION
Antonio Z MaletUnited KingdomStephen Shaw NEW
Deepesh I DilliardCanadaStephen Shaw NEW
Mayumi E FerenczBrazilIoni Bowcher RENEWAL
Adams W ChuiJapanAnna Fali UNQUALIFIED
Alejandro O ChuiGermanyOnyama Limba UNQUALIFIED
Greenwood O TollnerCanadaAsiya Javayant PROPOSAL
Deepesh N CaldareraRussiaAsiya Javayant NEW
Julie A ShinkoCanadaAsiya Javayant PROPOSAL
Tony O RutaSpainXuxue Feng NEW
Misaki F FlosiUnited KingdomStephen Shaw NEW
Aika D PoquetteCanadaAmy Elsner QUALIFIED
Clifford N RutaAustraliaAsiya Javayant NEW
Jones U PoquetteItalyAmy Elsner NEGOTIATION
Emily P CampainArgentinaStephen Shaw NEGOTIATION
Claire K GarufiBrazilAnna Fali NEGOTIATION
Aditya M GauchoUnited KingdomIoni Bowcher RENEWAL
Johnson W OstroskyItalyElwin Sharvill NEGOTIATION
Jennifer F MacleadRussiaBernardo Dominic NEGOTIATION
David K AmigonFranceXuxue Feng 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>