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
Mujtaba S SaylorsSpainAmy Elsner NEW
Misaki Z AlbaresRussiaIvan Magalhaes UNQUALIFIED
Jones C DoeBrazilStephen Shaw RENEWAL
Morrow U KuskoFranceBernardo Dominic PROPOSAL
Smith R BologniaRussiaAmy Elsner QUALIFIED
Jennifer T MarrierIndiaElwin Sharvill PROPOSAL
Nicolas E BowleyJapanAsiya Javayant NEW
Antonio R BriddickRussiaOnyama Limba PROPOSAL
Deepesh Y GillianCanadaIvan Magalhaes NEGOTIATION
Munro M GauchoItalyElwin Sharvill RENEWAL
Mayumi F CampainIndiaOnyama Limba UNQUALIFIED
Murillo X FerenczCanadaIvan Magalhaes NEW
Alejandro J BowleyArgentinaElwin Sharvill UNQUALIFIED
Tony U BologniaUnited KingdomAmy Elsner NEW
Mujtaba T GarufiAustraliaStephen Shaw NEGOTIATION
Arvin W GauchoFranceBernardo Dominic PROPOSAL
Adams N FigeroaGermanyIvan Magalhaes NEGOTIATION
Jefferson Z InouyeRussiaElwin Sharvill PROPOSAL
Aika Y IturbideFranceXuxue Feng RENEWAL
Adams P SergiFranceAmy Elsner RENEWAL
Mujtaba J SergiSpainXuxue Feng PROPOSAL
Stacey C GlickIndiaIvan Magalhaes NEW
James K FlosiIndiaIoni Bowcher PROPOSAL
Mujtaba Y GlickRussiaBernardo Dominic NEW
Kaitlin O ButtCanadaBernardo Dominic NEGOTIATION
Mujtaba Z RulapaughGermanyStephen Shaw QUALIFIED
Leon G CampainCanadaIvan Magalhaes NEGOTIATION
Tony O VocelkaFranceOnyama Limba NEGOTIATION
Ricardo H FigeroaItalyStephen Shaw NEW
Munro Y BologniaCanadaAsiya Javayant QUALIFIED
Aika B KuskoFranceAsiya Javayant QUALIFIED
Jones I GillianItalyOnyama Limba NEW
Morrow M RimCanadaAmy Elsner QUALIFIED
Darci B VocelkaCanadaAsiya Javayant QUALIFIED
Tony I OstroskyIndiaIoni Bowcher RENEWAL
Johnson R CampainGermanyAsiya Javayant QUALIFIED
Emily G DilliardIndiaElwin Sharvill NEW
Arvin Y MacleadItalyIvan Magalhaes RENEWAL
Jennifer F DilliardAustraliaOnyama Limba PROPOSAL
Aruna N RimAustraliaIoni Bowcher PROPOSAL
Aditya Y OstroskyRussiaIoni Bowcher PROPOSAL
Clifford P KuskoUnited KingdomElwin Sharvill RENEWAL
Chavez J WaycottArgentinaOnyama Limba NEW
Johnson P SlusarskiIndiaElwin Sharvill QUALIFIED
Misaki Z VenereCanadaAnna Fali QUALIFIED
Izzy F MaletArgentinaIvan Magalhaes NEW
Ivar J GarufiGermanyIoni Bowcher PROPOSAL
Rodrigues B ShinkoAustraliaBernardo Dominic NEW
Aika G OldroydJapanIoni Bowcher UNQUALIFIED
Faith O StockhamSpainAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Ivar C StensethItalyIvan Magalhaes RENEWAL
Adams W PaprockiJapanAmy Elsner PROPOSAL
Juan T VenereItalyIvan Magalhaes NEGOTIATION
Sinclair E SaylorsBrazilIoni Bowcher UNQUALIFIED
Kadeem V ChuiGermanyStephen Shaw NEGOTIATION
David K MarrierJapanAnna Fali NEW
Antonio X DarakjyAustraliaXuxue Feng RENEWAL
Cody P AmigonGermanyXuxue Feng NEW
Darci W StockhamRussiaAmy Elsner NEW
Rodrigues L AlbaresBrazilXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin Q GarufiFrance2026-07-08Printing Dimensions NEW48Ivan Magalhaes
1001Chavez P GauchoSpain2026-07-02King, Christopher A Esq NEGOTIATION21Bernardo Dominic
1002Julie I CampainGermany2026-07-04Chemel, James L Cpa NEGOTIATION47Xuxue Feng
1003Mayumi E GarufiCanada2026-07-24Rangoni Of Florence UNQUALIFIED33Amy Elsner
1004Jones M BriddickSpain2026-06-29Commercial Press QUALIFIED11Stephen Shaw
1005Murillo S IturbideBrazil2026-07-16King, Christopher A Esq RENEWAL26Ivan Magalhaes
1006Wickens B KolmetzBrazil2026-07-19Morlong Associates UNQUALIFIED84Asiya Javayant
1007Alejandro V ChuiCanada2026-07-02Feltz Printing Service PROPOSAL25Ivan Magalhaes
1008Rodrigues I RulapaughItaly2026-07-08Chemel, James L Cpa NEGOTIATION94Ioni Bowcher
1009Greenwood A OldroydGermany2026-07-07Benton, John B Jr UNQUALIFIED32Onyama Limba
1010Ashley J VenereArgentina2026-06-26Buckley Miller Wright QUALIFIED48Onyama Limba
1011Salvatore C GauchoGermany2026-07-17Morlong Associates NEW7Stephen Shaw
1012Murillo Z CaudySpain2026-07-18Feltz Printing Service PROPOSAL63Ivan Magalhaes
1013Mayumi W NestleUnited Kingdom2026-07-02Rangoni Of Florence NEW36Amy Elsner
1014David D GillianIndia2026-06-26Chemel, James L Cpa PROPOSAL1Amy Elsner
1015Darci T MarrierBrazil2026-07-12Feiner Bros RENEWAL12Xuxue Feng
1016Clifford L NestleJapan2026-07-06Buckley Miller Wright PROPOSAL44Elwin Sharvill
1017Emily M PoquetteIndia2026-07-03Rangoni Of Florence RENEWAL28Asiya Javayant
1018Kadeem M MaletUnited Kingdom2026-07-13Buckley Miller Wright NEGOTIATION0Asiya Javayant
1019Kadeem W BowleyCanada2026-07-05Truhlar And Truhlar Attys NEW38Amy Elsner
1020Maisha S InouyeAustralia2026-07-16Chapman, Ross E Esq QUALIFIED60Stephen Shaw
1021Kadeem P MarrierRussia2026-07-07Truhlar And Truhlar Attys NEGOTIATION3Stephen Shaw
1022Faith T BriddickBrazil2026-07-12Feltz Printing Service PROPOSAL56Ioni Bowcher
1023Jefferson I FlosiIndia2026-07-08Truhlar And Truhlar Attys PROPOSAL24Onyama Limba
1024James W KolmetzUnited Kingdom2026-07-21Buckley Miller Wright RENEWAL34Ivan Magalhaes
1025Jones D RimUnited Kingdom2026-07-18Benton, John B Jr NEGOTIATION96Xuxue Feng
1026Izzy G PerinItaly2026-07-05Benton, John B Jr QUALIFIED40Ivan Magalhaes
1027Adams E StensethSpain2026-07-24Truhlar And Truhlar Attys NEGOTIATION93Bernardo Dominic
1028Deepesh I StensethUnited Kingdom2026-07-08Benton, John B Jr PROPOSAL90Bernardo Dominic
1029Jones V PaprockiCanada2026-06-30Feltz Printing Service UNQUALIFIED76Xuxue Feng
1030Arvin P TollnerRussia2026-06-26Rousseaux, Michael Esq QUALIFIED98Amy Elsner
1031Isabel X AlbaresIndia2026-06-25Printing Dimensions QUALIFIED4Ioni Bowcher
1032Isabel Y TollnerRussia2026-06-28Commercial Press NEGOTIATION95Ioni Bowcher
1033Munro P FerenczSpain2026-07-15Truhlar And Truhlar Attys UNQUALIFIED34Stephen Shaw
1034Morrow A CaudyJapan2026-07-04Rousseaux, Michael Esq UNQUALIFIED19Ivan Magalhaes
1035Cody K FigeroaAustralia2026-07-17Benton, John B Jr NEGOTIATION53Onyama Limba
1036James H GillianBrazil2026-07-11Benton, John B Jr UNQUALIFIED27Amy Elsner
1037Wickens X DoeUnited Kingdom2026-07-03Feltz Printing Service NEW48Ioni Bowcher
1038Clifford P PerinCanada2026-07-17Truhlar And Truhlar Attys NEGOTIATION39Xuxue Feng
1039Tony N DilliardUnited Kingdom2026-07-10Morlong Associates UNQUALIFIED10Anna Fali
1040James A VocelkaIndia2026-06-27Chanay, Jeffrey A Esq PROPOSAL96Asiya Javayant
1041Kaitlin X KuskoArgentina2026-07-10Commercial Press UNQUALIFIED58Xuxue Feng
1042Leja N SlusarskiGermany2026-06-25Rousseaux, Michael Esq NEGOTIATION30Ioni Bowcher
1043Murillo M ButtBrazil2026-07-20Morlong Associates UNQUALIFIED67Ioni Bowcher
1044Julie U ChuiAustralia2026-07-05Dorl, James J Esq NEW29Ivan Magalhaes
1045Aditya Q VocelkaGermany2026-07-16Chanay, Jeffrey A Esq RENEWAL67Ivan Magalhaes
1046Jones D CampainSpain2026-07-05King, Christopher A Esq UNQUALIFIED51Ioni Bowcher
1047Jefferson P BologniaAustralia2026-07-20Dorl, James J Esq QUALIFIED46Amy Elsner
1048Rodrigues B RulapaughIndia2026-06-27Benton, John B Jr QUALIFIED58Amy Elsner
1049Jennifer C CaudyArgentina2026-07-13Benton, John B Jr PROPOSAL14Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba W CaudyAustraliaOnyama Limba UNQUALIFIED
Kaitlin B VocelkaFranceAmy Elsner NEW
Juan H GlickItalyIoni Bowcher NEW
Faith N KuskoArgentinaXuxue Feng QUALIFIED
Aika B MaletItalyOnyama Limba NEW
Jones W OldroydIndiaBernardo Dominic NEW
Adams F RoysterCanadaElwin Sharvill NEGOTIATION
Ivar Q FerenczItalyBernardo Dominic NEGOTIATION
Kadeem B StensethBrazilAmy Elsner PROPOSAL
Aditya A OstroskyIndiaStephen Shaw NEGOTIATION
Morrow X FigeroaGermanyAsiya Javayant UNQUALIFIED
Murillo H DoeCanadaXuxue Feng RENEWAL
Adams D MacleadAustraliaIoni Bowcher PROPOSAL
Sinclair B StockhamCanadaXuxue Feng UNQUALIFIED
Wickens Z AlbaresCanadaElwin Sharvill PROPOSAL
Isabel U RimFranceIvan Magalhaes PROPOSAL
Isabel W NickaCanadaAsiya Javayant NEW
Alejandro O DoeArgentinaAnna Fali NEW
Salvatore Z VenereRussiaAnna Fali RENEWAL
Costa C RutaJapanStephen Shaw NEW
Jones M BowleyUnited KingdomXuxue Feng UNQUALIFIED
Aruna P SergiRussiaAsiya Javayant UNQUALIFIED
Munro M CaudyJapanStephen Shaw QUALIFIED
Greenwood T StensethUnited KingdomIoni Bowcher UNQUALIFIED
Misaki R BriddickItalyIvan Magalhaes PROPOSAL
Stacey Y TollnerGermanyIvan Magalhaes NEW
Costa P StockhamFranceBernardo Dominic QUALIFIED
Costa I OldroydItalyIoni Bowcher NEW
Claire P MarrierBrazilAsiya Javayant NEW
Smith P DoeIndiaIoni Bowcher NEW
Jeanfrancois N WaycottIndiaXuxue Feng PROPOSAL
Leon W GarufiSpainXuxue Feng NEW
David H WhobreyBrazilAsiya Javayant UNQUALIFIED
Francesco N FerenczSpainOnyama Limba NEGOTIATION
Aika W WaycottCanadaStephen Shaw NEGOTIATION
Francesco W MarrierBrazilIvan Magalhaes NEW
Aika U BriddickItalyBernardo Dominic QUALIFIED
Isabel T SlusarskiRussiaBernardo Dominic RENEWAL
Munro F PaprockiFranceElwin Sharvill NEGOTIATION
James C WaycottItalyElwin Sharvill UNQUALIFIED
Rodrigues Z BriddickFranceElwin Sharvill QUALIFIED
Ashley R SaylorsAustraliaAnna Fali UNQUALIFIED
Jones F CampainArgentinaStephen Shaw QUALIFIED
Kadeem U GlickUnited KingdomAnna Fali QUALIFIED
Tony V GarufiArgentinaIoni Bowcher UNQUALIFIED
Jefferson S SlusarskiFranceElwin Sharvill QUALIFIED
Salvatore D PoquetteIndiaXuxue Feng UNQUALIFIED
Faith A PerinArgentinaXuxue Feng NEGOTIATION
Jennifer Y RimArgentinaElwin Sharvill PROPOSAL
Sinclair M KuskoIndiaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Silvio Y Caudy
Adams Q Nicka
Isabel A Bowley
Nicolas T Caldarera
Wickens N Perin
Nicolas C Kolmetz
Johnson H Tollner
Jennifer W Whobrey
Maisha C Bowley
Antonio F Rulapaugh
Alejandro M Bolognia
Isabel R Chui
Aika R Oldroyd
Mujtaba J Slusarski
Greenwood P Slusarski
Julie W Garufi
Maisha N Oldroyd
Aruna D Stockham
Leja T Gaucho
Claire P Kusko
Isabel H Whobrey
Jeanfrancois J Albares
Morrow M Inouye
Mujtaba S Poquette
Tony Z Sergi
Julie G Shinko
Ashley Q Saylors
Mayumi V Gillian
Rodrigues X Nicka
Juan O Stenseth
Deepesh Z Nicka
Francesco X Figeroa
Jennifer S Caudy
Julie Q Nicka
Ricardo J Figeroa
Leon Z Paprocki
Julie U Tollner
Jefferson O Ferencz
Misaki W Sergi
Juan S Nestle
Jones L Maclead
Mayumi G Chui
Leon L Iturbide
Alejandro K Doe
Sinclair Z Ostrosky
Deepesh V Venere
Izzy D Doe
Aditya U Stockham
David V Nestle
Arvin Q Figeroa
IdCountryDate
1000Argentina2026-07-06
1001Canada2026-07-01
1002France2026-07-02
1003Australia2026-07-13
1004Italy2026-07-11
1005India2026-07-09
1006Spain2026-07-17
1007Brazil2026-07-02
1008India2026-07-09
1009Australia2026-07-16
1010Japan2026-07-05
1011United Kingdom2026-07-11
1012Japan2026-06-29
1013India2026-07-19
1014Russia2026-06-27
1015Italy2026-07-09
1016Canada2026-07-22
1017Russia2026-07-20
1018Argentina2026-07-20
1019France2026-07-19
1020Italy2026-07-06
1021Argentina2026-07-16
1022Brazil2026-07-22
1023Spain2026-07-14
1024Japan2026-06-26
1025Germany2026-07-04
1026Canada2026-07-12
1027Australia2026-07-08
1028Italy2026-07-08
1029Canada2026-07-14
1030Spain2026-06-25
1031India2026-07-14
1032Argentina2026-07-06
1033Russia2026-07-11
1034India2026-07-07
1035Argentina2026-07-05
1036Germany2026-07-09
1037Italy2026-06-30
1038Brazil2026-07-19
1039France2026-07-17
1040Spain2026-07-16
1041United Kingdom2026-07-03
1042United Kingdom2026-07-19
1043Canada2026-07-13
1044Australia2026-07-13
1045India2026-07-20
1046India2026-07-02
1047Japan2026-07-15
1048Germany2026-07-16
1049Germany2026-06-27

