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 OstroskyUnited KingdomAmy Elsner RENEWAL
Maisha H SaylorsAustraliaIvan Magalhaes NEW
Maria T NestleUnited KingdomStephen Shaw PROPOSAL
Cody R ChuiArgentinaXuxue Feng RENEWAL
Antonio B DilliardArgentinaAmy Elsner RENEWAL
Stacey B AlbaresGermanyOnyama Limba NEW
Morrow Y GlickIndiaBernardo Dominic NEW
Tony F PerinRussiaIvan Magalhaes PROPOSAL
Antonio Z MorascaJapanXuxue Feng NEW
Faith U AmigonJapanIoni Bowcher QUALIFIED
Deepesh W PaprockiGermanyAnna Fali NEGOTIATION
Aika P RimGermanyBernardo Dominic NEGOTIATION
Murillo I CaldareraArgentinaStephen Shaw RENEWAL
Aika X FigeroaFranceIvan Magalhaes UNQUALIFIED
Munro K KuskoJapanStephen Shaw NEGOTIATION
Jennifer R FlosiSpainAmy Elsner UNQUALIFIED
Mujtaba R FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Murillo C DoeRussiaStephen Shaw NEGOTIATION
Costa Y VenereAustraliaOnyama Limba NEGOTIATION
Kaitlin J TollnerAustraliaBernardo Dominic QUALIFIED
Emily K DarakjyUnited KingdomStephen Shaw QUALIFIED
Jefferson O OstroskyUnited KingdomIvan Magalhaes UNQUALIFIED
Maria F DarakjyIndiaOnyama Limba RENEWAL
Rodrigues U OldroydBrazilElwin Sharvill NEW
Claire A AlbaresRussiaAnna Fali PROPOSAL
Clifford H VenereSpainXuxue Feng NEW
Deepesh O StensethIndiaIoni Bowcher NEGOTIATION
Cody J GillianRussiaXuxue Feng UNQUALIFIED
Ivar O PoquetteBrazilIvan Magalhaes NEGOTIATION
Aika C ButtSpainIoni Bowcher UNQUALIFIED
Adams C GauchoIndiaAnna Fali UNQUALIFIED
Greenwood G RoysterItalyOnyama Limba QUALIFIED
Cody Z MaletSpainAmy Elsner QUALIFIED
Jefferson P KuskoUnited KingdomAmy Elsner NEW
Deepesh X KuskoCanadaOnyama Limba QUALIFIED
Smith K WaycottSpainAmy Elsner NEGOTIATION
Jeanfrancois M SergiSpainBernardo Dominic QUALIFIED
Arvin Q GauchoJapanElwin Sharvill PROPOSAL
Jeanfrancois Y AlbaresIndiaXuxue Feng NEW
Greenwood F BowleyRussiaBernardo Dominic NEW
Mujtaba F GarufiFranceIoni Bowcher NEGOTIATION
Aika A RutaItalyElwin Sharvill UNQUALIFIED
Darci Y DoeBrazilElwin Sharvill PROPOSAL
Clifford L PoquetteFranceIvan Magalhaes QUALIFIED
Aika J StockhamGermanyStephen Shaw PROPOSAL
Aditya B GauchoGermanyXuxue Feng RENEWAL
Aika Z RimArgentinaElwin Sharvill NEW
Izzy D RulapaughGermanyStephen Shaw UNQUALIFIED
Antonio E NickaCanadaIvan Magalhaes NEGOTIATION
Greenwood Q GarufiUnited KingdomAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aika I ButtAustraliaAnna Fali RENEWAL
Deepesh I StockhamBrazilIvan Magalhaes QUALIFIED
Leja I AmigonCanadaBernardo Dominic UNQUALIFIED
Izzy Q TollnerCanadaAsiya Javayant PROPOSAL
Izzy C BologniaRussiaXuxue Feng PROPOSAL
Wickens I CaldareraJapanStephen Shaw UNQUALIFIED
Jennifer E DilliardItalyXuxue Feng QUALIFIED
Silvio W GauchoItalyAnna Fali NEW
Chavez P WaycottRussiaOnyama Limba UNQUALIFIED
Jefferson O DoeUnited KingdomOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin Z BriddickItaly2025-04-16Buckley Miller Wright QUALIFIED40Amy Elsner
1001Francesco B GauchoJapan2025-04-18Commercial Press NEW32Onyama Limba
1002Clifford Q FlosiAustralia2025-04-29Buckley Miller Wright NEW92Bernardo Dominic
1003Arvin N OstroskyAustralia2025-04-03Dorl, James J Esq PROPOSAL7Amy Elsner
1004Rodrigues J AlbaresBrazil2025-04-23Morlong Associates NEW93Ioni Bowcher
1005Morrow U DarakjyGermany2025-04-15Chanay, Jeffrey A Esq NEGOTIATION86Stephen Shaw
1006Munro Q SchemmerJapan2025-04-10Printing Dimensions NEGOTIATION36Xuxue Feng
1007Jefferson I PerinUnited Kingdom2025-04-21Truhlar And Truhlar Attys NEW87Anna Fali
1008Kaitlin M SlusarskiJapan2025-04-22Printing Dimensions UNQUALIFIED72Stephen Shaw
1009Chavez Z FlosiSpain2025-04-08Benton, John B Jr NEGOTIATION5Asiya Javayant
1010Mujtaba P FlosiGermany2025-04-24Chapman, Ross E Esq NEGOTIATION85Stephen Shaw
1011Leja Q BologniaGermany2025-04-18Benton, John B Jr PROPOSAL24Elwin Sharvill
1012Maria X NickaAustralia2025-04-16Feltz Printing Service NEW72Bernardo Dominic
1013Smith C DilliardAustralia2025-04-20Feiner Bros NEGOTIATION85Elwin Sharvill
1014Morrow Z CaudyItaly2025-04-25Feiner Bros NEW9Ioni Bowcher
1015Johnson V ShinkoCanada2025-04-18Morlong Associates RENEWAL8Ioni Bowcher
1016Misaki C SaylorsItaly2025-04-23Feltz Printing Service QUALIFIED2Asiya Javayant
1017Salvatore G FlosiBrazil2025-04-22Feltz Printing Service QUALIFIED96Onyama Limba
1018Greenwood S MaletGermany2025-04-01Feltz Printing Service NEW58Ivan Magalhaes
1019Kadeem X VenereRussia2025-04-10Printing Dimensions PROPOSAL43Asiya Javayant
1020Maisha U MaletUnited Kingdom2025-04-22Feltz Printing Service NEGOTIATION85Asiya Javayant
1021Alejandro S DilliardRussia2025-04-29Rangoni Of Florence UNQUALIFIED51Asiya Javayant
1022Chavez A WhobreyRussia2025-04-08Dorl, James J Esq RENEWAL92Elwin Sharvill
1023Munro P RoysterSpain2025-04-08Truhlar And Truhlar Attys QUALIFIED39Onyama Limba
1024Silvio Y NestleAustralia2025-04-10Chemel, James L Cpa QUALIFIED41Ivan Magalhaes
1025Kadeem Q RulapaughFrance2025-04-29Benton, John B Jr NEW22Ivan Magalhaes
1026Leon K OstroskyAustralia2025-04-27Morlong Associates UNQUALIFIED9Stephen Shaw
1027Murillo N WaycottUnited Kingdom2025-04-28Buckley Miller Wright NEGOTIATION36Amy Elsner
1028Silvio A OstroskyFrance2025-04-25King, Christopher A Esq NEW88Bernardo Dominic
1029Emily V BologniaFrance2025-04-06Buckley Miller Wright RENEWAL5Ivan Magalhaes
1030Alejandro Y BologniaRussia2025-04-29Morlong Associates NEGOTIATION63Xuxue Feng
1031Aika B PerinJapan2025-04-23Benton, John B Jr QUALIFIED73Elwin Sharvill
1032Faith G GarufiSpain2025-04-08Morlong Associates UNQUALIFIED95Onyama Limba
1033Clifford V MaletBrazil2025-04-14Buckley Miller Wright RENEWAL71Xuxue Feng
1034Mayumi P SergiSpain2025-04-02Buckley Miller Wright PROPOSAL33Anna Fali
1035Wickens U WaycottJapan2025-04-02Rousseaux, Michael Esq NEW98Xuxue Feng
1036Deepesh S WaycottItaly2025-04-09Commercial Press NEGOTIATION53Ioni Bowcher
1037Ivar T StockhamFrance2025-04-06Rousseaux, Michael Esq NEW53Ioni Bowcher
1038Jeanfrancois C SlusarskiJapan2025-04-07Morlong Associates NEW61Anna Fali
1039Leon F ButtJapan2025-04-30Truhlar And Truhlar Attys PROPOSAL18Anna Fali
1040Kadeem G SchemmerRussia2025-04-29Printing Dimensions NEW13Amy Elsner
1041Jefferson H CaldareraGermany2025-04-26Buckley Miller Wright NEW32Stephen Shaw
1042Ivar G FerenczItaly2025-04-22Feiner Bros RENEWAL63Amy Elsner
1043Francesco N SchemmerIndia2025-04-28Chapman, Ross E Esq NEGOTIATION76Xuxue Feng
1044Kaitlin A VocelkaAustralia2025-04-15Truhlar And Truhlar Attys UNQUALIFIED46Bernardo Dominic
1045Jefferson V FlosiBrazil2025-04-19Feiner Bros PROPOSAL92Elwin Sharvill
1046Rodrigues X NestleBrazil2025-04-02Feltz Printing Service QUALIFIED20Ioni Bowcher
1047Tony G CampainRussia2025-04-25Benton, John B Jr QUALIFIED32Elwin Sharvill
1048Ivar P SchemmerJapan2025-04-01Chemel, James L Cpa UNQUALIFIED68Stephen Shaw
1049Izzy L NickaBrazil2025-04-07Chapman, Ross E Esq PROPOSAL7Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Claire L SlusarskiArgentinaBernardo Dominic RENEWAL
Claire G OldroydJapanAmy Elsner RENEWAL
Stacey T ShinkoArgentinaBernardo Dominic UNQUALIFIED
Cody G WaycottCanadaAnna Fali QUALIFIED
Clifford U DoeFranceIvan Magalhaes PROPOSAL
Cody R FlosiGermanyAnna Fali UNQUALIFIED
Murillo A StockhamItalyStephen Shaw UNQUALIFIED
Kadeem P SergiBrazilIvan Magalhaes PROPOSAL
Jefferson D FerenczBrazilAmy Elsner RENEWAL
Clifford Z BologniaGermanyIvan Magalhaes NEW
Mujtaba O RulapaughSpainElwin Sharvill NEGOTIATION
Arvin B VenereRussiaAnna Fali PROPOSAL
Arvin S WaycottBrazilIoni Bowcher UNQUALIFIED
Silvio L WhobreyAustraliaStephen Shaw RENEWAL
Ashley C RulapaughJapanIoni Bowcher PROPOSAL
Arvin I WieserItalyAnna Fali NEGOTIATION
Cody Y FollerSpainStephen Shaw QUALIFIED
Clifford W CampainBrazilAnna Fali PROPOSAL
Faith F FollerGermanyBernardo Dominic NEGOTIATION
Munro E ButtGermanyAmy Elsner NEGOTIATION
Aditya U VenereCanadaIvan Magalhaes QUALIFIED
Chavez B PerinJapanXuxue Feng NEGOTIATION
Adams U FigeroaArgentinaIvan Magalhaes RENEWAL
Aika H MaletAustraliaIvan Magalhaes RENEWAL
Maisha S IturbideBrazilStephen Shaw RENEWAL
Cody Q BologniaRussiaXuxue Feng PROPOSAL
Aika P RimIndiaAnna Fali RENEWAL
Smith Y WaycottRussiaIvan Magalhaes RENEWAL
Munro O PerinIndiaIvan Magalhaes RENEWAL
Aika B SaylorsCanadaAmy Elsner PROPOSAL
James V WhobreySpainAsiya Javayant NEW
Izzy D FollerArgentinaStephen Shaw QUALIFIED
Rodrigues L BriddickJapanElwin Sharvill NEGOTIATION
David J DarakjyAustraliaAsiya Javayant PROPOSAL
Aditya F FollerSpainAmy Elsner NEGOTIATION
Clifford K MaletIndiaOnyama Limba QUALIFIED
David D ChuiGermanyIoni Bowcher QUALIFIED
Julie W OldroydFranceIvan Magalhaes UNQUALIFIED
Adams N GlickIndiaStephen Shaw RENEWAL
Chavez C RoysterGermanyIoni Bowcher QUALIFIED
Darci R GillianBrazilAmy Elsner UNQUALIFIED
Izzy R GauchoSpainIoni Bowcher PROPOSAL
Ashley M StensethSpainStephen Shaw NEW
Adams W VocelkaItalyAmy Elsner UNQUALIFIED
Isabel A BologniaIndiaStephen Shaw UNQUALIFIED
Claire N DilliardFranceAnna Fali NEGOTIATION
Darci T NickaSpainAmy Elsner UNQUALIFIED
Julie Y CampainRussiaIoni Bowcher PROPOSAL
Misaki W PoquetteGermanyXuxue Feng PROPOSAL
Maisha I CaudyFranceOnyama Limba QUALIFIED
Frozen Columns
Name
Alejandro Y Wieser
Maria E Ostrosky
Salvatore S Ostrosky
Silvio C Vocelka
Leon U Tollner
Darci R Malet
Sinclair M Gaucho
Misaki V Saylors
Ashley T Garufi
David B Nestle
Adams J Gillian
Kaitlin W Caudy
Morrow H Maclead
Aruna D Shinko
Izzy L Poquette
Salvatore R Malet
James V Waycott
Adams D Foller
Francesco N Schemmer
Salvatore S Rim
Nicolas D Garufi
Smith X Albares
Juan M Darakjy
Morrow P Ruta
Arvin D Kolmetz
Cody J Foller
Chavez X Kusko
Munro P Marrier
Isabel F Foller
Kaitlin X Malet
Julie L Rulapaugh
Morrow G Foller
Tony X Stenseth
Francesco U Royster
Wickens T Venere
Costa X Marrier
Morrow C Nestle
Isabel J Bolognia
Jefferson K Saylors
Tony C Inouye
Clifford I Rulapaugh
Aditya U Chui
Stacey U Ferencz
Maisha Y Garufi
Murillo F Iturbide
Isabel R Wieser
Chavez K Vocelka
Francesco W Shinko
Morrow K Stenseth
James F Sergi
IdCountryDate
1000Argentina2025-04-03
1001Germany2025-04-01
1002Italy2025-04-18
1003Brazil2025-04-29
1004France2025-04-25
1005Argentina2025-04-02
1006Spain2025-04-27
1007Australia2025-04-12
1008Canada2025-04-02
1009India2025-04-01
1010Germany2025-04-21
1011India2025-04-20
1012Germany2025-04-29
1013Brazil2025-04-04
1014France2025-04-04
1015Spain2025-04-02
1016Canada2025-04-09
1017Australia2025-04-27
1018Australia2025-04-13
1019Japan2025-04-03
1020Brazil2025-04-03
1021Australia2025-04-01
1022United Kingdom2025-04-28
1023Spain2025-04-17
1024Brazil2025-04-28
1025United Kingdom2025-04-12
1026Italy2025-04-09
1027Italy2025-04-10
1028Italy2025-04-29
1029Germany2025-04-22
1030Canada2025-04-27
1031Japan2025-04-30
1032Argentina2025-04-08
1033Australia2025-04-13
1034United Kingdom2025-04-02
1035Italy2025-04-12
1036Argentina2025-04-29
1037Germany2025-04-12
1038Italy2025-04-09
1039Spain2025-04-29
1040Brazil2025-04-23
1041Russia2025-04-27
1042Australia2025-04-16
1043Brazil2025-04-20
1044Italy2025-04-01
1045United Kingdom2025-04-07
1046Japan2025-04-26
1047Russia2025-04-05
1048Argentina2025-04-25
1049Spain2025-04-23

