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
Misaki L OstroskyJapanIvan Magalhaes PROPOSAL
Jefferson K RutaArgentinaXuxue Feng NEGOTIATION
Antonio S NickaFranceStephen Shaw NEW
Jefferson D MacleadBrazilXuxue Feng PROPOSAL
Sinclair W WieserRussiaStephen Shaw RENEWAL
Faith H WaycottJapanAsiya Javayant NEGOTIATION
Jefferson R PoquetteJapanAnna Fali QUALIFIED
Leon L BriddickAustraliaIvan Magalhaes QUALIFIED
Leon P CaldareraJapanElwin Sharvill NEGOTIATION
Ivar K DoeCanadaAnna Fali QUALIFIED
Juan J MacleadSpainAnna Fali UNQUALIFIED
Morrow U GarufiUnited KingdomXuxue Feng RENEWAL
Greenwood W OstroskyIndiaStephen Shaw PROPOSAL
Emily P SlusarskiIndiaStephen Shaw RENEWAL
Mayumi B FollerBrazilIvan Magalhaes PROPOSAL
Deepesh N KolmetzCanadaAsiya Javayant NEGOTIATION
Misaki L WhobreyUnited KingdomAmy Elsner UNQUALIFIED
Darci F FollerRussiaIoni Bowcher NEW
Jeanfrancois Z DarakjySpainIoni Bowcher RENEWAL
Johnson F TollnerGermanyIoni Bowcher QUALIFIED
Jeanfrancois P GauchoArgentinaAmy Elsner QUALIFIED
Alejandro A IturbideIndiaAsiya Javayant QUALIFIED
Costa L InouyeFranceBernardo Dominic NEW
Costa O FollerUnited KingdomAsiya Javayant NEGOTIATION
Tony B WieserItalyXuxue Feng RENEWAL
Aika N AlbaresUnited KingdomBernardo Dominic RENEWAL
Adams K OldroydFranceIvan Magalhaes PROPOSAL
Deepesh I WaycottUnited KingdomIvan Magalhaes NEGOTIATION
Silvio N SergiIndiaBernardo Dominic UNQUALIFIED
Jefferson W BowleySpainAnna Fali RENEWAL
Clifford E FlosiFranceBernardo Dominic NEW
Isabel M OldroydItalyIoni Bowcher PROPOSAL
Aditya U ShinkoIndiaBernardo Dominic RENEWAL
Ivar O KuskoSpainStephen Shaw QUALIFIED
Rodrigues F MacleadIndiaAnna Fali NEW
Misaki C MaletGermanyStephen Shaw RENEWAL
Octavia L MaletRussiaIvan Magalhaes NEGOTIATION
Nicolas E MorascaArgentinaAmy Elsner PROPOSAL
Chavez N BriddickIndiaOnyama Limba RENEWAL
Claire Y OstroskyItalyElwin Sharvill UNQUALIFIED
David Q CampainSpainAnna Fali QUALIFIED
Smith H RutaArgentinaIvan Magalhaes NEW
Claire F FigeroaAustraliaIvan Magalhaes NEW
Mujtaba B FollerUnited KingdomStephen Shaw UNQUALIFIED
Salvatore M KuskoUnited KingdomAnna Fali NEW
Greenwood Q MaletSpainElwin Sharvill NEGOTIATION
Emily K FlosiBrazilStephen Shaw RENEWAL
James S DarakjyIndiaElwin Sharvill UNQUALIFIED
Mayumi P BologniaBrazilAsiya Javayant RENEWAL
Greenwood F GauchoSpainAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leon I DilliardCanadaIoni Bowcher NEW
Salvatore L ShinkoFranceXuxue Feng NEGOTIATION
Murillo U RulapaughRussiaAmy Elsner UNQUALIFIED
Jones D AlbaresIndiaElwin Sharvill QUALIFIED
Maisha I RutaCanadaBernardo Dominic PROPOSAL
Johnson S MorascaArgentinaIoni Bowcher NEGOTIATION
Clifford G OldroydJapanStephen Shaw NEW
Mujtaba W MacleadSpainAnna Fali UNQUALIFIED
Izzy Y FlosiUnited KingdomAsiya Javayant PROPOSAL
Leja X GillianArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois V KuskoAustralia2025-05-08Chanay, Jeffrey A Esq RENEWAL53Onyama Limba
1001Silvio L CaldareraBrazil2025-05-17Truhlar And Truhlar Attys PROPOSAL89Asiya Javayant
1002Ricardo Q WhobreyItaly2025-05-26Feltz Printing Service NEW43Amy Elsner
1003Adams Z RutaSpain2025-05-31Dorl, James J Esq QUALIFIED65Stephen Shaw
1004James P PerinCanada2025-05-07Chanay, Jeffrey A Esq NEGOTIATION32Xuxue Feng
1005Kaitlin Z PerinRussia2025-05-19Rousseaux, Michael Esq RENEWAL17Elwin Sharvill
1006Jones L GauchoIndia2025-05-04Commercial Press QUALIFIED13Asiya Javayant
1007Alejandro D AmigonAustralia2025-05-07Commercial Press UNQUALIFIED80Amy Elsner
1008Aditya R PoquetteCanada2025-05-09Rousseaux, Michael Esq NEW66Stephen Shaw
1009Deepesh N RimBrazil2025-05-03Printing Dimensions NEGOTIATION0Anna Fali
1010Clifford F ShinkoIndia2025-05-09Chemel, James L Cpa PROPOSAL16Anna Fali
1011Stacey B WaycottBrazil2025-05-06Truhlar And Truhlar Attys NEW10Anna Fali
1012Morrow T StensethUnited Kingdom2025-05-08Dorl, James J Esq NEW9Onyama Limba
1013Johnson M InouyeArgentina2025-05-12King, Christopher A Esq PROPOSAL98Onyama Limba
1014Morrow K BologniaIndia2025-05-17King, Christopher A Esq NEW8Xuxue Feng
1015Mujtaba X BowleyJapan2025-05-10King, Christopher A Esq UNQUALIFIED27Ivan Magalhaes
1016David X AmigonAustralia2025-05-14Benton, John B Jr NEW9Ioni Bowcher
1017Arvin A GlickFrance2025-05-27Rangoni Of Florence QUALIFIED24Xuxue Feng
1018Jefferson B KolmetzBrazil2025-05-07Printing Dimensions NEW32Xuxue Feng
1019Julie E RulapaughRussia2025-05-25Chanay, Jeffrey A Esq QUALIFIED38Amy Elsner
1020Emily G BowleyJapan2025-05-29Feiner Bros PROPOSAL99Anna Fali
1021Chavez D AlbaresBrazil2025-05-21Feiner Bros QUALIFIED56Amy Elsner
1022Mayumi X ChuiGermany2025-05-04Feiner Bros QUALIFIED86Xuxue Feng
1023Adams F DilliardAustralia2025-05-30Chapman, Ross E Esq RENEWAL21Anna Fali
1024Morrow I PoquetteFrance2025-05-24Feltz Printing Service PROPOSAL78Ioni Bowcher
1025James B NestleAustralia2025-05-18Truhlar And Truhlar Attys QUALIFIED24Ioni Bowcher
1026Julie O SlusarskiUnited Kingdom2025-05-23Morlong Associates PROPOSAL91Anna Fali
1027Mayumi M CaudyGermany2025-05-25Chanay, Jeffrey A Esq UNQUALIFIED76Ivan Magalhaes
1028Jones U DoeFrance2025-05-24Buckley Miller Wright QUALIFIED58Onyama Limba
1029Kadeem E OldroydSpain2025-05-29Dorl, James J Esq RENEWAL19Elwin Sharvill
1030Aruna A TollnerBrazil2025-05-06Chapman, Ross E Esq QUALIFIED64Asiya Javayant
1031Aruna F KolmetzAustralia2025-05-05King, Christopher A Esq NEW68Anna Fali
1032Ashley B SlusarskiBrazil2025-05-16Chanay, Jeffrey A Esq QUALIFIED21Onyama Limba
1033Arvin L OldroydCanada2025-05-23Buckley Miller Wright RENEWAL56Asiya Javayant
1034Ashley D BowleyItaly2025-05-11Chemel, James L Cpa RENEWAL8Bernardo Dominic
1035Leja T BriddickSpain2025-05-21Rousseaux, Michael Esq RENEWAL79Ivan Magalhaes
1036Aika N DoeItaly2025-05-12Buckley Miller Wright NEGOTIATION10Bernardo Dominic
1037Aruna U PoquetteRussia2025-05-12Truhlar And Truhlar Attys RENEWAL9Onyama Limba
1038Maria H FollerBrazil2025-05-04Feltz Printing Service PROPOSAL29Ivan Magalhaes
1039Ashley X CaudyRussia2025-05-14Feltz Printing Service NEGOTIATION26Stephen Shaw
1040Aika B PoquetteGermany2025-05-24Printing Dimensions RENEWAL25Onyama Limba
1041Silvio H AlbaresArgentina2025-05-25King, Christopher A Esq NEGOTIATION44Onyama Limba
1042Isabel A IturbideCanada2025-05-13Rousseaux, Michael Esq NEGOTIATION5Ioni Bowcher
1043Francesco Z MaletRussia2025-05-28Feiner Bros PROPOSAL59Amy Elsner
1044Julie Z InouyeAustralia2025-05-20Dorl, James J Esq UNQUALIFIED9Asiya Javayant
1045Leon C BologniaJapan2025-05-27Buckley Miller Wright UNQUALIFIED85Elwin Sharvill
1046Emily E CaldareraAustralia2025-05-31Chapman, Ross E Esq QUALIFIED65Elwin Sharvill
1047Jeanfrancois I WhobreyIndia2025-05-19Rousseaux, Michael Esq NEW99Asiya Javayant
1048Arvin O FollerIndia2025-05-13Benton, John B Jr PROPOSAL91Anna Fali
1049Aditya V RimAustralia2025-05-30Morlong Associates NEGOTIATION81Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Sinclair Z FigeroaGermanyStephen Shaw UNQUALIFIED
Isabel U PaprockiArgentinaBernardo Dominic PROPOSAL
Emily L FlosiSpainAmy Elsner RENEWAL
Tony L CaldareraCanadaStephen Shaw UNQUALIFIED
Ricardo R RutaCanadaAmy Elsner NEGOTIATION
Ashley E DoeIndiaAmy Elsner UNQUALIFIED
Murillo Q FollerArgentinaAmy Elsner QUALIFIED
Isabel Z VocelkaArgentinaStephen Shaw NEW
Smith O OldroydRussiaIoni Bowcher UNQUALIFIED
Leon V RutaGermanyAsiya Javayant UNQUALIFIED
Antonio W CaudyUnited KingdomBernardo Dominic UNQUALIFIED
Costa C GauchoRussiaBernardo Dominic NEW
Cody J GlickCanadaIvan Magalhaes UNQUALIFIED
Wickens I ChuiGermanyElwin Sharvill NEGOTIATION
Leon L GarufiIndiaIoni Bowcher RENEWAL
Claire N InouyeSpainIvan Magalhaes NEW
Jefferson Q PaprockiFranceAnna Fali UNQUALIFIED
Chavez M RoysterAustraliaAsiya Javayant NEGOTIATION
Clifford B SchemmerAustraliaAmy Elsner QUALIFIED
Isabel K SchemmerRussiaOnyama Limba NEW
Francesco K PoquetteItalyAmy Elsner PROPOSAL
Murillo Y StockhamBrazilXuxue Feng RENEWAL
Kaitlin Z RulapaughArgentinaStephen Shaw RENEWAL
Isabel A SaylorsArgentinaIoni Bowcher PROPOSAL
Emily L SlusarskiAustraliaOnyama Limba UNQUALIFIED
Aruna T WhobreySpainIoni Bowcher QUALIFIED
Leon O ShinkoGermanyStephen Shaw RENEWAL
Sinclair C SergiArgentinaBernardo Dominic NEW
Julie V TollnerIndiaElwin Sharvill QUALIFIED
Octavia B GauchoFranceIvan Magalhaes NEW
Murillo A TollnerArgentinaIvan Magalhaes QUALIFIED
Jefferson T FollerGermanyBernardo Dominic NEW
Sinclair T RutaRussiaAmy Elsner PROPOSAL
Maria D GauchoCanadaOnyama Limba NEW
Aika Q ChuiCanadaAsiya Javayant NEW
Leja B SlusarskiFranceXuxue Feng NEGOTIATION
Greenwood N RutaUnited KingdomAsiya Javayant UNQUALIFIED
Wickens A BriddickIndiaElwin Sharvill NEGOTIATION
Adams Y WieserBrazilXuxue Feng QUALIFIED
Emily C VocelkaSpainXuxue Feng PROPOSAL
Juan A MorascaBrazilIvan Magalhaes NEGOTIATION
Kaitlin B BriddickArgentinaAsiya Javayant PROPOSAL
Aika T AlbaresIndiaAsiya Javayant RENEWAL
Francesco X FlosiJapanAsiya Javayant UNQUALIFIED
Emily F MaletJapanOnyama Limba RENEWAL
David C StockhamFranceXuxue Feng QUALIFIED
Francesco S BowleyAustraliaBernardo Dominic QUALIFIED
Nicolas I SchemmerGermanyBernardo Dominic NEW
Cody K GarufiArgentinaAmy Elsner UNQUALIFIED
Murillo B CaudyFranceIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Cody O Rim
Leon V Kusko
Francesco G Perin
Nicolas S Butt
Ivar L Iturbide
Jeanfrancois Z Bowley
Kadeem C Vocelka
Aditya V Rim
Aruna F Malet
Leja H Ferencz
Juan R Nestle
Stacey X Caudy
Francesco Z Kolmetz
Chavez I Doe
Arvin P Bolognia
Jennifer F Nicka
Jeanfrancois U Slusarski
Clifford T Dilliard
Antonio S Ruta
Ricardo I Maclead
Isabel M Wieser
Clifford P Briddick
Tony F Flosi
Silvio W Caudy
Kadeem Z Waycott
Antonio L Caudy
Francesco Z Ostrosky
Wickens H Tollner
Nicolas V Rulapaugh
Adams G Nicka
Izzy W Butt
Wickens O Flosi
Jeanfrancois C Amigon
Mayumi K Kolmetz
Emily D Doe
Ricardo W Ruta
Misaki R Tollner
Kadeem S Shinko
Ricardo M Wieser
Aditya N Rulapaugh
Arvin R Caudy
Jefferson H Sergi
Maisha A Foller
Aika K Stockham
Adams W Kolmetz
Alejandro Y Darakjy
Leon Q Slusarski
Francesco J Butt
Faith A Chui
Jennifer V Iturbide
IdCountryDate
1000Spain2025-05-15
1001United Kingdom2025-05-06
1002Brazil2025-05-09
1003India2025-05-15
1004Japan2025-05-13
1005Argentina2025-05-12
1006Brazil2025-05-07
1007United Kingdom2025-05-06
1008Canada2025-05-03
1009Canada2025-05-08
1010India2025-05-29
1011India2025-05-15
1012United Kingdom2025-05-08
1013Australia2025-05-24
1014Spain2025-05-25
1015Spain2025-05-08
1016United Kingdom2025-05-03
1017Japan2025-05-15
1018France2025-05-07
1019Argentina2025-05-28
1020Argentina2025-05-05
1021India2025-05-24
1022India2025-05-31
1023Spain2025-05-18
1024France2025-05-26
1025Germany2025-05-14
1026Italy2025-05-25
1027Russia2025-05-13
1028Australia2025-05-30
1029Spain2025-05-10
1030United Kingdom2025-05-18
1031Japan2025-05-26
1032Canada2025-05-18
1033Germany2025-05-19
1034Italy2025-05-27
1035Russia2025-05-21
1036Spain2025-05-25
1037Argentina2025-05-27
1038Japan2025-05-10
1039Russia2025-05-21
1040France2025-05-08
1041Argentina2025-05-16
1042Japan2025-05-08
1043Spain2025-05-18
1044Canada2025-05-16
1045Germany2025-05-30
1046Canada2025-06-01
1047India2025-05-07
1048Germany2025-05-28
1049Australia2025-05-04

