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
Ricardo P AmigonGermanyXuxue Feng RENEWAL
Rodrigues L ChuiItalyAmy Elsner UNQUALIFIED
Emily S BologniaArgentinaOnyama Limba PROPOSAL
Mujtaba X InouyeArgentinaXuxue Feng NEW
Clifford Z DoeGermanyIvan Magalhaes PROPOSAL
Greenwood I PoquetteBrazilIoni Bowcher RENEWAL
Julie J NickaJapanAsiya Javayant PROPOSAL
Emily R CampainCanadaAmy Elsner UNQUALIFIED
Izzy Q ShinkoFranceBernardo Dominic QUALIFIED
Silvio V IturbideIndiaAmy Elsner PROPOSAL
Emily K RimArgentinaAmy Elsner NEGOTIATION
Ashley I SlusarskiUnited KingdomAmy Elsner NEW
Juan D SergiCanadaIvan Magalhaes NEW
Nicolas K CaldareraRussiaBernardo Dominic RENEWAL
Adams W RimAustraliaAsiya Javayant RENEWAL
Jennifer K StockhamAustraliaOnyama Limba RENEWAL
Aruna Q OstroskyFranceAnna Fali PROPOSAL
Francesco Z RimArgentinaAnna Fali QUALIFIED
Clifford N IturbideSpainBernardo Dominic NEW
Ashley O TollnerItalyOnyama Limba UNQUALIFIED
Faith G RoysterGermanyElwin Sharvill RENEWAL
Ricardo D AmigonCanadaAmy Elsner NEGOTIATION
Ricardo X BologniaCanadaIoni Bowcher PROPOSAL
Aditya J DoeGermanyOnyama Limba PROPOSAL
Greenwood K RimFranceAsiya Javayant RENEWAL
Jeanfrancois U WieserRussiaBernardo Dominic NEGOTIATION
Juan G SaylorsUnited KingdomXuxue Feng RENEWAL
Tony Z NickaSpainStephen Shaw NEGOTIATION
Johnson L SlusarskiRussiaAnna Fali PROPOSAL
Aruna L OstroskyGermanyIvan Magalhaes QUALIFIED
Aruna B KuskoItalyBernardo Dominic QUALIFIED
Misaki P VocelkaItalyAmy Elsner NEGOTIATION
Smith K MarrierCanadaAsiya Javayant NEGOTIATION
Leon M MarrierAustraliaAsiya Javayant RENEWAL
Darci Z StensethCanadaXuxue Feng PROPOSAL
Johnson N SaylorsIndiaElwin Sharvill UNQUALIFIED
Nicolas H MorascaAustraliaXuxue Feng RENEWAL
Kadeem G NickaBrazilIoni Bowcher NEGOTIATION
Rodrigues X GauchoJapanStephen Shaw NEGOTIATION
Kadeem P GarufiGermanyAnna Fali UNQUALIFIED
Maria T SchemmerJapanElwin Sharvill NEW
Morrow A BologniaGermanyIvan Magalhaes PROPOSAL
Greenwood X MarrierGermanyOnyama Limba NEGOTIATION
Jefferson V GlickIndiaOnyama Limba NEGOTIATION
Stacey Y NestleArgentinaElwin Sharvill PROPOSAL
Salvatore M CaudyCanadaElwin Sharvill UNQUALIFIED
Kaitlin E NickaJapanXuxue Feng QUALIFIED
Mujtaba H GarufiJapanAsiya Javayant RENEWAL
Kadeem G AmigonAustraliaStephen Shaw NEGOTIATION
Octavia G BriddickGermanyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Izzy F RulapaughIndiaAnna Fali RENEWAL
Octavia M ChuiUnited KingdomIvan Magalhaes QUALIFIED
Faith Y GauchoSpainOnyama Limba NEGOTIATION
Morrow N KuskoCanadaAnna Fali RENEWAL
Emily X CampainBrazilIvan Magalhaes PROPOSAL
Kadeem Y ChuiItalyAsiya Javayant RENEWAL
Stacey R NestleGermanyStephen Shaw NEGOTIATION
Kadeem M AmigonArgentinaAmy Elsner PROPOSAL
Isabel Z SlusarskiBrazilXuxue Feng UNQUALIFIED
Smith H GauchoSpainOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy R MarrierGermany2024-06-01Rousseaux, Michael Esq NEW71Onyama Limba
1001Aditya A FigeroaBrazil2024-06-06Chemel, James L Cpa PROPOSAL12Ivan Magalhaes
1002Misaki D PerinRussia2024-05-23Chapman, Ross E Esq RENEWAL32Amy Elsner
1003Deepesh U MarrierIndia2024-06-12Printing Dimensions NEW30Xuxue Feng
1004Clifford F AmigonFrance2024-06-16Rangoni Of Florence PROPOSAL57Ioni Bowcher
1005Faith F RutaGermany2024-05-25King, Christopher A Esq QUALIFIED72Elwin Sharvill
1006Isabel U SergiArgentina2024-06-13Benton, John B Jr RENEWAL12Bernardo Dominic
1007Maisha T BriddickGermany2024-06-09Feltz Printing Service NEW15Onyama Limba
1008Jeanfrancois A StensethSpain2024-05-29Chanay, Jeffrey A Esq NEW3Stephen Shaw
1009Costa L RulapaughArgentina2024-05-24Chemel, James L Cpa NEW63Xuxue Feng
1010Francesco O SergiJapan2024-06-07King, Christopher A Esq NEGOTIATION51Amy Elsner
1011Silvio N SaylorsRussia2024-05-27Chanay, Jeffrey A Esq PROPOSAL24Ivan Magalhaes
1012Cody U RimItaly2024-06-14Chapman, Ross E Esq QUALIFIED91Ioni Bowcher
1013Munro J SlusarskiRussia2024-06-19Chemel, James L Cpa PROPOSAL55Elwin Sharvill
1014Arvin G RimAustralia2024-06-06Rousseaux, Michael Esq NEGOTIATION0Asiya Javayant
1015Ashley G AmigonAustralia2024-06-14Morlong Associates RENEWAL24Asiya Javayant
1016Aditya P BriddickGermany2024-06-07Commercial Press NEGOTIATION6Xuxue Feng
1017Silvio B StensethGermany2024-06-08Rousseaux, Michael Esq NEW10Ioni Bowcher
1018Jones V CaudyGermany2024-05-28Commercial Press UNQUALIFIED50Amy Elsner
1019Jennifer P MarrierIndia2024-06-21Chemel, James L Cpa RENEWAL25Bernardo Dominic
1020Johnson D StockhamBrazil2024-06-16Chanay, Jeffrey A Esq QUALIFIED48Ioni Bowcher
1021Jefferson R RimRussia2024-06-20Buckley Miller Wright QUALIFIED82Amy Elsner
1022Octavia E BowleyGermany2024-06-19Morlong Associates NEW58Elwin Sharvill
1023Arvin P PerinItaly2024-06-11Feiner Bros NEW26Ivan Magalhaes
1024Cody Z PoquetteBrazil2024-05-23Commercial Press RENEWAL92Elwin Sharvill
1025Mujtaba G SaylorsIndia2024-06-02Rangoni Of Florence PROPOSAL89Bernardo Dominic
1026Stacey W BologniaIndia2024-06-20King, Christopher A Esq NEGOTIATION91Onyama Limba
1027Johnson R CaldareraAustralia2024-06-15Truhlar And Truhlar Attys NEGOTIATION93Stephen Shaw
1028Kadeem D MaletCanada2024-05-24Rangoni Of Florence RENEWAL40Amy Elsner
1029Ricardo S CaldareraArgentina2024-05-28Printing Dimensions PROPOSAL46Anna Fali
1030Deepesh M PaprockiBrazil2024-05-23Feltz Printing Service NEGOTIATION65Amy Elsner
1031Costa I TollnerItaly2024-06-18Benton, John B Jr NEGOTIATION3Elwin Sharvill
1032Kaitlin J BowleyCanada2024-06-19Rousseaux, Michael Esq NEGOTIATION40Stephen Shaw
1033Maisha W GlickItaly2024-05-31Morlong Associates QUALIFIED57Asiya Javayant
1034Claire E SchemmerJapan2024-06-19King, Christopher A Esq RENEWAL83Onyama Limba
1035Johnson O GarufiItaly2024-05-23Printing Dimensions NEW77Stephen Shaw
1036Leja J MaletUnited Kingdom2024-05-27Rousseaux, Michael Esq QUALIFIED58Ioni Bowcher
1037Isabel T ChuiItaly2024-06-12Rousseaux, Michael Esq QUALIFIED61Xuxue Feng
1038Greenwood F AmigonJapan2024-06-12Chemel, James L Cpa PROPOSAL20Onyama Limba
1039Jefferson M WieserCanada2024-06-19Truhlar And Truhlar Attys QUALIFIED93Asiya Javayant
1040Johnson O NestleFrance2024-05-27Rousseaux, Michael Esq NEW16Stephen Shaw
1041Izzy Q SchemmerIndia2024-06-04Buckley Miller Wright RENEWAL53Asiya Javayant
1042Darci G DarakjyRussia2024-05-30Chemel, James L Cpa UNQUALIFIED10Bernardo Dominic
1043Claire E InouyeFrance2024-05-31Rangoni Of Florence NEW88Stephen Shaw
1044Faith A MaletJapan2024-05-24King, Christopher A Esq UNQUALIFIED50Asiya Javayant
1045Salvatore F GillianIndia2024-06-18Commercial Press PROPOSAL23Stephen Shaw
1046Adams T DarakjyCanada2024-06-06Feltz Printing Service QUALIFIED59Amy Elsner
1047Murillo V NestleIndia2024-06-21Dorl, James J Esq NEW21Stephen Shaw
1048Ivar T WieserItaly2024-06-17Chapman, Ross E Esq NEW15Elwin Sharvill
1049Costa I MarrierGermany2024-06-12Feltz Printing Service QUALIFIED13Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Adams N WaycottRussiaAsiya Javayant QUALIFIED
Alejandro U RimIndiaIoni Bowcher NEGOTIATION
Leja L PoquetteCanadaXuxue Feng UNQUALIFIED
Morrow S MaletArgentinaAmy Elsner PROPOSAL
Ricardo Y RulapaughUnited KingdomOnyama Limba QUALIFIED
Ricardo K GarufiRussiaIvan Magalhaes PROPOSAL
Darci O DarakjyJapanBernardo Dominic NEGOTIATION
Ashley S TollnerGermanyIoni Bowcher RENEWAL
Mayumi L RulapaughAustraliaXuxue Feng NEGOTIATION
Mayumi W NickaRussiaOnyama Limba QUALIFIED
Aika V BriddickBrazilOnyama Limba PROPOSAL
Maisha H OstroskyCanadaOnyama Limba UNQUALIFIED
Rodrigues Y RimRussiaIvan Magalhaes QUALIFIED
Julie K TollnerUnited KingdomAnna Fali QUALIFIED
Francesco C NestleBrazilAmy Elsner NEW
Octavia L NestleUnited KingdomIoni Bowcher NEW
Juan I GarufiArgentinaAsiya Javayant UNQUALIFIED
Julie Q IturbideBrazilStephen Shaw QUALIFIED
Mayumi O KolmetzFranceXuxue Feng RENEWAL
Jeanfrancois I StensethRussiaBernardo Dominic NEGOTIATION
Ricardo X CaldareraUnited KingdomOnyama Limba RENEWAL
Jefferson I BriddickJapanAsiya Javayant QUALIFIED
Ivar N VenereItalyAnna Fali UNQUALIFIED
Aruna L WieserCanadaStephen Shaw PROPOSAL
Johnson F MaletItalyOnyama Limba PROPOSAL
Adams M PerinItalyAmy Elsner PROPOSAL
Jennifer F StensethSpainAsiya Javayant QUALIFIED
Aruna A MaletUnited KingdomBernardo Dominic RENEWAL
Mayumi G PoquetteArgentinaAsiya Javayant QUALIFIED
Adams K FigeroaItalyXuxue Feng RENEWAL
Nicolas H GarufiUnited KingdomStephen Shaw PROPOSAL
Silvio L GarufiAustraliaAnna Fali NEW
Aruna I PerinRussiaElwin Sharvill RENEWAL
Salvatore J CaudyGermanyAnna Fali UNQUALIFIED
Antonio M GillianItalyOnyama Limba PROPOSAL
James P OstroskyItalyIoni Bowcher RENEWAL
Jefferson B SergiUnited KingdomIoni Bowcher NEGOTIATION
Jefferson U InouyeAustraliaStephen Shaw NEGOTIATION
Juan C DarakjyIndiaElwin Sharvill PROPOSAL
Emily U PaprockiSpainBernardo Dominic QUALIFIED
Adams M VenereRussiaAnna Fali NEW
Smith S FigeroaItalyAsiya Javayant NEGOTIATION
Cody M RimArgentinaElwin Sharvill UNQUALIFIED
Emily J MaletSpainXuxue Feng QUALIFIED
Julie Z FigeroaUnited KingdomAmy Elsner NEGOTIATION
Darci D CaudyRussiaBernardo Dominic PROPOSAL
Ivar U BowleyJapanStephen Shaw UNQUALIFIED
Costa H IturbideItalyOnyama Limba NEW
Silvio R RimArgentinaElwin Sharvill PROPOSAL
Rodrigues X WaycottBrazilAmy Elsner UNQUALIFIED
Frozen Columns
Name
David A Caldarera
Leja Q Rim
Emily W Malet
Aruna C Campain
Isabel U Nicka
Izzy H Malet
Mayumi T Caudy
Jeanfrancois L Iturbide
Greenwood U Royster
Ricardo U Vocelka
Nicolas H Kusko
Johnson N Stenseth
Stacey U Garufi
Francesco P Ruta
Aditya U Nestle
Johnson B Gillian
Jeanfrancois O Garufi
Stacey L Rulapaugh
Ivar L Nestle
Arvin D Gillian
Francesco F Ruta
Cody X Rulapaugh
Maisha U Inouye
Jennifer F Stockham
Isabel Y Morasca
Aditya V Garufi
Juan Y Kolmetz
Maisha P Glick
Tony Q Campain
Claire J Bolognia
Antonio P Rim
David C Dilliard
Adams A Kolmetz
Salvatore E Stenseth
Smith D Stenseth
Juan X Doe
Francesco R Butt
Salvatore Y Morasca
Aika Y Bolognia
Ashley I Bowley
Kadeem W Gaucho
Ivar V Venere
Ashley F Venere
Aika Z Stockham
Faith R Gillian
Francesco P Gillian
Jennifer F Wieser
James E Figeroa
Smith Y Nicka
Salvatore L Caudy
IdCountryDate
1000Argentina2024-05-31
1001Canada2024-05-28
1002Italy2024-06-11
1003France2024-06-11
1004Canada2024-05-26
1005Argentina2024-06-18
1006Germany2024-06-10
1007Argentina2024-05-28
1008Italy2024-05-25
1009Russia2024-06-01
1010France2024-06-03
1011Russia2024-06-07
1012Canada2024-06-06
1013Italy2024-06-01
1014India2024-06-01
1015India2024-05-25
1016Australia2024-06-09
1017Brazil2024-05-26
1018India2024-06-19
1019Italy2024-06-19
1020Japan2024-06-04
1021Russia2024-06-09
1022Russia2024-06-05
1023Italy2024-06-16
1024India2024-06-16
1025Canada2024-06-12
1026India2024-06-21
1027Russia2024-06-14
1028Australia2024-05-24
1029India2024-06-19
1030Spain2024-05-25
1031Australia2024-05-24
1032Brazil2024-05-23
1033Canada2024-06-11
1034Japan2024-06-18
1035Germany2024-06-21
1036Canada2024-06-02
1037Australia2024-06-04
1038India2024-05-31
1039Brazil2024-06-20
1040France2024-06-07
1041France2024-05-28
1042Russia2024-06-07
1043Canada2024-05-30
1044Russia2024-06-12
1045Japan2024-06-17
1046Russia2024-05-25
1047Australia2024-06-20
1048Australia2024-05-29
1049United Kingdom2024-05-25

