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
Chavez M GauchoSpainElwin Sharvill PROPOSAL
Chavez T SergiRussiaIvan Magalhaes NEW
Juan V RimSpainOnyama Limba QUALIFIED
Maria B StensethSpainBernardo Dominic QUALIFIED
Antonio T DilliardFranceStephen Shaw PROPOSAL
Sinclair S KolmetzFranceAsiya Javayant RENEWAL
Nicolas A SergiItalyXuxue Feng PROPOSAL
Ricardo K PaprockiSpainStephen Shaw NEW
Ivar S CaldareraBrazilStephen Shaw QUALIFIED
Smith R SaylorsRussiaAmy Elsner UNQUALIFIED
Cody H CaldareraAustraliaIoni Bowcher PROPOSAL
Ricardo I CaldareraFranceElwin Sharvill NEW
Johnson M DoeUnited KingdomStephen Shaw NEGOTIATION
Salvatore B KuskoRussiaStephen Shaw RENEWAL
Munro R VocelkaIndiaAmy Elsner RENEWAL
Misaki G FollerGermanyIvan Magalhaes UNQUALIFIED
Jones E DarakjyRussiaAsiya Javayant RENEWAL
Arvin T StockhamUnited KingdomStephen Shaw RENEWAL
Ivar T RutaGermanyAnna Fali QUALIFIED
Isabel N FerenczItalyAnna Fali NEW
Aruna R VocelkaIndiaIvan Magalhaes RENEWAL
Salvatore Q BologniaItalyXuxue Feng PROPOSAL
Jefferson L IturbideArgentinaStephen Shaw PROPOSAL
Munro U AlbaresItalyAsiya Javayant QUALIFIED
Faith C WaycottFranceXuxue Feng RENEWAL
Ricardo J GauchoItalyAnna Fali UNQUALIFIED
Leon D VenereFranceXuxue Feng NEGOTIATION
Octavia K NestleCanadaIoni Bowcher RENEWAL
Maisha Y InouyeSpainBernardo Dominic PROPOSAL
Isabel U StockhamAustraliaBernardo Dominic UNQUALIFIED
Cody N OldroydGermanyIoni Bowcher QUALIFIED
Mayumi O CampainRussiaIvan Magalhaes QUALIFIED
Sinclair B FerenczAustraliaXuxue Feng PROPOSAL
Aruna D GauchoJapanElwin Sharvill NEW
Francesco O ButtRussiaIvan Magalhaes RENEWAL
Octavia P RimGermanyOnyama Limba NEW
Arvin X StockhamAustraliaElwin Sharvill NEGOTIATION
Juan C KuskoItalyElwin Sharvill UNQUALIFIED
Aika G PerinCanadaAsiya Javayant PROPOSAL
Darci M WaycottCanadaAnna Fali NEW
Aditya F DoeJapanIoni Bowcher NEW
Jefferson A OstroskyBrazilXuxue Feng NEW
Tony Z SlusarskiGermanyIvan Magalhaes PROPOSAL
Mujtaba G KolmetzBrazilIvan Magalhaes NEW
Mayumi M MacleadAustraliaAnna Fali UNQUALIFIED
Johnson P SlusarskiUnited KingdomXuxue Feng RENEWAL
Adams N BologniaIndiaAsiya Javayant PROPOSAL
Isabel J ChuiItalyXuxue Feng NEGOTIATION
Munro L VenereIndiaStephen Shaw NEW
Kadeem V GauchoFranceElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony F RutaIndiaIoni Bowcher NEW
Johnson X KuskoItalyBernardo Dominic QUALIFIED
Jefferson T MaletBrazilIoni Bowcher NEGOTIATION
Nicolas L OstroskySpainAnna Fali PROPOSAL
Sinclair F NickaSpainAnna Fali NEW
Aditya M ShinkoAustraliaAnna Fali NEGOTIATION
James K DilliardUnited KingdomAmy Elsner PROPOSAL
Aika J AlbaresItalyAmy Elsner RENEWAL
Wickens C FollerAustraliaIoni Bowcher RENEWAL
Francesco U ButtSpainAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues V MacleadGermany2024-06-09Truhlar And Truhlar Attys QUALIFIED4Anna Fali
1001Francesco N KuskoUnited Kingdom2024-06-01Chemel, James L Cpa NEW65Bernardo Dominic
1002Julie J SchemmerSpain2024-05-28King, Christopher A Esq PROPOSAL36Ivan Magalhaes
1003Misaki D MorascaGermany2024-05-30Rangoni Of Florence RENEWAL41Ivan Magalhaes
1004Jeanfrancois O RulapaughIndia2024-06-06King, Christopher A Esq UNQUALIFIED44Bernardo Dominic
1005Adams T ButtItaly2024-06-11Chemel, James L Cpa NEW62Stephen Shaw
1006Antonio G RulapaughCanada2024-06-14Feiner Bros NEGOTIATION53Bernardo Dominic
1007Jeanfrancois U CaudyItaly2024-06-22Feiner Bros RENEWAL1Stephen Shaw
1008Mayumi G SergiCanada2024-05-27Dorl, James J Esq NEW10Bernardo Dominic
1009Jones O InouyeCanada2024-05-31Truhlar And Truhlar Attys QUALIFIED64Anna Fali
1010Jones G StockhamUnited Kingdom2024-06-09Dorl, James J Esq RENEWAL4Amy Elsner
1011Rodrigues D CaldareraAustralia2024-05-28King, Christopher A Esq RENEWAL3Asiya Javayant
1012Adams V ShinkoUnited Kingdom2024-05-26Feltz Printing Service NEGOTIATION68Xuxue Feng
1013Kaitlin B BriddickCanada2024-06-03Dorl, James J Esq QUALIFIED59Bernardo Dominic
1014Juan N PerinCanada2024-05-24Feiner Bros QUALIFIED1Ivan Magalhaes
1015Misaki W DarakjyIndia2024-06-10Buckley Miller Wright RENEWAL62Elwin Sharvill
1016Maria I SchemmerArgentina2024-06-08Benton, John B Jr UNQUALIFIED41Xuxue Feng
1017Costa I VocelkaJapan2024-06-16Feiner Bros NEGOTIATION93Ivan Magalhaes
1018Sinclair F SlusarskiBrazil2024-06-12Feiner Bros QUALIFIED86Ivan Magalhaes
1019Ashley N RulapaughIndia2024-06-14Chapman, Ross E Esq QUALIFIED87Ioni Bowcher
1020Deepesh U GillianAustralia2024-06-11Morlong Associates QUALIFIED87Amy Elsner
1021Faith Q ChuiGermany2024-06-13Rousseaux, Michael Esq QUALIFIED46Asiya Javayant
1022Aditya X FerenczUnited Kingdom2024-06-10Rangoni Of Florence QUALIFIED14Ioni Bowcher
1023Jennifer A TollnerCanada2024-06-13Morlong Associates NEGOTIATION14Stephen Shaw
1024Kadeem C SlusarskiRussia2024-06-01Buckley Miller Wright NEW59Asiya Javayant
1025Adams X GlickIndia2024-06-22Truhlar And Truhlar Attys RENEWAL47Ivan Magalhaes
1026Leja N GlickUnited Kingdom2024-05-29King, Christopher A Esq NEGOTIATION47Bernardo Dominic
1027Aika T BowleyBrazil2024-06-06Benton, John B Jr UNQUALIFIED29Asiya Javayant
1028Maria Z VocelkaArgentina2024-05-31Buckley Miller Wright QUALIFIED32Elwin Sharvill
1029Faith H InouyeGermany2024-06-12Benton, John B Jr QUALIFIED52Amy Elsner
1030Munro G DilliardCanada2024-06-12Dorl, James J Esq QUALIFIED24Asiya Javayant
1031Stacey H StensethUnited Kingdom2024-05-25Rangoni Of Florence QUALIFIED80Elwin Sharvill
1032Smith B CampainBrazil2024-05-31King, Christopher A Esq NEW7Amy Elsner
1033Johnson V DoeFrance2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED57Bernardo Dominic
1034Tony Z PoquetteFrance2024-05-28Benton, John B Jr QUALIFIED43Anna Fali
1035Antonio C DoeAustralia2024-06-05Truhlar And Truhlar Attys PROPOSAL78Amy Elsner
1036Misaki Q GillianGermany2024-06-05Benton, John B Jr PROPOSAL18Asiya Javayant
1037Wickens C MarrierCanada2024-06-05Dorl, James J Esq PROPOSAL41Bernardo Dominic
1038Mayumi Y SlusarskiArgentina2024-06-07Feiner Bros PROPOSAL45Stephen Shaw
1039Emily F RimArgentina2024-06-03Rousseaux, Michael Esq RENEWAL35Bernardo Dominic
1040Faith M FerenczGermany2024-05-27Dorl, James J Esq QUALIFIED72Onyama Limba
1041Silvio W StockhamArgentina2024-06-19Rangoni Of Florence NEW82Xuxue Feng
1042Izzy K MorascaIndia2024-06-10King, Christopher A Esq QUALIFIED55Stephen Shaw
1043Jefferson G RimCanada2024-06-06Rangoni Of Florence QUALIFIED24Xuxue Feng
1044Clifford M BriddickAustralia2024-05-30Rousseaux, Michael Esq PROPOSAL37Stephen Shaw
1045Mujtaba T WieserFrance2024-06-13Feiner Bros QUALIFIED43Stephen Shaw
1046Antonio D NickaCanada2024-06-05Feltz Printing Service PROPOSAL78Amy Elsner
1047Jones O OldroydBrazil2024-06-13Rangoni Of Florence RENEWAL89Anna Fali
1048Nicolas Z WieserRussia2024-06-08Chemel, James L Cpa QUALIFIED73Xuxue Feng
1049James A CampainItaly2024-06-04Rousseaux, Michael Esq QUALIFIED15Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Arvin I RimArgentinaBernardo Dominic UNQUALIFIED
Kaitlin M IturbideArgentinaElwin Sharvill PROPOSAL
Julie L StockhamBrazilElwin Sharvill QUALIFIED
Maria U MacleadIndiaIvan Magalhaes RENEWAL
Antonio N IturbideSpainXuxue Feng PROPOSAL
Silvio G PerinRussiaXuxue Feng RENEWAL
Munro D PoquetteCanadaIoni Bowcher PROPOSAL
Greenwood K PerinGermanyOnyama Limba NEGOTIATION
Faith F KuskoUnited KingdomAnna Fali UNQUALIFIED
Aruna Q StockhamBrazilXuxue Feng PROPOSAL
Ashley I DilliardAustraliaAmy Elsner RENEWAL
Tony M InouyeJapanElwin Sharvill NEGOTIATION
Arvin D BriddickCanadaBernardo Dominic NEGOTIATION
Mayumi M AlbaresBrazilOnyama Limba UNQUALIFIED
Faith F IturbideAustraliaIoni Bowcher UNQUALIFIED
Murillo B StensethItalyAmy Elsner PROPOSAL
Julie E RimRussiaOnyama Limba NEW
Johnson P ButtBrazilAsiya Javayant RENEWAL
Clifford Z PerinIndiaIoni Bowcher RENEWAL
Ivar D OldroydCanadaXuxue Feng NEW
Clifford O KuskoGermanyStephen Shaw PROPOSAL
Arvin I SaylorsFranceAsiya Javayant NEW
Mujtaba N BowleyArgentinaStephen Shaw NEGOTIATION
Costa G NickaIndiaXuxue Feng RENEWAL
Ivar X KuskoFranceElwin Sharvill NEGOTIATION
Isabel Y DarakjyItalyAnna Fali NEW
Darci E AlbaresFranceAmy Elsner QUALIFIED
Antonio E PaprockiGermanyAmy Elsner QUALIFIED
Deepesh T CampainBrazilElwin Sharvill UNQUALIFIED
Misaki D FigeroaIndiaAnna Fali RENEWAL
Johnson D GlickIndiaElwin Sharvill PROPOSAL
Costa C GlickFranceElwin Sharvill UNQUALIFIED
Juan A RimBrazilAmy Elsner PROPOSAL
Silvio N DilliardRussiaIoni Bowcher NEW
Jennifer W InouyeUnited KingdomStephen Shaw NEGOTIATION
Izzy N GauchoGermanyBernardo Dominic PROPOSAL
Sinclair W DarakjyArgentinaBernardo Dominic UNQUALIFIED
Alejandro O MarrierIndiaElwin Sharvill UNQUALIFIED
Izzy Q DilliardRussiaXuxue Feng QUALIFIED
James Z RutaItalyAsiya Javayant PROPOSAL
Aditya D FlosiAustraliaOnyama Limba NEGOTIATION
Deepesh B NestleFranceAnna Fali UNQUALIFIED
Mayumi D AlbaresItalyIoni Bowcher NEW
Maisha E MaletAustraliaXuxue Feng NEW
Wickens X TollnerBrazilIoni Bowcher UNQUALIFIED
Deepesh E WieserSpainAnna Fali PROPOSAL
Ivar X BowleyUnited KingdomAmy Elsner NEGOTIATION
Octavia N FlosiSpainXuxue Feng QUALIFIED
Aditya D BologniaBrazilAmy Elsner UNQUALIFIED
Greenwood O VocelkaCanadaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Jeanfrancois A Ferencz
Aika D Paprocki
Emily B Venere
Costa T Darakjy
Leja L Maclead
Arvin W Amigon
Jennifer C Venere
James T Schemmer
Jennifer A Campain
Tony M Malet
Greenwood Z Briddick
Nicolas R Ruta
Sinclair D Flosi
Adams H Glick
Arvin F Ruta
Kadeem Q Stockham
Rodrigues S Bowley
Aditya S Glick
Wickens H Butt
Nicolas R Caudy
Jennifer O Amigon
Deepesh H Whobrey
Julie H Malet
Murillo V Saylors
Smith Q Flosi
Octavia M Nicka
Ricardo E Nestle
Adams L Saylors
Murillo T Kolmetz
Tony Q Venere
Darci Y Nestle
Jennifer I Poquette
Leon M Ferencz
Ivar Y Kusko
Octavia E Whobrey
Cody T Saylors
Costa F Kolmetz
Aruna W Ostrosky
Chavez A Stenseth
Wickens X Caldarera
Francesco X Tollner
Munro P Saylors
Ivar L Chui
Nicolas A Campain
Clifford C Ruta
Mayumi C Nestle
Silvio C Doe
Aditya Z Garufi
Wickens E Garufi
Maisha X Caudy
IdCountryDate
1000Brazil2024-06-08
1001Italy2024-06-17
1002Australia2024-06-15
1003Russia2024-06-05
1004Italy2024-06-05
1005Italy2024-06-01
1006Canada2024-06-05
1007Spain2024-06-08
1008France2024-06-10
1009France2024-06-17
1010Germany2024-06-20
1011Argentina2024-05-29
1012Canada2024-06-01
1013Argentina2024-05-27
1014Canada2024-05-31
1015Italy2024-06-18
1016Brazil2024-05-30
1017Spain2024-06-14
1018India2024-05-30
1019France2024-06-18
1020Argentina2024-05-31
1021Spain2024-06-11
1022United Kingdom2024-05-28
1023Italy2024-06-14
1024United Kingdom2024-06-08
1025India2024-06-01
1026Japan2024-06-19
1027Canada2024-05-27
1028Germany2024-06-11
1029France2024-06-21
1030United Kingdom2024-06-22
1031Italy2024-06-08
1032France2024-06-12
1033Germany2024-06-19
1034United Kingdom2024-05-27
1035India2024-06-13
1036Japan2024-06-22
1037Argentina2024-05-30
1038Japan2024-06-01
1039Brazil2024-06-20
1040India2024-06-20
1041Japan2024-06-06
1042Argentina2024-06-18
1043Italy2024-06-10
1044United Kingdom2024-06-16
1045Canada2024-06-04
1046Canada2024-05-27
1047United Kingdom2024-06-06
1048Russia2024-06-07
1049United Kingdom2024-06-18

