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 U KolmetzUnited KingdomAsiya Javayant PROPOSAL
Leja F FlosiItalyIoni Bowcher NEW
Deepesh B BriddickJapanStephen Shaw RENEWAL
Ashley K MarrierGermanyXuxue Feng RENEWAL
Salvatore X FerenczFranceIvan Magalhaes NEGOTIATION
Nicolas R InouyeArgentinaAnna Fali RENEWAL
David A NickaAustraliaStephen Shaw PROPOSAL
Aika L VenereBrazilXuxue Feng QUALIFIED
Jeanfrancois Z StensethUnited KingdomAmy Elsner NEGOTIATION
Mujtaba L BriddickFranceIvan Magalhaes NEGOTIATION
Darci F PerinSpainAnna Fali NEGOTIATION
Silvio H RoysterCanadaElwin Sharvill NEW
Faith Q DarakjyIndiaOnyama Limba UNQUALIFIED
Claire M CaldareraUnited KingdomStephen Shaw NEGOTIATION
Salvatore D KuskoRussiaBernardo Dominic RENEWAL
Alejandro Q DarakjyCanadaXuxue Feng RENEWAL
Antonio K RutaArgentinaXuxue Feng NEW
Leon J CaudyUnited KingdomOnyama Limba NEGOTIATION
Johnson P VenereBrazilOnyama Limba PROPOSAL
Morrow T SlusarskiJapanIvan Magalhaes PROPOSAL
Leja W CaudyCanadaStephen Shaw RENEWAL
Antonio T MarrierArgentinaStephen Shaw RENEWAL
Jefferson P DilliardGermanyAmy Elsner PROPOSAL
Jefferson C SlusarskiArgentinaStephen Shaw RENEWAL
Cody G MacleadAustraliaOnyama Limba RENEWAL
Tony J CaudyCanadaAnna Fali UNQUALIFIED
Deepesh X PoquetteFranceOnyama Limba PROPOSAL
Munro B NickaItalyElwin Sharvill RENEWAL
Ivar D CaldareraItalyIvan Magalhaes NEGOTIATION
Munro A GauchoGermanyBernardo Dominic NEGOTIATION
Salvatore A WhobreyGermanyXuxue Feng PROPOSAL
Chavez P DoeCanadaOnyama Limba RENEWAL
Kaitlin D SergiFranceIvan Magalhaes QUALIFIED
Kadeem H GlickAustraliaAnna Fali PROPOSAL
Maisha N OstroskyGermanyIvan Magalhaes NEGOTIATION
Stacey W StensethGermanyOnyama Limba PROPOSAL
Francesco S DilliardSpainXuxue Feng UNQUALIFIED
Kadeem Q CaudyJapanAmy Elsner NEGOTIATION
Jones L RutaIndiaAnna Fali NEW
Ivar A RimGermanyAsiya Javayant PROPOSAL
Murillo R StockhamSpainAmy Elsner QUALIFIED
Jefferson F VocelkaArgentinaAmy Elsner PROPOSAL
Ivar A PoquetteGermanyBernardo Dominic NEGOTIATION
Johnson Z AlbaresArgentinaIoni Bowcher UNQUALIFIED
Wickens S MorascaSpainBernardo Dominic NEW
Jefferson J OstroskyCanadaXuxue Feng NEW
Stacey W FigeroaItalyElwin Sharvill UNQUALIFIED
Ricardo K SaylorsRussiaOnyama Limba PROPOSAL
Nicolas H GauchoGermanyBernardo Dominic PROPOSAL
David S RimUnited KingdomOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Octavia K GauchoIndiaAnna Fali PROPOSAL
Kadeem K MaletSpainOnyama Limba UNQUALIFIED
Juan F VenereBrazilAmy Elsner PROPOSAL
Jennifer S StensethIndiaElwin Sharvill UNQUALIFIED
Arvin W AmigonBrazilAsiya Javayant NEW
James M DoeAustraliaOnyama Limba NEW
Salvatore Z SergiAustraliaIvan Magalhaes QUALIFIED
Emily A SaylorsRussiaOnyama Limba QUALIFIED
Ricardo L SchemmerIndiaOnyama Limba RENEWAL
Ashley C StockhamSpainAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya O OstroskyGermany2024-05-30Commercial Press NEW31Ivan Magalhaes
1001David E TollnerFrance2024-05-28Feiner Bros PROPOSAL93Bernardo Dominic
1002Aika Z PerinAustralia2024-06-20Benton, John B Jr PROPOSAL91Xuxue Feng
1003Jefferson Z DoeSpain2024-06-12Morlong Associates RENEWAL46Ioni Bowcher
1004Aruna Q CaldareraGermany2024-06-20Morlong Associates NEW98Amy Elsner
1005Greenwood O BowleyRussia2024-06-07Chanay, Jeffrey A Esq NEW49Xuxue Feng
1006Aika E MacleadArgentina2024-05-26Dorl, James J Esq NEGOTIATION83Ioni Bowcher
1007Aika U NestleIndia2024-06-16Truhlar And Truhlar Attys QUALIFIED29Ivan Magalhaes
1008Clifford D DoeBrazil2024-05-30King, Christopher A Esq PROPOSAL92Ioni Bowcher
1009Morrow C SchemmerSpain2024-06-15Chapman, Ross E Esq NEW22Stephen Shaw
1010Costa O FigeroaIndia2024-06-12Commercial Press NEW53Xuxue Feng
1011Mujtaba M CaldareraIndia2024-06-16Morlong Associates NEGOTIATION75Xuxue Feng
1012Maisha Y BowleyFrance2024-05-30Feiner Bros NEW73Asiya Javayant
1013Leon A SaylorsJapan2024-06-17Commercial Press QUALIFIED62Asiya Javayant
1014Ashley P TollnerAustralia2024-06-06Benton, John B Jr UNQUALIFIED38Ivan Magalhaes
1015Kaitlin W RimCanada2024-06-15Feltz Printing Service QUALIFIED9Anna Fali
1016Munro K MaletSpain2024-06-04Chanay, Jeffrey A Esq PROPOSAL55Xuxue Feng
1017Misaki Z GarufiAustralia2024-06-18Morlong Associates RENEWAL14Bernardo Dominic
1018Jefferson N CaudySpain2024-06-20Chanay, Jeffrey A Esq NEGOTIATION77Onyama Limba
1019Silvio A SergiFrance2024-06-02King, Christopher A Esq QUALIFIED43Ioni Bowcher
1020Leja D MarrierUnited Kingdom2024-06-18Commercial Press RENEWAL30Xuxue Feng
1021Cody L SlusarskiAustralia2024-05-25King, Christopher A Esq NEGOTIATION59Onyama Limba
1022Tony X ButtUnited Kingdom2024-05-26Chapman, Ross E Esq UNQUALIFIED5Bernardo Dominic
1023Cody M MaletBrazil2024-06-05Rousseaux, Michael Esq NEGOTIATION75Ivan Magalhaes
1024Morrow O RutaArgentina2024-06-08Feltz Printing Service PROPOSAL74Ioni Bowcher
1025Faith W GarufiBrazil2024-06-06Chanay, Jeffrey A Esq QUALIFIED23Amy Elsner
1026Maria Q ChuiUnited Kingdom2024-06-04Feltz Printing Service UNQUALIFIED26Bernardo Dominic
1027Nicolas D CaldareraBrazil2024-05-30Chapman, Ross E Esq QUALIFIED53Asiya Javayant
1028Francesco F SchemmerCanada2024-06-14King, Christopher A Esq QUALIFIED74Asiya Javayant
1029Mayumi V OldroydFrance2024-06-18Chanay, Jeffrey A Esq NEGOTIATION14Ivan Magalhaes
1030Julie J CaldareraJapan2024-05-30Chemel, James L Cpa QUALIFIED23Asiya Javayant
1031Stacey V MaletItaly2024-05-31Truhlar And Truhlar Attys NEW99Bernardo Dominic
1032Nicolas F GarufiIndia2024-05-23Buckley Miller Wright QUALIFIED86Asiya Javayant
1033Izzy G BriddickSpain2024-05-29Morlong Associates NEGOTIATION54Anna Fali
1034Alejandro E SergiFrance2024-05-28Buckley Miller Wright QUALIFIED18Anna Fali
1035Antonio S PaprockiJapan2024-06-18Chanay, Jeffrey A Esq NEW1Elwin Sharvill
1036Leon V RulapaughIndia2024-06-01Morlong Associates PROPOSAL63Ivan Magalhaes
1037Octavia Y AmigonFrance2024-06-16Morlong Associates NEW50Xuxue Feng
1038Julie G WaycottFrance2024-06-05Chanay, Jeffrey A Esq NEGOTIATION32Xuxue Feng
1039Clifford R NestleIndia2024-06-03Feltz Printing Service UNQUALIFIED81Stephen Shaw
1040Izzy Q BriddickFrance2024-06-10Chapman, Ross E Esq PROPOSAL94Elwin Sharvill
1041Julie T TollnerBrazil2024-05-29King, Christopher A Esq UNQUALIFIED92Ioni Bowcher
1042Smith J DarakjyRussia2024-06-17Morlong Associates UNQUALIFIED72Onyama Limba
1043Rodrigues T VocelkaFrance2024-05-29Morlong Associates UNQUALIFIED1Asiya Javayant
1044Morrow V ButtFrance2024-06-08Buckley Miller Wright RENEWAL1Xuxue Feng
1045Sinclair W GarufiFrance2024-05-25Benton, John B Jr PROPOSAL97Ivan Magalhaes
1046Faith E FigeroaSpain2024-05-24Feiner Bros NEW69Onyama Limba
1047Rodrigues K PaprockiArgentina2024-06-02Dorl, James J Esq NEGOTIATION25Stephen Shaw
1048Izzy E OstroskyCanada2024-06-05Morlong Associates PROPOSAL30Onyama Limba
1049Izzy N PerinFrance2024-06-05Morlong Associates PROPOSAL98Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jefferson F AlbaresJapanAnna Fali QUALIFIED
Sinclair H ChuiArgentinaAmy Elsner UNQUALIFIED
Salvatore D OstroskySpainBernardo Dominic PROPOSAL
Juan F SaylorsRussiaAnna Fali RENEWAL
Aika T MarrierIndiaAsiya Javayant RENEWAL
Ashley K WhobreyItalyIvan Magalhaes NEW
Clifford K GlickIndiaAsiya Javayant RENEWAL
Costa T GarufiUnited KingdomBernardo Dominic NEW
Leon M GillianUnited KingdomOnyama Limba PROPOSAL
Nicolas V ShinkoFranceBernardo Dominic PROPOSAL
Silvio K KolmetzBrazilAnna Fali PROPOSAL
Greenwood F RoysterAustraliaIoni Bowcher PROPOSAL
Stacey Z PoquetteArgentinaAnna Fali QUALIFIED
Munro Y DilliardArgentinaAnna Fali NEW
Leon G DarakjyUnited KingdomAsiya Javayant NEW
Francesco G InouyeAustraliaAmy Elsner PROPOSAL
Faith E BologniaSpainIoni Bowcher NEW
Smith I KuskoJapanElwin Sharvill PROPOSAL
Munro R DilliardFranceIoni Bowcher NEGOTIATION
Cody M PoquetteSpainAmy Elsner QUALIFIED
Stacey T PerinItalyStephen Shaw NEGOTIATION
Kaitlin A PerinAustraliaOnyama Limba QUALIFIED
Juan V StockhamBrazilIvan Magalhaes NEGOTIATION
Ricardo K GlickGermanyAsiya Javayant QUALIFIED
Julie J TollnerAustraliaXuxue Feng NEW
Claire H MaletRussiaIoni Bowcher RENEWAL
Deepesh B ChuiArgentinaAsiya Javayant NEW
Jefferson T NickaBrazilIoni Bowcher RENEWAL
Murillo S FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo S CaudyArgentinaAsiya Javayant NEW
Aditya Q VenereCanadaAmy Elsner PROPOSAL
Izzy N StockhamIndiaIvan Magalhaes UNQUALIFIED
Jefferson E GauchoJapanIvan Magalhaes NEGOTIATION
Smith H MacleadCanadaAmy Elsner NEGOTIATION
Faith R KolmetzIndiaStephen Shaw QUALIFIED
Greenwood A SlusarskiArgentinaStephen Shaw QUALIFIED
Stacey J IturbideIndiaElwin Sharvill PROPOSAL
Jennifer A GarufiJapanAsiya Javayant QUALIFIED
Ricardo J MaletIndiaAsiya Javayant NEW
Greenwood O SergiIndiaAsiya Javayant NEGOTIATION
Antonio X CampainSpainOnyama Limba RENEWAL
Jennifer O KolmetzJapanAnna Fali NEW
Morrow U CaudyArgentinaAnna Fali UNQUALIFIED
Wickens O CaldareraJapanXuxue Feng UNQUALIFIED
Aditya X CaudyUnited KingdomOnyama Limba UNQUALIFIED
Mayumi R RutaItalyAmy Elsner PROPOSAL
David Z SlusarskiIndiaBernardo Dominic NEGOTIATION
Aika J IturbideRussiaIoni Bowcher RENEWAL
Aika E MaletIndiaElwin Sharvill RENEWAL
Aditya F SchemmerFranceStephen Shaw RENEWAL
Frozen Columns
Name
Faith R Amigon
Nicolas A Venere
Julie N Iturbide
Octavia T Gaucho
Johnson J Shinko
Leja I Oldroyd
Mujtaba W Ruta
Ashley Q Oldroyd
Jefferson C Bowley
Deepesh H Garufi
Morrow A Glick
Juan G Vocelka
Faith T Campain
Johnson O Glick
Costa E Marrier
Aika A Venere
Misaki S Nestle
Jones H Stockham
Aika O Ferencz
David F Gillian
Octavia Q Foller
Morrow N Chui
James A Slusarski
Arvin H Doe
Jefferson E Slusarski
Isabel U Ruta
Alejandro Q Wieser
Aika X Morasca
Tony P Tollner
Sinclair T Shinko
Smith W Iturbide
Leon G Paprocki
Julie E Ostrosky
Octavia P Gaucho
Aruna C Foller
Aika H Slusarski
Sinclair Y Gillian
Francesco H Saylors
Costa I Gillian
Isabel E Morasca
Johnson T Tollner
Leja M Morasca
Costa Y Nestle
Faith J Caudy
Francesco M Garufi
Mujtaba M Inouye
Claire I Whobrey
Salvatore T Garufi
James H Morasca
Ashley G Slusarski
IdCountryDate
1000Australia2024-06-07
1001India2024-06-14
1002Russia2024-06-07
1003Spain2024-05-22
1004United Kingdom2024-06-18
1005Germany2024-06-11
1006Japan2024-05-28
1007Spain2024-06-01
1008Canada2024-06-10
1009Canada2024-06-17
1010Canada2024-06-15
1011Brazil2024-05-23
1012Japan2024-06-09
1013United Kingdom2024-05-27
1014Japan2024-06-05
1015Argentina2024-06-06
1016Germany2024-06-06
1017France2024-06-02
1018United Kingdom2024-06-08
1019India2024-05-29
1020Canada2024-06-18
1021Canada2024-06-20
1022Australia2024-06-04
1023Russia2024-06-01
1024Japan2024-06-04
1025Germany2024-06-20
1026Brazil2024-06-04
1027Japan2024-06-08
1028Italy2024-06-08
1029France2024-06-20
1030Canada2024-06-04
1031Canada2024-06-11
1032Canada2024-06-01
1033France2024-05-30
1034France2024-06-05
1035United Kingdom2024-05-27
1036United Kingdom2024-06-03
1037Spain2024-06-20
1038Russia2024-05-27
1039Italy2024-05-30
1040India2024-05-28
1041India2024-05-31
1042Russia2024-05-23
1043Argentina2024-06-08
1044Brazil2024-06-18
1045India2024-06-03
1046Canada2024-05-27
1047Russia2024-06-16
1048Argentina2024-05-26
1049Australia2024-06-11

