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
Silvio D FerenczIndiaIvan Magalhaes NEGOTIATION
Morrow O GauchoItalyIoni Bowcher RENEWAL
Antonio V GlickSpainIoni Bowcher NEW
Faith G MaletRussiaElwin Sharvill UNQUALIFIED
Greenwood B ShinkoIndiaAmy Elsner QUALIFIED
Deepesh N StensethItalyXuxue Feng PROPOSAL
Smith T InouyeJapanStephen Shaw QUALIFIED
Julie J OldroydBrazilIvan Magalhaes NEW
Deepesh D SergiBrazilAmy Elsner NEGOTIATION
Maria F ShinkoRussiaAmy Elsner QUALIFIED
David S FerenczAustraliaBernardo Dominic RENEWAL
Deepesh Z CaudyItalyStephen Shaw UNQUALIFIED
Mayumi N RoysterArgentinaIvan Magalhaes PROPOSAL
Rodrigues C RulapaughBrazilXuxue Feng NEGOTIATION
Cody W RimArgentinaIoni Bowcher RENEWAL
Mujtaba X SchemmerArgentinaXuxue Feng QUALIFIED
Aika B SchemmerIndiaAmy Elsner PROPOSAL
Adams J RimUnited KingdomIvan Magalhaes NEW
Smith X StensethArgentinaAmy Elsner PROPOSAL
Salvatore J MarrierCanadaIvan Magalhaes UNQUALIFIED
Morrow G ChuiSpainElwin Sharvill PROPOSAL
Wickens Z ShinkoRussiaIvan Magalhaes NEGOTIATION
Jones U SlusarskiFranceAsiya Javayant UNQUALIFIED
Ivar H WaycottRussiaXuxue Feng UNQUALIFIED
Leon K MaletIndiaBernardo Dominic PROPOSAL
James Y RutaSpainBernardo Dominic RENEWAL
Mayumi W StockhamIndiaElwin Sharvill NEW
Jeanfrancois L OldroydItalyOnyama Limba NEGOTIATION
Jones S ShinkoRussiaAnna Fali PROPOSAL
James O ButtBrazilElwin Sharvill RENEWAL
David O GarufiSpainAnna Fali RENEWAL
Ivar O RutaCanadaStephen Shaw QUALIFIED
Sinclair P VocelkaArgentinaOnyama Limba PROPOSAL
Silvio E RulapaughRussiaIvan Magalhaes UNQUALIFIED
Antonio N AlbaresAustraliaBernardo Dominic PROPOSAL
Leon J RutaBrazilXuxue Feng QUALIFIED
Jones U OldroydIndiaIvan Magalhaes RENEWAL
Izzy F MorascaFranceXuxue Feng RENEWAL
Rodrigues E FollerSpainOnyama Limba PROPOSAL
Rodrigues G ChuiJapanXuxue Feng UNQUALIFIED
David J WhobreyBrazilIvan Magalhaes NEGOTIATION
Deepesh L BriddickIndiaIoni Bowcher QUALIFIED
Arvin I MorascaIndiaAnna Fali UNQUALIFIED
Sinclair N DarakjyBrazilStephen Shaw PROPOSAL
Ricardo E MaletItalyElwin Sharvill NEW
Tony R FlosiSpainBernardo Dominic UNQUALIFIED
Aruna J WaycottGermanyStephen Shaw NEW
Alejandro G BriddickIndiaAmy Elsner NEGOTIATION
Darci I PoquetteArgentinaElwin Sharvill RENEWAL
Faith P KuskoAustraliaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia N MorascaItalyElwin Sharvill UNQUALIFIED
Aditya L MaletBrazilBernardo Dominic RENEWAL
Jones Z GillianArgentinaBernardo Dominic UNQUALIFIED
Cody U OstroskyBrazilOnyama Limba NEW
Stacey W WieserBrazilElwin Sharvill RENEWAL
Alejandro V StockhamRussiaAmy Elsner QUALIFIED
Johnson H AmigonArgentinaXuxue Feng NEGOTIATION
Leon R KuskoJapanXuxue Feng NEW
Leja O SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED
Jones J WieserRussiaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams G CaudyCanada2024-06-01Commercial Press PROPOSAL55Xuxue Feng
1001Maria V VenereGermany2024-06-05Commercial Press NEW34Ioni Bowcher
1002Claire R MorascaUnited Kingdom2024-06-09Feiner Bros PROPOSAL19Ioni Bowcher
1003Rodrigues B SlusarskiGermany2024-06-21Truhlar And Truhlar Attys NEGOTIATION19Asiya Javayant
1004Jones F ShinkoIndia2024-06-02Benton, John B Jr NEW98Onyama Limba
1005Morrow N SchemmerJapan2024-06-04Chapman, Ross E Esq RENEWAL36Xuxue Feng
1006Arvin B MarrierGermany2024-06-03Morlong Associates QUALIFIED13Bernardo Dominic
1007Munro E SchemmerItaly2024-05-26Chanay, Jeffrey A Esq NEGOTIATION23Stephen Shaw
1008Costa H CaudyGermany2024-06-20Commercial Press UNQUALIFIED22Anna Fali
1009Alejandro J GarufiRussia2024-06-18Buckley Miller Wright UNQUALIFIED93Amy Elsner
1010Chavez G InouyeFrance2024-06-09Truhlar And Truhlar Attys NEGOTIATION1Stephen Shaw
1011Cody E PerinRussia2024-05-24Buckley Miller Wright UNQUALIFIED78Bernardo Dominic
1012Alejandro T KuskoIndia2024-05-23Morlong Associates QUALIFIED21Bernardo Dominic
1013Aruna B AmigonUnited Kingdom2024-06-19Chemel, James L Cpa NEW27Xuxue Feng
1014Deepesh D PerinAustralia2024-06-06Chemel, James L Cpa RENEWAL76Anna Fali
1015Jefferson P MacleadCanada2024-06-04Benton, John B Jr QUALIFIED56Xuxue Feng
1016Costa Z NickaSpain2024-06-20Commercial Press UNQUALIFIED92Ivan Magalhaes
1017Ashley Q AlbaresCanada2024-06-09Commercial Press RENEWAL24Ivan Magalhaes
1018Claire M CaldareraSpain2024-06-06Rousseaux, Michael Esq PROPOSAL22Amy Elsner
1019Ricardo G MaletRussia2024-06-19Chanay, Jeffrey A Esq NEGOTIATION25Onyama Limba
1020Sinclair Y OstroskyBrazil2024-05-28Truhlar And Truhlar Attys PROPOSAL98Ioni Bowcher
1021Ricardo O VenereIndia2024-06-15Dorl, James J Esq UNQUALIFIED65Onyama Limba
1022Leja G FlosiJapan2024-05-24Commercial Press RENEWAL35Bernardo Dominic
1023Johnson J DoeUnited Kingdom2024-06-19Truhlar And Truhlar Attys PROPOSAL19Onyama Limba
1024Chavez K CaudyItaly2024-05-30Dorl, James J Esq QUALIFIED57Bernardo Dominic
1025Arvin F FlosiArgentina2024-06-07Commercial Press UNQUALIFIED51Onyama Limba
1026Misaki J SchemmerRussia2024-05-27Chapman, Ross E Esq RENEWAL4Anna Fali
1027Misaki F AlbaresBrazil2024-06-14Rousseaux, Michael Esq NEW38Bernardo Dominic
1028Chavez O SergiSpain2024-05-23Morlong Associates NEGOTIATION63Amy Elsner
1029Clifford V StockhamBrazil2024-06-16Morlong Associates NEGOTIATION0Amy Elsner
1030Arvin E KuskoIndia2024-06-09Rousseaux, Michael Esq PROPOSAL81Bernardo Dominic
1031Ricardo F VenereUnited Kingdom2024-06-20Buckley Miller Wright RENEWAL27Stephen Shaw
1032Isabel Q AlbaresAustralia2024-06-05Feiner Bros QUALIFIED63Xuxue Feng
1033Aditya N DarakjyAustralia2024-06-07Dorl, James J Esq NEGOTIATION85Bernardo Dominic
1034Emily S RulapaughJapan2024-05-26Feiner Bros NEW55Amy Elsner
1035Maisha W CaudyFrance2024-05-30Feiner Bros RENEWAL79Amy Elsner
1036Silvio A DarakjySpain2024-06-21Rousseaux, Michael Esq UNQUALIFIED33Onyama Limba
1037Costa R DarakjyItaly2024-06-09Chapman, Ross E Esq NEGOTIATION3Onyama Limba
1038Leon N VenereItaly2024-06-01Buckley Miller Wright PROPOSAL93Asiya Javayant
1039Aditya A AlbaresIndia2024-06-16Dorl, James J Esq NEW96Amy Elsner
1040Octavia T AlbaresRussia2024-06-18Chapman, Ross E Esq RENEWAL59Stephen Shaw
1041Isabel K InouyeCanada2024-06-07Feltz Printing Service QUALIFIED49Onyama Limba
1042Faith Q ButtRussia2024-06-04Commercial Press PROPOSAL45Ioni Bowcher
1043Smith X AlbaresBrazil2024-06-02Printing Dimensions QUALIFIED8Anna Fali
1044Darci C TollnerArgentina2024-06-11Chemel, James L Cpa QUALIFIED51Bernardo Dominic
1045Maria Z FigeroaUnited Kingdom2024-06-13Buckley Miller Wright PROPOSAL24Asiya Javayant
1046Jennifer A StockhamBrazil2024-06-08Chanay, Jeffrey A Esq RENEWAL63Amy Elsner
1047Alejandro T AlbaresBrazil2024-06-01Feltz Printing Service PROPOSAL57Bernardo Dominic
1048Morrow Q GauchoRussia2024-06-16Rangoni Of Florence PROPOSAL10Amy Elsner
1049Maria R RimIndia2024-05-28Chemel, James L Cpa NEGOTIATION89Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Munro S StockhamGermanyBernardo Dominic NEGOTIATION
Deepesh Q AmigonCanadaOnyama Limba PROPOSAL
Salvatore Q RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Cody E BowleySpainAmy Elsner UNQUALIFIED
Leon P CaldareraBrazilAsiya Javayant NEGOTIATION
Tony E GlickRussiaIvan Magalhaes NEW
Jones F RutaUnited KingdomXuxue Feng QUALIFIED
Aika M DarakjyRussiaElwin Sharvill PROPOSAL
Greenwood F OldroydIndiaOnyama Limba NEW
Octavia J AmigonFranceAnna Fali NEW
Silvio M VocelkaSpainElwin Sharvill NEGOTIATION
David T SaylorsArgentinaIvan Magalhaes QUALIFIED
Smith H ButtJapanXuxue Feng NEW
Faith M CampainUnited KingdomAsiya Javayant RENEWAL
Arvin C GauchoJapanAsiya Javayant NEW
Octavia Q PaprockiBrazilOnyama Limba QUALIFIED
Smith P CaudyRussiaXuxue Feng NEW
Leja N SlusarskiGermanyIoni Bowcher NEW
Jeanfrancois Z ShinkoIndiaStephen Shaw UNQUALIFIED
Cody M DilliardIndiaAmy Elsner PROPOSAL
Wickens T WieserArgentinaElwin Sharvill PROPOSAL
Alejandro V DoeRussiaAsiya Javayant PROPOSAL
Arvin B AlbaresJapanIoni Bowcher QUALIFIED
Tony G CaudyAustraliaIvan Magalhaes RENEWAL
Jennifer Z BologniaUnited KingdomAsiya Javayant QUALIFIED
Nicolas T ButtAustraliaIvan Magalhaes UNQUALIFIED
Kadeem Y AmigonItalyIvan Magalhaes NEGOTIATION
Greenwood J NickaSpainOnyama Limba UNQUALIFIED
Murillo J CaldareraCanadaAsiya Javayant UNQUALIFIED
Aruna T KuskoRussiaStephen Shaw NEGOTIATION
Maisha V AmigonRussiaElwin Sharvill NEW
Wickens D RulapaughIndiaAmy Elsner PROPOSAL
Chavez Q ShinkoGermanyIoni Bowcher NEGOTIATION
Greenwood R ShinkoItalyAsiya Javayant PROPOSAL
Tony Z FollerSpainAmy Elsner PROPOSAL
Rodrigues X NestleArgentinaStephen Shaw PROPOSAL
Morrow Q GillianUnited KingdomElwin Sharvill NEGOTIATION
Kaitlin T GlickCanadaStephen Shaw RENEWAL
Francesco D WaycottUnited KingdomBernardo Dominic QUALIFIED
Kadeem E KuskoItalyOnyama Limba PROPOSAL
David X StockhamGermanyIvan Magalhaes NEW
Salvatore F RulapaughItalyOnyama Limba UNQUALIFIED
Stacey N SchemmerGermanyElwin Sharvill UNQUALIFIED
Jefferson F GlickGermanyElwin Sharvill NEGOTIATION
Wickens D RimArgentinaXuxue Feng UNQUALIFIED
Rodrigues K RulapaughJapanIoni Bowcher UNQUALIFIED
Munro X FlosiItalyAnna Fali NEW
Smith Z NestleRussiaAsiya Javayant NEW
Faith M GauchoItalyOnyama Limba QUALIFIED
Wickens E SchemmerCanadaElwin Sharvill NEW
Frozen Columns
Name
Leja S Saylors
Jeanfrancois P Perin
Morrow N Iturbide
Nicolas T Gaucho
Greenwood J Chui
Cody X Doe
Aika T Doe
Jennifer T Rulapaugh
Tony C Saylors
Kaitlin U Malet
Arvin L Malet
Aditya R Paprocki
Jefferson A Inouye
Maria B Dilliard
Mayumi Y Albares
Ashley X Gillian
Ashley M Ruta
Leja G Doe
Alejandro N Vocelka
Leja M Flosi
Jeanfrancois E Iturbide
Darci G Stenseth
Stacey X Venere
Isabel S Schemmer
Adams X Malet
Kaitlin A Albares
Jefferson D Amigon
Mujtaba D Stockham
Jefferson C Venere
Munro N Paprocki
Rodrigues J Albares
Juan H Rim
Kadeem A Sergi
Smith O Slusarski
Isabel U Sergi
Greenwood E Albares
James O Royster
Silvio G Saylors
Morrow C Saylors
Clifford Y Ferencz
Jeanfrancois F Shinko
Darci B Ostrosky
Emily Q Waycott
Izzy D Maclead
Jefferson J Oldroyd
Mayumi M Rulapaugh
Leja J Rim
Costa X Rim
Misaki T Bolognia
Sinclair Q Nestle
IdCountryDate
1000Australia2024-06-08
1001United Kingdom2024-05-29
1002United Kingdom2024-06-10
1003Canada2024-06-02
1004Spain2024-06-15
1005India2024-06-06
1006Germany2024-06-12
1007Germany2024-06-11
1008Canada2024-06-18
1009Japan2024-06-15
1010India2024-06-05
1011Italy2024-06-19
1012Italy2024-06-17
1013Canada2024-05-26
1014Germany2024-06-06
1015India2024-06-09
1016Japan2024-06-02
1017Canada2024-06-03
1018Brazil2024-06-09
1019Canada2024-06-05
1020Germany2024-06-15
1021India2024-05-25
1022Japan2024-05-26
1023Italy2024-06-13
1024Italy2024-06-04
1025Germany2024-06-02
1026India2024-06-08
1027Germany2024-05-30
1028Russia2024-06-05
1029Russia2024-06-17
1030France2024-06-11
1031Spain2024-05-29
1032Spain2024-05-30
1033United Kingdom2024-06-12
1034France2024-06-12
1035Japan2024-06-12
1036Australia2024-06-19
1037Russia2024-06-05
1038Germany2024-05-29
1039Canada2024-06-21
1040France2024-06-03
1041India2024-06-20
1042Japan2024-06-12
1043India2024-06-15
1044India2024-05-24
1045Australia2024-06-04
1046Canada2024-06-07
1047Canada2024-06-17
1048Japan2024-06-01
1049United Kingdom2024-06-17

