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
Clifford O GlickAustraliaAmy Elsner RENEWAL
Tony V SergiBrazilIvan Magalhaes RENEWAL
Clifford U GlickBrazilOnyama Limba NEW
Jones A OstroskyFranceOnyama Limba PROPOSAL
Morrow V RulapaughUnited KingdomOnyama Limba NEGOTIATION
Isabel W MorascaItalyXuxue Feng PROPOSAL
Leon T RutaBrazilXuxue Feng NEGOTIATION
Emily H NestleItalyBernardo Dominic RENEWAL
Munro H RimAustraliaIoni Bowcher UNQUALIFIED
Claire T NestleJapanIvan Magalhaes RENEWAL
Kaitlin W InouyeJapanElwin Sharvill QUALIFIED
Salvatore F WhobreyAustraliaStephen Shaw QUALIFIED
Murillo X GillianAustraliaAmy Elsner RENEWAL
Misaki R SchemmerIndiaIoni Bowcher QUALIFIED
Munro G DilliardRussiaXuxue Feng PROPOSAL
Kadeem J SchemmerJapanBernardo Dominic RENEWAL
Costa A GillianArgentinaAnna Fali NEGOTIATION
Aruna X CampainAustraliaStephen Shaw NEGOTIATION
Arvin A MarrierIndiaXuxue Feng PROPOSAL
Aika L SaylorsItalyAsiya Javayant NEW
Ricardo R NickaIndiaXuxue Feng PROPOSAL
Jennifer Z ButtFranceIvan Magalhaes NEGOTIATION
Isabel M BowleyItalyAmy Elsner PROPOSAL
Johnson B KolmetzAustraliaBernardo Dominic PROPOSAL
Stacey S ShinkoCanadaAnna Fali UNQUALIFIED
Johnson Q SchemmerJapanOnyama Limba NEGOTIATION
Ashley V MaletGermanyOnyama Limba RENEWAL
Isabel K FollerUnited KingdomOnyama Limba UNQUALIFIED
Leja H MarrierItalyOnyama Limba QUALIFIED
Kadeem P RulapaughCanadaAmy Elsner RENEWAL
Mayumi V MarrierCanadaOnyama Limba NEW
Misaki B BowleyItalyXuxue Feng QUALIFIED
Jennifer E ShinkoArgentinaStephen Shaw NEW
Aika W RutaUnited KingdomStephen Shaw RENEWAL
Maisha V OldroydAustraliaElwin Sharvill PROPOSAL
Kadeem C FlosiBrazilAmy Elsner UNQUALIFIED
Octavia Y TollnerJapanOnyama Limba QUALIFIED
Mayumi M BowleySpainIvan Magalhaes NEW
Jones J KuskoSpainOnyama Limba PROPOSAL
Claire F BologniaBrazilOnyama Limba RENEWAL
Murillo I RutaAustraliaBernardo Dominic RENEWAL
Antonio O BriddickFranceAsiya Javayant UNQUALIFIED
Claire I GlickJapanAsiya Javayant UNQUALIFIED
Claire R RimBrazilAmy Elsner NEGOTIATION
Leon B DarakjyArgentinaIoni Bowcher QUALIFIED
Silvio T VocelkaFranceAsiya Javayant UNQUALIFIED
Izzy E WhobreyCanadaElwin Sharvill QUALIFIED
Juan F RimItalyBernardo Dominic RENEWAL
Alejandro K SlusarskiAustraliaXuxue Feng UNQUALIFIED
Stacey N VocelkaJapanElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Darci T WhobreyRussiaIoni Bowcher RENEWAL
Ivar M FigeroaGermanyAsiya Javayant UNQUALIFIED
Izzy V SergiAustraliaOnyama Limba PROPOSAL
James L GarufiAustraliaIvan Magalhaes UNQUALIFIED
Ivar R ShinkoGermanyOnyama Limba RENEWAL
Salvatore J OldroydSpainElwin Sharvill QUALIFIED
Alejandro E RutaFranceIvan Magalhaes PROPOSAL
Jones K ShinkoAustraliaIoni Bowcher NEGOTIATION
Arvin K FerenczArgentinaElwin Sharvill RENEWAL
Costa U VenereBrazilBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin O ShinkoCanada2025-04-13Commercial Press UNQUALIFIED95Asiya Javayant
1001James S DilliardCanada2025-04-13Morlong Associates PROPOSAL79Xuxue Feng
1002Antonio K WhobreyFrance2025-04-26Feiner Bros QUALIFIED7Ioni Bowcher
1003Stacey C FigeroaArgentina2025-04-04Chapman, Ross E Esq QUALIFIED86Anna Fali
1004Isabel G NestleArgentina2025-04-18Chapman, Ross E Esq RENEWAL16Asiya Javayant
1005Jones K WhobreyUnited Kingdom2025-04-08Feiner Bros NEGOTIATION55Onyama Limba
1006Misaki N KuskoUnited Kingdom2025-04-09Truhlar And Truhlar Attys NEW0Onyama Limba
1007Jefferson D SaylorsItaly2025-04-15Dorl, James J Esq NEGOTIATION56Stephen Shaw
1008Claire I ShinkoIndia2025-04-18Truhlar And Truhlar Attys NEGOTIATION1Anna Fali
1009Stacey U RulapaughFrance2025-04-06Commercial Press NEGOTIATION2Stephen Shaw
1010Leon M SergiGermany2025-03-31Morlong Associates NEW96Ioni Bowcher
1011Maria P RutaSpain2025-04-03Rangoni Of Florence NEGOTIATION99Elwin Sharvill
1012Murillo J RutaGermany2025-04-09Rangoni Of Florence UNQUALIFIED53Asiya Javayant
1013Kadeem T MaletAustralia2025-04-01King, Christopher A Esq NEW69Anna Fali
1014Juan I VenereBrazil2025-04-29Morlong Associates UNQUALIFIED44Ivan Magalhaes
1015Emily C FollerJapan2025-04-27Feiner Bros NEGOTIATION23Elwin Sharvill
1016Kadeem V ButtJapan2025-04-13King, Christopher A Esq RENEWAL73Onyama Limba
1017Costa G GillianSpain2025-04-10Rangoni Of Florence PROPOSAL64Ivan Magalhaes
1018Alejandro F PerinArgentina2025-04-06Morlong Associates NEW37Xuxue Feng
1019Stacey U RutaSpain2025-04-03Chapman, Ross E Esq NEGOTIATION3Ioni Bowcher
1020David G RimJapan2025-04-08Rousseaux, Michael Esq NEGOTIATION79Elwin Sharvill
1021Juan N PoquetteIndia2025-04-13Morlong Associates UNQUALIFIED20Amy Elsner
1022Alejandro X FlosiBrazil2025-04-07Feltz Printing Service RENEWAL10Elwin Sharvill
1023Francesco L InouyeJapan2025-04-16King, Christopher A Esq NEW30Asiya Javayant
1024Johnson L WaycottSpain2025-04-06Benton, John B Jr PROPOSAL18Xuxue Feng
1025Mayumi H DoeArgentina2025-04-25Rousseaux, Michael Esq RENEWAL8Anna Fali
1026Leon K DoeItaly2025-04-24Feiner Bros NEW12Anna Fali
1027Jefferson U RimJapan2025-04-27Benton, John B Jr NEW86Xuxue Feng
1028Ivar J PoquetteBrazil2025-04-05Dorl, James J Esq NEGOTIATION84Amy Elsner
1029Sinclair D CaudyBrazil2025-04-13Chanay, Jeffrey A Esq PROPOSAL29Ivan Magalhaes
1030Juan O DarakjyCanada2025-04-24Rangoni Of Florence UNQUALIFIED97Anna Fali
1031Juan O PaprockiIndia2025-04-11Morlong Associates NEW30Onyama Limba
1032Isabel Y MorascaSpain2025-04-17Rangoni Of Florence NEW41Asiya Javayant
1033Izzy S WhobreyAustralia2025-04-18Dorl, James J Esq QUALIFIED16Onyama Limba
1034Chavez I SergiArgentina2025-04-22Feiner Bros RENEWAL39Stephen Shaw
1035Octavia Q NickaSpain2025-04-12Commercial Press RENEWAL1Xuxue Feng
1036Octavia S AmigonRussia2025-03-31Dorl, James J Esq RENEWAL8Xuxue Feng
1037Silvio H KolmetzBrazil2025-03-31Chemel, James L Cpa UNQUALIFIED47Amy Elsner
1038Claire B PaprockiUnited Kingdom2025-04-11Truhlar And Truhlar Attys NEW76Ivan Magalhaes
1039Maisha F CaudyFrance2025-04-20King, Christopher A Esq NEW52Anna Fali
1040Juan A WieserAustralia2025-04-17Feiner Bros NEGOTIATION2Bernardo Dominic
1041Clifford H NickaBrazil2025-04-05Feiner Bros NEW86Ioni Bowcher
1042Stacey N RimFrance2025-04-29Buckley Miller Wright NEW99Stephen Shaw
1043Silvio F RoysterAustralia2025-04-13Chemel, James L Cpa RENEWAL49Xuxue Feng
1044Mujtaba I BriddickSpain2025-04-23Rangoni Of Florence NEW85Amy Elsner
1045Claire L ButtUnited Kingdom2025-04-15Commercial Press NEGOTIATION77Amy Elsner
1046Stacey W PaprockiFrance2025-04-16King, Christopher A Esq PROPOSAL53Asiya Javayant
1047Aditya K VocelkaUnited Kingdom2025-04-09Chapman, Ross E Esq PROPOSAL38Stephen Shaw
1048Francesco H VocelkaGermany2025-04-29Buckley Miller Wright NEGOTIATION4Stephen Shaw
1049Julie K GarufiAustralia2025-04-04Feiner Bros QUALIFIED21Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maisha E KuskoAustraliaElwin Sharvill NEGOTIATION
Jones K ShinkoRussiaStephen Shaw UNQUALIFIED
Ashley V AlbaresAustraliaIvan Magalhaes NEW
Aika L BologniaJapanAsiya Javayant UNQUALIFIED
Cody W RutaRussiaIvan Magalhaes PROPOSAL
Stacey L KuskoIndiaAsiya Javayant QUALIFIED
Misaki U FollerFranceAmy Elsner NEGOTIATION
David V BriddickIndiaOnyama Limba PROPOSAL
Misaki Z FerenczGermanyOnyama Limba QUALIFIED
Mayumi Y InouyeGermanyElwin Sharvill PROPOSAL
Misaki B StockhamJapanAnna Fali NEW
Darci T WaycottGermanyIoni Bowcher NEW
Kadeem X ChuiUnited KingdomAsiya Javayant NEGOTIATION
Mujtaba K DoeItalyBernardo Dominic QUALIFIED
Faith F MaletAustraliaBernardo Dominic PROPOSAL
Costa O RutaArgentinaIvan Magalhaes UNQUALIFIED
Tony H MorascaAustraliaStephen Shaw UNQUALIFIED
Leja I BriddickArgentinaAnna Fali NEW
Sinclair V MaletJapanAmy Elsner UNQUALIFIED
Stacey B BriddickItalyBernardo Dominic PROPOSAL
Morrow D MaletBrazilAnna Fali RENEWAL
Greenwood E VocelkaJapanAsiya Javayant QUALIFIED
Murillo Q GillianArgentinaAnna Fali PROPOSAL
Johnson L MacleadBrazilAmy Elsner QUALIFIED
Izzy E VenereFranceXuxue Feng RENEWAL
Adams K RutaSpainIvan Magalhaes UNQUALIFIED
Izzy V AlbaresArgentinaOnyama Limba NEGOTIATION
Ivar Y GarufiArgentinaBernardo Dominic RENEWAL
Rodrigues E CaudyAustraliaXuxue Feng NEW
Jennifer U CaldareraBrazilStephen Shaw NEW
Octavia S CaldareraAustraliaIvan Magalhaes NEGOTIATION
Murillo F MacleadItalyElwin Sharvill NEGOTIATION
Mujtaba Z SaylorsUnited KingdomAsiya Javayant NEW
Claire Y RoysterArgentinaAsiya Javayant NEW
Nicolas K FlosiAustraliaStephen Shaw UNQUALIFIED
Maria O StockhamArgentinaElwin Sharvill PROPOSAL
Munro V RulapaughGermanyIoni Bowcher PROPOSAL
Julie C MarrierBrazilAsiya Javayant NEW
Mayumi W GauchoUnited KingdomBernardo Dominic UNQUALIFIED
Silvio Z KolmetzArgentinaElwin Sharvill UNQUALIFIED
Mujtaba H WieserCanadaOnyama Limba PROPOSAL
Adams Z RutaSpainIoni Bowcher RENEWAL
Darci M MaletRussiaXuxue Feng NEW
Darci G VocelkaIndiaOnyama Limba UNQUALIFIED
Leon S DarakjySpainXuxue Feng UNQUALIFIED
Misaki G WieserIndiaAnna Fali RENEWAL
James B StensethBrazilIvan Magalhaes PROPOSAL
Aika Z MaletRussiaIoni Bowcher QUALIFIED
Emily P MaletIndiaAnna Fali NEW
Nicolas T ChuiItalyAnna Fali QUALIFIED
Frozen Columns
Name
Aruna S Doe
Aruna A Ruta
Chavez Y Stockham
Murillo N Gillian
Octavia L Royster
Sinclair P Nicka
Antonio H Inouye
Jeanfrancois U Inouye
Faith N Slusarski
Chavez V Ostrosky
Julie G Butt
Maria F Waycott
Tony O Chui
Aruna R Bowley
Costa K Bowley
Aruna F Campain
Antonio H Inouye
Kadeem C Bolognia
Jones L Sergi
David M Campain
Darci V Bolognia
Kadeem Q Gaucho
Darci U Flosi
Jennifer T Venere
Ashley A Whobrey
Chavez F Gillian
Claire T Albares
Adams J Gaucho
Jeanfrancois Z Flosi
Antonio Z Nicka
Juan K Glick
Jennifer B Wieser
Darci X Royster
Arvin B Vocelka
Aruna K Glick
David J Marrier
Emily X Wieser
Jones C Caldarera
Misaki M Vocelka
Kadeem M Shinko
Emily S Foller
Jeanfrancois L Amigon
Tony M Whobrey
James B Kolmetz
Munro H Darakjy
Kadeem E Caudy
Chavez M Royster
Sinclair T Caldarera
Leon E Gillian
Maisha O Paprocki
IdCountryDate
1000Germany2025-04-24
1001United Kingdom2025-04-01
1002Brazil2025-04-23
1003Argentina2025-04-24
1004Argentina2025-04-06
1005Spain2025-03-31
1006Russia2025-04-07
1007Canada2025-04-05
1008Argentina2025-04-22
1009Australia2025-04-21
1010Argentina2025-04-01
1011United Kingdom2025-04-22
1012India2025-04-18
1013Argentina2025-04-13
1014Brazil2025-04-23
1015Russia2025-04-08
1016Italy2025-04-23
1017Canada2025-04-13
1018Argentina2025-04-21
1019Italy2025-04-17
1020Brazil2025-04-18
1021Brazil2025-04-20
1022Brazil2025-04-17
1023Russia2025-04-05
1024Canada2025-04-24
1025Italy2025-04-03
1026France2025-04-09
1027Italy2025-04-16
1028Russia2025-04-10
1029Argentina2025-04-21
1030France2025-04-09
1031Russia2025-04-19
1032Spain2025-04-20
1033Russia2025-04-19
1034Brazil2025-04-13
1035United Kingdom2025-04-28
1036Brazil2025-04-01
1037United Kingdom2025-04-19
1038United Kingdom2025-04-22
1039Italy2025-04-22
1040Russia2025-04-24
1041Germany2025-04-05
1042India2025-04-14
1043Australia2025-04-19
1044Australia2025-04-23
1045Spain2025-04-03
1046Spain2025-04-15
1047Russia2025-04-25
1048Italy2025-04-07
1049Australia2025-04-20

