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
Costa A AlbaresBrazilAnna Fali QUALIFIED
Chavez F VocelkaAustraliaIvan Magalhaes QUALIFIED
Murillo N PoquetteUnited KingdomIoni Bowcher PROPOSAL
Sinclair Q MaletCanadaIoni Bowcher RENEWAL
Clifford J CaudyUnited KingdomAsiya Javayant NEW
Silvio M IturbideBrazilIoni Bowcher RENEWAL
Faith O PerinSpainElwin Sharvill NEGOTIATION
James D NickaAustraliaIvan Magalhaes NEW
Murillo J InouyeBrazilAmy Elsner NEGOTIATION
Emily S StockhamFranceOnyama Limba QUALIFIED
Leja Y SlusarskiArgentinaXuxue Feng QUALIFIED
Cody C StensethCanadaXuxue Feng RENEWAL
Smith D ShinkoItalyXuxue Feng QUALIFIED
Clifford H ChuiUnited KingdomOnyama Limba PROPOSAL
Mayumi B PaprockiJapanXuxue Feng NEGOTIATION
Rodrigues S FigeroaFranceAsiya Javayant UNQUALIFIED
Johnson S FlosiArgentinaIoni Bowcher NEGOTIATION
Murillo E ButtArgentinaElwin Sharvill RENEWAL
Rodrigues V ChuiItalyAsiya Javayant RENEWAL
Aika A PerinArgentinaOnyama Limba NEGOTIATION
Sinclair F PoquetteGermanyOnyama Limba RENEWAL
Salvatore X ShinkoGermanyXuxue Feng RENEWAL
Mayumi G PaprockiItalyIvan Magalhaes RENEWAL
Stacey R SergiUnited KingdomElwin Sharvill UNQUALIFIED
Isabel B RulapaughBrazilStephen Shaw NEW
Munro Q AlbaresAustraliaAmy Elsner PROPOSAL
Aditya G RutaCanadaAnna Fali PROPOSAL
Aruna P RoysterIndiaIoni Bowcher NEGOTIATION
Adams O VocelkaSpainIoni Bowcher PROPOSAL
Emily K WhobreySpainAsiya Javayant QUALIFIED
Deepesh L MorascaCanadaIoni Bowcher QUALIFIED
Antonio D RutaBrazilXuxue Feng PROPOSAL
Munro M SergiJapanXuxue Feng NEGOTIATION
Morrow S OstroskyBrazilStephen Shaw PROPOSAL
Smith F KolmetzJapanAmy Elsner RENEWAL
Mayumi F CampainArgentinaStephen Shaw UNQUALIFIED
David T RimGermanyElwin Sharvill NEW
Kadeem N GauchoUnited KingdomXuxue Feng NEW
Kaitlin J KuskoUnited KingdomStephen Shaw QUALIFIED
Cody K GauchoSpainElwin Sharvill PROPOSAL
Maisha J StensethBrazilXuxue Feng UNQUALIFIED
Ivar W StensethBrazilElwin Sharvill UNQUALIFIED
Deepesh X GauchoGermanyAsiya Javayant RENEWAL
Jefferson G MarrierItalyAmy Elsner NEW
Mujtaba C GlickAustraliaAnna Fali NEW
Clifford N FlosiIndiaStephen Shaw PROPOSAL
Emily N FlosiItalyAnna Fali QUALIFIED
David A GlickItalyOnyama Limba NEGOTIATION
Juan K OstroskyItalyBernardo Dominic NEGOTIATION
Munro I MaletJapanAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Murillo U VocelkaUnited KingdomIoni Bowcher RENEWAL
David V ChuiSpainIvan Magalhaes QUALIFIED
Juan M PaprockiUnited KingdomIoni Bowcher NEW
Leja K NestleCanadaOnyama Limba RENEWAL
Kadeem X BriddickFranceXuxue Feng NEW
Kadeem N ShinkoJapanOnyama Limba NEGOTIATION
Deepesh C DarakjyIndiaXuxue Feng RENEWAL
Kadeem U StensethFranceAmy Elsner NEGOTIATION
Morrow V RulapaughRussiaElwin Sharvill UNQUALIFIED
Wickens E CaudyItalyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones Z CaldareraJapan2024-05-21Benton, John B Jr RENEWAL90Asiya Javayant
1001Murillo Z IturbideFrance2024-05-20Chemel, James L Cpa PROPOSAL92Ioni Bowcher
1002Misaki M CampainItaly2024-05-25Benton, John B Jr NEGOTIATION16Asiya Javayant
1003Silvio D FlosiIndia2024-05-25Rangoni Of Florence NEGOTIATION47Bernardo Dominic
1004Izzy E KolmetzSpain2024-05-27Rousseaux, Michael Esq PROPOSAL85Bernardo Dominic
1005Tony O WaycottFrance2024-05-30Commercial Press NEW76Xuxue Feng
1006Antonio B RoysterSpain2024-05-21Buckley Miller Wright NEW4Onyama Limba
1007Sinclair N GarufiSpain2024-05-28Truhlar And Truhlar Attys NEGOTIATION62Onyama Limba
1008Morrow O ChuiFrance2024-06-07Rousseaux, Michael Esq UNQUALIFIED83Ivan Magalhaes
1009Mayumi M RimUnited Kingdom2024-06-09Chemel, James L Cpa NEGOTIATION63Bernardo Dominic
1010Maria I OldroydBrazil2024-05-15Morlong Associates NEW25Stephen Shaw
1011Ivar F GillianUnited Kingdom2024-06-10Morlong Associates PROPOSAL80Bernardo Dominic
1012Sinclair B MaletRussia2024-05-17Morlong Associates RENEWAL40Elwin Sharvill
1013Jeanfrancois F AmigonArgentina2024-05-21Printing Dimensions RENEWAL12Stephen Shaw
1014Chavez T BologniaArgentina2024-06-08Truhlar And Truhlar Attys PROPOSAL16Elwin Sharvill
1015Nicolas N NickaSpain2024-05-18King, Christopher A Esq NEGOTIATION3Ioni Bowcher
1016Francesco Z StensethFrance2024-05-28Buckley Miller Wright NEGOTIATION28Stephen Shaw
1017Aditya C GillianCanada2024-06-09Chapman, Ross E Esq UNQUALIFIED38Elwin Sharvill
1018Murillo T VocelkaGermany2024-06-03Rousseaux, Michael Esq QUALIFIED53Anna Fali
1019Stacey E VenereJapan2024-05-29Commercial Press QUALIFIED35Stephen Shaw
1020Murillo G MaletItaly2024-06-03Feiner Bros NEGOTIATION13Ivan Magalhaes
1021Jefferson L StockhamGermany2024-05-20Rangoni Of Florence QUALIFIED61Bernardo Dominic
1022Jeanfrancois R AlbaresRussia2024-06-02Benton, John B Jr NEGOTIATION27Ivan Magalhaes
1023Misaki P RimFrance2024-05-22Rousseaux, Michael Esq NEGOTIATION54Asiya Javayant
1024Ashley Q OldroydSpain2024-05-19Buckley Miller Wright NEW75Ivan Magalhaes
1025Francesco U FigeroaFrance2024-06-02Buckley Miller Wright PROPOSAL85Elwin Sharvill
1026Jennifer U GillianCanada2024-05-20Chanay, Jeffrey A Esq NEGOTIATION50Anna Fali
1027Wickens N VocelkaGermany2024-06-09Truhlar And Truhlar Attys UNQUALIFIED88Amy Elsner
1028Murillo M FollerUnited Kingdom2024-05-15Feltz Printing Service NEW91Onyama Limba
1029Rodrigues H StensethGermany2024-05-25Chanay, Jeffrey A Esq NEGOTIATION56Ivan Magalhaes
1030Salvatore X ChuiAustralia2024-05-18King, Christopher A Esq QUALIFIED11Ivan Magalhaes
1031Aditya A GarufiArgentina2024-06-01Dorl, James J Esq NEGOTIATION34Onyama Limba
1032Julie O KuskoJapan2024-06-10Feiner Bros NEW85Stephen Shaw
1033Adams L KolmetzBrazil2024-06-13Rangoni Of Florence NEGOTIATION39Stephen Shaw
1034Sinclair P RutaCanada2024-06-12Feltz Printing Service RENEWAL15Xuxue Feng
1035Kaitlin M ShinkoArgentina2024-06-12Chanay, Jeffrey A Esq QUALIFIED90Stephen Shaw
1036Murillo F KolmetzAustralia2024-06-05Morlong Associates RENEWAL25Ioni Bowcher
1037Jennifer I WieserItaly2024-06-02Rangoni Of Florence NEW31Asiya Javayant
1038Chavez P SaylorsBrazil2024-05-27Commercial Press PROPOSAL74Anna Fali
1039Johnson G FlosiIndia2024-06-08Buckley Miller Wright NEGOTIATION75Ioni Bowcher
1040Cody Q DoeArgentina2024-05-19Feltz Printing Service NEW25Stephen Shaw
1041Leon M CampainIndia2024-05-19Commercial Press UNQUALIFIED97Elwin Sharvill
1042Arvin L SergiJapan2024-05-28Chemel, James L Cpa UNQUALIFIED33Xuxue Feng
1043Maisha M MaletRussia2024-05-30Chemel, James L Cpa NEGOTIATION2Ioni Bowcher
1044Jefferson H NickaRussia2024-06-10Dorl, James J Esq NEGOTIATION91Xuxue Feng
1045Octavia Q BologniaIndia2024-06-13Chanay, Jeffrey A Esq NEW35Amy Elsner
1046Mayumi F MarrierRussia2024-05-15Chapman, Ross E Esq NEGOTIATION80Elwin Sharvill
1047Silvio P StockhamArgentina2024-05-26Commercial Press UNQUALIFIED77Elwin Sharvill
1048Jennifer Y PaprockiFrance2024-06-06Printing Dimensions RENEWAL40Xuxue Feng
1049Kaitlin H StensethAustralia2024-05-24Commercial Press PROPOSAL92Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Cody Y OstroskyBrazilIvan Magalhaes UNQUALIFIED
Jeanfrancois E StensethItalyBernardo Dominic RENEWAL
Isabel H NestleIndiaElwin Sharvill RENEWAL
Kaitlin K StensethSpainOnyama Limba RENEWAL
Munro W DoeCanadaBernardo Dominic NEW
Ashley N DoeRussiaElwin Sharvill QUALIFIED
Munro Q MaletCanadaBernardo Dominic NEGOTIATION
Johnson D GauchoBrazilBernardo Dominic NEW
Sinclair D RoysterUnited KingdomXuxue Feng PROPOSAL
Izzy U AlbaresIndiaIvan Magalhaes QUALIFIED
Julie A PerinArgentinaIoni Bowcher RENEWAL
Antonio F ButtGermanyBernardo Dominic QUALIFIED
Stacey E PerinUnited KingdomOnyama Limba NEGOTIATION
Faith G WieserCanadaAmy Elsner QUALIFIED
Deepesh G MarrierBrazilBernardo Dominic NEW
Adams Q SchemmerUnited KingdomAsiya Javayant RENEWAL
Faith X BowleyRussiaOnyama Limba QUALIFIED
Silvio Q VenereCanadaAsiya Javayant UNQUALIFIED
Jennifer Q SlusarskiIndiaAnna Fali RENEWAL
Chavez R RoysterRussiaIvan Magalhaes PROPOSAL
Wickens S PaprockiSpainOnyama Limba UNQUALIFIED
Claire K DarakjyAustraliaAmy Elsner RENEWAL
Izzy T KuskoIndiaBernardo Dominic QUALIFIED
Cody A BowleyItalyOnyama Limba RENEWAL
Faith Z CaldareraAustraliaXuxue Feng NEW
Aika R GarufiArgentinaIoni Bowcher UNQUALIFIED
Maria U RimIndiaAnna Fali RENEWAL
Leon V PaprockiUnited KingdomBernardo Dominic RENEWAL
Mayumi Q RimArgentinaAsiya Javayant NEGOTIATION
Smith H MorascaBrazilElwin Sharvill PROPOSAL
Nicolas Q NestleFranceIoni Bowcher PROPOSAL
James Y CampainItalyAsiya Javayant QUALIFIED
Clifford K MaletAustraliaStephen Shaw NEGOTIATION
Alejandro S WaycottUnited KingdomBernardo Dominic PROPOSAL
Wickens N SergiRussiaAsiya Javayant RENEWAL
Claire K VenereRussiaOnyama Limba RENEWAL
Chavez V MarrierIndiaIoni Bowcher QUALIFIED
Smith I GlickItalyIvan Magalhaes NEW
Munro N VocelkaRussiaBernardo Dominic PROPOSAL
Darci G FollerSpainStephen Shaw QUALIFIED
Mayumi Z NestleAustraliaAsiya Javayant NEW
Aditya Q VocelkaCanadaStephen Shaw UNQUALIFIED
Murillo Y CampainGermanyElwin Sharvill QUALIFIED
Octavia L BowleyGermanyIoni Bowcher UNQUALIFIED
Nicolas Z MorascaRussiaAnna Fali RENEWAL
Clifford L AmigonJapanAsiya Javayant UNQUALIFIED
Antonio A MacleadIndiaAmy Elsner PROPOSAL
Greenwood Z MorascaFranceIvan Magalhaes NEW
Claire R KolmetzFranceAmy Elsner UNQUALIFIED
Kadeem R MarrierRussiaAnna Fali RENEWAL
Frozen Columns
Name
Darci J Vocelka
Silvio V Stockham
David D Vocelka
Ivar Y Vocelka
Ashley B Foller
Maria X Garufi
Deepesh B Albares
Claire K Amigon
Aditya Q Oldroyd
Kadeem Q Sergi
Alejandro T Flosi
Francesco D Garufi
Mujtaba G Whobrey
Aditya Z Briddick
Darci U Marrier
Julie L Malet
Stacey U Malet
Mayumi Q Figeroa
Leja E Slusarski
Maisha V Schemmer
Jones Q Bolognia
Octavia V Vocelka
Emily O Rulapaugh
Juan N Tollner
Rodrigues J Rim
Morrow W Campain
Kadeem X Caldarera
Rodrigues M Kolmetz
Salvatore W Chui
Smith W Doe
Juan E Royster
Smith W Paprocki
Sinclair N Sergi
Alejandro S Briddick
Emily R Ruta
Sinclair A Dilliard
Maria X Wieser
Silvio I Bowley
Tony I Vocelka
Mujtaba G Chui
Ashley O Whobrey
Clifford T Caldarera
Mujtaba D Marrier
Kaitlin W Dilliard
Stacey R Royster
Smith G Shinko
Francesco C Garufi
Jennifer I Nicka
Stacey O Amigon
Faith N Amigon
IdCountryDate
1000Spain2024-06-12
1001Germany2024-06-01
1002Germany2024-05-15
1003Spain2024-06-13
1004Spain2024-06-11
1005Canada2024-06-02
1006Brazil2024-05-30
1007Australia2024-05-24
1008India2024-06-03
1009United Kingdom2024-05-15
1010Italy2024-05-27
1011France2024-05-25
1012France2024-06-07
1013Spain2024-05-20
1014France2024-05-26
1015Argentina2024-05-26
1016Australia2024-05-24
1017France2024-05-26
1018Italy2024-05-28
1019Russia2024-05-16
1020Japan2024-05-17
1021United Kingdom2024-05-15
1022Russia2024-05-20
1023Japan2024-05-18
1024United Kingdom2024-05-18
1025Japan2024-05-21
1026Italy2024-05-17
1027Brazil2024-06-12
1028Australia2024-06-08
1029Germany2024-06-13
1030Spain2024-05-15
1031Canada2024-05-24
1032Japan2024-05-23
1033France2024-05-17
1034France2024-05-19
1035Japan2024-06-05
1036Brazil2024-06-06
1037France2024-06-09
1038Japan2024-05-22
1039Italy2024-05-30
1040Germany2024-05-19
1041Italy2024-05-18
1042Canada2024-05-17
1043Spain2024-05-18
1044Germany2024-05-26
1045France2024-06-12
1046Spain2024-06-13
1047India2024-06-04
1048Germany2024-05-22
1049Germany2024-05-27

