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
Leja Z WhobreyBrazilAnna Fali RENEWAL
Murillo A AlbaresBrazilIoni Bowcher PROPOSAL
Ricardo S NickaItalyAsiya Javayant PROPOSAL
Jeanfrancois L FollerFranceOnyama Limba RENEWAL
David S IturbideCanadaAmy Elsner QUALIFIED
Francesco Y SaylorsGermanyXuxue Feng QUALIFIED
Silvio D FollerBrazilAsiya Javayant NEGOTIATION
Deepesh Q RulapaughIndiaIoni Bowcher RENEWAL
Francesco D IturbideGermanyAsiya Javayant NEW
Kadeem Q WieserArgentinaXuxue Feng QUALIFIED
Stacey Q SaylorsItalyIvan Magalhaes NEGOTIATION
Leon A FigeroaCanadaIoni Bowcher QUALIFIED
Maria T NickaIndiaAsiya Javayant NEW
Jones M RutaUnited KingdomXuxue Feng QUALIFIED
Greenwood L VocelkaArgentinaAmy Elsner NEGOTIATION
Juan J StensethGermanyElwin Sharvill UNQUALIFIED
Cody G RimJapanBernardo Dominic QUALIFIED
Ashley Y BriddickRussiaAnna Fali PROPOSAL
Francesco J MorascaAustraliaBernardo Dominic NEGOTIATION
Chavez O OldroydRussiaElwin Sharvill NEW
Jefferson H SlusarskiCanadaAnna Fali RENEWAL
Stacey J PoquetteItalyXuxue Feng UNQUALIFIED
Darci O GillianRussiaStephen Shaw NEW
Ivar A DarakjyArgentinaBernardo Dominic PROPOSAL
Claire W GlickFranceIoni Bowcher RENEWAL
Silvio V MarrierGermanyOnyama Limba UNQUALIFIED
Cody N MacleadAustraliaAsiya Javayant QUALIFIED
James W FollerFranceOnyama Limba QUALIFIED
Nicolas I CaldareraUnited KingdomXuxue Feng NEW
Maisha U StockhamSpainAnna Fali QUALIFIED
Mayumi S GarufiItalyElwin Sharvill RENEWAL
Sinclair L RoysterBrazilAsiya Javayant PROPOSAL
Octavia X PaprockiUnited KingdomAsiya Javayant UNQUALIFIED
Chavez D DilliardJapanStephen Shaw NEGOTIATION
Jones S VocelkaJapanOnyama Limba NEW
Alejandro O SaylorsGermanyOnyama Limba NEW
Costa N CaudyItalyAsiya Javayant NEW
Smith E SlusarskiSpainAmy Elsner NEW
Stacey E FerenczItalyOnyama Limba NEGOTIATION
Francesco Y OldroydUnited KingdomOnyama Limba NEGOTIATION
James B GillianFranceAmy Elsner NEGOTIATION
Emily G MaletAustraliaAsiya Javayant NEW
Aruna V PoquetteArgentinaAmy Elsner UNQUALIFIED
Ashley P FlosiUnited KingdomOnyama Limba NEGOTIATION
Octavia J WaycottItalyAmy Elsner UNQUALIFIED
Misaki B FerenczBrazilOnyama Limba QUALIFIED
Maisha Y FerenczRussiaIoni Bowcher NEW
Francesco B PoquetteFranceXuxue Feng UNQUALIFIED
Isabel O FollerAustraliaIvan Magalhaes NEW
Antonio K KolmetzItalyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones Y RulapaughJapanAsiya Javayant QUALIFIED
Greenwood C StensethArgentinaAnna Fali UNQUALIFIED
Jeanfrancois C WhobreyUnited KingdomAnna Fali NEW
Morrow R FigeroaAustraliaAmy Elsner PROPOSAL
Julie A ShinkoBrazilIvan Magalhaes NEW
Isabel M DarakjyRussiaOnyama Limba UNQUALIFIED
Misaki Q CampainIndiaOnyama Limba UNQUALIFIED
Aditya U IturbideSpainIvan Magalhaes QUALIFIED
Antonio W RoysterJapanElwin Sharvill NEGOTIATION
Wickens F VenereRussiaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David Z DilliardUnited Kingdom2024-06-16Commercial Press QUALIFIED98Anna Fali
1001Isabel I MaletBrazil2024-05-23Commercial Press NEW29Asiya Javayant
1002Leon G RulapaughGermany2024-05-25Truhlar And Truhlar Attys PROPOSAL59Onyama Limba
1003Jennifer F WieserBrazil2024-05-29Chapman, Ross E Esq NEGOTIATION77Asiya Javayant
1004Aruna E WhobreyJapan2024-06-01Benton, John B Jr QUALIFIED20Elwin Sharvill
1005Mujtaba K SaylorsArgentina2024-06-05Feiner Bros NEW41Asiya Javayant
1006Isabel C RoysterIndia2024-05-29Rangoni Of Florence RENEWAL89Anna Fali
1007Stacey O KuskoGermany2024-06-05Printing Dimensions NEGOTIATION16Amy Elsner
1008Misaki E FerenczSpain2024-05-25Chapman, Ross E Esq QUALIFIED69Ivan Magalhaes
1009Mujtaba I CampainSpain2024-06-08King, Christopher A Esq NEW26Amy Elsner
1010Cody X OstroskyJapan2024-05-20Truhlar And Truhlar Attys UNQUALIFIED37Asiya Javayant
1011Misaki C KuskoSpain2024-05-21Commercial Press RENEWAL73Anna Fali
1012Nicolas P CaudyAustralia2024-05-28Truhlar And Truhlar Attys PROPOSAL76Asiya Javayant
1013Salvatore D IturbideArgentina2024-05-27Feltz Printing Service PROPOSAL39Ioni Bowcher
1014Jennifer V BowleyUnited Kingdom2024-05-25Dorl, James J Esq QUALIFIED45Asiya Javayant
1015Johnson Z GlickArgentina2024-06-04Printing Dimensions NEGOTIATION88Amy Elsner
1016Isabel R GauchoRussia2024-06-09Buckley Miller Wright PROPOSAL74Onyama Limba
1017Claire A DilliardUnited Kingdom2024-05-23Benton, John B Jr PROPOSAL17Onyama Limba
1018Silvio R FerenczGermany2024-05-19Chapman, Ross E Esq RENEWAL4Bernardo Dominic
1019Aditya S BowleyItaly2024-06-06Feiner Bros QUALIFIED41Amy Elsner
1020Maisha C FlosiRussia2024-06-01Feltz Printing Service RENEWAL6Bernardo Dominic
1021Murillo N OstroskyItaly2024-05-23Feltz Printing Service QUALIFIED73Elwin Sharvill
1022Octavia Z NickaItaly2024-05-28Chanay, Jeffrey A Esq PROPOSAL50Stephen Shaw
1023Tony M OstroskyItaly2024-06-08Chanay, Jeffrey A Esq QUALIFIED21Asiya Javayant
1024Clifford T GarufiArgentina2024-05-31Rangoni Of Florence PROPOSAL4Amy Elsner
1025Silvio P BriddickGermany2024-06-03Feltz Printing Service NEW30Onyama Limba
1026Faith T MaletRussia2024-06-12Morlong Associates PROPOSAL50Asiya Javayant
1027Leon W KuskoBrazil2024-06-16King, Christopher A Esq PROPOSAL59Onyama Limba
1028Ivar J DoeCanada2024-06-16Printing Dimensions UNQUALIFIED10Onyama Limba
1029Isabel B GlickItaly2024-06-09Chemel, James L Cpa NEW97Elwin Sharvill
1030Izzy Z MaletUnited Kingdom2024-06-03Chapman, Ross E Esq RENEWAL14Xuxue Feng
1031Munro V PerinCanada2024-05-24Rousseaux, Michael Esq UNQUALIFIED92Amy Elsner
1032Faith W ShinkoSpain2024-06-13Chapman, Ross E Esq QUALIFIED22Anna Fali
1033Rodrigues O RutaCanada2024-06-04Chapman, Ross E Esq RENEWAL25Onyama Limba
1034Jefferson I DarakjyRussia2024-05-24Benton, John B Jr QUALIFIED58Asiya Javayant
1035Murillo K BriddickIndia2024-06-04Chanay, Jeffrey A Esq RENEWAL54Stephen Shaw
1036Sinclair E DarakjyGermany2024-05-25Chanay, Jeffrey A Esq QUALIFIED84Ivan Magalhaes
1037Sinclair Q OstroskyFrance2024-05-27Truhlar And Truhlar Attys NEGOTIATION49Anna Fali
1038Rodrigues S WaycottBrazil2024-06-01Rousseaux, Michael Esq RENEWAL40Asiya Javayant
1039Silvio K KolmetzJapan2024-06-06Benton, John B Jr QUALIFIED26Elwin Sharvill
1040Juan G MacleadCanada2024-05-31King, Christopher A Esq RENEWAL93Ioni Bowcher
1041Jeanfrancois L SlusarskiGermany2024-05-29Buckley Miller Wright QUALIFIED51Anna Fali
1042Octavia X BriddickGermany2024-05-21King, Christopher A Esq UNQUALIFIED99Ioni Bowcher
1043Leon X StensethBrazil2024-05-30Feltz Printing Service NEGOTIATION41Bernardo Dominic
1044Izzy U OldroydIndia2024-05-24Buckley Miller Wright UNQUALIFIED62Amy Elsner
1045Tony M AmigonSpain2024-06-12Morlong Associates RENEWAL98Xuxue Feng
1046Salvatore T ChuiItaly2024-05-29Chapman, Ross E Esq QUALIFIED59Anna Fali
1047Salvatore S BowleyFrance2024-06-14Rousseaux, Michael Esq QUALIFIED3Ivan Magalhaes
1048Chavez T RulapaughUnited Kingdom2024-05-21Benton, John B Jr UNQUALIFIED38Stephen Shaw
1049Izzy Z FollerArgentina2024-05-21Rousseaux, Michael Esq UNQUALIFIED91Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maria W MaletAustraliaIvan Magalhaes NEW
Adams B OldroydFranceAnna Fali RENEWAL
Isabel W WhobreyFranceAnna Fali QUALIFIED
Murillo W MaletItalyAnna Fali NEGOTIATION
Costa Q StockhamFranceIvan Magalhaes NEGOTIATION
Salvatore T GarufiCanadaAsiya Javayant PROPOSAL
Clifford H PaprockiIndiaIoni Bowcher NEW
Sinclair X MacleadFranceAnna Fali RENEWAL
Isabel O WieserJapanStephen Shaw UNQUALIFIED
Mayumi O FollerSpainOnyama Limba QUALIFIED
Jennifer E MorascaRussiaXuxue Feng PROPOSAL
Misaki Q SchemmerIndiaAmy Elsner NEGOTIATION
Munro U OstroskyRussiaIoni Bowcher RENEWAL
Izzy L WaycottJapanIoni Bowcher QUALIFIED
Arvin Z GauchoAustraliaIoni Bowcher RENEWAL
Julie P KolmetzFranceAsiya Javayant NEGOTIATION
Leon Z BologniaUnited KingdomOnyama Limba QUALIFIED
Aruna K WhobreyItalyAnna Fali QUALIFIED
Ivar W NestleItalyAnna Fali PROPOSAL
James T InouyeItalyAnna Fali QUALIFIED
Rodrigues O BriddickGermanyElwin Sharvill NEGOTIATION
Kaitlin B NickaJapanAsiya Javayant UNQUALIFIED
Morrow U RutaJapanXuxue Feng RENEWAL
Darci E RulapaughGermanyStephen Shaw QUALIFIED
Chavez A OstroskyGermanyAsiya Javayant NEGOTIATION
Wickens L MorascaJapanOnyama Limba UNQUALIFIED
Faith U CaldareraAustraliaStephen Shaw UNQUALIFIED
Sinclair L GarufiRussiaIoni Bowcher PROPOSAL
David C VocelkaGermanyAmy Elsner QUALIFIED
Leon C RoysterIndiaStephen Shaw PROPOSAL
Ashley P AlbaresUnited KingdomOnyama Limba NEW
Claire U MaletItalyBernardo Dominic NEW
Arvin H SlusarskiRussiaElwin Sharvill UNQUALIFIED
Mujtaba X CaudyGermanyIvan Magalhaes NEW
Isabel S MorascaArgentinaAnna Fali QUALIFIED
Claire B BologniaFranceAmy Elsner RENEWAL
Francesco F GlickIndiaStephen Shaw RENEWAL
Maria H SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Kadeem W CaudyUnited KingdomAmy Elsner QUALIFIED
Murillo Z InouyeItalyAsiya Javayant NEGOTIATION
Jefferson G SlusarskiArgentinaXuxue Feng UNQUALIFIED
Ashley D AmigonItalyIvan Magalhaes UNQUALIFIED
Sinclair A MaletUnited KingdomBernardo Dominic PROPOSAL
Tony V OstroskyArgentinaStephen Shaw UNQUALIFIED
Antonio I StensethUnited KingdomBernardo Dominic NEW
Jefferson P BowleyRussiaAsiya Javayant QUALIFIED
Izzy L MorascaCanadaAsiya Javayant UNQUALIFIED
Cody F RutaAustraliaIoni Bowcher QUALIFIED
Nicolas Z ShinkoCanadaStephen Shaw UNQUALIFIED
Leja H RutaCanadaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Ivar F Schemmer
Ivar Y Albares
Rodrigues D Butt
Cody G Darakjy
Kaitlin R Venere
Murillo R Amigon
Greenwood Y Whobrey
Jennifer R Amigon
Costa A Oldroyd
Adams N Waycott
Silvio X Saylors
David A Glick
Jeanfrancois Q Saylors
Claire E Schemmer
Julie S Kusko
Morrow J Rim
Leon Z Butt
Aruna K Morasca
Aika W Whobrey
Ivar A Rim
Rodrigues W Nicka
Leon P Rim
Greenwood P Nestle
Ricardo J Wieser
Jennifer K Rulapaugh
Ricardo V Nicka
Leja W Glick
Adams R Briddick
Ashley H Royster
Wickens A Amigon
Adams U Kolmetz
Emily X Paprocki
Morrow T Gaucho
Jefferson H Shinko
Greenwood K Poquette
Aditya W Bowley
Nicolas I Doe
Greenwood R Kolmetz
Ivar B Wieser
Darci A Morasca
Leja C Shinko
Silvio K Rim
Ricardo M Bowley
Jones O Perin
Morrow Z Foller
Emily Y Flosi
Julie X Foller
Octavia S Sergi
David B Vocelka
Tony A Stenseth
IdCountryDate
1000Russia2024-06-13
1001Italy2024-06-11
1002France2024-06-13
1003France2024-05-18
1004Russia2024-05-25
1005Argentina2024-05-26
1006Japan2024-06-09
1007Spain2024-06-09
1008United Kingdom2024-05-19
1009Argentina2024-05-27
1010France2024-05-18
1011France2024-05-19
1012Argentina2024-06-11
1013Australia2024-06-05
1014Australia2024-06-15
1015Australia2024-05-27
1016Australia2024-06-13
1017Germany2024-05-20
1018Russia2024-06-10
1019Italy2024-06-10
1020Canada2024-06-05
1021Brazil2024-06-15
1022Japan2024-06-09
1023Canada2024-06-08
1024Spain2024-05-19
1025Canada2024-05-24
1026Japan2024-06-08
1027Argentina2024-06-01
1028France2024-06-07
1029Italy2024-05-21
1030Germany2024-05-24
1031Canada2024-05-26
1032Italy2024-06-04
1033Japan2024-06-07
1034Russia2024-05-29
1035Germany2024-05-25
1036Japan2024-06-05
1037Spain2024-06-09
1038United Kingdom2024-06-02
1039Canada2024-05-22
1040Canada2024-06-16
1041France2024-06-02
1042Argentina2024-05-31
1043Russia2024-05-24
1044Russia2024-06-14
1045Italy2024-06-13
1046Australia2024-06-06
1047Germany2024-06-02
1048Russia2024-06-15
1049Japan2024-06-07

