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
Silvio V BriddickCanadaAmy Elsner NEW
Costa O MacleadCanadaXuxue Feng RENEWAL
Octavia J MaletIndiaIvan Magalhaes QUALIFIED
Tony A CaudySpainAnna Fali NEGOTIATION
Leon E AlbaresCanadaXuxue Feng NEGOTIATION
Aika O KolmetzItalyIoni Bowcher NEW
Stacey Y CampainCanadaAsiya Javayant QUALIFIED
Emily C VocelkaGermanyAsiya Javayant UNQUALIFIED
Murillo K SaylorsIndiaAmy Elsner QUALIFIED
Aditya O TollnerSpainBernardo Dominic NEGOTIATION
Jeanfrancois M GarufiItalyElwin Sharvill PROPOSAL
Mayumi Z FigeroaUnited KingdomAmy Elsner NEGOTIATION
Sinclair T GauchoJapanElwin Sharvill QUALIFIED
Mayumi N BologniaArgentinaStephen Shaw RENEWAL
Ashley E PerinCanadaBernardo Dominic NEW
Jennifer U FerenczRussiaIvan Magalhaes QUALIFIED
Rodrigues G FerenczItalyXuxue Feng NEW
Clifford D MacleadIndiaXuxue Feng PROPOSAL
Cody P AlbaresItalyOnyama Limba QUALIFIED
Costa G RoysterUnited KingdomAnna Fali QUALIFIED
Julie G NestleJapanOnyama Limba UNQUALIFIED
Clifford P PoquetteArgentinaAsiya Javayant PROPOSAL
Sinclair L PerinCanadaElwin Sharvill QUALIFIED
Leja B PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Aruna R VocelkaArgentinaAnna Fali NEGOTIATION
Jones R ChuiFranceIvan Magalhaes NEGOTIATION
Salvatore G OstroskyJapanAmy Elsner RENEWAL
Rodrigues B CaudyIndiaStephen Shaw PROPOSAL
Chavez C GarufiUnited KingdomAsiya Javayant NEGOTIATION
Emily M RutaJapanAnna Fali NEW
Kadeem X TollnerArgentinaElwin Sharvill PROPOSAL
Maisha H DarakjySpainAmy Elsner PROPOSAL
Salvatore R IturbideBrazilStephen Shaw RENEWAL
James K SchemmerFranceStephen Shaw NEW
Salvatore Y FigeroaItalyOnyama Limba NEGOTIATION
James V KuskoSpainBernardo Dominic QUALIFIED
Julie J FigeroaFranceAsiya Javayant UNQUALIFIED
Jefferson Z DilliardBrazilStephen Shaw QUALIFIED
Leja E VenereItalyIvan Magalhaes UNQUALIFIED
Johnson H FerenczBrazilXuxue Feng NEW
Maisha J InouyeArgentinaBernardo Dominic RENEWAL
Mujtaba F OstroskyItalyElwin Sharvill NEW
Claire S PaprockiBrazilAmy Elsner QUALIFIED
Stacey V AmigonArgentinaOnyama Limba QUALIFIED
Nicolas W MaletJapanAsiya Javayant RENEWAL
Maria V OstroskyJapanBernardo Dominic QUALIFIED
Claire M DoeJapanXuxue Feng UNQUALIFIED
Izzy B BowleyGermanyOnyama Limba NEW
Greenwood N InouyeRussiaOnyama Limba NEW
Mujtaba T BriddickAustraliaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa M NickaGermanyOnyama Limba NEGOTIATION
Costa T ShinkoFranceXuxue Feng RENEWAL
Murillo R FerenczGermanyAmy Elsner RENEWAL
Emily H WhobreyRussiaAsiya Javayant PROPOSAL
Nicolas N CampainFranceElwin Sharvill NEW
Juan H ChuiArgentinaXuxue Feng NEW
Jones K CaudyRussiaAsiya Javayant QUALIFIED
Clifford A DoeBrazilIvan Magalhaes PROPOSAL
Clifford T ChuiArgentinaOnyama Limba NEW
Rodrigues V MaletRussiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow J VenereCanada2024-06-20King, Christopher A Esq NEGOTIATION87Stephen Shaw
1001David A DarakjyItaly2024-05-26Chemel, James L Cpa QUALIFIED73Elwin Sharvill
1002Maisha Q WieserAustralia2024-06-02Buckley Miller Wright NEW96Elwin Sharvill
1003Ivar Z CaudyAustralia2024-05-23Chemel, James L Cpa RENEWAL41Bernardo Dominic
1004Murillo H IturbideCanada2024-06-21Printing Dimensions UNQUALIFIED6Anna Fali
1005Jennifer K IturbideArgentina2024-06-04Benton, John B Jr UNQUALIFIED73Xuxue Feng
1006Murillo S BologniaSpain2024-05-27Commercial Press RENEWAL37Elwin Sharvill
1007Stacey U FigeroaCanada2024-05-24Commercial Press QUALIFIED29Onyama Limba
1008Ivar V RulapaughItaly2024-06-01Rousseaux, Michael Esq PROPOSAL36Ivan Magalhaes
1009Misaki O ChuiAustralia2024-06-10Commercial Press UNQUALIFIED98Bernardo Dominic
1010Octavia I BowleySpain2024-05-27Commercial Press UNQUALIFIED10Onyama Limba
1011Isabel B MorascaArgentina2024-06-14King, Christopher A Esq NEW64Bernardo Dominic
1012Emily L CaldareraBrazil2024-06-16King, Christopher A Esq PROPOSAL23Stephen Shaw
1013Mujtaba W DilliardJapan2024-05-24Printing Dimensions NEGOTIATION87Asiya Javayant
1014Wickens Y AmigonItaly2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED12Xuxue Feng
1015Faith H VocelkaArgentina2024-06-07Truhlar And Truhlar Attys QUALIFIED6Anna Fali
1016Misaki W FlosiIndia2024-05-31Rangoni Of Florence NEW97Onyama Limba
1017Deepesh Y WhobreyJapan2024-06-07Feiner Bros QUALIFIED31Amy Elsner
1018Octavia O InouyeIndia2024-06-16Feltz Printing Service PROPOSAL24Amy Elsner
1019Ashley V DarakjyFrance2024-05-24Rousseaux, Michael Esq PROPOSAL87Bernardo Dominic
1020Adams W NestleItaly2024-06-01Dorl, James J Esq NEGOTIATION9Ioni Bowcher
1021Leja M FigeroaCanada2024-06-11Dorl, James J Esq RENEWAL70Ioni Bowcher
1022Ashley Z DilliardItaly2024-05-24Chapman, Ross E Esq NEGOTIATION38Onyama Limba
1023Mujtaba C ButtRussia2024-06-14Chanay, Jeffrey A Esq NEW89Asiya Javayant
1024Arvin F NestleSpain2024-06-20Chemel, James L Cpa NEGOTIATION36Anna Fali
1025Tony G WaycottIndia2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED5Asiya Javayant
1026Jeanfrancois L TollnerArgentina2024-06-02King, Christopher A Esq PROPOSAL24Asiya Javayant
1027Jeanfrancois B KolmetzRussia2024-06-16Morlong Associates QUALIFIED79Bernardo Dominic
1028Cody J WieserBrazil2024-05-24Chapman, Ross E Esq QUALIFIED56Xuxue Feng
1029Munro G InouyeUnited Kingdom2024-05-29Commercial Press RENEWAL15Anna Fali
1030Mujtaba C AmigonItaly2024-05-29Buckley Miller Wright NEGOTIATION15Elwin Sharvill
1031Faith K StensethCanada2024-06-06Chanay, Jeffrey A Esq QUALIFIED46Ivan Magalhaes
1032Silvio E NickaSpain2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED19Onyama Limba
1033Leon J OldroydSpain2024-06-06Chemel, James L Cpa RENEWAL30Xuxue Feng
1034Salvatore C SlusarskiRussia2024-06-12Commercial Press NEW22Amy Elsner
1035Faith F RoysterGermany2024-06-05Feltz Printing Service UNQUALIFIED70Onyama Limba
1036Arvin W PaprockiRussia2024-06-17Truhlar And Truhlar Attys UNQUALIFIED63Elwin Sharvill
1037Johnson B MarrierRussia2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED56Elwin Sharvill
1038Claire E VenereUnited Kingdom2024-06-07Morlong Associates UNQUALIFIED3Xuxue Feng
1039Smith H MaletGermany2024-06-14Printing Dimensions PROPOSAL83Ivan Magalhaes
1040Clifford M KolmetzBrazil2024-06-18Truhlar And Truhlar Attys RENEWAL12Ivan Magalhaes
1041Maisha I ButtBrazil2024-05-29Feltz Printing Service UNQUALIFIED84Onyama Limba
1042Salvatore D OldroydGermany2024-06-20Dorl, James J Esq RENEWAL28Stephen Shaw
1043Jones U PerinIndia2024-05-24Rousseaux, Michael Esq RENEWAL75Elwin Sharvill
1044Mayumi U PaprockiGermany2024-06-17Feltz Printing Service NEGOTIATION84Anna Fali
1045Chavez B BowleyFrance2024-06-15Buckley Miller Wright UNQUALIFIED38Onyama Limba
1046Wickens C FlosiItaly2024-06-17Benton, John B Jr UNQUALIFIED56Bernardo Dominic
1047Smith D AmigonFrance2024-06-16Morlong Associates RENEWAL34Ivan Magalhaes
1048Tony H KuskoAustralia2024-05-31Printing Dimensions QUALIFIED89Asiya Javayant
1049Tony F MaletAustralia2024-06-20Rousseaux, Michael Esq PROPOSAL18Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Greenwood Y GarufiUnited KingdomOnyama Limba NEW
Kadeem E SchemmerRussiaStephen Shaw PROPOSAL
Silvio O IturbideCanadaBernardo Dominic RENEWAL
Nicolas B PerinCanadaAsiya Javayant UNQUALIFIED
Maria W PoquetteSpainOnyama Limba NEW
Morrow A NickaCanadaAnna Fali NEGOTIATION
Misaki X ChuiArgentinaOnyama Limba PROPOSAL
Morrow R NickaItalyIvan Magalhaes NEGOTIATION
Octavia D SaylorsJapanIvan Magalhaes RENEWAL
Silvio B ButtJapanIvan Magalhaes NEGOTIATION
Leon G AlbaresItalyXuxue Feng QUALIFIED
Cody K AmigonBrazilOnyama Limba NEW
Wickens R GlickAustraliaStephen Shaw RENEWAL
Mayumi K AlbaresItalyAnna Fali QUALIFIED
David G ChuiGermanyAsiya Javayant NEGOTIATION
Ricardo K WieserJapanAsiya Javayant UNQUALIFIED
Munro K MaletJapanAnna Fali PROPOSAL
Octavia C KuskoBrazilOnyama Limba PROPOSAL
Leja U NickaBrazilStephen Shaw NEGOTIATION
Salvatore Z BologniaRussiaBernardo Dominic UNQUALIFIED
Ivar T TollnerBrazilXuxue Feng UNQUALIFIED
Greenwood G FollerItalyXuxue Feng UNQUALIFIED
Aditya D KuskoCanadaAnna Fali NEGOTIATION
Cody C AmigonUnited KingdomAsiya Javayant NEW
Ivar Y VocelkaGermanyAnna Fali RENEWAL
Mujtaba L InouyeCanadaElwin Sharvill RENEWAL
Mujtaba J DarakjyGermanyElwin Sharvill QUALIFIED
Jefferson O VenereArgentinaOnyama Limba NEGOTIATION
Arvin G GlickBrazilOnyama Limba PROPOSAL
Juan R SergiItalyStephen Shaw QUALIFIED
Cody C DarakjyIndiaAmy Elsner NEW
Alejandro M WaycottItalyBernardo Dominic NEGOTIATION
Alejandro T VenereSpainOnyama Limba PROPOSAL
Alejandro A VocelkaJapanAsiya Javayant UNQUALIFIED
Mayumi D AlbaresArgentinaAnna Fali UNQUALIFIED
Ivar L FigeroaIndiaAsiya Javayant UNQUALIFIED
Chavez J BologniaRussiaBernardo Dominic NEW
Cody Q WaycottCanadaXuxue Feng PROPOSAL
Leon C PaprockiBrazilOnyama Limba NEW
Maria F ShinkoJapanElwin Sharvill QUALIFIED
Johnson P RoysterJapanAmy Elsner PROPOSAL
David H RutaFranceAmy Elsner QUALIFIED
Faith T SlusarskiGermanyAsiya Javayant QUALIFIED
Arvin X KolmetzJapanStephen Shaw QUALIFIED
Rodrigues M OldroydRussiaIvan Magalhaes RENEWAL
Rodrigues K SaylorsRussiaElwin Sharvill QUALIFIED
Aika E GillianJapanXuxue Feng NEGOTIATION
Greenwood U MaletIndiaIoni Bowcher QUALIFIED
Salvatore R RoysterRussiaAsiya Javayant NEW
Ashley Q ButtFranceAmy Elsner NEGOTIATION
Frozen Columns
Name
Jefferson Q Campain
Octavia F Whobrey
Kadeem M Ferencz
Salvatore O Morasca
Izzy N Flosi
Darci B Garufi
Juan S Poquette
Octavia Z Tollner
Chavez G Gillian
Aika V Chui
Octavia G Gaucho
Isabel N Marrier
Tony M Ostrosky
Tony I Nicka
Faith F Waycott
Kaitlin U Whobrey
Maria U Perin
Chavez O Gillian
Aditya P Marrier
Ricardo W Stockham
Jefferson T Saylors
Kadeem K Tollner
Rodrigues G Briddick
Kadeem Z Kolmetz
Antonio U Amigon
Mayumi H Stenseth
Stacey L Doe
Emily W Dilliard
Jennifer F Doe
Maisha I Inouye
Ivar M Flosi
Wickens P Inouye
Ashley U Waycott
Darci F Garufi
Emily P Stockham
Arvin T Tollner
James L Garufi
James Q Venere
Emily B Rim
Izzy U Nestle
Leja N Amigon
Tony S Glick
James D Bolognia
Arvin I Flosi
Francesco X Ruta
Stacey G Shinko
Greenwood U Glick
Julie Y Iturbide
Wickens F Vocelka
Ashley X Vocelka
IdCountryDate
1000Australia2024-06-08
1001Argentina2024-05-26
1002Brazil2024-05-26
1003Japan2024-06-04
1004Germany2024-06-10
1005Spain2024-06-10
1006France2024-05-28
1007Argentina2024-06-13
1008Argentina2024-06-08
1009United Kingdom2024-05-28
1010Germany2024-06-20
1011Russia2024-06-15
1012Russia2024-06-18
1013Australia2024-06-12
1014Japan2024-06-15
1015Germany2024-05-26
1016Spain2024-05-26
1017Japan2024-06-05
1018Canada2024-05-23
1019Brazil2024-05-28
1020Brazil2024-06-16
1021France2024-06-15
1022Canada2024-06-01
1023Germany2024-06-03
1024Russia2024-06-21
1025United Kingdom2024-06-14
1026France2024-05-27
1027Argentina2024-06-13
1028Spain2024-06-10
1029United Kingdom2024-06-15
1030Argentina2024-06-05
1031United Kingdom2024-05-31
1032Germany2024-06-12
1033Spain2024-05-24
1034Australia2024-05-28
1035Russia2024-06-10
1036United Kingdom2024-06-15
1037United Kingdom2024-05-27
1038Russia2024-05-24
1039Russia2024-06-15
1040Argentina2024-05-31
1041Russia2024-06-07
1042Japan2024-06-11
1043Italy2024-06-12
1044Argentina2024-05-25
1045Spain2024-06-03
1046Japan2024-06-06
1047Brazil2024-05-28
1048Canada2024-06-01
1049Germany2024-06-07

