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
Stacey Z VenereRussiaIvan Magalhaes UNQUALIFIED
Adams W BriddickJapanAsiya Javayant PROPOSAL
Stacey D RimSpainXuxue Feng UNQUALIFIED
Deepesh U NestleCanadaAmy Elsner UNQUALIFIED
Clifford J RoysterSpainStephen Shaw UNQUALIFIED
Alejandro T StensethCanadaStephen Shaw RENEWAL
Greenwood T GauchoCanadaXuxue Feng NEGOTIATION
Aika V RimRussiaElwin Sharvill PROPOSAL
Ivar S VenereArgentinaStephen Shaw PROPOSAL
Smith K BologniaSpainIvan Magalhaes UNQUALIFIED
Johnson S DoeArgentinaIoni Bowcher UNQUALIFIED
Isabel O NestleIndiaAnna Fali QUALIFIED
Jones K GlickJapanOnyama Limba NEGOTIATION
Johnson W MaletIndiaAnna Fali NEGOTIATION
Aika J TollnerBrazilXuxue Feng UNQUALIFIED
Juan G RutaRussiaXuxue Feng UNQUALIFIED
Juan Z CaldareraArgentinaAnna Fali UNQUALIFIED
Adams I MarrierAustraliaAnna Fali PROPOSAL
Ricardo R BriddickJapanXuxue Feng QUALIFIED
Aditya K CaldareraUnited KingdomElwin Sharvill NEW
Francesco B MaletUnited KingdomElwin Sharvill NEGOTIATION
Octavia U MorascaJapanIvan Magalhaes RENEWAL
Aika J DoeBrazilElwin Sharvill QUALIFIED
Deepesh R AlbaresBrazilXuxue Feng QUALIFIED
Jones Q SchemmerJapanAsiya Javayant PROPOSAL
Antonio H ButtCanadaAmy Elsner UNQUALIFIED
Octavia M StockhamJapanIvan Magalhaes RENEWAL
Cody P FlosiGermanyStephen Shaw UNQUALIFIED
Jefferson S MorascaIndiaElwin Sharvill NEGOTIATION
Jefferson A WieserSpainBernardo Dominic UNQUALIFIED
Aditya F BowleyArgentinaStephen Shaw PROPOSAL
Mujtaba K MaletJapanOnyama Limba UNQUALIFIED
Emily M KuskoCanadaIvan Magalhaes NEGOTIATION
Darci S WhobreyGermanyStephen Shaw PROPOSAL
Chavez F PerinFranceBernardo Dominic NEW
Mujtaba I OstroskyAustraliaAnna Fali NEW
Misaki H OldroydArgentinaIvan Magalhaes NEW
Darci J GillianFranceXuxue Feng QUALIFIED
Mujtaba J CaudyJapanElwin Sharvill NEW
Mujtaba A SergiRussiaAsiya Javayant RENEWAL
Mayumi Q RoysterGermanyStephen Shaw NEW
Julie Q TollnerArgentinaStephen Shaw NEGOTIATION
Salvatore Q SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Misaki C MacleadItalyStephen Shaw RENEWAL
Jeanfrancois O AlbaresItalyElwin Sharvill PROPOSAL
Ivar Q MarrierCanadaBernardo Dominic NEW
David H BowleyRussiaElwin Sharvill PROPOSAL
Stacey C RoysterAustraliaAmy Elsner NEW
Faith J RulapaughFranceBernardo Dominic RENEWAL
Octavia M MaletAustraliaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Leja K MacleadSpainIvan Magalhaes RENEWAL
Mayumi R KuskoUnited KingdomBernardo Dominic NEGOTIATION
Alejandro I InouyeFranceBernardo Dominic RENEWAL
Aditya Z BowleyRussiaElwin Sharvill RENEWAL
Tony N ChuiSpainIoni Bowcher NEW
Kaitlin T AmigonSpainStephen Shaw QUALIFIED
Arvin B MarrierAustraliaIoni Bowcher RENEWAL
James Z FerenczBrazilStephen Shaw PROPOSAL
Octavia M PoquetteSpainIoni Bowcher NEGOTIATION
Kadeem B BowleyGermanyOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair T WaycottFrance2025-04-24Printing Dimensions PROPOSAL87Ioni Bowcher
1001Munro M KolmetzArgentina2025-04-13Truhlar And Truhlar Attys QUALIFIED71Ivan Magalhaes
1002Clifford J DarakjySpain2025-04-05Chemel, James L Cpa PROPOSAL88Bernardo Dominic
1003Mujtaba X CaudyRussia2025-04-18Chapman, Ross E Esq QUALIFIED31Ioni Bowcher
1004Silvio T GarufiCanada2025-04-19Rousseaux, Michael Esq NEW38Amy Elsner
1005Isabel V RimCanada2025-04-03Rousseaux, Michael Esq NEW39Onyama Limba
1006Jefferson S BriddickRussia2025-04-19Rousseaux, Michael Esq UNQUALIFIED3Asiya Javayant
1007Munro V AlbaresJapan2025-04-25King, Christopher A Esq UNQUALIFIED6Ioni Bowcher
1008Jennifer B DoeArgentina2025-04-10Truhlar And Truhlar Attys UNQUALIFIED47Xuxue Feng
1009Smith D RutaUnited Kingdom2025-04-14Chapman, Ross E Esq QUALIFIED87Xuxue Feng
1010Ashley N MaletItaly2025-04-21Buckley Miller Wright QUALIFIED84Stephen Shaw
1011Greenwood W StensethGermany2025-03-31Chapman, Ross E Esq PROPOSAL38Asiya Javayant
1012Smith F KolmetzIndia2025-04-26Morlong Associates UNQUALIFIED62Bernardo Dominic
1013Ashley Q ShinkoFrance2025-04-27Buckley Miller Wright PROPOSAL32Onyama Limba
1014Cody Y VenereRussia2025-04-02Chapman, Ross E Esq UNQUALIFIED58Bernardo Dominic
1015Adams B InouyeUnited Kingdom2025-04-19Benton, John B Jr QUALIFIED64Elwin Sharvill
1016Smith Q WieserItaly2025-04-01Printing Dimensions RENEWAL6Ioni Bowcher
1017Leon A VenereSpain2025-04-08Chapman, Ross E Esq UNQUALIFIED71Ivan Magalhaes
1018Morrow P ButtUnited Kingdom2025-04-03Feiner Bros PROPOSAL94Onyama Limba
1019Costa R MaletBrazil2025-04-22King, Christopher A Esq QUALIFIED28Stephen Shaw
1020Faith K PerinItaly2025-04-15Chapman, Ross E Esq NEGOTIATION52Xuxue Feng
1021Aruna D SaylorsUnited Kingdom2025-04-08Morlong Associates NEGOTIATION23Amy Elsner
1022Kadeem A RutaGermany2025-04-14Commercial Press RENEWAL49Stephen Shaw
1023Tony C SlusarskiGermany2025-04-17Chapman, Ross E Esq PROPOSAL49Stephen Shaw
1024Isabel X KuskoGermany2025-04-06Chemel, James L Cpa PROPOSAL85Asiya Javayant
1025Aruna V GarufiFrance2025-03-31Printing Dimensions NEGOTIATION91Ioni Bowcher
1026Izzy D ShinkoAustralia2025-04-20Benton, John B Jr UNQUALIFIED47Onyama Limba
1027Clifford U GarufiBrazil2025-04-23Chanay, Jeffrey A Esq NEW21Stephen Shaw
1028Silvio Z GauchoUnited Kingdom2025-04-25Feiner Bros RENEWAL63Asiya Javayant
1029Murillo E OldroydGermany2025-04-06King, Christopher A Esq NEGOTIATION56Stephen Shaw
1030Maria V RulapaughCanada2025-04-29King, Christopher A Esq PROPOSAL4Bernardo Dominic
1031Emily Y GauchoItaly2025-04-07Feltz Printing Service PROPOSAL19Ioni Bowcher
1032Octavia T MaletUnited Kingdom2025-04-05Feltz Printing Service QUALIFIED2Stephen Shaw
1033Jones X RulapaughSpain2025-04-29Dorl, James J Esq PROPOSAL28Stephen Shaw
1034Jones V WieserJapan2025-04-03Rousseaux, Michael Esq UNQUALIFIED28Ioni Bowcher
1035Faith Q FerenczSpain2025-04-23Benton, John B Jr RENEWAL60Anna Fali
1036Rodrigues E StensethArgentina2025-04-17Printing Dimensions PROPOSAL93Ivan Magalhaes
1037Johnson P SergiArgentina2025-04-22Chemel, James L Cpa UNQUALIFIED79Elwin Sharvill
1038Misaki N VenereArgentina2025-04-18Benton, John B Jr NEGOTIATION29Ioni Bowcher
1039James Z SergiGermany2025-04-17Feiner Bros NEW82Stephen Shaw
1040Mujtaba H GauchoBrazil2025-04-24Commercial Press UNQUALIFIED98Bernardo Dominic
1041Jefferson L FlosiArgentina2025-04-04Rousseaux, Michael Esq PROPOSAL31Elwin Sharvill
1042Mujtaba B KolmetzUnited Kingdom2025-04-08Truhlar And Truhlar Attys PROPOSAL67Ioni Bowcher
1043Arvin N GarufiGermany2025-04-20Feltz Printing Service NEGOTIATION80Asiya Javayant
1044Leja J VenereSpain2025-04-28Chanay, Jeffrey A Esq PROPOSAL55Ioni Bowcher
1045Greenwood G PaprockiFrance2025-04-28Morlong Associates NEGOTIATION84Asiya Javayant
1046Faith V MarrierAustralia2025-04-01Commercial Press RENEWAL85Elwin Sharvill
1047James G AlbaresBrazil2025-04-18Benton, John B Jr UNQUALIFIED50Amy Elsner
1048Faith Y TollnerItaly2025-04-22King, Christopher A Esq PROPOSAL52Ioni Bowcher
1049Maisha Y NickaItaly2025-04-19Rangoni Of Florence QUALIFIED78Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Munro C OstroskyItalyBernardo Dominic QUALIFIED
Mujtaba K GillianAustraliaIoni Bowcher QUALIFIED
Silvio J InouyeIndiaOnyama Limba QUALIFIED
Maisha G IturbideBrazilXuxue Feng NEW
Nicolas Y PerinIndiaAnna Fali UNQUALIFIED
Murillo Q ShinkoArgentinaStephen Shaw PROPOSAL
Tony I KuskoCanadaXuxue Feng PROPOSAL
Leja C ShinkoArgentinaOnyama Limba NEGOTIATION
Claire L AmigonSpainOnyama Limba QUALIFIED
Mayumi F NestleArgentinaElwin Sharvill UNQUALIFIED
Faith D ShinkoArgentinaStephen Shaw NEW
Kaitlin V BologniaItalyBernardo Dominic RENEWAL
Emily M FerenczAustraliaIvan Magalhaes QUALIFIED
Leja J SaylorsItalyStephen Shaw RENEWAL
Salvatore R AlbaresItalyElwin Sharvill RENEWAL
Antonio T MarrierArgentinaOnyama Limba RENEWAL
Nicolas S SchemmerItalyAnna Fali QUALIFIED
Antonio U VocelkaIndiaXuxue Feng RENEWAL
Stacey N KuskoIndiaAsiya Javayant QUALIFIED
Tony Z FerenczCanadaIvan Magalhaes NEW
Misaki G BologniaJapanIoni Bowcher QUALIFIED
Adams I WaycottArgentinaBernardo Dominic PROPOSAL
Antonio G ShinkoIndiaAmy Elsner RENEWAL
Aditya S NestleArgentinaIvan Magalhaes RENEWAL
Faith U StockhamAustraliaElwin Sharvill QUALIFIED
Faith R TollnerCanadaStephen Shaw RENEWAL
Sinclair N VenereArgentinaElwin Sharvill UNQUALIFIED
James I VocelkaIndiaElwin Sharvill UNQUALIFIED
Faith W BowleyArgentinaXuxue Feng RENEWAL
Adams M DoeJapanBernardo Dominic QUALIFIED
Aditya S MorascaUnited KingdomIoni Bowcher NEGOTIATION
Stacey G MaletItalyBernardo Dominic PROPOSAL
Francesco V AmigonItalyElwin Sharvill UNQUALIFIED
Maisha P GlickFranceAsiya Javayant PROPOSAL
Leja L DarakjySpainStephen Shaw PROPOSAL
Johnson D GlickAustraliaElwin Sharvill UNQUALIFIED
Misaki C RulapaughRussiaIoni Bowcher RENEWAL
Misaki V GillianCanadaBernardo Dominic QUALIFIED
Claire R RimCanadaAmy Elsner QUALIFIED
Adams Q FollerAustraliaAsiya Javayant NEGOTIATION
Francesco I BologniaBrazilXuxue Feng NEW
Faith Q ShinkoSpainIoni Bowcher NEW
Stacey A BologniaRussiaBernardo Dominic NEW
David J GarufiJapanOnyama Limba PROPOSAL
Misaki R FigeroaJapanIoni Bowcher NEW
Rodrigues P SaylorsIndiaAnna Fali NEGOTIATION
Francesco V VenereGermanyOnyama Limba RENEWAL
Adams R DoeJapanAnna Fali NEW
Munro I CaudyItalyBernardo Dominic UNQUALIFIED
Jefferson X WieserUnited KingdomAnna Fali NEGOTIATION
Frozen Columns
Name
Misaki N Vocelka
Jones R Saylors
Smith Y Kolmetz
Salvatore U Inouye
Jefferson U Garufi
Jones N Bowley
Sinclair Q Caudy
Julie O Malet
Francesco G Tollner
Greenwood T Venere
Juan U Vocelka
Ivar I Inouye
Ricardo Z Doe
Silvio K Perin
Cody Q Gaucho
Juan A Caldarera
Stacey S Poquette
Ashley W Sergi
David A Ostrosky
Arvin S Dilliard
Faith A Vocelka
Murillo U Paprocki
Rodrigues A Nestle
Jefferson E Flosi
Adams X Sergi
Murillo T Ruta
Smith C Malet
Nicolas U Inouye
Tony V Inouye
Maisha P Doe
Julie F Kolmetz
Stacey M Flosi
Kaitlin J Caudy
Ivar R Nestle
Octavia B Flosi
Ivar F Royster
Jones L Vocelka
Deepesh S Gillian
Mayumi Z Paprocki
Sinclair L Ostrosky
James H Chui
Greenwood W Ruta
David W Perin
Izzy B Malet
Jefferson F Saylors
Isabel X Shinko
Aruna O Marrier
Deepesh V Briddick
Kaitlin Y Kolmetz
Stacey O Kusko
IdCountryDate
1000India2025-04-20
1001Japan2025-04-09
1002France2025-04-13
1003France2025-04-01
1004France2025-04-11
1005India2025-04-13
1006Russia2025-04-09
1007Canada2025-04-01
1008United Kingdom2025-04-21
1009Australia2025-04-13
1010Brazil2025-04-07
1011Canada2025-04-22
1012Canada2025-04-08
1013Russia2025-04-12
1014Canada2025-04-19
1015Argentina2025-04-14
1016Australia2025-04-29
1017Japan2025-04-25
1018Italy2025-04-08
1019Brazil2025-04-27
1020Brazil2025-04-24
1021Italy2025-04-11
1022Argentina2025-04-17
1023France2025-04-08
1024Germany2025-03-31
1025Italy2025-04-14
1026India2025-04-02
1027Argentina2025-04-11
1028Brazil2025-04-27
1029Germany2025-04-06
1030France2025-04-07
1031Canada2025-04-20
1032United Kingdom2025-04-26
1033Japan2025-04-04
1034Italy2025-04-14
1035Germany2025-04-05
1036Argentina2025-04-19
1037India2025-03-31
1038Italy2025-03-31
1039Brazil2025-04-10
1040Australia2025-04-12
1041Germany2025-04-15
1042Italy2025-04-13
1043Australia2025-04-06
1044Russia2025-04-12
1045France2025-04-03
1046Australia2025-04-26
1047Italy2025-04-13
1048India2025-04-20
1049Argentina2025-04-11

