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
Munro U ButtFranceBernardo Dominic NEW
Octavia W StensethUnited KingdomStephen Shaw NEW
Kadeem V RoysterSpainElwin Sharvill NEGOTIATION
Julie L ChuiSpainOnyama Limba NEGOTIATION
Kadeem O StockhamIndiaAsiya Javayant PROPOSAL
Misaki S RimAustraliaAsiya Javayant PROPOSAL
Julie H SaylorsGermanyAsiya Javayant UNQUALIFIED
Darci W OldroydAustraliaIoni Bowcher NEW
David K VenereAustraliaXuxue Feng QUALIFIED
Silvio S CaudyUnited KingdomIoni Bowcher PROPOSAL
Maisha M PoquetteFranceOnyama Limba UNQUALIFIED
Rodrigues Y TollnerAustraliaIvan Magalhaes NEW
James U SaylorsRussiaAnna Fali UNQUALIFIED
James Q KolmetzGermanyIvan Magalhaes NEW
Kadeem C WieserRussiaAsiya Javayant RENEWAL
Izzy J DoeUnited KingdomIoni Bowcher NEW
Maisha F FigeroaGermanyStephen Shaw NEGOTIATION
Nicolas Q MacleadBrazilBernardo Dominic NEW
Octavia B PaprockiUnited KingdomStephen Shaw RENEWAL
Aruna B PaprockiCanadaAnna Fali RENEWAL
Maisha M ShinkoUnited KingdomStephen Shaw RENEWAL
Leja V GillianRussiaStephen Shaw NEGOTIATION
Smith X SergiUnited KingdomElwin Sharvill UNQUALIFIED
Emily C WieserAustraliaAnna Fali NEGOTIATION
Munro Y IturbideRussiaStephen Shaw NEW
Jefferson H PaprockiItalyIvan Magalhaes NEGOTIATION
Francesco R BriddickArgentinaBernardo Dominic UNQUALIFIED
Ivar I MaletItalyAmy Elsner PROPOSAL
Munro N GlickBrazilIvan Magalhaes RENEWAL
Chavez C RutaUnited KingdomXuxue Feng PROPOSAL
Misaki L VocelkaItalyBernardo Dominic UNQUALIFIED
Maria A BowleyCanadaIoni Bowcher UNQUALIFIED
Deepesh M MacleadSpainAmy Elsner PROPOSAL
Emily R ButtFranceAsiya Javayant NEGOTIATION
Jennifer P TollnerAustraliaOnyama Limba PROPOSAL
Claire A SchemmerAustraliaAmy Elsner NEGOTIATION
Jennifer D CampainBrazilAsiya Javayant PROPOSAL
Darci B WhobreyGermanyAsiya Javayant RENEWAL
Octavia H FollerItalyAmy Elsner NEW
Tony E GarufiCanadaIvan Magalhaes UNQUALIFIED
Jones J BowleyFranceIoni Bowcher PROPOSAL
Johnson N MaletJapanAsiya Javayant NEW
Tony W PerinGermanyOnyama Limba UNQUALIFIED
Isabel I RutaArgentinaStephen Shaw QUALIFIED
Maisha H CampainSpainIoni Bowcher NEGOTIATION
Kaitlin U GauchoBrazilBernardo Dominic PROPOSAL
Greenwood F CaldareraItalyOnyama Limba RENEWAL
Maria R BriddickItalyStephen Shaw RENEWAL
Tony P VocelkaUnited KingdomOnyama Limba QUALIFIED
Juan L FerenczBrazilOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro T BologniaAustraliaElwin Sharvill PROPOSAL
Johnson Z GauchoFranceIoni Bowcher UNQUALIFIED
Jeanfrancois L RoysterAustraliaAnna Fali NEGOTIATION
Cody L FerenczUnited KingdomXuxue Feng NEW
Kaitlin G BologniaBrazilAnna Fali QUALIFIED
Octavia S PerinRussiaAsiya Javayant RENEWAL
Adams Z DilliardUnited KingdomAsiya Javayant NEW
Emily K SlusarskiBrazilOnyama Limba UNQUALIFIED
Clifford B MarrierSpainAmy Elsner UNQUALIFIED
Tony I RimArgentinaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia Y OstroskyBrazil2024-06-14King, Christopher A Esq UNQUALIFIED87Amy Elsner
1001Alejandro V DarakjyJapan2024-06-09Feiner Bros NEW38Onyama Limba
1002Clifford Z VocelkaFrance2024-06-02Chapman, Ross E Esq QUALIFIED20Ioni Bowcher
1003Ricardo K RulapaughRussia2024-06-11Commercial Press RENEWAL48Onyama Limba
1004Wickens K PerinGermany2024-06-20Chanay, Jeffrey A Esq QUALIFIED63Asiya Javayant
1005Adams T DoeArgentina2024-06-07Feiner Bros NEGOTIATION90Amy Elsner
1006Ivar J StockhamIndia2024-06-01Commercial Press PROPOSAL17Onyama Limba
1007Jeanfrancois J GauchoItaly2024-06-21Truhlar And Truhlar Attys NEW2Onyama Limba
1008Tony X PoquetteIndia2024-05-25Feiner Bros RENEWAL50Ivan Magalhaes
1009Ashley D KolmetzGermany2024-06-14Chanay, Jeffrey A Esq PROPOSAL61Stephen Shaw
1010Morrow K PoquetteIndia2024-06-08Rousseaux, Michael Esq UNQUALIFIED31Ivan Magalhaes
1011Francesco Q MaletArgentina2024-06-19Rangoni Of Florence PROPOSAL45Onyama Limba
1012Ashley S BriddickJapan2024-06-10Commercial Press PROPOSAL82Ioni Bowcher
1013Leon G AlbaresCanada2024-05-25Commercial Press NEW64Onyama Limba
1014Johnson A FlosiJapan2024-06-09Chemel, James L Cpa NEW76Elwin Sharvill
1015Ashley L OldroydCanada2024-05-28Commercial Press PROPOSAL82Elwin Sharvill
1016Ivar C PaprockiIndia2024-06-06Truhlar And Truhlar Attys PROPOSAL41Xuxue Feng
1017Misaki H ButtArgentina2024-06-08Rangoni Of Florence RENEWAL58Ivan Magalhaes
1018Ricardo Q VocelkaGermany2024-05-29Morlong Associates QUALIFIED82Ivan Magalhaes
1019Wickens B RimCanada2024-06-02Chapman, Ross E Esq NEW1Bernardo Dominic
1020Arvin Y DarakjyGermany2024-05-31Feiner Bros NEW52Xuxue Feng
1021Clifford E MorascaFrance2024-05-30Commercial Press QUALIFIED5Ioni Bowcher
1022Munro Z WaycottFrance2024-06-18Feiner Bros RENEWAL23Asiya Javayant
1023Rodrigues T VenereArgentina2024-06-07Chemel, James L Cpa UNQUALIFIED2Anna Fali
1024Emily G SlusarskiAustralia2024-06-12Truhlar And Truhlar Attys NEGOTIATION91Anna Fali
1025Kadeem W WhobreyItaly2024-06-09Chapman, Ross E Esq UNQUALIFIED30Ivan Magalhaes
1026Antonio I GauchoBrazil2024-06-08Chemel, James L Cpa PROPOSAL85Bernardo Dominic
1027Costa N CampainJapan2024-06-19Chemel, James L Cpa PROPOSAL77Ivan Magalhaes
1028Smith K CaldareraJapan2024-05-30Buckley Miller Wright NEGOTIATION56Anna Fali
1029Aruna J MaletIndia2024-06-08Morlong Associates UNQUALIFIED44Amy Elsner
1030Faith I OldroydFrance2024-06-14Rousseaux, Michael Esq NEGOTIATION13Onyama Limba
1031Murillo X RoysterJapan2024-06-23Chapman, Ross E Esq RENEWAL83Onyama Limba
1032Claire J DilliardGermany2024-06-04Dorl, James J Esq RENEWAL33Xuxue Feng
1033David E KuskoItaly2024-06-14Feiner Bros QUALIFIED57Xuxue Feng
1034Greenwood B VocelkaJapan2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED16Elwin Sharvill
1035Faith W MaletItaly2024-06-13Rousseaux, Michael Esq QUALIFIED8Anna Fali
1036Deepesh J WieserRussia2024-06-08Dorl, James J Esq NEGOTIATION91Onyama Limba
1037Arvin H SergiRussia2024-06-14King, Christopher A Esq NEW15Amy Elsner
1038Cody S PerinJapan2024-06-12Benton, John B Jr PROPOSAL36Asiya Javayant
1039Leja Q OldroydArgentina2024-06-15Feiner Bros NEW80Asiya Javayant
1040Munro G PerinSpain2024-06-21Commercial Press RENEWAL96Asiya Javayant
1041Greenwood V InouyeArgentina2024-05-28Rangoni Of Florence QUALIFIED76Stephen Shaw
1042Cody F MaletGermany2024-06-11Morlong Associates PROPOSAL46Elwin Sharvill
1043Maria V IturbideSpain2024-05-25Rousseaux, Michael Esq QUALIFIED37Stephen Shaw
1044Munro L SchemmerFrance2024-05-27Commercial Press RENEWAL84Elwin Sharvill
1045Greenwood U WieserJapan2024-06-23Chapman, Ross E Esq UNQUALIFIED63Ivan Magalhaes
1046Octavia I FlosiBrazil2024-06-22Dorl, James J Esq PROPOSAL89Asiya Javayant
1047Smith J DoeAustralia2024-06-12Dorl, James J Esq QUALIFIED91Onyama Limba
1048Morrow F GarufiUnited Kingdom2024-06-04Truhlar And Truhlar Attys QUALIFIED88Onyama Limba
1049Kadeem O KuskoSpain2024-06-10Truhlar And Truhlar Attys NEGOTIATION5Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ricardo Y MarrierIndiaBernardo Dominic NEW
Aruna N MacleadRussiaElwin Sharvill RENEWAL
Adams I GauchoCanadaAnna Fali PROPOSAL
Adams W PaprockiBrazilAmy Elsner PROPOSAL
Jefferson E SchemmerSpainXuxue Feng PROPOSAL
Izzy E MorascaCanadaIoni Bowcher NEW
Leon W MaletFranceAmy Elsner NEW
Adams L ButtAustraliaIvan Magalhaes QUALIFIED
Wickens F RimJapanXuxue Feng RENEWAL
Rodrigues L GauchoBrazilElwin Sharvill PROPOSAL
David F WieserRussiaStephen Shaw UNQUALIFIED
Ivar T AlbaresCanadaStephen Shaw NEW
Murillo Y MaletSpainAnna Fali UNQUALIFIED
Greenwood R CaudyAustraliaXuxue Feng UNQUALIFIED
Ivar E TollnerFranceIvan Magalhaes RENEWAL
Leja N AmigonFranceStephen Shaw UNQUALIFIED
Sinclair L KuskoAustraliaIvan Magalhaes PROPOSAL
Aruna P ButtRussiaAsiya Javayant QUALIFIED
Rodrigues B IturbideIndiaXuxue Feng NEW
Jennifer B FigeroaAustraliaOnyama Limba RENEWAL
Leon V FigeroaFranceElwin Sharvill RENEWAL
Silvio T DoeRussiaBernardo Dominic QUALIFIED
James Y PoquetteUnited KingdomIoni Bowcher NEGOTIATION
Juan J SergiCanadaElwin Sharvill PROPOSAL
Morrow B CampainAustraliaAnna Fali PROPOSAL
Sinclair I DarakjyFranceStephen Shaw QUALIFIED
Wickens M WaycottSpainAnna Fali NEGOTIATION
Costa L GillianSpainElwin Sharvill NEGOTIATION
Julie O MaletItalyAmy Elsner NEGOTIATION
Wickens R WieserBrazilAnna Fali RENEWAL
Darci N RutaGermanyElwin Sharvill QUALIFIED
Jones Z IturbideUnited KingdomBernardo Dominic NEGOTIATION
Sinclair R TollnerIndiaBernardo Dominic NEGOTIATION
Tony Q VenereSpainOnyama Limba NEW
Rodrigues R OstroskyIndiaAsiya Javayant NEGOTIATION
Ivar S FlosiItalyAnna Fali PROPOSAL
Arvin T DarakjyAustraliaIvan Magalhaes NEGOTIATION
Nicolas J RimCanadaBernardo Dominic QUALIFIED
Tony Q TollnerItalyElwin Sharvill UNQUALIFIED
Darci G FigeroaBrazilElwin Sharvill NEW
Misaki J KolmetzJapanElwin Sharvill QUALIFIED
Ricardo R RoysterItalyOnyama Limba RENEWAL
Jeanfrancois J SergiJapanAsiya Javayant UNQUALIFIED
Ashley O StockhamCanadaIvan Magalhaes UNQUALIFIED
Kadeem H PaprockiSpainIvan Magalhaes QUALIFIED
Faith F PaprockiCanadaIvan Magalhaes QUALIFIED
Tony Q MaletAustraliaElwin Sharvill NEW
Claire L RulapaughBrazilOnyama Limba QUALIFIED
Juan D WaycottRussiaOnyama Limba UNQUALIFIED
Salvatore A ChuiItalyElwin Sharvill RENEWAL
Frozen Columns
Name
James I Bowley
Jefferson G Oldroyd
Maria H Kusko
Arvin V Gaucho
David B Briddick
Murillo X Figeroa
Sinclair O Iturbide
Leon Z Doe
Munro N Stockham
Ashley A Schemmer
Isabel B Nestle
Juan M Figeroa
Emily U Stockham
David J Stockham
Jefferson S Gaucho
Izzy A Glick
Leon H Maclead
Murillo L Nicka
Morrow M Inouye
Aruna I Briddick
Arvin J Stenseth
Sinclair D Kusko
Johnson E Caldarera
Jeanfrancois T Stockham
Jeanfrancois O Tollner
Julie R Wieser
Juan V Stenseth
Silvio S Bowley
Leon C Butt
Arvin R Royster
Wickens K Malet
Sinclair I Sergi
Nicolas N Briddick
Darci D Flosi
Deepesh W Kolmetz
Greenwood S Malet
Cody G Stenseth
Misaki W Waycott
Rodrigues W Gaucho
Alejandro N Chui
Sinclair G Morasca
Francesco R Amigon
Greenwood Q Wieser
Octavia K Nicka
Tony G Dilliard
Tony G Oldroyd
Sinclair L Vocelka
Morrow X Garufi
Kaitlin E Inouye
Misaki Q Vocelka
IdCountryDate
1000Germany2024-06-02
1001Italy2024-06-11
1002Germany2024-05-26
1003Italy2024-06-07
1004Canada2024-06-09
1005Australia2024-06-19
1006Japan2024-06-04
1007Japan2024-06-17
1008United Kingdom2024-06-20
1009Argentina2024-06-17
1010Japan2024-05-26
1011Spain2024-05-31
1012Spain2024-06-23
1013Italy2024-06-10
1014Brazil2024-06-06
1015Canada2024-06-01
1016Germany2024-05-25
1017United Kingdom2024-06-07
1018India2024-06-19
1019United Kingdom2024-06-19
1020Russia2024-06-19
1021Germany2024-05-31
1022Australia2024-06-11
1023Russia2024-06-12
1024Argentina2024-05-26
1025Canada2024-06-14
1026Canada2024-06-13
1027France2024-06-08
1028Argentina2024-06-18
1029United Kingdom2024-06-22
1030Japan2024-05-31
1031Australia2024-06-17
1032Argentina2024-05-29
1033Italy2024-05-26
1034Brazil2024-06-05
1035Italy2024-06-15
1036India2024-06-11
1037Japan2024-06-01
1038Italy2024-06-08
1039Russia2024-06-01
1040Japan2024-06-20
1041Brazil2024-05-29
1042Germany2024-06-19
1043Canada2024-05-30
1044Australia2024-05-30
1045Australia2024-06-13
1046France2024-06-10
1047United Kingdom2024-06-08
1048India2024-06-06
1049United Kingdom2024-05-28

