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 N MacleadItalyAnna Fali PROPOSAL
Maria O OstroskyIndiaAsiya Javayant RENEWAL
Nicolas I RutaSpainIvan Magalhaes NEGOTIATION
Claire Z InouyeAustraliaOnyama Limba RENEWAL
James T OldroydIndiaElwin Sharvill QUALIFIED
Jeanfrancois V VocelkaItalyIvan Magalhaes NEGOTIATION
Alejandro Q FigeroaUnited KingdomXuxue Feng RENEWAL
Mayumi U GlickBrazilAnna Fali QUALIFIED
Claire S CampainUnited KingdomIoni Bowcher PROPOSAL
Wickens K BologniaRussiaIoni Bowcher PROPOSAL
Maria U KuskoUnited KingdomElwin Sharvill QUALIFIED
Arvin T GillianAustraliaAmy Elsner UNQUALIFIED
Leja X MorascaFranceXuxue Feng RENEWAL
Ivar C BologniaUnited KingdomAmy Elsner QUALIFIED
Munro F RutaSpainAnna Fali NEW
Smith O AmigonIndiaElwin Sharvill RENEWAL
Kadeem U MarrierUnited KingdomOnyama Limba NEW
Johnson L WieserUnited KingdomAnna Fali NEGOTIATION
Alejandro I BologniaAustraliaStephen Shaw UNQUALIFIED
Deepesh R BriddickUnited KingdomXuxue Feng UNQUALIFIED
Jefferson D PerinItalyIoni Bowcher PROPOSAL
Claire Z MaletBrazilIvan Magalhaes UNQUALIFIED
Deepesh B SaylorsUnited KingdomIvan Magalhaes PROPOSAL
Wickens S ButtItalyXuxue Feng NEGOTIATION
Francesco E VocelkaGermanyElwin Sharvill RENEWAL
Octavia J CampainSpainIoni Bowcher PROPOSAL
Salvatore A WaycottJapanIvan Magalhaes QUALIFIED
Tony O PoquetteCanadaOnyama Limba NEW
Greenwood L FlosiAustraliaAsiya Javayant QUALIFIED
Costa P RoysterBrazilBernardo Dominic NEW
Clifford T GarufiJapanAsiya Javayant NEGOTIATION
James Z CaldareraRussiaAsiya Javayant NEGOTIATION
Stacey O FigeroaUnited KingdomXuxue Feng PROPOSAL
Darci O RutaAustraliaStephen Shaw QUALIFIED
Claire O BowleySpainOnyama Limba NEW
Leja I BowleyBrazilElwin Sharvill QUALIFIED
Julie F CaldareraItalyBernardo Dominic QUALIFIED
Ivar E KuskoIndiaXuxue Feng QUALIFIED
Salvatore W PaprockiArgentinaAnna Fali RENEWAL
Chavez N InouyeBrazilAsiya Javayant NEGOTIATION
Cody Q WhobreySpainBernardo Dominic NEW
Chavez Y OldroydArgentinaAsiya Javayant NEGOTIATION
Sinclair O StensethIndiaAmy Elsner QUALIFIED
Jennifer K TollnerArgentinaOnyama Limba NEGOTIATION
Wickens K MaletBrazilIvan Magalhaes NEW
Antonio V DilliardJapanAmy Elsner PROPOSAL
James X MaletSpainAsiya Javayant NEW
Maria C PerinRussiaAmy Elsner NEGOTIATION
Arvin I FerenczIndiaIoni Bowcher RENEWAL
Jefferson R FlosiItalyIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas P StockhamRussiaXuxue Feng UNQUALIFIED
Clifford O PerinIndiaElwin Sharvill PROPOSAL
Costa K KuskoIndiaAmy Elsner PROPOSAL
Aika W SaylorsItalyAmy Elsner UNQUALIFIED
David H RulapaughRussiaElwin Sharvill NEW
Costa L MorascaSpainElwin Sharvill RENEWAL
Mujtaba J BriddickJapanAsiya Javayant RENEWAL
Stacey Y StensethGermanyBernardo Dominic PROPOSAL
Alejandro I AlbaresAustraliaAnna Fali NEW
Silvio E RoysterGermanyAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey S RulapaughUnited Kingdom2026-07-12Buckley Miller Wright RENEWAL25Xuxue Feng
1001Kadeem N VenereCanada2026-06-30Rangoni Of Florence UNQUALIFIED31Elwin Sharvill
1002David N AmigonIndia2026-06-27Chapman, Ross E Esq NEGOTIATION95Anna Fali
1003Stacey Z DilliardGermany2026-07-05Truhlar And Truhlar Attys QUALIFIED6Asiya Javayant
1004Sinclair U PaprockiBrazil2026-07-15Buckley Miller Wright NEGOTIATION51Amy Elsner
1005Jones I FollerIndia2026-06-22Chemel, James L Cpa UNQUALIFIED46Elwin Sharvill
1006Octavia J FlosiCanada2026-06-21Feiner Bros NEW11Stephen Shaw
1007Greenwood I MacleadSpain2026-07-12Commercial Press UNQUALIFIED89Bernardo Dominic
1008Maisha Y GarufiCanada2026-07-09Benton, John B Jr RENEWAL82Asiya Javayant
1009Antonio I BologniaFrance2026-07-08Rangoni Of Florence NEGOTIATION39Ivan Magalhaes
1010Izzy W MaletFrance2026-07-15Buckley Miller Wright NEGOTIATION84Ioni Bowcher
1011Julie A ShinkoAustralia2026-06-20Feiner Bros PROPOSAL54Ivan Magalhaes
1012Costa S TollnerBrazil2026-06-16Morlong Associates QUALIFIED40Onyama Limba
1013Isabel L PoquetteArgentina2026-06-22Feiner Bros RENEWAL14Ioni Bowcher
1014Clifford M IturbideJapan2026-07-14Dorl, James J Esq RENEWAL58Ioni Bowcher
1015Morrow N RoysterUnited Kingdom2026-06-16Chapman, Ross E Esq UNQUALIFIED79Bernardo Dominic
1016Emily G SaylorsAustralia2026-07-13Feltz Printing Service NEW27Asiya Javayant
1017Alejandro Y RutaSpain2026-06-29Feiner Bros QUALIFIED17Amy Elsner
1018Claire B ShinkoFrance2026-07-12Printing Dimensions UNQUALIFIED28Xuxue Feng
1019Clifford Q StensethBrazil2026-07-06Feiner Bros NEW83Asiya Javayant
1020Wickens K MaletCanada2026-07-06Chanay, Jeffrey A Esq NEW67Bernardo Dominic
1021Ivar B InouyeIndia2026-06-21Truhlar And Truhlar Attys UNQUALIFIED21Asiya Javayant
1022Ricardo G GillianIndia2026-06-30Morlong Associates QUALIFIED72Ioni Bowcher
1023Murillo G NestleUnited Kingdom2026-07-04Chanay, Jeffrey A Esq PROPOSAL74Xuxue Feng
1024Alejandro N FerenczArgentina2026-07-01Chemel, James L Cpa RENEWAL53Xuxue Feng
1025Izzy J OstroskyArgentina2026-06-22Chanay, Jeffrey A Esq PROPOSAL30Anna Fali
1026Stacey F PerinCanada2026-07-01Benton, John B Jr RENEWAL37Anna Fali
1027Maisha X StensethCanada2026-06-20King, Christopher A Esq PROPOSAL94Xuxue Feng
1028Wickens F GarufiItaly2026-07-14Truhlar And Truhlar Attys NEW81Stephen Shaw
1029Julie H DoeCanada2026-07-01Feiner Bros PROPOSAL29Ivan Magalhaes
1030Kaitlin C RutaItaly2026-07-06Truhlar And Truhlar Attys PROPOSAL75Xuxue Feng
1031Aditya V SlusarskiFrance2026-07-07Dorl, James J Esq QUALIFIED42Amy Elsner
1032Smith S GillianCanada2026-07-08Benton, John B Jr NEW26Asiya Javayant
1033Smith K BriddickAustralia2026-06-24Feiner Bros UNQUALIFIED65Asiya Javayant
1034Aruna D WhobreyUnited Kingdom2026-07-13Dorl, James J Esq PROPOSAL56Ivan Magalhaes
1035Smith X DilliardFrance2026-06-20Rousseaux, Michael Esq PROPOSAL3Asiya Javayant
1036David N RoysterRussia2026-07-06King, Christopher A Esq QUALIFIED33Stephen Shaw
1037Ashley M CaudyIndia2026-06-17Printing Dimensions QUALIFIED75Ioni Bowcher
1038Clifford M WieserArgentina2026-06-16Commercial Press NEW47Bernardo Dominic
1039Jefferson S SlusarskiGermany2026-07-15Rangoni Of Florence NEGOTIATION9Elwin Sharvill
1040Tony Q OstroskyCanada2026-06-21Feiner Bros NEW44Elwin Sharvill
1041Francesco C ButtUnited Kingdom2026-06-30Rangoni Of Florence NEW65Xuxue Feng
1042Wickens F VenereAustralia2026-07-11Morlong Associates NEGOTIATION15Bernardo Dominic
1043Francesco W VocelkaCanada2026-06-27Morlong Associates NEW45Bernardo Dominic
1044Julie Y CaudyAustralia2026-07-14Chanay, Jeffrey A Esq RENEWAL61Anna Fali
1045Mayumi H TollnerAustralia2026-07-11Feltz Printing Service UNQUALIFIED26Onyama Limba
1046Clifford M ShinkoUnited Kingdom2026-06-16Commercial Press NEGOTIATION3Anna Fali
1047Jones G FollerFrance2026-07-11Chapman, Ross E Esq NEGOTIATION95Ivan Magalhaes
1048Johnson V BologniaBrazil2026-06-27Buckley Miller Wright PROPOSAL94Bernardo Dominic
1049Jennifer H AlbaresAustralia2026-06-24Buckley Miller Wright NEGOTIATION20Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Nicolas M FollerItalyElwin Sharvill UNQUALIFIED
Leja O SergiJapanIoni Bowcher RENEWAL
Wickens C MarrierCanadaXuxue Feng NEGOTIATION
Antonio M CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Maisha A BowleyAustraliaIoni Bowcher RENEWAL
James I WieserCanadaIvan Magalhaes UNQUALIFIED
Octavia C FerenczIndiaAsiya Javayant QUALIFIED
Leja S MarrierItalyElwin Sharvill NEGOTIATION
Alejandro S PerinAustraliaAsiya Javayant NEW
Ivar N CaudyIndiaAmy Elsner NEW
Arvin E OldroydCanadaAmy Elsner NEW
Sinclair W ButtIndiaIvan Magalhaes UNQUALIFIED
Silvio K IturbideCanadaAnna Fali NEW
Chavez O WaycottJapanBernardo Dominic NEGOTIATION
Johnson S NestleArgentinaAmy Elsner NEW
Tony H DoeCanadaIvan Magalhaes QUALIFIED
Antonio B GlickJapanAmy Elsner PROPOSAL
Aditya E BowleyCanadaIoni Bowcher QUALIFIED
Rodrigues Y GlickBrazilOnyama Limba QUALIFIED
Alejandro G PoquetteGermanyAsiya Javayant PROPOSAL
Izzy F PoquetteGermanyOnyama Limba RENEWAL
David Z VenereSpainXuxue Feng NEW
Rodrigues U SlusarskiCanadaStephen Shaw QUALIFIED
Octavia C WaycottBrazilAnna Fali QUALIFIED
Johnson F DarakjyArgentinaAmy Elsner NEW
Maria D VocelkaIndiaElwin Sharvill QUALIFIED
Ivar D DarakjySpainIvan Magalhaes RENEWAL
Alejandro V RutaAustraliaBernardo Dominic QUALIFIED
Deepesh B ShinkoGermanyAnna Fali UNQUALIFIED
Ashley D FigeroaSpainAmy Elsner NEGOTIATION
Jennifer V TollnerCanadaStephen Shaw NEW
Mayumi X SaylorsRussiaAnna Fali QUALIFIED
Alejandro O CaudyUnited KingdomAnna Fali QUALIFIED
Clifford B OstroskyCanadaXuxue Feng QUALIFIED
Smith U RulapaughFranceStephen Shaw NEW
Mujtaba L GauchoRussiaXuxue Feng RENEWAL
Cody V PoquetteAustraliaAmy Elsner NEGOTIATION
Jeanfrancois J MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Jefferson S DilliardArgentinaAnna Fali RENEWAL
Mujtaba A KolmetzCanadaAnna Fali UNQUALIFIED
Costa Y RimArgentinaAmy Elsner UNQUALIFIED
Greenwood J PaprockiAustraliaIoni Bowcher RENEWAL
Salvatore F PerinUnited KingdomOnyama Limba NEGOTIATION
Ashley S WieserBrazilAsiya Javayant QUALIFIED
Julie M SlusarskiIndiaStephen Shaw UNQUALIFIED
Jefferson H RulapaughGermanyAnna Fali PROPOSAL
Ashley N MorascaBrazilAsiya Javayant PROPOSAL
Claire W StockhamIndiaIvan Magalhaes NEGOTIATION
Silvio C PerinUnited KingdomStephen Shaw NEW
Maria Z MacleadSpainAnna Fali NEW
Frozen Columns
Name
Johnson T Kusko
Leon F Schemmer
Costa Y Foller
Jennifer Z Campain
Munro L Chui
Kadeem L Venere
Murillo K Sergi
Costa E Caldarera
Leon N Morasca
Ashley D Stockham
Ivar J Malet
Arvin I Briddick
Costa C Stockham
Ricardo G Bowley
Jennifer L Shinko
Johnson A Saylors
Adams N Dilliard
Wickens K Malet
Isabel W Foller
Darci P Flosi
Alejandro F Rim
Jennifer Q Waycott
Salvatore Y Schemmer
Kadeem C Tollner
Stacey M Slusarski
Juan W Whobrey
Alejandro H Sergi
Jennifer M Perin
Jones E Inouye
Misaki W Wieser
Nicolas G Saylors
Ivar R Malet
Leon W Inouye
Munro I Shinko
Octavia N Ruta
Isabel K Albares
Francesco M Inouye
Murillo Q Waycott
Maisha M Marrier
Jones B Marrier
Murillo R Butt
Alejandro Q Figeroa
Ivar I Campain
Smith Q Ferencz
Francesco H Doe
Octavia H Schemmer
Darci H Garufi
Julie X Waycott
David V Oldroyd
Octavia M Waycott
IdCountryDate
1000Germany2026-07-01
1001Argentina2026-06-27
1002Russia2026-07-06
1003Russia2026-06-23
1004United Kingdom2026-07-14
1005United Kingdom2026-06-20
1006France2026-07-08
1007Italy2026-07-11
1008Japan2026-07-05
1009Japan2026-07-01
1010Australia2026-07-14
1011Australia2026-07-14
1012Italy2026-06-17
1013India2026-07-13
1014Japan2026-06-18
1015United Kingdom2026-06-22
1016Italy2026-07-07
1017United Kingdom2026-06-30
1018Japan2026-07-12
1019India2026-06-27
1020Italy2026-06-25
1021Australia2026-07-01
1022Argentina2026-07-04
1023India2026-06-23
1024India2026-07-02
1025Spain2026-07-11
1026India2026-06-17
1027France2026-06-26
1028France2026-06-25
1029Brazil2026-06-25
1030France2026-06-29
1031Australia2026-06-22
1032France2026-06-18
1033Argentina2026-07-01
1034France2026-06-20
1035Spain2026-06-20
1036France2026-07-10
1037Russia2026-07-13
1038Argentina2026-07-01
1039Germany2026-06-24
1040Brazil2026-06-22
1041Argentina2026-06-23
1042Germany2026-06-26
1043Russia2026-07-15
1044Germany2026-06-21
1045Russia2026-06-27
1046Brazil2026-07-15
1047Canada2026-06-22
1048Germany2026-06-25
1049Australia2026-06-23

