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
Arvin C FollerUnited KingdomBernardo Dominic RENEWAL
Darci C FerenczIndiaIvan Magalhaes QUALIFIED
Morrow N FollerSpainBernardo Dominic NEGOTIATION
Rodrigues M IturbideSpainIvan Magalhaes NEGOTIATION
Johnson Y FerenczAustraliaOnyama Limba PROPOSAL
Jefferson Z FollerIndiaXuxue Feng RENEWAL
Morrow I CaudyGermanyXuxue Feng NEW
Mujtaba U FlosiArgentinaIoni Bowcher NEW
Clifford Z KolmetzCanadaAmy Elsner NEGOTIATION
Kaitlin U DilliardAustraliaAsiya Javayant NEGOTIATION
Jennifer Y MacleadBrazilIvan Magalhaes NEW
Antonio M VocelkaUnited KingdomAnna Fali QUALIFIED
Antonio G MorascaArgentinaXuxue Feng PROPOSAL
Antonio T SaylorsIndiaOnyama Limba PROPOSAL
Jefferson U AlbaresSpainIvan Magalhaes RENEWAL
Juan U SchemmerIndiaIoni Bowcher RENEWAL
David R BologniaItalyElwin Sharvill UNQUALIFIED
Ivar L WaycottSpainAsiya Javayant NEW
Emily P RimAustraliaXuxue Feng PROPOSAL
Mayumi F SergiSpainAnna Fali PROPOSAL
Aika T NickaAustraliaIoni Bowcher NEW
Munro W AlbaresIndiaBernardo Dominic NEW
Leja Y SchemmerItalyAsiya Javayant PROPOSAL
Adams U ShinkoJapanAmy Elsner QUALIFIED
Faith Y SaylorsJapanAnna Fali NEGOTIATION
Clifford S SaylorsIndiaIvan Magalhaes QUALIFIED
Isabel S IturbideUnited KingdomXuxue Feng UNQUALIFIED
Johnson W WaycottJapanAsiya Javayant NEGOTIATION
Silvio V ButtIndiaIoni Bowcher PROPOSAL
Alejandro K GarufiGermanyElwin Sharvill QUALIFIED
Aika A VocelkaArgentinaAnna Fali NEGOTIATION
Leja T AlbaresGermanyAnna Fali RENEWAL
Murillo P IturbideSpainStephen Shaw NEGOTIATION
Greenwood M WaycottIndiaIvan Magalhaes RENEWAL
Stacey Z PoquetteJapanIvan Magalhaes UNQUALIFIED
Faith Z RulapaughCanadaElwin Sharvill QUALIFIED
Ricardo F RulapaughSpainXuxue Feng NEW
Arvin G BriddickAustraliaBernardo Dominic NEW
Maria R ShinkoAustraliaStephen Shaw RENEWAL
Emily U FollerSpainBernardo Dominic RENEWAL
Aika A DoeFranceBernardo Dominic RENEWAL
Jennifer I IturbideCanadaAmy Elsner RENEWAL
Morrow J IturbideBrazilAsiya Javayant NEW
Johnson T PoquetteGermanyAmy Elsner UNQUALIFIED
Julie R PoquetteBrazilBernardo Dominic UNQUALIFIED
Stacey T CaudyItalyXuxue Feng PROPOSAL
Clifford C KolmetzAustraliaAnna Fali UNQUALIFIED
Kaitlin V FigeroaFranceIvan Magalhaes QUALIFIED
Salvatore F WaycottJapanBernardo Dominic PROPOSAL
Silvio Y FollerFranceBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Tony Q MorascaUnited KingdomOnyama Limba PROPOSAL
Kadeem X NestleArgentinaStephen Shaw NEW
Stacey X MacleadIndiaOnyama Limba PROPOSAL
Ricardo K PoquetteCanadaOnyama Limba QUALIFIED
Chavez G IturbideJapanIvan Magalhaes NEW
Johnson H BowleyAustraliaOnyama Limba RENEWAL
Izzy E CaudyFranceAmy Elsner UNQUALIFIED
Mayumi E WaycottBrazilElwin Sharvill NEGOTIATION
Emily U RutaUnited KingdomXuxue Feng NEW
Stacey Y SaylorsUnited KingdomBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco S RulapaughFrance2025-06-03Benton, John B Jr NEGOTIATION18Asiya Javayant
1001Darci Z BologniaIndia2025-06-02Rousseaux, Michael Esq NEW96Bernardo Dominic
1002Jeanfrancois I CaldareraRussia2025-05-18Chemel, James L Cpa NEW84Elwin Sharvill
1003Cody U OldroydJapan2025-05-30Chanay, Jeffrey A Esq RENEWAL90Xuxue Feng
1004Smith O CaudyBrazil2025-06-06Printing Dimensions QUALIFIED71Xuxue Feng
1005Rodrigues T VocelkaJapan2025-06-05King, Christopher A Esq RENEWAL62Anna Fali
1006Aditya H WaycottItaly2025-06-01Commercial Press NEGOTIATION11Ioni Bowcher
1007Leja E DoeItaly2025-06-05Printing Dimensions PROPOSAL58Anna Fali
1008Smith N NickaRussia2025-06-12Rousseaux, Michael Esq NEGOTIATION18Bernardo Dominic
1009Jefferson U InouyeFrance2025-05-31Commercial Press RENEWAL63Ivan Magalhaes
1010Ivar D FollerSpain2025-05-26Dorl, James J Esq QUALIFIED84Stephen Shaw
1011Adams Q StockhamItaly2025-06-13Printing Dimensions RENEWAL56Ioni Bowcher
1012Faith T SchemmerItaly2025-05-24Truhlar And Truhlar Attys PROPOSAL35Elwin Sharvill
1013Jeanfrancois J BowleyItaly2025-05-24King, Christopher A Esq QUALIFIED98Asiya Javayant
1014Isabel G GlickSpain2025-05-24Feiner Bros NEW0Amy Elsner
1015Antonio N InouyeAustralia2025-05-21Feltz Printing Service NEGOTIATION32Stephen Shaw
1016Greenwood R IturbideIndia2025-05-24Dorl, James J Esq RENEWAL25Anna Fali
1017Kadeem O GauchoArgentina2025-05-25King, Christopher A Esq RENEWAL83Stephen Shaw
1018Jefferson A DarakjyCanada2025-06-08Commercial Press PROPOSAL7Xuxue Feng
1019Antonio B BologniaGermany2025-05-26Printing Dimensions RENEWAL91Bernardo Dominic
1020Nicolas Z MarrierGermany2025-05-31Buckley Miller Wright PROPOSAL32Elwin Sharvill
1021David T BriddickRussia2025-06-07Feltz Printing Service NEGOTIATION59Stephen Shaw
1022Darci L MacleadSpain2025-06-04Chapman, Ross E Esq RENEWAL77Onyama Limba
1023Smith E KuskoIndia2025-06-13Rangoni Of Florence UNQUALIFIED29Ivan Magalhaes
1024Silvio S FerenczIndia2025-06-04Morlong Associates NEGOTIATION81Asiya Javayant
1025Tony O PaprockiBrazil2025-05-23Buckley Miller Wright QUALIFIED49Xuxue Feng
1026Rodrigues M AlbaresItaly2025-06-06Feiner Bros NEW43Amy Elsner
1027Munro L VocelkaSpain2025-06-02Morlong Associates QUALIFIED61Xuxue Feng
1028James F KolmetzCanada2025-05-23Feltz Printing Service NEGOTIATION88Stephen Shaw
1029Izzy J CampainCanada2025-06-08Buckley Miller Wright RENEWAL67Xuxue Feng
1030Darci Y AlbaresAustralia2025-05-24Benton, John B Jr RENEWAL48Asiya Javayant
1031Alejandro A SaylorsItaly2025-06-04Feiner Bros NEW78Bernardo Dominic
1032Emily H SergiIndia2025-05-28Morlong Associates QUALIFIED66Ioni Bowcher
1033Mujtaba Y SchemmerCanada2025-06-11Dorl, James J Esq NEW17Ivan Magalhaes
1034Aruna Z AlbaresBrazil2025-05-27Rangoni Of Florence RENEWAL61Onyama Limba
1035Salvatore E RulapaughRussia2025-05-31King, Christopher A Esq UNQUALIFIED86Asiya Javayant
1036Alejandro F SlusarskiUnited Kingdom2025-06-01Morlong Associates RENEWAL77Xuxue Feng
1037Rodrigues O VocelkaUnited Kingdom2025-06-10Dorl, James J Esq UNQUALIFIED52Ivan Magalhaes
1038Munro B ChuiCanada2025-06-07Commercial Press NEGOTIATION34Ioni Bowcher
1039Arvin H StockhamAustralia2025-05-18Buckley Miller Wright UNQUALIFIED24Ioni Bowcher
1040Maria P CaudyIndia2025-06-06Dorl, James J Esq PROPOSAL98Ioni Bowcher
1041Deepesh R MorascaUnited Kingdom2025-06-06Buckley Miller Wright PROPOSAL50Stephen Shaw
1042Francesco Y MorascaBrazil2025-06-12King, Christopher A Esq UNQUALIFIED80Xuxue Feng
1043Claire C KuskoAustralia2025-05-28Truhlar And Truhlar Attys RENEWAL4Amy Elsner
1044Misaki Q ShinkoSpain2025-06-16King, Christopher A Esq PROPOSAL49Onyama Limba
1045Nicolas N NickaFrance2025-06-01Commercial Press QUALIFIED62Amy Elsner
1046Francesco Q SaylorsArgentina2025-06-06Chanay, Jeffrey A Esq QUALIFIED26Bernardo Dominic
1047Alejandro I ShinkoSpain2025-06-04Truhlar And Truhlar Attys QUALIFIED93Stephen Shaw
1048Stacey L MaletJapan2025-05-25King, Christopher A Esq PROPOSAL34Onyama Limba
1049Isabel L PerinBrazil2025-05-22King, Christopher A Esq RENEWAL4Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mayumi J RulapaughArgentinaAmy Elsner UNQUALIFIED
Emily P RulapaughBrazilStephen Shaw UNQUALIFIED
Ashley F CampainIndiaBernardo Dominic NEW
Leon M KuskoRussiaIvan Magalhaes QUALIFIED
Mujtaba G RoysterArgentinaStephen Shaw QUALIFIED
Ashley W CampainSpainAnna Fali NEW
Morrow M RoysterJapanOnyama Limba QUALIFIED
Leon N SaylorsRussiaAnna Fali UNQUALIFIED
Juan D VocelkaGermanyAmy Elsner NEW
Claire K MacleadItalyOnyama Limba QUALIFIED
Leon D RoysterBrazilAnna Fali UNQUALIFIED
Jeanfrancois C WieserArgentinaAsiya Javayant PROPOSAL
Adams Q ShinkoGermanyStephen Shaw PROPOSAL
Arvin H FlosiFranceAmy Elsner RENEWAL
Francesco B OldroydItalyBernardo Dominic UNQUALIFIED
Clifford S MorascaItalyStephen Shaw NEW
Ricardo W OstroskyJapanIoni Bowcher NEW
Nicolas P DilliardSpainStephen Shaw QUALIFIED
Aruna Z StockhamArgentinaAsiya Javayant NEGOTIATION
Munro U MarrierJapanAnna Fali PROPOSAL
Morrow D StensethUnited KingdomIvan Magalhaes PROPOSAL
Jefferson D ChuiItalyAmy Elsner RENEWAL
Aditya R PerinArgentinaIoni Bowcher UNQUALIFIED
Rodrigues F RutaIndiaAsiya Javayant QUALIFIED
David C WieserJapanXuxue Feng QUALIFIED
Munro D DilliardBrazilIoni Bowcher NEW
Tony Y VenereRussiaBernardo Dominic QUALIFIED
David R PaprockiJapanAsiya Javayant PROPOSAL
Julie J RulapaughJapanStephen Shaw PROPOSAL
Johnson X PerinFranceIoni Bowcher RENEWAL
Clifford V GillianAustraliaBernardo Dominic QUALIFIED
Sinclair J BriddickSpainXuxue Feng NEGOTIATION
Costa R DilliardJapanAmy Elsner RENEWAL
Faith A MarrierItalyAmy Elsner NEW
Francesco C ChuiArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois P SergiAustraliaAmy Elsner PROPOSAL
Jeanfrancois I AlbaresSpainAmy Elsner RENEWAL
Faith J BologniaAustraliaAmy Elsner UNQUALIFIED
Murillo X RutaCanadaOnyama Limba PROPOSAL
Chavez N FerenczJapanAsiya Javayant QUALIFIED
Ricardo V VocelkaCanadaIoni Bowcher NEW
Leja X CaldareraRussiaElwin Sharvill RENEWAL
Deepesh K OldroydArgentinaOnyama Limba QUALIFIED
Adams I CaudyGermanyBernardo Dominic QUALIFIED
Maisha P OldroydJapanStephen Shaw QUALIFIED
Leja G NestleFranceAsiya Javayant PROPOSAL
Darci I FerenczArgentinaIvan Magalhaes RENEWAL
Kadeem Q NickaCanadaOnyama Limba QUALIFIED
David L FerenczAustraliaStephen Shaw NEW
Greenwood D AmigonJapanAnna Fali PROPOSAL
Frozen Columns
Name
Kadeem X Poquette
Jeanfrancois C Schemmer
Smith W Ruta
Mujtaba A Schemmer
Leja O Doe
Deepesh O Rim
Claire Y Maclead
Wickens L Kolmetz
Costa S Shinko
David I Saylors
Antonio K Waycott
Rodrigues Y Slusarski
Ashley S Sergi
Aruna P Oldroyd
Clifford J Caudy
Julie C Oldroyd
Faith E Gillian
Arvin Y Royster
Leja B Stockham
Faith Z Chui
Aruna T Ostrosky
Salvatore Q Flosi
Chavez Z Amigon
Smith R Ruta
Julie W Oldroyd
Isabel W Doe
Clifford C Stockham
Juan J Venere
Arvin C Gillian
Octavia V Kusko
Chavez I Figeroa
Cody D Rulapaugh
Faith B Campain
Maria M Kolmetz
Darci U Kolmetz
Kaitlin P Rim
Mujtaba U Darakjy
Maria X Rulapaugh
Darci X Shinko
Smith V Malet
Johnson C Royster
Clifford I Vocelka
Juan H Albares
Rodrigues E Malet
Maria H Foller
Alejandro Q Marrier
Greenwood E Butt
Jennifer K Ruta
Salvatore J Kusko
Aruna L Glick
IdCountryDate
1000Italy2025-06-09
1001Brazil2025-06-08
1002India2025-05-21
1003Germany2025-06-16
1004Russia2025-06-13
1005Spain2025-05-30
1006Canada2025-06-08
1007Argentina2025-06-13
1008France2025-05-29
1009France2025-06-03
1010France2025-06-12
1011Australia2025-06-06
1012Italy2025-06-14
1013Russia2025-05-27
1014Japan2025-06-02
1015Italy2025-06-07
1016Germany2025-05-24
1017Italy2025-05-18
1018Argentina2025-05-30
1019Argentina2025-05-28
1020Brazil2025-06-10
1021Italy2025-05-18
1022France2025-06-03
1023France2025-06-03
1024India2025-06-08
1025Russia2025-05-18
1026Brazil2025-05-29
1027Italy2025-05-24
1028Germany2025-06-06
1029United Kingdom2025-06-15
1030France2025-06-08
1031Italy2025-06-15
1032Germany2025-06-01
1033Brazil2025-05-19
1034Australia2025-05-27
1035Germany2025-05-20
1036United Kingdom2025-05-31
1037Brazil2025-06-16
1038Brazil2025-05-19
1039India2025-06-06
1040Japan2025-06-05
1041Russia2025-06-05
1042Germany2025-05-28
1043Japan2025-05-18
1044Italy2025-05-28
1045Japan2025-05-18
1046United Kingdom2025-05-21
1047India2025-06-16
1048Japan2025-06-08
1049Australia2025-05-26

