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
Maria J CampainSpainElwin Sharvill RENEWAL
Julie J StensethArgentinaXuxue Feng NEW
Misaki J CaudyJapanStephen Shaw UNQUALIFIED
Kadeem F MorascaIndiaAnna Fali QUALIFIED
Octavia H CampainGermanyElwin Sharvill QUALIFIED
Claire U BriddickItalyStephen Shaw RENEWAL
Stacey V GauchoJapanStephen Shaw QUALIFIED
Stacey Z PerinUnited KingdomIoni Bowcher NEW
Munro D GillianBrazilElwin Sharvill PROPOSAL
James V KolmetzItalyStephen Shaw UNQUALIFIED
Jones R StockhamBrazilStephen Shaw NEW
Stacey R DoeSpainIoni Bowcher NEGOTIATION
Munro R ButtCanadaStephen Shaw QUALIFIED
Maisha X VocelkaArgentinaStephen Shaw PROPOSAL
Morrow E GillianUnited KingdomAsiya Javayant NEGOTIATION
Octavia P DilliardJapanAnna Fali PROPOSAL
Salvatore I InouyeCanadaIvan Magalhaes NEGOTIATION
Rodrigues A FigeroaArgentinaAsiya Javayant QUALIFIED
Leja E GauchoIndiaStephen Shaw UNQUALIFIED
Chavez F SaylorsGermanyBernardo Dominic UNQUALIFIED
David S IturbideGermanyXuxue Feng QUALIFIED
Chavez X CaudyAustraliaStephen Shaw NEGOTIATION
Jefferson B MarrierRussiaXuxue Feng NEW
Tony R RoysterGermanyAnna Fali UNQUALIFIED
Mayumi U MarrierJapanStephen Shaw RENEWAL
Kadeem T MorascaUnited KingdomOnyama Limba NEW
Greenwood B BologniaAustraliaAnna Fali UNQUALIFIED
Alejandro X VenereItalyIvan Magalhaes NEGOTIATION
Maisha F GauchoGermanyAnna Fali RENEWAL
Ricardo G IturbideIndiaAmy Elsner PROPOSAL
Aruna T OldroydSpainAsiya Javayant UNQUALIFIED
Cody Z AlbaresCanadaBernardo Dominic UNQUALIFIED
Morrow J GarufiJapanXuxue Feng PROPOSAL
Deepesh G ChuiBrazilIoni Bowcher NEW
Jeanfrancois L BriddickGermanyOnyama Limba UNQUALIFIED
Silvio U OstroskyGermanyAmy Elsner RENEWAL
Adams Z RutaAustraliaElwin Sharvill UNQUALIFIED
David J RoysterJapanStephen Shaw QUALIFIED
Morrow F WaycottSpainElwin Sharvill NEW
Kadeem H BologniaFranceOnyama Limba NEGOTIATION
Cody Y VocelkaCanadaAnna Fali RENEWAL
Claire M SchemmerAustraliaXuxue Feng RENEWAL
Stacey R TollnerGermanyStephen Shaw NEW
Sinclair Q RutaAustraliaAnna Fali NEW
Greenwood X NestleGermanyBernardo Dominic UNQUALIFIED
Julie A WhobreyBrazilElwin Sharvill NEW
Costa D CaldareraIndiaAnna Fali NEGOTIATION
Johnson L KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Ashley U MaletUnited KingdomIvan Magalhaes RENEWAL
Morrow D GlickBrazilBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jennifer Z WaycottJapanStephen Shaw RENEWAL
Misaki Z SaylorsSpainBernardo Dominic NEW
Arvin P RoysterAustraliaXuxue Feng NEGOTIATION
Francesco N BologniaAustraliaElwin Sharvill RENEWAL
Wickens B CampainItalyAnna Fali NEW
David Z FlosiItalyAsiya Javayant NEW
Deepesh Y IturbideRussiaStephen Shaw RENEWAL
Costa E MaletIndiaAsiya Javayant UNQUALIFIED
Izzy X PaprockiCanadaBernardo Dominic NEW
Juan T SchemmerArgentinaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams J AlbaresIndia2025-04-23Chapman, Ross E Esq RENEWAL40Ivan Magalhaes
1001Kaitlin U FlosiUnited Kingdom2025-04-16Truhlar And Truhlar Attys NEGOTIATION22Bernardo Dominic
1002Isabel C MaletUnited Kingdom2025-04-25Benton, John B Jr NEW8Stephen Shaw
1003Cody J GarufiRussia2025-04-24Truhlar And Truhlar Attys RENEWAL47Ioni Bowcher
1004Claire Z VocelkaBrazil2025-04-13King, Christopher A Esq PROPOSAL81Xuxue Feng
1005Kaitlin A RimBrazil2025-04-22Rousseaux, Michael Esq PROPOSAL18Ivan Magalhaes
1006Kaitlin E KuskoUnited Kingdom2025-04-22Benton, John B Jr PROPOSAL58Xuxue Feng
1007Darci N RutaBrazil2025-04-22Buckley Miller Wright QUALIFIED49Onyama Limba
1008Ricardo U WhobreyAustralia2025-04-19Chapman, Ross E Esq NEGOTIATION61Asiya Javayant
1009Salvatore G FigeroaAustralia2025-05-06Rangoni Of Florence UNQUALIFIED27Asiya Javayant
1010Nicolas P KolmetzBrazil2025-04-30Feiner Bros UNQUALIFIED63Ivan Magalhaes
1011Izzy P OldroydIndia2025-04-27Rangoni Of Florence QUALIFIED73Ivan Magalhaes
1012Morrow H CampainSpain2025-05-01Feiner Bros UNQUALIFIED73Xuxue Feng
1013Maria B SchemmerAustralia2025-05-04Printing Dimensions QUALIFIED16Asiya Javayant
1014Darci A KolmetzSpain2025-05-04Rousseaux, Michael Esq QUALIFIED29Ioni Bowcher
1015Clifford O GillianJapan2025-05-07Commercial Press UNQUALIFIED48Onyama Limba
1016Rodrigues F AmigonBrazil2025-04-26Chemel, James L Cpa NEW74Asiya Javayant
1017Chavez S MacleadIndia2025-04-14Rangoni Of Florence NEW57Elwin Sharvill
1018Leon I SchemmerAustralia2025-04-19Chapman, Ross E Esq UNQUALIFIED94Ivan Magalhaes
1019Juan X GauchoItaly2025-04-25Printing Dimensions NEW8Ioni Bowcher
1020Ricardo I MorascaItaly2025-04-15Printing Dimensions NEW12Amy Elsner
1021Salvatore I ButtFrance2025-04-16Chemel, James L Cpa UNQUALIFIED73Elwin Sharvill
1022Francesco L RimBrazil2025-04-14Chanay, Jeffrey A Esq RENEWAL67Xuxue Feng
1023Faith Z FigeroaGermany2025-04-22Chemel, James L Cpa NEGOTIATION68Xuxue Feng
1024Clifford V InouyeAustralia2025-04-30Truhlar And Truhlar Attys RENEWAL6Onyama Limba
1025Kaitlin O VenereRussia2025-04-27Commercial Press RENEWAL48Amy Elsner
1026Julie B MorascaUnited Kingdom2025-05-05Rangoni Of Florence PROPOSAL59Anna Fali
1027Ricardo F RutaSpain2025-04-24Morlong Associates NEGOTIATION50Elwin Sharvill
1028David N SergiRussia2025-05-03Morlong Associates UNQUALIFIED21Elwin Sharvill
1029Misaki J FollerBrazil2025-05-04Benton, John B Jr UNQUALIFIED74Amy Elsner
1030Jennifer S FollerIndia2025-04-20Rangoni Of Florence RENEWAL89Ivan Magalhaes
1031David X RoysterUnited Kingdom2025-04-28Chanay, Jeffrey A Esq QUALIFIED91Amy Elsner
1032Chavez Q FigeroaAustralia2025-04-22Rousseaux, Michael Esq UNQUALIFIED98Onyama Limba
1033Jones B KolmetzUnited Kingdom2025-05-03Rousseaux, Michael Esq QUALIFIED84Amy Elsner
1034David J PaprockiSpain2025-05-07Buckley Miller Wright QUALIFIED22Elwin Sharvill
1035Munro R PaprockiArgentina2025-04-27Dorl, James J Esq RENEWAL54Bernardo Dominic
1036Jeanfrancois E ChuiUnited Kingdom2025-05-08Morlong Associates UNQUALIFIED37Bernardo Dominic
1037Morrow G GarufiUnited Kingdom2025-04-24Commercial Press UNQUALIFIED0Ivan Magalhaes
1038Aika Q CaldareraArgentina2025-04-25Feiner Bros NEW15Xuxue Feng
1039Mujtaba Q DoeUnited Kingdom2025-05-07Buckley Miller Wright RENEWAL17Ioni Bowcher
1040Ricardo P FerenczSpain2025-04-22Chapman, Ross E Esq UNQUALIFIED64Xuxue Feng
1041Clifford Q FollerFrance2025-05-08Chanay, Jeffrey A Esq NEW56Amy Elsner
1042Julie O FigeroaCanada2025-04-30Commercial Press QUALIFIED35Ioni Bowcher
1043Maria D SaylorsRussia2025-04-11Rangoni Of Florence UNQUALIFIED73Elwin Sharvill
1044Jeanfrancois V GarufiUnited Kingdom2025-04-27Commercial Press PROPOSAL47Xuxue Feng
1045Misaki X WaycottJapan2025-04-16Feiner Bros PROPOSAL9Elwin Sharvill
1046Stacey W ChuiSpain2025-04-19King, Christopher A Esq NEGOTIATION96Elwin Sharvill
1047Johnson N PerinItaly2025-04-21Dorl, James J Esq UNQUALIFIED69Elwin Sharvill
1048Antonio M RimSpain2025-04-27Buckley Miller Wright QUALIFIED54Stephen Shaw
1049Octavia X BowleyGermany2025-04-14Morlong Associates NEGOTIATION23Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mayumi N MorascaAustraliaXuxue Feng UNQUALIFIED
Alejandro E OldroydJapanOnyama Limba QUALIFIED
Leon C NestleAustraliaXuxue Feng UNQUALIFIED
Deepesh P SaylorsFranceXuxue Feng NEGOTIATION
Chavez D IturbideGermanyAnna Fali NEW
Jennifer S RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Leja D DarakjyFranceStephen Shaw QUALIFIED
Darci R DoeArgentinaAmy Elsner UNQUALIFIED
Jefferson O GlickCanadaBernardo Dominic PROPOSAL
Greenwood X CaldareraBrazilAnna Fali NEW
Chavez Z FlosiIndiaOnyama Limba RENEWAL
Isabel X RimRussiaBernardo Dominic PROPOSAL
Nicolas E RutaAustraliaOnyama Limba RENEWAL
Francesco V PaprockiFranceIoni Bowcher NEGOTIATION
Ashley F MacleadIndiaAmy Elsner NEGOTIATION
Maria U KolmetzJapanIoni Bowcher RENEWAL
Alejandro T StensethCanadaBernardo Dominic QUALIFIED
Mujtaba N GillianSpainStephen Shaw NEW
Jennifer A DarakjyGermanyXuxue Feng PROPOSAL
Ivar F FerenczIndiaXuxue Feng RENEWAL
Aika S MaletFranceIvan Magalhaes QUALIFIED
Tony F MaletUnited KingdomIoni Bowcher NEW
Leon J InouyeRussiaBernardo Dominic NEGOTIATION
Maria J CaldareraBrazilBernardo Dominic UNQUALIFIED
Sinclair Y CaldareraRussiaOnyama Limba QUALIFIED
Ashley J ShinkoRussiaOnyama Limba NEW
Darci R VocelkaAustraliaBernardo Dominic PROPOSAL
Emily G FigeroaJapanBernardo Dominic NEW
Johnson E IturbideFranceIvan Magalhaes QUALIFIED
Alejandro A FollerRussiaAsiya Javayant NEW
Adams S VocelkaAustraliaXuxue Feng QUALIFIED
Salvatore C FlosiJapanStephen Shaw NEW
Rodrigues K DilliardBrazilIoni Bowcher PROPOSAL
Maisha K MorascaJapanAnna Fali QUALIFIED
Misaki L ChuiArgentinaElwin Sharvill NEW
Jennifer F PoquetteGermanyAsiya Javayant RENEWAL
Leon S KuskoAustraliaOnyama Limba NEW
Maria P FollerCanadaElwin Sharvill QUALIFIED
Chavez Z FollerAustraliaIoni Bowcher RENEWAL
Morrow X ButtAustraliaAmy Elsner QUALIFIED
Darci D WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore M MorascaArgentinaIvan Magalhaes PROPOSAL
Francesco P NickaItalyOnyama Limba PROPOSAL
Mayumi N GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Clifford N MorascaIndiaIoni Bowcher UNQUALIFIED
Mayumi B BowleyJapanOnyama Limba NEGOTIATION
Mujtaba I MaletJapanBernardo Dominic PROPOSAL
Johnson J VenereFranceOnyama Limba RENEWAL
Maria K InouyeGermanyElwin Sharvill NEGOTIATION
Adams M StockhamBrazilStephen Shaw PROPOSAL
Frozen Columns
Name
Morrow Y Rim
Jones J Tollner
Julie E Amigon
Silvio E Caudy
James S Shinko
Silvio M Schemmer
Tony M Stenseth
Johnson A Shinko
Octavia J Ruta
Tony R Oldroyd
Rodrigues Z Garufi
Silvio Z Butt
Ricardo Z Bolognia
Wickens R Ostrosky
Adams N Bolognia
Antonio U Nicka
Kadeem G Iturbide
Nicolas O Ostrosky
Jefferson F Whobrey
Faith D Nestle
Juan O Maclead
Jeanfrancois C Morasca
Mayumi E Iturbide
Johnson K Waycott
Wickens B Nicka
Murillo Z Ostrosky
Clifford Y Caldarera
Silvio F Bolognia
Jefferson I Chui
Rodrigues U Poquette
Aditya J Waycott
Ashley C Whobrey
Salvatore Q Ostrosky
Silvio J Dilliard
Murillo X Oldroyd
Octavia Y Chui
Johnson V Morasca
Morrow I Waycott
Juan O Perin
Stacey X Briddick
Arvin Y Rulapaugh
Nicolas U Briddick
Cody N Amigon
Aika H Gaucho
Arvin A Ferencz
Arvin B Kusko
Smith T Bowley
Isabel X Foller
Misaki E Glick
Jeanfrancois J Oldroyd
IdCountryDate
1000France2025-05-02
1001France2025-05-06
1002India2025-04-27
1003India2025-04-21
1004Australia2025-04-22
1005Canada2025-05-03
1006Italy2025-05-01
1007Germany2025-04-28
1008United Kingdom2025-05-01
1009Japan2025-04-13
1010Brazil2025-04-19
1011Brazil2025-04-25
1012Argentina2025-05-08
1013Germany2025-04-26
1014Argentina2025-04-25
1015United Kingdom2025-04-20
1016Argentina2025-04-13
1017Canada2025-05-03
1018Italy2025-05-06
1019France2025-05-04
1020Italy2025-04-20
1021Brazil2025-05-05
1022Russia2025-04-09
1023France2025-04-27
1024United Kingdom2025-05-06
1025India2025-04-18
1026Japan2025-04-12
1027United Kingdom2025-05-01
1028Argentina2025-05-06
1029Argentina2025-04-23
1030Japan2025-05-06
1031Spain2025-04-19
1032Argentina2025-05-02
1033Spain2025-05-04
1034Italy2025-04-21
1035Australia2025-04-11
1036India2025-04-09
1037France2025-04-30
1038Canada2025-04-30
1039Canada2025-05-02
1040India2025-05-05
1041Brazil2025-04-29
1042Canada2025-04-18
1043Russia2025-04-15
1044India2025-04-16
1045India2025-04-19
1046Germany2025-04-18
1047India2025-05-06
1048Spain2025-05-07
1049Brazil2025-04-09

