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
Jeanfrancois B FerenczRussiaAnna Fali QUALIFIED
Leja H WaycottSpainIoni Bowcher NEGOTIATION
David M FollerUnited KingdomAmy Elsner UNQUALIFIED
Ivar Z VenereItalyElwin Sharvill QUALIFIED
Juan F PerinAustraliaAnna Fali NEW
Ivar C BowleyArgentinaIvan Magalhaes NEW
Wickens C SlusarskiGermanyXuxue Feng QUALIFIED
Morrow H DilliardGermanyIvan Magalhaes QUALIFIED
Chavez Q PerinCanadaIoni Bowcher UNQUALIFIED
David M BriddickIndiaAsiya Javayant QUALIFIED
Mayumi X SergiRussiaElwin Sharvill RENEWAL
Nicolas D InouyeUnited KingdomElwin Sharvill PROPOSAL
Emily F StensethFranceAnna Fali RENEWAL
Ricardo P RoysterCanadaAnna Fali PROPOSAL
Munro P RulapaughRussiaElwin Sharvill PROPOSAL
Chavez J OstroskyUnited KingdomIoni Bowcher NEW
Jefferson B DoeItalyOnyama Limba RENEWAL
Deepesh O GillianJapanIoni Bowcher NEW
Deepesh B VocelkaAustraliaAmy Elsner NEW
Jennifer D BriddickCanadaAnna Fali PROPOSAL
Cody S StockhamSpainBernardo Dominic NEW
Munro A ChuiFranceIvan Magalhaes NEGOTIATION
Aruna V SlusarskiGermanyIvan Magalhaes PROPOSAL
Misaki H GlickUnited KingdomElwin Sharvill QUALIFIED
Leon J PaprockiCanadaAnna Fali NEGOTIATION
Costa Q SaylorsBrazilIoni Bowcher NEW
Kaitlin S SchemmerSpainOnyama Limba UNQUALIFIED
Emily U BowleyGermanyXuxue Feng UNQUALIFIED
Jones Z DoeGermanyOnyama Limba RENEWAL
Francesco W DoeFranceAsiya Javayant PROPOSAL
Misaki S GarufiArgentinaIoni Bowcher RENEWAL
Izzy K WhobreyArgentinaElwin Sharvill RENEWAL
Mujtaba I GlickBrazilIvan Magalhaes UNQUALIFIED
Mujtaba O CaudyArgentinaIvan Magalhaes UNQUALIFIED
Jeanfrancois O FerenczFranceAmy Elsner PROPOSAL
James L AlbaresUnited KingdomXuxue Feng PROPOSAL
Salvatore C FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Antonio B CampainRussiaAmy Elsner PROPOSAL
Aika I GlickSpainAsiya Javayant RENEWAL
Ivar E SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Ashley F RoysterJapanElwin Sharvill NEGOTIATION
Greenwood Q RulapaughArgentinaOnyama Limba RENEWAL
Emily B InouyeAustraliaIvan Magalhaes UNQUALIFIED
Isabel Y GarufiFranceBernardo Dominic UNQUALIFIED
Tony X SchemmerFranceAnna Fali PROPOSAL
Jennifer S AlbaresJapanXuxue Feng UNQUALIFIED
Deepesh N ShinkoCanadaIoni Bowcher QUALIFIED
Wickens D StockhamArgentinaAsiya Javayant NEW
Jones K BowleyFranceIvan Magalhaes NEW
Aika K BriddickBrazilAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Faith J StensethFranceAmy Elsner RENEWAL
Alejandro S WhobreyIndiaIoni Bowcher UNQUALIFIED
Morrow W GlickRussiaXuxue Feng RENEWAL
Stacey J CaudyIndiaBernardo Dominic NEGOTIATION
Wickens W WieserGermanyXuxue Feng NEGOTIATION
Cody F GarufiUnited KingdomAnna Fali NEGOTIATION
Mujtaba D ButtUnited KingdomXuxue Feng NEGOTIATION
Maisha M RulapaughCanadaIvan Magalhaes RENEWAL
Nicolas H VocelkaAustraliaAsiya Javayant RENEWAL
Ivar Y FlosiUnited KingdomAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel U VenereRussia2024-06-13Chapman, Ross E Esq QUALIFIED26Ivan Magalhaes
1001Kadeem J WaycottGermany2024-05-26Dorl, James J Esq NEW34Xuxue Feng
1002Juan O KuskoRussia2024-06-06Chapman, Ross E Esq NEGOTIATION30Bernardo Dominic
1003Nicolas W SlusarskiGermany2024-05-26Commercial Press PROPOSAL76Elwin Sharvill
1004Darci B OstroskyIndia2024-05-28Printing Dimensions RENEWAL28Ioni Bowcher
1005Clifford Y ButtJapan2024-05-21Commercial Press UNQUALIFIED52Xuxue Feng
1006Faith Q SchemmerBrazil2024-05-30Commercial Press PROPOSAL50Stephen Shaw
1007Adams A SlusarskiCanada2024-06-03Chapman, Ross E Esq UNQUALIFIED86Onyama Limba
1008Alejandro E MaletSpain2024-06-12Truhlar And Truhlar Attys UNQUALIFIED86Asiya Javayant
1009Francesco L MaletBrazil2024-06-05Rangoni Of Florence NEW96Ioni Bowcher
1010Aika U NickaCanada2024-06-13Chemel, James L Cpa RENEWAL76Elwin Sharvill
1011Greenwood Z GarufiIndia2024-06-16Buckley Miller Wright QUALIFIED4Elwin Sharvill
1012Leja G NickaIndia2024-05-26Feiner Bros RENEWAL64Bernardo Dominic
1013Emily J AmigonGermany2024-06-05Commercial Press NEW65Ivan Magalhaes
1014Tony S SlusarskiBrazil2024-05-27Truhlar And Truhlar Attys NEGOTIATION98Bernardo Dominic
1015Clifford A DoeArgentina2024-05-22Dorl, James J Esq NEGOTIATION16Bernardo Dominic
1016Jennifer H FerenczIndia2024-05-28Feiner Bros QUALIFIED48Bernardo Dominic
1017Stacey I FlosiBrazil2024-05-21Commercial Press RENEWAL86Ioni Bowcher
1018Morrow N StockhamJapan2024-05-23Commercial Press NEW62Anna Fali
1019Aika V CaudyBrazil2024-05-29Feltz Printing Service UNQUALIFIED65Stephen Shaw
1020David A SergiUnited Kingdom2024-06-17Feiner Bros QUALIFIED65Asiya Javayant
1021Octavia R RulapaughJapan2024-05-20Buckley Miller Wright QUALIFIED90Elwin Sharvill
1022Kaitlin Q BowleyJapan2024-05-22Chemel, James L Cpa RENEWAL66Amy Elsner
1023Jefferson U GlickRussia2024-06-07King, Christopher A Esq PROPOSAL35Elwin Sharvill
1024Chavez R CaudyAustralia2024-06-04Commercial Press RENEWAL62Elwin Sharvill
1025Smith S FlosiBrazil2024-06-08Commercial Press NEW90Anna Fali
1026Maisha I FlosiJapan2024-06-01Truhlar And Truhlar Attys RENEWAL61Amy Elsner
1027Sinclair L BowleyBrazil2024-06-04Chapman, Ross E Esq PROPOSAL22Amy Elsner
1028Jones S PaprockiIndia2024-05-21Buckley Miller Wright QUALIFIED44Xuxue Feng
1029Wickens U GauchoArgentina2024-06-09Buckley Miller Wright RENEWAL97Bernardo Dominic
1030Stacey S WhobreyUnited Kingdom2024-05-23Rousseaux, Michael Esq PROPOSAL42Stephen Shaw
1031Rodrigues W PaprockiFrance2024-05-24Feiner Bros NEW37Bernardo Dominic
1032Emily A OldroydSpain2024-06-08Chanay, Jeffrey A Esq RENEWAL13Ivan Magalhaes
1033Leon B TollnerBrazil2024-06-14Chemel, James L Cpa UNQUALIFIED53Xuxue Feng
1034Jones L AmigonRussia2024-05-20Feltz Printing Service NEW78Anna Fali
1035Jefferson G FerenczCanada2024-06-06Chapman, Ross E Esq RENEWAL82Ioni Bowcher
1036Leon F NickaItaly2024-06-15Rangoni Of Florence NEGOTIATION25Stephen Shaw
1037Chavez S GillianCanada2024-05-24King, Christopher A Esq QUALIFIED42Bernardo Dominic
1038Clifford I NickaFrance2024-05-30Truhlar And Truhlar Attys QUALIFIED86Ioni Bowcher
1039Sinclair W GillianRussia2024-06-14Chemel, James L Cpa NEGOTIATION88Elwin Sharvill
1040Jennifer O PaprockiGermany2024-05-30Chanay, Jeffrey A Esq PROPOSAL25Ivan Magalhaes
1041Rodrigues S CampainFrance2024-05-30Chemel, James L Cpa UNQUALIFIED28Ivan Magalhaes
1042Misaki H MaletItaly2024-06-04Morlong Associates NEW64Elwin Sharvill
1043Jefferson Z CaudyBrazil2024-06-13Truhlar And Truhlar Attys NEW62Ivan Magalhaes
1044Emily O MaletJapan2024-05-30Feltz Printing Service NEW91Asiya Javayant
1045Misaki G WaycottJapan2024-06-09Feiner Bros QUALIFIED23Stephen Shaw
1046Darci F SchemmerFrance2024-06-01Feltz Printing Service NEW70Ivan Magalhaes
1047Claire N PaprockiSpain2024-06-07Feiner Bros RENEWAL32Onyama Limba
1048Aika V WaycottSpain2024-06-08Chemel, James L Cpa QUALIFIED1Anna Fali
1049Jennifer O WaycottBrazil2024-06-09Chanay, Jeffrey A Esq NEW42Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Misaki D StensethGermanyElwin Sharvill NEGOTIATION
Leja J SchemmerBrazilAnna Fali UNQUALIFIED
Aruna Q ShinkoAustraliaAsiya Javayant RENEWAL
Isabel B DilliardAustraliaAsiya Javayant NEW
Adams L AmigonArgentinaBernardo Dominic PROPOSAL
Maisha C AlbaresFranceIvan Magalhaes UNQUALIFIED
Clifford K NestleBrazilStephen Shaw PROPOSAL
Adams T CampainJapanBernardo Dominic RENEWAL
Aika B VenereArgentinaAsiya Javayant QUALIFIED
Adams R GarufiItalyIvan Magalhaes NEGOTIATION
Deepesh H OstroskySpainIvan Magalhaes NEGOTIATION
Claire I FollerSpainAmy Elsner NEW
Jeanfrancois T VenereUnited KingdomElwin Sharvill NEW
James C MaletIndiaAmy Elsner NEGOTIATION
Smith S MaletFranceElwin Sharvill NEW
Julie W SlusarskiRussiaAsiya Javayant RENEWAL
Silvio J CaudyCanadaIvan Magalhaes PROPOSAL
Julie G InouyeAustraliaBernardo Dominic RENEWAL
Ashley L TollnerItalyAmy Elsner UNQUALIFIED
James U AmigonRussiaIvan Magalhaes RENEWAL
Wickens T StensethRussiaXuxue Feng PROPOSAL
Morrow T WaycottArgentinaAnna Fali NEW
Nicolas K SergiUnited KingdomBernardo Dominic PROPOSAL
Maisha J MorascaItalyXuxue Feng UNQUALIFIED
Tony A FollerFranceBernardo Dominic QUALIFIED
Maisha Z PaprockiGermanyXuxue Feng NEW
Ashley X CaudyCanadaBernardo Dominic PROPOSAL
Jennifer M AmigonCanadaOnyama Limba QUALIFIED
Salvatore F GlickFranceStephen Shaw PROPOSAL
Rodrigues C DilliardGermanyIoni Bowcher NEGOTIATION
Wickens L SaylorsUnited KingdomIvan Magalhaes NEGOTIATION
Leon N DilliardJapanElwin Sharvill PROPOSAL
Morrow K CaldareraJapanXuxue Feng QUALIFIED
Maisha G InouyeCanadaXuxue Feng NEW
Misaki F FlosiJapanElwin Sharvill RENEWAL
Mujtaba A ButtUnited KingdomBernardo Dominic PROPOSAL
Izzy N PaprockiSpainAsiya Javayant PROPOSAL
Nicolas A ButtJapanXuxue Feng NEW
Aika R PoquetteJapanAsiya Javayant RENEWAL
Faith V CaldareraGermanyOnyama Limba NEW
Julie Q MacleadFranceAsiya Javayant QUALIFIED
Adams R FlosiUnited KingdomOnyama Limba RENEWAL
Ivar S DarakjySpainXuxue Feng UNQUALIFIED
Izzy N PoquetteCanadaBernardo Dominic NEW
Leon P SergiIndiaElwin Sharvill RENEWAL
Juan W VenereGermanyAmy Elsner RENEWAL
Sinclair A StockhamBrazilAsiya Javayant QUALIFIED
Greenwood M RulapaughBrazilStephen Shaw UNQUALIFIED
Johnson B FigeroaJapanAsiya Javayant QUALIFIED
Darci W RoysterArgentinaStephen Shaw NEGOTIATION
Frozen Columns
Name
Tony I Iturbide
Faith B Inouye
Rodrigues U Amigon
Salvatore M Maclead
Costa D Amigon
Cody C Kolmetz
Johnson P Saylors
Ricardo U Doe
Costa L Venere
Faith B Caudy
Salvatore B Saylors
Leja C Shinko
Julie C Royster
Jefferson C Rim
Jeanfrancois N Shinko
Aika T Darakjy
Sinclair Y Foller
Smith A Albares
Mujtaba R Kolmetz
Salvatore N Paprocki
Morrow N Wieser
Salvatore V Campain
Deepesh E Bowley
Claire A Briddick
Sinclair L Kusko
Rodrigues X Glick
Smith J Briddick
Deepesh J Sergi
James C Inouye
Ivar Q Tollner
Emily I Amigon
Kadeem P Rulapaugh
Izzy F Caldarera
Aditya B Garufi
Nicolas T Campain
Ricardo A Stenseth
Johnson Q Saylors
Juan J Bowley
Aditya E Amigon
Arvin Z Foller
Antonio Y Garufi
Ricardo G Kolmetz
Mayumi P Glick
Clifford R Marrier
Nicolas V Stenseth
Greenwood D Morasca
Wickens K Butt
David H Garufi
Salvatore B Schemmer
Antonio I Foller
IdCountryDate
1000Italy2024-05-23
1001India2024-05-21
1002Argentina2024-06-08
1003Japan2024-05-30
1004India2024-05-21
1005France2024-06-12
1006Spain2024-06-14
1007Germany2024-06-15
1008United Kingdom2024-06-17
1009Australia2024-05-27
1010Brazil2024-06-02
1011France2024-06-08
1012Spain2024-06-11
1013India2024-06-15
1014Australia2024-06-06
1015Spain2024-06-02
1016Spain2024-05-29
1017Spain2024-05-27
1018Brazil2024-06-06
1019Australia2024-06-13
1020Italy2024-06-02
1021Spain2024-05-27
1022Australia2024-06-04
1023Australia2024-06-16
1024Brazil2024-06-12
1025Argentina2024-05-26
1026Argentina2024-05-26
1027Russia2024-05-28
1028Italy2024-05-27
1029United Kingdom2024-05-23
1030Italy2024-05-22
1031Spain2024-06-16
1032Brazil2024-06-02
1033Russia2024-06-18
1034Brazil2024-06-01
1035Italy2024-06-14
1036Argentina2024-06-10
1037France2024-05-29
1038United Kingdom2024-05-20
1039Spain2024-05-28
1040Brazil2024-06-12
1041Brazil2024-06-11
1042India2024-06-10
1043Japan2024-06-16
1044Russia2024-05-20
1045Australia2024-06-02
1046Germany2024-06-16
1047Russia2024-06-18
1048Italy2024-06-07
1049Germany2024-06-11

