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
Arvin J WaycottIndiaAnna Fali NEGOTIATION
Costa M BowleyRussiaIvan Magalhaes UNQUALIFIED
Mujtaba R OldroydRussiaIvan Magalhaes UNQUALIFIED
Isabel H KolmetzArgentinaXuxue Feng NEW
Isabel C StensethCanadaIvan Magalhaes RENEWAL
Jones O SaylorsItalyAsiya Javayant NEGOTIATION
Rodrigues Z MarrierFranceAmy Elsner RENEWAL
Wickens A MorascaRussiaBernardo Dominic UNQUALIFIED
James Q CampainGermanyXuxue Feng PROPOSAL
Johnson X DoeItalyElwin Sharvill RENEWAL
Wickens X WieserFranceBernardo Dominic QUALIFIED
Darci R BologniaUnited KingdomXuxue Feng RENEWAL
Jeanfrancois F NickaArgentinaAsiya Javayant PROPOSAL
Leon Y BologniaGermanyOnyama Limba NEGOTIATION
Ashley K StensethSpainElwin Sharvill QUALIFIED
Deepesh T DoeGermanyXuxue Feng NEGOTIATION
Munro I RoysterIndiaStephen Shaw UNQUALIFIED
Ivar J ShinkoCanadaAnna Fali RENEWAL
Ashley G CaldareraCanadaIoni Bowcher NEW
Morrow N KolmetzItalyBernardo Dominic RENEWAL
Emily K DilliardBrazilIvan Magalhaes RENEWAL
Rodrigues X BologniaRussiaAmy Elsner NEW
Faith E GillianBrazilIvan Magalhaes UNQUALIFIED
Stacey J GauchoSpainBernardo Dominic QUALIFIED
James L VocelkaArgentinaIvan Magalhaes NEGOTIATION
Johnson L WieserSpainOnyama Limba RENEWAL
Aruna K AlbaresIndiaAsiya Javayant QUALIFIED
Munro P MacleadBrazilBernardo Dominic RENEWAL
Mujtaba S PoquetteIndiaElwin Sharvill NEGOTIATION
Isabel O CampainRussiaAsiya Javayant NEW
Aruna G ChuiIndiaAsiya Javayant UNQUALIFIED
Faith F NickaSpainOnyama Limba UNQUALIFIED
Greenwood B FollerGermanyIvan Magalhaes UNQUALIFIED
Murillo T SergiBrazilAnna Fali UNQUALIFIED
Aditya N AmigonGermanyAsiya Javayant NEGOTIATION
Antonio Y ShinkoFranceAsiya Javayant RENEWAL
Isabel J GarufiFranceElwin Sharvill NEGOTIATION
David W KuskoArgentinaElwin Sharvill RENEWAL
Morrow X WieserFranceOnyama Limba NEGOTIATION
Morrow B WieserSpainIvan Magalhaes NEGOTIATION
Leja K VenereRussiaAmy Elsner NEGOTIATION
Claire O SergiAustraliaIoni Bowcher UNQUALIFIED
Maisha E SergiIndiaBernardo Dominic PROPOSAL
Morrow C FerenczAustraliaStephen Shaw PROPOSAL
Chavez O FigeroaAustraliaAsiya Javayant RENEWAL
Arvin M VocelkaJapanOnyama Limba NEW
Morrow G StensethCanadaAnna Fali UNQUALIFIED
Misaki R VocelkaGermanyOnyama Limba QUALIFIED
Jeanfrancois C WaycottBrazilIoni Bowcher RENEWAL
Darci B WaycottRussiaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Aika Q StensethIndiaAsiya Javayant UNQUALIFIED
Cody K CaudyArgentinaAmy Elsner UNQUALIFIED
Smith M TollnerSpainAmy Elsner NEGOTIATION
Silvio A GarufiItalyIvan Magalhaes PROPOSAL
Kaitlin L PerinUnited KingdomAnna Fali PROPOSAL
Kaitlin F VenereBrazilIvan Magalhaes PROPOSAL
Ashley V TollnerBrazilIoni Bowcher NEGOTIATION
Claire H CaldareraSpainIoni Bowcher NEW
Juan E WhobreyIndiaOnyama Limba NEGOTIATION
Alejandro N StensethIndiaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel E GauchoSpain2024-06-22Buckley Miller Wright NEW73Bernardo Dominic
1001Silvio S DilliardArgentina2024-05-31Chanay, Jeffrey A Esq PROPOSAL41Ivan Magalhaes
1002Chavez T RimIndia2024-06-04Buckley Miller Wright RENEWAL78Amy Elsner
1003Juan Q GlickAustralia2024-06-09Chapman, Ross E Esq NEGOTIATION93Xuxue Feng
1004Julie N IturbideUnited Kingdom2024-05-26Feiner Bros QUALIFIED19Ivan Magalhaes
1005Juan A GarufiFrance2024-06-20Buckley Miller Wright NEGOTIATION18Xuxue Feng
1006Clifford T GillianRussia2024-06-15Morlong Associates PROPOSAL59Amy Elsner
1007Julie P RutaArgentina2024-06-14Chemel, James L Cpa QUALIFIED18Onyama Limba
1008Antonio N RutaArgentina2024-06-13Rangoni Of Florence NEGOTIATION74Bernardo Dominic
1009Chavez A WieserArgentina2024-06-12Feiner Bros QUALIFIED92Stephen Shaw
1010Stacey P MarrierRussia2024-05-29Rousseaux, Michael Esq UNQUALIFIED83Onyama Limba
1011Greenwood O MarrierUnited Kingdom2024-06-11Feiner Bros NEW56Bernardo Dominic
1012Emily P PerinJapan2024-06-04Printing Dimensions RENEWAL90Stephen Shaw
1013Faith M VocelkaBrazil2024-05-24Commercial Press UNQUALIFIED77Asiya Javayant
1014Faith R TollnerUnited Kingdom2024-06-21Dorl, James J Esq RENEWAL71Stephen Shaw
1015Ashley E NestleRussia2024-06-03Chanay, Jeffrey A Esq NEW65Amy Elsner
1016Jeanfrancois D OldroydFrance2024-06-07Chemel, James L Cpa UNQUALIFIED32Elwin Sharvill
1017Stacey P FigeroaSpain2024-05-27Chapman, Ross E Esq NEW7Anna Fali
1018Darci X CaldareraIndia2024-05-30Rangoni Of Florence UNQUALIFIED99Asiya Javayant
1019Alejandro V ChuiCanada2024-06-06Feiner Bros UNQUALIFIED26Ivan Magalhaes
1020Cody Q BriddickUnited Kingdom2024-06-03Dorl, James J Esq NEGOTIATION49Onyama Limba
1021Aruna D MacleadFrance2024-05-26Commercial Press RENEWAL78Onyama Limba
1022Smith I ButtFrance2024-05-28Truhlar And Truhlar Attys NEW1Anna Fali
1023Jennifer P PaprockiFrance2024-05-25Commercial Press NEGOTIATION72Xuxue Feng
1024Antonio Z BologniaFrance2024-06-06Rangoni Of Florence RENEWAL49Anna Fali
1025Ivar Z PerinItaly2024-06-19Chapman, Ross E Esq PROPOSAL79Bernardo Dominic
1026Chavez T NickaFrance2024-05-28King, Christopher A Esq UNQUALIFIED49Ivan Magalhaes
1027Munro H GauchoAustralia2024-06-07Feiner Bros QUALIFIED24Elwin Sharvill
1028Costa R GillianUnited Kingdom2024-06-11Chemel, James L Cpa RENEWAL71Ioni Bowcher
1029Wickens N SlusarskiArgentina2024-05-27Rousseaux, Michael Esq RENEWAL65Elwin Sharvill
1030Jones Y KolmetzItaly2024-06-21Feltz Printing Service QUALIFIED22Bernardo Dominic
1031Faith G AmigonAustralia2024-06-06Buckley Miller Wright NEW14Xuxue Feng
1032Emily F CampainRussia2024-06-20Chemel, James L Cpa PROPOSAL97Elwin Sharvill
1033Darci E SlusarskiArgentina2024-06-04King, Christopher A Esq UNQUALIFIED33Amy Elsner
1034Juan T NickaRussia2024-06-20Morlong Associates NEGOTIATION47Anna Fali
1035Maria X CaudyIndia2024-06-07Buckley Miller Wright PROPOSAL85Asiya Javayant
1036Maria O RutaItaly2024-05-31Morlong Associates NEW54Onyama Limba
1037Claire B OldroydUnited Kingdom2024-06-20King, Christopher A Esq QUALIFIED22Bernardo Dominic
1038Tony O IturbideArgentina2024-06-09Benton, John B Jr NEW13Ioni Bowcher
1039Arvin F MorascaGermany2024-06-21Commercial Press RENEWAL78Stephen Shaw
1040Aika F FollerCanada2024-06-20Rousseaux, Michael Esq NEGOTIATION62Anna Fali
1041Ivar F NickaIndia2024-06-01Benton, John B Jr UNQUALIFIED50Onyama Limba
1042Julie Y NickaUnited Kingdom2024-06-04Buckley Miller Wright QUALIFIED10Onyama Limba
1043Deepesh S CaudyAustralia2024-06-15Rangoni Of Florence QUALIFIED94Ivan Magalhaes
1044Greenwood U StockhamIndia2024-05-25Morlong Associates UNQUALIFIED95Bernardo Dominic
1045Wickens Z PerinUnited Kingdom2024-06-19Chapman, Ross E Esq PROPOSAL81Stephen Shaw
1046Faith K ChuiAustralia2024-06-22Buckley Miller Wright RENEWAL44Xuxue Feng
1047Greenwood X AmigonIndia2024-05-29Feltz Printing Service UNQUALIFIED66Bernardo Dominic
1048Morrow Q FerenczSpain2024-06-17Rousseaux, Michael Esq NEGOTIATION2Ivan Magalhaes
1049Emily E PerinGermany2024-05-27Dorl, James J Esq UNQUALIFIED60Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Silvio L WhobreyIndiaOnyama Limba NEW
Silvio U KuskoJapanIoni Bowcher PROPOSAL
Sinclair M AmigonSpainBernardo Dominic UNQUALIFIED
Murillo P WieserJapanIvan Magalhaes QUALIFIED
Aruna X CampainRussiaElwin Sharvill PROPOSAL
Johnson W GlickSpainIvan Magalhaes PROPOSAL
Mayumi K NestleUnited KingdomAmy Elsner NEGOTIATION
Antonio B SlusarskiSpainIvan Magalhaes NEGOTIATION
Leja P BologniaArgentinaXuxue Feng QUALIFIED
Ashley M FollerGermanyXuxue Feng RENEWAL
Leon R KuskoIndiaAsiya Javayant NEW
Izzy X CaldareraItalyAmy Elsner PROPOSAL
Costa S PoquetteArgentinaStephen Shaw NEGOTIATION
Munro J AmigonFranceXuxue Feng UNQUALIFIED
Leon M GauchoUnited KingdomIvan Magalhaes QUALIFIED
Faith L NestleJapanIoni Bowcher RENEWAL
Sinclair L MarrierArgentinaIvan Magalhaes QUALIFIED
Jennifer H MaletArgentinaAsiya Javayant NEGOTIATION
Cody T RutaRussiaAmy Elsner UNQUALIFIED
Leon N MaletJapanIoni Bowcher NEW
Isabel R RutaCanadaAmy Elsner QUALIFIED
Aruna L AmigonBrazilIoni Bowcher PROPOSAL
Chavez D BowleySpainElwin Sharvill NEGOTIATION
Nicolas C GlickCanadaIoni Bowcher UNQUALIFIED
Claire T PaprockiJapanAmy Elsner QUALIFIED
Greenwood C CampainAustraliaIoni Bowcher NEW
Munro H DoeArgentinaStephen Shaw QUALIFIED
Arvin M OstroskySpainIoni Bowcher RENEWAL
Chavez D GlickRussiaAmy Elsner UNQUALIFIED
Leja N VocelkaAustraliaStephen Shaw PROPOSAL
Ivar Y GarufiItalyBernardo Dominic NEW
Misaki L PoquetteFranceElwin Sharvill NEGOTIATION
Isabel X BriddickRussiaXuxue Feng UNQUALIFIED
Faith V AmigonArgentinaAnna Fali PROPOSAL
Greenwood P WieserGermanyXuxue Feng NEGOTIATION
David C KolmetzAustraliaAnna Fali NEGOTIATION
Munro F GauchoArgentinaAsiya Javayant QUALIFIED
Salvatore A SchemmerAustraliaOnyama Limba UNQUALIFIED
Alejandro Z MaletGermanyAsiya Javayant UNQUALIFIED
Chavez I FigeroaSpainBernardo Dominic NEGOTIATION
Claire S MaletFranceIoni Bowcher UNQUALIFIED
Francesco E DilliardRussiaIvan Magalhaes NEW
Emily Y CaudyItalyOnyama Limba NEGOTIATION
Alejandro A StensethGermanyOnyama Limba UNQUALIFIED
Jennifer O WaycottSpainAmy Elsner QUALIFIED
Sinclair W RimItalyAmy Elsner PROPOSAL
Emily B SlusarskiFranceAnna Fali RENEWAL
Julie I NickaAustraliaAnna Fali RENEWAL
Adams A ButtAustraliaAnna Fali NEW
Murillo Q BologniaJapanOnyama Limba NEGOTIATION
Frozen Columns
Name
Maria L Saylors
Jennifer C Slusarski
Sinclair I Malet
Jeanfrancois J Rulapaugh
Claire H Campain
Izzy N Shinko
Salvatore Y Inouye
Murillo C Oldroyd
David G Ruta
Munro S Perin
Octavia G Shinko
Isabel N Dilliard
Arvin G Sergi
Mayumi M Nicka
Aika U Briddick
Octavia M Dilliard
Murillo S Dilliard
Leja A Garufi
Smith U Dilliard
Francesco W Rulapaugh
Jennifer L Chui
Francesco O Nestle
Emily X Chui
Octavia T Royster
Francesco H Ostrosky
Ashley K Butt
Aditya W Slusarski
Faith V Schemmer
Izzy Y Wieser
Ricardo R Vocelka
Silvio C Maclead
Nicolas G Stenseth
James G Schemmer
Cody N Schemmer
Kaitlin S Chui
Aika P Stenseth
Maisha D Slusarski
Sinclair E Dilliard
Wickens B Vocelka
Ivar P Caudy
Izzy H Foller
Salvatore A Kolmetz
Cody S Morasca
Adams I Slusarski
Deepesh D Ferencz
Clifford E Perin
James B Waycott
Clifford H Sergi
Chavez O Nicka
Greenwood P Morasca
IdCountryDate
1000Germany2024-06-08
1001Brazil2024-06-22
1002United Kingdom2024-06-01
1003Japan2024-06-13
1004France2024-06-11
1005Spain2024-06-19
1006Italy2024-06-08
1007Australia2024-06-17
1008Spain2024-06-08
1009Australia2024-06-11
1010India2024-06-13
1011Australia2024-06-22
1012Japan2024-06-22
1013United Kingdom2024-06-08
1014Brazil2024-06-06
1015Germany2024-06-04
1016Russia2024-06-16
1017Argentina2024-05-31
1018United Kingdom2024-05-24
1019Russia2024-06-19
1020France2024-06-07
1021India2024-06-07
1022Japan2024-05-26
1023France2024-05-31
1024United Kingdom2024-05-25
1025Australia2024-06-06
1026Brazil2024-06-04
1027Spain2024-06-16
1028Spain2024-06-15
1029Italy2024-06-19
1030Japan2024-06-13
1031India2024-05-25
1032Australia2024-06-11
1033Canada2024-06-09
1034India2024-06-12
1035Brazil2024-05-28
1036Italy2024-06-02
1037United Kingdom2024-06-01
1038Brazil2024-06-21
1039France2024-05-29
1040Japan2024-06-06
1041India2024-06-07
1042Spain2024-06-13
1043France2024-06-04
1044Germany2024-05-28
1045Russia2024-05-24
1046Spain2024-06-14
1047Canada2024-05-27
1048Canada2024-06-17
1049United Kingdom2024-06-07

