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
Cody E RutaGermanyAnna Fali RENEWAL
Kadeem U WhobreyJapanAnna Fali RENEWAL
David S MacleadCanadaIvan Magalhaes NEGOTIATION
Costa W IturbideFranceIoni Bowcher PROPOSAL
Morrow T VocelkaRussiaOnyama Limba NEGOTIATION
Jeanfrancois W RulapaughAustraliaOnyama Limba NEW
David D AmigonFranceBernardo Dominic RENEWAL
Claire C SlusarskiFranceElwin Sharvill RENEWAL
Arvin U MacleadBrazilElwin Sharvill NEW
Adams J FigeroaCanadaIoni Bowcher PROPOSAL
Munro U RulapaughItalyElwin Sharvill PROPOSAL
Darci T SchemmerUnited KingdomXuxue Feng PROPOSAL
Clifford Y KolmetzBrazilAsiya Javayant NEW
Mujtaba R VenereCanadaBernardo Dominic QUALIFIED
Johnson E DarakjyGermanyAmy Elsner RENEWAL
Cody G ShinkoFranceBernardo Dominic PROPOSAL
Francesco L RulapaughIndiaIvan Magalhaes PROPOSAL
Munro S GarufiItalyAmy Elsner UNQUALIFIED
Murillo Y MaletJapanAnna Fali UNQUALIFIED
Francesco T CaudyUnited KingdomXuxue Feng NEGOTIATION
Johnson N RoysterSpainStephen Shaw QUALIFIED
Leon M FlosiSpainIvan Magalhaes UNQUALIFIED
Chavez F SergiJapanIvan Magalhaes PROPOSAL
Morrow C PaprockiBrazilXuxue Feng PROPOSAL
Aika T GauchoBrazilAmy Elsner RENEWAL
Faith S MaletArgentinaIvan Magalhaes NEGOTIATION
Jeanfrancois N MarrierGermanyElwin Sharvill NEW
Nicolas Y SergiCanadaOnyama Limba UNQUALIFIED
Emily O ShinkoSpainElwin Sharvill QUALIFIED
Maria E MarrierJapanStephen Shaw PROPOSAL
Faith A GlickJapanXuxue Feng PROPOSAL
Julie C PoquetteCanadaAmy Elsner QUALIFIED
Maisha V GlickUnited KingdomAnna Fali RENEWAL
Kadeem A SaylorsBrazilElwin Sharvill UNQUALIFIED
Rodrigues F ChuiArgentinaXuxue Feng UNQUALIFIED
Isabel F PoquetteJapanOnyama Limba NEW
Misaki H SlusarskiCanadaIvan Magalhaes UNQUALIFIED
Aruna D AmigonGermanyAsiya Javayant UNQUALIFIED
Maria N NestleSpainOnyama Limba RENEWAL
James W ShinkoAustraliaBernardo Dominic RENEWAL
David V GillianBrazilOnyama Limba NEGOTIATION
Adams B KolmetzRussiaOnyama Limba QUALIFIED
Clifford C SergiIndiaIvan Magalhaes NEGOTIATION
Faith A CampainAustraliaAsiya Javayant PROPOSAL
Wickens M KolmetzRussiaAmy Elsner QUALIFIED
Misaki J ChuiUnited KingdomIvan Magalhaes RENEWAL
Adams O KolmetzRussiaAmy Elsner PROPOSAL
Isabel D VenereFranceXuxue Feng QUALIFIED
Juan J PaprockiSpainStephen Shaw PROPOSAL
Costa M GarufiFranceIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ivar J FigeroaArgentinaXuxue Feng QUALIFIED
Aditya Q FerenczBrazilOnyama Limba UNQUALIFIED
Jones I PaprockiBrazilBernardo Dominic UNQUALIFIED
Aditya Y OstroskyRussiaStephen Shaw NEGOTIATION
Maisha Z StockhamBrazilAsiya Javayant RENEWAL
Cody X TollnerUnited KingdomAnna Fali QUALIFIED
Chavez F OstroskyUnited KingdomStephen Shaw UNQUALIFIED
Chavez Q BologniaAustraliaBernardo Dominic NEGOTIATION
Tony M TollnerJapanElwin Sharvill NEGOTIATION
Ricardo F RulapaughUnited KingdomStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan A MacleadSpain2024-05-20Chemel, James L Cpa UNQUALIFIED57Anna Fali
1001Antonio X PaprockiAustralia2024-05-26Dorl, James J Esq NEW23Bernardo Dominic
1002Leja S CaudyAustralia2024-05-25Rousseaux, Michael Esq UNQUALIFIED42Anna Fali
1003Alejandro Q SaylorsFrance2024-06-10Chapman, Ross E Esq NEGOTIATION22Bernardo Dominic
1004Octavia C MaletAustralia2024-05-19Truhlar And Truhlar Attys UNQUALIFIED78Stephen Shaw
1005Jefferson L MarrierItaly2024-05-27Feltz Printing Service UNQUALIFIED39Onyama Limba
1006Mujtaba O GarufiUnited Kingdom2024-05-18Printing Dimensions QUALIFIED44Stephen Shaw
1007Isabel S CaudyUnited Kingdom2024-06-13Buckley Miller Wright UNQUALIFIED57Elwin Sharvill
1008Emily F SchemmerIndia2024-06-08Chemel, James L Cpa PROPOSAL0Asiya Javayant
1009Morrow Z RulapaughJapan2024-05-24Chapman, Ross E Esq NEGOTIATION74Amy Elsner
1010Mayumi T StockhamIndia2024-06-04Feiner Bros QUALIFIED43Onyama Limba
1011Smith R NestleCanada2024-05-30Chemel, James L Cpa RENEWAL46Anna Fali
1012Munro M WaycottUnited Kingdom2024-06-07Commercial Press UNQUALIFIED71Xuxue Feng
1013Jones E BologniaCanada2024-06-03Buckley Miller Wright UNQUALIFIED87Stephen Shaw
1014Cody R RimGermany2024-05-26Chemel, James L Cpa PROPOSAL87Asiya Javayant
1015Aditya W RoysterRussia2024-06-05Feiner Bros NEW2Xuxue Feng
1016Nicolas O DoeAustralia2024-06-06King, Christopher A Esq NEW67Asiya Javayant
1017Izzy X CampainItaly2024-06-10Commercial Press QUALIFIED23Amy Elsner
1018Aditya Z ButtCanada2024-06-12Chemel, James L Cpa NEGOTIATION81Ioni Bowcher
1019Arvin O BologniaCanada2024-05-26Dorl, James J Esq RENEWAL2Onyama Limba
1020Murillo K AmigonIndia2024-05-31Chemel, James L Cpa NEGOTIATION5Asiya Javayant
1021Emily M ChuiGermany2024-05-27King, Christopher A Esq NEGOTIATION31Asiya Javayant
1022Munro J VenereSpain2024-05-23King, Christopher A Esq NEGOTIATION37Elwin Sharvill
1023Isabel U DoeGermany2024-06-05Feiner Bros PROPOSAL5Onyama Limba
1024Misaki B CaldareraBrazil2024-06-01Chemel, James L Cpa RENEWAL19Stephen Shaw
1025Tony U StockhamUnited Kingdom2024-05-29Feiner Bros UNQUALIFIED89Bernardo Dominic
1026Tony Z RoysterArgentina2024-05-29Buckley Miller Wright RENEWAL17Stephen Shaw
1027Smith F FlosiGermany2024-05-22King, Christopher A Esq RENEWAL16Ioni Bowcher
1028Sinclair A CampainBrazil2024-06-08Printing Dimensions UNQUALIFIED75Xuxue Feng
1029Silvio W FlosiBrazil2024-05-23Feiner Bros NEGOTIATION51Elwin Sharvill
1030Maisha B FerenczUnited Kingdom2024-05-22Buckley Miller Wright UNQUALIFIED1Stephen Shaw
1031Sinclair Q CaudyBrazil2024-05-22Benton, John B Jr NEW20Elwin Sharvill
1032Aditya U TollnerJapan2024-05-27Chanay, Jeffrey A Esq NEGOTIATION56Amy Elsner
1033Antonio P CaudyArgentina2024-05-27Feiner Bros RENEWAL4Bernardo Dominic
1034Ivar Z WaycottFrance2024-05-20Truhlar And Truhlar Attys PROPOSAL79Onyama Limba
1035Sinclair O DarakjyFrance2024-06-09Printing Dimensions UNQUALIFIED73Xuxue Feng
1036Rodrigues W RimFrance2024-05-20Chapman, Ross E Esq RENEWAL7Anna Fali
1037Misaki B RoysterSpain2024-05-29Commercial Press NEGOTIATION26Onyama Limba
1038Cody C BologniaIndia2024-06-05Chapman, Ross E Esq RENEWAL87Ivan Magalhaes
1039Isabel F NestleRussia2024-06-09Rangoni Of Florence QUALIFIED36Stephen Shaw
1040Chavez C SchemmerFrance2024-06-15Benton, John B Jr QUALIFIED29Ivan Magalhaes
1041Greenwood V OstroskyIndia2024-05-31Rousseaux, Michael Esq QUALIFIED40Xuxue Feng
1042Johnson H DoeCanada2024-06-13King, Christopher A Esq PROPOSAL69Xuxue Feng
1043Stacey M MaletGermany2024-06-12Truhlar And Truhlar Attys QUALIFIED65Onyama Limba
1044Antonio E IturbideGermany2024-06-02Printing Dimensions NEGOTIATION25Xuxue Feng
1045Sinclair Z FerenczJapan2024-06-09Dorl, James J Esq PROPOSAL79Onyama Limba
1046Clifford H BologniaAustralia2024-05-26King, Christopher A Esq NEGOTIATION16Stephen Shaw
1047Misaki O ShinkoFrance2024-06-01Chemel, James L Cpa QUALIFIED71Anna Fali
1048Izzy N DoeRussia2024-05-22Printing Dimensions UNQUALIFIED70Asiya Javayant
1049Sinclair N StockhamIndia2024-05-17Feiner Bros RENEWAL56Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba D CampainJapanAsiya Javayant NEGOTIATION
Chavez C StensethUnited KingdomElwin Sharvill PROPOSAL
Jeanfrancois O FigeroaFranceElwin Sharvill NEGOTIATION
Rodrigues K FlosiArgentinaAmy Elsner UNQUALIFIED
Tony V MaletFranceOnyama Limba NEGOTIATION
Jefferson O CampainGermanyBernardo Dominic NEW
Greenwood I GauchoBrazilBernardo Dominic NEGOTIATION
Emily P VenereRussiaBernardo Dominic NEW
Nicolas W ChuiBrazilXuxue Feng NEGOTIATION
Deepesh S DoeCanadaAnna Fali NEGOTIATION
Aditya O FlosiItalyOnyama Limba NEW
Chavez S PaprockiCanadaIvan Magalhaes QUALIFIED
Leja C VenereUnited KingdomAnna Fali QUALIFIED
Cody D DarakjyRussiaElwin Sharvill NEW
James Q GauchoFranceAnna Fali QUALIFIED
Jones N TollnerAustraliaIoni Bowcher NEW
Nicolas R PerinCanadaAnna Fali NEW
Maria X DilliardSpainAsiya Javayant QUALIFIED
Adams K GlickRussiaStephen Shaw PROPOSAL
Maisha V RulapaughJapanIvan Magalhaes QUALIFIED
Silvio P OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Isabel W FigeroaSpainIoni Bowcher UNQUALIFIED
Kadeem U DilliardFranceAsiya Javayant QUALIFIED
Rodrigues W RoysterArgentinaElwin Sharvill NEGOTIATION
Nicolas M DilliardJapanIvan Magalhaes RENEWAL
Claire U BowleyFranceIoni Bowcher PROPOSAL
Ashley E RutaAustraliaAmy Elsner NEW
Salvatore X NickaGermanyAsiya Javayant NEGOTIATION
Johnson H BologniaBrazilOnyama Limba NEGOTIATION
Smith D SergiIndiaIvan Magalhaes QUALIFIED
Cody X StensethJapanIvan Magalhaes RENEWAL
Nicolas P BologniaBrazilAmy Elsner RENEWAL
Francesco K AlbaresUnited KingdomAnna Fali QUALIFIED
Wickens C InouyeIndiaIoni Bowcher NEGOTIATION
Izzy X MorascaIndiaStephen Shaw RENEWAL
Maisha O MarrierFranceAmy Elsner RENEWAL
Darci P WhobreyGermanyOnyama Limba PROPOSAL
Jefferson V VocelkaGermanyAmy Elsner UNQUALIFIED
James G PaprockiSpainElwin Sharvill NEGOTIATION
Costa Y NickaJapanOnyama Limba NEW
Misaki Q FollerGermanyAsiya Javayant RENEWAL
Sinclair W WhobreyFranceElwin Sharvill NEW
James Q BologniaAustraliaAmy Elsner RENEWAL
Ashley D WieserGermanyAnna Fali UNQUALIFIED
Tony T OstroskyAustraliaOnyama Limba RENEWAL
Deepesh G SergiItalyAsiya Javayant QUALIFIED
Maisha G WieserUnited KingdomAsiya Javayant NEW
Francesco C NestleJapanStephen Shaw NEGOTIATION
Cody Y SchemmerRussiaIvan Magalhaes UNQUALIFIED
Sinclair B KuskoIndiaBernardo Dominic NEW
Frozen Columns
Name
Clifford D Poquette
Munro S Nestle
Ashley N Caudy
Francesco K Chui
Munro J Saylors
Faith J Inouye
Leja N Chui
Jones H Ferencz
Jennifer Z Malet
Silvio Z Butt
Alejandro U Briddick
Morrow V Ruta
Sinclair T Stenseth
Smith P Nestle
Murillo F Chui
Arvin E Tollner
Murillo B Rim
Munro U Ruta
Isabel J Poquette
Sinclair B Stockham
Munro W Darakjy
Octavia A Figeroa
Murillo I Malet
Wickens T Sergi
Leja A Vocelka
Costa E Rulapaugh
Wickens G Marrier
Kadeem M Venere
Morrow W Caudy
Juan D Chui
Cody V Ruta
Munro E Nestle
Isabel D Albares
Mayumi Z Morasca
Alejandro R Vocelka
Darci U Albares
Aika M Dilliard
Nicolas Z Garufi
Nicolas Q Slusarski
Octavia F Slusarski
Kaitlin C Campain
Maria R Maclead
Sinclair P Waycott
Murillo A Figeroa
Octavia T Glick
Darci L Butt
James Q Kusko
Darci T Royster
Darci F Vocelka
Salvatore K Poquette
IdCountryDate
1000France2024-05-31
1001Italy2024-06-12
1002Japan2024-05-18
1003France2024-05-24
1004Japan2024-05-30
1005United Kingdom2024-05-21
1006United Kingdom2024-06-14
1007Japan2024-05-22
1008Canada2024-06-09
1009Italy2024-06-04
1010France2024-06-06
1011Canada2024-05-31
1012Australia2024-05-17
1013Argentina2024-06-11
1014Japan2024-05-29
1015Australia2024-05-19
1016Japan2024-05-31
1017United Kingdom2024-05-28
1018Canada2024-05-30
1019Russia2024-05-28
1020Argentina2024-05-21
1021United Kingdom2024-06-06
1022United Kingdom2024-05-20
1023Spain2024-06-05
1024Australia2024-06-03
1025France2024-06-10
1026Canada2024-05-18
1027Argentina2024-06-11
1028Australia2024-06-12
1029France2024-06-11
1030United Kingdom2024-06-02
1031Canada2024-06-08
1032Australia2024-05-23
1033Spain2024-05-19
1034Germany2024-05-19
1035France2024-05-24
1036Russia2024-05-22
1037Japan2024-05-22
1038France2024-05-28
1039France2024-05-23
1040Italy2024-06-09
1041France2024-06-13
1042Russia2024-06-14
1043Japan2024-05-27
1044Russia2024-06-10
1045France2024-06-13
1046Japan2024-06-10
1047France2024-06-11
1048Japan2024-06-03
1049Germany2024-05-19