On-Demand Data

NameIdCountryDate
Murillo V Gillian1000Australia2025-04-26
Wickens R Wieser1001Italy2025-04-01
Ricardo R Schemmer1002United Kingdom2025-04-04
Maisha Y Flosi1003France2025-04-29
Adams X Poquette1004Spain2025-04-01
Mayumi N Iturbide1005Japan2025-04-16
Aruna L Malet1006India2025-04-08
Murillo V Nestle1007India2025-04-27
Wickens C Kolmetz1008Australia2025-04-24
David K Slusarski1009Italy2025-04-08
Murillo Q Malet1010United Kingdom2025-04-11
Nicolas R Darakjy1011Australia2025-04-12
Francesco V Whobrey1012Spain2025-04-26
Rodrigues S Stenseth1013Italy2025-04-02
Julie T Bowley1014France2025-04-16
Isabel S Chui1015Germany2025-04-07
Aruna Z Ruta1016France2025-04-26
Emily K Wieser1017United Kingdom2025-04-09
Chavez U Oldroyd1018Italy2025-04-28
Jefferson A Gaucho1019Argentina2025-04-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore X AlbaresGermanyOnyama Limba UNQUALIFIED
Tony C TollnerArgentinaElwin Sharvill UNQUALIFIED
Darci Y BowleyUnited KingdomBernardo Dominic NEGOTIATION
Salvatore S MacleadFranceXuxue Feng UNQUALIFIED
Tony D PaprockiRussiaOnyama Limba NEGOTIATION
Kaitlin J TollnerRussiaBernardo Dominic NEGOTIATION
Munro Z StockhamIndiaStephen Shaw NEW
Stacey C MacleadSpainElwin Sharvill RENEWAL
Aruna Z ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Darci W AmigonCanadaBernardo Dominic PROPOSAL
David Z OldroydBrazilIvan Magalhaes PROPOSAL
Adams I GarufiRussiaOnyama Limba NEW
Stacey S RulapaughIndiaAmy Elsner UNQUALIFIED
Rodrigues E DarakjyUnited KingdomElwin Sharvill NEW
James L ButtGermanyAmy Elsner UNQUALIFIED
Aika O CaudyArgentinaStephen Shaw QUALIFIED
Arvin L KuskoBrazilElwin Sharvill RENEWAL
Clifford T ButtAustraliaStephen Shaw UNQUALIFIED
Tony H NestleCanadaIoni Bowcher QUALIFIED
Wickens I GarufiAustraliaAnna Fali PROPOSAL
Alejandro H DoeCanadaBernardo Dominic NEW
Arvin T DoeSpainBernardo Dominic PROPOSAL
Ashley S RimJapanStephen Shaw PROPOSAL
Misaki G DoeUnited KingdomAsiya Javayant PROPOSAL
Leon N GauchoJapanXuxue Feng NEGOTIATION
Morrow W RutaUnited KingdomAmy Elsner PROPOSAL
Jennifer X NestleItalyXuxue Feng PROPOSAL
Munro J FlosiFranceStephen Shaw UNQUALIFIED
Sinclair P FlosiBrazilAsiya Javayant QUALIFIED
Deepesh V CaudyItalyIvan Magalhaes QUALIFIED
Emily F VenereItalyXuxue Feng QUALIFIED
Cody I OldroydFranceAsiya Javayant NEGOTIATION
Octavia E FigeroaItalyStephen Shaw NEW
Misaki Y TollnerSpainStephen Shaw RENEWAL
Juan K BologniaJapanIoni Bowcher NEW
Sinclair Q WieserCanadaIoni Bowcher RENEWAL
Adams H RutaArgentinaXuxue Feng NEW
Adams T StensethBrazilAsiya Javayant NEGOTIATION
Izzy T InouyeSpainBernardo Dominic RENEWAL
Maisha F NestleFranceXuxue Feng 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>