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
Tony P StensethBrazilAnna Fali NEW
Emily X GillianGermanyXuxue Feng QUALIFIED
Octavia P MarrierJapanStephen Shaw QUALIFIED
Greenwood B FigeroaFranceIoni Bowcher NEW
Wickens M ShinkoGermanyXuxue Feng RENEWAL
Aruna Y MorascaSpainIoni Bowcher QUALIFIED
Maria D WhobreyUnited KingdomOnyama Limba PROPOSAL
Antonio V DilliardJapanAsiya Javayant NEW
Ashley Y SaylorsCanadaXuxue Feng RENEWAL
Cody K KolmetzSpainXuxue Feng PROPOSAL
Cody S FigeroaSpainStephen Shaw RENEWAL
Sinclair X InouyeCanadaStephen Shaw QUALIFIED
Rodrigues O GarufiIndiaOnyama Limba RENEWAL
Izzy C KolmetzRussiaAsiya Javayant NEW
Mayumi L PerinIndiaAmy Elsner NEW
Cody E VenereIndiaAsiya Javayant UNQUALIFIED
Julie J GillianGermanyElwin Sharvill RENEWAL
Salvatore Q KuskoIndiaIoni Bowcher PROPOSAL
Murillo Q AlbaresBrazilStephen Shaw UNQUALIFIED
Leja I VenereRussiaElwin Sharvill NEGOTIATION
Emily X InouyeJapanElwin Sharvill NEGOTIATION
Jennifer D KolmetzGermanyIvan Magalhaes QUALIFIED
Claire E WaycottItalyOnyama Limba NEGOTIATION
Maisha Y CampainCanadaElwin Sharvill QUALIFIED
Antonio N KolmetzGermanyIoni Bowcher UNQUALIFIED
Sinclair L AlbaresCanadaIoni Bowcher QUALIFIED
Leon C RoysterCanadaOnyama Limba QUALIFIED
Jefferson Q AlbaresAustraliaAsiya Javayant RENEWAL
Kadeem Y DarakjyBrazilIoni Bowcher RENEWAL
Octavia M InouyeJapanOnyama Limba NEGOTIATION
Ricardo A MaletFranceBernardo Dominic QUALIFIED
Aruna S PaprockiIndiaIvan Magalhaes QUALIFIED
Maisha J IturbideFranceStephen Shaw PROPOSAL
Isabel I VocelkaCanadaAsiya Javayant NEGOTIATION
Silvio F GlickSpainStephen Shaw NEW
Greenwood S MaletBrazilElwin Sharvill QUALIFIED
Darci N PoquetteCanadaBernardo Dominic RENEWAL
Chavez S VenereRussiaStephen Shaw QUALIFIED
Murillo Y DoeRussiaOnyama Limba PROPOSAL
Alejandro T GlickUnited KingdomIvan Magalhaes QUALIFIED
Johnson D NestleItalyAmy Elsner RENEWAL
Morrow G GillianIndiaStephen Shaw NEW
Nicolas J StockhamItalyStephen Shaw UNQUALIFIED
Jones N SergiRussiaXuxue Feng UNQUALIFIED
Rodrigues X PerinSpainAmy Elsner QUALIFIED
Salvatore Y ButtRussiaAsiya Javayant UNQUALIFIED
Cody I KuskoRussiaIoni Bowcher PROPOSAL
Darci J AmigonCanadaElwin Sharvill NEGOTIATION
Costa F NickaJapanBernardo Dominic RENEWAL
Greenwood D FollerArgentinaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Chavez P WaycottJapanOnyama Limba NEGOTIATION
Smith B IturbideUnited KingdomAsiya Javayant QUALIFIED
Isabel V NickaItalyElwin Sharvill NEW
Wickens C CaudyFranceAnna Fali NEW
Leja T StockhamIndiaIvan Magalhaes QUALIFIED
Mayumi V NestleItalyAnna Fali QUALIFIED
Antonio X CaudyUnited KingdomIvan Magalhaes NEW
Tony A DilliardFranceStephen Shaw NEGOTIATION
Misaki E VenereArgentinaIoni Bowcher NEW
Aditya M FigeroaAustraliaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan T StockhamSpain2026-06-20Chanay, Jeffrey A Esq NEGOTIATION61Ioni Bowcher
1001Faith A ChuiFrance2026-06-30Benton, John B Jr NEW74Amy Elsner
1002Arvin Q WhobreyItaly2026-06-02Chemel, James L Cpa RENEWAL60Anna Fali
1003Chavez Z GillianJapan2026-06-04Chemel, James L Cpa UNQUALIFIED19Ivan Magalhaes
1004Aditya E MacleadItaly2026-07-01Benton, John B Jr RENEWAL23Onyama Limba
1005Mujtaba X VocelkaSpain2026-06-22Commercial Press RENEWAL41Anna Fali
1006Kadeem W BologniaUnited Kingdom2026-06-06Rousseaux, Michael Esq QUALIFIED39Bernardo Dominic
1007Claire B RoysterFrance2026-06-24Benton, John B Jr UNQUALIFIED83Elwin Sharvill
1008Jennifer W CaldareraItaly2026-06-29Dorl, James J Esq PROPOSAL28Bernardo Dominic
1009Smith F KolmetzRussia2026-06-07Dorl, James J Esq PROPOSAL74Amy Elsner
1010Antonio P DoeJapan2026-06-14Rousseaux, Michael Esq NEGOTIATION68Bernardo Dominic
1011Antonio Z BowleySpain2026-06-17Chapman, Ross E Esq NEW79Ivan Magalhaes
1012Ivar M NestleArgentina2026-06-12Dorl, James J Esq RENEWAL84Stephen Shaw
1013Sinclair M PerinGermany2026-06-02Benton, John B Jr RENEWAL47Elwin Sharvill
1014Antonio Z KolmetzSpain2026-06-28Commercial Press RENEWAL85Stephen Shaw
1015James T BriddickJapan2026-06-18Feiner Bros PROPOSAL39Ioni Bowcher
1016Darci K GarufiGermany2026-06-21Morlong Associates UNQUALIFIED25Ivan Magalhaes
1017Rodrigues D MaletIndia2026-06-09Truhlar And Truhlar Attys PROPOSAL3Xuxue Feng
1018Adams P FerenczBrazil2026-06-23Rangoni Of Florence RENEWAL43Stephen Shaw
1019Salvatore E KuskoIndia2026-06-23King, Christopher A Esq NEW26Bernardo Dominic
1020Julie T VenereArgentina2026-06-29Commercial Press RENEWAL84Elwin Sharvill
1021Chavez T GauchoBrazil2026-06-21Morlong Associates NEGOTIATION47Stephen Shaw
1022Stacey M VenereIndia2026-06-22King, Christopher A Esq NEGOTIATION0Ioni Bowcher
1023Antonio N MorascaAustralia2026-06-03Chemel, James L Cpa QUALIFIED5Bernardo Dominic
1024Morrow K ChuiIndia2026-06-02Chemel, James L Cpa NEW73Ivan Magalhaes
1025Isabel J SchemmerUnited Kingdom2026-06-20Buckley Miller Wright PROPOSAL62Elwin Sharvill
1026Morrow G DoeAustralia2026-06-12Buckley Miller Wright NEGOTIATION25Amy Elsner
1027Aruna M BologniaFrance2026-06-30Buckley Miller Wright RENEWAL30Bernardo Dominic
1028Mayumi A DilliardArgentina2026-06-17Chapman, Ross E Esq NEW17Onyama Limba
1029Izzy U CaudyGermany2026-06-09Printing Dimensions NEGOTIATION35Ioni Bowcher
1030Izzy P CaudyGermany2026-06-23King, Christopher A Esq RENEWAL65Asiya Javayant
1031Ashley U GlickFrance2026-06-17Truhlar And Truhlar Attys RENEWAL94Asiya Javayant
1032Mujtaba R WhobreyFrance2026-06-29Benton, John B Jr PROPOSAL4Ioni Bowcher
1033Tony P MacleadUnited Kingdom2026-06-20Chemel, James L Cpa RENEWAL39Ivan Magalhaes
1034Silvio I SlusarskiGermany2026-06-25Morlong Associates RENEWAL62Ivan Magalhaes
1035Aika H FerenczItaly2026-06-12Chemel, James L Cpa QUALIFIED17Ivan Magalhaes
1036Kaitlin N SaylorsBrazil2026-06-16Feiner Bros QUALIFIED31Stephen Shaw
1037Ashley S DarakjyUnited Kingdom2026-06-08Feltz Printing Service RENEWAL68Stephen Shaw
1038Greenwood M TollnerRussia2026-06-27King, Christopher A Esq NEGOTIATION46Anna Fali
1039Ivar D SergiAustralia2026-06-24Chapman, Ross E Esq QUALIFIED92Stephen Shaw
1040Isabel X SaylorsIndia2026-06-04Morlong Associates NEW1Stephen Shaw
1041Stacey J WieserGermany2026-06-17Dorl, James J Esq QUALIFIED12Elwin Sharvill
1042Jones R KuskoItaly2026-06-24Benton, John B Jr RENEWAL70Elwin Sharvill
1043Salvatore C VenereItaly2026-06-28King, Christopher A Esq QUALIFIED58Anna Fali
1044Maria J VocelkaJapan2026-06-15Commercial Press PROPOSAL26Bernardo Dominic
1045Ricardo S ChuiCanada2026-06-26Buckley Miller Wright PROPOSAL31Elwin Sharvill
1046Leja Y VenereUnited Kingdom2026-06-08Rangoni Of Florence NEW26Onyama Limba
1047Aika E WaycottGermany2026-06-16Buckley Miller Wright PROPOSAL4Ioni Bowcher
1048Aruna I WieserGermany2026-06-02Morlong Associates QUALIFIED39Bernardo Dominic
1049Kadeem R OstroskyUnited Kingdom2026-06-13Rangoni Of Florence NEGOTIATION77Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jefferson U ShinkoUnited KingdomIvan Magalhaes RENEWAL
Claire H RimItalyIoni Bowcher QUALIFIED
Faith N ChuiFranceStephen Shaw UNQUALIFIED
Wickens Y WhobreyRussiaBernardo Dominic RENEWAL
Wickens U BowleyCanadaBernardo Dominic NEW
Clifford G AmigonUnited KingdomIoni Bowcher RENEWAL
Aruna I InouyeItalyAsiya Javayant NEW
Deepesh Z RoysterAustraliaOnyama Limba RENEWAL
Morrow X StensethSpainAsiya Javayant NEW
Mayumi L BowleyJapanIvan Magalhaes RENEWAL
Antonio K RimJapanAnna Fali PROPOSAL
Antonio U NickaItalyBernardo Dominic PROPOSAL
Ivar V FollerBrazilOnyama Limba UNQUALIFIED
Jefferson V StensethAustraliaAmy Elsner PROPOSAL
Jennifer J CaudyCanadaIoni Bowcher NEGOTIATION
Wickens G SaylorsItalyAsiya Javayant NEGOTIATION
David Y TollnerIndiaOnyama Limba RENEWAL
Smith A GauchoRussiaAnna Fali NEGOTIATION
Julie H NickaBrazilAmy Elsner NEGOTIATION
Isabel I VenereUnited KingdomAmy Elsner RENEWAL
Misaki T BriddickAustraliaOnyama Limba PROPOSAL
Sinclair H GauchoCanadaElwin Sharvill PROPOSAL
Alejandro D MaletFranceElwin Sharvill NEGOTIATION
Clifford H FollerArgentinaIoni Bowcher UNQUALIFIED
Kadeem Q SaylorsFranceAnna Fali PROPOSAL
Greenwood D DilliardCanadaBernardo Dominic QUALIFIED
Julie N SlusarskiFranceXuxue Feng PROPOSAL
Aika I InouyeArgentinaIvan Magalhaes PROPOSAL
Julie A AmigonSpainElwin Sharvill RENEWAL
Johnson J ButtBrazilAnna Fali RENEWAL
Maisha Y BologniaFranceAsiya Javayant QUALIFIED
Alejandro F BowleyIndiaAsiya Javayant PROPOSAL
Antonio H ShinkoBrazilStephen Shaw RENEWAL
Darci L MaletJapanBernardo Dominic QUALIFIED
Francesco P GillianJapanAnna Fali PROPOSAL
Jefferson G ShinkoCanadaStephen Shaw RENEWAL
Smith G StensethItalyOnyama Limba PROPOSAL
James U TollnerSpainElwin Sharvill NEGOTIATION
Rodrigues E VenereIndiaBernardo Dominic QUALIFIED
Greenwood U ButtCanadaStephen Shaw RENEWAL
Salvatore P FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio F CaldareraUnited KingdomAmy Elsner PROPOSAL
Smith A WaycottGermanyAsiya Javayant NEGOTIATION
Salvatore G BriddickGermanyOnyama Limba PROPOSAL
Kaitlin V PerinFranceIoni Bowcher NEGOTIATION
Nicolas B VenereJapanXuxue Feng NEGOTIATION
Morrow G GillianItalyAnna Fali RENEWAL
David W SergiCanadaAnna Fali PROPOSAL
Antonio B WhobreyBrazilAsiya Javayant PROPOSAL
Wickens L SlusarskiJapanXuxue Feng PROPOSAL
Frozen Columns
Name
Jones J Saylors
Maisha K Ruta
Octavia D Poquette
James B Stenseth
Aika Q Kolmetz
Ivar V Darakjy
Chavez F Stenseth
Aditya V Bowley
David H Sergi
Maria F Glick
Maisha A Figeroa
Wickens O Stenseth
Izzy P Garufi
David E Morasca
Wickens S Iturbide
Chavez F Maclead
Ivar S Shinko
Claire T Poquette
Claire X Kusko
Murillo W Glick
Aruna L Poquette
Greenwood X Nicka
Leon E Kusko
Antonio F Vocelka
Wickens B Royster
Jefferson J Albares
Alejandro Z Ostrosky
Arvin Y Tollner
Juan Z Ostrosky
Nicolas K Ruta
James U Rim
Johnson N Royster
Antonio F Royster
Leja O Stockham
Tony X Campain
Mayumi A Caldarera
Octavia E Ostrosky
Stacey S Oldroyd
Sinclair B Foller
Tony P Amigon
Jeanfrancois P Amigon
Julie Q Oldroyd
Clifford Q Ruta
Aruna G Paprocki
Misaki W Poquette
Kaitlin N Iturbide
Kaitlin X Tollner
Claire D Campain
James B Doe
Kaitlin J Stockham
IdCountryDate
1000United Kingdom2026-06-25
1001France2026-06-11
1002India2026-06-26
1003France2026-06-20
1004Japan2026-06-26
1005Russia2026-06-20
1006Russia2026-06-04
1007United Kingdom2026-06-18
1008France2026-06-29
1009India2026-06-09
1010Spain2026-06-08
1011United Kingdom2026-06-20
1012Japan2026-06-05
1013Australia2026-06-18
1014Italy2026-07-01
1015Russia2026-06-02
1016Canada2026-06-18
1017Brazil2026-06-08
1018Spain2026-06-21
1019Japan2026-06-26
1020United Kingdom2026-06-05
1021Australia2026-06-24
1022India2026-06-27
1023Germany2026-06-05
1024Spain2026-06-24
1025Russia2026-06-30
1026Japan2026-06-14
1027Canada2026-06-08
1028Australia2026-06-03
1029Italy2026-06-13
1030Italy2026-07-01
1031Germany2026-06-29
1032Japan2026-06-09
1033Italy2026-06-29
1034Brazil2026-06-17
1035Canada2026-06-02
1036Canada2026-06-28
1037Brazil2026-06-16
1038Germany2026-06-25
1039Italy2026-06-28
1040United Kingdom2026-06-20
1041Brazil2026-06-27
1042Spain2026-06-18
1043India2026-06-22
1044United Kingdom2026-06-07
1045Argentina2026-06-25
1046Italy2026-06-25
1047Russia2026-06-23
1048Spain2026-07-01
1049United Kingdom2026-06-29

