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
Faith Q SchemmerFranceIvan Magalhaes QUALIFIED
Stacey Q FigeroaCanadaAmy Elsner RENEWAL
Claire V AlbaresIndiaIoni Bowcher UNQUALIFIED
Chavez V MaletFranceAnna Fali QUALIFIED
David V GillianIndiaIvan Magalhaes NEGOTIATION
Alejandro N FigeroaSpainAmy Elsner NEW
Jones O RoysterBrazilBernardo Dominic NEGOTIATION
Leja E SlusarskiRussiaIvan Magalhaes NEGOTIATION
Smith X MacleadBrazilAnna Fali PROPOSAL
Isabel A GlickBrazilAmy Elsner NEW
Jeanfrancois Q WaycottAustraliaIvan Magalhaes NEGOTIATION
Maria K MorascaFranceAsiya Javayant PROPOSAL
Izzy G InouyeAustraliaOnyama Limba NEGOTIATION
Wickens I CampainArgentinaElwin Sharvill NEGOTIATION
Emily R SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Aika C MarrierArgentinaXuxue Feng NEGOTIATION
Wickens G WieserFranceIvan Magalhaes RENEWAL
Aditya P MaletFranceOnyama Limba NEW
Salvatore D OstroskyBrazilElwin Sharvill NEW
Maria A TollnerItalyStephen Shaw PROPOSAL
Jennifer C MaletRussiaIvan Magalhaes NEW
Sinclair Z RutaAustraliaIvan Magalhaes PROPOSAL
Morrow A NickaSpainAsiya Javayant PROPOSAL
Munro B StockhamUnited KingdomAmy Elsner UNQUALIFIED
Nicolas N NickaRussiaAsiya Javayant NEW
Smith X FollerSpainIoni Bowcher NEGOTIATION
Juan Z OldroydSpainXuxue Feng NEGOTIATION
Aika K MaletJapanAnna Fali NEGOTIATION
Jefferson R SchemmerIndiaAmy Elsner NEGOTIATION
David D SaylorsArgentinaOnyama Limba QUALIFIED
David K CampainAustraliaXuxue Feng PROPOSAL
Aruna T MarrierCanadaIvan Magalhaes QUALIFIED
Maria C NickaBrazilIvan Magalhaes RENEWAL
Jefferson H WhobreyFranceXuxue Feng RENEWAL
Salvatore V BowleyAustraliaIvan Magalhaes UNQUALIFIED
Mayumi S GarufiIndiaIoni Bowcher NEW
Murillo I AmigonJapanElwin Sharvill NEW
James R KuskoBrazilXuxue Feng PROPOSAL
David G TollnerArgentinaAsiya Javayant PROPOSAL
Silvio L DarakjyCanadaXuxue Feng NEGOTIATION
Murillo T FollerIndiaAmy Elsner UNQUALIFIED
Francesco X TollnerSpainOnyama Limba NEW
Jeanfrancois W FlosiJapanAmy Elsner QUALIFIED
Sinclair F FigeroaAustraliaAmy Elsner NEW
Leon R DoeAustraliaBernardo Dominic NEW
Ashley W NestleIndiaAsiya Javayant QUALIFIED
Juan C DilliardAustraliaStephen Shaw NEW
Ashley E BowleyJapanIvan Magalhaes PROPOSAL
Leon G GlickAustraliaStephen Shaw NEGOTIATION
Octavia A StensethArgentinaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aditya S CaldareraGermanyAsiya Javayant NEW
Emily S MarrierRussiaIvan Magalhaes NEGOTIATION
Juan F StensethFranceAnna Fali NEW
Isabel D OldroydArgentinaAmy Elsner UNQUALIFIED
Johnson V RutaCanadaAmy Elsner RENEWAL
Munro C MorascaCanadaBernardo Dominic NEGOTIATION
Jeanfrancois Z ButtJapanElwin Sharvill UNQUALIFIED
Faith C SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Kadeem Y BologniaGermanyIoni Bowcher PROPOSAL
Isabel Y CaudyArgentinaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James S DarakjySpain2024-06-02King, Christopher A Esq RENEWAL50Amy Elsner
1001Faith D GauchoFrance2024-06-16Chemel, James L Cpa PROPOSAL87Amy Elsner
1002Maria D StockhamIndia2024-06-21Chapman, Ross E Esq NEW91Stephen Shaw
1003Costa K SchemmerIndia2024-06-18Dorl, James J Esq PROPOSAL10Onyama Limba
1004Rodrigues J InouyeGermany2024-06-06Chemel, James L Cpa NEGOTIATION38Xuxue Feng
1005Arvin H WhobreyCanada2024-06-21Chanay, Jeffrey A Esq PROPOSAL63Stephen Shaw
1006Julie U DarakjyCanada2024-06-14Commercial Press UNQUALIFIED78Ioni Bowcher
1007Chavez P VenereGermany2024-06-07Morlong Associates RENEWAL45Xuxue Feng
1008Octavia I KuskoJapan2024-05-31Printing Dimensions UNQUALIFIED66Ioni Bowcher
1009Leon S StensethIndia2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED98Asiya Javayant
1010Maria H FerenczFrance2024-06-13Benton, John B Jr RENEWAL7Asiya Javayant
1011Adams X PoquetteCanada2024-06-01Chanay, Jeffrey A Esq RENEWAL69Stephen Shaw
1012Wickens Z AlbaresBrazil2024-06-10Rangoni Of Florence UNQUALIFIED38Elwin Sharvill
1013Maisha L AlbaresItaly2024-06-02Chapman, Ross E Esq NEGOTIATION15Xuxue Feng
1014James L SlusarskiRussia2024-05-27Buckley Miller Wright NEGOTIATION57Stephen Shaw
1015Jennifer S SergiGermany2024-06-08Chanay, Jeffrey A Esq NEW91Asiya Javayant
1016Ivar I MaletGermany2024-06-03Truhlar And Truhlar Attys UNQUALIFIED90Onyama Limba
1017Claire K VocelkaRussia2024-05-26Buckley Miller Wright RENEWAL39Bernardo Dominic
1018Isabel O CampainAustralia2024-05-26Truhlar And Truhlar Attys RENEWAL60Anna Fali
1019Faith Q FigeroaGermany2024-06-16Feltz Printing Service NEGOTIATION79Onyama Limba
1020Ivar K VocelkaIndia2024-06-01Feiner Bros QUALIFIED21Amy Elsner
1021Faith B GarufiAustralia2024-06-05Truhlar And Truhlar Attys UNQUALIFIED18Asiya Javayant
1022Leja C SergiRussia2024-06-23Benton, John B Jr NEGOTIATION20Ioni Bowcher
1023Maria X FerenczCanada2024-05-26Chemel, James L Cpa RENEWAL12Amy Elsner
1024Darci R WaycottSpain2024-06-04Rousseaux, Michael Esq NEGOTIATION4Ivan Magalhaes
1025Leon B AmigonCanada2024-06-11Commercial Press RENEWAL22Elwin Sharvill
1026Aika F DoeArgentina2024-06-19Chapman, Ross E Esq RENEWAL70Onyama Limba
1027Faith H CaudyUnited Kingdom2024-06-06Dorl, James J Esq NEW91Anna Fali
1028Silvio V MacleadItaly2024-05-27Chapman, Ross E Esq NEGOTIATION65Onyama Limba
1029Izzy F VocelkaBrazil2024-06-04Benton, John B Jr RENEWAL87Ioni Bowcher
1030Johnson U FlosiBrazil2024-06-09Chapman, Ross E Esq UNQUALIFIED11Onyama Limba
1031Maria G CaudyIndia2024-06-01Buckley Miller Wright NEGOTIATION62Stephen Shaw
1032Chavez Z VenereGermany2024-06-18Chemel, James L Cpa NEGOTIATION13Bernardo Dominic
1033Greenwood L DarakjyAustralia2024-06-14Commercial Press QUALIFIED91Anna Fali
1034Julie J FlosiItaly2024-06-01Dorl, James J Esq RENEWAL60Stephen Shaw
1035Arvin I VenereArgentina2024-06-22Feltz Printing Service PROPOSAL72Ivan Magalhaes
1036Stacey U FerenczUnited Kingdom2024-06-12Chapman, Ross E Esq QUALIFIED76Asiya Javayant
1037Maria G DarakjyAustralia2024-05-30Printing Dimensions QUALIFIED51Xuxue Feng
1038Darci X NickaUnited Kingdom2024-06-02Dorl, James J Esq RENEWAL92Ioni Bowcher
1039Francesco H CaldareraUnited Kingdom2024-05-29Buckley Miller Wright NEW95Xuxue Feng
1040Costa N RulapaughAustralia2024-06-21Rangoni Of Florence NEW95Asiya Javayant
1041Claire Q CaldareraGermany2024-06-03Chemel, James L Cpa UNQUALIFIED27Ioni Bowcher
1042Julie Q FerenczUnited Kingdom2024-06-02Commercial Press QUALIFIED1Onyama Limba
1043Kaitlin R DilliardAustralia2024-05-26King, Christopher A Esq QUALIFIED62Bernardo Dominic
1044James H ButtJapan2024-06-20Benton, John B Jr NEGOTIATION81Stephen Shaw
1045Francesco B RoysterArgentina2024-06-22Feltz Printing Service NEGOTIATION97Elwin Sharvill
1046Morrow T MaletAustralia2024-06-19Feiner Bros NEW61Amy Elsner
1047Aika F AlbaresGermany2024-05-25Morlong Associates PROPOSAL37Asiya Javayant
1048Jefferson V WhobreyJapan2024-06-13Commercial Press NEW5Asiya Javayant
1049James F NickaJapan2024-06-11Commercial Press NEW69Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Izzy U NickaGermanyOnyama Limba RENEWAL
Isabel A FlosiUnited KingdomAmy Elsner RENEWAL
Deepesh X DilliardCanadaOnyama Limba PROPOSAL
Izzy J MorascaFranceElwin Sharvill NEW
Aruna P GauchoJapanAsiya Javayant UNQUALIFIED
Cody N FigeroaBrazilIvan Magalhaes NEGOTIATION
Leon P StensethFranceElwin Sharvill UNQUALIFIED
Kadeem M GlickRussiaAsiya Javayant UNQUALIFIED
Aika N VocelkaGermanyXuxue Feng NEW
Isabel L AlbaresAustraliaElwin Sharvill QUALIFIED
Leon H FigeroaJapanIvan Magalhaes QUALIFIED
Silvio S PaprockiJapanIoni Bowcher QUALIFIED
Nicolas K SergiIndiaStephen Shaw NEGOTIATION
Isabel P BowleyAustraliaBernardo Dominic UNQUALIFIED
Tony H GillianRussiaStephen Shaw PROPOSAL
David S SlusarskiRussiaOnyama Limba PROPOSAL
Stacey V StockhamJapanAnna Fali PROPOSAL
Rodrigues Q MaletRussiaIvan Magalhaes NEGOTIATION
Antonio K CaldareraUnited KingdomStephen Shaw RENEWAL
Ivar G BologniaFranceAsiya Javayant RENEWAL
Costa F DarakjyCanadaIoni Bowcher NEW
Greenwood O VenereArgentinaStephen Shaw NEW
Tony J PerinRussiaAsiya Javayant NEGOTIATION
Murillo J SaylorsItalyAmy Elsner QUALIFIED
Jennifer I FigeroaBrazilBernardo Dominic PROPOSAL
Faith Q StockhamGermanyStephen Shaw QUALIFIED
Sinclair R FigeroaIndiaAsiya Javayant PROPOSAL
Alejandro S RutaSpainOnyama Limba NEW
Aika Z InouyeArgentinaIoni Bowcher RENEWAL
Cody Z PoquetteRussiaBernardo Dominic QUALIFIED
Mujtaba D ShinkoCanadaIvan Magalhaes PROPOSAL
Murillo P MaletSpainXuxue Feng NEGOTIATION
Murillo E PerinCanadaBernardo Dominic NEW
Murillo V PaprockiUnited KingdomOnyama Limba NEGOTIATION
Maisha T WieserItalyIoni Bowcher RENEWAL
Rodrigues E GillianArgentinaElwin Sharvill NEW
Kadeem X GarufiRussiaBernardo Dominic UNQUALIFIED
Misaki Z VenereGermanyStephen Shaw PROPOSAL
Aditya P RutaCanadaStephen Shaw NEW
David H SchemmerArgentinaIvan Magalhaes NEW
Greenwood A OstroskyAustraliaAmy Elsner QUALIFIED
Leja U MarrierBrazilStephen Shaw UNQUALIFIED
Kadeem J SlusarskiItalyIvan Magalhaes QUALIFIED
Leon F CaudyCanadaBernardo Dominic NEGOTIATION
Salvatore Y AmigonSpainStephen Shaw RENEWAL
Morrow O KuskoJapanIoni Bowcher QUALIFIED
Smith O RoysterSpainBernardo Dominic NEW
Juan S VocelkaSpainAsiya Javayant QUALIFIED
Jennifer I RulapaughItalyIoni Bowcher NEGOTIATION
Aruna W WaycottItalyStephen Shaw QUALIFIED
Frozen Columns
Name
Murillo W Amigon
Wickens U Whobrey
Kadeem E Venere
Octavia S Malet
Adams G Albares
Chavez Z Caudy
Mayumi Y Morasca
Mujtaba C Malet
Faith M Flosi
Tony E Sergi
Rodrigues V Vocelka
Greenwood O Venere
Mujtaba N Bolognia
Alejandro Q Nicka
Jeanfrancois Q Kolmetz
Cody T Whobrey
Juan R Figeroa
Faith L Waycott
Ricardo V Shinko
Smith I Doe
Munro F Gaucho
Aruna L Vocelka
Jones G Doe
Kaitlin O Tollner
Johnson K Schemmer
Aika V Amigon
Adams T Tollner
Munro B Gillian
Misaki O Stockham
Tony G Venere
Smith S Rim
Costa O Kusko
Silvio A Chui
Johnson N Stenseth
Leja U Perin
Chavez B Garufi
Emily R Paprocki
Jeanfrancois L Darakjy
Isabel C Garufi
Stacey K Rim
Smith P Butt
David U Kusko
Deepesh V Gillian
Jennifer E Stenseth
Leon U Ruta
Adams C Waycott
Izzy Q Saylors
Leon I Oldroyd
Alejandro X Bolognia
Antonio N Garufi
IdCountryDate
1000Canada2024-06-18
1001Germany2024-06-02
1002Italy2024-06-05
1003India2024-06-03
1004Germany2024-06-05
1005Canada2024-06-18
1006Italy2024-06-05
1007Japan2024-06-12
1008United Kingdom2024-06-11
1009Australia2024-06-19
1010Russia2024-06-10
1011France2024-06-05
1012Canada2024-05-31
1013Germany2024-06-23
1014Germany2024-05-28
1015Canada2024-05-25
1016United Kingdom2024-06-19
1017Germany2024-06-03
1018Japan2024-06-18
1019Russia2024-05-29
1020United Kingdom2024-05-28
1021Italy2024-06-08
1022Argentina2024-06-16
1023United Kingdom2024-06-20
1024United Kingdom2024-06-10
1025France2024-06-15
1026Brazil2024-06-23
1027Japan2024-06-04
1028Brazil2024-06-05
1029India2024-06-04
1030India2024-06-19
1031Canada2024-05-31
1032Brazil2024-06-11
1033Argentina2024-06-08
1034Germany2024-06-11
1035Japan2024-06-17
1036Canada2024-06-17
1037Argentina2024-05-29
1038India2024-05-30
1039Australia2024-06-19
1040Australia2024-05-25
1041France2024-05-28
1042Russia2024-06-23
1043Argentina2024-05-27
1044Canada2024-06-15
1045Canada2024-05-29
1046Italy2024-06-13
1047Canada2024-06-12
1048Japan2024-06-14
1049Spain2024-06-19

