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
James E KolmetzUnited KingdomBernardo Dominic PROPOSAL
Octavia M FollerGermanyElwin Sharvill NEGOTIATION
Adams P GauchoBrazilAmy Elsner PROPOSAL
Adams N DarakjyBrazilIoni Bowcher NEW
Leja G GauchoGermanyIvan Magalhaes NEGOTIATION
Adams H AmigonCanadaAmy Elsner QUALIFIED
Sinclair T DilliardCanadaBernardo Dominic NEGOTIATION
Murillo N DoeSpainElwin Sharvill PROPOSAL
Morrow A ButtSpainXuxue Feng NEGOTIATION
Ashley W RulapaughGermanyXuxue Feng RENEWAL
Adams N PoquetteJapanStephen Shaw QUALIFIED
Faith Q AlbaresFranceElwin Sharvill RENEWAL
Costa L ButtCanadaOnyama Limba NEGOTIATION
Chavez Y SchemmerSpainAmy Elsner NEW
Ashley M GauchoSpainElwin Sharvill QUALIFIED
Juan Y ButtSpainAsiya Javayant PROPOSAL
Maria R FollerAustraliaIoni Bowcher QUALIFIED
Aruna P AmigonJapanOnyama Limba RENEWAL
Aika K WaycottIndiaIvan Magalhaes PROPOSAL
James K AlbaresJapanElwin Sharvill UNQUALIFIED
Maria O SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Johnson H MaletArgentinaElwin Sharvill UNQUALIFIED
Ricardo Q TollnerFranceStephen Shaw NEW
Juan A MorascaGermanyAmy Elsner PROPOSAL
Maria I CaudyArgentinaIoni Bowcher QUALIFIED
Juan L AlbaresFranceOnyama Limba UNQUALIFIED
Jennifer L FerenczItalyAmy Elsner NEW
Darci K MorascaRussiaAmy Elsner NEGOTIATION
Salvatore K WaycottGermanyXuxue Feng RENEWAL
Izzy X PaprockiGermanyAnna Fali NEGOTIATION
Darci N SaylorsItalyBernardo Dominic UNQUALIFIED
Aruna Q CaldareraSpainAmy Elsner UNQUALIFIED
Juan F WhobreyRussiaAsiya Javayant QUALIFIED
Clifford J RulapaughRussiaAmy Elsner NEGOTIATION
Octavia F WhobreyFranceAnna Fali NEW
Morrow I MacleadSpainAnna Fali PROPOSAL
Smith P MaletUnited KingdomOnyama Limba UNQUALIFIED
Mujtaba Q GarufiBrazilElwin Sharvill NEGOTIATION
Ivar M FigeroaFranceAsiya Javayant RENEWAL
Nicolas O GlickSpainBernardo Dominic UNQUALIFIED
Cody P VocelkaRussiaIvan Magalhaes UNQUALIFIED
Arvin Y ButtArgentinaAnna Fali RENEWAL
Morrow X InouyeSpainElwin Sharvill NEW
Ivar O ShinkoBrazilAnna Fali RENEWAL
Salvatore U CampainCanadaElwin Sharvill QUALIFIED
Salvatore P InouyeBrazilXuxue Feng UNQUALIFIED
Julie Q CaldareraFranceXuxue Feng PROPOSAL
Jones U WaycottArgentinaAnna Fali QUALIFIED
Mayumi J DilliardAustraliaAnna Fali NEGOTIATION
Arvin S MaletIndiaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio S GauchoAustraliaAnna Fali NEGOTIATION
Munro R GlickRussiaAmy Elsner NEGOTIATION
Antonio U ChuiFranceStephen Shaw PROPOSAL
Kadeem D FerenczCanadaAmy Elsner UNQUALIFIED
Kadeem T GlickGermanyAsiya Javayant PROPOSAL
Aika V CaldareraBrazilAsiya Javayant RENEWAL
Tony J RutaArgentinaAsiya Javayant QUALIFIED
Izzy V RutaItalyAmy Elsner NEGOTIATION
Tony Q StensethGermanyAmy Elsner RENEWAL
Kadeem T PerinFranceAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson R StensethGermany2025-04-12Feiner Bros QUALIFIED59Bernardo Dominic
1001Maria V PaprockiUnited Kingdom2025-04-21Dorl, James J Esq NEW81Stephen Shaw
1002Aruna H BologniaItaly2025-04-27Chemel, James L Cpa PROPOSAL5Xuxue Feng
1003Octavia J InouyeItaly2025-04-07Commercial Press NEGOTIATION1Ioni Bowcher
1004Jennifer L KolmetzArgentina2025-04-15Truhlar And Truhlar Attys RENEWAL46Bernardo Dominic
1005Mayumi U TollnerJapan2025-04-04Benton, John B Jr RENEWAL16Elwin Sharvill
1006Misaki V PoquetteRussia2025-04-16Chemel, James L Cpa PROPOSAL98Onyama Limba
1007Arvin Y WhobreyAustralia2025-04-26Chapman, Ross E Esq RENEWAL70Anna Fali
1008Antonio C DoeItaly2025-04-05Commercial Press NEW68Asiya Javayant
1009Aika R BowleySpain2025-04-09Chapman, Ross E Esq NEGOTIATION4Asiya Javayant
1010Isabel R BowleyItaly2025-04-03Chanay, Jeffrey A Esq NEGOTIATION61Stephen Shaw
1011Johnson Q PerinSpain2025-04-14Dorl, James J Esq NEGOTIATION57Asiya Javayant
1012Chavez P MacleadJapan2025-04-17Feltz Printing Service NEW31Ivan Magalhaes
1013Munro L GarufiAustralia2025-04-11King, Christopher A Esq NEW59Anna Fali
1014Faith E FlosiIndia2025-04-02Chapman, Ross E Esq NEW14Amy Elsner
1015Leja T MacleadBrazil2025-04-15Rousseaux, Michael Esq UNQUALIFIED17Stephen Shaw
1016Isabel T DilliardBrazil2025-04-24Printing Dimensions NEW2Amy Elsner
1017Costa L ChuiRussia2025-04-05Rangoni Of Florence RENEWAL89Asiya Javayant
1018Francesco S NickaBrazil2025-04-06Feltz Printing Service UNQUALIFIED5Amy Elsner
1019Murillo X AlbaresCanada2025-04-12Rangoni Of Florence NEGOTIATION33Amy Elsner
1020Smith I SergiGermany2025-04-04Dorl, James J Esq PROPOSAL34Anna Fali
1021Darci L SergiUnited Kingdom2025-04-05Rousseaux, Michael Esq QUALIFIED31Anna Fali
1022Murillo L CaudyUnited Kingdom2025-04-28Truhlar And Truhlar Attys RENEWAL88Asiya Javayant
1023James A VocelkaIndia2025-04-04Chapman, Ross E Esq NEGOTIATION16Amy Elsner
1024Munro T FigeroaAustralia2025-04-04Feltz Printing Service NEGOTIATION92Anna Fali
1025Silvio F BriddickJapan2025-04-09Dorl, James J Esq NEGOTIATION6Ioni Bowcher
1026Leon A ButtAustralia2025-04-08Benton, John B Jr QUALIFIED16Amy Elsner
1027Arvin L InouyeSpain2025-04-11Benton, John B Jr NEGOTIATION89Asiya Javayant
1028Alejandro G MarrierArgentina2025-04-16Truhlar And Truhlar Attys PROPOSAL57Onyama Limba
1029Deepesh K RimUnited Kingdom2025-04-15Benton, John B Jr NEGOTIATION94Onyama Limba
1030Mayumi P RimCanada2025-04-25Benton, John B Jr NEGOTIATION20Stephen Shaw
1031Octavia P MarrierArgentina2025-04-10Rousseaux, Michael Esq NEW74Ivan Magalhaes
1032Leon O CaldareraAustralia2025-04-05Buckley Miller Wright UNQUALIFIED39Anna Fali
1033Claire Z BriddickFrance2025-04-04Printing Dimensions QUALIFIED40Anna Fali
1034Rodrigues P BologniaGermany2025-04-18King, Christopher A Esq PROPOSAL35Elwin Sharvill
1035Maria M KolmetzCanada2025-04-02Morlong Associates RENEWAL22Ioni Bowcher
1036Stacey X BologniaCanada2025-03-31Chapman, Ross E Esq NEGOTIATION78Anna Fali
1037James Z NestleBrazil2025-04-26King, Christopher A Esq NEGOTIATION87Stephen Shaw
1038Aruna U BologniaRussia2025-04-01Feltz Printing Service NEGOTIATION56Xuxue Feng
1039Ashley N VocelkaArgentina2025-04-22Chapman, Ross E Esq UNQUALIFIED69Ioni Bowcher
1040Adams C AmigonBrazil2025-04-20Chanay, Jeffrey A Esq PROPOSAL57Bernardo Dominic
1041Jones U BriddickFrance2025-04-26Chemel, James L Cpa RENEWAL99Bernardo Dominic
1042Maisha O CaudyJapan2025-04-23King, Christopher A Esq UNQUALIFIED56Bernardo Dominic
1043Smith C MacleadCanada2025-04-16Commercial Press PROPOSAL85Xuxue Feng
1044James Y GillianIndia2025-04-11Buckley Miller Wright UNQUALIFIED67Anna Fali
1045Wickens D SchemmerUnited Kingdom2025-04-03Benton, John B Jr QUALIFIED41Onyama Limba
1046Stacey G StockhamBrazil2025-04-21Truhlar And Truhlar Attys PROPOSAL5Xuxue Feng
1047Octavia U RoysterAustralia2025-04-19Dorl, James J Esq NEW57Elwin Sharvill
1048Johnson P OstroskyBrazil2025-04-18Commercial Press RENEWAL26Elwin Sharvill
1049Maria N PerinUnited Kingdom2025-04-06Benton, John B Jr UNQUALIFIED14Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Wickens S KolmetzRussiaIoni Bowcher NEW
Costa D GlickUnited KingdomAsiya Javayant NEGOTIATION
Leon X BologniaCanadaOnyama Limba UNQUALIFIED
Darci U BriddickFranceElwin Sharvill NEW
Juan B PoquetteFranceAnna Fali NEW
Chavez V FerenczItalyOnyama Limba UNQUALIFIED
Misaki V PoquetteIndiaIvan Magalhaes RENEWAL
Arvin I FerenczBrazilAsiya Javayant NEGOTIATION
Clifford K AmigonGermanyOnyama Limba RENEWAL
Kaitlin N DarakjyFranceAmy Elsner QUALIFIED
Aruna R WhobreyCanadaAmy Elsner QUALIFIED
Darci I DilliardUnited KingdomXuxue Feng NEGOTIATION
Kaitlin Y MorascaJapanIvan Magalhaes NEW
James W PerinItalyAmy Elsner PROPOSAL
Stacey F SlusarskiAustraliaXuxue Feng NEGOTIATION
Kaitlin W SaylorsAustraliaAmy Elsner RENEWAL
Murillo R MaletItalyIvan Magalhaes PROPOSAL
Sinclair I OstroskyUnited KingdomAsiya Javayant RENEWAL
Morrow O SergiAustraliaIoni Bowcher NEGOTIATION
Faith O MorascaAustraliaOnyama Limba RENEWAL
Chavez C WaycottIndiaElwin Sharvill NEW
Jeanfrancois B PoquetteUnited KingdomBernardo Dominic RENEWAL
Greenwood T SchemmerAustraliaIoni Bowcher UNQUALIFIED
Nicolas I SergiBrazilOnyama Limba RENEWAL
Antonio E AlbaresFranceAnna Fali QUALIFIED
Wickens B ShinkoBrazilAnna Fali UNQUALIFIED
Jefferson J PerinFranceElwin Sharvill QUALIFIED
Leon O SchemmerRussiaStephen Shaw QUALIFIED
Faith I CaudyArgentinaIvan Magalhaes UNQUALIFIED
Mayumi X PerinArgentinaIoni Bowcher UNQUALIFIED
Ashley K PerinCanadaElwin Sharvill NEW
Leon B MorascaGermanyAsiya Javayant UNQUALIFIED
Leja N GarufiJapanOnyama Limba QUALIFIED
Arvin I RoysterRussiaStephen Shaw QUALIFIED
Leja W ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Alejandro S OldroydAustraliaIoni Bowcher RENEWAL
Antonio X PoquetteAustraliaElwin Sharvill PROPOSAL
Silvio C WaycottFranceBernardo Dominic QUALIFIED
Rodrigues V PoquetteFranceXuxue Feng QUALIFIED
Stacey Y WieserArgentinaElwin Sharvill UNQUALIFIED
Greenwood Q CaldareraBrazilOnyama Limba RENEWAL
Aruna M StensethFranceIoni Bowcher RENEWAL
Morrow B RoysterArgentinaAmy Elsner NEW
Stacey L MarrierIndiaAsiya Javayant QUALIFIED
Ashley L WieserGermanyOnyama Limba RENEWAL
Emily U GillianCanadaStephen Shaw NEW
Adams G VocelkaSpainXuxue Feng NEW
Jennifer S NestleGermanyBernardo Dominic PROPOSAL
Silvio Q FlosiBrazilElwin Sharvill PROPOSAL
Emily U IturbideBrazilAmy Elsner RENEWAL
Frozen Columns
Name
Octavia Q Foller
Mujtaba U Stenseth
Ivar Q Garufi
Arvin M Sergi
Faith D Albares
Jefferson R Figeroa
Francesco A Vocelka
Isabel K Gillian
Murillo P Malet
Juan I Gillian
Misaki Q Whobrey
Darci U Venere
David W Saylors
Antonio N Dilliard
Ivar S Kolmetz
Munro K Ruta
Claire V Inouye
Darci W Whobrey
Izzy O Stenseth
Nicolas C Gaucho
Izzy B Perin
Ivar J Gaucho
Adams S Malet
Aika C Chui
Stacey B Caldarera
Kaitlin G Caldarera
Juan K Inouye
Smith P Flosi
Munro I Rulapaugh
Misaki T Saylors
Francesco N Figeroa
Stacey B Tollner
Clifford C Iturbide
Antonio B Briddick
Aruna Z Caldarera
Maisha L Malet
Jeanfrancois F Garufi
Murillo C Schemmer
Leon M Darakjy
Isabel Q Darakjy
Arvin Y Malet
Rodrigues J Garufi
Juan S Chui
Cody W Oldroyd
Isabel D Slusarski
Mayumi Y Albares
Jennifer W Vocelka
Mayumi B Stenseth
Clifford I Darakjy
Isabel R Dilliard
IdCountryDate
1000Italy2025-04-09
1001Russia2025-04-04
1002France2025-04-12
1003Japan2025-04-25
1004Russia2025-04-29
1005Italy2025-04-13
1006Spain2025-04-14
1007India2025-04-29
1008Brazil2025-04-15
1009Italy2025-04-16
1010Italy2025-04-16
1011Russia2025-04-02
1012India2025-04-08
1013Canada2025-04-11
1014Canada2025-04-14
1015Italy2025-04-24
1016Germany2025-04-23
1017Germany2025-04-23
1018Russia2025-04-23
1019France2025-04-14
1020Brazil2025-04-17
1021Australia2025-04-20
1022Italy2025-04-27
1023Australia2025-04-15
1024Canada2025-04-26
1025Brazil2025-04-28
1026Spain2025-04-16
1027Japan2025-04-02
1028Argentina2025-04-06
1029Canada2025-04-09
1030United Kingdom2025-04-01
1031Spain2025-04-01
1032Italy2025-04-06
1033United Kingdom2025-04-06
1034France2025-04-23
1035Germany2025-04-28
1036United Kingdom2025-04-15
1037Brazil2025-04-08
1038United Kingdom2025-04-14
1039Australia2025-04-07
1040Russia2025-04-08
1041Canada2025-04-15
1042United Kingdom2025-04-13
1043India2025-04-06
1044Spain2025-04-06
1045Argentina2025-04-01
1046France2025-04-24
1047Argentina2025-04-15
1048Canada2025-04-07
1049Germany2025-03-31

