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
Adams F ButtItalyStephen Shaw PROPOSAL
Jennifer D BologniaCanadaXuxue Feng RENEWAL
Johnson G WieserIndiaOnyama Limba NEGOTIATION
Aika L PoquetteCanadaStephen Shaw NEW
Ivar N GlickRussiaAmy Elsner RENEWAL
Arvin F DilliardJapanAmy Elsner UNQUALIFIED
Salvatore Y ChuiJapanIoni Bowcher QUALIFIED
Aditya U CampainArgentinaIoni Bowcher UNQUALIFIED
Alejandro D VocelkaGermanyAsiya Javayant QUALIFIED
Tony O SergiGermanyIoni Bowcher NEW
James T CaudyIndiaIoni Bowcher NEGOTIATION
Leja G MacleadUnited KingdomIoni Bowcher NEGOTIATION
Chavez T NestleJapanStephen Shaw NEGOTIATION
Aika K SlusarskiArgentinaAmy Elsner NEW
Leon X IturbideUnited KingdomStephen Shaw NEW
Deepesh W FerenczArgentinaElwin Sharvill NEGOTIATION
Chavez X CampainSpainXuxue Feng RENEWAL
Morrow H NestleSpainAsiya Javayant RENEWAL
Wickens H WaycottCanadaIvan Magalhaes RENEWAL
Isabel N FlosiUnited KingdomStephen Shaw PROPOSAL
Stacey V IturbideAustraliaElwin Sharvill NEW
Munro B BologniaSpainIvan Magalhaes NEW
David D SchemmerJapanAsiya Javayant NEW
Aditya K BowleyRussiaXuxue Feng NEW
Jennifer D PaprockiItalyXuxue Feng RENEWAL
Morrow W DilliardSpainStephen Shaw QUALIFIED
Costa D ButtRussiaIvan Magalhaes NEGOTIATION
James P WhobreyCanadaStephen Shaw NEGOTIATION
Isabel U TollnerJapanStephen Shaw UNQUALIFIED
Ivar J ButtArgentinaAsiya Javayant UNQUALIFIED
David W CaldareraItalyStephen Shaw UNQUALIFIED
Leon N SaylorsFranceBernardo Dominic NEW
David F DilliardIndiaXuxue Feng NEW
Cody J InouyeUnited KingdomIvan Magalhaes PROPOSAL
Chavez J GauchoArgentinaBernardo Dominic RENEWAL
Salvatore X SchemmerRussiaAmy Elsner UNQUALIFIED
Cody H GarufiRussiaAnna Fali NEW
Maria Y MaletIndiaXuxue Feng NEGOTIATION
Maisha R AmigonJapanAmy Elsner UNQUALIFIED
Antonio R DarakjyUnited KingdomIvan Magalhaes UNQUALIFIED
Mayumi L AlbaresCanadaAnna Fali PROPOSAL
Julie G CampainIndiaIvan Magalhaes PROPOSAL
Aditya Y PoquetteGermanyElwin Sharvill NEW
Adams A AmigonBrazilStephen Shaw NEGOTIATION
Alejandro U SaylorsFranceElwin Sharvill QUALIFIED
Maria J TollnerIndiaIoni Bowcher QUALIFIED
Silvio B BriddickGermanyAmy Elsner PROPOSAL
Kaitlin H MarrierIndiaElwin Sharvill UNQUALIFIED
Isabel E SaylorsGermanyOnyama Limba UNQUALIFIED
Greenwood P BriddickIndiaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh F GillianBrazilElwin Sharvill NEW
Maria J VocelkaBrazilElwin Sharvill PROPOSAL
Mayumi T DarakjyBrazilIvan Magalhaes QUALIFIED
Adams U ShinkoSpainStephen Shaw NEW
Julie M RutaAustraliaBernardo Dominic QUALIFIED
Julie R OldroydUnited KingdomStephen Shaw PROPOSAL
Adams R ChuiUnited KingdomIoni Bowcher RENEWAL
Aruna Y CaudyUnited KingdomIvan Magalhaes QUALIFIED
James N TollnerItalyBernardo Dominic QUALIFIED
Maisha R SaylorsBrazilAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David T ChuiArgentina2025-04-16Buckley Miller Wright UNQUALIFIED76Ioni Bowcher
1001Wickens L CaldareraItaly2025-05-07Printing Dimensions NEW80Bernardo Dominic
1002Kaitlin Y RutaSpain2025-04-17Commercial Press PROPOSAL51Onyama Limba
1003Nicolas Q WieserCanada2025-05-04Morlong Associates NEW43Amy Elsner
1004Stacey S AlbaresIndia2025-04-23Morlong Associates UNQUALIFIED66Xuxue Feng
1005Mujtaba Y OldroydBrazil2025-05-06Dorl, James J Esq NEW88Asiya Javayant
1006Jennifer A ChuiUnited Kingdom2025-04-27Buckley Miller Wright UNQUALIFIED66Ivan Magalhaes
1007Morrow E MaletUnited Kingdom2025-04-21Chapman, Ross E Esq RENEWAL4Elwin Sharvill
1008Adams W BologniaSpain2025-04-21Chemel, James L Cpa RENEWAL79Xuxue Feng
1009Johnson Q GarufiSpain2025-05-05Chanay, Jeffrey A Esq RENEWAL82Ivan Magalhaes
1010Stacey Q RulapaughArgentina2025-04-11King, Christopher A Esq RENEWAL77Ioni Bowcher
1011Leja Y WaycottAustralia2025-04-21Feiner Bros PROPOSAL14Amy Elsner
1012Claire E MarrierJapan2025-04-24Benton, John B Jr RENEWAL94Bernardo Dominic
1013Octavia W CampainArgentina2025-04-09Commercial Press QUALIFIED57Elwin Sharvill
1014James L PoquetteRussia2025-04-20Chapman, Ross E Esq NEGOTIATION67Amy Elsner
1015Alejandro U GillianSpain2025-05-04Feiner Bros NEW31Bernardo Dominic
1016Juan J BowleyJapan2025-04-14Benton, John B Jr RENEWAL95Anna Fali
1017Antonio O VocelkaBrazil2025-04-16Printing Dimensions UNQUALIFIED3Asiya Javayant
1018Mayumi O NestleCanada2025-05-07Chanay, Jeffrey A Esq UNQUALIFIED89Ioni Bowcher
1019Ashley Y PerinCanada2025-04-23Chemel, James L Cpa NEGOTIATION21Elwin Sharvill
1020Costa T CaldareraAustralia2025-04-26Commercial Press NEW25Asiya Javayant
1021Clifford R SaylorsBrazil2025-04-23Chapman, Ross E Esq RENEWAL30Onyama Limba
1022Aruna R StensethArgentina2025-04-09Buckley Miller Wright QUALIFIED78Bernardo Dominic
1023Mujtaba A DilliardJapan2025-04-14Morlong Associates QUALIFIED51Stephen Shaw
1024Morrow Q VenereJapan2025-04-10Benton, John B Jr UNQUALIFIED3Anna Fali
1025Clifford J TollnerUnited Kingdom2025-04-26Printing Dimensions QUALIFIED43Anna Fali
1026Juan R FerenczIndia2025-05-03Buckley Miller Wright NEW0Ivan Magalhaes
1027Costa C CaudyRussia2025-04-12Chemel, James L Cpa NEW74Xuxue Feng
1028Alejandro B AmigonCanada2025-04-19Truhlar And Truhlar Attys UNQUALIFIED78Asiya Javayant
1029Rodrigues H ShinkoBrazil2025-05-07Feltz Printing Service NEW34Bernardo Dominic
1030Mujtaba C BriddickUnited Kingdom2025-05-07Chemel, James L Cpa NEGOTIATION46Anna Fali
1031Rodrigues V PaprockiBrazil2025-04-23Rangoni Of Florence NEGOTIATION96Asiya Javayant
1032Salvatore R FlosiCanada2025-04-10Chanay, Jeffrey A Esq QUALIFIED36Xuxue Feng
1033Izzy H SaylorsUnited Kingdom2025-04-12Commercial Press PROPOSAL49Elwin Sharvill
1034James D ShinkoBrazil2025-04-25Chapman, Ross E Esq RENEWAL14Amy Elsner
1035Cody Z MaletIndia2025-05-02Commercial Press NEGOTIATION66Asiya Javayant
1036Munro T MacleadJapan2025-04-14Chemel, James L Cpa PROPOSAL6Stephen Shaw
1037Tony S DarakjyAustralia2025-04-27Commercial Press PROPOSAL18Stephen Shaw
1038Kadeem I KuskoAustralia2025-05-01Benton, John B Jr NEW74Amy Elsner
1039Arvin H BologniaSpain2025-04-20Morlong Associates NEGOTIATION89Onyama Limba
1040Darci D NestleGermany2025-04-29Morlong Associates UNQUALIFIED0Onyama Limba
1041Nicolas Q ShinkoAustralia2025-04-20Buckley Miller Wright RENEWAL88Onyama Limba
1042Rodrigues G CaudyCanada2025-05-03Chanay, Jeffrey A Esq RENEWAL52Stephen Shaw
1043Aika Q FlosiSpain2025-04-22Rousseaux, Michael Esq UNQUALIFIED58Bernardo Dominic
1044Sinclair B CaldareraSpain2025-04-13King, Christopher A Esq UNQUALIFIED94Amy Elsner
1045Maria L SlusarskiJapan2025-04-23Chemel, James L Cpa RENEWAL16Xuxue Feng
1046Tony N BriddickFrance2025-04-15Morlong Associates NEGOTIATION21Asiya Javayant
1047Ashley G InouyeIndia2025-04-10Feiner Bros RENEWAL77Bernardo Dominic
1048Nicolas Y VocelkaRussia2025-04-17Printing Dimensions NEW75Elwin Sharvill
1049Adams L RoysterIndia2025-05-01Commercial Press UNQUALIFIED10Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Arvin D VenereCanadaOnyama Limba PROPOSAL
Faith G CampainJapanBernardo Dominic QUALIFIED
Rodrigues W WieserBrazilIoni Bowcher UNQUALIFIED
David J SchemmerUnited KingdomXuxue Feng PROPOSAL
Izzy K PoquetteRussiaOnyama Limba NEGOTIATION
Chavez G OstroskyUnited KingdomAnna Fali QUALIFIED
Leon A MaletUnited KingdomXuxue Feng NEGOTIATION
Clifford V ShinkoItalyOnyama Limba UNQUALIFIED
Wickens O TollnerCanadaAmy Elsner NEGOTIATION
David V WaycottUnited KingdomAsiya Javayant RENEWAL
Kadeem B WieserFranceOnyama Limba UNQUALIFIED
Mujtaba Z AlbaresJapanOnyama Limba RENEWAL
James T MaletSpainOnyama Limba UNQUALIFIED
Maisha H GillianBrazilAnna Fali PROPOSAL
Johnson Y StockhamCanadaXuxue Feng UNQUALIFIED
Stacey V AmigonAustraliaElwin Sharvill NEGOTIATION
David Q StockhamBrazilStephen Shaw NEW
Costa G CaldareraJapanElwin Sharvill QUALIFIED
Rodrigues C SergiItalyAnna Fali NEW
Sinclair J VocelkaCanadaAsiya Javayant UNQUALIFIED
Jefferson J MaletCanadaOnyama Limba UNQUALIFIED
Smith P AmigonSpainIvan Magalhaes NEGOTIATION
Leja W BriddickArgentinaIvan Magalhaes QUALIFIED
Darci A KuskoArgentinaOnyama Limba PROPOSAL
Francesco H WieserGermanyAsiya Javayant QUALIFIED
Ivar O PaprockiJapanOnyama Limba UNQUALIFIED
Greenwood H MorascaFranceElwin Sharvill NEW
Juan C BologniaJapanAsiya Javayant UNQUALIFIED
Jefferson J DoeFranceStephen Shaw NEGOTIATION
Misaki U SaylorsFranceXuxue Feng RENEWAL
Francesco M NickaSpainAsiya Javayant NEGOTIATION
Aika B MarrierItalyBernardo Dominic NEGOTIATION
Johnson K InouyeItalyOnyama Limba QUALIFIED
Kaitlin Q FlosiItalyOnyama Limba NEGOTIATION
Maisha A KolmetzRussiaIvan Magalhaes RENEWAL
Misaki L BowleyAustraliaElwin Sharvill NEW
Johnson Y CaudyJapanAmy Elsner UNQUALIFIED
Ashley G GillianCanadaOnyama Limba UNQUALIFIED
Nicolas V SaylorsUnited KingdomBernardo Dominic QUALIFIED
Stacey H MaletArgentinaIoni Bowcher QUALIFIED
Emily V BologniaUnited KingdomAmy Elsner NEW
Munro B SlusarskiRussiaAmy Elsner NEW
Claire R DarakjyItalyElwin Sharvill RENEWAL
Aruna S BologniaItalyXuxue Feng PROPOSAL
Mujtaba S FlosiFranceAmy Elsner RENEWAL
Faith B MaletJapanIvan Magalhaes RENEWAL
Salvatore V RimBrazilAsiya Javayant UNQUALIFIED
Silvio A PerinSpainElwin Sharvill UNQUALIFIED
Mayumi A RulapaughItalyIvan Magalhaes QUALIFIED
Deepesh C BriddickFranceAmy Elsner RENEWAL
Frozen Columns
Name
Costa Y Slusarski
Misaki V Briddick
Smith K Butt
Mayumi Z Bolognia
Emily R Whobrey
Murillo W Poquette
Morrow I Saylors
Jeanfrancois T Royster
Octavia V Schemmer
Mayumi S Figeroa
Ricardo Q Saylors
Kaitlin C Nicka
Sinclair W Rim
Isabel K Wieser
Mujtaba X Whobrey
Francesco Z Garufi
Leja C Malet
Jeanfrancois P Albares
Aika P Stenseth
Aruna X Saylors
Costa Q Slusarski
Mayumi D Malet
Jefferson R Ruta
David M Morasca
Deepesh F Foller
Nicolas L Ruta
Salvatore L Rim
Stacey P Inouye
Cody Y Stenseth
Jefferson E Malet
Nicolas G Flosi
Johnson X Glick
Ricardo E Venere
Cody G Chui
Leja Z Albares
Ashley T Maclead
Sinclair Z Caldarera
Leja K Slusarski
Costa Q Figeroa
Murillo J Figeroa
David Z Flosi
Faith L Caudy
Kaitlin K Foller
Kadeem V Saylors
Jennifer V Paprocki
Morrow Q Gaucho
Darci C Flosi
Mujtaba R Oldroyd
Julie G Garufi
Izzy K Wieser
IdCountryDate
1000India2025-05-02
1001Italy2025-04-13
1002Italy2025-04-13
1003Japan2025-05-05
1004France2025-04-22
1005Brazil2025-04-30
1006Spain2025-04-27
1007Italy2025-04-11
1008Brazil2025-04-21
1009Canada2025-05-08
1010Brazil2025-05-02
1011Spain2025-04-18
1012Argentina2025-05-01
1013Brazil2025-05-03
1014Australia2025-04-18
1015Germany2025-04-16
1016France2025-04-27
1017India2025-04-28
1018Japan2025-05-05
1019Argentina2025-04-12
1020Japan2025-04-21
1021Canada2025-05-03
1022Germany2025-04-17
1023Brazil2025-05-02
1024Australia2025-04-25
1025France2025-05-06
1026India2025-04-22
1027Germany2025-04-29
1028Canada2025-05-06
1029India2025-05-04
1030Russia2025-05-02
1031Germany2025-04-30
1032United Kingdom2025-04-24
1033France2025-04-19
1034Australia2025-04-18
1035Brazil2025-04-25
1036Brazil2025-04-10
1037Germany2025-04-27
1038Italy2025-05-05
1039Japan2025-04-10
1040United Kingdom2025-04-22
1041France2025-04-22
1042Argentina2025-04-12
1043Argentina2025-05-05
1044Brazil2025-04-20
1045Canada2025-05-01
1046Japan2025-04-09
1047United Kingdom2025-04-09
1048Brazil2025-05-08
1049Argentina2025-04-11

