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
Ashley X NickaRussiaIoni Bowcher NEW
Emily I CampainSpainElwin Sharvill NEW
Leon H KolmetzUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues Q GarufiAustraliaIoni Bowcher QUALIFIED
Aruna W FerenczBrazilAmy Elsner QUALIFIED
Ricardo J BologniaUnited KingdomAnna Fali NEGOTIATION
Kadeem T GlickUnited KingdomXuxue Feng RENEWAL
Adams H KolmetzIndiaElwin Sharvill PROPOSAL
Alejandro M OldroydRussiaIoni Bowcher RENEWAL
Adams V MacleadIndiaIvan Magalhaes UNQUALIFIED
James R TollnerSpainBernardo Dominic NEW
Faith T SaylorsIndiaBernardo Dominic PROPOSAL
Adams M RoysterSpainIvan Magalhaes NEW
Antonio T BowleyBrazilXuxue Feng PROPOSAL
Nicolas X BowleyUnited KingdomOnyama Limba QUALIFIED
Julie B DilliardBrazilBernardo Dominic NEGOTIATION
Aruna Z OstroskyUnited KingdomAnna Fali PROPOSAL
Kaitlin H StensethFranceXuxue Feng RENEWAL
Smith S RoysterJapanStephen Shaw NEGOTIATION
Mujtaba G TollnerRussiaBernardo Dominic RENEWAL
Ivar H TollnerItalyXuxue Feng NEGOTIATION
Antonio N FlosiSpainAnna Fali UNQUALIFIED
Tony F RimJapanBernardo Dominic NEW
James X TollnerArgentinaXuxue Feng PROPOSAL
Costa J AmigonJapanIoni Bowcher PROPOSAL
Kaitlin Z GlickCanadaBernardo Dominic NEGOTIATION
Kadeem R KuskoAustraliaOnyama Limba PROPOSAL
Kadeem I TollnerItalyElwin Sharvill QUALIFIED
Julie B CampainArgentinaIvan Magalhaes NEW
Sinclair J BriddickIndiaAsiya Javayant PROPOSAL
Deepesh P NestleItalyXuxue Feng UNQUALIFIED
Deepesh B KuskoItalyIvan Magalhaes PROPOSAL
Deepesh R RulapaughUnited KingdomIvan Magalhaes PROPOSAL
Cody L MorascaUnited KingdomXuxue Feng PROPOSAL
Izzy Q DoeSpainStephen Shaw NEGOTIATION
Maria I MacleadGermanyAnna Fali NEW
Mujtaba N PerinItalyIvan Magalhaes QUALIFIED
Silvio L StensethIndiaIoni Bowcher NEW
Ashley N CaldareraBrazilAnna Fali RENEWAL
Antonio F KuskoArgentinaIvan Magalhaes NEGOTIATION
Maisha O VenereRussiaAnna Fali NEW
Sinclair E FlosiItalyStephen Shaw UNQUALIFIED
Tony H NestleFranceBernardo Dominic UNQUALIFIED
Costa K VocelkaCanadaElwin Sharvill NEW
Izzy J DoeArgentinaAnna Fali RENEWAL
Murillo P FlosiJapanOnyama Limba UNQUALIFIED
Octavia L GillianIndiaOnyama Limba QUALIFIED
Jennifer P WhobreyAustraliaIvan Magalhaes QUALIFIED
Silvio A ChuiIndiaAnna Fali QUALIFIED
Faith V RimAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem T SlusarskiSpainBernardo Dominic RENEWAL
Mayumi N FigeroaIndiaStephen Shaw UNQUALIFIED
Antonio X VocelkaJapanXuxue Feng UNQUALIFIED
Johnson T CaudySpainIvan Magalhaes PROPOSAL
Octavia Q DilliardBrazilElwin Sharvill NEW
Jeanfrancois S AlbaresJapanXuxue Feng QUALIFIED
Tony N SchemmerAustraliaAmy Elsner QUALIFIED
David U DoeBrazilStephen Shaw UNQUALIFIED
Leon E StockhamIndiaStephen Shaw PROPOSAL
Isabel K GauchoRussiaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues P FigeroaUnited Kingdom2024-06-13Benton, John B Jr QUALIFIED92Xuxue Feng
1001Nicolas F AlbaresRussia2024-06-15King, Christopher A Esq QUALIFIED9Elwin Sharvill
1002David Z NickaFrance2024-05-28Feltz Printing Service NEW96Xuxue Feng
1003Salvatore U WieserRussia2024-06-17Chapman, Ross E Esq PROPOSAL60Asiya Javayant
1004Aditya O DoeCanada2024-06-09Feiner Bros PROPOSAL3Ioni Bowcher
1005Murillo N ChuiRussia2024-06-14Chemel, James L Cpa PROPOSAL52Stephen Shaw
1006Octavia A PerinAustralia2024-05-29Buckley Miller Wright RENEWAL72Stephen Shaw
1007Ashley T DoeAustralia2024-06-20Benton, John B Jr NEGOTIATION12Ivan Magalhaes
1008Johnson S GarufiIndia2024-06-03Rousseaux, Michael Esq PROPOSAL96Ivan Magalhaes
1009Claire S WaycottFrance2024-05-26Dorl, James J Esq RENEWAL95Bernardo Dominic
1010Faith L CaudySpain2024-06-14Chapman, Ross E Esq NEW92Ivan Magalhaes
1011Francesco A PoquetteSpain2024-06-16Rangoni Of Florence QUALIFIED42Elwin Sharvill
1012Darci Q FerenczCanada2024-06-18Feltz Printing Service NEGOTIATION12Anna Fali
1013Jefferson W ChuiAustralia2024-06-04Printing Dimensions QUALIFIED68Ivan Magalhaes
1014Arvin G PoquetteArgentina2024-06-07Rangoni Of Florence NEW88Stephen Shaw
1015Silvio E CaudySpain2024-06-10Rangoni Of Florence PROPOSAL58Bernardo Dominic
1016Greenwood G KolmetzArgentina2024-06-15Printing Dimensions UNQUALIFIED79Xuxue Feng
1017Emily Z AlbaresItaly2024-06-06Morlong Associates NEGOTIATION95Onyama Limba
1018Greenwood T RutaGermany2024-05-24Buckley Miller Wright QUALIFIED26Onyama Limba
1019Emily L BowleyGermany2024-05-26King, Christopher A Esq RENEWAL64Amy Elsner
1020Julie O BowleyIndia2024-05-30Morlong Associates NEW44Ivan Magalhaes
1021Ivar N FlosiArgentina2024-06-17Dorl, James J Esq RENEWAL18Asiya Javayant
1022Deepesh K PoquetteFrance2024-06-17Benton, John B Jr NEW50Ivan Magalhaes
1023Rodrigues T TollnerJapan2024-06-02Commercial Press RENEWAL66Asiya Javayant
1024Tony Z DoeGermany2024-06-08Feiner Bros NEW51Ivan Magalhaes
1025Munro E OstroskyUnited Kingdom2024-06-13King, Christopher A Esq NEGOTIATION78Bernardo Dominic
1026Nicolas C FigeroaFrance2024-05-28Benton, John B Jr RENEWAL3Stephen Shaw
1027Kaitlin S MaletBrazil2024-05-30Chapman, Ross E Esq PROPOSAL80Ivan Magalhaes
1028Murillo R BologniaAustralia2024-05-31Dorl, James J Esq QUALIFIED53Bernardo Dominic
1029Claire U NickaFrance2024-05-31Truhlar And Truhlar Attys RENEWAL84Elwin Sharvill
1030Aditya D FollerItaly2024-06-02Dorl, James J Esq PROPOSAL68Ioni Bowcher
1031Jefferson E FigeroaArgentina2024-06-22Chanay, Jeffrey A Esq QUALIFIED22Stephen Shaw
1032Costa K AmigonIndia2024-05-25Feiner Bros RENEWAL18Ioni Bowcher
1033Izzy O DilliardGermany2024-06-14Feiner Bros NEW62Xuxue Feng
1034Clifford R MacleadArgentina2024-06-19Benton, John B Jr RENEWAL23Anna Fali
1035Greenwood K FlosiAustralia2024-06-04Rangoni Of Florence NEGOTIATION28Asiya Javayant
1036David F KolmetzUnited Kingdom2024-06-07Morlong Associates UNQUALIFIED51Bernardo Dominic
1037Arvin N CaldareraIndia2024-06-16Dorl, James J Esq RENEWAL31Ioni Bowcher
1038Ivar W NickaSpain2024-05-28Printing Dimensions UNQUALIFIED58Ivan Magalhaes
1039Ashley W MorascaGermany2024-06-15King, Christopher A Esq QUALIFIED96Asiya Javayant
1040Jennifer B FerenczBrazil2024-06-03Commercial Press RENEWAL75Stephen Shaw
1041Aditya P PaprockiJapan2024-06-13Feltz Printing Service NEW83Asiya Javayant
1042Alejandro K FollerRussia2024-06-17Buckley Miller Wright NEGOTIATION2Stephen Shaw
1043Smith W FerenczFrance2024-06-01Benton, John B Jr RENEWAL37Elwin Sharvill
1044Johnson U VenereSpain2024-06-15Feltz Printing Service UNQUALIFIED83Xuxue Feng
1045Jennifer K SchemmerBrazil2024-06-21King, Christopher A Esq RENEWAL62Stephen Shaw
1046Julie A StockhamBrazil2024-05-26Printing Dimensions UNQUALIFIED37Onyama Limba
1047Mayumi Z VocelkaGermany2024-06-22Morlong Associates NEGOTIATION56Bernardo Dominic
1048Morrow O MorascaAustralia2024-06-22Commercial Press NEW30Xuxue Feng
1049Salvatore C SaylorsBrazil2024-05-25Commercial Press QUALIFIED70Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Francesco X SaylorsUnited KingdomXuxue Feng RENEWAL
Silvio U SchemmerRussiaAnna Fali NEGOTIATION
Salvatore V CaudyRussiaAnna Fali UNQUALIFIED
Francesco O FollerFranceIoni Bowcher NEGOTIATION
Isabel P ButtIndiaOnyama Limba QUALIFIED
Aika A WieserArgentinaStephen Shaw RENEWAL
Deepesh N NestleGermanyIvan Magalhaes NEW
Aruna J MacleadRussiaAnna Fali UNQUALIFIED
Smith Y RutaAustraliaOnyama Limba QUALIFIED
Isabel T PaprockiRussiaAmy Elsner RENEWAL
James O PerinGermanyAsiya Javayant UNQUALIFIED
Julie Q SlusarskiJapanElwin Sharvill QUALIFIED
Antonio I CaldareraJapanOnyama Limba PROPOSAL
Jefferson N AmigonIndiaXuxue Feng NEGOTIATION
Wickens Y OldroydJapanBernardo Dominic NEW
Alejandro C WieserBrazilBernardo Dominic QUALIFIED
Jones Y DilliardUnited KingdomAmy Elsner UNQUALIFIED
Jones W VocelkaArgentinaAsiya Javayant QUALIFIED
Morrow S TollnerGermanyBernardo Dominic UNQUALIFIED
Isabel L GillianIndiaAmy Elsner NEW
Jennifer I SlusarskiRussiaAnna Fali QUALIFIED
Darci N CampainAustraliaAnna Fali PROPOSAL
Clifford B RimFranceElwin Sharvill NEW
Arvin C WieserArgentinaBernardo Dominic QUALIFIED
Antonio S DoeAustraliaBernardo Dominic QUALIFIED
Tony I FlosiIndiaBernardo Dominic UNQUALIFIED
Sinclair Q RutaCanadaOnyama Limba QUALIFIED
Jeanfrancois P ButtArgentinaOnyama Limba NEW
Aditya K RimCanadaXuxue Feng RENEWAL
Misaki F PerinJapanOnyama Limba NEW
Jefferson I OldroydBrazilXuxue Feng NEW
Faith I SaylorsFranceIoni Bowcher NEW
David Q DarakjyCanadaAsiya Javayant UNQUALIFIED
Emily X SaylorsUnited KingdomStephen Shaw NEGOTIATION
Jefferson R RimGermanyXuxue Feng PROPOSAL
Deepesh G DarakjyJapanAsiya Javayant NEW
Greenwood T OldroydFranceStephen Shaw PROPOSAL
Claire J AmigonBrazilBernardo Dominic UNQUALIFIED
Alejandro M MacleadSpainIvan Magalhaes PROPOSAL
Ivar N GlickUnited KingdomOnyama Limba RENEWAL
David W MaletSpainAmy Elsner RENEWAL
Maria J CaldareraSpainOnyama Limba UNQUALIFIED
Smith E SergiJapanAnna Fali QUALIFIED
Silvio S RutaFranceOnyama Limba QUALIFIED
Wickens Y GarufiGermanyIoni Bowcher QUALIFIED
Juan D MaletCanadaIoni Bowcher UNQUALIFIED
Leon P FigeroaJapanIvan Magalhaes NEW
Leja E CaldareraSpainAnna Fali RENEWAL
Ashley M CaudyUnited KingdomIoni Bowcher UNQUALIFIED
Claire M CampainSpainBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Deepesh M Wieser
Antonio J Ruta
Ivar R Campain
Arvin I Malet
Octavia M Wieser
Arvin E Poquette
Juan U Maclead
Chavez C Albares
Salvatore J Slusarski
Wickens C Iturbide
Antonio W Morasca
Murillo B Paprocki
Costa H Gaucho
Deepesh Y Nestle
Johnson X Marrier
Morrow G Glick
Chavez I Venere
Stacey A Stockham
Salvatore S Kolmetz
Stacey R Poquette
Aditya X Doe
Deepesh W Ruta
Clifford U Nestle
Maria A Marrier
Jones X Waycott
Maisha M Venere
Jones J Doe
Stacey W Ostrosky
Claire N Sergi
Clifford N Nicka
Isabel X Malet
Kadeem I Stenseth
Tony Z Ruta
Murillo E Nestle
Silvio D Oldroyd
Greenwood F Ostrosky
Deepesh J Caudy
Misaki X Gillian
Nicolas Q Amigon
Stacey S Flosi
Ashley D Malet
Emily Y Butt
Francesco J Ferencz
Silvio L Shinko
Sinclair W Saylors
Izzy M Perin
David P Briddick
Aika R Poquette
Costa G Inouye
Francesco Z Vocelka
IdCountryDate
1000Brazil2024-06-07
1001Brazil2024-06-11
1002Canada2024-06-18
1003Russia2024-06-14
1004Argentina2024-06-13
1005Japan2024-06-01
1006Spain2024-06-19
1007Australia2024-05-26
1008United Kingdom2024-06-05
1009Australia2024-06-19
1010Japan2024-06-04
1011United Kingdom2024-06-14
1012Argentina2024-05-29
1013Italy2024-06-15
1014United Kingdom2024-06-17
1015Japan2024-06-17
1016Russia2024-06-12
1017Italy2024-06-03
1018Italy2024-06-21
1019Brazil2024-06-12
1020Canada2024-06-09
1021Spain2024-06-14
1022Brazil2024-06-01
1023Canada2024-06-13
1024Italy2024-06-10
1025Japan2024-06-18
1026India2024-06-04
1027Spain2024-05-30
1028Italy2024-06-11
1029Russia2024-06-22
1030Argentina2024-05-31
1031Canada2024-06-05
1032France2024-05-24
1033Japan2024-05-25
1034Russia2024-06-02
1035France2024-06-02
1036Japan2024-06-06
1037Japan2024-06-15
1038Australia2024-06-09
1039Argentina2024-05-24
1040Argentina2024-06-08
1041Italy2024-06-11
1042Spain2024-06-11
1043Argentina2024-05-26
1044Brazil2024-06-14
1045India2024-05-31
1046Brazil2024-06-02
1047United Kingdom2024-06-21
1048Canada2024-05-25
1049Germany2024-06-06

