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
Isabel U GarufiRussiaElwin Sharvill PROPOSAL
Kadeem J CaudyIndiaAmy Elsner NEW
Smith O RoysterFranceAmy Elsner PROPOSAL
Cody Y NickaCanadaBernardo Dominic QUALIFIED
Wickens G DoeGermanyAsiya Javayant QUALIFIED
Maria N MaletSpainAsiya Javayant NEW
Ricardo V FerenczIndiaXuxue Feng RENEWAL
Chavez P BriddickArgentinaAsiya Javayant NEGOTIATION
David W VocelkaUnited KingdomElwin Sharvill RENEWAL
Salvatore G StockhamFranceAsiya Javayant RENEWAL
Clifford G CaldareraIndiaOnyama Limba QUALIFIED
Aika V BologniaFranceIoni Bowcher NEW
Claire G IturbideSpainAnna Fali NEGOTIATION
Maisha Q SchemmerAustraliaIoni Bowcher PROPOSAL
Jefferson A StockhamSpainAnna Fali UNQUALIFIED
Salvatore Z OstroskyBrazilAnna Fali QUALIFIED
Adams D PoquetteIndiaIvan Magalhaes NEGOTIATION
Murillo C WhobreyCanadaOnyama Limba QUALIFIED
Stacey Q KolmetzSpainXuxue Feng PROPOSAL
Ashley Z WaycottUnited KingdomElwin Sharvill PROPOSAL
Francesco F ChuiIndiaElwin Sharvill PROPOSAL
Mujtaba L RoysterArgentinaAsiya Javayant QUALIFIED
Aika Z KuskoBrazilAnna Fali RENEWAL
Kadeem Q SergiCanadaAnna Fali NEGOTIATION
Darci T RimRussiaXuxue Feng QUALIFIED
Claire C PoquetteArgentinaAmy Elsner RENEWAL
Adams C VocelkaBrazilIvan Magalhaes QUALIFIED
Isabel B FlosiSpainStephen Shaw QUALIFIED
Jennifer W GauchoAustraliaBernardo Dominic QUALIFIED
Smith P PoquetteFranceAsiya Javayant UNQUALIFIED
Sinclair Q RimCanadaOnyama Limba RENEWAL
Murillo F FollerJapanBernardo Dominic UNQUALIFIED
Ricardo U ShinkoJapanOnyama Limba NEGOTIATION
Johnson U SaylorsIndiaStephen Shaw RENEWAL
Wickens B SaylorsUnited KingdomBernardo Dominic PROPOSAL
Ivar B InouyeFranceStephen Shaw UNQUALIFIED
Jones Y KolmetzIndiaOnyama Limba RENEWAL
Maisha X PerinGermanyIvan Magalhaes UNQUALIFIED
Kadeem V GarufiGermanyOnyama Limba NEGOTIATION
Deepesh P GillianFranceAnna Fali NEGOTIATION
Jeanfrancois C MorascaBrazilBernardo Dominic NEGOTIATION
Jennifer M RoysterCanadaXuxue Feng NEW
Maria J VenereGermanyOnyama Limba QUALIFIED
Darci V OldroydItalyIvan Magalhaes PROPOSAL
Munro D VocelkaGermanyBernardo Dominic NEGOTIATION
Munro P RoysterUnited KingdomIoni Bowcher PROPOSAL
Stacey B MaletIndiaAmy Elsner RENEWAL
Rodrigues G RoysterBrazilStephen Shaw UNQUALIFIED
Deepesh C BriddickCanadaXuxue Feng RENEWAL
Ricardo K MacleadBrazilElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Sinclair O FlosiIndiaAnna Fali QUALIFIED
Leon C PerinIndiaStephen Shaw UNQUALIFIED
Sinclair G MorascaArgentinaAmy Elsner UNQUALIFIED
Sinclair I SergiAustraliaAmy Elsner PROPOSAL
Misaki A CaudyUnited KingdomStephen Shaw UNQUALIFIED
Mayumi I RimRussiaIoni Bowcher NEGOTIATION
Jefferson B RimRussiaIvan Magalhaes UNQUALIFIED
Nicolas A SchemmerRussiaAnna Fali PROPOSAL
Darci L NickaIndiaIoni Bowcher QUALIFIED
Maisha A MaletItalyBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh A OldroydRussia2025-05-12Feiner Bros UNQUALIFIED98Amy Elsner
1001Kaitlin M RulapaughIndia2025-05-19Rousseaux, Michael Esq PROPOSAL27Xuxue Feng
1002Morrow C BowleyBrazil2025-05-08Commercial Press PROPOSAL2Onyama Limba
1003Stacey J PerinIndia2025-05-10Printing Dimensions NEW51Asiya Javayant
1004Clifford I TollnerBrazil2025-05-12Chemel, James L Cpa QUALIFIED18Onyama Limba
1005Chavez A SaylorsItaly2025-05-21Feiner Bros UNQUALIFIED5Asiya Javayant
1006Ivar A DarakjyRussia2025-05-20King, Christopher A Esq UNQUALIFIED17Amy Elsner
1007Claire S ButtSpain2025-05-06Chemel, James L Cpa RENEWAL71Asiya Javayant
1008Jennifer Z RutaJapan2025-05-13Rousseaux, Michael Esq UNQUALIFIED41Amy Elsner
1009Wickens C WhobreyUnited Kingdom2025-05-25Buckley Miller Wright NEGOTIATION33Asiya Javayant
1010Rodrigues T GauchoUnited Kingdom2025-05-03Commercial Press PROPOSAL96Onyama Limba
1011Misaki N FlosiItaly2025-05-18Rangoni Of Florence UNQUALIFIED80Ivan Magalhaes
1012David G MaletItaly2025-05-12Morlong Associates NEW2Stephen Shaw
1013Leon X SergiUnited Kingdom2025-05-12Chapman, Ross E Esq NEGOTIATION81Stephen Shaw
1014Maisha C GarufiIndia2025-05-04Feltz Printing Service NEW32Elwin Sharvill
1015Kaitlin R GarufiItaly2025-05-02Commercial Press PROPOSAL43Onyama Limba
1016Salvatore N DoeIndia2025-05-30Rangoni Of Florence NEGOTIATION60Bernardo Dominic
1017Wickens H GillianCanada2025-05-17Chanay, Jeffrey A Esq PROPOSAL97Xuxue Feng
1018Jeanfrancois X VocelkaItaly2025-05-09Morlong Associates NEW63Ivan Magalhaes
1019Darci U MaletFrance2025-05-15Truhlar And Truhlar Attys PROPOSAL95Anna Fali
1020Mayumi Z SaylorsBrazil2025-05-19Morlong Associates UNQUALIFIED37Bernardo Dominic
1021David B KuskoCanada2025-05-29Rousseaux, Michael Esq NEGOTIATION28Elwin Sharvill
1022Faith M PerinBrazil2025-05-15King, Christopher A Esq UNQUALIFIED57Onyama Limba
1023Deepesh H KuskoItaly2025-05-26Chapman, Ross E Esq QUALIFIED65Ivan Magalhaes
1024Kadeem R FollerCanada2025-05-09Buckley Miller Wright NEGOTIATION92Onyama Limba
1025Maisha B PoquetteGermany2025-05-06Buckley Miller Wright NEW45Ivan Magalhaes
1026Aika T DarakjySpain2025-05-28Commercial Press QUALIFIED35Ioni Bowcher
1027Arvin R FigeroaAustralia2025-05-03Chemel, James L Cpa RENEWAL98Onyama Limba
1028Aditya C RimSpain2025-05-15Dorl, James J Esq UNQUALIFIED79Elwin Sharvill
1029Mujtaba N WieserGermany2025-05-05Feiner Bros QUALIFIED82Elwin Sharvill
1030Kaitlin M MorascaIndia2025-05-03Chemel, James L Cpa NEGOTIATION91Amy Elsner
1031Isabel Y MaletItaly2025-05-31Chapman, Ross E Esq QUALIFIED30Amy Elsner
1032Cody B PoquetteCanada2025-05-18Printing Dimensions RENEWAL68Elwin Sharvill
1033Murillo R GarufiBrazil2025-05-10Chapman, Ross E Esq QUALIFIED85Stephen Shaw
1034Ivar I NestleUnited Kingdom2025-05-13Feltz Printing Service RENEWAL16Ioni Bowcher
1035Munro M RutaUnited Kingdom2025-05-04Rangoni Of Florence RENEWAL86Stephen Shaw
1036Arvin D GlickRussia2025-05-02Morlong Associates QUALIFIED25Stephen Shaw
1037Misaki I IturbideGermany2025-05-16Dorl, James J Esq QUALIFIED62Stephen Shaw
1038Juan H WaycottArgentina2025-05-17Rangoni Of Florence QUALIFIED4Anna Fali
1039Izzy W MacleadUnited Kingdom2025-05-24Dorl, James J Esq PROPOSAL10Anna Fali
1040Darci K AmigonArgentina2025-05-28Truhlar And Truhlar Attys PROPOSAL16Asiya Javayant
1041Jefferson T OstroskyGermany2025-05-16Chapman, Ross E Esq PROPOSAL23Elwin Sharvill
1042Leja C ChuiSpain2025-05-08King, Christopher A Esq NEW39Anna Fali
1043Ashley W BologniaFrance2025-05-17Commercial Press QUALIFIED45Xuxue Feng
1044Maria C GarufiFrance2025-05-18Benton, John B Jr PROPOSAL20Stephen Shaw
1045Izzy W KolmetzArgentina2025-05-29Feltz Printing Service NEW36Anna Fali
1046Murillo V GarufiIndia2025-05-11King, Christopher A Esq NEGOTIATION56Stephen Shaw
1047Juan S RulapaughArgentina2025-05-29Rangoni Of Florence NEGOTIATION75Anna Fali
1048Deepesh Y FerenczAustralia2025-05-02King, Christopher A Esq PROPOSAL83Onyama Limba
1049Salvatore H GlickCanada2025-05-12Feltz Printing Service PROPOSAL26Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Salvatore V ButtIndiaAnna Fali NEW
Francesco K PaprockiGermanyIoni Bowcher PROPOSAL
Kaitlin U DarakjyFranceAmy Elsner NEGOTIATION
Clifford S PaprockiBrazilStephen Shaw PROPOSAL
Ricardo G FollerBrazilStephen Shaw PROPOSAL
Aika K BologniaJapanIvan Magalhaes RENEWAL
Wickens H MaletIndiaIvan Magalhaes PROPOSAL
Maisha V OldroydUnited KingdomIvan Magalhaes QUALIFIED
Emily E SergiJapanAmy Elsner NEGOTIATION
Stacey S SchemmerFranceBernardo Dominic QUALIFIED
Clifford N ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Faith U FollerArgentinaAnna Fali NEGOTIATION
Ivar J RimSpainAsiya Javayant UNQUALIFIED
Silvio I CaldareraIndiaStephen Shaw RENEWAL
Aruna D MacleadGermanyBernardo Dominic PROPOSAL
Ivar A FollerSpainIvan Magalhaes NEW
Wickens A WaycottAustraliaStephen Shaw NEW
Ricardo P WhobreyFranceIoni Bowcher NEGOTIATION
Julie X ShinkoUnited KingdomIoni Bowcher RENEWAL
Tony Y ChuiFranceAnna Fali QUALIFIED
Francesco D CaldareraGermanyAsiya Javayant UNQUALIFIED
Arvin Z OldroydGermanyBernardo Dominic UNQUALIFIED
Antonio C FerenczArgentinaAmy Elsner NEW
Mayumi G SergiFranceElwin Sharvill PROPOSAL
Izzy O DoeUnited KingdomOnyama Limba PROPOSAL
Maisha L ChuiFranceElwin Sharvill UNQUALIFIED
Mujtaba W PerinRussiaElwin Sharvill NEW
Salvatore K SchemmerIndiaStephen Shaw PROPOSAL
Johnson O WieserRussiaElwin Sharvill UNQUALIFIED
Misaki Y RoysterFranceAmy Elsner PROPOSAL
Emily F RutaGermanyIvan Magalhaes NEW
Darci I ButtItalyStephen Shaw NEGOTIATION
Clifford Y BologniaAustraliaAmy Elsner NEW
Claire H FlosiBrazilAnna Fali QUALIFIED
Costa F MacleadGermanyAsiya Javayant QUALIFIED
Munro R KuskoIndiaAmy Elsner QUALIFIED
Julie K GarufiBrazilOnyama Limba QUALIFIED
Chavez D GauchoGermanyOnyama Limba UNQUALIFIED
Munro U CaudyRussiaStephen Shaw NEGOTIATION
David F BriddickFranceAmy Elsner PROPOSAL
Ricardo T MaletAustraliaXuxue Feng QUALIFIED
Antonio P CaudyGermanyIoni Bowcher RENEWAL
Jefferson N PoquetteIndiaAnna Fali RENEWAL
Jefferson L WieserFranceXuxue Feng QUALIFIED
Kadeem Y BowleyIndiaXuxue Feng UNQUALIFIED
Izzy D OstroskyUnited KingdomAsiya Javayant QUALIFIED
Claire K FlosiIndiaStephen Shaw NEW
Kadeem L KolmetzItalyAmy Elsner UNQUALIFIED
Juan S MarrierSpainXuxue Feng QUALIFIED
Morrow X ChuiRussiaAmy Elsner RENEWAL
Frozen Columns
Name
Izzy I Doe
Maisha G Morasca
Jefferson I Whobrey
Antonio X Butt
Rodrigues Q Nicka
Leon E Ostrosky
Arvin N Gaucho
Antonio J Flosi
Johnson H Garufi
Ashley B Kusko
Greenwood K Marrier
Izzy H Albares
Maisha Q Paprocki
Alejandro K Albares
Kaitlin G Briddick
Maria L Royster
Cody T Perin
Kaitlin S Doe
Arvin M Iturbide
Aruna O Nestle
Octavia T Figeroa
Maisha A Shinko
Antonio W Garufi
Cody P Stenseth
Rodrigues G Venere
Jefferson F Morasca
Alejandro T Flosi
Leja J Inouye
Ricardo P Kusko
Jefferson Y Darakjy
David P Amigon
Jefferson F Kolmetz
Wickens P Marrier
Silvio U Malet
David M Tollner
Leon N Shinko
David U Rim
Jennifer J Rulapaugh
Wickens F Venere
Jeanfrancois Q Amigon
Misaki G Inouye
Darci I Marrier
Sinclair P Ferencz
Deepesh C Maclead
Arvin U Figeroa
Jefferson J Wieser
Silvio J Morasca
Clifford S Amigon
Leon L Campain
Ivar K Butt
IdCountryDate
1000Argentina2025-05-14
1001Brazil2025-05-04
1002Argentina2025-05-28
1003Italy2025-05-08
1004France2025-05-27
1005Germany2025-05-25
1006Italy2025-05-20
1007Australia2025-05-25
1008Australia2025-05-21
1009Italy2025-05-06
1010Argentina2025-05-02
1011Australia2025-05-24
1012Japan2025-05-12
1013Spain2025-05-03
1014Japan2025-05-11
1015France2025-05-16
1016Brazil2025-05-05
1017Russia2025-05-04
1018Brazil2025-05-04
1019Brazil2025-05-08
1020Brazil2025-05-15
1021Canada2025-05-31
1022Australia2025-05-16
1023Brazil2025-05-26
1024Japan2025-05-23
1025Spain2025-05-03
1026Canada2025-05-11
1027Spain2025-05-28
1028Brazil2025-05-15
1029Italy2025-05-20
1030Italy2025-05-25
1031India2025-05-17
1032Russia2025-05-07
1033Canada2025-05-29
1034France2025-05-10
1035Germany2025-05-03
1036Germany2025-05-18
1037United Kingdom2025-05-17
1038Argentina2025-05-21
1039Japan2025-05-25
1040Brazil2025-05-13
1041Brazil2025-05-03
1042India2025-05-23
1043India2025-05-12
1044Brazil2025-05-23
1045Canada2025-05-07
1046Italy2025-05-28
1047Germany2025-05-23
1048Italy2025-05-12
1049Canada2025-05-23

