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
Clifford F MorascaItalyOnyama Limba NEW
Nicolas G SchemmerUnited KingdomBernardo Dominic RENEWAL
Mayumi R RulapaughAustraliaBernardo Dominic PROPOSAL
Arvin V SergiAustraliaBernardo Dominic NEGOTIATION
Kadeem F DoeItalyIoni Bowcher PROPOSAL
Costa F KuskoSpainBernardo Dominic PROPOSAL
Morrow R AmigonIndiaOnyama Limba PROPOSAL
James T SchemmerItalyElwin Sharvill NEW
Juan H OstroskyItalyOnyama Limba PROPOSAL
Arvin T WhobreyIndiaIvan Magalhaes NEW
Jefferson Y StensethSpainElwin Sharvill QUALIFIED
Costa J MorascaCanadaOnyama Limba PROPOSAL
Greenwood U MorascaFranceBernardo Dominic RENEWAL
Mayumi L NestleFranceAnna Fali QUALIFIED
Mayumi S CaldareraGermanyOnyama Limba NEW
Stacey F PaprockiRussiaStephen Shaw UNQUALIFIED
Maria L BologniaAustraliaAsiya Javayant RENEWAL
Jones I RoysterCanadaBernardo Dominic PROPOSAL
Jefferson C ShinkoCanadaIvan Magalhaes NEGOTIATION
Francesco D DarakjyCanadaBernardo Dominic NEW
Murillo Q GarufiIndiaIvan Magalhaes RENEWAL
Jennifer K SaylorsAustraliaAsiya Javayant NEGOTIATION
Sinclair C VenereItalyOnyama Limba UNQUALIFIED
Francesco X ChuiItalyElwin Sharvill UNQUALIFIED
David N PoquetteIndiaIvan Magalhaes UNQUALIFIED
Jones K CaldareraJapanIvan Magalhaes NEW
Emily O CampainUnited KingdomAmy Elsner RENEWAL
Greenwood M MacleadGermanyAsiya Javayant RENEWAL
Stacey I MarrierSpainOnyama Limba PROPOSAL
Ashley H CaudyRussiaIoni Bowcher NEGOTIATION
Misaki N AmigonCanadaIvan Magalhaes NEW
Adams J PoquetteCanadaStephen Shaw QUALIFIED
Nicolas S PerinRussiaIvan Magalhaes NEGOTIATION
Octavia I AlbaresRussiaOnyama Limba NEW
Murillo J MaletItalyAsiya Javayant NEW
Maria X KolmetzRussiaAsiya Javayant RENEWAL
Ivar B ChuiSpainAmy Elsner NEGOTIATION
Emily L MorascaAustraliaAnna Fali NEGOTIATION
Izzy Z CaudyRussiaXuxue Feng PROPOSAL
Sinclair B DarakjySpainIvan Magalhaes QUALIFIED
Mujtaba P FollerGermanyIvan Magalhaes QUALIFIED
Mujtaba W VocelkaSpainAnna Fali NEW
Jones X SlusarskiIndiaElwin Sharvill PROPOSAL
Darci I ButtBrazilBernardo Dominic UNQUALIFIED
Leon G CampainSpainOnyama Limba QUALIFIED
Ivar X KolmetzFranceAsiya Javayant UNQUALIFIED
Johnson S SlusarskiRussiaIoni Bowcher NEW
Aika G PerinCanadaStephen Shaw PROPOSAL
Izzy W GillianItalyXuxue Feng PROPOSAL
Jennifer C MaletItalyAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro B TollnerFranceOnyama Limba NEW
Juan Z WieserJapanAmy Elsner UNQUALIFIED
Isabel Z MaletRussiaElwin Sharvill UNQUALIFIED
James N BologniaFranceXuxue Feng NEGOTIATION
Faith G MaletSpainOnyama Limba PROPOSAL
Maria L WhobreyJapanXuxue Feng NEGOTIATION
Munro F MacleadArgentinaBernardo Dominic UNQUALIFIED
Arvin L GauchoRussiaAmy Elsner NEW
Antonio I InouyeAustraliaAsiya Javayant NEGOTIATION
Aruna W NickaUnited KingdomAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones Z NickaRussia2024-06-08Chapman, Ross E Esq NEGOTIATION58Ioni Bowcher
1001Misaki J MaletBrazil2024-06-05Commercial Press NEGOTIATION6Ivan Magalhaes
1002Smith Y FollerRussia2024-06-03Chanay, Jeffrey A Esq NEW37Amy Elsner
1003Aruna E FigeroaFrance2024-05-24Chemel, James L Cpa UNQUALIFIED24Onyama Limba
1004Jones D SlusarskiFrance2024-05-23Chemel, James L Cpa RENEWAL53Onyama Limba
1005Murillo G RulapaughCanada2024-05-17King, Christopher A Esq UNQUALIFIED39Amy Elsner
1006Aditya Y IturbideCanada2024-06-04Rousseaux, Michael Esq RENEWAL53Anna Fali
1007Chavez S RulapaughFrance2024-05-18Buckley Miller Wright QUALIFIED90Ivan Magalhaes
1008Julie L KolmetzIndia2024-06-14Dorl, James J Esq QUALIFIED40Onyama Limba
1009Stacey F KolmetzGermany2024-06-10Dorl, James J Esq RENEWAL38Stephen Shaw
1010Deepesh V RimGermany2024-06-09Feltz Printing Service NEGOTIATION63Onyama Limba
1011Rodrigues A OstroskyGermany2024-05-26Truhlar And Truhlar Attys PROPOSAL47Stephen Shaw
1012Kadeem U ChuiSpain2024-06-10Chapman, Ross E Esq RENEWAL49Anna Fali
1013Nicolas J DoeFrance2024-05-21King, Christopher A Esq NEW80Xuxue Feng
1014James E RulapaughItaly2024-06-04Feiner Bros NEW37Ioni Bowcher
1015Jefferson O FigeroaFrance2024-06-06Feltz Printing Service NEGOTIATION54Xuxue Feng
1016Chavez B KuskoAustralia2024-05-22Commercial Press UNQUALIFIED14Asiya Javayant
1017Maisha Z WieserSpain2024-06-13Rousseaux, Michael Esq QUALIFIED11Asiya Javayant
1018Ricardo T CampainUnited Kingdom2024-05-16Chanay, Jeffrey A Esq UNQUALIFIED49Onyama Limba
1019Clifford Z StockhamIndia2024-05-25Commercial Press PROPOSAL90Asiya Javayant
1020Jones Q RulapaughBrazil2024-05-19Truhlar And Truhlar Attys UNQUALIFIED82Bernardo Dominic
1021Ricardo D CaudyIndia2024-06-04Rousseaux, Michael Esq RENEWAL73Onyama Limba
1022Johnson Q MaletGermany2024-06-12Chemel, James L Cpa NEW68Xuxue Feng
1023Kadeem J OldroydArgentina2024-05-21Feltz Printing Service NEW52Ioni Bowcher
1024Jones Q FollerJapan2024-06-05Rangoni Of Florence NEGOTIATION86Elwin Sharvill
1025Greenwood G KolmetzCanada2024-05-17Rousseaux, Michael Esq NEW66Amy Elsner
1026Johnson X MaletJapan2024-05-16Morlong Associates PROPOSAL30Amy Elsner
1027Kaitlin S ChuiArgentina2024-06-03Chemel, James L Cpa PROPOSAL8Stephen Shaw
1028Adams X DarakjyAustralia2024-06-10Chapman, Ross E Esq NEW84Elwin Sharvill
1029Stacey G StensethGermany2024-06-05Chanay, Jeffrey A Esq PROPOSAL32Onyama Limba
1030Arvin B RulapaughSpain2024-06-14Buckley Miller Wright RENEWAL32Asiya Javayant
1031Sinclair H AmigonUnited Kingdom2024-06-03King, Christopher A Esq RENEWAL66Xuxue Feng
1032Chavez Y WaycottSpain2024-06-13Chemel, James L Cpa PROPOSAL64Ivan Magalhaes
1033Johnson O AlbaresFrance2024-06-06Rangoni Of Florence NEW34Ivan Magalhaes
1034Julie A WieserRussia2024-05-21Commercial Press NEW64Amy Elsner
1035Kaitlin T BologniaUnited Kingdom2024-05-30Rousseaux, Michael Esq NEW30Stephen Shaw
1036Antonio T GauchoBrazil2024-06-08Chemel, James L Cpa UNQUALIFIED94Anna Fali
1037Izzy G RoysterAustralia2024-06-08Truhlar And Truhlar Attys UNQUALIFIED19Ioni Bowcher
1038David X SchemmerArgentina2024-05-19Commercial Press RENEWAL70Anna Fali
1039Wickens I PoquetteSpain2024-05-22Chemel, James L Cpa PROPOSAL44Bernardo Dominic
1040Leon R SergiAustralia2024-06-04Buckley Miller Wright RENEWAL78Xuxue Feng
1041James K ShinkoJapan2024-05-29Benton, John B Jr RENEWAL59Anna Fali
1042Maisha L ButtUnited Kingdom2024-05-26Rangoni Of Florence PROPOSAL36Stephen Shaw
1043Ricardo N GarufiSpain2024-05-21King, Christopher A Esq NEW25Stephen Shaw
1044David L DarakjyAustralia2024-05-28Morlong Associates PROPOSAL26Ivan Magalhaes
1045Sinclair J WhobreyCanada2024-05-16Feltz Printing Service RENEWAL13Stephen Shaw
1046Clifford U DilliardFrance2024-05-31Chemel, James L Cpa NEGOTIATION85Asiya Javayant
1047Munro R ChuiIndia2024-05-19Truhlar And Truhlar Attys UNQUALIFIED22Xuxue Feng
1048Izzy X DoeCanada2024-05-25Morlong Associates PROPOSAL83Amy Elsner
1049Deepesh T RulapaughIndia2024-05-22Feiner Bros QUALIFIED88Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Silvio K CampainArgentinaIoni Bowcher PROPOSAL
Aika M MarrierCanadaStephen Shaw RENEWAL
Aruna Q OldroydFranceIoni Bowcher UNQUALIFIED
Clifford E IturbideGermanyAnna Fali QUALIFIED
David S GauchoBrazilElwin Sharvill NEW
Mayumi L SchemmerRussiaXuxue Feng NEGOTIATION
Francesco Q TollnerItalyAmy Elsner RENEWAL
Smith P MacleadGermanyAnna Fali QUALIFIED
Ricardo A NestleIndiaAnna Fali RENEWAL
Jeanfrancois K StensethFranceAsiya Javayant QUALIFIED
David V BologniaRussiaXuxue Feng NEGOTIATION
Nicolas S SlusarskiArgentinaIoni Bowcher QUALIFIED
Francesco G SaylorsItalyIoni Bowcher RENEWAL
Johnson J CampainJapanAnna Fali UNQUALIFIED
Claire S FigeroaBrazilOnyama Limba PROPOSAL
Aruna X MarrierArgentinaIvan Magalhaes RENEWAL
Maria N ShinkoItalyAnna Fali NEGOTIATION
Wickens K PerinArgentinaAmy Elsner RENEWAL
Maisha R VocelkaUnited KingdomIvan Magalhaes QUALIFIED
Aditya A MacleadArgentinaIoni Bowcher UNQUALIFIED
Alejandro T CaudySpainXuxue Feng NEGOTIATION
Aruna X DoeFranceIvan Magalhaes PROPOSAL
Salvatore S CampainFranceAnna Fali NEW
Jefferson K BowleyCanadaAmy Elsner NEGOTIATION
Johnson E CaldareraBrazilAsiya Javayant NEGOTIATION
Arvin L NestleBrazilBernardo Dominic PROPOSAL
Wickens I DarakjyArgentinaIvan Magalhaes QUALIFIED
Greenwood S MaletAustraliaElwin Sharvill NEW
Jones Z OldroydAustraliaIoni Bowcher NEW
Ricardo T AmigonCanadaIoni Bowcher UNQUALIFIED
Emily E KuskoRussiaBernardo Dominic PROPOSAL
Munro J SaylorsGermanyAmy Elsner NEGOTIATION
Aika F CaldareraJapanAmy Elsner QUALIFIED
Nicolas X WieserBrazilIoni Bowcher NEW
Claire N SaylorsJapanElwin Sharvill NEGOTIATION
Munro Z StockhamFranceIvan Magalhaes UNQUALIFIED
Mujtaba Q PoquetteFranceXuxue Feng RENEWAL
Cody X TollnerFranceStephen Shaw RENEWAL
Wickens O PoquetteGermanyIoni Bowcher UNQUALIFIED
Johnson Y RutaCanadaXuxue Feng RENEWAL
Ashley F PerinUnited KingdomXuxue Feng QUALIFIED
Jefferson C SergiItalyIvan Magalhaes PROPOSAL
Rodrigues X KolmetzIndiaAsiya Javayant NEGOTIATION
Stacey O IturbideJapanIoni Bowcher UNQUALIFIED
Isabel Y KolmetzUnited KingdomStephen Shaw PROPOSAL
Arvin C DarakjyJapanXuxue Feng NEGOTIATION
Leon R BowleyFranceOnyama Limba UNQUALIFIED
James T OldroydFranceStephen Shaw NEGOTIATION
Kadeem S NestleJapanOnyama Limba NEGOTIATION
Mujtaba V BriddickFranceStephen Shaw QUALIFIED
Frozen Columns
Name
Claire C Doe
Salvatore P Albares
Munro V Paprocki
Wickens S Venere
Izzy A Maclead
Tony Z Caldarera
Rodrigues H Slusarski
Morrow Y Caudy
Julie L Tollner
Johnson E Chui
Izzy H Amigon
Jeanfrancois A Nicka
Clifford D Darakjy
Ivar L Figeroa
Ivar L Perin
Octavia Z Maclead
Juan R Shinko
Darci I Morasca
Rodrigues P Stockham
Jeanfrancois M Tollner
Julie R Schemmer
Rodrigues L Flosi
Jeanfrancois E Malet
Francesco D Malet
Rodrigues G Rulapaugh
Leon E Stenseth
Leon J Stenseth
Stacey E Vocelka
Salvatore N Nicka
Ivar I Malet
Sinclair B Malet
Izzy J Bowley
Tony Y Ferencz
Ivar Y Nicka
Sinclair R Gillian
Morrow M Doe
Leon H Ruta
Greenwood N Maclead
Arvin A Schemmer
Aditya A Venere
Morrow P Nicka
Smith P Butt
Juan Y Doe
Wickens I Bowley
Maria T Rulapaugh
Antonio J Whobrey
Francesco T Stockham
Izzy J Chui
Kaitlin O Vocelka
Antonio A Gaucho
IdCountryDate
1000Spain2024-05-17
1001Australia2024-06-13
1002India2024-06-08
1003Canada2024-05-25
1004France2024-05-19
1005Australia2024-05-31
1006Australia2024-06-07
1007Germany2024-05-17
1008Brazil2024-06-14
1009Japan2024-05-19
1010Japan2024-05-16
1011Brazil2024-05-21
1012Russia2024-05-27
1013Germany2024-06-02
1014Australia2024-05-25
1015Canada2024-06-13
1016Germany2024-06-03
1017Spain2024-05-27
1018India2024-05-31
1019France2024-06-13
1020Italy2024-05-17
1021Australia2024-05-25
1022United Kingdom2024-06-01
1023Japan2024-05-24
1024Germany2024-05-29
1025Germany2024-06-04
1026France2024-05-27
1027Australia2024-06-10
1028Germany2024-05-19
1029Italy2024-06-10
1030Brazil2024-05-29
1031United Kingdom2024-05-20
1032Italy2024-06-06
1033Spain2024-05-20
1034United Kingdom2024-06-01
1035Australia2024-05-29
1036France2024-06-09
1037India2024-05-23
1038Japan2024-05-20
1039Russia2024-05-29
1040Japan2024-05-27
1041Russia2024-05-29
1042Argentina2024-06-02
1043Russia2024-05-17
1044Russia2024-06-07
1045Russia2024-05-29
1046Japan2024-06-13
1047Argentina2024-05-21
1048Brazil2024-06-10
1049India2024-06-04

