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
Aika O CaldareraGermanyBernardo Dominic UNQUALIFIED
Darci I KolmetzBrazilIvan Magalhaes NEGOTIATION
Chavez F GlickCanadaBernardo Dominic RENEWAL
Leja H GillianIndiaIvan Magalhaes NEW
Antonio V CaudyCanadaIvan Magalhaes PROPOSAL
Morrow T KolmetzGermanyAmy Elsner RENEWAL
Arvin A ShinkoBrazilOnyama Limba QUALIFIED
Stacey X MarrierArgentinaOnyama Limba UNQUALIFIED
Misaki K StockhamAustraliaIoni Bowcher UNQUALIFIED
Kaitlin D MacleadJapanIvan Magalhaes QUALIFIED
Mujtaba Y StockhamSpainXuxue Feng NEGOTIATION
Clifford F InouyeBrazilXuxue Feng QUALIFIED
Smith O MaletRussiaAsiya Javayant QUALIFIED
Ivar B RoysterAustraliaIoni Bowcher NEW
Wickens U OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Francesco V NickaBrazilIoni Bowcher UNQUALIFIED
Leon D PoquetteItalyAmy Elsner NEGOTIATION
Aruna C CampainCanadaXuxue Feng NEGOTIATION
Johnson X SchemmerBrazilIvan Magalhaes QUALIFIED
Francesco E FlosiFranceBernardo Dominic PROPOSAL
David Z RutaRussiaAmy Elsner UNQUALIFIED
Adams W PaprockiCanadaIoni Bowcher UNQUALIFIED
Mayumi L RulapaughCanadaOnyama Limba NEGOTIATION
Faith V KolmetzArgentinaElwin Sharvill UNQUALIFIED
Arvin C AlbaresSpainStephen Shaw RENEWAL
Jefferson S SergiRussiaIvan Magalhaes UNQUALIFIED
Mujtaba D FollerArgentinaAsiya Javayant RENEWAL
Ricardo C VocelkaBrazilElwin Sharvill RENEWAL
Mayumi I RulapaughCanadaAmy Elsner QUALIFIED
Chavez C WaycottAustraliaStephen Shaw QUALIFIED
Murillo F DilliardBrazilStephen Shaw RENEWAL
Octavia H RimFranceXuxue Feng PROPOSAL
Rodrigues Z DoeGermanyXuxue Feng NEGOTIATION
Jefferson G SlusarskiItalyOnyama Limba NEW
Adams D SlusarskiArgentinaAmy Elsner NEGOTIATION
Aditya L StockhamGermanyElwin Sharvill PROPOSAL
Johnson Y SergiAustraliaAsiya Javayant PROPOSAL
Juan Q RoysterFranceBernardo Dominic NEGOTIATION
Kadeem V VocelkaAustraliaBernardo Dominic QUALIFIED
Jefferson K PerinUnited KingdomStephen Shaw NEGOTIATION
Costa J MacleadIndiaOnyama Limba NEGOTIATION
Faith B SaylorsCanadaAnna Fali QUALIFIED
Isabel G StensethJapanAmy Elsner NEGOTIATION
Izzy E BologniaFranceAsiya Javayant PROPOSAL
Kadeem H SaylorsAustraliaOnyama Limba RENEWAL
Kaitlin P VenereItalyIoni Bowcher QUALIFIED
Julie Y VocelkaJapanAnna Fali QUALIFIED
Aika O PaprockiUnited KingdomIoni Bowcher QUALIFIED
Ivar F PerinBrazilAmy Elsner NEW
Mayumi Z FigeroaJapanIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues Z PaprockiFranceAnna Fali NEGOTIATION
Kadeem B MaletAustraliaIvan Magalhaes NEGOTIATION
Aika T PerinIndiaAmy Elsner PROPOSAL
Izzy V OstroskyCanadaOnyama Limba NEGOTIATION
Munro Z OldroydBrazilXuxue Feng QUALIFIED
Silvio N SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Leja Y WaycottArgentinaIoni Bowcher UNQUALIFIED
Rodrigues A WieserItalyBernardo Dominic RENEWAL
Faith V StensethIndiaElwin Sharvill QUALIFIED
Greenwood I FerenczJapanStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony X CaudyCanada2024-06-09Morlong Associates RENEWAL1Elwin Sharvill
1001Jefferson V PaprockiIndia2024-06-14Feiner Bros QUALIFIED86Stephen Shaw
1002Ashley M StensethBrazil2024-05-27Dorl, James J Esq UNQUALIFIED27Ioni Bowcher
1003Jennifer N GarufiCanada2024-06-17Chemel, James L Cpa UNQUALIFIED75Asiya Javayant
1004Sinclair O MacleadAustralia2024-05-25Rousseaux, Michael Esq RENEWAL59Stephen Shaw
1005Kadeem G RutaGermany2024-06-10Commercial Press PROPOSAL28Anna Fali
1006Mayumi G TollnerCanada2024-06-01Buckley Miller Wright RENEWAL5Ivan Magalhaes
1007Deepesh V GauchoSpain2024-06-03Feiner Bros RENEWAL15Bernardo Dominic
1008Murillo S WieserArgentina2024-06-02Morlong Associates RENEWAL98Anna Fali
1009Rodrigues H DoeGermany2024-06-12Chemel, James L Cpa UNQUALIFIED46Amy Elsner
1010Smith S VenereRussia2024-06-20Chapman, Ross E Esq PROPOSAL91Anna Fali
1011Julie T ChuiFrance2024-06-06Chemel, James L Cpa QUALIFIED60Onyama Limba
1012Leon H NickaJapan2024-06-09Chanay, Jeffrey A Esq PROPOSAL74Onyama Limba
1013Julie W AlbaresGermany2024-05-28Buckley Miller Wright NEGOTIATION48Stephen Shaw
1014Kaitlin L AlbaresArgentina2024-06-16Printing Dimensions UNQUALIFIED22Onyama Limba
1015Maisha D OldroydGermany2024-06-12Buckley Miller Wright RENEWAL24Ivan Magalhaes
1016Tony D FlosiCanada2024-05-26Feltz Printing Service RENEWAL78Anna Fali
1017Rodrigues R ButtIndia2024-05-23Buckley Miller Wright QUALIFIED84Asiya Javayant
1018Aruna O FerenczIndia2024-06-15Feltz Printing Service NEGOTIATION34Bernardo Dominic
1019Chavez P DilliardJapan2024-06-10Chapman, Ross E Esq UNQUALIFIED0Amy Elsner
1020Morrow T SergiItaly2024-06-15Chemel, James L Cpa QUALIFIED9Xuxue Feng
1021Cody S StockhamRussia2024-06-14Morlong Associates PROPOSAL29Xuxue Feng
1022Jefferson S TollnerSpain2024-06-03Feiner Bros PROPOSAL19Elwin Sharvill
1023Johnson Y NestleAustralia2024-06-20Rangoni Of Florence UNQUALIFIED63Ivan Magalhaes
1024Costa V FerenczGermany2024-06-02Chemel, James L Cpa NEGOTIATION91Anna Fali
1025Isabel W MorascaCanada2024-06-02Buckley Miller Wright RENEWAL99Anna Fali
1026Emily Y KolmetzFrance2024-06-15Printing Dimensions QUALIFIED32Anna Fali
1027Isabel X KolmetzJapan2024-06-16Chanay, Jeffrey A Esq RENEWAL65Anna Fali
1028Aika M InouyeSpain2024-06-21Feltz Printing Service NEW48Onyama Limba
1029Misaki M SaylorsItaly2024-06-16Buckley Miller Wright UNQUALIFIED10Amy Elsner
1030Emily Y KuskoIndia2024-06-05Chapman, Ross E Esq RENEWAL9Stephen Shaw
1031Julie M WieserItaly2024-05-26Buckley Miller Wright QUALIFIED46Xuxue Feng
1032Adams H GlickBrazil2024-06-11Chapman, Ross E Esq UNQUALIFIED5Stephen Shaw
1033Kadeem V KuskoItaly2024-06-14Truhlar And Truhlar Attys RENEWAL94Xuxue Feng
1034Rodrigues P KolmetzFrance2024-06-05Chapman, Ross E Esq NEGOTIATION52Xuxue Feng
1035Wickens I DilliardUnited Kingdom2024-06-20Feltz Printing Service RENEWAL55Stephen Shaw
1036Smith Y BowleyItaly2024-05-29Chapman, Ross E Esq NEW29Bernardo Dominic
1037Stacey P PoquetteItaly2024-05-26Buckley Miller Wright UNQUALIFIED1Asiya Javayant
1038Alejandro F StensethUnited Kingdom2024-05-27Printing Dimensions QUALIFIED78Stephen Shaw
1039Jefferson K RoysterJapan2024-05-29Feiner Bros QUALIFIED8Onyama Limba
1040Jennifer D VenereAustralia2024-05-27King, Christopher A Esq RENEWAL93Anna Fali
1041Silvio R MacleadFrance2024-05-29Dorl, James J Esq NEGOTIATION7Bernardo Dominic
1042Clifford W StensethBrazil2024-06-05Commercial Press PROPOSAL99Stephen Shaw
1043Ashley F TollnerFrance2024-06-03Morlong Associates RENEWAL88Ivan Magalhaes
1044Ricardo H WhobreyIndia2024-06-13Dorl, James J Esq PROPOSAL82Amy Elsner
1045Kaitlin F DarakjyUnited Kingdom2024-06-09Dorl, James J Esq UNQUALIFIED0Elwin Sharvill
1046Julie K ChuiBrazil2024-06-06Feiner Bros NEW59Ivan Magalhaes
1047Clifford F VenereSpain2024-06-20Rousseaux, Michael Esq NEGOTIATION60Amy Elsner
1048Murillo I CampainGermany2024-06-17Rangoni Of Florence QUALIFIED2Anna Fali
1049Jefferson A SaylorsAustralia2024-06-03Benton, John B Jr RENEWAL83Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aruna S TollnerArgentinaXuxue Feng RENEWAL
Aruna M OldroydItalyOnyama Limba UNQUALIFIED
Nicolas H VocelkaAustraliaOnyama Limba UNQUALIFIED
Emily L StensethSpainIoni Bowcher QUALIFIED
Nicolas Q ShinkoCanadaOnyama Limba NEGOTIATION
James W AmigonArgentinaIvan Magalhaes RENEWAL
Julie A ChuiCanadaOnyama Limba QUALIFIED
Maisha T VenereCanadaOnyama Limba NEW
Isabel A ButtArgentinaAmy Elsner NEW
Aika W FigeroaBrazilBernardo Dominic PROPOSAL
Tony X TollnerBrazilXuxue Feng NEGOTIATION
Claire E ChuiSpainStephen Shaw PROPOSAL
Isabel G GillianBrazilAnna Fali UNQUALIFIED
Rodrigues E DilliardBrazilOnyama Limba PROPOSAL
Adams N InouyeUnited KingdomAmy Elsner RENEWAL
David X CampainAustraliaIoni Bowcher UNQUALIFIED
Alejandro T GillianItalyIoni Bowcher PROPOSAL
Rodrigues L RoysterIndiaIvan Magalhaes UNQUALIFIED
Julie F CampainBrazilStephen Shaw NEW
Darci W RulapaughGermanyStephen Shaw UNQUALIFIED
Rodrigues Y ChuiBrazilXuxue Feng RENEWAL
Misaki W RimArgentinaAmy Elsner RENEWAL
Emily C CaldareraCanadaBernardo Dominic UNQUALIFIED
Maria Y CampainRussiaIoni Bowcher PROPOSAL
Jefferson G InouyeItalyAmy Elsner QUALIFIED
Kaitlin T WhobreyArgentinaAmy Elsner PROPOSAL
Munro P MacleadArgentinaAsiya Javayant NEW
Aditya H DarakjyCanadaAmy Elsner RENEWAL
Mujtaba T SergiSpainStephen Shaw UNQUALIFIED
Mayumi N NickaArgentinaIvan Magalhaes RENEWAL
Greenwood Z KuskoJapanAmy Elsner PROPOSAL
Faith L RimCanadaAmy Elsner NEGOTIATION
Chavez D OldroydFranceXuxue Feng PROPOSAL
Maria Z InouyeArgentinaAmy Elsner NEW
Ivar Q ShinkoArgentinaBernardo Dominic NEGOTIATION
Julie N GillianGermanyAmy Elsner NEW
Ricardo T StockhamSpainAmy Elsner RENEWAL
Alejandro Q CaudySpainOnyama Limba RENEWAL
Maisha R PoquetteGermanyXuxue Feng UNQUALIFIED
Salvatore Z RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Jefferson R TollnerFranceOnyama Limba PROPOSAL
Silvio Y VocelkaArgentinaIoni Bowcher NEW
Greenwood D MacleadArgentinaIoni Bowcher QUALIFIED
Aditya M ButtAustraliaBernardo Dominic PROPOSAL
Jones H ChuiGermanyIvan Magalhaes NEGOTIATION
Mayumi T OstroskyIndiaIvan Magalhaes QUALIFIED
Leon F RimFranceXuxue Feng NEW
Sinclair W SergiFranceXuxue Feng PROPOSAL
Salvatore O IturbideGermanyAsiya Javayant QUALIFIED
David O WieserJapanStephen Shaw NEGOTIATION
Frozen Columns
Name
Silvio M Maclead
Cody D Schemmer
Nicolas B Venere
Izzy D Morasca
Kaitlin P Stenseth
Aika I Inouye
Rodrigues M Darakjy
Munro C Foller
Arvin L Maclead
Murillo E Darakjy
Alejandro G Wieser
Costa P Stockham
Rodrigues D Caudy
Izzy Y Royster
Jennifer D Royster
Kaitlin M Perin
Morrow S Briddick
Mujtaba K Albares
Murillo R Doe
Aika K Foller
Alejandro M Stenseth
Leja V Vocelka
Maisha E Campain
Munro O Sergi
Jeanfrancois F Malet
James S Rulapaugh
Aika Y Waycott
Izzy L Briddick
Claire C Tollner
Nicolas T Kolmetz
Emily O Amigon
James C Kusko
Juan I Figeroa
Misaki F Stockham
Francesco Q Maclead
Octavia T Gillian
Cody O Maclead
Juan C Briddick
Isabel G Caudy
Jeanfrancois K Morasca
Juan N Shinko
Stacey Q Ferencz
Claire D Slusarski
Maria K Foller
Cody A Morasca
Leon I Ruta
Murillo G Perin
Mayumi O Figeroa
Morrow F Sergi
Ashley R Paprocki
IdCountryDate
1000Australia2024-06-09
1001Italy2024-05-26
1002Germany2024-06-18
1003Spain2024-05-29
1004Japan2024-06-02
1005Italy2024-06-19
1006France2024-05-24
1007Canada2024-06-04
1008Spain2024-06-15
1009United Kingdom2024-06-14
1010Spain2024-06-08
1011Spain2024-05-25
1012United Kingdom2024-06-19
1013Germany2024-06-10
1014Germany2024-05-28
1015Russia2024-06-18
1016Russia2024-06-01
1017France2024-06-19
1018Canada2024-06-07
1019Canada2024-05-30
1020Spain2024-06-04
1021India2024-05-24
1022Spain2024-06-21
1023France2024-06-11
1024Russia2024-05-24
1025Japan2024-05-30
1026Spain2024-05-29
1027Spain2024-06-14
1028Spain2024-06-13
1029Argentina2024-05-30
1030Brazil2024-06-20
1031Brazil2024-06-16
1032Italy2024-06-03
1033Canada2024-06-10
1034Germany2024-05-27
1035Spain2024-05-29
1036Argentina2024-05-31
1037Spain2024-06-14
1038India2024-05-24
1039Argentina2024-06-11
1040United Kingdom2024-06-21
1041United Kingdom2024-06-19
1042Russia2024-06-18
1043France2024-06-02
1044Brazil2024-06-08
1045Australia2024-05-31
1046Argentina2024-06-04
1047Germany2024-06-07
1048Argentina2024-06-04
1049Japan2024-06-04

