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
Claire H RoysterArgentinaAmy Elsner NEGOTIATION
Deepesh S FlosiArgentinaAnna Fali PROPOSAL
Deepesh R AlbaresItalyElwin Sharvill UNQUALIFIED
Francesco M DoeJapanIvan Magalhaes NEGOTIATION
Octavia H AmigonIndiaAsiya Javayant QUALIFIED
Misaki R ChuiJapanBernardo Dominic RENEWAL
Kaitlin M FigeroaUnited KingdomIvan Magalhaes UNQUALIFIED
Tony K DoeBrazilAsiya Javayant RENEWAL
Greenwood S InouyeBrazilIoni Bowcher QUALIFIED
Misaki C StensethUnited KingdomIoni Bowcher QUALIFIED
Aruna G BologniaIndiaOnyama Limba NEGOTIATION
Salvatore J MacleadCanadaIvan Magalhaes QUALIFIED
Kaitlin Y OldroydJapanBernardo Dominic NEW
Tony V RulapaughAustraliaElwin Sharvill RENEWAL
Mayumi U ButtCanadaAsiya Javayant NEW
Deepesh K RulapaughCanadaIvan Magalhaes NEW
Smith P SergiCanadaAmy Elsner UNQUALIFIED
Kadeem U PaprockiItalyStephen Shaw NEGOTIATION
Faith O NestleFranceElwin Sharvill NEW
Alejandro E WaycottUnited KingdomIvan Magalhaes RENEWAL
Tony J DarakjyJapanBernardo Dominic UNQUALIFIED
Smith T SergiBrazilAmy Elsner QUALIFIED
Kadeem D SchemmerGermanyAmy Elsner QUALIFIED
Leon B ChuiItalyIoni Bowcher PROPOSAL
Clifford Q RutaIndiaBernardo Dominic NEGOTIATION
Julie G ButtAustraliaBernardo Dominic RENEWAL
Salvatore I SaylorsCanadaAsiya Javayant RENEWAL
Maria S SaylorsRussiaXuxue Feng QUALIFIED
Stacey H ChuiFranceAsiya Javayant NEGOTIATION
Maria V BriddickGermanyAnna Fali QUALIFIED
Nicolas N VenereFranceBernardo Dominic UNQUALIFIED
Chavez M KolmetzSpainIoni Bowcher NEGOTIATION
Leon H RutaBrazilElwin Sharvill PROPOSAL
Kadeem C TollnerGermanyAmy Elsner PROPOSAL
Morrow W StensethGermanyAnna Fali NEGOTIATION
Izzy N GarufiCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois C BowleyFranceIvan Magalhaes UNQUALIFIED
Morrow L CampainItalyIvan Magalhaes UNQUALIFIED
Rodrigues F StensethArgentinaStephen Shaw NEW
Morrow X StensethFranceBernardo Dominic NEGOTIATION
Jeanfrancois K ChuiAustraliaAsiya Javayant NEGOTIATION
Faith Q FerenczGermanyIvan Magalhaes UNQUALIFIED
Alejandro R OstroskyAustraliaXuxue Feng UNQUALIFIED
Misaki I MaletGermanyIoni Bowcher PROPOSAL
Murillo S FerenczJapanBernardo Dominic QUALIFIED
Chavez L MaletSpainXuxue Feng QUALIFIED
Ricardo T RutaUnited KingdomOnyama Limba RENEWAL
Ricardo Z VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Cody R StockhamItalyBernardo Dominic NEGOTIATION
David I KolmetzGermanyXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley M BowleyUnited KingdomOnyama Limba RENEWAL
Nicolas M SchemmerIndiaIvan Magalhaes NEGOTIATION
Isabel S OstroskyBrazilAsiya Javayant NEGOTIATION
Arvin E FollerUnited KingdomStephen Shaw RENEWAL
Aditya G RimSpainAsiya Javayant RENEWAL
Juan K VocelkaSpainIvan Magalhaes UNQUALIFIED
Clifford N KuskoAustraliaElwin Sharvill NEW
Arvin Y MarrierBrazilXuxue Feng UNQUALIFIED
Mujtaba K SergiArgentinaIoni Bowcher NEW
Sinclair P NickaUnited KingdomBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria X WaycottCanada2024-05-25Truhlar And Truhlar Attys NEGOTIATION78Elwin Sharvill
1001Stacey G DarakjyItaly2024-05-14Feiner Bros RENEWAL4Ivan Magalhaes
1002Ricardo Q AmigonSpain2024-05-10Morlong Associates QUALIFIED94Xuxue Feng
1003James I AmigonCanada2024-05-08Dorl, James J Esq PROPOSAL42Elwin Sharvill
1004Arvin I IturbideSpain2024-05-07Feiner Bros PROPOSAL21Amy Elsner
1005Octavia E SchemmerCanada2024-05-06Chemel, James L Cpa NEW5Ioni Bowcher
1006Chavez F WieserGermany2024-05-14Chemel, James L Cpa RENEWAL2Elwin Sharvill
1007Leja E VenereUnited Kingdom2024-05-19Chapman, Ross E Esq NEGOTIATION67Bernardo Dominic
1008Alejandro Y NickaBrazil2024-05-21Benton, John B Jr PROPOSAL76Xuxue Feng
1009Wickens Y OldroydGermany2024-05-20Truhlar And Truhlar Attys PROPOSAL66Onyama Limba
1010Ashley U WieserUnited Kingdom2024-05-03Chapman, Ross E Esq NEGOTIATION65Amy Elsner
1011Cody M WaycottIndia2024-05-06Rousseaux, Michael Esq RENEWAL36Onyama Limba
1012Darci K KolmetzJapan2024-05-13Buckley Miller Wright PROPOSAL21Asiya Javayant
1013Aditya U VocelkaJapan2024-05-08Morlong Associates RENEWAL89Elwin Sharvill
1014Ricardo I ShinkoUnited Kingdom2024-05-04Rangoni Of Florence NEW0Ivan Magalhaes
1015Wickens D AlbaresArgentina2024-05-16Truhlar And Truhlar Attys QUALIFIED90Asiya Javayant
1016Cody F TollnerAustralia2024-05-06Printing Dimensions UNQUALIFIED24Ivan Magalhaes
1017Costa N RimUnited Kingdom2024-05-10Dorl, James J Esq UNQUALIFIED13Stephen Shaw
1018Johnson D SchemmerGermany2024-05-05Printing Dimensions QUALIFIED29Ivan Magalhaes
1019Johnson H ChuiBrazil2024-05-12Printing Dimensions RENEWAL61Stephen Shaw
1020Wickens J OstroskyJapan2024-05-05Benton, John B Jr RENEWAL57Stephen Shaw
1021Sinclair Q CaudyCanada2024-05-01Buckley Miller Wright UNQUALIFIED46Onyama Limba
1022Murillo C NestleCanada2024-05-05Feltz Printing Service NEW39Ioni Bowcher
1023Juan T PaprockiItaly2024-05-04Commercial Press RENEWAL40Stephen Shaw
1024Smith O WhobreyArgentina2024-05-06King, Christopher A Esq NEW26Ivan Magalhaes
1025Cody R DilliardSpain2024-05-04Benton, John B Jr NEW17Xuxue Feng
1026Isabel C OldroydJapan2024-05-21Dorl, James J Esq NEW79Anna Fali
1027Stacey J CaudyCanada2024-05-01Chanay, Jeffrey A Esq UNQUALIFIED83Onyama Limba
1028Antonio L CaldareraUnited Kingdom2024-05-17Feiner Bros UNQUALIFIED54Stephen Shaw
1029Deepesh H VenereItaly2024-04-28Feiner Bros RENEWAL44Amy Elsner
1030Jefferson A RutaArgentina2024-05-06Truhlar And Truhlar Attys PROPOSAL85Stephen Shaw
1031Stacey Y SergiIndia2024-05-14Rousseaux, Michael Esq UNQUALIFIED24Bernardo Dominic
1032Darci O RoysterArgentina2024-05-03Buckley Miller Wright PROPOSAL77Bernardo Dominic
1033Stacey H WaycottItaly2024-05-12Dorl, James J Esq UNQUALIFIED28Anna Fali
1034Adams M InouyeBrazil2024-05-21Truhlar And Truhlar Attys UNQUALIFIED22Onyama Limba
1035Juan S DilliardBrazil2024-05-07Chemel, James L Cpa UNQUALIFIED73Amy Elsner
1036Aditya N AlbaresItaly2024-04-29King, Christopher A Esq PROPOSAL26Ioni Bowcher
1037Maisha Z BriddickRussia2024-05-25Buckley Miller Wright UNQUALIFIED97Onyama Limba
1038Greenwood B RimUnited Kingdom2024-05-17Chanay, Jeffrey A Esq PROPOSAL62Onyama Limba
1039Faith E GauchoFrance2024-05-18Dorl, James J Esq NEW44Onyama Limba
1040Deepesh N NickaIndia2024-05-18Printing Dimensions RENEWAL67Onyama Limba
1041Deepesh Y FerenczRussia2024-04-29King, Christopher A Esq UNQUALIFIED70Xuxue Feng
1042Cody U StensethBrazil2024-05-12Feltz Printing Service UNQUALIFIED70Stephen Shaw
1043Chavez O InouyeArgentina2024-05-17Chemel, James L Cpa PROPOSAL32Stephen Shaw
1044Aruna R KolmetzAustralia2024-04-28King, Christopher A Esq NEGOTIATION10Amy Elsner
1045Tony F RulapaughUnited Kingdom2024-05-05Chemel, James L Cpa NEW15Onyama Limba
1046Misaki A GlickRussia2024-05-27Chemel, James L Cpa NEGOTIATION17Ioni Bowcher
1047Stacey D NestleAustralia2024-05-20Buckley Miller Wright QUALIFIED67Onyama Limba
1048Julie A NickaGermany2024-05-06Chemel, James L Cpa QUALIFIED46Asiya Javayant
1049Emily F FigeroaJapan2024-05-16Truhlar And Truhlar Attys NEGOTIATION9Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Munro U MaletSpainIvan Magalhaes NEGOTIATION
Nicolas Y CaldareraRussiaXuxue Feng UNQUALIFIED
Arvin I SergiGermanyIvan Magalhaes NEW
Aruna D NestleGermanyIvan Magalhaes PROPOSAL
Ivar O StockhamAustraliaXuxue Feng NEGOTIATION
Ricardo U MorascaFranceXuxue Feng QUALIFIED
Adams M MarrierItalyXuxue Feng QUALIFIED
Munro F NickaAustraliaOnyama Limba PROPOSAL
Mujtaba B SergiGermanyOnyama Limba QUALIFIED
Mayumi X RimFranceAsiya Javayant NEW
Emily V AlbaresRussiaStephen Shaw PROPOSAL
Isabel W SlusarskiCanadaBernardo Dominic PROPOSAL
James B WieserIndiaIvan Magalhaes NEGOTIATION
Darci E GlickRussiaXuxue Feng NEGOTIATION
Darci Y CampainSpainAnna Fali NEGOTIATION
David F CaldareraArgentinaIoni Bowcher UNQUALIFIED
Darci A OldroydIndiaStephen Shaw PROPOSAL
Cody Z FigeroaRussiaXuxue Feng PROPOSAL
Mayumi E StensethUnited KingdomElwin Sharvill NEGOTIATION
Julie O GauchoArgentinaBernardo Dominic UNQUALIFIED
Octavia N MorascaGermanyIvan Magalhaes PROPOSAL
Octavia Y BowleyBrazilAsiya Javayant NEW
Leja Y PerinAustraliaIvan Magalhaes QUALIFIED
Kaitlin A WhobreyBrazilIvan Magalhaes RENEWAL
Kadeem C GlickJapanXuxue Feng UNQUALIFIED
Jeanfrancois R NickaCanadaIvan Magalhaes NEGOTIATION
Munro V BologniaFranceAsiya Javayant QUALIFIED
Johnson E TollnerBrazilStephen Shaw QUALIFIED
Aditya V DilliardAustraliaAsiya Javayant NEW
Emily S GillianArgentinaAmy Elsner UNQUALIFIED
Alejandro T AlbaresRussiaStephen Shaw RENEWAL
Maisha G OstroskyBrazilBernardo Dominic RENEWAL
Greenwood G WieserGermanyStephen Shaw PROPOSAL
Adams Y GauchoGermanyXuxue Feng NEW
Claire A RutaArgentinaElwin Sharvill PROPOSAL
David L FigeroaGermanyAnna Fali QUALIFIED
Maisha X StockhamJapanAmy Elsner NEGOTIATION
David K GarufiItalyXuxue Feng UNQUALIFIED
Rodrigues D FigeroaGermanyIoni Bowcher PROPOSAL
Nicolas M AmigonCanadaOnyama Limba QUALIFIED
Ivar Y RoysterAustraliaIvan Magalhaes NEGOTIATION
Adams U ButtSpainOnyama Limba RENEWAL
Faith M NickaSpainOnyama Limba RENEWAL
Jennifer S VocelkaArgentinaIoni Bowcher QUALIFIED
Mujtaba K CampainRussiaXuxue Feng NEGOTIATION
Misaki G AmigonGermanyAsiya Javayant PROPOSAL
Kaitlin I NestleJapanElwin Sharvill NEW
Munro Y KolmetzCanadaOnyama Limba UNQUALIFIED
Claire N SchemmerJapanIoni Bowcher NEW
Mujtaba A GillianSpainXuxue Feng NEGOTIATION
Frozen Columns
Name
David F Poquette
Emily V Caldarera
Aika S Ostrosky
Morrow T Campain
Johnson I Royster
Kaitlin Z Poquette
Stacey Q Whobrey
Greenwood F Figeroa
Murillo I Kolmetz
James B Figeroa
Darci S Flosi
Leon B Royster
Cody G Garufi
Johnson R Malet
Greenwood P Paprocki
Antonio K Glick
Chavez E Garufi
Kadeem K Shinko
Aruna K Wieser
Jones G Slusarski
Ivar V Whobrey
Johnson R Ferencz
Aditya K Ruta
Salvatore K Nestle
Murillo Y Campain
James H Figeroa
Johnson R Saylors
Cody Y Rulapaugh
Kaitlin K Doe
Francesco V Tollner
Sinclair V Albares
James U Slusarski
Stacey Y Slusarski
Munro S Foller
Alejandro U Schemmer
Aditya V Schemmer
Julie L Kusko
Alejandro T Bolognia
Costa Q Tollner
Mujtaba T Butt
Jeanfrancois U Butt
Adams A Paprocki
Ricardo G Inouye
Chavez Q Dilliard
Aika W Waycott
Stacey M Ferencz
Sinclair Q Whobrey
Aika W Dilliard
Clifford J Flosi
Murillo P Figeroa
IdCountryDate
1000Japan2024-05-13
1001Canada2024-05-13
1002Spain2024-04-28
1003Italy2024-05-16
1004Spain2024-05-24
1005Canada2024-05-01
1006India2024-05-19
1007Japan2024-05-05
1008Spain2024-05-16
1009India2024-05-27
1010Argentina2024-05-15
1011Italy2024-05-16
1012Australia2024-05-03
1013Italy2024-05-04
1014France2024-05-01
1015Germany2024-05-05
1016India2024-05-07
1017Italy2024-05-26
1018Spain2024-05-24
1019Germany2024-05-06
1020France2024-05-12
1021Brazil2024-05-24
1022Spain2024-05-07
1023Argentina2024-05-06
1024United Kingdom2024-05-04
1025Germany2024-05-25
1026Spain2024-05-22
1027United Kingdom2024-04-28
1028Italy2024-05-10
1029Spain2024-04-29
1030India2024-05-01
1031Canada2024-05-12
1032France2024-05-20
1033Russia2024-05-25
1034France2024-05-08
1035Argentina2024-05-15
1036Japan2024-05-18
1037Russia2024-05-24
1038Argentina2024-05-21
1039Spain2024-05-12
1040Australia2024-05-15
1041India2024-05-24
1042Russia2024-05-16
1043Italy2024-04-28
1044United Kingdom2024-05-26
1045Japan2024-05-21
1046Russia2024-05-04
1047Canada2024-05-24
1048Russia2024-05-12
1049United Kingdom2024-05-19

