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
Aruna K GauchoCanadaIvan Magalhaes QUALIFIED
Chavez E MacleadItalyXuxue Feng NEGOTIATION
Johnson Z RutaSpainOnyama Limba QUALIFIED
Sinclair G RutaSpainIoni Bowcher PROPOSAL
Faith B MacleadSpainStephen Shaw QUALIFIED
Julie C MacleadArgentinaBernardo Dominic NEGOTIATION
Jeanfrancois T ShinkoRussiaIvan Magalhaes PROPOSAL
Costa O FollerItalyAnna Fali RENEWAL
Faith A DoeIndiaElwin Sharvill RENEWAL
Deepesh Z GillianIndiaElwin Sharvill QUALIFIED
Jones X NestleUnited KingdomXuxue Feng PROPOSAL
Greenwood Y StensethIndiaAmy Elsner RENEWAL
Ashley G BowleyBrazilAsiya Javayant QUALIFIED
Leon J GauchoSpainXuxue Feng NEW
Deepesh D PoquetteBrazilXuxue Feng PROPOSAL
Alejandro P PoquetteItalyAmy Elsner NEW
Murillo H FerenczBrazilIoni Bowcher NEGOTIATION
Alejandro D OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Octavia S GlickJapanStephen Shaw RENEWAL
Costa T BriddickItalyElwin Sharvill UNQUALIFIED
Kaitlin O InouyeBrazilElwin Sharvill RENEWAL
Sinclair H CampainIndiaOnyama Limba QUALIFIED
James L OstroskyUnited KingdomIvan Magalhaes PROPOSAL
Leon A OldroydBrazilIoni Bowcher QUALIFIED
Juan Q RimJapanIoni Bowcher NEW
Wickens W RulapaughGermanyOnyama Limba NEW
Cody U BologniaAustraliaBernardo Dominic PROPOSAL
Jefferson Q DarakjyGermanyAsiya Javayant PROPOSAL
Smith Y AmigonCanadaAmy Elsner NEGOTIATION
Adams G StensethSpainOnyama Limba NEW
Nicolas G SlusarskiRussiaXuxue Feng NEW
Deepesh G GillianJapanAmy Elsner NEW
Claire C SlusarskiSpainStephen Shaw PROPOSAL
Adams P OstroskyIndiaStephen Shaw UNQUALIFIED
Ashley K RoysterAustraliaOnyama Limba UNQUALIFIED
Wickens C StockhamCanadaIoni Bowcher PROPOSAL
Aruna R WaycottGermanyBernardo Dominic NEGOTIATION
Octavia W MorascaFranceAnna Fali NEW
Tony J GlickIndiaAnna Fali QUALIFIED
Johnson P MaletIndiaBernardo Dominic QUALIFIED
Ivar C TollnerIndiaBernardo Dominic NEW
Clifford N KolmetzAustraliaIvan Magalhaes NEW
Jefferson J DoeSpainStephen Shaw PROPOSAL
Murillo N BowleyCanadaIoni Bowcher UNQUALIFIED
Jones V GillianRussiaAsiya Javayant QUALIFIED
Mayumi B VocelkaRussiaAsiya Javayant NEW
Jones H MacleadIndiaBernardo Dominic PROPOSAL
Nicolas W MorascaItalyAsiya Javayant PROPOSAL
Johnson R IturbideAustraliaAnna Fali NEGOTIATION
Costa R MacleadCanadaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi Z KuskoRussiaIoni Bowcher PROPOSAL
Octavia Z GillianFranceAmy Elsner RENEWAL
James F MorascaBrazilAnna Fali RENEWAL
Alejandro B MacleadItalyXuxue Feng UNQUALIFIED
Rodrigues L PerinUnited KingdomElwin Sharvill QUALIFIED
Jones O WhobreyArgentinaAmy Elsner NEW
Aruna T VenereCanadaAnna Fali UNQUALIFIED
Nicolas B OldroydItalyAsiya Javayant QUALIFIED
Adams B MarrierSpainElwin Sharvill QUALIFIED
Jones N MarrierCanadaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire G FollerRussia2024-06-20Chapman, Ross E Esq UNQUALIFIED82Ioni Bowcher
1001Faith J WaycottUnited Kingdom2024-06-13Truhlar And Truhlar Attys NEGOTIATION92Amy Elsner
1002Jones F KuskoFrance2024-06-22Rangoni Of Florence NEGOTIATION58Ivan Magalhaes
1003Arvin H FigeroaSpain2024-06-18Dorl, James J Esq QUALIFIED71Elwin Sharvill
1004Octavia Q StensethIndia2024-06-12Commercial Press PROPOSAL91Amy Elsner
1005Jennifer G StockhamRussia2024-06-01King, Christopher A Esq NEGOTIATION32Bernardo Dominic
1006Jennifer J VocelkaBrazil2024-06-06Chanay, Jeffrey A Esq NEGOTIATION89Stephen Shaw
1007Morrow B WaycottRussia2024-05-29Chapman, Ross E Esq QUALIFIED13Amy Elsner
1008Mujtaba M SergiGermany2024-05-26Buckley Miller Wright NEGOTIATION98Xuxue Feng
1009Jennifer R MacleadItaly2024-05-31Commercial Press QUALIFIED18Onyama Limba
1010Rodrigues L DarakjyUnited Kingdom2024-06-03Buckley Miller Wright RENEWAL50Amy Elsner
1011Smith R WieserArgentina2024-06-10Buckley Miller Wright QUALIFIED67Stephen Shaw
1012Greenwood K CaldareraIndia2024-06-02Rousseaux, Michael Esq NEGOTIATION74Elwin Sharvill
1013Maisha W DilliardArgentina2024-05-30Rangoni Of Florence QUALIFIED32Asiya Javayant
1014Salvatore O ChuiSpain2024-06-21Buckley Miller Wright RENEWAL93Amy Elsner
1015Nicolas N FollerJapan2024-05-29King, Christopher A Esq QUALIFIED82Elwin Sharvill
1016Salvatore Z GlickFrance2024-05-25Rousseaux, Michael Esq UNQUALIFIED34Elwin Sharvill
1017Rodrigues X PoquetteUnited Kingdom2024-05-25Rousseaux, Michael Esq UNQUALIFIED90Elwin Sharvill
1018Aditya K GillianAustralia2024-05-25Feltz Printing Service NEW63Bernardo Dominic
1019Jefferson U KolmetzArgentina2024-06-20Rousseaux, Michael Esq RENEWAL79Ioni Bowcher
1020James E OldroydGermany2024-06-13Feltz Printing Service NEGOTIATION17Xuxue Feng
1021Ricardo J OldroydIndia2024-05-24Dorl, James J Esq PROPOSAL36Bernardo Dominic
1022Ricardo L TollnerIndia2024-06-14Printing Dimensions QUALIFIED3Elwin Sharvill
1023Deepesh J CaudyArgentina2024-06-12Chapman, Ross E Esq QUALIFIED97Bernardo Dominic
1024Mayumi Z StensethSpain2024-06-22Rangoni Of Florence NEW89Onyama Limba
1025Arvin N CaldareraCanada2024-06-15Truhlar And Truhlar Attys NEW33Xuxue Feng
1026Aruna U DarakjyRussia2024-06-04Benton, John B Jr PROPOSAL17Elwin Sharvill
1027Octavia G OstroskyBrazil2024-06-13Rousseaux, Michael Esq PROPOSAL85Ivan Magalhaes
1028Stacey B DoeItaly2024-05-28Feiner Bros UNQUALIFIED19Onyama Limba
1029David R MaletFrance2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED15Ivan Magalhaes
1030Deepesh Q CaldareraGermany2024-06-12Dorl, James J Esq QUALIFIED10Amy Elsner
1031Misaki V DarakjyCanada2024-06-14Morlong Associates NEW15Stephen Shaw
1032Nicolas O RoysterBrazil2024-06-14Buckley Miller Wright QUALIFIED37Stephen Shaw
1033Francesco Y FollerFrance2024-06-17Dorl, James J Esq NEGOTIATION29Anna Fali
1034Clifford Z ButtRussia2024-06-13Dorl, James J Esq RENEWAL4Elwin Sharvill
1035Nicolas S KolmetzCanada2024-05-31Chanay, Jeffrey A Esq RENEWAL56Anna Fali
1036Munro C NickaJapan2024-05-26Rousseaux, Michael Esq QUALIFIED4Elwin Sharvill
1037Ivar B RoysterArgentina2024-06-01Dorl, James J Esq RENEWAL96Xuxue Feng
1038Ashley S CaldareraSpain2024-05-30Printing Dimensions PROPOSAL60Elwin Sharvill
1039Adams M CaldareraRussia2024-06-10Chemel, James L Cpa RENEWAL11Onyama Limba
1040Adams M CaudyUnited Kingdom2024-06-15Morlong Associates UNQUALIFIED73Anna Fali
1041Adams N ChuiJapan2024-06-04Rousseaux, Michael Esq UNQUALIFIED38Elwin Sharvill
1042Cody L MorascaCanada2024-06-15Dorl, James J Esq NEGOTIATION4Elwin Sharvill
1043Darci Q RimGermany2024-06-01Benton, John B Jr RENEWAL91Ivan Magalhaes
1044Maisha O BologniaUnited Kingdom2024-06-01Chemel, James L Cpa QUALIFIED33Ioni Bowcher
1045Silvio I BologniaGermany2024-06-14Feiner Bros NEW58Ivan Magalhaes
1046Aika O CampainItaly2024-06-15King, Christopher A Esq QUALIFIED53Bernardo Dominic
1047Sinclair Z DarakjyGermany2024-06-09Benton, John B Jr PROPOSAL61Stephen Shaw
1048Sinclair X BriddickRussia2024-06-19Feltz Printing Service PROPOSAL68Stephen Shaw
1049Stacey G KuskoGermany2024-05-29Commercial Press QUALIFIED39Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Murillo Y CampainFranceStephen Shaw RENEWAL
Deepesh E BowleyFranceAmy Elsner RENEWAL
Costa K FigeroaGermanyOnyama Limba RENEWAL
Antonio G ButtArgentinaXuxue Feng PROPOSAL
Salvatore E RoysterItalyAmy Elsner UNQUALIFIED
Costa H DoeBrazilIoni Bowcher PROPOSAL
Stacey T KolmetzFranceAnna Fali NEW
Leon V RoysterCanadaXuxue Feng NEW
Faith G WhobreyGermanyBernardo Dominic PROPOSAL
Mujtaba L CampainBrazilOnyama Limba QUALIFIED
Wickens H ShinkoJapanIoni Bowcher PROPOSAL
Leon Y SchemmerUnited KingdomAnna Fali UNQUALIFIED
Jones Q WaycottSpainStephen Shaw NEGOTIATION
Leja M DoeGermanyAnna Fali UNQUALIFIED
Silvio Z DoeJapanOnyama Limba UNQUALIFIED
David I DarakjyUnited KingdomElwin Sharvill RENEWAL
Leja J RimUnited KingdomElwin Sharvill UNQUALIFIED
Silvio C BowleyIndiaStephen Shaw RENEWAL
Julie W GlickIndiaOnyama Limba RENEWAL
Darci C CaldareraIndiaElwin Sharvill NEW
Octavia M NickaRussiaIvan Magalhaes RENEWAL
Ivar U ShinkoArgentinaIvan Magalhaes NEGOTIATION
Isabel Q VocelkaFranceAmy Elsner NEGOTIATION
Sinclair H GlickAustraliaXuxue Feng UNQUALIFIED
Juan D GillianIndiaBernardo Dominic PROPOSAL
Antonio T ShinkoIndiaXuxue Feng UNQUALIFIED
Jeanfrancois Y StensethIndiaIoni Bowcher RENEWAL
Jeanfrancois O GauchoBrazilAsiya Javayant NEW
Greenwood Y FerenczSpainXuxue Feng RENEWAL
Maisha W AmigonRussiaStephen Shaw UNQUALIFIED
Stacey B InouyeGermanyXuxue Feng NEW
Misaki N FerenczItalyIoni Bowcher QUALIFIED
Sinclair U AmigonIndiaElwin Sharvill NEGOTIATION
Juan Z SchemmerAustraliaBernardo Dominic PROPOSAL
Tony Y SaylorsUnited KingdomXuxue Feng NEW
Jefferson H KuskoArgentinaXuxue Feng NEW
Jennifer X WaycottCanadaXuxue Feng PROPOSAL
Costa Z VocelkaFranceOnyama Limba QUALIFIED
Rodrigues K IturbideRussiaOnyama Limba UNQUALIFIED
Aika F RimAustraliaStephen Shaw NEGOTIATION
Clifford O AmigonSpainAnna Fali RENEWAL
Mayumi W KuskoRussiaElwin Sharvill NEW
Deepesh G SchemmerRussiaIvan Magalhaes QUALIFIED
Jeanfrancois E SaylorsFranceOnyama Limba PROPOSAL
Ashley W BologniaRussiaBernardo Dominic UNQUALIFIED
Julie U ButtUnited KingdomBernardo Dominic UNQUALIFIED
Octavia M GillianBrazilAnna Fali NEW
Francesco M GauchoJapanOnyama Limba NEGOTIATION
James Z PerinIndiaStephen Shaw NEGOTIATION
Ricardo A ButtCanadaAnna Fali UNQUALIFIED
Frozen Columns
Name
James P Gillian
Munro M Malet
James W Flosi
Julie S Caudy
Jefferson P Bolognia
Francesco C Stenseth
Tony L Ferencz
Maria G Bolognia
Cody N Malet
Mujtaba U Caudy
David Q Perin
Greenwood X Foller
Ashley F Darakjy
Jones X Shinko
Cody C Sergi
Adams V Gaucho
Aditya R Bowley
Tony K Doe
Jones J Tollner
Antonio X Foller
Rodrigues Y Royster
Kaitlin O Tollner
Rodrigues J Wieser
Deepesh X Rim
James M Ferencz
Sinclair B Rulapaugh
Johnson J Tollner
Deepesh L Saylors
Maisha H Maclead
Isabel S Caldarera
Francesco A Doe
Kaitlin O Flosi
Octavia C Tollner
Claire Q Dilliard
Darci B Ostrosky
Emily I Whobrey
Faith R Doe
David R Figeroa
Tony B Butt
Misaki A Kolmetz
Darci C Dilliard
Maria M Ruta
Morrow U Maclead
Murillo M Slusarski
Adams M Dilliard
Claire R Gillian
Rodrigues E Ostrosky
Misaki G Caudy
Adams P Amigon
Julie M Stenseth
IdCountryDate
1000Argentina2024-05-27
1001India2024-05-30
1002Russia2024-05-30
1003Argentina2024-06-05
1004Germany2024-06-17
1005Canada2024-06-20
1006Brazil2024-06-15
1007India2024-05-31
1008Italy2024-06-11
1009United Kingdom2024-05-26
1010United Kingdom2024-06-03
1011India2024-06-04
1012Germany2024-06-16
1013Australia2024-06-19
1014Canada2024-05-24
1015Argentina2024-06-12
1016Japan2024-06-06
1017Germany2024-06-02
1018Japan2024-06-18
1019Japan2024-06-14
1020Australia2024-06-08
1021India2024-05-24
1022Spain2024-06-09
1023Argentina2024-06-10
1024Russia2024-06-09
1025Canada2024-05-25
1026Spain2024-06-11
1027Germany2024-06-12
1028Russia2024-05-27
1029Spain2024-05-29
1030Germany2024-06-02
1031Japan2024-06-02
1032Japan2024-06-20
1033Australia2024-06-06
1034United Kingdom2024-05-25
1035United Kingdom2024-05-29
1036Australia2024-06-06
1037Russia2024-06-12
1038Russia2024-06-04
1039Russia2024-05-31
1040Japan2024-06-13
1041Italy2024-05-31
1042Spain2024-06-11
1043Italy2024-06-06
1044Italy2024-06-10
1045Australia2024-06-17
1046France2024-06-08
1047Canada2024-06-09
1048Brazil2024-06-15
1049Argentina2024-06-16

