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
Izzy T CaldareraUnited KingdomIoni Bowcher NEW
Ashley C MaletRussiaAsiya Javayant QUALIFIED
Jeanfrancois B GlickAustraliaIoni Bowcher PROPOSAL
Deepesh D GillianSpainOnyama Limba RENEWAL
Alejandro P RutaCanadaXuxue Feng NEW
Mujtaba M GarufiItalyAsiya Javayant QUALIFIED
Faith N BowleyIndiaAsiya Javayant UNQUALIFIED
Johnson B GarufiRussiaIvan Magalhaes QUALIFIED
Izzy Z InouyeAustraliaIvan Magalhaes NEGOTIATION
Kaitlin O RulapaughIndiaAmy Elsner RENEWAL
David D RulapaughItalyBernardo Dominic NEGOTIATION
Greenwood G BriddickFranceStephen Shaw RENEWAL
Juan Z DarakjyArgentinaIvan Magalhaes UNQUALIFIED
Salvatore V DarakjyArgentinaAnna Fali UNQUALIFIED
Stacey L VenereGermanyElwin Sharvill NEW
Clifford Q ChuiBrazilAsiya Javayant QUALIFIED
Silvio W SergiGermanyElwin Sharvill PROPOSAL
Deepesh S PaprockiArgentinaBernardo Dominic NEGOTIATION
Mayumi M IturbideJapanBernardo Dominic NEW
Faith Y DilliardGermanyIoni Bowcher RENEWAL
Chavez E KolmetzIndiaIoni Bowcher PROPOSAL
Alejandro A MaletArgentinaOnyama Limba UNQUALIFIED
Ashley P AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Julie S AlbaresIndiaStephen Shaw NEGOTIATION
Jennifer X ChuiAustraliaAmy Elsner UNQUALIFIED
Jones U StensethItalyAnna Fali UNQUALIFIED
Sinclair Q MaletArgentinaIoni Bowcher UNQUALIFIED
Cody A CampainRussiaXuxue Feng UNQUALIFIED
Rodrigues T CaudyArgentinaOnyama Limba RENEWAL
Stacey O CaldareraRussiaXuxue Feng NEGOTIATION
Wickens C MorascaIndiaBernardo Dominic NEW
Greenwood S MorascaJapanStephen Shaw UNQUALIFIED
Claire R DoeItalyElwin Sharvill RENEWAL
Jones D KuskoBrazilBernardo Dominic PROPOSAL
Jefferson N BowleyRussiaBernardo Dominic RENEWAL
Jefferson D CaudyBrazilElwin Sharvill NEGOTIATION
Alejandro X StensethJapanAmy Elsner UNQUALIFIED
Antonio L SchemmerSpainAnna Fali RENEWAL
Kadeem J RutaIndiaAnna Fali NEGOTIATION
Juan R MacleadItalyElwin Sharvill RENEWAL
Francesco X ButtItalyXuxue Feng PROPOSAL
Mayumi N NestleCanadaAsiya Javayant NEW
Morrow B DarakjyUnited KingdomBernardo Dominic NEGOTIATION
Arvin K DoeRussiaElwin Sharvill NEGOTIATION
Faith C SlusarskiJapanAmy Elsner QUALIFIED
Mujtaba I GlickJapanXuxue Feng QUALIFIED
Smith A DilliardItalyStephen Shaw RENEWAL
Francesco H WaycottIndiaAmy Elsner RENEWAL
Morrow X DarakjyItalyIvan Magalhaes NEGOTIATION
Aditya A RimArgentinaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley N CampainJapanOnyama Limba NEGOTIATION
Clifford D DilliardFranceStephen Shaw PROPOSAL
Costa F PerinBrazilElwin Sharvill UNQUALIFIED
Octavia X ChuiIndiaElwin Sharvill UNQUALIFIED
Johnson O ChuiAustraliaBernardo Dominic QUALIFIED
Maisha S FlosiCanadaXuxue Feng QUALIFIED
Morrow B WieserUnited KingdomXuxue Feng QUALIFIED
Mujtaba Q MacleadAustraliaAsiya Javayant PROPOSAL
Clifford S RutaIndiaIoni Bowcher UNQUALIFIED
David I RoysterGermanyAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy L CaldareraJapan2025-05-25Rangoni Of Florence QUALIFIED85Stephen Shaw
1001Sinclair P WhobreyUnited Kingdom2025-05-27Dorl, James J Esq UNQUALIFIED67Asiya Javayant
1002Jones R RimJapan2025-05-26Truhlar And Truhlar Attys UNQUALIFIED34Asiya Javayant
1003Maisha B NickaGermany2025-06-04Rangoni Of Florence NEW60Onyama Limba
1004Chavez O ChuiGermany2025-05-28Chemel, James L Cpa RENEWAL44Ioni Bowcher
1005Mayumi R RutaIndia2025-06-02Benton, John B Jr NEW63Stephen Shaw
1006Adams M BriddickArgentina2025-06-04Buckley Miller Wright UNQUALIFIED71Stephen Shaw
1007Maisha P IturbideCanada2025-05-31Chanay, Jeffrey A Esq NEGOTIATION66Onyama Limba
1008Smith G FigeroaJapan2025-06-05Feiner Bros PROPOSAL94Elwin Sharvill
1009Smith K OstroskyJapan2025-05-18Rousseaux, Michael Esq NEW80Onyama Limba
1010Juan E PerinJapan2025-06-06Dorl, James J Esq RENEWAL90Elwin Sharvill
1011Kaitlin V OldroydAustralia2025-06-09Chanay, Jeffrey A Esq QUALIFIED87Bernardo Dominic
1012Faith B StensethArgentina2025-06-04Rousseaux, Michael Esq QUALIFIED43Bernardo Dominic
1013Greenwood T OstroskyArgentina2025-05-21Rangoni Of Florence QUALIFIED97Amy Elsner
1014Aika R KolmetzFrance2025-05-18Chemel, James L Cpa NEW33Asiya Javayant
1015Misaki Z RulapaughUnited Kingdom2025-06-13Printing Dimensions NEW21Ioni Bowcher
1016Sinclair D CaudyItaly2025-05-23Printing Dimensions NEGOTIATION91Bernardo Dominic
1017Clifford U DilliardJapan2025-06-10Buckley Miller Wright NEGOTIATION18Anna Fali
1018Ricardo H ShinkoBrazil2025-06-13Feiner Bros PROPOSAL91Asiya Javayant
1019Aditya I GauchoBrazil2025-06-10Commercial Press PROPOSAL94Elwin Sharvill
1020Octavia A WhobreyArgentina2025-06-01Dorl, James J Esq RENEWAL59Stephen Shaw
1021Izzy H PerinCanada2025-05-15Dorl, James J Esq NEGOTIATION12Bernardo Dominic
1022Greenwood A BriddickSpain2025-06-11Chapman, Ross E Esq NEW69Xuxue Feng
1023Jennifer R TollnerAustralia2025-06-13Dorl, James J Esq QUALIFIED72Onyama Limba
1024James T ChuiRussia2025-05-29Feltz Printing Service NEW92Bernardo Dominic
1025Sinclair Z OstroskyBrazil2025-05-30King, Christopher A Esq NEW57Bernardo Dominic
1026Aditya X PaprockiJapan2025-05-27Chanay, Jeffrey A Esq QUALIFIED18Ioni Bowcher
1027Ivar C MaletJapan2025-06-12Dorl, James J Esq NEW4Bernardo Dominic
1028Stacey Q GauchoBrazil2025-05-21Rangoni Of Florence NEW26Bernardo Dominic
1029Leon H MarrierSpain2025-05-21Buckley Miller Wright NEGOTIATION30Asiya Javayant
1030Faith E VenereBrazil2025-06-08Morlong Associates PROPOSAL70Bernardo Dominic
1031Juan U OstroskySpain2025-06-02Feltz Printing Service QUALIFIED20Stephen Shaw
1032Smith M BowleyUnited Kingdom2025-05-24Feltz Printing Service RENEWAL87Xuxue Feng
1033Ashley O RoysterArgentina2025-06-01Printing Dimensions RENEWAL94Bernardo Dominic
1034Morrow J NestleUnited Kingdom2025-06-04Truhlar And Truhlar Attys UNQUALIFIED59Amy Elsner
1035Clifford K SchemmerSpain2025-05-18Chanay, Jeffrey A Esq RENEWAL95Elwin Sharvill
1036Chavez O DoeArgentina2025-06-12Benton, John B Jr QUALIFIED4Elwin Sharvill
1037Kaitlin G WhobreyUnited Kingdom2025-05-17Chanay, Jeffrey A Esq PROPOSAL52Stephen Shaw
1038Jennifer G KuskoItaly2025-05-17Chemel, James L Cpa NEW77Elwin Sharvill
1039Jennifer P GlickGermany2025-06-02Buckley Miller Wright NEW9Xuxue Feng
1040Julie S GlickItaly2025-06-11Printing Dimensions UNQUALIFIED68Amy Elsner
1041Julie N WieserBrazil2025-06-11Dorl, James J Esq RENEWAL70Bernardo Dominic
1042Aruna V OstroskyAustralia2025-05-25King, Christopher A Esq NEW98Asiya Javayant
1043Morrow R DoeIndia2025-05-22Feiner Bros QUALIFIED58Ivan Magalhaes
1044Jones M CaudyRussia2025-06-03Commercial Press RENEWAL57Asiya Javayant
1045Darci N WieserFrance2025-05-20Rousseaux, Michael Esq RENEWAL84Asiya Javayant
1046Emily Q GlickFrance2025-06-08Chapman, Ross E Esq RENEWAL18Bernardo Dominic
1047Francesco F PaprockiSpain2025-05-17Feltz Printing Service NEGOTIATION29Bernardo Dominic
1048Kadeem H DarakjyBrazil2025-06-10Printing Dimensions UNQUALIFIED25Anna Fali
1049Leon T RoysterGermany2025-05-16Benton, John B Jr QUALIFIED89Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
David F SergiJapanStephen Shaw UNQUALIFIED
Clifford S SlusarskiCanadaIvan Magalhaes UNQUALIFIED
Aditya O MaletFranceXuxue Feng NEW
Chavez C SchemmerArgentinaElwin Sharvill RENEWAL
Mujtaba M IturbideJapanOnyama Limba NEW
Ashley P FerenczArgentinaAsiya Javayant PROPOSAL
Kaitlin L FollerItalyIoni Bowcher NEGOTIATION
Misaki G MaletFranceStephen Shaw PROPOSAL
Juan J MaletGermanyIvan Magalhaes NEW
Antonio Z FerenczBrazilAsiya Javayant RENEWAL
Rodrigues O TollnerArgentinaXuxue Feng NEGOTIATION
Julie L KuskoCanadaBernardo Dominic UNQUALIFIED
Arvin T ButtCanadaXuxue Feng PROPOSAL
Salvatore F SchemmerCanadaStephen Shaw NEGOTIATION
Juan C PaprockiBrazilStephen Shaw NEW
Munro W WhobreyJapanAmy Elsner QUALIFIED
Jefferson I FollerUnited KingdomBernardo Dominic NEGOTIATION
Silvio I MaletFranceXuxue Feng NEGOTIATION
Maria V SchemmerSpainIvan Magalhaes RENEWAL
Mayumi G RulapaughJapanIvan Magalhaes UNQUALIFIED
Mujtaba D WieserFranceAmy Elsner QUALIFIED
Smith Q BriddickArgentinaAmy Elsner NEW
David W OstroskyGermanyXuxue Feng RENEWAL
Darci D FollerRussiaIvan Magalhaes RENEWAL
Clifford T PoquetteIndiaAsiya Javayant PROPOSAL
Maria Q TollnerAustraliaXuxue Feng NEGOTIATION
Jefferson S ChuiJapanXuxue Feng RENEWAL
James F PerinJapanAsiya Javayant NEGOTIATION
Leon A ShinkoAustraliaIoni Bowcher PROPOSAL
Jeanfrancois G GillianArgentinaAnna Fali UNQUALIFIED
Jefferson P MaletArgentinaOnyama Limba QUALIFIED
Greenwood P ShinkoArgentinaStephen Shaw RENEWAL
Jones Q DarakjySpainBernardo Dominic PROPOSAL
Alejandro D GillianUnited KingdomAmy Elsner UNQUALIFIED
Leon Q SlusarskiUnited KingdomAsiya Javayant RENEWAL
Alejandro D DarakjyIndiaIvan Magalhaes RENEWAL
Izzy S StockhamItalyXuxue Feng NEGOTIATION
Ivar T WaycottIndiaIoni Bowcher NEW
Aika B DoeRussiaElwin Sharvill PROPOSAL
Emily V MarrierItalyIoni Bowcher RENEWAL
Sinclair E RulapaughGermanyIoni Bowcher QUALIFIED
Isabel A BologniaSpainOnyama Limba NEGOTIATION
Francesco I TollnerSpainAsiya Javayant RENEWAL
Octavia L StockhamFranceElwin Sharvill PROPOSAL
Morrow T WieserItalyOnyama Limba QUALIFIED
Juan K MaletIndiaIoni Bowcher UNQUALIFIED
James V ShinkoSpainAsiya Javayant NEW
Darci L OstroskyIndiaElwin Sharvill QUALIFIED
Arvin I CaudyItalyElwin Sharvill NEGOTIATION
Ricardo T ButtRussiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Ivar U Slusarski
Leja J Maclead
Ivar L Sergi
Rodrigues T Marrier
Aditya Z Maclead
Jennifer V Caudy
Izzy E Doe
Murillo A Vocelka
Adams S Foller
Kaitlin W Vocelka
Arvin D Ostrosky
Ricardo Z Shinko
Ivar Y Kusko
Murillo U Campain
Aika F Maclead
Mujtaba C Maclead
Murillo V Marrier
Jones N Whobrey
Johnson H Tollner
Deepesh Z Tollner
Francesco D Morasca
Maisha B Bolognia
Ashley H Shinko
Misaki V Figeroa
Izzy R Waycott
Adams G Iturbide
Stacey J Figeroa
Kadeem M Rulapaugh
Johnson Q Perin
Alejandro K Chui
Antonio M Waycott
Julie F Kusko
Darci N Briddick
Adams T Sergi
Aditya X Gillian
Jefferson Y Slusarski
Chavez J Wieser
Leon L Amigon
Wickens D Sergi
Francesco C Sergi
Aika M Maclead
Ivar S Garufi
David W Poquette
David P Schemmer
Tony Y Morasca
Arvin O Bowley
Aruna Y Stenseth
Arvin G Wieser
Juan E Caldarera
Octavia Y Briddick
IdCountryDate
1000Canada2025-05-30
1001Canada2025-05-17
1002Germany2025-05-30
1003Canada2025-06-09
1004Italy2025-05-24
1005Australia2025-06-10
1006Australia2025-05-27
1007Brazil2025-06-05
1008India2025-05-24
1009Brazil2025-05-31
1010Russia2025-06-01
1011Australia2025-05-28
1012Germany2025-06-06
1013Russia2025-06-03
1014France2025-05-24
1015India2025-06-03
1016Brazil2025-06-08
1017Italy2025-05-31
1018Japan2025-05-16
1019Italy2025-06-08
1020Spain2025-06-11
1021Spain2025-05-18
1022Italy2025-06-02
1023United Kingdom2025-05-23
1024Australia2025-06-13
1025Australia2025-05-23
1026Germany2025-06-12
1027Japan2025-06-08
1028Australia2025-06-03
1029United Kingdom2025-06-04
1030India2025-06-10
1031Australia2025-05-20
1032Italy2025-06-06
1033Spain2025-06-12
1034India2025-06-13
1035Canada2025-06-06
1036Japan2025-05-19
1037Brazil2025-05-15
1038Australia2025-06-07
1039Australia2025-06-09
1040Italy2025-05-27
1041India2025-06-02
1042Germany2025-05-25
1043India2025-06-09
1044United Kingdom2025-05-29
1045Spain2025-05-21
1046Argentina2025-05-23
1047United Kingdom2025-06-05
1048Argentina2025-05-15
1049Canada2025-06-13

