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
Morrow J PoquetteArgentinaOnyama Limba NEGOTIATION
Misaki H RoysterItalyXuxue Feng RENEWAL
Alejandro F MorascaCanadaStephen Shaw UNQUALIFIED
Jennifer X RutaSpainXuxue Feng NEGOTIATION
Antonio P MaletCanadaAsiya Javayant QUALIFIED
David R WaycottGermanyStephen Shaw RENEWAL
Antonio H MorascaAustraliaAsiya Javayant RENEWAL
Juan Q RoysterIndiaOnyama Limba NEW
Darci L PoquetteCanadaBernardo Dominic PROPOSAL
Antonio Q StockhamBrazilIvan Magalhaes QUALIFIED
Ivar Y GarufiSpainXuxue Feng NEGOTIATION
Greenwood T VenereArgentinaXuxue Feng UNQUALIFIED
Aditya W ShinkoRussiaAnna Fali UNQUALIFIED
Munro U RutaJapanAnna Fali RENEWAL
Nicolas I FlosiGermanyAnna Fali RENEWAL
Leon V ChuiJapanIvan Magalhaes RENEWAL
Claire O BriddickFranceBernardo Dominic UNQUALIFIED
Aruna B StockhamCanadaAsiya Javayant PROPOSAL
Smith T KuskoBrazilBernardo Dominic UNQUALIFIED
James I WieserIndiaOnyama Limba QUALIFIED
Wickens J FigeroaBrazilIvan Magalhaes QUALIFIED
Darci K PaprockiJapanIvan Magalhaes UNQUALIFIED
Munro E WhobreyRussiaIvan Magalhaes NEW
Faith C FigeroaGermanyAnna Fali QUALIFIED
Deepesh G KolmetzGermanyIvan Magalhaes PROPOSAL
Maisha U ShinkoArgentinaAsiya Javayant PROPOSAL
Jefferson F RulapaughAustraliaStephen Shaw UNQUALIFIED
Antonio B KuskoUnited KingdomBernardo Dominic NEW
Maisha Z KuskoSpainOnyama Limba PROPOSAL
Chavez C IturbideAustraliaIoni Bowcher PROPOSAL
Jeanfrancois D NickaJapanBernardo Dominic QUALIFIED
Maria W SlusarskiBrazilXuxue Feng NEGOTIATION
Izzy L PoquetteAustraliaElwin Sharvill QUALIFIED
Juan M GarufiItalyAsiya Javayant UNQUALIFIED
Murillo O WhobreyItalyIvan Magalhaes QUALIFIED
Aditya G KolmetzRussiaIoni Bowcher NEGOTIATION
Morrow N DoeRussiaAmy Elsner PROPOSAL
Costa C RutaBrazilStephen Shaw NEGOTIATION
Arvin K RimUnited KingdomElwin Sharvill RENEWAL
Ashley J GillianFranceXuxue Feng PROPOSAL
Silvio T GarufiJapanIvan Magalhaes PROPOSAL
Francesco U OldroydArgentinaIoni Bowcher PROPOSAL
Morrow O DoeBrazilStephen Shaw NEW
Salvatore C FerenczJapanStephen Shaw QUALIFIED
Morrow I RoysterJapanIoni Bowcher PROPOSAL
Stacey H GarufiArgentinaStephen Shaw UNQUALIFIED
Jefferson P RimCanadaBernardo Dominic PROPOSAL
Juan Z ChuiArgentinaOnyama Limba QUALIFIED
Emily H BologniaJapanStephen Shaw QUALIFIED
Maria S ShinkoCanadaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey N CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Antonio W SergiGermanyElwin Sharvill NEGOTIATION
Darci D KuskoUnited KingdomAmy Elsner PROPOSAL
Costa M PaprockiGermanyIvan Magalhaes PROPOSAL
Ivar L BriddickFranceBernardo Dominic PROPOSAL
Salvatore K VocelkaGermanyXuxue Feng NEW
Tony Y BologniaSpainAmy Elsner NEW
Juan O GauchoUnited KingdomOnyama Limba QUALIFIED
Chavez G MacleadAustraliaStephen Shaw NEW
Juan Y MaletItalyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan U MaletArgentina2024-06-15Benton, John B Jr PROPOSAL20Anna Fali
1001Juan M DoeArgentina2024-06-16Truhlar And Truhlar Attys QUALIFIED31Ioni Bowcher
1002Wickens J CampainIndia2024-06-07Chapman, Ross E Esq NEGOTIATION2Stephen Shaw
1003Smith V SergiArgentina2024-06-08Rousseaux, Michael Esq QUALIFIED24Bernardo Dominic
1004Jeanfrancois E ChuiItaly2024-06-07Benton, John B Jr NEW32Ioni Bowcher
1005David H StensethIndia2024-05-26Truhlar And Truhlar Attys NEGOTIATION70Amy Elsner
1006Rodrigues L OstroskyAustralia2024-06-18Commercial Press NEW4Amy Elsner
1007Aruna N WieserJapan2024-06-15Chapman, Ross E Esq UNQUALIFIED10Ioni Bowcher
1008Leja I WieserCanada2024-06-19Chemel, James L Cpa RENEWAL54Ivan Magalhaes
1009Deepesh G AlbaresFrance2024-06-03Feiner Bros PROPOSAL53Ivan Magalhaes
1010Jefferson H GillianJapan2024-06-04Benton, John B Jr NEGOTIATION79Asiya Javayant
1011Aika M MaletCanada2024-06-21Feiner Bros UNQUALIFIED69Ivan Magalhaes
1012Greenwood U MaletCanada2024-06-06Morlong Associates QUALIFIED50Ivan Magalhaes
1013Jennifer N IturbideArgentina2024-05-29Commercial Press NEW88Ivan Magalhaes
1014Tony M KuskoCanada2024-06-14Printing Dimensions NEW5Ivan Magalhaes
1015Misaki F GlickUnited Kingdom2024-05-25Printing Dimensions NEW26Ivan Magalhaes
1016Kadeem E RutaItaly2024-06-20Chapman, Ross E Esq PROPOSAL81Stephen Shaw
1017Faith Q PerinGermany2024-05-30Truhlar And Truhlar Attys QUALIFIED59Ioni Bowcher
1018Aika Z MorascaBrazil2024-06-14Printing Dimensions QUALIFIED3Ioni Bowcher
1019Aditya M BologniaRussia2024-05-24Chanay, Jeffrey A Esq RENEWAL16Asiya Javayant
1020Maisha Z NestleCanada2024-06-16Buckley Miller Wright NEW93Xuxue Feng
1021Faith I PaprockiAustralia2024-06-02Truhlar And Truhlar Attys PROPOSAL12Ioni Bowcher
1022James L FigeroaArgentina2024-06-06Feltz Printing Service PROPOSAL74Asiya Javayant
1023Antonio Q MorascaSpain2024-06-04Rangoni Of Florence NEW94Elwin Sharvill
1024Smith S NickaRussia2024-06-14Buckley Miller Wright RENEWAL13Ivan Magalhaes
1025Jones E DarakjyCanada2024-05-31Feiner Bros RENEWAL6Bernardo Dominic
1026Maisha A SchemmerIndia2024-06-11King, Christopher A Esq UNQUALIFIED31Bernardo Dominic
1027Sinclair C IturbideAustralia2024-05-28King, Christopher A Esq NEW24Bernardo Dominic
1028Emily U MaletArgentina2024-06-09Truhlar And Truhlar Attys QUALIFIED90Ioni Bowcher
1029Smith D OldroydUnited Kingdom2024-06-06Truhlar And Truhlar Attys NEGOTIATION58Anna Fali
1030Costa D SergiUnited Kingdom2024-06-01Chemel, James L Cpa RENEWAL65Ivan Magalhaes
1031Emily I TollnerUnited Kingdom2024-05-29Benton, John B Jr NEGOTIATION91Elwin Sharvill
1032Chavez B RulapaughIndia2024-06-13Truhlar And Truhlar Attys RENEWAL64Stephen Shaw
1033Jennifer K OstroskySpain2024-06-09Commercial Press NEGOTIATION61Anna Fali
1034Johnson R CaldareraFrance2024-06-06King, Christopher A Esq QUALIFIED67Anna Fali
1035Ivar G CaudyItaly2024-05-28Printing Dimensions RENEWAL29Ioni Bowcher
1036Faith P BologniaAustralia2024-06-05Rangoni Of Florence UNQUALIFIED54Anna Fali
1037Morrow W SchemmerBrazil2024-05-29Feltz Printing Service NEW18Stephen Shaw
1038Mujtaba N VenereAustralia2024-06-14Dorl, James J Esq RENEWAL12Ivan Magalhaes
1039Murillo A SlusarskiAustralia2024-06-08Morlong Associates NEGOTIATION14Xuxue Feng
1040Smith Q RimItaly2024-05-26Printing Dimensions PROPOSAL40Amy Elsner
1041Jones M CaldareraAustralia2024-06-07Printing Dimensions UNQUALIFIED11Bernardo Dominic
1042Juan B KolmetzGermany2024-06-05Chapman, Ross E Esq UNQUALIFIED30Asiya Javayant
1043Emily V PoquetteJapan2024-05-27Chanay, Jeffrey A Esq NEGOTIATION53Anna Fali
1044Greenwood N GlickArgentina2024-06-07Dorl, James J Esq PROPOSAL42Onyama Limba
1045Costa V GarufiArgentina2024-06-07King, Christopher A Esq NEGOTIATION29Onyama Limba
1046Ivar Z ShinkoArgentina2024-06-06Printing Dimensions NEGOTIATION96Xuxue Feng
1047David W SergiArgentina2024-06-08Chanay, Jeffrey A Esq RENEWAL17Anna Fali
1048Maisha A NickaIndia2024-06-15King, Christopher A Esq RENEWAL49Stephen Shaw
1049Alejandro M NickaRussia2024-06-09Buckley Miller Wright NEGOTIATION96Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Adams L StockhamUnited KingdomAmy Elsner RENEWAL
Juan R FollerSpainElwin Sharvill NEW
Aditya K NestleArgentinaIvan Magalhaes RENEWAL
Aika S WieserItalyXuxue Feng PROPOSAL
Johnson Y IturbideJapanStephen Shaw QUALIFIED
Sinclair H WieserIndiaElwin Sharvill UNQUALIFIED
Faith A GarufiSpainXuxue Feng QUALIFIED
Leon Y ChuiJapanAnna Fali PROPOSAL
Izzy H NestleCanadaAnna Fali NEGOTIATION
Jennifer W SergiRussiaAmy Elsner NEW
Smith P PaprockiRussiaBernardo Dominic QUALIFIED
Smith O KolmetzSpainIvan Magalhaes NEGOTIATION
David F GlickSpainXuxue Feng RENEWAL
Ashley V DarakjyJapanBernardo Dominic UNQUALIFIED
Rodrigues Y PoquetteFranceStephen Shaw NEW
Clifford G RimItalyOnyama Limba NEGOTIATION
Alejandro P NickaFranceStephen Shaw UNQUALIFIED
Claire Z AmigonBrazilAsiya Javayant PROPOSAL
Leon W PoquetteItalyAmy Elsner UNQUALIFIED
Leja N CampainJapanAmy Elsner NEGOTIATION
Wickens H SchemmerFranceBernardo Dominic QUALIFIED
Deepesh J NestleSpainAnna Fali NEGOTIATION
Chavez Y PerinSpainBernardo Dominic QUALIFIED
Mayumi O KolmetzItalyIvan Magalhaes PROPOSAL
Julie L CaldareraFranceElwin Sharvill PROPOSAL
Johnson H GarufiUnited KingdomAmy Elsner NEGOTIATION
Ivar E FollerFranceIoni Bowcher UNQUALIFIED
Juan G CaldareraItalyXuxue Feng RENEWAL
Stacey R BowleyCanadaAmy Elsner QUALIFIED
Sinclair F WhobreyGermanyOnyama Limba UNQUALIFIED
Deepesh F FlosiUnited KingdomAnna Fali UNQUALIFIED
Izzy T InouyeSpainElwin Sharvill NEW
Emily L GillianAustraliaStephen Shaw NEGOTIATION
Nicolas Z AmigonJapanAmy Elsner QUALIFIED
Wickens A AmigonRussiaBernardo Dominic UNQUALIFIED
Darci C NickaIndiaAmy Elsner QUALIFIED
Jeanfrancois E OldroydRussiaAsiya Javayant PROPOSAL
Murillo Y WaycottBrazilIoni Bowcher NEW
Jefferson X SergiCanadaOnyama Limba QUALIFIED
Adams M MorascaRussiaStephen Shaw NEW
James E WieserJapanAsiya Javayant RENEWAL
Deepesh L SchemmerAustraliaBernardo Dominic RENEWAL
Octavia S IturbideUnited KingdomIvan Magalhaes NEW
Cody E FollerJapanXuxue Feng UNQUALIFIED
Misaki U PaprockiFranceIvan Magalhaes QUALIFIED
Munro O NestleSpainAmy Elsner NEW
Chavez D SchemmerGermanyBernardo Dominic NEW
Johnson O NickaCanadaOnyama Limba UNQUALIFIED
Emily P CaldareraItalyIoni Bowcher UNQUALIFIED
Cody A WaycottJapanAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Jones X Campain
Isabel Q Stenseth
Greenwood I Morasca
Faith V Rulapaugh
Jeanfrancois F Inouye
Greenwood M Malet
Faith P Iturbide
Antonio G Albares
Greenwood O Flosi
Cody O Amigon
James S Darakjy
Sinclair J Tollner
Cody Z Inouye
Misaki G Schemmer
Jeanfrancois M Chui
Rodrigues K Poquette
Smith C Poquette
Darci C Tollner
James K Chui
Munro G Tollner
Wickens Y Foller
Ashley R Waycott
Deepesh W Caudy
Jennifer N Briddick
Kadeem P Poquette
Mayumi F Inouye
Claire K Stenseth
Silvio F Shinko
Clifford R Schemmer
Deepesh M Doe
Nicolas V Ruta
Jones B Malet
Kadeem T Amigon
Munro Q Stockham
Silvio I Saylors
Salvatore T Waycott
David E Ruta
Maisha C Iturbide
Jones H Tollner
Isabel P Maclead
Leja M Nicka
Kaitlin R Nicka
Kaitlin S Wieser
Isabel H Nestle
Leon I Nestle
Julie M Kusko
James G Morasca
Stacey Z Amigon
Deepesh N Kolmetz
Murillo K Vocelka
IdCountryDate
1000Spain2024-05-25
1001France2024-06-17
1002Spain2024-06-11
1003India2024-05-29
1004Spain2024-06-03
1005Argentina2024-06-05
1006Brazil2024-06-06
1007Australia2024-06-12
1008Japan2024-06-07
1009Germany2024-06-16
1010Canada2024-06-22
1011Russia2024-06-20
1012United Kingdom2024-06-17
1013Argentina2024-06-02
1014Argentina2024-06-03
1015Canada2024-06-10
1016Italy2024-05-28
1017Brazil2024-06-09
1018Japan2024-05-30
1019India2024-06-05
1020Italy2024-05-25
1021Japan2024-06-14
1022Australia2024-05-26
1023United Kingdom2024-06-19
1024Italy2024-06-17
1025Spain2024-06-02
1026Argentina2024-06-22
1027Russia2024-06-19
1028Japan2024-05-24
1029Germany2024-06-09
1030Australia2024-06-13
1031Germany2024-05-25
1032Spain2024-06-05
1033Germany2024-06-03
1034Argentina2024-06-21
1035Canada2024-05-31
1036India2024-05-30
1037Germany2024-05-30
1038Germany2024-06-02
1039Russia2024-06-21
1040Italy2024-06-09
1041Argentina2024-06-03
1042Argentina2024-06-04
1043Russia2024-06-17
1044United Kingdom2024-06-01
1045Spain2024-06-19
1046Canada2024-06-22
1047Argentina2024-06-20
1048Germany2024-05-24
1049India2024-06-10