On-Demand Data

NameIdCountryDate
Izzy S Bolognia1000Canada2026-06-10
Tony E Wieser1001Italy2026-06-13
Faith Z Caldarera1002Canada2026-06-23
Julie L Morasca1003Russia2026-06-03
Jones J Stenseth1004Brazil2026-06-12
Isabel X Rulapaugh1005Canada2026-06-02
Kaitlin N Morasca1006Germany2026-06-24
Kaitlin V Paprocki1007Brazil2026-06-22
Johnson D Rulapaugh1008Australia2026-06-10
Mujtaba V Albares1009Canada2026-06-28
Costa K Nestle1010Spain2026-06-05
Juan N Gillian1011Australia2026-06-08
Leja S Bolognia1012Italy2026-06-03
Leja W Ruta1013Australia2026-06-26
Alejandro I Sergi1014Brazil2026-06-30
Salvatore V Stenseth1015Italy2026-06-29
Leja U Garufi1016Argentina2026-06-28
Juan O Garufi1017Brazil2026-06-19
Tony T Albares1018Russia2026-06-27
Johnson A Saylors1019Italy2026-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh N StockhamCanadaOnyama Limba RENEWAL
Octavia J GarufiIndiaElwin Sharvill QUALIFIED
Jones V ButtRussiaXuxue Feng QUALIFIED
Smith W StensethArgentinaXuxue Feng NEW
Kaitlin F OldroydArgentinaBernardo Dominic NEW
Sinclair M AmigonAustraliaAmy Elsner NEW
Deepesh H BowleyUnited KingdomIvan Magalhaes PROPOSAL
Maisha A KolmetzItalyOnyama Limba NEGOTIATION
Leon N ButtCanadaAmy Elsner QUALIFIED
Sinclair Y FollerRussiaIvan Magalhaes RENEWAL
Claire W MaletIndiaElwin Sharvill UNQUALIFIED
Chavez W PaprockiIndiaElwin Sharvill NEGOTIATION
Octavia V OldroydJapanAmy Elsner RENEWAL
Jeanfrancois X IturbideItalyBernardo Dominic QUALIFIED
Juan D SlusarskiCanadaIvan Magalhaes QUALIFIED
Chavez F BriddickFranceOnyama Limba RENEWAL
Julie O OstroskyIndiaIvan Magalhaes NEW
Leon S InouyeItalyBernardo Dominic NEW
Claire C GlickFranceBernardo Dominic PROPOSAL
Faith E KuskoUnited KingdomXuxue Feng NEGOTIATION
Mayumi E DilliardRussiaIvan Magalhaes QUALIFIED
Mujtaba M NestleFranceIoni Bowcher RENEWAL
Nicolas W DoeGermanyIoni Bowcher NEW
Octavia Y RoysterFranceIoni Bowcher NEW
Ashley O ShinkoRussiaAsiya Javayant NEW
Greenwood P BowleyFranceAnna Fali PROPOSAL
Jennifer B RimFranceAnna Fali NEGOTIATION
Ashley D StockhamIndiaStephen Shaw NEW
Adams H SaylorsAustraliaStephen Shaw UNQUALIFIED
Isabel W MacleadJapanElwin Sharvill UNQUALIFIED
Leon P VocelkaAustraliaIoni Bowcher PROPOSAL
Leon R GauchoAustraliaAmy Elsner PROPOSAL
Sinclair K InouyeSpainBernardo Dominic PROPOSAL
Maisha I MacleadArgentinaAsiya Javayant RENEWAL
Tony M DarakjyBrazilAmy Elsner QUALIFIED
Jeanfrancois H PoquetteItalyIoni Bowcher QUALIFIED
Ashley T CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Francesco C RutaIndiaAnna Fali NEW
Adams F FollerJapanBernardo Dominic NEW
Chavez W GarufiCanadaBernardo Dominic 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>