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
Leja O VocelkaBrazilOnyama Limba QUALIFIED
Smith V SchemmerIndiaElwin Sharvill NEGOTIATION
Ivar E KolmetzUnited KingdomStephen Shaw UNQUALIFIED
Tony L BologniaFranceOnyama Limba NEW
Arvin X SchemmerGermanyBernardo Dominic RENEWAL
Maria S KolmetzFranceIoni Bowcher QUALIFIED
Alejandro M PerinArgentinaAmy Elsner QUALIFIED
Aditya J DilliardRussiaElwin Sharvill PROPOSAL
Isabel A KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Jefferson J GarufiItalyIoni Bowcher PROPOSAL
Wickens V WhobreyRussiaXuxue Feng RENEWAL
Cody T SaylorsArgentinaXuxue Feng NEGOTIATION
Salvatore Z GlickSpainAmy Elsner RENEWAL
Tony H WaycottRussiaAsiya Javayant QUALIFIED
Jeanfrancois N ChuiRussiaStephen Shaw NEGOTIATION
Wickens H KuskoAustraliaBernardo Dominic RENEWAL
Kadeem U ButtUnited KingdomBernardo Dominic NEGOTIATION
Octavia Q CaldareraIndiaIoni Bowcher QUALIFIED
Mujtaba M BologniaArgentinaElwin Sharvill UNQUALIFIED
Ashley G PaprockiBrazilXuxue Feng NEGOTIATION
Ricardo Z CaudyRussiaStephen Shaw QUALIFIED
Julie H FigeroaItalyAsiya Javayant NEGOTIATION
Jefferson H RulapaughBrazilXuxue Feng NEGOTIATION
Ricardo V TollnerSpainAmy Elsner UNQUALIFIED
Jennifer F GillianIndiaStephen Shaw RENEWAL
Aruna T AlbaresFranceAnna Fali PROPOSAL
Jefferson H KuskoBrazilIvan Magalhaes RENEWAL
Sinclair S GillianAustraliaAnna Fali NEGOTIATION
Leon G WaycottArgentinaAnna Fali PROPOSAL
Rodrigues C CaudyAustraliaAsiya Javayant UNQUALIFIED
Rodrigues L CaldareraIndiaXuxue Feng NEW
Ashley D IturbideItalyElwin Sharvill RENEWAL
Jefferson U SchemmerGermanyOnyama Limba QUALIFIED
Jennifer Z DarakjySpainStephen Shaw NEGOTIATION
Mujtaba V RoysterBrazilIoni Bowcher NEGOTIATION
Mayumi N SaylorsIndiaElwin Sharvill NEW
Arvin N WhobreySpainElwin Sharvill QUALIFIED
Mujtaba Y CampainUnited KingdomAmy Elsner PROPOSAL
Murillo U PaprockiBrazilAmy Elsner QUALIFIED
Adams K ChuiUnited KingdomAnna Fali PROPOSAL
Leon Q WieserFranceElwin Sharvill NEGOTIATION
Silvio G FlosiAustraliaElwin Sharvill UNQUALIFIED
Nicolas Z MorascaGermanyBernardo Dominic NEGOTIATION
Alejandro V DilliardCanadaXuxue Feng NEGOTIATION
Jones F ButtItalyIoni Bowcher UNQUALIFIED
Kadeem J KuskoArgentinaAsiya Javayant PROPOSAL
Jennifer T FlosiUnited KingdomStephen Shaw PROPOSAL
Aruna T ChuiJapanAnna Fali RENEWAL
Costa R MacleadBrazilBernardo Dominic RENEWAL
Kadeem P DarakjyIndiaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Murillo M GillianJapanAnna Fali PROPOSAL
Ricardo H TollnerArgentinaElwin Sharvill UNQUALIFIED
Antonio K GlickBrazilXuxue Feng NEGOTIATION
Jennifer I StensethCanadaStephen Shaw RENEWAL
Arvin A SchemmerJapanOnyama Limba UNQUALIFIED
Clifford E NestleCanadaXuxue Feng NEGOTIATION
Kaitlin F PaprockiBrazilAnna Fali PROPOSAL
Maisha S StockhamGermanyXuxue Feng PROPOSAL
Jennifer V ButtCanadaElwin Sharvill UNQUALIFIED
Aruna V TollnerArgentinaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith Q SaylorsArgentina2024-06-13Printing Dimensions NEGOTIATION55Onyama Limba
1001Cody D NestleCanada2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED98Asiya Javayant
1002Wickens J SaylorsCanada2024-06-15Dorl, James J Esq QUALIFIED14Amy Elsner
1003Cody N DarakjyItaly2024-05-23Chanay, Jeffrey A Esq NEGOTIATION24Elwin Sharvill
1004Izzy D TollnerArgentina2024-05-25King, Christopher A Esq PROPOSAL5Ivan Magalhaes
1005Smith Q SergiCanada2024-06-02Chanay, Jeffrey A Esq PROPOSAL53Ioni Bowcher
1006Arvin B ButtGermany2024-06-03Rangoni Of Florence QUALIFIED29Anna Fali
1007Ricardo E NestleRussia2024-06-08Benton, John B Jr PROPOSAL16Amy Elsner
1008Aditya D GauchoAustralia2024-05-28King, Christopher A Esq QUALIFIED49Bernardo Dominic
1009Silvio S SchemmerCanada2024-06-04Rousseaux, Michael Esq PROPOSAL8Anna Fali
1010Sinclair K GillianCanada2024-05-28Rangoni Of Florence UNQUALIFIED98Xuxue Feng
1011Izzy N WieserBrazil2024-06-01Rousseaux, Michael Esq QUALIFIED58Amy Elsner
1012Misaki V MaletSpain2024-05-26Dorl, James J Esq PROPOSAL13Xuxue Feng
1013Salvatore M SchemmerUnited Kingdom2024-05-26King, Christopher A Esq RENEWAL25Onyama Limba
1014Aika S ShinkoFrance2024-06-21Chapman, Ross E Esq NEGOTIATION93Amy Elsner
1015Ivar Z DilliardRussia2024-06-09Rousseaux, Michael Esq UNQUALIFIED64Xuxue Feng
1016Tony Z CaudyIndia2024-06-10Chemel, James L Cpa RENEWAL88Xuxue Feng
1017Misaki M WieserFrance2024-06-20Chapman, Ross E Esq UNQUALIFIED71Anna Fali
1018Kaitlin Q NestleSpain2024-06-12Morlong Associates PROPOSAL47Stephen Shaw
1019Stacey K CaldareraItaly2024-05-31Chemel, James L Cpa NEW89Elwin Sharvill
1020Aruna T GlickFrance2024-06-16Morlong Associates PROPOSAL0Ioni Bowcher
1021Darci C SlusarskiGermany2024-06-01King, Christopher A Esq PROPOSAL69Elwin Sharvill
1022Leja A ButtArgentina2024-05-30Chanay, Jeffrey A Esq NEGOTIATION35Amy Elsner
1023James I GillianBrazil2024-06-01Printing Dimensions PROPOSAL7Xuxue Feng
1024Claire X ButtItaly2024-05-27Commercial Press NEGOTIATION0Asiya Javayant
1025Salvatore O FlosiBrazil2024-05-23Printing Dimensions RENEWAL47Ioni Bowcher
1026Izzy X WaycottUnited Kingdom2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED33Asiya Javayant
1027Sinclair V FlosiArgentina2024-06-10Rousseaux, Michael Esq PROPOSAL91Amy Elsner
1028Salvatore P CaudySpain2024-06-01Feltz Printing Service NEW6Asiya Javayant
1029Maisha J FigeroaUnited Kingdom2024-06-10Dorl, James J Esq NEGOTIATION90Ivan Magalhaes
1030Tony T StensethBrazil2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED63Ioni Bowcher
1031Darci L RutaArgentina2024-06-13Feltz Printing Service PROPOSAL1Onyama Limba
1032Chavez A RoysterBrazil2024-06-13Truhlar And Truhlar Attys PROPOSAL21Anna Fali
1033Adams G AmigonBrazil2024-06-03Feltz Printing Service PROPOSAL3Bernardo Dominic
1034James N GlickIndia2024-05-31Feltz Printing Service UNQUALIFIED22Stephen Shaw
1035Emily K SergiRussia2024-06-07Buckley Miller Wright PROPOSAL64Amy Elsner
1036Adams D FollerIndia2024-06-18Benton, John B Jr RENEWAL13Xuxue Feng
1037Antonio L GillianFrance2024-05-31Truhlar And Truhlar Attys PROPOSAL20Stephen Shaw
1038Murillo Y PerinJapan2024-06-13Rangoni Of Florence PROPOSAL52Stephen Shaw
1039Maisha C FerenczFrance2024-06-02Rousseaux, Michael Esq QUALIFIED60Ioni Bowcher
1040Smith E FlosiAustralia2024-06-02Morlong Associates QUALIFIED20Amy Elsner
1041Ashley O SchemmerFrance2024-05-30Commercial Press UNQUALIFIED83Xuxue Feng
1042Mayumi T ButtCanada2024-06-02Truhlar And Truhlar Attys UNQUALIFIED66Xuxue Feng
1043Aditya Q WhobreyIndia2024-06-12Morlong Associates PROPOSAL77Amy Elsner
1044Jones J CaudyFrance2024-06-07Rangoni Of Florence RENEWAL0Stephen Shaw
1045Johnson P GarufiIndia2024-06-17Morlong Associates QUALIFIED95Elwin Sharvill
1046Isabel J VenereAustralia2024-06-11King, Christopher A Esq QUALIFIED49Elwin Sharvill
1047Maisha O ButtRussia2024-06-21Rangoni Of Florence QUALIFIED54Ioni Bowcher
1048Jefferson F NickaArgentina2024-06-13King, Christopher A Esq QUALIFIED2Ioni Bowcher
1049Adams J WhobreyRussia2024-06-14Chemel, James L Cpa RENEWAL64Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Juan F MaletItalyXuxue Feng NEGOTIATION
Munro W GlickArgentinaAmy Elsner QUALIFIED
Ivar W RulapaughArgentinaElwin Sharvill QUALIFIED
Sinclair J SlusarskiIndiaAnna Fali QUALIFIED
Isabel Y SergiUnited KingdomAmy Elsner UNQUALIFIED
Munro O FlosiGermanyIoni Bowcher PROPOSAL
Julie R OldroydBrazilAmy Elsner NEGOTIATION
Juan J PaprockiSpainAnna Fali RENEWAL
Jeanfrancois V SaylorsIndiaOnyama Limba NEW
Stacey E SchemmerBrazilIoni Bowcher PROPOSAL
Antonio W RulapaughGermanyStephen Shaw NEW
Kaitlin G OldroydCanadaElwin Sharvill PROPOSAL
James T IturbideGermanyOnyama Limba NEW
Rodrigues E FigeroaFranceOnyama Limba PROPOSAL
Alejandro H VenereItalyElwin Sharvill NEGOTIATION
Maisha S PaprockiItalyBernardo Dominic PROPOSAL
Chavez N StockhamBrazilStephen Shaw UNQUALIFIED
Maria U InouyeJapanStephen Shaw NEW
Julie D AlbaresSpainAsiya Javayant QUALIFIED
Sinclair Q FerenczGermanyAmy Elsner RENEWAL
Alejandro U CaudyAustraliaIoni Bowcher UNQUALIFIED
Juan M VocelkaSpainElwin Sharvill QUALIFIED
Aruna D SlusarskiItalyIvan Magalhaes NEW
Leon I NickaCanadaIvan Magalhaes UNQUALIFIED
Munro K ChuiItalyStephen Shaw PROPOSAL
Maisha Z StockhamFranceIoni Bowcher QUALIFIED
Aika S PoquetteArgentinaAmy Elsner QUALIFIED
Francesco W FerenczFranceXuxue Feng QUALIFIED
Octavia G WieserGermanyAsiya Javayant QUALIFIED
Ivar K ChuiUnited KingdomAnna Fali RENEWAL
Munro Q NickaArgentinaOnyama Limba UNQUALIFIED
Leja Y SaylorsSpainStephen Shaw QUALIFIED
Smith P MarrierBrazilAsiya Javayant NEW
Ricardo S RulapaughCanadaOnyama Limba PROPOSAL
Wickens A FollerAustraliaElwin Sharvill NEW
Ivar W WhobreySpainIoni Bowcher UNQUALIFIED
Greenwood F ButtArgentinaAmy Elsner PROPOSAL
Emily Q IturbideJapanAsiya Javayant RENEWAL
Aditya K CampainRussiaXuxue Feng UNQUALIFIED
Faith C RulapaughAustraliaAsiya Javayant NEGOTIATION
Ricardo L DoeRussiaStephen Shaw NEGOTIATION
Antonio C WieserUnited KingdomIvan Magalhaes NEW
Alejandro W BologniaItalyIoni Bowcher UNQUALIFIED
Chavez U AlbaresItalyStephen Shaw NEGOTIATION
Francesco L ButtCanadaOnyama Limba NEW
Maisha X SergiCanadaElwin Sharvill QUALIFIED
Leja D SaylorsJapanAnna Fali QUALIFIED
Aruna V FlosiJapanAmy Elsner QUALIFIED
David Q CaldareraIndiaAsiya Javayant PROPOSAL
Leja E OstroskyArgentinaAnna Fali NEGOTIATION
Frozen Columns
Name
Silvio A Albares
Antonio X Iturbide
Sinclair R Rulapaugh
Francesco H Oldroyd
Clifford W Ostrosky
Chavez S Figeroa
Deepesh Y Briddick
Rodrigues J Wieser
Ashley X Paprocki
James U Doe
Octavia G Malet
Alejandro Y Maclead
Arvin M Glick
Jefferson U Campain
Silvio W Perin
Darci K Vocelka
Wickens G Dilliard
Tony X Whobrey
Jefferson R Perin
Alejandro H Bolognia
Francesco D Maclead
Arvin Y Darakjy
David C Wieser
Maria K Figeroa
Francesco D Garufi
Leon N Perin
Arvin R Saylors
Clifford X Malet
Leja E Maclead
Leon N Kusko
Faith C Venere
Claire I Gillian
Jones B Venere
Smith M Gaucho
Aika F Royster
Jennifer R Chui
Mayumi V Wieser
Maisha F Rulapaugh
Faith F Rim
Greenwood S Inouye
Leja N Campain
Nicolas O Malet
Mayumi H Malet
Wickens X Stenseth
Morrow Q Rulapaugh
Maisha S Darakjy
Ivar F Perin
Johnson K Bowley
Deepesh H Waycott
Arvin O Doe
IdCountryDate
1000Japan2024-05-27
1001India2024-06-21
1002Russia2024-06-06
1003Brazil2024-05-31
1004Germany2024-06-20
1005Japan2024-06-15
1006Canada2024-05-29
1007Australia2024-06-11
1008Argentina2024-06-15
1009India2024-05-25
1010United Kingdom2024-05-27
1011France2024-06-18
1012Germany2024-06-08
1013Canada2024-06-04
1014Brazil2024-06-11
1015Japan2024-05-31
1016India2024-05-23
1017India2024-06-07
1018Spain2024-06-21
1019Italy2024-06-18
1020India2024-05-25
1021India2024-06-14
1022Japan2024-06-03
1023United Kingdom2024-05-26
1024Brazil2024-06-02
1025France2024-06-01
1026Australia2024-06-04
1027France2024-06-02
1028Argentina2024-06-18
1029Brazil2024-06-14
1030India2024-06-20
1031Italy2024-06-05
1032Russia2024-05-24
1033Australia2024-05-23
1034Spain2024-06-04
1035Brazil2024-06-01
1036Australia2024-06-18
1037India2024-06-03
1038India2024-06-04
1039United Kingdom2024-06-03
1040Argentina2024-06-20
1041Italy2024-06-16
1042Japan2024-05-28
1043Italy2024-05-30
1044India2024-06-15
1045United Kingdom2024-06-01
1046Brazil2024-05-28
1047Australia2024-05-28
1048Spain2024-06-03
1049Germany2024-06-18

