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
Mayumi P TollnerBrazilXuxue Feng QUALIFIED
Smith N PaprockiRussiaIvan Magalhaes UNQUALIFIED
Aruna O OstroskyRussiaAsiya Javayant NEW
Aruna O DilliardItalyAmy Elsner NEGOTIATION
Ivar K GlickUnited KingdomOnyama Limba RENEWAL
Emily C OldroydUnited KingdomAmy Elsner RENEWAL
Leon K MarrierSpainAnna Fali NEGOTIATION
Wickens A FerenczIndiaIvan Magalhaes RENEWAL
Misaki D SaylorsItalyAmy Elsner PROPOSAL
Aika J RulapaughGermanyAnna Fali RENEWAL
Rodrigues T MaletArgentinaAsiya Javayant NEW
Ivar B MorascaIndiaAnna Fali UNQUALIFIED
Adams D KuskoJapanXuxue Feng QUALIFIED
Alejandro X BologniaJapanXuxue Feng UNQUALIFIED
Johnson O InouyeAustraliaAmy Elsner NEW
Aika T PaprockiArgentinaAnna Fali PROPOSAL
Johnson Z VocelkaRussiaAmy Elsner UNQUALIFIED
Jefferson U DoeIndiaAmy Elsner PROPOSAL
Juan Q StockhamJapanOnyama Limba QUALIFIED
Wickens W GauchoSpainXuxue Feng NEGOTIATION
Wickens X KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois Y CaudyGermanyOnyama Limba PROPOSAL
Ashley K MarrierIndiaAmy Elsner QUALIFIED
Salvatore O PerinIndiaAnna Fali PROPOSAL
Maria V FollerSpainIoni Bowcher UNQUALIFIED
Costa N FerenczSpainBernardo Dominic UNQUALIFIED
Munro U GauchoJapanAsiya Javayant NEW
Mujtaba L KuskoRussiaElwin Sharvill NEGOTIATION
Jones M GauchoCanadaAsiya Javayant NEW
Arvin G SergiRussiaAsiya Javayant PROPOSAL
Octavia J VenereJapanIvan Magalhaes UNQUALIFIED
Mujtaba C StensethBrazilStephen Shaw QUALIFIED
Tony E DoeCanadaStephen Shaw UNQUALIFIED
Julie F WieserCanadaStephen Shaw NEGOTIATION
Tony O KuskoUnited KingdomAmy Elsner NEW
Jennifer J CaudyRussiaAmy Elsner NEW
Aruna I OldroydBrazilAsiya Javayant UNQUALIFIED
Johnson P BowleyUnited KingdomStephen Shaw UNQUALIFIED
Antonio F NickaFranceAmy Elsner RENEWAL
Leon G VenereItalyStephen Shaw QUALIFIED
Smith Z RutaGermanyIoni Bowcher NEGOTIATION
Murillo T KuskoBrazilStephen Shaw RENEWAL
Clifford W MaletCanadaXuxue Feng UNQUALIFIED
Smith H WhobreyAustraliaBernardo Dominic UNQUALIFIED
Cody E InouyeArgentinaAnna Fali QUALIFIED
David X MacleadGermanyAnna Fali UNQUALIFIED
Johnson M AmigonFranceStephen Shaw QUALIFIED
Mujtaba N MorascaSpainAnna Fali UNQUALIFIED
Murillo P RulapaughGermanyAnna Fali RENEWAL
Antonio G InouyeCanadaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan F TollnerAustraliaAnna Fali UNQUALIFIED
Maria G AlbaresItalyIoni Bowcher NEGOTIATION
Maria R RulapaughSpainStephen Shaw NEW
Ricardo E RulapaughFranceIvan Magalhaes PROPOSAL
Aika L DilliardRussiaBernardo Dominic QUALIFIED
Kaitlin J RoysterIndiaOnyama Limba PROPOSAL
Greenwood C MorascaItalyStephen Shaw NEW
Julie I NestleGermanyBernardo Dominic UNQUALIFIED
Darci T VocelkaIndiaStephen Shaw NEW
Stacey Y GauchoIndiaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer W AlbaresJapan2025-04-18Chapman, Ross E Esq RENEWAL85Onyama Limba
1001Maria I GauchoBrazil2025-05-05Morlong Associates PROPOSAL30Stephen Shaw
1002Juan E RulapaughJapan2025-04-09Dorl, James J Esq NEW81Onyama Limba
1003Morrow E AlbaresJapan2025-04-13Printing Dimensions NEGOTIATION12Onyama Limba
1004Arvin S NestleRussia2025-05-02Feiner Bros RENEWAL61Amy Elsner
1005Leon U PaprockiIndia2025-04-13Commercial Press NEGOTIATION49Xuxue Feng
1006Claire V SergiItaly2025-04-21King, Christopher A Esq RENEWAL68Bernardo Dominic
1007Antonio F PerinJapan2025-04-10Dorl, James J Esq PROPOSAL10Onyama Limba
1008Claire Q IturbideSpain2025-05-06Chanay, Jeffrey A Esq NEGOTIATION26Amy Elsner
1009Juan X WieserIndia2025-05-06Rousseaux, Michael Esq QUALIFIED10Xuxue Feng
1010Julie A KuskoUnited Kingdom2025-04-17Feiner Bros QUALIFIED54Anna Fali
1011Alejandro F RimJapan2025-04-28Dorl, James J Esq RENEWAL80Bernardo Dominic
1012Izzy M InouyeJapan2025-04-19Buckley Miller Wright QUALIFIED8Asiya Javayant
1013Julie E MaletFrance2025-05-01Rangoni Of Florence UNQUALIFIED1Xuxue Feng
1014Rodrigues Q ButtUnited Kingdom2025-04-30Rangoni Of Florence RENEWAL86Stephen Shaw
1015Salvatore M MaletArgentina2025-04-11Chanay, Jeffrey A Esq QUALIFIED42Stephen Shaw
1016Emily Y FerenczJapan2025-04-21Truhlar And Truhlar Attys PROPOSAL2Asiya Javayant
1017Tony X MorascaBrazil2025-04-22Morlong Associates UNQUALIFIED29Xuxue Feng
1018Francesco D RoysterFrance2025-05-02Feltz Printing Service NEGOTIATION8Onyama Limba
1019Kadeem I ChuiArgentina2025-04-10Dorl, James J Esq NEGOTIATION43Elwin Sharvill
1020Stacey V StensethBrazil2025-05-04Feltz Printing Service UNQUALIFIED16Onyama Limba
1021Clifford B InouyeItaly2025-05-06Dorl, James J Esq NEW21Onyama Limba
1022David S SergiGermany2025-05-06Chapman, Ross E Esq QUALIFIED24Ioni Bowcher
1023Chavez L SchemmerGermany2025-05-06Truhlar And Truhlar Attys QUALIFIED39Onyama Limba
1024Julie U DoeSpain2025-04-08Benton, John B Jr UNQUALIFIED70Stephen Shaw
1025Johnson U DilliardArgentina2025-04-19Benton, John B Jr NEGOTIATION81Onyama Limba
1026Aditya K OstroskyIndia2025-05-06Chemel, James L Cpa NEGOTIATION40Onyama Limba
1027Kaitlin C TollnerItaly2025-04-22Morlong Associates NEW34Asiya Javayant
1028Ricardo G StockhamIndia2025-04-27Feltz Printing Service QUALIFIED21Anna Fali
1029Isabel N DarakjyIndia2025-04-11Buckley Miller Wright RENEWAL49Ivan Magalhaes
1030Kaitlin B ButtCanada2025-04-24Commercial Press NEW93Stephen Shaw
1031Adams X BologniaSpain2025-04-20Chemel, James L Cpa NEGOTIATION87Bernardo Dominic
1032Mujtaba R SergiArgentina2025-04-10Rousseaux, Michael Esq PROPOSAL27Anna Fali
1033Aditya Y FerenczJapan2025-04-22Morlong Associates NEW41Asiya Javayant
1034Jefferson O ButtItaly2025-05-03Truhlar And Truhlar Attys RENEWAL98Ivan Magalhaes
1035Greenwood M RoysterCanada2025-04-28Commercial Press NEGOTIATION25Bernardo Dominic
1036Kaitlin Z KolmetzCanada2025-04-18Chanay, Jeffrey A Esq NEW46Ioni Bowcher
1037Julie D StockhamCanada2025-05-05Commercial Press NEGOTIATION14Stephen Shaw
1038Ivar F PaprockiRussia2025-04-11Chapman, Ross E Esq PROPOSAL65Bernardo Dominic
1039Rodrigues D GlickAustralia2025-05-05Feltz Printing Service RENEWAL75Asiya Javayant
1040Alejandro B MaletCanada2025-04-07Chapman, Ross E Esq PROPOSAL82Xuxue Feng
1041Silvio R BriddickBrazil2025-04-08Chemel, James L Cpa PROPOSAL0Ivan Magalhaes
1042Claire R GillianUnited Kingdom2025-04-16Chanay, Jeffrey A Esq QUALIFIED65Bernardo Dominic
1043Leon W CaldareraGermany2025-04-18Printing Dimensions RENEWAL6Amy Elsner
1044Rodrigues K CaudyAustralia2025-05-03Truhlar And Truhlar Attys QUALIFIED62Onyama Limba
1045Smith O KuskoCanada2025-04-17Chapman, Ross E Esq QUALIFIED65Anna Fali
1046Morrow J SaylorsIndia2025-04-20Commercial Press PROPOSAL34Elwin Sharvill
1047Faith C MarrierCanada2025-04-27Truhlar And Truhlar Attys PROPOSAL47Asiya Javayant
1048Aditya F BologniaGermany2025-05-04Chemel, James L Cpa NEW64Ivan Magalhaes
1049Murillo E DarakjyJapan2025-04-21Chemel, James L Cpa NEGOTIATION72Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Francesco Z MaletIndiaOnyama Limba NEW
Faith V BowleyArgentinaIoni Bowcher UNQUALIFIED
Ashley B DarakjyArgentinaIvan Magalhaes NEW
Ivar X RimCanadaAmy Elsner QUALIFIED
Adams R GarufiRussiaXuxue Feng NEGOTIATION
Silvio H WhobreyJapanOnyama Limba QUALIFIED
Jennifer I MaletItalyBernardo Dominic RENEWAL
Jeanfrancois N TollnerSpainIoni Bowcher RENEWAL
Chavez Y DoeIndiaXuxue Feng NEGOTIATION
Octavia D ShinkoBrazilIvan Magalhaes PROPOSAL
Leon E OstroskyBrazilOnyama Limba NEGOTIATION
Misaki T GauchoSpainBernardo Dominic NEW
Antonio P FollerGermanyBernardo Dominic NEW
Murillo Y BriddickJapanIvan Magalhaes RENEWAL
Morrow P SlusarskiCanadaIoni Bowcher RENEWAL
Jeanfrancois M OldroydItalyBernardo Dominic UNQUALIFIED
Arvin U WaycottIndiaOnyama Limba NEW
Antonio U NickaFranceXuxue Feng UNQUALIFIED
Stacey S GlickArgentinaAmy Elsner QUALIFIED
Jeanfrancois R AlbaresCanadaIoni Bowcher NEGOTIATION
Adams D RulapaughCanadaIoni Bowcher QUALIFIED
Morrow J WieserBrazilAmy Elsner RENEWAL
Julie Z SchemmerSpainAmy Elsner RENEWAL
Claire M BowleyFranceBernardo Dominic NEW
Cody E WaycottSpainOnyama Limba NEW
Greenwood C MarrierIndiaElwin Sharvill NEW
Isabel Y KuskoBrazilAmy Elsner PROPOSAL
Arvin S SchemmerRussiaAsiya Javayant RENEWAL
Morrow O WhobreyArgentinaBernardo Dominic PROPOSAL
Morrow U IturbideSpainIoni Bowcher QUALIFIED
Nicolas X ChuiGermanyBernardo Dominic NEGOTIATION
Wickens N RutaItalyIvan Magalhaes PROPOSAL
Arvin Q GlickArgentinaAsiya Javayant PROPOSAL
Maria A CampainGermanyAnna Fali NEW
Faith I DarakjyAustraliaAnna Fali NEW
Jefferson M PaprockiAustraliaAsiya Javayant QUALIFIED
Chavez V MacleadArgentinaXuxue Feng UNQUALIFIED
Aika A SchemmerRussiaIoni Bowcher PROPOSAL
Antonio K GlickAustraliaAmy Elsner RENEWAL
Antonio S GillianAustraliaOnyama Limba NEGOTIATION
Adams K BriddickJapanAsiya Javayant RENEWAL
Salvatore K FollerIndiaAnna Fali RENEWAL
Rodrigues G BowleyBrazilXuxue Feng NEGOTIATION
Jeanfrancois B BowleyIndiaAmy Elsner NEW
Emily E StensethJapanXuxue Feng PROPOSAL
Smith F ShinkoSpainIvan Magalhaes PROPOSAL
Darci C DilliardUnited KingdomBernardo Dominic NEW
Juan T ShinkoGermanyOnyama Limba RENEWAL
Izzy O DilliardAustraliaAmy Elsner PROPOSAL
Murillo D VocelkaUnited KingdomBernardo Dominic NEW
Frozen Columns
Name
Nicolas Y Oldroyd
Clifford O Perin
Tony F Iturbide
Emily S Dilliard
Nicolas F Figeroa
Rodrigues Y Maclead
Greenwood K Sergi
Nicolas B Amigon
Alejandro C Kusko
Adams Q Gillian
Octavia C Garufi
Wickens A Morasca
Misaki U Slusarski
Octavia X Kusko
Ashley X Kusko
Aruna Q Darakjy
Nicolas Z Gillian
Costa R Caudy
Jefferson A Tollner
Arvin X Bowley
Tony I Nicka
Ashley V Marrier
Maisha N Perin
Jeanfrancois L Amigon
Mujtaba U Stenseth
Octavia J Gaucho
Kadeem Z Iturbide
Munro X Garufi
James R Royster
Jeanfrancois H Chui
Aika M Nicka
Jefferson H Gaucho
Leja L Flosi
Smith R Kusko
Leon K Chui
Jeanfrancois O Flosi
Chavez I Caldarera
Cody F Kusko
Claire S Ruta
Salvatore W Bowley
Jeanfrancois P Tollner
Munro V Dilliard
Greenwood C Malet
David E Flosi
Silvio S Gaucho
Claire R Venere
Kadeem B Caldarera
Ashley A Foller
Leja W Doe
Maisha V Rim
IdCountryDate
1000Germany2025-04-12
1001Canada2025-04-25
1002France2025-04-07
1003France2025-04-13
1004Canada2025-05-02
1005United Kingdom2025-04-22
1006Australia2025-04-15
1007Germany2025-04-11
1008Japan2025-04-18
1009Australia2025-04-07
1010United Kingdom2025-04-29
1011Russia2025-04-22
1012Spain2025-04-23
1013Spain2025-04-15
1014United Kingdom2025-04-09
1015Canada2025-04-29
1016Spain2025-04-20
1017Australia2025-04-11
1018India2025-04-24
1019Italy2025-05-01
1020Spain2025-04-18
1021Russia2025-04-28
1022Germany2025-04-26
1023Argentina2025-05-05
1024Italy2025-04-12
1025Australia2025-04-18
1026Brazil2025-04-28
1027Brazil2025-04-15
1028Australia2025-04-25
1029Spain2025-04-24
1030Brazil2025-05-06
1031India2025-04-29
1032Japan2025-05-04
1033Russia2025-04-14
1034Japan2025-04-16
1035Australia2025-04-22
1036Australia2025-04-16
1037India2025-04-25
1038Australia2025-04-25
1039France2025-04-26
1040Italy2025-05-04
1041France2025-05-02
1042Canada2025-04-11
1043Canada2025-05-04
1044Argentina2025-04-16
1045Spain2025-04-22
1046Germany2025-04-23
1047Australia2025-04-20
1048Germany2025-04-12
1049Japan2025-04-08

