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
Kadeem S CaldareraCanadaElwin Sharvill PROPOSAL
Ivar Z WieserCanadaAnna Fali PROPOSAL
Wickens C PaprockiSpainAnna Fali PROPOSAL
Clifford F StensethArgentinaIvan Magalhaes NEW
Izzy I OstroskySpainIoni Bowcher NEGOTIATION
Aditya M GillianArgentinaElwin Sharvill UNQUALIFIED
Maria J MacleadIndiaXuxue Feng NEGOTIATION
Clifford X MorascaUnited KingdomAnna Fali NEGOTIATION
Nicolas C RulapaughSpainIoni Bowcher UNQUALIFIED
Emily R BowleyGermanyAnna Fali RENEWAL
Jones Z StockhamJapanAnna Fali NEW
Salvatore Q OldroydGermanyXuxue Feng NEW
Ivar E SergiCanadaBernardo Dominic QUALIFIED
Emily Y RimGermanyOnyama Limba PROPOSAL
Juan P KuskoFranceAsiya Javayant RENEWAL
Francesco J FigeroaArgentinaAnna Fali QUALIFIED
Darci H GauchoRussiaAsiya Javayant NEW
Isabel F PaprockiCanadaElwin Sharvill UNQUALIFIED
Misaki S KolmetzUnited KingdomAmy Elsner NEGOTIATION
Johnson K SergiCanadaAmy Elsner NEW
Johnson N SchemmerUnited KingdomAnna Fali PROPOSAL
Arvin M NickaGermanyStephen Shaw UNQUALIFIED
Emily L RutaUnited KingdomIvan Magalhaes NEGOTIATION
Smith Z NickaSpainElwin Sharvill UNQUALIFIED
Misaki F SergiItalyStephen Shaw NEGOTIATION
Jones D TollnerCanadaElwin Sharvill NEW
Johnson U SergiSpainXuxue Feng NEGOTIATION
David M FigeroaFranceIvan Magalhaes RENEWAL
Juan A CaudyFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois L SergiCanadaXuxue Feng PROPOSAL
Cody M BowleyItalyIvan Magalhaes NEW
Johnson U DoeAustraliaXuxue Feng UNQUALIFIED
Alejandro H MaletCanadaIoni Bowcher NEGOTIATION
Munro A KolmetzBrazilStephen Shaw NEW
Johnson N FlosiItalyXuxue Feng PROPOSAL
Emily F GlickJapanAmy Elsner PROPOSAL
Alejandro X WaycottFranceXuxue Feng NEGOTIATION
Wickens Q VenereBrazilAsiya Javayant RENEWAL
Emily J BologniaCanadaAmy Elsner NEGOTIATION
Emily Y KuskoGermanyIvan Magalhaes QUALIFIED
Arvin F GillianIndiaAmy Elsner RENEWAL
Jones I GillianItalyAmy Elsner RENEWAL
Antonio R StockhamUnited KingdomXuxue Feng PROPOSAL
Ricardo G ButtRussiaBernardo Dominic PROPOSAL
Faith L AlbaresSpainIvan Magalhaes QUALIFIED
Cody M AlbaresFranceBernardo Dominic NEW
Antonio B RimIndiaAsiya Javayant NEGOTIATION
Chavez Z CaudySpainBernardo Dominic RENEWAL
Maria D MacleadFranceAnna Fali UNQUALIFIED
Emily F GarufiBrazilXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem J MarrierJapanAmy Elsner PROPOSAL
Julie N DoeArgentinaStephen Shaw NEW
Isabel J NickaCanadaAsiya Javayant UNQUALIFIED
Francesco T WieserArgentinaAmy Elsner QUALIFIED
Misaki F MaletArgentinaXuxue Feng RENEWAL
Isabel I WieserFranceAsiya Javayant RENEWAL
Faith R GlickJapanIoni Bowcher NEW
Maisha J MaletJapanAmy Elsner NEGOTIATION
Misaki I NickaRussiaBernardo Dominic NEW
Nicolas S BriddickArgentinaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja E FollerFrance2024-06-03Chemel, James L Cpa NEGOTIATION27Onyama Limba
1001Ivar O WhobreyArgentina2024-06-09Rousseaux, Michael Esq PROPOSAL86Amy Elsner
1002Munro F FollerCanada2024-06-17Morlong Associates NEW30Elwin Sharvill
1003Faith O AlbaresRussia2024-05-29Truhlar And Truhlar Attys UNQUALIFIED19Anna Fali
1004Sinclair N ChuiItaly2024-06-05Rousseaux, Michael Esq QUALIFIED43Elwin Sharvill
1005Emily X MaletRussia2024-06-13Feiner Bros NEW62Xuxue Feng
1006Octavia R GillianAustralia2024-06-18Dorl, James J Esq QUALIFIED76Elwin Sharvill
1007James D PaprockiItaly2024-05-26Truhlar And Truhlar Attys NEW20Elwin Sharvill
1008Tony A FollerCanada2024-06-14Commercial Press UNQUALIFIED43Elwin Sharvill
1009Smith O TollnerSpain2024-05-28Buckley Miller Wright NEGOTIATION39Ivan Magalhaes
1010Arvin V PerinUnited Kingdom2024-05-26Feltz Printing Service UNQUALIFIED76Onyama Limba
1011Kaitlin D SlusarskiAustralia2024-05-30Feiner Bros UNQUALIFIED90Anna Fali
1012Chavez M NickaUnited Kingdom2024-05-28Rousseaux, Michael Esq NEW32Stephen Shaw
1013Faith E BriddickRussia2024-05-25Truhlar And Truhlar Attys QUALIFIED8Elwin Sharvill
1014Jeanfrancois N SaylorsIndia2024-06-07Printing Dimensions NEW58Asiya Javayant
1015Costa W GauchoArgentina2024-05-26Commercial Press NEW84Anna Fali
1016Julie V NestleSpain2024-06-18Benton, John B Jr PROPOSAL78Ioni Bowcher
1017Isabel E ChuiFrance2024-06-19Morlong Associates NEW98Xuxue Feng
1018Ashley B StensethCanada2024-05-23Feiner Bros UNQUALIFIED68Xuxue Feng
1019David F FigeroaIndia2024-06-19Chanay, Jeffrey A Esq NEW82Onyama Limba
1020Kadeem I DoeRussia2024-06-15Buckley Miller Wright UNQUALIFIED0Ioni Bowcher
1021Maria L VenereIndia2024-06-04Rangoni Of Florence RENEWAL15Xuxue Feng
1022Jeanfrancois Q FollerSpain2024-05-26King, Christopher A Esq PROPOSAL78Asiya Javayant
1023Morrow B TollnerItaly2024-06-16Feiner Bros UNQUALIFIED42Anna Fali
1024Julie N DarakjyArgentina2024-06-09Feiner Bros UNQUALIFIED75Ioni Bowcher
1025Nicolas Y AlbaresCanada2024-05-25King, Christopher A Esq NEW11Asiya Javayant
1026Costa I ButtUnited Kingdom2024-06-10King, Christopher A Esq PROPOSAL50Ioni Bowcher
1027Ricardo A GlickGermany2024-06-09Benton, John B Jr NEW30Elwin Sharvill
1028Alejandro T CaudyRussia2024-06-17Printing Dimensions NEGOTIATION11Onyama Limba
1029Maria P IturbideCanada2024-05-28King, Christopher A Esq RENEWAL64Bernardo Dominic
1030Octavia O VocelkaCanada2024-05-23Rousseaux, Michael Esq PROPOSAL89Xuxue Feng
1031Nicolas X FollerSpain2024-05-29Printing Dimensions UNQUALIFIED24Bernardo Dominic
1032Jennifer L CampainCanada2024-06-15Feiner Bros UNQUALIFIED77Elwin Sharvill
1033Arvin W SaylorsItaly2024-06-11Printing Dimensions QUALIFIED23Asiya Javayant
1034Antonio L SergiFrance2024-06-19Commercial Press NEW3Stephen Shaw
1035Isabel Y InouyeAustralia2024-06-09Rousseaux, Michael Esq NEW62Stephen Shaw
1036Smith F MacleadAustralia2024-05-25Feltz Printing Service QUALIFIED6Elwin Sharvill
1037Clifford C StensethBrazil2024-05-30King, Christopher A Esq NEW78Xuxue Feng
1038Maisha Y FlosiCanada2024-06-18Chemel, James L Cpa RENEWAL14Amy Elsner
1039Greenwood F GarufiRussia2024-06-19Feltz Printing Service PROPOSAL3Ioni Bowcher
1040Johnson H AlbaresGermany2024-06-18Rangoni Of Florence RENEWAL71Ioni Bowcher
1041Ashley P BriddickAustralia2024-06-20Chanay, Jeffrey A Esq NEGOTIATION71Ioni Bowcher
1042Jeanfrancois J VenereGermany2024-06-05King, Christopher A Esq RENEWAL30Bernardo Dominic
1043Ivar W RimArgentina2024-06-19Dorl, James J Esq UNQUALIFIED35Onyama Limba
1044Kadeem A IturbideBrazil2024-05-29King, Christopher A Esq RENEWAL97Asiya Javayant
1045Greenwood N MaletIndia2024-06-04Commercial Press RENEWAL14Asiya Javayant
1046Cody X VocelkaCanada2024-06-04Rousseaux, Michael Esq NEGOTIATION74Asiya Javayant
1047Adams L GillianRussia2024-06-17Dorl, James J Esq RENEWAL22Elwin Sharvill
1048Maria E PaprockiUnited Kingdom2024-06-12Commercial Press QUALIFIED73Anna Fali
1049Isabel L RutaBrazil2024-06-04Morlong Associates PROPOSAL42Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Smith S WhobreyGermanyAsiya Javayant QUALIFIED
Rodrigues U RoysterRussiaAsiya Javayant PROPOSAL
Leja W SchemmerItalyBernardo Dominic RENEWAL
Kaitlin J DoeRussiaAmy Elsner RENEWAL
Johnson L OstroskyCanadaElwin Sharvill UNQUALIFIED
Clifford R CaudyJapanIoni Bowcher NEGOTIATION
Francesco A KolmetzUnited KingdomOnyama Limba NEGOTIATION
Morrow Q IturbideAustraliaElwin Sharvill NEW
Silvio N SergiJapanElwin Sharvill NEW
Aruna X RimIndiaAmy Elsner NEGOTIATION
Aika O CampainFranceOnyama Limba RENEWAL
Antonio H RulapaughUnited KingdomStephen Shaw NEW
Deepesh P BriddickIndiaAnna Fali RENEWAL
Ashley K KuskoJapanElwin Sharvill PROPOSAL
Alejandro Q FollerRussiaAnna Fali NEGOTIATION
Cody O MacleadJapanIoni Bowcher RENEWAL
Francesco I FerenczCanadaAmy Elsner UNQUALIFIED
Greenwood X CampainItalyIoni Bowcher RENEWAL
Octavia C IturbideFranceXuxue Feng UNQUALIFIED
Julie P WieserRussiaIvan Magalhaes PROPOSAL
Claire P RimCanadaAsiya Javayant RENEWAL
Silvio E DilliardArgentinaIoni Bowcher RENEWAL
Alejandro H CampainAustraliaOnyama Limba RENEWAL
Kaitlin E FlosiGermanyStephen Shaw NEW
Chavez G DarakjyBrazilElwin Sharvill NEW
Maisha P RulapaughItalyStephen Shaw NEW
Costa G MacleadFranceAmy Elsner RENEWAL
Greenwood S WaycottIndiaAmy Elsner NEGOTIATION
Aditya B MorascaFranceAnna Fali NEGOTIATION
Kadeem F KuskoBrazilAmy Elsner RENEWAL
Tony F SaylorsRussiaAmy Elsner NEGOTIATION
Munro X GillianArgentinaOnyama Limba RENEWAL
Maisha G PaprockiIndiaBernardo Dominic QUALIFIED
Julie S PoquetteFranceElwin Sharvill RENEWAL
Murillo L KuskoArgentinaAmy Elsner PROPOSAL
Jones V VocelkaCanadaAnna Fali NEW
Leon T GarufiAustraliaAsiya Javayant QUALIFIED
Mayumi Y NestleCanadaIvan Magalhaes UNQUALIFIED
Maria Y PaprockiGermanyIoni Bowcher NEGOTIATION
Izzy M StensethUnited KingdomElwin Sharvill UNQUALIFIED
Aditya N BowleyCanadaStephen Shaw NEW
Kadeem W OldroydIndiaIoni Bowcher NEGOTIATION
Misaki H PerinArgentinaAsiya Javayant UNQUALIFIED
Munro P PoquetteAustraliaBernardo Dominic NEW
Jones K GauchoFranceAsiya Javayant NEW
David A ShinkoJapanStephen Shaw PROPOSAL
Arvin N StensethSpainXuxue Feng UNQUALIFIED
Nicolas V IturbideUnited KingdomIvan Magalhaes NEW
Deepesh B InouyeJapanIoni Bowcher UNQUALIFIED
Maisha A MacleadCanadaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Faith Z Whobrey
Octavia I Nestle
Isabel H Bowley
Jeanfrancois P Slusarski
Cody G Morasca
Smith A Figeroa
Maria B Sergi
Darci F Nestle
Darci E Shinko
Greenwood Q Gillian
Aika Q Bolognia
Smith F Malet
James Z Maclead
Johnson W Schemmer
Mujtaba U Perin
Darci W Ruta
Alejandro W Marrier
Maisha Y Ostrosky
Isabel V Gaucho
Aruna J Albares
Ashley X Venere
Silvio K Gillian
Mujtaba M Morasca
Greenwood I Rim
Izzy T Figeroa
Johnson V Saylors
Chavez N Bowley
Ricardo U Iturbide
Juan G Briddick
Jones L Tollner
Tony P Maclead
Cody A Ferencz
Antonio U Glick
Maria F Perin
Mayumi A Maclead
Faith L Vocelka
Ricardo W Caldarera
Izzy P Waycott
Ashley R Ruta
David N Slusarski
Kadeem C Saylors
Jeanfrancois B Inouye
David V Schemmer
Salvatore T Tollner
Francesco R Foller
Munro X Waycott
Chavez C Whobrey
Faith G Briddick
Murillo S Perin
Sinclair O Briddick
IdCountryDate
1000Spain2024-06-02
1001Italy2024-06-21
1002Japan2024-06-14
1003Australia2024-05-29
1004Japan2024-05-29
1005Germany2024-05-23
1006India2024-06-09
1007Canada2024-05-25
1008United Kingdom2024-06-01
1009Russia2024-06-12
1010Spain2024-05-29
1011France2024-06-12
1012Canada2024-05-29
1013Brazil2024-06-08
1014Argentina2024-05-25
1015Spain2024-05-28
1016Canada2024-06-19
1017Germany2024-06-11
1018Italy2024-06-02
1019Canada2024-05-23
1020India2024-06-01
1021Argentina2024-06-05
1022Brazil2024-06-17
1023Argentina2024-06-14
1024Germany2024-06-06
1025United Kingdom2024-06-04
1026Canada2024-06-07
1027Argentina2024-06-20
1028Japan2024-05-30
1029Japan2024-05-27
1030Germany2024-06-14
1031Italy2024-06-18
1032Germany2024-06-07
1033Spain2024-06-20
1034France2024-06-01
1035India2024-05-29
1036Brazil2024-06-03
1037France2024-06-10
1038United Kingdom2024-05-24
1039Brazil2024-06-03
1040Russia2024-05-26
1041Argentina2024-05-26
1042Japan2024-05-30
1043Germany2024-06-20
1044Brazil2024-06-20
1045Germany2024-06-14
1046Australia2024-05-26
1047Australia2024-06-03
1048India2024-06-08
1049Spain2024-05-23

