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
Maisha V OldroydGermanyIvan Magalhaes QUALIFIED
Faith L FerenczBrazilAsiya Javayant NEW
Aruna V VenereAustraliaXuxue Feng NEW
Silvio J RoysterIndiaBernardo Dominic QUALIFIED
James T FollerCanadaXuxue Feng NEW
Leon B GlickUnited KingdomStephen Shaw UNQUALIFIED
Isabel T DarakjyFranceAnna Fali NEGOTIATION
Faith I CaldareraIndiaIvan Magalhaes NEW
Costa V DarakjyAustraliaOnyama Limba NEGOTIATION
Rodrigues E VenereRussiaAsiya Javayant PROPOSAL
Murillo F FerenczGermanyBernardo Dominic NEW
Alejandro Y BriddickJapanIoni Bowcher NEW
Aika B StensethItalyOnyama Limba NEW
Antonio H DilliardArgentinaXuxue Feng RENEWAL
Mayumi E CaldareraFranceIvan Magalhaes UNQUALIFIED
Deepesh E DilliardJapanAnna Fali NEGOTIATION
Octavia A VocelkaJapanIvan Magalhaes RENEWAL
Misaki U BowleySpainElwin Sharvill UNQUALIFIED
Isabel G SergiItalyStephen Shaw PROPOSAL
Antonio J SaylorsGermanyIvan Magalhaes NEGOTIATION
Julie B IturbideAustraliaOnyama Limba NEGOTIATION
Aditya O RoysterBrazilIoni Bowcher QUALIFIED
Izzy Y MacleadGermanyAmy Elsner QUALIFIED
Clifford L SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Chavez P PoquetteBrazilIoni Bowcher NEGOTIATION
Aditya Y GillianItalyIoni Bowcher NEGOTIATION
Darci Q MarrierSpainAmy Elsner QUALIFIED
James C ShinkoItalyElwin Sharvill UNQUALIFIED
Faith V NestleArgentinaBernardo Dominic RENEWAL
Stacey X BologniaAustraliaAnna Fali QUALIFIED
Ricardo T MorascaUnited KingdomXuxue Feng NEGOTIATION
Stacey R RutaIndiaElwin Sharvill RENEWAL
Kadeem J AmigonBrazilStephen Shaw RENEWAL
Greenwood V StensethIndiaBernardo Dominic UNQUALIFIED
Costa A RimUnited KingdomOnyama Limba RENEWAL
Jones F CaudyBrazilXuxue Feng UNQUALIFIED
Silvio U DilliardFranceBernardo Dominic UNQUALIFIED
Aika H BologniaItalyBernardo Dominic NEGOTIATION
Jennifer L ShinkoIndiaIoni Bowcher RENEWAL
Antonio R CampainItalyElwin Sharvill UNQUALIFIED
Ashley F NickaRussiaIvan Magalhaes NEW
Arvin X MarrierArgentinaAsiya Javayant QUALIFIED
Deepesh H KolmetzJapanIvan Magalhaes QUALIFIED
Leon J FollerSpainAnna Fali NEW
Smith S FollerIndiaOnyama Limba NEW
Kadeem W MaletRussiaXuxue Feng PROPOSAL
Nicolas Y MacleadIndiaAmy Elsner RENEWAL
James B FigeroaJapanOnyama Limba PROPOSAL
Sinclair Y DilliardAustraliaAnna Fali QUALIFIED
Costa W PaprockiItalyAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Salvatore M ButtAustraliaIoni Bowcher NEW
Kadeem A RulapaughJapanBernardo Dominic NEW
Izzy Q BowleyFranceElwin Sharvill NEGOTIATION
Clifford E TollnerAustraliaAsiya Javayant RENEWAL
Aika A WaycottItalyBernardo Dominic QUALIFIED
Mayumi X WieserFranceOnyama Limba PROPOSAL
Stacey Q VocelkaUnited KingdomAmy Elsner UNQUALIFIED
Silvio Z WhobreyArgentinaElwin Sharvill UNQUALIFIED
Aika F SaylorsSpainAnna Fali NEW
Stacey Z DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer S OldroydItaly2025-05-18Feltz Printing Service RENEWAL8Ivan Magalhaes
1001Greenwood H RulapaughUnited Kingdom2025-06-04King, Christopher A Esq NEGOTIATION52Xuxue Feng
1002Alejandro X WhobreyFrance2025-05-25Morlong Associates UNQUALIFIED91Onyama Limba
1003James Z FigeroaUnited Kingdom2025-05-16Rangoni Of Florence UNQUALIFIED88Ivan Magalhaes
1004Julie M RimJapan2025-05-28Morlong Associates PROPOSAL59Stephen Shaw
1005Clifford W MaletItaly2025-05-29Commercial Press RENEWAL94Ioni Bowcher
1006Maisha A TollnerBrazil2025-05-24Feltz Printing Service PROPOSAL49Elwin Sharvill
1007Ricardo J StensethFrance2025-05-31Chapman, Ross E Esq NEGOTIATION72Stephen Shaw
1008Greenwood G PerinIndia2025-05-16Benton, John B Jr UNQUALIFIED66Anna Fali
1009Kadeem Z SergiGermany2025-05-19Rousseaux, Michael Esq RENEWAL73Asiya Javayant
1010Misaki H PaprockiCanada2025-05-31Morlong Associates NEW69Onyama Limba
1011Maisha X GillianBrazil2025-06-04Chapman, Ross E Esq QUALIFIED95Anna Fali
1012Leja F FigeroaRussia2025-05-16Buckley Miller Wright NEGOTIATION88Ioni Bowcher
1013Jennifer Y BriddickCanada2025-05-20Feltz Printing Service NEW44Xuxue Feng
1014Ivar H AmigonRussia2025-05-26Truhlar And Truhlar Attys QUALIFIED81Onyama Limba
1015Munro V TollnerCanada2025-06-14Benton, John B Jr QUALIFIED39Ioni Bowcher
1016Jennifer J TollnerCanada2025-06-04Morlong Associates QUALIFIED57Ioni Bowcher
1017Arvin L SaylorsAustralia2025-05-20Printing Dimensions QUALIFIED6Asiya Javayant
1018Darci X AlbaresCanada2025-06-12Rangoni Of Florence NEGOTIATION36Anna Fali
1019Smith C FigeroaFrance2025-05-27Chapman, Ross E Esq NEW26Onyama Limba
1020Johnson J GlickRussia2025-05-29Dorl, James J Esq QUALIFIED20Anna Fali
1021Clifford U MarrierArgentina2025-05-22Commercial Press QUALIFIED39Amy Elsner
1022Mujtaba Z BowleyRussia2025-05-17Chanay, Jeffrey A Esq PROPOSAL90Xuxue Feng
1023Maria M DarakjyFrance2025-05-29Chemel, James L Cpa NEGOTIATION41Bernardo Dominic
1024Julie Q VenereUnited Kingdom2025-05-26Commercial Press RENEWAL60Asiya Javayant
1025Murillo D MaletBrazil2025-06-04Feltz Printing Service NEW54Amy Elsner
1026Wickens S SchemmerArgentina2025-05-31Chapman, Ross E Esq UNQUALIFIED32Elwin Sharvill
1027Johnson Q ChuiGermany2025-05-21Rousseaux, Michael Esq PROPOSAL33Amy Elsner
1028Cody A ChuiCanada2025-06-07Chanay, Jeffrey A Esq RENEWAL16Stephen Shaw
1029Isabel G PaprockiArgentina2025-05-26Chanay, Jeffrey A Esq UNQUALIFIED91Anna Fali
1030Morrow W MarrierRussia2025-06-03Chapman, Ross E Esq NEW48Xuxue Feng
1031Silvio N GlickArgentina2025-06-03Rangoni Of Florence QUALIFIED77Anna Fali
1032Smith G OldroydCanada2025-05-31Commercial Press PROPOSAL88Ivan Magalhaes
1033Emily F RulapaughItaly2025-06-08Feiner Bros PROPOSAL20Asiya Javayant
1034Mujtaba N OstroskyRussia2025-05-18Chapman, Ross E Esq UNQUALIFIED27Onyama Limba
1035Costa L AlbaresAustralia2025-06-01Commercial Press PROPOSAL5Ivan Magalhaes
1036Deepesh K GarufiSpain2025-05-26Morlong Associates RENEWAL82Anna Fali
1037Stacey E MacleadRussia2025-06-01Printing Dimensions NEW7Asiya Javayant
1038Aika U SchemmerCanada2025-05-23Feiner Bros UNQUALIFIED91Amy Elsner
1039Aditya P WieserItaly2025-05-24Chanay, Jeffrey A Esq RENEWAL68Bernardo Dominic
1040Rodrigues H DilliardBrazil2025-06-04Dorl, James J Esq NEGOTIATION71Xuxue Feng
1041James W FigeroaArgentina2025-05-29Truhlar And Truhlar Attys UNQUALIFIED9Anna Fali
1042Maisha D BriddickJapan2025-06-03Feltz Printing Service QUALIFIED12Onyama Limba
1043Juan Q NestleSpain2025-05-17Dorl, James J Esq RENEWAL59Onyama Limba
1044Mujtaba P FigeroaJapan2025-06-07Buckley Miller Wright UNQUALIFIED89Elwin Sharvill
1045Faith L InouyeJapan2025-05-23Chemel, James L Cpa QUALIFIED4Amy Elsner
1046Munro S KuskoItaly2025-06-09Chemel, James L Cpa RENEWAL12Asiya Javayant
1047Silvio A NickaIndia2025-06-09Rangoni Of Florence QUALIFIED85Ivan Magalhaes
1048Ivar T VocelkaJapan2025-06-08Chemel, James L Cpa UNQUALIFIED34Elwin Sharvill
1049Murillo H FlosiFrance2025-06-09Feiner Bros NEGOTIATION55Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin X ChuiArgentinaBernardo Dominic RENEWAL
Juan P RulapaughJapanIvan Magalhaes NEW
Jeanfrancois X MorascaGermanyBernardo Dominic UNQUALIFIED
Johnson F NickaGermanyXuxue Feng PROPOSAL
Adams K StensethCanadaStephen Shaw PROPOSAL
Emily O VocelkaJapanAsiya Javayant NEGOTIATION
Ivar N FollerItalyXuxue Feng QUALIFIED
Darci G GarufiRussiaStephen Shaw QUALIFIED
Emily D MorascaFranceAnna Fali QUALIFIED
Wickens J DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Alejandro E BologniaRussiaIvan Magalhaes NEGOTIATION
Isabel Q PoquetteItalyAmy Elsner NEGOTIATION
Stacey A BowleyFranceElwin Sharvill QUALIFIED
Munro B GlickItalyStephen Shaw RENEWAL
Arvin V WhobreyItalyOnyama Limba RENEWAL
Faith Q InouyeAustraliaElwin Sharvill QUALIFIED
Munro J KolmetzFranceBernardo Dominic QUALIFIED
Antonio X ChuiBrazilAmy Elsner NEGOTIATION
James K IturbideAustraliaElwin Sharvill NEGOTIATION
Maisha L ShinkoRussiaIoni Bowcher NEGOTIATION
Ivar X AlbaresSpainElwin Sharvill UNQUALIFIED
Faith R GauchoIndiaAnna Fali UNQUALIFIED
Wickens E VocelkaArgentinaElwin Sharvill UNQUALIFIED
Mujtaba R CaudyItalyElwin Sharvill NEW
Clifford N NestleCanadaAsiya Javayant QUALIFIED
Sinclair T PoquetteGermanyAsiya Javayant RENEWAL
Claire G DilliardAustraliaIoni Bowcher QUALIFIED
Kadeem W ButtIndiaAnna Fali RENEWAL
Darci S TollnerGermanyStephen Shaw NEGOTIATION
Ivar T GarufiJapanElwin Sharvill NEGOTIATION
Stacey H GillianRussiaXuxue Feng NEW
Sinclair G AmigonItalyElwin Sharvill NEGOTIATION
Octavia H MarrierItalyAsiya Javayant PROPOSAL
Claire Z AmigonFranceBernardo Dominic QUALIFIED
Jones R ButtSpainIvan Magalhaes UNQUALIFIED
Leon Z InouyeRussiaIvan Magalhaes UNQUALIFIED
Jones T ShinkoFranceStephen Shaw UNQUALIFIED
Misaki I WieserItalyAnna Fali NEW
Emily Q GauchoJapanXuxue Feng NEGOTIATION
Johnson W PaprockiArgentinaStephen Shaw PROPOSAL
Ricardo U InouyeFranceStephen Shaw UNQUALIFIED
Isabel A GauchoRussiaXuxue Feng UNQUALIFIED
Clifford D RulapaughArgentinaAmy Elsner UNQUALIFIED
Jones B KolmetzIndiaOnyama Limba NEGOTIATION
Julie S MorascaArgentinaAmy Elsner RENEWAL
Mujtaba V TollnerFranceElwin Sharvill UNQUALIFIED
Greenwood V BologniaIndiaAnna Fali UNQUALIFIED
James C SchemmerArgentinaAsiya Javayant NEW
Claire G GauchoJapanXuxue Feng PROPOSAL
Kaitlin E MorascaUnited KingdomIoni Bowcher PROPOSAL
Frozen Columns
Name
Nicolas M Campain
Munro Y Amigon
Deepesh L Albares
Jeanfrancois E Ruta
Ivar H Vocelka
Deepesh V Ostrosky
Greenwood L Marrier
Darci X Figeroa
Maria Z Albares
Claire U Paprocki
Izzy I Kolmetz
Aruna P Briddick
Adams Z Stenseth
Arvin F Caudy
Aruna L Dilliard
James F Shinko
Wickens W Amigon
Costa H Maclead
Murillo X Malet
Jones P Ostrosky
Sinclair Z Chui
Faith E Ferencz
Julie T Campain
Leja B Shinko
Maisha O Waycott
Jones O Perin
Stacey A Glick
Jefferson C Iturbide
Leja P Nestle
Leja B Schemmer
Julie J Bowley
Faith F Amigon
Nicolas M Caudy
Wickens W Campain
Ricardo U Garufi
Deepesh D Malet
Morrow V Malet
Jefferson S Paprocki
Kadeem K Wieser
Ivar U Kolmetz
Ivar R Chui
Ashley X Kolmetz
Maria P Sergi
Adams I Inouye
Octavia U Sergi
Maisha M Chui
Adams Q Maclead
Clifford F Glick
Arvin W Ruta
Aditya B Ostrosky
IdCountryDate
1000India2025-06-09
1001Germany2025-05-20
1002Brazil2025-06-04
1003India2025-05-17
1004Russia2025-06-09
1005France2025-05-25
1006Japan2025-06-12
1007Russia2025-05-17
1008Russia2025-06-12
1009Japan2025-06-13
1010Canada2025-06-05
1011Germany2025-06-09
1012Italy2025-06-02
1013Australia2025-06-01
1014Japan2025-06-01
1015Argentina2025-06-01
1016India2025-05-16
1017Canada2025-05-27
1018Argentina2025-05-25
1019Spain2025-05-25
1020India2025-05-25
1021Italy2025-05-30
1022Australia2025-05-24
1023Germany2025-05-18
1024India2025-06-08
1025France2025-06-02
1026Canada2025-05-27
1027Canada2025-05-19
1028Japan2025-05-24
1029United Kingdom2025-05-20
1030Brazil2025-06-06
1031India2025-06-08
1032Japan2025-05-30
1033Italy2025-05-30
1034United Kingdom2025-05-24
1035Italy2025-05-27
1036Italy2025-06-08
1037France2025-06-14
1038Russia2025-05-20
1039Brazil2025-06-09
1040Russia2025-06-05
1041Germany2025-06-02
1042Canada2025-05-27
1043Brazil2025-06-14
1044United Kingdom2025-06-11
1045Brazil2025-05-20
1046India2025-05-16
1047Australia2025-05-18
1048Australia2025-05-22
1049Australia2025-06-08

