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
Claire D GarufiCanadaStephen Shaw NEW
Munro T MorascaItalyElwin Sharvill UNQUALIFIED
Stacey E RutaIndiaBernardo Dominic NEGOTIATION
Leon S RutaItalyIvan Magalhaes RENEWAL
Isabel Y ButtBrazilStephen Shaw PROPOSAL
David B RulapaughJapanIoni Bowcher NEGOTIATION
Munro R RulapaughGermanyAsiya Javayant PROPOSAL
Sinclair L RimIndiaAsiya Javayant UNQUALIFIED
Antonio R NestleUnited KingdomOnyama Limba UNQUALIFIED
Johnson R GauchoUnited KingdomOnyama Limba QUALIFIED
James I MarrierGermanyOnyama Limba PROPOSAL
Jefferson G DoeAustraliaAnna Fali UNQUALIFIED
Ivar X ButtCanadaElwin Sharvill NEW
Salvatore T DoeItalyOnyama Limba RENEWAL
Ivar X CampainSpainOnyama Limba PROPOSAL
Costa R KolmetzArgentinaOnyama Limba RENEWAL
Deepesh G BriddickUnited KingdomStephen Shaw PROPOSAL
Ivar T BowleyArgentinaXuxue Feng NEW
Munro A GauchoRussiaAmy Elsner QUALIFIED
Claire O MaletGermanyOnyama Limba RENEWAL
Stacey O SlusarskiCanadaIvan Magalhaes UNQUALIFIED
Claire F DilliardCanadaIvan Magalhaes NEW
Kaitlin A FlosiSpainStephen Shaw QUALIFIED
Silvio C GauchoRussiaAmy Elsner NEGOTIATION
Nicolas D RutaJapanIvan Magalhaes NEW
Aruna G WieserRussiaIvan Magalhaes NEGOTIATION
Tony H OstroskyRussiaAmy Elsner PROPOSAL
Faith K IturbideIndiaAmy Elsner PROPOSAL
Chavez C GauchoAustraliaOnyama Limba RENEWAL
Deepesh D MarrierUnited KingdomXuxue Feng NEW
Isabel W RimCanadaAmy Elsner NEGOTIATION
Ashley D BriddickArgentinaIoni Bowcher NEGOTIATION
Jones N DarakjyBrazilAsiya Javayant UNQUALIFIED
Maisha L GillianUnited KingdomXuxue Feng UNQUALIFIED
Misaki T BologniaCanadaBernardo Dominic UNQUALIFIED
Ricardo R ShinkoBrazilStephen Shaw UNQUALIFIED
Antonio S IturbideFranceBernardo Dominic PROPOSAL
Adams B SchemmerArgentinaXuxue Feng NEW
Darci G StockhamRussiaOnyama Limba QUALIFIED
Darci C WieserCanadaIoni Bowcher QUALIFIED
Jennifer S ShinkoGermanyIvan Magalhaes NEGOTIATION
Munro N RulapaughIndiaAsiya Javayant UNQUALIFIED
Faith K BowleyFranceOnyama Limba NEW
Mayumi X PaprockiArgentinaAsiya Javayant PROPOSAL
Rodrigues J BriddickJapanStephen Shaw UNQUALIFIED
Emily U MarrierSpainIoni Bowcher UNQUALIFIED
Faith I ChuiAustraliaXuxue Feng UNQUALIFIED
Johnson F DarakjyArgentinaAnna Fali NEGOTIATION
Deepesh Q VenereJapanAsiya Javayant NEGOTIATION
Maria U RutaGermanyOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Sinclair B SchemmerJapanAsiya Javayant RENEWAL
Jeanfrancois K WaycottItalyStephen Shaw QUALIFIED
Sinclair S MaletUnited KingdomIoni Bowcher RENEWAL
Adams U KolmetzRussiaAmy Elsner UNQUALIFIED
Sinclair Q DarakjyUnited KingdomAnna Fali PROPOSAL
Izzy G InouyeAustraliaElwin Sharvill NEW
Faith N ShinkoArgentinaXuxue Feng QUALIFIED
Adams T WieserFranceElwin Sharvill RENEWAL
Ricardo X BriddickItalyXuxue Feng UNQUALIFIED
Claire N ButtGermanyStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley N GauchoJapan2024-05-28Dorl, James J Esq PROPOSAL16Anna Fali
1001Adams A StensethJapan2024-05-30Feiner Bros UNQUALIFIED80Ivan Magalhaes
1002Morrow T BologniaJapan2024-05-26Truhlar And Truhlar Attys NEW35Bernardo Dominic
1003Faith R PerinCanada2024-06-09Dorl, James J Esq RENEWAL69Ivan Magalhaes
1004David Q PaprockiAustralia2024-06-20Rangoni Of Florence RENEWAL84Ivan Magalhaes
1005Emily K RulapaughRussia2024-05-29Printing Dimensions UNQUALIFIED65Bernardo Dominic
1006Morrow M GarufiFrance2024-05-29Rangoni Of Florence UNQUALIFIED29Stephen Shaw
1007David W PoquetteGermany2024-06-13Feltz Printing Service QUALIFIED43Ioni Bowcher
1008Leja W RimAustralia2024-06-11Rousseaux, Michael Esq UNQUALIFIED96Bernardo Dominic
1009Faith K MaletRussia2024-06-02Chemel, James L Cpa NEW84Stephen Shaw
1010James S WhobreyItaly2024-06-18Chapman, Ross E Esq QUALIFIED56Bernardo Dominic
1011Clifford A GarufiUnited Kingdom2024-06-04Rousseaux, Michael Esq PROPOSAL23Bernardo Dominic
1012Rodrigues D MaletIndia2024-06-05Rousseaux, Michael Esq UNQUALIFIED9Ioni Bowcher
1013Arvin W OstroskyRussia2024-06-21Truhlar And Truhlar Attys PROPOSAL79Elwin Sharvill
1014Costa T RulapaughFrance2024-05-27King, Christopher A Esq NEGOTIATION35Amy Elsner
1015Silvio B PaprockiItaly2024-06-10Buckley Miller Wright RENEWAL93Ivan Magalhaes
1016Claire T RimIndia2024-06-17Printing Dimensions NEW2Anna Fali
1017Wickens B OldroydSpain2024-05-31Chapman, Ross E Esq RENEWAL19Elwin Sharvill
1018Adams L MarrierRussia2024-06-16Chanay, Jeffrey A Esq QUALIFIED46Amy Elsner
1019Aika H RutaSpain2024-06-11Printing Dimensions RENEWAL32Stephen Shaw
1020Salvatore M StockhamArgentina2024-06-04Dorl, James J Esq QUALIFIED37Stephen Shaw
1021Maria B GlickRussia2024-06-14Dorl, James J Esq NEW34Ioni Bowcher
1022Cody C SlusarskiAustralia2024-06-11Feltz Printing Service NEW32Amy Elsner
1023Alejandro I ShinkoCanada2024-06-09Printing Dimensions NEGOTIATION48Stephen Shaw
1024Rodrigues U FlosiSpain2024-05-29Dorl, James J Esq PROPOSAL69Xuxue Feng
1025Misaki X WaycottCanada2024-05-30Truhlar And Truhlar Attys NEW2Ivan Magalhaes
1026Mayumi U RoysterJapan2024-06-21Truhlar And Truhlar Attys NEGOTIATION51Ivan Magalhaes
1027Arvin H NestleGermany2024-06-17King, Christopher A Esq UNQUALIFIED5Bernardo Dominic
1028Leja F AmigonGermany2024-06-14Chapman, Ross E Esq UNQUALIFIED29Ivan Magalhaes
1029Mujtaba X GillianJapan2024-06-07Chapman, Ross E Esq NEGOTIATION24Ivan Magalhaes
1030Aruna X BologniaAustralia2024-06-14King, Christopher A Esq PROPOSAL64Asiya Javayant
1031Octavia D RulapaughItaly2024-06-10Rousseaux, Michael Esq NEW74Ivan Magalhaes
1032Deepesh X NestleFrance2024-06-22Benton, John B Jr UNQUALIFIED42Stephen Shaw
1033Clifford P BriddickRussia2024-06-01Morlong Associates QUALIFIED47Anna Fali
1034Ricardo A StockhamGermany2024-06-20Chanay, Jeffrey A Esq UNQUALIFIED63Xuxue Feng
1035Isabel C FigeroaIndia2024-06-09Rousseaux, Michael Esq QUALIFIED44Anna Fali
1036Alejandro E WaycottAustralia2024-06-08Dorl, James J Esq RENEWAL47Ivan Magalhaes
1037Jeanfrancois M FollerUnited Kingdom2024-06-06Buckley Miller Wright PROPOSAL24Stephen Shaw
1038Sinclair X RutaCanada2024-06-17Chemel, James L Cpa NEGOTIATION52Anna Fali
1039Deepesh P StensethFrance2024-06-05Commercial Press NEGOTIATION70Ioni Bowcher
1040Aika T CaudyUnited Kingdom2024-06-18Benton, John B Jr UNQUALIFIED68Asiya Javayant
1041Tony Y GillianSpain2024-06-17Feiner Bros UNQUALIFIED23Bernardo Dominic
1042Jennifer C ChuiIndia2024-05-27Chemel, James L Cpa NEW7Amy Elsner
1043Emily P KolmetzGermany2024-06-11Chemel, James L Cpa NEW22Anna Fali
1044Ivar N BriddickSpain2024-06-16Benton, John B Jr RENEWAL49Stephen Shaw
1045James P StockhamBrazil2024-06-08Truhlar And Truhlar Attys PROPOSAL62Amy Elsner
1046Aika T MacleadJapan2024-06-12Printing Dimensions RENEWAL57Elwin Sharvill
1047Maisha Y FollerCanada2024-06-01Morlong Associates NEW0Onyama Limba
1048Kaitlin D RutaGermany2024-06-13Buckley Miller Wright QUALIFIED27Elwin Sharvill
1049Emily Z FlosiBrazil2024-06-21Rangoni Of Florence NEW27Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Aditya R MaletSpainXuxue Feng QUALIFIED
Faith A StockhamIndiaXuxue Feng UNQUALIFIED
Juan Z PerinFranceAnna Fali QUALIFIED
Aika V ChuiIndiaStephen Shaw UNQUALIFIED
Jennifer W KolmetzIndiaBernardo Dominic NEGOTIATION
Munro X WieserFranceOnyama Limba RENEWAL
Stacey L FollerUnited KingdomIoni Bowcher NEW
Costa L SaylorsItalyIoni Bowcher RENEWAL
Maria A StensethIndiaXuxue Feng QUALIFIED
Aditya N GarufiItalyAnna Fali NEW
Morrow A VenereUnited KingdomElwin Sharvill QUALIFIED
Morrow T FigeroaIndiaIvan Magalhaes PROPOSAL
Johnson A MorascaRussiaAsiya Javayant NEGOTIATION
Misaki B DilliardAustraliaBernardo Dominic PROPOSAL
Francesco K AlbaresGermanyStephen Shaw RENEWAL
Silvio K RulapaughFranceIoni Bowcher NEW
Jeanfrancois J StockhamItalyBernardo Dominic NEW
Munro K WhobreyFranceIvan Magalhaes UNQUALIFIED
Johnson V WaycottGermanyBernardo Dominic NEGOTIATION
Jeanfrancois T ChuiBrazilAsiya Javayant PROPOSAL
Ivar A CaudySpainOnyama Limba UNQUALIFIED
Juan R FerenczGermanyIvan Magalhaes NEW
Sinclair W DilliardFranceOnyama Limba NEGOTIATION
Chavez M IturbideBrazilStephen Shaw NEW
Morrow W FollerIndiaIvan Magalhaes NEW
Maisha N OstroskySpainStephen Shaw NEGOTIATION
Wickens D KuskoUnited KingdomAsiya Javayant QUALIFIED
Izzy H AmigonItalyAmy Elsner NEGOTIATION
Jones V OldroydItalyElwin Sharvill NEGOTIATION
Maria O BologniaJapanElwin Sharvill UNQUALIFIED
Chavez O WieserGermanyAmy Elsner RENEWAL
Chavez P StensethBrazilXuxue Feng PROPOSAL
Aika U FollerFranceAmy Elsner PROPOSAL
Kadeem K IturbideSpainAmy Elsner NEW
Nicolas V ShinkoArgentinaBernardo Dominic NEW
Francesco Z SaylorsItalyElwin Sharvill PROPOSAL
Leja N FlosiUnited KingdomAsiya Javayant NEGOTIATION
Ivar M PerinJapanIvan Magalhaes PROPOSAL
Kadeem N VenereJapanIoni Bowcher NEW
Izzy T FerenczJapanAsiya Javayant QUALIFIED
Emily G KolmetzJapanStephen Shaw RENEWAL
Munro Y SaylorsArgentinaStephen Shaw PROPOSAL
James H RimCanadaOnyama Limba UNQUALIFIED
Cody Y OldroydAustraliaAmy Elsner UNQUALIFIED
Kadeem K OldroydJapanAnna Fali RENEWAL
Kadeem O DilliardSpainXuxue Feng NEW
Sinclair M BowleySpainBernardo Dominic UNQUALIFIED
Claire X GlickArgentinaAsiya Javayant NEW
Francesco G GillianIndiaXuxue Feng PROPOSAL
Julie Q SlusarskiArgentinaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Francesco A Paprocki
Aika J Bolognia
Arvin I Schemmer
Mujtaba G Albares
Darci H Whobrey
Octavia L Albares
Maisha C Paprocki
Aditya E Maclead
Jennifer N Ferencz
Stacey Y Kolmetz
Rodrigues A Tollner
Octavia S Ferencz
Arvin G Tollner
Murillo B Oldroyd
Isabel V Glick
Emily V Slusarski
Arvin L Schemmer
Murillo E Whobrey
Kaitlin Q Perin
Kadeem S Whobrey
Silvio M Garufi
Leon E Marrier
Faith V Bowley
Mujtaba E Rim
Aika E Inouye
Maisha S Kusko
Claire F Chui
Leja H Waycott
David R Figeroa
Izzy K Venere
Jeanfrancois Y Nicka
Tony V Albares
Murillo O Foller
Wickens P Campain
Jennifer S Rim
Salvatore R Albares
Aruna M Gillian
Faith K Bowley
Darci A Campain
Maria V Ruta
Morrow X Malet
Sinclair W Caudy
Clifford H Foller
Leon K Figeroa
Francesco Y Nestle
Aruna E Gaucho
Arvin X Dilliard
Kadeem Z Ostrosky
Leja F Darakjy
Faith N Gaucho
IdCountryDate
1000Italy2024-06-11
1001Canada2024-05-29
1002India2024-06-09
1003Argentina2024-06-23
1004United Kingdom2024-06-24
1005Germany2024-06-02
1006United Kingdom2024-06-02
1007Spain2024-06-05
1008Russia2024-06-10
1009Russia2024-06-06
1010United Kingdom2024-06-16
1011Germany2024-06-12
1012Canada2024-06-24
1013Italy2024-06-20
1014Japan2024-05-26
1015Italy2024-06-19
1016Spain2024-06-08
1017Russia2024-06-15
1018United Kingdom2024-06-01
1019Brazil2024-06-14
1020France2024-06-12
1021United Kingdom2024-06-13
1022Russia2024-05-28
1023Australia2024-06-19
1024Italy2024-05-26
1025Germany2024-06-20
1026Italy2024-05-26
1027France2024-06-05
1028Italy2024-06-04
1029Argentina2024-06-23
1030Japan2024-06-14
1031Canada2024-06-12
1032Italy2024-06-16
1033Spain2024-06-05
1034India2024-06-05
1035Australia2024-05-28
1036Brazil2024-06-04
1037Spain2024-05-28
1038Brazil2024-06-13
1039United Kingdom2024-06-20
1040United Kingdom2024-05-27
1041Canada2024-06-22
1042Canada2024-06-12
1043Russia2024-05-28
1044United Kingdom2024-06-19
1045Italy2024-06-17
1046Argentina2024-06-01
1047Russia2024-06-03
1048Spain2024-06-08
1049India2024-05-29

