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
David Z BowleyBrazilOnyama Limba UNQUALIFIED
Deepesh E InouyeSpainAnna Fali QUALIFIED
Aika G RoysterRussiaXuxue Feng NEGOTIATION
Tony Y AmigonCanadaIvan Magalhaes NEGOTIATION
Ricardo X CaudyArgentinaXuxue Feng PROPOSAL
Costa V GlickUnited KingdomXuxue Feng PROPOSAL
Octavia X FlosiBrazilBernardo Dominic NEGOTIATION
Aruna G RimItalyAsiya Javayant NEW
Antonio N NestleItalyOnyama Limba NEW
Leon E SaylorsUnited KingdomElwin Sharvill QUALIFIED
Wickens G DarakjyArgentinaIoni Bowcher NEW
Murillo H MacleadUnited KingdomIvan Magalhaes QUALIFIED
Arvin G OldroydBrazilAmy Elsner NEW
Izzy B WieserItalyElwin Sharvill QUALIFIED
Jefferson S GarufiIndiaAmy Elsner NEW
Juan Z CaudyUnited KingdomAmy Elsner PROPOSAL
Johnson T CaudyJapanStephen Shaw UNQUALIFIED
James I NestleCanadaAsiya Javayant PROPOSAL
Tony D DarakjyCanadaIvan Magalhaes UNQUALIFIED
Ivar U FerenczGermanyElwin Sharvill RENEWAL
Jennifer S GauchoArgentinaStephen Shaw QUALIFIED
Aditya N WhobreyJapanStephen Shaw RENEWAL
Rodrigues L DarakjyUnited KingdomXuxue Feng NEW
Ivar A OstroskySpainBernardo Dominic NEGOTIATION
Aditya F SergiArgentinaBernardo Dominic RENEWAL
Chavez J SchemmerIndiaIvan Magalhaes NEGOTIATION
Chavez G ButtIndiaAsiya Javayant PROPOSAL
Ivar H CampainArgentinaBernardo Dominic NEW
Maisha H FigeroaCanadaAsiya Javayant PROPOSAL
Juan P CampainSpainAmy Elsner QUALIFIED
Silvio K MaletArgentinaBernardo Dominic NEGOTIATION
Smith P ButtBrazilOnyama Limba UNQUALIFIED
Silvio E KolmetzUnited KingdomIoni Bowcher UNQUALIFIED
Isabel L IturbideJapanAsiya Javayant PROPOSAL
Nicolas L OldroydRussiaElwin Sharvill NEGOTIATION
Maisha Q DoeJapanOnyama Limba UNQUALIFIED
Alejandro B ShinkoRussiaXuxue Feng UNQUALIFIED
Silvio B RutaGermanyElwin Sharvill UNQUALIFIED
Nicolas I MorascaCanadaAnna Fali UNQUALIFIED
Greenwood E VocelkaItalyElwin Sharvill NEGOTIATION
Deepesh W GlickUnited KingdomIvan Magalhaes UNQUALIFIED
Leja C InouyeFranceXuxue Feng RENEWAL
Costa O NickaIndiaBernardo Dominic QUALIFIED
Jones Z SlusarskiRussiaAmy Elsner PROPOSAL
Kaitlin X CaudyArgentinaXuxue Feng PROPOSAL
Salvatore U CaudyUnited KingdomAsiya Javayant QUALIFIED
Munro N BologniaIndiaAsiya Javayant QUALIFIED
Johnson W PoquetteAustraliaAnna Fali NEGOTIATION
Ricardo D WhobreyRussiaIoni Bowcher NEGOTIATION
Sinclair V GlickCanadaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Kadeem K RoysterIndiaIvan Magalhaes NEW
Ashley V NestleItalyAnna Fali RENEWAL
Ivar M VenereArgentinaAsiya Javayant RENEWAL
Mayumi T GlickCanadaAsiya Javayant RENEWAL
Kaitlin U WaycottRussiaStephen Shaw PROPOSAL
Kadeem N WieserJapanAmy Elsner PROPOSAL
Misaki E BologniaBrazilXuxue Feng PROPOSAL
Tony T GlickCanadaBernardo Dominic PROPOSAL
James J GlickAustraliaElwin Sharvill RENEWAL
Juan K AmigonJapanStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh B DilliardArgentina2024-05-08Commercial Press RENEWAL83Ioni Bowcher
1001Leon Z GlickSpain2024-05-14Truhlar And Truhlar Attys NEGOTIATION42Ivan Magalhaes
1002Silvio K OldroydAustralia2024-05-21King, Christopher A Esq RENEWAL93Amy Elsner
1003Tony N GarufiJapan2024-05-20Morlong Associates QUALIFIED4Bernardo Dominic
1004Aruna X RimIndia2024-05-08Rousseaux, Michael Esq UNQUALIFIED90Bernardo Dominic
1005Johnson S OldroydSpain2024-05-18Rangoni Of Florence NEW49Ivan Magalhaes
1006Greenwood T MaletRussia2024-04-27Chemel, James L Cpa PROPOSAL38Asiya Javayant
1007Leja N RulapaughArgentina2024-04-26Rangoni Of Florence NEGOTIATION32Onyama Limba
1008James Q PerinJapan2024-05-19Chapman, Ross E Esq QUALIFIED97Stephen Shaw
1009Jeanfrancois Y RoysterGermany2024-05-18Feiner Bros NEGOTIATION96Xuxue Feng
1010Ashley V RoysterBrazil2024-04-25Rousseaux, Michael Esq RENEWAL29Amy Elsner
1011Kaitlin L VocelkaAustralia2024-05-07Feiner Bros NEGOTIATION68Amy Elsner
1012Costa O PoquetteFrance2024-05-24Truhlar And Truhlar Attys UNQUALIFIED93Asiya Javayant
1013Alejandro M TollnerRussia2024-05-15Chanay, Jeffrey A Esq QUALIFIED26Amy Elsner
1014Munro D DarakjyGermany2024-04-30Feltz Printing Service RENEWAL90Ioni Bowcher
1015Kadeem M PoquetteAustralia2024-05-14Benton, John B Jr UNQUALIFIED49Bernardo Dominic
1016Jeanfrancois D GillianGermany2024-05-17Printing Dimensions NEW43Bernardo Dominic
1017Julie D SlusarskiUnited Kingdom2024-05-09Rousseaux, Michael Esq QUALIFIED12Ivan Magalhaes
1018Octavia X InouyeSpain2024-05-20Morlong Associates QUALIFIED57Asiya Javayant
1019Cody S SergiUnited Kingdom2024-05-07Feiner Bros RENEWAL89Xuxue Feng
1020Faith D KuskoFrance2024-04-29Rangoni Of Florence PROPOSAL32Onyama Limba
1021Johnson Q RimUnited Kingdom2024-05-03Buckley Miller Wright RENEWAL63Xuxue Feng
1022Silvio I IturbideJapan2024-05-03Morlong Associates QUALIFIED88Ioni Bowcher
1023Munro F ChuiUnited Kingdom2024-05-24Truhlar And Truhlar Attys NEGOTIATION40Xuxue Feng
1024Morrow Z VocelkaSpain2024-05-18Feltz Printing Service UNQUALIFIED74Xuxue Feng
1025Smith J VenereGermany2024-04-28Dorl, James J Esq RENEWAL23Ioni Bowcher
1026David D CaldareraArgentina2024-05-20Rangoni Of Florence UNQUALIFIED55Ioni Bowcher
1027Aika R BriddickArgentina2024-05-06Rousseaux, Michael Esq QUALIFIED94Ivan Magalhaes
1028Claire W PaprockiAustralia2024-05-22Dorl, James J Esq NEGOTIATION9Ivan Magalhaes
1029Rodrigues S CaldareraBrazil2024-05-19Commercial Press PROPOSAL28Ivan Magalhaes
1030Izzy Y SergiAustralia2024-05-05Printing Dimensions QUALIFIED33Ioni Bowcher
1031Alejandro L NickaSpain2024-05-18Commercial Press NEW60Ioni Bowcher
1032Aika L IturbideJapan2024-05-18Chemel, James L Cpa PROPOSAL76Stephen Shaw
1033Cody R RulapaughRussia2024-04-30Rangoni Of Florence PROPOSAL10Ivan Magalhaes
1034Murillo K TollnerRussia2024-05-05Truhlar And Truhlar Attys PROPOSAL47Ioni Bowcher
1035Chavez M GlickIndia2024-05-22Feiner Bros PROPOSAL65Xuxue Feng
1036James L NestleGermany2024-05-11Printing Dimensions NEGOTIATION66Asiya Javayant
1037Aditya V NestleSpain2024-05-05Morlong Associates RENEWAL2Ioni Bowcher
1038Clifford X PoquetteGermany2024-05-18Feltz Printing Service UNQUALIFIED61Anna Fali
1039Ivar M OldroydAustralia2024-04-29Feiner Bros UNQUALIFIED45Elwin Sharvill
1040Morrow G PaprockiUnited Kingdom2024-04-25Chanay, Jeffrey A Esq NEW99Xuxue Feng
1041Silvio N StockhamSpain2024-05-23Rousseaux, Michael Esq NEW54Bernardo Dominic
1042Adams M WieserArgentina2024-05-10Truhlar And Truhlar Attys PROPOSAL27Anna Fali
1043Sinclair H GauchoItaly2024-05-13Chanay, Jeffrey A Esq NEGOTIATION99Ioni Bowcher
1044Jones P CaudySpain2024-04-28Chanay, Jeffrey A Esq NEGOTIATION54Stephen Shaw
1045Octavia Q NickaBrazil2024-05-24Feltz Printing Service PROPOSAL92Amy Elsner
1046Leja A NestleIndia2024-05-11Morlong Associates RENEWAL13Anna Fali
1047Nicolas N BriddickBrazil2024-05-02Commercial Press UNQUALIFIED28Onyama Limba
1048Aditya S SlusarskiUnited Kingdom2024-04-29Benton, John B Jr NEGOTIATION10Ivan Magalhaes
1049Darci T BowleyUnited Kingdom2024-05-07Chanay, Jeffrey A Esq QUALIFIED48Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Silvio C BriddickRussiaXuxue Feng PROPOSAL
Murillo U TollnerRussiaIvan Magalhaes QUALIFIED
Adams F SaylorsItalyBernardo Dominic NEW
Kadeem R GillianArgentinaIvan Magalhaes NEGOTIATION
Silvio K MacleadSpainStephen Shaw NEW
Kaitlin Q BologniaArgentinaAsiya Javayant NEGOTIATION
Misaki E SergiItalyBernardo Dominic NEW
Ivar E AlbaresAustraliaElwin Sharvill UNQUALIFIED
Cody L KuskoArgentinaAsiya Javayant NEGOTIATION
Rodrigues H KolmetzItalyXuxue Feng UNQUALIFIED
Jeanfrancois K NestleArgentinaAsiya Javayant QUALIFIED
Leja A GillianUnited KingdomIvan Magalhaes PROPOSAL
Johnson W NestleBrazilIvan Magalhaes NEGOTIATION
Ivar A KolmetzAustraliaElwin Sharvill QUALIFIED
Greenwood A ShinkoJapanAnna Fali QUALIFIED
Ricardo Y DoeCanadaIvan Magalhaes NEW
Chavez O InouyeItalyXuxue Feng PROPOSAL
Cody W RutaItalyXuxue Feng QUALIFIED
Rodrigues Q MaletUnited KingdomIvan Magalhaes NEW
Ashley C CaldareraAustraliaIoni Bowcher PROPOSAL
Adams M GillianCanadaStephen Shaw NEW
Kadeem K CampainRussiaIvan Magalhaes PROPOSAL
Aruna X GarufiGermanyAmy Elsner NEW
Munro Z GarufiSpainIvan Magalhaes NEW
Mayumi Z WaycottAustraliaIoni Bowcher NEW
Costa E FlosiUnited KingdomAnna Fali PROPOSAL
Rodrigues C CampainUnited KingdomAnna Fali NEGOTIATION
Leja P PaprockiGermanyXuxue Feng QUALIFIED
Aruna A MarrierIndiaElwin Sharvill QUALIFIED
James B FigeroaAustraliaAnna Fali PROPOSAL
Rodrigues E FigeroaArgentinaAmy Elsner NEW
Cody O ShinkoBrazilIvan Magalhaes RENEWAL
David U BologniaAustraliaOnyama Limba PROPOSAL
Munro X DarakjyAustraliaXuxue Feng PROPOSAL
Leon Y FollerGermanyIoni Bowcher PROPOSAL
Francesco V FlosiAustraliaElwin Sharvill NEW
Faith X MaletGermanyElwin Sharvill UNQUALIFIED
Johnson Z SergiGermanyIvan Magalhaes UNQUALIFIED
Francesco F DarakjyArgentinaIoni Bowcher PROPOSAL
Juan D FlosiFranceIvan Magalhaes PROPOSAL
Misaki L CaldareraIndiaIvan Magalhaes RENEWAL
Jennifer Z ButtSpainIvan Magalhaes NEW
Rodrigues Z AlbaresUnited KingdomAsiya Javayant RENEWAL
Izzy F PoquetteGermanyAnna Fali QUALIFIED
Smith B BowleySpainIoni Bowcher QUALIFIED
Ashley U MarrierIndiaIvan Magalhaes QUALIFIED
Darci X BologniaFranceAsiya Javayant UNQUALIFIED
Sinclair E DilliardRussiaIvan Magalhaes QUALIFIED
Darci H MacleadArgentinaXuxue Feng PROPOSAL
Antonio Q ButtUnited KingdomStephen Shaw QUALIFIED
Frozen Columns
Name
Adams A Bolognia
Octavia J Oldroyd
David V Gillian
Aika N Garufi
Mayumi B Doe
Aika Y Venere
Julie L Sergi
Faith M Caudy
Aika O Campain
Jeanfrancois G Chui
Jones V Caudy
Darci N Sergi
Leja J Caudy
Nicolas Z Chui
Alejandro H Venere
Kaitlin N Campain
Wickens C Venere
Mayumi W Ferencz
Stacey U Royster
Jones C Ferencz
Tony B Figeroa
Jones P Chui
Greenwood R Bowley
Darci D Garufi
Chavez V Perin
Jones T Caudy
Clifford H Nestle
Nicolas U Caudy
Smith M Flosi
Jefferson H Caldarera
Aika U Morasca
Aika B Poquette
Isabel R Flosi
Darci S Kusko
Silvio K Saylors
Munro A Gillian
Isabel U Glick
James R Darakjy
Ivar L Foller
Rodrigues C Marrier
James M Sergi
Jeanfrancois K Inouye
Misaki V Figeroa
Antonio Y Albares
Costa U Royster
Munro Y Sergi
Aditya F Bowley
Costa K Chui
Leon T Malet
Jones Y Oldroyd
IdCountryDate
1000Canada2024-05-02
1001Russia2024-04-28
1002Brazil2024-05-16
1003Japan2024-05-08
1004Germany2024-05-17
1005Russia2024-05-03
1006Germany2024-05-15
1007Spain2024-05-10
1008India2024-05-10
1009Germany2024-04-25
1010Japan2024-05-20
1011Australia2024-05-08
1012Spain2024-05-15
1013Canada2024-04-30
1014Argentina2024-05-07
1015Brazil2024-04-25
1016Italy2024-05-01
1017France2024-04-30
1018Argentina2024-04-25
1019France2024-05-10
1020United Kingdom2024-05-12
1021India2024-05-17
1022Brazil2024-05-14
1023Canada2024-05-03
1024Russia2024-05-14
1025Australia2024-05-06
1026Russia2024-05-01
1027Germany2024-05-17
1028Argentina2024-04-30
1029Argentina2024-05-15
1030Italy2024-05-22
1031Australia2024-05-22
1032Italy2024-05-01
1033India2024-05-08
1034India2024-05-11
1035United Kingdom2024-05-23
1036Spain2024-05-03
1037United Kingdom2024-05-22
1038Spain2024-05-01
1039United Kingdom2024-05-11
1040India2024-05-03
1041India2024-05-11
1042Argentina2024-05-06
1043Australia2024-05-20
1044Japan2024-05-10
1045Germany2024-04-27
1046United Kingdom2024-05-18
1047Argentina2024-05-17
1048Australia2024-05-14
1049India2024-04-28

