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
Aditya W StensethUnited KingdomBernardo Dominic NEW
Ricardo Q DoeRussiaAsiya Javayant PROPOSAL
Misaki Y AlbaresFranceIvan Magalhaes PROPOSAL
Maria Q ShinkoGermanyElwin Sharvill UNQUALIFIED
Darci L StensethJapanStephen Shaw QUALIFIED
Smith I BologniaAustraliaElwin Sharvill RENEWAL
Francesco V GauchoGermanyAmy Elsner PROPOSAL
Maisha Y PaprockiItalyStephen Shaw RENEWAL
Jeanfrancois J GauchoUnited KingdomXuxue Feng RENEWAL
Johnson F RoysterCanadaIvan Magalhaes QUALIFIED
Alejandro W CaudyItalyElwin Sharvill NEW
Aika B NestleAustraliaOnyama Limba QUALIFIED
Smith A BriddickGermanyIoni Bowcher QUALIFIED
Leja P RulapaughBrazilAmy Elsner QUALIFIED
Tony A ShinkoUnited KingdomIoni Bowcher NEGOTIATION
Aruna L GarufiAustraliaElwin Sharvill QUALIFIED
David I CaldareraFranceBernardo Dominic UNQUALIFIED
Maria N FigeroaIndiaStephen Shaw RENEWAL
Cody J OldroydItalyStephen Shaw NEW
Leja F KolmetzIndiaAmy Elsner NEGOTIATION
Octavia M GlickCanadaIvan Magalhaes PROPOSAL
Salvatore D InouyeItalyBernardo Dominic UNQUALIFIED
Greenwood Q IturbideArgentinaAsiya Javayant PROPOSAL
Deepesh R SergiFranceBernardo Dominic UNQUALIFIED
Alejandro R WhobreyJapanXuxue Feng QUALIFIED
Faith S VenereBrazilIvan Magalhaes QUALIFIED
Nicolas Z FerenczIndiaAnna Fali UNQUALIFIED
Morrow A RulapaughBrazilAnna Fali UNQUALIFIED
Francesco D MaletJapanStephen Shaw PROPOSAL
Isabel L ChuiCanadaIvan Magalhaes RENEWAL
Munro I PaprockiGermanyOnyama Limba PROPOSAL
Kaitlin Z NestleBrazilStephen Shaw NEGOTIATION
Emily C AmigonGermanyIoni Bowcher NEGOTIATION
Sinclair V WaycottUnited KingdomXuxue Feng NEGOTIATION
Stacey O RimUnited KingdomAsiya Javayant PROPOSAL
Ivar H KolmetzGermanyStephen Shaw NEW
Wickens G OldroydCanadaOnyama Limba RENEWAL
Kaitlin E DoeJapanAsiya Javayant NEGOTIATION
Arvin W RutaFranceIvan Magalhaes UNQUALIFIED
Isabel A StockhamCanadaIoni Bowcher UNQUALIFIED
Sinclair C FerenczAustraliaAsiya Javayant QUALIFIED
Antonio J OstroskyItalyStephen Shaw NEW
Silvio D CampainGermanyAnna Fali NEGOTIATION
Kadeem J GarufiGermanyXuxue Feng NEGOTIATION
Chavez Q RimItalyAmy Elsner QUALIFIED
Silvio X MacleadCanadaAmy Elsner QUALIFIED
Misaki C NestleIndiaAmy Elsner PROPOSAL
Deepesh B WaycottItalyAnna Fali QUALIFIED
Jones I ShinkoGermanyAnna Fali NEGOTIATION
Aditya R VocelkaJapanAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Isabel F DarakjyCanadaElwin Sharvill NEGOTIATION
Emily L WhobreyIndiaIoni Bowcher QUALIFIED
Munro E RimBrazilIoni Bowcher UNQUALIFIED
Mayumi M CaudyCanadaElwin Sharvill PROPOSAL
Mujtaba G DilliardRussiaAsiya Javayant NEW
Claire P ButtItalyElwin Sharvill QUALIFIED
Adams M ButtArgentinaBernardo Dominic QUALIFIED
Wickens P KolmetzFranceAsiya Javayant PROPOSAL
Ashley D MaletBrazilIvan Magalhaes NEW
Costa F PerinJapanAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin K StensethIndia2024-06-06Rousseaux, Michael Esq UNQUALIFIED20Ioni Bowcher
1001Rodrigues T FigeroaAustralia2024-06-05Morlong Associates RENEWAL63Ioni Bowcher
1002Stacey Z MacleadAustralia2024-06-14Commercial Press QUALIFIED74Asiya Javayant
1003Juan Z KuskoCanada2024-06-20Feltz Printing Service RENEWAL92Ivan Magalhaes
1004Greenwood P KuskoArgentina2024-06-01Truhlar And Truhlar Attys UNQUALIFIED67Onyama Limba
1005Nicolas Z WhobreyUnited Kingdom2024-06-14Benton, John B Jr NEW5Asiya Javayant
1006Maisha B RimArgentina2024-06-12Chemel, James L Cpa NEW59Bernardo Dominic
1007Adams F GarufiSpain2024-06-05Chapman, Ross E Esq NEGOTIATION99Xuxue Feng
1008Morrow J ChuiAustralia2024-06-17Rangoni Of Florence QUALIFIED66Stephen Shaw
1009Morrow C MacleadIndia2024-06-08Feiner Bros RENEWAL37Onyama Limba
1010Sinclair K VocelkaSpain2024-06-02Feiner Bros PROPOSAL75Bernardo Dominic
1011Francesco Y TollnerItaly2024-06-04Chanay, Jeffrey A Esq NEGOTIATION66Anna Fali
1012Deepesh T RimGermany2024-05-24Rangoni Of Florence QUALIFIED68Anna Fali
1013Izzy Y CampainCanada2024-05-24Chanay, Jeffrey A Esq RENEWAL29Amy Elsner
1014Chavez P GauchoBrazil2024-06-06Feiner Bros QUALIFIED29Amy Elsner
1015Aditya B IturbideBrazil2024-06-03Printing Dimensions RENEWAL85Stephen Shaw
1016Maisha H VocelkaUnited Kingdom2024-06-02Feiner Bros PROPOSAL22Asiya Javayant
1017Aditya Y RoysterBrazil2024-06-19Rangoni Of Florence NEGOTIATION54Bernardo Dominic
1018Silvio P MacleadGermany2024-06-14Chanay, Jeffrey A Esq QUALIFIED96Asiya Javayant
1019Ashley P InouyeItaly2024-06-17Rousseaux, Michael Esq UNQUALIFIED4Ivan Magalhaes
1020Ricardo K DilliardAustralia2024-06-14Truhlar And Truhlar Attys RENEWAL41Onyama Limba
1021Claire Y StensethItaly2024-05-26Feltz Printing Service NEW35Asiya Javayant
1022Silvio G MarrierIndia2024-05-28Dorl, James J Esq RENEWAL14Asiya Javayant
1023Jefferson F PoquetteFrance2024-06-04Benton, John B Jr NEW10Stephen Shaw
1024James S ChuiAustralia2024-06-02Feltz Printing Service RENEWAL79Ivan Magalhaes
1025Clifford A VocelkaGermany2024-06-11Chemel, James L Cpa RENEWAL85Xuxue Feng
1026Izzy Q GillianUnited Kingdom2024-06-07Chapman, Ross E Esq NEW99Ioni Bowcher
1027Octavia Y RoysterFrance2024-05-26Dorl, James J Esq RENEWAL54Anna Fali
1028Julie Y VenereUnited Kingdom2024-06-17Rousseaux, Michael Esq NEGOTIATION1Ivan Magalhaes
1029Salvatore P MaletCanada2024-05-24Truhlar And Truhlar Attys UNQUALIFIED92Amy Elsner
1030Antonio C SaylorsItaly2024-05-29Buckley Miller Wright RENEWAL22Elwin Sharvill
1031Jeanfrancois P SergiSpain2024-05-26King, Christopher A Esq PROPOSAL27Anna Fali
1032Emily F BologniaFrance2024-06-10Benton, John B Jr NEGOTIATION87Xuxue Feng
1033Clifford J BologniaSpain2024-05-31Morlong Associates PROPOSAL17Ioni Bowcher
1034Smith S CampainJapan2024-06-04Morlong Associates RENEWAL53Ioni Bowcher
1035Cody R MaletCanada2024-05-29Chapman, Ross E Esq NEGOTIATION10Ivan Magalhaes
1036Juan H StensethGermany2024-05-27Printing Dimensions NEW83Stephen Shaw
1037Faith E DoeSpain2024-06-02King, Christopher A Esq RENEWAL11Asiya Javayant
1038Smith G WhobreyUnited Kingdom2024-06-05Feltz Printing Service NEGOTIATION88Asiya Javayant
1039Misaki X MarrierUnited Kingdom2024-06-22Printing Dimensions NEGOTIATION87Elwin Sharvill
1040Wickens F PoquetteGermany2024-06-21Feltz Printing Service NEW96Xuxue Feng
1041Julie X KuskoIndia2024-05-24Buckley Miller Wright NEGOTIATION20Ivan Magalhaes
1042Greenwood X VenereSpain2024-06-19Truhlar And Truhlar Attys NEW81Amy Elsner
1043Mujtaba O FigeroaIndia2024-05-30Chemel, James L Cpa NEW3Amy Elsner
1044Wickens T RimJapan2024-05-28Truhlar And Truhlar Attys PROPOSAL93Anna Fali
1045Claire C MarrierBrazil2024-06-12Commercial Press PROPOSAL87Onyama Limba
1046Tony X BriddickSpain2024-06-19Feltz Printing Service UNQUALIFIED21Elwin Sharvill
1047Jeanfrancois I FerenczRussia2024-05-26Chanay, Jeffrey A Esq NEGOTIATION26Amy Elsner
1048Aditya U ChuiFrance2024-06-18Printing Dimensions UNQUALIFIED64Ivan Magalhaes
1049Ricardo G OldroydAustralia2024-06-20Truhlar And Truhlar Attys RENEWAL66Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ashley Q IturbideArgentinaStephen Shaw NEGOTIATION
Cody F PerinBrazilIoni Bowcher RENEWAL
Julie M CaldareraCanadaBernardo Dominic PROPOSAL
Salvatore D RoysterRussiaBernardo Dominic NEGOTIATION
Aika E PaprockiJapanStephen Shaw UNQUALIFIED
Kaitlin G VenereIndiaBernardo Dominic PROPOSAL
Jeanfrancois J NestleAustraliaElwin Sharvill NEGOTIATION
Nicolas O DilliardArgentinaAsiya Javayant NEW
Munro V BologniaFranceXuxue Feng QUALIFIED
Aditya C OldroydRussiaIvan Magalhaes NEGOTIATION
Jeanfrancois J NickaGermanyXuxue Feng UNQUALIFIED
Darci Q ShinkoJapanIoni Bowcher RENEWAL
Ashley K SlusarskiCanadaStephen Shaw PROPOSAL
Wickens N AmigonItalyElwin Sharvill UNQUALIFIED
Cody R SergiCanadaOnyama Limba NEGOTIATION
Adams V AmigonBrazilIoni Bowcher UNQUALIFIED
Maisha V ChuiCanadaIoni Bowcher QUALIFIED
Aruna C CaldareraItalyXuxue Feng UNQUALIFIED
Smith Q ChuiAustraliaElwin Sharvill NEGOTIATION
Adams B BologniaArgentinaBernardo Dominic UNQUALIFIED
Jefferson H GauchoFranceIvan Magalhaes UNQUALIFIED
Jones I SchemmerJapanStephen Shaw PROPOSAL
Maisha B BriddickUnited KingdomIoni Bowcher NEW
Stacey F ButtUnited KingdomAmy Elsner RENEWAL
Munro H WhobreyGermanyStephen Shaw PROPOSAL
Maisha R SergiFranceOnyama Limba RENEWAL
Antonio N NestleRussiaIoni Bowcher UNQUALIFIED
Octavia E AlbaresCanadaAsiya Javayant RENEWAL
Stacey K VocelkaIndiaOnyama Limba UNQUALIFIED
Ashley A CaudyItalyXuxue Feng RENEWAL
Murillo Y BowleyArgentinaAnna Fali UNQUALIFIED
Alejandro I CaldareraFranceXuxue Feng QUALIFIED
Nicolas O GlickSpainBernardo Dominic RENEWAL
Maria Q PoquetteFranceElwin Sharvill NEW
Aditya R SaylorsFranceAnna Fali PROPOSAL
Munro U MaletRussiaStephen Shaw QUALIFIED
Arvin T WaycottArgentinaOnyama Limba UNQUALIFIED
Misaki B WhobreyArgentinaXuxue Feng NEGOTIATION
James A ButtFranceIvan Magalhaes NEW
Morrow Q WieserFranceXuxue Feng UNQUALIFIED
Silvio V SchemmerRussiaBernardo Dominic UNQUALIFIED
Johnson R GauchoFranceAsiya Javayant PROPOSAL
Misaki B NickaCanadaIoni Bowcher NEGOTIATION
James X StensethIndiaOnyama Limba UNQUALIFIED
Kaitlin Q RimArgentinaAnna Fali NEW
Smith T ChuiItalyElwin Sharvill PROPOSAL
Mujtaba P BriddickAustraliaBernardo Dominic QUALIFIED
Leja G MorascaIndiaIoni Bowcher NEGOTIATION
Jefferson O FlosiGermanyAnna Fali UNQUALIFIED
Maria W ShinkoFranceAnna Fali QUALIFIED
Frozen Columns
Name
Maisha T Saylors
Ricardo K Schemmer
Maria A Glick
Ashley E Chui
Julie J Gillian
Nicolas I Ostrosky
Munro C Chui
Silvio E Bowley
Kadeem H Stockham
Jones H Glick
Antonio M Sergi
Darci G Ferencz
Jones O Flosi
Chavez H Whobrey
Kadeem H Oldroyd
Antonio T Poquette
Murillo Y Ruta
Silvio A Malet
Claire G Albares
Mayumi O Inouye
Rodrigues D Wieser
Ricardo V Waycott
Leon A Venere
Kaitlin X Slusarski
Ricardo G Chui
Silvio A Doe
Faith Y Poquette
Salvatore P Stockham
Ricardo D Oldroyd
Smith M Oldroyd
Silvio C Tollner
David R Dilliard
Emily K Gaucho
Aruna Y Figeroa
Murillo Z Malet
Maria E Venere
Alejandro M Wieser
Misaki S Dilliard
Leon D Iturbide
Isabel A Whobrey
Jones W Saylors
Kadeem T Foller
Leja C Maclead
Maisha U Rulapaugh
Jennifer R Bolognia
Mayumi Y Royster
Ricardo C Chui
Faith F Maclead
Kadeem Z Morasca
Maria O Briddick
IdCountryDate
1000Italy2024-06-22
1001Spain2024-06-09
1002India2024-06-15
1003Japan2024-06-16
1004Spain2024-05-26
1005Argentina2024-06-21
1006Italy2024-05-29
1007Spain2024-06-13
1008Brazil2024-05-31
1009Japan2024-06-13
1010Spain2024-06-04
1011Japan2024-06-20
1012Japan2024-06-03
1013Italy2024-06-13
1014Russia2024-06-05
1015France2024-06-08
1016Russia2024-06-13
1017Argentina2024-06-03
1018France2024-06-10
1019India2024-05-28
1020Argentina2024-06-20
1021Russia2024-05-28
1022Japan2024-06-21
1023Australia2024-06-07
1024India2024-06-19
1025France2024-06-06
1026Spain2024-06-15
1027India2024-06-06
1028Spain2024-06-06
1029United Kingdom2024-06-12
1030France2024-06-18
1031United Kingdom2024-06-11
1032Australia2024-06-09
1033India2024-06-14
1034Australia2024-06-01
1035Spain2024-06-03
1036France2024-06-05
1037Brazil2024-05-28
1038Australia2024-06-17
1039Russia2024-06-21
1040Italy2024-06-07
1041Germany2024-05-24
1042Italy2024-06-03
1043France2024-06-15
1044France2024-05-29
1045Japan2024-06-08
1046France2024-06-08
1047Argentina2024-06-20
1048Canada2024-06-21
1049Germany2024-05-28

