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
Morrow C CaudyJapanIvan Magalhaes PROPOSAL
Mayumi V TollnerSpainElwin Sharvill UNQUALIFIED
Kadeem H RutaUnited KingdomOnyama Limba QUALIFIED
Jennifer R RulapaughCanadaIvan Magalhaes QUALIFIED
Johnson D StensethRussiaStephen Shaw RENEWAL
Silvio B MaletItalyAnna Fali NEGOTIATION
Mayumi G TollnerUnited KingdomAmy Elsner QUALIFIED
Leon Y CaudyUnited KingdomAmy Elsner NEGOTIATION
Wickens W ButtJapanXuxue Feng PROPOSAL
Claire C ChuiBrazilOnyama Limba RENEWAL
Wickens V AlbaresGermanyAsiya Javayant UNQUALIFIED
Morrow D MorascaIndiaAnna Fali NEW
Maisha K RoysterGermanyIvan Magalhaes UNQUALIFIED
Juan G MacleadSpainAnna Fali NEW
Morrow B WaycottSpainAmy Elsner UNQUALIFIED
Wickens L AmigonItalyIvan Magalhaes RENEWAL
Claire P GauchoRussiaElwin Sharvill NEW
Kadeem Z GarufiItalyXuxue Feng RENEWAL
Francesco I CaudyRussiaIvan Magalhaes NEW
Rodrigues G DarakjyIndiaOnyama Limba NEW
Leon T MaletItalyIoni Bowcher NEW
Nicolas I WaycottCanadaElwin Sharvill NEGOTIATION
Julie W VenereGermanyElwin Sharvill NEGOTIATION
Aika O FollerIndiaIvan Magalhaes UNQUALIFIED
Alejandro N SaylorsArgentinaBernardo Dominic RENEWAL
Munro W InouyeBrazilBernardo Dominic RENEWAL
Ricardo Z CaldareraAustraliaXuxue Feng NEW
Leja O ShinkoGermanyAmy Elsner NEGOTIATION
Izzy M DarakjyRussiaAnna Fali RENEWAL
Silvio X RimBrazilBernardo Dominic RENEWAL
Salvatore D RimRussiaAsiya Javayant RENEWAL
Claire W PoquetteJapanElwin Sharvill UNQUALIFIED
Aika A BologniaAustraliaAmy Elsner RENEWAL
Maria S GarufiRussiaStephen Shaw QUALIFIED
Sinclair I SaylorsFranceBernardo Dominic RENEWAL
Rodrigues O IturbideIndiaOnyama Limba QUALIFIED
David W WhobreyGermanyXuxue Feng NEGOTIATION
James C RulapaughIndiaAmy Elsner RENEWAL
Adams Q StockhamArgentinaAnna Fali RENEWAL
Jones J StensethBrazilIvan Magalhaes PROPOSAL
Morrow Y PerinCanadaElwin Sharvill UNQUALIFIED
Ivar T PerinJapanAnna Fali PROPOSAL
Silvio N BriddickJapanElwin Sharvill RENEWAL
Kadeem N ButtAustraliaIvan Magalhaes PROPOSAL
Aditya P MacleadAustraliaOnyama Limba PROPOSAL
James D DoeArgentinaStephen Shaw RENEWAL
Nicolas L PoquetteUnited KingdomXuxue Feng NEGOTIATION
Munro P MarrierJapanBernardo Dominic PROPOSAL
Clifford P DoeRussiaStephen Shaw QUALIFIED
Ivar Q NickaBrazilOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Misaki M CaudyJapanOnyama Limba QUALIFIED
Salvatore S FollerAustraliaStephen Shaw NEW
James A TollnerRussiaXuxue Feng UNQUALIFIED
Jefferson T ChuiUnited KingdomOnyama Limba RENEWAL
Faith L RutaGermanyOnyama Limba RENEWAL
Chavez Z ChuiArgentinaAmy Elsner NEGOTIATION
Nicolas J IturbideUnited KingdomAnna Fali RENEWAL
Smith Y KuskoGermanyIvan Magalhaes QUALIFIED
Aruna Y VocelkaUnited KingdomIoni Bowcher QUALIFIED
Adams K SlusarskiFranceIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer F ButtJapan2024-05-30Dorl, James J Esq UNQUALIFIED50Stephen Shaw
1001Stacey Q BowleyUnited Kingdom2024-06-11Rousseaux, Michael Esq PROPOSAL25Asiya Javayant
1002Ashley F RulapaughSpain2024-05-29Dorl, James J Esq RENEWAL92Ioni Bowcher
1003Ricardo K NestleAustralia2024-06-16Benton, John B Jr NEW21Ivan Magalhaes
1004Maria W BologniaFrance2024-05-29Rousseaux, Michael Esq NEGOTIATION91Elwin Sharvill
1005Kaitlin M CaudyUnited Kingdom2024-06-23Truhlar And Truhlar Attys RENEWAL73Onyama Limba
1006Isabel M DoeJapan2024-06-03Commercial Press NEW22Bernardo Dominic
1007Kadeem D BologniaItaly2024-06-01Feiner Bros RENEWAL10Onyama Limba
1008Adams R FerenczBrazil2024-06-22Feiner Bros RENEWAL29Amy Elsner
1009Deepesh Q ChuiUnited Kingdom2024-06-04Chemel, James L Cpa NEW27Elwin Sharvill
1010Smith O DilliardItaly2024-06-03King, Christopher A Esq RENEWAL42Xuxue Feng
1011Ricardo M FlosiGermany2024-06-03Benton, John B Jr UNQUALIFIED25Anna Fali
1012Juan X MaletGermany2024-06-20Feltz Printing Service NEGOTIATION67Stephen Shaw
1013Ashley C RutaCanada2024-06-18Truhlar And Truhlar Attys QUALIFIED14Amy Elsner
1014Johnson W PoquetteRussia2024-06-17Printing Dimensions QUALIFIED77Ivan Magalhaes
1015Ricardo H VenereSpain2024-06-20Benton, John B Jr NEW24Onyama Limba
1016Wickens B StensethCanada2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED98Amy Elsner
1017Kaitlin X WieserItaly2024-06-17King, Christopher A Esq PROPOSAL40Amy Elsner
1018Nicolas G FerenczRussia2024-06-03Buckley Miller Wright PROPOSAL53Elwin Sharvill
1019Stacey K CaudyJapan2024-06-08Truhlar And Truhlar Attys NEW44Bernardo Dominic
1020Cody E FlosiJapan2024-06-23Commercial Press NEGOTIATION40Ioni Bowcher
1021Tony C RimAustralia2024-06-13Rangoni Of Florence NEGOTIATION80Bernardo Dominic
1022Jeanfrancois Z WieserFrance2024-05-27Morlong Associates NEGOTIATION20Stephen Shaw
1023Faith I InouyeAustralia2024-06-06Dorl, James J Esq PROPOSAL85Onyama Limba
1024Morrow U WaycottJapan2024-06-15Dorl, James J Esq NEW3Stephen Shaw
1025Misaki G SchemmerFrance2024-06-23Chanay, Jeffrey A Esq UNQUALIFIED89Amy Elsner
1026Juan W RutaRussia2024-06-13King, Christopher A Esq RENEWAL34Bernardo Dominic
1027Claire F BowleySpain2024-06-17Benton, John B Jr PROPOSAL79Bernardo Dominic
1028Aruna W BriddickGermany2024-05-28Truhlar And Truhlar Attys RENEWAL69Stephen Shaw
1029Deepesh D DilliardAustralia2024-06-18Printing Dimensions NEGOTIATION32Bernardo Dominic
1030Antonio R AmigonGermany2024-06-20Feiner Bros QUALIFIED62Asiya Javayant
1031Darci F RutaCanada2024-06-01King, Christopher A Esq NEW97Stephen Shaw
1032Salvatore H IturbideIndia2024-06-21Chapman, Ross E Esq QUALIFIED45Xuxue Feng
1033Maisha V NickaGermany2024-05-26Buckley Miller Wright NEW38Ioni Bowcher
1034Julie J KuskoRussia2024-06-05Chapman, Ross E Esq RENEWAL71Elwin Sharvill
1035Darci W TollnerBrazil2024-06-01Buckley Miller Wright UNQUALIFIED38Elwin Sharvill
1036Mayumi V FigeroaItaly2024-05-30Rousseaux, Michael Esq RENEWAL46Amy Elsner
1037Ashley E KuskoFrance2024-06-20Feiner Bros UNQUALIFIED57Bernardo Dominic
1038Greenwood S GarufiItaly2024-05-29Dorl, James J Esq UNQUALIFIED48Stephen Shaw
1039Morrow H NestleBrazil2024-05-29Chemel, James L Cpa RENEWAL10Elwin Sharvill
1040Adams Z OstroskyIndia2024-06-08Chemel, James L Cpa NEGOTIATION94Xuxue Feng
1041Leon Q FollerArgentina2024-06-19Feiner Bros QUALIFIED93Bernardo Dominic
1042Octavia A FigeroaGermany2024-06-14Printing Dimensions UNQUALIFIED23Ivan Magalhaes
1043Isabel M GlickBrazil2024-06-11Buckley Miller Wright PROPOSAL63Amy Elsner
1044Alejandro K RutaBrazil2024-06-16Dorl, James J Esq UNQUALIFIED94Amy Elsner
1045Stacey J OstroskyArgentina2024-06-14Chapman, Ross E Esq PROPOSAL24Stephen Shaw
1046Adams N DarakjyGermany2024-06-24Truhlar And Truhlar Attys QUALIFIED8Onyama Limba
1047Mayumi K AmigonFrance2024-06-20Truhlar And Truhlar Attys NEGOTIATION53Ivan Magalhaes
1048Mujtaba P FerenczBrazil2024-06-02Rangoni Of Florence QUALIFIED11Elwin Sharvill
1049Leja T VenereUnited Kingdom2024-05-30Rousseaux, Michael Esq PROPOSAL8Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Julie C AmigonGermanyIvan Magalhaes QUALIFIED
Jennifer S FerenczFranceAsiya Javayant QUALIFIED
Claire A WaycottGermanyIvan Magalhaes RENEWAL
Antonio A FigeroaAustraliaElwin Sharvill QUALIFIED
Kaitlin Y WaycottCanadaAnna Fali RENEWAL
Deepesh V FollerArgentinaAsiya Javayant RENEWAL
Alejandro J ShinkoIndiaIoni Bowcher NEW
Silvio W KuskoBrazilElwin Sharvill RENEWAL
Claire G SlusarskiSpainAmy Elsner QUALIFIED
David Y MaletUnited KingdomAnna Fali QUALIFIED
Maria O RimSpainAsiya Javayant RENEWAL
Sinclair D InouyeBrazilElwin Sharvill NEGOTIATION
Ricardo W PaprockiJapanXuxue Feng NEGOTIATION
Aruna J ShinkoRussiaElwin Sharvill QUALIFIED
Chavez P MorascaArgentinaAmy Elsner PROPOSAL
Jones T WieserJapanXuxue Feng QUALIFIED
Jones M VocelkaArgentinaIvan Magalhaes QUALIFIED
Maisha G OldroydBrazilElwin Sharvill NEW
Claire G FerenczArgentinaBernardo Dominic RENEWAL
Wickens A GarufiItalyAsiya Javayant RENEWAL
Clifford L VocelkaRussiaAsiya Javayant NEW
Jones U DarakjyIndiaXuxue Feng RENEWAL
Johnson O BowleyGermanyStephen Shaw NEW
David H BowleyJapanOnyama Limba UNQUALIFIED
Emily T InouyeFranceIoni Bowcher PROPOSAL
Morrow K AmigonIndiaAmy Elsner QUALIFIED
Wickens D MacleadFranceIoni Bowcher UNQUALIFIED
Faith N RoysterUnited KingdomAmy Elsner NEW
Alejandro C ShinkoGermanyBernardo Dominic UNQUALIFIED
Silvio O KuskoJapanElwin Sharvill PROPOSAL
Salvatore C OldroydRussiaOnyama Limba PROPOSAL
Nicolas E DoeCanadaOnyama Limba PROPOSAL
Nicolas M ShinkoJapanBernardo Dominic NEGOTIATION
Chavez C DilliardRussiaXuxue Feng UNQUALIFIED
Nicolas V NickaJapanBernardo Dominic UNQUALIFIED
Sinclair W SaylorsFranceIoni Bowcher RENEWAL
David D MaletArgentinaBernardo Dominic RENEWAL
Claire A SaylorsCanadaXuxue Feng UNQUALIFIED
Jennifer J PoquetteArgentinaAmy Elsner RENEWAL
Isabel O InouyeUnited KingdomIvan Magalhaes NEGOTIATION
Silvio R WaycottBrazilIvan Magalhaes QUALIFIED
Misaki G FigeroaGermanyXuxue Feng QUALIFIED
Costa F StockhamIndiaAmy Elsner UNQUALIFIED
Ashley G RimAustraliaElwin Sharvill NEGOTIATION
Antonio E PoquetteFranceIvan Magalhaes NEW
Cody Y GillianItalyAsiya Javayant NEW
Maria P CaldareraSpainAmy Elsner PROPOSAL
Johnson A BowleyFranceStephen Shaw NEW
Murillo L SlusarskiCanadaAsiya Javayant NEW
Murillo P TollnerIndiaStephen Shaw NEW
Frozen Columns
Name
Maisha O Malet
Emily R Kusko
Leja P Nicka
Johnson B Royster
Faith N Maclead
Ricardo E Paprocki
Wickens C Garufi
Morrow J Whobrey
Isabel C Stockham
James M Amigon
Mayumi L Gillian
Aika Z Kolmetz
Claire R Amigon
Maisha Z Ferencz
Silvio T Sergi
Kaitlin A Perin
Ricardo N Venere
Stacey E Sergi
Juan U Royster
Johnson J Amigon
Jefferson M Schemmer
Jefferson Y Inouye
Kaitlin D Paprocki
Emily R Morasca
Smith H Malet
Sinclair R Bolognia
Misaki C Malet
Silvio H Doe
Leon T Vocelka
Jeanfrancois G Butt
Sinclair J Saylors
Adams A Poquette
Sinclair H Oldroyd
Stacey C Vocelka
Clifford P Venere
Costa P Briddick
Misaki J Gillian
Smith K Garufi
Darci T Saylors
Stacey B Slusarski
Jefferson B Bowley
Leon T Figeroa
Chavez H Gaucho
Salvatore I Morasca
Juan E Amigon
Murillo R Garufi
Ashley P Albares
Faith U Dilliard
Darci L Morasca
Murillo H Saylors
IdCountryDate
1000Brazil2024-06-17
1001Spain2024-06-20
1002Russia2024-06-11
1003Argentina2024-06-14
1004Brazil2024-06-19
1005Italy2024-06-08
1006Argentina2024-06-02
1007Italy2024-06-05
1008Brazil2024-06-23
1009Argentina2024-06-04
1010Canada2024-05-27
1011Argentina2024-06-23
1012Canada2024-06-14
1013Germany2024-06-01
1014Canada2024-06-08
1015Russia2024-06-21
1016Russia2024-06-08
1017Brazil2024-06-21
1018Italy2024-06-24
1019Brazil2024-05-28
1020Germany2024-06-08
1021Japan2024-06-08
1022Canada2024-05-27
1023Russia2024-05-27
1024Brazil2024-06-13
1025Canada2024-05-26
1026Brazil2024-06-18
1027Russia2024-06-20
1028Japan2024-05-31
1029Argentina2024-06-04
1030Australia2024-05-28
1031France2024-05-27
1032Japan2024-06-17
1033Australia2024-06-12
1034Argentina2024-06-13
1035Germany2024-06-21
1036France2024-06-01
1037Japan2024-05-26
1038Spain2024-06-03
1039Japan2024-05-29
1040Italy2024-06-03
1041Brazil2024-06-01
1042Argentina2024-05-29
1043France2024-06-14
1044Italy2024-06-16
1045Germany2024-06-09
1046United Kingdom2024-06-20
1047United Kingdom2024-06-12
1048United Kingdom2024-06-07
1049Spain2024-06-21

