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
David V KolmetzItalyXuxue Feng RENEWAL
Francesco Z MaletUnited KingdomXuxue Feng UNQUALIFIED
Ivar Q GarufiGermanyIoni Bowcher PROPOSAL
Alejandro D VenereSpainElwin Sharvill RENEWAL
Deepesh R PerinGermanyAmy Elsner NEGOTIATION
Kaitlin F StensethBrazilOnyama Limba NEW
Francesco G GillianSpainOnyama Limba NEGOTIATION
Juan B RimIndiaStephen Shaw PROPOSAL
James J RimItalyBernardo Dominic RENEWAL
Greenwood I CampainBrazilXuxue Feng PROPOSAL
Murillo Z PerinIndiaXuxue Feng QUALIFIED
Tony R PoquetteRussiaElwin Sharvill UNQUALIFIED
Clifford K NickaAustraliaXuxue Feng QUALIFIED
Mujtaba V OstroskyItalyAnna Fali PROPOSAL
Emily K SergiSpainOnyama Limba NEGOTIATION
Clifford U GlickGermanyStephen Shaw PROPOSAL
Kadeem U IturbideIndiaXuxue Feng PROPOSAL
Jennifer N AmigonGermanyAsiya Javayant UNQUALIFIED
Misaki P RutaUnited KingdomIoni Bowcher PROPOSAL
James Z ShinkoIndiaIoni Bowcher UNQUALIFIED
Aika S CaudyAustraliaStephen Shaw NEGOTIATION
Mujtaba U CampainArgentinaAsiya Javayant UNQUALIFIED
Jefferson O StockhamUnited KingdomOnyama Limba RENEWAL
Mujtaba T AlbaresItalyIoni Bowcher RENEWAL
James M SlusarskiArgentinaIoni Bowcher QUALIFIED
Mujtaba H GarufiGermanyElwin Sharvill RENEWAL
Antonio C SaylorsFranceBernardo Dominic UNQUALIFIED
Wickens E FollerArgentinaOnyama Limba NEW
Aika J DarakjyUnited KingdomIvan Magalhaes PROPOSAL
Maria X PoquetteUnited KingdomXuxue Feng PROPOSAL
Arvin C CaudySpainStephen Shaw NEW
Francesco J VenereArgentinaAnna Fali NEW
Jennifer P CaudyArgentinaXuxue Feng NEW
Aika E WieserArgentinaIoni Bowcher PROPOSAL
Ricardo J PaprockiGermanyXuxue Feng UNQUALIFIED
Aruna O MaletItalyIvan Magalhaes UNQUALIFIED
Antonio P MacleadIndiaIvan Magalhaes NEGOTIATION
Greenwood L WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Octavia F NickaFranceStephen Shaw QUALIFIED
Izzy Z FollerBrazilStephen Shaw NEW
Aditya N InouyeUnited KingdomAnna Fali NEGOTIATION
Mujtaba K WaycottRussiaAsiya Javayant QUALIFIED
Claire Q FlosiFranceAmy Elsner NEW
Stacey Y DilliardCanadaAnna Fali NEGOTIATION
Jones R VenereJapanAnna Fali QUALIFIED
Sinclair A CampainAustraliaAnna Fali NEGOTIATION
Aditya L CaudyGermanyOnyama Limba NEW
Wickens O RutaRussiaOnyama Limba NEGOTIATION
Aruna F WieserSpainAnna Fali NEGOTIATION
Aditya W GauchoRussiaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa V ChuiCanadaAnna Fali NEW
James G BowleyJapanBernardo Dominic QUALIFIED
Julie D GauchoGermanyStephen Shaw NEW
Smith E RoysterJapanAsiya Javayant NEGOTIATION
Rodrigues V GillianCanadaOnyama Limba RENEWAL
Jennifer G NickaJapanOnyama Limba PROPOSAL
Alejandro L DarakjyAustraliaBernardo Dominic NEW
Leja T NickaBrazilBernardo Dominic NEW
Ivar M GauchoItalyIvan Magalhaes PROPOSAL
Salvatore F GarufiIndiaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair T ChuiFrance2024-06-17Chapman, Ross E Esq UNQUALIFIED47Asiya Javayant
1001Kadeem N StensethAustralia2024-05-26Rousseaux, Michael Esq QUALIFIED66Xuxue Feng
1002Clifford Z GarufiItaly2024-06-21Chemel, James L Cpa UNQUALIFIED75Bernardo Dominic
1003Clifford K RoysterCanada2024-05-24Truhlar And Truhlar Attys UNQUALIFIED67Ivan Magalhaes
1004Claire P BologniaIndia2024-06-07Feiner Bros RENEWAL16Ioni Bowcher
1005Johnson A WhobreyArgentina2024-05-30Feltz Printing Service PROPOSAL77Ioni Bowcher
1006Stacey X OstroskyArgentina2024-05-24Feiner Bros NEGOTIATION59Anna Fali
1007Smith K WaycottJapan2024-05-28King, Christopher A Esq PROPOSAL60Onyama Limba
1008Cody R SchemmerBrazil2024-06-07Benton, John B Jr NEGOTIATION47Ioni Bowcher
1009Smith P NestleBrazil2024-06-15Benton, John B Jr QUALIFIED29Ioni Bowcher
1010Adams U ButtSpain2024-06-22Feltz Printing Service NEGOTIATION82Asiya Javayant
1011Jeanfrancois T ShinkoBrazil2024-06-15Morlong Associates NEGOTIATION11Amy Elsner
1012Sinclair O GlickAustralia2024-05-28Feiner Bros RENEWAL7Bernardo Dominic
1013Aika S SlusarskiBrazil2024-05-30Feiner Bros UNQUALIFIED73Ivan Magalhaes
1014Deepesh H AmigonGermany2024-06-12Rangoni Of Florence QUALIFIED74Elwin Sharvill
1015Leon M GillianRussia2024-05-27Rousseaux, Michael Esq QUALIFIED70Elwin Sharvill
1016Ashley W SlusarskiBrazil2024-06-12King, Christopher A Esq NEW33Ioni Bowcher
1017Rodrigues W CaldareraSpain2024-06-18Morlong Associates RENEWAL31Ioni Bowcher
1018Faith K NickaArgentina2024-06-08Dorl, James J Esq NEW81Bernardo Dominic
1019Faith P StockhamRussia2024-06-22Chemel, James L Cpa UNQUALIFIED40Amy Elsner
1020Misaki L RutaUnited Kingdom2024-06-03Feiner Bros RENEWAL50Stephen Shaw
1021Mujtaba N MorascaAustralia2024-06-11Chanay, Jeffrey A Esq NEW69Elwin Sharvill
1022Mayumi N InouyeUnited Kingdom2024-06-09Chemel, James L Cpa PROPOSAL4Elwin Sharvill
1023Sinclair C VocelkaSpain2024-06-18Rangoni Of Florence QUALIFIED86Onyama Limba
1024Stacey Q ShinkoItaly2024-06-04Truhlar And Truhlar Attys PROPOSAL30Ioni Bowcher
1025Faith P PerinUnited Kingdom2024-06-20Truhlar And Truhlar Attys NEW73Xuxue Feng
1026Adams R StockhamGermany2024-06-09Morlong Associates NEGOTIATION69Stephen Shaw
1027Morrow L CaudyGermany2024-06-02Chemel, James L Cpa NEW19Ivan Magalhaes
1028Ricardo R FerenczItaly2024-05-30Feiner Bros NEGOTIATION4Ioni Bowcher
1029Alejandro E FlosiGermany2024-06-19Dorl, James J Esq PROPOSAL20Asiya Javayant
1030Murillo F GauchoRussia2024-06-22Chanay, Jeffrey A Esq QUALIFIED6Amy Elsner
1031Emily R NickaBrazil2024-06-20Feltz Printing Service UNQUALIFIED80Xuxue Feng
1032Deepesh I IturbideSpain2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED23Bernardo Dominic
1033Leon F FollerJapan2024-06-18Chemel, James L Cpa PROPOSAL16Asiya Javayant
1034Costa R GillianRussia2024-05-25Rousseaux, Michael Esq QUALIFIED99Ivan Magalhaes
1035Sinclair J TollnerCanada2024-06-14Feltz Printing Service RENEWAL65Stephen Shaw
1036Wickens L SchemmerGermany2024-05-26Rousseaux, Michael Esq RENEWAL5Anna Fali
1037Aruna R InouyeBrazil2024-06-02Truhlar And Truhlar Attys UNQUALIFIED26Ioni Bowcher
1038Leon M BologniaIndia2024-06-01Printing Dimensions RENEWAL80Bernardo Dominic
1039Munro X DoeBrazil2024-06-11King, Christopher A Esq NEGOTIATION79Stephen Shaw
1040Johnson P DoeSpain2024-05-31Benton, John B Jr RENEWAL91Onyama Limba
1041Wickens W PerinSpain2024-06-04Morlong Associates UNQUALIFIED91Ioni Bowcher
1042James E VocelkaRussia2024-06-11Chapman, Ross E Esq RENEWAL78Stephen Shaw
1043Aruna E FerenczCanada2024-05-24Rangoni Of Florence UNQUALIFIED68Asiya Javayant
1044Munro R VenereCanada2024-05-25King, Christopher A Esq PROPOSAL42Elwin Sharvill
1045Isabel D DoeBrazil2024-06-09Printing Dimensions NEGOTIATION2Amy Elsner
1046Leon R CaudySpain2024-06-18Morlong Associates NEW83Bernardo Dominic
1047Francesco U ChuiUnited Kingdom2024-06-08Rangoni Of Florence QUALIFIED83Onyama Limba
1048Silvio B FigeroaItaly2024-06-08Dorl, James J Esq RENEWAL56Bernardo Dominic
1049Darci S BowleyRussia2024-06-03Commercial Press RENEWAL8Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Silvio X WaycottBrazilIvan Magalhaes UNQUALIFIED
Costa Z CaudyRussiaAnna Fali QUALIFIED
Leon H ButtRussiaOnyama Limba RENEWAL
Salvatore V DarakjyBrazilAsiya Javayant NEGOTIATION
Greenwood Z MaletCanadaXuxue Feng NEGOTIATION
Misaki Y FerenczAustraliaElwin Sharvill QUALIFIED
Johnson U RoysterArgentinaAnna Fali QUALIFIED
Francesco P CaldareraArgentinaAsiya Javayant PROPOSAL
Rodrigues E RutaFranceXuxue Feng RENEWAL
David T BriddickCanadaXuxue Feng QUALIFIED
Stacey A CaldareraCanadaIoni Bowcher QUALIFIED
Jeanfrancois Q DarakjyJapanAsiya Javayant PROPOSAL
Aika U ChuiCanadaAnna Fali NEGOTIATION
Isabel Z ShinkoFranceElwin Sharvill PROPOSAL
Mujtaba U FollerUnited KingdomElwin Sharvill NEW
Faith X BowleyIndiaOnyama Limba RENEWAL
Tony L NickaSpainAsiya Javayant UNQUALIFIED
Munro L AmigonItalyStephen Shaw NEW
Leja N CaudyCanadaElwin Sharvill UNQUALIFIED
Alejandro V InouyeCanadaIoni Bowcher UNQUALIFIED
Leja X MacleadAustraliaXuxue Feng PROPOSAL
Munro W MorascaAustraliaElwin Sharvill RENEWAL
Kaitlin C TollnerBrazilAsiya Javayant PROPOSAL
Maisha P CampainArgentinaBernardo Dominic NEW
Leja P StensethRussiaAnna Fali UNQUALIFIED
Faith Y RimArgentinaStephen Shaw RENEWAL
Cody A InouyeRussiaIoni Bowcher QUALIFIED
Emily G FigeroaSpainElwin Sharvill UNQUALIFIED
Leja N AlbaresAustraliaElwin Sharvill PROPOSAL
Mayumi I PaprockiUnited KingdomXuxue Feng PROPOSAL
James C OstroskyCanadaBernardo Dominic PROPOSAL
Nicolas W RutaIndiaIoni Bowcher RENEWAL
Greenwood P InouyeAustraliaAmy Elsner UNQUALIFIED
Salvatore I SergiAustraliaElwin Sharvill RENEWAL
Cody N CaldareraSpainAsiya Javayant NEGOTIATION
Ashley S IturbideUnited KingdomIvan Magalhaes QUALIFIED
Stacey M RulapaughRussiaOnyama Limba NEW
Mujtaba H MarrierSpainAmy Elsner NEGOTIATION
Nicolas J ButtRussiaStephen Shaw RENEWAL
Juan M DarakjyArgentinaIvan Magalhaes RENEWAL
Chavez X BologniaFranceElwin Sharvill RENEWAL
Kadeem U ChuiItalyIoni Bowcher NEW
Morrow M CaudyGermanyAsiya Javayant PROPOSAL
Isabel H StensethUnited KingdomAnna Fali NEGOTIATION
Maisha A GarufiRussiaAmy Elsner RENEWAL
Nicolas V GillianFranceIvan Magalhaes NEW
Johnson P TollnerAustraliaBernardo Dominic PROPOSAL
Isabel N CaldareraIndiaStephen Shaw NEGOTIATION
Mujtaba W AlbaresCanadaAnna Fali QUALIFIED
Maisha A PoquetteItalyIoni Bowcher QUALIFIED
Frozen Columns
Name
Salvatore H Malet
Antonio K Waycott
Arvin F Stenseth
Aditya Q Kusko
Tony U Amigon
Adams J Dilliard
Aruna S Caldarera
James J Ruta
Jones X Stockham
Isabel T Amigon
Izzy P Gillian
Adams H Bowley
Jefferson G Amigon
Jefferson I Foller
Leon M Rulapaugh
Jennifer R Chui
Misaki B Gillian
Darci H Bolognia
Ricardo F Venere
Arvin E Butt
Aditya I Briddick
Emily B Sergi
Claire Y Caldarera
Misaki K Kolmetz
Faith X Poquette
Tony W Slusarski
Rodrigues B Caldarera
Leon G Flosi
Silvio H Foller
Arvin U Caudy
Maisha C Ruta
Morrow R Caldarera
Nicolas L Butt
Aika W Bolognia
Ashley B Whobrey
Wickens D Venere
Greenwood Q Perin
Johnson T Kusko
Jefferson D Nicka
Juan R Poquette
Antonio E Caudy
Smith O Gaucho
Deepesh A Garufi
Smith G Amigon
Ivar B Waycott
Alejandro P Nestle
Misaki I Perin
Munro B Doe
Isabel A Flosi
Arvin O Tollner
IdCountryDate
1000Italy2024-06-12
1001Russia2024-06-03
1002Brazil2024-06-01
1003Argentina2024-06-03
1004Spain2024-05-27
1005Japan2024-05-24
1006Japan2024-06-20
1007Italy2024-05-24
1008France2024-06-11
1009Italy2024-06-05
1010India2024-06-08
1011India2024-06-22
1012Australia2024-06-05
1013Italy2024-06-16
1014Japan2024-06-21
1015Canada2024-06-04
1016Argentina2024-06-17
1017Spain2024-06-02
1018Russia2024-05-29
1019Japan2024-06-18
1020India2024-06-18
1021India2024-05-31
1022Italy2024-06-19
1023Australia2024-06-01
1024Germany2024-05-31
1025United Kingdom2024-05-24
1026Germany2024-05-29
1027Italy2024-06-01
1028Argentina2024-06-19
1029Brazil2024-06-05
1030India2024-05-30
1031India2024-05-31
1032France2024-06-12
1033Italy2024-06-22
1034United Kingdom2024-06-07
1035Japan2024-06-10
1036India2024-06-20
1037France2024-06-03
1038Australia2024-06-22
1039Russia2024-05-24
1040Brazil2024-06-08
1041India2024-06-02
1042Brazil2024-06-07
1043Spain2024-06-04
1044United Kingdom2024-06-11
1045Australia2024-05-30
1046Argentina2024-06-14
1047Australia2024-05-27
1048Australia2024-05-31
1049Australia2024-05-25

