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
Rodrigues E RimRussiaXuxue Feng PROPOSAL
Deepesh B FollerItalyAsiya Javayant QUALIFIED
Costa V GarufiJapanElwin Sharvill NEW
Ashley A WhobreyArgentinaAnna Fali PROPOSAL
Emily X TollnerItalyIvan Magalhaes RENEWAL
Greenwood W RimCanadaAnna Fali RENEWAL
Juan W FigeroaRussiaAmy Elsner RENEWAL
Clifford N WieserRussiaAmy Elsner RENEWAL
Antonio X StockhamSpainBernardo Dominic UNQUALIFIED
Nicolas S GauchoJapanBernardo Dominic QUALIFIED
Arvin K VocelkaGermanyStephen Shaw RENEWAL
Munro Z PoquetteUnited KingdomBernardo Dominic RENEWAL
Arvin W GarufiArgentinaIoni Bowcher RENEWAL
Darci D MaletAustraliaAmy Elsner RENEWAL
Mujtaba M StensethJapanXuxue Feng UNQUALIFIED
Aika W SlusarskiJapanStephen Shaw NEGOTIATION
David D GauchoUnited KingdomAnna Fali UNQUALIFIED
James R GlickSpainIvan Magalhaes PROPOSAL
Rodrigues N PaprockiJapanAmy Elsner UNQUALIFIED
Jones P PoquetteBrazilAsiya Javayant QUALIFIED
Claire M SlusarskiRussiaOnyama Limba RENEWAL
Aika K VenereUnited KingdomStephen Shaw QUALIFIED
Izzy D WieserAustraliaStephen Shaw NEW
Kadeem F InouyeIndiaAmy Elsner UNQUALIFIED
Murillo R SchemmerFranceXuxue Feng NEGOTIATION
Stacey G WaycottSpainElwin Sharvill UNQUALIFIED
Rodrigues B BriddickRussiaXuxue Feng QUALIFIED
Salvatore S DarakjySpainXuxue Feng QUALIFIED
Ashley K DilliardCanadaStephen Shaw NEW
Rodrigues F NickaGermanyAsiya Javayant NEGOTIATION
Cody M SergiSpainOnyama Limba QUALIFIED
Nicolas E FlosiRussiaElwin Sharvill NEW
Smith F FollerIndiaIvan Magalhaes QUALIFIED
Kaitlin L FollerCanadaIvan Magalhaes PROPOSAL
Aditya N MaletArgentinaBernardo Dominic NEW
Sinclair W DoeItalyElwin Sharvill NEW
Munro R TollnerAustraliaOnyama Limba NEGOTIATION
Munro E RimArgentinaIoni Bowcher NEW
Nicolas P KuskoCanadaIvan Magalhaes NEGOTIATION
Leon D RimItalyAmy Elsner NEGOTIATION
Aruna E TollnerCanadaBernardo Dominic QUALIFIED
Jennifer N NickaBrazilAnna Fali PROPOSAL
Murillo A MarrierRussiaOnyama Limba QUALIFIED
Deepesh Y PerinRussiaAnna Fali QUALIFIED
Aditya E RulapaughFranceAmy Elsner PROPOSAL
Juan A CampainGermanyIvan Magalhaes NEW
Tony N MarrierSpainIvan Magalhaes UNQUALIFIED
Chavez Q RoysterFranceAmy Elsner PROPOSAL
Leon O GlickCanadaAsiya Javayant NEW
Maria C FigeroaCanadaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio A IturbideAustraliaAnna Fali UNQUALIFIED
Chavez L ChuiUnited KingdomXuxue Feng RENEWAL
Greenwood K PoquetteGermanyIvan Magalhaes NEW
Ashley S OldroydBrazilElwin Sharvill NEGOTIATION
Ricardo U NestleRussiaIoni Bowcher RENEWAL
Jennifer X KolmetzGermanyXuxue Feng UNQUALIFIED
Antonio T SergiRussiaBernardo Dominic NEGOTIATION
Aika Z CaldareraArgentinaAnna Fali NEGOTIATION
Darci S WhobreyItalyAmy Elsner UNQUALIFIED
Mujtaba P RutaArgentinaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith E RutaCanada2024-06-01Feltz Printing Service NEW21Amy Elsner
1001Jennifer B CaldareraArgentina2024-06-16Benton, John B Jr PROPOSAL90Onyama Limba
1002Alejandro T StensethArgentina2024-06-24Commercial Press UNQUALIFIED71Amy Elsner
1003Greenwood X RutaFrance2024-06-19Commercial Press UNQUALIFIED18Elwin Sharvill
1004Aika U AmigonBrazil2024-06-11Dorl, James J Esq NEGOTIATION24Bernardo Dominic
1005Adams N MarrierRussia2024-06-05Rousseaux, Michael Esq NEGOTIATION92Elwin Sharvill
1006Salvatore U WaycottSpain2024-06-02Dorl, James J Esq QUALIFIED44Anna Fali
1007Greenwood G ShinkoGermany2024-06-22Rangoni Of Florence QUALIFIED8Onyama Limba
1008Cody Z CaldareraIndia2024-06-24Chanay, Jeffrey A Esq UNQUALIFIED2Asiya Javayant
1009Greenwood Y MaletSpain2024-06-07Feiner Bros NEW84Stephen Shaw
1010Salvatore B SaylorsJapan2024-06-05Truhlar And Truhlar Attys QUALIFIED48Elwin Sharvill
1011Ivar K NickaIndia2024-05-30Dorl, James J Esq PROPOSAL67Ivan Magalhaes
1012Smith U StockhamItaly2024-05-26Rangoni Of Florence NEGOTIATION90Stephen Shaw
1013Leja Y TollnerSpain2024-06-13Feiner Bros NEGOTIATION56Elwin Sharvill
1014Clifford O GarufiFrance2024-06-14Rousseaux, Michael Esq RENEWAL84Stephen Shaw
1015Tony F KolmetzItaly2024-06-15Feiner Bros RENEWAL53Onyama Limba
1016Jennifer B OldroydGermany2024-06-21Rousseaux, Michael Esq PROPOSAL66Ivan Magalhaes
1017Julie C GlickGermany2024-06-03Rousseaux, Michael Esq RENEWAL76Ioni Bowcher
1018Aika A InouyeBrazil2024-06-07Printing Dimensions PROPOSAL78Anna Fali
1019Mayumi E GarufiUnited Kingdom2024-06-02Commercial Press UNQUALIFIED74Bernardo Dominic
1020Wickens L FerenczRussia2024-05-28Buckley Miller Wright NEGOTIATION41Stephen Shaw
1021Faith C RutaBrazil2024-06-11King, Christopher A Esq NEGOTIATION34Onyama Limba
1022Juan J WieserJapan2024-06-02Commercial Press PROPOSAL88Onyama Limba
1023Emily K GlickUnited Kingdom2024-06-07Rousseaux, Michael Esq NEW12Elwin Sharvill
1024Leon J BriddickFrance2024-06-13Chanay, Jeffrey A Esq NEW76Ivan Magalhaes
1025Maisha B DarakjyCanada2024-06-10Truhlar And Truhlar Attys NEGOTIATION66Ioni Bowcher
1026Nicolas Z GillianFrance2024-06-07Truhlar And Truhlar Attys UNQUALIFIED70Anna Fali
1027Murillo I CaldareraCanada2024-06-08Buckley Miller Wright QUALIFIED9Onyama Limba
1028Adams Q PoquetteAustralia2024-06-12Truhlar And Truhlar Attys QUALIFIED83Stephen Shaw
1029Wickens H MorascaArgentina2024-05-28Dorl, James J Esq RENEWAL37Bernardo Dominic
1030Johnson P RoysterJapan2024-05-30Commercial Press RENEWAL4Onyama Limba
1031Jennifer O ChuiFrance2024-06-23Truhlar And Truhlar Attys PROPOSAL91Stephen Shaw
1032Rodrigues G OstroskyItaly2024-05-27King, Christopher A Esq QUALIFIED76Amy Elsner
1033Tony V SaylorsUnited Kingdom2024-05-31King, Christopher A Esq PROPOSAL7Xuxue Feng
1034Johnson K IturbideFrance2024-06-18Chanay, Jeffrey A Esq NEGOTIATION63Stephen Shaw
1035Aika C StockhamUnited Kingdom2024-06-15Morlong Associates PROPOSAL70Asiya Javayant
1036Nicolas Q DilliardRussia2024-06-21King, Christopher A Esq NEGOTIATION67Ioni Bowcher
1037Francesco F WieserAustralia2024-06-07Rangoni Of Florence UNQUALIFIED54Bernardo Dominic
1038Cody A MarrierAustralia2024-06-11King, Christopher A Esq NEGOTIATION79Asiya Javayant
1039Maria B CampainGermany2024-05-29Rousseaux, Michael Esq RENEWAL14Stephen Shaw
1040Salvatore M GarufiCanada2024-06-14Morlong Associates RENEWAL46Elwin Sharvill
1041Sinclair O MaletGermany2024-05-28Chemel, James L Cpa NEW41Elwin Sharvill
1042Jeanfrancois P VenereIndia2024-06-11Feltz Printing Service PROPOSAL78Bernardo Dominic
1043Ashley Q StensethGermany2024-05-28Truhlar And Truhlar Attys UNQUALIFIED40Ivan Magalhaes
1044Leja G MarrierGermany2024-05-27Feiner Bros NEW75Onyama Limba
1045Adams O AlbaresUnited Kingdom2024-06-12Rousseaux, Michael Esq UNQUALIFIED40Amy Elsner
1046Maria Q WieserSpain2024-06-13Rangoni Of Florence UNQUALIFIED1Anna Fali
1047Maria A KolmetzBrazil2024-06-13Benton, John B Jr RENEWAL71Ivan Magalhaes
1048Wickens X BologniaJapan2024-06-04King, Christopher A Esq NEW81Stephen Shaw
1049Chavez H SaylorsBrazil2024-06-04Morlong Associates UNQUALIFIED87Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Munro E BriddickBrazilIvan Magalhaes QUALIFIED
David C CaldareraArgentinaStephen Shaw NEW
James Z NickaRussiaStephen Shaw NEGOTIATION
Smith S InouyeAustraliaAnna Fali RENEWAL
Sinclair Y PoquetteFranceIoni Bowcher PROPOSAL
Jeanfrancois B BowleyCanadaStephen Shaw RENEWAL
Kadeem X RutaUnited KingdomAsiya Javayant RENEWAL
Munro N VocelkaAustraliaAmy Elsner QUALIFIED
Jeanfrancois H InouyeGermanyStephen Shaw UNQUALIFIED
Salvatore W BologniaSpainAsiya Javayant RENEWAL
Wickens E VenereUnited KingdomOnyama Limba NEW
Nicolas B RulapaughAustraliaAmy Elsner UNQUALIFIED
Juan S AmigonRussiaIoni Bowcher QUALIFIED
Darci L SlusarskiAustraliaAnna Fali UNQUALIFIED
Kadeem X GillianCanadaAmy Elsner RENEWAL
James Q RutaRussiaIvan Magalhaes RENEWAL
Francesco Q AlbaresCanadaElwin Sharvill RENEWAL
Izzy E KuskoItalyIoni Bowcher PROPOSAL
Ivar N StockhamCanadaAmy Elsner NEW
Leon N BriddickBrazilBernardo Dominic QUALIFIED
Alejandro G ChuiCanadaBernardo Dominic NEW
Misaki W FigeroaUnited KingdomOnyama Limba RENEWAL
Alejandro A OstroskyArgentinaIoni Bowcher QUALIFIED
Greenwood L DoeBrazilBernardo Dominic NEW
Kaitlin O MacleadRussiaAmy Elsner NEGOTIATION
Claire L FlosiAustraliaAsiya Javayant UNQUALIFIED
Ricardo F GarufiSpainIoni Bowcher NEGOTIATION
Emily F WieserItalyIvan Magalhaes NEGOTIATION
Chavez Q RoysterSpainAmy Elsner QUALIFIED
Jeanfrancois W OstroskyJapanXuxue Feng NEGOTIATION
Ivar S NestleJapanXuxue Feng UNQUALIFIED
Salvatore F BowleyArgentinaBernardo Dominic NEGOTIATION
Ricardo E BologniaCanadaBernardo Dominic NEW
Rodrigues Z NickaItalyIvan Magalhaes PROPOSAL
Aika G SaylorsAustraliaElwin Sharvill NEGOTIATION
Jennifer H DilliardRussiaIoni Bowcher NEW
Tony Z InouyeJapanXuxue Feng QUALIFIED
Tony Z AlbaresCanadaIvan Magalhaes NEGOTIATION
Leon H ButtAustraliaStephen Shaw NEGOTIATION
Aditya X ShinkoGermanyOnyama Limba PROPOSAL
Kaitlin W SaylorsAustraliaIoni Bowcher UNQUALIFIED
Arvin C RimFranceIvan Magalhaes QUALIFIED
David I PoquetteSpainAnna Fali NEW
Isabel F MorascaUnited KingdomElwin Sharvill NEW
Sinclair E RimRussiaIvan Magalhaes NEGOTIATION
Izzy J DarakjyCanadaStephen Shaw RENEWAL
Stacey C AmigonJapanElwin Sharvill UNQUALIFIED
Leja C MorascaCanadaAmy Elsner QUALIFIED
Murillo J GlickGermanyAnna Fali NEGOTIATION
Aika N MorascaCanadaElwin Sharvill RENEWAL
Frozen Columns
Name
Arvin F Royster
Deepesh T Schemmer
Tony T Albares
Maria W Glick
Octavia H Bolognia
Tony H Bolognia
Alejandro W Ruta
Julie B Amigon
Cody I Poquette
Wickens B Inouye
Alejandro M Marrier
Ricardo C Rulapaugh
Faith O Morasca
Claire R Malet
Antonio U Rim
Nicolas D Tollner
Morrow W Foller
David U Dilliard
Deepesh J Stockham
Munro G Oldroyd
Leon F Stockham
Aditya D Sergi
Faith E Rulapaugh
Wickens O Poquette
Clifford F Kusko
Ashley F Kusko
Wickens J Butt
Chavez X Oldroyd
Munro J Schemmer
Ivar S Ferencz
Salvatore R Nicka
Smith Y Tollner
Costa P Caldarera
Leja Z Malet
Arvin L Dilliard
Isabel W Rim
Juan W Perin
Aika U Venere
James K Waycott
David C Garufi
Maisha Z Kolmetz
Kadeem E Shinko
Nicolas O Poquette
Jones F Maclead
Ashley B Ostrosky
Adams Y Stenseth
Maria R Bolognia
Chavez S Rim
Johnson T Chui
Maisha G Ferencz
IdCountryDate
1000Germany2024-06-16
1001India2024-06-07
1002United Kingdom2024-05-30
1003Germany2024-06-07
1004United Kingdom2024-05-30
1005Australia2024-06-10
1006India2024-05-26
1007Germany2024-06-08
1008Russia2024-06-21
1009Japan2024-06-03
1010Spain2024-06-06
1011Brazil2024-06-04
1012France2024-06-17
1013France2024-06-19
1014India2024-05-31
1015Italy2024-06-10
1016France2024-06-19
1017Spain2024-06-07
1018Italy2024-06-17
1019Japan2024-06-01
1020United Kingdom2024-06-13
1021India2024-05-28
1022France2024-06-07
1023United Kingdom2024-06-20
1024France2024-06-10
1025Canada2024-06-06
1026France2024-05-27
1027India2024-06-20
1028Italy2024-06-23
1029Germany2024-06-13
1030Brazil2024-05-27
1031India2024-06-19
1032Germany2024-06-13
1033Canada2024-06-18
1034Argentina2024-06-21
1035Italy2024-06-09
1036Japan2024-06-20
1037Italy2024-06-17
1038Australia2024-06-08
1039Australia2024-06-23
1040Spain2024-06-21
1041India2024-06-10
1042Germany2024-06-03
1043Japan2024-06-16
1044Italy2024-06-13
1045Germany2024-06-12
1046Italy2024-06-06
1047Argentina2024-05-29
1048Canada2024-05-28
1049Germany2024-05-28

