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
Jennifer T AmigonRussiaBernardo Dominic NEGOTIATION
Cody H CampainAustraliaElwin Sharvill UNQUALIFIED
Adams M MacleadJapanAsiya Javayant QUALIFIED
Antonio Y PaprockiFranceAsiya Javayant UNQUALIFIED
Morrow H IturbideIndiaElwin Sharvill UNQUALIFIED
Jeanfrancois R GauchoCanadaAmy Elsner UNQUALIFIED
Murillo I CampainFranceAmy Elsner UNQUALIFIED
Leon T StockhamCanadaStephen Shaw NEGOTIATION
Arvin H ButtCanadaElwin Sharvill NEW
Munro U VocelkaIndiaXuxue Feng PROPOSAL
Maisha A MorascaCanadaAnna Fali UNQUALIFIED
Julie G AmigonItalyElwin Sharvill RENEWAL
Deepesh F SaylorsSpainAmy Elsner NEW
Sinclair D MaletAustraliaAnna Fali NEW
Octavia D MacleadRussiaBernardo Dominic NEW
Misaki D ChuiFranceAsiya Javayant NEGOTIATION
Antonio U ShinkoAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois A GlickUnited KingdomIvan Magalhaes NEW
Munro R RutaFranceAmy Elsner NEW
Nicolas F StensethSpainBernardo Dominic NEW
Claire P SergiItalyBernardo Dominic UNQUALIFIED
Sinclair B PerinJapanBernardo Dominic NEW
Aditya V BriddickAustraliaXuxue Feng RENEWAL
Kaitlin K NestleJapanXuxue Feng RENEWAL
Leja Y PerinAustraliaAsiya Javayant NEW
Octavia P RutaFranceIvan Magalhaes PROPOSAL
David R CaldareraUnited KingdomAmy Elsner NEGOTIATION
Juan T RutaBrazilElwin Sharvill PROPOSAL
Leja F AmigonArgentinaOnyama Limba QUALIFIED
Maria I MaletBrazilAsiya Javayant RENEWAL
Arvin R InouyeCanadaOnyama Limba UNQUALIFIED
Stacey D CampainAustraliaXuxue Feng NEW
Kadeem D GlickIndiaBernardo Dominic NEGOTIATION
Jeanfrancois D MaletAustraliaIvan Magalhaes PROPOSAL
Cody M GarufiCanadaAnna Fali RENEWAL
Maisha Q DarakjyFranceAsiya Javayant RENEWAL
Murillo B CaldareraItalyAsiya Javayant RENEWAL
Jeanfrancois R ChuiUnited KingdomBernardo Dominic QUALIFIED
Darci E GlickCanadaXuxue Feng NEW
Smith N BowleyJapanElwin Sharvill PROPOSAL
Salvatore J ButtSpainAnna Fali PROPOSAL
Morrow T FollerRussiaElwin Sharvill UNQUALIFIED
Murillo R WieserFranceXuxue Feng UNQUALIFIED
Leja I CampainFranceAmy Elsner PROPOSAL
Alejandro P WieserAustraliaIvan Magalhaes UNQUALIFIED
Nicolas D ButtRussiaIvan Magalhaes PROPOSAL
Isabel M CampainCanadaIoni Bowcher PROPOSAL
Octavia N BowleyAustraliaIvan Magalhaes UNQUALIFIED
Arvin G FlosiBrazilAsiya Javayant PROPOSAL
Jones Q DarakjyArgentinaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Juan L BowleyIndiaIvan Magalhaes UNQUALIFIED
Jefferson Z ShinkoRussiaAmy Elsner RENEWAL
Clifford U WhobreySpainElwin Sharvill QUALIFIED
Aruna V OstroskyBrazilXuxue Feng PROPOSAL
Jeanfrancois M GarufiAustraliaAmy Elsner PROPOSAL
Deepesh G ShinkoCanadaIvan Magalhaes RENEWAL
Murillo D CampainGermanyBernardo Dominic RENEWAL
Julie J GillianSpainAmy Elsner RENEWAL
Silvio A MorascaFranceAmy Elsner NEW
Kaitlin X MacleadUnited KingdomAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith C BowleyItaly2024-06-22Truhlar And Truhlar Attys RENEWAL38Ivan Magalhaes
1001Johnson D FigeroaGermany2024-06-14Rangoni Of Florence NEW94Onyama Limba
1002Mayumi O MaletGermany2024-06-14Chapman, Ross E Esq RENEWAL13Onyama Limba
1003Izzy O SergiUnited Kingdom2024-06-17Feltz Printing Service UNQUALIFIED6Bernardo Dominic
1004Jeanfrancois G KolmetzAustralia2024-06-08Dorl, James J Esq NEGOTIATION76Xuxue Feng
1005Emily M AlbaresJapan2024-06-24Dorl, James J Esq QUALIFIED23Elwin Sharvill
1006Antonio B WhobreyIndia2024-05-28Rousseaux, Michael Esq RENEWAL5Amy Elsner
1007Maisha A MaletBrazil2024-05-31Buckley Miller Wright UNQUALIFIED65Anna Fali
1008Jeanfrancois C RoysterItaly2024-06-14Morlong Associates PROPOSAL54Ioni Bowcher
1009Isabel Q WieserCanada2024-06-23Commercial Press RENEWAL14Anna Fali
1010Aruna C CampainGermany2024-06-13King, Christopher A Esq RENEWAL66Amy Elsner
1011Morrow F FerenczJapan2024-06-22Morlong Associates NEGOTIATION78Ivan Magalhaes
1012Ashley R BriddickRussia2024-06-06Chanay, Jeffrey A Esq QUALIFIED15Ivan Magalhaes
1013Emily W VenereJapan2024-06-02Dorl, James J Esq NEW82Amy Elsner
1014Silvio L VocelkaUnited Kingdom2024-06-10Morlong Associates PROPOSAL38Bernardo Dominic
1015Leja E CampainArgentina2024-06-22Rangoni Of Florence NEGOTIATION79Bernardo Dominic
1016Faith L VenereItaly2024-05-27King, Christopher A Esq RENEWAL43Amy Elsner
1017Wickens Z BriddickUnited Kingdom2024-06-22Feltz Printing Service NEW45Amy Elsner
1018Sinclair D BriddickFrance2024-06-14Buckley Miller Wright RENEWAL9Ioni Bowcher
1019Leon L TollnerFrance2024-06-04Truhlar And Truhlar Attys QUALIFIED33Bernardo Dominic
1020Arvin O StensethBrazil2024-06-14Feiner Bros QUALIFIED45Xuxue Feng
1021Kadeem K VenereArgentina2024-05-30Chapman, Ross E Esq NEGOTIATION27Elwin Sharvill
1022Kaitlin B InouyeCanada2024-06-21Truhlar And Truhlar Attys NEGOTIATION2Amy Elsner
1023Nicolas F KolmetzGermany2024-06-06Chapman, Ross E Esq NEGOTIATION13Bernardo Dominic
1024Jennifer U FlosiItaly2024-06-21Feiner Bros NEW44Elwin Sharvill
1025Tony H BologniaUnited Kingdom2024-06-21Commercial Press UNQUALIFIED48Xuxue Feng
1026Ricardo U AmigonRussia2024-05-28Chapman, Ross E Esq NEW77Stephen Shaw
1027Ivar U AlbaresRussia2024-06-22Feiner Bros QUALIFIED92Ivan Magalhaes
1028Morrow Y CaldareraCanada2024-06-17Dorl, James J Esq NEGOTIATION45Anna Fali
1029Jeanfrancois T ChuiRussia2024-06-02Truhlar And Truhlar Attys UNQUALIFIED98Ioni Bowcher
1030Salvatore J StensethCanada2024-06-02Feiner Bros NEW30Xuxue Feng
1031Arvin R GarufiFrance2024-06-12Printing Dimensions QUALIFIED12Anna Fali
1032Nicolas I VocelkaJapan2024-06-11Chanay, Jeffrey A Esq QUALIFIED94Amy Elsner
1033Johnson S DarakjyAustralia2024-06-22Chemel, James L Cpa QUALIFIED3Ioni Bowcher
1034Francesco J OldroydRussia2024-06-13Chemel, James L Cpa PROPOSAL60Stephen Shaw
1035Salvatore T OstroskyItaly2024-06-04Rangoni Of Florence PROPOSAL38Xuxue Feng
1036David N OldroydFrance2024-06-05Commercial Press UNQUALIFIED32Xuxue Feng
1037Adams K BologniaRussia2024-06-17Printing Dimensions NEW76Amy Elsner
1038Adams Y CaudyRussia2024-05-31Rousseaux, Michael Esq RENEWAL58Ioni Bowcher
1039Juan H OstroskyArgentina2024-05-26Truhlar And Truhlar Attys PROPOSAL45Onyama Limba
1040Silvio X TollnerGermany2024-06-13Printing Dimensions NEGOTIATION45Anna Fali
1041Antonio N CaudyCanada2024-06-17Chemel, James L Cpa NEGOTIATION37Ivan Magalhaes
1042Ashley I CaldareraUnited Kingdom2024-06-04Commercial Press RENEWAL79Onyama Limba
1043Morrow R MaletSpain2024-06-18Buckley Miller Wright RENEWAL14Xuxue Feng
1044Izzy Y IturbideRussia2024-06-06Commercial Press NEW52Amy Elsner
1045Leja C InouyeAustralia2024-06-20Rousseaux, Michael Esq RENEWAL92Ivan Magalhaes
1046James J AmigonArgentina2024-06-18Feltz Printing Service PROPOSAL93Anna Fali
1047Cody I InouyeBrazil2024-06-02Rangoni Of Florence QUALIFIED42Xuxue Feng
1048Clifford M FerenczRussia2024-06-18Feltz Printing Service NEGOTIATION70Anna Fali
1049Antonio H MorascaArgentina2024-06-16Morlong Associates QUALIFIED99Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Chavez B OstroskyArgentinaElwin Sharvill NEW
Leja M NickaSpainAnna Fali NEGOTIATION
Morrow V SergiGermanyIvan Magalhaes NEGOTIATION
Kadeem E MacleadJapanBernardo Dominic PROPOSAL
Leon E CaudyItalyIvan Magalhaes NEW
Faith T RutaUnited KingdomIoni Bowcher QUALIFIED
Smith I PerinArgentinaIoni Bowcher RENEWAL
Maisha G RutaRussiaAsiya Javayant QUALIFIED
Sinclair B KolmetzSpainAmy Elsner NEW
Maisha O AlbaresRussiaAmy Elsner NEW
Leja H MaletJapanStephen Shaw NEGOTIATION
Jeanfrancois Q VenereBrazilXuxue Feng NEW
Mujtaba S FollerUnited KingdomAnna Fali NEW
David S TollnerArgentinaStephen Shaw UNQUALIFIED
Deepesh E MarrierJapanStephen Shaw PROPOSAL
Jennifer J StensethArgentinaAmy Elsner PROPOSAL
Octavia Y MorascaSpainElwin Sharvill QUALIFIED
Stacey K MaletSpainAmy Elsner QUALIFIED
Aditya N AlbaresRussiaXuxue Feng NEGOTIATION
Ashley Z OldroydIndiaStephen Shaw PROPOSAL
Murillo Y PoquetteRussiaStephen Shaw NEGOTIATION
Morrow P WaycottSpainXuxue Feng UNQUALIFIED
Munro X SlusarskiAustraliaOnyama Limba RENEWAL
Rodrigues G BriddickGermanyAmy Elsner QUALIFIED
Mayumi F OldroydGermanyStephen Shaw NEW
Costa C DilliardUnited KingdomAnna Fali UNQUALIFIED
Adams J VocelkaItalyElwin Sharvill QUALIFIED
Munro N RulapaughGermanyAnna Fali QUALIFIED
Jefferson S KuskoItalyOnyama Limba UNQUALIFIED
Leon T FerenczArgentinaOnyama Limba UNQUALIFIED
Kaitlin W PerinFranceBernardo Dominic NEGOTIATION
Johnson D ChuiItalyIvan Magalhaes QUALIFIED
Maria L AmigonItalyBernardo Dominic NEW
Jennifer K IturbideJapanIvan Magalhaes NEW
David J FollerArgentinaStephen Shaw UNQUALIFIED
Arvin Q NickaArgentinaXuxue Feng PROPOSAL
Aika T TollnerAustraliaIoni Bowcher QUALIFIED
Aditya W DilliardJapanAmy Elsner RENEWAL
Morrow I MorascaIndiaAmy Elsner NEW
Ivar I KuskoJapanIoni Bowcher QUALIFIED
Aditya T PerinItalyIoni Bowcher QUALIFIED
Aruna E SergiSpainOnyama Limba UNQUALIFIED
Silvio A DoeItalyIoni Bowcher RENEWAL
Leon P BologniaCanadaOnyama Limba NEW
Emily Q KuskoRussiaAsiya Javayant UNQUALIFIED
Munro T KuskoUnited KingdomOnyama Limba NEW
Francesco A KuskoIndiaOnyama Limba RENEWAL
Juan P SchemmerRussiaAmy Elsner RENEWAL
David W PoquetteItalyStephen Shaw NEGOTIATION
Murillo N IturbideUnited KingdomOnyama Limba NEGOTIATION
Frozen Columns
Name
Leon F Vocelka
Stacey B Marrier
Johnson Z Rim
Deepesh M Figeroa
Isabel X Perin
Alejandro U Marrier
Sinclair H Stockham
Julie P Saylors
Nicolas C Amigon
James S Malet
Stacey M Chui
Greenwood U Doe
Aruna O Vocelka
Ashley K Poquette
Aditya M Royster
Juan W Venere
Juan G Paprocki
Clifford K Stenseth
Antonio Q Shinko
Tony I Tollner
Adams J Figeroa
Aruna H Briddick
Aditya X Caldarera
Maria G Poquette
Aditya R Albares
Rodrigues L Gaucho
Claire K Rulapaugh
Izzy V Venere
Jeanfrancois C Paprocki
Salvatore R Stenseth
Jeanfrancois Z Doe
Kaitlin U Butt
Leon D Gaucho
Adams D Doe
James W Doe
Faith F Campain
Octavia N Wieser
Kadeem B Figeroa
Kadeem M Glick
Adams W Malet
Nicolas D Doe
Sinclair I Royster
Julie J Figeroa
Tony X Stenseth
Francesco G Nestle
David Q Shinko
Jeanfrancois K Tollner
Isabel Q Nicka
Salvatore L Perin
Chavez L Nicka
IdCountryDate
1000Spain2024-05-26
1001Germany2024-06-16
1002United Kingdom2024-06-02
1003Canada2024-06-20
1004France2024-06-24
1005Italy2024-06-16
1006Japan2024-06-01
1007Argentina2024-06-12
1008Canada2024-06-18
1009France2024-06-20
1010Brazil2024-06-12
1011France2024-05-28
1012Brazil2024-06-22
1013Brazil2024-06-03
1014United Kingdom2024-06-13
1015Spain2024-06-22
1016Canada2024-05-27
1017Spain2024-06-08
1018Canada2024-06-02
1019Germany2024-05-28
1020Italy2024-06-11
1021United Kingdom2024-06-02
1022Japan2024-06-02
1023Australia2024-06-19
1024Italy2024-06-23
1025Spain2024-06-01
1026Russia2024-06-12
1027Germany2024-06-15
1028Argentina2024-05-26
1029Australia2024-06-22
1030France2024-06-20
1031Argentina2024-05-29
1032Italy2024-05-27
1033France2024-05-30
1034Italy2024-05-29
1035Brazil2024-06-19
1036Italy2024-06-06
1037Argentina2024-05-30
1038Spain2024-06-18
1039India2024-06-03
1040Russia2024-06-02
1041Spain2024-06-10
1042France2024-06-24
1043Italy2024-05-29
1044Italy2024-06-17
1045Australia2024-05-29
1046Italy2024-06-20
1047United Kingdom2024-06-15
1048Russia2024-06-13
1049Italy2024-06-04