On-Demand Data

NameIdCountryDate
Rodrigues N Vocelka1000United Kingdom2024-06-04
Morrow I Ostrosky1001Japan2024-06-07
Kaitlin X Caudy1002Canada2024-05-26
Arvin F Ruta1003United Kingdom2024-06-17
Costa Z Darakjy1004United Kingdom2024-05-24
Jeanfrancois H Waycott1005Italy2024-06-14
Arvin J Rulapaugh1006Australia2024-06-11
Leja I Venere1007Spain2024-06-07
Rodrigues T Tollner1008Canada2024-06-13
Silvio G Bolognia1009Italy2024-06-09
Ashley I Waycott1010Brazil2024-06-16
Clifford X Maclead1011Brazil2024-06-13
Izzy E Inouye1012Canada2024-06-07
Jeanfrancois D Bowley1013Italy2024-05-28
Maria O Ruta1014Russia2024-06-05
Juan A Caldarera1015Brazil2024-05-28
Francesco A Butt1016Germany2024-06-19
Salvatore A Stockham1017Spain2024-06-04
Emily K Bowley1018Argentina2024-05-30
Aditya A Ruta1019Spain2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin L SchemmerIndiaAnna Fali PROPOSAL
Deepesh U FerenczRussiaOnyama Limba QUALIFIED
Francesco R ShinkoIndiaOnyama Limba NEW
Ashley D GlickSpainIvan Magalhaes QUALIFIED
Claire H KolmetzAustraliaBernardo Dominic QUALIFIED
Leja R GlickCanadaStephen Shaw NEGOTIATION
Tony Y MorascaArgentinaIoni Bowcher UNQUALIFIED
Octavia G SchemmerItalyIvan Magalhaes PROPOSAL
Costa X VocelkaRussiaStephen Shaw RENEWAL
Mayumi R SaylorsAustraliaXuxue Feng PROPOSAL
Cody T GillianSpainXuxue Feng UNQUALIFIED
Jefferson Y PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Munro O SaylorsIndiaAnna Fali QUALIFIED
Misaki F WaycottItalyAmy Elsner RENEWAL
Faith P BologniaUnited KingdomStephen Shaw NEGOTIATION
Cody B SergiJapanXuxue Feng PROPOSAL
Jones Q SaylorsRussiaXuxue Feng PROPOSAL
Isabel N GarufiRussiaIvan Magalhaes UNQUALIFIED
Aika Q WhobreyJapanElwin Sharvill NEGOTIATION
Costa O GlickArgentinaIoni Bowcher PROPOSAL
Maisha Z AlbaresArgentinaStephen Shaw NEW
Johnson H PerinAustraliaAmy Elsner PROPOSAL
Chavez N BowleyArgentinaBernardo Dominic RENEWAL
Deepesh Y MacleadRussiaAmy Elsner RENEWAL
Arvin V MaletSpainAsiya Javayant NEW
Cody E AlbaresCanadaAmy Elsner NEW
Smith I ChuiIndiaAsiya Javayant QUALIFIED
Faith Y ChuiGermanyStephen Shaw UNQUALIFIED
Cody J IturbideItalyStephen Shaw NEGOTIATION
Ricardo P MorascaCanadaBernardo Dominic RENEWAL
Julie E FerenczRussiaXuxue Feng NEGOTIATION
Arvin S NickaJapanAmy Elsner NEGOTIATION
Leja V PoquetteIndiaXuxue Feng NEGOTIATION
Ivar T RutaBrazilBernardo Dominic QUALIFIED
Jeanfrancois J SergiBrazilIvan Magalhaes QUALIFIED
Aika P RoysterUnited KingdomIvan Magalhaes RENEWAL
Mayumi V PerinJapanAmy Elsner UNQUALIFIED
Cody X GarufiBrazilStephen Shaw NEGOTIATION
Faith B FerenczUnited KingdomOnyama Limba RENEWAL
Izzy U PaprockiRussiaAnna Fali UNQUALIFIED

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