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 Q FollerJapanBernardo Dominic RENEWAL
Misaki F BologniaFranceAnna Fali RENEWAL
Wickens D VenereItalyXuxue Feng UNQUALIFIED
Aruna X ChuiItalyAnna Fali NEGOTIATION
James T MorascaJapanAnna Fali RENEWAL
Aika K MaletSpainXuxue Feng UNQUALIFIED
Murillo Y NickaAustraliaOnyama Limba RENEWAL
Aditya X RulapaughRussiaAmy Elsner RENEWAL
Izzy O OstroskySpainStephen Shaw QUALIFIED
Costa U RutaIndiaElwin Sharvill PROPOSAL
Mujtaba Q StockhamSpainAsiya Javayant NEW
James X CampainCanadaBernardo Dominic PROPOSAL
Aditya B SchemmerFranceAsiya Javayant RENEWAL
Leja N TollnerFranceIvan Magalhaes RENEWAL
Wickens O AmigonAustraliaAsiya Javayant PROPOSAL
Octavia O PaprockiArgentinaStephen Shaw RENEWAL
Tony M RoysterItalyOnyama Limba NEGOTIATION
Claire X PaprockiGermanyXuxue Feng NEW
Nicolas S RutaFranceElwin Sharvill NEW
James Y GauchoGermanyIoni Bowcher RENEWAL
Chavez G WhobreyJapanIvan Magalhaes NEW
Claire T GillianRussiaOnyama Limba NEGOTIATION
Mayumi K RulapaughAustraliaAmy Elsner PROPOSAL
Sinclair A DilliardJapanAnna Fali RENEWAL
Greenwood S GillianFranceStephen Shaw NEW
Sinclair S DarakjyAustraliaXuxue Feng NEW
Leon N SaylorsSpainIvan Magalhaes NEW
Mujtaba U CaudyBrazilAsiya Javayant PROPOSAL
Rodrigues C NestleGermanyAmy Elsner UNQUALIFIED
David Y StockhamUnited KingdomXuxue Feng RENEWAL
Juan J SaylorsSpainAnna Fali NEW
Maria F MaletAustraliaAsiya Javayant UNQUALIFIED
Rodrigues O CaudyArgentinaStephen Shaw NEGOTIATION
Mujtaba F FigeroaJapanIoni Bowcher RENEWAL
Alejandro C WhobreyCanadaIvan Magalhaes NEGOTIATION
Murillo E FlosiJapanXuxue Feng RENEWAL
Kaitlin E BologniaGermanyIvan Magalhaes UNQUALIFIED
Jeanfrancois M FollerItalyAsiya Javayant NEW
Mayumi A InouyeUnited KingdomXuxue Feng UNQUALIFIED
Johnson G DarakjyJapanOnyama Limba NEGOTIATION
Munro O RimFranceAmy Elsner UNQUALIFIED
Jones F AmigonCanadaIoni Bowcher QUALIFIED
Greenwood T TollnerArgentinaOnyama Limba RENEWAL
Leja Q FerenczIndiaIoni Bowcher QUALIFIED
Francesco W ShinkoGermanyOnyama Limba RENEWAL
Jennifer X RoysterItalyElwin Sharvill QUALIFIED
David L PaprockiCanadaOnyama Limba UNQUALIFIED
Emily Q AlbaresUnited KingdomAnna Fali PROPOSAL
Johnson X NestleFranceAmy Elsner PROPOSAL
Mujtaba F DarakjyCanadaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Smith L VenereRussiaBernardo Dominic NEW
Darci T DilliardIndiaOnyama Limba NEW
Juan B MaletCanadaIoni Bowcher NEW
Ashley D CampainArgentinaElwin Sharvill QUALIFIED
Cody Z SlusarskiArgentinaStephen Shaw PROPOSAL
Maria L SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Jefferson V SchemmerSpainStephen Shaw RENEWAL
Greenwood L StockhamUnited KingdomAsiya Javayant RENEWAL
Mayumi I RoysterArgentinaBernardo Dominic PROPOSAL
Leon Q MaletBrazilIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson R RulapaughArgentina2024-06-19King, Christopher A Esq UNQUALIFIED0Anna Fali
1001Arvin T AmigonSpain2024-06-16Chapman, Ross E Esq UNQUALIFIED94Amy Elsner
1002James N SchemmerArgentina2024-06-03King, Christopher A Esq PROPOSAL29Stephen Shaw
1003Nicolas R WaycottCanada2024-06-22Truhlar And Truhlar Attys NEGOTIATION5Anna Fali
1004Mayumi S VenereFrance2024-06-09Chapman, Ross E Esq NEW45Amy Elsner
1005Aditya N OldroydArgentina2024-06-23Rangoni Of Florence QUALIFIED95Bernardo Dominic
1006Kadeem A KuskoJapan2024-06-16Chanay, Jeffrey A Esq QUALIFIED90Onyama Limba
1007Maisha Y CaldareraArgentina2024-05-27Printing Dimensions NEGOTIATION19Bernardo Dominic
1008Juan T FollerCanada2024-06-21Commercial Press NEW15Xuxue Feng
1009Emily R MarrierGermany2024-06-20Dorl, James J Esq QUALIFIED6Ioni Bowcher
1010Sinclair H FlosiFrance2024-05-31Morlong Associates UNQUALIFIED84Asiya Javayant
1011Ricardo N PoquetteRussia2024-05-26Printing Dimensions RENEWAL61Xuxue Feng
1012Darci T SlusarskiGermany2024-06-18Commercial Press RENEWAL53Stephen Shaw
1013Nicolas O CaudyAustralia2024-05-25King, Christopher A Esq NEW38Stephen Shaw
1014Adams E ChuiIndia2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED26Asiya Javayant
1015David S NestleGermany2024-06-06Feiner Bros QUALIFIED18Elwin Sharvill
1016Nicolas Z RutaJapan2024-05-31Chapman, Ross E Esq NEW91Bernardo Dominic
1017Claire F DarakjyBrazil2024-06-03Morlong Associates PROPOSAL57Amy Elsner
1018Adams L TollnerUnited Kingdom2024-06-02Commercial Press PROPOSAL72Stephen Shaw
1019Murillo H RoysterIndia2024-06-18Feltz Printing Service NEGOTIATION96Ivan Magalhaes
1020Chavez Q MaletFrance2024-06-02King, Christopher A Esq RENEWAL0Xuxue Feng
1021Maria K BriddickAustralia2024-06-04Commercial Press NEW23Anna Fali
1022Claire R WaycottBrazil2024-05-25Morlong Associates UNQUALIFIED91Asiya Javayant
1023Antonio Z PerinGermany2024-06-15Chapman, Ross E Esq RENEWAL89Asiya Javayant
1024Tony T InouyeBrazil2024-06-19Morlong Associates QUALIFIED72Ioni Bowcher
1025Munro N CampainSpain2024-06-06Printing Dimensions RENEWAL8Bernardo Dominic
1026Tony X VenereUnited Kingdom2024-05-30Buckley Miller Wright PROPOSAL61Bernardo Dominic
1027Alejandro J BologniaAustralia2024-05-27Benton, John B Jr NEGOTIATION9Ivan Magalhaes
1028Aruna R MacleadArgentina2024-06-19Commercial Press UNQUALIFIED72Onyama Limba
1029Munro F SergiAustralia2024-06-05Truhlar And Truhlar Attys QUALIFIED56Ivan Magalhaes
1030Mujtaba X PerinAustralia2024-06-03Rangoni Of Florence NEGOTIATION30Bernardo Dominic
1031Jennifer M GillianRussia2024-06-16Chemel, James L Cpa UNQUALIFIED47Anna Fali
1032Jeanfrancois U MorascaSpain2024-06-12Chapman, Ross E Esq PROPOSAL87Onyama Limba
1033Izzy D RulapaughItaly2024-06-17Chanay, Jeffrey A Esq NEW37Bernardo Dominic
1034Jeanfrancois E GillianArgentina2024-06-10Printing Dimensions NEGOTIATION99Anna Fali
1035Ivar X MaletRussia2024-06-09King, Christopher A Esq NEW26Amy Elsner
1036Salvatore V MarrierFrance2024-05-28Commercial Press RENEWAL44Amy Elsner
1037Leon Z RutaCanada2024-06-15Commercial Press UNQUALIFIED83Onyama Limba
1038Octavia X FerenczGermany2024-06-17Benton, John B Jr NEGOTIATION26Bernardo Dominic
1039Misaki J MarrierUnited Kingdom2024-05-25Chemel, James L Cpa NEW32Onyama Limba
1040Tony T AmigonIndia2024-06-03Dorl, James J Esq NEW25Asiya Javayant
1041Mayumi I WhobreyAustralia2024-06-08Benton, John B Jr RENEWAL75Bernardo Dominic
1042Deepesh M DarakjyGermany2024-05-26Rousseaux, Michael Esq PROPOSAL78Ivan Magalhaes
1043Smith V MorascaJapan2024-06-04Rousseaux, Michael Esq RENEWAL29Elwin Sharvill
1044Faith C MacleadGermany2024-06-21Dorl, James J Esq QUALIFIED87Xuxue Feng
1045Isabel Z AlbaresIndia2024-05-28Feltz Printing Service RENEWAL12Ioni Bowcher
1046Antonio I BologniaUnited Kingdom2024-05-25Commercial Press NEGOTIATION71Bernardo Dominic
1047Maria A AlbaresRussia2024-05-28Truhlar And Truhlar Attys NEGOTIATION15Stephen Shaw
1048Francesco I VocelkaSpain2024-05-25Rangoni Of Florence UNQUALIFIED78Ioni Bowcher
1049Kadeem N DarakjyJapan2024-06-06Benton, John B Jr NEGOTIATION46Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Francesco O CaudyCanadaAmy Elsner NEGOTIATION
Claire G CaldareraSpainElwin Sharvill RENEWAL
Ricardo Q ButtSpainStephen Shaw QUALIFIED
Antonio Y CaudyFranceXuxue Feng PROPOSAL
Francesco O MarrierRussiaAsiya Javayant NEW
Darci H GarufiArgentinaIvan Magalhaes UNQUALIFIED
Chavez D StockhamSpainAmy Elsner RENEWAL
Claire P VocelkaUnited KingdomBernardo Dominic PROPOSAL
Smith D RulapaughRussiaStephen Shaw QUALIFIED
Kaitlin I ButtArgentinaElwin Sharvill NEGOTIATION
Tony W SlusarskiSpainAmy Elsner NEW
Leja N RoysterUnited KingdomIoni Bowcher NEGOTIATION
Faith P GillianUnited KingdomIvan Magalhaes PROPOSAL
Alejandro B StockhamIndiaElwin Sharvill QUALIFIED
Maria K PerinAustraliaIoni Bowcher UNQUALIFIED
Clifford Z CaldareraRussiaIoni Bowcher NEW
Sinclair L VenereRussiaAsiya Javayant UNQUALIFIED
Ricardo R VocelkaGermanyStephen Shaw NEGOTIATION
Jones Y ChuiAustraliaElwin Sharvill PROPOSAL
Greenwood J VenereBrazilBernardo Dominic NEGOTIATION
Misaki W PerinItalyStephen Shaw RENEWAL
Ricardo C MarrierJapanAsiya Javayant UNQUALIFIED
Ivar O DilliardJapanStephen Shaw PROPOSAL
Izzy E DarakjyUnited KingdomAmy Elsner RENEWAL
Maisha D MorascaArgentinaIoni Bowcher UNQUALIFIED
Ricardo L PoquetteRussiaXuxue Feng RENEWAL
Stacey W CaudyItalyIvan Magalhaes NEW
Tony D IturbideArgentinaStephen Shaw PROPOSAL
Francesco E CaldareraArgentinaXuxue Feng QUALIFIED
Ricardo H DarakjyGermanyStephen Shaw NEW
Francesco W CampainCanadaIoni Bowcher NEW
Maria L SlusarskiUnited KingdomElwin Sharvill RENEWAL
Adams G GillianAustraliaStephen Shaw QUALIFIED
Costa O ShinkoFranceXuxue Feng NEW
Arvin T WieserFranceIoni Bowcher UNQUALIFIED
Emily C BowleyArgentinaElwin Sharvill NEGOTIATION
Murillo R RulapaughJapanIoni Bowcher QUALIFIED
Leon K FlosiItalyOnyama Limba NEGOTIATION
Adams A KuskoAustraliaAmy Elsner PROPOSAL
Emily O ButtBrazilAmy Elsner RENEWAL
Munro B FerenczItalyOnyama Limba PROPOSAL
Costa I FollerItalyElwin Sharvill UNQUALIFIED
Rodrigues G RoysterGermanyBernardo Dominic NEGOTIATION
Kadeem A SchemmerArgentinaAsiya Javayant UNQUALIFIED
Claire W MorascaBrazilAsiya Javayant PROPOSAL
Isabel N AmigonBrazilXuxue Feng UNQUALIFIED
Cody R InouyeGermanyBernardo Dominic RENEWAL
Maria P OstroskyRussiaIoni Bowcher PROPOSAL
Morrow S MacleadArgentinaElwin Sharvill NEW
Mujtaba O BologniaCanadaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
James G Whobrey
Clifford Z Campain
Clifford Z Campain
Claire M Kolmetz
Sinclair Q Shinko
Maisha K Inouye
Salvatore H Poquette
Mujtaba Q Stenseth
Mujtaba R Butt
Aditya M Oldroyd
Arvin Q Oldroyd
Misaki W Kusko
Salvatore E Dilliard
Jones W Ferencz
Darci A Whobrey
Darci U Darakjy
Mayumi V Maclead
David D Wieser
Claire I Poquette
Clifford A Venere
Maria Q Foller
Chavez D Chui
Cody C Inouye
Claire L Rim
Kadeem Q Shinko
Tony Q Stockham
Jeanfrancois F Briddick
Izzy H Venere
Leon A Morasca
Kadeem H Flosi
Misaki Y Ferencz
Izzy M Nestle
Arvin P Sergi
Jeanfrancois F Albares
Claire G Vocelka
Stacey W Flosi
Ashley D Poquette
Alejandro O Wieser
Jefferson Y Royster
Aika X Slusarski
Rodrigues W Slusarski
Maisha T Flosi
Greenwood A Foller
Adams A Kolmetz
Antonio N Vocelka
Isabel Z Foller
Tony F Darakjy
Johnson I Paprocki
James H Ferencz
Jennifer Z Waycott
IdCountryDate
1000Spain2024-05-27
1001Canada2024-06-11
1002Japan2024-06-10
1003India2024-06-16
1004France2024-06-12
1005Germany2024-06-17
1006Germany2024-06-10
1007India2024-05-26
1008France2024-06-23
1009United Kingdom2024-06-16
1010Germany2024-05-30
1011India2024-06-07
1012Japan2024-06-20
1013Italy2024-06-03
1014Italy2024-05-29
1015Italy2024-06-19
1016Argentina2024-06-16
1017Germany2024-06-21
1018France2024-06-17
1019Japan2024-06-13
1020Italy2024-05-28
1021Japan2024-06-16
1022Brazil2024-05-28
1023India2024-06-03
1024United Kingdom2024-06-23
1025Germany2024-06-01
1026France2024-06-15
1027India2024-05-28
1028Spain2024-06-06
1029Italy2024-06-03
1030United Kingdom2024-06-07
1031Brazil2024-06-19
1032Russia2024-06-04
1033Brazil2024-06-07
1034Australia2024-05-29
1035India2024-05-29
1036Russia2024-06-01
1037Argentina2024-06-15
1038France2024-06-13
1039Canada2024-06-10
1040Australia2024-06-08
1041Japan2024-06-03
1042Spain2024-05-25
1043Russia2024-06-23
1044India2024-05-30
1045Brazil2024-06-01
1046Brazil2024-05-25
1047Argentina2024-06-07
1048Argentina2024-05-25
1049Canada2024-06-14

