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 CaudyJapanIoni Bowcher NEW
Jennifer X RulapaughRussiaOnyama Limba QUALIFIED
Misaki Z OstroskyUnited KingdomAsiya Javayant QUALIFIED
Julie W BowleyGermanyAnna Fali PROPOSAL
Claire K SergiFranceIvan Magalhaes QUALIFIED
Sinclair F StockhamJapanAnna Fali RENEWAL
Claire H PoquetteGermanyAnna Fali PROPOSAL
Smith B GlickSpainOnyama Limba QUALIFIED
Ashley M TollnerAustraliaAmy Elsner NEGOTIATION
Arvin Y NestleGermanyAnna Fali NEGOTIATION
Octavia Y KuskoUnited KingdomXuxue Feng UNQUALIFIED
Isabel Q ChuiItalyElwin Sharvill UNQUALIFIED
Morrow M ShinkoRussiaAsiya Javayant NEW
Wickens L CampainItalyIvan Magalhaes NEGOTIATION
Jefferson J GarufiCanadaBernardo Dominic PROPOSAL
Juan G StensethCanadaOnyama Limba PROPOSAL
Mujtaba W DarakjyRussiaElwin Sharvill QUALIFIED
David R BriddickFranceOnyama Limba NEW
Ashley A RulapaughArgentinaElwin Sharvill NEW
Maisha Q SergiSpainOnyama Limba QUALIFIED
Ashley L OldroydFranceAsiya Javayant UNQUALIFIED
Mujtaba L AlbaresGermanyOnyama Limba RENEWAL
Silvio W CampainItalyAsiya Javayant PROPOSAL
Smith G KuskoAustraliaOnyama Limba PROPOSAL
Isabel E PaprockiBrazilIvan Magalhaes RENEWAL
Clifford R NickaBrazilXuxue Feng UNQUALIFIED
Claire S MorascaBrazilXuxue Feng QUALIFIED
Juan P GlickItalyAmy Elsner UNQUALIFIED
Adams V RulapaughGermanyBernardo Dominic PROPOSAL
Ashley L VenereSpainElwin Sharvill RENEWAL
Arvin Y RulapaughGermanyAnna Fali PROPOSAL
Clifford M PerinFranceAsiya Javayant UNQUALIFIED
James Y BologniaFranceXuxue Feng RENEWAL
Rodrigues R StensethIndiaAmy Elsner RENEWAL
Jeanfrancois N OstroskyItalyAsiya Javayant QUALIFIED
Mujtaba K MaletRussiaStephen Shaw PROPOSAL
Murillo Y AlbaresUnited KingdomAnna Fali QUALIFIED
Izzy O StensethIndiaBernardo Dominic NEGOTIATION
Claire P RoysterUnited KingdomBernardo Dominic QUALIFIED
Mujtaba P MaletArgentinaElwin Sharvill QUALIFIED
Julie B AlbaresBrazilBernardo Dominic UNQUALIFIED
Francesco R BowleyFranceOnyama Limba QUALIFIED
James G WieserIndiaIvan Magalhaes PROPOSAL
Aditya E MaletIndiaOnyama Limba PROPOSAL
James W ChuiSpainStephen Shaw UNQUALIFIED
Jones D SergiArgentinaElwin Sharvill RENEWAL
Arvin F RoysterAustraliaXuxue Feng NEGOTIATION
Wickens K PaprockiArgentinaStephen Shaw QUALIFIED
Alejandro A MorascaSpainOnyama Limba NEW
Faith E SaylorsFranceAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leja S VenereArgentinaBernardo Dominic UNQUALIFIED
Adams U FerenczAustraliaOnyama Limba UNQUALIFIED
Aditya G StockhamIndiaAnna Fali RENEWAL
Rodrigues V WhobreyBrazilStephen Shaw NEGOTIATION
Ricardo M StockhamIndiaElwin Sharvill NEW
Maisha Z OldroydItalyBernardo Dominic NEW
Greenwood E CampainSpainStephen Shaw RENEWAL
Murillo W OldroydCanadaBernardo Dominic UNQUALIFIED
Deepesh B PaprockiSpainXuxue Feng RENEWAL
Stacey T ChuiAustraliaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia J BologniaUnited Kingdom2025-06-04Buckley Miller Wright QUALIFIED51Elwin Sharvill
1001Silvio V SlusarskiUnited Kingdom2025-06-02Feiner Bros PROPOSAL75Asiya Javayant
1002Cody F GlickIndia2025-06-15Morlong Associates PROPOSAL17Xuxue Feng
1003Mayumi W KuskoCanada2025-05-31Truhlar And Truhlar Attys NEGOTIATION80Ivan Magalhaes
1004Cody P GauchoArgentina2025-05-28Printing Dimensions PROPOSAL31Elwin Sharvill
1005Ivar F PerinGermany2025-06-03Chapman, Ross E Esq RENEWAL57Stephen Shaw
1006David P PerinCanada2025-06-12Rangoni Of Florence NEW12Xuxue Feng
1007Izzy B WaycottArgentina2025-05-19Buckley Miller Wright PROPOSAL68Amy Elsner
1008Tony S RutaSpain2025-05-27Commercial Press RENEWAL91Ioni Bowcher
1009Smith H FollerAustralia2025-06-02Rangoni Of Florence RENEWAL37Stephen Shaw
1010Darci Z RutaRussia2025-06-09Rousseaux, Michael Esq RENEWAL5Bernardo Dominic
1011Morrow G PerinFrance2025-05-22Dorl, James J Esq UNQUALIFIED85Ioni Bowcher
1012Salvatore V CampainBrazil2025-05-18Chapman, Ross E Esq UNQUALIFIED73Stephen Shaw
1013Antonio P SaylorsRussia2025-06-10Morlong Associates NEW76Amy Elsner
1014Munro I ButtItaly2025-06-02Chemel, James L Cpa NEW47Onyama Limba
1015Smith V KuskoUnited Kingdom2025-05-18Morlong Associates QUALIFIED43Amy Elsner
1016Aruna A SchemmerJapan2025-06-05Dorl, James J Esq QUALIFIED27Stephen Shaw
1017Darci Y GauchoRussia2025-06-15Printing Dimensions NEW56Anna Fali
1018Claire M DarakjyCanada2025-06-07Truhlar And Truhlar Attys NEGOTIATION40Asiya Javayant
1019Aika F VenereBrazil2025-06-04Feltz Printing Service NEW21Anna Fali
1020Isabel W FlosiAustralia2025-05-28King, Christopher A Esq QUALIFIED78Stephen Shaw
1021Morrow C VocelkaSpain2025-06-15Feiner Bros RENEWAL83Xuxue Feng
1022Clifford R ShinkoIndia2025-06-04Buckley Miller Wright PROPOSAL87Anna Fali
1023Mujtaba G GauchoArgentina2025-06-03Morlong Associates QUALIFIED46Asiya Javayant
1024Smith I KolmetzBrazil2025-06-09Chanay, Jeffrey A Esq UNQUALIFIED42Amy Elsner
1025Cody I VenereJapan2025-06-09Rousseaux, Michael Esq NEW72Elwin Sharvill
1026Mujtaba R StensethBrazil2025-05-23Benton, John B Jr NEGOTIATION13Stephen Shaw
1027Clifford F CaldareraAustralia2025-05-29Chapman, Ross E Esq RENEWAL18Ioni Bowcher
1028Cody G ShinkoSpain2025-06-05Chanay, Jeffrey A Esq PROPOSAL54Ioni Bowcher
1029Adams P SchemmerSpain2025-05-25Buckley Miller Wright RENEWAL96Xuxue Feng
1030Wickens E RutaSpain2025-06-07Feltz Printing Service NEGOTIATION48Bernardo Dominic
1031James S ButtFrance2025-06-12Morlong Associates RENEWAL69Onyama Limba
1032Julie A CampainUnited Kingdom2025-06-04Chemel, James L Cpa NEW35Asiya Javayant
1033Clifford P WhobreyArgentina2025-05-22Chapman, Ross E Esq RENEWAL0Onyama Limba
1034Julie Z VocelkaBrazil2025-06-05Feiner Bros PROPOSAL27Onyama Limba
1035Chavez R FollerItaly2025-05-18Chapman, Ross E Esq QUALIFIED88Onyama Limba
1036Francesco K VocelkaFrance2025-06-04Chapman, Ross E Esq UNQUALIFIED45Stephen Shaw
1037Smith Y CaudyGermany2025-05-18Feiner Bros QUALIFIED91Stephen Shaw
1038Smith F InouyeUnited Kingdom2025-05-31Truhlar And Truhlar Attys NEW9Anna Fali
1039Wickens O DarakjyFrance2025-06-01Chapman, Ross E Esq UNQUALIFIED53Asiya Javayant
1040Francesco Y MorascaIndia2025-05-23Truhlar And Truhlar Attys NEGOTIATION69Asiya Javayant
1041Francesco R MacleadItaly2025-05-18Rousseaux, Michael Esq QUALIFIED48Onyama Limba
1042Jennifer S CaldareraBrazil2025-05-31Truhlar And Truhlar Attys PROPOSAL97Onyama Limba
1043Jones N SlusarskiItaly2025-06-10Rousseaux, Michael Esq NEGOTIATION5Ioni Bowcher
1044Leon H KuskoUnited Kingdom2025-06-15Morlong Associates PROPOSAL48Stephen Shaw
1045Aika I AmigonItaly2025-05-20Chapman, Ross E Esq QUALIFIED6Bernardo Dominic
1046Aditya H SaylorsItaly2025-06-09Morlong Associates PROPOSAL21Onyama Limba
1047Jones L AlbaresCanada2025-05-24Printing Dimensions QUALIFIED64Anna Fali
1048Juan E MarrierSpain2025-06-04Feiner Bros NEGOTIATION64Xuxue Feng
1049Morrow F MaletSpain2025-06-05Rousseaux, Michael Esq RENEWAL69Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Claire S CampainItalyXuxue Feng NEGOTIATION
James B AlbaresFranceStephen Shaw PROPOSAL
Alejandro J SchemmerFranceIvan Magalhaes UNQUALIFIED
Maria E StensethIndiaIvan Magalhaes PROPOSAL
Jeanfrancois V DilliardJapanIvan Magalhaes UNQUALIFIED
Silvio J WieserArgentinaAmy Elsner NEW
Darci B SlusarskiUnited KingdomAmy Elsner RENEWAL
Kaitlin T GauchoFranceIoni Bowcher RENEWAL
Claire K AmigonCanadaAmy Elsner PROPOSAL
Emily I WieserUnited KingdomStephen Shaw NEW
Smith I ButtAustraliaIoni Bowcher PROPOSAL
Jeanfrancois H RoysterSpainElwin Sharvill NEW
Alejandro K MaletIndiaBernardo Dominic QUALIFIED
Alejandro V PerinCanadaElwin Sharvill NEGOTIATION
Wickens Q BologniaAustraliaIvan Magalhaes PROPOSAL
Mujtaba C VocelkaCanadaStephen Shaw UNQUALIFIED
Chavez K FerenczSpainStephen Shaw UNQUALIFIED
Aika R AlbaresJapanStephen Shaw UNQUALIFIED
Faith G FigeroaArgentinaAsiya Javayant NEW
Costa G GauchoAustraliaAnna Fali PROPOSAL
Munro R SaylorsAustraliaAsiya Javayant UNQUALIFIED
Emily H SaylorsGermanyIoni Bowcher NEW
Aruna W AlbaresCanadaIvan Magalhaes NEW
Clifford D MacleadBrazilAmy Elsner UNQUALIFIED
Morrow G DoeSpainIoni Bowcher QUALIFIED
James F DilliardItalyAsiya Javayant NEW
Ivar T NestleSpainOnyama Limba UNQUALIFIED
Isabel B NickaCanadaElwin Sharvill RENEWAL
Claire R InouyeRussiaAsiya Javayant RENEWAL
Tony L DarakjyArgentinaBernardo Dominic PROPOSAL
Silvio K KuskoRussiaIoni Bowcher RENEWAL
Juan B CampainRussiaAnna Fali UNQUALIFIED
Julie J SaylorsSpainAsiya Javayant PROPOSAL
Aditya V DarakjySpainOnyama Limba NEGOTIATION
Deepesh E WhobreyCanadaAmy Elsner QUALIFIED
Misaki N VocelkaAustraliaBernardo Dominic NEGOTIATION
Izzy J KolmetzBrazilIvan Magalhaes NEGOTIATION
Maria A WaycottGermanyStephen Shaw NEW
Maria C VocelkaFranceIvan Magalhaes QUALIFIED
Stacey Y BriddickSpainIoni Bowcher UNQUALIFIED
Morrow U TollnerIndiaXuxue Feng NEW
Ricardo S BowleyIndiaAsiya Javayant UNQUALIFIED
Jennifer J GarufiItalyOnyama Limba PROPOSAL
Salvatore R DoeFranceOnyama Limba NEW
James K MaletAustraliaIoni Bowcher NEW
Jeanfrancois D FollerUnited KingdomIoni Bowcher RENEWAL
Jones Z WaycottItalyBernardo Dominic NEW
Tony F VocelkaBrazilAnna Fali RENEWAL
Leon N BologniaAustraliaOnyama Limba QUALIFIED
Murillo T VenereRussiaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Sinclair Q Kusko
Mujtaba Y Nestle
Aika L Flosi
Kaitlin X Figeroa
James H Whobrey
Wickens J Whobrey
Francesco H Vocelka
Izzy P Ferencz
Emily T Caudy
Kadeem Y Maclead
Sinclair I Stenseth
Aditya X Darakjy
Cody A Flosi
Jefferson G Kolmetz
Mayumi Y Foller
Ricardo R Gaucho
Tony D Malet
Maisha Z Figeroa
Adams K Iturbide
Tony Q Ruta
Isabel R Wieser
Ivar T Foller
James E Malet
Mujtaba R Morasca
Rodrigues J Ostrosky
Munro X Kusko
David U Campain
Ashley L Nicka
Greenwood R Wieser
Tony A Gillian
Antonio M Ruta
Clifford G Kolmetz
Alejandro D Wieser
Emily C Perin
Leon B Dilliard
Adams J Rulapaugh
Julie R Ruta
Morrow S Caudy
Morrow K Ostrosky
Isabel P Ruta
Aditya C Shinko
Francesco L Doe
Chavez U Royster
Alejandro G Darakjy
Darci R Briddick
Arvin G Iturbide
Clifford Y Inouye
Maria R Briddick
Adams L Marrier
Kadeem A Inouye
IdCountryDate
1000Russia2025-06-15
1001Brazil2025-06-14
1002Argentina2025-06-07
1003Canada2025-06-12
1004India2025-05-23
1005Brazil2025-06-12
1006Germany2025-05-31
1007India2025-06-04
1008Russia2025-05-31
1009Russia2025-06-05
1010Italy2025-06-10
1011India2025-06-09
1012India2025-06-14
1013Spain2025-05-30
1014Italy2025-05-19
1015France2025-06-14
1016Spain2025-05-19
1017France2025-05-19
1018Japan2025-06-07
1019India2025-06-05
1020Japan2025-05-26
1021Italy2025-05-22
1022Spain2025-06-12
1023Brazil2025-05-24
1024Brazil2025-06-06
1025India2025-05-25
1026Germany2025-05-26
1027United Kingdom2025-06-04
1028France2025-06-15
1029Brazil2025-05-24
1030Argentina2025-06-14
1031Germany2025-06-13
1032Russia2025-05-19
1033India2025-06-02
1034Australia2025-05-19
1035Australia2025-05-18
1036Russia2025-05-19
1037Argentina2025-06-12
1038Brazil2025-06-15
1039Italy2025-05-23
1040Russia2025-05-22
1041Australia2025-06-09
1042Russia2025-06-02
1043Japan2025-06-09
1044Argentina2025-05-27
1045France2025-05-30
1046France2025-05-28
1047France2025-06-01
1048Argentina2025-05-29
1049Germany2025-05-30

