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
Nicolas U WhobreyRussiaElwin Sharvill RENEWAL
Ivar T GillianRussiaIoni Bowcher NEGOTIATION
Mayumi A WieserFranceStephen Shaw UNQUALIFIED
Chavez P ShinkoJapanXuxue Feng UNQUALIFIED
Wickens P NickaItalyOnyama Limba QUALIFIED
Jones B KolmetzRussiaStephen Shaw PROPOSAL
Smith S PoquetteFranceBernardo Dominic RENEWAL
Morrow U WieserCanadaOnyama Limba UNQUALIFIED
Maria P AmigonSpainAnna Fali RENEWAL
Aika B FigeroaJapanIoni Bowcher PROPOSAL
Maria M FlosiUnited KingdomAnna Fali UNQUALIFIED
Nicolas O WieserRussiaAsiya Javayant RENEWAL
Tony V WhobreyGermanyIvan Magalhaes NEW
Antonio F RimIndiaBernardo Dominic UNQUALIFIED
Salvatore E FigeroaFranceAmy Elsner NEGOTIATION
Arvin C RimBrazilAsiya Javayant RENEWAL
Claire C StensethRussiaIoni Bowcher QUALIFIED
David H SergiIndiaIoni Bowcher UNQUALIFIED
Tony U TollnerGermanyAsiya Javayant NEGOTIATION
Jeanfrancois Q FerenczCanadaXuxue Feng NEGOTIATION
Clifford O RutaBrazilStephen Shaw RENEWAL
Julie M AmigonUnited KingdomAnna Fali NEW
Ashley C PoquetteRussiaOnyama Limba PROPOSAL
Nicolas W DilliardJapanElwin Sharvill UNQUALIFIED
Jefferson D AmigonCanadaAmy Elsner NEW
Aruna P MarrierUnited KingdomAmy Elsner QUALIFIED
Johnson F ShinkoGermanyXuxue Feng PROPOSAL
Smith Q RutaIndiaStephen Shaw UNQUALIFIED
Jennifer R PoquetteUnited KingdomIvan Magalhaes RENEWAL
Chavez O FigeroaJapanIvan Magalhaes PROPOSAL
Deepesh C DarakjyGermanyXuxue Feng PROPOSAL
Jones T TollnerAustraliaBernardo Dominic NEW
Aditya D RimCanadaAnna Fali RENEWAL
Maria B DoeRussiaIoni Bowcher UNQUALIFIED
Aika T SlusarskiGermanyAnna Fali UNQUALIFIED
Ashley Q MaletGermanyAmy Elsner UNQUALIFIED
Ivar B InouyeJapanXuxue Feng NEGOTIATION
Rodrigues K OldroydFranceIoni Bowcher PROPOSAL
Maisha O TollnerItalyAnna Fali PROPOSAL
Sinclair N AmigonItalyIoni Bowcher NEW
Juan V GarufiItalyStephen Shaw NEW
Silvio Y FerenczIndiaOnyama Limba PROPOSAL
Leon Z AlbaresJapanAmy Elsner NEGOTIATION
Jeanfrancois O DilliardUnited KingdomAsiya Javayant NEGOTIATION
Ivar A ShinkoItalyStephen Shaw QUALIFIED
Faith I RoysterIndiaElwin Sharvill RENEWAL
Salvatore K ButtRussiaOnyama Limba NEGOTIATION
Mayumi K ShinkoIndiaIoni Bowcher NEGOTIATION
David H NickaAustraliaBernardo Dominic RENEWAL
Murillo Z SchemmerBrazilAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues M ChuiAustraliaOnyama Limba NEW
Johnson V GlickJapanElwin Sharvill QUALIFIED
Izzy I WhobreyJapanOnyama Limba NEGOTIATION
Deepesh D VenereItalyStephen Shaw NEW
Murillo J TollnerFranceXuxue Feng NEGOTIATION
Deepesh U RulapaughSpainAsiya Javayant NEW
Aruna X SchemmerSpainStephen Shaw NEW
Jeanfrancois B IturbideRussiaStephen Shaw NEGOTIATION
Aruna Z ButtRussiaXuxue Feng RENEWAL
Mujtaba M AmigonGermanyElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore A BriddickRussia2024-05-26Dorl, James J Esq QUALIFIED16Amy Elsner
1001Sinclair D TollnerJapan2024-06-05Dorl, James J Esq RENEWAL66Xuxue Feng
1002Claire C BriddickFrance2024-06-17Buckley Miller Wright RENEWAL66Xuxue Feng
1003Leja A KolmetzCanada2024-06-13Buckley Miller Wright NEGOTIATION33Bernardo Dominic
1004Jeanfrancois U WaycottIndia2024-05-28Feltz Printing Service PROPOSAL26Xuxue Feng
1005James R FigeroaBrazil2024-06-23Chanay, Jeffrey A Esq PROPOSAL82Anna Fali
1006Antonio D RoysterItaly2024-06-04King, Christopher A Esq QUALIFIED83Ioni Bowcher
1007Leja Q GarufiAustralia2024-06-04Chanay, Jeffrey A Esq NEW35Anna Fali
1008Arvin U RoysterFrance2024-05-25Feltz Printing Service NEW86Ioni Bowcher
1009Smith P StockhamAustralia2024-06-09Dorl, James J Esq NEGOTIATION21Anna Fali
1010Tony R RulapaughArgentina2024-06-21Chapman, Ross E Esq NEGOTIATION55Xuxue Feng
1011Morrow Q BologniaFrance2024-06-14Rangoni Of Florence NEW31Ioni Bowcher
1012Cody D MorascaArgentina2024-06-19Buckley Miller Wright NEW45Amy Elsner
1013Aika Y SlusarskiItaly2024-06-15Chapman, Ross E Esq UNQUALIFIED57Asiya Javayant
1014Clifford Z BriddickCanada2024-06-23Rangoni Of Florence QUALIFIED76Onyama Limba
1015Chavez U DilliardArgentina2024-05-28Chemel, James L Cpa PROPOSAL15Xuxue Feng
1016Ashley M FlosiFrance2024-06-16King, Christopher A Esq QUALIFIED82Elwin Sharvill
1017Chavez Y MarrierSpain2024-06-02Rousseaux, Michael Esq QUALIFIED44Asiya Javayant
1018Claire P RoysterFrance2024-06-02Feltz Printing Service UNQUALIFIED71Onyama Limba
1019Murillo X PerinCanada2024-06-20Commercial Press UNQUALIFIED63Asiya Javayant
1020Morrow N MarrierItaly2024-06-15Truhlar And Truhlar Attys NEW42Bernardo Dominic
1021Kadeem E PoquetteUnited Kingdom2024-06-23Buckley Miller Wright UNQUALIFIED27Bernardo Dominic
1022Greenwood G MacleadUnited Kingdom2024-06-12Benton, John B Jr NEGOTIATION57Ioni Bowcher
1023Leon D ChuiItaly2024-05-30Chemel, James L Cpa NEGOTIATION96Bernardo Dominic
1024Arvin H AlbaresArgentina2024-06-02Chemel, James L Cpa UNQUALIFIED62Bernardo Dominic
1025Cody P NestleGermany2024-05-25Chanay, Jeffrey A Esq NEW28Elwin Sharvill
1026Alejandro O DilliardGermany2024-06-12Rangoni Of Florence PROPOSAL62Xuxue Feng
1027Nicolas T CaudyAustralia2024-06-07Chapman, Ross E Esq QUALIFIED91Anna Fali
1028Julie K NestleItaly2024-06-23Commercial Press UNQUALIFIED56Asiya Javayant
1029Morrow Y MorascaItaly2024-06-18Chanay, Jeffrey A Esq RENEWAL78Anna Fali
1030Murillo R RulapaughGermany2024-06-06Dorl, James J Esq NEW73Anna Fali
1031Izzy M WieserBrazil2024-06-03Dorl, James J Esq PROPOSAL34Amy Elsner
1032Misaki J CaudyAustralia2024-06-08Truhlar And Truhlar Attys RENEWAL64Amy Elsner
1033Emily S CaldareraArgentina2024-05-30Printing Dimensions RENEWAL32Elwin Sharvill
1034Nicolas Z RoysterJapan2024-05-31Dorl, James J Esq NEGOTIATION40Xuxue Feng
1035Maisha S CaldareraArgentina2024-05-26Rangoni Of Florence NEGOTIATION9Stephen Shaw
1036Johnson K PerinFrance2024-06-02Feltz Printing Service RENEWAL52Stephen Shaw
1037Claire M VenereBrazil2024-06-16Commercial Press NEGOTIATION9Anna Fali
1038Mujtaba P NickaIndia2024-06-12Chemel, James L Cpa QUALIFIED57Bernardo Dominic
1039Mujtaba S RulapaughUnited Kingdom2024-06-12Truhlar And Truhlar Attys PROPOSAL69Bernardo Dominic
1040Rodrigues L IturbideAustralia2024-05-25Benton, John B Jr NEW17Stephen Shaw
1041Munro Y IturbideGermany2024-05-28Morlong Associates NEGOTIATION14Stephen Shaw
1042Johnson N TollnerFrance2024-06-04Truhlar And Truhlar Attys QUALIFIED47Xuxue Feng
1043Jennifer P CaudyUnited Kingdom2024-05-31Chapman, Ross E Esq RENEWAL46Xuxue Feng
1044Juan M FigeroaIndia2024-06-13King, Christopher A Esq QUALIFIED24Ivan Magalhaes
1045Isabel W AmigonAustralia2024-06-23King, Christopher A Esq NEGOTIATION58Bernardo Dominic
1046Emily B SergiArgentina2024-06-08Chemel, James L Cpa NEGOTIATION38Ioni Bowcher
1047Kadeem N MarrierIndia2024-05-30King, Christopher A Esq NEW91Amy Elsner
1048Johnson I WhobreyIndia2024-06-19Commercial Press UNQUALIFIED40Ioni Bowcher
1049Aruna L BowleyItaly2024-06-09Chanay, Jeffrey A Esq PROPOSAL12Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Julie X GarufiBrazilAsiya Javayant QUALIFIED
Aika Y PoquetteUnited KingdomOnyama Limba PROPOSAL
Aika J DilliardGermanyIoni Bowcher UNQUALIFIED
Aika R SergiRussiaAsiya Javayant QUALIFIED
Arvin C SergiGermanyIoni Bowcher QUALIFIED
Adams G RulapaughSpainIoni Bowcher QUALIFIED
David P RimSpainOnyama Limba QUALIFIED
Murillo X BologniaGermanyOnyama Limba NEGOTIATION
Emily B VenereAustraliaAsiya Javayant RENEWAL
Antonio T PaprockiGermanyAmy Elsner QUALIFIED
Wickens D GlickBrazilXuxue Feng NEW
Antonio K InouyeFranceElwin Sharvill QUALIFIED
Adams Y OldroydFranceOnyama Limba UNQUALIFIED
Munro U RimAustraliaAnna Fali UNQUALIFIED
Izzy A AmigonRussiaIvan Magalhaes NEW
Darci Z SlusarskiFranceElwin Sharvill QUALIFIED
Mayumi W CampainJapanStephen Shaw RENEWAL
Leon G MaletCanadaIvan Magalhaes NEGOTIATION
Isabel M WieserJapanAmy Elsner NEW
Sinclair Y AlbaresRussiaAsiya Javayant NEW
Murillo J DoeIndiaXuxue Feng NEW
Costa L TollnerFranceBernardo Dominic NEGOTIATION
Maisha Q WhobreyGermanyAmy Elsner NEGOTIATION
Greenwood X MaletAustraliaAnna Fali QUALIFIED
Kadeem K SlusarskiFranceIoni Bowcher NEW
Francesco M InouyeFranceXuxue Feng NEGOTIATION
Maisha I WieserBrazilOnyama Limba QUALIFIED
Aditya B RulapaughFranceElwin Sharvill NEGOTIATION
Jones C SlusarskiCanadaAmy Elsner PROPOSAL
Murillo P GauchoRussiaIoni Bowcher PROPOSAL
Jones Y FollerIndiaAsiya Javayant RENEWAL
Jones P ButtFranceIoni Bowcher UNQUALIFIED
Tony V StensethItalyIoni Bowcher NEGOTIATION
Francesco G DarakjyJapanOnyama Limba QUALIFIED
Mayumi Y ButtArgentinaStephen Shaw PROPOSAL
Leja I FigeroaCanadaAmy Elsner RENEWAL
Rodrigues S ButtArgentinaStephen Shaw NEW
Kadeem M DilliardRussiaOnyama Limba UNQUALIFIED
Izzy R IturbideSpainStephen Shaw UNQUALIFIED
Octavia X ChuiUnited KingdomIvan Magalhaes PROPOSAL
Rodrigues X StockhamCanadaAsiya Javayant NEW
Jennifer G MaletRussiaOnyama Limba UNQUALIFIED
Salvatore X FollerIndiaAsiya Javayant QUALIFIED
Izzy R OldroydArgentinaOnyama Limba RENEWAL
Julie N OstroskyItalyAnna Fali NEGOTIATION
Stacey K GauchoRussiaAsiya Javayant UNQUALIFIED
Tony P FollerArgentinaIoni Bowcher UNQUALIFIED
Chavez O ChuiRussiaElwin Sharvill UNQUALIFIED
Isabel L KuskoIndiaAsiya Javayant PROPOSAL
Jennifer Z BologniaJapanXuxue Feng PROPOSAL
Frozen Columns
Name
Antonio Y Saylors
Greenwood X Glick
Tony J Venere
Nicolas M Glick
Tony D Tollner
Aika L Whobrey
Aika B Iturbide
Isabel A Morasca
Octavia L Figeroa
Deepesh V Figeroa
Mujtaba Q Tollner
Emily H Caudy
Antonio D Perin
Aruna K Oldroyd
Murillo Z Glick
Clifford I Perin
Jennifer F Poquette
David H Briddick
Rodrigues C Ostrosky
Ashley Q Caldarera
Jennifer J Kolmetz
Aditya C Foller
Morrow B Iturbide
Chavez B Ferencz
Morrow E Vocelka
Jefferson E Briddick
Octavia T Royster
Octavia W Briddick
Salvatore H Briddick
Darci T Poquette
Greenwood S Paprocki
Ricardo S Maclead
Darci T Iturbide
Antonio Q Figeroa
Adams P Stenseth
Tony O Campain
Chavez T Kolmetz
Mujtaba I Foller
Mujtaba F Whobrey
Salvatore U Butt
Mujtaba Y Darakjy
Arvin J Malet
Smith G Caldarera
Leon E Butt
Stacey B Rim
Kaitlin K Royster
Ricardo S Inouye
Ivar C Stockham
Costa A Maclead
Darci R Rulapaugh
IdCountryDate
1000Germany2024-06-02
1001India2024-06-16
1002India2024-05-28
1003India2024-06-14
1004Canada2024-06-06
1005Russia2024-06-22
1006Canada2024-06-02
1007United Kingdom2024-05-31
1008Argentina2024-06-15
1009Argentina2024-06-09
1010Australia2024-06-09
1011France2024-06-01
1012Brazil2024-06-20
1013Germany2024-05-30
1014United Kingdom2024-05-26
1015France2024-06-08
1016Japan2024-06-03
1017Japan2024-06-10
1018Germany2024-06-08
1019United Kingdom2024-05-26
1020India2024-06-20
1021Japan2024-06-11
1022Russia2024-06-03
1023Brazil2024-06-07
1024Japan2024-06-14
1025Australia2024-06-07
1026Argentina2024-06-21
1027Spain2024-06-10
1028Italy2024-06-22
1029Japan2024-06-19
1030Brazil2024-05-29
1031Brazil2024-06-20
1032Brazil2024-06-10
1033Spain2024-06-22
1034India2024-06-12
1035Italy2024-06-23
1036Japan2024-05-30
1037Japan2024-06-17
1038Argentina2024-05-27
1039Italy2024-05-30
1040Russia2024-06-03
1041Italy2024-06-07
1042United Kingdom2024-06-20
1043Spain2024-05-29
1044United Kingdom2024-06-01
1045United Kingdom2024-06-04
1046Argentina2024-06-19
1047United Kingdom2024-06-12
1048Russia2024-06-18
1049Argentina2024-06-22

