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
Greenwood W PoquetteGermanyOnyama Limba RENEWAL
Jones V ShinkoGermanyIoni Bowcher NEW
Morrow I TollnerCanadaStephen Shaw QUALIFIED
Silvio F VenereJapanAsiya Javayant QUALIFIED
Antonio B NickaItalyXuxue Feng PROPOSAL
Darci Z SaylorsAustraliaAmy Elsner NEW
Maisha H SaylorsGermanyAnna Fali PROPOSAL
Ashley Q FollerArgentinaAsiya Javayant QUALIFIED
Aika E MaletSpainIvan Magalhaes NEGOTIATION
Kaitlin U WieserBrazilIvan Magalhaes UNQUALIFIED
Alejandro C MaletIndiaIvan Magalhaes PROPOSAL
Deepesh T SlusarskiGermanyOnyama Limba UNQUALIFIED
Johnson N BologniaIndiaAnna Fali NEW
Silvio X OldroydRussiaIoni Bowcher PROPOSAL
Stacey U MacleadAustraliaAmy Elsner RENEWAL
Juan A FollerFranceXuxue Feng QUALIFIED
Aruna S PerinFranceAmy Elsner QUALIFIED
James B GillianArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois S SlusarskiCanadaIoni Bowcher RENEWAL
Ivar S RimArgentinaBernardo Dominic RENEWAL
Jeanfrancois W PerinItalyOnyama Limba NEW
Rodrigues Y RutaArgentinaOnyama Limba PROPOSAL
Kaitlin N GarufiItalyAmy Elsner NEW
Leon N CaudyArgentinaOnyama Limba NEW
Jones B GauchoSpainStephen Shaw UNQUALIFIED
Faith R ButtRussiaXuxue Feng UNQUALIFIED
Ricardo K StensethArgentinaIoni Bowcher QUALIFIED
David F SaylorsIndiaAmy Elsner PROPOSAL
Julie E DilliardSpainOnyama Limba UNQUALIFIED
Greenwood S PaprockiAustraliaIoni Bowcher NEGOTIATION
James D OldroydRussiaAmy Elsner QUALIFIED
Deepesh U RimAustraliaElwin Sharvill NEW
Rodrigues P GarufiFranceXuxue Feng RENEWAL
Tony C NestleBrazilAmy Elsner NEW
Jefferson R RoysterItalyAnna Fali PROPOSAL
Kadeem Y MaletRussiaAnna Fali NEGOTIATION
Costa D DarakjyUnited KingdomAmy Elsner PROPOSAL
Jennifer K VocelkaBrazilAmy Elsner NEGOTIATION
Isabel F DarakjyFranceBernardo Dominic NEW
Adams D WaycottGermanyIvan Magalhaes PROPOSAL
Julie L RoysterFranceAsiya Javayant RENEWAL
Morrow O MarrierAustraliaBernardo Dominic PROPOSAL
Aditya N MarrierItalyOnyama Limba NEGOTIATION
Francesco L MacleadGermanyAnna Fali NEGOTIATION
Adams V CaldareraIndiaOnyama Limba PROPOSAL
Kaitlin X MaletGermanyStephen Shaw NEW
Arvin W MaletFranceStephen Shaw QUALIFIED
Stacey U MaletJapanAnna Fali PROPOSAL
Mayumi C MorascaAustraliaStephen Shaw QUALIFIED
Salvatore D NickaSpainIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones D DarakjyArgentinaIvan Magalhaes NEGOTIATION
Darci Q CaldareraArgentinaXuxue Feng PROPOSAL
Adams S FerenczArgentinaIoni Bowcher QUALIFIED
Chavez H StockhamGermanyIoni Bowcher NEW
Julie S NickaCanadaBernardo Dominic NEW
Faith X WhobreyIndiaIoni Bowcher NEW
Tony N ButtUnited KingdomStephen Shaw NEW
Jennifer W StockhamJapanAsiya Javayant NEGOTIATION
Ashley M CaldareraGermanyStephen Shaw NEW
Aditya J DarakjyArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow R OstroskyFrance2024-06-15Commercial Press PROPOSAL19Ioni Bowcher
1001Alejandro Y RulapaughCanada2024-06-06Feltz Printing Service RENEWAL94Anna Fali
1002Jones L MorascaRussia2024-05-31Chemel, James L Cpa NEGOTIATION14Amy Elsner
1003Salvatore E CampainRussia2024-05-30Buckley Miller Wright UNQUALIFIED19Anna Fali
1004Antonio Q ButtGermany2024-06-12Commercial Press RENEWAL83Onyama Limba
1005Rodrigues C StockhamFrance2024-06-14Commercial Press NEGOTIATION53Amy Elsner
1006Chavez A SchemmerCanada2024-05-18Buckley Miller Wright UNQUALIFIED62Onyama Limba
1007Arvin K MacleadSpain2024-06-13Chapman, Ross E Esq UNQUALIFIED13Asiya Javayant
1008Ricardo D VocelkaFrance2024-05-29Feiner Bros UNQUALIFIED98Stephen Shaw
1009Munro A SchemmerBrazil2024-06-15Truhlar And Truhlar Attys RENEWAL20Anna Fali
1010Mujtaba H DoeBrazil2024-06-08Feltz Printing Service RENEWAL99Onyama Limba
1011Maria Z DoeCanada2024-06-04Chapman, Ross E Esq NEW81Xuxue Feng
1012Tony M RutaGermany2024-05-19Feiner Bros NEGOTIATION22Bernardo Dominic
1013Aditya V FlosiCanada2024-06-08Dorl, James J Esq UNQUALIFIED77Elwin Sharvill
1014Salvatore K ChuiGermany2024-06-12Morlong Associates UNQUALIFIED51Ivan Magalhaes
1015Smith L BologniaSpain2024-05-18Commercial Press QUALIFIED16Amy Elsner
1016Julie A SergiBrazil2024-06-12Morlong Associates NEGOTIATION49Ioni Bowcher
1017Smith L StensethIndia2024-06-04Chapman, Ross E Esq PROPOSAL67Xuxue Feng
1018Claire P VenereCanada2024-05-19Morlong Associates RENEWAL95Xuxue Feng
1019Isabel J BologniaItaly2024-06-16Feltz Printing Service NEGOTIATION89Ivan Magalhaes
1020Claire V BowleyRussia2024-06-11Truhlar And Truhlar Attys QUALIFIED82Asiya Javayant
1021James Q BowleyFrance2024-05-23Chemel, James L Cpa NEW43Amy Elsner
1022Johnson C CaldareraArgentina2024-05-19Feltz Printing Service NEW23Ivan Magalhaes
1023Ashley J VocelkaArgentina2024-06-05Chapman, Ross E Esq RENEWAL17Amy Elsner
1024Costa Q ShinkoGermany2024-06-05Dorl, James J Esq RENEWAL55Anna Fali
1025Tony G SergiAustralia2024-05-19Feiner Bros UNQUALIFIED83Bernardo Dominic
1026Adams C FlosiGermany2024-05-20Printing Dimensions NEW8Ioni Bowcher
1027Jennifer Y SlusarskiItaly2024-06-08Buckley Miller Wright UNQUALIFIED83Ioni Bowcher
1028Aika T FigeroaBrazil2024-06-01Feiner Bros PROPOSAL2Elwin Sharvill
1029Johnson Y NestleBrazil2024-06-03Dorl, James J Esq QUALIFIED63Stephen Shaw
1030Mayumi G FlosiRussia2024-05-28Rousseaux, Michael Esq PROPOSAL37Xuxue Feng
1031Kadeem U MorascaIndia2024-05-18Dorl, James J Esq NEW58Anna Fali
1032Costa M ShinkoItaly2024-06-02Truhlar And Truhlar Attys RENEWAL2Xuxue Feng
1033Stacey J BriddickSpain2024-05-31Chapman, Ross E Esq QUALIFIED87Xuxue Feng
1034Chavez Z OstroskyGermany2024-05-24Buckley Miller Wright RENEWAL97Ioni Bowcher
1035Leon Q ChuiBrazil2024-06-06King, Christopher A Esq UNQUALIFIED54Anna Fali
1036Salvatore S MarrierAustralia2024-06-13Feltz Printing Service NEGOTIATION19Xuxue Feng
1037Jefferson O FlosiFrance2024-05-18Feltz Printing Service PROPOSAL73Amy Elsner
1038Salvatore F PerinJapan2024-05-23Buckley Miller Wright RENEWAL49Elwin Sharvill
1039Deepesh R GauchoJapan2024-06-07Feiner Bros NEW83Xuxue Feng
1040Jones D RimUnited Kingdom2024-06-06Feiner Bros NEW39Ioni Bowcher
1041Jeanfrancois H SchemmerRussia2024-06-01Buckley Miller Wright NEGOTIATION13Anna Fali
1042Faith W AlbaresRussia2024-06-08Rangoni Of Florence PROPOSAL11Asiya Javayant
1043Cody F NestleRussia2024-06-04Truhlar And Truhlar Attys UNQUALIFIED9Amy Elsner
1044Clifford N WaycottSpain2024-06-02Feltz Printing Service QUALIFIED1Stephen Shaw
1045David L GlickRussia2024-05-24Commercial Press PROPOSAL6Asiya Javayant
1046Aika P CampainArgentina2024-06-14Feiner Bros NEW10Ioni Bowcher
1047Smith V KuskoJapan2024-06-07Commercial Press PROPOSAL90Asiya Javayant
1048David J GillianGermany2024-06-14Printing Dimensions NEW40Ioni Bowcher
1049Julie X VocelkaArgentina2024-06-13Printing Dimensions NEGOTIATION39Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Arvin R RimArgentinaAsiya Javayant QUALIFIED
Octavia P MorascaIndiaXuxue Feng NEGOTIATION
Izzy Y DarakjyArgentinaIoni Bowcher RENEWAL
Nicolas K InouyeCanadaAsiya Javayant NEW
Mayumi D VocelkaGermanyOnyama Limba PROPOSAL
Mayumi L DilliardCanadaElwin Sharvill QUALIFIED
Isabel X RulapaughUnited KingdomIvan Magalhaes NEW
Maisha Z MaletFranceElwin Sharvill NEGOTIATION
Emily Z CaudyRussiaXuxue Feng UNQUALIFIED
Arvin Z GlickCanadaOnyama Limba PROPOSAL
Jones L FigeroaItalyAmy Elsner NEW
Wickens X VocelkaBrazilStephen Shaw UNQUALIFIED
Cody H SergiAustraliaAmy Elsner QUALIFIED
David Y AmigonArgentinaBernardo Dominic RENEWAL
Faith A NickaFranceAnna Fali RENEWAL
Tony O GauchoBrazilOnyama Limba NEW
Adams F NestleRussiaAmy Elsner RENEWAL
Mayumi Y GauchoIndiaBernardo Dominic QUALIFIED
David B WhobreyIndiaAnna Fali RENEWAL
Aditya P FerenczCanadaAmy Elsner RENEWAL
Claire O InouyeGermanyBernardo Dominic QUALIFIED
Ashley X ShinkoJapanIvan Magalhaes UNQUALIFIED
Mayumi G VocelkaGermanyStephen Shaw NEGOTIATION
Cody Y TollnerCanadaAmy Elsner PROPOSAL
Adams V GlickCanadaIoni Bowcher PROPOSAL
Darci M WieserIndiaIvan Magalhaes NEW
Leon Z GarufiRussiaStephen Shaw UNQUALIFIED
Murillo F VocelkaUnited KingdomIvan Magalhaes NEW
Misaki B WieserBrazilOnyama Limba PROPOSAL
Morrow D VenereCanadaBernardo Dominic QUALIFIED
David J BriddickCanadaAsiya Javayant QUALIFIED
Tony O StockhamIndiaAnna Fali NEGOTIATION
Juan C WaycottBrazilAmy Elsner NEGOTIATION
Costa U ButtGermanyIoni Bowcher QUALIFIED
Isabel T AlbaresIndiaBernardo Dominic QUALIFIED
Claire U SlusarskiCanadaBernardo Dominic NEGOTIATION
Jefferson Y InouyeSpainAmy Elsner NEW
Cody V MarrierBrazilXuxue Feng NEW
Stacey H InouyeGermanyAnna Fali PROPOSAL
Isabel U ChuiCanadaOnyama Limba PROPOSAL
Mayumi J InouyeArgentinaStephen Shaw QUALIFIED
Juan G MaletRussiaIoni Bowcher QUALIFIED
Kaitlin G BriddickFranceOnyama Limba PROPOSAL
Aruna A DoeRussiaIvan Magalhaes NEW
Deepesh J FollerBrazilOnyama Limba UNQUALIFIED
Johnson C RimCanadaElwin Sharvill NEGOTIATION
Jefferson T RoysterAustraliaBernardo Dominic UNQUALIFIED
Sinclair Q FigeroaFranceStephen Shaw QUALIFIED
Misaki L IturbideItalyAnna Fali UNQUALIFIED
Johnson Y InouyeBrazilAmy Elsner NEW
Frozen Columns
Name
Jefferson F Dilliard
Maria H Maclead
Nicolas K Flosi
Leja I Paprocki
Chavez J Figeroa
Ashley V Sergi
Claire X Wieser
Antonio U Oldroyd
David I Paprocki
Misaki N Nicka
Chavez U Slusarski
Deepesh D Bolognia
Aditya W Perin
Tony J Venere
Aika D Waycott
Aditya T Stockham
Antonio G Maclead
Salvatore V Oldroyd
Ricardo J Sergi
Nicolas S Nestle
Antonio N Shinko
Aruna T Paprocki
Tony D Slusarski
Mujtaba E Vocelka
Silvio E Ostrosky
Arvin K Poquette
Jennifer O Chui
Alejandro A Saylors
Ricardo N Venere
Mayumi C Figeroa
Francesco Y Chui
Murillo A Nicka
David G Iturbide
Leon F Chui
Sinclair Z Slusarski
Maria B Doe
Isabel F Inouye
Sinclair E Doe
Faith T Paprocki
Chavez H Gillian
Julie W Nestle
Misaki F Nestle
Francesco J Flosi
Chavez H Poquette
Tony C Vocelka
Johnson M Garufi
Aruna O Oldroyd
David D Flosi
Munro T Foller
Ricardo L Royster
IdCountryDate
1000Brazil2024-05-31
1001India2024-06-16
1002Argentina2024-06-06
1003Japan2024-06-16
1004United Kingdom2024-05-21
1005Russia2024-05-25
1006France2024-06-07
1007Australia2024-05-24
1008Russia2024-05-26
1009Russia2024-05-23
1010Canada2024-05-27
1011Japan2024-06-09
1012France2024-05-21
1013Spain2024-06-15
1014United Kingdom2024-06-07
1015Argentina2024-05-28
1016Canada2024-06-05
1017India2024-06-04
1018Canada2024-06-13
1019Brazil2024-06-10
1020Russia2024-05-30
1021Germany2024-05-21
1022Argentina2024-05-24
1023Russia2024-06-12
1024Argentina2024-06-13
1025Australia2024-05-29
1026Australia2024-05-29
1027Japan2024-05-24
1028Canada2024-06-13
1029Brazil2024-06-14
1030Brazil2024-05-18
1031France2024-05-20
1032Brazil2024-06-02
1033Australia2024-05-19
1034India2024-06-15
1035Argentina2024-06-02
1036Argentina2024-06-16
1037Italy2024-05-23
1038Spain2024-05-30
1039Argentina2024-05-20
1040Argentina2024-06-12
1041Germany2024-05-19
1042India2024-06-09
1043Germany2024-06-04
1044Russia2024-05-22
1045Japan2024-05-27
1046Italy2024-05-21
1047Australia2024-06-15
1048Russia2024-06-08
1049Russia2024-06-02

