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
Leon O PaprockiSpainElwin Sharvill RENEWAL
Octavia H WaycottBrazilBernardo Dominic QUALIFIED
Ivar S SergiItalyAmy Elsner NEW
Claire B DarakjyUnited KingdomIoni Bowcher NEGOTIATION
Francesco B CampainSpainElwin Sharvill RENEWAL
Silvio M WhobreyGermanyElwin Sharvill QUALIFIED
Jones J PerinFranceAnna Fali NEGOTIATION
Cody Y RimCanadaAnna Fali QUALIFIED
Aditya M NickaItalyAsiya Javayant UNQUALIFIED
Smith N StockhamItalyAsiya Javayant NEW
Arvin K GillianCanadaIoni Bowcher PROPOSAL
Maisha X NickaUnited KingdomAmy Elsner NEW
Misaki E DoeRussiaAmy Elsner NEGOTIATION
Mayumi K FollerRussiaIvan Magalhaes NEGOTIATION
Ashley K NestleItalyXuxue Feng UNQUALIFIED
Murillo V CaudyRussiaElwin Sharvill RENEWAL
Greenwood J AlbaresGermanyAsiya Javayant UNQUALIFIED
Maria Z NickaSpainOnyama Limba UNQUALIFIED
Ivar C MarrierBrazilXuxue Feng QUALIFIED
Costa P GarufiGermanyIvan Magalhaes UNQUALIFIED
Isabel F ButtUnited KingdomAmy Elsner QUALIFIED
Emily E GlickBrazilIvan Magalhaes NEW
Johnson K GarufiCanadaAnna Fali NEGOTIATION
Morrow Z BriddickItalyElwin Sharvill PROPOSAL
Jeanfrancois H SlusarskiJapanAsiya Javayant QUALIFIED
Salvatore Z GarufiRussiaIvan Magalhaes NEGOTIATION
Mujtaba Z SchemmerGermanyBernardo Dominic NEW
Kadeem V BowleyFranceXuxue Feng NEW
Maisha U MaletArgentinaIvan Magalhaes NEW
Isabel U KuskoJapanXuxue Feng NEW
Jones T RutaAustraliaIvan Magalhaes NEGOTIATION
Morrow F KuskoJapanOnyama Limba NEGOTIATION
Silvio J RutaArgentinaBernardo Dominic UNQUALIFIED
Nicolas J DoeBrazilAnna Fali QUALIFIED
Jennifer T FollerBrazilStephen Shaw UNQUALIFIED
Ivar R RoysterRussiaAsiya Javayant UNQUALIFIED
Juan B KuskoUnited KingdomStephen Shaw NEW
Aika P SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Aruna D ShinkoCanadaElwin Sharvill QUALIFIED
Faith Z WhobreyJapanIoni Bowcher NEW
Greenwood O OldroydBrazilIoni Bowcher NEGOTIATION
David N PoquetteGermanyIoni Bowcher PROPOSAL
Nicolas V NestleCanadaBernardo Dominic NEGOTIATION
Misaki Y OldroydArgentinaIvan Magalhaes NEW
Claire P IturbideRussiaIvan Magalhaes QUALIFIED
Costa R BologniaFranceAsiya Javayant PROPOSAL
Aruna D AlbaresAustraliaOnyama Limba NEW
Costa L ShinkoSpainAsiya Javayant PROPOSAL
Julie U MarrierJapanBernardo Dominic RENEWAL
David T RutaBrazilIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Ricardo N RulapaughRussiaAmy Elsner NEW
Smith F MacleadIndiaAnna Fali RENEWAL
Jennifer A FerenczGermanyAmy Elsner PROPOSAL
Leon H FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Smith K BowleyCanadaIoni Bowcher UNQUALIFIED
Clifford R PaprockiSpainAsiya Javayant UNQUALIFIED
Darci B FerenczBrazilAsiya Javayant UNQUALIFIED
Silvio B MaletUnited KingdomAmy Elsner NEGOTIATION
Smith Q CaldareraSpainIoni Bowcher PROPOSAL
Murillo H RoysterJapanStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro Z MarrierJapan2025-04-24King, Christopher A Esq QUALIFIED57Asiya Javayant
1001Jeanfrancois Z SlusarskiUnited Kingdom2025-04-09Rangoni Of Florence UNQUALIFIED24Stephen Shaw
1002Nicolas E InouyeFrance2025-04-19Feltz Printing Service NEW40Elwin Sharvill
1003Alejandro N RutaAustralia2025-04-01Benton, John B Jr NEW39Bernardo Dominic
1004Maisha C GillianSpain2025-04-12Chemel, James L Cpa NEW86Bernardo Dominic
1005Arvin V RutaRussia2025-04-28Rousseaux, Michael Esq PROPOSAL53Anna Fali
1006Rodrigues F RimItaly2025-04-19Feltz Printing Service QUALIFIED11Elwin Sharvill
1007Salvatore Y GillianBrazil2025-04-20Rousseaux, Michael Esq PROPOSAL7Anna Fali
1008Emily L KolmetzUnited Kingdom2025-04-20Morlong Associates UNQUALIFIED77Anna Fali
1009Misaki G SergiSpain2025-04-13Feltz Printing Service NEGOTIATION98Xuxue Feng
1010David B ShinkoUnited Kingdom2025-04-27Buckley Miller Wright NEGOTIATION94Anna Fali
1011Adams V RimIndia2025-04-13Benton, John B Jr NEW1Anna Fali
1012Octavia R FlosiSpain2025-04-24Feltz Printing Service NEW19Onyama Limba
1013Darci Y StockhamJapan2025-04-26Dorl, James J Esq RENEWAL36Anna Fali
1014Maisha F FerenczRussia2025-04-04Morlong Associates PROPOSAL87Xuxue Feng
1015Aruna G BowleyBrazil2025-04-19King, Christopher A Esq PROPOSAL93Amy Elsner
1016Izzy V PaprockiCanada2025-04-15Morlong Associates PROPOSAL81Ivan Magalhaes
1017Emily P WaycottItaly2025-04-20Feiner Bros RENEWAL80Ivan Magalhaes
1018Wickens L ShinkoAustralia2025-04-19Chemel, James L Cpa NEGOTIATION20Asiya Javayant
1019Julie P MorascaArgentina2025-04-03Buckley Miller Wright NEGOTIATION86Stephen Shaw
1020Leja K SlusarskiBrazil2025-04-26Buckley Miller Wright PROPOSAL63Amy Elsner
1021Julie K DoeArgentina2025-04-28Chemel, James L Cpa QUALIFIED37Stephen Shaw
1022Silvio P OldroydUnited Kingdom2025-04-14Printing Dimensions NEW99Ivan Magalhaes
1023Arvin Y OstroskyGermany2025-04-09Chanay, Jeffrey A Esq UNQUALIFIED97Xuxue Feng
1024Johnson B MarrierBrazil2025-04-29Rangoni Of Florence RENEWAL44Bernardo Dominic
1025Mujtaba Y VocelkaArgentina2025-04-29Printing Dimensions NEGOTIATION60Asiya Javayant
1026Julie D TollnerSpain2025-04-08Commercial Press NEGOTIATION74Anna Fali
1027Leon Q FerenczAustralia2025-04-19Truhlar And Truhlar Attys QUALIFIED14Anna Fali
1028Cody C StockhamCanada2025-04-11Chemel, James L Cpa PROPOSAL98Asiya Javayant
1029Adams G CaudyBrazil2025-04-02Benton, John B Jr UNQUALIFIED38Elwin Sharvill
1030Ivar S CampainBrazil2025-04-25Chanay, Jeffrey A Esq NEGOTIATION34Onyama Limba
1031Francesco K IturbideArgentina2025-04-28Buckley Miller Wright RENEWAL52Bernardo Dominic
1032Jeanfrancois K StockhamUnited Kingdom2025-04-28Morlong Associates UNQUALIFIED62Asiya Javayant
1033James K SchemmerBrazil2025-04-29Morlong Associates RENEWAL3Ioni Bowcher
1034Kaitlin L RutaItaly2025-04-27Rousseaux, Michael Esq NEW70Anna Fali
1035Mayumi L OstroskyFrance2025-04-04Printing Dimensions UNQUALIFIED24Xuxue Feng
1036David C TollnerCanada2025-04-22Printing Dimensions PROPOSAL17Ioni Bowcher
1037Arvin E GauchoJapan2025-04-23Chemel, James L Cpa UNQUALIFIED23Bernardo Dominic
1038Costa N DarakjyAustralia2025-04-02Chapman, Ross E Esq QUALIFIED85Ioni Bowcher
1039Munro J BowleyGermany2025-04-01Dorl, James J Esq NEGOTIATION55Ivan Magalhaes
1040Izzy J MacleadIndia2025-04-24Feltz Printing Service NEW4Xuxue Feng
1041Silvio N WieserArgentina2025-04-08Buckley Miller Wright RENEWAL61Asiya Javayant
1042Kaitlin W WaycottGermany2025-04-22King, Christopher A Esq UNQUALIFIED9Ioni Bowcher
1043Jennifer G WieserBrazil2025-04-30Printing Dimensions RENEWAL93Amy Elsner
1044Adams V MarrierUnited Kingdom2025-04-27Chanay, Jeffrey A Esq QUALIFIED7Asiya Javayant
1045Antonio G RutaJapan2025-04-02Commercial Press NEGOTIATION95Xuxue Feng
1046Chavez G SlusarskiItaly2025-04-16Feiner Bros QUALIFIED81Elwin Sharvill
1047Sinclair S KuskoArgentina2025-04-02Feiner Bros UNQUALIFIED23Onyama Limba
1048Kaitlin K RimAustralia2025-04-27Truhlar And Truhlar Attys UNQUALIFIED71Anna Fali
1049Chavez E WaycottCanada2025-04-02King, Christopher A Esq NEGOTIATION55Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Smith A SchemmerGermanyAsiya Javayant NEGOTIATION
Leja U PaprockiArgentinaIvan Magalhaes QUALIFIED
Jeanfrancois Q MaletAustraliaXuxue Feng QUALIFIED
Wickens W MaletFranceAmy Elsner UNQUALIFIED
Johnson B WaycottCanadaIoni Bowcher RENEWAL
Sinclair P FollerRussiaElwin Sharvill NEGOTIATION
Munro U ButtJapanAsiya Javayant NEW
David O VocelkaBrazilOnyama Limba UNQUALIFIED
Clifford M RulapaughItalyAnna Fali RENEWAL
Jefferson B GauchoGermanyElwin Sharvill RENEWAL
Antonio X PoquetteBrazilBernardo Dominic UNQUALIFIED
Mujtaba F BriddickUnited KingdomAmy Elsner RENEWAL
Johnson P InouyeItalyAsiya Javayant RENEWAL
Ashley U VenereUnited KingdomOnyama Limba UNQUALIFIED
Salvatore J SlusarskiUnited KingdomAnna Fali RENEWAL
Claire I OstroskyCanadaXuxue Feng QUALIFIED
Morrow P MarrierBrazilXuxue Feng NEW
Clifford G MarrierItalyAmy Elsner NEW
Maisha W DilliardRussiaIoni Bowcher NEW
Octavia S FigeroaSpainAsiya Javayant NEW
Leja Y CaldareraRussiaAsiya Javayant RENEWAL
Arvin C SlusarskiFranceBernardo Dominic PROPOSAL
Nicolas E FlosiSpainOnyama Limba NEGOTIATION
Greenwood A MacleadArgentinaAnna Fali PROPOSAL
James Z InouyeJapanOnyama Limba RENEWAL
Octavia T SlusarskiItalyAsiya Javayant NEGOTIATION
Ricardo T MaletItalyBernardo Dominic UNQUALIFIED
Juan G AlbaresArgentinaBernardo Dominic UNQUALIFIED
Arvin M SchemmerItalyAmy Elsner UNQUALIFIED
Stacey V AmigonFranceIoni Bowcher UNQUALIFIED
Wickens H StockhamItalyAsiya Javayant PROPOSAL
Aika V NestleItalyBernardo Dominic QUALIFIED
Maria V FollerBrazilAnna Fali PROPOSAL
Juan P VocelkaRussiaIoni Bowcher PROPOSAL
Johnson D GlickAustraliaStephen Shaw PROPOSAL
Octavia X ButtItalyStephen Shaw NEGOTIATION
Tony A IturbideIndiaAnna Fali QUALIFIED
Smith D OldroydItalyStephen Shaw NEW
Julie T DilliardBrazilAnna Fali PROPOSAL
Munro I StockhamFranceElwin Sharvill QUALIFIED
Darci Q MacleadAustraliaOnyama Limba UNQUALIFIED
Smith I ButtRussiaXuxue Feng NEGOTIATION
James M StensethGermanyBernardo Dominic UNQUALIFIED
Aika Z SaylorsGermanyAnna Fali RENEWAL
Faith S SlusarskiFranceAnna Fali NEW
Chavez Z MaletGermanyAmy Elsner PROPOSAL
Claire K AmigonRussiaOnyama Limba RENEWAL
Alejandro H PaprockiAustraliaXuxue Feng NEGOTIATION
Wickens B NickaSpainOnyama Limba QUALIFIED
David B PaprockiJapanIoni Bowcher QUALIFIED
Frozen Columns
Name
Stacey F Flosi
Wickens C Gaucho
Claire B Poquette
Rodrigues C Caldarera
Adams V Nicka
Antonio N Albares
Aditya R Dilliard
Sinclair J Malet
Silvio T Amigon
Jefferson I Tollner
Maisha S Perin
Jeanfrancois U Shinko
Costa B Chui
Kaitlin F Amigon
Darci M Saylors
Wickens E Poquette
Isabel P Vocelka
Kaitlin Y Gillian
Francesco Y Shinko
Mayumi A Kolmetz
Cody T Slusarski
Ricardo H Flosi
Jones Q Amigon
Rodrigues Y Garufi
Mayumi K Malet
Kadeem M Kolmetz
Clifford M Chui
Stacey B Saylors
Silvio Z Glick
Alejandro F Darakjy
Munro W Dilliard
Rodrigues D Malet
Jennifer D Kusko
Munro Q Rim
Maria M Perin
Aika S Poquette
Ivar O Amigon
Alejandro L Amigon
Rodrigues J Venere
Izzy E Iturbide
James G Stockham
Morrow C Wieser
Arvin T Perin
Izzy D Bolognia
Antonio I Dilliard
Deepesh T Vocelka
Morrow F Gillian
Arvin Z Briddick
Aruna D Gillian
Tony O Poquette
IdCountryDate
1000India2025-04-05
1001Italy2025-04-12
1002Germany2025-04-03
1003France2025-04-13
1004Russia2025-04-12
1005Italy2025-04-07
1006Germany2025-04-22
1007Germany2025-04-15
1008France2025-04-04
1009France2025-04-04
1010Canada2025-04-04
1011Japan2025-04-23
1012Spain2025-04-14
1013Brazil2025-04-09
1014Russia2025-04-06
1015Australia2025-04-26
1016Russia2025-04-27
1017Argentina2025-04-30
1018Australia2025-04-19
1019France2025-04-14
1020Spain2025-04-28
1021Italy2025-04-07
1022Russia2025-04-11
1023Germany2025-04-19
1024India2025-04-23
1025India2025-04-25
1026Germany2025-04-12
1027Canada2025-04-22
1028Brazil2025-04-28
1029India2025-04-19
1030Argentina2025-04-04
1031Spain2025-04-09
1032Italy2025-04-06
1033France2025-04-11
1034Canada2025-04-24
1035Germany2025-04-14
1036Italy2025-04-17
1037Spain2025-04-24
1038United Kingdom2025-04-26
1039Germany2025-04-22
1040Japan2025-04-21
1041Japan2025-04-19
1042Australia2025-04-07
1043Argentina2025-04-25
1044Germany2025-04-07
1045Australia2025-04-25
1046Italy2025-04-09
1047India2025-04-19
1048Spain2025-04-13
1049Australia2025-04-25

