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 O AlbaresAustraliaStephen Shaw NEW
Costa W FollerSpainAnna Fali UNQUALIFIED
Sinclair T ShinkoRussiaStephen Shaw NEW
Smith E StensethArgentinaAmy Elsner NEGOTIATION
Antonio G GlickUnited KingdomXuxue Feng RENEWAL
Wickens S VocelkaFranceXuxue Feng QUALIFIED
Ricardo K BriddickArgentinaStephen Shaw RENEWAL
Cody L TollnerBrazilIvan Magalhaes QUALIFIED
Mujtaba X StockhamGermanyIvan Magalhaes UNQUALIFIED
Wickens M NickaUnited KingdomIoni Bowcher QUALIFIED
Munro T ChuiAustraliaAmy Elsner NEW
Claire O FollerFranceOnyama Limba NEW
Smith F PerinAustraliaIoni Bowcher RENEWAL
Nicolas O GarufiAustraliaIoni Bowcher NEW
Munro E PaprockiGermanyElwin Sharvill UNQUALIFIED
Sinclair S SchemmerItalyOnyama Limba NEGOTIATION
Aruna U DarakjyGermanyAsiya Javayant NEW
Aika F KuskoRussiaIoni Bowcher PROPOSAL
Ricardo W NickaGermanyAsiya Javayant QUALIFIED
Nicolas U FollerArgentinaStephen Shaw NEGOTIATION
Nicolas G TollnerCanadaOnyama Limba UNQUALIFIED
Ivar X SlusarskiJapanXuxue Feng UNQUALIFIED
Jennifer E ChuiUnited KingdomOnyama Limba PROPOSAL
Rodrigues L GauchoIndiaAsiya Javayant UNQUALIFIED
Octavia F SaylorsUnited KingdomAmy Elsner NEGOTIATION
Isabel D FlosiGermanyAnna Fali PROPOSAL
Chavez E OldroydJapanBernardo Dominic NEGOTIATION
Juan T BowleyArgentinaIvan Magalhaes QUALIFIED
Salvatore F PoquetteBrazilIvan Magalhaes NEW
Rodrigues E WaycottArgentinaOnyama Limba UNQUALIFIED
Clifford R MaletArgentinaOnyama Limba NEGOTIATION
Ricardo S StensethFranceStephen Shaw RENEWAL
Wickens G NestleBrazilBernardo Dominic NEGOTIATION
Octavia T CaudyUnited KingdomAnna Fali QUALIFIED
Morrow H KuskoRussiaElwin Sharvill NEGOTIATION
Jennifer H NestleCanadaOnyama Limba QUALIFIED
Salvatore J GillianCanadaBernardo Dominic RENEWAL
Izzy H WhobreyIndiaAnna Fali PROPOSAL
Leja P TollnerUnited KingdomIvan Magalhaes NEW
Aika G RutaArgentinaStephen Shaw UNQUALIFIED
Ivar U TollnerSpainOnyama Limba RENEWAL
Kaitlin Y InouyeItalyAsiya Javayant PROPOSAL
Costa I MarrierFranceAnna Fali QUALIFIED
Salvatore T InouyeSpainIoni Bowcher NEW
Kaitlin K RimItalyBernardo Dominic NEGOTIATION
Darci T DoeFranceAnna Fali QUALIFIED
Smith L ButtItalyAmy Elsner NEW
Kaitlin X PoquetteItalyBernardo Dominic UNQUALIFIED
Antonio M AlbaresItalyIoni Bowcher NEGOTIATION
Kadeem Q TollnerJapanAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Munro Z PaprockiJapanBernardo Dominic QUALIFIED
Clifford M FollerUnited KingdomAmy Elsner NEW
David A OstroskyArgentinaStephen Shaw UNQUALIFIED
Munro E WieserItalyStephen Shaw PROPOSAL
James X DoeBrazilBernardo Dominic PROPOSAL
Aruna A MarrierRussiaAsiya Javayant UNQUALIFIED
Morrow F CaldareraAustraliaOnyama Limba RENEWAL
Isabel K GillianArgentinaXuxue Feng PROPOSAL
Emily B NestleSpainOnyama Limba PROPOSAL
Leon P MarrierRussiaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio N ButtArgentina2024-06-04Chemel, James L Cpa UNQUALIFIED28Stephen Shaw
1001Aika A FigeroaAustralia2024-06-11Chanay, Jeffrey A Esq PROPOSAL71Elwin Sharvill
1002Maria B MaletRussia2024-06-12Morlong Associates UNQUALIFIED68Elwin Sharvill
1003Emily R WieserAustralia2024-05-29Feltz Printing Service RENEWAL92Ioni Bowcher
1004Isabel F BowleyCanada2024-06-17Buckley Miller Wright UNQUALIFIED39Bernardo Dominic
1005Cody Z VocelkaGermany2024-06-01Chemel, James L Cpa UNQUALIFIED60Onyama Limba
1006Chavez Z CaudyCanada2024-06-06Feiner Bros PROPOSAL55Asiya Javayant
1007Salvatore S GauchoJapan2024-06-08Rangoni Of Florence QUALIFIED88Ivan Magalhaes
1008James H BologniaIndia2024-06-10Feltz Printing Service PROPOSAL5Onyama Limba
1009Maisha G PaprockiRussia2024-05-26Feiner Bros NEGOTIATION51Bernardo Dominic
1010Darci K KuskoItaly2024-06-03Benton, John B Jr UNQUALIFIED94Onyama Limba
1011Ivar N NestleItaly2024-05-25Chanay, Jeffrey A Esq QUALIFIED47Bernardo Dominic
1012Aruna H FerenczCanada2024-06-18Truhlar And Truhlar Attys PROPOSAL19Onyama Limba
1013Leon V ChuiIndia2024-05-29Chemel, James L Cpa RENEWAL75Onyama Limba
1014Ricardo M AmigonJapan2024-06-02Feltz Printing Service NEW55Stephen Shaw
1015Francesco K VocelkaIndia2024-06-08Dorl, James J Esq NEGOTIATION54Anna Fali
1016Cody F FollerAustralia2024-05-23King, Christopher A Esq RENEWAL25Anna Fali
1017Misaki N WaycottArgentina2024-06-16Printing Dimensions PROPOSAL68Ioni Bowcher
1018Kaitlin E KuskoJapan2024-06-04Commercial Press RENEWAL11Elwin Sharvill
1019Nicolas N OstroskySpain2024-05-29Chemel, James L Cpa QUALIFIED97Bernardo Dominic
1020Darci N SlusarskiAustralia2024-06-21Truhlar And Truhlar Attys RENEWAL56Asiya Javayant
1021David N RutaItaly2024-06-13Feltz Printing Service UNQUALIFIED42Ioni Bowcher
1022Smith F RulapaughItaly2024-05-24Chapman, Ross E Esq NEW92Elwin Sharvill
1023Johnson U MaletArgentina2024-05-24Feiner Bros QUALIFIED78Anna Fali
1024Adams V GlickUnited Kingdom2024-05-23Rousseaux, Michael Esq PROPOSAL90Onyama Limba
1025Aruna I DoeArgentina2024-05-27Rangoni Of Florence NEW50Ioni Bowcher
1026Greenwood Z GillianGermany2024-06-19Buckley Miller Wright RENEWAL35Amy Elsner
1027Jeanfrancois F SchemmerUnited Kingdom2024-06-19Rangoni Of Florence UNQUALIFIED85Anna Fali
1028Octavia X FerenczBrazil2024-06-11Chanay, Jeffrey A Esq NEW46Elwin Sharvill
1029Jeanfrancois V GillianSpain2024-06-20Printing Dimensions QUALIFIED18Anna Fali
1030Silvio K InouyeArgentina2024-06-06King, Christopher A Esq NEGOTIATION12Elwin Sharvill
1031Juan F IturbideJapan2024-06-11Chapman, Ross E Esq NEGOTIATION57Xuxue Feng
1032Munro J BowleyGermany2024-06-16Feltz Printing Service PROPOSAL36Asiya Javayant
1033Greenwood R MacleadSpain2024-06-05Rousseaux, Michael Esq RENEWAL59Amy Elsner
1034Munro J BowleyGermany2024-06-17Truhlar And Truhlar Attys PROPOSAL79Anna Fali
1035Alejandro Q AmigonJapan2024-06-11Feltz Printing Service NEGOTIATION85Asiya Javayant
1036Chavez U GauchoRussia2024-06-03Chanay, Jeffrey A Esq RENEWAL78Ioni Bowcher
1037Cody K ButtBrazil2024-06-03Commercial Press RENEWAL13Xuxue Feng
1038Murillo K PaprockiCanada2024-06-08Chanay, Jeffrey A Esq NEGOTIATION33Ivan Magalhaes
1039Jefferson O NickaIndia2024-06-13Benton, John B Jr UNQUALIFIED95Stephen Shaw
1040Maria S DoeJapan2024-06-21Feltz Printing Service QUALIFIED62Ioni Bowcher
1041Salvatore R RutaGermany2024-06-12King, Christopher A Esq NEGOTIATION22Asiya Javayant
1042Maisha L AmigonIndia2024-06-11Chanay, Jeffrey A Esq NEGOTIATION86Ivan Magalhaes
1043Francesco A RoysterGermany2024-06-19Feiner Bros UNQUALIFIED30Asiya Javayant
1044Maria D GarufiJapan2024-06-19Rousseaux, Michael Esq NEGOTIATION33Stephen Shaw
1045Alejandro I SergiRussia2024-06-16Feiner Bros PROPOSAL91Bernardo Dominic
1046Adams C StockhamSpain2024-05-27Printing Dimensions PROPOSAL13Elwin Sharvill
1047Misaki S MarrierIndia2024-05-31Chapman, Ross E Esq UNQUALIFIED55Bernardo Dominic
1048Johnson R MaletGermany2024-05-28Rangoni Of Florence RENEWAL1Stephen Shaw
1049Greenwood J RutaRussia2024-06-06Printing Dimensions PROPOSAL25Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jefferson W GlickBrazilAsiya Javayant QUALIFIED
Wickens L WhobreyRussiaOnyama Limba UNQUALIFIED
Arvin D BologniaRussiaStephen Shaw RENEWAL
Wickens G RutaRussiaStephen Shaw UNQUALIFIED
Morrow Q MarrierJapanAsiya Javayant PROPOSAL
Jefferson C PoquetteGermanyElwin Sharvill PROPOSAL
Maria O CaudyArgentinaXuxue Feng PROPOSAL
Salvatore N StockhamIndiaOnyama Limba NEW
Wickens O ButtBrazilIoni Bowcher RENEWAL
Juan N OldroydUnited KingdomOnyama Limba RENEWAL
Jennifer Q BowleyItalyStephen Shaw PROPOSAL
Adams D OldroydRussiaAnna Fali RENEWAL
Wickens R SaylorsFranceAnna Fali QUALIFIED
Cody L KolmetzIndiaAsiya Javayant NEGOTIATION
James L MarrierGermanyOnyama Limba NEW
Arvin B SergiCanadaElwin Sharvill PROPOSAL
Clifford J MorascaItalyElwin Sharvill RENEWAL
Deepesh A IturbideRussiaIvan Magalhaes RENEWAL
Deepesh W ChuiAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois C KuskoCanadaElwin Sharvill UNQUALIFIED
Mujtaba F KolmetzBrazilIoni Bowcher UNQUALIFIED
Nicolas W NickaCanadaOnyama Limba QUALIFIED
Arvin W GlickBrazilXuxue Feng NEGOTIATION
Leja D RoysterGermanyElwin Sharvill NEGOTIATION
Jennifer E NickaCanadaAmy Elsner QUALIFIED
Adams F VenereArgentinaOnyama Limba QUALIFIED
Leja K DoeItalyXuxue Feng NEGOTIATION
Mujtaba R BriddickFranceAsiya Javayant QUALIFIED
Emily Y PaprockiAustraliaXuxue Feng PROPOSAL
Rodrigues G RulapaughArgentinaAsiya Javayant NEW
Clifford Q CampainGermanyIvan Magalhaes QUALIFIED
Greenwood Q FerenczAustraliaOnyama Limba NEGOTIATION
Faith D InouyeJapanAnna Fali NEW
Aika D MorascaCanadaStephen Shaw UNQUALIFIED
Alejandro C WhobreySpainStephen Shaw NEW
Munro I ShinkoJapanAnna Fali QUALIFIED
Octavia Z BowleyIndiaIoni Bowcher RENEWAL
Isabel U RoysterIndiaBernardo Dominic NEGOTIATION
Izzy S RulapaughAustraliaBernardo Dominic RENEWAL
Ricardo E MorascaBrazilAnna Fali NEGOTIATION
Antonio I FerenczJapanOnyama Limba PROPOSAL
Nicolas A GauchoItalyAnna Fali NEW
Leja C ChuiAustraliaAmy Elsner UNQUALIFIED
Jennifer G FerenczIndiaIvan Magalhaes QUALIFIED
Jones S FlosiSpainOnyama Limba RENEWAL
Arvin R VocelkaGermanyAsiya Javayant NEGOTIATION
Julie Z CampainSpainAsiya Javayant UNQUALIFIED
Alejandro Q GillianUnited KingdomElwin Sharvill RENEWAL
Arvin G MaletFranceIvan Magalhaes NEW
Greenwood A AmigonItalyAmy Elsner PROPOSAL
Frozen Columns
Name
Ricardo J Whobrey
Stacey S Schemmer
Jeanfrancois Z Foller
Wickens X Waycott
Leja R Caudy
Morrow W Dilliard
Mujtaba G Campain
Ricardo J Dilliard
Octavia L Whobrey
Jennifer C Gillian
Juan W Darakjy
Ricardo C Paprocki
Kaitlin F Ruta
Tony N Nicka
Misaki D Venere
Octavia W Caldarera
Johnson E Slusarski
Kadeem N Foller
Julie J Dilliard
Ricardo J Royster
Antonio W Caudy
David O Wieser
Smith F Whobrey
Arvin Y Figeroa
Ivar P Morasca
Mayumi L Waycott
Smith Z Schemmer
Francesco P Morasca
Murillo B Garufi
Ricardo O Dilliard
Aruna I Gaucho
Julie P Caudy
Kadeem M Caldarera
Aditya I Glick
Juan H Royster
David G Stockham
Mujtaba F Malet
Mujtaba I Caudy
Izzy U Malet
Munro X Rim
Silvio V Chui
Nicolas M Glick
Salvatore Y Rulapaugh
Chavez P Poquette
Ashley I Caldarera
Smith G Rulapaugh
James N Bolognia
Johnson R Saylors
Jeanfrancois H Slusarski
Darci Q Waycott
IdCountryDate
1000Spain2024-06-01
1001Argentina2024-06-10
1002India2024-06-20
1003Russia2024-05-28
1004Canada2024-05-23
1005United Kingdom2024-06-13
1006India2024-06-09
1007Argentina2024-06-15
1008Spain2024-06-14
1009Australia2024-06-02
1010Spain2024-06-06
1011United Kingdom2024-06-07
1012Argentina2024-05-26
1013France2024-05-30
1014Canada2024-06-12
1015Australia2024-06-19
1016Spain2024-06-13
1017United Kingdom2024-06-16
1018Italy2024-05-30
1019Argentina2024-06-13
1020Japan2024-06-11
1021Japan2024-06-12
1022Italy2024-06-21
1023Brazil2024-06-14
1024United Kingdom2024-06-03
1025India2024-06-20
1026Italy2024-05-31
1027France2024-06-05
1028Brazil2024-06-11
1029Argentina2024-06-06
1030United Kingdom2024-05-29
1031Australia2024-06-18
1032India2024-06-13
1033Canada2024-06-04
1034India2024-06-20
1035Japan2024-06-11
1036United Kingdom2024-06-08
1037Italy2024-05-26
1038United Kingdom2024-06-21
1039India2024-05-24
1040Australia2024-06-12
1041Italy2024-05-29
1042India2024-06-10
1043Australia2024-05-25
1044India2024-06-18
1045France2024-06-16
1046Japan2024-06-02
1047India2024-05-31
1048India2024-06-01
1049Germany2024-06-12

