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
Sinclair A AmigonArgentinaAmy Elsner UNQUALIFIED
Isabel K PaprockiJapanAsiya Javayant UNQUALIFIED
Jones I AmigonGermanyAnna Fali UNQUALIFIED
Clifford Y BowleyIndiaElwin Sharvill NEW
Kaitlin H DoeItalyIoni Bowcher UNQUALIFIED
Kaitlin N SchemmerSpainBernardo Dominic NEW
Johnson C InouyeJapanXuxue Feng NEW
Darci N StensethAustraliaXuxue Feng NEW
Chavez R MacleadRussiaIoni Bowcher NEW
Emily Z SaylorsBrazilAmy Elsner QUALIFIED
Faith P SergiFranceIoni Bowcher RENEWAL
Claire R ChuiRussiaElwin Sharvill NEGOTIATION
Greenwood E BowleyAustraliaAmy Elsner RENEWAL
Costa B OldroydSpainXuxue Feng NEW
Darci N VenereGermanyElwin Sharvill QUALIFIED
Deepesh C CaudyUnited KingdomXuxue Feng PROPOSAL
Ashley F AmigonArgentinaOnyama Limba UNQUALIFIED
Maisha Y DarakjySpainOnyama Limba NEW
Octavia I SergiRussiaStephen Shaw RENEWAL
Costa G DoeRussiaAsiya Javayant QUALIFIED
Maria A VenereUnited KingdomElwin Sharvill NEGOTIATION
Stacey R TollnerSpainAsiya Javayant RENEWAL
Sinclair H GauchoSpainBernardo Dominic RENEWAL
David C AlbaresGermanyBernardo Dominic RENEWAL
Octavia I GarufiSpainAmy Elsner PROPOSAL
Kadeem A InouyeFranceBernardo Dominic UNQUALIFIED
Rodrigues E TollnerIndiaStephen Shaw RENEWAL
Silvio S IturbideSpainAnna Fali NEW
Salvatore K TollnerGermanyXuxue Feng PROPOSAL
Tony S AmigonRussiaBernardo Dominic UNQUALIFIED
Murillo E KuskoBrazilAnna Fali QUALIFIED
Morrow J GarufiSpainAsiya Javayant UNQUALIFIED
Faith S PoquetteIndiaXuxue Feng NEGOTIATION
Murillo Q CaudyBrazilIoni Bowcher NEW
Stacey U CaudyArgentinaAnna Fali NEW
Adams M GlickRussiaAmy Elsner QUALIFIED
Aika L DoeBrazilAmy Elsner NEW
Faith L IturbideArgentinaStephen Shaw NEW
Jennifer E AmigonJapanElwin Sharvill NEGOTIATION
Johnson T VocelkaJapanXuxue Feng NEW
Cody T FlosiIndiaBernardo Dominic UNQUALIFIED
Antonio K SchemmerFranceAsiya Javayant PROPOSAL
Tony G WieserBrazilIoni Bowcher NEGOTIATION
Mujtaba B OstroskyCanadaIvan Magalhaes PROPOSAL
Aika U NickaRussiaAmy Elsner NEW
Ricardo G BologniaItalyElwin Sharvill UNQUALIFIED
Salvatore L MacleadItalyAnna Fali UNQUALIFIED
Costa Q VocelkaUnited KingdomElwin Sharvill NEW
Octavia Z BriddickItalyElwin Sharvill RENEWAL
Arvin L DarakjyBrazilElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire N GillianBrazilBernardo Dominic NEGOTIATION
Sinclair W WieserItalyIvan Magalhaes QUALIFIED
Deepesh R CaldareraArgentinaIvan Magalhaes NEGOTIATION
Kadeem L DilliardRussiaOnyama Limba NEW
Leja J AlbaresGermanyIvan Magalhaes NEGOTIATION
Mujtaba N DoeSpainAmy Elsner NEW
James E PerinJapanElwin Sharvill QUALIFIED
Emily A SergiSpainStephen Shaw RENEWAL
Ricardo R DoeSpainAmy Elsner NEW
Aditya N PaprockiRussiaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna R MorascaArgentina2024-06-05Morlong Associates QUALIFIED47Ivan Magalhaes
1001Julie M MorascaGermany2024-05-23Printing Dimensions QUALIFIED42Stephen Shaw
1002Juan B TollnerIndia2024-05-29Feltz Printing Service PROPOSAL70Ivan Magalhaes
1003Octavia O GlickCanada2024-06-12Chapman, Ross E Esq NEGOTIATION1Elwin Sharvill
1004Chavez I BowleyRussia2024-05-23Chanay, Jeffrey A Esq QUALIFIED83Onyama Limba
1005Silvio H BologniaFrance2024-05-20Rangoni Of Florence QUALIFIED0Elwin Sharvill
1006Aditya X SergiFrance2024-06-02Printing Dimensions NEW73Xuxue Feng
1007Octavia I CaudyBrazil2024-06-11Dorl, James J Esq NEW24Xuxue Feng
1008Morrow G InouyeIndia2024-05-27Feltz Printing Service QUALIFIED90Asiya Javayant
1009Munro H KolmetzSpain2024-05-27Feltz Printing Service NEGOTIATION24Asiya Javayant
1010Aruna M SlusarskiItaly2024-05-24Rousseaux, Michael Esq QUALIFIED78Ivan Magalhaes
1011Silvio I FlosiRussia2024-05-21Truhlar And Truhlar Attys UNQUALIFIED29Onyama Limba
1012Clifford S ChuiArgentina2024-05-20Morlong Associates UNQUALIFIED75Bernardo Dominic
1013Morrow L InouyeFrance2024-06-03Rangoni Of Florence QUALIFIED71Ivan Magalhaes
1014Murillo H ShinkoAustralia2024-06-03Commercial Press NEGOTIATION93Bernardo Dominic
1015Munro S WhobreyUnited Kingdom2024-06-03Dorl, James J Esq UNQUALIFIED48Stephen Shaw
1016Jennifer H BologniaAustralia2024-06-10Buckley Miller Wright RENEWAL40Anna Fali
1017Kadeem Y SergiItaly2024-05-18Buckley Miller Wright UNQUALIFIED81Anna Fali
1018Costa F RulapaughArgentina2024-05-18Chemel, James L Cpa UNQUALIFIED45Stephen Shaw
1019Silvio F WhobreyRussia2024-06-03Printing Dimensions NEGOTIATION87Stephen Shaw
1020Tony K FigeroaArgentina2024-06-09Chapman, Ross E Esq QUALIFIED70Stephen Shaw
1021Mujtaba Y BowleyIndia2024-05-18Printing Dimensions RENEWAL73Ivan Magalhaes
1022Ricardo A GauchoJapan2024-06-10Rangoni Of Florence RENEWAL19Ioni Bowcher
1023Aditya W CaldareraBrazil2024-06-05Buckley Miller Wright QUALIFIED47Xuxue Feng
1024Ricardo H FlosiFrance2024-06-10Feltz Printing Service UNQUALIFIED93Elwin Sharvill
1025Munro Y SaylorsAustralia2024-06-02Chapman, Ross E Esq UNQUALIFIED14Xuxue Feng
1026Juan A CampainItaly2024-05-19Chanay, Jeffrey A Esq QUALIFIED64Asiya Javayant
1027Johnson T PerinCanada2024-06-08Feiner Bros NEGOTIATION14Ivan Magalhaes
1028Misaki G ButtArgentina2024-05-20Feiner Bros RENEWAL75Ioni Bowcher
1029Darci O StockhamBrazil2024-05-30Buckley Miller Wright RENEWAL50Amy Elsner
1030James T AmigonJapan2024-05-25King, Christopher A Esq NEW73Stephen Shaw
1031Maisha K CaudyGermany2024-05-30Chemel, James L Cpa NEGOTIATION32Anna Fali
1032Deepesh S WieserCanada2024-06-07Rousseaux, Michael Esq UNQUALIFIED64Bernardo Dominic
1033Francesco R TollnerItaly2024-06-10Printing Dimensions UNQUALIFIED38Ioni Bowcher
1034Johnson V DilliardJapan2024-05-28Chanay, Jeffrey A Esq NEW73Xuxue Feng
1035Leja C MacleadJapan2024-05-22Buckley Miller Wright UNQUALIFIED36Anna Fali
1036Chavez A OldroydBrazil2024-05-27Chemel, James L Cpa NEW71Xuxue Feng
1037Cody Y WieserCanada2024-06-07King, Christopher A Esq NEW19Onyama Limba
1038Murillo B SlusarskiCanada2024-06-12Printing Dimensions QUALIFIED93Anna Fali
1039David Q MacleadUnited Kingdom2024-06-07Feltz Printing Service QUALIFIED42Asiya Javayant
1040Cody I WaycottGermany2024-06-08Benton, John B Jr QUALIFIED55Stephen Shaw
1041Smith Y BologniaSpain2024-06-11Feltz Printing Service NEGOTIATION11Ioni Bowcher
1042Jefferson C GlickGermany2024-05-23Dorl, James J Esq UNQUALIFIED28Bernardo Dominic
1043Ricardo Y GillianCanada2024-06-05Rousseaux, Michael Esq PROPOSAL17Bernardo Dominic
1044Juan G KuskoArgentina2024-05-22Rousseaux, Michael Esq UNQUALIFIED24Ioni Bowcher
1045Salvatore C SergiGermany2024-05-26Benton, John B Jr NEW95Elwin Sharvill
1046Darci L MorascaFrance2024-06-14Chanay, Jeffrey A Esq PROPOSAL4Elwin Sharvill
1047Ashley T InouyeItaly2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED55Anna Fali
1048Aika U AmigonRussia2024-05-31Benton, John B Jr NEW77Elwin Sharvill
1049Octavia U VocelkaItaly2024-05-31Rousseaux, Michael Esq NEGOTIATION37Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jefferson C VocelkaCanadaAnna Fali NEGOTIATION
Nicolas E NestleArgentinaBernardo Dominic PROPOSAL
Wickens N RoysterJapanIoni Bowcher RENEWAL
Misaki U TollnerJapanElwin Sharvill PROPOSAL
Antonio A MaletGermanyBernardo Dominic UNQUALIFIED
Arvin F WieserUnited KingdomOnyama Limba PROPOSAL
Jones U AlbaresRussiaElwin Sharvill RENEWAL
Kadeem P MaletCanadaIoni Bowcher NEGOTIATION
Jones R NickaFranceAnna Fali PROPOSAL
Costa J GauchoGermanyBernardo Dominic NEW
Aika M AlbaresCanadaAnna Fali NEGOTIATION
Francesco B BologniaAustraliaElwin Sharvill RENEWAL
Ricardo X GauchoFranceAsiya Javayant NEGOTIATION
Cody W FlosiJapanAmy Elsner NEGOTIATION
Aditya M TollnerGermanyAnna Fali RENEWAL
Aditya H OldroydFranceIvan Magalhaes NEW
Maria D StockhamUnited KingdomXuxue Feng RENEWAL
Munro O CaldareraAustraliaStephen Shaw QUALIFIED
Stacey L TollnerBrazilElwin Sharvill NEW
Costa P ChuiSpainAmy Elsner NEGOTIATION
Jefferson L RimIndiaAsiya Javayant NEGOTIATION
Rodrigues L FollerItalyXuxue Feng QUALIFIED
Jones V KuskoArgentinaAnna Fali NEW
Rodrigues G DoeAustraliaOnyama Limba PROPOSAL
Munro Y FollerCanadaXuxue Feng NEW
Nicolas M OstroskyUnited KingdomXuxue Feng UNQUALIFIED
Arvin U RutaUnited KingdomAsiya Javayant NEGOTIATION
Rodrigues N ChuiIndiaStephen Shaw UNQUALIFIED
Murillo D VenereSpainAnna Fali PROPOSAL
Alejandro M BowleyItalyAsiya Javayant NEW
Antonio W MarrierSpainXuxue Feng RENEWAL
Maria J BowleyAustraliaAmy Elsner PROPOSAL
Misaki B WhobreyCanadaElwin Sharvill QUALIFIED
Francesco M OldroydGermanyAmy Elsner NEGOTIATION
David P GarufiUnited KingdomIoni Bowcher NEGOTIATION
Nicolas K MaletRussiaIoni Bowcher UNQUALIFIED
Aika W BowleyArgentinaBernardo Dominic PROPOSAL
Misaki X BriddickBrazilStephen Shaw QUALIFIED
Ricardo L InouyeSpainIvan Magalhaes NEW
Silvio N IturbideUnited KingdomElwin Sharvill NEGOTIATION
Alejandro O KolmetzRussiaIvan Magalhaes UNQUALIFIED
Aika I MaletSpainIvan Magalhaes UNQUALIFIED
Clifford F SlusarskiJapanIoni Bowcher PROPOSAL
Adams P FigeroaUnited KingdomAnna Fali NEW
Darci W GarufiGermanyStephen Shaw UNQUALIFIED
Morrow J OstroskyCanadaAmy Elsner PROPOSAL
Jeanfrancois J RutaGermanyXuxue Feng NEGOTIATION
Darci K KuskoBrazilIoni Bowcher RENEWAL
Arvin Q MaletUnited KingdomOnyama Limba NEW
Costa W DarakjyUnited KingdomStephen Shaw NEGOTIATION
Frozen Columns
Name
Juan N Butt
Kadeem G Darakjy
Rodrigues H Slusarski
David R Ruta
Smith V Waycott
Antonio V Ostrosky
Kaitlin R Vocelka
Mayumi U Iturbide
James A Royster
Jennifer Y Wieser
Johnson M Caudy
Morrow G Paprocki
Aditya G Gillian
Greenwood L Whobrey
Kaitlin K Slusarski
Izzy E Nestle
Isabel B Saylors
Silvio B Ferencz
Aruna Y Rulapaugh
Murillo N Slusarski
Sinclair M Chui
Maisha V Amigon
Rodrigues S Kolmetz
Johnson E Nestle
David Y Nicka
Munro L Wieser
Rodrigues W Ostrosky
Maria Z Flosi
Jones M Albares
Johnson O Perin
Darci T Tollner
Jennifer Y Darakjy
Stacey R Wieser
Alejandro I Kolmetz
Darci W Schemmer
Aditya N Albares
Kaitlin D Malet
Murillo R Stenseth
Izzy J Flosi
Kaitlin G Ostrosky
Deepesh Q Amigon
Silvio M Dilliard
Greenwood M Malet
Misaki V Shinko
Sinclair L Perin
Nicolas M Perin
Leja E Darakjy
Arvin R Rim
Morrow S Saylors
Antonio M Paprocki
IdCountryDate
1000Japan2024-05-24
1001Italy2024-06-08
1002India2024-06-02
1003Japan2024-05-30
1004Russia2024-06-12
1005Spain2024-05-28
1006Germany2024-06-14
1007Japan2024-05-28
1008Canada2024-06-14
1009Brazil2024-06-13
1010India2024-06-08
1011India2024-06-13
1012Russia2024-05-26
1013Germany2024-06-12
1014France2024-06-13
1015Spain2024-06-10
1016Germany2024-06-13
1017Spain2024-05-31
1018India2024-06-01
1019Brazil2024-06-07
1020Argentina2024-05-22
1021Germany2024-05-26
1022Argentina2024-06-07
1023Japan2024-05-25
1024Germany2024-06-10
1025Brazil2024-05-23
1026Australia2024-06-02
1027Germany2024-06-04
1028Spain2024-05-24
1029Russia2024-05-28
1030Canada2024-05-16
1031Italy2024-06-08
1032United Kingdom2024-06-12
1033France2024-05-19
1034Germany2024-06-10
1035Argentina2024-06-01
1036Brazil2024-06-10
1037France2024-06-07
1038Japan2024-06-05
1039Germany2024-05-17
1040Australia2024-06-10
1041France2024-06-04
1042Argentina2024-05-19
1043Brazil2024-06-03
1044Spain2024-05-17
1045India2024-06-01
1046Russia2024-06-10
1047France2024-05-24
1048Russia2024-06-13
1049Brazil2024-06-07

