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
Francesco Z FigeroaRussiaAsiya Javayant RENEWAL
Smith V WaycottArgentinaXuxue Feng QUALIFIED
Leon M SchemmerSpainBernardo Dominic PROPOSAL
Jones U DilliardFranceBernardo Dominic NEGOTIATION
Misaki A RoysterArgentinaAsiya Javayant NEW
David O SaylorsRussiaIoni Bowcher UNQUALIFIED
Rodrigues A StensethBrazilAnna Fali UNQUALIFIED
Kaitlin B MaletBrazilIvan Magalhaes NEW
Smith D SlusarskiCanadaXuxue Feng PROPOSAL
Claire T MarrierSpainAnna Fali NEGOTIATION
Ricardo B FigeroaRussiaElwin Sharvill NEW
Salvatore F MorascaJapanStephen Shaw PROPOSAL
Greenwood R WieserAustraliaOnyama Limba RENEWAL
Juan R RutaFranceIoni Bowcher NEW
Antonio E SlusarskiItalyAnna Fali PROPOSAL
Julie G ShinkoBrazilAnna Fali RENEWAL
Clifford F DoeJapanAnna Fali RENEWAL
Jones E FlosiItalyAmy Elsner UNQUALIFIED
Julie V MarrierFranceOnyama Limba PROPOSAL
Faith A PerinSpainOnyama Limba PROPOSAL
Rodrigues A PaprockiGermanyOnyama Limba PROPOSAL
Juan W SlusarskiRussiaAmy Elsner UNQUALIFIED
Aruna U VenereBrazilStephen Shaw QUALIFIED
Darci X StensethUnited KingdomIvan Magalhaes RENEWAL
Wickens L SergiFranceStephen Shaw QUALIFIED
Smith R FigeroaIndiaAnna Fali RENEWAL
Tony A StensethBrazilStephen Shaw RENEWAL
Johnson M FollerFranceOnyama Limba PROPOSAL
Arvin P CaldareraSpainIoni Bowcher UNQUALIFIED
Greenwood E KolmetzFranceIoni Bowcher QUALIFIED
Aika F NickaItalyIvan Magalhaes RENEWAL
Mujtaba U CaldareraItalyAmy Elsner PROPOSAL
Costa P DilliardBrazilElwin Sharvill NEW
Greenwood T AlbaresGermanyAnna Fali RENEWAL
Kadeem R PerinFranceBernardo Dominic NEGOTIATION
Aditya K RulapaughUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois M AlbaresGermanyAmy Elsner RENEWAL
Deepesh O InouyeGermanyIoni Bowcher NEW
Sinclair F BriddickUnited KingdomIvan Magalhaes RENEWAL
Isabel Y StensethCanadaAsiya Javayant PROPOSAL
Kadeem Z SergiIndiaIvan Magalhaes UNQUALIFIED
Mujtaba T GillianFranceOnyama Limba RENEWAL
Nicolas K ShinkoArgentinaAmy Elsner QUALIFIED
Aruna K ButtItalyXuxue Feng UNQUALIFIED
Clifford X BriddickSpainStephen Shaw NEW
Aruna I MaletBrazilIoni Bowcher UNQUALIFIED
Johnson A CaldareraCanadaOnyama Limba UNQUALIFIED
Faith N OstroskyFranceStephen Shaw NEW
Mayumi X WhobreyArgentinaStephen Shaw NEGOTIATION
Salvatore E SaylorsItalyAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio A OldroydBrazilIvan Magalhaes NEGOTIATION
Salvatore T ButtCanadaXuxue Feng NEW
Silvio Z SergiItalyOnyama Limba NEW
Jefferson A RulapaughJapanOnyama Limba QUALIFIED
Wickens P StensethSpainAsiya Javayant PROPOSAL
James A IturbideIndiaStephen Shaw NEGOTIATION
Ricardo Q BologniaItalyOnyama Limba PROPOSAL
Sinclair G SergiBrazilStephen Shaw RENEWAL
Adams P RulapaughFranceXuxue Feng NEGOTIATION
Wickens A WhobreyItalyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley H OldroydArgentina2024-06-20Feiner Bros RENEWAL47Ioni Bowcher
1001Stacey U SlusarskiAustralia2024-06-06Printing Dimensions UNQUALIFIED61Onyama Limba
1002Izzy V StensethCanada2024-06-18Feltz Printing Service RENEWAL52Anna Fali
1003Mujtaba O MacleadItaly2024-05-31Truhlar And Truhlar Attys QUALIFIED85Asiya Javayant
1004Arvin Q WieserBrazil2024-06-04Chanay, Jeffrey A Esq NEGOTIATION9Bernardo Dominic
1005Emily C NestleRussia2024-06-12Dorl, James J Esq PROPOSAL75Xuxue Feng
1006Tony C MarrierItaly2024-06-19Buckley Miller Wright NEW87Onyama Limba
1007Darci T FlosiIndia2024-05-31Benton, John B Jr UNQUALIFIED18Xuxue Feng
1008Mayumi A RulapaughBrazil2024-06-09Morlong Associates NEGOTIATION7Asiya Javayant
1009Smith O VocelkaItaly2024-06-10Morlong Associates UNQUALIFIED41Onyama Limba
1010Jones D KuskoUnited Kingdom2024-06-14Chemel, James L Cpa NEW27Anna Fali
1011Emily V BologniaBrazil2024-05-26Buckley Miller Wright UNQUALIFIED30Stephen Shaw
1012Rodrigues O OldroydAustralia2024-05-29Chapman, Ross E Esq PROPOSAL14Xuxue Feng
1013David O ShinkoRussia2024-06-08Truhlar And Truhlar Attys RENEWAL54Elwin Sharvill
1014Tony N ButtArgentina2024-05-24Printing Dimensions UNQUALIFIED34Onyama Limba
1015Rodrigues I CaudyUnited Kingdom2024-05-29Chanay, Jeffrey A Esq NEW98Ioni Bowcher
1016Misaki Y SergiCanada2024-06-20Chapman, Ross E Esq UNQUALIFIED95Asiya Javayant
1017Maria C RulapaughItaly2024-05-26Truhlar And Truhlar Attys UNQUALIFIED73Ivan Magalhaes
1018Sinclair Y PoquetteCanada2024-05-30Buckley Miller Wright NEW92Asiya Javayant
1019Julie A WhobreyUnited Kingdom2024-06-13Chapman, Ross E Esq PROPOSAL49Bernardo Dominic
1020Jefferson Q BriddickAustralia2024-06-21Rangoni Of Florence PROPOSAL89Anna Fali
1021Nicolas R SaylorsItaly2024-05-31Chapman, Ross E Esq QUALIFIED65Anna Fali
1022Aika L MaletArgentina2024-05-25Truhlar And Truhlar Attys UNQUALIFIED24Anna Fali
1023Antonio I MaletCanada2024-05-31Morlong Associates PROPOSAL66Stephen Shaw
1024Nicolas P GlickUnited Kingdom2024-05-29Printing Dimensions UNQUALIFIED84Elwin Sharvill
1025Jefferson F TollnerJapan2024-06-03Truhlar And Truhlar Attys UNQUALIFIED87Stephen Shaw
1026Jones L SergiFrance2024-05-24Truhlar And Truhlar Attys QUALIFIED40Ivan Magalhaes
1027Jefferson J FigeroaBrazil2024-05-31Morlong Associates NEGOTIATION18Ioni Bowcher
1028Tony Y CaldareraGermany2024-05-30Rangoni Of Florence RENEWAL91Stephen Shaw
1029Mayumi L FlosiFrance2024-06-07Morlong Associates UNQUALIFIED77Xuxue Feng
1030Francesco O GillianSpain2024-06-14King, Christopher A Esq QUALIFIED32Bernardo Dominic
1031Chavez M NickaFrance2024-05-31Rangoni Of Florence NEGOTIATION37Xuxue Feng
1032James M SchemmerBrazil2024-06-18Chapman, Ross E Esq PROPOSAL17Anna Fali
1033Kaitlin Z VenereItaly2024-06-22Chanay, Jeffrey A Esq NEGOTIATION18Bernardo Dominic
1034Johnson A PaprockiItaly2024-06-17Rangoni Of Florence NEGOTIATION91Ivan Magalhaes
1035Nicolas Q FigeroaAustralia2024-06-18Printing Dimensions RENEWAL26Ioni Bowcher
1036Juan K FerenczUnited Kingdom2024-06-16Chanay, Jeffrey A Esq PROPOSAL56Bernardo Dominic
1037Salvatore H FollerJapan2024-06-01Buckley Miller Wright NEW61Amy Elsner
1038Salvatore E GarufiArgentina2024-05-27Rangoni Of Florence NEGOTIATION25Stephen Shaw
1039Jefferson P GarufiItaly2024-06-10Feltz Printing Service UNQUALIFIED35Bernardo Dominic
1040Leja Y DarakjyBrazil2024-06-20Feltz Printing Service UNQUALIFIED90Anna Fali
1041Ashley S SlusarskiSpain2024-06-14Truhlar And Truhlar Attys NEW61Stephen Shaw
1042Johnson Q GarufiJapan2024-06-21Printing Dimensions RENEWAL59Onyama Limba
1043Emily S PoquetteFrance2024-06-10Morlong Associates PROPOSAL14Amy Elsner
1044Faith B RimBrazil2024-06-19Chemel, James L Cpa QUALIFIED1Bernardo Dominic
1045Greenwood B WieserRussia2024-05-28Buckley Miller Wright QUALIFIED21Bernardo Dominic
1046Aruna O CaudyRussia2024-06-04Rousseaux, Michael Esq PROPOSAL3Onyama Limba
1047Jones F OstroskyFrance2024-06-10Morlong Associates RENEWAL58Anna Fali
1048Aika T PerinAustralia2024-06-04Chanay, Jeffrey A Esq RENEWAL62Xuxue Feng
1049Adams Y KuskoFrance2024-06-13Morlong Associates NEW78Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aruna A WieserGermanyOnyama Limba NEW
Jones I FerenczUnited KingdomBernardo Dominic QUALIFIED
Salvatore N WaycottBrazilAsiya Javayant NEGOTIATION
Wickens E SaylorsSpainOnyama Limba NEW
Morrow I MaletUnited KingdomAsiya Javayant PROPOSAL
Smith W StockhamItalyIvan Magalhaes RENEWAL
Izzy T BologniaItalyIvan Magalhaes QUALIFIED
Munro L AlbaresRussiaOnyama Limba QUALIFIED
Deepesh S BologniaFranceBernardo Dominic UNQUALIFIED
Leon I BriddickSpainAsiya Javayant NEW
Adams B VenereArgentinaAnna Fali PROPOSAL
Ricardo F BowleyRussiaIvan Magalhaes NEGOTIATION
Ivar J GillianGermanyAsiya Javayant RENEWAL
Johnson Q DarakjyBrazilBernardo Dominic NEW
Mayumi I WhobreyFranceAnna Fali UNQUALIFIED
Ashley H SaylorsArgentinaBernardo Dominic RENEWAL
Wickens P IturbideUnited KingdomIvan Magalhaes RENEWAL
Leja J FlosiIndiaStephen Shaw RENEWAL
Francesco T VocelkaRussiaAnna Fali QUALIFIED
Isabel T BologniaAustraliaOnyama Limba QUALIFIED
Deepesh X MaletCanadaBernardo Dominic UNQUALIFIED
Maria T FerenczCanadaAnna Fali RENEWAL
Ivar X VocelkaIndiaStephen Shaw NEW
Ashley O PoquetteBrazilXuxue Feng QUALIFIED
Izzy K ShinkoAustraliaBernardo Dominic RENEWAL
Clifford F MorascaUnited KingdomAmy Elsner NEW
Aruna O AmigonSpainStephen Shaw QUALIFIED
Kaitlin S PaprockiJapanOnyama Limba QUALIFIED
Aruna F NickaItalyIvan Magalhaes RENEWAL
Jefferson P IturbideGermanyIoni Bowcher PROPOSAL
Murillo F FerenczCanadaIoni Bowcher UNQUALIFIED
Leja W FollerRussiaElwin Sharvill UNQUALIFIED
Octavia K VocelkaArgentinaElwin Sharvill RENEWAL
Costa P GlickRussiaAmy Elsner QUALIFIED
Ricardo U InouyeAustraliaAmy Elsner UNQUALIFIED
Faith Q CaldareraJapanXuxue Feng NEW
Morrow W WaycottSpainElwin Sharvill PROPOSAL
Kaitlin F RimArgentinaElwin Sharvill RENEWAL
Julie V StockhamFranceAsiya Javayant NEW
Darci Q BowleyCanadaAmy Elsner NEW
Faith R RulapaughAustraliaAnna Fali NEW
Jefferson L DilliardUnited KingdomOnyama Limba NEW
Leja M BowleyIndiaAmy Elsner NEW
Aruna J KolmetzIndiaIvan Magalhaes UNQUALIFIED
Aruna W DoeSpainAnna Fali QUALIFIED
Antonio H RimJapanAnna Fali UNQUALIFIED
Aruna F SaylorsRussiaIvan Magalhaes UNQUALIFIED
Stacey B GarufiIndiaBernardo Dominic NEGOTIATION
Misaki B MarrierAustraliaXuxue Feng QUALIFIED
Mujtaba G KolmetzGermanyAnna Fali PROPOSAL
Frozen Columns
Name
Greenwood Y Shinko
Julie J Dilliard
Aika E Glick
Morrow P Albares
Kadeem W Nicka
Misaki H Whobrey
Maisha I Albares
Alejandro Z Ferencz
David S Oldroyd
Francesco Y Bolognia
Morrow K Garufi
Kadeem W Iturbide
Jennifer E Perin
Ashley V Wieser
Jeanfrancois I Poquette
Stacey P Caudy
Aika Q Stenseth
Jeanfrancois F Poquette
Aruna R Royster
Wickens I Iturbide
Arvin F Ferencz
Maisha J Amigon
Greenwood J Ostrosky
Tony V Iturbide
James S Shinko
Aruna V Foller
Maisha G Caudy
Izzy W Butt
Clifford N Royster
Jennifer R Malet
Faith V Amigon
Maria W Caudy
Jefferson Q Stockham
Stacey V Vocelka
Smith D Bowley
Maisha Q Gillian
Arvin V Rulapaugh
Wickens G Tollner
Tony M Waycott
Salvatore Z Marrier
Silvio Y Venere
Ashley W Stenseth
Aika X Darakjy
Ricardo D Caudy
Jones M Perin
Izzy F Caldarera
Costa O Shinko
Wickens Y Royster
Ashley I Foller
Jefferson Q Campain
IdCountryDate
1000Japan2024-05-28
1001Australia2024-06-12
1002Spain2024-06-06
1003Australia2024-06-13
1004United Kingdom2024-06-21
1005Japan2024-05-29
1006Argentina2024-06-11
1007Argentina2024-05-27
1008France2024-06-01
1009United Kingdom2024-06-10
1010Japan2024-06-07
1011Spain2024-06-04
1012Brazil2024-06-19
1013Brazil2024-06-21
1014India2024-05-28
1015Canada2024-05-24
1016Spain2024-05-31
1017Japan2024-06-21
1018Spain2024-06-10
1019Russia2024-06-11
1020Italy2024-06-15
1021India2024-06-19
1022India2024-06-13
1023France2024-06-19
1024Australia2024-06-17
1025Brazil2024-06-04
1026Australia2024-05-28
1027Russia2024-05-31
1028Germany2024-06-09
1029Canada2024-06-20
1030Spain2024-06-20
1031Germany2024-06-09
1032Spain2024-06-18
1033India2024-06-03
1034Australia2024-06-10
1035Russia2024-05-27
1036Italy2024-06-04
1037India2024-05-29
1038Germany2024-05-26
1039France2024-06-19
1040Germany2024-06-12
1041Canada2024-06-09
1042Argentina2024-06-18
1043United Kingdom2024-06-04
1044Spain2024-05-26
1045Brazil2024-06-20
1046United Kingdom2024-06-16
1047Spain2024-05-31
1048Russia2024-05-26
1049United Kingdom2024-05-27

