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 M KolmetzJapanAsiya Javayant UNQUALIFIED
Jones Y FerenczItalyIoni Bowcher NEGOTIATION
Costa U VenereJapanOnyama Limba UNQUALIFIED
Sinclair A BowleyItalyOnyama Limba NEGOTIATION
Mayumi B CaudyBrazilIoni Bowcher NEW
Mujtaba I GauchoCanadaIoni Bowcher RENEWAL
Emily K WaycottItalyOnyama Limba QUALIFIED
Salvatore L DilliardItalyAmy Elsner NEW
Jefferson O ChuiSpainXuxue Feng UNQUALIFIED
Ricardo H GillianAustraliaElwin Sharvill PROPOSAL
Smith W KuskoBrazilAnna Fali UNQUALIFIED
Greenwood I StensethArgentinaStephen Shaw NEGOTIATION
Nicolas B CaldareraBrazilBernardo Dominic PROPOSAL
Rodrigues F GauchoUnited KingdomXuxue Feng UNQUALIFIED
Leon P KolmetzCanadaAsiya Javayant PROPOSAL
Isabel D WaycottArgentinaBernardo Dominic NEW
James C VenereUnited KingdomAmy Elsner QUALIFIED
Ashley U MacleadUnited KingdomIvan Magalhaes PROPOSAL
Murillo C WhobreyItalyAnna Fali NEGOTIATION
Faith S NestleCanadaOnyama Limba PROPOSAL
Clifford L VenereRussiaBernardo Dominic UNQUALIFIED
Ricardo N PerinCanadaIoni Bowcher NEW
Kaitlin G GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Costa M GlickItalyXuxue Feng PROPOSAL
Ricardo X AmigonFranceAsiya Javayant UNQUALIFIED
Jeanfrancois F FlosiItalyBernardo Dominic UNQUALIFIED
Izzy V AmigonCanadaBernardo Dominic RENEWAL
Murillo W OstroskyGermanyOnyama Limba NEW
Faith M MaletAustraliaXuxue Feng NEW
Greenwood J MacleadUnited KingdomAmy Elsner QUALIFIED
Leon M StockhamSpainAsiya Javayant NEW
Aruna W RimJapanXuxue Feng UNQUALIFIED
Antonio B DarakjyArgentinaElwin Sharvill NEGOTIATION
Smith G AmigonFranceStephen Shaw NEGOTIATION
Mayumi N SchemmerBrazilIvan Magalhaes UNQUALIFIED
Arvin A InouyeSpainXuxue Feng QUALIFIED
Ivar O MarrierIndiaIoni Bowcher UNQUALIFIED
Kadeem W CaudyArgentinaBernardo Dominic QUALIFIED
Francesco K PerinSpainAnna Fali RENEWAL
Claire Q CampainJapanElwin Sharvill NEW
Aditya H TollnerItalyElwin Sharvill PROPOSAL
Nicolas W DilliardGermanyAmy Elsner PROPOSAL
Aruna Q CampainCanadaElwin Sharvill NEW
Johnson C StensethAustraliaIvan Magalhaes RENEWAL
Darci P AlbaresIndiaBernardo Dominic NEGOTIATION
Mayumi U SlusarskiItalyBernardo Dominic NEGOTIATION
Clifford Y PoquetteGermanyElwin Sharvill NEGOTIATION
Emily K CampainIndiaBernardo Dominic PROPOSAL
Tony H CaudyBrazilXuxue Feng RENEWAL
Johnson W InouyeItalyIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan N SlusarskiIndiaAsiya Javayant PROPOSAL
Emily M BologniaAustraliaBernardo Dominic RENEWAL
Faith U VenereJapanXuxue Feng PROPOSAL
Aditya V WhobreyArgentinaXuxue Feng PROPOSAL
Chavez D StensethFranceOnyama Limba RENEWAL
Emily R WhobreyItalyBernardo Dominic UNQUALIFIED
Cody W RutaGermanyOnyama Limba PROPOSAL
Emily W OstroskyArgentinaElwin Sharvill NEGOTIATION
Smith H InouyeBrazilOnyama Limba NEW
Jeanfrancois X DarakjyRussiaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois O BowleyFrance2024-05-22Benton, John B Jr PROPOSAL9Xuxue Feng
1001Jones E NestleBrazil2024-05-11Feiner Bros NEGOTIATION95Xuxue Feng
1002Ricardo U VocelkaUnited Kingdom2024-05-21Feltz Printing Service PROPOSAL75Ioni Bowcher
1003Sinclair K MacleadItaly2024-04-30Benton, John B Jr PROPOSAL73Asiya Javayant
1004Nicolas A PerinArgentina2024-05-14Buckley Miller Wright NEGOTIATION78Bernardo Dominic
1005Mayumi Q VocelkaUnited Kingdom2024-05-20Feiner Bros NEGOTIATION51Amy Elsner
1006Greenwood D ShinkoItaly2024-05-24Rangoni Of Florence RENEWAL28Onyama Limba
1007Sinclair D StockhamBrazil2024-05-12King, Christopher A Esq PROPOSAL1Ioni Bowcher
1008Aika Y MaletAustralia2024-05-09Chemel, James L Cpa NEW17Amy Elsner
1009Jeanfrancois O SlusarskiUnited Kingdom2024-05-20Morlong Associates PROPOSAL67Onyama Limba
1010Salvatore K WaycottGermany2024-05-22Commercial Press QUALIFIED0Stephen Shaw
1011Octavia M GlickBrazil2024-05-10Printing Dimensions QUALIFIED39Ivan Magalhaes
1012Stacey H ButtFrance2024-05-02Benton, John B Jr NEGOTIATION69Ioni Bowcher
1013Kadeem W FlosiItaly2024-05-01Buckley Miller Wright RENEWAL69Amy Elsner
1014Leon M RutaRussia2024-05-19Morlong Associates RENEWAL98Stephen Shaw
1015Rodrigues I CaudyFrance2024-04-29Benton, John B Jr NEGOTIATION16Xuxue Feng
1016Juan D AmigonItaly2024-04-28Chapman, Ross E Esq NEW85Elwin Sharvill
1017Maria M RulapaughRussia2024-05-25Chemel, James L Cpa UNQUALIFIED69Ivan Magalhaes
1018Murillo P WieserFrance2024-05-07Buckley Miller Wright UNQUALIFIED67Ivan Magalhaes
1019Maisha B RutaSpain2024-05-10Rangoni Of Florence RENEWAL93Ivan Magalhaes
1020Aruna R WhobreyRussia2024-05-21Buckley Miller Wright NEGOTIATION7Bernardo Dominic
1021Sinclair O KuskoFrance2024-05-20Benton, John B Jr UNQUALIFIED83Onyama Limba
1022Maria Z SergiJapan2024-05-11Commercial Press NEGOTIATION84Ioni Bowcher
1023Darci C GauchoGermany2024-05-15Chanay, Jeffrey A Esq QUALIFIED71Asiya Javayant
1024Mujtaba S GauchoCanada2024-05-21Rousseaux, Michael Esq PROPOSAL92Amy Elsner
1025Maria R MorascaSpain2024-05-26Chemel, James L Cpa QUALIFIED15Ioni Bowcher
1026Kadeem D DoeItaly2024-05-19Feiner Bros QUALIFIED44Asiya Javayant
1027Smith P FollerBrazil2024-05-19Rangoni Of Florence NEW83Asiya Javayant
1028Morrow D BowleyCanada2024-05-04Printing Dimensions PROPOSAL63Bernardo Dominic
1029Ivar P NestleFrance2024-05-05Rangoni Of Florence RENEWAL57Elwin Sharvill
1030Alejandro Q RimFrance2024-05-19Chapman, Ross E Esq UNQUALIFIED56Asiya Javayant
1031Francesco F StensethGermany2024-04-28Feiner Bros NEGOTIATION82Ioni Bowcher
1032Jefferson J WaycottJapan2024-05-17Chemel, James L Cpa NEGOTIATION55Ioni Bowcher
1033James S GillianFrance2024-05-21Feiner Bros NEGOTIATION21Stephen Shaw
1034Alejandro G OstroskyGermany2024-05-20Chapman, Ross E Esq UNQUALIFIED17Stephen Shaw
1035Costa N SaylorsGermany2024-05-10Chemel, James L Cpa QUALIFIED30Ioni Bowcher
1036Maisha S PerinCanada2024-04-29Chanay, Jeffrey A Esq PROPOSAL46Ivan Magalhaes
1037Octavia R NestleAustralia2024-05-20Rousseaux, Michael Esq NEGOTIATION47Elwin Sharvill
1038Salvatore N RulapaughIndia2024-05-10Rousseaux, Michael Esq RENEWAL12Bernardo Dominic
1039Leja X SergiFrance2024-05-23Commercial Press UNQUALIFIED29Amy Elsner
1040Octavia T BologniaSpain2024-04-28Chanay, Jeffrey A Esq RENEWAL65Xuxue Feng
1041Jennifer R MaletCanada2024-05-10Truhlar And Truhlar Attys NEW86Onyama Limba
1042David Y KuskoGermany2024-05-14Rousseaux, Michael Esq NEW36Ivan Magalhaes
1043Johnson X AmigonUnited Kingdom2024-05-01Chanay, Jeffrey A Esq UNQUALIFIED44Stephen Shaw
1044Silvio L RulapaughFrance2024-05-20Chanay, Jeffrey A Esq UNQUALIFIED97Xuxue Feng
1045Izzy O OstroskyArgentina2024-05-07Rangoni Of Florence NEW35Onyama Limba
1046Johnson E AlbaresFrance2024-05-02Rangoni Of Florence UNQUALIFIED27Asiya Javayant
1047Mayumi H InouyeGermany2024-05-27King, Christopher A Esq QUALIFIED93Xuxue Feng
1048Aika W TollnerUnited Kingdom2024-05-11Truhlar And Truhlar Attys RENEWAL36Amy Elsner
1049Nicolas A PaprockiFrance2024-05-25Chanay, Jeffrey A Esq NEW99Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Smith Z InouyeItalyIvan Magalhaes NEGOTIATION
Munro E GlickItalyAnna Fali NEGOTIATION
Maisha X InouyeAustraliaBernardo Dominic QUALIFIED
Leon H InouyeArgentinaBernardo Dominic PROPOSAL
Smith G CaudyItalyOnyama Limba NEGOTIATION
Aditya P ChuiRussiaIvan Magalhaes UNQUALIFIED
Maisha A PaprockiBrazilAnna Fali UNQUALIFIED
Mayumi S PerinGermanyOnyama Limba UNQUALIFIED
Aditya G SergiGermanyStephen Shaw PROPOSAL
Rodrigues J VocelkaJapanElwin Sharvill QUALIFIED
Tony F StensethRussiaElwin Sharvill UNQUALIFIED
Rodrigues T RimIndiaOnyama Limba PROPOSAL
Leon T MorascaBrazilOnyama Limba NEW
Rodrigues P MaletJapanAnna Fali NEGOTIATION
Rodrigues L RoysterRussiaStephen Shaw NEGOTIATION
Ivar R ShinkoArgentinaStephen Shaw QUALIFIED
Jeanfrancois P FerenczArgentinaBernardo Dominic NEW
Rodrigues D RulapaughCanadaOnyama Limba PROPOSAL
Cody U BologniaAustraliaElwin Sharvill UNQUALIFIED
Cody H KolmetzIndiaAmy Elsner NEW
Leon A StensethGermanyIvan Magalhaes QUALIFIED
Leja Q AlbaresFranceIvan Magalhaes NEGOTIATION
Deepesh D PerinItalyAsiya Javayant NEW
Ricardo D StensethUnited KingdomBernardo Dominic NEW
Rodrigues X GauchoFranceAsiya Javayant PROPOSAL
Silvio U ChuiIndiaAsiya Javayant QUALIFIED
Misaki R PoquetteAustraliaIvan Magalhaes NEW
Stacey H GlickCanadaStephen Shaw PROPOSAL
Jones H GauchoCanadaIvan Magalhaes NEW
Wickens O MarrierBrazilOnyama Limba UNQUALIFIED
Chavez J NickaItalyOnyama Limba UNQUALIFIED
David E OstroskyCanadaAmy Elsner QUALIFIED
Jones Q GlickRussiaAnna Fali NEGOTIATION
Emily G PerinCanadaElwin Sharvill PROPOSAL
Ricardo J OldroydBrazilXuxue Feng QUALIFIED
Smith G RulapaughGermanyOnyama Limba NEGOTIATION
Faith O ButtCanadaAsiya Javayant QUALIFIED
Leon W FlosiJapanAmy Elsner RENEWAL
Maisha P VenereSpainAsiya Javayant UNQUALIFIED
Chavez E NestleItalyAsiya Javayant NEW
Darci J RimArgentinaBernardo Dominic UNQUALIFIED
Claire W CaudyItalyAmy Elsner RENEWAL
Maria J ChuiSpainOnyama Limba NEGOTIATION
Tony S StockhamBrazilStephen Shaw RENEWAL
Mayumi B StockhamUnited KingdomElwin Sharvill QUALIFIED
Costa O MaletCanadaAmy Elsner PROPOSAL
Jeanfrancois C SaylorsIndiaAnna Fali RENEWAL
Misaki A DarakjyGermanyBernardo Dominic NEW
Octavia W NestleArgentinaBernardo Dominic UNQUALIFIED
Smith K IturbideGermanyOnyama Limba NEW
Frozen Columns
Name
Francesco F Ferencz
Misaki R Darakjy
Murillo S Malet
Mujtaba Q Inouye
Isabel E Albares
Antonio H Poquette
Costa L Malet
Aruna J Iturbide
Murillo C Perin
Kaitlin Y Marrier
Jennifer S Bolognia
Mujtaba U Paprocki
Juan F Schemmer
Munro T Figeroa
Clifford M Wieser
Izzy D Poquette
Jennifer V Chui
Jeanfrancois H Venere
Izzy A Gillian
Misaki V Caudy
Ashley C Waycott
Deepesh F Slusarski
Kaitlin R Waycott
Jeanfrancois I Gaucho
Aruna J Morasca
Francesco Y Chui
Greenwood W Wieser
Aika J Rulapaugh
Sinclair N Rim
Jefferson M Wieser
Adams O Ostrosky
Claire V Glick
Deepesh R Gillian
Silvio Q Venere
Izzy W Maclead
Arvin S Saylors
Misaki V Malet
Claire A Stenseth
Misaki Z Iturbide
Antonio A Malet
Octavia U Marrier
Greenwood F Marrier
Alejandro H Bolognia
Maisha T Iturbide
Deepesh E Foller
Alejandro M Darakjy
Francesco S Morasca
Izzy H Saylors
Maria G Marrier
Kaitlin R Iturbide
IdCountryDate
1000Russia2024-05-18
1001Argentina2024-05-21
1002Spain2024-05-02
1003Russia2024-05-26
1004Brazil2024-05-24
1005Germany2024-05-07
1006Australia2024-05-01
1007Japan2024-05-03
1008India2024-05-14
1009Italy2024-05-15
1010United Kingdom2024-05-01
1011Australia2024-05-09
1012Japan2024-05-02
1013Japan2024-05-25
1014United Kingdom2024-05-04
1015Italy2024-05-02
1016Brazil2024-05-09
1017Brazil2024-05-20
1018France2024-05-12
1019India2024-05-26
1020India2024-05-26
1021Argentina2024-05-27
1022United Kingdom2024-05-04
1023Canada2024-05-14
1024Canada2024-04-30
1025Germany2024-05-06
1026Japan2024-05-16
1027Argentina2024-04-30
1028Germany2024-05-04
1029France2024-05-23
1030Argentina2024-05-24
1031Russia2024-04-30
1032Italy2024-05-21
1033Argentina2024-05-10
1034Russia2024-05-22
1035Japan2024-05-22
1036Italy2024-04-28
1037Canada2024-05-13
1038Canada2024-05-23
1039Brazil2024-04-28
1040Spain2024-05-19
1041Russia2024-05-15
1042India2024-05-10
1043Canada2024-05-23
1044Australia2024-05-16
1045Italy2024-05-04
1046Argentina2024-05-11
1047Canada2024-04-30
1048Canada2024-04-28
1049France2024-05-24

