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
James T GauchoItalyXuxue Feng QUALIFIED
Ashley D FollerUnited KingdomAnna Fali PROPOSAL
Silvio E RoysterSpainXuxue Feng NEW
Chavez I StockhamAustraliaBernardo Dominic PROPOSAL
Isabel W DoeItalyXuxue Feng PROPOSAL
Ivar N BriddickJapanAnna Fali UNQUALIFIED
Deepesh B GlickSpainAmy Elsner NEGOTIATION
Mujtaba V AlbaresUnited KingdomAnna Fali UNQUALIFIED
Alejandro I MaletFranceIoni Bowcher NEW
Murillo X RutaUnited KingdomAnna Fali NEW
Jennifer R KuskoIndiaStephen Shaw PROPOSAL
Francesco Z SchemmerFranceAsiya Javayant NEW
Jones P DilliardSpainXuxue Feng QUALIFIED
Sinclair L PaprockiBrazilAnna Fali RENEWAL
James W PerinCanadaStephen Shaw NEGOTIATION
Aditya X NestleBrazilIvan Magalhaes RENEWAL
Isabel W KolmetzArgentinaAnna Fali PROPOSAL
Murillo Y DilliardCanadaIvan Magalhaes PROPOSAL
Jefferson P VenereUnited KingdomIoni Bowcher RENEWAL
Aika P TollnerAustraliaAmy Elsner QUALIFIED
Deepesh W MacleadRussiaStephen Shaw NEGOTIATION
Faith H MaletArgentinaOnyama Limba RENEWAL
Wickens Q GauchoJapanIoni Bowcher QUALIFIED
Deepesh P NestleUnited KingdomIvan Magalhaes PROPOSAL
Salvatore B FerenczGermanyXuxue Feng PROPOSAL
Ashley Z CaudyAustraliaBernardo Dominic NEW
Jennifer D RimItalyStephen Shaw UNQUALIFIED
Leon T TollnerUnited KingdomElwin Sharvill RENEWAL
Clifford J InouyeItalyElwin Sharvill NEGOTIATION
Adams S SlusarskiAustraliaElwin Sharvill NEW
David A MorascaJapanXuxue Feng QUALIFIED
Jeanfrancois A InouyeGermanyIoni Bowcher UNQUALIFIED
Greenwood T VenereCanadaAsiya Javayant NEW
Tony V PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Aika Q BowleyBrazilXuxue Feng PROPOSAL
Cody X DilliardUnited KingdomXuxue Feng RENEWAL
Rodrigues Q FigeroaIndiaElwin Sharvill RENEWAL
Rodrigues B WhobreyIndiaAmy Elsner UNQUALIFIED
Antonio H ShinkoRussiaIvan Magalhaes NEW
Wickens X GillianItalyStephen Shaw PROPOSAL
Nicolas O VenereAustraliaStephen Shaw PROPOSAL
James P WaycottIndiaAmy Elsner NEGOTIATION
Mayumi W MarrierJapanStephen Shaw PROPOSAL
Munro M RimAustraliaOnyama Limba PROPOSAL
Clifford X PerinArgentinaAsiya Javayant RENEWAL
Costa M GillianBrazilAmy Elsner UNQUALIFIED
Munro N OldroydUnited KingdomElwin Sharvill QUALIFIED
Jones B RoysterSpainAmy Elsner NEGOTIATION
Mujtaba Z OldroydCanadaAmy Elsner NEGOTIATION
Cody A RutaFranceAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford Z SlusarskiJapanOnyama Limba NEW
Silvio W VocelkaBrazilAsiya Javayant UNQUALIFIED
Leja E ButtCanadaElwin Sharvill UNQUALIFIED
Greenwood Z MacleadJapanIvan Magalhaes NEGOTIATION
Mujtaba S BowleySpainBernardo Dominic QUALIFIED
Jefferson V ButtUnited KingdomBernardo Dominic NEGOTIATION
Deepesh Z FollerSpainOnyama Limba NEGOTIATION
Jeanfrancois U CampainAustraliaIoni Bowcher RENEWAL
Antonio X AlbaresIndiaIoni Bowcher PROPOSAL
Darci P FlosiGermanyOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna W OstroskySpain2024-06-12Truhlar And Truhlar Attys QUALIFIED75Bernardo Dominic
1001Mujtaba B MacleadCanada2024-05-22Printing Dimensions RENEWAL23Amy Elsner
1002Jones O SergiSpain2024-05-29Morlong Associates QUALIFIED22Amy Elsner
1003David Y KolmetzRussia2024-05-28Rousseaux, Michael Esq UNQUALIFIED64Amy Elsner
1004Aditya E BowleyIndia2024-06-04Buckley Miller Wright NEW2Amy Elsner
1005Darci J DarakjyArgentina2024-05-20Truhlar And Truhlar Attys NEGOTIATION15Onyama Limba
1006David U SlusarskiAustralia2024-05-28Dorl, James J Esq NEGOTIATION74Ivan Magalhaes
1007Nicolas J FollerCanada2024-05-23Chapman, Ross E Esq RENEWAL55Ioni Bowcher
1008Greenwood E StensethBrazil2024-05-22Truhlar And Truhlar Attys PROPOSAL94Ivan Magalhaes
1009Salvatore F ButtArgentina2024-05-26Feiner Bros RENEWAL54Asiya Javayant
1010Morrow A CaldareraBrazil2024-05-23Rangoni Of Florence PROPOSAL16Onyama Limba
1011Munro A InouyeItaly2024-05-19Dorl, James J Esq QUALIFIED9Onyama Limba
1012Chavez I InouyeUnited Kingdom2024-05-22Rangoni Of Florence RENEWAL67Onyama Limba
1013Aika N TollnerUnited Kingdom2024-05-30Dorl, James J Esq NEGOTIATION96Xuxue Feng
1014Ashley W SergiSpain2024-06-08Feiner Bros RENEWAL99Ivan Magalhaes
1015Wickens K BologniaArgentina2024-05-15King, Christopher A Esq QUALIFIED69Ioni Bowcher
1016Salvatore T AlbaresItaly2024-05-20Buckley Miller Wright NEW25Stephen Shaw
1017Rodrigues I NestleAustralia2024-05-24Morlong Associates UNQUALIFIED40Stephen Shaw
1018Rodrigues K RoysterGermany2024-05-30Rangoni Of Florence RENEWAL77Anna Fali
1019Alejandro Q MacleadItaly2024-05-30Commercial Press UNQUALIFIED85Ioni Bowcher
1020Jefferson D PerinItaly2024-06-08Feiner Bros PROPOSAL25Stephen Shaw
1021Darci A AmigonFrance2024-05-31Truhlar And Truhlar Attys QUALIFIED27Bernardo Dominic
1022Johnson L GillianSpain2024-05-31Chemel, James L Cpa UNQUALIFIED79Stephen Shaw
1023Emily E MarrierFrance2024-06-06Rangoni Of Florence QUALIFIED84Onyama Limba
1024Stacey E ShinkoFrance2024-05-31Buckley Miller Wright NEGOTIATION52Xuxue Feng
1025Rodrigues K RutaArgentina2024-06-10Dorl, James J Esq PROPOSAL79Anna Fali
1026Ashley Z DoeArgentina2024-05-28Chapman, Ross E Esq UNQUALIFIED20Elwin Sharvill
1027Costa N TollnerJapan2024-05-28Chemel, James L Cpa PROPOSAL63Xuxue Feng
1028Jeanfrancois J OldroydRussia2024-05-27Buckley Miller Wright UNQUALIFIED98Elwin Sharvill
1029Maisha O DoeGermany2024-06-12Dorl, James J Esq QUALIFIED5Asiya Javayant
1030Chavez U SlusarskiFrance2024-05-23Benton, John B Jr UNQUALIFIED71Amy Elsner
1031Murillo X RulapaughBrazil2024-06-12King, Christopher A Esq UNQUALIFIED13Bernardo Dominic
1032Tony U GarufiGermany2024-05-14Commercial Press PROPOSAL0Ioni Bowcher
1033Leja L KuskoRussia2024-06-02Benton, John B Jr UNQUALIFIED31Ivan Magalhaes
1034Greenwood I FlosiRussia2024-06-06Rangoni Of Florence NEW29Bernardo Dominic
1035Costa L TollnerGermany2024-05-30Chanay, Jeffrey A Esq QUALIFIED45Onyama Limba
1036Tony U DoeBrazil2024-06-03Truhlar And Truhlar Attys PROPOSAL13Stephen Shaw
1037Kadeem P IturbideUnited Kingdom2024-05-30Chemel, James L Cpa PROPOSAL16Stephen Shaw
1038Alejandro E SaylorsCanada2024-05-26Printing Dimensions QUALIFIED84Elwin Sharvill
1039Morrow H PaprockiUnited Kingdom2024-05-19Rangoni Of Florence QUALIFIED83Ivan Magalhaes
1040Leja N BologniaAustralia2024-05-31Buckley Miller Wright NEW42Asiya Javayant
1041Deepesh T MacleadSpain2024-05-14Truhlar And Truhlar Attys UNQUALIFIED51Asiya Javayant
1042Tony G BriddickSpain2024-05-31Rousseaux, Michael Esq NEGOTIATION82Xuxue Feng
1043Ricardo E RimGermany2024-06-03King, Christopher A Esq RENEWAL42Onyama Limba
1044Antonio N DilliardAustralia2024-05-21Rousseaux, Michael Esq NEGOTIATION84Amy Elsner
1045Isabel O SlusarskiUnited Kingdom2024-06-10Printing Dimensions RENEWAL87Elwin Sharvill
1046Deepesh G DoeItaly2024-06-04Commercial Press UNQUALIFIED71Elwin Sharvill
1047Sinclair M MaletSpain2024-06-02Buckley Miller Wright PROPOSAL3Elwin Sharvill
1048Jones K FollerUnited Kingdom2024-05-17Morlong Associates NEGOTIATION16Anna Fali
1049Faith D ShinkoArgentina2024-05-26Morlong Associates NEGOTIATION8Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Nicolas K DoeIndiaAsiya Javayant UNQUALIFIED
Wickens K OldroydGermanyAnna Fali UNQUALIFIED
Maisha V SlusarskiCanadaIoni Bowcher UNQUALIFIED
Stacey T DoeUnited KingdomAnna Fali PROPOSAL
Tony P AmigonIndiaElwin Sharvill NEGOTIATION
Darci H KolmetzRussiaElwin Sharvill NEGOTIATION
Ricardo P GlickCanadaAnna Fali NEGOTIATION
David E OldroydGermanyOnyama Limba UNQUALIFIED
Deepesh D SchemmerFranceAmy Elsner RENEWAL
Sinclair A FollerSpainBernardo Dominic PROPOSAL
Nicolas W CampainSpainAnna Fali PROPOSAL
Ricardo G RulapaughIndiaAsiya Javayant RENEWAL
Mayumi W SlusarskiBrazilIvan Magalhaes RENEWAL
Francesco X GauchoIndiaOnyama Limba RENEWAL
Aika F BologniaBrazilAnna Fali RENEWAL
Morrow P GillianFranceElwin Sharvill PROPOSAL
Emily A MaletAustraliaXuxue Feng NEW
Sinclair A FlosiIndiaBernardo Dominic RENEWAL
Maisha J DilliardUnited KingdomAnna Fali RENEWAL
Emily S WieserArgentinaAsiya Javayant QUALIFIED
Francesco S CaldareraCanadaBernardo Dominic UNQUALIFIED
Izzy O FlosiFranceXuxue Feng NEW
Stacey Z ShinkoBrazilBernardo Dominic PROPOSAL
Sinclair I IturbideJapanAnna Fali PROPOSAL
Silvio W NickaSpainAmy Elsner NEGOTIATION
Ashley R InouyeRussiaAnna Fali RENEWAL
Darci P GarufiBrazilStephen Shaw NEGOTIATION
Wickens G GillianFranceIvan Magalhaes NEGOTIATION
Sinclair W DilliardJapanXuxue Feng NEW
Clifford O KuskoIndiaStephen Shaw NEGOTIATION
Silvio I SlusarskiIndiaBernardo Dominic UNQUALIFIED
Octavia H RutaFranceElwin Sharvill NEGOTIATION
Kadeem T FollerFranceBernardo Dominic UNQUALIFIED
Rodrigues X OldroydItalyAnna Fali QUALIFIED
Deepesh F MaletItalyStephen Shaw UNQUALIFIED
Izzy J FlosiItalyIoni Bowcher NEW
Smith D DarakjyFranceAsiya Javayant RENEWAL
Aika N WaycottAustraliaBernardo Dominic NEGOTIATION
Leja N ShinkoAustraliaOnyama Limba NEW
Francesco C SlusarskiArgentinaXuxue Feng NEGOTIATION
Rodrigues Y RimSpainAsiya Javayant NEGOTIATION
Ashley W CaudyRussiaStephen Shaw UNQUALIFIED
Aruna H AmigonArgentinaIvan Magalhaes NEGOTIATION
Nicolas J OldroydIndiaXuxue Feng QUALIFIED
Antonio E BriddickItalyIoni Bowcher NEGOTIATION
Clifford Y NickaJapanIoni Bowcher NEGOTIATION
Francesco G MorascaArgentinaAnna Fali RENEWAL
Francesco S SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Ashley K OstroskyItalyOnyama Limba RENEWAL
Darci I TollnerFranceAnna Fali NEW
Frozen Columns
Name
Misaki W Kolmetz
Aika S Wieser
Claire O Whobrey
Antonio T Ruta
David I Gillian
Jennifer W Shinko
Emily J Sergi
James H Dilliard
Francesco V Waycott
Maisha Y Whobrey
Aika D Vocelka
Aika Z Flosi
Mayumi C Doe
Smith F Flosi
Munro B Kolmetz
Arvin O Vocelka
Emily B Kolmetz
David X Gillian
Mayumi A Stenseth
Maisha X Wieser
Arvin V Oldroyd
Cody K Gillian
David F Sergi
Claire Y Schemmer
Stacey S Maclead
Kaitlin E Amigon
Ivar V Stockham
Leon F Gillian
Smith I Foller
Sinclair Q Saylors
Julie T Shinko
Leon O Gaucho
Arvin L Tollner
Arvin P Perin
Kaitlin A Whobrey
Darci K Stenseth
Johnson E Gillian
Ashley L Poquette
Munro B Slusarski
James O Royster
Alejandro J Shinko
Cody C Garufi
Ivar E Amigon
Salvatore Z Rim
Clifford G Malet
Ricardo P Nestle
Claire C Kusko
Deepesh O Malet
Morrow O Venere
Nicolas J Malet
IdCountryDate
1000Australia2024-06-12
1001Brazil2024-05-14
1002Australia2024-05-30
1003Spain2024-05-20
1004Spain2024-05-27
1005Canada2024-05-15
1006France2024-05-17
1007United Kingdom2024-06-09
1008Canada2024-05-27
1009Japan2024-05-28
1010Spain2024-05-27
1011United Kingdom2024-05-18
1012Canada2024-05-27
1013Canada2024-05-18
1014India2024-05-24
1015United Kingdom2024-05-20
1016Italy2024-05-25
1017India2024-06-04
1018Brazil2024-06-08
1019France2024-06-02
1020Canada2024-05-31
1021Brazil2024-05-17
1022Australia2024-06-09
1023France2024-06-04
1024Canada2024-05-20
1025France2024-06-02
1026Spain2024-06-01
1027Spain2024-05-22
1028Brazil2024-05-23
1029Italy2024-05-14
1030India2024-05-28
1031Argentina2024-06-09
1032France2024-06-08
1033Japan2024-05-28
1034Japan2024-05-20
1035Australia2024-06-05
1036Italy2024-05-21
1037United Kingdom2024-06-04
1038Russia2024-06-08
1039Australia2024-05-26
1040Russia2024-05-28
1041Canada2024-05-27
1042Brazil2024-06-07
1043Argentina2024-06-09
1044Russia2024-05-25
1045France2024-06-06
1046Japan2024-05-29
1047Australia2024-06-06
1048Canada2024-06-07
1049France2024-05-23

