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
Emily A MaletBrazilBernardo Dominic QUALIFIED
Jennifer R WaycottAustraliaStephen Shaw PROPOSAL
Cody H FollerItalyXuxue Feng NEGOTIATION
Kadeem O NickaFranceAsiya Javayant PROPOSAL
Darci K MaletArgentinaIvan Magalhaes UNQUALIFIED
Murillo F DilliardGermanyBernardo Dominic QUALIFIED
Aruna U NickaAustraliaBernardo Dominic NEGOTIATION
Emily D FerenczJapanElwin Sharvill UNQUALIFIED
Leja Q IturbideItalyAmy Elsner RENEWAL
Isabel T DoeGermanyStephen Shaw PROPOSAL
Maisha Z KolmetzArgentinaOnyama Limba NEW
Morrow O KuskoRussiaIvan Magalhaes RENEWAL
Wickens H TollnerJapanBernardo Dominic PROPOSAL
Faith Z RimUnited KingdomXuxue Feng NEGOTIATION
Antonio U StensethBrazilIoni Bowcher PROPOSAL
Cody O StockhamFranceAmy Elsner UNQUALIFIED
Emily P RoysterIndiaOnyama Limba NEGOTIATION
Maisha W VocelkaAustraliaAsiya Javayant NEW
Alejandro X TollnerIndiaAsiya Javayant NEW
Morrow L BowleyCanadaIoni Bowcher RENEWAL
Jefferson A BowleyUnited KingdomAnna Fali UNQUALIFIED
Cody L MarrierBrazilBernardo Dominic PROPOSAL
Greenwood I ButtBrazilIvan Magalhaes PROPOSAL
James O NestleCanadaIvan Magalhaes RENEWAL
Morrow W VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Maria D OldroydJapanIvan Magalhaes NEGOTIATION
Octavia N FollerUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois R AlbaresArgentinaIoni Bowcher PROPOSAL
Cody Z BowleyCanadaAmy Elsner UNQUALIFIED
Smith Z SaylorsIndiaIvan Magalhaes UNQUALIFIED
Ashley D RutaCanadaIvan Magalhaes NEW
Costa F SchemmerCanadaOnyama Limba UNQUALIFIED
Rodrigues C MacleadFranceAsiya Javayant PROPOSAL
Octavia M CaudyCanadaAnna Fali UNQUALIFIED
Salvatore E AmigonFranceIoni Bowcher UNQUALIFIED
Murillo D PaprockiJapanIvan Magalhaes NEGOTIATION
Misaki L NestleRussiaIoni Bowcher NEW
Maria J NickaGermanyIvan Magalhaes PROPOSAL
Murillo M WaycottFranceAsiya Javayant NEGOTIATION
Mujtaba P MacleadBrazilBernardo Dominic PROPOSAL
Salvatore G ShinkoCanadaXuxue Feng NEGOTIATION
Rodrigues A FerenczFranceOnyama Limba PROPOSAL
Munro U VenereBrazilAmy Elsner PROPOSAL
Ivar S VenereCanadaAmy Elsner UNQUALIFIED
Aditya F GlickAustraliaOnyama Limba NEGOTIATION
Silvio N BriddickArgentinaOnyama Limba QUALIFIED
Mujtaba D AlbaresArgentinaOnyama Limba NEW
Leja U WhobreyCanadaStephen Shaw NEGOTIATION
Francesco F KuskoUnited KingdomAsiya Javayant NEGOTIATION
Jennifer R MacleadFranceAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Misaki X PerinIndiaAsiya Javayant RENEWAL
Johnson S SchemmerSpainXuxue Feng QUALIFIED
Juan Y NestleCanadaBernardo Dominic RENEWAL
Kaitlin E RoysterArgentinaAsiya Javayant NEW
Clifford N GlickCanadaAsiya Javayant PROPOSAL
James K ChuiRussiaAnna Fali QUALIFIED
Tony M ShinkoItalyAsiya Javayant NEGOTIATION
Sinclair O ButtCanadaIvan Magalhaes QUALIFIED
Aika O ChuiUnited KingdomBernardo Dominic NEW
Francesco I BriddickItalyIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin U MorascaFrance2024-06-06Chapman, Ross E Esq UNQUALIFIED68Amy Elsner
1001Kaitlin P PerinRussia2024-06-12Chapman, Ross E Esq UNQUALIFIED89Asiya Javayant
1002Johnson Y RimFrance2024-06-01Feltz Printing Service NEW64Anna Fali
1003Jones L MaletBrazil2024-06-06Chemel, James L Cpa PROPOSAL5Ioni Bowcher
1004Kadeem A OstroskyArgentina2024-06-02Buckley Miller Wright RENEWAL85Asiya Javayant
1005Cody V PerinCanada2024-05-29Feltz Printing Service RENEWAL24Bernardo Dominic
1006Johnson P TollnerRussia2024-06-11Buckley Miller Wright RENEWAL79Amy Elsner
1007Ivar B VocelkaArgentina2024-06-01Printing Dimensions NEW59Anna Fali
1008Alejandro S GlickRussia2024-06-11Dorl, James J Esq QUALIFIED11Ivan Magalhaes
1009Adams S TollnerUnited Kingdom2024-05-28Feiner Bros QUALIFIED75Anna Fali
1010Ashley T PaprockiBrazil2024-05-26Benton, John B Jr UNQUALIFIED57Amy Elsner
1011Misaki E CaldareraBrazil2024-06-16Commercial Press RENEWAL61Stephen Shaw
1012Jennifer P CaldareraSpain2024-05-27Benton, John B Jr PROPOSAL58Elwin Sharvill
1013Juan T RimFrance2024-06-18Truhlar And Truhlar Attys NEGOTIATION45Elwin Sharvill
1014Greenwood G NickaFrance2024-06-02Rousseaux, Michael Esq RENEWAL99Stephen Shaw
1015Alejandro Y KolmetzJapan2024-05-31Chanay, Jeffrey A Esq RENEWAL76Elwin Sharvill
1016Mujtaba O RulapaughBrazil2024-05-28Rangoni Of Florence QUALIFIED32Ioni Bowcher
1017Darci D GlickCanada2024-06-12Morlong Associates NEW85Asiya Javayant
1018Morrow T AmigonJapan2024-06-06Dorl, James J Esq NEGOTIATION88Ivan Magalhaes
1019Greenwood F ChuiIndia2024-06-11Dorl, James J Esq UNQUALIFIED68Asiya Javayant
1020Mayumi N NickaSpain2024-06-19Feltz Printing Service NEGOTIATION19Onyama Limba
1021Nicolas A SergiGermany2024-05-25Rousseaux, Michael Esq QUALIFIED83Bernardo Dominic
1022Nicolas G PerinSpain2024-06-15Buckley Miller Wright RENEWAL58Asiya Javayant
1023Costa T MaletArgentina2024-05-24Buckley Miller Wright RENEWAL34Ioni Bowcher
1024Juan H BriddickFrance2024-06-10Printing Dimensions QUALIFIED50Ivan Magalhaes
1025Tony E GarufiIndia2024-06-16Feiner Bros UNQUALIFIED78Elwin Sharvill
1026Murillo B SlusarskiUnited Kingdom2024-06-16Dorl, James J Esq RENEWAL58Elwin Sharvill
1027Juan I IturbideCanada2024-06-11Dorl, James J Esq PROPOSAL12Anna Fali
1028Mujtaba E RulapaughBrazil2024-06-14Chemel, James L Cpa PROPOSAL64Bernardo Dominic
1029David A KolmetzBrazil2024-05-27King, Christopher A Esq NEGOTIATION46Amy Elsner
1030Munro Y NickaSpain2024-06-17Chapman, Ross E Esq NEW35Stephen Shaw
1031Faith I WaycottIndia2024-06-04Truhlar And Truhlar Attys RENEWAL66Ivan Magalhaes
1032Morrow S CampainBrazil2024-06-21Morlong Associates UNQUALIFIED82Anna Fali
1033Aditya R DarakjyAustralia2024-06-14King, Christopher A Esq PROPOSAL29Onyama Limba
1034Izzy L SaylorsItaly2024-06-16Feltz Printing Service PROPOSAL98Asiya Javayant
1035Mayumi O OldroydIndia2024-06-16Chapman, Ross E Esq PROPOSAL17Ioni Bowcher
1036Jefferson I ChuiGermany2024-06-22Dorl, James J Esq QUALIFIED63Amy Elsner
1037Maisha I BologniaBrazil2024-06-18Rousseaux, Michael Esq PROPOSAL65Bernardo Dominic
1038Francesco T CaudyIndia2024-05-28Printing Dimensions NEGOTIATION90Anna Fali
1039Salvatore F OstroskyArgentina2024-06-05Printing Dimensions NEW89Ivan Magalhaes
1040Morrow I WaycottUnited Kingdom2024-06-11Dorl, James J Esq RENEWAL81Onyama Limba
1041Johnson F NestleCanada2024-06-07Truhlar And Truhlar Attys NEGOTIATION27Ivan Magalhaes
1042Leon Z AmigonIndia2024-05-25Feltz Printing Service PROPOSAL9Onyama Limba
1043Juan K OstroskyUnited Kingdom2024-06-13King, Christopher A Esq NEW13Amy Elsner
1044Silvio B BowleyIndia2024-06-11Rangoni Of Florence PROPOSAL75Onyama Limba
1045Clifford U SaylorsJapan2024-05-25Benton, John B Jr UNQUALIFIED73Amy Elsner
1046Sinclair X KuskoIndia2024-06-08Truhlar And Truhlar Attys NEGOTIATION66Bernardo Dominic
1047Antonio S PerinArgentina2024-05-27Truhlar And Truhlar Attys NEGOTIATION92Asiya Javayant
1048Chavez C PerinCanada2024-05-27Buckley Miller Wright RENEWAL10Anna Fali
1049Emily B BowleyArgentina2024-05-24Feiner Bros RENEWAL18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Greenwood A RutaCanadaXuxue Feng PROPOSAL
Ashley Y NestleSpainStephen Shaw RENEWAL
Ricardo H GillianItalyXuxue Feng PROPOSAL
Kaitlin Y GauchoJapanIvan Magalhaes QUALIFIED
Julie Z CaldareraFranceElwin Sharvill NEGOTIATION
Mayumi D ButtAustraliaAsiya Javayant NEGOTIATION
Faith U FollerBrazilXuxue Feng NEW
Maisha Y TollnerFranceAnna Fali PROPOSAL
Murillo S KuskoCanadaIoni Bowcher NEGOTIATION
Nicolas E VenereSpainIoni Bowcher PROPOSAL
Jefferson G WhobreyFranceOnyama Limba QUALIFIED
Morrow H WieserRussiaOnyama Limba QUALIFIED
Arvin G GarufiArgentinaBernardo Dominic RENEWAL
Stacey N MaletIndiaIvan Magalhaes PROPOSAL
Ivar X PoquetteItalyAsiya Javayant RENEWAL
Aika K PaprockiCanadaIvan Magalhaes NEW
Claire J IturbideUnited KingdomXuxue Feng UNQUALIFIED
Stacey Z CaudyItalyIvan Magalhaes UNQUALIFIED
Greenwood P RutaAustraliaOnyama Limba RENEWAL
David M SchemmerAustraliaStephen Shaw UNQUALIFIED
Jefferson G VocelkaUnited KingdomElwin Sharvill NEW
Maria Q InouyeAustraliaElwin Sharvill UNQUALIFIED
Deepesh A PoquetteGermanyXuxue Feng QUALIFIED
Francesco S BologniaSpainElwin Sharvill NEW
Leja N FigeroaAustraliaAmy Elsner UNQUALIFIED
Ivar A WhobreyJapanAmy Elsner RENEWAL
Wickens D ShinkoItalyOnyama Limba NEGOTIATION
James C FollerRussiaOnyama Limba NEW
Alejandro O SergiArgentinaBernardo Dominic NEW
Morrow R MaletAustraliaXuxue Feng QUALIFIED
Aruna Q AmigonJapanOnyama Limba QUALIFIED
Jennifer F MarrierIndiaIoni Bowcher NEGOTIATION
Smith O KuskoAustraliaIoni Bowcher QUALIFIED
Murillo L TollnerIndiaIoni Bowcher QUALIFIED
Mujtaba L CaudyFranceAnna Fali PROPOSAL
Antonio H FlosiIndiaStephen Shaw NEGOTIATION
Octavia U CampainRussiaStephen Shaw PROPOSAL
Deepesh L VenereAustraliaIvan Magalhaes RENEWAL
Arvin K MaletCanadaAmy Elsner QUALIFIED
Julie A ButtBrazilAmy Elsner NEW
David K GauchoGermanyIvan Magalhaes NEW
Stacey N RimBrazilElwin Sharvill PROPOSAL
Sinclair H MarrierItalyAmy Elsner NEGOTIATION
Misaki P PaprockiArgentinaElwin Sharvill RENEWAL
Silvio E CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Clifford R FigeroaSpainAnna Fali UNQUALIFIED
Izzy D WieserGermanyIvan Magalhaes QUALIFIED
Tony Q FigeroaArgentinaBernardo Dominic NEW
Ivar D BowleyUnited KingdomXuxue Feng NEGOTIATION
Aditya R PoquetteCanadaAnna Fali RENEWAL
Frozen Columns
Name
Aditya E Glick
Cody W Perin
Jefferson U Iturbide
Ivar M Perin
Wickens H Caudy
Rodrigues J Marrier
Morrow M Waycott
Nicolas V Flosi
Clifford Z Morasca
Adams F Schemmer
Chavez Z Briddick
Izzy A Dilliard
Francesco A Wieser
Emily Y Flosi
Mujtaba F Morasca
David G Stenseth
Kadeem J Garufi
Kaitlin X Gaucho
Faith L Maclead
Munro Y Whobrey
Cody P Tollner
Nicolas V Whobrey
Adams S Waycott
Mayumi T Caudy
Johnson U Wieser
Faith Z Shinko
Alejandro F Vocelka
Munro I Royster
Leja D Amigon
Jennifer O Maclead
Maria T Glick
Juan R Garufi
Kaitlin Z Gillian
Izzy G Royster
Silvio B Caldarera
Stacey K Caldarera
Nicolas N Inouye
Morrow X Saylors
Julie L Stenseth
Julie V Garufi
Sinclair E Paprocki
Kaitlin X Slusarski
Juan C Oldroyd
Juan C Bowley
Jeanfrancois Z Albares
Maisha A Ostrosky
Alejandro P Perin
Clifford H Bolognia
Darci O Royster
Johnson M Vocelka
IdCountryDate
1000Argentina2024-06-20
1001Russia2024-06-10
1002India2024-06-06
1003India2024-06-07
1004India2024-06-20
1005Germany2024-06-01
1006Italy2024-06-10
1007Japan2024-06-21
1008Italy2024-06-08
1009Italy2024-06-15
1010Japan2024-06-18
1011France2024-06-21
1012Canada2024-06-13
1013Germany2024-05-26
1014Australia2024-06-03
1015Spain2024-05-24
1016Spain2024-06-01
1017Australia2024-06-22
1018Japan2024-06-07
1019United Kingdom2024-06-12
1020Spain2024-05-31
1021Australia2024-06-22
1022Canada2024-06-06
1023Italy2024-05-28
1024Spain2024-06-06
1025Argentina2024-06-15
1026India2024-06-17
1027France2024-05-26
1028Argentina2024-05-25
1029Australia2024-06-13
1030Germany2024-06-20
1031Brazil2024-05-25
1032Japan2024-05-26
1033Argentina2024-06-12
1034Canada2024-05-29
1035Australia2024-06-22
1036India2024-06-19
1037Germany2024-05-28
1038Argentina2024-06-09
1039Australia2024-05-24
1040India2024-05-30
1041Argentina2024-06-04
1042Argentina2024-05-28
1043Brazil2024-06-06
1044United Kingdom2024-06-11
1045Russia2024-06-17
1046Japan2024-05-31
1047Brazil2024-06-03
1048Spain2024-06-21
1049United Kingdom2024-06-09

