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
Ricardo B CaudySpainIoni Bowcher UNQUALIFIED
Octavia X DilliardFranceBernardo Dominic QUALIFIED
James M WieserJapanAnna Fali NEW
Julie I GillianBrazilAnna Fali RENEWAL
Alejandro M GarufiFranceStephen Shaw QUALIFIED
Nicolas G OstroskyCanadaStephen Shaw NEW
Francesco J StensethRussiaIoni Bowcher QUALIFIED
Kaitlin W MarrierItalyAmy Elsner NEGOTIATION
Salvatore O PoquetteBrazilElwin Sharvill RENEWAL
Jones F StockhamFranceAsiya Javayant UNQUALIFIED
David G SergiFranceIvan Magalhaes UNQUALIFIED
Leja D InouyeFranceOnyama Limba NEW
Chavez C AmigonRussiaAmy Elsner QUALIFIED
Cody I StockhamUnited KingdomStephen Shaw PROPOSAL
Misaki B StensethFranceAmy Elsner PROPOSAL
James R CampainGermanyBernardo Dominic NEW
Claire U ChuiJapanElwin Sharvill PROPOSAL
Aditya P BologniaRussiaElwin Sharvill NEGOTIATION
Stacey T ShinkoBrazilAnna Fali NEW
Aruna W NestleCanadaIoni Bowcher NEW
Greenwood M WieserAustraliaAnna Fali UNQUALIFIED
Claire X AmigonSpainAnna Fali PROPOSAL
Emily V RimBrazilOnyama Limba NEGOTIATION
Murillo D OldroydUnited KingdomBernardo Dominic PROPOSAL
Aruna O WaycottFranceElwin Sharvill NEW
Nicolas E MacleadBrazilBernardo Dominic UNQUALIFIED
Juan Z ShinkoArgentinaAmy Elsner RENEWAL
Izzy C ButtJapanIvan Magalhaes PROPOSAL
Misaki Z WieserArgentinaBernardo Dominic PROPOSAL
Antonio V ChuiAustraliaStephen Shaw QUALIFIED
Julie J CampainAustraliaIoni Bowcher UNQUALIFIED
Costa D NickaUnited KingdomElwin Sharvill RENEWAL
Rodrigues L SergiSpainIvan Magalhaes NEW
Costa H OstroskyArgentinaXuxue Feng UNQUALIFIED
Ashley Q MarrierArgentinaAmy Elsner PROPOSAL
Julie V SergiItalyXuxue Feng UNQUALIFIED
Misaki X AmigonBrazilIoni Bowcher NEGOTIATION
Salvatore B WieserFranceAsiya Javayant NEGOTIATION
Stacey I WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Smith P FollerCanadaBernardo Dominic QUALIFIED
Emily F GlickGermanyIvan Magalhaes NEGOTIATION
Clifford Q KuskoGermanyAsiya Javayant NEGOTIATION
Octavia P StockhamGermanyElwin Sharvill RENEWAL
Jefferson M TollnerAustraliaIvan Magalhaes QUALIFIED
Johnson Q MarrierRussiaAsiya Javayant NEW
Nicolas P AlbaresGermanyAnna Fali QUALIFIED
Aditya O NickaIndiaXuxue Feng PROPOSAL
Ashley S PaprockiAustraliaElwin Sharvill NEW
Maria Q KuskoUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson J DilliardFranceIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio G NickaCanadaAmy Elsner NEW
Tony Y DilliardItalyStephen Shaw PROPOSAL
Leja K PerinArgentinaIvan Magalhaes NEW
Jennifer H StockhamRussiaIoni Bowcher PROPOSAL
Kadeem J PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Clifford G FlosiIndiaAnna Fali RENEWAL
Aditya Y SchemmerSpainAsiya Javayant UNQUALIFIED
Emily S WieserAustraliaElwin Sharvill NEW
Tony Y MaletSpainAsiya Javayant NEW
Leon V ButtBrazilAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo F VenereArgentina2024-06-21Chapman, Ross E Esq QUALIFIED19Xuxue Feng
1001Clifford C SlusarskiGermany2024-06-18King, Christopher A Esq UNQUALIFIED23Ioni Bowcher
1002Mayumi G GillianIndia2024-06-18Dorl, James J Esq UNQUALIFIED18Bernardo Dominic
1003Francesco C PoquetteUnited Kingdom2024-06-01Chemel, James L Cpa UNQUALIFIED78Xuxue Feng
1004Leon X AlbaresGermany2024-06-09King, Christopher A Esq NEW90Anna Fali
1005Stacey W StockhamArgentina2024-06-18Benton, John B Jr PROPOSAL90Xuxue Feng
1006Ashley B VenereAustralia2024-06-04Truhlar And Truhlar Attys NEGOTIATION80Xuxue Feng
1007Silvio K FigeroaIndia2024-06-15Feltz Printing Service RENEWAL34Xuxue Feng
1008Kadeem K ChuiCanada2024-05-31Chanay, Jeffrey A Esq NEGOTIATION2Ioni Bowcher
1009Jefferson B AmigonArgentina2024-05-28Rangoni Of Florence NEGOTIATION71Xuxue Feng
1010Alejandro C IturbideFrance2024-06-22Dorl, James J Esq QUALIFIED68Anna Fali
1011Leja U BriddickCanada2024-05-25Feiner Bros RENEWAL34Asiya Javayant
1012Aditya A ChuiIndia2024-05-24Rousseaux, Michael Esq PROPOSAL53Asiya Javayant
1013Claire Z BowleyRussia2024-06-05Dorl, James J Esq NEW56Elwin Sharvill
1014Leon K CaldareraIndia2024-06-01Rousseaux, Michael Esq QUALIFIED6Elwin Sharvill
1015Silvio B SaylorsSpain2024-05-31Buckley Miller Wright PROPOSAL16Anna Fali
1016Smith G SlusarskiUnited Kingdom2024-05-30Morlong Associates NEGOTIATION21Asiya Javayant
1017Maria N GarufiAustralia2024-05-31Chapman, Ross E Esq NEW45Asiya Javayant
1018Salvatore Z BriddickRussia2024-05-26Rangoni Of Florence NEW12Xuxue Feng
1019Stacey U MaletCanada2024-06-05Rousseaux, Michael Esq PROPOSAL9Xuxue Feng
1020Silvio Y DilliardItaly2024-06-19Chapman, Ross E Esq PROPOSAL78Elwin Sharvill
1021Tony O OstroskyIndia2024-05-31Feiner Bros RENEWAL65Xuxue Feng
1022Alejandro J IturbideUnited Kingdom2024-05-24Chemel, James L Cpa UNQUALIFIED80Elwin Sharvill
1023Maria F InouyeBrazil2024-06-17King, Christopher A Esq NEGOTIATION14Ioni Bowcher
1024Jefferson J NickaRussia2024-06-08Feltz Printing Service NEW73Onyama Limba
1025Claire J ButtSpain2024-06-17Benton, John B Jr NEGOTIATION56Asiya Javayant
1026Smith F RutaAustralia2024-06-10Morlong Associates QUALIFIED48Xuxue Feng
1027Misaki Q TollnerGermany2024-05-29Dorl, James J Esq NEW2Anna Fali
1028Wickens M RutaIndia2024-05-30Benton, John B Jr NEGOTIATION67Onyama Limba
1029Stacey P GauchoCanada2024-06-21Commercial Press NEGOTIATION51Ivan Magalhaes
1030Chavez L WieserCanada2024-06-07Chapman, Ross E Esq NEGOTIATION16Ivan Magalhaes
1031Silvio Q FollerJapan2024-06-10Morlong Associates RENEWAL17Ivan Magalhaes
1032Izzy P GarufiAustralia2024-05-31Feiner Bros RENEWAL61Asiya Javayant
1033Stacey N KuskoAustralia2024-06-01Commercial Press QUALIFIED21Anna Fali
1034Jefferson O DilliardRussia2024-06-12Rangoni Of Florence UNQUALIFIED15Stephen Shaw
1035Sinclair N GlickIndia2024-06-16Printing Dimensions RENEWAL68Xuxue Feng
1036Darci H MaletBrazil2024-06-17Feltz Printing Service UNQUALIFIED42Xuxue Feng
1037Maria O KolmetzArgentina2024-06-21Chanay, Jeffrey A Esq RENEWAL39Stephen Shaw
1038Aruna H WieserArgentina2024-06-14Dorl, James J Esq RENEWAL82Ioni Bowcher
1039Emily O VenereIndia2024-06-17Printing Dimensions PROPOSAL34Amy Elsner
1040Stacey U OldroydSpain2024-06-08Buckley Miller Wright QUALIFIED53Ioni Bowcher
1041David C GauchoArgentina2024-06-06Chemel, James L Cpa QUALIFIED62Stephen Shaw
1042Mayumi D ShinkoBrazil2024-05-25Chanay, Jeffrey A Esq NEGOTIATION93Xuxue Feng
1043Kadeem B StensethAustralia2024-06-12Chemel, James L Cpa NEW93Ioni Bowcher
1044Faith K SaylorsIndia2024-06-03Buckley Miller Wright NEGOTIATION92Amy Elsner
1045Silvio U CaldareraRussia2024-06-21Feiner Bros RENEWAL55Xuxue Feng
1046Rodrigues T CampainSpain2024-05-27Chapman, Ross E Esq NEW52Anna Fali
1047Murillo J CaldareraItaly2024-06-19Commercial Press RENEWAL8Asiya Javayant
1048Kaitlin K NickaFrance2024-06-05King, Christopher A Esq NEGOTIATION44Amy Elsner
1049Maria K IturbideSpain2024-06-11Rousseaux, Michael Esq UNQUALIFIED77Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maria M MacleadIndiaBernardo Dominic NEW
Rodrigues U AlbaresArgentinaOnyama Limba NEGOTIATION
Octavia Y RimCanadaAmy Elsner UNQUALIFIED
Mayumi B PerinBrazilAnna Fali QUALIFIED
Kadeem W TollnerGermanyAnna Fali PROPOSAL
Adams O FlosiRussiaIoni Bowcher NEW
Sinclair T PoquetteGermanyAmy Elsner QUALIFIED
Maisha B SergiAustraliaOnyama Limba RENEWAL
Smith K SlusarskiGermanyAnna Fali RENEWAL
Arvin E DarakjyBrazilAsiya Javayant UNQUALIFIED
Kaitlin V CampainJapanAmy Elsner UNQUALIFIED
Ashley W IturbideFranceIvan Magalhaes PROPOSAL
Deepesh O ButtAustraliaBernardo Dominic UNQUALIFIED
Aruna D InouyeArgentinaIoni Bowcher NEW
Tony S PaprockiIndiaAnna Fali PROPOSAL
Nicolas O FigeroaRussiaIvan Magalhaes PROPOSAL
Jones L GillianBrazilAsiya Javayant UNQUALIFIED
Mayumi J AlbaresFranceXuxue Feng NEGOTIATION
Costa Q VocelkaBrazilAsiya Javayant UNQUALIFIED
Aika P OstroskyIndiaBernardo Dominic QUALIFIED
James R RulapaughArgentinaOnyama Limba NEGOTIATION
Jennifer Q FerenczIndiaBernardo Dominic UNQUALIFIED
Francesco K FigeroaItalyIoni Bowcher QUALIFIED
Kadeem M SlusarskiFranceElwin Sharvill NEW
Juan U SergiCanadaXuxue Feng QUALIFIED
Mujtaba X IturbideFranceAmy Elsner RENEWAL
Jennifer L RimUnited KingdomIvan Magalhaes NEW
Rodrigues N PaprockiCanadaBernardo Dominic QUALIFIED
Isabel Y FigeroaCanadaAnna Fali PROPOSAL
Smith L SergiIndiaElwin Sharvill UNQUALIFIED
Smith N RimRussiaElwin Sharvill UNQUALIFIED
Aruna P OldroydItalyOnyama Limba RENEWAL
Salvatore F RoysterJapanAsiya Javayant PROPOSAL
Nicolas A MaletBrazilBernardo Dominic NEGOTIATION
Stacey H SergiCanadaAmy Elsner NEGOTIATION
Mujtaba F NestleCanadaStephen Shaw QUALIFIED
Francesco M TollnerItalyOnyama Limba NEGOTIATION
Smith Z AmigonGermanyAmy Elsner QUALIFIED
Juan Q RimUnited KingdomXuxue Feng NEGOTIATION
Misaki V MaletJapanElwin Sharvill QUALIFIED
Sinclair S RimCanadaStephen Shaw RENEWAL
Greenwood B NickaCanadaAnna Fali RENEWAL
Silvio F VenereItalyAsiya Javayant QUALIFIED
Jefferson A PerinRussiaOnyama Limba RENEWAL
Antonio K KolmetzIndiaAsiya Javayant NEW
Aditya A RutaAustraliaAsiya Javayant UNQUALIFIED
David B BriddickRussiaAsiya Javayant QUALIFIED
Johnson J SchemmerAustraliaXuxue Feng RENEWAL
Isabel J PaprockiJapanAsiya Javayant NEW
Rodrigues O MacleadAustraliaBernardo Dominic NEW
Frozen Columns
Name
Mujtaba T Chui
Julie I Glick
Octavia U Stockham
Deepesh E Iturbide
Jennifer E Rulapaugh
Jennifer Y Briddick
David M Slusarski
Maisha R Foller
Francesco U Wieser
Adams U Chui
Clifford O Glick
Nicolas Q Schemmer
Isabel R Figeroa
Jeanfrancois J Paprocki
Alejandro K Gillian
Mujtaba B Iturbide
Munro L Butt
Aika A Vocelka
Cody S Saylors
Rodrigues Z Campain
Deepesh V Flosi
Rodrigues U Gaucho
Greenwood Y Stockham
Ivar I Gillian
Jennifer G Wieser
David J Nicka
James P Caldarera
Misaki W Butt
David L Marrier
Smith K Foller
Aditya S Nicka
Alejandro E Stockham
Kadeem W Caudy
Stacey O Malet
Jennifer B Figeroa
Kadeem H Caudy
Salvatore F Inouye
Stacey X Rulapaugh
Clifford T Maclead
Nicolas B Bowley
Murillo Q Figeroa
Ashley O Waycott
Arvin M Briddick
Deepesh X Albares
Salvatore B Tollner
Smith P Schemmer
Faith I Flosi
Silvio C Shinko
Kaitlin K Dilliard
Ivar G Sergi
IdCountryDate
1000Brazil2024-06-10
1001Australia2024-06-21
1002United Kingdom2024-05-27
1003Russia2024-06-13
1004Canada2024-06-03
1005Argentina2024-06-21
1006Spain2024-06-08
1007India2024-05-27
1008Canada2024-06-09
1009Canada2024-06-22
1010Japan2024-06-01
1011India2024-05-26
1012Australia2024-05-29
1013Germany2024-06-16
1014Germany2024-06-20
1015Australia2024-06-05
1016United Kingdom2024-06-09
1017Germany2024-06-11
1018Italy2024-05-26
1019Argentina2024-05-25
1020Canada2024-06-18
1021Brazil2024-06-15
1022Canada2024-05-28
1023Germany2024-06-22
1024Brazil2024-06-16
1025Brazil2024-06-13
1026Australia2024-06-14
1027Brazil2024-06-12
1028Spain2024-06-07
1029Italy2024-06-06
1030Argentina2024-05-25
1031Spain2024-06-17
1032Japan2024-06-08
1033Russia2024-06-17
1034Spain2024-06-13
1035France2024-06-20
1036Australia2024-06-22
1037India2024-06-01
1038Japan2024-05-28
1039Russia2024-05-26
1040Spain2024-06-18
1041Brazil2024-06-06
1042France2024-05-30
1043Spain2024-06-19
1044Japan2024-06-07
1045India2024-05-30
1046Russia2024-05-29
1047Canada2024-05-26
1048Canada2024-06-03
1049Italy2024-05-24