On-Demand Data

NameIdCountryDate
Isabel Y Foller1000Argentina2024-06-07
Arvin R Malet1001Italy2024-06-21
Aditya B Caudy1002United Kingdom2024-05-26
Adams N Figeroa1003Australia2024-06-21
Mujtaba L Kusko1004India2024-06-16
Mayumi O Sergi1005United Kingdom2024-06-05
Stacey Z Butt1006United Kingdom2024-06-03
Jennifer P Waycott1007United Kingdom2024-06-02
Wickens T Vocelka1008Russia2024-05-28
Claire H Doe1009India2024-06-17
Isabel M Kolmetz1010Canada2024-06-20
Antonio O Paprocki1011Brazil2024-06-02
Claire W Gillian1012Argentina2024-06-18
Isabel N Stockham1013Spain2024-05-25
Salvatore K Malet1014Russia2024-05-26
Octavia V Kolmetz1015Russia2024-06-13
Misaki J Figeroa1016Australia2024-06-20
Greenwood T Ostrosky1017Japan2024-06-04
Murillo P Shinko1018United Kingdom2024-06-21
Salvatore G Albares1019United Kingdom2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel A DoeItalyAmy Elsner NEW
Maisha M ButtAustraliaIoni Bowcher PROPOSAL
Mayumi P KuskoBrazilIvan Magalhaes QUALIFIED
Ricardo H DoeArgentinaOnyama Limba UNQUALIFIED
Johnson A MorascaJapanAmy Elsner QUALIFIED
Alejandro L GlickIndiaOnyama Limba NEW
Nicolas M FerenczCanadaElwin Sharvill NEW
Adams J GauchoItalyAmy Elsner PROPOSAL
Alejandro C BowleyIndiaXuxue Feng NEW
Isabel B StensethCanadaXuxue Feng NEGOTIATION
Aruna G StockhamIndiaAsiya Javayant NEW
Costa F NickaFranceOnyama Limba PROPOSAL
Adams U OldroydAustraliaIvan Magalhaes PROPOSAL
Mayumi Y MorascaArgentinaOnyama Limba UNQUALIFIED
Isabel H BriddickFranceAsiya Javayant NEGOTIATION
Cody Y MaletCanadaAnna Fali NEGOTIATION
Aruna G ShinkoUnited KingdomOnyama Limba NEGOTIATION
Maria F InouyeBrazilXuxue Feng RENEWAL
Isabel Y MaletArgentinaAnna Fali NEGOTIATION
Kadeem G MorascaSpainIvan Magalhaes NEW
Munro W DoeArgentinaStephen Shaw RENEWAL
Mayumi A SchemmerIndiaXuxue Feng QUALIFIED
Sinclair R DilliardBrazilAsiya Javayant RENEWAL
Morrow K CampainJapanIvan Magalhaes NEGOTIATION
Juan E GlickBrazilAnna Fali NEGOTIATION
Rodrigues C PaprockiArgentinaIvan Magalhaes NEW
Nicolas T ButtJapanIvan Magalhaes PROPOSAL
Alejandro I SergiBrazilBernardo Dominic PROPOSAL
Leon U CaldareraGermanyAnna Fali PROPOSAL
James I MaletItalyBernardo Dominic QUALIFIED
Cody K FlosiBrazilOnyama Limba PROPOSAL
Izzy O AmigonUnited KingdomBernardo Dominic PROPOSAL
Kaitlin I GauchoAustraliaStephen Shaw RENEWAL
Jones R FerenczSpainOnyama Limba NEGOTIATION
Julie N PerinUnited KingdomAnna Fali RENEWAL
Deepesh I SaylorsBrazilIvan Magalhaes RENEWAL
Claire M RoysterIndiaBernardo Dominic UNQUALIFIED
Greenwood Q FigeroaJapanIvan Magalhaes NEW
Arvin X WaycottAustraliaStephen Shaw NEW
Alejandro D WieserItalyAmy Elsner 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>