On-Demand Data

NameIdCountryDate
Francesco Q Stenseth1000Spain2025-04-21
Aika N Bolognia1001Canada2025-05-07
Greenwood V Morasca1002United Kingdom2025-05-05
Isabel W Maclead1003Canada2025-05-01
Francesco F Gaucho1004Japan2025-04-20
Arvin F Bolognia1005Brazil2025-04-28
Francesco K Morasca1006Brazil2025-04-23
Tony Z Caudy1007Canada2025-05-02
Mayumi H Albares1008Russia2025-04-29
Ashley U Albares1009Spain2025-04-19
Juan Z Ruta1010Canada2025-04-12
Salvatore G Slusarski1011France2025-04-12
Claire Y Paprocki1012Italy2025-05-08
Maisha K Chui1013United Kingdom2025-04-30
Aika X Bolognia1014Canada2025-05-06
Jennifer T Garufi1015Australia2025-04-16
Claire Q Kusko1016Japan2025-04-28
Cody P Butt1017Spain2025-05-01
Murillo X Albares1018France2025-04-11
Chavez J Kusko1019United Kingdom2025-04-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin U WaycottBrazilStephen Shaw RENEWAL
Cody T IturbideRussiaAsiya Javayant QUALIFIED
Johnson B PoquetteUnited KingdomOnyama Limba NEGOTIATION
Jefferson J OldroydJapanAmy Elsner QUALIFIED
Claire Q SaylorsBrazilElwin Sharvill NEGOTIATION
Misaki J BowleyAustraliaAsiya Javayant RENEWAL
Emily H KuskoItalyAmy Elsner QUALIFIED
David G WhobreyBrazilAsiya Javayant UNQUALIFIED
David L MorascaGermanyStephen Shaw NEGOTIATION
Stacey W DilliardIndiaAsiya Javayant UNQUALIFIED
Nicolas L DoeRussiaIvan Magalhaes UNQUALIFIED
Ashley O SergiGermanyStephen Shaw NEW
David U RoysterSpainStephen Shaw UNQUALIFIED
Faith H FollerSpainElwin Sharvill QUALIFIED
Jefferson P GillianCanadaIvan Magalhaes QUALIFIED
Emily X StensethUnited KingdomBernardo Dominic PROPOSAL
Jefferson R FollerJapanAsiya Javayant NEW
Maisha S MaletArgentinaStephen Shaw NEW
Izzy E CaldareraGermanyStephen Shaw UNQUALIFIED
Sinclair D SlusarskiCanadaStephen Shaw NEGOTIATION
Tony U OstroskyIndiaAnna Fali RENEWAL
Misaki S RulapaughBrazilAmy Elsner NEW
Smith K GillianFranceIvan Magalhaes UNQUALIFIED
Adams R DilliardItalyAsiya Javayant UNQUALIFIED
Sinclair N VenereSpainIvan Magalhaes UNQUALIFIED
Maria N FerenczSpainIvan Magalhaes PROPOSAL
Leon E KolmetzArgentinaAnna Fali NEGOTIATION
Munro X FlosiBrazilIoni Bowcher PROPOSAL
Nicolas E MacleadSpainXuxue Feng UNQUALIFIED
Kadeem N WaycottBrazilStephen Shaw UNQUALIFIED
Mayumi E MorascaSpainXuxue Feng UNQUALIFIED
Johnson Y AlbaresFranceElwin Sharvill RENEWAL
Munro I NickaAustraliaIoni Bowcher NEW
Rodrigues K RulapaughFranceOnyama Limba PROPOSAL
Salvatore F RulapaughAustraliaXuxue Feng QUALIFIED
Rodrigues Z MaletAustraliaAmy Elsner NEW
Darci H CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson A AlbaresGermanyXuxue Feng UNQUALIFIED
Kadeem P KolmetzJapanAmy Elsner NEW
Smith W RulapaughRussiaAmy Elsner 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>