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
Tony Q CampainAustraliaXuxue Feng NEGOTIATION
Tony D GauchoFranceAmy Elsner QUALIFIED
Sinclair F WaycottBrazilElwin Sharvill UNQUALIFIED
Tony I DilliardBrazilStephen Shaw PROPOSAL
James R ShinkoRussiaIoni Bowcher NEW
Emily G MaletUnited KingdomIvan Magalhaes RENEWAL
Arvin J RoysterArgentinaStephen Shaw NEGOTIATION
Murillo I FerenczFranceAnna Fali UNQUALIFIED
Costa A CampainCanadaAmy Elsner PROPOSAL
Maisha S GillianGermanyOnyama Limba RENEWAL
Jeanfrancois P AlbaresRussiaAnna Fali NEW
Julie K GillianGermanyAnna Fali NEW
Stacey D ShinkoRussiaXuxue Feng UNQUALIFIED
Alejandro M MarrierGermanyElwin Sharvill NEW
Greenwood S IturbideAustraliaAmy Elsner QUALIFIED
Isabel G FlosiIndiaAnna Fali RENEWAL
Izzy Q AlbaresAustraliaStephen Shaw NEW
Antonio Z SlusarskiItalyIoni Bowcher UNQUALIFIED
Jeanfrancois H SergiBrazilXuxue Feng UNQUALIFIED
Adams I FlosiSpainAmy Elsner PROPOSAL
Aika I SaylorsCanadaAsiya Javayant RENEWAL
Silvio N CampainUnited KingdomXuxue Feng PROPOSAL
Octavia Q SaylorsAustraliaElwin Sharvill NEGOTIATION
Jennifer L SlusarskiJapanAsiya Javayant NEW
Ricardo T MaletArgentinaAsiya Javayant NEGOTIATION
Sinclair X RimBrazilBernardo Dominic PROPOSAL
Maisha D ButtAustraliaAnna Fali QUALIFIED
Arvin E StensethBrazilXuxue Feng QUALIFIED
Maria B SaylorsArgentinaBernardo Dominic RENEWAL
Misaki V ButtItalyAnna Fali QUALIFIED
Juan B DarakjyGermanyAmy Elsner RENEWAL
Misaki U OstroskyGermanyAsiya Javayant UNQUALIFIED
Juan P TollnerBrazilOnyama Limba RENEWAL
Chavez K RoysterSpainAsiya Javayant NEGOTIATION
Maisha D SlusarskiJapanAsiya Javayant NEW
Jefferson C BowleyJapanStephen Shaw QUALIFIED
Jones C MorascaFranceXuxue Feng NEW
Costa P WieserBrazilIvan Magalhaes PROPOSAL
Stacey X OstroskyRussiaAnna Fali NEGOTIATION
Rodrigues H GlickRussiaAnna Fali NEGOTIATION
Chavez M GillianUnited KingdomElwin Sharvill NEGOTIATION
Antonio W MacleadArgentinaOnyama Limba RENEWAL
Emily W KolmetzItalyAsiya Javayant UNQUALIFIED
Mujtaba O ButtRussiaIvan Magalhaes RENEWAL
Wickens I AmigonUnited KingdomStephen Shaw NEGOTIATION
David Z FerenczFranceElwin Sharvill UNQUALIFIED
Mayumi Q FollerJapanBernardo Dominic PROPOSAL
Jeanfrancois U PerinItalyAmy Elsner NEW
Maisha W VocelkaBrazilIoni Bowcher PROPOSAL
Octavia S NestleRussiaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Tony C KolmetzBrazilAmy Elsner NEW
Maria G PerinGermanyIvan Magalhaes RENEWAL
Morrow G AlbaresJapanIvan Magalhaes RENEWAL
Maisha I FerenczCanadaOnyama Limba RENEWAL
Alejandro C WieserCanadaAnna Fali QUALIFIED
Kaitlin O KuskoBrazilStephen Shaw PROPOSAL
Costa M ButtFranceAsiya Javayant NEW
Nicolas Y BologniaBrazilAmy Elsner UNQUALIFIED
Smith B IturbideArgentinaAmy Elsner UNQUALIFIED
Salvatore P MorascaUnited KingdomStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel H SergiCanada2024-05-27Benton, John B Jr QUALIFIED98Ioni Bowcher
1001Aditya Q NickaUnited Kingdom2024-05-31Printing Dimensions NEW33Ivan Magalhaes
1002Smith F WieserJapan2024-06-08Dorl, James J Esq RENEWAL86Stephen Shaw
1003Kaitlin R MaletItaly2024-06-13Morlong Associates UNQUALIFIED75Bernardo Dominic
1004Johnson Q ShinkoIndia2024-06-14Commercial Press PROPOSAL22Amy Elsner
1005Emily G SlusarskiItaly2024-06-16Dorl, James J Esq NEW30Elwin Sharvill
1006Wickens Z RutaIndia2024-05-31Chemel, James L Cpa UNQUALIFIED38Anna Fali
1007Arvin Z BowleyGermany2024-06-04King, Christopher A Esq RENEWAL47Onyama Limba
1008Adams J GauchoCanada2024-06-15Feltz Printing Service RENEWAL87Stephen Shaw
1009Julie Q OldroydIndia2024-06-08King, Christopher A Esq QUALIFIED54Asiya Javayant
1010Kadeem L VenereBrazil2024-05-30Rousseaux, Michael Esq NEW17Ivan Magalhaes
1011Rodrigues C BriddickJapan2024-06-01Benton, John B Jr RENEWAL39Ivan Magalhaes
1012Juan U CaudyUnited Kingdom2024-06-12Chemel, James L Cpa RENEWAL90Asiya Javayant
1013Isabel I PaprockiArgentina2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED71Elwin Sharvill
1014Aditya G GlickItaly2024-05-23Chemel, James L Cpa PROPOSAL27Bernardo Dominic
1015Costa R NestleRussia2024-06-14Printing Dimensions UNQUALIFIED71Ivan Magalhaes
1016Arvin C CampainAustralia2024-05-28Chemel, James L Cpa QUALIFIED12Xuxue Feng
1017Maria P OldroydRussia2024-06-15Rangoni Of Florence NEGOTIATION75Ioni Bowcher
1018Antonio Z GauchoCanada2024-06-13Chemel, James L Cpa RENEWAL52Anna Fali
1019Wickens A MaletIndia2024-05-29Truhlar And Truhlar Attys QUALIFIED98Onyama Limba
1020Ivar Z MarrierIndia2024-05-25Dorl, James J Esq UNQUALIFIED87Anna Fali
1021Kadeem E FlosiAustralia2024-06-03Feltz Printing Service NEGOTIATION82Asiya Javayant
1022Ivar J BriddickFrance2024-05-19Rousseaux, Michael Esq NEGOTIATION47Bernardo Dominic
1023Octavia O SergiBrazil2024-05-29Dorl, James J Esq NEGOTIATION16Stephen Shaw
1024Costa T TollnerAustralia2024-05-29Commercial Press RENEWAL69Ivan Magalhaes
1025Octavia N WieserBrazil2024-06-17Truhlar And Truhlar Attys NEW23Ivan Magalhaes
1026Claire R GarufiItaly2024-05-30Dorl, James J Esq NEGOTIATION46Anna Fali
1027Octavia I StockhamFrance2024-06-17Chanay, Jeffrey A Esq PROPOSAL21Ioni Bowcher
1028Smith B SchemmerFrance2024-06-13Feiner Bros QUALIFIED70Bernardo Dominic
1029Mujtaba W RulapaughSpain2024-05-23Buckley Miller Wright UNQUALIFIED20Elwin Sharvill
1030Aika I RulapaughJapan2024-06-06Chemel, James L Cpa UNQUALIFIED62Onyama Limba
1031Costa Y SaylorsFrance2024-06-06King, Christopher A Esq NEW19Anna Fali
1032Aika H BriddickGermany2024-05-29Buckley Miller Wright UNQUALIFIED49Bernardo Dominic
1033Sinclair C PoquetteAustralia2024-06-05Rousseaux, Michael Esq RENEWAL6Amy Elsner
1034Ashley U MarrierJapan2024-06-01Chapman, Ross E Esq RENEWAL86Asiya Javayant
1035Smith O StensethAustralia2024-06-11Printing Dimensions QUALIFIED34Amy Elsner
1036Deepesh Z SergiItaly2024-06-05Rousseaux, Michael Esq QUALIFIED66Elwin Sharvill
1037Maisha A PerinJapan2024-06-06Commercial Press UNQUALIFIED46Elwin Sharvill
1038Aruna L StockhamFrance2024-06-14Feiner Bros QUALIFIED22Amy Elsner
1039Salvatore Y IturbideSpain2024-06-15Truhlar And Truhlar Attys NEW52Ivan Magalhaes
1040Sinclair L SaylorsIndia2024-06-10Chanay, Jeffrey A Esq RENEWAL59Asiya Javayant
1041Rodrigues G StensethArgentina2024-05-20Chemel, James L Cpa UNQUALIFIED83Asiya Javayant
1042Greenwood A GarufiGermany2024-05-23Rousseaux, Michael Esq NEW42Stephen Shaw
1043Johnson X KuskoAustralia2024-05-22Benton, John B Jr UNQUALIFIED54Xuxue Feng
1044Deepesh T FigeroaCanada2024-06-15Morlong Associates PROPOSAL21Onyama Limba
1045Juan Q StockhamBrazil2024-06-14Chemel, James L Cpa NEGOTIATION40Ivan Magalhaes
1046Izzy Q SchemmerItaly2024-05-28Chapman, Ross E Esq PROPOSAL4Asiya Javayant
1047Jeanfrancois U WaycottFrance2024-06-10Rangoni Of Florence QUALIFIED23Amy Elsner
1048Stacey T CaudyCanada2024-05-20Rangoni Of Florence QUALIFIED90Elwin Sharvill
1049Ricardo B StockhamUnited Kingdom2024-05-25Dorl, James J Esq NEW15Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Salvatore Y StockhamCanadaAmy Elsner RENEWAL
Murillo G NestleArgentinaAsiya Javayant UNQUALIFIED
Juan S AmigonBrazilAmy Elsner UNQUALIFIED
James D PaprockiCanadaElwin Sharvill QUALIFIED
Maisha S NickaIndiaAsiya Javayant RENEWAL
Maria Z SlusarskiJapanStephen Shaw NEW
Julie L SlusarskiRussiaStephen Shaw RENEWAL
Ivar I MaletBrazilXuxue Feng NEW
Maisha K CaudyGermanyElwin Sharvill QUALIFIED
Tony Q KolmetzGermanyOnyama Limba PROPOSAL
Costa J MaletSpainStephen Shaw RENEWAL
Isabel B CampainJapanAnna Fali RENEWAL
Francesco V GillianFranceIvan Magalhaes PROPOSAL
Aditya O BriddickSpainOnyama Limba QUALIFIED
Kadeem H WhobreyBrazilElwin Sharvill NEW
Izzy R AmigonArgentinaAsiya Javayant PROPOSAL
Francesco E MacleadJapanBernardo Dominic QUALIFIED
Misaki X ShinkoCanadaAnna Fali UNQUALIFIED
Ricardo H ShinkoIndiaAnna Fali NEW
Juan U DoeAustraliaIvan Magalhaes NEGOTIATION
Smith Y ChuiAustraliaAnna Fali NEGOTIATION
Leon J NickaRussiaAmy Elsner NEGOTIATION
Costa Z SaylorsFranceAnna Fali PROPOSAL
Greenwood I FigeroaFranceIoni Bowcher QUALIFIED
Maria I PaprockiFranceXuxue Feng NEGOTIATION
Murillo H AmigonFranceAnna Fali PROPOSAL
David P KolmetzFranceOnyama Limba NEW
Isabel P AlbaresCanadaStephen Shaw RENEWAL
Morrow Z StockhamFranceAsiya Javayant QUALIFIED
Costa L FlosiSpainAnna Fali RENEWAL
Arvin U KuskoUnited KingdomElwin Sharvill RENEWAL
Emily A OstroskyUnited KingdomBernardo Dominic NEW
Morrow S FigeroaUnited KingdomAnna Fali PROPOSAL
Ivar M WaycottSpainBernardo Dominic NEGOTIATION
Silvio R FigeroaBrazilIoni Bowcher NEGOTIATION
Julie F SchemmerBrazilIvan Magalhaes PROPOSAL
Ivar A OstroskyItalyAmy Elsner NEW
Isabel W PaprockiGermanyAnna Fali NEGOTIATION
Costa K MorascaArgentinaIoni Bowcher RENEWAL
Silvio M NickaArgentinaOnyama Limba NEGOTIATION
Juan A VocelkaIndiaIoni Bowcher PROPOSAL
Sinclair Q KolmetzCanadaXuxue Feng UNQUALIFIED
Claire K PaprockiUnited KingdomXuxue Feng RENEWAL
Wickens E MarrierBrazilStephen Shaw RENEWAL
Aika C WaycottJapanElwin Sharvill QUALIFIED
Tony R ButtBrazilElwin Sharvill PROPOSAL
Octavia I SchemmerIndiaBernardo Dominic RENEWAL
Faith N DoeCanadaXuxue Feng NEGOTIATION
Leja V AlbaresCanadaAmy Elsner PROPOSAL
Juan K MarrierSpainAnna Fali QUALIFIED
Frozen Columns
Name
Nicolas I Amigon
Ivar V Amigon
Mayumi U Waycott
Tony I Caudy
Tony U Briddick
Ashley Z Dilliard
Emily B Foller
Murillo W Ostrosky
Salvatore E Caudy
Octavia R Oldroyd
Rodrigues V Marrier
Kadeem M Flosi
James E Kolmetz
Clifford D Perin
Darci P Rim
Jeanfrancois C Caudy
Jennifer L Slusarski
Octavia N Tollner
Izzy P Ferencz
Darci O Garufi
Mayumi Q Nestle
James H Saylors
Johnson M Poquette
Kaitlin A Royster
Francesco L Slusarski
Johnson B Marrier
Arvin H Campain
Adams T Paprocki
Deepesh J Stenseth
Cody S Whobrey
Tony Z Kolmetz
Izzy L Nicka
Clifford T Poquette
Greenwood L Oldroyd
Munro Q Campain
Ashley C Slusarski
Isabel O Caudy
David Z Nestle
Jones H Gillian
Sinclair E Gillian
Leja Y Caldarera
Alejandro B Saylors
Silvio P Dilliard
Wickens L Kusko
Mujtaba N Saylors
Juan L Poquette
Octavia Q Wieser
Adams A Campain
Arvin U Wieser
Darci U Amigon
IdCountryDate
1000Germany2024-06-09
1001Argentina2024-05-22
1002Australia2024-05-21
1003Australia2024-06-09
1004Spain2024-05-21
1005Italy2024-06-11
1006France2024-05-31
1007Japan2024-05-30
1008Italy2024-05-26
1009Germany2024-06-02
1010Russia2024-05-26
1011Brazil2024-06-02
1012Japan2024-06-15
1013India2024-05-23
1014Germany2024-06-04
1015United Kingdom2024-06-13
1016Canada2024-06-07
1017France2024-05-19
1018Argentina2024-06-15
1019Canada2024-06-04
1020Canada2024-05-27
1021Russia2024-05-25
1022France2024-06-08
1023Canada2024-06-10
1024United Kingdom2024-06-01
1025Canada2024-05-19
1026United Kingdom2024-06-12
1027Canada2024-06-03
1028Japan2024-06-06
1029Spain2024-06-01
1030Canada2024-06-03
1031United Kingdom2024-05-26
1032India2024-06-06
1033Brazil2024-05-29
1034France2024-05-28
1035United Kingdom2024-05-24
1036Australia2024-06-16
1037Germany2024-05-28
1038France2024-05-20
1039Japan2024-05-27
1040United Kingdom2024-06-02
1041France2024-05-27
1042United Kingdom2024-05-27
1043Japan2024-06-12
1044Brazil2024-06-06
1045Canada2024-05-21
1046Japan2024-05-24
1047Spain2024-06-04
1048Brazil2024-06-15
1049Canada2024-06-04

