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
Maria V CaudyGermanyIvan Magalhaes UNQUALIFIED
Kadeem O PaprockiJapanBernardo Dominic NEW
Adams Q RoysterRussiaStephen Shaw PROPOSAL
Octavia T DarakjyItalyOnyama Limba NEGOTIATION
Leja S FlosiAustraliaStephen Shaw RENEWAL
Clifford U PaprockiItalyOnyama Limba UNQUALIFIED
Mujtaba R MorascaRussiaStephen Shaw UNQUALIFIED
Tony P MorascaUnited KingdomIoni Bowcher UNQUALIFIED
David B GillianJapanAmy Elsner QUALIFIED
Maisha X NickaFranceStephen Shaw QUALIFIED
James V MorascaAustraliaXuxue Feng UNQUALIFIED
Mayumi Y TollnerAustraliaBernardo Dominic QUALIFIED
Salvatore P MarrierBrazilAsiya Javayant UNQUALIFIED
Arvin O FigeroaJapanAsiya Javayant UNQUALIFIED
Octavia K SergiGermanyAnna Fali RENEWAL
Jones P RulapaughBrazilAsiya Javayant QUALIFIED
Rodrigues B WaycottCanadaElwin Sharvill UNQUALIFIED
Ivar E MacleadBrazilAnna Fali UNQUALIFIED
Aruna U FigeroaCanadaIvan Magalhaes PROPOSAL
Ashley U RulapaughFranceElwin Sharvill NEGOTIATION
Darci V InouyeJapanStephen Shaw RENEWAL
Ricardo C CaldareraRussiaElwin Sharvill NEW
Jefferson K WieserBrazilOnyama Limba NEGOTIATION
Ricardo T OldroydFranceIvan Magalhaes RENEWAL
James T PoquetteArgentinaElwin Sharvill PROPOSAL
Clifford N RutaJapanBernardo Dominic QUALIFIED
Maisha J KolmetzAustraliaElwin Sharvill UNQUALIFIED
Isabel U RimCanadaAmy Elsner RENEWAL
Jones D StockhamFranceAnna Fali PROPOSAL
Ivar N GlickGermanyAmy Elsner RENEWAL
Sinclair S DoeCanadaAmy Elsner QUALIFIED
Antonio C PaprockiJapanAsiya Javayant RENEWAL
Jennifer Q SchemmerUnited KingdomXuxue Feng NEW
Alejandro Q MaletBrazilAnna Fali QUALIFIED
Francesco S GlickAustraliaBernardo Dominic NEGOTIATION
Morrow O RoysterUnited KingdomBernardo Dominic NEW
Faith J MaletJapanBernardo Dominic UNQUALIFIED
Clifford H GillianIndiaAnna Fali NEW
Darci E AmigonArgentinaStephen Shaw NEW
Clifford D NickaBrazilAnna Fali QUALIFIED
Silvio R PaprockiSpainXuxue Feng PROPOSAL
Leja D NestleGermanyElwin Sharvill NEW
Julie P CaudyArgentinaIoni Bowcher RENEWAL
Silvio K SlusarskiArgentinaElwin Sharvill NEGOTIATION
Kaitlin Z RimRussiaAmy Elsner UNQUALIFIED
Misaki J WieserBrazilIvan Magalhaes NEGOTIATION
Jefferson S BriddickSpainAmy Elsner QUALIFIED
Tony D RutaJapanAsiya Javayant NEGOTIATION
Octavia Z WhobreyBrazilOnyama Limba NEGOTIATION
Ivar W WhobreySpainBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Greenwood U FlosiItalyAmy Elsner NEGOTIATION
Morrow P PaprockiFranceStephen Shaw NEGOTIATION
Kaitlin N WaycottCanadaOnyama Limba NEGOTIATION
Emily E KolmetzAustraliaAmy Elsner RENEWAL
Maisha Z BriddickGermanyAmy Elsner RENEWAL
Nicolas T SlusarskiSpainElwin Sharvill RENEWAL
Ashley B CampainBrazilOnyama Limba NEW
Jones D StensethIndiaElwin Sharvill QUALIFIED
Izzy X MorascaBrazilAnna Fali RENEWAL
Salvatore N DoeJapanIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens L RulapaughRussia2025-06-12Rangoni Of Florence NEGOTIATION49Elwin Sharvill
1001Francesco E DarakjyArgentina2025-05-18Feiner Bros RENEWAL5Ivan Magalhaes
1002Wickens R WhobreyGermany2025-05-29Rangoni Of Florence QUALIFIED95Bernardo Dominic
1003Antonio L IturbideFrance2025-05-23Rangoni Of Florence RENEWAL59Stephen Shaw
1004Emily I PoquetteCanada2025-05-23Printing Dimensions PROPOSAL57Anna Fali
1005Aruna R IturbideBrazil2025-05-27Commercial Press UNQUALIFIED46Anna Fali
1006Alejandro I CampainRussia2025-06-04Dorl, James J Esq NEGOTIATION48Elwin Sharvill
1007Jones S MaletUnited Kingdom2025-06-16Truhlar And Truhlar Attys NEGOTIATION69Stephen Shaw
1008Jones J WieserItaly2025-05-28Buckley Miller Wright NEW65Amy Elsner
1009Clifford Q RulapaughAustralia2025-06-15King, Christopher A Esq PROPOSAL0Asiya Javayant
1010Sinclair J GarufiUnited Kingdom2025-05-23Chemel, James L Cpa QUALIFIED18Onyama Limba
1011Wickens Q BriddickGermany2025-06-14Dorl, James J Esq NEGOTIATION31Anna Fali
1012Aditya S SchemmerIndia2025-05-31Dorl, James J Esq PROPOSAL78Elwin Sharvill
1013Jeanfrancois F FerenczUnited Kingdom2025-06-11Rousseaux, Michael Esq NEW64Ivan Magalhaes
1014Munro W TollnerIndia2025-05-29Chanay, Jeffrey A Esq PROPOSAL81Bernardo Dominic
1015James O PoquetteAustralia2025-05-31Rousseaux, Michael Esq UNQUALIFIED81Stephen Shaw
1016Smith B SchemmerAustralia2025-05-28Morlong Associates PROPOSAL39Ivan Magalhaes
1017Misaki T MarrierCanada2025-06-15Benton, John B Jr QUALIFIED32Stephen Shaw
1018Ashley P BriddickAustralia2025-06-08Buckley Miller Wright NEW17Bernardo Dominic
1019Izzy Z PaprockiAustralia2025-06-16Morlong Associates QUALIFIED56Ivan Magalhaes
1020James A DarakjyUnited Kingdom2025-06-08Feltz Printing Service QUALIFIED0Stephen Shaw
1021Morrow V VenereFrance2025-05-23Chanay, Jeffrey A Esq RENEWAL43Elwin Sharvill
1022Alejandro M BowleyUnited Kingdom2025-05-26Morlong Associates UNQUALIFIED98Elwin Sharvill
1023Morrow V RoysterJapan2025-05-25Chapman, Ross E Esq PROPOSAL65Onyama Limba
1024Ivar L MaletSpain2025-05-21Rangoni Of Florence NEGOTIATION84Xuxue Feng
1025Stacey W OstroskyBrazil2025-06-15Morlong Associates NEW73Onyama Limba
1026Juan Z VenereItaly2025-05-24Benton, John B Jr NEW80Ioni Bowcher
1027Murillo A FerenczAustralia2025-06-08Chemel, James L Cpa UNQUALIFIED27Ioni Bowcher
1028Greenwood O AmigonJapan2025-05-20Chemel, James L Cpa RENEWAL41Elwin Sharvill
1029Arvin K WaycottIndia2025-05-24Benton, John B Jr NEGOTIATION75Elwin Sharvill
1030Alejandro K MacleadFrance2025-05-27Benton, John B Jr RENEWAL37Amy Elsner
1031Juan Y FerenczUnited Kingdom2025-05-26Benton, John B Jr UNQUALIFIED68Bernardo Dominic
1032Aditya J PerinCanada2025-06-16Morlong Associates RENEWAL29Amy Elsner
1033Munro L BriddickArgentina2025-06-12Chapman, Ross E Esq PROPOSAL95Stephen Shaw
1034Mujtaba O DoeJapan2025-05-30Truhlar And Truhlar Attys RENEWAL66Ioni Bowcher
1035Jones T PaprockiBrazil2025-05-23Chanay, Jeffrey A Esq UNQUALIFIED84Elwin Sharvill
1036Emily D TollnerCanada2025-06-10Benton, John B Jr QUALIFIED1Asiya Javayant
1037Izzy K OldroydArgentina2025-05-25Printing Dimensions NEW56Ivan Magalhaes
1038Aika Q GlickItaly2025-06-11Benton, John B Jr PROPOSAL40Stephen Shaw
1039Clifford X GarufiSpain2025-06-14Commercial Press NEGOTIATION94Stephen Shaw
1040Julie D MaletUnited Kingdom2025-05-31Dorl, James J Esq RENEWAL79Stephen Shaw
1041David C MarrierUnited Kingdom2025-06-15Printing Dimensions QUALIFIED43Bernardo Dominic
1042Rodrigues H RimRussia2025-06-05Feltz Printing Service PROPOSAL23Ioni Bowcher
1043Maisha S CampainUnited Kingdom2025-05-31Chemel, James L Cpa RENEWAL27Ioni Bowcher
1044Aika F VenereUnited Kingdom2025-06-11Dorl, James J Esq NEGOTIATION76Xuxue Feng
1045Aruna B NickaBrazil2025-05-30Chanay, Jeffrey A Esq RENEWAL2Xuxue Feng
1046Arvin Z FigeroaUnited Kingdom2025-06-11Buckley Miller Wright NEW47Bernardo Dominic
1047Jennifer P SaylorsCanada2025-06-07Dorl, James J Esq PROPOSAL94Ioni Bowcher
1048Smith X AmigonRussia2025-05-31King, Christopher A Esq UNQUALIFIED56Onyama Limba
1049Alejandro S MacleadSpain2025-05-19Dorl, James J Esq NEGOTIATION96Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Tony V GlickJapanXuxue Feng RENEWAL
Mujtaba P FerenczFranceIoni Bowcher PROPOSAL
Nicolas W WaycottBrazilAnna Fali NEGOTIATION
Leon D GlickRussiaAsiya Javayant PROPOSAL
Ivar U AmigonJapanAmy Elsner NEGOTIATION
Leon B GlickJapanXuxue Feng NEGOTIATION
Ivar P KolmetzItalyIoni Bowcher RENEWAL
Johnson K MorascaBrazilElwin Sharvill NEGOTIATION
Ashley P BowleyGermanyStephen Shaw PROPOSAL
Chavez R SlusarskiJapanOnyama Limba RENEWAL
Mujtaba X OstroskyGermanyIvan Magalhaes NEGOTIATION
Ricardo H NestleIndiaAsiya Javayant QUALIFIED
Johnson V KuskoAustraliaIoni Bowcher NEGOTIATION
Juan G RoysterAustraliaIvan Magalhaes RENEWAL
Juan S FerenczGermanyXuxue Feng UNQUALIFIED
Izzy E GlickArgentinaAsiya Javayant NEW
Leon E CaudyItalyBernardo Dominic NEW
Aika G BologniaCanadaAmy Elsner RENEWAL
Adams M GillianJapanIoni Bowcher NEGOTIATION
Murillo Y TollnerBrazilAnna Fali NEW
Francesco F StensethArgentinaIoni Bowcher NEGOTIATION
Smith E MacleadJapanAnna Fali QUALIFIED
Wickens Q BriddickUnited KingdomIoni Bowcher RENEWAL
Rodrigues T AlbaresCanadaAnna Fali NEGOTIATION
Claire Q FlosiIndiaAsiya Javayant NEGOTIATION
Jefferson M PoquetteRussiaIoni Bowcher RENEWAL
Costa H CaldareraFranceAnna Fali NEGOTIATION
Faith D SaylorsArgentinaAnna Fali RENEWAL
Julie G GarufiItalyAsiya Javayant RENEWAL
Sinclair F WhobreyJapanAsiya Javayant QUALIFIED
David V ButtJapanIvan Magalhaes NEW
Adams F BowleyArgentinaBernardo Dominic UNQUALIFIED
Aditya P FigeroaItalyBernardo Dominic NEGOTIATION
Maisha B AlbaresItalyOnyama Limba NEGOTIATION
Leon P GillianRussiaIvan Magalhaes UNQUALIFIED
Jones N SergiUnited KingdomElwin Sharvill UNQUALIFIED
Francesco M PoquetteCanadaBernardo Dominic NEW
Alejandro U BologniaRussiaElwin Sharvill QUALIFIED
Costa G DarakjyFranceXuxue Feng NEGOTIATION
Emily L CaldareraRussiaIoni Bowcher RENEWAL
Julie A CaudyBrazilBernardo Dominic PROPOSAL
Silvio N RutaJapanAsiya Javayant PROPOSAL
Octavia J SaylorsItalyAsiya Javayant RENEWAL
Darci K WaycottCanadaBernardo Dominic PROPOSAL
Aruna E PerinCanadaAsiya Javayant RENEWAL
Izzy V RimRussiaOnyama Limba PROPOSAL
Jennifer U InouyeFranceIoni Bowcher UNQUALIFIED
Kaitlin P IturbideArgentinaIoni Bowcher NEW
Mujtaba Y TollnerRussiaElwin Sharvill UNQUALIFIED
Leon P BriddickFranceIoni Bowcher NEGOTIATION
Frozen Columns
Name
Wickens D Flosi
Darci Q Caudy
Jennifer R Nicka
Julie G Ostrosky
Jefferson J Marrier
Adams E Nicka
Aditya F Albares
Maria V Poquette
Salvatore Y Ostrosky
Aika L Royster
Ivar L Amigon
Jennifer B Poquette
Aruna D Caldarera
Mujtaba H Venere
Aditya U Slusarski
Munro S Iturbide
Ivar W Campain
Silvio D Butt
Octavia C Gillian
Antonio Q Iturbide
Maisha K Waycott
Maria Z Flosi
Maria Y Butt
Isabel X Caldarera
Arvin S Kusko
Morrow W Inouye
Ashley O Morasca
Mayumi I Iturbide
Mayumi G Whobrey
Adams G Garufi
Nicolas P Caudy
Leon S Schemmer
Mayumi R Shinko
Costa A Ostrosky
Adams P Campain
Salvatore J Malet
Mayumi O Poquette
Isabel O Iturbide
Morrow P Malet
Alejandro B Sergi
Munro S Stockham
Stacey D Maclead
Clifford Y Ruta
Sinclair N Slusarski
Stacey E Albares
Emily S Stockham
Kadeem G Gaucho
Alejandro I Kusko
Kaitlin O Stockham
Francesco P Stockham
IdCountryDate
1000Italy2025-05-22
1001Italy2025-05-20
1002France2025-06-06
1003Canada2025-05-20
1004Germany2025-06-10
1005Spain2025-05-26
1006Germany2025-05-27
1007India2025-06-11
1008Germany2025-05-22
1009United Kingdom2025-06-01
1010France2025-06-07
1011Australia2025-05-21
1012Russia2025-05-18
1013India2025-06-03
1014Spain2025-06-02
1015France2025-05-28
1016Russia2025-06-11
1017Germany2025-05-24
1018United Kingdom2025-05-25
1019Germany2025-05-28
1020Spain2025-06-04
1021Canada2025-06-05
1022United Kingdom2025-05-20
1023Canada2025-05-18
1024Japan2025-05-21
1025Brazil2025-05-23
1026France2025-06-09
1027Brazil2025-05-26
1028Japan2025-06-05
1029Japan2025-05-29
1030Japan2025-06-06
1031Spain2025-06-09
1032United Kingdom2025-06-01
1033Italy2025-06-16
1034India2025-06-01
1035Canada2025-05-29
1036Japan2025-05-18
1037Germany2025-06-07
1038Australia2025-06-12
1039Russia2025-06-13
1040Argentina2025-06-02
1041Australia2025-06-10
1042France2025-05-30
1043Germany2025-05-24
1044France2025-05-28
1045Canada2025-05-29
1046Germany2025-05-26
1047Argentina2025-06-10
1048United Kingdom2025-05-18
1049Russia2025-06-12

