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
Claire D RimUnited KingdomXuxue Feng QUALIFIED
Munro P WaycottItalyOnyama Limba RENEWAL
Aruna B MacleadGermanyAsiya Javayant PROPOSAL
Sinclair T NickaSpainIvan Magalhaes UNQUALIFIED
Aditya V FollerCanadaAmy Elsner NEW
Aditya L RoysterAustraliaBernardo Dominic RENEWAL
Aruna M OldroydItalyBernardo Dominic NEGOTIATION
Isabel R NestleAustraliaIvan Magalhaes UNQUALIFIED
Kadeem S SlusarskiBrazilAmy Elsner QUALIFIED
Adams M SchemmerRussiaAmy Elsner UNQUALIFIED
Salvatore G WhobreyFranceAnna Fali PROPOSAL
Francesco K InouyeSpainIvan Magalhaes RENEWAL
Sinclair W GlickArgentinaAsiya Javayant QUALIFIED
Leon A ShinkoItalyBernardo Dominic NEW
Ashley V FigeroaJapanIoni Bowcher RENEWAL
Deepesh S RoysterRussiaAmy Elsner UNQUALIFIED
Isabel U DilliardSpainStephen Shaw PROPOSAL
Nicolas A OstroskyBrazilIoni Bowcher NEGOTIATION
Julie T PoquetteUnited KingdomAmy Elsner NEGOTIATION
Munro W GlickIndiaBernardo Dominic RENEWAL
Clifford V MarrierCanadaAmy Elsner NEW
Isabel I RimIndiaAmy Elsner UNQUALIFIED
Ashley J CampainJapanStephen Shaw NEW
Johnson G PaprockiAustraliaStephen Shaw RENEWAL
Costa O GarufiBrazilIoni Bowcher RENEWAL
Stacey K NestleRussiaIvan Magalhaes PROPOSAL
Octavia Q FlosiFranceBernardo Dominic NEW
Ivar V NestleArgentinaOnyama Limba QUALIFIED
Costa P ShinkoBrazilOnyama Limba NEW
Chavez N PaprockiArgentinaAsiya Javayant NEW
Mujtaba E CampainRussiaAnna Fali QUALIFIED
Jefferson T SaylorsJapanXuxue Feng PROPOSAL
Juan S MorascaItalyElwin Sharvill QUALIFIED
Jeanfrancois C FollerAustraliaOnyama Limba NEGOTIATION
Deepesh H PoquetteArgentinaOnyama Limba PROPOSAL
Rodrigues M FigeroaBrazilAmy Elsner PROPOSAL
Deepesh F RoysterGermanyIoni Bowcher NEW
Maisha Z BriddickJapanIoni Bowcher QUALIFIED
Leja I KolmetzBrazilAnna Fali NEW
Deepesh A KolmetzRussiaAnna Fali PROPOSAL
Cody W KolmetzBrazilStephen Shaw QUALIFIED
Aditya F PoquetteFranceXuxue Feng PROPOSAL
Stacey G GauchoUnited KingdomAsiya Javayant UNQUALIFIED
Cody X GlickJapanIoni Bowcher UNQUALIFIED
Deepesh F GarufiBrazilIoni Bowcher PROPOSAL
Kaitlin O TollnerAustraliaElwin Sharvill RENEWAL
Jones F FerenczUnited KingdomIoni Bowcher UNQUALIFIED
Greenwood O WieserArgentinaElwin Sharvill NEGOTIATION
Cody P BowleyUnited KingdomIvan Magalhaes RENEWAL
Jones Y MarrierAustraliaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maisha O AmigonFranceAmy Elsner QUALIFIED
Ricardo J NestleItalyIvan Magalhaes NEW
Ivar W GlickAustraliaOnyama Limba NEW
Leon Q MaletUnited KingdomStephen Shaw NEW
Kadeem C RoysterCanadaStephen Shaw NEGOTIATION
Darci H MaletSpainXuxue Feng PROPOSAL
Leja Z IturbideJapanAsiya Javayant NEGOTIATION
Maria B MorascaCanadaXuxue Feng QUALIFIED
Emily K ButtUnited KingdomAsiya Javayant QUALIFIED
Clifford N IturbideBrazilIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio T GlickJapan2024-06-14Chapman, Ross E Esq NEW38Asiya Javayant
1001Kadeem T AmigonArgentina2024-05-28Rangoni Of Florence QUALIFIED57Stephen Shaw
1002Kadeem I StensethUnited Kingdom2024-05-22Buckley Miller Wright NEGOTIATION52Ioni Bowcher
1003Cody W BriddickAustralia2024-06-09Rangoni Of Florence PROPOSAL30Asiya Javayant
1004Sinclair Z CaudyIndia2024-06-04Morlong Associates UNQUALIFIED48Amy Elsner
1005Claire W OldroydBrazil2024-05-26Benton, John B Jr UNQUALIFIED19Elwin Sharvill
1006David Q PaprockiArgentina2024-06-13Truhlar And Truhlar Attys PROPOSAL67Ioni Bowcher
1007Jeanfrancois P MaletAustralia2024-05-26Chanay, Jeffrey A Esq NEW19Anna Fali
1008Jeanfrancois U RimRussia2024-05-30Truhlar And Truhlar Attys RENEWAL14Asiya Javayant
1009Johnson H RutaFrance2024-05-25Printing Dimensions NEGOTIATION70Stephen Shaw
1010Silvio V WaycottAustralia2024-06-14King, Christopher A Esq NEGOTIATION86Amy Elsner
1011Cody S BologniaGermany2024-05-23Feiner Bros PROPOSAL32Asiya Javayant
1012Tony D AlbaresSpain2024-06-10Truhlar And Truhlar Attys RENEWAL14Asiya Javayant
1013Octavia P SaylorsArgentina2024-05-27Printing Dimensions NEW97Bernardo Dominic
1014Maria L NickaUnited Kingdom2024-06-08Truhlar And Truhlar Attys NEGOTIATION61Asiya Javayant
1015David Q FlosiGermany2024-05-22Benton, John B Jr NEGOTIATION48Ioni Bowcher
1016Aika A InouyeFrance2024-06-11Chapman, Ross E Esq PROPOSAL87Anna Fali
1017Morrow F StockhamAustralia2024-06-10Chemel, James L Cpa NEGOTIATION47Elwin Sharvill
1018Ricardo W OldroydIndia2024-06-18Feltz Printing Service NEGOTIATION45Stephen Shaw
1019Aditya T NickaAustralia2024-06-11Benton, John B Jr NEW23Elwin Sharvill
1020Aruna X WhobreyBrazil2024-06-02Feiner Bros QUALIFIED24Ioni Bowcher
1021Jennifer D FigeroaJapan2024-06-15Morlong Associates UNQUALIFIED79Stephen Shaw
1022Chavez H DoeJapan2024-06-05Feiner Bros RENEWAL64Elwin Sharvill
1023Deepesh Q VenereGermany2024-06-15Printing Dimensions NEGOTIATION55Onyama Limba
1024David I StensethJapan2024-06-11Chanay, Jeffrey A Esq NEGOTIATION82Ioni Bowcher
1025Arvin J PaprockiFrance2024-05-30King, Christopher A Esq QUALIFIED45Xuxue Feng
1026Johnson L NickaAustralia2024-06-10Rangoni Of Florence UNQUALIFIED63Amy Elsner
1027Izzy A StensethGermany2024-05-26Buckley Miller Wright QUALIFIED90Ioni Bowcher
1028Darci Z CaldareraSpain2024-06-16Commercial Press RENEWAL98Onyama Limba
1029Rodrigues G NickaSpain2024-05-24Dorl, James J Esq NEW95Amy Elsner
1030Jeanfrancois A CaudySpain2024-06-08Feltz Printing Service NEW49Stephen Shaw
1031Jefferson U StensethArgentina2024-05-26Truhlar And Truhlar Attys QUALIFIED79Stephen Shaw
1032Deepesh J AmigonCanada2024-06-11Feltz Printing Service NEGOTIATION29Onyama Limba
1033Maisha S StockhamArgentina2024-05-30Rousseaux, Michael Esq PROPOSAL35Elwin Sharvill
1034Octavia H FigeroaAustralia2024-05-23Commercial Press PROPOSAL25Bernardo Dominic
1035Silvio E VenereBrazil2024-05-27Chanay, Jeffrey A Esq PROPOSAL31Anna Fali
1036Chavez P MarrierItaly2024-06-18Feltz Printing Service RENEWAL26Ivan Magalhaes
1037Adams E CaldareraIndia2024-06-09Commercial Press QUALIFIED73Ioni Bowcher
1038Adams I RoysterSpain2024-06-02Rousseaux, Michael Esq UNQUALIFIED10Ioni Bowcher
1039Alejandro W OldroydGermany2024-05-31Buckley Miller Wright NEW39Ivan Magalhaes
1040Kadeem A BriddickGermany2024-06-09Rousseaux, Michael Esq PROPOSAL62Onyama Limba
1041Jones E MaletItaly2024-05-27Feltz Printing Service QUALIFIED4Bernardo Dominic
1042Francesco S RulapaughFrance2024-06-04Dorl, James J Esq QUALIFIED8Ivan Magalhaes
1043Arvin Q SaylorsItaly2024-05-25Chapman, Ross E Esq PROPOSAL23Ioni Bowcher
1044Julie R RutaFrance2024-06-12Rousseaux, Michael Esq RENEWAL36Anna Fali
1045Murillo C AmigonItaly2024-05-28Feiner Bros NEGOTIATION46Anna Fali
1046Jones F NickaAustralia2024-06-18Chemel, James L Cpa UNQUALIFIED32Ioni Bowcher
1047Izzy X OstroskyJapan2024-05-20Chemel, James L Cpa NEGOTIATION41Xuxue Feng
1048Aditya A SergiArgentina2024-06-17Chemel, James L Cpa PROPOSAL45Asiya Javayant
1049Aika D RoysterArgentina2024-06-10Rousseaux, Michael Esq UNQUALIFIED76Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Deepesh M WaycottAustraliaXuxue Feng PROPOSAL
Darci N RimSpainIoni Bowcher NEW
Kaitlin V BriddickIndiaXuxue Feng UNQUALIFIED
Wickens U BriddickCanadaAmy Elsner RENEWAL
Mayumi A MacleadUnited KingdomBernardo Dominic NEGOTIATION
Jefferson O ShinkoJapanOnyama Limba QUALIFIED
Emily X InouyeGermanyBernardo Dominic UNQUALIFIED
Julie B InouyeCanadaXuxue Feng PROPOSAL
Maisha N WhobreyCanadaAmy Elsner NEW
Stacey H GlickSpainOnyama Limba PROPOSAL
Deepesh G FigeroaUnited KingdomIvan Magalhaes NEW
Ivar I VenereIndiaElwin Sharvill QUALIFIED
Munro L NickaArgentinaAsiya Javayant NEW
Salvatore A GauchoAustraliaBernardo Dominic QUALIFIED
Alejandro N InouyeJapanStephen Shaw QUALIFIED
Juan C MacleadSpainAnna Fali QUALIFIED
Rodrigues H FerenczJapanAnna Fali RENEWAL
Juan W VocelkaRussiaBernardo Dominic PROPOSAL
Antonio N GarufiAustraliaIoni Bowcher NEW
Octavia G FlosiCanadaAmy Elsner PROPOSAL
Aika D SchemmerItalyAsiya Javayant NEGOTIATION
Aika J WhobreyIndiaStephen Shaw NEW
Salvatore O GlickRussiaAnna Fali NEGOTIATION
Alejandro L DoeArgentinaAsiya Javayant RENEWAL
Jeanfrancois E SlusarskiCanadaAsiya Javayant NEW
Munro O CaudyItalyElwin Sharvill PROPOSAL
Leon F MarrierUnited KingdomBernardo Dominic PROPOSAL
Julie N WhobreyItalyOnyama Limba RENEWAL
Misaki V StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Juan W NickaBrazilBernardo Dominic NEGOTIATION
Tony R MaletUnited KingdomXuxue Feng UNQUALIFIED
Maisha X DilliardAustraliaIvan Magalhaes QUALIFIED
Octavia R TollnerFranceStephen Shaw QUALIFIED
Aditya S InouyeFranceOnyama Limba NEGOTIATION
Alejandro A DilliardSpainAsiya Javayant UNQUALIFIED
Isabel L OstroskyGermanyBernardo Dominic NEGOTIATION
Emily L NestleCanadaAnna Fali NEGOTIATION
Aditya V InouyeCanadaIvan Magalhaes UNQUALIFIED
Salvatore Y DilliardJapanAmy Elsner PROPOSAL
Jones Z SergiJapanBernardo Dominic RENEWAL
Ivar D OldroydAustraliaAnna Fali QUALIFIED
Munro Q OstroskySpainAsiya Javayant UNQUALIFIED
Johnson X RoysterArgentinaIvan Magalhaes NEW
Emily E SergiIndiaElwin Sharvill NEW
Aditya R CaudyJapanXuxue Feng RENEWAL
Adams N PaprockiBrazilOnyama Limba PROPOSAL
Antonio F SlusarskiSpainIoni Bowcher RENEWAL
Leon M IturbideUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood T GauchoJapanAmy Elsner PROPOSAL
Clifford F InouyeUnited KingdomIvan Magalhaes NEW
Frozen Columns
Name
Kaitlin T Stenseth
Izzy K Nicka
Jones W Amigon
James W Oldroyd
Arvin G Oldroyd
Costa N Nicka
Smith V Stockham
Leja Q Royster
James X Briddick
Adams M Gaucho
Clifford R Perin
Rodrigues G Waycott
Octavia J Bowley
Julie P Nicka
David J Iturbide
Antonio B Chui
Costa C Flosi
James H Inouye
Jennifer X Bolognia
James W Shinko
Cody K Schemmer
Stacey Y Bolognia
Arvin H Nicka
James Q Figeroa
Antonio C Gaucho
Rodrigues L Iturbide
David J Caudy
Munro Q Nestle
Leon U Campain
Silvio D Sergi
Tony N Glick
Murillo A Nestle
Maisha X Oldroyd
Arvin E Wieser
Ashley W Chui
Wickens Y Shinko
Misaki M Bolognia
Maria T Rim
Greenwood U Gaucho
Leja W Inouye
Emily D Whobrey
Kaitlin C Foller
Faith F Caldarera
Julie W Caldarera
Ashley A Vocelka
Mujtaba H Stockham
David G Ostrosky
Jefferson G Nicka
Greenwood K Briddick
Mayumi Z Foller
IdCountryDate
1000Spain2024-06-04
1001Australia2024-05-30
1002Spain2024-06-16
1003Spain2024-06-06
1004United Kingdom2024-06-08
1005France2024-06-10
1006Brazil2024-06-16
1007Canada2024-06-12
1008Russia2024-05-29
1009Japan2024-06-14
1010Germany2024-06-04
1011Italy2024-05-23
1012Spain2024-06-02
1013Italy2024-06-08
1014Russia2024-05-20
1015India2024-06-03
1016Argentina2024-06-06
1017Australia2024-06-04
1018France2024-06-17
1019India2024-05-30
1020Russia2024-06-17
1021Germany2024-06-02
1022Russia2024-06-18
1023Australia2024-06-08
1024Spain2024-06-14
1025Spain2024-06-14
1026Canada2024-05-28
1027India2024-06-17
1028Germany2024-06-08
1029Spain2024-06-12
1030Argentina2024-05-29
1031Spain2024-06-09
1032Argentina2024-05-28
1033Japan2024-05-29
1034India2024-05-27
1035Canada2024-06-14
1036Germany2024-06-07
1037Germany2024-05-26
1038Japan2024-06-06
1039Canada2024-05-20
1040Japan2024-06-09
1041United Kingdom2024-06-10
1042France2024-06-13
1043United Kingdom2024-06-09
1044France2024-06-16
1045Japan2024-06-18
1046Russia2024-06-02
1047Germany2024-06-08
1048India2024-05-28
1049India2024-06-01

