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 I MaletBrazilAsiya Javayant NEW
Leja Y BriddickAustraliaAnna Fali NEGOTIATION
Mujtaba Q PoquetteJapanXuxue Feng PROPOSAL
Leon S NestleRussiaStephen Shaw QUALIFIED
Kadeem E BriddickArgentinaAsiya Javayant UNQUALIFIED
Juan J IturbideIndiaAnna Fali NEW
Maisha K SaylorsFranceIoni Bowcher QUALIFIED
Aditya O DilliardRussiaIoni Bowcher PROPOSAL
Salvatore Y CaudyCanadaIvan Magalhaes NEGOTIATION
Octavia Y MacleadSpainElwin Sharvill PROPOSAL
Izzy S MaletUnited KingdomIvan Magalhaes NEW
Murillo I BowleyBrazilAsiya Javayant RENEWAL
Alejandro U FigeroaArgentinaIoni Bowcher NEW
Kadeem J PerinGermanyIvan Magalhaes RENEWAL
Morrow W MaletSpainBernardo Dominic NEGOTIATION
Adams O FlosiJapanIoni Bowcher UNQUALIFIED
Arvin B TollnerArgentinaStephen Shaw PROPOSAL
Deepesh O BriddickRussiaBernardo Dominic QUALIFIED
Ricardo Y DilliardAustraliaAsiya Javayant PROPOSAL
Maisha V BriddickSpainIoni Bowcher RENEWAL
Julie F WhobreyAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois E BowleyJapanXuxue Feng UNQUALIFIED
Alejandro C AlbaresItalyXuxue Feng QUALIFIED
Antonio Z WhobreyBrazilIvan Magalhaes NEW
Claire R FollerAustraliaStephen Shaw NEGOTIATION
Deepesh F PoquetteGermanyElwin Sharvill RENEWAL
Emily P DoeItalyXuxue Feng NEW
Mayumi Y NestleArgentinaElwin Sharvill NEW
Aruna M KolmetzRussiaIoni Bowcher QUALIFIED
Sinclair W MacleadFranceStephen Shaw QUALIFIED
Jones X SaylorsIndiaAmy Elsner UNQUALIFIED
Silvio K GlickAustraliaAmy Elsner NEGOTIATION
Aruna Q AmigonItalyElwin Sharvill NEGOTIATION
Francesco Z SergiCanadaIoni Bowcher NEW
Alejandro O DarakjyItalyIoni Bowcher PROPOSAL
Leon X GillianArgentinaXuxue Feng NEW
Maisha N PerinArgentinaOnyama Limba RENEWAL
James Z StockhamIndiaStephen Shaw PROPOSAL
Mujtaba S PaprockiUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois P TollnerSpainOnyama Limba RENEWAL
Costa E PoquetteSpainAsiya Javayant QUALIFIED
Murillo G MacleadAustraliaBernardo Dominic NEGOTIATION
Kaitlin N MacleadGermanyAmy Elsner UNQUALIFIED
Leon N SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Darci F RutaUnited KingdomAsiya Javayant PROPOSAL
Octavia H SlusarskiItalyAsiya Javayant QUALIFIED
Aika Q NickaItalyXuxue Feng UNQUALIFIED
Stacey O MarrierRussiaIvan Magalhaes NEW
James N InouyeIndiaOnyama Limba NEGOTIATION
Rodrigues F PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki X SaylorsBrazilAnna Fali RENEWAL
Silvio X PoquetteFranceOnyama Limba UNQUALIFIED
Aika A SlusarskiRussiaElwin Sharvill QUALIFIED
Chavez M GauchoRussiaAmy Elsner NEGOTIATION
Antonio X CaldareraAustraliaElwin Sharvill NEGOTIATION
Ricardo G PerinJapanStephen Shaw NEW
Munro W SergiCanadaAmy Elsner NEW
Arvin E ButtJapanAmy Elsner RENEWAL
Antonio L MacleadArgentinaStephen Shaw PROPOSAL
Leja N GlickIndiaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair A RimSpain2026-07-16Printing Dimensions NEW7Elwin Sharvill
1001Alejandro H RutaIndia2026-07-13Benton, John B Jr RENEWAL64Elwin Sharvill
1002Clifford J NestleJapan2026-07-26Rousseaux, Michael Esq NEW42Xuxue Feng
1003Kadeem P CaudyAustralia2026-07-20Buckley Miller Wright RENEWAL79Bernardo Dominic
1004Morrow U MorascaJapan2026-07-22Rousseaux, Michael Esq QUALIFIED51Stephen Shaw
1005Greenwood W MorascaAustralia2026-07-06Rangoni Of Florence NEW93Onyama Limba
1006Ashley Z SchemmerRussia2026-07-21Feiner Bros RENEWAL80Elwin Sharvill
1007Jefferson H NickaItaly2026-07-15Dorl, James J Esq NEW10Xuxue Feng
1008Izzy O MaletJapan2026-07-12Dorl, James J Esq NEGOTIATION99Onyama Limba
1009Kaitlin L GlickGermany2026-07-15Morlong Associates NEGOTIATION3Asiya Javayant
1010Kadeem Q TollnerUnited Kingdom2026-07-01Truhlar And Truhlar Attys PROPOSAL57Amy Elsner
1011Maisha Q MacleadRussia2026-07-11Feltz Printing Service PROPOSAL60Bernardo Dominic
1012Aditya U MorascaUnited Kingdom2026-07-24Feltz Printing Service RENEWAL74Amy Elsner
1013Darci H GarufiRussia2026-07-06Dorl, James J Esq NEW48Ivan Magalhaes
1014Jones Y SergiItaly2026-06-30Buckley Miller Wright PROPOSAL47Elwin Sharvill
1015Ashley A InouyeSpain2026-06-29Feltz Printing Service NEW58Anna Fali
1016Silvio C DoeRussia2026-07-09Buckley Miller Wright NEW57Elwin Sharvill
1017Munro W GarufiUnited Kingdom2026-07-12Morlong Associates QUALIFIED84Asiya Javayant
1018Salvatore B OldroydItaly2026-07-22Chanay, Jeffrey A Esq UNQUALIFIED97Anna Fali
1019Wickens U DilliardCanada2026-07-15Dorl, James J Esq UNQUALIFIED43Ioni Bowcher
1020Ricardo X KuskoUnited Kingdom2026-07-19Rangoni Of Florence UNQUALIFIED17Ivan Magalhaes
1021Deepesh B MaletFrance2026-07-21Dorl, James J Esq QUALIFIED69Xuxue Feng
1022Isabel Z MorascaCanada2026-07-02Rousseaux, Michael Esq NEW46Ivan Magalhaes
1023Maisha C ButtAustralia2026-07-01Printing Dimensions PROPOSAL18Stephen Shaw
1024Chavez R CaldareraCanada2026-07-07Chapman, Ross E Esq UNQUALIFIED78Stephen Shaw
1025Kadeem J GarufiIndia2026-07-25Feiner Bros RENEWAL22Bernardo Dominic
1026Kadeem K PerinSpain2026-07-03Rangoni Of Florence PROPOSAL30Stephen Shaw
1027Ivar R OldroydArgentina2026-07-08Truhlar And Truhlar Attys NEGOTIATION75Anna Fali
1028Octavia P WieserGermany2026-07-07Commercial Press UNQUALIFIED77Amy Elsner
1029Johnson X WaycottCanada2026-07-13Benton, John B Jr UNQUALIFIED1Elwin Sharvill
1030Aditya D RimJapan2026-07-11Rousseaux, Michael Esq PROPOSAL74Bernardo Dominic
1031Tony O SlusarskiSpain2026-07-02Commercial Press RENEWAL39Xuxue Feng
1032Ivar Q OldroydBrazil2026-07-04Rousseaux, Michael Esq NEGOTIATION80Xuxue Feng
1033Mujtaba H DarakjyFrance2026-07-15Feiner Bros UNQUALIFIED74Bernardo Dominic
1034Claire U TollnerItaly2026-06-29Dorl, James J Esq PROPOSAL95Bernardo Dominic
1035Nicolas G KuskoSpain2026-07-20Feltz Printing Service PROPOSAL58Elwin Sharvill
1036Maisha Z DilliardCanada2026-07-07Feiner Bros UNQUALIFIED5Stephen Shaw
1037Munro B BowleyArgentina2026-07-06Feiner Bros NEW92Anna Fali
1038Jones T IturbideGermany2026-07-06Chapman, Ross E Esq UNQUALIFIED71Anna Fali
1039Stacey T MacleadItaly2026-07-27Chanay, Jeffrey A Esq NEW96Bernardo Dominic
1040Aditya T WhobreyItaly2026-06-30Morlong Associates PROPOSAL16Elwin Sharvill
1041Cody T FigeroaJapan2026-07-14Dorl, James J Esq NEGOTIATION84Onyama Limba
1042Aruna S WaycottCanada2026-07-08King, Christopher A Esq PROPOSAL8Onyama Limba
1043Aika V SlusarskiAustralia2026-07-15Morlong Associates PROPOSAL39Stephen Shaw
1044Jones S MaletAustralia2026-06-30Dorl, James J Esq RENEWAL73Stephen Shaw
1045Costa Q IturbideJapan2026-07-04Chapman, Ross E Esq PROPOSAL84Bernardo Dominic
1046Claire U RutaGermany2026-07-17King, Christopher A Esq NEW14Asiya Javayant
1047Munro I FollerArgentina2026-06-29Morlong Associates UNQUALIFIED7Amy Elsner
1048Adams N VenereJapan2026-06-30Feiner Bros NEW31Stephen Shaw
1049David B AlbaresSpain2026-07-27Commercial Press RENEWAL19Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba Z PoquetteCanadaOnyama Limba UNQUALIFIED
Stacey E SaylorsSpainOnyama Limba UNQUALIFIED
Rodrigues J NestleCanadaXuxue Feng UNQUALIFIED
Leja W KuskoArgentinaOnyama Limba UNQUALIFIED
David J SaylorsUnited KingdomAnna Fali QUALIFIED
Clifford L CaudyRussiaElwin Sharvill PROPOSAL
Rodrigues V BowleyGermanyOnyama Limba RENEWAL
Costa D GlickUnited KingdomElwin Sharvill UNQUALIFIED
Julie Y BowleyItalyIoni Bowcher PROPOSAL
Silvio J StockhamIndiaIvan Magalhaes RENEWAL
Maisha C MacleadJapanElwin Sharvill NEW
Emily P VocelkaItalyElwin Sharvill NEW
Isabel Y GauchoUnited KingdomAsiya Javayant NEW
Claire Y RimJapanOnyama Limba RENEWAL
Mayumi S FlosiJapanXuxue Feng UNQUALIFIED
Smith H InouyeAustraliaStephen Shaw PROPOSAL
Faith C StockhamAustraliaAnna Fali NEW
Kadeem W StockhamAustraliaOnyama Limba PROPOSAL
Morrow W RutaAustraliaBernardo Dominic PROPOSAL
Greenwood A BologniaCanadaOnyama Limba UNQUALIFIED
Aruna O StockhamBrazilBernardo Dominic PROPOSAL
Izzy U WhobreyRussiaAmy Elsner RENEWAL
Jennifer X GillianUnited KingdomElwin Sharvill UNQUALIFIED
Antonio K StockhamSpainAmy Elsner NEGOTIATION
Leon Y SergiUnited KingdomAmy Elsner PROPOSAL
Jones S VenereCanadaAmy Elsner QUALIFIED
Misaki G StockhamGermanyXuxue Feng RENEWAL
Jennifer J RulapaughBrazilXuxue Feng QUALIFIED
Nicolas X FollerArgentinaBernardo Dominic NEGOTIATION
Jennifer M MacleadGermanyOnyama Limba RENEWAL
Ivar X TollnerUnited KingdomIoni Bowcher PROPOSAL
Adams S SergiRussiaAnna Fali PROPOSAL
Rodrigues M KolmetzIndiaIoni Bowcher QUALIFIED
Jones L FigeroaBrazilElwin Sharvill RENEWAL
Murillo B ButtAustraliaXuxue Feng QUALIFIED
Kaitlin W MacleadGermanyIvan Magalhaes RENEWAL
Juan C VocelkaAustraliaAmy Elsner UNQUALIFIED
Kaitlin E PoquetteIndiaIvan Magalhaes NEW
Smith C FlosiJapanBernardo Dominic NEGOTIATION
Smith R SergiIndiaElwin Sharvill RENEWAL
Clifford L BologniaFranceXuxue Feng NEGOTIATION
Jennifer Z KolmetzArgentinaElwin Sharvill RENEWAL
Nicolas I FigeroaCanadaElwin Sharvill NEGOTIATION
Jefferson A InouyeGermanyBernardo Dominic NEW
Mayumi D RoysterJapanAnna Fali RENEWAL
Leon K MaletSpainXuxue Feng QUALIFIED
Mayumi H WaycottJapanStephen Shaw NEGOTIATION
Adams U NestleItalyBernardo Dominic NEW
Misaki L SchemmerJapanBernardo Dominic RENEWAL
Nicolas H SlusarskiItalyAsiya Javayant QUALIFIED
Frozen Columns
Name
Johnson V Oldroyd
Sinclair N Saylors
Nicolas O Figeroa
Francesco V Sergi
Darci T Vocelka
Jennifer U Malet
Wickens H Butt
Misaki D Caudy
Claire G Morasca
Aditya N Malet
David A Shinko
Stacey I Marrier
Silvio T Albares
Cody F Bolognia
Jeanfrancois Y Butt
Rodrigues J Chui
Chavez C Sergi
Leon E Rim
Rodrigues W Saylors
Sinclair T Nestle
Aruna G Sergi
Clifford H Ruta
Aruna P Paprocki
Juan W Saylors
Smith G Caldarera
Jennifer F Rulapaugh
Jeanfrancois I Figeroa
Salvatore Z Tollner
Smith B Rulapaugh
Adams U Schemmer
Jennifer C Marrier
Aditya E Caldarera
Claire X Chui
Ivar Y Vocelka
Julie H Malet
Mayumi E Caldarera
Sinclair U Waycott
Nicolas V Kusko
Ivar F Shinko
Alejandro C Tollner
Leja X Bolognia
Stacey C Caudy
Leon D Oldroyd
Ashley N Chui
Deepesh K Figeroa
Maria N Kusko
Mujtaba W Ruta
Izzy Y Sergi
Jennifer U Bolognia
Octavia H Perin
IdCountryDate
1000Spain2026-07-15
1001Spain2026-07-02
1002Japan2026-07-06
1003Spain2026-07-20
1004Spain2026-07-20
1005France2026-07-13
1006Italy2026-07-27
1007Canada2026-07-01
1008United Kingdom2026-07-06
1009Italy2026-07-25
1010Spain2026-06-29
1011Italy2026-07-01
1012Brazil2026-06-28
1013Argentina2026-06-28
1014Brazil2026-06-30
1015Argentina2026-07-19
1016Russia2026-07-18
1017Germany2026-07-26
1018United Kingdom2026-07-19
1019India2026-07-26
1020Australia2026-07-08
1021Japan2026-07-22
1022Australia2026-07-03
1023Argentina2026-07-14
1024Japan2026-07-08
1025Brazil2026-06-30
1026India2026-07-11
1027Germany2026-07-04
1028Australia2026-07-24
1029Italy2026-06-30
1030Argentina2026-07-19
1031Canada2026-07-10
1032Australia2026-07-20
1033Japan2026-07-06
1034Argentina2026-06-28
1035Spain2026-06-30
1036Germany2026-07-13
1037France2026-07-20
1038Russia2026-07-13
1039Argentina2026-07-10
1040France2026-07-17
1041Argentina2026-06-28
1042France2026-07-06
1043Argentina2026-07-06
1044India2026-07-23
1045Russia2026-07-26
1046Argentina2026-07-08
1047Russia2026-07-11
1048Spain2026-07-04
1049Russia2026-07-10

