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
Julie S PerinBrazilStephen Shaw UNQUALIFIED
Misaki S CaldareraBrazilAnna Fali UNQUALIFIED
Alejandro A CaudyGermanyXuxue Feng QUALIFIED
Deepesh K AmigonBrazilAnna Fali QUALIFIED
Nicolas F VocelkaSpainAmy Elsner NEW
Cody O FlosiArgentinaElwin Sharvill QUALIFIED
Julie H StensethRussiaAnna Fali QUALIFIED
Greenwood P AmigonAustraliaAmy Elsner NEW
Greenwood C KolmetzItalyIoni Bowcher NEW
Silvio Z RulapaughCanadaStephen Shaw UNQUALIFIED
Leja J MorascaCanadaElwin Sharvill UNQUALIFIED
Munro R MaletSpainAsiya Javayant QUALIFIED
Wickens E BologniaSpainIvan Magalhaes PROPOSAL
Johnson J FerenczCanadaAsiya Javayant RENEWAL
Juan S PaprockiAustraliaBernardo Dominic RENEWAL
Mayumi J StockhamBrazilAmy Elsner RENEWAL
Smith S IturbideBrazilAmy Elsner PROPOSAL
Izzy Z FigeroaArgentinaAnna Fali UNQUALIFIED
Isabel S BowleyIndiaBernardo Dominic PROPOSAL
Cody V CaldareraItalyAnna Fali NEW
Deepesh D FerenczRussiaBernardo Dominic NEGOTIATION
Rodrigues N NickaArgentinaBernardo Dominic RENEWAL
Aika M AlbaresGermanyAnna Fali NEW
David U MarrierItalyStephen Shaw NEW
Jennifer Y VocelkaUnited KingdomStephen Shaw PROPOSAL
Aruna C FerenczIndiaStephen Shaw PROPOSAL
Faith B NestleCanadaAnna Fali UNQUALIFIED
Ricardo M AlbaresIndiaBernardo Dominic UNQUALIFIED
Clifford U CaudyArgentinaIvan Magalhaes RENEWAL
David K MacleadFranceElwin Sharvill RENEWAL
Ivar V StensethFranceIoni Bowcher QUALIFIED
Mujtaba U RimFranceIoni Bowcher RENEWAL
Costa T RimUnited KingdomAsiya Javayant QUALIFIED
Nicolas N MacleadIndiaIvan Magalhaes RENEWAL
Darci G KolmetzIndiaStephen Shaw PROPOSAL
Wickens A AlbaresGermanyStephen Shaw PROPOSAL
David V SergiItalyXuxue Feng UNQUALIFIED
Jeanfrancois Z MarrierIndiaAsiya Javayant NEW
Ricardo C PoquetteUnited KingdomAnna Fali RENEWAL
Ivar Z MacleadCanadaStephen Shaw UNQUALIFIED
Adams Q IturbideRussiaAmy Elsner NEW
Adams B MaletCanadaAnna Fali NEGOTIATION
Salvatore C AmigonItalyIoni Bowcher UNQUALIFIED
Greenwood R SchemmerItalyAmy Elsner NEW
Rodrigues Y TollnerUnited KingdomBernardo Dominic RENEWAL
Darci Q MaletCanadaAsiya Javayant PROPOSAL
Tony O GlickArgentinaIoni Bowcher NEW
Kaitlin Q GlickUnited KingdomElwin Sharvill NEGOTIATION
Kaitlin V ChuiCanadaIoni Bowcher QUALIFIED
Julie Z ButtFranceIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Ashley C GarufiCanadaAsiya Javayant NEW
Salvatore I BowleyFranceXuxue Feng NEGOTIATION
Julie L BologniaRussiaBernardo Dominic RENEWAL
Ivar A GillianUnited KingdomAmy Elsner QUALIFIED
Costa J DarakjyGermanyElwin Sharvill QUALIFIED
Rodrigues K InouyeGermanyIoni Bowcher NEGOTIATION
Sinclair O StockhamJapanXuxue Feng UNQUALIFIED
Maria Q VenereAustraliaStephen Shaw QUALIFIED
Ashley L DarakjySpainAmy Elsner RENEWAL
James P SchemmerAustraliaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez D KolmetzGermany2024-06-15Printing Dimensions PROPOSAL89Bernardo Dominic
1001Arvin N StensethBrazil2024-06-08Chemel, James L Cpa QUALIFIED7Onyama Limba
1002Murillo N RoysterRussia2024-06-16Chanay, Jeffrey A Esq PROPOSAL82Ioni Bowcher
1003Stacey B WaycottRussia2024-06-06Benton, John B Jr QUALIFIED26Xuxue Feng
1004Julie G KuskoArgentina2024-06-09Morlong Associates NEGOTIATION22Stephen Shaw
1005Aditya E StockhamArgentina2024-06-06Feltz Printing Service NEW52Bernardo Dominic
1006Maisha W RimIndia2024-05-26Dorl, James J Esq PROPOSAL43Asiya Javayant
1007Sinclair D DilliardFrance2024-06-04Feltz Printing Service NEGOTIATION91Stephen Shaw
1008Adams N StockhamFrance2024-06-06Printing Dimensions UNQUALIFIED45Asiya Javayant
1009Mujtaba E GauchoGermany2024-06-02Printing Dimensions UNQUALIFIED35Anna Fali
1010Jeanfrancois F VocelkaAustralia2024-06-06Feiner Bros UNQUALIFIED59Onyama Limba
1011Misaki H FigeroaRussia2024-06-05Feiner Bros QUALIFIED46Anna Fali
1012Maria W ShinkoRussia2024-06-17Dorl, James J Esq QUALIFIED58Ivan Magalhaes
1013James S InouyeCanada2024-06-04Feiner Bros RENEWAL78Bernardo Dominic
1014Morrow H VocelkaIndia2024-05-31Rangoni Of Florence NEGOTIATION86Elwin Sharvill
1015Isabel H RutaArgentina2024-06-09Morlong Associates NEGOTIATION10Ioni Bowcher
1016Adams G AlbaresRussia2024-06-11Feltz Printing Service NEW44Xuxue Feng
1017Jones M PoquetteSpain2024-06-02Chemel, James L Cpa QUALIFIED18Ivan Magalhaes
1018Mayumi D OstroskyArgentina2024-06-09Buckley Miller Wright UNQUALIFIED3Ivan Magalhaes
1019Alejandro X IturbideIndia2024-05-31Commercial Press UNQUALIFIED8Amy Elsner
1020Deepesh C MaletAustralia2024-06-14Benton, John B Jr NEW43Asiya Javayant
1021Jennifer T SlusarskiSpain2024-06-02Chapman, Ross E Esq QUALIFIED10Amy Elsner
1022Johnson M ChuiAustralia2024-06-13Rousseaux, Michael Esq UNQUALIFIED62Elwin Sharvill
1023Kaitlin W VenereAustralia2024-05-26Printing Dimensions NEW25Bernardo Dominic
1024Aruna H GauchoGermany2024-06-22King, Christopher A Esq NEGOTIATION34Ioni Bowcher
1025Alejandro O PoquetteSpain2024-05-27Printing Dimensions UNQUALIFIED70Amy Elsner
1026Aika X SaylorsArgentina2024-06-21Rangoni Of Florence NEW41Ivan Magalhaes
1027Isabel K ButtSpain2024-06-05Benton, John B Jr NEGOTIATION30Asiya Javayant
1028Jeanfrancois A GarufiAustralia2024-05-30Rangoni Of Florence RENEWAL7Xuxue Feng
1029Jefferson M WaycottIndia2024-06-14Morlong Associates RENEWAL24Elwin Sharvill
1030Antonio P TollnerUnited Kingdom2024-06-02Printing Dimensions NEW44Bernardo Dominic
1031Arvin C RoysterAustralia2024-06-07Feiner Bros NEW76Ivan Magalhaes
1032Ricardo M WieserIndia2024-05-30Feltz Printing Service PROPOSAL67Stephen Shaw
1033Clifford T VenereAustralia2024-06-14Chemel, James L Cpa UNQUALIFIED89Anna Fali
1034Sinclair V WieserBrazil2024-06-08Commercial Press RENEWAL98Onyama Limba
1035Munro P KuskoSpain2024-06-15King, Christopher A Esq UNQUALIFIED77Onyama Limba
1036Adams K CaldareraGermany2024-06-03Feiner Bros UNQUALIFIED58Ioni Bowcher
1037Rodrigues P FigeroaJapan2024-05-30Benton, John B Jr QUALIFIED45Amy Elsner
1038Aika Q SergiJapan2024-06-01Chanay, Jeffrey A Esq QUALIFIED94Bernardo Dominic
1039Darci C RoysterBrazil2024-06-20Rangoni Of Florence PROPOSAL62Ivan Magalhaes
1040Rodrigues K TollnerItaly2024-06-02Dorl, James J Esq PROPOSAL93Anna Fali
1041Claire J DilliardCanada2024-06-17Commercial Press QUALIFIED13Ivan Magalhaes
1042Tony W PoquetteRussia2024-05-28Dorl, James J Esq PROPOSAL14Bernardo Dominic
1043Morrow S TollnerGermany2024-05-28Buckley Miller Wright PROPOSAL66Elwin Sharvill
1044Izzy W MorascaCanada2024-06-10Truhlar And Truhlar Attys NEGOTIATION82Stephen Shaw
1045Maria H CampainFrance2024-05-26Printing Dimensions PROPOSAL94Stephen Shaw
1046Ashley F StockhamAustralia2024-06-22Feiner Bros NEGOTIATION98Ioni Bowcher
1047Costa O RutaCanada2024-06-15Rangoni Of Florence NEW92Ioni Bowcher
1048Leja P RulapaughItaly2024-05-24Buckley Miller Wright NEW41Asiya Javayant
1049Greenwood A MaletIndia2024-05-30Commercial Press NEGOTIATION31Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya C RutaRussiaIoni Bowcher UNQUALIFIED
Juan N RoysterFranceIvan Magalhaes NEGOTIATION
Adams B IturbideJapanStephen Shaw PROPOSAL
Antonio H WhobreyArgentinaAsiya Javayant UNQUALIFIED
Faith L MorascaItalyAnna Fali PROPOSAL
Deepesh Q TollnerAustraliaXuxue Feng QUALIFIED
Maria Q FollerItalyOnyama Limba QUALIFIED
Alejandro W InouyeUnited KingdomBernardo Dominic NEGOTIATION
Greenwood O GarufiBrazilAsiya Javayant QUALIFIED
Deepesh V PaprockiBrazilStephen Shaw NEW
Jeanfrancois G RimFranceAsiya Javayant PROPOSAL
Greenwood B BriddickJapanOnyama Limba RENEWAL
Leon Y MaletArgentinaXuxue Feng NEW
Juan Y BriddickSpainElwin Sharvill RENEWAL
Jefferson S MaletArgentinaIoni Bowcher NEGOTIATION
Wickens N KolmetzUnited KingdomAnna Fali UNQUALIFIED
Octavia T SchemmerJapanIoni Bowcher NEW
Maria J StensethRussiaAsiya Javayant UNQUALIFIED
Darci A StensethRussiaAsiya Javayant UNQUALIFIED
Sinclair L CaudyGermanyElwin Sharvill NEW
Alejandro N ShinkoFranceXuxue Feng QUALIFIED
Emily S SergiFranceAnna Fali PROPOSAL
Ashley L MarrierUnited KingdomAmy Elsner RENEWAL
Stacey K SlusarskiUnited KingdomAnna Fali UNQUALIFIED
David B BriddickUnited KingdomXuxue Feng QUALIFIED
Aika O DarakjySpainStephen Shaw NEGOTIATION
Johnson T FigeroaSpainXuxue Feng QUALIFIED
Julie K NickaSpainBernardo Dominic QUALIFIED
Ivar Q InouyeRussiaStephen Shaw NEGOTIATION
Clifford V SlusarskiAustraliaAsiya Javayant NEW
Isabel R GlickIndiaAmy Elsner RENEWAL
Silvio X RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Cody V CampainRussiaStephen Shaw PROPOSAL
Alejandro B DoeGermanyElwin Sharvill NEW
Munro O RulapaughBrazilOnyama Limba RENEWAL
Arvin I WieserRussiaAmy Elsner PROPOSAL
Silvio N ButtCanadaOnyama Limba NEW
Maisha P MacleadIndiaXuxue Feng PROPOSAL
Emily U SlusarskiFranceBernardo Dominic UNQUALIFIED
Adams I PerinJapanStephen Shaw NEW
Octavia H RutaGermanyIvan Magalhaes RENEWAL
Leja E OldroydItalyAsiya Javayant RENEWAL
Munro P MorascaJapanXuxue Feng NEGOTIATION
Sinclair P StensethCanadaStephen Shaw NEW
Kaitlin M RulapaughJapanAnna Fali NEW
Nicolas Y WhobreyUnited KingdomAnna Fali RENEWAL
Stacey X VenereItalyAsiya Javayant QUALIFIED
Mujtaba Z FerenczGermanyAmy Elsner PROPOSAL
Mayumi Y ShinkoJapanAsiya Javayant QUALIFIED
Kaitlin H BriddickRussiaIoni Bowcher NEW
Frozen Columns
Name
Juan M Caudy
Munro W Ostrosky
Juan F Caldarera
Chavez H Iturbide
Chavez H Ostrosky
Misaki G Morasca
Kadeem Q Ferencz
Octavia X Ostrosky
Jennifer Y Gillian
Wickens E Doe
Kadeem H Stenseth
Claire Q Butt
Claire M Iturbide
Leja I Vocelka
Aruna C Saylors
Antonio M Bolognia
Jeanfrancois A Royster
Nicolas H Bowley
Aruna I Schemmer
Smith B Bowley
Antonio E Darakjy
Sinclair U Maclead
Jones S Dilliard
Jennifer D Ferencz
Aruna T Darakjy
Aruna I Albares
Misaki Z Kusko
Clifford J Dilliard
Murillo C Venere
Tony L Glick
Octavia W Gaucho
Aditya F Figeroa
Ashley E Caldarera
Jeanfrancois S Butt
Stacey R Malet
Juan V Sergi
Kaitlin S Nestle
Murillo C Stenseth
Costa M Chui
Emily A Foller
Greenwood R Bowley
Jennifer P Paprocki
Misaki N Gillian
Juan H Foller
Ivar L Kolmetz
Chavez C Figeroa
Rodrigues X Kusko
Arvin J Iturbide
Faith T Royster
Darci S Stockham
IdCountryDate
1000Australia2024-06-19
1001Argentina2024-06-12
1002India2024-05-30
1003France2024-06-16
1004Italy2024-06-10
1005Spain2024-06-12
1006Spain2024-05-25
1007Spain2024-06-21
1008Italy2024-05-30
1009Australia2024-06-15
1010Argentina2024-05-26
1011Brazil2024-06-13
1012Japan2024-06-11
1013Russia2024-05-27
1014United Kingdom2024-06-07
1015Argentina2024-06-11
1016Italy2024-06-07
1017Japan2024-06-11
1018United Kingdom2024-06-03
1019Brazil2024-05-24
1020Russia2024-06-18
1021France2024-06-22
1022Canada2024-05-25
1023Argentina2024-06-03
1024Italy2024-06-18
1025India2024-06-03
1026Canada2024-05-24
1027Russia2024-06-19
1028Argentina2024-05-31
1029Germany2024-06-14
1030Japan2024-06-13
1031Spain2024-06-08
1032Australia2024-05-25
1033Canada2024-05-24
1034Brazil2024-06-15
1035Australia2024-06-21
1036United Kingdom2024-05-28
1037Spain2024-05-25
1038Germany2024-05-30
1039Brazil2024-06-22
1040Canada2024-06-18
1041Brazil2024-06-13
1042Argentina2024-05-29
1043India2024-06-12
1044Japan2024-06-12
1045Spain2024-05-26
1046Spain2024-06-22
1047Italy2024-06-17
1048Japan2024-05-30
1049Canada2024-06-07

