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
Kadeem P ButtAustraliaIoni Bowcher RENEWAL
Ivar F SchemmerGermanyXuxue Feng UNQUALIFIED
Chavez F NickaIndiaAsiya Javayant NEW
Emily R VenereUnited KingdomIvan Magalhaes RENEWAL
Costa V CaudyFranceStephen Shaw PROPOSAL
Mujtaba C SlusarskiFranceIoni Bowcher PROPOSAL
Costa M InouyeJapanXuxue Feng RENEWAL
Arvin J ShinkoArgentinaElwin Sharvill PROPOSAL
Silvio A MarrierFranceBernardo Dominic RENEWAL
Johnson D SlusarskiCanadaBernardo Dominic QUALIFIED
Juan E WaycottAustraliaIoni Bowcher RENEWAL
Jefferson J RoysterBrazilAmy Elsner UNQUALIFIED
Ivar T ChuiGermanyIoni Bowcher QUALIFIED
Ashley F DilliardUnited KingdomIoni Bowcher NEGOTIATION
Antonio S GillianGermanyXuxue Feng UNQUALIFIED
Clifford Q MarrierCanadaStephen Shaw NEGOTIATION
Aika B SergiFranceAnna Fali UNQUALIFIED
Munro T SchemmerItalyBernardo Dominic PROPOSAL
Leon R DarakjyItalyStephen Shaw UNQUALIFIED
Stacey F NickaCanadaAsiya Javayant PROPOSAL
Stacey B MaletGermanyOnyama Limba NEW
Leja C FollerSpainOnyama Limba UNQUALIFIED
Adams J CampainRussiaStephen Shaw QUALIFIED
Maisha K ShinkoSpainAnna Fali QUALIFIED
Ivar F SchemmerArgentinaAmy Elsner PROPOSAL
Nicolas O DoeUnited KingdomBernardo Dominic PROPOSAL
James T RulapaughAustraliaXuxue Feng RENEWAL
James N FerenczAustraliaXuxue Feng QUALIFIED
Antonio E SlusarskiBrazilIoni Bowcher RENEWAL
Jennifer Z BriddickSpainIoni Bowcher UNQUALIFIED
Arvin O NickaFranceBernardo Dominic QUALIFIED
Maisha K WieserArgentinaBernardo Dominic NEW
Jeanfrancois S SlusarskiJapanStephen Shaw UNQUALIFIED
Leon L FerenczUnited KingdomOnyama Limba NEGOTIATION
Rodrigues K MorascaJapanStephen Shaw QUALIFIED
Claire L StockhamAustraliaBernardo Dominic PROPOSAL
Aditya N OstroskyArgentinaXuxue Feng QUALIFIED
Johnson A RimBrazilAsiya Javayant UNQUALIFIED
Ivar A PaprockiRussiaAnna Fali UNQUALIFIED
Antonio D WaycottArgentinaIvan Magalhaes UNQUALIFIED
Nicolas T MacleadIndiaAmy Elsner PROPOSAL
Adams J AmigonSpainStephen Shaw NEGOTIATION
Faith N ChuiFranceBernardo Dominic PROPOSAL
Mayumi O NickaUnited KingdomAnna Fali NEW
Maisha E PerinUnited KingdomAsiya Javayant QUALIFIED
Rodrigues M BologniaSpainIoni Bowcher NEW
Arvin N ChuiItalyOnyama Limba PROPOSAL
Clifford X InouyeUnited KingdomAmy Elsner UNQUALIFIED
Ricardo P SergiItalyAsiya Javayant PROPOSAL
Jones W MarrierJapanXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika Z MaletCanadaOnyama Limba NEW
Wickens L WieserCanadaBernardo Dominic NEGOTIATION
Chavez V SlusarskiFranceIvan Magalhaes NEGOTIATION
Johnson S BriddickJapanStephen Shaw PROPOSAL
Darci T VocelkaBrazilStephen Shaw NEW
Salvatore M NestleIndiaAsiya Javayant UNQUALIFIED
Juan I IturbideGermanyBernardo Dominic QUALIFIED
Adams K IturbideAustraliaAmy Elsner RENEWAL
Francesco R CampainIndiaXuxue Feng QUALIFIED
Kaitlin P WieserArgentinaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar V SergiRussia2026-07-22Dorl, James J Esq PROPOSAL58Ivan Magalhaes
1001Sinclair V MarrierFrance2026-07-23Rangoni Of Florence QUALIFIED72Ioni Bowcher
1002Mujtaba R MaletAustralia2026-07-19Feltz Printing Service PROPOSAL77Amy Elsner
1003Francesco U OldroydSpain2026-07-23King, Christopher A Esq QUALIFIED39Anna Fali
1004Leon G SchemmerRussia2026-07-30Chanay, Jeffrey A Esq NEGOTIATION42Ivan Magalhaes
1005Jones M SaylorsFrance2026-07-26Benton, John B Jr RENEWAL4Ioni Bowcher
1006Isabel L MacleadJapan2026-08-11Chemel, James L Cpa RENEWAL9Onyama Limba
1007Clifford H GauchoRussia2026-07-22Chemel, James L Cpa PROPOSAL98Xuxue Feng
1008Antonio F WieserGermany2026-07-17Feltz Printing Service PROPOSAL35Amy Elsner
1009Alejandro W CampainArgentina2026-07-20Chanay, Jeffrey A Esq QUALIFIED47Anna Fali
1010Octavia A NestleCanada2026-07-28Rangoni Of Florence QUALIFIED11Anna Fali
1011Costa H FollerBrazil2026-08-03King, Christopher A Esq UNQUALIFIED67Anna Fali
1012Munro R CampainAustralia2026-08-12Chapman, Ross E Esq UNQUALIFIED62Bernardo Dominic
1013Ivar W FigeroaUnited Kingdom2026-07-15Rousseaux, Michael Esq NEGOTIATION76Elwin Sharvill
1014Wickens Q FlosiRussia2026-08-06Rangoni Of Florence UNQUALIFIED45Xuxue Feng
1015Jones O KuskoCanada2026-07-19Feltz Printing Service NEGOTIATION79Anna Fali
1016Juan C FigeroaArgentina2026-08-09Feltz Printing Service QUALIFIED8Elwin Sharvill
1017Claire C CaldareraCanada2026-07-14Chemel, James L Cpa UNQUALIFIED96Ioni Bowcher
1018Ivar I RutaAustralia2026-08-05Rangoni Of Florence PROPOSAL91Elwin Sharvill
1019Jennifer X WaycottJapan2026-07-15King, Christopher A Esq PROPOSAL48Asiya Javayant
1020Antonio J SlusarskiSpain2026-07-24Commercial Press QUALIFIED63Anna Fali
1021Faith I GauchoFrance2026-08-01Feiner Bros NEW86Asiya Javayant
1022Salvatore I GauchoArgentina2026-07-24Chanay, Jeffrey A Esq PROPOSAL16Amy Elsner
1023Juan H DilliardIndia2026-07-27Chemel, James L Cpa QUALIFIED10Elwin Sharvill
1024Ashley E CampainFrance2026-07-17Rangoni Of Florence UNQUALIFIED73Ivan Magalhaes
1025Leja L PerinItaly2026-08-11Chemel, James L Cpa UNQUALIFIED4Xuxue Feng
1026Francesco P WaycottGermany2026-08-06Dorl, James J Esq QUALIFIED48Stephen Shaw
1027Ashley N MaletArgentina2026-07-26Chanay, Jeffrey A Esq PROPOSAL91Xuxue Feng
1028Mujtaba M OldroydBrazil2026-07-29Rousseaux, Michael Esq RENEWAL19Xuxue Feng
1029Julie G ShinkoUnited Kingdom2026-08-09King, Christopher A Esq NEGOTIATION82Ioni Bowcher
1030James N AlbaresRussia2026-08-07Commercial Press QUALIFIED11Xuxue Feng
1031James V RulapaughSpain2026-07-30Chapman, Ross E Esq RENEWAL6Ioni Bowcher
1032Emily W StensethFrance2026-08-09King, Christopher A Esq UNQUALIFIED31Asiya Javayant
1033Costa V MaletUnited Kingdom2026-08-08Feiner Bros UNQUALIFIED58Ivan Magalhaes
1034Emily Q RutaIndia2026-07-21Buckley Miller Wright NEGOTIATION0Ivan Magalhaes
1035Smith F CaldareraBrazil2026-07-25Chanay, Jeffrey A Esq PROPOSAL78Ivan Magalhaes
1036Faith P OstroskyGermany2026-08-09Feiner Bros NEGOTIATION47Ioni Bowcher
1037Maisha Z OldroydFrance2026-08-07Chapman, Ross E Esq UNQUALIFIED52Onyama Limba
1038Julie V FlosiItaly2026-08-03Rousseaux, Michael Esq NEGOTIATION25Amy Elsner
1039Greenwood L DoeAustralia2026-07-28Chanay, Jeffrey A Esq PROPOSAL93Asiya Javayant
1040Arvin O RulapaughBrazil2026-08-09Feiner Bros UNQUALIFIED26Bernardo Dominic
1041Francesco R TollnerUnited Kingdom2026-07-25Printing Dimensions QUALIFIED71Stephen Shaw
1042Clifford U VocelkaJapan2026-07-16Chapman, Ross E Esq QUALIFIED97Elwin Sharvill
1043Smith P BologniaRussia2026-07-28Chanay, Jeffrey A Esq UNQUALIFIED49Stephen Shaw
1044Francesco J KolmetzRussia2026-08-03Benton, John B Jr NEGOTIATION31Ivan Magalhaes
1045Greenwood R WhobreyAustralia2026-07-23Buckley Miller Wright NEW95Bernardo Dominic
1046Maisha R KolmetzJapan2026-08-08Morlong Associates PROPOSAL19Amy Elsner
1047Maisha G FlosiUnited Kingdom2026-08-08Rangoni Of Florence NEW42Onyama Limba
1048Faith M FlosiJapan2026-07-14Chemel, James L Cpa RENEWAL98Asiya Javayant
1049Maria V DoeSpain2026-07-17Feiner Bros RENEWAL27Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Antonio T TollnerFranceAnna Fali PROPOSAL
Alejandro O GarufiGermanyAnna Fali NEGOTIATION
Munro Y WaycottAustraliaXuxue Feng NEW
David A DarakjyCanadaElwin Sharvill NEGOTIATION
Smith T GillianAustraliaOnyama Limba NEW
Morrow Z SergiArgentinaIvan Magalhaes RENEWAL
Francesco H FlosiArgentinaStephen Shaw NEGOTIATION
Greenwood B ShinkoRussiaAsiya Javayant QUALIFIED
Ashley J OldroydFranceIoni Bowcher NEW
Claire T GauchoAustraliaStephen Shaw PROPOSAL
Johnson X OldroydItalyElwin Sharvill PROPOSAL
Nicolas F DoeJapanElwin Sharvill RENEWAL
Darci N WaycottSpainAmy Elsner NEW
Adams A DilliardItalyAmy Elsner RENEWAL
Nicolas P CaudyFranceIoni Bowcher RENEWAL
Clifford J DarakjyCanadaElwin Sharvill PROPOSAL
Arvin N GillianJapanBernardo Dominic RENEWAL
Emily F StensethJapanBernardo Dominic NEW
Johnson V FerenczFranceAnna Fali RENEWAL
Misaki Z PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Munro Q CaudySpainOnyama Limba NEW
Faith Y FigeroaJapanAnna Fali RENEWAL
Deepesh P RoysterArgentinaBernardo Dominic NEW
Cody X BowleyUnited KingdomAsiya Javayant RENEWAL
Antonio J VocelkaBrazilBernardo Dominic NEW
Ivar U MacleadItalyElwin Sharvill QUALIFIED
Cody R GarufiSpainAsiya Javayant NEGOTIATION
Adams D PerinJapanXuxue Feng RENEWAL
Mayumi S GlickCanadaStephen Shaw RENEWAL
Aditya E GlickBrazilIvan Magalhaes NEW
Darci B ChuiSpainStephen Shaw UNQUALIFIED
Murillo Q SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Jefferson J DoeGermanyBernardo Dominic NEGOTIATION
Deepesh R RoysterUnited KingdomIoni Bowcher RENEWAL
Cody Y CaudyItalyIvan Magalhaes QUALIFIED
Ricardo E FlosiItalyXuxue Feng NEGOTIATION
Octavia D PaprockiArgentinaElwin Sharvill NEW
Faith K MarrierCanadaOnyama Limba RENEWAL
James Y NestleFranceAnna Fali NEW
Leon Y BologniaIndiaIvan Magalhaes NEGOTIATION
Smith F FollerSpainAmy Elsner QUALIFIED
Tony U FerenczIndiaAnna Fali QUALIFIED
Jeanfrancois W StensethUnited KingdomOnyama Limba NEGOTIATION
Clifford L BowleyArgentinaStephen Shaw NEGOTIATION
Julie O VocelkaBrazilBernardo Dominic PROPOSAL
James Z AmigonRussiaOnyama Limba PROPOSAL
David B RoysterBrazilOnyama Limba QUALIFIED
Clifford Q InouyeAustraliaElwin Sharvill PROPOSAL
Ashley R BowleyFranceOnyama Limba PROPOSAL
Alejandro B DoeIndiaElwin Sharvill QUALIFIED
Frozen Columns
Name
Aika U Ruta
Alejandro J Stenseth
Jennifer L Rim
Stacey D Rim
Leja G Butt
Clifford I Nicka
Leja L Gaucho
Sinclair N Garufi
Octavia L Chui
Claire T Marrier
Juan L Ferencz
Munro N Whobrey
Deepesh F Gillian
Silvio A Shinko
Chavez G Albares
Darci Y Gillian
Morrow C Bolognia
Aika B Foller
Jeanfrancois I Saylors
Octavia P Slusarski
Smith O Caldarera
Adams M Tollner
Silvio A Royster
Juan V Caudy
Jeanfrancois T Schemmer
Juan M Malet
Tony H Gillian
Octavia F Inouye
Tony G Dilliard
Deepesh L Figeroa
Salvatore M Gillian
Alejandro R Venere
Mayumi M Ostrosky
Faith C Nestle
Wickens V Garufi
Leja E Royster
Isabel G Schemmer
Nicolas I Waycott
Greenwood A Oldroyd
Ivar V Vocelka
Chavez U Kusko
Smith T Caudy
Aika U Stockham
Antonio M Perin
Kadeem I Amigon
Jefferson O Dilliard
Salvatore M Rim
Isabel C Campain
David R Gillian
Ashley L Bolognia
IdCountryDate
1000Germany2026-08-04
1001Brazil2026-07-15
1002Argentina2026-07-31
1003Russia2026-07-19
1004India2026-07-29
1005Australia2026-07-29
1006France2026-07-25
1007Italy2026-07-21
1008Canada2026-07-18
1009Japan2026-08-12
1010Italy2026-07-18
1011France2026-07-21
1012Germany2026-07-14
1013Spain2026-07-24
1014Spain2026-07-21
1015United Kingdom2026-08-07
1016United Kingdom2026-08-05
1017Canada2026-08-02
1018Germany2026-08-09
1019Australia2026-07-15
1020Australia2026-07-19
1021Germany2026-07-23
1022Brazil2026-07-27
1023Russia2026-07-16
1024Brazil2026-08-09
1025Germany2026-08-01
1026United Kingdom2026-08-07
1027Germany2026-07-25
1028United Kingdom2026-08-05
1029Russia2026-07-26
1030Germany2026-07-19
1031Australia2026-08-06
1032Japan2026-08-11
1033Brazil2026-07-30
1034Russia2026-07-17
1035Canada2026-08-05
1036India2026-07-21
1037Germany2026-07-30
1038Japan2026-07-14
1039Italy2026-08-06
1040Argentina2026-07-30
1041Argentina2026-07-26
1042Germany2026-07-22
1043United Kingdom2026-08-07
1044Russia2026-07-17
1045Brazil2026-07-24
1046Canada2026-08-12
1047France2026-08-02
1048Spain2026-08-11
1049Australia2026-07-22

