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
Clifford J ChuiRussiaAsiya Javayant NEGOTIATION
Antonio O KolmetzUnited KingdomIoni Bowcher QUALIFIED
Chavez G NestleAustraliaElwin Sharvill PROPOSAL
Jennifer O CaldareraCanadaAnna Fali RENEWAL
Clifford Q FigeroaSpainXuxue Feng UNQUALIFIED
Murillo P MaletItalyStephen Shaw QUALIFIED
Isabel G DilliardSpainAmy Elsner UNQUALIFIED
Chavez Q MorascaArgentinaIoni Bowcher PROPOSAL
Alejandro X PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Aika K ChuiItalyAmy Elsner RENEWAL
Cody Z AmigonFranceIvan Magalhaes PROPOSAL
Izzy U MaletArgentinaIoni Bowcher NEGOTIATION
Leja E StockhamBrazilIvan Magalhaes RENEWAL
Arvin K RimArgentinaAsiya Javayant NEW
Leon V FlosiRussiaAnna Fali QUALIFIED
Morrow B WaycottRussiaBernardo Dominic PROPOSAL
Emily Q MorascaJapanAsiya Javayant NEGOTIATION
Misaki S DarakjyRussiaElwin Sharvill RENEWAL
Jones Z SlusarskiUnited KingdomIvan Magalhaes PROPOSAL
Clifford B GarufiFranceXuxue Feng RENEWAL
Mujtaba W CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Stacey T GauchoRussiaIvan Magalhaes NEGOTIATION
Chavez T AlbaresJapanIoni Bowcher PROPOSAL
Jeanfrancois D StensethFranceAnna Fali PROPOSAL
Ricardo A MorascaCanadaAsiya Javayant RENEWAL
Greenwood Y MaletSpainIvan Magalhaes PROPOSAL
Kaitlin Z SlusarskiItalyElwin Sharvill RENEWAL
Antonio I GauchoJapanIvan Magalhaes UNQUALIFIED
Nicolas B DilliardRussiaIoni Bowcher UNQUALIFIED
Julie Z DoeItalyIoni Bowcher NEGOTIATION
Costa O ShinkoBrazilElwin Sharvill NEGOTIATION
Jefferson X VenereGermanyIoni Bowcher PROPOSAL
Cody D NestleRussiaStephen Shaw UNQUALIFIED
David V ChuiSpainIvan Magalhaes QUALIFIED
Ricardo J DilliardIndiaStephen Shaw PROPOSAL
Octavia K SaylorsUnited KingdomAnna Fali RENEWAL
Murillo B RoysterFranceIoni Bowcher PROPOSAL
Ashley S GlickUnited KingdomOnyama Limba UNQUALIFIED
Maisha L DoeJapanElwin Sharvill NEGOTIATION
Rodrigues U NestleGermanyAmy Elsner RENEWAL
Alejandro H RulapaughItalyIvan Magalhaes RENEWAL
Kaitlin D OstroskyFranceOnyama Limba QUALIFIED
Maria K DoeUnited KingdomAmy Elsner UNQUALIFIED
Nicolas H CampainIndiaAnna Fali PROPOSAL
Clifford Y RimBrazilAnna Fali QUALIFIED
Tony I TollnerUnited KingdomOnyama Limba PROPOSAL
Smith L NickaIndiaElwin Sharvill NEW
Juan D KolmetzRussiaElwin Sharvill NEGOTIATION
Rodrigues A SchemmerAustraliaAsiya Javayant NEW
Alejandro O GauchoCanadaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson T VocelkaJapanIoni Bowcher NEGOTIATION
Deepesh N OldroydBrazilIvan Magalhaes QUALIFIED
Nicolas I BologniaRussiaElwin Sharvill UNQUALIFIED
Chavez M MarrierJapanBernardo Dominic NEW
Antonio W RutaFranceXuxue Feng PROPOSAL
Munro D DarakjyJapanAnna Fali RENEWAL
Salvatore R FlosiGermanyOnyama Limba PROPOSAL
Aruna U MorascaGermanyOnyama Limba QUALIFIED
Jeanfrancois J InouyeFranceAmy Elsner UNQUALIFIED
Aditya L ChuiItalyOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily B WhobreyCanada2024-05-22Buckley Miller Wright NEW29Anna Fali
1001Octavia U FlosiJapan2024-05-25Rangoni Of Florence UNQUALIFIED81Asiya Javayant
1002Ivar E GillianFrance2024-05-20Rangoni Of Florence PROPOSAL10Ioni Bowcher
1003Kaitlin K WieserRussia2024-06-02Buckley Miller Wright NEW14Elwin Sharvill
1004Julie A GarufiAustralia2024-06-05Benton, John B Jr PROPOSAL14Onyama Limba
1005Faith A OstroskyGermany2024-05-27Printing Dimensions PROPOSAL82Elwin Sharvill
1006Adams N RutaBrazil2024-05-28Benton, John B Jr PROPOSAL24Ioni Bowcher
1007Sinclair E ButtJapan2024-05-26Morlong Associates UNQUALIFIED3Onyama Limba
1008Salvatore A NickaArgentina2024-05-22Dorl, James J Esq NEGOTIATION18Stephen Shaw
1009Julie P AmigonSpain2024-06-07Feiner Bros UNQUALIFIED34Amy Elsner
1010Izzy E RimAustralia2024-05-24Dorl, James J Esq NEW17Asiya Javayant
1011James E OstroskyFrance2024-06-13Feiner Bros UNQUALIFIED25Ivan Magalhaes
1012Murillo S MaletJapan2024-06-14Commercial Press PROPOSAL17Asiya Javayant
1013Rodrigues H FlosiJapan2024-06-16Benton, John B Jr UNQUALIFIED30Xuxue Feng
1014Aditya C BriddickGermany2024-06-01Chapman, Ross E Esq UNQUALIFIED23Ioni Bowcher
1015Mayumi C ButtCanada2024-05-23King, Christopher A Esq NEGOTIATION91Ivan Magalhaes
1016Jennifer P GlickAustralia2024-06-16Printing Dimensions RENEWAL92Stephen Shaw
1017Mujtaba O DoeAustralia2024-05-31Chanay, Jeffrey A Esq UNQUALIFIED1Asiya Javayant
1018Chavez K RutaIndia2024-06-13Chapman, Ross E Esq QUALIFIED36Bernardo Dominic
1019Greenwood N FerenczRussia2024-05-30Printing Dimensions UNQUALIFIED76Amy Elsner
1020Darci H OstroskyRussia2024-06-13Chapman, Ross E Esq NEGOTIATION45Xuxue Feng
1021Kadeem P SergiAustralia2024-06-12Morlong Associates NEW90Elwin Sharvill
1022Francesco T SergiItaly2024-05-24Rangoni Of Florence UNQUALIFIED53Anna Fali
1023Stacey J MacleadGermany2024-06-14Chemel, James L Cpa NEW92Ivan Magalhaes
1024David X PerinAustralia2024-05-26Buckley Miller Wright NEW8Onyama Limba
1025Ashley B NestleItaly2024-06-16Morlong Associates QUALIFIED62Stephen Shaw
1026Jeanfrancois W GarufiItaly2024-06-11Chapman, Ross E Esq QUALIFIED10Amy Elsner
1027Aditya G MarrierUnited Kingdom2024-05-28Rousseaux, Michael Esq PROPOSAL93Xuxue Feng
1028Claire H GillianGermany2024-06-04Truhlar And Truhlar Attys UNQUALIFIED40Stephen Shaw
1029Smith K FollerArgentina2024-06-02Benton, John B Jr UNQUALIFIED84Amy Elsner
1030Arvin N OldroydItaly2024-05-29Chanay, Jeffrey A Esq RENEWAL30Asiya Javayant
1031Jones G FigeroaJapan2024-06-09Feltz Printing Service PROPOSAL4Bernardo Dominic
1032Nicolas V KolmetzItaly2024-06-03Commercial Press PROPOSAL71Elwin Sharvill
1033Silvio F FerenczAustralia2024-06-16Rousseaux, Michael Esq NEGOTIATION87Ioni Bowcher
1034Ivar H VocelkaItaly2024-05-21Chanay, Jeffrey A Esq NEW40Onyama Limba
1035Munro F MorascaItaly2024-06-11Buckley Miller Wright QUALIFIED29Asiya Javayant
1036Chavez A StensethIndia2024-06-10Buckley Miller Wright QUALIFIED96Asiya Javayant
1037Misaki G VenereBrazil2024-06-10Buckley Miller Wright QUALIFIED11Stephen Shaw
1038Antonio M RimBrazil2024-05-30Printing Dimensions PROPOSAL78Asiya Javayant
1039Murillo M GarufiSpain2024-05-23Dorl, James J Esq NEGOTIATION63Xuxue Feng
1040Arvin K ChuiFrance2024-06-03Morlong Associates QUALIFIED88Asiya Javayant
1041Maisha T GillianIndia2024-06-15Truhlar And Truhlar Attys QUALIFIED0Stephen Shaw
1042Misaki P SaylorsSpain2024-06-01Commercial Press QUALIFIED37Bernardo Dominic
1043Tony A BologniaSpain2024-05-25Benton, John B Jr QUALIFIED5Elwin Sharvill
1044Arvin H AlbaresFrance2024-05-21Truhlar And Truhlar Attys PROPOSAL71Amy Elsner
1045Stacey U OldroydGermany2024-06-16Rousseaux, Michael Esq RENEWAL14Elwin Sharvill
1046Maria S VocelkaBrazil2024-06-01Commercial Press QUALIFIED42Anna Fali
1047Nicolas E IturbideIndia2024-05-24Chemel, James L Cpa PROPOSAL9Xuxue Feng
1048Isabel G FerenczUnited Kingdom2024-06-02Buckley Miller Wright UNQUALIFIED76Ivan Magalhaes
1049Alejandro R VocelkaArgentina2024-06-14Dorl, James J Esq NEW66Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Smith H FlosiSpainBernardo Dominic PROPOSAL
Jennifer G GillianFranceAnna Fali QUALIFIED
Jones E NestleRussiaIoni Bowcher UNQUALIFIED
Chavez L DilliardItalyXuxue Feng PROPOSAL
Silvio G FollerRussiaStephen Shaw UNQUALIFIED
Deepesh P CaudyFranceStephen Shaw NEW
Claire P SaylorsCanadaIvan Magalhaes UNQUALIFIED
Smith E FollerGermanyXuxue Feng NEW
Jeanfrancois A RimJapanElwin Sharvill RENEWAL
Darci T CampainItalyAnna Fali PROPOSAL
Alejandro O GillianCanadaAsiya Javayant UNQUALIFIED
Octavia R NestleUnited KingdomIvan Magalhaes QUALIFIED
Faith X MaletUnited KingdomAmy Elsner RENEWAL
Faith S BologniaBrazilIoni Bowcher QUALIFIED
James J ChuiItalyIvan Magalhaes QUALIFIED
Mayumi S KolmetzIndiaAsiya Javayant NEGOTIATION
Isabel Y ShinkoItalyAmy Elsner RENEWAL
Ricardo D NestleBrazilIoni Bowcher QUALIFIED
Nicolas E DoeUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues T SergiJapanOnyama Limba QUALIFIED
Antonio O BriddickBrazilBernardo Dominic NEW
Kaitlin H DarakjyGermanyAmy Elsner QUALIFIED
Jones Q NestleItalyIvan Magalhaes PROPOSAL
Silvio G StensethCanadaXuxue Feng RENEWAL
Silvio P CaldareraSpainElwin Sharvill PROPOSAL
Maria J RoysterCanadaElwin Sharvill NEW
Cody G ButtBrazilXuxue Feng UNQUALIFIED
Chavez N WieserBrazilIvan Magalhaes PROPOSAL
Kaitlin V FigeroaArgentinaElwin Sharvill NEW
Claire S MaletItalyIvan Magalhaes PROPOSAL
Adams R PaprockiBrazilIoni Bowcher NEGOTIATION
David H StockhamBrazilAnna Fali PROPOSAL
Misaki M DarakjySpainIoni Bowcher NEGOTIATION
Jennifer I FlosiArgentinaBernardo Dominic RENEWAL
Smith W KolmetzCanadaAnna Fali NEGOTIATION
Leja F RutaRussiaElwin Sharvill NEW
Jeanfrancois Z ButtSpainBernardo Dominic UNQUALIFIED
Jennifer G RimIndiaOnyama Limba QUALIFIED
Alejandro C MaletItalyStephen Shaw UNQUALIFIED
Tony X TollnerUnited KingdomAsiya Javayant QUALIFIED
Jefferson O BriddickIndiaAsiya Javayant PROPOSAL
Costa V StockhamIndiaOnyama Limba NEW
Claire O BriddickUnited KingdomXuxue Feng RENEWAL
Octavia D PoquetteArgentinaBernardo Dominic PROPOSAL
Morrow W KolmetzItalyAsiya Javayant QUALIFIED
Tony C FollerFranceElwin Sharvill RENEWAL
Leon D KolmetzIndiaStephen Shaw NEW
Jeanfrancois T FerenczFranceStephen Shaw NEGOTIATION
Arvin Q CaldareraUnited KingdomXuxue Feng NEW
Claire Z FerenczGermanyAsiya Javayant NEGOTIATION
Frozen Columns
Name
Salvatore M Campain
Ivar A Inouye
Isabel L Sergi
Rodrigues P Wieser
Murillo D Royster
Sinclair J Paprocki
Ashley V Schemmer
Claire H Morasca
Tony G Wieser
Jeanfrancois W Malet
Leon U Saylors
Arvin D Bowley
Aika C Wieser
Nicolas G Whobrey
David K Iturbide
Smith K Nestle
Jeanfrancois G Glick
Deepesh Y Ostrosky
Murillo P Ostrosky
Stacey I Caudy
Adams H Nestle
Aruna X Nicka
Maisha L Albares
Kaitlin I Gaucho
Kaitlin Q Dilliard
Tony I Perin
Antonio U Iturbide
Antonio H Rim
Alejandro R Bolognia
Adams A Shinko
Sinclair N Morasca
Cody R Bolognia
Antonio A Oldroyd
Misaki P Malet
Stacey B Ruta
Arvin S Briddick
Leja K Nestle
Alejandro T Slusarski
Aditya Y Rim
Leon R Poquette
Darci M Wieser
Greenwood O Darakjy
Mayumi G Albares
Aika I Slusarski
Octavia W Marrier
Maisha B Malet
Costa W Vocelka
Claire X Briddick
Faith F Amigon
Jones Z Vocelka
IdCountryDate
1000Germany2024-06-17
1001United Kingdom2024-05-22
1002United Kingdom2024-06-08
1003Canada2024-05-25
1004Australia2024-06-18
1005Germany2024-05-26
1006France2024-06-03
1007India2024-05-24
1008Brazil2024-06-17
1009Brazil2024-05-28
1010United Kingdom2024-06-15
1011Germany2024-05-29
1012Russia2024-06-10
1013Japan2024-06-09
1014United Kingdom2024-06-12
1015India2024-05-20
1016Brazil2024-06-11
1017Japan2024-06-12
1018Germany2024-06-06
1019Japan2024-05-29
1020France2024-06-14
1021Canada2024-06-14
1022Italy2024-05-23
1023United Kingdom2024-05-27
1024Spain2024-05-25
1025Canada2024-06-10
1026Germany2024-06-10
1027India2024-06-13
1028Spain2024-06-01
1029Spain2024-05-24
1030Germany2024-06-10
1031Russia2024-05-27
1032India2024-06-07
1033Australia2024-06-07
1034Canada2024-06-17
1035Brazil2024-05-27
1036Russia2024-05-24
1037Argentina2024-05-25
1038France2024-06-08
1039Japan2024-05-26
1040France2024-06-14
1041Japan2024-06-04
1042United Kingdom2024-06-05
1043Spain2024-06-09
1044Japan2024-06-18
1045Russia2024-06-04
1046Spain2024-06-10
1047United Kingdom2024-06-18
1048Japan2024-05-28
1049United Kingdom2024-05-23