On-Demand Data

NameIdCountryDate
Rodrigues Z Rulapaugh1000India2024-06-13
Izzy R Foller1001Canada2024-06-20
Cody N Whobrey1002Japan2024-06-24
James M Caldarera1003Brazil2024-05-28
Nicolas E Ferencz1004Argentina2024-06-14
Isabel E Figeroa1005Germany2024-06-02
Sinclair H Dilliard1006Italy2024-06-24
Murillo O Ferencz1007Argentina2024-05-27
Darci H Ruta1008India2024-05-28
Nicolas A Iturbide1009Spain2024-06-04
Silvio O Rim1010Germany2024-05-29
Jefferson J Perin1011Japan2024-05-30
Adams X Poquette1012Brazil2024-06-08
Greenwood T Tollner1013Canada2024-06-21
Jones O Saylors1014Spain2024-06-24
Maisha G Figeroa1015Canada2024-05-29
Clifford J Schemmer1016Italy2024-05-30
Leon L Caudy1017Argentina2024-05-26
Francesco E Shinko1018Brazil2024-06-11
Ashley C Malet1019Spain2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily W DarakjyArgentinaXuxue Feng PROPOSAL
Kaitlin R NickaCanadaAsiya Javayant PROPOSAL
Jones G FerenczRussiaXuxue Feng QUALIFIED
Adams W MaletGermanyAsiya Javayant UNQUALIFIED
Aditya C KolmetzFranceAsiya Javayant PROPOSAL
Izzy Z CaldareraCanadaStephen Shaw UNQUALIFIED
Emily Z SlusarskiRussiaAsiya Javayant NEGOTIATION
Morrow B WaycottJapanAsiya Javayant RENEWAL
Tony S PerinIndiaStephen Shaw RENEWAL
Leon S FerenczGermanyStephen Shaw NEGOTIATION
Greenwood J IturbideUnited KingdomBernardo Dominic NEGOTIATION
Aika Q StockhamItalyXuxue Feng RENEWAL
Claire U DilliardJapanStephen Shaw RENEWAL
Rodrigues S CaldareraJapanAmy Elsner UNQUALIFIED
Mujtaba D CaldareraSpainAnna Fali NEGOTIATION
Mujtaba E VocelkaBrazilBernardo Dominic RENEWAL
Julie K OldroydIndiaAsiya Javayant PROPOSAL
Cody J MaletBrazilAmy Elsner QUALIFIED
Ricardo N CaldareraFranceElwin Sharvill QUALIFIED
Octavia L MacleadGermanyXuxue Feng NEGOTIATION
Sinclair F PaprockiJapanAmy Elsner RENEWAL
Cody K WhobreyBrazilElwin Sharvill UNQUALIFIED
Jennifer R AlbaresSpainElwin Sharvill UNQUALIFIED
Jefferson F VocelkaArgentinaOnyama Limba NEW
Kadeem X RulapaughUnited KingdomAnna Fali UNQUALIFIED
Julie Y KolmetzAustraliaAnna Fali UNQUALIFIED
Francesco P MarrierCanadaIoni Bowcher UNQUALIFIED
James B InouyeGermanyElwin Sharvill PROPOSAL
Mayumi H RutaRussiaAnna Fali NEW
Faith D DarakjySpainBernardo Dominic QUALIFIED
Kadeem F PerinSpainElwin Sharvill PROPOSAL
Jones Z DarakjyItalyIvan Magalhaes UNQUALIFIED
Salvatore Y PerinItalyOnyama Limba QUALIFIED
Julie I SlusarskiFranceIvan Magalhaes RENEWAL
Munro J DoeIndiaOnyama Limba UNQUALIFIED
Costa I KolmetzRussiaElwin Sharvill NEW
Maria I SaylorsItalyAnna Fali UNQUALIFIED
Mayumi N OstroskyRussiaAmy Elsner PROPOSAL
David P CaudyUnited KingdomAmy Elsner RENEWAL
Juan G KolmetzRussiaXuxue Feng RENEWAL

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