On-Demand Data

NameIdCountryDate
Ashley I Rim1000India2024-06-20
Morrow S Rim1001Japan2024-06-22
Darci H Bowley1002France2024-06-13
Jones N Ferencz1003Japan2024-06-02
Adams R Caudy1004Japan2024-05-27
Greenwood W Malet1005Italy2024-06-02
Ivar T Malet1006Germany2024-05-29
Ricardo E Bolognia1007Canada2024-06-13
Aika L Sergi1008Brazil2024-06-21
James W Bowley1009India2024-05-29
Greenwood M Amigon1010Argentina2024-06-07
Ricardo F Oldroyd1011Russia2024-06-03
Chavez F Perin1012United Kingdom2024-05-30
Johnson Q Albares1013Canada2024-06-04
Ivar I Slusarski1014Spain2024-06-24
Silvio A Ruta1015Spain2024-05-26
Nicolas K Shinko1016Germany2024-06-19
Alejandro B Paprocki1017Brazil2024-05-28
Mayumi V Amigon1018Canada2024-06-10
Izzy S Nicka1019Canada2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues U BowleySpainAmy Elsner QUALIFIED
Antonio I NickaIndiaStephen Shaw RENEWAL
Morrow K GlickUnited KingdomAnna Fali QUALIFIED
Jefferson J SlusarskiFranceBernardo Dominic PROPOSAL
Leja X DilliardGermanyBernardo Dominic RENEWAL
Leja B AmigonIndiaBernardo Dominic UNQUALIFIED
Rodrigues V GauchoGermanyIoni Bowcher PROPOSAL
Darci Z FlosiArgentinaIvan Magalhaes NEGOTIATION
James G StensethItalyAmy Elsner NEW
Darci V VenereCanadaElwin Sharvill PROPOSAL
Jefferson P MorascaSpainStephen Shaw NEGOTIATION
Munro S DilliardCanadaXuxue Feng UNQUALIFIED
Isabel U TollnerBrazilOnyama Limba UNQUALIFIED
Kadeem V FerenczAustraliaIoni Bowcher PROPOSAL
Aika Z CaudyAustraliaOnyama Limba NEW
Maria B CaudyGermanyElwin Sharvill RENEWAL
Antonio S RutaFranceXuxue Feng UNQUALIFIED
Claire A FlosiFranceStephen Shaw QUALIFIED
Aika X WieserFranceIvan Magalhaes NEW
Emily P StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Silvio T MaletAustraliaStephen Shaw NEGOTIATION
Aika E VocelkaIndiaAsiya Javayant NEW
Ivar O DoeSpainAsiya Javayant QUALIFIED
Alejandro L DoeArgentinaIvan Magalhaes QUALIFIED
Octavia Y OldroydUnited KingdomStephen Shaw NEGOTIATION
Maisha W PoquetteFranceBernardo Dominic PROPOSAL
Antonio Z VenereIndiaAmy Elsner NEW
Clifford F CaudyUnited KingdomAnna Fali NEGOTIATION
Costa J PoquetteBrazilAsiya Javayant RENEWAL
Leon D GlickUnited KingdomElwin Sharvill UNQUALIFIED
Jennifer H StockhamJapanIoni Bowcher NEGOTIATION
Aruna I WaycottFranceElwin Sharvill UNQUALIFIED
Salvatore L InouyeArgentinaElwin Sharvill PROPOSAL
Cody V DarakjyIndiaElwin Sharvill NEW
Munro Y GillianFranceStephen Shaw RENEWAL
Clifford V TollnerGermanyAnna Fali NEW
Arvin U BowleyGermanyXuxue Feng NEGOTIATION
Maria D OldroydFranceElwin Sharvill RENEWAL
Emily P OldroydItalyAsiya Javayant RENEWAL
Izzy U CaudyGermanyElwin Sharvill NEW

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