On-Demand Data

NameIdCountryDate
Claire U Bolognia1000Brazil2024-05-21
Arvin J Marrier1001Italy2024-05-27
Mujtaba L Maclead1002India2024-05-05
Nicolas Z Royster1003Canada2024-04-30
Octavia Y Amigon1004United Kingdom2024-04-30
Jefferson R Caudy1005Canada2024-05-16
James L Nestle1006India2024-05-04
Costa J Rim1007India2024-05-14
Maria K Gaucho1008Japan2024-05-11
Greenwood M Maclead1009Brazil2024-05-02
Arvin Z Doe1010Canada2024-05-27
Jones E Oldroyd1011United Kingdom2024-05-24
Maisha Z Caudy1012France2024-05-21
Octavia C Oldroyd1013Australia2024-05-02
Jeanfrancois A Whobrey1014Argentina2024-05-02
Francesco J Venere1015Russia2024-05-06
Silvio T Wieser1016Canada2024-05-07
Smith S Ruta1017Spain2024-05-12
Murillo A Bolognia1018United Kingdom2024-05-01
Murillo K Kusko1019Spain2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson O OstroskyRussiaStephen Shaw PROPOSAL
Leja A FerenczAustraliaAnna Fali RENEWAL
Costa X AmigonRussiaStephen Shaw QUALIFIED
Leon W DarakjyItalyXuxue Feng QUALIFIED
Jennifer D WhobreySpainXuxue Feng NEGOTIATION
Isabel L MorascaArgentinaXuxue Feng UNQUALIFIED
Clifford D OldroydCanadaBernardo Dominic RENEWAL
Costa S TollnerFranceXuxue Feng PROPOSAL
Jefferson G DilliardCanadaOnyama Limba UNQUALIFIED
Jefferson L WhobreyIndiaAsiya Javayant PROPOSAL
Cody R SchemmerGermanyOnyama Limba NEW
Nicolas R PaprockiUnited KingdomAnna Fali NEGOTIATION
Alejandro Q StensethSpainBernardo Dominic UNQUALIFIED
Aruna G BriddickItalyAsiya Javayant UNQUALIFIED
Aditya C FlosiArgentinaAnna Fali RENEWAL
Greenwood T BologniaRussiaAnna Fali RENEWAL
Ricardo F FollerCanadaIvan Magalhaes RENEWAL
Octavia P FigeroaArgentinaStephen Shaw QUALIFIED
Silvio S GillianRussiaOnyama Limba QUALIFIED
Kaitlin X CaudyAustraliaIvan Magalhaes PROPOSAL
Clifford D BriddickItalyElwin Sharvill QUALIFIED
Stacey M SchemmerJapanAmy Elsner NEW
Misaki G KolmetzUnited KingdomBernardo Dominic NEW
Greenwood X GarufiSpainOnyama Limba UNQUALIFIED
James V DilliardCanadaAmy Elsner PROPOSAL
Izzy D WhobreySpainBernardo Dominic QUALIFIED
Izzy T MorascaUnited KingdomAmy Elsner NEGOTIATION
Antonio W GlickBrazilElwin Sharvill PROPOSAL
Octavia P SchemmerItalyElwin Sharvill PROPOSAL
Wickens K WhobreyGermanyIvan Magalhaes PROPOSAL
Jefferson N DilliardGermanyAsiya Javayant UNQUALIFIED
Jones U PerinGermanyIoni Bowcher UNQUALIFIED
Misaki G FollerUnited KingdomAnna Fali NEW
David M BologniaFranceOnyama Limba PROPOSAL
Deepesh K FerenczFranceAmy Elsner NEW
Cody N TollnerFranceIvan Magalhaes QUALIFIED
Cody T VenereBrazilOnyama Limba QUALIFIED
Darci T SlusarskiSpainBernardo Dominic NEW
Tony T VocelkaArgentinaXuxue Feng PROPOSAL
Munro E RutaFranceOnyama Limba 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>