On-Demand Data

NameIdCountryDate
Emily F Kolmetz1000Canada2024-05-28
Cody P Paprocki1001Spain2024-06-11
Stacey K Saylors1002Russia2024-06-17
Greenwood Z Kolmetz1003France2024-06-11
Jeanfrancois G Doe1004Germany2024-06-14
Misaki R Paprocki1005Australia2024-06-18
Silvio O Darakjy1006Russia2024-06-09
Kadeem E Campain1007Argentina2024-06-24
Misaki M Morasca1008Argentina2024-06-19
Ivar W Figeroa1009Canada2024-06-11
Cody Z Paprocki1010Germany2024-06-14
Antonio Y Dilliard1011Japan2024-06-13
Maisha W Campain1012Russia2024-06-14
Antonio S Ruta1013Germany2024-05-30
Ricardo U Waycott1014Russia2024-06-11
Leon S Ostrosky1015Brazil2024-06-10
Morrow R Flosi1016Argentina2024-06-15
Mujtaba L Malet1017Japan2024-05-27
Octavia E Nicka1018Brazil2024-06-21
James I Malet1019Italy2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley X PoquetteAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois Z CaldareraIndiaIvan Magalhaes PROPOSAL
Ivar T NickaIndiaAsiya Javayant NEGOTIATION
Smith Q GauchoCanadaAnna Fali QUALIFIED
Stacey D NickaAustraliaStephen Shaw RENEWAL
Kadeem Z SergiArgentinaOnyama Limba PROPOSAL
Isabel Q SaylorsAustraliaElwin Sharvill UNQUALIFIED
Morrow H WaycottSpainElwin Sharvill RENEWAL
Ricardo O GillianIndiaAnna Fali NEW
Claire M ButtCanadaAnna Fali QUALIFIED
Francesco N NestleGermanyStephen Shaw NEGOTIATION
Ricardo Z CampainRussiaXuxue Feng NEGOTIATION
Misaki G AmigonSpainBernardo Dominic RENEWAL
Juan E GarufiFranceStephen Shaw UNQUALIFIED
Francesco Q SergiBrazilIoni Bowcher PROPOSAL
Tony M FollerCanadaBernardo Dominic PROPOSAL
Mayumi S MacleadJapanAmy Elsner NEGOTIATION
Maisha E IturbideAustraliaElwin Sharvill RENEWAL
Ricardo Y OldroydIndiaIvan Magalhaes NEGOTIATION
Kadeem Q RutaBrazilAsiya Javayant RENEWAL
Sinclair S ButtGermanyBernardo Dominic NEGOTIATION
Ricardo P StensethBrazilAnna Fali NEW
Munro N RulapaughGermanyAmy Elsner RENEWAL
Smith W DoeUnited KingdomAsiya Javayant QUALIFIED
Leon V KolmetzGermanyAmy Elsner UNQUALIFIED
Adams H NickaItalyAsiya Javayant PROPOSAL
Clifford F RimSpainBernardo Dominic NEW
Kaitlin W SergiCanadaIvan Magalhaes QUALIFIED
Claire Q WaycottArgentinaBernardo Dominic RENEWAL
Aditya B CampainArgentinaElwin Sharvill PROPOSAL
Chavez F BriddickSpainBernardo Dominic NEGOTIATION
Ivar M WaycottIndiaXuxue Feng UNQUALIFIED
Claire N CaldareraJapanElwin Sharvill NEGOTIATION
Antonio P GauchoRussiaIoni Bowcher PROPOSAL
Johnson Y VenereArgentinaAsiya Javayant NEGOTIATION
Leja V DoeRussiaStephen Shaw PROPOSAL
Leja I MaletItalyElwin Sharvill UNQUALIFIED
Jones Z MarrierArgentinaAsiya Javayant NEW
Jennifer H RimFranceAsiya Javayant UNQUALIFIED
Aika L NickaAustraliaIoni Bowcher 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>