On-Demand Data

NameIdCountryDate
Jeanfrancois E Nicka1000United Kingdom2024-05-30
Ricardo Y Iturbide1001Brazil2024-06-01
Silvio R Nicka1002Australia2024-05-24
Jeanfrancois A Kusko1003Argentina2024-06-16
Salvatore R Venere1004United Kingdom2024-05-24
Jennifer B Darakjy1005Argentina2024-05-24
Maisha W Maclead1006United Kingdom2024-05-23
Alejandro I Rulapaugh1007United Kingdom2024-06-16
Aditya F Butt1008India2024-05-30
Emily U Gaucho1009Italy2024-05-21
Izzy N Foller1010Germany2024-05-20
Ricardo Q Stockham1011Italy2024-05-31
Misaki C Wieser1012Spain2024-05-20
Aika A Gillian1013Germany2024-05-25
Francesco X Tollner1014Japan2024-06-08
Aika A Stockham1015Germany2024-06-15
Smith C Darakjy1016Spain2024-06-03
Johnson B Schemmer1017France2024-05-20
Claire D Malet1018Argentina2024-06-02
Jeanfrancois T Paprocki1019Japan2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith C PoquetteCanadaAnna Fali QUALIFIED
Kaitlin H PerinSpainIoni Bowcher QUALIFIED
Ivar C BriddickGermanyOnyama Limba NEGOTIATION
Adams E StensethArgentinaAnna Fali NEW
Munro T RutaGermanyBernardo Dominic QUALIFIED
Ivar B FollerAustraliaAsiya Javayant NEW
Nicolas E SaylorsSpainIoni Bowcher NEGOTIATION
Greenwood V FollerCanadaAmy Elsner RENEWAL
Kaitlin Z RoysterAustraliaIvan Magalhaes QUALIFIED
Wickens K SlusarskiArgentinaStephen Shaw PROPOSAL
Ricardo P RimArgentinaIoni Bowcher NEW
Nicolas E RoysterArgentinaAsiya Javayant QUALIFIED
Jones K TollnerSpainAsiya Javayant PROPOSAL
Jeanfrancois P GillianBrazilAmy Elsner PROPOSAL
Misaki Y VenereItalyXuxue Feng PROPOSAL
Salvatore A SlusarskiUnited KingdomIoni Bowcher NEGOTIATION
Mayumi T RimAustraliaIvan Magalhaes QUALIFIED
Maisha C RoysterUnited KingdomStephen Shaw UNQUALIFIED
Kadeem Y OstroskyIndiaBernardo Dominic RENEWAL
Rodrigues K FigeroaFranceBernardo Dominic RENEWAL
Jennifer M MorascaFranceIvan Magalhaes NEGOTIATION
Antonio J ChuiJapanAmy Elsner NEGOTIATION
Isabel W BologniaArgentinaXuxue Feng NEW
David L SlusarskiUnited KingdomStephen Shaw QUALIFIED
Kaitlin P BriddickFranceIoni Bowcher NEGOTIATION
Antonio S MaletIndiaOnyama Limba NEGOTIATION
Jones E WaycottArgentinaIvan Magalhaes QUALIFIED
Claire F SchemmerSpainIoni Bowcher QUALIFIED
Costa E SchemmerArgentinaAsiya Javayant PROPOSAL
Salvatore G DarakjyGermanyStephen Shaw UNQUALIFIED
Chavez I WhobreyFranceAsiya Javayant NEW
Maisha P ChuiJapanXuxue Feng QUALIFIED
Juan U DarakjyFranceBernardo Dominic PROPOSAL
Jones X FigeroaJapanIoni Bowcher PROPOSAL
Kadeem N SchemmerBrazilIvan Magalhaes UNQUALIFIED
Arvin E CampainAustraliaIvan Magalhaes QUALIFIED
Aditya Y RutaAustraliaAnna Fali UNQUALIFIED
David I DarakjyUnited KingdomStephen Shaw NEW
Francesco H GlickIndiaAnna Fali PROPOSAL
Izzy W MorascaUnited KingdomXuxue Feng 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>