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
Octavia U NickaFranceAsiya Javayant NEW
Aika W FerenczGermanyAnna Fali QUALIFIED
James X SchemmerAustraliaAmy Elsner NEGOTIATION
Deepesh K RulapaughRussiaXuxue Feng QUALIFIED
Maisha D ShinkoCanadaXuxue Feng UNQUALIFIED
Smith L BriddickBrazilIvan Magalhaes NEW
Misaki K GauchoIndiaOnyama Limba RENEWAL
Aditya N PoquetteGermanyOnyama Limba NEGOTIATION
Murillo H AmigonAustraliaAnna Fali NEGOTIATION
Murillo L CampainItalyOnyama Limba QUALIFIED
Maisha N FollerSpainBernardo Dominic NEGOTIATION
David X RoysterRussiaAmy Elsner RENEWAL
Jefferson K PoquetteItalyXuxue Feng QUALIFIED
Adams J RutaIndiaOnyama Limba NEW
Smith A KuskoUnited KingdomStephen Shaw NEGOTIATION
Smith K OldroydFranceXuxue Feng UNQUALIFIED
Alejandro P IturbideArgentinaElwin Sharvill QUALIFIED
Deepesh F WhobreyUnited KingdomXuxue Feng NEW
Morrow L RoysterArgentinaXuxue Feng RENEWAL
David D DarakjyAustraliaBernardo Dominic NEGOTIATION
Maisha A IturbideIndiaIvan Magalhaes PROPOSAL
Misaki Y RoysterUnited KingdomAsiya Javayant NEGOTIATION
Maisha K BologniaAustraliaIvan Magalhaes RENEWAL
Isabel R GauchoGermanyIvan Magalhaes PROPOSAL
Aruna B VocelkaArgentinaOnyama Limba NEW
Murillo O MacleadUnited KingdomBernardo Dominic RENEWAL
Jones K OldroydCanadaXuxue Feng PROPOSAL
Morrow U GillianIndiaXuxue Feng PROPOSAL
Silvio F NickaIndiaOnyama Limba NEGOTIATION
Adams P StensethRussiaAnna Fali RENEWAL
Costa G MacleadRussiaIoni Bowcher PROPOSAL
Aika I GlickJapanAmy Elsner NEW
Juan Z GauchoAustraliaAnna Fali QUALIFIED
Nicolas F PerinRussiaIoni Bowcher PROPOSAL
Jones T StensethGermanyOnyama Limba UNQUALIFIED
Isabel G WaycottJapanElwin Sharvill UNQUALIFIED
Claire V CaldareraFranceXuxue Feng RENEWAL
Cody A GlickSpainAmy Elsner QUALIFIED
Silvio Q WieserUnited KingdomAmy Elsner RENEWAL
Stacey L OldroydUnited KingdomAsiya Javayant NEW
Silvio E ChuiSpainOnyama Limba NEW
Wickens Z OstroskyArgentinaElwin Sharvill NEW
Wickens A RutaGermanyOnyama Limba PROPOSAL
Wickens W StensethRussiaOnyama Limba PROPOSAL
Ashley Z FerenczJapanElwin Sharvill RENEWAL
Emily H CampainSpainElwin Sharvill UNQUALIFIED
Claire R PerinBrazilBernardo Dominic NEW
Ivar J RutaSpainAsiya Javayant RENEWAL
Leon Y SlusarskiArgentinaIvan Magalhaes PROPOSAL
Adams S StensethItalyAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Smith O RimAustraliaOnyama Limba UNQUALIFIED
Alejandro S GauchoAustraliaAsiya Javayant RENEWAL
Ashley C NickaUnited KingdomXuxue Feng NEW
Isabel W VocelkaAustraliaAsiya Javayant NEW
Wickens E FigeroaBrazilIoni Bowcher PROPOSAL
Mujtaba W FlosiBrazilIvan Magalhaes PROPOSAL
Octavia M PaprockiArgentinaIvan Magalhaes QUALIFIED
Ivar N AmigonItalyAsiya Javayant QUALIFIED
Mayumi J DarakjyAustraliaOnyama Limba QUALIFIED
Costa V PerinFranceIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh W MaletGermany2024-06-02Feiner Bros UNQUALIFIED26Ivan Magalhaes
1001Maria F SaylorsBrazil2024-05-30King, Christopher A Esq PROPOSAL91Anna Fali
1002Stacey E WieserSpain2024-06-06Chanay, Jeffrey A Esq NEGOTIATION45Onyama Limba
1003Francesco K IturbideJapan2024-06-15Feltz Printing Service NEGOTIATION42Anna Fali
1004Silvio R NestleAustralia2024-05-27Buckley Miller Wright QUALIFIED23Bernardo Dominic
1005Izzy H CaudyJapan2024-06-05Truhlar And Truhlar Attys NEGOTIATION48Anna Fali
1006Juan U SaylorsGermany2024-05-31Feltz Printing Service UNQUALIFIED96Stephen Shaw
1007Aditya U ShinkoRussia2024-06-09Buckley Miller Wright NEGOTIATION78Stephen Shaw
1008David C SaylorsCanada2024-06-11Feltz Printing Service QUALIFIED56Stephen Shaw
1009Aditya R RulapaughGermany2024-05-25Commercial Press NEGOTIATION30Onyama Limba
1010Jones B BowleyCanada2024-06-02Feiner Bros NEW76Bernardo Dominic
1011Deepesh A CampainItaly2024-06-21Truhlar And Truhlar Attys PROPOSAL5Ioni Bowcher
1012Leon B IturbideFrance2024-05-26Feltz Printing Service NEGOTIATION58Bernardo Dominic
1013Juan V NickaBrazil2024-06-16Feiner Bros NEW70Stephen Shaw
1014Arvin I BologniaBrazil2024-05-31Feltz Printing Service QUALIFIED20Anna Fali
1015Cody S OldroydItaly2024-06-22Commercial Press NEW11Bernardo Dominic
1016Ricardo O OstroskyAustralia2024-06-10Feltz Printing Service NEW41Xuxue Feng
1017Leon H DoeRussia2024-06-08Chapman, Ross E Esq UNQUALIFIED49Asiya Javayant
1018Juan R FigeroaSpain2024-06-11Feiner Bros NEW8Anna Fali
1019Jefferson Q RimGermany2024-06-19Feiner Bros PROPOSAL2Ivan Magalhaes
1020Isabel L NestleRussia2024-06-09Chanay, Jeffrey A Esq NEGOTIATION2Anna Fali
1021Smith G MaletSpain2024-06-08Dorl, James J Esq PROPOSAL91Onyama Limba
1022Chavez L KolmetzGermany2024-06-16Morlong Associates QUALIFIED65Amy Elsner
1023Costa E SaylorsSpain2024-06-19Feltz Printing Service UNQUALIFIED53Onyama Limba
1024Jeanfrancois K GarufiItaly2024-06-15Rousseaux, Michael Esq UNQUALIFIED14Ivan Magalhaes
1025Munro Z MorascaBrazil2024-05-30Chapman, Ross E Esq PROPOSAL14Anna Fali
1026Octavia A SergiBrazil2024-05-26Rangoni Of Florence RENEWAL74Stephen Shaw
1027Misaki O PerinCanada2024-05-31Feiner Bros RENEWAL85Asiya Javayant
1028Juan T MarrierFrance2024-06-08Benton, John B Jr NEGOTIATION55Amy Elsner
1029Leja O RulapaughUnited Kingdom2024-05-26Feltz Printing Service NEW45Bernardo Dominic
1030Juan I GlickAustralia2024-05-31Rangoni Of Florence RENEWAL78Bernardo Dominic
1031Smith V FollerGermany2024-05-24King, Christopher A Esq NEW42Anna Fali
1032Octavia K ButtArgentina2024-06-08Commercial Press RENEWAL46Asiya Javayant
1033Chavez U ChuiSpain2024-06-04Morlong Associates QUALIFIED85Amy Elsner
1034James L GauchoBrazil2024-06-16Buckley Miller Wright UNQUALIFIED9Anna Fali
1035Antonio X IturbideSpain2024-06-17Buckley Miller Wright RENEWAL71Ioni Bowcher
1036Jones C GarufiAustralia2024-06-15Dorl, James J Esq QUALIFIED84Stephen Shaw
1037Rodrigues A GlickRussia2024-06-07Chapman, Ross E Esq QUALIFIED47Ioni Bowcher
1038Aruna O MorascaJapan2024-06-13Commercial Press UNQUALIFIED13Amy Elsner
1039Cody T KolmetzGermany2024-06-15Morlong Associates QUALIFIED12Ivan Magalhaes
1040Alejandro S OldroydJapan2024-05-27King, Christopher A Esq RENEWAL0Bernardo Dominic
1041Tony I CaldareraUnited Kingdom2024-06-20Printing Dimensions QUALIFIED13Asiya Javayant
1042Cody V FerenczRussia2024-06-05Chemel, James L Cpa UNQUALIFIED32Anna Fali
1043Jefferson I ShinkoCanada2024-05-25Rangoni Of Florence NEGOTIATION33Elwin Sharvill
1044Antonio G CaudyArgentina2024-06-12Truhlar And Truhlar Attys NEW12Anna Fali
1045Munro W OldroydBrazil2024-06-17Truhlar And Truhlar Attys PROPOSAL94Elwin Sharvill
1046Kaitlin D KolmetzUnited Kingdom2024-05-25Rangoni Of Florence PROPOSAL57Elwin Sharvill
1047Aika R MaletIndia2024-06-22Chapman, Ross E Esq PROPOSAL87Asiya Javayant
1048Darci B DoeUnited Kingdom2024-06-06Feiner Bros NEGOTIATION31Bernardo Dominic
1049Antonio H IturbideUnited Kingdom2024-06-17Benton, John B Jr RENEWAL65Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ashley C CampainRussiaBernardo Dominic QUALIFIED
David Q CaldareraUnited KingdomXuxue Feng PROPOSAL
Murillo X RimAustraliaAsiya Javayant PROPOSAL
James G KuskoItalyXuxue Feng RENEWAL
Misaki N GlickArgentinaAsiya Javayant NEW
Jones W MorascaUnited KingdomAsiya Javayant RENEWAL
Isabel S PerinFranceIvan Magalhaes NEW
Ashley W WhobreyJapanXuxue Feng NEGOTIATION
Ashley Z NickaArgentinaOnyama Limba PROPOSAL
Salvatore L SlusarskiFranceBernardo Dominic UNQUALIFIED
Claire G KuskoGermanyIvan Magalhaes RENEWAL
Arvin B FigeroaFranceIoni Bowcher QUALIFIED
David O IturbideFranceXuxue Feng NEW
Claire J OstroskyGermanyAnna Fali RENEWAL
Greenwood V WaycottRussiaXuxue Feng NEGOTIATION
Clifford N TollnerBrazilIvan Magalhaes NEGOTIATION
Izzy K OldroydFranceIvan Magalhaes RENEWAL
Kadeem X NickaItalyOnyama Limba NEW
Silvio K SaylorsSpainAsiya Javayant QUALIFIED
Leja Y NickaItalyAmy Elsner QUALIFIED
Cody J BologniaJapanAsiya Javayant PROPOSAL
Silvio K PaprockiBrazilXuxue Feng QUALIFIED
Chavez K PerinAustraliaIoni Bowcher QUALIFIED
Ricardo G FollerRussiaAnna Fali RENEWAL
Wickens V NickaCanadaIoni Bowcher PROPOSAL
Maria E DilliardFranceIoni Bowcher RENEWAL
Emily E WhobreyItalyAmy Elsner QUALIFIED
Chavez H NestleBrazilBernardo Dominic PROPOSAL
Claire U PerinAustraliaStephen Shaw UNQUALIFIED
Darci W IturbideItalyIvan Magalhaes NEGOTIATION
Costa R ShinkoBrazilElwin Sharvill QUALIFIED
Leon R ShinkoSpainBernardo Dominic NEGOTIATION
Juan L VocelkaCanadaElwin Sharvill PROPOSAL
Kaitlin O PoquetteItalyOnyama Limba QUALIFIED
Munro O ShinkoArgentinaIvan Magalhaes NEGOTIATION
Leja J AmigonIndiaAnna Fali NEW
Maria W ShinkoBrazilAnna Fali NEGOTIATION
Adams M BowleyRussiaIoni Bowcher NEGOTIATION
James H SergiBrazilXuxue Feng RENEWAL
Nicolas N MacleadUnited KingdomStephen Shaw QUALIFIED
Leja F MarrierFranceAmy Elsner QUALIFIED
Kaitlin F GillianGermanyBernardo Dominic NEW
Leon W DoeJapanXuxue Feng NEW
Kaitlin S GillianBrazilBernardo Dominic PROPOSAL
Costa P MaletGermanyAsiya Javayant UNQUALIFIED
Aika U RutaBrazilAnna Fali UNQUALIFIED
Leja E NickaRussiaXuxue Feng NEGOTIATION
Ivar S GauchoIndiaElwin Sharvill PROPOSAL
Leon B ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson M InouyeJapanIoni Bowcher RENEWAL
Frozen Columns
Name
Emily T Inouye
Aditya F Malet
Julie M Nicka
Claire B Garufi
Aditya G Paprocki
Morrow Z Gaucho
Francesco Y Inouye
Leon A Marrier
Aruna U Doe
Jones G Wieser
Johnson Q Gaucho
David X Rim
Jennifer D Iturbide
Leon R Caldarera
Faith Z Malet
Adams P Shinko
Johnson W Morasca
Emily E Caudy
Julie A Sergi
Isabel X Morasca
Juan V Dilliard
Kadeem U Saylors
Jones K Campain
Aditya P Albares
Julie A Nestle
Emily W Kusko
Maria J Nestle
Darci J Sergi
Darci A Perin
Tony J Ostrosky
Kaitlin X Rulapaugh
Morrow Y Garufi
Mujtaba I Campain
Ashley L Flosi
Emily E Bowley
Julie P Malet
Costa F Caldarera
Murillo V Saylors
Arvin H Schemmer
Izzy A Saylors
Leon H Rulapaugh
Nicolas P Iturbide
Maisha L Malet
Emily N Darakjy
Kadeem C Stockham
Salvatore Z Stenseth
Ivar N Nestle
Izzy U Iturbide
Ricardo X Wieser
Aruna P Garufi
IdCountryDate
1000Germany2024-06-19
1001Italy2024-06-21
1002Russia2024-06-06
1003France2024-05-26
1004Italy2024-06-03
1005Argentina2024-06-09
1006Brazil2024-06-17
1007Spain2024-05-24
1008India2024-05-24
1009France2024-05-25
1010Italy2024-06-02
1011Spain2024-06-03
1012Germany2024-06-09
1013Canada2024-06-19
1014Italy2024-06-08
1015Brazil2024-06-09
1016Spain2024-06-17
1017United Kingdom2024-06-15
1018Spain2024-06-07
1019Australia2024-05-29
1020Japan2024-06-21
1021Argentina2024-06-09
1022Argentina2024-05-27
1023Russia2024-06-05
1024Russia2024-06-18
1025Australia2024-06-22
1026Canada2024-05-31
1027United Kingdom2024-06-20
1028Canada2024-06-12
1029Russia2024-06-05
1030Australia2024-06-01
1031France2024-06-19
1032Japan2024-06-15
1033Japan2024-06-05
1034Brazil2024-06-02
1035Russia2024-06-09
1036Canada2024-06-08
1037Italy2024-06-01
1038Canada2024-06-02
1039India2024-06-15
1040Italy2024-06-12
1041France2024-05-28
1042United Kingdom2024-06-18
1043United Kingdom2024-05-27
1044Japan2024-06-13
1045Spain2024-06-10
1046Australia2024-06-13
1047Brazil2024-06-14
1048Argentina2024-06-10
1049Canada2024-05-25