On-Demand Data

NameIdCountryDate
Kaitlin I Stenseth1000France2025-04-12
Aruna T Sergi1001Brazil2025-05-01
Silvio O Dilliard1002Germany2025-04-09
Jennifer A Inouye1003Brazil2025-04-24
Alejandro U Inouye1004India2025-04-18
Leon V Darakjy1005Italy2025-05-06
Kadeem B Dilliard1006Brazil2025-04-25
David W Glick1007Australia2025-04-11
Greenwood E Schemmer1008Russia2025-04-23
Costa K Briddick1009Italy2025-04-26
Mayumi C Bolognia1010India2025-04-20
Tony U Stenseth1011Brazil2025-04-20
Deepesh D Tollner1012France2025-04-25
Emily T Vocelka1013France2025-04-21
Deepesh C Darakjy1014Brazil2025-04-29
Emily W Oldroyd1015Japan2025-04-19
Tony O Campain1016Canada2025-05-03
Maria I Malet1017Germany2025-04-19
Jeanfrancois H Waycott1018India2025-05-02
Morrow J Maclead1019Australia2025-04-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro R DilliardGermanyStephen Shaw NEW
Emily P KolmetzAustraliaStephen Shaw RENEWAL
Chavez H StensethRussiaAsiya Javayant RENEWAL
James D DarakjyArgentinaStephen Shaw RENEWAL
Morrow R OstroskyRussiaXuxue Feng PROPOSAL
Juan Q RoysterFranceAnna Fali RENEWAL
Leja N ButtFranceElwin Sharvill UNQUALIFIED
Jennifer E CaudyAustraliaAmy Elsner NEW
Kadeem C AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Kadeem W DilliardUnited KingdomElwin Sharvill PROPOSAL
Juan V DilliardFranceStephen Shaw NEGOTIATION
Francesco R FlosiArgentinaAsiya Javayant NEGOTIATION
Cody H ButtGermanyBernardo Dominic RENEWAL
Tony V GlickRussiaBernardo Dominic PROPOSAL
Francesco O PoquetteAustraliaAmy Elsner NEW
James C BologniaCanadaElwin Sharvill QUALIFIED
Izzy T StockhamCanadaAsiya Javayant UNQUALIFIED
Francesco M WaycottItalyAnna Fali UNQUALIFIED
David F GlickJapanAmy Elsner QUALIFIED
Kadeem K MaletRussiaIoni Bowcher PROPOSAL
Clifford Q PaprockiItalyBernardo Dominic NEGOTIATION
Kaitlin D CaldareraBrazilStephen Shaw RENEWAL
Alejandro B CampainFranceIoni Bowcher PROPOSAL
Jones P KuskoJapanAnna Fali NEGOTIATION
Aruna I FollerAustraliaAnna Fali QUALIFIED
Faith R CampainUnited KingdomXuxue Feng RENEWAL
Mayumi T WieserBrazilIvan Magalhaes NEGOTIATION
Ashley P MorascaJapanAnna Fali UNQUALIFIED
Clifford Z RutaSpainAsiya Javayant PROPOSAL
Kadeem S WieserGermanyAmy Elsner QUALIFIED
Izzy H CaldareraBrazilIoni Bowcher NEW
Silvio K SergiFranceIvan Magalhaes QUALIFIED
Aditya Y CaudyCanadaAmy Elsner UNQUALIFIED
Aruna L RutaJapanAnna Fali PROPOSAL
Maisha G GillianGermanyStephen Shaw PROPOSAL
Ricardo Z BologniaItalyIvan Magalhaes PROPOSAL
Murillo I DoeUnited KingdomXuxue Feng NEGOTIATION
Johnson N CaldareraBrazilAmy Elsner NEGOTIATION
Tony J SchemmerItalyStephen Shaw PROPOSAL
Johnson X SchemmerIndiaElwin Sharvill 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>