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
Izzy O PoquetteSpainElwin Sharvill RENEWAL
Maria V CaldareraSpainIoni Bowcher RENEWAL
Aruna N VenereFranceXuxue Feng NEGOTIATION
Maria S MorascaCanadaAsiya Javayant PROPOSAL
Faith Q CampainCanadaStephen Shaw UNQUALIFIED
Arvin H FerenczAustraliaBernardo Dominic PROPOSAL
Arvin J SlusarskiFranceAmy Elsner PROPOSAL
Antonio L GauchoGermanyIoni Bowcher RENEWAL
Adams D BriddickFranceXuxue Feng QUALIFIED
Wickens E WieserIndiaAnna Fali QUALIFIED
Cody X VenereBrazilAsiya Javayant RENEWAL
Greenwood F SaylorsRussiaAnna Fali NEGOTIATION
Faith W NestleArgentinaElwin Sharvill NEW
Faith M WieserJapanBernardo Dominic NEW
Jefferson K PerinFranceAsiya Javayant NEGOTIATION
Cody O SergiAustraliaAmy Elsner RENEWAL
Julie A OldroydUnited KingdomIvan Magalhaes QUALIFIED
Francesco E MorascaGermanyAsiya Javayant NEGOTIATION
Aika W GlickArgentinaXuxue Feng NEGOTIATION
Silvio S CaudyJapanIoni Bowcher PROPOSAL
Aditya N MacleadFranceAmy Elsner PROPOSAL
Adams U StensethIndiaIoni Bowcher RENEWAL
Emily G PoquetteAustraliaOnyama Limba RENEWAL
Maria S CaudyAustraliaAnna Fali PROPOSAL
Mujtaba Y BowleyRussiaElwin Sharvill RENEWAL
Mujtaba S ButtGermanyOnyama Limba UNQUALIFIED
Arvin E RimCanadaBernardo Dominic NEW
Darci U MaletBrazilIvan Magalhaes QUALIFIED
Aika I KolmetzGermanyStephen Shaw QUALIFIED
Octavia K VocelkaArgentinaIoni Bowcher UNQUALIFIED
Faith Q SlusarskiFranceAnna Fali NEGOTIATION
Chavez A VocelkaIndiaStephen Shaw NEGOTIATION
Ashley H GillianCanadaOnyama Limba UNQUALIFIED
Faith F GillianJapanAnna Fali PROPOSAL
Cody M MorascaJapanXuxue Feng NEW
Octavia T GarufiAustraliaAsiya Javayant QUALIFIED
Darci A StensethBrazilAnna Fali NEW
Juan X DilliardCanadaAnna Fali PROPOSAL
Rodrigues W GlickRussiaAmy Elsner NEGOTIATION
Juan F ButtAustraliaStephen Shaw QUALIFIED
Maisha B RutaAustraliaElwin Sharvill RENEWAL
Stacey I RutaGermanyIvan Magalhaes PROPOSAL
Julie B StockhamGermanyOnyama Limba QUALIFIED
Leja A SchemmerArgentinaAnna Fali QUALIFIED
Isabel W OldroydAustraliaBernardo Dominic QUALIFIED
Cody G SaylorsAustraliaXuxue Feng QUALIFIED
Jones C MaletCanadaElwin Sharvill NEGOTIATION
Faith T BriddickItalyElwin Sharvill PROPOSAL
Stacey Q BriddickFranceIvan Magalhaes NEGOTIATION
Leja Z WieserJapanAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Faith M VocelkaRussiaIvan Magalhaes QUALIFIED
James O RulapaughJapanOnyama Limba NEGOTIATION
Antonio I AmigonItalyBernardo Dominic UNQUALIFIED
Julie X NickaIndiaIoni Bowcher RENEWAL
Arvin V CaudyRussiaElwin Sharvill NEW
Jeanfrancois C MaletGermanyAsiya Javayant RENEWAL
Nicolas P ShinkoAustraliaBernardo Dominic NEGOTIATION
Isabel Z SchemmerRussiaBernardo Dominic PROPOSAL
Ashley C OldroydSpainAmy Elsner QUALIFIED
Adams T OstroskyCanadaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams U SchemmerBrazil2024-06-03Morlong Associates PROPOSAL4Asiya Javayant
1001Julie K MarrierUnited Kingdom2024-05-26Buckley Miller Wright QUALIFIED91Anna Fali
1002Deepesh L GillianAustralia2024-06-23Feltz Printing Service QUALIFIED21Amy Elsner
1003Faith U BologniaRussia2024-06-10Benton, John B Jr QUALIFIED61Bernardo Dominic
1004Juan M DarakjyJapan2024-06-14King, Christopher A Esq NEW68Elwin Sharvill
1005Leon Q NickaSpain2024-06-06Feiner Bros QUALIFIED4Stephen Shaw
1006Cody X KolmetzRussia2024-06-21Chemel, James L Cpa PROPOSAL79Xuxue Feng
1007Aika U StensethAustralia2024-06-07Feiner Bros QUALIFIED25Elwin Sharvill
1008Costa V FollerAustralia2024-06-04Chemel, James L Cpa RENEWAL37Ivan Magalhaes
1009Munro S KuskoFrance2024-06-24Chapman, Ross E Esq QUALIFIED56Asiya Javayant
1010Antonio D CaldareraJapan2024-06-19King, Christopher A Esq UNQUALIFIED40Ivan Magalhaes
1011Julie U SaylorsIndia2024-05-28Rousseaux, Michael Esq PROPOSAL29Elwin Sharvill
1012Maria R MaletGermany2024-06-24Commercial Press RENEWAL19Bernardo Dominic
1013Greenwood Z TollnerCanada2024-06-18Feiner Bros NEGOTIATION23Elwin Sharvill
1014Johnson A MaletGermany2024-05-26King, Christopher A Esq PROPOSAL11Asiya Javayant
1015Smith R PerinItaly2024-05-30Feiner Bros NEGOTIATION22Ioni Bowcher
1016Greenwood V IturbideCanada2024-06-21Printing Dimensions PROPOSAL73Xuxue Feng
1017Salvatore Q CaldareraGermany2024-06-03Buckley Miller Wright NEGOTIATION4Xuxue Feng
1018Misaki G OstroskyIndia2024-06-06King, Christopher A Esq QUALIFIED68Ivan Magalhaes
1019Alejandro W CaudyArgentina2024-06-11King, Christopher A Esq RENEWAL97Xuxue Feng
1020Darci S PerinFrance2024-05-26Rousseaux, Michael Esq PROPOSAL31Anna Fali
1021Antonio P MorascaRussia2024-06-23Morlong Associates QUALIFIED83Ioni Bowcher
1022Costa J SergiGermany2024-06-04Dorl, James J Esq PROPOSAL53Ivan Magalhaes
1023Smith R ChuiAustralia2024-06-24Rangoni Of Florence RENEWAL12Asiya Javayant
1024Sinclair J WaycottIndia2024-06-02Rangoni Of Florence RENEWAL23Amy Elsner
1025Johnson A TollnerCanada2024-05-29Morlong Associates NEW45Onyama Limba
1026Rodrigues O KolmetzFrance2024-06-17Dorl, James J Esq NEW75Xuxue Feng
1027Tony I PaprockiGermany2024-06-22Rangoni Of Florence NEGOTIATION79Asiya Javayant
1028Ashley L IturbideArgentina2024-06-21Chapman, Ross E Esq RENEWAL30Ivan Magalhaes
1029Maria H MarrierCanada2024-06-21King, Christopher A Esq NEW32Anna Fali
1030Aditya V OldroydRussia2024-06-07Chemel, James L Cpa UNQUALIFIED84Amy Elsner
1031Clifford K ButtUnited Kingdom2024-06-13King, Christopher A Esq PROPOSAL86Elwin Sharvill
1032Munro K MaletSpain2024-05-27Chapman, Ross E Esq QUALIFIED7Ioni Bowcher
1033Aditya O MacleadUnited Kingdom2024-06-15Chapman, Ross E Esq NEGOTIATION26Ivan Magalhaes
1034Sinclair B FigeroaJapan2024-06-19Benton, John B Jr NEGOTIATION4Elwin Sharvill
1035Jennifer Y ChuiAustralia2024-06-12Chemel, James L Cpa RENEWAL33Xuxue Feng
1036Emily I MaletArgentina2024-06-14Feiner Bros NEW90Ivan Magalhaes
1037Emily Y GlickSpain2024-06-18Rangoni Of Florence RENEWAL61Ivan Magalhaes
1038Darci M GillianArgentina2024-06-02Truhlar And Truhlar Attys RENEWAL62Xuxue Feng
1039Maria R ShinkoAustralia2024-06-08Dorl, James J Esq NEW58Ivan Magalhaes
1040Rodrigues T NestleBrazil2024-05-29Commercial Press QUALIFIED89Bernardo Dominic
1041Tony O InouyeSpain2024-06-02King, Christopher A Esq QUALIFIED67Xuxue Feng
1042Kadeem J MaletRussia2024-06-22Rousseaux, Michael Esq UNQUALIFIED94Ioni Bowcher
1043Chavez D FlosiCanada2024-06-06Commercial Press UNQUALIFIED76Elwin Sharvill
1044Morrow M GillianIndia2024-06-07Morlong Associates QUALIFIED51Bernardo Dominic
1045Aruna G VocelkaArgentina2024-06-06Dorl, James J Esq PROPOSAL49Ioni Bowcher
1046Kadeem X DoeFrance2024-06-02Benton, John B Jr QUALIFIED12Ioni Bowcher
1047Ivar I GlickJapan2024-06-10King, Christopher A Esq QUALIFIED49Elwin Sharvill
1048Francesco A FigeroaJapan2024-06-01Morlong Associates PROPOSAL77Xuxue Feng
1049Jennifer S SergiArgentina2024-06-05Chemel, James L Cpa QUALIFIED72Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Stacey A StensethAustraliaIoni Bowcher RENEWAL
Julie Z FollerJapanIvan Magalhaes QUALIFIED
Adams K FigeroaCanadaIoni Bowcher RENEWAL
Antonio L PerinFranceAmy Elsner PROPOSAL
Morrow M GlickGermanyOnyama Limba UNQUALIFIED
Claire K MorascaUnited KingdomAnna Fali PROPOSAL
Jones Y DilliardAustraliaXuxue Feng PROPOSAL
Octavia D DarakjyAustraliaAnna Fali QUALIFIED
Greenwood R WhobreyRussiaElwin Sharvill NEGOTIATION
Aditya G WhobreyArgentinaIvan Magalhaes QUALIFIED
Isabel B MarrierBrazilAmy Elsner RENEWAL
Murillo K SaylorsSpainOnyama Limba RENEWAL
Ivar Z BologniaBrazilElwin Sharvill RENEWAL
Misaki S StensethJapanElwin Sharvill NEW
Aika X PerinAustraliaAsiya Javayant PROPOSAL
Octavia A PaprockiBrazilElwin Sharvill RENEWAL
Maisha X MaletFranceIoni Bowcher NEW
Deepesh L SchemmerRussiaIoni Bowcher QUALIFIED
Morrow N CaldareraBrazilAmy Elsner QUALIFIED
Rodrigues S SchemmerIndiaBernardo Dominic RENEWAL
Maisha P ButtJapanAmy Elsner NEGOTIATION
James F NickaIndiaBernardo Dominic UNQUALIFIED
Smith X CaudyIndiaAsiya Javayant RENEWAL
Aruna C OstroskyArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois M RulapaughAustraliaXuxue Feng PROPOSAL
Mayumi Z ChuiFranceAsiya Javayant PROPOSAL
Silvio L NestleUnited KingdomOnyama Limba RENEWAL
Aditya W DarakjyGermanyAnna Fali PROPOSAL
Munro S NestleCanadaElwin Sharvill RENEWAL
Maisha L CaldareraJapanAnna Fali RENEWAL
Juan L IturbideArgentinaAmy Elsner UNQUALIFIED
Aika V OldroydRussiaAmy Elsner RENEWAL
Rodrigues E GillianGermanyAsiya Javayant UNQUALIFIED
Juan N ShinkoRussiaXuxue Feng PROPOSAL
Aika P PaprockiFranceBernardo Dominic PROPOSAL
Kaitlin W WaycottGermanyIvan Magalhaes NEGOTIATION
Leja N CaudyArgentinaAmy Elsner NEGOTIATION
Clifford M FollerFranceBernardo Dominic NEGOTIATION
Claire P MarrierCanadaAsiya Javayant QUALIFIED
Kaitlin B StockhamJapanAnna Fali QUALIFIED
Darci I FerenczArgentinaAnna Fali RENEWAL
Nicolas A SergiArgentinaBernardo Dominic PROPOSAL
Antonio V DoeUnited KingdomOnyama Limba RENEWAL
Wickens L MarrierItalyAnna Fali NEW
Jeanfrancois E GauchoFranceAsiya Javayant NEGOTIATION
Jeanfrancois M VocelkaBrazilStephen Shaw UNQUALIFIED
Rodrigues V SergiRussiaStephen Shaw PROPOSAL
Nicolas R KolmetzGermanyAsiya Javayant QUALIFIED
Aditya Y FerenczAustraliaBernardo Dominic QUALIFIED
Silvio S OstroskyCanadaAnna Fali NEGOTIATION
Frozen Columns
Name
Faith P Paprocki
Aruna Q Gaucho
Arvin I Saylors
Mujtaba M Stenseth
Jefferson D Flosi
Claire Z Albares
Mayumi R Garufi
Greenwood W Oldroyd
James U Chui
Jeanfrancois D Amigon
Ashley Y Garufi
Maria R Rim
Morrow A Morasca
Wickens W Oldroyd
Adams O Marrier
Deepesh G Nicka
Cody Y Chui
Jeanfrancois G Poquette
Greenwood H Ruta
Faith K Nestle
Kadeem I Gillian
Antonio M Dilliard
Isabel V Marrier
Francesco I Perin
Emily Y Malet
Kadeem H Inouye
Francesco G Albares
Deepesh L Stockham
Arvin F Sergi
Aika V Bowley
Salvatore J Saylors
Francesco Q Saylors
Faith D Stockham
Smith F Sergi
Stacey I Inouye
Emily X Schemmer
Ricardo W Amigon
Morrow N Ruta
Misaki B Waycott
Jefferson Q Waycott
Sinclair U Stockham
Munro I Royster
Nicolas X Malet
Munro K Shinko
Jennifer V Iturbide
James L Sergi
Adams K Paprocki
Kadeem I Figeroa
Stacey M Dilliard
Antonio T Shinko
IdCountryDate
1000Brazil2024-06-11
1001Germany2024-06-02
1002France2024-06-10
1003United Kingdom2024-06-10
1004India2024-06-14
1005Brazil2024-05-29
1006Argentina2024-05-30
1007Australia2024-05-30
1008Japan2024-06-20
1009Italy2024-06-18
1010Argentina2024-06-08
1011Spain2024-06-19
1012Italy2024-06-01
1013Spain2024-06-02
1014Russia2024-06-08
1015Japan2024-06-12
1016Germany2024-06-01
1017France2024-06-03
1018France2024-06-17
1019Canada2024-05-29
1020Italy2024-06-24
1021France2024-06-15
1022France2024-06-21
1023Argentina2024-06-23
1024Spain2024-05-31
1025Canada2024-06-08
1026Japan2024-06-01
1027India2024-06-06
1028Brazil2024-06-21
1029Australia2024-06-05
1030Germany2024-06-05
1031Argentina2024-06-23
1032Spain2024-05-31
1033India2024-06-07
1034United Kingdom2024-06-19
1035Germany2024-06-11
1036Japan2024-05-28
1037Japan2024-06-08
1038Brazil2024-06-09
1039France2024-06-21
1040Brazil2024-05-31
1041Italy2024-06-04
1042France2024-05-31
1043Canada2024-06-21
1044Argentina2024-06-02
1045Japan2024-05-27
1046Argentina2024-06-13
1047Germany2024-05-31
1048United Kingdom2024-05-29
1049Argentina2024-05-29

