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
Aika A MorascaSpainXuxue Feng PROPOSAL
Greenwood G ShinkoGermanyXuxue Feng PROPOSAL
Tony F FlosiGermanyIvan Magalhaes QUALIFIED
Ivar W FerenczIndiaIoni Bowcher NEW
Greenwood U SlusarskiFranceAmy Elsner PROPOSAL
James A VenereCanadaAsiya Javayant NEW
David Z SlusarskiSpainOnyama Limba NEGOTIATION
Mujtaba U IturbideJapanAmy Elsner NEW
Octavia R NestleIndiaAsiya Javayant UNQUALIFIED
Jeanfrancois N GarufiItalyElwin Sharvill QUALIFIED
Mujtaba V FerenczItalyStephen Shaw PROPOSAL
Julie N RulapaughFranceElwin Sharvill UNQUALIFIED
Greenwood A PoquetteFranceIvan Magalhaes UNQUALIFIED
Stacey B CampainArgentinaIvan Magalhaes RENEWAL
Smith Q MarrierIndiaElwin Sharvill UNQUALIFIED
Clifford T GauchoSpainOnyama Limba RENEWAL
Chavez Y GillianCanadaIoni Bowcher UNQUALIFIED
Leja R KuskoItalyOnyama Limba UNQUALIFIED
Sinclair E GlickJapanAmy Elsner UNQUALIFIED
Stacey W FollerItalyXuxue Feng RENEWAL
Johnson V AmigonSpainIvan Magalhaes RENEWAL
Munro S GauchoIndiaIvan Magalhaes QUALIFIED
Juan R IturbideRussiaAsiya Javayant UNQUALIFIED
Juan K PerinSpainStephen Shaw NEW
Ashley D ChuiItalyXuxue Feng UNQUALIFIED
Izzy Q VenereCanadaStephen Shaw NEGOTIATION
Greenwood U RoysterItalyIvan Magalhaes RENEWAL
Maria Q PaprockiJapanBernardo Dominic NEW
Nicolas B AmigonUnited KingdomAnna Fali PROPOSAL
Mayumi N FerenczSpainAmy Elsner RENEWAL
Francesco K VocelkaJapanOnyama Limba NEGOTIATION
Adams L ChuiSpainOnyama Limba NEGOTIATION
Adams C BriddickIndiaIoni Bowcher QUALIFIED
Jones C CaudyCanadaOnyama Limba PROPOSAL
Francesco S WhobreyFranceStephen Shaw NEW
Morrow S StensethUnited KingdomXuxue Feng NEW
Alejandro J RulapaughBrazilBernardo Dominic QUALIFIED
Francesco Q ChuiGermanyAmy Elsner NEGOTIATION
Aika T SchemmerItalyBernardo Dominic NEW
Juan V FollerBrazilOnyama Limba NEGOTIATION
Ashley O SaylorsArgentinaIvan Magalhaes RENEWAL
Silvio Y FerenczAustraliaXuxue Feng NEGOTIATION
Silvio B SchemmerArgentinaAmy Elsner UNQUALIFIED
Ivar P FlosiUnited KingdomAsiya Javayant QUALIFIED
David W PerinCanadaAnna Fali NEW
Murillo N GlickRussiaOnyama Limba NEW
Wickens H OldroydSpainAnna Fali RENEWAL
Jennifer U RimIndiaAsiya Javayant PROPOSAL
Tony X TollnerJapanElwin Sharvill RENEWAL
Wickens E WieserAustraliaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem I BriddickJapanAnna Fali UNQUALIFIED
Ivar F BriddickBrazilXuxue Feng RENEWAL
Rodrigues A OstroskyAustraliaAnna Fali UNQUALIFIED
Julie N TollnerSpainBernardo Dominic NEGOTIATION
Julie I ButtRussiaStephen Shaw UNQUALIFIED
Munro O NestleSpainIoni Bowcher UNQUALIFIED
David S VocelkaUnited KingdomOnyama Limba UNQUALIFIED
Emily S VenereArgentinaIvan Magalhaes UNQUALIFIED
Silvio O FerenczIndiaAnna Fali UNQUALIFIED
Clifford G OstroskyRussiaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel T WhobreyCanada2024-05-17Chemel, James L Cpa UNQUALIFIED66Asiya Javayant
1001Chavez H RimUnited Kingdom2024-05-29Dorl, James J Esq UNQUALIFIED5Stephen Shaw
1002Mayumi P GlickBrazil2024-05-16King, Christopher A Esq NEW18Onyama Limba
1003Munro V PoquetteJapan2024-05-20Rangoni Of Florence UNQUALIFIED74Ioni Bowcher
1004Maria W VenereSpain2024-05-23Dorl, James J Esq PROPOSAL42Bernardo Dominic
1005Maria A GarufiUnited Kingdom2024-05-23Truhlar And Truhlar Attys UNQUALIFIED43Ioni Bowcher
1006Emily R VenereFrance2024-05-11Printing Dimensions QUALIFIED60Elwin Sharvill
1007Arvin D ChuiGermany2024-05-26Buckley Miller Wright NEW80Bernardo Dominic
1008Kaitlin M DoeFrance2024-05-12King, Christopher A Esq NEGOTIATION51Elwin Sharvill
1009Munro J WhobreyJapan2024-05-08Buckley Miller Wright UNQUALIFIED44Elwin Sharvill
1010David T ChuiIndia2024-05-03Morlong Associates QUALIFIED89Bernardo Dominic
1011Morrow H ShinkoItaly2024-05-18Chemel, James L Cpa PROPOSAL63Bernardo Dominic
1012Kaitlin A AlbaresGermany2024-05-18Chemel, James L Cpa PROPOSAL77Amy Elsner
1013Silvio U CaudyArgentina2024-05-06Chanay, Jeffrey A Esq UNQUALIFIED27Onyama Limba
1014Tony P PerinGermany2024-05-12Feltz Printing Service RENEWAL32Xuxue Feng
1015Cody L SchemmerCanada2024-05-20King, Christopher A Esq RENEWAL77Elwin Sharvill
1016Johnson R FerenczArgentina2024-05-24Rousseaux, Michael Esq NEGOTIATION56Asiya Javayant
1017Darci P FigeroaJapan2024-05-27Feltz Printing Service NEGOTIATION81Bernardo Dominic
1018Salvatore Z DarakjyAustralia2024-05-11Truhlar And Truhlar Attys NEW87Amy Elsner
1019David K SlusarskiJapan2024-05-01Commercial Press UNQUALIFIED23Anna Fali
1020Faith U WhobreyBrazil2024-05-25Rangoni Of Florence NEGOTIATION83Anna Fali
1021Antonio S SaylorsUnited Kingdom2024-05-24King, Christopher A Esq RENEWAL5Asiya Javayant
1022Adams F RoysterRussia2024-05-01King, Christopher A Esq PROPOSAL56Asiya Javayant
1023Chavez T WhobreySpain2024-05-11Feltz Printing Service PROPOSAL51Xuxue Feng
1024Chavez W SlusarskiArgentina2024-05-07Feltz Printing Service UNQUALIFIED3Asiya Javayant
1025Stacey T AlbaresUnited Kingdom2024-05-20Chapman, Ross E Esq RENEWAL83Asiya Javayant
1026Darci P FerenczGermany2024-05-18King, Christopher A Esq UNQUALIFIED68Anna Fali
1027Cody B GauchoRussia2024-05-13Dorl, James J Esq NEW64Bernardo Dominic
1028Izzy A ChuiGermany2024-05-07Chanay, Jeffrey A Esq UNQUALIFIED59Onyama Limba
1029Chavez U GauchoCanada2024-05-01Chapman, Ross E Esq NEW19Bernardo Dominic
1030Chavez U SergiBrazil2024-05-26Chapman, Ross E Esq QUALIFIED85Ivan Magalhaes
1031Leja E BriddickRussia2024-05-05Chanay, Jeffrey A Esq RENEWAL73Onyama Limba
1032Misaki S MarrierArgentina2024-05-24Printing Dimensions UNQUALIFIED49Amy Elsner
1033Darci D CaldareraIndia2024-05-13Dorl, James J Esq NEW54Ivan Magalhaes
1034Isabel S BologniaAustralia2024-05-14Rangoni Of Florence QUALIFIED50Stephen Shaw
1035Clifford E CampainIndia2024-05-11Commercial Press NEW49Stephen Shaw
1036James I NestleBrazil2024-05-08Feltz Printing Service NEGOTIATION92Xuxue Feng
1037Francesco I OstroskyFrance2024-05-27Chapman, Ross E Esq NEW77Amy Elsner
1038Jefferson H KolmetzCanada2024-04-30Chanay, Jeffrey A Esq RENEWAL27Bernardo Dominic
1039Aditya U SlusarskiArgentina2024-05-25Chapman, Ross E Esq NEGOTIATION42Ioni Bowcher
1040Jefferson X BriddickUnited Kingdom2024-05-24Printing Dimensions UNQUALIFIED33Ivan Magalhaes
1041Salvatore V PerinJapan2024-05-19Chanay, Jeffrey A Esq NEGOTIATION60Xuxue Feng
1042Julie F MaletGermany2024-05-21King, Christopher A Esq UNQUALIFIED47Bernardo Dominic
1043Aika A DoeAustralia2024-05-10Buckley Miller Wright RENEWAL79Onyama Limba
1044Arvin P KolmetzArgentina2024-05-09Dorl, James J Esq QUALIFIED60Ioni Bowcher
1045Aditya Y WaycottItaly2024-05-24Printing Dimensions QUALIFIED6Xuxue Feng
1046Julie U WieserJapan2024-05-19Rangoni Of Florence RENEWAL29Xuxue Feng
1047Jones Q AmigonGermany2024-05-08King, Christopher A Esq RENEWAL83Anna Fali
1048Aditya N WhobreyCanada2024-05-06Chapman, Ross E Esq PROPOSAL11Ioni Bowcher
1049Stacey N DilliardCanada2024-05-15Commercial Press UNQUALIFIED32Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Greenwood S BriddickArgentinaAsiya Javayant NEGOTIATION
Darci A SaylorsAustraliaIoni Bowcher NEW
Faith T ButtArgentinaIoni Bowcher PROPOSAL
Ricardo F GlickRussiaElwin Sharvill QUALIFIED
Ivar T InouyeRussiaElwin Sharvill NEW
Clifford U DarakjyJapanIvan Magalhaes RENEWAL
Greenwood V KuskoCanadaAmy Elsner NEW
Jeanfrancois U NestleUnited KingdomAnna Fali NEW
Murillo X BriddickRussiaAmy Elsner NEGOTIATION
Aditya R CaudyItalyAsiya Javayant NEW
Mujtaba E StensethGermanyIvan Magalhaes UNQUALIFIED
Arvin Y ShinkoRussiaAnna Fali UNQUALIFIED
Deepesh X StockhamSpainElwin Sharvill NEW
Cody N IturbideUnited KingdomOnyama Limba UNQUALIFIED
Munro T MorascaAustraliaAmy Elsner UNQUALIFIED
David C WaycottRussiaIoni Bowcher NEGOTIATION
David U WieserFranceElwin Sharvill NEGOTIATION
Isabel R FollerArgentinaAsiya Javayant QUALIFIED
Deepesh N MarrierUnited KingdomBernardo Dominic RENEWAL
Ivar M MorascaSpainAnna Fali NEW
Ricardo V VenereAustraliaIvan Magalhaes NEGOTIATION
Munro F IturbideIndiaIvan Magalhaes UNQUALIFIED
Claire D GillianGermanyElwin Sharvill UNQUALIFIED
Faith N CampainFranceAnna Fali NEW
Johnson X KolmetzUnited KingdomOnyama Limba RENEWAL
Maisha X OstroskyAustraliaAnna Fali UNQUALIFIED
Costa Q MaletGermanyXuxue Feng RENEWAL
Faith I MorascaJapanIvan Magalhaes RENEWAL
Leja M SaylorsRussiaOnyama Limba RENEWAL
Darci I OstroskyIndiaOnyama Limba NEGOTIATION
Costa Q PerinSpainAmy Elsner UNQUALIFIED
Deepesh K GillianFranceAsiya Javayant NEW
Maria D RimRussiaOnyama Limba RENEWAL
Jones O GlickFranceStephen Shaw PROPOSAL
Misaki F SergiAustraliaBernardo Dominic PROPOSAL
Morrow A WaycottItalyBernardo Dominic NEGOTIATION
Stacey Q NickaBrazilIvan Magalhaes UNQUALIFIED
Deepesh A GarufiRussiaOnyama Limba QUALIFIED
Ricardo Y SlusarskiIndiaAnna Fali NEGOTIATION
Adams E SergiBrazilIvan Magalhaes RENEWAL
Clifford L CaudyItalyElwin Sharvill RENEWAL
Francesco W InouyeGermanyXuxue Feng UNQUALIFIED
Ashley V KuskoFranceOnyama Limba PROPOSAL
Emily Y GlickUnited KingdomStephen Shaw NEW
Maisha M WaycottRussiaOnyama Limba PROPOSAL
Leja L StensethUnited KingdomBernardo Dominic NEGOTIATION
Sinclair Z PerinFranceAsiya Javayant PROPOSAL
Tony Y BowleyFranceBernardo Dominic UNQUALIFIED
Mayumi O BowleyArgentinaXuxue Feng NEGOTIATION
Murillo L NestleArgentinaIvan Magalhaes RENEWAL
Frozen Columns
Name
Chavez U Caudy
Greenwood K Iturbide
Juan G Figeroa
Mujtaba N Malet
Kadeem W Perin
Chavez F Waycott
Alejandro D Ferencz
Kaitlin L Waycott
Murillo Q Albares
Smith J Rulapaugh
Claire R Glick
Mayumi O Tollner
Julie V Malet
Darci G Garufi
Deepesh A Sergi
Darci F Ruta
Deepesh S Tollner
Aditya Q Nicka
Stacey A Stockham
Mujtaba G Rim
Ivar W Garufi
Rodrigues F Stockham
Juan Z Rulapaugh
Izzy O Bolognia
Mujtaba J Nicka
Kadeem K Stockham
Aika C Caudy
Aruna U Saylors
Julie O Nicka
Adams B Figeroa
Deepesh M Wieser
Jones W Inouye
Julie D Caldarera
Misaki R Stenseth
Jennifer N Iturbide
Claire J Inouye
Salvatore F Kusko
Deepesh I Gillian
Nicolas K Saylors
Octavia S Maclead
Aditya T Malet
Jefferson N Stockham
Emily P Ostrosky
Claire T Poquette
Aika M Slusarski
Antonio U Doe
Johnson L Glick
Aditya W Campain
Smith Q Tollner
Isabel C Albares
IdCountryDate
1000Germany2024-05-03
1001Italy2024-05-26
1002Italy2024-05-21
1003Brazil2024-05-21
1004France2024-05-18
1005Japan2024-05-18
1006Spain2024-05-16
1007India2024-05-18
1008Japan2024-05-20
1009Australia2024-05-20
1010India2024-05-24
1011France2024-05-20
1012France2024-05-13
1013Spain2024-05-13
1014Japan2024-05-01
1015France2024-05-27
1016Spain2024-05-16
1017Canada2024-05-13
1018India2024-05-24
1019Italy2024-05-13
1020Australia2024-05-03
1021Australia2024-05-07
1022United Kingdom2024-05-15
1023India2024-05-20
1024Italy2024-05-14
1025Spain2024-05-12
1026Australia2024-05-17
1027Japan2024-05-14
1028Australia2024-05-12
1029United Kingdom2024-05-15
1030Brazil2024-05-20
1031United Kingdom2024-05-25
1032Argentina2024-05-15
1033India2024-04-30
1034Brazil2024-05-17
1035Russia2024-05-23
1036France2024-05-04
1037Germany2024-05-06
1038Argentina2024-05-02
1039Japan2024-05-11
1040France2024-05-27
1041United Kingdom2024-05-22
1042Germany2024-05-19
1043Canada2024-05-04
1044Argentina2024-05-27
1045Australia2024-05-22
1046Italy2024-05-28
1047Brazil2024-05-27
1048Japan2024-05-24
1049France2024-05-29

