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 E KolmetzAustraliaIvan Magalhaes QUALIFIED
Aditya W RulapaughSpainXuxue Feng RENEWAL
Morrow Q VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Emily Y DilliardCanadaBernardo Dominic RENEWAL
James F WieserGermanyIvan Magalhaes QUALIFIED
Costa B ChuiFranceAmy Elsner UNQUALIFIED
Aika V MacleadSpainAmy Elsner RENEWAL
Sinclair Q MaletGermanyIoni Bowcher QUALIFIED
Murillo O TollnerSpainAnna Fali PROPOSAL
Antonio G KuskoArgentinaOnyama Limba QUALIFIED
Aruna Z BologniaJapanOnyama Limba NEW
Misaki B RoysterCanadaIvan Magalhaes NEGOTIATION
Murillo E RulapaughJapanBernardo Dominic NEGOTIATION
Claire X NestleRussiaAnna Fali NEGOTIATION
Greenwood L VenereRussiaElwin Sharvill RENEWAL
David J OstroskyJapanAmy Elsner QUALIFIED
James T MacleadBrazilStephen Shaw NEW
James N GillianAustraliaAmy Elsner NEGOTIATION
Kaitlin D PerinItalyBernardo Dominic NEGOTIATION
Aruna F MaletItalyAsiya Javayant NEW
Costa M FollerItalyAnna Fali NEGOTIATION
Maria N IturbideGermanyBernardo Dominic NEGOTIATION
Alejandro E GarufiFranceIvan Magalhaes UNQUALIFIED
Costa O MorascaFranceAsiya Javayant NEGOTIATION
Rodrigues R FerenczRussiaAsiya Javayant UNQUALIFIED
Kaitlin M CampainIndiaElwin Sharvill NEGOTIATION
Nicolas E KuskoSpainXuxue Feng NEGOTIATION
Antonio H FigeroaCanadaElwin Sharvill UNQUALIFIED
Smith Q DilliardUnited KingdomOnyama Limba NEGOTIATION
Munro Z WhobreyRussiaAsiya Javayant UNQUALIFIED
Julie A MaletItalyBernardo Dominic RENEWAL
Ricardo K AmigonIndiaXuxue Feng QUALIFIED
Adams T FollerGermanyOnyama Limba NEGOTIATION
Aruna N PaprockiArgentinaAnna Fali NEW
Ivar X FlosiJapanAmy Elsner UNQUALIFIED
Jefferson N MorascaBrazilAmy Elsner NEW
Leja P KuskoItalyAsiya Javayant NEW
Juan J BriddickBrazilOnyama Limba NEGOTIATION
Mujtaba D VenereItalyAmy Elsner NEGOTIATION
Francesco F RutaBrazilOnyama Limba RENEWAL
Aditya I InouyeCanadaAmy Elsner NEW
Tony V SlusarskiItalyElwin Sharvill PROPOSAL
Juan U SlusarskiAustraliaAsiya Javayant RENEWAL
Wickens W ButtIndiaAsiya Javayant PROPOSAL
Maisha U MaletSpainIoni Bowcher NEW
Francesco M KolmetzGermanyStephen Shaw NEGOTIATION
Darci T MorascaArgentinaXuxue Feng UNQUALIFIED
Darci O PoquetteAustraliaIoni Bowcher RENEWAL
Smith X RimBrazilXuxue Feng NEGOTIATION
Maria X RutaUnited KingdomElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois W RutaJapanBernardo Dominic RENEWAL
Smith R ButtCanadaStephen Shaw PROPOSAL
Francesco M MorascaJapanIoni Bowcher UNQUALIFIED
David E FigeroaGermanyStephen Shaw PROPOSAL
Deepesh Z KuskoItalyStephen Shaw UNQUALIFIED
Tony T BriddickRussiaAmy Elsner NEGOTIATION
Adams N PoquetteSpainOnyama Limba QUALIFIED
Isabel B OstroskyJapanAnna Fali UNQUALIFIED
Sinclair Q KolmetzUnited KingdomOnyama Limba RENEWAL
Aika G OldroydIndiaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy B ButtUnited Kingdom2024-06-07Rousseaux, Michael Esq NEGOTIATION11Asiya Javayant
1001Cody G RutaUnited Kingdom2024-06-14Feiner Bros PROPOSAL33Onyama Limba
1002Munro I KuskoGermany2024-05-31Truhlar And Truhlar Attys NEW94Asiya Javayant
1003Rodrigues T AlbaresFrance2024-05-25Chemel, James L Cpa RENEWAL53Anna Fali
1004Leja M RimBrazil2024-05-29Rangoni Of Florence PROPOSAL95Anna Fali
1005Claire U ChuiCanada2024-05-30Dorl, James J Esq NEGOTIATION20Ioni Bowcher
1006Isabel T SaylorsUnited Kingdom2024-05-27Printing Dimensions NEGOTIATION77Onyama Limba
1007Salvatore B MorascaGermany2024-06-14Morlong Associates UNQUALIFIED17Bernardo Dominic
1008Jefferson N OldroydBrazil2024-06-12Rousseaux, Michael Esq QUALIFIED38Xuxue Feng
1009Silvio M RutaGermany2024-06-11Chapman, Ross E Esq RENEWAL9Ioni Bowcher
1010Darci H GlickAustralia2024-05-31Morlong Associates QUALIFIED84Asiya Javayant
1011Aditya P CaudySpain2024-06-08Buckley Miller Wright RENEWAL9Onyama Limba
1012Kadeem Z PaprockiSpain2024-06-14Morlong Associates NEW47Amy Elsner
1013Rodrigues N ShinkoJapan2024-06-17Rangoni Of Florence PROPOSAL86Asiya Javayant
1014Clifford D OstroskyGermany2024-06-06Morlong Associates UNQUALIFIED89Stephen Shaw
1015Aruna N FigeroaRussia2024-05-23Chapman, Ross E Esq PROPOSAL0Ioni Bowcher
1016Stacey L StensethRussia2024-06-07Feltz Printing Service NEW26Asiya Javayant
1017Ivar J KolmetzSpain2024-06-02Chapman, Ross E Esq RENEWAL29Amy Elsner
1018Aika S MarrierItaly2024-05-23Printing Dimensions PROPOSAL45Ioni Bowcher
1019Ricardo N DilliardSpain2024-06-11Truhlar And Truhlar Attys QUALIFIED66Amy Elsner
1020Mujtaba E KolmetzAustralia2024-05-19Chapman, Ross E Esq NEW53Anna Fali
1021Jefferson U NickaGermany2024-05-20Rangoni Of Florence UNQUALIFIED63Ivan Magalhaes
1022Ivar A SlusarskiCanada2024-06-05Commercial Press RENEWAL50Bernardo Dominic
1023Sinclair O RutaIndia2024-06-12Morlong Associates PROPOSAL22Ivan Magalhaes
1024Jones X RulapaughAustralia2024-05-24Commercial Press UNQUALIFIED17Onyama Limba
1025Maisha T CaldareraUnited Kingdom2024-06-07Printing Dimensions QUALIFIED99Asiya Javayant
1026Arvin D FlosiGermany2024-06-16Rangoni Of Florence PROPOSAL96Anna Fali
1027Kadeem E StensethSpain2024-05-22King, Christopher A Esq PROPOSAL91Asiya Javayant
1028Misaki W MaletAustralia2024-05-26King, Christopher A Esq PROPOSAL86Asiya Javayant
1029Aruna Q CaudyCanada2024-06-02Chapman, Ross E Esq NEGOTIATION99Amy Elsner
1030Claire K DarakjyFrance2024-05-19Chapman, Ross E Esq PROPOSAL51Ioni Bowcher
1031Mayumi R SlusarskiArgentina2024-06-15Rousseaux, Michael Esq PROPOSAL32Asiya Javayant
1032Maisha J ChuiSpain2024-05-24Feiner Bros UNQUALIFIED73Amy Elsner
1033Salvatore L CaldareraRussia2024-06-04Benton, John B Jr PROPOSAL44Elwin Sharvill
1034Misaki E NickaFrance2024-05-24Commercial Press PROPOSAL3Anna Fali
1035Chavez C DarakjyJapan2024-05-31King, Christopher A Esq PROPOSAL99Bernardo Dominic
1036Cody O WhobreyItaly2024-06-02Buckley Miller Wright QUALIFIED41Ioni Bowcher
1037Adams R DilliardUnited Kingdom2024-06-07King, Christopher A Esq RENEWAL1Xuxue Feng
1038Maisha I BriddickRussia2024-06-16Rousseaux, Michael Esq QUALIFIED20Anna Fali
1039Salvatore S PaprockiBrazil2024-06-16Rangoni Of Florence NEGOTIATION48Ioni Bowcher
1040Tony L IturbideUnited Kingdom2024-05-27Printing Dimensions NEW73Onyama Limba
1041Isabel M SergiArgentina2024-05-20Chapman, Ross E Esq RENEWAL72Anna Fali
1042Chavez J MacleadJapan2024-06-12Buckley Miller Wright NEGOTIATION78Xuxue Feng
1043Emily Y TollnerItaly2024-05-22Chemel, James L Cpa NEGOTIATION29Bernardo Dominic
1044Leja B GarufiRussia2024-05-27King, Christopher A Esq NEW7Asiya Javayant
1045Costa R PerinItaly2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED66Asiya Javayant
1046Leja F ChuiCanada2024-06-13Chemel, James L Cpa NEW59Bernardo Dominic
1047Chavez P CampainAustralia2024-06-09Chanay, Jeffrey A Esq NEW1Elwin Sharvill
1048Jennifer A AlbaresBrazil2024-06-17Feltz Printing Service PROPOSAL68Elwin Sharvill
1049Misaki A PoquetteBrazil2024-06-05Printing Dimensions PROPOSAL81Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Darci E AlbaresArgentinaIoni Bowcher NEW
Kadeem Z PoquetteSpainOnyama Limba PROPOSAL
Kaitlin R SlusarskiGermanyOnyama Limba PROPOSAL
David X DoeJapanAnna Fali UNQUALIFIED
Faith I VocelkaUnited KingdomBernardo Dominic PROPOSAL
Cody K RoysterAustraliaElwin Sharvill PROPOSAL
Misaki Y PaprockiCanadaOnyama Limba PROPOSAL
Salvatore T SlusarskiFranceAnna Fali NEW
Adams S WhobreyJapanBernardo Dominic PROPOSAL
Misaki S StockhamRussiaIvan Magalhaes RENEWAL
Arvin K OstroskyJapanAmy Elsner NEW
Chavez A StensethArgentinaXuxue Feng RENEWAL
Cody V MarrierGermanyIvan Magalhaes QUALIFIED
Deepesh E DarakjyArgentinaAnna Fali NEGOTIATION
Leja U DilliardCanadaAnna Fali QUALIFIED
Ricardo X BriddickCanadaElwin Sharvill QUALIFIED
Jennifer L FigeroaSpainOnyama Limba UNQUALIFIED
Kaitlin U BologniaGermanyOnyama Limba UNQUALIFIED
Kaitlin Z GauchoItalyStephen Shaw PROPOSAL
Aruna I MarrierUnited KingdomAnna Fali PROPOSAL
Maria I MorascaBrazilStephen Shaw PROPOSAL
Jones F WhobreyFranceAsiya Javayant PROPOSAL
Julie Z TollnerAustraliaElwin Sharvill UNQUALIFIED
Adams P AlbaresSpainOnyama Limba NEGOTIATION
Arvin S SaylorsCanadaIoni Bowcher QUALIFIED
Arvin Z KolmetzBrazilAmy Elsner RENEWAL
Antonio T OstroskyJapanElwin Sharvill UNQUALIFIED
Costa G SaylorsArgentinaAsiya Javayant UNQUALIFIED
Isabel X GlickJapanOnyama Limba QUALIFIED
Cody T NickaRussiaBernardo Dominic RENEWAL
Mayumi O SlusarskiGermanyElwin Sharvill PROPOSAL
Francesco Z BologniaRussiaAmy Elsner NEW
Antonio U DarakjyGermanyAsiya Javayant RENEWAL
James U SchemmerFranceIoni Bowcher UNQUALIFIED
Greenwood T ButtBrazilElwin Sharvill QUALIFIED
Maisha Z AmigonJapanOnyama Limba RENEWAL
Ivar P RimItalyXuxue Feng QUALIFIED
Claire I WaycottGermanyIoni Bowcher NEGOTIATION
Francesco T RoysterItalyStephen Shaw NEGOTIATION
Cody T NickaAustraliaIvan Magalhaes UNQUALIFIED
Chavez N FlosiIndiaStephen Shaw RENEWAL
Morrow W NestleSpainIoni Bowcher NEW
Nicolas V OstroskyItalyXuxue Feng QUALIFIED
Antonio F KuskoCanadaOnyama Limba QUALIFIED
Aditya T OstroskyFranceAsiya Javayant NEW
Julie O RimJapanIoni Bowcher NEGOTIATION
Kadeem J PoquetteAustraliaAsiya Javayant NEW
Francesco X FigeroaBrazilElwin Sharvill RENEWAL
Jeanfrancois N DilliardUnited KingdomAnna Fali NEW
Francesco C MarrierArgentinaAsiya Javayant NEW
Frozen Columns
Name
Darci Y Saylors
Wickens J Saylors
Arvin W Ostrosky
Greenwood C Stockham
Mayumi R Campain
Chavez W Ostrosky
Silvio F Waycott
Mayumi C Caldarera
Alejandro V Garufi
Costa L Perin
Antonio X Caudy
Jones D Ruta
Rodrigues X Venere
Aditya R Venere
Morrow E Ruta
Cody P Doe
Silvio Y Chui
Stacey N Figeroa
Adams K Albares
Jefferson N Chui
Francesco Y Bowley
Francesco Y Darakjy
Octavia Q Gillian
Alejandro E Iturbide
Kadeem S Perin
Alejandro T Ruta
Maria W Inouye
Alejandro N Morasca
Deepesh S Ruta
Jefferson E Slusarski
Silvio B Maclead
Kaitlin Z Gaucho
Sinclair V Waycott
Jeanfrancois K Glick
Isabel F Perin
Tony Y Ferencz
Octavia G Royster
Greenwood O Figeroa
Clifford N Malet
Isabel D Ruta
Sinclair A Stenseth
Izzy E Vocelka
Aditya S Butt
Tony L Albares
Stacey G Wieser
Deepesh Q Glick
Claire P Saylors
Kaitlin K Nicka
Emily S Poquette
Arvin N Foller
IdCountryDate
1000Germany2024-05-21
1001Russia2024-05-28
1002Brazil2024-06-06
1003Italy2024-06-16
1004Spain2024-06-08
1005Spain2024-05-19
1006Canada2024-06-08
1007France2024-06-02
1008Italy2024-06-09
1009Japan2024-06-13
1010Australia2024-06-08
1011Russia2024-06-17
1012Canada2024-06-12
1013Spain2024-06-16
1014Canada2024-06-17
1015Australia2024-05-24
1016Brazil2024-06-04
1017United Kingdom2024-06-03
1018Russia2024-05-19
1019Australia2024-06-15
1020Germany2024-06-01
1021France2024-05-25
1022Brazil2024-06-06
1023Spain2024-06-01
1024Italy2024-06-11
1025Germany2024-06-07
1026India2024-06-03
1027Germany2024-05-21
1028Spain2024-05-30
1029Canada2024-05-31
1030Argentina2024-05-25
1031France2024-06-13
1032Argentina2024-06-03
1033France2024-06-08
1034United Kingdom2024-06-04
1035Canada2024-06-07
1036Russia2024-06-07
1037Australia2024-05-27
1038Canada2024-06-07
1039United Kingdom2024-06-02
1040Argentina2024-06-04
1041Germany2024-06-06
1042Australia2024-05-26
1043Spain2024-05-20
1044Spain2024-05-30
1045Spain2024-05-25
1046Australia2024-06-06
1047Germany2024-06-07
1048Canada2024-05-22
1049Brazil2024-06-17