On-Demand Data

NameIdCountryDate
Misaki J Sergi1000Canada2024-06-04
Jefferson I Campain1001Canada2024-05-23
Morrow T Malet1002United Kingdom2024-06-04
Izzy X Wieser1003Brazil2024-05-29
Kadeem V Oldroyd1004Spain2024-05-22
David I Bolognia1005Germany2024-06-09
David J Butt1006Germany2024-05-20
Jennifer K Tollner1007Japan2024-06-07
Maria A Schemmer1008Italy2024-06-10
Wickens V Kusko1009United Kingdom2024-06-17
Kadeem V Doe1010United Kingdom2024-05-30
Ivar P Dilliard1011Canada2024-06-01
Isabel Y Butt1012Russia2024-06-13
Leon U Malet1013Argentina2024-05-26
Costa M Morasca1014India2024-06-03
Leja X Nestle1015Japan2024-05-29
Aruna O Perin1016Argentina2024-06-13
Maria J Kolmetz1017United Kingdom2024-05-30
Maria T Poquette1018India2024-06-12
David N Gaucho1019Brazil2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh W RutaGermanyAmy Elsner NEGOTIATION
Leja S ShinkoFranceXuxue Feng UNQUALIFIED
Octavia I FollerGermanyAnna Fali NEGOTIATION
Maisha X StockhamJapanOnyama Limba PROPOSAL
Antonio V MarrierBrazilStephen Shaw RENEWAL
Jefferson J NestleCanadaStephen Shaw QUALIFIED
Ivar Y WhobreyFranceAnna Fali UNQUALIFIED
Leja C DarakjyArgentinaOnyama Limba UNQUALIFIED
Leon V MaletRussiaOnyama Limba QUALIFIED
Tony D SchemmerCanadaAnna Fali RENEWAL
Kaitlin F SchemmerJapanXuxue Feng QUALIFIED
Silvio U MaletFranceIoni Bowcher NEGOTIATION
Aika O PaprockiCanadaAmy Elsner PROPOSAL
Sinclair D FollerFranceIvan Magalhaes NEW
Jennifer W TollnerAustraliaAmy Elsner UNQUALIFIED
Morrow A RutaSpainAmy Elsner NEW
Leja N SergiJapanXuxue Feng UNQUALIFIED
David T SergiFranceIvan Magalhaes NEGOTIATION
Rodrigues Y VocelkaRussiaBernardo Dominic NEW
Misaki K StensethIndiaIvan Magalhaes QUALIFIED
Maria K PaprockiFranceAmy Elsner NEGOTIATION
Misaki J SchemmerArgentinaBernardo Dominic RENEWAL
Arvin K NickaBrazilBernardo Dominic PROPOSAL
Smith W InouyeItalyIvan Magalhaes NEGOTIATION
Deepesh E RimBrazilOnyama Limba UNQUALIFIED
Mayumi N ButtBrazilElwin Sharvill QUALIFIED
Smith A OldroydFranceAsiya Javayant RENEWAL
Chavez Z PoquetteItalyAnna Fali NEGOTIATION
Ashley O BowleyCanadaStephen Shaw QUALIFIED
Francesco R SlusarskiAustraliaElwin Sharvill NEGOTIATION
Rodrigues F WhobreyFranceIvan Magalhaes RENEWAL
Maria R GlickGermanyAsiya Javayant NEGOTIATION
Aika T BriddickAustraliaIoni Bowcher PROPOSAL
Murillo O DoeFranceXuxue Feng NEW
Aika X DarakjyBrazilIoni Bowcher RENEWAL
David W BowleyFranceXuxue Feng RENEWAL
Silvio C ShinkoIndiaOnyama Limba NEW
Leja S MaletCanadaOnyama Limba PROPOSAL
Clifford B SlusarskiBrazilAsiya Javayant PROPOSAL
Jennifer Q PaprockiBrazilXuxue 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>