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
Jefferson I TollnerJapanBernardo Dominic NEW
Mujtaba U MaletAustraliaAmy Elsner NEW
Jeanfrancois Q SchemmerItalyStephen Shaw PROPOSAL
Leja W AmigonFranceIvan Magalhaes NEGOTIATION
Julie K AlbaresJapanXuxue Feng RENEWAL
Wickens J CampainGermanyBernardo Dominic NEGOTIATION
Jennifer S PaprockiSpainIoni Bowcher UNQUALIFIED
Greenwood M FlosiRussiaIvan Magalhaes NEGOTIATION
Johnson T ShinkoGermanyAsiya Javayant UNQUALIFIED
Faith D FlosiAustraliaAnna Fali QUALIFIED
Johnson H VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Greenwood U OstroskyArgentinaBernardo Dominic PROPOSAL
Mayumi O DoeAustraliaAsiya Javayant NEW
Rodrigues U DoeBrazilIoni Bowcher NEW
Maria Z DarakjyItalyIoni Bowcher RENEWAL
Maria F BowleyAustraliaBernardo Dominic RENEWAL
Jeanfrancois V MorascaJapanXuxue Feng UNQUALIFIED
Ricardo Q VocelkaAustraliaBernardo Dominic UNQUALIFIED
Aruna O KolmetzGermanyAnna Fali UNQUALIFIED
Wickens W IturbideJapanBernardo Dominic NEW
Nicolas C RulapaughCanadaIoni Bowcher UNQUALIFIED
James X SlusarskiAustraliaOnyama Limba NEW
Maria R StockhamItalyAsiya Javayant NEGOTIATION
Adams E OldroydIndiaElwin Sharvill NEW
Darci V RutaCanadaBernardo Dominic RENEWAL
Nicolas X PerinGermanyBernardo Dominic NEW
Mayumi Q NickaIndiaIoni Bowcher QUALIFIED
Nicolas G RoysterGermanyAsiya Javayant UNQUALIFIED
Kaitlin A FerenczIndiaXuxue Feng RENEWAL
Salvatore S AmigonBrazilStephen Shaw UNQUALIFIED
Murillo T AmigonSpainXuxue Feng NEW
Silvio X MaletAustraliaBernardo Dominic PROPOSAL
Aruna Z DilliardAustraliaIvan Magalhaes QUALIFIED
Kaitlin W DoeSpainIvan Magalhaes RENEWAL
Jennifer R NestleArgentinaAnna Fali NEW
Arvin T BriddickSpainBernardo Dominic RENEWAL
Kadeem P DilliardBrazilAnna Fali PROPOSAL
Mujtaba S VocelkaIndiaXuxue Feng NEW
Clifford T FerenczGermanyIoni Bowcher RENEWAL
Rodrigues K GarufiAustraliaAnna Fali UNQUALIFIED
Mayumi P InouyeUnited KingdomStephen Shaw RENEWAL
Ivar Z ChuiAustraliaBernardo Dominic RENEWAL
Morrow F WhobreyFranceXuxue Feng QUALIFIED
Jennifer C WieserBrazilAsiya Javayant NEW
Chavez O WaycottUnited KingdomOnyama Limba UNQUALIFIED
Smith J PoquetteBrazilAsiya Javayant RENEWAL
Salvatore L PerinCanadaAsiya Javayant RENEWAL
Costa N VenereSpainOnyama Limba NEGOTIATION
Aika D BowleyAustraliaStephen Shaw UNQUALIFIED
Smith R GauchoBrazilXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Munro J GauchoSpainStephen Shaw PROPOSAL
Sinclair U RutaArgentinaBernardo Dominic NEGOTIATION
Faith M MarrierAustraliaAnna Fali NEGOTIATION
Claire Q StensethUnited KingdomIvan Magalhaes PROPOSAL
Ivar K TollnerCanadaIvan Magalhaes PROPOSAL
Chavez X FollerAustraliaBernardo Dominic UNQUALIFIED
Munro G RutaJapanAsiya Javayant PROPOSAL
Francesco G ButtFranceIvan Magalhaes NEW
Jones B BriddickArgentinaBernardo Dominic UNQUALIFIED
Adams I ShinkoCanadaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco U GillianItaly2024-08-30Morlong Associates UNQUALIFIED26Anna Fali
1001Rodrigues T NickaArgentina2024-09-05Rangoni Of Florence RENEWAL43Elwin Sharvill
1002Wickens B TollnerIndia2024-09-17Chapman, Ross E Esq UNQUALIFIED32Asiya Javayant
1003Arvin G VocelkaAustralia2024-08-29Commercial Press UNQUALIFIED89Amy Elsner
1004Murillo N RutaSpain2024-09-16Benton, John B Jr QUALIFIED62Asiya Javayant
1005Cody Y DilliardUnited Kingdom2024-09-10Buckley Miller Wright PROPOSAL43Ioni Bowcher
1006David N FlosiFrance2024-08-27Truhlar And Truhlar Attys UNQUALIFIED15Onyama Limba
1007Jefferson I WhobreyUnited Kingdom2024-09-08Rangoni Of Florence RENEWAL83Stephen Shaw
1008Izzy K SaylorsItaly2024-09-17Printing Dimensions NEW26Stephen Shaw
1009Clifford Y WieserIndia2024-09-03Morlong Associates NEW95Stephen Shaw
1010Deepesh B WieserJapan2024-09-22Chanay, Jeffrey A Esq RENEWAL10Elwin Sharvill
1011Silvio E StensethAustralia2024-09-24Truhlar And Truhlar Attys QUALIFIED34Stephen Shaw
1012Aika B BriddickArgentina2024-09-15Printing Dimensions UNQUALIFIED60Ivan Magalhaes
1013Greenwood X SlusarskiArgentina2024-09-09Feltz Printing Service NEW65Amy Elsner
1014Mujtaba N SchemmerRussia2024-09-06Benton, John B Jr NEW93Xuxue Feng
1015Cody I GillianItaly2024-09-04Chapman, Ross E Esq UNQUALIFIED38Xuxue Feng
1016Kaitlin K AmigonItaly2024-08-26Dorl, James J Esq PROPOSAL42Bernardo Dominic
1017Jennifer E FlosiIndia2024-09-16Feiner Bros QUALIFIED84Stephen Shaw
1018Clifford J BriddickJapan2024-08-28Dorl, James J Esq QUALIFIED74Bernardo Dominic
1019James H RutaGermany2024-09-14Rangoni Of Florence PROPOSAL18Onyama Limba
1020Jennifer H ChuiGermany2024-08-28Morlong Associates NEW53Anna Fali
1021Kaitlin M WieserRussia2024-08-27Rangoni Of Florence PROPOSAL0Ivan Magalhaes
1022Adams Y SlusarskiFrance2024-08-30Morlong Associates NEW27Elwin Sharvill
1023Wickens M NickaGermany2024-09-24Chanay, Jeffrey A Esq PROPOSAL47Ivan Magalhaes
1024Jones S CaldareraSpain2024-09-17Feltz Printing Service UNQUALIFIED12Amy Elsner
1025Claire P NestleAustralia2024-09-13Buckley Miller Wright UNQUALIFIED45Anna Fali
1026Munro A DilliardGermany2024-08-26Dorl, James J Esq NEW13Ioni Bowcher
1027Murillo U StensethJapan2024-09-12Printing Dimensions NEW62Ioni Bowcher
1028Salvatore O BowleyIndia2024-09-24Feltz Printing Service PROPOSAL21Ioni Bowcher
1029Morrow J RoysterIndia2024-08-26Chanay, Jeffrey A Esq NEW81Elwin Sharvill
1030Cody S MaletArgentina2024-09-20Feltz Printing Service RENEWAL45Ioni Bowcher
1031Silvio F StockhamItaly2024-09-15Chanay, Jeffrey A Esq PROPOSAL86Elwin Sharvill
1032Leon O MorascaFrance2024-09-01Truhlar And Truhlar Attys PROPOSAL42Anna Fali
1033Maisha Y BowleyGermany2024-09-24Chanay, Jeffrey A Esq PROPOSAL1Ioni Bowcher
1034Johnson T MacleadCanada2024-09-22Chanay, Jeffrey A Esq NEW74Stephen Shaw
1035Stacey M RulapaughJapan2024-09-11Rangoni Of Florence QUALIFIED5Anna Fali
1036Ashley B KolmetzJapan2024-09-19Benton, John B Jr PROPOSAL88Bernardo Dominic
1037Leja Q SaylorsAustralia2024-09-21Benton, John B Jr NEGOTIATION14Bernardo Dominic
1038Sinclair N StockhamAustralia2024-09-21Rousseaux, Michael Esq QUALIFIED36Xuxue Feng
1039Mayumi R FollerArgentina2024-09-04Feiner Bros RENEWAL7Onyama Limba
1040Maria D OstroskySpain2024-09-07Buckley Miller Wright NEGOTIATION55Stephen Shaw
1041Morrow N WieserRussia2024-08-30Truhlar And Truhlar Attys QUALIFIED87Ioni Bowcher
1042Arvin K RutaBrazil2024-08-26Buckley Miller Wright UNQUALIFIED2Stephen Shaw
1043Aika J KolmetzAustralia2024-09-02Chapman, Ross E Esq NEW28Xuxue Feng
1044Julie H BriddickIndia2024-08-26Rangoni Of Florence NEW15Xuxue Feng
1045Leon N KolmetzCanada2024-09-21Commercial Press PROPOSAL35Ivan Magalhaes
1046James Z StensethRussia2024-09-22Feltz Printing Service PROPOSAL87Ioni Bowcher
1047Maria U MacleadJapan2024-09-16Rousseaux, Michael Esq UNQUALIFIED56Ivan Magalhaes
1048Octavia X OstroskyJapan2024-08-30Commercial Press PROPOSAL97Anna Fali
1049Murillo R FigeroaArgentina2024-09-23Benton, John B Jr RENEWAL35Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Claire U RimRussiaStephen Shaw NEGOTIATION
Ricardo Q DoeItalyOnyama Limba NEW
Greenwood B RulapaughSpainOnyama Limba NEGOTIATION
Claire K StockhamGermanyIvan Magalhaes RENEWAL
Maisha Q NickaFranceAnna Fali NEW
Maria Q GauchoJapanXuxue Feng NEW
Ricardo H MaletArgentinaIvan Magalhaes RENEWAL
Cody F FerenczSpainIvan Magalhaes NEW
Leon S BologniaBrazilElwin Sharvill PROPOSAL
Deepesh N NickaItalyAnna Fali UNQUALIFIED
Ivar V BriddickAustraliaAsiya Javayant RENEWAL
Leon U FigeroaItalyIvan Magalhaes NEGOTIATION
Stacey B BologniaArgentinaIoni Bowcher PROPOSAL
Mujtaba E SlusarskiItalyIvan Magalhaes NEW
Aruna Q NickaJapanAmy Elsner QUALIFIED
Tony U VenereGermanyIvan Magalhaes PROPOSAL
Leon O WieserAustraliaAsiya Javayant NEGOTIATION
Silvio Q FigeroaArgentinaOnyama Limba UNQUALIFIED
Alejandro D MarrierSpainIvan Magalhaes NEW
Antonio V WhobreyItalyAnna Fali RENEWAL
James F RutaRussiaXuxue Feng QUALIFIED
Maria R BriddickSpainStephen Shaw NEW
Mujtaba X GlickCanadaStephen Shaw PROPOSAL
Munro D RutaBrazilStephen Shaw PROPOSAL
Darci S SchemmerAustraliaBernardo Dominic RENEWAL
Kaitlin W PaprockiAustraliaIoni Bowcher NEW
Isabel X GillianIndiaAmy Elsner RENEWAL
Juan I TollnerIndiaIvan Magalhaes RENEWAL
Francesco T RutaBrazilAsiya Javayant PROPOSAL
Clifford V MarrierAustraliaOnyama Limba PROPOSAL
Munro Q PerinItalyIvan Magalhaes UNQUALIFIED
Costa C CampainAustraliaXuxue Feng PROPOSAL
Cody D VenereCanadaAsiya Javayant NEGOTIATION
Leon T MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Claire L SchemmerSpainBernardo Dominic QUALIFIED
Sinclair X MacleadArgentinaStephen Shaw NEGOTIATION
Aika H PoquetteRussiaIvan Magalhaes PROPOSAL
Francesco T ButtUnited KingdomAnna Fali UNQUALIFIED
Aditya I KuskoGermanyAnna Fali RENEWAL
Claire I BologniaItalyAmy Elsner QUALIFIED
Adams R VenereItalyAmy Elsner UNQUALIFIED
Aditya R RutaSpainAnna Fali RENEWAL
Antonio E NestleIndiaOnyama Limba UNQUALIFIED
Izzy U GlickCanadaIvan Magalhaes RENEWAL
Leon K RimArgentinaBernardo Dominic NEGOTIATION
Costa S GillianUnited KingdomAsiya Javayant QUALIFIED
Jefferson J StockhamItalyXuxue Feng RENEWAL
Cody O MorascaSpainStephen Shaw QUALIFIED
Jefferson H NestleBrazilAnna Fali NEGOTIATION
Claire H CaldareraAustraliaElwin Sharvill QUALIFIED
Frozen Columns
Name
Johnson Y Figeroa
Deepesh S Garufi
Salvatore I Iturbide
Jennifer Y Waycott
Aditya L Morasca
Aruna L Briddick
Smith E Nicka
Julie U Dilliard
Cody K Kolmetz
Alejandro E Vocelka
Jeanfrancois F Oldroyd
Clifford X Campain
Octavia B Dilliard
Jeanfrancois D Gillian
Jeanfrancois J Whobrey
Rodrigues L Kolmetz
Misaki G Bowley
Munro E Chui
Tony R Rim
Cody Q Ostrosky
Maisha C Glick
Adams G Malet
Francesco C Butt
Aruna Q Shinko
Antonio X Oldroyd
Emily M Kusko
Francesco J Foller
Cody M Schemmer
Chavez J Malet
Rodrigues T Nestle
Jones A Chui
Kaitlin L Foller
Alejandro O Schemmer
Julie A Vocelka
Jeanfrancois A Vocelka
Murillo H Bowley
Mujtaba W Briddick
Costa R Bowley
Alejandro A Slusarski
Cody Y Tollner
Mujtaba D Tollner
Morrow Z Bowley
James N Darakjy
Misaki Z Inouye
Jeanfrancois F Marrier
Jefferson R Slusarski
Maria V Rim
Costa M Saylors
Salvatore N Shinko
Sinclair P Amigon
IdCountryDate
1000United Kingdom2024-08-30
1001Germany2024-09-17
1002United Kingdom2024-08-29
1003Brazil2024-08-30
1004Japan2024-09-19
1005Australia2024-09-16
1006India2024-09-12
1007Russia2024-09-22
1008Germany2024-08-30
1009Japan2024-09-08
1010Russia2024-08-29
1011Argentina2024-08-29
1012Russia2024-09-07
1013Russia2024-08-28
1014Russia2024-09-09
1015United Kingdom2024-08-31
1016Spain2024-09-05
1017United Kingdom2024-09-24
1018France2024-09-17
1019Italy2024-09-13
1020Japan2024-09-16
1021France2024-09-11
1022Brazil2024-08-27
1023France2024-09-02
1024France2024-09-10
1025Argentina2024-08-26
1026Australia2024-09-09
1027Japan2024-09-17
1028Brazil2024-09-01
1029France2024-08-31
1030Australia2024-09-08
1031Argentina2024-09-21
1032Italy2024-09-13
1033Germany2024-08-30
1034Japan2024-09-05
1035Russia2024-09-14
1036Brazil2024-09-02
1037France2024-09-01
1038Spain2024-08-28
1039Canada2024-08-26
1040Spain2024-08-28
1041Canada2024-09-21
1042Brazil2024-09-09
1043Italy2024-09-13
1044Brazil2024-09-15
1045Russia2024-09-24
1046Australia2024-08-30
1047Canada2024-09-19
1048Germany2024-09-17
1049Argentina2024-09-23

