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
Silvio U GillianRussiaOnyama Limba RENEWAL
Arvin N NickaRussiaAnna Fali NEW
Costa A MaletJapanIoni Bowcher QUALIFIED
Greenwood B FigeroaSpainOnyama Limba PROPOSAL
Faith F VenereJapanStephen Shaw NEGOTIATION
Maisha H ShinkoJapanAmy Elsner RENEWAL
Cody V FerenczGermanyElwin Sharvill UNQUALIFIED
Salvatore S IturbideBrazilIvan Magalhaes UNQUALIFIED
Darci Z PerinAustraliaXuxue Feng NEW
James X IturbideAustraliaBernardo Dominic RENEWAL
Mayumi Y DarakjyItalyElwin Sharvill PROPOSAL
Silvio O StockhamIndiaElwin Sharvill NEGOTIATION
Salvatore G SaylorsAustraliaAmy Elsner NEGOTIATION
Cody M MacleadAustraliaAmy Elsner QUALIFIED
Greenwood C OstroskyItalyAmy Elsner UNQUALIFIED
Izzy X GlickBrazilStephen Shaw NEW
Sinclair Q MaletGermanyIoni Bowcher NEGOTIATION
Izzy G StensethSpainElwin Sharvill PROPOSAL
Costa D CaldareraFranceIoni Bowcher RENEWAL
Claire Q FollerAustraliaOnyama Limba RENEWAL
Misaki A IturbideRussiaOnyama Limba PROPOSAL
Greenwood L PoquetteIndiaIvan Magalhaes PROPOSAL
Mujtaba J RimIndiaAsiya Javayant PROPOSAL
Murillo G GarufiCanadaElwin Sharvill QUALIFIED
Darci H MaletRussiaOnyama Limba RENEWAL
Tony Q NestleAustraliaXuxue Feng UNQUALIFIED
Wickens N CampainJapanOnyama Limba PROPOSAL
Ricardo B SergiUnited KingdomAmy Elsner UNQUALIFIED
Julie L FigeroaFranceAnna Fali UNQUALIFIED
Mujtaba I MacleadJapanAnna Fali NEW
Jones M RimFranceAnna Fali QUALIFIED
Arvin J PaprockiUnited KingdomAsiya Javayant NEW
Kaitlin Q FollerUnited KingdomXuxue Feng NEGOTIATION
Antonio V WhobreyJapanElwin Sharvill UNQUALIFIED
Izzy L RoysterUnited KingdomAsiya Javayant QUALIFIED
Silvio S TollnerUnited KingdomElwin Sharvill NEGOTIATION
Aruna L FerenczIndiaAmy Elsner NEW
Sinclair R GauchoSpainAmy Elsner PROPOSAL
Silvio S DarakjyJapanElwin Sharvill RENEWAL
Darci X StockhamCanadaAsiya Javayant NEGOTIATION
David E CaudyCanadaStephen Shaw UNQUALIFIED
Jones N RimIndiaIoni Bowcher QUALIFIED
Aruna G OldroydAustraliaAsiya Javayant NEGOTIATION
Francesco E MaletJapanElwin Sharvill QUALIFIED
Mujtaba P WaycottBrazilAsiya Javayant NEW
Emily Q FollerBrazilIoni Bowcher NEGOTIATION
Leon B SchemmerBrazilOnyama Limba NEW
Clifford Z FollerAustraliaAsiya Javayant UNQUALIFIED
Maisha R AmigonItalyElwin Sharvill NEW
Mayumi V PaprockiUnited KingdomIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar D WieserArgentinaIvan Magalhaes NEGOTIATION
Emily M GillianFranceIoni Bowcher NEW
Nicolas W DoeFranceAsiya Javayant NEW
Octavia I RutaSpainAsiya Javayant NEGOTIATION
Octavia M IturbideArgentinaBernardo Dominic UNQUALIFIED
Greenwood J MaletSpainOnyama Limba RENEWAL
Mayumi D StockhamCanadaBernardo Dominic NEW
Faith U PaprockiBrazilAsiya Javayant PROPOSAL
Rodrigues Z ShinkoIndiaIoni Bowcher NEW
Mujtaba E FigeroaAustraliaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki C GauchoItaly2024-06-13Printing Dimensions RENEWAL68Anna Fali
1001Mujtaba V GarufiRussia2024-06-17Chemel, James L Cpa NEW50Onyama Limba
1002Adams F NestleItaly2024-06-07Rousseaux, Michael Esq RENEWAL45Xuxue Feng
1003Leon U BologniaIndia2024-06-14Chanay, Jeffrey A Esq NEGOTIATION5Elwin Sharvill
1004Jeanfrancois A ChuiUnited Kingdom2024-05-30Dorl, James J Esq RENEWAL64Asiya Javayant
1005Antonio N ChuiRussia2024-06-20King, Christopher A Esq UNQUALIFIED24Stephen Shaw
1006Ivar Y FerenczArgentina2024-06-01Dorl, James J Esq NEGOTIATION42Amy Elsner
1007Isabel X NestleFrance2024-06-14Buckley Miller Wright NEGOTIATION15Bernardo Dominic
1008David M MacleadItaly2024-06-18King, Christopher A Esq RENEWAL24Anna Fali
1009Aruna V DoeIndia2024-06-14Rangoni Of Florence NEW21Bernardo Dominic
1010Stacey R MaletSpain2024-06-05Benton, John B Jr UNQUALIFIED24Anna Fali
1011Greenwood U AlbaresCanada2024-05-30Benton, John B Jr NEGOTIATION60Xuxue Feng
1012Clifford L OstroskyCanada2024-06-04Chemel, James L Cpa NEGOTIATION72Stephen Shaw
1013Alejandro X KuskoBrazil2024-06-21Rangoni Of Florence QUALIFIED6Anna Fali
1014Francesco E FollerArgentina2024-05-29Commercial Press UNQUALIFIED24Onyama Limba
1015Deepesh M RulapaughSpain2024-06-14Feiner Bros NEW53Asiya Javayant
1016Wickens H VocelkaItaly2024-06-08Feltz Printing Service QUALIFIED24Onyama Limba
1017Claire Z ChuiArgentina2024-05-30King, Christopher A Esq NEGOTIATION10Asiya Javayant
1018Cody D BologniaItaly2024-06-09Chanay, Jeffrey A Esq NEW0Ivan Magalhaes
1019Chavez S TollnerFrance2024-06-02Printing Dimensions PROPOSAL81Xuxue Feng
1020Francesco H ShinkoRussia2024-06-16Rousseaux, Michael Esq NEGOTIATION35Amy Elsner
1021Salvatore N ButtCanada2024-06-05Dorl, James J Esq RENEWAL30Onyama Limba
1022Johnson W InouyeBrazil2024-06-03Chapman, Ross E Esq NEW78Stephen Shaw
1023Stacey Z WaycottRussia2024-06-21Feiner Bros PROPOSAL67Amy Elsner
1024Leon U MacleadArgentina2024-05-26Rousseaux, Michael Esq PROPOSAL88Onyama Limba
1025Maisha N GarufiSpain2024-06-05King, Christopher A Esq RENEWAL46Asiya Javayant
1026Antonio R MarrierItaly2024-05-26Truhlar And Truhlar Attys QUALIFIED65Xuxue Feng
1027Isabel F AlbaresRussia2024-06-05Commercial Press NEW42Amy Elsner
1028Alejandro W InouyeAustralia2024-06-04Commercial Press NEW80Stephen Shaw
1029Octavia T PoquetteSpain2024-06-09Commercial Press PROPOSAL9Amy Elsner
1030Nicolas O DoeGermany2024-05-28King, Christopher A Esq NEW35Xuxue Feng
1031Ivar M WhobreyArgentina2024-06-21Feiner Bros PROPOSAL62Stephen Shaw
1032Ashley A SlusarskiRussia2024-06-09Buckley Miller Wright RENEWAL5Asiya Javayant
1033Rodrigues L WhobreyGermany2024-06-08King, Christopher A Esq RENEWAL81Ioni Bowcher
1034Kadeem F ShinkoFrance2024-05-28Chemel, James L Cpa NEGOTIATION16Amy Elsner
1035Munro A IturbideCanada2024-06-12Chemel, James L Cpa NEW65Xuxue Feng
1036Francesco P DilliardCanada2024-06-06Truhlar And Truhlar Attys RENEWAL9Onyama Limba
1037Izzy A SlusarskiUnited Kingdom2024-05-29Buckley Miller Wright NEW26Ivan Magalhaes
1038Juan Y IturbideFrance2024-06-13Rousseaux, Michael Esq NEGOTIATION47Stephen Shaw
1039Darci U CaudySpain2024-06-15Rousseaux, Michael Esq NEGOTIATION92Ivan Magalhaes
1040Deepesh K VocelkaBrazil2024-05-30Printing Dimensions RENEWAL19Xuxue Feng
1041Arvin T VocelkaGermany2024-06-15Rousseaux, Michael Esq NEW34Asiya Javayant
1042Kaitlin H IturbideCanada2024-05-29Chemel, James L Cpa UNQUALIFIED10Stephen Shaw
1043Juan Y DoeArgentina2024-06-12Feiner Bros UNQUALIFIED40Anna Fali
1044Jefferson F NickaGermany2024-06-16Dorl, James J Esq UNQUALIFIED65Amy Elsner
1045David P MarrierSpain2024-05-27Commercial Press NEGOTIATION93Stephen Shaw
1046Cody V StockhamJapan2024-06-14Chapman, Ross E Esq PROPOSAL58Stephen Shaw
1047Leon E CaudyAustralia2024-05-31Morlong Associates QUALIFIED10Asiya Javayant
1048Faith S ShinkoGermany2024-06-10Chanay, Jeffrey A Esq NEW19Elwin Sharvill
1049Isabel C FigeroaGermany2024-06-02Chapman, Ross E Esq QUALIFIED31Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Salvatore V AlbaresSpainIvan Magalhaes UNQUALIFIED
Ricardo E GarufiBrazilOnyama Limba PROPOSAL
Tony E DoeIndiaStephen Shaw QUALIFIED
Leja Q TollnerAustraliaXuxue Feng UNQUALIFIED
Jeanfrancois X WieserUnited KingdomAsiya Javayant UNQUALIFIED
Munro V BologniaIndiaIoni Bowcher UNQUALIFIED
Jones B ShinkoGermanyAmy Elsner QUALIFIED
Kaitlin K InouyeIndiaStephen Shaw NEW
Misaki H StockhamFranceIvan Magalhaes NEW
Wickens W DoeRussiaOnyama Limba NEGOTIATION
Ivar Z PerinRussiaXuxue Feng NEGOTIATION
Sinclair G CampainCanadaAnna Fali QUALIFIED
Wickens E WhobreyItalyOnyama Limba PROPOSAL
Chavez B MaletArgentinaAmy Elsner UNQUALIFIED
Kadeem G GauchoCanadaStephen Shaw UNQUALIFIED
Octavia W NickaBrazilAsiya Javayant NEGOTIATION
Faith O RoysterJapanOnyama Limba NEW
Kaitlin G GlickCanadaAsiya Javayant RENEWAL
Salvatore R DoeIndiaBernardo Dominic UNQUALIFIED
Leja Q WhobreyBrazilAsiya Javayant QUALIFIED
Kadeem Y StockhamSpainAsiya Javayant RENEWAL
Leja P VocelkaGermanyElwin Sharvill NEW
Adams D VenereSpainIoni Bowcher QUALIFIED
Jennifer E MacleadUnited KingdomIoni Bowcher RENEWAL
Jefferson L VenereUnited KingdomIvan Magalhaes QUALIFIED
Cody F CaudyFranceIoni Bowcher QUALIFIED
Leon H ChuiUnited KingdomIoni Bowcher QUALIFIED
Emily X VenereGermanyOnyama Limba PROPOSAL
Jennifer I VenereFranceStephen Shaw UNQUALIFIED
Octavia F BowleySpainElwin Sharvill NEGOTIATION
Nicolas B OstroskyItalyAsiya Javayant UNQUALIFIED
Jeanfrancois O DilliardArgentinaAmy Elsner NEGOTIATION
Johnson Z DoeCanadaAnna Fali RENEWAL
Silvio C SchemmerItalyIoni Bowcher RENEWAL
Jeanfrancois O MarrierSpainAsiya Javayant NEW
Jefferson V GarufiRussiaAmy Elsner NEGOTIATION
Johnson V ChuiRussiaAnna Fali NEW
Jefferson N KolmetzUnited KingdomXuxue Feng NEGOTIATION
Aruna W GlickItalyBernardo Dominic RENEWAL
Clifford M VocelkaAustraliaStephen Shaw RENEWAL
Julie Y AmigonRussiaAmy Elsner NEGOTIATION
Ricardo N FigeroaBrazilElwin Sharvill RENEWAL
Ivar M RulapaughUnited KingdomBernardo Dominic RENEWAL
Salvatore B FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Aditya W MaletFranceBernardo Dominic RENEWAL
Jones F RulapaughFranceBernardo Dominic RENEWAL
Jefferson L MarrierIndiaStephen Shaw PROPOSAL
Nicolas A KuskoSpainAsiya Javayant PROPOSAL
Jennifer X AlbaresIndiaIoni Bowcher PROPOSAL
Aruna Q SergiUnited KingdomOnyama Limba QUALIFIED
Frozen Columns
Name
Izzy Z Malet
David C Marrier
Kaitlin I Dilliard
Maisha B Marrier
Leja X Butt
Greenwood B Flosi
Jennifer H Tollner
James Y Stockham
Aika F Rim
Nicolas H Stockham
Nicolas T Poquette
Darci W Paprocki
Alejandro Q Schemmer
Faith F Glick
Aruna G Waycott
David M Paprocki
Maisha S Malet
Alejandro K Caldarera
Greenwood Q Schemmer
Francesco P Kusko
Greenwood W Paprocki
Nicolas F Tollner
Jefferson W Waycott
Clifford W Royster
Costa M Marrier
Jennifer E Campain
Maisha K Garufi
Leon W Campain
Isabel T Foller
Mayumi Y Caldarera
Mujtaba T Morasca
Jennifer F Stockham
Claire A Stenseth
Morrow X Nestle
Alejandro N Schemmer
Silvio I Doe
Antonio H Gillian
Jeanfrancois T Campain
Jeanfrancois U Maclead
James E Slusarski
Costa N Albares
Leja H Vocelka
Kadeem M Briddick
Mayumi A Rulapaugh
Maisha H Caldarera
Isabel C Amigon
Wickens Z Malet
Leja W Garufi
Jefferson P Morasca
Deepesh A Doe
IdCountryDate
1000Canada2024-06-22
1001Canada2024-05-29
1002Canada2024-06-22
1003Japan2024-06-21
1004Argentina2024-05-25
1005United Kingdom2024-06-06
1006Spain2024-06-21
1007Brazil2024-06-11
1008Canada2024-05-31
1009United Kingdom2024-06-05
1010India2024-06-06
1011France2024-05-26
1012Canada2024-06-08
1013United Kingdom2024-06-17
1014Japan2024-06-10
1015France2024-06-04
1016Brazil2024-06-20
1017India2024-05-31
1018Australia2024-06-19
1019Argentina2024-06-11
1020Canada2024-06-22
1021Brazil2024-06-21
1022Australia2024-06-07
1023India2024-06-18
1024India2024-05-25
1025Argentina2024-06-22
1026United Kingdom2024-06-19
1027Canada2024-06-20
1028Russia2024-06-13
1029Russia2024-06-06
1030Australia2024-06-07
1031Australia2024-05-25
1032Brazil2024-06-14
1033Brazil2024-06-01
1034India2024-05-25
1035Russia2024-06-21
1036Japan2024-06-05
1037Brazil2024-06-15
1038Canada2024-06-03
1039Germany2024-06-05
1040Brazil2024-05-29
1041Canada2024-05-25
1042Russia2024-06-13
1043United Kingdom2024-06-12
1044United Kingdom2024-05-26
1045Russia2024-05-28
1046Spain2024-05-28
1047Canada2024-06-20
1048India2024-06-18
1049Argentina2024-06-22