On-Demand Data

NameIdCountryDate
David B Campain1000Spain2026-07-02
Aika G Garufi1001Germany2026-07-17
Silvio D Morasca1002Spain2026-07-13
Clifford W Darakjy1003Italy2026-07-10
Faith E Venere1004Argentina2026-07-12
Aika H Iturbide1005Japan2026-06-30
Stacey W Kusko1006Italy2026-07-17
Juan Z Saylors1007Canada2026-07-04
Octavia M Briddick1008Argentina2026-07-03
Emily C Ostrosky1009India2026-07-07
Adams F Nicka1010Spain2026-07-09
Mujtaba S Rulapaugh1011Canada2026-07-11
Clifford E Kusko1012Japan2026-07-24
Alejandro Y Paprocki1013France2026-06-26
Leon O Rulapaugh1014Russia2026-07-19
Aruna Q Schemmer1015United Kingdom2026-06-30
Maria X Rulapaugh1016Italy2026-07-01
Ashley B Amigon1017Germany2026-07-12
Ivar L Ostrosky1018Russia2026-07-09
Jones X Foller1019United Kingdom2026-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer Z GarufiUnited KingdomAsiya Javayant QUALIFIED
Maria Y GlickJapanAmy Elsner RENEWAL
Maisha N DarakjySpainAsiya Javayant UNQUALIFIED
James G ButtJapanStephen Shaw UNQUALIFIED
Misaki B FerenczUnited KingdomOnyama Limba NEW
Claire S MorascaRussiaStephen Shaw NEGOTIATION
Chavez Y GarufiCanadaAnna Fali UNQUALIFIED
Morrow Z PoquetteBrazilAsiya Javayant PROPOSAL
Ashley X WieserJapanXuxue Feng PROPOSAL
Costa E TollnerFranceIvan Magalhaes UNQUALIFIED
Juan E FlosiAustraliaAnna Fali NEGOTIATION
Misaki A SchemmerBrazilXuxue Feng RENEWAL
Kaitlin A FollerCanadaBernardo Dominic RENEWAL
Emily Q PaprockiArgentinaIoni Bowcher RENEWAL
Claire U AlbaresFranceOnyama Limba NEW
Murillo G AmigonSpainStephen Shaw PROPOSAL
Maisha B PaprockiAustraliaXuxue Feng NEGOTIATION
Munro F GarufiUnited KingdomAsiya Javayant RENEWAL
Stacey H SlusarskiSpainOnyama Limba RENEWAL
Misaki G ButtItalyOnyama Limba NEGOTIATION
Octavia Q MarrierItalyBernardo Dominic PROPOSAL
Izzy J IturbideSpainElwin Sharvill NEGOTIATION
Chavez Y ChuiIndiaIoni Bowcher NEW
Arvin U PoquetteCanadaIoni Bowcher PROPOSAL
Mayumi Y VocelkaIndiaIvan Magalhaes RENEWAL
Juan V BriddickBrazilAmy Elsner NEW
Octavia D VocelkaIndiaElwin Sharvill RENEWAL
Darci R FigeroaFranceElwin Sharvill RENEWAL
Deepesh G PoquetteBrazilAnna Fali NEGOTIATION
Aruna G AlbaresGermanyAnna Fali QUALIFIED
Jennifer R RutaGermanyAnna Fali PROPOSAL
Nicolas U DarakjyGermanyStephen Shaw QUALIFIED
Jones G WhobreyIndiaOnyama Limba UNQUALIFIED
Julie Z GillianUnited KingdomAsiya Javayant NEGOTIATION
Juan V MorascaFranceIvan Magalhaes NEGOTIATION
Jones X PoquetteBrazilIoni Bowcher PROPOSAL
Juan P WhobreyArgentinaAnna Fali PROPOSAL
Smith G SaylorsRussiaIoni Bowcher NEW
Jones R OldroydGermanyIvan Magalhaes UNQUALIFIED
Clifford K CampainAustraliaAnna Fali 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>