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
Emily B OldroydUnited KingdomOnyama Limba RENEWAL
Leja T CaldareraIndiaBernardo Dominic QUALIFIED
Stacey R BologniaArgentinaStephen Shaw NEW
Claire U FigeroaJapanOnyama Limba RENEWAL
Jefferson B GillianJapanAsiya Javayant PROPOSAL
Costa Y MarrierSpainElwin Sharvill PROPOSAL
Sinclair Y WaycottGermanyBernardo Dominic RENEWAL
Leja S CaudyFranceAnna Fali UNQUALIFIED
Smith M MarrierAustraliaOnyama Limba UNQUALIFIED
Tony C MaletRussiaAnna Fali PROPOSAL
Julie B MacleadItalyXuxue Feng NEW
Ricardo L NestleUnited KingdomOnyama Limba UNQUALIFIED
Aruna G OstroskyGermanyAmy Elsner UNQUALIFIED
Rodrigues X KolmetzCanadaOnyama Limba RENEWAL
Greenwood Q MorascaSpainAmy Elsner QUALIFIED
Isabel H MaletAustraliaXuxue Feng QUALIFIED
Tony E FigeroaAustraliaAmy Elsner RENEWAL
Morrow S GlickUnited KingdomBernardo Dominic UNQUALIFIED
Sinclair B WieserAustraliaIvan Magalhaes UNQUALIFIED
Smith P MacleadIndiaBernardo Dominic NEW
Stacey J SaylorsRussiaAsiya Javayant UNQUALIFIED
Silvio V NestleCanadaElwin Sharvill RENEWAL
Salvatore S ShinkoBrazilIoni Bowcher UNQUALIFIED
Greenwood M IturbideItalyIoni Bowcher NEGOTIATION
Arvin H IturbideIndiaIvan Magalhaes UNQUALIFIED
Stacey K VocelkaIndiaXuxue Feng PROPOSAL
Ashley W KuskoSpainAsiya Javayant RENEWAL
Chavez D GlickSpainStephen Shaw NEGOTIATION
Jeanfrancois R NestleIndiaOnyama Limba QUALIFIED
Silvio T SergiCanadaStephen Shaw QUALIFIED
Juan Z SlusarskiUnited KingdomElwin Sharvill RENEWAL
Chavez V GarufiJapanElwin Sharvill UNQUALIFIED
Murillo Z TollnerUnited KingdomIoni Bowcher NEGOTIATION
Cody C StensethFranceIvan Magalhaes UNQUALIFIED
Morrow B CaldareraAustraliaAsiya Javayant NEGOTIATION
Antonio I SergiUnited KingdomBernardo Dominic NEGOTIATION
Chavez U DoeFranceElwin Sharvill QUALIFIED
Juan U RoysterJapanIvan Magalhaes NEGOTIATION
Aika P GarufiCanadaStephen Shaw QUALIFIED
Mayumi T KuskoUnited KingdomIvan Magalhaes NEW
Silvio V PerinJapanElwin Sharvill RENEWAL
Jefferson C GauchoAustraliaAsiya Javayant QUALIFIED
Jennifer W TollnerUnited KingdomAsiya Javayant RENEWAL
Mujtaba O OstroskyArgentinaAsiya Javayant RENEWAL
Chavez K RutaBrazilAnna Fali RENEWAL
Silvio L BowleyCanadaAnna Fali UNQUALIFIED
Sinclair S BowleyGermanyAnna Fali NEW
Silvio S BowleyGermanyXuxue Feng NEW
Sinclair L AlbaresSpainStephen Shaw NEW
Stacey B GillianGermanyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Tony W CaldareraBrazilElwin Sharvill PROPOSAL
Clifford A VenereGermanyStephen Shaw UNQUALIFIED
Morrow H NestleItalyElwin Sharvill NEW
David S SlusarskiUnited KingdomAnna Fali NEGOTIATION
Maisha F TollnerUnited KingdomOnyama Limba UNQUALIFIED
Emily W MaletBrazilAnna Fali UNQUALIFIED
Morrow S GlickUnited KingdomOnyama Limba PROPOSAL
Morrow E TollnerCanadaIvan Magalhaes NEGOTIATION
Arvin U FigeroaAustraliaAsiya Javayant QUALIFIED
Izzy L WhobreyBrazilAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey W SergiBrazil2025-05-28Printing Dimensions NEW32Asiya Javayant
1001Salvatore D RulapaughSpain2025-05-23Feiner Bros UNQUALIFIED78Amy Elsner
1002Ricardo U NickaArgentina2025-05-29Chapman, Ross E Esq QUALIFIED62Onyama Limba
1003Salvatore T ShinkoUnited Kingdom2025-05-29Dorl, James J Esq RENEWAL3Elwin Sharvill
1004Aditya I KolmetzAustralia2025-05-20Rousseaux, Michael Esq RENEWAL6Ivan Magalhaes
1005Jeanfrancois Q ChuiGermany2025-06-15Feiner Bros NEW52Amy Elsner
1006Julie B NickaIndia2025-06-16King, Christopher A Esq UNQUALIFIED39Bernardo Dominic
1007Silvio Y CaldareraArgentina2025-05-21Rousseaux, Michael Esq RENEWAL91Elwin Sharvill
1008Aditya K VenereBrazil2025-06-06King, Christopher A Esq NEW26Elwin Sharvill
1009Kadeem E PerinArgentina2025-05-28Feiner Bros PROPOSAL10Ioni Bowcher
1010Johnson M InouyeItaly2025-05-27Morlong Associates PROPOSAL41Xuxue Feng
1011David S PerinIndia2025-06-16Dorl, James J Esq PROPOSAL29Asiya Javayant
1012Leon H DilliardRussia2025-06-01Morlong Associates NEGOTIATION54Ioni Bowcher
1013Alejandro J AmigonFrance2025-05-24Buckley Miller Wright PROPOSAL76Elwin Sharvill
1014Murillo V StensethCanada2025-05-29Printing Dimensions RENEWAL34Onyama Limba
1015Mayumi C CaldareraItaly2025-06-06Dorl, James J Esq RENEWAL63Amy Elsner
1016Julie B PerinFrance2025-06-07King, Christopher A Esq QUALIFIED21Ivan Magalhaes
1017Emily Q PaprockiCanada2025-06-03Commercial Press QUALIFIED94Onyama Limba
1018Greenwood A PoquetteJapan2025-05-27Rousseaux, Michael Esq PROPOSAL50Onyama Limba
1019Kaitlin Z WaycottFrance2025-06-01Feltz Printing Service NEW26Asiya Javayant
1020Leon E ChuiArgentina2025-05-23Chanay, Jeffrey A Esq NEGOTIATION29Asiya Javayant
1021Julie L StensethSpain2025-06-10Feltz Printing Service PROPOSAL13Ivan Magalhaes
1022Isabel H IturbideCanada2025-06-11Chapman, Ross E Esq RENEWAL80Amy Elsner
1023Octavia Y ButtBrazil2025-05-20Rousseaux, Michael Esq PROPOSAL11Amy Elsner
1024Tony H CaldareraGermany2025-06-09Feiner Bros NEW15Ivan Magalhaes
1025Jones G SergiJapan2025-06-12Morlong Associates UNQUALIFIED31Amy Elsner
1026Francesco D ChuiItaly2025-06-16Chanay, Jeffrey A Esq PROPOSAL65Xuxue Feng
1027Clifford G RoysterGermany2025-05-27Truhlar And Truhlar Attys NEGOTIATION25Ivan Magalhaes
1028Maria G SchemmerIndia2025-05-18King, Christopher A Esq RENEWAL60Stephen Shaw
1029Maisha T MorascaCanada2025-05-31Feiner Bros QUALIFIED88Ivan Magalhaes
1030Octavia B SlusarskiUnited Kingdom2025-06-03Chapman, Ross E Esq UNQUALIFIED33Stephen Shaw
1031Aika F OstroskyCanada2025-06-16Chapman, Ross E Esq RENEWAL89Onyama Limba
1032Octavia L SergiCanada2025-05-18Rousseaux, Michael Esq UNQUALIFIED45Xuxue Feng
1033Mujtaba V OstroskyUnited Kingdom2025-06-12Morlong Associates NEGOTIATION41Anna Fali
1034Mujtaba F CaudyJapan2025-05-26Dorl, James J Esq NEGOTIATION82Anna Fali
1035Smith Q NickaCanada2025-05-22King, Christopher A Esq NEW23Onyama Limba
1036Greenwood E DilliardCanada2025-05-19Printing Dimensions RENEWAL29Ivan Magalhaes
1037Octavia T MacleadAustralia2025-06-03Printing Dimensions UNQUALIFIED17Ivan Magalhaes
1038Arvin H SergiJapan2025-05-21Chanay, Jeffrey A Esq RENEWAL2Xuxue Feng
1039Faith L RulapaughAustralia2025-05-29Rangoni Of Florence UNQUALIFIED90Ioni Bowcher
1040Cody P OstroskyArgentina2025-06-02Truhlar And Truhlar Attys NEW10Onyama Limba
1041Jennifer X MaletItaly2025-06-08King, Christopher A Esq UNQUALIFIED13Anna Fali
1042Octavia L VenereUnited Kingdom2025-05-30Printing Dimensions NEW88Anna Fali
1043Sinclair E PoquetteGermany2025-06-04King, Christopher A Esq QUALIFIED24Amy Elsner
1044Wickens J NickaArgentina2025-06-09Morlong Associates NEGOTIATION36Onyama Limba
1045Julie O MorascaJapan2025-06-12Chapman, Ross E Esq QUALIFIED20Anna Fali
1046Ashley G RutaFrance2025-05-19Rousseaux, Michael Esq NEGOTIATION27Elwin Sharvill
1047Kadeem I NestleAustralia2025-05-30Printing Dimensions PROPOSAL1Anna Fali
1048Sinclair H VocelkaRussia2025-05-25Truhlar And Truhlar Attys RENEWAL66Ivan Magalhaes
1049Julie E KuskoSpain2025-05-27Chemel, James L Cpa QUALIFIED44Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Murillo T GarufiJapanAsiya Javayant RENEWAL
Aika L MorascaFranceAsiya Javayant PROPOSAL
Faith Y MaletJapanAsiya Javayant UNQUALIFIED
Leon S StensethAustraliaAsiya Javayant NEGOTIATION
Leja Y IturbideFranceXuxue Feng NEGOTIATION
Misaki I StensethSpainBernardo Dominic QUALIFIED
Aditya D DoeAustraliaAsiya Javayant UNQUALIFIED
Deepesh Q MarrierJapanAsiya Javayant RENEWAL
Tony R FigeroaIndiaElwin Sharvill NEGOTIATION
Izzy G FerenczUnited KingdomAmy Elsner RENEWAL
Maria B KuskoFranceXuxue Feng UNQUALIFIED
Salvatore Z RoysterCanadaAmy Elsner NEGOTIATION
Kadeem Y MacleadCanadaXuxue Feng RENEWAL
Murillo W AlbaresSpainStephen Shaw RENEWAL
Jeanfrancois P SlusarskiAustraliaIvan Magalhaes PROPOSAL
Greenwood K TollnerArgentinaAmy Elsner PROPOSAL
Francesco N GlickItalyBernardo Dominic PROPOSAL
Silvio T ButtArgentinaOnyama Limba UNQUALIFIED
Stacey N CaldareraFranceOnyama Limba RENEWAL
Aruna C ButtArgentinaAmy Elsner NEGOTIATION
Costa I DoeArgentinaElwin Sharvill PROPOSAL
Emily E CampainBrazilBernardo Dominic PROPOSAL
Alejandro H VocelkaIndiaAmy Elsner QUALIFIED
Alejandro P NickaJapanIoni Bowcher RENEWAL
Darci A MacleadItalyAsiya Javayant UNQUALIFIED
Isabel G SaylorsSpainIoni Bowcher RENEWAL
Maisha W SaylorsUnited KingdomIoni Bowcher UNQUALIFIED
David Z ShinkoJapanOnyama Limba NEW
Octavia D DarakjyIndiaElwin Sharvill NEW
Leja W StockhamBrazilElwin Sharvill UNQUALIFIED
Johnson B WhobreyRussiaAnna Fali UNQUALIFIED
Maisha D MacleadIndiaElwin Sharvill UNQUALIFIED
Misaki I GauchoArgentinaBernardo Dominic UNQUALIFIED
Jefferson U SchemmerUnited KingdomStephen Shaw NEGOTIATION
Isabel Z AmigonBrazilBernardo Dominic UNQUALIFIED
Izzy Z SaylorsIndiaIoni Bowcher QUALIFIED
Emily F AlbaresBrazilStephen Shaw QUALIFIED
Faith F ButtItalyAmy Elsner UNQUALIFIED
Salvatore K KolmetzIndiaOnyama Limba NEW
Arvin V NestleGermanyAsiya Javayant PROPOSAL
Munro V StockhamIndiaIvan Magalhaes PROPOSAL
Clifford H DoeItalyElwin Sharvill PROPOSAL
Claire X GillianUnited KingdomAsiya Javayant PROPOSAL
Aruna F DarakjyCanadaIoni Bowcher PROPOSAL
Rodrigues V MarrierBrazilAmy Elsner UNQUALIFIED
Juan G FerenczGermanyAnna Fali NEGOTIATION
Isabel R KuskoGermanyOnyama Limba PROPOSAL
Alejandro Q SergiUnited KingdomBernardo Dominic NEGOTIATION
Alejandro C PoquetteArgentinaStephen Shaw RENEWAL
Julie K NestleAustraliaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Murillo K Chui
Ashley U Campain
Ivar Z Rulapaugh
Aruna F Nicka
Octavia T Waycott
Mayumi X Figeroa
Izzy F Waycott
Mayumi A Glick
Isabel H Nicka
Stacey U Saylors
Chavez V Rulapaugh
Isabel H Dilliard
Greenwood M Ferencz
Faith L Chui
Alejandro K Oldroyd
Clifford G Briddick
Antonio R Paprocki
Jones V Nicka
Faith H Tollner
Mayumi I Dilliard
Adams F Slusarski
Emily X Waycott
Aruna I Caldarera
Juan E Venere
Leja K Wieser
Salvatore J Amigon
Aditya H Stockham
Clifford A Rim
Greenwood K Maclead
Mayumi U Glick
Izzy D Caldarera
Aditya H Caudy
Salvatore W Slusarski
Ashley D Vocelka
Chavez W Morasca
Jones V Butt
James R Briddick
Adams C Caudy
Kaitlin W Dilliard
Johnson H Schemmer
Claire X Venere
Chavez Z Campain
Greenwood O Wieser
Isabel M Poquette
Aika A Kusko
Ashley Q Waycott
Darci Z Nestle
Faith Q Morasca
Ricardo W Slusarski
Wickens Y Dilliard
IdCountryDate
1000Canada2025-05-30
1001United Kingdom2025-06-12
1002India2025-06-06
1003Argentina2025-06-04
1004France2025-06-11
1005Brazil2025-06-11
1006India2025-05-28
1007Canada2025-05-25
1008Germany2025-05-20
1009Spain2025-06-12
1010Russia2025-05-18
1011Spain2025-06-15
1012Spain2025-05-31
1013United Kingdom2025-06-03
1014Spain2025-06-09
1015Argentina2025-06-02
1016India2025-05-31
1017Russia2025-06-16
1018Canada2025-05-28
1019Argentina2025-05-20
1020United Kingdom2025-05-29
1021Russia2025-06-02
1022France2025-06-01
1023Spain2025-06-09
1024France2025-06-13
1025Brazil2025-06-14
1026Australia2025-06-14
1027Brazil2025-05-25
1028Japan2025-06-07
1029Germany2025-05-25
1030France2025-05-22
1031India2025-06-08
1032France2025-06-02
1033Germany2025-05-20
1034Australia2025-06-07
1035India2025-05-30
1036Brazil2025-05-19
1037Russia2025-05-18
1038United Kingdom2025-06-07
1039Spain2025-05-28
1040United Kingdom2025-05-31
1041Brazil2025-06-04
1042France2025-05-20
1043Russia2025-06-03
1044Australia2025-05-25
1045India2025-06-06
1046Canada2025-06-03
1047Italy2025-05-24
1048Russia2025-05-22
1049Russia2025-05-26

