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
Isabel H OldroydJapanBernardo Dominic UNQUALIFIED
Misaki E TollnerCanadaBernardo Dominic PROPOSAL
Adams I PoquetteAustraliaElwin Sharvill QUALIFIED
Costa U KolmetzFranceIvan Magalhaes UNQUALIFIED
Johnson T WhobreyArgentinaStephen Shaw NEGOTIATION
Faith L NestleRussiaXuxue Feng RENEWAL
Clifford E FerenczJapanIoni Bowcher UNQUALIFIED
Isabel P DoeRussiaStephen Shaw NEW
Misaki D CaldareraIndiaElwin Sharvill QUALIFIED
Faith X VocelkaCanadaAnna Fali QUALIFIED
Kadeem G WhobreyBrazilAsiya Javayant UNQUALIFIED
Tony K StockhamIndiaBernardo Dominic NEW
Costa Z DarakjyRussiaBernardo Dominic QUALIFIED
Tony E VenereRussiaXuxue Feng NEW
Jeanfrancois Y AlbaresAustraliaIoni Bowcher QUALIFIED
Arvin H WieserAustraliaIoni Bowcher RENEWAL
Chavez I GlickCanadaIoni Bowcher RENEWAL
Salvatore O ShinkoCanadaBernardo Dominic UNQUALIFIED
Francesco C MaletGermanyElwin Sharvill QUALIFIED
David U PoquetteAustraliaBernardo Dominic UNQUALIFIED
Ashley M DilliardArgentinaAnna Fali NEGOTIATION
Antonio E OldroydFranceElwin Sharvill NEGOTIATION
Adams M ButtIndiaXuxue Feng QUALIFIED
Leon S WieserSpainAmy Elsner QUALIFIED
Kaitlin R MaletFranceStephen Shaw PROPOSAL
Smith D MacleadArgentinaElwin Sharvill NEW
Julie J MacleadIndiaBernardo Dominic NEGOTIATION
Francesco Y MarrierAustraliaAsiya Javayant QUALIFIED
Jeanfrancois B PaprockiSpainIvan Magalhaes RENEWAL
Smith K DarakjyCanadaAsiya Javayant QUALIFIED
Ivar Z DilliardArgentinaXuxue Feng RENEWAL
Isabel O DilliardJapanElwin Sharvill RENEWAL
Tony L KolmetzCanadaBernardo Dominic QUALIFIED
Kadeem S RoysterUnited KingdomAsiya Javayant RENEWAL
Arvin K DarakjyFranceIoni Bowcher PROPOSAL
Misaki C SaylorsGermanyAmy Elsner NEW
Claire J RutaRussiaStephen Shaw QUALIFIED
Emily U RulapaughBrazilAmy Elsner QUALIFIED
Jennifer B NestleRussiaXuxue Feng NEW
Adams T StensethAustraliaXuxue Feng UNQUALIFIED
Jefferson G RoysterUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois N RoysterFranceIoni Bowcher UNQUALIFIED
Stacey W FigeroaFranceAsiya Javayant NEGOTIATION
Kadeem M CampainSpainAmy Elsner RENEWAL
Isabel V BologniaFranceIoni Bowcher RENEWAL
Tony Y AmigonFranceAsiya Javayant NEGOTIATION
Maria K BowleyUnited KingdomBernardo Dominic UNQUALIFIED
Costa D RoysterIndiaIoni Bowcher NEW
Leja L WaycottUnited KingdomIvan Magalhaes PROPOSAL
James E FerenczArgentinaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas G MaletJapanBernardo Dominic UNQUALIFIED
James K StensethRussiaOnyama Limba NEW
Darci D PerinArgentinaElwin Sharvill PROPOSAL
Aika C NestleRussiaIoni Bowcher NEGOTIATION
Kaitlin I NickaUnited KingdomAsiya Javayant UNQUALIFIED
Izzy M DilliardIndiaOnyama Limba NEW
Mujtaba Q MaletAustraliaBernardo Dominic PROPOSAL
Aditya Z RutaGermanyOnyama Limba UNQUALIFIED
Mayumi C ShinkoAustraliaAmy Elsner QUALIFIED
James N SchemmerJapanIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi X DarakjyIndia2024-06-15King, Christopher A Esq RENEWAL83Bernardo Dominic
1001Juan V KuskoIndia2024-06-22Commercial Press RENEWAL65Amy Elsner
1002Aruna L AmigonJapan2024-06-15Rousseaux, Michael Esq PROPOSAL17Elwin Sharvill
1003Rodrigues H ButtIndia2024-06-11Rangoni Of Florence NEW74Elwin Sharvill
1004Rodrigues T WhobreyItaly2024-06-11Truhlar And Truhlar Attys UNQUALIFIED87Onyama Limba
1005Misaki G KuskoUnited Kingdom2024-06-20Feltz Printing Service NEW62Asiya Javayant
1006Johnson P InouyeGermany2024-06-22Chapman, Ross E Esq NEW54Stephen Shaw
1007Darci I FigeroaFrance2024-06-03Chapman, Ross E Esq QUALIFIED4Elwin Sharvill
1008Juan R TollnerJapan2024-06-16Buckley Miller Wright NEW64Asiya Javayant
1009Maisha Y SergiArgentina2024-06-15Chanay, Jeffrey A Esq QUALIFIED91Elwin Sharvill
1010Francesco U InouyeGermany2024-06-08Truhlar And Truhlar Attys NEGOTIATION14Stephen Shaw
1011Adams W GillianSpain2024-05-26Feiner Bros NEGOTIATION29Amy Elsner
1012Ivar E SaylorsArgentina2024-06-01Truhlar And Truhlar Attys RENEWAL93Stephen Shaw
1013Ricardo N AlbaresGermany2024-06-13Benton, John B Jr QUALIFIED5Bernardo Dominic
1014Maria B InouyeGermany2024-05-31Feltz Printing Service PROPOSAL80Ivan Magalhaes
1015Kaitlin A BologniaBrazil2024-06-15Feiner Bros NEGOTIATION52Anna Fali
1016Munro B GlickRussia2024-06-05Dorl, James J Esq NEGOTIATION65Elwin Sharvill
1017Cody Z BriddickCanada2024-06-05Chanay, Jeffrey A Esq RENEWAL25Elwin Sharvill
1018Sinclair J RoysterGermany2024-05-28Rangoni Of Florence QUALIFIED67Onyama Limba
1019Arvin O MaletSpain2024-06-24King, Christopher A Esq NEW57Amy Elsner
1020Morrow E GarufiFrance2024-06-15Chapman, Ross E Esq NEW74Anna Fali
1021Chavez D ButtIndia2024-06-17Rangoni Of Florence RENEWAL26Stephen Shaw
1022Mujtaba J SchemmerAustralia2024-06-24Feltz Printing Service UNQUALIFIED91Bernardo Dominic
1023Rodrigues E DoeJapan2024-06-10Buckley Miller Wright QUALIFIED3Amy Elsner
1024Sinclair F GarufiBrazil2024-06-13King, Christopher A Esq NEW68Bernardo Dominic
1025Isabel W StensethAustralia2024-06-22Chanay, Jeffrey A Esq UNQUALIFIED80Ivan Magalhaes
1026Kadeem G SchemmerItaly2024-06-18Rangoni Of Florence QUALIFIED10Ioni Bowcher
1027Murillo J FigeroaJapan2024-06-14Dorl, James J Esq PROPOSAL58Anna Fali
1028Claire H SlusarskiCanada2024-06-01Chapman, Ross E Esq UNQUALIFIED8Ivan Magalhaes
1029Darci H AlbaresArgentina2024-06-09Dorl, James J Esq NEGOTIATION48Anna Fali
1030Aika F DarakjyJapan2024-06-19Printing Dimensions QUALIFIED4Ivan Magalhaes
1031Ashley I GauchoSpain2024-06-08Buckley Miller Wright RENEWAL67Stephen Shaw
1032Mujtaba R StockhamArgentina2024-05-26Chemel, James L Cpa QUALIFIED83Anna Fali
1033Leja O MarrierBrazil2024-06-18Feiner Bros QUALIFIED56Xuxue Feng
1034Silvio E FerenczGermany2024-06-06Chapman, Ross E Esq NEW63Anna Fali
1035Adams P MarrierJapan2024-06-20Printing Dimensions QUALIFIED85Elwin Sharvill
1036Julie N SergiUnited Kingdom2024-06-11Morlong Associates QUALIFIED15Anna Fali
1037Adams I WhobreyCanada2024-06-19King, Christopher A Esq PROPOSAL79Ivan Magalhaes
1038Jennifer Z PaprockiGermany2024-06-18Chapman, Ross E Esq NEW6Elwin Sharvill
1039Munro F GauchoCanada2024-05-27Printing Dimensions NEGOTIATION8Ioni Bowcher
1040Smith M GauchoIndia2024-06-14Printing Dimensions UNQUALIFIED83Elwin Sharvill
1041Jeanfrancois K ButtIndia2024-06-12Chemel, James L Cpa RENEWAL73Ioni Bowcher
1042Costa E WhobreyAustralia2024-06-11Printing Dimensions PROPOSAL2Asiya Javayant
1043Smith K MacleadBrazil2024-06-12Rangoni Of Florence NEW45Asiya Javayant
1044Alejandro R RoysterAustralia2024-06-18Chanay, Jeffrey A Esq PROPOSAL58Asiya Javayant
1045Leja G PerinAustralia2024-06-02Chanay, Jeffrey A Esq QUALIFIED67Ivan Magalhaes
1046Arvin C SergiFrance2024-06-09Rousseaux, Michael Esq QUALIFIED71Onyama Limba
1047Wickens G TollnerCanada2024-06-17King, Christopher A Esq PROPOSAL18Asiya Javayant
1048Octavia V SlusarskiItaly2024-06-04Rousseaux, Michael Esq PROPOSAL39Stephen Shaw
1049Adams H FerenczIndia2024-06-11King, Christopher A Esq PROPOSAL24Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jefferson W AlbaresGermanyIoni Bowcher RENEWAL
Arvin W FlosiJapanIvan Magalhaes QUALIFIED
Alejandro H ChuiUnited KingdomAnna Fali NEGOTIATION
Johnson A InouyeJapanAsiya Javayant NEW
Jones D DoeFranceOnyama Limba UNQUALIFIED
Arvin X MaletAustraliaElwin Sharvill NEW
Kadeem Z MorascaUnited KingdomIoni Bowcher PROPOSAL
Nicolas X PaprockiItalyBernardo Dominic NEW
Cody I PoquetteJapanIoni Bowcher RENEWAL
Cody Q GarufiIndiaAnna Fali NEGOTIATION
Leon D NestleBrazilOnyama Limba RENEWAL
Julie A VenereJapanAnna Fali PROPOSAL
David N IturbideGermanyBernardo Dominic RENEWAL
Emily V AlbaresGermanyOnyama Limba NEW
Juan U CampainGermanyAsiya Javayant RENEWAL
Jones P RoysterItalyStephen Shaw QUALIFIED
Octavia T CaudySpainAnna Fali PROPOSAL
Alejandro O TollnerAustraliaStephen Shaw RENEWAL
Adams P GlickRussiaXuxue Feng PROPOSAL
Rodrigues H KuskoJapanIoni Bowcher QUALIFIED
James C DoeJapanAsiya Javayant UNQUALIFIED
Maisha S FigeroaGermanyIoni Bowcher NEGOTIATION
Deepesh R SaylorsFranceElwin Sharvill PROPOSAL
Kaitlin B MaletSpainXuxue Feng PROPOSAL
David S OldroydGermanyAsiya Javayant PROPOSAL
Juan C RoysterRussiaAsiya Javayant NEGOTIATION
Salvatore V FlosiCanadaIoni Bowcher NEGOTIATION
Jones L RoysterItalyXuxue Feng UNQUALIFIED
Kaitlin S DilliardGermanyAmy Elsner RENEWAL
Misaki M SlusarskiBrazilIvan Magalhaes QUALIFIED
Claire X WaycottUnited KingdomXuxue Feng RENEWAL
Salvatore U NickaArgentinaXuxue Feng RENEWAL
Jennifer J WieserFranceOnyama Limba NEGOTIATION
Nicolas Z DarakjyArgentinaElwin Sharvill NEW
Leja F StensethAustraliaAnna Fali NEW
Julie L MorascaCanadaAmy Elsner RENEWAL
Greenwood Z StensethJapanStephen Shaw UNQUALIFIED
James S ShinkoCanadaAnna Fali RENEWAL
Faith U MorascaJapanAmy Elsner QUALIFIED
Antonio Y CaldareraFranceIoni Bowcher RENEWAL
Stacey L FigeroaFranceIoni Bowcher PROPOSAL
Leon H InouyeIndiaXuxue Feng NEW
Maria J IturbideAustraliaAsiya Javayant NEW
Ivar W KuskoBrazilIoni Bowcher QUALIFIED
Salvatore C FlosiSpainBernardo Dominic RENEWAL
Leja M RutaItalyIvan Magalhaes NEW
Faith J BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Francesco P NickaUnited KingdomIoni Bowcher PROPOSAL
Claire G BologniaSpainAnna Fali UNQUALIFIED
Munro D GarufiRussiaXuxue Feng QUALIFIED
Frozen Columns
Name
Leja T Iturbide
Francesco O Paprocki
Deepesh Q Nestle
James L Inouye
Wickens C Venere
Alejandro A Nicka
Aika R Stockham
Tony G Albares
Chavez X Venere
Sinclair V Schemmer
Silvio I Iturbide
Kaitlin L Marrier
Costa Y Schemmer
Ricardo F Kusko
Smith Q Saylors
Maisha S Doe
Maria E Chui
Isabel H Poquette
Maria L Morasca
Stacey D Saylors
James Q Kolmetz
Kadeem Y Amigon
Aditya Z Inouye
Faith W Maclead
Johnson V Glick
Antonio U Dilliard
Mujtaba N Morasca
Sinclair A Glick
Julie S Glick
Julie O Amigon
Francesco E Gillian
Chavez P Ostrosky
Jefferson I Shinko
Rodrigues V Perin
Kaitlin L Inouye
Salvatore A Sergi
Stacey T Marrier
Jones M Figeroa
Kadeem U Ostrosky
Leja T Perin
Cody K Paprocki
Misaki Z Malet
Kaitlin D Malet
Aika Y Kusko
Misaki Q Bowley
Clifford J Amigon
Kaitlin X Doe
Ivar W Kolmetz
Aditya F Caldarera
Emily V Dilliard
IdCountryDate
1000India2024-05-30
1001Spain2024-05-26
1002Japan2024-06-17
1003Russia2024-05-26
1004Germany2024-06-19
1005Brazil2024-06-04
1006France2024-06-15
1007France2024-06-13
1008Argentina2024-06-13
1009Australia2024-06-06
1010France2024-06-22
1011Argentina2024-06-01
1012Spain2024-05-31
1013India2024-05-31
1014France2024-06-18
1015United Kingdom2024-06-05
1016Brazil2024-06-23
1017Canada2024-06-04
1018Argentina2024-06-09
1019France2024-05-29
1020Brazil2024-06-10
1021Russia2024-06-02
1022Russia2024-06-01
1023Argentina2024-06-13
1024India2024-06-10
1025India2024-05-29
1026Germany2024-06-05
1027Australia2024-06-03
1028Canada2024-06-24
1029Australia2024-06-17
1030Japan2024-06-10
1031Spain2024-06-09
1032Japan2024-06-21
1033Spain2024-06-20
1034Argentina2024-06-15
1035Russia2024-06-21
1036Argentina2024-06-10
1037India2024-06-03
1038Argentina2024-05-30
1039Canada2024-06-07
1040Italy2024-05-27
1041Italy2024-06-14
1042France2024-06-04
1043Argentina2024-06-07
1044Italy2024-06-23
1045United Kingdom2024-06-11
1046Italy2024-05-29
1047Australia2024-05-26
1048United Kingdom2024-06-08
1049United Kingdom2024-06-01

