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
Johnson C GillianBrazilAmy Elsner NEW
Aruna Y GillianGermanyIvan Magalhaes RENEWAL
Tony V RimJapanOnyama Limba RENEWAL
Murillo L WieserCanadaIoni Bowcher PROPOSAL
Juan B FerenczBrazilOnyama Limba QUALIFIED
Rodrigues G FerenczAustraliaAnna Fali PROPOSAL
Sinclair O DilliardIndiaAsiya Javayant RENEWAL
Leja D RimItalyIvan Magalhaes NEW
Silvio Q PerinUnited KingdomXuxue Feng NEGOTIATION
Leja I MacleadUnited KingdomAsiya Javayant PROPOSAL
Antonio H GauchoSpainIoni Bowcher NEW
Costa F KuskoRussiaAmy Elsner UNQUALIFIED
Maria Z FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Smith Y IturbideRussiaIvan Magalhaes NEW
Salvatore M SergiJapanOnyama Limba UNQUALIFIED
Deepesh Y DoeCanadaIoni Bowcher UNQUALIFIED
David N SlusarskiFranceAsiya Javayant RENEWAL
Wickens R MorascaJapanBernardo Dominic UNQUALIFIED
Isabel E FollerJapanAmy Elsner RENEWAL
Julie L CaudyArgentinaIoni Bowcher QUALIFIED
Munro A WaycottRussiaIoni Bowcher QUALIFIED
Greenwood Q FollerJapanOnyama Limba NEGOTIATION
Mujtaba T CampainRussiaBernardo Dominic PROPOSAL
Mayumi D BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Maisha Z StensethIndiaAmy Elsner NEGOTIATION
Antonio C ButtUnited KingdomAnna Fali QUALIFIED
Arvin U GarufiItalyStephen Shaw PROPOSAL
Isabel V SlusarskiAustraliaAnna Fali PROPOSAL
Misaki L CaldareraArgentinaOnyama Limba RENEWAL
Kadeem K CampainUnited KingdomBernardo Dominic PROPOSAL
Arvin M GauchoAustraliaStephen Shaw PROPOSAL
Claire H InouyeBrazilAsiya Javayant NEW
James E GillianIndiaOnyama Limba RENEWAL
Silvio P DarakjyRussiaElwin Sharvill UNQUALIFIED
Mayumi G WieserRussiaAsiya Javayant QUALIFIED
Silvio R DarakjyJapanIvan Magalhaes RENEWAL
David F PerinUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood D RulapaughGermanyIvan Magalhaes NEW
Emily S FollerRussiaIvan Magalhaes NEW
Sinclair G MaletAustraliaOnyama Limba QUALIFIED
James Q CampainBrazilAmy Elsner RENEWAL
Chavez Z RutaCanadaIvan Magalhaes QUALIFIED
Izzy R DoeSpainStephen Shaw PROPOSAL
Octavia Q CampainFranceIoni Bowcher RENEWAL
Rodrigues R ChuiAustraliaAsiya Javayant PROPOSAL
Alejandro K SchemmerBrazilBernardo Dominic QUALIFIED
Silvio M RoysterBrazilElwin Sharvill RENEWAL
Juan N MaletJapanOnyama Limba UNQUALIFIED
Ricardo C CaudySpainAmy Elsner UNQUALIFIED
Jefferson N MacleadAustraliaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore H StensethBrazilOnyama Limba PROPOSAL
Stacey L BriddickCanadaBernardo Dominic UNQUALIFIED
Mayumi S MaletRussiaElwin Sharvill NEW
Aika V CampainGermanyBernardo Dominic NEW
David V VenereAustraliaAmy Elsner NEW
Kadeem F DoeAustraliaBernardo Dominic UNQUALIFIED
Johnson C NestleCanadaAsiya Javayant RENEWAL
Munro X FerenczSpainAnna Fali NEGOTIATION
Arvin P ShinkoIndiaElwin Sharvill NEGOTIATION
Isabel S KolmetzGermanyStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood K SchemmerIndia2024-06-17Rousseaux, Michael Esq QUALIFIED17Asiya Javayant
1001Emily A FigeroaArgentina2024-06-09Truhlar And Truhlar Attys NEGOTIATION84Elwin Sharvill
1002Aditya Z AlbaresSpain2024-06-15Chapman, Ross E Esq UNQUALIFIED40Xuxue Feng
1003David B OstroskyFrance2024-06-01Chanay, Jeffrey A Esq QUALIFIED64Bernardo Dominic
1004Mujtaba Z SaylorsBrazil2024-06-18Printing Dimensions PROPOSAL17Xuxue Feng
1005Faith K DarakjyBrazil2024-05-27Feltz Printing Service UNQUALIFIED4Amy Elsner
1006James O PaprockiIndia2024-05-30Buckley Miller Wright PROPOSAL18Bernardo Dominic
1007Emily I MorascaUnited Kingdom2024-06-04Chapman, Ross E Esq NEGOTIATION45Onyama Limba
1008Aika C MaletJapan2024-06-09King, Christopher A Esq PROPOSAL0Stephen Shaw
1009Jones H MarrierGermany2024-06-22Feiner Bros QUALIFIED47Asiya Javayant
1010James J WhobreyRussia2024-06-21Truhlar And Truhlar Attys NEGOTIATION57Elwin Sharvill
1011Misaki B MacleadSpain2024-06-02Morlong Associates QUALIFIED75Asiya Javayant
1012Adams K CampainAustralia2024-06-15Buckley Miller Wright NEW62Asiya Javayant
1013Morrow Y FollerBrazil2024-06-05Truhlar And Truhlar Attys UNQUALIFIED11Elwin Sharvill
1014Clifford B SlusarskiRussia2024-06-22Truhlar And Truhlar Attys NEW54Bernardo Dominic
1015Ashley R SchemmerAustralia2024-06-21Chanay, Jeffrey A Esq NEGOTIATION71Ivan Magalhaes
1016Munro I DilliardSpain2024-05-25Benton, John B Jr UNQUALIFIED78Xuxue Feng
1017Sinclair P TollnerGermany2024-06-02King, Christopher A Esq RENEWAL97Onyama Limba
1018Rodrigues I GauchoRussia2024-06-14Benton, John B Jr UNQUALIFIED60Stephen Shaw
1019Smith B WaycottSpain2024-06-17Commercial Press RENEWAL11Elwin Sharvill
1020Aditya F RutaSpain2024-06-14Chapman, Ross E Esq UNQUALIFIED57Amy Elsner
1021Jennifer X AlbaresItaly2024-06-19Feiner Bros NEGOTIATION76Bernardo Dominic
1022Jennifer Y KuskoJapan2024-06-23Commercial Press NEW84Amy Elsner
1023Clifford O CaldareraBrazil2024-06-21Rousseaux, Michael Esq QUALIFIED40Xuxue Feng
1024Darci B WieserRussia2024-06-21Feiner Bros PROPOSAL69Asiya Javayant
1025Jeanfrancois R TollnerGermany2024-05-29Buckley Miller Wright RENEWAL18Ivan Magalhaes
1026Misaki N GarufiJapan2024-06-10King, Christopher A Esq QUALIFIED21Ioni Bowcher
1027Kaitlin B MacleadRussia2024-06-11Commercial Press NEW30Ivan Magalhaes
1028Silvio R DarakjySpain2024-06-15Truhlar And Truhlar Attys NEW97Amy Elsner
1029Jeanfrancois P RulapaughSpain2024-06-13Benton, John B Jr NEW93Elwin Sharvill
1030Faith X PaprockiJapan2024-06-02Chapman, Ross E Esq NEGOTIATION44Elwin Sharvill
1031Jefferson U SaylorsAustralia2024-06-12Chemel, James L Cpa NEGOTIATION6Ioni Bowcher
1032Tony I MacleadAustralia2024-05-26Rangoni Of Florence NEGOTIATION79Bernardo Dominic
1033Ivar I NestleUnited Kingdom2024-06-12Chapman, Ross E Esq RENEWAL85Asiya Javayant
1034Ricardo Z FollerCanada2024-06-20Chapman, Ross E Esq PROPOSAL65Stephen Shaw
1035Jones Y NickaBrazil2024-05-27Dorl, James J Esq PROPOSAL72Onyama Limba
1036Nicolas L AlbaresAustralia2024-06-02Printing Dimensions UNQUALIFIED54Stephen Shaw
1037Salvatore A CaudyRussia2024-05-25Chapman, Ross E Esq PROPOSAL86Amy Elsner
1038Alejandro U WhobreyUnited Kingdom2024-06-04Chanay, Jeffrey A Esq NEGOTIATION81Amy Elsner
1039Faith X BriddickRussia2024-06-17Dorl, James J Esq UNQUALIFIED30Bernardo Dominic
1040Aika J CampainFrance2024-06-12Feltz Printing Service RENEWAL91Amy Elsner
1041Juan Z KuskoGermany2024-06-02Benton, John B Jr NEGOTIATION20Ioni Bowcher
1042Alejandro Q CampainItaly2024-06-08Morlong Associates QUALIFIED56Ioni Bowcher
1043Sinclair G AmigonRussia2024-06-23Feltz Printing Service NEGOTIATION9Amy Elsner
1044Morrow B PoquetteAustralia2024-06-20Chapman, Ross E Esq PROPOSAL69Anna Fali
1045Alejandro F RoysterJapan2024-05-25Rousseaux, Michael Esq UNQUALIFIED5Stephen Shaw
1046Deepesh U MacleadArgentina2024-06-08Benton, John B Jr QUALIFIED22Xuxue Feng
1047Adams W VenereIndia2024-05-25Buckley Miller Wright NEGOTIATION18Amy Elsner
1048Wickens N SergiSpain2024-06-15Benton, John B Jr NEGOTIATION25Ivan Magalhaes
1049Mujtaba G BowleyFrance2024-05-25Morlong Associates NEW23Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Salvatore U CaudyIndiaElwin Sharvill NEGOTIATION
Wickens X RulapaughCanadaIvan Magalhaes PROPOSAL
Costa J NickaItalyBernardo Dominic NEGOTIATION
Isabel T ChuiIndiaAmy Elsner NEGOTIATION
Morrow A CaudyBrazilIvan Magalhaes UNQUALIFIED
Emily V ButtFranceBernardo Dominic NEGOTIATION
Mujtaba L DarakjyArgentinaAnna Fali UNQUALIFIED
Kadeem E CaudyAustraliaElwin Sharvill PROPOSAL
Darci L MacleadAustraliaAmy Elsner NEW
Aika D StensethSpainAsiya Javayant PROPOSAL
Jennifer G FerenczFranceAsiya Javayant PROPOSAL
Claire T CaudyFranceStephen Shaw NEW
Mayumi L DarakjySpainAsiya Javayant QUALIFIED
Jeanfrancois Z FigeroaAustraliaStephen Shaw QUALIFIED
Mayumi V ChuiItalyStephen Shaw QUALIFIED
Octavia U StensethAustraliaIvan Magalhaes NEW
Francesco A RoysterIndiaStephen Shaw RENEWAL
Maria L ShinkoRussiaIvan Magalhaes NEW
Greenwood W KolmetzUnited KingdomAsiya Javayant QUALIFIED
Jennifer R KolmetzCanadaBernardo Dominic PROPOSAL
Aika Y InouyeRussiaXuxue Feng NEGOTIATION
Smith N MarrierRussiaXuxue Feng PROPOSAL
Arvin X ButtGermanyXuxue Feng NEW
Ivar M GillianIndiaAmy Elsner NEW
Morrow A GarufiBrazilXuxue Feng QUALIFIED
Izzy N VocelkaGermanyOnyama Limba NEW
Kadeem P WaycottIndiaXuxue Feng QUALIFIED
Aika H OldroydGermanyAnna Fali RENEWAL
Mujtaba Q SchemmerGermanyIvan Magalhaes QUALIFIED
Mayumi E BriddickArgentinaBernardo Dominic NEW
Francesco Q RulapaughGermanyAnna Fali UNQUALIFIED
Nicolas W PaprockiRussiaIvan Magalhaes QUALIFIED
Rodrigues J WieserSpainIvan Magalhaes NEGOTIATION
Cody R DarakjyIndiaAmy Elsner QUALIFIED
Alejandro S TollnerItalyXuxue Feng NEGOTIATION
Leon H OldroydGermanyAmy Elsner QUALIFIED
Munro U FlosiCanadaBernardo Dominic NEGOTIATION
Ivar B FlosiCanadaBernardo Dominic UNQUALIFIED
Darci Y IturbideAustraliaIvan Magalhaes NEW
Kaitlin I VenereRussiaAsiya Javayant UNQUALIFIED
Arvin F KolmetzCanadaIoni Bowcher QUALIFIED
Isabel P RutaBrazilAnna Fali QUALIFIED
Julie S WhobreyItalyAnna Fali QUALIFIED
Salvatore O OldroydItalyOnyama Limba NEGOTIATION
Darci V CaldareraFranceStephen Shaw NEGOTIATION
Greenwood M NestleRussiaAmy Elsner NEW
Johnson Y NestleRussiaAsiya Javayant QUALIFIED
Claire L CaudyGermanyElwin Sharvill PROPOSAL
Jones D RutaRussiaElwin Sharvill PROPOSAL
Jones Z FollerFranceElwin Sharvill NEW
Frozen Columns
Name
Antonio Y Butt
Silvio C Stenseth
Octavia K Figeroa
Misaki R Garufi
Jeanfrancois Y Stockham
Aruna F Gaucho
Tony O Flosi
Jefferson X Bolognia
Ivar S Inouye
Faith L Gaucho
Misaki S Nicka
Jeanfrancois N Maclead
Aditya T Nicka
Mujtaba H Kolmetz
Cody N Shinko
Ashley W Foller
Clifford V Ruta
Maisha M Flosi
Aruna V Sergi
Mayumi F Chui
Munro U Flosi
Aruna Y Venere
Aditya W Ruta
Silvio V Bowley
Sinclair G Shinko
Ricardo X Darakjy
Nicolas K Oldroyd
Faith M Rulapaugh
Nicolas V Caudy
Cody H Briddick
Ivar N Marrier
Ricardo M Rulapaugh
Salvatore B Campain
Johnson N Shinko
Clifford M Stockham
James M Rim
Darci Q Foller
David T Saylors
Francesco A Schemmer
Chavez F Campain
Darci O Dilliard
Costa S Glick
Clifford X Chui
Nicolas U Albares
Greenwood K Perin
Kadeem U Dilliard
Julie P Foller
Cody P Schemmer
Ivar G Malet
Darci K Malet
IdCountryDate
1000United Kingdom2024-06-13
1001India2024-05-27
1002Italy2024-06-23
1003India2024-06-19
1004Argentina2024-06-10
1005United Kingdom2024-05-31
1006Japan2024-06-22
1007Brazil2024-06-12
1008Italy2024-05-27
1009Brazil2024-05-30
1010France2024-06-15
1011Italy2024-06-03
1012Russia2024-06-10
1013Italy2024-06-17
1014Japan2024-05-29
1015Argentina2024-06-10
1016Canada2024-06-10
1017Brazil2024-06-17
1018Russia2024-06-11
1019Germany2024-06-16
1020Canada2024-06-04
1021Argentina2024-05-27
1022Italy2024-06-22
1023France2024-06-21
1024Russia2024-06-05
1025Australia2024-06-01
1026France2024-06-02
1027Germany2024-06-05
1028Australia2024-06-01
1029Brazil2024-05-25
1030India2024-06-07
1031United Kingdom2024-06-05
1032Italy2024-06-06
1033Argentina2024-05-26
1034United Kingdom2024-05-28
1035Argentina2024-06-06
1036Spain2024-06-10
1037Argentina2024-06-03
1038Brazil2024-06-08
1039Japan2024-06-04
1040Italy2024-06-14
1041Spain2024-06-01
1042India2024-06-20
1043Italy2024-05-28
1044Italy2024-06-18
1045Argentina2024-05-29
1046Australia2024-06-16
1047United Kingdom2024-06-23
1048Japan2024-05-26
1049Italy2024-06-08