On-Demand Data

NameIdCountryDate
Morrow S Oldroyd1000Italy2024-06-21
Claire H Campain1001Japan2024-06-15
Isabel J Sergi1002India2024-06-21
Maisha U Sergi1003France2024-05-30
Mayumi K Nicka1004Italy2024-05-26
Kadeem L Tollner1005France2024-05-29
Johnson G Garufi1006Australia2024-06-03
Jennifer H Foller1007Russia2024-06-06
Sinclair Q Slusarski1008Spain2024-05-31
Jefferson N Kusko1009France2024-06-18
Kaitlin V Foller1010Japan2024-06-16
Tony W Stockham1011Australia2024-05-27
Nicolas L Marrier1012Australia2024-05-29
Faith L Glick1013Australia2024-06-19
Tony Q Tollner1014Australia2024-06-06
Adams E Malet1015Australia2024-05-29
Juan G Iturbide1016Brazil2024-05-24
Kadeem A Kolmetz1017Italy2024-06-18
Ashley A Glick1018Germany2024-05-26
Francesco K Gaucho1019Spain2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow E ShinkoFranceElwin Sharvill UNQUALIFIED
Johnson U FlosiSpainStephen Shaw UNQUALIFIED
Salvatore U AlbaresItalyStephen Shaw QUALIFIED
Ashley N GillianJapanStephen Shaw NEW
Tony G GillianRussiaOnyama Limba NEW
Chavez K AlbaresUnited KingdomXuxue Feng NEW
Smith L TollnerAustraliaXuxue Feng NEW
Salvatore S DilliardCanadaAmy Elsner NEW
Jennifer U WhobreyIndiaAnna Fali RENEWAL
Mujtaba T GauchoCanadaAsiya Javayant NEW
Clifford I StockhamSpainIoni Bowcher NEW
Alejandro F WhobreyUnited KingdomStephen Shaw NEGOTIATION
Chavez J BowleyGermanyAsiya Javayant PROPOSAL
Jennifer U AlbaresArgentinaXuxue Feng NEW
Stacey P NestleAustraliaXuxue Feng RENEWAL
Kadeem M KolmetzGermanyIvan Magalhaes RENEWAL
Maisha T SlusarskiAustraliaStephen Shaw NEW
Faith K GauchoItalyOnyama Limba NEGOTIATION
Salvatore L GillianSpainAnna Fali NEGOTIATION
Arvin G MorascaBrazilAsiya Javayant PROPOSAL
Antonio K DoeIndiaAmy Elsner PROPOSAL
Jennifer U DarakjyRussiaElwin Sharvill UNQUALIFIED
Silvio R CampainIndiaAmy Elsner RENEWAL
Tony C TollnerJapanOnyama Limba NEW
Munro S VocelkaSpainAnna Fali NEGOTIATION
Rodrigues W MaletIndiaAnna Fali QUALIFIED
Munro Y DilliardSpainAnna Fali NEGOTIATION
Rodrigues V FerenczSpainOnyama Limba UNQUALIFIED
Darci U WieserCanadaAsiya Javayant NEW
Clifford H SlusarskiSpainAmy Elsner QUALIFIED
Francesco D OstroskyUnited KingdomOnyama Limba PROPOSAL
Jennifer I AlbaresJapanAsiya Javayant RENEWAL
Claire F PerinIndiaOnyama Limba UNQUALIFIED
Nicolas B VenereItalyIoni Bowcher NEGOTIATION
Wickens K SergiItalyBernardo Dominic UNQUALIFIED
Johnson W AlbaresJapanXuxue Feng NEW
Silvio G ShinkoJapanStephen Shaw NEW
Wickens S MaletIndiaAsiya Javayant QUALIFIED
Izzy M KolmetzAustraliaAnna Fali RENEWAL
Leon I ButtCanadaBernardo Dominic RENEWAL

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