On-Demand Data

NameIdCountryDate
Faith E Kusko1000Germany2026-07-05
Leja L Venere1001Canada2026-07-05
Aruna Z Marrier1002United Kingdom2026-07-13
Emily C Darakjy1003Japan2026-07-16
Isabel X Schemmer1004United Kingdom2026-07-17
Arvin J Iturbide1005Brazil2026-06-29
Ashley H Figeroa1006Russia2026-07-26
Jeanfrancois L Malet1007France2026-06-30
Stacey J Butt1008Spain2026-07-21
Aruna F Marrier1009Japan2026-07-22
Morrow W Rim1010Italy2026-07-06
Leja H Morasca1011Australia2026-07-03
Murillo R Flosi1012Italy2026-07-01
Munro O Stenseth1013Argentina2026-07-08
Costa T Sergi1014Italy2026-07-11
Aruna B Ruta1015Canada2026-06-30
Leon Z Stenseth1016Argentina2026-07-12
James X Slusarski1017United Kingdom2026-07-15
Mayumi Y Wieser1018France2026-07-19
Aruna Z Ferencz1019Russia2026-07-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja L MarrierIndiaStephen Shaw QUALIFIED
Octavia N GillianIndiaIoni Bowcher PROPOSAL
Leon V TollnerIndiaAnna Fali UNQUALIFIED
Clifford I GarufiCanadaOnyama Limba NEW
Silvio S ChuiCanadaIvan Magalhaes RENEWAL
Leon X DarakjyBrazilStephen Shaw NEW
Ashley U DarakjyUnited KingdomBernardo Dominic NEW
Aika S BowleyGermanyOnyama Limba QUALIFIED
Faith D GlickRussiaStephen Shaw PROPOSAL
Juan D OstroskyItalyAsiya Javayant PROPOSAL
Julie O WaycottUnited KingdomOnyama Limba PROPOSAL
Jones G DarakjySpainOnyama Limba NEGOTIATION
Ivar M SaylorsFranceXuxue Feng RENEWAL
Aika K MorascaIndiaAmy Elsner NEGOTIATION
Leon V ShinkoRussiaElwin Sharvill UNQUALIFIED
Cody M GillianSpainBernardo Dominic RENEWAL
Maria Q FlosiArgentinaIoni Bowcher NEGOTIATION
Silvio S KolmetzArgentinaAmy Elsner NEW
Francesco X RoysterRussiaXuxue Feng QUALIFIED
Leja V NestleRussiaOnyama Limba PROPOSAL
Johnson C SlusarskiSpainStephen Shaw QUALIFIED
Clifford K OstroskyGermanyIoni Bowcher NEW
Kaitlin F BologniaSpainStephen Shaw PROPOSAL
James U SlusarskiJapanAsiya Javayant QUALIFIED
Morrow W SaylorsGermanyAnna Fali NEW
Darci J DarakjyAustraliaAnna Fali UNQUALIFIED
Salvatore S RulapaughBrazilOnyama Limba QUALIFIED
Clifford S AlbaresGermanyElwin Sharvill UNQUALIFIED
Chavez C StockhamArgentinaStephen Shaw QUALIFIED
Mayumi X MarrierSpainIvan Magalhaes NEW
Francesco I VocelkaArgentinaAsiya Javayant NEGOTIATION
Tony Y SchemmerUnited KingdomAnna Fali NEGOTIATION
Aditya S KuskoSpainAnna Fali UNQUALIFIED
Johnson I CaldareraGermanyAnna Fali QUALIFIED
Maria U ChuiUnited KingdomBernardo Dominic QUALIFIED
Aruna V WhobreyItalyAmy Elsner RENEWAL
Maria Z ButtRussiaXuxue Feng PROPOSAL
Munro G KuskoArgentinaAmy Elsner NEGOTIATION
Maisha L ChuiIndiaXuxue Feng NEW
James U PerinRussiaBernardo Dominic 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>