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 D ChuiRussiaOnyama Limba QUALIFIED
Wickens J TollnerSpainBernardo Dominic QUALIFIED
Juan Z GillianUnited KingdomElwin Sharvill QUALIFIED
Misaki A StensethUnited KingdomIvan Magalhaes PROPOSAL
Leja K NestleRussiaOnyama Limba NEGOTIATION
Francesco L DilliardAustraliaStephen Shaw PROPOSAL
Silvio D DoeBrazilBernardo Dominic PROPOSAL
Costa F GarufiBrazilOnyama Limba PROPOSAL
Isabel V KuskoAustraliaXuxue Feng NEGOTIATION
David C RulapaughUnited KingdomAnna Fali UNQUALIFIED
Antonio F PerinFranceElwin Sharvill UNQUALIFIED
Aditya U CaldareraIndiaAmy Elsner PROPOSAL
Aditya C BologniaRussiaAsiya Javayant RENEWAL
Munro K PerinRussiaXuxue Feng UNQUALIFIED
Murillo C ButtArgentinaStephen Shaw NEGOTIATION
Adams W BowleyGermanyElwin Sharvill PROPOSAL
Deepesh F SaylorsSpainAsiya Javayant NEW
Emily I StockhamArgentinaIoni Bowcher NEW
James E FlosiFranceXuxue Feng QUALIFIED
Darci K StensethBrazilStephen Shaw RENEWAL
Jennifer N RimFranceOnyama Limba QUALIFIED
Cody I MarrierSpainStephen Shaw UNQUALIFIED
Claire N ChuiBrazilIvan Magalhaes NEW
Mayumi M BologniaRussiaXuxue Feng NEW
Ricardo Z IturbideUnited KingdomStephen Shaw NEW
Juan V DoeAustraliaAnna Fali PROPOSAL
Julie N FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Jefferson T NestleCanadaAnna Fali UNQUALIFIED
Claire J FerenczIndiaStephen Shaw PROPOSAL
Ashley L PoquetteJapanAmy Elsner PROPOSAL
Munro N InouyeBrazilBernardo Dominic NEW
Emily S SergiBrazilXuxue Feng RENEWAL
Ivar Q RoysterRussiaIoni Bowcher UNQUALIFIED
Juan K FollerUnited KingdomAnna Fali NEW
Rodrigues L TollnerBrazilXuxue Feng RENEWAL
Silvio W PerinFranceOnyama Limba NEGOTIATION
Silvio V NestleBrazilBernardo Dominic PROPOSAL
Juan C RoysterGermanyOnyama Limba RENEWAL
Deepesh E DoeIndiaAmy Elsner PROPOSAL
Jefferson X RimArgentinaElwin Sharvill NEGOTIATION
Octavia W MaletSpainIvan Magalhaes NEW
Jones G GauchoFranceXuxue Feng PROPOSAL
Silvio G FerenczBrazilIoni Bowcher PROPOSAL
Arvin I RutaIndiaOnyama Limba NEGOTIATION
Faith X FlosiItalyXuxue Feng UNQUALIFIED
Kaitlin X AmigonCanadaBernardo Dominic NEW
Kaitlin I VenereItalyIvan Magalhaes UNQUALIFIED
Greenwood P VocelkaRussiaElwin Sharvill PROPOSAL
Stacey L GarufiUnited KingdomBernardo Dominic QUALIFIED
James G BologniaGermanyIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas V PoquetteBrazilXuxue Feng PROPOSAL
Cody W WhobreyFranceAsiya Javayant RENEWAL
Misaki P AmigonFranceAmy Elsner NEW
Misaki K MorascaGermanyStephen Shaw PROPOSAL
Clifford H WieserCanadaAnna Fali QUALIFIED
Jefferson Q DilliardFranceIvan Magalhaes QUALIFIED
Misaki U PaprockiArgentinaAsiya Javayant QUALIFIED
Tony Q WhobreyUnited KingdomAsiya Javayant NEW
Johnson C TollnerAustraliaAsiya Javayant PROPOSAL
Claire F WaycottJapanIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair W WieserGermany2024-06-07Chapman, Ross E Esq PROPOSAL92Elwin Sharvill
1001Nicolas T BologniaItaly2024-05-26King, Christopher A Esq NEW3Onyama Limba
1002Julie Y MaletItaly2024-06-08Printing Dimensions NEW95Elwin Sharvill
1003Murillo N GarufiAustralia2024-06-15Chapman, Ross E Esq QUALIFIED43Anna Fali
1004Stacey C InouyeRussia2024-06-24Rangoni Of Florence NEW45Asiya Javayant
1005Izzy K MacleadBrazil2024-06-14Rangoni Of Florence NEW59Onyama Limba
1006Aika L PerinGermany2024-06-13Printing Dimensions RENEWAL24Bernardo Dominic
1007Wickens O DarakjyRussia2024-06-15Benton, John B Jr PROPOSAL77Elwin Sharvill
1008Leja M NestleAustralia2024-06-20Rangoni Of Florence NEGOTIATION8Anna Fali
1009Ashley H SaylorsItaly2024-06-20Chemel, James L Cpa NEGOTIATION34Amy Elsner
1010Izzy R RulapaughUnited Kingdom2024-05-31King, Christopher A Esq RENEWAL10Anna Fali
1011Aruna S StensethIndia2024-06-18Rangoni Of Florence QUALIFIED56Elwin Sharvill
1012Costa P VocelkaIndia2024-05-26Dorl, James J Esq QUALIFIED76Anna Fali
1013Antonio M FlosiItaly2024-06-01Truhlar And Truhlar Attys UNQUALIFIED97Elwin Sharvill
1014Mujtaba W VenereIndia2024-06-12Feltz Printing Service QUALIFIED82Elwin Sharvill
1015Chavez Y DarakjyGermany2024-06-24King, Christopher A Esq RENEWAL3Ioni Bowcher
1016Kadeem P FerenczJapan2024-05-27Chanay, Jeffrey A Esq RENEWAL30Onyama Limba
1017Darci Q PaprockiUnited Kingdom2024-06-02Rousseaux, Michael Esq NEGOTIATION67Amy Elsner
1018Kadeem P VenereBrazil2024-06-20Feiner Bros NEW61Ioni Bowcher
1019Misaki P SaylorsArgentina2024-05-27Chemel, James L Cpa NEW50Amy Elsner
1020David Q BriddickSpain2024-06-08Chapman, Ross E Esq UNQUALIFIED41Ivan Magalhaes
1021Smith X SlusarskiRussia2024-05-31Buckley Miller Wright UNQUALIFIED1Anna Fali
1022Leja V StockhamFrance2024-06-12Buckley Miller Wright UNQUALIFIED24Xuxue Feng
1023Munro D FerenczAustralia2024-06-01King, Christopher A Esq RENEWAL97Asiya Javayant
1024Arvin U KuskoBrazil2024-05-28Buckley Miller Wright NEW70Xuxue Feng
1025Misaki H SlusarskiJapan2024-05-30Rangoni Of Florence RENEWAL6Xuxue Feng
1026Adams P RutaBrazil2024-06-21Commercial Press RENEWAL19Ioni Bowcher
1027Ashley G WhobreySpain2024-06-09Feiner Bros NEW97Elwin Sharvill
1028Jennifer L TollnerFrance2024-06-24Feltz Printing Service NEGOTIATION84Bernardo Dominic
1029Maisha U FlosiUnited Kingdom2024-06-07Chemel, James L Cpa NEGOTIATION8Elwin Sharvill
1030Maria P RoysterSpain2024-05-28Chapman, Ross E Esq UNQUALIFIED79Amy Elsner
1031Alejandro Y FerenczSpain2024-06-23Buckley Miller Wright RENEWAL33Anna Fali
1032Jennifer Z IturbideArgentina2024-06-01Chanay, Jeffrey A Esq NEGOTIATION41Onyama Limba
1033Costa F MorascaArgentina2024-06-23Buckley Miller Wright PROPOSAL96Stephen Shaw
1034Cody Q FerenczBrazil2024-06-12Morlong Associates QUALIFIED77Stephen Shaw
1035Mujtaba Q WhobreyIndia2024-05-31Commercial Press RENEWAL43Asiya Javayant
1036Mayumi G BriddickGermany2024-06-06Rangoni Of Florence PROPOSAL87Anna Fali
1037Isabel U GlickAustralia2024-05-26Commercial Press QUALIFIED51Ioni Bowcher
1038David J MacleadCanada2024-06-04Printing Dimensions NEW17Anna Fali
1039James T WaycottFrance2024-05-30Chapman, Ross E Esq UNQUALIFIED25Ioni Bowcher
1040Jeanfrancois H SaylorsFrance2024-06-17Commercial Press UNQUALIFIED94Elwin Sharvill
1041Adams M ChuiCanada2024-06-10Feiner Bros NEGOTIATION73Asiya Javayant
1042Jefferson X FerenczCanada2024-05-31Benton, John B Jr UNQUALIFIED0Elwin Sharvill
1043James D AlbaresAustralia2024-06-23Dorl, James J Esq RENEWAL45Bernardo Dominic
1044Maria N FigeroaBrazil2024-06-03Feltz Printing Service NEW1Ioni Bowcher
1045Jeanfrancois W DarakjyAustralia2024-06-04Feiner Bros NEGOTIATION54Amy Elsner
1046James V VenereBrazil2024-06-16Chemel, James L Cpa NEGOTIATION1Ioni Bowcher
1047Deepesh Y NestleUnited Kingdom2024-05-27Chapman, Ross E Esq NEW97Stephen Shaw
1048Isabel S ShinkoBrazil2024-06-04Chapman, Ross E Esq UNQUALIFIED79Ivan Magalhaes
1049Alejandro J WaycottGermany2024-06-19Morlong Associates PROPOSAL72Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Silvio D RutaArgentinaIoni Bowcher RENEWAL
Misaki Q SchemmerArgentinaBernardo Dominic PROPOSAL
Leja X ShinkoSpainAmy Elsner RENEWAL
Chavez M VocelkaArgentinaElwin Sharvill RENEWAL
Jeanfrancois C DarakjyItalyAmy Elsner QUALIFIED
Deepesh R PerinItalyAmy Elsner PROPOSAL
Clifford U AlbaresArgentinaOnyama Limba NEGOTIATION
Murillo N NickaFranceAsiya Javayant NEGOTIATION
Isabel T BologniaGermanyElwin Sharvill NEGOTIATION
Johnson Y BowleyBrazilAmy Elsner PROPOSAL
Kaitlin Y RutaUnited KingdomXuxue Feng NEW
Arvin K FlosiBrazilIoni Bowcher UNQUALIFIED
Faith X IturbideUnited KingdomBernardo Dominic QUALIFIED
Nicolas J RulapaughRussiaIvan Magalhaes UNQUALIFIED
Murillo D SergiCanadaOnyama Limba QUALIFIED
Cody S MarrierRussiaXuxue Feng UNQUALIFIED
Tony M RutaItalyAsiya Javayant QUALIFIED
Maria H RimAustraliaBernardo Dominic NEGOTIATION
Claire T VocelkaIndiaIvan Magalhaes NEGOTIATION
Chavez O SchemmerGermanyAnna Fali PROPOSAL
Jennifer K OstroskyItalyAmy Elsner NEW
Mujtaba O StensethAustraliaOnyama Limba UNQUALIFIED
Deepesh B TollnerSpainXuxue Feng NEW
Cody X PerinRussiaOnyama Limba RENEWAL
Ricardo T MorascaRussiaBernardo Dominic NEW
Ivar G WhobreyGermanyXuxue Feng RENEWAL
Izzy L BowleyArgentinaXuxue Feng UNQUALIFIED
Morrow J FlosiAustraliaAmy Elsner NEW
David C DarakjyCanadaIoni Bowcher NEW
Aditya W NestleGermanyBernardo Dominic QUALIFIED
Isabel B MarrierJapanBernardo Dominic NEW
Aruna D FlosiAustraliaStephen Shaw RENEWAL
Aditya D MaletCanadaOnyama Limba NEW
Darci Q RutaGermanyIvan Magalhaes RENEWAL
Aruna L MaletArgentinaXuxue Feng PROPOSAL
Silvio I DoeGermanyIvan Magalhaes UNQUALIFIED
Emily D ShinkoJapanOnyama Limba RENEWAL
Antonio S StockhamSpainXuxue Feng PROPOSAL
Aditya I WhobreyBrazilXuxue Feng NEGOTIATION
Kaitlin J OstroskyAustraliaXuxue Feng QUALIFIED
Isabel C MacleadGermanyAnna Fali RENEWAL
Kadeem C OstroskySpainOnyama Limba PROPOSAL
Claire U KuskoArgentinaIvan Magalhaes QUALIFIED
Isabel A RoysterUnited KingdomIvan Magalhaes PROPOSAL
Isabel U CaldareraCanadaXuxue Feng PROPOSAL
Stacey I KolmetzSpainStephen Shaw NEGOTIATION
Clifford X ButtIndiaAnna Fali QUALIFIED
Leja Z SlusarskiFranceElwin Sharvill QUALIFIED
James R MarrierCanadaIoni Bowcher NEW
Johnson O OldroydFranceAsiya Javayant NEGOTIATION
Frozen Columns
Name
Silvio M Rim
Johnson R Royster
Silvio D Caudy
Deepesh F Garufi
Adams X Schemmer
Francesco P Rim
Francesco F Doe
Smith G Shinko
Mujtaba N Bolognia
Izzy W Whobrey
David L Saylors
Aditya A Venere
Salvatore T Shinko
Cody Y Amigon
Julie I Nestle
Stacey G Chui
Jones A Waycott
Aika M Butt
Stacey U Butt
Aika A Bolognia
Clifford Z Nestle
Julie N Slusarski
Octavia I Iturbide
Mujtaba W Flosi
Jefferson A Dilliard
Clifford E Shinko
Arvin T Gaucho
Morrow Z Poquette
Costa F Kolmetz
Jones B Ruta
Darci X Rulapaugh
Silvio S Maclead
Nicolas C Venere
Mayumi O Darakjy
Munro K Perin
Izzy W Malet
Emily O Inouye
Stacey N Campain
Antonio N Gaucho
Julie J Rulapaugh
Aditya Y Gaucho
Jones X Tollner
Chavez Z Oldroyd
Murillo N Kolmetz
Octavia K Foller
Ricardo N Poquette
Faith V Marrier
Octavia A Shinko
Leon V Gaucho
Salvatore T Wieser
IdCountryDate
1000India2024-06-01
1001Italy2024-06-13
1002Spain2024-06-12
1003France2024-06-23
1004Russia2024-06-06
1005Canada2024-05-29
1006Germany2024-06-01
1007Germany2024-06-17
1008Germany2024-06-03
1009India2024-06-07
1010United Kingdom2024-06-23
1011United Kingdom2024-06-19
1012Russia2024-06-10
1013Germany2024-06-01
1014Argentina2024-06-06
1015United Kingdom2024-05-29
1016Italy2024-06-15
1017India2024-06-05
1018France2024-06-08
1019Germany2024-06-02
1020Spain2024-06-06
1021Brazil2024-05-30
1022United Kingdom2024-05-31
1023Brazil2024-06-22
1024France2024-06-23
1025Argentina2024-06-16
1026Italy2024-06-16
1027Spain2024-06-17
1028India2024-06-05
1029India2024-06-22
1030Spain2024-06-08
1031Argentina2024-05-26
1032United Kingdom2024-05-31
1033Australia2024-06-17
1034United Kingdom2024-06-17
1035India2024-06-15
1036Brazil2024-06-18
1037Italy2024-06-16
1038Spain2024-05-30
1039Italy2024-06-02
1040France2024-06-12
1041France2024-06-02
1042Australia2024-06-04
1043Australia2024-06-19
1044Russia2024-05-26
1045Russia2024-06-19
1046Brazil2024-06-17
1047Brazil2024-06-01
1048Germany2024-05-27
1049Australia2024-06-18