On-Demand Data

NameIdCountryDate
Sinclair O Poquette1000Australia2024-06-12
Wickens F Foller1001India2024-06-20
Darci W Marrier1002United Kingdom2024-06-12
Maisha I Bolognia1003France2024-06-21
Julie F Stockham1004Japan2024-06-19
Cody T Oldroyd1005Germany2024-06-13
Juan T Albares1006Brazil2024-06-19
Leja U Caudy1007Italy2024-06-05
Smith H Glick1008France2024-06-20
Francesco W Maclead1009Argentina2024-06-06
Tony T Slusarski1010Argentina2024-06-08
Morrow A Waycott1011Japan2024-05-26
Maria J Bolognia1012India2024-05-30
Jeanfrancois G Paprocki1013Spain2024-06-11
Kaitlin M Glick1014India2024-06-10
Cody S Caldarera1015Spain2024-06-10
Greenwood I Nicka1016Argentina2024-06-17
Alejandro C Stenseth1017Spain2024-05-27
Jennifer A Darakjy1018Italy2024-06-06
Maria R Slusarski1019Canada2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar C SlusarskiSpainAmy Elsner RENEWAL
Salvatore N SaylorsSpainAnna Fali NEGOTIATION
Clifford P MaletAustraliaElwin Sharvill UNQUALIFIED
Salvatore B RoysterJapanAsiya Javayant UNQUALIFIED
Maisha D RutaRussiaElwin Sharvill PROPOSAL
James I PaprockiIndiaAsiya Javayant RENEWAL
Ashley I StockhamFranceIoni Bowcher PROPOSAL
Sinclair N MaletJapanIoni Bowcher PROPOSAL
Silvio N MaletGermanyIvan Magalhaes QUALIFIED
Morrow F FerenczItalyAnna Fali NEGOTIATION
Aditya X MaletJapanElwin Sharvill UNQUALIFIED
Claire S GlickCanadaOnyama Limba QUALIFIED
Antonio B StockhamUnited KingdomXuxue Feng NEW
Aruna E NickaIndiaAmy Elsner NEW
Tony B DilliardAustraliaIoni Bowcher QUALIFIED
Wickens L BowleyFranceStephen Shaw NEGOTIATION
Julie P SchemmerFranceIvan Magalhaes UNQUALIFIED
Julie O MaletGermanyElwin Sharvill RENEWAL
Rodrigues C MaletRussiaAsiya Javayant NEW
Alejandro Y PerinArgentinaIvan Magalhaes RENEWAL
Leja K FollerItalyBernardo Dominic NEW
Greenwood G RutaCanadaAsiya Javayant PROPOSAL
Silvio Z FlosiGermanyIoni Bowcher NEW
Aika I GarufiFranceIvan Magalhaes RENEWAL
Smith Q TollnerItalyXuxue Feng NEGOTIATION
Faith L CampainAustraliaIoni Bowcher NEW
Antonio B AlbaresIndiaElwin Sharvill PROPOSAL
Leon D OldroydRussiaIoni Bowcher NEGOTIATION
Francesco O MarrierBrazilAnna Fali PROPOSAL
Murillo S BowleyArgentinaStephen Shaw PROPOSAL
Leja L NestleJapanElwin Sharvill NEGOTIATION
Jones T ButtUnited KingdomAmy Elsner RENEWAL
Adams T BowleyJapanAsiya Javayant NEW
Ivar U VenereSpainIoni Bowcher NEGOTIATION
Tony N GlickBrazilXuxue Feng PROPOSAL
Aditya L ShinkoRussiaAnna Fali UNQUALIFIED
James O MacleadSpainIoni Bowcher NEW
Wickens A ChuiBrazilXuxue Feng NEGOTIATION
Chavez U ShinkoItalyAmy Elsner RENEWAL
Claire X NickaAustraliaIoni Bowcher 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>