On-Demand Data

NameIdCountryDate
Aika A Inouye1000Argentina2024-06-22
Adams U Stockham1001Japan2024-06-08
Ivar O Dilliard1002India2024-06-10
Leon Z Butt1003Argentina2024-06-04
Leja X Flosi1004Russia2024-05-25
James D Waycott1005Canada2024-05-29
Darci J Ferencz1006Italy2024-05-28
Leon E Briddick1007Australia2024-06-13
Mayumi V Flosi1008France2024-06-10
Deepesh Y Bowley1009India2024-06-20
Jeanfrancois U Bowley1010Italy2024-06-14
Salvatore Z Malet1011Argentina2024-05-30
Jones W Poquette1012Italy2024-05-25
Aruna V Bowley1013United Kingdom2024-06-07
Darci L Butt1014Italy2024-06-21
Emily F Caldarera1015Brazil2024-06-13
Nicolas M Wieser1016Spain2024-06-12
Mujtaba R Caldarera1017India2024-06-02
Chavez U Nestle1018France2024-06-14
Julie Z Venere1019France2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar Y MorascaBrazilIoni Bowcher UNQUALIFIED
Ricardo R KolmetzSpainOnyama Limba QUALIFIED
Isabel L MacleadBrazilStephen Shaw UNQUALIFIED
Chavez E DilliardUnited KingdomIoni Bowcher NEW
David Q IturbideCanadaIoni Bowcher PROPOSAL
Cody V PaprockiFranceAnna Fali RENEWAL
Mujtaba Y AmigonRussiaXuxue Feng UNQUALIFIED
Greenwood T VocelkaCanadaBernardo Dominic PROPOSAL
Aruna M IturbideRussiaOnyama Limba NEW
Adams L PaprockiIndiaXuxue Feng NEW
Cody W OldroydBrazilAmy Elsner RENEWAL
Kadeem E WieserJapanIvan Magalhaes PROPOSAL
James N DoeArgentinaAmy Elsner NEW
Kadeem J OstroskyFranceAnna Fali NEGOTIATION
Francesco S DarakjyBrazilAsiya Javayant RENEWAL
Emily X VenereArgentinaOnyama Limba NEW
Stacey Q RoysterRussiaIvan Magalhaes PROPOSAL
Clifford D BriddickBrazilIoni Bowcher NEW
Alejandro F ShinkoJapanAnna Fali NEW
Munro O RoysterGermanyElwin Sharvill QUALIFIED
Ivar Y CaldareraGermanyAnna Fali NEW
Juan D CaldareraAustraliaIvan Magalhaes NEGOTIATION
Octavia Q RutaRussiaAnna Fali QUALIFIED
Antonio R FlosiArgentinaAsiya Javayant NEGOTIATION
Nicolas P PaprockiSpainStephen Shaw PROPOSAL
Maria E MacleadJapanOnyama Limba NEGOTIATION
Aruna D NestleFranceIoni Bowcher NEGOTIATION
Jeanfrancois C NestleIndiaElwin Sharvill NEW
Silvio I ButtArgentinaAnna Fali RENEWAL
Francesco N PaprockiUnited KingdomAmy Elsner QUALIFIED
Stacey X FlosiArgentinaAmy Elsner NEW
Julie W PaprockiBrazilAsiya Javayant NEGOTIATION
Chavez D ChuiSpainBernardo Dominic RENEWAL
Isabel N MaletGermanyIvan Magalhaes QUALIFIED
Ricardo U FerenczIndiaOnyama Limba QUALIFIED
Salvatore B SlusarskiUnited KingdomAnna Fali RENEWAL
Morrow Y FerenczUnited KingdomOnyama Limba PROPOSAL
Clifford K ChuiJapanIoni Bowcher NEGOTIATION
Maria N BologniaAustraliaXuxue Feng NEGOTIATION
Jennifer A CampainCanadaElwin 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>