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
Stacey Z FerenczUnited KingdomAnna Fali NEW
Smith R OstroskySpainAnna Fali UNQUALIFIED
Faith K StensethJapanBernardo Dominic PROPOSAL
Octavia R SchemmerItalyIoni Bowcher UNQUALIFIED
Greenwood V FollerBrazilIoni Bowcher NEGOTIATION
Mayumi G RoysterJapanBernardo Dominic QUALIFIED
Salvatore R PerinUnited KingdomIoni Bowcher PROPOSAL
Jefferson G GlickAustraliaStephen Shaw QUALIFIED
Wickens Y InouyeIndiaXuxue Feng NEW
Maria O FerenczArgentinaIvan Magalhaes NEGOTIATION
Jones Q RoysterGermanyElwin Sharvill PROPOSAL
Aruna W RimRussiaBernardo Dominic UNQUALIFIED
Mujtaba A MaletIndiaAmy Elsner NEGOTIATION
Jeanfrancois N BologniaItalyIoni Bowcher NEW
Aditya E CaudyItalyAmy Elsner RENEWAL
Arvin N CaldareraGermanyBernardo Dominic RENEWAL
Julie P OstroskyJapanOnyama Limba UNQUALIFIED
Jefferson X MacleadArgentinaXuxue Feng QUALIFIED
Ricardo O KolmetzAustraliaAnna Fali UNQUALIFIED
Leja E TollnerArgentinaXuxue Feng PROPOSAL
Nicolas X MaletAustraliaOnyama Limba NEGOTIATION
Jennifer R DilliardGermanyIvan Magalhaes NEW
Tony T CampainUnited KingdomOnyama Limba PROPOSAL
Adams X WaycottFranceAmy Elsner NEW
Leon D VenereUnited KingdomIvan Magalhaes NEW
Julie B BriddickGermanyAsiya Javayant RENEWAL
Maisha H BowleyBrazilAmy Elsner NEW
Aditya O FerenczArgentinaIoni Bowcher UNQUALIFIED
Francesco Y KolmetzAustraliaIoni Bowcher QUALIFIED
Ashley C RoysterUnited KingdomAnna Fali UNQUALIFIED
Stacey X BologniaCanadaIvan Magalhaes RENEWAL
Jones J FlosiFranceIvan Magalhaes NEW
Clifford F AlbaresJapanIoni Bowcher NEW
Mujtaba K SlusarskiIndiaBernardo Dominic NEGOTIATION
Tony I SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Cody D VocelkaArgentinaIvan Magalhaes NEGOTIATION
Claire H CaudyItalyElwin Sharvill NEGOTIATION
James O FollerIndiaStephen Shaw NEW
Aditya V BriddickIndiaStephen Shaw NEGOTIATION
Sinclair Z BologniaGermanyIvan Magalhaes NEGOTIATION
Costa M KuskoIndiaOnyama Limba NEGOTIATION
Kaitlin R OstroskyAustraliaOnyama Limba QUALIFIED
Darci M DarakjyIndiaBernardo Dominic UNQUALIFIED
Kadeem T FollerItalyAsiya Javayant NEW
David H WhobreySpainElwin Sharvill NEGOTIATION
Sinclair Y ChuiBrazilElwin Sharvill QUALIFIED
Jennifer Q MaletJapanStephen Shaw PROPOSAL
Mayumi V RutaArgentinaElwin Sharvill NEGOTIATION
Murillo Q IturbideIndiaOnyama Limba QUALIFIED
Faith A MacleadIndiaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore Q BologniaUnited KingdomAsiya Javayant NEGOTIATION
Adams J BriddickSpainIvan Magalhaes PROPOSAL
Julie Y WieserBrazilAsiya Javayant QUALIFIED
Ashley W MorascaGermanyElwin Sharvill RENEWAL
Tony M NestleArgentinaAnna Fali NEW
Francesco H OstroskyRussiaAnna Fali UNQUALIFIED
Mujtaba P MorascaIndiaBernardo Dominic NEW
Cody V DilliardAustraliaIvan Magalhaes NEGOTIATION
Maisha Y VenereUnited KingdomOnyama Limba NEGOTIATION
Aika K RoysterRussiaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar C CaudyGermany2024-06-08Printing Dimensions RENEWAL23Onyama Limba
1001Mujtaba P FerenczSpain2024-06-08Truhlar And Truhlar Attys PROPOSAL59Anna Fali
1002Cody H AmigonRussia2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED10Elwin Sharvill
1003Murillo Y BologniaRussia2024-06-16Chanay, Jeffrey A Esq QUALIFIED93Ioni Bowcher
1004Julie I FlosiJapan2024-06-15Truhlar And Truhlar Attys PROPOSAL15Stephen Shaw
1005Claire K AmigonItaly2024-05-31Dorl, James J Esq UNQUALIFIED78Onyama Limba
1006Jefferson O MaletGermany2024-05-24Truhlar And Truhlar Attys NEGOTIATION61Ivan Magalhaes
1007Wickens P BowleyAustralia2024-06-08Rangoni Of Florence NEGOTIATION1Elwin Sharvill
1008Ivar Q MacleadBrazil2024-05-27Truhlar And Truhlar Attys NEGOTIATION29Ivan Magalhaes
1009Rodrigues T GillianRussia2024-06-09Rousseaux, Michael Esq UNQUALIFIED82Ivan Magalhaes
1010Nicolas X DoeItaly2024-06-06King, Christopher A Esq UNQUALIFIED81Ivan Magalhaes
1011Stacey N GauchoIndia2024-05-29King, Christopher A Esq QUALIFIED98Anna Fali
1012Clifford Q DilliardRussia2024-06-02Printing Dimensions UNQUALIFIED92Ioni Bowcher
1013Stacey U ButtBrazil2024-06-05King, Christopher A Esq QUALIFIED73Amy Elsner
1014Maria N MacleadGermany2024-06-08Benton, John B Jr PROPOSAL84Bernardo Dominic
1015Leja V GillianArgentina2024-05-25King, Christopher A Esq UNQUALIFIED88Ioni Bowcher
1016Ricardo J OstroskyBrazil2024-06-15Chapman, Ross E Esq NEGOTIATION11Ioni Bowcher
1017Ricardo V TollnerRussia2024-06-19Benton, John B Jr UNQUALIFIED49Asiya Javayant
1018Arvin U ButtSpain2024-06-20Dorl, James J Esq RENEWAL36Stephen Shaw
1019Jeanfrancois K WhobreyJapan2024-06-14Feltz Printing Service QUALIFIED97Anna Fali
1020Murillo K RimAustralia2024-06-21Feiner Bros NEGOTIATION28Onyama Limba
1021Isabel S AmigonAustralia2024-06-18Commercial Press NEW28Ivan Magalhaes
1022Stacey H ButtBrazil2024-06-18Chapman, Ross E Esq RENEWAL89Stephen Shaw
1023Nicolas E MacleadUnited Kingdom2024-06-12Feltz Printing Service PROPOSAL88Onyama Limba
1024Jennifer Q FerenczArgentina2024-06-21Rangoni Of Florence NEW84Onyama Limba
1025Mujtaba S MaletItaly2024-05-23Rousseaux, Michael Esq PROPOSAL24Asiya Javayant
1026Misaki X NestleGermany2024-06-04Morlong Associates NEW32Stephen Shaw
1027Aditya V PoquetteCanada2024-06-05Rousseaux, Michael Esq RENEWAL43Anna Fali
1028Munro Y NestleSpain2024-06-20Feltz Printing Service UNQUALIFIED58Asiya Javayant
1029Antonio N MacleadJapan2024-06-01Commercial Press NEW86Onyama Limba
1030David X MorascaFrance2024-06-10Rangoni Of Florence QUALIFIED24Ivan Magalhaes
1031Ricardo R MacleadItaly2024-06-18Feltz Printing Service NEGOTIATION91Amy Elsner
1032Alejandro D CaldareraGermany2024-05-28Feiner Bros NEW60Amy Elsner
1033Leon W DilliardItaly2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED38Ivan Magalhaes
1034Ricardo E ButtRussia2024-06-20Feltz Printing Service NEW36Stephen Shaw
1035Jefferson T BriddickArgentina2024-06-03Commercial Press RENEWAL54Xuxue Feng
1036Emily Y VenereFrance2024-06-18Rangoni Of Florence NEW58Ioni Bowcher
1037Morrow B FlosiFrance2024-06-11Chapman, Ross E Esq RENEWAL37Onyama Limba
1038Maria T RutaCanada2024-06-18Chapman, Ross E Esq RENEWAL64Onyama Limba
1039Aika Y WhobreyIndia2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED64Stephen Shaw
1040Jennifer U PerinSpain2024-06-07Chapman, Ross E Esq RENEWAL80Onyama Limba
1041Emily W GillianCanada2024-06-02Buckley Miller Wright RENEWAL69Ivan Magalhaes
1042Francesco H BologniaAustralia2024-06-11Benton, John B Jr UNQUALIFIED11Amy Elsner
1043Claire B MaletGermany2024-06-13Commercial Press NEW0Asiya Javayant
1044Leja N IturbideAustralia2024-05-23Benton, John B Jr NEGOTIATION60Ivan Magalhaes
1045James H ButtSpain2024-06-11Morlong Associates UNQUALIFIED82Anna Fali
1046Jefferson O RimUnited Kingdom2024-05-30Morlong Associates QUALIFIED58Ivan Magalhaes
1047Emily C VocelkaIndia2024-06-17Benton, John B Jr PROPOSAL82Bernardo Dominic
1048Kaitlin X StockhamRussia2024-06-15Commercial Press UNQUALIFIED45Ivan Magalhaes
1049Izzy T PoquetteFrance2024-06-13Chemel, James L Cpa NEW81Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ashley N RulapaughSpainBernardo Dominic NEW
Octavia F KuskoGermanyIoni Bowcher UNQUALIFIED
Rodrigues S OldroydJapanStephen Shaw RENEWAL
Sinclair L RulapaughIndiaBernardo Dominic PROPOSAL
Chavez A AmigonRussiaElwin Sharvill RENEWAL
James C BowleyCanadaAmy Elsner UNQUALIFIED
Deepesh M OldroydCanadaIvan Magalhaes RENEWAL
Francesco Z PaprockiUnited KingdomAnna Fali PROPOSAL
Jennifer Z MaletFranceBernardo Dominic UNQUALIFIED
Chavez O BriddickUnited KingdomIvan Magalhaes QUALIFIED
Jefferson U IturbideJapanIoni Bowcher NEW
Deepesh A GarufiSpainBernardo Dominic RENEWAL
Stacey S ButtSpainAsiya Javayant NEGOTIATION
Alejandro X GillianRussiaElwin Sharvill NEGOTIATION
Murillo L FerenczJapanIoni Bowcher UNQUALIFIED
James J DoeSpainAnna Fali NEGOTIATION
Rodrigues L PaprockiArgentinaStephen Shaw NEW
Morrow I CaudyJapanXuxue Feng PROPOSAL
Nicolas O DoeAustraliaOnyama Limba NEGOTIATION
Julie G CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Jennifer G FigeroaItalyOnyama Limba PROPOSAL
Chavez T ButtSpainBernardo Dominic RENEWAL
Isabel W FollerAustraliaAmy Elsner PROPOSAL
Sinclair N NestleRussiaStephen Shaw NEW
Jennifer E GarufiArgentinaAmy Elsner PROPOSAL
Alejandro C MorascaArgentinaXuxue Feng PROPOSAL
Silvio A SchemmerSpainStephen Shaw NEGOTIATION
Mujtaba I MacleadBrazilStephen Shaw QUALIFIED
Munro E WhobreyAustraliaBernardo Dominic NEW
Juan G WieserAustraliaIoni Bowcher NEGOTIATION
Adams D BriddickAustraliaAsiya Javayant RENEWAL
Stacey Z NickaCanadaIvan Magalhaes UNQUALIFIED
Greenwood A StensethCanadaBernardo Dominic RENEWAL
Izzy P KolmetzRussiaAnna Fali NEGOTIATION
Isabel M WieserUnited KingdomAnna Fali NEW
Ashley W ShinkoIndiaBernardo Dominic RENEWAL
Greenwood H VocelkaRussiaElwin Sharvill NEGOTIATION
Adams O CaudyFranceXuxue Feng UNQUALIFIED
Juan T VocelkaBrazilAmy Elsner NEW
Antonio M DarakjyIndiaOnyama Limba QUALIFIED
Salvatore L MorascaBrazilAnna Fali NEGOTIATION
Jennifer L SlusarskiJapanBernardo Dominic PROPOSAL
David Z StensethJapanStephen Shaw PROPOSAL
Johnson S GillianUnited KingdomAsiya Javayant NEGOTIATION
Claire Q BologniaItalyAmy Elsner PROPOSAL
Tony V BriddickFranceAnna Fali RENEWAL
Leon O FollerSpainAnna Fali NEGOTIATION
Octavia A ShinkoArgentinaAsiya Javayant PROPOSAL
Alejandro G ShinkoItalyOnyama Limba QUALIFIED
Ashley I StockhamSpainBernardo Dominic NEGOTIATION
Frozen Columns
Name
Leja R Saylors
Rodrigues T Waycott
Adams Z Tollner
Jennifer A Paprocki
Tony B Morasca
Jeanfrancois E Marrier
James Z Foller
Nicolas G Caldarera
David F Marrier
Alejandro W Dilliard
David O Schemmer
Leon G Kusko
Jennifer Q Briddick
Isabel M Doe
Aruna W Gaucho
Kadeem W Darakjy
Arvin F Tollner
Clifford X Briddick
Leon S Stockham
Alejandro C Rim
Izzy Z Stenseth
Kadeem R Kusko
Morrow D Sergi
Aruna L Doe
Maria M Shinko
Kaitlin B Caudy
Juan T Morasca
Izzy M Waycott
Jennifer L Campain
Wickens K Stockham
Emily X Gaucho
Jeanfrancois F Albares
Smith D Gillian
Johnson X Dilliard
David K Rim
Misaki H Chui
Francesco W Oldroyd
Jones Q Wieser
Jefferson J Bowley
Alejandro L Flosi
Chavez H Morasca
Arvin E Figeroa
Aruna O Venere
Jefferson R Caudy
Darci T Bowley
Costa V Butt
Faith J Royster
Aika V Garufi
Kaitlin X Paprocki
James T Bowley
IdCountryDate
1000Germany2024-06-03
1001United Kingdom2024-06-05
1002Russia2024-06-14
1003India2024-06-07
1004Canada2024-06-20
1005Canada2024-05-25
1006India2024-05-24
1007Germany2024-06-15
1008Russia2024-06-20
1009Canada2024-06-18
1010Italy2024-06-19
1011France2024-05-27
1012India2024-06-04
1013Japan2024-05-29
1014Spain2024-05-24
1015Australia2024-05-28
1016Spain2024-06-14
1017Germany2024-06-06
1018Germany2024-05-30
1019Australia2024-06-09
1020Russia2024-06-04
1021Italy2024-05-24
1022France2024-06-05
1023France2024-06-02
1024Russia2024-06-16
1025Germany2024-06-21
1026France2024-06-12
1027Argentina2024-06-19
1028Argentina2024-05-23
1029Italy2024-06-18
1030Spain2024-06-02
1031Germany2024-06-12
1032Argentina2024-05-30
1033Russia2024-06-04
1034Germany2024-05-30
1035Italy2024-06-12
1036Italy2024-06-02
1037United Kingdom2024-06-02
1038Argentina2024-06-02
1039Argentina2024-06-02
1040France2024-05-26
1041Argentina2024-06-15
1042Spain2024-06-17
1043Spain2024-06-21
1044Australia2024-06-08
1045Argentina2024-06-07
1046Canada2024-06-07
1047France2024-06-06
1048Brazil2024-06-07
1049Argentina2024-06-15

