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
Morrow B BriddickSpainOnyama Limba PROPOSAL
Leja G DilliardArgentinaOnyama Limba RENEWAL
Alejandro M MarrierAustraliaAnna Fali NEW
Antonio B PerinArgentinaAnna Fali NEW
Julie J GlickUnited KingdomXuxue Feng UNQUALIFIED
Murillo W SaylorsArgentinaStephen Shaw UNQUALIFIED
Wickens J MaletFranceXuxue Feng RENEWAL
Jefferson I FerenczJapanIvan Magalhaes RENEWAL
Julie R FerenczArgentinaIoni Bowcher RENEWAL
Izzy Y ChuiBrazilIvan Magalhaes UNQUALIFIED
Aika D FerenczUnited KingdomOnyama Limba RENEWAL
Greenwood A MacleadAustraliaAnna Fali RENEWAL
Munro Y FlosiAustraliaBernardo Dominic RENEWAL
Darci K RoysterRussiaIoni Bowcher UNQUALIFIED
Emily V CaldareraRussiaXuxue Feng PROPOSAL
Salvatore H GillianJapanAsiya Javayant PROPOSAL
Wickens M FollerAustraliaIvan Magalhaes PROPOSAL
Jones G DoeBrazilOnyama Limba QUALIFIED
Jones T CaudyRussiaXuxue Feng PROPOSAL
Johnson Y DilliardArgentinaXuxue Feng PROPOSAL
Sinclair S RoysterItalyAsiya Javayant QUALIFIED
Leon P ChuiSpainAmy Elsner QUALIFIED
James I BriddickBrazilAnna Fali RENEWAL
Jeanfrancois V KuskoGermanyBernardo Dominic QUALIFIED
Mayumi Q MaletAustraliaXuxue Feng QUALIFIED
Aika X RoysterRussiaStephen Shaw UNQUALIFIED
Claire Y PerinFranceBernardo Dominic PROPOSAL
Sinclair O BologniaItalyElwin Sharvill UNQUALIFIED
Aruna N CaudySpainStephen Shaw RENEWAL
Kadeem N GillianRussiaXuxue Feng NEGOTIATION
Julie Y RutaJapanAmy Elsner QUALIFIED
Maisha O SaylorsRussiaAmy Elsner RENEWAL
Jefferson N CaudyFranceAnna Fali UNQUALIFIED
Nicolas V OstroskyArgentinaAnna Fali NEGOTIATION
Adams Z WhobreyArgentinaElwin Sharvill PROPOSAL
Johnson K RimAustraliaAsiya Javayant NEGOTIATION
Smith E MaletArgentinaIvan Magalhaes PROPOSAL
James Q GillianAustraliaAnna Fali PROPOSAL
Chavez E FollerBrazilElwin Sharvill NEW
Misaki T SergiBrazilIoni Bowcher QUALIFIED
Ashley P MacleadSpainOnyama Limba NEGOTIATION
Rodrigues C BriddickSpainXuxue Feng UNQUALIFIED
Maria S ChuiIndiaIoni Bowcher QUALIFIED
Sinclair D SlusarskiAustraliaBernardo Dominic PROPOSAL
Adams Z WaycottSpainXuxue Feng NEGOTIATION
Antonio R GillianJapanIoni Bowcher PROPOSAL
Jeanfrancois K StockhamUnited KingdomAsiya Javayant PROPOSAL
Deepesh M DilliardJapanOnyama Limba QUALIFIED
Costa Y CampainGermanyAsiya Javayant RENEWAL
Munro I FlosiAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin H SergiJapanIvan Magalhaes QUALIFIED
Jeanfrancois N GlickUnited KingdomBernardo Dominic UNQUALIFIED
Aditya D RoysterAustraliaElwin Sharvill NEGOTIATION
Aditya Z ShinkoAustraliaAsiya Javayant UNQUALIFIED
Tony R KuskoBrazilOnyama Limba UNQUALIFIED
Morrow Q StockhamRussiaXuxue Feng NEGOTIATION
Wickens U GarufiIndiaIoni Bowcher QUALIFIED
Ashley H DoeUnited KingdomAmy Elsner NEGOTIATION
Jeanfrancois P OstroskyIndiaXuxue Feng NEW
Misaki Q StockhamSpainStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow H InouyeGermany2024-05-23Chapman, Ross E Esq PROPOSAL94Ivan Magalhaes
1001Smith G PoquetteSpain2024-06-10Chapman, Ross E Esq NEGOTIATION40Asiya Javayant
1002Izzy I MorascaGermany2024-06-19Dorl, James J Esq RENEWAL54Elwin Sharvill
1003Antonio I ButtGermany2024-06-16Printing Dimensions UNQUALIFIED47Bernardo Dominic
1004Ashley P SlusarskiUnited Kingdom2024-06-06Buckley Miller Wright NEGOTIATION76Ivan Magalhaes
1005Wickens O MaletAustralia2024-05-23Rangoni Of Florence UNQUALIFIED27Onyama Limba
1006Clifford V MaletUnited Kingdom2024-06-07Commercial Press QUALIFIED4Asiya Javayant
1007Johnson Y SergiUnited Kingdom2024-06-12Morlong Associates PROPOSAL76Onyama Limba
1008Costa V OldroydSpain2024-05-23Dorl, James J Esq UNQUALIFIED29Asiya Javayant
1009Salvatore P CaudyFrance2024-06-15Chemel, James L Cpa RENEWAL80Stephen Shaw
1010Chavez V GillianUnited Kingdom2024-06-11Morlong Associates UNQUALIFIED20Elwin Sharvill
1011Alejandro X ShinkoAustralia2024-06-03Chapman, Ross E Esq NEGOTIATION78Ioni Bowcher
1012Chavez Y RoysterFrance2024-06-21Feltz Printing Service NEW77Onyama Limba
1013Ivar Z TollnerFrance2024-06-03King, Christopher A Esq UNQUALIFIED73Elwin Sharvill
1014Arvin S SchemmerAustralia2024-05-26Printing Dimensions RENEWAL48Ivan Magalhaes
1015Munro S IturbideAustralia2024-06-21Chemel, James L Cpa NEGOTIATION16Stephen Shaw
1016Jeanfrancois X NickaJapan2024-05-31Chemel, James L Cpa UNQUALIFIED97Bernardo Dominic
1017Leja T DarakjyItaly2024-06-09Chapman, Ross E Esq NEGOTIATION91Anna Fali
1018Faith X SaylorsFrance2024-06-04Rousseaux, Michael Esq NEGOTIATION50Bernardo Dominic
1019Murillo C AmigonItaly2024-05-29Commercial Press NEW82Stephen Shaw
1020Adams Y StockhamItaly2024-05-30Printing Dimensions QUALIFIED20Asiya Javayant
1021Arvin V FigeroaAustralia2024-05-27Truhlar And Truhlar Attys PROPOSAL99Elwin Sharvill
1022James P SergiSpain2024-06-01Chanay, Jeffrey A Esq NEGOTIATION75Amy Elsner
1023Arvin S PoquetteIndia2024-06-20Benton, John B Jr PROPOSAL68Xuxue Feng
1024Ricardo K CaldareraFrance2024-06-12Rangoni Of Florence NEGOTIATION82Asiya Javayant
1025Kaitlin G ChuiRussia2024-05-30Dorl, James J Esq QUALIFIED50Xuxue Feng
1026Tony G IturbideFrance2024-06-19Morlong Associates QUALIFIED49Amy Elsner
1027Adams F WieserItaly2024-06-18Chemel, James L Cpa PROPOSAL8Bernardo Dominic
1028Chavez B BowleyGermany2024-06-02King, Christopher A Esq NEW78Asiya Javayant
1029Tony S SaylorsFrance2024-06-01Buckley Miller Wright QUALIFIED76Elwin Sharvill
1030Ivar A NestleIndia2024-05-27Rousseaux, Michael Esq NEGOTIATION81Ioni Bowcher
1031Mujtaba Q OstroskyUnited Kingdom2024-05-26Truhlar And Truhlar Attys NEW54Ioni Bowcher
1032Leon M CaudyAustralia2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED91Elwin Sharvill
1033Maria U MaletAustralia2024-05-30Dorl, James J Esq PROPOSAL23Anna Fali
1034Mayumi I SchemmerSpain2024-06-21Chapman, Ross E Esq UNQUALIFIED90Bernardo Dominic
1035Jones C RoysterRussia2024-06-15Printing Dimensions QUALIFIED91Xuxue Feng
1036Ivar T InouyeIndia2024-06-09Benton, John B Jr NEW63Ivan Magalhaes
1037Maria P KolmetzArgentina2024-06-20Rousseaux, Michael Esq UNQUALIFIED71Xuxue Feng
1038Jeanfrancois X RulapaughBrazil2024-06-02Feiner Bros RENEWAL42Ioni Bowcher
1039Deepesh Y OstroskyIndia2024-06-06King, Christopher A Esq UNQUALIFIED48Anna Fali
1040Aika H RulapaughSpain2024-06-01Buckley Miller Wright RENEWAL87Stephen Shaw
1041Kadeem H FerenczFrance2024-05-28Chanay, Jeffrey A Esq QUALIFIED9Xuxue Feng
1042Tony B DarakjyJapan2024-06-04Feiner Bros RENEWAL69Ivan Magalhaes
1043Adams L WaycottSpain2024-06-16Commercial Press PROPOSAL9Bernardo Dominic
1044Rodrigues C KolmetzBrazil2024-05-26Chapman, Ross E Esq NEGOTIATION88Bernardo Dominic
1045Silvio C BriddickIndia2024-06-08Feltz Printing Service PROPOSAL45Xuxue Feng
1046Maisha F MacleadCanada2024-05-30King, Christopher A Esq NEW44Stephen Shaw
1047Alejandro G FigeroaCanada2024-06-21Chapman, Ross E Esq NEGOTIATION30Xuxue Feng
1048Izzy Y PerinAustralia2024-05-28Chanay, Jeffrey A Esq RENEWAL21Elwin Sharvill
1049Wickens T VenereArgentina2024-05-24Rousseaux, Michael Esq RENEWAL88Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Arvin W CaudyGermanyAmy Elsner UNQUALIFIED
Chavez V RulapaughArgentinaBernardo Dominic QUALIFIED
Morrow R SergiRussiaIoni Bowcher UNQUALIFIED
Nicolas B CaldareraFranceAnna Fali NEW
Leja D WhobreyRussiaAsiya Javayant PROPOSAL
Cody T BowleyItalyIoni Bowcher QUALIFIED
Salvatore B StensethArgentinaOnyama Limba UNQUALIFIED
Izzy I StockhamBrazilElwin Sharvill NEGOTIATION
Leon O RutaFranceAmy Elsner NEGOTIATION
Deepesh S MacleadCanadaAmy Elsner NEGOTIATION
Misaki D BowleyArgentinaAnna Fali PROPOSAL
Jeanfrancois J CaudyBrazilIvan Magalhaes PROPOSAL
Munro A PerinJapanIoni Bowcher PROPOSAL
Emily X ShinkoItalyIoni Bowcher RENEWAL
Johnson E RulapaughRussiaXuxue Feng PROPOSAL
Silvio T SaylorsIndiaElwin Sharvill UNQUALIFIED
Smith A DoeUnited KingdomElwin Sharvill NEW
Ashley Z MaletGermanyXuxue Feng PROPOSAL
Tony H TollnerFranceXuxue Feng PROPOSAL
Ricardo P WaycottJapanIoni Bowcher UNQUALIFIED
Francesco O CaudyGermanyAmy Elsner NEW
Jefferson W KuskoSpainXuxue Feng PROPOSAL
Antonio V RimJapanAnna Fali RENEWAL
Munro P RutaRussiaElwin Sharvill NEGOTIATION
Arvin I PerinCanadaIoni Bowcher PROPOSAL
Stacey F WieserIndiaAmy Elsner NEGOTIATION
Kadeem M RoysterItalyIvan Magalhaes NEGOTIATION
Faith K WaycottBrazilElwin Sharvill QUALIFIED
Rodrigues L BologniaBrazilAnna Fali NEGOTIATION
Alejandro Q GarufiAustraliaIoni Bowcher RENEWAL
Costa N FollerGermanyIoni Bowcher NEGOTIATION
Mujtaba A RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Aditya R NickaCanadaXuxue Feng PROPOSAL
Adams N GauchoSpainOnyama Limba RENEWAL
Ivar N TollnerUnited KingdomXuxue Feng NEW
Salvatore H SaylorsSpainElwin Sharvill RENEWAL
Rodrigues I OstroskyItalyXuxue Feng NEW
Jennifer T OldroydAustraliaStephen Shaw UNQUALIFIED
Salvatore R AlbaresJapanAsiya Javayant PROPOSAL
Wickens W SchemmerArgentinaBernardo Dominic NEW
James S CampainFranceIoni Bowcher NEW
Johnson A VenereItalyElwin Sharvill NEW
Johnson H CampainRussiaIoni Bowcher UNQUALIFIED
Greenwood H DarakjyItalyIoni Bowcher NEW
Cody J IturbideBrazilXuxue Feng UNQUALIFIED
Costa T CaldareraAustraliaBernardo Dominic NEW
Kaitlin C ChuiIndiaElwin Sharvill PROPOSAL
Jeanfrancois W RulapaughSpainAsiya Javayant NEGOTIATION
Leon N RutaSpainElwin Sharvill RENEWAL
Mayumi X IturbideFranceAmy Elsner UNQUALIFIED
Frozen Columns
Name
Alejandro F Royster
Claire T Oldroyd
Aditya W Ruta
Tony Y Foller
Sinclair V Rulapaugh
Antonio C Gaucho
Isabel B Malet
Chavez B Campain
Faith G Poquette
Antonio F Rim
Jefferson U Garufi
Aika O Marrier
Greenwood Y Whobrey
Cody Z Whobrey
Jefferson K Foller
Munro K Bowley
Juan X Glick
Johnson J Nestle
Wickens D Campain
Aditya M Nestle
Silvio E Garufi
Chavez L Darakjy
Aika P Butt
Stacey C Stockham
Jennifer E Doe
Tony R Ruta
David N Doe
Deepesh X Iturbide
David G Foller
Jones C Rim
Aruna C Briddick
Aruna T Rim
Deepesh M Morasca
Leon J Slusarski
Adams J Stockham
Jefferson Z Nestle
Ivar M Stenseth
Mayumi D Morasca
Aditya J Figeroa
David H Doe
Alejandro M Maclead
Johnson D Tollner
Smith H Venere
Jefferson Z Albares
Deepesh F Garufi
Ricardo J Maclead
Johnson I Wieser
Jeanfrancois Z Morasca
Sinclair O Chui
Johnson L Ruta
IdCountryDate
1000India2024-06-06
1001Italy2024-06-17
1002United Kingdom2024-05-29
1003France2024-06-20
1004Australia2024-06-18
1005Germany2024-06-19
1006Italy2024-06-07
1007Australia2024-05-26
1008India2024-05-28
1009Germany2024-06-11
1010Spain2024-06-20
1011Germany2024-06-06
1012India2024-06-16
1013India2024-06-01
1014United Kingdom2024-06-07
1015France2024-06-10
1016Australia2024-06-03
1017Australia2024-06-04
1018Spain2024-06-11
1019Brazil2024-06-09
1020Canada2024-06-21
1021Japan2024-06-12
1022Japan2024-06-12
1023United Kingdom2024-06-11
1024Argentina2024-05-29
1025Japan2024-06-09
1026France2024-06-14
1027France2024-06-04
1028United Kingdom2024-06-06
1029India2024-06-10
1030Spain2024-06-05
1031France2024-05-27
1032Spain2024-06-05
1033Argentina2024-06-20
1034France2024-06-15
1035India2024-05-29
1036Russia2024-06-18
1037Italy2024-05-30
1038Germany2024-06-03
1039Japan2024-05-27
1040Spain2024-06-05
1041Russia2024-06-19
1042United Kingdom2024-05-28
1043Japan2024-06-10
1044France2024-06-16
1045Italy2024-06-02
1046Italy2024-05-27
1047Germany2024-06-17
1048Argentina2024-06-14
1049United Kingdom2024-06-12

