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
Kaitlin M KuskoSpainXuxue Feng RENEWAL
Mujtaba D CaldareraGermanyElwin Sharvill NEW
Leon A MaletUnited KingdomStephen Shaw PROPOSAL
Maria L WaycottJapanIvan Magalhaes NEGOTIATION
Maria J PerinRussiaBernardo Dominic NEW
Johnson K FlosiArgentinaBernardo Dominic NEGOTIATION
Ivar Q InouyeGermanyXuxue Feng QUALIFIED
Darci N WieserRussiaElwin Sharvill NEGOTIATION
Mayumi B KolmetzArgentinaStephen Shaw RENEWAL
Ivar B CaldareraItalyIvan Magalhaes UNQUALIFIED
Clifford R KolmetzUnited KingdomAsiya Javayant NEW
Julie L StensethIndiaStephen Shaw NEW
Munro U FollerRussiaIvan Magalhaes NEW
Aruna W MorascaGermanyIoni Bowcher UNQUALIFIED
Kaitlin T CaldareraItalyXuxue Feng RENEWAL
Deepesh E KuskoArgentinaAnna Fali PROPOSAL
Leon U GillianFranceXuxue Feng UNQUALIFIED
Cody T ButtRussiaElwin Sharvill NEW
Antonio H CaudyUnited KingdomAmy Elsner NEW
Alejandro B VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Maisha P BologniaAustraliaElwin Sharvill UNQUALIFIED
Aruna D GillianBrazilElwin Sharvill RENEWAL
Munro X VocelkaUnited KingdomElwin Sharvill UNQUALIFIED
Izzy A PaprockiIndiaAnna Fali NEGOTIATION
Johnson D IturbideItalyElwin Sharvill PROPOSAL
Chavez B IturbideCanadaElwin Sharvill QUALIFIED
Aditya L OldroydJapanStephen Shaw NEW
Cody D MarrierJapanElwin Sharvill UNQUALIFIED
Juan P BriddickArgentinaIoni Bowcher QUALIFIED
Maisha R NickaGermanyXuxue Feng PROPOSAL
Rodrigues S NestleIndiaAsiya Javayant RENEWAL
Jeanfrancois U AlbaresJapanAnna Fali RENEWAL
Leon E CaldareraGermanyStephen Shaw QUALIFIED
Juan E BowleyBrazilIoni Bowcher UNQUALIFIED
Maria H ButtArgentinaXuxue Feng PROPOSAL
Ivar G AmigonArgentinaBernardo Dominic NEW
Murillo V SchemmerItalyIvan Magalhaes RENEWAL
Morrow G CaldareraArgentinaXuxue Feng NEW
Murillo E VocelkaRussiaAsiya Javayant PROPOSAL
Julie I BriddickRussiaElwin Sharvill QUALIFIED
Juan F VenereBrazilOnyama Limba QUALIFIED
David X SchemmerFranceStephen Shaw QUALIFIED
Antonio Z NickaFranceAmy Elsner NEW
Aditya B BologniaUnited KingdomStephen Shaw PROPOSAL
Chavez M DilliardArgentinaStephen Shaw PROPOSAL
Adams O GlickItalyBernardo Dominic QUALIFIED
Chavez A ChuiIndiaAnna Fali NEW
Johnson V GarufiArgentinaAnna Fali NEGOTIATION
Ricardo S BriddickUnited KingdomElwin Sharvill QUALIFIED
Kaitlin X CampainJapanAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria U FlosiGermanyStephen Shaw RENEWAL
Silvio V PerinBrazilXuxue Feng RENEWAL
Jennifer P IturbideIndiaAmy Elsner NEGOTIATION
Isabel D BologniaSpainIoni Bowcher RENEWAL
Kaitlin N MaletAustraliaIoni Bowcher UNQUALIFIED
Rodrigues Y RoysterGermanyOnyama Limba RENEWAL
Nicolas E GauchoItalyBernardo Dominic RENEWAL
James K OstroskyBrazilAmy Elsner UNQUALIFIED
Silvio Z PoquetteRussiaXuxue Feng PROPOSAL
Aika T BologniaBrazilIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia R RoysterItaly2024-06-10King, Christopher A Esq QUALIFIED65Stephen Shaw
1001Maisha J OldroydJapan2024-05-30Morlong Associates PROPOSAL37Asiya Javayant
1002Julie A BologniaFrance2024-06-22Buckley Miller Wright UNQUALIFIED60Stephen Shaw
1003Leon C AlbaresJapan2024-05-26Morlong Associates QUALIFIED5Asiya Javayant
1004Ashley L MacleadRussia2024-05-30Truhlar And Truhlar Attys PROPOSAL76Onyama Limba
1005Izzy L MorascaSpain2024-05-28Feiner Bros NEW86Onyama Limba
1006Jennifer K AlbaresBrazil2024-06-02Feiner Bros NEW81Ioni Bowcher
1007Ashley M MorascaBrazil2024-06-13Feiner Bros RENEWAL47Xuxue Feng
1008Faith A WaycottFrance2024-06-16Dorl, James J Esq UNQUALIFIED9Stephen Shaw
1009Morrow O AlbaresSpain2024-05-28Buckley Miller Wright NEGOTIATION12Anna Fali
1010Kadeem O RimItaly2024-06-17Feltz Printing Service RENEWAL32Asiya Javayant
1011Smith P SaylorsBrazil2024-05-26Chanay, Jeffrey A Esq PROPOSAL44Asiya Javayant
1012Ricardo H PoquetteArgentina2024-06-11Feltz Printing Service PROPOSAL79Onyama Limba
1013Ivar H PaprockiAustralia2024-05-26Rangoni Of Florence NEGOTIATION59Stephen Shaw
1014Faith A AmigonArgentina2024-06-01Morlong Associates NEW78Bernardo Dominic
1015Aditya E ButtArgentina2024-05-31Feiner Bros RENEWAL74Onyama Limba
1016Jennifer A NestleFrance2024-06-07Truhlar And Truhlar Attys QUALIFIED0Ivan Magalhaes
1017Arvin Y TollnerItaly2024-06-18King, Christopher A Esq NEW20Anna Fali
1018David V NickaArgentina2024-06-22Rangoni Of Florence UNQUALIFIED81Asiya Javayant
1019Emily Z SergiJapan2024-06-12Rousseaux, Michael Esq NEW28Ivan Magalhaes
1020Arvin W BowleyItaly2024-05-26Printing Dimensions UNQUALIFIED20Anna Fali
1021Tony N MorascaIndia2024-06-05Chapman, Ross E Esq NEGOTIATION60Amy Elsner
1022Emily K StensethIndia2024-05-28Rousseaux, Michael Esq UNQUALIFIED28Amy Elsner
1023Chavez P FigeroaBrazil2024-06-20Printing Dimensions PROPOSAL44Ivan Magalhaes
1024Costa T KolmetzBrazil2024-06-20Chemel, James L Cpa NEW22Ioni Bowcher
1025Faith M MaletJapan2024-06-12Commercial Press QUALIFIED52Xuxue Feng
1026Salvatore D BowleyArgentina2024-06-11Morlong Associates UNQUALIFIED92Amy Elsner
1027Francesco K VocelkaItaly2024-06-12Rangoni Of Florence RENEWAL21Elwin Sharvill
1028Tony D WieserCanada2024-06-14Rousseaux, Michael Esq NEW68Elwin Sharvill
1029Chavez U BriddickJapan2024-06-17King, Christopher A Esq NEW82Amy Elsner
1030Greenwood F GarufiBrazil2024-06-13Chemel, James L Cpa UNQUALIFIED33Asiya Javayant
1031Aruna F CaldareraUnited Kingdom2024-06-19Rousseaux, Michael Esq NEGOTIATION41Ioni Bowcher
1032Leon K WaycottBrazil2024-06-07Chanay, Jeffrey A Esq PROPOSAL27Bernardo Dominic
1033Misaki J SergiArgentina2024-06-04Chapman, Ross E Esq QUALIFIED71Bernardo Dominic
1034Maria S DilliardItaly2024-05-25Chanay, Jeffrey A Esq QUALIFIED94Onyama Limba
1035Arvin U GillianUnited Kingdom2024-06-19Feltz Printing Service PROPOSAL23Anna Fali
1036Juan W KuskoRussia2024-06-05Rangoni Of Florence UNQUALIFIED0Amy Elsner
1037Deepesh F SchemmerJapan2024-05-26Commercial Press PROPOSAL34Ivan Magalhaes
1038Juan F RimUnited Kingdom2024-06-14Benton, John B Jr UNQUALIFIED97Anna Fali
1039Kadeem H PoquetteArgentina2024-06-09Chanay, Jeffrey A Esq RENEWAL30Amy Elsner
1040Sinclair J MarrierCanada2024-06-13Chemel, James L Cpa QUALIFIED46Onyama Limba
1041Faith I CaudyBrazil2024-06-09Feltz Printing Service NEW8Amy Elsner
1042Kaitlin N GauchoCanada2024-06-11Benton, John B Jr PROPOSAL5Anna Fali
1043Greenwood U SlusarskiIndia2024-06-19Commercial Press RENEWAL84Xuxue Feng
1044James R TollnerAustralia2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED57Asiya Javayant
1045Faith M CampainAustralia2024-05-31Truhlar And Truhlar Attys NEW63Anna Fali
1046Sinclair C AlbaresCanada2024-06-03Rangoni Of Florence NEW13Bernardo Dominic
1047Mujtaba M RutaCanada2024-06-16Feiner Bros RENEWAL13Anna Fali
1048Costa Q FigeroaSpain2024-06-17Benton, John B Jr NEW15Elwin Sharvill
1049Johnson F GlickArgentina2024-06-09Benton, John B Jr UNQUALIFIED55Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Juan Z MarrierItalyIvan Magalhaes QUALIFIED
Chavez N FigeroaFranceXuxue Feng UNQUALIFIED
Leon T GarufiAustraliaIvan Magalhaes RENEWAL
James S MarrierBrazilOnyama Limba UNQUALIFIED
Ivar M GauchoBrazilElwin Sharvill QUALIFIED
Deepesh F DilliardJapanXuxue Feng PROPOSAL
Silvio B DilliardItalyOnyama Limba NEW
Alejandro K MaletItalyOnyama Limba PROPOSAL
Johnson D ButtIndiaBernardo Dominic PROPOSAL
Jefferson Z PaprockiGermanyStephen Shaw UNQUALIFIED
Alejandro Z MacleadBrazilIoni Bowcher NEW
Nicolas F AmigonFranceAnna Fali UNQUALIFIED
Silvio J MarrierFranceStephen Shaw RENEWAL
Leon O GillianRussiaIvan Magalhaes QUALIFIED
Francesco W SergiGermanyXuxue Feng PROPOSAL
Aditya W VenereIndiaAnna Fali NEW
Aditya J CampainItalyXuxue Feng RENEWAL
Chavez R StockhamFranceIoni Bowcher NEW
Isabel U FigeroaRussiaStephen Shaw NEGOTIATION
Claire N FollerUnited KingdomElwin Sharvill NEW
Jeanfrancois E TollnerBrazilAnna Fali NEGOTIATION
Ashley C DarakjyCanadaXuxue Feng QUALIFIED
Claire E VenereIndiaXuxue Feng RENEWAL
Isabel E InouyeBrazilAmy Elsner UNQUALIFIED
David X GillianArgentinaOnyama Limba RENEWAL
Mayumi L GillianFranceAmy Elsner NEGOTIATION
Morrow R StockhamBrazilBernardo Dominic NEW
Aika Q MaletCanadaAnna Fali RENEWAL
Mujtaba A VenereAustraliaElwin Sharvill QUALIFIED
Kadeem C BologniaArgentinaElwin Sharvill PROPOSAL
Maisha V WieserRussiaAnna Fali NEW
Nicolas L MaletBrazilIvan Magalhaes QUALIFIED
Greenwood E AlbaresCanadaElwin Sharvill NEGOTIATION
Leja S ButtBrazilStephen Shaw QUALIFIED
Ricardo B KuskoIndiaAsiya Javayant NEGOTIATION
Izzy I VenereCanadaElwin Sharvill PROPOSAL
Salvatore A GarufiIndiaOnyama Limba NEGOTIATION
Aruna R FerenczUnited KingdomXuxue Feng RENEWAL
Ricardo L InouyeJapanStephen Shaw PROPOSAL
Aika Z PoquetteItalyBernardo Dominic NEGOTIATION
Clifford B SlusarskiCanadaOnyama Limba PROPOSAL
Ricardo Q MarrierJapanAsiya Javayant QUALIFIED
Emily Y PaprockiIndiaAnna Fali UNQUALIFIED
Johnson W RoysterJapanAnna Fali NEW
Jones B CaudyArgentinaAsiya Javayant UNQUALIFIED
Sinclair X DilliardArgentinaStephen Shaw NEGOTIATION
Costa N MacleadSpainIoni Bowcher UNQUALIFIED
Johnson I RulapaughGermanyOnyama Limba QUALIFIED
Aditya P MorascaBrazilAnna Fali PROPOSAL
Costa O AmigonRussiaBernardo Dominic NEGOTIATION
Frozen Columns
Name
James P Wieser
Murillo H Nestle
Antonio L Vocelka
Leja S Waycott
Maisha J Kusko
Juan Z Malet
Ivar A Stockham
Ivar Z Briddick
David L Iturbide
Chavez F Ruta
Misaki O Foller
Ivar G Marrier
Rodrigues J Albares
Wickens K Slusarski
Octavia P Saylors
Isabel G Iturbide
Jeanfrancois P Stenseth
Claire W Flosi
Jeanfrancois G Gillian
Jones O Butt
Deepesh Q Figeroa
Maria L Caldarera
Emily J Albares
Leja C Rim
Octavia D Schemmer
Octavia H Amigon
Chavez S Poquette
Munro F Glick
Jones Q Doe
Izzy T Shinko
Faith T Caudy
Francesco Q Bolognia
Clifford G Slusarski
Francesco U Vocelka
Tony L Caldarera
Greenwood O Doe
Wickens L Amigon
Ashley B Waycott
Kadeem S Sergi
Munro J Gillian
Isabel W Venere
Juan P Albares
Izzy L Ferencz
Maria Q Paprocki
Aika Z Morasca
Maria Q Foller
David I Saylors
Jefferson X Bolognia
Maisha E Maclead
Kadeem P Campain
IdCountryDate
1000Spain2024-06-16
1001France2024-06-08
1002Australia2024-06-15
1003France2024-06-13
1004United Kingdom2024-06-11
1005Spain2024-06-05
1006Russia2024-06-01
1007Brazil2024-06-11
1008Spain2024-05-27
1009Canada2024-06-05
1010Japan2024-05-26
1011Spain2024-06-09
1012Japan2024-06-18
1013United Kingdom2024-06-19
1014Canada2024-06-13
1015Australia2024-06-07
1016France2024-05-27
1017United Kingdom2024-06-23
1018Germany2024-06-03
1019Argentina2024-06-07
1020Russia2024-06-20
1021Japan2024-06-23
1022Canada2024-06-02
1023Italy2024-06-18
1024Australia2024-05-29
1025United Kingdom2024-06-13
1026India2024-06-09
1027United Kingdom2024-05-30
1028Russia2024-06-18
1029Brazil2024-06-23
1030Australia2024-06-11
1031France2024-05-30
1032United Kingdom2024-06-07
1033Italy2024-06-11
1034Japan2024-06-20
1035Australia2024-05-29
1036France2024-06-08
1037Brazil2024-06-06
1038Japan2024-06-14
1039Spain2024-06-06
1040Italy2024-06-01
1041Japan2024-06-06
1042India2024-06-03
1043Spain2024-06-03
1044Brazil2024-06-19
1045Italy2024-05-25
1046Brazil2024-06-23
1047Italy2024-06-10
1048Russia2024-06-02
1049Australia2024-05-27