On-Demand Data

NameIdCountryDate
Maisha A Maclead1000France2026-07-19
Jeanfrancois C Caldarera1001Italy2026-07-25
Jefferson H Shinko1002Canada2026-07-21
Nicolas C Darakjy1003Russia2026-07-22
Kadeem X Kusko1004Germany2026-07-30
Adams T Nestle1005Spain2026-07-21
Stacey A Iturbide1006Australia2026-08-09
Munro H Nestle1007Brazil2026-07-25
Greenwood V Albares1008United Kingdom2026-08-03
Isabel L Maclead1009Brazil2026-08-04
Johnson R Caudy1010United Kingdom2026-08-08
Julie Z Oldroyd1011India2026-07-18
Johnson R Doe1012United Kingdom2026-07-27
Aika F Figeroa1013Russia2026-07-28
Kadeem S Gillian1014Australia2026-07-22
Ashley C Perin1015Germany2026-07-25
Aika S Darakjy1016Italy2026-08-06
Aruna M Vocelka1017United Kingdom2026-08-08
Ricardo U Vocelka1018France2026-07-19
Silvio T Caldarera1019United Kingdom2026-07-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio K InouyeBrazilAnna Fali UNQUALIFIED
Ashley X WieserArgentinaIvan Magalhaes NEGOTIATION
Aditya M FerenczJapanOnyama Limba NEGOTIATION
Jones P BriddickCanadaIvan Magalhaes PROPOSAL
Tony Y GauchoIndiaAsiya Javayant NEGOTIATION
Rodrigues M NestleAustraliaIvan Magalhaes NEGOTIATION
Juan Y SaylorsUnited KingdomIoni Bowcher NEW
Murillo V SlusarskiBrazilStephen Shaw NEW
Izzy Z InouyeCanadaIvan Magalhaes RENEWAL
Sinclair L FigeroaItalyOnyama Limba NEGOTIATION
Maria Q CaldareraGermanyIoni Bowcher UNQUALIFIED
Ivar K FollerArgentinaAnna Fali QUALIFIED
David I PaprockiItalyBernardo Dominic QUALIFIED
Izzy A DoeIndiaAsiya Javayant RENEWAL
Tony Y MaletBrazilOnyama Limba QUALIFIED
Chavez N TollnerJapanIvan Magalhaes RENEWAL
Adams Q GarufiRussiaIoni Bowcher NEGOTIATION
Izzy Q GlickJapanIvan Magalhaes QUALIFIED
Mujtaba X GarufiAustraliaIvan Magalhaes QUALIFIED
Aika A FlosiIndiaAnna Fali NEW
Nicolas W OldroydArgentinaAnna Fali RENEWAL
Salvatore D OldroydCanadaAmy Elsner NEW
Julie N WhobreyItalyIvan Magalhaes PROPOSAL
Leja S SergiAustraliaIoni Bowcher RENEWAL
Izzy J FollerJapanAsiya Javayant NEW
Chavez W MaletSpainAmy Elsner NEW
Greenwood H VenereAustraliaIoni Bowcher RENEWAL
Wickens H RoysterRussiaAnna Fali PROPOSAL
Clifford F FlosiJapanElwin Sharvill PROPOSAL
Cody G MorascaGermanyStephen Shaw RENEWAL
Misaki T InouyeFranceAmy Elsner NEGOTIATION
David I VenereCanadaElwin Sharvill PROPOSAL
Sinclair K SergiArgentinaXuxue Feng QUALIFIED
Clifford F RoysterBrazilIvan Magalhaes RENEWAL
Kaitlin T StensethJapanStephen Shaw RENEWAL
Wickens C MarrierFranceAmy Elsner RENEWAL
Jennifer K OstroskySpainBernardo Dominic NEW
Leon N VocelkaGermanyXuxue Feng RENEWAL
Rodrigues F BriddickJapanAnna Fali PROPOSAL
Juan I ShinkoItalyAmy Elsner 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>