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 TollnerGermanyXuxue Feng PROPOSAL
Ashley D GarufiBrazilElwin Sharvill NEGOTIATION
Emily Z SchemmerGermanyXuxue Feng PROPOSAL
David V ChuiGermanyBernardo Dominic RENEWAL
Clifford E KolmetzIndiaOnyama Limba UNQUALIFIED
Emily K StockhamAustraliaOnyama Limba NEW
Greenwood J GarufiBrazilBernardo Dominic UNQUALIFIED
Darci I FerenczArgentinaOnyama Limba UNQUALIFIED
Murillo G RoysterCanadaElwin Sharvill NEW
Sinclair J VenereBrazilXuxue Feng QUALIFIED
Aditya U StockhamGermanyAnna Fali QUALIFIED
Kaitlin U VenereAustraliaAsiya Javayant NEGOTIATION
Greenwood A BowleyIndiaXuxue Feng UNQUALIFIED
Misaki N OstroskyItalyXuxue Feng QUALIFIED
Maria I WaycottArgentinaBernardo Dominic NEGOTIATION
Faith D CampainGermanyAsiya Javayant UNQUALIFIED
Ashley C MaletGermanyAmy Elsner UNQUALIFIED
Sinclair Y PerinArgentinaXuxue Feng QUALIFIED
Jeanfrancois M WhobreyBrazilStephen Shaw RENEWAL
Jefferson E AlbaresGermanyAsiya Javayant RENEWAL
Ricardo K ButtItalyBernardo Dominic RENEWAL
Jennifer R FlosiBrazilOnyama Limba NEW
Alejandro X WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Adams L IturbideIndiaIoni Bowcher QUALIFIED
Ivar K PaprockiCanadaStephen Shaw RENEWAL
Juan K IturbideCanadaAnna Fali NEGOTIATION
Izzy E ButtAustraliaXuxue Feng RENEWAL
Isabel V VocelkaItalyIoni Bowcher QUALIFIED
Tony A FlosiGermanyAsiya Javayant PROPOSAL
Tony M PoquetteItalyIvan Magalhaes QUALIFIED
Cody X DilliardFranceIvan Magalhaes QUALIFIED
Juan Y NestleSpainOnyama Limba QUALIFIED
Ricardo J DarakjyAustraliaBernardo Dominic RENEWAL
Maria Z BriddickJapanAnna Fali RENEWAL
Jones M WieserArgentinaBernardo Dominic PROPOSAL
Ricardo I StockhamJapanIoni Bowcher UNQUALIFIED
Jones O FerenczBrazilElwin Sharvill NEGOTIATION
Nicolas E PaprockiJapanIoni Bowcher UNQUALIFIED
Aditya E BriddickItalyAnna Fali PROPOSAL
Deepesh J DilliardGermanyStephen Shaw NEW
Claire N ButtArgentinaIvan Magalhaes NEGOTIATION
Silvio U ButtJapanAmy Elsner NEGOTIATION
Tony S SchemmerBrazilAsiya Javayant NEW
Rodrigues D DoeUnited KingdomIvan Magalhaes NEGOTIATION
Jones B RoysterJapanAnna Fali UNQUALIFIED
Salvatore Q OstroskyArgentinaAmy Elsner NEW
Clifford T IturbideUnited KingdomXuxue Feng PROPOSAL
Murillo L RoysterIndiaOnyama Limba NEGOTIATION
Salvatore L BriddickRussiaElwin Sharvill RENEWAL
Ashley X SergiAustraliaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Arvin B BologniaAustraliaXuxue Feng RENEWAL
Silvio Q WaycottAustraliaXuxue Feng QUALIFIED
Aruna W VocelkaItalyElwin Sharvill NEW
Alejandro K CaudyFranceAnna Fali NEW
Darci K CaudyUnited KingdomIoni Bowcher PROPOSAL
Chavez J VenereFranceStephen Shaw PROPOSAL
Darci X StockhamSpainAnna Fali NEGOTIATION
Francesco G IturbideFranceXuxue Feng NEW
Leja K NestleGermanyXuxue Feng QUALIFIED
Murillo Y SaylorsIndiaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair B FigeroaCanada2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED81Anna Fali
1001Claire C RoysterUnited Kingdom2024-05-28Rangoni Of Florence QUALIFIED61Bernardo Dominic
1002Rodrigues H FlosiSpain2024-06-14Feltz Printing Service QUALIFIED48Stephen Shaw
1003Arvin I MaletRussia2024-06-08King, Christopher A Esq PROPOSAL6Onyama Limba
1004Deepesh M BologniaJapan2024-06-22Printing Dimensions RENEWAL45Bernardo Dominic
1005Johnson D BologniaArgentina2024-05-30Chemel, James L Cpa UNQUALIFIED27Ivan Magalhaes
1006Juan D OstroskyUnited Kingdom2024-06-23Feltz Printing Service PROPOSAL27Stephen Shaw
1007Claire U MorascaJapan2024-06-20Chanay, Jeffrey A Esq PROPOSAL63Stephen Shaw
1008Murillo R VocelkaRussia2024-06-12Feltz Printing Service QUALIFIED43Xuxue Feng
1009Sinclair H NestleCanada2024-06-13Commercial Press NEGOTIATION14Ivan Magalhaes
1010Jennifer N FollerBrazil2024-06-14Buckley Miller Wright PROPOSAL17Xuxue Feng
1011Johnson A DoeIndia2024-06-08Chapman, Ross E Esq QUALIFIED23Xuxue Feng
1012Juan I KuskoGermany2024-06-07King, Christopher A Esq UNQUALIFIED23Ivan Magalhaes
1013Mayumi Q DarakjyBrazil2024-06-02King, Christopher A Esq UNQUALIFIED37Xuxue Feng
1014David G NestleUnited Kingdom2024-06-07Chemel, James L Cpa RENEWAL4Elwin Sharvill
1015Deepesh W RimArgentina2024-06-03Rangoni Of Florence RENEWAL97Elwin Sharvill
1016Smith T StockhamJapan2024-06-21Morlong Associates RENEWAL7Ioni Bowcher
1017Greenwood I WaycottArgentina2024-06-24Rousseaux, Michael Esq NEGOTIATION25Ivan Magalhaes
1018Costa N NestleBrazil2024-05-29Feiner Bros RENEWAL30Onyama Limba
1019Chavez A KuskoSpain2024-06-23Dorl, James J Esq UNQUALIFIED45Ivan Magalhaes
1020Octavia P DarakjyItaly2024-06-22Benton, John B Jr QUALIFIED7Xuxue Feng
1021Murillo U WaycottSpain2024-06-21Printing Dimensions UNQUALIFIED25Elwin Sharvill
1022Juan G InouyeRussia2024-06-16King, Christopher A Esq PROPOSAL36Bernardo Dominic
1023Emily V SaylorsFrance2024-06-24Rangoni Of Florence NEW58Stephen Shaw
1024Alejandro A RulapaughBrazil2024-06-22Chapman, Ross E Esq QUALIFIED3Onyama Limba
1025Maisha A IturbideFrance2024-05-29King, Christopher A Esq NEGOTIATION26Onyama Limba
1026Kadeem H PerinIndia2024-06-06Chemel, James L Cpa PROPOSAL31Asiya Javayant
1027Jeanfrancois G FerenczIndia2024-05-28Morlong Associates RENEWAL35Asiya Javayant
1028Kadeem B GillianItaly2024-06-03Buckley Miller Wright NEGOTIATION38Amy Elsner
1029Julie X VenereBrazil2024-05-26Buckley Miller Wright UNQUALIFIED20Xuxue Feng
1030Julie V ButtSpain2024-06-18Morlong Associates NEW34Elwin Sharvill
1031Cody G FlosiJapan2024-06-01Rousseaux, Michael Esq QUALIFIED57Ivan Magalhaes
1032Octavia G AlbaresAustralia2024-06-24Morlong Associates PROPOSAL10Asiya Javayant
1033Greenwood G SergiArgentina2024-06-16Truhlar And Truhlar Attys NEGOTIATION94Bernardo Dominic
1034Jones Y FollerJapan2024-06-06Dorl, James J Esq RENEWAL4Ivan Magalhaes
1035Francesco X OstroskyJapan2024-06-18Dorl, James J Esq RENEWAL73Ioni Bowcher
1036Mujtaba H GillianBrazil2024-06-14Chapman, Ross E Esq UNQUALIFIED42Asiya Javayant
1037Alejandro I StensethSpain2024-05-30Feiner Bros NEGOTIATION66Anna Fali
1038Izzy P BologniaGermany2024-06-03Commercial Press NEW90Onyama Limba
1039Maria E TollnerUnited Kingdom2024-06-01Chanay, Jeffrey A Esq PROPOSAL35Xuxue Feng
1040Jones W NestleGermany2024-06-18Chapman, Ross E Esq UNQUALIFIED21Asiya Javayant
1041Jones L FlosiSpain2024-06-11King, Christopher A Esq QUALIFIED92Amy Elsner
1042Greenwood D MaletGermany2024-06-15Feiner Bros NEW11Elwin Sharvill
1043Aika I NestleIndia2024-06-24Buckley Miller Wright PROPOSAL21Stephen Shaw
1044Francesco B NickaJapan2024-06-22Benton, John B Jr QUALIFIED36Stephen Shaw
1045Aditya A FollerGermany2024-05-31Buckley Miller Wright QUALIFIED70Xuxue Feng
1046Maisha W PerinFrance2024-06-16Buckley Miller Wright RENEWAL32Amy Elsner
1047Sinclair W VenereRussia2024-06-13Rousseaux, Michael Esq NEGOTIATION53Ivan Magalhaes
1048Leon T SergiFrance2024-06-18Buckley Miller Wright NEW7Stephen Shaw
1049Ivar Z BriddickCanada2024-05-31Printing Dimensions QUALIFIED95Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jennifer C NestleFranceOnyama Limba QUALIFIED
Johnson A BowleyAustraliaXuxue Feng PROPOSAL
Aditya Y SergiCanadaElwin Sharvill NEW
Octavia F OldroydArgentinaIoni Bowcher UNQUALIFIED
Leon Y StockhamSpainAmy Elsner PROPOSAL
James G SlusarskiAustraliaBernardo Dominic QUALIFIED
Cody G BriddickGermanyOnyama Limba QUALIFIED
Mayumi Y MaletJapanOnyama Limba UNQUALIFIED
Deepesh L PerinFranceIoni Bowcher PROPOSAL
Aruna W SaylorsGermanyAsiya Javayant NEGOTIATION
Jennifer A NickaSpainStephen Shaw NEW
Leon F CaldareraAustraliaAsiya Javayant NEW
Greenwood D WaycottJapanElwin Sharvill RENEWAL
Octavia A IturbideBrazilXuxue Feng UNQUALIFIED
Jeanfrancois E DilliardArgentinaAnna Fali RENEWAL
Juan I RutaItalyXuxue Feng NEGOTIATION
Nicolas P DilliardGermanyXuxue Feng PROPOSAL
Stacey D GauchoJapanAsiya Javayant PROPOSAL
Tony J SergiArgentinaAmy Elsner UNQUALIFIED
Cody Q VenereItalyIvan Magalhaes QUALIFIED
Jefferson Z PerinUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois S VocelkaSpainXuxue Feng NEGOTIATION
Deepesh R BowleyAustraliaAnna Fali NEW
Chavez R WaycottArgentinaAsiya Javayant QUALIFIED
Morrow K MarrierRussiaAnna Fali UNQUALIFIED
Rodrigues A DoeArgentinaIoni Bowcher NEGOTIATION
Tony S MorascaGermanyIvan Magalhaes PROPOSAL
Darci G PoquetteFranceAsiya Javayant UNQUALIFIED
James T RulapaughSpainAmy Elsner NEW
Leja N ChuiJapanXuxue Feng UNQUALIFIED
Ricardo D InouyeItalyOnyama Limba UNQUALIFIED
Smith I VocelkaJapanOnyama Limba PROPOSAL
Ivar R OstroskyJapanStephen Shaw QUALIFIED
Ricardo H FerenczIndiaAsiya Javayant UNQUALIFIED
Adams Y OstroskySpainBernardo Dominic QUALIFIED
James D ButtRussiaIvan Magalhaes NEGOTIATION
Adams O ButtGermanyAmy Elsner QUALIFIED
Clifford C VocelkaRussiaOnyama Limba UNQUALIFIED
Chavez M MacleadArgentinaAsiya Javayant UNQUALIFIED
Ashley S RoysterSpainElwin Sharvill PROPOSAL
Silvio V RimFranceOnyama Limba RENEWAL
Deepesh U PaprockiAustraliaXuxue Feng UNQUALIFIED
Jeanfrancois B CampainAustraliaOnyama Limba NEGOTIATION
Rodrigues T RutaItalyStephen Shaw PROPOSAL
James Z KuskoAustraliaXuxue Feng NEGOTIATION
Mayumi T MaletBrazilIvan Magalhaes NEW
Munro M SlusarskiJapanAsiya Javayant NEGOTIATION
Chavez X RoysterIndiaStephen Shaw PROPOSAL
Aditya D OstroskyBrazilAnna Fali NEW
Mujtaba P RulapaughSpainStephen Shaw PROPOSAL
Frozen Columns
Name
Rodrigues Y Briddick
Octavia Z Ruta
Greenwood F Whobrey
Adams S Flosi
Emily J Kolmetz
Jeanfrancois D Darakjy
Leon L Wieser
Misaki U Rulapaugh
Nicolas E Ruta
Juan P Garufi
Aruna L Oldroyd
Izzy X Caldarera
Darci D Dilliard
Claire L Bolognia
Antonio V Wieser
Morrow B Amigon
David M Perin
Mujtaba I Ferencz
Aika G Ostrosky
Ricardo H Glick
Aruna W Rulapaugh
Cody U Gaucho
Chavez D Perin
Maisha S Flosi
Chavez T Ruta
Leon V Glick
Maisha W Oldroyd
Murillo L Iturbide
James W Darakjy
Emily V Amigon
Darci T Malet
Izzy B Venere
Jeanfrancois G Maclead
Stacey T Stockham
Mayumi U Butt
Nicolas J Caldarera
Greenwood H Perin
Francesco V Kusko
Kaitlin H Venere
Munro S Gillian
Morrow Q Glick
Julie G Darakjy
Antonio S Amigon
Aika M Morasca
Johnson D Campain
Faith S Caudy
Cody T Dilliard
Aika F Rulapaugh
Antonio L Morasca
Isabel O Perin
IdCountryDate
1000Brazil2024-06-20
1001Germany2024-06-16
1002United Kingdom2024-06-11
1003Japan2024-06-07
1004Argentina2024-06-14
1005India2024-06-06
1006Spain2024-06-21
1007Italy2024-06-05
1008Japan2024-05-28
1009Spain2024-06-04
1010France2024-06-10
1011India2024-06-13
1012Russia2024-06-04
1013Spain2024-06-18
1014Spain2024-05-31
1015Germany2024-06-04
1016Germany2024-06-24
1017Spain2024-05-29
1018Canada2024-06-08
1019Spain2024-05-27
1020Canada2024-06-07
1021France2024-06-08
1022Canada2024-06-11
1023Brazil2024-06-03
1024India2024-06-18
1025Brazil2024-05-29
1026Brazil2024-06-23
1027Spain2024-06-22
1028Brazil2024-06-12
1029Canada2024-06-23
1030Italy2024-06-05
1031United Kingdom2024-06-22
1032India2024-06-02
1033Russia2024-05-28
1034United Kingdom2024-06-16
1035Italy2024-06-23
1036Russia2024-06-19
1037Spain2024-06-22
1038Russia2024-06-05
1039Argentina2024-06-15
1040Spain2024-06-15
1041Australia2024-06-01
1042Australia2024-06-21
1043United Kingdom2024-06-15
1044Canada2024-06-07
1045France2024-06-05
1046Spain2024-06-16
1047Argentina2024-06-14
1048Russia2024-06-09
1049Brazil2024-06-13