On-Demand Data

NameIdCountryDate
Alejandro G Malet1000Russia2024-05-27
James R Garufi1001Canada2024-06-05
Aruna T Whobrey1002Australia2024-06-21
Mujtaba M Glick1003India2024-06-04
Alejandro O Darakjy1004United Kingdom2024-06-08
Leon U Poquette1005Russia2024-06-16
Cody C Dilliard1006France2024-05-25
Octavia S Glick1007France2024-05-31
Darci L Kolmetz1008Spain2024-06-16
Adams K Inouye1009United Kingdom2024-06-20
Sinclair M Iturbide1010Spain2024-05-29
Jefferson A Doe1011India2024-06-10
Jennifer T Nicka1012United Kingdom2024-06-17
Rodrigues L Oldroyd1013Italy2024-06-18
Johnson E Figeroa1014United Kingdom2024-06-13
Ricardo P Paprocki1015Australia2024-06-10
Aditya G Tollner1016Australia2024-06-17
Ashley O Inouye1017Italy2024-05-28
Kadeem D Morasca1018India2024-06-12
Greenwood G Butt1019Italy2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro E WieserUnited KingdomIvan Magalhaes RENEWAL
Maria G TollnerUnited KingdomElwin Sharvill NEW
Aruna A DilliardCanadaElwin Sharvill UNQUALIFIED
Maria A MaletIndiaStephen Shaw NEW
Clifford S GillianRussiaXuxue Feng PROPOSAL
Alejandro Q WaycottAustraliaXuxue Feng NEGOTIATION
Jefferson W PerinRussiaBernardo Dominic PROPOSAL
Maisha P OldroydUnited KingdomStephen Shaw NEGOTIATION
Ivar C OstroskyBrazilIoni Bowcher NEGOTIATION
Tony Q CampainItalyIoni Bowcher NEGOTIATION
Mujtaba P MorascaRussiaBernardo Dominic NEGOTIATION
Silvio I SchemmerCanadaElwin Sharvill RENEWAL
Antonio E SchemmerFranceAnna Fali NEGOTIATION
Silvio E CaudyUnited KingdomIvan Magalhaes RENEWAL
Clifford D ChuiFranceBernardo Dominic QUALIFIED
Aruna S WhobreySpainAmy Elsner NEW
David C NestleSpainStephen Shaw NEW
Mayumi M SergiBrazilIoni Bowcher PROPOSAL
Stacey X MaletIndiaXuxue Feng PROPOSAL
Misaki F GarufiItalyAmy Elsner UNQUALIFIED
Rodrigues I PaprockiAustraliaXuxue Feng UNQUALIFIED
Maria Y FollerRussiaAnna Fali NEGOTIATION
Tony P FerenczBrazilBernardo Dominic NEGOTIATION
Jones N OldroydItalyBernardo Dominic QUALIFIED
Mayumi R InouyeGermanyAsiya Javayant PROPOSAL
Misaki S AmigonCanadaIvan Magalhaes RENEWAL
Claire W AlbaresCanadaIoni Bowcher QUALIFIED
Smith U RoysterJapanXuxue Feng NEW
Mayumi V SaylorsIndiaXuxue Feng QUALIFIED
Ashley D PoquetteGermanyAnna Fali UNQUALIFIED
Silvio C SergiSpainIvan Magalhaes NEW
Izzy L OstroskyAustraliaOnyama Limba RENEWAL
Jeanfrancois M TollnerIndiaAsiya Javayant NEW
Kaitlin V OldroydJapanOnyama Limba QUALIFIED
Tony W GillianJapanAnna Fali RENEWAL
Claire N NestleJapanXuxue Feng NEW
Aruna F RimRussiaStephen Shaw NEGOTIATION
Munro U NestleCanadaAsiya Javayant PROPOSAL
Leja N SlusarskiItalyAmy Elsner NEW
Silvio O VocelkaCanadaIvan Magalhaes 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>