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
David W ButtSpainElwin Sharvill PROPOSAL
Ashley Y DilliardAustraliaAsiya Javayant NEGOTIATION
Aika D OldroydJapanBernardo Dominic NEW
Greenwood A FerenczSpainElwin Sharvill RENEWAL
Leon M WieserCanadaAnna Fali QUALIFIED
Nicolas T ShinkoGermanyStephen Shaw RENEWAL
Faith W StockhamFranceOnyama Limba RENEWAL
Murillo A MacleadAustraliaIoni Bowcher NEGOTIATION
Deepesh M CampainAustraliaElwin Sharvill PROPOSAL
Morrow Y ChuiAustraliaElwin Sharvill NEW
Stacey Z ShinkoCanadaAsiya Javayant PROPOSAL
Isabel J WaycottCanadaAnna Fali UNQUALIFIED
Isabel O VocelkaSpainBernardo Dominic QUALIFIED
Aika W SlusarskiArgentinaIvan Magalhaes QUALIFIED
Chavez K BowleyFranceAmy Elsner PROPOSAL
Jennifer F CampainSpainBernardo Dominic NEW
Claire S WhobreyGermanyXuxue Feng RENEWAL
Claire Z FollerJapanIoni Bowcher PROPOSAL
Mayumi Y StockhamJapanOnyama Limba QUALIFIED
Jones W StockhamFranceStephen Shaw NEGOTIATION
Sinclair T FigeroaCanadaAnna Fali QUALIFIED
Leon E InouyeRussiaXuxue Feng RENEWAL
Stacey H FigeroaRussiaAnna Fali RENEWAL
Greenwood F OldroydUnited KingdomElwin Sharvill UNQUALIFIED
Jones S RutaJapanStephen Shaw QUALIFIED
Smith E WieserSpainAmy Elsner NEW
Aditya D FerenczIndiaIoni Bowcher UNQUALIFIED
Juan Y WaycottIndiaElwin Sharvill UNQUALIFIED
Sinclair F GarufiItalyIvan Magalhaes PROPOSAL
Jones U IturbideIndiaOnyama Limba RENEWAL
Arvin R KuskoJapanStephen Shaw NEGOTIATION
Stacey C GauchoSpainAnna Fali NEGOTIATION
Jennifer I ShinkoRussiaAnna Fali UNQUALIFIED
Smith U ChuiItalyElwin Sharvill RENEWAL
Ashley G OstroskyAustraliaIvan Magalhaes NEW
Costa T PerinFranceXuxue Feng NEW
Faith N PerinAustraliaAnna Fali RENEWAL
Greenwood R DoeFranceAmy Elsner NEGOTIATION
Darci Y MacleadFranceStephen Shaw UNQUALIFIED
Ricardo S DarakjyJapanAnna Fali NEGOTIATION
Cody R NickaJapanBernardo Dominic NEW
Deepesh N PoquetteGermanyAmy Elsner PROPOSAL
Deepesh T RulapaughJapanStephen Shaw QUALIFIED
Greenwood W SlusarskiIndiaOnyama Limba PROPOSAL
Chavez K SchemmerItalyStephen Shaw UNQUALIFIED
James N DoeFranceStephen Shaw RENEWAL
James Y DilliardBrazilOnyama Limba QUALIFIED
Adams U GarufiBrazilElwin Sharvill NEW
Aika J DilliardCanadaIvan Magalhaes PROPOSAL
Ashley V DilliardJapanAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ricardo R ShinkoBrazilElwin Sharvill NEW
Maria K PerinItalyStephen Shaw UNQUALIFIED
Johnson T IturbideItalyAsiya Javayant NEW
Juan K SaylorsBrazilStephen Shaw RENEWAL
Ashley C MacleadArgentinaBernardo Dominic QUALIFIED
Maria F InouyeRussiaAnna Fali NEW
Silvio O ButtFranceElwin Sharvill RENEWAL
Leon K FollerUnited KingdomStephen Shaw UNQUALIFIED
Emily Y AmigonBrazilStephen Shaw PROPOSAL
Silvio B SergiBrazilIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco V ShinkoJapan2024-06-03Morlong Associates UNQUALIFIED49Xuxue Feng
1001Leja D MaletFrance2024-05-30Printing Dimensions QUALIFIED29Asiya Javayant
1002Juan Y RoysterJapan2024-06-01King, Christopher A Esq UNQUALIFIED43Anna Fali
1003Jefferson R MaletItaly2024-05-31Buckley Miller Wright NEGOTIATION19Xuxue Feng
1004Ivar B ButtCanada2024-06-17Printing Dimensions PROPOSAL73Onyama Limba
1005Costa X GlickSpain2024-06-17Chapman, Ross E Esq QUALIFIED29Amy Elsner
1006Greenwood D AmigonRussia2024-06-13Dorl, James J Esq NEGOTIATION98Anna Fali
1007Emily W MaletRussia2024-05-31Commercial Press RENEWAL74Elwin Sharvill
1008Murillo Z MacleadSpain2024-06-13Feltz Printing Service RENEWAL86Stephen Shaw
1009Cody R DoeFrance2024-06-02Chapman, Ross E Esq NEGOTIATION13Elwin Sharvill
1010Jones M InouyeIndia2024-06-08Chapman, Ross E Esq PROPOSAL11Amy Elsner
1011Darci O MorascaArgentina2024-06-13Feltz Printing Service RENEWAL25Asiya Javayant
1012Chavez W PerinSpain2024-06-10Feiner Bros UNQUALIFIED34Onyama Limba
1013Ricardo E BowleyIndia2024-06-12Chanay, Jeffrey A Esq NEW48Bernardo Dominic
1014Claire Q NestleBrazil2024-06-07Feiner Bros NEW2Stephen Shaw
1015Salvatore V FigeroaRussia2024-06-12Chanay, Jeffrey A Esq QUALIFIED67Ivan Magalhaes
1016Murillo R ShinkoCanada2024-05-28Printing Dimensions NEW87Onyama Limba
1017Stacey J AmigonCanada2024-06-07Benton, John B Jr NEGOTIATION50Xuxue Feng
1018Claire R FlosiArgentina2024-06-08Rousseaux, Michael Esq PROPOSAL25Asiya Javayant
1019Francesco X KolmetzGermany2024-06-24Morlong Associates UNQUALIFIED84Ioni Bowcher
1020Octavia R RutaArgentina2024-06-02Printing Dimensions UNQUALIFIED49Ivan Magalhaes
1021Juan C FollerGermany2024-06-03Rangoni Of Florence NEGOTIATION98Ivan Magalhaes
1022Emily U TollnerRussia2024-06-14Feltz Printing Service RENEWAL22Bernardo Dominic
1023Claire N GauchoIndia2024-06-11Printing Dimensions NEGOTIATION47Amy Elsner
1024Murillo J AmigonFrance2024-05-28Buckley Miller Wright NEGOTIATION31Asiya Javayant
1025Isabel Q VocelkaArgentina2024-06-15Truhlar And Truhlar Attys RENEWAL68Asiya Javayant
1026Nicolas E ButtGermany2024-05-27King, Christopher A Esq UNQUALIFIED87Xuxue Feng
1027Jones A RulapaughItaly2024-06-17Buckley Miller Wright UNQUALIFIED58Xuxue Feng
1028Juan A BriddickUnited Kingdom2024-05-28Feiner Bros QUALIFIED83Amy Elsner
1029Tony I MacleadSpain2024-06-07Chanay, Jeffrey A Esq NEGOTIATION47Elwin Sharvill
1030Octavia F AlbaresAustralia2024-06-08Feltz Printing Service RENEWAL54Amy Elsner
1031Misaki B SlusarskiGermany2024-06-02Feltz Printing Service QUALIFIED86Ivan Magalhaes
1032Darci T DilliardCanada2024-05-31Chemel, James L Cpa NEGOTIATION8Ivan Magalhaes
1033Maria S AlbaresIndia2024-06-09Morlong Associates NEW35Stephen Shaw
1034Antonio D SchemmerArgentina2024-06-11Chemel, James L Cpa RENEWAL5Ioni Bowcher
1035Maisha K GillianJapan2024-06-15Feltz Printing Service UNQUALIFIED14Ioni Bowcher
1036Jones F VenereJapan2024-06-04Dorl, James J Esq NEGOTIATION17Ivan Magalhaes
1037Jeanfrancois V KolmetzGermany2024-06-18Truhlar And Truhlar Attys QUALIFIED26Ioni Bowcher
1038Aditya U OldroydCanada2024-06-01Rangoni Of Florence RENEWAL0Bernardo Dominic
1039Aika H StockhamJapan2024-06-14Feiner Bros PROPOSAL80Ioni Bowcher
1040Stacey A OstroskyFrance2024-05-27Chapman, Ross E Esq QUALIFIED54Stephen Shaw
1041Faith Q OstroskyArgentina2024-06-06King, Christopher A Esq PROPOSAL66Stephen Shaw
1042Octavia O FollerJapan2024-06-04Printing Dimensions NEGOTIATION54Onyama Limba
1043Johnson X MacleadCanada2024-06-06Dorl, James J Esq NEGOTIATION62Onyama Limba
1044Jennifer U AmigonSpain2024-06-14Chemel, James L Cpa PROPOSAL84Stephen Shaw
1045Jeanfrancois V FerenczBrazil2024-06-20Rousseaux, Michael Esq QUALIFIED88Amy Elsner
1046Isabel M PoquetteArgentina2024-06-20Truhlar And Truhlar Attys RENEWAL25Amy Elsner
1047Jefferson B FollerSpain2024-06-06King, Christopher A Esq QUALIFIED91Onyama Limba
1048Aika O WieserArgentina2024-06-07Printing Dimensions RENEWAL57Anna Fali
1049Adams J WaycottUnited Kingdom2024-06-21King, Christopher A Esq NEGOTIATION66Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Chavez P DarakjyItalyStephen Shaw PROPOSAL
Maisha Z KolmetzAustraliaAsiya Javayant QUALIFIED
Faith C RutaBrazilOnyama Limba QUALIFIED
Misaki K CampainIndiaElwin Sharvill PROPOSAL
Leja D PaprockiSpainXuxue Feng PROPOSAL
Leja I AlbaresIndiaStephen Shaw PROPOSAL
Kaitlin M NestleAustraliaAsiya Javayant NEW
Adams J NickaCanadaStephen Shaw NEGOTIATION
Rodrigues T GillianRussiaAnna Fali UNQUALIFIED
Antonio K InouyeGermanyElwin Sharvill NEGOTIATION
Isabel C CampainBrazilIvan Magalhaes UNQUALIFIED
Ashley A RimArgentinaElwin Sharvill QUALIFIED
Claire W RulapaughSpainAnna Fali QUALIFIED
Claire L RoysterArgentinaAsiya Javayant NEGOTIATION
James B SergiFranceAmy Elsner NEGOTIATION
Chavez O KuskoIndiaOnyama Limba UNQUALIFIED
Munro K FigeroaJapanOnyama Limba PROPOSAL
Greenwood E SaylorsFranceIvan Magalhaes NEGOTIATION
Maisha U RimJapanIoni Bowcher PROPOSAL
Ivar F GauchoCanadaXuxue Feng QUALIFIED
Ashley Q WaycottIndiaBernardo Dominic PROPOSAL
Deepesh T DarakjyFranceIvan Magalhaes QUALIFIED
Cody A PerinUnited KingdomOnyama Limba UNQUALIFIED
Wickens Q SaylorsArgentinaStephen Shaw PROPOSAL
Salvatore P FerenczRussiaStephen Shaw NEGOTIATION
Alejandro L CampainGermanyXuxue Feng PROPOSAL
Leon B KolmetzAustraliaOnyama Limba NEGOTIATION
Murillo M RulapaughRussiaOnyama Limba NEW
Aruna H SaylorsFranceAmy Elsner RENEWAL
Aruna M GlickBrazilXuxue Feng NEW
Smith U KolmetzBrazilStephen Shaw PROPOSAL
Faith Z SchemmerJapanBernardo Dominic QUALIFIED
Johnson Y StockhamArgentinaAsiya Javayant PROPOSAL
Emily Z StockhamAustraliaIvan Magalhaes UNQUALIFIED
David S GauchoIndiaIoni Bowcher RENEWAL
Sinclair X DarakjyGermanyStephen Shaw NEW
Leja V GlickItalyAmy Elsner QUALIFIED
Leon L GarufiSpainStephen Shaw QUALIFIED
Maisha I WieserAustraliaAnna Fali RENEWAL
Murillo Z FlosiAustraliaElwin Sharvill PROPOSAL
Costa D PoquetteRussiaIvan Magalhaes NEGOTIATION
Claire A WaycottBrazilStephen Shaw RENEWAL
Cody E CampainSpainAmy Elsner RENEWAL
Salvatore N FollerAustraliaAnna Fali NEW
Alejandro Q FlosiCanadaXuxue Feng UNQUALIFIED
Deepesh U OldroydJapanIoni Bowcher UNQUALIFIED
Kadeem M FollerSpainIvan Magalhaes NEGOTIATION
Kaitlin P ChuiArgentinaAsiya Javayant NEGOTIATION
Leon Q GillianArgentinaAnna Fali UNQUALIFIED
Silvio K MarrierSpainIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Antonio X Oldroyd
Costa Z Flosi
Nicolas J Malet
Julie Y Kusko
Aruna O Maclead
Salvatore I Ferencz
Ashley H Sergi
Kaitlin R Morasca
Isabel X Sergi
Izzy B Royster
Clifford Z Foller
Ricardo D Shinko
Ashley K Saylors
Aditya C Oldroyd
Arvin J Marrier
Ivar G Amigon
Emily J Stenseth
Cody U Wieser
Jones K Glick
Chavez Y Venere
Leon B Shinko
Silvio O Foller
Jeanfrancois C Slusarski
Costa E Amigon
Emily U Malet
Tony S Stockham
Morrow V Figeroa
Salvatore B Wieser
Munro J Poquette
Jennifer B Foller
Aditya M Doe
Faith X Sergi
Izzy O Perin
Mayumi A Glick
Julie W Flosi
Izzy L Slusarski
Misaki D Malet
Emily W Stockham
Kadeem K Butt
Leon N Poquette
Kaitlin D Sergi
Leja W Morasca
Kadeem J Figeroa
Francesco X Sergi
Maria X Foller
Murillo X Briddick
Mayumi B Bowley
Murillo F Morasca
Izzy H Glick
Mayumi F Ruta
IdCountryDate
1000France2024-06-11
1001Spain2024-06-10
1002United Kingdom2024-06-01
1003France2024-06-09
1004India2024-06-05
1005France2024-05-26
1006Italy2024-06-17
1007India2024-06-18
1008Canada2024-05-30
1009Australia2024-06-12
1010Argentina2024-06-07
1011United Kingdom2024-05-29
1012India2024-05-26
1013Spain2024-06-18
1014India2024-05-31
1015Argentina2024-06-21
1016Russia2024-05-26
1017France2024-06-06
1018Italy2024-06-12
1019Russia2024-05-31
1020Italy2024-06-12
1021Spain2024-05-31
1022France2024-05-31
1023Spain2024-06-17
1024Spain2024-06-22
1025Italy2024-05-26
1026United Kingdom2024-06-01
1027Canada2024-05-29
1028India2024-06-11
1029Brazil2024-06-19
1030Japan2024-05-26
1031Germany2024-06-20
1032Spain2024-05-26
1033Germany2024-06-09
1034Russia2024-05-28
1035United Kingdom2024-05-31
1036Australia2024-06-02
1037Spain2024-06-04
1038Italy2024-06-11
1039Brazil2024-06-11
1040Italy2024-06-07
1041Japan2024-05-28
1042India2024-06-23
1043Argentina2024-06-02
1044France2024-06-03
1045Spain2024-06-20
1046Canada2024-06-24
1047Russia2024-06-17
1048Argentina2024-05-31
1049Argentina2024-06-13