On-Demand Data

NameIdCountryDate
Jones Z Chui1000Australia2024-06-08
Salvatore B Rim1001Brazil2024-06-12
Claire L Caudy1002Argentina2024-06-19
Francesco K Ferencz1003United Kingdom2024-05-24
Mujtaba E Foller1004France2024-05-24
Wickens E Albares1005Canada2024-05-24
Clifford K Paprocki1006Italy2024-05-25
Wickens N Albares1007Italy2024-05-23
Tony W Paprocki1008United Kingdom2024-06-01
Jones B Paprocki1009Canada2024-05-28
Ashley Z Royster1010Italy2024-06-16
Antonio Z Perin1011Brazil2024-06-03
Isabel I Shinko1012Russia2024-06-15
Clifford E Nicka1013Germany2024-05-25
Maisha F Tollner1014Russia2024-05-28
Octavia R Bowley1015United Kingdom2024-06-13
Chavez N Rim1016India2024-06-14
Isabel X Ferencz1017Japan2024-06-05
Juan H Stenseth1018Italy2024-06-02
Juan E Schemmer1019United Kingdom2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa B DarakjyUnited KingdomBernardo Dominic UNQUALIFIED
Chavez B GlickCanadaIvan Magalhaes QUALIFIED
Morrow N TollnerItalyAmy Elsner PROPOSAL
Kadeem F CampainArgentinaElwin Sharvill NEGOTIATION
Kaitlin E NickaJapanOnyama Limba NEW
Arvin G ShinkoItalyOnyama Limba UNQUALIFIED
Kadeem A VocelkaFranceAmy Elsner NEGOTIATION
David G WhobreySpainBernardo Dominic NEGOTIATION
Chavez U MarrierCanadaStephen Shaw QUALIFIED
Wickens C RimFranceAnna Fali RENEWAL
Kadeem J MacleadFranceBernardo Dominic PROPOSAL
Stacey W WieserRussiaXuxue Feng PROPOSAL
Tony G TollnerIndiaStephen Shaw PROPOSAL
Nicolas Q NickaBrazilStephen Shaw QUALIFIED
Ivar L DilliardAustraliaStephen Shaw UNQUALIFIED
Aditya U DilliardAustraliaXuxue Feng NEW
Misaki F CaldareraSpainAmy Elsner PROPOSAL
Izzy N CampainGermanyElwin Sharvill UNQUALIFIED
Maria B NickaCanadaAmy Elsner NEGOTIATION
Faith M SchemmerGermanyAnna Fali QUALIFIED
Darci J KolmetzJapanElwin Sharvill UNQUALIFIED
Jeanfrancois Q SergiIndiaAmy Elsner NEW
Aruna J VocelkaJapanElwin Sharvill QUALIFIED
Darci O ButtIndiaAnna Fali QUALIFIED
Misaki R BowleyItalyIoni Bowcher UNQUALIFIED
Aditya V RulapaughGermanyXuxue Feng RENEWAL
Sinclair V BowleyAustraliaOnyama Limba NEGOTIATION
Antonio X MarrierAustraliaStephen Shaw PROPOSAL
Ivar U DoeJapanIoni Bowcher RENEWAL
Aika W PoquetteUnited KingdomBernardo Dominic QUALIFIED
Ivar X StensethCanadaIoni Bowcher RENEWAL
Cody G RutaSpainElwin Sharvill NEW
Juan P KuskoIndiaIvan Magalhaes NEW
David E DilliardFranceStephen Shaw QUALIFIED
Chavez Y PaprockiArgentinaIvan Magalhaes RENEWAL
Darci N BriddickCanadaBernardo Dominic UNQUALIFIED
Izzy G ButtItalyStephen Shaw NEW
Darci Z FlosiFranceIvan Magalhaes NEGOTIATION
Antonio G MorascaIndiaAsiya Javayant QUALIFIED
Faith W VocelkaCanadaIvan Magalhaes 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>