On-Demand Data

NameIdCountryDate
Jones D Schemmer1000Brazil2024-06-04
Wickens B Rulapaugh1001Germany2024-06-19
Greenwood D Gillian1002Japan2024-05-31
Jeanfrancois N Glick1003Italy2024-06-13
Johnson K Schemmer1004Argentina2024-06-01
Antonio Z Shinko1005Italy2024-05-26
Izzy H Foller1006Australia2024-05-24
Aditya Z Stockham1007Brazil2024-05-28
Jefferson M Figeroa1008France2024-06-09
Murillo O Malet1009Canada2024-06-04
Mujtaba M Venere1010Argentina2024-06-07
David T Glick1011Brazil2024-06-22
Tony I Poquette1012Italy2024-06-09
Cody W Sergi1013Argentina2024-06-09
Emily P Schemmer1014Canada2024-05-30
Maria E Venere1015India2024-06-19
Tony M Malet1016Russia2024-06-08
Emily R Figeroa1017Italy2024-05-25
Ivar N Glick1018Argentina2024-06-21
Munro R Royster1019Japan2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James D CaudyUnited KingdomIoni Bowcher RENEWAL
Maisha B MorascaJapanXuxue Feng UNQUALIFIED
Sinclair B NickaItalyElwin Sharvill NEW
Sinclair E MarrierJapanXuxue Feng PROPOSAL
Claire Q VenereUnited KingdomElwin Sharvill UNQUALIFIED
Jennifer H DoeIndiaXuxue Feng UNQUALIFIED
Johnson I OstroskyItalyAnna Fali PROPOSAL
Maisha H MaletAustraliaBernardo Dominic RENEWAL
Jeanfrancois W RutaUnited KingdomElwin Sharvill UNQUALIFIED
Tony A GlickCanadaStephen Shaw NEW
Tony L ChuiGermanyAsiya Javayant NEW
Johnson V MacleadSpainAmy Elsner UNQUALIFIED
James K OstroskyBrazilAsiya Javayant QUALIFIED
Kadeem F MaletRussiaXuxue Feng QUALIFIED
Julie D AlbaresFranceAnna Fali QUALIFIED
Maisha Y InouyeJapanOnyama Limba UNQUALIFIED
Adams D FigeroaItalyStephen Shaw NEW
Maisha B SlusarskiArgentinaXuxue Feng UNQUALIFIED
Munro G WieserJapanIoni Bowcher NEW
Stacey V RulapaughJapanOnyama Limba RENEWAL
Jennifer M PaprockiFranceAsiya Javayant NEW
Ashley O StensethRussiaStephen Shaw UNQUALIFIED
Izzy P WaycottGermanyIoni Bowcher NEGOTIATION
Francesco C DarakjyItalyStephen Shaw RENEWAL
Chavez A RimSpainAsiya Javayant QUALIFIED
Antonio C CaudyGermanyAsiya Javayant QUALIFIED
Munro M NickaItalyOnyama Limba NEGOTIATION
Adams S StensethAustraliaAmy Elsner NEGOTIATION
Mujtaba R GauchoCanadaIvan Magalhaes UNQUALIFIED
Nicolas B NickaJapanOnyama Limba UNQUALIFIED
Misaki U FigeroaRussiaIvan Magalhaes QUALIFIED
Cody M StockhamItalyIoni Bowcher QUALIFIED
Jeanfrancois J RutaFranceStephen Shaw NEGOTIATION
Jeanfrancois B TollnerCanadaAmy Elsner NEGOTIATION
Juan K BowleyGermanyAnna Fali RENEWAL
Adams O MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Sinclair B FigeroaAustraliaIvan Magalhaes UNQUALIFIED
Mujtaba O AlbaresCanadaAnna Fali RENEWAL
Jefferson Z GauchoCanadaAsiya Javayant RENEWAL
Arvin C OldroydItalyAmy Elsner NEW

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