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
Silvio J PoquetteArgentinaBernardo Dominic NEW
Alejandro U SergiFranceAsiya Javayant PROPOSAL
Greenwood H OstroskyJapanAmy Elsner RENEWAL
Isabel W WaycottJapanOnyama Limba NEW
Costa L NickaJapanElwin Sharvill NEGOTIATION
Salvatore H SergiJapanAmy Elsner NEW
Wickens K FlosiItalyBernardo Dominic PROPOSAL
Stacey H RutaGermanyAnna Fali NEW
Greenwood X OldroydRussiaStephen Shaw NEW
Julie O RutaUnited KingdomOnyama Limba NEW
Kaitlin Q FollerFranceAnna Fali NEGOTIATION
Octavia Z VocelkaAustraliaBernardo Dominic QUALIFIED
Morrow Y RoysterIndiaAnna Fali NEW
Ashley S BologniaCanadaXuxue Feng PROPOSAL
Isabel Z KolmetzJapanAnna Fali NEW
Adams C ChuiBrazilBernardo Dominic PROPOSAL
James X SergiBrazilIoni Bowcher UNQUALIFIED
Stacey V PaprockiFranceAsiya Javayant UNQUALIFIED
Salvatore Z ShinkoBrazilIoni Bowcher NEW
Kadeem B SchemmerIndiaElwin Sharvill QUALIFIED
Deepesh U FlosiJapanElwin Sharvill UNQUALIFIED
Octavia W ChuiSpainIvan Magalhaes NEW
James M DilliardCanadaIoni Bowcher NEGOTIATION
Ricardo R NestleRussiaElwin Sharvill PROPOSAL
Greenwood J BriddickBrazilXuxue Feng NEW
Juan T KolmetzCanadaAnna Fali QUALIFIED
Misaki Y VocelkaItalyOnyama Limba PROPOSAL
Julie X GarufiRussiaIvan Magalhaes RENEWAL
Ricardo W WaycottRussiaXuxue Feng NEW
Mayumi M RoysterUnited KingdomAnna Fali QUALIFIED
Ashley B PerinArgentinaAmy Elsner QUALIFIED
Izzy B GlickSpainAnna Fali UNQUALIFIED
Stacey I MacleadAustraliaAnna Fali PROPOSAL
Jones I KuskoGermanyElwin Sharvill RENEWAL
Cody J WhobreyArgentinaAsiya Javayant NEW
Arvin U DarakjyBrazilIvan Magalhaes NEW
Julie S VenereJapanStephen Shaw NEW
Jennifer A CaldareraAustraliaIvan Magalhaes UNQUALIFIED
Leon O CaudyBrazilElwin Sharvill NEGOTIATION
Juan Y ChuiJapanAnna Fali RENEWAL
Clifford A BriddickFranceElwin Sharvill NEW
Stacey Z MarrierUnited KingdomAnna Fali NEGOTIATION
Alejandro I WieserFranceElwin Sharvill NEGOTIATION
Greenwood V TollnerSpainAnna Fali UNQUALIFIED
Maria Q BowleyUnited KingdomBernardo Dominic NEW
Jeanfrancois Q MaletGermanyAsiya Javayant UNQUALIFIED
Aditya Q SchemmerUnited KingdomBernardo Dominic UNQUALIFIED
Maria L MorascaUnited KingdomElwin Sharvill PROPOSAL
Leja T VenereCanadaAmy Elsner RENEWAL
Tony E SlusarskiUnited KingdomStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Costa A FigeroaGermanyAnna Fali UNQUALIFIED
Chavez G GarufiAustraliaIvan Magalhaes UNQUALIFIED
Emily E AlbaresArgentinaXuxue Feng NEW
Claire K MacleadGermanyAsiya Javayant NEW
Stacey R WieserItalyAmy Elsner RENEWAL
Faith V WaycottIndiaOnyama Limba RENEWAL
Silvio E SchemmerCanadaElwin Sharvill UNQUALIFIED
Munro C MaletGermanyOnyama Limba RENEWAL
Ivar X FigeroaUnited KingdomIvan Magalhaes NEW
Morrow U MaletAustraliaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio H CampainIndia2025-05-01Chemel, James L Cpa NEW52Xuxue Feng
1001Mayumi E WaycottIndia2025-04-16Chapman, Ross E Esq RENEWAL63Amy Elsner
1002Smith B MaletAustralia2025-04-18Chemel, James L Cpa NEW80Onyama Limba
1003Adams X MaletGermany2025-04-26Dorl, James J Esq NEW27Asiya Javayant
1004Alejandro U FollerBrazil2025-05-08Chanay, Jeffrey A Esq PROPOSAL41Xuxue Feng
1005Maisha P MorascaFrance2025-04-26Rousseaux, Michael Esq PROPOSAL37Stephen Shaw
1006Greenwood T DilliardJapan2025-04-26Morlong Associates RENEWAL90Elwin Sharvill
1007James W AlbaresIndia2025-04-19Buckley Miller Wright NEGOTIATION31Bernardo Dominic
1008Antonio H TollnerCanada2025-04-20Rousseaux, Michael Esq PROPOSAL40Asiya Javayant
1009Tony F SchemmerJapan2025-04-13Feiner Bros NEW43Elwin Sharvill
1010Ivar I SaylorsArgentina2025-04-14Buckley Miller Wright NEGOTIATION97Onyama Limba
1011Isabel G VocelkaCanada2025-04-23Feltz Printing Service NEW80Amy Elsner
1012James I CampainUnited Kingdom2025-05-09Morlong Associates NEW43Elwin Sharvill
1013Deepesh V OstroskyItaly2025-04-30Benton, John B Jr PROPOSAL30Xuxue Feng
1014Sinclair Q StensethItaly2025-04-27Commercial Press RENEWAL5Ioni Bowcher
1015Morrow L FollerItaly2025-05-01Commercial Press RENEWAL82Onyama Limba
1016Leon X IturbideArgentina2025-05-03Feiner Bros UNQUALIFIED98Onyama Limba
1017Faith C DoeCanada2025-04-14Chanay, Jeffrey A Esq RENEWAL89Asiya Javayant
1018Aika G MarrierArgentina2025-05-05Rousseaux, Michael Esq NEW36Bernardo Dominic
1019Emily O VocelkaSpain2025-04-22Buckley Miller Wright RENEWAL32Elwin Sharvill
1020Clifford R RutaItaly2025-04-18King, Christopher A Esq QUALIFIED51Amy Elsner
1021Johnson B KuskoRussia2025-04-27King, Christopher A Esq UNQUALIFIED76Anna Fali
1022Francesco F ShinkoUnited Kingdom2025-05-01King, Christopher A Esq RENEWAL39Ivan Magalhaes
1023Chavez D StensethItaly2025-04-25Commercial Press UNQUALIFIED38Ioni Bowcher
1024Greenwood X GauchoSpain2025-04-29Rousseaux, Michael Esq PROPOSAL59Amy Elsner
1025Sinclair H WhobreySpain2025-05-08Chanay, Jeffrey A Esq RENEWAL35Anna Fali
1026James U WieserSpain2025-05-04King, Christopher A Esq NEGOTIATION60Onyama Limba
1027Juan Q SlusarskiItaly2025-04-29Feltz Printing Service NEGOTIATION18Ivan Magalhaes
1028Costa C MorascaUnited Kingdom2025-04-15Chanay, Jeffrey A Esq UNQUALIFIED11Bernardo Dominic
1029Leja G OstroskyGermany2025-04-12Chanay, Jeffrey A Esq NEGOTIATION0Onyama Limba
1030Morrow E PerinItaly2025-05-04Chanay, Jeffrey A Esq QUALIFIED66Ivan Magalhaes
1031Claire D RoysterBrazil2025-04-23King, Christopher A Esq PROPOSAL25Elwin Sharvill
1032Izzy Z CaldareraBrazil2025-04-19Chapman, Ross E Esq UNQUALIFIED98Ioni Bowcher
1033Sinclair Y CaudyUnited Kingdom2025-04-14Chemel, James L Cpa NEGOTIATION80Elwin Sharvill
1034Salvatore S BologniaSpain2025-04-28Feiner Bros NEW34Onyama Limba
1035Jennifer A PerinJapan2025-05-02Benton, John B Jr RENEWAL45Ivan Magalhaes
1036Tony Q CaldareraArgentina2025-04-22Morlong Associates NEGOTIATION21Elwin Sharvill
1037Maria W MaletJapan2025-04-27Chanay, Jeffrey A Esq UNQUALIFIED83Ivan Magalhaes
1038Tony K TollnerAustralia2025-04-25Rousseaux, Michael Esq QUALIFIED19Xuxue Feng
1039Izzy J FlosiAustralia2025-04-29Benton, John B Jr NEGOTIATION25Anna Fali
1040Mayumi O PoquetteItaly2025-04-18Dorl, James J Esq QUALIFIED51Ivan Magalhaes
1041Clifford Y StensethJapan2025-05-04Chapman, Ross E Esq QUALIFIED23Elwin Sharvill
1042Claire R WieserJapan2025-04-13Morlong Associates QUALIFIED46Ivan Magalhaes
1043Misaki D MarrierRussia2025-04-13Feltz Printing Service RENEWAL11Onyama Limba
1044Chavez L WaycottJapan2025-05-02Chapman, Ross E Esq PROPOSAL56Elwin Sharvill
1045Nicolas G DoeItaly2025-04-21Chemel, James L Cpa UNQUALIFIED80Ivan Magalhaes
1046Adams B DarakjyFrance2025-05-03Morlong Associates NEW63Asiya Javayant
1047James A WhobreyItaly2025-04-23Feiner Bros NEGOTIATION30Amy Elsner
1048Wickens J RutaCanada2025-04-18Commercial Press RENEWAL98Amy Elsner
1049Maisha R TollnerCanada2025-05-08Chanay, Jeffrey A Esq QUALIFIED98Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maisha L NickaCanadaIoni Bowcher QUALIFIED
Leon M TollnerArgentinaBernardo Dominic QUALIFIED
Faith E SchemmerIndiaStephen Shaw RENEWAL
Arvin B GillianJapanStephen Shaw RENEWAL
Ashley F StensethFranceAsiya Javayant UNQUALIFIED
Clifford Z MaletIndiaElwin Sharvill RENEWAL
Emily P ButtRussiaAmy Elsner NEW
Claire G AmigonBrazilElwin Sharvill QUALIFIED
David Y GarufiIndiaIvan Magalhaes QUALIFIED
Julie J SaylorsCanadaXuxue Feng QUALIFIED
Darci M DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Claire T FlosiCanadaIoni Bowcher PROPOSAL
Munro E RulapaughArgentinaXuxue Feng NEGOTIATION
Rodrigues K BriddickIndiaXuxue Feng PROPOSAL
Julie V StensethRussiaAnna Fali RENEWAL
Sinclair W MarrierJapanXuxue Feng QUALIFIED
Misaki B NickaItalyStephen Shaw NEW
Izzy C MacleadCanadaAmy Elsner RENEWAL
Sinclair V KolmetzJapanElwin Sharvill QUALIFIED
Jefferson K IturbideArgentinaOnyama Limba NEW
Leja A PaprockiItalyAnna Fali NEW
Leja X ChuiBrazilIvan Magalhaes NEW
Deepesh X CaudyFranceAmy Elsner PROPOSAL
Wickens T RulapaughBrazilBernardo Dominic NEGOTIATION
Leon L CampainAustraliaAmy Elsner QUALIFIED
Leja F RutaArgentinaElwin Sharvill RENEWAL
Izzy D KolmetzArgentinaElwin Sharvill NEW
Antonio G DarakjyArgentinaAmy Elsner NEW
Tony C KuskoBrazilElwin Sharvill UNQUALIFIED
Salvatore G RoysterSpainIvan Magalhaes UNQUALIFIED
Leja C BowleyBrazilAmy Elsner NEW
Emily C MaletBrazilAsiya Javayant NEW
Maria D BowleyUnited KingdomOnyama Limba RENEWAL
James N AlbaresItalyXuxue Feng UNQUALIFIED
Isabel Y NickaSpainBernardo Dominic NEW
Jennifer U RulapaughFranceElwin Sharvill NEW
Munro C PerinItalyIvan Magalhaes NEGOTIATION
Julie B StensethRussiaStephen Shaw NEGOTIATION
Salvatore R VenereIndiaStephen Shaw UNQUALIFIED
Morrow I RutaUnited KingdomIoni Bowcher NEW
Emily T ShinkoArgentinaXuxue Feng UNQUALIFIED
Deepesh N CampainUnited KingdomAmy Elsner RENEWAL
Costa G NickaFranceIoni Bowcher UNQUALIFIED
Arvin U BowleyGermanyElwin Sharvill NEW
Stacey X RutaBrazilAmy Elsner UNQUALIFIED
Costa B TollnerAustraliaXuxue Feng RENEWAL
Antonio Z WieserIndiaAmy Elsner UNQUALIFIED
Juan T MarrierAustraliaAsiya Javayant UNQUALIFIED
Silvio T KuskoGermanyAnna Fali UNQUALIFIED
Darci W VocelkaGermanyAmy Elsner QUALIFIED
Frozen Columns
Name
Izzy U Maclead
Cody G Morasca
Maria D Ruta
Kaitlin I Shinko
Salvatore X Royster
Leon G Ostrosky
Juan W Caldarera
Rodrigues T Ferencz
Clifford H Maclead
Sinclair O Flosi
Smith B Saylors
Izzy J Schemmer
Kaitlin T Amigon
Claire D Kolmetz
Emily D Rim
Aruna G Nestle
Izzy C Wieser
Greenwood Y Tollner
Stacey X Rim
Arvin J Stenseth
Costa D Dilliard
Leja M Dilliard
Francesco W Perin
Izzy S Malet
Maisha I Dilliard
Mayumi G Schemmer
Jennifer K Dilliard
Aditya O Albares
Munro A Saylors
Misaki B Gillian
Julie Y Flosi
James H Poquette
Antonio O Nicka
Alejandro Q Saylors
Aika S Figeroa
Aika L Ferencz
Claire I Darakjy
Greenwood M Albares
Kaitlin E Amigon
Wickens D Albares
Morrow F Ferencz
Kadeem G Perin
Sinclair W Sergi
Greenwood U Ferencz
Aruna U Figeroa
Ashley T Royster
Misaki F Figeroa
Aika O Royster
Emily A Figeroa
Mujtaba I Ferencz
IdCountryDate
1000Argentina2025-04-12
1001Brazil2025-04-19
1002Russia2025-04-29
1003Russia2025-05-06
1004Australia2025-04-15
1005Canada2025-04-16
1006Japan2025-05-02
1007France2025-04-14
1008France2025-05-01
1009India2025-04-28
1010Australia2025-05-08
1011Japan2025-05-08
1012Russia2025-04-18
1013France2025-05-03
1014India2025-04-13
1015Germany2025-04-27
1016Russia2025-05-01
1017Japan2025-05-04
1018Italy2025-04-27
1019Brazil2025-04-26
1020India2025-04-25
1021France2025-04-12
1022Australia2025-04-25
1023Brazil2025-04-21
1024Argentina2025-05-08
1025United Kingdom2025-04-30
1026France2025-04-24
1027Japan2025-04-24
1028India2025-05-04
1029Australia2025-05-09
1030Argentina2025-04-20
1031Russia2025-05-03
1032Russia2025-05-06
1033Japan2025-05-01
1034United Kingdom2025-04-17
1035Germany2025-05-08
1036India2025-04-17
1037Spain2025-04-11
1038United Kingdom2025-04-19
1039Argentina2025-04-24
1040Australia2025-04-17
1041India2025-04-20
1042Canada2025-04-23
1043India2025-04-25
1044United Kingdom2025-05-08
1045Australia2025-04-25
1046India2025-04-20
1047United Kingdom2025-04-19
1048Australia2025-04-20
1049Russia2025-04-13

