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
Maisha R KuskoItalyIvan Magalhaes NEW
Francesco Z KuskoJapanXuxue Feng UNQUALIFIED
Kadeem A GauchoRussiaAsiya Javayant NEGOTIATION
Julie U DilliardUnited KingdomIvan Magalhaes NEGOTIATION
Juan S FigeroaSpainOnyama Limba RENEWAL
Silvio Z StockhamJapanXuxue Feng RENEWAL
Claire L MaletGermanyOnyama Limba QUALIFIED
Claire O BowleyGermanyAmy Elsner RENEWAL
Jeanfrancois Y VenereGermanyAsiya Javayant NEGOTIATION
James O OstroskyAustraliaAnna Fali UNQUALIFIED
Faith D SaylorsSpainAmy Elsner UNQUALIFIED
Rodrigues S OldroydUnited KingdomIoni Bowcher PROPOSAL
Chavez L GarufiFranceStephen Shaw PROPOSAL
Ricardo I IturbideCanadaIoni Bowcher NEW
Kaitlin X DilliardGermanyXuxue Feng QUALIFIED
Julie L PerinAustraliaStephen Shaw NEW
Greenwood X PaprockiArgentinaIoni Bowcher UNQUALIFIED
Jones O MaletIndiaElwin Sharvill RENEWAL
Claire P FollerBrazilAnna Fali UNQUALIFIED
Jeanfrancois T SergiGermanyIvan Magalhaes NEW
Leja K CaudyJapanIvan Magalhaes QUALIFIED
James E AmigonItalyStephen Shaw PROPOSAL
Stacey I RulapaughRussiaAsiya Javayant NEW
Octavia G PaprockiArgentinaAnna Fali UNQUALIFIED
Deepesh M DilliardArgentinaIvan Magalhaes NEGOTIATION
Emily X AlbaresBrazilBernardo Dominic RENEWAL
Isabel E NickaSpainAmy Elsner NEGOTIATION
Mujtaba N VenereRussiaStephen Shaw NEGOTIATION
Jefferson B DilliardFranceAsiya Javayant NEW
Mayumi N AmigonBrazilXuxue Feng UNQUALIFIED
Jefferson T SlusarskiSpainIoni Bowcher QUALIFIED
Jeanfrancois H BriddickBrazilAnna Fali NEW
Jefferson O GlickUnited KingdomOnyama Limba PROPOSAL
Faith P BriddickUnited KingdomOnyama Limba NEGOTIATION
Alejandro A KuskoUnited KingdomOnyama Limba QUALIFIED
David J GlickRussiaStephen Shaw NEGOTIATION
Leja F KuskoRussiaStephen Shaw RENEWAL
Antonio K MacleadRussiaAnna Fali NEW
Aruna Y NestleCanadaIoni Bowcher UNQUALIFIED
Ashley L GarufiItalyAmy Elsner QUALIFIED
Greenwood H OldroydBrazilBernardo Dominic PROPOSAL
Mujtaba E MacleadAustraliaStephen Shaw UNQUALIFIED
Maria I BriddickCanadaAsiya Javayant PROPOSAL
Greenwood O SaylorsGermanyAsiya Javayant RENEWAL
Ivar P SlusarskiCanadaAmy Elsner NEGOTIATION
Antonio N CampainArgentinaIvan Magalhaes NEW
Maria S FigeroaItalyBernardo Dominic PROPOSAL
Ashley O RulapaughArgentinaXuxue Feng PROPOSAL
Jones F SlusarskiJapanElwin Sharvill QUALIFIED
Ashley O MarrierArgentinaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Emily I AmigonFranceAmy Elsner PROPOSAL
Nicolas E DilliardArgentinaOnyama Limba PROPOSAL
Claire H GauchoCanadaStephen Shaw RENEWAL
Julie X WaycottJapanOnyama Limba UNQUALIFIED
Izzy P VenereItalyIoni Bowcher QUALIFIED
Leja G GlickItalyAsiya Javayant NEW
Tony W VocelkaJapanAnna Fali NEGOTIATION
Ashley U VocelkaJapanIvan Magalhaes PROPOSAL
Misaki A IturbideAustraliaIoni Bowcher QUALIFIED
Adams Y DoeBrazilElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois G GlickRussia2024-05-28Dorl, James J Esq UNQUALIFIED19Elwin Sharvill
1001Rodrigues Z DoeItaly2024-06-10Dorl, James J Esq UNQUALIFIED58Bernardo Dominic
1002Jeanfrancois Y MaletRussia2024-06-19Chapman, Ross E Esq RENEWAL18Stephen Shaw
1003Morrow S RoysterBrazil2024-06-19Morlong Associates RENEWAL81Anna Fali
1004Mayumi X StensethRussia2024-06-02Commercial Press RENEWAL83Anna Fali
1005Ivar I OldroydIndia2024-05-28Buckley Miller Wright QUALIFIED86Stephen Shaw
1006Octavia V MarrierArgentina2024-05-27Chapman, Ross E Esq QUALIFIED76Xuxue Feng
1007Aditya H SchemmerArgentina2024-06-01Rangoni Of Florence UNQUALIFIED77Xuxue Feng
1008Aditya L FollerJapan2024-06-22Rangoni Of Florence NEGOTIATION78Ivan Magalhaes
1009Morrow P MaletItaly2024-06-09Commercial Press RENEWAL98Xuxue Feng
1010Antonio Y CaldareraItaly2024-06-22Truhlar And Truhlar Attys NEGOTIATION17Bernardo Dominic
1011Greenwood Q MacleadArgentina2024-06-20King, Christopher A Esq NEW73Amy Elsner
1012Leja Z BologniaAustralia2024-06-23Buckley Miller Wright RENEWAL7Xuxue Feng
1013Deepesh K SchemmerUnited Kingdom2024-06-12Morlong Associates NEGOTIATION48Amy Elsner
1014Salvatore N RimFrance2024-06-10Feltz Printing Service QUALIFIED67Stephen Shaw
1015Chavez H BologniaSpain2024-06-22King, Christopher A Esq NEGOTIATION8Ioni Bowcher
1016Julie S PoquetteIndia2024-06-22Commercial Press RENEWAL82Onyama Limba
1017Emily P WaycottGermany2024-05-26Rousseaux, Michael Esq UNQUALIFIED86Amy Elsner
1018Alejandro W RulapaughCanada2024-06-01Benton, John B Jr PROPOSAL55Bernardo Dominic
1019Johnson E BowleyCanada2024-06-21Chemel, James L Cpa RENEWAL5Stephen Shaw
1020Aditya J StockhamJapan2024-06-06Dorl, James J Esq NEW71Asiya Javayant
1021Nicolas S DarakjyArgentina2024-06-19Printing Dimensions NEW82Stephen Shaw
1022Misaki H FollerGermany2024-05-30King, Christopher A Esq NEW61Onyama Limba
1023Wickens B NickaRussia2024-06-17Chemel, James L Cpa QUALIFIED17Anna Fali
1024Jones L CaudyBrazil2024-06-23Chemel, James L Cpa NEGOTIATION98Ioni Bowcher
1025Jeanfrancois P SaylorsRussia2024-06-13Dorl, James J Esq QUALIFIED60Asiya Javayant
1026Aruna O GarufiFrance2024-05-31Chanay, Jeffrey A Esq NEGOTIATION23Bernardo Dominic
1027Clifford Q OldroydArgentina2024-06-01Rangoni Of Florence QUALIFIED7Elwin Sharvill
1028Jefferson G DarakjyIndia2024-06-16Chanay, Jeffrey A Esq RENEWAL47Asiya Javayant
1029Mayumi Q InouyeUnited Kingdom2024-05-28Chemel, James L Cpa RENEWAL82Anna Fali
1030Sinclair H BowleyFrance2024-06-13Morlong Associates UNQUALIFIED37Onyama Limba
1031Morrow C KolmetzArgentina2024-06-08Chanay, Jeffrey A Esq RENEWAL73Asiya Javayant
1032Faith Q FerenczSpain2024-06-08Feltz Printing Service UNQUALIFIED85Elwin Sharvill
1033Aika M OstroskyGermany2024-06-23Morlong Associates QUALIFIED48Ioni Bowcher
1034Claire J SergiArgentina2024-06-06Feiner Bros NEGOTIATION64Anna Fali
1035Salvatore V BriddickJapan2024-06-23Feiner Bros PROPOSAL90Stephen Shaw
1036Izzy Y CaudyUnited Kingdom2024-06-11Buckley Miller Wright UNQUALIFIED92Ioni Bowcher
1037Jennifer B FigeroaRussia2024-06-18King, Christopher A Esq PROPOSAL96Anna Fali
1038Leon L ChuiFrance2024-05-27Chapman, Ross E Esq PROPOSAL96Onyama Limba
1039Kadeem P BologniaSpain2024-06-20Printing Dimensions PROPOSAL90Stephen Shaw
1040Ivar Y OstroskyJapan2024-06-22Chapman, Ross E Esq PROPOSAL90Bernardo Dominic
1041Costa A RutaSpain2024-06-24Truhlar And Truhlar Attys RENEWAL8Bernardo Dominic
1042Sinclair X MarrierItaly2024-06-07Commercial Press RENEWAL23Stephen Shaw
1043Costa H GlickJapan2024-06-08Rousseaux, Michael Esq PROPOSAL21Xuxue Feng
1044Claire R CampainAustralia2024-06-16Morlong Associates QUALIFIED25Anna Fali
1045Leon C ButtUnited Kingdom2024-06-01Chemel, James L Cpa QUALIFIED6Stephen Shaw
1046Costa U VocelkaCanada2024-05-26Benton, John B Jr UNQUALIFIED70Amy Elsner
1047Deepesh V KolmetzArgentina2024-05-29Dorl, James J Esq QUALIFIED69Stephen Shaw
1048Aditya E RutaArgentina2024-06-18King, Christopher A Esq NEGOTIATION44Onyama Limba
1049Johnson Q MaletUnited Kingdom2024-06-15Morlong Associates NEGOTIATION80Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro N GarufiSpainAnna Fali QUALIFIED
Morrow Y ShinkoUnited KingdomAmy Elsner PROPOSAL
Mujtaba A FollerGermanyAnna Fali QUALIFIED
Murillo Q RoysterRussiaXuxue Feng QUALIFIED
Kadeem X FlosiFranceOnyama Limba PROPOSAL
Juan F RimJapanAnna Fali UNQUALIFIED
Claire I FerenczFranceIvan Magalhaes NEW
Ivar R FigeroaBrazilAmy Elsner PROPOSAL
Aruna S GlickAustraliaAnna Fali QUALIFIED
Wickens F IturbideItalyXuxue Feng PROPOSAL
Juan J BologniaFranceBernardo Dominic NEW
Juan N SergiBrazilXuxue Feng PROPOSAL
Chavez D ButtSpainOnyama Limba NEGOTIATION
Faith X SchemmerFranceAnna Fali PROPOSAL
Leja N ButtCanadaStephen Shaw UNQUALIFIED
Octavia Q WhobreyRussiaAsiya Javayant NEW
Sinclair P KuskoGermanyElwin Sharvill PROPOSAL
Wickens W MaletFranceIvan Magalhaes PROPOSAL
Maria P DoeUnited KingdomIoni Bowcher NEW
Sinclair E WhobreyGermanyAmy Elsner QUALIFIED
Chavez W CampainArgentinaAmy Elsner NEW
Kadeem B OldroydArgentinaOnyama Limba NEGOTIATION
Arvin I NickaBrazilBernardo Dominic QUALIFIED
Ricardo T NestleJapanIvan Magalhaes QUALIFIED
Julie N IturbideCanadaElwin Sharvill QUALIFIED
Chavez L DarakjyItalyAsiya Javayant QUALIFIED
Sinclair C KuskoRussiaOnyama Limba NEGOTIATION
Tony U GillianIndiaAsiya Javayant NEGOTIATION
Jeanfrancois O PerinArgentinaAsiya Javayant NEGOTIATION
Cody F CaudyJapanAsiya Javayant UNQUALIFIED
Deepesh V PoquetteArgentinaBernardo Dominic QUALIFIED
Maisha U CampainArgentinaIvan Magalhaes PROPOSAL
Kadeem P BowleyIndiaIoni Bowcher PROPOSAL
Claire G VenereArgentinaAsiya Javayant NEW
David A PaprockiAustraliaOnyama Limba PROPOSAL
Ivar Y BriddickAustraliaAnna Fali NEW
Isabel L NickaGermanyIvan Magalhaes NEGOTIATION
Francesco I GauchoUnited KingdomOnyama Limba UNQUALIFIED
Mayumi M ShinkoSpainElwin Sharvill NEW
Francesco X ShinkoJapanStephen Shaw PROPOSAL
Alejandro W SergiFranceIoni Bowcher NEW
Jeanfrancois S NickaArgentinaOnyama Limba PROPOSAL
Smith A FigeroaRussiaStephen Shaw PROPOSAL
Deepesh M SchemmerCanadaAnna Fali NEGOTIATION
Tony C SergiIndiaElwin Sharvill RENEWAL
Johnson U WhobreyCanadaStephen Shaw PROPOSAL
Clifford M BowleyRussiaAmy Elsner QUALIFIED
Costa B ChuiJapanBernardo Dominic NEGOTIATION
Mayumi N NickaUnited KingdomBernardo Dominic UNQUALIFIED
Aika Q KolmetzSpainXuxue Feng PROPOSAL
Frozen Columns
Name
Antonio R Foller
Smith V Whobrey
Sinclair M Nicka
Jones D Sergi
Darci Y Slusarski
Mayumi J Saylors
Darci S Maclead
Morrow L Stockham
Salvatore U Wieser
Ashley J Wieser
Octavia V Maclead
Smith C Wieser
Kadeem E Malet
Chavez J Darakjy
Misaki I Glick
Salvatore D Rulapaugh
Jones Z Darakjy
Aika D Marrier
Emily F Glick
Antonio L Stenseth
Isabel C Gillian
Izzy L Royster
Claire S Kusko
Jeanfrancois A Marrier
Emily J Caldarera
Julie I Bowley
Isabel E Paprocki
Chavez T Gaucho
Sinclair M Figeroa
Claire C Saylors
Rodrigues V Perin
Jones S Sergi
Silvio R Maclead
Darci Y Iturbide
Ivar E Inouye
Murillo W Campain
Arvin A Perin
Antonio B Campain
Kadeem I Paprocki
Aika Y Slusarski
Ashley C Saylors
Rodrigues F Schemmer
Arvin N Ostrosky
Chavez I Malet
Mujtaba V Waycott
Stacey J Poquette
Octavia O Inouye
Francesco N Slusarski
Octavia Q Malet
Munro H Bolognia
IdCountryDate
1000Brazil2024-05-26
1001Australia2024-05-31
1002India2024-06-12
1003United Kingdom2024-06-17
1004Italy2024-06-02
1005Argentina2024-06-03
1006Russia2024-06-19
1007Germany2024-05-26
1008Japan2024-06-02
1009India2024-06-12
1010Germany2024-05-28
1011United Kingdom2024-06-13
1012Germany2024-05-31
1013France2024-05-28
1014Brazil2024-06-20
1015Brazil2024-06-09
1016Argentina2024-06-11
1017Russia2024-05-30
1018Argentina2024-06-11
1019India2024-06-07
1020Russia2024-05-28
1021Spain2024-06-10
1022India2024-06-01
1023Germany2024-06-12
1024France2024-05-30
1025Canada2024-06-16
1026Canada2024-05-31
1027Russia2024-05-30
1028France2024-06-10
1029Canada2024-05-28
1030Italy2024-06-21
1031Russia2024-06-16
1032Italy2024-06-07
1033Germany2024-06-12
1034United Kingdom2024-05-29
1035Italy2024-06-20
1036United Kingdom2024-06-09
1037Spain2024-06-17
1038Spain2024-06-04
1039Italy2024-06-09
1040Italy2024-05-29
1041Germany2024-06-23
1042Brazil2024-06-13
1043Russia2024-06-18
1044Canada2024-06-17
1045Spain2024-05-28
1046France2024-06-11
1047United Kingdom2024-06-09
1048Spain2024-06-04
1049Japan2024-06-20