On-Demand Data

NameIdCountryDate
Smith T Perin1000United Kingdom2025-05-22
Julie H Iturbide1001Italy2025-05-25
Aditya V Maclead1002United Kingdom2025-05-15
David V Vocelka1003Italy2025-06-01
Sinclair L Tollner1004Argentina2025-05-28
Wickens J Waycott1005Russia2025-05-25
Ashley Q Briddick1006Australia2025-05-21
Salvatore C Briddick1007Germany2025-05-22
Kaitlin C Oldroyd1008Australia2025-05-14
Deepesh W Stenseth1009Brazil2025-05-20
Leon V Ostrosky1010Russia2025-05-03
Jeanfrancois C Tollner1011Australia2025-05-25
Maria C Iturbide1012Australia2025-05-30
Kadeem R Malet1013France2025-05-08
Murillo Y Foller1014Germany2025-05-24
Darci L Caldarera1015India2025-05-19
Kadeem B Sergi1016Germany2025-05-27
Arvin R Ostrosky1017Germany2025-05-04
Jennifer Z Tollner1018Canada2025-05-03
Aika G Nestle1019India2025-05-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois S ButtGermanyElwin Sharvill QUALIFIED
Greenwood A VenereUnited KingdomXuxue Feng NEGOTIATION
Francesco L PoquetteAustraliaBernardo Dominic QUALIFIED
Murillo F VocelkaUnited KingdomAmy Elsner NEGOTIATION
Adams M NestleBrazilIvan Magalhaes UNQUALIFIED
Munro Q ButtAustraliaIoni Bowcher NEW
Octavia J DarakjyArgentinaAnna Fali RENEWAL
Nicolas S PoquetteGermanyAsiya Javayant RENEWAL
Rodrigues V VenereRussiaAnna Fali RENEWAL
Adams E GillianBrazilAmy Elsner RENEWAL
Arvin U FlosiBrazilAsiya Javayant RENEWAL
James V GarufiRussiaAnna Fali NEW
Sinclair L InouyeFranceAmy Elsner UNQUALIFIED
David P StockhamUnited KingdomAmy Elsner NEW
Aika A OldroydItalyAmy Elsner NEW
Jeanfrancois F FollerCanadaAmy Elsner UNQUALIFIED
Johnson T FigeroaBrazilAmy Elsner UNQUALIFIED
Antonio Q DoeUnited KingdomIvan Magalhaes UNQUALIFIED
Faith J FlosiArgentinaAsiya Javayant PROPOSAL
Ricardo P ChuiCanadaBernardo Dominic UNQUALIFIED
Chavez M GarufiRussiaAmy Elsner RENEWAL
Jeanfrancois Y BowleyArgentinaStephen Shaw NEW
Darci B WaycottAustraliaIvan Magalhaes RENEWAL
Jeanfrancois Q FerenczGermanyStephen Shaw UNQUALIFIED
Adams Q CaldareraAustraliaAsiya Javayant UNQUALIFIED
Chavez K FollerRussiaAmy Elsner QUALIFIED
Munro P FollerIndiaIoni Bowcher RENEWAL
David B GarufiGermanyElwin Sharvill RENEWAL
David K OstroskyGermanyAmy Elsner NEW
Isabel T GarufiRussiaOnyama Limba RENEWAL
Leja V PoquetteJapanIoni Bowcher PROPOSAL
Emily X CaldareraAustraliaAmy Elsner QUALIFIED
Morrow D StockhamBrazilOnyama Limba NEGOTIATION
Aditya N SchemmerSpainIoni Bowcher PROPOSAL
Silvio P TollnerSpainIvan Magalhaes PROPOSAL
Alejandro P AmigonJapanElwin Sharvill RENEWAL
Nicolas X SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Julie J AmigonFranceAnna Fali QUALIFIED
David C DilliardCanadaIvan Magalhaes RENEWAL
Chavez B FerenczUnited KingdomIoni Bowcher RENEWAL

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