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
Emily M RimAustraliaBernardo Dominic UNQUALIFIED
Alejandro E SlusarskiCanadaIvan Magalhaes NEGOTIATION
Leja P MaletCanadaXuxue Feng UNQUALIFIED
Julie N StensethFranceBernardo Dominic UNQUALIFIED
Claire H CampainGermanyElwin Sharvill UNQUALIFIED
Maisha J NickaUnited KingdomAsiya Javayant NEGOTIATION
Aika I ButtBrazilAsiya Javayant NEGOTIATION
Alejandro R NestleIndiaAmy Elsner NEGOTIATION
Isabel I BriddickSpainStephen Shaw NEW
Smith J AmigonArgentinaAnna Fali QUALIFIED
Smith S MaletJapanAnna Fali RENEWAL
Adams O DilliardIndiaStephen Shaw NEGOTIATION
Julie F StockhamRussiaElwin Sharvill NEGOTIATION
Rodrigues B SchemmerRussiaIoni Bowcher UNQUALIFIED
Smith T CaudyItalyBernardo Dominic PROPOSAL
Jeanfrancois Y FollerJapanIoni Bowcher NEGOTIATION
Mujtaba T StensethUnited KingdomBernardo Dominic NEGOTIATION
Juan G MorascaRussiaXuxue Feng NEGOTIATION
Deepesh L ButtAustraliaElwin Sharvill NEW
Salvatore D ChuiRussiaAmy Elsner QUALIFIED
Stacey O CaudyBrazilBernardo Dominic RENEWAL
Cody G InouyeUnited KingdomElwin Sharvill NEW
Izzy B BriddickJapanAnna Fali PROPOSAL
Arvin W FerenczItalyIvan Magalhaes QUALIFIED
Salvatore Q GauchoGermanyIvan Magalhaes NEGOTIATION
Smith M BologniaRussiaXuxue Feng RENEWAL
Morrow L MarrierAustraliaStephen Shaw PROPOSAL
Emily F PerinArgentinaIvan Magalhaes QUALIFIED
Arvin I InouyeUnited KingdomAnna Fali PROPOSAL
Sinclair B SaylorsAustraliaElwin Sharvill NEGOTIATION
Arvin N VenereBrazilStephen Shaw NEGOTIATION
Izzy E PoquetteRussiaIoni Bowcher NEGOTIATION
Johnson I MaletItalyElwin Sharvill NEW
Wickens Q MacleadCanadaAmy Elsner PROPOSAL
Francesco M FlosiCanadaAmy Elsner NEGOTIATION
Maria R CampainBrazilIoni Bowcher NEW
Isabel K TollnerItalyOnyama Limba NEGOTIATION
Tony V WieserGermanyElwin Sharvill RENEWAL
Jones M MorascaRussiaXuxue Feng RENEWAL
David S CampainGermanyAsiya Javayant QUALIFIED
Leja R FigeroaArgentinaElwin Sharvill NEGOTIATION
Aika F InouyeIndiaIoni Bowcher PROPOSAL
Smith J GauchoIndiaAmy Elsner UNQUALIFIED
Rodrigues U MarrierGermanyXuxue Feng PROPOSAL
Clifford G OstroskyFranceBernardo Dominic UNQUALIFIED
Jeanfrancois S MaletArgentinaBernardo Dominic UNQUALIFIED
Maria W WaycottFranceBernardo Dominic UNQUALIFIED
Maria Z OstroskyArgentinaIoni Bowcher NEGOTIATION
Aika A ButtAustraliaStephen Shaw RENEWAL
Juan Z StensethSpainIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Tony B SaylorsUnited KingdomStephen Shaw QUALIFIED
Costa L RutaJapanElwin Sharvill UNQUALIFIED
Emily J OstroskyJapanStephen Shaw PROPOSAL
Johnson S SlusarskiAustraliaStephen Shaw NEW
Deepesh U KuskoJapanAmy Elsner UNQUALIFIED
Leja S KolmetzSpainIoni Bowcher PROPOSAL
Ashley C PerinJapanBernardo Dominic UNQUALIFIED
Adams L OldroydJapanXuxue Feng UNQUALIFIED
Greenwood Z SergiBrazilAmy Elsner QUALIFIED
James K SergiGermanyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy V DarakjyItaly2024-06-11Truhlar And Truhlar Attys PROPOSAL81Anna Fali
1001Silvio X GillianJapan2024-06-01Chanay, Jeffrey A Esq PROPOSAL94Ioni Bowcher
1002Stacey N AlbaresJapan2024-05-24Truhlar And Truhlar Attys NEW70Ioni Bowcher
1003Maria A ButtArgentina2024-06-20King, Christopher A Esq RENEWAL62Ioni Bowcher
1004Salvatore T OstroskyJapan2024-06-21Feiner Bros PROPOSAL40Amy Elsner
1005Tony U VocelkaUnited Kingdom2024-06-01King, Christopher A Esq QUALIFIED1Amy Elsner
1006Jones G StensethJapan2024-06-11Chanay, Jeffrey A Esq RENEWAL17Bernardo Dominic
1007Stacey I GillianItaly2024-05-26Chemel, James L Cpa NEGOTIATION86Asiya Javayant
1008Silvio P AmigonGermany2024-06-01Feiner Bros NEGOTIATION78Onyama Limba
1009Ashley F FerenczArgentina2024-05-25Chemel, James L Cpa NEW10Onyama Limba
1010James Y MacleadIndia2024-06-16Rousseaux, Michael Esq PROPOSAL83Ioni Bowcher
1011Ivar B RoysterItaly2024-05-24Chapman, Ross E Esq PROPOSAL43Elwin Sharvill
1012Jennifer Q CaudyItaly2024-06-18Rousseaux, Michael Esq PROPOSAL38Xuxue Feng
1013Octavia C IturbideBrazil2024-06-02Rangoni Of Florence PROPOSAL12Ivan Magalhaes
1014Chavez N ShinkoItaly2024-06-05Chapman, Ross E Esq PROPOSAL98Xuxue Feng
1015Claire R OstroskyBrazil2024-05-30Chanay, Jeffrey A Esq NEGOTIATION81Ivan Magalhaes
1016Arvin Z KuskoGermany2024-06-20Benton, John B Jr NEW85Ioni Bowcher
1017Misaki T OldroydUnited Kingdom2024-06-19Rousseaux, Michael Esq NEGOTIATION58Ivan Magalhaes
1018Julie J AmigonCanada2024-05-27Feiner Bros RENEWAL1Xuxue Feng
1019Jones Y KuskoFrance2024-05-26King, Christopher A Esq PROPOSAL78Stephen Shaw
1020Darci L RulapaughIndia2024-05-31Feltz Printing Service PROPOSAL62Anna Fali
1021Ricardo T RulapaughFrance2024-06-15Rangoni Of Florence RENEWAL35Stephen Shaw
1022Maria W NestleIndia2024-06-12Buckley Miller Wright PROPOSAL9Stephen Shaw
1023Smith B AlbaresUnited Kingdom2024-05-26Truhlar And Truhlar Attys NEGOTIATION27Stephen Shaw
1024Silvio O OstroskyFrance2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED12Stephen Shaw
1025Isabel C ChuiFrance2024-06-17Rousseaux, Michael Esq UNQUALIFIED3Anna Fali
1026Isabel M WaycottArgentina2024-05-23Feiner Bros QUALIFIED11Anna Fali
1027Julie M CampainBrazil2024-06-20King, Christopher A Esq PROPOSAL44Asiya Javayant
1028Antonio O PoquetteFrance2024-06-16Chanay, Jeffrey A Esq QUALIFIED52Anna Fali
1029Claire R AlbaresFrance2024-06-21Morlong Associates QUALIFIED70Asiya Javayant
1030Arvin W RimIndia2024-05-30King, Christopher A Esq NEGOTIATION87Amy Elsner
1031Adams R MorascaIndia2024-06-20Chanay, Jeffrey A Esq PROPOSAL15Bernardo Dominic
1032Ashley W WhobreyGermany2024-05-23Feiner Bros NEW82Amy Elsner
1033Adams J GarufiRussia2024-05-23Printing Dimensions NEW30Amy Elsner
1034Jeanfrancois M DoeAustralia2024-05-27Dorl, James J Esq RENEWAL46Ioni Bowcher
1035Ashley B CaudyUnited Kingdom2024-05-24King, Christopher A Esq UNQUALIFIED49Elwin Sharvill
1036Salvatore U KuskoItaly2024-06-19King, Christopher A Esq UNQUALIFIED53Asiya Javayant
1037Arvin F VocelkaCanada2024-06-02Feltz Printing Service NEGOTIATION49Stephen Shaw
1038Costa R GauchoJapan2024-06-17Morlong Associates UNQUALIFIED67Elwin Sharvill
1039Julie T CaldareraRussia2024-06-19Feltz Printing Service RENEWAL31Ivan Magalhaes
1040Silvio P NickaJapan2024-05-30Chapman, Ross E Esq PROPOSAL73Ivan Magalhaes
1041Julie L SergiItaly2024-06-19Dorl, James J Esq UNQUALIFIED80Ivan Magalhaes
1042Faith S StensethBrazil2024-06-12Printing Dimensions NEGOTIATION73Xuxue Feng
1043Greenwood V IturbideAustralia2024-06-05Rangoni Of Florence UNQUALIFIED23Ivan Magalhaes
1044Leon P CaldareraFrance2024-06-19Feiner Bros UNQUALIFIED48Asiya Javayant
1045Rodrigues S KolmetzGermany2024-05-27King, Christopher A Esq NEW68Asiya Javayant
1046Ricardo N GlickGermany2024-05-30King, Christopher A Esq NEGOTIATION23Anna Fali
1047Ricardo M CaudyAustralia2024-06-12Truhlar And Truhlar Attys RENEWAL39Asiya Javayant
1048Jennifer C ButtIndia2024-05-25Feltz Printing Service UNQUALIFIED1Ivan Magalhaes
1049Wickens X AlbaresGermany2024-05-25King, Christopher A Esq PROPOSAL21Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Nicolas D StockhamGermanyXuxue Feng QUALIFIED
Ashley P StensethFranceXuxue Feng RENEWAL
Arvin D KuskoFranceStephen Shaw NEW
Ivar E WaycottArgentinaElwin Sharvill UNQUALIFIED
Mujtaba G BriddickBrazilAsiya Javayant RENEWAL
Kadeem K GlickArgentinaIvan Magalhaes NEW
Smith T VocelkaSpainOnyama Limba NEGOTIATION
Leon B PoquetteGermanyStephen Shaw UNQUALIFIED
Nicolas L FerenczSpainXuxue Feng NEGOTIATION
Francesco Z RimFranceStephen Shaw RENEWAL
Claire M ShinkoCanadaIvan Magalhaes NEW
Deepesh F RoysterCanadaIoni Bowcher UNQUALIFIED
Morrow Q StensethSpainAmy Elsner PROPOSAL
Ivar O PerinCanadaAsiya Javayant RENEWAL
Morrow B GlickGermanyAnna Fali RENEWAL
Arvin A PerinIndiaBernardo Dominic QUALIFIED
Faith L DarakjyArgentinaBernardo Dominic UNQUALIFIED
Maisha B ShinkoJapanAsiya Javayant UNQUALIFIED
David E SaylorsCanadaElwin Sharvill RENEWAL
Antonio A InouyeUnited KingdomXuxue Feng NEGOTIATION
Johnson X ChuiJapanElwin Sharvill RENEWAL
Munro V SchemmerGermanyElwin Sharvill UNQUALIFIED
Leon I DilliardBrazilIoni Bowcher NEGOTIATION
Antonio L GauchoJapanOnyama Limba UNQUALIFIED
Octavia I PoquetteFranceElwin Sharvill PROPOSAL
Leon J RimUnited KingdomXuxue Feng QUALIFIED
Kaitlin M DarakjyJapanXuxue Feng NEGOTIATION
Stacey Y ChuiArgentinaElwin Sharvill QUALIFIED
Tony E FollerFranceAnna Fali UNQUALIFIED
Aika D ButtRussiaBernardo Dominic QUALIFIED
Jefferson O MorascaAustraliaIoni Bowcher UNQUALIFIED
Wickens Y CaudySpainIvan Magalhaes PROPOSAL
David D NestleSpainElwin Sharvill NEW
Aika B ShinkoCanadaElwin Sharvill PROPOSAL
Darci U RoysterUnited KingdomOnyama Limba QUALIFIED
Octavia W OstroskySpainStephen Shaw PROPOSAL
Leja D MacleadItalyAmy Elsner NEW
Ashley F ButtRussiaAsiya Javayant PROPOSAL
Maria W GarufiArgentinaXuxue Feng UNQUALIFIED
Rodrigues J DoeJapanBernardo Dominic NEW
Jeanfrancois V GauchoJapanIvan Magalhaes QUALIFIED
Francesco U WaycottJapanElwin Sharvill NEGOTIATION
Octavia N AmigonGermanyXuxue Feng QUALIFIED
Cody S BologniaJapanAmy Elsner PROPOSAL
Emily F BriddickJapanBernardo Dominic RENEWAL
Deepesh V AlbaresCanadaIoni Bowcher NEW
Isabel H ButtFranceAsiya Javayant RENEWAL
Adams S TollnerAustraliaStephen Shaw QUALIFIED
Aditya X DarakjyFranceIoni Bowcher NEGOTIATION
Chavez L CampainBrazilAnna Fali UNQUALIFIED
Frozen Columns
Name
Octavia V Saylors
Alejandro Z Ferencz
Sinclair T Stenseth
David R Iturbide
Sinclair R Malet
David E Sergi
Emily E Garufi
Aditya B Iturbide
Juan M Figeroa
Ricardo R Royster
Costa P Caldarera
Costa B Doe
Johnson B Wieser
Clifford P Stenseth
Cody W Maclead
Costa W Garufi
Smith N Paprocki
Morrow I Bowley
Isabel L Albares
Deepesh F Darakjy
Kadeem R Briddick
Jefferson J Paprocki
Izzy W Chui
Clifford M Morasca
Smith Z Ruta
Rodrigues Y Nestle
Johnson B Gillian
Munro N Sergi
Aruna S Stenseth
Wickens O Saylors
Ashley W Caldarera
Greenwood A Morasca
Munro B Gillian
Misaki R Gillian
Octavia I Perin
Smith J Slusarski
Rodrigues J Maclead
Izzy Z Darakjy
Emily Q Campain
Aditya P Marrier
Izzy D Glick
Mayumi T Nicka
Tony T Perin
Johnson H Perin
Jennifer P Paprocki
Arvin P Garufi
Jennifer A Schemmer
Salvatore T Saylors
Leon G Darakjy
Ashley O Albares
IdCountryDate
1000France2024-05-23
1001Argentina2024-06-07
1002Germany2024-06-08
1003Germany2024-06-10
1004Russia2024-06-14
1005Russia2024-06-21
1006Germany2024-06-05
1007Italy2024-05-31
1008France2024-05-24
1009Germany2024-05-29
1010Brazil2024-05-31
1011Canada2024-05-26
1012Japan2024-06-02
1013Russia2024-06-17
1014United Kingdom2024-06-21
1015Germany2024-06-03
1016Japan2024-05-24
1017Australia2024-06-20
1018Italy2024-05-31
1019Japan2024-06-13
1020Germany2024-06-03
1021United Kingdom2024-06-18
1022Russia2024-05-23
1023France2024-05-23
1024India2024-06-08
1025Russia2024-06-17
1026Germany2024-06-18
1027Japan2024-06-17
1028Italy2024-06-07
1029Canada2024-05-27
1030Argentina2024-05-23
1031Germany2024-06-05
1032Japan2024-06-18
1033Germany2024-05-30
1034Argentina2024-06-10
1035Spain2024-06-18
1036Australia2024-05-31
1037Italy2024-05-23
1038Germany2024-05-27
1039Australia2024-06-07
1040France2024-06-05
1041India2024-05-24
1042Spain2024-06-21
1043Italy2024-06-21
1044United Kingdom2024-05-30
1045France2024-06-05
1046Russia2024-06-19
1047Canada2024-06-06
1048Japan2024-06-11
1049Spain2024-06-07

