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
Alejandro K InouyeSpainBernardo Dominic NEGOTIATION
Emily N StockhamFranceAmy Elsner UNQUALIFIED
Clifford M PerinArgentinaIvan Magalhaes NEGOTIATION
Wickens A CaldareraRussiaXuxue Feng PROPOSAL
Jones H ShinkoBrazilAnna Fali NEGOTIATION
David D GillianItalyElwin Sharvill NEGOTIATION
David S DarakjyFranceAnna Fali NEW
Costa F MacleadAustraliaXuxue Feng UNQUALIFIED
Jennifer D BowleyFranceAmy Elsner RENEWAL
James M AmigonGermanyOnyama Limba UNQUALIFIED
Smith A RimItalyIvan Magalhaes RENEWAL
Antonio L GauchoCanadaStephen Shaw PROPOSAL
Ricardo I FlosiJapanAmy Elsner QUALIFIED
Isabel S KolmetzRussiaAmy Elsner RENEWAL
Salvatore T GillianFranceBernardo Dominic RENEWAL
Rodrigues G BologniaItalyBernardo Dominic QUALIFIED
Aditya L SergiJapanAsiya Javayant PROPOSAL
Wickens X ChuiFranceOnyama Limba PROPOSAL
Aditya Z GlickSpainElwin Sharvill QUALIFIED
Cody Z VenereRussiaIoni Bowcher RENEWAL
Isabel I MaletItalyElwin Sharvill UNQUALIFIED
Aruna P GlickItalyStephen Shaw RENEWAL
Johnson S AmigonItalyAsiya Javayant NEGOTIATION
Emily J DilliardAustraliaXuxue Feng RENEWAL
Stacey V GauchoSpainAsiya Javayant QUALIFIED
Johnson Y StockhamBrazilAmy Elsner PROPOSAL
Cody Y MaletCanadaStephen Shaw PROPOSAL
Adams U VocelkaBrazilIvan Magalhaes NEW
Aika D GauchoRussiaElwin Sharvill RENEWAL
Aditya W OldroydCanadaElwin Sharvill NEGOTIATION
Jefferson B GauchoFranceStephen Shaw PROPOSAL
Greenwood W NestleFranceStephen Shaw NEGOTIATION
Chavez G FigeroaArgentinaStephen Shaw PROPOSAL
Mujtaba L MaletItalyAnna Fali QUALIFIED
Cody L AmigonRussiaBernardo Dominic QUALIFIED
Mujtaba Y TollnerGermanyAmy Elsner PROPOSAL
Darci H ChuiSpainIvan Magalhaes RENEWAL
Emily Q CaudyRussiaStephen Shaw PROPOSAL
Emily A BowleyGermanyElwin Sharvill QUALIFIED
Kaitlin S NestleFranceElwin Sharvill PROPOSAL
Costa E SlusarskiBrazilIoni Bowcher QUALIFIED
Maria S AmigonSpainIoni Bowcher NEGOTIATION
Julie P MorascaIndiaAnna Fali NEW
Isabel D FollerAustraliaElwin Sharvill QUALIFIED
Isabel W RulapaughFranceAnna Fali NEGOTIATION
Smith L SlusarskiBrazilAsiya Javayant RENEWAL
Jones Y RulapaughSpainStephen Shaw NEW
Maisha J OldroydSpainIoni Bowcher RENEWAL
Darci G FlosiItalyBernardo Dominic QUALIFIED
Maisha F MacleadBrazilOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Greenwood S SchemmerRussiaXuxue Feng PROPOSAL
Misaki D MaletRussiaStephen Shaw PROPOSAL
Jefferson Z NickaGermanyAnna Fali RENEWAL
Nicolas G KolmetzBrazilXuxue Feng RENEWAL
Nicolas V StensethFranceElwin Sharvill QUALIFIED
Aditya Y CampainIndiaAmy Elsner NEW
Stacey Q PoquetteCanadaAsiya Javayant QUALIFIED
Claire O PoquetteIndiaIoni Bowcher NEW
David K StockhamJapanStephen Shaw UNQUALIFIED
Costa E AlbaresUnited KingdomAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily L SaylorsRussia2024-05-07Rousseaux, Michael Esq NEW42Asiya Javayant
1001Munro F NickaBrazil2024-05-25Commercial Press NEW3Stephen Shaw
1002Julie U TollnerGermany2024-04-30Morlong Associates QUALIFIED91Anna Fali
1003Costa M SaylorsBrazil2024-05-01Printing Dimensions NEGOTIATION32Amy Elsner
1004Salvatore R AlbaresIndia2024-04-29Printing Dimensions QUALIFIED73Elwin Sharvill
1005Izzy B SchemmerFrance2024-05-25Feltz Printing Service PROPOSAL88Asiya Javayant
1006Jefferson M StensethCanada2024-05-18Benton, John B Jr NEGOTIATION72Xuxue Feng
1007Wickens M VenereIndia2024-05-06Printing Dimensions NEW82Anna Fali
1008Murillo C AmigonGermany2024-04-30Feiner Bros RENEWAL10Elwin Sharvill
1009Salvatore H OldroydSpain2024-05-01Morlong Associates PROPOSAL59Ivan Magalhaes
1010Francesco E InouyeJapan2024-05-12Chanay, Jeffrey A Esq PROPOSAL41Ioni Bowcher
1011Salvatore L SchemmerSpain2024-05-26Benton, John B Jr QUALIFIED44Stephen Shaw
1012Chavez O DilliardSpain2024-05-16Truhlar And Truhlar Attys NEGOTIATION5Amy Elsner
1013Munro E CampainArgentina2024-05-23Printing Dimensions PROPOSAL83Ioni Bowcher
1014Murillo R MacleadGermany2024-05-06Buckley Miller Wright UNQUALIFIED60Ioni Bowcher
1015Maria B OstroskyAustralia2024-05-25Feiner Bros NEW82Asiya Javayant
1016Stacey I AmigonItaly2024-05-04Feiner Bros NEGOTIATION44Ioni Bowcher
1017Isabel C NestleUnited Kingdom2024-05-16Morlong Associates QUALIFIED43Amy Elsner
1018Wickens E StockhamArgentina2024-05-04Commercial Press QUALIFIED49Anna Fali
1019Costa P ChuiSpain2024-05-01Feltz Printing Service NEGOTIATION56Elwin Sharvill
1020Jeanfrancois R RimBrazil2024-05-19Dorl, James J Esq PROPOSAL2Asiya Javayant
1021Aika I GlickCanada2024-05-11Chapman, Ross E Esq RENEWAL72Ioni Bowcher
1022Julie T MaletRussia2024-04-28Truhlar And Truhlar Attys NEW29Ioni Bowcher
1023Greenwood N GauchoFrance2024-05-26Chapman, Ross E Esq NEGOTIATION72Bernardo Dominic
1024Leon A GauchoIndia2024-05-22Feltz Printing Service RENEWAL26Onyama Limba
1025Greenwood Q InouyeArgentina2024-05-25King, Christopher A Esq NEGOTIATION10Ivan Magalhaes
1026Morrow U ChuiIndia2024-05-07Commercial Press NEGOTIATION26Stephen Shaw
1027Jones Y DilliardItaly2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED16Amy Elsner
1028Darci U MaletAustralia2024-05-13Commercial Press NEW37Onyama Limba
1029Leon L GarufiFrance2024-05-01Commercial Press PROPOSAL12Stephen Shaw
1030Aditya A DarakjyJapan2024-05-05Chapman, Ross E Esq RENEWAL53Bernardo Dominic
1031Chavez V FlosiSpain2024-05-18Dorl, James J Esq NEGOTIATION9Onyama Limba
1032Ricardo F AmigonAustralia2024-04-27Morlong Associates NEGOTIATION12Stephen Shaw
1033Tony J StockhamFrance2024-05-13King, Christopher A Esq NEGOTIATION38Elwin Sharvill
1034Jefferson P StockhamItaly2024-05-07Truhlar And Truhlar Attys RENEWAL38Onyama Limba
1035Maria G MaletJapan2024-05-04Chemel, James L Cpa NEGOTIATION85Elwin Sharvill
1036Julie B MacleadUnited Kingdom2024-05-15Benton, John B Jr NEW30Elwin Sharvill
1037Munro C FollerBrazil2024-05-08Feiner Bros NEGOTIATION92Anna Fali
1038Julie H RulapaughArgentina2024-05-08Dorl, James J Esq PROPOSAL62Ioni Bowcher
1039Aditya P KuskoSpain2024-04-29Printing Dimensions QUALIFIED22Ioni Bowcher
1040Francesco V NestleAustralia2024-05-12Feiner Bros QUALIFIED56Stephen Shaw
1041Antonio A PaprockiRussia2024-05-04King, Christopher A Esq NEW3Ivan Magalhaes
1042Maria T PaprockiCanada2024-04-27Rangoni Of Florence RENEWAL58Ivan Magalhaes
1043Adams P AlbaresBrazil2024-05-25Chemel, James L Cpa QUALIFIED3Ioni Bowcher
1044Aruna L NestleJapan2024-05-11Feiner Bros NEGOTIATION69Onyama Limba
1045Costa C NickaRussia2024-04-30Chapman, Ross E Esq QUALIFIED99Amy Elsner
1046Octavia G BriddickIndia2024-05-17Morlong Associates NEGOTIATION6Xuxue Feng
1047Salvatore W OstroskySpain2024-05-22Buckley Miller Wright NEW91Anna Fali
1048Maisha A PerinIndia2024-05-20Buckley Miller Wright NEW81Ivan Magalhaes
1049Costa N ShinkoRussia2024-05-23Feltz Printing Service NEW48Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin Q WaycottGermanyXuxue Feng QUALIFIED
Maisha F DarakjyCanadaAnna Fali NEGOTIATION
Smith Q ChuiArgentinaIoni Bowcher PROPOSAL
Mujtaba F SlusarskiIndiaAnna Fali UNQUALIFIED
Aruna K MarrierGermanyBernardo Dominic PROPOSAL
Ivar R KuskoCanadaIoni Bowcher UNQUALIFIED
Deepesh E RulapaughItalyElwin Sharvill UNQUALIFIED
Maisha Q MaletFranceAsiya Javayant NEGOTIATION
Jennifer T MorascaFranceAsiya Javayant RENEWAL
Chavez Q FerenczBrazilAmy Elsner NEW
Silvio I RutaBrazilIoni Bowcher NEGOTIATION
Leon Y FlosiArgentinaAmy Elsner PROPOSAL
Ivar K RimFranceIvan Magalhaes PROPOSAL
Emily W RimSpainBernardo Dominic QUALIFIED
Greenwood M SlusarskiArgentinaAsiya Javayant QUALIFIED
Adams F WaycottSpainIoni Bowcher NEW
David V SchemmerJapanIoni Bowcher RENEWAL
Ivar J GarufiGermanyXuxue Feng NEGOTIATION
Kaitlin O DarakjyBrazilIvan Magalhaes RENEWAL
Tony I PerinAustraliaXuxue Feng NEW
Kadeem E DarakjyBrazilElwin Sharvill NEW
Octavia H CaldareraFranceXuxue Feng UNQUALIFIED
Jones V ShinkoAustraliaStephen Shaw RENEWAL
Isabel B BologniaGermanyIvan Magalhaes NEGOTIATION
Aika N BowleyJapanAsiya Javayant NEGOTIATION
Isabel X BologniaRussiaOnyama Limba QUALIFIED
Stacey R WhobreyBrazilStephen Shaw QUALIFIED
Emily U CaudyGermanyAmy Elsner QUALIFIED
Octavia M NestleFranceXuxue Feng UNQUALIFIED
Tony U KolmetzRussiaElwin Sharvill NEW
Octavia W MaletFranceAnna Fali RENEWAL
Mayumi H OldroydItalyIoni Bowcher PROPOSAL
Octavia G KuskoUnited KingdomAnna Fali QUALIFIED
Smith C MacleadItalyXuxue Feng QUALIFIED
Faith M PerinItalyOnyama Limba NEGOTIATION
Kadeem B VenereRussiaAsiya Javayant NEGOTIATION
Ricardo P TollnerIndiaStephen Shaw PROPOSAL
Emily T GarufiAustraliaAmy Elsner PROPOSAL
Misaki Q StensethArgentinaAsiya Javayant NEGOTIATION
Cody L PoquetteAustraliaAmy Elsner QUALIFIED
Adams I DarakjyRussiaAnna Fali PROPOSAL
Juan B PaprockiIndiaAnna Fali PROPOSAL
David Z CampainUnited KingdomXuxue Feng UNQUALIFIED
Chavez V PoquetteFranceAmy Elsner RENEWAL
Ivar Y TollnerCanadaAnna Fali NEGOTIATION
Salvatore X BologniaSpainElwin Sharvill QUALIFIED
Jefferson I AmigonArgentinaElwin Sharvill NEGOTIATION
Misaki Q GillianArgentinaOnyama Limba NEW
Murillo D OstroskyItalyElwin Sharvill NEGOTIATION
Kaitlin S AlbaresRussiaIvan Magalhaes NEW
Frozen Columns
Name
Rodrigues A Oldroyd
Ivar N Rim
Johnson W Malet
Murillo U Darakjy
Kaitlin F Vocelka
Stacey V Sergi
Aditya Y Sergi
Mujtaba B Vocelka
Kadeem W Amigon
Jefferson T Kusko
Izzy O Garufi
Cody B Whobrey
David J Vocelka
Mayumi J Tollner
Wickens X Nicka
Kadeem B Gillian
Francesco W Darakjy
Mayumi Z Kusko
Octavia X Vocelka
Jennifer Z Kolmetz
Leja A Oldroyd
Costa I Oldroyd
Octavia B Kusko
James S Poquette
Aditya N Slusarski
Julie E Schemmer
Johnson E Bowley
Misaki P Butt
Greenwood J Ruta
Cody A Venere
Aika G Ruta
Emily E Briddick
Maisha Q Briddick
Misaki N Maclead
Greenwood Y Figeroa
Octavia K Whobrey
James Z Marrier
Nicolas F Kolmetz
Mujtaba W Butt
Ivar F Stenseth
Juan K Gaucho
Emily K Royster
Octavia B Stenseth
Costa X Butt
Silvio W Ruta
Aika A Venere
Munro M Ferencz
Deepesh G Flosi
Aditya C Ostrosky
Leja E Ruta
IdCountryDate
1000Japan2024-04-29
1001Canada2024-05-07
1002Argentina2024-04-29
1003Argentina2024-04-30
1004France2024-05-14
1005Russia2024-05-13
1006Canada2024-04-28
1007Argentina2024-05-08
1008Brazil2024-05-01
1009India2024-05-26
1010Germany2024-04-30
1011Spain2024-05-23
1012Germany2024-05-21
1013India2024-05-23
1014India2024-05-13
1015France2024-05-14
1016Brazil2024-05-02
1017Russia2024-05-10
1018United Kingdom2024-05-23
1019Argentina2024-05-15
1020United Kingdom2024-05-14
1021France2024-05-16
1022Italy2024-05-26
1023India2024-05-22
1024Germany2024-04-29
1025Germany2024-05-12
1026India2024-04-29
1027Italy2024-05-10
1028Russia2024-04-29
1029Germany2024-05-01
1030Italy2024-05-19
1031Brazil2024-05-14
1032France2024-05-09
1033Spain2024-04-29
1034Japan2024-04-30
1035Canada2024-05-21
1036Italy2024-05-12
1037Brazil2024-05-24
1038United Kingdom2024-05-23
1039Italy2024-05-01
1040Italy2024-05-25
1041Spain2024-05-01
1042France2024-05-19
1043Russia2024-05-14
1044Argentina2024-05-24
1045Brazil2024-05-13
1046Argentina2024-05-16
1047Japan2024-05-12
1048Argentina2024-05-06
1049Brazil2024-05-24

