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
Izzy B BriddickBrazilXuxue Feng PROPOSAL
Izzy O WieserSpainStephen Shaw NEGOTIATION
Alejandro S CaldareraItalyOnyama Limba RENEWAL
Aruna R PerinRussiaAmy Elsner NEGOTIATION
Kaitlin S StensethAustraliaXuxue Feng QUALIFIED
Mayumi A ShinkoAustraliaAsiya Javayant NEGOTIATION
Nicolas A ShinkoCanadaIoni Bowcher UNQUALIFIED
Izzy Q ShinkoRussiaBernardo Dominic NEW
Izzy L WieserUnited KingdomIoni Bowcher NEGOTIATION
Salvatore L KuskoUnited KingdomStephen Shaw UNQUALIFIED
Jefferson Z VocelkaItalyOnyama Limba NEGOTIATION
Izzy R FlosiFranceAmy Elsner NEW
Mayumi U GillianJapanXuxue Feng PROPOSAL
Morrow S RulapaughIndiaXuxue Feng PROPOSAL
Jones B RoysterAustraliaBernardo Dominic QUALIFIED
Greenwood E BologniaFranceElwin Sharvill RENEWAL
Salvatore X FollerJapanIoni Bowcher QUALIFIED
Costa K DarakjyArgentinaAmy Elsner QUALIFIED
Stacey G RimCanadaIvan Magalhaes PROPOSAL
Ivar R BriddickCanadaAsiya Javayant NEW
Johnson O NestleAustraliaElwin Sharvill QUALIFIED
Faith Z BowleyUnited KingdomAmy Elsner RENEWAL
David P FerenczSpainAnna Fali NEW
Faith M FollerBrazilAmy Elsner QUALIFIED
Ivar S BowleyBrazilAsiya Javayant NEGOTIATION
Ashley Y SaylorsAustraliaAnna Fali NEGOTIATION
Jennifer Y KolmetzJapanXuxue Feng RENEWAL
David D FlosiItalyXuxue Feng NEW
Jefferson B CampainRussiaOnyama Limba PROPOSAL
Rodrigues O SchemmerBrazilStephen Shaw QUALIFIED
Maria Y WieserIndiaOnyama Limba QUALIFIED
Costa Z StensethSpainStephen Shaw PROPOSAL
Jeanfrancois L RulapaughJapanIoni Bowcher NEGOTIATION
Chavez Z CampainArgentinaIoni Bowcher PROPOSAL
Julie D GlickIndiaOnyama Limba RENEWAL
Kaitlin T StensethItalyStephen Shaw PROPOSAL
Jennifer C DarakjyIndiaBernardo Dominic NEGOTIATION
David V BowleyAustraliaAmy Elsner UNQUALIFIED
Leja Y StockhamFranceAsiya Javayant QUALIFIED
Leon Q DilliardJapanIoni Bowcher NEGOTIATION
James S DilliardJapanOnyama Limba UNQUALIFIED
Octavia L MorascaIndiaElwin Sharvill NEW
Wickens O WaycottSpainAnna Fali PROPOSAL
Izzy J PoquetteCanadaAnna Fali QUALIFIED
Silvio H MacleadGermanyIvan Magalhaes NEW
Misaki H FerenczIndiaElwin Sharvill NEGOTIATION
Chavez V GarufiSpainAsiya Javayant NEW
Misaki S GarufiGermanyIoni Bowcher QUALIFIED
Adams X SchemmerAustraliaStephen Shaw RENEWAL
Maisha Z DoeRussiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley O InouyeBrazilAsiya Javayant RENEWAL
Deepesh Q MorascaFranceOnyama Limba NEGOTIATION
Claire H DoeFranceIoni Bowcher NEGOTIATION
Greenwood K MarrierRussiaElwin Sharvill NEW
Deepesh V FigeroaRussiaStephen Shaw QUALIFIED
Jeanfrancois S RimArgentinaIoni Bowcher NEGOTIATION
Maria C FerenczSpainAnna Fali RENEWAL
Clifford Q OstroskyIndiaAmy Elsner PROPOSAL
Claire V FerenczFranceAnna Fali PROPOSAL
Tony F PaprockiRussiaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco C PoquetteRussia2026-07-25Printing Dimensions NEGOTIATION21Ivan Magalhaes
1001Leon X SlusarskiJapan2026-08-05Benton, John B Jr RENEWAL74Bernardo Dominic
1002Darci B WhobreyBrazil2026-08-08Buckley Miller Wright QUALIFIED30Stephen Shaw
1003Salvatore D MarrierCanada2026-08-05Chapman, Ross E Esq UNQUALIFIED54Asiya Javayant
1004Misaki M FerenczFrance2026-08-10Benton, John B Jr QUALIFIED30Elwin Sharvill
1005Jennifer B BologniaAustralia2026-07-16Chapman, Ross E Esq PROPOSAL77Xuxue Feng
1006James U AlbaresItaly2026-07-13Chapman, Ross E Esq NEW56Ivan Magalhaes
1007Leja E WieserAustralia2026-08-08Morlong Associates NEW86Xuxue Feng
1008Aditya Q ButtArgentina2026-07-19Truhlar And Truhlar Attys RENEWAL86Anna Fali
1009Chavez X WaycottJapan2026-07-20Buckley Miller Wright UNQUALIFIED25Onyama Limba
1010Faith B PerinIndia2026-07-22King, Christopher A Esq QUALIFIED32Onyama Limba
1011Johnson A OstroskyGermany2026-07-30Chanay, Jeffrey A Esq NEW39Anna Fali
1012Aditya A DilliardBrazil2026-07-20Printing Dimensions QUALIFIED10Amy Elsner
1013Francesco C FerenczJapan2026-08-04Commercial Press PROPOSAL2Onyama Limba
1014Silvio G MaletSpain2026-07-30King, Christopher A Esq NEW44Anna Fali
1015Darci K MaletUnited Kingdom2026-07-16Truhlar And Truhlar Attys NEW80Bernardo Dominic
1016Claire P SchemmerAustralia2026-08-10Chemel, James L Cpa RENEWAL68Asiya Javayant
1017Isabel F RutaSpain2026-08-04Benton, John B Jr RENEWAL58Stephen Shaw
1018Sinclair L InouyeSpain2026-08-06Chapman, Ross E Esq QUALIFIED71Anna Fali
1019Maria M SlusarskiArgentina2026-07-31Dorl, James J Esq UNQUALIFIED10Anna Fali
1020Greenwood U StockhamUnited Kingdom2026-07-20Feltz Printing Service UNQUALIFIED15Ivan Magalhaes
1021Antonio U GarufiCanada2026-08-07Chapman, Ross E Esq UNQUALIFIED77Onyama Limba
1022Maisha U BriddickUnited Kingdom2026-07-24Feiner Bros UNQUALIFIED18Asiya Javayant
1023Leon N BriddickRussia2026-08-01Buckley Miller Wright UNQUALIFIED17Elwin Sharvill
1024Juan E ShinkoCanada2026-08-08Benton, John B Jr NEW22Asiya Javayant
1025Johnson O TollnerFrance2026-07-27Chanay, Jeffrey A Esq RENEWAL92Amy Elsner
1026Julie G CaldareraItaly2026-07-15Commercial Press NEW52Stephen Shaw
1027Morrow S VocelkaUnited Kingdom2026-07-13King, Christopher A Esq NEW56Anna Fali
1028Tony F SchemmerJapan2026-07-16Chemel, James L Cpa NEW96Amy Elsner
1029Chavez S NickaJapan2026-07-30Chapman, Ross E Esq RENEWAL92Ivan Magalhaes
1030Maria W CaudyIndia2026-08-08Morlong Associates NEGOTIATION23Amy Elsner
1031Johnson L IturbideJapan2026-08-02Printing Dimensions NEW8Ioni Bowcher
1032Morrow Q IturbideRussia2026-08-05Rousseaux, Michael Esq PROPOSAL51Asiya Javayant
1033David Q MaletJapan2026-07-27Buckley Miller Wright QUALIFIED67Elwin Sharvill
1034Aruna S ButtJapan2026-08-07Rangoni Of Florence NEGOTIATION90Elwin Sharvill
1035David Y RutaBrazil2026-07-29Benton, John B Jr RENEWAL36Ivan Magalhaes
1036Morrow N SchemmerItaly2026-08-10Benton, John B Jr NEW59Amy Elsner
1037Jefferson E FigeroaRussia2026-08-02Truhlar And Truhlar Attys NEW89Bernardo Dominic
1038Tony N RulapaughIndia2026-07-31Truhlar And Truhlar Attys NEW60Ioni Bowcher
1039Isabel A FigeroaCanada2026-07-19Chanay, Jeffrey A Esq RENEWAL30Xuxue Feng
1040James H GarufiAustralia2026-07-29Feiner Bros QUALIFIED68Elwin Sharvill
1041Salvatore C StockhamItaly2026-08-01Truhlar And Truhlar Attys RENEWAL42Elwin Sharvill
1042Izzy G CaudyRussia2026-07-30Rangoni Of Florence QUALIFIED25Bernardo Dominic
1043Jefferson P CampainIndia2026-08-03Buckley Miller Wright QUALIFIED88Amy Elsner
1044James Y GillianJapan2026-07-13Chemel, James L Cpa NEGOTIATION97Xuxue Feng
1045Ricardo U WhobreyArgentina2026-07-30Feiner Bros NEGOTIATION13Xuxue Feng
1046Aditya W GillianRussia2026-07-16King, Christopher A Esq NEW41Amy Elsner
1047Jefferson F NestleGermany2026-07-19Buckley Miller Wright NEGOTIATION47Xuxue Feng
1048Wickens I ChuiItaly2026-07-14Chapman, Ross E Esq QUALIFIED28Asiya Javayant
1049Jennifer Z MaletIndia2026-08-05Chanay, Jeffrey A Esq PROPOSAL3Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Chavez B StensethBrazilIoni Bowcher QUALIFIED
Munro Y WaycottFranceOnyama Limba RENEWAL
Mayumi I FlosiBrazilOnyama Limba UNQUALIFIED
Smith H GarufiArgentinaAnna Fali NEGOTIATION
Kaitlin D GillianJapanIvan Magalhaes NEGOTIATION
Aika S FerenczFranceXuxue Feng QUALIFIED
Morrow J KuskoArgentinaElwin Sharvill PROPOSAL
Salvatore W MarrierIndiaElwin Sharvill QUALIFIED
Deepesh H StensethRussiaAnna Fali NEW
Aruna Q SaylorsJapanXuxue Feng NEGOTIATION
Misaki O OstroskyArgentinaElwin Sharvill UNQUALIFIED
Deepesh O PoquetteItalyAmy Elsner NEGOTIATION
Misaki A MorascaSpainAsiya Javayant QUALIFIED
Francesco R CaudyJapanIvan Magalhaes NEGOTIATION
Rodrigues F GlickCanadaAnna Fali QUALIFIED
Jefferson M MorascaJapanAnna Fali NEGOTIATION
Mujtaba B ChuiJapanAsiya Javayant PROPOSAL
Greenwood V GarufiIndiaIvan Magalhaes NEGOTIATION
Leon Y CampainIndiaIoni Bowcher NEGOTIATION
Antonio J InouyeJapanElwin Sharvill RENEWAL
Chavez H SchemmerArgentinaAnna Fali PROPOSAL
Emily O PoquetteJapanAsiya Javayant PROPOSAL
David N NestleArgentinaStephen Shaw PROPOSAL
Kaitlin T ButtSpainBernardo Dominic NEW
Jeanfrancois M BriddickAustraliaAmy Elsner UNQUALIFIED
Maria Q RoysterJapanAnna Fali UNQUALIFIED
Clifford H CampainRussiaBernardo Dominic UNQUALIFIED
Salvatore N FigeroaAustraliaXuxue Feng RENEWAL
Aditya I ButtArgentinaIoni Bowcher NEGOTIATION
Jefferson E RutaJapanOnyama Limba NEW
Jefferson Q FigeroaUnited KingdomBernardo Dominic NEW
Salvatore W DoeCanadaXuxue Feng PROPOSAL
Francesco H OstroskyRussiaAsiya Javayant UNQUALIFIED
Emily S OldroydFranceAsiya Javayant QUALIFIED
Aruna I InouyeSpainAmy Elsner QUALIFIED
Leon Q DilliardFranceBernardo Dominic NEGOTIATION
Ivar S WaycottGermanyAsiya Javayant QUALIFIED
Jeanfrancois G GauchoBrazilXuxue Feng QUALIFIED
Ivar N StensethArgentinaBernardo Dominic NEGOTIATION
Francesco G InouyeArgentinaStephen Shaw UNQUALIFIED
Jennifer P WaycottSpainStephen Shaw UNQUALIFIED
Ivar B PerinSpainAsiya Javayant RENEWAL
Faith V SaylorsAustraliaXuxue Feng NEW
Maria A KuskoSpainIoni Bowcher NEGOTIATION
Misaki L StensethAustraliaBernardo Dominic RENEWAL
Tony I RulapaughAustraliaOnyama Limba PROPOSAL
Munro G GillianSpainXuxue Feng UNQUALIFIED
Leon L SergiArgentinaAmy Elsner RENEWAL
Jones E MorascaRussiaElwin Sharvill NEGOTIATION
Jeanfrancois Q RutaSpainAnna Fali PROPOSAL
Frozen Columns
Name
Misaki N Darakjy
Jefferson R Gaucho
Salvatore C Butt
Francesco E Perin
Morrow D Slusarski
Leon I Stenseth
Francesco M Ruta
Adams W Maclead
Leon W Tollner
Antonio X Amigon
Arvin B Ferencz
Greenwood N Butt
Claire C Shinko
Maria J Venere
Juan O Nestle
Morrow S Caldarera
Murillo H Butt
Cody J Darakjy
Claire G Gillian
Antonio K Amigon
Leja J Nicka
Smith D Ferencz
Darci U Poquette
Aruna L Kolmetz
Aika G Ostrosky
Murillo I Stockham
Morrow U Malet
Stacey M Kusko
Greenwood R Ostrosky
Leon C Butt
Jefferson L Morasca
Faith Q Venere
Adams R Rim
Jeanfrancois A Campain
Rodrigues H Bowley
Cody K Briddick
Chavez J Dilliard
Ashley G Shinko
Rodrigues T Bolognia
James K Figeroa
Aruna U Flosi
Izzy I Chui
Maisha C Kolmetz
Smith F Foller
Kaitlin Y Ferencz
Costa A Sergi
Misaki S Poquette
Wickens W Stenseth
Jefferson A Schemmer
Nicolas Z Rim
IdCountryDate
1000Germany2026-07-12
1001Spain2026-07-25
1002Italy2026-07-14
1003Italy2026-07-30
1004Spain2026-07-19
1005Germany2026-07-26
1006India2026-08-04
1007Russia2026-07-21
1008Spain2026-07-25
1009Spain2026-07-24
1010Brazil2026-08-04
1011Italy2026-07-17
1012Russia2026-07-23
1013Spain2026-08-05
1014Germany2026-07-30
1015Italy2026-07-16
1016United Kingdom2026-07-21
1017Australia2026-07-29
1018Brazil2026-07-29
1019India2026-08-02
1020India2026-07-29
1021Germany2026-08-03
1022Argentina2026-07-25
1023India2026-08-09
1024Japan2026-07-27
1025India2026-07-26
1026United Kingdom2026-07-31
1027Canada2026-07-23
1028Germany2026-07-18
1029United Kingdom2026-07-30
1030France2026-07-15
1031India2026-08-03
1032India2026-08-04
1033Argentina2026-07-25
1034India2026-08-10
1035Brazil2026-07-28
1036Germany2026-07-26
1037Russia2026-08-02
1038Russia2026-07-19
1039Russia2026-07-27
1040Argentina2026-07-23
1041India2026-07-12
1042Spain2026-08-02
1043Canada2026-07-20
1044Germany2026-08-06
1045India2026-07-13
1046Spain2026-07-20
1047France2026-07-23
1048Brazil2026-07-21
1049Russia2026-07-25