On-Demand Data

NameIdCountryDate
Johnson S Oldroyd1000Spain2024-05-25
Smith J Glick1001Italy2024-06-15
Kaitlin N Oldroyd1002Japan2024-05-25
Mayumi I Maclead1003Japan2024-05-23
Salvatore X Foller1004India2024-06-13
Jennifer V Ostrosky1005India2024-05-25
Claire T Wieser1006Germany2024-06-16
Kaitlin I Slusarski1007Australia2024-06-09
David A Schemmer1008Brazil2024-06-04
Octavia A Sergi1009India2024-06-03
David Q Maclead1010Germany2024-06-13
Jones N Flosi1011Australia2024-06-09
Munro K Rim1012Australia2024-06-04
Chavez K Briddick1013United Kingdom2024-05-31
Kaitlin G Venere1014France2024-06-07
Leja A Butt1015India2024-06-04
Greenwood D Saylors1016Japan2024-05-30
Francesco Z Inouye1017Germany2024-06-15
Ricardo V Dilliard1018Brazil2024-06-13
Kadeem T Gaucho1019Brazil2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson V MaletArgentinaStephen Shaw RENEWAL
Salvatore R SlusarskiBrazilAnna Fali QUALIFIED
Silvio U FlosiCanadaElwin Sharvill NEGOTIATION
Misaki W KuskoCanadaStephen Shaw PROPOSAL
Aika D PoquetteRussiaAnna Fali NEW
Leon P AlbaresFranceBernardo Dominic PROPOSAL
Greenwood E KolmetzGermanyBernardo Dominic UNQUALIFIED
Mujtaba C NestleArgentinaAmy Elsner UNQUALIFIED
Morrow T KuskoBrazilIvan Magalhaes PROPOSAL
Jefferson J AlbaresItalyStephen Shaw UNQUALIFIED
Kaitlin T PerinArgentinaBernardo Dominic NEW
Izzy Q NickaBrazilIoni Bowcher NEW
Jones Z FollerIndiaStephen Shaw QUALIFIED
Clifford O ChuiArgentinaXuxue Feng QUALIFIED
Antonio X KolmetzArgentinaElwin Sharvill NEW
Aika J FerenczGermanyIoni Bowcher NEGOTIATION
Munro Y VocelkaIndiaAsiya Javayant QUALIFIED
Julie X GillianItalyStephen Shaw UNQUALIFIED
Francesco H VocelkaCanadaAmy Elsner RENEWAL
Francesco O OldroydBrazilOnyama Limba QUALIFIED
Darci J ShinkoUnited KingdomAmy Elsner UNQUALIFIED
David W CampainAustraliaBernardo Dominic QUALIFIED
Tony V OldroydIndiaIvan Magalhaes UNQUALIFIED
Julie S RulapaughIndiaElwin Sharvill NEGOTIATION
Deepesh K FigeroaUnited KingdomElwin Sharvill PROPOSAL
Aruna D FigeroaRussiaXuxue Feng RENEWAL
Emily R DarakjyFranceXuxue Feng RENEWAL
Leon Q StockhamItalyAsiya Javayant QUALIFIED
Chavez K InouyeJapanAsiya Javayant NEW
Darci A GarufiBrazilAnna Fali UNQUALIFIED
Emily D MarrierArgentinaOnyama Limba NEGOTIATION
Leja P CampainJapanElwin Sharvill NEW
Ashley I GauchoSpainElwin Sharvill RENEWAL
Emily N DarakjyItalyXuxue Feng RENEWAL
Arvin A PerinSpainIvan Magalhaes PROPOSAL
Nicolas U FerenczArgentinaXuxue Feng NEW
Jeanfrancois R StockhamSpainAnna Fali NEGOTIATION
Tony F MarrierArgentinaElwin Sharvill QUALIFIED
Wickens A MaletSpainIvan Magalhaes RENEWAL
Claire E DoeCanadaStephen Shaw 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>