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
Chavez C WaycottAustraliaOnyama Limba QUALIFIED
Morrow P StockhamBrazilBernardo Dominic UNQUALIFIED
Jefferson I SchemmerBrazilAsiya Javayant UNQUALIFIED
Leon C KolmetzRussiaAnna Fali NEW
Juan A PoquetteAustraliaXuxue Feng UNQUALIFIED
Jennifer D VocelkaIndiaIoni Bowcher RENEWAL
Maria T WhobreyGermanyAnna Fali NEGOTIATION
Jefferson O CampainAustraliaOnyama Limba RENEWAL
Greenwood D ButtAustraliaAnna Fali PROPOSAL
Mayumi J ButtSpainXuxue Feng NEW
Leon U GillianFranceAmy Elsner UNQUALIFIED
Clifford K GauchoBrazilAsiya Javayant NEW
Leon O GillianRussiaBernardo Dominic NEW
Julie I MaletRussiaAsiya Javayant NEW
Jennifer T BologniaUnited KingdomAsiya Javayant NEGOTIATION
Rodrigues C VocelkaJapanBernardo Dominic NEGOTIATION
Murillo G MacleadIndiaIoni Bowcher NEGOTIATION
David M CaldareraCanadaElwin Sharvill RENEWAL
Mayumi T FollerRussiaOnyama Limba NEW
Tony O KolmetzCanadaAsiya Javayant NEW
Emily A IturbideAustraliaAsiya Javayant QUALIFIED
Misaki P GlickFranceBernardo Dominic NEGOTIATION
Arvin W CaudyIndiaXuxue Feng QUALIFIED
Arvin S SlusarskiItalyAsiya Javayant QUALIFIED
James V VocelkaGermanyXuxue Feng PROPOSAL
Clifford K GlickArgentinaIvan Magalhaes QUALIFIED
Arvin F RulapaughArgentinaXuxue Feng PROPOSAL
Rodrigues T WhobreyFranceIoni Bowcher NEW
Kadeem F DilliardSpainElwin Sharvill NEW
Alejandro N StockhamUnited KingdomXuxue Feng QUALIFIED
Chavez C PerinCanadaBernardo Dominic RENEWAL
Morrow Z KuskoIndiaIvan Magalhaes QUALIFIED
Francesco R KuskoFranceOnyama Limba QUALIFIED
Mayumi R GillianSpainOnyama Limba NEGOTIATION
Adams F FollerFranceStephen Shaw RENEWAL
Sinclair W GarufiItalyAmy Elsner NEW
Claire Z VenereBrazilAmy Elsner QUALIFIED
Emily T PoquetteItalyIvan Magalhaes QUALIFIED
Maisha A GarufiRussiaStephen Shaw RENEWAL
Julie M MaletGermanyElwin Sharvill QUALIFIED
Leja F FerenczSpainElwin Sharvill RENEWAL
Munro G VocelkaUnited KingdomElwin Sharvill UNQUALIFIED
Francesco T WhobreyGermanyAsiya Javayant QUALIFIED
Leja B RimBrazilAsiya Javayant NEW
Antonio J BriddickIndiaAmy Elsner NEGOTIATION
Leon G VocelkaCanadaStephen Shaw UNQUALIFIED
Faith G AmigonGermanyIvan Magalhaes QUALIFIED
Leja T MaletJapanIoni Bowcher PROPOSAL
Stacey P PerinJapanIoni Bowcher PROPOSAL
Izzy A ButtRussiaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Alejandro S DilliardIndiaBernardo Dominic PROPOSAL
Murillo Z PaprockiRussiaIoni Bowcher UNQUALIFIED
Jennifer G StockhamRussiaAmy Elsner UNQUALIFIED
Francesco R SlusarskiArgentinaIoni Bowcher PROPOSAL
Silvio A GillianGermanyOnyama Limba PROPOSAL
Arvin K WaycottArgentinaAnna Fali UNQUALIFIED
Nicolas Y ButtArgentinaAmy Elsner QUALIFIED
Octavia X CaudySpainElwin Sharvill UNQUALIFIED
Claire C MorascaUnited KingdomXuxue Feng QUALIFIED
Octavia I WaycottFranceIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco Z GillianArgentina2024-06-14King, Christopher A Esq RENEWAL74Ioni Bowcher
1001Rodrigues C GlickAustralia2024-06-10King, Christopher A Esq PROPOSAL33Anna Fali
1002Nicolas E CaldareraItaly2024-06-08Feltz Printing Service RENEWAL50Bernardo Dominic
1003Costa Q ButtCanada2024-06-17Dorl, James J Esq NEW56Onyama Limba
1004Leja Z AlbaresGermany2024-05-30King, Christopher A Esq UNQUALIFIED2Anna Fali
1005Greenwood T BriddickCanada2024-06-18Rousseaux, Michael Esq PROPOSAL80Bernardo Dominic
1006Alejandro W OldroydUnited Kingdom2024-06-16Commercial Press RENEWAL30Anna Fali
1007Kadeem E PoquetteFrance2024-06-15Chanay, Jeffrey A Esq RENEWAL4Xuxue Feng
1008Costa M StockhamAustralia2024-06-03Truhlar And Truhlar Attys QUALIFIED20Ioni Bowcher
1009Jeanfrancois X SchemmerRussia2024-06-11Printing Dimensions PROPOSAL76Amy Elsner
1010Jeanfrancois M FollerCanada2024-06-03Commercial Press NEGOTIATION11Stephen Shaw
1011Emily W KuskoBrazil2024-05-30Chemel, James L Cpa PROPOSAL99Elwin Sharvill
1012Francesco L SchemmerJapan2024-06-22Feltz Printing Service UNQUALIFIED7Onyama Limba
1013James B OstroskyUnited Kingdom2024-06-02Rousseaux, Michael Esq PROPOSAL9Ioni Bowcher
1014Leja J AmigonJapan2024-06-17Truhlar And Truhlar Attys QUALIFIED25Asiya Javayant
1015Johnson M RoysterSpain2024-06-15Benton, John B Jr PROPOSAL16Ivan Magalhaes
1016Leja M NestleItaly2024-05-29King, Christopher A Esq QUALIFIED6Ioni Bowcher
1017James D ChuiFrance2024-06-23Printing Dimensions NEW72Xuxue Feng
1018Leon H WhobreyBrazil2024-05-30Buckley Miller Wright QUALIFIED82Anna Fali
1019Clifford J InouyeGermany2024-06-22Rangoni Of Florence PROPOSAL22Stephen Shaw
1020Wickens W RoysterItaly2024-06-14King, Christopher A Esq UNQUALIFIED14Asiya Javayant
1021Emily D DoeItaly2024-06-02Chanay, Jeffrey A Esq NEW78Anna Fali
1022Izzy D GillianIndia2024-06-20Truhlar And Truhlar Attys NEGOTIATION89Anna Fali
1023Greenwood K CaudyAustralia2024-05-30Buckley Miller Wright NEGOTIATION90Anna Fali
1024Claire L WaycottCanada2024-05-28Truhlar And Truhlar Attys PROPOSAL46Ioni Bowcher
1025Isabel F MarrierSpain2024-06-21Chemel, James L Cpa PROPOSAL35Onyama Limba
1026Aika R NestleUnited Kingdom2024-06-06Chapman, Ross E Esq QUALIFIED45Anna Fali
1027Julie X PoquetteItaly2024-05-30Rangoni Of Florence NEW50Anna Fali
1028Cody X StensethItaly2024-05-25Truhlar And Truhlar Attys NEGOTIATION76Amy Elsner
1029Leon W PaprockiFrance2024-06-06Dorl, James J Esq NEW14Amy Elsner
1030Chavez H DoeJapan2024-06-04Commercial Press RENEWAL63Ioni Bowcher
1031Murillo F OstroskyFrance2024-05-30Chemel, James L Cpa RENEWAL85Elwin Sharvill
1032Smith L GlickArgentina2024-06-14Buckley Miller Wright UNQUALIFIED13Xuxue Feng
1033Kadeem X SergiFrance2024-05-29King, Christopher A Esq UNQUALIFIED22Amy Elsner
1034Greenwood K BriddickBrazil2024-06-04Morlong Associates NEW73Onyama Limba
1035Rodrigues P FollerFrance2024-06-03Printing Dimensions RENEWAL35Xuxue Feng
1036Chavez J FerenczFrance2024-05-25Rousseaux, Michael Esq RENEWAL17Xuxue Feng
1037Aditya H FigeroaBrazil2024-06-06Morlong Associates PROPOSAL56Ivan Magalhaes
1038Juan S OldroydBrazil2024-06-03Chemel, James L Cpa NEW57Elwin Sharvill
1039Cody X GillianAustralia2024-06-16Chanay, Jeffrey A Esq QUALIFIED37Amy Elsner
1040Antonio U AlbaresBrazil2024-06-16Truhlar And Truhlar Attys NEW48Elwin Sharvill
1041Rodrigues M PoquetteJapan2024-06-08Chemel, James L Cpa UNQUALIFIED87Ioni Bowcher
1042James K OstroskyRussia2024-06-10Printing Dimensions QUALIFIED13Elwin Sharvill
1043Tony W GauchoCanada2024-06-16Dorl, James J Esq NEGOTIATION41Elwin Sharvill
1044Ricardo C CaudyBrazil2024-06-04Truhlar And Truhlar Attys RENEWAL99Stephen Shaw
1045Murillo O FerenczCanada2024-06-14Feiner Bros NEGOTIATION3Stephen Shaw
1046Smith A PerinBrazil2024-06-07Dorl, James J Esq NEGOTIATION90Anna Fali
1047Greenwood P GillianCanada2024-06-14Rangoni Of Florence PROPOSAL86Anna Fali
1048Munro H InouyeJapan2024-06-08Feiner Bros RENEWAL65Anna Fali
1049Wickens R FigeroaAustralia2024-06-05Printing Dimensions NEW72Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maisha U DilliardBrazilIvan Magalhaes PROPOSAL
Adams Q FigeroaSpainAnna Fali QUALIFIED
Maria M VenereItalyIvan Magalhaes RENEWAL
Mayumi A NickaRussiaOnyama Limba PROPOSAL
Claire I InouyeArgentinaXuxue Feng RENEWAL
Sinclair A MaletRussiaIvan Magalhaes QUALIFIED
Aika M MorascaItalyAmy Elsner PROPOSAL
Maisha D GlickIndiaAnna Fali NEGOTIATION
Munro B MarrierAustraliaBernardo Dominic PROPOSAL
Aika V FollerCanadaXuxue Feng UNQUALIFIED
Deepesh J KolmetzSpainAsiya Javayant NEGOTIATION
Salvatore C BriddickGermanyXuxue Feng QUALIFIED
Leon D FerenczItalyIoni Bowcher NEGOTIATION
Leon F IturbideJapanIvan Magalhaes PROPOSAL
Sinclair V DilliardFranceBernardo Dominic NEW
David U CaudySpainElwin Sharvill UNQUALIFIED
Antonio V MorascaItalyAmy Elsner RENEWAL
Murillo R BowleyAustraliaElwin Sharvill NEGOTIATION
Faith D OldroydIndiaAsiya Javayant RENEWAL
Clifford H GlickSpainElwin Sharvill UNQUALIFIED
Clifford X OldroydSpainAsiya Javayant PROPOSAL
Ivar N KolmetzBrazilIoni Bowcher PROPOSAL
Cody D FlosiArgentinaIoni Bowcher QUALIFIED
Greenwood Z PaprockiUnited KingdomOnyama Limba NEGOTIATION
David Y BowleyFranceAsiya Javayant NEGOTIATION
Antonio G IturbideBrazilAsiya Javayant RENEWAL
Mujtaba L SchemmerAustraliaOnyama Limba UNQUALIFIED
Sinclair U MarrierAustraliaElwin Sharvill UNQUALIFIED
Leja J ButtUnited KingdomStephen Shaw QUALIFIED
Murillo O GauchoItalyIvan Magalhaes RENEWAL
Silvio P MorascaItalyIoni Bowcher QUALIFIED
Salvatore H TollnerArgentinaOnyama Limba UNQUALIFIED
Ivar G BologniaUnited KingdomOnyama Limba PROPOSAL
Aruna N BowleyRussiaAmy Elsner RENEWAL
Jennifer W DoeUnited KingdomXuxue Feng UNQUALIFIED
Ricardo H FlosiArgentinaXuxue Feng PROPOSAL
Maria K TollnerFranceAmy Elsner NEW
Jeanfrancois X RimFranceAsiya Javayant UNQUALIFIED
Ivar J OldroydGermanyElwin Sharvill NEGOTIATION
Munro U KuskoAustraliaXuxue Feng QUALIFIED
Smith S MarrierRussiaAmy Elsner PROPOSAL
Clifford X VenereSpainBernardo Dominic NEW
Arvin G InouyeSpainAmy Elsner UNQUALIFIED
Izzy S MaletAustraliaOnyama Limba UNQUALIFIED
Darci E WaycottArgentinaAmy Elsner NEGOTIATION
Cody F RimCanadaOnyama Limba PROPOSAL
David N BologniaSpainAnna Fali RENEWAL
Johnson Y InouyeUnited KingdomBernardo Dominic RENEWAL
Darci A RutaGermanyStephen Shaw RENEWAL
Greenwood Q DarakjyFranceXuxue Feng QUALIFIED
Frozen Columns
Name
Salvatore M Butt
Aika C Iturbide
Silvio V Malet
Emily V Foller
Faith K Waycott
Jennifer X Nestle
Ricardo H Nicka
Johnson S Amigon
Mayumi Y Dilliard
Aditya R Inouye
Silvio T Darakjy
Jennifer V Wieser
Johnson G Kolmetz
Maria C Kusko
Greenwood K Stockham
Costa L Briddick
Mayumi V Glick
Murillo W Bowley
Leon O Whobrey
Munro N Nicka
Jeanfrancois P Ferencz
Mujtaba M Flosi
Munro L Amigon
Faith F Schemmer
Jeanfrancois C Nestle
Alejandro V Stockham
Aruna I Slusarski
Sinclair S Poquette
Emily A Bolognia
Silvio P Saylors
Cody J Foller
Darci I Figeroa
Maria J Ostrosky
Greenwood L Doe
Mayumi F Inouye
Nicolas H Caudy
Jones I Briddick
Izzy S Rulapaugh
Aditya O Schemmer
Jefferson Y Caldarera
Silvio V Figeroa
Jeanfrancois Z Poquette
Nicolas P Caldarera
Jefferson P Gillian
Murillo N Kolmetz
David R Sergi
Misaki L Gillian
Rodrigues B Poquette
Maisha Q Dilliard
Darci O Rulapaugh
IdCountryDate
1000Canada2024-05-31
1001Spain2024-06-04
1002Italy2024-06-02
1003Italy2024-06-09
1004India2024-06-17
1005India2024-06-04
1006India2024-05-27
1007Italy2024-06-06
1008Spain2024-06-05
1009Brazil2024-05-28
1010Argentina2024-06-19
1011Spain2024-05-27
1012Japan2024-06-06
1013Australia2024-05-25
1014Australia2024-06-12
1015Italy2024-06-22
1016France2024-06-16
1017Spain2024-06-04
1018Argentina2024-06-09
1019United Kingdom2024-06-18
1020Russia2024-06-10
1021Spain2024-06-14
1022India2024-06-01
1023Japan2024-06-11
1024Germany2024-06-05
1025Germany2024-06-06
1026Germany2024-05-28
1027Argentina2024-06-18
1028Canada2024-05-31
1029Brazil2024-06-19
1030United Kingdom2024-06-10
1031Italy2024-06-07
1032Australia2024-06-10
1033Japan2024-06-22
1034Argentina2024-06-03
1035Argentina2024-06-18
1036France2024-06-09
1037Spain2024-06-04
1038India2024-06-03
1039Canada2024-06-01
1040Germany2024-05-26
1041Australia2024-06-08
1042Japan2024-05-25
1043India2024-05-29
1044Canada2024-06-10
1045France2024-06-11
1046Germany2024-06-13
1047Italy2024-06-20
1048Argentina2024-06-23
1049India2024-06-21

