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
Costa W StensethUnited KingdomAmy Elsner NEGOTIATION
Johnson K AlbaresCanadaAmy Elsner UNQUALIFIED
Costa L VenereIndiaOnyama Limba PROPOSAL
Leon C OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Greenwood E StockhamFranceAnna Fali NEW
Nicolas S OstroskyAustraliaOnyama Limba NEGOTIATION
Nicolas O RulapaughSpainOnyama Limba UNQUALIFIED
James C PerinFranceIvan Magalhaes QUALIFIED
Jennifer M RulapaughJapanIvan Magalhaes QUALIFIED
Clifford K VocelkaCanadaAsiya Javayant PROPOSAL
Cody F GarufiJapanXuxue Feng NEGOTIATION
Darci O WieserFranceXuxue Feng NEGOTIATION
Tony W WieserSpainBernardo Dominic NEW
Chavez L WaycottBrazilAnna Fali RENEWAL
Johnson C MaletIndiaAnna Fali NEGOTIATION
Jennifer G BowleyCanadaXuxue Feng QUALIFIED
Isabel K RutaGermanyStephen Shaw NEW
Ashley B MorascaFranceXuxue Feng RENEWAL
Izzy I RoysterJapanBernardo Dominic NEW
Jennifer D SlusarskiGermanyOnyama Limba NEGOTIATION
Octavia A OstroskySpainStephen Shaw NEGOTIATION
Sinclair S GarufiCanadaAmy Elsner NEW
Greenwood X PaprockiUnited KingdomIvan Magalhaes PROPOSAL
Tony L SlusarskiArgentinaElwin Sharvill RENEWAL
Adams D ChuiCanadaXuxue Feng PROPOSAL
Cody K AmigonItalyStephen Shaw NEGOTIATION
Tony J BriddickItalyAsiya Javayant RENEWAL
Deepesh X StensethFranceAsiya Javayant QUALIFIED
Munro K CaldareraRussiaAsiya Javayant UNQUALIFIED
Alejandro A KuskoArgentinaBernardo Dominic PROPOSAL
Greenwood Y BowleyUnited KingdomAnna Fali UNQUALIFIED
Aruna M WaycottRussiaIoni Bowcher NEW
Clifford T SlusarskiAustraliaAmy Elsner NEGOTIATION
Mujtaba V DilliardArgentinaIoni Bowcher NEW
Mayumi C WieserJapanXuxue Feng QUALIFIED
Ricardo T KolmetzSpainAmy Elsner PROPOSAL
Francesco E MaletJapanBernardo Dominic PROPOSAL
Jennifer K WhobreyIndiaBernardo Dominic RENEWAL
Isabel O VenereGermanyBernardo Dominic QUALIFIED
Arvin A RoysterIndiaElwin Sharvill PROPOSAL
Silvio F GillianIndiaOnyama Limba UNQUALIFIED
Claire Y RutaUnited KingdomStephen Shaw NEW
Francesco D MacleadCanadaStephen Shaw QUALIFIED
Johnson D CampainAustraliaAmy Elsner PROPOSAL
Nicolas X FerenczSpainAmy Elsner UNQUALIFIED
Darci N DarakjyGermanyElwin Sharvill NEW
Misaki U BriddickUnited KingdomIoni Bowcher RENEWAL
Jefferson S PoquetteIndiaAsiya Javayant NEW
Jeanfrancois O AlbaresGermanyAnna Fali QUALIFIED
Rodrigues W GlickAustraliaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Stacey L BowleySpainAsiya Javayant QUALIFIED
Antonio H PaprockiAustraliaBernardo Dominic QUALIFIED
Darci G BologniaCanadaOnyama Limba UNQUALIFIED
Mayumi D SchemmerGermanyStephen Shaw PROPOSAL
David F MorascaBrazilBernardo Dominic UNQUALIFIED
Stacey D SaylorsCanadaStephen Shaw NEGOTIATION
Claire N OldroydAustraliaXuxue Feng NEGOTIATION
Juan N ShinkoUnited KingdomXuxue Feng NEW
Aditya J ButtFranceAnna Fali UNQUALIFIED
Ricardo V GlickCanadaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro S OstroskyCanada2024-05-29Chapman, Ross E Esq NEW30Asiya Javayant
1001Ricardo W RutaBrazil2024-06-16Printing Dimensions UNQUALIFIED54Amy Elsner
1002Faith G VocelkaCanada2024-06-20Printing Dimensions UNQUALIFIED80Stephen Shaw
1003Johnson R BowleyFrance2024-06-18Benton, John B Jr NEGOTIATION69Elwin Sharvill
1004Juan B OstroskyBrazil2024-06-09Morlong Associates NEGOTIATION67Anna Fali
1005Maisha U WhobreyAustralia2024-05-29Chapman, Ross E Esq NEW99Ivan Magalhaes
1006Jennifer E StensethJapan2024-06-15Buckley Miller Wright QUALIFIED56Elwin Sharvill
1007Maisha B BologniaCanada2024-05-30Commercial Press NEW28Ivan Magalhaes
1008Mujtaba P DarakjyCanada2024-06-14Commercial Press UNQUALIFIED14Stephen Shaw
1009Isabel K PaprockiFrance2024-06-20Morlong Associates RENEWAL21Xuxue Feng
1010Jones Y RoysterUnited Kingdom2024-05-29Chapman, Ross E Esq QUALIFIED5Elwin Sharvill
1011Kaitlin P RutaCanada2024-06-04Truhlar And Truhlar Attys RENEWAL21Stephen Shaw
1012Antonio T TollnerGermany2024-05-25Truhlar And Truhlar Attys NEW0Asiya Javayant
1013Maria E PerinFrance2024-06-07Rangoni Of Florence NEGOTIATION25Stephen Shaw
1014Wickens L MacleadAustralia2024-06-15Chanay, Jeffrey A Esq PROPOSAL30Asiya Javayant
1015Clifford H DarakjyIndia2024-06-14Dorl, James J Esq NEW98Xuxue Feng
1016Ashley S KolmetzGermany2024-05-29Feltz Printing Service QUALIFIED96Elwin Sharvill
1017Tony W PerinJapan2024-05-28Rangoni Of Florence RENEWAL48Anna Fali
1018Jennifer C ShinkoBrazil2024-05-27Benton, John B Jr NEGOTIATION81Xuxue Feng
1019James F SergiJapan2024-06-10Benton, John B Jr RENEWAL15Ivan Magalhaes
1020Costa Q PoquetteUnited Kingdom2024-06-08Buckley Miller Wright QUALIFIED33Bernardo Dominic
1021Sinclair I OstroskyBrazil2024-05-30Rousseaux, Michael Esq QUALIFIED12Stephen Shaw
1022Jones W CaldareraSpain2024-06-09King, Christopher A Esq PROPOSAL21Anna Fali
1023Emily Y MorascaIndia2024-06-11Morlong Associates NEW97Xuxue Feng
1024Stacey M OldroydFrance2024-06-21Chemel, James L Cpa RENEWAL91Onyama Limba
1025Smith H PaprockiUnited Kingdom2024-05-26Commercial Press NEW67Asiya Javayant
1026Cody N NestleBrazil2024-06-15Morlong Associates UNQUALIFIED58Ioni Bowcher
1027Tony E DoeJapan2024-05-28Chemel, James L Cpa UNQUALIFIED92Ioni Bowcher
1028Wickens I AlbaresUnited Kingdom2024-06-10King, Christopher A Esq RENEWAL90Xuxue Feng
1029Mujtaba Q AlbaresRussia2024-06-18Buckley Miller Wright NEW91Asiya Javayant
1030Smith M BowleyGermany2024-05-25Feiner Bros NEW65Anna Fali
1031Clifford U DarakjyItaly2024-05-29Commercial Press RENEWAL20Onyama Limba
1032Francesco T ButtUnited Kingdom2024-06-15Buckley Miller Wright NEW28Bernardo Dominic
1033Tony F MaletFrance2024-06-18Rousseaux, Michael Esq NEGOTIATION24Xuxue Feng
1034Kadeem A PerinGermany2024-06-14King, Christopher A Esq PROPOSAL3Asiya Javayant
1035Cody Z AmigonRussia2024-06-21Feiner Bros RENEWAL68Asiya Javayant
1036Chavez N RoysterAustralia2024-05-26Truhlar And Truhlar Attys UNQUALIFIED77Anna Fali
1037Cody P DilliardGermany2024-05-24Rousseaux, Michael Esq UNQUALIFIED35Amy Elsner
1038Nicolas Q NickaGermany2024-06-15Buckley Miller Wright QUALIFIED78Bernardo Dominic
1039Johnson J KolmetzCanada2024-06-03Printing Dimensions UNQUALIFIED14Amy Elsner
1040Cody F ChuiRussia2024-06-05King, Christopher A Esq QUALIFIED35Anna Fali
1041Munro T MorascaAustralia2024-06-21Rangoni Of Florence NEGOTIATION64Onyama Limba
1042Deepesh N MarrierIndia2024-05-27Commercial Press UNQUALIFIED60Ivan Magalhaes
1043Jones I DarakjySpain2024-06-19Feiner Bros PROPOSAL46Ioni Bowcher
1044Ivar O IturbideJapan2024-05-28Dorl, James J Esq QUALIFIED83Stephen Shaw
1045Nicolas S WhobreyBrazil2024-06-15Commercial Press NEGOTIATION68Asiya Javayant
1046Greenwood C DarakjyIndia2024-06-11King, Christopher A Esq NEGOTIATION94Onyama Limba
1047Faith Z WhobreyArgentina2024-06-07Chemel, James L Cpa UNQUALIFIED74Elwin Sharvill
1048Ivar B GauchoIndia2024-06-03Dorl, James J Esq UNQUALIFIED84Amy Elsner
1049Salvatore L GauchoCanada2024-06-07Printing Dimensions RENEWAL7Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois A FlosiGermanyElwin Sharvill PROPOSAL
Greenwood U SchemmerSpainOnyama Limba NEW
Claire R IturbideIndiaAnna Fali NEGOTIATION
Juan I NickaSpainAsiya Javayant PROPOSAL
Cody M ChuiJapanIvan Magalhaes RENEWAL
Jones B GauchoIndiaAsiya Javayant NEW
Maisha Q CampainItalyIvan Magalhaes PROPOSAL
Arvin P BologniaIndiaIvan Magalhaes NEW
Smith R VenereUnited KingdomAsiya Javayant QUALIFIED
Silvio I GarufiFranceIoni Bowcher PROPOSAL
Francesco C ShinkoGermanyIoni Bowcher UNQUALIFIED
Rodrigues D StockhamGermanyIvan Magalhaes PROPOSAL
Maria M MorascaGermanyAnna Fali UNQUALIFIED
Mujtaba B CaudyUnited KingdomBernardo Dominic NEGOTIATION
David A ShinkoBrazilStephen Shaw UNQUALIFIED
Kaitlin N WaycottArgentinaAmy Elsner NEW
Munro M DarakjyUnited KingdomStephen Shaw QUALIFIED
David N DarakjyUnited KingdomElwin Sharvill UNQUALIFIED
Ricardo B WaycottCanadaBernardo Dominic RENEWAL
Kaitlin B FlosiCanadaAsiya Javayant UNQUALIFIED
David G PoquetteItalyAmy Elsner UNQUALIFIED
Faith I CaldareraArgentinaAmy Elsner NEW
Rodrigues Z BologniaGermanyOnyama Limba RENEWAL
Izzy V AlbaresGermanyOnyama Limba NEW
Leja Y OstroskyAustraliaAmy Elsner UNQUALIFIED
Maria E PerinIndiaAsiya Javayant PROPOSAL
Jennifer U MaletBrazilAnna Fali QUALIFIED
Morrow O VocelkaGermanyAnna Fali PROPOSAL
Silvio R FigeroaIndiaIoni Bowcher PROPOSAL
Wickens V OstroskyJapanOnyama Limba QUALIFIED
Johnson Z MarrierIndiaOnyama Limba PROPOSAL
Darci S FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Tony G BowleyUnited KingdomElwin Sharvill PROPOSAL
Isabel T MaletJapanIoni Bowcher RENEWAL
Mayumi S BologniaIndiaOnyama Limba UNQUALIFIED
Claire U BowleyFranceXuxue Feng PROPOSAL
Kaitlin Q ButtCanadaAsiya Javayant NEW
Greenwood F MarrierJapanStephen Shaw NEW
Murillo V MaletArgentinaAnna Fali UNQUALIFIED
Maisha S WaycottArgentinaIvan Magalhaes PROPOSAL
Kadeem V NestleIndiaAnna Fali UNQUALIFIED
Ricardo U PerinArgentinaStephen Shaw RENEWAL
Silvio V InouyeJapanBernardo Dominic UNQUALIFIED
Costa Z RimSpainIoni Bowcher NEW
Juan W VenereRussiaBernardo Dominic QUALIFIED
Tony C CaldareraFranceAsiya Javayant RENEWAL
Emily L SlusarskiArgentinaAnna Fali UNQUALIFIED
Aruna Q AmigonBrazilAmy Elsner QUALIFIED
Izzy M VocelkaSpainAsiya Javayant QUALIFIED
Octavia F VenereItalyAnna Fali PROPOSAL
Frozen Columns
Name
Mayumi V Doe
Izzy Z Slusarski
Clifford I Gillian
Ashley X Malet
Jeanfrancois X Stockham
Costa R Oldroyd
Adams B Ruta
Julie Q Campain
Sinclair U Ostrosky
Maria I Foller
Isabel E Rulapaugh
Jones L Doe
Silvio I Butt
Claire M Foller
Costa S Tollner
Alejandro F Bolognia
Rodrigues K Ostrosky
Rodrigues G Ferencz
Adams Z Ferencz
Stacey J Malet
Sinclair T Morasca
Darci E Dilliard
Salvatore F Rim
Juan E Shinko
Silvio C Paprocki
Arvin U Slusarski
Mayumi D Oldroyd
Murillo C Wieser
Jennifer Q Royster
Maisha E Malet
Maisha J Morasca
Jefferson L Gaucho
Darci J Foller
Cody G Ferencz
Emily H Poquette
Silvio W Amigon
Arvin S Butt
Johnson Z Bolognia
Aruna D Figeroa
Ashley J Ferencz
Greenwood J Paprocki
Adams I Bowley
Chavez K Ruta
Jeanfrancois R Rim
Wickens U Dilliard
Faith F Vocelka
Leon H Stenseth
Mayumi F Iturbide
Aika K Stenseth
David T Stockham
IdCountryDate
1000Spain2024-06-08
1001United Kingdom2024-06-12
1002United Kingdom2024-06-09
1003Germany2024-06-18
1004France2024-05-25
1005Spain2024-06-15
1006Brazil2024-06-04
1007India2024-05-31
1008India2024-06-22
1009Argentina2024-06-07
1010Australia2024-06-01
1011Australia2024-06-08
1012Germany2024-05-28
1013Germany2024-06-18
1014Spain2024-06-08
1015Germany2024-06-14
1016Spain2024-06-10
1017India2024-06-04
1018Canada2024-05-30
1019Italy2024-06-05
1020Argentina2024-05-25
1021France2024-06-22
1022Argentina2024-06-15
1023India2024-05-28
1024Canada2024-05-31
1025Japan2024-06-08
1026Spain2024-06-09
1027Spain2024-05-24
1028Japan2024-05-28
1029Brazil2024-06-22
1030India2024-05-31
1031Brazil2024-05-31
1032France2024-06-03
1033Australia2024-05-24
1034Japan2024-06-21
1035Russia2024-05-26
1036United Kingdom2024-05-28
1037India2024-06-14
1038France2024-06-03
1039Spain2024-06-17
1040Russia2024-06-08
1041Argentina2024-05-24
1042Russia2024-06-17
1043Japan2024-05-30
1044Spain2024-06-22
1045Spain2024-05-29
1046France2024-06-17
1047Australia2024-06-21
1048Spain2024-06-05
1049Brazil2024-06-06