On-Demand Data

NameIdCountryDate
Deepesh B Foller1000India2024-05-31
Jefferson D Inouye1001Russia2024-06-12
Mayumi B Ostrosky1002United Kingdom2024-06-04
Isabel I Chui1003Canada2024-06-11
Ivar A Venere1004United Kingdom2024-06-14
Mujtaba M Doe1005Argentina2024-06-04
Munro A Maclead1006Italy2024-06-03
Kaitlin T Maclead1007Germany2024-05-28
Emily L Waycott1008Spain2024-06-15
Kaitlin A Morasca1009Argentina2024-06-05
Johnson T Caudy1010Italy2024-06-06
Johnson N Albares1011France2024-06-16
Jones A Tollner1012Australia2024-06-04
Greenwood A Rulapaugh1013Italy2024-06-08
Greenwood R Morasca1014Canada2024-06-14
Costa U Tollner1015Brazil2024-05-25
Mujtaba M Bolognia1016Italy2024-05-19
Costa X Nicka1017Argentina2024-05-31
Tony V Shinko1018Australia2024-06-01
Munro E Gaucho1019France2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair K PoquetteCanadaStephen Shaw PROPOSAL
Munro B GauchoItalyXuxue Feng QUALIFIED
James A PoquetteIndiaIoni Bowcher NEW
Ricardo R MaletIndiaStephen Shaw RENEWAL
Faith X GillianBrazilAsiya Javayant QUALIFIED
Ashley Q PerinItalyAsiya Javayant NEGOTIATION
Octavia R CaldareraArgentinaAnna Fali UNQUALIFIED
Leon M NestleFranceXuxue Feng QUALIFIED
Isabel F MaletCanadaXuxue Feng QUALIFIED
Smith E StensethJapanStephen Shaw NEW
Emily H AmigonGermanyXuxue Feng UNQUALIFIED
Ivar I FigeroaAustraliaXuxue Feng RENEWAL
Chavez V MaletRussiaIvan Magalhaes UNQUALIFIED
Aika P CampainBrazilAmy Elsner QUALIFIED
Aika F MorascaUnited KingdomAmy Elsner PROPOSAL
Maisha O OstroskyAustraliaIvan Magalhaes NEW
Smith D WieserGermanyAnna Fali RENEWAL
Cody V VenereIndiaXuxue Feng QUALIFIED
Costa I PerinGermanyOnyama Limba RENEWAL
Salvatore J SaylorsGermanyIvan Magalhaes QUALIFIED
Munro I SaylorsBrazilOnyama Limba NEW
Maria E PoquetteCanadaAnna Fali RENEWAL
Leja O MaletArgentinaIvan Magalhaes PROPOSAL
Cody Y SlusarskiSpainIoni Bowcher NEW
Sinclair Z InouyeJapanAmy Elsner PROPOSAL
Maisha M DilliardBrazilOnyama Limba NEGOTIATION
Kaitlin Q DilliardArgentinaOnyama Limba UNQUALIFIED
Emily X VenereIndiaAsiya Javayant UNQUALIFIED
Salvatore U CampainGermanyElwin Sharvill NEGOTIATION
Maisha C RimCanadaStephen Shaw RENEWAL
Faith V OldroydJapanIvan Magalhaes NEGOTIATION
Chavez K MorascaFranceAnna Fali NEGOTIATION
Misaki E PaprockiItalyAnna Fali QUALIFIED
Claire E BriddickRussiaAnna Fali NEGOTIATION
Octavia L WaycottFranceElwin Sharvill RENEWAL
Arvin D VocelkaIndiaAnna Fali NEGOTIATION
Deepesh G ShinkoCanadaStephen Shaw PROPOSAL
Juan O DoeUnited KingdomAnna Fali NEW
Leja O InouyeUnited KingdomAnna Fali UNQUALIFIED
Leja S MarrierIndiaOnyama Limba 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>