On-Demand Data

NameIdCountryDate
Ivar N Schemmer1000Russia2024-05-04
Munro U Kolmetz1001Spain2024-05-24
Maria X Rim1002France2024-04-28
Murillo R Royster1003Russia2024-05-22
James Y Royster1004Russia2024-05-07
Emily B Flosi1005Spain2024-05-03
Silvio X Saylors1006Spain2024-05-22
Sinclair P Marrier1007France2024-05-23
Arvin D Nestle1008India2024-05-18
Izzy P Sergi1009Germany2024-05-10
Aruna N Nicka1010France2024-04-25
Tony C Butt1011Germany2024-05-22
Kadeem E Waycott1012India2024-05-06
James W Malet1013Japan2024-05-01
Rodrigues Y Caudy1014France2024-05-05
Clifford I Campain1015Italy2024-05-17
Sinclair P Royster1016Spain2024-05-13
Kaitlin T Venere1017Argentina2024-05-10
Julie O Rulapaugh1018India2024-05-08
Clifford F Chui1019Italy2024-05-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan G TollnerGermanyIvan Magalhaes QUALIFIED
Izzy B CampainGermanyAsiya Javayant UNQUALIFIED
Ricardo X DarakjyBrazilIoni Bowcher UNQUALIFIED
Jefferson H DarakjyFranceIoni Bowcher NEGOTIATION
Claire B VocelkaAustraliaAsiya Javayant RENEWAL
Rodrigues G DoeFranceStephen Shaw NEGOTIATION
Stacey F KolmetzRussiaAmy Elsner NEGOTIATION
Ivar M ButtRussiaAmy Elsner RENEWAL
Salvatore L RutaCanadaOnyama Limba NEW
James L FlosiItalyIvan Magalhaes PROPOSAL
Salvatore L MorascaItalyElwin Sharvill RENEWAL
Francesco V GarufiIndiaStephen Shaw NEGOTIATION
Johnson L MaletGermanyAmy Elsner QUALIFIED
Munro B StensethUnited KingdomElwin Sharvill NEW
Mujtaba Z VenereRussiaElwin Sharvill PROPOSAL
Maria S SchemmerUnited KingdomOnyama Limba RENEWAL
Sinclair R InouyeAustraliaAmy Elsner NEW
Alejandro D CaldareraUnited KingdomBernardo Dominic PROPOSAL
Smith V FerenczGermanyXuxue Feng RENEWAL
Stacey P BriddickAustraliaOnyama Limba QUALIFIED
Aika Z OstroskyCanadaIvan Magalhaes RENEWAL
Adams I WieserBrazilStephen Shaw QUALIFIED
Smith D FerenczUnited KingdomBernardo Dominic RENEWAL
Tony O MarrierCanadaAnna Fali NEW
Maria F VocelkaGermanyAsiya Javayant QUALIFIED
Stacey T MaletItalyElwin Sharvill QUALIFIED
Clifford M SlusarskiGermanyAsiya Javayant UNQUALIFIED
Ivar T CampainBrazilStephen Shaw PROPOSAL
Kadeem M KolmetzArgentinaOnyama Limba NEGOTIATION
Clifford R AmigonSpainElwin Sharvill PROPOSAL
Johnson E TollnerIndiaAnna Fali UNQUALIFIED
Stacey T WieserFranceElwin Sharvill NEW
Aruna M BriddickArgentinaAsiya Javayant QUALIFIED
Silvio P RoysterBrazilXuxue Feng QUALIFIED
Murillo J AmigonSpainAnna Fali UNQUALIFIED
Johnson T CaldareraArgentinaIoni Bowcher PROPOSAL
Jennifer A RoysterSpainIvan Magalhaes UNQUALIFIED
Sinclair B WaycottSpainBernardo Dominic NEGOTIATION
Mujtaba L WhobreyItalyAmy Elsner RENEWAL
Claire K WieserJapanBernardo Dominic 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>