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
Rodrigues O OstroskyBrazilBernardo Dominic UNQUALIFIED
Jones U FerenczSpainBernardo Dominic RENEWAL
Kaitlin D MacleadCanadaAsiya Javayant NEW
Cody V BologniaItalyAsiya Javayant NEGOTIATION
Rodrigues W KolmetzIndiaStephen Shaw QUALIFIED
Greenwood Q FollerAustraliaBernardo Dominic UNQUALIFIED
Maria E GlickCanadaIvan Magalhaes NEW
Morrow S FigeroaFranceElwin Sharvill NEW
Smith A SaylorsFranceAmy Elsner RENEWAL
Kaitlin Q WieserCanadaAmy Elsner RENEWAL
Jefferson D BologniaSpainAnna Fali NEW
Leja K TollnerBrazilElwin Sharvill PROPOSAL
Jennifer G InouyeRussiaOnyama Limba NEW
Leon I BowleyCanadaIvan Magalhaes NEW
Morrow E NickaGermanyStephen Shaw UNQUALIFIED
Salvatore T BologniaBrazilOnyama Limba PROPOSAL
Wickens C OldroydUnited KingdomIvan Magalhaes QUALIFIED
Adams W OstroskyArgentinaAsiya Javayant PROPOSAL
Kadeem U MarrierFranceIvan Magalhaes PROPOSAL
Cody B KolmetzFranceElwin Sharvill NEW
Antonio D BologniaBrazilAnna Fali NEGOTIATION
Aditya T AlbaresSpainElwin Sharvill NEGOTIATION
Chavez E ShinkoSpainStephen Shaw UNQUALIFIED
Costa C SchemmerJapanAmy Elsner NEW
David S WieserArgentinaAmy Elsner QUALIFIED
Misaki B DilliardSpainBernardo Dominic PROPOSAL
Chavez Y ButtRussiaAsiya Javayant RENEWAL
Kadeem H AlbaresAustraliaAmy Elsner NEGOTIATION
Mayumi J CaudySpainOnyama Limba NEW
Aditya A GlickBrazilOnyama Limba NEGOTIATION
Arvin M OstroskyRussiaAmy Elsner RENEWAL
Stacey F PoquetteRussiaAnna Fali UNQUALIFIED
Jefferson P RulapaughArgentinaAsiya Javayant UNQUALIFIED
Maria F AmigonUnited KingdomElwin Sharvill NEGOTIATION
Nicolas R BriddickUnited KingdomElwin Sharvill NEW
Smith N MacleadGermanyOnyama Limba NEGOTIATION
Misaki E IturbideArgentinaIoni Bowcher UNQUALIFIED
Salvatore A NickaArgentinaAsiya Javayant NEW
Jones S FerenczAustraliaStephen Shaw UNQUALIFIED
Francesco K InouyeItalyIvan Magalhaes NEGOTIATION
Morrow H RutaAustraliaAmy Elsner PROPOSAL
Costa B ShinkoCanadaAnna Fali QUALIFIED
Ashley Y MaletAustraliaIvan Magalhaes NEGOTIATION
Ivar Q OstroskyItalyElwin Sharvill UNQUALIFIED
Leja M FigeroaSpainStephen Shaw NEW
Stacey R SaylorsAustraliaBernardo Dominic UNQUALIFIED
Johnson L RoysterBrazilStephen Shaw UNQUALIFIED
Antonio T BologniaJapanElwin Sharvill RENEWAL
Misaki W MacleadRussiaOnyama Limba QUALIFIED
Cody Q RulapaughIndiaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ashley J BologniaGermanyIvan Magalhaes RENEWAL
James R RutaFranceAnna Fali PROPOSAL
Aika Q DoeItalyStephen Shaw RENEWAL
Stacey L GauchoGermanyIvan Magalhaes QUALIFIED
Chavez Z MorascaJapanElwin Sharvill QUALIFIED
Alejandro R SchemmerGermanyStephen Shaw RENEWAL
Mayumi S WhobreyAustraliaElwin Sharvill NEGOTIATION
Adams E CampainIndiaOnyama Limba QUALIFIED
Costa L ButtRussiaStephen Shaw RENEWAL
Arvin Y VenereJapanIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba F PoquetteIndia2024-06-24Feiner Bros NEW34Bernardo Dominic
1001Julie I MaletUnited Kingdom2024-05-29Chemel, James L Cpa PROPOSAL78Ivan Magalhaes
1002Darci H DarakjyJapan2024-06-05Printing Dimensions NEGOTIATION39Bernardo Dominic
1003Kadeem G SaylorsFrance2024-06-05Chanay, Jeffrey A Esq NEGOTIATION43Ivan Magalhaes
1004Octavia J WieserGermany2024-05-30Rousseaux, Michael Esq NEW55Bernardo Dominic
1005Leon T FerenczGermany2024-05-26Dorl, James J Esq PROPOSAL8Elwin Sharvill
1006Leon U FollerJapan2024-06-21Commercial Press RENEWAL89Ioni Bowcher
1007Sinclair T NestleBrazil2024-06-05Dorl, James J Esq NEW59Ivan Magalhaes
1008Julie W FollerCanada2024-06-09Chanay, Jeffrey A Esq NEW81Ivan Magalhaes
1009Munro Y BriddickAustralia2024-06-13Feiner Bros QUALIFIED17Elwin Sharvill
1010Emily F MaletUnited Kingdom2024-06-02Chanay, Jeffrey A Esq RENEWAL32Bernardo Dominic
1011Leja B GarufiRussia2024-06-02Feltz Printing Service NEGOTIATION21Elwin Sharvill
1012Jeanfrancois F RulapaughSpain2024-05-29Buckley Miller Wright NEGOTIATION37Stephen Shaw
1013Costa Q WhobreyJapan2024-06-01Rousseaux, Michael Esq QUALIFIED24Stephen Shaw
1014Darci X StockhamItaly2024-06-15Dorl, James J Esq RENEWAL14Xuxue Feng
1015Wickens X BriddickBrazil2024-05-27Chapman, Ross E Esq NEW59Xuxue Feng
1016Rodrigues H FerenczUnited Kingdom2024-06-11Chapman, Ross E Esq RENEWAL95Stephen Shaw
1017Faith H BologniaRussia2024-06-01Truhlar And Truhlar Attys UNQUALIFIED6Elwin Sharvill
1018Jeanfrancois Q CaldareraItaly2024-05-29Rousseaux, Michael Esq NEGOTIATION53Ioni Bowcher
1019Mujtaba R DoeCanada2024-06-05King, Christopher A Esq UNQUALIFIED86Xuxue Feng
1020Tony K IturbideJapan2024-05-31Rangoni Of Florence NEGOTIATION26Elwin Sharvill
1021Maria W PaprockiSpain2024-06-01Feltz Printing Service PROPOSAL87Bernardo Dominic
1022Mujtaba D MacleadRussia2024-06-12Printing Dimensions RENEWAL56Elwin Sharvill
1023Arvin K KolmetzItaly2024-05-31Commercial Press UNQUALIFIED84Elwin Sharvill
1024Jones A ButtFrance2024-06-04King, Christopher A Esq QUALIFIED71Anna Fali
1025Jennifer C VocelkaAustralia2024-06-13Truhlar And Truhlar Attys QUALIFIED45Ioni Bowcher
1026Sinclair T CaldareraJapan2024-05-26Rousseaux, Michael Esq NEW70Elwin Sharvill
1027Munro M RoysterUnited Kingdom2024-06-22Buckley Miller Wright QUALIFIED47Ioni Bowcher
1028Costa L DilliardArgentina2024-06-14Rangoni Of Florence QUALIFIED39Ioni Bowcher
1029Jeanfrancois M PoquetteCanada2024-06-18Rangoni Of Florence NEGOTIATION66Onyama Limba
1030Leon I RimIndia2024-06-04Feltz Printing Service RENEWAL43Ioni Bowcher
1031Murillo W FlosiSpain2024-05-26Buckley Miller Wright QUALIFIED59Onyama Limba
1032Mujtaba W SchemmerItaly2024-05-27Dorl, James J Esq QUALIFIED57Stephen Shaw
1033Kadeem R NestleItaly2024-06-06Commercial Press UNQUALIFIED93Asiya Javayant
1034James V SchemmerJapan2024-06-18King, Christopher A Esq NEGOTIATION14Bernardo Dominic
1035Aruna N MarrierItaly2024-06-02Buckley Miller Wright QUALIFIED84Asiya Javayant
1036Adams Z MaletJapan2024-06-17Truhlar And Truhlar Attys QUALIFIED68Anna Fali
1037Izzy Z CaldareraSpain2024-06-10King, Christopher A Esq RENEWAL61Stephen Shaw
1038Costa Q KuskoRussia2024-06-04Chemel, James L Cpa UNQUALIFIED10Elwin Sharvill
1039Murillo P AlbaresCanada2024-05-27Benton, John B Jr PROPOSAL27Amy Elsner
1040Adams M ShinkoFrance2024-05-31Chemel, James L Cpa NEGOTIATION86Stephen Shaw
1041Clifford U DoeAustralia2024-06-02Feltz Printing Service NEW73Stephen Shaw
1042Jennifer K BologniaRussia2024-06-11Feiner Bros RENEWAL84Amy Elsner
1043Izzy R StensethItaly2024-06-24King, Christopher A Esq NEW8Asiya Javayant
1044Adams S MarrierArgentina2024-06-15Morlong Associates UNQUALIFIED65Ioni Bowcher
1045Aika T WieserGermany2024-06-17King, Christopher A Esq NEGOTIATION46Anna Fali
1046Antonio F KolmetzUnited Kingdom2024-06-21King, Christopher A Esq UNQUALIFIED58Asiya Javayant
1047Arvin H BologniaArgentina2024-05-30Morlong Associates RENEWAL33Xuxue Feng
1048Aika V StockhamFrance2024-05-29Truhlar And Truhlar Attys QUALIFIED2Asiya Javayant
1049Antonio J MaletIndia2024-06-14Benton, John B Jr NEGOTIATION32Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Wickens X RulapaughItalyXuxue Feng UNQUALIFIED
Aditya P InouyeJapanOnyama Limba PROPOSAL
Munro G NestleIndiaStephen Shaw UNQUALIFIED
Mujtaba N NestleRussiaBernardo Dominic NEW
Leon R MaletUnited KingdomAnna Fali UNQUALIFIED
Murillo S ChuiCanadaXuxue Feng PROPOSAL
David C TollnerJapanOnyama Limba NEGOTIATION
David S FlosiItalyIvan Magalhaes NEGOTIATION
Francesco I SlusarskiUnited KingdomIoni Bowcher NEGOTIATION
Chavez P OstroskyRussiaAnna Fali NEGOTIATION
Leon N DilliardJapanStephen Shaw NEGOTIATION
Emily F StockhamFranceBernardo Dominic PROPOSAL
Rodrigues Q DarakjyFranceAmy Elsner PROPOSAL
Deepesh C VocelkaArgentinaBernardo Dominic PROPOSAL
Julie P MorascaIndiaXuxue Feng UNQUALIFIED
Munro S BowleyRussiaOnyama Limba QUALIFIED
Darci A DarakjyGermanyXuxue Feng NEW
Mujtaba K GlickCanadaBernardo Dominic NEW
Johnson H CaldareraArgentinaStephen Shaw UNQUALIFIED
Adams T GlickBrazilBernardo Dominic RENEWAL
James Z StensethAustraliaBernardo Dominic NEGOTIATION
Johnson K VenereFranceOnyama Limba NEGOTIATION
Ashley J NickaIndiaAmy Elsner PROPOSAL
Tony J ChuiSpainIvan Magalhaes RENEWAL
Ricardo V BologniaBrazilIoni Bowcher QUALIFIED
Chavez C PerinUnited KingdomBernardo Dominic UNQUALIFIED
Misaki H InouyeItalyAnna Fali UNQUALIFIED
Munro V GlickFranceOnyama Limba RENEWAL
Nicolas Y SlusarskiJapanBernardo Dominic UNQUALIFIED
James V NestleFranceAnna Fali NEW
Juan O StockhamBrazilOnyama Limba NEGOTIATION
Adams U MarrierAustraliaOnyama Limba QUALIFIED
James E VenereUnited KingdomAmy Elsner PROPOSAL
Tony G RimFranceAmy Elsner QUALIFIED
Juan D StensethUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois M DarakjyCanadaAnna Fali UNQUALIFIED
Jones H NickaSpainBernardo Dominic NEW
Salvatore Z RimArgentinaAsiya Javayant NEGOTIATION
Deepesh W CampainItalyIoni Bowcher PROPOSAL
Jeanfrancois A GillianGermanyXuxue Feng QUALIFIED
Rodrigues L NickaIndiaElwin Sharvill NEW
Misaki M WieserBrazilAnna Fali PROPOSAL
Octavia C AlbaresBrazilOnyama Limba UNQUALIFIED
Jones Q SaylorsCanadaAsiya Javayant UNQUALIFIED
David Z SaylorsIndiaIvan Magalhaes QUALIFIED
Tony A DoeArgentinaElwin Sharvill QUALIFIED
Munro T OldroydArgentinaBernardo Dominic PROPOSAL
Morrow U CaldareraItalyAsiya Javayant NEW
Chavez V GlickGermanyBernardo Dominic PROPOSAL
Emily C StensethGermanyIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Munro Q Stockham
Nicolas Q Whobrey
Maria B Glick
Juan U Bowley
Wickens Y Saylors
Johnson C Slusarski
Isabel R Iturbide
Leon H Glick
Smith Q Oldroyd
Kaitlin Z Vocelka
Alejandro Q Gillian
Arvin X Inouye
Izzy G Saylors
Ivar P Vocelka
Deepesh T Briddick
Leon O Maclead
Ivar U Foller
Mayumi I Bowley
Nicolas A Rulapaugh
Arvin G Doe
James S Rim
Jeanfrancois S Poquette
Tony F Tollner
Johnson F Stenseth
Octavia I Inouye
Maisha G Nestle
Juan P Ostrosky
Ricardo C Stenseth
Arvin B Shinko
Emily L Rim
Ashley P Briddick
Leon H Oldroyd
Stacey P Gaucho
Nicolas K Butt
Adams C Wieser
Mayumi U Vocelka
Ricardo C Nicka
Smith C Figeroa
Deepesh K Kolmetz
Jeanfrancois W Dilliard
Isabel L Morasca
Jones P Rim
Rodrigues U Wieser
Leja L Waycott
Claire L Kolmetz
Jennifer R Flosi
Rodrigues O Ruta
Cody T Venere
Arvin Z Iturbide
Munro H Iturbide
IdCountryDate
1000Canada2024-05-27
1001Italy2024-06-20
1002Japan2024-06-03
1003India2024-06-23
1004Spain2024-06-16
1005Australia2024-05-29
1006Italy2024-06-20
1007India2024-06-09
1008Australia2024-06-16
1009Russia2024-06-16
1010Australia2024-06-23
1011Spain2024-06-16
1012Japan2024-06-02
1013Brazil2024-06-13
1014Canada2024-06-14
1015Argentina2024-06-20
1016Brazil2024-06-03
1017France2024-05-26
1018India2024-06-18
1019Russia2024-05-29
1020United Kingdom2024-05-27
1021Italy2024-06-21
1022Australia2024-06-12
1023India2024-06-24
1024Russia2024-06-18
1025Brazil2024-06-09
1026Germany2024-06-13
1027Japan2024-05-31
1028Japan2024-06-24
1029Spain2024-06-11
1030Germany2024-06-18
1031Italy2024-06-11
1032Brazil2024-06-16
1033United Kingdom2024-06-03
1034Brazil2024-05-28
1035Brazil2024-06-18
1036Canada2024-05-31
1037Germany2024-06-15
1038Argentina2024-06-11
1039Australia2024-06-02
1040Russia2024-06-01
1041Brazil2024-05-31
1042Germany2024-06-12
1043Argentina2024-06-24
1044Japan2024-06-24
1045France2024-05-29
1046Russia2024-06-04
1047Japan2024-05-27
1048Canada2024-06-04
1049Spain2024-06-05

