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
Mujtaba S FollerBrazilBernardo Dominic NEW
Greenwood B GillianRussiaIvan Magalhaes RENEWAL
Sinclair R CaudyFranceIoni Bowcher RENEWAL
Sinclair S RutaJapanAnna Fali PROPOSAL
Leon Z MorascaUnited KingdomIoni Bowcher PROPOSAL
Ricardo B RoysterItalyIoni Bowcher QUALIFIED
Jeanfrancois W GauchoSpainAsiya Javayant PROPOSAL
Octavia H PerinFranceAnna Fali RENEWAL
David M AlbaresIndiaXuxue Feng RENEWAL
Deepesh S DarakjyAustraliaElwin Sharvill QUALIFIED
Mayumi U VocelkaCanadaAsiya Javayant RENEWAL
Aika V CaldareraCanadaXuxue Feng PROPOSAL
Smith J MarrierCanadaOnyama Limba NEGOTIATION
Emily X ChuiBrazilXuxue Feng PROPOSAL
Julie R StockhamUnited KingdomIvan Magalhaes NEW
Deepesh B GillianItalyBernardo Dominic RENEWAL
Johnson L MaletCanadaElwin Sharvill NEW
Greenwood C IturbideFranceBernardo Dominic PROPOSAL
Tony G FerenczCanadaAsiya Javayant PROPOSAL
Antonio K SchemmerIndiaIvan Magalhaes PROPOSAL
Tony C PerinArgentinaOnyama Limba PROPOSAL
Jefferson U MaletFranceAnna Fali PROPOSAL
Wickens T DoeGermanyOnyama Limba NEGOTIATION
Emily E GauchoSpainAmy Elsner QUALIFIED
Stacey E StensethSpainIvan Magalhaes PROPOSAL
Mayumi V VenereCanadaOnyama Limba NEGOTIATION
Faith P VenereSpainIoni Bowcher UNQUALIFIED
Izzy D CaudyUnited KingdomStephen Shaw PROPOSAL
Jones D WhobreyJapanElwin Sharvill NEW
Nicolas P PerinIndiaIoni Bowcher NEW
Silvio D BowleyBrazilIvan Magalhaes UNQUALIFIED
Julie U DarakjyAustraliaStephen Shaw NEW
Ashley L MorascaItalyElwin Sharvill UNQUALIFIED
Sinclair R ChuiGermanyIvan Magalhaes NEGOTIATION
Julie Z OstroskyCanadaElwin Sharvill PROPOSAL
Jones U KolmetzCanadaOnyama Limba RENEWAL
Tony C PoquetteJapanStephen Shaw QUALIFIED
Julie Z DilliardAustraliaStephen Shaw QUALIFIED
Mujtaba V DarakjyCanadaStephen Shaw UNQUALIFIED
Adams V NickaGermanyStephen Shaw PROPOSAL
Johnson W MaletArgentinaBernardo Dominic NEW
Emily D BriddickRussiaElwin Sharvill QUALIFIED
Ivar G MorascaUnited KingdomAnna Fali RENEWAL
Stacey C SlusarskiRussiaStephen Shaw QUALIFIED
David K PoquetteIndiaBernardo Dominic QUALIFIED
Sinclair T VocelkaIndiaBernardo Dominic UNQUALIFIED
Mayumi D AmigonArgentinaAnna Fali UNQUALIFIED
Jefferson N TollnerItalyIoni Bowcher QUALIFIED
Aditya V VenereCanadaXuxue Feng PROPOSAL
Alejandro W BriddickGermanyAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Greenwood K WaycottItalyElwin Sharvill QUALIFIED
Stacey C ButtItalyAsiya Javayant UNQUALIFIED
Antonio C WieserGermanyAnna Fali NEW
Aruna L CaldareraFranceAnna Fali QUALIFIED
Octavia F SchemmerSpainAsiya Javayant NEGOTIATION
Maisha V MacleadAustraliaElwin Sharvill NEW
Alejandro M DoeBrazilAmy Elsner PROPOSAL
Emily P RutaRussiaAmy Elsner QUALIFIED
Juan O PerinCanadaAnna Fali NEW
Ricardo Y WieserBrazilIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony O GillianGermany2024-05-24Commercial Press UNQUALIFIED76Stephen Shaw
1001Greenwood D GlickCanada2024-06-21King, Christopher A Esq RENEWAL25Anna Fali
1002Silvio Q AlbaresArgentina2024-06-19King, Christopher A Esq UNQUALIFIED77Xuxue Feng
1003Stacey W PoquetteItaly2024-06-11Commercial Press QUALIFIED79Anna Fali
1004Chavez J RimFrance2024-06-01King, Christopher A Esq UNQUALIFIED97Elwin Sharvill
1005Claire T PoquetteRussia2024-05-25Rangoni Of Florence UNQUALIFIED11Amy Elsner
1006Costa Q DarakjySpain2024-06-18Commercial Press NEGOTIATION99Ivan Magalhaes
1007Cody X NestleGermany2024-06-12Chanay, Jeffrey A Esq NEW78Stephen Shaw
1008Wickens O MaletSpain2024-05-27Feltz Printing Service QUALIFIED26Ioni Bowcher
1009Izzy H VocelkaAustralia2024-06-15Feiner Bros PROPOSAL44Xuxue Feng
1010Mayumi U SaylorsGermany2024-06-13Chemel, James L Cpa NEGOTIATION41Anna Fali
1011Johnson M ChuiArgentina2024-06-12Truhlar And Truhlar Attys RENEWAL73Bernardo Dominic
1012Chavez G BriddickRussia2024-06-11Buckley Miller Wright NEGOTIATION66Amy Elsner
1013Aruna K SaylorsAustralia2024-06-08Benton, John B Jr RENEWAL6Stephen Shaw
1014Nicolas Z RimSpain2024-06-10Commercial Press NEW20Amy Elsner
1015Murillo Y InouyeJapan2024-06-10Benton, John B Jr NEW45Ivan Magalhaes
1016Emily C ButtRussia2024-06-05Truhlar And Truhlar Attys UNQUALIFIED65Ivan Magalhaes
1017Misaki V GarufiIndia2024-06-15Commercial Press NEW49Xuxue Feng
1018Kadeem C MaletSpain2024-06-02Feiner Bros RENEWAL61Onyama Limba
1019Silvio B GlickItaly2024-06-16Feiner Bros UNQUALIFIED36Elwin Sharvill
1020Maisha C SlusarskiArgentina2024-06-06Feltz Printing Service UNQUALIFIED78Onyama Limba
1021Maria I MorascaSpain2024-05-24Buckley Miller Wright QUALIFIED11Anna Fali
1022Juan E TollnerJapan2024-06-15Chapman, Ross E Esq NEGOTIATION82Xuxue Feng
1023Cody F IturbideUnited Kingdom2024-06-05King, Christopher A Esq NEW80Ivan Magalhaes
1024Rodrigues G VenereIndia2024-05-28Truhlar And Truhlar Attys NEGOTIATION47Ioni Bowcher
1025Morrow T ButtSpain2024-06-18Rousseaux, Michael Esq NEGOTIATION98Bernardo Dominic
1026Salvatore U BologniaBrazil2024-05-31Truhlar And Truhlar Attys RENEWAL26Anna Fali
1027Deepesh J DilliardAustralia2024-06-03Feltz Printing Service NEW74Anna Fali
1028Isabel Q RutaJapan2024-06-13Chapman, Ross E Esq RENEWAL90Onyama Limba
1029James O NickaGermany2024-06-18Truhlar And Truhlar Attys NEGOTIATION45Anna Fali
1030Mujtaba F SaylorsItaly2024-06-12Truhlar And Truhlar Attys NEGOTIATION41Ioni Bowcher
1031Francesco Q FollerCanada2024-05-28Feiner Bros PROPOSAL81Asiya Javayant
1032Morrow D SaylorsFrance2024-06-06Feltz Printing Service RENEWAL84Anna Fali
1033Johnson U RimCanada2024-05-29Truhlar And Truhlar Attys QUALIFIED38Bernardo Dominic
1034Greenwood S PerinJapan2024-06-12Printing Dimensions NEGOTIATION58Anna Fali
1035Costa I BologniaAustralia2024-06-18Rousseaux, Michael Esq QUALIFIED30Ivan Magalhaes
1036Kaitlin O SaylorsRussia2024-06-08Benton, John B Jr PROPOSAL81Amy Elsner
1037Morrow K SchemmerUnited Kingdom2024-05-28Buckley Miller Wright PROPOSAL21Bernardo Dominic
1038Leon I VocelkaIndia2024-05-24King, Christopher A Esq NEGOTIATION84Amy Elsner
1039Wickens D MaletSpain2024-06-16Truhlar And Truhlar Attys NEW27Stephen Shaw
1040Ashley L GlickGermany2024-06-15Rousseaux, Michael Esq QUALIFIED50Anna Fali
1041Darci B SaylorsItaly2024-06-11King, Christopher A Esq NEW16Onyama Limba
1042James Q MaletGermany2024-06-15Morlong Associates UNQUALIFIED34Elwin Sharvill
1043Kaitlin N GillianCanada2024-06-20Morlong Associates NEW16Onyama Limba
1044Clifford V MaletArgentina2024-05-30Rangoni Of Florence NEW79Onyama Limba
1045Kaitlin P MorascaItaly2024-06-18Benton, John B Jr NEW80Ivan Magalhaes
1046Adams P ChuiUnited Kingdom2024-06-22Chapman, Ross E Esq QUALIFIED0Xuxue Feng
1047Stacey Y VenereCanada2024-06-02Chemel, James L Cpa NEW57Anna Fali
1048Claire R FerenczBrazil2024-05-29Printing Dimensions QUALIFIED12Onyama Limba
1049Costa Z BologniaCanada2024-05-30Rangoni Of Florence PROPOSAL64Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kadeem K GillianSpainIvan Magalhaes PROPOSAL
Costa G AmigonArgentinaIvan Magalhaes QUALIFIED
Murillo F GillianCanadaOnyama Limba NEW
Wickens M ShinkoBrazilBernardo Dominic RENEWAL
Murillo B AlbaresItalyIvan Magalhaes UNQUALIFIED
Isabel D DarakjyAustraliaAmy Elsner QUALIFIED
Murillo J RulapaughAustraliaAsiya Javayant UNQUALIFIED
Chavez K VenereRussiaAmy Elsner QUALIFIED
Costa C MaletJapanIoni Bowcher QUALIFIED
Kaitlin U InouyeCanadaAmy Elsner UNQUALIFIED
Isabel O MorascaArgentinaIoni Bowcher PROPOSAL
James E ButtItalyAmy Elsner PROPOSAL
Claire M PaprockiItalyIvan Magalhaes NEW
James Y CampainItalyAsiya Javayant UNQUALIFIED
Adams T SlusarskiJapanAnna Fali UNQUALIFIED
Alejandro C ButtIndiaAmy Elsner UNQUALIFIED
Wickens G AmigonFranceBernardo Dominic NEGOTIATION
Darci L OldroydAustraliaAnna Fali NEGOTIATION
Antonio S KolmetzIndiaXuxue Feng RENEWAL
Smith W MorascaSpainAnna Fali PROPOSAL
Tony X KuskoJapanAnna Fali UNQUALIFIED
Ashley Y TollnerUnited KingdomIoni Bowcher NEW
Murillo N DarakjyItalyAnna Fali UNQUALIFIED
Leja A VenereItalyOnyama Limba NEGOTIATION
Munro M IturbideFranceIvan Magalhaes UNQUALIFIED
Munro F PerinRussiaAmy Elsner UNQUALIFIED
Ivar B MaletCanadaStephen Shaw UNQUALIFIED
Stacey E MarrierItalyIoni Bowcher QUALIFIED
Chavez G IturbideSpainStephen Shaw RENEWAL
Izzy X SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Jennifer Q CaudySpainOnyama Limba PROPOSAL
Aika Q BologniaItalyElwin Sharvill NEGOTIATION
Antonio H FlosiCanadaElwin Sharvill QUALIFIED
Faith J MorascaCanadaAnna Fali RENEWAL
Chavez W BriddickAustraliaStephen Shaw RENEWAL
Kadeem A SergiSpainAmy Elsner NEW
Cody Q GillianJapanIvan Magalhaes RENEWAL
Silvio Q ChuiJapanAmy Elsner NEW
Deepesh J IturbideUnited KingdomElwin Sharvill PROPOSAL
Costa X DilliardUnited KingdomAmy Elsner UNQUALIFIED
Mayumi G KolmetzBrazilXuxue Feng RENEWAL
James K RutaIndiaStephen Shaw RENEWAL
Ricardo Z MorascaItalyOnyama Limba PROPOSAL
Emily I StockhamItalyAnna Fali NEGOTIATION
David Q FigeroaBrazilAmy Elsner UNQUALIFIED
James W MaletIndiaIoni Bowcher NEGOTIATION
Murillo S GlickAustraliaAmy Elsner UNQUALIFIED
Emily N GarufiUnited KingdomBernardo Dominic PROPOSAL
Antonio J PoquetteFranceAmy Elsner UNQUALIFIED
Johnson K KolmetzBrazilAmy Elsner PROPOSAL
Frozen Columns
Name
Adams N Butt
Jennifer A Foller
Salvatore Y Whobrey
Tony V Ostrosky
Leja J Gaucho
Munro J Caldarera
Kadeem M Poquette
Chavez Q Slusarski
Alejandro K Rulapaugh
Arvin J Wieser
Faith A Iturbide
Francesco J Stockham
Faith W Venere
Jefferson J Ruta
Morrow U Caldarera
Murillo O Whobrey
Cody F Bowley
Faith M Inouye
Arvin T Maclead
Antonio K Sergi
Kaitlin O Rim
Cody S Amigon
Jennifer L Iturbide
Jones W Figeroa
Silvio Y Slusarski
Rodrigues W Marrier
Deepesh F Slusarski
Adams W Briddick
Nicolas O Ruta
Juan U Amigon
Clifford I Waycott
Chavez J Gillian
Ashley V Morasca
Faith R Glick
Smith T Schemmer
Chavez Z Sergi
Rodrigues J Garufi
Mayumi S Figeroa
Costa E Oldroyd
Misaki I Perin
Wickens Y Slusarski
Maisha X Stockham
Isabel J Butt
Ashley S Maclead
Morrow M Inouye
Clifford G Caldarera
Ivar H Gillian
Nicolas L Garufi
Ivar K Figeroa
Francesco H Gaucho
IdCountryDate
1000Germany2024-06-03
1001Australia2024-05-31
1002United Kingdom2024-06-08
1003France2024-06-20
1004Spain2024-06-03
1005Canada2024-06-08
1006Germany2024-06-16
1007Spain2024-05-24
1008Australia2024-06-17
1009United Kingdom2024-06-11
1010Canada2024-06-21
1011Italy2024-06-08
1012Brazil2024-05-25
1013Spain2024-05-28
1014Canada2024-06-16
1015France2024-06-08
1016United Kingdom2024-05-26
1017Brazil2024-06-05
1018Italy2024-06-08
1019Russia2024-06-04
1020India2024-06-07
1021Argentina2024-05-24
1022United Kingdom2024-06-14
1023Italy2024-06-01
1024Canada2024-05-28
1025France2024-06-20
1026Australia2024-06-16
1027Argentina2024-05-28
1028Japan2024-06-16
1029Spain2024-06-10
1030France2024-06-19
1031Italy2024-06-13
1032Germany2024-05-28
1033India2024-05-30
1034Brazil2024-06-19
1035Japan2024-06-21
1036Japan2024-06-13
1037Brazil2024-06-22
1038Brazil2024-06-07
1039India2024-06-01
1040Russia2024-06-17
1041France2024-06-18
1042Russia2024-06-07
1043France2024-06-13
1044Italy2024-06-20
1045Brazil2024-06-22
1046Canada2024-06-11
1047India2024-05-30
1048Argentina2024-06-11
1049United Kingdom2024-06-19