On-Demand Data

NameIdCountryDate
Octavia J Briddick1000Russia2024-05-24
Izzy L Morasca1001Japan2024-06-12
Claire N Rim1002Japan2024-06-21
Kadeem G Perin1003Russia2024-06-17
Aika X Chui1004Japan2024-06-12
Nicolas V Waycott1005United Kingdom2024-06-16
Juan O Poquette1006Brazil2024-05-31
David A Maclead1007Japan2024-06-17
Arvin U Tollner1008Italy2024-05-31
Chavez X Butt1009Brazil2024-06-18
Adams D Flosi1010Italy2024-05-31
Isabel J Caldarera1011Argentina2024-06-08
Jefferson B Flosi1012Spain2024-06-05
Leon U Paprocki1013Spain2024-06-20
Adams U Albares1014Russia2024-06-15
Francesco Y Butt1015Italy2024-06-21
Greenwood J Garufi1016Germany2024-06-02
Aditya Q Caldarera1017Australia2024-06-07
Octavia D Albares1018United Kingdom2024-06-08
Sinclair O Glick1019United Kingdom2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow B DilliardRussiaElwin Sharvill QUALIFIED
Aditya D StockhamGermanyIvan Magalhaes UNQUALIFIED
Darci E NestleIndiaAmy Elsner PROPOSAL
Deepesh O SergiUnited KingdomAmy Elsner PROPOSAL
Kaitlin X BowleyRussiaStephen Shaw NEW
Clifford N DoeUnited KingdomAsiya Javayant UNQUALIFIED
Aruna H DilliardAustraliaAmy Elsner NEW
Octavia M DoeSpainStephen Shaw RENEWAL
Ashley Z MaletRussiaElwin Sharvill NEGOTIATION
Wickens N BriddickGermanyIvan Magalhaes QUALIFIED
Jones V KuskoRussiaElwin Sharvill UNQUALIFIED
David M KolmetzCanadaIvan Magalhaes NEW
Silvio Y MaletGermanyIvan Magalhaes RENEWAL
Clifford U MacleadAustraliaAmy Elsner QUALIFIED
Jones H AmigonJapanIvan Magalhaes RENEWAL
Kaitlin H VenereBrazilBernardo Dominic QUALIFIED
Jefferson B CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Octavia C InouyeBrazilIvan Magalhaes QUALIFIED
Tony B TollnerJapanIvan Magalhaes QUALIFIED
Misaki A BowleySpainIvan Magalhaes NEW
Jefferson S VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo D NickaAustraliaIoni Bowcher RENEWAL
Sinclair K MacleadUnited KingdomAmy Elsner UNQUALIFIED
Chavez K GauchoGermanyAmy Elsner NEGOTIATION
Maisha L CaudyJapanIvan Magalhaes RENEWAL
Julie Y MaletBrazilXuxue Feng UNQUALIFIED
Misaki D KolmetzGermanyOnyama Limba NEW
Ivar Q DoeAustraliaBernardo Dominic UNQUALIFIED
Izzy P MaletAustraliaBernardo Dominic PROPOSAL
Leja H FlosiItalyXuxue Feng NEW
Greenwood J FollerItalyElwin Sharvill UNQUALIFIED
Maisha O RutaIndiaAnna Fali PROPOSAL
Tony A ChuiSpainXuxue Feng NEGOTIATION
Cody B RimAustraliaAmy Elsner NEGOTIATION
Mujtaba S BriddickItalyAsiya Javayant QUALIFIED
Ricardo U PerinItalyAsiya Javayant NEGOTIATION
Munro S FerenczItalyXuxue Feng UNQUALIFIED
Wickens P MorascaUnited KingdomOnyama Limba QUALIFIED
Jones Y AlbaresArgentinaAnna Fali NEGOTIATION
Jefferson S ButtJapanBernardo Dominic 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>