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
Jones D GarufiAustraliaOnyama Limba NEGOTIATION
Faith L OstroskyUnited KingdomAmy Elsner RENEWAL
Ivar O WaycottCanadaAnna Fali PROPOSAL
Murillo U ButtArgentinaIoni Bowcher RENEWAL
Rodrigues Q ChuiAustraliaStephen Shaw RENEWAL
Juan E ChuiIndiaIoni Bowcher NEW
Wickens B RutaCanadaAnna Fali NEGOTIATION
James U SlusarskiRussiaElwin Sharvill NEGOTIATION
Octavia T RulapaughJapanIvan Magalhaes NEW
Darci J DarakjyAustraliaElwin Sharvill PROPOSAL
Maria A BowleyItalyIoni Bowcher NEGOTIATION
Leon A StensethJapanStephen Shaw NEGOTIATION
Octavia O CaldareraAustraliaBernardo Dominic UNQUALIFIED
Silvio E KuskoBrazilAsiya Javayant RENEWAL
Greenwood R ChuiRussiaIoni Bowcher NEW
Adams B AlbaresSpainAmy Elsner UNQUALIFIED
Smith C FigeroaArgentinaAsiya Javayant RENEWAL
Maisha T FigeroaAustraliaIoni Bowcher NEW
Misaki B IturbideUnited KingdomIoni Bowcher PROPOSAL
Antonio O CaldareraArgentinaIoni Bowcher QUALIFIED
Jennifer O WaycottGermanyXuxue Feng NEGOTIATION
Maria W MaletIndiaIoni Bowcher NEGOTIATION
Kaitlin Z BriddickSpainAmy Elsner RENEWAL
Rodrigues V PaprockiAustraliaBernardo Dominic NEW
Mayumi Y RimCanadaIoni Bowcher UNQUALIFIED
Nicolas F WhobreySpainAsiya Javayant UNQUALIFIED
Emily U KolmetzFranceIvan Magalhaes RENEWAL
Leon H ShinkoSpainStephen Shaw NEW
Kadeem H AlbaresItalyAnna Fali QUALIFIED
Morrow P PoquetteGermanyXuxue Feng UNQUALIFIED
Kaitlin N SaylorsArgentinaAmy Elsner RENEWAL
Adams T PaprockiFranceElwin Sharvill UNQUALIFIED
Johnson K ButtItalyOnyama Limba UNQUALIFIED
Juan V BowleyIndiaStephen Shaw UNQUALIFIED
Salvatore O MacleadArgentinaElwin Sharvill NEW
Munro H PaprockiGermanyBernardo Dominic QUALIFIED
Silvio N GauchoItalyXuxue Feng QUALIFIED
Murillo L ShinkoFranceAsiya Javayant QUALIFIED
Maria G CaldareraArgentinaIvan Magalhaes RENEWAL
Kaitlin E TollnerFranceXuxue Feng RENEWAL
Faith V NestleRussiaXuxue Feng QUALIFIED
Aruna B AlbaresUnited KingdomAmy Elsner UNQUALIFIED
Emily B MarrierArgentinaElwin Sharvill UNQUALIFIED
Deepesh S BriddickItalyAnna Fali UNQUALIFIED
Mujtaba N PerinArgentinaOnyama Limba RENEWAL
Aika F AmigonBrazilAsiya Javayant PROPOSAL
Aditya L GarufiItalyOnyama Limba RENEWAL
Aika P StockhamFranceAnna Fali QUALIFIED
Aruna R AmigonBrazilXuxue Feng PROPOSAL
Tony Z NestleFranceBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa P DarakjyGermanyIoni Bowcher QUALIFIED
Maisha L CaldareraRussiaAsiya Javayant PROPOSAL
Deepesh V FigeroaAustraliaIoni Bowcher NEW
Aika Q AmigonIndiaBernardo Dominic UNQUALIFIED
Adams A CaldareraIndiaXuxue Feng QUALIFIED
Deepesh L BowleyCanadaOnyama Limba UNQUALIFIED
Emily W StensethSpainAsiya Javayant NEW
Smith C FollerAustraliaStephen Shaw RENEWAL
Leja R SergiCanadaAsiya Javayant UNQUALIFIED
Faith P WieserJapanOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya E AmigonFrance2024-06-19Truhlar And Truhlar Attys PROPOSAL24Onyama Limba
1001Antonio Z TollnerArgentina2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED95Ioni Bowcher
1002Mujtaba V StensethGermany2024-06-06King, Christopher A Esq QUALIFIED16Asiya Javayant
1003Costa T FollerFrance2024-06-03Feltz Printing Service NEW95Xuxue Feng
1004Antonio W DarakjyAustralia2024-06-09Feltz Printing Service PROPOSAL62Stephen Shaw
1005Leja X CampainAustralia2024-06-11Dorl, James J Esq UNQUALIFIED67Xuxue Feng
1006Izzy Q RimItaly2024-06-13King, Christopher A Esq NEGOTIATION59Ivan Magalhaes
1007Maisha E NestleFrance2024-06-10Printing Dimensions QUALIFIED16Elwin Sharvill
1008Isabel X MaletAustralia2024-05-26Feltz Printing Service QUALIFIED5Ivan Magalhaes
1009Juan G VocelkaBrazil2024-06-22Benton, John B Jr NEW87Xuxue Feng
1010Munro H SchemmerFrance2024-05-29Chemel, James L Cpa RENEWAL72Ioni Bowcher
1011Ashley T NestleAustralia2024-06-02Dorl, James J Esq NEW28Stephen Shaw
1012Jennifer E MacleadBrazil2024-06-15Chemel, James L Cpa NEGOTIATION43Bernardo Dominic
1013Deepesh O InouyeGermany2024-06-01Buckley Miller Wright PROPOSAL69Onyama Limba
1014Darci L CaudyJapan2024-06-07Benton, John B Jr UNQUALIFIED82Ioni Bowcher
1015James R MorascaRussia2024-06-11Commercial Press NEW10Ivan Magalhaes
1016Morrow P StockhamCanada2024-05-28Printing Dimensions UNQUALIFIED86Ivan Magalhaes
1017Ashley H KuskoArgentina2024-06-07Rangoni Of Florence NEW38Amy Elsner
1018Munro O MorascaItaly2024-06-05Rousseaux, Michael Esq NEW50Stephen Shaw
1019Isabel Q ChuiJapan2024-06-11Chapman, Ross E Esq NEGOTIATION47Amy Elsner
1020Juan C FerenczCanada2024-06-07Commercial Press QUALIFIED44Xuxue Feng
1021Deepesh K BowleyJapan2024-06-03Feltz Printing Service UNQUALIFIED82Xuxue Feng
1022Kadeem I KolmetzBrazil2024-06-15Rangoni Of Florence NEGOTIATION84Onyama Limba
1023Murillo J SlusarskiRussia2024-06-04Morlong Associates NEW32Asiya Javayant
1024Faith T WhobreyIndia2024-06-02Commercial Press NEGOTIATION50Anna Fali
1025Adams N ButtAustralia2024-05-29King, Christopher A Esq PROPOSAL33Ioni Bowcher
1026Murillo K CampainFrance2024-06-07Chapman, Ross E Esq QUALIFIED74Amy Elsner
1027Leja J RutaIndia2024-06-16Commercial Press NEGOTIATION86Ioni Bowcher
1028Jefferson N NestleGermany2024-05-27Rousseaux, Michael Esq NEW58Stephen Shaw
1029Alejandro T MacleadIndia2024-06-18Feltz Printing Service UNQUALIFIED42Elwin Sharvill
1030Wickens F FerenczBrazil2024-06-13Chapman, Ross E Esq UNQUALIFIED69Ioni Bowcher
1031Murillo T SchemmerBrazil2024-06-19Benton, John B Jr NEGOTIATION98Amy Elsner
1032Morrow L AlbaresFrance2024-05-27Truhlar And Truhlar Attys RENEWAL86Elwin Sharvill
1033Mayumi I SergiCanada2024-06-05Morlong Associates RENEWAL92Onyama Limba
1034Ricardo K BowleyIndia2024-06-07Feltz Printing Service QUALIFIED4Ioni Bowcher
1035Maria C FlosiSpain2024-06-23Benton, John B Jr QUALIFIED21Anna Fali
1036Chavez H BowleyBrazil2024-06-07Benton, John B Jr PROPOSAL1Ivan Magalhaes
1037Rodrigues L PerinRussia2024-06-17Dorl, James J Esq NEW74Amy Elsner
1038Cody L BologniaRussia2024-06-17Chemel, James L Cpa QUALIFIED6Asiya Javayant
1039Morrow P VenereArgentina2024-05-26King, Christopher A Esq RENEWAL80Anna Fali
1040Julie P StensethRussia2024-06-01Rangoni Of Florence QUALIFIED96Anna Fali
1041Cody E DilliardCanada2024-06-14Rangoni Of Florence QUALIFIED66Bernardo Dominic
1042Kaitlin C FollerIndia2024-06-13Rangoni Of Florence QUALIFIED30Xuxue Feng
1043Aditya L PaprockiRussia2024-06-12Rangoni Of Florence QUALIFIED60Xuxue Feng
1044Maria P CampainGermany2024-05-28Rousseaux, Michael Esq UNQUALIFIED66Onyama Limba
1045Francesco K RutaItaly2024-06-11Chapman, Ross E Esq NEW56Amy Elsner
1046Maria C GauchoRussia2024-06-18Chapman, Ross E Esq NEW45Anna Fali
1047Ivar E GarufiBrazil2024-06-02Chapman, Ross E Esq RENEWAL9Xuxue Feng
1048Jones P RulapaughCanada2024-06-14Commercial Press RENEWAL85Onyama Limba
1049Mujtaba O NickaIndia2024-06-20Printing Dimensions QUALIFIED64Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Izzy Y RoysterRussiaIvan Magalhaes RENEWAL
Jones C OldroydAustraliaIvan Magalhaes NEGOTIATION
Alejandro Q IturbideRussiaStephen Shaw PROPOSAL
Salvatore V SergiGermanyAsiya Javayant QUALIFIED
Costa H CaudyBrazilXuxue Feng QUALIFIED
Aditya Y CaudyFranceOnyama Limba NEGOTIATION
Johnson X AlbaresRussiaAnna Fali PROPOSAL
Izzy X PaprockiBrazilAnna Fali NEGOTIATION
Salvatore Q TollnerIndiaElwin Sharvill QUALIFIED
Murillo Y StensethFranceAmy Elsner RENEWAL
Leon I FlosiItalyStephen Shaw NEW
Munro R MorascaItalyBernardo Dominic PROPOSAL
Costa V FlosiGermanyBernardo Dominic RENEWAL
Leja G FlosiFranceAsiya Javayant QUALIFIED
Rodrigues E RulapaughSpainOnyama Limba UNQUALIFIED
Leon J GillianGermanyBernardo Dominic UNQUALIFIED
Aika P CaudyBrazilIoni Bowcher PROPOSAL
Isabel L VocelkaAustraliaAmy Elsner PROPOSAL
Nicolas B SergiItalyBernardo Dominic RENEWAL
Octavia H KolmetzGermanyOnyama Limba RENEWAL
James O AlbaresUnited KingdomStephen Shaw NEW
Deepesh C PerinFranceElwin Sharvill PROPOSAL
Mayumi M InouyeIndiaXuxue Feng QUALIFIED
Adams H OldroydCanadaAsiya Javayant NEGOTIATION
Jennifer S StensethRussiaAmy Elsner QUALIFIED
Ivar D DarakjyFranceOnyama Limba RENEWAL
Darci U WieserArgentinaXuxue Feng NEW
Jeanfrancois H TollnerGermanyBernardo Dominic RENEWAL
Mujtaba D PerinUnited KingdomOnyama Limba NEW
Salvatore E DilliardArgentinaStephen Shaw NEW
Aika L WieserAustraliaAsiya Javayant QUALIFIED
Smith Y RimCanadaIvan Magalhaes QUALIFIED
Silvio S NickaBrazilIoni Bowcher PROPOSAL
Arvin R PoquetteSpainAmy Elsner UNQUALIFIED
Francesco Z GarufiUnited KingdomXuxue Feng UNQUALIFIED
Johnson C AmigonJapanXuxue Feng RENEWAL
Isabel Q ChuiGermanyXuxue Feng NEW
Leja V VocelkaGermanyIvan Magalhaes UNQUALIFIED
Salvatore U ButtSpainBernardo Dominic NEGOTIATION
Faith J GarufiAustraliaIoni Bowcher NEW
Aditya T GarufiBrazilBernardo Dominic NEW
Isabel T OstroskyJapanIvan Magalhaes RENEWAL
Tony K GlickArgentinaStephen Shaw NEGOTIATION
David F StensethJapanBernardo Dominic RENEWAL
Munro P WaycottCanadaAnna Fali NEGOTIATION
Misaki C AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Maria V TollnerSpainAmy Elsner QUALIFIED
Chavez Y RoysterAustraliaAmy Elsner NEW
Darci X PerinFranceIoni Bowcher QUALIFIED
Kaitlin T FigeroaIndiaAnna Fali UNQUALIFIED
Frozen Columns
Name
Jeanfrancois O Sergi
Leja R Briddick
Ashley N Saylors
Kadeem W Oldroyd
Chavez E Dilliard
Aruna O Ferencz
Sinclair Y Venere
Sinclair I Foller
Cody L Ruta
Jeanfrancois Z Albares
Adams E Maclead
Ricardo R Wieser
Mujtaba A Schemmer
Leja Q Kolmetz
Izzy M Chui
Aruna B Caldarera
Salvatore T Poquette
Faith I Whobrey
Maisha Y Malet
Maria C Rulapaugh
Sinclair V Poquette
Rodrigues K Figeroa
Deepesh P Paprocki
Leon H Glick
Silvio B Briddick
Rodrigues X Kusko
Johnson M Caudy
Tony S Stenseth
Rodrigues H Ostrosky
Octavia R Dilliard
Isabel L Marrier
Kaitlin P Perin
Mayumi T Rulapaugh
Aruna Q Gillian
Octavia W Schemmer
Maisha Z Wieser
Morrow R Schemmer
Francesco P Tollner
Francesco G Nestle
Chavez L Malet
Juan P Stenseth
Maisha G Slusarski
Jefferson Z Marrier
Faith W Wieser
Leon D Marrier
Jefferson H Tollner
Jefferson F Figeroa
Faith J Schemmer
Maisha D Caldarera
Smith G Schemmer
IdCountryDate
1000Argentina2024-06-20
1001France2024-05-31
1002France2024-06-20
1003Brazil2024-06-04
1004Argentina2024-06-18
1005Russia2024-06-12
1006Argentina2024-06-03
1007India2024-05-31
1008Germany2024-06-08
1009Canada2024-06-07
1010Germany2024-06-06
1011Canada2024-06-04
1012India2024-06-13
1013India2024-06-07
1014Brazil2024-06-05
1015Japan2024-06-23
1016Spain2024-05-25
1017France2024-06-19
1018Argentina2024-06-03
1019Germany2024-06-15
1020Italy2024-06-12
1021France2024-06-16
1022France2024-06-07
1023Spain2024-06-05
1024Italy2024-06-18
1025Brazil2024-06-20
1026United Kingdom2024-05-27
1027Australia2024-06-08
1028Canada2024-06-22
1029Italy2024-06-01
1030Brazil2024-06-16
1031Germany2024-06-15
1032France2024-05-31
1033Canada2024-06-13
1034Germany2024-06-10
1035Spain2024-06-02
1036Russia2024-05-27
1037Australia2024-06-09
1038Canada2024-05-27
1039Japan2024-05-31
1040Russia2024-06-12
1041India2024-05-31
1042Argentina2024-06-17
1043Australia2024-06-11
1044Australia2024-06-15
1045Spain2024-06-17
1046Canada2024-05-25
1047France2024-06-19
1048Brazil2024-05-29
1049Argentina2024-06-08