On-Demand Data

NameIdCountryDate
Smith W Wieser1000Russia2024-06-13
Juan C Dilliard1001Germany2024-05-28
Jeanfrancois D Flosi1002Russia2024-05-29
Murillo G Amigon1003Russia2024-06-12
Aditya T Butt1004United Kingdom2024-06-22
Salvatore E Glick1005Russia2024-06-22
Claire Y Malet1006Japan2024-06-06
Wickens R Malet1007United Kingdom2024-06-22
Faith F Wieser1008Argentina2024-06-19
Costa Y Briddick1009Canada2024-05-25
Octavia K Poquette1010Italy2024-06-05
Leja Y Garufi1011Brazil2024-06-01
Antonio P Rim1012Canada2024-06-08
Mayumi N Maclead1013Argentina2024-06-17
Aika C Perin1014Argentina2024-06-07
Silvio H Caudy1015Canada2024-05-28
Smith L Slusarski1016Russia2024-05-24
Juan V Glick1017Russia2024-05-25
Nicolas K Doe1018Argentina2024-06-04
Aruna K Bolognia1019Canada2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem P IturbideFranceAnna Fali UNQUALIFIED
Antonio N BriddickArgentinaAsiya Javayant UNQUALIFIED
Darci S RulapaughIndiaBernardo Dominic PROPOSAL
Aruna E RutaRussiaAnna Fali RENEWAL
Ashley D MaletArgentinaIvan Magalhaes NEGOTIATION
Jefferson I ShinkoBrazilStephen Shaw NEW
Nicolas G NickaAustraliaElwin Sharvill NEGOTIATION
Alejandro S RoysterItalyAnna Fali NEGOTIATION
Isabel T GillianItalyAmy Elsner NEW
Claire U KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Antonio T StensethArgentinaAsiya Javayant NEGOTIATION
Jefferson S DoeItalyOnyama Limba PROPOSAL
Jennifer Q MaletUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore L BriddickRussiaIoni Bowcher RENEWAL
Leon E CampainJapanStephen Shaw PROPOSAL
Kaitlin G MarrierFranceAnna Fali NEW
Aruna G SergiGermanyAnna Fali RENEWAL
Stacey H GauchoAustraliaAmy Elsner PROPOSAL
Mujtaba I DoeIndiaAnna Fali NEW
Aika F FlosiItalyElwin Sharvill NEW
Emily W MaletArgentinaStephen Shaw UNQUALIFIED
David O MaletUnited KingdomBernardo Dominic PROPOSAL
Emily R SaylorsJapanAsiya Javayant PROPOSAL
Johnson L GlickIndiaAmy Elsner QUALIFIED
Cody H KolmetzIndiaAmy Elsner QUALIFIED
Izzy F OldroydCanadaXuxue Feng QUALIFIED
Greenwood L AlbaresFranceAnna Fali UNQUALIFIED
Silvio O BriddickBrazilAmy Elsner NEW
Adams O CaudyAustraliaAnna Fali RENEWAL
Silvio B SlusarskiArgentinaAmy Elsner UNQUALIFIED
Salvatore F AmigonArgentinaStephen Shaw RENEWAL
Octavia M WieserUnited KingdomAmy Elsner NEW
Faith S GauchoFranceAsiya Javayant NEW
Salvatore X NestleJapanBernardo Dominic NEW
Silvio E CaldareraUnited KingdomOnyama Limba NEW
Izzy S ButtRussiaXuxue Feng RENEWAL
Tony D SchemmerUnited KingdomAmy Elsner QUALIFIED
Francesco C InouyeBrazilElwin Sharvill NEW
Stacey Q ShinkoArgentinaOnyama Limba UNQUALIFIED
Alejandro G OldroydSpainBernardo 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>