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
Jeanfrancois E SaylorsAustraliaIoni Bowcher QUALIFIED
Munro M RoysterFranceAsiya Javayant QUALIFIED
Chavez L MorascaIndiaOnyama Limba UNQUALIFIED
Nicolas V TollnerCanadaAmy Elsner RENEWAL
Greenwood V FigeroaAustraliaIoni Bowcher NEGOTIATION
Jefferson O VocelkaIndiaAmy Elsner NEGOTIATION
Nicolas G CaldareraIndiaIoni Bowcher UNQUALIFIED
Murillo U MaletRussiaOnyama Limba RENEWAL
David W WaycottJapanAnna Fali NEW
Costa M MarrierJapanElwin Sharvill UNQUALIFIED
Izzy Z WhobreyCanadaElwin Sharvill NEW
Darci Z CampainJapanElwin Sharvill RENEWAL
Aruna H VocelkaSpainAsiya Javayant RENEWAL
Juan X IturbideCanadaElwin Sharvill UNQUALIFIED
Mujtaba O PaprockiAustraliaIoni Bowcher PROPOSAL
Mayumi W MacleadAustraliaIvan Magalhaes PROPOSAL
Mujtaba J FerenczArgentinaIvan Magalhaes NEW
Octavia Q FollerUnited KingdomElwin Sharvill QUALIFIED
Sinclair V WaycottIndiaElwin Sharvill NEW
Jennifer X VocelkaItalyAmy Elsner RENEWAL
James B BriddickFranceAsiya Javayant RENEWAL
Francesco E NickaIndiaOnyama Limba UNQUALIFIED
Jefferson Y SchemmerArgentinaAsiya Javayant PROPOSAL
Aika E MaletItalyStephen Shaw NEW
Smith S SaylorsItalyIvan Magalhaes PROPOSAL
Chavez C MorascaRussiaAnna Fali RENEWAL
Ricardo R SchemmerGermanyAsiya Javayant NEGOTIATION
Julie X CaudyCanadaAmy Elsner NEW
Faith Y PaprockiFranceAsiya Javayant UNQUALIFIED
Adams C OstroskyUnited KingdomIvan Magalhaes QUALIFIED
David F InouyeJapanIvan Magalhaes RENEWAL
Rodrigues W PoquetteSpainIoni Bowcher PROPOSAL
Aruna L StensethIndiaIoni Bowcher NEGOTIATION
Francesco N BriddickFranceStephen Shaw NEGOTIATION
James Y PaprockiItalyStephen Shaw UNQUALIFIED
Rodrigues K GarufiItalyXuxue Feng UNQUALIFIED
Isabel X DoeAustraliaXuxue Feng QUALIFIED
Greenwood F RutaSpainElwin Sharvill NEW
Claire I NickaGermanyAsiya Javayant NEGOTIATION
Ricardo J PoquetteFranceIoni Bowcher QUALIFIED
Julie O BologniaAustraliaIvan Magalhaes NEW
Juan U CaudyBrazilBernardo Dominic NEGOTIATION
Ashley R CaudyUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore V RutaGermanyElwin Sharvill UNQUALIFIED
Leja L InouyeAustraliaBernardo Dominic QUALIFIED
Jeanfrancois V RimUnited KingdomAnna Fali NEW
Faith D MarrierFranceBernardo Dominic UNQUALIFIED
Mayumi U RimGermanyElwin Sharvill NEW
Ivar P RulapaughUnited KingdomElwin Sharvill RENEWAL
Chavez Q CaldareraBrazilIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba D RutaAustraliaAsiya Javayant QUALIFIED
Silvio V MarrierArgentinaOnyama Limba PROPOSAL
Jones I VocelkaIndiaIoni Bowcher NEW
James Q AmigonAustraliaAnna Fali RENEWAL
Jefferson Y WaycottSpainXuxue Feng QUALIFIED
Costa K GillianSpainStephen Shaw RENEWAL
Silvio D WaycottCanadaIoni Bowcher QUALIFIED
Ivar O VocelkaFranceIvan Magalhaes UNQUALIFIED
Izzy P TollnerAustraliaAsiya Javayant PROPOSAL
Maria G NestleBrazilOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio E InouyeSpain2024-06-02Commercial Press NEW38Anna Fali
1001Leon M OldroydFrance2024-06-18Truhlar And Truhlar Attys QUALIFIED22Bernardo Dominic
1002Silvio B DilliardIndia2024-06-19Benton, John B Jr UNQUALIFIED98Ivan Magalhaes
1003Cody E FlosiSpain2024-06-18Feiner Bros QUALIFIED95Onyama Limba
1004Ivar X GillianGermany2024-06-15Benton, John B Jr RENEWAL76Stephen Shaw
1005Antonio R NestleCanada2024-05-30Feltz Printing Service UNQUALIFIED10Ioni Bowcher
1006Emily X FerenczJapan2024-05-26Dorl, James J Esq RENEWAL54Anna Fali
1007Emily M ChuiSpain2024-06-09Chemel, James L Cpa RENEWAL68Elwin Sharvill
1008Smith V SlusarskiItaly2024-06-19King, Christopher A Esq NEW11Onyama Limba
1009Isabel P StensethBrazil2024-05-26Chapman, Ross E Esq UNQUALIFIED91Anna Fali
1010Aditya G MarrierArgentina2024-06-20Chapman, Ross E Esq NEGOTIATION39Ioni Bowcher
1011Silvio O KolmetzBrazil2024-06-05Buckley Miller Wright QUALIFIED92Amy Elsner
1012Leja L MaletFrance2024-06-21Commercial Press NEW12Onyama Limba
1013Ivar P SergiItaly2024-06-11Rangoni Of Florence UNQUALIFIED35Anna Fali
1014Octavia L PerinAustralia2024-06-20Morlong Associates UNQUALIFIED28Xuxue Feng
1015Leon Z StensethIndia2024-06-18Feiner Bros NEW29Asiya Javayant
1016Octavia G ChuiJapan2024-06-06Chanay, Jeffrey A Esq QUALIFIED52Ivan Magalhaes
1017Adams A GlickFrance2024-05-24Commercial Press UNQUALIFIED5Asiya Javayant
1018Jeanfrancois I NickaCanada2024-06-11Rousseaux, Michael Esq UNQUALIFIED45Ivan Magalhaes
1019Sinclair K InouyeGermany2024-05-30Printing Dimensions NEGOTIATION1Asiya Javayant
1020Antonio R PoquetteBrazil2024-06-01Truhlar And Truhlar Attys UNQUALIFIED96Elwin Sharvill
1021Alejandro K MaletBrazil2024-06-07Rousseaux, Michael Esq RENEWAL68Amy Elsner
1022Rodrigues V StockhamRussia2024-05-29King, Christopher A Esq RENEWAL14Ivan Magalhaes
1023James J DilliardArgentina2024-06-13Chanay, Jeffrey A Esq PROPOSAL10Ioni Bowcher
1024Ashley I DoeItaly2024-06-19Buckley Miller Wright NEGOTIATION35Ioni Bowcher
1025Smith P ChuiUnited Kingdom2024-06-02Buckley Miller Wright UNQUALIFIED9Onyama Limba
1026Ivar V RoysterRussia2024-06-02Buckley Miller Wright NEW18Onyama Limba
1027Mujtaba U AmigonBrazil2024-06-01Buckley Miller Wright PROPOSAL97Ivan Magalhaes
1028Claire W CaldareraGermany2024-06-17Commercial Press NEW74Stephen Shaw
1029Silvio E TollnerJapan2024-06-09Chanay, Jeffrey A Esq NEGOTIATION88Bernardo Dominic
1030Mayumi A CaldareraRussia2024-06-04Dorl, James J Esq UNQUALIFIED31Bernardo Dominic
1031Emily W MacleadFrance2024-06-10Commercial Press QUALIFIED3Xuxue Feng
1032Juan H CampainUnited Kingdom2024-06-18Buckley Miller Wright NEGOTIATION62Bernardo Dominic
1033David G InouyeSpain2024-06-05King, Christopher A Esq RENEWAL98Stephen Shaw
1034Johnson D CampainBrazil2024-06-07Benton, John B Jr QUALIFIED25Bernardo Dominic
1035Misaki W CaldareraIndia2024-05-31Dorl, James J Esq QUALIFIED70Anna Fali
1036Francesco X GarufiBrazil2024-05-28Chemel, James L Cpa RENEWAL88Ioni Bowcher
1037Isabel S SergiIndia2024-06-09Chanay, Jeffrey A Esq PROPOSAL57Onyama Limba
1038Munro J NickaArgentina2024-05-23Rangoni Of Florence RENEWAL33Asiya Javayant
1039Izzy T WieserJapan2024-06-17Chapman, Ross E Esq PROPOSAL0Amy Elsner
1040Costa Y SlusarskiJapan2024-06-14Feiner Bros UNQUALIFIED99Bernardo Dominic
1041Salvatore F FollerAustralia2024-06-04King, Christopher A Esq NEW72Asiya Javayant
1042Mayumi N IturbideRussia2024-05-23Rousseaux, Michael Esq QUALIFIED20Bernardo Dominic
1043Morrow T DilliardJapan2024-05-23Chanay, Jeffrey A Esq NEGOTIATION87Ivan Magalhaes
1044Morrow I VocelkaAustralia2024-05-26Commercial Press RENEWAL61Ivan Magalhaes
1045Misaki T FigeroaRussia2024-06-12King, Christopher A Esq UNQUALIFIED14Amy Elsner
1046Clifford V AlbaresUnited Kingdom2024-06-02Truhlar And Truhlar Attys NEGOTIATION81Xuxue Feng
1047Izzy E WaycottGermany2024-06-08Buckley Miller Wright RENEWAL31Anna Fali
1048Nicolas A DilliardBrazil2024-06-11Feltz Printing Service UNQUALIFIED14Anna Fali
1049Emily A PoquetteGermany2024-05-29Buckley Miller Wright PROPOSAL44Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aika V FigeroaUnited KingdomIoni Bowcher RENEWAL
Aditya H MacleadJapanIoni Bowcher RENEWAL
Antonio P PoquetteIndiaAsiya Javayant NEW
Greenwood K MaletCanadaXuxue Feng RENEWAL
Arvin I MaletArgentinaIvan Magalhaes UNQUALIFIED
Jones G PaprockiArgentinaOnyama Limba NEGOTIATION
Jones M MorascaJapanBernardo Dominic RENEWAL
Tony C PaprockiItalyBernardo Dominic RENEWAL
Misaki E DilliardArgentinaBernardo Dominic NEW
Ashley R KuskoJapanOnyama Limba RENEWAL
Nicolas E WhobreyBrazilOnyama Limba UNQUALIFIED
Tony T TollnerItalyXuxue Feng QUALIFIED
Deepesh U RoysterBrazilAmy Elsner UNQUALIFIED
Adams B SergiAustraliaStephen Shaw NEGOTIATION
Ivar E StockhamCanadaStephen Shaw UNQUALIFIED
David D GarufiItalyIvan Magalhaes UNQUALIFIED
Maisha H RutaFranceAnna Fali PROPOSAL
Johnson H PoquetteGermanyStephen Shaw QUALIFIED
Maisha Z MorascaJapanStephen Shaw PROPOSAL
Tony C AlbaresJapanAmy Elsner PROPOSAL
Rodrigues R NestleFranceXuxue Feng NEGOTIATION
Sinclair Y FigeroaIndiaAsiya Javayant NEGOTIATION
Cody Z RutaGermanyIoni Bowcher RENEWAL
Leja U RoysterBrazilBernardo Dominic NEW
Ashley V FlosiCanadaAsiya Javayant PROPOSAL
Wickens E SaylorsFranceAsiya Javayant NEW
Claire L SlusarskiIndiaOnyama Limba PROPOSAL
Morrow Z AmigonSpainStephen Shaw PROPOSAL
Deepesh Z PaprockiIndiaBernardo Dominic PROPOSAL
David H NickaSpainAnna Fali UNQUALIFIED
Misaki T RutaGermanyStephen Shaw RENEWAL
Chavez D AmigonCanadaIvan Magalhaes NEW
Kadeem E ButtAustraliaAnna Fali NEW
Mayumi Q ChuiJapanStephen Shaw NEGOTIATION
Smith U SaylorsCanadaIoni Bowcher NEW
James W FlosiBrazilIvan Magalhaes PROPOSAL
Arvin E GillianUnited KingdomBernardo Dominic NEW
Jeanfrancois R RimRussiaElwin Sharvill QUALIFIED
Jeanfrancois J SaylorsJapanIoni Bowcher NEW
Antonio W MaletBrazilXuxue Feng UNQUALIFIED
Mayumi Q CaudyGermanyOnyama Limba QUALIFIED
Nicolas V WieserSpainIoni Bowcher UNQUALIFIED
Aditya D KuskoUnited KingdomIvan Magalhaes NEGOTIATION
Maisha H ChuiCanadaStephen Shaw NEGOTIATION
Wickens V GlickJapanBernardo Dominic RENEWAL
Alejandro H GillianJapanBernardo Dominic RENEWAL
Mujtaba O BowleyIndiaBernardo Dominic NEW
Ivar E DarakjyIndiaOnyama Limba RENEWAL
Aika T DarakjyBrazilIvan Magalhaes QUALIFIED
Silvio M FerenczIndiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Kadeem R Venere
Sinclair C Wieser
Deepesh B Tollner
Francesco U Caldarera
Adams K Inouye
Izzy Y Campain
Aruna M Tollner
Smith Z Oldroyd
Clifford P Stockham
Greenwood F Ruta
Deepesh U Stenseth
Sinclair Y Maclead
Aika C Venere
Jennifer A Ostrosky
Wickens Q Venere
Arvin Y Flosi
Arvin F Sergi
Leja V Gaucho
Aruna K Chui
Jefferson P Ostrosky
Adams F Schemmer
Claire J Foller
Maisha V Tollner
Cody D Figeroa
Tony K Saylors
Julie W Perin
Wickens V Maclead
Faith E Schemmer
Claire E Schemmer
Emily H Flosi
Aika T Stockham
Darci D Amigon
Aruna C Perin
Aruna Y Morasca
Salvatore F Garufi
Kaitlin K Royster
Stacey R Malet
Murillo H Flosi
Smith Z Rim
Izzy E Darakjy
Silvio Y Vocelka
Kaitlin O Paprocki
Silvio I Amigon
Sinclair Y Marrier
Clifford M Caldarera
Nicolas Z Ostrosky
Misaki E Doe
Mujtaba Z Oldroyd
Wickens S Chui
Julie C Glick
IdCountryDate
1000India2024-05-26
1001Brazil2024-06-03
1002Russia2024-06-21
1003United Kingdom2024-06-04
1004Canada2024-06-15
1005Argentina2024-06-18
1006Japan2024-06-17
1007Argentina2024-06-16
1008Russia2024-06-06
1009Germany2024-06-17
1010Italy2024-06-02
1011Germany2024-05-31
1012United Kingdom2024-05-24
1013Argentina2024-06-15
1014France2024-06-09
1015Australia2024-06-09
1016India2024-06-02
1017Japan2024-06-08
1018United Kingdom2024-06-18
1019Canada2024-06-19
1020Canada2024-05-25
1021France2024-05-29
1022Argentina2024-06-13
1023United Kingdom2024-06-04
1024France2024-05-30
1025Japan2024-05-26
1026Italy2024-06-07
1027France2024-06-14
1028Italy2024-06-15
1029Canada2024-06-10
1030Russia2024-06-12
1031Japan2024-06-06
1032Australia2024-06-15
1033Canada2024-06-11
1034India2024-05-28
1035Italy2024-06-16
1036United Kingdom2024-05-26
1037United Kingdom2024-05-23
1038Canada2024-06-07
1039Argentina2024-06-13
1040Russia2024-06-10
1041India2024-05-31
1042Italy2024-06-18
1043France2024-06-01
1044Spain2024-05-23
1045Argentina2024-05-23
1046Argentina2024-05-26
1047Spain2024-06-07
1048India2024-05-27
1049Spain2024-06-08

