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
Octavia Y MorascaGermanyBernardo Dominic PROPOSAL
Smith G FollerUnited KingdomAnna Fali QUALIFIED
Isabel X GlickSpainXuxue Feng NEGOTIATION
Francesco G KolmetzAustraliaIvan Magalhaes PROPOSAL
Alejandro K RoysterArgentinaAsiya Javayant PROPOSAL
Rodrigues G DoeGermanyXuxue Feng QUALIFIED
Rodrigues N PerinAustraliaAnna Fali QUALIFIED
Mujtaba T DilliardGermanyAsiya Javayant NEW
Greenwood E WhobreyBrazilIvan Magalhaes PROPOSAL
Munro H DarakjyGermanyElwin Sharvill PROPOSAL
Faith U PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Ricardo R DilliardArgentinaStephen Shaw NEW
Kaitlin H KuskoIndiaBernardo Dominic QUALIFIED
Francesco N GillianGermanyAsiya Javayant UNQUALIFIED
Aika U MaletItalyBernardo Dominic NEW
Smith C WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Isabel X PoquetteGermanyIvan Magalhaes NEW
Aditya R PerinGermanyStephen Shaw PROPOSAL
Jennifer C ButtRussiaAsiya Javayant PROPOSAL
Ivar O AmigonSpainIvan Magalhaes RENEWAL
Silvio O MorascaJapanAsiya Javayant RENEWAL
Emily C FerenczAustraliaElwin Sharvill QUALIFIED
Misaki S MaletUnited KingdomElwin Sharvill QUALIFIED
Morrow E KuskoIndiaBernardo Dominic NEW
Deepesh D CaldareraBrazilAnna Fali PROPOSAL
Juan R SchemmerIndiaStephen Shaw RENEWAL
Mayumi R VenereItalyBernardo Dominic UNQUALIFIED
Antonio J ShinkoRussiaAnna Fali NEW
Leja L ChuiAustraliaBernardo Dominic QUALIFIED
Kaitlin Q MaletUnited KingdomAnna Fali PROPOSAL
Jefferson D GarufiArgentinaAsiya Javayant RENEWAL
Ashley N WieserFranceAsiya Javayant QUALIFIED
Ivar X RoysterGermanyIvan Magalhaes NEW
Leon V DoeItalyBernardo Dominic PROPOSAL
Leon H FlosiSpainXuxue Feng UNQUALIFIED
Tony X FerenczGermanyStephen Shaw UNQUALIFIED
Aruna A DilliardRussiaAmy Elsner NEGOTIATION
Clifford D GillianCanadaStephen Shaw UNQUALIFIED
Arvin Y MaletAustraliaOnyama Limba UNQUALIFIED
Nicolas X BowleySpainXuxue Feng NEW
Leon C SchemmerBrazilBernardo Dominic QUALIFIED
Juan X WaycottCanadaAsiya Javayant UNQUALIFIED
Faith R VenereAustraliaBernardo Dominic RENEWAL
Kadeem A FigeroaArgentinaIoni Bowcher NEW
Smith Y PerinItalyXuxue Feng UNQUALIFIED
Jennifer G BowleyCanadaOnyama Limba UNQUALIFIED
Mujtaba Y FigeroaItalyAsiya Javayant NEGOTIATION
Chavez C CaudyJapanAnna Fali UNQUALIFIED
Costa T PoquetteBrazilAnna Fali PROPOSAL
Aruna A MacleadUnited KingdomOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Darci O FigeroaGermanyXuxue Feng QUALIFIED
Claire I MorascaRussiaOnyama Limba QUALIFIED
Arvin H SergiItalyIvan Magalhaes NEGOTIATION
Munro A PoquetteArgentinaBernardo Dominic QUALIFIED
Mayumi T KolmetzRussiaIvan Magalhaes RENEWAL
Stacey D VenereJapanAsiya Javayant PROPOSAL
Mayumi B OldroydSpainOnyama Limba RENEWAL
Faith E SaylorsSpainBernardo Dominic RENEWAL
Adams U WhobreyGermanyIvan Magalhaes NEGOTIATION
Smith Q SlusarskiBrazilOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha K PaprockiArgentina2024-05-14Dorl, James J Esq NEW7Elwin Sharvill
1001Greenwood Q FlosiRussia2024-04-30Rangoni Of Florence NEW97Onyama Limba
1002Tony G MaletUnited Kingdom2024-05-09Chemel, James L Cpa PROPOSAL46Ivan Magalhaes
1003Aditya F NestleUnited Kingdom2024-05-07Rangoni Of Florence QUALIFIED8Bernardo Dominic
1004Claire K VocelkaGermany2024-05-02Benton, John B Jr NEGOTIATION89Asiya Javayant
1005Izzy L GauchoArgentina2024-05-04Chapman, Ross E Esq NEW48Ivan Magalhaes
1006Kaitlin Z KuskoCanada2024-05-24Chemel, James L Cpa NEW7Ivan Magalhaes
1007Isabel E ChuiIndia2024-05-13Truhlar And Truhlar Attys PROPOSAL46Xuxue Feng
1008Salvatore Z FollerUnited Kingdom2024-05-08Feltz Printing Service RENEWAL66Anna Fali
1009Kadeem T RutaIndia2024-05-22Dorl, James J Esq NEGOTIATION73Amy Elsner
1010Deepesh C RulapaughGermany2024-05-20Truhlar And Truhlar Attys QUALIFIED87Bernardo Dominic
1011Sinclair G OldroydArgentina2024-05-04Feiner Bros UNQUALIFIED7Anna Fali
1012Clifford U OstroskyArgentina2024-05-09Commercial Press UNQUALIFIED51Amy Elsner
1013James O NestleUnited Kingdom2024-05-26Printing Dimensions UNQUALIFIED46Elwin Sharvill
1014Smith X KuskoBrazil2024-05-21Printing Dimensions RENEWAL3Elwin Sharvill
1015Jones C CaudyIndia2024-05-19Chapman, Ross E Esq PROPOSAL21Xuxue Feng
1016Costa P FigeroaBrazil2024-05-14Feiner Bros PROPOSAL41Asiya Javayant
1017Aika Y BriddickFrance2024-05-19Dorl, James J Esq QUALIFIED20Onyama Limba
1018Julie J SergiArgentina2024-05-17Benton, John B Jr QUALIFIED27Bernardo Dominic
1019Aditya O BriddickArgentina2024-05-23Printing Dimensions PROPOSAL6Amy Elsner
1020Alejandro O StockhamArgentina2024-05-05Feiner Bros NEGOTIATION56Xuxue Feng
1021Aruna I WhobreyAustralia2024-05-11Benton, John B Jr RENEWAL89Bernardo Dominic
1022Antonio B CaldareraUnited Kingdom2024-05-18Feltz Printing Service NEGOTIATION30Xuxue Feng
1023Morrow R FlosiItaly2024-04-28Chemel, James L Cpa RENEWAL7Asiya Javayant
1024Nicolas I SchemmerUnited Kingdom2024-05-20Chemel, James L Cpa NEW0Elwin Sharvill
1025Maria Q MorascaSpain2024-05-26Printing Dimensions QUALIFIED18Ioni Bowcher
1026Alejandro X GlickJapan2024-05-15Feltz Printing Service QUALIFIED85Ioni Bowcher
1027Chavez Z StensethSpain2024-05-05Rousseaux, Michael Esq PROPOSAL53Ivan Magalhaes
1028Aditya K MaletRussia2024-04-29Feltz Printing Service RENEWAL50Ivan Magalhaes
1029Leja P RutaBrazil2024-05-22Chemel, James L Cpa NEW98Ivan Magalhaes
1030Jefferson O GauchoSpain2024-05-12Rangoni Of Florence NEW7Onyama Limba
1031Adams F PerinFrance2024-05-19Chemel, James L Cpa QUALIFIED81Onyama Limba
1032Munro V AmigonSpain2024-04-27Rangoni Of Florence NEGOTIATION20Asiya Javayant
1033Jefferson J ButtRussia2024-05-03Buckley Miller Wright RENEWAL24Ivan Magalhaes
1034Clifford N StockhamItaly2024-05-26Rousseaux, Michael Esq NEW62Xuxue Feng
1035Arvin F VenereGermany2024-05-12Morlong Associates RENEWAL90Ioni Bowcher
1036Julie F RulapaughCanada2024-05-16Morlong Associates NEW42Onyama Limba
1037Salvatore E BowleyRussia2024-05-06King, Christopher A Esq NEGOTIATION48Onyama Limba
1038Nicolas K BowleyRussia2024-05-24Rousseaux, Michael Esq PROPOSAL50Elwin Sharvill
1039Julie F FlosiUnited Kingdom2024-04-29King, Christopher A Esq NEGOTIATION20Elwin Sharvill
1040Isabel I MorascaFrance2024-05-15Morlong Associates RENEWAL12Xuxue Feng
1041Clifford K RoysterBrazil2024-05-13Benton, John B Jr NEGOTIATION68Xuxue Feng
1042Alejandro W ChuiRussia2024-04-27Chanay, Jeffrey A Esq NEGOTIATION4Xuxue Feng
1043Jeanfrancois F GarufiItaly2024-05-09Printing Dimensions QUALIFIED13Amy Elsner
1044Chavez G MaletCanada2024-05-16Benton, John B Jr QUALIFIED26Bernardo Dominic
1045Greenwood I InouyeSpain2024-05-08Commercial Press NEW18Onyama Limba
1046Johnson W AlbaresSpain2024-05-04Rousseaux, Michael Esq NEGOTIATION1Elwin Sharvill
1047Mujtaba V DoeArgentina2024-05-19Morlong Associates PROPOSAL1Stephen Shaw
1048Silvio M RulapaughFrance2024-04-28Feltz Printing Service UNQUALIFIED12Amy Elsner
1049Sinclair I WieserCanada2024-05-17Commercial Press UNQUALIFIED59Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow Z PaprockiJapanIvan Magalhaes NEGOTIATION
Wickens N BowleyAustraliaStephen Shaw QUALIFIED
Faith T MorascaArgentinaStephen Shaw NEW
Silvio G SlusarskiFranceXuxue Feng UNQUALIFIED
Faith Q VenereFranceBernardo Dominic PROPOSAL
Nicolas V CaldareraRussiaAnna Fali NEW
Costa G VenereAustraliaXuxue Feng RENEWAL
James C NestleItalyOnyama Limba UNQUALIFIED
Aditya Z IturbideGermanyStephen Shaw UNQUALIFIED
Johnson V DoeJapanBernardo Dominic UNQUALIFIED
Aditya V MaletAustraliaAsiya Javayant QUALIFIED
Ricardo Z DilliardRussiaOnyama Limba NEGOTIATION
Munro C StensethIndiaOnyama Limba UNQUALIFIED
Isabel E SlusarskiArgentinaIoni Bowcher PROPOSAL
Jennifer M GarufiRussiaIoni Bowcher QUALIFIED
Octavia S ChuiArgentinaElwin Sharvill NEGOTIATION
Johnson H DarakjyItalyBernardo Dominic UNQUALIFIED
Juan J OstroskySpainStephen Shaw NEW
Greenwood F WhobreySpainIoni Bowcher PROPOSAL
Chavez T OstroskyAustraliaBernardo Dominic QUALIFIED
Adams V SchemmerRussiaAmy Elsner NEGOTIATION
Izzy I StensethIndiaIvan Magalhaes NEW
Stacey P KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi S MarrierCanadaIoni Bowcher RENEWAL
Julie M FlosiJapanAsiya Javayant UNQUALIFIED
Adams S SergiJapanXuxue Feng RENEWAL
Adams T NickaAustraliaOnyama Limba PROPOSAL
Emily U MaletGermanyAmy Elsner UNQUALIFIED
Ricardo W MarrierCanadaAsiya Javayant QUALIFIED
Jefferson I BriddickBrazilIoni Bowcher RENEWAL
Sinclair Z DarakjyArgentinaElwin Sharvill UNQUALIFIED
Ricardo R KuskoArgentinaAmy Elsner QUALIFIED
Clifford Z OldroydRussiaAsiya Javayant NEGOTIATION
Ricardo R TollnerAustraliaBernardo Dominic NEW
Octavia W FigeroaAustraliaAnna Fali NEGOTIATION
Jones W FigeroaAustraliaAsiya Javayant NEW
Clifford B AlbaresCanadaBernardo Dominic RENEWAL
Munro X GauchoBrazilAmy Elsner NEW
Smith W WaycottSpainIvan Magalhaes NEW
Izzy A FlosiIndiaAnna Fali RENEWAL
Arvin M RutaIndiaIvan Magalhaes NEGOTIATION
David B WaycottAustraliaAsiya Javayant QUALIFIED
Francesco O MacleadJapanIvan Magalhaes UNQUALIFIED
Chavez E GillianGermanyIoni Bowcher PROPOSAL
Aditya R MacleadFranceIoni Bowcher PROPOSAL
Arvin R IturbideUnited KingdomAnna Fali RENEWAL
Arvin U SaylorsGermanyAmy Elsner PROPOSAL
Murillo B WaycottUnited KingdomAmy Elsner UNQUALIFIED
Costa X BowleyFranceIvan Magalhaes RENEWAL
Aruna H MorascaJapanElwin Sharvill NEGOTIATION
Frozen Columns
Name
Octavia T Tollner
Jeanfrancois B Ruta
Greenwood F Ruta
Kaitlin K Albares
Clifford C Perin
Leja Z Rulapaugh
Francesco R Stenseth
Francesco N Rim
Emily R Amigon
Alejandro Y Vocelka
Juan U Nicka
Cody G Oldroyd
Jeanfrancois C Shinko
Jefferson A Caudy
Faith P Butt
Jefferson N Whobrey
Johnson Y Marrier
Izzy A Doe
Isabel O Bowley
Darci U Malet
Chavez E Wieser
Kadeem U Caudy
Juan H Marrier
Misaki E Ruta
Leon X Nestle
Leon J Briddick
Mayumi L Morasca
Sinclair B Maclead
Wickens X Wieser
Jones W Kolmetz
Maisha M Poquette
Johnson K Shinko
Ivar C Paprocki
Mujtaba U Ostrosky
Arvin L Venere
Aika O Garufi
Costa C Stenseth
Arvin C Morasca
Maisha D Ferencz
Aika W Darakjy
Emily C Figeroa
Alejandro J Maclead
Aika I Bowley
Chavez Z Ferencz
Morrow K Sergi
Maria E Gaucho
Murillo L Flosi
Wickens E Slusarski
Cody M Shinko
Aditya Z Chui
IdCountryDate
1000Germany2024-05-25
1001Brazil2024-05-11
1002United Kingdom2024-05-06
1003Russia2024-05-13
1004Italy2024-05-16
1005Italy2024-05-03
1006France2024-05-23
1007Germany2024-05-25
1008Russia2024-05-24
1009Japan2024-04-27
1010Russia2024-04-30
1011Japan2024-05-19
1012Australia2024-05-20
1013Canada2024-05-09
1014France2024-05-20
1015Russia2024-05-03
1016France2024-05-16
1017Japan2024-05-25
1018India2024-05-16
1019India2024-05-06
1020Japan2024-05-11
1021France2024-04-29
1022Brazil2024-05-01
1023India2024-05-14
1024Russia2024-05-06
1025France2024-05-08
1026Spain2024-04-29
1027Japan2024-05-11
1028Japan2024-05-14
1029Argentina2024-05-06
1030France2024-05-03
1031France2024-05-23
1032Australia2024-05-17
1033France2024-04-29
1034Germany2024-05-26
1035Japan2024-05-06
1036Japan2024-05-08
1037Argentina2024-04-30
1038Spain2024-05-10
1039Australia2024-05-02
1040Brazil2024-05-11
1041Japan2024-05-04
1042Spain2024-05-21
1043France2024-05-12
1044France2024-05-18
1045Japan2024-05-17
1046Japan2024-05-26
1047Russia2024-05-25
1048United Kingdom2024-05-24
1049Argentina2024-05-04

