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
Morrow S SchemmerFranceBernardo Dominic NEGOTIATION
Maisha E RulapaughSpainElwin Sharvill NEW
Leon I SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Antonio F PoquetteFranceXuxue Feng PROPOSAL
Mujtaba G PoquetteJapanXuxue Feng PROPOSAL
Leja C WhobreyJapanIvan Magalhaes QUALIFIED
Rodrigues H VenereBrazilXuxue Feng RENEWAL
Maria W PaprockiArgentinaAmy Elsner QUALIFIED
Sinclair A SergiSpainIoni Bowcher QUALIFIED
Tony X RutaUnited KingdomOnyama Limba QUALIFIED
Maisha L OstroskyFranceAmy Elsner QUALIFIED
Claire R SergiAustraliaAsiya Javayant UNQUALIFIED
Leon H PaprockiBrazilStephen Shaw NEGOTIATION
Leon J AlbaresRussiaOnyama Limba PROPOSAL
Antonio M AmigonFranceAsiya Javayant RENEWAL
Sinclair W MaletRussiaStephen Shaw PROPOSAL
Francesco E RulapaughItalyIvan Magalhaes NEW
Jefferson O FlosiItalyBernardo Dominic NEGOTIATION
Misaki N WieserIndiaElwin Sharvill PROPOSAL
Aruna W WieserAustraliaElwin Sharvill UNQUALIFIED
Aika U MorascaAustraliaAsiya Javayant QUALIFIED
Jefferson K StensethBrazilOnyama Limba UNQUALIFIED
Jeanfrancois V WaycottJapanIvan Magalhaes PROPOSAL
Jennifer X OldroydBrazilElwin Sharvill PROPOSAL
Arvin Z RutaBrazilStephen Shaw NEGOTIATION
Smith Y MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Claire L MarrierFranceBernardo Dominic NEGOTIATION
Stacey L AmigonIndiaBernardo Dominic PROPOSAL
Maria H DilliardAustraliaIvan Magalhaes NEW
Julie D BowleyRussiaOnyama Limba NEGOTIATION
Greenwood Y GillianUnited KingdomAmy Elsner RENEWAL
Isabel K CaudyGermanyXuxue Feng RENEWAL
Maria R CaudyUnited KingdomOnyama Limba NEGOTIATION
Clifford E BowleyRussiaElwin Sharvill NEGOTIATION
Darci K BologniaAustraliaIvan Magalhaes QUALIFIED
Emily U StockhamBrazilBernardo Dominic QUALIFIED
David S RimJapanStephen Shaw NEGOTIATION
Emily X GauchoArgentinaAmy Elsner UNQUALIFIED
Johnson J FerenczJapanElwin Sharvill NEGOTIATION
Ivar F FollerBrazilIvan Magalhaes UNQUALIFIED
Ashley H NestleBrazilXuxue Feng UNQUALIFIED
Isabel M PoquetteIndiaIvan Magalhaes NEGOTIATION
Munro D MacleadBrazilElwin Sharvill NEGOTIATION
Tony B FlosiBrazilOnyama Limba NEGOTIATION
Ivar F BowleyFranceAnna Fali QUALIFIED
Murillo G MarrierRussiaAsiya Javayant PROPOSAL
Julie F MacleadAustraliaXuxue Feng NEGOTIATION
Arvin V WieserCanadaStephen Shaw NEW
Mayumi K MarrierFranceIoni Bowcher PROPOSAL
Juan Q RulapaughBrazilXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aika B GillianRussiaBernardo Dominic NEW
Rodrigues E TollnerAustraliaIoni Bowcher NEW
Johnson B CampainIndiaOnyama Limba UNQUALIFIED
Ivar M MaletFranceBernardo Dominic UNQUALIFIED
Julie O PerinItalyStephen Shaw RENEWAL
Emily A DoeBrazilElwin Sharvill NEW
Izzy D ButtGermanyXuxue Feng QUALIFIED
Mujtaba B MacleadFranceAmy Elsner UNQUALIFIED
Silvio B RimJapanIvan Magalhaes NEW
Deepesh N GlickCanadaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie S MacleadGermany2024-04-24Rousseaux, Michael Esq NEW64Xuxue Feng
1001Misaki E NestleIndia2024-05-20Rousseaux, Michael Esq NEGOTIATION39Anna Fali
1002Nicolas F BriddickAustralia2024-05-12Truhlar And Truhlar Attys PROPOSAL67Bernardo Dominic
1003Arvin R SlusarskiCanada2024-04-30Morlong Associates QUALIFIED29Bernardo Dominic
1004Deepesh V RimAustralia2024-05-21Chapman, Ross E Esq UNQUALIFIED62Elwin Sharvill
1005Salvatore Y FerenczUnited Kingdom2024-04-26Feltz Printing Service RENEWAL8Bernardo Dominic
1006Aditya A InouyeJapan2024-04-24King, Christopher A Esq NEW52Onyama Limba
1007Greenwood E AmigonArgentina2024-05-09Rangoni Of Florence UNQUALIFIED85Ivan Magalhaes
1008Jefferson W WaycottGermany2024-05-15Benton, John B Jr NEGOTIATION75Stephen Shaw
1009Jefferson Y DilliardJapan2024-05-08Commercial Press QUALIFIED65Onyama Limba
1010Faith H WieserUnited Kingdom2024-05-13Buckley Miller Wright RENEWAL15Asiya Javayant
1011Misaki E BriddickUnited Kingdom2024-05-20Dorl, James J Esq QUALIFIED13Xuxue Feng
1012Wickens R RimAustralia2024-04-30Morlong Associates NEW14Asiya Javayant
1013Tony Q KolmetzGermany2024-05-01Truhlar And Truhlar Attys QUALIFIED77Amy Elsner
1014Darci K IturbideItaly2024-05-02Morlong Associates NEW65Elwin Sharvill
1015Misaki Y KolmetzAustralia2024-05-12Morlong Associates NEGOTIATION55Amy Elsner
1016Aika O FollerSpain2024-05-09Feltz Printing Service QUALIFIED73Asiya Javayant
1017Sinclair C AlbaresUnited Kingdom2024-04-25King, Christopher A Esq UNQUALIFIED34Xuxue Feng
1018Leon A MarrierJapan2024-04-26Chemel, James L Cpa PROPOSAL9Amy Elsner
1019Leja D MarrierUnited Kingdom2024-04-27Dorl, James J Esq NEW88Onyama Limba
1020Mujtaba Q FlosiItaly2024-05-19Morlong Associates NEGOTIATION52Ivan Magalhaes
1021Murillo U PaprockiFrance2024-05-20Commercial Press UNQUALIFIED17Asiya Javayant
1022Salvatore F SergiIndia2024-05-17Feltz Printing Service RENEWAL70Ivan Magalhaes
1023Aruna S BologniaIndia2024-04-29Feiner Bros PROPOSAL49Ioni Bowcher
1024Mujtaba U GarufiArgentina2024-04-30Truhlar And Truhlar Attys RENEWAL34Asiya Javayant
1025Julie T CaldareraCanada2024-05-15Chemel, James L Cpa QUALIFIED35Ioni Bowcher
1026Wickens H NickaJapan2024-04-29Chanay, Jeffrey A Esq UNQUALIFIED61Ioni Bowcher
1027Greenwood U MacleadJapan2024-05-17King, Christopher A Esq NEW15Bernardo Dominic
1028Emily O CaudyGermany2024-05-15Morlong Associates NEGOTIATION36Ioni Bowcher
1029Clifford J KuskoGermany2024-05-18Morlong Associates RENEWAL76Asiya Javayant
1030Murillo T WaycottIndia2024-04-28Feiner Bros RENEWAL38Ioni Bowcher
1031Julie Z FigeroaGermany2024-05-16Morlong Associates UNQUALIFIED85Anna Fali
1032Smith R NestleUnited Kingdom2024-05-07Printing Dimensions UNQUALIFIED2Asiya Javayant
1033Wickens Q FlosiJapan2024-04-25Truhlar And Truhlar Attys QUALIFIED30Xuxue Feng
1034Kadeem J SergiSpain2024-05-16Feltz Printing Service NEGOTIATION20Elwin Sharvill
1035Darci Q BologniaCanada2024-05-22Feiner Bros RENEWAL92Amy Elsner
1036Emily G NickaSpain2024-05-22Feltz Printing Service NEGOTIATION24Ioni Bowcher
1037Nicolas Y MarrierCanada2024-05-23Chanay, Jeffrey A Esq NEW10Ivan Magalhaes
1038Greenwood T SchemmerBrazil2024-05-08Chemel, James L Cpa RENEWAL4Xuxue Feng
1039Maria X RimAustralia2024-05-06King, Christopher A Esq QUALIFIED61Asiya Javayant
1040Chavez B NickaSpain2024-05-23Buckley Miller Wright RENEWAL16Ivan Magalhaes
1041Sinclair N SaylorsAustralia2024-04-28King, Christopher A Esq QUALIFIED44Stephen Shaw
1042Smith F GarufiGermany2024-05-17King, Christopher A Esq PROPOSAL27Onyama Limba
1043Stacey F GarufiCanada2024-05-11Chanay, Jeffrey A Esq NEW28Elwin Sharvill
1044Adams G NestleBrazil2024-05-11Rangoni Of Florence NEW60Xuxue Feng
1045Leja L RulapaughFrance2024-04-26Dorl, James J Esq RENEWAL27Ioni Bowcher
1046David M TollnerJapan2024-04-29Buckley Miller Wright QUALIFIED38Anna Fali
1047Wickens E InouyeAustralia2024-05-21Dorl, James J Esq NEW16Ivan Magalhaes
1048Johnson K RutaRussia2024-05-09Chemel, James L Cpa PROPOSAL25Ioni Bowcher
1049Cody V RoysterUnited Kingdom2024-05-04Printing Dimensions PROPOSAL93Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Chavez S DilliardUnited KingdomElwin Sharvill RENEWAL
Morrow P TollnerArgentinaElwin Sharvill RENEWAL
Darci W NestleCanadaAnna Fali UNQUALIFIED
Kaitlin U PaprockiIndiaXuxue Feng RENEWAL
Leon N SlusarskiCanadaStephen Shaw RENEWAL
Aruna I WaycottJapanAmy Elsner NEW
Tony U PaprockiRussiaXuxue Feng NEW
Deepesh N SchemmerRussiaAsiya Javayant QUALIFIED
Stacey L MaletIndiaBernardo Dominic PROPOSAL
Isabel T MacleadBrazilIvan Magalhaes RENEWAL
Emily G PoquetteGermanyXuxue Feng QUALIFIED
Julie I AmigonGermanyAsiya Javayant QUALIFIED
Sinclair F BowleyJapanStephen Shaw PROPOSAL
Ivar J KolmetzBrazilAmy Elsner NEGOTIATION
Ashley D OstroskyArgentinaOnyama Limba UNQUALIFIED
Ashley Q GillianJapanAmy Elsner UNQUALIFIED
Claire H RoysterItalyAmy Elsner QUALIFIED
Alejandro V PaprockiJapanIoni Bowcher RENEWAL
Munro K GillianFranceIoni Bowcher NEGOTIATION
Maisha J MaletJapanIvan Magalhaes NEGOTIATION
Murillo A ButtItalyAsiya Javayant NEGOTIATION
Tony M GauchoUnited KingdomIoni Bowcher RENEWAL
Smith O FigeroaCanadaIvan Magalhaes PROPOSAL
Deepesh H FlosiJapanIvan Magalhaes RENEWAL
Antonio U OldroydItalyElwin Sharvill PROPOSAL
Sinclair O StensethUnited KingdomAmy Elsner NEW
Kadeem A OstroskyIndiaAmy Elsner NEW
Clifford K BriddickSpainOnyama Limba NEW
David A TollnerFranceAnna Fali PROPOSAL
Costa A KuskoCanadaIoni Bowcher RENEWAL
Aruna Y FollerGermanyXuxue Feng RENEWAL
Costa Q SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Costa G RutaSpainAmy Elsner UNQUALIFIED
James K GillianBrazilAmy Elsner RENEWAL
Leja V SlusarskiIndiaOnyama Limba NEGOTIATION
Darci Q CampainItalyAsiya Javayant UNQUALIFIED
Octavia T RoysterBrazilAnna Fali QUALIFIED
James B NickaRussiaAnna Fali NEGOTIATION
Kadeem P RoysterGermanyElwin Sharvill NEGOTIATION
Octavia I ChuiFranceIoni Bowcher RENEWAL
Greenwood S SergiAustraliaOnyama Limba UNQUALIFIED
Juan R DarakjyBrazilBernardo Dominic UNQUALIFIED
Antonio X SchemmerIndiaBernardo Dominic RENEWAL
Ivar B DarakjyJapanAnna Fali RENEWAL
Izzy F ShinkoAustraliaIoni Bowcher NEW
Munro G BowleyCanadaAmy Elsner UNQUALIFIED
Darci J RutaIndiaXuxue Feng PROPOSAL
Maisha E BowleyItalyIoni Bowcher QUALIFIED
Jones F WaycottItalyBernardo Dominic RENEWAL
Ashley S MacleadRussiaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Claire I Nicka
Nicolas K Wieser
Jennifer G Perin
Ashley L Ferencz
Rodrigues F Caudy
Greenwood M Paprocki
Jones G Glick
Jeanfrancois B Nestle
David V Stockham
Izzy Y Rulapaugh
Wickens R Albares
Jeanfrancois Z Maclead
Octavia L Malet
Faith F Foller
Aika H Malet
Adams G Caldarera
Rodrigues J Bowley
Julie V Amigon
Munro U Stockham
Rodrigues L Chui
Leon V Wieser
Murillo U Ostrosky
Juan T Flosi
Izzy H Vocelka
Aika Q Waycott
Sinclair U Flosi
Costa K Campain
Chavez C Garufi
Aditya Q Iturbide
Cody E Nestle
Faith K Malet
Faith Y Whobrey
Emily L Ferencz
Ricardo E Foller
Arvin E Darakjy
Izzy C Poquette
Leon W Iturbide
Salvatore F Ferencz
Isabel H Flosi
Jennifer I Nestle
Leon X Slusarski
Julie T Caldarera
Maisha A Morasca
Nicolas U Bowley
Nicolas J Amigon
Greenwood G Wieser
Emily C Oldroyd
Ricardo K Butt
Chavez R Marrier
Octavia B Iturbide
IdCountryDate
1000Spain2024-05-09
1001Argentina2024-05-14
1002Japan2024-05-21
1003Australia2024-04-26
1004Australia2024-05-13
1005Canada2024-04-24
1006United Kingdom2024-04-29
1007Japan2024-05-06
1008United Kingdom2024-05-09
1009India2024-05-11
1010France2024-04-24
1011Argentina2024-05-17
1012Germany2024-05-17
1013Russia2024-05-20
1014Brazil2024-05-16
1015Canada2024-05-05
1016Australia2024-04-26
1017United Kingdom2024-05-12
1018Spain2024-04-28
1019Australia2024-04-25
1020Germany2024-05-02
1021Japan2024-04-26
1022Argentina2024-05-13
1023Brazil2024-05-06
1024Brazil2024-05-06
1025Australia2024-05-13
1026Japan2024-04-24
1027United Kingdom2024-05-16
1028Italy2024-05-10
1029Argentina2024-05-04
1030France2024-05-12
1031Italy2024-05-01
1032India2024-05-12
1033Germany2024-05-21
1034Brazil2024-05-07
1035Canada2024-04-24
1036Japan2024-05-02
1037United Kingdom2024-05-14
1038Canada2024-05-23
1039Russia2024-05-22
1040Japan2024-05-23
1041Spain2024-05-18
1042United Kingdom2024-05-20
1043Canada2024-05-22
1044Japan2024-05-10
1045Russia2024-04-30
1046Argentina2024-05-15
1047Germany2024-05-21
1048Canada2024-05-13
1049Spain2024-05-11

