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 Z CaldareraIndiaElwin Sharvill UNQUALIFIED
Ivar C StockhamRussiaElwin Sharvill NEW
Francesco T IturbideFranceIoni Bowcher NEW
Kadeem W MaletFranceIoni Bowcher NEW
Costa K StockhamIndiaAnna Fali RENEWAL
Alejandro V BowleyAustraliaAnna Fali QUALIFIED
Faith L KuskoSpainXuxue Feng RENEWAL
Jefferson C PerinIndiaIoni Bowcher NEW
Morrow H GarufiArgentinaStephen Shaw PROPOSAL
Jeanfrancois V DoeIndiaAmy Elsner UNQUALIFIED
Aika U BowleyBrazilAmy Elsner RENEWAL
Juan N BowleyAustraliaAmy Elsner QUALIFIED
Darci L ShinkoJapanXuxue Feng QUALIFIED
Wickens D DoeUnited KingdomAsiya Javayant QUALIFIED
Aditya F SchemmerItalyStephen Shaw UNQUALIFIED
Johnson V MacleadCanadaStephen Shaw NEW
Silvio Q VocelkaFranceIvan Magalhaes QUALIFIED
Clifford M MaletCanadaBernardo Dominic NEW
Greenwood X PerinItalyBernardo Dominic PROPOSAL
Jennifer W GillianUnited KingdomIvan Magalhaes UNQUALIFIED
David L RoysterArgentinaAnna Fali NEW
Mujtaba Z InouyeAustraliaAsiya Javayant PROPOSAL
Antonio U PoquetteJapanIoni Bowcher NEW
Emily Q GauchoIndiaIoni Bowcher NEW
Johnson R SchemmerArgentinaAmy Elsner UNQUALIFIED
James G StockhamArgentinaAnna Fali RENEWAL
Julie H RoysterGermanyAnna Fali RENEWAL
Cody E GillianAustraliaElwin Sharvill NEW
Francesco R FlosiIndiaAmy Elsner NEGOTIATION
Kaitlin J MacleadUnited KingdomXuxue Feng QUALIFIED
Juan L SchemmerArgentinaAsiya Javayant NEW
Francesco V OldroydBrazilElwin Sharvill RENEWAL
Chavez A FlosiAustraliaStephen Shaw QUALIFIED
Misaki R KolmetzSpainBernardo Dominic NEGOTIATION
James C MacleadAustraliaXuxue Feng UNQUALIFIED
Ashley J RimIndiaAnna Fali QUALIFIED
Emily G ShinkoJapanOnyama Limba QUALIFIED
Emily O CaldareraUnited KingdomAsiya Javayant RENEWAL
Munro J MacleadIndiaBernardo Dominic QUALIFIED
Antonio T NestleUnited KingdomOnyama Limba RENEWAL
Antonio M GarufiBrazilIoni Bowcher UNQUALIFIED
Cody Y NickaJapanAmy Elsner NEW
Aditya N PaprockiArgentinaIvan Magalhaes NEW
Kadeem W DoeRussiaElwin Sharvill NEW
Isabel B CaudyBrazilAmy Elsner RENEWAL
Clifford H StockhamArgentinaAnna Fali RENEWAL
Aruna W FerenczItalyElwin Sharvill QUALIFIED
Leon C FlosiGermanyAsiya Javayant UNQUALIFIED
Cody L RoysterUnited KingdomElwin Sharvill PROPOSAL
Ivar H WaycottBrazilIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Murillo V GillianUnited KingdomBernardo Dominic PROPOSAL
Faith A PoquetteFranceStephen Shaw QUALIFIED
Leja E RutaFranceElwin Sharvill NEGOTIATION
Leja J PerinItalyStephen Shaw NEW
Jennifer B PoquetteJapanBernardo Dominic NEGOTIATION
Kadeem Q GlickAustraliaXuxue Feng NEW
Ricardo Y WaycottArgentinaAmy Elsner NEGOTIATION
Greenwood D GarufiJapanIvan Magalhaes RENEWAL
Munro E PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Cody S PoquetteJapanAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson U NickaItaly2025-04-04Rangoni Of Florence RENEWAL33Ivan Magalhaes
1001Maisha G CampainSpain2025-04-29Commercial Press NEGOTIATION77Amy Elsner
1002Mujtaba Z KuskoArgentina2025-04-24Commercial Press PROPOSAL39Elwin Sharvill
1003Stacey E CaldareraCanada2025-04-12Chapman, Ross E Esq RENEWAL67Bernardo Dominic
1004David I FigeroaFrance2025-04-03Chanay, Jeffrey A Esq UNQUALIFIED30Amy Elsner
1005Mayumi M GauchoItaly2025-04-18Dorl, James J Esq UNQUALIFIED12Stephen Shaw
1006Juan F GillianRussia2025-04-13Morlong Associates NEW20Ivan Magalhaes
1007Wickens N RoysterSpain2025-04-02Morlong Associates PROPOSAL74Onyama Limba
1008Nicolas R InouyeArgentina2025-04-06Chemel, James L Cpa NEW27Ivan Magalhaes
1009Emily X DarakjyBrazil2025-04-01Feltz Printing Service NEW25Stephen Shaw
1010Tony G BologniaIndia2025-04-24Commercial Press NEW3Ioni Bowcher
1011Munro J VocelkaArgentina2025-04-18Chapman, Ross E Esq QUALIFIED67Asiya Javayant
1012Kaitlin T OldroydBrazil2025-04-14Chapman, Ross E Esq NEGOTIATION36Ivan Magalhaes
1013David B OstroskyGermany2025-04-18Dorl, James J Esq NEGOTIATION61Xuxue Feng
1014Faith I WhobreyGermany2025-04-11Chapman, Ross E Esq RENEWAL62Xuxue Feng
1015Francesco E SaylorsItaly2025-04-13Rangoni Of Florence NEW94Xuxue Feng
1016Jones P RutaFrance2025-04-20Buckley Miller Wright PROPOSAL25Anna Fali
1017Ricardo P IturbideItaly2025-04-17Commercial Press RENEWAL11Asiya Javayant
1018Mayumi Z DilliardGermany2025-04-24Morlong Associates QUALIFIED86Onyama Limba
1019Arvin C NickaFrance2025-04-01Buckley Miller Wright QUALIFIED58Stephen Shaw
1020Deepesh X PerinGermany2025-04-20King, Christopher A Esq RENEWAL1Anna Fali
1021Kaitlin Q TollnerJapan2025-04-08Rousseaux, Michael Esq PROPOSAL28Amy Elsner
1022Misaki I AmigonAustralia2025-04-22Feltz Printing Service QUALIFIED8Bernardo Dominic
1023David D MorascaJapan2025-04-03Chemel, James L Cpa UNQUALIFIED62Bernardo Dominic
1024Kaitlin S WieserSpain2025-04-23Feiner Bros NEW45Onyama Limba
1025Alejandro T AmigonAustralia2025-04-19Buckley Miller Wright NEW38Amy Elsner
1026Octavia Y FerenczUnited Kingdom2025-03-31Morlong Associates PROPOSAL32Ioni Bowcher
1027Maisha Q TollnerRussia2025-04-02Morlong Associates NEGOTIATION0Amy Elsner
1028Morrow C BologniaJapan2025-04-29Printing Dimensions NEW97Elwin Sharvill
1029Stacey Y GarufiArgentina2025-04-15Feiner Bros NEW60Xuxue Feng
1030Nicolas Z VocelkaSpain2025-04-21Feltz Printing Service RENEWAL58Ivan Magalhaes
1031Isabel X ShinkoSpain2025-04-29Feiner Bros NEGOTIATION40Ivan Magalhaes
1032Tony J OstroskyItaly2025-04-07Benton, John B Jr RENEWAL34Elwin Sharvill
1033Juan U NickaGermany2025-04-10Feiner Bros RENEWAL15Stephen Shaw
1034Leja D SaylorsArgentina2025-04-23Rousseaux, Michael Esq UNQUALIFIED83Stephen Shaw
1035Silvio W IturbideAustralia2025-03-31Printing Dimensions NEGOTIATION39Asiya Javayant
1036Morrow W FlosiCanada2025-04-05Dorl, James J Esq NEW87Bernardo Dominic
1037Jeanfrancois Y WhobreyUnited Kingdom2025-04-14Rousseaux, Michael Esq UNQUALIFIED33Ivan Magalhaes
1038Stacey P CaudyGermany2025-04-23Rousseaux, Michael Esq NEGOTIATION69Ivan Magalhaes
1039Tony T DilliardGermany2025-04-21Rousseaux, Michael Esq UNQUALIFIED19Asiya Javayant
1040Chavez Z OldroydFrance2025-04-26Chanay, Jeffrey A Esq QUALIFIED14Stephen Shaw
1041Mujtaba B SlusarskiFrance2025-04-03Chapman, Ross E Esq RENEWAL84Elwin Sharvill
1042Maria U GillianGermany2025-04-11Buckley Miller Wright PROPOSAL47Elwin Sharvill
1043Jefferson Y DarakjyArgentina2025-04-19Chapman, Ross E Esq RENEWAL44Onyama Limba
1044Sinclair S IturbideUnited Kingdom2025-04-26Morlong Associates RENEWAL86Stephen Shaw
1045Nicolas Q DarakjyJapan2025-04-05Morlong Associates QUALIFIED71Elwin Sharvill
1046Chavez C FollerAustralia2025-04-29Truhlar And Truhlar Attys PROPOSAL11Stephen Shaw
1047Morrow A StockhamIndia2025-04-14Commercial Press PROPOSAL75Onyama Limba
1048Isabel F PoquetteItaly2025-04-27Buckley Miller Wright NEGOTIATION84Anna Fali
1049Munro L KuskoUnited Kingdom2025-04-27Morlong Associates QUALIFIED43Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Silvio C WhobreyUnited KingdomOnyama Limba UNQUALIFIED
Juan R BologniaItalyAnna Fali RENEWAL
Johnson O DoeFranceAmy Elsner NEGOTIATION
Ashley R WaycottGermanyAnna Fali RENEWAL
Silvio R StockhamItalyIvan Magalhaes UNQUALIFIED
Nicolas V StockhamGermanyAsiya Javayant RENEWAL
Ashley G GillianGermanyStephen Shaw QUALIFIED
Silvio H WhobreyRussiaAsiya Javayant NEGOTIATION
James Q SlusarskiIndiaElwin Sharvill NEGOTIATION
Jeanfrancois Y VenereAustraliaIoni Bowcher QUALIFIED
Mayumi E FollerItalyStephen Shaw RENEWAL
Adams P DarakjySpainElwin Sharvill NEW
Octavia N WhobreyAustraliaIvan Magalhaes RENEWAL
Kadeem W IturbideCanadaAsiya Javayant QUALIFIED
Silvio Y PoquetteFranceIvan Magalhaes PROPOSAL
Greenwood M MarrierCanadaAmy Elsner QUALIFIED
Costa K NestleAustraliaOnyama Limba PROPOSAL
Francesco A RulapaughArgentinaAsiya Javayant PROPOSAL
Cody C SchemmerFranceOnyama Limba QUALIFIED
Greenwood I WhobreyRussiaAmy Elsner RENEWAL
Jefferson I RoysterUnited KingdomAnna Fali NEW
Leon G NickaAustraliaStephen Shaw RENEWAL
David J PoquetteIndiaAsiya Javayant UNQUALIFIED
Emily I ShinkoCanadaAmy Elsner NEGOTIATION
Kaitlin G CaudyItalyIoni Bowcher RENEWAL
Adams F WaycottSpainXuxue Feng RENEWAL
Aruna A GillianJapanElwin Sharvill QUALIFIED
Kaitlin N ChuiIndiaBernardo Dominic NEGOTIATION
Silvio T CaudyArgentinaXuxue Feng QUALIFIED
Chavez E AlbaresRussiaXuxue Feng NEW
Leja J NestleSpainBernardo Dominic NEGOTIATION
Maria K OstroskyBrazilAsiya Javayant NEW
Aditya V SaylorsCanadaAmy Elsner NEW
Costa R ChuiIndiaIvan Magalhaes NEW
Jefferson Y BologniaJapanAnna Fali NEW
Adams Q FigeroaArgentinaStephen Shaw NEW
Darci H StockhamItalyBernardo Dominic PROPOSAL
Darci G AlbaresCanadaBernardo Dominic QUALIFIED
Salvatore L PaprockiBrazilIvan Magalhaes NEGOTIATION
Arvin Y VocelkaJapanAnna Fali PROPOSAL
Izzy Y SlusarskiGermanyStephen Shaw NEW
Silvio J StockhamFranceAnna Fali RENEWAL
Aditya X VocelkaItalyOnyama Limba QUALIFIED
James H StensethSpainAsiya Javayant QUALIFIED
Francesco L WhobreyArgentinaIoni Bowcher UNQUALIFIED
Juan J VocelkaIndiaAsiya Javayant UNQUALIFIED
Maria Q OldroydCanadaElwin Sharvill NEW
Ashley D SlusarskiJapanAmy Elsner QUALIFIED
Emily Q FlosiItalyOnyama Limba PROPOSAL
Antonio O DilliardBrazilXuxue Feng NEGOTIATION
Frozen Columns
Name
Murillo L Malet
Octavia T Briddick
Emily S Malet
Antonio Q Rulapaugh
Jennifer L Whobrey
Clifford R Ostrosky
Maisha R Tollner
Deepesh L Whobrey
David M Perin
Isabel B Ruta
Faith C Bowley
Chavez J Shinko
Chavez V Gillian
Jefferson P Malet
Ashley H Glick
Adams W Schemmer
Cody J Ferencz
Greenwood O Darakjy
Chavez L Glick
Murillo X Butt
Mujtaba I Maclead
Emily T Stenseth
Chavez K Kolmetz
Aditya K Flosi
Silvio H Schemmer
Johnson F Malet
Juan E Sergi
Ricardo R Briddick
Sinclair B Shinko
Chavez W Whobrey
Faith D Kolmetz
Aruna R Darakjy
Izzy Q Kolmetz
Kaitlin L Flosi
Jefferson F Briddick
Rodrigues X Saylors
Kaitlin I Caudy
Murillo X Albares
Stacey M Rim
Mayumi A Wieser
Antonio Q Slusarski
Adams W Iturbide
Silvio C Ruta
Julie X Poquette
Cody M Figeroa
Rodrigues H Gillian
Maisha U Perin
Wickens M Ferencz
Jefferson H Rulapaugh
Jennifer Y Gillian
IdCountryDate
1000Germany2025-04-05
1001Canada2025-04-17
1002Australia2025-04-10
1003Italy2025-04-17
1004Russia2025-04-17
1005India2025-04-06
1006Argentina2025-04-16
1007Canada2025-04-05
1008Germany2025-04-15
1009United Kingdom2025-04-16
1010Spain2025-04-16
1011Brazil2025-04-11
1012India2025-04-13
1013Germany2025-04-12
1014Russia2025-04-19
1015United Kingdom2025-04-06
1016Canada2025-04-26
1017Argentina2025-04-28
1018Germany2025-04-03
1019Italy2025-04-14
1020Argentina2025-04-10
1021Spain2025-04-09
1022Japan2025-04-20
1023Italy2025-04-21
1024Japan2025-04-16
1025Japan2025-04-14
1026Spain2025-04-11
1027Brazil2025-04-10
1028Argentina2025-04-20
1029Russia2025-03-31
1030United Kingdom2025-04-29
1031Russia2025-04-29
1032Italy2025-04-22
1033Canada2025-04-05
1034Canada2025-04-07
1035Italy2025-04-06
1036United Kingdom2025-04-24
1037Japan2025-04-13
1038Australia2025-04-12
1039Japan2025-04-04
1040Brazil2025-04-18
1041Russia2025-04-03
1042Canada2025-04-21
1043France2025-04-17
1044Australia2025-04-18
1045Canada2025-04-01
1046India2025-04-25
1047Spain2025-04-28
1048Russia2025-04-29
1049Canada2025-04-27