On-Demand Data

NameIdCountryDate
Wickens E Stockham1000Russia2024-08-26
Aruna R Doe1001Japan2024-09-20
Salvatore L Briddick1002United Kingdom2024-09-13
Jeanfrancois B Perin1003India2024-09-08
Cody J Flosi1004France2024-09-15
Ivar S Gaucho1005Spain2024-09-19
Jefferson Q Caldarera1006Brazil2024-08-29
Alejandro T Maclead1007Japan2024-09-23
Tony R Saylors1008Spain2024-08-26
Kaitlin K Gaucho1009France2024-09-09
Johnson Q Royster1010Germany2024-09-14
Adams X Gaucho1011Brazil2024-09-21
Stacey Y Darakjy1012France2024-09-22
Morrow C Kolmetz1013Spain2024-09-21
Wickens V Waycott1014Japan2024-09-10
Cody P Briddick1015Argentina2024-09-13
Aditya D Shinko1016Italy2024-09-04
Salvatore N Kolmetz1017Australia2024-09-17
Clifford S Chui1018Japan2024-09-07
Darci H Morasca1019Argentina2024-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja U GlickFranceAmy Elsner UNQUALIFIED
Cody W MarrierRussiaAsiya Javayant RENEWAL
Nicolas E TollnerIndiaIvan Magalhaes PROPOSAL
Stacey J SchemmerAustraliaXuxue Feng NEW
Aika X MorascaFranceStephen Shaw UNQUALIFIED
Faith W WieserIndiaIvan Magalhaes NEW
Cody T ShinkoAustraliaXuxue Feng RENEWAL
Julie S StockhamJapanAnna Fali NEGOTIATION
David U PerinCanadaIoni Bowcher NEW
Aditya A StensethItalyOnyama Limba RENEWAL
Claire C AlbaresUnited KingdomAsiya Javayant NEW
Emily V KuskoIndiaBernardo Dominic UNQUALIFIED
Kadeem Z SergiJapanIvan Magalhaes QUALIFIED
Alejandro Q KuskoIndiaElwin Sharvill UNQUALIFIED
Silvio M OstroskyCanadaBernardo Dominic NEW
James H StensethGermanyAnna Fali PROPOSAL
Mujtaba U FigeroaBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois K MacleadCanadaAmy Elsner RENEWAL
Stacey R PerinBrazilIoni Bowcher RENEWAL
Leja T WaycottSpainAsiya Javayant UNQUALIFIED
Octavia H MaletCanadaAmy Elsner NEW
Ivar R FollerFranceAnna Fali NEGOTIATION
James C FigeroaJapanOnyama Limba RENEWAL
Julie K BowleySpainBernardo Dominic PROPOSAL
Kaitlin J FollerRussiaIoni Bowcher NEGOTIATION
Morrow I WieserGermanyXuxue Feng PROPOSAL
Ivar V StensethGermanyIvan Magalhaes QUALIFIED
Murillo R IturbideArgentinaBernardo Dominic PROPOSAL
Emily F MorascaIndiaAmy Elsner RENEWAL
Jones V MacleadFranceStephen Shaw QUALIFIED
Chavez L MorascaBrazilElwin Sharvill UNQUALIFIED
Chavez F PerinBrazilAsiya Javayant NEW
Jennifer D PoquetteItalyElwin Sharvill NEW
Nicolas A SergiJapanAsiya Javayant UNQUALIFIED
Murillo B IturbideGermanyStephen Shaw RENEWAL
Emily W RutaSpainOnyama Limba QUALIFIED
Arvin J PaprockiArgentinaOnyama Limba QUALIFIED
Costa A IturbideAustraliaAsiya Javayant RENEWAL
Jefferson X CaldareraFranceIvan Magalhaes QUALIFIED
Faith L SlusarskiArgentinaElwin Sharvill NEW

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