On-Demand Data

NameIdCountryDate
Morrow W Campain1000Italy2024-06-18
Jeanfrancois Q Morasca1001Brazil2024-06-08
Antonio A Nicka1002Canada2024-06-09
Aika R Schemmer1003Argentina2024-05-27
Johnson T Albares1004Canada2024-06-15
Jeanfrancois D Glick1005France2024-06-12
Wickens L Foller1006Argentina2024-06-11
Stacey T Sergi1007Italy2024-06-16
Jefferson Y Foller1008Australia2024-06-04
Greenwood K Briddick1009Japan2024-06-08
Juan K Saylors1010Russia2024-06-17
Kaitlin D Caldarera1011France2024-06-08
Isabel M Gaucho1012France2024-06-11
James J Malet1013Australia2024-06-12
Mayumi D Ferencz1014Brazil2024-06-18
Misaki M Nicka1015Germany2024-06-10
James X Ruta1016Brazil2024-06-20
Faith J Bowley1017Canada2024-06-21
Jefferson V Doe1018Argentina2024-05-26
Claire B Inouye1019Argentina2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams X FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Izzy X InouyeAustraliaIoni Bowcher NEW
Morrow H IturbideGermanyElwin Sharvill QUALIFIED
Mujtaba X RimBrazilAnna Fali RENEWAL
Claire N AmigonItalyElwin Sharvill PROPOSAL
Clifford C TollnerAustraliaBernardo Dominic QUALIFIED
Arvin M KolmetzFranceIoni Bowcher UNQUALIFIED
Smith F MaletBrazilXuxue Feng QUALIFIED
Deepesh Q MacleadJapanXuxue Feng UNQUALIFIED
Claire Q WaycottAustraliaStephen Shaw PROPOSAL
Aruna A RimArgentinaAsiya Javayant QUALIFIED
Antonio I SergiAustraliaStephen Shaw PROPOSAL
Mayumi N KuskoFranceBernardo Dominic UNQUALIFIED
Antonio V AlbaresItalyAnna Fali QUALIFIED
Wickens E CaudySpainIoni Bowcher UNQUALIFIED
Claire U DilliardItalyIoni Bowcher NEW
Maria D ShinkoIndiaOnyama Limba RENEWAL
Ashley C DarakjyItalyIvan Magalhaes PROPOSAL
Jones M MaletJapanAsiya Javayant QUALIFIED
Leja S ChuiAustraliaAmy Elsner UNQUALIFIED
James V MorascaUnited KingdomAmy Elsner UNQUALIFIED
Morrow Q NestleRussiaAnna Fali UNQUALIFIED
Ashley X GlickCanadaElwin Sharvill PROPOSAL
Stacey Z BriddickAustraliaAmy Elsner QUALIFIED
Costa W ChuiIndiaAmy Elsner PROPOSAL
Maria A KolmetzBrazilIvan Magalhaes UNQUALIFIED
David R MacleadFranceAsiya Javayant QUALIFIED
Jones S CaudyGermanyIvan Magalhaes PROPOSAL
Maisha B MaletCanadaAsiya Javayant NEW
Jennifer Y AlbaresAustraliaAmy Elsner UNQUALIFIED
Isabel R SchemmerAustraliaElwin Sharvill NEGOTIATION
James P PaprockiRussiaOnyama Limba NEGOTIATION
Morrow E SergiUnited KingdomStephen Shaw NEGOTIATION
Smith Y FollerItalyIvan Magalhaes NEGOTIATION
Mujtaba B NestleJapanBernardo Dominic RENEWAL
Adams O GauchoSpainAsiya Javayant NEW
Greenwood D AmigonRussiaIvan Magalhaes RENEWAL
Isabel K NickaCanadaIoni Bowcher QUALIFIED
Darci L BowleyIndiaElwin Sharvill PROPOSAL
Emily Y NestleSpainXuxue Feng 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">
            <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>