On-Demand Data

NameIdCountryDate
Izzy N Slusarski1000Spain2024-05-31
Nicolas U Whobrey1001United Kingdom2024-06-01
Alejandro L Bolognia1002Australia2024-06-04
Juan K Maclead1003Spain2024-06-04
Maria F Nicka1004Japan2024-06-10
Isabel C Whobrey1005Australia2024-06-03
Ricardo H Bowley1006Spain2024-06-14
Johnson C Whobrey1007Russia2024-05-29
Faith E Albares1008India2024-05-31
Emily P Royster1009Australia2024-05-30
James L Rim1010Brazil2024-06-14
Rodrigues R Schemmer1011Germany2024-05-28
Francesco M Inouye1012Australia2024-06-16
Aruna X Paprocki1013Russia2024-06-11
David I Amigon1014India2024-06-08
Mujtaba O Kusko1015Germany2024-05-29
Francesco P Doe1016France2024-06-02
Jennifer Q Stockham1017Argentina2024-06-24
Stacey H Perin1018Argentina2024-06-21
Murillo E Tollner1019Argentina2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan D DilliardIndiaBernardo Dominic UNQUALIFIED
Ashley H RimAustraliaBernardo Dominic QUALIFIED
Arvin T InouyeSpainAmy Elsner NEGOTIATION
David N OstroskyGermanyBernardo Dominic QUALIFIED
Claire Z VocelkaIndiaIvan Magalhaes PROPOSAL
Silvio W GarufiItalyAsiya Javayant QUALIFIED
Aruna J BowleyRussiaXuxue Feng RENEWAL
Kadeem A BowleyArgentinaStephen Shaw NEW
Clifford H MorascaUnited KingdomAmy Elsner UNQUALIFIED
Smith A BriddickFranceIvan Magalhaes NEW
Deepesh S ButtBrazilAmy Elsner UNQUALIFIED
Adams U OstroskyRussiaBernardo Dominic PROPOSAL
Jennifer I ButtUnited KingdomXuxue Feng QUALIFIED
Leja M StensethGermanyXuxue Feng RENEWAL
James K WhobreyArgentinaOnyama Limba NEW
Alejandro C RulapaughIndiaIoni Bowcher PROPOSAL
Murillo N WhobreyUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba H MaletUnited KingdomAmy Elsner PROPOSAL
Mujtaba F VenereCanadaStephen Shaw QUALIFIED
James X CaldareraItalyAnna Fali NEW
Mujtaba D WaycottJapanIvan Magalhaes NEGOTIATION
Ashley F PaprockiCanadaIoni Bowcher PROPOSAL
Greenwood G FerenczGermanyAmy Elsner UNQUALIFIED
Silvio Q RimItalyOnyama Limba UNQUALIFIED
Rodrigues J BriddickItalyBernardo Dominic PROPOSAL
Rodrigues K KuskoRussiaOnyama Limba QUALIFIED
Greenwood F KolmetzItalyAmy Elsner PROPOSAL
Maisha T MarrierFranceIoni Bowcher PROPOSAL
Greenwood F RimAustraliaElwin Sharvill PROPOSAL
Morrow Z FerenczSpainAnna Fali UNQUALIFIED
Costa U PerinAustraliaElwin Sharvill PROPOSAL
Ivar I AlbaresArgentinaAnna Fali NEW
Jennifer D NickaAustraliaAsiya Javayant QUALIFIED
Clifford V InouyeRussiaAnna Fali UNQUALIFIED
Jeanfrancois D VocelkaGermanyOnyama Limba QUALIFIED
Adams H FlosiBrazilAnna Fali UNQUALIFIED
Kaitlin A SaylorsFranceAnna Fali UNQUALIFIED
Francesco M VocelkaRussiaElwin Sharvill QUALIFIED
Antonio V KolmetzAustraliaOnyama Limba QUALIFIED
Aditya A SchemmerItalyAmy Elsner 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>