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
Cody N DoeCanadaAnna Fali UNQUALIFIED
Leon A FlosiIndiaIvan Magalhaes NEGOTIATION
Deepesh C NickaSpainAnna Fali NEGOTIATION
Smith S OldroydRussiaStephen Shaw NEW
Ricardo Q KolmetzRussiaOnyama Limba RENEWAL
Munro G RoysterCanadaXuxue Feng PROPOSAL
Leon H FigeroaArgentinaOnyama Limba UNQUALIFIED
Maria F DarakjyUnited KingdomAnna Fali RENEWAL
Greenwood I RimRussiaElwin Sharvill RENEWAL
Ivar P WhobreyJapanAnna Fali NEGOTIATION
Wickens F FerenczRussiaIvan Magalhaes NEW
Antonio K OstroskyIndiaStephen Shaw NEW
Francesco W GillianSpainBernardo Dominic NEGOTIATION
Clifford R WhobreyAustraliaIvan Magalhaes NEGOTIATION
Juan I PaprockiJapanOnyama Limba NEGOTIATION
Julie J ChuiItalyOnyama Limba QUALIFIED
Silvio T WaycottRussiaAsiya Javayant NEGOTIATION
Jeanfrancois J SergiFranceStephen Shaw NEGOTIATION
Leja S MaletRussiaAsiya Javayant UNQUALIFIED
Jones U IturbideItalyXuxue Feng NEGOTIATION
Leon I FigeroaIndiaAsiya Javayant UNQUALIFIED
Costa H TollnerAustraliaXuxue Feng UNQUALIFIED
Clifford L MaletSpainAsiya Javayant NEGOTIATION
Deepesh P WhobreyRussiaOnyama Limba NEW
Aditya X PerinGermanyBernardo Dominic RENEWAL
Alejandro Q TollnerArgentinaIoni Bowcher QUALIFIED
Wickens G CaudyArgentinaBernardo Dominic QUALIFIED
Rodrigues R StockhamRussiaAnna Fali RENEWAL
Mayumi P PerinAustraliaIvan Magalhaes NEW
Kaitlin Y MaletCanadaIvan Magalhaes NEGOTIATION
Maisha R MaletIndiaStephen Shaw NEW
Costa W OstroskyCanadaStephen Shaw QUALIFIED
Adams V TollnerCanadaOnyama Limba UNQUALIFIED
Costa J SaylorsIndiaBernardo Dominic NEGOTIATION
Jones Q CaldareraItalyElwin Sharvill RENEWAL
Tony L PerinFranceStephen Shaw QUALIFIED
Salvatore D KolmetzJapanAsiya Javayant NEGOTIATION
Maria Y OldroydArgentinaAmy Elsner QUALIFIED
Tony T NickaRussiaAnna Fali QUALIFIED
Arvin O OstroskyRussiaElwin Sharvill RENEWAL
Costa N ChuiFranceElwin Sharvill RENEWAL
Ivar A VenereIndiaAnna Fali PROPOSAL
Mayumi F GillianGermanyElwin Sharvill QUALIFIED
Adams I ButtUnited KingdomAsiya Javayant NEW
Alejandro S SlusarskiGermanyIvan Magalhaes PROPOSAL
Aika Z FerenczGermanyIoni Bowcher QUALIFIED
Ashley N NestleSpainOnyama Limba RENEWAL
Tony C PoquetteSpainBernardo Dominic NEGOTIATION
Francesco U MorascaFranceOnyama Limba UNQUALIFIED
Aditya H NestleItalyBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Leon R KuskoAustraliaStephen Shaw QUALIFIED
Salvatore F OldroydGermanyAmy Elsner QUALIFIED
Jefferson M GillianUnited KingdomAsiya Javayant RENEWAL
Chavez M GlickUnited KingdomAmy Elsner RENEWAL
Chavez M ShinkoGermanyIvan Magalhaes RENEWAL
Octavia J GlickItalyIoni Bowcher RENEWAL
Kadeem O CampainSpainOnyama Limba NEW
Sinclair O SaylorsArgentinaXuxue Feng PROPOSAL
Leon F GarufiUnited KingdomStephen Shaw UNQUALIFIED
Kadeem S FerenczAustraliaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas T FlosiBrazil2025-05-30Chemel, James L Cpa NEGOTIATION41Onyama Limba
1001Tony E WieserIndia2025-05-18Chemel, James L Cpa PROPOSAL20Anna Fali
1002Murillo R GillianJapan2025-05-19Rangoni Of Florence NEW50Anna Fali
1003Munro M OstroskyRussia2025-06-03Feiner Bros NEGOTIATION98Ivan Magalhaes
1004Julie H PaprockiRussia2025-06-15Dorl, James J Esq UNQUALIFIED98Elwin Sharvill
1005Aika H MacleadArgentina2025-05-24Feiner Bros UNQUALIFIED28Xuxue Feng
1006Munro O CaudySpain2025-06-15Benton, John B Jr QUALIFIED4Anna Fali
1007Maria F FigeroaSpain2025-06-15Commercial Press NEW31Ivan Magalhaes
1008Cody G CaudyBrazil2025-06-10Chapman, Ross E Esq UNQUALIFIED84Xuxue Feng
1009Adams F ButtFrance2025-05-25Feltz Printing Service PROPOSAL85Elwin Sharvill
1010Rodrigues O SaylorsRussia2025-06-07Truhlar And Truhlar Attys NEGOTIATION88Xuxue Feng
1011Ricardo A AlbaresItaly2025-05-19Benton, John B Jr NEW23Anna Fali
1012Antonio G FlosiCanada2025-05-25Dorl, James J Esq NEGOTIATION16Xuxue Feng
1013Tony Z RulapaughItaly2025-05-19King, Christopher A Esq NEW89Bernardo Dominic
1014Murillo Z AmigonUnited Kingdom2025-06-15King, Christopher A Esq NEGOTIATION75Asiya Javayant
1015Misaki P BowleyRussia2025-06-02King, Christopher A Esq NEW62Amy Elsner
1016Kadeem O MorascaRussia2025-05-26Chanay, Jeffrey A Esq PROPOSAL63Onyama Limba
1017Julie T MarrierGermany2025-05-18Truhlar And Truhlar Attys PROPOSAL88Amy Elsner
1018Mayumi P KolmetzIndia2025-06-11Dorl, James J Esq NEGOTIATION29Ivan Magalhaes
1019Leon D FlosiAustralia2025-05-29Chemel, James L Cpa PROPOSAL3Stephen Shaw
1020Smith F OldroydCanada2025-06-11Rangoni Of Florence QUALIFIED82Stephen Shaw
1021Aika Q SchemmerArgentina2025-05-24Chemel, James L Cpa UNQUALIFIED44Ivan Magalhaes
1022Jeanfrancois M SchemmerGermany2025-06-10Printing Dimensions UNQUALIFIED70Bernardo Dominic
1023Nicolas G RutaRussia2025-05-22Chemel, James L Cpa NEGOTIATION73Ioni Bowcher
1024Leon E FlosiCanada2025-05-18Truhlar And Truhlar Attys UNQUALIFIED19Onyama Limba
1025Antonio V MarrierCanada2025-06-14Chanay, Jeffrey A Esq UNQUALIFIED79Ioni Bowcher
1026Antonio Z MacleadFrance2025-06-10King, Christopher A Esq UNQUALIFIED61Amy Elsner
1027Johnson D FigeroaRussia2025-05-31Feltz Printing Service PROPOSAL22Ioni Bowcher
1028Darci U ButtArgentina2025-06-06Truhlar And Truhlar Attys QUALIFIED81Elwin Sharvill
1029Jennifer O FerenczAustralia2025-06-01Benton, John B Jr QUALIFIED99Onyama Limba
1030Murillo S RutaSpain2025-05-21Benton, John B Jr UNQUALIFIED4Anna Fali
1031Kadeem A KuskoAustralia2025-05-20Buckley Miller Wright NEW3Elwin Sharvill
1032Johnson N WieserArgentina2025-06-16Chemel, James L Cpa PROPOSAL17Bernardo Dominic
1033Juan R IturbideSpain2025-06-02King, Christopher A Esq UNQUALIFIED57Anna Fali
1034Jeanfrancois C RoysterUnited Kingdom2025-05-23Printing Dimensions QUALIFIED44Asiya Javayant
1035Silvio A MacleadBrazil2025-06-08Feiner Bros PROPOSAL32Asiya Javayant
1036James O RimSpain2025-06-09Chapman, Ross E Esq QUALIFIED10Amy Elsner
1037Wickens N GauchoCanada2025-05-19Dorl, James J Esq NEW79Elwin Sharvill
1038Salvatore R CaudyIndia2025-06-02Chapman, Ross E Esq QUALIFIED7Stephen Shaw
1039Julie B ChuiItaly2025-05-25Commercial Press UNQUALIFIED9Amy Elsner
1040Misaki R ButtBrazil2025-05-24Printing Dimensions QUALIFIED54Anna Fali
1041Emily K PaprockiAustralia2025-05-20Chanay, Jeffrey A Esq QUALIFIED70Ioni Bowcher
1042Maria W CaudyUnited Kingdom2025-05-23Chemel, James L Cpa NEGOTIATION69Onyama Limba
1043Silvio X IturbideGermany2025-05-19Chanay, Jeffrey A Esq PROPOSAL0Xuxue Feng
1044Leja Q InouyeIndia2025-06-01Feltz Printing Service UNQUALIFIED43Asiya Javayant
1045Sinclair P FlosiFrance2025-06-11Morlong Associates PROPOSAL11Bernardo Dominic
1046Julie F OstroskySpain2025-06-09King, Christopher A Esq QUALIFIED40Bernardo Dominic
1047Smith Z ShinkoRussia2025-05-24Chanay, Jeffrey A Esq NEGOTIATION21Onyama Limba
1048Murillo H ChuiIndia2025-06-11Dorl, James J Esq RENEWAL70Anna Fali
1049Leon F PaprockiGermany2025-06-01Morlong Associates NEGOTIATION99Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Leja Z SergiFranceXuxue Feng UNQUALIFIED
Silvio H AmigonFranceXuxue Feng PROPOSAL
Wickens H ChuiSpainStephen Shaw NEW
Stacey Z IturbideItalyOnyama Limba PROPOSAL
Smith S KolmetzUnited KingdomAnna Fali QUALIFIED
Munro B ButtGermanyAnna Fali UNQUALIFIED
Costa L GauchoBrazilIoni Bowcher QUALIFIED
Sinclair Y RulapaughJapanAsiya Javayant UNQUALIFIED
Julie P VenereGermanyBernardo Dominic RENEWAL
Chavez P SlusarskiCanadaElwin Sharvill RENEWAL
Misaki R ShinkoFranceOnyama Limba RENEWAL
Isabel V BologniaIndiaAnna Fali RENEWAL
David X ButtSpainAnna Fali NEW
Leja N InouyeArgentinaIvan Magalhaes NEGOTIATION
Aika K MarrierRussiaXuxue Feng UNQUALIFIED
Wickens A GlickCanadaIoni Bowcher PROPOSAL
Aruna O SaylorsIndiaBernardo Dominic QUALIFIED
Faith X KolmetzFranceAnna Fali UNQUALIFIED
Jefferson E CampainFranceBernardo Dominic QUALIFIED
Julie U MarrierItalyIoni Bowcher NEGOTIATION
Juan H StensethBrazilStephen Shaw UNQUALIFIED
Kaitlin M OldroydItalyIoni Bowcher NEGOTIATION
Stacey K OstroskyUnited KingdomElwin Sharvill PROPOSAL
Munro W SergiGermanyBernardo Dominic NEGOTIATION
Nicolas S RoysterFranceAmy Elsner QUALIFIED
Ricardo J ChuiRussiaElwin Sharvill PROPOSAL
Antonio P DarakjyItalyBernardo Dominic NEW
Rodrigues E GillianJapanElwin Sharvill NEGOTIATION
David Y ButtCanadaStephen Shaw NEGOTIATION
Sinclair H CaudyGermanyOnyama Limba PROPOSAL
Morrow S MarrierJapanOnyama Limba PROPOSAL
Misaki F GauchoItalyIoni Bowcher QUALIFIED
Izzy P StensethIndiaOnyama Limba PROPOSAL
Arvin G FigeroaFranceAmy Elsner QUALIFIED
Chavez O RulapaughAustraliaElwin Sharvill QUALIFIED
Johnson X VenereIndiaOnyama Limba RENEWAL
Izzy X GillianBrazilStephen Shaw UNQUALIFIED
Nicolas M RutaJapanStephen Shaw QUALIFIED
Sinclair F MorascaJapanAmy Elsner NEW
Misaki H KolmetzGermanyStephen Shaw UNQUALIFIED
Claire P BologniaIndiaIoni Bowcher UNQUALIFIED
Aika H BriddickJapanStephen Shaw RENEWAL
Francesco H NestleIndiaAnna Fali PROPOSAL
Jennifer G FerenczUnited KingdomStephen Shaw NEGOTIATION
Leja U GauchoUnited KingdomXuxue Feng NEW
Izzy I BologniaFranceAnna Fali QUALIFIED
Jennifer F AmigonFranceOnyama Limba NEGOTIATION
Jones W VenereCanadaXuxue Feng RENEWAL
Emily D FigeroaCanadaAmy Elsner PROPOSAL
Izzy R RimAustraliaAmy Elsner QUALIFIED
Frozen Columns
Name
Costa M Glick
Costa I Nestle
Sinclair I Gaucho
Emily P Albares
Jones B Vocelka
Jones B Gaucho
Aditya X Nicka
Morrow Y Vocelka
Izzy K Marrier
Maria L Morasca
Murillo W Wieser
Deepesh G Amigon
Faith S Stenseth
Ashley B Malet
Octavia B Rim
Leja P Caudy
Maisha H Vocelka
Jefferson P Perin
Isabel G Caudy
Antonio H Saylors
Juan K Royster
Mayumi A Perin
Darci T Inouye
Munro X Ostrosky
Rodrigues L Caudy
Johnson P Ostrosky
Sinclair K Stockham
Ashley W Flosi
Aika H Oldroyd
Rodrigues S Nestle
Murillo C Shinko
Mayumi Q Ferencz
Costa R Glick
Darci C Flosi
Kadeem I Malet
Jennifer K Malet
Maisha M Bowley
Claire K Amigon
Leja G Maclead
Jones P Vocelka
Leon M Schemmer
Jeanfrancois U Chui
Claire R Figeroa
Silvio Y Perin
Claire C Inouye
Salvatore P Maclead
Murillo R Morasca
Salvatore M Kolmetz
Munro Q Dilliard
Aditya W Inouye
IdCountryDate
1000Germany2025-05-27
1001Australia2025-05-24
1002Italy2025-06-15
1003Russia2025-06-10
1004India2025-05-24
1005Canada2025-06-04
1006Japan2025-06-07
1007Germany2025-05-21
1008France2025-06-13
1009Germany2025-06-16
1010Russia2025-06-06
1011Spain2025-06-10
1012India2025-06-02
1013Russia2025-06-07
1014Japan2025-06-05
1015Spain2025-05-25
1016United Kingdom2025-05-21
1017United Kingdom2025-05-23
1018Spain2025-05-24
1019Argentina2025-06-08
1020Brazil2025-06-04
1021India2025-05-31
1022Brazil2025-06-07
1023Spain2025-05-28
1024Brazil2025-06-11
1025France2025-06-10
1026Japan2025-05-18
1027Italy2025-06-10
1028Australia2025-05-21
1029Canada2025-06-14
1030Canada2025-05-29
1031Brazil2025-06-07
1032Russia2025-05-25
1033United Kingdom2025-05-24
1034France2025-06-09
1035Australia2025-05-30
1036Russia2025-05-28
1037Germany2025-06-12
1038Argentina2025-06-12
1039Germany2025-06-11
1040Australia2025-06-06
1041Italy2025-06-01
1042Canada2025-06-14
1043Australia2025-06-15
1044United Kingdom2025-05-27
1045United Kingdom2025-05-30
1046Germany2025-06-02
1047Italy2025-06-14
1048India2025-06-08
1049Japan2025-05-20