On-Demand Data

NameIdCountryDate
Nicolas T Waycott1000Italy2024-06-04
Arvin B Sergi1001Argentina2024-06-09
Adams L Ostrosky1002Germany2024-06-23
Jefferson E Iturbide1003United Kingdom2024-06-01
Darci E Whobrey1004Spain2024-06-22
Mujtaba Q Butt1005Argentina2024-06-11
Octavia X Ostrosky1006Argentina2024-06-02
Nicolas J Stockham1007France2024-06-02
Kadeem E Whobrey1008Argentina2024-05-30
Aruna L Garufi1009Japan2024-06-08
Maria O Whobrey1010India2024-06-18
Adams Y Saylors1011India2024-06-19
Jennifer T Inouye1012Argentina2024-06-12
Johnson M Nicka1013Italy2024-06-08
Johnson D Royster1014United Kingdom2024-06-07
Deepesh M Albares1015Japan2024-06-24
Aruna H Schemmer1016India2024-06-02
Aditya B Ruta1017Germany2024-06-14
Nicolas W Oldroyd1018United Kingdom2024-05-29
Ashley B Bolognia1019Spain2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan Z RulapaughJapanIvan Magalhaes NEGOTIATION
Munro R RulapaughBrazilBernardo Dominic QUALIFIED
Mujtaba A SergiArgentinaAnna Fali UNQUALIFIED
Chavez S OldroydFranceAnna Fali PROPOSAL
Munro F MacleadAustraliaAmy Elsner PROPOSAL
Aditya N InouyeRussiaAsiya Javayant RENEWAL
Sinclair E DoeRussiaAnna Fali NEW
Johnson V AlbaresSpainOnyama Limba PROPOSAL
Costa B AlbaresCanadaOnyama Limba PROPOSAL
Antonio B MaletUnited KingdomBernardo Dominic PROPOSAL
Aruna U CaudyRussiaElwin Sharvill NEW
Octavia X WieserUnited KingdomXuxue Feng NEGOTIATION
Alejandro T NickaGermanyIoni Bowcher RENEWAL
Jennifer V ShinkoAustraliaAnna Fali PROPOSAL
Cody N MacleadUnited KingdomAnna Fali NEGOTIATION
Adams B CampainBrazilIvan Magalhaes NEGOTIATION
Sinclair C FigeroaGermanyStephen Shaw RENEWAL
Morrow V VenereAustraliaStephen Shaw RENEWAL
Smith Q RimUnited KingdomAmy Elsner QUALIFIED
Nicolas A RutaSpainBernardo Dominic NEW
James S FigeroaIndiaStephen Shaw QUALIFIED
Munro H BriddickArgentinaXuxue Feng QUALIFIED
James A DoeBrazilIoni Bowcher UNQUALIFIED
Wickens T MaletFranceAsiya Javayant NEW
Tony I RulapaughSpainBernardo Dominic PROPOSAL
Kaitlin U KuskoFranceIoni Bowcher QUALIFIED
Costa K CaldareraRussiaBernardo Dominic UNQUALIFIED
Isabel M WieserCanadaAmy Elsner UNQUALIFIED
Stacey B GillianCanadaElwin Sharvill UNQUALIFIED
Misaki U NickaIndiaAmy Elsner UNQUALIFIED
Mujtaba X WaycottIndiaAmy Elsner NEW
Jefferson S RulapaughBrazilStephen Shaw RENEWAL
Salvatore P ChuiGermanyAmy Elsner NEGOTIATION
Mayumi L CaudyBrazilIvan Magalhaes UNQUALIFIED
James Y DarakjyUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois D NestleGermanyIvan Magalhaes PROPOSAL
Misaki G DarakjyItalyStephen Shaw RENEWAL
Tony F DarakjyArgentinaIoni Bowcher RENEWAL
Chavez I PaprockiGermanyIvan Magalhaes UNQUALIFIED
Mujtaba L CaudyBrazilIoni Bowcher 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>