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
Jennifer M WaycottRussiaAnna Fali QUALIFIED
Francesco T PerinSpainBernardo Dominic QUALIFIED
Emily E AmigonAustraliaXuxue Feng QUALIFIED
Arvin W MacleadUnited KingdomIoni Bowcher QUALIFIED
Francesco U BologniaRussiaAmy Elsner UNQUALIFIED
Silvio M TollnerGermanyIvan Magalhaes QUALIFIED
Costa A NestleUnited KingdomXuxue Feng NEGOTIATION
Aditya W FollerSpainAmy Elsner PROPOSAL
Francesco O StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Emily V PerinArgentinaXuxue Feng NEGOTIATION
Ricardo I FlosiAustraliaAsiya Javayant QUALIFIED
Isabel Y PerinRussiaAsiya Javayant UNQUALIFIED
Adams D VenereGermanyBernardo Dominic RENEWAL
Izzy U ButtUnited KingdomOnyama Limba NEGOTIATION
Nicolas L FollerBrazilOnyama Limba UNQUALIFIED
Murillo J WhobreyArgentinaAnna Fali UNQUALIFIED
Aika F NickaIndiaStephen Shaw UNQUALIFIED
Clifford U RimItalyStephen Shaw RENEWAL
Isabel T GillianGermanyIoni Bowcher NEW
Clifford X VenereAustraliaBernardo Dominic UNQUALIFIED
Jones G FerenczGermanyOnyama Limba NEW
Aditya N MacleadItalyStephen Shaw UNQUALIFIED
Greenwood U CampainCanadaAnna Fali QUALIFIED
Francesco Z GillianItalyAnna Fali NEGOTIATION
Jefferson D SergiItalyAsiya Javayant UNQUALIFIED
Mayumi M SchemmerFranceAmy Elsner UNQUALIFIED
Aruna R SergiJapanIoni Bowcher QUALIFIED
Faith L BologniaUnited KingdomXuxue Feng RENEWAL
Arvin I RulapaughItalyOnyama Limba QUALIFIED
Deepesh T RimUnited KingdomStephen Shaw NEGOTIATION
Murillo K SergiArgentinaOnyama Limba RENEWAL
Alejandro A KolmetzUnited KingdomAsiya Javayant RENEWAL
Faith O FlosiUnited KingdomAnna Fali NEW
Ivar O OldroydUnited KingdomStephen Shaw NEGOTIATION
Johnson W SergiArgentinaIvan Magalhaes UNQUALIFIED
Munro N RimUnited KingdomStephen Shaw QUALIFIED
Chavez N AlbaresGermanyAsiya Javayant NEW
Aika L OldroydUnited KingdomBernardo Dominic NEGOTIATION
James T GarufiItalyAnna Fali QUALIFIED
Isabel K AmigonSpainAmy Elsner QUALIFIED
Kadeem C SlusarskiCanadaStephen Shaw PROPOSAL
Sinclair W WaycottBrazilBernardo Dominic QUALIFIED
Aika K FigeroaFranceOnyama Limba NEGOTIATION
Izzy W VenereFranceXuxue Feng RENEWAL
Tony Z CampainCanadaOnyama Limba NEW
Ricardo T OldroydUnited KingdomAsiya Javayant NEGOTIATION
Deepesh G SlusarskiItalyAnna Fali NEGOTIATION
James M StockhamItalyStephen Shaw NEGOTIATION
Munro D MarrierBrazilXuxue Feng UNQUALIFIED
Aditya V IturbideRussiaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore C ChuiRussiaOnyama Limba PROPOSAL
Johnson U MorascaCanadaAsiya Javayant UNQUALIFIED
Claire V TollnerAustraliaIoni Bowcher NEGOTIATION
Claire K VocelkaJapanAnna Fali PROPOSAL
Faith V MarrierArgentinaXuxue Feng UNQUALIFIED
Cody X BriddickArgentinaAsiya Javayant NEGOTIATION
Ivar P DoeGermanyStephen Shaw RENEWAL
Kadeem I IturbideJapanStephen Shaw QUALIFIED
Misaki H FlosiGermanyAnna Fali NEW
Johnson Z ChuiBrazilXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba Q VenereRussia2025-04-18Rousseaux, Michael Esq RENEWAL22Onyama Limba
1001Kadeem S MaletBrazil2025-04-22Chapman, Ross E Esq PROPOSAL21Anna Fali
1002Alejandro Z GarufiAustralia2025-04-16Rousseaux, Michael Esq QUALIFIED22Stephen Shaw
1003Aruna J RulapaughCanada2025-04-13Chanay, Jeffrey A Esq RENEWAL48Onyama Limba
1004Tony L DoeItaly2025-04-14Rousseaux, Michael Esq UNQUALIFIED84Xuxue Feng
1005Wickens R ShinkoBrazil2025-04-27Chemel, James L Cpa QUALIFIED56Anna Fali
1006James N KolmetzCanada2025-04-08Feltz Printing Service UNQUALIFIED76Onyama Limba
1007Antonio I VenereSpain2025-04-18Printing Dimensions PROPOSAL32Bernardo Dominic
1008Jefferson J GarufiUnited Kingdom2025-04-19Dorl, James J Esq RENEWAL51Anna Fali
1009Leja P GillianAustralia2025-04-07Truhlar And Truhlar Attys NEGOTIATION89Anna Fali
1010Octavia L FollerArgentina2025-04-23Feltz Printing Service NEGOTIATION2Anna Fali
1011Jennifer S VenereJapan2025-04-20Dorl, James J Esq NEW13Stephen Shaw
1012Adams D MaletArgentina2025-04-04Rousseaux, Michael Esq PROPOSAL73Ioni Bowcher
1013Misaki M NickaSpain2025-04-09Chanay, Jeffrey A Esq UNQUALIFIED49Ivan Magalhaes
1014Kaitlin N FollerItaly2025-04-25Feiner Bros NEGOTIATION62Asiya Javayant
1015Tony G ChuiCanada2025-04-05Benton, John B Jr NEGOTIATION8Onyama Limba
1016Isabel M GauchoArgentina2025-04-11Truhlar And Truhlar Attys QUALIFIED91Amy Elsner
1017Clifford I FerenczFrance2025-04-07Printing Dimensions UNQUALIFIED55Anna Fali
1018Stacey I WaycottArgentina2025-04-30Feiner Bros UNQUALIFIED96Amy Elsner
1019Misaki P SchemmerUnited Kingdom2025-04-22Chemel, James L Cpa NEGOTIATION2Onyama Limba
1020Octavia M GauchoIndia2025-04-02Commercial Press PROPOSAL36Stephen Shaw
1021Jeanfrancois H DilliardGermany2025-04-30Chapman, Ross E Esq NEGOTIATION92Stephen Shaw
1022Rodrigues P SlusarskiJapan2025-04-10Feiner Bros NEGOTIATION44Bernardo Dominic
1023Leja K ChuiIndia2025-04-08Chanay, Jeffrey A Esq QUALIFIED56Elwin Sharvill
1024Johnson P GauchoCanada2025-04-19Buckley Miller Wright NEGOTIATION27Anna Fali
1025Juan J GlickArgentina2025-04-16Feltz Printing Service NEGOTIATION72Bernardo Dominic
1026Mujtaba N ChuiCanada2025-04-06Feiner Bros NEGOTIATION16Xuxue Feng
1027Alejandro L RulapaughAustralia2025-04-26Benton, John B Jr RENEWAL27Asiya Javayant
1028Ricardo Q WieserCanada2025-04-21Rangoni Of Florence PROPOSAL98Amy Elsner
1029Julie Y FerenczIndia2025-04-25Printing Dimensions UNQUALIFIED64Elwin Sharvill
1030Greenwood C PerinArgentina2025-04-02Buckley Miller Wright PROPOSAL62Amy Elsner
1031Emily N WaycottAustralia2025-04-18Feltz Printing Service NEGOTIATION99Onyama Limba
1032Ivar Q StockhamCanada2025-04-08Printing Dimensions NEW67Stephen Shaw
1033Chavez J OstroskyGermany2025-04-23Chanay, Jeffrey A Esq UNQUALIFIED24Anna Fali
1034Munro I GauchoFrance2025-04-06Feltz Printing Service UNQUALIFIED35Ioni Bowcher
1035James R OstroskyAustralia2025-04-05King, Christopher A Esq QUALIFIED24Asiya Javayant
1036Octavia M MarrierFrance2025-04-11Commercial Press RENEWAL14Onyama Limba
1037Johnson O CampainUnited Kingdom2025-04-14Truhlar And Truhlar Attys NEGOTIATION44Xuxue Feng
1038Octavia X InouyeArgentina2025-04-27King, Christopher A Esq QUALIFIED74Ioni Bowcher
1039Leon G WaycottCanada2025-04-09Morlong Associates UNQUALIFIED28Xuxue Feng
1040Isabel F OstroskyItaly2025-04-23Buckley Miller Wright PROPOSAL82Elwin Sharvill
1041Cody R PerinSpain2025-04-07Chapman, Ross E Esq UNQUALIFIED42Asiya Javayant
1042Chavez Z VocelkaSpain2025-04-05Chemel, James L Cpa NEW63Amy Elsner
1043Alejandro G NickaAustralia2025-04-14Chemel, James L Cpa NEGOTIATION60Onyama Limba
1044Aditya H ButtArgentina2025-04-12Buckley Miller Wright UNQUALIFIED24Amy Elsner
1045Salvatore M KolmetzBrazil2025-04-03Chemel, James L Cpa UNQUALIFIED84Bernardo Dominic
1046Isabel Q OldroydArgentina2025-04-19Commercial Press NEW39Bernardo Dominic
1047Jones B KolmetzRussia2025-04-10Commercial Press NEGOTIATION48Xuxue Feng
1048Mayumi U WieserBrazil2025-04-27Morlong Associates NEGOTIATION4Bernardo Dominic
1049Arvin Y CaudyArgentina2025-04-06Chanay, Jeffrey A Esq PROPOSAL99Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Misaki Q WaycottJapanAnna Fali NEGOTIATION
Kaitlin C WhobreyJapanAnna Fali NEW
Kaitlin W IturbideRussiaElwin Sharvill NEW
Kaitlin K MacleadAustraliaOnyama Limba QUALIFIED
Leja P FlosiGermanyOnyama Limba NEGOTIATION
David X WieserAustraliaXuxue Feng PROPOSAL
Mayumi N VenereSpainAnna Fali NEW
Adams P KuskoArgentinaStephen Shaw UNQUALIFIED
Chavez C StensethItalyIoni Bowcher NEW
Johnson L BriddickCanadaIvan Magalhaes RENEWAL
Claire B IturbideJapanIvan Magalhaes PROPOSAL
Munro F RoysterGermanyIvan Magalhaes PROPOSAL
James L NickaCanadaAsiya Javayant PROPOSAL
James Q CampainArgentinaElwin Sharvill UNQUALIFIED
Aditya G PaprockiSpainXuxue Feng NEW
Faith T CaldareraCanadaXuxue Feng PROPOSAL
Leon F BriddickCanadaXuxue Feng NEW
Rodrigues P KuskoRussiaBernardo Dominic PROPOSAL
Darci W SergiFranceElwin Sharvill NEW
Francesco J PoquetteIndiaIoni Bowcher NEGOTIATION
Sinclair W NickaJapanIvan Magalhaes NEW
Johnson T BriddickJapanIoni Bowcher NEGOTIATION
Emily Q MarrierUnited KingdomBernardo Dominic PROPOSAL
Tony T DarakjyIndiaIoni Bowcher RENEWAL
Emily R CaudyJapanIoni Bowcher NEW
Misaki A NestleJapanIvan Magalhaes QUALIFIED
Chavez F CaudyCanadaBernardo Dominic RENEWAL
Greenwood F VenereIndiaElwin Sharvill NEW
Faith C PaprockiItalyBernardo Dominic PROPOSAL
Aditya N KuskoItalyIoni Bowcher NEGOTIATION
Isabel P FerenczItalyBernardo Dominic NEGOTIATION
Isabel J SaylorsArgentinaAsiya Javayant RENEWAL
Claire P RulapaughFranceAsiya Javayant UNQUALIFIED
Misaki M AmigonRussiaOnyama Limba RENEWAL
Jennifer S AlbaresArgentinaAnna Fali UNQUALIFIED
Jeanfrancois J GillianSpainIoni Bowcher UNQUALIFIED
Ashley T MorascaFranceAmy Elsner RENEWAL
Antonio W RoysterItalyAnna Fali RENEWAL
Jennifer X StensethGermanyXuxue Feng QUALIFIED
Jeanfrancois D RutaJapanXuxue Feng NEW
Cody Q BriddickItalyStephen Shaw PROPOSAL
Jones Y SaylorsCanadaAmy Elsner PROPOSAL
Morrow M OstroskyJapanIoni Bowcher NEW
Smith Y DarakjyGermanyStephen Shaw PROPOSAL
Rodrigues T AmigonJapanStephen Shaw RENEWAL
Tony V ChuiUnited KingdomIoni Bowcher PROPOSAL
Costa I WaycottJapanBernardo Dominic UNQUALIFIED
Costa O BologniaIndiaBernardo Dominic RENEWAL
Faith T DilliardGermanyStephen Shaw PROPOSAL
Chavez Y FlosiSpainXuxue Feng NEGOTIATION
Frozen Columns
Name
Cody S Saylors
Ricardo B Malet
Wickens D Stenseth
Izzy W Glick
Mayumi T Perin
Mayumi O Albares
Isabel X Saylors
David E Gaucho
Aruna E Foller
Leon J Campain
Emily X Dilliard
Morrow K Ostrosky
Jones H Figeroa
Sinclair D Royster
Ivar F Waycott
Sinclair O Shinko
Maisha E Doe
Mujtaba C Chui
Costa O Paprocki
Morrow T Venere
Aditya O Figeroa
Smith E Slusarski
Octavia R Malet
Silvio T Foller
Stacey F Marrier
Aika G Amigon
Munro R Schemmer
Ashley X Poquette
Aika A Ferencz
Jennifer I Tollner
Julie C Stenseth
Julie M Nicka
Jeanfrancois O Venere
Julie Q Vocelka
Isabel R Caudy
Izzy A Kusko
Leon Z Ostrosky
Jeanfrancois S Sergi
Octavia P Saylors
Faith I Perin
Juan V Gaucho
Izzy M Iturbide
James Z Marrier
Faith O Venere
Antonio F Slusarski
Chavez F Shinko
Antonio G Malet
Maria H Campain
Deepesh V Caldarera
Jeanfrancois Z Darakjy
IdCountryDate
1000India2025-04-29
1001Italy2025-04-22
1002France2025-04-28
1003France2025-04-23
1004Japan2025-04-07
1005India2025-04-12
1006Canada2025-04-02
1007India2025-04-21
1008France2025-04-25
1009Brazil2025-04-26
1010Japan2025-04-04
1011United Kingdom2025-04-19
1012Argentina2025-04-15
1013Germany2025-04-13
1014Italy2025-04-06
1015United Kingdom2025-04-17
1016Italy2025-04-15
1017Canada2025-04-08
1018Italy2025-04-26
1019Germany2025-04-05
1020Italy2025-04-23
1021Germany2025-04-15
1022United Kingdom2025-04-12
1023Russia2025-04-14
1024United Kingdom2025-04-29
1025Canada2025-04-08
1026Germany2025-04-08
1027India2025-04-30
1028India2025-05-01
1029Italy2025-04-12
1030Germany2025-04-13
1031Japan2025-04-23
1032India2025-04-06
1033Germany2025-04-29
1034Australia2025-04-02
1035India2025-04-14
1036Canada2025-04-27
1037Argentina2025-04-06
1038Brazil2025-04-08
1039Brazil2025-04-14
1040Spain2025-04-19
1041Japan2025-04-13
1042Argentina2025-04-28
1043Spain2025-04-08
1044Argentina2025-04-08
1045Italy2025-04-09
1046Argentina2025-04-07
1047United Kingdom2025-04-18
1048Argentina2025-04-02
1049Germany2025-04-20

