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
Salvatore T CampainCanadaIvan Magalhaes PROPOSAL
Tony N FigeroaItalyIvan Magalhaes NEW
Jefferson N ShinkoBrazilElwin Sharvill UNQUALIFIED
Arvin J StensethItalyBernardo Dominic NEW
Rodrigues X FlosiArgentinaAsiya Javayant NEGOTIATION
Aditya M DarakjyGermanyIvan Magalhaes RENEWAL
Chavez J VenereCanadaElwin Sharvill UNQUALIFIED
Antonio M RimBrazilBernardo Dominic PROPOSAL
Francesco G WieserItalyXuxue Feng PROPOSAL
Tony Q KolmetzAustraliaIoni Bowcher RENEWAL
Emily K WaycottCanadaXuxue Feng NEW
Izzy T PaprockiFranceStephen Shaw NEW
Maisha J GauchoFranceIvan Magalhaes QUALIFIED
Costa T MacleadArgentinaXuxue Feng NEW
Chavez U BowleyArgentinaAsiya Javayant NEW
Mayumi S RoysterBrazilElwin Sharvill RENEWAL
Darci T RimJapanElwin Sharvill UNQUALIFIED
Julie Q PaprockiSpainXuxue Feng UNQUALIFIED
Stacey Y NestleIndiaAmy Elsner PROPOSAL
Maisha E TollnerFranceStephen Shaw PROPOSAL
Rodrigues P PerinFranceIoni Bowcher NEW
Adams D FerenczCanadaBernardo Dominic QUALIFIED
Leon C SaylorsArgentinaStephen Shaw NEGOTIATION
Juan M OldroydItalyXuxue Feng NEW
Cody R BriddickSpainOnyama Limba UNQUALIFIED
Juan R FollerFranceOnyama Limba PROPOSAL
Faith V StensethUnited KingdomXuxue Feng RENEWAL
Jeanfrancois V OstroskyAustraliaIoni Bowcher UNQUALIFIED
James G MaletCanadaAmy Elsner UNQUALIFIED
Aditya W CaldareraRussiaIoni Bowcher UNQUALIFIED
Jefferson W IturbideUnited KingdomIoni Bowcher RENEWAL
Tony T DarakjyItalyIvan Magalhaes NEGOTIATION
Cody X GlickAustraliaOnyama Limba QUALIFIED
Nicolas R GillianGermanyOnyama Limba RENEWAL
Aditya A RoysterRussiaElwin Sharvill UNQUALIFIED
Arvin V MaletUnited KingdomAsiya Javayant QUALIFIED
Adams P TollnerGermanyStephen Shaw NEW
Wickens N AmigonArgentinaBernardo Dominic PROPOSAL
Greenwood L DilliardIndiaElwin Sharvill PROPOSAL
Adams X StockhamJapanXuxue Feng PROPOSAL
Cody Z CampainAustraliaAmy Elsner NEW
Darci J WieserArgentinaAnna Fali QUALIFIED
Francesco K FollerIndiaAmy Elsner QUALIFIED
Ashley X ShinkoAustraliaAnna Fali UNQUALIFIED
Deepesh J MacleadIndiaIvan Magalhaes RENEWAL
Leja Y CaudyCanadaBernardo Dominic RENEWAL
Johnson N OstroskyUnited KingdomXuxue Feng UNQUALIFIED
Faith E NickaRussiaIoni Bowcher RENEWAL
Misaki W PoquetteIndiaAmy Elsner RENEWAL
Rodrigues F RimSpainAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez F InouyeCanadaStephen Shaw NEGOTIATION
Jones D RimArgentinaAnna Fali NEW
Johnson C OldroydArgentinaStephen Shaw NEGOTIATION
Salvatore F GauchoIndiaIoni Bowcher RENEWAL
Cody X GauchoArgentinaOnyama Limba UNQUALIFIED
Julie A FollerIndiaBernardo Dominic PROPOSAL
Aika P AmigonItalyIvan Magalhaes NEGOTIATION
Faith V BriddickGermanyAnna Fali RENEWAL
Cody I TollnerAustraliaAsiya Javayant UNQUALIFIED
Emily K IturbideIndiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha L MacleadRussia2025-04-02King, Christopher A Esq UNQUALIFIED17Ioni Bowcher
1001Izzy A ChuiCanada2025-04-14Truhlar And Truhlar Attys RENEWAL78Elwin Sharvill
1002Octavia G MorascaSpain2025-04-28Rousseaux, Michael Esq RENEWAL98Onyama Limba
1003Mayumi Z MaletSpain2025-04-04Feiner Bros NEW51Stephen Shaw
1004Clifford P SchemmerBrazil2025-04-21King, Christopher A Esq QUALIFIED91Bernardo Dominic
1005Izzy S PaprockiCanada2025-04-06Feltz Printing Service UNQUALIFIED42Asiya Javayant
1006Misaki I GlickUnited Kingdom2025-04-08Commercial Press QUALIFIED40Bernardo Dominic
1007Ivar V FlosiIndia2025-04-21Chanay, Jeffrey A Esq QUALIFIED91Xuxue Feng
1008Izzy U GillianFrance2025-04-09Chanay, Jeffrey A Esq PROPOSAL21Asiya Javayant
1009Munro Z WieserArgentina2025-04-25Dorl, James J Esq PROPOSAL83Elwin Sharvill
1010Wickens M PaprockiIndia2025-04-11Rangoni Of Florence UNQUALIFIED76Amy Elsner
1011Ashley X IturbideGermany2025-04-19Dorl, James J Esq QUALIFIED25Ivan Magalhaes
1012Jefferson J MaletSpain2025-04-08Feiner Bros UNQUALIFIED91Bernardo Dominic
1013Morrow S BologniaJapan2025-04-21Rangoni Of Florence RENEWAL49Onyama Limba
1014Ricardo S GarufiRussia2025-04-04Dorl, James J Esq PROPOSAL66Elwin Sharvill
1015Darci J FerenczAustralia2025-04-02Chanay, Jeffrey A Esq PROPOSAL7Onyama Limba
1016Stacey X MorascaUnited Kingdom2025-04-25Truhlar And Truhlar Attys QUALIFIED0Xuxue Feng
1017Jeanfrancois K KolmetzBrazil2025-04-09Chemel, James L Cpa NEGOTIATION92Stephen Shaw
1018Costa H GauchoBrazil2025-04-13King, Christopher A Esq PROPOSAL10Amy Elsner
1019Ivar Q KuskoItaly2025-04-13Chanay, Jeffrey A Esq UNQUALIFIED63Amy Elsner
1020Faith V OldroydGermany2025-04-01Benton, John B Jr NEW13Bernardo Dominic
1021Octavia V CaudyGermany2025-04-18Rangoni Of Florence NEGOTIATION37Amy Elsner
1022Rodrigues R CampainRussia2025-04-21Truhlar And Truhlar Attys QUALIFIED51Elwin Sharvill
1023Morrow S PoquetteCanada2025-04-08Feiner Bros QUALIFIED73Xuxue Feng
1024Isabel G WieserJapan2025-04-20Rangoni Of Florence PROPOSAL40Ivan Magalhaes
1025Faith E VocelkaUnited Kingdom2025-04-09Feltz Printing Service RENEWAL2Ivan Magalhaes
1026Silvio J AmigonIndia2025-04-28Feiner Bros QUALIFIED72Amy Elsner
1027Kaitlin E CaudyArgentina2025-04-20Feltz Printing Service RENEWAL9Asiya Javayant
1028Morrow K GarufiUnited Kingdom2025-04-15Rangoni Of Florence RENEWAL26Ioni Bowcher
1029Greenwood J SaylorsJapan2025-04-26Dorl, James J Esq RENEWAL12Ivan Magalhaes
1030Maria N WaycottFrance2025-04-23Rangoni Of Florence NEGOTIATION69Onyama Limba
1031Chavez Q DarakjyArgentina2025-04-03Chapman, Ross E Esq QUALIFIED28Ivan Magalhaes
1032Arvin W RoysterUnited Kingdom2025-04-13Buckley Miller Wright NEGOTIATION44Anna Fali
1033Julie E BriddickIndia2025-04-14Chemel, James L Cpa NEGOTIATION83Asiya Javayant
1034Isabel K FollerSpain2025-04-06Buckley Miller Wright RENEWAL38Elwin Sharvill
1035Deepesh J CampainRussia2025-04-01Feiner Bros NEW95Xuxue Feng
1036Izzy P GauchoIndia2025-04-30Morlong Associates QUALIFIED32Ioni Bowcher
1037Tony Q FigeroaItaly2025-04-21Chanay, Jeffrey A Esq RENEWAL32Ioni Bowcher
1038Emily K KuskoArgentina2025-04-22Morlong Associates QUALIFIED42Bernardo Dominic
1039Aika F DoeUnited Kingdom2025-04-13Commercial Press NEGOTIATION58Xuxue Feng
1040Juan L MaletCanada2025-04-02Commercial Press PROPOSAL91Ioni Bowcher
1041Salvatore E RoysterAustralia2025-04-30Morlong Associates PROPOSAL27Ioni Bowcher
1042Jefferson J MorascaCanada2025-04-15Rousseaux, Michael Esq UNQUALIFIED54Anna Fali
1043Rodrigues U GillianRussia2025-04-13Morlong Associates UNQUALIFIED71Elwin Sharvill
1044Ivar S PoquetteAustralia2025-04-03Commercial Press UNQUALIFIED68Asiya Javayant
1045Smith P DilliardGermany2025-04-07Rousseaux, Michael Esq NEW80Onyama Limba
1046Mujtaba O DilliardCanada2025-04-19Benton, John B Jr QUALIFIED50Amy Elsner
1047Cody Y DoeItaly2025-04-13Chapman, Ross E Esq NEGOTIATION58Ivan Magalhaes
1048Jefferson U RulapaughFrance2025-04-19Morlong Associates RENEWAL27Onyama Limba
1049Jones A FerenczSpain2025-04-15Dorl, James J Esq UNQUALIFIED56Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Smith Q SergiFranceAsiya Javayant RENEWAL
Maria W BologniaItalyOnyama Limba NEGOTIATION
Mujtaba Q MacleadGermanyIoni Bowcher NEW
Ricardo V GauchoItalyStephen Shaw NEW
Julie R NestleItalyBernardo Dominic NEW
Julie P RimRussiaAsiya Javayant QUALIFIED
Tony D MorascaIndiaXuxue Feng NEGOTIATION
Costa B CaudyRussiaXuxue Feng RENEWAL
Kaitlin K MaletJapanXuxue Feng NEGOTIATION
Stacey L SchemmerUnited KingdomIoni Bowcher NEW
Francesco I AmigonCanadaStephen Shaw PROPOSAL
Aruna S GillianArgentinaXuxue Feng NEW
Mujtaba I PaprockiSpainElwin Sharvill UNQUALIFIED
Alejandro M WieserBrazilOnyama Limba QUALIFIED
Jennifer U RutaUnited KingdomAmy Elsner UNQUALIFIED
Julie I SergiRussiaOnyama Limba NEGOTIATION
Jeanfrancois I DoeArgentinaAmy Elsner NEW
Juan L NestleArgentinaBernardo Dominic PROPOSAL
Clifford O DarakjyJapanElwin Sharvill RENEWAL
Nicolas C GlickAustraliaAsiya Javayant NEW
Misaki N RulapaughArgentinaAmy Elsner PROPOSAL
Mayumi P MacleadCanadaAnna Fali PROPOSAL
Jefferson R FerenczSpainXuxue Feng NEW
Kaitlin D GarufiBrazilIoni Bowcher NEGOTIATION
Wickens Y RutaIndiaStephen Shaw UNQUALIFIED
Kadeem S GarufiItalyAnna Fali QUALIFIED
Maria E DarakjyJapanIvan Magalhaes QUALIFIED
Aruna Y MarrierItalyOnyama Limba NEW
Arvin X FerenczSpainXuxue Feng NEGOTIATION
Deepesh R ButtArgentinaAsiya Javayant RENEWAL
Kadeem N RimBrazilStephen Shaw QUALIFIED
Arvin U MacleadGermanyIoni Bowcher NEW
Nicolas G NickaUnited KingdomAsiya Javayant NEW
Cody U DilliardBrazilAmy Elsner RENEWAL
Darci T AmigonBrazilIoni Bowcher PROPOSAL
Francesco T TollnerSpainOnyama Limba QUALIFIED
Nicolas N InouyeUnited KingdomAsiya Javayant RENEWAL
James D MorascaItalyIvan Magalhaes NEGOTIATION
Mayumi T KolmetzAustraliaOnyama Limba NEGOTIATION
Jones Q GauchoArgentinaXuxue Feng RENEWAL
Stacey T PoquetteArgentinaIoni Bowcher NEW
Salvatore S FerenczAustraliaBernardo Dominic QUALIFIED
Julie I SchemmerItalyIoni Bowcher PROPOSAL
Murillo I BowleyRussiaBernardo Dominic QUALIFIED
Morrow Y GlickItalyIoni Bowcher NEW
Cody X ButtCanadaAnna Fali PROPOSAL
Smith G PaprockiArgentinaIvan Magalhaes QUALIFIED
Adams C MacleadGermanyOnyama Limba NEGOTIATION
Aditya T RimItalyBernardo Dominic UNQUALIFIED
Arvin H DarakjyUnited KingdomBernardo Dominic PROPOSAL
Frozen Columns
Name
David U Perin
Costa C Briddick
Tony M Stenseth
Antonio A Malet
Jeanfrancois D Poquette
Deepesh L Nestle
Cody I Ruta
Chavez E Dilliard
Morrow P Saylors
Octavia D Gaucho
Silvio N Glick
Rodrigues A Ferencz
Silvio U Glick
Izzy X Sergi
Mayumi X Iturbide
Stacey K Vocelka
Ivar S Stenseth
Aika Z Ostrosky
Mayumi U Dilliard
Claire G Vocelka
Munro J Campain
Aruna Z Schemmer
Murillo Z Chui
Maisha S Tollner
Wickens F Stenseth
Johnson H Rulapaugh
Wickens O Nestle
Claire E Flosi
Izzy Q Butt
Wickens R Caldarera
Misaki S Poquette
Ashley V Gillian
Stacey X Malet
Cody O Rim
Munro K Flosi
Ricardo X Waycott
Ashley H Ostrosky
Leja D Venere
Maria R Gaucho
Izzy E Sergi
Misaki O Kusko
Morrow I Gillian
Sinclair E Glick
Darci W Albares
Kaitlin O Slusarski
Rodrigues J Waycott
Alejandro X Ruta
Aika M Rim
Cody Y Rim
Jones G Schemmer
IdCountryDate
1000Germany2025-04-01
1001India2025-04-09
1002Canada2025-04-10
1003Spain2025-04-30
1004Italy2025-04-17
1005Germany2025-04-18
1006Spain2025-04-06
1007Germany2025-04-08
1008United Kingdom2025-04-15
1009India2025-04-26
1010Argentina2025-04-26
1011Russia2025-04-04
1012Italy2025-04-01
1013Canada2025-04-08
1014Japan2025-04-13
1015United Kingdom2025-04-08
1016Russia2025-04-18
1017Germany2025-04-09
1018Germany2025-04-22
1019Italy2025-04-03
1020Germany2025-04-18
1021Brazil2025-04-29
1022India2025-04-26
1023Italy2025-04-06
1024Italy2025-04-04
1025Spain2025-04-02
1026France2025-04-27
1027Russia2025-04-15
1028Italy2025-04-07
1029France2025-04-10
1030France2025-04-17
1031France2025-04-18
1032Argentina2025-04-25
1033Spain2025-04-02
1034Brazil2025-04-12
1035India2025-04-16
1036Italy2025-04-07
1037United Kingdom2025-04-02
1038Brazil2025-04-22
1039Argentina2025-04-11
1040France2025-04-21
1041Russia2025-04-25
1042India2025-04-07
1043Brazil2025-04-28
1044Italy2025-04-24
1045Japan2025-04-23
1046Russia2025-04-01
1047Japan2025-04-23
1048Argentina2025-04-30
1049Italy2025-04-18