On-Demand Data

NameIdCountryDate
Salvatore Y Ferencz1000India2024-06-14
Aditya G Chui1001Germany2024-05-30
Cody P Bolognia1002Argentina2024-06-04
Munro Y Gaucho1003Italy2024-05-29
Cody D Doe1004Japan2024-06-03
Ivar Q Maclead1005Italy2024-06-22
Claire Y Gillian1006Brazil2024-05-31
Costa E Perin1007India2024-06-03
Aruna V Kolmetz1008Spain2024-05-27
Mayumi B Malet1009Italy2024-06-06
Mujtaba G Shinko1010Japan2024-06-11
Jones S Gillian1011Italy2024-06-02
Aruna I Inouye1012India2024-06-16
Clifford V Inouye1013India2024-06-01
Izzy A Rim1014Italy2024-06-20
Izzy H Iturbide1015Canada2024-06-02
Darci C Darakjy1016Brazil2024-05-30
Octavia N Perin1017Canada2024-06-04
Kaitlin Z Butt1018Italy2024-06-17
Francesco L Amigon1019Spain2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams M OstroskyItalyOnyama Limba RENEWAL
Juan Y InouyeUnited KingdomXuxue Feng NEGOTIATION
Smith U OstroskyArgentinaAnna Fali PROPOSAL
Octavia J MarrierJapanElwin Sharvill QUALIFIED
Kaitlin F VenereRussiaAsiya Javayant QUALIFIED
Mayumi M MaletItalyXuxue Feng PROPOSAL
Claire M FollerBrazilAmy Elsner RENEWAL
Darci B ButtRussiaElwin Sharvill PROPOSAL
Munro P MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Octavia C NickaArgentinaBernardo Dominic RENEWAL
Maisha I PoquetteUnited KingdomIoni Bowcher NEGOTIATION
Silvio G RutaRussiaStephen Shaw RENEWAL
Rodrigues J RoysterFranceStephen Shaw NEGOTIATION
Johnson H OstroskyGermanyAnna Fali NEW
Aruna P GlickIndiaOnyama Limba QUALIFIED
Julie J DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Chavez P WhobreyGermanyIoni Bowcher NEGOTIATION
Darci J KuskoRussiaXuxue Feng RENEWAL
Jeanfrancois B BriddickUnited KingdomAmy Elsner PROPOSAL
Claire Y CaldareraItalyElwin Sharvill NEW
Isabel T BriddickAustraliaElwin Sharvill NEGOTIATION
Ricardo V GauchoItalyBernardo Dominic NEGOTIATION
Francesco Y AlbaresJapanIvan Magalhaes PROPOSAL
David Q OstroskyFranceBernardo Dominic UNQUALIFIED
Francesco O MacleadIndiaAnna Fali PROPOSAL
Jeanfrancois X GlickGermanyStephen Shaw NEW
Maisha Y FlosiAustraliaOnyama Limba RENEWAL
Munro B WaycottItalyAsiya Javayant UNQUALIFIED
Jennifer R FerenczCanadaIvan Magalhaes PROPOSAL
Emily Z FollerArgentinaElwin Sharvill NEW
Antonio Z DilliardJapanXuxue Feng NEGOTIATION
Francesco U SlusarskiRussiaBernardo Dominic NEGOTIATION
Maria W FollerUnited KingdomElwin Sharvill NEGOTIATION
Darci M RulapaughIndiaXuxue Feng RENEWAL
Munro M SaylorsJapanAmy Elsner NEGOTIATION
Stacey J GauchoUnited KingdomOnyama Limba UNQUALIFIED
Jennifer H PaprockiAustraliaBernardo Dominic UNQUALIFIED
Tony K AlbaresIndiaIoni Bowcher RENEWAL
Kaitlin I MaletItalyAmy Elsner PROPOSAL
Clifford C InouyeArgentinaBernardo Dominic PROPOSAL

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