On-Demand Data

NameIdCountryDate
Maisha G Iturbide1000France2025-05-28
Munro W Shinko1001Italy2025-05-19
Wickens R Oldroyd1002Italy2025-05-19
Mujtaba P Campain1003United Kingdom2025-05-04
Silvio W Kusko1004Japan2025-05-24
Leon T Iturbide1005Australia2025-05-07
Deepesh G Flosi1006Australia2025-05-03
Mayumi A Ostrosky1007Japan2025-05-31
Alejandro B Schemmer1008Russia2025-05-28
Octavia T Foller1009France2025-05-28
Francesco X Malet1010Italy2025-05-06
Rodrigues W Kolmetz1011Spain2025-05-28
Nicolas W Foller1012France2025-05-04
Mayumi B Caldarera1013Australia2025-05-27
David O Kolmetz1014United Kingdom2025-05-26
Jefferson Y Inouye1015Australia2025-05-04
Maisha T Stockham1016United Kingdom2025-05-28
Jefferson F Whobrey1017Brazil2025-05-22
Misaki T Gaucho1018Australia2025-05-23
Faith S Foller1019Brazil2025-05-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki U ChuiAustraliaAsiya Javayant QUALIFIED
Chavez U BowleyItalyAmy Elsner NEW
Clifford L NestleFranceIvan Magalhaes NEW
Murillo U SergiAustraliaAmy Elsner RENEWAL
Aika J SaylorsRussiaIoni Bowcher UNQUALIFIED
Mayumi Q BowleyArgentinaBernardo Dominic NEW
Francesco Y KuskoArgentinaIoni Bowcher QUALIFIED
Deepesh G FlosiArgentinaIoni Bowcher RENEWAL
Faith B AmigonBrazilIvan Magalhaes RENEWAL
Stacey S KuskoIndiaOnyama Limba QUALIFIED
Deepesh J FlosiArgentinaBernardo Dominic UNQUALIFIED
Ashley B SergiRussiaIvan Magalhaes RENEWAL
Johnson U CampainGermanyOnyama Limba NEGOTIATION
Jeanfrancois H CampainRussiaAnna Fali UNQUALIFIED
Arvin V SlusarskiCanadaStephen Shaw UNQUALIFIED
Julie V DoeFranceStephen Shaw UNQUALIFIED
Julie V MaletCanadaStephen Shaw QUALIFIED
Costa J AlbaresUnited KingdomBernardo Dominic UNQUALIFIED
Jones V KolmetzIndiaAmy Elsner RENEWAL
Francesco X GillianItalyOnyama Limba RENEWAL
Ashley T AlbaresIndiaStephen Shaw PROPOSAL
Antonio C PaprockiArgentinaElwin Sharvill QUALIFIED
Greenwood L PaprockiArgentinaXuxue Feng RENEWAL
Nicolas E ShinkoBrazilStephen Shaw QUALIFIED
Rodrigues U OstroskyCanadaAnna Fali UNQUALIFIED
Jones Y FigeroaAustraliaStephen Shaw RENEWAL
Costa L ShinkoArgentinaOnyama Limba PROPOSAL
Jones D PoquetteIndiaStephen Shaw QUALIFIED
Chavez A PerinFranceElwin Sharvill NEW
Faith H FigeroaCanadaIvan Magalhaes PROPOSAL
Murillo C MaletIndiaOnyama Limba NEGOTIATION
Maria F PaprockiArgentinaAnna Fali UNQUALIFIED
Maisha P WieserGermanyXuxue Feng NEGOTIATION
Sinclair K GillianSpainAmy Elsner NEW
Nicolas K AlbaresUnited KingdomIoni Bowcher NEW
Clifford B WaycottJapanIoni Bowcher NEGOTIATION
Stacey K NestleIndiaOnyama Limba NEW
Salvatore M RimUnited KingdomAsiya Javayant NEW
Jennifer J FollerSpainXuxue Feng NEW
Misaki N SchemmerJapanAsiya Javayant RENEWAL

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