On-Demand Data

NameIdCountryDate
Maria E Morasca1000Italy2025-04-14
Chavez C Gaucho1001Spain2025-04-24
Mayumi C Kusko1002Brazil2025-04-11
Misaki I Kusko1003Australia2025-04-20
Sinclair B Dilliard1004India2025-04-10
Mayumi E Ostrosky1005Canada2025-04-16
Ivar F Garufi1006Brazil2025-04-03
Salvatore L Butt1007Brazil2025-04-20
Claire T Caldarera1008Brazil2025-04-26
Aditya N Rulapaugh1009France2025-04-02
Ashley J Schemmer1010United Kingdom2025-04-11
Rodrigues R Figeroa1011Australia2025-04-13
Mujtaba H Oldroyd1012Argentina2025-04-22
Arvin G Inouye1013Brazil2025-04-17
Julie Q Nicka1014Japan2025-03-31
Aruna L Vocelka1015Argentina2025-04-21
Smith J Malet1016Australia2025-04-11
Jennifer Q Marrier1017Australia2025-04-15
Adams H Caudy1018Argentina2025-04-20
Smith G Doe1019Japan2025-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore B FollerJapanStephen Shaw NEW
Ashley D MarrierUnited KingdomOnyama Limba UNQUALIFIED
Rodrigues R AlbaresUnited KingdomAnna Fali QUALIFIED
Smith Z MacleadRussiaAsiya Javayant RENEWAL
Juan S OstroskyArgentinaIvan Magalhaes PROPOSAL
Mujtaba E CaudyJapanIvan Magalhaes RENEWAL
Kadeem A RulapaughBrazilStephen Shaw NEW
Adams F WaycottCanadaBernardo Dominic NEW
Ashley M DarakjyArgentinaXuxue Feng NEW
Kadeem C ButtGermanyElwin Sharvill RENEWAL
Rodrigues O KolmetzSpainIoni Bowcher PROPOSAL
Octavia J DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Chavez D BologniaFranceXuxue Feng PROPOSAL
Silvio K WieserItalyBernardo Dominic NEGOTIATION
Adams D DoeBrazilAsiya Javayant NEGOTIATION
Leon Y NestleItalyAmy Elsner NEGOTIATION
Wickens B FerenczAustraliaIoni Bowcher QUALIFIED
Isabel Z VocelkaAustraliaAmy Elsner QUALIFIED
Ashley M MaletSpainOnyama Limba UNQUALIFIED
Ivar Q CaldareraArgentinaAmy Elsner RENEWAL
Faith F PoquetteAustraliaAnna Fali UNQUALIFIED
Ivar H OldroydBrazilOnyama Limba QUALIFIED
Costa Y WaycottJapanStephen Shaw QUALIFIED
Mujtaba P FollerAustraliaOnyama Limba QUALIFIED
Julie I WaycottRussiaIoni Bowcher NEGOTIATION
Julie Y PerinIndiaAmy Elsner NEGOTIATION
Stacey J FigeroaArgentinaAmy Elsner RENEWAL
Alejandro D FerenczCanadaIoni Bowcher NEGOTIATION
Cody C PoquetteUnited KingdomAnna Fali NEW
Kaitlin O RoysterUnited KingdomIoni Bowcher QUALIFIED
Deepesh F RimFranceStephen Shaw RENEWAL
James P GauchoSpainIvan Magalhaes UNQUALIFIED
Mayumi L FerenczRussiaXuxue Feng RENEWAL
Adams A InouyeAustraliaIoni Bowcher UNQUALIFIED
Silvio Z FigeroaBrazilBernardo Dominic QUALIFIED
Morrow N BologniaBrazilElwin Sharvill NEW
Claire K CaudyGermanyElwin Sharvill UNQUALIFIED
Francesco J RutaItalyXuxue Feng NEW
Ashley A CaldareraCanadaXuxue Feng NEW
David J DoeIndiaElwin 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>