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
Wickens W ShinkoGermanyAnna Fali QUALIFIED
Darci Y SaylorsAustraliaAnna Fali RENEWAL
Greenwood T DarakjyArgentinaElwin Sharvill NEGOTIATION
Morrow M IturbideSpainStephen Shaw RENEWAL
Aruna D GillianIndiaStephen Shaw PROPOSAL
Stacey E IturbideUnited KingdomAnna Fali QUALIFIED
Kaitlin Y PaprockiFranceBernardo Dominic RENEWAL
Maria W MaletArgentinaAnna Fali UNQUALIFIED
Ricardo A MaletSpainAmy Elsner QUALIFIED
James Y WhobreyGermanyOnyama Limba UNQUALIFIED
Antonio Y WhobreyBrazilIoni Bowcher UNQUALIFIED
Misaki T ChuiFranceIvan Magalhaes NEGOTIATION
Leon X OstroskyBrazilOnyama Limba PROPOSAL
Octavia F WaycottFranceIvan Magalhaes PROPOSAL
Alejandro T RulapaughSpainAsiya Javayant QUALIFIED
Antonio W MaletSpainIoni Bowcher RENEWAL
Leja W ButtRussiaElwin Sharvill PROPOSAL
Julie S PaprockiBrazilElwin Sharvill NEGOTIATION
Jefferson P FerenczFranceAsiya Javayant PROPOSAL
Alejandro H WieserArgentinaAsiya Javayant RENEWAL
Mayumi Y GauchoRussiaIvan Magalhaes UNQUALIFIED
Stacey W AmigonBrazilAnna Fali PROPOSAL
Morrow S OstroskyCanadaIoni Bowcher NEW
Munro O WieserSpainIoni Bowcher PROPOSAL
Leja F RulapaughCanadaStephen Shaw NEW
Ashley H FerenczSpainAnna Fali PROPOSAL
Octavia A NestleBrazilAmy Elsner UNQUALIFIED
Johnson V OldroydIndiaIvan Magalhaes QUALIFIED
Johnson T RoysterGermanyAsiya Javayant NEW
Maria T VenereCanadaAnna Fali NEW
Octavia D StockhamIndiaIvan Magalhaes PROPOSAL
Aditya K InouyeJapanElwin Sharvill PROPOSAL
Kadeem S GarufiJapanXuxue Feng RENEWAL
Jeanfrancois F SergiAustraliaIvan Magalhaes NEGOTIATION
Cody M SaylorsRussiaAnna Fali PROPOSAL
Murillo L OstroskyRussiaElwin Sharvill PROPOSAL
Mayumi L MaletArgentinaIoni Bowcher RENEWAL
Misaki R KuskoRussiaAmy Elsner UNQUALIFIED
Leon Y SlusarskiRussiaIoni Bowcher RENEWAL
Arvin V SlusarskiFranceAmy Elsner RENEWAL
Tony K StockhamUnited KingdomIvan Magalhaes PROPOSAL
Darci L CaldareraArgentinaAmy Elsner UNQUALIFIED
Aditya K GlickSpainElwin Sharvill QUALIFIED
Murillo I RulapaughItalyAnna Fali NEW
Costa M DilliardGermanyIvan Magalhaes PROPOSAL
Kaitlin J OstroskyGermanyElwin Sharvill PROPOSAL
Munro I DarakjyFranceBernardo Dominic PROPOSAL
Mayumi R TollnerIndiaAnna Fali PROPOSAL
Mayumi O FlosiSpainAnna Fali NEW
Ashley C WhobreyAustraliaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Emily F BriddickIndiaAsiya Javayant UNQUALIFIED
Wickens U IturbideRussiaBernardo Dominic QUALIFIED
Francesco O SlusarskiGermanyXuxue Feng NEGOTIATION
David D NickaAustraliaXuxue Feng RENEWAL
Ivar X StensethRussiaAmy Elsner QUALIFIED
Jefferson X CampainJapanIoni Bowcher NEGOTIATION
Clifford C ButtBrazilStephen Shaw NEW
Faith D RulapaughIndiaStephen Shaw NEW
Arvin I MaletItalyElwin Sharvill NEGOTIATION
Maria Q AlbaresIndiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja C GlickSpain2024-05-24Rousseaux, Michael Esq UNQUALIFIED99Ivan Magalhaes
1001Costa Q RulapaughUnited Kingdom2024-06-06Truhlar And Truhlar Attys QUALIFIED96Anna Fali
1002Jefferson R ShinkoItaly2024-06-04Commercial Press RENEWAL9Stephen Shaw
1003Kadeem S KuskoAustralia2024-06-04Morlong Associates UNQUALIFIED10Amy Elsner
1004Silvio E SlusarskiUnited Kingdom2024-05-26King, Christopher A Esq UNQUALIFIED77Stephen Shaw
1005Aika K PerinJapan2024-05-26Feltz Printing Service RENEWAL2Xuxue Feng
1006Jones G InouyeFrance2024-06-06Printing Dimensions UNQUALIFIED33Stephen Shaw
1007Aruna X NestleAustralia2024-06-05Dorl, James J Esq RENEWAL29Ioni Bowcher
1008Jefferson O BriddickIndia2024-06-08Chanay, Jeffrey A Esq RENEWAL95Anna Fali
1009Murillo V GarufiFrance2024-06-15Chanay, Jeffrey A Esq RENEWAL94Onyama Limba
1010Kaitlin O VenereCanada2024-06-13King, Christopher A Esq RENEWAL81Xuxue Feng
1011Aditya E RutaIndia2024-06-17Chemel, James L Cpa PROPOSAL81Ioni Bowcher
1012Deepesh L VenereGermany2024-05-23Benton, John B Jr NEW26Ioni Bowcher
1013Rodrigues M PerinRussia2024-06-21Printing Dimensions PROPOSAL78Ivan Magalhaes
1014Murillo R PaprockiBrazil2024-05-31Chanay, Jeffrey A Esq QUALIFIED68Ioni Bowcher
1015Maria F SlusarskiRussia2024-06-10Chapman, Ross E Esq PROPOSAL83Amy Elsner
1016Johnson M SergiSpain2024-06-12Rousseaux, Michael Esq PROPOSAL0Xuxue Feng
1017Kadeem U CaldareraRussia2024-05-27Chemel, James L Cpa PROPOSAL90Ivan Magalhaes
1018Juan Q DilliardAustralia2024-06-14Chemel, James L Cpa NEW29Amy Elsner
1019Arvin S AmigonArgentina2024-06-02Rangoni Of Florence QUALIFIED88Ioni Bowcher
1020Silvio N PerinBrazil2024-06-11Rangoni Of Florence UNQUALIFIED79Ioni Bowcher
1021Aditya H MaletJapan2024-06-11Feltz Printing Service UNQUALIFIED8Ivan Magalhaes
1022Faith E RulapaughJapan2024-06-20Chapman, Ross E Esq QUALIFIED74Xuxue Feng
1023Kadeem Y PoquetteSpain2024-06-18Chemel, James L Cpa NEGOTIATION1Amy Elsner
1024Izzy H CaudyAustralia2024-06-14Morlong Associates NEGOTIATION3Elwin Sharvill
1025Maria H GarufiGermany2024-06-11Printing Dimensions RENEWAL86Ioni Bowcher
1026David D SaylorsAustralia2024-06-21Truhlar And Truhlar Attys QUALIFIED70Elwin Sharvill
1027Clifford S WhobreyRussia2024-06-13Chapman, Ross E Esq RENEWAL95Onyama Limba
1028Mujtaba Q ButtItaly2024-05-23Commercial Press QUALIFIED87Ivan Magalhaes
1029Kaitlin S KolmetzSpain2024-06-16Morlong Associates NEGOTIATION93Elwin Sharvill
1030Juan J GauchoAustralia2024-06-14Benton, John B Jr NEW53Elwin Sharvill
1031Ivar Y FigeroaSpain2024-06-08Rangoni Of Florence UNQUALIFIED84Ioni Bowcher
1032Ivar L SergiItaly2024-06-21Rousseaux, Michael Esq PROPOSAL52Asiya Javayant
1033Costa Y AmigonItaly2024-06-20Chanay, Jeffrey A Esq QUALIFIED45Stephen Shaw
1034Ricardo G KolmetzRussia2024-05-29Printing Dimensions RENEWAL89Onyama Limba
1035Juan Y DilliardCanada2024-05-27Rousseaux, Michael Esq QUALIFIED13Stephen Shaw
1036Jeanfrancois O FlosiCanada2024-06-05Feiner Bros NEGOTIATION59Anna Fali
1037Leja N OldroydItaly2024-06-10Chemel, James L Cpa RENEWAL49Ioni Bowcher
1038Antonio L SchemmerBrazil2024-05-31Rangoni Of Florence NEGOTIATION95Xuxue Feng
1039Francesco Z MaletFrance2024-06-09Rangoni Of Florence RENEWAL59Asiya Javayant
1040Emily D ShinkoRussia2024-06-16Morlong Associates RENEWAL35Amy Elsner
1041Silvio V MorascaArgentina2024-06-03Printing Dimensions NEW55Elwin Sharvill
1042Alejandro Z SaylorsUnited Kingdom2024-06-04Dorl, James J Esq RENEWAL79Stephen Shaw
1043Francesco L DarakjyIndia2024-05-31Rangoni Of Florence QUALIFIED28Asiya Javayant
1044Jeanfrancois O MaletBrazil2024-06-01Feiner Bros QUALIFIED54Ivan Magalhaes
1045Leon M NestleFrance2024-06-16Dorl, James J Esq NEW94Ivan Magalhaes
1046Kaitlin X CampainItaly2024-05-29Dorl, James J Esq PROPOSAL38Anna Fali
1047Arvin N KolmetzUnited Kingdom2024-06-18Buckley Miller Wright QUALIFIED67Asiya Javayant
1048Julie A MaletAustralia2024-06-21Buckley Miller Wright NEGOTIATION84Onyama Limba
1049Tony X CampainCanada2024-06-15Chemel, James L Cpa RENEWAL30Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maisha Y SchemmerGermanyAnna Fali PROPOSAL
Sinclair O NestleIndiaAnna Fali QUALIFIED
Alejandro H MarrierFranceXuxue Feng UNQUALIFIED
Costa Q OstroskySpainStephen Shaw NEW
Ashley I KuskoJapanXuxue Feng PROPOSAL
Misaki Z FollerJapanOnyama Limba UNQUALIFIED
Greenwood J CaudyAustraliaOnyama Limba QUALIFIED
Faith G KuskoFranceAmy Elsner RENEWAL
Nicolas G InouyeGermanyStephen Shaw RENEWAL
Ashley X BowleyRussiaXuxue Feng NEGOTIATION
Silvio N TollnerAustraliaXuxue Feng PROPOSAL
Darci X VocelkaFranceOnyama Limba QUALIFIED
Munro T GlickJapanAsiya Javayant PROPOSAL
Misaki P InouyeCanadaXuxue Feng QUALIFIED
Juan N MacleadItalyAsiya Javayant RENEWAL
Aruna Q IturbideRussiaElwin Sharvill NEGOTIATION
Wickens O SaylorsItalyOnyama Limba PROPOSAL
Faith I MorascaAustraliaElwin Sharvill UNQUALIFIED
Kaitlin C PaprockiItalyElwin Sharvill NEGOTIATION
Aditya V IturbideItalyOnyama Limba RENEWAL
Rodrigues E RoysterIndiaAmy Elsner RENEWAL
David O RoysterIndiaOnyama Limba UNQUALIFIED
Jennifer G VenereCanadaAmy Elsner QUALIFIED
Francesco Y VocelkaGermanyAmy Elsner NEGOTIATION
Wickens W RulapaughSpainElwin Sharvill RENEWAL
Leon N BowleySpainIvan Magalhaes PROPOSAL
Octavia P SlusarskiAustraliaBernardo Dominic NEW
James T FerenczSpainIoni Bowcher RENEWAL
Misaki U MarrierUnited KingdomIoni Bowcher NEGOTIATION
Francesco X ButtRussiaAsiya Javayant PROPOSAL
Faith E IturbideSpainIvan Magalhaes NEW
Francesco O IturbideJapanStephen Shaw QUALIFIED
Maisha N BologniaUnited KingdomAsiya Javayant NEW
Claire B SchemmerJapanAnna Fali QUALIFIED
Salvatore T FlosiSpainBernardo Dominic RENEWAL
Jones I MarrierFranceStephen Shaw UNQUALIFIED
Chavez X ButtItalyAsiya Javayant PROPOSAL
Mujtaba C BowleyItalyAmy Elsner UNQUALIFIED
Maisha S AmigonItalyAnna Fali QUALIFIED
Morrow J SaylorsIndiaAnna Fali NEW
Leon X PaprockiFranceBernardo Dominic UNQUALIFIED
Jones M PerinUnited KingdomAnna Fali RENEWAL
Ricardo I KuskoIndiaOnyama Limba NEW
Chavez N VenereSpainIoni Bowcher NEGOTIATION
Aika S FlosiUnited KingdomIoni Bowcher NEGOTIATION
Aruna K MacleadUnited KingdomXuxue Feng NEGOTIATION
Aruna Z OldroydCanadaAnna Fali NEGOTIATION
Aika C PoquetteIndiaIvan Magalhaes RENEWAL
Leon H OldroydBrazilAnna Fali NEW
Faith B RulapaughBrazilAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Kadeem G Foller
Nicolas O Tollner
Costa F Nestle
Clifford L Stenseth
Smith W Flosi
Julie G Rulapaugh
Ivar D Albares
Stacey A Gillian
Jones S Shinko
Nicolas O Waycott
Kaitlin T Poquette
Izzy O Royster
Faith U Kolmetz
Misaki W Rulapaugh
Aika S Wieser
Stacey T Caldarera
Arvin Z Campain
Faith L Darakjy
Nicolas H Tollner
Tony D Doe
Leon R Dilliard
Faith E Wieser
Munro G Dilliard
Julie C Glick
Salvatore K Dilliard
Ivar B Tollner
Julie X Malet
Mayumi L Malet
Salvatore T Waycott
Salvatore E Kolmetz
Misaki O Ferencz
Ivar M Flosi
David L Stenseth
Arvin Y Saylors
Alejandro F Kusko
Francesco T Vocelka
Juan Y Ruta
James K Malet
Johnson Q Flosi
Faith O Bolognia
Jones T Poquette
Johnson T Iturbide
Julie N Iturbide
Tony H Rim
Octavia P Poquette
Salvatore H Rulapaugh
Jeanfrancois T Campain
Arvin Y Stenseth
Greenwood N Paprocki
Ivar H Darakjy
IdCountryDate
1000Russia2024-06-14
1001India2024-06-06
1002United Kingdom2024-06-09
1003Italy2024-06-08
1004India2024-06-15
1005India2024-06-21
1006Canada2024-06-01
1007India2024-06-19
1008Australia2024-06-08
1009India2024-06-02
1010Russia2024-05-31
1011India2024-06-12
1012Spain2024-05-28
1013Russia2024-06-17
1014Australia2024-05-28
1015India2024-06-20
1016Canada2024-06-10
1017Russia2024-06-15
1018Japan2024-06-16
1019Brazil2024-05-26
1020Brazil2024-06-15
1021Spain2024-06-01
1022India2024-06-16
1023Russia2024-05-26
1024Italy2024-06-06
1025Spain2024-06-02
1026Russia2024-05-26
1027Italy2024-06-21
1028Canada2024-06-04
1029Brazil2024-05-25
1030United Kingdom2024-06-21
1031Russia2024-06-09
1032India2024-05-30
1033Japan2024-05-26
1034Brazil2024-06-15
1035Germany2024-06-12
1036Italy2024-06-13
1037Canada2024-06-01
1038Italy2024-06-01
1039Canada2024-06-21
1040Brazil2024-06-12
1041Spain2024-05-30
1042Russia2024-06-20
1043India2024-06-21
1044Japan2024-06-17
1045Germany2024-06-15
1046Russia2024-05-30
1047Japan2024-06-11
1048Germany2024-06-03
1049Argentina2024-06-09

