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 D AmigonBrazilAsiya Javayant NEW
Ashley B BowleySpainBernardo Dominic QUALIFIED
Octavia N FigeroaFranceXuxue Feng NEGOTIATION
Munro P BriddickJapanAsiya Javayant QUALIFIED
Tony M SchemmerFranceXuxue Feng QUALIFIED
David B GauchoCanadaAsiya Javayant NEW
Leja O WaycottJapanOnyama Limba NEGOTIATION
Murillo M MaletJapanXuxue Feng PROPOSAL
Kadeem R StensethItalyAsiya Javayant NEGOTIATION
Octavia V WhobreyRussiaAmy Elsner QUALIFIED
Octavia Y BowleyBrazilIvan Magalhaes UNQUALIFIED
Nicolas E AlbaresCanadaOnyama Limba RENEWAL
Nicolas D VenereBrazilElwin Sharvill NEW
Octavia Q RutaIndiaAnna Fali NEW
Aika X DoeItalyBernardo Dominic NEGOTIATION
Morrow H VocelkaFranceXuxue Feng NEW
Greenwood Z MaletFranceAnna Fali NEGOTIATION
Emily A CaldareraArgentinaXuxue Feng RENEWAL
Deepesh T ShinkoIndiaElwin Sharvill PROPOSAL
Mayumi L FigeroaFranceAmy Elsner NEW
James T RimIndiaAnna Fali NEW
Johnson J RimJapanOnyama Limba NEW
Isabel F CaldareraGermanyIvan Magalhaes RENEWAL
Francesco D GauchoAustraliaStephen Shaw UNQUALIFIED
Maria B FlosiJapanAsiya Javayant PROPOSAL
Ricardo V WhobreyBrazilStephen Shaw QUALIFIED
Izzy K MacleadAustraliaXuxue Feng NEW
Murillo T WieserItalyBernardo Dominic PROPOSAL
Maisha C SlusarskiJapanAnna Fali PROPOSAL
Alejandro D BriddickGermanyStephen Shaw RENEWAL
Jeanfrancois D ShinkoAustraliaXuxue Feng PROPOSAL
Francesco Y VocelkaAustraliaAmy Elsner NEGOTIATION
Kadeem Y InouyeSpainOnyama Limba NEW
Wickens M InouyeJapanBernardo Dominic PROPOSAL
Cody R CampainItalyElwin Sharvill UNQUALIFIED
Tony V CaudyRussiaStephen Shaw NEGOTIATION
Ivar J CaldareraSpainOnyama Limba UNQUALIFIED
Francesco H DarakjyItalyAsiya Javayant PROPOSAL
Cody M ShinkoIndiaElwin Sharvill PROPOSAL
Murillo N BowleySpainAsiya Javayant NEW
Jones N DoeFranceIvan Magalhaes NEGOTIATION
Greenwood P MarrierFranceIvan Magalhaes NEGOTIATION
Tony X FlosiUnited KingdomXuxue Feng RENEWAL
Rodrigues E AmigonBrazilIvan Magalhaes NEW
Leja V NickaAustraliaIoni Bowcher NEW
Wickens W VocelkaBrazilBernardo Dominic NEW
Silvio N PaprockiBrazilOnyama Limba PROPOSAL
Alejandro T BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Isabel W MacleadUnited KingdomAmy Elsner UNQUALIFIED
Izzy P RoysterArgentinaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ricardo Q RimIndiaIvan Magalhaes RENEWAL
Mujtaba R RimUnited KingdomBernardo Dominic PROPOSAL
Claire P CaudyFranceAmy Elsner PROPOSAL
Izzy Z DilliardAustraliaOnyama Limba NEGOTIATION
Chavez I KuskoRussiaOnyama Limba RENEWAL
Costa W MacleadCanadaBernardo Dominic RENEWAL
Ricardo C BologniaAustraliaIoni Bowcher QUALIFIED
James J TollnerBrazilStephen Shaw NEW
Clifford U ChuiGermanyStephen Shaw QUALIFIED
Murillo S GarufiItalyIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin K SergiSpain2025-04-03Chanay, Jeffrey A Esq RENEWAL34Ioni Bowcher
1001Jefferson Z WaycottArgentina2025-04-16Morlong Associates NEW54Ioni Bowcher
1002Jeanfrancois Y BowleyIndia2025-04-21Chapman, Ross E Esq RENEWAL43Onyama Limba
1003Ricardo E FigeroaAustralia2025-04-02Chapman, Ross E Esq NEW53Onyama Limba
1004Smith E OldroydSpain2025-04-05Chanay, Jeffrey A Esq NEW12Amy Elsner
1005Faith M WaycottItaly2025-04-10Truhlar And Truhlar Attys UNQUALIFIED13Onyama Limba
1006Cody C NestleGermany2025-04-15Commercial Press PROPOSAL60Onyama Limba
1007Munro O ShinkoBrazil2025-04-11Buckley Miller Wright RENEWAL85Asiya Javayant
1008Francesco G BriddickGermany2025-04-15Rangoni Of Florence RENEWAL78Amy Elsner
1009Jennifer B GauchoRussia2025-04-22Feltz Printing Service PROPOSAL87Elwin Sharvill
1010Greenwood W RoysterIndia2025-04-20Benton, John B Jr NEGOTIATION97Bernardo Dominic
1011Salvatore C GillianAustralia2025-04-24King, Christopher A Esq NEW27Elwin Sharvill
1012Clifford Q BriddickBrazil2025-04-14Rousseaux, Michael Esq PROPOSAL17Bernardo Dominic
1013James G SchemmerUnited Kingdom2025-04-28Rangoni Of Florence RENEWAL47Asiya Javayant
1014Leja H GillianRussia2025-04-12Chanay, Jeffrey A Esq QUALIFIED90Xuxue Feng
1015Morrow C SchemmerCanada2025-04-02Benton, John B Jr PROPOSAL84Asiya Javayant
1016Cody D RimAustralia2025-04-27Chemel, James L Cpa UNQUALIFIED68Onyama Limba
1017Leja C GauchoArgentina2025-04-16Feiner Bros PROPOSAL7Xuxue Feng
1018Mayumi E RutaJapan2025-04-11Benton, John B Jr UNQUALIFIED67Bernardo Dominic
1019Silvio L CaldareraFrance2025-04-09Truhlar And Truhlar Attys RENEWAL16Elwin Sharvill
1020Leon R OldroydItaly2025-04-03Chemel, James L Cpa UNQUALIFIED23Asiya Javayant
1021Juan V StensethUnited Kingdom2025-04-11Rousseaux, Michael Esq NEW64Stephen Shaw
1022Julie M GlickIndia2025-04-23King, Christopher A Esq NEGOTIATION0Asiya Javayant
1023Aruna B GarufiAustralia2025-04-13Feltz Printing Service RENEWAL40Onyama Limba
1024Alejandro Y SergiBrazil2025-04-14Truhlar And Truhlar Attys UNQUALIFIED14Stephen Shaw
1025Maisha L SaylorsCanada2025-04-21Benton, John B Jr NEGOTIATION89Elwin Sharvill
1026Jennifer W OstroskyBrazil2025-04-17Chanay, Jeffrey A Esq QUALIFIED87Onyama Limba
1027Emily V VocelkaBrazil2025-04-18Truhlar And Truhlar Attys UNQUALIFIED97Stephen Shaw
1028Rodrigues S GillianCanada2025-04-10Dorl, James J Esq NEGOTIATION39Ioni Bowcher
1029Isabel C StensethBrazil2025-04-09Chanay, Jeffrey A Esq RENEWAL29Anna Fali
1030Maisha Q AmigonUnited Kingdom2025-04-05Rangoni Of Florence NEGOTIATION40Elwin Sharvill
1031Kaitlin J BriddickItaly2025-04-14Rangoni Of Florence PROPOSAL80Onyama Limba
1032Octavia N BowleyUnited Kingdom2025-04-05Chanay, Jeffrey A Esq QUALIFIED26Elwin Sharvill
1033Adams D CaudyBrazil2025-04-13King, Christopher A Esq PROPOSAL60Asiya Javayant
1034Jeanfrancois W TollnerJapan2025-04-01Morlong Associates NEW19Onyama Limba
1035Chavez O FlosiFrance2025-04-15Truhlar And Truhlar Attys RENEWAL58Asiya Javayant
1036Alejandro V FlosiUnited Kingdom2025-04-29King, Christopher A Esq QUALIFIED88Ioni Bowcher
1037Adams G ShinkoJapan2025-04-02Feiner Bros NEGOTIATION88Stephen Shaw
1038Silvio F RutaRussia2025-04-11King, Christopher A Esq NEW96Xuxue Feng
1039Nicolas G WaycottAustralia2025-04-14Morlong Associates NEW35Bernardo Dominic
1040Arvin R MaletArgentina2025-04-07Rangoni Of Florence NEGOTIATION83Ioni Bowcher
1041Arvin W IturbideCanada2025-04-12Chemel, James L Cpa PROPOSAL40Onyama Limba
1042Jeanfrancois X ShinkoGermany2025-04-06Commercial Press UNQUALIFIED54Elwin Sharvill
1043Jennifer G GarufiUnited Kingdom2025-04-14Dorl, James J Esq NEGOTIATION96Asiya Javayant
1044Izzy Q GauchoIndia2025-04-09King, Christopher A Esq UNQUALIFIED70Ivan Magalhaes
1045Salvatore M FigeroaItaly2025-04-10King, Christopher A Esq QUALIFIED1Ioni Bowcher
1046Morrow J InouyeIndia2025-04-01Buckley Miller Wright RENEWAL67Ioni Bowcher
1047Jeanfrancois F CampainGermany2025-04-21Feiner Bros NEGOTIATION29Onyama Limba
1048Leja H VenereIndia2025-04-26Chemel, James L Cpa QUALIFIED40Amy Elsner
1049Clifford M SergiUnited Kingdom2025-04-03Chanay, Jeffrey A Esq NEW23Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
James J RulapaughRussiaBernardo Dominic RENEWAL
Stacey M InouyeItalyIvan Magalhaes RENEWAL
Antonio C WaycottFranceOnyama Limba PROPOSAL
Leon A WhobreyBrazilIoni Bowcher PROPOSAL
Emily G SergiSpainAsiya Javayant QUALIFIED
Johnson W WieserAustraliaAmy Elsner NEGOTIATION
Mujtaba H PerinIndiaAsiya Javayant PROPOSAL
Aditya T PaprockiFranceIoni Bowcher UNQUALIFIED
Jefferson T AlbaresRussiaElwin Sharvill PROPOSAL
Antonio F BologniaGermanyStephen Shaw NEGOTIATION
Maria V ChuiSpainAnna Fali NEW
Ricardo D KuskoRussiaAnna Fali UNQUALIFIED
Deepesh Y OstroskyCanadaXuxue Feng NEW
David L FlosiUnited KingdomXuxue Feng PROPOSAL
Antonio Q VocelkaBrazilAsiya Javayant UNQUALIFIED
Ricardo Y KolmetzIndiaAnna Fali NEGOTIATION
Leja X PaprockiFranceIvan Magalhaes RENEWAL
Jennifer G OstroskyGermanyStephen Shaw QUALIFIED
Nicolas Q PerinItalyXuxue Feng RENEWAL
Emily N MaletIndiaElwin Sharvill PROPOSAL
David Q KolmetzJapanAmy Elsner QUALIFIED
Ivar T NickaJapanIoni Bowcher UNQUALIFIED
Ricardo F SchemmerUnited KingdomXuxue Feng PROPOSAL
Misaki J GarufiGermanyAmy Elsner NEGOTIATION
Rodrigues D TollnerGermanyIoni Bowcher QUALIFIED
Stacey F GauchoRussiaElwin Sharvill UNQUALIFIED
Mujtaba C ChuiArgentinaAsiya Javayant RENEWAL
Claire I PerinIndiaOnyama Limba NEGOTIATION
Kadeem J SaylorsJapanIvan Magalhaes UNQUALIFIED
Murillo K RimBrazilBernardo Dominic QUALIFIED
Claire M KolmetzItalyOnyama Limba RENEWAL
Johnson W AmigonArgentinaAsiya Javayant RENEWAL
Cody R RoysterCanadaIoni Bowcher UNQUALIFIED
Misaki Y RutaAustraliaOnyama Limba RENEWAL
Francesco M ButtRussiaAsiya Javayant PROPOSAL
Francesco G NestleItalyElwin Sharvill NEGOTIATION
Greenwood D StockhamItalyAmy Elsner PROPOSAL
Deepesh G SchemmerAustraliaStephen Shaw NEGOTIATION
Darci L FlosiRussiaAsiya Javayant UNQUALIFIED
Maria L MaletGermanyStephen Shaw UNQUALIFIED
Francesco G GillianUnited KingdomOnyama Limba RENEWAL
Jefferson A FlosiCanadaIvan Magalhaes QUALIFIED
Kaitlin T InouyeCanadaElwin Sharvill NEGOTIATION
Antonio M PoquetteGermanyIoni Bowcher NEW
James E BowleyFranceBernardo Dominic NEW
Ashley J ButtArgentinaBernardo Dominic QUALIFIED
Emily P NickaArgentinaOnyama Limba RENEWAL
Silvio U WieserBrazilAmy Elsner NEGOTIATION
Stacey C NestleJapanXuxue Feng UNQUALIFIED
Misaki C FollerItalyOnyama Limba PROPOSAL
Frozen Columns
Name
Izzy L Malet
Aika T Schemmer
Smith V Iturbide
Kaitlin L Bowley
Aditya B Chui
Alejandro N Nestle
Emily Q Stockham
Ashley T Royster
Leon S Slusarski
Adams D Stenseth
Morrow I Figeroa
James H Glick
Salvatore N Glick
Jefferson L Rim
Jennifer T Bolognia
Wickens Z Kolmetz
Costa R Gaucho
Mujtaba W Amigon
Deepesh G Waycott
Tony H Schemmer
Alejandro G Marrier
Chavez D Tollner
Stacey T Waycott
Antonio V Gillian
Misaki K Gillian
Ashley B Whobrey
Tony I Dilliard
Smith K Venere
Leja Q Dilliard
Morrow J Poquette
Alejandro V Morasca
Antonio S Amigon
Emily O Royster
Clifford G Morasca
Jennifer I Oldroyd
Murillo T Schemmer
Stacey X Albares
Wickens I Sergi
Arvin J Perin
Jones V Albares
Costa A Schemmer
Cody M Inouye
Smith L Chui
Adams N Caldarera
Alejandro R Ostrosky
Sinclair W Iturbide
Johnson R Stenseth
Munro Y Nicka
Kaitlin J Ferencz
Kaitlin K Butt
IdCountryDate
1000Canada2025-04-25
1001Australia2025-04-23
1002France2025-04-16
1003Italy2025-04-16
1004Australia2025-04-29
1005Brazil2025-03-31
1006France2025-04-19
1007Germany2025-04-03
1008Italy2025-04-28
1009Italy2025-04-15
1010Russia2025-04-09
1011India2025-04-29
1012United Kingdom2025-04-05
1013Germany2025-04-02
1014France2025-04-01
1015Brazil2025-04-09
1016India2025-04-22
1017United Kingdom2025-04-10
1018India2025-04-18
1019Brazil2025-04-04
1020Argentina2025-04-10
1021Australia2025-04-14
1022Italy2025-04-16
1023France2025-04-22
1024Japan2025-04-11
1025Spain2025-04-04
1026France2025-04-19
1027Japan2025-04-12
1028United Kingdom2025-04-14
1029India2025-04-13
1030United Kingdom2025-04-05
1031Japan2025-04-14
1032Japan2025-04-18
1033Japan2025-04-15
1034Argentina2025-04-11
1035Australia2025-03-31
1036Argentina2025-04-27
1037France2025-04-06
1038Germany2025-04-12
1039Germany2025-04-07
1040Canada2025-04-26
1041Canada2025-04-11
1042India2025-04-20
1043Australia2025-04-03
1044India2025-04-28
1045India2025-04-15
1046United Kingdom2025-04-07
1047Australia2025-04-27
1048Russia2025-04-22
1049Australia2025-04-18

