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
Chavez Z CampainUnited KingdomIoni Bowcher PROPOSAL
Morrow Z AlbaresCanadaBernardo Dominic UNQUALIFIED
Deepesh B RimAustraliaAnna Fali RENEWAL
Jones W FigeroaUnited KingdomIvan Magalhaes RENEWAL
Mujtaba Q CampainJapanBernardo Dominic QUALIFIED
Aika D NickaGermanyAmy Elsner QUALIFIED
Stacey Q ButtItalyAmy Elsner NEW
Alejandro B SlusarskiRussiaAmy Elsner PROPOSAL
James D KuskoCanadaAsiya Javayant QUALIFIED
Aika Q RoysterSpainOnyama Limba NEW
Ricardo L DilliardCanadaOnyama Limba PROPOSAL
Leon O RutaJapanIvan Magalhaes PROPOSAL
Aruna J IturbideUnited KingdomXuxue Feng PROPOSAL
Rodrigues X StensethUnited KingdomAnna Fali NEW
Clifford F MacleadJapanElwin Sharvill QUALIFIED
Mujtaba P WaycottItalyElwin Sharvill RENEWAL
Sinclair Q MaletBrazilOnyama Limba UNQUALIFIED
Darci B RimArgentinaAmy Elsner PROPOSAL
Darci S CaldareraArgentinaAnna Fali RENEWAL
Jeanfrancois P OstroskyUnited KingdomBernardo Dominic NEW
Arvin N RulapaughSpainAsiya Javayant NEGOTIATION
Silvio H WieserSpainIvan Magalhaes UNQUALIFIED
Mujtaba A WaycottCanadaIoni Bowcher PROPOSAL
Chavez W MaletItalyElwin Sharvill NEGOTIATION
Aruna E FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Jeanfrancois F MacleadIndiaOnyama Limba PROPOSAL
Francesco A StensethCanadaElwin Sharvill PROPOSAL
Claire D RulapaughIndiaAsiya Javayant QUALIFIED
Jennifer E DarakjySpainOnyama Limba PROPOSAL
Faith U MaletBrazilBernardo Dominic NEW
Leon P InouyeFranceIvan Magalhaes NEW
Juan B SaylorsItalyAsiya Javayant UNQUALIFIED
Aditya U MorascaJapanOnyama Limba QUALIFIED
Jones L CampainArgentinaOnyama Limba PROPOSAL
Kaitlin K MaletItalyBernardo Dominic RENEWAL
Tony M GlickGermanyAsiya Javayant NEGOTIATION
Jefferson Q NestleAustraliaIvan Magalhaes RENEWAL
Morrow U MaletArgentinaAnna Fali RENEWAL
Salvatore H MorascaIndiaOnyama Limba QUALIFIED
Mujtaba S DilliardFranceBernardo Dominic QUALIFIED
Maisha V GarufiJapanXuxue Feng NEGOTIATION
Aruna Z SchemmerCanadaIvan Magalhaes QUALIFIED
Arvin R StockhamItalyAnna Fali NEGOTIATION
Julie G MarrierUnited KingdomElwin Sharvill NEW
Chavez A WieserJapanOnyama Limba PROPOSAL
Smith R InouyeSpainAsiya Javayant NEGOTIATION
Misaki P GlickJapanIvan Magalhaes NEGOTIATION
David M OstroskyArgentinaAmy Elsner PROPOSAL
Aditya U TollnerItalyBernardo Dominic NEW
Antonio Y WhobreySpainXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Juan P RimArgentinaIoni Bowcher NEGOTIATION
Ivar C SlusarskiCanadaAsiya Javayant NEW
Morrow Z GarufiFranceXuxue Feng PROPOSAL
Ricardo Z KolmetzCanadaIvan Magalhaes NEW
Octavia J KolmetzCanadaBernardo Dominic NEGOTIATION
Claire Y VocelkaJapanAnna Fali QUALIFIED
Greenwood V ChuiCanadaOnyama Limba UNQUALIFIED
Antonio L StockhamGermanyIvan Magalhaes RENEWAL
Jennifer Q MacleadGermanyAmy Elsner NEW
Jefferson B SchemmerBrazilOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony F PerinAustralia2024-05-28Rousseaux, Michael Esq PROPOSAL49Stephen Shaw
1001Arvin G VocelkaBrazil2024-06-16Feiner Bros UNQUALIFIED51Asiya Javayant
1002Jennifer V BriddickCanada2024-05-26Dorl, James J Esq NEGOTIATION57Ivan Magalhaes
1003Francesco R MacleadJapan2024-06-07Feltz Printing Service PROPOSAL74Asiya Javayant
1004Rodrigues M WhobreySpain2024-06-04Rangoni Of Florence PROPOSAL43Onyama Limba
1005Tony J CaudyRussia2024-06-10King, Christopher A Esq RENEWAL81Elwin Sharvill
1006Francesco N RutaArgentina2024-05-24Chapman, Ross E Esq NEW66Amy Elsner
1007Tony G BriddickUnited Kingdom2024-06-20Chapman, Ross E Esq UNQUALIFIED57Anna Fali
1008Ricardo B GarufiSpain2024-06-07Feiner Bros NEGOTIATION93Asiya Javayant
1009Ricardo M VocelkaBrazil2024-06-09Rousseaux, Michael Esq QUALIFIED64Ioni Bowcher
1010Murillo R DarakjyRussia2024-05-30Benton, John B Jr QUALIFIED38Xuxue Feng
1011Jennifer O FerenczJapan2024-06-02Feltz Printing Service UNQUALIFIED82Xuxue Feng
1012Cody N RoysterBrazil2024-05-26Feiner Bros NEW97Asiya Javayant
1013David F ButtRussia2024-06-21Buckley Miller Wright NEW68Anna Fali
1014Kaitlin Y SlusarskiCanada2024-05-28Feltz Printing Service NEW38Stephen Shaw
1015Ricardo P RimUnited Kingdom2024-06-02Feiner Bros NEGOTIATION41Anna Fali
1016Cody D KuskoRussia2024-06-02Buckley Miller Wright RENEWAL49Onyama Limba
1017Francesco E TollnerSpain2024-05-25Dorl, James J Esq NEGOTIATION11Xuxue Feng
1018Jeanfrancois E FigeroaFrance2024-06-05Feltz Printing Service UNQUALIFIED91Asiya Javayant
1019Ricardo G GillianBrazil2024-06-03Benton, John B Jr RENEWAL50Asiya Javayant
1020Emily R RoysterArgentina2024-06-14Rousseaux, Michael Esq QUALIFIED20Ivan Magalhaes
1021James B FlosiArgentina2024-06-20Buckley Miller Wright NEGOTIATION44Onyama Limba
1022Kaitlin K SergiAustralia2024-06-12Benton, John B Jr UNQUALIFIED22Ioni Bowcher
1023Octavia A TollnerCanada2024-06-01Morlong Associates NEW19Onyama Limba
1024Costa Y SchemmerGermany2024-06-05Morlong Associates NEGOTIATION96Ioni Bowcher
1025Antonio I FerenczFrance2024-05-31Dorl, James J Esq PROPOSAL82Ioni Bowcher
1026Jones I ChuiItaly2024-06-03Buckley Miller Wright NEW58Amy Elsner
1027James G WhobreyItaly2024-06-11Rousseaux, Michael Esq PROPOSAL39Asiya Javayant
1028Silvio N SlusarskiIndia2024-06-21Morlong Associates PROPOSAL60Ioni Bowcher
1029Aika R PoquetteRussia2024-06-07Dorl, James J Esq PROPOSAL16Onyama Limba
1030Morrow J GauchoAustralia2024-06-05Chapman, Ross E Esq PROPOSAL82Asiya Javayant
1031Aruna E FollerAustralia2024-06-14Truhlar And Truhlar Attys NEGOTIATION27Amy Elsner
1032Deepesh R StockhamJapan2024-06-05Rangoni Of Florence NEGOTIATION48Anna Fali
1033Darci J FerenczCanada2024-06-19Chapman, Ross E Esq NEW71Onyama Limba
1034Munro S GlickRussia2024-05-30Dorl, James J Esq NEW3Ioni Bowcher
1035Greenwood J OldroydJapan2024-06-10Rousseaux, Michael Esq QUALIFIED32Xuxue Feng
1036Wickens K MarrierSpain2024-06-10Feiner Bros NEW55Ivan Magalhaes
1037Smith X VenereItaly2024-06-13Chanay, Jeffrey A Esq QUALIFIED3Anna Fali
1038Morrow G GlickBrazil2024-06-12Truhlar And Truhlar Attys QUALIFIED62Asiya Javayant
1039Johnson Y BowleyJapan2024-06-08Rangoni Of Florence PROPOSAL47Anna Fali
1040Darci D IturbideJapan2024-06-14Rousseaux, Michael Esq NEW20Bernardo Dominic
1041Stacey D KuskoCanada2024-06-18Morlong Associates RENEWAL13Onyama Limba
1042Murillo Z WieserBrazil2024-05-29Buckley Miller Wright QUALIFIED55Stephen Shaw
1043Jones L ChuiAustralia2024-05-25Buckley Miller Wright NEGOTIATION24Bernardo Dominic
1044Murillo L KolmetzAustralia2024-06-02Feltz Printing Service PROPOSAL94Elwin Sharvill
1045Deepesh Q StockhamIndia2024-06-18Feltz Printing Service RENEWAL27Ivan Magalhaes
1046Tony H MorascaItaly2024-06-08Morlong Associates NEW38Amy Elsner
1047Jones X FollerBrazil2024-05-24Rangoni Of Florence QUALIFIED94Ivan Magalhaes
1048Ivar E MaletUnited Kingdom2024-06-20Chapman, Ross E Esq PROPOSAL52Anna Fali
1049Isabel Q MacleadJapan2024-06-05Dorl, James J Esq NEW93Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Izzy B TollnerJapanXuxue Feng QUALIFIED
Greenwood E RutaJapanBernardo Dominic NEGOTIATION
Johnson D AlbaresCanadaAsiya Javayant UNQUALIFIED
Tony I FollerItalyAnna Fali RENEWAL
Johnson W AmigonItalyIvan Magalhaes PROPOSAL
Salvatore Z WieserIndiaOnyama Limba UNQUALIFIED
Munro R RutaArgentinaXuxue Feng QUALIFIED
Ashley T FollerArgentinaAnna Fali RENEWAL
Faith U ShinkoJapanAmy Elsner NEGOTIATION
Maria G FollerUnited KingdomElwin Sharvill PROPOSAL
Izzy Y PerinSpainAmy Elsner RENEWAL
Mayumi R IturbideCanadaXuxue Feng NEW
Morrow D BowleySpainOnyama Limba QUALIFIED
Cody F KuskoCanadaStephen Shaw UNQUALIFIED
Faith A GlickRussiaXuxue Feng NEW
Jennifer C SergiIndiaAmy Elsner NEGOTIATION
Izzy P BologniaItalyIoni Bowcher NEW
David K PerinItalyBernardo Dominic NEGOTIATION
Leon H GillianArgentinaIvan Magalhaes PROPOSAL
Mujtaba Z MaletRussiaBernardo Dominic NEGOTIATION
Aika G WaycottSpainAsiya Javayant NEW
Tony B VenereIndiaStephen Shaw RENEWAL
Smith B GarufiRussiaStephen Shaw QUALIFIED
Faith F SlusarskiItalyIoni Bowcher PROPOSAL
Sinclair H FigeroaIndiaXuxue Feng PROPOSAL
Deepesh T SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Cody T IturbideBrazilAmy Elsner QUALIFIED
Arvin B FlosiCanadaBernardo Dominic NEW
Antonio G NickaItalyIvan Magalhaes RENEWAL
Clifford S FlosiBrazilAmy Elsner RENEWAL
Deepesh P CaldareraRussiaAsiya Javayant NEGOTIATION
Francesco O CaldareraAustraliaAnna Fali NEGOTIATION
Alejandro K MorascaCanadaIoni Bowcher QUALIFIED
Murillo U NickaFranceIvan Magalhaes NEW
Maria U GlickFranceBernardo Dominic QUALIFIED
Jefferson Y KuskoBrazilStephen Shaw NEW
Smith Q StockhamArgentinaStephen Shaw UNQUALIFIED
Emily V AmigonJapanOnyama Limba PROPOSAL
Misaki M DarakjyFranceAmy Elsner PROPOSAL
Stacey S FerenczCanadaAsiya Javayant RENEWAL
Jones N DilliardIndiaIvan Magalhaes NEW
Murillo C MaletArgentinaAsiya Javayant PROPOSAL
Alejandro Z VenereItalyXuxue Feng PROPOSAL
Smith Q FigeroaItalyAmy Elsner PROPOSAL
Smith V IturbideGermanyAnna Fali UNQUALIFIED
Silvio P FlosiFranceAnna Fali PROPOSAL
Leon D PerinArgentinaIvan Magalhaes PROPOSAL
Maria F MaletUnited KingdomBernardo Dominic RENEWAL
Leon U CaldareraArgentinaAmy Elsner RENEWAL
Mayumi S NestleFranceIvan Magalhaes NEW
Frozen Columns
Name
Octavia B Ruta
Sinclair R Waycott
Chavez U Darakjy
Johnson Q Malet
Murillo M Waycott
Darci N Chui
James N Whobrey
Deepesh L Perin
Greenwood P Nestle
Wickens P Flosi
Greenwood L Morasca
Jeanfrancois S Slusarski
Jefferson T Campain
Salvatore L Figeroa
Chavez T Figeroa
Francesco X Gaucho
Greenwood Z Maclead
Francesco G Foller
Costa E Amigon
Deepesh F Gillian
Rodrigues J Waycott
Julie V Slusarski
Wickens M Shinko
Jefferson P Campain
Adams E Waycott
Aruna M Darakjy
Maria K Caldarera
Aditya Q Garufi
Ivar L Whobrey
Ricardo X Butt
Francesco Y Ostrosky
Tony O Perin
Aika Z Gaucho
Munro T Rim
Ivar O Flosi
Greenwood D Garufi
Silvio F Figeroa
Aika E Darakjy
Ashley R Chui
Isabel B Ruta
James M Ruta
Chavez J Garufi
Silvio Y Caudy
Mayumi Z Rulapaugh
Ashley P Chui
Juan C Paprocki
Adams R Tollner
Leon Q Butt
Jefferson D Foller
Jennifer D Bolognia
IdCountryDate
1000Argentina2024-05-29
1001Argentina2024-06-19
1002Germany2024-05-31
1003Argentina2024-06-18
1004France2024-06-18
1005Russia2024-06-10
1006India2024-06-08
1007Russia2024-06-18
1008Canada2024-06-02
1009Italy2024-06-09
1010Australia2024-06-20
1011Argentina2024-06-18
1012Spain2024-05-23
1013India2024-05-29
1014Japan2024-06-19
1015Japan2024-06-19
1016Russia2024-06-17
1017Spain2024-06-03
1018Japan2024-05-24
1019Brazil2024-06-01
1020Italy2024-05-31
1021India2024-06-16
1022France2024-06-02
1023Argentina2024-05-25
1024France2024-06-07
1025Russia2024-06-17
1026Italy2024-06-03
1027India2024-06-18
1028France2024-05-31
1029France2024-06-06
1030Russia2024-05-27
1031Brazil2024-05-29
1032Australia2024-06-08
1033United Kingdom2024-06-07
1034Spain2024-05-25
1035Italy2024-06-15
1036Italy2024-06-12
1037Italy2024-06-13
1038Brazil2024-06-19
1039France2024-06-09
1040Germany2024-06-13
1041France2024-05-29
1042Italy2024-05-26
1043Italy2024-06-16
1044France2024-06-17
1045France2024-05-28
1046Spain2024-05-24
1047Canada2024-05-28
1048Argentina2024-06-20
1049India2024-06-18