On-Demand Data

NameIdCountryDate
Octavia I Figeroa1000United Kingdom2024-06-19
Izzy M Albares1001Italy2024-06-22
Mayumi I Darakjy1002India2024-06-12
Salvatore K Ruta1003India2024-06-06
Wickens W Chui1004Germany2024-06-01
Antonio J Rim1005Japan2024-06-17
Mujtaba J Chui1006Japan2024-06-21
Chavez F Malet1007United Kingdom2024-06-17
Faith S Whobrey1008Germany2024-06-24
Mujtaba B Rim1009Brazil2024-06-02
Alejandro S Bolognia1010Canada2024-06-13
Clifford Q Tollner1011Brazil2024-06-22
Darci H Briddick1012Russia2024-05-29
Ashley G Venere1013Italy2024-06-02
Arvin G Gaucho1014Germany2024-06-06
Misaki K Waycott1015Canada2024-05-29
Nicolas R Ferencz1016Canada2024-06-04
Antonio V Iturbide1017Brazil2024-06-20
Murillo D Ostrosky1018Canada2024-06-01
Mujtaba Y Kusko1019United Kingdom2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro N FerenczIndiaOnyama Limba UNQUALIFIED
Ricardo A PaprockiRussiaOnyama Limba QUALIFIED
Francesco Z FlosiUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow V ChuiAustraliaAnna Fali NEGOTIATION
Jennifer X BologniaAustraliaXuxue Feng NEW
Jones A MacleadBrazilAsiya Javayant NEGOTIATION
Claire O RoysterBrazilElwin Sharvill QUALIFIED
Clifford E StockhamGermanyAnna Fali RENEWAL
Leja H KuskoFranceAsiya Javayant PROPOSAL
Deepesh X MarrierJapanXuxue Feng RENEWAL
Greenwood B PaprockiItalyStephen Shaw NEGOTIATION
Murillo P DilliardArgentinaAsiya Javayant PROPOSAL
Misaki T MaletArgentinaAsiya Javayant NEW
Jeanfrancois A KolmetzJapanElwin Sharvill UNQUALIFIED
Chavez Q KuskoIndiaIoni Bowcher NEGOTIATION
Jeanfrancois B TollnerRussiaAnna Fali UNQUALIFIED
Jeanfrancois D FlosiRussiaStephen Shaw PROPOSAL
Leja E MaletGermanyBernardo Dominic QUALIFIED
Aika X IturbideIndiaXuxue Feng NEW
Antonio R DilliardAustraliaBernardo Dominic UNQUALIFIED
Cody N VenereIndiaAnna Fali UNQUALIFIED
Faith N AmigonIndiaIoni Bowcher NEGOTIATION
Francesco C PerinAustraliaXuxue Feng PROPOSAL
Tony V VocelkaCanadaBernardo Dominic NEW
Ashley Y OldroydCanadaIoni Bowcher UNQUALIFIED
Mujtaba U VenereGermanyIoni Bowcher NEGOTIATION
Jones M CaldareraArgentinaIoni Bowcher QUALIFIED
Juan X MacleadRussiaOnyama Limba NEW
Emily X GauchoAustraliaBernardo Dominic RENEWAL
Ivar R CaldareraSpainXuxue Feng UNQUALIFIED
Emily U AlbaresAustraliaXuxue Feng UNQUALIFIED
Claire D MacleadSpainAmy Elsner RENEWAL
Maisha T FerenczIndiaAmy Elsner QUALIFIED
Arvin I SchemmerUnited KingdomAmy Elsner NEGOTIATION
Julie X AmigonCanadaAmy Elsner UNQUALIFIED
Leja E OldroydIndiaIoni Bowcher UNQUALIFIED
Emily H RimItalyXuxue Feng UNQUALIFIED
Darci B FollerJapanStephen Shaw NEW
Mujtaba B FlosiRussiaIvan Magalhaes PROPOSAL
Salvatore J KuskoJapanElwin Sharvill PROPOSAL

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