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
Adams R TollnerAustraliaAnna Fali UNQUALIFIED
Chavez R RutaUnited KingdomElwin Sharvill PROPOSAL
Francesco O NickaRussiaIoni Bowcher RENEWAL
Francesco D PaprockiBrazilOnyama Limba QUALIFIED
Johnson Q FlosiSpainIvan Magalhaes PROPOSAL
Jeanfrancois V GarufiArgentinaStephen Shaw NEW
Darci P MaletCanadaIoni Bowcher UNQUALIFIED
Kadeem A GarufiItalyOnyama Limba PROPOSAL
Aruna R TollnerItalyAmy Elsner RENEWAL
Aika Y NickaAustraliaIoni Bowcher RENEWAL
Aruna F FlosiUnited KingdomIoni Bowcher NEGOTIATION
Murillo G OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Misaki K PaprockiSpainAnna Fali QUALIFIED
Sinclair F SlusarskiBrazilBernardo Dominic QUALIFIED
Kadeem T WhobreyRussiaIvan Magalhaes RENEWAL
Francesco N DoeSpainAsiya Javayant QUALIFIED
Salvatore S StockhamJapanIvan Magalhaes NEGOTIATION
Isabel R ShinkoSpainIvan Magalhaes NEGOTIATION
Munro E IturbideAustraliaAmy Elsner UNQUALIFIED
Mujtaba N CampainRussiaElwin Sharvill PROPOSAL
Smith G DarakjyFranceAsiya Javayant NEGOTIATION
Rodrigues G DoeCanadaElwin Sharvill RENEWAL
Jefferson F GillianCanadaAmy Elsner QUALIFIED
Arvin G KolmetzArgentinaIoni Bowcher RENEWAL
Leon H FlosiIndiaAmy Elsner NEW
Maisha N PoquetteItalyOnyama Limba NEGOTIATION
Antonio S ButtArgentinaAnna Fali QUALIFIED
Rodrigues R IturbideGermanyAmy Elsner PROPOSAL
Julie S ChuiBrazilAnna Fali NEW
Arvin M GauchoGermanyElwin Sharvill UNQUALIFIED
Tony Y AmigonSpainOnyama Limba RENEWAL
Kaitlin Z FerenczItalyOnyama Limba UNQUALIFIED
Faith A SchemmerFranceAsiya Javayant PROPOSAL
Chavez M WhobreyGermanyIvan Magalhaes PROPOSAL
Isabel M MorascaGermanyOnyama Limba UNQUALIFIED
Octavia A WaycottSpainXuxue Feng NEGOTIATION
Arvin D BologniaAustraliaXuxue Feng PROPOSAL
Francesco U FerenczCanadaBernardo Dominic NEW
Johnson Z BriddickGermanyElwin Sharvill NEGOTIATION
Leja N ButtUnited KingdomStephen Shaw UNQUALIFIED
Cody Q RoysterRussiaStephen Shaw NEGOTIATION
Johnson V WieserArgentinaStephen Shaw RENEWAL
David F CaudyAustraliaAnna Fali PROPOSAL
Francesco L NestleCanadaAsiya Javayant NEW
Maria Q DilliardBrazilElwin Sharvill PROPOSAL
Salvatore J DoeArgentinaXuxue Feng NEW
Darci S GauchoSpainIvan Magalhaes UNQUALIFIED
Ashley D NickaItalyAnna Fali NEGOTIATION
Mujtaba A ShinkoCanadaIvan Magalhaes NEGOTIATION
Octavia N GillianCanadaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio S KolmetzIndiaIvan Magalhaes UNQUALIFIED
Cody L FollerFranceIvan Magalhaes NEW
Jennifer B MorascaBrazilIvan Magalhaes NEW
David R TollnerAustraliaBernardo Dominic RENEWAL
Alejandro O MacleadCanadaOnyama Limba NEGOTIATION
Salvatore R DilliardItalyStephen Shaw NEW
Jones G WaycottUnited KingdomElwin Sharvill NEGOTIATION
Clifford T AlbaresSpainStephen Shaw RENEWAL
Julie D BriddickGermanyStephen Shaw UNQUALIFIED
Arvin G BowleyAustraliaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire Q WhobreyAustralia2024-06-12Feiner Bros NEGOTIATION95Anna Fali
1001David W AlbaresRussia2024-05-20Buckley Miller Wright NEW31Stephen Shaw
1002Stacey L PoquetteArgentina2024-06-12Rangoni Of Florence NEGOTIATION20Anna Fali
1003Francesco O DarakjyUnited Kingdom2024-05-31Buckley Miller Wright UNQUALIFIED50Xuxue Feng
1004Faith H RimItaly2024-06-14Printing Dimensions UNQUALIFIED50Xuxue Feng
1005Morrow A CaldareraFrance2024-05-19Benton, John B Jr NEGOTIATION73Onyama Limba
1006Jones O RoysterArgentina2024-05-18Benton, John B Jr QUALIFIED95Ioni Bowcher
1007Munro S FollerJapan2024-05-28Chapman, Ross E Esq RENEWAL92Xuxue Feng
1008Juan I GillianArgentina2024-05-24Dorl, James J Esq UNQUALIFIED12Asiya Javayant
1009Cody I MorascaArgentina2024-06-12Feiner Bros NEGOTIATION60Ivan Magalhaes
1010Tony W MorascaIndia2024-05-31Feiner Bros PROPOSAL20Asiya Javayant
1011Sinclair O ButtItaly2024-06-13Buckley Miller Wright RENEWAL19Amy Elsner
1012Murillo W KuskoBrazil2024-05-27Printing Dimensions UNQUALIFIED24Ivan Magalhaes
1013Nicolas V BowleyAustralia2024-05-18Benton, John B Jr NEW48Bernardo Dominic
1014Julie J RoysterArgentina2024-05-22Truhlar And Truhlar Attys UNQUALIFIED19Xuxue Feng
1015Francesco N FigeroaIndia2024-06-10Chemel, James L Cpa NEW13Onyama Limba
1016Costa M BologniaCanada2024-06-15King, Christopher A Esq NEGOTIATION59Ioni Bowcher
1017Francesco Z FollerIndia2024-06-10Chemel, James L Cpa RENEWAL37Ivan Magalhaes
1018James X GauchoFrance2024-06-05Morlong Associates UNQUALIFIED23Anna Fali
1019Deepesh U AmigonIndia2024-06-13Feiner Bros QUALIFIED29Elwin Sharvill
1020Johnson D KuskoBrazil2024-05-25Buckley Miller Wright UNQUALIFIED34Ivan Magalhaes
1021Izzy D GlickCanada2024-05-21Feltz Printing Service RENEWAL14Amy Elsner
1022Misaki V DarakjyRussia2024-06-04Benton, John B Jr NEW90Elwin Sharvill
1023Tony T MaletCanada2024-06-13Morlong Associates UNQUALIFIED12Onyama Limba
1024Sinclair Z MaletIndia2024-05-20Rousseaux, Michael Esq UNQUALIFIED38Bernardo Dominic
1025Aruna X KolmetzAustralia2024-06-13Chanay, Jeffrey A Esq RENEWAL19Elwin Sharvill
1026Faith I FigeroaJapan2024-06-02Chanay, Jeffrey A Esq RENEWAL26Xuxue Feng
1027Silvio M KuskoCanada2024-06-02Truhlar And Truhlar Attys NEW98Asiya Javayant
1028Octavia Q GauchoArgentina2024-05-31Chapman, Ross E Esq QUALIFIED76Elwin Sharvill
1029Misaki V InouyeItaly2024-05-25Feiner Bros UNQUALIFIED80Anna Fali
1030Costa B FigeroaJapan2024-06-11Morlong Associates NEGOTIATION87Onyama Limba
1031Isabel J DarakjyArgentina2024-06-16King, Christopher A Esq QUALIFIED80Stephen Shaw
1032Izzy E GillianBrazil2024-06-15Chanay, Jeffrey A Esq NEW14Elwin Sharvill
1033Aruna X IturbideJapan2024-06-16Chanay, Jeffrey A Esq RENEWAL25Stephen Shaw
1034Emily C MaletBrazil2024-05-18Buckley Miller Wright RENEWAL52Anna Fali
1035Greenwood F TollnerRussia2024-06-03Rousseaux, Michael Esq NEGOTIATION86Ioni Bowcher
1036Izzy Q GauchoItaly2024-05-19Benton, John B Jr RENEWAL66Xuxue Feng
1037Stacey D PerinRussia2024-06-11Dorl, James J Esq UNQUALIFIED60Asiya Javayant
1038Mujtaba D RulapaughFrance2024-05-23Printing Dimensions QUALIFIED6Onyama Limba
1039Darci U NestleIndia2024-05-22Rangoni Of Florence QUALIFIED98Anna Fali
1040Murillo V CaldareraUnited Kingdom2024-06-05Benton, John B Jr NEW86Onyama Limba
1041Antonio X StockhamCanada2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED91Asiya Javayant
1042Smith O MaletBrazil2024-06-05Dorl, James J Esq UNQUALIFIED67Onyama Limba
1043Cody G KolmetzGermany2024-05-20Feiner Bros PROPOSAL1Amy Elsner
1044Mujtaba Z WieserCanada2024-05-30Morlong Associates PROPOSAL71Elwin Sharvill
1045Greenwood G FlosiRussia2024-05-28Rousseaux, Michael Esq RENEWAL94Stephen Shaw
1046Isabel N TollnerBrazil2024-05-24Feiner Bros QUALIFIED70Ivan Magalhaes
1047Jennifer T WhobreyBrazil2024-05-20Chanay, Jeffrey A Esq UNQUALIFIED3Stephen Shaw
1048Deepesh M ButtBrazil2024-06-04Feltz Printing Service RENEWAL88Amy Elsner
1049Octavia A KuskoArgentina2024-05-19Chapman, Ross E Esq RENEWAL83Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maisha V SlusarskiBrazilElwin Sharvill QUALIFIED
Clifford Z IturbideRussiaAsiya Javayant QUALIFIED
Emily P VenereAustraliaStephen Shaw NEGOTIATION
Clifford V VocelkaBrazilAmy Elsner NEGOTIATION
Maria Z RulapaughIndiaIvan Magalhaes PROPOSAL
Nicolas J PoquetteAustraliaAsiya Javayant RENEWAL
Maisha Z RimBrazilElwin Sharvill NEW
Ricardo K PaprockiIndiaIvan Magalhaes NEW
Mayumi I ShinkoIndiaAmy Elsner QUALIFIED
James Y FollerArgentinaElwin Sharvill NEW
Ashley W StensethArgentinaOnyama Limba NEGOTIATION
Salvatore H RimRussiaAmy Elsner NEGOTIATION
Francesco P MaletRussiaXuxue Feng UNQUALIFIED
Faith A SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Silvio E NickaSpainAmy Elsner NEGOTIATION
Greenwood D SchemmerRussiaStephen Shaw PROPOSAL
Munro J SchemmerAustraliaElwin Sharvill QUALIFIED
Maria E BriddickIndiaOnyama Limba UNQUALIFIED
Stacey M DilliardIndiaAnna Fali QUALIFIED
Silvio E MaletIndiaIoni Bowcher QUALIFIED
Kaitlin V PerinIndiaIvan Magalhaes RENEWAL
Cody N MaletUnited KingdomBernardo Dominic NEW
Jefferson Q SchemmerIndiaAmy Elsner RENEWAL
Mayumi Q RutaAustraliaElwin Sharvill RENEWAL
Antonio U AmigonItalyBernardo Dominic NEGOTIATION
Ivar T VenereUnited KingdomXuxue Feng UNQUALIFIED
Mujtaba L MaletGermanyElwin Sharvill PROPOSAL
Claire Y DilliardRussiaAmy Elsner QUALIFIED
Silvio F BowleyUnited KingdomOnyama Limba NEGOTIATION
Faith X BriddickJapanAsiya Javayant UNQUALIFIED
Leja S DoeItalyOnyama Limba NEW
Octavia R WaycottAustraliaBernardo Dominic RENEWAL
Costa C GarufiBrazilXuxue Feng QUALIFIED
Francesco Y PerinGermanyAnna Fali NEW
Tony K MaletItalyAsiya Javayant UNQUALIFIED
Smith J KuskoArgentinaIvan Magalhaes PROPOSAL
Emily M GillianArgentinaIoni Bowcher UNQUALIFIED
Faith N SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Ricardo R OstroskyCanadaElwin Sharvill UNQUALIFIED
Salvatore V GlickIndiaXuxue Feng QUALIFIED
Jennifer X GlickCanadaAnna Fali RENEWAL
Maisha Y PoquetteArgentinaStephen Shaw QUALIFIED
Stacey Z DoeIndiaIoni Bowcher NEGOTIATION
Aruna S CaudyJapanAnna Fali NEW
Murillo C DoeArgentinaIvan Magalhaes RENEWAL
Darci D MaletUnited KingdomIoni Bowcher UNQUALIFIED
Jefferson M ButtRussiaIvan Magalhaes PROPOSAL
Nicolas J AmigonArgentinaElwin Sharvill UNQUALIFIED
Aika V FollerAustraliaOnyama Limba NEGOTIATION
David U PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Antonio R Figeroa
Sinclair J Tollner
Wickens Q Briddick
Izzy D Poquette
Emily N Slusarski
Jones H Vocelka
Maisha V Malet
Chavez Z Venere
Wickens E Malet
Jones K Iturbide
Salvatore W Venere
Aruna H Poquette
Nicolas I Chui
Alejandro O Rulapaugh
Jones J Wieser
Clifford N Kusko
James I Kusko
Smith C Stenseth
Arvin L Bowley
Kadeem U Tollner
Mayumi C Figeroa
Ricardo A Ferencz
Maria P Butt
Jefferson B Venere
Emily K Bowley
Julie Y Schemmer
Antonio D Albares
Misaki Z Chui
Costa F Foller
Ashley O Stockham
Wickens B Nestle
David V Waycott
Jones E Stockham
Costa A Tollner
Chavez A Venere
Costa W Paprocki
Aditya F Slusarski
Emily H Butt
Maria V Nicka
Julie G Nestle
Deepesh B Oldroyd
Nicolas E Nicka
Deepesh Q Schemmer
Francesco M Wieser
Silvio I Flosi
Arvin L Stenseth
Francesco A Briddick
Stacey L Whobrey
Antonio S Chui
Darci L Shinko
IdCountryDate
1000Brazil2024-05-20
1001Japan2024-05-23
1002Brazil2024-06-01
1003Australia2024-06-02
1004Brazil2024-06-07
1005India2024-06-13
1006Canada2024-05-19
1007Germany2024-05-31
1008Germany2024-06-04
1009Russia2024-06-01
1010Spain2024-06-13
1011Argentina2024-05-31
1012Italy2024-05-18
1013United Kingdom2024-05-24
1014Australia2024-06-07
1015France2024-06-08
1016United Kingdom2024-05-22
1017Australia2024-05-29
1018Argentina2024-05-21
1019United Kingdom2024-06-07
1020Brazil2024-05-28
1021Brazil2024-06-02
1022France2024-06-13
1023Brazil2024-06-12
1024Russia2024-05-20
1025Spain2024-05-29
1026Italy2024-05-26
1027Spain2024-06-14
1028France2024-06-11
1029Argentina2024-06-05
1030Japan2024-05-29
1031Argentina2024-06-12
1032Germany2024-05-27
1033Italy2024-06-01
1034Canada2024-05-23
1035Germany2024-05-27
1036Japan2024-05-29
1037Australia2024-06-05
1038Argentina2024-05-23
1039Argentina2024-06-07
1040Italy2024-06-04
1041Brazil2024-06-11
1042France2024-06-14
1043Spain2024-06-08
1044India2024-06-16
1045India2024-05-27
1046Japan2024-06-15
1047Japan2024-06-11
1048Argentina2024-05-19
1049Canada2024-06-11