On-Demand Data

NameIdCountryDate
Izzy I Campain1000Italy2024-05-23
Munro W Albares1001Italy2024-05-24
Jeanfrancois J Flosi1002India2024-06-01
Maria Q Rulapaugh1003Canada2024-06-14
Jones R Nestle1004France2024-06-03
Salvatore F Nestle1005Germany2024-06-21
Tony T Tollner1006Italy2024-05-28
Salvatore L Shinko1007Australia2024-06-09
Leja O Kusko1008Canada2024-06-18
Stacey O Doe1009United Kingdom2024-06-16
Aruna O Kolmetz1010United Kingdom2024-06-05
Maria A Saylors1011Australia2024-05-30
Johnson E Stockham1012Spain2024-06-09
Octavia U Caldarera1013Australia2024-05-24
Kaitlin O Caldarera1014Australia2024-06-16
Aruna D Ferencz1015Italy2024-06-19
Jennifer O Oldroyd1016Japan2024-06-12
James B Nestle1017Canada2024-06-14
Nicolas Y Darakjy1018Australia2024-06-12
Leja P Malet1019Italy2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire H PerinRussiaAmy Elsner QUALIFIED
Claire K FigeroaBrazilAsiya Javayant UNQUALIFIED
Ivar Z GlickRussiaIoni Bowcher UNQUALIFIED
Leon V KuskoBrazilAmy Elsner NEW
Mayumi G ShinkoItalyOnyama Limba UNQUALIFIED
Munro M RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Octavia L RulapaughFranceAsiya Javayant UNQUALIFIED
Rodrigues S GarufiAustraliaAmy Elsner NEW
Chavez K FollerAustraliaElwin Sharvill NEW
Izzy X NickaGermanyBernardo Dominic RENEWAL
Ricardo X ButtJapanIvan Magalhaes UNQUALIFIED
Jeanfrancois H MacleadGermanyXuxue Feng RENEWAL
Sinclair Q BowleyItalyAmy Elsner QUALIFIED
Clifford L GillianBrazilIoni Bowcher QUALIFIED
Mayumi I GauchoItalyXuxue Feng UNQUALIFIED
Arvin W ButtGermanyIvan Magalhaes PROPOSAL
David L AlbaresCanadaIvan Magalhaes NEW
Chavez T StensethGermanyStephen Shaw NEW
Tony K CaldareraRussiaBernardo Dominic PROPOSAL
Munro F KolmetzAustraliaXuxue Feng QUALIFIED
Ricardo C NickaJapanAsiya Javayant NEW
Juan E BriddickBrazilElwin Sharvill UNQUALIFIED
Chavez O RutaAustraliaBernardo Dominic RENEWAL
Chavez R SaylorsBrazilStephen Shaw NEGOTIATION
Wickens U DilliardIndiaIoni Bowcher UNQUALIFIED
Chavez V TollnerRussiaIvan Magalhaes NEW
Greenwood C DilliardArgentinaBernardo Dominic UNQUALIFIED
Leja F RoysterGermanyBernardo Dominic NEGOTIATION
Murillo E WaycottIndiaXuxue Feng NEW
Darci S BologniaUnited KingdomIoni Bowcher RENEWAL
Antonio E WaycottRussiaAnna Fali RENEWAL
Greenwood G GarufiJapanAsiya Javayant NEW
Antonio P SaylorsAustraliaBernardo Dominic PROPOSAL
Juan S SchemmerItalyIvan Magalhaes RENEWAL
Silvio R BologniaJapanOnyama Limba PROPOSAL
Rodrigues J SlusarskiArgentinaXuxue Feng NEGOTIATION
Adams F ShinkoRussiaBernardo Dominic PROPOSAL
Jennifer U FigeroaJapanIoni Bowcher NEGOTIATION
James J SchemmerBrazilIvan Magalhaes NEGOTIATION
Johnson E ButtRussiaIoni Bowcher NEGOTIATION

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