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
Isabel Y GlickSpainAmy Elsner PROPOSAL
Claire N SchemmerCanadaIoni Bowcher UNQUALIFIED
Adams X GlickGermanyAnna Fali RENEWAL
Munro Y WieserRussiaStephen Shaw QUALIFIED
Juan H StensethIndiaXuxue Feng RENEWAL
Sinclair P StensethItalyXuxue Feng NEW
Silvio V OldroydItalyXuxue Feng NEW
Ashley T AlbaresUnited KingdomXuxue Feng UNQUALIFIED
Arvin N FlosiItalyAmy Elsner QUALIFIED
Greenwood W MacleadCanadaXuxue Feng UNQUALIFIED
Juan L ShinkoAustraliaIvan Magalhaes RENEWAL
Mayumi J BologniaAustraliaAnna Fali QUALIFIED
Rodrigues K SergiGermanyXuxue Feng NEGOTIATION
Deepesh S MorascaGermanyAmy Elsner NEGOTIATION
Mujtaba G BologniaArgentinaIoni Bowcher NEW
Jones A KuskoIndiaAmy Elsner PROPOSAL
Murillo B StockhamBrazilAsiya Javayant PROPOSAL
Jennifer J FerenczGermanyAnna Fali NEGOTIATION
Tony S RulapaughSpainBernardo Dominic RENEWAL
Greenwood W InouyeGermanyStephen Shaw PROPOSAL
Aditya H AmigonGermanyAsiya Javayant UNQUALIFIED
Chavez Z BowleyGermanyStephen Shaw NEW
Deepesh D TollnerGermanyElwin Sharvill RENEWAL
Stacey E MarrierItalyStephen Shaw NEGOTIATION
Ivar X MacleadCanadaStephen Shaw QUALIFIED
Juan X DoeBrazilAnna Fali RENEWAL
Octavia X GlickBrazilIvan Magalhaes NEW
Isabel W FollerRussiaBernardo Dominic NEW
Ivar Y FollerItalyElwin Sharvill RENEWAL
Clifford X VenereArgentinaIvan Magalhaes QUALIFIED
Kadeem B BowleyJapanAmy Elsner RENEWAL
Morrow W MacleadItalyAnna Fali PROPOSAL
Julie P SaylorsItalyAsiya Javayant PROPOSAL
Chavez O NestleItalyXuxue Feng RENEWAL
Mayumi N BologniaArgentinaAsiya Javayant QUALIFIED
Francesco M FerenczRussiaIvan Magalhaes UNQUALIFIED
Smith K DarakjyCanadaAmy Elsner UNQUALIFIED
Jefferson B DoeRussiaIoni Bowcher UNQUALIFIED
Tony B PoquetteIndiaStephen Shaw RENEWAL
Chavez K FerenczIndiaElwin Sharvill NEW
Jefferson M GarufiRussiaAsiya Javayant QUALIFIED
Julie D BologniaUnited KingdomStephen Shaw RENEWAL
Sinclair V MorascaSpainStephen Shaw NEW
Silvio C BologniaFranceAsiya Javayant QUALIFIED
Greenwood W RimSpainIvan Magalhaes RENEWAL
Ivar D TollnerItalyStephen Shaw NEW
Maisha R OldroydRussiaOnyama Limba PROPOSAL
Aditya E OstroskyBrazilXuxue Feng QUALIFIED
Kadeem L MacleadSpainBernardo Dominic NEGOTIATION
Juan A DilliardRussiaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja G RoysterAustraliaIoni Bowcher NEGOTIATION
Alejandro F WaycottIndiaIvan Magalhaes NEW
Munro K NickaRussiaElwin Sharvill PROPOSAL
Costa G GauchoCanadaIvan Magalhaes PROPOSAL
Isabel A CampainRussiaIoni Bowcher QUALIFIED
Izzy S NestleAustraliaElwin Sharvill NEW
Ashley S WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Antonio A MaletFranceOnyama Limba QUALIFIED
Emily S BologniaAustraliaIoni Bowcher PROPOSAL
Ricardo B SchemmerAustraliaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel B SergiRussia2024-05-29Commercial Press NEW26Elwin Sharvill
1001Jefferson X MarrierIndia2024-05-30Feltz Printing Service RENEWAL80Amy Elsner
1002Ashley F AmigonUnited Kingdom2024-06-17Printing Dimensions NEGOTIATION17Amy Elsner
1003Johnson K VenereBrazil2024-06-11Feiner Bros UNQUALIFIED61Asiya Javayant
1004Nicolas C CaldareraIndia2024-05-27Chemel, James L Cpa RENEWAL50Amy Elsner
1005Kaitlin H FigeroaSpain2024-05-31Chemel, James L Cpa PROPOSAL80Stephen Shaw
1006Jennifer C FollerAustralia2024-06-04Morlong Associates RENEWAL24Asiya Javayant
1007Silvio C DoeItaly2024-05-27Feltz Printing Service RENEWAL7Onyama Limba
1008Aika R MorascaJapan2024-06-13Truhlar And Truhlar Attys PROPOSAL72Ioni Bowcher
1009Cody H MacleadUnited Kingdom2024-06-09Chapman, Ross E Esq PROPOSAL21Asiya Javayant
1010Isabel J MaletUnited Kingdom2024-06-07Feiner Bros NEGOTIATION6Xuxue Feng
1011Isabel J GauchoGermany2024-06-23Chapman, Ross E Esq RENEWAL33Ioni Bowcher
1012Cody T SaylorsRussia2024-06-01Rousseaux, Michael Esq NEW3Elwin Sharvill
1013Kaitlin H WieserIndia2024-05-26Dorl, James J Esq NEW27Ivan Magalhaes
1014Aditya F MarrierCanada2024-06-09Feiner Bros PROPOSAL69Elwin Sharvill
1015Maisha M DarakjyRussia2024-06-16Chapman, Ross E Esq UNQUALIFIED24Onyama Limba
1016James Q MarrierAustralia2024-06-22Rousseaux, Michael Esq NEGOTIATION84Ivan Magalhaes
1017Aika S MaletGermany2024-06-12Commercial Press QUALIFIED19Asiya Javayant
1018James C BowleyItaly2024-06-02King, Christopher A Esq RENEWAL53Xuxue Feng
1019Cody Q ShinkoRussia2024-06-02Rousseaux, Michael Esq QUALIFIED98Asiya Javayant
1020James B InouyeFrance2024-06-09Printing Dimensions RENEWAL15Onyama Limba
1021Francesco M NickaRussia2024-06-10Rousseaux, Michael Esq NEGOTIATION56Asiya Javayant
1022Leja K NickaRussia2024-06-23Chanay, Jeffrey A Esq NEGOTIATION59Bernardo Dominic
1023Julie B GarufiBrazil2024-06-11Dorl, James J Esq RENEWAL8Onyama Limba
1024Emily N PaprockiRussia2024-06-23Truhlar And Truhlar Attys RENEWAL22Xuxue Feng
1025Smith I IturbideAustralia2024-06-13Feiner Bros NEGOTIATION10Anna Fali
1026Leon A RimFrance2024-05-28Buckley Miller Wright PROPOSAL40Onyama Limba
1027Sinclair I CaudyUnited Kingdom2024-06-04Chemel, James L Cpa QUALIFIED49Amy Elsner
1028Greenwood A DoeArgentina2024-06-14Benton, John B Jr UNQUALIFIED17Onyama Limba
1029Salvatore B FlosiFrance2024-06-05King, Christopher A Esq QUALIFIED74Onyama Limba
1030Aditya L StensethRussia2024-06-12Commercial Press PROPOSAL70Bernardo Dominic
1031Antonio O SlusarskiIndia2024-06-19Rousseaux, Michael Esq UNQUALIFIED63Anna Fali
1032Maria Q RulapaughRussia2024-06-20Feltz Printing Service NEW64Ioni Bowcher
1033Rodrigues X MarrierIndia2024-05-31Commercial Press NEGOTIATION24Xuxue Feng
1034Maria O OldroydItaly2024-06-22Rousseaux, Michael Esq UNQUALIFIED12Bernardo Dominic
1035Isabel N SlusarskiRussia2024-06-04Feltz Printing Service QUALIFIED14Elwin Sharvill
1036Johnson F WaycottIndia2024-06-23Benton, John B Jr PROPOSAL78Anna Fali
1037Ricardo F WieserJapan2024-05-28Feltz Printing Service NEGOTIATION13Onyama Limba
1038Izzy S FlosiItaly2024-06-22Rangoni Of Florence QUALIFIED92Stephen Shaw
1039Greenwood G DoeIndia2024-06-05Benton, John B Jr NEW78Asiya Javayant
1040Salvatore V ShinkoBrazil2024-06-12Rangoni Of Florence NEGOTIATION12Amy Elsner
1041Salvatore B MacleadGermany2024-05-26King, Christopher A Esq RENEWAL75Ivan Magalhaes
1042Emily Q StensethArgentina2024-06-16Printing Dimensions RENEWAL38Ioni Bowcher
1043Julie K CaudyUnited Kingdom2024-06-23Chapman, Ross E Esq NEW38Ioni Bowcher
1044Mujtaba A RulapaughFrance2024-06-04Rousseaux, Michael Esq UNQUALIFIED9Xuxue Feng
1045Mayumi T OstroskyArgentina2024-06-08Commercial Press QUALIFIED66Ivan Magalhaes
1046Emily A CampainAustralia2024-06-01Truhlar And Truhlar Attys NEGOTIATION9Bernardo Dominic
1047Ashley X RoysterBrazil2024-06-14Truhlar And Truhlar Attys RENEWAL65Ivan Magalhaes
1048Silvio O WieserBrazil2024-05-30Commercial Press QUALIFIED48Ioni Bowcher
1049Misaki C GlickAustralia2024-06-14Chemel, James L Cpa NEGOTIATION51Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Kadeem R MaletUnited KingdomStephen Shaw QUALIFIED
Murillo F SlusarskiArgentinaAsiya Javayant PROPOSAL
Jennifer R MaletSpainAmy Elsner UNQUALIFIED
Maria I BriddickArgentinaBernardo Dominic NEGOTIATION
David C InouyeFranceXuxue Feng UNQUALIFIED
Adams M FerenczAustraliaAnna Fali RENEWAL
Francesco M MarrierRussiaAnna Fali PROPOSAL
Aditya N WieserFranceAmy Elsner NEW
David T DilliardItalyElwin Sharvill QUALIFIED
Julie E StensethCanadaIoni Bowcher PROPOSAL
Mujtaba F MaletBrazilAmy Elsner QUALIFIED
Leon A WieserFranceStephen Shaw NEW
Mujtaba H PoquetteRussiaAmy Elsner RENEWAL
Juan B MarrierGermanyAmy Elsner UNQUALIFIED
Adams L MorascaSpainAnna Fali PROPOSAL
Clifford X ShinkoGermanyAnna Fali PROPOSAL
Maria G GillianCanadaElwin Sharvill RENEWAL
Juan U RulapaughBrazilAmy Elsner UNQUALIFIED
Clifford H OstroskyJapanAnna Fali NEGOTIATION
Cody L AmigonArgentinaBernardo Dominic PROPOSAL
Arvin K KuskoFranceBernardo Dominic PROPOSAL
Faith O DilliardIndiaXuxue Feng RENEWAL
Faith F NestleJapanBernardo Dominic PROPOSAL
Jefferson B GauchoBrazilXuxue Feng QUALIFIED
Jefferson J GillianCanadaStephen Shaw PROPOSAL
Murillo R FollerItalyAmy Elsner NEW
Ivar B IturbideItalyAnna Fali NEW
Izzy K MorascaAustraliaAnna Fali UNQUALIFIED
Greenwood P NickaCanadaIoni Bowcher QUALIFIED
Mujtaba P BowleyIndiaIvan Magalhaes NEGOTIATION
Maisha D ShinkoBrazilAsiya Javayant RENEWAL
Ashley Z MorascaCanadaBernardo Dominic NEGOTIATION
Morrow Z StockhamCanadaAmy Elsner RENEWAL
Ivar F MaletRussiaXuxue Feng UNQUALIFIED
Ivar W FlosiSpainAmy Elsner QUALIFIED
Maria P MacleadAustraliaAmy Elsner UNQUALIFIED
Salvatore C WhobreyItalyStephen Shaw PROPOSAL
Clifford L CaudyUnited KingdomIvan Magalhaes PROPOSAL
Aruna J SergiArgentinaBernardo Dominic NEGOTIATION
Faith H WaycottJapanAnna Fali RENEWAL
James H RoysterAustraliaOnyama Limba NEGOTIATION
Wickens C DoeArgentinaXuxue Feng RENEWAL
David C WhobreyArgentinaIoni Bowcher NEW
Juan X ChuiIndiaAnna Fali NEGOTIATION
Cody U PoquetteGermanyXuxue Feng NEGOTIATION
Mujtaba S MorascaSpainAsiya Javayant NEGOTIATION
Ricardo I PoquetteUnited KingdomIoni Bowcher NEGOTIATION
Mayumi T IturbideBrazilAmy Elsner PROPOSAL
Misaki Y WaycottGermanyAsiya Javayant NEGOTIATION
Deepesh D DilliardSpainOnyama Limba NEW
Frozen Columns
Name
Greenwood G Wieser
Greenwood L Foller
Misaki J Nicka
Chavez U Ostrosky
Wickens H Dilliard
Silvio U Rim
Misaki J Saylors
Deepesh T Whobrey
Emily K Amigon
Aika F Gaucho
Juan D Albares
Emily J Kusko
Julie V Ostrosky
Juan T Figeroa
Alejandro Q Ruta
Julie X Bolognia
Jeanfrancois M Slusarski
Maisha U Vocelka
Kaitlin C Nestle
Aditya F Ruta
Tony G Stenseth
Julie I Caldarera
Arvin L Saylors
Claire V Perin
Kaitlin C Ferencz
Greenwood E Stenseth
Darci H Ferencz
Emily D Poquette
Smith R Rim
Arvin Q Saylors
Clifford X Poquette
Antonio W Ostrosky
Jennifer H Rim
Ricardo D Saylors
Murillo D Saylors
Faith Y Darakjy
Kadeem F Stenseth
Murillo U Tollner
Jones E Chui
Wickens C Tollner
Sinclair B Butt
Murillo J Albares
Ricardo K Inouye
Tony G Maclead
Emily N Caudy
Aditya D Perin
Juan J Albares
Adams K Foller
James Z Royster
Maisha G Sergi
IdCountryDate
1000Italy2024-06-14
1001United Kingdom2024-06-13
1002Italy2024-06-09
1003France2024-06-02
1004Brazil2024-05-29
1005Germany2024-06-14
1006Germany2024-06-08
1007Canada2024-06-04
1008India2024-06-24
1009Germany2024-06-02
1010Argentina2024-06-11
1011Italy2024-05-31
1012United Kingdom2024-06-08
1013Australia2024-06-02
1014India2024-06-21
1015Brazil2024-06-06
1016United Kingdom2024-06-15
1017Spain2024-06-14
1018Japan2024-06-03
1019India2024-06-07
1020France2024-06-11
1021Spain2024-06-11
1022United Kingdom2024-06-14
1023Germany2024-06-10
1024Russia2024-06-16
1025Germany2024-05-28
1026Australia2024-06-18
1027Russia2024-06-02
1028India2024-05-29
1029Japan2024-06-16
1030Australia2024-06-22
1031India2024-06-18
1032Japan2024-05-26
1033France2024-06-02
1034Brazil2024-06-12
1035Argentina2024-06-06
1036Spain2024-06-16
1037Germany2024-06-08
1038Russia2024-06-18
1039Canada2024-05-30
1040France2024-06-02
1041Japan2024-05-26
1042United Kingdom2024-06-11
1043France2024-06-17
1044United Kingdom2024-06-08
1045Russia2024-06-15
1046United Kingdom2024-06-12
1047Canada2024-05-29
1048Argentina2024-06-08
1049Spain2024-05-30

