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
Julie O FollerArgentinaIoni Bowcher PROPOSAL
Arvin U AlbaresGermanyElwin Sharvill UNQUALIFIED
Tony J DilliardGermanyOnyama Limba NEW
Darci K SergiSpainElwin Sharvill UNQUALIFIED
Misaki C NestleItalyAsiya Javayant QUALIFIED
Aika Y SergiRussiaXuxue Feng QUALIFIED
Cody R RimUnited KingdomBernardo Dominic PROPOSAL
Kadeem I ButtItalyAnna Fali PROPOSAL
Smith Z AlbaresArgentinaOnyama Limba QUALIFIED
David Z AlbaresArgentinaOnyama Limba NEGOTIATION
Adams L DilliardArgentinaXuxue Feng QUALIFIED
Clifford I KuskoJapanOnyama Limba NEGOTIATION
Clifford Q TollnerArgentinaIvan Magalhaes RENEWAL
James S InouyeGermanyAmy Elsner NEW
Jennifer P MaletArgentinaBernardo Dominic NEW
Misaki S PoquetteJapanAsiya Javayant NEGOTIATION
Johnson A GarufiRussiaAmy Elsner QUALIFIED
Misaki N StockhamItalyStephen Shaw PROPOSAL
Ivar N NestleGermanyIoni Bowcher PROPOSAL
Jennifer B BowleyUnited KingdomOnyama Limba NEW
Maria H KuskoUnited KingdomAmy Elsner NEW
Kadeem Q GauchoCanadaAsiya Javayant UNQUALIFIED
Aditya D ButtJapanBernardo Dominic QUALIFIED
Jennifer X GauchoAustraliaElwin Sharvill NEW
Octavia I SergiSpainXuxue Feng NEGOTIATION
Silvio U FerenczFranceXuxue Feng RENEWAL
Maria G RoysterGermanyIvan Magalhaes RENEWAL
Octavia W StensethFranceAsiya Javayant NEW
Izzy H DilliardArgentinaAnna Fali QUALIFIED
Jefferson H ShinkoIndiaIvan Magalhaes PROPOSAL
Antonio V SergiUnited KingdomAsiya Javayant NEW
Maisha T GlickRussiaXuxue Feng NEGOTIATION
Ricardo U MacleadSpainAsiya Javayant NEW
Maisha R RulapaughSpainStephen Shaw RENEWAL
Salvatore W BriddickBrazilAmy Elsner NEGOTIATION
Cody D GlickSpainAnna Fali NEW
Emily Q StensethCanadaStephen Shaw NEW
Jeanfrancois G GillianRussiaAnna Fali NEGOTIATION
Mujtaba H NestleCanadaBernardo Dominic PROPOSAL
Silvio D RulapaughAustraliaBernardo Dominic PROPOSAL
Salvatore Z ShinkoAustraliaXuxue Feng PROPOSAL
Ashley H StensethArgentinaAsiya Javayant PROPOSAL
Aika Q RimBrazilIoni Bowcher QUALIFIED
Kadeem B PerinIndiaBernardo Dominic NEGOTIATION
Sinclair K VenereBrazilAmy Elsner NEGOTIATION
Tony B GlickGermanyAmy Elsner RENEWAL
Greenwood D MarrierFranceAmy Elsner RENEWAL
Munro G WhobreyUnited KingdomElwin Sharvill RENEWAL
Jones R NickaFranceIvan Magalhaes NEGOTIATION
Clifford N MaletRussiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
James G SlusarskiAustraliaXuxue Feng RENEWAL
Tony C WhobreyCanadaXuxue Feng NEW
Tony W StockhamGermanyAmy Elsner NEGOTIATION
Maisha B RutaBrazilAsiya Javayant NEW
Ricardo Z ChuiItalyBernardo Dominic QUALIFIED
James Q InouyeGermanyIvan Magalhaes NEGOTIATION
Costa J InouyeCanadaXuxue Feng RENEWAL
Mujtaba A MaletRussiaXuxue Feng PROPOSAL
Tony Q WaycottFranceStephen Shaw RENEWAL
James A ShinkoAustraliaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony M CampainArgentina2026-07-28Truhlar And Truhlar Attys UNQUALIFIED20Anna Fali
1001Darci D VocelkaCanada2026-07-27Chapman, Ross E Esq UNQUALIFIED9Stephen Shaw
1002Deepesh H AlbaresSpain2026-07-10Printing Dimensions PROPOSAL74Ioni Bowcher
1003Arvin I KolmetzRussia2026-07-03Printing Dimensions UNQUALIFIED85Anna Fali
1004Adams D BowleySpain2026-07-03Benton, John B Jr NEW46Elwin Sharvill
1005Jones N GarufiJapan2026-07-17Rangoni Of Florence QUALIFIED49Stephen Shaw
1006Salvatore M RutaUnited Kingdom2026-07-01Chemel, James L Cpa RENEWAL13Bernardo Dominic
1007Morrow S DarakjyIndia2026-07-24Truhlar And Truhlar Attys NEGOTIATION56Xuxue Feng
1008Darci Q MorascaJapan2026-07-12Rangoni Of Florence UNQUALIFIED61Anna Fali
1009Leja N GauchoCanada2026-07-08Feiner Bros NEW59Ioni Bowcher
1010Salvatore H PoquetteCanada2026-07-01Rangoni Of Florence NEGOTIATION53Ivan Magalhaes
1011Costa A PoquetteGermany2026-07-06Chapman, Ross E Esq RENEWAL86Bernardo Dominic
1012Faith Z NestleAustralia2026-07-11Chapman, Ross E Esq UNQUALIFIED94Elwin Sharvill
1013Silvio L AlbaresBrazil2026-07-15King, Christopher A Esq UNQUALIFIED58Stephen Shaw
1014David E StockhamBrazil2026-07-02Rousseaux, Michael Esq NEGOTIATION2Onyama Limba
1015Aika U WhobreyItaly2026-07-25King, Christopher A Esq RENEWAL93Onyama Limba
1016Aika N OldroydGermany2026-06-30Printing Dimensions PROPOSAL12Elwin Sharvill
1017Ivar Z CampainCanada2026-06-30Buckley Miller Wright QUALIFIED56Bernardo Dominic
1018Cody T FigeroaBrazil2026-07-26Chemel, James L Cpa RENEWAL89Bernardo Dominic
1019Julie H AmigonIndia2026-07-19Truhlar And Truhlar Attys NEGOTIATION48Xuxue Feng
1020Darci M WieserArgentina2026-07-11Feiner Bros UNQUALIFIED99Onyama Limba
1021Julie Y MacleadUnited Kingdom2026-07-08Rangoni Of Florence NEGOTIATION55Stephen Shaw
1022Ricardo Q IturbideIndia2026-07-18Commercial Press NEW88Amy Elsner
1023Antonio W ChuiIndia2026-07-09Chanay, Jeffrey A Esq NEW78Elwin Sharvill
1024Ivar I TollnerFrance2026-07-23Chanay, Jeffrey A Esq PROPOSAL12Anna Fali
1025Wickens L IturbideAustralia2026-07-26Feltz Printing Service QUALIFIED26Onyama Limba
1026Mujtaba C SergiSpain2026-07-04Morlong Associates NEGOTIATION62Elwin Sharvill
1027Nicolas B NestleRussia2026-07-22Rousseaux, Michael Esq PROPOSAL28Anna Fali
1028Sinclair K CaudyGermany2026-07-11Rangoni Of Florence QUALIFIED7Stephen Shaw
1029Rodrigues H OldroydSpain2026-07-01King, Christopher A Esq PROPOSAL83Xuxue Feng
1030Munro F CampainAustralia2026-07-23Morlong Associates PROPOSAL27Ivan Magalhaes
1031Greenwood W StensethFrance2026-07-16Chapman, Ross E Esq PROPOSAL52Asiya Javayant
1032Faith W IturbideRussia2026-07-16King, Christopher A Esq NEW12Asiya Javayant
1033Octavia N KolmetzFrance2026-07-08Chapman, Ross E Esq NEGOTIATION8Anna Fali
1034Leja X SlusarskiRussia2026-07-11Dorl, James J Esq QUALIFIED60Amy Elsner
1035Nicolas Q RulapaughItaly2026-07-09Feltz Printing Service UNQUALIFIED6Anna Fali
1036Kadeem R DilliardRussia2026-07-12Commercial Press QUALIFIED75Bernardo Dominic
1037Smith Y CaudyItaly2026-07-10Commercial Press PROPOSAL19Ioni Bowcher
1038Aika D SaylorsRussia2026-07-28Chemel, James L Cpa PROPOSAL80Elwin Sharvill
1039Jefferson P MarrierItaly2026-07-06Commercial Press UNQUALIFIED97Asiya Javayant
1040Wickens Z MaletItaly2026-06-29Buckley Miller Wright PROPOSAL54Bernardo Dominic
1041Misaki P FlosiRussia2026-07-18Rangoni Of Florence PROPOSAL18Ivan Magalhaes
1042Juan S TollnerIndia2026-07-08Rangoni Of Florence NEGOTIATION61Amy Elsner
1043Costa G AmigonIndia2026-07-10Chemel, James L Cpa NEGOTIATION89Bernardo Dominic
1044Ashley X WhobreyCanada2026-07-17Feiner Bros NEW33Ivan Magalhaes
1045Francesco U WieserSpain2026-07-02King, Christopher A Esq NEGOTIATION43Stephen Shaw
1046Mayumi C RulapaughSpain2026-07-15Morlong Associates UNQUALIFIED2Asiya Javayant
1047Clifford A ButtArgentina2026-07-12Commercial Press QUALIFIED34Ioni Bowcher
1048Antonio K WhobreyBrazil2026-07-13Feiner Bros UNQUALIFIED39Asiya Javayant
1049Aditya K PoquetteGermany2026-07-24King, Christopher A Esq NEGOTIATION11Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
James Y BologniaIndiaStephen Shaw NEW
Jefferson O ButtArgentinaIvan Magalhaes RENEWAL
Greenwood X CampainJapanAnna Fali QUALIFIED
Silvio F GillianFranceAmy Elsner PROPOSAL
Greenwood Z FerenczFranceBernardo Dominic QUALIFIED
Murillo O NickaAustraliaElwin Sharvill RENEWAL
Izzy O SergiGermanyAmy Elsner QUALIFIED
Sinclair E SergiRussiaAnna Fali PROPOSAL
Greenwood U GlickAustraliaAmy Elsner NEW
Murillo B KuskoBrazilAnna Fali NEGOTIATION
Antonio F StensethJapanAmy Elsner QUALIFIED
Darci Z RimAustraliaBernardo Dominic NEGOTIATION
James V NickaCanadaStephen Shaw RENEWAL
Jones N CaldareraJapanIvan Magalhaes NEW
Kaitlin H BologniaBrazilAnna Fali QUALIFIED
Clifford J MaletIndiaOnyama Limba RENEWAL
Salvatore D AmigonIndiaOnyama Limba NEGOTIATION
Tony D PoquetteJapanAnna Fali QUALIFIED
Rodrigues B DoeGermanyStephen Shaw QUALIFIED
Arvin B MarrierSpainOnyama Limba NEW
Ivar L CaldareraAustraliaStephen Shaw QUALIFIED
Juan U IturbideIndiaStephen Shaw RENEWAL
Deepesh E KuskoArgentinaIoni Bowcher RENEWAL
Darci L StensethUnited KingdomOnyama Limba PROPOSAL
Octavia K ButtUnited KingdomXuxue Feng UNQUALIFIED
Greenwood H FerenczUnited KingdomIoni Bowcher PROPOSAL
Faith Q MaletUnited KingdomAsiya Javayant QUALIFIED
Murillo R FerenczAustraliaElwin Sharvill NEW
Jeanfrancois L SergiRussiaBernardo Dominic NEGOTIATION
Chavez A FollerCanadaOnyama Limba PROPOSAL
Aditya K TollnerUnited KingdomStephen Shaw UNQUALIFIED
Leon I FerenczFranceOnyama Limba NEGOTIATION
Julie M GlickJapanBernardo Dominic NEW
Aruna O FerenczRussiaIvan Magalhaes NEGOTIATION
Misaki Q WieserFranceXuxue Feng RENEWAL
Claire X VenereFranceAmy Elsner NEW
Antonio H GlickIndiaAmy Elsner RENEWAL
Maria T FigeroaBrazilAsiya Javayant QUALIFIED
Isabel U FigeroaItalyOnyama Limba QUALIFIED
Sinclair Y ShinkoGermanyBernardo Dominic RENEWAL
Ashley N MaletBrazilIoni Bowcher UNQUALIFIED
Munro M KolmetzItalyIvan Magalhaes PROPOSAL
Aditya H ShinkoJapanOnyama Limba NEGOTIATION
Claire O StockhamUnited KingdomAmy Elsner NEGOTIATION
Stacey V BowleyJapanIvan Magalhaes QUALIFIED
Smith F RoysterArgentinaIvan Magalhaes NEW
Faith M GlickIndiaAmy Elsner PROPOSAL
Claire C WieserSpainAmy Elsner RENEWAL
Kadeem M RimFranceAmy Elsner NEW
Mujtaba M MaletCanadaXuxue Feng NEW
Frozen Columns
Name
Salvatore O Oldroyd
Aruna T Kolmetz
Octavia O Figeroa
Maria Q Saylors
Aruna R Waycott
Alejandro E Chui
Emily T Saylors
David M Nestle
Jones O Rim
Isabel A Glick
Munro I Poquette
Mujtaba B Malet
Costa L Amigon
Julie P Stockham
Misaki V Perin
Silvio F Malet
Antonio U Morasca
Jones W Rim
Antonio Z Whobrey
Emily C Stenseth
Julie B Figeroa
Maisha J Morasca
Smith J Gillian
Cody W Caldarera
Silvio C Schemmer
Aika F Ruta
Antonio V Whobrey
Wickens C Sergi
Mayumi T Whobrey
Maria K Garufi
Emily G Poquette
Darci U Ferencz
David B Foller
Kaitlin B Vocelka
Nicolas V Darakjy
Wickens X Ostrosky
Darci E Foller
Jennifer B Poquette
Leja I Perin
Morrow C Malet
Cody L Gillian
Leon I Saylors
James U Dilliard
Chavez D Ruta
Octavia J Rim
Johnson B Whobrey
Kadeem P Ruta
Silvio W Nicka
Kaitlin H Schemmer
Tony D Morasca
IdCountryDate
1000Australia2026-06-29
1001Japan2026-07-05
1002United Kingdom2026-07-07
1003France2026-07-14
1004Brazil2026-07-01
1005France2026-07-02
1006United Kingdom2026-07-11
1007Germany2026-07-19
1008Italy2026-07-25
1009Germany2026-06-30
1010Japan2026-06-30
1011Russia2026-07-17
1012Russia2026-07-05
1013Russia2026-07-19
1014United Kingdom2026-07-24
1015India2026-07-27
1016Italy2026-07-21
1017India2026-07-01
1018Brazil2026-07-21
1019Germany2026-07-08
1020Spain2026-07-09
1021Brazil2026-07-25
1022Germany2026-07-01
1023Spain2026-07-19
1024Argentina2026-07-22
1025Japan2026-06-29
1026Argentina2026-07-07
1027Australia2026-06-29
1028France2026-07-06
1029Germany2026-07-02
1030Australia2026-06-30
1031India2026-07-08
1032United Kingdom2026-07-26
1033India2026-07-14
1034Spain2026-06-29
1035Australia2026-07-08
1036United Kingdom2026-07-24
1037India2026-07-24
1038Brazil2026-07-24
1039Argentina2026-07-11
1040Australia2026-07-01
1041Russia2026-07-09
1042Italy2026-07-15
1043Japan2026-07-09
1044Germany2026-07-20
1045United Kingdom2026-07-13
1046Spain2026-07-01
1047Spain2026-07-07
1048France2026-07-20
1049Germany2026-07-15

