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
Octavia D MacleadIndiaOnyama Limba NEW
Jefferson G MaletItalyBernardo Dominic RENEWAL
Alejandro F NestleBrazilAmy Elsner NEW
Isabel C WaycottUnited KingdomIoni Bowcher NEGOTIATION
Tony P FerenczCanadaElwin Sharvill RENEWAL
Mayumi V OldroydRussiaIoni Bowcher NEGOTIATION
Francesco Q PerinGermanyElwin Sharvill UNQUALIFIED
Chavez H ButtIndiaAmy Elsner NEW
Ashley S CaudyUnited KingdomOnyama Limba QUALIFIED
Aruna S InouyeSpainXuxue Feng NEW
Chavez H DilliardCanadaStephen Shaw NEGOTIATION
Greenwood Q WaycottFranceAsiya Javayant QUALIFIED
David P RimIndiaIoni Bowcher NEW
Clifford D MarrierCanadaBernardo Dominic NEW
Arvin P WhobreyBrazilXuxue Feng PROPOSAL
Jefferson P RutaIndiaOnyama Limba RENEWAL
Francesco H OstroskyArgentinaStephen Shaw NEW
Maria U DoeBrazilAnna Fali UNQUALIFIED
Maisha S GlickArgentinaElwin Sharvill UNQUALIFIED
Ashley Z DarakjyIndiaIoni Bowcher QUALIFIED
James K DilliardFranceStephen Shaw NEGOTIATION
Cody S MaletJapanOnyama Limba UNQUALIFIED
Murillo M BologniaJapanElwin Sharvill NEW
Sinclair G GarufiBrazilOnyama Limba QUALIFIED
Antonio C MaletBrazilXuxue Feng RENEWAL
Maria S NestleUnited KingdomOnyama Limba UNQUALIFIED
Salvatore Y MorascaUnited KingdomElwin Sharvill NEW
Munro Y FerenczRussiaIvan Magalhaes NEW
Darci M PerinJapanStephen Shaw NEGOTIATION
Nicolas O WieserItalyBernardo Dominic UNQUALIFIED
Darci D ShinkoJapanIvan Magalhaes RENEWAL
Adams I GauchoIndiaElwin Sharvill NEW
Maisha C AlbaresArgentinaStephen Shaw NEW
Deepesh M MorascaIndiaIoni Bowcher UNQUALIFIED
David O SergiItalyAsiya Javayant QUALIFIED
David E TollnerBrazilXuxue Feng RENEWAL
Silvio O SergiSpainAsiya Javayant NEGOTIATION
Izzy S OldroydCanadaAsiya Javayant PROPOSAL
Aditya G PaprockiArgentinaAmy Elsner NEGOTIATION
Aditya P GlickBrazilElwin Sharvill PROPOSAL
Clifford V GarufiRussiaIoni Bowcher NEW
Leon Y KuskoSpainAmy Elsner QUALIFIED
James T SchemmerJapanStephen Shaw RENEWAL
Jennifer M ShinkoArgentinaElwin Sharvill PROPOSAL
Aruna Y RimAustraliaOnyama Limba PROPOSAL
Nicolas J ButtBrazilStephen Shaw UNQUALIFIED
Darci G GauchoUnited KingdomAmy Elsner NEGOTIATION
Claire M StockhamIndiaAnna Fali PROPOSAL
Aika Q FlosiIndiaAmy Elsner RENEWAL
Octavia I AmigonBrazilAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas B PerinFranceAnna Fali NEW
Rodrigues R MaletRussiaOnyama Limba NEW
Mujtaba L ShinkoRussiaIoni Bowcher QUALIFIED
Nicolas W SaylorsIndiaAsiya Javayant RENEWAL
Ivar H NestleBrazilIoni Bowcher PROPOSAL
Chavez T StensethArgentinaIvan Magalhaes PROPOSAL
Smith Q RutaFranceAsiya Javayant NEW
James Z MorascaIndiaAmy Elsner UNQUALIFIED
Izzy A VenereAustraliaStephen Shaw UNQUALIFIED
Jones B FollerGermanyIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood W IturbideGermany2024-09-01Truhlar And Truhlar Attys PROPOSAL89Amy Elsner
1001Cody P ButtFrance2024-08-25Dorl, James J Esq PROPOSAL62Onyama Limba
1002Smith E PerinUnited Kingdom2024-09-12Printing Dimensions RENEWAL66Ioni Bowcher
1003Murillo E FerenczGermany2024-09-18Benton, John B Jr QUALIFIED36Elwin Sharvill
1004Kaitlin G SergiSpain2024-08-31Truhlar And Truhlar Attys NEGOTIATION14Bernardo Dominic
1005Murillo M CampainRussia2024-09-03Buckley Miller Wright NEW19Xuxue Feng
1006Silvio U BowleyItaly2024-08-25Commercial Press PROPOSAL8Anna Fali
1007Faith U SchemmerAustralia2024-09-21Chanay, Jeffrey A Esq PROPOSAL89Onyama Limba
1008Morrow E InouyeRussia2024-09-13Dorl, James J Esq QUALIFIED30Bernardo Dominic
1009Adams C ShinkoBrazil2024-09-11Buckley Miller Wright NEGOTIATION68Xuxue Feng
1010Costa T GauchoCanada2024-09-14Feltz Printing Service UNQUALIFIED76Asiya Javayant
1011Ricardo T ShinkoItaly2024-08-27King, Christopher A Esq QUALIFIED10Bernardo Dominic
1012Jefferson Z KolmetzIndia2024-09-15Chanay, Jeffrey A Esq RENEWAL64Stephen Shaw
1013Silvio O KolmetzGermany2024-08-31Feiner Bros PROPOSAL8Asiya Javayant
1014Sinclair C StensethUnited Kingdom2024-09-21Printing Dimensions QUALIFIED93Onyama Limba
1015Wickens B CampainCanada2024-09-16Morlong Associates NEGOTIATION5Bernardo Dominic
1016Chavez L BriddickIndia2024-09-09Benton, John B Jr QUALIFIED76Stephen Shaw
1017Leon K MaletArgentina2024-09-22Feltz Printing Service RENEWAL14Xuxue Feng
1018Isabel O AlbaresUnited Kingdom2024-09-06Dorl, James J Esq NEGOTIATION92Ioni Bowcher
1019Francesco C StockhamFrance2024-08-25Buckley Miller Wright QUALIFIED31Bernardo Dominic
1020Smith L NestleJapan2024-08-31Feltz Printing Service UNQUALIFIED28Xuxue Feng
1021Rodrigues Q NickaArgentina2024-09-20Truhlar And Truhlar Attys PROPOSAL22Ioni Bowcher
1022Mujtaba R AmigonSpain2024-09-14Chanay, Jeffrey A Esq RENEWAL12Asiya Javayant
1023Octavia E TollnerUnited Kingdom2024-08-30Benton, John B Jr NEGOTIATION39Onyama Limba
1024Greenwood I DoeSpain2024-09-16Chapman, Ross E Esq NEW25Xuxue Feng
1025Francesco S SchemmerCanada2024-08-28Truhlar And Truhlar Attys UNQUALIFIED1Onyama Limba
1026Jeanfrancois R WieserArgentina2024-08-26Commercial Press NEW52Amy Elsner
1027Ashley Q OldroydSpain2024-09-17Rousseaux, Michael Esq RENEWAL78Onyama Limba
1028Greenwood S KuskoRussia2024-08-26Chanay, Jeffrey A Esq QUALIFIED30Ioni Bowcher
1029Jefferson E BriddickFrance2024-09-14Benton, John B Jr UNQUALIFIED4Ioni Bowcher
1030Mujtaba V CampainArgentina2024-09-03Benton, John B Jr NEGOTIATION80Onyama Limba
1031Jennifer C StensethAustralia2024-09-07King, Christopher A Esq QUALIFIED92Stephen Shaw
1032Claire K FlosiSpain2024-09-07Benton, John B Jr PROPOSAL34Elwin Sharvill
1033Mujtaba Q FollerJapan2024-09-13Feiner Bros NEW96Onyama Limba
1034Ivar Y StensethAustralia2024-09-20Printing Dimensions NEW71Amy Elsner
1035Aika P BologniaBrazil2024-09-15Dorl, James J Esq NEW89Bernardo Dominic
1036Claire U MarrierJapan2024-09-05Rousseaux, Michael Esq NEGOTIATION44Xuxue Feng
1037Jones I WieserSpain2024-09-15Chanay, Jeffrey A Esq NEW22Xuxue Feng
1038Johnson B FerenczCanada2024-09-08King, Christopher A Esq QUALIFIED97Elwin Sharvill
1039Isabel Z KuskoArgentina2024-08-28Commercial Press RENEWAL20Onyama Limba
1040Mujtaba J IturbideBrazil2024-09-20Commercial Press QUALIFIED51Ivan Magalhaes
1041Aruna C SchemmerItaly2024-08-26Buckley Miller Wright NEGOTIATION83Asiya Javayant
1042Rodrigues I RulapaughJapan2024-09-15Dorl, James J Esq PROPOSAL40Onyama Limba
1043Smith R PaprockiCanada2024-09-05Truhlar And Truhlar Attys UNQUALIFIED90Ioni Bowcher
1044Rodrigues W RoysterArgentina2024-08-27Feltz Printing Service NEGOTIATION93Ioni Bowcher
1045James K NestleJapan2024-09-01Truhlar And Truhlar Attys QUALIFIED13Elwin Sharvill
1046Smith V VocelkaAustralia2024-09-11King, Christopher A Esq NEW6Elwin Sharvill
1047Aruna C CaudyCanada2024-09-18Commercial Press RENEWAL97Asiya Javayant
1048Stacey Q BologniaSpain2024-09-17Rousseaux, Michael Esq UNQUALIFIED9Bernardo Dominic
1049Faith N RimIndia2024-08-30Commercial Press NEW18Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Julie M BologniaItalyIvan Magalhaes PROPOSAL
Tony U RulapaughSpainElwin Sharvill RENEWAL
David T FerenczCanadaAnna Fali QUALIFIED
Faith O BologniaUnited KingdomXuxue Feng UNQUALIFIED
Salvatore U SaylorsIndiaAmy Elsner QUALIFIED
Jefferson Z CaudyAustraliaXuxue Feng UNQUALIFIED
Morrow H AlbaresRussiaXuxue Feng RENEWAL
Johnson O CaudyAustraliaStephen Shaw RENEWAL
Ricardo V VenereGermanyIvan Magalhaes NEGOTIATION
Emily G WaycottBrazilIvan Magalhaes NEW
Tony J MorascaSpainAsiya Javayant UNQUALIFIED
Aruna J TollnerBrazilElwin Sharvill UNQUALIFIED
Costa H AmigonGermanyAsiya Javayant NEGOTIATION
Leja C SlusarskiSpainStephen Shaw UNQUALIFIED
Aika W FerenczFranceAmy Elsner QUALIFIED
Juan D RulapaughJapanStephen Shaw QUALIFIED
Stacey V SchemmerBrazilIvan Magalhaes UNQUALIFIED
Emily S WhobreyGermanyAnna Fali QUALIFIED
Kadeem J ChuiSpainAnna Fali NEW
Ivar F AmigonBrazilIvan Magalhaes NEGOTIATION
Jones Y ChuiAustraliaOnyama Limba PROPOSAL
Nicolas P WieserRussiaXuxue Feng QUALIFIED
Rodrigues O ShinkoSpainAsiya Javayant NEGOTIATION
Julie G RoysterFranceAsiya Javayant QUALIFIED
Izzy I FigeroaItalyAmy Elsner PROPOSAL
David C BriddickGermanyAsiya Javayant QUALIFIED
Faith I PerinFranceStephen Shaw NEGOTIATION
Maisha J MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Izzy X BriddickUnited KingdomIoni Bowcher NEW
Francesco K DoeJapanIvan Magalhaes RENEWAL
Claire Y KuskoAustraliaOnyama Limba NEGOTIATION
Greenwood J RimRussiaStephen Shaw NEGOTIATION
Greenwood G CaldareraCanadaStephen Shaw PROPOSAL
Mayumi I BriddickSpainAsiya Javayant RENEWAL
Murillo J MaletJapanElwin Sharvill PROPOSAL
Juan E SlusarskiUnited KingdomAnna Fali NEW
Jones F PoquetteJapanAnna Fali NEW
Maria Z GarufiGermanyOnyama Limba UNQUALIFIED
Claire H GlickItalyBernardo Dominic UNQUALIFIED
Aruna D ShinkoArgentinaIvan Magalhaes NEGOTIATION
Claire J BriddickArgentinaIvan Magalhaes NEGOTIATION
Kaitlin I MaletJapanIvan Magalhaes UNQUALIFIED
Leja E ButtArgentinaIoni Bowcher NEGOTIATION
Chavez L KuskoArgentinaElwin Sharvill PROPOSAL
Julie K MarrierGermanyStephen Shaw NEGOTIATION
Leja Y FigeroaBrazilOnyama Limba NEGOTIATION
Juan A DoeIndiaXuxue Feng UNQUALIFIED
Rodrigues A StensethItalyAsiya Javayant UNQUALIFIED
Claire P DoeIndiaOnyama Limba RENEWAL
Julie K MarrierFranceStephen Shaw QUALIFIED
Frozen Columns
Name
Izzy R Rim
James L Stockham
Jeanfrancois U Whobrey
Morrow C Paprocki
Smith D Dilliard
Juan T Whobrey
Jones C Tollner
Aruna G Campain
Mujtaba J Kolmetz
Murillo W Darakjy
Alejandro O Gillian
Aditya B Campain
Jefferson R Doe
Kadeem I Whobrey
Izzy D Briddick
Aditya B Glick
Jefferson F Gillian
Mayumi L Stockham
Mujtaba N Figeroa
Claire E Slusarski
Cody H Waycott
Deepesh Y Briddick
Kaitlin J Stockham
Johnson I Malet
Maria W Foller
Arvin E Stockham
Arvin X Shinko
Jones K Ostrosky
Misaki U Foller
Juan E Stockham
Maria L Stenseth
Claire O Dilliard
Mayumi O Rulapaugh
Adams W Albares
Greenwood Y Doe
Wickens P Flosi
Francesco R Nestle
David I Poquette
Clifford D Albares
Faith Q Poquette
Chavez V Venere
Octavia Y Paprocki
Isabel V Butt
Costa F Nicka
Chavez L Bowley
James H Paprocki
Salvatore U Glick
Antonio Q Rim
Leja R Ferencz
Faith B Gaucho
IdCountryDate
1000India2024-09-07
1001Italy2024-09-03
1002Spain2024-09-09
1003Canada2024-09-17
1004India2024-08-31
1005United Kingdom2024-08-24
1006Canada2024-09-21
1007Canada2024-08-29
1008France2024-09-03
1009France2024-09-05
1010France2024-09-08
1011Spain2024-08-24
1012Japan2024-09-18
1013Russia2024-09-06
1014Japan2024-09-11
1015India2024-09-17
1016Spain2024-09-20
1017Italy2024-09-22
1018Australia2024-09-19
1019Italy2024-09-21
1020Canada2024-09-07
1021India2024-09-02
1022Brazil2024-09-03
1023Italy2024-09-06
1024Argentina2024-08-25
1025Italy2024-09-09
1026Argentina2024-08-31
1027Argentina2024-08-27
1028India2024-08-26
1029Italy2024-09-15
1030Germany2024-08-25
1031United Kingdom2024-08-28
1032Brazil2024-09-11
1033India2024-09-16
1034Italy2024-08-28
1035Italy2024-09-11
1036United Kingdom2024-09-12
1037Argentina2024-09-12
1038Russia2024-08-29
1039Russia2024-09-04
1040Australia2024-09-04
1041India2024-09-01
1042Russia2024-09-10
1043Germany2024-09-04
1044Australia2024-09-15
1045United Kingdom2024-09-09
1046Brazil2024-08-26
1047Brazil2024-09-01
1048Japan2024-09-15
1049Italy2024-08-28