On-Demand Data

NameIdCountryDate
Izzy C Dilliard1000Spain2025-04-24
Kadeem R Dilliard1001Japan2025-04-03
Jefferson A Slusarski1002Spain2025-04-16
Rodrigues V Amigon1003Brazil2025-04-20
Misaki U Nestle1004Argentina2025-04-11
Emily H Bolognia1005Australia2025-04-20
Murillo K Saylors1006Russia2025-04-09
Silvio X Briddick1007Italy2025-04-13
Wickens Z Poquette1008Japan2025-04-22
Clifford V Bolognia1009Argentina2025-04-04
Darci Z Wieser1010France2025-04-25
Adams J Caudy1011Brazil2025-04-17
Ivar U Nestle1012Germany2025-04-25
Faith W Nestle1013Spain2025-04-13
Alejandro T Iturbide1014Spain2025-04-04
Rodrigues P Oldroyd1015Canada2025-04-07
Arvin C Morasca1016Germany2025-04-27
Aruna P Sergi1017Canada2025-04-26
Misaki L Bowley1018Germany2025-04-22
Leon C Briddick1019Germany2025-04-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer E PoquetteGermanyBernardo Dominic RENEWAL
Johnson F MarrierCanadaXuxue Feng RENEWAL
Ricardo N IturbideUnited KingdomStephen Shaw NEGOTIATION
Morrow V VenereBrazilAnna Fali NEGOTIATION
Leon J VocelkaUnited KingdomXuxue Feng RENEWAL
Costa U MorascaArgentinaAsiya Javayant QUALIFIED
Jeanfrancois W RutaGermanyBernardo Dominic UNQUALIFIED
Faith H StockhamSpainAnna Fali PROPOSAL
Aruna H SergiJapanStephen Shaw NEGOTIATION
Jefferson G BowleyCanadaIvan Magalhaes NEGOTIATION
Clifford L MaletGermanyAsiya Javayant PROPOSAL
Leon F PoquetteGermanyXuxue Feng QUALIFIED
Rodrigues V MarrierCanadaOnyama Limba NEW
Julie X FigeroaUnited KingdomIoni Bowcher NEW
Jones X MaletIndiaBernardo Dominic PROPOSAL
Jennifer X FerenczCanadaIvan Magalhaes NEW
James J SergiArgentinaIvan Magalhaes NEW
Arvin Q ShinkoUnited KingdomElwin Sharvill PROPOSAL
Morrow S GillianUnited KingdomAsiya Javayant NEW
Octavia F NickaItalyOnyama Limba QUALIFIED
Aditya K InouyeFranceXuxue Feng QUALIFIED
Tony U CaudyArgentinaElwin Sharvill QUALIFIED
Izzy O KuskoArgentinaAsiya Javayant PROPOSAL
Arvin M IturbideFranceElwin Sharvill UNQUALIFIED
Francesco S NestleIndiaIvan Magalhaes NEW
Deepesh H MacleadJapanAsiya Javayant NEW
Isabel R GarufiCanadaIoni Bowcher RENEWAL
Morrow U ButtAustraliaOnyama Limba NEW
Aruna H MarrierUnited KingdomAnna Fali NEW
Jeanfrancois N VenereArgentinaStephen Shaw NEGOTIATION
Juan I InouyeItalyOnyama Limba UNQUALIFIED
Stacey W DoeAustraliaIvan Magalhaes PROPOSAL
Isabel Z FollerIndiaStephen Shaw NEGOTIATION
Costa T DilliardRussiaIvan Magalhaes QUALIFIED
Adams F StensethUnited KingdomAmy Elsner NEGOTIATION
Kaitlin O DilliardGermanyElwin Sharvill NEW
Sinclair Q FollerGermanyIoni Bowcher NEGOTIATION
Stacey H ButtFranceIoni Bowcher PROPOSAL
Octavia D DilliardArgentinaOnyama Limba PROPOSAL
Rodrigues X MacleadCanadaElwin 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>