On-Demand Data

NameIdCountryDate
Faith N Shinko1000United Kingdom2024-06-12
Morrow E Garufi1001Japan2024-05-31
Clifford I Bowley1002Germany2024-06-02
Rodrigues N Albares1003Germany2024-06-17
Maria B Campain1004Italy2024-06-02
Faith F Inouye1005Germany2024-06-01
Juan E Darakjy1006Spain2024-06-15
Rodrigues P Stenseth1007Canada2024-06-14
Arvin E Figeroa1008Spain2024-05-29
Darci W Butt1009Brazil2024-05-23
Leja D Stenseth1010France2024-05-27
Ricardo F Poquette1011Germany2024-05-27
Kadeem G Figeroa1012Spain2024-05-26
Isabel Y Campain1013Spain2024-06-05
Wickens P Venere1014Australia2024-06-07
Jeanfrancois S Inouye1015Germany2024-06-18
Mujtaba R Butt1016India2024-05-27
Octavia H Doe1017France2024-06-15
Leja D Doe1018Australia2024-05-31
Arvin P Ostrosky1019United Kingdom2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith N KuskoFranceIoni Bowcher NEGOTIATION
Tony X SlusarskiArgentinaElwin Sharvill PROPOSAL
Emily Y VenereUnited KingdomStephen Shaw PROPOSAL
Emily Z DarakjyJapanIvan Magalhaes QUALIFIED
Aika R StensethCanadaXuxue Feng PROPOSAL
Jefferson R FerenczFranceIoni Bowcher QUALIFIED
Deepesh P NickaFranceBernardo Dominic PROPOSAL
Mayumi X InouyeBrazilAnna Fali RENEWAL
Jones U BriddickAustraliaIoni Bowcher NEW
Claire R DilliardAustraliaAnna Fali NEGOTIATION
Clifford A GillianIndiaBernardo Dominic NEW
Jennifer X DilliardItalyAmy Elsner RENEWAL
Claire F RimIndiaElwin Sharvill PROPOSAL
David L SergiSpainIoni Bowcher PROPOSAL
Deepesh K MacleadIndiaXuxue Feng UNQUALIFIED
David L NestleUnited KingdomXuxue Feng RENEWAL
Deepesh M SlusarskiJapanIoni Bowcher QUALIFIED
Aruna D GauchoGermanyBernardo Dominic UNQUALIFIED
Maisha H MarrierGermanyOnyama Limba QUALIFIED
Aruna F MaletJapanAsiya Javayant PROPOSAL
Ricardo B WieserSpainIoni Bowcher PROPOSAL
Izzy S OstroskyFranceIvan Magalhaes NEGOTIATION
Morrow O TollnerCanadaBernardo Dominic NEGOTIATION
Cody B StensethSpainIoni Bowcher PROPOSAL
Faith H OstroskyItalyOnyama Limba RENEWAL
Jennifer N MaletSpainElwin Sharvill UNQUALIFIED
Arvin Y KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin N KuskoIndiaBernardo Dominic QUALIFIED
Mujtaba R PaprockiSpainXuxue Feng UNQUALIFIED
Kaitlin E CaldareraItalyIoni Bowcher NEGOTIATION
Salvatore K GauchoRussiaStephen Shaw QUALIFIED
Nicolas U MaletRussiaAmy Elsner NEW
Aruna B GarufiBrazilBernardo Dominic QUALIFIED
David N DoeFranceXuxue Feng QUALIFIED
Murillo X MaletArgentinaElwin Sharvill QUALIFIED
Kadeem T ChuiArgentinaElwin Sharvill RENEWAL
Emily Y WhobreyAustraliaAnna Fali RENEWAL
Wickens B ChuiItalyBernardo Dominic QUALIFIED
Munro Q WaycottArgentinaAnna Fali NEGOTIATION
Julie F GarufiArgentinaIvan Magalhaes NEW

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