On-Demand Data

NameIdCountryDate
Misaki E Stenseth1000Russia2025-06-11
Claire V Bowley1001India2025-05-24
Isabel J Royster1002India2025-05-31
Mayumi Y Schemmer1003Spain2025-05-28
Clifford H Bowley1004United Kingdom2025-05-16
Maisha I Nicka1005Brazil2025-05-18
Jefferson Y Campain1006Brazil2025-05-22
Jennifer X Iturbide1007Canada2025-06-05
Cody Q Malet1008Brazil2025-05-31
Faith X Figeroa1009Italy2025-06-01
Juan G Rim1010Japan2025-05-21
Smith E Flosi1011India2025-05-31
Murillo C Campain1012Italy2025-06-04
Mujtaba L Shinko1013Japan2025-06-01
Nicolas H Slusarski1014Japan2025-05-30
Cody E Schemmer1015Japan2025-05-24
Leon O Inouye1016Brazil2025-05-17
Cody B Kusko1017France2025-06-07
Adams X Glick1018Russia2025-05-31
Munro B Malet1019Japan2025-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon E PaprockiIndiaOnyama Limba NEGOTIATION
Salvatore E KolmetzIndiaAmy Elsner PROPOSAL
Aika O WaycottJapanIvan Magalhaes NEW
Izzy V RulapaughItalyAnna Fali UNQUALIFIED
Julie C ShinkoSpainXuxue Feng NEW
Johnson I NickaUnited KingdomAnna Fali NEW
Alejandro N BriddickUnited KingdomElwin Sharvill NEGOTIATION
Faith Z AlbaresCanadaAmy Elsner QUALIFIED
Aika C PaprockiJapanXuxue Feng QUALIFIED
Stacey G ChuiJapanIvan Magalhaes NEW
Francesco U StensethFranceAmy Elsner QUALIFIED
Ivar U SaylorsFranceBernardo Dominic RENEWAL
Tony B ChuiGermanyBernardo Dominic PROPOSAL
Ashley Z DilliardRussiaAmy Elsner RENEWAL
Leon M DarakjyAustraliaAmy Elsner NEGOTIATION
Greenwood Y ChuiCanadaOnyama Limba QUALIFIED
Silvio F FlosiItalyAnna Fali UNQUALIFIED
Mujtaba E SchemmerCanadaAmy Elsner PROPOSAL
Costa C WaycottCanadaXuxue Feng NEGOTIATION
Darci N SergiAustraliaAmy Elsner RENEWAL
Julie F BriddickIndiaXuxue Feng NEW
Claire N WaycottItalyAmy Elsner RENEWAL
Ivar O DilliardJapanElwin Sharvill UNQUALIFIED
Ricardo M NestleBrazilAnna Fali PROPOSAL
Julie O WhobreyAustraliaIvan Magalhaes PROPOSAL
Adams E VenereIndiaIoni Bowcher PROPOSAL
Smith U NickaSpainElwin Sharvill NEGOTIATION
James W ButtItalyAnna Fali QUALIFIED
Chavez M DoeFranceIvan Magalhaes NEGOTIATION
Rodrigues F KolmetzUnited KingdomOnyama Limba NEW
Tony O SergiSpainOnyama Limba NEW
Deepesh W DarakjyFranceIvan Magalhaes NEW
Alejandro U CaldareraItalyAsiya Javayant PROPOSAL
Stacey Q WieserArgentinaIoni Bowcher QUALIFIED
Emily U ChuiItalyAsiya Javayant RENEWAL
Darci F AmigonIndiaBernardo Dominic PROPOSAL
Mujtaba O RoysterJapanStephen Shaw UNQUALIFIED
Alejandro E AlbaresRussiaOnyama Limba PROPOSAL
Misaki Q NestleFranceStephen Shaw NEW
Deepesh B SlusarskiArgentinaIvan 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>