On-Demand Data

NameIdCountryDate
Ivar I Malet1000Japan2025-06-08
Alejandro R Perin1001Japan2025-05-31
Isabel R Ostrosky1002Spain2025-05-17
Johnson Z Bowley1003Spain2025-05-16
Jefferson M Poquette1004France2025-05-30
Rodrigues E Sergi1005Russia2025-05-27
Munro O Poquette1006United Kingdom2025-05-18
Greenwood X Bolognia1007Italy2025-05-31
David Y Dilliard1008India2025-05-28
Morrow G Royster1009Japan2025-06-04
Julie T Saylors1010Australia2025-06-05
Kadeem U Rim1011Brazil2025-06-05
Claire C Glick1012Russia2025-06-09
Maisha V Morasca1013United Kingdom2025-05-29
Juan R Doe1014Japan2025-05-17
Izzy T Malet1015Italy2025-06-07
James V Chui1016Germany2025-05-17
Juan Q Caldarera1017Argentina2025-06-13
Aruna W Malet1018Japan2025-06-05
Arvin O Glick1019Australia2025-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy G SchemmerArgentinaIoni Bowcher NEGOTIATION
Silvio W WaycottFranceOnyama Limba NEW
Costa G WhobreyIndiaAmy Elsner NEGOTIATION
Stacey E CaudyJapanIvan Magalhaes RENEWAL
Maria Z OldroydRussiaOnyama Limba NEW
Morrow M WaycottFranceIvan Magalhaes NEW
Aditya B RulapaughUnited KingdomIvan Magalhaes QUALIFIED
Morrow K GillianItalyStephen Shaw QUALIFIED
Silvio Y RoysterArgentinaAmy Elsner PROPOSAL
Tony P WaycottArgentinaElwin Sharvill PROPOSAL
Arvin L MaletGermanyOnyama Limba QUALIFIED
Izzy D PerinUnited KingdomAnna Fali NEGOTIATION
Alejandro D FollerSpainAnna Fali NEGOTIATION
Arvin I GauchoIndiaAmy Elsner QUALIFIED
Aika U FerenczCanadaBernardo Dominic NEGOTIATION
Arvin I BologniaAustraliaElwin Sharvill UNQUALIFIED
Kaitlin J GauchoArgentinaAsiya Javayant QUALIFIED
Francesco T GarufiAustraliaAmy Elsner QUALIFIED
Izzy E DoeBrazilAnna Fali PROPOSAL
Leon G WhobreyJapanOnyama Limba NEW
Jefferson A MorascaUnited KingdomStephen Shaw RENEWAL
Stacey S FollerFranceXuxue Feng NEGOTIATION
Jefferson J WhobreyAustraliaAmy Elsner QUALIFIED
Ivar W ShinkoItalyBernardo Dominic RENEWAL
Jefferson X OstroskyFranceIoni Bowcher NEGOTIATION
Isabel O PoquetteAustraliaElwin Sharvill NEGOTIATION
Cody R DarakjyRussiaStephen Shaw NEGOTIATION
Stacey F KuskoArgentinaIoni Bowcher RENEWAL
Adams T GlickSpainElwin Sharvill NEW
Kaitlin O VocelkaGermanyStephen Shaw UNQUALIFIED
Mayumi H VenereBrazilIvan Magalhaes UNQUALIFIED
Kadeem G InouyeItalyAnna Fali NEGOTIATION
Aruna R RoysterCanadaIvan Magalhaes NEGOTIATION
Aditya R DoeIndiaOnyama Limba NEW
Tony G DarakjyRussiaXuxue Feng QUALIFIED
Darci G SlusarskiCanadaIvan Magalhaes RENEWAL
Antonio J TollnerGermanyOnyama Limba NEW
Smith J MarrierUnited KingdomIoni Bowcher PROPOSAL
Clifford G RimRussiaAsiya Javayant RENEWAL
Izzy Y KuskoIndiaOnyama Limba 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>