On-Demand Data

NameIdCountryDate
Leja P Oldroyd1000United Kingdom2025-04-07
Costa O Garufi1001Argentina2025-04-27
Isabel U Ostrosky1002United Kingdom2025-04-20
Deepesh R Stockham1003Japan2025-04-18
Clifford K Briddick1004Germany2025-04-03
Cody R Vocelka1005United Kingdom2025-04-19
Smith C Shinko1006Japan2025-04-20
Munro P Flosi1007United Kingdom2025-04-01
Jeanfrancois M Nestle1008Brazil2025-04-13
Nicolas B Kolmetz1009Japan2025-03-31
Aditya E Chui1010India2025-04-02
Aika Y Garufi1011Spain2025-04-18
Juan J Shinko1012India2025-04-16
Maisha O Wieser1013Australia2025-04-23
David Q Inouye1014Argentina2025-04-20
Salvatore T Paprocki1015India2025-04-20
Sinclair Y Maclead1016Argentina2025-04-26
Julie N Morasca1017Spain2025-04-19
Leja N Gaucho1018France2025-04-13
Smith S Sergi1019France2025-04-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel V PerinFranceOnyama Limba UNQUALIFIED
Jeanfrancois G MarrierUnited KingdomBernardo Dominic NEGOTIATION
Jones B OldroydArgentinaIoni Bowcher PROPOSAL
Mujtaba F RoysterGermanyAnna Fali UNQUALIFIED
Jefferson L PerinJapanIoni Bowcher NEW
Salvatore L NickaGermanyXuxue Feng QUALIFIED
Greenwood W IturbideItalyIoni Bowcher NEW
Smith A BriddickIndiaAsiya Javayant UNQUALIFIED
Kaitlin E PerinUnited KingdomBernardo Dominic RENEWAL
Jennifer M InouyeSpainAnna Fali NEGOTIATION
Smith D SaylorsSpainXuxue Feng RENEWAL
Jefferson N FigeroaArgentinaIoni Bowcher QUALIFIED
Ivar S MorascaBrazilAnna Fali NEW
Faith R NestleCanadaBernardo Dominic NEW
Nicolas F IturbideJapanStephen Shaw NEW
Aruna W CaudyUnited KingdomElwin Sharvill RENEWAL
Clifford W MaletRussiaXuxue Feng UNQUALIFIED
Aruna E IturbideRussiaBernardo Dominic NEW
Salvatore B AmigonUnited KingdomXuxue Feng PROPOSAL
Johnson F OstroskySpainAmy Elsner QUALIFIED
Clifford Y TollnerRussiaOnyama Limba QUALIFIED
Tony L ButtCanadaAsiya Javayant QUALIFIED
Izzy U PoquetteUnited KingdomAsiya Javayant UNQUALIFIED
Darci T InouyeCanadaStephen Shaw NEW
Misaki Q FlosiGermanyElwin Sharvill UNQUALIFIED
Kaitlin A BriddickArgentinaOnyama Limba NEW
Ivar M NestleJapanElwin Sharvill NEW
Antonio K VocelkaFranceStephen Shaw NEW
Morrow J InouyeFranceAmy Elsner QUALIFIED
Jeanfrancois Q RoysterSpainBernardo Dominic UNQUALIFIED
Mayumi L BowleyFranceAnna Fali QUALIFIED
Leon G RoysterUnited KingdomAmy Elsner PROPOSAL
Juan V FollerIndiaAmy Elsner RENEWAL
Aruna J FigeroaAustraliaBernardo Dominic UNQUALIFIED
Darci S NickaJapanBernardo Dominic RENEWAL
Aditya B DarakjyJapanOnyama Limba PROPOSAL
Wickens U DilliardJapanAnna Fali QUALIFIED
Cody M MaletFranceStephen Shaw UNQUALIFIED
Jones Y PerinJapanStephen Shaw NEGOTIATION
Jeanfrancois L WieserArgentinaAnna Fali PROPOSAL

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