On-Demand Data

NameIdCountryDate
Darci K Ferencz1000Australia2024-06-17
Ivar A Stockham1001United Kingdom2024-06-17
Darci A Whobrey1002India2024-06-08
Salvatore Y Venere1003Argentina2024-06-22
Ashley B Bolognia1004France2024-06-06
Johnson F Oldroyd1005Spain2024-06-08
Faith R Darakjy1006India2024-06-14
Leja W Inouye1007Canada2024-06-08
Deepesh E Campain1008Argentina2024-05-26
Ivar R Venere1009India2024-06-19
Jeanfrancois C Vocelka1010Spain2024-05-28
Aruna U Caldarera1011Australia2024-05-26
Johnson O Gaucho1012Argentina2024-06-21
Jeanfrancois K Marrier1013Spain2024-06-09
Francesco W Chui1014India2024-05-25
Alejandro N Caldarera1015Argentina2024-05-31
Rodrigues Z Campain1016India2024-05-27
Ivar Y Doe1017Argentina2024-06-21
Ashley S Ostrosky1018Canada2024-06-19
Izzy F Albares1019Japan2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer N RoysterSpainAmy Elsner QUALIFIED
Kaitlin M GillianSpainAnna Fali QUALIFIED
Silvio O FigeroaBrazilIoni Bowcher QUALIFIED
Ashley S MorascaBrazilXuxue Feng QUALIFIED
Faith U GauchoGermanyIoni Bowcher RENEWAL
Aruna W FigeroaAustraliaBernardo Dominic UNQUALIFIED
Jones H AmigonRussiaOnyama Limba PROPOSAL
Mayumi A StockhamCanadaAnna Fali NEW
Deepesh Z DilliardSpainIvan Magalhaes PROPOSAL
Aruna W StockhamItalyStephen Shaw UNQUALIFIED
Alejandro J GlickGermanyIvan Magalhaes PROPOSAL
Johnson Z RulapaughIndiaAsiya Javayant QUALIFIED
Chavez E InouyeAustraliaAmy Elsner QUALIFIED
Claire E GarufiRussiaElwin Sharvill QUALIFIED
Juan U WhobreyGermanyElwin Sharvill NEW
Leon A MacleadRussiaIvan Magalhaes PROPOSAL
Deepesh H MaletUnited KingdomAnna Fali PROPOSAL
David Q RimIndiaAsiya Javayant RENEWAL
Arvin X GauchoItalyAsiya Javayant QUALIFIED
Mujtaba R FigeroaBrazilAsiya Javayant RENEWAL
Nicolas P StockhamGermanyAnna Fali QUALIFIED
Claire Z RulapaughGermanyXuxue Feng UNQUALIFIED
Kadeem A CaldareraCanadaIvan Magalhaes NEGOTIATION
Jones D SlusarskiGermanyXuxue Feng NEW
Jones K MaletIndiaAnna Fali UNQUALIFIED
Faith C MorascaRussiaAnna Fali QUALIFIED
Leja N DarakjyCanadaBernardo Dominic QUALIFIED
Leja N FigeroaSpainOnyama Limba NEW
Francesco X CaldareraArgentinaOnyama Limba NEGOTIATION
Stacey N FerenczArgentinaIvan Magalhaes UNQUALIFIED
Aika L SaylorsCanadaBernardo Dominic QUALIFIED
Octavia N SlusarskiArgentinaIvan Magalhaes UNQUALIFIED
Salvatore W KolmetzBrazilStephen Shaw NEW
Ashley E GlickArgentinaXuxue Feng QUALIFIED
Cody O FollerSpainAsiya Javayant NEW
Wickens O StockhamBrazilBernardo Dominic NEW
Silvio Y BriddickRussiaIoni Bowcher NEGOTIATION
Deepesh U IturbideJapanBernardo Dominic QUALIFIED
Stacey G RimCanadaBernardo Dominic QUALIFIED
Antonio B ShinkoJapanIoni Bowcher 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>