On-Demand Data

NameIdCountryDate
Jones M Nestle1000United Kingdom2024-05-28
Costa P Stockham1001Spain2024-06-22
Maria W Nestle1002Canada2024-06-12
Silvio N Briddick1003United Kingdom2024-05-25
Faith E Perin1004France2024-06-13
Arvin Q Paprocki1005Italy2024-06-04
James H Kolmetz1006Spain2024-06-17
David Q Figeroa1007Italy2024-05-29
Emily E Sergi1008Australia2024-06-10
Maria P Stenseth1009Australia2024-06-11
Adams P Garufi1010Argentina2024-05-25
Faith L Butt1011Germany2024-06-04
Francesco Q Gillian1012Canada2024-06-23
Ashley M Saylors1013India2024-06-20
Johnson I Rim1014Russia2024-06-10
Morrow Q Marrier1015France2024-06-16
Nicolas S Sergi1016Russia2024-06-22
Mayumi H Rim1017Spain2024-05-26
James D Ferencz1018United Kingdom2024-06-09
Kadeem K Dilliard1019Brazil2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki G WhobreyAustraliaIoni Bowcher RENEWAL
Murillo J SaylorsItalyElwin Sharvill PROPOSAL
Deepesh O SchemmerCanadaElwin Sharvill RENEWAL
Isabel D SergiCanadaOnyama Limba PROPOSAL
Mujtaba J KuskoUnited KingdomIvan Magalhaes RENEWAL
Deepesh R GillianCanadaBernardo Dominic QUALIFIED
Francesco F MacleadSpainAmy Elsner QUALIFIED
Jefferson B PaprockiArgentinaAmy Elsner NEGOTIATION
Adams D FollerIndiaAsiya Javayant UNQUALIFIED
Faith I RimFranceIoni Bowcher PROPOSAL
Deepesh S WieserUnited KingdomIvan Magalhaes PROPOSAL
Maisha O ChuiFranceIvan Magalhaes PROPOSAL
Tony I FlosiSpainAnna Fali QUALIFIED
Adams I KuskoIndiaIoni Bowcher NEGOTIATION
Maisha X ButtCanadaBernardo Dominic UNQUALIFIED
Ivar X StensethJapanIvan Magalhaes NEGOTIATION
Costa X CaldareraCanadaAsiya Javayant NEGOTIATION
Morrow A MaletFranceStephen Shaw QUALIFIED
Leon X DilliardBrazilIvan Magalhaes RENEWAL
Munro N DilliardArgentinaAmy Elsner RENEWAL
Ricardo P InouyeJapanAsiya Javayant RENEWAL
Arvin E FollerSpainBernardo Dominic UNQUALIFIED
Maisha K FerenczIndiaStephen Shaw RENEWAL
Jennifer B DilliardUnited KingdomBernardo Dominic UNQUALIFIED
Kadeem C KolmetzIndiaIoni Bowcher PROPOSAL
Johnson O StockhamJapanBernardo Dominic NEGOTIATION
Cody C StockhamGermanyOnyama Limba NEGOTIATION
Arvin K SlusarskiIndiaIoni Bowcher QUALIFIED
Stacey J FollerAustraliaOnyama Limba PROPOSAL
Alejandro F WaycottJapanIoni Bowcher UNQUALIFIED
Ivar X ShinkoItalyStephen Shaw RENEWAL
Adams Z NickaFranceXuxue Feng PROPOSAL
Adams V AmigonGermanyIvan Magalhaes QUALIFIED
Adams H AmigonGermanyOnyama Limba NEW
Aditya U StensethSpainOnyama Limba QUALIFIED
Misaki Y MaletUnited KingdomBernardo Dominic UNQUALIFIED
Aika L MorascaUnited KingdomOnyama Limba NEGOTIATION
Juan H BowleyBrazilXuxue Feng NEGOTIATION
Ashley D FollerFranceAmy Elsner NEGOTIATION
Claire B SergiJapanXuxue Feng 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>