On-Demand Data

NameIdCountryDate
Arvin Z Dilliard1000Germany2024-05-26
Deepesh K Albares1001India2024-06-12
Morrow X Foller1002Brazil2024-05-24
Darci V Marrier1003United Kingdom2024-06-17
Rodrigues J Dilliard1004United Kingdom2024-05-22
Murillo O Wieser1005Spain2024-05-21
Cody U Kolmetz1006Canada2024-06-08
Silvio V Paprocki1007United Kingdom2024-06-01
Jennifer Z Malet1008Russia2024-05-22
Mujtaba J Chui1009United Kingdom2024-05-26
Munro Z Gillian1010Italy2024-06-08
Smith Z Albares1011Spain2024-05-25
Aditya J Malet1012Spain2024-06-03
Rodrigues L Tollner1013Russia2024-06-13
Tony W Perin1014Australia2024-05-30
Johnson S Rulapaugh1015Japan2024-05-22
Morrow J Campain1016Canada2024-06-09
Tony W Ruta1017Australia2024-05-23
Deepesh P Butt1018Italy2024-06-10
Julie T Maclead1019India2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony B NestleJapanIoni Bowcher RENEWAL
Ivar T RoysterCanadaElwin Sharvill NEGOTIATION
David K RimJapanAsiya Javayant NEGOTIATION
James I KolmetzArgentinaAsiya Javayant QUALIFIED
James I SlusarskiSpainStephen Shaw RENEWAL
Rodrigues Q MarrierRussiaIoni Bowcher NEW
Leon Y KolmetzIndiaIvan Magalhaes QUALIFIED
Mujtaba Y KolmetzJapanElwin Sharvill RENEWAL
Kaitlin X WhobreyBrazilIoni Bowcher PROPOSAL
Maria X SaylorsIndiaElwin Sharvill UNQUALIFIED
Darci X ButtFranceIvan Magalhaes QUALIFIED
Misaki W WhobreySpainIoni Bowcher NEGOTIATION
Kadeem R WaycottBrazilAnna Fali UNQUALIFIED
Alejandro R DoeIndiaIoni Bowcher RENEWAL
Darci G InouyeSpainAmy Elsner NEW
Aruna A OldroydRussiaAsiya Javayant RENEWAL
Ashley G PoquetteIndiaIoni Bowcher RENEWAL
Julie V PoquetteSpainAmy Elsner UNQUALIFIED
Kaitlin N ShinkoAustraliaIoni Bowcher QUALIFIED
Claire S GauchoBrazilAnna Fali QUALIFIED
Johnson W WieserGermanyAmy Elsner QUALIFIED
Stacey J PaprockiArgentinaXuxue Feng NEW
Misaki Z StockhamRussiaStephen Shaw QUALIFIED
Jefferson H DoeSpainIvan Magalhaes NEW
Isabel K NickaIndiaAnna Fali NEGOTIATION
Tony J SergiBrazilAnna Fali RENEWAL
Isabel B WieserItalyOnyama Limba NEGOTIATION
Juan T KuskoItalyBernardo Dominic UNQUALIFIED
Leon Y RimUnited KingdomBernardo Dominic PROPOSAL
Emily P GillianAustraliaStephen Shaw NEW
Ricardo C DoeGermanyStephen Shaw UNQUALIFIED
Kadeem N MarrierBrazilStephen Shaw UNQUALIFIED
Rodrigues J VenereJapanXuxue Feng NEW
Deepesh E OstroskySpainXuxue Feng RENEWAL
Chavez J OstroskyItalyStephen Shaw NEW
Munro U MaletCanadaBernardo Dominic RENEWAL
Costa T OstroskyArgentinaAmy Elsner UNQUALIFIED
Smith L TollnerJapanIoni Bowcher RENEWAL
Francesco O ButtSpainAsiya Javayant NEGOTIATION
Rodrigues A RoysterArgentinaOnyama Limba RENEWAL

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