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
Julie R MaletArgentinaElwin Sharvill PROPOSAL
Darci X RutaSpainBernardo Dominic PROPOSAL
Julie K FlosiFranceElwin Sharvill PROPOSAL
Johnson W BriddickFranceOnyama Limba NEW
Ivar G WieserItalyElwin Sharvill UNQUALIFIED
Jeanfrancois B OstroskySpainAsiya Javayant NEGOTIATION
Aditya J KuskoJapanAnna Fali NEGOTIATION
Leon M PerinUnited KingdomElwin Sharvill UNQUALIFIED
Aruna E RoysterJapanOnyama Limba PROPOSAL
Chavez U FlosiJapanBernardo Dominic PROPOSAL
Aditya O StensethAustraliaBernardo Dominic RENEWAL
Greenwood A MarrierItalyAsiya Javayant QUALIFIED
Maria L GlickFranceBernardo Dominic UNQUALIFIED
Costa L GillianFranceAnna Fali NEW
Emily Z NestleIndiaStephen Shaw PROPOSAL
Misaki C TollnerCanadaBernardo Dominic NEW
Wickens J DoeGermanyAsiya Javayant PROPOSAL
David H GarufiCanadaElwin Sharvill UNQUALIFIED
Munro R WaycottJapanXuxue Feng PROPOSAL
Jennifer Y OldroydFranceAsiya Javayant UNQUALIFIED
Ashley T RoysterJapanElwin Sharvill NEGOTIATION
Emily L RimGermanyAnna Fali QUALIFIED
Julie K FerenczSpainIvan Magalhaes NEGOTIATION
Smith M MaletCanadaAsiya Javayant RENEWAL
Clifford M CaudyJapanElwin Sharvill RENEWAL
Wickens A MaletGermanyElwin Sharvill NEW
Claire M PaprockiAustraliaAmy Elsner NEW
Misaki U WhobreyArgentinaBernardo Dominic NEGOTIATION
Adams X GillianSpainBernardo Dominic UNQUALIFIED
Izzy I MaletIndiaAnna Fali RENEWAL
Adams C IturbideJapanIoni Bowcher UNQUALIFIED
Salvatore M DilliardIndiaStephen Shaw RENEWAL
Jefferson D DilliardUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois D ChuiCanadaElwin Sharvill PROPOSAL
Ashley T RoysterIndiaOnyama Limba RENEWAL
Leon T FlosiArgentinaXuxue Feng UNQUALIFIED
Deepesh X InouyeFranceOnyama Limba UNQUALIFIED
Aditya K SchemmerSpainAsiya Javayant NEGOTIATION
Mujtaba N OldroydArgentinaAsiya Javayant RENEWAL
Nicolas Q MaletSpainAnna Fali QUALIFIED
Ivar B RimRussiaBernardo Dominic QUALIFIED
Deepesh G ButtIndiaOnyama Limba QUALIFIED
Ashley S BologniaGermanyStephen Shaw UNQUALIFIED
Morrow K RutaJapanAsiya Javayant UNQUALIFIED
Smith V PoquetteArgentinaIoni Bowcher NEW
Darci O MarrierIndiaAmy Elsner UNQUALIFIED
James P MaletArgentinaXuxue Feng PROPOSAL
Claire W StensethBrazilOnyama Limba RENEWAL
Antonio I GauchoItalyOnyama Limba RENEWAL
Juan Z FigeroaUnited KingdomBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie U DarakjySpainAmy Elsner NEW
Octavia P IturbideIndiaIvan Magalhaes RENEWAL
Maria G FerenczUnited KingdomIoni Bowcher UNQUALIFIED
Adams T DarakjyGermanyAnna Fali NEW
Johnson P IturbideCanadaStephen Shaw UNQUALIFIED
Ivar Q ShinkoIndiaOnyama Limba QUALIFIED
Mujtaba C TollnerSpainAmy Elsner PROPOSAL
Jeanfrancois Q VenereUnited KingdomAnna Fali UNQUALIFIED
Tony T BowleyUnited KingdomIoni Bowcher NEGOTIATION
Darci N ShinkoIndiaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha V StockhamCanada2025-04-18Commercial Press PROPOSAL6Ivan Magalhaes
1001Tony K CaldareraUnited Kingdom2025-04-11Rangoni Of Florence QUALIFIED41Bernardo Dominic
1002Octavia J RimSpain2025-04-12Buckley Miller Wright UNQUALIFIED57Asiya Javayant
1003Arvin G KuskoCanada2025-04-20Rousseaux, Michael Esq UNQUALIFIED31Onyama Limba
1004Smith E FollerIndia2025-04-28Benton, John B Jr RENEWAL51Xuxue Feng
1005Stacey F ButtArgentina2025-04-23Chanay, Jeffrey A Esq NEW47Elwin Sharvill
1006Rodrigues K NickaRussia2025-04-01Buckley Miller Wright RENEWAL92Amy Elsner
1007Jeanfrancois Z VenereArgentina2025-04-23Chemel, James L Cpa NEGOTIATION4Bernardo Dominic
1008Jennifer F KuskoFrance2025-04-02Chemel, James L Cpa NEW60Anna Fali
1009Francesco P KolmetzGermany2025-04-23Feltz Printing Service QUALIFIED31Ioni Bowcher
1010Nicolas M VenereUnited Kingdom2025-04-05Chapman, Ross E Esq NEGOTIATION20Anna Fali
1011Deepesh I AmigonSpain2025-04-19Feltz Printing Service QUALIFIED64Ivan Magalhaes
1012Ashley H VenereJapan2025-04-29Printing Dimensions RENEWAL96Ivan Magalhaes
1013Sinclair M RulapaughGermany2025-04-24Feltz Printing Service QUALIFIED46Asiya Javayant
1014Julie D OstroskySpain2025-04-10Printing Dimensions PROPOSAL51Bernardo Dominic
1015Nicolas F RimGermany2025-03-31Truhlar And Truhlar Attys NEGOTIATION97Amy Elsner
1016Adams Y CampainFrance2025-04-29Printing Dimensions NEW46Bernardo Dominic
1017David G FollerBrazil2025-04-18Feiner Bros PROPOSAL20Anna Fali
1018Nicolas V DilliardUnited Kingdom2025-04-05Chemel, James L Cpa UNQUALIFIED45Stephen Shaw
1019Ivar W FollerItaly2025-04-04Feltz Printing Service PROPOSAL1Ivan Magalhaes
1020Johnson C BowleyBrazil2025-04-13Chapman, Ross E Esq QUALIFIED7Bernardo Dominic
1021Kadeem X StockhamAustralia2025-04-03King, Christopher A Esq RENEWAL34Xuxue Feng
1022Nicolas O CaldareraIndia2025-04-08Chanay, Jeffrey A Esq NEGOTIATION30Onyama Limba
1023David A MaletAustralia2025-04-19Commercial Press NEW14Ivan Magalhaes
1024Claire I IturbideItaly2025-04-23Rousseaux, Michael Esq UNQUALIFIED62Onyama Limba
1025Murillo N RoysterBrazil2025-04-16Rousseaux, Michael Esq PROPOSAL56Anna Fali
1026Ivar V FigeroaItaly2025-04-28Chanay, Jeffrey A Esq UNQUALIFIED35Amy Elsner
1027Morrow R SaylorsCanada2025-04-17Chemel, James L Cpa NEGOTIATION5Ivan Magalhaes
1028Johnson C RulapaughJapan2025-04-19Chapman, Ross E Esq UNQUALIFIED19Xuxue Feng
1029Adams G StensethIndia2025-04-04Printing Dimensions UNQUALIFIED73Xuxue Feng
1030Clifford H PerinAustralia2025-04-14Chemel, James L Cpa PROPOSAL71Onyama Limba
1031Munro F GarufiGermany2025-04-22Printing Dimensions PROPOSAL82Bernardo Dominic
1032Murillo J CampainArgentina2025-04-23King, Christopher A Esq QUALIFIED44Bernardo Dominic
1033Murillo O WieserCanada2025-04-11Dorl, James J Esq UNQUALIFIED22Stephen Shaw
1034Julie H WieserJapan2025-04-24Dorl, James J Esq RENEWAL32Bernardo Dominic
1035Murillo J MacleadRussia2025-04-18Dorl, James J Esq QUALIFIED80Ivan Magalhaes
1036Leja Q WhobreyAustralia2025-04-25Truhlar And Truhlar Attys QUALIFIED4Elwin Sharvill
1037Deepesh I NickaAustralia2025-04-26Rangoni Of Florence NEGOTIATION77Asiya Javayant
1038Maisha S GarufiBrazil2025-04-22Rangoni Of Florence UNQUALIFIED11Anna Fali
1039Munro Y PerinItaly2025-04-15Dorl, James J Esq QUALIFIED36Onyama Limba
1040Misaki A FollerIndia2025-04-05Buckley Miller Wright NEGOTIATION39Amy Elsner
1041Stacey E WhobreyFrance2025-04-22Chapman, Ross E Esq PROPOSAL8Elwin Sharvill
1042Johnson A BologniaFrance2025-04-17Commercial Press UNQUALIFIED48Elwin Sharvill
1043Rodrigues B SlusarskiRussia2025-04-22Dorl, James J Esq RENEWAL28Amy Elsner
1044Jefferson G InouyeCanada2025-04-01Rangoni Of Florence NEGOTIATION64Onyama Limba
1045Maisha W CaldareraItaly2025-04-10Rousseaux, Michael Esq UNQUALIFIED0Elwin Sharvill
1046Isabel C StockhamGermany2025-04-24Printing Dimensions RENEWAL48Xuxue Feng
1047Faith V NickaAustralia2025-04-19Dorl, James J Esq NEW23Xuxue Feng
1048Aruna I GauchoSpain2025-04-16Truhlar And Truhlar Attys UNQUALIFIED8Bernardo Dominic
1049Jeanfrancois F SaylorsJapan2025-04-24Morlong Associates PROPOSAL2Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Silvio P WaycottAustraliaAsiya Javayant RENEWAL
Aditya T MarrierIndiaOnyama Limba RENEWAL
Aruna Z IturbideUnited KingdomXuxue Feng NEGOTIATION
Jones G PoquetteSpainStephen Shaw NEGOTIATION
David D CampainUnited KingdomIvan Magalhaes RENEWAL
Leja D TollnerFranceStephen Shaw QUALIFIED
Rodrigues U SlusarskiAustraliaIoni Bowcher RENEWAL
Ivar L MarrierGermanyOnyama Limba RENEWAL
Silvio B StensethCanadaOnyama Limba NEW
Isabel N SlusarskiUnited KingdomOnyama Limba QUALIFIED
Deepesh A BriddickJapanAnna Fali NEW
Aditya H AmigonCanadaAsiya Javayant PROPOSAL
Claire J IturbideAustraliaXuxue Feng NEW
Salvatore U MacleadIndiaAnna Fali PROPOSAL
Ashley S RoysterCanadaStephen Shaw NEGOTIATION
Chavez Q DoeIndiaIvan Magalhaes NEW
Jefferson S PerinJapanElwin Sharvill NEW
Adams X RimFranceOnyama Limba UNQUALIFIED
Kadeem Q MarrierJapanAsiya Javayant NEGOTIATION
Kadeem F InouyeIndiaElwin Sharvill QUALIFIED
Adams M OstroskyArgentinaElwin Sharvill RENEWAL
Francesco U RimUnited KingdomStephen Shaw UNQUALIFIED
Aika Y OldroydArgentinaElwin Sharvill RENEWAL
Smith W VocelkaItalyXuxue Feng QUALIFIED
Ashley E VocelkaCanadaIoni Bowcher RENEWAL
Adams R KolmetzIndiaBernardo Dominic PROPOSAL
Misaki J CaudyJapanBernardo Dominic NEGOTIATION
James X ChuiRussiaBernardo Dominic UNQUALIFIED
Clifford C RulapaughAustraliaIvan Magalhaes PROPOSAL
Faith S AmigonCanadaIvan Magalhaes QUALIFIED
Octavia N OstroskyRussiaBernardo Dominic NEGOTIATION
Izzy S RulapaughJapanOnyama Limba QUALIFIED
Johnson W RimSpainOnyama Limba RENEWAL
Misaki H PerinFranceOnyama Limba UNQUALIFIED
David X WhobreySpainAnna Fali NEW
Izzy R CaudyFranceAsiya Javayant RENEWAL
Jeanfrancois M RulapaughRussiaAmy Elsner QUALIFIED
Murillo C VenereAustraliaXuxue Feng UNQUALIFIED
Leja R FigeroaJapanAsiya Javayant PROPOSAL
Ashley H NickaItalyOnyama Limba PROPOSAL
Aditya B RoysterItalyXuxue Feng NEGOTIATION
Mayumi C StensethItalyAsiya Javayant UNQUALIFIED
Johnson G CaldareraSpainBernardo Dominic NEW
Deepesh W AlbaresItalyElwin Sharvill UNQUALIFIED
Misaki Q KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Octavia T SlusarskiFranceXuxue Feng UNQUALIFIED
Ricardo G RulapaughArgentinaXuxue Feng RENEWAL
Munro F GarufiGermanyAsiya Javayant RENEWAL
Jennifer D AlbaresSpainAmy Elsner PROPOSAL
Stacey S GlickSpainAsiya Javayant PROPOSAL
Frozen Columns
Name
Misaki O Paprocki
Antonio W Waycott
Leja L Garufi
Mayumi V Ruta
Alejandro A Schemmer
Octavia N Gillian
Leja E Whobrey
David M Doe
Jennifer L Garufi
Sinclair F Stockham
Antonio E Butt
Johnson B Schemmer
Rodrigues K Figeroa
David T Perin
Arvin Y Bolognia
Tony B Stockham
Alejandro O Wieser
Stacey C Malet
Stacey V Darakjy
Stacey D Vocelka
Alejandro E Iturbide
Aditya B Rim
Arvin I Flosi
Emily W Shinko
Murillo T Perin
Adams J Doe
Aika X Venere
Adams N Whobrey
Johnson Y Garufi
Aruna M Malet
Adams X Butt
Rodrigues O Amigon
Jeanfrancois R Malet
Izzy P Garufi
Rodrigues A Chui
Julie B Saylors
Ashley U Royster
Maisha L Flosi
Aika J Rim
Francesco E Paprocki
Rodrigues V Chui
Nicolas A Foller
Rodrigues Q Gaucho
James S Dilliard
Claire N Malet
Adams P Poquette
Smith I Stockham
Juan E Paprocki
Munro B Gaucho
Cody S Shinko
IdCountryDate
1000Germany2025-04-04
1001Argentina2025-04-12
1002Russia2025-04-20
1003United Kingdom2025-04-18
1004Italy2025-04-17
1005France2025-04-09
1006Germany2025-04-22
1007United Kingdom2025-04-03
1008France2025-04-14
1009Spain2025-04-12
1010Russia2025-04-23
1011France2025-04-01
1012Canada2025-04-10
1013Canada2025-04-02
1014Japan2025-04-27
1015United Kingdom2025-04-27
1016Brazil2025-04-18
1017Spain2025-04-01
1018France2025-04-07
1019Spain2025-04-01
1020Germany2025-04-18
1021India2025-04-11
1022Canada2025-04-25
1023Japan2025-04-07
1024Italy2025-03-31
1025Germany2025-04-21
1026Brazil2025-04-11
1027Australia2025-04-15
1028Russia2025-04-24
1029France2025-03-31
1030France2025-04-12
1031Australia2025-04-07
1032Germany2025-04-04
1033Spain2025-04-11
1034Brazil2025-04-09
1035United Kingdom2025-04-10
1036Russia2025-04-03
1037Germany2025-04-26
1038Australia2025-04-06
1039Spain2025-04-04
1040Canada2025-04-25
1041Germany2025-04-13
1042United Kingdom2025-04-21
1043India2025-04-17
1044Russia2025-04-14
1045Russia2025-04-14
1046Brazil2025-04-25
1047Italy2025-04-18
1048Japan2025-04-17
1049Italy2025-04-10

