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
Mayumi I KuskoCanadaStephen Shaw RENEWAL
Greenwood L FlosiSpainAmy Elsner NEGOTIATION
Morrow W FerenczUnited KingdomAnna Fali UNQUALIFIED
Stacey S KuskoIndiaIoni Bowcher NEGOTIATION
Clifford R NestleGermanyIvan Magalhaes NEW
Aditya W InouyeJapanAsiya Javayant UNQUALIFIED
Alejandro J BologniaArgentinaXuxue Feng QUALIFIED
Deepesh K FigeroaJapanStephen Shaw PROPOSAL
Sinclair C IturbideItalyAnna Fali RENEWAL
Johnson Q ShinkoGermanyXuxue Feng PROPOSAL
Costa D ShinkoBrazilAnna Fali QUALIFIED
Claire C StockhamFranceXuxue Feng RENEWAL
Smith V AmigonAustraliaIvan Magalhaes NEW
Kadeem R FigeroaRussiaAsiya Javayant PROPOSAL
Cody A PoquetteFranceBernardo Dominic UNQUALIFIED
Munro Z PaprockiFranceElwin Sharvill RENEWAL
Aditya E RulapaughSpainStephen Shaw PROPOSAL
Johnson C CaldareraIndiaStephen Shaw RENEWAL
Sinclair W CaudyBrazilBernardo Dominic PROPOSAL
Munro B GarufiUnited KingdomBernardo Dominic NEGOTIATION
Costa N MorascaJapanAmy Elsner PROPOSAL
Antonio I MaletArgentinaBernardo Dominic UNQUALIFIED
Izzy H RutaIndiaAnna Fali UNQUALIFIED
Smith L CaldareraIndiaAmy Elsner QUALIFIED
Alejandro J ShinkoFranceStephen Shaw RENEWAL
Cody W MorascaSpainXuxue Feng RENEWAL
Kaitlin Z KolmetzUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey N RimArgentinaAmy Elsner NEGOTIATION
Maisha N MarrierIndiaStephen Shaw QUALIFIED
Faith O OldroydGermanyAmy Elsner NEGOTIATION
Silvio K SlusarskiBrazilOnyama Limba QUALIFIED
Costa D MaletFranceElwin Sharvill NEW
Jeanfrancois C ShinkoIndiaAsiya Javayant PROPOSAL
Greenwood P RimRussiaOnyama Limba UNQUALIFIED
Jones E DoeIndiaIoni Bowcher NEW
Sinclair Y ChuiSpainXuxue Feng PROPOSAL
Leja A MaletAustraliaElwin Sharvill UNQUALIFIED
Tony B NestleIndiaElwin Sharvill NEGOTIATION
Salvatore O BologniaSpainElwin Sharvill NEGOTIATION
Juan U PerinGermanyOnyama Limba QUALIFIED
Costa Q CaldareraItalyAsiya Javayant NEW
James Q DilliardItalyIoni Bowcher PROPOSAL
Ashley R WhobreyCanadaOnyama Limba RENEWAL
Julie V PaprockiRussiaAnna Fali NEGOTIATION
Ricardo E ShinkoCanadaAsiya Javayant NEW
Murillo B SergiGermanyIvan Magalhaes PROPOSAL
David J BriddickAustraliaOnyama Limba PROPOSAL
Aditya L SaylorsGermanyBernardo Dominic QUALIFIED
Chavez S MorascaSpainIvan Magalhaes PROPOSAL
Leon V SergiCanadaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maisha X AlbaresJapanIvan Magalhaes NEW
Darci N InouyeRussiaAsiya Javayant RENEWAL
Octavia P AmigonRussiaAnna Fali NEW
Jones N DilliardAustraliaXuxue Feng UNQUALIFIED
Misaki M MacleadIndiaAnna Fali RENEWAL
Mujtaba B SergiItalyOnyama Limba RENEWAL
Misaki J VenereGermanyOnyama Limba PROPOSAL
Isabel N RulapaughArgentinaElwin Sharvill PROPOSAL
Johnson G ChuiGermanyAsiya Javayant PROPOSAL
Emily C PoquetteJapanAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya J TollnerSpain2025-04-04Rousseaux, Michael Esq UNQUALIFIED53Ioni Bowcher
1001Tony P WieserRussia2025-04-17Feiner Bros QUALIFIED81Amy Elsner
1002Greenwood K KolmetzRussia2025-04-16King, Christopher A Esq QUALIFIED74Elwin Sharvill
1003Aruna J CaldareraArgentina2025-04-06Truhlar And Truhlar Attys NEGOTIATION44Ivan Magalhaes
1004Morrow G MaletArgentina2025-04-21King, Christopher A Esq PROPOSAL26Asiya Javayant
1005Chavez R NestleGermany2025-04-02Feiner Bros NEGOTIATION42Ivan Magalhaes
1006Isabel E OstroskyItaly2025-04-22Rousseaux, Michael Esq RENEWAL31Onyama Limba
1007Smith Y WieserRussia2025-04-17Printing Dimensions UNQUALIFIED98Asiya Javayant
1008Claire A SchemmerIndia2025-04-13Morlong Associates NEGOTIATION93Ivan Magalhaes
1009Chavez E AlbaresJapan2025-04-21Dorl, James J Esq RENEWAL50Xuxue Feng
1010Jennifer F FerenczFrance2025-04-14Chemel, James L Cpa NEW47Ivan Magalhaes
1011Misaki I SaylorsFrance2025-04-10Benton, John B Jr NEW38Asiya Javayant
1012Francesco O AmigonItaly2025-04-13Printing Dimensions UNQUALIFIED35Amy Elsner
1013Morrow E SergiRussia2025-04-03Morlong Associates NEGOTIATION1Onyama Limba
1014Adams D FlosiUnited Kingdom2025-04-24Buckley Miller Wright NEW59Asiya Javayant
1015Kadeem O StockhamJapan2025-04-01Chemel, James L Cpa PROPOSAL83Ivan Magalhaes
1016Alejandro X DarakjyJapan2025-04-05Rangoni Of Florence UNQUALIFIED60Amy Elsner
1017Tony Y DilliardCanada2025-04-16Commercial Press NEW51Stephen Shaw
1018Stacey L DoeCanada2025-04-27King, Christopher A Esq QUALIFIED24Amy Elsner
1019Darci E VocelkaSpain2025-04-10Rousseaux, Michael Esq RENEWAL12Elwin Sharvill
1020Alejandro U MorascaJapan2025-04-05Rousseaux, Michael Esq QUALIFIED81Anna Fali
1021Rodrigues G SaylorsCanada2025-04-08Commercial Press NEW73Ivan Magalhaes
1022Octavia F IturbideFrance2025-04-20Rousseaux, Michael Esq PROPOSAL57Asiya Javayant
1023Tony P MaletJapan2025-04-27Feiner Bros QUALIFIED95Asiya Javayant
1024Francesco T CaldareraBrazil2025-04-09Chanay, Jeffrey A Esq PROPOSAL35Ivan Magalhaes
1025Jennifer E CaldareraRussia2025-04-06King, Christopher A Esq RENEWAL68Ivan Magalhaes
1026James Z CaldareraCanada2025-04-26King, Christopher A Esq RENEWAL20Ioni Bowcher
1027Ashley E OstroskyGermany2025-04-28Chanay, Jeffrey A Esq PROPOSAL36Xuxue Feng
1028Cody E MaletArgentina2025-04-14Chapman, Ross E Esq UNQUALIFIED68Xuxue Feng
1029Leon S IturbideArgentina2025-04-23Rousseaux, Michael Esq QUALIFIED13Bernardo Dominic
1030Leon Q SchemmerItaly2025-04-30Feiner Bros UNQUALIFIED95Asiya Javayant
1031Julie J WieserAustralia2025-04-02Buckley Miller Wright RENEWAL93Anna Fali
1032Antonio L StockhamItaly2025-04-17Chanay, Jeffrey A Esq NEGOTIATION78Anna Fali
1033Silvio D GillianRussia2025-04-28Truhlar And Truhlar Attys UNQUALIFIED74Stephen Shaw
1034Salvatore T CaldareraFrance2025-04-22Printing Dimensions NEW53Asiya Javayant
1035Chavez V PaprockiIndia2025-04-13Feiner Bros NEGOTIATION86Stephen Shaw
1036Kaitlin M PaprockiGermany2025-04-03Commercial Press UNQUALIFIED50Elwin Sharvill
1037Claire U SergiRussia2025-04-14Dorl, James J Esq NEW64Stephen Shaw
1038Aditya J FigeroaCanada2025-04-12Printing Dimensions PROPOSAL26Onyama Limba
1039Silvio D AlbaresSpain2025-04-10King, Christopher A Esq UNQUALIFIED54Xuxue Feng
1040Ricardo P ShinkoAustralia2025-04-16Feltz Printing Service PROPOSAL69Ivan Magalhaes
1041Julie H AmigonJapan2025-04-11Truhlar And Truhlar Attys UNQUALIFIED5Stephen Shaw
1042Jennifer B WhobreyBrazil2025-04-04Morlong Associates QUALIFIED24Asiya Javayant
1043Octavia O SergiRussia2025-04-24Truhlar And Truhlar Attys PROPOSAL52Elwin Sharvill
1044Maisha L NickaBrazil2025-04-07Chapman, Ross E Esq NEGOTIATION71Elwin Sharvill
1045Deepesh Z BriddickCanada2025-04-16Rangoni Of Florence RENEWAL83Elwin Sharvill
1046Clifford M MaletSpain2025-04-28King, Christopher A Esq NEGOTIATION76Anna Fali
1047Silvio K DoeArgentina2025-04-02Commercial Press QUALIFIED15Ioni Bowcher
1048Octavia P ButtGermany2025-04-03Morlong Associates PROPOSAL76Stephen Shaw
1049Leja O DarakjyRussia2025-04-23Rousseaux, Michael Esq NEW89Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Misaki I RutaArgentinaAnna Fali NEGOTIATION
Emily L OstroskyUnited KingdomXuxue Feng UNQUALIFIED
Stacey Y BologniaSpainXuxue Feng PROPOSAL
Octavia P RulapaughSpainIvan Magalhaes QUALIFIED
Jefferson C GauchoFranceElwin Sharvill RENEWAL
Maisha I PerinCanadaXuxue Feng NEGOTIATION
Ricardo J SergiFranceElwin Sharvill NEW
Mujtaba B ButtCanadaXuxue Feng UNQUALIFIED
Isabel R DilliardSpainElwin Sharvill PROPOSAL
Ricardo F DarakjyUnited KingdomXuxue Feng QUALIFIED
Alejandro D WhobreyArgentinaAsiya Javayant RENEWAL
Mayumi L RimItalyBernardo Dominic NEGOTIATION
Francesco Z MarrierIndiaIoni Bowcher NEW
Deepesh J MacleadCanadaAnna Fali UNQUALIFIED
Johnson B GauchoRussiaXuxue Feng NEW
Izzy A NestleGermanyAsiya Javayant RENEWAL
Maria Z GillianRussiaBernardo Dominic NEGOTIATION
Francesco P CampainJapanStephen Shaw UNQUALIFIED
Greenwood Z RoysterGermanyAnna Fali PROPOSAL
Costa J SergiAustraliaXuxue Feng NEGOTIATION
Smith Q ChuiRussiaElwin Sharvill NEW
Chavez R ShinkoGermanyIvan Magalhaes NEW
Wickens Q SaylorsCanadaOnyama Limba NEGOTIATION
Faith P CaudyRussiaXuxue Feng NEW
Wickens A MorascaRussiaAsiya Javayant PROPOSAL
Darci X MorascaAustraliaAnna Fali UNQUALIFIED
Silvio W MaletBrazilXuxue Feng PROPOSAL
Munro B WhobreyFranceStephen Shaw NEGOTIATION
Jennifer L GarufiGermanyXuxue Feng QUALIFIED
Deepesh K FerenczUnited KingdomXuxue Feng UNQUALIFIED
Ivar U GlickJapanStephen Shaw QUALIFIED
Faith A StensethItalyIoni Bowcher QUALIFIED
Kaitlin H MacleadFranceIvan Magalhaes QUALIFIED
Emily Y CampainGermanyIoni Bowcher PROPOSAL
Jeanfrancois Q MacleadAustraliaStephen Shaw NEW
David B KuskoFranceStephen Shaw PROPOSAL
Cody H InouyeSpainAsiya Javayant NEGOTIATION
James X NickaRussiaAnna Fali NEGOTIATION
Darci N WhobreyItalyIvan Magalhaes NEGOTIATION
Morrow U GlickRussiaIoni Bowcher QUALIFIED
Leja S GauchoJapanXuxue Feng NEW
Cody K CaudyRussiaBernardo Dominic NEW
Faith A FlosiFranceOnyama Limba QUALIFIED
Smith R BriddickAustraliaOnyama Limba NEGOTIATION
Maisha I RoysterAustraliaOnyama Limba QUALIFIED
Murillo R WaycottJapanElwin Sharvill RENEWAL
Silvio H SergiItalyBernardo Dominic PROPOSAL
Ivar M BologniaFranceAsiya Javayant NEGOTIATION
Leja W CampainFranceStephen Shaw QUALIFIED
Jennifer S VenereItalyIoni Bowcher NEGOTIATION
Frozen Columns
Name
Juan E Inouye
Emily H Kolmetz
Ricardo B Flosi
Juan B Oldroyd
Stacey R Nicka
Jefferson T Vocelka
James I Royster
Emily M Saylors
Darci T Shinko
Kadeem I Royster
Deepesh B Glick
Kaitlin J Kolmetz
Jennifer A Garufi
Octavia P Doe
Smith B Schemmer
David W Kusko
Juan S Bowley
Leon R Venere
Darci K Albares
Salvatore V Wieser
Mayumi I Malet
Stacey V Poquette
Chavez Y Wieser
James X Wieser
Maisha H Ruta
Murillo L Malet
Emily V Glick
Munro B Chui
Silvio K Morasca
Costa D Wieser
Jefferson S Chui
Leja L Dilliard
Kadeem W Oldroyd
Kaitlin O Dilliard
Mayumi C Caldarera
Munro W Doe
Julie E Foller
Maisha N Marrier
Mujtaba A Whobrey
Jennifer U Kolmetz
Julie K Malet
Leja P Darakjy
David R Figeroa
Murillo T Briddick
Antonio E Gaucho
Mayumi P Maclead
Smith A Shinko
James R Marrier
Izzy F Nestle
Isabel Q Iturbide
IdCountryDate
1000Germany2025-04-14
1001Italy2025-04-14
1002Spain2025-04-21
1003Australia2025-04-23
1004India2025-04-14
1005United Kingdom2025-04-30
1006Australia2025-04-27
1007India2025-04-20
1008Australia2025-04-21
1009Russia2025-04-23
1010Brazil2025-04-16
1011Russia2025-04-24
1012Argentina2025-04-09
1013Australia2025-04-06
1014Canada2025-04-29
1015Brazil2025-04-16
1016India2025-04-30
1017Australia2025-04-22
1018United Kingdom2025-04-21
1019India2025-04-05
1020Argentina2025-04-26
1021Spain2025-04-26
1022France2025-04-26
1023Argentina2025-04-04
1024Germany2025-04-11
1025Australia2025-04-30
1026France2025-04-25
1027Brazil2025-04-06
1028Canada2025-04-30
1029Canada2025-04-20
1030Spain2025-04-26
1031India2025-04-03
1032United Kingdom2025-04-16
1033Germany2025-04-05
1034Australia2025-04-05
1035United Kingdom2025-04-05
1036France2025-04-28
1037Argentina2025-04-01
1038Japan2025-04-30
1039Canada2025-04-15
1040Australia2025-04-21
1041Brazil2025-04-06
1042United Kingdom2025-04-06
1043Canada2025-04-21
1044Brazil2025-04-10
1045France2025-04-29
1046Canada2025-04-14
1047Japan2025-04-20
1048Argentina2025-04-18
1049Italy2025-04-23