On-Demand Data

NameIdCountryDate
James U Stockham1000United Kingdom2024-05-23
Rodrigues Z Figeroa1001Argentina2024-05-27
Mujtaba M Slusarski1002United Kingdom2024-05-24
James C Tollner1003Australia2024-06-08
Silvio E Stenseth1004Canada2024-06-12
Isabel P Figeroa1005Germany2024-06-12
Ivar F Stenseth1006Russia2024-06-13
Rodrigues U Caldarera1007France2024-06-11
Izzy Y Malet1008Canada2024-06-11
Arvin B Campain1009Australia2024-05-26
Misaki R Ferencz1010Argentina2024-05-21
Sinclair U Figeroa1011France2024-06-07
Aruna O Flosi1012Argentina2024-05-30
Faith O Amigon1013France2024-06-06
Salvatore J Tollner1014France2024-05-20
Cody Q Glick1015Brazil2024-06-04
Kaitlin C Saylors1016Russia2024-06-07
Julie V Doe1017Japan2024-05-23
Claire V Inouye1018Germany2024-06-10
Wickens E Nestle1019Brazil2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair F NickaItalyAnna Fali QUALIFIED
Aditya B FerenczRussiaBernardo Dominic UNQUALIFIED
Ivar F PerinBrazilOnyama Limba UNQUALIFIED
Leon V SchemmerIndiaAmy Elsner NEW
Maisha A OldroydCanadaElwin Sharvill NEW
Deepesh L CaudyBrazilOnyama Limba NEW
Sinclair O MarrierFranceIvan Magalhaes NEW
Alejandro M RutaRussiaStephen Shaw RENEWAL
Cody S OstroskyFranceElwin Sharvill RENEWAL
Aruna V SaylorsGermanyAmy Elsner PROPOSAL
Jennifer H DilliardFranceIvan Magalhaes UNQUALIFIED
James D DoeJapanAsiya Javayant NEW
Misaki J VenereGermanyOnyama Limba UNQUALIFIED
Claire T BologniaBrazilOnyama Limba RENEWAL
Tony Y VenereArgentinaXuxue Feng NEW
Arvin F InouyeArgentinaXuxue Feng QUALIFIED
Julie G DoeGermanyXuxue Feng NEGOTIATION
Sinclair Y MorascaRussiaBernardo Dominic QUALIFIED
Morrow H OldroydCanadaAnna Fali QUALIFIED
Tony L NickaGermanyXuxue Feng NEW
Misaki J SlusarskiArgentinaAnna Fali PROPOSAL
Mujtaba X GillianItalyElwin Sharvill QUALIFIED
Morrow D FollerCanadaIoni Bowcher PROPOSAL
Ashley F VenereCanadaBernardo Dominic QUALIFIED
Ivar J DarakjyIndiaStephen Shaw NEW
Kaitlin G SlusarskiBrazilIoni Bowcher RENEWAL
Deepesh P BologniaBrazilOnyama Limba NEGOTIATION
Greenwood F MarrierGermanyAsiya Javayant QUALIFIED
Jennifer Q FerenczAustraliaOnyama Limba RENEWAL
Aditya C OstroskyCanadaAnna Fali QUALIFIED
Wickens Y RoysterCanadaStephen Shaw UNQUALIFIED
Jennifer S BriddickCanadaAsiya Javayant RENEWAL
Ivar J FigeroaItalyOnyama Limba UNQUALIFIED
Aika S ChuiJapanAsiya Javayant NEW
Maisha D PaprockiRussiaXuxue Feng PROPOSAL
Aruna Z AmigonFranceXuxue Feng NEGOTIATION
Rodrigues H NestleBrazilXuxue Feng RENEWAL
Nicolas Z MarrierJapanOnyama Limba RENEWAL
Jefferson Z NickaCanadaOnyama Limba RENEWAL
Leon K KolmetzRussiaAmy Elsner 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>