On-Demand Data

NameIdCountryDate
Adams A Malet1000Canada2024-06-15
Ricardo U Whobrey1001Russia2024-05-29
Morrow X Marrier1002Japan2024-06-06
Mayumi C Sergi1003Spain2024-06-12
Ricardo M Stenseth1004Russia2024-06-06
Isabel D Doe1005Japan2024-06-13
Julie Q Foller1006Canada2024-06-09
Mujtaba M Perin1007Japan2024-05-31
Faith Z Bowley1008Italy2024-06-10
Ashley V Venere1009France2024-05-23
Rodrigues C Caldarera1010India2024-06-06
Alejandro D Whobrey1011Italy2024-06-15
Clifford Z Dilliard1012Argentina2024-06-02
Murillo V Oldroyd1013France2024-06-06
Sinclair T Darakjy1014Italy2024-06-14
Chavez Q Stockham1015Russia2024-06-01
Izzy B Gillian1016Argentina2024-06-07
Jennifer K Waycott1017United Kingdom2024-05-19
Leon R Saylors1018Canada2024-06-01
Ashley T Perin1019Germany2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh B GarufiIndiaXuxue Feng QUALIFIED
Emily W FigeroaAustraliaBernardo Dominic NEGOTIATION
Smith Q MorascaFranceOnyama Limba NEW
Clifford K SaylorsBrazilIoni Bowcher PROPOSAL
Ivar H SaylorsArgentinaIvan Magalhaes QUALIFIED
Murillo M GauchoBrazilAsiya Javayant UNQUALIFIED
Mujtaba V GarufiBrazilXuxue Feng RENEWAL
Murillo N CaudyFranceOnyama Limba NEW
Leja Q TollnerBrazilBernardo Dominic PROPOSAL
Leja V FigeroaBrazilXuxue Feng NEW
Julie J CampainRussiaAnna Fali NEW
Jeanfrancois R BologniaAustraliaIvan Magalhaes QUALIFIED
Rodrigues S CampainIndiaElwin Sharvill UNQUALIFIED
Jeanfrancois W FollerJapanOnyama Limba PROPOSAL
Kaitlin B DarakjyRussiaAmy Elsner UNQUALIFIED
Munro H MorascaIndiaAmy Elsner QUALIFIED
Salvatore Y RutaIndiaIoni Bowcher UNQUALIFIED
Smith K SaylorsArgentinaAsiya Javayant NEW
Smith I AlbaresUnited KingdomAmy Elsner QUALIFIED
Murillo S RimFranceStephen Shaw RENEWAL
Salvatore M CaudyJapanIvan Magalhaes NEGOTIATION
Antonio E BriddickRussiaElwin Sharvill RENEWAL
Tony I CaldareraGermanyStephen Shaw NEGOTIATION
Julie D BologniaRussiaAnna Fali NEGOTIATION
Kadeem Y MacleadIndiaStephen Shaw NEW
Aika G IturbideBrazilStephen Shaw QUALIFIED
Izzy M RimBrazilStephen Shaw UNQUALIFIED
Sinclair C KuskoItalyAsiya Javayant PROPOSAL
Morrow E ShinkoCanadaAsiya Javayant NEGOTIATION
Costa F DilliardSpainAnna Fali NEGOTIATION
Juan L GlickBrazilXuxue Feng QUALIFIED
Antonio N SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Darci F PaprockiAustraliaAmy Elsner NEGOTIATION
Ashley G SergiAustraliaAsiya Javayant PROPOSAL
Aika R BologniaSpainAsiya Javayant RENEWAL
Chavez S BriddickJapanXuxue Feng PROPOSAL
Emily E SaylorsCanadaBernardo Dominic PROPOSAL
James I GillianJapanOnyama Limba PROPOSAL
Mujtaba A FigeroaAustraliaXuxue Feng PROPOSAL
Leja W GauchoItalyAmy Elsner 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>