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
Kaitlin Y KolmetzJapanIoni Bowcher NEGOTIATION
Ashley N MarrierArgentinaIoni Bowcher RENEWAL
Izzy S GarufiRussiaAsiya Javayant NEW
Francesco H TollnerSpainIvan Magalhaes NEGOTIATION
Kadeem F GauchoBrazilOnyama Limba PROPOSAL
Kaitlin X DoeSpainOnyama Limba NEW
Stacey Y PaprockiIndiaAnna Fali QUALIFIED
Morrow V PoquetteRussiaAnna Fali QUALIFIED
Misaki O SaylorsIndiaOnyama Limba UNQUALIFIED
Jennifer E WaycottArgentinaOnyama Limba UNQUALIFIED
Aditya C TollnerFranceStephen Shaw RENEWAL
Clifford M RoysterBrazilAsiya Javayant UNQUALIFIED
Jennifer L MaletCanadaIvan Magalhaes PROPOSAL
Munro C FerenczItalyBernardo Dominic RENEWAL
Arvin X RimAustraliaAmy Elsner UNQUALIFIED
Ricardo X BologniaArgentinaIvan Magalhaes PROPOSAL
Munro B GlickGermanyOnyama Limba QUALIFIED
Faith N ChuiItalyBernardo Dominic NEW
Julie U AlbaresGermanyAmy Elsner PROPOSAL
Adams S GarufiAustraliaIoni Bowcher PROPOSAL
Smith R SlusarskiJapanBernardo Dominic NEGOTIATION
Francesco Q AmigonGermanyOnyama Limba PROPOSAL
Arvin D WhobreyArgentinaAsiya Javayant NEGOTIATION
Costa C CaldareraRussiaBernardo Dominic UNQUALIFIED
Alejandro B ChuiCanadaElwin Sharvill PROPOSAL
Emily P SlusarskiRussiaBernardo Dominic NEW
Maisha Y SchemmerBrazilIoni Bowcher NEGOTIATION
Salvatore G NickaBrazilOnyama Limba NEGOTIATION
Antonio W GlickJapanAnna Fali UNQUALIFIED
Jefferson E WieserFranceOnyama Limba UNQUALIFIED
Sinclair G BriddickSpainStephen Shaw NEW
Jeanfrancois D MacleadJapanXuxue Feng QUALIFIED
Faith Z DilliardAustraliaOnyama Limba UNQUALIFIED
Julie R SlusarskiItalyIvan Magalhaes NEW
Ricardo S BologniaSpainXuxue Feng RENEWAL
Rodrigues Z SaylorsUnited KingdomXuxue Feng NEGOTIATION
Aika Z MarrierUnited KingdomOnyama Limba UNQUALIFIED
Leja J VocelkaGermanyStephen Shaw QUALIFIED
Darci B WaycottRussiaBernardo Dominic NEW
Chavez X RoysterUnited KingdomXuxue Feng RENEWAL
Cody U RutaFranceAmy Elsner NEW
Costa J StensethCanadaBernardo Dominic RENEWAL
Darci N OldroydBrazilAsiya Javayant RENEWAL
Murillo P VenereItalyAmy Elsner RENEWAL
Mujtaba R NestleJapanXuxue Feng PROPOSAL
Costa N KuskoAustraliaAmy Elsner PROPOSAL
Aika Q NestleBrazilElwin Sharvill UNQUALIFIED
Ashley L PerinSpainElwin Sharvill UNQUALIFIED
Smith E CampainUnited KingdomIoni Bowcher QUALIFIED
Faith V RimAustraliaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens X VenereBrazilAnna Fali NEW
Smith M FollerIndiaAsiya Javayant PROPOSAL
Izzy J DarakjySpainStephen Shaw NEGOTIATION
Jefferson W DilliardUnited KingdomAnna Fali PROPOSAL
Mayumi M GauchoIndiaAmy Elsner RENEWAL
Cody E FollerItalyAnna Fali NEW
Deepesh F ShinkoItalyAmy Elsner UNQUALIFIED
Aika Y RulapaughArgentinaIoni Bowcher PROPOSAL
Ricardo L OstroskyArgentinaXuxue Feng PROPOSAL
Maisha D WhobreySpainStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith A AmigonCanada2026-08-15Chemel, James L Cpa NEW60Asiya Javayant
1001Munro S TollnerFrance2026-07-30King, Christopher A Esq UNQUALIFIED96Onyama Limba
1002Kaitlin O SaylorsGermany2026-08-10King, Christopher A Esq RENEWAL19Asiya Javayant
1003Munro J CaldareraSpain2026-08-19Chapman, Ross E Esq PROPOSAL83Ioni Bowcher
1004Rodrigues U FlosiUnited Kingdom2026-07-31Rousseaux, Michael Esq NEW24Ivan Magalhaes
1005Francesco D NickaItaly2026-08-05Rangoni Of Florence RENEWAL38Amy Elsner
1006Izzy K FollerItaly2026-07-27Feiner Bros QUALIFIED51Bernardo Dominic
1007Sinclair M GlickGermany2026-08-12Morlong Associates UNQUALIFIED0Asiya Javayant
1008Johnson H InouyeUnited Kingdom2026-08-11Morlong Associates NEW10Ioni Bowcher
1009Alejandro G PerinJapan2026-08-14Buckley Miller Wright PROPOSAL87Onyama Limba
1010Julie E NestleAustralia2026-08-09Chapman, Ross E Esq NEW37Ioni Bowcher
1011Stacey B RoysterGermany2026-08-02Chemel, James L Cpa PROPOSAL35Anna Fali
1012Aika L SaylorsIndia2026-08-12King, Christopher A Esq UNQUALIFIED59Bernardo Dominic
1013Ashley M TollnerIndia2026-08-17Rousseaux, Michael Esq PROPOSAL33Amy Elsner
1014Ivar H VenereGermany2026-08-04Chemel, James L Cpa PROPOSAL7Amy Elsner
1015Stacey R TollnerBrazil2026-08-02Printing Dimensions UNQUALIFIED48Elwin Sharvill
1016Stacey V KolmetzBrazil2026-08-10Feiner Bros PROPOSAL62Xuxue Feng
1017Maisha R FigeroaArgentina2026-07-26Truhlar And Truhlar Attys PROPOSAL87Onyama Limba
1018Costa F OstroskyBrazil2026-07-27Rangoni Of Florence UNQUALIFIED86Elwin Sharvill
1019Faith E NickaCanada2026-08-11Feltz Printing Service QUALIFIED4Xuxue Feng
1020Rodrigues Y PoquetteSpain2026-08-18King, Christopher A Esq RENEWAL47Amy Elsner
1021Antonio O ButtIndia2026-08-04King, Christopher A Esq UNQUALIFIED76Anna Fali
1022Darci G RimGermany2026-08-22Benton, John B Jr NEGOTIATION23Ivan Magalhaes
1023Mujtaba H ButtSpain2026-08-17Benton, John B Jr QUALIFIED56Bernardo Dominic
1024Ricardo J DarakjySpain2026-07-26Dorl, James J Esq UNQUALIFIED93Ioni Bowcher
1025Silvio F AmigonJapan2026-07-26Benton, John B Jr PROPOSAL46Ioni Bowcher
1026Silvio I KuskoUnited Kingdom2026-07-25King, Christopher A Esq UNQUALIFIED7Onyama Limba
1027Alejandro U RulapaughJapan2026-07-31Truhlar And Truhlar Attys UNQUALIFIED39Asiya Javayant
1028James D WhobreySpain2026-08-04Commercial Press NEW14Ivan Magalhaes
1029Julie A ShinkoJapan2026-08-11Rangoni Of Florence RENEWAL76Stephen Shaw
1030Johnson Y SchemmerCanada2026-07-28Printing Dimensions QUALIFIED89Ivan Magalhaes
1031Aika O MaletSpain2026-08-05Chanay, Jeffrey A Esq QUALIFIED13Bernardo Dominic
1032Izzy M BriddickGermany2026-08-02Chapman, Ross E Esq NEW73Amy Elsner
1033Ivar W WieserFrance2026-08-20Commercial Press NEW92Elwin Sharvill
1034David G VocelkaIndia2026-08-21Commercial Press NEW9Bernardo Dominic
1035Emily W FlosiGermany2026-08-07Printing Dimensions RENEWAL61Elwin Sharvill
1036Jennifer Q GlickFrance2026-08-10Feiner Bros NEW50Onyama Limba
1037Deepesh S PerinSpain2026-08-02Feltz Printing Service PROPOSAL71Xuxue Feng
1038Aditya P FigeroaFrance2026-08-15Chanay, Jeffrey A Esq QUALIFIED33Ivan Magalhaes
1039Johnson I StensethCanada2026-08-09Feltz Printing Service RENEWAL46Ivan Magalhaes
1040Johnson P ButtIndia2026-08-16King, Christopher A Esq PROPOSAL52Xuxue Feng
1041Silvio Z FollerBrazil2026-07-30Morlong Associates PROPOSAL79Anna Fali
1042Salvatore C GillianRussia2026-08-07King, Christopher A Esq UNQUALIFIED17Asiya Javayant
1043Silvio K BriddickItaly2026-07-31Buckley Miller Wright RENEWAL10Onyama Limba
1044Deepesh C OldroydUnited Kingdom2026-08-15Chapman, Ross E Esq RENEWAL98Ioni Bowcher
1045Chavez Y OldroydUnited Kingdom2026-08-20Commercial Press NEGOTIATION71Ioni Bowcher
1046Maria A StockhamBrazil2026-08-10Truhlar And Truhlar Attys UNQUALIFIED4Asiya Javayant
1047Murillo N PerinJapan2026-08-09Rousseaux, Michael Esq QUALIFIED11Amy Elsner
1048Tony M WhobreyFrance2026-08-02Benton, John B Jr PROPOSAL15Ioni Bowcher
1049Munro E MaletIndia2026-08-09Rangoni Of Florence PROPOSAL47Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Sinclair Z GauchoSpainElwin Sharvill NEGOTIATION
Kaitlin Q DarakjySpainXuxue Feng UNQUALIFIED
Rodrigues O GauchoCanadaBernardo Dominic NEW
Adams J BowleyArgentinaStephen Shaw NEW
Aika D GlickGermanyStephen Shaw UNQUALIFIED
Cody O KolmetzIndiaAnna Fali UNQUALIFIED
Aruna I DilliardRussiaXuxue Feng QUALIFIED
Alejandro K PerinBrazilAnna Fali NEW
David A BologniaSpainStephen Shaw NEGOTIATION
Ivar V SaylorsCanadaIoni Bowcher PROPOSAL
Jennifer Z OstroskyIndiaElwin Sharvill UNQUALIFIED
Isabel X GauchoFranceOnyama Limba PROPOSAL
Munro D MaletItalyElwin Sharvill PROPOSAL
Smith H VocelkaCanadaIoni Bowcher NEW
Leja I ButtItalyIoni Bowcher RENEWAL
Aruna C DoeArgentinaBernardo Dominic QUALIFIED
Jennifer P VenereIndiaAsiya Javayant PROPOSAL
Claire B BologniaSpainIoni Bowcher QUALIFIED
Mujtaba U BriddickItalyIvan Magalhaes RENEWAL
Maria P DarakjyAustraliaElwin Sharvill NEGOTIATION
Stacey O KolmetzIndiaBernardo Dominic NEGOTIATION
Clifford D DilliardUnited KingdomXuxue Feng UNQUALIFIED
Sinclair H GillianSpainIoni Bowcher PROPOSAL
Claire Z RoysterGermanyIoni Bowcher PROPOSAL
Emily H TollnerGermanyAmy Elsner UNQUALIFIED
Faith H WaycottBrazilXuxue Feng NEGOTIATION
Jennifer J IturbideRussiaOnyama Limba PROPOSAL
Octavia B RoysterIndiaOnyama Limba RENEWAL
Antonio E RoysterItalyBernardo Dominic NEW
Aditya I WieserAustraliaStephen Shaw NEGOTIATION
Ricardo C KolmetzIndiaOnyama Limba UNQUALIFIED
Leja J BologniaCanadaAsiya Javayant NEGOTIATION
Leja X KolmetzArgentinaAmy Elsner NEGOTIATION
Alejandro V StensethAustraliaIoni Bowcher QUALIFIED
Jeanfrancois T VenereArgentinaAsiya Javayant RENEWAL
Leja C CaudyCanadaIvan Magalhaes QUALIFIED
Chavez A FollerArgentinaIoni Bowcher NEGOTIATION
Nicolas N SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Julie X GillianIndiaOnyama Limba QUALIFIED
Faith Q GauchoArgentinaOnyama Limba UNQUALIFIED
Ricardo G GauchoFranceAmy Elsner NEGOTIATION
Jefferson F TollnerItalyIoni Bowcher RENEWAL
Claire W ChuiSpainBernardo Dominic PROPOSAL
Claire I RimArgentinaAmy Elsner NEGOTIATION
Cody Y AmigonFranceAmy Elsner UNQUALIFIED
Leon V OldroydRussiaIoni Bowcher UNQUALIFIED
Julie S AmigonUnited KingdomIvan Magalhaes QUALIFIED
Clifford X NickaJapanBernardo Dominic QUALIFIED
Maria A SergiUnited KingdomOnyama Limba QUALIFIED
Maisha S MacleadBrazilIvan Magalhaes RENEWAL
Frozen Columns
Name
Morrow E Vocelka
Deepesh C Saylors
Aruna H Caldarera
Jones Y Albares
Jefferson Z Ruta
Sinclair E Saylors
Kaitlin Y Sergi
Leja P Royster
Antonio C Malet
Murillo X Nestle
Jennifer O Dilliard
Octavia K Campain
Nicolas M Nicka
Jennifer X Dilliard
Salvatore G Ferencz
Jennifer T Paprocki
Rodrigues I Stenseth
Arvin O Maclead
David P Vocelka
Kadeem T Whobrey
Misaki W Bolognia
Johnson A Schemmer
Tony M Wieser
Smith F Darakjy
Silvio E Butt
Maria K Glick
Nicolas P Rim
Antonio Y Oldroyd
Rodrigues Y Rim
Izzy S Kusko
Leon P Nestle
Smith B Briddick
Emily Z Rim
Salvatore X Slusarski
Juan Q Slusarski
Adams Q Inouye
Tony F Albares
James Q Sergi
Salvatore L Shinko
Greenwood T Nestle
Juan U Nicka
James R Paprocki
Murillo C Vocelka
Adams M Amigon
Isabel U Ferencz
Emily E Whobrey
Aika K Bowley
Greenwood M Briddick
Morrow F Venere
Arvin X Maclead
IdCountryDate
1000France2026-08-09
1001India2026-08-19
1002Germany2026-08-03
1003India2026-08-01
1004Canada2026-08-18
1005France2026-07-28
1006France2026-08-10
1007Russia2026-07-26
1008Australia2026-08-09
1009France2026-08-22
1010France2026-08-10
1011Germany2026-08-08
1012Canada2026-08-01
1013Brazil2026-08-10
1014France2026-08-06
1015Italy2026-08-19
1016France2026-07-26
1017Brazil2026-08-01
1018United Kingdom2026-08-22
1019Germany2026-08-03
1020Russia2026-07-27
1021Spain2026-08-22
1022France2026-08-02
1023India2026-08-12
1024Australia2026-08-13
1025Japan2026-08-05
1026India2026-07-30
1027Japan2026-08-10
1028Italy2026-08-18
1029Spain2026-08-23
1030Germany2026-08-23
1031Japan2026-08-12
1032Spain2026-08-09
1033Canada2026-08-04
1034Russia2026-08-17
1035Russia2026-08-08
1036Spain2026-07-26
1037France2026-08-05
1038Russia2026-08-07
1039Argentina2026-07-27
1040United Kingdom2026-08-06
1041Germany2026-08-03
1042Japan2026-08-23
1043Spain2026-08-01
1044France2026-08-08
1045Spain2026-08-15
1046Spain2026-08-21
1047Russia2026-08-17
1048Spain2026-08-05
1049Australia2026-08-13

