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 V ChuiFranceElwin Sharvill RENEWAL
Izzy Z InouyeAustraliaAmy Elsner PROPOSAL
Silvio Z BowleyItalyIvan Magalhaes QUALIFIED
Rodrigues J RutaRussiaOnyama Limba RENEWAL
Clifford I FerenczRussiaXuxue Feng PROPOSAL
James I FollerRussiaAnna Fali PROPOSAL
Cody D ShinkoUnited KingdomOnyama Limba UNQUALIFIED
Ivar P GarufiIndiaStephen Shaw NEW
Isabel N WaycottJapanOnyama Limba QUALIFIED
Sinclair H VenereFranceIoni Bowcher NEGOTIATION
Rodrigues F MacleadGermanyAmy Elsner PROPOSAL
Juan X PaprockiIndiaStephen Shaw QUALIFIED
Cody X BowleyItalyBernardo Dominic UNQUALIFIED
Jones X VenereGermanyBernardo Dominic NEGOTIATION
Clifford Y MorascaIndiaAsiya Javayant PROPOSAL
Arvin K MarrierUnited KingdomIoni Bowcher RENEWAL
Mayumi Y RulapaughGermanyIvan Magalhaes NEW
Clifford K MaletJapanXuxue Feng QUALIFIED
Leon Z BriddickCanadaOnyama Limba NEW
Julie E MorascaBrazilAnna Fali RENEWAL
Misaki J FollerGermanyOnyama Limba QUALIFIED
James N OldroydCanadaAmy Elsner QUALIFIED
Kadeem G RulapaughArgentinaAmy Elsner RENEWAL
Mujtaba R VenereCanadaAsiya Javayant RENEWAL
Faith F NickaAustraliaIoni Bowcher QUALIFIED
Silvio B RutaBrazilAsiya Javayant RENEWAL
Kaitlin Q OldroydSpainStephen Shaw QUALIFIED
Aika P DarakjyIndiaAnna Fali PROPOSAL
Isabel P InouyeItalyOnyama Limba NEGOTIATION
Johnson B MaletGermanyIvan Magalhaes NEW
Kaitlin W GlickAustraliaOnyama Limba NEW
Mayumi V InouyeGermanyAmy Elsner QUALIFIED
Salvatore T RulapaughGermanyOnyama Limba NEW
Deepesh I ButtIndiaAnna Fali QUALIFIED
Morrow D FigeroaSpainElwin Sharvill UNQUALIFIED
Jeanfrancois V InouyeGermanyIoni Bowcher NEGOTIATION
Adams K RutaCanadaElwin Sharvill NEW
Wickens S InouyeCanadaIvan Magalhaes RENEWAL
Costa P GlickSpainBernardo Dominic NEGOTIATION
Ashley M InouyeCanadaIoni Bowcher RENEWAL
Misaki I MorascaFranceBernardo Dominic RENEWAL
Arvin K OldroydAustraliaXuxue Feng NEGOTIATION
Smith O WieserFranceIvan Magalhaes RENEWAL
Kadeem D StockhamSpainAmy Elsner UNQUALIFIED
Greenwood G RoysterBrazilIvan Magalhaes PROPOSAL
Aruna Z ShinkoIndiaElwin Sharvill QUALIFIED
Ricardo F SergiGermanyIoni Bowcher NEGOTIATION
Aika C FigeroaJapanStephen Shaw RENEWAL
Costa V RimAustraliaIvan Magalhaes QUALIFIED
Mujtaba X DarakjyRussiaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Emily V DilliardUnited KingdomAnna Fali NEGOTIATION
Leja V CaudyAustraliaElwin Sharvill NEGOTIATION
David S ShinkoIndiaAmy Elsner RENEWAL
Jefferson C FigeroaUnited KingdomElwin Sharvill RENEWAL
Clifford B PaprockiCanadaXuxue Feng UNQUALIFIED
Rodrigues O MaletAustraliaOnyama Limba QUALIFIED
Izzy A OldroydFranceIoni Bowcher PROPOSAL
David W AlbaresRussiaIoni Bowcher QUALIFIED
Francesco L NickaGermanyElwin Sharvill RENEWAL
Greenwood S IturbideSpainAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco Z IturbideUnited Kingdom2024-05-24Chemel, James L Cpa PROPOSAL65Xuxue Feng
1001Mayumi C DarakjyFrance2024-06-06Rousseaux, Michael Esq RENEWAL76Ioni Bowcher
1002Stacey Y DilliardItaly2024-05-28Chemel, James L Cpa RENEWAL5Xuxue Feng
1003Jennifer Y FollerIndia2024-06-06Rousseaux, Michael Esq PROPOSAL40Elwin Sharvill
1004Mayumi V IturbideFrance2024-06-03Buckley Miller Wright UNQUALIFIED74Asiya Javayant
1005Kadeem P StensethCanada2024-06-10Buckley Miller Wright QUALIFIED35Ivan Magalhaes
1006Munro W KuskoArgentina2024-06-18Benton, John B Jr NEGOTIATION92Onyama Limba
1007Faith D MorascaBrazil2024-06-07Chemel, James L Cpa QUALIFIED81Ioni Bowcher
1008Mayumi S ShinkoItaly2024-06-04Benton, John B Jr UNQUALIFIED80Ivan Magalhaes
1009Arvin Z BowleyFrance2024-06-09Commercial Press UNQUALIFIED99Amy Elsner
1010Alejandro Q MarrierArgentina2024-06-19Feiner Bros QUALIFIED7Asiya Javayant
1011Izzy E KolmetzUnited Kingdom2024-06-10Truhlar And Truhlar Attys UNQUALIFIED52Xuxue Feng
1012Jennifer T MorascaJapan2024-05-24Rousseaux, Michael Esq QUALIFIED10Elwin Sharvill
1013Faith D VenereIndia2024-06-01Morlong Associates PROPOSAL24Ioni Bowcher
1014Leja W MacleadIndia2024-06-22Dorl, James J Esq QUALIFIED29Ivan Magalhaes
1015Leja N AlbaresItaly2024-05-27King, Christopher A Esq NEW94Ivan Magalhaes
1016Aruna D KolmetzArgentina2024-05-30Buckley Miller Wright PROPOSAL76Asiya Javayant
1017Leon G AmigonBrazil2024-05-27Truhlar And Truhlar Attys QUALIFIED25Stephen Shaw
1018Cody S BowleyAustralia2024-06-18Buckley Miller Wright NEGOTIATION22Anna Fali
1019Maisha S FigeroaSpain2024-06-13Rousseaux, Michael Esq RENEWAL13Ivan Magalhaes
1020Stacey J WaycottFrance2024-05-30Feiner Bros QUALIFIED28Ioni Bowcher
1021Faith I CampainSpain2024-05-26Printing Dimensions QUALIFIED97Xuxue Feng
1022Stacey T FlosiIndia2024-06-19Benton, John B Jr QUALIFIED16Onyama Limba
1023Emily B StensethUnited Kingdom2024-05-31Printing Dimensions QUALIFIED11Amy Elsner
1024Chavez A RulapaughRussia2024-06-20Commercial Press UNQUALIFIED40Stephen Shaw
1025Cody I StensethRussia2024-06-17Chapman, Ross E Esq NEW15Ivan Magalhaes
1026Leja C InouyeRussia2024-05-26Morlong Associates RENEWAL63Onyama Limba
1027Chavez T DoeIndia2024-05-30Benton, John B Jr NEW29Elwin Sharvill
1028Izzy S VenereGermany2024-06-08Chapman, Ross E Esq UNQUALIFIED57Asiya Javayant
1029Morrow U WhobreyItaly2024-05-29Rangoni Of Florence QUALIFIED73Onyama Limba
1030Johnson C MorascaIndia2024-06-01Dorl, James J Esq NEGOTIATION65Amy Elsner
1031Mayumi O GauchoAustralia2024-05-25Rangoni Of Florence NEW53Ioni Bowcher
1032Maria D DarakjyAustralia2024-06-21Rangoni Of Florence QUALIFIED29Ioni Bowcher
1033Salvatore C BriddickRussia2024-06-14Truhlar And Truhlar Attys PROPOSAL89Asiya Javayant
1034Kaitlin W SchemmerJapan2024-06-03Rousseaux, Michael Esq PROPOSAL38Asiya Javayant
1035Antonio W PaprockiAustralia2024-06-22Benton, John B Jr QUALIFIED83Bernardo Dominic
1036Deepesh T DilliardIndia2024-06-10Chemel, James L Cpa QUALIFIED26Onyama Limba
1037Maisha V MacleadItaly2024-06-15Chemel, James L Cpa NEW19Bernardo Dominic
1038Jennifer M PerinBrazil2024-06-08Chanay, Jeffrey A Esq PROPOSAL84Amy Elsner
1039Nicolas R BologniaItaly2024-05-25Feltz Printing Service NEGOTIATION40Ioni Bowcher
1040Leon E SergiIndia2024-06-18Printing Dimensions NEGOTIATION32Amy Elsner
1041Claire S CampainArgentina2024-05-29Truhlar And Truhlar Attys NEW20Onyama Limba
1042Murillo J AmigonFrance2024-06-06Chemel, James L Cpa NEW78Ivan Magalhaes
1043Aika Q VocelkaJapan2024-06-08King, Christopher A Esq PROPOSAL22Ioni Bowcher
1044Darci D MacleadUnited Kingdom2024-06-13Dorl, James J Esq QUALIFIED49Asiya Javayant
1045Jefferson E PaprockiFrance2024-06-13Dorl, James J Esq NEW92Amy Elsner
1046Deepesh Y PoquetteJapan2024-06-04Buckley Miller Wright NEGOTIATION20Asiya Javayant
1047Aika U RoysterItaly2024-06-13Benton, John B Jr NEGOTIATION98Bernardo Dominic
1048Salvatore U AmigonJapan2024-06-10Chemel, James L Cpa UNQUALIFIED26Bernardo Dominic
1049Murillo J AmigonUnited Kingdom2024-06-21Feiner Bros NEGOTIATION76Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maria V KuskoAustraliaAmy Elsner UNQUALIFIED
Nicolas B GarufiUnited KingdomIoni Bowcher RENEWAL
Deepesh Q MarrierCanadaIoni Bowcher UNQUALIFIED
Maria W MaletArgentinaBernardo Dominic NEW
Jeanfrancois D FigeroaRussiaElwin Sharvill QUALIFIED
Arvin U GillianItalyAmy Elsner UNQUALIFIED
Isabel A MarrierBrazilXuxue Feng QUALIFIED
Leja T ShinkoRussiaAmy Elsner QUALIFIED
Tony H DarakjyGermanyAsiya Javayant QUALIFIED
Emily V SaylorsIndiaAsiya Javayant QUALIFIED
Leon R InouyeArgentinaAnna Fali QUALIFIED
James V BowleyRussiaElwin Sharvill QUALIFIED
Arvin E RimAustraliaStephen Shaw RENEWAL
Ricardo G RutaIndiaXuxue Feng NEW
Julie H ShinkoArgentinaXuxue Feng NEGOTIATION
Munro H WieserIndiaBernardo Dominic NEW
Rodrigues J PaprockiIndiaIvan Magalhaes UNQUALIFIED
Jones L VocelkaJapanAmy Elsner NEGOTIATION
Murillo U DilliardUnited KingdomStephen Shaw NEGOTIATION
Deepesh X StockhamArgentinaAnna Fali NEGOTIATION
Jeanfrancois G BologniaSpainBernardo Dominic QUALIFIED
Leon Z VenereGermanyOnyama Limba QUALIFIED
Costa H GlickJapanStephen Shaw NEGOTIATION
Nicolas P SchemmerUnited KingdomAsiya Javayant NEW
Ivar L BologniaSpainElwin Sharvill NEW
Francesco K MorascaJapanIoni Bowcher PROPOSAL
Murillo D FlosiItalyXuxue Feng QUALIFIED
Greenwood P TollnerUnited KingdomAsiya Javayant NEW
Jennifer N RoysterSpainElwin Sharvill QUALIFIED
Silvio G CampainGermanyAsiya Javayant UNQUALIFIED
Juan B KolmetzRussiaStephen Shaw RENEWAL
Ricardo W InouyeArgentinaStephen Shaw PROPOSAL
Jefferson F DoeUnited KingdomIvan Magalhaes RENEWAL
Juan J CaudyAustraliaAsiya Javayant RENEWAL
Ashley X RulapaughAustraliaIoni Bowcher NEGOTIATION
Julie E CampainGermanyIvan Magalhaes PROPOSAL
Ashley Y OstroskyIndiaBernardo Dominic RENEWAL
Rodrigues U OstroskyAustraliaXuxue Feng UNQUALIFIED
Leja M BologniaCanadaOnyama Limba NEW
Octavia R FerenczAustraliaXuxue Feng UNQUALIFIED
Cody C NickaGermanyElwin Sharvill QUALIFIED
Misaki K CampainAustraliaAnna Fali QUALIFIED
Octavia W GillianFranceBernardo Dominic UNQUALIFIED
Alejandro Y GlickCanadaIvan Magalhaes QUALIFIED
Silvio I PoquetteBrazilAsiya Javayant UNQUALIFIED
Isabel L StensethSpainXuxue Feng RENEWAL
Isabel A RoysterArgentinaBernardo Dominic QUALIFIED
Aika U GlickJapanAsiya Javayant UNQUALIFIED
Jeanfrancois I RulapaughFranceAnna Fali RENEWAL
Leja B PoquetteAustraliaAnna Fali NEW
Frozen Columns
Name
Ricardo E Dilliard
Adams U Foller
Maisha Y Caudy
Jennifer X Iturbide
Murillo Z Butt
Silvio W Butt
Izzy Z Saylors
Jennifer G Albares
Izzy L Garufi
Leja I Bolognia
Faith N Paprocki
Octavia V Malet
Smith L Bowley
Arvin J Doe
Chavez B Dilliard
Morrow Q Ostrosky
Mujtaba M Sergi
David P Figeroa
Rodrigues B Ferencz
Jennifer R Stockham
Faith U Oldroyd
Ashley C Flosi
Greenwood T Nicka
Jeanfrancois K Morasca
Leon P Bolognia
Isabel W Iturbide
Murillo Y Bowley
Jones G Inouye
Ricardo T Royster
Jennifer D Gaucho
Kadeem U Garufi
Munro L Doe
Ricardo F Campain
James C Ostrosky
Smith K Garufi
Murillo W Shinko
Octavia Q Ruta
Wickens C Stockham
David Z Kolmetz
Silvio O Stockham
Jeanfrancois N Maclead
Stacey I Malet
Jeanfrancois T Venere
Ricardo B Kusko
Claire Q Ruta
Johnson Q Garufi
Darci J Flosi
Leon E Ruta
Misaki D Whobrey
Francesco U Flosi
IdCountryDate
1000India2024-06-19
1001Germany2024-06-15
1002Australia2024-06-20
1003Brazil2024-06-08
1004Russia2024-06-07
1005Italy2024-06-08
1006Germany2024-06-22
1007France2024-05-27
1008United Kingdom2024-06-08
1009Canada2024-06-16
1010France2024-05-26
1011Japan2024-06-19
1012Australia2024-06-10
1013France2024-05-29
1014Japan2024-06-15
1015Japan2024-06-09
1016Brazil2024-06-02
1017Canada2024-06-04
1018United Kingdom2024-06-21
1019Argentina2024-06-13
1020Japan2024-05-25
1021Argentina2024-06-12
1022Australia2024-06-18
1023Germany2024-05-29
1024Canada2024-06-20
1025France2024-06-20
1026Germany2024-06-06
1027Brazil2024-05-26
1028Germany2024-05-28
1029Australia2024-06-16
1030Brazil2024-06-04
1031Australia2024-06-13
1032United Kingdom2024-06-02
1033Spain2024-06-04
1034Canada2024-06-17
1035Argentina2024-05-29
1036Germany2024-06-05
1037Canada2024-06-11
1038France2024-06-22
1039United Kingdom2024-06-12
1040Russia2024-06-09
1041Argentina2024-05-24
1042Spain2024-06-14
1043France2024-06-04
1044Spain2024-06-11
1045India2024-06-13
1046Australia2024-06-01
1047Canada2024-05-27
1048India2024-06-15
1049Spain2024-05-24