On-Demand Data

NameIdCountryDate
Juan B Whobrey1000Italy2024-06-02
Munro S Ostrosky1001Argentina2024-05-26
Morrow P Poquette1002Canada2024-06-04
Jennifer V Amigon1003Russia2024-05-22
Nicolas Q Stenseth1004Australia2024-06-06
Ricardo N Caudy1005Spain2024-05-25
Kadeem E Waycott1006United Kingdom2024-05-20
Nicolas F Garufi1007United Kingdom2024-05-27
Kaitlin B Rim1008France2024-05-25
Clifford L Whobrey1009Germany2024-05-29
Salvatore T Morasca1010India2024-06-01
Jeanfrancois B Garufi1011Japan2024-06-06
Kaitlin P Perin1012Argentina2024-06-03
Aika H Nicka1013Italy2024-06-05
Maisha A Kusko1014Italy2024-06-06
Sinclair F Stenseth1015France2024-05-26
Clifford X Sergi1016India2024-05-25
Stacey P Shinko1017Brazil2024-06-03
Claire S Nestle1018Argentina2024-05-23
Mujtaba F Amigon1019Spain2024-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco F CampainJapanIoni Bowcher UNQUALIFIED
Emily N OstroskyJapanIvan Magalhaes PROPOSAL
Ricardo Q BologniaIndiaAsiya Javayant NEGOTIATION
Sinclair R CaldareraJapanOnyama Limba UNQUALIFIED
Kadeem L AmigonGermanyAmy Elsner NEGOTIATION
Clifford H IturbideRussiaBernardo Dominic UNQUALIFIED
Misaki O SchemmerBrazilXuxue Feng UNQUALIFIED
Jennifer U KuskoIndiaStephen Shaw QUALIFIED
Costa D KolmetzAustraliaXuxue Feng PROPOSAL
Francesco A FigeroaItalyAsiya Javayant PROPOSAL
Deepesh L RimUnited KingdomAnna Fali NEW
Wickens B MarrierRussiaXuxue Feng QUALIFIED
Salvatore Y RutaGermanyElwin Sharvill NEGOTIATION
Maria V DilliardAustraliaStephen Shaw QUALIFIED
Leon C GauchoGermanyAmy Elsner PROPOSAL
Tony W GauchoRussiaElwin Sharvill NEGOTIATION
Arvin N MacleadJapanIoni Bowcher NEW
Clifford Y IturbideAustraliaAsiya Javayant RENEWAL
Juan H RimGermanyAnna Fali NEW
Jennifer N SaylorsCanadaXuxue Feng UNQUALIFIED
Greenwood D SergiSpainXuxue Feng PROPOSAL
Greenwood G MaletSpainIoni Bowcher NEW
Mayumi X BriddickJapanBernardo Dominic NEGOTIATION
Claire K KuskoBrazilOnyama Limba NEGOTIATION
Sinclair I KuskoUnited KingdomAnna Fali UNQUALIFIED
Costa X RoysterFranceIoni Bowcher PROPOSAL
Emily B KuskoItalyAnna Fali NEW
Francesco W FigeroaGermanyOnyama Limba UNQUALIFIED
Stacey Q BologniaArgentinaBernardo Dominic QUALIFIED
Julie P GauchoArgentinaIvan Magalhaes NEGOTIATION
Wickens W InouyeUnited KingdomAnna Fali NEW
Nicolas G AlbaresFranceXuxue Feng NEW
Francesco Z IturbideGermanyOnyama Limba RENEWAL
Maria C WieserFranceAnna Fali UNQUALIFIED
Tony S MarrierItalyStephen Shaw QUALIFIED
Antonio U RulapaughItalyBernardo Dominic QUALIFIED
Antonio V WhobreyBrazilXuxue Feng QUALIFIED
Sinclair A RimUnited KingdomStephen Shaw RENEWAL
Clifford A DilliardFranceOnyama Limba RENEWAL
Jefferson A SergiItalyIvan Magalhaes QUALIFIED

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