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
Rodrigues D WaycottFranceBernardo Dominic NEW
Johnson X SergiJapanIvan Magalhaes QUALIFIED
Darci M RutaIndiaElwin Sharvill PROPOSAL
Francesco L WaycottItalyStephen Shaw NEGOTIATION
Arvin U BologniaJapanIoni Bowcher NEW
Leja P GillianJapanAsiya Javayant NEGOTIATION
Chavez I MacleadFranceBernardo Dominic RENEWAL
Johnson Q KuskoSpainBernardo Dominic QUALIFIED
Claire X FollerFranceIvan Magalhaes NEGOTIATION
Tony K FerenczFranceIoni Bowcher NEGOTIATION
Faith M AmigonJapanAmy Elsner QUALIFIED
Morrow N AlbaresRussiaXuxue Feng PROPOSAL
Misaki Z NestleUnited KingdomOnyama Limba NEGOTIATION
Clifford A StensethJapanStephen Shaw QUALIFIED
Stacey I FigeroaSpainIoni Bowcher UNQUALIFIED
Kaitlin N ButtJapanBernardo Dominic NEGOTIATION
Rodrigues I VenereGermanyIoni Bowcher PROPOSAL
Kadeem U StensethItalyBernardo Dominic UNQUALIFIED
Wickens V InouyeJapanXuxue Feng UNQUALIFIED
Adams Z BologniaFranceAnna Fali QUALIFIED
Chavez Y MaletFranceIoni Bowcher NEW
Aruna M ButtItalyAnna Fali QUALIFIED
Johnson W PaprockiAustraliaAnna Fali UNQUALIFIED
Kaitlin Y OldroydItalyBernardo Dominic UNQUALIFIED
Octavia D MacleadAustraliaIoni Bowcher QUALIFIED
Jennifer J SlusarskiBrazilAsiya Javayant NEGOTIATION
Misaki E MorascaFranceXuxue Feng PROPOSAL
Deepesh S SergiUnited KingdomAsiya Javayant NEGOTIATION
Adams N MaletItalyIoni Bowcher PROPOSAL
Misaki P TollnerBrazilIoni Bowcher NEW
Maisha R VocelkaBrazilElwin Sharvill PROPOSAL
Arvin A BowleySpainBernardo Dominic RENEWAL
Claire Y PaprockiSpainIvan Magalhaes RENEWAL
Murillo E MacleadAustraliaAnna Fali QUALIFIED
Aika N WieserIndiaXuxue Feng PROPOSAL
Nicolas D SlusarskiBrazilElwin Sharvill QUALIFIED
Alejandro W SaylorsIndiaStephen Shaw QUALIFIED
Adams S SlusarskiArgentinaIvan Magalhaes QUALIFIED
Aditya S SergiUnited KingdomElwin Sharvill RENEWAL
Jennifer W VenereJapanIoni Bowcher UNQUALIFIED
Sinclair F SchemmerJapanStephen Shaw QUALIFIED
Emily Q DilliardSpainStephen Shaw NEGOTIATION
Morrow C SaylorsBrazilBernardo Dominic NEGOTIATION
Murillo B MaletIndiaXuxue Feng NEGOTIATION
Silvio V ChuiFranceAmy Elsner NEW
Emily A VocelkaJapanAmy Elsner UNQUALIFIED
Clifford G RulapaughIndiaAmy Elsner NEGOTIATION
Octavia N DilliardItalyXuxue Feng QUALIFIED
David K RulapaughIndiaIoni Bowcher QUALIFIED
Jeanfrancois A StensethItalyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio T SaylorsFranceIoni Bowcher UNQUALIFIED
Morrow X RutaGermanyStephen Shaw NEGOTIATION
Maisha L DarakjyRussiaStephen Shaw UNQUALIFIED
Leja P GillianBrazilXuxue Feng UNQUALIFIED
Tony Q MorascaIndiaIvan Magalhaes QUALIFIED
Stacey I ChuiIndiaAmy Elsner RENEWAL
Silvio U DarakjyArgentinaAnna Fali RENEWAL
Alejandro M GarufiGermanyAmy Elsner RENEWAL
Rodrigues N WhobreyFranceStephen Shaw UNQUALIFIED
Faith U PaprockiFranceIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens T SaylorsRussia2024-05-19Feiner Bros QUALIFIED16Amy Elsner
1001Stacey T KolmetzRussia2024-06-04Printing Dimensions NEGOTIATION12Ivan Magalhaes
1002Tony H RutaArgentina2024-05-20Benton, John B Jr RENEWAL14Bernardo Dominic
1003Cody P CaldareraIndia2024-06-11Rangoni Of Florence UNQUALIFIED20Bernardo Dominic
1004Greenwood K FollerArgentina2024-05-16Chapman, Ross E Esq NEGOTIATION88Onyama Limba
1005Francesco P ButtGermany2024-06-01Chapman, Ross E Esq PROPOSAL5Xuxue Feng
1006Johnson H MaletRussia2024-05-17Feiner Bros NEGOTIATION80Ioni Bowcher
1007Faith D AlbaresJapan2024-05-21Benton, John B Jr NEGOTIATION8Asiya Javayant
1008Salvatore M CampainFrance2024-05-27Rousseaux, Michael Esq NEGOTIATION64Asiya Javayant
1009Jefferson P KolmetzFrance2024-06-12King, Christopher A Esq NEGOTIATION94Ioni Bowcher
1010Izzy K OstroskyRussia2024-05-15Rangoni Of Florence QUALIFIED64Amy Elsner
1011Salvatore C BologniaRussia2024-05-18Feiner Bros NEW3Ioni Bowcher
1012Jennifer H RulapaughRussia2024-06-09Chapman, Ross E Esq NEGOTIATION98Elwin Sharvill
1013Stacey B FlosiBrazil2024-05-20King, Christopher A Esq QUALIFIED30Ivan Magalhaes
1014Claire V FigeroaIndia2024-06-09Benton, John B Jr QUALIFIED68Anna Fali
1015Silvio N CaldareraSpain2024-05-30Chapman, Ross E Esq QUALIFIED24Stephen Shaw
1016Aruna O OldroydSpain2024-06-11Chanay, Jeffrey A Esq QUALIFIED64Elwin Sharvill
1017Maisha V DilliardItaly2024-05-23Rangoni Of Florence PROPOSAL63Elwin Sharvill
1018Maisha J StockhamBrazil2024-05-24Chanay, Jeffrey A Esq RENEWAL38Anna Fali
1019Kaitlin X SaylorsGermany2024-06-10Morlong Associates NEW91Onyama Limba
1020Deepesh R GlickCanada2024-05-25Feltz Printing Service UNQUALIFIED69Bernardo Dominic
1021Morrow L SergiUnited Kingdom2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED17Bernardo Dominic
1022Tony A WaycottItaly2024-05-24Chemel, James L Cpa NEGOTIATION41Elwin Sharvill
1023Johnson W VenereRussia2024-06-01Chemel, James L Cpa PROPOSAL75Amy Elsner
1024Jones X RutaFrance2024-05-20Feiner Bros NEW56Anna Fali
1025Ricardo I GarufiRussia2024-05-25Printing Dimensions RENEWAL28Onyama Limba
1026Johnson Z ShinkoItaly2024-05-23Chemel, James L Cpa NEW13Stephen Shaw
1027Arvin S ShinkoBrazil2024-05-19Benton, John B Jr QUALIFIED42Elwin Sharvill
1028Octavia U RoysterCanada2024-06-13Feltz Printing Service NEW17Bernardo Dominic
1029Julie N GauchoCanada2024-05-19Chemel, James L Cpa NEW89Onyama Limba
1030Costa X PoquetteItaly2024-05-19Truhlar And Truhlar Attys UNQUALIFIED11Stephen Shaw
1031Johnson L NickaFrance2024-05-23Commercial Press UNQUALIFIED85Elwin Sharvill
1032Deepesh L CampainIndia2024-06-09Chemel, James L Cpa NEW71Bernardo Dominic
1033Smith D BriddickCanada2024-06-01King, Christopher A Esq NEW26Ioni Bowcher
1034Johnson K SergiUnited Kingdom2024-05-23Buckley Miller Wright RENEWAL43Ivan Magalhaes
1035Wickens Z KuskoUnited Kingdom2024-05-19Truhlar And Truhlar Attys UNQUALIFIED99Bernardo Dominic
1036Greenwood B FollerRussia2024-05-22Commercial Press NEW10Elwin Sharvill
1037Murillo P MaletItaly2024-06-02Chemel, James L Cpa QUALIFIED44Amy Elsner
1038Morrow E NickaItaly2024-06-08Rangoni Of Florence UNQUALIFIED80Ioni Bowcher
1039Wickens T ButtIndia2024-05-25Chanay, Jeffrey A Esq NEW68Ivan Magalhaes
1040Maria Q BowleyGermany2024-05-18King, Christopher A Esq NEGOTIATION85Amy Elsner
1041Chavez Y FollerIndia2024-05-26Feiner Bros QUALIFIED2Xuxue Feng
1042Alejandro C MaletGermany2024-05-24Buckley Miller Wright NEW73Xuxue Feng
1043James L BriddickCanada2024-05-18King, Christopher A Esq NEW98Asiya Javayant
1044Rodrigues Y GauchoAustralia2024-05-23Chemel, James L Cpa RENEWAL92Anna Fali
1045Morrow L FerenczAustralia2024-05-18Rousseaux, Michael Esq NEGOTIATION41Amy Elsner
1046Aditya H InouyeJapan2024-05-17Dorl, James J Esq NEW97Amy Elsner
1047Ricardo W KolmetzRussia2024-06-08Benton, John B Jr NEW16Amy Elsner
1048Jones M GauchoJapan2024-05-16Chapman, Ross E Esq RENEWAL77Xuxue Feng
1049Arvin K GauchoCanada2024-05-15Buckley Miller Wright NEW20Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jefferson R VocelkaUnited KingdomAnna Fali QUALIFIED
Kadeem C MaletRussiaAsiya Javayant NEW
James O WaycottIndiaAmy Elsner QUALIFIED
Salvatore B WaycottFranceIvan Magalhaes NEW
Kaitlin H VocelkaGermanyStephen Shaw PROPOSAL
Claire C CampainBrazilStephen Shaw NEW
Stacey W GarufiCanadaAmy Elsner PROPOSAL
Smith B ChuiArgentinaElwin Sharvill NEGOTIATION
James M SaylorsAustraliaStephen Shaw QUALIFIED
Silvio L PoquetteRussiaElwin Sharvill NEW
Deepesh G KuskoGermanyBernardo Dominic RENEWAL
Emily K MarrierArgentinaStephen Shaw RENEWAL
Adams Z StensethUnited KingdomIoni Bowcher NEW
Antonio M KolmetzFranceXuxue Feng RENEWAL
Leja T GlickUnited KingdomBernardo Dominic PROPOSAL
Stacey L SlusarskiItalyIoni Bowcher UNQUALIFIED
Costa A DarakjyRussiaOnyama Limba NEW
Nicolas Q KuskoGermanyStephen Shaw UNQUALIFIED
Arvin Q VocelkaGermanyAsiya Javayant RENEWAL
Johnson S FigeroaIndiaXuxue Feng NEGOTIATION
Misaki H BowleyArgentinaElwin Sharvill PROPOSAL
Mayumi Q RulapaughArgentinaAnna Fali NEGOTIATION
Smith S TollnerIndiaAsiya Javayant NEW
Juan H MarrierJapanBernardo Dominic UNQUALIFIED
Jones I PerinCanadaXuxue Feng UNQUALIFIED
Johnson Z CaudyItalyStephen Shaw UNQUALIFIED
Munro P RimUnited KingdomXuxue Feng NEW
Kaitlin K OldroydJapanAmy Elsner UNQUALIFIED
Claire W StensethArgentinaAsiya Javayant RENEWAL
Izzy Z TollnerItalyBernardo Dominic RENEWAL
Maria C RoysterGermanyIoni Bowcher PROPOSAL
Stacey L KuskoGermanyOnyama Limba UNQUALIFIED
Sinclair U ChuiGermanyIvan Magalhaes RENEWAL
Ashley G NestleRussiaOnyama Limba NEW
Ashley R FollerJapanXuxue Feng QUALIFIED
Johnson F FlosiItalyOnyama Limba NEGOTIATION
Nicolas B WieserGermanyAmy Elsner NEW
Alejandro S TollnerCanadaAmy Elsner NEW
Izzy T MacleadBrazilXuxue Feng PROPOSAL
Julie Q StockhamItalyIvan Magalhaes PROPOSAL
Francesco N PaprockiAustraliaIvan Magalhaes NEGOTIATION
Silvio J RoysterRussiaAmy Elsner NEW
Murillo O AlbaresIndiaIvan Magalhaes PROPOSAL
Faith N TollnerGermanyXuxue Feng RENEWAL
Ivar T PaprockiGermanyAsiya Javayant NEGOTIATION
Leon Q AmigonFranceBernardo Dominic NEGOTIATION
Emily X CaldareraCanadaElwin Sharvill NEW
Deepesh X FollerCanadaBernardo Dominic PROPOSAL
Kadeem J ChuiCanadaElwin Sharvill QUALIFIED
Alejandro D FlosiSpainElwin Sharvill NEGOTIATION
Frozen Columns
Name
Mujtaba Z Rulapaugh
Stacey K Nestle
Smith K Tollner
Faith A Inouye
Ivar Q Darakjy
Murillo H Iturbide
Costa P Maclead
Ricardo M Bowley
Chavez J Iturbide
Julie A Nicka
Adams H Amigon
Mujtaba S Butt
Sinclair O Stenseth
Isabel Y Rulapaugh
David X Morasca
Arvin L Glick
Francesco L Rim
Jefferson P Foller
Kadeem K Glick
Mujtaba U Marrier
Chavez X Briddick
Clifford L Slusarski
Isabel J Nicka
Jones A Slusarski
Arvin C Ostrosky
Rodrigues L Marrier
Smith H Darakjy
Salvatore K Maclead
Chavez N Whobrey
Greenwood Y Oldroyd
Adams I Paprocki
Johnson B Perin
Ivar Z Ruta
Jennifer W Foller
Maria T Venere
Costa T Nicka
Nicolas E Poquette
Murillo Z Ostrosky
Maisha N Bolognia
Costa E Stockham
Kaitlin X Stenseth
Darci N Nicka
Misaki X Doe
Faith K Ruta
Julie H Garufi
Johnson T Glick
Wickens C Slusarski
Silvio E Venere
Misaki W Nestle
Darci M Ruta
IdCountryDate
1000Japan2024-06-02
1001United Kingdom2024-06-03
1002Japan2024-06-09
1003United Kingdom2024-06-10
1004Germany2024-06-01
1005Spain2024-05-26
1006Russia2024-06-11
1007United Kingdom2024-06-05
1008Italy2024-06-01
1009Italy2024-05-21
1010Spain2024-05-23
1011Argentina2024-05-17
1012Australia2024-06-06
1013Canada2024-05-26
1014France2024-05-23
1015Russia2024-05-21
1016Brazil2024-05-28
1017France2024-05-20
1018India2024-06-01
1019France2024-06-09
1020Russia2024-06-06
1021Italy2024-06-03
1022Japan2024-05-31
1023France2024-05-19
1024France2024-06-01
1025Italy2024-05-27
1026France2024-05-27
1027Russia2024-05-30
1028Italy2024-06-13
1029Australia2024-05-19
1030Argentina2024-05-31
1031United Kingdom2024-05-17
1032United Kingdom2024-06-12
1033France2024-06-08
1034Spain2024-05-15
1035Russia2024-05-15
1036Germany2024-06-12
1037Canada2024-06-02
1038France2024-06-06
1039France2024-05-20
1040Russia2024-05-28
1041Russia2024-05-19
1042Germany2024-05-22
1043Germany2024-06-06
1044Germany2024-05-19
1045Australia2024-06-13
1046Germany2024-06-02
1047Brazil2024-06-10
1048Canada2024-06-10
1049Canada2024-05-17

