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 R WaycottItalyIoni Bowcher QUALIFIED
Costa C VocelkaJapanIvan Magalhaes NEGOTIATION
Stacey T InouyeItalyBernardo Dominic QUALIFIED
Ivar K ButtSpainAmy Elsner UNQUALIFIED
Rodrigues V CaudyIndiaOnyama Limba PROPOSAL
Juan E SlusarskiCanadaAsiya Javayant NEGOTIATION
Chavez W WaycottSpainIoni Bowcher PROPOSAL
Murillo L RulapaughSpainAnna Fali NEW
Aditya O DoeArgentinaOnyama Limba RENEWAL
Deepesh O MaletIndiaBernardo Dominic QUALIFIED
Leja Q FerenczArgentinaXuxue Feng NEGOTIATION
Maisha T SaylorsGermanyIoni Bowcher PROPOSAL
Sinclair L PerinJapanIvan Magalhaes PROPOSAL
Misaki C RutaAustraliaElwin Sharvill UNQUALIFIED
Kaitlin J SaylorsArgentinaStephen Shaw QUALIFIED
Aruna I SergiIndiaXuxue Feng NEW
Smith T FerenczJapanAsiya Javayant RENEWAL
Arvin Y ButtSpainIvan Magalhaes UNQUALIFIED
Mayumi T PerinBrazilElwin Sharvill NEGOTIATION
Darci R DilliardGermanyOnyama Limba NEW
Octavia V WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Isabel N BowleyBrazilOnyama Limba NEGOTIATION
Mujtaba R ShinkoBrazilElwin Sharvill PROPOSAL
Isabel Q RulapaughSpainAsiya Javayant UNQUALIFIED
Maria M RimArgentinaStephen Shaw QUALIFIED
Izzy Q KuskoRussiaXuxue Feng NEGOTIATION
Morrow H GarufiUnited KingdomAmy Elsner PROPOSAL
Aruna P MacleadFranceAnna Fali NEGOTIATION
Aika S MorascaCanadaStephen Shaw RENEWAL
Jennifer E PerinSpainAmy Elsner RENEWAL
Wickens U KuskoItalyElwin Sharvill NEGOTIATION
Nicolas J IturbideArgentinaAnna Fali RENEWAL
Rodrigues L ChuiGermanyAmy Elsner RENEWAL
Leja W AmigonArgentinaAnna Fali UNQUALIFIED
Jeanfrancois T KuskoRussiaBernardo Dominic NEGOTIATION
Tony X DilliardUnited KingdomAmy Elsner PROPOSAL
Emily E FollerUnited KingdomXuxue Feng PROPOSAL
Jennifer F ButtJapanAnna Fali RENEWAL
Sinclair O GillianUnited KingdomXuxue Feng NEW
Arvin L FerenczBrazilElwin Sharvill NEGOTIATION
Leon K MaletAustraliaIoni Bowcher NEGOTIATION
Faith Y DilliardCanadaAnna Fali PROPOSAL
Mayumi V FerenczCanadaOnyama Limba PROPOSAL
Ricardo V NickaSpainBernardo Dominic UNQUALIFIED
Aditya Y PerinUnited KingdomOnyama Limba NEW
Julie G AmigonUnited KingdomStephen Shaw NEW
Mayumi E PerinGermanyAnna Fali UNQUALIFIED
Chavez G MarrierCanadaXuxue Feng NEGOTIATION
Murillo H SaylorsGermanyAmy Elsner QUALIFIED
Jeanfrancois B DilliardItalyOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika U SaylorsGermanyElwin Sharvill NEGOTIATION
Stacey T NickaGermanyOnyama Limba NEW
Claire B ShinkoAustraliaAmy Elsner RENEWAL
Kadeem V OldroydBrazilAsiya Javayant UNQUALIFIED
Mayumi D PoquetteUnited KingdomStephen Shaw NEW
Ashley P KolmetzItalyIoni Bowcher NEGOTIATION
Misaki Q InouyeGermanyIoni Bowcher UNQUALIFIED
Francesco Z CaudyFranceBernardo Dominic NEW
Izzy W RutaIndiaOnyama Limba RENEWAL
Ashley D ShinkoGermanyXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh C OldroydCanada2024-05-11Chapman, Ross E Esq NEW2Ioni Bowcher
1001Ricardo B SaylorsIndia2024-05-17Rousseaux, Michael Esq PROPOSAL36Stephen Shaw
1002Silvio I MaletCanada2024-04-27Chanay, Jeffrey A Esq QUALIFIED50Anna Fali
1003Costa I BriddickCanada2024-05-08Chanay, Jeffrey A Esq NEGOTIATION9Onyama Limba
1004Aika H AmigonUnited Kingdom2024-05-08Printing Dimensions NEW60Amy Elsner
1005Alejandro P KolmetzItaly2024-04-27Feltz Printing Service QUALIFIED17Amy Elsner
1006Aditya K RimArgentina2024-05-05Buckley Miller Wright QUALIFIED57Anna Fali
1007Faith N BologniaCanada2024-05-18Morlong Associates QUALIFIED66Amy Elsner
1008Munro Q IturbideIndia2024-05-25Rousseaux, Michael Esq NEGOTIATION94Xuxue Feng
1009Maria A FerenczGermany2024-05-25Morlong Associates NEW75Ioni Bowcher
1010Leja W RimCanada2024-05-11King, Christopher A Esq UNQUALIFIED56Ivan Magalhaes
1011Ashley F KolmetzJapan2024-04-30Rousseaux, Michael Esq NEGOTIATION82Xuxue Feng
1012Alejandro P CampainJapan2024-05-16Commercial Press UNQUALIFIED41Stephen Shaw
1013Alejandro A MarrierBrazil2024-05-13Rangoni Of Florence PROPOSAL36Ioni Bowcher
1014Deepesh B MaletArgentina2024-04-30Commercial Press NEW63Bernardo Dominic
1015Aruna W FerenczRussia2024-05-08Feiner Bros PROPOSAL80Anna Fali
1016Arvin K KuskoAustralia2024-05-06Rousseaux, Michael Esq QUALIFIED92Stephen Shaw
1017Leja A FlosiJapan2024-05-14Feiner Bros NEW16Amy Elsner
1018Jennifer H FollerGermany2024-05-24Chapman, Ross E Esq NEW96Ioni Bowcher
1019Juan G RulapaughSpain2024-05-22Chemel, James L Cpa UNQUALIFIED56Onyama Limba
1020Maisha I CaudyCanada2024-05-01King, Christopher A Esq PROPOSAL95Ivan Magalhaes
1021Emily K AlbaresAustralia2024-05-24King, Christopher A Esq RENEWAL76Ivan Magalhaes
1022Jefferson W FerenczJapan2024-05-15Buckley Miller Wright RENEWAL66Onyama Limba
1023Johnson D CampainFrance2024-05-13King, Christopher A Esq NEW41Asiya Javayant
1024Aruna H SergiGermany2024-05-03Chapman, Ross E Esq UNQUALIFIED2Ioni Bowcher
1025Ashley O RulapaughGermany2024-04-29Dorl, James J Esq UNQUALIFIED62Onyama Limba
1026Darci I CaudyRussia2024-05-05Feltz Printing Service QUALIFIED93Xuxue Feng
1027Kadeem E OstroskyCanada2024-05-14Dorl, James J Esq NEGOTIATION57Bernardo Dominic
1028Mujtaba K VocelkaItaly2024-05-06Dorl, James J Esq NEGOTIATION98Ioni Bowcher
1029Munro P RimIndia2024-05-18Morlong Associates PROPOSAL92Bernardo Dominic
1030Nicolas T ShinkoSpain2024-05-10Rousseaux, Michael Esq RENEWAL58Asiya Javayant
1031Rodrigues B WaycottJapan2024-05-03Morlong Associates QUALIFIED80Elwin Sharvill
1032Darci X OstroskyArgentina2024-05-13Truhlar And Truhlar Attys RENEWAL56Stephen Shaw
1033David O BologniaBrazil2024-05-04Rangoni Of Florence PROPOSAL97Amy Elsner
1034Octavia N SergiGermany2024-04-27Chanay, Jeffrey A Esq UNQUALIFIED68Amy Elsner
1035Jefferson B DilliardCanada2024-05-07Feiner Bros NEGOTIATION30Amy Elsner
1036Silvio K WieserSpain2024-05-06Buckley Miller Wright PROPOSAL60Elwin Sharvill
1037Octavia K SlusarskiFrance2024-05-12Chanay, Jeffrey A Esq RENEWAL69Asiya Javayant
1038Antonio E RulapaughArgentina2024-05-01Feiner Bros NEW94Anna Fali
1039Kaitlin P SaylorsAustralia2024-05-06Benton, John B Jr NEGOTIATION20Ivan Magalhaes
1040Silvio I MarrierAustralia2024-04-29Buckley Miller Wright NEGOTIATION14Asiya Javayant
1041Morrow N RulapaughItaly2024-05-20Commercial Press NEW79Onyama Limba
1042Faith T OldroydRussia2024-05-06Benton, John B Jr NEW22Onyama Limba
1043Maisha L MacleadCanada2024-05-05Dorl, James J Esq NEGOTIATION22Elwin Sharvill
1044Johnson I WieserJapan2024-05-03Feiner Bros NEW75Asiya Javayant
1045Ashley Z StensethSpain2024-05-17King, Christopher A Esq NEGOTIATION15Ioni Bowcher
1046Cody P WaycottBrazil2024-05-22Chanay, Jeffrey A Esq NEGOTIATION60Ivan Magalhaes
1047Aditya D CampainItaly2024-05-18Chapman, Ross E Esq PROPOSAL22Elwin Sharvill
1048Leja V GillianCanada2024-05-16Chemel, James L Cpa NEW99Ivan Magalhaes
1049James B OstroskyAustralia2024-05-04Feiner Bros NEGOTIATION85Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Adams Q AlbaresItalyIvan Magalhaes NEGOTIATION
Izzy C TollnerCanadaIoni Bowcher NEW
Costa P InouyeUnited KingdomStephen Shaw UNQUALIFIED
Mayumi U MaletJapanAnna Fali QUALIFIED
Kaitlin Z BriddickIndiaAnna Fali PROPOSAL
Greenwood B SlusarskiFranceBernardo Dominic RENEWAL
David S DoeFranceAsiya Javayant PROPOSAL
Antonio L KolmetzFranceElwin Sharvill UNQUALIFIED
Chavez E AlbaresGermanyIoni Bowcher NEW
Deepesh G FigeroaBrazilIoni Bowcher RENEWAL
Munro Z WieserJapanIoni Bowcher UNQUALIFIED
Morrow G InouyeItalyAsiya Javayant RENEWAL
Kaitlin P MaletAustraliaXuxue Feng PROPOSAL
Maria W CaldareraGermanyAmy Elsner NEW
Kaitlin J AlbaresBrazilXuxue Feng UNQUALIFIED
Stacey H StensethJapanAsiya Javayant QUALIFIED
Costa B VenereJapanAnna Fali RENEWAL
Octavia K WieserBrazilIoni Bowcher NEW
Mayumi U DarakjyFranceIvan Magalhaes NEW
Morrow D VenereSpainOnyama Limba PROPOSAL
Mujtaba P GauchoGermanyXuxue Feng UNQUALIFIED
Darci E VenereRussiaStephen Shaw QUALIFIED
Silvio L StockhamAustraliaElwin Sharvill PROPOSAL
Adams Y AlbaresJapanAmy Elsner RENEWAL
David O FollerCanadaOnyama Limba NEGOTIATION
Isabel Q BriddickSpainXuxue Feng QUALIFIED
Maisha U RutaCanadaBernardo Dominic NEW
Murillo V BologniaArgentinaAmy Elsner NEGOTIATION
Francesco D AmigonUnited KingdomElwin Sharvill RENEWAL
Mayumi A WieserRussiaIvan Magalhaes RENEWAL
Aika L WaycottFranceAmy Elsner RENEWAL
Mayumi A CampainCanadaOnyama Limba PROPOSAL
Kaitlin V MarrierGermanyAsiya Javayant UNQUALIFIED
Ashley Z CaudyGermanyAsiya Javayant NEW
Aditya Y PoquetteGermanyAmy Elsner QUALIFIED
Misaki H ButtFranceBernardo Dominic UNQUALIFIED
Julie Y KuskoCanadaIvan Magalhaes PROPOSAL
Mujtaba U KuskoJapanIoni Bowcher QUALIFIED
Ivar P FerenczItalyIvan Magalhaes RENEWAL
Nicolas W ChuiBrazilAnna Fali QUALIFIED
Ashley O IturbideIndiaIoni Bowcher NEGOTIATION
Nicolas Y StockhamFranceIvan Magalhaes NEGOTIATION
Darci Z DarakjyIndiaStephen Shaw PROPOSAL
Smith G NickaCanadaOnyama Limba RENEWAL
Murillo V MaletBrazilAnna Fali QUALIFIED
Emily A MacleadUnited KingdomIoni Bowcher NEGOTIATION
David P KuskoItalyOnyama Limba QUALIFIED
Aruna B FlosiFranceStephen Shaw NEW
Sinclair Q WieserJapanAnna Fali NEGOTIATION
Octavia P FlosiFranceIoni Bowcher PROPOSAL
Frozen Columns
Name
Costa X Perin
Deepesh N Amigon
Francesco Y Ferencz
Juan A Ferencz
Aditya Q Royster
Francesco Y Morasca
Misaki K Ruta
Julie T Vocelka
Ivar Y Bowley
Nicolas O Bowley
Jefferson R Chui
Chavez G Malet
Wickens T Perin
Emily J Venere
Aditya O Flosi
Kaitlin R Caudy
Wickens G Iturbide
Antonio J Bolognia
Costa L Amigon
Aruna V Oldroyd
Izzy D Maclead
Silvio J Rulapaugh
Ashley C Tollner
Silvio C Butt
Stacey T Venere
Munro F Albares
Rodrigues U Rulapaugh
Francesco B Bowley
David E Inouye
Kadeem W Paprocki
Tony U Flosi
Aika V Nicka
Francesco H Bowley
Greenwood D Perin
James H Vocelka
Wickens Q Morasca
Adams D Glick
Juan S Iturbide
Aruna J Stenseth
Jeanfrancois H Tollner
Isabel N Saylors
Ivar J Amigon
Kadeem N Oldroyd
Juan O Butt
Francesco N Bowley
Leon Z Oldroyd
Tony N Iturbide
Leon G Gillian
Cody Z Doe
Jeanfrancois I Saylors
IdCountryDate
1000Brazil2024-05-22
1001France2024-05-25
1002Italy2024-05-19
1003Argentina2024-05-21
1004India2024-05-14
1005Australia2024-05-19
1006France2024-05-22
1007India2024-05-09
1008India2024-05-13
1009Russia2024-05-01
1010Japan2024-05-26
1011Argentina2024-05-06
1012Spain2024-05-13
1013United Kingdom2024-05-14
1014Japan2024-05-20
1015United Kingdom2024-05-22
1016Russia2024-05-04
1017Australia2024-05-08
1018Russia2024-05-04
1019Russia2024-05-23
1020Brazil2024-05-13
1021Argentina2024-05-12
1022Spain2024-05-04
1023Spain2024-05-06
1024Australia2024-05-15
1025Spain2024-05-21
1026Germany2024-05-24
1027India2024-05-04
1028Brazil2024-05-26
1029Brazil2024-05-23
1030Italy2024-05-18
1031Germany2024-05-13
1032Spain2024-05-22
1033United Kingdom2024-05-01
1034India2024-05-15
1035Italy2024-05-18
1036Italy2024-05-04
1037Brazil2024-05-24
1038Canada2024-05-22
1039Brazil2024-05-05
1040India2024-05-04
1041Spain2024-05-05
1042India2024-05-15
1043Brazil2024-05-20
1044United Kingdom2024-05-07
1045United Kingdom2024-05-23
1046Argentina2024-04-27
1047Canada2024-05-15
1048Canada2024-04-30
1049Australia2024-05-24