On-Demand Data

NameIdCountryDate
Jones F Inouye1000Japan2024-05-23
Jones R Vocelka1001Italy2024-05-26
Kadeem U Rim1002Italy2024-06-06
Isabel H Rim1003Australia2024-06-03
Jeanfrancois U Maclead1004Germany2024-06-17
Maria Q Malet1005India2024-05-25
Leja D Rim1006Argentina2024-06-11
Wickens I Ruta1007Italy2024-06-20
Maisha P Stenseth1008Brazil2024-05-26
Maria C Kolmetz1009Russia2024-06-01
Francesco Y Campain1010Spain2024-06-17
Costa U Gillian1011Canada2024-06-08
Kaitlin D Ostrosky1012India2024-06-12
James C Caudy1013Italy2024-06-02
Juan Q Bowley1014Japan2024-06-07
James H Schemmer1015Brazil2024-06-01
Salvatore W Rim1016Brazil2024-06-09
Costa F Schemmer1017Brazil2024-05-23
Darci R Chui1018United Kingdom2024-05-29
James T Caldarera1019Australia2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo Z NestleIndiaBernardo Dominic PROPOSAL
Clifford M InouyeUnited KingdomIvan Magalhaes PROPOSAL
Cody Z OstroskyBrazilIoni Bowcher UNQUALIFIED
Antonio B RulapaughAustraliaOnyama Limba NEW
Izzy R MaletUnited KingdomBernardo Dominic NEW
Tony M FigeroaJapanStephen Shaw NEGOTIATION
Salvatore D MacleadUnited KingdomBernardo Dominic NEW
Julie K MarrierJapanElwin Sharvill NEW
Jeanfrancois D MaletRussiaStephen Shaw NEGOTIATION
Claire Y CaldareraRussiaAsiya Javayant RENEWAL
Silvio P ButtIndiaStephen Shaw QUALIFIED
Johnson Z FigeroaRussiaAnna Fali NEW
Silvio S DarakjySpainXuxue Feng NEGOTIATION
Arvin K CaldareraRussiaOnyama Limba QUALIFIED
Leja L ButtUnited KingdomAnna Fali RENEWAL
Juan B RoysterAustraliaAnna Fali PROPOSAL
Silvio I FlosiArgentinaAnna Fali PROPOSAL
Francesco S VenereGermanyIvan Magalhaes UNQUALIFIED
Maisha P ButtItalyAmy Elsner RENEWAL
Tony K IturbideAustraliaBernardo Dominic UNQUALIFIED
Ricardo R GillianArgentinaIvan Magalhaes NEGOTIATION
Munro P ButtJapanOnyama Limba RENEWAL
Chavez L SchemmerJapanOnyama Limba NEGOTIATION
Adams R KuskoCanadaStephen Shaw QUALIFIED
Munro M GarufiRussiaOnyama Limba NEW
Aruna X StockhamSpainBernardo Dominic PROPOSAL
Costa G MarrierRussiaElwin Sharvill NEGOTIATION
James Q FerenczItalyIoni Bowcher PROPOSAL
Nicolas F AlbaresAustraliaElwin Sharvill PROPOSAL
Octavia A InouyeRussiaOnyama Limba NEGOTIATION
Deepesh F NestleRussiaAsiya Javayant NEW
Darci K FlosiItalyIvan Magalhaes UNQUALIFIED
Jones T GauchoItalyXuxue Feng UNQUALIFIED
Maria L MaletFranceAnna Fali UNQUALIFIED
Kaitlin D DarakjyArgentinaAsiya Javayant NEGOTIATION
Costa O MarrierAustraliaStephen Shaw NEGOTIATION
Aika B DoeUnited KingdomOnyama Limba RENEWAL
Jefferson D StensethJapanBernardo Dominic NEGOTIATION
Francesco T BologniaIndiaElwin Sharvill UNQUALIFIED
Mayumi Y FerenczJapanIoni Bowcher RENEWAL

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