On-Demand Data

NameIdCountryDate
Faith F Kusko1000Brazil2024-05-28
Faith M Chui1001United Kingdom2024-06-08
Izzy T Vocelka1002Germany2024-05-25
Kaitlin O Waycott1003Brazil2024-05-26
Aruna O Kolmetz1004Germany2024-06-17
Mujtaba S Dilliard1005Japan2024-06-09
Mujtaba C Caudy1006Russia2024-05-26
Ashley H Sergi1007Japan2024-06-18
Aruna Z Bowley1008Japan2024-06-08
Alejandro F Paprocki1009United Kingdom2024-06-06
Munro S Dilliard1010Italy2024-06-06
Claire H Morasca1011Brazil2024-06-22
Aika T Kusko1012Spain2024-06-22
Misaki E Vocelka1013Italy2024-06-16
James P Nestle1014France2024-06-16
Ricardo G Perin1015United Kingdom2024-06-05
Misaki J Waycott1016Canada2024-05-25
Cody L Vocelka1017Argentina2024-06-16
Clifford A Flosi1018Argentina2024-06-03
Rodrigues S Maclead1019United Kingdom2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony U ShinkoBrazilBernardo Dominic QUALIFIED
Darci S FigeroaRussiaIvan Magalhaes NEGOTIATION
Julie V MorascaAustraliaBernardo Dominic NEW
Jeanfrancois Z MaletJapanOnyama Limba QUALIFIED
Mujtaba R SchemmerArgentinaAmy Elsner UNQUALIFIED
Aruna G MaletSpainBernardo Dominic RENEWAL
James Q CaldareraCanadaOnyama Limba NEGOTIATION
Aruna U VenereRussiaBernardo Dominic NEW
Greenwood V PerinBrazilBernardo Dominic RENEWAL
Murillo C VocelkaSpainAsiya Javayant NEGOTIATION
Arvin P RimJapanAsiya Javayant NEW
Ashley D OstroskyUnited KingdomOnyama Limba NEGOTIATION
Juan L MaletArgentinaIoni Bowcher PROPOSAL
Rodrigues T WaycottJapanOnyama Limba QUALIFIED
David Q RutaRussiaOnyama Limba UNQUALIFIED
Greenwood Y VenereJapanAsiya Javayant PROPOSAL
Mayumi Y SergiRussiaElwin Sharvill QUALIFIED
Ivar Z FigeroaCanadaIvan Magalhaes QUALIFIED
Faith M CaudyJapanBernardo Dominic UNQUALIFIED
Munro E CaudyRussiaAsiya Javayant QUALIFIED
Maisha F OldroydUnited KingdomAsiya Javayant NEW
Ashley F VenereRussiaIvan Magalhaes NEGOTIATION
Salvatore W RimRussiaAmy Elsner NEGOTIATION
Kadeem S RoysterItalyXuxue Feng RENEWAL
James I PaprockiSpainAsiya Javayant RENEWAL
Aditya L FlosiCanadaAmy Elsner RENEWAL
Adams C OldroydUnited KingdomOnyama Limba RENEWAL
Octavia P GlickBrazilXuxue Feng NEGOTIATION
Juan P ButtSpainXuxue Feng QUALIFIED
Jones V CampainAustraliaElwin Sharvill PROPOSAL
Ricardo S TollnerBrazilOnyama Limba PROPOSAL
Chavez V FigeroaGermanyAsiya Javayant UNQUALIFIED
Mayumi Y PaprockiSpainAmy Elsner PROPOSAL
Izzy J CaudySpainIvan Magalhaes QUALIFIED
Smith F GauchoCanadaAnna Fali RENEWAL
Julie M BologniaIndiaAnna Fali QUALIFIED
Maisha N WhobreySpainXuxue Feng UNQUALIFIED
Misaki C RulapaughArgentinaElwin Sharvill NEGOTIATION
Ricardo Q WhobreyGermanyIoni Bowcher QUALIFIED
Jefferson T MacleadArgentinaStephen Shaw 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>