On-Demand Data

NameIdCountryDate
Izzy Q Caudy1000India2024-06-01
Nicolas P Caldarera1001France2024-06-03
James S Venere1002France2024-06-01
Emily W Morasca1003Spain2024-06-10
Maria S Doe1004Italy2024-06-22
Julie C Oldroyd1005India2024-05-26
Munro N Wieser1006United Kingdom2024-06-18
Jefferson K Schemmer1007Japan2024-06-19
Claire K Foller1008Italy2024-06-14
Alejandro U Foller1009Spain2024-05-28
Kadeem U Briddick1010Russia2024-05-27
Misaki V Flosi1011Germany2024-05-26
Smith H Waycott1012Japan2024-06-11
Emily U Caldarera1013Canada2024-06-01
Maisha I Doe1014Australia2024-06-24
Leon G Shinko1015France2024-06-24
Wickens V Darakjy1016Brazil2024-06-07
Cody D Doe1017Spain2024-06-19
Tony M Bowley1018Japan2024-06-14
Kaitlin B Oldroyd1019Germany2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin G DarakjyUnited KingdomAnna Fali NEGOTIATION
Ivar T PoquetteFranceAnna Fali UNQUALIFIED
Chavez U OldroydSpainBernardo Dominic UNQUALIFIED
Jennifer P WieserRussiaAmy Elsner RENEWAL
Jefferson E VocelkaCanadaBernardo Dominic PROPOSAL
Jones A BologniaJapanStephen Shaw PROPOSAL
Mayumi C PaprockiJapanAnna Fali NEW
Emily C CaldareraAustraliaIvan Magalhaes UNQUALIFIED
Adams L AlbaresUnited KingdomIoni Bowcher PROPOSAL
Mayumi E CampainCanadaIvan Magalhaes PROPOSAL
James H VenereRussiaAmy Elsner UNQUALIFIED
Misaki V CaldareraGermanyBernardo Dominic NEGOTIATION
Stacey Q BowleyFranceIoni Bowcher NEGOTIATION
Silvio F ButtJapanOnyama Limba UNQUALIFIED
Smith D ShinkoBrazilAmy Elsner QUALIFIED
Kaitlin V VenereJapanStephen Shaw QUALIFIED
Alejandro O KolmetzUnited KingdomAsiya Javayant RENEWAL
Cody O GauchoUnited KingdomStephen Shaw NEGOTIATION
Kadeem C MorascaItalyAmy Elsner RENEWAL
Julie J MorascaFranceXuxue Feng NEW
Salvatore R CampainSpainIoni Bowcher PROPOSAL
Faith W PoquetteJapanXuxue Feng UNQUALIFIED
Cody P WieserBrazilXuxue Feng NEW
Aruna S VocelkaArgentinaAmy Elsner PROPOSAL
Ashley P StensethGermanyAmy Elsner NEW
Maisha V CaldareraIndiaStephen Shaw NEW
Claire Q CaudyRussiaBernardo Dominic RENEWAL
Claire J DilliardAustraliaElwin Sharvill UNQUALIFIED
Maria N CaldareraCanadaStephen Shaw UNQUALIFIED
Maria K MorascaBrazilElwin Sharvill NEGOTIATION
Juan I KolmetzBrazilOnyama Limba PROPOSAL
Octavia D IturbideCanadaAnna Fali NEW
Octavia S CampainRussiaIoni Bowcher NEGOTIATION
Julie I SaylorsIndiaAsiya Javayant UNQUALIFIED
Alejandro H CaudyRussiaBernardo Dominic UNQUALIFIED
Darci J CaldareraUnited KingdomAsiya Javayant QUALIFIED
Emily G FlosiJapanXuxue Feng UNQUALIFIED
Adams V IturbideItalyXuxue Feng PROPOSAL
Octavia I GillianAustraliaIoni Bowcher PROPOSAL
Morrow K ShinkoRussiaIvan Magalhaes 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>