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
Leon S SlusarskiFranceAsiya Javayant PROPOSAL
Izzy M VenereAustraliaAsiya Javayant QUALIFIED
Mujtaba U ChuiFranceAsiya Javayant PROPOSAL
Kaitlin G NickaSpainAsiya Javayant UNQUALIFIED
Greenwood L SlusarskiSpainBernardo Dominic NEGOTIATION
Aika N VocelkaGermanyOnyama Limba NEW
Sinclair L BriddickJapanAsiya Javayant UNQUALIFIED
Salvatore M CampainRussiaXuxue Feng QUALIFIED
Maria G FlosiCanadaAsiya Javayant NEW
James V FigeroaItalyBernardo Dominic UNQUALIFIED
Jeanfrancois D MarrierUnited KingdomStephen Shaw QUALIFIED
Johnson F SergiItalyElwin Sharvill PROPOSAL
Leja M RimItalyOnyama Limba NEW
Costa V SaylorsItalyIoni Bowcher PROPOSAL
Clifford V CaudyJapanIvan Magalhaes RENEWAL
Francesco A CaudyUnited KingdomXuxue Feng QUALIFIED
Ricardo D CaldareraIndiaIvan Magalhaes UNQUALIFIED
Izzy U WhobreyGermanyXuxue Feng QUALIFIED
Ivar O ChuiBrazilXuxue Feng UNQUALIFIED
Jefferson Y NestleJapanAmy Elsner RENEWAL
Greenwood Q BologniaItalyXuxue Feng QUALIFIED
Jeanfrancois R SergiArgentinaIoni Bowcher RENEWAL
Juan A FerenczIndiaIoni Bowcher QUALIFIED
Deepesh W DoeRussiaIoni Bowcher QUALIFIED
Johnson P FigeroaJapanIoni Bowcher RENEWAL
James X SergiArgentinaAsiya Javayant PROPOSAL
Johnson H SergiRussiaAsiya Javayant PROPOSAL
Francesco O RutaRussiaXuxue Feng NEGOTIATION
Misaki Q GarufiBrazilXuxue Feng NEW
Darci B CampainArgentinaAnna Fali RENEWAL
Tony X AlbaresSpainAnna Fali NEW
Maria P GlickRussiaIoni Bowcher RENEWAL
James C CaudyBrazilIvan Magalhaes NEW
Mayumi Q BologniaGermanyAnna Fali RENEWAL
Misaki G MarrierBrazilAmy Elsner RENEWAL
Antonio A IturbideRussiaIoni Bowcher RENEWAL
Maria J VenereAustraliaAmy Elsner QUALIFIED
Smith A RulapaughGermanyElwin Sharvill NEGOTIATION
Mayumi L VocelkaItalyIvan Magalhaes NEW
Darci F FlosiAustraliaIvan Magalhaes NEGOTIATION
Jennifer V IturbideArgentinaAsiya Javayant PROPOSAL
Deepesh R FigeroaGermanyStephen Shaw UNQUALIFIED
Mayumi X ShinkoItalyOnyama Limba RENEWAL
Francesco R PaprockiSpainIoni Bowcher PROPOSAL
Claire Q RutaItalyStephen Shaw RENEWAL
Leja C SchemmerFranceStephen Shaw PROPOSAL
Octavia I FerenczSpainAnna Fali UNQUALIFIED
Chavez L OstroskyBrazilAsiya Javayant PROPOSAL
Ashley F SaylorsFranceAnna Fali RENEWAL
Smith N MaletArgentinaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Arvin X SergiArgentinaAmy Elsner UNQUALIFIED
Isabel F AlbaresRussiaAmy Elsner NEW
Jones X FerenczCanadaElwin Sharvill PROPOSAL
Greenwood W GillianUnited KingdomXuxue Feng RENEWAL
Clifford K SlusarskiJapanAmy Elsner QUALIFIED
Alejandro I WaycottArgentinaOnyama Limba QUALIFIED
Clifford J PoquetteIndiaOnyama Limba UNQUALIFIED
Claire G NickaFranceAsiya Javayant RENEWAL
Emily M FerenczBrazilAsiya Javayant QUALIFIED
Murillo Z RutaCanadaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David N DoeItaly2025-04-17Chanay, Jeffrey A Esq UNQUALIFIED76Elwin Sharvill
1001Jennifer V MacleadFrance2025-04-12Morlong Associates RENEWAL61Asiya Javayant
1002Jones U ButtSpain2025-04-07Morlong Associates RENEWAL34Anna Fali
1003Chavez M IturbideAustralia2025-04-22Feltz Printing Service NEW2Ioni Bowcher
1004Mayumi B PaprockiItaly2025-04-09Feiner Bros QUALIFIED98Ioni Bowcher
1005Nicolas J BologniaSpain2025-04-11Feiner Bros QUALIFIED79Anna Fali
1006Jefferson H SaylorsCanada2025-04-04Feltz Printing Service PROPOSAL8Anna Fali
1007Morrow K GarufiFrance2025-04-05Dorl, James J Esq PROPOSAL2Onyama Limba
1008Jennifer E WhobreyIndia2025-04-14Morlong Associates QUALIFIED90Stephen Shaw
1009Jones I SergiFrance2025-04-20Rangoni Of Florence NEGOTIATION20Ivan Magalhaes
1010Aruna H RutaFrance2025-04-10Morlong Associates PROPOSAL37Ioni Bowcher
1011Nicolas L FollerRussia2025-04-13King, Christopher A Esq UNQUALIFIED36Stephen Shaw
1012Smith L FollerFrance2025-04-11Benton, John B Jr NEW25Anna Fali
1013Antonio S DoeFrance2025-04-24King, Christopher A Esq PROPOSAL86Anna Fali
1014Octavia X OldroydItaly2025-04-09Rangoni Of Florence PROPOSAL36Anna Fali
1015Claire J OstroskyBrazil2025-04-17Chemel, James L Cpa QUALIFIED36Ioni Bowcher
1016James G WhobreyIndia2025-04-16Benton, John B Jr PROPOSAL19Stephen Shaw
1017Leja M MacleadRussia2025-04-09Chemel, James L Cpa RENEWAL74Asiya Javayant
1018Johnson Z WaycottRussia2025-04-01Printing Dimensions QUALIFIED85Ivan Magalhaes
1019Aika B MaletArgentina2025-04-14Chapman, Ross E Esq PROPOSAL11Anna Fali
1020Jefferson H ShinkoGermany2025-04-12Dorl, James J Esq NEW62Xuxue Feng
1021David C BriddickAustralia2025-04-07King, Christopher A Esq RENEWAL60Elwin Sharvill
1022Julie T NickaSpain2025-04-01Printing Dimensions NEW14Xuxue Feng
1023Juan T VenereItaly2025-04-10Feiner Bros NEW86Bernardo Dominic
1024Antonio N DilliardIndia2025-04-02King, Christopher A Esq NEW24Stephen Shaw
1025Kadeem L CaldareraFrance2025-04-28Dorl, James J Esq NEW80Asiya Javayant
1026Stacey A MarrierGermany2025-04-27Truhlar And Truhlar Attys RENEWAL4Asiya Javayant
1027Costa T RoysterArgentina2025-04-04Benton, John B Jr QUALIFIED90Elwin Sharvill
1028Jeanfrancois P OldroydRussia2025-04-06Feltz Printing Service NEW30Xuxue Feng
1029Jones F RoysterBrazil2025-03-31Printing Dimensions UNQUALIFIED71Onyama Limba
1030Darci G GarufiArgentina2025-04-22Rangoni Of Florence NEW1Ivan Magalhaes
1031Smith D VocelkaArgentina2025-04-11Benton, John B Jr QUALIFIED51Anna Fali
1032Tony H RulapaughIndia2025-04-29Morlong Associates UNQUALIFIED89Anna Fali
1033Sinclair W ShinkoUnited Kingdom2025-04-25Truhlar And Truhlar Attys NEW52Ivan Magalhaes
1034Leja U VenereJapan2025-04-26Dorl, James J Esq NEW36Elwin Sharvill
1035Ivar Y CampainRussia2025-04-09Truhlar And Truhlar Attys PROPOSAL24Amy Elsner
1036Darci K IturbideUnited Kingdom2025-04-08Benton, John B Jr PROPOSAL83Onyama Limba
1037Sinclair S NestleIndia2025-04-12Printing Dimensions NEW61Asiya Javayant
1038Jeanfrancois R ButtUnited Kingdom2025-04-07Morlong Associates RENEWAL70Anna Fali
1039Ashley P MarrierGermany2025-04-01Truhlar And Truhlar Attys NEW1Asiya Javayant
1040Tony G IturbideArgentina2025-04-14Rousseaux, Michael Esq NEW6Ioni Bowcher
1041Costa Z CaldareraIndia2025-04-12Feltz Printing Service PROPOSAL44Elwin Sharvill
1042Aruna H MorascaCanada2025-04-20Feiner Bros NEGOTIATION75Onyama Limba
1043Francesco Y CampainFrance2025-04-22Feiner Bros NEW84Elwin Sharvill
1044Faith I RulapaughJapan2025-04-06Feiner Bros UNQUALIFIED99Stephen Shaw
1045Jennifer A FigeroaGermany2025-04-16Rangoni Of Florence QUALIFIED81Anna Fali
1046Juan B NestleArgentina2025-04-16Chapman, Ross E Esq QUALIFIED44Onyama Limba
1047Sinclair Z ShinkoCanada2025-04-24Rousseaux, Michael Esq RENEWAL3Asiya Javayant
1048Munro O WhobreyIndia2025-04-24Benton, John B Jr NEW3Bernardo Dominic
1049Francesco S RutaIndia2025-04-02Rousseaux, Michael Esq NEW32Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Adams N InouyeRussiaOnyama Limba NEGOTIATION
Aditya I SlusarskiSpainOnyama Limba QUALIFIED
Julie N BologniaJapanAnna Fali PROPOSAL
Kaitlin C WieserAustraliaAmy Elsner QUALIFIED
Ivar N IturbideRussiaElwin Sharvill UNQUALIFIED
Julie X MorascaGermanyAsiya Javayant UNQUALIFIED
Octavia J GarufiSpainBernardo Dominic PROPOSAL
Munro X KolmetzItalyBernardo Dominic NEW
Stacey G FigeroaRussiaElwin Sharvill RENEWAL
Deepesh Y CaldareraSpainAmy Elsner UNQUALIFIED
Costa Y GarufiItalyAnna Fali NEGOTIATION
Ashley C RoysterIndiaIvan Magalhaes NEW
Munro N CaudyArgentinaElwin Sharvill NEGOTIATION
Mujtaba A WaycottBrazilStephen Shaw PROPOSAL
Maria L VenereBrazilAnna Fali RENEWAL
Jefferson F BowleyArgentinaOnyama Limba NEW
Mayumi M GauchoRussiaIvan Magalhaes NEGOTIATION
Alejandro K RimSpainIoni Bowcher NEGOTIATION
Deepesh H DilliardItalyAmy Elsner NEW
Nicolas I WaycottSpainAsiya Javayant UNQUALIFIED
Clifford H VocelkaUnited KingdomElwin Sharvill PROPOSAL
Chavez L KolmetzArgentinaAnna Fali UNQUALIFIED
Smith N MaletItalyAmy Elsner QUALIFIED
Tony E CampainCanadaAmy Elsner NEGOTIATION
Aika O RulapaughRussiaXuxue Feng QUALIFIED
Greenwood F MarrierIndiaBernardo Dominic RENEWAL
Alejandro D GlickSpainAsiya Javayant UNQUALIFIED
Mayumi Y TollnerJapanAmy Elsner QUALIFIED
Mujtaba E GillianUnited KingdomIoni Bowcher NEGOTIATION
Wickens C OstroskyIndiaXuxue Feng NEGOTIATION
Kadeem U PerinItalyIoni Bowcher NEW
Jennifer W DarakjyBrazilAsiya Javayant RENEWAL
Leja X AmigonSpainIvan Magalhaes RENEWAL
Octavia O BologniaFranceOnyama Limba QUALIFIED
Arvin B FollerArgentinaIvan Magalhaes RENEWAL
James I NestleBrazilBernardo Dominic QUALIFIED
Adams N ShinkoIndiaIoni Bowcher PROPOSAL
Misaki G PerinSpainAmy Elsner NEW
Jennifer G WhobreyItalyOnyama Limba NEW
Maisha L PoquetteAustraliaIoni Bowcher NEW
Munro D GarufiGermanyAmy Elsner PROPOSAL
Costa H SergiCanadaXuxue Feng UNQUALIFIED
James V PoquetteRussiaBernardo Dominic NEGOTIATION
Ivar N AmigonCanadaElwin Sharvill NEGOTIATION
Faith Y ShinkoItalyOnyama Limba NEW
Deepesh W GillianRussiaAsiya Javayant NEW
Morrow M CampainGermanyBernardo Dominic NEGOTIATION
James F RulapaughSpainElwin Sharvill NEW
Murillo R FigeroaUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba P IturbideCanadaXuxue Feng NEGOTIATION
Frozen Columns
Name
Leon F Waycott
Greenwood R Shinko
Darci A Kolmetz
Leon C Vocelka
Jennifer I Perin
Isabel G Flosi
Ashley S Caldarera
Clifford C Saylors
Salvatore O Whobrey
Leja W Rim
Johnson D Chui
Salvatore X Tollner
Leon R Whobrey
Salvatore T Campain
Silvio Q Inouye
Chavez H Inouye
Emily K Kusko
Rodrigues H Foller
Mayumi Y Nicka
Jeanfrancois J Glick
Kaitlin N Albares
Smith F Tollner
David I Campain
Morrow M Ruta
Greenwood G Albares
Francesco Y Kusko
Silvio A Schemmer
Costa W Rim
Chavez D Schemmer
Silvio V Glick
Clifford M Chui
Morrow O Dilliard
Deepesh W Whobrey
Mayumi C Flosi
Mayumi N Tollner
Mujtaba I Royster
Costa N Malet
Costa T Caldarera
Maria D Schemmer
Kaitlin O Amigon
Faith X Vocelka
Ricardo Z Waycott
Isabel O Iturbide
Antonio F Butt
Mujtaba G Shinko
Mujtaba F Waycott
Chavez L Ruta
Aruna D Royster
Jefferson D Paprocki
Ashley F Vocelka
IdCountryDate
1000Japan2025-04-27
1001France2025-04-21
1002France2025-04-29
1003France2025-04-20
1004India2025-04-06
1005Russia2025-04-05
1006Japan2025-04-25
1007Russia2025-04-14
1008Australia2025-04-12
1009Australia2025-04-29
1010United Kingdom2025-04-27
1011France2025-04-25
1012India2025-04-09
1013United Kingdom2025-04-12
1014Canada2025-04-19
1015Brazil2025-04-29
1016France2025-04-26
1017Brazil2025-04-05
1018Canada2025-04-14
1019United Kingdom2025-04-24
1020Spain2025-04-13
1021Russia2025-04-10
1022Japan2025-04-24
1023Brazil2025-04-09
1024France2025-04-21
1025Spain2025-04-09
1026Japan2025-04-13
1027United Kingdom2025-04-05
1028Spain2025-03-31
1029Argentina2025-04-23
1030Brazil2025-04-01
1031Argentina2025-04-21
1032Australia2025-04-07
1033Canada2025-04-10
1034Germany2025-04-12
1035Canada2025-04-02
1036France2025-04-09
1037Australia2025-04-09
1038France2025-04-23
1039India2025-03-31
1040Spain2025-04-10
1041Australia2025-04-17
1042Canada2025-04-01
1043France2025-04-28
1044Italy2025-04-21
1045Italy2025-04-22
1046United Kingdom2025-04-10
1047Brazil2025-03-31
1048Canada2025-03-31
1049India2025-04-17