On-Demand Data

NameIdCountryDate
Mujtaba A Inouye1000United Kingdom2024-06-02
Izzy I Whobrey1001United Kingdom2024-05-28
Johnson Q Schemmer1002Canada2024-06-22
Antonio Q Nestle1003Brazil2024-05-27
Wickens T Bolognia1004Australia2024-05-30
Faith H Bowley1005Canada2024-05-27
Clifford M Caudy1006Italy2024-06-03
Julie N Nicka1007Australia2024-06-21
Maria X Waycott1008Russia2024-05-26
Aika W Figeroa1009Argentina2024-05-29
Octavia T Vocelka1010India2024-06-14
Isabel L Garufi1011Australia2024-06-05
Greenwood I Dilliard1012Russia2024-06-07
Darci J Inouye1013France2024-05-31
Murillo A Caudy1014Canada2024-06-23
Jefferson I Kolmetz1015Argentina2024-06-05
Chavez L Garufi1016Canada2024-06-16
Leja F Briddick1017Australia2024-06-01
Jones L Paprocki1018India2024-06-05
Izzy W Stockham1019Russia2024-06-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha S WaycottRussiaOnyama Limba RENEWAL
Leon L CampainRussiaStephen Shaw PROPOSAL
James I SergiUnited KingdomXuxue Feng QUALIFIED
Morrow C ChuiRussiaXuxue Feng PROPOSAL
Ricardo N OldroydFranceElwin Sharvill QUALIFIED
Morrow F ButtAustraliaStephen Shaw PROPOSAL
Clifford P CampainBrazilElwin Sharvill NEW
Maria J BriddickUnited KingdomStephen Shaw UNQUALIFIED
Silvio L KuskoJapanXuxue Feng NEW
David Y FollerJapanStephen Shaw PROPOSAL
Aika D GillianGermanyIvan Magalhaes RENEWAL
Chavez I DilliardGermanyElwin Sharvill NEW
Mayumi Z BowleyAustraliaElwin Sharvill RENEWAL
Emily X FollerFranceIoni Bowcher NEW
Octavia E GauchoIndiaOnyama Limba NEGOTIATION
Cody K BriddickBrazilXuxue Feng PROPOSAL
Costa R RimFranceStephen Shaw NEW
Maria R KuskoRussiaIoni Bowcher NEGOTIATION
Cody S PaprockiArgentinaOnyama Limba RENEWAL
Adams Q SlusarskiItalyIoni Bowcher RENEWAL
Costa S InouyeSpainStephen Shaw RENEWAL
Kaitlin O PaprockiJapanAnna Fali QUALIFIED
Izzy I MaletIndiaXuxue Feng QUALIFIED
Sinclair Z ChuiRussiaXuxue Feng NEGOTIATION
Cody U GarufiGermanyElwin Sharvill NEW
Kaitlin H VenereBrazilOnyama Limba UNQUALIFIED
Jefferson Q FlosiCanadaAnna Fali QUALIFIED
Ashley E FerenczBrazilIoni Bowcher RENEWAL
Kadeem W BologniaUnited KingdomBernardo Dominic RENEWAL
Darci D FigeroaGermanyOnyama Limba NEGOTIATION
Murillo R StensethJapanXuxue Feng QUALIFIED
James V BowleyArgentinaAsiya Javayant UNQUALIFIED
Aruna V WaycottCanadaXuxue Feng PROPOSAL
Nicolas V CaudyCanadaAmy Elsner RENEWAL
Aruna T MorascaRussiaXuxue Feng RENEWAL
Alejandro H ShinkoFranceIvan Magalhaes UNQUALIFIED
Chavez D IturbideBrazilElwin Sharvill UNQUALIFIED
David C VocelkaItalyOnyama Limba PROPOSAL
Maisha A MorascaItalyAmy Elsner RENEWAL
Juan Z KuskoIndiaXuxue Feng RENEWAL

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