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
Jeanfrancois J CaudyArgentinaXuxue Feng NEW
Kaitlin V RimIndiaXuxue Feng NEGOTIATION
Ivar X DarakjyFranceIoni Bowcher NEW
Johnson T RoysterAustraliaBernardo Dominic NEGOTIATION
David P InouyeArgentinaAsiya Javayant NEW
Jeanfrancois T GauchoAustraliaBernardo Dominic RENEWAL
Jones B KuskoFranceXuxue Feng PROPOSAL
Misaki W VocelkaAustraliaXuxue Feng NEW
Claire B GillianUnited KingdomBernardo Dominic QUALIFIED
Leja D SlusarskiSpainStephen Shaw NEGOTIATION
Cody M BowleyFranceXuxue Feng NEGOTIATION
Izzy G MaletBrazilOnyama Limba UNQUALIFIED
Maria Y OstroskyBrazilXuxue Feng PROPOSAL
James X GlickRussiaIvan Magalhaes NEGOTIATION
Isabel R DoeIndiaIvan Magalhaes NEGOTIATION
Silvio N CampainJapanAnna Fali PROPOSAL
Sinclair I DoeGermanyAnna Fali NEW
Leon R MacleadCanadaIoni Bowcher NEW
Isabel R VenereIndiaAsiya Javayant NEW
Aruna Q InouyeCanadaIoni Bowcher PROPOSAL
Antonio C CampainUnited KingdomElwin Sharvill RENEWAL
Alejandro E GillianUnited KingdomStephen Shaw UNQUALIFIED
Ricardo W AlbaresItalyAmy Elsner UNQUALIFIED
Adams B GauchoBrazilBernardo Dominic PROPOSAL
Chavez L SchemmerUnited KingdomIoni Bowcher QUALIFIED
Aika C PaprockiCanadaAmy Elsner NEW
Julie T BowleySpainIvan Magalhaes QUALIFIED
Stacey T StockhamFranceAsiya Javayant QUALIFIED
Arvin Q PoquetteIndiaElwin Sharvill NEGOTIATION
Juan N NestleFranceAnna Fali NEGOTIATION
Smith F NestleJapanAsiya Javayant PROPOSAL
Wickens O ButtJapanAmy Elsner NEGOTIATION
Misaki G CaudyIndiaElwin Sharvill UNQUALIFIED
Jefferson Q GillianRussiaAsiya Javayant UNQUALIFIED
Darci N MorascaCanadaXuxue Feng NEW
Johnson X GlickArgentinaIvan Magalhaes NEGOTIATION
Silvio X TollnerFranceAmy Elsner UNQUALIFIED
Maisha U PoquetteCanadaAmy Elsner QUALIFIED
Arvin R KolmetzUnited KingdomIoni Bowcher NEW
Silvio E SergiSpainAmy Elsner UNQUALIFIED
Antonio B CampainItalyAmy Elsner UNQUALIFIED
Juan J InouyeGermanyIvan Magalhaes RENEWAL
Johnson T TollnerRussiaAnna Fali QUALIFIED
Faith R TollnerUnited KingdomAsiya Javayant QUALIFIED
Jefferson L RutaRussiaIoni Bowcher QUALIFIED
Ivar X OldroydSpainAsiya Javayant QUALIFIED
Jennifer O VocelkaItalyXuxue Feng NEGOTIATION
Claire D FollerFranceAnna Fali RENEWAL
Johnson J FlosiGermanyAmy Elsner NEGOTIATION
Ashley H ButtSpainAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Chavez U DoeCanadaAnna Fali PROPOSAL
Greenwood U RoysterUnited KingdomIoni Bowcher NEGOTIATION
Arvin I PaprockiUnited KingdomAnna Fali PROPOSAL
Nicolas J CampainItalyIoni Bowcher RENEWAL
Morrow V KolmetzGermanyXuxue Feng PROPOSAL
Jefferson X NestleFranceXuxue Feng NEGOTIATION
Sinclair J IturbideCanadaStephen Shaw UNQUALIFIED
Kadeem L KuskoGermanyIvan Magalhaes NEW
Francesco U VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Ivar V NickaArgentinaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan R SlusarskiAustralia2024-06-22Truhlar And Truhlar Attys NEW32Amy Elsner
1001Ashley R MacleadArgentina2024-06-04Rousseaux, Michael Esq NEGOTIATION88Anna Fali
1002Jefferson Y MacleadIndia2024-06-21Morlong Associates PROPOSAL94Onyama Limba
1003Jones K AlbaresJapan2024-06-01Chanay, Jeffrey A Esq RENEWAL23Stephen Shaw
1004Stacey Y KuskoArgentina2024-06-17Benton, John B Jr UNQUALIFIED18Stephen Shaw
1005Munro U GauchoBrazil2024-06-13Morlong Associates UNQUALIFIED83Amy Elsner
1006Greenwood Y NestleSpain2024-05-31Chemel, James L Cpa UNQUALIFIED73Amy Elsner
1007Aika M GlickIndia2024-06-22King, Christopher A Esq NEGOTIATION0Ivan Magalhaes
1008Jones K MacleadItaly2024-06-11Chapman, Ross E Esq UNQUALIFIED8Asiya Javayant
1009James D RoysterBrazil2024-05-28Morlong Associates NEGOTIATION1Anna Fali
1010Leon S CaldareraItaly2024-06-10Chanay, Jeffrey A Esq RENEWAL78Ioni Bowcher
1011Claire P DoeJapan2024-05-29Morlong Associates NEGOTIATION65Stephen Shaw
1012Aditya Y DilliardSpain2024-06-06Rousseaux, Michael Esq NEW29Xuxue Feng
1013Adams D InouyeCanada2024-06-12Chemel, James L Cpa NEW35Bernardo Dominic
1014Clifford V SlusarskiArgentina2024-05-28Morlong Associates NEGOTIATION11Onyama Limba
1015Darci R FlosiIndia2024-06-03Truhlar And Truhlar Attys NEGOTIATION46Onyama Limba
1016Julie K AlbaresGermany2024-05-25Printing Dimensions NEW86Amy Elsner
1017Costa E SaylorsCanada2024-06-12Rangoni Of Florence PROPOSAL8Stephen Shaw
1018Sinclair Z SergiItaly2024-06-11Morlong Associates NEGOTIATION85Bernardo Dominic
1019Maria N FigeroaItaly2024-05-31King, Christopher A Esq NEGOTIATION73Elwin Sharvill
1020Smith G DarakjyBrazil2024-05-25Feltz Printing Service UNQUALIFIED48Bernardo Dominic
1021Jones W GarufiItaly2024-05-26Chanay, Jeffrey A Esq PROPOSAL43Bernardo Dominic
1022Arvin B RimGermany2024-05-31Rangoni Of Florence QUALIFIED26Ioni Bowcher
1023Sinclair X RulapaughSpain2024-06-09Rangoni Of Florence QUALIFIED17Ivan Magalhaes
1024Cody O ChuiItaly2024-06-04Dorl, James J Esq QUALIFIED44Anna Fali
1025Jones C VenereUnited Kingdom2024-05-26Chapman, Ross E Esq NEGOTIATION22Onyama Limba
1026Arvin G PoquetteArgentina2024-05-31Chanay, Jeffrey A Esq RENEWAL87Amy Elsner
1027Chavez F PaprockiArgentina2024-06-01Chanay, Jeffrey A Esq PROPOSAL5Ivan Magalhaes
1028Rodrigues F InouyeSpain2024-06-14Benton, John B Jr RENEWAL45Asiya Javayant
1029Isabel H DilliardSpain2024-06-10Rousseaux, Michael Esq NEW76Ivan Magalhaes
1030Costa W BriddickIndia2024-06-20Chapman, Ross E Esq NEGOTIATION29Xuxue Feng
1031Costa M AlbaresJapan2024-05-26King, Christopher A Esq NEW96Bernardo Dominic
1032Jones G DoeCanada2024-05-30Truhlar And Truhlar Attys RENEWAL40Xuxue Feng
1033Murillo E SlusarskiItaly2024-06-20Printing Dimensions UNQUALIFIED74Amy Elsner
1034Silvio M FerenczRussia2024-05-30Feiner Bros NEW27Ioni Bowcher
1035Jeanfrancois U TollnerArgentina2024-06-18Dorl, James J Esq QUALIFIED56Ivan Magalhaes
1036Izzy T SergiRussia2024-06-03Rousseaux, Michael Esq PROPOSAL84Anna Fali
1037Claire I SergiFrance2024-05-27Buckley Miller Wright PROPOSAL75Anna Fali
1038Munro V GlickArgentina2024-06-10Printing Dimensions NEW85Ivan Magalhaes
1039Aditya F SchemmerGermany2024-06-11Chemel, James L Cpa PROPOSAL55Stephen Shaw
1040Wickens H MorascaFrance2024-06-01Rousseaux, Michael Esq NEW44Ivan Magalhaes
1041Aditya W GlickCanada2024-06-13Buckley Miller Wright NEW92Ioni Bowcher
1042Mayumi A CaudySpain2024-05-29Feiner Bros PROPOSAL11Anna Fali
1043Murillo P RoysterGermany2024-06-19Feltz Printing Service RENEWAL47Ivan Magalhaes
1044David Y IturbideRussia2024-06-10Benton, John B Jr NEW28Ioni Bowcher
1045Izzy A StockhamFrance2024-06-17Chapman, Ross E Esq QUALIFIED42Xuxue Feng
1046Murillo F KuskoFrance2024-06-13Dorl, James J Esq RENEWAL22Stephen Shaw
1047Ashley T GillianCanada2024-06-18King, Christopher A Esq PROPOSAL48Ivan Magalhaes
1048Arvin H SergiIndia2024-06-20Morlong Associates RENEWAL7Ivan Magalhaes
1049Maisha E WieserCanada2024-05-29Printing Dimensions NEGOTIATION7Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer T SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Jefferson K BologniaSpainElwin Sharvill QUALIFIED
Jeanfrancois W PaprockiFranceIoni Bowcher UNQUALIFIED
Silvio P NickaGermanyIvan Magalhaes PROPOSAL
Juan D FigeroaGermanyIvan Magalhaes RENEWAL
Kaitlin A ButtAustraliaIvan Magalhaes QUALIFIED
Claire K FlosiFranceBernardo Dominic QUALIFIED
Jeanfrancois G RulapaughRussiaIoni Bowcher NEW
Juan V StensethArgentinaIoni Bowcher QUALIFIED
Jones U CaldareraRussiaIoni Bowcher QUALIFIED
Kaitlin S DilliardAustraliaBernardo Dominic RENEWAL
Nicolas C CampainBrazilAnna Fali RENEWAL
Ashley U AmigonCanadaIoni Bowcher QUALIFIED
Smith R DilliardRussiaOnyama Limba NEW
Adams G TollnerJapanElwin Sharvill QUALIFIED
Chavez I DilliardRussiaAsiya Javayant NEW
Ricardo Z KolmetzItalyIoni Bowcher QUALIFIED
Leja J MaletJapanStephen Shaw QUALIFIED
Jones H InouyeSpainAsiya Javayant NEW
Clifford X NickaJapanIoni Bowcher PROPOSAL
Antonio S OldroydUnited KingdomOnyama Limba QUALIFIED
Deepesh Q AlbaresFranceElwin Sharvill QUALIFIED
Alejandro F BriddickBrazilOnyama Limba PROPOSAL
Kadeem D WieserAustraliaAnna Fali NEW
Maria M OstroskyItalyIoni Bowcher RENEWAL
Aditya G SergiBrazilXuxue Feng UNQUALIFIED
Aditya C VocelkaAustraliaOnyama Limba RENEWAL
Sinclair Z ShinkoFranceOnyama Limba QUALIFIED
Alejandro E ChuiItalyIoni Bowcher RENEWAL
Sinclair N SlusarskiCanadaBernardo Dominic RENEWAL
Claire U MacleadArgentinaStephen Shaw RENEWAL
Darci Y TollnerRussiaAnna Fali RENEWAL
Ivar G CaldareraIndiaAnna Fali NEGOTIATION
Munro S NickaFranceIoni Bowcher QUALIFIED
David W FerenczJapanStephen Shaw NEW
James T SlusarskiBrazilXuxue Feng NEGOTIATION
Aika R VenereJapanAmy Elsner RENEWAL
Octavia F StockhamItalyElwin Sharvill NEW
Nicolas M GarufiArgentinaIoni Bowcher RENEWAL
Jones L StensethSpainXuxue Feng NEW
Ashley X SergiRussiaOnyama Limba QUALIFIED
Leon F GauchoJapanAnna Fali NEW
Wickens K OldroydCanadaXuxue Feng QUALIFIED
Claire I DilliardGermanyXuxue Feng NEGOTIATION
Aika Y IturbideRussiaStephen Shaw PROPOSAL
Mujtaba N GillianBrazilAmy Elsner NEGOTIATION
Leon X GillianFranceIoni Bowcher QUALIFIED
Darci Z RimAustraliaAsiya Javayant UNQUALIFIED
Johnson V BologniaGermanyAsiya Javayant RENEWAL
Alejandro M ButtGermanyXuxue Feng UNQUALIFIED
Frozen Columns
Name
Johnson J Stenseth
Rodrigues Q Kusko
Mayumi B Stockham
Leja R Bolognia
Johnson J Waycott
Jefferson K Sergi
Kaitlin Q Stockham
Mayumi Z Doe
Tony B Ferencz
Ashley W Marrier
Misaki L Bowley
Alejandro P Slusarski
Smith W Iturbide
Stacey L Gillian
Stacey Z Stockham
Ashley E Sergi
Adams V Paprocki
Jefferson F Kolmetz
Juan R Campain
Mujtaba V Garufi
Clifford L Schemmer
Darci G Perin
Sinclair B Venere
Johnson D Kolmetz
Cody N Tollner
Munro H Schemmer
Deepesh J Whobrey
Julie M Malet
Juan S Nicka
Smith B Rulapaugh
Kadeem I Stockham
Deepesh A Ruta
Aruna K Gillian
Ivar L Malet
Sinclair G Doe
Cody V Stenseth
Emily R Perin
Leon K Saylors
Aika M Vocelka
Costa C Venere
Mayumi F Caldarera
Claire R Paprocki
Adams D Bolognia
Aditya R Rim
Juan L Ferencz
Leja V Briddick
Ivar B Venere
Murillo A Waycott
Isabel W Rulapaugh
Octavia V Oldroyd
IdCountryDate
1000France2024-06-09
1001Argentina2024-05-24
1002Germany2024-06-20
1003India2024-05-27
1004Germany2024-06-20
1005India2024-06-08
1006France2024-06-07
1007Germany2024-06-05
1008Spain2024-06-11
1009Brazil2024-06-06
1010France2024-06-05
1011Canada2024-06-10
1012Germany2024-06-03
1013Germany2024-05-27
1014Brazil2024-06-16
1015Brazil2024-05-31
1016Australia2024-05-27
1017India2024-06-12
1018Australia2024-06-18
1019India2024-06-15
1020Brazil2024-06-18
1021India2024-05-27
1022Canada2024-06-19
1023United Kingdom2024-06-21
1024Australia2024-06-07
1025Australia2024-06-15
1026Italy2024-06-12
1027Germany2024-06-20
1028Argentina2024-06-02
1029Italy2024-05-30
1030France2024-06-17
1031Canada2024-05-27
1032France2024-06-17
1033Canada2024-06-22
1034France2024-06-20
1035United Kingdom2024-06-17
1036Germany2024-06-09
1037Germany2024-06-13
1038Italy2024-05-29
1039Brazil2024-06-13
1040India2024-06-22
1041Italy2024-05-25
1042United Kingdom2024-05-27
1043Brazil2024-06-03
1044United Kingdom2024-06-15
1045Spain2024-06-12
1046Argentina2024-06-17
1047Argentina2024-06-07
1048Spain2024-05-29
1049Japan2024-05-26