On-Demand Data

NameIdCountryDate
Misaki K Marrier1000United Kingdom2024-06-06
Kaitlin Y Malet1001India2024-05-26
Cody J Glick1002Japan2024-05-24
Salvatore M Malet1003Australia2024-05-24
Claire L Campain1004Germany2024-06-21
Julie S Waycott1005Argentina2024-06-18
Jeanfrancois H Glick1006France2024-06-12
Deepesh W Sergi1007Germany2024-06-17
Greenwood K Wieser1008Australia2024-05-31
Aika O Garufi1009Australia2024-06-12
Izzy U Rim1010United Kingdom2024-05-31
Octavia C Albares1011Canada2024-06-03
Rodrigues Y Dilliard1012Australia2024-06-13
Murillo K Briddick1013Russia2024-05-29
Cody A Malet1014France2024-05-24
Mayumi A Slusarski1015Germany2024-06-01
Emily W Tollner1016Canada2024-06-18
Claire H Ostrosky1017Russia2024-05-27
Costa F Royster1018Brazil2024-06-05
Aika E Tollner1019Canada2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki U VenereGermanyIoni Bowcher UNQUALIFIED
Aruna B MarrierIndiaBernardo Dominic UNQUALIFIED
Antonio N RimAustraliaAnna Fali QUALIFIED
Stacey P DarakjyGermanyAnna Fali RENEWAL
Munro E ButtItalyBernardo Dominic NEGOTIATION
Octavia K InouyeCanadaAmy Elsner NEGOTIATION
Darci P TollnerAustraliaElwin Sharvill RENEWAL
Stacey B GillianUnited KingdomIvan Magalhaes NEW
Smith D CaldareraAustraliaBernardo Dominic UNQUALIFIED
Aditya P KuskoJapanOnyama Limba NEGOTIATION
Stacey I RimFranceXuxue Feng UNQUALIFIED
Octavia L VocelkaSpainOnyama Limba NEGOTIATION
Aika E ChuiJapanAsiya Javayant QUALIFIED
Kaitlin O DoeUnited KingdomIoni Bowcher UNQUALIFIED
Munro E MaletBrazilOnyama Limba NEW
Johnson X PoquetteJapanElwin Sharvill UNQUALIFIED
Tony D RutaUnited KingdomIoni Bowcher PROPOSAL
Cody Z ShinkoBrazilElwin Sharvill NEW
Jennifer R NickaArgentinaIvan Magalhaes NEW
Kadeem O NickaItalyOnyama Limba UNQUALIFIED
Sinclair I FollerUnited KingdomXuxue Feng QUALIFIED
Greenwood U KolmetzRussiaBernardo Dominic NEW
Maria H NestleItalyBernardo Dominic NEW
Izzy F PoquetteSpainStephen Shaw PROPOSAL
Silvio J SlusarskiBrazilElwin Sharvill UNQUALIFIED
Juan N FollerArgentinaIvan Magalhaes RENEWAL
Ashley G TollnerItalyIoni Bowcher QUALIFIED
Jefferson Z StensethSpainIoni Bowcher UNQUALIFIED
Darci H SergiCanadaBernardo Dominic RENEWAL
Isabel J AmigonAustraliaAnna Fali NEGOTIATION
James V VenereAustraliaAsiya Javayant NEW
Julie B InouyeFranceAmy Elsner RENEWAL
Jones H NickaCanadaIvan Magalhaes PROPOSAL
Ashley R PerinSpainAsiya Javayant QUALIFIED
Silvio E SaylorsSpainStephen Shaw UNQUALIFIED
Alejandro F SergiItalyIvan Magalhaes NEGOTIATION
Ashley G StockhamGermanyBernardo Dominic QUALIFIED
Nicolas J MaletBrazilAnna Fali UNQUALIFIED
Juan X StockhamJapanElwin Sharvill UNQUALIFIED
Izzy J GlickCanadaStephen Shaw PROPOSAL

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