On-Demand Data

NameIdCountryDate
Octavia S Sergi1000Canada2025-04-12
Jennifer G Kusko1001India2025-04-11
Silvio L Venere1002Germany2025-04-18
Mujtaba H Caldarera1003Argentina2025-04-03
Johnson M Tollner1004Argentina2025-04-06
Murillo I Maclead1005India2025-04-13
Julie M Vocelka1006Japan2025-04-04
Arvin V Whobrey1007Spain2025-04-07
Darci H Nicka1008Italy2025-04-09
Aika G Paprocki1009Brazil2025-04-03
Faith P Shinko1010Italy2025-04-26
Chavez Q Royster1011Australia2025-04-01
Maisha M Royster1012France2025-04-13
Nicolas A Rim1013Japan2025-04-24
Misaki Z Caudy1014United Kingdom2025-04-01
Clifford W Ostrosky1015Brazil2025-04-18
Juan T Gaucho1016Spain2025-04-11
Sinclair H Venere1017Germany2025-04-02
Morrow E Marrier1018Canada2025-04-06
Greenwood F Darakjy1019India2025-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens I GlickIndiaAmy Elsner NEW
Arvin L RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Morrow H IturbideJapanElwin Sharvill PROPOSAL
Isabel H WhobreyFranceElwin Sharvill NEGOTIATION
Aika O MarrierFranceAsiya Javayant QUALIFIED
Costa Q NickaArgentinaAnna Fali NEGOTIATION
Aditya I DilliardAustraliaElwin Sharvill NEW
Mujtaba H TollnerBrazilIvan Magalhaes UNQUALIFIED
Alejandro O GillianJapanBernardo Dominic NEGOTIATION
Claire X RutaIndiaOnyama Limba NEGOTIATION
Costa A SaylorsItalyIoni Bowcher QUALIFIED
Morrow F CaudyUnited KingdomElwin Sharvill PROPOSAL
Cody E AlbaresAustraliaIoni Bowcher RENEWAL
Isabel I VocelkaRussiaAsiya Javayant RENEWAL
Mayumi J SaylorsRussiaXuxue Feng UNQUALIFIED
Juan A ShinkoJapanStephen Shaw NEGOTIATION
Ivar Q VenereFranceXuxue Feng QUALIFIED
Francesco Q DoeArgentinaIoni Bowcher RENEWAL
Salvatore I MaletAustraliaAnna Fali NEGOTIATION
Faith G RulapaughRussiaAmy Elsner NEW
Maisha P SergiArgentinaOnyama Limba QUALIFIED
Morrow X KuskoRussiaAsiya Javayant QUALIFIED
Adams Y MorascaCanadaIvan Magalhaes PROPOSAL
Ashley P DarakjyCanadaOnyama Limba QUALIFIED
Morrow X WhobreyJapanIoni Bowcher QUALIFIED
Misaki N CaldareraBrazilAnna Fali NEW
Maisha G WaycottArgentinaElwin Sharvill NEW
Costa R MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Isabel C MarrierCanadaIvan Magalhaes QUALIFIED
Aditya I DoeRussiaBernardo Dominic NEW
Emily I MarrierArgentinaIvan Magalhaes UNQUALIFIED
Ashley H OstroskyGermanyAnna Fali NEW
Silvio T GauchoIndiaOnyama Limba NEGOTIATION
Morrow A InouyeItalyStephen Shaw UNQUALIFIED
David V KuskoJapanAnna Fali RENEWAL
Darci X MorascaRussiaXuxue Feng RENEWAL
Alejandro E GarufiSpainAnna Fali RENEWAL
James P PerinItalyXuxue Feng RENEWAL
Jeanfrancois A MaletUnited KingdomXuxue Feng NEW
Francesco T SergiFranceIvan Magalhaes NEW

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