On-Demand Data

NameIdCountryDate
Emily H Caldarera1000Russia2024-05-26
Clifford I Perin1001Brazil2024-05-03
Mujtaba V Shinko1002Germany2024-05-04
Julie B Whobrey1003Italy2024-05-02
Rodrigues A Rulapaugh1004France2024-05-26
Aditya W Perin1005Argentina2024-04-30
Alejandro J Saylors1006Argentina2024-05-25
Tony T Oldroyd1007Germany2024-05-07
David V Bolognia1008Brazil2024-05-18
Clifford T Royster1009Japan2024-05-09
Jeanfrancois H Ferencz1010India2024-05-18
Leja T Vocelka1011Brazil2024-05-22
Ivar V Marrier1012Australia2024-04-27
Jones W Gillian1013Spain2024-05-15
Nicolas W Vocelka1014Russia2024-05-21
Jones J Nicka1015France2024-04-29
Sinclair P Ruta1016Russia2024-05-16
Francesco T Shinko1017France2024-05-01
David C Iturbide1018Brazil2024-05-14
James J Doe1019Italy2024-05-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan J InouyeAustraliaOnyama Limba NEGOTIATION
Izzy V PaprockiIndiaAsiya Javayant RENEWAL
Juan O VocelkaRussiaBernardo Dominic NEGOTIATION
Rodrigues I ButtSpainAnna Fali QUALIFIED
Maisha D FigeroaAustraliaAmy Elsner PROPOSAL
Tony Z PoquetteRussiaBernardo Dominic UNQUALIFIED
Kaitlin Z NestleJapanAmy Elsner RENEWAL
Costa G KolmetzBrazilAsiya Javayant PROPOSAL
Kaitlin N PoquetteCanadaAsiya Javayant RENEWAL
Juan C IturbideUnited KingdomXuxue Feng QUALIFIED
Nicolas R VocelkaRussiaStephen Shaw UNQUALIFIED
Aditya T WieserRussiaXuxue Feng NEW
Munro Y OldroydAustraliaIoni Bowcher NEW
Munro O NestleUnited KingdomBernardo Dominic PROPOSAL
Mayumi H SaylorsSpainOnyama Limba PROPOSAL
James Q ShinkoIndiaAsiya Javayant RENEWAL
Cody K PerinCanadaIoni Bowcher PROPOSAL
Darci U BriddickGermanyXuxue Feng NEW
Darci I MorascaIndiaBernardo Dominic NEGOTIATION
Juan F StockhamBrazilBernardo Dominic UNQUALIFIED
Kaitlin G WhobreyBrazilStephen Shaw NEGOTIATION
James N FigeroaFranceOnyama Limba PROPOSAL
Ashley R DilliardIndiaIoni Bowcher UNQUALIFIED
Silvio R KuskoArgentinaXuxue Feng UNQUALIFIED
Darci T AmigonItalyXuxue Feng NEW
Faith G FerenczArgentinaBernardo Dominic NEGOTIATION
Deepesh B SaylorsJapanIoni Bowcher NEGOTIATION
Munro T MaletCanadaStephen Shaw NEW
Mujtaba L RimFranceXuxue Feng UNQUALIFIED
Antonio L SlusarskiJapanAnna Fali RENEWAL
Costa S PaprockiArgentinaXuxue Feng RENEWAL
Rodrigues M FerenczFranceAmy Elsner NEW
Adams F ButtItalyStephen Shaw NEW
Tony O NickaItalyOnyama Limba QUALIFIED
Isabel L PoquetteRussiaOnyama Limba QUALIFIED
Leja A NestleFranceAmy Elsner RENEWAL
Jeanfrancois K GarufiArgentinaOnyama Limba NEW
Maisha S SergiItalyAnna Fali NEW
Jefferson A SaylorsArgentinaAsiya Javayant QUALIFIED
Aditya X SaylorsAustraliaAmy 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>