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
Isabel U StockhamArgentinaAnna Fali NEW
Jones S CaudyFranceIvan Magalhaes NEGOTIATION
Ivar R GlickItalyBernardo Dominic QUALIFIED
Emily M StockhamIndiaAsiya Javayant PROPOSAL
Mujtaba O RulapaughBrazilIvan Magalhaes PROPOSAL
Nicolas M NickaAustraliaAsiya Javayant QUALIFIED
Nicolas I MarrierItalyAsiya Javayant NEGOTIATION
Wickens T IturbideAustraliaXuxue Feng PROPOSAL
Leon I BologniaCanadaIoni Bowcher QUALIFIED
Silvio V PaprockiUnited KingdomIoni Bowcher PROPOSAL
Tony P RutaGermanyXuxue Feng UNQUALIFIED
Claire R MaletCanadaOnyama Limba UNQUALIFIED
Sinclair D BologniaItalyBernardo Dominic RENEWAL
Aditya D OstroskyJapanOnyama Limba NEW
Rodrigues L AlbaresAustraliaElwin Sharvill NEGOTIATION
Costa W BriddickItalyOnyama Limba PROPOSAL
Francesco H FerenczBrazilAnna Fali PROPOSAL
Maisha A MorascaArgentinaElwin Sharvill NEGOTIATION
Claire N IturbideBrazilIvan Magalhaes NEGOTIATION
Ricardo K ButtUnited KingdomAsiya Javayant PROPOSAL
Sinclair T ChuiFranceIoni Bowcher NEW
Francesco A GauchoArgentinaIvan Magalhaes NEGOTIATION
Arvin N CampainIndiaIoni Bowcher RENEWAL
Mujtaba I PoquetteUnited KingdomXuxue Feng NEW
Ashley V MaletFranceElwin Sharvill RENEWAL
Costa T DilliardArgentinaIvan Magalhaes NEW
Izzy D BriddickAustraliaIoni Bowcher NEW
Faith Q OldroydItalyElwin Sharvill UNQUALIFIED
Jennifer Y KuskoUnited KingdomIvan Magalhaes RENEWAL
Misaki P AmigonFranceXuxue Feng NEGOTIATION
Ricardo C BologniaCanadaAsiya Javayant QUALIFIED
Morrow D StensethItalyAnna Fali NEGOTIATION
Francesco F CaudyUnited KingdomElwin Sharvill RENEWAL
Stacey B WhobreyItalyAnna Fali NEW
Adams T MarrierSpainOnyama Limba NEW
Costa K GarufiArgentinaAsiya Javayant NEW
Mayumi K SlusarskiCanadaIoni Bowcher RENEWAL
Kaitlin F VocelkaCanadaXuxue Feng PROPOSAL
Jennifer C BriddickBrazilBernardo Dominic QUALIFIED
Ricardo U NickaFranceBernardo Dominic NEGOTIATION
Chavez T NickaJapanIoni Bowcher QUALIFIED
Jefferson Z PerinUnited KingdomOnyama Limba PROPOSAL
Morrow V RutaBrazilXuxue Feng RENEWAL
Wickens A VenereItalyStephen Shaw NEW
James E MaletRussiaAmy Elsner PROPOSAL
James K InouyeGermanyAmy Elsner RENEWAL
Isabel R MaletGermanyAsiya Javayant QUALIFIED
Izzy D ShinkoArgentinaXuxue Feng NEGOTIATION
Sinclair L CampainItalyAmy Elsner RENEWAL
Darci H KolmetzCanadaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin Q FollerRussiaAnna Fali QUALIFIED
Smith G DilliardSpainXuxue Feng QUALIFIED
Munro F ButtJapanAsiya Javayant NEW
Costa T ButtSpainBernardo Dominic QUALIFIED
Munro D MorascaRussiaElwin Sharvill UNQUALIFIED
Leon J MorascaCanadaElwin Sharvill PROPOSAL
Wickens Q CampainCanadaIoni Bowcher QUALIFIED
Adams T SlusarskiJapanOnyama Limba QUALIFIED
Kaitlin V WaycottArgentinaElwin Sharvill NEW
Maisha B CampainIndiaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow X IturbideArgentina2024-06-06Chanay, Jeffrey A Esq PROPOSAL75Elwin Sharvill
1001Ashley V OldroydCanada2024-06-18Feiner Bros UNQUALIFIED23Anna Fali
1002Clifford D SergiCanada2024-06-18Commercial Press RENEWAL20Ivan Magalhaes
1003Misaki O MacleadCanada2024-06-20Rangoni Of Florence NEW22Stephen Shaw
1004Leja V RulapaughGermany2024-06-17Commercial Press UNQUALIFIED88Ioni Bowcher
1005Misaki A RulapaughSpain2024-06-04Benton, John B Jr PROPOSAL83Stephen Shaw
1006Aika B CampainCanada2024-06-07Morlong Associates NEW60Anna Fali
1007Jeanfrancois S CaudyGermany2024-05-24Rangoni Of Florence NEW49Asiya Javayant
1008Wickens V MaletAustralia2024-06-10Commercial Press RENEWAL69Ioni Bowcher
1009Aditya A PoquetteJapan2024-05-26Rousseaux, Michael Esq NEGOTIATION43Stephen Shaw
1010Kadeem Z BowleyAustralia2024-05-29Chapman, Ross E Esq UNQUALIFIED60Elwin Sharvill
1011Murillo S MaletBrazil2024-05-30Chemel, James L Cpa RENEWAL77Asiya Javayant
1012Clifford E BologniaRussia2024-05-25Rangoni Of Florence UNQUALIFIED10Anna Fali
1013Aika O OldroydGermany2024-05-24King, Christopher A Esq UNQUALIFIED87Elwin Sharvill
1014Ricardo P SaylorsGermany2024-05-26Buckley Miller Wright RENEWAL86Anna Fali
1015Jennifer E StensethJapan2024-06-20Truhlar And Truhlar Attys UNQUALIFIED60Asiya Javayant
1016Emily I GillianIndia2024-06-15Printing Dimensions QUALIFIED42Asiya Javayant
1017Murillo F StockhamGermany2024-05-28Benton, John B Jr PROPOSAL63Bernardo Dominic
1018Claire E CaudyItaly2024-06-10Rousseaux, Michael Esq NEGOTIATION78Amy Elsner
1019Adams A PerinItaly2024-06-19Printing Dimensions PROPOSAL5Asiya Javayant
1020Alejandro U SaylorsJapan2024-05-31Commercial Press NEGOTIATION31Bernardo Dominic
1021Salvatore Q KolmetzUnited Kingdom2024-06-02Rangoni Of Florence NEW68Elwin Sharvill
1022Morrow N DilliardIndia2024-05-27Rangoni Of Florence NEGOTIATION61Amy Elsner
1023Claire B SergiJapan2024-05-26Chemel, James L Cpa PROPOSAL99Onyama Limba
1024Smith T PoquetteFrance2024-05-27Chapman, Ross E Esq NEGOTIATION44Amy Elsner
1025James G NickaRussia2024-06-10King, Christopher A Esq PROPOSAL48Amy Elsner
1026Murillo I PaprockiRussia2024-06-16Morlong Associates QUALIFIED79Ioni Bowcher
1027Sinclair A InouyeRussia2024-06-03Chemel, James L Cpa QUALIFIED75Onyama Limba
1028Clifford G StensethIndia2024-06-16Chapman, Ross E Esq RENEWAL78Onyama Limba
1029Clifford B SlusarskiBrazil2024-06-12Feltz Printing Service UNQUALIFIED81Xuxue Feng
1030Chavez J SlusarskiFrance2024-06-16King, Christopher A Esq NEGOTIATION8Asiya Javayant
1031Claire Y IturbideCanada2024-06-03Feiner Bros RENEWAL52Bernardo Dominic
1032Mayumi Y SaylorsArgentina2024-06-05Feiner Bros UNQUALIFIED77Onyama Limba
1033Wickens P DilliardBrazil2024-06-06King, Christopher A Esq NEGOTIATION38Elwin Sharvill
1034Sinclair M VenereUnited Kingdom2024-06-16Commercial Press NEGOTIATION54Onyama Limba
1035Murillo F OstroskyCanada2024-06-01Rousseaux, Michael Esq NEGOTIATION65Bernardo Dominic
1036Izzy N PerinCanada2024-06-19Rousseaux, Michael Esq QUALIFIED24Ioni Bowcher
1037Salvatore Q MaletBrazil2024-05-26Dorl, James J Esq RENEWAL47Amy Elsner
1038Misaki Q RoysterUnited Kingdom2024-05-24Printing Dimensions QUALIFIED40Bernardo Dominic
1039Stacey J RimAustralia2024-06-01Dorl, James J Esq RENEWAL9Asiya Javayant
1040Clifford U BowleyCanada2024-06-12Rousseaux, Michael Esq QUALIFIED10Stephen Shaw
1041Johnson W ChuiGermany2024-05-27Feltz Printing Service PROPOSAL72Asiya Javayant
1042Maisha L GlickItaly2024-06-03Chapman, Ross E Esq RENEWAL11Amy Elsner
1043Julie M KuskoFrance2024-06-18Feiner Bros NEGOTIATION88Elwin Sharvill
1044Smith V TollnerAustralia2024-06-03Commercial Press QUALIFIED77Amy Elsner
1045Antonio Z SchemmerFrance2024-05-27Dorl, James J Esq UNQUALIFIED3Anna Fali
1046Greenwood A FigeroaCanada2024-06-13King, Christopher A Esq RENEWAL87Ioni Bowcher
1047Jennifer X SlusarskiGermany2024-05-24Printing Dimensions UNQUALIFIED65Asiya Javayant
1048Misaki F StockhamUnited Kingdom2024-05-28Benton, John B Jr NEGOTIATION34Onyama Limba
1049Cody A RoysterIndia2024-06-20King, Christopher A Esq NEGOTIATION79Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Alejandro H PerinBrazilElwin Sharvill RENEWAL
Misaki C GarufiGermanyBernardo Dominic NEW
Murillo U AmigonItalyAnna Fali PROPOSAL
Tony Y FollerJapanXuxue Feng PROPOSAL
Mayumi H FollerGermanyIoni Bowcher RENEWAL
Adams S DilliardJapanAsiya Javayant UNQUALIFIED
David I CaudyFranceStephen Shaw RENEWAL
Smith Z SchemmerFranceXuxue Feng NEW
Adams K PaprockiGermanyAsiya Javayant PROPOSAL
Tony H BriddickGermanyOnyama Limba QUALIFIED
Silvio K SchemmerFranceXuxue Feng QUALIFIED
Antonio R SaylorsArgentinaAsiya Javayant RENEWAL
Kaitlin B VenereArgentinaIvan Magalhaes UNQUALIFIED
Smith Q GauchoFranceOnyama Limba NEW
Kaitlin S CampainItalyOnyama Limba NEW
Misaki H CampainItalyElwin Sharvill NEW
Ricardo N ButtJapanIoni Bowcher NEGOTIATION
David Z OstroskySpainStephen Shaw NEW
Ricardo D KolmetzUnited KingdomAnna Fali QUALIFIED
Morrow J BologniaFranceIvan Magalhaes QUALIFIED
Silvio P KolmetzIndiaAmy Elsner NEGOTIATION
Stacey V CampainItalyAsiya Javayant RENEWAL
Leja M KolmetzBrazilAnna Fali NEW
Antonio Q SlusarskiItalyOnyama Limba QUALIFIED
Aditya L StensethJapanAnna Fali PROPOSAL
Smith V DoeFranceAmy Elsner UNQUALIFIED
Sinclair F RutaGermanyElwin Sharvill RENEWAL
Leja U SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Nicolas I WhobreyJapanIvan Magalhaes PROPOSAL
Jennifer S MorascaIndiaAsiya Javayant RENEWAL
Aditya Y FigeroaRussiaXuxue Feng NEW
Salvatore C GillianBrazilAsiya Javayant QUALIFIED
Jennifer T TollnerRussiaBernardo Dominic UNQUALIFIED
Mujtaba M MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Morrow P StensethIndiaBernardo Dominic RENEWAL
Chavez S WaycottItalyIoni Bowcher NEGOTIATION
Arvin L TollnerArgentinaBernardo Dominic NEGOTIATION
Deepesh B NestleUnited KingdomIvan Magalhaes NEW
David V VocelkaBrazilElwin Sharvill NEW
Salvatore K OstroskyRussiaAmy Elsner PROPOSAL
Octavia F SergiCanadaElwin Sharvill QUALIFIED
Rodrigues N PerinCanadaAnna Fali UNQUALIFIED
Kaitlin V OstroskyBrazilAsiya Javayant NEW
Darci A GillianUnited KingdomAsiya Javayant PROPOSAL
Juan K KolmetzBrazilAmy Elsner NEGOTIATION
Isabel P DilliardIndiaElwin Sharvill UNQUALIFIED
Juan X WhobreyRussiaStephen Shaw UNQUALIFIED
Nicolas T CaldareraBrazilStephen Shaw UNQUALIFIED
David O SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Kaitlin Y ButtJapanStephen Shaw QUALIFIED
Frozen Columns
Name
Juan E Dilliard
Johnson X Shinko
Jeanfrancois B Campain
Nicolas R Whobrey
Alejandro E Vocelka
Aditya X Perin
Ricardo L Whobrey
Johnson T Kusko
Misaki Q Poquette
Maisha A Inouye
Arvin F Foller
Ricardo Q Tollner
Maria F Kusko
Aruna V Saylors
Sinclair S Foller
Maisha P Marrier
Mayumi Q Malet
Kaitlin I Kusko
Claire E Oldroyd
Sinclair D Iturbide
Jefferson P Morasca
Mayumi X Caudy
David F Figeroa
Smith A Dilliard
Ashley R Doe
Alejandro Y Kolmetz
Maria J Saylors
Tony R Nestle
Jones K Oldroyd
Jeanfrancois B Doe
Mujtaba S Briddick
Chavez W Wieser
Emily G Royster
Greenwood C Ferencz
Ricardo G Butt
Leon P Chui
Rodrigues D Morasca
Isabel E Rim
Julie Y Waycott
Deepesh C Nicka
Ricardo U Albares
Isabel T Stenseth
Jefferson D Caldarera
Mayumi K Gaucho
Murillo R Marrier
Aruna D Bolognia
Misaki I Paprocki
Jefferson T Royster
Johnson G Malet
Claire U Amigon
IdCountryDate
1000Italy2024-05-29
1001United Kingdom2024-06-09
1002Japan2024-06-12
1003United Kingdom2024-06-08
1004United Kingdom2024-05-27
1005Germany2024-06-19
1006Canada2024-06-01
1007Germany2024-06-14
1008Russia2024-06-21
1009Argentina2024-06-06
1010Japan2024-06-12
1011Australia2024-06-02
1012India2024-06-10
1013France2024-06-04
1014United Kingdom2024-05-24
1015Italy2024-06-02
1016Italy2024-06-02
1017Italy2024-06-03
1018Italy2024-05-25
1019Brazil2024-05-29
1020Germany2024-06-22
1021Spain2024-06-19
1022Spain2024-06-22
1023Spain2024-06-11
1024Brazil2024-06-15
1025India2024-06-17
1026United Kingdom2024-06-15
1027Russia2024-06-04
1028Japan2024-06-16
1029Argentina2024-06-02
1030Brazil2024-06-21
1031Russia2024-06-19
1032United Kingdom2024-06-16
1033India2024-06-20
1034India2024-05-27
1035Australia2024-06-19
1036Brazil2024-06-12
1037Spain2024-06-22
1038France2024-06-15
1039France2024-06-01
1040Germany2024-05-25
1041Germany2024-06-11
1042Italy2024-06-15
1043Germany2024-06-16
1044Russia2024-06-10
1045France2024-06-21
1046Australia2024-06-10
1047Germany2024-06-13
1048Spain2024-06-09
1049Spain2024-06-09