On-Demand Data

NameIdCountryDate
Aruna R Paprocki1000Russia2024-05-10
Maria D Saylors1001Russia2024-05-21
Smith D Foller1002Italy2024-05-23
Faith S Inouye1003Argentina2024-05-27
Morrow V Saylors1004France2024-05-26
Arvin R Venere1005Japan2024-05-01
Deepesh U Dilliard1006Spain2024-05-02
Johnson S Doe1007Italy2024-05-18
Ivar B Nicka1008France2024-05-19
Rodrigues D Kusko1009Japan2024-05-14
Jennifer B Inouye1010Spain2024-05-12
Mayumi C Garufi1011Brazil2024-05-14
Salvatore X Royster1012Brazil2024-05-26
Alejandro V Whobrey1013Argentina2024-05-15
Isabel C Stockham1014France2024-05-16
Jones L Foller1015France2024-05-12
Kaitlin G Vocelka1016Brazil2024-05-11
Salvatore A Shinko1017Japan2024-04-29
Deepesh R Rim1018Spain2024-05-20
Antonio E Bolognia1019Canada2024-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria U AlbaresBrazilIoni Bowcher NEGOTIATION
Nicolas A KuskoRussiaBernardo Dominic QUALIFIED
Morrow X RutaUnited KingdomElwin Sharvill PROPOSAL
Stacey I FerenczSpainStephen Shaw UNQUALIFIED
Alejandro S DarakjyUnited KingdomOnyama Limba PROPOSAL
Isabel N RoysterSpainXuxue Feng QUALIFIED
David V PoquetteFranceIoni Bowcher RENEWAL
Claire E GarufiSpainBernardo Dominic NEGOTIATION
Ivar D WhobreyCanadaBernardo Dominic NEW
Aika P MaletRussiaIoni Bowcher QUALIFIED
Nicolas B DilliardArgentinaStephen Shaw QUALIFIED
Clifford Q KuskoBrazilBernardo Dominic NEGOTIATION
Jefferson D BowleyRussiaOnyama Limba QUALIFIED
Chavez V ChuiSpainElwin Sharvill NEGOTIATION
Ricardo V GarufiIndiaIvan Magalhaes NEGOTIATION
Silvio W MarrierJapanAmy Elsner NEGOTIATION
Aika L MorascaSpainBernardo Dominic RENEWAL
Clifford H FerenczJapanStephen Shaw NEW
Cody J MaletUnited KingdomIoni Bowcher QUALIFIED
Jones Z PoquetteSpainXuxue Feng PROPOSAL
Faith A OldroydUnited KingdomXuxue Feng RENEWAL
Claire D CaldareraItalyElwin Sharvill UNQUALIFIED
Tony A DoeAustraliaElwin Sharvill PROPOSAL
David X WieserGermanyOnyama Limba QUALIFIED
Wickens U VenereItalyBernardo Dominic NEGOTIATION
Deepesh U RulapaughCanadaAmy Elsner NEW
Clifford P CaldareraCanadaIvan Magalhaes UNQUALIFIED
Misaki C GillianBrazilIoni Bowcher UNQUALIFIED
Darci W SchemmerGermanyElwin Sharvill QUALIFIED
Greenwood Q InouyeGermanyBernardo Dominic RENEWAL
Aika Q TollnerSpainStephen Shaw NEW
Greenwood G NestleAustraliaElwin Sharvill PROPOSAL
Wickens I KolmetzSpainIvan Magalhaes UNQUALIFIED
Jones S MaletItalyIoni Bowcher UNQUALIFIED
Mujtaba Q WaycottGermanyElwin Sharvill RENEWAL
Salvatore E RutaSpainStephen Shaw NEW
Jones H InouyeArgentinaIvan Magalhaes NEW
Ivar S ChuiItalyBernardo Dominic UNQUALIFIED
Salvatore O DoeBrazilElwin Sharvill RENEWAL
Jennifer C IturbideArgentinaBernardo Dominic 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>