On-Demand Data

NameIdCountryDate
James S Campain1000Germany2024-06-14
Ivar M Royster1001Japan2024-06-17
Wickens H Glick1002Australia2024-05-31
Isabel Q Nicka1003Canada2024-06-07
Clifford Q Dilliard1004Spain2024-06-11
Mujtaba E Shinko1005Germany2024-06-09
Izzy F Slusarski1006Canada2024-05-26
David R Whobrey1007Australia2024-06-10
Nicolas Y Slusarski1008Japan2024-06-16
Aditya P Ruta1009Italy2024-06-08
Morrow O Oldroyd1010Australia2024-06-14
Antonio M Poquette1011Japan2024-06-11
Aruna J Malet1012Canada2024-06-02
Smith E Malet1013Germany2024-06-12
Aruna N Kusko1014Italy2024-06-13
Aika E Garufi1015Brazil2024-06-17
Ashley A Butt1016Italy2024-06-10
Cody U Chui1017Italy2024-06-13
Munro O Saylors1018United Kingdom2024-06-13
Nicolas Y Garufi1019Germany2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow D OstroskyArgentinaOnyama Limba UNQUALIFIED
Adams A IturbideCanadaIoni Bowcher NEW
Leja J RimItalyStephen Shaw QUALIFIED
Munro A OstroskyArgentinaIvan Magalhaes NEGOTIATION
Arvin W GlickRussiaIoni Bowcher QUALIFIED
Kaitlin A AmigonJapanAmy Elsner NEW
Munro Z VocelkaRussiaAmy Elsner NEGOTIATION
Antonio C MacleadGermanyAmy Elsner NEW
David N SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Murillo U SaylorsItalyElwin Sharvill PROPOSAL
Emily P InouyeFranceAsiya Javayant UNQUALIFIED
Nicolas U KolmetzJapanIvan Magalhaes PROPOSAL
Clifford Q CampainIndiaXuxue Feng UNQUALIFIED
Deepesh L FerenczIndiaElwin Sharvill RENEWAL
Johnson C SchemmerRussiaBernardo Dominic RENEWAL
Maisha C MaletCanadaAsiya Javayant PROPOSAL
Leja B GillianGermanyAmy Elsner NEW
Munro M MaletUnited KingdomOnyama Limba UNQUALIFIED
Francesco H GillianGermanyAnna Fali UNQUALIFIED
Jennifer N CaudyArgentinaStephen Shaw RENEWAL
Kadeem T RoysterIndiaXuxue Feng QUALIFIED
Misaki K WaycottUnited KingdomOnyama Limba PROPOSAL
Ricardo G ChuiRussiaOnyama Limba RENEWAL
Jennifer T FlosiCanadaAmy Elsner RENEWAL
Aika S InouyeJapanOnyama Limba QUALIFIED
Salvatore F DarakjyBrazilStephen Shaw NEW
Kaitlin T RulapaughBrazilAmy Elsner UNQUALIFIED
Aruna X AlbaresArgentinaAmy Elsner UNQUALIFIED
Ricardo T FollerRussiaElwin Sharvill QUALIFIED
Juan K MorascaArgentinaAnna Fali UNQUALIFIED
Leon O MarrierUnited KingdomOnyama Limba UNQUALIFIED
Chavez U SlusarskiIndiaXuxue Feng NEW
Isabel G FollerBrazilStephen Shaw NEW
Murillo M KuskoAustraliaBernardo Dominic RENEWAL
Morrow L StensethAustraliaBernardo Dominic RENEWAL
Jones I SergiCanadaIvan Magalhaes PROPOSAL
Maria Y RoysterItalyBernardo Dominic RENEWAL
Rodrigues G GarufiIndiaStephen Shaw NEGOTIATION
James C TollnerArgentinaBernardo Dominic PROPOSAL
Ashley B AlbaresSpainXuxue Feng 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>