On-Demand Data

NameIdCountryDate
Antonio X Glick1000India2024-06-13
Wickens O Saylors1001Brazil2024-05-30
Johnson E Amigon1002France2024-05-30
Johnson M Shinko1003Australia2024-05-27
Juan F Oldroyd1004India2024-06-13
James E Campain1005Italy2024-05-31
Kaitlin E Maclead1006United Kingdom2024-06-02
Jones H Sergi1007Brazil2024-06-10
Izzy O Schemmer1008Brazil2024-06-03
Jones N Ostrosky1009Spain2024-06-04
Misaki N Caudy1010India2024-05-30
Leon U Stenseth1011Germany2024-06-04
Morrow D Iturbide1012Argentina2024-06-16
Johnson G Foller1013Argentina2024-06-02
Silvio W Amigon1014Australia2024-06-19
Aruna I Figeroa1015India2024-06-03
Darci C Malet1016Brazil2024-06-13
Leja Q Figeroa1017Russia2024-06-08
Maria E Glick1018Japan2024-06-07
Emily X Morasca1019Japan2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez S NickaGermanyBernardo Dominic PROPOSAL
Octavia I WieserUnited KingdomXuxue Feng NEW
Arvin Q OstroskyGermanyXuxue Feng NEGOTIATION
Salvatore P BologniaItalyBernardo Dominic QUALIFIED
James U RoysterItalyElwin Sharvill RENEWAL
Isabel I VocelkaGermanyBernardo Dominic NEW
Murillo R SergiItalyElwin Sharvill PROPOSAL
Deepesh U RimBrazilStephen Shaw PROPOSAL
Misaki Y GlickSpainIoni Bowcher PROPOSAL
Murillo S VocelkaAustraliaOnyama Limba QUALIFIED
Aruna A SaylorsIndiaStephen Shaw QUALIFIED
Izzy U GarufiFranceAsiya Javayant PROPOSAL
Munro D VocelkaArgentinaXuxue Feng RENEWAL
Smith T KolmetzSpainOnyama Limba NEGOTIATION
Clifford I DilliardUnited KingdomIvan Magalhaes PROPOSAL
Maria H AlbaresSpainAsiya Javayant QUALIFIED
Jennifer X SaylorsCanadaIoni Bowcher NEGOTIATION
Aruna K StensethBrazilBernardo Dominic QUALIFIED
Izzy J CaudyBrazilAmy Elsner UNQUALIFIED
Nicolas Z IturbideUnited KingdomAnna Fali UNQUALIFIED
Maria L CaldareraJapanOnyama Limba RENEWAL
Leon D MarrierRussiaAnna Fali UNQUALIFIED
Aika K MaletFranceAnna Fali RENEWAL
Emily P NickaAustraliaElwin Sharvill RENEWAL
Jennifer U WaycottAustraliaAnna Fali NEGOTIATION
Jefferson F OldroydIndiaXuxue Feng NEW
Jones Q GlickRussiaXuxue Feng RENEWAL
Greenwood Z OstroskyItalyBernardo Dominic PROPOSAL
Jefferson X FlosiIndiaAmy Elsner NEW
Cody Q MaletUnited KingdomAsiya Javayant RENEWAL
Adams E MarrierCanadaBernardo Dominic PROPOSAL
Aditya E FollerBrazilBernardo Dominic UNQUALIFIED
Maisha X CaldareraItalyIvan Magalhaes NEW
Costa G OstroskyBrazilAsiya Javayant RENEWAL
Chavez Z BologniaUnited KingdomBernardo Dominic NEW
Jennifer D FigeroaFranceAsiya Javayant RENEWAL
Maisha N StockhamFranceIvan Magalhaes PROPOSAL
Octavia L SaylorsJapanAsiya Javayant UNQUALIFIED
Leon C MarrierCanadaAnna Fali QUALIFIED
Costa P SergiSpainOnyama 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>