On-Demand Data

NameIdCountryDate
Maisha R Iturbide1000Brazil2024-06-14
Munro B Wieser1001Spain2024-05-28
Rodrigues Y Wieser1002Spain2024-06-03
Ashley V Marrier1003United Kingdom2024-05-29
Darci Q Wieser1004Italy2024-06-20
Maria M Paprocki1005United Kingdom2024-05-26
Munro H Doe1006India2024-05-27
Claire P Stockham1007Russia2024-06-15
Smith Z Doe1008Japan2024-06-03
Leon F Butt1009Italy2024-05-26
Jennifer Q Ruta1010France2024-06-05
Cody V Inouye1011France2024-06-20
Costa I Nicka1012Brazil2024-06-23
Julie F Gillian1013France2024-06-07
Claire T Iturbide1014Australia2024-06-07
Morrow O Stenseth1015United Kingdom2024-06-18
Antonio C Darakjy1016Spain2024-05-27
Leon G Stenseth1017Brazil2024-06-19
Deepesh J Figeroa1018Brazil2024-05-29
Ivar X Iturbide1019Brazil2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey V PerinJapanAsiya Javayant QUALIFIED
Antonio F FollerBrazilXuxue Feng UNQUALIFIED
Smith S WieserAustraliaElwin Sharvill QUALIFIED
Alejandro A RutaFranceIvan Magalhaes RENEWAL
Julie B InouyeArgentinaIoni Bowcher NEW
Adams H BriddickIndiaElwin Sharvill QUALIFIED
Alejandro D ButtRussiaIoni Bowcher QUALIFIED
Murillo U BowleyUnited KingdomAmy Elsner NEGOTIATION
Leon S WaycottGermanyBernardo Dominic NEW
Jefferson N VenereSpainIvan Magalhaes RENEWAL
Mayumi Q PaprockiCanadaElwin Sharvill PROPOSAL
Cody F SergiIndiaElwin Sharvill NEW
Aditya K TollnerCanadaOnyama Limba NEW
Munro E KolmetzFranceOnyama Limba NEW
Murillo C SaylorsBrazilAnna Fali NEW
Darci Q StensethGermanyAsiya Javayant QUALIFIED
Juan J MorascaFranceBernardo Dominic RENEWAL
Costa L DilliardRussiaAsiya Javayant RENEWAL
Tony V CampainBrazilStephen Shaw UNQUALIFIED
Rodrigues H CaudyItalyStephen Shaw QUALIFIED
Stacey S FollerUnited KingdomElwin Sharvill NEW
Leja N GillianItalyXuxue Feng PROPOSAL
Johnson A KolmetzBrazilStephen Shaw RENEWAL
Arvin E IturbideIndiaIoni Bowcher UNQUALIFIED
Wickens T GarufiRussiaBernardo Dominic QUALIFIED
Wickens Z PoquetteSpainAnna Fali UNQUALIFIED
James V ChuiGermanyElwin Sharvill QUALIFIED
Johnson D WaycottJapanStephen Shaw NEGOTIATION
Smith C KuskoRussiaOnyama Limba QUALIFIED
Octavia X VocelkaCanadaXuxue Feng NEW
Maisha B PaprockiGermanyAsiya Javayant RENEWAL
Emily E BologniaArgentinaAmy Elsner QUALIFIED
Kadeem S TollnerJapanStephen Shaw UNQUALIFIED
Ivar C InouyeSpainAnna Fali NEW
Leon G MorascaAustraliaIoni Bowcher PROPOSAL
Cody B RutaUnited KingdomAnna Fali QUALIFIED
Sinclair B AlbaresIndiaXuxue Feng QUALIFIED
Maisha S FerenczFranceIvan Magalhaes UNQUALIFIED
Deepesh S BriddickArgentinaXuxue Feng RENEWAL
Darci L AlbaresRussiaAsiya Javayant PROPOSAL

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