On-Demand Data

NameIdCountryDate
Misaki U Nestle1000Australia2024-06-09
Izzy N Darakjy1001France2024-06-06
Antonio U Chui1002Spain2024-06-14
Ivar X Inouye1003Germany2024-06-11
Adams B Dilliard1004Australia2024-05-26
Stacey M Flosi1005United Kingdom2024-06-02
Arvin P Morasca1006Russia2024-06-16
James P Gaucho1007Canada2024-06-17
Claire F Kolmetz1008Argentina2024-06-01
Smith V Poquette1009Russia2024-06-06
Rodrigues R Butt1010Japan2024-05-27
Darci Z Malet1011Italy2024-06-07
Jefferson Q Butt1012Russia2024-06-16
Izzy S Campain1013Argentina2024-06-01
David K Briddick1014Canada2024-06-17
Murillo U Iturbide1015Italy2024-06-03
Misaki Q Flosi1016France2024-06-20
Wickens Z Chui1017United Kingdom2024-06-14
Jones U Perin1018Brazil2024-06-07
Isabel Q Inouye1019Brazil2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia Y MarrierCanadaAnna Fali NEGOTIATION
Isabel Y TollnerAustraliaOnyama Limba QUALIFIED
Arvin W MaletAustraliaStephen Shaw NEGOTIATION
Mujtaba Q PerinFranceIvan Magalhaes QUALIFIED
Munro M PoquetteFranceElwin Sharvill RENEWAL
Nicolas Y TollnerRussiaXuxue Feng RENEWAL
Emily N SchemmerRussiaXuxue Feng QUALIFIED
Deepesh R FerenczUnited KingdomStephen Shaw NEGOTIATION
Claire K VenereCanadaBernardo Dominic RENEWAL
Ivar W GillianIndiaStephen Shaw NEGOTIATION
Adams P ButtSpainAmy Elsner NEW
Murillo K OldroydGermanyAmy Elsner RENEWAL
Tony S FigeroaAustraliaAmy Elsner RENEWAL
Juan Y BowleyItalyIoni Bowcher PROPOSAL
Isabel G WhobreyBrazilElwin Sharvill RENEWAL
Tony J BowleyRussiaAsiya Javayant UNQUALIFIED
Mujtaba D DilliardJapanBernardo Dominic PROPOSAL
Deepesh N DarakjyCanadaElwin Sharvill UNQUALIFIED
Maisha F PaprockiAustraliaAnna Fali UNQUALIFIED
Darci A OstroskyArgentinaBernardo Dominic NEGOTIATION
Greenwood A GarufiGermanyIvan Magalhaes UNQUALIFIED
Tony P MacleadAustraliaElwin Sharvill NEGOTIATION
Claire T SaylorsIndiaElwin Sharvill NEGOTIATION
Aditya M VocelkaGermanyAmy Elsner UNQUALIFIED
Francesco C PerinAustraliaStephen Shaw QUALIFIED
Kaitlin E FollerGermanyOnyama Limba UNQUALIFIED
Wickens M PoquetteFranceAmy Elsner RENEWAL
Nicolas C CaldareraIndiaIvan Magalhaes QUALIFIED
Sinclair W TollnerAustraliaElwin Sharvill NEW
Adams P DarakjyIndiaXuxue Feng UNQUALIFIED
Murillo M MorascaAustraliaIvan Magalhaes UNQUALIFIED
Clifford T SlusarskiCanadaAsiya Javayant NEGOTIATION
Alejandro G VocelkaGermanyAsiya Javayant PROPOSAL
Clifford C OstroskyFranceAmy Elsner NEGOTIATION
Smith D TollnerFranceAmy Elsner UNQUALIFIED
Salvatore K KolmetzGermanyOnyama Limba RENEWAL
Darci D MacleadAustraliaElwin Sharvill NEGOTIATION
Francesco N WaycottRussiaStephen Shaw PROPOSAL
Jones O GillianBrazilBernardo Dominic PROPOSAL
Emily W FigeroaFranceElwin Sharvill NEGOTIATION

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