On-Demand Data

NameIdCountryDate
Ricardo F Shinko1000Argentina2024-08-31
Silvio U Figeroa1001France2024-09-10
Smith C Saylors1002Australia2024-09-08
Silvio B Tollner1003Argentina2024-09-04
Leon X Poquette1004Brazil2024-09-01
Silvio U Waycott1005France2024-09-05
Faith Z Briddick1006Argentina2024-09-09
Rodrigues E Butt1007Australia2024-09-06
Ivar G Tollner1008Italy2024-09-02
Greenwood H Maclead1009India2024-09-10
Julie X Saylors1010Russia2024-09-13
Mujtaba I Glick1011Spain2024-09-04
Maisha Z Caldarera1012Germany2024-09-05
James Q Nicka1013Japan2024-08-30
Mayumi I Inouye1014Italy2024-09-08
Francesco V Venere1015Argentina2024-08-31
Ricardo R Kolmetz1016Spain2024-09-03
Juan R Morasca1017Italy2024-08-27
Clifford W Stenseth1018Canada2024-09-07
Claire Y Sergi1019Italy2024-08-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore Z ChuiIndiaStephen Shaw NEGOTIATION
Faith T CaldareraBrazilBernardo Dominic UNQUALIFIED
Aditya L BriddickCanadaOnyama Limba UNQUALIFIED
Clifford C CampainRussiaAmy Elsner QUALIFIED
Deepesh A RulapaughItalyAsiya Javayant UNQUALIFIED
Antonio V FigeroaIndiaAmy Elsner QUALIFIED
Deepesh G GillianUnited KingdomAmy Elsner RENEWAL
Morrow V FlosiItalyStephen Shaw RENEWAL
Smith W ShinkoBrazilOnyama Limba UNQUALIFIED
Silvio M OldroydGermanyIvan Magalhaes NEGOTIATION
Isabel F DarakjyFranceElwin Sharvill NEGOTIATION
Rodrigues X FerenczGermanyAsiya Javayant RENEWAL
Faith S KuskoItalyBernardo Dominic UNQUALIFIED
Wickens D GlickJapanStephen Shaw RENEWAL
Isabel D RimFranceBernardo Dominic UNQUALIFIED
Silvio N KolmetzGermanyElwin Sharvill NEGOTIATION
Aditya Y StensethItalyIoni Bowcher UNQUALIFIED
Murillo W SergiItalyOnyama Limba NEGOTIATION
Costa S TollnerIndiaIoni Bowcher QUALIFIED
Misaki P MaletAustraliaIoni Bowcher NEGOTIATION
Chavez R FigeroaUnited KingdomAmy Elsner RENEWAL
Maisha H SergiArgentinaElwin Sharvill NEGOTIATION
Maisha S TollnerCanadaAsiya Javayant QUALIFIED
Aditya B AmigonIndiaIoni Bowcher QUALIFIED
Salvatore O StensethGermanyOnyama Limba NEW
Tony H RulapaughCanadaAnna Fali QUALIFIED
Nicolas A GarufiIndiaStephen Shaw NEW
Jennifer L DoeItalyStephen Shaw QUALIFIED
Julie C ShinkoCanadaElwin Sharvill PROPOSAL
Stacey F BowleyRussiaIoni Bowcher RENEWAL
Kaitlin U SlusarskiJapanIvan Magalhaes QUALIFIED
Nicolas F CampainJapanAmy Elsner NEGOTIATION
Julie Q WieserBrazilIoni Bowcher PROPOSAL
Aika G RimArgentinaOnyama Limba NEGOTIATION
Rodrigues L InouyeSpainStephen Shaw NEW
Aditya G VocelkaAustraliaIoni Bowcher NEW
Johnson L BriddickArgentinaAnna Fali NEGOTIATION
Salvatore O RimBrazilAmy Elsner RENEWAL
Isabel T GauchoRussiaAsiya Javayant UNQUALIFIED
Aruna U NestleItalyElwin Sharvill 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>