On-Demand Data

NameIdCountryDate
Wickens Q Darakjy1000Canada2024-05-28
Adams T Ferencz1001United Kingdom2024-06-21
Ricardo R Rulapaugh1002Australia2024-06-14
Clifford B Foller1003India2024-06-04
Octavia Q Morasca1004United Kingdom2024-06-17
Arvin C Tollner1005United Kingdom2024-06-07
Aditya X Slusarski1006India2024-06-11
Deepesh M Saylors1007Russia2024-05-27
Ivar W Nicka1008Italy2024-06-11
Leja I Dilliard1009Russia2024-06-02
Rodrigues R Campain1010Italy2024-06-04
Isabel M Albares1011Spain2024-05-26
Johnson J Inouye1012Brazil2024-06-05
Kadeem G Paprocki1013Spain2024-05-28
Adams I Rim1014Germany2024-05-31
Isabel H Malet1015Japan2024-06-04
Cody V Stenseth1016Brazil2024-06-08
James C Inouye1017Japan2024-05-24
Isabel T Nestle1018Germany2024-06-05
Maisha Y Tollner1019Italy2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson J MaletBrazilIvan Magalhaes NEW
Antonio L VocelkaAustraliaIoni Bowcher UNQUALIFIED
Ivar I VocelkaJapanOnyama Limba PROPOSAL
Leja M RutaArgentinaAmy Elsner NEGOTIATION
Tony C SaylorsArgentinaAmy Elsner NEW
Sinclair P BologniaItalyXuxue Feng NEW
Isabel R BowleyRussiaStephen Shaw UNQUALIFIED
Chavez E InouyeRussiaStephen Shaw PROPOSAL
Aditya N MaletArgentinaStephen Shaw UNQUALIFIED
Juan E AmigonRussiaXuxue Feng PROPOSAL
Tony E OstroskyCanadaElwin Sharvill NEW
Cody K SergiIndiaAmy Elsner UNQUALIFIED
Octavia L GlickBrazilAsiya Javayant QUALIFIED
Jones W InouyeRussiaXuxue Feng NEGOTIATION
Cody Q PaprockiUnited KingdomXuxue Feng QUALIFIED
Jeanfrancois O ShinkoBrazilXuxue Feng NEW
Aruna B RutaCanadaXuxue Feng NEGOTIATION
Murillo Z RutaFranceBernardo Dominic UNQUALIFIED
Salvatore W GillianArgentinaAmy Elsner NEGOTIATION
Clifford O MaletAustraliaElwin Sharvill NEW
Juan W GauchoAustraliaElwin Sharvill UNQUALIFIED
Wickens J PoquetteGermanyOnyama Limba RENEWAL
Smith Y SchemmerFranceIvan Magalhaes NEGOTIATION
Maria Z MarrierRussiaIvan Magalhaes RENEWAL
Jennifer P CampainItalyAsiya Javayant QUALIFIED
Maria W BriddickJapanAsiya Javayant PROPOSAL
Sinclair P GlickRussiaStephen Shaw UNQUALIFIED
Juan R MaletJapanIvan Magalhaes NEW
Isabel N WaycottSpainStephen Shaw QUALIFIED
Francesco T ShinkoCanadaStephen Shaw UNQUALIFIED
Munro L WieserArgentinaElwin Sharvill QUALIFIED
Claire G CaudyRussiaOnyama Limba UNQUALIFIED
Isabel D VocelkaGermanyBernardo Dominic NEGOTIATION
James H NestleJapanOnyama Limba NEW
Nicolas T RulapaughBrazilOnyama Limba UNQUALIFIED
Isabel E SaylorsAustraliaOnyama Limba PROPOSAL
Adams Y WieserUnited KingdomIvan Magalhaes PROPOSAL
Maria Y StockhamCanadaOnyama Limba RENEWAL
Maria T CaudyJapanIoni Bowcher RENEWAL
Clifford K RoysterBrazilXuxue Feng 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>