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
Aika K KolmetzUnited KingdomAsiya Javayant QUALIFIED
Juan N RutaItalyAmy Elsner NEGOTIATION
Chavez V FerenczAustraliaStephen Shaw QUALIFIED
Julie L DoeFranceOnyama Limba PROPOSAL
Izzy I FerenczArgentinaAnna Fali PROPOSAL
Johnson H SergiJapanStephen Shaw RENEWAL
Mayumi O WieserUnited KingdomAsiya Javayant NEW
Ivar L RoysterSpainBernardo Dominic PROPOSAL
Silvio P TollnerGermanyStephen Shaw UNQUALIFIED
Francesco V MaletCanadaAmy Elsner PROPOSAL
Ashley N RoysterJapanIoni Bowcher QUALIFIED
Juan C MaletCanadaIoni Bowcher UNQUALIFIED
Aditya C DoeBrazilOnyama Limba RENEWAL
Jennifer U FollerCanadaAsiya Javayant RENEWAL
Sinclair Q GauchoUnited KingdomStephen Shaw UNQUALIFIED
Aditya A RutaAustraliaAnna Fali PROPOSAL
Emily R CaudySpainXuxue Feng UNQUALIFIED
Greenwood K DilliardGermanyXuxue Feng QUALIFIED
Nicolas Z KolmetzSpainXuxue Feng UNQUALIFIED
Jefferson F CampainBrazilStephen Shaw NEW
Arvin I DilliardIndiaElwin Sharvill RENEWAL
Clifford K PaprockiAustraliaXuxue Feng NEW
Faith J GillianSpainOnyama Limba QUALIFIED
Jennifer F CampainCanadaXuxue Feng QUALIFIED
Isabel Z SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Antonio N KolmetzRussiaIvan Magalhaes UNQUALIFIED
Ivar N ButtItalyElwin Sharvill NEGOTIATION
Munro W StockhamGermanyIvan Magalhaes QUALIFIED
Leja D RutaBrazilIoni Bowcher UNQUALIFIED
Mujtaba Q CaudyRussiaAmy Elsner PROPOSAL
Mayumi C PoquetteAustraliaOnyama Limba NEW
Aruna I MorascaUnited KingdomStephen Shaw UNQUALIFIED
Aditya R BologniaIndiaElwin Sharvill NEW
Costa P PerinJapanAmy Elsner PROPOSAL
Jennifer P AmigonIndiaIvan Magalhaes NEW
Salvatore F PaprockiIndiaIoni Bowcher PROPOSAL
Smith S PerinUnited KingdomIvan Magalhaes NEGOTIATION
Claire S RimIndiaIoni Bowcher PROPOSAL
Rodrigues S CaldareraBrazilElwin Sharvill QUALIFIED
Jones Z MorascaIndiaIvan Magalhaes RENEWAL
Smith E FigeroaSpainXuxue Feng UNQUALIFIED
James J WhobreyAustraliaAnna Fali UNQUALIFIED
Mujtaba F StensethFranceBernardo Dominic QUALIFIED
Salvatore J OstroskySpainBernardo Dominic RENEWAL
Maria O AlbaresArgentinaAmy Elsner NEW
Salvatore J GillianJapanBernardo Dominic NEGOTIATION
Deepesh R RimFranceBernardo Dominic NEW
Aika K CaudyAustraliaElwin Sharvill RENEWAL
Francesco T VocelkaRussiaBernardo Dominic RENEWAL
Darci P FigeroaSpainIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin V MacleadUnited KingdomBernardo Dominic PROPOSAL
Ivar L AlbaresSpainAsiya Javayant RENEWAL
Ricardo A InouyeGermanyAsiya Javayant QUALIFIED
Arvin J CaudyCanadaAsiya Javayant NEW
Ricardo C CaldareraJapanOnyama Limba QUALIFIED
Kaitlin M DilliardJapanBernardo Dominic UNQUALIFIED
Claire C FollerArgentinaAsiya Javayant NEGOTIATION
Arvin G DarakjyJapanOnyama Limba UNQUALIFIED
Morrow K GarufiFranceAsiya Javayant UNQUALIFIED
Kadeem N BowleyArgentinaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo C WieserFrance2024-06-16Buckley Miller Wright NEW29Xuxue Feng
1001Nicolas D GillianFrance2024-06-20Chemel, James L Cpa QUALIFIED72Stephen Shaw
1002Munro K RutaItaly2024-06-15Buckley Miller Wright PROPOSAL6Elwin Sharvill
1003Octavia L FerenczJapan2024-06-08Truhlar And Truhlar Attys NEW95Onyama Limba
1004Claire W GauchoIndia2024-05-31Rousseaux, Michael Esq NEW92Ivan Magalhaes
1005David U DoeItaly2024-06-01Rousseaux, Michael Esq RENEWAL3Stephen Shaw
1006Faith O PerinGermany2024-06-12Chanay, Jeffrey A Esq RENEWAL69Asiya Javayant
1007Ricardo P DoeItaly2024-06-22Feltz Printing Service NEW80Xuxue Feng
1008Stacey S PerinAustralia2024-05-24Commercial Press UNQUALIFIED96Xuxue Feng
1009Isabel G KuskoJapan2024-06-03Truhlar And Truhlar Attys PROPOSAL3Asiya Javayant
1010Jeanfrancois M IturbideArgentina2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED84Amy Elsner
1011Greenwood R CaldareraBrazil2024-05-26Benton, John B Jr QUALIFIED28Elwin Sharvill
1012Ashley E GlickAustralia2024-06-02Buckley Miller Wright RENEWAL74Ivan Magalhaes
1013Juan U GlickItaly2024-05-26Rangoni Of Florence PROPOSAL56Asiya Javayant
1014Sinclair G FerenczSpain2024-05-30Chapman, Ross E Esq RENEWAL55Stephen Shaw
1015Alejandro R PaprockiBrazil2024-06-13Truhlar And Truhlar Attys NEW92Amy Elsner
1016Deepesh E FerenczRussia2024-06-13Commercial Press NEW70Onyama Limba
1017Jones S WhobreyRussia2024-06-22Rangoni Of Florence NEGOTIATION34Amy Elsner
1018Maria L AmigonCanada2024-05-27Benton, John B Jr NEW29Ioni Bowcher
1019Jennifer P MaletCanada2024-06-13Feiner Bros RENEWAL13Amy Elsner
1020Murillo Y CampainArgentina2024-06-08Feltz Printing Service RENEWAL21Elwin Sharvill
1021Jones S RimBrazil2024-06-12Commercial Press UNQUALIFIED14Ioni Bowcher
1022Salvatore X GillianArgentina2024-06-06Chapman, Ross E Esq PROPOSAL71Amy Elsner
1023Kaitlin E MarrierFrance2024-06-01Feiner Bros RENEWAL60Anna Fali
1024Emily P WieserUnited Kingdom2024-06-15Morlong Associates NEGOTIATION89Bernardo Dominic
1025Mujtaba I MorascaRussia2024-06-08Chapman, Ross E Esq PROPOSAL82Ivan Magalhaes
1026Octavia U GarufiJapan2024-06-16King, Christopher A Esq NEGOTIATION69Stephen Shaw
1027Chavez J NestleCanada2024-06-15Buckley Miller Wright RENEWAL91Stephen Shaw
1028Cody C FigeroaItaly2024-06-05Dorl, James J Esq NEW30Stephen Shaw
1029Claire T AlbaresUnited Kingdom2024-06-21Chanay, Jeffrey A Esq RENEWAL83Ivan Magalhaes
1030James C NickaItaly2024-05-30Feiner Bros NEGOTIATION35Asiya Javayant
1031Smith Q IturbideIndia2024-06-15Chapman, Ross E Esq NEW7Onyama Limba
1032Chavez I DarakjyArgentina2024-05-25Rangoni Of Florence QUALIFIED15Onyama Limba
1033Ashley T TollnerGermany2024-06-02Morlong Associates UNQUALIFIED28Xuxue Feng
1034James J DarakjySpain2024-06-13Rousseaux, Michael Esq NEGOTIATION76Onyama Limba
1035Silvio R WaycottUnited Kingdom2024-06-22Feltz Printing Service QUALIFIED92Elwin Sharvill
1036Mujtaba U BowleyFrance2024-06-21Benton, John B Jr NEGOTIATION68Bernardo Dominic
1037Julie U SergiSpain2024-05-30Feltz Printing Service NEGOTIATION84Stephen Shaw
1038Juan Q ChuiSpain2024-06-21Dorl, James J Esq NEGOTIATION66Ivan Magalhaes
1039Jones L FollerBrazil2024-06-21Chemel, James L Cpa QUALIFIED88Elwin Sharvill
1040Ashley G OstroskyIndia2024-06-05Buckley Miller Wright RENEWAL31Ivan Magalhaes
1041Greenwood S StensethCanada2024-05-29Chemel, James L Cpa PROPOSAL22Asiya Javayant
1042Faith N CaldareraGermany2024-06-18Dorl, James J Esq PROPOSAL83Stephen Shaw
1043Salvatore E SlusarskiBrazil2024-06-12Buckley Miller Wright PROPOSAL13Asiya Javayant
1044Munro X BriddickUnited Kingdom2024-05-28Chanay, Jeffrey A Esq NEGOTIATION19Xuxue Feng
1045Jennifer X FollerArgentina2024-06-10Truhlar And Truhlar Attys QUALIFIED63Asiya Javayant
1046Maisha L CaldareraBrazil2024-06-06Rousseaux, Michael Esq UNQUALIFIED20Stephen Shaw
1047Arvin S FigeroaBrazil2024-06-15Chapman, Ross E Esq RENEWAL96Amy Elsner
1048Arvin N BologniaBrazil2024-06-05Morlong Associates QUALIFIED20Asiya Javayant
1049Aika M FlosiArgentina2024-05-30Benton, John B Jr QUALIFIED3Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Cody T MorascaRussiaStephen Shaw UNQUALIFIED
Isabel L RutaIndiaOnyama Limba UNQUALIFIED
James F MacleadArgentinaAmy Elsner UNQUALIFIED
Silvio V VocelkaUnited KingdomElwin Sharvill QUALIFIED
Aika O DilliardUnited KingdomXuxue Feng NEGOTIATION
Ivar U SchemmerArgentinaXuxue Feng RENEWAL
Tony B WhobreyUnited KingdomAmy Elsner UNQUALIFIED
Leja Y MorascaIndiaIvan Magalhaes PROPOSAL
Antonio A FlosiArgentinaIvan Magalhaes UNQUALIFIED
Aditya W SchemmerRussiaIvan Magalhaes PROPOSAL
Salvatore F MaletIndiaIvan Magalhaes NEGOTIATION
Aruna E FollerBrazilAnna Fali NEW
Julie U PerinFranceAnna Fali QUALIFIED
Morrow I WhobreyFranceStephen Shaw NEW
Arvin P SchemmerAustraliaBernardo Dominic NEW
Ashley S DarakjyRussiaXuxue Feng NEGOTIATION
Chavez A GillianFranceStephen Shaw PROPOSAL
Juan S NickaArgentinaStephen Shaw PROPOSAL
Sinclair L CaldareraCanadaXuxue Feng RENEWAL
Stacey A RutaItalyAmy Elsner RENEWAL
Johnson B BowleyIndiaAmy Elsner PROPOSAL
Ricardo O CampainRussiaAmy Elsner QUALIFIED
Maria Y GauchoJapanStephen Shaw RENEWAL
Murillo G InouyeSpainStephen Shaw NEGOTIATION
Aditya J PaprockiSpainBernardo Dominic RENEWAL
Aika L MorascaCanadaIoni Bowcher NEW
Jefferson V ButtBrazilAmy Elsner UNQUALIFIED
Silvio U GillianCanadaAsiya Javayant UNQUALIFIED
Claire F SaylorsGermanyAsiya Javayant NEGOTIATION
Wickens W TollnerIndiaBernardo Dominic NEW
Cody C GarufiSpainStephen Shaw QUALIFIED
Misaki R CaudyAustraliaBernardo Dominic QUALIFIED
David U VocelkaGermanyElwin Sharvill PROPOSAL
Julie C MacleadFranceXuxue Feng PROPOSAL
Maisha M MaletItalyXuxue Feng QUALIFIED
Octavia P SlusarskiItalyBernardo Dominic QUALIFIED
Ashley B WhobreyGermanyXuxue Feng RENEWAL
Alejandro M StockhamBrazilElwin Sharvill RENEWAL
Ricardo D BologniaJapanIvan Magalhaes NEW
Aditya C BologniaBrazilStephen Shaw NEW
Cody K GillianUnited KingdomBernardo Dominic QUALIFIED
Emily A FerenczJapanAmy Elsner NEW
Cody M GillianJapanAsiya Javayant QUALIFIED
Julie O GlickJapanAmy Elsner NEGOTIATION
Antonio Q VocelkaFranceAmy Elsner UNQUALIFIED
Isabel L MaletUnited KingdomBernardo Dominic NEGOTIATION
Clifford M TollnerIndiaElwin Sharvill NEW
Mujtaba U NestleUnited KingdomAmy Elsner RENEWAL
Aditya P DarakjyUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford D MarrierUnited KingdomAmy Elsner PROPOSAL
Frozen Columns
Name
James L Maclead
Costa F Saylors
Maisha R Tollner
Jones E Figeroa
Jefferson F Malet
Leja E Poquette
Jefferson W Morasca
Murillo M Oldroyd
Mujtaba N Ruta
Arvin V Figeroa
Aruna T Butt
Clifford G Whobrey
Tony F Perin
Octavia T Wieser
Kadeem N Tollner
Maria C Paprocki
Leja J Kolmetz
Misaki I Waycott
Leja D Ostrosky
Wickens C Slusarski
Wickens C Ruta
Mujtaba Y Figeroa
Jefferson G Foller
Jennifer P Sergi
Rodrigues M Rim
Sinclair B Kolmetz
Juan Y Stenseth
Greenwood X Bolognia
Smith O Nestle
Rodrigues R Malet
Julie V Malet
Aruna Y Butt
Salvatore I Slusarski
Antonio H Marrier
Clifford A Sergi
Clifford Y Sergi
Salvatore X Kusko
Rodrigues A Glick
Maisha E Royster
Arvin Q Slusarski
Sinclair P Stenseth
Adams E Caudy
Ivar G Ostrosky
Leon H Doe
Octavia R Waycott
Jennifer D Iturbide
Adams N Caldarera
Izzy P Campain
Clifford R Whobrey
Adams U Albares
IdCountryDate
1000Japan2024-06-18
1001Russia2024-06-02
1002France2024-06-17
1003United Kingdom2024-06-10
1004Canada2024-06-22
1005Spain2024-06-16
1006United Kingdom2024-05-27
1007Australia2024-06-08
1008Canada2024-06-09
1009Italy2024-06-01
1010United Kingdom2024-05-31
1011Italy2024-06-15
1012India2024-05-30
1013Japan2024-06-21
1014Australia2024-06-03
1015Brazil2024-06-18
1016India2024-06-20
1017Spain2024-06-15
1018Spain2024-06-19
1019Spain2024-05-26
1020Argentina2024-06-08
1021France2024-05-26
1022France2024-06-17
1023Argentina2024-06-18
1024Japan2024-06-21
1025Japan2024-06-12
1026India2024-06-16
1027Russia2024-05-28
1028Russia2024-05-25
1029France2024-06-17
1030Germany2024-06-21
1031United Kingdom2024-06-16
1032France2024-06-01
1033Canada2024-06-16
1034Germany2024-06-10
1035France2024-06-13
1036India2024-06-13
1037France2024-06-10
1038Argentina2024-05-25
1039Canada2024-06-10
1040Canada2024-06-12
1041France2024-06-07
1042Spain2024-06-06
1043Germany2024-06-03
1044Spain2024-06-19
1045Germany2024-06-04
1046United Kingdom2024-06-14
1047Spain2024-06-02
1048Spain2024-06-05
1049Brazil2024-06-11