On-Demand Data

NameIdCountryDate
James V Gillian1000Japan2024-05-28
Costa I Ferencz1001Russia2024-05-18
Leon N Oldroyd1002Brazil2024-06-07
Aruna C Flosi1003Brazil2024-06-09
Sinclair G Dilliard1004Germany2024-05-22
Stacey S Marrier1005Germany2024-05-27
Munro B Chui1006Italy2024-05-15
Johnson J Glick1007United Kingdom2024-05-28
Cody W Inouye1008Spain2024-06-09
Isabel U Iturbide1009Germany2024-06-02
Chavez Q Stenseth1010Germany2024-06-03
Ivar O Marrier1011Italy2024-05-31
Morrow O Kolmetz1012Germany2024-05-22
Jennifer Y Whobrey1013Argentina2024-05-22
Costa X Kolmetz1014Argentina2024-06-04
James P Wieser1015Italy2024-05-23
Greenwood N Nestle1016India2024-05-23
James L Flosi1017Spain2024-06-10
Adams T Saylors1018Germany2024-05-20
Ricardo V Iturbide1019Canada2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley R OstroskyArgentinaElwin Sharvill PROPOSAL
Chavez X NestleCanadaIoni Bowcher UNQUALIFIED
Isabel E FlosiIndiaIvan Magalhaes PROPOSAL
Rodrigues F VocelkaAustraliaAsiya Javayant PROPOSAL
Clifford Q DoeJapanAnna Fali NEW
Jefferson X PaprockiGermanyXuxue Feng UNQUALIFIED
Morrow P KolmetzGermanyAsiya Javayant NEW
Kadeem Z WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Aruna K CaldareraGermanyAmy Elsner RENEWAL
Maria M BologniaJapanStephen Shaw UNQUALIFIED
Greenwood G FerenczSpainElwin Sharvill NEW
Adams F CaudyIndiaElwin Sharvill NEW
Clifford K NestleRussiaElwin Sharvill PROPOSAL
Julie G SchemmerRussiaAnna Fali QUALIFIED
Ricardo W MaletArgentinaBernardo Dominic UNQUALIFIED
Emily L RutaItalyBernardo Dominic UNQUALIFIED
Jones Y FlosiSpainIvan Magalhaes NEGOTIATION
Adams R GillianUnited KingdomElwin Sharvill PROPOSAL
Antonio D CaldareraAustraliaXuxue Feng UNQUALIFIED
Leon U VenereGermanyAsiya Javayant RENEWAL
Jones N CampainFranceElwin Sharvill PROPOSAL
Jennifer L OldroydIndiaIoni Bowcher NEGOTIATION
David K ButtJapanIvan Magalhaes UNQUALIFIED
Francesco M MaletBrazilOnyama Limba NEGOTIATION
Francesco P MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio J FigeroaArgentinaStephen Shaw NEGOTIATION
Aika T WaycottRussiaOnyama Limba NEW
Murillo T FerenczJapanAsiya Javayant NEGOTIATION
Cody V StensethUnited KingdomStephen Shaw QUALIFIED
Smith V StensethJapanIvan Magalhaes UNQUALIFIED
Stacey V FollerSpainAnna Fali PROPOSAL
Faith T AlbaresIndiaAnna Fali NEW
Ashley Y RutaUnited KingdomIvan Magalhaes NEW
Jeanfrancois P ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Darci R RoysterBrazilElwin Sharvill NEGOTIATION
Mayumi L SergiItalyIvan Magalhaes NEW
Jeanfrancois S IturbideItalyAsiya Javayant NEW
Darci N KuskoArgentinaAnna Fali NEW
Antonio E ButtSpainBernardo Dominic UNQUALIFIED
Munro I GarufiUnited KingdomOnyama Limba 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>