On-Demand Data

NameIdCountryDate
Jennifer S Garufi1000Spain2024-05-23
Leon D Ostrosky1001United Kingdom2024-05-24
Jeanfrancois F Ferencz1002France2024-05-31
Claire L Nestle1003Russia2024-06-19
Jones H Venere1004Japan2024-05-31
Clifford C Stenseth1005France2024-06-17
Stacey I Kusko1006Spain2024-06-18
Johnson F Whobrey1007Italy2024-05-29
Munro B Poquette1008Argentina2024-05-23
Claire E Slusarski1009Argentina2024-06-03
Nicolas M Vocelka1010France2024-05-24
David O Caldarera1011Japan2024-06-19
Stacey L Marrier1012France2024-06-15
Jones V Oldroyd1013Germany2024-06-12
Jefferson T Inouye1014Germany2024-05-29
Leja W Darakjy1015United Kingdom2024-06-04
Morrow N Iturbide1016Russia2024-06-11
Kaitlin X Saylors1017Canada2024-05-26
Jeanfrancois X Shinko1018Japan2024-06-08
Rodrigues E Poquette1019Australia2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika J SergiIndiaElwin Sharvill PROPOSAL
Kadeem P MaletUnited KingdomIvan Magalhaes NEGOTIATION
Silvio L GillianAustraliaStephen Shaw NEW
Alejandro H NestleJapanIoni Bowcher RENEWAL
Kadeem E DoeIndiaStephen Shaw NEGOTIATION
Murillo W GlickBrazilAsiya Javayant NEGOTIATION
Darci F FlosiRussiaAnna Fali PROPOSAL
Costa G SaylorsUnited KingdomAnna Fali UNQUALIFIED
Tony K StockhamCanadaIvan Magalhaes RENEWAL
Salvatore D PaprockiUnited KingdomOnyama Limba NEW
Smith D ButtItalyOnyama Limba RENEWAL
Johnson Y AmigonSpainXuxue Feng NEW
Julie F FlosiFranceAmy Elsner NEW
Johnson L WaycottFranceBernardo Dominic NEGOTIATION
Clifford B ShinkoItalyIoni Bowcher UNQUALIFIED
Kaitlin B BowleyCanadaIoni Bowcher NEGOTIATION
David D SaylorsRussiaIvan Magalhaes QUALIFIED
Morrow F AlbaresJapanOnyama Limba QUALIFIED
Stacey W VocelkaSpainStephen Shaw QUALIFIED
Aika O ButtRussiaXuxue Feng QUALIFIED
Wickens Q ButtIndiaIvan Magalhaes NEW
Maisha B VenereAustraliaBernardo Dominic NEW
James R RoysterIndiaOnyama Limba NEW
Alejandro W BriddickCanadaAnna Fali UNQUALIFIED
Arvin W IturbideGermanyStephen Shaw NEGOTIATION
Claire P MacleadGermanyAmy Elsner UNQUALIFIED
Aika V MaletAustraliaAsiya Javayant UNQUALIFIED
Johnson I InouyeGermanyIoni Bowcher QUALIFIED
Salvatore G StockhamCanadaIoni Bowcher QUALIFIED
Jones A KuskoFranceOnyama Limba QUALIFIED
Faith S GarufiArgentinaXuxue Feng NEW
Nicolas C KolmetzRussiaAmy Elsner NEW
Silvio S SlusarskiBrazilBernardo Dominic QUALIFIED
Murillo S RulapaughAustraliaStephen Shaw UNQUALIFIED
Murillo X NestleCanadaIvan Magalhaes NEGOTIATION
Ricardo T CaudyAustraliaStephen Shaw UNQUALIFIED
Aditya M GillianArgentinaOnyama Limba NEGOTIATION
Costa U DilliardCanadaAsiya Javayant RENEWAL
Deepesh G GarufiCanadaAmy Elsner QUALIFIED
Silvio K WieserSpainStephen Shaw UNQUALIFIED

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