On-Demand Data

NameIdCountryDate
Kadeem B Ferencz1000Russia2024-05-20
Jennifer A Schemmer1001Italy2024-05-14
Kaitlin I Inouye1002Spain2024-05-07
Murillo S Saylors1003Australia2024-05-03
Ivar Y Marrier1004United Kingdom2024-05-02
Greenwood D Doe1005Russia2024-05-09
Stacey Z Perin1006Germany2024-05-11
Kaitlin O Wieser1007Russia2024-05-11
Francesco F Malet1008Canada2024-05-03
Emily Q Sergi1009Italy2024-05-04
Munro U Gillian1010Argentina2024-04-27
Stacey H Gillian1011India2024-05-05
Deepesh F Kusko1012Australia2024-05-20
Costa D Inouye1013Brazil2024-05-18
Wickens R Ostrosky1014Germany2024-05-01
Mujtaba Q Malet1015Brazil2024-05-24
Ivar P Nestle1016Canada2024-04-28
Jefferson H Caudy1017Japan2024-05-02
Silvio A Venere1018Brazil2024-05-25
Octavia V Albares1019Argentina2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio U OldroydUnited KingdomIvan Magalhaes PROPOSAL
Ashley Q FlosiItalyOnyama Limba RENEWAL
Morrow C SchemmerAustraliaOnyama Limba NEW
Jefferson K OldroydCanadaOnyama Limba NEW
Izzy D FigeroaGermanyOnyama Limba RENEWAL
Tony Q OldroydArgentinaAmy Elsner RENEWAL
Munro H FlosiAustraliaAmy Elsner NEGOTIATION
Aruna M ButtJapanElwin Sharvill RENEWAL
Ashley K ChuiFranceAsiya Javayant UNQUALIFIED
Aruna T SlusarskiSpainStephen Shaw QUALIFIED
Chavez O SergiGermanyIvan Magalhaes PROPOSAL
Kaitlin F SaylorsRussiaAnna Fali UNQUALIFIED
James Z VenereItalyOnyama Limba QUALIFIED
Maisha N TollnerUnited KingdomBernardo Dominic PROPOSAL
Ashley Z MorascaSpainXuxue Feng PROPOSAL
Julie Z PaprockiGermanyIoni Bowcher RENEWAL
Stacey P RulapaughSpainOnyama Limba PROPOSAL
Adams Y FigeroaJapanXuxue Feng RENEWAL
Chavez L InouyeArgentinaOnyama Limba UNQUALIFIED
Aruna C MaletFranceBernardo Dominic NEW
Cody W FlosiRussiaIvan Magalhaes PROPOSAL
Costa X AmigonRussiaAsiya Javayant NEW
Adams Z MarrierRussiaIvan Magalhaes NEGOTIATION
Smith F RimItalyAnna Fali QUALIFIED
Smith S AlbaresGermanyOnyama Limba PROPOSAL
Johnson V FerenczRussiaXuxue Feng PROPOSAL
Arvin V RutaBrazilAnna Fali NEGOTIATION
Tony F BriddickCanadaStephen Shaw PROPOSAL
Ashley K FerenczItalyIvan Magalhaes NEW
Leja F MacleadBrazilIoni Bowcher QUALIFIED
Isabel T PerinItalyXuxue Feng NEW
Juan Y IturbideArgentinaXuxue Feng QUALIFIED
Jeanfrancois F SaylorsArgentinaXuxue Feng RENEWAL
Chavez I OldroydFranceStephen Shaw NEW
Faith Q WieserItalyAsiya Javayant QUALIFIED
Misaki J StockhamUnited KingdomXuxue Feng NEGOTIATION
Octavia G NickaJapanOnyama Limba PROPOSAL
Ricardo S DarakjyCanadaXuxue Feng RENEWAL
David S SergiUnited KingdomAsiya Javayant NEGOTIATION
Leon M MorascaItalyIvan Magalhaes 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>