On-Demand Data

NameIdCountryDate
Jeanfrancois L Rim1000Argentina2024-05-30
Arvin K Inouye1001Russia2024-05-30
Mujtaba C Chui1002India2024-06-19
Mayumi P Saylors1003Germany2024-06-03
Ricardo O Gaucho1004Russia2024-06-15
Julie L Dilliard1005Italy2024-06-07
Adams L Gillian1006Spain2024-05-31
Octavia X Dilliard1007France2024-06-09
Costa L Sergi1008France2024-06-03
Ricardo A Nicka1009Argentina2024-06-17
Aditya U Stockham1010United Kingdom2024-06-05
Mayumi W Ruta1011Brazil2024-06-07
Ivar Z Morasca1012Australia2024-06-13
Rodrigues O Glick1013Italy2024-06-01
Darci K Figeroa1014Argentina2024-06-07
Darci K Nicka1015Canada2024-05-25
Arvin J Amigon1016Argentina2024-05-30
Aika X Gillian1017Russia2024-06-19
Greenwood D Caldarera1018India2024-06-14
Ricardo W Ferencz1019Japan2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci A TollnerIndiaBernardo Dominic NEGOTIATION
Jones Z MaletBrazilIoni Bowcher NEW
Maria L MarrierCanadaIoni Bowcher NEGOTIATION
Ricardo S VocelkaJapanBernardo Dominic QUALIFIED
Murillo P BowleyFranceOnyama Limba QUALIFIED
Sinclair A TollnerJapanBernardo Dominic NEW
Jeanfrancois I ChuiFranceXuxue Feng RENEWAL
Mayumi F KuskoSpainElwin Sharvill PROPOSAL
Maria B StockhamFranceIoni Bowcher RENEWAL
Jeanfrancois D NickaJapanAsiya Javayant NEGOTIATION
Juan S DarakjyJapanAmy Elsner UNQUALIFIED
Rodrigues C InouyeItalyAnna Fali UNQUALIFIED
Cody X StockhamIndiaIoni Bowcher NEGOTIATION
Rodrigues F CampainIndiaElwin Sharvill RENEWAL
Kadeem X MacleadGermanyOnyama Limba NEW
James F SlusarskiAustraliaXuxue Feng NEGOTIATION
Rodrigues O FerenczGermanyAnna Fali NEGOTIATION
David V TollnerItalyAmy Elsner UNQUALIFIED
Francesco X GarufiRussiaElwin Sharvill PROPOSAL
Mujtaba C GarufiGermanyIvan Magalhaes PROPOSAL
Darci L FigeroaJapanAmy Elsner NEW
Munro T RulapaughArgentinaIvan Magalhaes QUALIFIED
Claire Y DilliardArgentinaStephen Shaw QUALIFIED
Jeanfrancois E NickaItalyStephen Shaw NEGOTIATION
Kaitlin E OldroydAustraliaStephen Shaw QUALIFIED
Munro Y FollerSpainStephen Shaw NEGOTIATION
Stacey S DarakjyIndiaIoni Bowcher UNQUALIFIED
Emily J BriddickFranceOnyama Limba NEW
James T RimCanadaOnyama Limba RENEWAL
Antonio T BologniaAustraliaBernardo Dominic NEGOTIATION
Nicolas L InouyeArgentinaIoni Bowcher QUALIFIED
Aruna B CaldareraArgentinaXuxue Feng NEGOTIATION
Clifford W SlusarskiJapanStephen Shaw UNQUALIFIED
Francesco T RoysterUnited KingdomAnna Fali UNQUALIFIED
Costa F PerinBrazilBernardo Dominic UNQUALIFIED
Smith W DilliardFranceAsiya Javayant NEW
Leja M MaletArgentinaOnyama Limba PROPOSAL
Faith N GlickArgentinaBernardo Dominic NEW
Francesco A DilliardAustraliaIoni Bowcher RENEWAL
Kaitlin R ButtSpainIvan Magalhaes NEW

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