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
Juan B WaycottUnited KingdomAmy Elsner RENEWAL
Ivar H MaletUnited KingdomIvan Magalhaes NEW
Tony C SlusarskiAustraliaXuxue Feng PROPOSAL
Chavez J BowleySpainAnna Fali NEW
Wickens P IturbideAustraliaAsiya Javayant NEGOTIATION
Jennifer P VenereSpainAmy Elsner UNQUALIFIED
Jefferson K BriddickSpainAnna Fali QUALIFIED
Faith M FerenczCanadaXuxue Feng UNQUALIFIED
Deepesh Z FlosiBrazilAnna Fali RENEWAL
Octavia K GillianItalyBernardo Dominic NEW
Ashley P BowleyJapanElwin Sharvill UNQUALIFIED
Misaki W RoysterSpainIoni Bowcher QUALIFIED
Maisha C ChuiArgentinaStephen Shaw PROPOSAL
Emily Z SaylorsFranceElwin Sharvill RENEWAL
Darci N BriddickRussiaOnyama Limba QUALIFIED
Clifford I ButtCanadaOnyama Limba NEW
Salvatore F DarakjyCanadaIvan Magalhaes QUALIFIED
Arvin X NestleJapanStephen Shaw RENEWAL
Nicolas O GillianAustraliaAnna Fali RENEWAL
Costa X NickaItalyElwin Sharvill QUALIFIED
Arvin L SergiUnited KingdomBernardo Dominic NEW
Jennifer Z MaletItalyIvan Magalhaes QUALIFIED
Cody F StockhamBrazilOnyama Limba UNQUALIFIED
Johnson S FollerItalyOnyama Limba RENEWAL
Morrow B NestleGermanyXuxue Feng RENEWAL
Jennifer C InouyeAustraliaAnna Fali UNQUALIFIED
Octavia S FollerFranceAmy Elsner UNQUALIFIED
Murillo C DarakjyGermanyOnyama Limba NEW
Aruna C GillianSpainBernardo Dominic NEW
Aika V SchemmerUnited KingdomBernardo Dominic RENEWAL
Jeanfrancois O MacleadIndiaAsiya Javayant NEGOTIATION
Greenwood T FigeroaRussiaAnna Fali QUALIFIED
Cody R BowleyGermanyIvan Magalhaes PROPOSAL
Arvin U DarakjyBrazilAmy Elsner NEGOTIATION
Munro O FollerItalyIoni Bowcher RENEWAL
Jennifer V FerenczRussiaOnyama Limba PROPOSAL
Jennifer O RimSpainIvan Magalhaes RENEWAL
Jones L NickaGermanyIvan Magalhaes PROPOSAL
Morrow X FlosiItalyIoni Bowcher NEGOTIATION
Claire P PaprockiGermanyAnna Fali UNQUALIFIED
Murillo N SlusarskiJapanIoni Bowcher UNQUALIFIED
Costa C FigeroaCanadaAmy Elsner QUALIFIED
Chavez R CaldareraJapanIvan Magalhaes PROPOSAL
Johnson O FerenczIndiaXuxue Feng NEGOTIATION
Maisha Z RimAustraliaAnna Fali UNQUALIFIED
Mujtaba Z RutaItalyIvan Magalhaes RENEWAL
Aika L ButtSpainAnna Fali PROPOSAL
Mayumi Y FigeroaAustraliaStephen Shaw UNQUALIFIED
Munro N BriddickItalyStephen Shaw UNQUALIFIED
James A ButtGermanyAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois M VenereJapanAmy Elsner UNQUALIFIED
Faith Z CaldareraGermanyAnna Fali PROPOSAL
Darci B GlickIndiaAsiya Javayant NEW
Aditya O SaylorsFranceIoni Bowcher NEW
Sinclair O SaylorsJapanXuxue Feng PROPOSAL
David B IturbideItalyIvan Magalhaes RENEWAL
Mujtaba D InouyeUnited KingdomIoni Bowcher RENEWAL
Johnson T StockhamCanadaElwin Sharvill RENEWAL
Juan L BowleyArgentinaAsiya Javayant PROPOSAL
Morrow Y FerenczGermanyStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer T ButtFrance2024-05-25Commercial Press QUALIFIED64Amy Elsner
1001Claire X WaycottSpain2024-05-31Truhlar And Truhlar Attys QUALIFIED53Ioni Bowcher
1002Ashley W KuskoRussia2024-05-29Chanay, Jeffrey A Esq NEW92Elwin Sharvill
1003Costa A RulapaughRussia2024-06-03King, Christopher A Esq NEW70Xuxue Feng
1004Costa A FlosiCanada2024-06-02Feltz Printing Service RENEWAL93Asiya Javayant
1005Cody R StockhamJapan2024-06-16Morlong Associates PROPOSAL77Xuxue Feng
1006Murillo Z AmigonIndia2024-06-10Truhlar And Truhlar Attys QUALIFIED53Amy Elsner
1007Isabel Z ChuiRussia2024-06-01Buckley Miller Wright UNQUALIFIED7Elwin Sharvill
1008Morrow D ShinkoGermany2024-05-25Benton, John B Jr UNQUALIFIED2Elwin Sharvill
1009Greenwood I GlickBrazil2024-05-20Buckley Miller Wright RENEWAL31Asiya Javayant
1010Leon W CaldareraAustralia2024-06-02Chanay, Jeffrey A Esq RENEWAL74Amy Elsner
1011Maria O TollnerCanada2024-05-20Printing Dimensions PROPOSAL64Xuxue Feng
1012Jones W WieserFrance2024-05-22Dorl, James J Esq QUALIFIED33Bernardo Dominic
1013Francesco M BologniaJapan2024-06-18Feiner Bros NEW42Bernardo Dominic
1014Faith J MacleadRussia2024-05-20Printing Dimensions UNQUALIFIED36Anna Fali
1015Chavez X StockhamIndia2024-06-18Printing Dimensions PROPOSAL20Ioni Bowcher
1016Aditya B VocelkaGermany2024-05-25Buckley Miller Wright UNQUALIFIED53Xuxue Feng
1017Morrow N WaycottBrazil2024-06-18Morlong Associates RENEWAL47Onyama Limba
1018Murillo T TollnerUnited Kingdom2024-06-14Feiner Bros UNQUALIFIED27Asiya Javayant
1019Julie C DilliardSpain2024-06-08King, Christopher A Esq UNQUALIFIED52Xuxue Feng
1020David G SchemmerArgentina2024-05-23King, Christopher A Esq UNQUALIFIED43Ioni Bowcher
1021Munro O GarufiUnited Kingdom2024-06-01Feiner Bros PROPOSAL69Asiya Javayant
1022Misaki K PoquetteGermany2024-05-23Feltz Printing Service RENEWAL43Asiya Javayant
1023Maria A GlickFrance2024-05-20Chanay, Jeffrey A Esq RENEWAL38Ioni Bowcher
1024Izzy O CaldareraAustralia2024-05-30Printing Dimensions NEGOTIATION13Xuxue Feng
1025Aditya Z BriddickJapan2024-05-31Morlong Associates PROPOSAL32Anna Fali
1026Greenwood N OstroskyIndia2024-06-15Rousseaux, Michael Esq RENEWAL54Anna Fali
1027Cody T VenereCanada2024-05-20Rangoni Of Florence PROPOSAL25Xuxue Feng
1028Nicolas X MacleadItaly2024-06-01Chanay, Jeffrey A Esq QUALIFIED31Stephen Shaw
1029Salvatore Y BologniaItaly2024-06-04Morlong Associates RENEWAL42Asiya Javayant
1030Julie W FerenczSpain2024-06-01Printing Dimensions NEGOTIATION23Ivan Magalhaes
1031Izzy I VenereGermany2024-06-10Rousseaux, Michael Esq UNQUALIFIED63Xuxue Feng
1032Julie R GarufiItaly2024-06-13Chanay, Jeffrey A Esq QUALIFIED56Stephen Shaw
1033Francesco A PerinAustralia2024-06-15Chanay, Jeffrey A Esq NEGOTIATION52Bernardo Dominic
1034Salvatore A IturbideSpain2024-06-10Chapman, Ross E Esq PROPOSAL12Bernardo Dominic
1035Juan M MacleadArgentina2024-06-06Buckley Miller Wright QUALIFIED97Ivan Magalhaes
1036David Q InouyeJapan2024-06-11Printing Dimensions QUALIFIED25Asiya Javayant
1037Costa N NickaIndia2024-05-21Feltz Printing Service RENEWAL43Stephen Shaw
1038Emily J StensethAustralia2024-06-15Benton, John B Jr PROPOSAL2Anna Fali
1039Izzy L FollerGermany2024-05-20King, Christopher A Esq UNQUALIFIED2Xuxue Feng
1040Clifford U WieserAustralia2024-06-01Printing Dimensions NEW93Amy Elsner
1041Misaki G GlickCanada2024-06-03Printing Dimensions RENEWAL85Xuxue Feng
1042Alejandro A CaldareraGermany2024-05-22Rousseaux, Michael Esq RENEWAL6Elwin Sharvill
1043Emily L CampainFrance2024-06-03Rousseaux, Michael Esq RENEWAL55Amy Elsner
1044Nicolas S WaycottSpain2024-06-02Truhlar And Truhlar Attys PROPOSAL63Asiya Javayant
1045Mayumi G ShinkoItaly2024-06-01Dorl, James J Esq UNQUALIFIED37Ioni Bowcher
1046Murillo B WaycottBrazil2024-06-18Chanay, Jeffrey A Esq NEGOTIATION4Amy Elsner
1047Maria J CaudyRussia2024-06-11Chemel, James L Cpa QUALIFIED17Xuxue Feng
1048Darci Z ShinkoAustralia2024-05-30Chemel, James L Cpa RENEWAL36Ioni Bowcher
1049Leja H WaycottFrance2024-06-02Feltz Printing Service PROPOSAL74Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Wickens E GauchoArgentinaStephen Shaw QUALIFIED
Cody P TollnerIndiaAsiya Javayant UNQUALIFIED
Darci W DilliardGermanyAsiya Javayant NEGOTIATION
Salvatore K FerenczFranceIvan Magalhaes NEGOTIATION
Julie X StockhamFranceStephen Shaw PROPOSAL
Jones H RulapaughAustraliaAsiya Javayant UNQUALIFIED
Antonio F OldroydCanadaIoni Bowcher PROPOSAL
Juan U WieserIndiaElwin Sharvill NEGOTIATION
Johnson F StockhamBrazilIvan Magalhaes NEGOTIATION
Murillo G StockhamAustraliaStephen Shaw PROPOSAL
Greenwood G KolmetzBrazilIvan Magalhaes QUALIFIED
Kaitlin S StensethIndiaOnyama Limba QUALIFIED
Murillo H MarrierItalyBernardo Dominic RENEWAL
Jennifer D KolmetzBrazilIvan Magalhaes NEW
Juan R NickaAustraliaIvan Magalhaes NEGOTIATION
Jeanfrancois L BologniaBrazilStephen Shaw PROPOSAL
Mayumi J ChuiSpainXuxue Feng NEW
Aditya O GauchoCanadaIvan Magalhaes PROPOSAL
Faith Q ButtJapanIvan Magalhaes NEW
Julie H FlosiGermanyOnyama Limba UNQUALIFIED
Francesco O WieserAustraliaAnna Fali PROPOSAL
Stacey G StensethCanadaIoni Bowcher NEGOTIATION
Faith S SergiGermanyAnna Fali NEGOTIATION
Emily S FigeroaBrazilBernardo Dominic RENEWAL
Smith E DarakjyUnited KingdomIoni Bowcher NEW
Kadeem D MaletRussiaAsiya Javayant NEW
Julie J AmigonArgentinaElwin Sharvill QUALIFIED
Mujtaba O DoeFranceAmy Elsner NEW
Aika C BologniaIndiaOnyama Limba UNQUALIFIED
Morrow U BologniaArgentinaXuxue Feng PROPOSAL
Tony M FollerItalyAnna Fali UNQUALIFIED
Kadeem P RoysterJapanBernardo Dominic NEW
Maria V PaprockiSpainOnyama Limba NEW
Nicolas A FigeroaIndiaElwin Sharvill QUALIFIED
Misaki B MorascaGermanyAmy Elsner NEW
Kadeem P PaprockiGermanyElwin Sharvill RENEWAL
Greenwood I MaletSpainIvan Magalhaes QUALIFIED
Octavia S BriddickArgentinaStephen Shaw NEGOTIATION
David X NestleGermanyAmy Elsner NEW
David G ShinkoCanadaIvan Magalhaes QUALIFIED
Wickens J VocelkaArgentinaAnna Fali NEGOTIATION
Izzy K SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Maisha P BriddickItalyAnna Fali PROPOSAL
Aika G ShinkoSpainAmy Elsner PROPOSAL
Alejandro H FollerBrazilOnyama Limba NEW
Greenwood G MaletBrazilStephen Shaw RENEWAL
Izzy Y FerenczAustraliaAmy Elsner NEGOTIATION
James N WaycottCanadaAnna Fali NEGOTIATION
Aruna J BriddickArgentinaStephen Shaw NEGOTIATION
Francesco B StockhamArgentinaElwin Sharvill PROPOSAL
Frozen Columns
Name
Silvio G Albares
Greenwood K Garufi
Arvin H Chui
Jeanfrancois L Paprocki
Maisha Q Iturbide
Mujtaba A Nestle
Aruna G Shinko
Cody F Kolmetz
Chavez S Royster
Aika P Gaucho
Ashley Z Maclead
Rodrigues X Ostrosky
Morrow V Doe
Kaitlin S Bolognia
Tony M Rulapaugh
Jeanfrancois P Poquette
Alejandro L Darakjy
Maria Q Chui
Isabel D Ferencz
Alejandro V Venere
Julie A Stenseth
Rodrigues K Glick
Alejandro Z Maclead
Maisha P Briddick
Kadeem K Nicka
Ivar Y Doe
Clifford Z Briddick
Izzy E Ostrosky
Jennifer V Gaucho
Ricardo Q Chui
Claire T Tollner
Antonio K Flosi
Tony E Poquette
Isabel Q Malet
Mayumi P Caldarera
Stacey U Morasca
Deepesh T Rim
Maisha T Poquette
Leja N Rim
Jefferson O Doe
Isabel G Glick
James F Saylors
Aditya M Ferencz
Emily C Figeroa
Maisha D Venere
Octavia E Ostrosky
Arvin F Flosi
Leon L Garufi
Clifford F Malet
Misaki R Ruta
IdCountryDate
1000Australia2024-06-08
1001United Kingdom2024-05-24
1002India2024-06-01
1003Brazil2024-06-16
1004Australia2024-06-02
1005France2024-06-12
1006Brazil2024-05-24
1007France2024-05-22
1008United Kingdom2024-06-05
1009Italy2024-05-20
1010Argentina2024-06-16
1011Russia2024-06-02
1012Australia2024-06-08
1013Spain2024-06-01
1014Russia2024-05-21
1015France2024-06-06
1016Spain2024-06-17
1017Germany2024-06-12
1018Japan2024-05-31
1019Brazil2024-06-07
1020Australia2024-05-31
1021United Kingdom2024-06-10
1022France2024-06-05
1023Russia2024-05-28
1024France2024-06-04
1025Brazil2024-06-17
1026Japan2024-05-21
1027Russia2024-05-25
1028Russia2024-05-25
1029India2024-06-12
1030Russia2024-05-25
1031India2024-06-08
1032Australia2024-05-30
1033Russia2024-05-27
1034Japan2024-06-11
1035Japan2024-05-21
1036France2024-05-27
1037Germany2024-06-10
1038France2024-05-22
1039Italy2024-06-18
1040Germany2024-06-06
1041France2024-06-15
1042Argentina2024-06-05
1043France2024-05-23
1044Canada2024-06-05
1045India2024-05-26
1046Argentina2024-06-12
1047Russia2024-05-31
1048Canada2024-06-05
1049Canada2024-06-03