On-Demand Data

NameIdCountryDate
Jones T Poquette1000United Kingdom2024-06-11
Johnson W Stenseth1001Argentina2024-05-24
Aditya T Whobrey1002Australia2024-06-15
David I Ferencz1003Germany2024-06-11
Francesco H Wieser1004India2024-06-12
Ivar K Foller1005Argentina2024-06-03
Aika D Figeroa1006Brazil2024-06-09
Aika S Malet1007Canada2024-06-02
Isabel Q Figeroa1008Japan2024-06-04
Munro W Campain1009Japan2024-06-18
Aruna R Kusko1010Italy2024-06-16
Julie I Dilliard1011Germany2024-06-22
Morrow W Glick1012France2024-06-20
Nicolas X Amigon1013Japan2024-06-21
Leja P Caldarera1014Canada2024-06-10
Kadeem F Iturbide1015France2024-06-07
Aruna H Whobrey1016France2024-06-22
Francesco Z Gillian1017Argentina2024-05-30
Leja U Figeroa1018Australia2024-06-08
Wickens T Amigon1019Spain2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci X MaletBrazilAmy Elsner NEGOTIATION
Leja Q NestleJapanAnna Fali NEGOTIATION
Munro E FlosiSpainIvan Magalhaes NEGOTIATION
Arvin K StensethRussiaStephen Shaw QUALIFIED
Johnson Y ChuiJapanXuxue Feng RENEWAL
Leon S AlbaresFranceAnna Fali RENEWAL
Julie J MarrierUnited KingdomBernardo Dominic NEW
Murillo U WieserGermanyAsiya Javayant PROPOSAL
Julie L AlbaresIndiaAnna Fali NEGOTIATION
Kaitlin X DilliardUnited KingdomXuxue Feng NEGOTIATION
Aika J WieserJapanIoni Bowcher NEGOTIATION
Octavia L RoysterJapanOnyama Limba UNQUALIFIED
Jefferson Q DoeItalyOnyama Limba NEGOTIATION
Ricardo C WhobreySpainAsiya Javayant UNQUALIFIED
Kadeem U WaycottIndiaAnna Fali QUALIFIED
Leon A BologniaJapanXuxue Feng QUALIFIED
Emily L ButtAustraliaXuxue Feng NEGOTIATION
Costa Q MarrierAustraliaAsiya Javayant RENEWAL
Izzy E NestleJapanAmy Elsner QUALIFIED
Tony B VenereItalyIvan Magalhaes RENEWAL
Julie M DilliardItalyElwin Sharvill QUALIFIED
Jones B AlbaresIndiaBernardo Dominic NEW
Julie C SergiJapanAmy Elsner NEW
Maisha F ChuiItalyElwin Sharvill QUALIFIED
Morrow G WieserItalyAmy Elsner PROPOSAL
Sinclair F ButtArgentinaXuxue Feng PROPOSAL
Jeanfrancois M RimAustraliaIvan Magalhaes PROPOSAL
Sinclair G KuskoRussiaStephen Shaw UNQUALIFIED
Deepesh P FerenczSpainAsiya Javayant PROPOSAL
Chavez U WieserFranceIoni Bowcher QUALIFIED
Morrow X MaletBrazilElwin Sharvill NEGOTIATION
Adams E RimAustraliaOnyama Limba RENEWAL
Tony I MaletItalyElwin Sharvill RENEWAL
Munro P RutaJapanStephen Shaw NEGOTIATION
Munro C ChuiRussiaIvan Magalhaes UNQUALIFIED
Kadeem B RoysterArgentinaOnyama Limba NEGOTIATION
Jeanfrancois O OstroskyCanadaIoni Bowcher QUALIFIED
Tony S WaycottIndiaIoni Bowcher NEGOTIATION
Johnson M NickaRussiaElwin Sharvill PROPOSAL
Ivar H DilliardCanadaElwin Sharvill QUALIFIED

<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>