On-Demand Data

NameIdCountryDate
Mayumi P Poquette1000Brazil2025-05-06
Kaitlin Z Ferencz1001Canada2025-04-17
Emily H Inouye1002Japan2025-04-13
Faith A Wieser1003Italy2025-04-26
Ivar D Bolognia1004Italy2025-04-30
Sinclair P Rulapaugh1005Japan2025-05-01
Adams P Oldroyd1006India2025-04-10
Rodrigues D Foller1007Brazil2025-05-05
Salvatore X Butt1008Russia2025-04-20
Munro U Rulapaugh1009Brazil2025-04-25
Silvio B Chui1010Spain2025-04-28
Johnson I Waycott1011Russia2025-04-30
Ashley V Glick1012Russia2025-05-07
Faith E Stockham1013Italy2025-04-28
Misaki K Iturbide1014France2025-04-25
Jennifer D Schemmer1015Canada2025-05-02
Deepesh R Albares1016Japan2025-04-10
Clifford U Sergi1017Germany2025-04-11
Stacey O Caldarera1018Italy2025-05-01
Costa S Nicka1019Japan2025-04-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki N IturbideArgentinaStephen Shaw QUALIFIED
Murillo I FlosiGermanyIvan Magalhaes UNQUALIFIED
Silvio Q BriddickCanadaElwin Sharvill QUALIFIED
Jefferson V MacleadIndiaAmy Elsner RENEWAL
Aditya D SergiCanadaXuxue Feng RENEWAL
Sinclair S WhobreyFranceStephen Shaw UNQUALIFIED
Isabel B GillianBrazilElwin Sharvill RENEWAL
Jennifer J NickaItalyStephen Shaw NEW
Mayumi X SaylorsBrazilOnyama Limba NEW
Faith D IturbideCanadaAmy Elsner RENEWAL
Ricardo I KuskoRussiaAsiya Javayant RENEWAL
Julie M DilliardFranceAmy Elsner UNQUALIFIED
Emily U ButtArgentinaAmy Elsner RENEWAL
Aika C NickaItalyOnyama Limba QUALIFIED
Aruna Y BriddickCanadaAsiya Javayant NEW
Aditya O DilliardAustraliaStephen Shaw NEGOTIATION
Mujtaba U BriddickSpainElwin Sharvill NEW
Kadeem H BowleyCanadaElwin Sharvill NEW
Deepesh R GarufiJapanIoni Bowcher PROPOSAL
Aika I PaprockiCanadaBernardo Dominic PROPOSAL
Alejandro P PaprockiFranceStephen Shaw UNQUALIFIED
David M RoysterJapanIoni Bowcher RENEWAL
Kadeem P SaylorsItalyXuxue Feng NEW
Silvio X BowleyItalyOnyama Limba UNQUALIFIED
Jennifer N NickaCanadaBernardo Dominic PROPOSAL
Ricardo E StockhamBrazilAsiya Javayant QUALIFIED
Misaki L CampainArgentinaElwin Sharvill NEGOTIATION
Jefferson D PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Greenwood E RulapaughGermanyOnyama Limba PROPOSAL
Silvio P SergiSpainElwin Sharvill NEGOTIATION
Maria H SaylorsSpainBernardo Dominic NEW
Johnson X BologniaAustraliaXuxue Feng NEGOTIATION
Misaki V FerenczGermanyStephen Shaw QUALIFIED
Rodrigues T GlickAustraliaBernardo Dominic NEGOTIATION
James X MorascaBrazilAnna Fali PROPOSAL
Jones M FigeroaJapanElwin Sharvill NEW
Smith J CampainUnited KingdomAmy Elsner RENEWAL
James C BriddickJapanStephen Shaw NEW
Claire Q StockhamJapanOnyama Limba QUALIFIED
Salvatore I GlickArgentinaAnna Fali PROPOSAL

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