On-Demand Data

NameIdCountryDate
Claire K Wieser1000Brazil2024-06-11
Smith X Dilliard1001Russia2024-06-14
Cody R Stockham1002Russia2024-06-07
Ricardo K Darakjy1003United Kingdom2024-06-19
James U Kolmetz1004Australia2024-06-06
Salvatore Y Glick1005Argentina2024-06-13
Maria X Butt1006United Kingdom2024-06-11
Jennifer J Nestle1007Russia2024-06-18
Rodrigues T Maclead1008Japan2024-05-27
Deepesh P Butt1009Japan2024-06-09
David F Perin1010Spain2024-06-02
Leja X Poquette1011India2024-06-07
Maisha E Inouye1012Japan2024-06-13
Francesco N Gaucho1013Germany2024-06-05
Tony Q Malet1014Italy2024-06-11
Chavez C Ferencz1015United Kingdom2024-06-04
Mujtaba N Nicka1016Australia2024-06-01
Deepesh U Bowley1017Italy2024-05-31
Kadeem G Dilliard1018Germany2024-06-22
Murillo D Darakjy1019Argentina2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford S BriddickSpainOnyama Limba QUALIFIED
Izzy F DoeArgentinaXuxue Feng RENEWAL
Antonio A RutaIndiaAmy Elsner UNQUALIFIED
Smith V GlickBrazilAsiya Javayant UNQUALIFIED
David G WieserIndiaOnyama Limba UNQUALIFIED
Maisha M AmigonJapanIvan Magalhaes RENEWAL
Faith N GarufiRussiaAmy Elsner RENEWAL
Sinclair K WieserArgentinaIvan Magalhaes PROPOSAL
Adams G KolmetzBrazilElwin Sharvill NEW
Juan G AlbaresRussiaXuxue Feng PROPOSAL
Adams F CaldareraItalyStephen Shaw NEW
Arvin B NestleCanadaIoni Bowcher PROPOSAL
Leja D WieserArgentinaAsiya Javayant UNQUALIFIED
Aika S BriddickSpainOnyama Limba RENEWAL
Alejandro Q KolmetzGermanyIoni Bowcher NEW
Ricardo Z AmigonGermanyXuxue Feng RENEWAL
Rodrigues O WaycottCanadaAsiya Javayant NEW
Aika L MarrierBrazilIvan Magalhaes NEGOTIATION
Wickens S IturbideItalyStephen Shaw RENEWAL
Antonio Q IturbideArgentinaElwin Sharvill UNQUALIFIED
Stacey L AmigonRussiaIoni Bowcher RENEWAL
Chavez X BologniaFranceOnyama Limba NEW
Jones O DilliardRussiaIvan Magalhaes NEW
Rodrigues U DoeCanadaElwin Sharvill UNQUALIFIED
Aditya C SergiItalyIoni Bowcher PROPOSAL
Morrow V CampainGermanyBernardo Dominic QUALIFIED
Misaki D PoquetteItalyIoni Bowcher QUALIFIED
Clifford V SlusarskiAustraliaIoni Bowcher NEW
Mujtaba R SchemmerIndiaElwin Sharvill PROPOSAL
Johnson V SchemmerGermanyAsiya Javayant NEGOTIATION
Greenwood R GillianCanadaBernardo Dominic NEGOTIATION
Ricardo J SaylorsItalyAnna Fali QUALIFIED
Clifford J NickaFranceElwin Sharvill NEGOTIATION
Ricardo Z SlusarskiRussiaElwin Sharvill QUALIFIED
Maria F IturbideFranceAmy Elsner RENEWAL
Kaitlin R WieserAustraliaAnna Fali QUALIFIED
Leon P PoquetteFranceOnyama Limba RENEWAL
Morrow A WieserBrazilAsiya Javayant QUALIFIED
Clifford J RulapaughCanadaIoni Bowcher NEGOTIATION
Cody L PoquetteItalyStephen Shaw NEGOTIATION

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