On-Demand Data

NameIdCountryDate
Adams O Sergi1000Spain2024-05-27
Antonio B Nicka1001India2024-06-04
Chavez M Rim1002Australia2024-05-25
Misaki C Malet1003Japan2024-06-13
Emily D Waycott1004France2024-05-30
Stacey U Perin1005Spain2024-05-24
Mujtaba O Nestle1006India2024-05-28
Deepesh G Dilliard1007Japan2024-06-06
Sinclair A Caudy1008India2024-06-12
Rodrigues H Darakjy1009Spain2024-06-10
Darci B Waycott1010France2024-06-07
Morrow Z Sergi1011Brazil2024-06-08
Wickens R Stenseth1012Russia2024-06-07
Silvio H Sergi1013Germany2024-05-17
Aruna A Maclead1014France2024-05-20
Alejandro O Vocelka1015Germany2024-06-11
Wickens H Venere1016India2024-06-06
Leja J Maclead1017Canada2024-06-01
Mujtaba Z Stenseth1018Australia2024-05-30
Emily X Malet1019Russia2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey G OstroskySpainBernardo Dominic UNQUALIFIED
Chavez K WhobreyBrazilAnna Fali NEW
Deepesh X CaldareraFranceElwin Sharvill UNQUALIFIED
Antonio M NestleArgentinaBernardo Dominic QUALIFIED
Jones X BowleyItalyAsiya Javayant RENEWAL
Kadeem S InouyeIndiaElwin Sharvill NEGOTIATION
Leon O ShinkoUnited KingdomAnna Fali PROPOSAL
Alejandro J SlusarskiJapanXuxue Feng RENEWAL
Alejandro G VenereIndiaIvan Magalhaes QUALIFIED
Maria T PaprockiJapanElwin Sharvill NEGOTIATION
Isabel N StockhamJapanAsiya Javayant RENEWAL
Stacey S DilliardRussiaStephen Shaw RENEWAL
Smith A GillianAustraliaAmy Elsner UNQUALIFIED
Tony X SlusarskiIndiaElwin Sharvill NEGOTIATION
Julie J MacleadArgentinaIoni Bowcher NEGOTIATION
Nicolas A StensethAustraliaIoni Bowcher PROPOSAL
Arvin R DoeFranceIoni Bowcher QUALIFIED
Isabel N MaletCanadaXuxue Feng RENEWAL
Rodrigues G ShinkoBrazilElwin Sharvill NEGOTIATION
Smith V FerenczSpainBernardo Dominic UNQUALIFIED
Juan B FerenczSpainXuxue Feng UNQUALIFIED
Julie H GauchoRussiaElwin Sharvill PROPOSAL
Julie Y BowleyCanadaAsiya Javayant QUALIFIED
Ricardo U RoysterAustraliaIoni Bowcher UNQUALIFIED
Silvio P MorascaBrazilAnna Fali NEGOTIATION
Stacey L SlusarskiFranceIvan Magalhaes PROPOSAL
Smith R DarakjyUnited KingdomIoni Bowcher QUALIFIED
Costa D OstroskyIndiaIvan Magalhaes PROPOSAL
Leon T AlbaresArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois V KuskoCanadaIoni Bowcher NEGOTIATION
Kadeem R BologniaAustraliaAsiya Javayant NEW
Mujtaba N VocelkaSpainStephen Shaw PROPOSAL
Claire Z MaletBrazilAmy Elsner QUALIFIED
Octavia H SlusarskiFranceAnna Fali RENEWAL
Tony K WieserCanadaBernardo Dominic PROPOSAL
Sinclair P MarrierJapanXuxue Feng QUALIFIED
Mayumi X GauchoCanadaOnyama Limba NEGOTIATION
Wickens O MorascaJapanElwin Sharvill NEW
Mujtaba D FollerGermanyIoni Bowcher QUALIFIED
Darci B KolmetzSpainOnyama Limba PROPOSAL

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