On-Demand Data

NameIdCountryDate
Maisha V Rim1000Italy2024-06-01
Nicolas W Stockham1001Russia2024-06-14
James W Schemmer1002Spain2024-05-22
Claire M Oldroyd1003Spain2024-06-14
Munro Q Rulapaugh1004Germany2024-05-28
David D Malet1005Italy2024-06-10
Greenwood K Iturbide1006Italy2024-05-16
Greenwood D Foller1007Spain2024-06-01
Munro S Briddick1008Spain2024-06-02
Deepesh B Garufi1009Germany2024-05-25
Morrow S Sergi1010Italy2024-05-21
Ashley F Inouye1011Russia2024-05-29
Maria I Kolmetz1012Spain2024-06-08
Jefferson Y Chui1013Brazil2024-06-12
Clifford V Ferencz1014Canada2024-06-05
Chavez E Tollner1015Canada2024-06-10
Francesco L Caldarera1016Brazil2024-06-13
Ivar C Sergi1017Germany2024-05-29
Johnson G Nestle1018Canada2024-06-12
Clifford X Bowley1019United Kingdom2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar X WaycottFranceXuxue Feng NEGOTIATION
Emily D RimAustraliaStephen Shaw RENEWAL
Salvatore A MacleadItalyAmy Elsner QUALIFIED
Mujtaba N PerinGermanyStephen Shaw UNQUALIFIED
Mujtaba J DilliardRussiaAmy Elsner QUALIFIED
Octavia D InouyeIndiaAnna Fali NEW
Maisha J FollerCanadaOnyama Limba NEGOTIATION
Maisha A KuskoBrazilBernardo Dominic RENEWAL
Aika J MarrierRussiaAnna Fali NEW
Aditya U CampainAustraliaBernardo Dominic UNQUALIFIED
Kadeem K GlickUnited KingdomAnna Fali NEW
Rodrigues O MarrierUnited KingdomAnna Fali NEGOTIATION
Clifford P ShinkoItalyOnyama Limba RENEWAL
Francesco K StockhamRussiaBernardo Dominic NEGOTIATION
Munro K FlosiUnited KingdomOnyama Limba RENEWAL
Maria M SergiCanadaXuxue Feng PROPOSAL
Costa Y FlosiIndiaAnna Fali RENEWAL
Juan H SaylorsSpainAsiya Javayant NEW
David I CampainUnited KingdomStephen Shaw UNQUALIFIED
Smith K CaldareraArgentinaIoni Bowcher RENEWAL
Cody J FerenczUnited KingdomOnyama Limba UNQUALIFIED
Silvio P PaprockiIndiaElwin Sharvill NEGOTIATION
Salvatore V FerenczArgentinaXuxue Feng UNQUALIFIED
Clifford Z OstroskyGermanyElwin Sharvill NEW
Costa A MarrierBrazilIvan Magalhaes QUALIFIED
Jones L GarufiUnited KingdomStephen Shaw RENEWAL
Juan T CaudyUnited KingdomOnyama Limba NEGOTIATION
Jennifer T GarufiArgentinaElwin Sharvill NEGOTIATION
Misaki G AlbaresCanadaXuxue Feng NEW
Antonio G OldroydBrazilIoni Bowcher NEGOTIATION
Mayumi N BriddickFranceStephen Shaw NEW
Claire O IturbideJapanElwin Sharvill QUALIFIED
Leon Q WieserAustraliaBernardo Dominic PROPOSAL
Jeanfrancois C FigeroaBrazilIvan Magalhaes UNQUALIFIED
Leja U RimBrazilIvan Magalhaes PROPOSAL
Ricardo C DilliardUnited KingdomXuxue Feng QUALIFIED
Jones T PoquetteRussiaXuxue Feng QUALIFIED
Claire J ShinkoItalyAmy Elsner RENEWAL
Darci B SergiItalyXuxue Feng PROPOSAL
Mujtaba N SergiRussiaElwin Sharvill 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>