On-Demand Data

NameIdCountryDate
Costa H Nestle1000Australia2026-07-27
Ricardo R Malet1001United Kingdom2026-08-03
Arvin V Dilliard1002Italy2026-07-28
Murillo V Schemmer1003Australia2026-07-14
Emily W Royster1004Russia2026-07-17
Wickens S Figeroa1005Canada2026-07-26
Jefferson S Campain1006India2026-07-16
Alejandro M Gaucho1007India2026-07-18
Leja U Marrier1008Spain2026-07-20
Adams L Malet1009France2026-07-20
Maria U Ferencz1010Japan2026-08-10
Francesco R Campain1011Russia2026-07-25
Jefferson Z Malet1012United Kingdom2026-08-02
Smith C Dilliard1013Spain2026-08-04
Arvin Z Rulapaugh1014Germany2026-07-23
Adams Z Figeroa1015India2026-07-17
Octavia B Campain1016Australia2026-08-10
Faith T Royster1017Germany2026-08-02
Cody J Vocelka1018Japan2026-08-01
Kadeem B Schemmer1019India2026-07-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo V KolmetzAustraliaStephen Shaw NEGOTIATION
Kadeem N VocelkaUnited KingdomAnna Fali UNQUALIFIED
Silvio Z ChuiGermanyElwin Sharvill QUALIFIED
Jeanfrancois A RutaItalyOnyama Limba RENEWAL
Chavez Z FlosiCanadaIoni Bowcher RENEWAL
Tony A DilliardJapanOnyama Limba QUALIFIED
Jones P StockhamAustraliaAsiya Javayant UNQUALIFIED
Silvio C PerinIndiaAnna Fali PROPOSAL
Munro U PoquetteFranceBernardo Dominic UNQUALIFIED
Mujtaba N IturbideIndiaIvan Magalhaes QUALIFIED
Smith Z SlusarskiFranceOnyama Limba NEGOTIATION
Cody H WhobreyCanadaStephen Shaw NEW
Kadeem K SchemmerSpainAsiya Javayant NEW
Maria M MaletSpainElwin Sharvill RENEWAL
Greenwood H MorascaSpainOnyama Limba NEGOTIATION
Isabel X OldroydGermanyAmy Elsner PROPOSAL
Kaitlin U NickaCanadaAnna Fali RENEWAL
Maria G VenereJapanOnyama Limba PROPOSAL
Aruna O CaudyCanadaAnna Fali NEGOTIATION
James Z MaletIndiaAnna Fali RENEWAL
Clifford N ButtIndiaElwin Sharvill NEW
Sinclair R GarufiCanadaAnna Fali UNQUALIFIED
James C GauchoCanadaAsiya Javayant UNQUALIFIED
Costa W FlosiAustraliaBernardo Dominic QUALIFIED
Faith X CaldareraItalyIoni Bowcher RENEWAL
Aditya Z RulapaughAustraliaAsiya Javayant NEGOTIATION
Arvin Z IturbideIndiaStephen Shaw UNQUALIFIED
Maria F AlbaresFranceElwin Sharvill NEW
James Y FigeroaRussiaAsiya Javayant NEW
Leja G DoeBrazilAmy Elsner NEW
Antonio Q CaldareraFranceStephen Shaw PROPOSAL
Adams R SergiAustraliaOnyama Limba PROPOSAL
Jennifer G CaldareraRussiaIoni Bowcher PROPOSAL
Arvin U DoeItalyBernardo Dominic NEW
Emily J MaletBrazilAmy Elsner NEGOTIATION
Julie E GlickUnited KingdomOnyama Limba NEW
Aruna H FigeroaJapanXuxue Feng PROPOSAL
Leon Q MarrierSpainOnyama Limba NEGOTIATION
Clifford H VocelkaBrazilOnyama Limba UNQUALIFIED
Chavez P SlusarskiSpainIoni Bowcher NEGOTIATION

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