On-Demand Data

NameIdCountryDate
Faith M Ostrosky1000Argentina2025-06-13
Emily Y Tollner1001Canada2025-05-24
Octavia K Marrier1002Italy2025-06-08
Greenwood A Glick1003Australia2025-06-02
Faith Z Inouye1004Argentina2025-06-10
Jeanfrancois I Paprocki1005Brazil2025-05-24
Leja Z Paprocki1006Australia2025-06-06
Jefferson W Darakjy1007Russia2025-05-23
Smith X Iturbide1008Germany2025-05-25
Rodrigues E Malet1009United Kingdom2025-05-31
Wickens K Bowley1010Brazil2025-05-28
Aika D Stenseth1011Italy2025-06-13
Emily K Saylors1012India2025-06-08
Munro I Wieser1013Germany2025-06-14
Arvin W Royster1014Australia2025-06-12
Salvatore L Nicka1015Argentina2025-06-10
Jones W Marrier1016Japan2025-06-03
Kaitlin L Venere1017Argentina2025-06-14
Francesco M Briddick1018Japan2025-05-18
Francesco Q Malet1019United Kingdom2025-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood H SergiJapanOnyama Limba QUALIFIED
Leon W WhobreySpainAsiya Javayant RENEWAL
Aditya W DoeUnited KingdomAsiya Javayant UNQUALIFIED
Izzy T TollnerGermanyElwin Sharvill PROPOSAL
Leon D AlbaresCanadaOnyama Limba NEGOTIATION
Francesco S KolmetzFranceIoni Bowcher NEGOTIATION
Isabel K WaycottBrazilAmy Elsner PROPOSAL
Adams J MaletSpainOnyama Limba NEGOTIATION
Silvio Q GillianGermanyBernardo Dominic NEGOTIATION
Munro F RulapaughBrazilElwin Sharvill QUALIFIED
Darci F OldroydUnited KingdomElwin Sharvill RENEWAL
Ricardo O CampainAustraliaIvan Magalhaes PROPOSAL
Tony R StockhamFranceBernardo Dominic RENEWAL
Tony W NestleRussiaIoni Bowcher NEW
Darci K StensethGermanyOnyama Limba NEW
Deepesh A MorascaItalyStephen Shaw NEGOTIATION
Emily O VocelkaItalyAnna Fali RENEWAL
Tony V MarrierBrazilIoni Bowcher PROPOSAL
Deepesh X WieserFranceIoni Bowcher PROPOSAL
Salvatore C MorascaArgentinaOnyama Limba UNQUALIFIED
Jefferson W MacleadJapanXuxue Feng UNQUALIFIED
Emily R GarufiSpainBernardo Dominic NEW
Ivar T BriddickRussiaStephen Shaw PROPOSAL
Leja N ButtSpainAsiya Javayant NEW
Ashley X CaldareraItalyIvan Magalhaes UNQUALIFIED
Maisha E OldroydUnited KingdomBernardo Dominic UNQUALIFIED
Greenwood Q FigeroaItalyXuxue Feng NEW
Aika D NickaAustraliaAsiya Javayant NEW
Kaitlin A OldroydCanadaAsiya Javayant NEGOTIATION
Smith G MaletItalyAmy Elsner NEW
Francesco A MarrierSpainAnna Fali NEW
Darci W DarakjyJapanAsiya Javayant NEW
Rodrigues C GauchoJapanIvan Magalhaes PROPOSAL
Nicolas V StensethIndiaStephen Shaw PROPOSAL
Faith W DarakjyUnited KingdomAsiya Javayant RENEWAL
Adams C RutaRussiaXuxue Feng NEGOTIATION
Jeanfrancois X ChuiCanadaXuxue Feng NEGOTIATION
Arvin O FlosiSpainIoni Bowcher QUALIFIED
Jeanfrancois M GarufiSpainXuxue Feng PROPOSAL
Jefferson T PaprockiBrazilStephen Shaw RENEWAL

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