On-Demand Data

NameIdCountryDate
Silvio T Morasca1000Spain2024-05-15
Stacey C Whobrey1001Australia2024-05-02
Emily Q Ferencz1002Australia2024-05-12
Julie V Malet1003Italy2024-04-26
Salvatore G Shinko1004Japan2024-05-21
Ricardo I Slusarski1005India2024-05-11
Clifford V Caldarera1006United Kingdom2024-05-01
Cody U Shinko1007India2024-05-21
Rodrigues L Poquette1008Argentina2024-05-21
Octavia D Darakjy1009Russia2024-05-18
Julie N Ruta1010Russia2024-05-19
Morrow W Nicka1011Japan2024-05-23
Smith L Amigon1012Italy2024-05-21
Adams E Chui1013Canada2024-05-21
Alejandro U Marrier1014Brazil2024-05-03
Aditya L Inouye1015Canada2024-05-18
Greenwood S Wieser1016United Kingdom2024-05-05
Johnson H Poquette1017France2024-05-11
Wickens X Flosi1018Germany2024-05-03
Misaki G Vocelka1019United Kingdom2024-05-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues P RoysterGermanyOnyama Limba UNQUALIFIED
Sinclair E FlosiItalyIoni Bowcher NEGOTIATION
Francesco D AmigonIndiaAmy Elsner NEGOTIATION
Alejandro Z VocelkaCanadaAmy Elsner QUALIFIED
Antonio I ChuiFranceIoni Bowcher UNQUALIFIED
Mayumi B AlbaresGermanyBernardo Dominic RENEWAL
Darci B DoeArgentinaAmy Elsner UNQUALIFIED
Costa Q SaylorsSpainAmy Elsner RENEWAL
Murillo K SaylorsUnited KingdomAmy Elsner QUALIFIED
Alejandro O RoysterGermanyElwin Sharvill QUALIFIED
Munro H GlickArgentinaIoni Bowcher QUALIFIED
Johnson W KuskoUnited KingdomAnna Fali NEW
Emily W AlbaresAustraliaElwin Sharvill RENEWAL
Greenwood T PaprockiArgentinaStephen Shaw PROPOSAL
Leja V WhobreyItalyAmy Elsner NEW
Leja F BologniaSpainStephen Shaw PROPOSAL
Smith V RutaFranceIoni Bowcher RENEWAL
Aditya N PaprockiIndiaAsiya Javayant RENEWAL
Jennifer S BowleyArgentinaAmy Elsner RENEWAL
Faith T WieserGermanyOnyama Limba RENEWAL
Francesco U GauchoJapanAmy Elsner PROPOSAL
Faith O BologniaArgentinaBernardo Dominic NEGOTIATION
Jefferson X AmigonArgentinaElwin Sharvill RENEWAL
Isabel Y RimIndiaElwin Sharvill UNQUALIFIED
Arvin Y RulapaughGermanyIoni Bowcher PROPOSAL
Ivar O RimFranceXuxue Feng RENEWAL
Ivar L AmigonItalyOnyama Limba QUALIFIED
Antonio E GlickCanadaIvan Magalhaes NEW
Silvio M SergiArgentinaOnyama Limba UNQUALIFIED
Adams Q StockhamItalyXuxue Feng QUALIFIED
Chavez L GillianSpainXuxue Feng RENEWAL
Greenwood Y GillianGermanyAmy Elsner NEGOTIATION
Faith O SlusarskiIndiaElwin Sharvill NEGOTIATION
Ivar W MacleadCanadaAsiya Javayant NEW
Costa I BriddickCanadaStephen Shaw RENEWAL
Chavez X CampainItalyBernardo Dominic PROPOSAL
Ivar O NestleIndiaStephen Shaw UNQUALIFIED
Darci V SaylorsUnited KingdomElwin Sharvill UNQUALIFIED
Leja Q SergiBrazilAsiya Javayant NEGOTIATION
Silvio R RutaIndiaIvan Magalhaes 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>