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
Murillo I RulapaughAustraliaStephen Shaw RENEWAL
Cody P WaycottJapanAmy Elsner NEGOTIATION
Aika O MacleadIndiaIvan Magalhaes UNQUALIFIED
Rodrigues G VenereIndiaIvan Magalhaes QUALIFIED
Maria X MarrierArgentinaBernardo Dominic QUALIFIED
Kadeem Y MaletCanadaOnyama Limba NEW
Smith B CaldareraFranceBernardo Dominic RENEWAL
Kadeem I ButtSpainBernardo Dominic PROPOSAL
Ricardo Z DilliardRussiaBernardo Dominic NEGOTIATION
Mayumi W WieserJapanAmy Elsner PROPOSAL
Misaki O AlbaresItalyOnyama Limba NEGOTIATION
Faith Y MacleadFranceStephen Shaw QUALIFIED
Misaki S MarrierBrazilOnyama Limba PROPOSAL
Antonio X StockhamIndiaOnyama Limba NEGOTIATION
Nicolas E NestleItalyStephen Shaw NEGOTIATION
Clifford R RoysterJapanAsiya Javayant NEGOTIATION
Deepesh K MarrierBrazilStephen Shaw RENEWAL
Cody V CaldareraJapanIoni Bowcher NEGOTIATION
Octavia U GillianFranceAsiya Javayant NEW
Salvatore A OldroydFranceOnyama Limba PROPOSAL
Murillo B TollnerBrazilAnna Fali NEW
Salvatore H NestleSpainIoni Bowcher PROPOSAL
Cody S StensethCanadaXuxue Feng UNQUALIFIED
Mayumi G GlickBrazilStephen Shaw NEW
Arvin Y OldroydCanadaAnna Fali NEGOTIATION
Maria S AlbaresBrazilStephen Shaw RENEWAL
Tony I KuskoSpainXuxue Feng NEW
Salvatore G NickaSpainIoni Bowcher UNQUALIFIED
James H InouyeSpainAnna Fali RENEWAL
Aika B SaylorsItalyOnyama Limba PROPOSAL
Maria M PoquetteCanadaOnyama Limba QUALIFIED
Jefferson I BriddickFranceBernardo Dominic RENEWAL
Kaitlin R InouyeItalyOnyama Limba PROPOSAL
Morrow D IturbideSpainElwin Sharvill PROPOSAL
Salvatore K WieserAustraliaElwin Sharvill NEW
Nicolas U CampainJapanStephen Shaw UNQUALIFIED
Wickens J RimUnited KingdomIoni Bowcher PROPOSAL
David T RimFranceElwin Sharvill QUALIFIED
Izzy L OldroydCanadaIvan Magalhaes NEW
Deepesh F WhobreyBrazilIoni Bowcher UNQUALIFIED
Octavia Y MorascaUnited KingdomOnyama Limba NEW
Adams S StensethRussiaIvan Magalhaes UNQUALIFIED
Antonio M KuskoGermanyIvan Magalhaes PROPOSAL
Sinclair Z GarufiArgentinaAmy Elsner UNQUALIFIED
Tony G PaprockiRussiaStephen Shaw PROPOSAL
Mayumi J AlbaresIndiaAsiya Javayant RENEWAL
Jennifer Q BowleyRussiaAnna Fali RENEWAL
Greenwood E WieserGermanyAsiya Javayant RENEWAL
Antonio T KolmetzSpainXuxue Feng NEGOTIATION
Salvatore F NestleUnited KingdomBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja D MacleadUnited KingdomElwin Sharvill RENEWAL
Deepesh P NickaIndiaOnyama Limba NEW
Alejandro I FollerAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois N BologniaUnited KingdomAsiya Javayant RENEWAL
Clifford T SlusarskiFranceBernardo Dominic NEGOTIATION
Kadeem H AlbaresGermanyBernardo Dominic UNQUALIFIED
Chavez C OstroskyArgentinaOnyama Limba QUALIFIED
Tony B DarakjyJapanElwin Sharvill RENEWAL
Rodrigues N GarufiSpainAsiya Javayant NEW
Nicolas M GarufiItalyAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David K NestleAustralia2024-05-25Chapman, Ross E Esq UNQUALIFIED6Stephen Shaw
1001Tony U WaycottCanada2024-05-02King, Christopher A Esq QUALIFIED68Onyama Limba
1002Salvatore J RutaGermany2024-05-02Dorl, James J Esq NEGOTIATION37Ivan Magalhaes
1003Jennifer Y ButtSpain2024-05-23Rangoni Of Florence QUALIFIED61Anna Fali
1004Deepesh V MorascaIndia2024-05-20Dorl, James J Esq PROPOSAL94Ioni Bowcher
1005Johnson J CaudyArgentina2024-05-03Morlong Associates UNQUALIFIED70Onyama Limba
1006Cody B MacleadArgentina2024-05-04Feltz Printing Service RENEWAL83Ivan Magalhaes
1007Izzy H MacleadSpain2024-05-21Chemel, James L Cpa RENEWAL32Bernardo Dominic
1008Nicolas K KuskoItaly2024-05-19Feltz Printing Service QUALIFIED74Xuxue Feng
1009Rodrigues P GillianBrazil2024-05-15Chapman, Ross E Esq RENEWAL68Ivan Magalhaes
1010Julie Z RulapaughArgentina2024-05-03Buckley Miller Wright RENEWAL58Amy Elsner
1011Juan P IturbideRussia2024-05-20Chapman, Ross E Esq UNQUALIFIED4Bernardo Dominic
1012Morrow G WieserIndia2024-05-08Benton, John B Jr UNQUALIFIED26Stephen Shaw
1013Leon J MaletAustralia2024-05-19Truhlar And Truhlar Attys PROPOSAL98Amy Elsner
1014Leon N NickaFrance2024-05-05Rousseaux, Michael Esq RENEWAL68Anna Fali
1015Izzy B VenereAustralia2024-05-21Commercial Press RENEWAL47Amy Elsner
1016Aika O RulapaughArgentina2024-05-09Morlong Associates PROPOSAL16Bernardo Dominic
1017Morrow A KolmetzSpain2024-05-26Benton, John B Jr NEGOTIATION14Bernardo Dominic
1018Silvio G IturbideRussia2024-05-20Chemel, James L Cpa NEGOTIATION10Stephen Shaw
1019Silvio C WhobreySpain2024-05-04Truhlar And Truhlar Attys PROPOSAL98Bernardo Dominic
1020Jones F KuskoAustralia2024-05-09Truhlar And Truhlar Attys NEGOTIATION37Asiya Javayant
1021Cody T ShinkoFrance2024-05-04Buckley Miller Wright PROPOSAL12Onyama Limba
1022Maria Q SchemmerArgentina2024-05-17Commercial Press UNQUALIFIED73Elwin Sharvill
1023Cody V NickaIndia2024-05-16Rousseaux, Michael Esq NEW30Asiya Javayant
1024Silvio F RulapaughFrance2024-05-17Commercial Press NEW98Ivan Magalhaes
1025Greenwood G DarakjyFrance2024-05-13Rangoni Of Florence QUALIFIED89Ioni Bowcher
1026Faith G OstroskyFrance2024-05-03Chapman, Ross E Esq UNQUALIFIED20Bernardo Dominic
1027Costa L MaletCanada2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED24Anna Fali
1028Jennifer P OldroydUnited Kingdom2024-04-30Printing Dimensions NEGOTIATION36Elwin Sharvill
1029Rodrigues D DilliardAustralia2024-04-28King, Christopher A Esq RENEWAL40Anna Fali
1030Adams V GillianJapan2024-05-07Printing Dimensions QUALIFIED68Anna Fali
1031Julie H MaletArgentina2024-05-26Feiner Bros UNQUALIFIED47Asiya Javayant
1032Claire G WhobreyRussia2024-05-22King, Christopher A Esq UNQUALIFIED10Xuxue Feng
1033Stacey E WaycottAustralia2024-05-27Chemel, James L Cpa NEGOTIATION62Amy Elsner
1034David W ButtBrazil2024-05-18Morlong Associates QUALIFIED15Ivan Magalhaes
1035Alejandro V NestleJapan2024-05-12Commercial Press NEW23Asiya Javayant
1036Julie M RulapaughSpain2024-05-04Dorl, James J Esq PROPOSAL11Asiya Javayant
1037Leon W SlusarskiArgentina2024-05-23Dorl, James J Esq RENEWAL47Asiya Javayant
1038Morrow G DoeIndia2024-05-22Benton, John B Jr UNQUALIFIED10Asiya Javayant
1039Greenwood I MacleadIndia2024-05-08Printing Dimensions QUALIFIED27Bernardo Dominic
1040Deepesh O TollnerRussia2024-05-02Dorl, James J Esq NEW41Stephen Shaw
1041Aika B RoysterArgentina2024-05-06Feiner Bros NEW97Stephen Shaw
1042Sinclair O OldroydBrazil2024-04-28Rangoni Of Florence NEW22Asiya Javayant
1043Stacey D GlickFrance2024-05-07Truhlar And Truhlar Attys PROPOSAL26Xuxue Feng
1044Munro O BologniaJapan2024-04-29King, Christopher A Esq UNQUALIFIED62Ivan Magalhaes
1045Claire W RulapaughSpain2024-04-29Chanay, Jeffrey A Esq QUALIFIED1Amy Elsner
1046Juan N KuskoCanada2024-04-30Morlong Associates PROPOSAL26Bernardo Dominic
1047David J CampainJapan2024-05-09Rangoni Of Florence UNQUALIFIED41Ivan Magalhaes
1048Stacey J RutaAustralia2024-05-11Rangoni Of Florence UNQUALIFIED28Elwin Sharvill
1049Jeanfrancois G DilliardIndia2024-05-08Feltz Printing Service NEW83Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
James S DoeSpainAsiya Javayant NEGOTIATION
Emily J BologniaArgentinaIvan Magalhaes NEGOTIATION
Nicolas Q StockhamRussiaElwin Sharvill UNQUALIFIED
Nicolas W ButtGermanyAmy Elsner UNQUALIFIED
Rodrigues H GauchoGermanyAsiya Javayant QUALIFIED
Silvio W DilliardCanadaXuxue Feng NEGOTIATION
Deepesh E FigeroaItalyBernardo Dominic PROPOSAL
Rodrigues B InouyeIndiaIoni Bowcher UNQUALIFIED
Kadeem H NickaJapanIvan Magalhaes PROPOSAL
Jones M MorascaRussiaIoni Bowcher UNQUALIFIED
Kaitlin S KolmetzSpainXuxue Feng QUALIFIED
Ivar S SchemmerAustraliaStephen Shaw UNQUALIFIED
David N FlosiGermanyStephen Shaw NEW
Munro I CampainUnited KingdomElwin Sharvill UNQUALIFIED
Wickens L RutaUnited KingdomIoni Bowcher QUALIFIED
Murillo H VenereUnited KingdomAnna Fali PROPOSAL
Clifford T SchemmerBrazilAsiya Javayant NEW
Morrow R InouyeRussiaOnyama Limba QUALIFIED
Jeanfrancois R SaylorsArgentinaBernardo Dominic RENEWAL
Antonio Z MaletRussiaAsiya Javayant NEW
Stacey P SergiIndiaElwin Sharvill QUALIFIED
Adams R GarufiSpainOnyama Limba PROPOSAL
Tony L BologniaAustraliaAmy Elsner PROPOSAL
Adams W OstroskyAustraliaElwin Sharvill NEW
Kaitlin Z WaycottArgentinaXuxue Feng QUALIFIED
Nicolas E WhobreySpainBernardo Dominic QUALIFIED
Aditya V CampainSpainAnna Fali RENEWAL
Munro P RutaBrazilOnyama Limba QUALIFIED
Nicolas R DoeArgentinaAsiya Javayant NEW
Aditya V KuskoBrazilAmy Elsner NEGOTIATION
James U PaprockiArgentinaIvan Magalhaes NEW
Jones D StockhamArgentinaAnna Fali QUALIFIED
Jennifer A FollerCanadaBernardo Dominic NEGOTIATION
Alejandro J AmigonUnited KingdomAsiya Javayant NEW
Stacey H KolmetzRussiaIoni Bowcher NEGOTIATION
James E KuskoAustraliaAsiya Javayant NEW
Stacey O WhobreyIndiaElwin Sharvill UNQUALIFIED
Clifford F InouyeJapanStephen Shaw NEGOTIATION
Kadeem X SlusarskiItalyXuxue Feng UNQUALIFIED
Alejandro N FerenczSpainOnyama Limba PROPOSAL
Jeanfrancois C GillianArgentinaAmy Elsner QUALIFIED
Tony K GarufiIndiaIoni Bowcher QUALIFIED
Antonio Q GlickArgentinaXuxue Feng UNQUALIFIED
Chavez I WieserArgentinaIoni Bowcher QUALIFIED
Costa S ButtCanadaAmy Elsner PROPOSAL
Silvio G NestleRussiaBernardo Dominic NEGOTIATION
Octavia Y KuskoFranceElwin Sharvill UNQUALIFIED
Darci V WhobreyRussiaStephen Shaw UNQUALIFIED
Antonio L NickaGermanyIoni Bowcher UNQUALIFIED
Aika Q AlbaresSpainAsiya Javayant PROPOSAL
Frozen Columns
Name
Greenwood X Slusarski
Mayumi A Sergi
Rodrigues E Paprocki
Maisha P Figeroa
Misaki K Kusko
Stacey Z Waycott
Aika T Vocelka
James I Stenseth
Izzy U Morasca
Salvatore A Paprocki
Maria B Whobrey
Smith M Sergi
Alejandro V Bowley
Salvatore M Dilliard
Kadeem B Campain
Wickens G Nicka
Smith K Dilliard
Aditya B Wieser
Stacey K Darakjy
Greenwood L Shinko
Jennifer N Flosi
Mayumi O Bowley
David W Royster
Julie G Stockham
Jefferson G Iturbide
Claire M Figeroa
Alejandro S Malet
Aditya Q Slusarski
Antonio I Gillian
Francesco Y Rim
Leja F Foller
Johnson F Malet
Wickens S Wieser
Clifford D Ruta
Nicolas U Vocelka
Jennifer C Caldarera
Nicolas W Morasca
Cody Y Slusarski
Mayumi A Chui
David Q Bowley
Jones O Malet
James Z Morasca
Wickens Z Briddick
Johnson Z Iturbide
Kaitlin I Gaucho
Aruna R Gaucho
James S Shinko
Adams E Sergi
Chavez R Ferencz
David K Malet
IdCountryDate
1000Brazil2024-05-14
1001Japan2024-04-29
1002India2024-05-10
1003Russia2024-05-12
1004France2024-05-09
1005United Kingdom2024-05-17
1006Spain2024-05-24
1007Japan2024-05-10
1008Canada2024-05-22
1009Brazil2024-05-13
1010Australia2024-05-27
1011Argentina2024-05-12
1012Canada2024-05-19
1013Russia2024-05-16
1014Germany2024-05-02
1015United Kingdom2024-05-11
1016Russia2024-05-19
1017Brazil2024-05-01
1018Spain2024-05-01
1019Spain2024-05-25
1020United Kingdom2024-04-29
1021Russia2024-05-14
1022Canada2024-05-14
1023Germany2024-05-05
1024Japan2024-05-13
1025Italy2024-04-30
1026Spain2024-05-12
1027Germany2024-05-03
1028Brazil2024-05-07
1029Canada2024-05-05
1030India2024-05-24
1031Germany2024-05-19
1032Spain2024-05-15
1033Japan2024-05-25
1034United Kingdom2024-05-09
1035Germany2024-05-24
1036Italy2024-05-25
1037Brazil2024-05-16
1038Japan2024-05-20
1039Canada2024-05-22
1040Italy2024-05-03
1041Japan2024-05-01
1042Germany2024-05-01
1043United Kingdom2024-05-11
1044Brazil2024-05-04
1045Germany2024-05-15
1046Japan2024-05-24
1047Italy2024-05-12
1048Canada2024-05-24
1049Russia2024-05-06