On-Demand Data

NameIdCountryDate
Leja K Campain1000Japan2024-06-02
Ricardo V Glick1001Argentina2024-05-29
Chavez S Ruta1002Russia2024-06-19
Jones P Amigon1003United Kingdom2024-06-22
Silvio C Ferencz1004United Kingdom2024-06-01
Francesco W Garufi1005Japan2024-06-04
Claire X Bolognia1006Italy2024-06-04
Costa L Caldarera1007India2024-06-09
Tony H Malet1008Italy2024-06-01
Antonio A Amigon1009Canada2024-06-01
Aditya E Gillian1010Canada2024-05-31
Izzy G Flosi1011United Kingdom2024-06-06
Jennifer U Gillian1012Germany2024-06-08
Ivar L Shinko1013Germany2024-05-30
Ashley J Darakjy1014Canada2024-06-14
Wickens I Stenseth1015France2024-06-15
Alejandro G Darakjy1016India2024-06-07
Nicolas I Foller1017Canada2024-06-12
Mujtaba C Rulapaugh1018Brazil2024-06-02
Jones O Vocelka1019Brazil2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair Q RimIndiaBernardo Dominic UNQUALIFIED
Costa G CaldareraAustraliaIoni Bowcher RENEWAL
Faith A AlbaresSpainBernardo Dominic PROPOSAL
Wickens J FlosiJapanOnyama Limba RENEWAL
Misaki T SergiUnited KingdomAmy Elsner NEGOTIATION
Smith K MorascaGermanyBernardo Dominic NEGOTIATION
Arvin J NestleIndiaStephen Shaw NEGOTIATION
Greenwood V IturbideJapanAnna Fali NEW
Aika C FigeroaCanadaXuxue Feng QUALIFIED
Juan Q OldroydBrazilOnyama Limba QUALIFIED
Darci D WieserUnited KingdomStephen Shaw UNQUALIFIED
Sinclair R WaycottRussiaXuxue Feng RENEWAL
Misaki Y KolmetzCanadaIvan Magalhaes NEW
Sinclair K CaldareraArgentinaIvan Magalhaes PROPOSAL
Leon V KolmetzArgentinaOnyama Limba NEW
Misaki G OldroydJapanBernardo Dominic RENEWAL
Antonio N FerenczRussiaIoni Bowcher RENEWAL
David J MorascaRussiaIoni Bowcher RENEWAL
Kadeem N KuskoArgentinaBernardo Dominic NEGOTIATION
Ricardo H KuskoBrazilBernardo Dominic RENEWAL
Jones O SlusarskiSpainOnyama Limba NEW
Ivar X KolmetzBrazilElwin Sharvill RENEWAL
Ricardo S CampainIndiaElwin Sharvill NEW
Francesco Z FerenczAustraliaAnna Fali UNQUALIFIED
Kaitlin R ShinkoFranceXuxue Feng NEW
Izzy I FerenczAustraliaBernardo Dominic RENEWAL
Jefferson Q CaldareraBrazilXuxue Feng NEGOTIATION
Faith R IturbideArgentinaIvan Magalhaes RENEWAL
Sinclair S FigeroaArgentinaAmy Elsner UNQUALIFIED
Kadeem K RimCanadaIvan Magalhaes NEW
James J OstroskySpainStephen Shaw PROPOSAL
Salvatore U FlosiIndiaOnyama Limba NEGOTIATION
Chavez G PoquetteJapanElwin Sharvill QUALIFIED
Murillo A MaletRussiaStephen Shaw NEW
Smith L ChuiAustraliaStephen Shaw RENEWAL
Jennifer X PaprockiIndiaAnna Fali UNQUALIFIED
Leon D PerinItalyAnna Fali RENEWAL
Smith A MaletGermanyElwin Sharvill NEGOTIATION
Wickens Q BriddickFranceStephen Shaw PROPOSAL
Francesco A CaldareraBrazilAsiya Javayant 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>