On-Demand Data

NameIdCountryDate
Johnson F Nestle1000Italy2024-06-14
Tony D Caudy1001Russia2024-06-18
Faith J Inouye1002Spain2024-05-29
Julie Q Morasca1003Brazil2024-05-25
Antonio F Shinko1004Brazil2024-06-07
Ashley J Flosi1005United Kingdom2024-06-05
Kadeem W Albares1006United Kingdom2024-06-12
Sinclair G Rulapaugh1007India2024-05-28
Mayumi F Venere1008Germany2024-05-30
Wickens D Ferencz1009France2024-06-03
Johnson O Tollner1010United Kingdom2024-05-25
Alejandro H Ferencz1011Japan2024-06-02
David C Iturbide1012Canada2024-05-29
Salvatore K Ostrosky1013Italy2024-05-30
Silvio G Shinko1014Australia2024-06-15
Ashley N Briddick1015United Kingdom2024-05-20
Jones L Garufi1016Australia2024-06-06
Salvatore H Perin1017Italy2024-05-27
Ashley X Nicka1018Japan2024-05-20
Kaitlin G Dilliard1019Australia2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas G WaycottArgentinaElwin Sharvill QUALIFIED
Adams B BriddickAustraliaOnyama Limba NEGOTIATION
Julie P SergiGermanyBernardo Dominic PROPOSAL
Antonio Q SlusarskiSpainOnyama Limba NEGOTIATION
Faith L GarufiBrazilXuxue Feng NEW
David A DilliardRussiaXuxue Feng QUALIFIED
Juan I MaletIndiaElwin Sharvill UNQUALIFIED
Jones B BologniaItalyAnna Fali PROPOSAL
Mujtaba E MacleadBrazilIoni Bowcher NEGOTIATION
Stacey I KuskoIndiaAmy Elsner QUALIFIED
Francesco J MarrierBrazilOnyama Limba PROPOSAL
Johnson M RoysterUnited KingdomStephen Shaw UNQUALIFIED
Maisha X SlusarskiBrazilStephen Shaw NEW
Alejandro G GarufiJapanAsiya Javayant UNQUALIFIED
Greenwood T DarakjyRussiaOnyama Limba NEGOTIATION
Kaitlin A KolmetzGermanyOnyama Limba RENEWAL
Jefferson Y ShinkoItalyIvan Magalhaes QUALIFIED
Aditya L WhobreyRussiaOnyama Limba NEW
Darci I SlusarskiFranceStephen Shaw PROPOSAL
Tony X BologniaUnited KingdomXuxue Feng UNQUALIFIED
Chavez U FollerJapanIvan Magalhaes NEW
Clifford Y WieserItalyAmy Elsner NEGOTIATION
Maria G TollnerGermanyAnna Fali NEW
Ashley Q MacleadFranceAnna Fali NEW
Wickens L OldroydJapanXuxue Feng QUALIFIED
Arvin X ShinkoRussiaIoni Bowcher UNQUALIFIED
Leon B ChuiBrazilAsiya Javayant PROPOSAL
Cody J AlbaresIndiaAmy Elsner NEW
Chavez T GlickSpainElwin Sharvill NEW
Silvio Y GillianGermanyStephen Shaw NEGOTIATION
Mujtaba G StockhamIndiaBernardo Dominic NEGOTIATION
Arvin C VenereGermanyOnyama Limba UNQUALIFIED
Jennifer Y KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Costa Y MarrierIndiaOnyama Limba PROPOSAL
Maisha C InouyeUnited KingdomAmy Elsner PROPOSAL
Greenwood H VenereIndiaStephen Shaw RENEWAL
Aruna E AlbaresFranceAsiya Javayant PROPOSAL
Ashley B SaylorsItalyOnyama Limba PROPOSAL
Leon F NickaFranceIoni Bowcher NEGOTIATION
Johnson X BowleyItalyAsiya Javayant 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>