On-Demand Data

NameIdCountryDate
Maisha F Saylors1000Canada2024-06-05
Johnson G Nestle1001Germany2024-06-02
Murillo R Gaucho1002Germany2024-06-07
Julie V Garufi1003Canada2024-05-15
Aruna R Sergi1004Russia2024-05-14
Juan W Morasca1005Japan2024-06-11
Jefferson I Stockham1006Brazil2024-06-07
Claire U Garufi1007France2024-06-09
Johnson R Rim1008Canada2024-06-06
Leja B Caldarera1009Germany2024-06-04
Smith P Nicka1010Italy2024-05-25
Jeanfrancois D Foller1011Argentina2024-05-18
Tony X Darakjy1012United Kingdom2024-06-03
Cody E Ostrosky1013Germany2024-06-05
Izzy T Slusarski1014Spain2024-05-27
Tony Q Garufi1015Japan2024-05-28
Deepesh Y Nestle1016France2024-05-22
Izzy O Whobrey1017Japan2024-05-29
Faith F Flosi1018Italy2024-06-07
Ashley K Stenseth1019Brazil2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith E SaylorsJapanAmy Elsner QUALIFIED
Maria E SergiItalyAmy Elsner NEGOTIATION
Leon G RimSpainBernardo Dominic NEW
Nicolas P SchemmerIndiaOnyama Limba RENEWAL
Rodrigues M GlickIndiaOnyama Limba UNQUALIFIED
Alejandro U RulapaughIndiaOnyama Limba NEW
Sinclair Q SlusarskiCanadaElwin Sharvill UNQUALIFIED
Leon U RutaUnited KingdomAnna Fali QUALIFIED
Wickens C TollnerIndiaElwin Sharvill QUALIFIED
Claire K ShinkoIndiaAnna Fali PROPOSAL
Cody H RulapaughSpainAmy Elsner QUALIFIED
Nicolas X FollerFranceXuxue Feng RENEWAL
Arvin U StensethJapanElwin Sharvill RENEWAL
Wickens K VenereArgentinaAnna Fali PROPOSAL
Jones B VenereSpainIoni Bowcher RENEWAL
Leon R DilliardRussiaStephen Shaw QUALIFIED
David I GlickArgentinaAmy Elsner RENEWAL
James C SchemmerJapanIoni Bowcher QUALIFIED
Ivar Z NestleJapanIoni Bowcher RENEWAL
Octavia B PerinIndiaIoni Bowcher PROPOSAL
Nicolas G DoeItalyAmy Elsner UNQUALIFIED
Tony Y MorascaIndiaElwin Sharvill UNQUALIFIED
James C GarufiAustraliaBernardo Dominic NEW
Jeanfrancois X VocelkaGermanyElwin Sharvill NEW
Greenwood V AlbaresCanadaXuxue Feng RENEWAL
Ricardo F BologniaSpainBernardo Dominic PROPOSAL
Nicolas B GarufiJapanIoni Bowcher UNQUALIFIED
Antonio R SlusarskiItalyBernardo Dominic NEW
James Q BriddickBrazilIoni Bowcher RENEWAL
Stacey G SchemmerFranceAmy Elsner UNQUALIFIED
Aditya X VocelkaFranceIvan Magalhaes NEGOTIATION
Morrow M RimFranceStephen Shaw RENEWAL
Chavez V DarakjyRussiaElwin Sharvill PROPOSAL
Claire B RulapaughFranceAsiya Javayant NEGOTIATION
Julie X RulapaughRussiaXuxue Feng QUALIFIED
Antonio M BologniaCanadaStephen Shaw NEGOTIATION
Stacey A AmigonAustraliaAsiya Javayant QUALIFIED
Jefferson X WieserFranceIoni Bowcher NEW
Nicolas P DarakjyUnited KingdomIoni Bowcher PROPOSAL
Julie F StockhamGermanyOnyama Limba 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>