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
Ashley A BologniaUnited KingdomOnyama Limba QUALIFIED
Morrow Z RoysterJapanOnyama Limba PROPOSAL
Julie E CampainJapanIoni Bowcher RENEWAL
Faith L SaylorsSpainXuxue Feng RENEWAL
Greenwood B ShinkoFranceElwin Sharvill PROPOSAL
Tony A PaprockiAustraliaXuxue Feng NEW
Jefferson X SaylorsRussiaStephen Shaw NEW
Jefferson T PerinSpainElwin Sharvill PROPOSAL
Clifford R DoeSpainAsiya Javayant NEW
Greenwood E BriddickAustraliaOnyama Limba PROPOSAL
Silvio H CampainIndiaIoni Bowcher NEW
Misaki U MorascaGermanyIoni Bowcher NEGOTIATION
Silvio Y ShinkoCanadaOnyama Limba PROPOSAL
Deepesh C TollnerFranceBernardo Dominic UNQUALIFIED
Salvatore M ChuiFranceXuxue Feng UNQUALIFIED
Aika T GarufiRussiaAmy Elsner QUALIFIED
Smith X GillianAustraliaIoni Bowcher QUALIFIED
Deepesh V RutaJapanAnna Fali NEW
Tony J StockhamBrazilIvan Magalhaes RENEWAL
Leon N MorascaFranceXuxue Feng PROPOSAL
Deepesh U WaycottUnited KingdomIoni Bowcher PROPOSAL
Faith W WieserCanadaStephen Shaw NEGOTIATION
Antonio B FlosiBrazilAsiya Javayant NEW
Julie G FigeroaIndiaXuxue Feng NEGOTIATION
Alejandro W AlbaresArgentinaOnyama Limba NEW
Mayumi G MorascaJapanAnna Fali PROPOSAL
Adams Q FigeroaUnited KingdomAmy Elsner NEGOTIATION
Maisha Z MaletIndiaAmy Elsner PROPOSAL
Greenwood L StensethArgentinaAnna Fali QUALIFIED
Aika V GarufiSpainIvan Magalhaes NEW
Octavia D FigeroaSpainAsiya Javayant RENEWAL
Faith V StensethCanadaStephen Shaw NEW
Deepesh S ButtItalyXuxue Feng NEGOTIATION
Johnson H StensethIndiaAmy Elsner NEGOTIATION
Mujtaba Y WaycottIndiaOnyama Limba RENEWAL
Maisha G VenereCanadaStephen Shaw QUALIFIED
Faith M KolmetzSpainAmy Elsner PROPOSAL
Cody D AmigonFranceAsiya Javayant NEGOTIATION
Julie W CaldareraJapanAmy Elsner NEGOTIATION
Jefferson S GillianArgentinaElwin Sharvill QUALIFIED
Tony J OldroydAustraliaAnna Fali QUALIFIED
Ricardo B NestleArgentinaBernardo Dominic RENEWAL
Salvatore N SchemmerCanadaIoni Bowcher RENEWAL
Aruna W CaudyArgentinaAnna Fali QUALIFIED
Ricardo V NestleBrazilAsiya Javayant UNQUALIFIED
Aruna D AlbaresIndiaAnna Fali NEGOTIATION
Kadeem Y StockhamFranceAmy Elsner PROPOSAL
Wickens G RimCanadaStephen Shaw QUALIFIED
Murillo W KolmetzItalyAnna Fali QUALIFIED
Murillo E GlickJapanBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore H CampainBrazilIvan Magalhaes QUALIFIED
Nicolas I NestleFranceAsiya Javayant NEGOTIATION
Ashley M MorascaCanadaElwin Sharvill PROPOSAL
Maria V OstroskyFranceOnyama Limba PROPOSAL
Murillo E PaprockiFranceAnna Fali RENEWAL
Mujtaba W OstroskySpainOnyama Limba UNQUALIFIED
Leon A CaudyJapanIvan Magalhaes RENEWAL
Chavez N OstroskyUnited KingdomBernardo Dominic NEW
Maisha Z OstroskySpainAnna Fali RENEWAL
Munro R KuskoGermanyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy K GillianIndia2024-05-19Rousseaux, Michael Esq QUALIFIED85Anna Fali
1001James D KuskoArgentina2024-05-24Rousseaux, Michael Esq QUALIFIED69Onyama Limba
1002Jefferson U PerinJapan2024-06-09Rousseaux, Michael Esq UNQUALIFIED92Asiya Javayant
1003Ricardo K AlbaresIndia2024-05-15King, Christopher A Esq PROPOSAL26Stephen Shaw
1004Greenwood V DilliardJapan2024-06-08Truhlar And Truhlar Attys RENEWAL25Xuxue Feng
1005Julie F MorascaArgentina2024-05-20Chemel, James L Cpa QUALIFIED13Elwin Sharvill
1006Wickens O ChuiArgentina2024-06-01Truhlar And Truhlar Attys PROPOSAL30Ioni Bowcher
1007Silvio B DoeJapan2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED58Ivan Magalhaes
1008Darci P GlickItaly2024-05-22Dorl, James J Esq NEGOTIATION31Ivan Magalhaes
1009Jefferson G NickaIndia2024-05-29Rangoni Of Florence NEGOTIATION84Asiya Javayant
1010Greenwood F BowleyArgentina2024-06-02Chemel, James L Cpa NEW90Bernardo Dominic
1011Murillo A WaycottIndia2024-06-01Chanay, Jeffrey A Esq PROPOSAL56Asiya Javayant
1012Kadeem G FerenczArgentina2024-06-10Chemel, James L Cpa UNQUALIFIED77Xuxue Feng
1013Silvio V NickaBrazil2024-05-26King, Christopher A Esq UNQUALIFIED42Ivan Magalhaes
1014Mayumi X WieserJapan2024-05-23Chapman, Ross E Esq PROPOSAL87Asiya Javayant
1015Juan B PoquetteSpain2024-06-04Truhlar And Truhlar Attys NEGOTIATION20Asiya Javayant
1016Octavia D DarakjyGermany2024-06-06Buckley Miller Wright UNQUALIFIED87Amy Elsner
1017Morrow C CaudyIndia2024-05-25Chemel, James L Cpa NEGOTIATION58Xuxue Feng
1018Arvin Q InouyeArgentina2024-05-30Commercial Press PROPOSAL54Onyama Limba
1019Clifford Z VocelkaFrance2024-05-22Feiner Bros NEW93Asiya Javayant
1020Mujtaba D PerinIndia2024-06-01Truhlar And Truhlar Attys PROPOSAL6Stephen Shaw
1021Julie P NickaGermany2024-06-04Benton, John B Jr NEGOTIATION57Stephen Shaw
1022Adams R InouyeGermany2024-06-09Chapman, Ross E Esq PROPOSAL54Asiya Javayant
1023Ivar S AmigonGermany2024-06-04Dorl, James J Esq PROPOSAL85Stephen Shaw
1024Izzy H ButtUnited Kingdom2024-06-02Morlong Associates PROPOSAL15Elwin Sharvill
1025Juan Z CampainArgentina2024-06-01Feiner Bros NEGOTIATION52Asiya Javayant
1026Costa A CaudyFrance2024-05-21Chanay, Jeffrey A Esq NEGOTIATION11Asiya Javayant
1027Munro V ChuiGermany2024-06-13Commercial Press RENEWAL73Anna Fali
1028Nicolas J GauchoAustralia2024-05-29Commercial Press NEW2Amy Elsner
1029Clifford C SaylorsFrance2024-05-28Truhlar And Truhlar Attys QUALIFIED91Stephen Shaw
1030James G MaletItaly2024-05-16Rangoni Of Florence NEGOTIATION33Xuxue Feng
1031Ricardo C OstroskySpain2024-06-08King, Christopher A Esq NEW12Stephen Shaw
1032Sinclair J DilliardRussia2024-05-26Chanay, Jeffrey A Esq PROPOSAL22Ioni Bowcher
1033Octavia H CaudyUnited Kingdom2024-05-15Morlong Associates UNQUALIFIED63Xuxue Feng
1034Aditya K KuskoSpain2024-05-19King, Christopher A Esq RENEWAL43Stephen Shaw
1035Jefferson K MacleadRussia2024-05-15Benton, John B Jr QUALIFIED84Amy Elsner
1036Leja E GarufiGermany2024-05-28King, Christopher A Esq QUALIFIED44Ioni Bowcher
1037Wickens P FerenczCanada2024-06-01Benton, John B Jr UNQUALIFIED64Amy Elsner
1038Ricardo P StockhamRussia2024-05-19Feltz Printing Service NEGOTIATION53Amy Elsner
1039Jeanfrancois N RoysterRussia2024-06-13Morlong Associates PROPOSAL67Stephen Shaw
1040Octavia Z PaprockiSpain2024-06-03Benton, John B Jr RENEWAL90Onyama Limba
1041Octavia V StockhamAustralia2024-05-23Rangoni Of Florence NEGOTIATION37Xuxue Feng
1042Ricardo G MaletFrance2024-05-17Morlong Associates RENEWAL87Ioni Bowcher
1043Wickens S OldroydSpain2024-06-06Dorl, James J Esq PROPOSAL26Stephen Shaw
1044Ricardo N WieserJapan2024-06-03Chapman, Ross E Esq PROPOSAL41Xuxue Feng
1045Maisha T DilliardSpain2024-06-13Dorl, James J Esq PROPOSAL13Stephen Shaw
1046Smith Z ShinkoJapan2024-06-03Rousseaux, Michael Esq QUALIFIED53Ioni Bowcher
1047Jefferson I VenereJapan2024-06-12Chanay, Jeffrey A Esq NEGOTIATION42Anna Fali
1048Silvio B PaprockiCanada2024-06-04Commercial Press NEGOTIATION18Elwin Sharvill
1049Smith W MacleadItaly2024-05-22Chemel, James L Cpa NEGOTIATION69Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Antonio X StensethSpainStephen Shaw RENEWAL
Stacey Z GarufiFranceAsiya Javayant NEGOTIATION
Leon J GarufiRussiaAmy Elsner QUALIFIED
Julie F ShinkoBrazilIvan Magalhaes RENEWAL
Tony Q GauchoRussiaAsiya Javayant UNQUALIFIED
Alejandro X BologniaGermanyStephen Shaw QUALIFIED
Deepesh M FlosiGermanyIvan Magalhaes NEGOTIATION
Maisha X ChuiSpainElwin Sharvill NEGOTIATION
Rodrigues V GarufiBrazilAmy Elsner RENEWAL
Johnson Y CaudyGermanyIvan Magalhaes UNQUALIFIED
Jeanfrancois D GauchoArgentinaAmy Elsner RENEWAL
Tony Z KolmetzItalyElwin Sharvill UNQUALIFIED
Mayumi W VocelkaUnited KingdomElwin Sharvill QUALIFIED
Jones U MarrierIndiaAnna Fali RENEWAL
James F KolmetzBrazilIvan Magalhaes NEGOTIATION
Claire B DilliardCanadaOnyama Limba NEW
Cody E VocelkaCanadaIoni Bowcher NEGOTIATION
Aruna H GlickItalyOnyama Limba QUALIFIED
Darci T GauchoIndiaIvan Magalhaes RENEWAL
Emily U StockhamGermanyAmy Elsner PROPOSAL
Ivar M GauchoFranceXuxue Feng RENEWAL
James X KuskoIndiaElwin Sharvill NEW
Wickens Q FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Arvin T WaycottRussiaBernardo Dominic NEW
Isabel L SlusarskiRussiaOnyama Limba RENEWAL
Smith P MorascaItalyXuxue Feng NEW
Jennifer Z RoysterItalyAnna Fali NEW
Maria S DoeGermanyIvan Magalhaes NEGOTIATION
Aruna Y OldroydIndiaAnna Fali NEGOTIATION
Claire Y GillianUnited KingdomBernardo Dominic NEW
Cody P GillianGermanyAnna Fali NEW
Octavia O AmigonSpainElwin Sharvill PROPOSAL
Jennifer P CampainJapanIoni Bowcher NEW
Jones I SchemmerFranceStephen Shaw RENEWAL
Jones T RutaGermanyElwin Sharvill PROPOSAL
Maria R CaldareraAustraliaAnna Fali QUALIFIED
Alejandro M SaylorsAustraliaAmy Elsner NEGOTIATION
Emily F PerinAustraliaAnna Fali RENEWAL
Ricardo Y WhobreyAustraliaElwin Sharvill QUALIFIED
Smith M PerinIndiaBernardo Dominic RENEWAL
Darci P VenereBrazilXuxue Feng UNQUALIFIED
Costa E DilliardFranceIoni Bowcher QUALIFIED
Antonio T FigeroaIndiaIoni Bowcher QUALIFIED
Chavez L RutaIndiaAmy Elsner UNQUALIFIED
Cody K OstroskyRussiaOnyama Limba NEW
Aditya V WhobreyItalyAnna Fali NEGOTIATION
Faith J SergiBrazilAmy Elsner RENEWAL
Aditya P VocelkaGermanyIoni Bowcher QUALIFIED
Adams C RimRussiaOnyama Limba NEW
Ivar X ShinkoJapanIvan Magalhaes RENEWAL
Frozen Columns
Name
Faith T Bowley
Ricardo P Dilliard
Rodrigues Y Rim
Aika F Gaucho
Costa D Dilliard
Greenwood C Chui
Rodrigues A Marrier
Isabel X Glick
Ricardo D Gaucho
Johnson T Poquette
Ricardo L Figeroa
Isabel T Oldroyd
Izzy S Venere
Clifford O Poquette
David N Tollner
Faith J Waycott
Deepesh U Stenseth
Clifford P Maclead
Kadeem O Ferencz
David R Briddick
Juan G Sergi
Kadeem I Caudy
Sinclair B Royster
Aruna X Garufi
Johnson B Nestle
Salvatore W Kolmetz
Salvatore Z Shinko
Adams S Albares
Juan K Briddick
Adams Q Caudy
Silvio H Slusarski
Ivar C Stockham
Misaki Y Inouye
Chavez Y Saylors
Wickens G Vocelka
Salvatore M Bolognia
Maisha D Paprocki
Chavez Y Malet
Jones Z Perin
Sinclair E Kusko
Munro A Saylors
David H Bowley
Maria F Saylors
Jennifer E Briddick
Arvin A Ferencz
Antonio X Kusko
James H Stenseth
Octavia F Venere
Nicolas S Malet
Juan Z Nicka
IdCountryDate
1000Brazil2024-06-09
1001Spain2024-06-09
1002Spain2024-06-10
1003Germany2024-05-21
1004Russia2024-05-21
1005United Kingdom2024-05-22
1006Canada2024-06-13
1007France2024-06-08
1008United Kingdom2024-06-02
1009Germany2024-05-17
1010Australia2024-05-19
1011Australia2024-05-17
1012France2024-05-15
1013Brazil2024-05-28
1014Argentina2024-06-03
1015Argentina2024-06-05
1016India2024-05-18
1017Brazil2024-05-15
1018Italy2024-06-04
1019Canada2024-05-15
1020Australia2024-06-05
1021Japan2024-05-20
1022India2024-06-03
1023Canada2024-06-04
1024Spain2024-06-09
1025Germany2024-05-21
1026Argentina2024-05-23
1027India2024-06-05
1028Canada2024-06-07
1029France2024-05-23
1030Russia2024-06-01
1031United Kingdom2024-05-26
1032Japan2024-05-15
1033Argentina2024-06-12
1034Spain2024-05-17
1035France2024-06-04
1036United Kingdom2024-06-12
1037Argentina2024-06-13
1038Japan2024-05-15
1039Australia2024-06-07
1040France2024-06-09
1041India2024-06-11
1042France2024-06-09
1043Spain2024-05-21
1044Germany2024-05-21
1045Brazil2024-06-04
1046Brazil2024-05-19
1047Argentina2024-06-10
1048United Kingdom2024-06-09
1049India2024-06-05