On-Demand Data

NameIdCountryDate
Jones K Gillian1000France2024-06-19
Greenwood Y Ruta1001France2024-06-06
Maisha A Butt1002Argentina2024-06-13
Smith M Schemmer1003Brazil2024-06-19
Murillo L Morasca1004France2024-06-18
Aditya T Saylors1005United Kingdom2024-05-29
Costa T Royster1006Australia2024-06-09
Ricardo G Briddick1007Argentina2024-06-08
Aruna D Sergi1008Japan2024-05-28
Chavez Y Venere1009Russia2024-06-23
James Y Darakjy1010United Kingdom2024-06-22
Jones W Campain1011Argentina2024-06-12
Rodrigues T Poquette1012United Kingdom2024-06-05
Izzy H Doe1013Argentina2024-05-30
James O Schemmer1014Italy2024-06-21
Aruna M Tollner1015India2024-05-27
Aditya U Rulapaugh1016Spain2024-05-26
Mujtaba Z Glick1017Japan2024-05-29
Silvio B Butt1018India2024-06-09
Jones U Flosi1019India2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem G InouyeAustraliaStephen Shaw NEW
Isabel Y IturbideItalyAnna Fali NEW
Deepesh O WhobreyItalyBernardo Dominic PROPOSAL
Julie M StockhamBrazilAsiya Javayant NEW
Claire Q MarrierGermanyStephen Shaw PROPOSAL
Stacey T KuskoIndiaBernardo Dominic RENEWAL
Aika A GauchoBrazilElwin Sharvill NEW
Isabel X WieserCanadaElwin Sharvill NEW
Smith I GillianGermanyOnyama Limba PROPOSAL
Julie L GarufiGermanyIvan Magalhaes NEW
Jefferson I CaldareraCanadaAnna Fali QUALIFIED
Aika Z DoeJapanAmy Elsner NEGOTIATION
Jennifer P FlosiJapanXuxue Feng NEGOTIATION
Silvio E ChuiFranceBernardo Dominic RENEWAL
Juan W KuskoAustraliaStephen Shaw QUALIFIED
Jennifer I MaletIndiaAmy Elsner PROPOSAL
Claire X GlickUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem W NestleIndiaBernardo Dominic PROPOSAL
Maria M SlusarskiRussiaAsiya Javayant NEGOTIATION
Deepesh F AmigonAustraliaBernardo Dominic RENEWAL
Ricardo U CaldareraUnited KingdomElwin Sharvill UNQUALIFIED
Antonio G VenereUnited KingdomElwin Sharvill PROPOSAL
Francesco V VocelkaUnited KingdomIoni Bowcher NEW
Emily O StensethUnited KingdomIoni Bowcher QUALIFIED
Tony C NickaAustraliaIvan Magalhaes RENEWAL
Adams G FlosiCanadaAmy Elsner PROPOSAL
Rodrigues S FerenczBrazilAmy Elsner NEW
Francesco W WhobreyIndiaIvan Magalhaes PROPOSAL
Mujtaba N BriddickJapanBernardo Dominic RENEWAL
Jeanfrancois N WhobreyAustraliaIvan Magalhaes QUALIFIED
Emily C CaldareraRussiaIoni Bowcher NEW
Clifford H SergiItalyAnna Fali UNQUALIFIED
Smith D ShinkoRussiaAmy Elsner NEW
Costa P DoeRussiaStephen Shaw UNQUALIFIED
Ricardo I RimAustraliaIoni Bowcher NEGOTIATION
Cody W GillianRussiaAnna Fali PROPOSAL
Wickens S MaletBrazilBernardo Dominic UNQUALIFIED
Munro K BriddickItalyAmy Elsner QUALIFIED
Juan X KolmetzCanadaAnna Fali NEW
Clifford X ChuiAustraliaAmy Elsner 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>