On-Demand Data

NameIdCountryDate
Francesco X Garufi1000France2025-04-11
Jones Z Butt1001France2025-04-12
Smith S Glick1002Argentina2025-04-27
Emily J Vocelka1003Brazil2025-04-18
Arvin Z Wieser1004India2025-04-03
Jeanfrancois A Ostrosky1005Japan2025-04-17
Misaki H Paprocki1006Russia2025-04-26
Kaitlin A Darakjy1007Brazil2025-04-09
Wickens F Flosi1008Spain2025-04-03
Octavia N Poquette1009Japan2025-04-30
Chavez H Butt1010Brazil2025-04-23
David F Butt1011Germany2025-04-03
Jefferson V Dilliard1012Germany2025-04-18
Leja N Nestle1013France2025-04-13
Octavia U Caldarera1014Russia2025-04-10
Stacey K Albares1015Japan2025-04-25
Juan S Schemmer1016Argentina2025-04-08
Johnson P Tollner1017Australia2025-04-07
Antonio A Chui1018Spain2025-04-05
Alejandro P Campain1019Russia2025-04-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith E ButtArgentinaElwin Sharvill PROPOSAL
Aruna U FigeroaGermanyElwin Sharvill RENEWAL
Darci K MarrierItalyElwin Sharvill UNQUALIFIED
Alejandro S FlosiCanadaBernardo Dominic NEGOTIATION
Chavez B SaylorsArgentinaElwin Sharvill PROPOSAL
Claire C OldroydSpainIvan Magalhaes RENEWAL
Faith Q VenereCanadaBernardo Dominic UNQUALIFIED
Greenwood F BologniaCanadaBernardo Dominic PROPOSAL
Salvatore W AlbaresCanadaAmy Elsner NEW
Salvatore D DarakjyFranceIoni Bowcher RENEWAL
Misaki B MaletSpainIoni Bowcher QUALIFIED
Chavez C PoquetteUnited KingdomIoni Bowcher RENEWAL
Ashley M ChuiSpainAsiya Javayant QUALIFIED
Adams M GillianFranceXuxue Feng RENEWAL
Deepesh Q GillianSpainAmy Elsner PROPOSAL
Nicolas K SlusarskiUnited KingdomIvan Magalhaes NEW
James K GlickAustraliaIvan Magalhaes UNQUALIFIED
Nicolas W AmigonFranceIoni Bowcher QUALIFIED
Jones I RulapaughCanadaElwin Sharvill RENEWAL
Greenwood F KuskoUnited KingdomXuxue Feng UNQUALIFIED
Stacey P WhobreyGermanyIvan Magalhaes UNQUALIFIED
Maria Z VocelkaArgentinaOnyama Limba RENEWAL
Emily F OldroydArgentinaAmy Elsner RENEWAL
Costa Z RoysterBrazilElwin Sharvill QUALIFIED
Tony A MaletAustraliaAnna Fali NEGOTIATION
Ashley U CaudyRussiaStephen Shaw QUALIFIED
Kaitlin I SergiCanadaBernardo Dominic UNQUALIFIED
Sinclair B SlusarskiBrazilBernardo Dominic QUALIFIED
Costa L SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Tony L BologniaJapanAmy Elsner PROPOSAL
Cody T FigeroaItalyIvan Magalhaes NEGOTIATION
Adams J IturbideRussiaElwin Sharvill UNQUALIFIED
Stacey F AlbaresFranceElwin Sharvill NEW
Jennifer J NickaSpainBernardo Dominic NEGOTIATION
Rodrigues I WieserGermanyAsiya Javayant NEGOTIATION
Mayumi I BologniaItalyIvan Magalhaes RENEWAL
Cody U WhobreyItalyAmy Elsner UNQUALIFIED
Leon G WaycottItalyXuxue Feng UNQUALIFIED
Darci X PaprockiAustraliaAmy Elsner QUALIFIED
Arvin B RimRussiaStephen Shaw QUALIFIED

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