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
Morrow J WhobreyCanadaAsiya Javayant NEGOTIATION
Smith Y CaudyJapanStephen Shaw NEW
Leon Q SaylorsIndiaElwin Sharvill QUALIFIED
Maisha C GlickItalyElwin Sharvill NEW
Morrow C GauchoCanadaElwin Sharvill PROPOSAL
Aika Y CampainJapanAsiya Javayant PROPOSAL
Jeanfrancois U RoysterArgentinaElwin Sharvill NEGOTIATION
Aruna U KolmetzAustraliaIvan Magalhaes QUALIFIED
Jeanfrancois E OstroskyGermanyBernardo Dominic QUALIFIED
Greenwood H GillianIndiaXuxue Feng PROPOSAL
Costa Q AlbaresUnited KingdomBernardo Dominic PROPOSAL
Mayumi R MarrierSpainIoni Bowcher PROPOSAL
Claire V VocelkaJapanAmy Elsner QUALIFIED
Antonio Y SergiItalyAnna Fali NEGOTIATION
Isabel D SchemmerBrazilXuxue Feng NEW
Izzy N GarufiSpainXuxue Feng UNQUALIFIED
Silvio U WaycottAustraliaStephen Shaw NEGOTIATION
Antonio N MaletArgentinaElwin Sharvill NEW
Munro M RulapaughRussiaOnyama Limba NEGOTIATION
Ivar M NickaRussiaElwin Sharvill RENEWAL
Ivar S FlosiBrazilAmy Elsner PROPOSAL
Izzy H RimItalyOnyama Limba NEGOTIATION
Emily U AlbaresIndiaIvan Magalhaes NEW
Julie L GauchoUnited KingdomAsiya Javayant UNQUALIFIED
Smith G OldroydItalyAsiya Javayant PROPOSAL
Wickens D FlosiSpainAnna Fali NEGOTIATION
Izzy D GillianRussiaXuxue Feng RENEWAL
Isabel E StensethFranceAmy Elsner UNQUALIFIED
Maria W InouyeArgentinaOnyama Limba QUALIFIED
Munro I VenereFranceElwin Sharvill NEW
Smith F MarrierGermanyOnyama Limba PROPOSAL
Johnson O CaldareraArgentinaAsiya Javayant QUALIFIED
James W GillianFranceOnyama Limba UNQUALIFIED
Isabel M RulapaughIndiaBernardo Dominic RENEWAL
Ashley B PoquetteBrazilOnyama Limba NEW
Alejandro V DarakjyRussiaXuxue Feng UNQUALIFIED
Rodrigues B AlbaresArgentinaXuxue Feng NEGOTIATION
Wickens E RoysterFranceIoni Bowcher UNQUALIFIED
Mujtaba N RutaArgentinaAmy Elsner UNQUALIFIED
Costa J BowleyIndiaElwin Sharvill NEW
Cody Z KuskoGermanyOnyama Limba RENEWAL
Cody A MacleadSpainStephen Shaw QUALIFIED
Jennifer S NickaJapanStephen Shaw UNQUALIFIED
Octavia R NickaBrazilAsiya Javayant UNQUALIFIED
Octavia M WaycottAustraliaBernardo Dominic NEGOTIATION
Ashley R SlusarskiAustraliaAsiya Javayant RENEWAL
Ivar R GarufiRussiaAnna Fali QUALIFIED
Deepesh O AmigonAustraliaElwin Sharvill PROPOSAL
Claire H PaprockiSpainStephen Shaw QUALIFIED
Deepesh E NestleArgentinaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco J ChuiAustraliaAsiya Javayant PROPOSAL
Clifford U NestleArgentinaStephen Shaw RENEWAL
Ashley H MaletIndiaBernardo Dominic QUALIFIED
Maria Q RimRussiaElwin Sharvill UNQUALIFIED
Mujtaba J GarufiArgentinaIoni Bowcher QUALIFIED
Aruna E DilliardGermanyAmy Elsner UNQUALIFIED
Leja O PerinSpainElwin Sharvill RENEWAL
Jeanfrancois R WhobreyFranceIoni Bowcher QUALIFIED
Antonio D CampainSpainAsiya Javayant UNQUALIFIED
Greenwood B ChuiAustraliaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika O FerenczFrance2024-06-05Printing Dimensions UNQUALIFIED36Amy Elsner
1001Rodrigues W MaletCanada2024-05-28Rangoni Of Florence UNQUALIFIED59Ivan Magalhaes
1002Cody F WieserFrance2024-06-10Chapman, Ross E Esq PROPOSAL92Ioni Bowcher
1003Leja R NickaJapan2024-06-10Commercial Press NEW48Ivan Magalhaes
1004Jennifer S CaldareraItaly2024-06-11Commercial Press UNQUALIFIED24Asiya Javayant
1005Antonio R DilliardFrance2024-06-10Benton, John B Jr RENEWAL69Anna Fali
1006Mayumi C CampainUnited Kingdom2024-06-06Printing Dimensions NEGOTIATION58Amy Elsner
1007Claire D PaprockiSpain2024-05-26Benton, John B Jr NEGOTIATION83Xuxue Feng
1008Antonio P TollnerRussia2024-05-25King, Christopher A Esq NEW83Xuxue Feng
1009Izzy M RutaGermany2024-06-03Printing Dimensions PROPOSAL97Xuxue Feng
1010Stacey D CampainBrazil2024-06-03Truhlar And Truhlar Attys NEGOTIATION74Elwin Sharvill
1011Julie Z ButtJapan2024-05-22Benton, John B Jr PROPOSAL24Xuxue Feng
1012Mayumi E ButtArgentina2024-06-02Rousseaux, Michael Esq QUALIFIED66Stephen Shaw
1013Aruna F NickaRussia2024-06-14Rangoni Of Florence NEW50Ivan Magalhaes
1014James W RimArgentina2024-06-03Feiner Bros PROPOSAL60Asiya Javayant
1015Juan L TollnerBrazil2024-06-15Printing Dimensions QUALIFIED57Ivan Magalhaes
1016Francesco O BriddickBrazil2024-06-15Buckley Miller Wright NEW62Stephen Shaw
1017Clifford S BologniaItaly2024-06-04Truhlar And Truhlar Attys UNQUALIFIED35Ioni Bowcher
1018James H MarrierSpain2024-06-09Morlong Associates NEGOTIATION1Asiya Javayant
1019Morrow D GillianSpain2024-06-06Chemel, James L Cpa NEGOTIATION71Elwin Sharvill
1020Munro H WaycottIndia2024-06-11Feltz Printing Service NEW31Bernardo Dominic
1021Sinclair Z RulapaughFrance2024-06-13Rangoni Of Florence QUALIFIED61Stephen Shaw
1022Izzy T SlusarskiRussia2024-06-02Feiner Bros NEGOTIATION39Ivan Magalhaes
1023David W WhobreyArgentina2024-06-17Benton, John B Jr PROPOSAL54Anna Fali
1024Maisha H SchemmerSpain2024-05-28Dorl, James J Esq PROPOSAL60Elwin Sharvill
1025Leon P FerenczIndia2024-06-13Dorl, James J Esq PROPOSAL82Elwin Sharvill
1026Darci B TollnerUnited Kingdom2024-06-08Chemel, James L Cpa RENEWAL51Asiya Javayant
1027Kaitlin V ChuiJapan2024-05-28Feltz Printing Service NEGOTIATION81Asiya Javayant
1028Mayumi Z FerenczArgentina2024-05-30Feltz Printing Service QUALIFIED52Xuxue Feng
1029Nicolas N CaldareraItaly2024-06-10Chapman, Ross E Esq QUALIFIED46Xuxue Feng
1030Murillo R MaletRussia2024-05-22Morlong Associates QUALIFIED78Bernardo Dominic
1031Johnson Z CampainUnited Kingdom2024-06-04Chapman, Ross E Esq QUALIFIED61Onyama Limba
1032Murillo B InouyeRussia2024-05-27Feltz Printing Service NEGOTIATION64Amy Elsner
1033Jefferson P OldroydCanada2024-05-21Buckley Miller Wright NEW62Stephen Shaw
1034Ashley L ChuiIndia2024-06-17Benton, John B Jr RENEWAL9Onyama Limba
1035Claire M InouyeFrance2024-05-20Chemel, James L Cpa NEW41Amy Elsner
1036Misaki U RulapaughAustralia2024-05-29King, Christopher A Esq QUALIFIED89Ioni Bowcher
1037Ivar A NestleFrance2024-05-26Chanay, Jeffrey A Esq NEW37Amy Elsner
1038Jeanfrancois R FlosiJapan2024-05-30King, Christopher A Esq PROPOSAL51Amy Elsner
1039Jeanfrancois F StockhamIndia2024-05-31Dorl, James J Esq NEW57Xuxue Feng
1040Johnson E AlbaresUnited Kingdom2024-06-02Buckley Miller Wright UNQUALIFIED90Onyama Limba
1041Ashley R BowleyJapan2024-06-10Chemel, James L Cpa PROPOSAL3Ioni Bowcher
1042Aruna P ChuiSpain2024-05-27Chanay, Jeffrey A Esq NEGOTIATION3Asiya Javayant
1043Ashley S FollerFrance2024-06-02Feiner Bros NEW96Stephen Shaw
1044Leon B FigeroaJapan2024-06-10Chemel, James L Cpa NEGOTIATION72Anna Fali
1045Jeanfrancois D MaletGermany2024-05-25Rousseaux, Michael Esq QUALIFIED94Ivan Magalhaes
1046Chavez F RimJapan2024-06-11Rangoni Of Florence QUALIFIED64Stephen Shaw
1047Faith H MarrierSpain2024-06-05Truhlar And Truhlar Attys PROPOSAL3Xuxue Feng
1048Jones E DarakjyJapan2024-06-12Rangoni Of Florence RENEWAL36Bernardo Dominic
1049Greenwood I NestleArgentina2024-06-17Printing Dimensions UNQUALIFIED48Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Isabel M PerinBrazilAnna Fali UNQUALIFIED
Ricardo M PaprockiJapanXuxue Feng UNQUALIFIED
Deepesh D GauchoRussiaAsiya Javayant RENEWAL
Darci R WaycottGermanyXuxue Feng UNQUALIFIED
Maisha E ShinkoAustraliaAsiya Javayant RENEWAL
Rodrigues Q NestleBrazilXuxue Feng QUALIFIED
Tony F MorascaCanadaIvan Magalhaes PROPOSAL
Sinclair L AlbaresRussiaOnyama Limba RENEWAL
Claire D PoquetteFranceAmy Elsner NEW
Ricardo K IturbideGermanyAnna Fali UNQUALIFIED
Emily F DilliardCanadaAnna Fali RENEWAL
Izzy E SaylorsFranceStephen Shaw NEW
Faith V ButtItalyElwin Sharvill UNQUALIFIED
Aditya D RutaBrazilIoni Bowcher RENEWAL
Julie P SchemmerArgentinaIoni Bowcher PROPOSAL
Aditya K InouyeJapanXuxue Feng QUALIFIED
Tony Z FerenczIndiaStephen Shaw QUALIFIED
David Z BriddickItalyAsiya Javayant UNQUALIFIED
Antonio Y RimFranceAsiya Javayant PROPOSAL
Nicolas O CaldareraSpainStephen Shaw NEW
Aditya A BriddickIndiaIvan Magalhaes NEW
Maisha J NickaArgentinaOnyama Limba NEGOTIATION
James S GauchoFranceAsiya Javayant QUALIFIED
Ricardo Q WhobreyUnited KingdomBernardo Dominic RENEWAL
Deepesh S MaletBrazilAmy Elsner NEW
Arvin R WaycottJapanOnyama Limba NEGOTIATION
Ricardo J BowleyItalyStephen Shaw NEGOTIATION
Nicolas R GillianAustraliaIoni Bowcher QUALIFIED
Jefferson J GillianItalyIoni Bowcher QUALIFIED
Maria V CaldareraItalyAmy Elsner UNQUALIFIED
Kaitlin P StensethBrazilAsiya Javayant UNQUALIFIED
Smith H BriddickSpainIoni Bowcher PROPOSAL
Julie X BriddickBrazilAmy Elsner UNQUALIFIED
Faith C OstroskyItalyAmy Elsner PROPOSAL
Jennifer Q OldroydCanadaOnyama Limba QUALIFIED
Darci R CaudyBrazilAnna Fali PROPOSAL
Antonio O KolmetzIndiaBernardo Dominic PROPOSAL
Jones M CaudySpainBernardo Dominic NEW
Rodrigues N DilliardAustraliaBernardo Dominic PROPOSAL
Sinclair J DilliardItalyOnyama Limba NEGOTIATION
Nicolas H KolmetzJapanStephen Shaw QUALIFIED
James J SergiCanadaAmy Elsner NEW
Juan N BologniaBrazilElwin Sharvill PROPOSAL
Isabel Z StensethBrazilElwin Sharvill NEW
Silvio L RimBrazilIoni Bowcher RENEWAL
Stacey L ButtFranceIvan Magalhaes UNQUALIFIED
Clifford A FigeroaJapanIoni Bowcher UNQUALIFIED
Salvatore C MaletCanadaElwin Sharvill PROPOSAL
Stacey U NestleAustraliaAnna Fali NEW
Tony D DoeUnited KingdomAmy Elsner PROPOSAL
Frozen Columns
Name
Emily Z Gaucho
Maria V Poquette
Mayumi P Butt
Adams K Malet
Morrow L Perin
Ashley F Perin
Clifford H Venere
Aditya F Royster
Leja H Venere
Deepesh E Oldroyd
Ashley J Foller
Tony C Butt
Faith B Caudy
Emily S Stockham
Tony G Whobrey
Aditya I Rim
Aika H Doe
Tony L Ruta
Tony L Stockham
Faith Q Ferencz
Deepesh C Stenseth
Misaki P Vocelka
Wickens J Doe
Jeanfrancois E Caudy
Jeanfrancois V Wieser
Cody K Stockham
Rodrigues H Bowley
Tony M Stenseth
Claire W Vocelka
Jennifer E Foller
Silvio A Stockham
Ricardo I Schemmer
Darci M Paprocki
Tony U Malet
Morrow U Maclead
Faith F Amigon
Leja L Stockham
Murillo N Kusko
Jones I Rim
Octavia Y Stenseth
Ivar W Butt
Antonio A Nicka
Munro U Stockham
Darci Q Kolmetz
Alejandro X Ferencz
Leja Q Bolognia
Silvio A Darakjy
Aruna X Caudy
Rodrigues H Campain
Adams H Schemmer
IdCountryDate
1000Spain2024-05-30
1001Italy2024-06-17
1002Italy2024-05-24
1003Australia2024-05-25
1004Australia2024-06-04
1005India2024-06-06
1006United Kingdom2024-06-14
1007Brazil2024-05-22
1008Spain2024-06-03
1009Brazil2024-06-07
1010Russia2024-05-30
1011Japan2024-06-17
1012Italy2024-05-22
1013India2024-06-14
1014India2024-05-28
1015United Kingdom2024-05-20
1016Brazil2024-06-13
1017Australia2024-06-02
1018India2024-06-02
1019Argentina2024-05-26
1020Germany2024-06-16
1021India2024-06-02
1022Brazil2024-06-12
1023France2024-05-22
1024France2024-06-16
1025Australia2024-05-28
1026Japan2024-05-29
1027Germany2024-05-25
1028India2024-05-22
1029Australia2024-05-20
1030Russia2024-05-25
1031France2024-06-07
1032Italy2024-06-02
1033Spain2024-06-03
1034Spain2024-05-28
1035United Kingdom2024-05-22
1036France2024-06-17
1037Italy2024-05-24
1038India2024-05-20
1039Australia2024-05-30
1040Russia2024-06-07
1041Canada2024-05-24
1042Russia2024-06-02
1043Germany2024-05-25
1044Canada2024-05-29
1045Spain2024-06-12
1046Germany2024-06-07
1047India2024-06-03
1048Argentina2024-06-08
1049Brazil2024-06-06

