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
Aditya E ChuiItalyIoni Bowcher PROPOSAL
Morrow X WieserArgentinaIoni Bowcher NEW
Emily Q RulapaughJapanXuxue Feng QUALIFIED
Kaitlin I WieserSpainAmy Elsner QUALIFIED
Cody A CaldareraCanadaXuxue Feng RENEWAL
Kaitlin T InouyeIndiaAnna Fali RENEWAL
Cody N FerenczIndiaIoni Bowcher QUALIFIED
Silvio P BologniaItalyOnyama Limba UNQUALIFIED
Salvatore F MaletItalyOnyama Limba QUALIFIED
David S WaycottGermanyAmy Elsner NEGOTIATION
Alejandro W ButtSpainStephen Shaw UNQUALIFIED
Sinclair F StockhamIndiaStephen Shaw NEW
Deepesh L StensethItalyXuxue Feng PROPOSAL
Arvin J InouyeAustraliaXuxue Feng RENEWAL
Jeanfrancois R MacleadGermanyStephen Shaw UNQUALIFIED
Kadeem O WaycottJapanAsiya Javayant NEGOTIATION
Jones L WieserRussiaElwin Sharvill RENEWAL
Mayumi J WaycottRussiaAnna Fali PROPOSAL
Salvatore B VocelkaGermanyIoni Bowcher NEW
Francesco V KuskoSpainIoni Bowcher RENEWAL
Johnson W FigeroaRussiaStephen Shaw NEGOTIATION
Francesco C GillianArgentinaStephen Shaw NEW
Jeanfrancois W NickaBrazilOnyama Limba PROPOSAL
Misaki N PaprockiGermanyAsiya Javayant NEGOTIATION
Aruna B TollnerUnited KingdomIoni Bowcher RENEWAL
Aruna D WaycottSpainStephen Shaw PROPOSAL
Leja H MarrierCanadaIoni Bowcher RENEWAL
Costa J InouyeJapanAnna Fali PROPOSAL
Emily B OldroydItalyStephen Shaw RENEWAL
Ashley A SergiAustraliaAnna Fali UNQUALIFIED
Francesco Z ChuiItalyBernardo Dominic QUALIFIED
Johnson S AlbaresAustraliaStephen Shaw UNQUALIFIED
Ashley F CaldareraAustraliaStephen Shaw RENEWAL
Munro F GillianGermanyOnyama Limba NEW
Munro W FollerBrazilAmy Elsner NEGOTIATION
Jefferson P CaudyArgentinaAnna Fali QUALIFIED
Stacey L KolmetzArgentinaAmy Elsner UNQUALIFIED
Deepesh F IturbideAustraliaIoni Bowcher RENEWAL
Murillo K CaldareraItalyBernardo Dominic NEGOTIATION
Smith J StockhamFranceElwin Sharvill UNQUALIFIED
Arvin L FerenczUnited KingdomAnna Fali RENEWAL
Jeanfrancois G TollnerItalyStephen Shaw RENEWAL
Cody J MaletIndiaOnyama Limba UNQUALIFIED
Mujtaba P WaycottIndiaBernardo Dominic QUALIFIED
Isabel W GarufiSpainAsiya Javayant NEW
Antonio M MacleadSpainXuxue Feng NEW
Johnson K KuskoFranceIvan Magalhaes NEGOTIATION
Jefferson R KuskoAustraliaAmy Elsner PROPOSAL
Maisha J DoeSpainXuxue Feng QUALIFIED
David E WaycottAustraliaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin K ButtBrazilElwin Sharvill PROPOSAL
Arvin M MaletFranceAsiya Javayant NEGOTIATION
Wickens V PaprockiBrazilAmy Elsner QUALIFIED
Leja R DarakjyArgentinaIvan Magalhaes RENEWAL
Aika I DarakjyJapanElwin Sharvill PROPOSAL
Maisha W SaylorsRussiaBernardo Dominic RENEWAL
Claire Q PaprockiFranceIoni Bowcher PROPOSAL
Jones B RimRussiaIoni Bowcher RENEWAL
James U FerenczRussiaAmy Elsner QUALIFIED
Isabel Q RoysterUnited KingdomElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo O FigeroaJapan2026-07-08Truhlar And Truhlar Attys NEGOTIATION60Stephen Shaw
1001Alejandro T ChuiGermany2026-08-03Dorl, James J Esq PROPOSAL87Ivan Magalhaes
1002Alejandro Y GlickIndia2026-07-08Morlong Associates QUALIFIED99Ioni Bowcher
1003Claire E ShinkoItaly2026-07-24Benton, John B Jr NEW24Anna Fali
1004Leja V SlusarskiArgentina2026-08-04Truhlar And Truhlar Attys NEGOTIATION36Ivan Magalhaes
1005Francesco J StockhamUnited Kingdom2026-07-30Rousseaux, Michael Esq UNQUALIFIED26Asiya Javayant
1006Alejandro D AmigonItaly2026-08-01King, Christopher A Esq PROPOSAL97Asiya Javayant
1007Munro R MorascaIndia2026-07-28Chapman, Ross E Esq PROPOSAL32Amy Elsner
1008Morrow R MorascaUnited Kingdom2026-07-25Printing Dimensions NEGOTIATION26Ioni Bowcher
1009Arvin G ChuiItaly2026-07-22Feiner Bros UNQUALIFIED79Asiya Javayant
1010Kaitlin B BriddickRussia2026-07-14Rangoni Of Florence QUALIFIED18Anna Fali
1011Ivar R VocelkaItaly2026-07-21Benton, John B Jr UNQUALIFIED94Ivan Magalhaes
1012Faith P IturbideBrazil2026-07-30Chapman, Ross E Esq NEGOTIATION64Stephen Shaw
1013Mujtaba R OldroydCanada2026-07-10King, Christopher A Esq NEGOTIATION36Ivan Magalhaes
1014Johnson E KolmetzItaly2026-07-27Rousseaux, Michael Esq NEW18Anna Fali
1015Leon Q FerenczItaly2026-07-12Chemel, James L Cpa NEW88Xuxue Feng
1016Adams L GarufiJapan2026-07-11Feiner Bros PROPOSAL91Stephen Shaw
1017Aika C CampainArgentina2026-07-20Feltz Printing Service NEW64Amy Elsner
1018Octavia T BologniaUnited Kingdom2026-07-14Feltz Printing Service NEW41Stephen Shaw
1019Misaki H SlusarskiJapan2026-07-16Rousseaux, Michael Esq NEW28Elwin Sharvill
1020Adams F KolmetzJapan2026-07-10Chanay, Jeffrey A Esq NEW39Onyama Limba
1021Tony E AmigonUnited Kingdom2026-07-12Printing Dimensions QUALIFIED5Ivan Magalhaes
1022Munro O CaldareraGermany2026-07-07Rangoni Of Florence UNQUALIFIED90Ioni Bowcher
1023Kadeem R PaprockiJapan2026-08-01Benton, John B Jr PROPOSAL28Xuxue Feng
1024Mayumi M NestleBrazil2026-07-29Dorl, James J Esq RENEWAL88Amy Elsner
1025Darci M SaylorsSpain2026-07-25Rangoni Of Florence UNQUALIFIED66Stephen Shaw
1026Silvio Q MorascaAustralia2026-07-15Feiner Bros NEW60Xuxue Feng
1027Claire B MaletIndia2026-08-02Buckley Miller Wright NEGOTIATION48Amy Elsner
1028Deepesh W MorascaGermany2026-07-09Rousseaux, Michael Esq NEGOTIATION33Stephen Shaw
1029Tony H StensethRussia2026-07-25Chemel, James L Cpa UNQUALIFIED63Anna Fali
1030Wickens O NestleRussia2026-07-30Dorl, James J Esq NEW40Amy Elsner
1031Maisha V CampainFrance2026-07-20Rangoni Of Florence NEW32Stephen Shaw
1032James D IturbideBrazil2026-07-31Benton, John B Jr UNQUALIFIED80Ivan Magalhaes
1033Wickens F MacleadGermany2026-07-21Chemel, James L Cpa QUALIFIED1Anna Fali
1034Ashley A DarakjyCanada2026-07-06Benton, John B Jr NEGOTIATION88Xuxue Feng
1035Ivar C FigeroaUnited Kingdom2026-07-27Morlong Associates NEGOTIATION99Stephen Shaw
1036Aika A CaudyGermany2026-07-15Feiner Bros RENEWAL89Xuxue Feng
1037Claire D SlusarskiIndia2026-07-30Commercial Press UNQUALIFIED75Anna Fali
1038Greenwood W TollnerItaly2026-08-03Printing Dimensions NEW14Xuxue Feng
1039Jones F VenereBrazil2026-08-04King, Christopher A Esq NEW47Asiya Javayant
1040Wickens U TollnerBrazil2026-07-19Printing Dimensions RENEWAL91Stephen Shaw
1041Murillo Y ShinkoGermany2026-07-12Buckley Miller Wright NEGOTIATION51Bernardo Dominic
1042Rodrigues R ShinkoCanada2026-07-14Commercial Press NEGOTIATION60Xuxue Feng
1043Aditya X WaycottIndia2026-07-24Chapman, Ross E Esq RENEWAL33Stephen Shaw
1044Francesco E DarakjyIndia2026-07-25King, Christopher A Esq PROPOSAL84Amy Elsner
1045Clifford L DilliardArgentina2026-07-16Rangoni Of Florence QUALIFIED6Xuxue Feng
1046Munro G FollerBrazil2026-07-26Chapman, Ross E Esq QUALIFIED14Elwin Sharvill
1047Sinclair P WaycottFrance2026-07-22Feltz Printing Service NEW26Anna Fali
1048Jones N StockhamJapan2026-08-03Rangoni Of Florence UNQUALIFIED20Onyama Limba
1049Antonio S WieserArgentina2026-07-14Rangoni Of Florence QUALIFIED29Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Sinclair A AlbaresItalyAsiya Javayant UNQUALIFIED
Stacey L StockhamJapanXuxue Feng UNQUALIFIED
Costa X ChuiUnited KingdomXuxue Feng NEGOTIATION
Nicolas Q StockhamJapanXuxue Feng UNQUALIFIED
Jeanfrancois C GillianJapanIoni Bowcher NEGOTIATION
Antonio H StensethSpainElwin Sharvill RENEWAL
David D StensethCanadaAnna Fali NEGOTIATION
Mayumi E ButtGermanyAmy Elsner UNQUALIFIED
Claire N DilliardSpainXuxue Feng UNQUALIFIED
Leon A OstroskyAustraliaAmy Elsner RENEWAL
Arvin S CaldareraJapanAnna Fali RENEWAL
Izzy Y SaylorsSpainAnna Fali QUALIFIED
Ivar H BowleyUnited KingdomAnna Fali NEGOTIATION
Octavia U FollerFranceAnna Fali RENEWAL
Wickens L StockhamCanadaIvan Magalhaes RENEWAL
Chavez W OldroydArgentinaAnna Fali RENEWAL
Costa K ChuiIndiaBernardo Dominic QUALIFIED
Murillo T MarrierIndiaXuxue Feng UNQUALIFIED
Rodrigues I FerenczIndiaAnna Fali NEGOTIATION
Octavia L RoysterAustraliaOnyama Limba RENEWAL
Nicolas Q AlbaresCanadaAnna Fali UNQUALIFIED
Alejandro F SaylorsFranceAnna Fali NEGOTIATION
Ricardo X RutaArgentinaOnyama Limba NEW
Juan I DoeItalyXuxue Feng PROPOSAL
Arvin A DarakjyRussiaIvan Magalhaes UNQUALIFIED
Jennifer H ButtGermanyAmy Elsner NEGOTIATION
Clifford O VenereItalyOnyama Limba QUALIFIED
Morrow L MaletArgentinaIoni Bowcher RENEWAL
Leon M OldroydGermanyOnyama Limba UNQUALIFIED
Maisha P MacleadBrazilOnyama Limba QUALIFIED
Sinclair X SergiJapanIoni Bowcher QUALIFIED
Maisha M PaprockiSpainOnyama Limba UNQUALIFIED
Antonio P RulapaughJapanAsiya Javayant RENEWAL
Rodrigues B FigeroaBrazilOnyama Limba NEGOTIATION
Faith V DilliardJapanStephen Shaw UNQUALIFIED
Aika Q SlusarskiCanadaStephen Shaw RENEWAL
Ricardo F DoeIndiaElwin Sharvill QUALIFIED
Ricardo P WhobreyCanadaAsiya Javayant PROPOSAL
Wickens H NickaFranceAsiya Javayant NEGOTIATION
Leja F AmigonJapanStephen Shaw QUALIFIED
Munro F MaletSpainBernardo Dominic NEGOTIATION
Julie M ButtRussiaIvan Magalhaes NEW
Arvin Q ButtGermanyIoni Bowcher QUALIFIED
Juan L GlickIndiaAmy Elsner QUALIFIED
Cody K CaldareraBrazilAmy Elsner NEGOTIATION
Claire S BowleyUnited KingdomElwin Sharvill QUALIFIED
Smith C AmigonBrazilBernardo Dominic PROPOSAL
Chavez S ButtArgentinaXuxue Feng NEW
Ivar K SlusarskiJapanIoni Bowcher NEW
Aruna Y DoeItalyXuxue Feng NEGOTIATION
Frozen Columns
Name
Jones U Foller
Leja Q Venere
Misaki F Figeroa
Maisha I Albares
Antonio K Sergi
Jefferson X Wieser
Maria K Caudy
Aika X Oldroyd
Darci R Amigon
Leja S Flosi
Ivar V Tollner
Darci I Royster
Faith D Amigon
Misaki I Poquette
Stacey Q Vocelka
Alejandro H Oldroyd
Nicolas N Dilliard
Clifford F Poquette
Izzy K Caldarera
Maisha Y Malet
Misaki O Foller
Isabel B Morasca
Cody K Waycott
Clifford W Royster
Sinclair Y Kolmetz
Cody X Slusarski
Ivar V Foller
Maria B Doe
Cody C Venere
Clifford R Kolmetz
Cody G Venere
Clifford D Rulapaugh
Cody E Butt
Aditya D Iturbide
Julie H Albares
Claire R Royster
Murillo Q Dilliard
Faith G Bowley
Silvio M Ruta
Octavia H Flosi
Jeanfrancois R Slusarski
Johnson X Whobrey
Jefferson N Bowley
Maria I Nestle
Juan A Ostrosky
Rodrigues E Amigon
Mayumi X Glick
Munro M Nestle
Juan H Stenseth
Ricardo B Morasca
IdCountryDate
1000Brazil2026-07-31
1001Argentina2026-08-01
1002Italy2026-07-08
1003Australia2026-07-23
1004Australia2026-07-06
1005Spain2026-07-31
1006Japan2026-07-12
1007Germany2026-07-22
1008Canada2026-07-18
1009India2026-07-28
1010Argentina2026-07-31
1011Argentina2026-07-08
1012India2026-07-10
1013Japan2026-07-12
1014United Kingdom2026-07-29
1015Russia2026-07-24
1016Canada2026-07-31
1017Argentina2026-08-01
1018Japan2026-07-09
1019Spain2026-08-03
1020Italy2026-07-23
1021Canada2026-07-29
1022Japan2026-07-09
1023Brazil2026-08-01
1024India2026-07-24
1025Argentina2026-07-23
1026United Kingdom2026-07-06
1027Argentina2026-07-11
1028United Kingdom2026-07-09
1029France2026-07-07
1030Germany2026-07-23
1031Canada2026-08-04
1032India2026-07-30
1033Italy2026-07-07
1034Germany2026-07-25
1035Brazil2026-07-23
1036Argentina2026-07-30
1037France2026-07-20
1038Italy2026-07-08
1039Brazil2026-07-19
1040Spain2026-07-28
1041Canada2026-08-01
1042Italy2026-07-17
1043Argentina2026-08-04
1044Argentina2026-07-19
1045Germany2026-07-21
1046Japan2026-07-24
1047Russia2026-07-24
1048Italy2026-08-04
1049Argentina2026-07-14