On-Demand Data

NameIdCountryDate
Tony D Iturbide1000Germany2024-05-31
Aditya W Glick1001United Kingdom2024-06-11
Kadeem H Rulapaugh1002Japan2024-05-27
Costa L Iturbide1003France2024-06-20
Morrow Y Kusko1004Argentina2024-06-02
Jefferson U Malet1005Brazil2024-05-31
Silvio E Glick1006Brazil2024-06-24
James J Foller1007Germany2024-05-27
Greenwood I Slusarski1008France2024-06-17
Jefferson C Stenseth1009Brazil2024-06-12
Chavez Z Gaucho1010India2024-06-22
Johnson R Inouye1011Brazil2024-06-04
Francesco J Gaucho1012Canada2024-06-20
Jeanfrancois V Nicka1013India2024-06-15
Emily Q Glick1014Brazil2024-06-01
Rodrigues H Schemmer1015Argentina2024-05-30
Alejandro B Sergi1016Italy2024-06-09
Maisha Y Doe1017France2024-06-22
Jefferson T Oldroyd1018Spain2024-06-02
David Q Caudy1019Germany2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna S IturbideIndiaBernardo Dominic NEGOTIATION
Maisha L VenereFranceIoni Bowcher RENEWAL
David K FerenczItalyAmy Elsner RENEWAL
Sinclair G PoquetteCanadaAsiya Javayant UNQUALIFIED
Adams E WieserJapanBernardo Dominic UNQUALIFIED
Faith U TollnerCanadaIoni Bowcher QUALIFIED
Leja E ShinkoAustraliaAmy Elsner NEW
Clifford Z WaycottGermanyAnna Fali NEW
Ashley G RutaGermanyBernardo Dominic QUALIFIED
Tony P GillianItalyAmy Elsner PROPOSAL
Francesco A IturbideFranceBernardo Dominic QUALIFIED
Octavia E MarrierBrazilBernardo Dominic RENEWAL
Julie R DilliardSpainAmy Elsner QUALIFIED
Kadeem K BowleyRussiaStephen Shaw RENEWAL
Greenwood Y GarufiJapanStephen Shaw PROPOSAL
Ashley M RoysterIndiaAmy Elsner PROPOSAL
Aditya C PerinItalyAsiya Javayant NEW
Mujtaba E OldroydAustraliaOnyama Limba RENEWAL
Aditya S RulapaughGermanyOnyama Limba PROPOSAL
Octavia E ButtGermanyOnyama Limba NEW
Jefferson N SergiFranceAmy Elsner UNQUALIFIED
Wickens T OstroskyItalyIoni Bowcher RENEWAL
Julie I SergiGermanyAmy Elsner NEW
Adams M StockhamBrazilAnna Fali UNQUALIFIED
Leja T StockhamCanadaXuxue Feng PROPOSAL
Rodrigues U RoysterIndiaAnna Fali QUALIFIED
Isabel D SaylorsJapanAmy Elsner NEW
Emily H BowleyUnited KingdomStephen Shaw NEW
Sinclair B PoquetteUnited KingdomOnyama Limba NEGOTIATION
Sinclair M RulapaughBrazilOnyama Limba PROPOSAL
Aika K StensethArgentinaAnna Fali NEGOTIATION
Ricardo H KuskoFranceIvan Magalhaes NEW
Kadeem F RutaItalyBernardo Dominic RENEWAL
Darci E CaldareraAustraliaXuxue Feng PROPOSAL
Leja R GarufiArgentinaAsiya Javayant PROPOSAL
Izzy U PaprockiAustraliaOnyama Limba UNQUALIFIED
Stacey W AlbaresRussiaIvan Magalhaes NEGOTIATION
Murillo W RutaUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas W AlbaresSpainAmy Elsner PROPOSAL
Maria A BowleyItalyElwin Sharvill QUALIFIED

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