On-Demand Data

NameIdCountryDate
Aika R Maclead1000India2025-04-19
Cody X Doe1001Argentina2025-04-28
Adams H Nestle1002Russia2025-04-23
Julie U Slusarski1003Argentina2025-04-07
Tony V Flosi1004Russia2025-04-11
Rodrigues W Vocelka1005Russia2025-04-01
Murillo K Albares1006India2025-04-05
Jeanfrancois Z Albares1007Germany2025-04-09
Jennifer I Foller1008Russia2025-04-20
Kadeem V Flosi1009Australia2025-04-15
Wickens A Campain1010Italy2025-04-23
Sinclair O Albares1011Argentina2025-04-13
Sinclair R Iturbide1012Russia2025-04-23
Alejandro W Caldarera1013Germany2025-04-04
Mayumi Q Bowley1014Spain2025-04-14
Clifford R Slusarski1015Argentina2025-04-13
Silvio R Foller1016Spain2025-04-13
Chavez Y Chui1017Russia2025-04-17
Maria C Venere1018Argentina2025-04-13
Maisha A Whobrey1019Russia2025-04-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya Z GillianUnited KingdomBernardo Dominic NEGOTIATION
Smith B FigeroaFranceBernardo Dominic NEGOTIATION
Isabel P VenereUnited KingdomXuxue Feng RENEWAL
Antonio O WaycottUnited KingdomIvan Magalhaes QUALIFIED
Emily I GarufiBrazilIvan Magalhaes UNQUALIFIED
Ricardo F TollnerItalyAnna Fali NEW
Octavia M WieserItalyIvan Magalhaes NEW
Alejandro C VocelkaRussiaAsiya Javayant NEGOTIATION
Rodrigues H MorascaItalyXuxue Feng NEW
Mayumi I CampainJapanStephen Shaw NEW
Misaki R ShinkoCanadaBernardo Dominic RENEWAL
Cody P NickaRussiaAmy Elsner PROPOSAL
Chavez D BologniaSpainStephen Shaw UNQUALIFIED
Jennifer T KolmetzFranceIoni Bowcher UNQUALIFIED
Johnson R BriddickJapanOnyama Limba UNQUALIFIED
Kaitlin W InouyeRussiaAnna Fali QUALIFIED
Munro H BriddickItalyXuxue Feng QUALIFIED
Antonio A WhobreyAustraliaBernardo Dominic PROPOSAL
Sinclair F SaylorsArgentinaAsiya Javayant UNQUALIFIED
Leja J OldroydAustraliaElwin Sharvill PROPOSAL
Isabel Z DilliardFranceBernardo Dominic NEGOTIATION
Ivar Q ChuiArgentinaStephen Shaw PROPOSAL
Jefferson K BologniaIndiaAmy Elsner QUALIFIED
Jones Z WaycottGermanyIvan Magalhaes NEW
Salvatore F ShinkoGermanyBernardo Dominic NEW
Kaitlin H SaylorsFranceStephen Shaw NEW
Stacey X MarrierItalyAmy Elsner PROPOSAL
Smith Y RimUnited KingdomElwin Sharvill QUALIFIED
Smith X RoysterArgentinaAmy Elsner QUALIFIED
Jennifer G AmigonBrazilElwin Sharvill UNQUALIFIED
Aika P FlosiIndiaIvan Magalhaes NEGOTIATION
Jones E MarrierAustraliaElwin Sharvill PROPOSAL
Costa O CampainFranceElwin Sharvill NEGOTIATION
Julie Z SaylorsFranceAsiya Javayant UNQUALIFIED
Adams F CaldareraItalyOnyama Limba RENEWAL
Stacey X ChuiAustraliaOnyama Limba NEW
Misaki Q WhobreyGermanyBernardo Dominic NEW
Ashley K GlickUnited KingdomStephen Shaw NEGOTIATION
Kadeem X WhobreyAustraliaXuxue Feng NEW
Juan O PaprockiArgentinaAmy Elsner 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>