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
Darci J MarrierUnited KingdomBernardo Dominic PROPOSAL
Leja T OldroydItalyXuxue Feng QUALIFIED
Chavez T FlosiArgentinaElwin Sharvill NEGOTIATION
Maisha R GlickItalyAmy Elsner QUALIFIED
Deepesh A AlbaresRussiaStephen Shaw RENEWAL
Morrow R BowleyArgentinaAmy Elsner UNQUALIFIED
Leja K WhobreyCanadaStephen Shaw QUALIFIED
Deepesh R FollerBrazilOnyama Limba UNQUALIFIED
Mujtaba F FigeroaUnited KingdomStephen Shaw PROPOSAL
Jones Y AmigonAustraliaAnna Fali PROPOSAL
Darci H SlusarskiArgentinaAmy Elsner PROPOSAL
Salvatore I OstroskyArgentinaXuxue Feng RENEWAL
Stacey S DarakjyJapanIoni Bowcher RENEWAL
Jefferson X MacleadAustraliaStephen Shaw PROPOSAL
Ivar L StensethArgentinaAnna Fali RENEWAL
Leon K BowleyIndiaIvan Magalhaes RENEWAL
Julie H NestleIndiaBernardo Dominic RENEWAL
Emily E GillianUnited KingdomOnyama Limba QUALIFIED
Julie M NestleJapanIoni Bowcher NEGOTIATION
Jennifer P VenereBrazilIoni Bowcher NEGOTIATION
Faith E VocelkaCanadaIvan Magalhaes PROPOSAL
Nicolas O WhobreyBrazilElwin Sharvill NEGOTIATION
Silvio Y PoquetteUnited KingdomAmy Elsner PROPOSAL
Ashley O DarakjyCanadaIvan Magalhaes RENEWAL
Johnson Q BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Leon G ShinkoJapanAnna Fali PROPOSAL
Leja O TollnerItalyOnyama Limba NEW
Aika G OldroydAustraliaXuxue Feng NEGOTIATION
Maisha P MarrierGermanyBernardo Dominic QUALIFIED
Jeanfrancois F FollerSpainOnyama Limba RENEWAL
Maisha Y SlusarskiCanadaIvan Magalhaes NEW
Clifford V OldroydGermanyAnna Fali NEGOTIATION
Ricardo O VocelkaGermanyBernardo Dominic RENEWAL
Leon I StockhamBrazilAnna Fali QUALIFIED
Aditya L MaletIndiaElwin Sharvill RENEWAL
Jones Q SlusarskiIndiaElwin Sharvill RENEWAL
Ashley A DilliardJapanIoni Bowcher NEW
Costa D DilliardSpainIoni Bowcher NEW
Mayumi U MaletCanadaElwin Sharvill NEW
Johnson M StockhamIndiaElwin Sharvill PROPOSAL
Ivar E CaldareraSpainOnyama Limba NEGOTIATION
Aruna X MorascaFranceAsiya Javayant NEGOTIATION
Wickens W WieserArgentinaIoni Bowcher QUALIFIED
Aditya T WhobreyArgentinaXuxue Feng UNQUALIFIED
Darci J PaprockiBrazilIoni Bowcher PROPOSAL
Cody I KolmetzSpainAnna Fali QUALIFIED
Smith P MorascaRussiaAsiya Javayant NEGOTIATION
Izzy D FlosiArgentinaIvan Magalhaes NEW
Octavia B AmigonGermanyIoni Bowcher QUALIFIED
Leon W StensethJapanAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody S PerinCanadaStephen Shaw RENEWAL
Aditya V SergiUnited KingdomIvan Magalhaes UNQUALIFIED
Adams F BriddickGermanyIvan Magalhaes RENEWAL
Salvatore O PoquetteItalyElwin Sharvill PROPOSAL
Octavia N DoeIndiaStephen Shaw RENEWAL
Alejandro S WieserCanadaElwin Sharvill PROPOSAL
Antonio I FlosiCanadaXuxue Feng NEGOTIATION
Misaki M GauchoSpainStephen Shaw UNQUALIFIED
Stacey R CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Nicolas Q RoysterBrazilAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio Z RulapaughBrazil2024-06-23Truhlar And Truhlar Attys NEW0Onyama Limba
1001Juan V PaprockiItaly2024-06-17Buckley Miller Wright NEGOTIATION79Elwin Sharvill
1002Wickens U MarrierFrance2024-06-11Commercial Press NEGOTIATION74Ivan Magalhaes
1003Clifford A BriddickJapan2024-06-12Chanay, Jeffrey A Esq QUALIFIED65Asiya Javayant
1004Adams B NestleIndia2024-06-08Benton, John B Jr RENEWAL15Stephen Shaw
1005Aditya E BriddickArgentina2024-06-09Printing Dimensions PROPOSAL40Xuxue Feng
1006Leja O SergiIndia2024-06-01Chemel, James L Cpa RENEWAL35Anna Fali
1007Sinclair I RutaUnited Kingdom2024-06-21Rousseaux, Michael Esq RENEWAL58Anna Fali
1008Aruna B FigeroaSpain2024-05-28Dorl, James J Esq NEGOTIATION79Xuxue Feng
1009Kaitlin L GauchoFrance2024-06-04Chemel, James L Cpa PROPOSAL93Asiya Javayant
1010Alejandro W KolmetzCanada2024-06-21Buckley Miller Wright NEW57Ioni Bowcher
1011Jennifer P BowleyIndia2024-06-15Dorl, James J Esq UNQUALIFIED46Elwin Sharvill
1012Sinclair G PoquetteIndia2024-06-18Rangoni Of Florence NEW59Amy Elsner
1013Munro Z KuskoSpain2024-06-07Commercial Press QUALIFIED32Anna Fali
1014Mayumi L DoeAustralia2024-06-18Feltz Printing Service RENEWAL44Onyama Limba
1015Mayumi K OstroskyArgentina2024-06-10Morlong Associates RENEWAL4Onyama Limba
1016Kaitlin Z ChuiCanada2024-06-18Feiner Bros UNQUALIFIED2Elwin Sharvill
1017Juan U ShinkoIndia2024-05-28Benton, John B Jr QUALIFIED18Amy Elsner
1018Aika P PerinGermany2024-06-03Morlong Associates NEW77Ioni Bowcher
1019Murillo V RulapaughJapan2024-06-02King, Christopher A Esq PROPOSAL15Ivan Magalhaes
1020Stacey U OldroydJapan2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED20Ivan Magalhaes
1021Leja H AlbaresIndia2024-06-17Rangoni Of Florence RENEWAL60Ioni Bowcher
1022Jones E WaycottSpain2024-05-31Truhlar And Truhlar Attys NEW44Onyama Limba
1023Faith B KuskoIndia2024-05-31Rousseaux, Michael Esq RENEWAL89Anna Fali
1024Aditya N OldroydIndia2024-05-29Printing Dimensions UNQUALIFIED42Stephen Shaw
1025Juan D TollnerGermany2024-06-23King, Christopher A Esq QUALIFIED32Bernardo Dominic
1026James W RimFrance2024-06-03Commercial Press QUALIFIED60Anna Fali
1027Ricardo S DilliardCanada2024-06-22Truhlar And Truhlar Attys PROPOSAL87Anna Fali
1028Jefferson Y GarufiIndia2024-06-10Dorl, James J Esq PROPOSAL15Anna Fali
1029Mayumi M GauchoGermany2024-06-16Printing Dimensions NEW50Asiya Javayant
1030Salvatore T DarakjyFrance2024-05-26Benton, John B Jr NEW20Onyama Limba
1031Ashley R BologniaItaly2024-06-05Morlong Associates NEGOTIATION40Ivan Magalhaes
1032Mayumi Q MaletIndia2024-05-27Rangoni Of Florence NEGOTIATION92Elwin Sharvill
1033Maria D FerenczJapan2024-06-16King, Christopher A Esq NEW64Bernardo Dominic
1034Izzy Z StockhamUnited Kingdom2024-05-30Dorl, James J Esq NEGOTIATION25Onyama Limba
1035Arvin I PoquetteGermany2024-06-21Chapman, Ross E Esq NEW46Ioni Bowcher
1036Stacey E BologniaAustralia2024-06-21Commercial Press PROPOSAL89Ioni Bowcher
1037Johnson E MaletUnited Kingdom2024-05-27Buckley Miller Wright NEGOTIATION12Anna Fali
1038Maria E WhobreyUnited Kingdom2024-06-19Rousseaux, Michael Esq PROPOSAL41Ivan Magalhaes
1039Aditya R MaletSpain2024-06-14Feltz Printing Service RENEWAL64Asiya Javayant
1040Cody O ButtArgentina2024-05-31Chanay, Jeffrey A Esq PROPOSAL35Amy Elsner
1041Jennifer X KuskoGermany2024-06-04Feiner Bros PROPOSAL31Bernardo Dominic
1042Kaitlin O RimCanada2024-05-30Chapman, Ross E Esq QUALIFIED30Bernardo Dominic
1043Kaitlin D MacleadItaly2024-06-09Buckley Miller Wright RENEWAL51Amy Elsner
1044Kadeem R WieserCanada2024-06-20Dorl, James J Esq NEW32Amy Elsner
1045Tony V TollnerFrance2024-06-14Morlong Associates UNQUALIFIED57Ioni Bowcher
1046Leon O InouyeItaly2024-06-04Buckley Miller Wright NEW37Asiya Javayant
1047David B TollnerRussia2024-06-02Morlong Associates QUALIFIED82Onyama Limba
1048Jones Z FollerIndia2024-06-20Printing Dimensions PROPOSAL8Bernardo Dominic
1049Juan L ButtItaly2024-05-30Printing Dimensions NEGOTIATION3Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Nicolas N CaudyRussiaOnyama Limba QUALIFIED
Isabel G OldroydJapanStephen Shaw UNQUALIFIED
Jennifer K OldroydBrazilAnna Fali NEGOTIATION
Octavia J WhobreyItalyIoni Bowcher PROPOSAL
Claire L GillianJapanBernardo Dominic PROPOSAL
Claire A SchemmerRussiaAmy Elsner NEGOTIATION
Leja K PoquetteJapanIoni Bowcher UNQUALIFIED
Kaitlin G RoysterBrazilAmy Elsner PROPOSAL
Smith D GarufiGermanyXuxue Feng NEGOTIATION
Stacey Q GillianUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues E RimAustraliaOnyama Limba RENEWAL
Kaitlin Z WieserItalyStephen Shaw UNQUALIFIED
Wickens S SlusarskiIndiaOnyama Limba UNQUALIFIED
Aditya Q TollnerSpainIvan Magalhaes NEW
Isabel B ShinkoJapanAsiya Javayant QUALIFIED
Silvio J FigeroaGermanyElwin Sharvill RENEWAL
Mayumi X ChuiBrazilXuxue Feng RENEWAL
Faith B MacleadJapanIvan Magalhaes NEGOTIATION
Emily D FlosiFranceAmy Elsner QUALIFIED
James W GillianRussiaAmy Elsner QUALIFIED
Sinclair O MaletItalyAsiya Javayant UNQUALIFIED
Costa H GillianAustraliaIvan Magalhaes NEGOTIATION
Morrow M ButtIndiaOnyama Limba PROPOSAL
Jeanfrancois V BowleyUnited KingdomAnna Fali NEW
Maria H GlickUnited KingdomIoni Bowcher NEW
Aika S WhobreyUnited KingdomStephen Shaw NEW
Izzy A ChuiUnited KingdomOnyama Limba NEW
Nicolas P RimRussiaBernardo Dominic NEGOTIATION
Clifford W CaldareraItalyIvan Magalhaes NEW
Costa F PaprockiSpainAsiya Javayant QUALIFIED
Salvatore E FigeroaJapanBernardo Dominic PROPOSAL
Rodrigues R VocelkaAustraliaAnna Fali QUALIFIED
Salvatore B PerinAustraliaAsiya Javayant NEGOTIATION
Isabel D FlosiUnited KingdomIoni Bowcher NEGOTIATION
Misaki Y OstroskyRussiaOnyama Limba PROPOSAL
Maria O KolmetzJapanIoni Bowcher QUALIFIED
Antonio Z CaldareraArgentinaAmy Elsner NEW
Darci L NickaJapanXuxue Feng NEGOTIATION
Darci S KuskoSpainAsiya Javayant RENEWAL
Chavez X WhobreyJapanStephen Shaw PROPOSAL
Silvio A WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo V StensethGermanyIoni Bowcher NEW
Chavez U AmigonBrazilXuxue Feng UNQUALIFIED
Adams P RutaBrazilElwin Sharvill NEGOTIATION
Antonio D MacleadCanadaBernardo Dominic NEGOTIATION
Clifford F PaprockiRussiaIvan Magalhaes NEGOTIATION
Claire H CaudyFranceXuxue Feng PROPOSAL
Jeanfrancois V CaudyGermanyIvan Magalhaes PROPOSAL
Maisha R CampainItalyOnyama Limba UNQUALIFIED
Jefferson D GarufiGermanyAmy Elsner QUALIFIED
Frozen Columns
Name
Julie X Waycott
Stacey Q Whobrey
Aika E Waycott
Kaitlin R Malet
Kadeem Z Darakjy
Ivar A Figeroa
James I Chui
Emily S Rim
Wickens T Glick
Adams J Doe
Ricardo S Bolognia
Jones R Nicka
Stacey E Rulapaugh
Aditya X Malet
Jefferson Y Caudy
Ashley T Foller
Johnson F Garufi
Morrow U Maclead
Antonio L Waycott
Chavez M Chui
Silvio B Darakjy
Jefferson E Rulapaugh
Jeanfrancois G Tollner
Smith V Maclead
Aruna A Amigon
Adams J Shinko
Silvio Z Foller
Stacey A Campain
Kaitlin D Stockham
Arvin A Stenseth
Jones T Tollner
Antonio F Rim
Arvin V Poquette
Ivar Q Rim
Aruna Y Venere
Murillo W Maclead
Aditya F Tollner
Leja F Kusko
Chavez H Gaucho
Wickens C Kusko
Aika O Foller
James G Schemmer
Francesco H Malet
Maisha P Saylors
Clifford U Wieser
Ivar A Schemmer
Leon H Bowley
Murillo D Caudy
Johnson E Vocelka
Isabel Y Marrier
IdCountryDate
1000United Kingdom2024-06-20
1001Germany2024-05-31
1002Japan2024-06-16
1003United Kingdom2024-05-25
1004Australia2024-06-08
1005Russia2024-06-02
1006Italy2024-06-07
1007Australia2024-06-19
1008Japan2024-06-01
1009Russia2024-06-21
1010Russia2024-06-17
1011Brazil2024-05-30
1012Brazil2024-06-05
1013Canada2024-06-23
1014Spain2024-06-09
1015Brazil2024-06-06
1016Spain2024-05-27
1017Brazil2024-06-13
1018Brazil2024-06-19
1019Brazil2024-06-11
1020Canada2024-06-17
1021Australia2024-06-03
1022Argentina2024-06-05
1023Italy2024-06-19
1024India2024-06-08
1025Germany2024-06-20
1026Germany2024-05-29
1027Germany2024-06-08
1028United Kingdom2024-06-21
1029India2024-06-23
1030Argentina2024-06-03
1031Argentina2024-06-13
1032Italy2024-06-18
1033Brazil2024-06-11
1034United Kingdom2024-06-15
1035United Kingdom2024-06-22
1036India2024-05-28
1037Argentina2024-06-16
1038Russia2024-06-22
1039France2024-06-16
1040Japan2024-05-28
1041Russia2024-06-01
1042France2024-05-25
1043Japan2024-06-01
1044Argentina2024-05-29
1045Brazil2024-06-13
1046Germany2024-06-12
1047Spain2024-06-10
1048India2024-06-09
1049Japan2024-06-20