On-Demand Data

NameIdCountryDate
Cody J Wieser1000Russia2024-06-14
David H Royster1001United Kingdom2024-06-23
Greenwood Y Shinko1002United Kingdom2024-06-07
Munro M Wieser1003Germany2024-06-23
James L Marrier1004Russia2024-06-22
Cody H Schemmer1005France2024-05-26
Ivar E Foller1006Brazil2024-06-09
Ricardo M Ruta1007Argentina2024-06-19
Cody M Dilliard1008Australia2024-06-13
Emily D Kusko1009Germany2024-05-30
Faith J Wieser1010United Kingdom2024-06-13
Costa U Caldarera1011Australia2024-06-02
Murillo P Butt1012Spain2024-06-06
Octavia F Oldroyd1013Spain2024-06-15
Adams Z Ruta1014Spain2024-06-23
Sinclair U Garufi1015Russia2024-06-21
Deepesh W Wieser1016United Kingdom2024-06-17
Nicolas Q Inouye1017India2024-05-30
Nicolas Y Glick1018India2024-06-05
Salvatore Y Caldarera1019Italy2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez F GlickGermanyStephen Shaw RENEWAL
Wickens Z CaudyCanadaOnyama Limba NEW
Leja L BowleyArgentinaXuxue Feng PROPOSAL
Mujtaba W FerenczIndiaXuxue Feng NEGOTIATION
Morrow G GarufiIndiaAnna Fali NEGOTIATION
Darci C SlusarskiItalyAmy Elsner PROPOSAL
Sinclair K TollnerRussiaAmy Elsner PROPOSAL
Arvin W WhobreySpainElwin Sharvill QUALIFIED
Jones Y FollerJapanIvan Magalhaes UNQUALIFIED
Clifford Y GarufiItalyXuxue Feng NEW
Arvin M CaldareraItalyStephen Shaw NEW
Adams R RulapaughSpainOnyama Limba NEW
Isabel J ButtIndiaElwin Sharvill UNQUALIFIED
Maisha Q FerenczItalyOnyama Limba PROPOSAL
Kaitlin D PerinSpainIvan Magalhaes QUALIFIED
Clifford C MacleadArgentinaXuxue Feng QUALIFIED
Tony Y AlbaresItalyAsiya Javayant NEW
Cody I FlosiBrazilBernardo Dominic UNQUALIFIED
Johnson Z KuskoSpainElwin Sharvill PROPOSAL
Kaitlin N ShinkoAustraliaElwin Sharvill NEGOTIATION
Deepesh X FerenczItalyAmy Elsner NEW
Jennifer B DoeIndiaAmy Elsner NEW
Faith M RutaIndiaAmy Elsner RENEWAL
Arvin C GillianIndiaOnyama Limba NEGOTIATION
Nicolas O MaletCanadaAsiya Javayant NEW
Salvatore L RimAustraliaOnyama Limba UNQUALIFIED
Jones F OldroydUnited KingdomIoni Bowcher NEW
Adams B BriddickUnited KingdomAsiya Javayant PROPOSAL
Antonio A PaprockiBrazilBernardo Dominic PROPOSAL
Maisha L DoeIndiaOnyama Limba RENEWAL
Tony F GauchoAustraliaIoni Bowcher NEGOTIATION
Jones O MorascaBrazilIvan Magalhaes RENEWAL
Leja M FigeroaBrazilStephen Shaw QUALIFIED
Wickens Y InouyeSpainAnna Fali PROPOSAL
Octavia S DoeCanadaXuxue Feng RENEWAL
Juan Z BowleyIndiaIoni Bowcher UNQUALIFIED
Adams N RoysterJapanAsiya Javayant QUALIFIED
Ashley R SaylorsArgentinaElwin Sharvill QUALIFIED
James Y FigeroaIndiaIoni Bowcher RENEWAL
Jennifer Y OstroskyJapanIoni Bowcher NEGOTIATION

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