On-Demand Data

NameIdCountryDate
Rodrigues U Nicka1000Canada2025-06-12
Morrow X Caudy1001Japan2025-06-02
Jones L Poquette1002Australia2025-06-08
Silvio G Kolmetz1003Japan2025-05-20
Julie B Bowley1004Spain2025-05-28
Nicolas T Campain1005Russia2025-06-06
James X Wieser1006France2025-05-26
Isabel J Waycott1007Japan2025-06-14
Morrow M Doe1008Argentina2025-05-19
Salvatore M Nicka1009Germany2025-05-28
Aika I Morasca1010Canada2025-05-21
Stacey R Dilliard1011Brazil2025-06-09
Ashley G Marrier1012Brazil2025-06-11
Juan C Saylors1013Germany2025-05-22
Arvin Q Ruta1014Spain2025-05-25
Antonio O Stenseth1015Japan2025-06-08
Silvio P Gillian1016Germany2025-05-27
Izzy Y Figeroa1017India2025-06-11
Antonio N Ferencz1018Japan2025-05-28
Octavia Z Nestle1019Canada2025-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson Q PerinRussiaStephen Shaw NEW
Emily B RutaAustraliaAsiya Javayant NEW
Juan J KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Claire L BriddickIndiaOnyama Limba QUALIFIED
Jeanfrancois H GlickRussiaStephen Shaw NEGOTIATION
Morrow F GillianCanadaAmy Elsner QUALIFIED
Cody P MacleadRussiaElwin Sharvill PROPOSAL
Ashley J InouyeRussiaIoni Bowcher QUALIFIED
David D BriddickIndiaElwin Sharvill NEGOTIATION
Mujtaba Z DoeAustraliaAmy Elsner UNQUALIFIED
Faith Z MaletSpainXuxue Feng QUALIFIED
Silvio S BriddickArgentinaAnna Fali NEW
Claire D SchemmerCanadaIvan Magalhaes RENEWAL
Francesco E MorascaGermanyStephen Shaw NEW
Stacey O WhobreyUnited KingdomIoni Bowcher QUALIFIED
Kaitlin X CaldareraFranceElwin Sharvill QUALIFIED
Adams N InouyeRussiaAmy Elsner PROPOSAL
Rodrigues Z PaprockiArgentinaBernardo Dominic RENEWAL
Faith L ShinkoGermanyAnna Fali NEW
Silvio T ChuiArgentinaXuxue Feng RENEWAL
Aditya J SchemmerBrazilBernardo Dominic RENEWAL
Isabel Z ChuiRussiaAsiya Javayant QUALIFIED
Jefferson Y MaletArgentinaXuxue Feng UNQUALIFIED
Ashley W PaprockiIndiaIoni Bowcher NEGOTIATION
Murillo G DarakjyItalyAmy Elsner PROPOSAL
Sinclair H PaprockiIndiaOnyama Limba QUALIFIED
Costa D WhobreyJapanElwin Sharvill UNQUALIFIED
James N ButtJapanAsiya Javayant NEGOTIATION
Emily B SaylorsUnited KingdomAsiya Javayant RENEWAL
Munro P StensethRussiaAnna Fali RENEWAL
Arvin D SchemmerSpainXuxue Feng QUALIFIED
Chavez Z WieserFranceAsiya Javayant QUALIFIED
Nicolas J OstroskyItalyIoni Bowcher UNQUALIFIED
Maisha F VenereUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba A VenereArgentinaIvan Magalhaes QUALIFIED
Ricardo T VocelkaUnited KingdomBernardo Dominic RENEWAL
Maisha Z StockhamSpainIoni Bowcher QUALIFIED
Jennifer A NestleArgentinaXuxue Feng NEW
Maisha B SergiJapanBernardo Dominic NEW
Ashley M AmigonGermanyXuxue Feng 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>