On-Demand Data

NameIdCountryDate
Alejandro F Darakjy1000Germany2024-05-20
Emily V Bowley1001Canada2024-05-26
Maisha S Kolmetz1002France2024-05-14
Smith I Schemmer1003India2024-04-30
Salvatore N Rim1004United Kingdom2024-04-30
Emily E Venere1005Australia2024-05-08
Silvio A Morasca1006Argentina2024-05-27
Jones N Caldarera1007Brazil2024-05-02
Johnson R Garufi1008Russia2024-05-24
Alejandro H Bolognia1009United Kingdom2024-05-26
Deepesh A Malet1010Australia2024-05-21
Munro W Malet1011United Kingdom2024-05-21
Alejandro B Kolmetz1012Canada2024-05-16
Johnson H Bolognia1013United Kingdom2024-05-14
Ricardo S Sergi1014Canada2024-05-05
Faith F Ruta1015Brazil2024-05-27
Jefferson P Morasca1016France2024-05-17
Sinclair D Royster1017Japan2024-05-20
Leon M Whobrey1018France2024-05-10
Claire B Tollner1019Russia2024-05-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha R VenereBrazilStephen Shaw RENEWAL
Stacey Q MarrierSpainElwin Sharvill NEGOTIATION
Izzy H FigeroaItalyAmy Elsner PROPOSAL
Ashley B OldroydFranceIvan Magalhaes RENEWAL
Arvin Y DarakjyAustraliaXuxue Feng RENEWAL
Ashley U GarufiArgentinaBernardo Dominic UNQUALIFIED
Misaki S RoysterUnited KingdomXuxue Feng PROPOSAL
Kaitlin U ChuiRussiaStephen Shaw NEGOTIATION
Claire X ChuiJapanElwin Sharvill QUALIFIED
Wickens D MacleadAustraliaBernardo Dominic RENEWAL
Salvatore M WaycottJapanOnyama Limba RENEWAL
Ricardo Z ShinkoUnited KingdomAmy Elsner QUALIFIED
Isabel A DilliardJapanAmy Elsner UNQUALIFIED
Murillo C DoeUnited KingdomXuxue Feng NEGOTIATION
Antonio K WaycottItalyIoni Bowcher UNQUALIFIED
Juan C RimBrazilAmy Elsner RENEWAL
Adams J KolmetzSpainBernardo Dominic QUALIFIED
Aika E RimIndiaIvan Magalhaes UNQUALIFIED
Wickens T MarrierUnited KingdomBernardo Dominic QUALIFIED
Emily I CampainFranceAmy Elsner QUALIFIED
Jeanfrancois B GlickFranceIvan Magalhaes RENEWAL
Clifford A NickaAustraliaIoni Bowcher QUALIFIED
Juan P StensethGermanyOnyama Limba NEW
Cody C IturbideItalyIvan Magalhaes RENEWAL
Ivar Z NestleGermanyAsiya Javayant RENEWAL
Johnson K CaudyBrazilAnna Fali QUALIFIED
Claire W DarakjyBrazilOnyama Limba QUALIFIED
Julie B MaletArgentinaXuxue Feng NEW
Jones U VenereItalyBernardo Dominic QUALIFIED
Jefferson G MaletSpainElwin Sharvill RENEWAL
Jefferson Q FerenczAustraliaXuxue Feng UNQUALIFIED
Chavez B FerenczGermanyAsiya Javayant UNQUALIFIED
Murillo W ShinkoAustraliaAnna Fali PROPOSAL
Juan D NickaAustraliaStephen Shaw NEGOTIATION
Leon M InouyeJapanIvan Magalhaes NEGOTIATION
Aruna D TollnerRussiaIoni Bowcher QUALIFIED
Deepesh N RimIndiaElwin Sharvill PROPOSAL
Aika A BriddickItalyIoni Bowcher UNQUALIFIED
Maisha W SchemmerBrazilIoni Bowcher QUALIFIED
Silvio W WhobreyUnited KingdomAnna Fali 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>