On-Demand Data

NameIdCountryDate
Jennifer U Malet1000Spain2024-05-26
Ricardo E Schemmer1001Brazil2024-06-11
David L Foller1002Spain2024-06-20
Julie V Waycott1003Germany2024-06-12
Ricardo C Doe1004Germany2024-06-16
Izzy P Wieser1005Brazil2024-05-25
Johnson E Garufi1006Canada2024-06-07
Chavez D Saylors1007Japan2024-06-03
Leon S Bowley1008United Kingdom2024-06-04
Aditya R Figeroa1009Argentina2024-06-14
Adams Z Slusarski1010Australia2024-06-07
James D Shinko1011France2024-06-16
Jennifer D Wieser1012United Kingdom2024-06-11
Antonio Y Bolognia1013United Kingdom2024-06-22
Costa M Paprocki1014Russia2024-06-21
Costa R Rim1015Argentina2024-06-04
Octavia N Poquette1016Japan2024-06-15
Faith X Amigon1017Italy2024-06-22
Ashley X Sergi1018Germany2024-06-21
Emily O Bolognia1019Italy2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika R MorascaRussiaXuxue Feng RENEWAL
Antonio Q RoysterSpainOnyama Limba UNQUALIFIED
Deepesh I DarakjyItalyIvan Magalhaes QUALIFIED
Adams Z DoeAustraliaIvan Magalhaes PROPOSAL
Aruna L StensethArgentinaIoni Bowcher NEW
Munro N BowleyRussiaIvan Magalhaes QUALIFIED
Deepesh V ChuiCanadaAsiya Javayant NEGOTIATION
Maisha G StockhamArgentinaBernardo Dominic UNQUALIFIED
Deepesh C CaldareraUnited KingdomIvan Magalhaes NEW
Jones Z RulapaughSpainAsiya Javayant QUALIFIED
Julie G AmigonBrazilElwin Sharvill NEW
Leja H FollerFranceStephen Shaw RENEWAL
Jeanfrancois D ShinkoGermanyAmy Elsner NEGOTIATION
Costa H VenereAustraliaAmy Elsner NEGOTIATION
Faith Y PerinAustraliaBernardo Dominic QUALIFIED
Mayumi Q WhobreyFranceIoni Bowcher RENEWAL
Clifford L VenereAustraliaOnyama Limba QUALIFIED
Munro W RutaUnited KingdomOnyama Limba QUALIFIED
Antonio I PerinIndiaBernardo Dominic RENEWAL
Costa U OldroydAustraliaAmy Elsner UNQUALIFIED
Aika H AmigonFranceElwin Sharvill NEGOTIATION
David L StockhamAustraliaStephen Shaw UNQUALIFIED
Munro P WaycottItalyAmy Elsner PROPOSAL
Octavia U BriddickArgentinaBernardo Dominic NEW
Mujtaba C PerinIndiaAmy Elsner NEGOTIATION
Greenwood Y NickaArgentinaXuxue Feng QUALIFIED
Octavia V GarufiGermanyXuxue Feng NEGOTIATION
Maisha X NestleIndiaIvan Magalhaes NEW
Greenwood Y DarakjyBrazilIoni Bowcher RENEWAL
Tony O FerenczUnited KingdomOnyama Limba PROPOSAL
Sinclair E MarrierArgentinaXuxue Feng PROPOSAL
Mujtaba O NestleJapanAsiya Javayant NEW
Kadeem B CampainJapanAnna Fali RENEWAL
Deepesh K CaldareraSpainAnna Fali PROPOSAL
Mayumi X RutaItalyXuxue Feng NEGOTIATION
Jennifer H AlbaresItalyIoni Bowcher QUALIFIED
Nicolas R PaprockiGermanyIoni Bowcher UNQUALIFIED
Misaki C SlusarskiItalyOnyama Limba QUALIFIED
Adams G DoeCanadaAnna Fali PROPOSAL
James C InouyeCanadaAnna Fali 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>