On-Demand Data

NameIdCountryDate
Alejandro O Royster1000Russia2025-04-03
Izzy N Foller1001India2025-04-26
Claire E Morasca1002Brazil2025-04-16
Mayumi E Kusko1003Canada2025-04-23
Antonio T Poquette1004Argentina2025-04-24
Stacey J Amigon1005India2025-04-28
Greenwood X Ruta1006United Kingdom2025-04-10
Jefferson K Waycott1007Russia2025-04-14
Ashley Y Butt1008Argentina2025-04-05
Ivar Z Ferencz1009United Kingdom2025-04-02
Kaitlin W Saylors1010United Kingdom2025-04-30
Mayumi Z Oldroyd1011Spain2025-04-02
Aditya N Caudy1012India2025-04-26
Cody T Ruta1013Australia2025-04-29
Clifford G Wieser1014Russia2025-04-20
Sinclair H Venere1015Japan2025-04-01
Francesco N Perin1016Brazil2025-04-07
Johnson F Sergi1017Italy2025-04-12
Rodrigues U Iturbide1018Germany2025-04-07
Jennifer J Campain1019Argentina2025-04-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki L DoeGermanyIoni Bowcher QUALIFIED
Johnson O GillianGermanyElwin Sharvill UNQUALIFIED
Sinclair V InouyeJapanAmy Elsner QUALIFIED
Munro B InouyeUnited KingdomBernardo Dominic QUALIFIED
Wickens B RutaUnited KingdomAsiya Javayant NEGOTIATION
Cody O GauchoAustraliaStephen Shaw QUALIFIED
Izzy Q MaletItalyElwin Sharvill PROPOSAL
Chavez F InouyeBrazilBernardo Dominic PROPOSAL
Costa I NestleJapanStephen Shaw NEW
Claire E AmigonArgentinaStephen Shaw NEGOTIATION
Nicolas J SlusarskiCanadaBernardo Dominic NEW
Sinclair Y CaudyArgentinaAsiya Javayant UNQUALIFIED
Ricardo J MaletItalyOnyama Limba QUALIFIED
Juan Z GauchoItalyBernardo Dominic QUALIFIED
Greenwood S OldroydFranceOnyama Limba QUALIFIED
Leon P GillianCanadaXuxue Feng UNQUALIFIED
Julie Q BowleyArgentinaAmy Elsner PROPOSAL
Julie T FollerAustraliaAnna Fali QUALIFIED
Adams N CaudyCanadaAsiya Javayant NEGOTIATION
Costa B PaprockiGermanyStephen Shaw RENEWAL
David S PerinItalyAsiya Javayant NEW
Darci F VenereRussiaIoni Bowcher RENEWAL
Nicolas E GarufiJapanElwin Sharvill QUALIFIED
Misaki M VenereSpainStephen Shaw PROPOSAL
Antonio U MarrierCanadaAmy Elsner QUALIFIED
Mayumi F CampainFranceIoni Bowcher PROPOSAL
Mujtaba H FigeroaArgentinaAmy Elsner UNQUALIFIED
Clifford P BowleyArgentinaAsiya Javayant NEW
Tony G GillianRussiaIvan Magalhaes RENEWAL
Aruna X ButtFranceIoni Bowcher QUALIFIED
James G MaletBrazilIvan Magalhaes QUALIFIED
Nicolas L MacleadSpainOnyama Limba NEGOTIATION
Misaki Q MarrierItalyAsiya Javayant NEGOTIATION
Costa B MorascaItalyIoni Bowcher PROPOSAL
Kadeem U SergiFranceAnna Fali NEGOTIATION
Juan J NestleUnited KingdomBernardo Dominic QUALIFIED
Deepesh M BriddickGermanyBernardo Dominic UNQUALIFIED
Munro Z SergiItalyStephen Shaw NEGOTIATION
Stacey K DilliardFranceIoni Bowcher UNQUALIFIED
Greenwood W ButtSpainOnyama Limba UNQUALIFIED

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