On-Demand Data

NameIdCountryDate
Francesco C Caudy1000Australia2025-04-13
Jones Y Flosi1001Russia2025-04-25
Aika S Gillian1002Brazil2025-03-31
Jennifer S Flosi1003Canada2025-04-11
Wickens Z Schemmer1004Russia2025-04-16
Kadeem V Figeroa1005Spain2025-04-26
Cody I Doe1006France2025-04-26
Jennifer R Foller1007Argentina2025-04-19
Salvatore S Nestle1008Argentina2025-04-24
Jones K Wieser1009France2025-04-09
Chavez T Perin1010United Kingdom2025-04-04
Ricardo S Dilliard1011Germany2025-04-12
Smith B Venere1012France2025-04-08
Jones G Garufi1013United Kingdom2025-04-21
Sinclair R Kolmetz1014Russia2025-04-15
Jefferson F Ostrosky1015Argentina2025-04-23
Leon I Sergi1016Brazil2025-04-26
Aditya B Waycott1017Spain2025-04-17
Wickens K Figeroa1018Spain2025-04-15
Morrow Q Caudy1019Argentina2025-04-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones K RimUnited KingdomBernardo Dominic NEW
Sinclair Y SchemmerItalyOnyama Limba QUALIFIED
Adams G PerinUnited KingdomElwin Sharvill NEGOTIATION
Maria C MacleadFranceStephen Shaw UNQUALIFIED
Ashley B StockhamUnited KingdomElwin Sharvill PROPOSAL
Kaitlin C FigeroaArgentinaOnyama Limba QUALIFIED
Isabel H GarufiFranceAnna Fali UNQUALIFIED
Leja N WieserGermanyAmy Elsner QUALIFIED
Jeanfrancois Y MaletItalyAnna Fali NEGOTIATION
Claire N InouyeIndiaIvan Magalhaes RENEWAL
Leon P ChuiSpainAsiya Javayant QUALIFIED
Maisha S FerenczSpainAmy Elsner NEGOTIATION
Maria Y StensethRussiaXuxue Feng NEW
Adams K RulapaughItalyIoni Bowcher UNQUALIFIED
Morrow B CaudyUnited KingdomOnyama Limba NEGOTIATION
Octavia M AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Smith H FollerIndiaAsiya Javayant UNQUALIFIED
Tony J KolmetzIndiaIvan Magalhaes PROPOSAL
Jefferson V SaylorsBrazilStephen Shaw QUALIFIED
Misaki N FigeroaItalyIvan Magalhaes NEGOTIATION
Clifford A TollnerSpainOnyama Limba UNQUALIFIED
Antonio O SaylorsUnited KingdomBernardo Dominic QUALIFIED
Leon K CampainArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois I WieserGermanyOnyama Limba QUALIFIED
Kaitlin G DilliardItalyOnyama Limba UNQUALIFIED
Jeanfrancois F SchemmerArgentinaIoni Bowcher NEW
Chavez V RutaRussiaStephen Shaw NEGOTIATION
Emily G FlosiAustraliaOnyama Limba PROPOSAL
Salvatore R InouyeArgentinaXuxue Feng NEW
Aika Q DilliardUnited KingdomXuxue Feng NEW
Wickens T RulapaughRussiaAnna Fali PROPOSAL
Ashley A NestleFranceOnyama Limba PROPOSAL
Jeanfrancois J PoquetteGermanyIoni Bowcher QUALIFIED
Claire K WaycottCanadaXuxue Feng NEGOTIATION
Jefferson V BriddickCanadaElwin Sharvill NEGOTIATION
Aruna E GillianBrazilAmy Elsner UNQUALIFIED
David Y PaprockiUnited KingdomBernardo Dominic UNQUALIFIED
Antonio X StensethUnited KingdomXuxue Feng RENEWAL
Claire K FerenczIndiaAmy Elsner NEW
Wickens V VenereBrazilXuxue Feng NEW

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