On-Demand Data

NameIdCountryDate
Aditya R Venere1000India2025-04-29
Ashley I Campain1001Brazil2025-04-12
Tony X Butt1002Brazil2025-04-07
Ivar F Stenseth1003Germany2025-04-30
Mayumi H Nestle1004Brazil2025-04-12
Leon D Inouye1005France2025-04-26
Octavia X Rim1006Argentina2025-04-25
Sinclair W Bolognia1007Japan2025-04-13
Costa U Saylors1008India2025-04-06
Kadeem Z Darakjy1009Australia2025-04-09
Ricardo D Waycott1010United Kingdom2025-04-05
Greenwood X Figeroa1011Canada2025-04-11
Jeanfrancois R Morasca1012Japan2025-04-05
Antonio R Inouye1013Canada2025-04-17
Izzy C Royster1014Russia2025-04-10
Jefferson W Gillian1015Russia2025-04-29
Deepesh V Kusko1016India2025-04-19
Deepesh M Glick1017Canada2025-04-06
Aditya A Saylors1018Spain2025-05-01
Jennifer H Darakjy1019Germany2025-04-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair Y RulapaughSpainAnna Fali NEGOTIATION
Rodrigues Q PaprockiSpainIoni Bowcher QUALIFIED
David D MaletJapanBernardo Dominic UNQUALIFIED
Jones C DilliardFranceOnyama Limba NEW
Claire H InouyeArgentinaAsiya Javayant NEW
Sinclair G IturbideIndiaXuxue Feng QUALIFIED
Jennifer Q SchemmerCanadaIoni Bowcher QUALIFIED
Munro V MacleadJapanAsiya Javayant RENEWAL
Kadeem G StensethFranceAsiya Javayant UNQUALIFIED
Faith W CaudyItalyBernardo Dominic NEGOTIATION
Izzy D OldroydIndiaElwin Sharvill QUALIFIED
Costa A VocelkaJapanAnna Fali UNQUALIFIED
Octavia Q InouyeAustraliaAsiya Javayant PROPOSAL
Kaitlin N SaylorsGermanyAsiya Javayant NEGOTIATION
Isabel Y StockhamIndiaOnyama Limba PROPOSAL
Cody R VocelkaArgentinaIoni Bowcher NEGOTIATION
Cody T RimItalyAsiya Javayant QUALIFIED
David H CaldareraFranceAnna Fali PROPOSAL
Greenwood J StockhamRussiaOnyama Limba NEGOTIATION
Aika Y MaletUnited KingdomBernardo Dominic RENEWAL
Ivar I AlbaresJapanXuxue Feng NEGOTIATION
Arvin I SchemmerBrazilAsiya Javayant PROPOSAL
Jennifer H PaprockiIndiaAmy Elsner QUALIFIED
Maisha L VocelkaAustraliaStephen Shaw UNQUALIFIED
Juan L CaudyItalyAnna Fali PROPOSAL
Kaitlin O GlickFranceAsiya Javayant NEGOTIATION
Stacey X MaletUnited KingdomElwin Sharvill PROPOSAL
Leja R MorascaUnited KingdomAmy Elsner UNQUALIFIED
Jennifer G CaldareraUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem D MaletIndiaStephen Shaw NEGOTIATION
Stacey D StensethGermanyAmy Elsner PROPOSAL
Greenwood X OldroydGermanyStephen Shaw QUALIFIED
Ricardo O RimJapanAsiya Javayant NEW
Silvio R DilliardBrazilOnyama Limba RENEWAL
Cody U CaudyIndiaAsiya Javayant RENEWAL
Octavia J InouyeArgentinaAsiya Javayant PROPOSAL
Nicolas W InouyeJapanIoni Bowcher RENEWAL
Ivar A MaletIndiaElwin Sharvill QUALIFIED
Deepesh S FerenczItalyAsiya Javayant NEGOTIATION
Nicolas R FerenczGermanyAsiya Javayant 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>