On-Demand Data

NameIdCountryDate
Jeanfrancois F Tollner1000Australia2024-06-16
Murillo D Foller1001France2024-06-17
Morrow U Ostrosky1002France2024-05-23
Jones B Poquette1003Japan2024-06-01
Costa F Kolmetz1004Spain2024-05-26
Misaki M Sergi1005India2024-05-29
Aditya V Ostrosky1006Japan2024-05-28
Smith D Poquette1007Italy2024-06-17
Jones V Glick1008Canada2024-05-23
Arvin W Malet1009United Kingdom2024-05-24
Jefferson K Rulapaugh1010United Kingdom2024-05-24
Isabel X Gillian1011France2024-05-28
James C Caudy1012Germany2024-06-20
Wickens G Butt1013Italy2024-06-21
Isabel T Inouye1014Russia2024-06-12
Mujtaba G Stenseth1015Russia2024-05-25
Leja Y Darakjy1016Brazil2024-05-29
Octavia C Marrier1017Japan2024-06-12
Rodrigues H Slusarski1018Italy2024-06-10
Cody O Nicka1019Germany2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco A GillianFranceAmy Elsner NEGOTIATION
Juan C FerenczFranceBernardo Dominic UNQUALIFIED
Isabel W MaletGermanyAnna Fali PROPOSAL
Maisha S RoysterAustraliaAsiya Javayant NEGOTIATION
Munro P BriddickIndiaBernardo Dominic PROPOSAL
Octavia L PerinCanadaXuxue Feng QUALIFIED
Mujtaba V DoeCanadaAsiya Javayant NEGOTIATION
Leon T CaldareraItalyAnna Fali RENEWAL
Aruna B InouyeArgentinaIoni Bowcher NEGOTIATION
Arvin O DilliardJapanAsiya Javayant NEGOTIATION
Stacey J AmigonIndiaIvan Magalhaes NEW
Jones L MaletSpainIvan Magalhaes PROPOSAL
Izzy D ChuiArgentinaIvan Magalhaes NEGOTIATION
David I WaycottSpainElwin Sharvill NEW
Jeanfrancois X MaletUnited KingdomBernardo Dominic RENEWAL
Kaitlin N PerinItalyStephen Shaw NEW
Rodrigues K RutaCanadaOnyama Limba NEGOTIATION
Arvin J AlbaresAustraliaAnna Fali QUALIFIED
Kaitlin I PoquetteAustraliaAmy Elsner QUALIFIED
Cody Q MacleadFranceXuxue Feng UNQUALIFIED
Alejandro W IturbideRussiaIoni Bowcher QUALIFIED
Adams Y SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Francesco D NickaIndiaIoni Bowcher PROPOSAL
Smith N OstroskyUnited KingdomStephen Shaw RENEWAL
Morrow R GlickArgentinaIoni Bowcher PROPOSAL
Faith Y NickaFranceStephen Shaw PROPOSAL
Jefferson Q BologniaFranceIvan Magalhaes PROPOSAL
Cody W FollerGermanyAsiya Javayant NEGOTIATION
Ivar B AlbaresRussiaIoni Bowcher NEGOTIATION
Rodrigues R BriddickAustraliaAmy Elsner UNQUALIFIED
Jennifer L NestleItalyElwin Sharvill PROPOSAL
Rodrigues S WaycottIndiaBernardo Dominic NEGOTIATION
Francesco D MacleadAustraliaAnna Fali PROPOSAL
Mujtaba F TollnerRussiaAmy Elsner PROPOSAL
Wickens L ButtIndiaOnyama Limba RENEWAL
Nicolas R VenereArgentinaAsiya Javayant PROPOSAL
Darci P CaudyJapanXuxue Feng PROPOSAL
Silvio Q PerinIndiaIoni Bowcher NEW
Jeanfrancois T CampainCanadaAnna Fali NEW
Alejandro N RulapaughUnited KingdomIoni Bowcher PROPOSAL

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