On-Demand Data

NameIdCountryDate
Wickens H Amigon1000Italy2025-04-01
Mayumi I Caldarera1001Japan2025-04-18
Greenwood J Poquette1002Brazil2025-04-19
Maisha F Caudy1003Brazil2025-04-29
Kaitlin P Caldarera1004France2025-04-02
Munro Y Waycott1005Argentina2025-04-19
Octavia T Wieser1006Australia2025-04-21
Morrow Y Glick1007United Kingdom2025-04-28
Aika C Ostrosky1008Argentina2025-04-07
Murillo P Stenseth1009Russia2025-04-06
Leon J Kolmetz1010Argentina2025-04-28
Munro X Rulapaugh1011Japan2025-04-16
Izzy I Nestle1012Russia2025-04-26
Ashley D Rim1013Spain2025-04-18
Francesco A Ferencz1014Australia2025-04-23
Chavez W Iturbide1015Italy2025-04-19
Jeanfrancois L Ostrosky1016Australia2025-04-10
Ashley Y Albares1017India2025-04-19
Wickens A Saylors1018Russia2025-04-04
Jennifer D Maclead1019Germany2025-04-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio U InouyeGermanyXuxue Feng QUALIFIED
Emily N DoeCanadaOnyama Limba UNQUALIFIED
Silvio M AlbaresGermanyAnna Fali NEW
Mujtaba A FollerAustraliaStephen Shaw NEW
Misaki O BologniaFranceStephen Shaw NEGOTIATION
Aika I AlbaresGermanyIoni Bowcher PROPOSAL
Misaki M WieserUnited KingdomIoni Bowcher NEW
Jefferson K MaletBrazilBernardo Dominic NEGOTIATION
Kaitlin T ButtRussiaAnna Fali UNQUALIFIED
Jennifer Y FerenczCanadaIoni Bowcher NEGOTIATION
Sinclair U InouyeRussiaIvan Magalhaes NEGOTIATION
Faith P KolmetzCanadaBernardo Dominic RENEWAL
Morrow O InouyeCanadaBernardo Dominic QUALIFIED
Leja E InouyeCanadaStephen Shaw RENEWAL
Salvatore D InouyeArgentinaOnyama Limba QUALIFIED
Jeanfrancois K NestleGermanyIoni Bowcher RENEWAL
Deepesh N MaletFranceOnyama Limba NEW
Leja H AmigonGermanyAnna Fali NEGOTIATION
Salvatore Y AmigonGermanyIvan Magalhaes NEW
Adams X RutaJapanIvan Magalhaes QUALIFIED
Cody I VenereRussiaAsiya Javayant NEW
Leon V CaldareraAustraliaOnyama Limba RENEWAL
Julie K CaldareraGermanyAmy Elsner PROPOSAL
Leja D IturbideBrazilBernardo Dominic RENEWAL
Jefferson I SergiBrazilIoni Bowcher NEGOTIATION
Johnson K RimGermanyAnna Fali NEGOTIATION
Mujtaba F SergiUnited KingdomBernardo Dominic NEW
David N RulapaughGermanyStephen Shaw PROPOSAL
Smith F BowleyJapanAmy Elsner NEGOTIATION
Claire B InouyeIndiaElwin Sharvill UNQUALIFIED
Morrow N MorascaSpainElwin Sharvill NEW
Johnson U KuskoUnited KingdomIoni Bowcher PROPOSAL
Juan A InouyeItalyAnna Fali UNQUALIFIED
Jones F PerinSpainXuxue Feng QUALIFIED
Arvin Y SlusarskiFranceIoni Bowcher NEW
Alejandro M MarrierRussiaStephen Shaw UNQUALIFIED
Leja J SchemmerArgentinaElwin Sharvill QUALIFIED
Maria O VocelkaJapanIvan Magalhaes NEW
Maria Y SergiUnited KingdomOnyama Limba NEW
Aditya J WaycottIndiaIoni Bowcher 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>