On-Demand Data

NameIdCountryDate
Ivar E Poquette1000Germany2024-05-23
Juan B Nestle1001Spain2024-06-05
Rodrigues J Schemmer1002Germany2024-06-02
Wickens E Nestle1003Japan2024-06-15
Aika V Gaucho1004Australia2024-05-22
Mujtaba F Oldroyd1005Spain2024-06-10
Jefferson X Ruta1006India2024-05-26
Clifford N Bowley1007Brazil2024-06-05
Rodrigues T Marrier1008Canada2024-05-30
Leja S Whobrey1009Russia2024-05-25
Darci G Sergi1010Japan2024-06-14
Chavez S Kusko1011Argentina2024-05-21
Misaki D Venere1012Spain2024-06-15
Misaki P Perin1013India2024-06-15
Emily U Caudy1014Russia2024-05-21
Claire R Malet1015Australia2024-06-05
James Y Gaucho1016Australia2024-05-25
Silvio C Whobrey1017Canada2024-06-04
Aruna Z Schemmer1018Germany2024-05-24
Emily U Rulapaugh1019United Kingdom2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez H BriddickFranceAnna Fali PROPOSAL
Murillo G GillianBrazilIvan Magalhaes UNQUALIFIED
Arvin G FollerBrazilBernardo Dominic QUALIFIED
Octavia C ChuiRussiaIvan Magalhaes RENEWAL
Faith E FerenczArgentinaStephen Shaw PROPOSAL
Ivar Q SergiSpainIoni Bowcher UNQUALIFIED
Deepesh H StockhamRussiaXuxue Feng PROPOSAL
Nicolas S InouyeGermanyAsiya Javayant NEGOTIATION
Johnson D NestleFranceAsiya Javayant PROPOSAL
Salvatore B ButtIndiaIoni Bowcher QUALIFIED
Costa O RulapaughSpainIvan Magalhaes UNQUALIFIED
Antonio G StockhamIndiaAmy Elsner QUALIFIED
Munro R PaprockiJapanStephen Shaw NEW
Aruna B PoquetteCanadaAsiya Javayant RENEWAL
Leon S OstroskyFranceIvan Magalhaes QUALIFIED
Smith C MaletItalyStephen Shaw UNQUALIFIED
Smith Q GarufiFranceAnna Fali NEGOTIATION
Julie F RulapaughAustraliaStephen Shaw QUALIFIED
Aruna W PaprockiCanadaStephen Shaw NEW
Clifford C PerinAustraliaAnna Fali NEW
Faith Q SaylorsSpainIoni Bowcher UNQUALIFIED
Maisha Q InouyeJapanOnyama Limba RENEWAL
Rodrigues I BriddickAustraliaIoni Bowcher PROPOSAL
James V PerinCanadaStephen Shaw UNQUALIFIED
Clifford L RutaUnited KingdomIvan Magalhaes RENEWAL
Clifford W SergiGermanyAnna Fali RENEWAL
Kaitlin F GauchoRussiaBernardo Dominic NEGOTIATION
Alejandro R CaudyJapanAnna Fali PROPOSAL
Clifford I SlusarskiGermanyIoni Bowcher NEGOTIATION
Mayumi N MaletGermanyOnyama Limba PROPOSAL
Chavez G PoquetteItalyStephen Shaw RENEWAL
Octavia J FlosiBrazilStephen Shaw RENEWAL
Aika R MacleadRussiaAsiya Javayant NEW
Aditya I RimRussiaIvan Magalhaes NEW
Tony B NestleArgentinaIoni Bowcher NEGOTIATION
Emily B CampainArgentinaStephen Shaw QUALIFIED
Smith X MarrierGermanyOnyama Limba QUALIFIED
Arvin G KuskoAustraliaOnyama Limba NEGOTIATION
Ashley X StockhamArgentinaOnyama Limba PROPOSAL
Aika U BowleyUnited KingdomElwin Sharvill NEW

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