On-Demand Data

NameIdCountryDate
Nicolas M Waycott1000Argentina2024-06-22
Smith F Shinko1001India2024-06-19
Nicolas E Campain1002Canada2024-05-26
Salvatore Y Gillian1003Italy2024-06-14
Deepesh U Sergi1004Germany2024-05-29
Aruna O Oldroyd1005Germany2024-06-07
Ivar T Saylors1006Germany2024-06-17
Julie U Bolognia1007Japan2024-06-22
David H Kolmetz1008United Kingdom2024-06-04
Aruna D Bolognia1009Australia2024-06-10
Adams U Kusko1010Italy2024-06-15
Costa L Nestle1011Spain2024-06-04
Smith F Iturbide1012Canada2024-05-30
Darci M Marrier1013India2024-05-31
Darci K Royster1014Argentina2024-06-03
Ashley Y Royster1015Australia2024-06-19
Cody G Whobrey1016Argentina2024-06-08
Wickens P Sergi1017Spain2024-05-27
Jones T Stenseth1018Argentina2024-06-04
Aruna X Wieser1019Japan2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer J PerinGermanyBernardo Dominic QUALIFIED
Jeanfrancois C KuskoItalyAmy Elsner UNQUALIFIED
Adams U AlbaresSpainXuxue Feng NEW
Francesco N FlosiArgentinaElwin Sharvill NEW
Aika D PoquetteCanadaOnyama Limba UNQUALIFIED
Adams F MorascaBrazilBernardo Dominic NEW
Tony L BriddickAustraliaXuxue Feng RENEWAL
Sinclair H RimSpainStephen Shaw NEW
Sinclair Y ButtBrazilAnna Fali NEGOTIATION
Julie E WhobreyAustraliaAsiya Javayant RENEWAL
Nicolas Z MacleadCanadaAsiya Javayant NEW
Cody L StensethUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi Q IturbideItalyBernardo Dominic PROPOSAL
Aika G IturbideFranceAnna Fali PROPOSAL
Wickens C InouyeJapanAsiya Javayant NEW
Darci K StensethFranceStephen Shaw NEW
Kadeem O ShinkoCanadaXuxue Feng UNQUALIFIED
Salvatore U GlickArgentinaIvan Magalhaes PROPOSAL
Kaitlin T OldroydSpainOnyama Limba QUALIFIED
James X WhobreyJapanElwin Sharvill UNQUALIFIED
Francesco Z PaprockiItalyStephen Shaw NEW
Deepesh A ChuiSpainIoni Bowcher RENEWAL
Mayumi L RoysterAustraliaIoni Bowcher PROPOSAL
Jeanfrancois B ShinkoRussiaAsiya Javayant QUALIFIED
Mujtaba P KolmetzJapanBernardo Dominic NEW
Clifford L GauchoBrazilIoni Bowcher UNQUALIFIED
Murillo Q VenereCanadaStephen Shaw RENEWAL
Juan G MaletSpainBernardo Dominic NEGOTIATION
Aruna M FerenczUnited KingdomAnna Fali NEGOTIATION
Smith P InouyeAustraliaIvan Magalhaes PROPOSAL
Jones I GarufiAustraliaXuxue Feng NEGOTIATION
Munro Q BowleyIndiaAmy Elsner NEGOTIATION
Ashley N AmigonArgentinaIoni Bowcher QUALIFIED
Kaitlin A SergiCanadaAnna Fali QUALIFIED
Smith Z WaycottFranceIoni Bowcher RENEWAL
Juan U StockhamRussiaAnna Fali PROPOSAL
Aruna F WieserBrazilIoni Bowcher QUALIFIED
Jones Z GlickItalyXuxue Feng NEW
Cody I GlickJapanOnyama Limba NEGOTIATION
Smith G DilliardGermanyStephen Shaw 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>