On-Demand Data

NameIdCountryDate
Juan D Garufi1000India2024-06-04
Ashley W Nestle1001Brazil2024-05-25
Ivar L Morasca1002Japan2024-06-16
Wickens A Venere1003Brazil2024-06-02
Julie Y Vocelka1004France2024-06-18
Aruna X Rim1005Russia2024-06-06
Kaitlin T Vocelka1006India2024-05-31
Johnson M Nicka1007Argentina2024-06-02
Adams M Darakjy1008Canada2024-05-24
Faith Y Maclead1009Brazil2024-05-31
Leja O Morasca1010Canada2024-05-31
Isabel S Darakjy1011Russia2024-06-18
Alejandro P Gillian1012Canada2024-06-07
Darci O Campain1013Australia2024-06-02
Mayumi R Bowley1014Spain2024-05-29
Darci P Rim1015France2024-06-14
Tony Y Briddick1016Spain2024-06-02
Julie M Flosi1017France2024-06-18
Morrow B Dilliard1018Argentina2024-06-14
David M Chui1019Japan2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy T FlosiUnited KingdomIoni Bowcher PROPOSAL
Salvatore E VocelkaFranceIvan Magalhaes UNQUALIFIED
James Z FigeroaRussiaXuxue Feng RENEWAL
Aika O AlbaresCanadaAnna Fali PROPOSAL
Maria W SergiIndiaIvan Magalhaes NEGOTIATION
Mayumi Q CampainCanadaAmy Elsner NEW
Chavez Q ChuiFranceAsiya Javayant UNQUALIFIED
Izzy G NestleAustraliaElwin Sharvill NEGOTIATION
Tony E CaudyBrazilAnna Fali PROPOSAL
Aditya Y OstroskyArgentinaStephen Shaw QUALIFIED
Claire D IturbideUnited KingdomStephen Shaw RENEWAL
Mayumi A WaycottSpainStephen Shaw RENEWAL
Izzy P ChuiBrazilIvan Magalhaes RENEWAL
Chavez L BologniaCanadaIvan Magalhaes NEGOTIATION
Jefferson Q MarrierUnited KingdomAmy Elsner QUALIFIED
Julie I NestleJapanOnyama Limba RENEWAL
Greenwood M CampainArgentinaIvan Magalhaes UNQUALIFIED
Kaitlin T MacleadSpainAmy Elsner RENEWAL
Aruna V CampainJapanBernardo Dominic RENEWAL
James U IturbideIndiaIoni Bowcher QUALIFIED
Salvatore I KuskoRussiaBernardo Dominic RENEWAL
Leon X ButtRussiaElwin Sharvill PROPOSAL
Morrow R SaylorsIndiaStephen Shaw NEW
Arvin K OstroskyArgentinaElwin Sharvill NEGOTIATION
Leon T StockhamIndiaElwin Sharvill QUALIFIED
Jefferson E BologniaJapanIoni Bowcher NEGOTIATION
Aditya X SaylorsFranceElwin Sharvill NEGOTIATION
Johnson M BowleyUnited KingdomAmy Elsner QUALIFIED
James N SchemmerSpainXuxue Feng QUALIFIED
Aditya W ChuiBrazilOnyama Limba RENEWAL
Kadeem B FlosiFranceAmy Elsner RENEWAL
Murillo E DoeAustraliaOnyama Limba UNQUALIFIED
Ivar L CampainJapanElwin Sharvill NEW
Tony O BriddickGermanyAmy Elsner NEGOTIATION
Silvio J SaylorsBrazilAmy Elsner NEGOTIATION
Maria W DarakjyArgentinaAnna Fali QUALIFIED
Kaitlin U PaprockiArgentinaAnna Fali QUALIFIED
Munro O GarufiIndiaAmy Elsner UNQUALIFIED
Costa S DarakjyFranceAsiya Javayant PROPOSAL
Isabel D ChuiFranceAmy Elsner 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>