On-Demand Data

NameIdCountryDate
Julie N Glick1000Japan2024-05-31
Clifford M Slusarski1001United Kingdom2024-05-26
Kaitlin L Kolmetz1002France2024-05-18
Claire G Ferencz1003Spain2024-05-17
Izzy T Sergi1004Canada2024-06-14
Emily F Figeroa1005Japan2024-06-12
Kaitlin L Ostrosky1006Argentina2024-05-31
Clifford L Paprocki1007Spain2024-05-27
Munro F Vocelka1008United Kingdom2024-05-28
Johnson Y Briddick1009Russia2024-05-22
Claire O Chui1010Italy2024-05-30
Octavia M Oldroyd1011Canada2024-06-10
Murillo R Glick1012Germany2024-06-12
Juan V Inouye1013Japan2024-06-03
Jeanfrancois U Garufi1014Japan2024-06-09
Johnson T Dilliard1015United Kingdom2024-05-29
Mujtaba S Kusko1016Russia2024-05-28
Chavez G Perin1017Canada2024-05-27
Mayumi L Garufi1018Russia2024-05-17
Arvin K Morasca1019Brazil2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues M BriddickRussiaAnna Fali PROPOSAL
Tony H OldroydBrazilIvan Magalhaes NEW
Darci S AlbaresArgentinaElwin Sharvill PROPOSAL
Julie L OldroydSpainOnyama Limba UNQUALIFIED
Izzy G MacleadFranceAsiya Javayant UNQUALIFIED
Julie Q NestleJapanIvan Magalhaes UNQUALIFIED
Munro V WaycottSpainIvan Magalhaes PROPOSAL
Jefferson O MacleadItalyIvan Magalhaes UNQUALIFIED
Morrow C RimJapanOnyama Limba RENEWAL
Johnson E SaylorsUnited KingdomAsiya Javayant PROPOSAL
Smith P NestleRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois G AmigonFranceBernardo Dominic NEW
Jeanfrancois W MacleadGermanyElwin Sharvill QUALIFIED
Rodrigues S MaletFranceBernardo Dominic NEGOTIATION
Antonio W RulapaughItalyAmy Elsner QUALIFIED
Isabel P ChuiAustraliaBernardo Dominic NEW
Nicolas K NickaFranceElwin Sharvill UNQUALIFIED
Ricardo O GauchoFranceXuxue Feng UNQUALIFIED
Aika C PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Leon T GarufiAustraliaIvan Magalhaes UNQUALIFIED
Darci E FollerGermanyAmy Elsner PROPOSAL
Johnson K AlbaresCanadaAsiya Javayant PROPOSAL
Ashley J FollerJapanElwin Sharvill RENEWAL
Morrow B KolmetzJapanStephen Shaw QUALIFIED
Emily U FlosiArgentinaBernardo Dominic UNQUALIFIED
Aditya I BowleyRussiaXuxue Feng RENEWAL
Juan Q MacleadBrazilAsiya Javayant NEW
Tony I ShinkoBrazilXuxue Feng RENEWAL
Mayumi K MaletIndiaElwin Sharvill PROPOSAL
Francesco E RulapaughRussiaBernardo Dominic RENEWAL
Wickens R AlbaresItalyIoni Bowcher UNQUALIFIED
Rodrigues H FigeroaBrazilAmy Elsner QUALIFIED
James F AlbaresBrazilXuxue Feng NEW
Jeanfrancois Q FlosiJapanStephen Shaw PROPOSAL
Aika H MacleadFranceElwin Sharvill NEW
Cody C FlosiUnited KingdomStephen Shaw UNQUALIFIED
Maria E AmigonIndiaStephen Shaw PROPOSAL
Salvatore R MarrierArgentinaBernardo Dominic UNQUALIFIED
Antonio N RutaItalyIvan Magalhaes QUALIFIED
Claire U RulapaughJapanStephen Shaw NEW

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