On-Demand Data

NameIdCountryDate
Aditya X Morasca1000Brazil2025-05-28
Jeanfrancois V Albares1001Japan2025-05-25
Aika T Amigon1002France2025-05-23
Silvio Q Campain1003Italy2025-05-28
Julie S Kolmetz1004Canada2025-06-14
Johnson T Venere1005Russia2025-05-22
Juan X Doe1006India2025-05-25
Maisha X Iturbide1007Italy2025-06-15
Silvio C Malet1008Argentina2025-06-06
Francesco Z Briddick1009Italy2025-05-30
Sinclair N Royster1010India2025-06-15
Munro M Bowley1011United Kingdom2025-05-23
Nicolas I Gaucho1012France2025-05-27
Aditya G Butt1013India2025-05-31
Jones P Marrier1014Germany2025-06-01
Silvio P Albares1015India2025-06-11
Kaitlin S Amigon1016Canada2025-05-31
Jeanfrancois E Albares1017United Kingdom2025-05-19
Johnson Z Saylors1018India2025-05-31
Juan O Slusarski1019Argentina2025-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika J DarakjyGermanyElwin Sharvill QUALIFIED
Juan E SlusarskiJapanIvan Magalhaes NEGOTIATION
Kadeem P KuskoBrazilXuxue Feng QUALIFIED
Silvio U AmigonRussiaAmy Elsner NEW
Clifford T MaletCanadaAsiya Javayant NEW
Mujtaba A NickaArgentinaStephen Shaw PROPOSAL
Tony G InouyeJapanAmy Elsner QUALIFIED
Munro W OstroskyCanadaBernardo Dominic NEGOTIATION
Munro F MorascaAustraliaAsiya Javayant NEGOTIATION
Leja B OstroskyUnited KingdomElwin Sharvill NEW
Deepesh G PoquetteFranceAnna Fali NEGOTIATION
Adams X ChuiJapanXuxue Feng NEW
Mujtaba R SlusarskiBrazilStephen Shaw NEGOTIATION
Leon C WieserJapanElwin Sharvill RENEWAL
Ivar D CaudyItalyElwin Sharvill NEW
Aditya Z FlosiCanadaElwin Sharvill NEW
Claire O StockhamCanadaStephen Shaw NEW
Sinclair J BowleySpainAmy Elsner NEGOTIATION
Darci M StockhamCanadaElwin Sharvill QUALIFIED
James A DoeJapanIoni Bowcher QUALIFIED
Salvatore X MarrierCanadaIvan Magalhaes NEGOTIATION
Faith K FigeroaGermanyIvan Magalhaes QUALIFIED
Leja Y SchemmerSpainAmy Elsner PROPOSAL
Jefferson G KolmetzItalyElwin Sharvill UNQUALIFIED
Cody C GauchoBrazilStephen Shaw NEGOTIATION
Maisha I PerinJapanBernardo Dominic PROPOSAL
Ivar Y FlosiItalyAmy Elsner RENEWAL
Nicolas Q MacleadAustraliaIvan Magalhaes PROPOSAL
Ricardo N PaprockiSpainAmy Elsner NEW
Kadeem B FlosiFranceAmy Elsner NEW
Mujtaba W GlickIndiaIvan Magalhaes QUALIFIED
Stacey P DarakjyFranceStephen Shaw PROPOSAL
Salvatore K WieserItalyIvan Magalhaes UNQUALIFIED
Izzy D AlbaresJapanAsiya Javayant RENEWAL
Antonio Y RulapaughItalyAmy Elsner PROPOSAL
Nicolas Z DarakjyJapanAsiya Javayant QUALIFIED
Mujtaba D ShinkoItalyXuxue Feng UNQUALIFIED
Morrow V PoquetteItalyStephen Shaw NEW
Mayumi P BologniaIndiaOnyama Limba UNQUALIFIED
Izzy T InouyeArgentinaAnna Fali 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>