On-Demand Data

NameIdCountryDate
Chavez H Stenseth1000France2026-07-09
Maria B Stenseth1001United Kingdom2026-07-14
Rodrigues X Whobrey1002United Kingdom2026-07-12
Octavia A Glick1003United Kingdom2026-06-25
Kadeem K Malet1004United Kingdom2026-07-14
Ashley T Glick1005Italy2026-06-28
Leja A Vocelka1006Spain2026-07-15
Octavia N Royster1007Russia2026-07-09
Costa V Marrier1008India2026-06-25
Isabel L Stockham1009Italy2026-06-20
Wickens J Vocelka1010Japan2026-07-07
Ivar O Albares1011Canada2026-06-25
Alejandro L Caldarera1012France2026-07-06
Kadeem U Ruta1013France2026-06-23
Aruna O Flosi1014Australia2026-07-08
Leja N Rim1015Germany2026-07-12
Misaki V Garufi1016Italy2026-07-10
Jennifer R Kolmetz1017Canada2026-06-23
Isabel Y Kolmetz1018Australia2026-06-30
Maria I Malet1019Spain2026-06-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem F CaldareraFranceAsiya Javayant NEGOTIATION
Jones W MacleadItalyAnna Fali NEW
Greenwood D RulapaughBrazilOnyama Limba RENEWAL
Kadeem V BologniaAustraliaAnna Fali PROPOSAL
Wickens V WhobreyRussiaBernardo Dominic RENEWAL
Mayumi L FerenczFranceIvan Magalhaes NEGOTIATION
Cody I GauchoJapanBernardo Dominic RENEWAL
Munro V DarakjyAustraliaElwin Sharvill PROPOSAL
Octavia I StensethCanadaAnna Fali UNQUALIFIED
Francesco Z CaldareraIndiaIvan Magalhaes NEW
Cody G DoeFranceIoni Bowcher NEW
Silvio M PerinCanadaStephen Shaw QUALIFIED
Costa L GillianArgentinaIvan Magalhaes QUALIFIED
Antonio H DarakjyArgentinaStephen Shaw UNQUALIFIED
Nicolas U MaletItalyStephen Shaw RENEWAL
Ivar H SergiItalyAsiya Javayant NEGOTIATION
Smith R StockhamUnited KingdomElwin Sharvill RENEWAL
Antonio G OstroskyArgentinaAnna Fali NEW
Isabel U RutaArgentinaBernardo Dominic RENEWAL
Morrow Z AlbaresBrazilAnna Fali UNQUALIFIED
Murillo C BologniaUnited KingdomStephen Shaw NEGOTIATION
Nicolas Q WhobreySpainAsiya Javayant PROPOSAL
Arvin B PerinRussiaBernardo Dominic NEW
Isabel E SchemmerJapanAsiya Javayant PROPOSAL
Juan J NestleCanadaAnna Fali UNQUALIFIED
Stacey T ShinkoArgentinaOnyama Limba QUALIFIED
Jefferson I NickaFranceIvan Magalhaes NEW
Aditya Q FollerBrazilIoni Bowcher UNQUALIFIED
Maria M CaldareraUnited KingdomBernardo Dominic PROPOSAL
Jones T MarrierSpainElwin Sharvill RENEWAL
Ashley T RoysterRussiaOnyama Limba QUALIFIED
Alejandro Y BologniaItalyAsiya Javayant RENEWAL
Aditya X VenereAustraliaXuxue Feng RENEWAL
Francesco H GillianArgentinaOnyama Limba QUALIFIED
Chavez V FollerCanadaStephen Shaw RENEWAL
Murillo M RoysterUnited KingdomIvan Magalhaes PROPOSAL
Kadeem I ChuiFranceAsiya Javayant PROPOSAL
Sinclair R DarakjyFranceBernardo Dominic PROPOSAL
Isabel T StockhamAustraliaIoni Bowcher QUALIFIED
James N FigeroaCanadaIoni Bowcher 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>