On-Demand Data

NameIdCountryDate
Jeanfrancois H Morasca1000United Kingdom2024-05-29
Ricardo C Wieser1001Japan2024-06-17
Maria C Morasca1002Russia2024-06-11
Chavez V Nicka1003Australia2024-05-24
Aruna U Ruta1004Argentina2024-06-22
Aditya D Waycott1005Italy2024-06-14
Munro K Ruta1006United Kingdom2024-06-17
Mayumi R Oldroyd1007Brazil2024-06-14
Alejandro Z Royster1008Japan2024-05-29
James N Royster1009Argentina2024-06-17
Juan X Marrier1010United Kingdom2024-06-18
Murillo B Maclead1011Argentina2024-06-12
Adams O Stenseth1012Argentina2024-06-08
Claire I Oldroyd1013Japan2024-06-15
Emily P Kusko1014France2024-06-11
Misaki S Foller1015Argentina2024-06-01
Kaitlin Z Darakjy1016Australia2024-06-04
Smith P Ostrosky1017Germany2024-06-13
Jones S Schemmer1018France2024-05-25
Mayumi B Iturbide1019Argentina2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin S CaldareraBrazilIvan Magalhaes RENEWAL
Kaitlin V SlusarskiIndiaIvan Magalhaes NEGOTIATION
Munro E OstroskySpainAsiya Javayant UNQUALIFIED
Rodrigues L TollnerAustraliaIoni Bowcher NEW
Arvin Q PerinBrazilIvan Magalhaes PROPOSAL
Silvio N RulapaughCanadaXuxue Feng NEGOTIATION
Jennifer R RoysterJapanIvan Magalhaes NEW
Morrow Y DilliardAustraliaXuxue Feng NEGOTIATION
Francesco E SchemmerGermanyBernardo Dominic UNQUALIFIED
David P InouyeFranceIoni Bowcher UNQUALIFIED
Leon A GlickRussiaAsiya Javayant QUALIFIED
Ivar O RoysterSpainAsiya Javayant QUALIFIED
Francesco V ChuiIndiaAnna Fali NEW
Misaki R OstroskyGermanyStephen Shaw PROPOSAL
Claire A MorascaGermanyAsiya Javayant UNQUALIFIED
Smith N NestleFranceAsiya Javayant QUALIFIED
Silvio K IturbideFranceAnna Fali NEW
Maria G BowleyItalyElwin Sharvill QUALIFIED
Johnson N FerenczGermanyAsiya Javayant UNQUALIFIED
Jefferson O SchemmerCanadaIvan Magalhaes NEW
Mujtaba F MaletFranceAsiya Javayant PROPOSAL
Clifford R SergiAustraliaAmy Elsner UNQUALIFIED
Kaitlin Y OstroskyAustraliaElwin Sharvill NEGOTIATION
Wickens V DarakjyBrazilAsiya Javayant PROPOSAL
Leon Q BowleyCanadaOnyama Limba QUALIFIED
Jennifer P NestleRussiaAmy Elsner RENEWAL
Jennifer L ShinkoItalyAsiya Javayant QUALIFIED
Ivar F CaldareraCanadaAmy Elsner RENEWAL
Emily S PaprockiIndiaAmy Elsner QUALIFIED
Silvio Y NickaAustraliaElwin Sharvill QUALIFIED
Maria G WieserBrazilAnna Fali NEGOTIATION
Rodrigues J PaprockiJapanIvan Magalhaes NEW
Nicolas E WaycottSpainAmy Elsner PROPOSAL
Johnson V AmigonGermanyXuxue Feng NEGOTIATION
Darci L TollnerGermanyIvan Magalhaes NEW
Ivar I NestleCanadaStephen Shaw RENEWAL
Maisha E StensethJapanBernardo Dominic RENEWAL
Clifford E GauchoBrazilIoni Bowcher NEW
Mujtaba P FerenczSpainAmy Elsner QUALIFIED
Adams D WaycottRussiaXuxue Feng NEGOTIATION

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