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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Darci L CaldareraRussiaXuxue Feng PROPOSAL
Ivar Z WhobreyUnited KingdomAsiya Javayant QUALIFIED
Antonio V VenereBrazilAnna Fali NEW
Aruna N SlusarskiIndiaElwin Sharvill NEGOTIATION
Wickens U CampainUnited KingdomIvan Magalhaes PROPOSAL
Tony K WieserRussiaAmy Elsner RENEWAL
Adams R MaletGermanyAmy Elsner NEW
Arvin Y RimBrazilBernardo Dominic RENEWAL
Chavez C FigeroaGermanyAsiya Javayant NEGOTIATION
Jefferson L BriddickSpainBernardo Dominic UNQUALIFIED
James M RutaAustraliaStephen Shaw PROPOSAL
Aika U StensethJapanAsiya Javayant NEGOTIATION
Greenwood W FollerRussiaBernardo Dominic QUALIFIED
Greenwood P AlbaresArgentinaBernardo Dominic NEGOTIATION
Aika J StockhamUnited KingdomStephen Shaw PROPOSAL
Deepesh Z SlusarskiArgentinaAsiya Javayant NEGOTIATION
Juan M DilliardGermanyOnyama Limba QUALIFIED
Antonio H SchemmerAustraliaAnna Fali PROPOSAL
Izzy V BologniaItalyAmy Elsner NEGOTIATION
Octavia A MacleadRussiaAsiya Javayant UNQUALIFIED
Aika J MaletItalyAsiya Javayant PROPOSAL
Sinclair L SaylorsUnited KingdomIoni Bowcher RENEWAL
James Y CaudyUnited KingdomXuxue Feng QUALIFIED
Claire C ChuiAustraliaIvan Magalhaes UNQUALIFIED
Aruna U DilliardArgentinaIvan Magalhaes PROPOSAL
Salvatore V CaudyBrazilIvan Magalhaes RENEWAL
Adams N PerinGermanyAmy Elsner NEGOTIATION
Wickens C FollerSpainAmy Elsner NEGOTIATION
Isabel E AmigonBrazilAnna Fali NEGOTIATION
Kaitlin Y DilliardFranceXuxue Feng UNQUALIFIED
Alejandro E ShinkoArgentinaOnyama Limba QUALIFIED
Aditya W DilliardRussiaElwin Sharvill UNQUALIFIED
Francesco L RutaJapanAmy Elsner PROPOSAL
Ricardo B SaylorsJapanStephen Shaw RENEWAL
James M AmigonJapanAmy Elsner NEGOTIATION
Julie H SchemmerIndiaElwin Sharvill UNQUALIFIED
Ricardo G SchemmerCanadaIoni Bowcher PROPOSAL
Salvatore B AmigonItalyIvan Magalhaes RENEWAL
James U GarufiItalyXuxue Feng QUALIFIED
Izzy H GauchoGermanyIoni Bowcher PROPOSAL
Darci F WaycottSpainAnna Fali RENEWAL
Aruna N RutaRussiaStephen Shaw QUALIFIED
Mujtaba H GauchoSpainIoni Bowcher RENEWAL
Izzy Z CampainItalyAsiya Javayant PROPOSAL
Mayumi I OldroydCanadaXuxue Feng QUALIFIED
Sinclair O TollnerItalyAnna Fali UNQUALIFIED
Ricardo Q FerenczIndiaXuxue Feng NEW
Wickens B RutaRussiaIvan Magalhaes NEGOTIATION
Johnson B SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Darci P NestleRussiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maisha X DoeRussiaIoni Bowcher PROPOSAL
Adams I VenereSpainBernardo Dominic PROPOSAL
Maisha Q GarufiArgentinaAmy Elsner NEGOTIATION
Jeanfrancois D RulapaughCanadaIvan Magalhaes RENEWAL
Arvin G OstroskyItalyAnna Fali NEGOTIATION
Maisha P GarufiCanadaXuxue Feng PROPOSAL
Smith X PoquetteAustraliaIoni Bowcher PROPOSAL
Morrow E FlosiItalyAsiya Javayant UNQUALIFIED
Munro U NickaCanadaXuxue Feng UNQUALIFIED
Francesco B WieserJapanElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois M InouyeArgentina2025-06-18King, Christopher A Esq RENEWAL5Bernardo Dominic
1001Adams D DilliardCanada2025-06-25Feltz Printing Service NEW47Asiya Javayant
1002Sinclair P GlickIndia2025-06-16King, Christopher A Esq RENEWAL26Bernardo Dominic
1003Ashley Q RutaBrazil2025-06-14Benton, John B Jr PROPOSAL9Asiya Javayant
1004Izzy O ChuiFrance2025-07-04Truhlar And Truhlar Attys RENEWAL83Ivan Magalhaes
1005Morrow H ShinkoGermany2025-06-23Chemel, James L Cpa UNQUALIFIED86Ivan Magalhaes
1006Cody I RulapaughFrance2025-07-01Chanay, Jeffrey A Esq UNQUALIFIED56Bernardo Dominic
1007Julie M BowleyCanada2025-06-16Chapman, Ross E Esq QUALIFIED17Ioni Bowcher
1008Jefferson R CampainUnited Kingdom2025-06-21Rangoni Of Florence NEGOTIATION60Asiya Javayant
1009Mayumi O MorascaCanada2025-07-07Commercial Press RENEWAL1Ioni Bowcher
1010Jefferson M VocelkaIndia2025-06-25King, Christopher A Esq QUALIFIED12Stephen Shaw
1011Izzy K FerenczFrance2025-07-12Chanay, Jeffrey A Esq QUALIFIED86Anna Fali
1012Clifford D StockhamSpain2025-06-29King, Christopher A Esq QUALIFIED1Elwin Sharvill
1013Leja T FigeroaArgentina2025-07-01Buckley Miller Wright UNQUALIFIED78Ivan Magalhaes
1014Aruna F StensethRussia2025-07-10Chanay, Jeffrey A Esq NEGOTIATION12Stephen Shaw
1015Johnson W BriddickBrazil2025-06-18Feiner Bros UNQUALIFIED28Amy Elsner
1016Misaki N FlosiJapan2025-06-27King, Christopher A Esq NEW66Bernardo Dominic
1017Kaitlin K ButtAustralia2025-07-04Printing Dimensions UNQUALIFIED70Anna Fali
1018Clifford K SchemmerGermany2025-07-05Benton, John B Jr PROPOSAL65Amy Elsner
1019Antonio A AmigonGermany2025-07-11King, Christopher A Esq NEGOTIATION87Stephen Shaw
1020David J DilliardBrazil2025-06-17Benton, John B Jr NEW74Ivan Magalhaes
1021Francesco A StockhamUnited Kingdom2025-06-26Chemel, James L Cpa NEW8Amy Elsner
1022Aruna H VocelkaCanada2025-06-25Commercial Press UNQUALIFIED86Stephen Shaw
1023Antonio D FigeroaIndia2025-06-22King, Christopher A Esq NEGOTIATION7Ivan Magalhaes
1024Murillo A NickaSpain2025-06-18King, Christopher A Esq NEGOTIATION63Amy Elsner
1025Cody D StockhamArgentina2025-06-18Morlong Associates PROPOSAL67Amy Elsner
1026Francesco W GillianIndia2025-06-19Buckley Miller Wright NEGOTIATION59Anna Fali
1027Jefferson R CaudyIndia2025-07-03Morlong Associates QUALIFIED78Stephen Shaw
1028Julie N WieserArgentina2025-06-18Chapman, Ross E Esq UNQUALIFIED89Ioni Bowcher
1029Arvin S SlusarskiAustralia2025-06-27Truhlar And Truhlar Attys NEGOTIATION8Bernardo Dominic
1030Arvin V DarakjySpain2025-06-25Chanay, Jeffrey A Esq PROPOSAL92Onyama Limba
1031Stacey G FlosiFrance2025-06-19Feltz Printing Service UNQUALIFIED30Ivan Magalhaes
1032Faith H KuskoArgentina2025-06-28Chapman, Ross E Esq NEGOTIATION63Ioni Bowcher
1033Sinclair I MaletJapan2025-06-18Buckley Miller Wright RENEWAL78Ivan Magalhaes
1034Jefferson V AmigonAustralia2025-06-18Buckley Miller Wright NEGOTIATION20Amy Elsner
1035Kaitlin I KolmetzArgentina2025-06-29Rangoni Of Florence NEGOTIATION84Asiya Javayant
1036Mayumi P WhobreyGermany2025-07-08Dorl, James J Esq NEGOTIATION27Asiya Javayant
1037Greenwood F ChuiSpain2025-06-23Rangoni Of Florence PROPOSAL3Xuxue Feng
1038Smith S SergiArgentina2025-06-17Buckley Miller Wright RENEWAL96Elwin Sharvill
1039Maria E RutaFrance2025-07-13Chapman, Ross E Esq RENEWAL97Elwin Sharvill
1040Aika G SlusarskiAustralia2025-07-12Printing Dimensions PROPOSAL19Asiya Javayant
1041Leja X ShinkoUnited Kingdom2025-06-24Buckley Miller Wright QUALIFIED16Elwin Sharvill
1042Deepesh G InouyeBrazil2025-07-05Benton, John B Jr QUALIFIED80Stephen Shaw
1043Murillo O VocelkaIndia2025-06-28Chapman, Ross E Esq RENEWAL8Elwin Sharvill
1044Murillo F MaletGermany2025-07-12Printing Dimensions QUALIFIED21Xuxue Feng
1045Wickens M InouyeBrazil2025-06-15Rangoni Of Florence RENEWAL89Anna Fali
1046James I MarrierRussia2025-07-04Printing Dimensions NEGOTIATION94Ioni Bowcher
1047Smith Z MaletAustralia2025-06-21Feiner Bros NEGOTIATION73Onyama Limba
1048Johnson P SlusarskiJapan2025-06-26Rousseaux, Michael Esq QUALIFIED6Elwin Sharvill
1049Murillo I DarakjyJapan2025-06-29Truhlar And Truhlar Attys NEW20Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Murillo K FerenczUnited KingdomIvan Magalhaes RENEWAL
Juan H MacleadGermanyElwin Sharvill PROPOSAL
Juan D DarakjyRussiaAmy Elsner UNQUALIFIED
Rodrigues P AlbaresRussiaAmy Elsner NEGOTIATION
Francesco D FollerJapanStephen Shaw RENEWAL
Costa X WaycottGermanyAnna Fali PROPOSAL
Clifford Q BriddickUnited KingdomOnyama Limba RENEWAL
Aika N KuskoJapanOnyama Limba NEW
Ashley L SergiBrazilElwin Sharvill PROPOSAL
Deepesh N StockhamRussiaOnyama Limba NEW
Ivar M CaudyAustraliaAsiya Javayant PROPOSAL
Claire A CampainAustraliaIvan Magalhaes PROPOSAL
Aruna V FigeroaFranceBernardo Dominic NEGOTIATION
Mayumi J TollnerGermanyOnyama Limba PROPOSAL
Ivar U TollnerCanadaAsiya Javayant PROPOSAL
Izzy T SlusarskiSpainBernardo Dominic NEGOTIATION
Salvatore A StensethBrazilStephen Shaw RENEWAL
Silvio Y SchemmerSpainOnyama Limba QUALIFIED
Ivar Z KolmetzUnited KingdomIvan Magalhaes RENEWAL
Maisha S SlusarskiBrazilIoni Bowcher QUALIFIED
Ivar I WieserSpainAnna Fali UNQUALIFIED
Salvatore C InouyeUnited KingdomAmy Elsner NEW
Salvatore C InouyeBrazilAsiya Javayant UNQUALIFIED
Rodrigues S PerinGermanyOnyama Limba PROPOSAL
Greenwood C KolmetzArgentinaOnyama Limba NEGOTIATION
Leon Y StockhamCanadaXuxue Feng QUALIFIED
David B NickaJapanStephen Shaw NEGOTIATION
Octavia I AlbaresCanadaAsiya Javayant RENEWAL
Leja O PerinItalyBernardo Dominic NEGOTIATION
Ivar X CampainBrazilAnna Fali NEGOTIATION
Misaki H TollnerJapanIoni Bowcher QUALIFIED
Jennifer A FlosiAustraliaBernardo Dominic QUALIFIED
Mujtaba G MacleadItalyIoni Bowcher PROPOSAL
Izzy J FollerItalyXuxue Feng NEW
Isabel Q MacleadUnited KingdomBernardo Dominic PROPOSAL
Salvatore M NickaGermanyAsiya Javayant UNQUALIFIED
Claire H WaycottAustraliaElwin Sharvill NEW
Chavez Q ChuiItalyIoni Bowcher NEGOTIATION
Octavia J TollnerUnited KingdomXuxue Feng PROPOSAL
Misaki I RulapaughRussiaStephen Shaw QUALIFIED
Alejandro B WieserRussiaIoni Bowcher PROPOSAL
Ricardo P CampainJapanIvan Magalhaes UNQUALIFIED
Johnson Z DoeSpainIvan Magalhaes QUALIFIED
Ivar E OldroydSpainOnyama Limba QUALIFIED
Costa Q FerenczItalyAmy Elsner NEGOTIATION
Ivar O MacleadSpainAmy Elsner PROPOSAL
Maisha C PoquetteSpainAsiya Javayant UNQUALIFIED
Silvio A BriddickItalyBernardo Dominic QUALIFIED
Aruna N FlosiItalyOnyama Limba PROPOSAL
Nicolas F FigeroaAustraliaAmy Elsner PROPOSAL
Frozen Columns
Name
James A Oldroyd
Costa C Doe
Greenwood W Stockham
Francesco V Foller
Ivar T Rulapaugh
Costa Q Waycott
Cody F Malet
David V Ostrosky
Jeanfrancois Z Malet
Clifford M Vocelka
Morrow J Wieser
Maisha Y Caldarera
Darci U Kolmetz
Deepesh L Tollner
Jennifer R Amigon
Costa W Stenseth
Maisha Z Caudy
Clifford M Perin
Greenwood W Gillian
Jeanfrancois C Bowley
Juan A Chui
Adams E Albares
Sinclair W Glick
Jeanfrancois M Briddick
Costa Z Venere
Adams F Rim
Mayumi D Wieser
Ashley A Flosi
Maisha M Gaucho
Costa A Butt
Aruna R Briddick
Octavia A Ruta
Johnson V Perin
Kadeem S Kolmetz
Murillo F Schemmer
Leja N Venere
Jeanfrancois L Venere
Jefferson X Bowley
Jennifer E Gillian
Antonio U Morasca
Johnson B Paprocki
Francesco P Flosi
Rodrigues T Amigon
Deepesh A Sergi
Johnson Q Gillian
Arvin F Bowley
Misaki G Caldarera
Octavia S Glick
Aruna S Stenseth
Tony G Flosi
IdCountryDate
1000India2025-06-26
1001Argentina2025-07-04
1002United Kingdom2025-07-05
1003United Kingdom2025-06-19
1004Argentina2025-06-29
1005Germany2025-07-12
1006Spain2025-06-24
1007Canada2025-06-30
1008Spain2025-07-12
1009United Kingdom2025-06-14
1010Canada2025-07-11
1011Brazil2025-06-22
1012Brazil2025-07-01
1013Argentina2025-07-08
1014Japan2025-06-22
1015United Kingdom2025-06-19
1016France2025-07-01
1017France2025-07-01
1018Japan2025-06-17
1019United Kingdom2025-07-09
1020France2025-06-14
1021Argentina2025-06-29
1022Japan2025-06-28
1023Germany2025-06-15
1024Argentina2025-06-27
1025Canada2025-06-22
1026Australia2025-07-07
1027Argentina2025-06-23
1028Canada2025-06-24
1029Japan2025-07-09
1030Argentina2025-06-30
1031Argentina2025-06-21
1032Italy2025-06-23
1033Canada2025-06-27
1034Japan2025-06-17
1035Brazil2025-06-29
1036Australia2025-07-02
1037Australia2025-06-14
1038Brazil2025-06-24
1039Japan2025-06-19
1040Italy2025-07-06
1041France2025-07-13
1042Brazil2025-06-18
1043Canada2025-07-12
1044Spain2025-07-01
1045Japan2025-07-09
1046Australia2025-07-03
1047Canada2025-07-02
1048France2025-07-08
1049Canada2025-06-21