On-Demand Data

NameIdCountryDate
Chavez H Doe1000Japan2024-06-08
Adams A Perin1001Brazil2024-06-14
Adams F Saylors1002United Kingdom2024-06-05
Greenwood A Marrier1003France2024-06-14
Juan L Whobrey1004France2024-06-02
Aditya Q Perin1005Russia2024-06-07
Octavia H Poquette1006Brazil2024-06-16
Mujtaba S Oldroyd1007Russia2024-06-07
Octavia U Tollner1008United Kingdom2024-05-28
Silvio G Butt1009United Kingdom2024-06-11
David N Morasca1010Australia2024-06-23
Chavez V Briddick1011Italy2024-06-19
Juan Y Kusko1012Spain2024-05-28
Leon Z Rim1013Spain2024-06-01
Alejandro S Royster1014Italy2024-06-05
Aditya I Tollner1015United Kingdom2024-06-04
Aditya R Gillian1016France2024-06-20
Jennifer G Ostrosky1017United Kingdom2024-05-31
Darci Z Sergi1018Australia2024-06-11
Wickens F Wieser1019Russia2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer X RutaAustraliaOnyama Limba PROPOSAL
Sinclair O ShinkoCanadaOnyama Limba NEGOTIATION
Ivar E CaudyItalyStephen Shaw QUALIFIED
Clifford E PoquetteUnited KingdomOnyama Limba NEGOTIATION
Arvin L VenereItalyOnyama Limba QUALIFIED
Emily P FollerBrazilBernardo Dominic NEGOTIATION
Sinclair I TollnerFranceStephen Shaw QUALIFIED
Mujtaba K IturbideIndiaAmy Elsner PROPOSAL
Kaitlin J GauchoFranceXuxue Feng PROPOSAL
Maria B PerinCanadaOnyama Limba NEGOTIATION
Aditya E WhobreyFranceAsiya Javayant RENEWAL
Stacey Y RimGermanyOnyama Limba UNQUALIFIED
Mujtaba Y SergiJapanIoni Bowcher RENEWAL
Darci F RimJapanAmy Elsner UNQUALIFIED
Murillo P DilliardFranceAmy Elsner PROPOSAL
Arvin E ButtBrazilIvan Magalhaes NEW
Salvatore G RulapaughItalyOnyama Limba RENEWAL
Leja K FigeroaSpainBernardo Dominic NEGOTIATION
Jennifer T FlosiItalyElwin Sharvill RENEWAL
Aruna U FollerFranceXuxue Feng PROPOSAL
Isabel K FollerRussiaAmy Elsner UNQUALIFIED
Juan G DilliardAustraliaElwin Sharvill PROPOSAL
Mayumi M SchemmerAustraliaStephen Shaw NEW
Kadeem K FigeroaFranceElwin Sharvill QUALIFIED
Jeanfrancois X PoquetteRussiaAmy Elsner PROPOSAL
Juan R OldroydGermanyStephen Shaw QUALIFIED
Deepesh X PerinBrazilIoni Bowcher QUALIFIED
Izzy L VocelkaAustraliaAnna Fali UNQUALIFIED
Ricardo R GillianJapanOnyama Limba QUALIFIED
Isabel N CampainBrazilElwin Sharvill NEGOTIATION
Isabel N SchemmerIndiaIoni Bowcher RENEWAL
Darci A RutaItalyStephen Shaw NEW
Tony A FlosiGermanyAmy Elsner PROPOSAL
Smith V ButtBrazilAnna Fali RENEWAL
Mujtaba S VenereAustraliaIvan Magalhaes NEW
Morrow O IturbideUnited KingdomBernardo Dominic QUALIFIED
Johnson N GauchoFranceIoni Bowcher RENEWAL
Rodrigues Y FigeroaGermanyAsiya Javayant NEW
Jones F ChuiArgentinaStephen Shaw NEGOTIATION
Emily A InouyeJapanIoni Bowcher 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>