On-Demand Data

NameIdCountryDate
Claire X Bowley1000France2024-06-22
Francesco Y Bolognia1001France2024-05-30
Leja Y Tollner1002Japan2024-06-18
Faith B Darakjy1003Argentina2024-05-27
Kaitlin M Briddick1004Canada2024-06-10
Ricardo N Doe1005United Kingdom2024-05-28
Mayumi L Garufi1006Italy2024-05-28
Murillo O Caldarera1007Australia2024-05-27
Aditya P Caldarera1008France2024-06-16
Cody I Dilliard1009Russia2024-06-18
Cody N Perin1010Canada2024-06-16
Isabel D Chui1011Spain2024-06-07
Emily E Perin1012India2024-06-10
Salvatore A Malet1013United Kingdom2024-06-06
Clifford Q Gillian1014Spain2024-05-28
Adams L Amigon1015Brazil2024-05-30
Ivar G Vocelka1016Russia2024-06-11
Octavia D Garufi1017Germany2024-06-10
Darci Q Ruta1018Japan2024-06-22
Mujtaba Z Albares1019Japan2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi P VenereItalyAnna Fali PROPOSAL
Greenwood W GarufiItalyXuxue Feng NEGOTIATION
Maria R TollnerIndiaElwin Sharvill QUALIFIED
Octavia P MaletArgentinaElwin Sharvill UNQUALIFIED
Alejandro P TollnerCanadaIvan Magalhaes NEW
Kadeem R FlosiArgentinaStephen Shaw UNQUALIFIED
Leon U ChuiCanadaAsiya Javayant RENEWAL
Clifford V WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Juan V CaldareraSpainAmy Elsner NEGOTIATION
Aditya U VenereSpainStephen Shaw QUALIFIED
Jennifer A RulapaughAustraliaOnyama Limba RENEWAL
Ashley S SchemmerCanadaAsiya Javayant NEW
Smith N RulapaughArgentinaIvan Magalhaes NEGOTIATION
Mayumi T TollnerSpainStephen Shaw NEGOTIATION
Aditya F MacleadCanadaIvan Magalhaes UNQUALIFIED
Jennifer C ChuiRussiaOnyama Limba QUALIFIED
Aruna X MarrierRussiaOnyama Limba UNQUALIFIED
Juan R WaycottFranceOnyama Limba NEGOTIATION
Ricardo T SergiRussiaXuxue Feng NEW
Ashley X RulapaughIndiaIoni Bowcher NEGOTIATION
Costa L SaylorsSpainElwin Sharvill UNQUALIFIED
Aruna L CaldareraSpainAnna Fali UNQUALIFIED
Morrow R SergiBrazilOnyama Limba RENEWAL
Faith V VocelkaFranceAmy Elsner RENEWAL
Silvio U BowleySpainStephen Shaw NEGOTIATION
Emily X CampainIndiaAnna Fali NEW
Nicolas E StensethIndiaElwin Sharvill NEW
Aruna C AlbaresArgentinaAmy Elsner UNQUALIFIED
Aika F AmigonItalyAmy Elsner PROPOSAL
Leon S SaylorsIndiaAmy Elsner RENEWAL
Salvatore P VocelkaGermanyOnyama Limba QUALIFIED
Sinclair T InouyeUnited KingdomAnna Fali RENEWAL
Jeanfrancois U MorascaFranceElwin Sharvill RENEWAL
Jennifer J MorascaArgentinaIvan Magalhaes NEGOTIATION
Smith S SchemmerFranceOnyama Limba NEGOTIATION
Cody O ShinkoCanadaOnyama Limba RENEWAL
Costa T SlusarskiIndiaIoni Bowcher NEGOTIATION
Costa L SaylorsArgentinaStephen Shaw UNQUALIFIED
Smith A BriddickArgentinaAmy Elsner UNQUALIFIED
Ivar Z OldroydSpainAmy Elsner 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>