On-Demand Data

NameIdCountryDate
Arvin G Poquette1000India2025-07-04
Costa N Garufi1001Japan2025-06-25
Arvin Y Albares1002Italy2025-06-19
Munro I Paprocki1003Canada2025-06-19
Deepesh O Sergi1004Italy2025-06-28
Silvio W Slusarski1005Australia2025-07-10
Leja J Iturbide1006Argentina2025-07-11
Francesco M Amigon1007Germany2025-06-14
Leon T Wieser1008Argentina2025-07-05
Octavia A Poquette1009United Kingdom2025-06-26
Faith P Inouye1010Japan2025-06-17
Alejandro L Caudy1011France2025-06-29
Isabel L Tollner1012United Kingdom2025-07-03
Murillo R Venere1013Spain2025-07-12
Rodrigues D Wieser1014France2025-06-16
Arvin C Darakjy1015Canada2025-06-22
Aika H Caudy1016France2025-07-01
Ashley M Waycott1017United Kingdom2025-07-11
Leon D Marrier1018Germany2025-06-27
Morrow Q Flosi1019Argentina2025-06-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony A WhobreyUnited KingdomAsiya Javayant NEGOTIATION
Cody R CaldareraItalyOnyama Limba QUALIFIED
Wickens N SergiSpainBernardo Dominic NEW
Cody Q RulapaughBrazilAsiya Javayant NEW
Misaki H VenereRussiaAsiya Javayant UNQUALIFIED
Costa K FigeroaCanadaAsiya Javayant UNQUALIFIED
Costa I GlickFranceStephen Shaw NEW
Johnson Q RoysterArgentinaAmy Elsner UNQUALIFIED
Kaitlin O MaletCanadaXuxue Feng UNQUALIFIED
Octavia Z MaletItalyIoni Bowcher NEGOTIATION
Salvatore P RoysterItalyXuxue Feng QUALIFIED
Cody R KolmetzBrazilAmy Elsner PROPOSAL
Costa G NickaGermanyAsiya Javayant NEGOTIATION
Kadeem X MaletJapanBernardo Dominic NEGOTIATION
Silvio D KolmetzAustraliaXuxue Feng PROPOSAL
Claire V InouyeGermanyAmy Elsner NEW
Aruna F SchemmerFranceXuxue Feng NEW
Kadeem Z OldroydBrazilIvan Magalhaes NEW
Clifford H AmigonArgentinaStephen Shaw UNQUALIFIED
Juan Y VocelkaCanadaBernardo Dominic QUALIFIED
Cody C DilliardUnited KingdomStephen Shaw PROPOSAL
Cody F GillianBrazilBernardo Dominic RENEWAL
Jennifer J BologniaArgentinaStephen Shaw NEW
Leon B FigeroaCanadaAnna Fali RENEWAL
Ashley A SergiItalyIoni Bowcher NEGOTIATION
Faith I RulapaughItalyBernardo Dominic NEGOTIATION
Isabel V PaprockiItalyStephen Shaw NEGOTIATION
Francesco D FerenczArgentinaIoni Bowcher RENEWAL
Jefferson J AmigonAustraliaIoni Bowcher RENEWAL
Mujtaba F SergiGermanyAnna Fali PROPOSAL
Munro D OstroskyItalyXuxue Feng NEGOTIATION
Maria N GarufiCanadaBernardo Dominic UNQUALIFIED
Claire F PerinFranceIvan Magalhaes PROPOSAL
Izzy Q BriddickFranceXuxue Feng QUALIFIED
Ivar L KolmetzCanadaBernardo Dominic NEGOTIATION
Munro E GlickBrazilAnna Fali NEGOTIATION
Emily T BowleyAustraliaXuxue Feng NEGOTIATION
Jones K VenereFranceXuxue Feng NEGOTIATION
Deepesh G AmigonAustraliaIvan Magalhaes NEGOTIATION
Silvio F MarrierJapanAnna Fali QUALIFIED

<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" frozenColumnsAlignment="left">
            <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>