On-Demand Data

NameIdCountryDate
Octavia V Rim1000Japan2024-05-26
Maisha P Shinko1001Russia2024-06-14
Arvin K Iturbide1002Brazil2024-05-27
Costa A Iturbide1003Australia2024-06-15
Munro X Chui1004United Kingdom2024-06-12
Aruna V Iturbide1005Brazil2024-06-22
Faith M Saylors1006Germany2024-05-28
Julie P Saylors1007Spain2024-06-10
Arvin X Vocelka1008Argentina2024-06-16
Chavez Z Poquette1009India2024-06-02
Misaki L Campain1010Australia2024-05-31
Maisha V Venere1011Germany2024-05-24
Kaitlin T Morasca1012Germany2024-06-09
Claire I Figeroa1013Brazil2024-06-16
Aika Q Kolmetz1014Australia2024-06-19
David A Venere1015India2024-06-12
Isabel B Amigon1016France2024-05-29
Jefferson D Nestle1017Brazil2024-06-17
James I Saylors1018Spain2024-05-31
Octavia X Doe1019Italy2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith O DoeIndiaBernardo Dominic NEGOTIATION
Izzy A StockhamFranceXuxue Feng QUALIFIED
Alejandro Q OldroydItalyIvan Magalhaes QUALIFIED
David E TollnerIndiaBernardo Dominic NEGOTIATION
Claire V PerinJapanStephen Shaw UNQUALIFIED
Maisha K WieserBrazilAmy Elsner NEW
Leon J OstroskyRussiaIvan Magalhaes RENEWAL
Ricardo F NestleFranceBernardo Dominic NEW
Kadeem E CaudyIndiaAmy Elsner UNQUALIFIED
Nicolas T ButtFranceBernardo Dominic UNQUALIFIED
Munro I RoysterUnited KingdomAsiya Javayant NEW
Mayumi E WhobreyUnited KingdomStephen Shaw NEGOTIATION
Mujtaba N OldroydRussiaAnna Fali UNQUALIFIED
Ricardo O WieserItalyAmy Elsner UNQUALIFIED
Arvin I CaldareraAustraliaAmy Elsner QUALIFIED
Mujtaba P SergiGermanyAnna Fali UNQUALIFIED
Smith U CaudySpainOnyama Limba NEGOTIATION
Smith Q PaprockiGermanyAsiya Javayant PROPOSAL
David O SlusarskiRussiaElwin Sharvill PROPOSAL
Rodrigues F GauchoJapanStephen Shaw RENEWAL
Mujtaba W RulapaughCanadaIvan Magalhaes PROPOSAL
Emily W MorascaJapanIoni Bowcher PROPOSAL
Salvatore R KolmetzGermanyElwin Sharvill UNQUALIFIED
Kaitlin L VenereIndiaAmy Elsner PROPOSAL
Sinclair L MacleadGermanyBernardo Dominic RENEWAL
David F GarufiAustraliaIvan Magalhaes RENEWAL
Octavia S RoysterGermanyAsiya Javayant UNQUALIFIED
Jones B RimGermanyStephen Shaw NEW
Johnson L BowleySpainBernardo Dominic UNQUALIFIED
Rodrigues V NickaFranceBernardo Dominic PROPOSAL
Claire G AlbaresUnited KingdomIoni Bowcher NEW
Aika W SlusarskiBrazilAnna Fali RENEWAL
David W CaldareraRussiaIvan Magalhaes RENEWAL
Antonio E RimFranceBernardo Dominic NEW
Sinclair E MaletUnited KingdomStephen Shaw NEGOTIATION
Deepesh P SchemmerFranceOnyama Limba QUALIFIED
Costa C FlosiRussiaIvan Magalhaes NEW
Leon Q ChuiJapanIvan Magalhaes NEGOTIATION
Johnson E PaprockiFranceAmy Elsner RENEWAL
Johnson A DilliardIndiaAnna Fali RENEWAL

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