On-Demand Data

NameIdCountryDate
Izzy X Briddick1000Japan2025-04-13
Leon U Nicka1001United Kingdom2025-04-18
Alejandro Y Wieser1002Argentina2025-04-17
Misaki C Paprocki1003Brazil2025-04-25
Kadeem Y Wieser1004Russia2025-04-23
Claire H Oldroyd1005Australia2025-04-22
Mujtaba E Oldroyd1006France2025-04-21
Greenwood C Shinko1007Argentina2025-04-19
Rodrigues L Nicka1008Germany2025-04-20
Leon W Slusarski1009United Kingdom2025-05-03
Leon Y Inouye1010Russia2025-04-12
Adams H Rim1011United Kingdom2025-04-18
Cody Y Doe1012Spain2025-04-16
Morrow Z Foller1013Spain2025-04-26
Claire D Schemmer1014Russia2025-05-03
Leja Z Caldarera1015India2025-04-28
Johnson A Wieser1016Brazil2025-04-24
Ivar W Briddick1017Brazil2025-05-01
Kaitlin J Shinko1018Russia2025-05-01
Jennifer K Iturbide1019Italy2025-05-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna E WhobreyItalyElwin Sharvill RENEWAL
Jennifer N KuskoItalyAmy Elsner NEW
Leja Q OstroskyAustraliaStephen Shaw NEGOTIATION
Johnson Z VenereFranceAnna Fali NEW
Morrow H DarakjySpainIoni Bowcher UNQUALIFIED
Aika V DoeBrazilXuxue Feng QUALIFIED
Cody K RutaBrazilElwin Sharvill QUALIFIED
Faith S ButtCanadaIoni Bowcher PROPOSAL
Silvio K OstroskySpainAmy Elsner RENEWAL
Stacey E SaylorsFranceElwin Sharvill QUALIFIED
Claire S MacleadIndiaBernardo Dominic QUALIFIED
Costa G FerenczCanadaIvan Magalhaes NEW
Salvatore K CampainAustraliaIvan Magalhaes NEW
Misaki M CaudyJapanIoni Bowcher RENEWAL
Claire W SaylorsCanadaBernardo Dominic NEW
Alejandro M VocelkaAustraliaElwin Sharvill RENEWAL
David K FollerCanadaOnyama Limba RENEWAL
Stacey P KolmetzRussiaElwin Sharvill QUALIFIED
Jefferson C MarrierRussiaAmy Elsner RENEWAL
Mujtaba N GillianIndiaAnna Fali NEGOTIATION
Alejandro J AmigonFranceXuxue Feng QUALIFIED
Cody B FerenczJapanIoni Bowcher UNQUALIFIED
Munro P SaylorsCanadaXuxue Feng UNQUALIFIED
Francesco D AmigonRussiaAsiya Javayant RENEWAL
Aika O GlickCanadaOnyama Limba UNQUALIFIED
Kadeem A AlbaresArgentinaBernardo Dominic RENEWAL
Ricardo N RimSpainAnna Fali RENEWAL
Antonio L SlusarskiBrazilOnyama Limba UNQUALIFIED
Silvio X SchemmerCanadaXuxue Feng QUALIFIED
Aditya U WieserSpainBernardo Dominic RENEWAL
Munro W PerinUnited KingdomIvan Magalhaes QUALIFIED
Octavia O MaletUnited KingdomBernardo Dominic NEGOTIATION
David R RimUnited KingdomIoni Bowcher UNQUALIFIED
Costa N MarrierBrazilBernardo Dominic PROPOSAL
Morrow X CaudyCanadaIvan Magalhaes PROPOSAL
Munro A CaudyGermanyAmy Elsner PROPOSAL
Murillo D GarufiItalyAnna Fali RENEWAL
Julie C MorascaRussiaAnna Fali QUALIFIED
Juan L KuskoArgentinaStephen Shaw NEGOTIATION
James A TollnerArgentinaElwin Sharvill UNQUALIFIED

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