On-Demand Data

NameIdCountryDate
Ivar P Tollner1000India2026-08-02
Arvin O Tollner1001Australia2026-08-21
Kadeem Y Ostrosky1002Brazil2026-08-12
Tony C Bolognia1003Japan2026-08-11
Aruna S Gillian1004Brazil2026-08-16
Alejandro Y Paprocki1005Brazil2026-08-19
Emily D Sergi1006Brazil2026-08-21
Salvatore B Malet1007Canada2026-08-16
Smith Y Oldroyd1008Russia2026-08-03
Izzy V Schemmer1009Australia2026-08-06
Isabel U Sergi1010Australia2026-08-05
Costa B Darakjy1011Russia2026-08-12
Leja A Vocelka1012Japan2026-07-29
Sinclair V Poquette1013Germany2026-08-07
Claire B Perin1014United Kingdom2026-08-12
Greenwood O Rim1015India2026-07-25
Morrow B Flosi1016Italy2026-08-21
Mujtaba Z Nicka1017Italy2026-08-04
Kaitlin J Shinko1018Germany2026-07-31
James L Ostrosky1019Brazil2026-07-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro P WhobreyIndiaIoni Bowcher RENEWAL
Aika X PerinCanadaOnyama Limba NEW
Juan Z AlbaresIndiaAsiya Javayant PROPOSAL
Chavez A StockhamCanadaElwin Sharvill QUALIFIED
David R CampainFranceIoni Bowcher RENEWAL
Rodrigues B CaudyJapanAsiya Javayant RENEWAL
Izzy J MarrierSpainStephen Shaw RENEWAL
Kadeem X DoeUnited KingdomAmy Elsner PROPOSAL
Isabel L PaprockiUnited KingdomElwin Sharvill NEW
Faith F DilliardAustraliaBernardo Dominic NEGOTIATION
Clifford M OldroydFranceOnyama Limba NEW
Francesco M SergiSpainIoni Bowcher NEW
Julie U DoeSpainAsiya Javayant NEGOTIATION
Clifford S OstroskyIndiaIoni Bowcher UNQUALIFIED
Cody P OldroydAustraliaIoni Bowcher PROPOSAL
Murillo L StensethUnited KingdomAnna Fali PROPOSAL
Antonio E WhobreyRussiaIvan Magalhaes RENEWAL
Cody F FerenczIndiaAsiya Javayant PROPOSAL
Nicolas X RoysterUnited KingdomAmy Elsner UNQUALIFIED
Faith F StensethItalyOnyama Limba NEW
Rodrigues A ShinkoJapanXuxue Feng QUALIFIED
David S DoeAustraliaOnyama Limba NEGOTIATION
Clifford V DoeArgentinaAsiya Javayant RENEWAL
Stacey I CampainFranceStephen Shaw NEW
Silvio H VenereAustraliaIvan Magalhaes RENEWAL
Maisha E ShinkoUnited KingdomElwin Sharvill QUALIFIED
Jones J BowleyAustraliaOnyama Limba UNQUALIFIED
Stacey T DoeSpainStephen Shaw NEW
Johnson X KolmetzJapanXuxue Feng PROPOSAL
Faith G MaletItalyElwin Sharvill NEW
Jefferson T BologniaSpainIvan Magalhaes QUALIFIED
Tony X RutaFranceAmy Elsner UNQUALIFIED
Octavia F MacleadUnited KingdomAnna Fali NEGOTIATION
Jones M InouyeJapanAnna Fali QUALIFIED
Mujtaba T ChuiIndiaAmy Elsner RENEWAL
Darci K MaletJapanAnna Fali RENEWAL
Chavez U MaletFranceStephen Shaw UNQUALIFIED
Alejandro F FerenczBrazilAnna Fali QUALIFIED
Kaitlin A FerenczArgentinaElwin Sharvill PROPOSAL
Arvin A PoquetteBrazilXuxue Feng RENEWAL

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