On-Demand Data

NameIdCountryDate
Munro W Gaucho1000Argentina2024-06-14
Arvin V Schemmer1001France2024-05-20
James G Tollner1002France2024-05-30
Jones P Malet1003Argentina2024-05-31
Mayumi E Foller1004Canada2024-05-21
Julie J Malet1005Canada2024-06-07
Ricardo T Whobrey1006Spain2024-05-24
Adams O Albares1007Canada2024-05-20
Jennifer C Bolognia1008Spain2024-06-11
Darci M Schemmer1009Canada2024-05-23
Rodrigues P Venere1010Japan2024-05-26
Clifford K Garufi1011France2024-05-24
Ashley G Wieser1012United Kingdom2024-05-29
Johnson Y Poquette1013Japan2024-06-08
Maria O Kusko1014Italy2024-06-14
Deepesh Q Rulapaugh1015Canada2024-06-05
Costa M Dilliard1016Brazil2024-06-05
Octavia I Paprocki1017India2024-06-13
Aika W Inouye1018Brazil2024-06-03
Rodrigues R Foller1019Italy2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire I SaylorsGermanyBernardo Dominic RENEWAL
James T SchemmerIndiaOnyama Limba QUALIFIED
Juan O GlickCanadaAsiya Javayant RENEWAL
Johnson X GlickGermanyAsiya Javayant RENEWAL
Clifford K AmigonCanadaIvan Magalhaes UNQUALIFIED
Misaki C SlusarskiArgentinaXuxue Feng NEGOTIATION
Francesco Z GillianCanadaElwin Sharvill NEW
Kaitlin L BriddickBrazilElwin Sharvill NEGOTIATION
Jennifer E RulapaughSpainIoni Bowcher QUALIFIED
Nicolas V AlbaresSpainElwin Sharvill QUALIFIED
Jeanfrancois G WaycottItalyAmy Elsner QUALIFIED
David F FollerIndiaAmy Elsner RENEWAL
Juan V AmigonIndiaAmy Elsner NEW
Adams F DoeIndiaIvan Magalhaes NEW
Jones I SergiIndiaOnyama Limba NEW
Arvin V SlusarskiItalyStephen Shaw UNQUALIFIED
Faith K RutaAustraliaBernardo Dominic NEW
Kaitlin Q TollnerSpainBernardo Dominic PROPOSAL
Sinclair E CampainSpainIvan Magalhaes UNQUALIFIED
Jones W FlosiSpainOnyama Limba NEW
Johnson Q SergiJapanElwin Sharvill PROPOSAL
Smith E MorascaFranceStephen Shaw RENEWAL
Jennifer L SaylorsGermanyIvan Magalhaes NEW
Chavez J WaycottBrazilOnyama Limba NEW
Aditya M MorascaGermanyBernardo Dominic PROPOSAL
Juan Y AmigonGermanyAnna Fali RENEWAL
Tony I WieserRussiaStephen Shaw PROPOSAL
David F ShinkoItalyAnna Fali NEGOTIATION
Antonio C AmigonFranceStephen Shaw RENEWAL
Murillo F BowleyGermanyBernardo Dominic RENEWAL
Emily S MaletGermanyIvan Magalhaes QUALIFIED
Cody O ShinkoJapanElwin Sharvill PROPOSAL
Jeanfrancois C VenereBrazilIvan Magalhaes PROPOSAL
Misaki P GarufiSpainAmy Elsner PROPOSAL
Morrow H SergiArgentinaStephen Shaw PROPOSAL
Octavia K CaudyBrazilStephen Shaw UNQUALIFIED
Kaitlin G BowleyUnited KingdomXuxue Feng NEW
Munro F WhobreyCanadaIoni Bowcher NEGOTIATION
Mujtaba Z FigeroaFranceElwin Sharvill NEW
James V NestleIndiaStephen Shaw NEW

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