On-Demand Data

NameIdCountryDate
Jennifer J Inouye1000United Kingdom2025-04-26
Leja Q Ostrosky1001Russia2025-04-03
Misaki T Foller1002Japan2025-04-17
Kaitlin B Darakjy1003Germany2025-04-05
Alejandro Q Paprocki1004Russia2025-04-16
Claire H Wieser1005United Kingdom2025-04-01
Misaki O Royster1006Canada2025-03-31
Julie D Albares1007Germany2025-04-24
Ricardo X Tollner1008Germany2025-04-19
Aika X Oldroyd1009Italy2025-04-21
Tony H Wieser1010France2025-04-11
Aditya M Butt1011United Kingdom2025-04-05
Antonio E Ruta1012Russia2025-04-09
Jefferson N Darakjy1013United Kingdom2025-04-10
James Z Venere1014Canada2025-04-26
Sinclair Q Butt1015France2025-04-25
Sinclair P Malet1016Australia2025-04-19
Antonio Q Gillian1017Australia2025-04-07
James T Doe1018United Kingdom2025-04-02
Kaitlin A Figeroa1019Brazil2025-04-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin N OstroskyUnited KingdomIvan Magalhaes PROPOSAL
Claire L MaletCanadaStephen Shaw PROPOSAL
Jeanfrancois J GlickArgentinaBernardo Dominic QUALIFIED
Deepesh W WhobreyBrazilAmy Elsner PROPOSAL
Morrow P PerinSpainElwin Sharvill UNQUALIFIED
Costa T GauchoAustraliaElwin Sharvill UNQUALIFIED
Maisha R CampainArgentinaBernardo Dominic RENEWAL
Sinclair E SchemmerFranceStephen Shaw RENEWAL
Chavez N GarufiBrazilXuxue Feng RENEWAL
Murillo A SergiGermanyXuxue Feng NEW
Sinclair B VenereSpainOnyama Limba RENEWAL
Francesco A GillianRussiaIvan Magalhaes PROPOSAL
Misaki F NickaBrazilXuxue Feng NEW
Misaki K NickaSpainAnna Fali PROPOSAL
Darci V KuskoAustraliaIvan Magalhaes QUALIFIED
Isabel L WhobreyGermanyAnna Fali NEW
Ashley Y IturbideCanadaXuxue Feng QUALIFIED
Jennifer Y InouyeIndiaIoni Bowcher RENEWAL
Smith K GarufiItalyOnyama Limba NEW
Greenwood F DarakjyCanadaIoni Bowcher NEGOTIATION
Silvio Y MaletFranceXuxue Feng NEGOTIATION
Claire Y MarrierArgentinaIoni Bowcher QUALIFIED
Izzy R OldroydCanadaXuxue Feng RENEWAL
Mayumi N AmigonItalyBernardo Dominic RENEWAL
James P DilliardIndiaElwin Sharvill NEGOTIATION
Salvatore J DarakjyBrazilBernardo Dominic NEW
Tony N OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Aika Q PaprockiRussiaOnyama Limba NEW
Faith N InouyeGermanyBernardo Dominic NEW
Mayumi F InouyeFranceElwin Sharvill UNQUALIFIED
Arvin B GarufiUnited KingdomAmy Elsner NEW
Wickens M IturbideArgentinaIvan Magalhaes QUALIFIED
Aditya H VenereCanadaAsiya Javayant RENEWAL
Julie F MorascaCanadaAmy Elsner RENEWAL
David R MaletFranceElwin Sharvill NEW
Sinclair J IturbideSpainIvan Magalhaes NEGOTIATION
Aruna M RoysterArgentinaIoni Bowcher PROPOSAL
Aruna M FigeroaItalyIvan Magalhaes UNQUALIFIED
Emily Z MaletGermanyOnyama Limba NEGOTIATION
Izzy L NestleRussiaBernardo Dominic NEW

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