On-Demand Data

NameIdCountryDate
Claire C Stenseth1000United Kingdom2025-06-12
Salvatore K Ferencz1001Japan2025-06-11
Ashley Z Glick1002Spain2025-06-01
Adams O Bolognia1003United Kingdom2025-06-11
Sinclair P Ruta1004Japan2025-05-20
Jones H Ostrosky1005France2025-06-04
Jennifer N Stenseth1006Russia2025-05-22
Adams J Rulapaugh1007India2025-05-25
Aruna G Royster1008Japan2025-05-21
Octavia T Doe1009France2025-05-19
Faith S Flosi1010Germany2025-06-03
Mujtaba M Bolognia1011India2025-06-14
Claire J Schemmer1012Germany2025-05-23
Morrow Q Rulapaugh1013Canada2025-05-21
Aruna U Tollner1014United Kingdom2025-06-03
Aika V Briddick1015Spain2025-06-02
Kadeem E Schemmer1016India2025-05-25
Greenwood Y Chui1017Italy2025-06-16
Juan O Kolmetz1018Italy2025-05-29
Rodrigues M Briddick1019United Kingdom2025-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel X SaylorsIndiaIvan Magalhaes NEW
Misaki M MaletFranceAmy Elsner NEW
Alejandro R SergiCanadaBernardo Dominic NEW
Darci H MaletUnited KingdomAnna Fali PROPOSAL
Clifford U GauchoArgentinaStephen Shaw PROPOSAL
Deepesh E RulapaughFranceAsiya Javayant QUALIFIED
Izzy V OldroydJapanBernardo Dominic UNQUALIFIED
Ricardo X ButtCanadaXuxue Feng NEGOTIATION
Kadeem R GillianBrazilAnna Fali RENEWAL
Ashley O OstroskyCanadaAsiya Javayant NEGOTIATION
Jones R BologniaFranceXuxue Feng NEGOTIATION
Leon Z DoeJapanAnna Fali UNQUALIFIED
Mayumi K MorascaJapanAsiya Javayant QUALIFIED
Stacey G ChuiBrazilXuxue Feng NEW
Chavez F MarrierBrazilAmy Elsner QUALIFIED
Jennifer H NickaSpainStephen Shaw RENEWAL
Smith N CaldareraSpainElwin Sharvill QUALIFIED
Ivar C BriddickCanadaXuxue Feng NEGOTIATION
Adams L AmigonIndiaElwin Sharvill PROPOSAL
Sinclair C AlbaresArgentinaIvan Magalhaes NEW
Mujtaba G WaycottSpainXuxue Feng PROPOSAL
Smith S ShinkoIndiaBernardo Dominic PROPOSAL
Mujtaba P AlbaresFranceIvan Magalhaes QUALIFIED
Silvio I PerinRussiaOnyama Limba NEGOTIATION
Arvin U PoquetteAustraliaElwin Sharvill PROPOSAL
Mayumi J GillianUnited KingdomBernardo Dominic RENEWAL
Nicolas M MaletArgentinaIvan Magalhaes RENEWAL
Ivar W OldroydIndiaAmy Elsner NEGOTIATION
Faith V GillianBrazilElwin Sharvill RENEWAL
Antonio W SaylorsAustraliaIoni Bowcher NEGOTIATION
Johnson K FollerAustraliaXuxue Feng PROPOSAL
Darci M VocelkaItalyAsiya Javayant PROPOSAL
Darci F GarufiItalyOnyama Limba PROPOSAL
Julie B PerinFranceOnyama Limba QUALIFIED
Emily V SchemmerBrazilOnyama Limba RENEWAL
Octavia M AmigonCanadaAnna Fali UNQUALIFIED
Sinclair G FlosiSpainStephen Shaw UNQUALIFIED
Chavez Q BologniaRussiaIvan Magalhaes UNQUALIFIED
Tony F ShinkoGermanyAmy Elsner NEW
Jennifer A FerenczSpainAnna Fali 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>