On-Demand Data

NameIdCountryDate
Maisha P Waycott1000Brazil2026-07-30
Isabel G Amigon1001Spain2026-07-29
Aditya J Venere1002Japan2026-07-10
Emily T Royster1003Argentina2026-07-25
Smith J Kusko1004Canada2026-08-01
Juan Z Ferencz1005Russia2026-07-22
Maria X Dilliard1006Brazil2026-08-04
Octavia B Bolognia1007Australia2026-07-10
Misaki E Bolognia1008Canada2026-07-29
Mujtaba S Stockham1009Italy2026-07-12
Francesco T Poquette1010India2026-08-01
Deepesh K Garufi1011Argentina2026-08-03
Francesco J Malet1012United Kingdom2026-07-30
Jeanfrancois S Stockham1013India2026-07-06
David F Ferencz1014Australia2026-07-13
Isabel H Figeroa1015Argentina2026-07-24
Greenwood J Figeroa1016Australia2026-07-06
Julie J Kusko1017Australia2026-07-23
Antonio F Flosi1018Australia2026-07-14
Greenwood S Caldarera1019France2026-08-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia L MaletJapanStephen Shaw NEGOTIATION
Maisha J FlosiCanadaAsiya Javayant NEGOTIATION
Kadeem J AmigonIndiaOnyama Limba NEGOTIATION
Cody A WhobreyArgentinaStephen Shaw NEW
Aditya Y KolmetzGermanyAsiya Javayant NEW
Jones Z OldroydBrazilElwin Sharvill QUALIFIED
Octavia O KuskoFranceAsiya Javayant NEGOTIATION
Johnson I PoquetteCanadaAmy Elsner NEW
Aika V WhobreyBrazilElwin Sharvill NEGOTIATION
James A FerenczIndiaAsiya Javayant PROPOSAL
Darci Q KolmetzArgentinaAnna Fali QUALIFIED
Leja O OldroydArgentinaStephen Shaw NEGOTIATION
Alejandro M FlosiJapanStephen Shaw UNQUALIFIED
Aditya Z WieserUnited KingdomXuxue Feng PROPOSAL
Clifford W RimAustraliaOnyama Limba QUALIFIED
Cody U KuskoRussiaOnyama Limba NEW
Munro J WaycottItalyElwin Sharvill NEGOTIATION
Adams B MorascaArgentinaAmy Elsner NEW
Wickens J RoysterItalyIoni Bowcher QUALIFIED
Aditya U BologniaItalyBernardo Dominic PROPOSAL
Chavez B MarrierAustraliaAnna Fali NEGOTIATION
Ashley L RimBrazilIoni Bowcher NEW
Leon S VocelkaGermanyAnna Fali NEGOTIATION
Jefferson G VenereGermanyAnna Fali UNQUALIFIED
Clifford E AlbaresBrazilAnna Fali QUALIFIED
Morrow X TollnerBrazilElwin Sharvill QUALIFIED
Greenwood A OstroskyBrazilXuxue Feng QUALIFIED
Murillo V CaldareraJapanBernardo Dominic UNQUALIFIED
Octavia F GillianGermanyIoni Bowcher UNQUALIFIED
Misaki U SchemmerBrazilStephen Shaw RENEWAL
Jeanfrancois U RutaJapanIoni Bowcher RENEWAL
Rodrigues P VocelkaArgentinaAnna Fali PROPOSAL
Wickens E RulapaughIndiaElwin Sharvill UNQUALIFIED
Aruna H TollnerBrazilAmy Elsner NEW
Clifford F DilliardUnited KingdomBernardo Dominic PROPOSAL
Ashley F OldroydRussiaStephen Shaw RENEWAL
Costa Y PerinSpainXuxue Feng QUALIFIED
Izzy L SergiSpainElwin Sharvill RENEWAL
Deepesh M VocelkaRussiaIoni Bowcher UNQUALIFIED
Octavia U FigeroaBrazilAsiya Javayant 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>