On-Demand Data

NameIdCountryDate
Clifford D Stenseth1000Spain2026-07-17
Julie U Sergi1001Australia2026-07-07
Tony V Ferencz1002Argentina2026-07-11
Julie Q Stockham1003United Kingdom2026-07-02
Arvin P Vocelka1004India2026-07-04
Johnson A Gillian1005United Kingdom2026-07-03
Morrow F Marrier1006Spain2026-07-15
Maisha U Paprocki1007France2026-07-12
Adams I Poquette1008France2026-07-07
Misaki Q Nestle1009Canada2026-07-15
Maria L Venere1010Brazil2026-06-30
Faith R Bolognia1011Australia2026-06-29
Aika E Stockham1012Australia2026-07-07
Chavez N Caudy1013France2026-07-03
Alejandro V Ruta1014Spain2026-07-22
David E Tollner1015Germany2026-07-15
Morrow T Perin1016Australia2026-07-06
Alejandro G Rulapaugh1017Spain2026-07-24
Antonio N Amigon1018Russia2026-07-16
Darci I Stenseth1019Australia2026-07-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez N GarufiAustraliaAnna Fali PROPOSAL
Stacey O GillianCanadaBernardo Dominic UNQUALIFIED
Munro O RulapaughSpainElwin Sharvill UNQUALIFIED
Maisha I FlosiRussiaElwin Sharvill UNQUALIFIED
Jeanfrancois M WhobreyGermanyAmy Elsner PROPOSAL
Adams F StensethJapanIoni Bowcher RENEWAL
Nicolas Q DarakjyBrazilStephen Shaw QUALIFIED
Tony A BriddickFranceBernardo Dominic QUALIFIED
Aditya B StensethUnited KingdomElwin Sharvill NEW
Juan Y TollnerRussiaBernardo Dominic NEW
Aruna O BologniaRussiaAnna Fali PROPOSAL
Jefferson Z CaudyFranceElwin Sharvill QUALIFIED
Aditya I MaletUnited KingdomOnyama Limba PROPOSAL
Aditya Z IturbideBrazilElwin Sharvill NEGOTIATION
Antonio D WieserGermanyIvan Magalhaes PROPOSAL
Emily Q IturbideUnited KingdomAnna Fali NEGOTIATION
Silvio Y SergiRussiaIoni Bowcher RENEWAL
Ivar P BowleyUnited KingdomXuxue Feng UNQUALIFIED
Aruna T GarufiItalyStephen Shaw RENEWAL
Adams F FerenczItalyElwin Sharvill UNQUALIFIED
Francesco F KolmetzArgentinaAsiya Javayant NEGOTIATION
Aika W RimCanadaElwin Sharvill PROPOSAL
Jefferson U OstroskyJapanXuxue Feng NEW
Murillo Q StensethUnited KingdomStephen Shaw NEGOTIATION
Jennifer N ShinkoItalyBernardo Dominic NEGOTIATION
Greenwood P SlusarskiBrazilIvan Magalhaes QUALIFIED
Isabel D DilliardItalyXuxue Feng PROPOSAL
Nicolas N VenereRussiaElwin Sharvill NEGOTIATION
Murillo N DoeRussiaStephen Shaw NEGOTIATION
David O IturbideUnited KingdomAsiya Javayant PROPOSAL
Costa Y CaudySpainXuxue Feng NEGOTIATION
David C WhobreyUnited KingdomStephen Shaw NEW
Jennifer Q FlosiSpainBernardo Dominic QUALIFIED
Leja I GillianItalyAsiya Javayant PROPOSAL
Izzy V MorascaJapanElwin Sharvill UNQUALIFIED
Aika W AmigonSpainAnna Fali NEW
Sinclair Z OstroskySpainElwin Sharvill NEGOTIATION
Aruna G NickaSpainAmy Elsner NEGOTIATION
Smith H WaycottBrazilStephen Shaw QUALIFIED
Isabel G SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED

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