On-Demand Data

NameIdCountryDate
Leja P Albares1000Italy2024-05-20
Chavez C Kolmetz1001Australia2024-04-27
Alejandro J Slusarski1002France2024-05-26
Silvio X Amigon1003Russia2024-05-13
Cody P Nicka1004Argentina2024-05-25
Jefferson F Figeroa1005Russia2024-04-29
Izzy K Venere1006United Kingdom2024-05-18
Ivar M Sergi1007Italy2024-04-27
Aika F Briddick1008Germany2024-05-14
Munro B Nestle1009United Kingdom2024-05-22
Claire Z Whobrey1010France2024-05-10
Silvio G Whobrey1011Germany2024-05-26
Jefferson U Wieser1012Australia2024-05-22
Ivar Z Bowley1013Spain2024-05-05
Chavez X Paprocki1014Germany2024-04-30
Salvatore Y Stenseth1015India2024-05-03
James Q Doe1016Australia2024-05-23
Jefferson T Kolmetz1017Brazil2024-05-23
Ivar G Saylors1018Germany2024-05-08
Deepesh S Bowley1019France2024-05-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily Q FigeroaCanadaIvan Magalhaes RENEWAL
Aika A IturbideSpainXuxue Feng NEGOTIATION
Salvatore J StockhamIndiaAnna Fali UNQUALIFIED
Francesco Q SaylorsBrazilElwin Sharvill PROPOSAL
Julie X KuskoAustraliaElwin Sharvill PROPOSAL
Nicolas L StensethAustraliaAsiya Javayant NEW
Darci E KolmetzArgentinaXuxue Feng PROPOSAL
Salvatore B GarufiUnited KingdomElwin Sharvill UNQUALIFIED
Ivar E DilliardIndiaStephen Shaw PROPOSAL
Murillo L DarakjyUnited KingdomElwin Sharvill PROPOSAL
Jones R VocelkaUnited KingdomOnyama Limba PROPOSAL
Maria X DarakjyFranceAsiya Javayant RENEWAL
Darci I MacleadAustraliaAmy Elsner NEW
Nicolas F KuskoArgentinaAmy Elsner PROPOSAL
Sinclair F SaylorsRussiaElwin Sharvill NEW
Wickens J BriddickSpainStephen Shaw NEGOTIATION
Jones U GauchoArgentinaAsiya Javayant UNQUALIFIED
Aruna E PaprockiAustraliaIvan Magalhaes NEGOTIATION
Francesco Y BologniaBrazilOnyama Limba NEW
Leon C RoysterBrazilAnna Fali QUALIFIED
Munro J RimAustraliaIoni Bowcher UNQUALIFIED
Aditya F RoysterItalyAsiya Javayant UNQUALIFIED
Wickens N PaprockiRussiaXuxue Feng UNQUALIFIED
Ivar B DarakjyArgentinaAmy Elsner UNQUALIFIED
Izzy Y InouyeAustraliaAmy Elsner QUALIFIED
Mayumi H VocelkaGermanyAmy Elsner RENEWAL
Adams I SlusarskiItalyOnyama Limba PROPOSAL
Adams A TollnerSpainAnna Fali UNQUALIFIED
Munro V DoeCanadaAmy Elsner NEGOTIATION
Morrow Y DarakjyFranceIvan Magalhaes NEW
Emily Y SlusarskiSpainBernardo Dominic NEGOTIATION
Leja W GauchoGermanyAnna Fali QUALIFIED
Jennifer F AmigonCanadaAsiya Javayant UNQUALIFIED
Antonio A MacleadAustraliaStephen Shaw NEW
Murillo I ButtJapanIoni Bowcher QUALIFIED
Nicolas K ShinkoUnited KingdomXuxue Feng QUALIFIED
Ashley J NestleAustraliaAnna Fali QUALIFIED
Kadeem X ShinkoAustraliaAmy Elsner RENEWAL
Johnson I InouyeRussiaXuxue Feng NEGOTIATION
Alejandro R NestleFranceElwin 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>