On-Demand Data

NameIdCountryDate
Jeanfrancois O Kusko1000Japan2024-06-18
Murillo K Gillian1001Japan2024-06-09
David I Gillian1002Australia2024-05-23
Emily P Glick1003Russia2024-06-21
Rodrigues Q Inouye1004Russia2024-06-02
Clifford H Ruta1005India2024-05-27
Jeanfrancois V Nicka1006Italy2024-06-03
Aruna X Amigon1007United Kingdom2024-06-07
Adams D Doe1008Germany2024-06-15
Juan T Albares1009Australia2024-05-29
Misaki I Bowley1010Spain2024-05-25
Juan G Caudy1011Italy2024-06-04
Leon F Paprocki1012Italy2024-05-23
Leon V Inouye1013Italy2024-06-21
Adams D Albares1014Argentina2024-05-28
Juan F Perin1015Italy2024-06-16
Aika J Rim1016Australia2024-06-08
Darci I Figeroa1017France2024-05-25
Munro F Flosi1018Russia2024-06-07
Maisha S Perin1019Italy2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio C GillianArgentinaAnna Fali NEGOTIATION
Emily L VenereItalyStephen Shaw NEGOTIATION
Wickens Q MarrierSpainElwin Sharvill NEW
Claire L FlosiRussiaAsiya Javayant RENEWAL
Aika E VenereRussiaAmy Elsner NEW
Chavez B WieserBrazilAmy Elsner UNQUALIFIED
Johnson N VocelkaUnited KingdomIoni Bowcher RENEWAL
Jeanfrancois I FerenczGermanyIvan Magalhaes PROPOSAL
Mujtaba M StockhamUnited KingdomAnna Fali UNQUALIFIED
Johnson V BologniaFranceBernardo Dominic RENEWAL
David F SergiItalyOnyama Limba RENEWAL
Munro C ButtCanadaElwin Sharvill PROPOSAL
Jennifer S RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Jones O DilliardSpainAnna Fali QUALIFIED
Silvio D DoeIndiaOnyama Limba QUALIFIED
Aika G MarrierGermanyIvan Magalhaes RENEWAL
Aruna Q MorascaBrazilBernardo Dominic UNQUALIFIED
Adams Q SergiRussiaBernardo Dominic NEW
Jefferson T RimRussiaAsiya Javayant PROPOSAL
David E KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Morrow M MorascaBrazilElwin Sharvill PROPOSAL
Francesco V NestleSpainStephen Shaw PROPOSAL
Sinclair J WhobreyItalyAnna Fali RENEWAL
Francesco Q FlosiItalyIoni Bowcher PROPOSAL
Aika K RoysterBrazilIvan Magalhaes NEW
Maria K WaycottIndiaAmy Elsner UNQUALIFIED
Francesco I GauchoGermanyAnna Fali RENEWAL
Alejandro Q IturbideArgentinaBernardo Dominic UNQUALIFIED
Aditya D NestleGermanyOnyama Limba QUALIFIED
Darci V MacleadAustraliaAsiya Javayant NEW
Izzy G SchemmerItalyIoni Bowcher RENEWAL
Alejandro H MorascaFranceAnna Fali NEGOTIATION
Julie J AmigonArgentinaOnyama Limba NEGOTIATION
Adams L SchemmerFranceIvan Magalhaes QUALIFIED
Francesco H PerinRussiaElwin Sharvill UNQUALIFIED
Smith E NickaSpainElwin Sharvill QUALIFIED
Stacey H SergiUnited KingdomOnyama Limba UNQUALIFIED
Jones U GarufiFranceAmy Elsner QUALIFIED
Octavia J TollnerFranceAmy Elsner RENEWAL
James X RutaGermanyElwin Sharvill 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>