On-Demand Data

NameIdCountryDate
Morrow U Ferencz1000Canada2024-05-30
Smith G Doe1001India2024-06-14
Murillo H Gaucho1002Argentina2024-06-16
Chavez A Sergi1003Brazil2024-06-11
Ashley R Schemmer1004United Kingdom2024-05-26
Alejandro C Rim1005Germany2024-05-31
Faith M Iturbide1006Italy2024-06-08
Johnson C Bowley1007Russia2024-06-15
Izzy P Malet1008India2024-06-10
Wickens Q Kolmetz1009Germany2024-06-08
Salvatore H Poquette1010Australia2024-05-31
Ashley P Nestle1011Spain2024-06-21
Faith C Ostrosky1012Canada2024-06-11
Costa P Nestle1013Argentina2024-06-15
Emily S Chui1014Canada2024-05-27
Leon T Sergi1015Spain2024-05-29
Morrow D Amigon1016Japan2024-06-18
Salvatore Q Ferencz1017India2024-06-22
Izzy Q Iturbide1018India2024-05-29
Darci Y Butt1019Italy2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa G ButtAustraliaAsiya Javayant NEGOTIATION
Emily W FigeroaGermanyIoni Bowcher RENEWAL
Smith I ChuiJapanIvan Magalhaes NEW
Mayumi X BriddickJapanOnyama Limba QUALIFIED
Aditya S MorascaSpainAnna Fali PROPOSAL
Ashley P GlickGermanyAnna Fali UNQUALIFIED
Francesco B GarufiBrazilIvan Magalhaes RENEWAL
Adams C InouyeItalyIvan Magalhaes RENEWAL
Mayumi P BriddickCanadaIvan Magalhaes UNQUALIFIED
Alejandro L MarrierBrazilStephen Shaw NEW
Leja J MaletCanadaAnna Fali UNQUALIFIED
Jennifer J MaletBrazilIvan Magalhaes NEGOTIATION
Ivar W RimArgentinaAnna Fali NEW
Mayumi Z DilliardRussiaAmy Elsner NEGOTIATION
Smith Y MaletAustraliaBernardo Dominic UNQUALIFIED
Claire G GauchoGermanyIoni Bowcher NEGOTIATION
Arvin B MaletAustraliaElwin Sharvill PROPOSAL
Leja R CampainJapanIoni Bowcher RENEWAL
Antonio L TollnerAustraliaAmy Elsner RENEWAL
Wickens S VenereRussiaAsiya Javayant NEGOTIATION
Smith E ChuiCanadaElwin Sharvill NEW
Salvatore Q SergiAustraliaIvan Magalhaes NEW
James T NickaIndiaStephen Shaw QUALIFIED
Jefferson A FerenczGermanyOnyama Limba PROPOSAL
James G DoeJapanElwin Sharvill RENEWAL
Juan K SchemmerRussiaIoni Bowcher PROPOSAL
Maria D RimFranceOnyama Limba UNQUALIFIED
Claire L WaycottCanadaXuxue Feng RENEWAL
Maria Q GauchoUnited KingdomAsiya Javayant UNQUALIFIED
Aruna V VocelkaRussiaAmy Elsner QUALIFIED
Mayumi C DoeFranceIoni Bowcher RENEWAL
Nicolas X BologniaSpainAmy Elsner UNQUALIFIED
Cody X GlickGermanyIoni Bowcher QUALIFIED
Greenwood Y StockhamAustraliaIvan Magalhaes QUALIFIED
Adams Z FlosiRussiaOnyama Limba PROPOSAL
Izzy Z NickaSpainIoni Bowcher NEGOTIATION
Ivar X VocelkaBrazilXuxue Feng UNQUALIFIED
Maisha H StensethUnited KingdomXuxue Feng NEGOTIATION
Munro M AmigonUnited KingdomAmy Elsner RENEWAL
Aruna F WieserJapanStephen Shaw 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>