On-Demand Data

NameIdCountryDate
Claire J Foller1000Argentina2024-06-23
Aruna W Campain1001France2024-06-11
Kaitlin Z Foller1002Russia2024-06-17
Darci F Venere1003Spain2024-06-13
Claire X Poquette1004Argentina2024-06-11
Aika Y Stenseth1005Australia2024-06-20
Jones Z Kolmetz1006Spain2024-06-22
Aika I Royster1007Canada2024-05-31
Isabel O Whobrey1008Japan2024-05-30
Ivar C Ostrosky1009United Kingdom2024-06-17
Aditya S Darakjy1010India2024-06-05
Izzy X Venere1011India2024-06-20
Ricardo B Waycott1012Italy2024-06-03
Jefferson M Sergi1013Spain2024-06-17
Kaitlin K Poquette1014Japan2024-06-06
Smith A Briddick1015United Kingdom2024-06-01
Mayumi K Darakjy1016Australia2024-06-12
Mujtaba A Royster1017France2024-06-02
Ashley E Iturbide1018Germany2024-06-10
Mayumi H Wieser1019United Kingdom2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki X SlusarskiBrazilStephen Shaw RENEWAL
Greenwood Q MaletAustraliaStephen Shaw RENEWAL
Greenwood E DilliardItalyAnna Fali QUALIFIED
Arvin Q FollerRussiaElwin Sharvill PROPOSAL
Munro F BowleyBrazilXuxue Feng UNQUALIFIED
Jeanfrancois O DoeSpainAnna Fali QUALIFIED
Octavia G VocelkaGermanyStephen Shaw RENEWAL
Nicolas T GillianIndiaXuxue Feng RENEWAL
Rodrigues C SchemmerRussiaElwin Sharvill RENEWAL
Chavez J NickaBrazilAmy Elsner NEGOTIATION
Clifford W MaletSpainOnyama Limba PROPOSAL
Rodrigues G PoquetteRussiaIoni Bowcher NEGOTIATION
Clifford S CaldareraAustraliaXuxue Feng RENEWAL
Faith A VocelkaUnited KingdomAsiya Javayant RENEWAL
Nicolas Z KuskoUnited KingdomElwin Sharvill NEW
Ashley F FlosiCanadaIvan Magalhaes UNQUALIFIED
Jefferson E TollnerRussiaAsiya Javayant PROPOSAL
Maisha D OldroydIndiaXuxue Feng RENEWAL
Francesco Q InouyeJapanStephen Shaw UNQUALIFIED
Jones W MaletBrazilElwin Sharvill NEGOTIATION
Deepesh A GillianFranceIoni Bowcher UNQUALIFIED
Arvin J MarrierArgentinaIvan Magalhaes PROPOSAL
Antonio F GauchoSpainXuxue Feng NEGOTIATION
Antonio Y BologniaGermanyXuxue Feng QUALIFIED
Leja U DoeBrazilAnna Fali RENEWAL
Sinclair F StensethIndiaBernardo Dominic NEGOTIATION
Smith M RutaAustraliaXuxue Feng QUALIFIED
Emily C GlickGermanyStephen Shaw NEGOTIATION
Jennifer Z ShinkoArgentinaBernardo Dominic QUALIFIED
Leja A AlbaresGermanyStephen Shaw NEW
David R AmigonUnited KingdomElwin Sharvill UNQUALIFIED
Munro F AlbaresBrazilAsiya Javayant RENEWAL
Francesco U GlickBrazilXuxue Feng NEGOTIATION
Costa O DoeBrazilXuxue Feng NEGOTIATION
Misaki Y MorascaJapanAnna Fali UNQUALIFIED
Claire P BriddickSpainStephen Shaw PROPOSAL
Aika V GillianJapanAmy Elsner NEGOTIATION
Salvatore I ButtIndiaIoni Bowcher RENEWAL
Jennifer M ShinkoIndiaIvan Magalhaes UNQUALIFIED
Deepesh X DilliardAustraliaAmy Elsner 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>