On-Demand Data

NameIdCountryDate
Costa V Campain1000India2024-05-23
Tony C Poquette1001Spain2024-05-04
Julie F Inouye1002Germany2024-05-27
Claire M Flosi1003Japan2024-05-03
Juan L Caudy1004Spain2024-05-08
Juan U Doe1005Brazil2024-05-08
Smith D Perin1006Brazil2024-05-19
Aditya M Sergi1007Japan2024-05-03
Kadeem P Dilliard1008France2024-05-08
Sinclair U Caldarera1009Russia2024-05-12
Maria C Glick1010Russia2024-05-10
Faith H Doe1011United Kingdom2024-05-02
Morrow F Nicka1012Japan2024-05-09
Murillo J Ostrosky1013Italy2024-05-17
Darci B Saylors1014Brazil2024-05-08
Chavez G Shinko1015Canada2024-05-25
Aditya P Dilliard1016France2024-05-23
Mujtaba A Briddick1017United Kingdom2024-05-13
Tony L Bowley1018Japan2024-04-30
Mayumi M Albares1019Germany2024-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo X FigeroaAustraliaIoni Bowcher NEGOTIATION
Izzy N BriddickFranceXuxue Feng PROPOSAL
Jones X RoysterItalyIvan Magalhaes NEW
David R IturbideIndiaIoni Bowcher RENEWAL
David F PerinItalyStephen Shaw NEGOTIATION
Adams R ShinkoItalyIoni Bowcher PROPOSAL
Maria H GlickItalyIoni Bowcher PROPOSAL
Maria B OldroydSpainBernardo Dominic PROPOSAL
Juan B MacleadArgentinaOnyama Limba RENEWAL
Francesco E OstroskyUnited KingdomAnna Fali NEGOTIATION
Nicolas P NestleRussiaAmy Elsner RENEWAL
Faith D FollerIndiaAnna Fali NEW
Emily K PerinRussiaOnyama Limba QUALIFIED
Silvio P ShinkoCanadaStephen Shaw PROPOSAL
Faith D DoeRussiaIvan Magalhaes QUALIFIED
Salvatore R GillianFranceElwin Sharvill RENEWAL
Isabel U GillianUnited KingdomOnyama Limba PROPOSAL
Nicolas N VocelkaAustraliaStephen Shaw NEGOTIATION
Kadeem D StensethAustraliaAsiya Javayant RENEWAL
Misaki H SergiBrazilOnyama Limba NEGOTIATION
Ricardo Z OstroskyJapanAsiya Javayant QUALIFIED
Antonio G CampainJapanIoni Bowcher PROPOSAL
Jones D FigeroaBrazilIvan Magalhaes NEGOTIATION
Kaitlin V GlickGermanyAnna Fali PROPOSAL
Sinclair N DoeRussiaStephen Shaw QUALIFIED
Emily Y CaldareraBrazilIoni Bowcher QUALIFIED
Aditya E RoysterArgentinaIvan Magalhaes QUALIFIED
Maria W StensethBrazilXuxue Feng NEW
Jeanfrancois N SergiRussiaOnyama Limba PROPOSAL
Claire U NickaGermanyAsiya Javayant QUALIFIED
Murillo C SchemmerAustraliaIvan Magalhaes QUALIFIED
Julie G KolmetzSpainIoni Bowcher RENEWAL
Tony X WhobreyAustraliaIvan Magalhaes QUALIFIED
Stacey V TollnerArgentinaAmy Elsner PROPOSAL
Rodrigues E MacleadFranceIoni Bowcher NEGOTIATION
Sinclair J CaldareraAustraliaAmy Elsner QUALIFIED
Claire J NickaArgentinaAsiya Javayant RENEWAL
Rodrigues A SchemmerGermanyXuxue Feng PROPOSAL
Clifford Z InouyeGermanyOnyama Limba PROPOSAL
Mayumi X DilliardBrazilIvan Magalhaes 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>