On-Demand Data

NameIdCountryDate
Maria A Gillian1000Brazil2025-06-03
Izzy C Shinko1001United Kingdom2025-06-08
Darci G Waycott1002Russia2025-06-08
Stacey A Chui1003Argentina2025-05-22
Maria X Darakjy1004Spain2025-06-14
Johnson R Slusarski1005Argentina2025-06-15
David V Briddick1006Brazil2025-06-16
Nicolas B Nicka1007India2025-05-26
Claire F Rim1008Brazil2025-06-03
Arvin B Caldarera1009Japan2025-06-05
Leja I Waycott1010Argentina2025-06-03
Jefferson R Kolmetz1011Australia2025-05-25
Maria C Inouye1012Argentina2025-06-05
Faith X Chui1013Spain2025-05-24
Misaki W Inouye1014Brazil2025-05-25
Chavez K Caldarera1015Italy2025-05-18
Jennifer H Caldarera1016India2025-05-31
Antonio X Slusarski1017Australia2025-06-08
Arvin J Stenseth1018Russia2025-06-15
Stacey W Ruta1019Germany2025-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith H DoeGermanyStephen Shaw QUALIFIED
Ashley M MacleadGermanyBernardo Dominic UNQUALIFIED
Darci J GauchoItalyAmy Elsner UNQUALIFIED
Jennifer S MaletItalyOnyama Limba NEW
Stacey V KolmetzSpainIoni Bowcher UNQUALIFIED
Adams F RimFranceOnyama Limba UNQUALIFIED
Isabel A BologniaArgentinaStephen Shaw PROPOSAL
Alejandro Q SchemmerAustraliaAnna Fali RENEWAL
Claire S AlbaresCanadaXuxue Feng NEGOTIATION
Misaki H VocelkaIndiaXuxue Feng PROPOSAL
Costa D FlosiArgentinaStephen Shaw NEW
Arvin F WaycottGermanyXuxue Feng NEW
Munro X AmigonAustraliaAnna Fali NEW
Clifford B RulapaughItalyXuxue Feng NEGOTIATION
Kaitlin Y RoysterArgentinaAsiya Javayant NEW
Sinclair Q VenereGermanyIoni Bowcher PROPOSAL
Alejandro B GlickIndiaIoni Bowcher QUALIFIED
Jefferson I CaldareraUnited KingdomAnna Fali NEGOTIATION
Johnson S FigeroaCanadaAmy Elsner NEW
Mayumi Z VenereRussiaIoni Bowcher PROPOSAL
Costa Q SergiJapanAmy Elsner NEW
Sinclair D SaylorsAustraliaIvan Magalhaes NEGOTIATION
Mayumi X CampainArgentinaBernardo Dominic UNQUALIFIED
Jefferson H StensethCanadaXuxue Feng NEGOTIATION
Kadeem A RimUnited KingdomStephen Shaw NEW
Mayumi W StockhamItalyElwin Sharvill RENEWAL
Juan Z FerenczUnited KingdomAmy Elsner QUALIFIED
Jefferson P PoquetteRussiaAnna Fali UNQUALIFIED
Emily K DarakjyCanadaAnna Fali PROPOSAL
Juan Y StensethJapanOnyama Limba RENEWAL
James S CaldareraUnited KingdomAmy Elsner NEGOTIATION
Adams H IturbideUnited KingdomBernardo Dominic PROPOSAL
Izzy H DarakjyArgentinaAnna Fali NEGOTIATION
Aruna R KolmetzAustraliaBernardo Dominic PROPOSAL
Claire L DarakjyCanadaStephen Shaw NEW
Sinclair A IturbideJapanIvan Magalhaes UNQUALIFIED
Emily J StensethIndiaElwin Sharvill QUALIFIED
Cody Z SergiSpainBernardo Dominic NEW
David B MaletJapanAmy Elsner RENEWAL
Rodrigues V WaycottFranceStephen Shaw UNQUALIFIED

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