On-Demand Data

NameIdCountryDate
Deepesh N Nicka1000India2024-06-12
Julie S Schemmer1001Germany2024-06-14
Clifford D Saylors1002France2024-05-30
Deepesh N Butt1003Australia2024-06-05
Juan B Oldroyd1004United Kingdom2024-06-07
Faith C Rulapaugh1005France2024-06-03
Mayumi B Iturbide1006India2024-05-30
Salvatore U Kolmetz1007Russia2024-06-17
Munro L Rim1008India2024-05-27
Chavez U Flosi1009Argentina2024-05-30
Aruna W Whobrey1010Japan2024-06-13
Arvin F Waycott1011United Kingdom2024-06-18
Alejandro J Campain1012Canada2024-06-18
Francesco W Paprocki1013India2024-05-30
Sinclair A Ostrosky1014France2024-06-12
Stacey I Caudy1015India2024-05-26
Morrow U Garufi1016Australia2024-05-24
Ivar M Bowley1017Brazil2024-06-20
Smith U Saylors1018Italy2024-06-13
Kaitlin G Nestle1019Argentina2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar W SaylorsCanadaAmy Elsner RENEWAL
Jeanfrancois R ShinkoAustraliaStephen Shaw NEW
Aditya S RulapaughCanadaAnna Fali RENEWAL
Sinclair V SaylorsSpainStephen Shaw NEGOTIATION
Chavez Z GillianRussiaStephen Shaw UNQUALIFIED
Mayumi P NestleJapanStephen Shaw NEW
Isabel F StockhamUnited KingdomStephen Shaw NEW
Francesco Z CaudyUnited KingdomBernardo Dominic UNQUALIFIED
Aditya K DilliardRussiaIoni Bowcher NEW
Ashley H CaudyArgentinaElwin Sharvill NEW
Chavez P SlusarskiUnited KingdomElwin Sharvill NEW
Leja T GlickGermanyElwin Sharvill RENEWAL
Johnson I InouyeRussiaStephen Shaw NEGOTIATION
Misaki Y ButtSpainAnna Fali NEGOTIATION
Greenwood C KuskoBrazilAsiya Javayant PROPOSAL
Ivar C RutaIndiaIoni Bowcher PROPOSAL
Julie H VocelkaCanadaIoni Bowcher QUALIFIED
Murillo M MaletSpainBernardo Dominic NEW
Stacey Q SchemmerSpainIvan Magalhaes NEGOTIATION
Aditya A MaletAustraliaIvan Magalhaes NEGOTIATION
Maria C IturbideBrazilAmy Elsner PROPOSAL
Leja V DoeUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba W InouyeRussiaIoni Bowcher NEGOTIATION
Costa E GauchoIndiaXuxue Feng RENEWAL
Silvio Y ShinkoBrazilAnna Fali UNQUALIFIED
Silvio O OstroskyFranceStephen Shaw UNQUALIFIED
Misaki M StensethIndiaAmy Elsner PROPOSAL
Aruna O WhobreyArgentinaAsiya Javayant NEW
Munro O KolmetzFranceOnyama Limba NEW
Jones S BologniaUnited KingdomAmy Elsner NEW
Faith N PoquetteRussiaIvan Magalhaes QUALIFIED
Maisha S CampainFranceIvan Magalhaes UNQUALIFIED
Alejandro N KolmetzItalyOnyama Limba NEW
Leja R ButtArgentinaIoni Bowcher NEW
Tony J GarufiItalyElwin Sharvill NEW
David S BologniaItalyStephen Shaw PROPOSAL
Jennifer W FigeroaSpainXuxue Feng PROPOSAL
Wickens M RoysterSpainXuxue Feng QUALIFIED
Kadeem J VenereBrazilAmy Elsner UNQUALIFIED
Jennifer U RoysterUnited KingdomElwin Sharvill 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>