On-Demand Data

NameIdCountryDate
Stacey E Kusko1000Australia2024-05-19
Jefferson C Garufi1001Canada2024-05-20
Faith I Dilliard1002Japan2024-05-23
Aruna G Rim1003Brazil2024-05-16
Greenwood U Vocelka1004Australia2024-05-21
Silvio L Wieser1005India2024-05-19
Costa W Slusarski1006Italy2024-05-16
Cody W Paprocki1007Argentina2024-05-27
Silvio U Slusarski1008Argentina2024-05-26
Tony F Figeroa1009Argentina2024-05-17
Faith M Shinko1010Australia2024-06-01
Rodrigues M Stenseth1011Brazil2024-05-23
Stacey V Whobrey1012Australia2024-05-27
Munro S Tollner1013France2024-05-28
Rodrigues P Bowley1014Australia2024-05-25
Murillo L Stenseth1015Japan2024-06-03
Francesco K Malet1016Russia2024-06-03
Deepesh V Waycott1017Italy2024-05-17
Deepesh G Flosi1018Japan2024-05-18
David T Vocelka1019Brazil2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba D CaudyUnited KingdomBernardo Dominic NEW
Chavez N BriddickUnited KingdomIoni Bowcher PROPOSAL
Costa O DarakjySpainOnyama Limba RENEWAL
Smith N CaldareraRussiaIoni Bowcher PROPOSAL
James B MorascaGermanyElwin Sharvill NEW
Antonio L GillianArgentinaStephen Shaw RENEWAL
Smith Z StensethItalyAmy Elsner NEW
Jones F BriddickAustraliaStephen Shaw NEGOTIATION
Jefferson I ButtUnited KingdomElwin Sharvill UNQUALIFIED
Aika B MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Stacey Q ShinkoFranceElwin Sharvill NEW
James E MaletRussiaIvan Magalhaes QUALIFIED
Isabel P FerenczBrazilStephen Shaw NEGOTIATION
Juan Q ChuiCanadaElwin Sharvill UNQUALIFIED
Salvatore I RulapaughFranceAnna Fali UNQUALIFIED
Claire W GarufiAustraliaAnna Fali NEW
Smith P SlusarskiAustraliaElwin Sharvill NEGOTIATION
Maisha C KuskoCanadaIoni Bowcher PROPOSAL
Stacey W BologniaArgentinaOnyama Limba RENEWAL
Emily T SchemmerSpainIvan Magalhaes NEGOTIATION
Wickens B SergiFranceBernardo Dominic UNQUALIFIED
Izzy Z DilliardBrazilElwin Sharvill RENEWAL
Kaitlin C ShinkoJapanIoni Bowcher NEW
Emily L BriddickBrazilAnna Fali NEW
Salvatore P FerenczAustraliaAnna Fali RENEWAL
Misaki E BowleyAustraliaIoni Bowcher PROPOSAL
Isabel Z AmigonCanadaIoni Bowcher NEW
Jones S MarrierBrazilAnna Fali UNQUALIFIED
Juan G BriddickSpainOnyama Limba UNQUALIFIED
Chavez C OldroydSpainIvan Magalhaes QUALIFIED
Mayumi O FlosiCanadaOnyama Limba NEW
Nicolas E GlickUnited KingdomXuxue Feng QUALIFIED
Salvatore C NestleArgentinaBernardo Dominic NEW
Jefferson C ButtItalyIvan Magalhaes RENEWAL
Jennifer N BologniaItalyIvan Magalhaes NEGOTIATION
Octavia Q CaudyAustraliaElwin Sharvill RENEWAL
Cody H BologniaAustraliaXuxue Feng RENEWAL
Julie G MorascaJapanIvan Magalhaes QUALIFIED
Clifford L OldroydIndiaAmy Elsner PROPOSAL
Chavez G DarakjyFranceXuxue Feng 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>