On-Demand Data

NameIdCountryDate
Jennifer G Figeroa1000Japan2024-06-21
Murillo W Nestle1001Spain2024-06-22
Munro E Bolognia1002Italy2024-06-09
Stacey S Shinko1003Russia2024-05-26
Francesco C Foller1004India2024-06-08
Sinclair R Vocelka1005India2024-05-29
Alejandro D Morasca1006Australia2024-06-10
Mayumi K Waycott1007Japan2024-05-31
Jones G Dilliard1008France2024-06-22
Sinclair Z Vocelka1009Spain2024-06-23
Jeanfrancois G Sergi1010Japan2024-06-07
Isabel J Morasca1011Japan2024-05-27
Leon V Bowley1012Australia2024-06-21
Jeanfrancois U Schemmer1013Argentina2024-06-15
Nicolas V Doe1014Canada2024-06-13
Leon N Schemmer1015Spain2024-06-09
Jones Y Foller1016Spain2024-06-22
Murillo V Slusarski1017Australia2024-06-01
Aika F Poquette1018Japan2024-06-10
Antonio V Kusko1019United Kingdom2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones X StockhamGermanyOnyama Limba UNQUALIFIED
Morrow F PoquetteItalyStephen Shaw UNQUALIFIED
Stacey E FollerCanadaAsiya Javayant PROPOSAL
Jennifer Z WaycottAustraliaAnna Fali NEW
Silvio I MarrierBrazilAnna Fali NEGOTIATION
Maisha Q OstroskyIndiaXuxue Feng NEGOTIATION
Izzy V GauchoUnited KingdomAnna Fali NEW
Antonio K NestleArgentinaXuxue Feng PROPOSAL
Chavez K DilliardAustraliaStephen Shaw UNQUALIFIED
David Y CaudyIndiaIvan Magalhaes QUALIFIED
Salvatore A PerinItalyAnna Fali NEGOTIATION
Stacey O RimCanadaIoni Bowcher QUALIFIED
Kadeem H FlosiAustraliaOnyama Limba NEW
Smith N SchemmerAustraliaBernardo Dominic NEGOTIATION
Aika Q BowleyGermanyAsiya Javayant NEGOTIATION
David V WhobreyBrazilAnna Fali NEW
Aruna T InouyeBrazilXuxue Feng PROPOSAL
Rodrigues J GlickJapanBernardo Dominic QUALIFIED
Wickens W ButtJapanElwin Sharvill PROPOSAL
Ashley M CaldareraArgentinaAnna Fali RENEWAL
Ivar J ChuiItalyOnyama Limba PROPOSAL
Nicolas C PerinCanadaAnna Fali NEGOTIATION
Maisha T WhobreyRussiaStephen Shaw QUALIFIED
Misaki J SlusarskiSpainStephen Shaw NEGOTIATION
Kadeem D TollnerBrazilStephen Shaw RENEWAL
Deepesh U FerenczArgentinaXuxue Feng NEGOTIATION
Deepesh S VenereCanadaAsiya Javayant UNQUALIFIED
Aditya E MacleadAustraliaIvan Magalhaes NEGOTIATION
Jennifer W KuskoIndiaBernardo Dominic UNQUALIFIED
Mujtaba Q SchemmerRussiaIoni Bowcher QUALIFIED
Adams A NickaArgentinaStephen Shaw PROPOSAL
Julie C CampainFranceStephen Shaw NEGOTIATION
Kaitlin V KuskoSpainBernardo Dominic NEGOTIATION
James Y PoquetteAustraliaAsiya Javayant UNQUALIFIED
Clifford M StensethFranceStephen Shaw NEGOTIATION
Munro N KuskoGermanyAnna Fali QUALIFIED
Francesco X NestleFranceAnna Fali NEGOTIATION
Aruna P CaldareraRussiaAmy Elsner PROPOSAL
Juan F SergiJapanXuxue Feng NEGOTIATION
Johnson B VocelkaFranceIvan Magalhaes 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>