On-Demand Data

NameIdCountryDate
Francesco C Butt1000Australia2024-06-14
David W Glick1001United Kingdom2024-05-31
Costa V Inouye1002Japan2024-06-13
Arvin P Whobrey1003Spain2024-06-04
Faith B Albares1004Germany2024-06-18
Jeanfrancois Q Saylors1005Germany2024-05-20
Julie J Venere1006Argentina2024-06-16
Jeanfrancois S Gillian1007Australia2024-05-22
Ashley W Vocelka1008Australia2024-06-12
Kadeem X Sergi1009Spain2024-06-17
Greenwood S Oldroyd1010Russia2024-06-13
Juan Y Saylors1011Italy2024-06-16
Jeanfrancois W Kusko1012Canada2024-06-05
Aika V Wieser1013India2024-06-18
Costa S Vocelka1014Australia2024-05-24
Jennifer Z Nicka1015France2024-06-14
Wickens P Royster1016Canada2024-05-29
Stacey Z Saylors1017Argentina2024-06-16
Morrow J Ostrosky1018Japan2024-05-30
Costa O Ruta1019United Kingdom2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco A InouyeFranceIvan Magalhaes UNQUALIFIED
Wickens W VocelkaJapanAsiya Javayant RENEWAL
Octavia P SlusarskiAustraliaIoni Bowcher PROPOSAL
Aditya M CaudyArgentinaAmy Elsner NEW
Kadeem Z RoysterAustraliaElwin Sharvill UNQUALIFIED
Aruna I RulapaughRussiaAnna Fali QUALIFIED
Clifford G WhobreyArgentinaStephen Shaw RENEWAL
Izzy J BowleyAustraliaIvan Magalhaes NEGOTIATION
Munro Y FlosiIndiaAnna Fali RENEWAL
Leon Z CaudySpainIoni Bowcher PROPOSAL
Cody O OldroydFranceStephen Shaw RENEWAL
Maria K PaprockiIndiaIoni Bowcher NEW
Kadeem O DilliardBrazilIvan Magalhaes NEGOTIATION
Johnson F StockhamCanadaElwin Sharvill PROPOSAL
Mayumi E MaletArgentinaIoni Bowcher UNQUALIFIED
Izzy Z GarufiCanadaXuxue Feng RENEWAL
Ivar I GlickJapanIvan Magalhaes NEGOTIATION
Rodrigues G DoeGermanyStephen Shaw NEGOTIATION
Mujtaba A MacleadBrazilBernardo Dominic NEW
Juan W ChuiJapanStephen Shaw PROPOSAL
Juan R BowleySpainIoni Bowcher PROPOSAL
Salvatore O CaldareraSpainIoni Bowcher RENEWAL
Misaki Q IturbideUnited KingdomStephen Shaw UNQUALIFIED
Greenwood Y OstroskyAustraliaBernardo Dominic QUALIFIED
Jones E MacleadArgentinaAnna Fali RENEWAL
Isabel D RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois S ShinkoJapanBernardo Dominic QUALIFIED
Johnson S VenereIndiaAsiya Javayant NEGOTIATION
Murillo S PoquetteGermanyBernardo Dominic NEW
Leon X MaletGermanyAsiya Javayant QUALIFIED
Juan P RutaBrazilElwin Sharvill NEW
James Y PerinSpainAnna Fali PROPOSAL
Cody S KuskoItalyStephen Shaw PROPOSAL
Ricardo X KuskoItalyElwin Sharvill NEW
Claire V KolmetzArgentinaAmy Elsner PROPOSAL
Jeanfrancois P DoeAustraliaAnna Fali UNQUALIFIED
Munro C CaudyItalyAnna Fali PROPOSAL
David N KuskoRussiaIvan Magalhaes RENEWAL
David V MaletBrazilXuxue Feng PROPOSAL
Adams K WhobreyUnited KingdomStephen Shaw RENEWAL

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